逻辑卷管理器:LVM(Logical Volume Manager)

LVM的全名是Logical Volume Manager,称为逻辑卷管理器。LVM整合多个物理分区在一起,让这些分区看起来就像是一个磁盘一样,而且,还可以在将来添加其他的物理分区或者删除其中的分区。LVM的重点在于可以弹性调整文件系统的容量!

1 LVM的创建

LVM的作法是将几个物理的分区(或磁盘)通过软件合成为一块看起来是独立的大磁盘(VG),然后将这块大磁盘再经过划分成为可使用分区(LV),最终就能挂载使用了。具体操作示例:

1.fdisk /dev/vdb建立一个主分区:选择n,默认情况下,此分区是linux类
  选择t ,输入代码逻辑卷代码8e,wq退出保存分区信息
2. pvcreate /dev/vdbx               安装逻辑卷软件
3. vgcreate -s 16M vg0 /dev/vdbx    创建卷组vg0,指定PE为16M(默认为4M)
                                    PE是LVM最小的存储块,类似于文件系统里面的block大小
4. lvcreate -L 20M -n lv0 vg0       在vg0卷组中取出大小为20M的逻辑卷,指定名字为lv0
                                    lv取出逻辑卷只能是PE大小的整数倍,PE是最小的存储块
                                    可以使用pvdisplay(pvs),vgdisplay(vgs),lvdisplay(lvs)   查看详细信息
5. mkfs.xfs /dev/vg0/lv0            格式化vg0卷组下的lv0分区
6. mount /dev/vg0/lv0 /data/        挂载到/data目录下

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这样,/dev/vg0/lv0就可以使用了!!!

2 LVM的扩展

当我们想将/dev/vg0/lv0扩展大小的时候,就分为两种情况,在本身vg0大小足够的情况下,直接扩展就可以,另一种情况是本身vg0的大小也不足,不能满足需求,这就需要划分新的分区并安装LVM软件,将其添加到vg0当中。
2.1 (xfs文件系统)在卷组的大小足够的情况下:

lvextend -L 100M /dev/vg0/lv0         扩展 /dev/vg0/lv0至100M
xfs_growfs /dev/vg0/lv0               将新扩展出来的再格式化

在这里插入图片描述
在这里插入图片描述
2.2 (xfs文件系统)在卷组的大小不够的情况下:

1.fdidsk /dev/vdb                再重新建立分区,将分区代码改为LVM,8e
2.partprobe                      更新分区表
3.pvcreate /dev/vdb2               给新划分的分区安装软件
4.vgextend vg0 /dev/vdb2           将安装好软件的设备加入到不够的卷组vg0中
5.lvextend -L 600M /dev/vg0/lv0    再从已经扩大的卷组中扩大逻辑卷lv0至600M
6.xfs_growfs /dev/vg0/lv0          将卷组中的新扩展的逻辑卷再重新格式化

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
2.3 (ext4文件系统)LVM的扩展:

ext4文件系统下LVM的扩展原理和xfs文件系统一致,在最后一步刷新文件系统的时候使用的命令不同
上面2.2已经加入新的分区使vg0的大小扩展到了688M,所以我们不进行扩展vg0
已卷组大小足够的情况下示例ext4文件系统LVM的扩展
1.umount /data
2.mkfs.ext4 /dev/vg0/lv0
3.mount /dev/vg0/lv0 /data/
4.lvextend -L 608M /dev/vg0/lv0
5.resize2fs /dev/vg0/lv0          重新以ext4刷新文件系统

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3 LVM的缩减

xfs格式不支持缩减,ext4支持缩减,在上一小节中我们已经将/dev/vg0/lv0格式化成etx4文件系统。LVM扩展的时候,需要先扩展逻辑卷,然后将新扩展的重新格式化。但是缩减的时候,若是先缩减逻辑卷,那多出来的部分就没有地方放了,所以必须先缩减文件系统,然后再缩减逻辑卷。具体缩减过程如下:

umount /data
e2fsck -f /dev/vg0/lv0           扫描逻辑卷
resize2fs /dev/vg0/lv0 100M  将逻辑卷lv0缩减至100M 缩减的是文件系统
mount /dev/vg0/lv0 /data/
lvreduce -L 100M /dev/vg0/lv0   缩减lv,不能过小,否则会报错

缩减了之后想要移除不用的空闲的分区,/dev/vdb2为空闲分区没有被使用,可以直接移除,
但是假设我们就想移除/dev/vdb3
pvmove /dev/vdb3 /dev/vdb2  将vdb3内的数据全部移到vdb2中
vgreduce vg0 /dev/vdb3      将vdb3从vg0中删除
pvremove /dev/vdb3          在pv中删除

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4 LVM的快照

快照将当时的系统信息记录下来,就好像照相记录一般。将来若有任何数据改动了,则原始数据就会被移到快照区,没有被改动的区域则由快照区与文件系统共享。LVM的快照和虚拟机快照原理一样,操作更改的是快照,不会对原有设备做更改,但是你查看的时候看的是真实的设备。快照的实现:

mount /dev/vg0/lv0 /data/
cd /data
touch file{1..10}                                 在真实的逻辑卷内建立文件
cd 
umount /data

lvcreate -L 20M -n lv0-backup -s /dev/vg0/lv0     创建LVM快照
lvs                                               大小是真实的逻辑卷
mount /dev/vg0/lv0-backup /data/
cd /data/
ls
rm -fr *                                          删除建立的文件
ls
cd
umount /data/
lvremove /dev/vg0/lv0-backup                      删除建立的快照
lvcreate -L 20M -n lv0-backup -s /dev/vg0/lv0     继续新建快照
mount /dev/vg0/lv0-backup /data/
cd /data/
ls                                                可以看到之前真实设备建立的文件

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5 LVM的删除

现在经过以上步骤的建立,系统中存在pv:/dev/vdb2,vg:vg0;lv:lv0,lv0-backup,现在我们将其全部移除:

umount /data                   先解除挂载
lvremove /dev/vg0/lv0-backup   删除快照
lvremove /dev/vg0/lv0          删除快照的母本lv0
vgremove vg0                   移除卷组vg0
pvremove /dev/vdb2             移除LVM软件,
                               若想继续使用分区/dev/vdb2,可以改变它的代码继续使用
                               也可以不想使用选择删除该分区

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
########################The End###########################

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值