当Linux实例无法启动时,实例健康诊断工具诊断出实例云盘的inode使用率或者空间使用率过高。此时,您可以通过实例健康诊断工具进行问题修复。
前提条件
- ECS实例已通过实例健康诊断工具诊断出云盘的inode使用率或空间使用率过高的问题。 
- ECS实例资源需要符合以下条件。 - 资源 - 限制条件 - 实例 - 实例为I/O优化实例。 
- 不支持以下实例规格:ecs.ebmc4.8xlarge、ecs.ebmhfg5.2xlarge、ecs.ebmg5.24xlarge。 
 - 云盘 - 云盘状态为使用中(In Use)。 
- 云盘类型为ESSD云盘、SSD云盘或高效云盘。 
- 包年包月ECS实例续费降配后,当前计费周期的剩余时间内,不支持扩容实例的包年包月云盘。 
- 云盘扩容后的容量不能超过云盘最高容量,具体请参见块存储使用限制。 
 重要- 一个已有分区采用了MBR分区格式,则不支持扩容到2 TiB及以上。如果您的MBR分区容量需要扩容到2 TiB以上,建议您先创建一块大于2 TiB的云盘并格式化为GPT分区,再将MBR分区中的数据拷贝到GPT分区中。格式化GPT分区操作,请参见分区格式化大于2 TiB数据盘。 
背景信息
问题描述:Linux实例中云盘的inode使用率或者空间使用率过高,导致实例无法启动。
问题原因:Linux实例的云盘容量不足,您需要对云盘进行扩容。
您可以通过df -Th命令查看云盘的空间使用率,通过df -i命令查看云盘的inode使用率。
您可以通过实例健康诊断工具的修复盘进行扩容云盘,或者通过中转实例进行扩容云盘。具体操作,请参见通过修复盘扩容云盘或通过中转实例扩容云盘。
通过修复盘扩容云盘
您可以在实例健康诊断工具中通过修复盘扩容云盘。
- 在控制台为目标云盘创建快照。具体操作,请参见创建快照。 
- 在控制台扩容目标云盘。具体操作,请参见扩展云盘容量。 
- 远程连接问题实例。当ECS实例处于正在挂载修复盘的模式下时,只能通过VNC远程连接。具体操作,请参见通过VNC连接实例。
- 运行以下命令查看实例的云盘情况。 - fdisk -lu- 在查询结果中找到/dev/vd*(例如/dev/vda、/vdb和/vdc),这些块存储设备为故障实例的云盘。 - 示例以系统盘(/dev/vda1)和数据盘(/dev/vdb1、/dev/vdc1)的三个分区为例,执行结果如下所示。  - 序号 - 分区 - 说明 - ① - /dev/vda1- 系统盘,System取值Linux表示为MBR分区。 - ② - /dev/vdb1- 数据盘,System取值Linux表示为MBR分区。 - ③ - /dev/vdc1- 数据盘,System取值GPT表示为GPT分区。 说明- 如果您的查询结果中云盘容量还是40 GiB( - Disk /dev/vda: 42.9 GB),表示扩容不成功,建议您在控制台重启下本实例。
- 运行以下命令确认已有分区的文件系统类型。 - df -Th 
- 运行以下命令扩容分区。 - growpart /dev/vda 1- 此示例以扩容系统盘为例, - /dev/vda和- 1之间需要空格分隔。如果需要扩容其他分区,请根据实际情况修改命令。执行结果如下所示。 
- 在ECS实例内部,根据查询的文件系统类型,扩容文件系统。 - 扩容ext*(例如ext4)文件系统:运行以下命令扩容文件系统。 - 扩容系统盘/dev/vda1的文件系统。 - resize2fs /dev/vda1- 扩容数据盘/dev/vdb1的文件系统。 - resize2fs /dev/vdb1说明- /dev/vda1和- /dev/vdb1都是分区名称,您需要根据实际情况修改。
- 扩容xfs文件系统:运行以下命令扩容数据盘/dev/vdc1的文件系统。 - xfs_growfs /media/vdc说明- /media/vdc为- /dev/vdc1的挂载点,您需要根据实际情况修改。
- 扩容btrfs文件系统:如果您的数据盘文件系统为btrfs,则需要运行以下命令扩容文件系统。 - btrfs filesystem resize max /mountpoint说明- /mountpoint为数据盘对应的挂载点,您需要根据实际情况修改。
 
- 运行以下命令检查扩容后结果。 - df -Th- 执行结果如下所示。  - 扩容完成后,您需要根据实际情况检查数据是否正常。 - 如果扩容成功,ECS实例中的业务程序能够正常运行,则完成操作。 
- 如果扩容失败,则通过备份的快照回滚数据。 
 
- 修复完成后,退出修复环境,然后检查问题实例的当前状态。 - 在ECS控制台的实例健康诊断页面,卸载修复盘并恢复问题实例至正常模式。 
- 远程连接已修复的ECS实例,检查云盘容量。 
 
通过中转实例扩容云盘
您也可以将问题云盘卸载,然后挂载到中转实例(同地域的其他Linux实例),再进行扩容云盘操作。