下の図は ESXi Network Troubleshooting Tools の "Pktcap-uw" セクションに引用されたものです。
パケットキャプチャは、root 権限を持つ SSH セッションのコマンドライン、または KVM(キーボード・ビデオ(モニター)・マウス)を使用したサーバーコンソールアクセスからコマンドを実行することで取得できます。
ご利用の仮想スイッチの種類によって、トラフィックをキャプチャできるポイントは多岐にわたります。たとえば、標準スイッチ(vSwitch) や 分散仮想スイッチ(DVS) などがあります。また、キャプチャ結果はユーザーの画面に直接表示することも可能です(tcpdump-uw ツールを使用して出力を解析)。あるいは、ディスクファイルに保存し、ダウンロードした後に Wireshark などのツールで解析することもできます。
なお、出力をディスクファイルに保存する際は、保存先として /tmp ディレクトリを使用しないでください。
cd /vmfs/volumes/データストアのフルパス cd "/vmfs/volumes/データストアのフルパス"cd "/vmfs/volumes/FULL_PATH_TO_DATASTORE"mkdir Case_12345678
vSwitch における:スイッチポートとアップリンク
スイッチポートはすべての vNIC、vmk アダプタ、およびアップリンクとしての 物理 NIC(vmnic) に接続されています。
まず、問題に基づいてキャプチャポイントを特定し、適切なコマンド構文を適用します。
以下の図は、アーキテクチャにおける VM、カーネル、および物理アダプタの接続関係 を示しています。
net-stats -l" より、vm/vmk にマッピングされたスイッチポートの一覧表が表示されます。esxtop" を実行し、 "n" を押します。これにより、スイッチポートとアップリンクのマッピングが表示されます。vsish" を入力、Enter キーを押し、次に "cat /net/portsets/vSwitch_name/ports/switchport_number/teamUplink"を入力、Enter キーを押します。Note: vSwitch名とスイッチポート番号は、 "net-stats -l" コマンド出力を参照してください。
netdbg vswitch instance list" を実行し、Enterキーを押します。例えば、特定の vSwitch ポートとその関連するアップリンクを同時にトレースする
net-stats -lこれらのパラメータのメモを取ってください。
esxtop コマンドで Port ID — --switchport 12345678
物理 vmnic2 ポートのトレース — --uplink vmnic2 -
pcapファイルの出力先 — /vmfs/volumes/データストアのパス/Case_12345678/
pktcap-uw --switchport 67108879 -o /vmfs/volumes/データストアのパス/Case_12345678/esxi01.switchport.67108879.pcapng & pktcap-uw --uplink vmnic2 -o /vmfs/volumes/データストアのパス/Case_12345678/esxi01.uplink.vmnic2.pcapng &
注意: ここでは Bash シェルの例です。 vSwitch に複数のアップリンクがある場合は、& の後に別のアップリンクのコマンドを追加して最後に & を付けて実行してください。kill $(lsof |grep pktcap-uw |awk '{print $1}'| sort -u)lsof |grep pktcap-uw |awk '{print $1}'| sort -u注意:
図から異なるポイントでのキャプチャが存在します。
pktcap-uw --uplink vmnic2 --capture UplinkSndKernel,UplinkRcvKernel -o /vmfs/volumes/FULL_PATH_TO_DATASTORE/Case_12345678/esxi01.uplink.vmnic2.UplinkSndRcvKernel.pcapng &
キャプチャを画面に表示例:pktcap-uw --uplink vmnic2 --capture UplinkSndKernel,UplinkRcvKernel -o - | tcpdump-uw -r - -ennkill $(lsof |grep pktcap-uw |awk '{print $1}'| sort -u)pktcap-uw --switchport 67108879 ---capture VnicTx,VnicRx -o /vmfs/volumes/FULL_PATH_TO_DATASTORE/Case_12345678/esxi01.switchport.67108879.VnicTxRx.pcapng &
pktcap-uw --switchport 67108879 ---capture VnicTx,VnicRx -o - | tcpdump-uw -r - -ennESXi ログにパケットキャプチャ出力は記録されません。
pktcap-uw --switchport 67108879 ---capture VnicTx,VnicRx -s 256 -o /vmfs/volumes/データストアのフルパス/Case_12345678/esxi01.switchport.67108879.VnicTxRx.pcapng &pktcap-uw --switchport 67108879 ---capture VnicTx,VnicRx -s 256 --ip ###.###.###.### -o /vmfs/volumes/FULL_PATH_TO_DATASTORE/Case_12345678/esxi01.switchport.67108879.VnicTxRx.pcapng &
上記の例では、調査対象の問題のある IP アドレスを ###.###.###.### に置き換えてください。たとえば、仮想マシンに設定されているデフォルトゲートウェイの IP アドレスを入力してください。pktcap-uw --switchport 67108879 ---capture VnicTx,VnicRx -s 256 --ip ###.###.###.### --proto 0x01 -o /vmfs/volumes/FULL_PATH_TO_DATASTORE/Case_12345678/esxi01.switchport.67108879.VnicTxRx.pcapng &
上記の例では、--proto オプションで 0x01 (ICMP) の値を使用しています。.ウィキペディアは 100% 信頼できませんが、プロトコルタイプについて有効な情報が得られます。 List of IP protocol numbers.
関連リンク :
ESXi ホストが高負荷の状態で pktcap-uw ツールを使用する際のアドバイスとベストプラクティスについては、以下をご参照ください。 Considerations to run pktcap-uw under heavy network load.