ネットワーク
このセクションでは、Citrix Hypervisorのネットワーク、VLAN、およびNICボンディングなどについて説明します。また、ネットワーク設定の管理やトラブルシューティングについても説明します。
重要:
vSwitchはCitrix Hypervisorのデフォルトのネットワークスタックです。「vSwitchネットワーク」内の指示に従って、Linuxネットワークスタックを構成してください。
Citrix Hypervisorのネットワークの概念について理解している場合は、「ネットワークの管理」に進んで次のセクションを参照してかまいません:
-
スタンドアロンCitrix Hypervisorサーバーでのネットワークの作成
-
リソースプール内のCitrix Hypervisorサーバーでのネットワークの作成
-
スタンドアロンまたはリソースプール内のCitrix HypervisorサーバーでのVLANの作成
-
スタンドアロンCitrix Hypervisorサーバーでのボンディングの作成
-
リソースプール内のCitrix Hypervisorサーバーでのボンディングの作成
注:
「管理インターフェイス」という用語は、管理トラフィックを伝送するIP対応NICを示すために使用されます。「セカンダリインターフェイス」という用語は、ストレージトラフィック用に構成されたIP対応NICを示すために使用されます。
サポートされるネットワーク
Citrix Hypervisorでは、各ホストで最大16個の物理ネットワークインターフェイス(または最大4組のボンディングネットワークインターフェイス)がサポートされており、各仮想マシンで最大7個の仮想ネットワークインターフェイスがサポートされています。
注:
Citrix Hypervisorでは、xeコマンドラインインターフェイス(CLI)による、ネットワークインターフェイスカードの自動設定と管理機能が提供されます。ホストネットワーキング構成ファイルを直接編集しないでください。
vSwitchネットワーク
vSwitchネットワークではOpenFlowがサポートされます。
-
セキュリティポリシーによる、仮想マシンへのトラフィック出入力の詳細なフロー制御
-
仮想ネットワーク環境で行われるすべてのトラフィックの動作およびパフォーマンスの視覚化
vSwitchにより、仮想化されたネットワーキング環境におけるIT管理が大幅に簡略化されます。仮想マシンがリソースプール内のある物理ホストから別の物理ホストに移行した場合でも、すべての仮想マシン構成と統計は仮想マシンにバインドされたままとなります。
使用されているネットワークスタックを確認するには、次のコマンドを実行します:
xe host-list params=software-version
<!--NeedCopy-->
コマンドの出力で、network_backend
の行を確認します。ネットワークスタックとしてvSwitchが使用されている場合は、次のように出力されます:
network_backend: openvswitch
<!--NeedCopy-->
ネットワークスタックとしてLinuxブリッジが使用されている場合は、次のように出力されます:
network_backend: bridge
<!--NeedCopy-->
Linuxネットワークスタックに戻すには、次のコマンドを実行します:
xe-switch-network-backend bridge
<!--NeedCopy-->
このコマンドの実行後、ホストを再起動する必要があります。
Citrix Hypervisorのネットワークの概要
ここでは、Citrix Hypervisor環境でのネットワークに関する一般的な概念について説明します。
Citrix Hypervisorでは、インストール中に物理ネットワークインターフェイスカードごとにネットワークが作成されます。サーバーをプールに追加すると、デフォルトのネットワークがマージされます。これは、同じデバイス名を持つすべての物理NICが必ず同じネットワークに接続されるようにするためです。
通常は、内部ネットワークを作成する場合、既存のNICを使用して新しいVLANを設定する場合、またはNICボンディングを作成する場合にのみ、新しいネットワークを追加します。
Citrix Hypervisorでは、次の異なる種類のネットワークを設定できます:
-
外部ネットワークには、物理ネットワークインターフェイスが関連付けられています。外部ネットワークは、仮想マシンと、そのネットワークに接続された物理ネットワークインターフェイスとの間のブリッジを提供します。外部ネットワークを使用すると、仮想マシンは、サーバーの物理NICを通じて使用可能なリソースに接続できます。
-
ボンディングしたネットワークでは複数のNICを1つの仮想的なNICとしてボンディングして、仮想マシンとネットワークの間に単一の高性能チャネルを作成します。
-
単一サーバーのプライベートネットワークは、物理ネットワークインターフェイスに関連付けられていません。単一サーバーのプライベートネットワークは、そのホスト上の仮想マシン間での接続のみを提供します。外部には接続できません。
注:
ネットワークの設定オプションには、スタンドアロンCitrix Hypervisorサーバーとリソースプールで、動作が異なるものがあります。このセクションでは、スタンドアロンホストとリソースプールの両方に適用される一般情報と、スタンドアロンホストおよびリソースプールに特有な情報について説明します。
ネットワークオブジェクト
このセクションでは、ネットワークエンティティを表すサーバー側ソフトウェアオブジェクトとして、以下のオブジェクトを使用します。
-
PIF(Physical Interface)は、ホスト上の物理ネットワークインターフェイスを表します。PIFオブジェクトは、名前と説明、UUID、対応するNICのパラメーター、および接続先のネットワークとサーバーという属性を持ちます。
-
VIF(Virtual Interface)は、仮想マシン上の仮想インターフェイスを表します。VIFオブジェクトは、名前と説明、UUID、および接続先のネットワークと仮想マシンという属性を持ちます。
-
ネットワークは、ホストの仮想イーサネットスイッチです。ネットワークオブジェクトは、名前と説明、UUID、および接続先のVIFとPIFの集合という属性を持ちます。
XenCenterおよびxe CLIを使用すると、ネットワークオプションを設定できます。管理操作に使用するNICを制御することや、VLANやNICボンディングなどの高度なネットワーク機能を作成することができます。
ネットワーク
各Citrix Hypervisorサーバーには、1つまたは複数のネットワークがあり、それらは仮想イーサネットスイッチです。PIFに関連付けられていないネットワークは、内部とみなされます。内部ネットワークは、同一Citrix Hypervisorサーバー上の仮想マシン間の接続のみに使用され、外部との接続はできません。PIFに関連付けられたネットワークは、外部とみなされます。外部ネットワークは、VIFと、ネットワークに接続されたPIFとの間のブリッジを提供し、PIFのNIC経由で外部ネットワーク上のリソースへの接続を可能にします。
VLAN
VLANでは、IEEE 802.1Q標準で定義されているように、単一の物理ネットワークで複数の論理ネットワークをサポートできます。Citrix Hypervisorサーバーでは、VLANをさまざまな方法で使用できます。
注:
- クラスター化ネットワークが非管理VLAN上にある場合、クラスター化プール上でホストを追加または削除できないという既知の問題があるため、GFS2ストレージリポジトリをVLANで使用しないことをお勧めします。
- リソースプール、スタンドアロンホスト、そしてボンディングの使用/不使用などの構成の違いにより、サポートされるVLAN設定が異なることはありません。
仮想マシンでのVLANの使用
802.1Q VLANのトランクポートとして設定されているスイッチポートとCitrix HypervisorのVLAN機能を使用して、ゲストの仮想ネットワークインターフェイス(VIF)を特定のVLANに接続できます。この場合、Citrix HypervisorサーバーがゲストのVLANタグ付けとタグ解除を実行します。
Citrix HypervisorのVLANは、指定されたVLANタグに対応するVLANインターフェイスを表す追加のPIFオブジェクトによって表されます。物理ネットワークインターフェイスカードを表すPIFにCitrix Hypervisorネットワークを接続して、ネットワークインターフェイスカード上のすべてのトラフィックを確認できます。または、VLANを表すPIFにネットワークを接続して、指定されたVLANタグを持つトラフィックのみを確認できます。VLAN 0でネイティブVLANトラフィックのみにアクセスするようにネットワークを接続することもできます。
スタンドアロンまたはリソースプール内のCitrix HypervisorサーバーでのVLANの作成手順については、「VLANの作成」を参照してください。
ゲストにVLANのタグ付けおよびタグ付け解除機能を実行させる場合、ゲストはVLANを認識している必要があります。仮想マシンのネットワークを構成するときは、スイッチポートをVLANトランクポートとして構成しますが、Citrix HypervisorサーバーのVLANは作成しないでください。代わりに、通常の非VLANネットワークでVIFを使用してください。
管理インターフェイスでのVLANの使用
トランクポートまたはアクセスモードポートとして設定されたスイッチポートを使用して、VLAN上で管理インターフェイスを構成することができます。XenCenterまたはxe CLIを使ってVLANをセットアップし、管理インターフェイスとして使用します。詳しくは、「管理インターフェイス」を参照してください。
ストレージ専用NICでのVLANの使用
ストレージ専用NICは、管理インターフェイスに関する前のセクションで説明したように、ネイティブVLANポートまたはアクセスモードポートを使用するように設定できます。ストレージ専用NICは、IP対応NICまたはセカンダリインターフェイスとも呼ばれます。仮想マシンに関する前のセクションで説明したように、トランクポートとCitrix Hypervisor VLANを使用するようにストレージ専用ネットワークインターフェイスカードを設定できます。詳しくは、「ストレージ専用NICを設定する」を参照してください。
管理インターフェイスとゲストVLANを単一のホストNICにまとめる
単一のスイッチポートをトランクVLANとネイティブVLANの両方と組み合わせることができます。これにより、1つのホストNICを(ネイティブVLAN上の)管理インターフェイス用に使用したり、ゲストVIFを特定のVLAN IDに接続するために使用したりできます。
ジャンボフレーム
ジャンボフレームは、ストレージネットワークおよび仮想マシンネットワーク上のトラフィックのパフォーマンスを最適化するために使用される機能です。ジャンボフレームは、1,500バイトを超えるペイロードを含むイーサネットフレームです。通常、スループットの向上、システムバスメモリの負荷やCPUオーバーヘッドの低減を実現するために使用されます。
注:
Citrix Hypervisorでは、プール内のすべてのホスト上で、ネットワークスタックとしてvSwitchが使用されている場合にのみジャンボフレームがサポートされます。
ジャンボフレームを使用するための要件
ジャンボフレームを使用する場合は、以下の点に注意してください:
-
ジャンボフレームは、プールレベルで設定されます
-
プール内のすべてのサーバー上で、ネットワークバックエンドとしてvSwitchを設定する必要があります
-
サブネット上のすべてのデバイスがジャンボフレームを使用するように設定する必要があります
-
管理ネットワーク上でジャンボフレームを有効にする設定はサポートされていません
ジャンボフレームを使用する場合は、MTU(Maximum Transmission Unit:最大転送単位)の値を1500から9216の範囲で指定します。XenCenterまたはxe CLIを使用してMTUを設定できます。
NICボンディング
NICボンディングは、NICチーミングと呼ばれることもあります。管理者は、複数のネットワークインターフェイスカードを束ねて、Citrix Hypervisorサーバーの耐障害性や帯域幅を向上させることができます。NICボンディングは論理的には1つのネットワークカードとして機能し、ボンディングされたすべてのNICはMACアドレスを共有します。
ボンディングされたネットワークインターフェイスカードの一方に障害が発生すると、ホストのネットワークトラフィックは自動的に他方のネットワークインターフェイスカード経由で転送されます。Citrix Hypervisorでは、最大で8組のボンディングネットワークがサポートされています。
Citrix Hypervisorでは、アクティブ/アクティブモード、アクティブ/パッシブモード、およびLACPボンディングモードがサポートされています。ボンディングを構成できるNICの数やサポートされるボンディングモードは、使用するネットワークスタックにより異なります:
-
LACPボンディングは、vSwitchでのみ使用できます。アクティブ/アクティブモードおよびアクティブ/パッシブモードのボンディングは、vSwitchおよびLinuxブリッジの両方で使用できます。
-
ネットワークスタックとしてvSwitchを使用する場合は、最大で4つのNICを使用してボンディングを作成できます。
-
Linuxブリッジネットワークスタックの場合、ボンディングを構成できるNICは2つまでです。
次の図では、管理インターフェイスとしてNICボンディングが使用されています。Citrix Hypervisorでは、管理用トラフィックにこのNICボンディングが使用されます。
すべてのボンディングモードで、フェイルオーバー機能が提供されます。ただし、すべてのネットワークインターフェイスカードをすべての種類のトラフィック用にアクティブに使用するモードは一部のみです。Citrix Hypervisorでは、以下の種類のネットワークインターフェイスカードのボンディングがサポートされています:
-
通常のNIC(非管理用):Citrix Hypervisorで仮想マシントラフィックのみに使用されているネットワークインターフェイスカードを、ボンディングできます。これらのNICをボンディングすると、回復性が向上するだけでなく、NIC間で複数の仮想マシンからのトラフィックが分散されます。
-
管理インターフェイス:管理インターフェイスをほかのNICとボンディングして、障害発生時に管理トラフィックが2つ目のNICにフェイルオーバーされるように設定できます。アクティブ/アクティブモードでは管理インターフェイスの負荷を分散させることはできませんが、LACP(Link Aggregation Control Protocol)モードでは可能です。ボンディングされたNICにVLANを作成し、ホスト管理インターフェイスをそのVLANに割り当てることができます。
-
セカンダリインターフェイス:セカンダリインターフェイス(ストレージ用のインターフェイスなど)として割り当てたNICをボンディングできます。ただし、多くのiSCSIソフトウェアイニシエータストレージでは、負荷分散を提供しないNICボンディングではなく、マルチパス構成を使用することをお勧めしています。詳しくは、『Designing Citrix Hypervisor Network Configurations』を参照してください。
このセクションでは、iSCSIおよびNFSのトラフィックに対して「IPベースのストレージトラフィック」という語を使用します。
VIFで既に使用されているインターフェイスを使用してボンディングを作成できます:この場合、仮想マシントラフィックが自動的にそのボンディングインターフェイスに移行されます。
Citrix Hypervisorでは、追加のPIFはNICボンディングを表します。Citrix HypervisorのNICボンディングは、それを構成する物理デバイス(PIF)を完全に包括します。
メモ:
- 単一のNICを使ってボンディングを作成することはサポートされません。
- ボンディングされたNICは、互いに異なるモデルにすることができます。
- NICボンディングは、FCoEトラフィックを処理するNICでサポートされません。
ベストプラクティス
NICボンディングを設定するときは、次のベストプラクティスに従ってください:
- ボンディングのリンクを、同じスイッチのポートだけでなく、別の物理ネットワークスイッチに接続します。
- 個々のスイッチが、別々の独立した配電ユニット(Power Distribution Unit:PDU)から電力を引き出すようにします。
- 可能であれば、データセンターで、PDUを給電のさまざまなフェーズに配置するか、さまざまな電力会社が提供する給電にも配置します。
- 電源障害が発生した場合に、ネットワークスイッチやサーバーが引き続き動作できるように、または、正常なシャットダウンを実行できるように、無停電電源装置を使用することも検討してください。
こうした対策により、ネットワークスイッチに影響を与える可能性のあるソフトウェア、ハードウェア、または電源の障害に対する回復性が向上します。
IPアドレッシングの要点
NICボンディングのIPアドレスは、以下のように割り当てられます:
-
管理ネットワークおよびストレージネットワーク
-
管理インターフェイスやセカンダリインターフェイスをボンディングする場合、単一のIPアドレスが割り当てられます。つまり、各ネットワークインターフェイスカードには、それ固有のIPアドレスがありません。Citrix Hypervisorでは、2つのネットワークインターフェイスカードが1つの論理接続として扱われます。
-
仮想マシン以外のトラフィック用にNICボンディングを使用する場合(共有ネットワークストレージや管理用XenCenterへの接続など)は、ボンディングにIPアドレスを設定します。管理インターフェイスやセカンダリインターフェイスの作成により既にNICにIPアドレスが割り当てられている場合は、そのNICを使ってボンディングを作成すると自動的にそのIPアドレスが割り当てられます。
-
IPアドレスが割り当てられていないNICと管理インターフェイスやセカンダリインターフェイスでボンディングを作成すると、管理インターフェイスまたはセカンダリインターフェイスのIPアドレスが割り当てられます。
-
タグ付きVLAN管理インターフェイスと他のインターフェイスをボンディングすると、ボンディングされたNIC上に管理VLANが作成されます。
-
-
仮想マシンネットワーク:仮想マシントラフィック用にNICボンディングを使用する場合、そのボンディングにIPアドレスを設定する必要はありません。これは、ボンディングが、IPアドレスが不要なOSIモデルのレイヤー2(データリンクレイヤー)で動作するためです。仮想マシンのIPアドレスは、VIFに割り当てられます。
ボンディングの種類
Citrix Hypervisorでは、3種類のNICボンディングがサポートされています。ボンディングの種類は、XenCenterまたはCLIコマンドを使用して設定します:
-
アクティブ/アクティブモードでは、ボンディングされたNIC間で仮想マシントラフィックが分散されます。「アクティブ/アクティブボンディング」を参照してください。
-
アクティブ/パッシブモードでは、一方のNICのみがトラフィックに使用されます。「アクティブ/パッシブボンディング」を参照してください。
-
LACP(Link Aggregation Control Protocol)モードでは、スイッチとサーバー間でNICのアクティブ/スタンバイが決定されます。「LACPボンディング」を参照してください。
注:
ボンディングは[アップ遅延]が31,000ミリ秒、[ダウン遅延]が200ミリ秒で設定されます。[アップ遅延]の値が大きいのは、一部のスイッチでポートが有効になるまでに時間がかかるためです。このように設定しないと、リンクが障害から復旧したとき、スイッチでトラフィックを転送できるようになる前に、ボンドによりそのリンクへトラフィックが再配分される可能性があります。両方の接続を別のスイッチに移動するには、第1の接続を移動してから31秒間待機して、その接続の使用が再開されてから、第2の接続を移動します。遅延の変更については、「ボンディングのアップ遅延の変更」を参照してください。
ボンディングの状態
Citrix Hypervisorでは、各ホストのボンディングの状態がイベントログに記録されます。イベントログには、ボンディングを構成するNICの障害や障害から回復などの情報が記録されます。同様に、以下のコマンドでlinks-up
パラメーターを使用して、ボンディングの状態を確認することもできます。
xe bond-param-get uuid=bond_uuid param-name=links-up
<!--NeedCopy-->
Citrix Hypervisorでは、ボンディング内のリンクの状態が約5秒ごとに確認されます。このため、ボンディングの複数のNICに5秒以内に相次いで障害が発生すると、次の状態チェックまで障害がログに記録されない場合があります。
ボンディングのイベントログは、XenCenterの[ログ]タブに表示されます。XenCenterを実行していない場合は、各ホスト上の/var/log/xensource.log
にもイベントログが記録されます。
アクティブ/アクティブボンディング
アクティブ/アクティブモードのNICボンディングを仮想マシントラフィックで使用すると、トラフィックが両方のNICで同時に送信されます。一方、管理トラフィックでアクティブ/アクティブモードを使用すると、1つのNICでトラフィックが送信され、もう1つのNICは障害発生時まで使用されません。アクティブ/アクティブモードは、LinuxブリッジおよびvSwitchネットワークスタック環境でのデフォルトのNICボンディングです。
ネットワークスタックとしてLinuxブリッジを使用する場合、ボンディングを構成できるNICは2つまでです。ネットワークスタックとしてvSwitchを使用する場合は、最大で4つのNICを使用してアクティブ/アクティブモードのボンディングを作成できます。ただし、アクティブ/アクティブモードで3つまたは4つのNICを使用する利点は、仮想マシントラフィックでしか発揮されません(次の図参照)。
Citrix Hypervisorでは、ボンディングに複数のMACアドレスが関連付けられている場合のみ、複数のネットワークインターフェイスカードにトラフィックを送信できます。Citrix Hypervisorでは、VIF内の仮想MACアドレスに基づいて、トラフィックが分散されます。つまり、以下のようになります。
-
仮想マシントラフィック:仮想マシン(ゲスト)トラフィックのみに使用されるNICボンディングでは、すべてのNICがアクティブになり、仮想マシントラフィックが分散されます。ただし、個別のVIFのトラフィックが複数のNICに分散されることはありません。
-
管理トラフィックまたはストレージトラフィック:複数のNICが同時にアクティブになることはありません。アクティブなNICに障害が発生した場合のみ、ほかのNICがアクティブになります。管理インターフェイスまたはセカンダリインターフェイスにボンディングを使用すると、トラフィックは分散されませんが耐障害性が提供されます。
-
混合トラフィック:NICボンディングでIPベースのストレージトラフィックと仮想マシントラフィックの両方が送信される場合は、仮想マシントラフィックおよびコントロールドメイントラフィックのみが分散されます。コントロールドメインは基本的に仮想マシンであるため、ほかのゲストと同様にネットワークインターフェイスカードを使用します。Citrix Hypervisorでは、仮想マシントラフィックと同じしくみでコントロールドメインのトラフィックが分散されます。
トラフィックの分散
Citrix Hypervisorでは、パケット送信元のMACアドレスに基づいて、複数のネットワークインターフェイスカードにトラフィックが分散されます。管理トラフィックの場合、送信元のMACアドレスは1つなので、アクティブ/アクティブモードでは1つのNICのみが使用され、トラフィックは分散されません。以下の2つの要素に基づいてトラフィックが分散されます。
-
トラフィックを送信する側と受信する側の仮想マシンおよびVIF
-
送信されるデータの量(キロバイト)
Citrix Hypervisorでは、各ネットワークインターフェイスカードで送受信されるデータの量がキロバイト単位で評価されます。一方のネットワークインターフェイスカードで送信されるデータ量が、他方のネットワークインターフェイスカードで送信されるデータ量を超えると、Citrix HypervisorによってVIFとネットワークインターフェイスカードの関連付けが再配分されます。VIFの全負荷が転送されます。1つのVIFの負荷が2つのNIC間で分割されることはありません。
アクティブ/アクティブモードのNICボンディングでは、複数の仮想マシンからのトラフィックが分散されますが、単一仮想マシンに対して2つのNICによるスループットを提供することはできません。VIFは、ボンディングを構成する2つのNICを同時に使用することはありません。Citrix Hypervisorでトラフィックの再配分が定期的に行われる間、ボンディング内の特定のネットワークインターフェイスカードにVIFが固定的に割り当てられることはありません。
アクティブ/アクティブモードは、SLB(Source Level Balancing)ボンディングと呼ばれることもあります。Citrix Hypervisorでは、ボンディングされたネットワークインターフェイスの間の負荷がSLBにより分散されます。SLBはオープンソースのALB(Adaptive Load Balancing)モードに由来し、ALB機能を再利用してNIC間で負荷を動的に再配分します。
このとき、各セカンダリ(インターフェイス)に流れるバイト数は、定期的に追跡されます。新しい送信元のMACアドレスを含んだパケットは、送信されると、負荷の低い方のセカンダリインターフェイスに割り当てられます。トラフィックの再配分は、一定の間隔で行われます。
各MACアドレスには対応する負荷があり、Citrix Hypervisorにより、仮想マシンで送受信されるデータ量に応じてその負荷全体がほかのネットワークインターフェイスカードに再配分されます。アクティブ/アクティブモードでは、1つの仮想マシンからのすべてのトラフィックを単一NICで送信できます。
注:
アクティブ/アクティブモードのボンディングでは、802.3ad(LACP)またはEtherChannel用のスイッチサポートが不要です。
アクティブ/パッシブボンディング
アクティブ/パッシブボンディングでは、1つのNICのみにトラフィックがルーティングされます。アクティブなNICがネットワーク接続を失うと、トラフィックはボンディング内の他のNICにフェイルオーバーされます。アクティブ/パッシブボンディングでは、トラフィックはアクティブNIC経由でルーティングされます。アクティブなNICに障害が発生すると、トラフィックはパッシブNICに移ります。
アクティブ/パッシブモードのNICボンディングは、LinuxブリッジおよびvSwitchネットワークスタック環境で使用できます。ネットワークスタックとしてLinuxブリッジを使用する場合、ボンディングを構成できるNICは2つまでです。ネットワークスタックとしてvSwitchを使用する場合は、最大で4つのNICを使用してボンディングを作成できます。ただし、アクティブ/パッシブモードでは、ボンディングを構成するNICのうちアクティブになるのは1つのみで、すべての種類のトラフィックで負荷分散は提供されません。
次の図では、2つのNICでアクティブ/パッシブモードのボンディングを構成しています。
アクティブ/アクティブモードは、Citrix Hypervisorのデフォルトのボンディング設定です。CLIを使用してボンディングを設定する場合は、アクティブ/パッシブモードのパラメーターを指定する必要があります。それ以外の場合は、アクティブ/アクティブボンディングが作成されます。管理トラフィックやストレージトラフィック用のネットワークに必ずアクティブ/パッシブモードを使用しなければならないわけではありません。
回復性を考慮すると、アクティブ/パッシブモードが適切である場合があります。アクティブ/パッシブモードでは、トラフィックに使用されるNICが頻繁には変更されません。同様に、このモードでは2つのスイッチを使用して冗長性を向上できますが、スタック構成は必要はありません。管理スイッチに障害が発生した場合に、スタック構成のスイッチが単一障害点になる可能性があります。
アクティブ/パッシブモードのボンディングでは、802.3ad(LACP)またはEtherChannel用のスイッチサポートが不要です。
トラフィックの負荷分散が不要な場合、または一方のNICにのみトラフィックを送信したい場合は、アクティブ/パッシブモードのボンディングを使用します。
重要:
VIFを作成した後やリソースプールが実稼働環境で動作している場合は、NICボンディングの作成や変更を慎重に行う必要があります。
LACPボンディング
LACP(Link Aggregation Control Protocol)ボンディングでは、複数のポートをグループ化して単一の論理チャネルとして使用します。LACPボンディングでは、フェイルオーバーが提供されます。また、より多くの帯域幅を使用できるようになります。
ほかのボンディングモードとは異なり、LACPボンディングを使用するには送信側および受信側での設定が必要です:つまり、ホスト上でボンディングを作成して、スイッチ上の各ボンディングにLAG(Link Aggregation Group:リンクアグリゲーショングループ)を作成します。「LACPボンディングのスイッチ構成」を参照してください。LACPボンディングを使用するには、ネットワークスタックとしてvSwitchを設定する必要があります。また、IEEE 802.3ad標準をサポートするスイッチを使用する必要があります。
アクティブ/アクティブSLBボンディングとLACPボンディングの比較:
アクティブ/アクティブSLBボンディング
長所:
- ハードウェア互換性リストに記載されているすべてのスイッチで使用できます。
- スタック構成をサポートしないスイッチを使用できます。
- 4つのNICでボンディングを構成できます。
注意事項:
- 適切な負荷分散のためには、1つのVIFにつき1つ以上のNICが必要です。
- ストレージトラフィックや管理トラフィックを複数のNICに分散させることはできません。
- 負荷分散が提供されるのは、複数のMACアドレスが割り当てられている場合のみです。
LACPボンディング
長所:
- すべての種類のトラフィックですべてのNICが同時にアクティブになります。
- 送信元のMACアドレスに依存せずにトラフィックが分散されるため、すべての種類のトラフィックで負荷分散が提供されます。
注意事項:
- IEEE 802.3ad標準をサポートするスイッチを使用する必要があります。
- スイッチ側での設定が必要です。
- vSwitchでの使用のみがサポートされています。
- 単一スイッチまたはスタック構成のスイッチが必要です。
トラフィックの分散
Citrix Hypervisorでは、2種類のLACPボンディングハッシュがサポートされています。ハッシュとは、NICおよびスイッチがトラフィックを分散する方式です。1つは送信元および送信先のIPアドレスとポート番号に基づいてトラフィックを分散するもので、もう1つは送信元のMACアドレスに基づいてトラフィックを分散するものです。
ハッシュの種類およびトラフィックの形式によっては、アクティブ/アクティブモードのボンディングよりも効率的にトラフィックを分散できます。
注:
管理者は、ホストおよびスイッチ上で送信トラフィックと受信トラフィックを個別に設定します。ただし、これらの設定はホストとスイッチで異なっていても構いません。
送信元/送信先のポートとIPによる負荷分散。
これは、LACPボンディングのデフォルトのハッシュアルゴリズムです。送信元または送信先のIPやポートが異なる場合、1つのゲストからのトラフィックを2つのNICに分散できます。
たとえば、仮想マシン上で複数のアプリケーションを実行して、それらのアプリケーションが異なるIPまたはポートを使用する場合、このハッシュアルゴリズムによりトラフィックが分散されます。トラフィックを分散することで、ゲストは総スループットを使用できるようになります。この場合、1つの仮想マシンで複数NICの総合スループットを使用できることになります。
次の図のように、1つの仮想マシン上で実行される2つの異なるアプリケーションのトラフィックをそれぞれ異なるNICに分散できます。
送信元および送信先のIPアドレスとポート番号に基づいたLACPボンディングは、単一仮想マシン上の2つのアプリケーションのトラフィック負荷を分散させる場合に使用します。たとえば、3つのNICによるボンディングを単一の仮想マシンだけで使用する場合はこのオプションを使用します。
このハッシュアルゴリズムでは、送信元のIPアドレス、送信元のポート番号、送信先のIPアドレス、送信先のポート番号、および送信元のMACアドレスという5つの要素により、トラフィックの分散方法が決定されます。
送信元のMACアドレスによる負荷分散。
このタイプの負荷分散は、同じホストに複数の仮想マシンがある場合に有効です。トラフィックは、送信元の仮想マシンの仮想MACアドレスに基づいて配分されます。Citrix Hypervisorでは、アクティブ/アクティブモードのボンディングと同じアルゴリズムでトラフィックが送信されます。同一仮想マシンからのトラフィックが複数のNICに分散されることはありません。このため、VIFの数がNICよりも少ない場合、このハッシュアルゴリズムは適していません。トラフィックを複数のNICに分散できないため、適切な負荷分散は提供されません。
スイッチ設定
必要な冗長性の程度に応じて、ボンディングしたNICを同じスイッチに接続したり、スタック構成のスイッチに個別に接続したりできます。2つのNICを異なるスイッチに接続した場合、一方のNICやスイッチに障害が発生した場合に、他方のNICにフェイルオーバーされます。スイッチを追加することで、以下のように単一障害点を排除できます。
-
ボンディングした管理インターフェイスの一方のリンクで2台目のスイッチに接続している場合、そのスイッチに障害が発生しても管理ネットワークは切断されず、ホスト間の通信も中断されません。
-
すべてのトラフィックの種類で、他方のNICまたはスイッチに障害が発生しても、他方のNICやスイッチにフェイルオーバーされるため、仮想マシンのネットワーク接続は維持されます。
LACPボンディングのNICを複数のスイッチに接続する場合は、スタック構成のスイッチを使用します。「スタック構成のスイッチ」とは、単一の論理スイッチとして動作する複数の物理スイッチの構成を指します。複数のスイッチを物理的に接続して、スイッチの管理ソフトウェアを使用してそれらが単一の論理スイッチユニットとして動作するように設定する必要があります。通常、スイッチのスタック構成はスイッチベンダ独自の機能拡張で提供され、ベンダによっては異なる名称が使用されている場合があります。
注:
アクティブ/アクティブモードのボンディングの問題を解決するには、スイッチをスタック構成にする必要がある場合があります。アクティブ/パッシブモードのボンディングでは、スタック構成のスイッチを使用する必要はありません。
次の図は、ボンディングされたNICのケーブルとネットワーク構成を一致させる方法を示しています。
LACPボンディングのスイッチ構成
スイッチ構成の詳細はベンダごとに異なるので、LACPボンディングでのスイッチ構成には以下の考慮事項があります。
-
LACPおよびIEEE 802.3ad標準をサポートするスイッチを使用する必要があります。
-
スイッチ上でLAGを作成するときに、全ホストのLACPボンディングの数だけLAGを作成する必要があります。たとえば、5台のホストで構成されるプールで、各ホストのNIC 4とNIC 5でLACPボンディングを作成した場合は、スイッチ上に5つのLAGを作成します。ホストのNICに対応するポートのグループに1つのLAGを作成し、
必要に応じてVLAN IDを追加します。
-
Citrix HypervisorのLACPボンディングでは、LAGのスタティックモードを無効にする必要があります。
「スタック構成」で説明したように、LACPボンディングのNICを複数のスイッチに接続する場合は、スタック構成のスイッチを使用する必要があります。
セットアップ後のネットワークの初期設定
Citrix Hypervisorサーバーのネットワーク設定は、ホストの初回インストール時に行います。IPアドレス設定(DHCP/静的)、管理インターフェイス用のNIC、ホスト名などのオプションは、インストール時に指定した値に基づいて設定されます。
複数のNICを持つホストのインストール後の設定内容は、インストール時に管理用として選択したNICによって異なります。
-
ホストのNICごとにPIFが作成される。
-
管理インターフェイスとして選択したNICのPIFは、インストール時に指定したオプションでIPアドレスが設定される。
-
各PIFに対してネットワークが作成される(network 0、network 1など)。
-
各ネットワークは個別のPIFに接続される。
-
IPアドレス指定オプションは、管理インターフェイスとして使用されるPIF以外のすべてのPIFに対して未設定のままである。
単一のNICを持つホストでは、インストール後に次の内容が設定されます:
-
そのNICに対応する単一のPIFが作成される。
-
インストール中に指定したオプションでPIFのIPアドレスが設定され、ホストの管理が可能になる。
-
そのPIFがホスト管理用に設定される。
-
単一のネットワーク、network 0が作成される。
-
network 0はPIFに接続され、仮想マシンへの外部からの接続が有効になる。
タグ付きVLANネットワーク上でCitrix Hypervisorをインストールした後、構成は次のようになります:
-
ホストのNICごとにPIFが作成される。
-
NICでタグ付きVLANの管理インターフェイスとして選択されたPIFには、インストール時に指定したオプションでIPアドレスが設定される。
-
各PIFに対してネットワークが作成される(network 1、network 2など)。追加のVLANネットワークが作成される(たとえば、VLAN<TAG>上のeth0に関連付けられた、プール全体にわたるネットワーク用 )
-
各ネットワークは個別のPIFに接続される。そのVLAN PIFがホスト管理用に設定される。
いずれの場合も、上記のネットワーク設定により、ほかのコンピューター上のXenCenter、xe CLI、およびそのほかの管理ソフトウェアから、管理インターフェイスのIPアドレスを使用してCitrix Hypervisorサーバーに接続できるようになります。また、これらの設定により、ホスト上で作成された仮想マシンに対して外部ネットワーク機能が提供されます。
Citrix Hypervisorのインストールの間に、管理操作用のPIFに対してのみ、IPアドレスが設定されます。仮想マシンの外部ネットワークは、仮想イーサネットスイッチとして動作するネットワークオブジェクトを使用して、PIFからVIFへのブリッジによって実現されます。
VLAN、NICボンディング、およびストレージトラフィック専用NICの設定などのネットワーク機能に必要な手順は、後続のセクションで説明します。
ネットワーク設定の変更
networkオブジェクトを変更することで、ネットワーク設定を変更できます。つまり、networkオブジェクトまたはVIFを指定してコマンドを実行します。
networkオブジェクトの変更
ネットワークのフレームサイズ(MTU)、name-label、name-description、purposeなどの設定を変更できます。値を変更するには、xe network-param-set
コマンドとその関連パラメーターを使用します。
network-param-set
コマンドを実行するときは、uuid
パラメーターを必ず指定する必要があります。
オプションのパラメーターは次のとおりです:
-
default_locking_mode
。「クラウド環境でVIFのロックモードを簡単に設定する」を参照してください。 -
name-label
-
name-description
-
MTU
-
purpose
。「ネットワークに目的を追加する」を参照してください。 -
other-config
パラメーターの値が指定されていない場合、パラメーターはnull値に設定されます。マップパラメーターのキーと値は、map-param:key=value
形式で指定します。
ボンディングのアップ遅延の変更
障害発生後にそのリンクにトラフィックが再配分されるのを避けるため、ボンディングのアップ遅延値としてデフォルトで31,000ミリ秒が設定されます。この比較的大きなUp Delay値は、アクティブ/アクティブモードだけでなく、すべてのボンディングモードで重要な意味を持ちます。
ただし、必要に応じてこの値を変更を変更することができます。
次のコマンドを実行して、Up Delay値をミリ秒単位で指定します:
xe pif-param-set uuid=<uuid of bond master PIF> other-config:bond-updelay=<delay in ms>
<!--NeedCopy-->
次のコマンドを実行して、物理インターフェイスをアンプラグして再プラグします。これにより、変更が有効になります:
xe pif-unplug uuid=<uuid of bond master PIF>
<!--NeedCopy-->
xe pif-plug uuid=<uuid of bond master PIF>
<!--NeedCopy-->