DPDKをサポートするNetScaler ADC BLXアプライアンスを展開する
NetScaler BLXアプライアンスは、ネットワークパフォーマンスを向上させるためのLinuxライブラリとネットワークインターフェイスコントローラーのセットであるデータプレーン開発キット(DPDK)をサポートしています。DPDKをサポートするBLXアプライアンスは、専用ネットワークモードでのみ機能します。Linux ホストに DPDK をサポートする BLX アプライアンスを展開するには、次の手順を実行します。
- Linux ホストでの DPDK ライブラリのダウンロード、インストール、およびコンパイル
- Linux ホストでの DPDK の設定
- DPDK サポートのための BLX アプライアンスの設定
- BLXアプライアンスの管理IPアドレスを初めて設定する
- BLX アプライアンスの起動
Linux ホストでの DPDK ライブラリのダウンロード、インストール、およびコンパイル
DPDK ライブラリは、DPDK の公式ウェブサイトでホストされています。Linux ホストに DPDK ライブラリをインストールするには、DPDK パッケージの抽出、DPDK 環境変数の設定、DPDK ライブラリのコンパイルを行います。
サポートされている DPDK ライブラリを Linux ホストにダウンロードするには、次の手順を実行します。
-
サポートされている次のバージョンの 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 キーを押します。
```
DPDK 互換ドライバを使用するネットワークデバイス ============================================
0000:83:00 .1 'I350 ギガビットファイバーネットワークコネクション 1522 'drv=igb_uio 未使用=IGB
カーネルドライバを使用するネットワークデバイス ===================================
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 デバイス ===================================
<none>
その他の Mempool デバイス =====================
<none>
Enter PCI address of device to bind to IGB UIO driver: 0000:02:00.0
```
- 上記の手順を繰り返して、別の 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
-
DPDK 用に予約する
hugepages
の番号をユーザープロンプトに入力し、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
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 . .
BLXアプライアンスの管理IPアドレスを初めて設定する
BLXアプライアンスの管理IPアドレスは、管理目的でアプライアンスにアクセスするIPアドレスです。BLXアプライアンスの管理IPアドレスは、Citrix ADC IP(NSIP)アドレスとも呼ばれます。
BLXアプライアンスには、Citrix ADC IP(NSIP)アドレスは1つしか設定できません。また、LAN上の他のネットワークからNetScaler ADC IPに到達できるように、構成済みのNetScaler ADC IPサブネットにデフォルトルートを追加する必要があります。
BLX アプライアンスの管理 IP アドレスを初めて設定するには、BLX 設定ファイル (blx.conf) で関連パラメータを設定する必要があります。
管理 IP アドレスとデフォルトルートを初めて設定するには、次の手順を実行します。
-
Linux ホストにある BLX 構成ファイル (blx.conf) を開きます。BLX 設定ファイルの完全なパスは次のとおりです。
/etc/blx/blx.conf
-
次のパラメーターのコメントを解除し、管理 IP アドレスを設定します。
# ipaddress:
-
次のパラメーターのコメントを外し、スタティックルートセクションでデフォルトルートを設定します。
# default
サンプル構成:
次のblx.conf file
のサンプル抜粋では、管理 IP アドレスとデフォルトルートが設定されています。
.
.
ipaddress: 203.0.113.10
.
.
default 203.0.113.1
.
.
DPDK サポートによる BLX アプライアンスの起動
以下のコマンドを実行して BLX アプライアンスを起動します。
systemctl start blx
BLX アプライアンスは Up 状態になりました。
BLX アプライアンスの状態を再度確認します。
systemctl status blx
BLXアプライアンスを正常にインストールして起動したら、次のいずれかの方法を使用してアプライアンスのCitrix ADC機能を構成できます。
- NetScaler ADC CLI
- NetScaler ADC GUI
- Citrix NITRO REST API
これらの方法の使用方法の詳細については、「 BLX アプライアンスの設定」を参照してください。
NetScaler ADC 機能について詳しくは、 NetScaler ADC ドキュメントを参照してください。 ```