격리 네트워크의 단일 NTP 서버


8

격리 된 네트워크에 두 개의 Linux 시스템 (A 및 B)이 있습니다. 시간 동기화되어야합니다. 시스템 A는 간헐적으로 전원이 공급되며 GPS (Authoritative Time Source)에 연결되어 있으므로 시간을 제공해야합니다. 시스템 B는 시스템 A에 전원이 공급되는 경우에만 전원이 공급되지만 내장 된 Linux 장치이며 전원 상태는 자주 변경됩니다. 어느 기계도 다른 시스템에 액세스 할 수 없습니다. 폐쇄 된 네트워크입니다.

NTP는 일반적으로 여러 서버와 연결될 것으로 예상하기 때문에 NTP의 경우 상당히 큰 순서임을 이해합니다. 머신 B에서 올바르게 작동하는 데 문제가 있습니다. 머신 A는 GPS와 잘 동기화되고 머신 B는 머신 A에 도달하여 시간 쿼리를 수행 할 수 있지만 머신 A는 신뢰할 수 없습니다 (아마도 그 자체일까요?). 한 시간 동안 머신 A가 가동 된 후에 갑자기 변경되어 머신 B가 작동했습니다. 그러나 머신 A가 다운되면 머신 B가 다시 한 번 좋은 시간 동기화를 찾을 수 없습니다.

다음은 일부 ntpdate 정보입니다. 기계 A의 지층이 1 인 경우에도 동일한 출력으로 작업이 실패합니다.

10.10.10.1 : 서버 삭제 : 지층이 너무 높음
서버 10.10.10.1, 포트 123
지층 16, 정밀도 -19, 도약 11, 신뢰 000
신뢰 [10.10.10.1], 지연 0.02614, 분산 0.00000
전송 된 4, 필터 4
참조 시간 : 00000000.00000000 Thu, 2036 년 2 월 7 일 6 : 28 : 16.000
최초 타임 스탬프 : d3a9bdc4.27ebb350 2012 년 7 월 12 일 목요일 21 : 19 : 00.155
전송 타임 스탬프 : bc17c803.b42dfffe 토요일, 2000 년 1 월 1 일 0 : 25 : 39.703
필터 지연 : 0.02625 0.02614 0.02618 0.02625 
         0.00000 0.00000 0.00000 0.00000 
필터 오프셋 : 39544160 39544160 39544160 39544160
         0.000000 0.000000 0.000000 0.000000
지연 0.02614, 분산 0.00000
오프셋 395441600.451568

 1 월 1 일 00:25:39 ntpdate [677] : 동기화에 적합한 서버가 없습니다.

내 생각에 기계 A는 시간을 제공한다고 스스로를 신뢰하지 않습니다. 가동 시간과 시계가 GPS에 동기화되고 기계 A가 시간을 정확하게 제공하기 시작한 후 기계 B가 데이터를 가져 와서 51 분 (이전에 발생했을 수도 있음)을 알지 못합니다. 나는 이것을 일찍 일어나야한다. 가능하면 몇 초 안에.

다음 구성 (및 많은 대기)을 사용하면 결국 성공합니다.

머신 A ntp.conf :

서버 127.127.28.0은 실제 minpoll을 선호 4 maxpoll 4
퍼지 127.127.28.0 층 1 시간 1 0.420 refid GPS 

머신 B ntp.conf :

서버 10.10.10.1은 실제 minpoll 4를 선호합니다 maxpoll 4

적절한 시간 수정없이 시스템 B의 ntpq -c 피어 :

     폴링 도달 지연 오프셋 지터 인 경우 원격 신뢰
===================================================== =============================
 10.10.10.1. 단계 16시 9 16 0 0.000 0.000 0.000

적절한 시간 수정으로 머신 B의 ntp1 -c 피어 :

     폴링 도달 지연 오프셋 지터 인 경우 원격 신뢰
===================================================== =============================
* 10.10.10.1 SHM (0) 2 u 7 16 17 0.669 2.597 1.808

이제 문제는 Machine A를 어떻게 빠르게 신뢰하게합니까?

머신 B의 전후에 머신 A의 일부 디버그 출력이 머신 A가 사용하기에 충분하다고 판단합니다.

전에..

