LA GESTIONE DEI DISCHI SU SISTEMI SERVER

scritto il 01/01/2001 per ITVC.net

La gestione dei dischi è un argomento molto importante per l’affidabilità, le prestazioni e la sicurezza di un server.

Parlando di dischi si parla normalmente di tecniche RAID cioè Redundant Array of Inexpensive Disks, tradotto in array ridondante di dischi economici.

Ecco cosa significa:

Inexpensive Disks

L’economicità dei dischi è un fattore storico-teorico in quanto si contrappone alla brillante idea di utilizzare un solo disco comprando il più bello performante e costoso in commercio e affidare tutta la rete ad esso…

Array

L’array è un raggruppamento di dischi fisici che viene diviso in uno o più dischi logici.

Se avete 3 dischi da 9 GB potete creare un array e successivamente dividerlo in 2 dischi logici, che verranno distribuiti equamente tra i dischi.

Attenzione a non confondere i dischi logici con le partizioni! I dischi logici infatti vengono visti dal sistema operativo come dei drive separati.

Il vantaggio di avere un array consiste nell’aumento delle prestazioni dato dall’accesso contemporaneo ai dischi dove sono distribuiti i dati.

Redundant

La ridondanza è l’aspetto fondamentale dei sistemi RAID, perché è il fattore che permette di introdurre la fault tolerance, cioè il contenuto dell’array non viene perso in caso di guasti a uno o più dischi a seconda della configurazione (alla sfiga non c’è mai limite…).

La ridondanza consiste nel replicare in qualche modo l’informazione contenuta nei dischi.

Ora dovreste sapere cos’è il RAID, ci sono varie tecniche RAID identificate da un numero, eccole:

RAID 0 : Stripe Set

RAID 1 : Mirror

RAID 2 : Bit Striping con Parità distribuita

RAID 3 : Bit Striping con Parità

RAID 4 : Stripe Set con Parità

RAID 5 : Stripe Set con Parità Distribuita

RAID 10 : Stripe Set con Mirror

RAID 0

Partiamo dall’eccezione, questa tecnica non è fault tolerant ma consiste nel distribuire i dati fra i dischi dell’array consentendo migliori prestazioni senza aggiungere carico al sistema.

Può essere usata in caso di grosse quantità di dati non critici che in caso di guasto si possono recuperare da un backup senza problemi di tempo.

RAID 1

E’ la tecnica del mirror, si applica quando si hanno 2 dischi ed è la più performante tecnica fault tolerant.

Il contenuto dei dischi viene mantenuto identico e le operazioni di scrittura vengono riportate su entrambe i dischi.

Lo svantaggio principale è che lo spazio a disposizione è il 50% del totale, cioè se avete 2 dischi da 18 GB per un totale di 36 GB e li mettete in RAID 0 avrete a disposizione solo 18 GB, mentre gli altri sono dedicati alla ridondanza.

In caso di guasto l’altro disco continuerà a funzionare senza problemi, finché non viene ristabilito il mirror.

Fate presente che non è una tecnica di backup, perché se viene scritto un file errato viene riportato sul disco mirror!

RAID 2

Questo RAID ha come obbiettivo il garantire l’integrità dei dati implementando l’algoritmo di Hamming per il controllo degli errori dei dischi. I BIT che compongono i dati vengono memorizzati su dischi diversi ed insieme ad essi le informazioni di parità. Questo sistema che richiede molto spazio ‘addizionale’ per memorizzare i bit di parità è assolutamente inutile su dischi SCSI i quali hanno un sistema di controllo degli errori sui bit nativo.

RAID 3

Funziona esattamente come il RAID 2 tranne per il fatto che questo tipo di RAID usa un disco dedicato per la memorizzazione dei bit di parità. Anche questo e’ molto svantaggioso come RAID per il fatto che l’elettronica di controllo deve fare in modo che i dischi girino all’unisono per poter avere un veloce accesso ai dati, e questo comporta un costo addizionale, inoltre se il disco a rompersi è il disco contenente i bit di parità viene a mancare la garanzia della bontà dei dati contenuti negli altri dischi.

RAID 4

E’ la tecnica dello stripe set con parità.

Le informazioni della parità vengono mantenute su un disco esterno allo stripe set.

La parità è in pratica il risultato di un’operazione di AND logico tra i dati dei dischi, cioè se la somma dei BIT alla posizione X dei dischi è pari allora sul disco della parità alla posizione X viene scritto uno 0, se è dispari un 1.

