![내 컴퓨터의 시계를 NTP 프로토콜과 동기화하려면 ntpd를 실행해야 합니까?](https://linux55.com/image/172654/%EB%82%B4%20%EC%BB%B4%ED%93%A8%ED%84%B0%EC%9D%98%20%EC%8B%9C%EA%B3%84%EB%A5%BC%20NTP%20%ED%94%84%EB%A1%9C%ED%86%A0%EC%BD%9C%EA%B3%BC%20%EB%8F%99%EA%B8%B0%ED%99%94%ED%95%98%EB%A0%A4%EB%A9%B4%20ntpd%EB%A5%BC%20%EC%8B%A4%ED%96%89%ED%95%B4%EC%95%BC%20%ED%95%A9%EB%8B%88%EA%B9%8C%3F.png)
나는 내 컴퓨터에서 Devuan GNU/Linux(~= systemd가 없는 Debian Buster)를 사용하고 있습니다. Debian 기반 시스템에서는 바이너리를 ntpdate
제공하는 패키지 ntpdate
(시계를 한 번 동기화할 수 있는 NTP 클라이언트)와 데몬을 ntp
제공하는 패키지를 설치할 수 있습니다 . ntpd
이 외에도 주기적으로 동기화도 수행합니다.
이제 이 질문에 대한 답변은 다음과 같습니다.
데비안 내부 시계를 NTP 서버와 동기화하는 방법은 무엇입니까?
이 패키지를 설치해야 한다는 제안이 있었습니다 ntp
. 그런데 이것이 꼭 필요한 것인지 궁금합니다. 즉, 단순히 ntpdate
X시간, 일 또는 기타 매 시간마다 클라이언트를 실행하는 크론 스크립트를 제공하면 안 될까요? 제안된 대로 자체 매뉴얼 페이지가 있는 경우 ntpd의 모든 기능이 정말로 필요합니까? :
BUGS The **ntpd** utility has gotten rather fat. While not huge, it has gotten larger than might be desirable for an elevated-priority ntpd running on a workstation, particularly since many of the fancy features which consume the space were designed more with a busy primary server, rather than a high stratum workstation in mind.
참고: 이 질문은 가상 머신이 아닌 실제 머신에 관한 것입니다.
답변1
drift
시계( )에 허용되는 오류의 양에 따라 다릅니다.
우리 모두 알다시피 시계는경향시간이 지남에 따라. 시계의 각 주기에서 발생할 수 있는 작은 오류는 오랜 시간 동안 합산되어 시계를 "실시간"과 다르게 설정할 수 있습니다(대개 그렇게 합니다).
많은 컴퓨터의 내부 시계는 다음과 같은 장치에 의해 구동됩니다.하드웨어 칩온도에 영향을 받는 드리프트는 매우 작습니다(일반 수정 결정의 경우 약 10ppm). 때로는 실시간보다 빠를 때도 있고, 때로는 실시간보다 느릴 때도 있습니다. 월 20초(월 10ppm)의 비동기화가 발생할 수 있습니다. 정기적인 동기화를 통해 최대 오류를 줄일 수 있습니다. 예를 들어 ntpdate
일주일에 한 번 사용하면 최대 오류는 5초(~20/4) 미만이 됩니다.
이 ntp
프로그램의 목표는 "ntp 시간"에 더 자주 동기화하는 것입니다("실시간"은 아니지만 매우 가깝습니다). NTP 동기화의 일반적인 오류는 네트워크 대기 시간으로 제한되며, 이는 100밀리초 미만, 일반적으로 10밀리초 미만일 수 있습니다. 이렇게 하면 하드웨어 시계가 원자 시계 시간("실시간"에 매우 가깝습니다)으로 설정됩니다. 그 시간은 그 시점에서 표류할 것이다. NTP 클라이언트가 컴퓨터 시계의 드리프트를 조정하여 수신된 시간에 더 가깝게 만들 수 있는 방법이 있습니다.
예, ntp 프로토콜의 모든 작은 수정과 정확성으로 인해 약간 복잡해졌습니다. 오늘날 GPS 시계를 사용하는 것은 드문 일이 아닙니다.50나노초 이내세계시(UTC)(50.0e-09초). 이는 NTP 시스템이 제공할 수 있는 것 이상입니다. 이 경우 해당 장치가 있는 컴퓨터에는 ntp에서 사용할 수 있도록 수준 0(계층)이 부여됩니다.
물론 ntpdate를 가끔씩 조정한다는 것은 "실시간" 컴퓨터 지식이 가끔씩 점진적으로 변경된다는 것을 의미합니다. 이는 지금 작성된 파일이 이전에 작성된 파일보다 더 작은 타임스탬프를 가질 수 있음을 의미합니다. 시스템은 ntp
이러한 "점프"를 방지하기 위해 최선을 다합니다.
ntp 시간 서버로는 최소한 ntpd와 chrony가 있습니다. 둘 중 하나(둘 다는 아님)를 사용하여 컴퓨터 시계를 유지하거나 GPS 시계를 사용할 수 있습니다.
답변2
예, ntpdate를 주기적으로 실행하고 자주 조정하여 시계를 동기화 상태로 유지할 수 있습니다. 시계는 조정될 때마다 어느 정도 건너뛸 수 있으며, 이는 일관된 타이밍이 필요한 소프트웨어를 실행하는지 여부에 따라 문제를 일으킬 수 있습니다.
또한 ntpd를 실행하고 이 목적으로 설계된 프로토콜을 사용하여 시계를 관리하도록 할 수도 있습니다. 더 새롭고 가벼운 구현으로 보이는 chrony 사용을 고려할 수도 있습니다. 다시 말하지만, 시계를 동기화 상태로 유지하기 위해 데몬을 사용하거나 명령줄을 사용하여 언제든지 동기화할 수 있습니다.
NTP 프로토콜을 사용하는 솔루션을 사용하면 시계를 일관되고 부드럽게 조정할 수 있으므로 조정을 최소화하고 조정 간 전환을 가장 원활하게 수행할 수 있습니다(데몬이 시작되면 실제로 시간이 직접 조정되지 않습니다).