linux初学之lvm动态扩容管理

lvm 动态扩容管理

相关概念

  pv 物理卷(一杯橘子汁)

  vg 逻辑卷组(多杯橘子汁)
  pe =物理区域,是物理卷组中可用于分配的最小单位,默认4MB(每滴桔子汁)
  lvm 最终使用的可伸缩设备(喝多少从大杯中取多少)
linux初学之lvm动态扩容管理
lvm的建立

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

linux初学之lvm动态扩容管理

2)接下来的实验要观察物理卷的设备大小和文件系统大小,所以输入以下命令实施监控。

pvcreate /dev/vdb1  创建物理卷

linux初学之lvm动态扩容管理

vgcreate    vg0(名称随意) /dev/vdb1 ---创建物理卷组

lvcreate    -L 100M -n lv0(名称随意) vg0 --创建逻辑卷

linux初学之lvm动态扩容管理

mkfs.xfs /dev/vg0/lv0 格式化设备
mount /dev/vg0/lv0 /文件 设备挂载投入使用
linux初学之lvm动态扩容管理
监控命令
watch -n 1 'pvs;echo ========;vgs;echo ========;lvs;echo ========;df -h /文件'


三 lvm的拉伸

在xfs文件系统xfs(仅能拉伸,不能缩减)
1)当vg中剩余容量充足的时候

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

linux初学之lvm动态扩容管理

xfs_growfs /dev/vg0/lv0   扩大xfs文件系统到设备大小
linux初学之lvm动态扩容管理


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

新建分区
pvcreste /dev/vdb2   ## 加入一个新的物理卷
vgextend vg0 /dev/vdb2  扩大逻辑卷组

linux初学之lvm动态扩容管理

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

xfs_growfs /dev/vg0/lv0  扩大xfs文件系统到设备大小
linux初学之lvm动态扩容管理

四 在ext4文件系统中:

1)拉伸:

先卸载设备,用umount,因为文件系统不支持在线操作

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

linux初学之lvm动态扩容管理

blkid 查看

linux初学之lvm动态扩容管理

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

linux初学之lvm动态扩容管理

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

linux初学之lvm动态扩容管理



缩减(先缩减文件系统,再缩减物理卷组)

对设备:

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

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

linux初学之lvm动态扩容管理

resize2fs /dev/vg0/lv0 200M  缩减文件系统
mount /dev/vg0/lv0 /westos

lvreduce -L 200M /dev/vg0/lv0 缩减物理卷组

linux初学之lvm动态扩容管理

linux初学之lvm动态扩容管理


对卷组

pvmove /dev/vdb1 /dev/vdb2 当我要移除的分区存在数据,那么需要把数据迁移到其他pv中

linux初学之lvm动态扩容管理

vgreduce vg0 /dev/vdb1 将vdb1移除vg0这个逻辑卷组
pvremove /dev/vdb1 删除vdb1上的lvm的管理系统

linux初学之lvm动态扩容管理

五 lvm快照

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

mount /dev/vg0/lv0backup  /westos

linux初学之lvm动态扩容管理

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

lvremove /dev/vg0/lv0backup    删除快照

linux初学之lvm动态扩容管理

若要建立新的快照,重新制作挂载就可以了



六 lvm的删除

1)umount /westos

lvremove /dev/vr0/lv0backup   删除快照

lvremove /dev/vr0/lv0   删除逻辑卷

vgremove vg0    删除卷组

pvremove /dev/vdb2   删除物理卷
fdisk /dev/vdb   删除分区

当lvmd的分区误删时
解决方式:
vgreduce vg0 --removemissing