Raid por software

De gacq wiki
Revisión del 16:23 27 jul 2006 de 192.168.0.105 (discusión)
(dif) ← Revisión anterior | Revisión actual (dif) | Revisión siguiente → (dif)
Saltar a: navegación, buscar

Software RAID

Administracion general

Ver el estado de todos los dev
	cat /proc/mdstat

Ver estado de un dev
	mdadm -D /dev/mdx

Si tenemos alguna particion no linux que queremos copiar hacemos
	dd if=/dev/sda1 of=/dev/sdb1

Instalar Grub en disco 2

grub --device-map=/boot/grub/device.map
root (hd1,1)
setup (hd1)
quit

Obtener la informacion de RAID y documentar

Es importante copiar la informacion del RAID antes de que se rompa un disco.
Por ejemplo, el archivo /etc/mdadm/mdadm.conf contiene:

DEVICE partitions
ARRAY /dev/md1 level=raid1 num-devices=2 UUID=7e9ff9fb:1301e607:29f32270:4d5ee33d
ARRAY /dev/md0 level=raid1 num-devices=2 UUID=6c0c9938:5037db57:c37c3f68:cdb71ddf


Pero cada ARRAY (md0 y md1) estan formados por particiones de otros discos. 
Esos datos se pueden obtener con:

/sbin/mdadm -D /dev/md1 | grep "active" | grep "dev"
       0       8        6        0      active sync   /dev/sda6
       1       8       22        1      active sync   /dev/sdb6

/sbin/mdadm -D /dev/md0 | grep "active" | grep "dev"
       0       8        1        0      active sync   /dev/sda1
       1       8       17        1      active sync   /dev/sdb1

Para obtener un listado ordenado con las particiones de cada ARRAY:

for r in `cat /etc/mdadm/mdadm.conf | grep ARRAY | awk '{print $2}'`; do echo $r; /sbin/mdadm -D $r | grep "active" | grep "dev"; done

Toda esta informacion es conveniente volcarla en /etc/mdadm/mdadm.conf luego de creado el ARRAY
de acuerdo a como se indica en el ejemplo en: http://www.math.ias.edu/doc/mdadm-1.6.0/mdadm.conf-example

DegradedArray event

En general no preocuparse. Lo primero es tratar de detectar que particion se degradó.

Para ver que
/dev/mdX
es el que no esta funcionando primero mirar:
cat /proc/mdstat

ejemplo de salida correcta:

Personalities : [raid1]
md5 : active raid1 sda8[0] sdb8[1]
      63014848 blocks [2/2] [UU]

ejemplo de salida INcorrecta:

Personalities : [raid1]
md5 : active raid1 sdb8[1]
      63014848 blocks [1/2] [_U]
El primer paso resolver el problema es verificar que la falla fue de software y no es un problema de hardaware del disco que forma parte del raid, para esto mirar los logs (ej:
/var/log/messages
y
/var/log/syslog
) y buscar errores de ide o sata (según corresponda).

Si fue un problema de software lo unico que hay que hacer es volver a agregar la partición a mdX usando el commando:

mdadm --manage /dev/mdX --add /dev/hdbY

luego para verificar el procesos de resincronía de las particiones:

while (true) do clear; cat /proc/mdstat; sleep 1; done
y terminar con
ctrl+c

Si fue un problema de hardware, seguir leyendo :_(

Reponer un disco roto

Reparticionar el disco igual que el que quedo vivo

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

Volver a instalar el grub

grub --device-map=/boot/grub/device.map
root (hd1,1)
setup (hd1)
quit

Dependiendo de cual disco se ha cambiado, es bueno saber a cual apuntar para instalar grub
eso se puede saber con este ejemplo:

grub> find /boot/grub/stage1

 (hd0,0)
 (hd1,0)

Agregar a los MD devices las nuevas particiones

mdadm /dev/md0 -add /dev/sdb2
mdadm /dev/md1 -add /dev/sdb6
mdadm /dev/md2 -add /dev/sdb7
mdadm /dev/md3 -add /dev/sdb8
mdadm /dev/md4 -add /dev/sdb9