viernes, 24 de octubre de 2008

... Y tras el desastre en un raid, ¿que ocurre?

En mi caso, tras recuperar el raid, toca sincronizar la maquina espejo que tiene una copia de todo lo que hay en el raid principal.

Una imagen vale mas que mil palabras:

Tras una catástrofe, solo queda, sincronicar y esperar.

jueves, 16 de octubre de 2008

El misterioso caso de los UUID diferentes con mdadm y Ubuntu

Nota: Como siempre recomendar el blog de Iván López. Un crack en el tema del mdadm... yo soy un simple padawan xD

Niños y niñas, hoy tengo un caso escalofriante... ¿Os ha pasado esto, tras montar un raid con mdadm y reiniciar?:


nas002@nas002:~$ more /proc/mdstat
Personalities : [raid0]
md0 : inactive sda3[0](S) sdg1[6](S) sde1[4](S)
1459504960 blocks

unused devices: none

Es decir, que tengo 3 discos en el md0, los cuales ninguno de ellos esta funcionando, PERO lo peor de todo es que mi raid tiene 7 discos... ¿Donde estan?.

Os pongo en antedecentes. Como ya os he dicho, tengo 7 discos SATA, el primero de ellos con 3 particiones con solo una que es raid (el resto es sistema operativo que no va en raid), y con un raid 0, con otro ordenador espejo que sincroniza del ordenador maestro. Por suerte, los problemas los tengo con el ordenador espejo.

Bueno, esperar que vienen curvas. Y peor aun un terraplén...
nas002@nas002:~$ sudo mdadm -E /dev/md0
mdadm: No md superblock detected on /dev/md0.

Maldiciendo a mi suerte, la del creador de mdadm (pobrecillo si no tiene culpa), y la de la madre del tio del creador... me pongo a mirar los discos "spare" contra los discos que no aparecen... me temo lo peor:

nas002@nas002:~$ sudo mdadm -E /dev/sda3
/dev/sda3:
Magic : a92b4efc
Version : 00.90.00
UUID : 61396f44:258b90a4:08bb504a:52bcb104
Creation Time : Wed Oct 8 17:29:13 2008
Raid Level : raid0
Device Size : 0
Raid Devices : 7
Total Devices : 7
Preferred Minor : 0

Update Time : Wed Oct 8 17:29:13 2008
State : active
Active Devices : 7
Working Devices : 7
Failed Devices : 0
Spare Devices : 0
Checksum : 1d42f633 - correct
Events : 0.1

Chunk Size : 64K

Number Major Minor RaidDevice State
this 0 8 3 0 active sync /dev/sda3

0 0 8 3 0 active sync /dev/sda3
1 1 8 17 1 active sync /dev/sdb1
2 2 8 33 2 active sync /dev/sdc1
3 3 8 49 3 active sync /dev/sdd1
4 4 8 65 4 active sync /dev/sde1
5 5 8 81 5 active sync /dev/sdf1
6 6 8 97 6 active sync /dev/sdg1
nas002@nas002:~$ sudo mdadm -E /dev/sdb1
/dev/sdb1:
Magic : a92b4efc
Version : 00.90.00
UUID : 61396f44:258b90a4:fcd08df6:8c37c669
Creation Time : Wed Oct 8 17:29:13 2008
Raid Level : raid0
Device Size : 0
Raid Devices : 7
Total Devices : 7
Preferred Minor : 0

Update Time : Wed Oct 8 17:29:13 2008
State : active
Active Devices : 7
Working Devices : 7
Failed Devices : 0
Spare Devices : 0
Checksum : 4ad34955 - correct
Events : 0.1

Chunk Size : 64K

Number Major Minor RaidDevice State
this 1 8 17 1 active sync /dev/sdb1

