XenServer

ネットワーク

このセクションでは、XenServerのネットワーク、VLAN、およびNICボンディングなどについて説明します。また、ネットワーク設定の管理やトラブルシューティングについても説明します。

重要:

vSwitchはXenServerのデフォルトのネットワークスタックです。「vSwitchネットワーク」内の指示に従って、Linuxネットワークスタックを構成してください。

XenServerのネットワークの概念について理解している場合は、先を飛ばして「ネットワークの管理」に進み、次のセクションを参照してください。

  • スタンドアロンXenServerホストでネットワークを作成する

  • リソースプール内のXenServerホストでネットワークを作成する

  • スタンドアロンまたはリソースプール内のXenServerホストでVLANを作成する

  • スタンドアロンXenServerホストでボンディングを作成する

  • リソースプール内のXenServerホストでボンディングを作成する

注:

「管理インターフェイス」という用語は、管理トラフィックを伝送するIP対応NICを示すために使用されます。「セカンダリインターフェイス」という用語は、ストレージトラフィック用に構成されたIP対応NICを示すために使用されます。

サポートされるネットワーク

XenServerでは、各ホストで最大16個の物理ネットワークインターフェイス(または最大4組のボンディングネットワークインターフェイス)がサポートされ、各仮想マシンで最大7個の仮想ネットワークインターフェイスがサポートされます。

注:

XenServerでは、xeコマンドによる、NICの自動設定と管理機能が提供されます。ホストネットワーキング構成ファイルを直接編集しないでください。

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-->

このコマンドの実行後、ホストを再起動する必要があります。

XenServerネットワークの概要

ここでは、XenServer環境でのネットワークに関する一般的な概念について説明します。

XenServerでは、インストール中に物理NICごとにネットワークが作成されます。ホストをプールに追加すると、デフォルトのネットワークがマージされます。これは、同じデバイス名を持つすべての物理NICが必ず同じネットワークに接続されるようにするためです。

通常は、内部ネットワークを作成する場合、既存のNICを使用して新しいVLANを設定する場合、またはNICボンディングを作成する場合にのみ、新しいネットワークを追加します。

XenServerでは、次の異なる種類のネットワークを設定できます:

  • 外部ネットワークには、物理ネットワークインターフェイスが関連付けられています。外部ネットワークは、仮想マシンと、そのネットワークに接続された物理ネットワークインターフェイスとの間のブリッジを提供します。外部ネットワークを使用すると、仮想マシンは、ホストの物理NICを通じて使用可能なリソースに接続できます。

  • ボンディングしたネットワークでは複数のNICを1つの仮想的なNICとしてボンディングして、仮想マシンとネットワークの間に単一の高性能チャネルを作成します。

  • 単一サーバーのプライベートネットワークは、物理ネットワークインターフェイスに関連付けられていません。単一サーバーのプライベートネットワークは、そのホスト上の仮想マシン間での接続のみを提供します。外部には接続できません。

注:

ネットワークの設定オプションには、スタンドアロンXenServerホストとリソースプールとで、動作が異なるものがあります。このセクションでは、スタンドアロンホストとリソースプールの両方に適用される一般情報と、スタンドアロンホストおよびリソースプールに特有な情報について説明します。

ネットワークオブジェクト

このセクションでは、ネットワークエンティティを表すサーバー側ソフトウェアオブジェクトとして、以下のオブジェクトを使用します。

  • PIF(Physical Interface)は、ホスト上の物理ネットワークインターフェイスを表します。PIFオブジェクトは、名前と説明、UUID、対応するNICのパラメーター、および接続先のネットワークとホストという属性を持ちます。

  • VIF(Virtual Interface)は、仮想マシン上の仮想インターフェイスを表します。VIFオブジェクトは、名前と説明、UUID、および接続先のネットワークと仮想マシンという属性を持ちます。

  • ネットワークは、ホストの仮想イーサネットスイッチです。ネットワークオブジェクトは、名前と説明、UUID、および接続先のVIFとPIFの集合という属性を持ちます。

XenCenterおよびxe CLIを使用すると、ネットワークオプションを設定できます。管理操作に使用するNICを制御することや、VLANやNICボンディングなどの高度なネットワーク機能を作成することができます。

