Newsgroup: it.comp.os.linux.sys
Titolo: RAID SOFTWARE DUBBI

Ho sempre avuto dubbi con il raid software utilizzandolo poco. E
quindi vi chiedo conferma di alcune cose. Ho reinstallato di fresco un
dedicato presente presso un hoster. Avevo a disposizione 4 dischi da
un 1TB e dunque vista l'abbondanza dei dischi ho proceduto a fare un
sistema raid. Nel partizionatore di configurazione, l'unica opzione
possibile da interfaccia era la mirror. Quindi le varie partizioni le
ha create utilizzando i 4 dischi.
 
La partizione di avvio si quesenta quindi formata cosi:
 
md1 : active raid1 sda1[0] sdd1[3] sdc1[2] sdb1[1]
      1022912 blocks [4/4] [UUUU]
 
Tutto come si vede è ok, le partizioni sono attive e il raid idem.
 
Il grub.conf è invece settato cosi:
 
 
default=0
timeout=5
 
        title CentOS Linux (2.6.32-71.29.1.el6.x86_64)
        kernel /vmlinuz-2.6.32-71.29.1.el6.x86_64 root=/dev/md2  ro
crashkernel=auto SYSFONT=latarcyrheb-sun16 LANG=en_US KEYTABLE=us
        root (hd0,0)
        initrd /initramfs-2.6.32-71.29.1.el6.x86_64.img
        title linux centos6_64
        kernel /bzImage-2.6.38.2-xxxx-grs-ipv6-64 root=/dev/md2  ro
        root (hd0,0)
 
 
 
Ora mi sorge qualche dubbio che spero mi aiutate a dissipare:
 
1) Essendo un raid software su 4 dischi, in linea *teorica* si possono
rompere fino a 3 dischi?
2) A parte dare il grub-install per sda1, sdb1, sdc1, sdd1, non mi
convince quel  root (hd0,0), non è che la config di grub nel caso di
guasto al primo disco non fa partire il server? oppure visto che se si
rompe sda il primo disco diventa sdb, di conseguenza essendo
installato il bootloader su sdb1 tutto parte regolarmente?
 
Sorry per le domande stupide, ma sono abituato con dei raid hardware,
tipo IBM Servraid e su questi "fondamentali" mi perdo.

Per cercare di rispondere alla domanda 1,
# cat /proc/mdstat
che dice?
Te lo chiedo perche', per quel poco che so, un RAID 1 con 4 dischi non esiste. Potrebbe essere un raid 111 (? che sw non mi risulta esistere per linux) o 11 con un disco di spare (stesso discorso) o un 1 con 2 dischi di spare o forse piu` probabilmente un raid 10, che in una situazione del genere verosimilmente avrebbe piu` senso, fornendo affidabilita` maggiore di un raid 1 (ma non come un 11) e prestazioni superiori allo stesso raid 1.
In ogni caso il comando di cui sopra dovrebbe far vedere di che stiamo parlando.

 installato il bootloader su sdb1 tutto parte regolarmente?
 
Dipende da come si rompe il disco.
 
-- 
Flavio Visentin
 
Scientists have finally discovered what's wrong with the female brain:
On the left side, there is nothing right, and on the right side, there
is nothing left.

Grazie. Non e` mai troppo tardi per imparare. 
 
Avevo un'idea fondamentalmente sbagliata del RAID 1 che non consiste nella ridondanza con duplicazione dei dati su due supporti, ma in generale su N, dove spesso N e` uguale a 1, ma puo` comunque essere anche maggiore, come in questo caso. 
A quanto capito, tanto maggiore e` N, quanto possono migliorare le prestazioni in lettura soprattutto se c'e` un controller diverso per ogni meccanica (multiplexing), mentre normalmente all'aumentare del numero di supporti possono degradarsi le prestazioni in scrittura, dovendo essere scritto il dato su N supporti (anche questo calo dovrebbe essere meno sensibile nel caso di controller diversi per diverse meccaniche).
 
Scuse e saluti

Sono stordito, avevi gia` scritto quello che credo sara` almeno parte dell'output di /proc/mdstat:
 
md1 : active raid1 sda1[0] sdd1[3] sdc1[2] sdb1[1] 
      1022912 blocks [4/4] [UUUU] 
 
