23.逻辑卷综合应用
作者:码农 | 发布时间:
1.扩展逻辑卷
- 步骤1:扩展卷组——添加/dev/sdc1物理卷到vg01中
[root@linux ~]# vgs vg01 //显示扩展前卷组vg01的容量
VG #PV #LV #SN Attr VSize VFree
vg01 2 1 0 wz--n- 9.99g 504.00m
[root@linux ~]# vgextend vg01 /dev/sdc1 //将物理卷/dev/sdc1添加到卷组vg01
Volume group "vg01" successfully extended
[root@linux ~]# vgs vg01 //显示扩展后卷组vg01的容量
VG #PV #LV #SN Attr Vsize VFree
vg01 3 1 0 wz--n- 14.99g 3.49g
- 步骤2:在线扩展逻辑卷
[root@linux ~]# lvs /dev/vg01/lv01 //查看扩容前逻辑卷的容量
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
lv01 vg01 -wi-ao---- 2.50g
[root@linux ~]# lvextend -L +3G /dev/vg01/lv01 //将逻辑卷lv01的容量增加3GB
Size of logical volume vg01/lv01 changed from 2.50 GiB (640 extents) to 5.50 GiB (1408 extents).
Logical volume vg01/lv01 successfully resized.
[root@linux ~]# lvs /dev/vg01/lv01 //查看扩容后逻辑卷的容量
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
lv01 vg01 -wi-ao---- 5.50g
- 步骤2:在线扩展逻辑卷
注意:虽然用lvs看到逻辑卷/dev/vg01/lv01由2.5GB扩大到5.5GB,但用df –hT查看逻辑卷的大小还是2.5GB,这说明扩容后的逻辑卷还未被挂载点上的文件系统识别。
[root@linux ~]# df -hT /home/mylv
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/mapper/vg01-lv01 xfs 2.5G 33M 2.5G 2% /home/mylv
- 对于xfs格式的文件系统,可使用“xfs_growfs 挂载点目录”命令在不需离线(卸载逻辑卷)的情况下将扩展后的逻辑卷扩展到挂载点上,对于ext2/3/4格式的文件系统,可使用“resize2fs 逻辑卷名称”命令将扩展后的逻辑卷扩展到挂载点上。
[root@linux ~]# xfs_growfs /home/mylv //让系统重新识别文件系统的大小
……//省略若干显示行
[root@linux ~]# df -hT /home/mylv //查看重新识别文件系统后逻辑卷的容量
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/mapper/vg01-lv01 xfs 5.5G 33M 5.5G 1% /home/mylv
[root@linux ~]# cat /home/mylv/zhang3.txt
I am zhang3 //此行表明扩展前存储的文件在扩展后未被破坏
2.缩小逻辑卷
- 步骤1:缩小逻辑卷的容量——(先缩小文件系统,再缩小逻辑卷)
对于ext2/3/4格式的文件系统,不仅可以扩展空间,还可以在离线状态下(卸载逻辑卷)缩小空间。xfs文件系统只能扩展不能缩小空间。为此,将现有5.5GB的逻辑卷lv01卸载后转换为ext4格式,然后缩小1.5GB,其操作过程如下:
[root@dyzx ~]# umount /dev/vg01/lv01 //卸载逻辑卷以便重新格式化
[root@dyzx ~]# mkfs -t ext4 /dev/vg01/lv01 //使用ext4文件系统格式化逻辑卷lv01
[root@dyzx ~]# lvs /dev/vg01/lv01 //查看缩小前的逻辑卷
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
lv01 vg01 -wi-a----- 5.50g
[root@dyzx ~]# mount /dev/vg01/lv01 /home/mylv
[root@dyzx ~]# echo "I am zhang3" > /home/mylv/zhang3.txt
[root@dyzx ~]# umount /dev/vg01/lv01 //卸载逻辑卷
[root@dyzx ~]# e2fsck -f /dev/vg01/lv01 //强制检查并修复逻辑卷
[root@dyzx ~]# resize2fs /dev/vg01/lv01 4G //重新定义文件系统的大小为4GB
[root@dyzx ~]# lvreduce -L -1.5G /dev/vg01/lv01 //将逻辑卷lv01的容量减少1.5GB
[root@dyzx ~]# lvs /dev/vg01/lv01 //查看缩小后的逻辑卷
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
lv01 vg01 -wi-a----- 4.00g
[root@dyzx ~]# mount /dev/vg01/lv01 /home/mylv //挂载容量缩小后的逻辑卷
[root@dyzx ~]# cat /home/mylv/zhang3.txt
I am zhang3 //逻辑卷缩小后所存储的文件未被破坏
- 步骤2:缩小卷组(将物理卷从卷组中移去)
要将一个物理卷从卷组中移去,首先要确认该物理卷有没有存储数据(可使用pvs命令查看),若存储了数据则数据备份到其他地方后再移去。
[root@dyzx ~]# pvs
PV VG Fmt Attr Psize PFree
/dev/sda2 rhel vm2 a-- 19.50g 0
/dev/sdb5 vg01 lvm2 a-- 1020.00m 0
/dev/sdb6 vg01 lvm2 a-- 2.00g 0
/dev/sdc1 vg01 lvm2 a-- 3.00g 1.99g
[root@dyzx ~]# pvmove /dev/sdb6 /dev/sdc1 //将/dev/sdb6上的数据迁移到/dev/sdc1
/dev/sdb6: Moved: 23.14%
/dev/sdb6: Moved: 100.00%
[root@dyzx ~]# pvs
[root@dyzx ~]# vgreduce vg01 /dev/sdb6 //将物理卷/dev/sdb6从卷组vg01中移去
[root@dyzx ~]# pvs
PV VG Fmt Attr Psize PFree
/dev/sda2 rhel lvm2 a-- 19.50g 0
/dev/sdb6 lvm2 --- 1020.00m 1020.00m //此处的/dev/sdb6已从卷组中移除了
/dev/sdb7 vg01 lvm2 a-- 2.00g 0
/dev/sdc1 vg01 lvm2 a-- 3.00g 1016.00m
3.删除逻辑卷、卷组、物理卷
- 步骤1:删除逻辑卷
[root@dyzx ~]# umount /dev/vg01/lv01 //卸载逻辑卷
[root@dyzx ~]# lvremove /dev/vg01/lv01 //删除逻辑卷
Do you really want to remove active logical volume vg01/lv01? [y/n]: y
Logical volume "lv01" successfully removed
[root@dyzx ~]# lvs lv01
Volume group "lv01" not found
Cannot process volume group lv01
步骤2:删除卷组
[root@dyzx ~]# vgremove vg01
Volume group "vg01" successfully removed
[root@dyzx ~]# vgs vg01
Volume group "vg01" not found
Cannot process volume group vg01
步骤3:删除物理卷
[root@dyzx ~]# pvremove /dev/sdb6 //将物理卷/dev/sdb6还原为普通分区
Labels on physical volume "/dev/sdb6" successfully wiped
[root@dyzx ~]# pvs /dev/sdb6
Failed to find physical volume "/dev/sdb6".