ネットワーク

各XenServerホストには、1つまたは複数のネットワークがあり、それらは仮想イーサネットスイッチです。PIFに関連付けられていないネットワークは、内部とみなされます。内部ネットワークは、同一XenServerホスト上の仮想マシン間の接続のみに使用され、外部との接続はできません。PIFに関連付けられたネットワークは、外部とみなされます。外部ネットワークは、VIFと、ネットワークに接続されたPIFとの間のブリッジを提供し、PIFのNIC経由で外部ネットワーク上のリソースへの接続を可能にします。

VLAN

VLANでは、IEEE 802.1Q標準で定義されているように、単一の物理ネットワークで複数の論理ネットワークをサポートできます。XenServerホストは、複数の方法でVLANをサポートしています。

注:

  • クラスター化ネットワークが非管理VLAN上にある場合、クラスター化プール上でホストを追加または削除できないという既知の問題があるため、GFS2ストレージリポジトリをVLANで使用しないことをお勧めします。
  • リソースプール、スタンドアロンホスト、そしてボンディングの使用/不使用などの構成の違いにより、サポートされるVLAN設定が異なることはありません。

仮想マシンでのVLANの使用

802.1Q VLANのトランクポートとして設定されているスイッチポートとXenServerのVLAN機能を使用して、ゲストの仮想ネットワークインターフェイス(VIF)を特定のVLANに接続できます。この場合、XenServerホストがゲストのVLANタグ付けとタグ解除を実行します。

XenServerのVLANは、指定されたVLANタグに対応するVLANインターフェイスを表す追加のPIFオブジェクトによって表されます。物理NICを表すPIFにXenServerネットワークを接続して、NIC上のすべてのトラフィックを確認できます。または、VLANを表すPIFにネットワークを接続して、指定されたVLANタグを持つトラフィックのみを確認できます。VLAN 0でネイティブVLANトラフィックのみにアクセスするようにネットワークを接続することもできます。

スタンドアロンまたはリソースプール内のXenServerホストでのVLANの作成手順については、「VLANを作成する」を参照してください。

ゲストにVLANのタグ付けおよびタグ付け解除機能を実行させる場合、ゲストはVLANを認識している必要があります。仮想マシンのネットワークを構成するときは、スイッチポートをVLANトランクポートとして構成しますが、XenServerホストのVLANは作成しないでください。代わりに、通常の非VLANネットワークでVIFを使用してください。

管理インターフェイスでのVLANの使用

トランクポートまたはアクセスモードポートとして設定されたスイッチポートを使用して、VLAN上で管理インターフェイスを構成することができます。XenCenterまたはxe CLIを使ってVLANをセットアップし、管理インターフェイスとして使用します。詳しくは、「管理インターフェイス」を参照してください。

ストレージ専用NICでのVLANの使用

ストレージ専用NICは、管理インターフェイスに関する前のセクションで説明したように、ネイティブVLANポートまたはアクセスモードポートを使用するように設定できます。ストレージ専用NICは、IP対応NICまたはセカンダリインターフェイスとも呼ばれます。仮想マシンに関する前のセクションで説明したように、トランクポートとXenServerのVLANを使用するようにストレージ専用NICを設定できます。詳しくは、「ストレージ専用NICを設定する」を参照してください。

管理インターフェイスとゲストVLANを単一のホストNICにまとめる

単一のスイッチポートをトランクVLANとネイティブVLANの両方と組み合わせることができます。これにより、1つのホストNICを(ネイティブVLAN上の)管理インターフェイス用に使用したり、ゲストVIFを特定のVLAN IDに接続するために使用したりできます。

ジャンボフレーム

ジャンボフレームは、ストレージネットワークおよび仮想マシンネットワーク上のトラフィックのパフォーマンスを最適化するために使用される機能です。ジャンボフレームは、1,500バイトを超えるペイロードを含むイーサネットフレームです。通常、スループットの向上、システムバスメモリの負荷やCPUオーバーヘッドの低減を実現するために使用されます。

注:

XenServerでは、プール内のすべてのホスト上で、ネットワークスタックとしてvSwitchが使用されている場合にのみジャンボフレームがサポートされます。

ジャンボフレームを使用するための要件

