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

Восстановление аварийного инстанса EC2 с поддержкой EBS

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

Сначала я попытался создать новый AMI на основе этой машины, но новый AMI застрял в ожидании. Погрузившись в инструменты командной строки, я увидел, что машина не может остановиться должным образом. Так я и сделал

ec2-stop-instances --force

а потом

ec2-detach-volume --force

Но тогда я не мог создать AMI из отдельного тома. Я попытался создать новый экземпляр и прикрепить к нему том EBS (после отсоединения того, с которым он был) и загрузить его, но тот не загрузился, говоря

"State Transition Reason: Server.InternalError: Internal error on launch"

Я предполагаю, что должен быть способ вернуть привод и снова запустить его - в этом и смысл EBS, верно? Но как?

У меня несколько раз случался сбой инстанса, особенно когда у AWS случился «небольшой» сбой EBS. Как и вы, мне не удалось отключить экземпляры или отключить том. В итоге я создал моментальный снимок тома EBS (да, он позволил мне создать моментальный снимок без отсоединения), создал том из этого моментального снимка и прикрепил его в качестве корневого устройства к экземпляру.

Имейте в виду, что хотя физический диск мог не быть поврежден, сбой все же может повредить файловую систему или данные.

Мне также удалось прикрепить том как обычный не загрузочный том, запустить проверку файловой системы (например, e2fsck) и использовать rsync в процедуре, похожей на то, что вы использовали бы для перехода из эфемерного / экземпляра-хранилища в EBS:

  1. Скопируйте корневой каталог (/) на устройство EBS (rsync -aXHv)
  2. (необязательно, rsync и устройства (/ dev), хотя я не думаю, что это необходимо)
  3. сбросить запись и размонтировать

Сообщение, которое я в конечном итоге `` забрал домой '', заключалось в том, чтобы иметь текущие резервные копии даже дисков EBS - поэтому теперь я часто запускаю ec2-consisten-snapshot на томах данных и (реже) на моем корневом томе и чередую с ec2-prune-snapshots .

Надеюсь, какая-то комбинация вышеперечисленного (снимок, проверка диска, rsync) может вам помочь.

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

возможно, у вас проблема с самим приводом EBS. например, удалена некоторая важная информация.

проверьте статьи о том, как создать AMI на основе EBS. этот например

http://www.capsunlock.net/2009/12/create-ebs-boot-ami.html