Go to main content
Oracle Solaris 11.3 でのクロック同期と Web キャッシュを使用したシステムパフォーマンスの拡張

印刷ビューの終了

更新: 2016 年 11 月
 
 

クロック同期の概要

クロック同期のソフトウェアはネットワーク内の複数のシステム間で時間を同期します。Oracle Solaris は、Network Time Protocol (NTP) と Precision Time Protocol (PTP) を使用してシステムクロックを同期します。また、システムクロックを同期する cron ユーティリティーの使用中に rdate コマンドを使用することもできます。

同じシステム上で NTP および PTP を同時に実行することはできません。また、1 つのシステムに NTP または PTP サービスの 1 つのインスタンスのみを構成する必要があります。


注 -  NTP の実行中に rdatentpdate、または date コマンドを使用して、日付と時間を設定しないでください。ただし、–q オプションや –d オプションを指定した ntpdate コマンドは、時間を設定しないため実行できます。

Network Time Protocol の概要

NTP は、デラウェア大学が開発したオープンソースソフトウェアで、Oracle Solaris ソフトウェアに組み込まれています。ntpd デーモンは、システムの時間を設定し、保守します。ntpd デーモンは、RFC 5905 で定義されている version 4 標準の完全な実装です。svc:/network/ntp:default サービスを使用して ntpd デーモンを起動できます。

ntpd デーモンは、システムの起動時に /etc/inet/ntp.conf ファイルを読み込みます。構成オプションの詳細は、 ntp.conf (4) のマニュアルページを参照してください。サンプル ntp.conf ファイルは、システム上の /etc/inet/ntp.server および /etc/inet/ntp.client で使用できます。

    ネットワーク内で NTP を使用する場合、次の点に注意してください。

  • ntpd デーモンは最小限のシステムリソースを使用します。

  • NTP クライアントはブート時に、自動的に NTP サーバーと同期を取ります。NTP クライアントは同期の取れていない状態になった場合、タイムサーバーと通信したときに再同期を取ります。

  • 仮想化 SPARC システムで NTP サービスを使用する場合、大域ゾーン、論理ドメイン、制御ドメイン、およびカーネルゾーンで NTP サービスを実行する必要があります。

  • 大域ゾーンと非大域ゾーンの両方で同時に NTP サービスを実行することはできません。

  • デフォルトでは、非大域ゾーンに十分な特権がないため、非大域ゾーンで NTP サービスを実行できません。ただし、NTP サービスが大域ゾーンで実行されていない場合は、NTP サービスを実行するために必要な特権を持つように非大域ゾーンを構成できます。

  • 2 台の NTP サーバーを構成しないでください。クロックホッピングを引き起こす可能性があります。

  • 1 台の NTP サーバーだけを使用して、システム時間を設定し、正しく維持する必要があります。ただし、システム時間を正確に設定するために、4 台以上の NTP サーバーを使用できます。

  • 必要な場合のみローカル参照クロックを使用します。

NTP サービスに関する追加ドキュメントは、Oracle Solaris 11 リリースが稼働しているシステムの /usr/share/doc/ntp/index.html にあります。

NTP の管理手順の詳細は、Network Time Protocol の管理を参照してください。Oracle Solaris で OpenStack を構成するときに NTP をインストールする手順については、Oracle Solaris 11.3 での OpenStack のインストールと構成 の NTP クライアントを構成する方法を参照してください。

NTP に必要なファイル

NTP サービスには、次の表に示されているファイルが必要です。

表 1  必要な NTP ファイル
ファイル名
機能
/etc/inet/ntp.client
NTP クライアントおよびサーバー用のサンプル構成ファイル。
/etc/inet/ntp.conf
NTP 用のすべての構成オプションが記述されているファイル。
/etc/inet/ntp.keys
NTP 認証キーを含むファイル。

注 -  これはオプションファイルで、NTP パッケージでは提供されません。

/etc/inet/ntp.leap
うるう秒構成ファイル。これはオプションファイルで、NTP パッケージでは提供されません。

注 -  これはオプションファイルで、NTP パッケージでは提供されません。

/etc/inet/ntp.server
一部の NTP サーバーに対する追加の構成命令が含まれています。
/usr/lib/inet/ntpd
NTP デーモン。詳細は、ntpd(1m) のマニュアルページを参照してください。
/usr/sbin/ntpdate
NTP に基づいてローカルな日付と時間を設定するユーティリティー。詳細は、ntpdate(1m) のマニュアルページを参照してください。
/usr/sbin/ntpdc
ntpd デーモン用の NTP 照会プログラム。詳細は、ntpdc(1m) のマニュアルページを参照してください。
/usr/sbin/ntpq
NTP 照会プログラム。詳細は、ntpq(1m) のマニュアルページを参照してください。
/usr/sbin/ntptime
カーネル時間の変数を表示または設定するプログラム。詳細は、ntptime(1m) のマニュアルページを参照してください。
/usr/sbin/ntptrace
マスターの NTP サーバーまで NTP ホストを追跡するプログラム。詳細は、ntptrace(1m) のマニュアルページを参照してください。
/usr/sbin/ntp-keygen
NTP の公開鍵と非公開鍵の生成に使用されるプログラム。詳細は、ntp-keygen(1m) のマニュアルページを参照してください。
/var/ntp/ntpstats
NTP の統計情報を保持するディレクトリ。
/var/ntp/ntp.drift
NTP サーバー上で初期周波数オフセットを設定するファイル。

Precision Time Protocol の概要

PTP ソフトウェアは、ローカルエリアネットワーク (LAN) などのブロードキャストドメイン内の複数のシステム間でシステム時間を同期します。Oracle Solaris の PTP ソフトウェアは、https://github.com/ptpd/ptpdhttp://ptpd.sourceforge.net で入手できるパブリックドメインソフトウェアに基づく ptpd デーモンとして実装されます。IEEE 標準 1588-2008 で定義されている PTP Version 2 を実装します。

ptpd デーモンは、互換性のあるネットワークインタフェースカード (NIC) とそのドライバによって提供されるハードウェアアシスタンス機能を使用すると、PTP パケットにタイムスタンプを付与できます。

svc:/network/ptp:default サービスを使用すると ptpd デーモンを起動できます。PTP スレーブまたは PTP マスターとしてシステムを構成できます。

  • PTP スレーブ - ptpd デーモンをスレーブモードで実行します。PTP スレーブは、システムクロックをサブネット内のマスタークロックと同期します。

  • PTP マスター - ptpd デーモンをマスターモードで実行します。スレーブモードのその他のシステムは、自身のクロックを PTP マスターに同期できます。

ptpd デーモンの状態は、slavemaster、または initializing のいずれかです。

デフォルトでは、サービス管理機能が PTP サービスをスレーブとして起動し、作動中の最初のインタフェースにその PTP サービスをバインドします。サービス管理機能の詳細は、smf(5) のマニュアルページを参照してください。

ptpd デーモンは、/var/log/ptp.log ファイルを使用して、次の情報を記録します。

  • PTP ログエントリのタイムスタンプ

  • ptpd デーモンの状態

  • クロック ID

タスクの詳細は、Precision Time Protocol の管理を参照してください。