vmkping コマンドを使用した VMkernel ネットワーク接続のテスト
search cancel

vmkping コマンドを使用した VMkernel ネットワーク接続のテスト

book

Article ID: 345000

calendar_today

Updated On:

Products

VMware vCenter Server VMware vSphere ESXi

Issue/Introduction

トラブルシューティングのために、使用環境で ESX ホスト間の VMkernel ネットワーク接続のテストが必要となる場合があります。

この記事では、ESX ホスト間の vmkping テストを実行する手順について説明します。

Symptoms:
免責事項:これは英文の記事 「Testing VMkernel network connectivity with the vmkping command (1003728)」の日本語訳です。記事はベストエフォートで翻訳を進めているため、ローカライズ化コンテンツは最新情報ではない可能性があります。最新情報は英語版の記事で参照してください。

Resolution

vmkping コマンドは、ローカルの VMkernel ポートからの ping をソースとしています。

ESX Server ホストのコンソールから vmkping テストを開始するには:
 

  1. SSH セッションを使用して ESX/ESXi ホストに接続します。詳細については「Using ESXi Shell in ESXi 5.x, 6.x and 7.x (2004746)」を参照してください。
     
  2. コマンド シェルで、次のコマンドを実行します。

    # vmkping -I vmkX x.x.x.x

    x.x.x.x は ping の宛先サーバのホスト名または IP アドレス、vmkX は ping の送信元の vmkernel インターフェースを指定します。
     

使用環境でジャンボ フレームを構成している場合は、vmkping コマンドを -s および -d オプションとともに実行します。

# vmkping -d -s 8972 x.x.x.x

注: コマンド中の "-d" オプションで IPv4 パケットに DF (Don't Fragment) ビットを設定します。8972 は ESXi での MTU を 9000 にするためのサイズです。
MTU 1500 で確認する場合は次のコマンドを実行します:

vmkping -I vmkX x.x.x.x -d -s 1472
   


MTU サイズは SSH セッションにて続けて記載の各コマンドを実行すると取得できます。

esxcfg-nics -l

出力は次のようになります。

esxcfg-nics -l

Name PCI Driver Link Speed Duplex MAC Address MTU Description
vmnic0 0000:02:00.00 e1000 Up 1000Mbps Full xx:xx:xx:xx:xx:xx 9000 Intel Corporation 82545EM Gigabit Ethernet Controller (Copper)
vmnic1 0000:02:01.00 e1000 Up 1000Mbps Full xx:xx:xx:xx:xx:xx 9000 Intel Corporation 82545EM Gigabit Ethernet Controller (Copper)


esxcfg-vmknic -l

出力は次のようになります。

esxcfg-vmknic -l

Interface Port Group/DVPort IP Family IP Address Netmask Broadcast MAC Address MTU TSO MSS Enabled Type
vmk1 iSCSI IPv4 10.10.10.10 255.255.255.0 10.10.10.255 XX:XX:XX:XX:XX:XX 9000 65535 true STATIC


ping が成功すると次のようになります。

vmkping -I vmk0 10.0.0.1

PING server(10.0.0.1): 56 data bytes
64 bytes from 10.0.0.1: icmp_seq=0 ttl=64 time=10.245 ms
64 bytes from 10.0.0.1: icmp_seq=1 ttl=64 time=0.935 ms
64 bytes from 10.0.0.1: icmp_seq=2 ttl=64 time=0.926 ms
--- server ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 0.926/4.035/10.245 ms
 
ping が失敗すると次のようになります。

vmkping 10.0.0.2
PING server (10.0.0.2) 56(84) bytes of data.
--- server ping statistics ---
3 packets transmitted, 0 received, 100% packet loss, time 3017ms


:上記のコマンドは IPv6 でも同様の挙動となりますが、IPv6 では次の例のように -6 オプションの追加が必要です。

vmkping -6 and replace x.x.x.x by an ipv6 address xx:xx:xx:xx:xx:xx:xx:xx

vmkping のすべてのオプションは次の通りです:

vmkping [args] [host]
 

arg use
-4  IPv4 を使用 (default)
-6 IPv6 を使用
-c <count> 送信回数の指定
-d IPv4 での DF bit (do not fragment)、もしくは IPv6 での Disable Fragmentation のセット
-D vmkernel TCP stack の デバッグモード
-i <interval> 送信インターバルの指定 (secs)
-I <interface> 送信元インターフェースの指定, 例 "-I vmk1"
-N <next_hop> IP*_NEXTHOP- を指定した場合、経路探査をバイパスします。
IPv4 の場合、-N を使用するには -I も必要です
-s <size> 送信する ICMP のデータ部の byte サイズを指定します。
デフォルト値は 56 で, 8 byte の ICMP ヘッダを付与すると 64 バイトの ICMP となります。(指定したサイズにはヘッダが含まれません)
-t <ttl> IPv4 Time To Live、もしくは IPv6 Hop Limit の指定
-v 詳細の表示
-W <time> タイムアウト時間の指定 (secs)
-X esxcli framework のための XML フォーマットでの出力の指定
-S ネットワークスタックのインスタンス名の指定。 特定できない場合はデフォルトのスタックを使用します
注: IPv4 のみで動作するオプションで, IPv6 では動作しません)





  • ping 送信が断続的に成功する場合は、vMotion ポートにチーミングされた NIC 間の互換性がないことを示している可能性があります。互換性のある NIC をチーミングするか、NIC の 1 つをスタンバイに設定してください。
  • サーバのホスト名での ping の応答が得られない場合は、IP アドレスを指定して ping を送信してください。IP アドレスへの ping 送信により、ホスト名の名前解決での問題かの判断が可能です。また、他の ESXi ホストの VMkernel ポートとの接続をテストする場合、ホスト名での名前解決の結果は通常管理用ポートの IP アドレスとなるため、宛先にはホスト名ではなく IP アドレスを指定してください



Additional Information