0 0 8 3 0 active sync /dev/sda3
1 1 8 17 1 active sync /dev/sdb1
2 2 8 33 2 active sync /dev/sdc1
3 3 8 49 3 active sync /dev/sdd1
4 4 8 65 4 active sync /dev/sde1
5 5 8 81 5 active sync /dev/sdf1
6 6 8 97 6 active sync /dev/sdg1
nas002@nas002:~$

¡Ostia!, si los UUID no coinciden, y teoricamente son unicos y comunes. Ya estoy cagado, pero aun hay mas sorpresas:
nas002@nas002:~$ more /etc/mdadm/mdadm.conf
# mdadm.conf
#
# Please refer to mdadm.conf(5) for information about this file.
#

# by default, scan all partitions (/proc/partitions) for MD superblocks.
# alternatively, specify devices to scan, using wildcards if desired.
# DEVICE partitions

# auto-create devices with Debian standard permissions
#CREATE owner=root group=disk mode=0660 auto=yes

# automatically tag new arrays as belonging to the local system
#HOMEHOST

# instruct the monitoring daemon where to send mail alerts
MAILADDR informatica@inclam.com

# definitions of existing MD arrays
ARRAY /dev/md0 level=raid0 num-devices=7 UUID=61396f44:258b90a4:08bb504a:52bcb104

# This file was auto-generated on Mon, 09 Jun 2008 13:33:44 +0200
# by mkconf $Id: mkconf 261 2006-11-09 13:32:35Z madduck $

Analicemos el tema... el fichero de configuración de mdadm lo cree yo... y metí el uuid que creí que era el que identificaba al raid. ¿Me equivoqué?
Vaya usted a saber, el uuid de algunos discos a cambiado y me encuentro con que no tengo nada... NADA... de toda la información. Tras perder los nervios y googlear un poco, me encontre la solución. Simple, como casi todo en linux:

nas002@nas002:~$ sudo mdadm --stop /dev/md0
mdadm: stopped /dev/md0
nas002@nas002:~$ sudo mdadm --create --verbose /dev/md0 --level=0 --raid-disks=7 /dev/sda3 /dev/sd[b-g]1
mdadm: chunk size defaults to 64K
mdadm: /dev/sda3 appears to contain an ext2fs file system
size=-881926592K mtime=Wed Oct 8 17:40:38 2008
mdadm: /dev/sda3 appears to be part of a raid array:
level=raid0 devices=7 ctime=Wed Oct 8 17:29:13 2008
mdadm: /dev/sdb1 appears to be part of a raid array:
level=raid0 devices=7 ctime=Wed Oct 8 17:29:13 2008
mdadm: /dev/sdc1 appears to be part of a raid array:
level=raid0 devices=7 ctime=Wed Oct 8 17:29:13 2008
mdadm: /dev/sdd1 appears to be part of a raid array:
level=raid0 devices=7 ctime=Wed Oct 8 17:29:13 2008
mdadm: /dev/sde1 appears to be part of a raid array:
level=raid0 devices=7 ctime=Wed Oct 8 17:29:13 2008
mdadm: /dev/sdf1 appears to be part of a raid array:
level=raid0 devices=7 ctime=Wed Oct 8 17:29:13 2008
mdadm: /dev/sdg1 appears to be part of a raid array:
level=raid0 devices=7 ctime=Wed Oct 8 17:29:13 2008
Continue creating array? y
mdadm: array /dev/md0 started.
nas002@nas002:~$ sudo mount -a
nas002@nas002:~$ df -h
S.ficheros Tamaño Usado Disp Uso% Montado en
/dev/sda1 4,9G 2,6G 2,1G 56% /
[... basura ..]
/dev/md0 3,2T 2,0T 1011G 67% /mnt/raid
nas002@nas002:~$ ls /mnt/raid
[... LOS PUTOS DIRECTORIOS ESTAN AQUI ...]

Ahora solo queda, cambiar el UUID en el fichero /etc/mdadm/mdadm.conf... Dios, que crisis he tenido :P