# [RISOLTO] Grub su RAID

## geps2

Mi dispiace essere noioso, ma sono ancora alle prese con il RAID software.

Sto reinstallando il mio sever, e prima di configurare grub e fare il reboot, vorrei una conferma, dato che l'ultima volta che l'ho fatto il sistema non partiva più, e ho dovuto rifare tutto da capo (con lilo, che non tradisce mai!).

Ho trovato tre guide, che mi dicono di configurare il bootloader in tre modi diversi:

```
default 0

timeout 30

title=Gentoo Linux 2.6.19-r5

root (hd0,0)

kernel /boot/kernel-2.6.19-gentoo-r5 root=/dev/hda3

title=Gentoo Linux 2.6.19-r5 (rescue)

root (hd0,0)

kernel /boot/kernel-2.6.19-gentoo-r5 root=/dev/hda3 init=/bin/bb
```

```
default 0

timeout 10

title=Gentoo

root (hd0,0)

kernel /boot/kernel root=/dev/md3
```

```
timeout 30

default 0

fallback 1

title GNU/Linux (hd0,0)

kernel (hd0,0)/kernel-2.6.10 root=/dev/md2

title GNU/Linux (hd1,0)

kernel (hd1,0)/kernel-2.6.10 root=/dev/md2 
```

Qualcuno può spiegarmi quale di questi funzionerà sicuramente? specialmente per la direttiva kernel: perché i primi due lo specificano con /boot e l'ultimo no? e Perché i primi due specificano anche la direttiva root prima? Giurerei di averlo trovato anche con altre varianti, ma adesso non riesco a recuperarle.

Qualcuno può fare un po' di luce, please?

Grazie!Last edited by geps2 on Wed Sep 05, 2007 5:03 pm; edited 1 time in total

----------

## Ic3M4n

in /boot solitamente hai un link simbolico a se stesso, quindi /boot/boot/boot/boot/boot/boot/boot/boot/boot/ è uguale a /boot

se metti /boot in una partizione separata utilizzare (hdx,x)/boot o (hdx,x) è identico.

unica cosa io solitamente non metto la boot in raid ma la tengo fuori dal raid, a meno che non sia un raid1. altrimenti mi sa che non funziona nulla, il raid software non è ancora costruito e quindi non puoi raggiungere il file del kernel. o almeno... ai tempi era così.

----------

## geps2

 *Ic3M4n wrote:*   

> in /boot solitamente hai un link simbolico a se stesso, quindi /boot/boot/boot/boot/boot/boot/boot/boot/boot/ è uguale a /boot
> 
> se metti /boot in una partizione separata utilizzare (hdx,x)/boot o (hdx,x) è identico.
> 
> unica cosa io solitamente non metto la boot in raid ma la tengo fuori dal raid, a meno che non sia un raid1. altrimenti mi sa che non funziona nulla, il raid software non è ancora costruito e quindi non puoi raggiungere il file del kernel. o almeno... ai tempi era così.

 

Quello è già testata, /boot è in RAID1 e non ho mai avuto problemi... con lilo.

Quindi mi stai dicendo che le tre configurazioni sono equilvalenti? Vado con il reboot?

----------

## Ic3M4n

se è in raid1 non ci sono problemi. il filesystem è accessibile dall'esterno. il problema è quando hai un raid4,5,6.

La seconda e la terza sono equivalenti, solo che hai un fallback sulla seconda partizione del raid1 se la prima non va.

nella prima hai la rescue su busybox. poi non so se tu hai configurato tutto correttamente, però mal che vada rientri con una live o via rete e sistemi quello che non va.

----------

## cloc3

 *Ic3M4n wrote:*   

> a meno che non sia un raid1. altrimenti mi sa che non funziona nulla, il raid software non è ancora costruito ...

 

anche io penso che sia così.

i tre esempi che hai proposto lo confermano.

in realtà non sono diversi tra loro, perché in tutti i casi il kernel viene prelevata da un'unica partizione, collocata su un disco unico ( hd0,0 oppure hd1,0 ). in linea di principio i software collocati su hd0,0 e quello su hd1,0 potrebbero essere del tutto diversi, anche quando il nome del file è lo stesso. molto spesso le partizioni di boot sono prodotte in doppia copia (raid1) e in quel caso se non funziona uno dei dischi puoi provare a partire dall'altro (grub lavora solo in lettura).

