时间:2022-10-25 09:32:48 | 栏目:Linux | 点击:次
前言
lvm(Logical Volume Manager) 逻辑卷管理, 可以满足linux系统动态调整各分区大小,满足服务器在不同的运行时期的需求。
以前在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.jb51.net/article/148553.htm
总结