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

Как мне взаимодействовать с консолью во время загрузки на Amazon EC2?

У меня есть экземпляр, который застрял в этом приглашении загрузки (просматривая журнал экземпляра из консоли управления):

The disk drive for /mydisk is not ready yet or not present
Continue to wait; or Press S to skip mounting or M for manual recovery

Я добавил том EBS, смонтировал его, затем удалил том EBS и забыл удалить запись из / etc / fstab и перезагрузил компьютер. Теперь он предлагает мне это во время загрузки, и я не могу подключиться к экземпляру по SSH.

Что мне делать, чтобы решить эту проблему?

Я не знаю «простого» решения вашей проблемы, но есть несколько запутанное (в зависимости от типа вашего корневого устройства) решение.

Если ваш экземпляр имеет корень EBS, решение достаточно простое: остановите экземпляр, отсоедините диск EBS, запустите другой экземпляр и присоедините к нему том EBS. При необходимости отредактируйте файл fstab, отсоедините том EBS и повторно прикрепите его к исходному экземпляру.

Если ваш экземпляр имеет корень с поддержкой S3 (то есть хранилище экземпляров), решение будет немного сложнее. Вы можете загрузить данные из своего AMI (используя ec2-загрузка-пакет), а затем извлеките эти данные в один файл (используя ec2-unbundle). Затем вы можете смонтировать образ, внести необходимые изменения и повторно связать образ (с ec2-bundle-vol, переопределив том по умолчанию для объединения с флагом -v). Это должно дать вам новый жизнеспособный AMI, идентичный вашему старому, за исключением внесенных вами модификаций. В качестве альтернативы вы можете скопировать содержимое файла образа на том EBS с помощью dd, а затем преобразовать его в корневой экземпляр EBS.

Если в вашем Ubuntu есть systemd, вы можете редактировать /lib/systemd/system/local-fs.target и закомментируйте последние две строки:

#OnFailure=emergency.target
#OnFailureJobMode=replace-irreversibly

Я не тестировал это тщательно и не знаю, есть ли какие-либо риски или побочные эффекты, но пока это работает как прелесть. Он монтирует корневой том и все другие тома (кроме тех, которые, очевидно, неправильно настроены), а затем продолжает процесс загрузки до тех пор, пока не будет запущен SSH, поэтому вы можете подключиться к экземпляру и исправить неправильный fstab записи.