erlug
[Top] [All Lists]

Re: [Erlug] Debian 6: Grub2 e raid con MD?

To: ERlug - Lista Pubblica <erlug@xxxxxxxxxxxxxx>
Subject: Re: [Erlug] Debian 6: Grub2 e raid con MD?
From: Fabio Muzzi <kurgan@xxxxxxxxxx>
Date: Wed, 02 Mar 2011 18:19:24 +0100

Fatti i test, che vi riporto:

La macchina e` un HP Proliant ML110 con 3 dischi:

sda (sda1 e sda2) e sdb (sdb1 e sdb2) sono in raid1 e creano md0 e md1 (root e swap).

la root (md0) e` formattata ext3.

sda1 e sdb1 (i componenti del raid md0) sono settati bootabili in fdisk, ma credo che questo sia totalmente ininfluente.

sdc contiene sdc1 che e` formattata ext4 e non partecipa al raid. (non bootabile in fdisk)


grub e` installato in sda e in sdb (con grub-install /dev/sdX)


Dalle prove, ho dedotto che c'e` solo un punto critico, e non e` un problema di GRUB. Questo BIOS e` fesso e se cerca di fare il boot da un hard disk che non e` bootabile (che sia un disco totalmente vuoto, pieno di zeri, o un disco come il mio sdc, che e` formattato ma non bootabile ne` contiene un master boot record valido) si blocca e non va oltre, cioe` non tenta di bootare dai dischi successivi nel suo ordine interno di boot. Questo e` bloccante se l'utente remoto non e` in grado di entrare nel bios e dirgli di bootare prima da uno dei dischi "buoni".


Grub, una volta che riesce ad essere lanciato dal BIOS, se ne fotte di dove si trova fisicamente, scansiona tutti i dischi attaccati alla macchina alla ricerca dei propri pezzi, e li trova e poi fa il boot correttamente. Complimenti, questo funziona meglio di grub1.

Per facilitarsi la vita, in una configurazione come la mia dove ho due dischi che partecipano al raid che contiene root e uno che non c'entra nulla, e` consigliabile installare grub anche sul terzo (e a questo punto mi viene da dire su qualsiasi disco presente nella macchina) perche` nel caso in cui il BIOS faccia il boot dal terzo, la macchina partira` lo stesso (ovviamente se almeno uno dei due dischi del raid e` installato).



Qui di seguito vi riporto giusto perche` cosi` allungo il brodo il log delle prove che ho fatto, che mi hanno portato alla conclusione che gia` vi ho indicato.


============================================================================


1- Tolgo completamente il disco sda a macchina spenta e riavvio:

vedo che il BIOS vede il secondo disco come secondo
grub parte
il boot funziona.



2- spengo, monto un disco vergine come prim al posto dell' sda originale (cosi` ho due dischi di cui uno "sbagliato", diciamo, e non un disco solo come era prima)

il bios riporta i dischi giusti
grub parte
il boot funziona


3- scambio il disco vuoto e il disco pieno (sdb) in modo che il disco pieno (sdb) sia il primo, e il vuoto il secondo.

il bios vede i dischi ma dice boot failed (non prova nemmeno a caricare grub). La cosa non ha senso. E` in assoluto la cosa che NON mi aspettavo, visto che il disco con GRUB e` ora il primo disco.



4- provo a togliere il disco vuoto e lasciare il pieno (ex-sdb) al primo posto.

il bios vede correttamente lo stato dei dischi, il sistema non boota e lascia il cursore lampeggiante in altro a SX, senza messaggi di alcun tipo. il disco ex-sdb messo come solitario in sda sembra andare oltre il bios (niente messaggi boot failed dal bios) e poi morire senza alcun messaggio di errore.




5- lascio il disco pieno (sdb) al secondo posto da solo (cioe` la stessa condizione della prova numero 1) e ora fa come la prova 4, cursore lampeggiante e niente altro. Devo dedurre che qualcosa nei test precedenti ha corrotto il boot loader su sdb?



6- entro nel bios, controllo, vedo che il disco 3 (che e` un disco non in raid che e` montato sulla macchina e non ho mai toccato) e` nel bios settato come primario per il boot. Metto come primario il disco 2 (che e` connesso con sdb) e ora boota. Probabilmente per qualche motivo il bios ha fatto casino e si e` auto-reimpostato fra la prova 2 e la 3.


7- rifaccio la prova 3 pero` controllo che nel bios ci sia una impostazione sensata (boot dal disco 1) e adesso funziona.


A naso direi che posso dedurre che posso scambiare i dischi a piacere, ma se non dico al bios da quale disco bootare, il bios stesso (non grub) si incarta.

con un disco totalmente vuoto (tutti zeri) dice "boot failed" e non prova il prossimo disco in sequenza.

con un disco partizionato e formattato in ext4, pero` senza flag di "bootabile", il bios resta bloccato con un cursore che lampeggia e basta


8- faccio grub-install anche su sdc (che non c'entra nulla con il raid) e vediamo se riesco a bootare dicendo al bios che il disco di boot e` il terzo (sdc). La configurazione e`: 1-sdb 2-vuoto 3-sdc: boota correttamente.

9- cambio configurazione: 1-vuoto 2-sdb 3-sdc e dico al bios di bootare dal 3: funziona

10- tolgo tutti e due i dischi del raid originale, lascio sdc in posizione 3, dico al bios di bootare da sdc: grub parte, poi non trova i propri pezzi e mi dice error: no such disk, e poi entra in rescue mode e mi da` un prompt.
============================================================================



--

Fabio "Kurgan" Muzzi

- IZ4UFQ -

La diagnosi del tecnico:   E` colpa di Windows, chiami la Microsoft

<Prev in Thread] Current Thread [Next in Thread>