# SW RAID-4 con Gentoo

## Alberto Santini

Ciao!

Allora, premetto che sono veramente inesperto di SW RAID e soprattutto di RAID-4... pero' in questi due giorni ho cercato di documentarmi quanto piu' possibile, pero' non ho trovato una guida/tutorial/articolo in cui ci sia veramente tutto, quindi prima di fare danno, ho deciso di postare qui i passi che *credo* dovrei seguire, in modo che qualche esperto di RAID, o comunque qualcuno che ci ha gia' provato, mi fermasse prima di fondere gli HD!

Ecco un po' di dati preliminari:

```

/dev/hda - MAXTOR 6Y080L0 - 80GB

********************************

   DEV - SIZE -               FS TYPE -       FS -  P. TYPE - MOUNT POINT

---------------------------------------------------------------------------

  hda1 - 10GB -                  LINUX -     NTFS - PRIMARIA - /mnt/win

  hda2 - 40GB -                  LINUX -     EXT3 - PRIMARIA - /depot

  hda3 -  1GB -     LINUX SWAP/SOLARIS -     SWAP - PRIMARIA - swap

  hda4 - 29GB -                  LINUX - REISERFS - PRIMARIA - /

/dev/hdb - MAXTOR 6Y080L0 - 80GB

********************************

   DEV - SIZE -               FS TYPE -       FS -  P. TYPE - MOUNT POINT

---------------------------------------------------------------------------

  hdb1 - 50GB -                 LINUX - REISERFS - PRIMARIA - /mp3

  hdb2 - 20GB -                 LINUX - REISERFS - PRIMARIA - /depot/ext

  hdb4 -      -                       -   ESTESA -          -

  hdb5 - 10GB -             W95 FAT32 -    FAT32 -   LOGICA - /depot/shared

/dev/hdd - MAXTOR 6L080L0 - 80GB

********************************

   DEV - SIZE -               FS TYPE -       FS -  P. TYPE - MOUNT POINT

  -------------------------------------------------------------------------

  hdd1 - 80GB - LINUX RAID AUTODETECT -          - PRIMARIA -

```

Successivamente ho emerso raidtools!

Quello che pensavo di fare e':

1) Cambiare /etc/raidtab

```

raiddev /dev/md0

        raid-level                4

        nr-raid-disks             2

        nr-spare-disks            0

        persistent-superblock     1

        chunk-size                32

        device                    /dev/hda1

        raid-disk                 0

        device                    /dev/hdb1

        raid-disk                 1

```

In tutti gli esempi su internet o sul man, ho sempre visto la partizione 1 del device, alla voce "device" di raidtab... ha senso questo? Includo cosi' tutto l'HD? E' perche' quelli che hanno scritto l'esempio avevano un'unica partizione? Allora dovrei mettere un "device" per ogni mia partizione? Ed e', quindi possibile mettere in RAID-4 questi ue dischi con partizioni diverse? (Dubbi amletici!)

2) mkraid /dev/md0

Che dovrebbe capire, visto che il tipo di FS e' "Linux Raid Autodetect", che deve usare /dev/hdd1 ... ma anche in questo caso non capisco se PRIMA devo installare un File System nella partizione, visto che in una guida mi consigliava di leggere "man mke2fs" (quindi si presuppone che il FS debba essere EXT?!) ma non ho trovato nulla di interessante.

3) reboot

E amen!

Ora: quante cavolate ho detto? Cosa era giusto e cosa sbagliato?

GRAZIE A TUTTI!

----------

## Ic3M4n

ma scusa... perchè raid4? non è meglio il 5? ha gli stessi pregi del 4 ma meno difetti.

----------

## Alberto Santini

Scusami, ice, ma quella e' una scelta gia' fatta.. la mia domanda riguardava COME implementare RAID-4, non se fosse meglio RAID-4 o RAID-5  :Smile: 

----------

## .:chrome:.

dimentica /etc/raidtab i raidtools sono ampiamente deprecati e non più supportati da un bel po' di tempo

partiziona i dischi assegnando alle partizioni il tipo fd (raid autodetect), poi usa mdadm

supponiamo tu voglia creare /dev/md0 da /dev/sda1, /dev/sdb1, e /dev/sdc1:

```
mdadm --create /dev/md0 --verbose -l 4 -n 3 /dev/sd{a,b,c}1
```

in ogni caso è meglo se leggi la documentazione d mdadm

----------

## Alberto Santini

 *k.gothmog wrote:*   

> partiziona i dischi assegnando alle partizioni il tipo fd (raid autodetect)

 

Ciao e grazie per la risposta... puoi essere un po' piu' specifico: dovrei *ripartizionare* tutti e due i miei dischi?! Oh cavoli! beh, se necessario posso farlo, usando il terzo disco di supporto per il backup dei dati. Ma, ammesso che lo faccia, poi come devo partizionare il terzo hard disk, che e' quello con il codice di parita' di hamming?

