Archivio

Posts Tagged ‘raid howto’

Linux RAID Software – Parte 1

21 gennaio 2008 1 commento

linux-cp1.png

L’idea che stà alla base del RAID è di combinare diversi dischi in un’unico array in modo da ottenere performance migliori o per ridondanza dei dati . Questo può essere ottenuto in due modi ; utilizzando RAID Hardware , cioè schede pci/pciE ecc.. dedicate alla gestione dei raid oppure usando RAID Software gestiti dal sistema operativo.

Esistono diversi livelli di RAID , quelli maggiormente utilizzati sono :

  • RAID 0 (Striping) : Non vi è nessun tipi di ridondanza , i dati vengono spalmati su più dischi , questo aumenta lo spazzio a disposizione , ma nel caso si guasti un disco, tutti i dati saranno persi .
  • RAID 1 (Mirroring) : Con questo tipo di raid , i dati vengono scritti nello stesso modo su tutti i device che fanno parte del raid , questo comporta che anche se si rompe un disco , i dati saranno comunque accessibili , in quanto è presente una copia speculare di essi . L’unico svantaggio è che non incrementiamo lo spazio a disposizione . Infatti se mettiamo in RAID 1 due dischi da 40 GB , lo spazio utilizzabile per scrivere dei dati sarà di 40 GB.
  • RAID 5 : Questo tipo di raid chiamato anche “Striping with Parity” , possiamo vederlo come una via di mezzo tra i primi due , in quanto i dati vengono spalmati su tutti i dischi ma oltre a questi vengono scritte anche delle informazzioni di parità . Quest’ultime , vengono usate durante la fase di ricostruzzione dei dati , dopo la rottura di un disco . Per utilizzare un RAID 5 occorrono almeno 3 dischi , e la perdita di spazio utilizzabile per la scrittura di dati è nettamente inferiore rispetto ad un mirror .

Su Linux il RAID Software è implementato nel Kernel ed è gestito dai dirver MD che permette alla soluzione raid di essere indipendente dal hardware. La gestione e la creazione dei raid , viene gestita attravero un tool che si chiama mdadm .

Vediamo ora in dettaglio , come fare ad implementare un RAID 1 Software :

  1. Prima di tutto servono 2 partizioni vuote che dovremmo definire di tipo Raid Linux . Nel nostro caso abbimo due dischi il primo /dev/sdb da 20GB ed il secondo /dev/sdc da 20 GB.
  2. Creiamo le partizioni con fdsik:
    • [root@srvmail ~]# fdisk /dev/sdb
      The number of cylinders for this disk is set to 1958.
      There is nothing wrong with that, but this is larger than 1024,
      and could in certain setups cause problems with:
      1) software that runs at boot time (e.g., old versions of LILO)
      2) booting and partitioning software from other OSs
      (e.g., DOS FDISK, OS/2 FDISK)
      Comando (m per richiamare la guida):
    • Ci troviamo davanti al prompt di fdisk , digitando “n” creiamo una nuova partizione :

    Comando (m per richiamare la guida): n
    Azione comando
    e estesa
    p partizione primaria (1-4)

Dobbiamo scegliere se si tratta di una partizione estesa o primaria , nel nostro caso sarà primaria quindi “p”.

Il passaggio sucessivo ci chiederà il numero della partizione , se è la prima partizione che creiamo scriviamo “1” . Premendo invio vi chiederà qual è il primo cilindro , potete affidarvi a quello che vi propone lui quindi premete invio . L’ultima cosa che vi chiederà riguarda l’ultimo cilindro , per semplificare le cose scrivete le dimensioni in Megabyte della partizione che volete creare nel seguente formato , +20000M . Non farà altro che creare una partizione da 20 GB .

A questo punto dobbiamo specificare il tipo di partizione , per fare ciò digitate “t” e succesivamente “fd” ( setta la partizione come Linux Raid ) . Se tutto è andato bene digitando “p” dovreste vedere una cosa del genere :

Comando (m per richiamare la guida): p
Disco /dev/sdb: 16.1 GB, 16106127360 byte
255 heads, 63 sectors/track, 1958 cylinders
Unità = cilindri di 16065 * 512 = 8225280 byte

Dispositivo Boot Start End Blocks Id System
/dev/sdb1 1 2 16033+ fd Autorilevamento raid di Linux
(Non fate caso alle dimensioni!!!!)

Se tutto è ok digitate “w” , questo comando scriverà le informazioni sulla tabella delle partizioni è uscirà dal programma . Eseguite le stesse operazioni per l’altro disco , è fondamentale che le partizioni abbiano le stesse dimensioni , altrimenti non potrete configurare il RAID in seguito .

Una volta terminate le operazioni di partizionamento diamo il comando partprobe , che andrà a rileggere le tabelle delle partizioni .

Per questa puntata e tutto , nella seconda parte di questo mini-howto vedremo come creare il nostro primo RAID e come gestirlo .