인터넷 연결이 조금 늦어지면 ntpd가 시계를 동기화하지 않습니다.

인터넷 연결이 조금 늦어지면 ntpd가 시계를 동기화하지 않습니다.

우리 생산 상자에서 ntpd에 문제가 있습니다. 생산 상자에 NTP 기능을 활성화하고 한 가지 문제를 관찰하고 있습니다.

상자의 초기화 프로세스에서 ntpd 데몬을 시작합니다. 그 시간 동안에는 인터넷 연결이 되지 않습니다. 아래는 내 작은 ntp.conf파일 입니다.

driftfile  /etc/ntp.drift
logconfig =syncstatus
server pool.ntp.org iburst

인터페이스가 나타나면 우리 상자는 인터넷 연결이 조금 늦게 시작됩니다. 그때 나는 ntpd가 시계를 동기화하지 않는다는 것을 알았습니다. 내가 할 때 ntpq -c as, 나는 을 얻습니다 no association id's found. 거의 30분 정도 기다렸는데 그래도 도착했어요no association id's found

ntpd를 다시 시작해야 합니다. 다시 시작한 후 ntpd는 시계를 동기화하고 모든 것이 정상적으로 작동합니다. 그러나 다시 상자를 재부팅하면 동일한 문제가 발생합니다. 다시 한 번 상자가 나타나고 인터넷에 연결할 수 있게 되면 ntpd를 다시 시작해야 합니다.

비슷한 종류의 문제에 직면한 사람이 있나요?

시간 인터페이스가 나타날 때까지 ntpd 시작을 지연해야 합니까?

업데이트

좀 더 실험을 해보고 다음 server pool.ntp.org iburst으로 대체했습니다.pool pool.ntp.org iburst . ntpd를 다시 시작할 필요가 없었습니다. 그래서 여기서 나에게 또 다른 질문이 생깁니다.

교체했는데 무슨 일이 일어났나요 server?pool ?

pool대신 항상 키워드를 사용해야합니까 ?server ?

언제 사용해야 pool하며 언제 사용해야 할까요?server ?

나는 몇 가지 조사를 했고 pool is the same as server, except it resolves one name into several addresses and uses them all 그들이 같은 일을 하고 있다면 왜 server pool.ntp.org iburst나에게는 효과가 없었지만 pool pool.ntp.org iburst효과가 있었다는 것을 발견했습니다.

업데이트

pool제안된 대로 대신을 사용했지만 server여전히 부팅 시 시계가 동기화되지 않습니다. 이전에도 no association id's found오고 있었는데 풀 사용 후 목록이 표시되네요.

GW:/admin# ntpq -c lpeer
     remote           refid      st t when poll reach   delay    offset  jitter
===================================================================== =========
 time.google.com .POOL.          16 p    -   64    0    0.000   +0.000   0.002

GW:/admin# ntpq -np
      remote           refid      st t when poll reach   delay   offset  jitter

 time.google.com .POOL.          16 p    -   64    0    0.000   +0.000   0.002

GW:/admin# ntpq -c as
ind assid status  conf reach auth condition  last_event cnt
===========================================================
  1 34173  8811   yes  none  none    reject    mobilize  1

GW:/admin# ntpq -c "rv 34173"
associd=34173 status=8811 conf, bcast, sel_reject, 1 event, mobilize,
srcadr=0.0.0.0, srcport=0, srchost="time.google.com", dstadr=0.0.0.0,
dstport=0, leap=11, stratum=16, precision=-19, rootdelay=0.000,
rootdisp=0.000, refid=POOL, reftime=(no time), rec=(no time), reach=000,
unreach=0, hmode=3, pmode=0, hpoll=6, ppoll=10, headway=0,
flash=1400 peer_dist, peer_unreach, keyid=0, offset=+0.000, delay=0.000,
dispersion=16000.000, jitter=0.002,
filtdelay=     0.00    0.00    0.00    0.00    0.00    0.00      0.00    0.00,
filtoffset=   +0.00   +0.00   +0.00   +0.00   +0.00   +0.00   +0.00   +0.00,
filtdisp=   16000.0 16000.0 16000.0 16000.0 16000.0 16000.0 16000.0 16000.0