~ # ntpq -c rv
associd = 0 상태 = c418 leap_alarm, sync_uhf_radio, 1 이벤트, no_sys_peer,
version = "ntpd 4.2.6p4@1.2324 금요일 2 월 24 일 15:01:45 UTC 2012 (1)",
processor = "armv7l", system = "Linux / 2.6.35.14", leap = 11, stratum = 2,
정밀도 = -19, rootdelay = 0.000, rootdisp = 44.537, refid = SHM (0),
reftime = d3ab0053.43b44780 Fri, Jul 13 2012 20 : 15 : 15.264,
clock = d3ab0062.e7e03154 2012 년 7 월 13 일 금요일 20 : 15 : 30.905, 피어 = 34819, tc = 4,
mintc = 3, 오프셋 = 0.000, 주파수 = 0.000, sys_jitter = 3.853,
clk_jitter = 36.492, clk_wander = 0.000

후...

~ # ntpq -c rv
associd = 0 상태 = 0415 leap_none, sync_uhf_radio, 1 이벤트, clock_sync,
version = "ntpd 4.2.6p4@1.2324 금요일 2 월 24 일 15:01:45 UTC 2012 (1)",
processor = "armv7l", system = "Linux / 2.6.35.14", leap = 00, stratum = 2,
정밀도 = -19, rootdelay = 0.000, rootdisp = 41.278, refid = SHM (0),
reftime = d3ab0063.43b37856 Fri, Jul 13 2012 20 : 15 : 31.264,
clock = d3ab006d.9ee53ec2 2012 년 7 월 13 일 금요일 20 : 15 : 41.620, 피어 = 34819, tc = 4,
mintc = 3, 오프셋 = 0.000, 주파수 = 43.896, sys_jitter = 0.762,
clk_jitter = 36.953, clk_wander = 0.000

1
머신 B가 머신 A에서 좋은 시간을 얻지 못할 때 ntp.conf파일과 출력을 볼 수 ntpq -p있습니까? 기계 A를 잘못된 시세 또는 다른 것으로 표시 할 수 있습니다. 기기 B가 기기 A를 신뢰하지 않는 경우 기기 A가 GPS와 동기화됩니까? ( ntpstatA 기계 출력 )
Aaron Copley

chrony 가이 애플리케이션에 더 적합하다고 들었습니다 . "컴퓨터가 하루에 한 번 (또는 이와 비슷한) 5 분 동안 인터넷에 연결되어 있거나 사용하지 않을 때 (Linux v2.0) 컴퓨터를 끄거나 컴퓨터에서 NTP를 사용하려는 경우 하드웨어 시계가없는 격리 된 네트워크는 chrony가 훨씬 더 효과적입니다. "
David Schwartz

@AaronCopley 몇 (10 또는 12) 시간 안에 게시 할 수 있습니다. 부팅 후 1 분 이내에 시스템 A가 GPS와 동기화됩니다. 시스템 B는 꽤 오랫동안 시스템 A와 동기화하는 데 문제가 있습니다.
San Jacinto

@DavidSchwartz 감사합니다. 살펴 보 겠지만 도움이 될 수 있다면 구성을 넘어서서 변경하는 것을 꺼려합니다. 현재 머신 B를 위해 무엇이든 크로스 빌드하는 것이 번거 롭습니다.
San Jacinto

@AaronCopley가 업데이트되었습니다.
San Jacinto

답변:


8

NTP는 잘 작동합니다. 시작시 빠른 동기화를위한 몇 가지 옵션을 살펴보십시오. 상기 봐 burstiburst상기 시스템 B. 봐 옵션 true은 GPS 클럭 소스에 대한 옵션을 선택합니다.

두 시스템에서 하드웨어 시계를 백업 시간 소스로 사용하십시오. 더 높은 지층 시스템 B를 설정하십시오. 다음과 같은 것이 작동해야합니다.

server  127.127.1.0
fudge   127.127.1.0 stratum 8

ntpq -c peers신뢰할 수있는 클럭 소스를 얻을 때 의 출력 을보십시오. 일반적으로 ntp신뢰할 수있는 시간 소스를 신뢰하기 전에 많은 응답을 원합니다. 이것은 각 줄의 첫 문자로 표시됩니다.

NTP는 더 많은 소스를 선호하지만 한 계층 레벨 내에서 홀수 개의 시간 소스가 잘 작동합니다. 서버와 GPS 시계가 두 개뿐이므로 GPS, 서버 A의 시계, 서버 B의 시계에서 소스의 우선 순위 (계층)가 높아져야합니다. 각 계층을 3-4 단계 씩 증가 시키면 우선 순위가 존중됩니다.

