linux系统中的LVM

LVM

什么是LVM呢?
百度百科的定义是:
LVM是 Logical Volume Manager(逻辑卷管理)的简写
它是Linux环境下对磁盘分区进行管理的一种机制

即,LVM是我们为了更好地管理磁盘分区资源而在linux中使用的一种机制
(LVM的强大之处在于,它支持热拉伸,拉伸时不影响其使用)

而LVM中涉及到了几个概念:pv pe vg lv
以下是我在其他博客中看到的解释:
PV,VG,LV构成了一种易于管理拥有一个或多个硬盘的主机的文件系统,这些硬盘可能只有一个分区也可能有多个。通过将这些物理存在的分区(或称为卷)PV(physical volume)进行整合,组成一个分区(卷)组VG(volume group),进而再次进行分配形成逻辑分区(卷)LV(logical volume)。创建成功的逻辑分区对于操作系统来说会想普通分区无异,其好处是可以动态调整分区大小。管理PV,VG,LV的工具称为逻辑卷管理器LVM(logical volume manager)。其关系如下图所示:
在这里插入图片描述
需要指出的是,在某个物理卷在加入卷组时,会将物理卷的最小存储单元设定为一个固定的值,这个值称为PE(physical extent)。这个值的创建,是为了保证用统一的最小分配单元来创建逻辑卷,不至于因为分配单元大小不同而造成空间浪费。举个例子:用于远洋运输的集装箱的设计是是有着统一标准的,最重要一点是集装箱大小完全相同,这样做的好处是集装箱相互堆叠在一起不会留下多余的空隙,完全利用了空间,且便于管理。设定PE的原因也与此相同。LVM以最小分配单元来创建逻辑卷,该最小分配单元的值称为LE(logical extent)。一般来说PE=LE,且大小为2n。

LVM的创建生成

监控执行结果的命令:
watch -n 1 ‘pvs;echo ====;vgs;echo ===;lvs;echo ==;df -h /test’

操作流程:

1.fdisk /dev/vdb
(生成硬盘分区后,t由linux改变为lvm)

2.pvcreate /dev/vdb1
命令 物理设备(分区)

3.vgcreate vg0 /dev/vdb1
命令 自己取的vg设备名 物理设备

4.lvcreate -L 200M -n lv0 vg0
命令 参数 分200M生成该lv 参数 生成lv设备名(自己取) vg设备名(要和上面取的名字一致)

5.mkfs.xfs /dev/vg0/lv0
格式化生成的lv设备

6.mount /dev/vg0/lv0 /test/
将lv设备挂载使用

下图为例:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

LVM的拉伸与缩减

拉伸:
1.设备拉伸
2.文件系统拉伸

ext4文件系统(格式)即支持拉伸也支持缩减,而xfs文件系统(格式)只支持拉伸,不支持缩减

xfs格式:
分两种情况:
1.vg容量足够支持从中扩充的容量:
直接扩容:
(1)设备扩容
(2)文件系统扩容
1.lvextend -L 1500M /dev/vg0/lv0
2.xfs_growfs /dev/vg0/lv0
在这里插入图片描述
在这里插入图片描述
2.vg容量不够支持从中扩充的容量:
(1)先扩充vg
(2)扩充设备
(3)扩充文件系统
1.pvcreate /dev/vdb2
2.vgextend vg0 /dev/vdb2
3.lvextend -L 1500M /dev/vg0/lv0
4.xfs_growfs /dev/vg0/lv0
在这里插入图片描述
ext4格式:
将xfs格式转化为ext4格式:
umount /dev/vg0/lv0
mkfs.ext4 /dev/vg0/lv0
mount /dev/vg0/lv0 /test/
在这里插入图片描述
拉伸:
lvextend -L 1800M /dev/vg0/lv0 (拉伸设备)
resize2fs /dev/vg0/lv0 (拉伸文件系统)
在这里插入图片描述
缩减:
1.卸载
umount /dev/vg0/lv0
2.扫描(因为缩减可能涉及到数据的减少)
e2fsck -f /dev/vg0/lv0
3.缩减文件系统
resize2fs /dev/vg0/lv0 500M
4.缩减设备
lvreduce -L 500M /dev/vg0/lv0
5.再挂载上去
mount /dev/vg0/lv0 /test/
在这里插入图片描述

vg的缩减:
操作流程:(将vdb1数据移动到vdb2,再取出vdb1)
1.将/dev/vdb1中的数据移动到/dev/vdb2中
pvmove /dev/vdb1 /dev/vdb2
2.将/dev/vdb1从vg0中移出
vgreduce vg0 /dev/vdb1
3.将/dev/vdb1从pv设备中移出
pvremove /dev/vdb1
在这里插入图片描述

LVM的快照

lvcreate -L 60M -n lv0backup -s /dev/vg0/lv0
命令 参数 快照大小 参数 快照名(自己取) 参数 快照目标lv设备

注意:
生成的快照大小,不一定要与我们的原设备大小一致。
只需要估计出我们所要做出的修改大概会占多少空间,然后以修改空间大小创建快照即可

生成的快照可以直接挂载上去
快照坏了,只需要卸载快照(umount),删除快照(lvremove),再根据原来的生成一个快照,再挂载上去就可以了

下图为例:
在这里插入图片描述

LVM的删除

设备的删除:
1.先卸载(不卸载的话应该无法删除)
umount /weixindata/

2.删除快照
lvremove /dev/vg0/lv0backup

3.删除原lv设备
lvremove /dev/vg0/lv0

4.删除vg
vgremove vg0

5.删除pv
pvremove /dev/vdb2

以上命令,上面的实验中都有使用到,这里不再插图。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值