Atualize para dumps 12.04LTS para busybox na inicialização

4

Acabei de atualizar meu servidor de 10.04LTS para 12.04 LTS usando o processo de atualização do servidor documentado aqui: link .

Na inicialização, eu estou agora despejado no shell busybox (mais sobre isso em um momento). No entanto, se eu inicializar um kernel a partir do lançamento anterior, tudo será inicializado bem.

A única coisa estranha sobre a minha configuração é que o meu dispositivo de inicialização é um dispositivo multi-disco usando RAID1. Quando chego ao shell do busybox, digite "mount / dev / md0 / root". Eu tentei passar em rootdelay = 30 e estou despejado no shell dentro de 5 segundos de inicialização.

Diferentemente da pergunta marcada aqui: Atualizado a partir de 10.04 a 12.04 e o grub cai no prompt da BusyBox sem erro Eu não estava inicializando com a opção inicial ou silenciosa e não recebi reclamações sobre uma matriz degradada. No entanto, tentei inicializar com a opção de kernel degradada pelo boot e isso também não funcionou.

Alguma idéia sobre o que tentar?

(E sim, a fonte de alimentação está conectada em :-))

Informação de configuração:

Versão do Grub: grub (GNU GRUB 0.97)

A maioria das opções menu.lst do grub são comentadas (para usar padrões). Kernel mais recente que não funciona:

title           Ubuntu 12.04.2 LTS, kernel 3.2.0-51-generic-pae
root            (hd0,1)
kernel          /boot/vmlinuz-3.2.0-51-generic-pae root=/dev/md0 ro
initrd          /boot/initrd.img-3.2.0-51-generic-pae
quiet

Kernel mais recente que funciona:

title           Ubuntu 12.04.2 LTS, kernel 2.6.32-46-generic-pae
root            (hd0,1)
kernel          /boot/vmlinuz-2.6.32-46-generic-pae root=/dev/md0 ro
initrd          /boot/initrd.img-2.6.32-46-generic-pae
quiet

informações do mdadm:

garrett@stargate:/boot/grub$ sudo mdadm --detail /dev/md0
/dev/md0:
        Version : 0.90
  Creation Time : Sat Dec 16 22:27:17 2006
     Raid Level : raid1
     Array Size : 57609024 (54.94 GiB 58.99 GB)
  Used Dev Size : 57609024 (54.94 GiB 58.99 GB)
   Raid Devices : 2
  Total Devices : 2
Preferred Minor : 0
    Persistence : Superblock is persistent

    Update Time : Mon Sep  2 17:02:27 2013
          State : clean 
 Active Devices : 2
Working Devices : 2
 Failed Devices : 0
  Spare Devices : 0

           UUID : 5c92f0d9:9cf5be95:03611c5e:a540b92f
         Events : 0.24172972

    Number   Major   Minor   RaidDevice State
       0       8       18        0      active sync   /dev/sdb2
       1       8        2        1      active sync   /dev/sda2

Dados do dispositivo Md vistos pelo kernel:

garrett@stargate:~$ cat /proc/mdstat 
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] 
md0 : active raid1 sda2[1] sdb2[0]
      57609024 blocks [2/2] [UU]

unused devices: <none>
    
por Garrett Kajmowicz 13.06.2013 / 01:07

1 resposta

1

Isso é causado por uma configuração estranha, bem como por uma alteração nos scripts de inicialização.

Primeiro, o dispositivo espelhado, / dev / md0, não possui uma tabela de partição. Ele é tratado como um dispositivo de bloco bruto com um sistema de arquivos diretamente sobre ele. Em casos de emergência, isso permite que o dispositivo de backup (/ dev / sda2 ou / dev / sdb2) seja inicializado diretamente. Anteriormente, havia uma instalação de curta duração do LVM nesta partição, mas isso foi considerado desnecessário, portanto, o dispositivo foi reinicializado como um dispositivo ext3 bruto. Isso não removeu com êxito todos os traços de LMV. Isso resulta no utilitário wait-to-root retornando 'LVM2_member' como o tipo de dispositivo. Ele fez isso o tempo todo.

Em segundo lugar, as atualizações no script de inicialização 'scripts / local' alteraram o comando mount de:

mount ${roflag} ${ROOTFLAGS} ${ROOT} ${rootmnt}

para:

mount ${roflag} ${FSTYPE:+-t ${FSTYPE} }${ROOTFLAGS} ${ROOT} ${rootmnt}

A montagem agora falha porque estamos forçando o tipo de sistema de arquivos no comando mount. Neste caso, o tipo 'LVM2_member' não funciona de todo - precisamos de ext3. A versão antiga funcionava porque o mount era facilmente capaz de determinar que este era um sistema de arquivos ext3.

A solução alternativa para isso é passar em rootfstype = ext3 na linha de inicialização do kernel. Isso ignora o tipo incorreto de sistema de arquivos detectado automaticamente e especifica o ext3 para montar.

    
por Garrett Kajmowicz 08.10.2013 / 16:53