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

Google-compute-engine не загружается должным образом, не может подключиться к SSH

Мой экземпляр в Google Compute Engine не загружается должным образом, поэтому я все равно не могу подключиться к нему по SSH. У меня много чего по экземпляру. Как я могу это восстановить?

Журналы следующие. Когда я пытаюсь подключиться к сети из Windows, я получаю nat IP, но не могу подключиться к SSH, который работал нормально. Я также не могу использовать SSH из браузера.

[    0.519999] md: autorun ...
[    0.520794] md: ... autorun DONE.
[    0.521761] VFS: Cannot open root device "sda1" or unknown-block(0,0): error -6
[    0.523744] Please append a correct "root=" boot option; here are the available partitions:
[    0.525886] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
[    0.527829] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 3.19.0-25-generic #26~14.04.1-Ubuntu
[    0.529875] Hardware name: Google Google, BIOS Google 01/01/2011
[    1.656059] ---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)

Во время перехода с пробной версии на платную я потерял работающий экземпляр с похожими симптомами. Однако и в моем случае был отмечен «флаг» автоматического удаления диска при удалении экземпляра, что мешало мне использовать метод, описанный выше. Итак, вот как я смог восстановить свой диск:

Прежде всего, не удаляйте поврежденный экземпляр. Вам это понадобится.

  1. На главной консоли определите имя диска, соответствующего поврежденному экземпляру: "список вычислительных дисков gcloud"
  2. Создайте снимок диска, который кажется поврежденным: gcloud compute disks snapshot my-disk-1 --snapshot-names снимок-1
  3. Создайте и загрузите экземпляр из вновь созданного снимка (обязательно отключите флаг автоматического удаления при создании нового экземпляра). Скорее всего, вновь созданный экземпляр столкнется с той же проблемой загрузки, что и исходный. На этот раз все в порядке, потому что теперь вы сможете завершить работу и удалить этот экземпляр без потери диска, который теперь должен быть доступен при включении в список вычислительных дисков gcloud (скажем: new_disk).
  4. После удаления экземпляра у вас должен остаться один новый монтируемый диск. Для этого создайте третий экземпляр с характеристиками ОС, аналогичными исходному.
  5. В консоли Google Cloud и с помощью команды gcloud подключите диск к этому новому экземпляру (скажем, ubuntu-trusty-3). gcloud compute instance attach-disk ubuntu-trusty-3 --disk DISK - имя-устройства новый_диск Теперь у вас должно быть 2 доступных диска на этом экземпляре.

$ sudo blkid /dev/sda1: LABEL="cloudimg-rootfs" UUID="87f65d22-c9a9-428c-b1ab-b4ad9f8e4c05" TYPE="ext4" /dev/sdb1: LABEL="cloudimg-rootfs" UUID="87f65d22-c9a9-428c-b1ab-b4ad9f8e4c05" TYPE="ext4"

  1. Перезагрузите этот экземпляр, если диск не отображается (sudo blkid).

Вот как это выглядело на моем: панель приборов

В моем случае, к моему большому удивлению ядро загрузилось с восстановленного диска (gmap-server), и я вернулся к работе. Я понятия не имею, как ядро ​​выбрало это по сравнению с тем, которое было создано при создании экземпляра. Если кто-нибудь знает, пожалуйста, свяжитесь с нами.

Это может быть проблема с файлом / etc / fstab, где UUID не соответствует UUID диска как таковому, ОС не может смонтировать диск с правильным UUID.

Чтобы внести необходимые изменения в / etc / fstab на загрузочном диске, вы можете выполнить следующие действия:

  1. Удалить свой экземпляр БЕЗ удаление загрузочного диска (рекомендуется сделать снимок диска перед удалением экземпляра, чтобы у вас была резервная копия для восстановления).
  2. Создайте временный экземпляр и подключите рассматриваемый загрузочный диск в качестве дополнительного диска.
  3. Подключитесь к этому экземпляру по SSH и запустите $ sudo blkid, чтобы получить UUID вторичного диска.
  4. Смонтируйте вторичный диск.
  5. Теперь вы можете изменить / DISK-MOUNT-PATH / etc / fstab на дополнительном диске.
  6. Сохраните изменения и выключите экземпляр.
  7. После этого вы можете удалить временный экземпляр и создать новый экземпляр с исходным диском.

Надеюсь, это поможет.