NetScaler VPX

OpenStackでSR-IOVを使用してCitrix ADC VPXインスタンスをプロビジョニングする

シングルルートI/O仮想化(SR-IOV)テクノロジーを使用する高性能なCitrix ADC VPXインスタンスをOpenStackにデプロイできます。

SR-IOVテクノロジーを使用するCitrix ADC VPXインスタンスは、以下の3つのステップで展開できます。

  • ホスト上でSR-IOV Virtual Functions(VF)を有効にします。
  • VFを構成し、OpenStackで使用できるようにします。
  • OpenStackでCitrix ADC VPXをプロビジョニングします。

前提条件

次のことを確認してください:

  • インテル 82599 NIC (NIC) をホストに追加します。
  • 最新のIXGBEドライバーをダウンロードしてインストールします。
  • ホスト上の IXGBEVF ドライバをブロックリストします。 /etc/modprobe.d/blacklist.conf ファイルに次のエントリを追加します。 ブロックリスト ixgbevf

ixgbeドライバーのバージョンは 5.0.4 以上でなければなりません。

ホストで SR-IOV VF を有効にする

SR-IOV VFを有効にするには、次のいずれかの手順を実行します。

  • <number_of_VFs>3.8 より前のカーネルバージョンを使用している場合は、/etc/modprobe.d/ixgbe ファイルに次のエントリを追加し、ホストを再起動します。 オプション ixgbe max_vfs=

  • カーネル3.8以降のバージョンを使用している場合、以下のコマンドを使用してVFを作成します。

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

各項目の意味は次のとおりです:

  • number_of_VFsは、作成するVirtual Functionの数です。
  • device_name はインターフェイス名です。

重要:

SR-IOV VFを作成する場合、MACアドレスをVFに割り当てないようにしてください。

次に、作成している4つのVFの例を示します。

SR-IOVを有効にする

VF を永続的にし、VF の作成に使用したコマンドを rc.local ファイルに追加します。 rc.local ファイルの内容を示す例を次に示します。

SR-IOV VF を有効にする

詳細については、 このインテル SR-IOV 構成ガイドを参照してください

OpenStack で VF を設定して利用できるようにする

以下のリンクに記載されている手順に従って、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ファウンデーション)を読み取ることによって、インスタンスがOpenStack環境で起動していることを検出します。 Red Hat Linuxディストリビューションの場合、この文字列は/etc/nova/releaseに保存されます。 これは、KVMハイパーバイザープラットフォームに基づくすべてのOpenStack実装で使用できる標準メカニズムです。 ドライブには特定の OpenStack ラベルが必要です。 構成ドライブが検出されると、インスタンスは nova boot コマンドで指定されたファイル名から次の情報を読み取ろうとします。 以下の手順では、このファイルを「userdata.txt」と呼びます。

  • 管理IPアドレス
  • ネットワークマスク
  • デフォルトゲートウェイ

パラメーターが正しく読み取られると、それらの値がNetScalerスタックに適用されます。 これにより、インスタンスをリモートから管理できるようになります。 パラメーターが読み取られない場合、または構成ドライブが存在しない場合は、インスタンスが以下のデフォルトの処理を実行します。

  • DHCPからIPアドレス情報を取得する。
  • DHCPから情報を取得できない場合は、デフォルトのネットワーク構成として192.168.100.1/16を使用する。

CLIを使用してOpenStackでCitrix ADC VPXインスタンスをプロビジョニングする

OpenStack環境でVPXインスタンスをプロビジョニングするには、OpenStackのCLIを使用します。 次に、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-->
    
  2. 次のコマンドを入力して、手順 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-->
    

    下図は、glance image-createコマンドの出力例です。

    Glance イメージ作成コマンド

  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ファイルのサンプルです。 タグ内の値は、ユーザーが設定可能な値で、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

前述のコマンドでは、「enp8s0f0」は物理機能の名前です。

:vf 6 で作成された VLAN 10

VF6 に VLAN 10 を作成します。

SR-IOV VF上のVLANを削除するには、次のコマンドを入力します。

ip link show enp8s0f0 vf 6 vlan 0

:VLAN 10、vf 6 から削除された

VF6 から VLAN 10 が削除されました

以下の手順では、SRIOVテクノロジーを使用するCitrix ADC VPXインスタンスをOpenStackにデプロイする手順を完了します。

OpenStackでSR-IOVを使用してCitrix ADC VPXインスタンスをプロビジョニングする