トラブルシューティングのために、使用環境で ESX ホスト間の VMkernel ネットワーク接続のテストが必要となる場合があります。
この記事では、ESX ホスト間の vmkping テストを実行する手順について説明します。
Symptoms:
免責事項:これは英文の記事 「Testing VMkernel network connectivity with the vmkping command (1003728)」の日本語訳です。記事はベストエフォートで翻訳を進めているため、ローカライズ化コンテンツは最新情報ではない可能性があります。最新情報は英語版の記事で参照してください。
vmkping コマンドは、ローカルの VMkernel ポートからの ping をソースとしています。
ESX Server ホストのコンソールから vmkping テストを開始するには:
使用環境でジャンボ フレームを構成している場合は、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 [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 では動作しません) |
注: