Panoramica
Sono disponibili tre tipi comuni di RAID:
Software RAID
: Ciò significa che il tuo BIOS e altri sistemi operativi pensano di avere davvero due dischi separati, ma puramente a livello software, il tuo sistema operativo utilizza un formato su disco specifico del sistema operativo per RAID (mirroring, striping, bit di parità, qualunque cosa) . Tutta l'elaborazione viene eseguita dalla CPU senza supporto hardware.
BIOS RAID
: Noto anche come "Fake RAID" o "Host RAID", ciò significa che il firmware della scheda madre (più specificamente, il controller SATA / SAS) ha un supporto esplicito per il riconoscimento dei dispositivi RAID. A livello di dispositivo logico ( lun
), i dischi rigidi multipli verranno visualizzati come una singola unità nel sistema operativo. Questo è fondamentalmente il controller SATA / SAS che dice "Ho davvero solo un disco rigido. Beh, in realtà sono due, ma shhhh, è solo uno, fidati di me". In altre parole, il sistema operativo può dirloche si tratta di una configurazione RAID, ma il sistema operativo * non è responsabile del formato su disco della parità RAID / striping / ecc. Tuttavia, anche in questa modalità, la CPU esegue tutti i calcoli per i bit di parità e lo striping. La scheda madre, il BIOS e il controller SATA hanno la logica sufficiente per "combinare" fisicamente i dispositivi e definire un formato su disco per il RAID. Ma mancano di un processore dedicato per eseguire i calcoli e dipendono dal software all'interno del sistema operativo per dire alla CPU di eseguirli, motivo per cui devi ancora dire a Linux del tuo BIOS RAID. (Intel Matrix / RST è un tipo di BIOS RAID).
Hardware RAID
: È qui che si dispone di un chip dedicato il cui unico scopo è elaborare i dati richiesti per RAID. Il chip può essere abbastanza potente; alcuni controller RAID hardware in realtà hanno un chip dual core, simile a una CPU integrata, sebbene sia specificamente ottimizzato per eseguire un sistema operativo incorporato che è MOLTO veloce nel fare calcoli RAID, come bit di parità per RAID-5 o striping per RAID -0. I dischi rigidi sono fisicamente cablati nella scheda RAID, che fornisce un controller SATA / SAS, in genere una cache di lettura e scrittura in DRAM o Flash, l'accodamento dei comandi nativo e un processore centrale integrato che esegue i calcoli più matematici. Questi chip hardware funzionano tra $ 150 al livello base fino a molte migliaia per i backplane RAID di datacenter industriali.
Compatibilità
In generale, ogni tipo di RAID è "legato" ad un aspetto particolare che, quando cambia quell'aspetto, si verificano problemi di compatibilità.
Il software RAID è legato al sistema operativo che ha definito il formato RAID. A volte, tra due diverse versioni dello stesso sistema operativo, il formato RAID viene interrotto, causando incompatibilità. Sebbene sia concettualmente possibile che qualsiasi formato RAID del software sia supportato da qualsiasi altro sistema operativo, dal momento che è solo un software , in pratica la maggior parte dei sistemi operativi presenta formati RAID incompatibili che solo quel sistema operativo è in grado di riconoscere. Tuttavia, la compatibilità più nota è i formati RAID utilizzati nativamente dal kernel Linux ( md
come si sta discutendo nell'OP), che possono anche riconoscere il software RAID di Windows, chiamato Dynamic Disks.
BIOS RAID è legato alla scheda madre che possiedi. Potrebbe essere possibile spostare unità formattate con un particolare formato BIOS RAID su un'altra scheda madre con una soluzione RAID BIOS simile; ad esempio, Intel RST su un altro sistema con RST. Ma dovrai cercare attentamente questo prima di fare una mossa, per assicurarti che sarà compatibile se ti interessa che sia compatibile.
Hardware RAID è legato a quel controller hardware specifico o a una serie di controller hardware dichiarati esplicitamente dal produttore come compatibili. Alcuni fornitori mantengono un formato disco RAID hardware molto coerente supportato da molte generazioni di controller; altri cambiano il formato più frequentemente. Ancora una volta, dovrai ricercarlo caso per caso.
Prestazione
Le prestazioni dipendono in gran parte da come si configurano i parametri di base dell'array RAID e meno dalla soluzione specifica. In generale, i controller RAID hardware hanno il massimo "soffitto" per le massime prestazioni; inoltre non tassano la CPU quasi quanto le altre soluzioni. Ma se si sceglie il tipo RAID errato per il carico di lavoro, o la dimensione dello striping errata o l'approccio di memorizzazione nella cache errato, un controller RAID hardware può anche essere estremamente lento, più lento di una delle unità in esecuzione in modalità non RAID. Lo stesso vale per le altre soluzioni, che possono anche essere estremamente lente.
Il software RAID è più adatto per la configurazione RAID-1, poiché il mirroring è una semplice copia degli stessi dati su due unità e non ci sono bit di parità da calcolare. RAID-5 su Software RAID è orribile.
Le prestazioni del BIOS RAID sono generalmente paragonabili al Software RAID, ma alcuni controller e formati del disco RAID BIOS sono noti per essere difettosi o con prestazioni scadenti. In generale, se devi scegliere tra Software RAID e BIOS RAID, il primo è un po 'più promettente per le prestazioni, specialmente se stai eseguendo una recente distribuzione Linux.
Le prestazioni dell'hardware RAID possono essere follemente veloci a causa della potenza di elaborazione ottimizzata del processore del controller RAID, che come ho detto è progettato per un throughput elevato e può effettivamente arrivare come un chip multi-core, quindi questo è un po 'di ferro serio. Il principale svantaggio è che perdi flessibilità - non puoi semplicemente inserire le unità in un altro computer senza un controller RAID hardware - e le spese. Hardware RAID è il livello migliore su cui utilizzare RAID-5 o RAID-6, soprattutto se si hanno molti dischi (4 o più).
Complessivamente
Sebbene BIOS RAID sia supportato da Linux, non posso raccomandare di usarlo.
Ora per rispondere direttamente alle tue domande, dopo che ti ho dato la risposta prolissa:
Cosa mi offre RSTe rispetto al normale RAID software Linux?
Vedi i confronti sopra tra RAID software e RAID BIOS. "RSTe" è un'istanza di BIOS RAID; Linux md
RAID senza il -e imsm
è un'istanza di software RAID.
In modalità RSTe, è il percorso I / O RAID effettivo (ovvero mirroring e striping) gestito da Linux md o dal BIOS.
Se si intende il percorso dei dati, viene sempre gestito dalla CPU (e quindi dal sistema operativo) a meno che non si disponga di una scheda RAID hardware dedicata. Non penso che questi vengano su nessuna scheda madre, anche se alcuni chipset server di fascia alta potrebbero sorprendermi ...
In particolare, quando utilizzo "Matrix RAID" (ovvero il RAID copre partizioni specifiche anziché interi dischi), devo installare manualmente grub su entrambi gli MBR?
No. In effetti, non è mai necessario installare GRUB su entrambi gli MBR. Prendiamolo caso per caso:
Software RAID: basta scegliere un disco in modo arbitrario su cui installare GRUB e impostarlo nell'ordine del BIOS in modo che si avvii per primo. Ricorda che puoi eseguire il mirroring di singole partizioni, se lo desideri, quindi i dischi non devono essere bit per bit identici nel software RAID. Uno può avere un MBR con un bootloader e non si può avere nulla nell'MBR.
BIOS RAID: il BIOS ti dirà che è un "disco" (in realtà lo chiamerà così com'è, un array RAID), quindi non potrai scegliere dove installare GRUB. Quando installi Linux su questo, l'MBR (incluso il bootloader) e ogni altro settore di entrambi i dischi verranno copiati tra i due dischi. Quindi, diversamente dal RAID software, BIOS RAID impone che entrambi i dischi debbano essere bloccati per blocco identico, poiché non è possibile separarli come due dispositivi logici; il controller del disco dice che sono UN UNICO dispositivo logico, non due. Quindi non puoi semplicemente dire "Voglio scrivere alcuni dati sull'unità 0 ma non sull'unità 1". Non possibile. Ma è del tutto possibile con Software RAID.
Hardware RAID: il BIOS ti dirà che si tratta di un "disco" e, per quanto riguarda il BIOS, non è nemmeno particolarmente consapevole che hai a che fare con più dischi. Il controller RAID estrae completamente tutti i dettagli del RAID dal sistema operativo e dal BIOS, tranne nella misura in cui è possibile configurare alcuni controller RAID hardware utilizzando un qualche tipo di protocollo personalizzato all'interno del sistema operativo. Ma i dispositivi sono completamente inseparabili dal livello software, in modo simile al BIOS RAID.
Modifica: aggiornamento per ulteriori risposte alle domande
Non riesco ancora a capire un paio di cose. Innanzitutto, su un RAID BIOS: posso costruirlo usando mdadm, quindi Linux non mi nasconde i dischi sottostanti.
È strano e difficile da spiegare. Fondamentalmente i dischi appaiono come uno su determinati livelli e come due su altri livelli. Ma scommetto che, con RAID BIOS che ogni disco non avrà un proprio nodo di dispositivo separato, ad esempio, /dev/sda
e /dev/sdb
. In tal caso, il tuo RAID BIOS è diverso da quello che ho visto.
su grub e MBR: se un RAID copre partizioni anziché dischi, allora posso ancora vedere i dischi sottostanti. L'MBR non è in RAID e quindi è necessario installare il bootloader due volte per poter avviare in caso di guasto del disco. È corretto?
Installare un'altra copia non fa male , ma in caso di guasto del disco, l'avvio sarà il minimo problema. In breve, vai avanti e fallo se vuoi, ma non è certo la cosa più importante. Installare grub da un CD live su un HDD è facile.
I dischi nel RAID (specialmente se sono della stessa marca e modello, prodotti nella stessa fabbrica e in funzione uno accanto all'altro alla stessa temperatura) rischiano di guastarsi in rapida successione, uno dopo l'altro. Quindi, se un disco si guasta, probabilmente non va bene semplicemente scrollare le spalle e inserire un nuovo disco e iniziare la ricostruzione: c'è una buona probabilità che, durante la ricostruzione, l'ultimo disco contenente una copia coerente dei dati fallisca. È a questo punto quando arrivi all'ultimo disco rimanente che consiglierei a un esperto (o fallo da solo se sei bravo con l'hardware) di rimuovere i piatti dal disco originale, acquistare un nuovo disco di marca / modello identici , inserisci i piatti e leggi i dati usando il nuovo disco. Questo è costoso e richiede tempo,
Quindi sono cinque le domande a cui ho risposto per te; se hai trovato un valore in queste informazioni, contrassegnare la risposta in modo appropriato. Grazie.
mdadm
, quindi Linux non mi nasconde i dischi sottostanti. In secondo luogo, su grub e MBR: se un RAID copre partizioni anziché dischi, allora posso ancora vedere i dischi sottostanti. L'MBR non è in RAID e quindi è necessario installare il bootloader due volte per poter avviare in caso di guasto del disco. È corretto?