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 blocksunused 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 : 0Update 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.1Chunk Size : 64K
Number Major Minor RaidDevice State
this 0 8 3 0 active sync /dev/sda30 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 : 0Update 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.1Chunk Size : 64K
Number Major Minor RaidDevice State
this 1 8 17 1 active sync /dev/sdb10 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
Puede que te interese:
Nada relacionado


Por alusiones contestarte debo joven padawn…
Los caminos del mdadm oscuros y peligrosos son,
pero con paciencia y estudio dominarlos podrás.
Ahora en serio, gracias de nuevo por lo de crack, al final me lo termino creyendo y todo.
Mi consejo es que no modifiques el mdadm.conf a mano, sino que te lo genere él. En algún artículo pongo cómo se hace.
Respecto a la solución, estoy flipando. Has creado de nuevo el raid con los mismos discos y está ahí toda la información!!. Oh my god!. Jamás lo hubiera pensado. Pensamientos adicionales:
- dev/md0 3,2T 2,0T 1011G 67% /mnt/raid: 3,2TB!!. Madre mía, yo quiero uno así para casa. Ya me costó convencer a mi mujer para comprar los 2 discos de 320GB para la amplicación del raid 1, así que para esta capacidad…
- ¿Por qué el sistema de archivos es ext2 y no ext3?. Por algo en especial?.
Saludos, Iván.
Buenas Ivan.
Tu joven padawan te saluda
Revisaré tu blog para ver lo de la generación automática, ya que creo que es uno de mis problemas…
En cuanto a la solución, pues es así de simple, SIEMPRE que uses el CREATE en el mismo orden que se creó originalmente, pero vamos, casi todos usamos el abecedario
Si, 3,2 Tb… mola
, pero lo peor, te pego una salida del comando df:
————————-
nas001@nas001:~$ df -h
S.ficheros Tamaño Usado Disp Uso% Montado en
/dev/sda1 4,9G 2,3G 2,3G 51% /
[..]
/dev/md0 3,2T 2,0T 1,3T 63% /mnt/raid
————————–
Si… 1% por cierto MAS cada semana, e incluso se llena mas rapido.
Ya estamos plantearlo como aumentar la capacidad con discos de 1Tb, y como hacerlo de manera rapida. Pasariamos a mas o menos 6,5 Tb. Lo malo que hay que volver a montar todo el sistema, pero ya lo hago con los ojos cerrados.
Lo del ext2… es cachondo, ya que tengo un ext3, pero con el mdadm me dice que es un ext2. No se porque.
Un saludo.
…maestro, le hago una consulta. Estoy armando un raid en lo de un cliente (a control remoto via SSH). Va todo bien, lo crea y en este momento esta sincronizando los discos. Hete aqui que se me ocurre generar el mdadm en forma automatica. En fin, hago:
mdadm –detail –scan –verbose > /etc/mdadm/mdadm.conf
…y genera un mdadm que se ve asi:
ARRAY /dev/md0 level=raid1 num-devices=2 metadata=00.90 UUID=9483ad6a:93227a90:3188f471:d04f0e24
devices=/dev/sda1,/dev/sdb1
ARRAY /dev/md1 level=raid1 num-devices=2 metadata=00.90 UUID=af504ab6:25e1ec5c:3188f471:d04f0e24
devices=/dev/sda2,/dev/sdb2
…Se supone que esta todo bien y en una de esas cuando estoy armando el fstab para que monte todo el circo le tiro un:
ls -lF /dev/disk/by-uuid/
para ver que onda con los UUID que voy a usar en el fstab. HORROR!!!! no coinciden!!!!!!!!. Este ultimo comando reporta lo siguiente (recorto solo lo que nos interesa):
lrwxrwxrwx 1 root root 10 2009-07-01 17:13 523a642e-d8bb-4c7a-b488-b849aae419ba -> ../../sdc5
lrwxrwxrwx 1 root root 10 2009-07-01 17:13 5c476288-59fd-40ad-9b3c-a818c05b0a14 -> ../../sde5
lrwxrwxrwx 1 root root 10 2009-07-01 17:13 6f05de95-f35f-4194-aed0-536aa2797373 -> ../../sde1
lrwxrwxrwx 1 root root 9 2009-07-02 13:51 874b26ef-42d0-4f96-a5cf-252ab7eb99b0 -> ../../md0
lrwxrwxrwx 1 root root 10 2009-07-01 17:13 baa52ea0-4c27-4288-9c8a-8fc107852585 -> ../../sdc1
lrwxrwxrwx 1 root root 9 2009-07-02 13:52 c371290f-f680-4c48-8809-06ec29187cc3 -> ../../md1
lrwxrwxrwx 1 root root 10 2009-07-01 17:13 fae12599-d5b0-40c1-8d4c-a541982c8dfb -> ../../sdd1
Vaya mi sorpresa cuando usando en el fstab los valores que extraigo aqui resulta que monta todo como si nada. Hete aqui la duda:
1. Quien me esta minitiendo (Segun el amigo House todos mienten)
2. Le doy bola al ls y corrijo el mdadm.conf para que no me mienta mas
3. Fuerzo valores de UUID para que el ls no mienta (no me cae simpatica esta opcion).
Bueno, lo escucho (mas bien lo leo) master…
Mil perdones. Estoy un poco liado y tengo esto un poco abandonado.
¿Has probado a hacer esto a cada disco duro?
mdadm –zero-superblock /dev/sdXX
Esto borra la marca “RAID” del superbloque de los discos duros (por si pertenecieran a otro raid) y suelen dar problemas si queremos crear otro raid.