lvm建立 扩容 缩小 分区取出 以及快照


这里我们要做一个lvm 那么我们首先就要知道pv vg lv都是啥

pv是物理卷 我们用一个分区去做一个物理卷

vg是物理卷组 由多个pv组成

lv是逻辑卷 由vg物理卷中 分割一部分出来形成


所以我们首先要一个分区 而且是Linux lvm格式的

我在这里新建一个分区 然后t改变他的标签为lvm 我这里用的是gpt的分区格式 

所以标签号可能不太一样 我这里反正我查看了之后他说是15 那我就改成15


lvm建立 扩容 缩小 分区取出 以及快照


这里P一下 查看成功了没  嗯 成功了 vdb2确实是lvm格式

lvm建立 扩容 缩小 分区取出 以及快照


然后我们开始一系列的创建

首先创建pv 所以pvcreate +设备 success

然后创建vg 所以vgcreate + 名字vg0 + 组成这个vg的pv: /dev/vdb1

然后创建lv  所以lvcreate  -L  指定大小100M -n 名字lv0 从哪来 从vg0里来

然后          给他做上文件系统 mkfs.xfs  /dev/vg0/lv0

lvm建立 扩容 缩小 分区取出 以及快照


然后我们mount把他挂上去 挂到/mnt上去 然后使用监控命令监控它 效果如下

lvm建立 扩容 缩小 分区取出 以及快照


这样我们的lv就做好了 以后要扩容的时候 如果vg0空间充足 那么我们直接lvextend -L 指定大小 + 我们要扩容的lv

然后在让文件系统覆盖增加的空间xfs_growfs + 我们的lv 就OK了

lvm建立 扩容 缩小 分区取出 以及快照


效果如下

lvm建立 扩容 缩小 分区取出 以及快照


如果想扩大的容量超过vg的剩余容量 也就是说原本的vg不够了 那就比较麻烦了

而且很尬的是我这里好像又少了几张图 

但是步骤是你在建立一个分区 弄成lvm标签 然后pvcreate建立pv 然后vgextend把这个新的pv加进来 然后在lvextend扩容

然后xfs_growfs 覆盖文件系统

做好之后效果如下

lvm建立 扩容 缩小 分区取出 以及快照


然后这里我们要做缩小 然而xfs格式的文件系统并不能缩小 所以我们把这个lv给他格成ext4的格式 做上ext4的文件系统 当然格之前要先卸载

lvm建立 扩容 缩小 分区取出 以及快照


具体步骤在这里 先e2fsck -f 查看这个lv的情况 然后resize2fs +lv +大小 缩小文件系统

然后lvreduce 缩小lv


lvm建立 扩容 缩小 分区取出 以及快照


做好之后挂上去 效果如下

lvm建立 扩容 缩小 分区取出 以及快照


然后如果你想要卸掉其中一个pv 如果他没数据的话直接卸掉 如果有的话 要把数据迁移到另一个pv上

使用pvmove +pv1+pv2

然后vgreduce +名字+大小

然后pvremove+pv1 移走pv1 因为我这里即使移走了pv1,pv2的空间也足够vg来负载lv 所以我这里并没有改动lv的大小 也不需要改动

lvm建立 扩容 缩小 分区取出 以及快照


完成之后效果如下

lvm建立 扩容 缩小 分区取出 以及快照