Eu tenho cinco imagens brutas dos discos de um servidor (armazenadas em um disco rígido externo). Cada um desses discos contém duas partições que são "Linux raid autodetect" (fd)
e são membros do RAID1 (relacionado à inicialização; 3 dispositivos (2 ativos + 1 sobressalente)) e RAID5 (outros dados; 5 dispositivos). / p>
Tendo mapeado dispositivos usando kpartx
(ou losetup
, realmente não importa) eu corro mdadm
para montar arrays RAID. RAID1 montado com sucesso e eu posso montá-lo de forma regular. O RAID5 está sendo montado (na verdade, "ativo", de acordo com /proc/mdstat
), mas:
- Todos os dispositivos são " defeituosos " e " removidos ";
- vejo erros adicionais em
dmesg
( blk_update_request: I/O error, dev
loop4, sector 16
) após o qual recebo mais erros ( md: super_written
gets error=-5
; md/raid:md0: Disk failure on loop5, disabling
device.
);
- Não consigo montar o array RAID5 (é justo).
Eu tentei todas as sugestões que encontrei na Web:
- Use
--force
key - > não vai funcionar;
- Use
--create
e --assume-clean
- > não vai funcionar;
- Use
--zero-superblock
(que é semelhante a 2) - > não vai funcionar.
- Se verificar com
--examine
- todos os dispositivos membros estão no estado clean , a soma de verificação é correta e os números dos eventos são iguais . li>
Como por 2 e 3 - parece que eu não posso escrever para esses dispositivos mapeados. Eu strace
'd --zero-superblock
e, em write()
syscall, eu tenho EPERM (Operation not permitted)
. Não consigo imaginar o que me impede de gravar em dispositivos mapeados (de acordo com o dispositivo lsblk --fpm
RAID5 é gravável brw-rw----
).
Outro detalhe peculiar. Acima eu mencionei que recebo I/O error
no setor 16 . Eu verifiquei o que está localizado no setor 16 (offset 8192 bytes) em cada dispositivo RAID5 (mapeado). Apareceu que começa com o número mágico 0x6d746962
(ASCII: " bitm
") - provável bitmap
relacionado:
00002000 62 69 74 6d 04 00 00 00 48 a7 15 94 56 79 23 ed |bitm....H...Vy#.|<br/>
00002010 7d 7b 33 bc b9 f8 71 7a d0 03 00 00 00 00 00 00 |}{3...qz........|<br/>
00002020 d0 03 00 00 00 00 00 00 00 b0 d8 0d 00 00 00 00 |................|
Não tenho certeza se está relacionado (pelo menos eu não sei como brincar com bitmap enquanto monto array), mas está claro que o sistema não pode ter sucesso com blk_update_request
operation (provavelmente ele não tem alguns direitos ou não consegue encontrar o que é necessário).
Eu de propósito não postarei parede de toras - por favor, me avise se for necessário. Vou colocar algumas informações que descrevam melhor a situação.
md0 : active raid5 dm-6[5](F) dm-8[4](F) dm-2[3](F) dm-4[2](F) dm-10[1](F)
464609280 blocks super 1.2 level 5, 512k chunk, algorithm 2 [5/0] [_____]
bitmap: 0/1 pages [0KB], 65536KB chunk
E aqui está a partir de --detail
output:
Number Major Minor RaidDevice State
0 0 0 0 removed
2 0 0 2 removed
4 0 0 4 removed
6 0 0 6 removed
8 0 0 8 removed
1 252 10 - faulty /dev/dm-10
2 252 2 - faulty /dev/dm-2
3 252 4 - faulty /dev/dm-4
4 252 8 - faulty /dev/dm-8
5 252 6 - faulty /dev/dm-6
Hoje é o terceiro dia consecutivo das minhas "tentativas mais difíceis" ... Gostaria de agradecer a qualquer um dos seus conselhos. Obrigado.