如何处理突然无法访问的非日志EC2实例?

我有一个运行Canonical的Ubuntu 10.04 LTS的EC2“微型实例”。 已经运行了6-9个月,很less重新启动(最多几个星期一次)。

我只是做了我认为是常规能力更新,能力完全升级。 在注意到似乎已经安装了一些新的-ec2 linux映像,我重新启动系统。 虽然它似乎重新启动,并返回到控制台上的“运行”状态,它没有回来通常的SSH和HTTP服务。 我已经试过停止并启动它,重新联系它的弹性IP …没有喜悦。

奇怪的是,“获取系统日志”(AWS控制台)返回一个完全空白的日志。 空。 没有。 不是一个字符。 (至less在第一次启动 – 停止之后它是空的;在停止之前它刚刚包含关于重新启动的最后一行)。

我已经尝试了几个停止启动周期,但没有改善。

任何build议下一步尝试让我的实例恢复生机?

我最近碰到同样的问题。 一般来说,我对EC2很陌生,但在Eric的博客帮助下,我设法解决了问题,尽pipe我还不确定它到底是什么。 我认为这可能是缺less内核AKI这个特定的AMI和它的新的更新的内核映像(BTW,即时通讯运行相同的AMI)

  • 我停止了我的实例,将音量附加到新的音量(运行在相同的AMI上)。 不得不玩e2label和fstab。
  • 装入旧的文件系统(包括dev和proc)和chroot到它
  • 最新的内核升级到版本之一,因为我找不到与之相对应的AKI。 我必须使用EC2 API工具手动更改AKI
  • 删除新的EBS卷(修复第一个分区标签),并引导回旧卷

我现在正在运行2.6.32-318-ec2

如果我错误地指出缺失的AKI作为问题的根源,有人能纠正我吗? 无论如何,它的工作,我敢肯定,病毒testing主机上的所有升级之前,先把它应用到生产系统。

我的解决scheme/恢复是:

  • 使用Ubuntu 10.04 AMI ami-c00e3cb4(即时更新和升级并重新启动到linux-image-2.6.32-319-ec2没有问题)实例化一个新实例。
  • 重新安装了所有重要的软件包
  • 将旧的非引导实例(在启动后生成)作为卷的快照。
  • 对less数/ etc和/ var和/ home的重要性进行rsynced

而且它又恢复了原来的状态(有一点不太重要的优点)。

我没有打算试图用问题映像启动一个新的实例,因为……当然,所有的“状态”都存在于磁盘映像中(我只能猜到它遭受了一些引导相关的损坏),所以我不会期待任何不同的结果。

只是“其中的一件事”我猜?

在将来,我认为我会更经常快照,并在任何内核更新之前。