ESXi/ESX ホスト上で NTP をトラブルシューティングするには次の方法を使用します。
ping を使用して接続を検証する
ping コマンドを使用して ESXi/ESX ホストと NTP サーバ間のネットワーク接続を検証します。 詳細については、「
ping コマンドによるネットワーク接続のテスト (2078545)」を参照してください。
ntpq を使用して ntpd サービスをクエリする
NTP クエリ ユーティリティ プログラム
ntpq
を使用して ESXi/ESX ホストの
ntpd
サービスをリモートでクエリします。
Linux クライアントには一般に
ntpq
ユーティリティがインストールされており、これは ESX サービス コンソールおよび vSphere Management Assistant でも使用することができます。 特定の Linux デストリビューションでの
ntpq
ユーティリティ プログラムのインストールと使用の詳細については、該当する Linux ディストリビューションのドキュメントを参照してください。
ESXi 5.x ホストの場合、
ntpq
ユーティリティはデフォルトで含まれており、インストールの必要はありません。 ESXi 5.x ホストからローカルに実行できます。
ntpq
ユーティリティは、ESXi 3.x/4.x では使用できません。 ESXi ホストの NTP サービス
ntpd
をクエリするには、リモート Linux クライアントに
ntpq
をインストールし、Linux クライアントから ESXi ホストの
ntpd
サービスをクエリします。
注:
- ESXi/ESX 4.0 では、出荷時のリモート クエリ権限はデフォルトで制限されています。 NTP デーモンのリモート クエリを有効にする方法については、「Enabling remote query of NTP service on ESXi/ESX 4.0 (1036357)」を参照してください。
- 特定のバージョンの ESXi 5.x には NTP サーバの同期について既知の問題があります。 これらの問題は ESXi 5.x のパッチ リリースで解決されました。 パッチを適用し、ホストが正しいバージョンであることを確認してください。 詳細については、「ESXi ホストで時刻が NTP サーバと同期されない (2100620)」を参照してください。
- ESXi 5.5 および 5.1 の場合、
ntpq
はすでにインストールされており、Linux クライアントは不要です。 SSH シェルまたはローカルのコンソール セッションでこれらのコマンドを入力します。 - Linux クライアントに NTP クライアント ツールがインストールされていることを確認します。 詳細については、Linux ディストリビューションのドキュメントを参照するか、vSphere Management Assistant のインスタンスをデプロイします。
NTP クエリ ユーティリティ
ntpq
を使用してリモートで ESX ホストの NTP サービスをクエリ (
ntpd
) し、アップストリーム NTP サーバと正常に同期していることを確認するには次の手順を実行します。
- Linux クライアントを使用している場合は、
ntpq
がインストールされているクライアントでコンソール セッションを開きます。 - 次のコマンドを実行します。
ESXi 5.5 および 5.1 上で SSH シェルまたはローカル コンソール セッションを使用するには次の手順を実行します。
"watch ntpq -p localhost_or_127.0.0.1"
ESXi/ESX 4.x で Linux クライアントを使用するには次の手順を実行します。
watch "ntpq -p ESX_host_IP_or_domain_name"
- 出力を 30 秒間監視し、キーボードの Ctrl+C を押して
watch
コマンドを停止します。
watch
コマンドからは次のような出力が表示されます。
2 秒間隔: ntpq -p ESX_host_IP_or_domain_name
注: ESXi 5.5 および 5.1 では、表示される出力は localhost
または loopback
(127.0.0.1
) です。
remote refid st t when poll reach delay offset jitter
==============================================================================
*10.11.12.130 1.0.0.0 1 u 46 64 377 43.76 5.58 40000
注: メッセージ「No association ID's returned
」が表示された場合、ESXi/ESX ホストは構成された NTP サーバに到達できていません。 メッセージ 「***Request timed out
」 が表示された場合、ntpq
コマンドが ESXi/ESX ホストのデーモンから応答を受信していません。 以下の「ネットワーク トラフィックのキャプチャ」セクションに進みます。
ntpq
によって返されるフィールドには以下の意味があります。
remote | 構成されたアップストリームの NTP サーバのホスト名または IP アドレス。 |
refid | NTP サーバの同期先である時刻ストリームの ID。 「.INIT. 」の refid が表示された場合、ESXi/ESX ホストは、構成された NTP サーバから応答を受信したことがありません。 |
st | 層は、アップストリームの NTP サーバの階層を表す値です。 値が大きいほど、NTP サーバが元の時刻ソースから離れていることを示します。 値は相対的で、NTP サーバごとに手動で設定できます。 |
t | NTP 通信に使用するパケット交換のタイプ。 通常、「u 」はユニキャスト UDP を示します。 |
when | 構成されたアップストリームの NTP サーバに最後にポーリングを試みてから経過した秒数。 |
poll | 構成された NTP サーバを ESXi/ESX ホストがポーリングする間隔。 |
reach | 8 進数の 8 ビット シフト レジスタ。各ビットは、構成された NTP サーバへの接続が成功 (1 ) か、失敗 (0 ) かを表します。 値 377 は 2 進数の 11111111 で、過去 8 回のポーリング間隔ですべてのクエリが成功したことを示します。 |
delay | 構成された NTP サーバと ESXi/ESX ホスト間の通信の往復遅延時間(ミリ秒)。 |
offset | 構成された NTP サーバと ESXi/ESX ホスト間の時間オフセット (ミリ秒)。 値は、0 に近いほど良好になります。 |
jitter | 構成された NTP サーバによる時間のクロック パルス間で観察された時間の変動。 値は、0 に近いほど良好になります。 |
詳細については、「
NTP.org Troubleshooting documentation」、および「
NTP Query Program documentation」を参照してください。
このリンクは 2013 年 10 月 3 日時点のものです。 リンクが切れているのに気づいた場合はご連絡ください。VMware の担当者がリンクをアップデートします。
ntpd ログ エントリを確認する
/var/log/messages
ログ ファイル内の
ntpd
ログ エントリを確認して、NTP デーモンがリモート NTP サーバと同期しているかどうかを判別します。
- ESXi/ESX ホストのコンソールを開きます。 詳細については、「セキュア シェル (SSH) を使用して ESX ホストへ接続できない (2078491)」または「ESXi 4.1 および ESXi 5.x での Tech Support モードの使用 (2053295)」を参照してください。
- 次のコマンドを実行して
/var/log/messages
ログ ファイルを確認します。
注: ESXi 5.0 では、NTP サービスは /var/log/syslog.log
ファイルに記録します。
less /var/log/messages
注:
- 次のようなメッセージは、
ntpd
が正常にリモート NTP サーバに接続していることを示します。
ntpd[263140]: synchronized to <ntp.server.ip.address>, stratum <X>
- 次のようなメッセージは、ESXi/ESX ホストとリモート NTP サーバ間の時間オフセットが自動修正するには大きすぎることを示します。 ESXi/ESX ホストの時間を手動で設定し、再度 NTP デーモンを起動します。
ntpd[263140]: time correction of <NNNN> seconds exceeds sanity limit (1000); set clock manually to the correct UTC time.
さらに、ESXi 5.x の hostd.log
ファイルには次のようなメッセージが表示されます。
[info 'ha-eventmgr'] Event 91 : NTP daemon stopped. Time correction 1206 > 1000 seconds. Manually set the time and restart ntpd.
- 次のようなメッセージは、ESXi/ESX ホストとリモート NTP サーバ間の時間エラーが、ステップのしきい値を超えていることを示します。 NTP デーモンが、NTP サーバと一致するように ESXi/ESX ホストの時刻を大幅に修正しました。 アクションは必要ありません。
ntpd[263140]: time reset "+/- <xxx.yyyyyy s>"
- 次のようなメッセージは、ESXi/ESX ホストとリモート NTP サーバ間の時間エラーが、ステップのしきい値を超えていることを示します。 NTP デーモンが、NTP サーバと一致するように ESXi/ESX ホストの時刻を徐々に修正しました。 アクションは必要ありません。
ntpd[263140]: time slew "+/- <xxx.yyyyyy s>"
ESXi/ESX ホストと NTP サーバ間を流れるネットワーク トラフィックを取得して、パケットが送受信されているかどうか判定します。
ESXi の場合:
- ESXi ホストのコンソールを開きます。 詳細については、「ESXi 4.1 および ESXi 5.x での Tech Support モードの使用 (2053295)」を参照してください。
- 次のコマンドを使用して、使用可能な VMkernel ネットワーク インターフェイスのリストを取得します。
esxcfg-vmknic -l
- 次のコマンドを使用して、NTP サーバとの間を流れる ポート 123 の NTP ネットワーク トラフィックを取得して、
tcpdump-uw -c 5 -n -i network_interface host ntp_server_ip_address and port 123
例: 10.11.12.13
で VMkernel インターフェイス vmk0
と NTP サーバを使用するには次の手順を実行します。
tcpdump-uw -c 5 -n -i vmk0 host 10.11.12.13 and port 123
- 出力を 30 秒間監視します。 次のようなメッセージは NTP の同期を示します。
21:04:45.446566 172.16.24.16.ntp > 192.168.38.127.ntp: v4 client strat 2 poll 10 prec -16 (DF) [tos 0x10]
- キーボードで Ctrl+C を押して
tcpdump-uw
を停止します。
ESX の場合:
- ESX ホストのコンソールを開きます。 詳細については、「セキュア シェル (SSH) を使用して ESX ホストへ接続できない (2078491)」を参照してください。
- 次のコマンドを使用して、使用可能なサービス コンソール ネットワーク インターフェイスのリストを取得します。
esxcfg-vswif -l
- 次のコマンドを使用して、NTP サーバとの間を流れる ポート 123 の NTP ネットワーク トラフィックを取得して、
tcpdump -c 5 -n -i network_interface host ntp_server_ip_address and port 123
例: 10.11.12.13
でサービス コンソール インターフェイス vswif0
と NTP サーバを使用するには次の手順を実行します。
tcpdump -c 5 -n -i vswif0 host 10.11.12.13 and port 123
- 出力を 30 秒間監視します。 次のようなメッセージは NTP の同期を示します。
21:04:45.446566 172.16.24.16.ntp > 192.168.38.127.ntp: v4 client strat 2 poll 10 prec -16 (DF) [tos 0x10]
注: NTP トラフィックへの応答が ESX ホストに返されない場合、外部ファイアウォールがポート 123 で UDP トラフィックをブロックしている可能性があります。
- キーボードで Ctrl+C を押して
tcpdump
を停止します。
NTP から発生している遅延のログ ファイルを作成します。 これによって、一日の終わりに発生したオフセットを調べることができます。
ログとネットワーク トラフィックを調べる
ESXi/ESX ホストと NTP サーバ間でネットワーク通信が正常に確立されたら、ログとネットワーク トラフィックを調べて、NTP 同期が行われ、差異が縮小していることを確認します。
注: ESXi/ESX ホストでパケットが正しく送受信された後、時刻が同期されるまで 1 ~ 15 分ほどかかります。