Menu Chiudi

Raid software su Debian

<<<< ATTENZIONE >>>>
IL NUOVO INSTALLER DELLA DEBIAN PREVEDE GIÀ LA POSSIBILITÀ DI CREARE LA PARTIZIONE DI ROOT IN RAID,
MANTENGO COMUNQUE IL DOCUMENTO CHE PUÒ SEMPRE ESSERE UTILE.

In alcuni casi peraltro, il controller SCSI non viene riconosciuto
dall'installer, la soluzione è premere CTRL-F2 per attivare una nuova
shell, e quindi caricarsi a manina il modulo:

modprobe -v nomemodulo

a volte è necessario anche caricare a mano il modulo dei dischi scsi:

modprobe sd_mod

<<<< ATTENZIONE >>>>
IL NUOVO INSTALLER DELLA DEBIAN PREVEDE GIÀ LA POSSIBILITÀ DI CREARE LA PARTIZIONE DI ROOT IN RAID,
MANTENGO COMUNQUE IL DOCUMENTO CHE PUÒ SEMPRE ESSERE UTILE.

In alcuni casi peraltro, il controller SCSI non viene riconosciuto
dall'installer, la soluzione è premere CTRL-F2 per attivare una nuova
shell, e quindi caricarsi a manina il modulo:

modprobe -v nomemodulo

a volte è necessario anche caricare a mano il modulo dei dischi scsi:

modprobe sd_mod


Eventualmente si possono trovare moduli scsi aggiuntivi sempre nel CD di
installazione sotto /cdrom/pool/main/l/linux-kernel-di-i386-2.6 in particolare
i due pacchetti scsi-extra-modules e scsi-modules


occhio che in questo caso bisogna fare in modo che l'initrd sia creato correttamente
date un occhio a man initrd o a mkinitrd(diaolin)

Liberamente tradotto e adattato da:

http://rootraiddoc.alioth.debian.org/

Sommario

Si parte con l'installazione di DebIan sul disco Master primario (hda). È necessario assicurarsi che il kernel abbia in qualche modo il supporto RAID. Quindi verrà aggiunto il secondo disco come secondario Master (hdc), verrà configurato per il RAID, creato l'array RAID ed in esso copiata la DebIan, quindi sarà possibile riavviare il sistema facendo il boot dal RAID e dichiarare hda come parte del vettore, in questo modo verrà automaticamente fatta la sincronizzazione con hdc e completato il mirror RAID.

Procedimento

Installazione DebIan

Installare una DebIan base sul primo disco, hda, oppure se si possiede una debian già funzionante si passi all'operazione successiva. Se non si sa come installare una debian è possibile trovare documentazione a questi riferimenti:

Debian Installation HowTo

Sarge Debian Installation HowTo

Aggiornamento ad un kernel con supporto RAID

Compilazione ed installazione di un kernel adatto

Il supporto per il RAID dev'essere compilato nel kernel, non come modulo (di solito i kernel distribuiti con debian hanno il raid come modulo), per poter fare il boot da un dispitivo RAID. Un'altra soluzione può essere quella di utilizzare initrd come descritto più avanti oppure fare il boot da un dispositivo non RAID.

Per le istruzioni su come compilare il kernel ed installarlo si faccia riferimento a Creating custom Kernels with Debian's kernel-package system

RAID senza ricompilare il kernel con initrd

Modificare il file /etc/mkinitrd/modules in modo che contenga:

md
raid1

modificare il file /etc/mkinitrd/mkinitrd.conf in modo che:

ROOT=/dev/md0

e quindi creare una nuova immagine:

mkinitrd -o /boot/initrd.img-x.x.x-raid
Verifica del supporto RAID nel kernel (se ricompilato)

Lanciare:

cat /proc/mdstat

E quindi vedere le RAID "personalities" supportate dal kernel. Qualcosa di simile a:

Personalities :
read_ahead not set
unused devices: <none>

Nella voce Personalities si vedono i tipi di raid supportati ad es:

Personalities : ![linear] ![raid0] ![raid1] ![raid5] 

È necessario verificare il supporto raid attraverso /proc/mdstat. È il passo più importante da verificare prima di procedere con i passi successivi. Notare che /etc/modules non deve contenere alcun supporto RAID se è stato compilato nel kernel. Con il comando lsmod è possibile visualizzare la lista dei moduli caricati.

Installare 'mdadm':
apt-get install mdadm

Impostazione del RAID 1

Impostazione del RAID 1 e dichiarazione del primo disco come 'missing' nell'array RAID,

Creazione del RAID (fd) sul disco secondario

Attenzione, dare sempre il nome del device nell'utilizzo di cfdisk. Di default cfdisk prende il primo disco del sistema.

Creare le partizioni sul disco nuovo:

cfdisk /dev/hdc

oppure copiando le partizioni esistenti sul nuovo discon con sfdisk:

sfdisk -d /dev/hda | sfdisk /dev/hdc

NOTA: Su alcuni dischi non è possibile copiare le partizioni correttamente con questo metodo, in quanto sfdisk riconosce la nuova partizione con dimensione 0. A questo punto sara' quindi necessario creare le partizioni manualmente mettendole della stessa dimensione del primo disco con cfdisk.

Crezione delle partizioni del tipo giusto

cfdisk /dev/hdc
  • Selezionare Tipo, e quindi FD (significa partizione RAID).
  • Selezionare Scrivi
  • Selezionare Esci.

Riavviare la macchina per controllare che cfdisk abbia eseguito le operazioni correttamente.

Creazione del device RAID

