[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [RiminiLUG-General] grub2 RAID1
On 13/11/2010 16:21, Ivan Tarozzi wrote:
grub-install /dev/sda
grub-install /dev/sdb
[...]
Se mi si rompe hd 2 (già successo) il sistema reagisce bene, parte in
degraded mode e posso poi sostituire l'hd rotto;
se provo a scollegare il primo invece non riesco a fare il boot.
Lessi qualche tempo fa che il grub2 interpreta anche l'ordine degli HD
impostato nel BIOS, ma non sono ancora riuscito a far quadrare il
cerchio. Quindi in parte mi unisco alla richiesta di Giuseppe, e in
parte mi prendo l'impegno di riprendere a mano la cosa entro i prossimi
giorni :)
premetto... è sempre mattina.. difficile mattina!
Quando dici al sistema grub-install stai implicitamente dando una serie
di comandi, infatti è un wrapper a comandi diretti su grub.
prova a vedere il path di grub-install (`which grub-install`) e edita il
file...
in ogni caso, il problema è che grub storicamente utilizza un sistema
abbastanza barbaro (lilo da questo punto di vista funzionava meglio,
motivo per cui ho migrato quando sono stato costretto :) ).
hd -> hard disk
0->N 0->primo disco RICONOSCIUTO (sda), 1-> secondo disco RICONOSCIUTO
(sdb), ...
(ricordarsi *RICONOSCIUTO*)
, separatore tra disco e partizione
0->N 0->prima partizione (sda1), 1-> seconda partizione (sda2), ...
già il solo fatto che riconosce i dischi con una notazione diversa
rispetto al so fa un po' di casino, ma è anche vero che grub non è
utilizzato solo per linux, quindi ci sta...
in ogni caso, supponiamo che nel mio file di configurazione ci sia
scritto, dato per assunto che abbiate letto l'altra mail e che quindi
sappiate che la configurazione *non* è scritta nell'mbr ma è nel file di
conf:
--
label pippo
root (hd0,0)
...
--
e che pippo è quello che carichiamo di default.
prenderò ad esempio il caricamento di grub sull'MBR e non sulla
partizione, scelta comunemente utilizzata per poter fare il dual boot
(non è oggetto di discussione, ma windows carica il suo boot loader
nell'mbr che è la prima cosa che il bios va a leggere)
il sistema ha i primi 2 dischi configurati in mirror software, e quindi
diciamo che sda1 e sdb1 siano le due partizioni di boot (ma poteva anche
essere quella di root comprensiva di boot).
installiamo con grub-install /dev/sda1, e grub-install /dev/sdb1
in automatico (almeno grub1, ma a vedere dai tutorial anche grub2), si
installa grub utilizzando come root il disco locale, quindi al di la del
file di configurazione le operazioni minime equivalenti sono:
/dev/sda:
---
grub> root (hd0,0) [uso come root /dev/sda1]
grub> setup (hd0) [installo grub nell'mbr di sda]
---
/dev/sdb:
---
grub> root (hd1,0) [uso come root /dev/sdb1]
grub> setup (hd1) [installo grub nell'mbr di sdb]
---
Ora, immaginiamo di togliere il secondo disco e fare il boot.
il bios vede il primo disco, carica il file di configurazione
(tipicamente /boot/grub/grub.conf) da (hd0,0), lo legge, vede che la
riga di root per pippo è (hd0,0) riesce a leggere la partizione e
funziona tutto.
rimettiamo il secondo disco, facciamo un reboot, funziona tutto, si
risincronizzano i dischi etc etc (inutile, ma visto che lo sto scrivendo
molto "for dummies" meglio specificare la cosa per evitare un doppio
degraded!)
ora spegniamo, e togliamo il PRIMO disco.
il bios, e quindi di conseguenza grub, vedranno quello che per noi era
sdb1 come (hd0,0), perché si basano su quello che riconoscono in quel
momento.
ma dentro sdb1 c'era scritto di andare a prendere la configurazione in
(hd1,0), che non è più il nostro sdb1 ma è un altro disco (quello che
era sdc, se c'era).
quindi il boot loader carica l'MBR, cerca hd1,0, non lo trova e si
incarta...
detto questo, premesso che non lo conosco ancora direttamente... in
grub2 esistono soluzioni a questo problema (in grub1 erano più
"manuali"), come ad esempio utilizzare l'UUID invece della "partizione
numero del disco numero"
es:
http://www.howtoforge.com/how-to-set-up-software-raid1-on-a-running-system-incl-grub2-configuration-ubuntu-10.04-p2
buona lettura ;)
bye
d.