阿里云ECS磁盘扩容操作手册

时间:2024-03-07 12:43:43

云原生专栏大纲

文章目录

      • ESC磁盘扩容步骤
        • 前提条件
        • 云盘备份
        • 云盘扩容
        • 扩容分区和文件系统
          • 前提条件
          • 操作视频
          • 操作步骤
            • 准备工作:获取目标云盘信息
            • 步骤1:扩容分区
            • 步骤2:扩容文件系统

ESC磁盘扩容步骤

扩容已有云盘的操作步骤和注意事项_云服务器 ECS-阿里云帮助中心
如何为Linux和Windows实例的云盘容量在线扩容_云服务器 ECS-阿里云帮助中心

前提条件
  • 请确保实例满足以下条件:
    • 在线扩容时,实例状态为运行中(Running)。
    • 说明 部分早期实例规格不支持在线扩容。更多信息,请参见常见问题
    • 离线扩容时,实例状态为运行中(Running)或已停止(Stopped)。
  • 请确保云盘满足以下条件:
    • 云盘状态为使用中(In Use)或者待挂载(Unattached)。云盘扩容后需要您到操作系统内进行分区扩容和文件系统扩容,待挂载状态的云盘需先挂载到实例。
    • 云盘类型为ESSD AutoPL云盘、ESSD云盘、SSD云盘或高效云盘。


云盘为使用中、类型为ESSD,满足前提条件

云盘备份
  1. **可选:**为云盘创建快照,做好数据备份。具体操作,请参见创建一个云盘快照


  1. 说明 使用快照会产生计费。更多信息,请参见快照计费

  1. 查看快照云盘

阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台

云盘扩容
  1. 前往ECS实例详情页面的云盘页签。
    1. 登录ECS管理控制台
    2. 在左侧导航栏,选择实例与镜像 > 实例
    3. 在顶部菜单栏处,选择目标ECS实例所在地域。
    4. 找到待扩容云盘所在的实例,单击实例ID。
    5. 实例详情页面,单击云盘页签。
  2. 找到待扩容的目标云盘,在操作列选择
  3. ** > 扩容**。



等待快照备份完成后在进行扩容

  1. 如果需要批量扩容多个云盘,请使用阿里云账号在存储与快照 > 云盘页面选择多个云盘后,单击底部的扩容
  2. 说明
    1. 只有阿里云账号可以执行批量扩容,RAM用户无权限操作。如果需要实现批量扩容,请使用阿里云账号登录ECS管理控制台
    2. 挂载在同一ECS实例下的云盘不支持批量扩容。
  3. 确定目标云盘与须知向导页面,单击已知晓并备份,继续扩容
  4. 配置扩容方式与容量向导页面,设置扩容参数。

  1. 设置扩容后容量,扩容后容量不允许小于当前容量。
    1. 选择一种扩容方式。
      1. 在线扩容:是默认推荐的扩容方式,扩容后无需重启实例即可生效。
      2. 离线扩容:扩容后,需要通过ECS控制台或者OpenAPI重启实例才能生效。
    2. 说明
      1. 离线扩容需要重启实例才能生效,如果您的业务不允许重启实例,请选择在线扩容。
      2. 当您的实例处于停止状态或部分早期实例规格不支持在线扩容时,请选择离线扩容。不支持在线扩容的实例规格请参见常见问题
      3. 重启实例必须通过ECS控制台或者OpenAPI重启才能生效,在ECS实例内部重启(执行reboot命令)无效。具体操作,请参见重启实例或者RebootInstance
    3. 阅读并选中我已阅读并同意《云服务器ECS服务协议》
    4. 确认费用后单击确定扩容
    5. 支付新增容量部分的费用。

  1. 验证云盘是否扩容成功

阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台

  1. 确认扩容结果向导页面,待扩容结果列显示为成功时,继续单击下一步,扩容分区和文件系统
  2. 可选:该步骤仅适用于离线扩容。在扩容分区和文件系统向导页面,单击立即重启实例,重启云盘所挂载的ECS实例使扩容生效。
  3. 查看云盘的分区信息并根据实际情况选择一种方式扩容分区和文件系统。
    1. 文档自助:需远程连接ECS实例,进入操作系统内部通过命令行方式,实现分区和文件系统的扩容。
    2. 具体操作,请参见扩容分区和文件系统(Linux)或者扩容分区和文件系统(Windows)
    3. 云助手工具:无需进入ECS实例内部,直接在控制台通过云助手工具对实例发送远程命令,实现分区和文件系统的扩容。
    4. 重要 使用云助手功能时,注意以下限制项:
      • 该功能仅支持部分用户使用,支持情况以实际界面为准。
      • 只有部分操作系统支持运行云助手命令。更多信息,请参见云助手概述
      • 通过云助手工具在控制台扩容分区和文件系统时,需先在ECS实例上安装云助手。具体操作,请参见安装云助手Agent
    5. 直接单击执行上述远程命令,然后在发送命令对话框中单击执行,系统将自动执行扩容命令。
  4. 说明 如果您使用LVM管理磁盘分区,在控制台完成扩容操作后,需要通过LVM扩容分区和文件系统。具体操作,请参见通过LVM扩容逻辑卷
扩容分区和文件系统

前提条件
  • 确保Linux实例的操作系统是Alibaba Cloud Linux 2/3、CentOS 6及以上、Debian 8及以上或者Ubuntu14及以上版本。

**说明 **如果为其他操作系统,扩容操作请参见扩展分区和文件系统_Linux数据盘

  • 已在ECS控制台扩容云盘容量。具体操作,请参见步骤一:扩容云盘容量
  • **(强烈建议)**已创建云盘快照,做好数据备份。具体操作,请参见创建一个云盘快照

**说明 **扩容分区和文件系统正常情况不会丢失数据。为避免误操作导致数据丢失或异常,建议您创建快照备份云盘数据。

  • 本文档不适用于开启了多重挂载功能且使用了集群文件系统的场景。更多信息,请参见开启多重挂载功能

查看实例信息:
操作系统 Alibaba Cloud Linux 3.2104 LTS 64位 满足前提条件

操作视频

清冽建议观看完在操作










确认是否扩容成功

操作步骤

本文操作适用于以下云盘扩容场景:

  • Linux实例云盘,已分区,将扩容部分的容量划分至已有分区:需扩容分区和文件系统。
  • **说明 **
  • 如果您希望新增分区而不是扩容已有分区,请参见扩展分区和文件系统_Linux数据盘
  • Linux实例云盘,未分区(裸设备):无需执行步骤1:扩容分区,直接执行步骤2:扩容文件系统

在文档末尾分别以扩容MBR分区、GPT分区、裸数据盘为例,为您展示了扩容分区和文件系统的命令示例,供您参考。

准备工作:获取目标云盘信息

执行扩容分区和文件操作系统前,请先获取待扩容云盘和云盘分区信息。

  1. 远程连接ECS实例。
  2. 具体操作,请参见通过密码或密钥认证登录Linux实例
  3. 运行以下命令,确认待扩容云盘及其分区信息。
    | Plain Textfdisk -lu |
    | — |

  1. 如图所示,表示该实例有2块云盘,系统盘/dev/vda和数据盘/dev/vdb,我们以数据盘/dev/vdb为例。其中:
    1. ①:云盘的设备名称。
    2. ②:云盘是否分区及分区名称。
      • 已分区:如果有②处的分区信息表示已分区,Device取值为分区名称(示例中为/dev/vdb1),数字1是分区编号,则需扩容分区和文件系统。
      • 未分区(裸设备):如果没有②处的分区信息表示未分区,为裸设备。则无需执行步骤1:扩容分区,直接执行步骤2:扩容文件系统即可。
    3. ③:云盘的分区类型。
    4. Disk label type值为dos表示MBR分区,值为gpt表示GPT分区。
  • 说明
    • 不同操作系统的显示略有不同。如果没有Disk label type字段,可通过System字段判断。System值为Linux表示MBR分区,值为GPT表示GPT分区。
    • 较低版本的fdisk可能不能正常显示GPT分区表。您可以通过gdisk -l /dev/vdb命令查看分区类型。
    • ④:确认待扩容的分区。
    • 由于容量= sectors值*512 bytes,图示例中:
      • 云盘/dev/vdb的sectors=125829120,则云盘容量=125829120*512bytes=64.4GB(等于60GiB)
      • 分区/dev/vdb1的sectors=(End-Start)=83886078,则分区容量= 83886078*512bytes=42.9GB(等于40GiB)
    • 根据计算得出/dev/vdb1分区的容量小于云盘/dev/vdb的容量,即/dev/vdb1分区需要扩容。
    • **说明 **
    • 您也可以通过运行lsblk命令查看哪个分区待扩容。