L'array RAID in questo caso consiste di due membri uno dei quali ancora non esiste. md0 è la partizione RAID che verrà creata, /dev/hdc1 è la partizione iniziale e verrà aggiunta /dev/hda1 a /dev/md0 dopo il boot con il sistema operativo in /dev/md0:

mdadm --create /dev/md0 --level=1 --raid-disks=2 missing /dev/hdc1

Se il comando genera errori è necessario azzerare il super block, mdadm contiene il comando per eseguire tale operazione:

mdadm --zero-superblock /dev/XXX

Formattazione del dispositivo RAID

mkfs.ext3 /dev/md0

oppure:

mkfs -t reiserfs /dev/md0

Copia del sistema sul device RAID

Copia del sistema debian da hda a /dev/md0 ('missing' + 'hdc'), quindi controllo del sistema raid

Montaggio del dispositivo raid
mount /dev/md0 /mnt
Copia del sistema operativo sul RAID
cp -axu / /mnt

L'opzione -u non è necessaria, serve solo ad evitare che il file venga ricopiato se già esistente.

Sistemazione di fstab del RAID

modificare l'fstab del raid mettendo come root md0, quindi editando /mnt/etc/fstab:

/dev/md0    /   ext3  defaults,errors=remount-ro   0   1

Boot dal dispositivo RAID

Impostazione di GRUB

modificare il file /boot/grub/menu.lst:

title           Debian GNU/Linux, kernel 2.6.5-1-686 RAID
root (hd0,0)
kernel /boot/vmlinuz-x.x.x root=/dev/md0 ro
initrd /boot/initrd.img-x.x.x-raid
savedefault
boot

installare la nuova versione:

grub-install /dev/hda 

e poi anche sull'altro disco (nel caso il primo si rompesse!!):

grub-install /dev/hdc

e riavviare la macchina, se tutto è andato a buon fine il sistema partirà dal dispositivo RAID.

Aggiunta hda al raid

Ora che il sistema parte dal raid è necessario aggiungere all'array anche il primo disco:

mdadm --add /dev/md0 /dev/hda1

e facendo:

cat /proc/mdstat

si vedrà qualcosa di simile a:

Personalities : ![raid1]
md0 : active raid1 hda1![2] hdc1![1]
7911872 blocks ![2/1] ![_U]
![==============>......] recovery = 72.7% (5756544/7911872) finish=2.3min speed=14994K/sec
unused devices: <none>

il che significa che si sta ricomponendo il RAID.

Una volta completata la costruzione del RAID è necessario aggiornare l'initrd in modo che rispecchi la situazione attuale dell'array, infatti l'initrd creato precedentemente contiene i riferimenti per aggiungere un solo disco all'array:

mkinitrd -o /boot/initrd.img-x.x.x-raid

e quindi reinstallare il boot loader.

!FFFFFatto?! !BBBBene, ora avrete ottenuto il vostro RAID fatto in casa!:) Vs. gypsymauro

From unknown Wed Jan 19 23:23:42 +0100 2005 From: Date: Wed, 19 Jan 2005 23:23:42 +0100 Subject: Documentazione molto utile! Message-ID: <20050119232342+0100@www.linuxtrent.it>

COme da soggetto, complimenti per queste brevi note UTILISSIME!

From unknown Thu Mar 24 13:18:10 +0100 2005 From: Date: Thu, 24 Mar 2005 13:18:10 +0100 Subject: Grazie! Message-ID: <20050324131810+0100@www.linuxtrent.it>

questo documento mi tornato davvero utile, grazie mille!

From unknown Thu May 5 16:44:19 +0200 2005 From: Date: Thu, 05 May 2005 16:44:19 +0200 Subject: Grazie mille! Message-ID: <20050505164419+0200@www.linuxtrent.it>

complimenti! ho appena messo un raid1 con 2 dischi da 200gb, tutto facile, tutto chiaro, grazie alla tua guida!

From unknown Thu Nov 17 11:33:51 +0100 2005 From: Date: Thu, 17 Nov 2005 11:33:51 +0100 Subject: Grazie Message-ID: <20051117113351+0100@www.linuxtrent.it>

Documentazioen molto chiara. Ho tolto il Raid Hardware che non mi funzionava ed ho implementato il software. ho anche provato a togliere i dischi. FUNZIONA TUTTO. Grazie Ancora

From unknown Thu Dec 1 00:51:35 +0100 2005 From: Date: Thu, 01 Dec 2005 00:51:35 +0100 Subject: sembra ottimo ! Message-ID: <20051201005135+0100@www.linuxtrent.it>

non ho ancora provato a seguire le istruzioni ... ma questo è l'unico DOC che fa luce sul RAID con il kernel 2.6 e sup. Grazie

From unknown Tue Dec 6 11:02:18 +0100 2005 From: Date: Tue, 06 Dec 2005 11:02:18 +0100 Subject: OTTIMO GRAZIE MILLE !!!!! Message-ID: <20051206110218+0100@www.linuxtrent.it>

Con queste indicazioni ho installto il raid su tutte le partizioni (boor, /, /usr , ecc. Ottime indicazioni. L'unico problema era al riavvio, in sistema non riconosceva i vari md. Ho risolto aggiornando il file mdadm.conf inserendo all'inizio la stringa DEVICE /dev/hd*[0-9] /dev/sd*[0-9 In seguito ad ogni modifica apportata ai vari md aggiorno il file mdadm.cont con mdadm --examine --scan >> /etc/mdadm/mdadm.con e poi edito il medesimo file e lascio solo i vari ARRAY aggiornati. Ancora grazie mille.

WordPress Appliance - Powered by TurnKey Linux