Software Raid 1: configurazione e verifiche: differenze tra le versioni

riformattato fino a "Similazione avaria..."
mNessun oggetto della modifica
(riformattato fino a "Similazione avaria...")
Riga 1: Riga 1:
== Introduzione ==
== Introduzione ==


Questa guida, intende aiutare l'utente a verificare rifinire la configurazione di un SOFTWARE-RAID-1 su sarge a seguito di un'installazione raid effettuata al momento del partizionamento ed a verificarne l'effettiva efficacia in caso di problemi ad uno dei due dischi avvalendosi di grub come strumento di aiuto in casi di emergenza.
Questa guida, intende aiutare l'utente a verificare rifinire la configurazione di un SOFTWARE-RAID-1 su '''Debian Sarge''' a seguito di un'installazione raid effettuata al momento del partizionamento, ed a verificarne l'effettiva efficacia in caso di problemi ad uno dei due dischi avvalendosi di grub come strumento di aiuto in casi di emergenza.
 
E' scritto in modo semplice come controllare il proprio raid installato, come collaudare il raid simulando un guasto ad uno dei due dischi, quali problemi possono sorgere e come risolverli, in modo da essere pronti e sapere cosa fare se il guasto dovesse avvenire veramente.
E' scritto in modo semplice come controllare il proprio raid installato, come collaudare il raid simulando un guasto ad uno dei due dischi, quali problemi possono sorgere e come risolverli, in modo da essere pronti e sapere cosa fare se il guasto dovesse avvenire veramente.


Riga 7: Riga 8:
Se pero' mentre fate queste prove, il pc vi "scoppia", non potete prendervela con questa guida, mentre correzioni ed integrazioni alla presente sono ben accette. }}
Se pero' mentre fate queste prove, il pc vi "scoppia", non potete prendervela con questa guida, mentre correzioni ed integrazioni alla presente sono ben accette. }}


Questa guida non tratta la migrazione raid, documentata dettagliatamente in /usr/share/doc/mdadm/rootraiddoc.97.html, anche se ci sono alcuni suggerimenti all'inizio di questo documento non presenti nel rootraiddoc.97.html che potrebbero essere di aiuto.
Questa guida non tratta la migrazione raid, documentata dettagliatamente in <tt>/usr/share/doc/mdadm/rootraiddoc.97.html</tt>, anche se ci sono alcuni suggerimenti all'inizio di questo documento non presenti nel <tt>rootraiddoc.97.html</tt> che potrebbero essere di aiuto.
 
Con sarge, il ''debian-installer'' prevede una costruzione del raid direttamente durante la fase di partizionamento (attenzione che puo' anche fallire, non e' al "100%" sicuro che vada a buon fine). Utilizzando l'initrd, i moduli per il raid sono ora precaricati prima del boot del sistema e pertanto non e' necessario avere il supporto raid compilato nel kernel.


== Note sulla migrazione da un sistema non-raid ad uno raid ==


Con sarge, il debian-installer prevede una costruzione del raid direttamente durante la fase di partizionamento (Attenzione che puo' anche fallire; non e' al "100%" sicuro che vada a buon fine). Utilizzando initrd, i moduli per il raid sono ora precaricati prima del boot del sistema e pertanto non e' necessario avere il supporto raid compilato nel kernel.
La migrazione da un sistema non-raid ad uno raid e' ampiamente e perfettamente descritta nel documento '''/usr/share/doc/mdadm/rootraiddoc.97.html''' che contempla sia una migrazione con lilo e supporto md compilato NEL kernel, sia una migrazione con grub con supporto md NON nel kernel ma nel initrd, ovvero l'estensione del kernel con moduli che vengono precaricati in un "ramdisk" prima di lanciare il boot vero e proprio del sistema.


A questo proposito, giusto due note che potrebbero esservi utili:


== Note su "Migrazione da un sistema non-raid ad un sistema raid." ==
<big>'''> 1. Migrazione di swap'''</big>


La migrazione da un sistema non-raid ad uno raid e' ampiamente e perfettamente descritta nel documento '''/usr/share/doc/mdadm/rootraiddoc.97.html''' che contempla sia una migrazione con lilo e supporto md compilato NEL kernel, sia una migrazione con grub con supporto md NON nel kernel ma nel initrd, ovvero l'estensione del kernel con moduli che vengono precaricati in un "ramdisk" prima di lanciare il boot vero e proprio del sistema.
Regola a prescindere da qualunque flame: SWAP VA IN RAID! Altrimenti si rischia corruzione di dati nella memoria del sistema.
A questo proposito, giusto due note che potrebbero esservi utili:
 
La parte piu' "complessa" della migrazione potrebbe essere proprio la partizione di swap, che va articolata in questi passaggi:


* Migrazione di swap
* commentare /etc/fstab  --> swap
: Regola a prescindere da qualunque flame: SWAP VA IN RAID! Altrimenti si rischia corruzione di dati nella memoria del sistema.
* <code>cat /proc/swaps</code>  (oppure <code>swapon -s</code>)
: La parte piu' "complessa" della migrazione potrebbe essere proprio la partizione di swap, che va articolata in questi passaggi:
* <code>swapoff /dev/hd{disk}{nSWAP}</code>
* controllare con <code>free</code>.


<pre>
Poi per creare swap in raid avremo
- commentare /etc/fstab  --> swap
- cat /proc/swaps  (oppure swapon -s)
- swapoff /dev/hd{disk}{nSWAP}
- controllare con free.


  Poi per creare swap in raid avremo
* <code>mkswap -c /dev/md3</code>  (per esempio)
* <code>swapon md3</code>
* in <tt>/etc/fstab</tt>, prima in hda, poi nel raid, metteremo:


- mkswap -c /dev/md3  (per esempio)
- swapon md3
- in /etc/fstab, prima in hda, poi nel raid, metteremo:
   /dev/md3  none  swap sw  0  0
   /dev/md3  none  swap sw  0  0
</pre>


* Copiare le partizioni a "runlevel 1" o in "single" mode.
<big>'''> 2. Copiare le partizioni a "runlevel 1" o in "single" mode'''</big>
: Una cosa che non c'e' nel RootRaidDoc97 e' il suggerimento di andare in "init 1" per disattivare il piu' servizi possibili prima di copiare da hd a md-degraded. Se decidete di farlo, ci sono diverse possibilita':
 
<pre>
Una cosa che non c'e' nel RootRaidDoc97 e' il suggerimento di andare in "init 1" per disattivare il piu' servizi possibili prima di copiare da hd a md-degraded. Se decidete di farlo, ci sono diverse possibilita':
riavviare Lilo con 'LinuxXXX single' (praticamente un 'init 1'),
 
oppure ancora piu' drastico, riavviare Lilo con LinuxXXX init=/bin/bash
* riavviare Lilo con "LinuxXXX single" (praticamente un <code>init 1</code>), oppure ancora piu' drastico, riavviare Lilo con LinuxXXX init=/bin/bash in modo da ottenere un avvio con '/' in readonly;
in modo da ottenere un avvio con '/' in readonly;


Avere in menu.lst (grub) l'opzione "single" dopo il kernel
* Avere in menu.lst (grub) l'opzione "single" dopo il kernel. Se non l'avete basta duplicare una voce normale di avvio, aggiungere <code>(recovery mode)</code> alla fine del title, ed aggiungere <code>single</code> alla fine della riga del kernel. E' possibile al posto di single mettere anche <code>init=/bin/bash</code>
Se non l'avete basta duplicare una voce normale di avvio,
aggiungere "(recovery mode)" alla fine del title,
ed aggiungere "single" alla fine della riga del kernel.
E' possibile al posto di single mettere anche init=/bin/bash
    
    
Usare una distribuzione live con supporto raid montando opportunamente  
* Usare una distribuzione live con supporto raid montando opportunamente  
le partizioni sorgenti e di destinazione.
le partizioni sorgenti e di destinazione.


Gia che ci siamo, ricordiamo i comandi piu' usati per copiare da non-raid a raid:
Gia che ci siamo, ricordiamo i comandi piu' usati per copiare da non-raid a raid:
    # cp -axu  /  /mnt/md0  
 
Or, alternatively, you could copy the root system with 'find'
# cp -axu  /  /mnt/md0  
piped to 'cpio', like this:
 
    # cd /
O, alternativamente, si può copiare il root system con <ode>find</code> in pipe a <code>cpio</code>, così:
    # find . -xdev -print | cpio -dvpm /mnt/md0
 
# cd /
# find . -xdev -print | cpio -dvpm /mnt/md0
 
o anche       
o anche       
    # find . -xdev -print0 | cpio -0pdvum --sparse /mnt
 
</pre> 
# find . -xdev -print0 | cpio -0pdvum --sparse /mnt


Per il resto delle istruzioni vale quanto scritto nel RootRaidDoc.97.html.
Per il resto delle istruzioni vale quanto scritto nel RootRaidDoc.97.html.


Occupiamoci ora del raid gia' funzionante della nostra cara debian.
Occupiamoci ora del raid gia' funzionante della nostra cara debian.


== Files di una debian installata direttamente in raid. ==
== Files di una debian installata direttamente in raid. ==
Riga 71: Riga 69:
Si suppone un sw-raid-1 hda + hdc con almeno due partizioni in raid cioe' "/" e swap. Il bootloader grub e' stato installato nel mbr di hda durante l'installazione.
Si suppone un sw-raid-1 hda + hdc con almeno due partizioni in raid cioe' "/" e swap. Il bootloader grub e' stato installato nel mbr di hda durante l'installazione.
Se avete optato per una installazione raid con il debian-installer al momento del partizionamento e tutto e' andato a buon fine, mamma debian dovrebbe aver fatto quasi tutto il lavoro per voi.  
Se avete optato per una installazione raid con il debian-installer al momento del partizionamento e tutto e' andato a buon fine, mamma debian dovrebbe aver fatto quasi tutto il lavoro per voi.  
<br/>
 
'''Quasi.'''
'''Quasi.'''
<br/>
 
Quello che manca di sicuro e' la installazione di grub del mbr da hda sul secondo disco (Trattata avanti, da lèggere!!)
Quello che manca di sicuro e' la installazione di grub del mbr da hda sul secondo disco (Trattata avanti, da lèggere!!). Inoltre e' compito dell'amministratore vedere che tutti gli altri parametri nei vari files siano stati assegnati correttamente verificandoli.
Inoltre e' compito dell'amministratore vedere che tutti gli altri parametri nei vari files siano stati assegnati correttamente verificandoli.
 
<br/>
Vediamo alcune differenze nei files di configurazione tra un sistema non-raid ed uno raid.
Vediamo alcune differenze nei files di configurazione tra un sistema non-raid ed uno raid.


<pre>
* Verifica delle unita' riconosciute da grub
- Verifica delle unita' riconosciute da grub
 
   Non raid:
   Non raid:
     cat /boot/grub/device.map
     cat /boot/grub/device.map
Riga 89: Riga 86:
     (hd1)  /dev/hdc
     (hd1)  /dev/hdc


- Parti rilevanti diverse in /boot/grub/menu.lst
* Parti rilevanti diverse in /boot/grub/menu.lst
 
   Non Raid:
   Non Raid:
     # kopt=root=/dev/hda1 ro
     # kopt=root=/dev/hda1 ro
Riga 109: Riga 107:
     boot
     boot


- Il file "script" dentro initrd
* Il file "script" dentro initrd
 
   Non Raid:
   Non Raid:
     NO-raid:~# cd /tmp/
     NO-raid:~# cd /tmp/
Riga 132: Riga 131:
       unload_unused_ide '' pdc202xx_new ecc.ecc.ecc.ecc.
       unload_unused_ide '' pdc202xx_new ecc.ecc.ecc.ecc.
       mdadm -A /dev/md1 -R -u 98533c90:d9371f7f:81d1ed14:52ac901a  
       mdadm -A /dev/md1 -R -u 98533c90:d9371f7f:81d1ed14:52ac901a  
          /dev/hda2 /dev/hdc2  
              /dev/hda2 /dev/hdc2  
       ROOT=/dev/md0
       ROOT=/dev/md0
       mdadm -A /dev/md0 -R -u 1b1d819d:1d22603a:9be3ef56:bbdb1083  
       mdadm -A /dev/md0 -R -u 1b1d819d:1d22603a:9be3ef56:bbdb1083  
          /dev/hda1 /dev/hdc1
              /dev/hda1 /dev/hdc1
     SI-raid:/tmp/checkRD# umount RD
     SI-raid:/tmp/checkRD# umount RD


- Il file /etc/mdadm/mdadm.conf
* Il file <tt>/etc/mdadm/mdadm.conf</tt>
 
   Raid:
   Raid:
     DEVICE partitions
     DEVICE partitions
     ARRAY /dev/md1 level=raid1 num-devices=2 UUID=42b38c30:b5f7607b:
     ARRAY /dev/md1 level=raid1 num-devices=2 UUID=42b38c30:b5f7607b:
              a1816991:4e0bdf0f devices=/dev/hda2,/dev/hdc2
                      a1816991:4e0bdf0f devices=/dev/hda2,/dev/hdc2
     ARRAY /dev/md0 level=raid1 num-devices=2 UUID=1b1d819d:1d22603a:
     ARRAY /dev/md0 level=raid1 num-devices=2 UUID=1b1d819d:1d22603a:
              9be3ef56:bbdb1083 devices=/dev/hda1,/dev/hdc1
                      9be3ef56:bbdb1083 devices=/dev/hda1,/dev/hdc1
</pre>


Comunque, a parte l'installazione di grub anche nel secondo mbr (quello di hdc), da fare a manina e testare, la debian dovrebbe aver fatto tutto il lavoro di costruzione opportuno e la configurazione precisa di tutti i files citati sopra durante la costruzione dell'initrd per il raid e la configurazione di grub per l'avvio in raid con kernel e initrd caricati da hda.
Comunque, a parte l'installazione di grub anche nel secondo mbr (quello di hdc), da fare a manina e testare, la debian dovrebbe aver fatto tutto il lavoro di costruzione opportuno e la configurazione precisa di tutti i files citati sopra durante la costruzione dell'initrd per il raid e la configurazione di grub per l'avvio in raid con kernel e initrd caricati da hda.


== Grub sul Master Boot Record del secondo disco in raid. ==
== Grub sul Master Boot Record del secondo disco in raid. ==
Riga 157: Riga 155:
In "letteratura" si trovano sostanzialmente due tipi di procedure suggerite; la prima piu' diffusa e avvalorata anche dal Software-Raid-HOWTO (tldp.org), consiste nell'inserire nel mbr di hdc la stessa configurazione del mbr di hda, confidando nel fatto che quando dovesse mancare hda, hdc in qualche modo prenderebbe il posto di hda e automagicamente tutto dovrebbe andare; vedremo poi, che proprio cosi' non e', pero' dato che male non fa, e' la procedura che consiglio pure io comunque di attuare, ovvero:
In "letteratura" si trovano sostanzialmente due tipi di procedure suggerite; la prima piu' diffusa e avvalorata anche dal Software-Raid-HOWTO (tldp.org), consiste nell'inserire nel mbr di hdc la stessa configurazione del mbr di hda, confidando nel fatto che quando dovesse mancare hda, hdc in qualche modo prenderebbe il posto di hda e automagicamente tutto dovrebbe andare; vedremo poi, che proprio cosi' non e', pero' dato che male non fa, e' la procedura che consiglio pure io comunque di attuare, ovvero:


<pre>
; Procedura1: In console:
"Procedura1" - In console:
     # grub
     # grub
             (se avete /boot/grub/device.map corretto, usate
             (se avete /boot/grub/device.map corretto, usate
Riga 167: Riga 164:
     >> grub> setup (hd0)
     >> grub> setup (hd0)
     >> grub> quit
     >> grub> quit
</pre>


Fatto. Ora il sistema e' in grado di avviarsi anche da hdc se il bios lo permette.
Fatto. Ora il sistema e' in grado di avviarsi anche da hdc se il bios lo permette.
Riga 173: Riga 169:


Poi c'e' la seconda procedura:
Poi c'e' la seconda procedura:
<pre>
 
"Procedura2" - In console:
; Procedura2: In console:
     # grub --device-map=/boot/grub/device.map
     # grub --device-map=/boot/grub/device.map
     >> root (hd0,0)
     >> root (hd0,0)
Riga 181: Riga 177:
     >> setup (hd1)
     >> setup (hd1)
     >> quit  
     >> quit  
</pre>


Che assegna in maniera "democratica" a tutti e due gli mbr la stessa configurazione di grub/menu.lst.
Che assegna in maniera "democratica" a tutti e due gli mbr la stessa configurazione di <tt>grub/menu.lst</tt>.
In pratica i due metodi dovrebbero essere equivalenti, in teoria non lo so e non lo ho trovato scritto da nessuna
parte (e se stava scritto non l'ho capito probabilmente) ma le prove mi dicono che anche questo sistema
non e' privo di problemi in caso di fail di uno dei due dischi del raid (in particolare del secondo).


In pratica i due metodi dovrebbero essere equivalenti, in teoria non lo so e non lo ho trovato scritto da nessuna parte (e se stava scritto non l'ho capito probabilmente) ma le prove mi dicono che anche questo sistema non e' privo di problemi in caso di fail di uno dei due dischi del raid (in particolare del secondo).


== Post-installazione Raid. ==
== Post-installazione Raid. ==
Riga 193: Riga 186:
Una volta tirato su il raid con migrazione o durante l'installazione assieme al partizionamento,  
Una volta tirato su il raid con migrazione o durante l'installazione assieme al partizionamento,  


'''Prima di tutto''' fate un disco grub per qualsiasi evenienza: <tt>grub-floppy /dev/fd0</tt>
'''Prima di tutto''' fate un disco grub per qualsiasi evenienza: <tt>grub-floppy /dev/fd0</tt>.
<br/>
 
Grub-floppy e' un utility del pacchetto grub.deb, ma esiste ampia documentazione che spiega a costruirne uno anche manualmente mettendo sul floppy i files giusti nella sequenza ed al posto giusto. Esiste anche documentazione per prepararsi un grub avviabile da cd.
Grub-floppy e' un utility del pacchetto debian di grub, ma esiste ampia documentazione che spiega a costruirne uno anche manualmente mettendo sul floppy i files giusti nella sequenza ed al posto giusto (ad es. vedi [[Guida a Grub]]). Esiste anche documentazione per prepararsi un grub avviabile da cd.


Usate tutti i riferimenti nel /boot/grub/menu.lst riferendovi ad hd0 e /dev/mdX (in realta' dovrebbero gia' esserci, messi in automatico durante l'installazione).
Usate tutti i riferimenti nel <tt>/boot/grub/menu.lst</tt> riferendovi ad hd0 e /dev/mdX (in realta' dovrebbero gia' esserci, messi in automatico durante l'installazione).


Clonate l'mbr secondo la "procedura1" di cloning. Se avete dubbi potete usare anche la "procedura2", entrambi descritte in precedenza.
Clonate l'mbr secondo la "procedura1" di cloning. Se avete dubbi potete usare anche la "procedura2", entrambi descritte in precedenza.


A raid funzionante, provate ad avviare il raid da hdc con il floppy !!!!! PROVA IMPORTANTISSIMA!!!
{{Warningbox|A raid funzionante, è importantissimo che proviate ad avviare il raid da hdc con il floppy}}
<pre>
 
- Inserire il floppy di recupero grub
Prova di funzionamento:
- Riavviare il pc
* Inserire il floppy di recupero grub
- Se l'ordine di boot nel bios e' corretto,
* Riavviare il pc
  verra' intercettato il floppy e avviato grub
* Se l'ordine di boot nel bios e' corretto, verra' intercettato il floppy e avviato grub che ci fornira' una potente console di avvio. Scriviamo nell'ordine (adattando, al caso):
  che ci fornira' una potente console di avvio.
  Scriviamo nell'ordine (adattando, al caso)
    
    
     grub>  
     grub>  
Riga 216: Riga 207:
     4. grub>boot
     4. grub>boot


    Spieghiamo:
:''Spieghiamo:''
    1= diciamo a grub la partizione dove si trova /boot  (non "/" !!!)
:; 1 : diciamo a grub la partizione dove si trova <tt>/boot</tt> (non "/" !!!)
  *****************************************************************************
{{Warningbox|Se non ci fosse il disco in hda, e vorreste avviare da hdc,
  **  ATTENZIONE PERO' A QUESTA COSA PERCHE' E' IMPORTANTE:                  **
per la questione della "catena grub" che viene scalata in mancanza di
  **  Se non ci fosse il disco in hda, e vorreste avviare da hdc,           **
un'unita' elencata in devices.map, dovreste mettere "root (hd0,0)" !!!}}
  **  per la questione della "catena grub" che viene scalata in mancanza di **
 
  **  un'unita' elencata in devices.map, dovreste mettere "root (hd0,0)" !!! **
:; 2 : diciamo dove sta il kernel (funziona anche il l'autocompletamento con TAB)
  *****************************************************************************
:; 3 : diciamo dove sta l'initrd
  2= diciamo dove sta il kernel (funziona anche il l'autocompletamento con TAB)
:; 4 : diciamo a grub, caricato kernel e initrd di avviare il sistema.
  3= diciamo dove sta l'initrd
  4= diciamo a grub, caricato kernel e initrd di avviare il sistema.
  </pre>


Se il sistema si avvia, abbiamo tutto quello che ci serve.
Se il sistema si avvia, abbiamo tutto quello che ci serve.


 
== Avaria di uno dei due dischi in raid. ==
== Avarìa di uno dei due dischi in raid. ==


Vediamo invece problematiche di raid boot quando uno dei dischi provoca un degraded raid a seconda se e' hda, hdc, oppure se manca hda o hdc, oppure se si ripristina un hda o hdc, e cosa fare se il raid in qualunque di queste condizioni non dovesse partire.  
Vediamo invece problematiche di raid boot quando uno dei dischi provoca un degraded raid a seconda se e' hda, hdc, oppure se manca hda o hdc, oppure se si ripristina un hda o hdc, e cosa fare se il raid in qualunque di queste condizioni non dovesse partire.  
Riga 242: Riga 229:
Per esempio se togliete fisicamente hda dopo averlo marcato 'failed' e rimosso, e lasciate il raid con solo hdc, la "procedura1" di cloning del mbr sopperisce perfettamente al problema, in quanto grub usa una "catena" di dischi, e non trovando hd0, hd1 diventa hd0 e se il bios permette un boot di hdc allora il raid partira' anche con un disco solo in hdc. Questa cosa potrebbe funzionare quindi e sarebbe vincolata solo al bios-hardware.
Per esempio se togliete fisicamente hda dopo averlo marcato 'failed' e rimosso, e lasciate il raid con solo hdc, la "procedura1" di cloning del mbr sopperisce perfettamente al problema, in quanto grub usa una "catena" di dischi, e non trovando hd0, hd1 diventa hd0 e se il bios permette un boot di hdc allora il raid partira' anche con un disco solo in hdc. Questa cosa potrebbe funzionare quindi e sarebbe vincolata solo al bios-hardware.


Pero' non finisce qua:
''Pero' non finisce qua:''
nel momento in cui andate ad inserire un disco vuoto nuovo in hda senza mbr e partizioni, o peggio magari con un mbr gia' usato, o con altre partizioni contenenti un altro sistema, e' molto probabile che, o non parta niente, o parta il sistema che non c'entra niente e che sta su hda (a me e' capitato di veder partire un GAG). Per capirci, anche riuscendo a settare il bios con hdc come 1st boot target, non e' detto che il sistema faccia il boot, perche' ammesso che appaia il menu' di grub si dovrebbero modificare i riferimenti "al volo" di root (/boot) da hd0 a hd1. Per eseguire questa operazione, occorre che appaia il menu' di grub, dopodiche' ci si posiziona sulla voce del menu' che si vuole temporaneamente modificare e si preme il tasto "e" (il tasto "c" vi restituisce la console di grub); si modifica la root di grub da (hd0,0) a (hd1,0) e si preme il tasto "b" per continuare con il boot. E questa procedura appena descritta e' l'ultima possibilita' che resta per avviare un raid degraded "(_U)" da hdc, ovvero con l'aiuto del bios, intervenendo al volo su grub, e senza usare il floppy disk.
nel momento in cui andate ad inserire un disco vuoto nuovo in hda senza mbr e partizioni, o peggio magari con un mbr gia' usato, o con altre partizioni contenenti un altro sistema, e' molto probabile che, o non parta niente, o parta il sistema che non c'entra niente e che sta su hda (a me e' capitato di veder partire un GAG). Per capirci, anche riuscendo a settare il bios con hdc come 1st boot target, non e' detto che il sistema faccia il boot, perche' ammesso che appaia il menu' di grub si dovrebbero modificare i riferimenti "al volo" di root (/boot) da hd0 a hd1. Per eseguire questa operazione, occorre che appaia il menu' di grub, dopodiche' ci si posiziona sulla voce del menu' che si vuole temporaneamente modificare e si preme il tasto "e" (il tasto "c" vi restituisce la console di grub); si modifica la root di grub da (hd0,0) a (hd1,0) e si preme il tasto "b" per continuare con il boot. E questa procedura appena descritta e' l'ultima possibilita' che resta per avviare un raid degraded "(_U)" da hdc, ovvero con l'aiuto del bios, intervenendo al volo su grub, e senza usare il floppy disk.


Riga 256: Riga 243:
</pre>
</pre>


In questo caso occorrerebbe fare attenzione al fatto che update-grub, che viene chiamato in causa dopo l'installazione di nuovi kernel, creerebbe un nuovo menu.lst facendo sparire tutte le modifiche apportate manualmente, perlomeno quelle tra  
In questo caso occorrerebbe fare attenzione al fatto che <code>update-grub</code>, che viene chiamato in causa dopo l'installazione di nuovi kernel, creerebbe un nuovo menu.lst facendo sparire tutte le modifiche apportate manualmente, perlomeno quelle tra
'''### BEGIN AUTOMAGIC KERNELS LIST'''
### BEGIN AUTOMAGIC KERNELS LIST
 
