Força e2fsck em / var em cada inicialização

4

Trabalhando com uma máquina baseada no Debian sem ventilador. Todos os sistemas de arquivos estão em um cartão SD.

A partição / var é uma entrada separada do ext2 fs em / etc / fstab .

O sistema não tem uma chave liga / desliga, então as pessoas tendem a puxar o plugue para ligá-lo. Isso leva a corrupção na partição / var .

Eu quero forçar o sistema a executar e2fsck a cada inicialização.

O que eu tentei:

  1. Não monte / var na inicialização. Adicione o script em /etc/rc2.d para executar o e2fsck e, em seguida, monte a unidade. Problema: Isso me dá um sistema que acha que está preso no nível de execução 6. Consulte aqui .

  2. Use tune2fs para definir o ciclo fsck em uma montagem.
    Problema: o sistema geralmente trava durante a inicialização, e o / var já está montado e cai no shell de manutenção.

  3. Defina o 6º bit em / etc / fstab para 2. Execute touch /forcefsck .
    Problema: nenhum / ambos tem algum efeito perceptível. O disco não está marcado.

  4. Adicione noauto ao / etc / fstab (veja o item 1 acima).
    Problema: o sistema ainda monta a partição para que a mensagem de erro ainda seja exibida.

Sugestões sobre outras coisas para tentar?

EDITAR:

Alguns antecedentes:

  1. Temos mais de 150 desses sistemas implantados em locais remotos
  2. Os sistemas em questão não possuem interruptores liga / desliga
  3. Sistemas são frequentemente (erroneamente) colocados em fontes de energia comutadas (interruptores de parede ou outros)
  4. Perda de energia para o local em questão não é incomum
por ethrbunny 22.01.2015 / 16:33

1 resposta

2

Esta pergunta já foi respondida:

Como forçar fsck a cada inicialização - todos os sistemas de arquivos (relevantes)?

Ninguém apontou para lá que o problema real é que as pessoas puxam o cabo. Eu realmente acho que o foco em ambas as perguntas está errado; Você precisa corrigir o problema do usuário, não o problema do sistema de arquivos do servidor.

Honestamente, dado o quão crucial é este sistema de arquivos para a funcionalidade básica da máquina, sua melhor aposta é sair de pensar sobre este problema como um administrador de sistema e começar a pensar nisso como um gerente.

Em outras palavras:

  • Ensine a seus usuários como reinicializar adequadamente este sistema para evitar que o problema / var corrompido seja iniciado. A documentação é sua amiga, como dizem. Esta não é uma solução ideal por vários motivos, mas pelo menos evita que eles friem os sistemas de arquivos. Se nada mais, eles não deveriam estar tocando a maldita coisa, se é o seu trabalho para mantê-lo funcionando.
  • Bloqueie-o para longe, onde eles não possam alcançá-lo. Sério, se este é um servidor que armazena dados importantes, por que isso não é o caso? Isso é um sistema de desenvolvimento e os desenvolvedores simplesmente não sabem o que estão fazendo ou quão prejudicial isso pode ser? Se sim, mais uma vez, ensine-os. Não é o seu trabalho para consertar estúpido, é o seu trabalho para evitar estúpido.
  • Diga a eles para deixarem o inferno sozinhos e virem falar com você se houver algum problema. :)
  • Lo-tech, mas possivelmente útil (embora seja um risco de incêndio): Enrole a fita nas duas extremidades do cabo de energia para que eles tenham que gastar 15 minutos tentando desamarrá-lo. Espero que, depois de cinco minutos e na camada 26 da fita, eles fiquem frustrados e façam o que devem fazer: falar com você para corrigir o problema real que está motivando a pessoa a puxar o plug em primeiro lugar.

O que é sobre essa máquina que torna tão instável que eles acham que é necessário reinicializá-la? É um sistema debian. Eles não precisam de "reboots", então o que mais está errado com isso? Eles estão preocupados com o consumo de energia ou há serviços que estão quebrados e instáveis nele que apenas uma reinicialização pode resolver? Se é o último, então a sua pergunta é irrelevante e você tem outro trabalho a fazer, desculpe dizer.

Se nada mais, você pode se aproximar de sua sugestão para ser bom e não reiniciar, puxando o cabo como um exercício de conservação de energia. Você realmente quer se levantar de sua mesa para puxar um cabo de alimentação em vez de apenas sentar lá, fazer o login e reiniciá-lo na linha de comando? São necessários 2 segundos de trabalho para fazê-lo dessa maneira, versus levantar-se, resmungar o tempo todo até o dispositivo, puxar o cabo, conectá-lo novamente, esperar que ele volte quebrado e, em seguida, espere ainda mais por / var para ser fscked.

O cabo para arrancar - esperar por / var para consertar o auto ciclo leva muito mais tempo, é muito mais complexo para manter a longo prazo, vai causar todos os tipos de dor de sua parte, já o motivou a perguntar as perguntas erradas, e acabará por levar a você no topo de uma torre sineira com uma arma de amor e um desejo de morte.

Corrija corretamente, consertando seus usuários ou mitigando o dano, tornando extremamente desafiador para eles serem estúpidos. Eu não posso ser mais claro sobre a importância disso.

    
por 23.01.2015 / 19:04

Tags