在线扩容云硬盘(Linux)

最近更新时间:2021-08-26 15:12:55

查看PDF

云硬盘(系统盘或数据盘)使用空间无法满足业务需求时,您可以扩容云硬盘的存储容量。本文介绍在无需停止实例运行状态的情况下为Linux操作系统进行云硬盘扩容操作。

操作场景

云硬盘是可扩展的存储设备,用户可以在创建云硬盘后随时扩展其大小,以增加存储空间,同时不失去云硬盘上原有的数据。
要达到扩容并使用扩容空间的目的,在控制台完成云硬盘扩容操作后,需要扩展分区及文件系统(Linux)将扩容部分的容量划分至已有分区内,或者将扩容部分的容量格式化成独立的新分区,然后扩展其上的文件系统以识别新的可用空间。

注意:
MBR分区支持的磁盘最大容量为2TB,超过2TB的部分无法使用。如果您的硬盘分区为 MBR 格式,且需要扩容到超过2TB时,建议您重新创建并挂载一块新的数据盘,然后使用 GPT 分区方式后将数据拷贝至新盘中。

前提条件

在Linux实例使用在线扩容云盘前,需要满足以下条件。

云产品 限制条件
云服务器实例 1. 实例处于“运行中”状态时,可进行在线扩容。
2. 支持所有的云服务器类型,包括GPU机型。
3. 在线扩容期间,不可进行改变实例状态的操作,如重启、关机、立即删除。
4. 所有支持挂载SSD3.0以及EHDD的机型,可进行在线扩容操作。
5. 实例使用的公共镜像或自定义镜像需要支持在线扩容功能,具体支持镜像请参见下表。
云硬盘 1. 云硬盘状态为“使用中”时,可进行在线扩容。
2. 云盘类型支持SSD3.0以及EHDD。
3.扩容新值必须大于现有云硬盘容量,且不能超过所用磁盘类型最高容量上限,具体限制参见云硬盘扩容概述

支持在线扩容的操作系统
支持在线扩容的Linux公共镜像(或基于公共镜像制作的自定义镜像)包括:

操作系统
版本
CentOS 7 7.X 64bit版本
CentOS 8 8.X 64bit版本
Debian 9 9.6 64bit版本
Debian 10 10.6 64bit版本
Ubuntu Server 14 14.04 64bit版本
Ubuntu Server 16 16.04 64bit版本
Ubuntu Server 18 18.04 64bit版本
Ubuntu Server 20 20.04 64bit版本
Fedora 20 64bit版本

注意:
如果您的服务器实例不符合在线扩容条件,您可以使用离线扩容云硬盘功能,可参考 离线扩容云硬盘(Linux)

操作环境

资源
说明
操作系统 CentOS 8.2 64bit
系统盘 /dev/vda:使用MBR分区和ext4文件系统,由50GB扩容到70GB
数据盘 /dev/vdb:使用MBR分区和ext4文件系统,由50GB扩容到100GB
/dev/vdc:使用GPT分区和xfs文件系统,由50GB扩容到150GB

步骤一:创建快照

注意: 为防止操作失误导致数据丢失,在进行云硬盘扩容操作前,请为云硬盘创建快照,做好数据备份。

  1. 登录云硬盘控制台
  2. 在左侧导航栏,选择云硬盘页签。
  3. 在菜单栏左上角,选择地域
  4. 找到需要扩容的云硬盘,在操作列单击创建快照
  5. 在弹出的对话框中,选择快照类型,输入快照名称信息以及相关描述信息,单击确定
  6. 单击快照列表页签,查看已创建的快照。
    当快照的进度为100%,状态转为可用时,表示快照创建完成,您可以执行后续操作。

步骤二:控制台扩容云硬盘容量

  1. 登录云硬盘控制台
  2. 选择需要扩容的云硬盘,在操作列单击更多>扩容
  3. 扩容页面,阅读云硬盘扩容须知后,勾选在线扩容,并设置扩容后容量
    设置的扩容后容量不允许小于当前容量。
  4. 确认订单页面,单击提交订单,完成支付。