e
e
'''### END DEBIAN AUTOMAGIC KERNELS LIST'''
 
per cui attenzione alle personalizzazioni di menu.lst e leggersi man update-grub e /etc/kernel-img.conf, fatevi una copia di menu.lst e verificate i vari files dopo ogni installazione di qualche nuovo kernel (alla debian-way ovviamente).
### END DEBIAN AUTOMAGIC KERNELS LIST
 
per cui attenzione alle personalizzazioni di <tt>menu.lst</tt> e leggersi <tt>man update-grub</tt> (e la [[Guida a Grub]]) e <tt>/etc/kernel-img.conf</tt>, fatevi una copia di <tt>menu.lst</tt> e verificate i vari files dopo ogni installazione di qualche nuovo kernel ([[Debian kernel Howto|alla debian-way]] ovviamente).


Vedremo piu' avanti durante la fase di test del raid altri tipi di problemi che possono sorgere.
Vedremo piu' avanti durante la fase di test del raid altri tipi di problemi che possono sorgere.


== Simulazione di avaria di un disco e sua sostituzione. ==
== Simulazione di avaria di un disco e sua sostituzione. ==
Riga 269: Riga 259:
A raid funzionante dove /proc/mdstat --> "(UU)" per tutte le partizioni usate nel raid, mandiamo in avaria simulata il disco hda.
A raid funzionante dove /proc/mdstat --> "(UU)" per tutte le partizioni usate nel raid, mandiamo in avaria simulata il disco hda.


