ADC

OpenStack上でSR-IOVを使用してNetScaler VPXインスタンスをプロビジョニングします

OpenStackで、シングルルートI/O仮想化(Single-Root I/O Virtualization:SR-IOV)テクノロジを使用する高パフォーマンスのNetScaler VPXインスタンスを展開できます。

OpenStackで、3つの手順で、SR-IOVテクノロジを使用するNetScaler VPXインスタンスを展開できます。

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

前提条件

次のことを確実にします。

  • Intel 82599 NIC (NIC) をホストに追加します。
  • 最新のIXGBEドライバーをダウンロードしてインストールします。
  • ホスト上の IXGBEVF ドライバをブロックリストします。/etc/modprobe.d/blacklist.conf ファイルに次のエントリを追加します。ブロックリスト 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は、作成するVirtual Functionの数です。
  • device_name はインターフェイス名です。

重要

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

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

SR-IOVを有効にする

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

SR-IOV VF を有効にする

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

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

OpenStackでSR-IOVを設定するには、以下のリンクに記載されている手順に従ってください:. https://wiki.openstack.org/wiki/SR-IOV-Passthrough-For-Networking

OpenStackでNetScaler ADC VPXインスタンスをプロビジョニングする

OpenStack CLIを使用して、OpenStack 環境でNetScaler 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上のNetScaler VPXインスタンスをプロビジョニングします

OpenStack CLIを使用して、OpenStack環境でVPXインスタンスをプロビジョニングできます。次に、OpenStackでNetScaler ADC VPXインスタンスをプロビジョニングする手順の概要を示します。

  1. .tgz ファイルから.qcow2ファイルを抽出する

  2. qcow2イメージからOpenStackイメージを作成する

  3. VPXインスタンスのProvisioning

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 イメージが作成されたら、NetScaler 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

前述のコマンドでは、「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テクノロジを使用するNetScaler VPXインスタンスをOpenStack上で展開する方法が完了します。

OpenStack上でSR-IOVを使用してNetScaler VPXインスタンスをプロビジョニングします