在Linux系统中配置LVM逻辑卷管理

当用户想要随着实际需求的变化调整硬盘分区的大小时,会受到硬盘“灵活性”的限制。这时就需要用到另外一项非常普及的硬盘设备资源管理技术了—LVM(逻辑卷管理器)。LVM可以允许用户对硬盘资源进行动态调整。

逻辑卷管理器是Linux系统用于对硬盘分区进行管理的一种机制,理论性较强,其创建初衷是为了解决硬盘设备在创建分区后不易修改分区大小的缺陷。尽管对传统的硬盘分区进行强制扩容或缩容从理论上来讲是可行的,但是却可能造成数据的丢失。而LVM技术是在硬盘分区和文件系统之间添加了一个逻辑层,它提供了一个抽象的卷组,可以把多块硬盘进行卷组合并。这样一来,用户不必关心物理硬盘设备的底层架构和布局,就可以实现对硬盘分区的动态调整。LVM的技术架构如图
在这里插入图片描述

物理卷处于LVM中的最底层,可以将其理解为物理硬盘、硬盘分区或者RAID磁盘阵列,这都可以。卷组建立在物理卷之上,一个卷组可以包含多个物理卷,而且在卷组创建之后也可以继续向其中添加新的物理卷。逻辑卷是用卷组中空闲的资源建立的,并且逻辑卷在建立后可以动态地扩展或缩小空间。这就是LVM的核心理念。

部署逻辑卷
一般而言,在生产环境中无法精确地评估每个硬盘分区在日后的使用情况,因此会导致原先分配的硬盘分区不够用。比如,伴随着业务量的增加,用于存放交易记录的数据库目录的体积也随之增加;因为分析并记录用户的行为从而导致日志目录的体积不断变大,这些都会导致原有的硬盘分区在使用上捉襟见肘。而且,还存在对较大的硬盘分区进行精简缩容的情况。

我们可以通过部署LVM来解决上述问题。部署LVM时,需要逐个配置物理卷、卷组和逻辑卷。常用的部署命令如下

                                            常用的LVM部署命令

功能/命令--------物理卷管理-------卷组管理--------逻辑卷管理
扫描 -------- pvscan -------- vgscan -------- lvscan
建立 -------- pvcreate --------vgcreate -------- lvcreate
显示 -------- pvdisplay --------vgdisplay --------lvdisplay
删除 -------- pvremove--------vgremove --------lvremove
扩展 -------- vgextend -------- lvextend
缩小 vgreduce --------lvreduce

为了更好地演示LVM理念中用户无需关心底层物理硬盘设备的特性。我们先对这两块新硬盘进行创建物理卷的操作,可以将该操作简单理解成让硬盘设备支持LVM技术,或者理解成是把硬盘设备加入到LVM技术可用的硬件资源池中,然后对这两块硬盘进行卷组合并,卷组的名称可以由用户来自定义。接下来,根据需求把合并后的卷组切割出一个约为150MB的逻辑卷设备,最后把这个逻辑卷设备格式化成EXT4文件系统后挂载使用

第1步:让新添加的两块硬盘设备支持LVM技术。

pvcreate /dev/sdb /dev/sdc
在这里插入图片描述

第2步:把两块硬盘设备加入到storage卷组中,然后查看卷组的状态。

vgcreate vg1 /dev/sdb /dev/sdc
在这里插入图片描述
vgdisplay
在这里插入图片描述
第3步:切割出一个约为150MB的逻辑卷设备。

这里需要注意切割单位的问题。在对逻辑卷进行切割时有两种计量单位。第一种是以容量为单位,所使用的参数为-L。例如,使用-L 150M生成一个大小为150MB的逻辑卷。另外一种是以基本单元的个数为单位,所使用的参数为-l。每个基本单元的大小默认为4MB。例如,使用-l 37可以生成一个大小为37×4MB=148MB的逻辑卷。

lvcreate -n vo -l 37 vg1
在这里插入图片描述
lvdisplay
在这里插入图片描述
第4步:把生成好的逻辑卷进行格式化,然后挂载使用。

Linux系统会把LVM中的逻辑卷设备存放在/dev设备目录中(实际上是做了一个符号链接),同时会以卷组的名称来建立一个目录,其中保存了逻辑卷的设备映射文件(即/dev/卷组名称/逻辑卷名称)。

mkfs.ext4 /dev/vg1/vo
在这里插入图片描述
mount /dev/storage/vo /linuxprobe
第5步:查看挂载状态,并写入到配置文件,使其永久生效。
在这里插入图片描述
永久挂载
echo “/dev/vg1/vo /a ext4 defaults 0 0” >> /etc/fstab
在这里插入图片描述

