1.简介
LVM是Logical Volume Manager(l逻辑卷管理的缩写) ,它是linux环境下对磁盘分区进行管理的一种机制,支持用户在使用的时候进行热拉伸与缩减,对分区大小可以进行方便调整。
2.lvm的建立
为了方便我们观察lvm的创建过程,我们利用监视命令来直观的了解,命令如下
watch -n 1 'pvs;echo ====;vgs;echo =====;lvs;echo =====;df -H /mnt'
建立过程
分区并设定分区标签位8e
pvcreate /dev/vdb5 ##创建物理卷
pvcreate /dev/vdb6 ##创建物理卷
vgcreate vg0 /dev/vdb5 ##添加卷组
vgextend vg0 /dev/vdb6 ##增加卷组
lvcreate -L 50M -n lv0 vg0 ##添加逻辑卷,将卷组的一部风添加进去
mkfs.xfs /dev/vg0/lv0 ##刚添加的逻辑卷不能直接使用,需要进行格式化
mount /dev/vg0/lv0 /mnt ##挂载,正常使用
示例:监视信息
示例:具体操作
3.xfs文件系统的拉伸
1)umount /mnt
首先先卸载设备
2)lvextend -L 200M /dev/vg0/lv0
将逻辑卷拉伸到200M
3)mount /dev/vg0/lv0 /mnt
挂载设备
4)xfs_growfs /dev/vg0/lv0
挂载之后格式化一下可以看到设备被成功拉伸
示例:
4.ext4文件系统的拉伸与缩减
xfs文件系统不可以进行缩减,而ext4文件系统既可以被拉伸也可以被缩减,下面就具体来说一下做法
拉伸
1)mkfs.ext4 /dev/vg0/lv0
将文件系统改为ext4文件系统
2)mount /dev/vg0/lv0 /mnt/
将设备挂载
3)lvextend -L 500M /dev/vg0/lv0
将逻辑卷扩展到500M
4) resize2fs /dev/vg0/lv0
对新添加的部分格式化,可以清楚看到文件扩大到500M
示例:将文件系统拉伸到500M(原本为200M )
缩减
e2fsck -f /dev/vg0/lv0
resize2fs /dev/vg0/lvo 100M
缩减文件系统到100M
mount /dev/vg0/lv0 /mnt
将设备挂载发现确实已经被缩减到100M
lvreduce -L 300M /dev/vg0/lv0
对逻辑卷进行缩减,缩减到300M
示例:
把物理卷从卷组中拿走
移除空闲pv
vgreduce vg0 /dev/vdb5
移除含有数据的设备
pvmove /dev/vdb5 /dev/vdb6
vgreduce vg0 /dev/vdb5
pvremove /dev/vdb5
示例:原始情况
缩减之后
在这里插入图片描述
5.创建逻辑卷快照
在日常操作中,如果把逻辑卷挂在使用之后不小心把里面的文件删除该怎么办呢,还记得在说虚拟机的时候为了我们创建了虚拟机的快照,我们在虚拟机快照上即使操作不当也可以通过重新创建快照来解决,这里我们也可以创建逻辑卷实现同样的功能。
mount /dev/vg0/lv0 /mnt ##先将设备挂载
cd /mnt
touch file{1..5} ##创建文件
umount /mnt ##卸载
lvcreate -L 50M -n /dev/vg0/lv0_snap -s /dev/vg0/lv0 ##生成快照
mount /dev/vg0/lv0_snap /mnt ##将快照挂载
cd /mnt
rm -rf *
umount /mnt
lvremove /dev/vg0/lv0_snap ##文件被删除快照被损坏,删除快照
lvcreate -L 50M -n /dev/vg0/lv0_snap -s /dev/vg0/lv0 ##重新生成快照
mount /dev/vg0/lv0_snap /mnt
cd /mnt/ ##挂载之后文件仍然存在
ls
示例:
6.删除LVM
umount /mnt
首先先卸载设备
df
检查一下是否卸载
具体操作如下
lvremove /dev/vg0/lv0_snap ##删除快照
lvremove /dev/vg0/lv0 ##删除卷组
vgremove vg0
pvremove /dev/vdb5 ##删除物理卷
pvremove /dev/vdb7
fdisk /dev/vdb ##删除设备
示例: