Setelah pemadaman Amazon 8 Agustus , semua AMI (berbasis EBS) berhenti bekerja untuk banyak pengguna . Ini disebabkan oleh korupsi beberapa sektor dalam snapshot yang menjadi dasar AMI.
Namun, Amazon membuat snapshot pemulihan di mana masalah disk harus diperbaiki. Itu dinamai di sepanjang baris "Snapshot pemulihan untuk vol-xxxxxxxx".
Saya membuat AMI baru dari snapshot pemulihan yang berfungsi dengan baik, tetapi instans yang diluncurkan dari AMI baru ini tidak berfungsi: keadaan mereka adalah "Berjalan", tetapi saya tidak dapat ssh ke dalam mesin atau mengakses salah satu layanan web yang seharusnya berjalan di sana. Intinya begini (dari System Log, dapat diakses melalui konsol manajemen 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)
Saya telah memasang volume yang dibuat dari snapshot pemulihan di server lain pada AWS, dan semuanya terlihat sangat normal. Sebagai contoh, fsck mengatakan:
$ sudo fsck -a /dev/xvdg
fsck from util-linux-ng 2.17.2
uec-rootfs: clean, 53781/524288 files, 546065/2097152 blocks
Dalam salah satu diskusi forum AWS, saya menemukan saran ini dari seseorang yang memiliki masalah serupa:
Pekerjaan di sekitar adalah membuat volume dari snapshot dan melampirkannya ke instance yang sedang berjalan, gunakan fsck --force untuk memaksa pemeriksaan sistem file dan setelah dihapus, Anda dapat membuat snapshot dan menggunakannya untuk AMI.
Tapi saya tidak tahu bagaimana cara memaksa fsck di Ubuntu (11.04):
$ sudo fsck --force /dev/xvdg
fsck from util-linux-ng 2.17.2
fsck.ext3: invalid option -- 'o'
Adakah yang tahu cara memaksa sistem file memeriksa volume di Ubuntu? Ada ide lain tentang cara meluncurkan instance kerja yang didasarkan pada snapshot pemulihan?
Saat ini sepertinya lebih cepat untuk memulai dari AMI Ubuntu yang bersih dan mengatur ulang semua layanan kami. :-( Tapi tentu saja saya lebih suka tidak melakukan itu jika ada cara untuk mendapatkan snapshot pemulihan untuk benar-benar berfungsi.
Bisakah Anda mencoba perintah berikut (opsi note -f bukannya --force):
sudo fsck -f /dev/xvdg
Semoga ini membantu. Fred
sumber
fsck -f
memang melakukan sesuatu yang lebih (tidak tahu persis apa;man fsck
tidak mengatakan apa-apa tentang itu), jadi +1. Tetapi bagaimanapun juga ini tidak menyelesaikan seluruh masalah; Saya membuat snapshot dan kemudian AMI dari volume fscked, dan meluncurkan sebuah instance dari itu, dan masih mendapatkan kesalahan "Kernel panik ... Tidak dapat me-mount root" di System Log.Saya tidak ingin menghabiskan lebih banyak waktu untuk bertarung dengan masalah AWS yang aneh, jadi saya membuat contoh bersih baru dari salah satu AMI resmi Ubuntu (dalam kasus saya
ami-359ea941
yang merupakan 32-bit EBS yang didukung gambar Ubuntu 11,04 di Ubuntu). eu-west-1 region), dan membuat ulang pengaturan server saya di sana.Fakta bahwa saya dapat memasang volume yang dibuat dari snapshot pemulihan dalam instance baru membuat pengaturan ulang jauh lebih cepat. Sebagai contoh, saya melakukan sesuatu seperti
cp -a /mnt/recovery/usr/local /usr
mengembalikan banyak hal di bawah/usr/local
.Jadi dalam kasus saya cadangan pemulihan jauh dari tidak berguna karena saya dapat mengakses data pada mereka. Tapi tentu saja masih akan lebih baik untuk hanya membuat AMI dari snapshot dan terus menggunakan (contoh dari) yang seperti seluruh insiden tidak pernah terjadi. (Jangan ragu untuk menambahkan jawaban jika Anda tahu cara mencapainya!)
sumber