8月8日の停止後、復旧スナップショットから有効なAMIを再作成する方法は?


11

Amazonの8月8日の停止後、すべての(EBSベースの)AMIが多くの ユーザーに対して機能しなくなりました。これは、AMIのベースとなっているスナップショットの一部のセクターが破損しているためです。

ただし、Amazonはディスクの問題を修正する必要があるリカバリスナップショットを作成しました。これらは、「vol-xxxxxxxxの回復スナップショット」の行に沿って名前が付けられています。

回復スナップショットから新しいAMIを作成しましたが、正常に機能しましたが、この新しいAMIから起動されたインスタンスは機能しません。それらの状態は「実行中」ですが、マシンにsshすることも、そこで実行されるWebサービスにアクセスすることもできません。要約すると、これは(AWS管理コンソールからアクセス可能なシステムログから):

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の別のサーバーにマウントしましたが、すべてが非常に正常に見えます。たとえば、fsckのコメント:

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

AWSフォーラムのディスカッションの1つで、同様の問題を抱えている人からのこのアドバイスを見つけました。

回避策は、スナップショットからボリュームを作成し、実行中のインスタンスにアタッチし、fsck --forceを使用してファイルシステムのチェックを強制し、クリアしたら、スナップショットを作成して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からやり直して、すべてのサービスを再セットアップする方が速いかもしれません。:-(ただし、リカバリスナップショットを実際に機能させる方法がある場合は、もちろんそれを行わない方がよいでしょう。

回答:


14

マシンを複製しようとしたときに同じ問題が発生しました。

問題はカーネルであることが判明しました。AMIとインスタンスの作成時に、カーネルイメージにデフォルトを選択しました。

この問題を解決するために、元のインスタンスと同じカーネルイメージを使用してAMIを再作成しました。


明確にするために、デフォルトのカーネルイメージにはext4サポートがありませんが、AMIのビルドに使用されたカーネルは常に使用する必要があります。
DCYorke

スナップショットのみが残っている場合、回復するのは非常に困難です。この種のメタデータ(また、使用するセキュリティグループとユーザーデータ)をスナップショットまたはその他の場所でバックアップする方法を提案できますか?
マルタインHeemels

2

次のコマンドを試してみてください(--forceの代わりに-fオプションに注意してください): sudo fsck -f /dev/xvdg

お役に立てれば。フレッド


fsck -f確かにもっと何かをします(正確に何を知らないかman fsck、それについて何も言わない)ので、+ 1。しかし、いずれにしても、これは問題全体を解決するわけではありません。fsckedボリュームからスナップショットを作成してからAMIを作成し、そこからインスタンスを起動しても、システムログに同じ「カーネルパニック...ルートをマウントできません」というエラーが表示されます。
ジョニック

0

奇妙なAWS固有の問題と戦う時間を無駄にしたくなかったので、公式のUbuntu AMIの 1つから新しいクリーンなインスタンスを作成しました(私の場合ami-359ea941は、Ubuntu 11.04の32ビットEBS-backedイメージです) eu-west-1 region)、サーバーセットアップを再作成しました。

ただし、新しいインスタンスの回復スナップショットから作成されたボリュームをマウントできるという事実により、再セットアップがはるかに高速になりました。たとえば、私はのcp -a /mnt/recovery/usr/local /usr下でたくさんのものを復元するようなことをしました/usr/local

そのため、私の場合、リカバリバックアップは、それらのデータにアクセスできるため、役に立たないというわけではありませんでした。ただし、スナップショットからAMIを作成し、インシデント全体が発生したことがないような(インスタンスの)を使用し続けることは、もちろんより良いことでした。(あなたがそれを達成する方法を知っているなら、答えを自由に追加してください!)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.