Назад | Перейти на главную страницу

Экземпляры AWS: пакеты AMI, снимки и медведи, о боже

Я погуглил довольно много, но все еще довольно сбит с толку и чувствую, что что-то упускаю или не замечаю. Моя цель - восстановить хост с помощью бандла.

У меня есть пакет AMI с несуществующим экземпляром, который находится в S3. Я зарегистрировал пакет и могу «запускать» экземпляры с помощью ec2-run-instance. Однако каждый экземпляр становится недоступным после того, как он отображается как запущенный в веб-интерфейсе. Глядя на журнал консоли через веб-интерфейс, можно увидеть проблему с файловой системой в новых экземплярах (ошибка ниже).

Проверка всех файловых систем.

[/sbin/fsck.ext3 (1) - /] fsck.ext3 -a / dev / sda1

/ dev / sda1: чистый, 156721/1310720 файлов, 1683095/2621440 блоков

[/sbin/fsck.ext3 (1) - / mnt] fsck.ext3 -a / dev / sdb

/ dev / sdb смонтирован. e2fsck: невозможно продолжить, прерывание.

[НЕ СМОГЛИ]

*** Ошибка при проверке файловой системы.

*** Бросает вас в снаряд; система перезагрузится

*** когда вы покидаете оболочку.

Укажите пароль root для обслуживания

(или нажмите Control-D, чтобы продолжить):

Очевидно, я не могу нажимать Control-D или взаимодействовать с ним. Можно ли смонтировать пакет как том EBS или сделать снимок пакета, а затем проверить файловую систему? Если да, то как я могу это сделать? Кроме того, хотя я не видел никаких ошибок, кто-нибудь знает, что пошло не так с процессом сборки?

Заранее спасибо!

Чтобы создать том EBS из пакета с поддержкой S3, потребуется немного поработать, но это можно сделать:

  • Запустите новый экземпляр и прикрепите том EBS достаточного размера
    • Вам также потребуется достаточно свободного места на экземпляре для временного хранения изображения (временного хранилища на небольшом экземпляре должно быть достаточно).

  • Загрузите комплектный том в экземпляр:
    ec2-download-bundle -b BUCKET_NAME -m MANIFEST.xml -d TARGET_DIRECTORY
    • Вам также необходимо либо передать свои ACCESS_KEY, SECRET_ACCESS_KEY и PRIVATE_KEY, либо установить их в качестве переменных среды.

  • Разделите объем:
    ec2-unbundle  -m /local/path/to/manifest.xml -s SOURCE_DIRECTORY -d DESTINATION_DIRECTORY
  • Копировать в том EBS:
    dd if=/path/to/image of=/dev/NAME

Теперь у вас должна быть возможность подключить этот том EBS в качестве корневого тома к экземпляру (остановить, отсоединить исходный корень, присоединить новый корень, запустить) или создать новый образ из моментального снимка тома. Конечно, можно ожидать, что существующая проблема сохранится с новым экземпляром, если вы ее не исправите.

Я бы посоветовал, согласно эта почта, у вас есть запись в / etc / fstab, которая не соответствует подключенным устройствам, что приводит к невозможности запуска e2fsck и сбою процесса загрузки. Найдите запись / mnt и удалите (или исправьте) ее, чтобы она отражала доступные тома.