[FUG-BR] Panes com acesso pesado ao disco. Problema e solução.

Joao Rocha Braga Filho goffredo em gmail.com
Sábado Fevereiro 27 12:41:09 BRT 2016


Oi pessoal da lista.


Tive por diversas vezes panes no meu computador. Ele tinha se tornado
instável, especialmente com uso pesado de disco. Do nada dava reboot. Como
eu estava usando o X Windows, eu não via a mensagem que dava, e assumi que
devia ser algum panic. Subia de novo. Via que o fsck ridava
automaticamente, e o problema se repetia. Então rodava o fsck em single
user, e acontecia de novo. Então descobri que, quando coisas assim começam
a acontecer, não adianta rodar o fsck somente uma vez.

O primeiro fsck resolve até um ponto usando o journal. Então resolve todos
os problemas que o último reboot tenha causado.

O problema é que já tinham problemas antes do boot da execução do sistema
que terminou em panic, e problemas que podem estar se arrastando a muito
tempo, e não constam no journal para serem corrigidos.

Estes problemas só vem à tona quando se faz um uso pesado do file system. O
Chrome expõe muito isto. Tive muitos destes panics usando o Chrome. Parece
acontecer nos acessos em seus caches em disco

Então precisa de rodar o fsck mais de uma vez. Na primeira vez ele usa o
journal, resolvendo as pendências que nele estão, que foram causados por
aquele reboot. Na segunda ele ignora o journal, e resolve os problemas
antigos, que não estão no journal. Isto tem que ser feito em single user, e
uma vez imediatamente atrás da outra. Fique atento, pois já teve vez que o
fsck pediu que fosse rodado de novo, mesmo sendo a segunda vez que rodava.
Então é bom rodar ele manualmente file system por file system, e olhar bem
as mensagens ao final dele, à partir da segunda execução.

Claro que a paranoia diz que tem que rodar uma terceira vez. rs

Só assim, depois de longas e múltiplas execuções de fsck, que o sistema se
torna estável de novo.

Mas uma coisa realmente dá medo. Como, mesmo com o journal e com a
verificação automática do fsck em cada boot, este tipo de problema
acontece? A impressão que tenho é que são os limites do que o fsck pode
fazer quando o sistema está no ar, rodando como multi user. Então passei a
rodar o fsck manualmente, em single user, a cada vez que falta luz, ou algo
assim. A paranoia venceu.

Uma outra coisa que me vem à cabeça é que o journal e o snapshot do file
system são incompatíveis, e o fsck, à partir da versão 5.0 do FreeBSD,
parece usar o snapshot para permitir grandes correções do file system com o
sistema no ar. Esta incompatibilidade também atrapalha a minha forma de
fazer backup, e de muita gente, pois o snapshot garante um estado fixo do
file system para o backup. Já li que estava sendo trabalhado para resolver
isto.

Sim, tive problemas mais de uma vez, e por isto desenvolvi esta experiência
com estes problemas.

Resolvi compartilhar, pois pode ajudar a mais alguém.


João Rocha.


PS: Esta dica veio de uma discussão no Facebook com alguns amigos da FUG-RJ.


-- 
"Sempre se apanha mais com as menores besteiras. Experiência própria."

http://jgoffredo.blogspot.com
goffredo at gmail.com


Mais detalhes sobre a lista de discussão freebsd