Quando uma falha de energia resulta em um fsck, qual runlevel é carregado no sistema - modo de emergência ou resgate?

1

Alguém por favor pode me dizer qual runlevel systemd está sendo executado quando você for solicitado para uma verificação do sistema de arquivos após uma perda de energia? É emergência ou resgate ou depende? Eu tenho algumas unidades systemd que precisam ser executadas se / quando o sistema solicitar uma verificação do sistema de arquivos na inicialização. Eu prefiro não modificar o shell mínimo emergency.target para carregar o script se eu não precisar, então eu estava esperando que ele estivesse sendo executado no modo de recuperação.

Além disso, se alguém tiver uma maneira bacana de quebrar temporariamente o sistema de arquivos para que eu possa invocar o prompt do fsck para testes, eu agradeceria muito. Eu tentei alterar o / etc / fstab, no entanto, que é especificamente inicializado no modo de emergência.

Muito obrigado por qualquer ajuda.

    
por BobMueller 23.03.2018 / 22:29

1 resposta

0

Geralmente nenhum dos dois - faz parte do processo de inicialização normal.

Para sistemas de arquivos listados em / etc / fstab com o sinalizador "check" definido como diferente de zero, a unidade .mount correspondente automaticamente fica dependente de systemd-fsck@<dev>.service . Quando esse serviço terminar, o systemd continuará com a montagem do sistema de arquivos (iniciando a unidade .mount). Este não é um estado especial, mas parte da fila de trabalhos regulares.

Se o serviço fsck falhar (por exemplo, algum tipo de reparo manual é necessário), a unidade .mount também falhará e somente isso finalmente acionará um switch do destino de inicialização normal em emergency.target .

Como você pode ver, o fsck está sendo executado na inicialização every , e a única coisa afetada pela perda de energia é quanto tempo levará. (Alguns sistemas de arquivos têm um bit "sujo" definido na montagem e limpo em umount; outros detectam o estado com base em entradas não processadas no diário de atualização.) Para alterar esse comportamento, você teria que alterar o programa fsck.<fstype> ou desabilitar completamente a verificação desse sistema de arquivos no fstab.

Para iniciar serviços adicionais antes que systemd-fsck@<dev> seja executado (o que aconteceria em cada inicialização, antes ele decide se a verificação estendida é necessária), use os métodos regulares de extensão de uma unidade systemd.

Note que o sistema de arquivos root é um caso especial: em algumas distribuições ele é verificado na initramfs (fase de inicialização inicial), enquanto o processo principal do systemd não é correndo ainda. (Dependendo da distro, o initramfs pode ter seu próprio systemd, ou um init diferente.) Novamente, fsck é sempre executado, quer o poweroff esteja limpo ou não.

    
por 25.03.2018 / 23:15