レイヤ 2 イーサネット スイッチングについて
Nexus1000V は、多数の仮想ホストにまたがって広がる分散したレイヤ 2 仮想スイッチを提供します。
これは、次の 2 つのコンポーネントから成ります。
• 仮想スーパーバイザ モジュール(VSM)。コントロール プレーン(CP)とも呼ばれ、スーパーバイザとして機能し、Cisco CLI、コンフィギュレーション、および高レベルの機能を含みます。
• 仮想イーサネット モジュール(VEM)。データ プレーン(DP)とも呼ばれ、ライン カードとして機能し、各仮想サーバ内で実行されてパケット転送やその他のローカライズ機能を処理します。
ポート モデル
このセクションでは、次の観点からポートについて説明します。
• 「VEM から見たポート」
• 「VSM から見たポート」。
VEM から見たポート
Nexus1000V では、各 VEM での仮想ポートと物理ポートが区別されます。図 11-1 は、Nexus1000V スイッチ上のポートが VEM 内の物理 VMware ポートと仮想 VMware ポートにどのようにバインドされるかを示します。
図 11-1 VEM から見たポート
スイッチの仮想側には、一緒にマッピングされる次の 3 つのポート レイヤがあります。
• 仮想 NIC:VMware 内には 3 タイプの仮想 NIC があります。仮想 NIC(vnic)は、VM の一部であり、スイッチに接続されたホストの物理ポートを表します。仮想カーネル NIC(vmknic)は、管理のハイパーバイザ、VMotion、iSCSI、NFS、およびカーネルに必要とされるその他のネットワーク アクセスによって使用されます。このインターフェイスは、ハイパーバイザ自体の IP アドレスを伝送し、仮想イーサネット ポートにもバインドされます。vswif(示されていない)は、COS ベースのシステムにしか現れず、VMware 管理ポートとして使用されます。これらの各タイプが、Nexus1000V 内の Veth ポートにマッピングされます。
• 仮想イーサネット ポート(VEth):VEth ポートは、Cisco Nexus 1000V Distributed Virtual Switch(DVS; 分散仮想スイッチ)上のポートです。Cisco Nexus 1000V は、VEth ポート 0 ~ N のフラットな空間を持ちます。仮想ケーブルは、VM を実行するホストに移動されるこれらの VEth ポートに接続されます。
VEth ポートは、ポート グループに割り当てられます。
• ローカル仮想イーサネット ポート(lveth):各ホストが、いくつものローカル VEth ポートを持ちます。これらのポートは、ホスト上で必要とされる VEth ポート用に動的に選択されます。
これらのローカル ポートは、移動することはなく、モジュール-ポート番号方式によってアドレス指定可能です。
スイッチの物理側では、下から上に向かって次のようになっています。
• VMware 内の各物理 NIC は、vmnic と呼ばれるインターフェイスによって表されます。vmnic 番号は、VMware のインストール時または新しい物理 NIC がインストールされたときに割り当てられ、ホストの寿命を通じて同じまま保たれます。
• ホスト上の各アップリンク ポートは、物理インターフェイスを表します。これは、lveth ポートと非常によく似た動作をしますが、物理ポートはホスト間で移動しないため、マッピングはアップリンク ポートと vmnic の間で 1:1 です。
• Nexus1000V スイッチに追加された各物理ポートが、ハードウェア ベースのスイッチ上にあるのとまったく同じように、物理イーサネット ポートとして現れます。
アップリンク ポートの概念は、完全に VMware によって扱われ、ポート設定を vmnics に関連付けるために使用されます。アップリンクの番号と vmnic の番号の間には固定した関係はありません。これらは、ホストごとに異なっていてもかまわず、ホストの寿命を通じて変更可能です。VSM 上では、イーサネット インターフェイス番号(イーサネット 2/4 など)は、アップリンクの番号ではなく vmnic の番号から導出されます。
VSM から見たポート
図 11-2 に、VSM から見たポートを示します。
図 11-2 VSM から見たポート
ポート タイプ
次のタイプのポートを使用できます。
• Veth(仮想イーサネット インターフェイス)は、次のいずれか 1 つと関連付けできます。
– ESX ホスト上の仮想マシンの VNIC
– ESX ホストの VMKNIC
– ESX COS ホストの VSWIF
• Eth(物理イーサネット インターフェイス):ESX ホスト上の物理 NIC に対応します。
• Po(ポート チャネル インターフェイス):ESX ホストの物理 NIC は、まとめて 1 つの論理インターフェイスにすることができます。この論理バンドルが、ポート チャネル インターフェイスと呼ばれます。
レイヤ 2 スイッチングの詳細については、『 Cisco Nexus 1000V Layer 2 Switching Configuration Guide, Release 4.2(1)SV1(5.1) 』を参照してください。
レイヤ 2 スイッチングの問題
ここでは、レイヤ 2 の問題をトラブルシューティングする方法を説明し、トラブルシューティング コマンドの一覧を示します。ここでは、次の内容について説明します。
• 「VEM ポート間の接続の確認」
• 「VEM 間の接続の確認」
• 「トラフィック中断の特定」
• 「レイヤ 2 スイッチングの確認」
VEM ポート間の接続の確認
VEM 上の VEth ポート間の接続を確認するには、次の手順を実行します。
ステップ 1 VSM 上で、 show vlan コマンドを入力して、ポートに関連付けられている VLAN の状態を確認します。ポートに関連付けられている VLAN がアクティブでない場合は、ポートはおそらくダウンしています。この場合は、VLAN を作成して、アクティブにする必要があります。
ステップ 2 VSM 上のポートの状態を見るには、 show interface brief コマンドを入力します。
ステップ 3 module vem module-number execute vemcmd show port コマンドを実行して、VEM 上に現れているポートと、そのローカル インターフェイス インデックス、VLAN、タイプ(物理か仮想か)、CBL 状態、ポート モード、およびポート名を表示します。
出力の中で注目する必要のある主要項目は、次のとおりです。
• ポートの状態。
• CBL。
• モード。
• 接続されているデバイスの名前。
• トラブルシューティングしようとしているポートの LTL。この情報は、インターフェイス名が表示されないような他の VEM コマンドでインターフェイスをすばやく見つけるのに役立ちます。
• ポートの状態が UP になっていることの確認。UP になっていない場合は、VSM 上のポートの設定を確認してください。
ステップ 4 特定の VEM 上にある VLAN およびそのポートのリストを表示するには、 module vem module-number execute vemcmd show bd コマンドを次のように使用します。
n1000V# module vem 5 execute vemcmd show bd
ポートが特定の VLAN に属していることを確認しようとしている場合は、必ずその VLAN のポート リスト内のポート名または LTL を見てください。
VEM 間の接続の確認
2 つの個別の VEM 上にある VEth ポート間の接続を確認するには、次の手順を実行します。
ステップ 1 show vlan コマンドを実行して、ポートに関連付けられている VLAN が VSM 上に作成されているか確認します。
ステップ 2 show interface brief コマンドを実行して、ポートが VSM 内で UP になっていることを確認します。
ステップ 3 VEM 上で、 module vem 3 execute vemcmd show port コマンドを実行して、2 つのポートの CBL の状態が転送用の値である 1(アクティブ)に設定されているか確認します。
ステップ 4 VEM 上で、 module vem 3 execute vemcmd show bd コマンドを実行して、2 つの VEth ポートが、それらが通信しようとしている相手 VLAN のフラッディング リストに入っているか確認します。
ステップ 5 VEM が接続されているアップリンク スイッチが、ポートの属している VLAN を伝送していることを確認します。
ステップ 6 アップストリーム スイッチのポートから、VEM 上の pnic(VLAN を伝送するはずのもの)が接続されているポートを探します。
n1000v#
show cdp neighbors
Capability Codes: R - Router, T - Trans-Bridge, B - Source-Route-Bridge
S - Switch, H - Host, I - IGMP, r - Repeater,
V - VoIP-Phone, D - Remotely-Managed-Device,
Device ID Local Intrfce Hldtme Capability Platform Port ID
swordfish-6k-2 Eth5/2 168 R S I WS-C6506-E Gig1/38
PNIC(Eth 5/2)は、ポート Gig1/38 上の swordfish-6k-2 に接続されています。
ステップ 7 アップストリーム スイッチにログインして、ポートが、探している VLAN を許可するように設定されていることを確認します。
n1000v#show running-config interface gigabitEthernet 1/38
Building configuration...
Current configuration : 161 bytes
interface GigabitEthernet1/38
description Srvr-100:vmnic1
switchport trunk allowed vlan 1,60-69,231-233
この出力では、VLAN 1、60 ~ 69、231 ~ 233 がポート上で許可されています。注目している VLAN が許可されている VLAN のリストに入っていない場合は、それをポートの許可される VLAN リストに追加してください。
トラフィック中断の特定
次の手順を使用して、異なる複数の VEM 上の VM 間でトラフィックが伝送されなくなった原因を特定します。
ステップ 1 show port-profile name コマンドの出力から、次の情報を確認します。
• 設定したコントロール VLAN とパケット VLAN が存在する(例では、3002 と 3003 が該当)。
• 設定での物理 NIC が VM の VLAN を伝送する場合に、その VLAN も許可されている VLAN リストに入っている。
n1000v#show port-profile name alluplink
switchport trunk allowed vlan 1,80,3002,610,620,630-650
evaluated config attributes:
switchport trunk allowed vlan 1,80,3002,3003,610,620,630-650
ステップ 2 VM 内で、次のコマンドを使用して、イーサネット インターフェイスが UP になっていることを確認します。
ifconfig -a
UP になっていない場合は、その NIC を VM から削除し、別の NIC を追加することを検討します。
ステップ 3 任意の sniffer ツールを使用して、ARP 要求とその応答が VM インターフェイス上で受信されることを確認します。
ステップ 4 アップストリーム スイッチ上で、次のコマンドを使用して、IP と MAC アドレスの関連付けを探します。
debug arp
show arp
ARP packet debugging is on
11w4d: RARP: Rcvd RARP req for 0050.56b7.3031
11w4d: RARP: Rcvd RARP req for 0050.56b7.3031
11w4d: RARP: Rcvd RARP req for 0050.56b7.4d35
11w4d: RARP: Rcvd RARP req for 0050.56b7.52f4
11w4d: IP ARP: rcvd req src 10.78.1.123 0050.564f.3586, dst 10.78.1.24 Vlan3002
11w4d: RARP: Rcvd RARP req for 0050.56b7.3031
Protocol Address Age (min) Hardware Addr Type Interface
Internet 10.78.1.72 - 001a.6464.2008 ARPA
Internet 7.114.1.100 - 0011.bcac.6c00 ARPA Vlan140
Internet 41.0.0.1 - 0011.bcac.6c00 ARPA Vlan410
Internet 7.61.5.1 - 0011.bcac.6c00 ARPA Vlan1161
Internet 10.78.1.5 - 0011.bcac.6c00 ARPA Vlan3002
Internet 7.70.1.1 - 0011.bcac.6c00 ARPA Vlan700
Internet 7.70.3.1 - 0011.bcac.6c00 ARPA Vlan703
Internet 7.70.4.1 - 0011.bcac.6c00 ARPA Vlan704
Internet 10.78.1.1 0 0011.bc7c.9c0a ARPA Vlan3002
Internet 10.78.1.15 0 0050.56b7.52f4 ARPA Vlan3002
Internet 10.78.1.123 0 0050.564f.3586 ARPA Vlan3002
ステップ 5 これで手順は完了です。
レイヤ 2 スイッチングの確認
レイヤ 2 MAC アドレス設定を表示し、検証するには、次のコマンドを使用します。
|
|
show mac address-table |
MAC アドレス テーブルを表示し、VSM によって制御されている全 VEM の MAC アドレスをすべて確認します。 例 11-1(P.11-8) を参照してください。 |
show mac address-table module module-number |
すべての MAC アドレスを指定された VEM 上に表示します。 |
show mac address-table static HHHH.WWWW.HHHH |
MAC アドレス テーブルのスタティック エントリを表示します。 例 11-2(P.11-9) を参照してください。 |
show mac address-table address HHHH.WWWW.HHHH |
MAC アドレスが指定されているインターフェイスが学習または設定されているかどうかを表示します。 • ダイナミック MAC の場合、同じ MAC が複数のインターフェイスに現れる場合は、そのそれぞれが個別に表示されます。 • スタティック MAC で同じ MAC が複数のインターフェイスに表れる場合は、設定されているインターフェイス上のエントリだけが表示されます。 |
show mac address-table static | inc veth |
VEM 物理ポートがダイナミック MAC を学習し、パケット ソースが同じ VSM 上の別の VEM にある場合、vEthernet インターフェイスのスタティック MAC アドレスを表示します。 例 11-3(P.11-9) を参照してください。 |
show running-config vlan <vlan-id> |
実行コンフィギュレーションに VLAN 情報を表示します。 |
show vlan [ all-ports | brief | id < vlan-id > | name < name > | dot1q tag native ] |
VLAN 情報を指定されたとおりに表示します。 例 11-4(P.11-9) を参照してください。 |
show vlan summary |
VLAN 情報の要約を表示します。 |
show interface brief |
インターフェイスの状態表を表示します。 例 11-5(P.11-10) を参照してください。 |
module vem module-number execute vemcmd show port |
VEM 上で、特定の VEM のポート状態を表示します。 このコマンドは、VEM からに限って実行できます。 例 11-6(P.11-10) を参照してください。 |
module vem module-number execute vemcmd show bd コマンド |
指定された VEM について、その VLAN とそれらのポート リストを表示します。 例 11-7(P.11-11) を参照してください。 |
module vem module-number execute vemcmd show trunk |
指定された VEM について、トランク ポート上の VLAN の状態を表示します。 • VLAN がポート上で転送している(アクティブな)場合、その CBL 状態は 1 になります。 • VLAN がブロックされている場合は、その CBL 状態は 0 です。 例 11-8(P.11-11) を参照してください。 |
module vem module-number execute vemcmd show l2 vlan-id |
指定された VEM について、指定された VLAN の VLAN 転送テーブルを表示します。 例 11-9(P.11-12) を参照してください。 |
show interface interface_id mac |
インターフェイスの MAC アドレスとバーンドイン MAC アドレスを表示します。 |
例 11-1 show mac address-table
(注) Cisco Nexus 1000V の MAC アドレス テーブルに、マルチキャスト MAC アドレスは表示されません。
ヒント モジュールは、この MAC が表示される VEM を示します。
N1KV Internal Port は、VEM 上で作成された内部ポートを表します。このポートは、VEM の制御と管理に使用され、パケットの転送には使用されません。
n1000v# show mac address-table
VLAN MAC Address Type Age Port Module
---------+-----------------+-------+---------+------------------------------+---------
1 0002.3d11.5502 static 0 N1KV Internal Port 3
1 0002.3d21.5500 static 0 N1KV Internal Port 3
1 0002.3d21.5502 static 0 N1KV Internal Port 3
1 0002.3d31.5502 static 0 N1KV Internal Port 3
1 0002.3d41.5502 static 0 N1KV Internal Port 3
1 0002.3d61.5500 static 0 N1KV Internal Port 3
1 0002.3d61.5502 static 0 N1KV Internal Port 3
1 0002.3d81.5502 static 0 N1KV Internal Port 3
3 12ab.47dd.ff89 static 0 Eth3/3 3
342 0002.3d41.5502 static 0 N1KV Internal Port 3
342 0050.568d.5a3f dynamic 0 Eth3/3 3
343 0002.3d21.5502 static 0 N1KV Internal Port 3
343 0050.568d.2aa0 dynamic 9 Eth3/3 3
例 11-2 show mac address-table address
ヒント このコマンドは、MAC が動的に学習されたすべてのインターフェイスを表示します。
この例では、同じ MAC が Eth3/3 と Eth4/3 の両方に現れています。
n1000v# show mac address-table address 0050.568d.5a3f
VLAN MAC Address Type Age Port Module
---------+-----------------+-------+---------+------------------------------+---------
342 0050.568d.5a3f dynamic 0 Eth3/3 3
342 0050.568d.5a3f dynamic 0 Eth4/3 4
Total MAC Addresses: 1
例 11-3 show mac address-table static | inc veth
n1000v# show mac address-table static | inc veth
460 0050.5678.ed16 static 0 Veth2 3
460 0050.567b.1864 static 0 Veth1 4
例 11-4 show vlan
ヒント このコマンドは、VSM 上で作成された各 VLAN の状態を表示します。
---- -------------------------------- --------- -------------------------------
1 default active Eth3/3, Eth3/4, Eth4/2, Eth4/3
---- -------------------------------- --------- -------------------------------
---- -------------------------------- --------- -------------------------------
-------------------------------------------------------------------------------
Primary Secondary Type Ports
------- --------- --------------- -------------------------------------------
例 11-5 show interface brief
--------------------------------------------------------------------------------
Port VRF Status IP Address Speed MTU
--------------------------------------------------------------------------------
mgmt0 -- up 172.23.232.143 1000 1500
--------------------------------------------------------------------------------
Ethernet VLAN Type Mode Status Reason Speed Port
--------------------------------------------------------------------------------
Eth3/4 1 eth trunk up none 1000(D) --
Eth4/2 1 eth trunk up none 1000(D) --
Eth4/3 1 eth trunk up none 1000(D) --
例 11-6 module vem module-number execute vemcmd show port
ヒント ポートの状態を検出します。
~ # module vem 3 execute vemcmd show port
LTL IfIndex Vlan Bndl SG_ID Pinned_SGID Type Admin State CBL Mode Name
8 0 3969 0 2 2 VIRT UP UP 1 Access l20
9 0 3969 0 2 2 VIRT UP UP 1 Access l21
10 0 115 0 2 0 VIRT UP UP 1 Access l22
11 0 3968 0 2 2 VIRT UP UP 1 Access l23
12 0 116 0 2 0 VIRT UP UP 1 Access l24
13 0 1 0 2 2 VIRT UP UP 0 Access l25
14 0 3967 0 2 2 VIRT UP UP 1 Access l26
16 1a030100 1 T 0 0 2 PHYS UP UP 1 Trunk vmnic1
17 1a030200 1 T 0 2 2 PHYS UP UP 1 Trunk vmnic2
例 11-7 module vem module-number execute vemcmd show bd
ヒント ポートが特定の VLAN に属している場合は、ポート名または LTL がその VLAN のポート リストに表示されます。
~ # module vem 5 execute vemcmd show bd
Number of valid BDS: 8
BD 1, vdc 1, vlan 1, 2 ports
Portlist:
16 vmnic1
17 vmnic2
BD 100, vdc 1, vlan 100, 0 ports
Portlist:
BD 110, vdc 1, vlan 110, 1 ports
Portlist:
16 vmnic1
BD 111, vdc 1, vlan 111, 1 ports
Portlist:
16 vmnic1
BD 112, vdc 1, vlan 112, 1 ports
Portlist:
16 vmnic1
BD 113, vdc 1, vlan 113, 1 ports
Portlist:
16 vmnic1
BD 114, vdc 1, vlan 114, 1 ports
Portlist:
16 vmnic1
BD 115, vdc 1, vlan 115, 2 ports
Portlist:
10 l22
16 vmnic1
例 11-8 module vem module-number execute vemcmd show trunk
ヒント VLAN がポート上でアクティブな場合、その CBL 状態は 1 になります。
VLAN がブロックされている場合は、その CBL 状態は 0 です。
~ # module vem 5 execute vemcmd show trunk
Trunk port 16 native_vlan 1 CBL 1
vlan(1) cbl 1, vlan(110) cbl 1, vlan(111) cbl 1, vlan(112) cbl 1, vlan(113) cbl 1, vlan(114) cbl 1,vlan(115) cbl 1, vlan(116) cbl 1, vlan(117) cbl 1, vlan(118) cbl 1, vlan(119) cbl 1,
Trunk port 17 native_vlan 1 CBL 0
vlan(1) cbl 1, vlan(117) cbl 1,
例 11-9 module vem module-number execute vemcmd show l2
Bridge domain 115 brtmax 1024, brtcnt 2, timeout 300
Dynamic MAC 00:50:56:bb:49:d9 LTL 16 timeout 0
Dynamic MAC 00:02:3d:42:e3:03 LTL 10 timeout 0
Microsoft NLB ユニキャスト モードのトラブルシューティング
Microsoft Network Load Balancing(MS-NLB)は、Windows サーバのオペレーティング システムの一部として Microsoft 社から提供されるクラスタリング テクノロジーです。クラスタリングは、アベイラビリティの改善、管理の簡素化、スケーラビリティの向上のために、1 つのシステムとして管理する独立したサーバのグループをイネーブルにします。
Microsoft Network Load Balancing の詳細については、次の URL を参照してください。
http://technet.microsoft.com/en-us/library/bb742455.aspx
(注) このマニュアル内で示されているサードパーティ Web サイトへのアクセスは、お客様に便宜を図ることのみを目的として提供されています。シスコおよびその関連会社は、サードパーティ Web サイトの動作の保証についていかなる責任も負いません。また、サードパーティ Web サイトを通じてアクセスしたソフトウェア プログラム等のダウンロード、パフォーマンス、品質、動作、サポートについても一切責任を負いません。さらに、サードパーティ Web サイトまたはそれらを通じてアクセスしたプログラム等により発生したいかなる損害、修理、修正、費用についても一切の責任を負いません。シスコのエンド ユーザ ライセンス契約書は、サードパーティ Web サイトおよびそれらの Web サイトを通じてアクセスされるソフトウェア プログラムの使用条件に適用されるものではありません。
制限事項と制約事項
MS-NLB の自動スタティック MAC 学習をディセーブルにしようとした際に次のいずれかのコンフィギュレーションが存在する場合は、これらの機能をサポートしていないため、Syslog が生成されます。
• PVLAN ポート
• 不明なユニキャスト フラッド ブロッキング(UUFB)で設定されているポート
• switchport port-security mac-address sticky で設定されているポート
vEthernet 上での自動スタティック MAC 学習のディセーブル化
vEthernet(vEth)を正常に設定するには、事前に自動スタティック MAC 学習をディセーブルにしておく必要があります。
インターフェイス コンフィギュレーション モードで、次のコマンドを使用します。
switch(config)# int veth 1
switch(config-if)# no mac auto-static-learn
ポート プロファイル コンフィギュレーション モードで、次のコマンドを使用します。
switch(config)# port-profile type vethernet ms-nlb
switch(config-port-prof)# no mac auto-static-learn
VSM のステータスの確認
NLB のユニキャスト モード設定が機能しない場合は、仮想スーパーバイザ モジュール(VSM)のステータスを確認します。
vEth またはポート プロファイル ポート プロファイル コンフィギュレーションまたはその両方で、 no mac auto-static-learn がリストされていることを確認します。
VSM のステータスを生成するには、インターフェイス コンフィギュレーション モードで、次のコマンドを使用します。
switch(config-if)# show running-config int veth1
inherit port-profile vm59
description Fedora117, Network Adapter 2
vmware dvport 32 dvswitch uuid "ea 5c 3b 50 cd 00 9f 55-41 a3 2d 61 84 9e 0e c4"
VSM のステータスを生成するには、ポート プロファイル コンフィギュレーション モードで、次のコマンドを使用します。
switch(config-if)# show running-config port-profile ms-nlb
port-profile type vethernet ms-nlb
switchport access vlan 59
VEM のステータスの確認
NLB のユニキャスト モード設定が機能しない場合は、仮想イーサネット モジュール(VEM)のステータスを確認します。次の点をチェックします。
• MS-NLB veths がディセーブルであることを確認します。
• MS-NLB shared-MAC(02:BF で開始)がレイヤ 2(L2)MAC テーブルにリストされていないことを確認します。
VEM のステータスを生成するには、次のコマンドを使用します。
~ # vemcmd show port auto-smac-learning
LTL VSM Port Auto Static MAC Learning
VLAN59 の L2 MAC テーブルを生成するには、次のコマンドを使用します。
~ # vemcmd show l2 59
Bridge domain 15 brtmax 4096, brtcnt 6, timeout 300
VLAN 59, swbd 59, ""
Flags: P - PVLAN S - Secure D - Drop
Type MAC Address LTL timeout Flags PVLAN
Dynamic 00:15:5d:b4:d7:02 305 4
Dynamic 00:15:5d:b4:d7:04 305 25
Dynamic 00:50:56:b3:00:96 51 4
Dynamic 00:50:56:b3:00:94 305 5
Dynamic 00:0b:45:b6:e4:00 305 5
Dynamic 00:00:5e:00:01:0a 51 0