AWS EC2 t2-medium实例状态检查失败的根本原因排查咨询
AWS EC2 t2-medium Ubuntu 20.04实例状态检查失败(重启恢复)的根因排查
以下是针对该问题的分步排查流程,聚焦系统、资源、底层平台三个核心维度:
1. 提取系统日志定位直接故障点
- 从EC2控制台获取系统日志和实例输出:进入实例详情页,在「监控」选项卡中点击「获取系统日志」和「获取实例输出」,重点搜索以下关键词:
kernel panic:内核崩溃会直接导致实例状态检查失败Out of memory: Killed process:OOM杀手触发,可能杀死sshd、systemd等核心进程failed to mount:存储卷挂载失败,导致系统无法完成初始化sshd: error:SSH守护进程启动失败的具体原因
- 离线分析根卷日志:若无法通过控制台获取完整日志,停止实例(注意t2实例临时存储数据会丢失),分离根卷并挂载到另一台正常Ubuntu 20.04实例,查看以下日志文件:
/var/log/syslog:系统核心日志/var/log/kern.log:内核相关事件/var/log/auth.log:SSH及认证相关日志
2. 排查内存资源耗尽问题(t2-medium为4GB内存)
- 确认OOM触发记录:如果系统日志存在OOM相关条目,定位被杀死的进程,判断是否为内存泄漏或突发高负载导致。
- 重启后监控内存趋势:使用以下命令跟踪内存使用:
free -h:实时查看内存/swap占用htop:可视化监控进程内存占比ps aux --sort=-%mem:按内存占用排序进程vmstat 5:每5秒输出一次内存、CPU、IO状态,判断是否存在内存持续增长的泄漏情况
3. 排查AWS底层平台异常
- 查看AWS Health Dashboard:检查账户内的服务健康状态,确认故障时间段是否存在对应可用区(AZ)的硬件故障、维护事件或网络中断。t2实例采用共享宿主机模式,底层宿主机故障会导致实例无法正常运行,重启后会迁移至健康宿主机。
- 检查实例事件历史:在EC2控制台实例详情页的「事件历史」中,查看故障时段是否有
instance-reboot、system-maintenance、hardware-failure等系统级事件。
4. 排查存储相关问题
- 检查磁盘空间:挂载根卷后执行
df -h,确认根卷是否被占满(如日志文件、应用缓存堆积),磁盘满会导致系统无法写入日志、启动服务。 - 检查文件系统完整性:执行
fsck /dev/xvda1(根据实际卷设备名调整),排查异常关机导致的文件系统损坏,重启时系统可能自动修复,但需确认是否存在持续性损坏。
5. 排查应用与开机进程异常
- 检查开机自启服务:执行
systemctl list-unit-files --state=enabled,排查是否存在异常自启进程(如第三方应用、自定义脚本),这类进程可能在启动时占用过多资源、死锁,导致系统初始化失败。 - 检查定时任务:查看
crontab -l及/etc/cron.d/目录下的定时任务,确认故障发生时间是否有资源密集型任务执行(如备份、数据清理),这类任务可能导致系统负载突增。
内容的提问来源于stack exchange,提问作者Rajesh B.
相关产品推荐
相关产品推荐

