A administração do ZFS é impossível quando os comandos 'zpool' são travados

1

Eu estou achando o zfs ruim em lidar com falhas de hardware, até o ponto em que ele é completamente travado e nenhum utilitário pode ser usado até que o sistema seja reinicializado. O zfs é considerado nível de produção?

Estou trabalhando em torno de falhas de conectividade entre algumas unidades SATA externas e uma máquina servidor, conectada via USB3 ou eSATA em multiplex. Esses problemas permanecem um mistério, mas em face dos problemas de conectividade, os comandos zpool são bloqueados para sempre em qualquer terminal em que sejam executados.

Neste exemplo, eu simplesmente tentei ls um pool / tank zfs montado e esse terminal ficou suspenso. Um novo terminal ( Alt+F2 ) me permitiu tentar um status de zpool, que também está travado. Outro novo terminal ( Alt+F3 ) Eu executei top e posso ver txg_sync com 3% de uso da CPU e uma lista interminável de z_rd_int_x processos, cada um com 0,3% de uso da CPU. Um quarto terminal ( Alt+F4 ) é uma tentativa de zpool iostat , mas também está desativado.

Mensagens periódicas de:

[tttt.ttttt] INFO: task bash:xxxx blocked for more than 120 seconds.
[tttt.ttttt] INFO: task txg_sync:xxxx blocked for more than 120 seconds.
[tttt.ttttt] INFO: task zpool:xxxx blocked for more than 120 seconds.

aparecer. A máquina ainda está servindo arquivos de outros pools através do SAMBA.

Como uma implementação de armazenamento em massa supostamente robusta é capaz de ficar tão aleijada? Como posso trabalhar graciosamente o problema sem apenas reiniciar?

  • SO: CentOS 7
  • CPU: Intel Core i7 4770K 1150 RB Quad Core 3,5 GHz
  • Memória: 32GB não ECC
  • Unidades: 1 TB WD Red WD10EFRX SATA 3,5 "

dmesg output é muito grande, você pode precisar me dizer o que está procurando.

Por favor, peça mais informações, conforme necessário.

    
por J Collins 06.12.2017 / 13:51

1 resposta

0

Não é uma ótima resposta, mas parece que a configuração failmode to continue para todos os pools, qualquer falha no pool permitirá que o interpretador de comandos continue operando. Isso parece ter o perigo, no entanto, de que qualquer falha adicional possa causar muito mais danos.

A situação é um pouco bizarra. Por que o interpretador de comandos e o terminal inteiro estão desligados porque um pool que está administrando está suspenso? Não deveria haver alguma distância respeitosa entre as ferramentas de administração e a coisa que elas administram?

    
por 12.12.2017 / 18:34