Como configurar o NTP tem uma referência de tempo TAI ou GPS?

2

Para o nosso projeto, gostaríamos de ter todos os servidores e sistemas sincronizados com uma referência de tempo linear (sem salto de segundo ).

Portanto, descartamos o UTC, mas estamos muito interessados em anunciar horário do TAI (ou Horário do GPS ).

Nosso servidor de horário será conectado a um relógio atômico (ou possivelmente a um receptor de GPS).

O NTP é adequado para anunciar o horário do TAI ou do GPS? Se sim como configurá-lo?

Devemos usar outro protocolo para anunciar esse tempo?

Nota final: AFAIK não há tempo de TAI ou GPS configurável para o kernel do Linux. Acho que nossa melhor opção é "fingir" configurando a hora do kernel para ser UTC e fornecendo uma hora TAI ou GPS. Ou existe uma alternativa melhor?

    
por Huygens 18.03.2014 / 09:56

2 respostas

1

Você pode criar seu próprio padrão de horário em uma rede isolada controlada por você. Isso é um pouco desajeitado. Para que isso funcione, você deve ter todas as suas máquinas configuradas para sincronizar apenas com os servidores de horário que você controla. Eu forneci quatro possibilidades. Eu acho que sua melhor aposta é a primeira ou a segunda dependendo de quão rigorosas são as restrições de tempo.

Lembre-se de todas as opções a seguir necessárias para garantir que o servidor não tenha um arquivo de salto e que nenhum dos computadores pergunte ao mundo externo o tempo todo.

  1. Implementação de referência do ntpd com o Relógio Local Undiciplined (Recomendado / Mais Fácil):

    Se você quer que um servidor ntp sirva um horário diferente do UTC, isso é muito fácil. Defina o relógio de hardware / kernel para qualquer faketime que você precisa. Em seguida, configure o ntpd para usar o driver Undisciplined Local Clock (127.127.1.x) e nenhum clock externo. O servidor ntp vai alegremente acompanhar e servir o relógio local. O único problema é que, uma vez que você está usando o relógio local, o tempo não será estável e irá se desviar milissegundos de um jeito ou de outro, porque esse cristal de quartzo não é uma referência de rubídio. Se você precisa do faketime e da estabilidade; você precisa usar a opção 2.

  2. Implementação de referência ntpd com fonte ULC e PPS (recomendado / estabilidade):

    Use o ULC descrito acima e adicione uma fonte PPS. Depois de adicionar a fonte do PPS, você precisará adicionar a palavra-chave preferida para a entrada do ULC no ntp.conf. Isso significará que o relógio do servidor é mantido estável porque a fonte do PPS é interrompida a cada segundo para você.

  3. Implementação de referência ntpd com External Discipline Clock e o Local Clock Driver (Complicated):

    Essa ainda é uma solução que depende do uso da implementação de referência do ntpd, mas não estou muito familiarizada com ela. Tudo o que posso fazer é fornecer o link para mais detalhes: link

  4. Jans - ferramenta de teste ntp de terceiros (mais fácil que # 3 mas entidade desconhecida)

    Eu não tenho experiência com este produto, mas eu sei disso na lista de discussão ntp. Ele permitirá que você use o tempo de servidor, mas ele não faz nada da disciplina de relógio, como a implementação de referência. Mais informações: link

por 20.03.2014 / 04:33
2

De acordo com a página do projeto NTP sobre o assunto , você está fazendo o caminho errado . O UTC é bastante incorporado como uma suposição no NTP, mas arquivos de fuso horário "certos" geralmente estão disponíveis - minha área de trabalho, que é o Fedora 20, tem como parte padrão do pacote tzdata , em /usr/share/zoneinfo/right/ .

Em vez de tentar fazer com que o NTP mantenha o relógio sincronizado com um padrão não UTC, deixe o NTP manter o relógio sincronizado no UTC e faça com que o sistema pegue seu fuso horário padrão de um arquivo de fuso horário compatível com TAI. para expressar esse tempo no TAI para todos os aplicativos solicitantes.

    
por 18.03.2014 / 10:12