首页 > 技术文章 > LVM磁盘阵列

BrokenEaves 2021-02-26 15:42 原文

LVM磁盘阵列

一.部署逻辑卷

 

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

【pvcreate /dev/sdb /dev/sdc】

 

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

【vgcreate storage /dev/sdb /dev/sdc】

Volume group "storage" successfully created

【vgdisplay】

 

第3步:切割出一个容量大小约为150MB的逻辑卷。

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

【lvcreate -n vo -l 38 storage】

Logical volume "vo" created

【lvdisplay】

 

第4步:将生成的逻辑卷进行格式化,然后挂载使用。

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

【mkfs.ext4 /dev/storage/vo】

【mkdir /linux-yhy】

【mount /dev/storage/vo /linux-yhy】

 

第5步:查看挂载状态,并将其写入配置文件中,使其永久生效。

【df -h】

【echo "/dev/storage/vo /linux-yhy ext4 defaults 0 0" >> /etc/fstab】

 

二.扩展逻辑卷

 

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

 

【umount /linux-yhy】

 

第1步:把上一个实验中的逻辑卷vo扩容至290MB。

【lvextend -L 290M /dev/storage/vo】

 

第2步:检查硬盘的完整性,并重置硬盘容量。

【e2fsck -f /dev/storage/vo】

【resize2fs /dev/storage/vo】

 

第3步:重新挂载硬盘设备并查看挂载状态。

【mount -a】

【df -h】

 

三.缩小逻辑卷

 

相较于扩展逻辑卷,在缩小逻辑卷时,丢失数据的风险更大。在生产环境中执行相应操作时,一定要提前备份数据。另外,Linux操作系统规定,在对逻辑卷进行缩容操作之前,要先检查文件系统的完整性(这是为了保证数据安全)。在执行缩容操作前要记得先卸载文件系统。

【umount /linux-yhy】

 

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

【e2fsck -f /dev/storage/vo】

 

第2步:把逻辑卷vo的容量缩小至120MB。

【resize2fs /dev/storage/vo 120M】

【lvreduce -L 120M /dev/storage/vo】

 

第3步:重新挂载文件系统并查看系统状态。

【mount -a】

【df -h】

 

四.设置逻辑卷快照

 

LVM还具备快照卷功能,该功能类似于虚拟机的还原时间点的功能。例如,可以对某个逻辑卷进行一次快照,如果日后发现数据被改错了,还可以利用之前做好的快照卷进行覆盖还原。LVM的快照卷功能有2个特点:

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

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

首先查看卷组信息。

【vgdisplay】

通过卷组的输出信息可以得知,卷组已经使用了120MB的容量,空闲容量还有1.88GB。接下来用重定向技术向逻辑卷挂载的目录中写入一个文件。

【echo "Welcome to Linux-yhy.com" > /linux-yhy/readme.txt】

【ls -l /linux-yhy】

total 14

drwx------. 2 root root 12288 Feb 1 07:18 lost+found

-rw-r--r--. 1 root root 26 Feb 1 07:38 readme.txt

 

第1步:使用-s参数生成一个快照卷,使用-L参数指定切割的大小。另外,还需要在命令后面写上这是针对哪个逻辑卷执行的快照操作。

【lvcreate -L 120M -s -n SNAP /dev/storage/vo】

Logical volume "SNAP" created

【lvdisplay】

 

第2步:在逻辑卷挂载的目录中创建一个100MB的垃圾文件,然后查看快照卷的状态。可以发现,存储空间的容量增加了。

【dd if=/dev/zero of=/linux-yhy/files count=1 bs=100M】

【lvdisplay】

 

第3步:为了校验SNAP快照卷的效果,需要对逻辑卷进行快照还原操作。在此之前记得先卸载逻辑卷与目录的挂载。

【umount /linux-yhy】

【lvconvert --merge /dev/storage/SNAP】

 

第4步:快照卷会被自动删除,并且刚刚在逻辑卷被执行快照操作后创建的100MB的垃圾文件也被清除了。

【mount -a】

【ls /linux-yhy/】

lost+found readme.txt

 

五.删除逻辑卷

 

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

 

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

【umount /linux-yhy】

【vim /etc/fstab】

删除“dev/storage/vo /linuxprobe ext4 defaults 0 0”。

 

第2步:删除逻辑卷,需要输入y来确认操作。

【lvremove /dev/storage/vo】

Do you really want to remove active logical volume vo? [y/n]: y

Logical volume "vo" successfully removed

第3步:删除卷组,此处只写卷组名称即可,不需要写卷组的绝对路径。

【vgremove storage】

Volume group "storage" successfully removed

 

第4步:删除物理卷。

【pvremove /dev/sdb /dev/sdc】

Labels on physical volume "/dev/sdb" successfully wiped

Labels on physical volume "/dev/sdc" successfully wiped

在执行完上述操作之后,再执行lvdisplay、vgdisplay、pvdisplay命令来查看LVM的信息时,就不会再看到其信息了。

 

推荐阅读