Problemas de sincronização de horário entre sistemas Linux e Windows

1

Eu tenho um computador com Windows 7 e dois computadores com Linux (Ubuntu 16.04) (W1, L1 e L2) conectados via WiFi - infelizmente, não é possível uma conexão com fio. Os computadores Linux executam o chrony para sincronização de horário, o L1 é configurado como fonte no L2, que funciona perfeitamente bem. Os relógios devem estar tão próximos quanto possível, um deslocamento de 50 ms já começaria causando problemas. Mas para os sistemas Linux usando o chrony isso não é problema. Agora eu também tenho que sincronizar o tempo em W1 para L1 e, infelizmente, não há nenhum crrony disponível para o Windows. Então peguei este script aqui com o IP L1 como peer: link A sincronização única funciona, mas existem algumas falhas:

  1. O mais problemático: o tempo no sistema Windows se distancia muito do tempo do Linux. O desvio é de aproximadamente 1 s por 10 minutos em média. A solução fácil - apenas re-sincronizar os relógios com frequência - não funciona devido ao problema 2 e 3
  2. No sistema Windows, a sincronização só é bem-sucedida se houver um grande deslocamento de tempo para o mestre de tempo. Se são apenas alguns segundos, não acontece nenhuma sincronização.
  3. No sistema Windows, a sincronização só é aplicada após a execução do script, desconectando-se do Wi-Fi e conectando-se novamente. O relógio salta no exato momento em que a conexão é estabelecida novamente.

Existem maneiras de resolver esses problemas ou existem abordagens melhores? Infelizmente, não posso direcionar todos os relógios para alguns servidores de temporização de Internet de alta precisão ou tempo de GPS, pois pelo menos o sistema Windows nunca está conectado à Internet e os sistemas Linux também não podem confiar em sua conexão com a Internet. No começo eu pensei que o problema 1 poderia ser causado por chrony controlando o relógio L1, mas desativar a crrony após a sincronização inicial não parece ter nenhum efeito sobre este problema.

Aqui estão algumas fotos mostrando o problema. W1 constantemente envia mensagens para L2 com o tempo L1 atual, L2 adiciona seu registro de data e hora na chegada e o gráfico mostra a diferença entre os dois registros de data e hora como observado por L2.

EDIT:L1eL2sãoambosalimentadosporbateria-ambospelamesmafonte.ComoapenasabateriadoCMOSdeveserresponsávelpeloRTC,nãoachoqueissopossacausarproblemas.Noentanto,descobriu-sequeé.AlimentandoestescomputadoresporAC(assimAC->conversorAC/DC->computadoremvezdebateria->conversorDC/DC->computador)reduzsignificativamenteodesvio.Masaindanãoébomosuficiente:

EDIT2:Solução/soluçãoalternativaDesativeioserviçodetempodoWindows(w32time)einstalei uma porta do programa NTP do Linux . Com configurações de taxa de votação bastante agressivas, isso funciona bem:

    
por user3296542 12.01.2018 / 17:19

0 respostas

Tags