2.2. Configurazione di RAID software

I RAID (Redundant Array of Indipendent Disks) vengono configurati allo scopo di combinare più partizioni di dischi rigidi in un unico disco rigido virtuale di grandi dimensioni per ottimizzare le prestazioni, la sicurezza dei dati o entrambi questi aspetti. Nella maggior parte dei controller RAID viene utilizzato il protocollo SCSI poiché è in grado di utilizzare un numero maggiore di dischi rigidi in modo più efficiente rispetto al protocollo IDE ed è più adatto all'elaborazione di comandi in parallelo. Alcuni RAID supportano comunque i dischi rigidi IDE o SATA. I RAID software forniscono gli stessi vantaggi dei sistemi RAID senza i costi dei controller RAID hardware. Tuttavia, ciò richiede molto tempo della CPU e requisiti di memoria che li rendono non adatti ai computer ad alte prestazioni.

2.2.1. RAID Levels

SUSE Linux consente di combinare più dischi rigidi in un unico sistema RAID software mediante YaST, offrendo un'alternativa particolarmente conveniente ai RAID hardware. Le strategie coinvolte nella configurazione di un sistema RAID che includa diversi dischi rigidi sono numerose e ognuna di queste consente di conseguire particolari obiettivi e vantaggi e si distingue per determinate caratteristiche. Queste varianti sono note in genere come livelli RAID.

I livelli RAID più comuni sono:

RAID 0

Questo livello consente di migliorare le prestazioni di accesso ai dati mediante la suddivisione dei blocchi di ogni file tra più unità disco. Non si tratta, in effetti, di un RAID vero e proprio poiché non prevede il backup dei dati. Tuttavia il nome RAID 0 è diventato di uso comune per questo tipo di sistema. RAID 0 consente di riunire in pool due o più dischi rigidi. Le prestazioni sono molto buone, ma è sufficiente che si verifichi un problema in uno solo dei dischi rigidi perché il sistema RAID venga distrutto e i dati perduti.

RAID 1

Questo livello garantisce sicurezza adeguata per i dati poiché ne viene eseguita una copia integrale su un altro disco rigido. Questa tecnica è nota come copia speculare del disco rigido. Se un disco viene danneggiato, è sempre disponibile una copia dei rispettivi contenuti in un'altra unità. È sufficiente che un solo disco rimanga integro affinché non si verifichino perdite di dati. Tuttavia, se il danno non viene rilevato, è possibile che i dati siano stati danneggiati perché il disco corretto contiene una copia speculare dei dati corrotti. Le prestazioni in scrittura risultano leggermente ridotte durante il processo di copia di circa il 10/20% rispetto all'utilizzo di un unico disco rigido. L'accesso in lettura, tuttavia, è sensibilmente più rapido che in qualsiasi comune disco rigido poiché i dati sono duplicati e ne viene eseguita la scansione in parallelo. In generale, è possibile affermare che il livello 1 offre una velocità circa doppia in lettura e sostanzialmente pari in scrittura rispetto ai dischi rigidi singoli.

RAID 2 e RAID 3

Si tratta di implementazioni RAID atipiche. Se si utilizza il livello 2, i dati vengono suddivisi a livello di bit invece che di blocco. Nel livello 3 la suddivisione dei dati avviene a livello di byte con un disco di parità dedicato e non è possibile gestire più richieste contemporaneamente. Si tratta di livelli poco diffusi.

RAID 4

Se si utilizza il livello 4, i dati vengono suddivisi a livello di blocco, come nel livello 0, con un disco di parità dedicato. In caso di malfunzionamento di uno dei dischi, i dati di parità vengono utilizzati per creare un disco sostitutivo. Il disco di parità può tuttavia causare un collo di bottiglia relativo all'accesso in scrittura. Ciononostante il livello 4 è abbastanza diffuso.

RAID 5

Il RAID 5 è una soluzione di compromesso tra i livelli 0 e 1, ottimizzata in termini di prestazioni e ridondanza. Lo spazio su disco rigido equivale al numero di dischi utilizzati meno uno. I dati vengono distribuiti tra i dischi rigidi come nei RAID 0. Per motivi di sicurezza, i blocchi di parità vengono creati in una delle partizioni. Questi sono collegati tra loro tramite XOR che consente di ricostruire i contenuti in base al blocco di parità corrispondente in caso di malfunzionamento del sistema. Nei RAID 5 è consentito il malfunzionamento di un solo disco rigido alla volta il quale, pertanto, deve essere sostituito nel minor tempo possibile per evitare che si verifichino perdite di dati.

