O sistema de arquivos do sistema remoto desapareceu depois de “mdadm --grow 2 / dev / md0”?

1

Ontem, adicionei um segundo disco rígido de 500 GB a um sistema. Este sistema foi instalado como um sistema RAID-1 com apenas uma unidade, porque eu não tinha o outro em mãos.

Depois de finalmente adicionar o segundo disco, eu corri "sfdisk -d / dev / sda | sfdisk --force / dev / sdb", como eu fiz com muita frequência.

Em seguida, executei "mdadm --add / dev / md0 / dev / sdb1" e o RAID começou a sincronização.

Após o término, as novas partições foram adicionadas como sobressalentes e não como dispositivos ativos. Isso parece ter acontecido porque o dispositivo RAID 1 achou que só tinha espaço para 1 dispositivo ativo, devido à instalação estranha que fiz.

Então, hoje, eu corri "mdadm --grow --raid-devices 2 / dev / md0" (note que eu não coloquei um '=' antes do '2').

Imediatamente, todo o meu sistema de arquivos desapareceu!

Ainda estou logado em uma sessão ssh, mas estou limitado aos comandos embutidos do bash, o que é bastante doloroso.

Eu inventei um comando bash-builtin-cat, e ainda consigo catar alguns arquivos. / proc / mdstat parece bem e dandy, e indica que a nova unidade agora está realmente ativa.

/ var / log / messages (que, estranhamente, ainda é acessível mesmo que todos os outros arquivos não estejam) me dá milhares de:

tentar acessar além do fim do dispositivo md0: rw = 0, desejar = 868055984, limite = 4

(o número após 'querer' varia). As mensagens foram todas geradas em alguns segundos após a execução do mdadm --grow e, em seguida, pararam.

Como mencionado, esta é uma máquina remota.

  • o que diabos aconteceu aqui?
  • Existe alguma maneira de desfazer o que é que - cresceu?
  • Posso remover o novo disco do dispositivo RAID apenas em arquivos obscuros / proc (já que o mdadm não é mais encontrado)?
  • devo acionar uma reinicialização do SysRq e esperar pelo melhor?
por Moritz von Schweinitz 10.12.2014 / 03:00

1 resposta

0

Bem, uma reinicialização difícil corrigiu o problema, por incrível que pareça.

Após a reinicialização, o computador é inicializado normalmente e agora está reconstruindo a matriz RAID 1 novamente, e a unidade adicional é marcada como sobressalente, novamente.

Assim, parece que o comando grow instantaneamente fez com que o sistema de arquivos e o acesso ao disco desaparecessem - que rapidamente, mesmo os efeitos do comando grow não foram gravados no disco.

Estranho.

EDIT: Desativa a unidade onde os dados continham setores defeituosos, portanto a primeira sincronização inicial falhou e o mdadm colocou a nova unidade (não completamente sincronizada) no modo 'sobressalente'. Minha solução temporária era escrever zeros para os setores defeituosos (o que é algo que você não deveria fazer!) Usando o hdparm (google "hdparm escrever setores defeituosos"). Por algum motivo estranho, isso funcionou (mesmo que alguns dados tenham sido perdidos) e o array conseguiu terminar sua sincronização inicial. Agora eu posso puxar a unidade defeituosa e sincronizar a nova unidade para uma unidade ainda mais recente.

    
por 10.12.2014 / 17:37