DPDK をサポートしない専用モードで NetScaler BLX 用の nsdrvd ドライバーを構成する
NetScaler BLXはLinuxカーネルのネットワークスタックをバイパスしますが、Linuxカーネルメモリとユーザー空間メモリ間のパケット転送にはオーバーヘッドがあります。このオーバーヘッドは、パケット処理の全体的なパフォーマンスに影響します。
パケット処理性能を高めるには、DPDK 互換 NIC の使用をお勧めします。BLX がサポートする DPDK 互換 NIC のリストについては、Linux ホストのハードウェア要件を参照してください。
DPDK 互換 NIC がない場合は、nsdrvd
ドライバーを使用して DPDK をサポートしなくてもパケット処理のパフォーマンスを向上させることができます。
Linuxカーネルとのパケット送受信のやり取りはすべてnsdrvd
ドライバーが行います。また、トラフィックを PE に分散します。blx.conf
ファイル内のnsdrvd
パラメーターを使用してnsdrvd
ドライバーを構成できます。次の表は、nsdrvd
パラメーターに指定できる値をまとめたものです。
可能な価値 | 説明 |
---|---|
nsdrvd: 1 |
専用ポートごとに 1 つのドライバープロセスが作成されます。Rx と Tx は順番に発生します。 |
nsdrvd: 2 |
専用ポートごとに 1 つの Rx プロセスと 1 つの Tx スレッドが作成されます。 |
nsdrvd: 3 |
専用ポートごとに 1 つの Rx プロセスと 2 つの Tx スレッドが作成されます。 |
nsdrvd
ドライバーを使用するには、次の計算に基づいて、Linux ホストに少なくとも n 個のコアが必要です 。
n >= WP + (INT*P) + 1
各項目の意味は次のとおりです:
-
WP -BLXのワーカープロセス(パケットエンジン)の数。
blx.conf
ファイル内のworker-processes
パラメーターは、BLX のパケットエンジンの数を指定します。 -
INT -BLX 用の専用の Linux ホスト NIC ポートの数。
blx.conf
ファイル内のinterface
パラメーターは、BLX 専用の Linux ホスト NIC ポートを指定します。 -
P - BLXの
nsdrvd
ドライバプロセスの数。blx.conf
ファイル内のnsdrvd
パラメーターは、nsdrvd
ドライバープロセスの数を指定します。
例:次の構成の BLX には、少なくとも 10 個のコアが必要です。
- WP = 3 パケットエンジン
- INT = 2 つの専用インターフェイス
-
P = 3つの
nsdrvd
プロセス
n = WP + (INT*P) + 1 = (3+2*3+1) = 10
前提条件
- BLX が専用モードに設定されていることを確認します。設定手順については、 専用モードでの BLX の設定を参照してください。
- BLX がサポートする DPDK 互換 NIC に専用の NIC ポートが表示されていないことを確認してください。詳しくは、「 Linux ホストのハードウェア要件」を参照してください。
nsdrvd
ドライバーを有効にする
Linux ホスト CLIを使用してnsdrvd
ドライバーを有効にする必要があります。
-
次のコマンドを実行して
blx.conf
ファイルを開きます。注:
blx.conf ファイルは、任意のテキストエディタを使用して編集できます。
nano /etc/blx/blx.conf <!--NeedCopy-->
-
nsdrvd
パラメーターのコメントを解除し、値を 1、2、または 3 に設定します。blx-system-config { ... nsdrvd: <number of process> ... } <!--NeedCopy-->
-
blx.conf
ファイルを保存します。 -
BLX を再起動します。
systemctl restart blx <!--NeedCopy-->
BLX が再起動すると、BLXでnsdrvd
ドライバーが有効になります。
nsdrvd
ドライバーを無効にする
Linux ホスト CLIを使用してnsdrvd
ドライバーを無効にする必要があります。
-
nsdrvd
ドライバーを無効にするには、blx.conf
ファイル内のnsdrvd
パラメーターにコメントを付けます。blx-system-config { ... # nsdrvd: 2 ... } <!--NeedCopy-->
-
BLX を再起動します。
systemctl restart blx <!--NeedCopy-->
BLX が再起動すると、BLXのnsdrvd
ドライバーは無効になります。