Altri livelli RAID

Sono stati sviluppati vari altri livelli RAID, ad esempio RAIDn, RAID 10, RAID 0+1, RAID 30, RAID 50 e così via, alcuni dei quali sono implementazioni proprietarie realizzate da fornitori di hardware. Si tratta di livelli poco diffusi, la cui descrizione viene pertanto tralasciata.

2.2.2. Configurazione di RAID software con YaST

Per configurare i RAID software mediante YaST, è possibile utilizzare la Modalità di partizionamento per esperti di YaST, descritta nella Sezione 2.9.5, "Partizionamento" (↑Avvio). Questo strumento di partizionamento consente di modificare e cancellare le partizioni esistenti, nonché di crearne di nuove da utilizzare con i RAID software. Per creare le partizioni RAID, fare innanzitutto clic su Crea+Non formattare e quindi selezionare 0xFD Linux RAID come identificatore della partizione. Per i RAID 0 e RAID 1, sono necessarie almeno due partizioni. Per il RAID 1, in genere, solo due. Se si utilizza il RAID 5, sono necessarie almeno tre partizioni. È consigliabile utilizzare soltanto partizioni di dimensioni equivalenti. È consigliabile memorizzare le partizioni RAID in dischi rigidi diversi in modo da ridurre il rischio di perdite dei dati in caso di malfunzionamento (RAID 1 e 5) e per ottimizzare le prestazioni RAID 0. Dopo aver creato tutte le partizioni da utilizzare con il RAID, fare clic su RAID+Crea RAID per avviare la configurazione RAID.

Nella finestra di dialogo successiva, scegliere il livello RAID, ovvero 0, 1 o 5. Per ulteriori informazioni, vedere la Sezione 2.2.1, "RAID Levels". Fare quindi clic su Avanti per visualizzare la finestra di dialogo successiva in cui vengono elencate tutte le partizioni di tipo "Linux RAID" o "Linux native" (vedere la Figura 2.6, "Partizioni RAID"). Non vengono visualizzate partizioni di scambio o DOS. Se una partizione è già assegnata a un volume RAID, nell'elenco viene indicato il nome del dispositivo corrispondente (ad esempio /dev/md0). Le partizioni non assegnate sono indicate da "--".

Figura 2.6. Partizioni RAID

Partizioni RAID

Per aggiungere una partizione precedentemente non assegnata al volume RAID selezionato, fare clic sulla partizione e quindi su Aggiungi. Il nome del dispositivo RAID viene quindi indicato accanto alla partizione selezionata. Assegnare tutte le partizioni riservate al RAID. In caso contrario, lo spazio disponibile nella partizione rimane inutilizzato. Dopo aver assegnato tutte le partizioni, fare clic su Avanti per passare alla finestra di dialogo delle impostazioni in cui è possibile ottimizzare le prestazioni (vedere la Figura 2.7, "Impostazioni del file system").

Figura 2.7. Impostazioni del file system

Impostazioni del file system

Impostare il file system da utilizzare, la cifratura e il punto di montaggio per il volume RAID come in una partizione tradizionale. Selezionare Persistent Superblock (Superblock persistente) per fare in modo che le partizioni RAID vengano riconosciute come tali all'avvio del sistema. Fare clic su Fine per completare la configurazione e verificare che in Modalità di partizionamento per esperti il dispositivo /dev/md0 e gli altri siano indicati con il RAID.

2.2.3. Risoluzione dei problemi

Esaminare il file /proc/mdstats per controllare se una partizione RAID è stata distrutta. In caso di malfunzionamento del sistema, chiudere Linux e sostituire il disco rigido difettoso con una nuova unità partizionata in modo identico. Riavviare quindi il sistema e immettere il comando mdadm /dev/mdX --add /dev/sdX. Sostituire "X" con l'identificatore del dispositivo in questione. In questo modo, il disco rigido viene automaticamente integrato nel sistema RAID e ricostruito completamente.

2.2.4. Ulteriori informazioni

Per ulteriori informazioni e istruzioni sulla configurazione di RAID software, vedere la documentazione HOWTO in:

Sono disponibili diverse mailing list relative ai RAID Linux, ad esempio http://marc.theaimsgroup.com/?l=linux-raid&r=1&w=2.