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) と通信し、timed 制御プログラムである timedc(8) と通信します。 マスタサーバが走行しているホストがクラッシュした場合、 スレーブマシンらは、 -M フラグ付きで動作しているスレーブの内から新たなマスタサーバを選びます。 -M や -F オプションを付加しないで動作している timed は、スレーブのままです。 -t フラグは、 timed が受信するメッセージを /var/log/timed.log へ記録するようにします。このトレース機能は、 timedc(8) を用いてオン/オフを変更できます。 -d フラグは、デーモンのデバッグのためのオプションです。 本オプションは、プログラムをバックグラウンド実行しないようにします。

通常、 timed は、接続されているネットワーク上のマスタタイムサーバをチェックしますが、 以下に記述のあるオプションを指定して動作を変更した場合にはこの限りでは ありません。 最初に発見したマスタタイムサーバに対し同期サービスを要求します。 -M オプションが有効な場合、 接続されているネットワークにてマスタサーバが存在しない時には、 同期サービスを他のマシンに提供します。 その場合、サーバはトップレベルマスタによって計算された時刻を取得し、 他のマシンに通知します。 -n フラグと共に当ホストが接続されたネットワーク名 ( networks(5) を参照)を指定すると、 ネットワークアドレスに関する当プログラムのデフォルト選択を無効にします。 -n フラグが指定されるごとに、ネットワーク名は正当なネットワーク名のリストに 追加されます。他のすべてのネットワークは無視されます。 -i フラグと共に当ホストが接続されたネットワーク名 ( networks(5) を参照)を指定すると、 ネットワークアドレスに関する当プログラムのデフォルト選択を無効にします。 -i フラグが指定されるごとに無視すべきネットワーク名のリストに 当該ネットワーク名が追加されます。 他のすべてのネットワークはデーモンが使用します。 -n と -i は、同時に使用できません。

timed は、接続されているネットワーク上のマスタタイムサーバをチェックします。しかし、 -n や -i オプションによってその動作が変更されている場合にはその限りではありません。 複数のマスタタイムサーバが複数のネットワーク上に存在する場合、デーモンは “スレーブ” になるためのネットワークを 1つ選び、 マスタサーバが見つからなくなった場合のために、 定期的に他のネットワークをチェックします。

マシン群の同期をとるための 1つの方法として、 NTP デーモンを用いてあるマシン の時刻を遠距離の標準時刻や電波受信機の時刻に同期させ、かつ、信頼できる マシンは自分自身だけであることを timed デーモンに -F hostname によって通知する、といったものがあります。

カーネルによるシステムコンソールへのメッセージ出力は、 割り込み禁止にて行われます。 このことは、メッセージが出力されている 間はシステム時計が停止していることを示します。 ディスクやネットワークハードウェアに多くの問題を抱え、 その結果としてメッセージが出力するマシンは、正確な時刻を保持出来ません。 それぞれのメッセージは、多くは出力されるごとに 10ms 程度の時刻遅延 を引き起こします。タイムデーモンはこの結果を補正します。

マシンが返答しないというシステムログメッセージは、通常、 当該マシンがクラッシュまたは動作停止したことを示します。 マシンの初期時刻設定時の返答失敗に関する不平は、大概の場合、 “マルチホーム” のマシンが複数のネットワークでタイムマスタを探した後、 別のネットワークにおいてスレーブになることを選択したことを示します。

警告
もし timed や NTP のような 2 つ以上の時刻デーモンが同じ時計を更新しようとした場合に、 一時的に時刻がおかしくなる可能性があります。 timed と他のタイムデーモンが同じマシン上で走行している場合には、 -F オプションを使用していることを確認して下さい。これは、 timed がローカルマシンの時計を更新しないようにするためです。

なお、このデーモンが使用するネットワークプロトコルは、 UDP/IP ブロードキャストに基づいています。 ブロードキャスト範囲内で TSP プロトコルを用いるすべてのマシンは 協調しあわなければなりません。 ブロードキャストパケットが届くマシン間では、 -F フラグを使用する管理ドメインを 2 つ以上持つことはできません。 このルールに従わないと、通常、"信用できない" マシンに関する不平が システムログに書かれます。

関連ファイル
/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 から登場しました。