ジャンボフレームを使用する場合は、以下の点に注意してください:

  • ジャンボフレームは、プールレベルで設定されます

  • プール内のすべてのホスト上で、ネットワークバックエンドとしてvSwitchを設定する必要があります

  • サブネット上のすべてのデバイスがジャンボフレームを使用するように設定する必要があります

  • 管理ネットワーク上でジャンボフレームを有効にする設定はサポートされていません

ジャンボフレームを使用する場合は、MTU(Maximum Transmission Unit:最大転送単位)の値を1500から9216の範囲で指定します。XenCenterまたはxe CLIを使用してMTUを設定できます。

NICボンディング

NICボンディングは、NICチーミングと呼ばれることもあります。管理者は、複数のNICを束ねて、XenServerホストの耐障害性や帯域幅を向上させることができます。NICボンディングは論理的には1つのネットワークカードとして機能し、ボンディングされたすべてのNICはMACアドレスを共有します。

ボンディングされたネットワークインターフェイスカードの一方に障害が発生すると、ホストのネットワークトラフィックは自動的に他方のネットワークインターフェイスカード経由で転送されます。XenServerでは、最大で8組のボンディングネットワークがサポートされます。

XenServerでは、アクティブ/アクティブモード、アクティブ/パッシブモード、およびLACPボンディングモードがサポートされます。ボンディングを構成できるNICの数やサポートされるボンディングモードは、使用するネットワークスタックにより異なります:

  • LACPボンディングは、vSwitchでのみ使用できます。アクティブ/アクティブモードおよびアクティブ/パッシブモードのボンディングは、vSwitchおよびLinuxブリッジの両方で使用できます。

  • ネットワークスタックとしてvSwitchを使用する場合は、最大で4つのNICを使用してボンディングを作成できます。

  • Linuxブリッジネットワークスタックの場合、ボンディングを構成できるNICは2つまでです。

すべてのボンディングモードで、フェイルオーバー機能が提供されます。ただし、すべてのネットワークインターフェイスカードをすべての種類のトラフィック用にアクティブに使用するモードは一部のみです。XenServerでは、以下の種類のトラフィックでNICボンディングを使用できます:

  • 通常のNIC(非管理用):XenServerが仮想マシントラフィックのみに使用しているNICをボンディングできます。これらのNICをボンディングすると、回復性が向上するだけでなく、NIC間で複数の仮想マシンからのトラフィックが分散されます。

  • 管理インターフェイス:管理インターフェイスをほかのNICとボンディングして、障害発生時に管理トラフィックが2つ目のNICにフェイルオーバーされるように設定できます。アクティブ/アクティブモードでは管理インターフェイスの負荷を分散させることはできませんが、LACP(Link Aggregation Control Protocol)モードでは可能です。ボンディングされたNICにVLANを作成し、ホスト管理インターフェイスをそのVLANに割り当てることができます。

  • セカンダリインターフェイス:セカンダリインターフェイス(ストレージ用のインターフェイスなど)として割り当てたNICをボンディングできます。ただし、多くのiSCSIソフトウェアイニシエータストレージでは、負荷分散を提供しないNICボンディングではなく、マルチパス構成を使用することをお勧めしています。詳しくは、『Designing Network Configurations』を参照してください。

    このセクションでは、iSCSIおよびNFSのトラフィックに対して「IPベースのストレージトラフィック」という語を使用します。

VIFで既に使用されているインターフェイスを使用してボンディングを作成できます:この場合、仮想マシントラフィックが自動的にそのボンディングインターフェイスに移行されます。

XenServerでは、追加のPIFはNICボンディングを表します。XenServerのNICボンディングは、XenServerを構成する物理デバイス(PIF)をすべて含んでいます。

メモ:

  • 単一のNICを使ってボンディングを作成することはサポートされません。
  • ボンディングされたNICは、互いに異なるモデルにすることができます。
  • NICボンディングは、FCoEトラフィックを処理するNICでサポートされません。

ベストプラクティス

