3 votos

La matriz RAID-5 se divide al reiniciar (ubuntu)

He configurado una matriz RAID-5 en Ubuntu 13.04 (kernel 3.8.0-27-generic) utilizando mdadm - v3.2.5 - 18 de mayo de 2012. Parece que funciona bien y estar en alto:

$ cat /proc/mdstat 
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] 
md0 : active raid5 sdb3[0] sdd1[3] sdc1[1]
      2929994752 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU]

unused devices: <none>

Sin embargo, al reiniciar, la matriz se divide en dos matrices separadas por lo que me parece que no es una buena razón. En el arranque, me aparece el aviso:

*** WARNING: Degraded RAID devices detected. ***
Press Y to start the degraded RAID or N to launch recovery shell

A lo que suelo responder que sí y se me deja caer en un initramfs Shell del que salgo inmediatamente. Una vez que estoy de vuelta en el sistema propiamente dicho, mi matriz RAID se ha dividido así:

$ cat /proc/mdstat 
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] 
md0 : inactive sdb3[0]
      1464997976 blocks super 1.2

md127 : inactive sdc[1] sdd[2]
      2930275120 blocks super 1.2

También lo he conseguido a la inversa:

$ cat /proc/mdstat 
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] 
md127 : inactive sdb3[0]
      1464997976 blocks super 1.2

md0 : inactive sdc[1] sdd[2]
      2930275120 blocks super 1.2

Aunque sdc y sdd parecen haber formado una pequeña camarilla. Puedo volver a montar la matriz sin problemas emitiendo:

$ mdadm --stop /dev/md0
$ mdadm --stop /dev/md127
$ mdadm -A /dev/md0 /dev/sdb3 /dev/sdc1 /dev/sdd1 

Después de lo cual puedo montar el volumen LVM que se encuentra en md0 y actuar como si nada hubiera pasado (no se reconstruye ni nada). Lo que realmente me gustaría, sin embargo, es no tener que pasar por estos pasos. Mi archivo mdadm.conf contiene la línea

ARRAY /dev/md0 metadata=1.2 UUID=e8aaf501:b564493d:ee375c76:b1242a82

de la que recorté el nombre bajo el consejo de este post del foro . Ejecutando el detalle y el escaneo se produce esto:

$ mdadm --detail --scan
mdadm: cannot open /dev/md/mimir:0: No such file or directory
ARRAY /dev/md0 metadata=1.2 name=turbopepper:0 UUID=e8aaf501:b564493d:ee375c76:b1242a82

Obsérvese el array "mimir". Este es un array vestigial de cuando jugaba con arrays antes. No sé de dónde está siendo detectado (no está en mdadm.conf y no se hace referencia a él en fstab). Probablemente necesita ir, pero no puedo averiguar de dónde viene (de hecho puede ser el culpable).

Se agradecería cualquier ayuda para conseguir que la matriz sea capaz de persistir durante el reinicio sin intervención.

Por si acaso es pertinente, aquí hay más resultados que pueden ser útiles o no.

$ fdisk -l /dev/sdb /dev/sdc /dev/sdd

Disk /dev/sdb: 2000.4 GB, 2000398934016 bytes
255 heads, 63 sectors/track, 243201 cylinders, total 3907029168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x7f0e98a6

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048      499711      248832   fd  Linux raid autodetect
/dev/sdb2          499712   976771071   488135680   fd  Linux raid autodetect
/dev/sdb3       976771072  3907029167  1465129048   fd  Linux raid autodetect

Disk /dev/sdc: 1500.3 GB, 1500301910016 bytes
81 heads, 63 sectors/track, 574226 cylinders, total 2930277168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00052c9c

   Device Boot      Start         End      Blocks   Id  System
/dev/sdc1            2048  2930277167  1465137560   fd  Linux raid autodetect

Disk /dev/sdd: 1500.3 GB, 1500301910016 bytes
81 heads, 63 sectors/track, 574226 cylinders, total 2930277168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000bd694

   Device Boot      Start         End      Blocks   Id  System
/dev/sdd1            2048  2930277167  1465137560   fd  Linux raid autodetect

Imagino que la razón por la que sdc y sdd están juntos durante la división es que son unidades idénticas.

$ cat /etc/mdadm/mdadm.conf
# mdadm.conf
#
# Please refer to mdadm.conf(5) for information about this file.
#

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

# 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 <system>

# instruct the monitoring daemon where to send mail alerts
MAILADDR root

# definitions of existing MD arrays
ARRAY /dev/md0 metadata=1.2 UUID=e8aaf501:b564493d:ee375c76:b1242a82

# This file was auto-generated on Sun, 08 Dec 2013 00:39:01 -0500
# by mkconf $Id$

1voto

etagenklo Puntos 3009

Una de sus particiones, probablemente la sdb3, todavía tiene un superbloque antiguo para la matriz "mimir" que es escaneada por mdadm al inicio. Debería poder arreglarse emitiendo

mdadm --zero-superblock /dev/sdb3

y la readquisición de la partición a la matriz después.

0 votos

Perdón por el retraso en la respuesta, he tenido que reconstruir la matriz un par de veces. Hice lo que sugeriste (en realidad decidí que sdc1 y sdd1 eran más probables donde estaba el array vestigial, ya que sdb3 no empieza desde el primer bloque y todos solían participar en el antiguo array). Es hizo deshacerse de la antigua matriz cuando se muestra el estado, pero la matriz se sigue dividiendo en el reinicio.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: