离线扩容云硬盘(Linux)

最近更新时间:2021-07-21 17:51:58

查看PDF

云硬盘(系统盘或数据盘)使用空间无法满足业务需求时,您可以扩容云硬盘的存储容量。若您的KEC实例不支持在线扩容,您可通过离线扩容的方式对Linux实例进行扩容操作。离线扩容云硬盘需要重启KEC实例,您的业务会短暂中断,建议在业务空闲时进行操作。本文介绍对Linux操作系统中云硬盘进行离线扩容的操作。

操作场景

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

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

前提条件

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

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

操作环境

资源
说明
操作系统 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%,状态转为可用时,表示快照创建完成,您可以执行后续操作。

步骤二:控制台扩容云硬盘容量并重启(或启动)KEC实例

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

说明:
1. 完成扩容操作后,若实例状态为“运行中”则需要在控制台重启实例;若实例状态为“已关闭”则需要在控制台启动实例;必须经过控制台重启或者调用API重启实例后,才可以看到扩展的云硬盘容量。
2. 处于“待挂载”状态的数据盘,在控制台可直接进行离线扩容操作,完成扩容后,挂载到KEC实例上,即可识别扩展后的云硬盘容量。
3. 控制台上完成云硬盘容量扩容后,您还不能直接使用已扩容的容量,需登录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
      
    • Debian 9及以上版本、Ubuntu14及以上版本操作系统运行以下命令
      apt-get install -y cloud-guest-utils
      
    • Debian 8.2版本操作系统运行以下命令
      apt-get install -y cloud-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

      说明:
      1./dev/vda1/dev/vdb1均为分区名称,请您根据实际情况修改。
      2.若执行扩容文件系统命令时,有如下提示:
      resize2fs 1.42.12 (29-Aug-2014)
      Please run 'e2fsck -f /dev/vdb1' first.
      请先执行e2fsck -f /dev/vdb1命令,进行文件系统检查操作。

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

      xfs_growfs /mnt/data_disk02
      

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

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

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

    df -Th
    

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

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

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

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

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

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

更多建议

0/200

评价建议不能为空

提交成功!

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

问题反馈