dijous, 31 de juliol del 2008

RAID per programari al Servidor (fake RAID)

Com el servidor ha de tenir una certa fiabilitat utilitzarem discos en mirall (RAID1). Així si falla un dels dos discos no hi ha d'haver problema i s'ha de poder substituir el defectuós i tornar a treballar sense perdre la info ni massa temps.

La tarja RAID de què disposo pel servidor és una Promise FastTrack.... Se li poden connectar dos discos PATA i té un sol xip. Cap distribució de linux actual (excepte la linkat 1.1) la ha reconegut com a controladora RAID. És d'allò més cutre i tota la feina de càlcul la ha de fer el processador.
En l'altre servidor tinc una 3ware que sí que la va reconèixer el instal·lador i treballa com a disc SCSI amb dos discos PATA.

Per tant passaré d'ella i connectaré directament els dos discos PATA idèntics (120GB) a la placa base en els IDE 1 i 2. Afortunadament el BIOS de la placa base suporta l'arrencada des de CD-ROM USB (per fer la instal·lació inicial), per tant només hi haurà connectats aquests dos dispositius als busos ATA, tots dos com a master. Segons la nomenclatura linux són hda i hdc.

Anem a veure com es fa això del RAID 1 per soft amb linux. I com es prova. Hi ha una bona referència a How To Set Up Software RAID1 On A Running System (Incl. GRUB ... i a Replacing A Failed Hard Drive In A Software RAID1 Array.

Tot tenint connectats els dos discs a la placa i posant el CD d'instal·lació de la debian 4 en una gravadora externa connectada per USB (el BIOS permet l'arrencada). S'inicia la instal·lació del S.O. . En el pas del particionament, per fer les proves, es fan 2 particions idèntiques a cada disc (root i swap) i s'agrupen en dos "md". En acabar la instal·lació es deixa el GRUB en el MBR.

Ara s'engega per primera vegada el S.O. i se segueixen les indicacions del primer tutorial per revisar el /boot/grub/menu.lst:
En general s'ha de modificar per tal de duplicar els kernels d'arrencada i fer que si falla el que arrenca per defecte, que arrenqui amb el de l'altre disc, és a dir:
afegim (per si falla el 0 salti al 1):
default 0
fallback 1
i copiem el primer (0) a sota, tot canviant ler referències a (hd0,0) que corresponen a hda1 (master de IDE1) per (hd1,0) que corresponen a hdc1 (master de IDE2):
title
root
kernel
initrd
savedefault
Compte amb root=/dev/mdX, i comprovar a l'inici #kopt=root=/dev/md0 ro.
De tota manera cal veure si el BIOS altera la numeració dels discs si en falla un i llavors no cal la duplicació anterior.

A continuació s'actualitza el ramdisk:
# update-initramfs -u
i s'instal·la el grub en els dos discs:
# grub
> root (hd0,0)
> setup (hd0)
> root (hd1,0)
> setup (hd1)
> quit

Molt bé, ara es tracta de comprovar-ho tot:

Amb el sistema en funcionament comprovem que l'array funciona correctament amb
# cat /proc/mdstat
han d'aparèixer tots els "md" amb els seus components en ús (UU), si apareix algún disc fora d'ús (U_) o bé (_U) cal afegir-lo a l'array. Ho farem amb:
# mdadm -a /dev/mdX /dev/hdXX
llavors apareix un missatge dient que comença la sincronització. Podem comprovar per on va amb # cat /proc/mdstat. Si en el pas anterior no tenim clar el disc o la partició a afegir ho tenim més clar amb # fdisk -l.

Una vegada ho tenim tot en funcionament i els discos sincronitzats anem a provar-ho de veritat, aturant el sistema i desconnectant cada un dels discos per separat i mirant si el sistema arrenca. Cal provar si és necessari canviar l'ordre dels cables de dades dels discos per tal de poder arrencar o si bé el BIOS ja fa el canvi automàticament en no detectar un disc.

Cal fer la següent prova:
Amb un disc desconnectat creem un fitxer (touch) i aturem. Tornem a connectar l'altre disc i sincronitzem. Si ho hem fet tot correctament el fitxeret anterior ha de seguir existint.

És imprescindible documentar-ho tot i enganxar-ho físicament al lateral de l'ordinador, i etiquetar discos, cables i connectors de la placa base.

Snap Shots

Get Free Shots from Snap.com