NICボンディングを設定するときは、次のベストプラクティスに従ってください:

  • ボンディングのリンクを、同じスイッチのポートだけでなく、別の物理ネットワークスイッチに接続します。
  • 個々のスイッチが、別々の独立した配電ユニット(Power Distribution Unit:PDU)から電力を引き出すようにします。
  • 可能であれば、データセンターで、PDUを給電のさまざまなフェーズに配置するか、さまざまな電力会社が提供する給電にも配置します。
  • 電源障害が発生した場合に、ネットワークスイッチやホストが引き続き動作できるように、または、正常なシャットダウンを実行できるように、無停電電源装置を使用することも検討してください。

こうした対策により、ネットワークスイッチに影響を与える可能性のあるソフトウェア、ハードウェア、または電源の障害に対する回復性が向上します。

IPアドレッシングの要点

NICボンディングのIPアドレスは、以下のように割り当てられます:

  • 管理ネットワークおよびストレージネットワーク

    • 管理インターフェイスやセカンダリインターフェイスをボンディングする場合、単一のIPアドレスが割り当てられます。つまり、各ネットワークインターフェイスカードには、それ固有のIPアドレスがありません。XenServerでは、2つのネットワークインターフェイスカードが1つの論理接続として扱われます。

    • 仮想マシン以外のトラフィック用にNICボンディングを使用する場合(共有ネットワークストレージや管理用XenCenterへの接続など)は、ボンディングにIPアドレスを設定します。管理インターフェイスやセカンダリインターフェイスの作成により既にNICにIPアドレスが割り当てられている場合は、そのNICを使ってボンディングを作成すると自動的にそのIPアドレスが割り当てられます。

    • IPアドレスが割り当てられていないNICと管理インターフェイスやセカンダリインターフェイスでボンディングを作成すると、管理インターフェイスまたはセカンダリインターフェイスのIPアドレスが割り当てられます。

    • タグ付きVLAN管理インターフェイスと他のインターフェイスをボンディングすると、ボンディングされたNIC上に管理VLANが作成されます。

  • 仮想マシンネットワーク:仮想マシントラフィック用にNICボンディングを使用する場合、そのボンディングにIPアドレスを設定する必要はありません。これは、ボンディングが、IPアドレスが不要なOSIモデルのレイヤー2(データリンクレイヤー)で動作するためです。仮想マシンのIPアドレスは、VIFに割り当てられます。

ボンディングの種類

XenServerでは、3種類のNICボンディングがサポートされています。ボンディングの種類は、XenCenterまたはCLIコマンドを使用して設定します:

  • アクティブ/アクティブモードでは、ボンディングされたNIC間で仮想マシントラフィックが分散されます。「アクティブ/アクティブボンディング」を参照してください。

  • アクティブ/パッシブモードでは、一方のNICのみがトラフィックに使用されます。「アクティブ/パッシブボンディング」を参照してください。

  • LACP(Link Aggregation Control Protocol)モードでは、スイッチとホスト間でNICのアクティブ/スタンバイが決定されます。「LACPボンディング」を参照してください。

注:

ボンディングは[アップ遅延]が31,000ミリ秒、[ダウン遅延]が200ミリ秒で設定されます。[アップ遅延]の値が大きいのは、一部のスイッチでポートが有効になるまでに時間がかかるためです。このように設定しないと、リンクが障害から復旧したとき、スイッチでトラフィックを転送できるようになる前に、ボンドによりそのリンクへトラフィックが再配分される可能性があります。両方の接続を別のスイッチに移動するには、第1の接続を移動してから31秒間待機して、その接続の使用が再開されてから、第2の接続を移動します。遅延の変更については、「ボンディングのアップ遅延の変更」を参照してください。

ボンディングの状態

XenServerでは、各ホストのボンディングの状態がイベントログに記録されます。イベントログには、ボンディングを構成するNICの障害や障害から回復などの情報が記録されます。同様に、以下のコマンドでlinks-upパラメーターを使用して、ボンディングの状態を確認することもできます。

xe bond-param-get uuid=bond_uuid param-name=links-up
<!--NeedCopy-->

XenServerでは、ボンディングの状態が約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を使用する利点は、仮想マシントラフィックでしか発揮されません(次の図参照)。