E allora non capisco nemmeno io e resto in attesa di spiegazioni, dato che proprio non comprendo la riga di cui sopra, ovvero che mirror fa di che cosa, dato che l'ho sempre inteso e visto come un sistema 1 a 1.

 presente presso un hoster. 
 
scusa se rispondo deviando un po' ma... secondo me 
usare il raid sw su un server, visto quanto costano 
i controller raid, e' sbagliato. Rischi di 
penalizzare una macchina da.... 1000-2000 euro per 
risparmiarne 50.
 
-- 
Tinto
 
 


Dalla mia esperienza un controller da 50 Eu penalizza piï¿œ del Raid 
Software ( di solito ï¿œ un Fake raid ), parlando di 4 canali, per avere 
maggiori presatazioni e buone funzionalitï¿œ occorre spendere almeno 
220/250 Eu.
-- Yena --

 questo caso.
 
 
 
ad onor del vero moltissimi controller raid hardware e seri non 
permettono il mirroring multiplo, ma al massimo l'inserimento di hotspare.
 
A mio modo di vedere, in questo caso dove il mirroring multiplo non è 
possibile (e probabilmente se un ServeRaid IBM non lo fa ci sarà anche 
qualche motivo), il massimo dell'affidabilità la si ottiene sempre con 
un RAID6. Statisticamente è affidabilissimo ed ha un rapporto 
costo(dischi)/affidabilità senza paragoni se si sale con il numero dei 
dischi.
 

 -- Yena --
 
Già.
Nonostante concordi con l'idea di non risparmiare sull'aspetto 
DISCHI/RAID/DATI, probabilmente sotto i 180 euro è tutto fumo.
 
IMHO comunque sono soldi ben spesi. Piuttosto toglierei un disco e 
metterei un controller serio.

 metterei un controller serio.
Su un file server ï¿œ fondamentale.
-- 
In God we trust. All others must bring data
W. E. Deming


Un mirror a 4 dischi: gli stessi dati replicati su 4 dischi :)


Approvo,
col Raid 6 hai la tolleranza su 2 dischi e all'aumentare del numero dei 
dischi aumenti la velocit� di R, RW.
-- Yena --

 dischi aumenti la velocità di R, RW.
 
Non proprio. In tutti i raid > 1 la velocità in scrittura cala con
l'aumentare del numero di dischi. Che questo effetto sia mitigato
dall'uso di cache è vero, ma resta sensibile per I/O pesante e continuativo.
Senza pensare alla problematica del full-stripe access che va tenuta in
debita considerazione e che suggerisce di non aumentare i dischi in modo
indiscriminato.


 Su un file server è fondamentale.
 
Il raid software spesso e volentieri consente un'utilizzo più
ottimizzato dei dischi, e normalmente è più performante di qualsiasi
controller RAID di fascia bassa e soprattutto senza cache.
 
Il file server in particolare lo vedo proprio come una delle
applicazioni che meno traggono vantaggio da un controller raid e che
maggiormente traggono vantaggi dalla flessibilità offerta dal raid software.


Rispondo un po' genericamente per la scelta fatta. Il dedicato non
aveva scheda raid hardware disponibile... Quindi ho dovuto ripiegare
su questa scelta, in futuro e con maggiori entrate, potrei sceglire un
dedicato in farm con scheda raid dedicata.

 entry di boot per tutte
 
Riposto perchè sembra avere problemi. Dicevo: è qui che ti volevo. Il
grub-install l'ho già dato alle 4 partizioni, mi occorre capire come
si fa la parte di grub.conf per l'inserimento delle entry di boot che
sono realmente a digiuno.
 
Grazie.

 sono realmente a digiuno.
 
Copincolli la entry giï¿œ presente che usi abitualmente, aggiungi al
titolo il nome del disco configurato e al posto di root (hd0,0) ci metti
rispettivamente (hd1,0) (hd2,0) (hd3,0)


 rispettivamente (hd1,0) (hd2,0) (hd3,0)
 
Quindi se ho ben compreso, e rubo ancora un secondo del tuo prezioso
tempo, devo visto il grub.conf precedente farlo diventare come segue e
non occorre rilanci altro una volta modificato grub.conf, quello si
faceva con LILO, esatto?
 
