Ative o NTP com o giro do relógio no RHEL6

3

Eu tenho um servidor RHEL6 executando um banco de dados Oracle. Quando o servidor foi construído, o NTP não foi ativado ou configurado. Minha tarefa é fazer isso sem afetar o banco de dados. Depois de fazer algumas pesquisas, eu estava supondo que, ao habilitar o NTP no RHEL6, o tempo se arrastaria até que estivesse em sincronia. No entanto, quando eu fiz isso na minha máquina de teste, o clock do sistema saltou imediatamente para o horário NTP. O tempo foi aproximadamente 2 1/2 minutos desligado antes de ativar o NTP. Quando eu executei o comando ntpstat , ele ficou dessincronizado por um tempo, mas agora está em sincronia.

Então, como eu habilito o NTP e o desvio para a hora correta, em vez de "força bruta" para sincronizá-lo? Obrigado pela sua ajuda!

[root@host etc]# service ntpd status
ntpd is stopped
[root@host etc]#
[root@host etc]# ntpdate -q time.mydomain.com
server 1.1.1.1, stratum 2, offset 154.573234, delay 0.02890
 2 May 15:47:59 ntpdate[21584]: step time server 1.1.1.1 offset 154.573234 sec
[root@host etc]#
[root@host etc]# service ntpd start
Starting ntpd:                                             [  OK  ]
[root@host etc]# ntpdate -q time.mydomain.com
server 1.1.1.1, stratum 2, offset -0.000118, delay 0.02876 
 2 May 15:50:47 ntpdate[21606]: adjust time server 1.1.1.1 offset -0.000118 sec
[root@host etc]# date
Tue May  2 15:51:01 EDT 2017
[root@host etc]# ntpstat
unsynchronised
polling server every 64 s
[root@host etc]# ntpstat
synchronised to NTP server (1.1.1.1) at stratum 3
 time correct to within 80 ms
 polling server every 1024 s
    
por bzinger 03.05.2017 / 15:04

1 resposta

2

O NTPD pode ajustar seu relógio em incrementos lentos se estiver desligado, girar o relógio. A ideia por trás disso é que os passos lentos não causam problemas com temporizadores de software, lacunas estranhas em arquivos de log e seus dados, etc.

The maximum slew rate possible is limited to 500 parts-per-million (PPM) by the Unix kernel. As a result, the clock can take 2000s for each second the clock is outside the acceptable range.

De acordo com a página de manual, o ntpd não funcionará se o seu relógio estiver com mais de 1000 segundos de diferença. (Embora você possa ajustar isso com o interruptor -g , compensar lentamente um deslocamento de 1000 segundos já levará mais de 3 semanas.)

Segundo, o salto de tempo que você observou quando iniciou ntpd é o resultado do comportamento padrão do ntpd para step ao invés de girar o clock quando o offset é maior que 128 ms quando o ntpd é iniciado. Isso faz sentido quando o ntpd é iniciado na inicialização, mas não é exatamente o que você quer em um sistema em execução.

Você pode evitar isso adicionando a opção -x às opções de inicialização do ntpd. Do manual:

-x
Normally, the time is slewed if the offset is less than the step threshold, which is 128 ms by default, and stepped if above the threshold. This option sets the threshold to 600 s, which is well within the accuracy window to set the clock manually. Note: Since the slew rate of typical Unix kernels is limited to 0.5 ms/s, each second of adjustment requires an amortization interval of 2000 s Thus, an adjustment as much as 600 s will take almost 14 days to complete. This option can be used with the -g and -q options

Nos sistemas RHEL, seria necessário ajustar o arquivo /etc/sysconfig/ntpd config antes de iniciar o serviço ntpd:

# /etc/sysconfig/ntpd
# Drop root to id 'ntp:ntp' by default.
OPTIONS="-u ntp:ntp -p /var/run/ntpd.pid -g -x" 
    
por 03.05.2017 / 15:28