Ubuntu下创建XFS文件系统的LVM

以前在Linux下面玩LVM,一般都是选择ext3、ext4格式的文件系统,最近在Ubuntu 16.04.5下安装配置一个MySQL数据库服务器,遂测试了一下XFS文件系统的LVM,其实仔细对比下来,差别不大,只是文件格式化的区别以及件系统的调整命令的不同。下面很多地方不做过多解释,只是简单的记录测试过程。

在测试服务器新增一个磁盘,如下所示,新增的磁盘为/dec/sdc

root@mylnx12:~# fdisk -l

Disk /dev/sdb: 605 GiB, 649613803520 bytes, 1268776960 sectors

Units: sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disklabel type: dos

Disk identifier: 0x2c2c38b3

 

Device     Boot Start        End    Sectors  Size Id Type

/dev/sdb1        2048 1268774911 1268772864  605G  7 HPFS/NTFS/exFAT

 

 

Disk /dev/sda: 30 GiB, 32212254720 bytes, 62914560 sectors

Units: sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disklabel type: dos

Disk identifier: 0x6e2369f9

 

Device     Boot Start      End  Sectors Size Id Type

/dev/sda1  *     2048 62914526 62912479  30G 83 Linux

 

 

Disk /dev/sdc: 1023 GiB, 1098437885952 bytes, 2145386496 sectors

Units: sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disklabel type: dos

Disk identifier: 0x030b81c8

 

Device     Boot Start        End    Sectors  Size Id Type

/dev/sdc1        2048 2145386495 2145384448 1023G 83 Linux

 

#创建PV

root@mylnx12:~#  pvcreate /dev/sdc1

  Physical volume "/dev/sdc1" successfully created

root@mylnx12:~# pvscan

  PV /dev/sdc1                      lvm2 [1023.00 GiB]

  Total: 1 [1023.00 GiB] / in use: 0 [0   ] / in no VG: 1 [1023.00 GiB]

 

#创建VG

root@mylnx12:~# vgcreate -s 32M VolGroup01 /dev/sdc1

  Volume group "VolGroup01" successfully created

 

#新增LV

root@mylnx12:~# lvcreate -L +400G -n LogVol00 VolGroup01

WARNING: xfs signature detected on /dev/VolGroup01/LogVol00 at offset 0. Wipe it? [y/n]: y

  Wiping xfs signature on /dev/VolGroup01/LogVol00.

  Logical volume "LogVol00" created.

root@mylnx12:~# lvscan

  ACTIVE            '/dev/VolGroup01/LogVol00' [400.00 GiB] inherit

 

#格式化

root@mylnx12:~# mkfs.xfs  /dev/VolGroup01/LogVol00

meta-data=/dev/VolGroup01/LogVol00 isize=512    agcount=4, agsize=26214400 blks

         =                       sectsz=512   attr=2, projid32bit=1

         =                       crc=1        finobt=1, sparse=0

data     =                       bsize=4096   blocks=104857600, imaxpct=25

         =                       sunit=0      swidth=0 blks

naming   =version 2              bsize=4096   ascii-ci=0 ftype=1

log      =internal log           bsize=4096   blocks=51200, version=2

         =                       sectsz=512   sunit=0 blks, lazy-count=1

realtime =none                   extsz=4096   blocks=0, rtextents=0

 

#挂载点设置

root@mylnx12:~# mkdir /mysql_data

root@mylnx12:~# mount -t xfs /dev/VolGroup01/LogVol00  /mysql_data

root@mylnx12:~# vgdisplay

  --- Volume group ---

  VG Name               VolGroup01

  System ID             

  Format                lvm2

  Metadata Areas        1

  Metadata Sequence No  2

  VG Access             read/write

  VG Status             resizable

  MAX LV                0

  Cur LV                1

  Open LV               0

  Max PV                0

  Cur PV                1

  Act PV                1

  VG Size               1022.97 GiB

  PE Size               32.00 MiB

  Total PE              32735

  Alloc PE / Size       12800 / 400.00 GiB

  Free  PE / Size       19935 / 622.97 GiB

  VG UUID               8kutIc-bjId-rNWK-UCHo-TU2l-xkwa-idBXCj

   

#创建另外一个LV

root@mylnx12:~# lvcreate -l 19935 -n LogVol01 VolGroup01

  Logical volume "LogVol01" created.

root@mylnx12:~# mkfs.xfs  /dev/VolGroup01/LogVol01

meta-data=/dev/VolGroup01/LogVol01 isize=512    agcount=4, agsize=40826880 blks

         =                       sectsz=512   attr=2, projid32bit=1

         =                       crc=1        finobt=1, sparse=0

data     =                       bsize=4096   blocks=163307520, imaxpct=25

         =                       sunit=0      swidth=0 blks

naming   =version 2              bsize=4096   ascii-ci=0 ftype=1

log      =internal log           bsize=4096   blocks=79740, version=2

         =                       sectsz=512   sunit=0 blks, lazy-count=1

realtime =none                   extsz=4096   blocks=0, rtextents=0

root@mylnx12:~# mkdir /mysql_backup

root@mylnx12:~# mount -t xfs /dev/VolGroup01/LogVol01  /mysql_backup/

root@mylnx12:~# df -h

Filesystem                       Size  Used Avail Use% Mounted on

udev                             6.9G     0  6.9G   0% /dev

tmpfs                            1.4G  8.6M  1.4G   1% /run

/dev/sda1                         30G  2.1G   27G   8% /

tmpfs                            6.9G     0  6.9G   0% /dev/shm

tmpfs                            5.0M     0  5.0M   0% /run/lock

tmpfs                            6.9G     0  6.9G   0% /sys/fs/cgroup

/dev/sdb1                        596G   70M  566G   1% /mnt

tmpfs                            1.4G     0  1.4G   0% /run/user/1000

/dev/mapper/VolGroup01-LogVol00  400G  441M  400G   1% /mysql_data

/dev/mapper/VolGroup01-LogVol01  623G  668M  623G   1% /mysql_backup

修改配置文件/etc/fstab,在其增加下面配置信息,如下所示,以便永久保存,确保下次开机启动不丢失相关挂载点信息。

UUID="a72bd3f8-eb2d-40cb-92c3-d5e32c30d5ff"   /mysql_data   xfs  defaults 0 2

UUID="33325d87-f3f4-4215-abf7-ee795724697e"   /mysql_backup xfs  defaults 0 2

另外,ext2/ext3/ext4文件系统的调整命令是resize2fs(增大和减小都支持),而XFS文件系统的调整命令是xfs_growfs(只支持增大),当然硬要减小的话,只能在减小后将逻辑分区重新通过mkfs.xfs命令重新格式化才能挂载上,这样的话这个逻辑分区上原来的数据就丢失了。其实没有什么意义。

参考资料:

https://www.cnblogs.com/kevingrace/p/5825963.html

上一篇:Vue-cli搭建完项目,各文件解释


下一篇:oracle 数据库对于多列求最大值