2013年7月20日土曜日

tips:vmware(vsphere4)でのJumboFrame対応

VMware(vpshere4でのみ確認)環境でiSCSIをつかっているので、JumboFrameに関する備忘録を記載。

今回は、esxiにコンソールログイン(もしくはsshログイン)して、確認する方法を記載
(設定はマニュアル見てGUIで)

■VMware本体(VMkernel)で使うiSCSI NICのMTU設定の確認

esxcfg-vmknic -l

Interface Port Group/DVPort IP Family IP Address Netmask Broadcast MAC Address MTU TSO MSS Enabled Type
vmk0 Service Console IPv4 x.x.x.x 255.255.255.0 x.x.x.x xx:xx:xx:xx:xx:xx 1500 65535 true STATIC
vmk1 VMotion IPv4 x.x.x.x 255.255.255.0 x.x.x.x xx:xx:xx:xx:xx:xx 1500 65535 true STATIC
vmk2 iscsi1 IPv4 x.x.x.x 255.255.255.0 x.x.x.x xx:xx:xx:xx:xx:xx 9000 65535 true STATIC

※上記の例では、vmk2というインターフェースのMTUが9000に設定されている。

■VMware本体(VMkernel)で使うiSCSI NICの仮想スイッチのMTU設定の確認

# esxcfg-vswitch -l

Switch Name Num Ports Used Ports Configured Ports MTU Uplinks
vSwitch0 128 5 128 1500 vmnic0,vmnic2

PortGroup Name        VLAN ID  Used Ports  Uplinks
  VMotion               135      1           vmnic2,vmnic0
  Service Console       125      1           vmnic0,vmnic2
Switch Name Num Ports Used Ports Configured Ports MTU Uplinks
Backup 128 4 128 1500 vmnic1

PortGroup Name        VLAN ID  Used Ports  Uplinks
  Backup                0        2           vmnic1
Switch Name Num Ports Used Ports Configured Ports MTU Uplinks
iSCSI 128 9 128 9000 vmnic6,vmnic7,vmnic10,vmnic11

PortGroup Name        VLAN ID  Used Ports  Uplinks
   ・
   ・
   ・

※上記の場合、iSCSIという仮想スイッチのMTUは9000Bytesになっている(つまりJumboFrame対応になっている)

※上記NICと仮想スイッチ両方がJumboFrame向け設定が必要となる。


■ネットワーク経路でJumboフレームが通るか?確認

# vmkping -s 8972 -d [相手先] 

  -s  : パケットサイズ
  -d  : Set Don't Fragment flag(IPv4)

NGの場合は、、

PING [相手先] (x.x.x.x): 8972 data bytes
sendto() failed (Message too long)

OKの場合は、、

PING [相手先] (x.x.x.x): 8972 data bytes
8980 bytes from x.x.x.x: icmp_seq=0 ttl=128 time=0.501 ms


※8972bytesはJumboframeのパケットサイズ9000bytesから、IPヘッダサイズ20bytes+ICMPヘッダサイズ8bytesを引いたもの。

※8980 bytesは、8972(指定)+ICMPヘッダサイズ(8Bytes) = 8090 Bytesのこと。

■tcpdumpでjumboframeをキャプチャするには

esxiにはtcpdumpの代わりに、tcpdump-uwが入っているので、これを使う。

# tcpdump-uw -i vmk0 -s 9014 -B 9 host x.x.x.x -w /tmp/test.pcap

上記は
 ・vmknicのvmk0で行われている (-i)
 ・通信の宛先が x.x.x.xの(host)
 ・size 9014以下のpacket(-s)
 ・デフォルトではバッファ制約により8138 Bytesまでしかキャプチャができないため、
  9014 Bytesまでキャプチャができるよう拡張(-B)
 ・収集したパケットデータを/tmp/test.pcapに保存(-w)
の例です。

0 件のコメント:

コメントを投稿