NetScaler VPX 12-1

在 OpenStack 上使用 SR-IOV 预配 Citrix ADC VPX 实例

可以在 OpenStack 上部署使用单根 I/O 虚拟化 (SR-IOV) 技术的高性能 Citrix ADC VPX 实例。

可以采用三个步骤在 OpenStack 上部署使用 SR-IOV 技术的 Citrix ADC VPX 实例:

  • 在主机上启用 SR-IOV 虚拟功能 (VF)。
  • 配置 VF 并使其可用于 OpenStack。
  • 在 OpenStack 上预配 Citrix ADC VPX。

必备条件

确保您:

  • 将 Intel 82599 网络接口卡 (NIC) 添加到主机。
  • 从 Intel 下载并安装最新的 IXGBE 驱动程序。
  • 将主机上的 IXGBEVF 驱动程序列入黑名单。 在 /etc/modprobe.d/blacklist.conf 文件中添加以下条目:blacklist ixgbevf

注意:

ixgbe 驱动程序版本至少应为 5.0.4。

在主机上启用 SR-IOV VF

执行以下步骤之一启用 SR-IOV VF:

  • 如果使用的是 3.8 之前的内核版本,请向 /etc/modprobe.d/ixgbe 文件中添加以下条目并重新启动主机:options ixgbe max_vfs=<number_of_VFs>

  • 如果使用的是内核 3.8 版或更高版本,请使用以下命令创建 VF:

      echo <number_of_VFs> > /sys/class/net/<device_name>/device/sriov_numvfs
<!--NeedCopy-->

其中:

  • number_of_VFs 是要创建的虚拟功能数。
  • device_name 是接口名称。

重要:

创建 SR-IOV VF 过程中,请务必不要将 MAC 地址分配给 VF。

下面是创建四个 VF 的示例。

局部图像

使 VF 持久化,将用于创建 VF 的命令添加到rc.local 文件中。 下面是显示 rc.local 文件内容的示例。

局部图像

有关更多信息,请参阅本 英特尔 SR-IOV 配置指南

配置 VF 并使其可用于 OpenStack

 按照以下链接给出的步骤在 OpenStack 上配置 SR-IOV:https://wiki.openstack.org/wiki/SR-IOV-Passthrough-For-Networking

在 OpenStack 上预配 Citrix ADC VPX 实例

您可以使用 OpenStack CLI 在 Openstack 环境中配置 Citrix ADC VPX 实例。

预配 VPX 实例(可选)涉及使用配置驱动器中的数据。 配置驱动器是一个在启动时附加到实例的特殊配置驱动器。 该配置驱动器可用于传递网络配置信息,例如管理IP地址,网络掩码和默认网关等。 在配置实例的网络设置之前,请先配置该实例的网络设置。

当 OpenStack 置备 VPX 实例时,它会首先通过读取用于表示 OpenStack 的特定 BIOS 字符串 (OpenStack Foundation) 来检测实例是否在 OpenStack 环境中引导。 对于 Redhat Linux 发行版,该字符串存储在 /etc/nova/release 中。 这是在基于 KVM 虚拟机管理程序平台的所有 OpenStack 实现中提供的标准机制。 该驱动器应具有特定的 OpenStack 标签。 如果检测到配置驱动器,实例将尝试从 nova boot 命令中指定的文件名中读取以下信息。 在下面的过程中,该文件称为“userdata.txt”。

  • Management IP address(管理 IP 地址)
  • Network mask(网络掩码)
  • Default gateway(默认网关)

参数成功读取后,将填入 NetScaler 堆栈。 这有助于远程管理实例。 如果参数未成功读取,或者配置驱动器不可用,实例将转换为默认行为,即:

  • 实例尝试从 DHCP 中检索 IP 地址信息。
  • 如果 DHCP 失败或超时,实例将提供默认网络配置 (192.168.100.1/16)。

通过 CLI 在 OpenStack 上配置 Citrix ADC VPX 实例

可以在 OpenStack 环境中使用 OpenStack CLI 预配 VPX 实例。 下面是在 OpenStack 上预配 Citrix ADC VPX 实例的步骤摘要:

1. 从 .tgz 文件中提取 .qcow2 文件

2. 基于 qcow2 映像构建 OpenStack 映像