Se il vostro bios permette di far avviare hdc come 1st boot target aggiungete pure queste righe dopo ### END DEBIAN AUTOMAGIC KERNELS LIST in /boot/grub/menu.lst
Se il vostro bios permette di far avviare hdc come 1st boot target aggiungete pure queste righe dopo <tt>### END DEBIAN AUTOMAGIC KERNELS LIST</tt> in <tt>/boot/grub/menu.lst</tt>:
 
<pre>
<pre>
   title        Debian GNU/Linux, kernel 2.6.8-2-686 HD1 BOOT  
   title        Debian GNU/Linux, kernel 2.6.8-2-686 HD1 BOOT  
Riga 281: Riga 272:
Ora la sequenza di comandi:
Ora la sequenza di comandi:
<pre>  
<pre>  
-   mdadm --set-faulty /dev/md0 /dev/hda1    ( --> "/" )
   mdadm --set-faulty /dev/md0 /dev/hda1    ( --> "/" )
-   mdadm --remove /dev/md1 /dev/hda1
   mdadm --remove /dev/md1 /dev/hda1
-   mdadm --set-faulty /dev/md1 /dev/hda2    ( --> "swap" )
   mdadm --set-faulty /dev/md1 /dev/hda2    ( --> "swap" )
-   mdadm --remove /dev/md1 /dev/hda1
   mdadm --remove /dev/md1 /dev/hda1
