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

m
formattazioni e piccole aggiute su update-grub
Nessun oggetto della modifica
m (formattazioni e piccole aggiute su update-grub)
Riga 1: Riga 1:
== Introduzione ==
__NOTOC__
{|style="-moz-border-radius: 0.5em; width:100%; margin-top:+.7em; background-color:#F9F9FF; border: 1px solid #ccc"
|style="width:50%;color:#000"|
{| style="width:280px;border:solid 0px;background:none"
|-
| style="width:280px;text-align:center; white-space: nowrap; color:#000" |
<h1 style="font-size: 162%; border: none; margin: 0; padding:.1em; color:#000">
Indice delle Guide
</h1>
<div style="top: +0.2em; font-size: 100%">
Di seguito troverete l''''indice completo''' delle guide contenute su [[Guide@Debianizzati.Org:About|Wiki]].


Questa guida, intende aiutare l'utente a verificare e 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.
Potete anche navigare tra le guide scegliendo tra le '''[[Lista Categorie|categorie]]''' qua a destra.
</div>
|-
|}
<!-- ----------Portals Follow----------------------------- -->
|style="width:11%;font-size:95%;color:#000"|
* [[:Categoria:Apt|Apt]]
* [[:Categoria:Desktop|Desktop]]
* [[:Categoria:Hardware|Hardware]]
* [[:Categoria:Kernel|Kernel]]
|style="width:11%;font-size:95%;color:#000"|
* [[:Categoria:Laptop|Laptop]]
* [[:Categoria:Networking|Networking]]
* [[:Categoria:Shell|Shell]]
* [[:Categoria:Server|Server]]
|style="width:13%;font-size:95%;color:#000"|
* [[:Categoria:Sicurezza|Sicurezza]]
* [[:Categoria:Sistema|Sistema]]
* [[:Categoria:Tips&Tricks|Tips&Tricks]]
* '''[[Lista Categorie]]'''
|}


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.


