TIMED(8)

名称
timed - タイムサーバデーモン

書式
timed [-M] [-t] [-d] [-i network] [-n network] [-F host1 host2 ...]

解説
本コマンドは、タイムサーバデーモンであり、通常はブート時に rc(8) ファイル内の記述に従って起動されます。本コマンドは、ホストの時間を ローカルネットワーク上のマシンのうち timed の走行しているものとの間で同期をとります。これらのタイムサーバは、 マシンの時計を遅らせたり進ませたりすることで、それらのマシンの時計を 平均ネットワーク時間に補正します。平均ネット ワーク時間は、 ICMP タイムスタンプリクエストメッセージを用いることで得られる、マシン間の時刻 差分を計測し、それから計算しています。

timed によって提供されるサービスは、マスタスレーブ構造に基づいて構成されています。 timed がマシン上で動作し始めると、 timed は、ネットワーク時間のマスタサーバに時刻を問い合わせ、 自マシンの時刻を設定します。この後、マスタサーバに同期メッセージを定期的に 送信し、マシン時間の補正が必要な場合には adjtime(2) を呼び出します。

本コマンドは、時刻を設定するために date(1) や timedc(8) とも通信します。マスタサーバが走行して いるホストがクラッシュした場合、スレーブマシンは新たなマスタサーバを、 -M オプションを付加して起動 しているマシンの中から選びます。 -M や -F オプションを付加しないで timed を起動しているマシンは、スレーブのまま据え置かれます。 -t フラグは、 timed のメッセージを /var/log/timed.log へ記録するようにします。このトレース機能は、 timedc(8) を用いてオン/オフを変更できます。 -d フラグは、デーモンのデバッグのためのオプションです。 本オプションは、プログラムをバックグラウンド実行しないようにします。通常、 timed は、接続されているネットワーク上のマスタタイムサーバをチェックしますが、 以下に記述のあるオプションを指定して動作を変更した場合にはこの限りでは ありません。 最初に設置されたマスタタイムサーバとの同期サービスを要求します。 -M オプションが有効な場合、timed は接続されているネットワークにて マスタタイムサーバが存在しない場合に同期サービスを他のマシンに提供します。 その場合、サーバはトップレベルマスタによって計算された時刻を取得し、 他のマシンに通知します。 -n フラグは、プログラムによって初期選択されるネットワークアドレスを無視します。 ここでいうネットワークアドレスは、ホストが接続されているネットワーク名の ことです (networks(5) を参照して下さい)。 -n フラグが指定されるごとに、ネットワーク名は正常なネットワーク名のリストに 追加され、リストに載っていないネットワークは無視されます。 -i フラグは、プログラムによって初期選択されるネットワークアドレスを無視します。 ここでいうネットワークアドレスは、ホストが接続されているネットワーク名の ことです (networks(5) を参照して下さい)。 -i フラグが指定されるごとに、無視すべきネットワーク名のリストに 当該ネットワーク名が追加されます。他のすべてのネットワークは、 timed によって使用されます。 -n および -i は、同時に使用できません。

timed は、接続されているネットワーク上のマスタタイムサーバをチェックします。 しかし、 -n や -i オプションによってその動作が変更されている場合にはその限りではありません。 複数のマスタタイムサーバが複数のネットワーク上に存在する場合、timed は ネットワークを "slave" として選び、一方ではネットワーク上のサーバの存在を 確認するために定期的にネットワーク上のサーバをチェックします。

マシン群の同期をとるための 1 つの方法としては、NTP デーモンを用いること です。1 つのマシンの時刻を、NTP デーモンを用いて遠距離の標準時刻やラジオ 受信機の時刻に同期させ、そのマシンの timed に -F hostname オプションを記述し、信頼できるタイムサーバデーモンは自分のみであることを 通知します。

カーネルによってシステムコンソールに出力されるメッセージは、 割り込みが無視されたことを通知します。このことは、メッセージが出力されている 間はシステム時計が停止していることを示します。 多くのディスクやネットワークハードの障害を抱えていたり、その 結果として表示されるメッセージが出力されているマシンは、 正確な時刻を保持することは困難です。 それぞれのメッセージは、多くは出力されるごとに 10ms 程度の時刻遅延 を引き起こします。timed はこの結果を補正します。

返答に失敗したマシンに関してのシステムログに記録されているメッセージは、通常は 当該マシンがクラッシュしたり動作を停止したりしたことを示すことが多いです。 マシンの初期 時刻設定時の返答失敗に関する不具合は "マルチホームドマシン" に関連することが 多いです。 マルチホームドマシンとは、タイムサーバを複数のネットワークからから探し出し、 万が一の場合に他のネットワーク上のスレーブになろうとするマシンのことである。 もし 2 つ以上の時刻デーモンが同じ時計を更新しようとした場合に、一時的に 時間がおかしくなる可能性があります。 timed と他の時刻デーモン (NTP など) が同じマシン上で走行している場合には、 -F オプションを使用することが必要です。これは、 timed がローカルマシンの時計を更新しないようにするためです。

なお、timed で使用するネットワークプロトコルは、UDP/IP ブロードキャストに 基づいて実装されています。

他の詳細は、英語版のオンラインマニュアルを参照して下さい。

関連ファイル
/var/log/timed.log
    timed のトレースファイル
/var/log/timed.masterlog
    マスタ timed 用のトレースファイル

関連項目
date(1), adjtime(2), gettimeofday(2), icmp(4), timedc(8), TSP: The Time Synchronization Protocol for UNIX 4.3BSD, R. Gusella, S. Zatti.

歴史
timed デーモンは 4.3BSD から登場しました。