Intel Matrix Storage Manager vs Linux Software RAID


28

Il chipset che sto usando supporta la tecnologia Intel RSTe. Significa che ho due opzioni per la configurazione RAID:

  • Software RAID ordinario per Linux, usando il mdadmcomando.
  • RSTe (dal BIOS o, di nuovo, usando il mdadmcomando con -e imsmswitch).

Dato che mdadmpuò essere usato per entrambi, non riesco a capire la differenza tra i due.

  • Cosa mi offre RSTe rispetto al normale RAID software Linux?
  • Quando in modalità RSTe, è il percorso I / O RAID effettivo (ovvero mirroring e striping) gestito da Linux mdo dal BIOS.
  • In particolare, quando utilizzo "Matrix RAID" (ovvero il RAID copre partizioni specifiche anziché interi dischi), devo installare manualmente grub su entrambi gli MBR?

Risposte:


46

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 ( mdcome 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 mdRAID 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/sdae /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.


1
grazie per la risposta dettagliata e approfondita. Non riesco ancora a capire un paio di cose. In primo luogo, su un BIOS RAID: posso costruirlo usando 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?
Leonid99,

1
Ho un PCH serie 6 e mdadm --detail-platformindica che Intel Matrix Storage Manager è la versione 11.0.0.1339. Io posso infatti vedere i miei dischi singoli come /dev/sdce /dev/sdd. Il mio falso array RAID1 è quindi /dev/md126.
Jonathon Reinhart,

1
Quando il kernel Linux è attivo e in esecuzione, il codice firmware / BIOS non viene più eseguito. Quindi, di cosa si occupa il kernel? Qualunque cosa? In tal caso, cosa fa realmente l' IMM ? Sembra che non sia molto più di Linux con il software RAID da solo? Immagino di chiederti, cosa fa esattamente il BIOS / Chipset?
Jonathon Reinhart,

Bene, sembra essere un ibrido: al primo avvio del computer (quando il BIOS è ancora attivo), il BIOS fornisce la logica RAID soft. All'avvio del sistema operativo, i suoi driver sono quindi responsabili della manutenzione dell'array RAID. 1 , 2
Jonathon Reinhart il

2

La risposta di Allquixotic è troppo lunga:

  1. Cosa mi offre RSTe rispetto al normale RAID software Linux?

Supporto di avvio e un set di funzionalità leggermente diverso. Al suo centro è un formato di dati. - Potresti anche usarlo senza la ROM opzionale RST di Intel (quindi non hai un supporto di avvio speciale). Ciò che implica il formato è scritto nella mdadmpagina man.

  1. In modalità RSTe, è il percorso I / O RAID effettivo (ovvero mirroring e striping) gestito da Linux md o dal BIOS.

Con Linux md (cioè il kernel interamente).

Questo lascia aperta una domanda: perché Intel RST è limitato solo ad alcuni chipset? Non partecipano affatto al RAID. Nel migliore dei casi memorizzano un po ', il che dice alla Option ROM di rifiutarsi di funzionare su chipset non supportati.


1
Questo è molto meglio della risposta accettata, che è lunga, sconnessa, in gran parte errata e non risponde alla domanda. (Il punto chiave è che RSTe utilizza un formato compreso dal BIOS, che consente di eseguire l'avvio da un RAID degradato.)
Nemo

1

Hmmm una risposta troppo a lungo l'altra troppo corta.

Il "raid" RST viene utilizzato principalmente se si esegue il dual-boot di una workstation poiché Intel produce driver Windows e Linux ed è possibile configurare il raid nel BIOS. Configura RAID, partiziona il disco virtuale e puoi eseguire il dual boot con entrambi i sistemi operativi che comprendono le partizioni multiple.

mdam è per se il server è dedicato a Linux. È "migliore" poiché se stai ricostruendo un array lo stai facendo dal sistema operativo non dal BIOS, quindi la velocità di ricostruzione è molto più veloce. Con dischi di grandi dimensioni, la ricostruzione di un raid BIOS può richiedere diversi GIORNI.

Ma la realtà è che stai scegliendo tra un pezzo verde di C o un pezzo blu di C. La realtà è che il RAID software è fondamentalmente un raid "last ditch CYA".

Se si perde un disco in un array RAID software, ciò consente essenzialmente di arrestare immediatamente il server, eseguire un backup completo, sostituire il disco guasto e forse il resto dei dischi, quindi ricreare l'array o tentare di ricostruire. Abbastanza spesso è più veloce sostituire il disco quindi cancellare tutto su di essi e ricreare l'array e quindi avviare da un disco di ripristino di backup, quindi ripristinare da backup.

Con un chip di array hardware tutti i dischi possono andare nei vassoi hot-swap e quando uno si guasta, si accende una luce rossa, sul disco guasto, lo si espelle, lo si sostituisce con un nuovo disco, quindi la scheda RAID hardware ricostruisce automaticamente il array mentre il server è ancora in esecuzione.

Mentre in teoria è possibile farlo se si hanno vassoi hot swap e un array di software mdam Linux in pratica si rischia il panico e il server può facilmente non avviarsi sul disco rimanente.

L'altra questione riguarda il TIPO di dischi utilizzati. I dischi di workstation regolari mentre invecchiano iniziano a sviluppare settori danneggiati che vengono rimappati internamente dal disco in settori di riserva. Il problema è che questo rimappare si verifica solo su una scrittura: il disco ritarderà la rimappatura se si verifica una lettura su un settore danneggiato e su alcuni modelli di disco rileggerà ripetutamente il settore danneggiato o non funzionante, confrontando il risultato ogni volta fino a quando non lo decide ha i migliori dati che può ottenere da quel settore prima di rimappare. Questo processo può richiedere circa un minuto e durante quel periodo ora hai 1 disco nell'array che ignora i codici di comando in modo che il software Raid software si arresti in modo anomalo e contrassegni l'array come degradato. Al riavvio ora hai 2 dischi con lo stesso settore che potrebbero avere dati diversi tra i dischi, quindi ora il gestore RAID del software non sa quale sia "buono", il disco che non ha avuto un errore o il disco che ha rimappato un settore con la migliore approssimazione dei dati che aveva. Western Digital produce unità "rosse" che dovrebbero essere utilizzate in array di software RAID che non lo fanno, falliscono semplicemente la lettura immediata di un settore quando rilevano un settore danneggiato e lo rimappano in modo che il gestore di array possa prelevare i dati dal settore sul buon disco e scriverlo sul disco con il settore guasto. Inutile dire che fanno pagare un extra per questi dischi. non riescono a leggere immediatamente un settore quando rilevano un settore danneggiato e lo rimappano in modo che il gestore di array possa prendere i dati dal settore sull'unità valida e scriverli sull'unità con il settore guasto. Inutile dire che fanno pagare un extra per questi dischi. non riescono a leggere immediatamente un settore quando rilevano un settore danneggiato e lo rimappano in modo che il gestore di array possa prendere i dati dal settore sull'unità valida e scriverli sull'unità con il settore guasto. Inutile dire che fanno pagare un extra per questi dischi.

In sintesi, non utilizzare il raid software per un server che non può tollerare alcuni tempi di inattività se un disco si guasta. È destinato principalmente alle workstation in cui le persone non effettuano regolarmente il backup e ai piccoli server SOHO di cui è stato eseguito il backup e che possono tollerare circa un giorno di downtime in caso di arresto anomalo del disco.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.