recuperando um degradado btrfs RAID6, precisa limpar manualmente um inode

1

Eu tenho um RAID 6 do btrfs. Tenho discos rígidos ruins, um falhou e outro falhou durante a recuperação. Agora estou sem paridade e não posso reconstruir - uma terceira unidade está gerando erros de leitura em alguns setores. Desde que eu não posso removê-lo, eu exagerei os setores defeituosos com zero usando dd. Agora, durante a reconstrução, recebo alguns erros como este:
BTRFS info (device sdc): csum falhou ino 257 off 3985240064 csum 2566472073 csum esperado 1136819032
... então ... BUG do kernel em /build/linux-SMWX37/linux-3.12.9/fs/btrfs/extent_io.c:2082!
... a reconstrução pára
Eu acho que o btrfs não sabe o que fazer sem qualquer paridade para o reparo, então ele lança um erro e aborta.

Eu imaginei que poderia simplesmente excluir os arquivos afetados, mas o inode 257 não mapeia para nada.
btrfs inspecionar-interno inode-resolve -v 257 / data
ioctl ret = -1, erro: nenhum arquivo ou diretório desse tipo

Alguma sugestão para limpar manualmente o inode 257, ou reparar meu sistema de arquivos?

    
por Jacob Stoner 16.08.2014 / 21:11

1 resposta

4

Se você tiver uma matriz RAID com três unidades com falha, haverá uma baixa probabilidade de colocar o raidset novamente em operação. Desculpe.

Estou disposto a dizer que sua única alternativa é substituir os discos com falha, recriar o raidset e restaurar as informações do seu conjunto de backup mais recente.

Você percebe que o btrfs ainda é relativamente experimental e, portanto, presumo que você esteja preparado para essa situação mantendo bons backups.

Se você quiser algo mais estável, aconselho usar o comprovado sistema de arquivos ext4 em vez de btrfs mais experimentais.

    
por 17.08.2014 / 00:11