Como configuro o Raspbian para usar o servidor de horário primário time.nist.gov?

8

Eu tenho vários Rpi3s executando o Raspbian. Eles coletam dados e eu uso o FileZilla para copiar dados de um para o outro. Idealmente, estou apenas copiando arquivos que têm alterações ou são novos.

O FileZilla pode ser instalado em um PC em

Download do FileZilla (filezilla-project.org)

O FileZilla pode ser instalado no Raspbian com este comando:

sudo apt-get update -y
sudo apt-get install FileZilla 

Eu tenho as opções no FileZilla definidas para substituir somente os arquivos existentes, se forem mais novos. Eu também uso chmod -w nos meus diretórios de arquivamento nas máquinas de destino para que apenas novos arquivos possam ser copiados.

No entanto, o FileZilla está gastando muito tempo copiando arquivos que já estão lá porque os relógios nos Raspbians variam muito.

Quero defini-los todos para um padrão primário para que eles possam concordar melhor, minimizando assim as transferências de arquivos idênticos.

De acordo com a página do NIST, o National Bureau of Standards sugere usar time.nist.gov como o endereço que alcançará um sistema de trabalho entre todos os servidores NTP de nível 1 disponíveis:

Servidores de horário da Internet NIST

Minha pergunta está no título: Como configurar o Raspbian para usar o servidor de horário primário time.nist.gov?

SDsolar
fonte
Os relógios não devem diferir tanto ... Com que frequência você está tentando recuperar dados?
Jacobm001
11
Os pools do Stratum-16 instalados por padrão fazem com que eles diferam mais do que o limite de um segundo, o que aciona o FileZilla e o ROBOCOPY para pensar que é um arquivo mais recente. Isso vincula diretamente a uma fonte Stratum-1. Não há saltos extras no meio. Tanto o Linux quanto o Windows usam pools, mas não há necessidade de usá-los. O time.nist.gov é inteligente o suficiente para encontrar o servidor mais rápido no National Bureau of Standards ou na Marinha. O resultado final de fazer isso é realmente incrível. Relação 10: 1 de economia de tempo, aproximadamente. Além disso, ele usa cartões SD para economizar no desgaste. Altamente recomendado.
SDsolar
Antes de tentar isso, use ntpq -p para observar o valor St. Isso mostra quantos saltos você está longe do relógio principal. Geralmente será cerca de 20. Nosso objetivo é St = 1
SDsolar

Respostas:

7

As configurações do servidor de horário são salvas, /etc/ntp.confentão abra seu editor favorito e faça essa alteração.

sudo nano /etc/ntp.conf

A seção relevante fica assim:

insira a descrição da imagem aqui

Então, tudo que você precisa fazer é alterá-lo para ficar assim em todos os computadores relevantes:

insira a descrição da imagem aqui

depois reinicie-os.

Agora, todos os sistemas estão usando o NIST / NBS Master Clock para sincronizar.

Você pode verificar se está funcionando no nível 1 usando este comando:

ntpq -p

O que me deu essa saída:

insira a descrição da imagem aqui

O FileZilla agora está executando incrivelmente mais rápido, pois pode pular mais arquivos!

Diferença incrível. A sincronização de tempo é uma excelente experiência.

É o melhor que pode ser alcançado através da Internet

time.nist.gov é um balanceador de carga que aponta para o melhor servidor para qualquer local em particular.


O GPS oferece melhor precisão, mas não é tão fácil de configurar.

Aqui está uma sessão de perguntas e respostas sobre como configurar um GPS USB para mouse G-tipo U-Blox 7 no Pi:

Como posso configurar meu GPS USB G-Mouse para uso com Raspbian?

Este artigo descreve como configurar o software para o GPS e fazê-lo funcionar. Ainda precisaremos de alguém para explicar como usá-lo para criar um servidor NTP autoritativo local que todas as outras máquinas Linux possam usar como referência para obter o melhor nível possível de sincronização de tempo com o Raspberry Pi 3B e Raspbian.

Observe como o Google faz isso. Possui GPS e relógios atômicos em cada data center em todo o mundo:

O GOOGLE EXPANDE PLANETA INTEIRA COM BASE DE DADOS COM GPS (da Wired)


No Windows, essa mesma alteração é ainda mais fácil. Basta clicar no relógio e seguir as instruções para alterar o horário da Internet para time.nist.gov e atualizar.

Ao fazer isso, mesmo as transferências para dentro e fora do Windows (para backups no disco rígido) são MUITO mais rápidas, pois ignoram arquivos com a mesma data de criação em ambos os lados.

Isso tem um efeito colateral agradável de minimizar a quantidade de tempo que leva para o ROBOCOPY sair para uma unidade de backup também.

SDsolar
fonte
Essa mesma abordagem funciona com o Ubuntu 14.04 LTS. Exceto que eles têm mais uma linha para um servidor substituto, logo abaixo deste bloco. Eu comentei porque o time.nist.gov não precisa de definições de servidor de backup no lado do cliente. É um URL inteligente que encontra o sistema Stratum-1 de resposta mais rápida. O relógio mestre.
SDSolar 6/07/07
O Ubuntu 16.04 LTS requer a instalação do ntp, primeiro. Aqui estão as instruções básicas: help.ubuntu.com/lts/serverguide/NTP.html - uma vez instalado, o resto é semelhante - a única diferença real é que as linhas começam com pool e a linha que você está ativando precisa ser iniciado com o servidor, como mostrado acima. No entanto, o 16.04 possui permissões de arquivo muito mais restritas, portanto o trabalho deve ser feito no modo su. Se você esqueceu sua senha root, você pode redefini-la a partir do prompt normal usando sudo passwd root. Então o comando su funcionará.
SDsolar
Observe que a coluna St mostra o estrato e que o valor é 1 ou 2, e prioriza o St 1. With the pools it is more like 20. Mas nesse caso, você pode ver que é o estrato-1 para a maior precisão possível.
SDsolar 01/08/19
Aliás, em vez de ntpq -p você pode usar pares ntpq -c
SDsolar
2

Eu tenho lutado contra um problema com sites NTP selecionados pessoalmente desde o Raspbian Jessie. Parece que alguém decidiu forçar a configuração dos servidores de pool Debian no /etc/ntp.conf durante cada inicialização. Ontem neste site, descobri que o script /etc/init.d/ntp é o culpado. Uma simples edição do arquivo elimina o envio dos servidores do pool para o ntp.conf. As instruções de script não substituem o arquivo inteiro, mas substituem todos os servidores que você pode ter inserido ou substituído, para que outras alterações fora da área de definição de servidor, como GPS, PPS, etc. sejam intocadas.

Simplesmente edite o /etc/ntp.conf e encontre e comente as linhas mostradas abaixo:

    # if [ -e /var/lib/ntp/ntp.conf.dhcp ]; then
    #     NTPD_OPTS="$NTPD_OPTS -c /var/lib/ntp/ntp.conf.dhcp"
    # fi

Isso eliminará as alterações na inicialização e o ntpd usará o /etc/ntp.conf como está.

Tom
fonte