扩容逻辑卷
在前面的实验中,卷组是由两块硬盘设备共同组成的。用户在使用存储设备时感知不到设备底层的架构和布局,更不用关心底层是由多少块硬盘组成的,只要卷组中有足够的资源,就可以一直为逻辑卷扩容。扩展前请一定要记得卸载设备和挂载点的关联。

umount /a
第1步:把上一个实验中的逻辑卷vo扩展至290MB。
lvextend -L 290M /dev/vg1/vo
在这里插入图片描述
第2步:检查硬盘完整性,并重置硬盘容量。

e2fsck -f /dev/vg1/vo

resize2fs /dev/vg1/vo
在这里插入图片描述
第3步:重新挂载硬盘设备并查看挂载状态。

mount -a
df -TH
在这里插入图片描述
7.2.3 缩小逻辑卷
相较于扩容逻辑卷,在对逻辑卷进行缩容操作时,其丢失数据的风险更大。所以在生产环境中执行相应操作时,一定要提前备份好数据。另外Linux系统规定,在对LVM逻辑卷进行缩容操作之前,要先检查文件系统的完整性(当然这也是为了保证我们的数据安全)。在执行缩容操作前记得先把文件系统卸载掉。

umount /a
第1步:检查文件系统的完整性。

e2fsck -f /dev/vg1/vo
在这里插入图片描述
第2步:把逻辑卷vo的容量减小到120MB。 resize2fs /dev/vg1/vo 120M
在这里插入图片描述
lvreduce -L 120M /dev/vg1/vo
在这里插入图片描述
第3步:重新挂载文件系统并查看系统状态。

mount -a
df -h
在这里插入图片描述
7.2.4 逻辑卷快照
LVM还具备有“快照卷”功能,该功能类似于虚拟机软件的还原时间点功能。例如,可以对某一个逻辑卷设备做一次快照,如果日后发现数据被改错了,就可以利用之前做好的快照卷进行覆盖还原。LVM的快照卷功能有两个特点:

快照卷的容量必须等同于逻辑卷的容量;

快照卷仅一次有效,一旦执行还原操作后则会被立即自动删除。

首先查看卷组的信息。

vgdisplay
在这里插入图片描述
通过卷组的输出信息可以清晰看到,卷组中已经使用了120MB的容量,空闲容量还有39.88GB。接下来用重定向往逻辑卷设备所挂载的目录中写入一个文件。

echo “Welcome to Linuxprobe.com” > /a/a.txt
ls -l /a
在这里插入图片描述
第1步:使用-s参数生成一个快照卷,使用-L参数指定切割的大小。另外,还需要在命令后面写上是针对哪个逻辑卷执行的快照操作。

lvcreate -L 120M -s -n SNAP /dev/vg1/vo
在这里插入图片描述
[root@linuxprobe ~]# lvdisplay
在这里插入图片描述
第2步:在逻辑卷所挂载的目录中创建一个100MB的垃圾文件,然后再查看快照卷的状态。可以发现存储空间占的用量上升了。

[root@linuxprobe ~]# dd if=/dev/zero of=/a/files count=1 bs=100M
在这里插入图片描述
lvdisplay
在这里插入图片描述
第3步:为了校验SNAP快照卷的效果,需要对逻辑卷进行快照还原操作。在此之前记得先卸载掉逻辑卷设备与目录的挂载。
umount /a
lvconvert --merge /dev/vg1/SNAP
在这里插入图片描述
第4步:快照卷会被自动删除掉,并且刚刚在逻辑卷设备被执行快照操作后再创建出来的100MB的垃圾文件也被清除了。

mount -a
ls /linuxprobe/
lost+found readme.txt

删除逻辑卷

当生产环境中想要重新部署LVM或者不再需要使用LVM时,则需要执行LVM的删除操作。为此,需要提前备份好重要的数据信息,然后依次删除逻辑卷、卷组、物理卷设备,这个顺序不可颠倒。

第1步:取消逻辑卷与目录的挂载关联,删除配置文件中永久生效的设备参数。

umount /linuxprobe
vim /etc/fstab
在这里插入图片描述

在这里插入图片描述第2步:删除逻辑卷设备,需要输入y来确认操作。

lvremove /dev/vg1/vo

在这里插入图片描述第3步:删除卷组,此处只写卷组名称即可,不需要设备的绝对路径。

vgremove vg1
在这里插入图片描述
第4步:删除物理卷设备。

pvremove /dev/sdb /dev/sdc

在上述操作执行完毕之后,再执行lvdisplay、vgdisplay、pvdisplay命令来查看LVM的信息时就不会再看到信息了(前提是上述步骤的操作是正确的)。

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值