Linux中的lvm动态扩容管理

1、相关概念

pv:物理卷                                                                                ---一杯桔子汁

pe:物理拓展,lvm的最小储存单元                                         ---桔子汁中的一滴

vg:卷组                                                                                    ---多杯桔子汁组成的一大杯

lvm: ,最终使用的可伸缩设备                                          ---喝多少从大杯中取多少


2lvm建立

1)划分物理分区,修改其标签为lvm

Linux中的lvm动态扩容管理

Linux中的lvm动态扩容管理

2pvcreate   /dev/vdb1                                                ---创建物理卷

Linux中的lvm动态扩容管理

3vgcreate vg0 /dev/vdb1                                    ---创建卷组,名称可以自定义

Linux中的lvm动态扩容管理

4lvcreate  -L 100M -n lv0 vg0                                         ---创建逻辑卷

Linux中的lvm动态扩容管理

5mkfs.xfs   /dev/vg0/lv0                                     ---格式化设备

Linux中的lvm动态扩容管理

6mount  /dev/vg0/lv0 /mnt                                          ---挂载设备投入使用

Linux中的lvm动态扩容管理

监控命令

watch -n 1   'pvs;echo=======;vgs;echo=======;lvs;echo========;df -h /mnt'


3lvm拉伸

xfs文件系统中(不能缩减):

1)当vg中的剩余容量充足时:

lvextend  -L 400M  /dev/vg0/lv0                                     ---扩大lvm设备到400M

Linux中的lvm动态扩容管理

xfs_growfs   /dev/vg0/lv0                                          ----扩大xfs文件系统到设备大小

Linux中的lvm动态扩容管理

2)当vg中的剩余容量不足时:

新建分区

pvcreate  /dev/vdb2                                                            ---pv中增加一块设备/dev/vdb2

vgextend vg0 /dev/vdb2                                                     ---扩大逻辑卷组

Linux中的lvm动态扩容管理

lvextend -L 700M /dev/vg0/lv0                                        ---扩大lvm设备到700M

Linux中的lvm动态扩容管理

xfs_growfs /dev/vg0/lv0                                          ---扩大xfs文件系统到设备大小

Linux中的lvm动态扩容管理

ext文件系统中:

1)拉伸:

umount  /mnt/                                                        ---卸载设备,因为文件系统缩减不支持在线操作

mkfs.ext4  /dev/vg0/lv0                                         ---格式化设备并制作文件系统为ext4

Linux中的lvm动态扩容管理

Linux中的lvm动态扩容管理

lvextend  -L 400M  /dev/vg0/lv0                                               ---扩大lvm设备到400M

resize2fs  /dev/vg0/lv0                                                               ---设定文件系统大小和设备同步

Linux中的lvm动态扩容管理


2)缩减:

对设备

umount   /mnt/                                                              ---卸载设备,因为文件系统缩减不支持在线操作

e2fsck  -f   /dev/vg0/lv0                                               ---检测文件系统,确定文件系统中已有数据大小防止过度缩减

Linux中的lvm动态扩容管理

resize2fs  /dev/vg0/lv0  200M                                                ---把文件系统缩减到

mount  /dev/vg0/lv0   /mnt/

Linux中的lvm动态扩容管理

对卷组:

pvmove   /dev/vdb1  /dev/vdb2                                          ---当要移出的的分区存在数据,须把其迁移到其他pv

Linux中的lvm动态扩容管理

vgreduce vg0 /dev/vdb1                                                           ----vg0中的/dev/vdb1删除

pvremove /dev/vdb1                                                                 ---/dev/vdb1上的lvm管理信息删除

Linux中的lvm动态扩容管理

4Lvm快照

lvcreate -L 100M -n lv0backup -s / dev/vg0/lv0                                 ---创建快照,大小自定义,名字自定义

mount /dev/vg0/lv0backup /mnt                                                         ---挂载快照,可以在里面进行操作

Linux中的lvm动态扩容管理

umount   /mnt                                                                        ---若操作失误,需要重新制作快照,先卸载坏了的快照

lvremove /dev/vg0/lv0backup                                               ---删除快照

Linux中的lvm动态扩容管理

若要新的快照,重新制作挂载即可


5lvm删除(按以下步骤来)

1umount /mnt

2lvremove /dev/vg0/lv0backup                                             ---删除快照

3lvremove /dev/vg0/lv0                                                        ---删除逻辑卷

4vgremove vg0                                                                     ---删除卷组

5pvremove /dev/vdb2                                                           ---删除物理卷

Linux中的lvm动态扩容管理

6fdisk /dev/vdb                                                                     ---删除分区

Linux中的lvm动态扩容管理

Linux中的lvm动态扩容管理

当出现以下错误时(未按上述步骤,直接fdsik直接删除lvm):

PV g2OIge-1awl-HOFo-XwNG-EhUg-KP5E-GBQGRt not recognised. Is the device missing?

解决方式

vgreduce vg0  --removemissing