You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

调整AWS EC2实例卷大小后无法连接问题求助

问题原因分析
  1. 系统关键配置文件损坏:磁盘满额时,系统无法正常写入/etc/hosts、/etc/hostname这类依赖主机名解析的配置文件,导致sudo命令因无法解析本地主机名报错;重启后系统初始化网络服务时,因配置异常无法完成网络初始化,进而无法通过SSH或控制台连接。
  2. 文件系统损坏:磁盘满状态下执行扩容操作,可能引发文件系统逻辑错误,重启后系统无法正常挂载根分区或启动关键服务。
解决建议

方法一:挂载故障卷到临时实例修复

  1. 停止故障EC2实例(请勿终止,保留根卷)。
  2. 在AWS控制台分离故障实例的根卷。
  3. 使用同区域、同系统版本的正常Ubuntu实例(你已创建的新实例即可),将分离的根卷挂载到该实例的挂载点(例如/mnt/recovery):
    • 创建挂载目录:sudo mkdir /mnt/recovery
    • 挂载卷(根据实际设备名调整,如/dev/xvdf):sudo mount /dev/xvdf1 /mnt/recovery
  4. 修复关键配置文件:
    • 编辑/mnt/recovery/etc/hosts,确保包含主机名解析条目:
      127.0.0.1 localhost
      127.0.1.1 ip-xxx-xx-xx-xx
      
      替换ip-xxx-xx-xx-xx为故障实例的实际主机名。
    • 检查/mnt/recovery/etc/hostname,确保内容为故障实例的主机名,不符则修改。
  5. 修复文件系统:
    • 卸载挂载的卷:sudo umount /mnt/recovery
    • 执行文件系统检查(替换为实际设备名):sudo fsck /dev/xvdf1,按提示修复错误。
  6. 将修复后的根卷重新挂载回故障实例,启动实例后尝试连接。

方法二:使用EC2串行控制台修复(若已开启)

  1. 在AWS控制台打开故障实例的串行控制台。
  2. 尝试通过本地账户登录(若系统未完全崩溃)。
  3. 直接编辑/etc/hosts和/etc/hostname,添加或修正主机名解析条目。
  4. 重启网络服务:sudo systemctl restart systemd-networkd(Ubuntu 18.04+)或sudo service networking restart,之后尝试连接。
注意事项
  • 操作前务必创建根卷的快照,避免数据丢失。
  • 挂载卷时需确认设备名,NVMe实例的根卷通常为/dev/nvme0n1p1,传统实例为/dev/xvda1。

内容的提问来源于stack exchange,提问作者Shaugi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 23:35:10