Warning: Declaration of YOOtheme\Theme\Wordpress\MenuWalker::walk($elements, $max_depth) should be compatible with Walker::walk($elements, $max_depth, ...$args) in /home/poppelga/public_html/wp-content/themes/yootheme/vendor/yootheme/theme-wordpress/src/MenuWalker.php on line 8

How to Enable Single Root I/O Virtualization SR-IOV on XenServer 6

Summary

This article describes how to improve network performance in XenServer Feature Pack 1 Virtual Machines (VMs) by using a Network Interface Card (NIC) with Single Root I/O Virtualization (SR-IOV) support. Customers running XenServer 6.0 should refer to CTX131381 – How to Assign SR-IOV Enabled NICs with XenServer 6.0

Background

The SRIOV support is a method used for sharing I/O devices with near physical computer speed.

To learn more about SR-IOV, refer to PCI-SIG SR_IOV Primer.

Note 1:  A single SR-IOV NIC can support multiple Virtual Functions; each Virtual Function can be attached to a different VM as a 1:1 ratio (1 Virtual Function to 1 VM).

Note 2:  Xen Kernel version 3.4.2 supports the SR-IOV features for Red Hat Enterprise Linux or SUSE Linux Enterprise Server.  Citrix XenServer 5.5 however does not support it.

Note 3:  Citrix only has one NIC certified for SR-IOV on XenServer Feature Pack 1 (Intel 82599 10 gigabyte Ethernet Controller).

Procedure

Perform the following the steps to enable SR-IOV on XenServer Feature Pack 1.

  • Enable iommu on the XenServer host by running the following command within the domain 0 console: 
    /opt/xensource/libexec/xen-cmdline –set-xen iommu=1
  • Restart the host.
  • Assign one or more Virtual Functions to a VM. Obtain a list of Virtual Functions in the system by running the following command in the XenServer console: 
    lspci
    You should see many (such as 120) devices like this:
    07:10.0 Ethernet controller: Intel Corporation 82559 Ethernet Controller Virtual Function (rev 01)
  • Run the following command to assign one of these Virtual Functions to the target VM:
    xe vm-param-set other-config:pci=0/0000:07:10.0 uuid=uuid_of_the_VM
    Note

    : Substitute 07:10.0 in the example above with the PCI bus address of the Virtual Function that you want to assign.

  • Start the VM and install the correct Virtual Function driver in it.

More Information

CTX126624 – XenServer Single Route I/O Virtualization (SR-IOV) Support for Provisioning Services Virtual Machines

CTX131381 – How to Assign SR-IOV Enabled NICs with XenServer 6.0

Leave a Reply

Your email address will not be published. Required fields are marked *

Turn on pictures to see the captcha *