在 Linux-KVM 平台上安装 Citrix ADC VPX 实例的必备条件

检查运行 Citrix ADC VPX 实例的 Linux-KVM 服务的最低系统要求。

CPU 要求

  • 64 位 x86 处理器,AMD-V 和 Intel VT-X 处理器中包含硬件虚拟化功能。

要测试您的 CPU 是否支持 Linux 主机,请在 Linux shell 提示下输入以下命令:

\*.egrep'^flags.\*(vmx|svm)'/proc/cpuinfo*

如果上述扩展的 BIOS 设置处于禁用状态,则必须在 BIOS 中启用这些设置。

  • 至少为主机 Linux 提供 2 个 CPU 内核。

  • 对于处理器的速度没有具体建议,但速度越高,VM 应用程序的性能越优异。

内存 (RAM) 要求

最低 4 GB,用于主机 Linux 内核。添加 VM 所需的其他内存。

硬盘要求

计算主机 Linux 内核和 VM 的空间要求。单个 Citrix ADC VPX 虚拟机需要 20 GB 的磁盘空间。

软件要求

使用的主机内核必须为 64 位 Linux 内核发行版 2.6.20 或更高版本,具有所有虚拟化工具。Citrix 建议使用较新的内核,例如 3.6.11-4 及更高版本。

许多 Linux 分发版(例如 Red Hat、Centos 和 Fedora)具有已经过测试的内核版本及关联的虚拟化工具。

来宾虚拟机硬件要求

Citrix ADC VPX 支持 IDE 和 Virtio 硬盘类型。已在 XML 文件中配置硬盘类型,该文件是 Citrix ADC 包的一部分。

联网要求

Citrix ADC VPX 支持 Virtio 半虚拟化、SR-IOV 和 PCI 直通网络接口。

有关受支持的网络接口的详细信息,请参阅:

源接口和模式

源设备类型可以是“Bridge”(桥接)或“MacVTap”。如果是“MacVTap”,则四个可能的模块为“VEPA”、“Bridge”(桥接)、“Private”(专用)和“Pass-through”(直通)。检查您可以使用的接口类型和支持的流量类型,如下所示。

桥梁

  • Linux 桥接。
  • 如果未选择正确的设置或禁用了 IPtable 服务,则主机 Linux 上的 Ebtables 和 iptables 设置可能会过滤网桥上的通信。

麦克风 (VEPA 模式)

  • 性能优于桥接。
  • 可以在 VM 之间共享同一低级设备的接口。
  • 使用相同的虚拟机间通信
  • 仅当上游或下游交换机支持 VEPA 模式时,才可能使用较低的器件。

麦克风(专用模式)

  • 性能优于桥接。
  • 可以在 VM 之间共享同一低级设备的接口。
  • 不支持使用同一低级设备在 VM 内部进行通信。

麦克夫塔(桥梁模式)

  • 与桥接相比,性能更优异。
  • 可以在 VM 之间共享不属于同一低级设备的接口。
  • 如果低级设备链接为 UP,则可以使用同一低级设备在 VM 内部进行通信。

麦克达 (直通模式):

  • 与桥接相比,性能更优异。
  • 无法在 VM 之间共享不属于同一低级设备的接口。
  • 只有一个 VM 可以使用低级设备。

注意:为了实现 VPX 实例的最佳性能,请确保在源接口上关闭 GRO 和 lro 功能。

源接口的属性

请务必关闭源接口的 generic-receive-offload (gro) 和 large-receive-offload (lro) 功能。要关闭 gro 和 lro 功能,请在主机 Linux shell 提示下运行以下命令。

ethtool -K eth6 gro off ethool -K eth6 lro off

示例

[root@localhost ~]# ethtool -K eth6

eth6 的卸载参数:

rx-检查和:在

tx-检查和:开启

散射聚集:开

tcp 分段卸载:开启

udp 碎片卸载:关闭

通用分段-卸载:在

一般接收-卸载:关闭

大接收卸载:关闭

RX-vlan-卸载:关于

tx-vlan-卸载:关于

ntu-过滤器:关闭

接收散列:在

[root@localhost ~]#

示例

如果主机 Linux 桥接用作源设备(如下例所示),则必须在 vnet 接口上关闭 gro 和 lro 功能,这是将主机连接到来宾 MV 时使用的虚拟接口。

[root@localhost ~]# brctl show eth6_br

桥接名称     桥接  ID 启用               STP 的接口

eth6_br         8000.00e0ed1861ae          no         eth6

vnet0

vnet2

[root@localhost ~]#

在上例中,这两个虚拟接口是从 eth6_br 派生的,用 vnet0 和 vnet2 表示。运行以下命令关闭这些接口上的 gro 和 lro 功能。

道德工具-K vnet0 格罗关闭
伦理工具-K vnet2 格罗关闭
伦理工具-K vnet0 关闭
伦理工具-K vnet2 关闭

混杂模式

必须为以下功能启用混杂模式,这些功能才能运行:

  • L2 模式
  • 多播流量处理
  • 广播
  • IPV6 流量
  • 虚拟 MAC
  • 动态路由

请使用以下命令启用混杂模式。

[root@localhost ~]# ifconfig eth6 promisc
[root@localhost ~]# ifconfig eth6
eth6       Link encap:Ethernet  HWaddr 78:2b:cb:51:54:a3
inet6 addr: fe80::7a2b:cbff:fe51:54a3/64 Scope:Link
UP BROADCAST RUNNING PROMISC MULTICAST  MTU:9000  Metric:1
RX 数据包:142961 错误:0 掉落:0 超越:0 帧:0
德克萨斯州数据包:2895843 错误:0 掉落:0 超越:0 承运人:0
碰撞:0 克斯队列:1000
RX 字节:14330008 (14.3 MB)  TX 字节:1019416071 (1.0 GB)

[root@localhost ~]#

需要模块

要获得更优异的网络性能,请确保 Linux 主机中存在 vhost_net 模型。要检查 vhost_net 模块是否存在,请在 Linux 主机上运行以下命令:

lsmod | grep "vhost_net"

如果 vhost_net 尚未运行,请输入以下命令运行该模型:

modprobe vhost_net

在 Linux-KVM 平台上安装 Citrix ADC VPX 实例的必备条件