8月8日中断后,如何从恢复快照重新创build工作AMI?

亚马逊8月8日停电后 ,所有(基于EBS的)AMI都停止为许多 用户工作。 这是由于AMIs基于快照的某些部门的腐败。

但是,亚马逊创build了恢复快照,以解决磁盘问题。 这些命令是按照“vol-xxxxxxxx的恢复快照”命名的。

我从恢复快照创build了一个新的AMI工作正常,但从这个新的AMI启动的实例不起作用:他们的状态是“正在运行”,但我不能SSH入机器,也不能访问任何应该在那里运行的Web服务。 归结起来(从系统日志,可通过AWSpipe理控制台访问):

EXT3-fs: sda1: couldn't mount because of unsupported optional features (240). EXT2-fs: sda1: couldn't mount because of unsupported optional features (244). Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(8,1) 

我已经在AWS上的另一台服务器上安装了一个从恢复快照创build的卷,一切看起来都很正常。 例如,fsck说:

 $ sudo fsck -a /dev/xvdg fsck from util-linux-ng 2.17.2 uec-rootfs: clean, 53781/524288 files, 546065/2097152 blocks 

在其中一个AWS论坛讨论中,我从有类似问题的人那里得到了这个build议 :

解决方法是从快照创build卷并将其附加到正在运行的实例,使用fsck –force强制检查文件系统,一旦清除,您可以创build快照并将其用于AMI。

但是我不知道如何在Ubuntu(11.04)上强制fsck:

 $ sudo fsck --force /dev/xvdg fsck from util-linux-ng 2.17.2 fsck.ext3: invalid option -- 'o' 

任何人都知道如何强制在Ubuntu卷上的文件系统检查? 有关如何启动基于恢复快照的工作实例的其他想法?

现在看来,从干净的Ubuntu AMI重新开始并重新设置所有服务可能会更快。 :-(但是,如果有任何方法可以使恢复快照实际工作,我宁愿不这样做。

尝试复制机器时,遇到了同样的问题。

问题原来是内核。 在创buildAMI时,我都select了内核映像的默认实例。

为了解决这个问题,我使用与原始实例相同的内核映像重新创build了AMI。

你可以尝试下面的命令(注意-f选项,而不是–force): sudo fsck -f /dev/xvdg

希望这可以帮助。 弗雷德

我不想浪费更多的时间来处理奇怪的AWS特定问题,所以我从一个官方Ubuntu AMI创build了一个新的干净实例(在我的例子中是ami-359ea941 ,这是一个32位EBS支持的Ubuntu映像11.04在欧盟西部地区),并重新创build了我的服务器设置。

我可以在新实例中装入从恢复快照创build的卷,这一事实使得重新设置速度更快。 例如,我做了一些类似于cp -a /mnt/recovery/usr/local /usr的恢复/usr/local下的东西。

所以在我的情况下,恢复备份远没有用,因为我可以访问他们的数据。 但是,从快照中创build一个AMI,并继续使用像(整个事件)从未发生过的事件,这当然更好。 (如果你知道如何做到这一点,随意添加一个答案!)