zoukankan      html  css  js  c++  java
  • 烂泥:LVM学习之逻辑卷及卷组缩小空间

    本文由秀依林枫提供友情赞助,首发于烂泥行天下

    上一篇文章,我们学习了如何给LVM的逻辑卷及卷组扩容。这篇文章我们来学习,如何给LVM的逻辑卷及卷组缩小空间。

    注意逻辑卷的缩小一定要离线操作,不能是在线操作,否则会造成逻辑卷损坏,以致造成数据的丢失。

    缩小逻辑卷一定要按照如下步骤进行:

    1. 1、卸载已经挂载的逻辑卷
    2. 2、缩小文件系统,使用resize2fs命令
    3. 3、缩小逻辑卷
    4. 4、查看缩小后的逻辑卷
    5. 5、挂载逻辑卷

    先来查看逻辑卷的空间大小,使用lvs或者lvdisplay命令,如下:

    lip_image001

    通过上图我们可以看到,目前逻辑卷/dev/vg1/data的空间大小为800M,而且已经挂载到/testlvm目录下,并且/testlvm目录下已经有一个文件test.txt。

    先来卸载逻辑卷,如下:

    umount /testlvm/

    lip_image002

    逻辑卷的挂载卸载完毕后,我们来缩小文件系统使用resize2fs命令。我们现在要把逻辑卷/dev/vg1/data由原来的800M缩小为300M,命令如下:

    resize2fs /dev/vg1/data 300M

    lip_image003

    有关resize2fs命令的使用,可以查看resize2fs的帮助文档,如下:

    lip_image004

    接着系统会提示先先运行e2fsck命令,该命令是用来检查逻辑卷是否有问题的,参数-f是遇见错误直接修复不提示。如下:

    e2fsck -f /dev/vg1/data

    lip_image005

    e2fsck运行完毕后,我们再来执行resize2fs /dev/vg1/data 300M,如下:

    lip_image006

    我们可以看到现在没有报错,现在文件系统的大小已经压缩为300M。

    下面我们开始缩小逻辑卷LV,我们可以通过lvreduce命令来实现。如下:

    lvreduce -L 300 /dev/vg1/data

    lip_image007

    有关lvreduce命令的使用,我们看帮助。如下:

    lip_image008

    逻辑卷空间缩小后,我们再次来使用lvs及lvdisplay命令进行查看,如下:

    lip_image009

    通过上图我们可以很明显的看到逻辑卷/dev/vg1/data的空间已经缩小至300M。那么我们现在挂载该逻辑卷到/testlvm目录下并查看该目录的内容是否和逻辑卷分区缩小前的一样,如下:

    mount /dev/vg1/data /testlvm/

    lip_image010

    通过上图,我们可以很明显的看到/testlvm目录的大小,已经缩小为300M。而且/testlvm目录下的test.txt文件还是存在的,说明我们已经成功的为逻辑卷缩小空间。

    以上有关逻辑卷的空间缩小,下面我们再来介绍有关卷组的空间缩小。

    其实卷组的空间缩小就是把已经加入卷组的物理卷删除,先来查看卷组中目前有的物理卷,如下:

    lip_image011

    通过上图,我们可以很明显的看到目前系统中两个物理卷/dev/sda5/、/dev/sda6,而且这两个物理卷已经都加入到卷组vg1中。

    这个我们是通过图中标记出来的黄色部分知道的,同时我们也知道这两个物理卷的大小都是1000M,卷组vg1的大小为2000M。

    我们现在要把物理卷/dev/sda6删除,这个就相当于缩小了卷组vg1的大小。我们可以通过vgreduce命令来实现,如下:

    vgreduce vg1 /dev/sda6

    lip_image012

    有关vgreduce的使用,可以查看帮助文档,如下:

    lip_image013

    现在我们再来查看卷组vg1的大小,如下:

    lip_image014

    通过上图,我们可以很明显的看到卷组vg1现在的大小已经是1000M。而且物理卷/dev/sda6目前不属于任何一个卷组。

    注意:卷组缩小空间,一定要要卷组的空闲空间大小大于删除的物理卷的空间大小。

    到此LVM逻辑卷及卷组的空间缩小到此结束,下篇文章我们将介绍有关如何删除逻辑卷及卷组。

  • 相关阅读:
    python深浅拷贝
    pyinstaller打包py文件为exe方法
    python学习笔记3-关于文件的复制、重命名、移动、删除操作
    BeautifulSoup4 print() 输出中文乱码解决方法
    进程和线程的开启效率
    python3 使用pymysql
    python3 __file__
    Flask Template ( 模板学习)
    响应对象
    nginx 以及 uwsgi 的配置
  • 原文地址:https://www.cnblogs.com/ilanni/p/3918806.html
Copyright © 2011-2022 走看看