この図は、4つのネットワークインターフェイスカードで構成されるボンディングをゲストトラフィックで使用する利点について示しています。1つ目の図は管理インターフェイスのNICボンディングを示しており、NIC 2がアクティブで、NIC 1、3、および4はパッシブです。仮想マシントラフィックの場合、ボンディング内の4つのNICはすべてアクティブです。ただし、これは最小でも4台の仮想マシンを想定しています。ストレージトラフィックでは、NIC 11だけがアクティブになります。

XenServerでは、ボンディングに複数のMACアドレスが関連付けられている場合のみ、複数のNICにトラフィックを送信できます。XenServerは、VIFの仮想MACアドレスに基づいて、トラフィックを分散します。つまり、以下のようになります。

  • 仮想マシントラフィック:仮想マシン(ゲスト)トラフィックのみに使用されるNICボンディングでは、すべてのNICがアクティブになり、仮想マシントラフィックが分散されます。ただし、個別のVIFのトラフィックが複数のNICに分散されることはありません。

  • 管理トラフィックまたはストレージトラフィック:複数のNICが同時にアクティブになることはありません。アクティブなNICに障害が発生した場合のみ、ほかのNICがアクティブになります。管理インターフェイスまたはセカンダリインターフェイスにボンディングを使用すると、トラフィックは分散されませんが耐障害性が提供されます。

  • 混合トラフィック:NICボンディングでIPベースのストレージトラフィックと仮想マシントラフィックの両方が送信される場合は、仮想マシントラフィックおよびコントロールドメイントラフィックのみが分散されます。コントロールドメインは基本的に仮想マシンであるため、ほかのゲストと同様にネットワークインターフェイスカードを使用します。XenServerでは、仮想マシントラフィックと同じしくみでコントロールドメインのトラフィックが分散されます。

トラフィックの分散

XenServerは、パケット送信元のMACアドレスに基づいてトラフィックを複数のNICに分散します。管理トラフィックの場合、送信元のMACアドレスは1つなので、アクティブ/アクティブモードでは1つのNICのみが使用され、トラフィックは分散されません。以下の2つの要素に基づいてトラフィックが分散されます。

  • トラフィックを送信する側と受信する側の仮想マシンおよびVIF

  • 送信されるデータの量(キロバイト)

XenServerでは、各NICで送受信されるデータの量がキロバイト単位で評価されます。一方のNICで送信されるデータ量が他方のNICの量を超えると、XenServerによってVIFとNICの関連付けが再配分されます。VIFの全負荷が転送されます。1つのVIFの負荷が2つのNIC間で分割されることはありません。

アクティブ/アクティブモードのNICボンディングでは、複数の仮想マシンからのトラフィックが分散されますが、単一仮想マシンに対して2つのNICによるスループットを提供することはできません。VIFは、ボンディングを構成する2つのNICを同時に使用することはありません。XenServerでトラフィックの再配分が定期的に行われる間、ボンディング内の特定のNICにVIFが固定的に割り当てられることはありません。

アクティブ/アクティブモードは、SLB(Source Level Balancing)ボンディングと呼ばれることもあります。XenServerでは、ボンディングされたネットワークインターフェイス間の負荷がSLBにより分散されます。SLBはオープンソースのALB(Adaptive Load Balancing)モードに由来し、ALB機能を再利用してNIC間で負荷を動的に再配分します。

このとき、各セカンダリ(インターフェイス)に流れるバイト数は、定期的に追跡されます。新しい送信元のMACアドレスを含んだパケットは、送信されると、負荷の低い方のセカンダリインターフェイスに割り当てられます。トラフィックの再配分は、一定の間隔で行われます。

各MACアドレスは対応する負荷を持ち、XenServerは仮想マシンが送受信するデータ量に応じてその負荷全体をほかのNICに再配分します。アクティブ/アクティブモードでは、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でアクティブ/パッシブモードのボンディングを構成しています。

この図は、2つのネットワークインターフェイスカードで構成される、アクティブ/パッシブモードのボンディングを示しています。NIC 1がアクティブで、フェイルオーバー用のNIC 2が別のスイッチに接続されています。NIC 1に障害が発生したときのみ、NIC 2が使用されます。

アクティブ/アクティブモードは、XenServerのデフォルトのボンディング設定です。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での使用のみがサポートされています。
  • 単一スイッチまたはスタック構成のスイッチが必要です。

