目录

简介

先决条件

要求

使用的组件

背景信息

最大端口数

端口使用者

问题

N1KV版本服务(1.4a)及更高版本解决方案

SVS连接最大端口

vEth端口绑定自动

简介

本文档介绍VMware分布式虚拟交换机(DVS)在与Cisco Nexus 1000V系列交换机(N1KV)交互时可用的最大端口数问题，并提供了解决该问题的解决方案。

先决条件

要求

Cisco 建议您了解以下主题：

- N1KV

- VMware DVS

使用的组件

本文档中的信息基于N1KV和VMware DVS。

本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始（默认）配置。如果您使用的是真实网络，请确保您已经了解所有命令的潜在影响。

背景信息

N1KV及其与VMware DVS基础架构的交互最常见的问题之一是DVS的最大端口数限制。在N1KV上创建具有足够可用端口的端口配置文件以满足您当前和未来的需求非常重要。因此，大多数人会将虚拟以太网(vEth)端口配置文件中的最大端口数增加到更大的数量。

从N1KV侧看，增加幅度很好；从VMware DVS方面来看，增加可能是个问题。创建并启用vEth端口配置文件时，端口会立即保留在VMware DVS上。这可能是云和某些企业环境中的问题。本文档将检查端口数量最大的一些限制，以便了解问题。

最大端口数

以下是每台设备的最大端口数（最大端口数）列表：

- VMware vCenter版本4.0每个DVS的最大端口数= 8,192

- VMware vCenter版本4.1，每个DVS最多端口数= 20,000

- VMware vCenter版本5.0每个DVS最多端口数= 30,000

- VMware vCenter版本5.5，每个DVS最多端口数= 60,000

- N1KV最大vEth端口数= 2,048

端口使用者

以下是有关端口使用者的一些重要要点：

- 添加到N1KV的每台VMware ESX/ESXi主机始终会消耗32个端口。无法更改vEth类型的端口配置文件的端口消耗。

- 每个vEth端口配置文件在启用时使用其最大端口设置。

- 某些端口由DVS和N1KV在内部使用。

问题

使用8个vEth端口配置文件和32台ESX主机配置N1KV时，您会遇到问题。详情如下：

- 带vSphere 4.0的N1KV版本服务(1.4)的DVS最多有8,192个端口。

- 设置32台ESX主机需要1,024个DVS端口（32个端口x 32台主机）。

- 最多8,192个端口，减去1,024个端口要求，最多只有7,168个端口可用。

- 如果有8个vEth端口配置文件，每个配置文件的最大端口数设置为1,024，则它们使用8,192个端口。但是，最多只剩7,168个端口。因此，N1KV处于缺口。(8,192 - 7,168 = 1,024)

- DVS上需要另外1,024个可用端口才能使配置正常运行。

在版本SV(1.4a)之前，解决方案是在vSphere 4.x(1038193)知识库（知识库）中通过VMware或增加vNetwork分布式交换机(vDS)端口的最大数量(vDS)，将最大端口数设置得更低、升级到较新版本的vSphere或将DVS可用端口设置得更高KB)文章。之前的所有选项都是危害或难以配置的，如知识库文章所示。

N1KV版本服务(1.4a)及更高版本解决方案

版本1.4a引入了两个新选项，可改善与DVS可用端口的交互：

- SVS（软件虚拟交换机）连接最大端口

- vEth端口绑定自动

SVS连接最大端口

这是SVS连接下的一个新选项，在该选项中，您实际上可以通过N1KV和vCenter服务器之间的SVS连接增加可用DVS端口的数量。您使用以下命令设置它：

n1kv-14a(config)# svs connection VC

n1kv-14a(config-svs-conn)# max-ports ?

<0-50000>  Number of max-ports for this connection

n1kv-14a(config-svs-conn)# max-ports 9000

在此命令中，vCenter 4.0设备上的可用端口已更改为9,000。缺点是vCenter不显示vSphere客户端中的额外端口。但是，下一张图显示，已创建超过8,192的DVS端口：

进行此更改时，必须与VMware管理员合作。VMware出于某种原因发布DVS端口的最大设置，因此，在对此设置进行任何剧烈更改之前，您应与管理员联系。

vEth端口绑定自动

vEth端口绑定自动是一项强大功能。它会根据需要分配端口，而不是同时分配所有端口。自动功能可与静态和动态端口绑定配合使用。静态和动态端口绑定都预分配DVS端口，而临时不预分配DVS端口。要打开它，请使用以下命令：

n1kv-14a(config)# port-profile type vethernet profile2

n1kv-14a(config-port-prof)# vmware port-group

n1kv-14a(config-port-prof)# switchport mode access

n1kv-14a(config-port-prof)# switchport access vlan 158

n1kv-14a(config-port-prof)# no shutdown

n1kv-14a(config-port-prof)# max-ports 1024

n1kv-14a(config-port-prof)# port-binding static auto

n1kv-14a(config-port-prof)# state enabled

注意：如果修改当前vEth端口配置文件以auto，则必须将端口绑定更改为no state enable，然后将state enable。这是对当前端口配置文件的破坏性更改。

创建端口配置文件时，会从DVS分配17个端口。您可以将16个数据块分配到端口配置文件的最大端口。当您在当前分配的三个端口内到达时，您将再添加16个端口。以下是vCenter 4.0中上一个端口配置文件的屏幕截图：

以下是第14个虚拟机(VM)添加到端口配置文件2后的屏幕截图:

如果要预分配17个以上端口到端口配置文件，请在端口配置文件下使用new min-ports命令。如果必须在端口配置文件上创建大量虚拟机，最小端口会预分配DVS上的更多端口，从而增加开销。

n1kv-14a(config)# port-profile profile8

n1kv-14a(config-port-prof)# min-ports 40

注意：请记住，这些功能仅适用于版本1.4a。