No se pueden cargar rootfs: Ubuntu 10 + grub2 + rootfs ext4 con RAID1

No se pueden cargar rootfs: Ubuntu 10 + grub2 + rootfs ext4 con RAID1

Tengo problemas para iniciar una nueva instalación de Ubuntu 10 (servidor). Mi HD principal (/dev/sda) se presenta de la siguiente manera:

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          18      144553+  83  Linux                  <-- /BOOT
/dev/sda2              19      182401  1464991447+   5  Extended
/dev/sda5              19        2207    17583111   fd  Linux raid autodetect
/dev/sda6            2208       11934    78132096   fd  Linux raid autodetect  <-- / (ROOTFS)
/dev/sda7           11935      182401  1369276146   fd  Linux raid autodetect

El rootfs es parte de una matriz RAID1 (software) (actualmente degradada):

# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md2 : active raid1 sda6[1]
      78132032 blocks [2/1] [_U]

Los UUID para las particiones son los siguientes:

# blkid /dev/sda1
/dev/sda1: UUID="b25dd301-41b9-4f4d-9b0a-0e31713dd74c" TYPE="ext2"
# blkid /dev/sda6
/dev/sda6: UUID="af7b9ede-fa53-c0c1-74be-31ec752c5cd5" TYPE="linux_raid_member"
# blkid /dev/md2
/dev/md2: UUID="a0602d42-6855-482f-870c-6f6ecdcdae3f" TYPE="ext4"

Finalmente, tengo mi entrada de menú grub2 configurada de la siguiente manera:

### BEGIN /etc/grub.d/10_linux ###
menuentry 'Ubuntu, with Linux 2.6.32-25-server' --class ubuntu --class gnu-linux --class gnu --class os {
        insmod ext2
        insmod raid
        insmod mdraid
        set root='(hd0,1)'
        search --no-floppy --fs-uuid --set b25dd301-41b9-4f4d-9b0a-0e31713dd74c
        linux   /vmlinuz-2.6.32-25-server root=UUID=a0602d42-6855-482f-870c-6f6ecdcdae3f ro   nosplash noplymouth
        initrd  /initrd.img-2.6.32-25-server
}

Cuando intento arrancar, grub se carga correctamente, sin embargo, finalmente aparece el siguiente mensaje de error:

Gave up waiting for root device. Common problems:
  — Boot args (cat /proc/cmdline)
    — Check rootdelay= (did the system wait long enough?)
    — Check root= (did the system wait for the right device?)
  — Missing modules (cat /proc/modules; ls /dev)
ALERT! /dev/disk/by-uuid/a0602d42-6855-482f-870c-6f6ecdcdae3f does not exist.   
Dropping to a shell! 

Si desde el gestor de arranque grub abro una línea de comando grub>, puedo usar ls (hd0) y enumera las particiones correctas con los UUID como se muestra arriba: sda6 muestra 'a0602d42-6855-482f-870c-6f6ecdcdae3f' (el UUID RAID ). Si I ls (md2)/ enumera correctamente todos los archivos en el sistema de archivos RAID1 (ext4), por lo que no parece ser un problema para acceder al dispositivo raid.

¿Alguien tiene alguna sugerencia sobre cuál podría ser el problema? No puedo entender esto.

Respuesta1

Finalmente encontré la respuesta a través de Google.

Tuve que agregar el parámetro del kernel rootdelay=90a la linux /vmlinuz...línea en grub.cfg.
Luego, el sistema arranca sin problemas. Ni siquiera lleva mucho tiempo (quizás 30 segundos desde la POST hasta el mensaje de inicio de sesión de Ubuntu). Parece ser una solución poco conocida y poco documentada para este problema.

información relacionada