NetScaler VPX

在 Linux-KVM 平台上安装 NetScaler VPX 实例所需的前提条件

检查在 NetScaler VPX 实例上运行的 Linux-KVM 服务器的最低系统要求。

CPU 要求

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

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

*.egrep '^flags.*(vmx|svm)' /proc/cpuinfo*
<!--NeedCopy-->

如果上述扩展的 BIOS 设置已禁用,您必须在 BIOS 中启用它们。

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

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

内存 (RAM) 要求

主机 Linux 内核至少需要 4 GB。根据 VM 的要求添加更多内存。

硬盘要求

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

软件方面的要求

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

许多 Linux 发行版,例如 Red Hat、CentOS 和 Fedora,都已测试过内核版本和相关的虚拟化工具。

客户机虚拟机硬件要求

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

网络连接要求

NetScaler VPX 支持 virtIO 半虚拟化、单根I/O虚拟化和外围组件互连直通网络接口。

有关支持的网络接口的更多信息,请参阅:

源接口及其工作模式

源设备类型可以是 Bridge 或 MacVTap。在 MacVTap 中,有四种模式:VEPA、Bridge、Private 和 Pass-through。请根据以下内容检查可使用的接口类型和支持的流量类型:

桥接

  • Linux 操作系统桥接。
  • 主机 Linux 上的 Ebtablesiptables 设置可能会过滤桥接上的流量,如果您未选择正确的设置或禁用 IPtable 服务。

MacVTap (虚拟以太网端口聚合器 模式)

  • 能够提供比网桥更优越的性能。
  • 同一底层设备的接口可以在虚拟机之间共享。
  • 支持虚拟机之间使用相同的网络进行通信
  • 底层设备进行虚拟机间通信只有当上游或下游交换机支持 VEPA 模式时才可能实现。

MacVTap 接口(私有模式)

  • 与网桥相比,其性能表现更为出色。
  • 同一底层设备的接口可以在虚拟机之间共享。
  • 使用相同底层设备进行虚拟机间通信是不可能的。

MacVTap 接口(网桥模式)

  • 与网桥相比,其整体表现更为优异。
  • 来自同一底层设备的接口可以在虚拟机之间共享。
  • 如果底层设备链路处于 UP 状态,则可以使用相同底层设备进行虚拟机间通信。

MacVTap 接口(直通模式)

  • 与网桥相比,其整体表现更为优异。
  • 来自同一底层设备的接口不能在虚拟机之间共享。
  • 只有一个虚拟机可以使用该底层设备。

注意:

为了获得最佳的 VPX 实例性能,请确保在源接口上关闭 grolro 功能。

源接口的属性列表

请确保关闭源接口的通用接收卸载 (gro) 和大型接收卸载 (lro) 功能。要关闭 grolro 功能,请在主机 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 ~]#
<!--NeedCopy-->

示例

如果主机 Linux 网桥用作源设备(如以下示例所示),则必须在 VNet 接口(连接主机到客户机 VM 的虚拟接口)上关闭 lro 功能。

    [root@localhost ~]# brctl show eth6_br

    bridge name     bridge  id               STP enabled interfaces

    eth6_br         8000.00e0ed1861ae          no         eth6

                                                          vnet0

                                                          vnet2

    [root@localhost ~]#
<!--NeedCopy-->

在前面的示例中,两个虚拟接口派生自 eth6_br,并表示为 vnet0 和 vnet2。运行以下命令以关闭这些接口上的 grolro 功能。

    ethtool -K vnet0 gro off
            ethtool -K vnet2 gro off
            ethtool -K vnet0 lro off
                     ethtool -K vnet2 lro off
<!--NeedCopy-->

混杂模式

必须启用混杂模式才能使以下功能正常工作:

  • 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 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 ~]#
<!--NeedCopy-->

所需模块

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

lsmod | grep "vhost\_net"
<!--NeedCopy-->

如果 vhost_net 尚未运行,请输入以下命令来运行它:

modprobe vhost\_net
<!--NeedCopy-->
在 Linux-KVM 平台上安装 NetScaler VPX 实例所需的前提条件