Ciao!

----------

## .:chrome:.

devi assegnare il tipo di partizione che ti ho detto.

che tu voglia ripartizionare o meno è indifferente, dato che dopo aver creato il RAID devi anche formattare il nuovo device, quindi si tratta di un'operazione in ogni caso distruttiva

----------

## Alberto Santini

Dunque *non* posso creare un raid e preservare i miei dati?! A T R O C E

Hai suggerimenti per limitare lo stress/i danni? visto che mi sembra che tu abbia gia' avuto a che fare con RAID, magari sai quali sono gli errori piu' comuni.. per me in questoperazione e' di PRIMARIA importanza il preservare tutti i dati attualmente presenti... (considera che ho gia' formattato il 3° disco ed ero afflitto... c'avevo sopra 8 sistemi operativi e lo usavo per smanettare  :Sad:  non vorrei perdere anche tutti i documenti, gli mp3 e gentoo!)

----------

## .:chrome:.

che io sappia no. non si può

forse potresti fare una cosa (ma non garantisco che la cosa funzioni e non me ne assumo la responsabilità)

supponiamo che tu abbia i dati in sda1 e che tu voglia aggiungere sdb1 e sdc1 che attualmente sono vuote.

potresti creare un RAID zoppo da tre unità sulle due vuote (in sostanza crei un RAID con una unità già in failure), dopo di ché AGGIUNGI l'unità con i dati che vuoi conservare al RAID. io spero che così facendo i dati vengano preservati, ma sono molto scettico, in merito.

al tuo posto farei comunque una prova con delle unità virtuali.

OT: lo so che non sono fatti miei, ma mi interesserebbe capire cosa ti ha portato a preferire un RAID-4 al RAID-5. solo per curiosità. ti va di raccontarcelo?

----------

## Cazzantonio

Moved from Forum italiano (Italian) to Forum di discussione italiano.

mi sembra più una discussione preliminare...

----------

## .:deadhead:.

Per un raid 1 io l'ho fatto ed è una mandrakata. Per altre tipologie di raid, dipende. Per partire puliti io sposterei altrove i dati e poi metterei in piedi il tutto.

Per curiosità, come mai proprio un raid4, se puoi ci racconti cosa ci devi fare?

----------

## Alberto Santini

Occhei... l'idea del RAID-4 era: non ho un buco libero negli Hard Disk, mi scoccia creare una partizioncina per la parita' in ogni disco perche' dovrei spostare dati con un disco di supporto... *ergo* metto un RAID-4 e via! Poi mi interessava anche il fatto di tenere i dischi "puliti", ovvero che levando il disco con il codice di parita' gli altri due sarebbero stati dei normali hard disk a quel punto senza partizioni per la parita' inutili (dal momento che l'array era rotto). A questo punto, visto che devo formattare tutto... posso anche mettere RAID-5! Solo che ora mi sorge il dubibo che tutte le partizioni con numeri uguali in dischi diversi debbano avere la stesa dimensione: (hda1 con hdb1 e hdd1, etc.) perche' non posso tenere il codice di parita' di una partizione da 30GB + una da 40GB in una da 10GB! In ultimo un'altra domanda: qual'e' il procedimento per ripristinare la perdita di dati nel caso nefasto che si perdano?

Grazie!

----------

## Ic3M4n

mi sa che stai facendo un po' di confusione...

 *Alberto Santini wrote:*   

> Poi mi interessava anche il fatto di tenere i dischi "puliti", ovvero che levando il disco con il codice di parita' gli altri due sarebbero stati dei normali hard disk a quel punto senza partizioni per la parita' inutili (dal momento che l'array era rotto). 

 

questa affermazione è falsa. ti spiego il perchè con un quote:

 *http://www.pluto.it/files/ildp/HOWTO/Software-RAID-HOWTO/Software-RAID-HOWTO-2.html#ss2.3 wrote:*   

> Questo livello RAID non è usato molto spesso. Può essere usato su tre o più dischi. Invece di fare un immagine (mirror) completa delle informazioni, esso tiene delle informazioni di parità su un disco e scrive i dati sugli altri dischi in una maniera simile al RAID-0.

 

questo vuol dire che tu difatto hai un raid0 con il codice di parità dei dati su un disco a parte. questo ti permette di salvare la partizione nel caso in cui ti si azzoppi il raid.

il pregio del raid5 sta nel fatto che (cito la stessa fonte di prima):

 *Quote:*   

> La grande differenza fra il RAID-5 ed il RAID-4 è che le informazioni di parità sono distribuite in modo uguale fra i dischi di cui è composto l'array, evitando così il collo di bottiglia che si creava nel RAID-4.

 

questo sta a significare che il raid5 sotto questo punto di vista è più performante mantenendo la stessa sicurezza. per questo ti avevo consigliato questo tipo di raid prendendo per buone logicamente le informazioni presenti su quell'howto ed alcune altre raccolte in rete (nell'attesa che k.gothmog mi smentisca   :Wink:  )