{{ Warningbox |
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 <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.
Questo Wiki - '''[[Guide@Debianizzati.Org:About|Guide@Debianizzati.Org]]''' - vuole essere prima di tutto un punto di raccolta ideale per le conoscenze acquisite dai singoli durante l'uso di '''Debian GNU/Linux''' in ambito casalingo e/o lavorativo, in modo che il sapere di uno diventi quello di tutti.


== Note sulla migrazione da un sistema non-raid ad uno raid ==
Le guide ritenute meglio scritte e pi� approfondite, dopo un processo di controllo e revisione a cui tutti siete liberi di partecipare, vengono classificate [[:Categoria:Debianized|Debianized]] e contrassegnate dalla [[Debian Swirl]]: http://guide.debianizzati.org/images/swirl.png. Per ulteriori informazioni sul processo di revisione vedere: [[Aiuto:Contents#Evoluzione_delle_guide|Evoluzione delle guide]].


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.
Potete trovare un elenco completo delle guide '''Debianized''' in [[:Categoria:Debianized|questa pagina]].
 
A questo proposito, giusto due note che potrebbero esservi utili:
 
:<big>'''1. Migrazione di swap'''</big>
 
Regola a prescindere da qualunque flame: SWAP VA IN RAID! Altrimenti si rischia corruzione di dati nella memoria del sistema.
 
La parte piu' "complessa" della migrazione potrebbe essere proprio la partizione di swap, che va articolata in questi passaggi:
 
* commentare /etc/fstab  --> swap
* <code>cat /proc/swaps</code>  (oppure <code>swapon -s</code>)
* <code>swapoff /dev/hd{disk}{nSWAP}</code>
* controllare con <code>free</code>.
 
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:
 
  /dev/md3  none  swap sw  0  0
 
:<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':
 
* 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;
 
* 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>
 
* Usare una distribuzione live con supporto raid montando opportunamente
le partizioni sorgenti e di destinazione.
 
Gia che ci siamo, ricordiamo i comandi piu' usati per copiare da non-raid a raid:
 
# cp -axu  /  /mnt/md0
 
O, alternativamente, si può copiare il root system con <code>find</code> in pipe a <code>cpio</code>, così:
 
# cd /
# find . -xdev -print | cpio -dvpm /mnt/md0
 
o anche     
 
# find . -xdev -print0 | cpio -0pdvum --sparse /mnt
 
Per il resto delle istruzioni vale quanto scritto nel RootRaidDoc.97.html.
 
Occupiamoci ora del raid gia' funzionante della nostra cara debian.
 
== Files di una debian installata direttamente in raid. ==
 
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.
 
'''Quasi.'''
 
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.
 
Vediamo alcune differenze nei files di configurazione tra un sistema non-raid ed uno raid.
 
* Verifica delle unita' riconosciute da grub
 
  Non raid:
    cat /boot/grub/device.map
    (hd0)  /dev/hda
  Raid:
    cat /boot/grub/device.map
    (hd0)  /dev/hda
    (hd1)  /dev/hdc
 
* Parti rilevanti diverse in /boot/grub/menu.lst
 
  Non Raid:
    # kopt=root=/dev/hda1 ro
  - Una voce esempio:   
    title          Debian GNU/Linux, kernel 2.6.8-2-386
    root            (hd0,0)
    kernel          /boot/vmlinuz-2.6.8-2-386 root=/dev/hda1 ro
    initrd          /boot/initrd.img-2.6.8-2-386
    savedefault
    boot
  Raid:
    # kopt=root=/dev/md0 ro
  - Una voce esempio:   
    title          Debian GNU/Linux, kernel 2.6.8-2-386
    root            (hd0,0)
    kernel          /boot/vmlinuz-2.6.8-2-386 root=/dev/md0 ro
    initrd          /boot/initrd.img-2.6.8-2-386
    savedefault
    boot
 
* Il file "script" dentro initrd
 
  Non Raid:
    NO-raid:~# cd /tmp/
    NO-raid:/tmp# mkdir checkRD
    NO-raid:/tmp# cd checkRD
    NO-raid:/tmp/checkRD# cp /boot/initrd.img-2.6.8-2-386 .
    NO-raid:/tmp/checkRD# mkdir RD
    NO-raid:/tmp/checkRD# mount -t cramfs initrd.img-2.6.8-2-386 RD -o loop
    NO-raid:/tmp/checkRD# cat RD/script
      unload_unused_ide '' pdc202xx_new ecc.ecc.ecc.
      ROOT=/dev/hda1
    NO-raid:/tmp/checkRD# umount RD
   
  Raid:
    SI-raid:~# cd /tmp/
    SI-raid:/tmp# mkdir checkRD
    SI-raid:/tmp# cd checkRD/
    SI-raid:/tmp/checkRD# cp /boot/initrd.img-2.6.8-2-386 .
    SI-raid:/tmp/checkRD# mkdir RD
    SI-raid:/tmp/checkRD# mount -t cramfs initrd.img-2.6.8-2-386 RD -o loop
    SI-raid:/tmp/checkRD# cat RD/script
      unload_unused_ide '' pdc202xx_new ecc.ecc.ecc.ecc.
      mdadm -A /dev/md1 -R -u 98533c90:d9371f7f:81d1ed14:52ac901a
              /dev/hda2 /dev/hdc2
      ROOT=/dev/md0
      mdadm -A /dev/md0 -R -u 1b1d819d:1d22603a:9be3ef56:bbdb1083
              /dev/hda1 /dev/hdc1
    SI-raid:/tmp/checkRD# umount RD
 
* Il file <tt>/etc/mdadm/mdadm.conf</tt>
 
  Raid:
    DEVICE partitions
    ARRAY /dev/md1 level=raid1 num-devices=2 UUID=42b38c30:b5f7607b:
                      a1816991:4e0bdf0f devices=/dev/hda2,/dev/hdc2
    ARRAY /dev/md0 level=raid1 num-devices=2 UUID=1b1d819d:1d22603a:
                      9be3ef56:bbdb1083 devices=/dev/hda1,/dev/hdc1
 
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. ==
 
Dovendo installare su entrambi i dischi grub nel [[MBR]] per far avviare un raid con un solo disco, qualunque dei due esso possa essere, il classico problema e' assicurarsi che possa partire da hda o da hdc in caso di guasto di uno dei due dischi, sempre ammesso che il bios supporti l'avvio da piu' dischi e sia possibile specificarne l'ordine di boot, per esempio prima "hdc" piuttosto che "hda", cosa ottimale, auspicabile, ma alla fine non indispensabile come vedremo.
 
Veniamo al primo punto, ovvero installare grub anche nel [[MBR]] di hdc, cosa che rappresenta il 99% delle operazioni da fare su un sistema raid appena avviato.
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:
 
; Procedura1: In console:
    # grub
            (se avete /boot/grub/device.map corretto, usate
                grub --device-map /boot/grup/device.map
              perche' e' molto piu' veloce)
    >> grub> device (hd0) /dev/hdc
    >> grub> root (hd0,0)
    >> grub> setup (hd0)
    >> grub> quit
 
Fatto. Ora il sistema e' in grado di avviarsi anche da hdc se il bios lo permette.
Ma questo lo avete provato prima di fare il raid, vero? (Ripeto pero', non e' indispensabile).
 
Poi c'e' la seconda procedura:
 
; Procedura2: In console:
    # grub --device-map=/boot/grub/device.map
    >> root (hd0,0)
    >> setup (hd0)
    >> root (hd1,0)
    >> setup (hd1)
    >> quit
 
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 forse) o meglio, da quello che ho letto, il comando "device" utilizzato nella prima procedura con grub dovrebbe essere usato nel caso non vi sia un valido /boot/grub/devices.map (e non e' il nostro caso) mentre sembra venga utilizzato solamente per "ingannare" temporaneamente sulla destinazione del Master Boot Record dove verra' installato grub. Concorderete che la seconda procedura sembra molto piu' chiara, anche se le prove mi dicono che pure questo secondo metodo non e' esente da problemi in caso di guasto di uno dei due dischi del raid (in particolare del primo - hda).
 
== Post-installazione Raid. ==
 
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>.
 
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 <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.
 
{{Warningbox|A raid funzionante, è importantissimo che proviate ad avviare il raid da hdc con il floppy}}
 
Prova di funzionamento:
* Inserire il floppy di recupero grub
* Riavviare il pc
* 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):
 
    grub>
    1. grub>root (hd1,0)
    2. grub>kernel /boot/vmlinuz-2.6.8-blabla root=/dev/md0 ro
    3. grub>initrd /boot/initrd-2.6.8-blabla
    4. grub>boot
 
:''Spieghiamo:''
:; 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,
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
:; 4 : diciamo a grub, caricato kernel e initrd di avviare il sistema.
 
Se il sistema si avvia, abbiamo tutto quello che ci serve.
 
== Avaria 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.
 
Se il raid va in degraded mode ed il disco incriminato e' hdc ovvero /proc/mdstat indica "(U_)", non ci sono grandi problemi. Il boot naturale su hda e' sempre li'; si puo' avviare un sistema con un disco solo o cambiare hdc, partizionare il disco nuovo, e ripristinare facilmente il raid.
 
Se invece il raid va in degraded mode ed il disco incriminato e' hda "(_U)", allora qualche problema potrebbe anche esserci, ma anche soluzioni, per fortuna.
 
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:''
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.
 
In realta' se si riesce a far partire il disco da hdc come 1st boot target del bios basterebbe avere nel menu.lst una cosa di questo tipo gia' pronta per questa evenienza:
 
<pre>
title        Debian GNU/Linux, kernel 2.6.8-2-686 HD1 BOOT
root        (hd1,0)
kernel      /boot/vmlinuz-2.6.8-2-686 root=/dev/md0 ro
initrd      /boot/initrd.img-2.6.8-2-686
savedefault
boot
</pre>
 
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
Segue la lista completa delle guide attualmente presenti:
 
__TOC__
e
 
### 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.
 
== Simulazione di avaria di un disco e sua sostituzione. ==
 
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 <tt>### END DEBIAN AUTOMAGIC KERNELS LIST</tt> in <tt>/boot/grub/menu.lst</tt>:
 
<pre>
  title        Debian GNU/Linux, kernel 2.6.8-2-686 HD1 BOOT
  root        (hd1,0)
  kernel      /boot/vmlinuz-2.6.8-2-686 root=/dev/md0 ro
  initrd      /boot/initrd.img-2.6.8-2-686
  savedefault
  boot
</pre>
 
Ora la sequenza di comandi:
<pre>
  mdadm --set-faulty /dev/md0 /dev/hda1    ( --> "/" )
  mdadm --remove /dev/md1 /dev/hda1
  mdadm --set-faulty /dev/md1 /dev/hda2    ( --> "swap" )
  mdadm --remove /dev/md1 /dev/hda1
</pre>
 
Ripetere per eventuali altre partizioni.
 
A questo punto siamo in "(_U)" con tutte le partizioni del raid (verificare con cat /proc/mdstat).
 
Ora che il raid e' in degraded mode, senza riavviare,
diamo un bel <tt>cfdisk /dev/hda</tt> e CANCELLIAMO TUTTE LE PARTIZIONI.
 
Ora per essere sicuri che il disco sia completamente pulito, dovremmo vuotare di ogni suo contenuto anche l'[[MBR]] usando un sistema brutale ma efficace, ovvero un comando del tipo
<pre>
# dd if=/dev/zero of=/dev/hda bs=512 count=1
</pre>
Pero' occorre fare attenzione! La struttura del [[MBR]] e' la seguente:
<pre>
466 bytes : codice boot
64 bytes : tabella partizioni
  2 bytes : "magic number 55AA"
</pre>
Pertanto a seconda di come vorrete condurre le prove, potrebbe essere che vi basti eliminare il codice boot e salvaguardare la tabella delle partizioni; quindi sarebbe sufficiente:
* dd if=/dev/zero of=/dev/hda bs=466 count=1
Un modo piu' attento di procedere contemplerebbe il salvataggio dei dati che state per cancellare, quindi un backup di sicurezza non starebbe male:
* dd if=/dev/hda bs=512 count=1 of=/root/mbr_images/myFullMBR_512
* dd if=/dev/hda bs=466 count=1 of=/root/mbr_images/myBootMBR_466
* dd if=/dev/hda bs=1 count=66 skip=446 of=/root/mbr_images/myPartitionsMBR_66
(vedere http://lists.pluto.it/pipermail/pluto-help/2004-December/019117.html).
Insomma, l'ideale sarebbe avere proprio un altro disco completamente pulito. Tutto questo perche' se non puliamo il [[MBR]] di hda, al reboot verra' letto il Master Boot Record con lo "Stage1" di grub e poi si inchiodera' il sistema perche' i riferimenti alle rimanenti parti di grub ormai eliminato insieme alle partizioni non saranno trovati.
 
Fatta la pulizia del [[MBR]] procediamo con un <code># reboot</code>.


Nel 99,99% dei casi non dovrebbe partire.
== Mondo Debian ==
=== Introduzione a Debian ===
* [[L' Universo Debian]]
* [[La struttura della Distribuzione]]


== Recupero del sistema. ==
=== Installazione ===
* http://guide.debianizzati.org/images/swirl.png [[Guida a Grub]]
* [[Jigdo | '''Jigdo''': Scaricare e Aggiornare le iso di Debian]]
* [[Note sull'installazione di Debian]]


Se potete avviare da hdc come 1st boot target e scegliere la voce che abbiamo aggiunto sopra dopo <tt>### END DEBIAN AUTOMAGIC KERNELS LIST</tt> fatelo e saltate la fase successiva del floppy (oppure fatela comunque o provate entrambe le strade).
=== Gestione dei Pacchetti ===
* [[Introduzione all' Apt System]]
* [[I repository ed il loro utilizzo]]
* http://guide.debianizzati.org/images/swirl.png [[Pulire Debian]]
* [[Apt-cdrom | '''Apt-cdrom''': aggiunta di cd/dvd nella lista dei repository]]
* [[Apt-file: ricerca all'interno dei pacchetti | '''Apt-file''': ricerca all'interno dei pacchetti]]
* [[Apt-listbugs: come monitorare i bug | '''Apt-listbugs''': come monitorare i bug]]
* [[Apt-zip: aggiornamenti senza una connessione veloce | '''Apt-zip''': aggiornamenti senza una connessione veloce]]
* [[Apt-spy: trovare i mirror pi� veloci | '''Apt-spy''': trovare i mirror pi� veloci]]
* [[APT uso avanzato: mixare releases diverse]]
* http://guide.debianizzati.org/images/swirl.png [[Impedire l' aggiornamento di un pacchetto]]
* [[Aptitude | '''Aptitude''': come amministrare i pacchetti]]


Inserire il floppy e resettone hardware; poi con grub fatto partire da floppy:
=== Creazione e modifica dei pacchetti ===
<pre>
* http://guide.debianizzati.org/images/swirl.png [[Make-jpkg: Pacchettiziamo Java Sun| '''Make-jpkg''': Pacchettiziamo Java Sun]]
    grub>
* [[Pacchetti binari e sorgenti]]
    grub>root (hd1,0)
* [[Applicare una patch ad un pacchetto Debian]]
    grub>kernel /boot/vmlinuz-2.6.8-blabla root=/dev/md0 ro
* [[Apt-build: ottimizzazione dei pacchetti | '''Apt-build''': ottimizzazione dei pacchetti]]
    grub>initrd /boot/initrd-2.6.8-blabla
* [[Dpkg-sig: Firma dei packages .deb |  '''Dpkg-sig''': Firma dei packages .deb]]
    grub>boot
* [[Pacchetizzare un tema per Bootsplash]]
</pre>
* [[Backport da unstable in testing]]
Dato che questa prova e' gia' stata fatta all'inizio, non dovrebbero essere novita'.


Copiamo le partizioni da hdc ad hda (disco nuovo), attenzione a non sbagliare:
=== Gestione dei pacchetti Lato Server ===
<pre>
* [[Apt-Proxy: un proxy per i pacchetti Debian| '''Apt-Proxy''': un proxy per i pacchetti Debian]]
# sfdisk -d /dev/hdc | sfdisk /dev/hda
* [[Debmirror: creiamo un mirror Debian |'''Debmirror''': creiamo un mirror Debian]]
</pre>
* [[Creare un Repository Debian]]
potrebbe essere necessario
* [[Gestione di un repository con debarchiver]]
<pre>
* [[Usare apt-cacher per creare una cache dei pacchetti usabile in una LAN]]
# sfdisk -d /dev/hdc | sfdisk --force /dev/hda
* [[Dupload per l'upload dei pacchetti Debian]]
</pre>
se non volete rischiare, ma salvare in un file per le "emergenze" (che non e' una cattiva idea)
<pre>
# sfdisk -d /dev/hdc > /root/mbr_hdc.txt
# sfdisk /dev/hda < /root/mbr_hdc.txt
</pre>


{{ Warningbox | Verificare per quanto sopra eventuali problemi con le partizioni
==Configurazione Sistema==
logiche. Forse da usare sfdisk con le opzioni <tt>-O e -I</tt>.
===Kernel===
Interessante anche l'opzione <code>-V -l</code> per il check delle partizioni.
* http://guide.debianizzati.org/images/swirl.png [[Debian Kernel Howto]]
<code>man sfdisk</code>.}}
* [[Esempio configurazione kernel]]
* [[Kernel2.6.10 - Framebuffer - Gensplash Patch]]
* [[Kernel 2.6 su Debian Woody]]
* [[Compilazione Kernel 2.6.11 con Bootsplash]]
* [[Pagina di manuale di module-assistant|Pagina di manuale di '''<tt>module-assistant</tt>''']]
* [[Low-latency 2.6 kernel per applicazioni audio realtime]]
* [[Script: Confronto Configurazioni Kernel]]


Infine potete anche creare le partizioni manualmente con <code>fdisk /dev/hda</code>. Attenzione! Non possono essere piu' piccole di quelle su hdc altrimenti non potra' avvenire la ricostruzione del raid. Inoltre, se usate fdisk, ricordatevi di rendere avviabile la partizione che contiene /boot e marcare le partizioni del raid come type "fd".
===Sistema===
* [[SysV | Il sistema SysV per la gestione dei Runlevel]]
* [[Udev e Debian]]
* [[Configurare il server X in Debian GNU/Linux]]
* [[Linux Admin Quick Reference]]
* [[Debian: accelerare GTK con Cairo e Glitz]]


Ricostruiamo il raid.
===Applicazioni Esterne===
<pre>
* [[Pacchettizzare ed installare Xorg su Debian Sid]]
  # mdadm --zero-superblock /dev/hda1
* [[Installazione Qemu con supporto accelerazione Kqemu]]
  # mdadm --zero-superblock /dev/hda2
* [[ePSXe Emulatore Playstation]]
  # mdadm --add /dev/md0 /dev/hda1
* [[Installare OpenOffice2 su Debian Etch]]
  # mdadm --add /dev/md1 /dev/hda2
* [[DVD Backup: xDVDShrink per Debian]]


  Ripetere per eventuali altre partizioni.
===Altro===
</pre>
* [[Dual Boot Debian-Altra distribuzione Linux]]
* [[Dual Boot Linux-Windows|Dual Boot Linux-Windows: usare il bootloader di windows]]
* [[Logging su MySQL]]
* [[Password sicure: la base della sicurezza informatica]]
* [[Script Bash per Avvio e Visualizzazione dati Seti@home]]


Con un occhio su /proc/mdstat per verificare la progressione della ricostruzione; in pratica alla fine appare comunque un messaggio sulla console. Ora il sistema dovrebbe essere di nuovo a posto "(UU)" per tutte le partizioni in raid.
===Tips and Tricks===
====Bash====
* [[Bash tips]]: un elenco di trucchetti sull'uso interattivo e sullo scripting Bash
* [[Colorare bash]]
* [[Come abilitare il completamento automatico 'avanzato']]
* [[Un logout con schermo pulito]]
* [[Bash Script: Cambiare i permessi ricorsivamente]]
* [[Due simpatici login: welcome2l e linuxlogo]]


Infine ripristiniamo l'[[MBR]] su hda, cosa da non dimenticare.
====Firefox====
<pre>
* [[Firefox: Disattivare la ricerca con il tasto centrale]]
# grub
* [[Velocizzare Firefox per la banda larga]]
    (se device.map e' corretto, e' piu' veloce:
* [[Il vostro motore di ricerca da Firefox]]
    grub --device-map=/boot/grub/device.map)
* [[Aggiungere un motore di ricerca al quicksearch di Firefox]]
  grub> root (hd0,0)
  grub> setup (hd0)
  grub> quit
</pre>


'''Importante''': in console da DENTRO il sistema, MAI USARE il comando "boot" ma "quit". Il comando "boot" si usa da console attivata da floppy o nel menu.lst.
====Altro====
* [[Convertire immagini .nrg in immagini .iso]]
* [[Nautilus: navigare con una sola finestra]]
* [[Associare a Thunderbird il browser preferito]]
* [[Antispam in Evolution con Bogofilter]]
* [[Impostare la lingua italiana nel sistema]]
* [[Impostare  e modificare data e ora]]
* [[Impostare e modificare il layout della tastiera]]
* [[Abilitare_Xinerama | Multi monitor con Xinerama]]
* [[Abilitare ESound con ALSA in Gnome]]
* [[Cambiare il Tema dei Cursori per il Mouse]]
* [[Xfce e shutdown da utente]]
* [[Personalizzare il comportamento delle finestre con Devil's Pie]]
* [[Gimp: rendere un logo trasparente|'''Gimp''': rendere un logo trasparente]]
* [[Eseguire comandi con gli shortcuts di Gnome]]


Togliere il floppy (si puo' fare subito dopo il boot).
==Networking==
===Debian Server===
====Condivisione risorse====
* [[Directory shared tra macchine linux (nfs)]]
* [[Condivisione risorse con Samba]]
* [[sshfs | Montare una directory remota con sshfs]]


'''Reboot "prova del 9" finale.'''
====Mailing====
* [[Mail Server Sicuro con Postfix]]


== Effetti ottici..... molto magnetici! ==
====Http====
* [[Server Web Casalingo]]
* [[LAMP: Linux, Apache, MySQL e PHP]]
* [[XAMPP: Linux, Apache, MySQL e PHP facili]]
* [[Debian MapServer/MapScript]]


Per non creare confusione, questa nota si trova in un paragrafo dedicato. La fase di simulazione di avaria poteva anche essere fatta in questo modo:
===Amministrazione===
====Gestione Remota/Locale====
* [[Wake On Lan | '''Wake On Lan''' per accendere i propri PC a distanza tramite la LAN]]
* [[Debian e il controllo di servizi e demoni]]
* [[Gestione della banda in Apache]]
* [[Ssh e autenticazione tramite chiavi]]
* [[Inetd e i servizi di rete]]


Spegnamo il pc ed estraiamo hda. (si assume che il bios riesce ad avviare da hdc)
====Connettivita'====
* [[Condividere la connessione a internet]]


Riaccendiamo; dovrebbe partire in degraded mode, tipo "(_U)" per tutte le md esistenti sui due dischi.
===Sicurezza===
====Firewalling====
* [[Debian e iptables]]
* [[Firewall Builder]]
* [[Parametri a run-time per Netfilter]]


Bene, spegnamo, rimettiamo hda e riavviamo.
====Monitoraggio & Scanning====
* [[Monitoriamo il Sistema]]
* [[Mrtg: monitoriamo la banda]]
* [[Cacti | Cacti: monitor di rete, per pi� computer]]
* [[Munin]]


Il raid naturalmente si riavvia sempre in degraded mode "(_U)"; poi restituiamo hda al raid attendendo il tempo necessario con un occhio su /proc/mdstat:
====Proxy====
<pre>
* [[Privoxy: navigazione sicura a prova di spam]]
      mdadm --add /dev/md0 /dev/hda1
      mdadm --add /dev/md1 /dev/hda2
      ecc.ecc.
</pre>


'''Curiosità:'''
====Tunneling====
* [[Openvpn]]


Rimettendo un disco facente parte di uno swap_in_raid ho notato
== Hardware ==
che la unione delle partizioni di swap_in_raid viene fatta automaticamente dal sistema (apparentemente non occorre mdadm --add), cioe' il raid swap si porta automaticamente in uno stato "(UU)". Dopodiche' si potranno aggiungere al raid le varie partizioni di hda aggiungendole man mano ai rispettivi md con 'mdadm --add'
=== Fotocamere digitali e dispositivi di memorizzazione di massa removibili ===
* [[Usare Fotocamere Digitali|Usare Fotocamere Digitali (libgphoto2)]]
* [[Usare Fotocamere Digitali (usb-storage)]]
* [[UsbMount: Gestione automatizzata delle periferiche usb di memorizzazione]]
* [[Debian e iPod]]


Sembrerebbe tutto bello, pulito e lineare.
=== Modem e periferiche di rete ===
In realta' non e' cosi' banale.


Ovvero, e' da spiegare perche' il raid si avvia normalmente in tutti e due i casi:
* [[Debian e i Modem ADSL]]


a) Quando spegnamo il pc, estraiamo hda, e accendiamo, nella catena grub, hd1 diventa hd0 e grub "rialloca" il sistema di boot e riesce a partire grazie ai suoi riferimenti "hd0" anche nel [[MBR]] di hdc.
==== Modem USB ADSL ====
* [[Installare i driver conexant accessrunner]]
* [[Installare i driver eagle-adsl]]
* [[Installare i driver eci-adsl]] ''(stub)''
* [[Installare i driver unicorn (BeWAN)]] ''(stub)''
* [[Modem adsl Telindus ND220]]
* [[Modem adsl Aethra Starmodem]]
* [[Modem adsl Fastrate 100 USB]]


b) Quando spegnamo il pc, rimettiamo hda, e riaccendiamo, il sistema va in degraded raid e "lavora" solo hdc, ma tutto il sistema di boot viene comunque letto da hda. Per questo nella procedura "pulita" abbiamo cercato "di rasare" il piu' possibile hda, proprio per non incorrere in "false partenze" che potrebbero indurre a vedere le cose in maniera distorta dal loro reale funzionamento (pero' potrebbe valere anche per chi scrive.)
==== Modem Ethernet ====
* ''Inserire qui eventuali guide su modem ethernet''


Per questo ho optato per il recovery via floppy. Siate metodici ed il piu' fedeli possibile alla realta' nelle prove.
==== Modem dial-up 56K ====
* ''Inserire qui eventuali guide su modem a 56K''


== /etc/init.d/ ==
==== Schede di rete Wireless ====
* [[Wireless Support | Informazioni sul supporto alle periferiche Wireless]]
* [[Script Bash abilitazione scheda wireless]]
* [[Intel PRO/Wireless 2200BG]]
* [[NdisWrapper | NdisWrapper: Usiamo i driver di Windows per il WLan con GNU/Linux]]


In /etc/init.d il pacchetto "mdadm" di debian prevede due script di inizializzazione:
=== Schede Video ===
<pre>
* [[Installazione Driver ATI per schede ATI RADEON MOBILITY 9700 SE]]
/etc/init.d/mdadm + /etc/default/mdadm
# Start the RAID monitor daemon for all active md arrays if desired.
</pre>
linkato in /etc/rc2[3-4-5].d/S25mdadm, e che si occupa di informare (di solito) root indicato in /etc/default/mdadm e poi comunque l'utente "normale" previsto in /etc/aliases per la posta di root, sullo stato del raid, cosa particolarmente utile nell'eventualita' di un guasto ad un disco,
e
<pre>
/etc/init.d/mdadm-raid + /etc/default/mdadm
# Start any arrays which are described in /etc/mdadm/mdadm.conf
# and which are not running already.
</pre>
linkato in /etc/rcS.d/S25mdadm-raid, e che si occupa, come scritto nel commento, di attivare delle partizioni in raid non ancora inizializzate ed attive. Una possibilita' potrebbe essere per esempio un raid di partizioni non attivato durante il montaggio del filesystem e quindi non descritto in /etc/fstab.


== Debian "dietro le quinte" del raid ==
=== Stampanti ===
==== Stampanti USB ====
* ''Inserire eventuali guide su come far funzionare stampanti con porta USB''


Alla fine di tutto questo discorso, non bisogna dimenticare che la debian toglie diverse castagne dal fuoco, e molte procedure sono automatizzate. Per esempio ci sono tanti file di config e scriptini che girano, per esempio all'aggiornamento di un kernel. Vediamone uno, che casualmente coinvolge kernel, initrd e quindi anche raid.
==== Stampanti con porta parallela ====
<pre>
* [[Introduzione all'installazione di stampanti con porta parallela]]
  # cat /etc/kernel-img.conf
  do_symlinks = yes
  relative_links = yes
  do_bootloader = no
  do_bootfloppy = no
  do_initrd = yes
  link_in_boot = no
  postinst_hook = /sbin/update-grub
  postrm_hook  = /sbin/update-grub
</pre>
uhm.... consiglio di leggersi /sbin/update-grub e man 5 kernel-img.conf  (kernel-package.deb)


Quanto sopra potremmo anche considerarlo "trasparente", pero' non bisogna mai dimenticarsi di esplorare il sistema e capire cosa e' coinvolto nei vari processi automatizzati di debian.
==== Stampanti bluetooth ====
* [[Introduzione all'installazione di stampanti bluetooth]]


Per esempio provare a scrivere in console  "update" e poi battere TAB TAB.
=== Scanner ===
Li conoscete tutti?
* [[Epson Perfection 2480 photo - usb scanner]]
E' possibile rintracciare anche altri comandi che fanno parte del magico mondo di configurazione debian, o quanto meno e' bene sapere che esistono e darci un'occhiata, con "locate config | grep bin".
* ''Inserire qui eventuali altre guide su come far funzionare scanner con Debian''


== Comandi "mdadm" di maggior utilizzo ==
=== Palmari e cellulari ===
* [[Debian e Nokia 7210: uso di gnokii e gestione degli sms]]
* [[UMTS/GPRS PCMCIA card (3g)]]
* [[Usare lcd4linux con un Palm]]


Per concludere, una serie di comandi "mdadm" per l'amministrazione del raid di piu' frequente utilizzo.
=== Altro hardware ===
* [[I2c e lm-sensors|'''I2c e lm-sensors''': usare i sensori della scheda madre]]
* [[Gestire gli HD: stato di salute, badblocks e ripristino dati|'''Gestire gli HD:''' stato di salute, badblocks e ripristino dati]]


<pre>
==Portatili==
- Cancellare informazioni "MD" dal superblocco di una partizione:
===Laptop Debianizzati===
  mdadm --zero-superblock /dev/hdXx
Troverete di seguito i resoconti d'installazione di Debian su dei portatili:
</pre>
Azzerare sempre il superblocco delle partizioni di un'unita' disco prima di aggiungerle ad un raid in particolare se quelle partizioni sono gia' state usate in un precedente raid e quindi contengono delle informazioni che potrebbero confondere il sistema; vedere rootraiddoc.97.html.
<pre>
- Rimuovere una partizione da un array:
  mdadm --set-faulty /dev/md1 /dev/hda1
  mdadm --remove /dev/md1 /dev/hda1
- Sostituire un disco guasto, o aggiungere una partizione ad un raid:
  mdadm --add /dev/md1 /dev/hda1
  (le partizioni devono gia' esistere; questa operazione formatta e copia i dati
  dal disco esistente al nuovo disco)
- Creare il file mdadm.conf:
  echo "DEVICE /dev/hda /dev/hdc" > /etc/mdadm/mdadm.conf
  mdadm --brief --detail --verbose /dev/md0 >> /etc/mdadm/mdadm.conf
  mdadm --brief --detail --verbose /dev/md1 >> /etc/mdadm/mdadm.conf
- Per fermare completamente un array:
  mdadm -S /dev/md0
    (NB: Non e' possibile farlo "da dentro" il raid)
- Ottenere informazioni sul raid:
  mdadm --examine --scan
  mdadm --query --detail /dev/md0
</pre> 


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  :-)
* [[Debian on an HP nx8220 | Debian on an HP nx8220]]
* [[Debian on a presario 2141EU | Compaq Presario 2100 (2141EU)]]
* [[Debian on a compaq Presario 2154EA | Compaq Presario 2100 (2154EA)]]
* [[Debian on a Toshiba Satellite M30X-113| Toshiba M30x-113]] ''(stub)''
* [[Debian on a HP Compaq NX6110| HP Compaq NX6110]]
* [[Debian on an HP pavilion zv5422EA| HP pavilion zv5000 (zv5422EA)]]


== Link ==
===Altro===
L'ultimo rootraiddoc.XX.html:
* [[Powernowd: CpuScaling per AMD]]
* http://alioth.debian.org/project/showfiles.php?group_id=30283
* [[Cpufreqd: Cpuscaling per Intel Pentium M]]
Mdadm e Grub
* [[ACPI e DSDT]]
* [[Synaptics touchpad]]
* Inserire qui anche link a risorse in italiano sui portatili


* http://freshmeat.net/projects/mdadm/
==Debian Live==
* http://linuxcommand.org/man_pages/mdadm8.html
* [[Rimasterizzare una knoppix]]
* http://www.gnu.org/software/grub/
* [[Damn Small Linux su chiavetta usb]]
* [[Guida_a_Grub]]
The Linux Documentation Project: Software Raid Howto (il documento piu' aggiornato):
* http://www.tldp.org/HOWTO/Software-RAID-HOWTO.html
* http://www.tldp.org/HOWTO/Software-RAID-HOWTO-7.html#ss7.3
Grub + Raid e discussione sulla "clonazione" del [[MBR]] da hda ad hdc:
* http://www.linuxsa.org.au/mailing-list/2003-07/1270.html
* http://www.linuxsa.org.au/mailing-list/2003-07/1271.html
* http://www.linuxsa.org.au/mailing-list/2003-07/1273.html
* http://deb.riseup.net/storage/grub/?a=source 
Articolo da "debian-administration" ed un suo aggiornamento entrambi con ampie discussioni:
* http://www.debian-administration.org/articles/238
* http://www.debian-administration.org/users/philcore/weblog/4
Altre guide relative a "migrazione" su software-raid:
* 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
* 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
* http://www.fam.tuwien.ac.at/~schamane/sysadmin/ctsrvraid/
* http://xtronics.com/reference/SATA-RAID-Debian.htm
* http://xtronics.com/reference/SATA-RAID-debian-for-2.6.html
* http://www.wlug.org.nz/SoftwareRaid
* http://www.parisc-linux.org/faq/raidboot-howto.html
Quando il gioco si fa duro: Root-on-LVM-on-RAID HOWTO
* http://www.midhgard.it/docs/index_en.html


==Crittografia==
* [[Crittografia e Steganografia - L'Arte di nascondere le informazioni]]
* [[Chiavi simmetriche e chiavi pubbliche]]


--
==Varie==
Autore: [[Utente:Robiz|Robiz]]
* [[Debian Fun]]
[[Categoria:Sistema]]
1 760

contributi