</pre>


Ripetere per eventuali altre partizioni.
Ripetere per eventuali altre partizioni.
</pre>


A questo punto siamo in "(_U)" con tutte le partizioni del raid (verificare con cat /proc/mdstat).  
A questo punto siamo in "(_U)" con tutte le partizioni del raid (verificare con cat /proc/mdstat).  
Ora che il raid e' in degrade mode, senza riavviare,
Ora che il raid e' in degrade mode, senza riavviare,
diamo un bel <tt>cfdisk /dev/hda</tt> e CANCELLIAMO TUTTE LE PARTIZIONI.
diamo un bel <tt>cfdisk /dev/hda</tt> e CANCELLIAMO TUTTE LE PARTIZIONI.
Riga 296: Riga 288:


Reboot.
Reboot.
Nel 99,99% dei casi non dovrebbe partire.
Nel 99,99% dei casi non dovrebbe partire.


== Recupero del sistema. ==
== Recupero del sistema. ==
Riga 454: Riga 446:


Sul RootRaidDoc97 c'e' un recupero veramente d'emergenza per avviare un raid dove proprio non ci sia possibilita' di avviare un supporto raid sul sistema in questione. Vedete di non trovarvi in questa situazione  :-)
Sul RootRaidDoc97 c'e' un recupero veramente d'emergenza per avviare un raid dove proprio non ci sia possibilita' di avviare un supporto raid sul sistema in questione. Vedete di non trovarvi in questa situazione  :-)


