这篇文章已经过机器翻译.放弃
在 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 VM 需要 20 GB 的磁盘空间。
软件要求
使用的主机内核必须为 64 位 Linux 内核发行版 2.6.20 或更高版本,具有所有虚拟化工具。 Citrix 建议使用较新的内核,例如 3.6.11-4 及更高版本。
许多 Linux 发行版(如 Red Hat、Centos 和 Fedora)都测试了内核版本和相关虚拟化工具。
来宾 VM 硬件要求
Citrix ADC VPX 支持 IDE 和 virtIO 硬盘类型。 硬盘类型已作为 Citrix ADC 软件包的一部分在 XML 文件中配置。
网络连接要求
Citrix ADC VPX 支持 virtIO 半虚拟化、SR-IOV 和 PCI 直通网络接口。
有关受支持的网络接口的详细信息,请参阅:
- 使用 Virtual Machine Manager 预配 Citrix ADC VPX 实例
- 将 Citrix ADC VPX 实例配置为使用 SR-IOV 网络接口
- 将 Citrix ADC VPX 实例配置为使用 PCI 直通网络接口
源接口和模式
源设备类型可以是“Bridge”(桥接)或“MacVTap”。 对于 MacVTap,可以使用四种模式 - VEPA、Bridge、Private 和 Pass-through。 检查您可以使用的接口类型和支持的流量类型,如下所示。
桥接:
- Linux 桥接。
- 如果您未选择正确的设置或禁用 IPtable 服务,主机 Linux 上的 ebtables 和 iptables 设置可能会筛选网桥上的流量。
MacVTap(VEPA 模式):
- 性能优于桥接。
- 可以在 VM 之间共享同一低级设备的接口。
- 则可能仅支持使用同一低级设备在 VM 内部进行通信。
- 仅当上游或下游交换机支持 VEPA 模式时,才能使用下部设备。
MacVTap(专用模式):
- 性能优于桥接。
- 可以在 VM 之间共享同一低级设备的接口。
- 不支持使用同一低级设备在 VM 内部进行通信。
MacVTap(桥接模式):
- 与桥接相比,性能更优异。
- 来自同一较低设备的接口可以在 VM 之间共享。
- 如果下层设备链路为 UP,则可以使用同一下层设备进行 VM 间通信。
MacVTap(直通模式):
- 与桥接相比,性能更优异。
- 来自同一较低设备的接口不能在 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
Offload parameters for eth6:
rx-checksumming: on
tx-checksumming: on
scatter-gather: on
tcp-segmentation-offload: on
udp-fragmentation-offload: off
generic-segmentation-offload: on
generic-receive-offload: off
large-receive-offload: off
rx-vlan-offload: on
tx-vlan-offload: on
ntuple-filters: off
receive-hashing: on
[root@localhost ~]#
例如:
如果主机 Linux 网桥用作源设备(如以下示例所示),则必须在 vnet 接口上关闭 gro 和 lro 功能,这些接口是将主机连接到来宾 VM 的虚拟接口。
[root@localhost ~]# brctl show eth6_br
bridge name bridge id STP enabled interfaces
eth6_br 8000.00e0ed1861ae no eth6
vnet0
vnet2
[root@localhost ~]#
在上面的示例中,两个虚拟接口派生自 eth6_br,表示为 vnet0 和 vnet2。 运行以下命令以关闭这些接口上的 gro 和 lro 功能。
ethtool -K vnet0 gro off
ethtool -K vnet2 gro off
ethtool -K vnet0 lro off
ethtool -K vnet2 lro off
混杂模式
必须启用 promiscuos 模式,以下功能才能正常工作:
- L2 模式
- 多播流量处理
- 广播
- IPV6 流量
- 虚拟 MAC
- 动态路由
使用以下命令启用 promicuous 模式。
[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 packets:142961 errors:0 dropped:0 overruns:0 frame:0
TX packets:2895843 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:14330008 (14.3 MB) TX bytes:1019416071 (1.0 GB)
[root@localhost ~]#
所需的模块
为了获得更好的网络性能,请确保 Linux 主机中存在 vhost_net 模块。 要检查 vhost_net 模块是否存在,请在 Linux 主机上运行以下命令:
lsmod | grep "vhost\_net"
如果 vhost_net 尚未运行,请输入以下命令运行该模型:
modprobe vhost\_net