AWS Auto Scaling 测试失败实例
Posted
技术标签:
【中文标题】AWS Auto Scaling 测试失败实例【英文标题】:AWS auto scaling test failed instance 【发布时间】:2014-01-06 22:14:38 【问题描述】:我有一个自动缩放 cloudformation,我想我已经设置它来替换基于 StatusCheckFailed_Instance
的失败实例。我想测试一下。我可以通过终止其中一个 EC2 实例来测试吗?谢谢!
【问题讨论】:
【参考方案1】:实例状态检查可能由于以下原因之一失败:
内存错误
内存不足:杀死进程 错误:mmu_update 失败(内存管理更新失败)设备错误
I/O 错误(块设备故障) IO 错误:既不是本地磁盘也不是远程磁盘(分布式块设备损坏)内核错误
request_module: runaway loop modprobe(在旧 Linux 版本上循环遗留内核 modprobe) “致命:内核太旧”和“fsck:尝试打开 /dev 时没有此类文件或目录”(内核和 AMI 不匹配) “致命:无法加载 /lib/modules”或“BusyBox”(缺少内核模块) 错误内核无效(EC2 不兼容内核)文件系统错误
request_module: runaway loop modprobe(在旧 Linux 版本上循环遗留内核 modprobe) fsck:尝试打开时没有这样的文件或目录...(找不到文件系统) 挂载文件系统的一般错误(挂载失败) VFS:无法在未知块上挂载根 fs(根文件系统不匹配) 错误:无法确定根设备的主要/次要编号...(根文件系统/设备不匹配) XENBUS:没有驱动程序的设备... ...天数未检查,强制检查(需要文件系统检查) fsck 因退出状态而死...(缺少设备)操作系统错误
GRUB 提示符 (grubdom>) 启动接口 eth0:设备 eth0 的 MAC 地址与预期不同,忽略。 (硬编码 MAC 地址) 无法加载 SELinux 策略。机器处于强制执行模式。现在暂停。 (SELinux 配置错误) XENBUS:连接设备超时(Xenbus 超时)在我看来,#1 是最容易实现按需失败的。您可以添加 web 挂钩或启动一个延迟的 shell 脚本来启动一些会导致 OutOfMemory 失败的进程,以确认您的自动缩放配置按配置工作。
终止实例无助于测试您的配置,因为当您正常终止实例时,它会从可用实例池中删除,并且不会执行检查。
关于状态检查的更多细节可以在这里找到:Troubleshooting Instances with Failed Status Checks
【讨论】:
以上是关于AWS Auto Scaling 测试失败实例的主要内容,如果未能解决你的问题,请参考以下文章
在某些情况下,AWS ELB 不会将请求分发到 Auto Scaling 组 EC2 实例