20.10. timemaster を使用した PTP または NTP 時間への同期
複数の PTP
ドメインがネットワーク上で利用できるか、NTP
へのフォールバックが必要な場合、timemaster プログラムを使用して、利用可能なすべてのタイムソースにシステムクロックを同期できます。PTP
時間は、共有メモリードライバー (chronyd
または ntpd
への SHM のリファレンスクロック) から phc2sys および ptp4l で提供されます (システム上で設定されている NTP
デーモンにより異なります)。NTP
デーモンは次に、すべてのタイムソース、PTP
および NTP
の両方を比較でき、システムクロックを同期させるのに最善のソースを使用できます。
開始時に、timemaster は NTP
および PTP
タイムソースを指定する設定ファイルを読み取り、独自のクロックを持つか、PTP
ハードウェアクロック (PHC) を共有するネットワークインターフェイスを確認し、ptp4l および chronyd
または ntpd
の設定ファイルを生成し、必要に応じて ptp4l、phc2sys、および chronyd
または ntpd
プロセスを起動します。終了時には生成された設定ファイルは削除されます。chronyd
、ntpd
、ptp4l の設定ファイルは /var/run/timemaster/
に書き込まれます。
20.10.1. timemaster をサービスとして起動
timemaster をサービスとして起動するには、root
で以下のコマンドを発行します。
~]# systemctl start timemaster
これにより、 /etc/timemaster.conf
のオプションが読み取られます。Red Hat Enterprise Linux 7 でのシステムサービスの管理の詳細については、10章systemd によるサービス管理 を参照してください。
20.10.2. timemaster 設定ファイルの概要
Red Hat Enterprise Linux のデフォルトの /etc/timemaster.conf
ファイルには、デフォルトオプションを含む数多くのセクションがあります。このセクションの見出しは括弧で囲まれます。
デフォルト設定を表示するには、以下のコマンドを実行します。
~]$ less /etc/timemaster.conf # Configuration file for timemaster #[ntp_server ntp-server.local] #minpoll 4 #maxpoll 4 #[ptp_domain 0] #interfaces eth0 [timemaster] ntp_program chronyd [chrony.conf] include /etc/chrony.conf [ntp.conf] includefile /etc/ntp.conf [ptp4l.conf] [chronyd] path /usr/sbin/chronyd options -u chrony [ntpd] path /usr/sbin/ntpd options -u ntp:ntp -g [phc2sys] path /usr/sbin/phc2sys [ptp4l] path /usr/sbin/ptp4l
次の名前のセクションに注意してください。
[ntp_server address]
これは、NTP
サーバーセクションの例 ntp-server.local は、ローカル LAN 上の NTP
サーバーのホスト名の例です。セクション名の一部としてホスト名または IP
アドレスを使用し、必要に応じてセクションを追加してください。この例の短いポーリング値はパブリックサーバーに適していません。適切な minpoll
値および maxpoll
値の説明は、19章ntpd を使用した NTP 設定 を参照してください。
次の名前のセクションに注意してください。
[ptp_domain number]
PTP ドメインは、互いに同期する 1 つ以上の PTP
クロックのグループです。それらは別のドメインでクロックに同期される場合もありますが、同期されない場合もあります。同じドメイン番号で設定されているクロックがドメインを設定します。これには、PTP
グランドマスタークロックが含まれます。各 PTP domain セクションのドメイン番号は、ネットワーク上に設定される PTP
ドメインのいずれかに対応している必要があります。
ptp4l のインスタンスは、独自の PTP
クロックを持つすべてのインスタンスで起動し、ハードウェアのタイムスタンプは自動的に有効にされます。ハードウェアのタイムスタンプをサポートするインターフェイスには PTP
クロック (PHC) が割り当てられます。同じ PHC を共有するインターフェイスグループごと、ソフトウェアのタイムスタンプのみに対応した各インターフェイスに対して、別のptp4l インスタンスが開始されます。すべての ptp4l インスタンスは、スレーブとして実行するように設定されています。ハードウェアのタイムスタンプが設定されたインターフェイスが 1 つ以上の PTP
ドメインに指定される場合、作成される最初の ptp4l インスタンスのみで、ハードウェアのタイムスタンプが有効にされます。
次の名前のセクションに注意してください。
[timemaster]
デフォルトの timemaster 設定には、アクセス制限および認証キーの設定を組み込むためにシステムの ntpd
および chrony 設定 (/etc/ntp.conf
または /etc/chronyd.conf
) が含まれます。つまり、そこに指定されるすべての NTP
サーバーが timemaster で使用されることを意味しています。
セクションの見出しは以下のようになります。
-
[ntp_server ntp-server.local]
: このサーバーのポーリング間隔を指定します。必要に応じて追加のセクションを作成します。セクション見出しのホスト名またはIP
アドレスを含めます。 -
[ptp_domain 0]
: このドメインにPTP
クロックを設定するインターフェイスを指定します。必要に応じて、適切なドメイン番号で追加のセクションを作成します。 -
[timemaster]
:NTP
デーモンが使用されるように指定します。使用できる値はchronyd
およびntpd
です。 -
[chrony.conf]
:chronyd
に生成される設定ファイルにコピーされる追加設定を指定します。 -
[ntp.conf]
:ntpd
に生成される設定ファイルにコピーされる追加設定を指定します。 -
[ptp4l.conf]
: ptp4l 用に生成された設定ファイルにコピーされるオプションを指定します。 -
[chronyd]
:chronyd
に対してコマンドラインで渡される追加設定を指定します。 -
[ntpd]
:ntpd
に対してコマンドラインで渡される追加設定を指定します。 -
[phc2sys]
: phc2sys に対してコマンドラインで渡される追加設定を指定します。 -
[ptp4l]
: ptp4l のすべてのインスタンスに対してコマンドラインで渡される追加設定を指定します。
セクション見出しおよびその内容の詳細は、timemaster(8)
man ページで説明されています。
20.10.3. timemaster オプションの設定
timemaster 設定ファイルの編集
デフォルト設定を変更するには、
root
で編集するために/etc/timemaster.conf
ファイルを開きます。~]# vi /etc/timemaster.conf
-
timemaster を使用して制御する必要のあるそれぞれの
NTP
サーバーについて、[ntp_server address]
セクションを作成します。この例の短いポーリング値はパブリックサーバーに適していません。適切なminpoll
とmaxpoll
値の説明は、19章ntpd を使用した NTP 設定 を参照してください。 ドメインで使用するインターフェイスを追加するには、
#[ptp_domain 0]
セクションを編集してインターフェイスを追加します。必要に応じて追加のドメインを作成します。以下に例を示します。[ptp_domain 0] interfaces eth0 [ptp_domain 1] interfaces eth1
-
このシステムの
NTP
デーモンとしてntpd
を使用することが必要な場合、[timemaster]
セクションのデフォルトエントリーを、chronyd
からntpd
に変更します。ntpd と chronyd の違いについての情報は、18章chrony スイートを使用した NTP 設定 を参照してください。 -
このシステムで
chronyd
をNTP
サーバーとして使用する場合は、[chrony.conf]
のデフォルトのinclude /etc/chrony.conf
エントリーの下に追加オプションを含めます。/etc/chrony.conf
へのパスが変更された場合は、デフォルトのinclude
エントリーを編集します。 -
このシステムで
ntpd
をNTP
サーバーとして使用する場合は、[ntp.conf]
のデフォルトのinclude /etc/ntp.conf
エントリーの下に追加オプションを含めます。/etc/ntp.conf
へのパスが変更された場合は、デフォルトのinclude
エントリーを編集します。 -
[ptp4l.conf]
セクションに、ptp4l に生成される設定ファイルにコピーされるオプションを追加します。この章では、共通オプションについて説明します。詳細は、ptp4l(8)
man ページを参照してください。 -
[chronyd]
セクションに、timemaster で呼び出される場合にchronyd
に渡されるコマンドラインのオプションを追加します。chronyd
の使用についての情報は、18章chrony スイートを使用した NTP 設定 を参照してください。 -
[ntpd]
セクションに、timemaster で呼び出される場合にntpd
に渡されるコマンドラインのオプションを追加します。ntpd
の使用についての情報は、19章ntpd を使用した NTP 設定 を参照してください。 -
[phc2sys]
セクションで、timemaster により呼び出される場合に phc2sys に渡すコマンドラインオプションを追加します。この章では、共通オプションについて説明します。詳細は、phy2sys(8)
man ページを参照してください。 -
[ptp4l]
セクションに、timemaster で呼び出される場合に ptp4l に渡されるコマンドラインオプションを追加します。この章では、共通オプションについて説明します。詳細は、ptp4l(8)
man ページを参照してください。 設定ファイルを保存し、timemaster を再起動するには、
root
で以下のコマンドを実行します。~]# systemctl restart timemaster