[FUG-BR] ZFS no FreeBSD-9.0-RC3 causando reboots espontâneos

Paulo Pires pappires em gmail.com
Segunda Dezembro 26 17:44:52 BRST 2011


Caríssimos,

Permitam-me primeiro contar a história introdutória, para fazer algumas
perguntas ao final.

Tentei instalar durante o final de semana um pequeno servidor (para o papel
de NAS com alguns serviços a mais, baseado numa placa-mãe Intel D525MW, com
4GiB de RAM e dois HDs Samsung de 1.5TB) usando ZFS nativo com mirror dos
dois HDs.  Imaginei que o 9.0-RC3 poderia ser uma caminho suficientemente
estável, com o benefício adicional de estar com o zpool 28.  Para tanto,
segui aproximadamente o procedimento de instalação descrito em <
http://wiki.freebsd.org/RootOnZFS/GPTZFSBoot/Mirror>, faznedo apenas as
adaptações necessárias por estar usando um CD em vez de USB stick, e por
estarem os pacotes de instalação em local diferente.

Infelizmente, ainda durante a instalação esbarrei em alguns problemas de
reboot espontâneo (sem cair no kdb, mesmo ligando a depuração desde o boot,
e sem gerar crash dump que pudesse ser aproveitado no boot seguinte), que
se mantiveram depois de instalado, enquanto eu tentava configurar os
serviços que eu desejava na máquina e mais alguns ports para minha
conveniência.

Todos os reboots ocorreram durante acessos a datasets com compressão
ligada, em situações em que havia vários pequenos acessos de escrita.  Na
instalação, todas as vezes em que tentei ao extrair o src.txz para o
/usr/src (que era um dataset criado com "-o compression=on"), o sistema
rebootava sem sequer exibir alguma mensagem (pelo menos que eu conseguisse
ter tempo de ler, mas eu acho mesmo que não houve mensagem alguma).  Como
já tinha extraído todos os outros pacotes sem problemas, imaginei que a
diferença de ter estar com compressão ligada no dataset pudesse ter alguma
relação com o problema.  Só que, em lugar de simplesmente desativar a
compressão, tentei antes mudar de "on" (que, pelo que entendi, acaba sendo
equivalente a "lzjb") para "gzip", e isto bastou para que a extração so
src.txz fosse bem sucedida e eu pudesse concluir a instalação.

Curiosamente, o /usr/ports era também um dataset que estava com
"compression=on", mas não tive problemas em extrair o ports.txz.  De todo
modo, depois que a instalação chegou ao final, eu troquei a compressão dos
demais datasets que estavam com compressão ligada (/usr/ports, /var/log,
/var/mail e /var/crash) para modo "gzip".

Mas isso não bastou.  Quando eu estava compilando ports para deixar o
sistema instalado de acordo com o planejado, voltei a experimentar reboots
espontâneos, em diversas situações diferentes de carga (às vezes compilando
mais de um pacote de uma vez, às vezes só com uma e sem sequer haver outro
terminal aberto) e que não deixavam também qualquer possibilidade de
depuração on-line ou post-mortem.  Após a terceira ou quarta falha, acabei
desistindo.

Eu cheguei a "googlar" a respeito de questões de estabilidade e tuning, mas
o único problema com características semelhantes que encontrei foi numa
versão antiga (7.x), e o autor da queixa disse que o problema foi resolvido
com o upgrade do zpool com o 8-STABLE.

As perguntas que faço, então, são:

1) Alguém tem alguma informação sobre problemas conhecidos de estabilidade
do ZFS no 9.0-RC3 (ou do próprio 9.X)?

2) Alguém com experiência em ZFS tem dicas sobre tuning, especialmente de
parâmetros ligados a compressão e/ou deduplicação (talvez envolvendo
parâmetros de memória do SO)?

3) Alguma dica para que eu consiga pegar informação de depuração que seja
útil, quer ao vivo, quer post mortem?

-- 
Um abraço.
        Paulo A. P. Pires

... Qui habet aurem audiat quid Spiritus dicat ecclesiis.


Mais detalhes sobre a lista de discussão freebsd