3\。 预配 VPX 实例

要在 OpenStack 环境中预配 VPX 实例,请执行以下步骤。

  1. 提取。 通过输入以下命令从 .tqz 文件中恢复 .qcow2 文件:

      tar xvzf <TAR file>

      tar xvzf NSVPX-KVM-12.0-26.2_nc.tgz
      NSVPX-KVM.xml
      NSVPX-KVM-12.0-26.2_nc.qcow2

<!--NeedCopy-->
  1. 通过输入以下命令,使用步骤 1 中提取的 .qcoz2 文件构建 OpenStack 映像:

      glance image-create --name="<name of the OpenStack image>" --
      property hw_disk_bus=ide --is-public=
       true --container-format=bare --disk-format=qcow2< <name of the
      qcow2 file>

      glance image-create --name="NS-VPX-12-0-26-2" --property
      hw_disk_bus=ide --is-public=
      true --container-format=bare --disk-format=qcow2< NSVPX-KVM-12.0-
      26.2_nc.qcow2

<!--NeedCopy-->

 下图提供了 gazebo image-create 命令的示例输出。

局部图像

3\。 创建 OpenStack 映像后,配置 Citrix ADC VPX 实例。


      nova boot --image NSVPX-KVM-12.0-26.2 --config-drive=true --userdata
      ./userdata.txt --flavor m1.   medium --nic net-id=3b258725-eaae-
      455e-a5de-371d6d1f349f --nic port-id=218ba819-9f55-4991-adb6-
      02086a6bdee2 NSVPX-10

<!--NeedCopy-->

在上面的命令中,userdata.txt 是包含 VPX 实例的 IP 地址、网络掩码和默认网关等详细信息的文件。 用户数据文件是用户可自定义的文件。 NSVPX-KVM-12.0-26.2 是您要预配的虚拟设备的名称。 –nic port-id=218ba819-9f55-4991-adb6-02086a6bdee2 是 OpenStack VF。

下图给出了 nova boot 命令的示例输出。

局部图像

下图显示了 userdata.txt 文件的示例。 <PropertySection></PropertySection> 标签内的值是用户可配置的值,包含 IP 地址、网络掩码和默认网关等信息。


      <?xml version="1.0" encoding="UTF-8" standalone="no"?>
      <Environment xmlns:oe="http://schemas.dmtf.org/ovf/environment/1"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      oe:id=""
      xmlns="http://schemas.dmtf.org/ovf/environment/1">
      <PlatformSection>
      <Kind>NOVA</Kind>
      <Version>2013.1</Version>
      <Vendor>Openstack</Vendor>
      <Locale>en</Locale>
      </PlatformSection>
      <PropertySection>
      <Property oe:key="com.citrix.netscaler.ovf.version" oe:value="1.0"/>
      <Property oe:key="com.citrix.netscaler.platform" oe:value="vpx"/>
      citrix.com 4
      <Property oe:key="com.citrix.netscaler.orch_env"
      oe:value="openstack-orch-env"/>
      <Property oe:key="com.citrix.netscaler.mgmt.ip"
      oe:value="10.1.0.100"/>
      <Property oe:key="com.citrix.netscaler.mgmt.netmask"
      oe:value="255.255.0.0"/>
      <Property oe:key="com.citrix.netscaler.mgmt.gateway"
      oe:value="10.1.0.1"/>
      </PropertySection>
      </Environment>

<!--NeedCopy-->

其他受支持的配置:从主机在 SR-IOV VF 上创建和删除 VLAN

键入以下命令在 SR-IOV VF 上创建 VLAN:


      ip link show enp8s0f0 vf 6 vlan 10

<!--NeedCopy-->

在上面的命令中“enp8s0f0”是物理功能的名称。

示例: vlan 10,在 vf 6 上创建

局部图像

键入以下命令在 SR-IOV VF 上删除 VLAN:


      ip link show enp8s0f0 vf 6 vlan 0

<!--NeedCopy-->

示例: vlan 10,从 vf 6 中移除

局部图像

这些步骤即是在 OpenStack 上部署使用 SRIOV 技术的 Citrix ADC VPX 实例的过程。

在 OpenStack 上使用 SR-IOV 预配 Citrix ADC VPX 实例