O “diário de recuperação” prova um desligamento / desmontagem impuro?

2

Podemos confirmar que a mensagem de log "recovering journal" de fsck deve ser interpretada como indicando que o sistema de arquivos não foi desmontado / desligado da última vez? Ou há outras possíveis razões para estar ciente?

May 03 11:52:34 alan-laptop systemd-fsck[461]: /dev/mapper/alan_dell_2016-fedora: recovering journal
May 03 11:52:42 alan-laptop systemd-fsck[461]: /dev/mapper/alan_dell_2016-fedora: clean, 365666/2621440 files, 7297878/10485760 blocks

May 03 11:52:42 alan-laptop systemd[1]: Mounting /sysroot...
May 03 11:52:42 alan-laptop kernel: EXT4-fs (dm-0): mounted filesystem with ordered data mode. Opts: (null)
May 03 11:52:42 alan-laptop systemd[1]: Mounted /sysroot.

Compare fsck de / home da mesma inicialização, o que não mostra essa mensagem:

(ignorar o salto de -1 hora, é devido a "hora do RTC no fuso horário local")

May 03 10:52:57 alan-laptop systemd[1]: Starting File System Check on /dev/mapper/alan_dell_2016-home...
May 03 10:52:57 alan-laptop systemd-fsck[743]: /dev/mapper/alan_dell_2016-home: clean, 1469608/19857408 files, 70150487/79429632 blocks
May 03 10:52:57 alan-laptop systemd[1]: Started File System Check on /dev/mapper/alan_dell_2016-home.
May 03 10:52:57 alan-laptop audit[1]: SERVICE_START pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=systemd-fsc>
May 03 10:52:57 alan-laptop systemd[1]: Mounting /home...
May 03 10:52:57 alan-laptop systemd[1]: Mounted /boot/efi.
May 03 10:52:57 alan-laptop kernel: EXT4-fs (dm-2): mounted filesystem with ordered data mode. Opts: (null)
May 03 10:52:57 alan-laptop systemd[1]: Mounted /home.
May 03 10:52:57 alan-laptop systemd[1]: Reached target Local File Systems.

Versão

$ rpm -q --whatprovides $(which fsck.ext4)
e2fsprogs-1.43.8-2.fc28.x86_64

Motivação

Isso aconteceu imediatamente após uma atualização offline; Provavelmente foi desencadeado por um bug PackageKit:

Bug 1564462 - atualização offline executada no desligamento não limpo

onde ele usa efetivamente systemctl reboot --force . Eu estou preocupado que há um bug no Fedora aqui, porque o desligamento forçado do systemd ainda deve matar todos os processos e, em seguida, desmontar os sistemas de arquivos de forma limpa, quando possível.

As mensagens acima são do Fedora 28, systemd-238-7.fc28.1.x86_64 . O Fedora 27 estava usando uma versão com bugs do systemd que poderia ter falhado em desmontar sistemas de arquivos:

systemd-shutdown [1]: falha ao analisar / proc / self / mountinfo # 6796

no entanto, a correção deve ser incluída no systemd 235 e acima . Então, eu estou preocupado que ainda há outro bug à espreita em algum lugar.

O sistema de arquivos está no LVM.

Eu pareço lembrar que o desligamento está associado a algumas poucas telas de mensagens repetidas em poucos segundos, imediatamente antes que a tela fique preta. Eu acho que eles são de dentro do shutdown initrd . Eu não sei se isso representa um problema ou não.

    
por sourcejedi 03.05.2018 / 12:25

2 respostas

5

A mensagem "recuperando diário" é enviada por e2fsck_run_ext3_journal , que é chamado apenas de se ext2fs_has_feature_journal_needs_recovery indicar que o diário precisa de recuperação . Este "recurso" é um sinalizador que é definido pelo kernel sempre que um sistema de arquivos Ext3 / 4 com journalled é montado e limpo quando o sistema de arquivos é desmontado , quando a recuperação estiver concluída ( ao montar um sistema de arquivos sujo, ou remontar um sistema de arquivos somente leitura), e quando congelar o sistema de arquivos (antes de tirar uma foto).

Ignorando instantâneos, isso significa que e2fsck apenas imprime a mensagem quando encontra um sistema de arquivos que não foi desmontado corretamente, portanto sua presença é prova de uma desmontagem impura (e talvez de desligamento, presumindo-se que a desmontagem deveria ocorrer durante o desligamento).

    
por 03.05.2018 / 13:25
0

O diário contém comandos para o filessytem que ainda não foram aceitos. Em uma desmontagem limpa, o que estiver lá é confirmado e o diário liberado. Então, sim, repetir um diário significa um desligamento impuro. Mas não viceversa, o fechamento impuro poderia ter acontecido quando não havia nada no diário.

    
por 03.05.2018 / 13:17