default=0
timeout=5
        title 0 - CentOS Linux (2.6.32-71.29.1.el6.x86_64) Sda1
        kernel /vmlinuz-2.6.32-71.29.1.el6.x86_64 root=/dev/md2  ro
crashkernel=auto SYSFONT=latarcyrheb-sun16 LANG=en_US KEYTABLE=us
        root (hd0,0)
        initrd /initramfs-2.6.32-71.29.1.el6.x86_64.img
        title 1 - linux centos6_64 Sda1
        kernel /bzImage-2.6.38.2-xxxx-grs-ipv6-64 root=/dev/md2  ro
        root (hd0,0)
 
        title 2 - CentOS Linux (2.6.32-71.29.1.el6.x86_64) Sdb1
        kernel /vmlinuz-2.6.32-71.29.1.el6.x86_64 root=/dev/md2  ro
crashkernel=auto SYSFONT=latarcyrheb-sun16 LANG=en_US KEYTABLE=us
        root (hd1,0)
        initrd /initramfs-2.6.32-71.29.1.el6.x86_64.img
        title 3 - linux centos6_64 Sdb1
        kernel /bzImage-2.6.38.2-xxxx-grs-ipv6-64 root=/dev/md2  ro
        root (hd1,0)
 
        title 4 - CentOS Linux (2.6.32-71.29.1.el6.x86_64) Sdc1
        kernel /vmlinuz-2.6.32-71.29.1.el6.x86_64 root=/dev/md2  ro
crashkernel=auto SYSFONT=latarcyrheb-sun16 LANG=en_US KEYTABLE=us
        root (hd2,0)
        initrd /initramfs-2.6.32-71.29.1.el6.x86_64.img
        title 5 - linux centos6_64 Sdc1
        kernel /bzImage-2.6.38.2-xxxx-grs-ipv6-64 root=/dev/md2  ro
        root (hd2,0)
 
        title 6 - CentOS Linux (2.6.32-71.29.1.el6.x86_64) Sdd1
        kernel /vmlinuz-2.6.32-71.29.1.el6.x86_64 root=/dev/md2  ro
crashkernel=auto SYSFONT=latarcyrheb-sun16 LANG=en_US KEYTABLE=us
        root (hd3,0)
        initrd /initramfs-2.6.32-71.29.1.el6.x86_64.img
        title 7 - linux centos6_64 Sdd1
        kernel /bzImage-2.6.38.2-xxxx-grs-ipv6-64 root=/dev/md2  ro


personalmente, ma ammetto di conoscere molto bene la campana hardware e 
molto meno quella software, mi fido sempre piï¿œ di una soluzione hardware 
buona.
Basti pensare al solo "ti spedisco il disco, devi togliere quello che 
lampeggia arancio e mettere quello nuovo". Sembra una fesseria ma se hai 
i server in culonia magari torna utile :)
PS:
ok puï¿œ saltare il controller, ma a quel punto se serviva cosï¿œ tanta 
affidabilitï¿œ si poteva valutare l'inserimento di storage esterni 
DualController in FC/SAS, dischi dual port, etc etc etc..
Spesso in economia basta sottoscrivere un pack con intervento in 4 ore. 
Ma ovviamente questo ï¿œ un altro discorso.

 Ma ovviamente questo un altro discorso.
Macchè... Hai ragione da vendere!

 
 
Io sono di opinione diversa: un controller serio (se ne trovano da un
paio di centinaia di euro in su) è il mio consiglio.
Poi ne ho anche io di server in software quando sei in quelle situazioni
in cui devi fare la Salerno - Reggio Calabria con un secchiello di
sabbia e una sigaretta...


 sabbia e una sigaretta...
 
lol
 
 

 d'accordo sui termini usati
 
Il raid 10 non esiste :-) O è un raid 0 di raid 1 o un raid 1 di raid 0
e come rale è <=1 :-)



Guardando la man di mdadm mi trovo che esiste raid10 (che è ben diverso 
da raid 0+1).
Nell'accezione classica, il radi10 è un raid 0 in cui tutti i dischi 
hanno, adiacenti a loro, un disco di mirror
A1 A1 B1 B1 C1 C1
A2 A2 B2 B2 C2 C2
 
