내가 이해한 바에 따르면 NTP 드리프트 파일( /var/lib/ntp/ntp.drift
Debian 기반 배포판)은 NTP 피어 및 시스템 시계의 오프셋을 저장합니다. 그런데 시스템 시계가 내 마더보드에 있는 CR232 배터리를 의미합니까? 다른 건 없나요? 또한 드리프트 파일은 ntpd
시작시 에만 사용된다고 생각하는 것이 맞습니까 ?
답변1
컴퓨터에는 틱이라는 주기적인 인터럽트를 생성하는 타이머 하드웨어가 있습니다. 이는 일반적으로 초당 100회 이상 발생합니다. 타이머는 RTC의 일부일 수 있지만 RTC가 없는 장치에도 타이머 하드웨어가 있습니다. 타이머 하드웨어와 RTC 모두 원자 시계로 측정된 실시간에서 벗어나는 경향이 있습니다.
NTP는 시스템 시계(소프트웨어 기반)와 함께 작동하며 업데이트할 때마다 업데이트됩니다. 저장된 값은 /var/lib/ntp/ntp.drift
타이머 인터럽트의 빈도를 미세 조정하는 데 사용됩니다. 이를 징계 시계라고 합니다. NTP는 주기적으로 드리프트를 다시 계산하고 ntp.drift
파일의 빈도와 값을 업데이트합니다 .
일반적으로 시스템 시계는 시스템 시작 시 RTC를 통해 설정됩니다. 이는 NTP 데몬이 시작되기 전에 발생합니다. NTP 데몬이 시작될 때 설정된 플래그에 따라 RTC 시간이 크게 드리프트되면 데몬이 실패할 수 있습니다. 이를 방지하기 위해 ntpdate
명령을 실행하여 초기 조정을 수행하는 것이 일반적입니다 .
제어된 종료 중에 RTC는 일반적으로 시스템 시간(현지 시간 또는 UTC)으로 설정됩니다. 이렇게 하면 시스템을 다시 시작할 때 시간이 상대적으로 정확해지는 데 도움이 됩니다. 이를 위해서는 시스템이 종료될 때 RTC에 전원이 공급되어야 합니다. RTC가 있는 시스템에는 RTC에 전원을 공급하는 배터리와 일반적으로 시스템 구성 데이터가 포함된 일부 휘발성 메모리가 있습니다.