インターネットから隔離されたホームサーバーで時刻のずれが生じる原因は?

エヴァ・ウォン は テクニカルライター であり ZimaSpaceの常駐ティンカーでもあります。 生涯のオタクであり、 ホームラボとオープンソースソフトウェアに情熱を持っています。彼女は複雑な技術的概念をわかりやすく、 実践的なガイドに翻訳することを専門としています。エヴァはセルフホスティングは楽しくあるべきで、怖がるものではないと信じています。彼女のチュートリアルを通じて、コミュニティが ハードウェアのセットアップを解明する手助けをしています。初めてのNAS構築からDockerコンテナの習得まで。

クロックドリフトは、隔離されたサーバーが外部の時刻基準から定期的な補正を受けず、不完全な発振器で自走しなければならないために発生します。

ホームサーバーは、電源オフ時にはリアルタイムクロック、稼働中にはカーネルの時刻ソースによって時刻を維持できますが、どちらも完全に正確ではありません。周波数誤差は蓄積して秒や分単位のずれとなり、CPUの発熱、室温、電圧、経年劣化、サスペンド、仮想化によって速度が変化することがあります。隔離によって失われるのはインターネット経由のNTPであり、通常は同期によって補正される物理的な原因ではありません。

発振器の周波数誤差は補正なしで蓄積する

公称周波数で刻むよう設計された水晶振動子も、わずかに速く、または遅く動作します。安定した数ppmの誤差であっても時間とともに連続して加算されるため、オフラインのサーバーの壁時計は、ホールドオーバー期間が長くなるほどUTCからずれていきます。

クロックホールドオーバーの説明では、基準を失った後にクロックがローカル発振器に依存する期間を定義しています。安定した条件下では、症状として誤差がほぼ直線的に増加し、その方向も繰り返し一定になります。

マザーボードのRTCと、稼働中のカーネルクロックは異なる発振器を使用している場合があります。起動後に時刻が跳ぶ場合はRTCの状態を示し、稼働中に滑らかにドリフトする場合は、アクティブなシステム時刻ソースを示します。この違いは、後で家庭環境でテストする際にも確認できます。

温度、電源状態、経年劣化によってドリフト速度は変化する

水晶振動子の周波数は温度によって変化し、経年によっても徐々に変わります。CPU負荷によって基板が温まり、ファンの動作によって冷却され、スリープや電源喪失によってサーバーが温度と電圧の状態を移行すると、見かけ上のドリフトも変化します。

Raspberry Piを使った実験では、温度依存のドリフトを発振器の周波数と関連付け、熱管理後に安定性が向上したと報告しています。診断上の特徴は、一定の傾きが1つ存在することではなく、基板温度とドリフト速度が相関することです。自動化に進む前に、中間結果を検証可能な状態に保つ必要があります。

RTCバッテリーの故障では、滑らかな稼働中のドリフトよりも、電源オフ時に時刻や設定が失われることのほうが一般的です。ハードウェアを交換する前に、電源オフ時の時刻喪失、サスペンド後の時刻ジャンプ、稼働中のずれを分けて確認してください。この境界は、現実的な動作条件の下で個別に測定する必要があります。

仮想化と精度の低いローカル基準は不正確な時刻を伝播させる

仮想マシンは仮想タイマーとホストのスケジューリングに依存するため、補正がないと一時停止やマイグレーションによってゲストの時刻が歪むことがあります。ローカルのルーターやNASはNTPを提供できますが、その基準自体が自走している場合、すべてのクライアントがその誤差を引き継ぎます。

発振器のホールドオーバー品質に関する比較では、基準を失った際に発振器の品質が蓄積誤差をどのように変えるかが示されています。この関係から、1台のローカルタイムサーバーによって一貫性を集中管理できても、UTCの正確性が自動的に維持されるわけではないことが分かります。複数のソースが限られたコンテキストを奪い合うと、この実際的な影響が現れます。

障害の境界となるのは、誤ったタイムゾーンまたは夏時間のルールです。これは時間単位の固定された表示ずれを生じさせますが、徐々に進む周波数ドリフトではありません。発振器を診断する前に、単調時間とUTCオフセットを比較してください。この依存関係は、最終インターフェースでも明示したままにする必要があります。

ポータブルな基準に対してドリフト速度を測定する

信頼できるポータブルGNSS、または定期的に取り込んだ基準と比較しながら、サーバーのUTC、単調時間、RTC値、稼働時間、サスペンドイベント、基板温度、CPU負荷、電源状態、カーネルクロックソース、周波数補正、ローカルNTPピアのオフセットを記録します。

ローカルインフラストラクチャの信頼性を利用して、ローカルインフラストラクチャが信頼性の高いサービスに与える影響を理解してください。暖機後のアイドル状態、継続的な負荷、夜間の冷却、サスペンド、再起動、電源オフの各期間を分けて測定します。そのため、結果は元の証拠と照合する必要があります。

各状態について、誤差を1日あたりの秒数で近似します。家庭内の一貫性には安定したローカル基準を使用し、より長いホールドオーバーには温度補償または高精度なハードウェアを使用し、絶対的なUTC精度が重要な場合は認証済みの更新を定期的に行います。この違いは、後で家庭環境でテストする際にも確認できます。

テック&AIハブ

もっと読む

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.