注意:
1. 符合在线扩容的云硬盘,如果您未勾选在线扩容选项,则会默认采用离线扩容方式。
2. 控制台上完成云硬盘容量扩容后,您还不能直接使用已扩容的容量,需登录KEC实例操作系统内,进行扩容分区和文件系统操作。

步骤三:查看云硬盘分区信息

  1. 登录云服务器,详情请参见连接实例
  2. 执行以下命令,查询实例中云硬盘的分区信息。
    fdisk -l
    

返回结果如下图所示:
image.png
可从图中获取以下信息:

云硬盘信息 分区信息 分区说明
/dev/vda,系统盘,云硬盘容量为70GB /dev/vda1 MBR分区,分区容量为50GB
/dev/vdb,数据盘,云硬盘容量为100GB /dev/vdb1 MBR分区,分区容量为50GB
/dev/vdc,数据盘,云硬盘容量为150GB /dev/vdc1 GPT分区,分区容量为50GB

说明:
如果您的查询结果中云硬盘容量还是50GB(非扩容后的容量),则表示扩容不成功,建议您在控制台重启该KEC实例。

  1. 执行以下命令,查询实例中云硬盘的分区信息。
    df -Th
    

返回结果如下图所示:
image.png
可从图中获取以下信息:

分区信息 文件系统类型 挂载点
/dev/vda1 ext3 已挂载至/
/dev/vdb1 ext4 已挂载至/mnt/data_disk01
/dev/vdc1 xfs 已挂载至/mnt/data_disk02

步骤四:扩容分区

  1. 根据实际情况执行命令,安装 gdisk 工具。
    若分区类型为 MBR,则请跳过此步骤。
    若分区类型为 GPT,则请对应云服务器操作系统类型,执行以下命令安装工具。
    • CentOS操作系统运行以下命令
      yum install gdisk -y
      
    • Ubuntu 或 Debian操作系统运行以下命令
      apt-get install gdisk -y
      
  2. 安装 growpart 工具,对应云服务器操作系统类型,执行以下命令安装工具。
    • CentOS操作系统运行以下命令
      yum install -y cloud-utils-growpart
      
    • Ubuntu 或 Debian操作系统运行以下命令
      apt-get install -y cloud-guest-utils
      
  3. 执行以下命令,使用growpart工具扩容分区。
    growpart /dev/vdb 1
    
    本文以扩容数据盘 /dev/vdb1 分区为例,/dev/vdb和1之间需要空格分隔。如果需要扩容其他分区,请根据实际情况修改命令。执行结果如下所示。
    image.png

步骤五:扩容文件系统

  1. 在实例操作系统内,根据查询到的文件系统类型,执行对应命令扩容文件系统。

    • 扩容ext*(例如ext4)文件系统,执行以下命令。

      扩容系统盘/dev/vda1的文件系统

      resize2fs /dev/vda1
      

      扩容数据盘/dev/vdb1的文件系统

      resize2fs /dev/vdb1
      

      返回结果如下图所示:
      image.png
      image.png

      说明:/dev/vda1/dev/vdb1均为分区名称,请您根据实际情况修改。

    • 扩容xfs文件系统,执行以下命令。

      xfs_growfs /mnt/data_disk02
      

      返回结果如下图所示:
      image.png

      说明:/mnt/data_disk02/dev/vdc1的挂载点,请您根据实际情况修改。

  2. 执行以下命令,检查扩容结果。

    df -Th
    

    返回结果如下图所示:
    image.png
    则表示已扩容完成,请您根据实际情况检查数据是否正常。

    • 如果扩容成功,KEC实例中的业务程序可持续正常运行。
    • 如果扩容失败,需通过备份的快照回滚数据。

文档内容是否对您有帮助?

根本没帮助
文档较差
文档一般
文档不错
文档很好

在文档使用中是否遇到以下问题

内容不全,不深入
内容更新不及时
描述不清晰,比较混乱
系统或功能太复杂,缺乏足够的引导
内容冗长

更多建议

0/200

评价建议不能为空

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

问题反馈