Perché il mio RAID / dev / md1 è visualizzato come / dev / md126? Mdadm.conf viene ignorato?

23

Ho creato 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 restituisce:

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

che ho aggiunto a /etc/mdadm/mdadm.conf , vedi sotto:

# 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 restituisce:

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 restituisce:

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

Quindi penso che tutto vada bene e riavvio.

Dopo il riavvio, / dev / md1 è ora / dev / md126 e / dev / md2 è ora / dev / md127 ?????

sudo mdadm --detail --scan restituisce:

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 restituisce:

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 restituisce:

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

Tutto non è perso, io:

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

e verifica tutto:

sudo mdadm --detail --scan restituisce:

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 restituisce:

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 restituisce:

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

Quindi, ancora una volta, penso che tutto sia buono e riavvio.

Di nuovo, dopo il riavvio, / dev / md1 è / dev / md126 e / dev / md2 è / dev / md127 ?????

sudo mdadm --detail --scan restituisce:

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 restituisce:

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 restituisce:

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

Cosa mi manca qui?

    
posta mmorris 30.10.2012 - 17:56

4 risposte

25

Ho trovato la risposta qui, RAID a partire da md127 invece di md0 . In breve, ho tagliato le mie definizioni /etc/mdadm/mdadm.conf da:

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

e ha eseguito:

sudo update-initramfs -u

Sono lontano di un esperto su questo, ma la mia comprensione è questa ...

Il kernel ha assemblato gli array prima del tempo normale per assemblare gli array. Quando il kernel assembla gli array, non usa mdadm.conf. Poiché le partizioni erano già state assemblate dal kernel, il normale assembly di array che utilizza mdadm.conf è stato saltato.

Chiamare sudo update-initramfs -u dice al kernel di dare nuovamente un'occhiata al sistema per capire come avviarsi.

Sono sicuro che qualcuno con una conoscenza migliore mi correggerà / elaborerà su questo.

Usa la seguente riga per aggiornare initrd per ogni rispettivo kernel esistente sul tuo sistema:

sudo update-initramfs -k all -u
    
risposta data mmorris 30.10.2012 - 20:05
4
sudo update-initramfs -u

era tutto ciò di cui avevo bisogno per risolverlo. Non ho modificato nulla in /etc/mdadm/mdadm.conf.

    
risposta data ajaaskel 07.02.2015 - 18:16
0

Ho avuto lo stesso problema.

Questa soluzione ha risolto il mio problema: link

    
risposta data Marc 01.08.2014 - 23:22
0

Sono riuscito a replicare il problema nel modo seguente:

Quando "Software Updater" mi ha chiesto se volevo aggiornare i pacchetti (inclusa la base di Ubuntu "e il kernel, ho detto: OK. Il kernel appena installato utilizzava le impostazioni attuali del kernel / sistema. Ho quindi creato l'array. Solo il kernel attualmente in esecuzione è stato aggiornato con le nuove impostazioni RAID. Una volta riavviato, il nuovo kernel non sapeva nulla del raid e gli diede un nome md127!

    
risposta data Angelos Vassiliou 23.11.2015 - 14:44

Leggi altre domande sui tag