플래시 상태가 로 표시됩니다 1400. ntp 문서에서 1400플래시 상태를 찾을 수 없다는 의미는 무엇입니까 ?1400

업데이트

작동하기 시작했습니다. 나는 교체 iburstminpoll 3 maxpoll 4후 재부팅 중입니다. 수영장을 이렇게 이용했어요 pool pool.ntp.org minpoll 3 maxpoll 4. 이 변경으로 인해 어떤 차이가 발생했는지 잘 모르겠습니다.

또한 minpoll과 maxpoll을 사용하지 말아야 한다는 내용도 읽었습니다. Too frequent for a sustained period and public NTP services may block you. ntpd is already good at dynamically selecting the pool interval.

어쨌든 도와주신 모든 분들께 감사드립니다.

답변1

ntpd에 서버를 제공하면 시작 시 호스트 이름을 IP 주소로 확인하고 IP 주소를 사용하여 시간을 동기화하려고 시도합니다. 해당 호스트 이름이 확인되지 않으면 삭제됩니다. 문제가 해결되더라도 호스트 이름은 기억하지 않고 IP 주소만 기억합니다.

라인 의 서버가 server동적 풀이 아닌 고정 IP 주소를 가진 로컬 호스트인 경우 호스트 이름을 실제 IP 주소로 바꿀 수 있으며 네트워크가 연결되지 않은 경우에도 삭제하면 안 됩니다. 시작.

대신 ntpd에 풀을 제공하면 호스트 이름이 유지됩니다(및 태그 지정 .POOL.). 주기적으로(시작 시 포함) DNS에서 해당 호스트 이름을 확인하고 별도의 항목으로 얻은 모든 IP를 추가하고 가장 선호도가 낮은 IP 중 일부를 정리합니다.

명령 ntpq -np 이나 이와 동등한 명령을 사용하여 이 중 일부를 볼 수 있습니다.ntpq -n -c peers

이 모든 것에는 타이밍 문제와 ntpd 버전 문제도 있습니다. 이 정확한 문제는 ntpd의 버그로 제출되었으며 몇 가지 수정 변형이 있었습니다. ntpd의 일부 버전은 실패할 경우 호스트 이름 확인을 연기하지만 결국에는 포기할 수 있습니다. 따라서 네트워크 연결을 잠시 끊었다가 다시 연결하여 테스트하는 경우에는 문제가 발생하지 않을 수도 있습니다. 또한 ntp는 도달 가능한 호스트와 도달할 수 없는 호스트 모두에 대해 호스트 폴링 시간을 기하급수적으로 증가시키는 폴링 알고리즘을 사용합니다(시계 안정성과 시간 동기화로서의 호스트의 유용성에 따라 다름). 상한은 1024초(32분)입니다. 네트워크 연결 가능성이 변경되면 이를 알아차리는 데 시간이 오래 걸릴 수 있습니다. (폴링 시간과 간격은 에 나열되어 있습니다 ntpq -np.)

또한 일부 부팅 시작 스크립트는 ntpdate 또는 유사한 도구를 사용하여 ntp.conf에서 시스템 시계를 서버로 설정하므로 ntpd가 시작되기 전에 시계가 부분적으로 동기화됩니다. 이것은 일회성 시도이며 실패할 경우 ntpd는 시계가 크게 잘못된 상태로 시작될 수 있습니다. 약간만 잘못된 경우 ntp가 이를 수정하지만, 크게 잘못된 경우 ntpd는 시계 동기화를 거부할 수 있으며 경우에 따라 ntpd 버전이 충돌하거나 종료될 수 있습니다. 일부 ntpd 버전에는 고유한 원샷 클럭 빅 스텝 옵션이 있습니다.

관련 정보