機械翻訳について

PTPサービスの構成

システムでPTPサービスを構成するには:
  1. linuxptpパッケージをインストールします。
    sudo dnf install linuxptp
  2. /etc/sysconfig/ptp4lを編集して、ptp4lデーモン用の起動オプションを定義します。

    グランドマスター・クロックとセカンダリ・クロックには、1つのインタフェースのみを定義する必要があります。

    たとえば、セカンダリ・クロックでインタフェースeno1でハードウェア・タイム・スタンプを使用するには:

    OPTIONS="-f /etc/ptp4l.conf -i eno1 -s"

    ハードウェア・タイム・スタンプのかわりにソフトウェア・タイム・スタンプを使用するには、-Sオプションを指定します。

    OPTIONS="-f /etc/ptp4l.conf -i eno1 -S -s"

    ノート:

    -sオプションは、クロックがセカンダリ(clientOnlyモード)としてのみ動作することを指定します。 グランドマスター・クロックや境界クロックにはこのオプションを指定しないでください。

    グランドマスター・クロックでは、次のように-sオプションを省略します。

    OPTIONS="-f /etc/ptp4l.conf -i eno1"

    境界クロックでは、次のように2つ以上のインタフェースを定義する必要があります。

    OPTIONS="-f /etc/ptp4l.conf -i eno1 -i eno2"

    次のような場合は、/etc/ptp4l.confファイルを編集してptp4lをさらにカスタマイズする必要があります。

    • グランドマスター・クロックの場合は、priority1パラメータの値を0から127までの値に設定します(値が小さいほど、BMCアルゴリズムでグランドマスター・クロックが選択される際の優先度が高くなります)。 1つのグランドマスター・クロックを使用する構成で推奨される値は127です。

    • summary_intervalの値を0ではなく整数値Nに設定した場合は、ptp4lで、クロック統計のサマリーが毎秒(20 = 1)ではなく2N秒ごとに/var/log/messagesに書き込まれます。 たとえば、値10は210または1024秒間隔に相当します。

    • logging_levelパラメータは、ptp4lが記録するログ情報の量を制御します。 logging_levelのデフォルト値は6で、これはLOG_INFOに相当します。 ロギングを無効にするには、logging_levelの値を0に設定します。 または、-qオプションをptp4lに指定することもできます。

    ptp4l(8)マニュアル・ページを参照してください。

  3. 適切なゾーンのUDPポート319および320へのPTPイベントおよび一般メッセージによるアクセスを受け入れるようにシステム・ファイアウォールを構成します。

    たとえば:

    sudo firewall-cmd --zone=zone --add-port=319/udp --add-port=320/udp
    sudo firewall-cmd --permanent --zone=zone --add-port=319/udp --add-port=320/udp
  4. ptp4lサービスを開始し、システムの再起動後に開始するように構成します。
    sudo systemctl start ptp4l
    sudo systemctl enable ptp4l
  5. ハードウェア・タイム・スタンプを使用するように、クロック・システムでphc2sysを構成します。
    1. /etc/sysconfig/phc2sysファイルを編集して、phc2sysデーモン用の起動オプションを定義します。

      境界クロックまたはセカンダリ・クロックでは、セカンダリ・ネットワーク・インタフェースに関連付けられたPTPハードウェア・クロックとシステム・クロックを同期します。次に例を示します:

      OPTIONS="-c CLOCK_REALTIME -s eno1 -w"

      ノート:

      境界クロック上のセカンダリ・ネットワーク・インタフェースは、境界クロックでグランドマスター・クロックとの通信に使用されるネットワーク・インタフェースです。

      -wオプションは、システム・クロックを同期する前に、ptp4lがPTPハードウェア・クロックを同期するまでphc2sysが待機することを指定します。

      GPS、CDMA、NTP、または無線時間信号などの参照時間ソースからシステム時間を導出するグランド・マスター・クロックでは、ネットワーク・インタフェースのPTPハードウェア・クロックをシステム・クロックから同期します。次に例を示します:

      OPTIONS="-c eno1 -s CLOCK_REALTIME -w"

      phc2sys(8)マニュアル・ページを参照してください。

    2. phc2sysサービスを開始し、システムの再起動後に開始するように構成します。
      sudo systemctl start phc2sys
      sudo systemctl enable phc2sys

ptp4l操作のステータスを問い合せるには、pmcコマンドを使用できます。 次の例では、中間の境界クロックを介さずにグランドマスター・クロック・システムに直接接続しているスレーブ・クロック・システムでpmcを実行した結果を示します。

sudo pmc -u -b 0 'GET TIME_STATUS_NP'
sending: GET TIME_STATUS_NP
	080027.fffe.7f327b-0 seq 0 RESPONSE MANAGEMENT TIME_STATUS_NP 
		master_offset              -98434
		ingress_time               1412169090025854874
		cumulativeScaledRateOffset +1.000000000
		scaledLastGmPhaseChange    0
		gmTimeBaseIndicator        0
		lastGmPhaseChange          0x0000'0000000000000000.0000
		gmPresent                  true
		gmIdentity                 080027.fffe.d9e453
sudo pmc -u -b 0 'GET CURRENT_DATA_SET'
sending: GET CURRENT_DATA_SET
	080027.fffe.7f327b-0 seq 0 RESPONSE MANAGEMENT CURRENT_DATA_SET 
		stepsRemoved     1
		offsetFromMaster  42787.0
		meanPathDelay    289207.0

この出力例には、次の有用な情報が含まれています。

gmIdentity

グランドマスター・クロックの一意のID。ネットワーク・インタフェースのMACアドレスに基づきます。

gmPresent

外部グランドマスター・クロックの使用の可否。 グランドマスター・クロック自身に対しては、この値はfalseと表示されます。

meanPathDelay

同期メッセージの推定遅延時間(ナノ秒単位)。

offsetFromMaster

グランドマスター・クロックとの相対時間差の最新測定値(ナノ秒単位)。

stepsRemoved

このシステムとグランドマスター・クロック間のネットワーク階層数。

詳細は、phc2sys(8)pmc(8)およびptp4l(8)の各マニュアル・ページと、IEEE 1588を参照してください。