Citrix ADC

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をプロビジョニングします。

前提条件

次のことを確認します。

  • ホストにIntel 82599ネットワークインターフェイスカード(NIC)を追加します。
  • 最新のIXGBEドライバーをダウンロードしてインストールします。
  • ホスト上でIXGBEVFドライバーのブラックリストを作成します。/etc/modprobe.d/ブラックリスト.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

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

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

重要

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

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

ローカライズされた画像

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

ローカライズされた画像

詳細については、こちらインテル 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
    
  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
    

    下図は、glance 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
    

    上記のコマンドでは、userdata.txt は、VPXインスタンスのIPアドレス、ネットマスク、デフォルトGateway などの詳細を含むファイルです。userdataファイルはカスタマイズが可能です。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>
    

サポートされているその他の構成:ホストからのSR-IOV VF上のVLANの作成と削除

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

ip link show enp8s0f0 vf 6 vlan 10

上記のコマンドの「enp8s0f0」は、Physical Functionの名前です。

:vf 6 で作成された vlan 10

ローカライズされた画像

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

ip link show enp8s0f0 vf 6 vlan 0

:vlan 10、vf 6 から削除

ローカライズされた画像

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

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