Panoramica
Sono disponibili tre tipi comuni di RAID:
-
Software RAID
:Ciò significa che il tuo BIOS e altri sistemi operativi pensano che tu abbia davvero due dischi separati, ma puramente a livello di 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
:Conosciuto anche come "Fake RAID" o "Host RAID", questo significa che il firmware della tua scheda madre (più specificamente, il tuo controller SATA/SAS) ha un supporto esplicito per il riconoscimento dei dispositivi RAID. A livello di dispositivo logico (lun
), i tuoi dischi rigidi multipli appariranno come una singola unità per il 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ò dirlo che si tratta di una configurazione RAID, ma il sistema operativo *non è responsabile del formato su disco della parità/striping/ecc. RAID. 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 una logica appena 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 è dove hai un chip dedicato il cui unico scopo è elaborare i dati richiesti per RAID. Il chip può essere abbastanza potente; alcuni controller RAID hardware hanno in realtà un chip dual core, simile a una CPU, sebbene sia specificamente ottimizzato per eseguire un sistema operativo embedded MOLTO veloce nell'eseguire calcoli RAID, come i bit di parità per RAID-5 o lo striping per RAID -0. I dischi rigidi sono cablati fisicamente nella scheda RAID, che fornisce un controller SATA/SAS, solitamente una cache di lettura e scrittura in DRAM o Flash, accodamento dei comandi nativo e un processore centrale integrato che esegue i calcoli più matematici. Questi chip hardware vanno da $ 150 a livello base fino a molte migliaia per backplane RAID di data center industriali.
Compatibilità
In generale, ogni tipo di RAID è "legato" a un aspetto particolare che, quando tale aspetto cambia, si incontrano problemi di compatibilità.
-
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 verrà interrotto, causando incompatibilità. Sebbene sia concettualmente possibile che qualsiasi formato RAID software sia supportato da qualsiasi altro sistema operativo, dal momento che è solo software , in pratica, la maggior parte dei sistemi operativi presenta formati RAID incompatibili che solo quel sistema operativo può riconoscere. Tuttavia, la compatibilità più nota è rappresentata dai formati RAID utilizzati in modo nativo dal kernel Linux (
md
come stai discutendo nell'OP), che può 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 RAID BIOS su un'altra scheda madre con una soluzione RAID BIOS simile; ad esempio, Intel RST su un altro sistema con RST. Ma dovrai ricercarlo attentamente prima di fare una mossa, per assicurarti che sia compatibile se ti interessa che sia compatibile.
-
Il RAID hardware è legato a quel controller hardware specifico o a una serie di controller hardware dichiarati esplicitamente compatibili dal produttore. Alcuni fornitori mantengono un formato di 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.
Prestazioni
Le prestazioni dipendono in gran parte da come si configurano i parametri di base dell'array RAID e meno sulla soluzione specifica. In generale, i controller RAID hardware hanno il "tetto" più elevato per le massime prestazioni; inoltre non tassano la tua CPU quasi quanto le altre soluzioni. Ma se scegli il tipo di RAID sbagliato per il tuo carico di lavoro, o la dimensione dello stripe sbagliata, o l'approccio di memorizzazione nella cache sbagliato, 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.
-
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 di BIOS RAID sono generalmente paragonabili a quelle di Software RAID, ma è noto che alcuni controller RAID BIOS e formati di disco presentano bug o prestazioni scadenti. In generale, se devi scegliere tra Software RAID e BIOS RAID, il primo è un po' più promettente per quanto riguarda le prestazioni, soprattutto se stai utilizzando una distribuzione Linux recente.
-
Le prestazioni RAID hardware possono essere incredibilmente veloci grazie alla potenza di elaborazione ottimizzata del processore del controller RAID, che come ho detto è progettato per un throughput elevato e può effettivamente presentarsi come un chip multi-core, quindi questo è un ferro serio. Lo svantaggio principale è che perdi flessibilità - non puoi semplicemente inserire le unità in un altro computer senza un controller RAID hardware - e spese. Il RAID hardware è il livello migliore su cui utilizzare RAID-5 o RAID-6, specialmente se hai molti dischi (4 o più).
In generale
Sebbene BIOS RAID sia supportato da Linux, non posso consigliarti 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?
Vedere i confronti sopra tra RAID software e RAID BIOS. "RSTe" è un'istanza di BIOS RAID; Linux md
RAID senza -e imsm
è un'istanza di software RAID.
In modalità RSTe, è l'effettivo percorso I/O RAID (ovvero mirroring e striping) gestito da Linux md o dal BIOS.
Se intendi il percorso dei dati, è sempre gestito dalla CPU (e quindi dal sistema operativo) a meno che tu non abbia una scheda RAID hardware dedicata. Non penso questi sono disponibili su qualsiasi scheda madre, anche se alcuni chipset per server di fascia alta là fuori 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. Prendiamo caso per caso:
-
RAID software:scegli arbitrariamente un disco su cui installare GRUB e impostalo nell'ordine del BIOS in modo che si avvii per primo. Ricorda, puoi eseguire il mirroring di singole partizioni se lo desideri, quindi i dischi non devono essere identici bit per bit nel RAID software. Si può avere un MBR con un bootloader e non si può avere nulla nell'MBR.
-
BIOS RAID:il BIOS ti dirà che si tratta di un "disco" (in realtà lo chiamerà per quello che è, un array RAID), quindi non puoi 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, a differenza del RAID software, il BIOS RAID impone che entrambi i dischi debbano essere identici blocco per blocco, perché non è possibile separarli come due dispositivi logici; il controller del disco dice sono UN 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.
-
RAID hardware: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 completamente astrae tutti i dettagli del RAID dal sistema operativo e dal BIOS, tranne nella misura in cui è possibile configurare alcuni controller RAID hardware utilizzando una sorta di protocollo personalizzato all'interno del sistema operativo. Ma i dispositivi sono completamente inseparabili dal livello software, simile al BIOS RAID.
Modifica: Aggiornamento per ulteriori risposte alle domande
Continuo a non capire un paio di cose. In primo luogo, riguardo a un BIOS RAID:posso crearlo usando mdadm, quindi Linux non mi nasconde effettivamente i dischi sottostanti.
È strano e difficile da spiegare. Fondamentalmente i dischi appaiono come uno su certi livelli e come due su altri livelli. Ma scommetto che con BIOS RAID ogni disco non avrà il proprio nodo di dispositivo separato, ad es. /dev/sda
e /dev/sdb
. Se lo fa, beh, il tuo BIOS RAID è diverso da quello che ho visto.
su grub e MBR:se un RAID copre le partizioni anziché i dischi, posso ancora vedere i dischi sottostanti. L'MBR non è in RAID e quindi è necessario installare il bootloader due volte per poter eseguire l'avvio in caso di guasto del disco. È corretto?
Non fa male per installare un'altra copia, ma in caso di guasto del disco, l'avvio sarà l'ultimo dei tuoi problemi. 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.
È probabile che i dischi in RAID (soprattutto se sono della stessa marca e modello, prodotti nella stessa fabbrica e in funzione uno accanto all'altro alla stessa temperatura) si guastino in rapida successione, uno dopo l'altro. Quindi, se un disco si è guastato, probabilmente non va bene scrollare le spalle e inserire un nuovo disco e avviare la ricostruzione:c'è una buona possibilità che, durante la ricostruzione, l'ultimo disco contenente una copia coerente dei dati fallisca. È a questo punto quando arrivi all'ultimo disco rimasto che consiglierei a un esperto (o fai da te se sei bravo con l'hardware) di rimuovere i piatti dal disco originale, acquistare un nuovo disco di marca/modello identico , inserisci i piatti e leggi i dati utilizzando il nuovo disco. Questo è costoso e richiede tempo, ma è il modo più sicuro per conservare i tuoi dati.
Quindi queste sono cinque domande a cui ho risposto per te; se hai trovato valore in queste informazioni, contrassegna la risposta in modo appropriato. Grazie.
La risposta di Allquixotic è troppo lunga:
- Cosa mi offre RSTe rispetto al normale RAID software Linux?
Supporto per l'avvio e un set di funzionalità leggermente diverso. Al suo centro è un formato di dati. – Potresti persino usarlo senza l'opzione ROM RST di Intel (quindi non hai un supporto di avvio speciale). Ciò che implica il formato è scritto nel mdadm
pagina man.
- In modalità RSTe, è l'effettivo percorso I/O RAID (ovvero mirroring e striping) gestito da Linux md o dal BIOS.
Da Linux md (ovvero il kernel interamente).
Ciò lascia aperta una domanda:perché l'RST di Intel è limitato solo ad alcuni chipset? Non partecipano affatto al RAID. Nella migliore delle ipotesi memorizzano un bit, che dice all'Option ROM di rifiutare l'esecuzione su chipset non supportati.