편집 : 서버 A에 busybox NTP 서버가 있으면 전체 ntp 서버 패키지를 설치하는 것이 좋습니다. 서버 A에서 발생하는 상황을 이해하면 문제를 해결하는 데 많은 도움이됩니다. 서버 B가이를 신뢰하려면 적어도 하나의 신뢰할 수있는 시간 소스가 필요합니다. 경우 ntpq -c peers작동하지 않습니다, 당신은 시도 할 수 있습니다 ntpdc peers. 이 두 명령을 모두 사용하면 다른 호스트를 쿼리 할 수 ​​있습니다. peerstats로그이 유용 할 수 있습니다.

서버 B에서 busybox ntp 사용 방법을 문서화 한대로 ntpclient를 사용하여 서버에서 발생한 상황을 기록하십시오.

서버가 오랫동안 다운되지 않은 경우 시계는 정확한 시간에 적당해야합니다. 두 시스템을 동기화해야하는 경우 충분합니다. GPS는 시간을 실제 세계와 동기화 할 것입니다.

'ntpd -q'는 빠르게 동기화되지만 종료됩니다 (ntpdate 동작). 그것은 다음에 할 필요가 ntpd연속 동기화를 가지고있는 종료 옵션없이 명령.

EDIT2 : 서버를 확인하고 서버 중 하나가 잠시 꺼져있는 것을 발견했습니다. 이 문제를 해결하면서 설정을 연주했습니다. iburst서버를 매우 빠르게 신뢰합니다. true여러 개의 신뢰할 수있는 소스가없는 경우 클럭 드라이버를 신뢰할 수 있도록합니다. 시계는 로컬에서 신뢰할 수 있고 원격으로 신뢰할 수 있기까지 1 분 이상이 걸렸습니다.

테스트 할 때 ntpd프로세스가 동기화되면 프로세스 를 다시 시작하고 설정이 얼마나 빠른지 테스트 할 수 있어야합니다 . 위의 경우 서버 B를 다시 시작하여 동기화 속도를 테스트해야 할 수 있습니다. ntpd변경 사항을 모니터링 할 때 다음과 같은 줄을 사용합니다.

while ntpq -c peers localhost; do sleep 10; done

호스트 이름과 절전 시간은 필요에 따라 조정됩니다. 어떤 경우 ntpq에는 루프에 둘 이상의 명령 행을 연결합니다. 그렇게 할 때 echo 및 / 또는 date 명령을 사용하여 데이터 집합이 변경되는 위치를 나타냅니다.


conf 파일에 burst를 추가해도 상황이 개선되지 않았습니다. 이러한 각 시스템은 비지 박스 시스템이며 "-c"옵션은 ntpq에 알려져 있지 않습니다. 또한 시계는 GPS와 동기화 될 때까지 이러한 장치를 신뢰할 수 없습니다. 시스템의 한계. 감사.
San Jacinto

실제로 작은 실수를했는데 이미 컴퓨터 A에서 실행되는 ntpd의 정식 버전을 가지고있었습니다. 컴퓨터 B는 BusyBox 버전을 실행하는 유일한 컴퓨터입니다. ). 결국 모든 것이 작동합니다. 나는 이것이 심각한 신뢰 문제라고 생각합니다. 내 편집 내용에 대한 통찰력을 줄 수 있습니까? 감사.
San Jacinto

또한 답변을 다시 편집 할 수있는 기회가 있으면 @ 나에게 시스템이 알려주도록 할 수 있습니까? 감사.
San Jacinto

@ SanJacinto 내 시스템의 결과로 두 번째 편집을 추가했습니다. busybox ntpd 클라이언트가 없으므로 결과를 보증 할 수 없습니다. 서버 B trueiburst서버 B에 모두 추가하려고 합니다.
BillThor

귀하의 노력에 대해 +1했지만 문제를 해결하지 못했습니다. 내가 찾은 해결책 (원하는 경우 다른 것을 제안하고 시도해보십시오)은 GPS와 동기화 된 후 시스템 A에서 ntpd를 종료 한 다음 다시 시작하는 것입니다. 이것은 몇 초 안에 머신 B가 머신 A와 동기화되도록하는 것 같습니다. 제 생각에는 머신 A (항상 Epoch에서 부팅)에서 42 년의 시간이 뛰면서 시간 공유에 신경이 쓰이는 것입니다. 그러나 시작하고 시계가 이미 설정되어 있으면 시계가 멀지 않은 것처럼 보입니다. 약간의 조정만으로도 시간을 공유하는 것이 좋습니다. 나는 ntp ..을 허용했다.
San Jacinto
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.