----------

## .:chrome:.

@Alberto Santini:

non vorrei aver capito male, ma se hai dischi (partizioni) di dimensioni diverse, scordati di farci dentro un RAID-{4,5}.

requisito fondamentale per i RAID in generale è che le partizioni coinvolte siano della stessa dimensione (circa). per il resto, io credo, come ha detto Ic3M4n, che tu abbia un po' frainteso il senso del Software-RAID-HOWTO, nel quale è possiabile capire anche il motivo  per cui è richiesto che i dischi (partizioni) siano di uguale dimensione.

alla fine chiedevi cosa fare in caso di perdita di dati... ma in che senso? era sempre riferito al RAID? se era così, è semplice: di solito si perdono dati perché un disco prende la via del cielo... questo ti viene segnalato dal sistema, che continua a funzionare ocn i dati ricostruiti dinamicamente, nel frattempo tu devi correre a procurarti un altro disco, inserirlòo nel sistema, preparare la partizione e fare l'hot-add. fatto questo parte in background il processo di ricostruzione del RAID che in poco tempo ripristina la situazione "normale"

----------

## Ic3M4n

 *k.gothmog wrote:*   

> nel quale è possiabile capire anche il motivo per cui è richiesto che i dischi (partizioni) siano di uguale dimensione. 

 

sotto questo punto di vista non sono molto daccordo, nel senso che purtroppo non ho la disponibilità economica per tirar su sempre un sistema con quattro hard disk delle stesse dimensioni. però posso assicurarti (che forse con prestazioni leggermente inferiori) riesco comunque a mantenere la ridondanza dei dati avendo cura logicamente di mantenere le partizioni che creano il raid di dimensioni uguali. 

ho due hard disk da 120G e due da 200G. puoi avere comodamente 4 partizioni da 120G e destinare gli 80G rimanenti sui 2 HD rimanenti per altri scopi. io per esempio ho il sistema del mio serverino in raid1 su una parte degli 80G, una parte la destino in raid0 per contenere i distfiles che giro per la lan ed il resto lo esporto con nfs per la lan con le home degli utenti. 

lo so che non è una situazione ottimale. ne sono conscio. però non trattandosi di un ambiente in prodizione in cui ogni problema si traduce in costi ma solo un sistema per autoapprendimento la prendo anche a cuor leggero.

----------

## .:chrome:.

si, infatti ho indicato "partizioni" tra parentesi.

era un modo sintetico (evidentemente troppo) per sottintendere che il RAID è nato, come concezione, sulle unità, che quindi dovevano essere uguali; ma nel caso di software-RAID, dal momento che questi si applica alle partizioni invece che alle unità, quel requisito cade in favore dell'uguaglianza di dimensione delle partizioni stesse

----------

## Alberto Santini

Occhei ragazzi! Ora e' tutto molto piu' chiaro: ringrazio k.gothmog e iceman!

Quando parlavo di recupero dati mi riferivo al fatto che spesso ho letto su internet che, ad esempio, un raid 5 ha piu' possibilita' di recupero di un raid 4.. ma, cavoli, se io faccio un raid e' perche' voglio che la possibilita' di recupero sia del 100%! Cavolate trovate su internet?

----------

## .:chrome:.

 *Alberto Santini wrote:*   

> Occhei ragazzi! Ora e' tutto molto piu' chiaro: ringrazio k.gothmog e iceman!
> 
> Quando parlavo di recupero dati mi riferivo al fatto che spesso ho letto su internet che, ad esempio, un raid 5 ha piu' possibilita' di recupero di un raid 4.. ma, cavoli, se io faccio un raid e' perche' voglio che la possibilita' di recupero sia del 100%! Cavolate trovate su internet?

 

decisamente. l'unica differenza tra RAID-4 e RAID-5 è la distribuzione della parità. in questo senso sono assolutamente identici.

per la cronaca, e tanto per chiarire, dato che mi sembra che non hai le idee molto chiare...

mettere i dischi in RAID significa creare delle partizioni, che andranno marcate come tipo "fd" (non sono sicuro che quasto sia assolutamente indispensabile) e creare il device RAID come unione di queste partizioni. a seconda del livello di RAID che scegli queste partizioni verranno trattate in modo diverso.