トラフィックの分散

XenServerでは、2種類のLACPボンディングハッシュがサポートされています。ハッシュとは、NICおよびスイッチがトラフィックを分散する方式です。1つは送信元および送信先のIPアドレスとポート番号に基づいてトラフィックを分散するもので、もう1つは送信元のMACアドレスに基づいてトラフィックを分散するものです。

ハッシュの種類およびトラフィックの形式によっては、アクティブ/アクティブモードのボンディングよりも効率的にトラフィックを分散できます。

注:

管理者は、ホストおよびスイッチ上で送信トラフィックと受信トラフィックを個別に設定します。ただし、これらの設定はホストとスイッチで異なっていても構いません。

送信元/送信先のポートとIPによる負荷分散

これは、LACPボンディングのデフォルトのハッシュアルゴリズムです。送信元または送信先のIPやポートが異なる場合、1つのゲストからのトラフィックを2つのNICに分散できます。

たとえば、仮想マシン上で複数のアプリケーションを実行して、それらのアプリケーションが異なるIPまたはポートを使用する場合、このハッシュアルゴリズムによりトラフィックが分散されます。トラフィックを分散することで、ゲストは総スループットを使用できるようになります。この場合、1つの仮想マシンで複数NICの総合スループットを使用できることになります。

次の図のように、1つの仮想マシン上で実行される2つの異なるアプリケーションのトラフィックをそれぞれ異なるNICに分散できます。

この図では、ハッシュアルゴリズムとして[LACP - 送信元/送信先のポートとIPによる負荷分散]を選択したLACPボンディングで、VM1上の2つのアプリケーションのトラフィックを2つの異なるネットワークインターフェイスカードで送信しています。

送信元および送信先のIPアドレスとポート番号に基づいたLACPボンディングは、単一仮想マシン上の2つのアプリケーションのトラフィック負荷を分散させる場合に使用します。たとえば、3つのNICによるボンディングを単一の仮想マシンだけで使用する場合はこのオプションを使用します。

この図では、ハッシュアルゴリズムとして[LACP - 送信元/送信先のポートとIPによる負荷分散]を選択したLACPボンディングで、XenServerは単一仮想マシン上の各アプリケーションのトラフィックを、ボンディングを構成する3つのNICのうちの1つを使って送信しています。VIFの数がNICよりも少ない点に注意してください。

このハッシュアルゴリズムでは、送信元のIPアドレス、送信元のポート番号、送信先のIPアドレス、送信先のポート番号、および送信元のMACアドレスという5つの要素により、トラフィックの分散方法が決定されます。

送信元のMACアドレスによる負荷分散

このタイプの負荷分散は、同じホストに複数の仮想マシンがある場合に有効です。トラフィックは、送信元の仮想マシンの仮想MACアドレスに基づいて配分されます。XenServerでは、アクティブ/アクティブモードのボンディングと同じアルゴリズムでトラフィックが送信されます。同一仮想マシンからのトラフィックが複数のNICに分散されることはありません。このため、VIFの数がNICよりも少ない場合、このハッシュアルゴリズムは適していません。トラフィックを複数のNICに分散できないため、適切な負荷分散は提供されません。

この図では、ハッシュアルゴリズムとして[LACP - 送信元のMACアドレスによる負荷分散]を選択したLACPボンディングで、VIFの数がネットワークインターフェイスカードよりも少ないために、NIC 3が使用されていません。3つのNICと2つの仮想マシンがある場合は、同時に2つのNICしか使用できません。したがって、最大のボンディングスループットを実現することはできません。1つの仮想マシンからのパケットを複数の仮想マシンに分割することはできません。

スイッチ設定

必要な冗長性の程度に応じて、ボンディングしたNICを同じスイッチに接続したり、スタック構成のスイッチに個別に接続したりできます。2つのNICを異なるスイッチに接続した場合、一方のNICやスイッチに障害が発生した場合に、他方のNICにフェイルオーバーされます。スイッチを追加することで、以下のように単一障害点を排除できます。

  • ボンディングした管理インターフェイスの一方のリンクで2台目のスイッチに接続している場合、そのスイッチに障害が発生しても管理ネットワークは切断されず、ホスト間の通信も中断されません。

  • すべてのトラフィックの種類で、他方のNICまたはスイッチに障害が発生しても、他方のNICやスイッチにフェイルオーバーされるため、仮想マシンのネットワーク接続は維持されます。

