このドキュメントで説明するソフトウェアは、Extended SupportまたはSustaining Supportのいずれかにあります。 詳細は、https://www.oracle.com/us/support/library/enterprise-linux-support-policies-069172.pdfを参照してください。
Oracleでは、このドキュメントに記載されているソフトウェアをできるだけ早くアップグレードすることをお薦めします。
システムでPTPサービスを構成するには:
linuxptp
パッケージをインストールします。#
yum install linuxptp
/etc/sysconfig/ptp4l
を編集して、ptp4l
デーモンの起動オプションを定義します。グランドマスター・クロックとスレーブ・クロックには1つのインタフェースのみを定義する必要があります。
たとえば、スレーブ・クロックのインタフェース
em1
でハードウェア・タイム・スタンプを使用する場合は次のようにします。OPTIONS="-f /etc/ptp4l.conf -i em1 -s"
ハードウェア・タイム・スタンプのかわりにソフトウェア・タイム・スタンプを使用するには、-Sオプションを指定します。
OPTIONS="-f /etc/ptp4l.conf -i em1 -S -s"
ノート-sオプションは、クロックがスレーブとしてのみ動作するように指定します(
slaveOnly
モード)。 このオプションをグランドマスター・クロックや境界クロックには指定しないでください。グランドマスター・クロックでは、次のように-sオプションを省略します。
OPTIONS="-f /etc/ptp4l.conf -i em1"
境界クロックでは、次のように2つ以上のインタフェースを定義する必要があります。
OPTIONS="-f /etc/ptp4l.conf -i em1 -i em2"
次のような場合は、ファイル
/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)
マニュアル・ページを参照してください。次のようにシステム・ファイアウォールを構成し、PTPイベント・メッセージと汎用メッセージにUDPポート319および320へのアクセスを許可します。
#
iptables -I INPUT -p udp -m udp --dport 319 -j ACCEPT
#iptables -I INPUT -p udp -m udp --dport 320 -j ACCEPT
#service iptables save
ptp4l
サービスを開始し、システムの再起動後に開始するように構成します。#
service ptp4l start
#chkconfig ptp4l on
ハードウェア・タイム・スタンプを使用するように、クロック・システムで
phc2sys
を構成します。/etc/sysconfig/phc2sys
を編集して、phc2sys
デーモンの起動オプションを定義します。次のように、境界クロックまたはスレーブ・クロック上で、スレーブ・ネットワーク・インタフェースに関連付けられているPTPハードウェア・クロックに、システム・クロックを同期します。
OPTIONS="-c CLOCK_REALTIME -s em1 -w"
ノート境界クロック上のスレーブ・ネットワーク・インタフェースは、境界クロックがグランドマスター・クロックとの通信で使用するインタフェースです。
-wオプションは、
ptp4l
がPTPハードウェア・クロックを同期するまで待ってから、phc2sys
がシステム・クロックを同期するように指定します。次のように、システム時間を参照時間ソース(GPS、CDMA、NTP、ラジオ時報信号など)から取得するグランドマスター・クロック上で、ネットワーク・インタフェースのPTPハードウェア・クロックをシステム・クロックから同期します。
OPTIONS="-c em1 -s CLOCK_REALTIME -w"
詳細は、
phc2sys(8)
マニュアル・ページを参照してください。phc2sys
サービスを開始し、システムの再起動後に開始するように構成します。#
service phc2sys start
#chkconfig phc2sys on
ptp4l
操作のステータスを問い合せるには、pmcコマンドを使用できます。 次の例は、中間の境界クロックを介さずにグランドマスター・クロック・システムに直接接続しているスレーブ・クロック・システム上でpmcを実行した結果を示しています。
#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 #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)
の各マニュアル・ページ、http://www.zhaw.ch/en/engineering/institutes-centres/ines/downloads/documents.htmlおよびIEEE 1588を参照してください。