J'ai créé un nouveau réseau MD avec la commande suivante:
mdadm --create /dev/md1 -l 1 -n 2 /dev/sd[ed]1
Mais maintenant /proc/mdstat
montre la matrice comme "lecture automatique seule" avec resynchrome = en attente:
~ # cat /proc/mdstat
Personalities : [raid1]
md1 : active (auto-read-only) raid1 sde1[1] sdd1[0]
976630336 blocks super 1.2 [2/2] [UU]
resync=PENDING
md0 : active raid1 sdb1[0] sdc1[1]
1953511936 blocks [2/2] [UU]
unused devices: <none>
Selon - ce site Je peux résoudre ce problème avec:
mdadm --readwrite /dev/md1
Et cela fonctionne:
~ # mdadm --readwrite /dev/md1
~ # cat /proc/mdstat
Personalities : [raid1]
md1 : active raid1 sde1[1] sdd1[0]
976630336 blocks super 1.2 [2/2] [UU]
[>....................] resync = 0.0% (54400/976630336) finish=598.2min speed=27200K/sec
md0 : active raid1 sdb1[0] sdc1[1]
1953511936 blocks [2/2] [UU]
unused devices: <none>
Mais j'aimerais toujours savoir ce qui se passe ici et je ne trouve aucune information réelle à ce sujet. Est-ce que quelqu'un sait pourquoi la matrice par défaut à cet état?
EDIT: Ajout de la sortie DMESG:
~ # grep kernel /var/log/syslog.1
Nov 13 10:03:44 iserv kernel: [160446.860113] e1000: eth1 NIC Link is Down
Nov 13 10:04:48 iserv kernel: [160511.017666] e1000: eth1 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX/TX
Nov 13 20:12:40 iserv kernel: [196982.775186] sda: sda1
Nov 13 20:12:59 iserv kernel: [197001.598187] sdd: sdd1
Nov 13 20:13:13 iserv kernel: [197016.344939] sde: sde1
Nov 13 20:14:05 iserv kernel: [197067.520825] md: bind<sdd1>
Nov 13 20:14:05 iserv kernel: [197067.521263] md: bind<sde1>
Nov 13 20:14:05 iserv kernel: [197067.670215] md/raid1:md1: not clean -- starting background reconstruction
Nov 13 20:14:05 iserv kernel: [197067.670219] md/raid1:md1: active with 2 out of 2 mirrors
Nov 13 20:14:05 iserv kernel: [197067.670246] md1: detected capacity change from 0 to 1000069464064
Nov 13 20:14:05 iserv kernel: [197067.675101] md1: unknown partition table
Nov 13 20:24:10 iserv kernel: [197672.572128] md: md1 switched to read-write mode.
Nov 13 20:24:10 iserv kernel: [197672.572269] md: resync of RAID array md1
Nov 13 20:24:10 iserv kernel: [197672.572273] md: minimum _guaranteed_ speed: 1000 KB/sec/disk.
Nov 13 20:24:10 iserv kernel: [197672.572275] md: using maximum available idle IO bandwidth (but not more than 200000 KB/sec) for resync.
Nov 13 20:24:10 iserv kernel: [197672.572280] md: using 128k window, over a total of 976630336k.
Lorsqu'un tableau est initialement assemblé, il est placé dans le mode "lecture automatique". J'ai rapidement testé, avec mon noyau (3.10.x) et Mdadm (3.3), cela ne se produit pas sur la création, mais vous devez exécuter différentes versions.
Cependant, la lecture automatique n'est pas une erreur, ni quelque chose à craindre. L'idée de base derrière elle est de faire --assemble
(et, apparemment maintenant, même --create
) plus sûr: rien n'est écrit aux disques jusqu'à ce que la matrice ne soit en lecture-écriture. (Je ne suis pas sûr que les métadonnées sont peut-être encore écrites sur Create.)
Le tableau passera automatiquement à partir de lecture automatique uniquement pour lire-écrire lorsqu'il reçoit sa première écriture. Donc, si vous êtes allé de l'avant et que vous avez créé un système de fichiers sur l'appareil, ou un volume physique LVM, ou peu importe, il aurait été basculé pour lire-écrire et commencer la synchronisation.
La seule raison pour laquelle vous auriez besoin de courir mdadm --readwrite
Selon vous, si vous voulez qu'il soit synchronisé avant d'effectuer des écrivies.