Commenti sull’Info Age

Diari sull’informatica e dintorni

Disk RAID con NVIDIA su Ubuntu 7.04 e 7.10 (e Linux in genere)

Pubblicato da orter su Novembre 18, 2007

I secchioni li chiamano fake raid. Sono i raid array gestiti dai bios delle moderne schede madri SATA.

Si chiamano “fake” (ovvero fasulli) per distinguerli dai disk array gestiti da opportuna interfaccia hadrware U-PCI/PCI.

Se i fake array permettono RAID 0, 1, 2, o JBOD con opzioni di gestione veramente di base, gli array hardware permettono RAID 0, 1, 2, 5, 10, JBOD e scalabilità da 5 a 10 dischi.

Ma i fake array sono veramente economici. Gli array hardware sono costosi (si parte da € 250 per un controller da tre dischi), e non tutti sono compatibili con Linux, anzi solo alcuni sono utilizzabili a pieno, per molti occorre rinunciare a funzioni pagate fior di quattrini e ci sono casi di piena incompatibilità.

Ci sono diverse guide per gestire i fake raid array su Linux, per esempio:

In quasi tutte queste guide si mostra anche come installare una distribuzione Linux su un disk array.

Ma i fortunati possessori di fake array, oltre a risparmiare soldi, si trovano a risparmiare fatica. Adottando la gestione del disk array offerta dal bios, l’utilizzo del comando mdadm (amministrazione disk array) diveta inutile.

Comunque, per completezza, si elencano prerequisiti all’uso di mdamd ed esempi commentati.

Su Ubuntu/Debian occorre installare mdadm

apt-get install mdadm

Sia però chiaro che il metapackage raidtools2, citato in alcune guide, è obsoleto.

Per creare un disk array di tipo 1 (mirror):

mdadm --create /dev/md0 --level=1 --raid-device=2 /dev/sdb1 /dev/sdc1

Cambiando –level si impostano raid di tipo 0, 10 o 5.
Naturalmente occorre elencare i device voluti.

Ma per chi usa il setup da bios? Le guide sono fuorvianti.

Si deve impostare l’array usando il pannello di configurazione richiamato al boot della macchina solitamente premendo f10, per capire come cosa fare è bene darsi una letta al manuale della piastra madre, comunque, mediamente, si tratta di elencare quali dischi compongono l’array e che tipo di array (0, 1, 10, jbod) si vuole installare.

Una volta creato l’array ed eseguito il boot di Linux, in /dev/mapper appare un apposito device che si deve utilizzare per

  1. creare una partizione con fdisk o gparted
  2. formattare com mkfs.ext2 o mkfs.ext3 o mkfs.raiser (o qualsiasi fs supporti i RAID)

Il nome del device varia in base al chipset in scheda. Personalmente mi trovo un /dev/mapper/nvidia_gccjfcbf.

Addirittura, il bios rende resistente l’array ad eventuali usi errati di fdisk o mdamd. Ho provato a cancellare la partizione dal device e crearne una nuova e ci sono pure risscito.

 Al primo riavvio di macchina ho potuto comunque ricostruire l’array precedentemente creato senza perdere un solo file.

L’unico appunto è che fdisk -l non lista il device mapper. E’ comunque di aiuto gparted:

gparted mostra il mio disk array fake

Una volta formattato il disk array va montato con

sudo mount -t reiserfs  /dev/mapper/nvidia_gccjfcbf /home/data

Ultima nota: se si tenta di usare madm su di un array gestito da scheda madre si otterrà l’errore ‘device busy’.

Lascia un commento

XHTML: Puoi usare questi tag: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <pre> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>