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

最終公開日 : Oct 05, 2026
OpenStack上で、シングルルートI/O仮想化(SR-IOV)テクノロジーを使用する高性能なNetScaler VPXインスタンスを展開できます。
OpenStack上でSR-IOVテクノロジーを使用するNetScaler VPXインスタンスを、次の3つのステップで展開できます。
  • ホスト上でSR-IOV仮想機能(VF)を有効にします。
  • VFを構成し、OpenStackで利用できるようにします。
  • OpenStack上でNetScaler VPXをプロビジョニングします。

前提条件

以下を確認してください。
  • Intel 82599 NIC(NIC)をホストに追加します。
  • Intelから最新の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
ここで、:
  • number\_of\_VFs は、作成する仮想機能の数です。
  • device\_name はインターフェース名です。
重要:
SR-IOV VFを作成する際は、VFにMACアドレスを割り当てないようにしてください。
以下に、4つのVFが作成される例を示します。
SR-IOVを有効にする(/en-us/vpx/media/enable_sriov_1.jpg)
VFを永続化するには、VFの作成に使用したコマンドをrc.localファイルに追加します。以下に、rc.localファイルの内容の例を示します。
SR-IOV VFを有効にする(/en-us/vpx/media/enable_sriov_2.jpg)
詳細については、このIntel SR-IOV Configuration Guideを参照してください。

VFを構成し、OpenStackで利用できるようにする

OpenStackでSR-IOVを構成するには、以下のリンクの手順に従ってください: <https://wiki.openstack.org/wiki/SR-IOV-Passthrough-For-Networking>。

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

OpenStack CLI を使用して、OpenStack 環境に NetScaler VPX インスタンスをプロビジョニングできます。
VPX インスタンスのプロビジョニングには、オプションで設定ドライブからのデータを使用します。設定ドライブは、インスタンスの起動時にインスタンスにアタッチされる特別な設定ドライブです。この設定ドライブは、インスタンスのネットワーク設定を構成する前に、管理 IP アドレス、ネットワークマスク、デフォルトゲートウェイなどのネットワーク構成情報をインスタンスに渡すために使用できます。
OpenStack が VPX インスタンスをプロビジョニングするとき、まず OpenStack を示す特定の BIOS 文字列 (OpenStack Foundation) を読み取ることにより、インスタンスが OpenStack 環境で起動していることを検出します。Red Hat Linux ディストリビューションの場合、この文字列は /etc/nova/release に保存されます。これは、KVM ハイパーバイザープラットフォームに基づくすべての OpenStack 実装で利用できる標準的なメカニズムです。ドライブには特定の OpenStack ラベルが必要です。設定ドライブが検出されると、インスタンスは nova 起動コマンドで指定されたファイル名から次の情報を読み取ろうとします。以下の手順では、このファイルは「userdata.txt」と呼ばれます。
  • 管理 IP アドレス
  • ネットワークマスク
  • デフォルトゲートウェイ
パラメータが正常に読み取られると、それらは NetScaler® スタックに設定されます。これにより、インスタンスをリモートで管理できます。パラメータが正常に読み取られない場合、または設定ドライブが利用できない場合、インスタンスは次のデフォルトの動作に移行します。
  • インスタンスは DHCP から IP アドレス情報を取得しようとします。
  • DHCP が失敗するかタイムアウトした場合、インスタンスはデフォルトのネットワーク構成 (192.168.100.1/16) で起動します。

CLI を介して OpenStack に NetScaler VPX インスタンスをプロビジョニングする

OpenStack CLI を使用して、OpenStack 環境に VPX インスタンスをプロビジョニングできます。OpenStack に NetScaler 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 コマンドの出力例を示しています。
    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
    上記のコマンドでは、userdata.txt は、VPXインスタンスのIPアドレス、ネットマスク、デフォルトゲートウェイなどの詳細を含むファイルです。ユーザーデータファイルは、ユーザーがカスタマイズ可能なファイルです。NSVPX-KVM-12.0-26.2 は、プロビジョニングする仮想アプライアンスの名前です。--NIC port-id=218ba819-9f55-4991-adb6-02086a6bdee2 は OpenStack VF です。
    次の図は、nova boot コマンドの出力例を示しています。
    出力ブートコマンド
    次の図は、userdata.txt ファイルの例を示しています。\&lt;PropertySection\>\&lt;/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」は物理機能の名前です。
例: vf 6上に作成されたVLAN 10
](/en-us/vpx/media/vlan-10-created-on-vf6.png)
SR-IOV VF上のVLANを削除するには、次のコマンドを入力します。
ip link show enp8s0f0 vf 6 vlan 0
例: VLAN 10がvf 6から削除されました
VF6から削除されたVLAN 10
これらの手順で、OpenStack上でSRIOVテクノロジーを使用するNetScaler VPXインスタンスを展開する手順が完了します。