¿Por qué mi RAID / dev / md1 aparece como / dev / md126? ¿Se está ignorando mdadm.conf?

26

Creé un RAID con:

sudo mdadm --create --verbose /dev/md1 --level=mirror --raid-devices=2 /dev/sdb1 /dev/sdc1
sudo mdadm --create --verbose /dev/md2 --level=mirror --raid-devices=2 /dev/sdb2 /dev/sdc2

sudo mdadm --detail --scan devoluciones:

ARRAY /dev/md1 metadata=1.2 name=ion:1 UUID=aa1f85b0:a2391657:cfd38029:772c560e
ARRAY /dev/md2 metadata=1.2 name=ion:2 UUID=528e5385:e61eaa4c:1db2dba7:44b556fb

A lo que lo adjunté /etc/mdadm/mdadm.conf, ver a continuación:

# 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

# This file was auto-generated on Mon, 29 Oct 2012 16:06:12 -0500
# by mkconf $Id$
ARRAY /dev/md1 metadata=1.2 name=ion:1 UUID=aa1f85b0:a2391657:cfd38029:772c560e
ARRAY /dev/md2 metadata=1.2 name=ion:2 UUID=528e5385:e61eaa4c:1db2dba7:44b556fb

cat /proc/mdstat devoluciones:

Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10] 
md2 : active raid1 sdb2[0] sdc2[1]
      208629632 blocks super 1.2 [2/2] [UU]

md1 : active raid1 sdb1[0] sdc1[1]
      767868736 blocks super 1.2 [2/2] [UU]

unused devices: <none>

ls -la /dev | grep md devoluciones:

brw-rw----   1 root disk      9,   1 Oct 30 11:06 md1
brw-rw----   1 root disk      9,   2 Oct 30 11:06 md2

Así que creo que todo está bien y reinicio.


Después del reinicio, / dev / md1 ahora es / dev / md126 y / dev / md2 ahora es / dev / md127 ?????

sudo mdadm --detail --scan devoluciones:

ARRAY /dev/md/ion:1 metadata=1.2 name=ion:1 UUID=aa1f85b0:a2391657:cfd38029:772c560e
ARRAY /dev/md/ion:2 metadata=1.2 name=ion:2 UUID=528e5385:e61eaa4c:1db2dba7:44b556fb

cat /proc/mdstat devoluciones:

Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10] 
md126 : active raid1 sdc2[1] sdb2[0]
      208629632 blocks super 1.2 [2/2] [UU]

md127 : active (auto-read-only) raid1 sdb1[0] sdc1[1]
      767868736 blocks super 1.2 [2/2] [UU]

unused devices: <none>

ls -la /dev | grep md devoluciones:

drwxr-xr-x   2 root root          80 Oct 30 11:18 md
brw-rw----   1 root disk      9, 126 Oct 30 11:18 md126
brw-rw----   1 root disk      9, 127 Oct 30 11:18 md127

No todo está perdido, yo:

sudo mdadm --stop /dev/md126
sudo mdadm --stop /dev/md127
sudo mdadm --assemble --verbose /dev/md1 /dev/sdb1 /dev/sdc1
sudo mdadm --assemble --verbose /dev/md2 /dev/sdb2 /dev/sdc2

y verificar todo:

sudo mdadm --detail --scan devoluciones:

ARRAY /dev/md1 metadata=1.2 name=ion:1 UUID=aa1f85b0:a2391657:cfd38029:772c560e
ARRAY /dev/md2 metadata=1.2 name=ion:2 UUID=528e5385:e61eaa4c:1db2dba7:44b556fb

cat /proc/mdstat devoluciones:

Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10] 
md2 : active raid1 sdb2[0] sdc2[1]
      208629632 blocks super 1.2 [2/2] [UU]

md1 : active raid1 sdb1[0] sdc1[1]
      767868736 blocks super 1.2 [2/2] [UU]

unused devices: <none>

ls -la /dev | grep md devoluciones:

brw-rw----   1 root disk      9,   1 Oct 30 11:26 md1
brw-rw----   1 root disk      9,   2 Oct 30 11:26 md2

Entonces, una vez más, creo que todo está bien y reinicio.


Nuevamente, después del reinicio, / dev / md1 es / dev / md126 y / dev / md2 es / dev / md127 ?????

sudo mdadm --detail --scan devoluciones:

ARRAY /dev/md/ion:1 metadata=1.2 name=ion:1 UUID=aa1f85b0:a2391657:cfd38029:772c560e
ARRAY /dev/md/ion:2 metadata=1.2 name=ion:2 UUID=528e5385:e61eaa4c:1db2dba7:44b556fb

cat /proc/mdstat devoluciones:

Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10] 
md126 : active raid1 sdc2[1] sdb2[0]
      208629632 blocks super 1.2 [2/2] [UU]

md127 : active (auto-read-only) raid1 sdb1[0] sdc1[1]
      767868736 blocks super 1.2 [2/2] [UU]

unused devices: <none>

ls -la /dev | grep md devoluciones:

drwxr-xr-x   2 root root          80 Oct 30 11:42 md
brw-rw----   1 root disk      9, 126 Oct 30 11:42 md126
brw-rw----   1 root disk      9, 127 Oct 30 11:42 md127

¿Que me estoy perdiendo aqui?

mmorris
fuente

Respuestas:

26

Encontré la respuesta aquí, RAID comenzando en md127 en lugar de md0 . En resumen, corté mis definiciones /etc/mdadm/mdadm.conf de:

ARRAY /dev/md1 metadata=1.2 name=ion:1 UUID=aa1f85b0:a2391657:cfd38029:772c560e
ARRAY /dev/md2 metadata=1.2 name=ion:2 UUID=528e5385:e61eaa4c:1db2dba7:44b556fb

a:

ARRAY /dev/md1 UUID=aa1f85b0:a2391657:cfd38029:772c560e
ARRAY /dev/md2 UUID=528e5385:e61eaa4c:1db2dba7:44b556fb

y corrió:

sudo update-initramfs -u

Estoy lejos de ser un experto en esto, pero entiendo que es esto ...

El núcleo ensambló las matrices antes de que ocurra el tiempo normal para ensamblar las matrices. Cuando el núcleo ensambla las matrices, no usa mdadm.conf. Como el núcleo ya había ensamblado las particiones, se omitió el ensamblaje de matriz normal que usa mdadm.conf.

Llamar sudo update-initramfs -ule dice al núcleo que vuelva a mirar el sistema para descubrir cómo iniciarlo.

Estoy seguro de que alguien con mejores conocimientos me corregirá / elaborará sobre esto.

Use la siguiente línea para actualizar el initrd para cada kernel respectivo que exista en su sistema:

sudo update-initramfs -k all -u
mmorris
fuente
3
Sí, en realidad esto volvería a crear el initrd para el núcleo e incluiría los archivos de configuración relevantes para la configuración de MD-RAID. Esto significa que en el momento en que se creen los dispositivos, el núcleo sabrá cómo nombrarlos según su configuración. Buena atrapada. +1 ... por cierto: noté que esto también se explica en el tema del foro vinculado.
0xC0000022L
Hola, esta respuesta resolvió un problema de inicialización RAID lenta en mi sistema Arch Linux. Tardaría 5 segundos en poner en funcionamiento la matriz RAID0 durante el arranque. Después de cambiar mdadm.conf como se describe y ejecutar mkinitcpio, ¡lleva un tiempo insignificante!
rep_movsd
No se pudo iniciar Ubuntu 12.04 (Mint 13) sin esto. Ni siquiera pude hacer que mi FS raíz se monte desde el shell initramfs tampoco. Hubo un montón de errores dm-lineales y errores de 'superbloque malo' que intentaban montarse. También me aseguré de cambiar el nombre de mi dispositivo md0 a 0, y dispositivo md1 a 1. No sé si eso también era necesario.
cmcginty
6
sudo update-initramfs -u

era todo lo que necesitaba para arreglar eso. No edité nada en /etc/mdadm/mdadm.conf.

ajaaskel
fuente
0

Logré replicar el problema de la siguiente manera:

Cuando "Software Updater" me preguntó si quería actualizar los paquetes (incluida la base de Ubuntu "y el kernel, dije: OK. El kernel recién instalado utilizó la configuración actual del kernel / sistema. Luego creé la matriz. Solo se actualizó el kernel actualmente en ejecución con la nueva configuración de RAID. Una vez que reinicié, el nuevo kernel no sabía nada sobre la redada, ¡y le dio un nombre md127!

Angelos Vassiliou
fuente