Pourquoi mon RAID / dev / md1 apparaît-il comme / dev / md126? Est-ce que mdadm.conf est ignoré?

26

J'ai créé un RAID avec:

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 résultats:

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

Je l'ai annexé /etc/mdadm/mdadm.conf, voir ci-dessous:

# 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 résultats:

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 résultats:

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

Je pense donc que tout va bien et je redémarre.


Après le redémarrage, / dev / md1 est maintenant / dev / md126 et / dev / md2 est maintenant / dev / md127 ?????

sudo mdadm --detail --scan résultats:

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 résultats:

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 résultats:

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

Tout n'est pas perdu, je:

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

et vérifiez tout:

sudo mdadm --detail --scan résultats:

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 résultats:

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 résultats:

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

Donc encore une fois, je pense que tout va bien et je redémarre.


Encore une fois, après le redémarrage, / dev / md1 est / dev / md126 et / dev / md2 est / dev / md127 ?????

sudo mdadm --detail --scan résultats:

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 résultats:

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 résultats:

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

Qu'est-ce que j'oublie ici?

mmorris
la source

Réponses:

26

J'ai trouvé la réponse ici, RAID commençant à md127 au lieu de md0 . En bref, j'ai coupé mes définitions /etc/mdadm/mdadm.conf à partir 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

à:

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

et a couru:

sudo update-initramfs -u

Je suis loin d'être un expert en la matière, mais ma compréhension est la suivante ...

Le noyau a assemblé les matrices avant le moment normal pour assembler les matrices. Lorsque le noyau assemble les tableaux, il n'utilise pas mdadm.conf. Comme les partitions avaient déjà été assemblées par le noyau, l'assemblage de tableau normal qui utilise mdadm.conf a été ignoré.

L'appel sudo update-initramfs -udit au noyau de revoir le système pour comprendre comment démarrer.

Je suis sûr que quelqu'un avec une meilleure connaissance me corrigera / élaborera à ce sujet.

Utilisez la ligne suivante pour mettre à jour l'initrd pour chaque noyau respectif qui existe sur votre système:

sudo update-initramfs -k all -u
mmorris
la source
3
Oui, en fait, cela recréerait l'initrd pour le noyau et inclurait les fichiers de configuration pertinents pour la configuration MD-RAID. Cela signifie qu'au moment où les périphériques seront créés, le noyau saura comment les nommer en fonction de vos paramètres. Bonne prise. +1 ... btw: a remarqué que cela est également expliqué dans le sujet du forum lié.
0xC0000022L
Hé, cette réponse a résolu un lent problème d'initialisation RAID sur mon système Arch Linux. Il faudrait 5 secondes pour que la matrice RAID0 soit opérationnelle pendant le démarrage. Après avoir changé mdadm.conf comme décrit et exécuté mkinitcpio, cela prend un temps négligeable!
rep_movsd
Impossible de démarrer Ubuntu 12.04 (Mint 13) sans cela. Je n'ai même pas pu obtenir mon FS racine à monter à partir du shell initramfs non plus. Il y avait un tas d'erreurs linéaires dm et d'erreurs de «mauvais superbloc» essayant de monter. J'ai également veillé à renommer mon périphérique md0 à 0 et mon périphérique md1 à 1. Je ne sais pas si cela était également nécessaire.
cmcginty
6
sudo update-initramfs -u

était tout ce dont j'avais besoin pour résoudre ce problème. Je n'ai rien modifié dans /etc/mdadm/mdadm.conf.

ajaaskel
la source
0

J'ai réussi à reproduire le problème de la manière suivante:

Lorsque "Software Updater" m'a demandé si je voulais mettre à jour les packages (y compris la base Ubuntu "et le noyau, j'ai dit: OK. Le noyau nouvellement installé utilise les paramètres du noyau / système actuel. J'ai ensuite créé le tableau. Seul le noyau en cours d'exécution a été mis à jour avec les nouveaux paramètres RAID. Une fois que j'ai redémarré, le nouveau noyau ne savait rien du raid et lui a donné un nom md127!

Angelos Vassiliou
la source