時間を管理し、それが正確に保たれていることを保証することは、コンピュータ システムの一般的な機能です。これはシステムの内部で発生し、サーバーを確立するときに発生します。コンピューター上の時間をサポートするための基本的なインフラストラクチャが確実に整備されていることを確認するのは、システム管理者の責任です。
このガイドでは、ネットワーク タイム プロトコル (NTP) による時間管理を可能にする構成オプションについて説明します。また、タイム ソースから統計情報を調査するツールも紹介し、ネットワーク ツールを使用したいくつかのトラブルシューティング演習についても説明します。
以下のブロック図を使用して、ハードウェア ボックスから議論を開始し、時間のソースに移り、最後に管理についてさらに詳しく説明します。ただし、BIOS とハードウェア クロックから始めましょう。
BIOS をセットアップしたことがある場合は、日付と時刻を設定するためのメニュー選択が表示されるでしょう。これにより、PC のマザーボード上のクロック時間が確立されます。
このクロックは、相補型金属酸化膜半導体 (CMOS) クロック、BIOS クロック、マザーボード クロック、または図にあるようなハードウェア クロックなど、さまざまな名前に対応します。
ボードに AC 電源が供給されていないときでも、CMOS バッテリーは時計を動かし続けます。昔は、時計とバッテリーが 16 ピンのチップ ソケットに接続された CMOS モジュールに組み込まれていた可能性があります。
ハードウェア クロックは、オペレーティング システムによって維持されるシステム クロックの時間源となります。OS が起動すると、システム クロック シード時間がハードウェア クロックから取得され、OS が引き継ぎます。
これら 2 つのクロックは独立して動作し、同期されていません。つまり、ハードウェア クロックのタイムキーパーが不十分であるため、再起動するとシステム時間が不正確であることが判明する可能性があります。ハードウェア クロックの時刻がどの程度ずれるかによって問題が発生する可能性がありますが、これについては後で説明します。
時間の管理
システム クロックは、ネットワーク タイム プロトコル デーモン (ntpd) を使用して時刻を正確に取得するための支援を求めることができます。このデーモンは、時刻チェックのために、より正確な外部時刻ソースにリクエストを送信し、提供されたデータを使用して、デーモンはシステム クロックにドリフト係数を供給して、時刻を外部ソースと同期させます。
ntpd の制限の 1 つは、システム クロックと外部ソースがどれだけずれていても許容されるかどうかです。ハードウェア クロックとシステム クロックの差が約 1000 秒以上ある場合、デーモンは 2 つのタイム キーパーのいずれかが正しく設定されていないと判断し、デーモンは失敗します。
ハードウェア クロックはシステム クロックのシード時間であるため、ハードウェア クロックが 1K 制限内にあることが重要になります。ハードウェア クロックを補正するメカニズムの 1 つがntpdateです。プログラムntpdate は、外部タイム ソースを使用して、システム クロックの精度を 1 回限り調整します。
コマンド ラインから、ntpdateに時刻ソースを指定できます。タイム サービスが実行されていないことを確認してから、次のように入力する必要があります。
ntpdate 0.pool.ntp.org
一部の OS では、ntpd が開始される前に、ntpdate は外部タイム ソースを使用して、精度を高めるためにシステムのクロックに 1 回限りのキックを提供します。ntpdateのタイム ソース URL または IP のリストについては、 /etc/ntp/step-tickersファイルを調べてください。
ntpd が引き継いでドリフト補償を提供すると、システム クロックが大幅に外れて時間どおりに戻すことができないという事態に直面することはありません。ハードウェア クロックが暴走し続けることもあれば、何らかの助けが必要になることもありますが、それについては後で説明します。
時間源
外部時間ソースの世界は、精度に応じて番号が付けられたレベルまたは階層に分割されます。時間の発生源に近づくほど、ストラタム番号は低くなります。直接接続されているソースからの時刻の取得は、ストラタム 0 とみなされます。
その時間が他の配布ポイントに提供され、さらに他の配布ポイントがその時間を他のポイントに渡す場合、階層番号は最大 15 まで増加します。
最も正確な時刻の情報源は原子時計であり、衛星に搭載することも、地上に設置することもできます。衛星には正確な時間を維持するために複数の原子時計が搭載されています。全地球測位システム (GPS) は、飛行機を藪の中に離さずに滑走路に着陸させるための時間精度を必要とします。
地上の原子時計は、何十年にもわたって通信業界の時間の源となってきました。ビットとして送信された情報が相手側で受信されたときに許容可能なビットとしてデコードできることを保証するには、正確な時間が重要です。
- この記事は Linux Format によって TechRadar に提供されたもので、雑誌の印刷版またはデジタル版(新しいタブで開きます)を購読することで、最新のオープンソース開発、ディストリビューション リリースなどの最新情報を入手できます。