Chrony sincronização de tempo no enorme tempo diff

1

hello atualmente eu tenho um servidor ntp localy (chrony) e um cliente ntp (chrony), todos estão funcionando, mas quando eu tento alterar o tempo do servidor ntp para dizer menos 6 anos a partir da hora atual. O cliente ntp não pode sincronizar com ele, apenas dirá no syslog:

Jan 9 17:29:11 localhost chronyd[9192]: System clock wrong by 6780812.328260 seconds, adjustment started

O cliente ntp (chrony) /etc/chrony.conf está na configuração padrão, exceto que o servidor está apontado para o meu servidor NTP local (chrony). Aqui está minha configuração

# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst
server local.ntp.server iburst

# Ignore stratum in source selection.
stratumweight 0

# Record the rate at which the system clock gains/losses time.
driftfile /var/lib/chrony/drift

# Enable kernel RTC synchronization.
rtcsync

# In first three updates step the system clock instead of slew
# if the adjustment is larger than 10 seconds.
makestep 10 3

# Allow NTP client access from local network.
#allow 192.168/16

# Listen for commands only on localhost.
bindcmdaddress 127.0.0.1
bindcmdaddress ::1

# Serve time even if not synchronized to any NTP server.
#local stratum 10

keyfile /etc/chrony.keys

# Specify the key used as password for chronyc.
commandkey 1

# Generate command key if missing.
generatecommandkey

# Disable logging of client accesses.
noclientlog

# Send a message to syslog if a clock adjustment is larger than 0.5 seconds.
logchange 0.5

logdir /var/log/chrony
#log measurements statistics tracking

Eu não sei que não vai sincronizar, eu li que vai demorar mais tempo, mas eu deixei minha máquina por 1 dia e ainda o cliente ntp não teve o mesmo tempo que o servidor ntp ( não sincronizado). Alguma ideia? estou tentando não reiniciar o serviço chronyd e apenas permitir que ele sincronize automaticamente o horário

Note que "local.ntp.server" é definido em meu / etc / hosts. Além disso, o servidor NTP e o cliente NTP não estão usando o serviço ntpd, mas estão usando o chronyd. E esse tipo de configuração é um isolado

    
por lemoncodes 08.12.2016 / 10:13

2 respostas

2

Seu problema parece ser que você está tentando realizar uma mudança de tempo de seis anos distorcendo o relógio e desistindo após um dia .

Se o algoritmo de distorção desviar o relógio em até um por cento - o que é bastante -, serão necessários seiscentos anos para distorcer o relógio. Mesmo se o relógio estiver completamente parado, seis anos precisarão passar seis anos. A única maneira de alcançar um desvio de seis anos em menos de seis anos é executar o relógio backwards , e não acho que nada vá reagir bem a isso. Fazê-lo em um dia significaria fazer o relógio retroceder um pouco mais de duas mil vezes a taxa em tempo real!

Meu sentimento é que rodar servidores NTP que mentem é uma idéia muito ruim, mas se você insistir em fazer isso, e de repente você distorce o servidor por qualquer quantidade significativa, você precisará alterar forçadamente os relógios do cliente antes que eles tenham qualquer chance de sincronizar. Isso é feito com mais facilidade garantindo que os clientes reconfigurem seus relógios forçadamente a partir do servidor no momento da inicialização (com ntpd , isso é feito com ntpdate no momento da inicialização; não sei sobre o chrony) e reinicializando os clientes.

    
por 08.12.2016 / 11:02
0

Se o seu tempo estiver longe (dias ou mesmo meses), a sincronização de horário não funcionará (" demorará muito tempo ") porque clientes NTP como Chrony ajustam o relógio gradualmente diminuindo ou aumentando a velocidade .

Anexe esta linha à sua configuração do Chrony (por exemplo, /etc/chrony.conf ou /etc/chrony/chrony.conf ):

makestep 1 -1

Em seguida, reinicie o Chrony.

# systemctl restart chronyd
# or
# /etc/init.d/chrony restart

Explicação:

The makestep directive can be used to allow chronyd to step the clock. For example, if chrony.conf had

makestep 1 3

the clock would be stepped in the first three updates if its offset was larger than one second. Normally, it’s recommended to allow the step only in the first few updates, but in some cases (e.g. a computer without an RTC or virtual machine which can be suspended and resumed with an incorrect time) it may be necessary to allow the step on any clock update. The example above would change to

makestep 1 -1

link

    
por 03.10.2018 / 17:30