Se hai voglia di guardare tutta la manpage, trovi nella sezione 
"--layout" tre layout per il RAID10 nel software raid di linux: "n", "o" 
e "f".
Anche la pagina en.wiki aiuta molto a capire il significato dei tre layout.

       1022912 blocks [4/4] [UUUU]
 
nooo :)
Scherzi a parte... il raid software funziona, ma non trovi sia uno
spreco usare 4 dischi in questo modo? Magari era meglio configurare
degli spare che magari stanno in idle fino a quando non si scassa un disco.
 
[...]
 
Ad ogni modo:
1. si, possono rompersi fino a 3 dischi;
2. si, devi installare grub su tutti i dischi (da questo punto di vista
č molto meglio lilo).
 
--
ciao,
Mirco.
 

 installato il bootloader su sdb1 tutto parte regolarmente?
 
Si
 
Enrico

 indiscriminato.
 
L’affermazione
"In tutti i raid > 1 la velocità in scrittura cala con l'aumentare del 
numero di dischi",
non è corretta, ad esempio non è vero che 4 dischi in RAID 5 o RAID 6 
vadano più lenti di 3.
 
E’ vero che oltre ad un certo numero di dischi
dipendente dal RAID controller utilizzato
e dal carico di lavoro in corso,
le performance non  aumentino (o addirittura degradino)
dopo un certo numero di dischi a causa dell’overhead causato dal calcolo 
della parità.
 
-- Yena --
 

 vadano più lenti di 3.
 
Il raid 6 con 3 dischi vorrei vederlo :-)
Per il resto, se disabiliti le cache, sì, 4 dischi in raid 5 per quanto
riguarda la scrittura sono più lenti di 3, senza se e senza ma. E' solo
perché viene usata la cache che questo degrado non viene percepito.


 Ti ringrazio ma so già perfettamente le differenze fra RAID0,1,1+0
 
Sì, però l' md/raid10 software linux di mdadm, che esiste ma è un
raid *non* standard, è una cosa un diversa. Tanto per dire, è un
raid10 che si può fare anche con soli due dischi (nel qual caso
può diventare esattamente equivalente ad un raid1, ma non è detto:
dipende dal layout scelto)... o con un numero dispari di dischi. :)
http://en.wikipedia.org/wiki/Non-standard_RAID_levels#Linux_MD_RAID_10
 
-- 
Bye, Lem
Ceterum censeo ISLAM esse delendum
_________________________________________________________________
Non sprecare i cicli idle della tua CPU, né quelli della tua GPU.
http://cleanenergy.harvard.edu/
 
http://spin.fh-bielefeld.de/
 
 
http://www.gpugrid.net/
 

 PS Quel paragrafo è comunque di livello molto basso
 
Sì, ho linkato non per le valutazioni su tale RAID10, ma solo
perché lì se ne dà anche una visualizzazione grafica d'esempio,
immediatamente comprensibile. man md non è esteticamente
altrettanto esplicativo. ;-p


 Ti ringrazio ma so già perfettamente le differenze fra RAID0,1,1+0,0+1
Stiamo andando sul personale ?
Comunque non era per rispondere a te, ma a THe_ZiPMaN.
E come ha già spiegato Lem, en.wiki spiega bene il layout (delle 
prestazioni non ho neanche accennato).

 Appunto, rispondi nel posto giusto :P
 
Ti servono ferie caro mio.... era ben nel posto giusto :-P


         kernel /bzImage-2.6.38.2-xxxx-grs-ipv6-64 root=/dev/md2  ro
]zac[
 
Se ricordo bene basta installare il boot loader nei vari dischi, perche' il 
grub.conf configurato per l'uso del raid mirror va bene anche per il boot ai 
dischi mirror.
 
Anche perche' altrimenti se muore il disco di boot originale bisognerebbe 
selezionare manualmente la voce del menu' di grub.

Giuseppe Della Bianca wrote:
Aggiunta, esempio di installazione di grub:
grub --no-floppy
grub> find /boot/grub/stage1
 (hd0,0)
 (hd1,0)
device (hd0) /dev/sda
root (hd0,0)
setup (hd0)
device (hd0) /dev/sdb
root (hd0,0)
setup (hd0)
o anche
grub
root (hd0,0)
setup (hd0)
grub> root (hd1,0)
grub> setup (hd1)