nel caso specifico di RAID-{4,5} le partizioni coinvolte vengono divise trasversalmente in "slices" (prendi un voglio di calcolo: le colonne sono le partizioni, e le righe sono le slices) formando una griglia a due dimensioni. le slices sono raggrupopate (le righe del foglio di calcolo) e i dati riepiono tutte le slice di un gruppo tranne una, che conterrà la parità. l'unica differenza tra i livelli 4 e 5 è che nel 4 c'è una partizione dedicata per la parità, mentre nel 5 la parità è distribuita a rotazione su tutte le partizioni, e questa parità viene generata in entrambe i casi con un'OR esclusivo (XOR) applicato bit-per-bit ad ogni blocco (da qui si capisce la necessità di avere partizioni di dimensione più o meno uguale).

http://storage-system.fujitsu.com/jp/term/raid/img/raid4.gif

http://storage-system.fujitsu.com/jp/term/raid/img/raid5.gif

quindi non devi predisporre nessun disco o partizione per la parità, perché viene gestita in modo dinamico dal sistema in modo per te del tutto trasparente.

entrambi i livelli 4 e 5 ti permettono la stessa probabilità di recupero dei dati, ma come detto nei post precedenti, dubito che si possa convertire una partizione in un RAID con un metodo non distruttivo.

se hai la possibilità di investire un po' e vuoi una garazia di sicurezza superiore, puoi puntare su RAID-6 che è l'unico che sopravvive al guasto di due dischi, anche se purtroppo un RAID-6 necessita di almeno 4 unità contro le 3 degli altri

----------

## Alberto Santini

Occhei.. ho solo l'ultimo dubbio: se la parita', come dici e' gestita in modo trasparente e a livello di slice e non partizioni, e io ho tre dischi partizionati in maniera UGUALE, ad es: tre partizioni da 10GB all'inizio del disco, e 3 partizioni da 70GB alla fine, io potro' usare 20GB/30GB delle prime e 140GB/210GB delle seconde, ma non dovro' specificare in quale delle prime o in quale delle seconde vada messo il codice di parita'! Quindi con RAID-4 avrei:

```

     0          30720        61440  62464      81957

HDA  |----RAID----|------------|------|---RAID---|

HDB  |------------|----RAID----|------|----------|

HDD  |------------|------------|-RAID-|----------|

```

dove le partizioni chiamate "raid" sono quelle col codice di parita', con RAID-5 devo solo preoccuparmi di crearle, metterle a tre a tre in un device RAID mdX ed il gioco e' fatto! Grandioso!  :Smile: 

----------

## .:chrome:.

 *Alberto Santini wrote:*   

> devo solo preoccuparmi di crearle, metterle a tre a tre in un device RAID mdX ed il gioco e' fatto!

 

si però ti ripeto che secondo me la creazione di un RAID è un'operazione non conservativa. saluta i tuoi dati

in risposta al tuo dubbio, se N è il numero di unità/partizioni coinvolte nel RAID, e C è la loro capacità, hai a disposizione uno spazio pari a C * (N - 1), e puoi creare il RAID se hai almeno tre dischi.

----------

## Ic3M4n

io non metterei due partizioni del raid su uno stesso disco. è una cosa altamente inefficiente, scrivi in due aree dello stesso disco teoricamente distanti contemporaneamente. il che equivale ad uccidere le prestazioni. inoltre quello che vuoi fare, ovvero mantenere i dati non lo puoi fare per un motivo semplice. potresti riuscire a mantenere i dati di una partizione creando il raid su di essa e marcando gli altri dischi come missing. però di tre dischi è impossible.

ti consiglierei di fare un po' di copia incolla dei file. spostando tutto quello che riesci su un hard disk ed il rimanente su supporti rimovibili. creare il raid con un hard disk missing, riversare il salvato nel raid e poi aggiungere il disco che hai utilizzato come deposito temporaneo.

----------

## Alberto Santini

 *Ic3M4n wrote:*   

> io non metterei due partizioni del raid su uno stesso disco. è una cosa altamente inefficiente, scrivi in due aree dello stesso disco teoricamente distanti contemporaneamente. il che equivale ad uccidere le prestazioni. inoltre quello che vuoi fare, ovvero mantenere i dati non lo puoi fare per un motivo semplice. potresti riuscire a mantenere i dati di una partizione creando il raid su di essa e marcando gli altri dischi come missing. però di tre dischi è impossible.
> 
> ti consiglierei di fare un po' di copia incolla dei file. spostando tutto quello che riesci su un hard disk ed il rimanente su supporti rimovibili. creare il raid con un hard disk missing, riversare il salvato nel raid e poi aggiungere il disco che hai utilizzato come deposito temporaneo.

 

E' proprio quello che voglio fare! Dei miei 3 Hard Disk ne ho svuotato uno proprio per questo  :Smile: 

----------

## Ic3M4n

beh... in questo caso però non crei il raid sulle partizioni esistenti. ma le generi al momento. mi sono perso il passaggio in cui spiegavi come volevi fare il passaggio su raid?

----------

