DPDKをサポートするNetScaler BLXアプライアンスを導入する
NetScaler BLX アプライアンスは、ネットワーク パフォーマンスを向上させる Linux ライブラリとネットワーク インターフェイス コントローラーのセットである Data Plane Development Kit (DPDK) をサポートしています。 DPDK をサポートする BLX アプライアンスは、専用ネットワーク モードでのみ動作します。 Linux ホストに DPDK をサポートする BLX アプライアンスを導入するには、次の手順を実行します。
- LinuxホストにDPDKライブラリをダウンロード、インストール、コンパイルする
- LinuxホストでDPDKを構成する
- DPDKサポート用にBLXアプライアンスを構成する
- BLXアプライアンスの管理IPアドレスを初めて設定する
- BLXアプライアンスの起動
LinuxホストにDPDKライブラリをダウンロード、インストール、コンパイルする
DPDK ライブラリは公式 DPDK Web サイトでホストされています。 Linux ホストへの DPDK ライブラリのインストールは、DPDK パッケージの抽出、DPDK 環境変数の設定、および DPDK ライブラリのコンパイルから構成されます。
LinuxホストでサポートされているDPDKライブラリをダウンロードするには:
-
公式の DPDK ダウンロード ページにアクセスします。
-
サポートされている次の DPDK パッケージ バージョンを Linux ホストにダウンロードします。
DPDK ライブラリをダウンロードしたら、Linux ホストで DPDK パッケージを抽出し、RTE_SDK DPDK 環境変数を設定して、DPDK ライブラリをコンパイルします。
export RTE_SDK=<path to the extracted DPDK installation directory on the Linux host>
Linux デバイスに DPDK をインストールしてコンパイルする方法の詳細については、 公式 DPDK ドキュメントにある公式 DPDK ドキュメントを参照してください。
LinuxホストでDPDKを構成する
DPDK ライブラリをインストールした後、Linux ホストで DPDK を構成する必要があります。 DPDK の設定には次のタスクが含まれます。
- DPDK IGB UIOカーネルモジュールを挿入する
- BLX アプライアンスに使用する Linux ホスト NIC ポートを DPDK IGB UIO モジュールにバインドします。
- DPDK用に
hugepages
を設定します
これらのタスクを実行するには、DPDK usertools
サブディレクトリにある DPDK セットアップ スクリプト (dpdk-setup.sh) を使用します。
注記
お客様の便宜のために、以下の DPDK 関連の手順が追加されました。 Linux システムで DPDK を構成する方法の詳細については、 公式 DPDK ドキュメントにある公式 DPDK ドキュメントを参照してください。
DPDK IGB UIOカーネルモジュールを挿入する
DPDK IGB UIO カーネルモジュールを挿入するには:
-
dpdk-setup.sh スクリプトを実行します。
bash $RTE_SDK/usertools/dpdk-setup.sh
-
ユーザープロンプトにオプション 17 と入力し、Enter キーを押します。
. . [17] Insert IGB UIO module [18] Insert VFIO module [19] Insert KNI module [20] Setup hugepage mappings for non-NUMA systems [21] Setup hugepage mappings for NUMA systems [22] Display current Ethernet/Crypto device settings [23] Bind Ethernet/Crypto device to IGB UIO module [24] Bind Ethernet/Crypto device to VFIO module [25] Setup VFIO permissions . . ……………… [34] Exit Script Option: 17 <!--NeedCopy-->
Linux ホスト NIC ポートを DPDK IGB UIO モジュールにバインドする
LinuxホストのNICポートをDPDK IGB UIOモジュールにバインドするには:
-
dpdk-setup.sh スクリプトを実行します。
./$RTE_SDK/usertoos/dpdk-setup.sh
-
ユーザープロンプトにオプション 23 と入力し、Enter キーを押します。
. . [17] Insert IGB UIO module [18] Insert VFIO module [19] Insert KNI module [20] Setup hugepage mappings for non-NUMA systems [21] Setup hugepage mappings for NUMA systems [22] Display current Ethernet/Crypto device settings [23] Bind Ethernet/Crypto device to IGB UIO module [24] Bind Ethernet/Crypto device to VFIO module [25] Setup VFIO permissions . . ……………… [34] Exit Script Option: 23 <!--NeedCopy-->
-
ユーザー プロンプトに、DPDK IGB UIO カーネル モジュールにバインドする Linux ホスト ポートの PCI アドレスを入力し、Enter キーを押します。
Network devices using DPDK-compatible driver ============================================ 0000:83:00.1 'I350 Gigabit Fiber Network Connection 1522' drv=igb_uio unused=igb Network devices using kernel driver =================================== 0000:01:00.0 'Ethernet Controller 10-Gigabit X540-AT2 1528' if=eno1 drv=ixgbe unused=igb_uio *Active* 0000:01:00.1 'Ethernet Controller 10-Gigabit X540-AT2 1528' if=eno2 drv=ixgbe unused=igb_uio 0000:83:00.0 'I350 Gigabit Fiber Network Connection 1522' if=enp131s0f0 drv=igb unused=igb_uio 0000:02:00.0 'Ethernet Controller XL710 for 40GbE QSFP+ 1584' drv=i40e unused=igb_uio. << add 0000:83:00.2 'I350 Gigabit Fiber Network Connection 1522' if=enp131s0f2 drv=igb unused=igb_uio 0000:83:00.3 'I350 Gigabit Fiber Network Connection 1522' if=enp131s0f3 drv=igb unused=igb_uio 0000:84:00.0 'I350 Gigabit Fiber Network Connection 1522' if=enp132s0f0 drv=igb unused=igb_uio 0000:84:00.1 'I350 Gigabit Fiber Network Connection 1522' if=enp132s0f1 drv=igb unused=igb_uio ……….. Mempool devices using kernel driver =================================== <none> Other Mempool devices ===================== <none> Enter PCI address of device to bind to IGB UIO driver: 0000:02:00.0 <!--NeedCopy-->
-
上記の手順を繰り返して、別の Linux ホスト ネットワーク ポートを DPDK IGB UIO モジュールにバインドします。
DPDK用に hugepages
を設定します
DPDK用に hugepages
を設定するには:
-
dpdk-setup.sh スクリプトを実行します。
./$RTE_SDK/usertoos/dpdk-setup.sh
-
ユーザープロンプトに、Linux ホストのメモリアーキテクチャに基づいてオプション 20 または 21を入力し、Enter キーを押します。
. . [17] Insert IGB UIO module [18] Insert VFIO module [19] Insert KNI module [20] Setup hugepage mappings for non-NUMA systems. [21] Setup hugepage mappings for NUMA systems [22] Display current Ethernet/Crypto device settings [23] Bind Ethernet/Crypto device to IGB UIO module [24] Bind Ethernet/Crypto device to VFIO module [25] Setup VFIO permissions . . ……………… [34] Exit Script Option: 21 <!--NeedCopy-->
-
ユーザープロンプトに、DPDK 用に予約する
巨大ページの数
を入力し、Enter キーを押します。Removing currently reserved hugepages Unmounting /mnt/huge and removing directory Input the number of 2048kB hugepages Example: to have 128MB of hugepages available in a 2MB huge page system, enter '64' to reserve 64 * 2MB pages Number of pages: 1024 Reserving hugepages Creating /mnt/huge and mounting as hugetlbfs <!--NeedCopy-->
DPDKサポート用にBLXアプライアンスを構成する
BLX アプライアンスを DPDK サポート用に構成するには、BLX 構成ファイル (blx.conf) で次のパラメータを設定する必要があります。
- DPDK 設定。 このパラメータにより、BLX アプライアンスを DPDK モードで起動してパフォーマンスを向上できます。 また、このパラメータは、DPDK をサポートする BLX アプライアンスで使用されるパケット エンジンの数を指定します。 デフォルト値は 8 (0xff) に設定されています。 DPDK をサポートする BLX アプライアンスでサポートされるパケット エンジンの最大数は 28 です。
注記
DPDK config
パラメータを設定し、BLX アプライアンスを起動すると、DPDK にバインドされた Linux NIC ポートが BLX アプライアンスの一部として自動的に追加されます。
BLXアプライアンスをDPDKサポート用に設定するには:
-
Linux ホストにある BLX 構成ファイル (blx.conf) を開きます。 BLX 構成ファイルの完全なパスは次のとおりです。
/etc/blx/blx.conf
-
BLX 構成ファイル (blx.conf) で、
dpdk-config
パラメータを含む次の行のコメントを解除し、行の先頭にある # (ハッシュ記号) を削除します。# dpdk-config: -c 0xff
サンプル設定
次の
blx.conf
ファイルの抜粋サンプルでは、dpdk-config
パラメータ設定が有効になっています。. . # dpdk EAL core mask parameter. Applicable only when blx-dpdk is installed. dpdk-config: -c 0xff . . <!--NeedCopy-->
BLXアプライアンスの管理IPアドレスを初めて設定する
BLX アプライアンスの管理 IP アドレスは、管理目的でアプライアンスにアクセスする IP アドレスです。 BLX アプライアンスの管理 IP アドレスは、Citrix ADC IP (NSIP) アドレスとも呼ばれます。
BLX アプライアンスには、Citrix ADC IP (NSIP) アドレスを 1 つだけ設定できます。 また、Citrix ADC IP が LAN 上の他のネットワークからアクセス可能になるように、構成された Citrix ADC IP サブネットのデフォルト ルートを追加する必要があります。
BLX アプライアンスの管理 IP アドレスを初めて設定する場合は、BLX 構成ファイル (blx.conf) で関連するパラメータを設定する必要があります。
管理IPアドレスとデフォルトルートを初めて設定するには:
-
Linux ホストにある BLX 構成ファイル (blx.conf) を開きます。 BLX 構成ファイルの完全なパスは次のとおりです。
/etc/blx/blx.conf
-
次のパラメータのコメントを解除し、管理 IP アドレスを設定します。
# ipaddress:
-
次のパラメータのコメントを解除し、静的ルート セクションでデフォルト ルートを設定します。
# default
サンプル設定:
次の blx.conf ファイル
のサンプル抜粋では、管理 IP アドレスとデフォルト ルートが設定されています。
.
.
ipaddress: 203.0.113.10
.
.
default 203.0.113.1
.
.
<!--NeedCopy-->
DPDKサポート付きBLXアプライアンスの起動
次のコマンドを実行して BLX アプライアンスを起動します。
systemctl start blx
BLX アプライアンスは現在 Up 状態です。
BLX アプライアンスのステータスを再度確認します。
systemctl status blx
BLX アプライアンスを正常にインストールして起動したら、次のいずれかの方法を使用してアプライアンス上の Citrix ADC 機能を構成できます。
- Citrix ADC CLI
- Citrix ADC GUI
- Citrix NITRO REST API
これらの方法の使用に関する詳細については、「 BLX アプライアンスの構成」を参照してください。
Citrix ADC 機能の詳細については、 Citrix ADC ドキュメントを参照してください。