Linux中的lvm动态扩容管理
1、相关概念
pv:物理卷 ---一杯桔子汁
pe:物理拓展,lvm的最小储存单元 ---桔子汁中的一滴
vg:卷组 ---多杯桔子汁组成的一大杯
lvm: ,最终使用的可伸缩设备 ---喝多少从大杯中取多少
2、lvm建立
(1)划分物理分区,修改其标签为lvm
(2)pvcreate /dev/vdb1 ---创建物理卷
(3)vgcreate vg0 /dev/vdb1 ---创建卷组,名称可以自定义
(4)lvcreate -L 100M -n lv0 vg0 ---创建逻辑卷
(5)mkfs.xfs /dev/vg0/lv0 ---格式化设备
(6)mount /dev/vg0/lv0 /mnt ---挂载设备投入使用
监控命令
watch -n 1 'pvs;echo=======;vgs;echo=======;lvs;echo========;df -h /mnt'
3、lvm拉伸
在xfs文件系统中(不能缩减):
(1)当vg中的剩余容量充足时:
lvextend -L 400M /dev/vg0/lv0 ---扩大lvm设备到400M
xfs_growfs /dev/vg0/lv0 ----扩大xfs文件系统到设备大小
(2)当vg中的剩余容量不足时:
新建分区
pvcreate /dev/vdb2 ---在pv中增加一块设备/dev/vdb2
vgextend vg0 /dev/vdb2 ---扩大逻辑卷组
lvextend -L 700M /dev/vg0/lv0 ---扩大lvm设备到700M
xfs_growfs /dev/vg0/lv0 ---扩大xfs文件系统到设备大小
在ext文件系统中:
(1)拉伸:
umount /mnt/ ---卸载设备,因为文件系统缩减不支持在线操作
mkfs.ext4 /dev/vg0/lv0 ---格式化设备并制作文件系统为ext4
lvextend -L 400M /dev/vg0/lv0 ---扩大lvm设备到400M
resize2fs /dev/vg0/lv0 ---设定文件系统大小和设备同步
(2)缩减:
对设备
umount /mnt/ ---卸载设备,因为文件系统缩减不支持在线操作
e2fsck -f /dev/vg0/lv0 ---检测文件系统,确定文件系统中已有数据大小防止过度缩减
resize2fs /dev/vg0/lv0 200M ---把文件系统缩减到
mount /dev/vg0/lv0 /mnt/
对卷组:
pvmove /dev/vdb1 /dev/vdb2 ---当要移出的的分区存在数据,须把其迁移到其他pv中
vgreduce vg0 /dev/vdb1 ----把vg0中的/dev/vdb1删除
pvremove /dev/vdb1 ---把/dev/vdb1上的lvm管理信息删除
4、Lvm快照
lvcreate -L 100M -n lv0backup -s / dev/vg0/lv0 ---创建快照,大小自定义,名字自定义
mount /dev/vg0/lv0backup /mnt ---挂载快照,可以在里面进行操作
umount /mnt ---若操作失误,需要重新制作快照,先卸载坏了的快照
lvremove /dev/vg0/lv0backup ---删除快照
若要新的快照,重新制作挂载即可
5、lvm删除(按以下步骤来)
(1)umount /mnt
(2)lvremove /dev/vg0/lv0backup ---删除快照
(3)lvremove /dev/vg0/lv0 ---删除逻辑卷
(4)vgremove vg0 ---删除卷组
(5)pvremove /dev/vdb2 ---删除物理卷
(6)fdisk /dev/vdb ---删除分区
当出现以下错误时(未按上述步骤,直接fdsik直接删除lvm):
PV g2OIge-1awl-HOFo-XwNG-EhUg-KP5E-GBQGRt not recognised. Is the device missing?
解决方式
vgreduce vg0 --removemissing