Як відтворити працюючий AMI зі знімка відновлення після відключення 8 серпня?


11

Після виходу з ладу Amazon 8 серпня всі (на базі EBS) AMI перестали працювати для багатьох користувачів . Це пов’язано з корупцією деяких секторів у знімках, на яких базуються АМІ.

Однак Amazon створив знімки відновлення, де слід усунути проблеми з диском. Вони названі за рядками "Знімок для відновлення для vol-xxxxxxxx".

Я створив новий AMI з знімком відновлення, який працював чудово, але екземпляри, запущені з цього нового AMI, не працюють: їх стан "працює", але я не можу ввійти в машину, а також отримати доступ до жодної веб-служби, яка повинна працювати там. Він зводиться до цього (із системного журналу, доступного через консоль управління 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 я знайшов цю пораду від когось із подібними проблемами:

Робота навколо полягатиме в тому, щоб зробити об'єм зі знімка і приєднати його до запущеного екземпляра, використовувати fsck --force для примусової перевірки файлової системи і після очищення, ви можете зробити знімок і використовувати його для AMI.

Але я не знаю, як змусити fsck на Ubuntu (11.04):

$ 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

Якщо залишиться лише знімок, відновити його буде дуже важко. Чи можете ви запропонувати метод резервного копіювання такого роду метаданих (також, які групи безпеки та користувацькі дані використовуються) за допомогою знімка чи десь ще?
Martijn Heemels

2

Чи можете ви спробувати таку команду (замітка -f замість --force): sudo fsck -f /dev/xvdg

Сподіваюсь, це допомагає. Фред


fsck -fнасправді робить щось більше (не знаю точно що; man fsckнічого не каже про це), тому +1. Але в будь-якому випадку це не вирішує всієї проблеми; Я створив знімок, а потім AMI з fscked тома і запустив екземпляр з цього, і досі отримую ту саму помилку "Паніка ядра ... Неможливо встановити корінь" у системному журналі.
Джонік

0

Я не хотів витрачати більше часу на боротьбу із дивними проблемами, характерними для AWS, тому створив новий чистий екземпляр з одного з офіційних AMI Ubuntu (в моєму випадку ami-359ea941це 32-бітове зображення, підтримуване EBS Ubuntu 11.04 в eu-west-1 region) і знову створив там налаштування мого сервера.

Той факт, що я міг зібрати об'єм, створений на основі знімка відновлення, у новому екземплярі, проте перенастроювання значно швидше. Наприклад, я зробив щось на кшталт того, cp -a /mnt/recovery/usr/local /usrщоб відновити цілу купу речей /usr/local.

Тож у моєму випадку резервні копії відновлення були далеко не марними, оскільки я мав доступ до даних про них. Але, звичайно, все-таки було б приємніше просто створити AMI із знімка і продовжувати використовувати (екземпляри з), які, як цілий інцидент, ніколи не бували. (Сміливо додайте відповідь, якщо знаєте, як цього досягти!)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.