In caso di guasto il sistema recupera i dati persi leggendo la parità!

Necessita di minimo 3 dischi, e lo spazio da dedicare alla ridondanza in questo caso si calcola con la formula:

(n-1)/n = % di spazio utilizzabile

con n=numero di drive.

Avendo 3 dischi da 9 GB lo spazio disponibile sarebbe di 18 GB, con un 33% dedicato alla parità.

E’ chiaro che più dischi si usano e minore è lo spazio che sarà usato per la ridondanza, ma il sistema sarà caricato dai calcoli più pesanti all’aumentare dei drive.

Questa tecnica viene mantenuta solo per la compatibilità con sistemi che già la adottavano, perché è superata dal RAID 5.

RAID 5

Stripe set con parità distribuita.

E’ l’evoluzione del RAID 4, con la variante che le informazioni di parità non sono memorizzate su un drive apposta ma vengono distribuite sui dischi dell’array, consentendo un aumento di prestazioni.

Il disco dedicato della tecnica RAID 4 veniva infatti sovraccaricato di lavoro perché per ogni operazione di scrittura il sistema doveva accedere ad esso.

Le altre valutazioni sono uguali alle precedenti.

RAID 10 (1+0)

Questo tipo di RAID e’ l’unione del RAID 0 e 1. Consiste nel replicare su due controller differenti due array di dishi in mirroring fra loro. Se i dati contenuti nei dischi sono particolarmente delicati da permettere una spesa MOLTO elevata si puo’ abbinare al posto del RAID 0 i RAID 4 o 5. In questo modo con 6 dischi se ne possono rompere QUATTRO e i dati sono ancora recuperabili, solo un’incendio può far paura ai vostri dati. Purtroppo questo RAID necessita del triplo dei dischi che ci vorrebbero normalmente in un sistema senza RAID.

 

Ora che si è vista la teoria delle tecniche RAID, vediamo praticamente come si può implementare.

Il RAID si può implementare via SOFTWARE o in HARDWARE.

HARDWARE

E’ la scelta migliore ma anche la più costosa (come al solito) in quando necessita di un controller SCSI con funzioni apposite.

Non appesantisce il sistema operativo e nasconde completamente ad esso la tecnica usata, cioè dall’OS si vedono dei dischi “normali”.

Si configura con le utility fornite insieme alla scheda e a seconda del controller si hanno a disposizione funzioni di controllo e sicurezza varie.

Una di queste funzioni è la possibilità di aggiungere all’array un disco di Hot-Spare (o Online-Spare) che entra in funzione in caso di guasto e va a sostituire il disco rotto, garantendo la fault tolerance anche in caso di un secondo guasto!

SOFTWARE

Il RAID è completamente a carico del sistema operativo e per questo viene usato in piccoli sistemi dove l’acquisto di un controller dedicato è un problema.

Tutti i sistemi operativi server forniscono la possibilità di fare un RAID 0, 1 e 5, ecco una piccola carrellata:

· NT 4.0 : la gestione dei dischi è configurabile dall’utility Disk Administrator che si trova sotto start->programs->administrative tools.
Le informazioni sulle partizioni e sui dischi vengono salvate nel registry, da qui la necessità di aggiornare il disco di ripristino ogni volta che viene fatta una modifica.

· WINDOWS 2000 : i drive si controllano da Pannello di Controllo->Strumenti di Amministrazione->Gestione Computer sotto Archiviazione->Gestione Disco.
A differenza del predecessore utilizzando i cosiddetti “dischi dinamici” le informazioni di configurazione vengono scritte direttamente sui dischi nell’ultimo mega disponibile, la tabella delle partizioni inoltre viene replicata su ogni disco dinamico offrendo una maggiore sicurezza in caso di crash.

· LINUX : non lo so (scusate)

 

SCENARI

In piccole realtà un server con mirror software è la soluzione più semplice e economica, dove i budget si fanno più elevati in controller che implementa in hardware un RAID 5 è la soluzione migliore, mentre se avete per le mani un grosso affare aggiungendo un disco di hot-spare al RAID 5 dormirete sonni tranquilli!

Rate this post

Written by Daniele
Hi, I’m Daniele! In April 2012 I quit my full-time IT job to pursue entrepreneurship and a location independent lifestyle.