目录

简介

先决条件

要求

使用的组件

VM-FEX概述

定义

配置

网络图

验证与故障排除

简介

本文档介绍如何在Cisco Nexus 5500交换机上配置、运行虚拟机交换矩阵扩展器(VM-FEX)功能并对其进行故障排除。

先决条件

要求

思科建议您对这些主题有基本的了解。

- Nexus虚拟端口通道(VPC)

- VMware vSphere

使用的组件

本文档中的信息基于下列硬件和软件版本：

- 运行5.2(1)N1(4)版的Nexus 5548UP

- 统一计算系统(UCS)-C C210 M2机架式服务器，带运行固件版本1.4(2)的UCS P81E虚拟接口卡

- vSphere版本5.0（ESXi和vCenter）

本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始（默认）配置。如果您的网络处于活动状态，请确保您了解任何命令或数据包捕获设置的潜在影响。

VM-FEX概述

VM-FEX将虚拟和物理网络整合到单个基础设施中。它允许您在统一基础设施中调配、配置和管理虚拟机网络流量和裸机网络流量。

VM-FEX软件通过以下功能将思科交换矩阵扩展器技术扩展到虚拟机：

- 每个虚拟机在父交换机上都包括一个专用接口。

- 所有虚拟机流量都直接发送到交换机上的专用接口。

- 虚拟机监控程序中的标准vSwitch已消除。

VM-FEX是一种分布式虚拟交换机（DVS或VDS）。 DVS提供跨多个ESX服务器的单个交换机的抽象，这些服务器是vCenter中同一数据中心容器的一部分。虚拟机(VM)虚拟网络接口控制器(VNIC)配置从VM-FEX中的集中位置（Nexus 5000或UCS）进行维护，本文档说明了基于Nexus 5000的VM-FEX)。

VM-FEX可在两种模式下运行：

- 传递：这是默认模式，在该模式下，VEM参与VM流量的数据路径。

- 高性能：VM流量不由VEM处理，而是直接传递到网络IO虚拟化(NIV)适配器。

为了使用高性能模式，端口配置文件配置应请求该模式，VM操作系统及其虚拟适配器应支持该模式。有关此方面的详细信息，请参阅本文档后面的部分。

定义

- 虚拟以太网模块(VEM)。 在ESX虚拟机监控程序内运行并在单个软件包中提供VNLink实施的思科软件模块

- 网络IO虚拟化(NIV)使用VNtagging，以便在同一物理以太网通道中部署多个虚拟网络链路(VN-Link)

- 数据中心桥接功能交换(DCBX)

