概要
このドキュメントでは、Cisco Nexus 5500 スイッチの仮想マシン ファブリック エクステンダ(VM-FEX)機能を設定、操作、およびトラブルシューティングする方法について説明します。
前提条件
要件
次の項目に関する基本的な知識があることが推奨されます。
- Nexus Virtual Port Channel(VPC)
- VMware vSphere
使用するコンポーネント
このドキュメントの情報は、次のハードウェアとソフトウェアのバージョンに基づいています。
- バージョン 5.2(1)N1(4) を実行している Nexus 5548UP
- ファームウェア バージョン 1.4(2) を実行している UCS P81E 仮想インターフェイス カードが搭載された Unified Computing System(UCS)-C C210 M2 ラック サーバ
- vSphere バージョン 5.0(ESXi および vCenter)
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、初期(デフォルト)設定の状態から起動しています。対象のネットワークが実稼働中である場合には、すべてのコマンドやパケット キャプチャ設定による潜在的な影響について確実に理解しておく必要があります。
VM-FEX の概要
VM-FEX は、仮想ネットワーキングと物理ネットワーキングを単一のインフラストラクチャに統合します。これにより、統一されたインフラストラクチャ内で仮想マシン ネットワーク トラフィックとベア メタル ネットワーク トラフィックをプロビジョニング、設定、および管理することができます。
VM-FEX ソフトウェアは、Cisco ファブリック エクステンダ テクノロジーの以下のような機能を仮想マシンで利用できるようにします。
- 各仮想マシンが親スイッチに専用インターフェイスを持つ
- 仮想マシンのトラフィックはすべて、そのスイッチ上の専用インターフェイスに直接送信される
- ハイパーバイザ内の標準 vSwitch が不要になる
VM-FEX は、分散仮想スイッチの一種(DVS または VDS)です。 DVS は、vCenter 内の同じデータセンター コンテナに属している複数の ESX サーバ全体で 1 つのスイッチを抽象化したものです。仮想マシン(VM)仮想ネットワーク インターフェイス コントローラ(VNIC)設定は、中央の場所(VM-FEX 内の Nexus 5000 または UCS、図は Nexus 5000 ベースの VM-FEX)から維持管理します。
![](/c/dam/en/us/support/docs/switches/nexus-5000-series-switches/117690-configure-vmfex-01.jpg)
VM-FEX は、以下の 2 つのモードで動作できます。
- パススルー:これは、VEM が VM トラフィックのデータ パスに含まれているデフォルト モードです。
- 高性能:VM トラフィックが VEM で処理されず、ネットワーク IO 仮想化(NIV)アダプタに直接転送されます。
高性能モードを使用するには、それをポート プロファイル設定で要求し、VM オペレーティング システムと仮想アダプタでサポートする必要があります。詳細については、後述します。
定義
- 仮想イーサネット モジュール(VEM)。 ESX ハイパーバイザ内で動作し、単一のパッケージで VNLink 実装を提供するシスコのソフトウェア モジュール
- ネットワーク IO 仮想化(NIV)は、VNtagging を使用して、複数の仮想ネットワーク リンク(VN-Link)を同じ物理イーサネット チャネル上に導入します。
- Datacenter Bridging Capability Exchange(DCBX)
- VNIC Interface Control(VIC)
- 仮想 NIC(VNIC)。これは、ホスト エンドポイントを示します。アクティブ VIF またはスタンバイ VIF に関連付けることができます。
- 分散仮想ポート(DVPort)。vNIC は、VEM 内の DVPort に接続されます。
- NIV 仮想インターフェイス(VIF)。これは、ネットワーク エンドポイントで指定されます。
- 仮想イーサネット(vEth)インターフェイスはスイッチの VIF を表します。
- パススルー スイッチ(PTS)。ハイパーバイザにインストールされた VEM モジュール。
注:VM-FEX で使用される VEM は、Nexus 1000v で使用される VEM に似ています。違いは、VM-FEX では、VEM がパススルー モードで動作し、同じ ESX 上の VM 間のローカル スイッチングを実行しません。
設定
トポロジは、2 つの Nexus 5548 VPC スイッチにデュアルホーム接続された P81E VIC が搭載された UCS-C サーバです。
注:このセクションで使用されるコマンドの詳細については、Command Lookup Tool(登録ユーザ専用)を使用してください。
ネットワーク図
![](/c/dam/en/us/support/docs/switches/nexus-5000-series-switches/117690-configure-vmfex-02.jpg)
以下の必須コンポーネントの準備が整っている必要があります。
- VPC が 2 つの Nexus 5000 スイッチ間で正しく設定され、初期化されている。
- VMWare vCenter がインストールされ、vSphere クライアント経由で接続されている。
- ESXi が UCS-C サーバにインストールされ、vCenter に追加されている。
設定手順の概要を以下に示します。
![](/c/dam/en/us/support/docs/switches/nexus-5000-series-switches/117690-configure-vmfex-03.jpg)
- サーバ アダプタ上で NIV モードを有効にします。
- HTTP 経由で Cisco Integrated Management Controller(CIMC)インターフェイスに接続し、管理者クレデンシャルでログインします。
- [Inventory] > [Network Adapters] > [Modify Adapter Properties] の順に選択します。
- NIV モードを有効にして、VM FEX インターフェイスの数を設定し、変更を保存します。
- サーバの電源をオフにしてからオンに戻します。
![](/c/dam/en/us/support/docs/switches/nexus-5000-series-switches/117690-configure-vmfex-04.jpg)
サーバがオンラインに戻ったら、NIV が有効になっていることを確認します。
![](/c/dam/en/us/support/docs/switches/nexus-5000-series-switches/117690-configure-vmfex-05.jpg)
- サーバ上で 2 つのスタティック vEth を作成します。
2 つの VNIC を作成するには、[Inventory]> [Network Adapters] > [VNICs] > [Add] の順に選択します。
定義すべき最も重要なフィールドを以下に示します。
- 使用する VIC アップリンク ポート(P81E には 0 および 1 として参照される 2 つのアップリンク ポートがあります)。
- チャネル番号:これは、アダプタ上の VNIC の一意のチャネル ID です。これは、Nexus 5000 の vEth インターフェイス上の bind コマンドで参照されます。チャネル番号の範囲は VNTag 物理リンクに制限されます。チャネルは、スイッチとサーバ アダプタ間の物理リンク上の「仮想リンク」と見なすことができます。
- ポート プロファイル:アップストリーム Nexus 5000 上で定義されたポート プロファイルのリストを選択できます。Nexus 5000 が vEthernet auto-create コマンドで設定されている場合は、vEth インターフェイスが Nexus 5000 上で自動的に作成されます。vEthernet ポート プロファイル名のみがサーバに渡されることに注意してください(ポート プロファイル設定は渡されません)。 この処理は、VNTag リンク接続が確立され、スイッチとサーバ アダプタ間で最初のハンドシェイクとネゴシエーションの手順が実行されてから行われます。
- アップリンク フェールオーバーの有効化:設定されたアップリンク ポートがオフラインになると、VNIC が他の P81E アップリンク ポートにフェールオーバーします。
![](/c/dam/en/us/support/docs/switches/nexus-5000-series-switches/117690-configure-vmfex-06.jpg)
- サーバをリブートします。
- ESXi ホストに VEM をインストールします。
ESXi ホストへの VEM のインストール例については、『Cisco UCS Manager VM-FEX for VMware GUI コンフィギュレーション ガイド リリース 2.1』の「ESX または ESXi ホストにおける Cisco VEM ソフトウェア バンドル のインストールまたはアップグレード」を参照してください。
注:次に示すスイッチ設定のすべては、vPC プライマリ スイッチ上でのみ行う必要のあるソフトウェア仮想スイッチ(SVS)接続コマンドと XML 拡張キーを除いて、両方の Nexus 5500 VPC ピアで設定する必要があります。
- 仮想化機能セット、VM-FEX 機能、および HTTP 機能を有効にします。
(config)# install feature-set virtualization
(config)# feature-set virtualization
(config)# feature vmfex
(config)# feature http-server
(Optional) Allow the Nexus 5000 to auto-create its Vethernet interfaces when the
corresponding vNICs are defined on the server:
(config)# vethernet auto-create
- ホスト インターフェイス上で VNTag を有効にします。
Configure the N5k interface that connects to the servers in VNTAG mode:
(config)# interface Eth 1/1
(config-if)# switchport mode vntag
(config-if)# no shutdown
- スタティック vEth を確立します。
両方の Nexus 5500 スイッチで、サーバ VIC 上で有効にされた 2 つのスタティック VNIC に接続する必要のあるスタティック vEth 仮想インターフェイスを有効にします。
Nexus 5548-A で、次のように入力します。
interface vethernet 1
bind interface eth 1/1 channel 10
no shutdown
Nexus 5548-B で、次のように入力します。
interface vethernet 2
bind interface eth 1/1 channel 11
no shutdown
または、vethernet auto-create コマンドを使用して、これらの vEth インターフェイスを自動的に作成することができます。
注:アクティブ/アクティブ FEX モジュールにデュアルホーム接続されたサーバを含むトポロジの場合は、サーバ VNIC でアップリンク フェールオーバーを有効にする必要があり、スイッチ vEthernet インターフェイスで bind interface コマンドを 2 回(サーバが接続された FEX ホスト インターフェイス(HIF)ポートごとに 1 回ずつ)実行する必要があります。 各 Nexus 5000 スイッチの vEthernet インターフェイスはアクティブかスタンバイのどちらかになります。
次に例を示します。
2 つの Nexus 5000 のそれぞれで、次のように設定します。
interface Vethernet1
description server_uplink1
bind interface Ethernet101/1/1 channel 11
bind interface Ethernet102/1/1 channel 11
interface Vethernet2
description server_uplink2
bind interface Ethernet101/1/1 channel 12
bind interface Ethernet102/1/1 channel 12
- vCenter への SVS 接続を設定して接続します。
両方の Nexus 5500 スイッチで、次のように設定します。
svs connection <name>
protocol vmware-vim
remote ip address <vCenter-IP> vrf <vrf>
dvs-name <custom>
vmware dvs datacenter-name <VC_DC_name>
vPC プライマリ スイッチでのみ、vCenter に接続します。
svs connection <name>
connect
Sample configuration on VPC primary:
svs connection MyCon
protocol vmware-vim
remote ip address 10.2.8.131 port 80 vrf management
dvs-name MyVMFEX
vmware dvs datacenter-name MyVC
connect
vPC セカンダリの設定例を以下に示します。
svs connection MyCon
protocol vmware-vim
remote ip address 10.2.8.131 port 80 vrf management
dvs-name MyVMFEX
vmware dvs datacenter-name MyVC
- Nexus 5000 上でポート プロファイルを作成します。
両方の Nexus 5500 スイッチ上で、ポート プロファイルを VM-FEX VNIC 用に設定します。これらのポート プロファイルは、vCenter 内の DVS スイッチのポート グループとして表示されます。
以下が一例です。
vlan 10,20
port-profile type vethernet VM1
dvs-name all
switchport mode access
switchport access vlan 10
no shutdown
state enabled
port-profile type vethernet VM2
dvs-name all
switchport mode access
switchport access vlan 20
no shutdown
state enabled
注:dvs-name all コマンドは、このポート プロファイルをポート グループとしてエクスポートする必要のある vCenter 内の DVS スイッチを定義します。データセンター内のすべての DVS スイッチにポート グループをエクスポートするには、option all コマンドを使用します。
VM 高性能モード
高性能モード(DirectPath IO)を実装し、VM トラフィックのハイパーバイザをバイパスするには、high-performance host-netio コマンドで vEthernet ポート プロファイルを設定します。VPC トポロジの場合は、両方の vPC ピア スイッチ上で必ずポート プロファイルを編集する必要があります。以下に、いくつかの例を示します。
port-profile type vethernet VM2
high-performance host-netio
高性能モードを有効にするには、VM が次の前提条件を満たしている必要があります。
- VM 仮想アダプタは、vmxnet3 タイプにする必要があります(vCenter で確認:右メニューで [VM]を右クリックし、[Edit settings] > [Network adapter] > [Adapter type] の順に選択)。
- VM でフル メモリを予約する必要があります(vCenter で、[VM] を右クリックし、[Edit settings] > [Resources] タブ > [Memory] > [Slide]の順に選択して、予約スライダーを右端に移動)。
- VM 上で実行しているオペレーティング システムはこの機能をサポートする必要があります。
使用中に高性能モード(DirectPath IO)を確認する方法を以下に示します。
VM ハードウェア設定で、右メニューの [DirectPath I/O] フィールドに、VM 高性能モードが使用されている場合はアクティブとして表示され、デフォルトの VM パススルー モードが使用されている場合は非アクティブとして表示されます。
![](/c/dam/en/us/support/docs/switches/nexus-5000-series-switches/117690-configure-vmfex-07.jpg)
- VPC プライマリ Nexus 5548 を vCenter に登録します。
注:VPC トポロジでは、プライマリ vPC スイッチが vCenter だけでなく、ポート プロファイルにも拡張キー ペアをプッシュします。拡張キーは、プライマリ VPC ピアからセカンダリ vPC ピアに同期されます。これは、後で、show svs connectioncommand で確認します。このコマンドは、両方のピアで同じ拡張キーを報告します。2 つの Nexus 5500 が VPC ピアでない場合は、設定される拡張キーがスイッチごとに異なるため、各スイッチは vCenter に対して別々の SVS 接続を確立する必要があります。
HTTP 経由で VPC プライマリ Nexus 5548 に接続し、拡張 XML ファイルをダウンロードします。
![](/c/dam/en/us/support/docs/switches/nexus-5000-series-switches/117690-configure-vmfex-08.jpg)
その後で、その拡張プラグインを vCenter に登録します。[Plug-ins]> [Manage Plug-ins] の順に選択し、右クリックして [New Plug-in] を選択します。
- vCenter に接続します(ステップ 8 を参照)。
- Nexus 5000 が vDS として vSphere に登録されていることを確認します。
Nexus 5000 上の svs connection で dvs-name 内に定義された名前を持つ vCenter 上の新しい DVS の作成を確認します。[Home]> [Inventory] > [Networking] の順に選択します。
![](/c/dam/en/us/support/docs/switches/nexus-5000-series-switches/117690-configure-vmfex-09.jpg)
Nexus 5000 VPC プライマリ スイッチ上で、次のコマンドを使用して SVS 接続がオンラインになっていることを確認します。
n5k1# show svs connections
Local Info:
-----------
connection MyCon:
ip address: 10.2.8.131
remote port: 80
vrf: management
protocol: vmware-vim https
certificate: default
datacenter name: MyVC
extension key: Cisco_Nexus_1000V_126705946
dvs name: MyVMFEX
DVS uuid: 89 dd 2c 50 b4 81 57 e4-d1 24 f5 28 df e3 d2 70
config status: Enabled
operational status: Connected
sync status: in progress
version: VMware vCenter Server 5.0.0 build-455964
Peer Info:
----------
connection MyCon:
ip address: 10.2.8.131
remote port: 80
vrf: management
protocol: vmware-vim https
extension key: Cisco_Nexus_1000V_126705946
certificate: default
certificate match: TRUE
datacenter name: MyVC
dvs name: MyVMFEX
DVS uuid: -
config status: Disabled
operational status: Disconnected
n5k1#
- VM ポート グループが vCenter で使用できることを確認します。
Nexus 5000 上で定義された vEthernet ポート プロファイルが vCenter でネットワーキング ビュー内の DVS 上のポート グループとして表示されるはずです。
![](/c/dam/en/us/support/docs/switches/nexus-5000-series-switches/117690-configure-vmfex-10.jpg)
- ESXi ホストを DVS に移行します。
VSphere から、[Home]> [Inventory] > [Networking] の順に選択して、DVS 名を右クリックしてから、[Add Host] をクリックし、ESXi ホストを DVS に追加します。
アダプタ FEX 仮想インターフェイスは ESXi ホスト アップリンクです。これらのアップリンク ポートのデフォルト アップリンク ポート グループ(unused_or_quarantine_uplink)を選択します。
- VM をプロビジョニングします。
VM のネットワーク アダプタの VM-FEX ポート グループを選択します(右メニューで [VM]を右クリックし、[Edit Settings] > [Network Adapter] > [Network Label] の順に選択)。
- VM VNIC がプロビジョニングされます。
- アダプタがスイッチへの VIC インターフェイスの作成を開始します。
VM ネットワーク アダプタが VM-FEX ポート グループにマップされている場合は、vEthernet インターフェイスが Nexus 5000 上で動的に作成されます。動的に作成される vEth インターフェイスの範囲は 32769 から始まります。
このようなインターフェイスは、次のコマンド経由で確認できます。
# show interface virtual status
# show interface virtual summary
確認とトラブルシューティング
この項は、設定が正しく動作することを確認し、発生した問題をトラブルシューティングするために使用します。
- UCS-C サーバの 2 つのスタティック VNIC が VN-Link を使用して Nexus 5500 上のスタティック固定 vEth インターフェイスに接続されていることを確認するために、次のコマンドを入力します。
n5k1# show system internal dcbx info interface e1/1
Interface info for if_index: 0x1a001000(Eth1/1)
tx_enabled: TRUE
rx_enabled: TRUE
dcbx_enabled: TRUE
DCX Protocol: CEE
DCX CEE NIV extension: enabled
<output omitted>
- 2 つのデュアルホーム接続された FEX へのアクティブ/スタンバイ トポロジの場合は、vEth インターフェイスが 2 つの Nexus 5000 VPC スイッチ上でアクティブまたはスタンバイ モードとして表示されることを確認します。
ここでは、モードが不明として表示されます。
n5k1# show int virtual status
Interface VIF-index Bound If Chan Vlan Status Mode Vntag
-------------------------------------------------------------------------
Veth1 VIF-16 Eth101/1/1 11 1 Up Active 2
Veth1 None Eth102/1/1 11 0 Init Unknown 0
Veth2 None Eth101/1/1 12 0 Init Unknown 0
Veth2 None Eth102/1/1 12 0 Init Unknown 0
Veth3 VIF-18 Eth101/1/2 11 1 Up Active 2
Veth3 None Eth102/1/2 11 0 Init Unknown 0
Veth4 None Eth101/1/2 12 0 Init Unknown 0
Veth4 VIF-19 Eth102/1/2 12 1 Up Active 3
不明なモードが表示された場合は、vNIC 上のアップリンク フェールオーバー モードが有効になっていることを確認します。また、CIMC で指定されたチャネル番号が vEthernet 設定で指定されたチャネル番号と一致することを確認します。
正しい出力は次のようになるはずです。
n5k1# show int virtual status
Interface VIF-index Bound If Chan Vlan Status Mode Vntag
-------------------------------------------------------------------------
Veth1 VIF-27 Eth101/1/1 11 1 Up Active 2
Veth1 VIF-35 Eth102/1/1 11 1 Up Standby 2
Veth2 VIF-36 Eth101/1/1 12 1 Up Standby 3
Veth2 VIF-33 Eth102/1/1 12 1 Up Active 3
Veth3 VIF-30 Eth101/1/2 11 1 Up Active 2
Veth3 VIF-21 Eth102/1/2 11 1 Up Standby 2
Veth4 VIF-24 Eth101/1/2 12 1 Up Standby 3
Veth4 VIF-31 Eth102/1/2 12 1 Up Active 3
- vEth インターフェイスはスイッチ上に表示されません。
UCS-C サーバ CIMC HTTP メニューで、次の内容を確認します。
- NIV がアダプタ上で有効になっている。
- VM-FEX インターフェイスのゼロ以外の番号がアダプタ上で設定されている。
- アダプタ フェールオーバーが VNIC 上で有効になっている。
- UCS-C サーバが上記設定後に再起動された。
- vEth インターフェイスがオンラインになりません。
次のコマンドで VIF_CREATE が表示されるかどうかを確認します。
# show system internal vim info logs interface veth 1
03/28/2014 16:31:47.770137: RCVD VIF CREATE request on If Eth1/32 <<<<<<<
03/28/2014 16:31:53.405004: On Eth1/32 - VIC CREATE sending rsp for msg_id 23889
to completion code SUCCESS
03/28/2014 16:32:35.739252: On Eth1/32 - RCVD VIF ENABLE. VIF-index 698 msg id 23953
VIF_ID: 0, state_valid: n, active
03/28/2014 16:32:35.802019: On Eth1/32 - VIC ENABLE sending rsp for msg_id 23953 to
completion code SUCCESS
03/28/2014 16:32:36.375495: On Eth1/32 - Sent VIC SET, INDEX: 698, msg_id 23051, up,
enabled, active, cos 0VIF_ID: 50 vlan:
1 rate 0xf4240, burst_size 0xf
03/28/2014 16:32:36.379441: On Eth1/32 - RCVD VIC SET resp, INDEX: 698, msg_id 23051,
up, enabled,active, cos 0, completion
code: 100
VIF_CREATE が表示されないか、スイッチが正しく応答しない場合は、次の手順を実行します。
- vCenter で、DVS スイッチが ESX ホストの 2 つの物理アップリンクで正しく設定されていることを確認します(DVS スイッチを右クリックして、[Manage Hosts] > [Select Physical Adapters] の順に選択)。
- vCenter で、VMNIC で正しいネットワーク ラベル/ポート プロファイルが選択されていることを確認します([VM]を右クリックしてから [Edit Settings] を選択し、[Network adapter] をクリックして、[Network label] を確認)。
- vCenter への SVS 接続がオンラインになりません。
前の項のステップ 12 で示されているように、Nexus 5000 が vCenter に接続されていることを確認するためにこのプロセスを使用します。
- vCenter で、DVS がネットワーキング ビューに表示されることを確認します。
- Nexus 5000 VPC プライマリで、SVS が接続されていることを確認します(show svs connection コマンドを使用)。
接続が確立されない場合は、以下を確認します。
- SVS 設定が両方の VPC ピアで同じである。
- VPC が初期化され、ロールが正しく設定されている。
- VPC プライマリ スイッチ XML 証明書が vCenter にインストールされている。
- VPC プライマリ スイッチが "svs connection" 設定モードで "connect" 設定されている。
- データセンター名が vCenter 上で使用される名前と一致している。
- 正しい Virtual Routing and Forwarding(VRF)が SVS remote コマンドで設定されており、スイッチが vCenter IP アドレスに IP 接続されている。
これらすべての条件が満たされているが、SVS 接続が成功しない場合は、この出力を収集して、Cisco Technical Assistance Center(TAC)にお問い合わせください。
show msp port-profile vc sync-status
show msp internal errors
show msp internal event-history msgs
show vms internal errors
show vms internal event-history msgs
- Nexus 5500 スイッチが HTTP 経由で到達できません。
http-server 機能が有効になっていることを確認します。
n5k1# show feature | i http
http-server 1 disabled
n5k1# conf t
Enter configuration commands, one per line. End with CNTL/Z.
n5k1(config)# feature http-server
n5k1(config)#