== Link ==
== Link ==
http://www.tldp.org/HOWTO/Software-RAID-HOWTO.html <br/>
* http://www.tldp.org/HOWTO/Software-RAID-HOWTO.html
http://www.tldp.org/HOWTO/Software-RAID-HOWTO-7.html#ss7.3 <br/>
* http://www.tldp.org/HOWTO/Software-RAID-HOWTO-7.html#ss7.3  
http://wiki.clug.org.za/wiki/RAID-1_in_a_hurry_with_grub_and_mdadm <br/>
* http://wiki.clug.org.za/wiki/RAID-1_in_a_hurry_with_grub_and_mdadm  
http://www.linuxhacker.at/howtos/debian-root-raid1-boot-initrd/index.html <br/>
* http://www.linuxhacker.at/howtos/debian-root-raid1-boot-initrd/index.html
http://www.linuxsa.org.au/mailing-list/2003-07/1270.html <br/>
* http://www.linuxsa.org.au/mailing-list/2003-07/1270.html  
http://www.linuxsa.org.au/mailing-list/2003-07/1271.html <br/>
* http://www.linuxsa.org.au/mailing-list/2003-07/1271.html  
http://www.linuxsa.org.au/mailing-list/2003-07/1273.html <br/>
* http://www.linuxsa.org.au/mailing-list/2003-07/1273.html  
http://www.debian-administration.org/articles/238 <br/>
* http://www.debian-administration.org/articles/238  
http://www.debian-administration.org/users/philcore/weblog/4 <br/>
* http://www.debian-administration.org/users/philcore/weblog/4  
http://www.epimetrics.com/topics/one-page?page_id=421&topic=Bit-head%20Stuff&page_topic_id=120%3EDebian <br/>
* http://www.epimetrics.com/topics/one-page?page_id=421&topic=Bit-head%20Stuff&page_topic_id=120%3EDebian  
http://www.linuxtrent.it/documentazione/wikilinux/RaidSoftwareSuDebian <br/>
* http://www.linuxtrent.it/documentazione/wikilinux/RaidSoftwareSuDebian
http://www.fam.tuwien.ac.at/~schamane/sysadmin/ctsrvraid/ <br/>
* http://www.fam.tuwien.ac.at/~schamane/sysadmin/ctsrvraid/  
http://xtronics.com/reference/SATA-RAID-Debian.htm <br/>
* http://xtronics.com/reference/SATA-RAID-Debian.htm  
http://xtronics.com/reference/SATA-RAID-debian-for-2.6.html <br/>
* http://xtronics.com/reference/SATA-RAID-debian-for-2.6.html  
http://www.doorbot.com/guides/linux/x86/grubraid/ <br/>
* http://www.doorbot.com/guides/linux/x86/grubraid/  
 
