ADC

Prerequisites for installing a Citrix ADC VPX instance on Linux-KVM platform

Check the minimum system requirements for a Linux-KVM server running on a Citrix ADC VPX instance.

CPU requirement:

  • 64-bit x86 processors with the hardware virtualization feature included in Intel VT-X processors.

To test whether your CPU supports the Linux host, enter the following command at the host Linux shell prompt:

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

If theBIOSsettings for the preceding extension are disabled, you must enable them in the BIOS.

  • 至少提供两个CPU核宿主Linux。

  • There is no specific recommendation for processor speed, but higher the speed, the better the performance of the VM application.

Memory (RAM) requirement:

Minimum 4 GB for the host Linux kernel. Add more memory as required by the VMs.

Hard disk requirement:

Calculate the space for Host Linux kernel and VM requirements. A single Citrix ADC VPX VM requires 20 GB of disk space.

Software requirements

The Host kernel used must be a 64-bit Linux kernel, release 2.6.20 or later, with all virtualization tools. Citrix recommends newer kernels, such as 3.6.11-4 and later.

Many Linux distributions such as Red Hat, CentOS, and Fedora, have tested kernel versions and associated virtualization tools.

Guest VM hardware requirements

Citrix ADC VPX supports IDE and virtIO hard disk type. The Hard Disk Type has been configured in the XML file, which is a part of the Citrix ADC package.

Networking requirements

Citrix ADC VPX supports virtIO para-virtualized, SR-IOV, and PCI Passthrough network interfaces.

For more information about the supported network interfaces, see:

Source Interface and Modes

The source device type can be either Bridge or MacVTap. In MacVTap, four modes are possible - VEPA, Bridge, Private, and Pass-through. Check the types of interfaces that you can use and the supported traffic types, as per the following:

Bridge:

  • Linux Bridge.
  • Ebtablesandiptablessettings on host Linux might filter the traffic on the bridge if you do not choose the correct setting or disableIPtableservices.

MacVTap (VEPA mode):

  • Better performance than a bridge.
  • Interfaces from the same lower device can be shared across the VMs.
  • Inter-VM communication using the same
  • lower device is possible only if the upstream or downstream switch supports VEPA mode.

MacVTap (private mode):

  • Better performance than a bridge.
  • Interfaces from the same lower device can be shared across the VMs.
  • Inter-VM communication using the same lower device is not possible.

MacVTap (bridge mode):

  • Better as compared to bridge.
  • Interfaces out of the same lower device can be shared across the VMs.
  • Inter-VM communication using the same lower device is possible, if the lower device link is UP.

MacVTap (Pass-through mode):

  • Better as compared to bridge.
  • Interfaces out of the same lower device cannot be shared across the VMs.
  • Only one VM can use the lower device.

Note: For best performance by the VPX instance, ensure that thegroandlrocapabilities are switched off on the source interfaces.

Properties of source interfaces

Make sure that you switch off the generic-receive-offload (gro) and large-receive-offload (lro) capabilities of the source interfaces. To switch off thegroandlrocapabilities, run the following commands at the host Linux shell prompt.

ethtool -K eth6 gro offethool -K eth6 lro off

Example:

[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 ~]# 

Example:

If the host Linux bridge is used as a source device, as in the following example, andlrocapabilities must be switched off on the VNet interfaces, which are the virtual interfaces connecting the host to the guest VMs.

(root@localhost ~) # brctl显示eth6_br桥的名字bridge id STP enabled interfaces eth6_br 8000.00e0ed1861ae no eth6 vnet0 vnet2 [root@localhost ~]# 

在前面的示例中,两个虚拟interfaces are derived from the eth6_br and are represented as vnet0 and vnet2. Run the following commands to switch offgroandlrocapabilities on these interfaces.

ethtool -K vnet0 gro off ethtool -K vnet2 gro off ethtool -K vnet0 lro off ethtool -K vnet2 lro off 

Promiscuous mode

The promiscuous mode must be enabled for the following features to work:

  • L2 mode
  • Multicast traffic processing
  • Broadcast
  • IPV6 traffic
  • virtual MAC
  • Dynamic routing

Use the following command to enable the promiscuous mode.

[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 ~]# 

Module required

For better network performance, make sure the vhost_net module is present in the Linux host. To check the existence of vhost_net module, run the following command on the Linux host:

lsmod | grep "vhost\_net" 

If vhost_net is not yet running, enter the following command to run it:

modprobe vhost\_net 
Prerequisites for installing a Citrix ADC VPX instance on Linux-KVM platform