Falha ao carregar rootfs: Ubuntu 10 + grub2 + rootfs ext4 com RAID1

1

Estou tendo problemas para inicializar uma nova instalação do Ubuntu 10 (servidor). Meu primário HD (/ dev / sda) é apresentado da seguinte forma:

   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

O rootfs faz parte de um array RAID1 (software) (atualmente degradado):

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

Os UUIDs das partições são os seguintes:

# 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"

Por fim, tenho minha configuração de menuentry do grub2 da seguinte forma:

### 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
}

Quando eu tento inicializar, o GRUB carrega OK, mas eventualmente recebo a seguinte mensagem de erro:

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! 

Se a partir do bootloader grub eu abro um grub > linha de comando, eu posso ls (hd0,) e ele lista as partições corretas com os UUIDs como mostrado acima - sda6 mostra 'a0602d42-6855-482f-870c-6f6ecdcdae3f' (o RAID UUID). Se eu ls (md2) / ele lista corretamente todos os arquivos no sistema de arquivos RAID1 (ext4), então não parece ser um problema acessar o dispositivo raid.

Alguém tem alguma sugestão sobre qual poderia ser o problema? Eu não consigo descobrir isso.

    
por James 05.10.2010 / 22:48

1 resposta

1

Eu finalmente encontrei a resposta via Google.

Eu tive que adicionar o parâmetro de kernel rootdelay=90 à linha linux /vmlinuz... em grub.cfg .
O sistema inicializa sem problemas. Não demora muito tempo (talvez 30 segundos do POST para o prompt de login do Ubuntu). Parece ser uma solução pouco conhecida / pouco documentada para esse problema.

    
por 06.10.2010 / 13:39