* http://www.whatever.ca/index.php?p=134&more=1  
http://www.whatever.ca/index.php?p=134&more=1 <br/>
* http://www.1u-raid5.net/  
http://www.1u-raid5.net/ <br/>
* http://www.wlug.org.nz/SoftwareRaid  
http://www.wlug.org.nz/SoftwareRaid <br/>
* http://lists.debian.org/debian-user/2002/debian-user-200206/msg02962.html  
http://lists.debian.org/debian-user/2002/debian-user-200206/msg02962.html <br/>
* http://www.midhgard.it/docs/index_en.html  
http://www.midhgard.it/docs/index_en.html <br/>
* http://www.linuxjournal.com/article.php?sid=5653  
http://www.linuxjournal.com/article.php?sid=5653 <br/>
* http://www.linuxjournal.com/article.php?sid=5898  
http://www.linuxjournal.com/article.php?sid=5898 <br/>
* http://lists.debian.org/debian-user/2003/debian-user-200304/msg03966.html  
http://lists.debian.org/debian-user/2003/debian-user-200304/msg03966.html <br/>
* http://lists.debian.org/debian-user/2002/debian-user-200208/msg04714.html  
http://lists.debian.org/debian-user/2002/debian-user-200208/msg04714.html <br/>
* http://www.parisc-linux.org/faq/raidboot-howto.html  
http://www.parisc-linux.org/faq/raidboot-howto.html <br/>
* http://fy.chalmers.se/~appro/linux/HOWTO-mirror-root.html
http://fy.chalmers.se/~appro/linux/HOWTO-mirror-root.html <br/>
* http://www.samag.com/documents/s=1155/sam0101g/0101g.htm  
http://www.samag.com/documents/s=1155/sam0101g/0101g.htm <br/>
* http://www-106.ibm.com/developerworks/linux/library/l-raid1/  
http://www-106.ibm.com/developerworks/linux/library/l-raid1/ <br/>
* http://www-106.ibm.com/developerworks/library/l-raid2/  
http://www-106.ibm.com/developerworks/library/l-raid2/ <br/>
* http://books.slashdot.org/books/03/02/11/1531243.shtml?tid=106  
 
* http://linux.oreillynet.com/pub/a/linux/2002/12/05/RAID.html  
http://books.slashdot.org/books/03/02/11/1531243.shtml?tid=106 <br/>
* http://gd.tuwien.ac.at/linuxcommand.org/man_pages/mdadm8.html  
 
* [[Guida_a_Grub]]
http://linux.oreillynet.com/pub/a/linux/2002/12/05/RAID.html <br/>
* http://deb.riseup.net/storage/grub/?a=source   
http://gd.tuwien.ac.at/linuxcommand.org/man_pages/mdadm8.html <br/>
 
http://guide.debianizzati.org/index.php/Guida_a_Grub <br/>
http://deb.riseup.net/storage/grub/?a=source  <br/>




1 760

contributi