步骤1:扩容分区

本操作以公共镜像Alibaba Cloud Linux 2.1903 LTS 64位操作系统、在ECS实例内部将云盘分区/dev/vdb1由40 GiB扩容至60 GiB(已在控制台扩大容量为60 GiB)为例,请您根据实际环境进行操作。

  1. **可选:**根据准备工作获取的信息,如果您的云盘分区类型为MBR且在控制台扩容后容量大于2 TiB,需先转换分区为GPT分区。
  2. 具体操作,请参见转换Linux数据盘的分区类型
  3. 运行以下命令,扩容指定分区。例如扩容分区名称为/dev/vdb1的分区,则执行如下命令。
  4. **说明 **
  5. 命令参数中的/dev/vdb和1之间需要空格分隔,1是分区编号。
  6. Alibaba Cloud Linux 2/3版本、CentOS 6及以上版本
  7. Debian 8及以上版本、Ubuntu14及以上
    1. MBR分区
type growpart || yum install -y cloud-utils-growpart
# 注意这儿修改为扩容那个分区
LC_ALL=en_US.UTF-8 growpart /dev/vda 1LC_ALL=en_US.UTF-8 growpart /dev/vdb 1 

如下图所示,输出CHANGED字样时,表示分区扩容成功。

  • 验证扩容


可以看到vda1已经从40G扩容为100G了

  • GPT分区(需安装gdisk工具)
    | Plain Text |
    | — |
type growpart || yum install -y cloud-utils-growparttype sgdisk || yum install -y 
gdiskLC_ALL=en_US.UTF-8 
growpart /dev/vdb 1 

步骤2:扩容文件系统
  1. 运行以下命令,获取需要扩容的文件系统的类型和挂载目录。
df -Th
  1. Type值为文件系统类型,Mounted on值为分区的挂载目录。如下图表示/dev/vda1分区的文件系统类型为ext4,挂载目录为**/**。


如果Filesystem取值后缀不带数字(例如/dev/vdc),则为裸设备。

  1. 扩容文件系统。

扩容命令因文件系统类型而异,请您根据上一步中查询到的文件系统类型选择以下命令。
**说明 **
云盘和文件系统正在被使用的状态下,采用resize2fs等工具在线扩容文件系统,有可能会触发文件系统数据问题,该问题与镜像内核版本、resize2fs工具版本相关,与云盘扩容本身无关。建议您为云盘创建快照,做好数据备份。具体操作,请参见创建一个云盘快照
ext*(例如ext2、ext3、ext4)文件系统

  • 以扩容云盘分区/dev/vda1的ext*文件系统为例,则运行如下命令:
resize2fs /dev/vda1
resize2fs /dev/vdb1
  • 以扩容裸设备/dev/vdc的ext*文件系统为例,则运行如下命令:
resize2fs /dev/vdc
  1. 运行以下命令,确认是否扩容成功。
df -Th
  1. 当查询结果中的文件系统容量和控制台容量一致时,表示扩容成功。
  2. 如下图所示,分区/dev/vdb1文件系统容量(59 GiB)和云盘容量(60 GiB)基本一致(因为文件系统本身会占用部分存储空间),表示扩容完成。

  1. 扩容完成后,您需要根据实际情况检查云盘数据是否正常。
    1. 如果扩容成功,ECS实例中的业务程序能够正常运行,则完成操作。
    2. 如果扩容失败,您可以通过备份的快照回滚数据。具体操作,请参见使用快照回滚云盘

离线扩容分区和文件系统(Linux数据盘)