0

I have a Centos 6 server that's been running fine for 6mths on Google Compute Platform for the past 6mths.

Without a restart - it froze this morning and on reboot is producing the following errors on boot:

[    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

I have shut down the instance and attached the disk to another machine and:

  • Checked boot partition is not full (there is no separate boot partition)
  • Checked grub default is set to 0 (not 1)
  • Checked /etc/fstab has the correct UUID for the disk
PeterM
  • 9
  • 1
  • 3

1 Answers1

1

This has nothing to do with the fstab. This is a failure of your initramfs in finding the root volume itself. This is typically due to an initial ramdisk that either does not have the needed modules to discover / mount the block device that contains root or that is lacking proper root volume information as passed by GRUB.

An example of the above would be a failure of the initramfs to find root's block device due to not having the LVM modules needed to find an LVM based root LV.

Also, it could be due to your GRUB having an invalid root= entry, as the initramfs gets the information regarding what it should be mounting from GRUB (as passed down during boot). Make sure you are using UUIDs to define your root volume, and that the UUID you have specified in GRUB matches the UUID of the volume itself.

It looks like it has found nothing that could possibly be mounted, lending more towards a problem of missing modules in your initramfs than anything else. You will likely need to rebuild your initramfs within a chroot (using a live OS that has access to that volume). Dracut is the tool you'll be using to rebuild the initramfs.

If you still have the problem after a rebuild, then extracting the initramfs and inspecting its contents would be a prudent course of action. In this endeavor, it is extremely helpful if you are dropped to an initramfs shell on root mount or root pivot failure. If that is the case, you will have an easy investigation as to what is causing this (as that shell has quite a lot of tools by default).

Spooler
  • 7,016
  • 16
  • 29