Como posso ter ntpdate ignore skew?

1

Durante um processo de bootstrap do servidor, quero executar explicitamente ntpdate em vez de confiar no daemon ntp . No entanto, o relógio pode estar gravemente inclinado neste momento, o que causa um erro ao executar sudo ntpdate address.of.ntp.server . Notei que depois de executar esse comando várias vezes, ele eventualmente funciona, possivelmente devido a um número de amostras acumuladas com a mesma data, no entanto, não consigo encontrar essa especificação. O que eu quero é apenas pegar uma amostra, forçar ntpdate para aceitar a resposta e então iniciar o ntp via sudo service ntp start . Como posso fazer isso?

EDIT: Tentei sudo ntpd -g -q como sugerido, mas ainda recebo o seguinte erro em /var/log/syslog :

Sep 26 12:14:29 jd-0922-node1 ntpd[22239]: ntpd [email protected] Wed Oct  9 19:08:06 UTC 2013 (1)
Sep 26 12:14:29 jd-0922-node1 ntpd[22239]: proto: precision = 0.115 usec
Sep 26 12:14:29 jd-0922-node1 kernel: [173176.189773] type=1400 audit(1411758869.717:48): apparmor="DENIED" operation="open" profile="/usr/sbin/ntpd" name="/usr/local/sbin/" pid=22239 comm="ntpd" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
Sep 26 12:14:29 jd-0922-node1 kernel: [173176.189779] type=1400 audit(1411758869.717:49): apparmor="DENIED" operation="open" profile="/usr/sbin/ntpd" name="/usr/local/bin/" pid=22239 comm="ntpd" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
Sep 26 12:14:29 jd-0922-node1 ntpd[22239]: ntp_io: estimated max descriptors: 1024, initial socket boundary: 16
Sep 26 12:14:29 jd-0922-node1 ntpd[22239]: unable to bind to wildcard address 0.0.0.0 - another process may be running - EXITING
    
por jonderry 24.09.2014 / 04:39

1 resposta

1

Parece que o seu relógio está desativado por mais do que o limite de pânico. No entanto, isso não explica por que várias invocações do ntpdate consertariam as coisas. Para ser honesto, não consigo pensar em nenhum erro que seria superado por várias invocações do ntpdate.

Independentemente do ntpdate ter sido preterido. Eu acho que a explicação mais provável é que o seu relógio excede o limite de pânico. Você precisa fornecer a opção -g para o ntpd quando ele for iniciado. Edite '/ etc / default / ntp' e verifique se a seguinte linha está presente:

 NTPD_OPTS='-g'

docs para -g :

-g  Normally, ntpd  exits with  a message  to the  system log  if
    the  offset exceeds  the  panic  threshold, which  is  1000 s  by
    default.  This  option allows  the time  to be  set to  any value
    without restriction; however, this can  happen only once.  If the
    threshold is exceeded  after that, ntpd will exit  with a message
    to the sys‐ tem log.  This option  can be used with the -q and -x
    options.

Seria mais fácil fazer uma recomendação se você listasse as mensagens de erro reais recebidas com o ntpdate. Existe alguma chance de você ver algo sobre a mudança em vez de distorcer?

ATUALIZAÇÃO:

Você não está iniciando / interrompendo o ntpd corretamente. A razão pela qual ele não pôde se ligar ao endereço quando você usou o sudo é porque o ntpd já estava em execução. Eu não sugeri que você usasse sudo ntpd -g -q Para ser honesto, eu nunca mencionei -q, não tenho idéia de por que você não quer rodar o ntpd continuamente. Usando a correção do relógio de um tiro e sair é uma má idéia. Eu realmente acho que você precisa avaliar porque você acha que esse modo de uma vez é preferível a executar o ntpd continuamente.

Sem mais adeiu:

  1. Edite /etc/default/ntp e verifique se tem NTPD_OPTS='-g'
  2. Reinicie o serviço ntp: sudo service ntp restart
  3. Aproveite o tempo exato

Eu digo isso com todo o respeito e um sincero desejo de ajudá-lo: Parece que você é novo na administração do Linux em geral e não está familiarizado com o ntpd. Então, eu gostaria de pedir enfaticamente que você repensasse o motivo pelo qual você deseja que o ntpd ajuste o relógio uma vez e depois saia. Isso está longe das melhores práticas. Na minha experiência, se algum dia achar que preciso fazer algo contra as melhores práticas, gosto de ter certeza de que minha situação é drasticamente diferente do resto do mundo. Uma vez que você tenha o ntpd configurado corretamente, ele irá disciplinar seu relógio e você nunca precisará se preocupar com isso. Seu relógio se desviará lentamente do UTC se você fizer o negócio de uma única vez.

    
por 26.09.2014 / 20:38