fa molta differenza, invece, i parametro root=/dev/md3 piuttosto che root=/dev/md2 perché significa che il kernel, dopo aver acquisito il controllo dell'hardware, proverà a caricare come root dei filesystem distinti. root=/dev/hda3 e root=/dev/md3 possono essere scambiati solo se hai un raid1 (doppia copia). ma attenzione, dopo avere fatto il boot su /dev/hda3, questa partizione non sarà più identica a /dev/hdb3, per cui un siccessivo boot da /dev/md3 potrebbe avere esiti imprevedibili.

----------

## geps2

 *Ic3M4n wrote:*   

> se è in raid1 non ci sono problemi. il filesystem è accessibile dall'esterno. il problema è quando hai un raid4,5,6.
> 
> La seconda e la terza sono equivalenti, solo che hai un fallback sulla seconda partizione del raid1 se la prima non va.
> 
> nella prima hai la rescue su busybox. poi non so se tu hai configurato tutto correttamente, però mal che vada rientri con una live o via rete e sistemi quello che non va.

 

Credo di sì. Beh, allora incrocio le dita.

Grazie!

----------

## geps2

 *cloc3 wrote:*   

>  *Ic3M4n wrote:*   a meno che non sia un raid1. altrimenti mi sa che non funziona nulla, il raid software non è ancora costruito ... 
> 
> anche io penso che sia così.
> 
> i tre esempi che hai proposto lo confermano.
> ...

 

I tre esempi non erano riferiti alla stessa configurazione: consideriamo assimilati quelli che impostano root su md2 e md3. Io per dire ho fatto / in RAID 1 su /dev/md2, e così ho impostato il parametro di grub: solo che ottengo un kernel panic:

```
md: Autodetecting RAID arrays.

md: autorun ...

md: autorun DONE.

VFS Cannot open root device "md2" or unknown-block(0,0)

Please append a correct "root=" boot option; here are the available partitions: 

0300 4194302 hda driver: ide-cdrom

Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
```

Che faccio?

----------

## Ic3M4n

il filesystem nel kernel l'hai messo? 

in ogni caso sembrerebbe che non ricrei il raid correttamente. hai impostato il numero della partizione a fd?

----------

## cloc3

 *geps2 wrote:*   

> 
> 
> ```
> 
> 0300 4194302 hda driver: ide-cdrom
> ...

 

credo che devi spiegargli di cercare hda da un'altra parte.

prova a usare un kernel senza il modulo per il cdrom, così sei sicuro che non fa più quell'asinata e guardi le cose da dentro.

dopo puoi controllare se esiste un motivo hardware. per esempio il cavetto del cdrom attaccato ad una porta poco usuale.

oppure puoi tenere tutto così e crearti una initrd ad hoc.

io avevo fatto una cosa per situazioni improbabili che ho messo qui. spero per te che qualcuno scopra una strada più breve.

----------

## geps2

 *cloc3 wrote:*   

>  *geps2 wrote:*   
> 
> ```
> 
> 0300 4194302 hda driver: ide-cdrom
> ...

 

No, ho scoperto cos'è: Nel BIOS avevo lasciato abilitato il controller SATA, senza fakeraid, solo AHCI:

```
SATA Controller Mode Option:       [Enhanced]

       SATA RAID Enable            [Disabled]

       SATA AHCI Enable            [Enabled]
```

ebbene, disabilitandolo del tutto

```
SATA Controller Mode Option:   [Compatible]
```

Il sistema parte.

Ora mi chiedo: mi conviene fare un initrd per caricare il driver di 'sto controller (che non so nemmeno quale diavolo è, a saperlo lo avrei configurato nel kernel), oppure tenerlo disabilitato?

Me lo chiedo perché ho paura che alcuni malfunzionamenti che ho riscontrato in passato sui dischi in RAID software dipendesser dal fatto che il controller non era abilitato...

Che ne pensate?

PS: si tratta di un controller SATA IBM ServeRaid 7e, un Adapted Host RAID: non lo consiglierei neanche al mio peggior nemico!Last edited by geps2 on Wed Sep 05, 2007 4:57 pm; edited 1 time in total

----------

## geps2

 *Ic3M4n wrote:*   

> il filesystem nel kernel l'hai messo? 
> 
> in ogni caso sembrerebbe che non ricrei il raid correttamente. hai impostato il numero della partizione a fd?

 

Sì, vedi sopra...

----------

