将 NetScaler VPX 实例配置为使用 SR-IOV 网络接口
在 VMware ESX 上安装和配置 NetScaler VPX 实例后,您可以使用 VMware vSphere Web 客户端将虚拟设备配置为使用单根 I/O v 虚拟化 (SR-IOV) 网络接口。
限制
配置了 SR-IOV 网络接口的 NetScaler VPX 具有以下限制:
- 在 ESX VPX 上,以下功能在使用 Intel 82599 10G NIC 的 SR-IOV 接口上不受支持:
- L2 模式切换
- 静态链路聚合和 LACP
- 群集
- 管理分区 [共享 VLAN 模式]
- 高可用性 [主主模式]
- 巨型帧
- IPv6
- 在 KVM VPX 上,以下功能在使用 Intel 82599 10G NIC 的 SR-IOV 接口上不受支持:
- 静态链路聚合和 LACP
- L2 模式切换
- 群集
- 管理分区 [共享 VLAN 模式]
- 高可用性 [主动-主动模式]
- 巨型帧
- IPv6
- 不支持通过
ip link
命令在适用于 SR-IOV VF 接口的虚拟机管理程序上对 VLAN 所做的配置。
必备条件
-
确保将以下任何 NIC 添加到 ESX 主机:
- 推荐使用 Intel 82599 NIC、IXGBE 驱动程序版本 3.7.13.7.14iov 或更高版本。
- Mellanox ConnectX-4 NIC
-
在主机物理适配器上启用 SR-IOV。
按照以下步骤在主机物理适配器上启用 SR-IOV:
-
在 vSphere Web Client 中,导航到“主机”。
-
在 Manage(管理)> Networking(网络连接)选项卡中,选择 Physical adapters(物理适配器)。 “SR-IOV Status”(SR-IOV 状态)字段将显示物理适配器是否支持 SR-IOV。
-
选择物理适配器,然后单击铅笔图标以打开 Edit Settings(编辑设置)对话框。
-
在“SR-IOV”下,从 Status(状态)下拉列表中选择 Enabled(已启用)。
-
在 Number of virtual functions(虚拟功能数)字段中,输入要为适配器配置的虚拟功能的数量。
- 单击确定。
- 重新启动 主机。
-
-
创建分布式虚拟交换机 (DVS) 和
Portgroups
。 有关说明,请参阅 VMware 文档。注意:
Citrix 仅有资格在 DVS 和
Portgroups
上配置 SR-IOV。
要使用 VMware vSphere Web Client 将 NetScaler VPX 实例配置为使用 SR-IOV 网络接口,请执行以下操作:
-
在 vSphere Web Client 中,选择 主机和群集。
-
将 NetScaler VPX 实例的兼容性设置升级到 ESX 5.5 或更高版本,如下所示:
a。 关闭 NetScaler VPX 实例的电源。
a。 b. 右键单击 NetScaler VPX 实例,然后选择 兼容性 > 升级虚拟机兼容性。
a。 c. 在“配置 VM 兼容性”对话框中,从“兼容 对于”下拉列表中选择 ESXi 5.5 及更高版本,然后 单 击确定。
-
右键单击 NetScaler VPX 实例,然后单击“编辑设置”。
-
在 ** <virtual_appliance>-编辑设置对话框中,单击 **CPU 部分。
-
在 CPU 部分中,更新以下设置:
- CPU 数量
- 插槽数量
- 预订
- 限制
- 共享数
请按如下所示设置各个值:
a。 a. 在 CPU 下拉列表中,选择要分配给虚拟设备的 CPU 数量。
a。 b. 在“每插槽内核”下拉列表中,选择插槽数量。
a。 c. (可选)在 CPU Hot Plug(CPU 热插拔)字段中,选中或取消选中 Enable CPU Hot Add(启用 CPU 热添加)复选框。
注意:
Citrix 建议接受默认设置(禁用)。
d. d. 在“预留”下拉列表中,选择显示为最大值的数字。
e. e. 在限制下拉列表中,选择显示为最大值的数字。
f. f. 在“共 享”下拉列表中,选择“自定义”和显示为最大值的数字。
-
在 Memory(内存)部分中,更新以下设置:
- RAM 大小
- 预订
- 限制
- 共享数
请按如下所示设置各个值:
a。 a. 在 RAM 下拉列表中,选择 RAM 的大小。 必须为 vCPU 数 x 2 GB。 例如,如果 vCPU 数为 4,则 RAM 为 4 x 2 GB = 8 GB。
注意:
对于 NetScaler VPX 设备的高级版或优质版,请确保为每个 vCPU 分配 4 GB 的 RAM。 例如,如果 vCPU 数为 4,则 RAM 为 4 x 4 GB =16 GB。
a。 b. 在“预留”下拉列表中,输入内存预留的值,然后选中“预 留所有客户内存(全部锁定)”复选框。 内存预留量必须为 vCPU 数 × 2 GB。 例如,如果 vCPU 数为 4,则内存预留量必须为 4 x 2 GB = 8 GB。
注意:
对于 NetScaler VPX 设备的高级版或优质版,请确保为每个 vCPU 分配 4 GB 的 RAM。 例如,如果 vCPU 数为 4,则 RAM 为 4 x 4 GB =16 GB。
a。 e. 在限制下拉列表中,选择显示为最大值的数字。
d. d. 在 Shares(共享)下拉列表中,选择 Custom自定义),然后选择将显示为最大值的数字。
-
添加 SR-IOV 网络接口。 从 新设备 下拉列表中,选择 网络 ,然后单击 添加。
-
在 New Network(新建网络)部分中。 在下拉列表中选择已创建的
Portgroup
,然后执行以下操作:a。 a. 在 Adapter Type(适配器类型)下拉列表中,选择 SR-IOV passthrough(SR-IOV 直通)。
a。 b. 在 Physical function(物理功能)下拉列表中,选择通过
Portgroup
映射的物理适配器。a。 c. 在 Guest OS MTU Change(来宾操作系统 MTU 更改)下拉列表中,选择 Disallow(不允许)。
-
在 <virtual_appliance> - Edit Settings(<virtual_appliance> - 编辑设置)对话框中,单击 VM Options(VM 选项)选项卡。
-
在 VM Options(VM 选项)选项卡中,选择 Advanced(高级)选项。 从 Latency Sensitivity(延迟敏感度)下拉列表中,选择 High(高)。
-
单击确定。
-
打开 NetScaler VPX 实例的电源。
-
NetScaler VPX 实例启动后,您可以使用以下命令来验证配置:
显示接口摘要
输出内容必须显示您已配置的所有接口:
> show interface summary
--------------------------------------------------------------------------------
Interface MTU MAC Suffix
--------------------------------------------------------------------------------
1 0/1 1500 00:0c:29:1b:81:0b NetScaler Virtual Interface
2 10/1 1500 00:50:56:9f:0c:6f Intel 82599 10G VF Interface
3 10/2 1500 00:50:56:9f:5c:1e Intel 82599 10G VF Interface
4 10/3 1500 00:50:56:9f:02:1b Intel 82599 10G VF Interface
5 10/4 1500 00:50:56:9f:5a:1d Intel 82599 10G VF Interface
6 10/5 1500 00:50:56:9f:4e:0b Intel 82599 10G VF Interface
7 LO/1 1500 00:0c:29:1b:81:0b Netscaler Loopback interface
Done
> show inter 10/1
1) Interface 10/1 (Intel 82599 10G VF Interface) #1
flags=0xe460 <ENABLED, UP, UP, HAMON, 802.1q>
MTU=1500, native vlan=55, MAC=00:50:56:9f:0c:6f, uptime 0h21m53s
Actual: media FIBER, speed 10000, duplex FULL, fctl NONE, throughput 10000
LLDP Mode: NONE, LR Priority: 1024
RX: Pkts(838020742) Bytes(860888485431) Errs(0) Drops(2527) Stalls(0)
TX: Pkts(838149954) Bytes(860895860507) Errs(0) Drops(0) Stalls(0)
NIC: InDisc(0) OutDisc(0) Fctls(0) Stalls(0) Hangs(0) Muted(0)
Bandwidth thresholds are not set.
Done