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
第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的信息时,就不会再看到其信息了。