LACPボンディングのNICを複数のスイッチに接続する場合は、スタック構成のスイッチを使用します。「スタック構成のスイッチ」とは、単一の論理スイッチとして動作する複数の物理スイッチの構成を指します。複数のスイッチを物理的に接続して、スイッチの管理ソフトウェアを使用してそれらが単一の論理スイッチユニットとして動作するように設定する必要があります。通常、スイッチのスタック構成はスイッチベンダ独自の機能拡張で提供され、ベンダによっては異なる名称が使用されている場合があります。

注:

アクティブ/アクティブモードのボンディングの問題を解決するには、スイッチをスタック構成にする必要がある場合があります。アクティブ/パッシブモードのボンディングでは、スタック構成のスイッチを使用する必要はありません。

LACPボンディングのスイッチ構成

スイッチ構成の詳細はベンダごとに異なるので、LACPボンディングでのスイッチ構成には以下の考慮事項があります。

  • LACPおよびIEEE 802.3ad標準をサポートするスイッチを使用する必要があります。

  • スイッチ上でLAGを作成するときに、全ホストのLACPボンディングの数だけLAGを作成する必要があります。たとえば、5台のホストで構成されるプールで、各ホストのNIC 4とNIC 5でLACPボンディングを作成した場合は、スイッチ上に5つのLAGを作成します。ホストのNICに対応するポートのグループに1つのLAGを作成し、

    必要に応じてVLAN IDを追加します。

  • XenServerのLACPボンディングでは、LAGのスタティックモードを無効にする必要があります。

スタック構成」で説明したように、LACPボンディングのNICを複数のスイッチに接続する場合は、スタック構成のスイッチを使用する必要があります。

セットアップ後のネットワークの初期設定

XenServerホストのネットワーク設定は、ホストの初回インストール時に行います。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ネットワーク上でXenServerをインストールした後、構成は次のようになります:

  • ホストのNICごとにPIFが作成される。

  • NICでタグ付きVLANの管理インターフェイスとして選択されたPIFには、インストール時に指定したオプションでIPアドレスが設定される。

  • 各PIFに対してネットワークが作成される(network 1、network 2など)。追加のVLANネットワークが作成される(たとえば、VLAN<TAG>上のeth0に関連付けられた、プール全体にわたるネットワーク用 )

  • 各ネットワークは個別のPIFに接続される。そのVLAN PIFがホスト管理用に設定される。

いずれの場合も、上記のネットワーク設定により、ほかのコンピュータ上のXenCenter、xe CLI、およびそのほかの管理ソフトウェアから、管理インターフェイスのIPアドレスを使用してXenServerホストに接続できるようになります。また、これらの設定により、ホスト上で作成された仮想マシンに対して外部ネットワーク機能が提供されます。

XenServerのインストールでは、管理操作用の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パラメーターを必ず指定する必要があります。

オプションのパラメーターは次のとおりです:

パラメーターの値が指定されていない場合、パラメーターはnull値に設定されます。マップパラメーターのキーと値は、map-param:key=value形式で指定します。

ボンディングのアップ遅延の変更

障害発生後にそのリンクにトラフィックが再配分されるのを避けるため、ボンディングのアップ遅延値としてデフォルトで31,000ミリ秒が設定されます。この比較的大きなUp Delay値は、アクティブ/アクティブモードだけでなく、すべてのボンディングモードで重要な意味を持ちます。

ただし、必要に応じてこの値を変更を変更することができます。

次のコマンドを実行して、Up Delay値をミリ秒単位で指定します:

xe pif-param-set uuid=<uuid of bond interface PIF> other-config:bond-updelay=<delay in ms>
<!--NeedCopy-->

次のコマンドを実行して、物理インターフェイスをアンプラグして再プラグします。これにより、変更が有効になります:

xe pif-unplug uuid=<uuid of bond interface PIF>
<!--NeedCopy-->
xe pif-plug uuid=<uuid of bond interface PIF>
<!--NeedCopy-->
ネットワーク