Alibaba Cloud Linux 2系统的ECS实例系统盘自动扩容失败

Alibaba Cloud Linux 2系统的ECS实例系统盘自动扩容失败

更新时间:2020-09-14 10:07:23

问题描述

符合如下条件的Alibaba Cloud Linux 2实例在系统盘配置不为默认值20GB时,扩容磁盘失败,系统显示系统盘大小仍然为默认值20GB。

  • 镜像:aliyun_2_1903_x64_20G_alibase_20200114.qboot.vhd镜像(以下简称qboot镜像)。
  • 内核:4.19.81-17.al7.x86_64内核版本。

例如系统盘配置为300GB,扩容vda1分区至非20GB后,还是显示20GB,如下图所示:

查看对应的/var/log/cloud-init.log日志,发现磁盘resize失败。

问题原因

该问题的原因是由于qboot镜像启动优化去除了initramfs过程,导致实例启动后出现以下情况:

  1. /proc/mounts/根目录的挂载设备为/dev/root
  2. 但是系统没有正确创建软链接/dev/root

因此在实例启动过程中,cloud-init应用无法正确识别系统根分区信息,导致扩容失败。

解决方案

阿里云提醒您:

  • 如果您对实例或数据有修改、变更等风险操作,务必注意实例的容灾、容错能力,确保数据安全。
  • 如果您对实例(包括但不限于ECS、RDS)等进行配置与数据修改,建议提前创建快照或开启RDS日志备份等功能。
  • 如果您在阿里云平台授权或者提交过登录账号、密码等安全信息,建议您及时修改。

临时解决方法

参考以下步骤,扩容磁盘容量:

  1. 执行以下命令,对系统盘第一个分区进行扩容。
    growpart /dev/vda 1
  2. 执行以下命令,扩容系统盘的/dev/vda1分区文件系统。
    resize2fs /dev/vda1
    说明:以上命令是扩容EXT4格式的文件系统。如果您使用的是XFS文件系统,可以执行xfs_growfs /dev/vda1命令扩容文件系统。

固化解决方案

该问题在aliyun_2_1903_x64_20G_qboot_alibase_20200904.vhd版本的qboot镜像中已修复,您使用新镜像即可。

适用于

  • 云服务器ECS

如果您的问题仍未解决,您可以在阿里云社区免费咨询,或提交工单联系阿里云技术支持。