将扩容部分的容量划分至原有分区(MBR)

发布于 2021-01-05  745 次阅读


https://cloud.tencent.com/document/product/362/6738?from=10680#AddToTheExistingMBRPart

磁盘分为GPT与MBR

 

将扩容部分的容量划分至原有分区(MBR)

fdisk/e2fsck/resize2fs 自动扩容工具适用于 Linux 操作系统,用于将新扩容的云硬盘空间添加到已有的文件系统中,扩容能够成功必须满足以下四个条件:

  • 文件系统是 EXT2/EXT3/EXT4/XFS。
  • 当前文件系统不能有错误。
  • 扩容后的磁盘大小不超过2TB。
  • 当前工具仅支持 Python 2 版本,不支持 Python 3 版本。
  1. 以 root 用户执行以下命令,卸载分区。
    umount <挂载点>

    本文以挂载点是/data为例,则执行:

    umount /data

  2. 执行以下命令,下载工具。
    中国大陆地区推荐使用:

    wget -O /tmp/devresize.py https://tencentcloud.coding.net/p/tencentcloud/d/tencentcloud-cbs-tools/git/raw/master/devresize/devresize.py

    境外地区推荐使用:

    wget -O /tmp/devresize.py https://raw.githubusercontent.com/tencentyun/tencentcloud-cbs-tools/master/devresize/devresize.py
  3. 执行以下命令,使用扩容工具进行扩容。
    python /tmp/devresize.py <硬盘路径>

    本文以硬盘路径是/dev/vdb且文件系统在 vdb1 上为例,则执行:

    python /tmp/devresize.py /dev/vdb

    • 若输出 “The filesystem on /dev/vdb1 is now XXXXX blocks long.” 则表示扩容成功,请执行 步骤4
    • 若输出的是 “[ERROR] - e2fsck failed!!”,请执行以下步骤:
      a. 执行以下命令,修复文件系统所在分区。

      fsck -a <分区路径>

      本文以硬盘路径是/dev/vdb且文件系统在 vdb1 上为例,则执行:

      fsck -a /dev/vdb1

      b. 修复成功后,再次执行以下命令,使用扩容工具进行扩容。

      python /tmp/devresize.py /dev/vdb
  1. 执行以下命令,手动挂载扩容后的分区。
    mount <分区路径> <挂载点>

    本文以挂载点是/data为例。

    • 若扩容前已有分区且以分区路径是/dev/vdb1为例,则执行:
      mount /dev/vdb1 /data
    • 若扩容前没有分区,则执行:
      mount /dev/vdb /data
  2. 执行以下命令,查看扩容后的分区容量。
    df -h

    若返回类似如下图所示的信息,说明挂载成功,即可以查看到数据盘:

执行以下命令,查看扩容后原分区的数据信息,确认新增加的存储空间是否扩容到文件系统中。

ll /data