tencent cloud

文档反馈

扩展 GPT 分区及文件系统(大于2TB)

最后更新时间:2022-06-10 11:51:12

    操作场景

    当您的云硬盘在已有 GPT 分区并已创建文件系统的情况下,可根据实际情况,通过以下两种方式扩展分区及文件系统:

    前提条件

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

    • 已确认扩容分区格式,详情请参考 确认扩展方式
    • 文件系统是 EXT 或 XFS。
    • 当前文件系统不能有错误。

    操作步骤

    将扩容部分的容量划分至原有 GPT 分区

    1. 以 root 用户执行以下命令,确认云硬盘的容量变化。
      parted <磁盘路径> print
      

    本文以磁盘路径以 /dev/vdc 为例,则执行:

    parted /dev/vdc print
    

    若在过程中提示如下图所示信息,请输入 Fix。如下图所示:

    扩容后的云硬盘大小为2040GB,已有分区的大小为10.7GB。如下图所示:

    2. 执行以下命令,查看该云硬盘是否有已挂载分区。

    mount | grep '<磁盘路径>' 
    

    本文以磁盘路径以 /dev/vdc 为例,则执行:

    mount | grep '/dev/vdc'
    
    • 返回结果如下,则说明云硬盘上有一个分区(vdc1)挂载在 /data 上。

      执行以下命令,将云硬盘上的所有分区都解挂。
      umount <挂载点>
      

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

    umount /data
    
    • 返回结果如下所示,则无已挂载分区,请执行下一步。
    1. 执行以下命令,进入 parted 分区工具。
      parted '<磁盘路径>'
      

    本文以磁盘路径以 /dev/vdc 为例,则执行:

    parted '/dev/vdc'
    
    1. 执行以下命令,将显示和操纵单位变成 sector(默认为GB)。

      unit s
      
    2. 执行以下命令,查看分区信息,并记录已有分区的 Start 值。

      print
      
    注意:

    请务必记录 Start 值。删除分区并新建后,Start 值必须保持不变,否则将会引起数据丢失。


    6. 执行以下命令,删除原有分区。

    rm <分区 Number>
    

    由上图可知云硬盘上有一个分区,Number 为“1”,则执行:

    rm 1
    
    1. 执行以下命令,确定分区已删除,回显信息如下图所示。
      print
      

    注意:

    如果误删分区,可立即执行 rescue 命令,并根据提示输入 Start、End 值确认恢复分区。

    1. 执行以下命令,新建一个主分区。
      mkpart primary <原分区起始扇区> 100%
      

    100%表示此分区到磁盘的最末尾,且由 步骤5 可得 Start 值,请根据您的实际情况填写。本文中原分区删除前扇区由2048s开始,则 Start 值为2048,执行:

    mkpart primary 2048s 100%
    

    如果出现如下图所示的状态,请输入Ignore

    9. 执行以下命令,查看新分区是否已创建成功。

    print
    

    返回结果如下图所示,即表示新分区已创建成功。

    10. 执行以下命令,退出 parted 工具。

    quit
    
    1. 执行以下命令,检查扩容后的分区。
      e2fsck -f <分区路径>
      

    本文以新建分区是1(即分区路径是/dev/vdc1)为例,则执行:

    e2fsck -f /dev/vdc1
    

    返回如下图所示结果:

    12. 请根据您的实际情况,对新建分区上的文件系统进行扩容操作。

    • EXT 文件系统执行以下命令:
      resize2fs <分区路径>
      

    本文以分区路径以 /dev/vdc1 为例,则执行:

    resize2fs /dev/vdc1
    

    扩容成功则如下图所示:

    • XFS 文件系统执行以下命令:
      xfs_growfs <分区路径>
      

    本文以分区路径是/dev/vdc1为例,则执行:

    xfs_growfs /dev/vdc1
    
    1. 执行以下命令,手动挂载新分区。
      mount <分区路径> <挂载点>
      

    本文以分区路径以/dev/vdc1,挂载点 /data 为例,则执行:

    mount /dev/vdc1 /data
    
    1. 执行以下命令,查看新分区。
      df -h
      

    返回如下图信息说明挂载成功,即可以查看到数据盘。

    将扩容部分的容量格式化成独立的 GPT 分区

    1. 以 root 用户执行以下命令, 确认云硬盘的容量变化。
      parted <磁盘路径> print
      

    本文以磁盘路径是/dev/vdc为例,则执行:

    parted /dev/vdc print
    

    若在过程中提示如下图所示信息,请输入 Fix

    扩容后的云硬盘大小为2147GB,已有分区的大小为2040GB。如下图所示:

    2. 执行以下命令,查看该云硬盘是否有已挂载分区。

    mount | grep '<磁盘路径>' 
    

    本文以磁盘路径以 /dev/vdc 为例,则执行:

    mount | grep '/dev/vdc'
    
    • 返回结果如下,则说明云硬盘上有一个分区(vdc1)挂载在 /data 上。

      执行以下命令,将云硬盘上的所有分区都解挂。
      umount <挂载点>
      

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

    umount /data
    
    • 返回结果如下所示,则无已挂载分区,请执行下一步。
    1. 执行以下命令,进入 parted 分区工具。
      parted '<磁盘路径>'
      

    本文以磁盘路径以 /dev/vdc 为例,则执行:

    parted '/dev/vdc'
    
    1. 执行以下命令,查看分区信息,并记录已有分区的 End 值,以此值作为下一个分区的起始偏移值。
      print
      


    5. 执行以下命令,新建一个主分区。此分区将从已有分区的末尾开始,覆盖硬盘所有的新增空间。

    mkpart primary start end
    

    步骤4 可得 End 值,请您根据实际情况填写。本文中 End 值为2040GB, 则执行:

    mkpart primary 2040GB 100%
    
    1. 执行以下命令,查看新分区是否已创建成功。
      print
      

    输出结果如下,则已成功新建分区:

    7. 执行以下命令,退出 parted 工具。

    quit
    
    1. 执行以下命令,格式化新建的分区。您可以自行选择文件系统的格式,例如 EXT2、EXT3 等。
      mkfs.<fstype> <分区路径> 
      

    本文以 EXT4 为例,则执行:

    mkfs.ext4 /dev/vdc2
    
    1. 执行以下命令,手动挂载新分区。
      mount <分区路径> <挂载点>
      

    本文以分区路径以 /dev/vdc2,挂载点 /data 为例,则执行:

    mount /dev/vdc2 /data
    
    1. 执行以下命令,查看新分区。
      df -h
      

    返回如下图信息说明挂载成功,即可以查看到数据盘。

    相关文档

    扩展分区及文件系统(Windows)

    常见问题

    如果您在使用云硬盘过程中遇到问题,可参考以下文档并结合实际情况分析并解决问题:

    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持