TLDR: Tentando adicionar uma partição em branco a um RAID1 degradado com o mdadm 3.3.2 (Debian Jessie) falha, dizendo que o array (funcionando perfeitamente!) "falhou" e "--add Não pode trabalhar". Isso está me dizendo um perigo real aqui, ou eu acabei de acertar algum bug estranho?
Versão detalhada
Durante a noite, eu tive um dado de disco. Existem 5 arrays mdraid na caixa; um deles (um RAID10) reconstruído como esperado usando um sobressalente. Um RAID6 permanece degradado até que um disco substituto chegue hoje à noite. O mesmo acontece com um espelho de 5 discos para / boot. Existem dois arrays RAID1 usados para swap; eles compartilham um hot spare. O hot spare foi anexado ao que não sofreu uma falha, mas ambos estão no mesmo grupo de reserva, portanto, mdadm --monitor
tentou mover o sobressalente - mas ele falhou. Não deu um erro tanto quanto eu posso dizer, apenas perdeu o sobressalente.
Esta manhã, o espelho degradado se parece com:
md124 : active raid1 sda2[0](F) sdc2[2]
9767448 blocks super 1.2 [2/1] [_U]
bitmap: 0/150 pages [0KB], 32KB chunk
Eu tentei adicionar manualmente o sobressalente e recebi:
# mdadm -a /dev/md124 /dev/sdj2
mdadm: /dev/md124 has failed so using --add cannot work and might destroy
mdadm: data on /dev/sdj2. You should stop the array and re-assemble it.
/dev/sdj2
tinha o superbloco para o outro espelho (como sobressalente nesse espelho), então eu fui em frente e tentei mdadm --zero-superblock /dev/sdj2
, mas mesmo depois disso, o add falha com o mesmo erro. Tenho certeza de que posso fazer isso funcionar (por exemplo, eu não tentei --force
ainda, ou mdadm -r
no disco com falha - ou, na pior das hipóteses, apenas troca - recrie a matriz).
Eu fui em frente e parei de usar esse array por enquanto (ele foi usado para swap). swapoff
executou E / S para o array sem erro, por isso não parece ter falhado.
Não parece ser um dispositivo muito pequeno:
# blockdev --getsize64 /dev/sda2 /dev/sdj2
10001940480
10001940480
Então, espero que outra pessoa saiba o que esse erro significa.
Este é o mdadm 3.3.2 (Debian Jessie) se for importante.
mdadm -D
# mdadm -D /dev/md124
/dev/md124:
Version : 1.2
Creation Time : Thu Mar 11 20:34:00 2010
Raid Level : raid1
Array Size : 9767448 (9.31 GiB 10.00 GB)
Used Dev Size : 9767448 (9.31 GiB 10.00 GB)
Raid Devices : 2
Total Devices : 2
Persistence : Superblock is persistent
Intent Bitmap : Internal
Update Time : Mon Oct 12 12:35:13 2015
State : clean, degraded
Active Devices : 1
Working Devices : 1
Failed Devices : 1
Spare Devices : 0
Name : Einstein:swap_a (local to host Einstein)
UUID : 3d7da9d2:5ea17db5:3b122196:11968e91
Events : 2044
Number Major Minor RaidDevice State
0 0 0 0 removed
2 8 34 1 active sync /dev/sdc2
0 8 2 - faulty /dev/sda2
mdadm -E
# mdadm -E /dev/sdc2
/dev/sdc2:
Magic : a92b4efc
Version : 1.2
Feature Map : 0x1
Array UUID : 3d7da9d2:5ea17db5:3b122196:11968e91
Name : Einstein:swap_a (local to host Einstein)
Creation Time : Thu Mar 11 20:34:00 2010
Raid Level : raid1
Raid Devices : 2
Avail Dev Size : 19534897 (9.31 GiB 10.00 GB)
Array Size : 9767448 (9.31 GiB 10.00 GB)
Used Dev Size : 19534896 (9.31 GiB 10.00 GB)
Data Offset : 144 sectors
Super Offset : 8 sectors
State : clean
Device UUID : 95e09398:1c155ebd:323371cf:a3acc3ad
Internal Bitmap : 8 sectors from superblock
Update Time : Mon Oct 12 12:35:13 2015
Checksum : 132239e4 - correct
Events : 2044
Device Role : Active device 1
Array State : .A ('A' == active, '.' == missing, 'R' == replacing)
# mdadm -E /dev/sdj2
mdadm: No md superblock detected on /dev/sdj2.