暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

运维日记丨Linux LVM磁盘扩容

新运维新数据 2023-03-11
476

各位新朋友~记得先点蓝字关注我哦~


Linux LVM (Logical Volume Manager:逻辑卷管理器) 是一种强大的工具,将硬盘空间抽象化,将多个硬盘空间整合成一个逻辑卷组(Volume Group),然后从逻辑卷组中创建逻辑卷(Logical Volume)。因此,可以灵活地管理 Linux 系统中的磁盘空间,且无需了解底层硬件的详细信息。



下面是一些相关的名词和概念:
  • 物理卷(Physical Volume,PV):
物理卷是硬盘、硬盘分区或RAID设备的抽象,它是逻辑卷管理器的底层存储单元。物理卷可以是硬盘的整个分区,也可以是分区的一部分。
  • 卷组(Volume Group,VG)
卷组是由一个或多个物理卷组成的逻辑存储单元。卷组可以由多个物理卷组成,这些物理卷可以来自不同的硬盘。
  • 逻辑卷(Logical Volume,LV)
逻辑卷是从卷组中创建的逻辑存储单元。逻辑卷可以被看作是分区的替代品。逻辑卷是LVM的核心,它提供了灵活的存储管理,可以在不破坏数据的情况下动态地调整存储空间。
  • 物理区(Physical Extent,PE)
物理区是物理卷和逻辑卷之间的抽象单元。物理区是卷组的最小存储单元,通常是4MB到16MB之间。一个逻辑卷由多个物理区组成,它们的大小可以不同。
  • 文件系统
文件系统是用于在逻辑卷上存储和管理文件的一种结构。文件系统是LVM之上的一层抽象,它通常与逻辑卷一起使用。

通过LVM,我们可以轻松地扩展、缩小和移动逻辑卷。在 LVM 中,逻辑卷是通过物理卷组成的,物理卷是通过硬盘分区或整个硬盘创建的。逻辑卷组织着一个或多个逻辑卷,每个逻辑卷可以被格式化并用作文件系统。因此,如果我们需要进行磁盘扩容,也就是逻辑卷扩容,即只要添加新的物理卷,并将它们添加到逻辑卷组中即可。


以下是具体的操作步骤:

01

创建物理卷

首先,我们在服务器上添加新硬盘或者在虚拟机上添加了一块新的虚拟磁盘,那么就需要创建一个新的物理卷。可以使用以下命令来创建一个新的物理卷:

    pvcreate dev/sdb1
    复制

    其中,/dev/sdb1 是新的物理卷的设备名称。

    02

    将物理卷添加到现有逻辑卷组中

    接下来,我们使用以下命令来将新添加的物理卷添加到现有逻辑卷组中:

      vgextend existing_vg dev/sdb1
      复制

      其中,existing_vg 是现有逻辑卷组的名称,/dev/sdb1 是新的物理卷的设备名称。

      03

      扩展逻辑卷

      可以使用以下命令来扩展逻辑卷:

        lvextend -l +100%FREE /dev/existing_vg/existing_lv
        复制

        其中,existing_vg 是现有逻辑卷组的名称,existing_lv 是现有逻辑卷的名称。

        在这个命令中,我们使用了 -l +100%FREE 参数来将逻辑卷扩展到所有可用的空间。如果要扩展到特定的大小,可以使用 -L 参数。

        04

        调整文件系统大小

        最后,我们需要调整逻辑卷上的文件系统大小,以使其使用新的空间。如果我们正在使用 ext2、ext3 或 ext4 文件系统,可以使用以下命令来调整文件系统大小:

          resize2fs dev/existing_vg/existing_lv
          复制

          其中,existing_vg 是现有逻辑卷组的名称,existing_lv 是现有逻辑卷的名称。

          如果我们正在使用 XFS 文件系统,可以使用以下命令来调整文件系统大小:

            xfs_growfs dev/existing_vg/existing_lv
            复制

            其中,existing_vg 是现有逻辑卷组的名称,existing_lv 是现有逻辑卷的名称。


            当然,我们可以通过编写脚本来简化扩容过程,以下是对上述操作过程的脚本示例:

              #!/bin/bash
              # 设置变量
              NEW_PV="/dev/sdb1"
              EXISTING_VG="existing_vg"
              EXISTING_LV="existing_lv"
              # 创建新物理卷
              pvcreate $NEW_PV
              # 添加新物理卷到逻辑卷组
              vgextend $EXISTING_VG $NEW_PV
              # 扩展逻辑卷
              lvextend -l +100%FREE /dev/$EXISTING_VG/$EXISTING_LV
              # 调整文件系统大小
              resize2fs /dev/$EXISTING_VG/$EXISTING_LV
              复制



              注意:脚本参数需要根据实际情况进行修改,同时在运行脚本之前,建议一定要先备份好数据,以防意外情况发生!





              美创是国内领先的数据库服务提供商。服务团队拥有PG ACED 1名、Oracle&PG ACE 3人、DSI智库专家5名、DSMM测评师7名、OCM 20余人、数十名Oracle OCP、MySQL OCP、TDSQL TCP、OceanBase OBCP、TiDB PTCP、达梦 DCP、人大金仓、红帽RHCA、中间件weblogic、tuxedo、CISP-DSG、CISSP、CDGA、CDPSE、CZTP、CDSP等认证人员,著有《DBA攻坚指南:左手Oracle,右手MySQL》,《Oracle数据库性能优化方法和最佳实践》,《Oracle内核技术揭秘》,《Oracle DBA实战攻略》等多本数据库书籍。运维各类数据库合计5000余套,精通Oracle、MySQL、SQLServer、DB2、PostgreSQL、MongoDB、Redis、TDSQL、OceanBase、达梦、人大金仓等主流商业和开源数据库。美创拥有完善的运维体系和人员培养体系,并同时提供超融合、私有云整体服务解决方案、数据安全咨询及运营服务方案等,已为金融、政府、企业、能源等多个行业的客户提供量身定制的各类服务,赢得了客户的高度赞誉和广泛认可。



              文章转载自新运维新数据,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

              评论