Placa-mãe Portwell: Fsck de inicialização localiza “inconsistência inesperada” devido a hora do sistema

1

Embora essa questão envolva uma placa-mãe embutida, serverfault pareceu-me o melhor fórum do stackexchange para postar. Meus colegas e eu temos investigado este estranho problema de inicialização do Linux há alguns meses, e estamos meio que presos. Qualquer sugestão é apreciada.

Nós temos uma placa-mãe Portwell (núcleo Atom único com hyperthreading), rodando o Centos 6.4. Um cliente voltou para nós com um problema de inicialização realmente estranho que finalmente conseguimos reproduzir.

Tudo funciona bem se você fizer isso:

  • Inicializar normalmente
  • Pare o sistema
  • Desconecte a energia do sistema por qualquer período de tempo
  • Conecte a energia
  • Inicializar

No entanto, se você fizer o seguinte, o fsck normal executado como uma parte normal da inicialização nos dará um erro:

  • Inicializar normalmente
  • Desligue normalmente
  • NÃO DESCONECTE A ENERGIA
  • Aguarde de 8 a 12 horas (mais curto não parece causar o problema)
  • Inicialize novamente

O erro que recebemos é como na imagem a seguir:

Podemos pressionar ctrl-D e reiniciar quantas vezes quisermos, e o erro continuará voltando. Mas note que não há nada errado com o sistema de arquivos.

Podemos fazer com que o erro desapareça dessa maneira:

  • Encerrar
  • Puxe o poder por pelo menos 10 minutos (muito mais curto e o problema não desaparece)
  • Conecte a energia novamente e inicialize.

Nossa hipótese de ontem era de que o disco rígido poderia ser girado, mas não desligado, e com o tempo, o cache de disco poderia se degradar. No entanto, isso acaba sendo falso porque o procedimento a seguir também faz com que o problema desapareça:

  • Obtenha o sistema para inicializar para que ele forneça o erro
  • Não desconecte a energia
  • Entre no BIOS e altere a data do sistema para algum momento no futuro
  • Inicialize no Linux.

Esta placa-mãe não tem bateria, então quando ligamos, ela sempre aparece com a data errada, em janeiro de 2010. Então, no caso normal, a data está errada, mas o sistema operacional inicializa. normalmente. Quando o sistema operacional aparece, a data é definida corretamente pelo NTP. Se deixarmos ligado, mas desligado por 12 horas, a data será redefinida novamente, mas por algum motivo, o fsck agora se preocupa com a data e quer um fsck manual porque considera que a discrepância é Um grande problema. Se alterarmos manualmente a data para o futuro, ele será inicializado corretamente. Se mudarmos de volta para o passado, os erros novamente. Mas se desligarmos a energia por tempo suficiente e arrancarmos, não obteremos erros, apesar do facto de a data estar errada.

Alguém pode nos ajudar a raciocinar sobre as várias coisas que o fsck pode estar vendo, que decide às vezes a errar devido à data estar errada, mas nunca se a data do sistema estiver no futuro?

Se pudermos programar o BIOS como padrão para alguma data no futuro distante, isso pode resolver esse problema, mas é importante entender por que isso está acontecendo, porque não queremos apenas ficar com um bandaid e esperar.

Obrigado por qualquer sugestão.

    
por Timothy Miller 13.02.2016 / 15:41

1 resposta

3

Eu encontrei a resposta para isso aqui: link

Aparentemente, como o relógio do sistema está "quebrado", precisamos colocar broken_system_clock = true na seção [options] de /etc/e2fsck.conf .

    
por 14.02.2016 / 00:15

Tags