Linux-KVMプラットフォームにNetScaler VPXインスタンスをインストールするための前提条件
NetScaler VPXインスタンスで実行されているLinux-KVMサーバーの最小システム要件を確認してください。
CPU要件:
- Intel VT-Xプロセッサに含まれるハードウェア仮想化機能を備えた64ビットx86プロセッサ。
CPUがLinuxホストをサポートしているかどうかをテストするには、ホストLinuxシェルプロンプトで次のコマンドを入力します。
*.egrep '^flags.*(vmx|svm)' /proc/cpuinfo*
<!--NeedCopy-->
前述の拡張機能のBIOS設定が無効になっている場合は、BIOSで有効にする必要があります。
-
ホストLinuxに少なくとも2つのCPUコアを提供します。
-
プロセッサ速度に関する特定の推奨事項はありませんが、速度が速いほど、VMアプリケーションのパフォーマンスが向上します。
メモリ (RAM) 要件:
ホストLinuxカーネルには最低4GB。VMが必要とする場合は、さらにメモリを追加してください。
ハードディスク要件:
ホストLinuxカーネルとVMの要件に必要な容量を計算します。単一のNetScaler VPX VMには20GBのディスク容量が必要です。
ソフトウェア要件
使用されるホストカーネルは、すべての仮想化ツールを備えた64ビットLinuxカーネル(リリース2.6.20以降)である必要があります。Citrixは、3.6.11-4以降のような新しいカーネルを推奨しています。
Red Hat、CentOS、Fedoraなどの多くのLinuxディストリビューションには、テスト済みのカーネルバージョンと関連する仮想化ツールがあります。
ゲストVMのハードウェア要件
NetScaler VPXは、IDEおよびvirtIOハードディスクタイプをサポートしています。ハードディスクタイプは、NetScalerパッケージの一部であるXMLファイルで構成されています。
ネットワーク要件
NetScaler VPXは、virtIO準仮想化、SR-IOV、およびPCIパススルーネットワークインターフェイスをサポートしています。
サポートされているネットワークインターフェイスの詳細については、以下を参照してください。
- 仮想マシンマネージャーを使用してNetScaler VPXインスタンスをプロビジョニングする
- SR-IOVネットワークインターフェイスを使用するようにNetScaler VPXインスタンスを構成する
- PCIパススルーネットワークインターフェイスを使用するようにNetScaler VPXインスタンスを構成する
ソースインターフェイスとモード
ソースデバイスタイプは、BridgeまたはMacVTapのいずれかです。MacVTapでは、VEPA、Bridge、Private、Pass-throughの4つのモードが可能です。以下に示すように、使用できるインターフェイスのタイプとサポートされているトラフィックタイプを確認してください。
ブリッジ:
- リナックス ブリッジ。
- ホストLinux上の
Ebtablesおよびiptables設定は、正しい設定を選択しない場合、またはIPtableサービスを無効にしない場合、ブリッジ上のトラフィックをフィルタリングする可能性があります。
マックブイタップ (VEPA モード):
- ブリッジよりも優れたパフォーマンス。
- 同じ下位デバイスからのインターフェースは、VM間で共有できます。
- 同じものを使用したVM間通信
- 下位デバイスは、アップストリームまたはダウンストリームスイッチがVEPAモードをサポートしている場合にのみ可能です。
MacVTap (プライベートモード):
- ブリッジよりも優れたパフォーマンス。
- 同じ下位デバイスからのインターフェースは、VM間で共有できます。
- 同じ下位デバイスを使用したVM間通信はできません。
MacVTap (ブリッジモード):
- ブリッジと比較して優れています。
- 同じ下位デバイスからのインターフェースは、VM間で共有できます。
- 下位デバイスのリンクがUPの場合、同じ下位デバイスを使用したVM間通信が可能です。
MacVTap (パススルーモード):
- ブリッジと比較して優れています。
- 同じ下位デバイスからのインターフェースは、VM間で共有できません。
- 1つのVMのみが下位デバイスを使用できます。
注記:
VPXインスタンスの最高のパフォーマンスのために、ソースインターフェースで
groおよびlro機能が無効になっていることを確認してください。
ソースインターフェースのプロパティ
ソースインターフェースのgeneric-receive-offload (gro) および large-receive-offload (lro) 機能を無効にしてください。groおよびlro機能を無効にするには、ホストLinuxシェルプロンプトで以下のコマンドを実行します。
ethtool -K eth6 gro off
ethool -K eth6 lro off
例:
[root@localhost ~]# ethtool -K eth6
Offload parameters for eth6:
rx-checksumming: on
tx-checksumming: on
scatter-gather: on
tcp-segmentation-offload: on
udp-fragmentation-offload: off
generic-segmentation-offload: on
generic-receive-offload: off
large-receive-offload: off
rx-vlan-offload: on
tx-vlan-offload: on
ntuple-filters: off
receive-hashing: on
[root@localhost ~]#
<!--NeedCopy-->
例:
以下の例のようにホストLinuxブリッジがソースデバイスとして使用されている場合、ホストをゲストVMに接続する仮想インターフェースであるVNetインターフェースでlro機能を無効にする必要があります。
[root@localhost ~]# brctl show eth6_br
bridge name bridge id STP enabled interfaces
eth6_br 8000.00e0ed1861ae no eth6
vnet0
vnet2
[root@localhost ~]#
<!--NeedCopy-->
上記の例では、2つの仮想インターフェースはeth6_brから派生しており、vnet0およびvnet2として表されます。これらのインターフェースでgroおよびlro機能を無効にするには、以下のコマンドを実行します。
ethtool -K vnet0 gro off
ethtool -K vnet2 gro off
ethtool -K vnet0 lro off
ethtool -K vnet2 lro off
<!--NeedCopy-->
プロミスキャスモード
以下の機能が動作するためには、プロミスキャスモードを有効にする必要があります。
- L2モード
- マルチキャストトラフィック処理
- ブロードキャスト
- IPV6トラフィック
- 仮想MAC
- 動的ルーティング
プロミスキャスモードを有効にするには、以下のコマンドを実行します。
[root@localhost ~]# ifconfig eth6 promisc
[root@localhost ~]# ifconfig eth6
eth6 Link encap:Ethernet HWaddr 78:2b:cb:51:54:a3
inet6 addr: fe80::7a2b:cbff:fe51:54a3/64 Scope:Link
UP BROADCAST RUNNING PROMISC MULTICAST MTU:9000 Metric:1
RX packets:142961 errors:0 dropped:0 overruns:0 frame:0
TX packets:2895843 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:14330008 (14.3 MB) TX bytes:1019416071 (1.0 GB)
[root@localhost ~]#
<!--NeedCopy-->
必要なモジュール
ネットワークパフォーマンスを向上させるには、Linux ホストに vhost_net モジュールが存在することを確認してください。vhost_net モジュールの存在を確認するには、Linux ホストで以下のコマンドを実行します。
lsmod | grep "vhost\_net"
<!--NeedCopy-->
vhost_net がまだ実行されていない場合は、以下のコマンドを入力して実行します。
modprobe vhost\_net
<!--NeedCopy-->