- VNIC接口控制(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之间执行本地交换。

配置

该拓扑是一台UCS-C服务器，其P81E VIC双宿至两台Nexus 5548 VPC交换机。

注意：使用命令查找工具（仅限注册用户）可获取有关本部分所使用命令的详细信息。

网络图

必须已部署以下必需组件：

- VPC在两台Nexus 5000交换机之间已正确配置和初始化。

- VMWare vCenter安装并通过vSphere客户端连接到。

- ESXi安装在UCS-C服务器上并添加到vCenter。

配置步骤概述如下：

1. 在服务器适配器上启用NIV模式：

1. 通过HTTP连接到思科集成管理控制器(CIMC)接口，并使用管理员凭证登录。

2. 选择Inventory > Network Adapters > Modify Adapter Properties。

3. 启用NIV模式，设置VM FEX接口数，并保存更改。

4. 关闭电源，然后打开服务器电源。

服务器重新联机后，验证NIV已启用：

2. 在服务器上创建两个静态vEth。

要创建两个VNIC，请选择Inventory > Network Adapters > VNICs > Add。

以下是要定义的最重要字段：

- 要使用的VIC上行链路端口（P81E有两个上行链路端口，称为0和1）。

- 信道编号:这是适配器上VNIC的唯一通道ID。这在Nexus 5000的vEth接口下的bind命令中引用。信道号的范围仅限于VNTag物理链路。该通道可视为交换机和服务器适配器之间物理链路上的“虚拟链路”。

- 端口配置文件：可以选择在上游Nexus 5000上定义的端口配置文件列表。如果Nexus 5000配置了vEthernet auto-create命令，则会在Nexus 5000上自动创建vEth接口。请注意，只有vEthernet端口配置文件名称会传递到服务器（端口配置文件配置不会）。 在建立VNTag链路连接并在交换机和服务器适配器之间执行初始握手和协商步骤后，会发生这种情况。

- 启用上行链路故障切换：如果配置的上行链路端口离线，VNIC会故障切换到其他P81E上行链路端口。

3. 重新启动服务器。

4. 在ESXi主机上安装VEM。

有关在ESXi主机上安装VEM的示例，请参阅Cisco UCS Manager VM-FEX for VMware GUI配置指南，版本2.1中的在ESX或ESXi主机上安装或升级Cisco VEM软件捆绑包。

注意：下面显示的所有交换机配置应在Nexus 5500 VPC对等体上进行配置，但软件虚拟交换机(SVS)连接命令和XML扩展密钥除外，这些配置应仅在VPC主交换机上完成。

5. 启用虚拟化功能集和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

6. 在主机接口上启用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

7. 启动静态vEth。

在两台Nexus 5500交换机上，启用应连接到服务器VIC上启用的两个静态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
或者，这些vEth接口可以使用vethernet auto-create命令自动创建。

注意：如果拓扑涉及双宿主服务器到主用/主用FEX模块，则服务器VNIC应启用上行链路故障切换，并且交换机vEthernet接口具有两个绑定接口命令(每个服务器连接的FEX主机接口(HIF)端口一次)。 每台Nexus 5000交换机上的vEthernet接口为主用或备用接口。
下面是一个示例。

在两台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

8. 配置与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

9. 在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交换机。使用option all命令将端口组导出到数据中心中的所有DVS交换机。

VM高性能模式

为了实施高性能模式(DirectPath IO)并绕过虚拟机监控程序来传输VM流量，请使用high-performance host-netio命令配置vEthernet端口配置文件。对于VPC拓扑，应始终在两台VPC对等交换机上编辑端口配置文件。例如：

port-profile type vethernet VM2

high-performance host-netio
要使高性能模式正常运行，您的虚拟机必须具备以下附加前提条件：

- VM虚拟适配器应为vmxnet3类型(签入vCenter:右键单击右菜单上的VM >编辑设置>网络适配器>适配器类型)。

- VM必须具有完全内存预留(在vCenter中：右键单击VM >编辑设置>资源选项卡>内存>幻灯片保留滑块至最右侧)。

- 在VM上运行的操作系统应支持此功能。

以下是使用高性能模式(DirectPath IO)时如何验证。

在VM硬件设置下，右菜单中的DirectPath I/O字段在VM高性能模式使用时显示为活动状态，在默认VM直通模式使用时显示为非活动状态。

10. 在vCenter中注册VPC主Nexus 5548:

注意：在VPC拓扑中，主VPC交换机将扩展密钥对推送到vCenter以及端口配置文件。扩展密钥由主VPC对等体与辅助VPC对等体同步。稍后，使用show svs connection命令（在两个对等体上报告相同的扩展密钥）来验证这一点。如果两个Nexus 5500不是VPC对等体，则为每台交换机配置的扩展密钥将不同，每台交换机必须建立到vCenter的单独SVS连接。
通过HTTP连接到VPC主Nexus 5548并下载扩展XML文件：

然后，在vCenter中注册该扩展插件：选择插件>管理插件>右键单击>新建插件。

11. 连接到vCenter。（请参阅步骤8。）

12. 验证Nexus 5000是否作为vDS注册到vSphere:

验证在vCenter下创建新DVS，其名称在Nexus 5000上svs连接下的dvs-name中定义：选择Home > Inventory > Networking。

在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#

13. 确保vCenter中有VM端口组。

在Nexus 5000上定义的vEthernet端口配置文件应在vCenter中显示为网络视图中DVS下的端口组：

14. 将ESXi主机迁移到DVS。

从VSphere中，选择Home > Inventory > Networking，右键单击DVS名称，然后添加主机，以便将ESXi主机添加到DVS。

适配器 — FEX虚拟接口是ESXi主机上行链路。为这些上行链路端口选择默认的上行链路端口组(unused_or_quarantine_uplink)。

15. 调配VM。

为VM的网络适配器选择VM-FEX端口组(右键单击VM >编辑设置>网络适配器>网络标签在右菜单中)。

16. 已调配VM VNIC。

17. 适配器向交换机发起VIC接口创建。

当VM网络适配器映射到VM-FEX端口组时，Nexus 5000上会动态创建vEthernet接口。动态创建的vEth接口范围从32769开始。

可通过以下命令检查这些接口：

# show interface virtual status

# show interface virtual summary

验证与故障排除

使用此部分可验证配置是否正常工作并排除您遇到的任何问题。

- 要验证UCS-C服务器的两个静态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>

- 如果主用/备用拓扑连接到两个双宿主FEX，请确保两个Nexus 5000 VPC交换机上的vEth接口显示为主用或备用模式。

此处模式显示为未知：

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服务器重新启动。

- 以太网接口不联机。

检查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主机正确配置了两个物理上行链路(右键单击DVS交换机>管理主机>选择物理适配器)。

- 在vCenter中，检查VMNIC是否选择了正确的网络标签/端口配置文件(右键单击VM >编辑设置>单击网络适配器>检查网络标签)。

- 与vCenter的SVS连接未联机。

如上一节的步骤12所示，使用此流程验证Nexus 5000是否已连接到vCenter:

- 在vCenter上，验证DVS是否显示在网络视图下。

- 在Nexus 5000 VPC主设备上，验证SVS是否已连接(使用show svs connection命令)。

如果连接未建立，请验证：

- 两个VPC对等体上的SVS配置相同。

- VPC已初始化，角色已正确建立。

- VPC主交换机XML证书安装在vCenter中。

- VPC主交换机在“svs connection”配置模式下配置了“connect”。

- 数据中心名称与vCenter上使用的名称匹配。

- 在SVS remote命令中配置了正确的虚拟路由和转发(VRF)，并且交换机具有与vCenter IP地址的IP连接。

如果满足所有这些条件但SVS连接仍不成功，请收集此输出并联系思科技术支持中心(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)#