上一篇文章,我们学习了如何给LVM的逻辑卷及卷组扩容。这篇文章我们来学习,如何给LVM的逻辑卷及卷组缩小空间。
注意逻辑卷的缩小一定要离线操作,不能是在线操作,否则会造成逻辑卷损坏,以致造成数据的丢失。
缩小逻辑卷一定要按照如下步骤进行:
- 1、卸载已经挂载的逻辑卷
- 2、缩小文件系统,使用resize2fs命令
- 3、缩小逻辑卷
- 4、查看缩小后的逻辑卷
- 5、挂载逻辑卷
先来查看逻辑卷的空间大小,使用lvs或者lvdisplay命令,如下:
通过上图我们可以看到,目前逻辑卷/dev/vg1/data的空间大小为800M,而且已经挂载到/testlvm目录下,并且/testlvm目录下已经有一个文件test.txt。
先来卸载逻辑卷,如下:
umount /testlvm/
逻辑卷的挂载卸载完毕后,我们来缩小文件系统使用resize2fs命令。我们现在要把逻辑卷/dev/vg1/data由原来的800M缩小为300M,命令如下:
resize2fs /dev/vg1/data 300M
有关resize2fs命令的使用,可以查看resize2fs的帮助文档,如下:
接着系统会提示先先运行e2fsck命令,该命令是用来检查逻辑卷是否有问题的,参数-f是遇见错误直接修复不提示。如下:
e2fsck -f /dev/vg1/data
e2fsck运行完毕后,我们再来执行resize2fs /dev/vg1/data 300M,如下:
我们可以看到现在没有报错,现在文件系统的大小已经压缩为300M。
下面我们开始缩小逻辑卷LV,我们可以通过lvreduce命令来实现。如下:
lvreduce -L 300 /dev/vg1/data
有关lvreduce命令的使用,我们看帮助。如下:
逻辑卷空间缩小后,我们再次来使用lvs及lvdisplay命令进行查看,如下:
通过上图我们可以很明显的看到逻辑卷/dev/vg1/data的空间已经缩小至300M。那么我们现在挂载该逻辑卷到/testlvm目录下并查看该目录的内容是否和逻辑卷分区缩小前的一样,如下:
mount /dev/vg1/data /testlvm/
通过上图,我们可以很明显的看到/testlvm目录的大小,已经缩小为300M。而且/testlvm目录下的test.txt文件还是存在的,说明我们已经成功的为逻辑卷缩小空间。
以上有关逻辑卷的空间缩小,下面我们再来介绍有关卷组的空间缩小。
其实卷组的空间缩小就是把已经加入卷组的物理卷删除,先来查看卷组中目前有的物理卷,如下:
通过上图,我们可以很明显的看到目前系统中两个物理卷/dev/sda5/、/dev/sda6,而且这两个物理卷已经都加入到卷组vg1中。
这个我们是通过图中标记出来的黄色部分知道的,同时我们也知道这两个物理卷的大小都是1000M,卷组vg1的大小为2000M。
我们现在要把物理卷/dev/sda6删除,这个就相当于缩小了卷组vg1的大小。我们可以通过vgreduce命令来实现,如下:
vgreduce vg1 /dev/sda6
有关vgreduce的使用,可以查看帮助文档,如下:
现在我们再来查看卷组vg1的大小,如下:
通过上图,我们可以很明显的看到卷组vg1现在的大小已经是1000M。而且物理卷/dev/sda6目前不属于任何一个卷组。
注意:卷组缩小空间,一定要要卷组的空闲空间大小大于删除的物理卷的空间大小。
到此LVM逻辑卷及卷组的空间缩小到此结束,下篇文章我们将介绍有关如何删除逻辑卷及卷组。