Corte de energia para a caixa linux. Impeça a verificação do sistema de arquivos na reinicialização (e espere danos!)

1

Eu tenho uma pequena caixa linux com uma tarefa dedicada de ler dados do sensor e comparar valores com uma leitura somente (ou seja, não vou escrever coisas para ela, mas não fiz nada para torná-la realmente somente leitura) banco de dados local.

O sistema não precisa escrever nada no sistema de arquivos, exceto talvez alguns arquivos temporários criados quando o serviço da Web local é acessado (a página da Web mostra os dados, mas não os registra)

O sistema inicia automaticamente quando a energia é aplicada e é desligado apenas pelo poder de corte.

Existe um bom guia para configurar um sistema para ser legal com desligamentos repentinos? Atualmente estou usando o Ubuntu (porque eu estou familiarizado com ele e funciona bem no PC de ajuste 2 que eu estou usando)

Ou, considerando que não tenho aplicativos gravando nada no disco (os arquivos temporários do servidor da web são a exceção), posso me safar de não modificar o sistema? O único ponto importante é que não há nenhum humano para intervir se o processo de inicialização lançar uma pergunta no terminal e ficar aguardando uma resposta.

    
por michael 30.04.2012 / 20:32

2 respostas

3

Veja fsprotect . Quando você o instala e dá um argumento de linha de comando mágico no kernel, ele modifica automaticamente o processo de boot para que o sistema de arquivos raiz original seja somente leitura eo sistema de arquivos raiz real seja um aufs (sistema de arquivos de união) que permite fazer alterações que serão descartadas após o desligamento.

Quando você quiser fazer alterações no sistema (por exemplo, para manutenção ou upgrades), basta omitir o argumento de linha de comando especial "fsprotect" do kernel. Normalmente você definiria "fsprotect" para ser o padrão e substituir editando a linha de comando do kernel do grub quando quiser fazer manutenção.

O pacote é disponível no Debian , e talvez outros.

    
por 30.04.2012 / 22:49
1

É para isso que os sistemas de arquivos diários são usados.

Se ocorrer uma falha e o sistema for reiniciado, ele não saberá se foi a meio caminho da modificação de arquivos - portanto, ele precisa verificar cada arquivo para descobrir. Com um sistema de arquivos journalling (meta-data), o SO grava no disco um esboço das alterações que pretende fazer no diário. Em seguida, aplica essas alterações. No arranque, portanto, só tem de verificar o diário para ver se houve uma operação de escrita no momento da interrupção. Além disso, se houver uma operação incompleta, ela poderá decidir se possui informações suficientes para concluir a alteração ou se deve reverter a alteração. A maioria dos sistemas de arquivos com registro de datas (ext3, 4, XFS, JFS, Reiser) só se preocupam com metadados - ou seja, entradas de diretório. Mas existem sistemas de arquivos que replicam planejam toda a transação de gravação (BtrFS, ZFS). Observe que o que um sistema operacional percebe como sendo uma transação de gravação pode ser diferente do que seu sistema operacional acha que é (particularmente para bancos de dados). Assim, mesmo o diário de dados completo não detectará todos os problemas. O ponto é que o sistema de arquivos está em um estado consistente.

Qualquer sistema de arquivos montado somente para leitura não exigirá um fsck na inicialização (a menos que a contagem regressiva de montagem atinja 0).

Além disso, não há nada com que você realmente precise se preocupar.

É claro que existem muitos sistemas Linux que serão inicializados e executados a partir da RAM. E em praticamente qualquer distribuição Linux, você pode usar o tmpfs para criar drives RAM se precisar de armazenamento de gravação que não persista durante as reinicializações.

    
por 30.04.2012 / 23:13