나는 지리적으로 분산되어 있는 약 10대의 원격 Linux 컴퓨터로 구성된 네트워크에서 몇 가지 실험을 수행하고 있습니다.
그 중 일부는 시계 왜곡이 있는 것으로 생각되지만 일시적으로 나타납니다(예: 일주일에 한 번 또는 한 달에 두 번).
그러한 클럭 왜곡을 감지하고 정량화할 수 있는 도구가 있는지 궁금합니다. 또한 클럭 스큐가 내가 목격한 것에 대한 올바른 용어인지, 아니면 클럭 동기화라고 부를 수 있는지 궁금합니다.
답변1
시계를 올바른 시간에 동기화하려고 하시나요, 아니면 동기화하지 않고 실시간 시계가 실제로 얼마나 정확한지 확인하려고 하시나요?
단순히 시간이 정확하기를 원한다면 시스템이 동기화할 수 있는 시간 서버의 전체 계층 구조가 있으며 이는 일반적으로 시간 서버를 지정할 수 있지만 OS에 내장되어 있는 경우가 많습니다. 또한 한 시스템은 시간 서버와 동기화한 다음 다른 시스템이 동기화할 수 있도록 자체 시간 서버를 실행할 수 있습니다.
나는 표준 시간에 동기화할 뿐만 아니라 마지막 동기화에서 로컬 컴퓨터의 드리프트를 따라잡는 프로그램을 과거에 보았고 심지어 사용하기도 했습니다. 과거에 인터넷 연결이 간헐적으로 연결되었을 때 이것을 사용했기 때문에 프로그램은 예상되는 드리프트 기록을 사용하여 시간을 수정했습니다.
일반적으로 이러한 방법 중 하나를 사용하면 수정이 너무 많으면 오류로 간주하고 전혀 수정하지 않을 수 있습니다.
바라건대, 나는 당신의 요점을 완전히 놓치고 있지 않습니다. :)
답변2
이를 위해 NTP 데몬을 사용하십시오.
연결할 수 있는 독립적인 ntp 서버 수를 정의합니다(ntp.conf, 서버 지시문). 서버는 3개면 좋고, 많을수록 좋습니다.
네트워크 시간 프로토콜은 "잘못된" 시간 소스를 분류합니다. 몇 시간 동안 ntpq -p
실행한 후의 출력을 살펴보세요 .ntpd
선택한 기본 서버, "양호"로 간주되는 서버, "불량"으로 간주되는 서버를 확인할 수 있습니다. 출력에는 다음도 포함됩니다.지터및 대기 시간(오프셋). 이것은 아마도 당신이 추구하는 가치일 것입니다...
답변3
crony 유틸리티에는 드리프트 파일이 있습니다. 보다:http://chrony.tuxfamily.org/manual.html#Configuration-options-overview
아직 직접 설치하지 않았기 때문에 해당 파일의 형식을 모르겠습니다. 드리프트 정보를 보는 명령이 있습니다: chronyc sourcestats -v
처음에는 가상 머신에 crony를 설치할 계획입니다.
이 사이트가 도움이 될 것 같습니다:http://www.markus-gattol.name/ws/time.html
답변4
그만한 가치가 있는지 확인하기 위해 어제 두 Linux 시스템 간의 불균형 수준을 직접 확인해야 했습니다. 도구를 찾기 전에 나는 내 목적에 맞는 충분한 결과를 제공하는 이 비과학적인 방법을 사용했습니다(두 시스템의 로그 출력 타임스탬프 비교).
- 각 시스템에서 Putty 세션을 시작하고 나란히 정렬합니다.
두 시스템 모두에서 다음 명령을 실행합니다.
$ while true; do date +%H:%M:%S.%N; done
- 스크린샷을 찍어 각 창의 마지막 항목을 비교하세요.
위기에 처한 누군가에게 유용할 수도 있습니다!