Estou tentando lidar com um caso de canto muito raro em que meu sistema tem uma pequena corrupção no sistema de arquivos ext4. Este acionador do systemd emergency.service
e estou tentando alterar o comportamento dele para corrigir automaticamente o fs.
De qualquer forma, existe alguma maneira de alterar ligeiramente a partição/sistema de arquivos para induzir esse estado com chance mínima de perda de dados? Só preciso fsck
retornar que algo está errado.
Se o Emergency.service for executado, o switch initrd root ou o fsck já foi tentado e falhou. systemd-fsck-root.service pode ser informado para sempre reparar (fsck -y) com o parâmetro de linha de comando do kernel fsck.repair=yes
fsck será ignorado para qualquer sistema de arquivos com valor passno de 0 em /etc/fstab (6º campo). Possivelmente uma má ideia em um sistema com histórico de corrupção, mas se o sistema de arquivos for montado permite a operação contínua.
Os sistemas de arquivos podem não ser necessários para local-fs.target com uma opção nofail em fstab. No entanto, isso não funciona para root fs. Considere criar um novo sistema de arquivos no ponto de montagem que você suspeita que contém arquivos com problemas, por exemplo /var/lib/whatever. Com a opção nofail, mesmo que não seja montada, não será lançada em um shell de emergência.
Os backups são a última linha de defesa para evitar a perda de dados importantes. Não confie no reparo para sempre consertar as coisas, mesmo em sistemas de arquivos maduros.
Alguns sistemas de arquivos corrompidos existem no conjunto de testes e2fsprogs. Difícil de usar de verdade, especialmente como root fs. Crie imagens do seu dispositivo de bloco com ele, estenda-o maior e restaure seus dados do backup.