Considere a seguinte configuração RAID1 simples. Eu tenho os seguintes dois discos físicos (saída lsblk):
sdb 8:16 0 3.7T 0 disk
sdc 8:32 0 3.7T 0 disk
Eu criei o array com o seguinte comando:
# mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sdb /dev/sdc
Isso me deu / dev / md0, que criei um sistema de arquivos e comecei a usar.
Eu então fiz o init 0 e reiniciei a máquina no dia seguinte.
Agora estou enfrentando o problema de montar o array novamente.
Eu faço isso:
# mdadm --assemble /dev/md0 /dev/sdb /dev/sdc
mdadm: /dev/md0 has been started with 1 drive (out of 2).
dmesg:
[ 493.602864] md: kicking non-fresh sdb from array!
[ 493.602869] md: unbind<sdb>
Nada mais está errado no dmesg. Estes também são discos novos, sem erros de E / S.
Eu pesquiso um pouco e descubro:
Então eu emito:
# mdadm /dev/md0 --add /dev/sdb
mdadm: added /dev/sdb
dmesg:
[ 570.743137] RAID1 conf printout:
[ 570.743142] --- wd:1 rd:2
[ 570.743146] disk 0, wo:1, o:1, dev:sdb
[ 570.743148] disk 1, wo:0, o:1, dev:sdc
[ 570.743265] md: recovery of RAID array md0
[ 570.743268] md: minimum _guaranteed_ speed: 1000 KB/sec/disk.
[ 570.743269] md: using maximum available idle IO bandwidth (but not more than 200000 KB/sec) for recovery.
[ 570.743271] md: using 128k window, over a total of 3906887360k.
E, de fato, agora está reconstruindo o array, sem motivo aparente.
cat /proc/mdstat
Personalities : [raid1]
md0 : active raid1 sdb[2] sdc[1]
3906887360 blocks super 1.2 [2/1] [_U]
[>....................] recovery = 0.0% (2137216/3906887360) finish=334.9min speed=194292K/sec
unused devices: <none>
O que estou fazendo de errado?
Eu emiti os comandos errados? Devo ter parado o array antes de fazer o init 0? Por que está reconstruindo uma matriz que não está quebrada?