LVM缩小
互动:LVM可以动态增加,可以动态缩小吗?
答:LVM可以动态增加,也可以动态缩小,但是XFS不支持动态缩小,所以我们无法实现基于xfs的动态缩小。btrfs文件系统支持在线缩小。
[root@xuegod63 ~]# lvreduce -L -20m /dev/vg01/lv01
WARNING: Reducing active and open logical volume to 60.00 MiB.
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce vg01/lv01? [y/n]: y
Size of logical volume vg01/lv01 changed from 80.00 MiB (20 extents) to 60.00 MiB (15 extents).
Logical volume vg01/lv01 successfully resized. #缩小成功
但是文件系统没有缩小成功:
[root@xuegod63 ~]# df -h /lv01/
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/vg01-lv01 77M 776K 73M 2% /lv01 #发现文件系统上空间没有变
[root@xuegod63 ~]# lvextend -L 10M -r /dev/vg01/lv01 #这两个命令也是不能执行成功的
[root@xuegod63 ~]# resize2fs /dev/vg01/lv01 #这两个命令也是不能执行成功的
VG的缩减,要保证你的物理卷是否被使用,是因为它无法缩减一个正在使用的PV
[root@xuegod63 ~]# vgs
VG #PV #LV #SN Attr VSize VFree
vg01 2 2 0 wz--n- 1.99g <1.92g
vg02 1 0 0 wz--n- 1008.00m 1008.00m
[root@xuegod63 ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sdb1 vg01 lvm2 a-- 1020.00m 944.00m #使用中
/dev/sdb2 vg02 lvm2 a-- 1008.00m 1008.00m #未使用
/dev/sdb3 vg01 lvm2 a-- 1020.00m 1020.00m #未使用
/dev/sdb4 lvm2 --- 1.00g 1.00g
[root@xuegod63 ~]# cp -r /boot/grub /lv01/ #复制一些测试数据
[root@xuegod63 ~]# vgreduce vg01 /dev/sdb1 #将sdb1移出失败,因sdb1正在被使用
Physical volume "/dev/sdb1" still in use
互动:如果sdb1是一个磁盘阵列,而这个磁盘阵列使用年代太久,我们必须移出怎么办?
移动数据
[root@xuegod63 ~]# pvmove /dev/sdb1 /dev/sdb3 #将sdb1上数据移到新增加sdb3 pv 上
/dev/sdb1: Moved: 23.53%
/dev/sdb1: Moved: 76.47%
/dev/sdb1: Moved: 100.00%
[root@xuegod63 ~]# vgreduce vg01 /dev/sdb1 #移完数据再移出
Removed "/dev/sdb1" from volume group "vg01"
[root@xuegod63 ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sdb1 lvm2 --- 1.00g 1.00g
/dev/sdb2 vg02 lvm2 a-- 1008.00m 1008.00m
/dev/sdb3 vg01 lvm2 a-- 1020.00m 952.00m #vg01中只有sdb3了