这里我们要做一个lvm 那么我们首先就要知道pv vg lv都是啥
pv是物理卷 我们用一个分区去做一个物理卷
vg是物理卷组 由多个pv组成
lv是逻辑卷 由vg物理卷中 分割一部分出来形成
所以我们首先要一个分区 而且是Linux lvm格式的
我在这里新建一个分区 然后t改变他的标签为lvm 我这里用的是gpt的分区格式
所以标签号可能不太一样 我这里反正我查看了之后他说是15 那我就改成15
这里P一下 查看成功了没 嗯 成功了 vdb2确实是lvm格式
然后我们开始一系列的创建
首先创建pv 所以pvcreate +设备 success
然后创建vg 所以vgcreate + 名字vg0 + 组成这个vg的pv: /dev/vdb1
然后创建lv 所以lvcreate -L 指定大小100M -n 名字lv0 从哪来 从vg0里来
然后 给他做上文件系统 mkfs.xfs /dev/vg0/lv0
然后我们mount把他挂上去 挂到/mnt上去 然后使用监控命令监控它 效果如下
这样我们的lv就做好了 以后要扩容的时候 如果vg0空间充足 那么我们直接lvextend -L 指定大小 + 我们要扩容的lv
然后在让文件系统覆盖增加的空间xfs_growfs + 我们的lv 就OK了
效果如下
如果想扩大的容量超过vg的剩余容量 也就是说原本的vg不够了 那就比较麻烦了
而且很尬的是我这里好像又少了几张图
但是步骤是你在建立一个分区 弄成lvm标签 然后pvcreate建立pv 然后vgextend把这个新的pv加进来 然后在lvextend扩容
然后xfs_growfs 覆盖文件系统
做好之后效果如下
然后这里我们要做缩小 然而xfs格式的文件系统并不能缩小 所以我们把这个lv给他格成ext4的格式 做上ext4的文件系统 当然格之前要先卸载
具体步骤在这里 先e2fsck -f 查看这个lv的情况 然后resize2fs +lv +大小 缩小文件系统
然后lvreduce 缩小lv
做好之后挂上去 效果如下
然后如果你想要卸掉其中一个pv 如果他没数据的话直接卸掉 如果有的话 要把数据迁移到另一个pv上
使用pvmove +pv1+pv2
然后vgreduce +名字+大小
然后pvremove+pv1 移走pv1 因为我这里即使移走了pv1,pv2的空间也足够vg来负载lv 所以我这里并没有改动lv的大小 也不需要改动
完成之后效果如下