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

Не удается загрузить компьютер Centos на GCP (Google Compute)

У меня есть сервер Centos 6, который в течение последних 6 месяцев работал нормально на платформе Google Compute Platform 6 месяцев.

Без перезагрузки - сегодня утром завис и при перезагрузке выдает следующие ошибки при загрузке:

[    3.205240] VFS: Cannot open root device "UUID=e2eb8dc4-d9f9-48e8-9194-cdbff5f4513f" or unknown-block(0,0)
[    3.208204] Please append a correct "root=" boot option; here are the available partitions:
[    3.210557] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
[    3.213256] Pid: 1, comm: swapper veid: 0 Not tainted 2.6.32-673.8.1.lve1.4.3.1.el6.x86_64 #1
[    3.215642] Call Trace:
[    3.216263]  [<ffffffff81546288>] ? panic+0xa7/0x16f
[    3.217749]  [<ffffffff81c45515>] ? mount_block_root+0x208/0x2bd
[    3.219708]  [<ffffffff81002930>] ? bstat+0x200/0x8d0
[    3.221633]  [<ffffffff81c45620>] ? mount_root+0x56/0x5a
[    3.223300]  [<ffffffff81c45794>] ? prepare_namespace+0x170/0x1a9
[    3.225390]  [<ffffffff81c44ac2>] ? kernel_init+0x2e6/0x2fc
[    3.227119]  [<ffffffff8100971d>] ? __switch_to+0x7d/0x340
[    3.228979]  [<ffffffff8100c3ca>] ? child_rip+0xa/0x20
[    3.231076]  [<ffffffff81c447dc>] ? kernel_init+0x0/0x2fc
[    3.232883]  [<ffffffff8100c3c0>] ? child_rip+0x0/0x20

Я выключил экземпляр, подключил диск к другому компьютеру и:

Это не имеет ничего общего с fstab. Это ошибка вашей initramfs в поиске самого корневого тома. Обычно это происходит из-за начального ramdisk, у которого либо нет необходимых модулей для обнаружения / монтирования блочного устройства, содержащего root, либо отсутствует надлежащая информация о корневом томе, переданная GRUB.

Примером вышесказанного может быть отказ initramfs найти блочное устройство root из-за отсутствия модулей LVM, необходимых для поиска корневого LV на основе LVM.

Кроме того, это может быть связано с тем, что ваш GRUB имеет недопустимую запись root =, поскольку initramfs получает информацию о том, что он должен монтировать из GRUB (как передано во время загрузки). Убедитесь, что вы используете UUID для определения корневого тома, и что UUID, который вы указали в GRUB, соответствует UUID самого тома.

Похоже, он не нашел ничего, что можно было бы смонтировать, что больше способствует проблеме отсутствия модулей в ваших initramfs, чем чему-либо еще. Скорее всего, вам потребуется перестроить initramfs в chroot (используя действующую ОС, которая имеет доступ к этому тому). Dracut - это инструмент, который вы будете использовать для восстановления initramfs.

Если у вас все еще есть проблема после перестройки, то распаковка initramfs и проверка ее содержимого будет разумным решением. В этом случае очень полезно, если вы попали в оболочку initramfs при монтировании root или сбое корневого pivot. В этом случае у вас будет несложное расследование относительно того, что вызывает это (поскольку эта оболочка по умолчанию имеет довольно много инструментов).