NTPのシステムクロックを理解する

NTPのシステムクロックを理解する

私の理解では、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 に電力を供給するバッテリーがあり、多くの場合、システム構成データを含む揮発性メモリがあります。

関連情報