
私の理解では、NTP ドリフト ファイル ( Debian ベースのディストリビューション) には、NTP ピアとシステム クロックのオフセットが格納されます。ただし、システム クロックとは、マザーボード上の CR232 バッテリーのことでしょうか。他に何かありますか。また、このドリフト ファイルは起動/var/lib/ntp/ntp.drift
時にのみ使用されるというのは正しいでしょうか。ntpd
答え1
コンピュータにはタイマー ハードウェアがあり、ティックと呼ばれる定期的な割り込みを生成します。通常、これらの割り込みは 1 秒あたり 100 回以上発生します。タイマーは RTC の一部である場合もありますが、RTC のないデバイスにもタイマー ハードウェアはあります。タイマー ハードウェアと RTC はどちらも、原子時計で測定された実際の時間からずれる傾向があります。
NTP はシステム クロック (ソフトウェア ベース) で動作し、ティックごとに更新されます。保存された値は、/var/lib/ntp/ntp.drift
タイマー割り込みの頻度をわずかに調整するために使用されます。これは、クロックの調整と呼ばれます。NTP は定期的にドリフトを再計算し、ファイル内の周波数と値を更新しますntp.drift
。
通常、システム クロックは、システムの起動時に RTC から設定されます。これは、NTP デーモンが起動される前に行われます。NTP デーモンの起動時に設定されたフラグによっては、RTC 時間が大幅にずれていると失敗することがあります。これを防ぐには、ntpdate
初期調整を実行するコマンドを実行するのが一般的でした。
制御されたシャットダウン中、RTC は通常、システム時間 (ローカルまたは UTC) に設定されます。これにより、システムの再起動時に時間が比較的正確になります。これを機能させるには、システムがダウンしているときに RTC に電力が供給される必要があります。RTC を備えたシステムには、RTC に電力を供給するバッテリーがあり、多くの場合、システム構成データを含む揮発性メモリがあります。