XenServer

ネットワーキング

このセクションでは、XenServer® のネットワーキングの概要(ネットワーク、VLAN、NIC ボンドを含む)を説明します。また、ネットワーキング構成の管理方法とトラブルシューティングについても説明します。

重要:

vSwitch は XenServer のデフォルトのネットワークスタックです。Linux ネットワークスタックを構成するには、ネットワークスタックの選択 の手順に従ってください。

XenServer のネットワーキングの概念にすでに精通している場合は、ネットワーキングの管理 にスキップして、以下のセクションに関する情報を参照できます。

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

  • リソースプールで構成されている XenServer ホスト向けにネットワークを作成する

  • スタンドアロンまたはリソースプールの一部である XenServer ホスト向けに VLAN を作成する

  • スタンドアロンの XenServer ホスト向けにボンドを作成する

  • リソースプールで構成されている XenServer ホスト向けにボンドを作成する

注:

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

ネットワーキングのサポート

XenServer は、ホストあたり最大 16 個の物理ネットワークインターフェイス(または最大 4 個のボンドされたネットワークインターフェイス)、および VM あたり最大 7 個の仮想ネットワークインターフェイスをサポートします。

注:

XenServer は、xe コマンドラインインターフェイス (CLI) を使用して、NIC の自動構成と管理を提供します。ホストのネットワーク構成ファイルを直接編集しないでください。

ネットワークスタックの選択

どのネットワークスタックが構成されているかを確認するには、次のコマンドを実行します。

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 を介して利用可能なリソースに接続できます。

  • ボンディングネットワークは、2 つ以上の NIC 間にボンディングを作成し、仮想マシンとネットワーク間の単一の高性能チャネルを作成します。

  • シングルサーバープライベートネットワークは、物理ネットワークインターフェイスとの関連付けがありません。シングルサーバープライベートネットワークは、特定のホスト上の仮想マシン間の接続を提供するために使用でき、外部世界への接続はありません。

注:

スタンドアロンのXenServerホストとリソースプールで使用する場合、一部のネットワークオプションは異なる動作をします。このセクションには、スタンドアロンホストとプールに適用される一般的な情報と、それぞれの具体的な情報および手順が含まれています。

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

このセクションでは、ネットワークエンティティを表すために3種類のサーバー側ソフトウェアオブジェクトを使用します。これらのオブジェクトは次のとおりです。

  • ホスト上の物理NICを表すPIF。PIFオブジェクトには、名前と説明、UUID、それが表すNICのパラメーター、および接続先のネットワークとホストが含まれます。

  • 仮想マシン上の仮想NICを表すVIF。VIFオブジェクトには、名前と説明、UUID、および接続先のネットワークとVMが含まれます。

  • ホスト上の仮想イーサネットスイッチであるネットワーク。ネットワークオブジェクトには、名前と説明、UUID、およびそれに接続されているVIFとPIFのコレクションが含まれます。

XenCenter®とxe CLIを使用すると、ネットワークオプションを構成できます。管理操作に使用するNICを制御したり、VLANやNICボンディングなどの高度なネットワーク機能を作成したりできます。

ネットワーク

各XenServerホストには、1つ以上のネットワーク(仮想イーサネットスイッチ)があります。PIFに関連付けられていないネットワークは、内部と見なされます。内部ネットワークは、特定のXenServerホスト上のVM間でのみ接続を提供するために使用でき、外部との接続はありません。PIFに関連付けられているネットワークは、外部と見なされます。外部ネットワークは、VIFとネットワークに接続されたPIF間のブリッジを提供し、PIFのNICを介して利用可能なリソースへの接続を可能にします。

VLAN

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

注:

  • GFS2 SRとクラスター化されたプールを使用する場合、クラスターネットワークは非管理VLAN上に配置できません。
  • サポートされているすべてのVLAN構成は、プールとスタンドアロンホスト、およびボンディング構成と非ボンディング構成に等しく適用されます。

仮想マシンでのVLANの使用

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

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

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

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

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

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

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

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

単一ホストNICでの管理インターフェースとゲストVLANの組み合わせ

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

ジャンボフレーム

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

注:

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

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

ジャンボフレームを使用する際は、次の点に注意してください。

  • ジャンボフレームはプールレベルで構成されます

  • プール内のすべてのホストで、vSwitchがネットワークバックエンドとして構成されている必要があります

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

ジャンボフレームを使用するには、最大転送単位 (MTU) を1500から9216の間の値に設定します。MTUの設定には、XenCenterまたはxe CLIを使用できます。

NICボンディング

NICボンディング(NICチーミングとも呼ばれる)は、管理者が2つ以上のNICをまとめて構成できるようにすることで、XenServerホストの回復力と帯域幅を向上させます。NICボンディングは論理的に1つのネットワークカードとして機能し、すべてのボンディングされたNICはMACアドレスを共有します。

ボンディング内の1つのNICが故障した場合、ホストのネットワークトラフィックは自動的に2番目のNICを介してリダイレクトされます。XenServerは最大8つのボンディングされたネットワークをサポートします。

XenServerは、アクティブ/アクティブ、アクティブ/パッシブ、およびLACPボンディングモードをサポートしています。サポートされるNICの数とボンディングモードは、ネットワークスタックによって異なります。

  • LACPボンディングはvSwitchでのみ利用可能ですが、アクティブ/アクティブとアクティブ/パッシブはvSwitchとLinuxブリッジの両方で利用可能です。

  • vSwitchがネットワークスタックの場合、2つ、3つ、または4つのNICをボンディングできます。

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

注:

Linuxブリッジネットワークスタックは非推奨であり、将来のリリースで削除されます。

すべてのボンディングモードはフェイルオーバーをサポートしています。ただし、すべてのモードがすべてのトラフィックタイプに対してすべてのリンクをアクティブにできるわけではありません。XenServerは、以下の種類のNICのボンディングをサポートしています。

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

  • 管理インターフェース。管理インターフェースを別のNICにボンディングして、2番目のNICが管理トラフィックのフェイルオーバーを提供できるようにすることができます。LACPリンクアグリゲーションボンディングを構成すると管理トラフィックの負荷分散が提供されますが、アクティブ/アクティブNICボンディングでは提供されません。ボンディングされたNIC上にVLANを作成し、ホスト管理インターフェースをそのVLANに割り当てることができます。

  • セカンダリインターフェース。セカンダリインターフェース(たとえば、ストレージ用)として構成したNICをボンディングできます。ただし、ほとんどのiSCSIソフトウェアイニシエータストレージでは、「Designing XenServer Network Configurations」で説明されているように、NICボンディングではなくマルチパスを構成することをお勧めします。

    このセクション全体を通して、「IPベースのストレージトラフィック」という用語は、iSCSIトラフィックとNFSトラフィックを総称して説明するために使用されます。

VIFがすでにボンディングされるインターフェースのいずれかを使用している場合でも、ボンディングを作成できます。VMトラフィックは新しいボンディングされたインターフェースに自動的に移行します。

XenServerでは、追加のPIFがNICボンディングを表します。XenServerのNICボンディングは、基盤となる物理デバイス(PIF)を完全に包含します。

注記:

  • 1つのNICのみを含むボンディングの作成はサポートされていません。
  • ボンディングされたNICは、互いに異なるモデルであってもかまいません。
  • FCoEトラフィックを伝送するNICでは、NICボンディングはサポートされていません。

ベストプラクティス

NICボンディングを設定する際は、以下のベストプラクティスに従ってください。

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

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

IPアドレス指定に関する重要なポイント

ボンディングされたNICは、以下のいずれかの方法で1つのIPアドレスを持つか、IPアドレスを持ちません。

  • 管理ネットワークとストレージネットワーク

    • 管理インターフェースまたはセカンダリインターフェースをボンディングする場合、単一のIPアドレスがボンディングに割り当てられます。つまり、各NICは独自のIPアドレスを持ちません。XenServerは2つのNICを1つの論理接続として扱います。

    • ボンディングがVMトラフィック以外(たとえば、共有ネットワークストレージへの接続や管理のためのXenCenterへの接続)に使用される場合、ボンディングにIPアドレスを設定します。ただし、すでにいずれかのNICにIPアドレスを割り当てている場合(つまり、管理インターフェースまたはセカンダリインターフェースを作成している場合)、そのIPアドレスは自動的にボンディング全体に割り当てられます。

    • 管理インターフェースまたはセカンダリインターフェースをIPアドレスのないNICにボンディングする場合、ボンディングはそれぞれのインターフェースのIPアドレスを引き継ぎます。

    • タグ付きVLAN管理インターフェースとセカンダリインターフェースをボンディングする場合、管理VLANはそのボンディングされたNIC上に作成されます。

  • VMネットワーク。ボンディングされたNICがVMトラフィックに使用される場合、ボンディングにIPアドレスを設定する必要はありません。これは、ボンディングがOSIモデルのレイヤー2であるデータリンク層で動作し、この層ではIPアドレス指定が使用されないためです。仮想マシンのIPアドレスはVIFに関連付けられます。

ボンディングの種類

XenServerは3種類のボンディングを提供しており、これらはすべてCLIまたはXenCenterを使用して設定できます。

  • アクティブ/アクティブモード。VMトラフィックはボンディングされたNIC間でバランスされます。アクティブ/アクティブボンディングを参照してください。

  • アクティブ/パッシブモード。1つのNICのみがアクティブにトラフィックを転送します。アクティブ/パッシブボンディングを参照してください。

  • LACPリンクアグリゲーション。スイッチとホスト間でアクティブNICとスタンバイNICがネゴシエートされます。「LACPリンクアグリゲーション制御プロトコルボンディング」(/ja-jp/xenserver/8/networking.html#lacp-link-aggregation-control-protocol-bonding)を参照してください。

注記:

ボンディングは、アップ遅延31,000ミリ秒、ダウン遅延200ミリ秒で設定されます。この一見長いアップ遅延は、一部のスイッチがポートを有効にするのにかかる時間を考慮して意図的に設定されています。遅延がない場合、リンクが障害から復旧した際に、スイッチがトラフィックを転送する準備ができていないうちに、ボンディングがそのリンクにトラフィックを再分散してしまう可能性があります。両方の接続を別のスイッチに移動するには、まず一方を移動し、それが再び使用可能になるまで31秒待ってから、もう一方を移動してください。遅延の変更については、「ボンディングのアップ遅延の変更」(/ja-jp/xenserver/8/networking.html#changing-the-up-delay-for-bonds)を参照してください。

ボンディングステータス

XenServerは、各ホストのイベントログにボンディングのステータスを提供します。ボンディング内の1つ以上のリンクが障害を起こしたり復旧したりした場合、それはイベントログに記録されます。同様に、次の例に示すように、links-upパラメーターを使用してボンディングのリンクのステータスを照会できます。

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

XenServerは、約5秒ごとにボンディング内のリンクのステータスをチェックします。したがって、5秒の間にボンディング内の複数のリンクが障害を起こした場合、その障害は次のステータスチェックまでログに記録されません。

ボンディングイベントログは、XenCenterの通知 > イベントビューに表示されます。XenCenterを実行していないユーザーの場合、イベントログは各ホストの/var/log/xensource.logにも表示されます。

アクティブ-アクティブボンディング

アクティブ-アクティブは、ゲストトラフィック用のアクティブ/アクティブ構成であり、両方のNICが同時にVMトラフィックをルーティングできます。ボンディングが管理トラフィックに使用される場合、ボンディング内のNICのうち1つだけがトラフィックをルーティングでき、他のNICは未使用のままフェイルオーバーサポートを提供します。アクティブ-アクティブモードは、LinuxブリッジまたはvSwitchネットワークスタックのいずれかが有効になっている場合のデフォルトのボンディングモードです。

Linuxブリッジでアクティブ-アクティブボンディングを使用する場合、ボンディングできるNICは2つだけです。vSwitchをネットワークスタックとして使用する場合、アクティブ-アクティブモードで2つ、3つ、または4つのNICをボンディングできます。ただし、アクティブ-アクティブモードでは、3つまたは4つのNICのボンディングは、以下の図に示すように、VMトラフィックにのみ有効です。

 この図は、4つのNICをボンディングすることがゲストトラフィックにのみどのように役立つかを示しています。管理ネットワークの上の図では、NIC 2はアクティブですが、NIC 1、3、4はパッシブです。VMトラフィックの場合、ボンディング内の4つのNICすべてがアクティブです。ただし、これは最低4つのVMがあることを前提としています。ストレージトラフィックの場合、NIC 11のみがアクティブです。

XenServerは、ボンディングに関連付けられたMACアドレスが複数ある場合にのみ、2つ以上のNICを介してトラフィックを送信できます。XenServerは、VIF内の仮想MACアドレスを使用して、複数のリンク間でトラフィックを送信できます。具体的には、次のとおりです。

  • VMトラフィック。VM(ゲスト)トラフィックのみを転送するNICでボンディングを有効にすると、すべてのリンクがアクティブになり、NICボンディングはVMトラフィックをNIC間で分散してバランスをとることができます。個々のVIFのトラフィックがNIC間で分割されることはありません。

  • 管理トラフィックまたはストレージトラフィック。ボンディング内のリンク(NIC)のうち1つだけがアクティブであり、トラフィックがそれらにフェイルオーバーしない限り、他のNICは未使用のままです。ボンディングされたネットワーク上で管理インターフェイスまたはセカンダリインターフェイスを構成すると、回復性が提供されます。

  • 混合トラフィック。ボンディングされたNICがIPベースのストレージトラフィックとゲストトラフィックの混合を転送する場合、ゲストトラフィックと制御ドメイントラフィックのみがロードバランスされます。制御ドメインは本質的に仮想マシンであるため、他のゲストと同様にNICを使用します。XenServerは、VMトラフィックをバランスするのと同じ方法で制御ドメインのトラフィックをバランスします。

トラフィックバランシング

XenServerは、パケットの送信元MACアドレスを使用してNIC間のトラフィックをバランシングします。管理トラフィックの場合、送信元MACアドレスは1つしか存在しないため、アクティブ/アクティブモードでは1つのNICしか使用できず、トラフィックはバランシングされません。トラフィックバランシングは、次の2つの要因に基づいています。

  • トラフィックを送受信する仮想マシンとその関連VIF

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

XenServerは、各NICが送受信しているデータ量(キロバイト単位)を評価します。あるNICを介して送信されるデータ量が別のNICを介して送信されるデータ量を超えた場合、XenServerはどのVIFがどのNICを使用するかを再バランシングします。VIFの負荷全体が転送されます。1つのVIFの負荷が2つのNIC間で分割されることはありません。

アクティブ/アクティブNICボンディングは、複数のVMからのトラフィックに対してロードバランシングを提供できますが、単一のVMに2つのNICのスループットを提供することはできません。特定のVIFは、一度にボンディング内のリンクの1つのみを使用します。XenServerが定期的にトラフィックを再バランシングするため、VIFはボンディング内の特定のNICに永続的に割り当てられることはありません。

アクティブ/アクティブモードは、XenServerがSLBを使用してボンディングされたネットワークインターフェース間で負荷を共有するため、ソースロードバランシング(SLB)ボンディングと呼ばれることがあります。SLBはオープンソースの適応型ロードバランシング(ALB)モードから派生しており、ALBの機能を再利用してNIC間で負荷を動的に再バランシングします。

再バランシング時には、各セカンダリ(インターフェース)を介して流れるバイト数が一定期間追跡されます。送信されるパケットに新しい送信元MACアドレスが含まれている場合、そのパケットは最も利用率の低いセカンダリインターフェースに割り当てられます。トラフィックは定期的に再バランシングされます。

各MACアドレスには対応する負荷があり、XenServerはVMが送受信するデータ量に応じてNIC間で負荷全体を移動できます。アクティブ/アクティブトラフィックの場合、1つのVMからのすべてのトラフィックは1つのNICのみで送信できます。

注:

アクティブ/アクティブボンディングは、EtherChannelまたは802.3ad(LACP)のスイッチサポートを必要としません。

アクティブ/パッシブボンディング

アクティブ/パッシブボンディングは、NICのいずれか1つのみを介してトラフィックをルーティングします。アクティブNICがネットワーク接続を失った場合、トラフィックはボンディング内のもう一方のNICにフェイルオーバーします。アクティブ/パッシブボンディングは、アクティブNICを介してトラフィックをルーティングします。アクティブNICが故障した場合、トラフィックはパッシブNICに切り替わります。

アクティブ/パッシブボンディングは、LinuxブリッジとvSwitchネットワークスタックで利用できます。Linuxブリッジで使用する場合、2つのNICをボンディングできます。vSwitchで使用する場合、2つ、3つ、または4つのNICのみをボンディングできます。ただし、トラフィックの種類に関係なく、アクティブ/パッシブモードでNICをボンディングする場合、アクティブなリンクは1つだけであり、リンク間のロードバランシングは行われません。

次の図は、アクティブ/パッシブモードで構成された2つのボンディングされたNICを示しています。

  この図は、アクティブ/パッシブモードで結合された2つのNICを示しています。NIC 1はアクティブです。このボンドには、2番目のスイッチに接続されたフェイルオーバー用のNICが含まれています。このNICは、NIC 1が故障した場合にのみ使用されます。

アクティブ/アクティブモードは、XenServerのデフォルトのボンディング構成です。CLIを使用してボンドを構成する場合、アクティブ/パッシブモードのパラメーターを指定する必要があります。そうしないと、アクティブ/アクティブボンドが作成されます。ネットワークが管理トラフィックまたはストレージトラフィックを伝送しているため、アクティブ/パッシブモードを構成する必要はありません。

アクティブ/パッシブは、いくつかの利点があるため、回復力にとって良い選択肢となり得ます。アクティブ/パッシブボンドでは、トラフィックがNIC間を移動することはありません。同様に、アクティブ/パッシブボンディングでは、冗長性のために2つのスイッチを構成できますが、スタッキングは必要ありません。管理スイッチがダウンした場合、スタックされたスイッチは単一障害点となる可能性があります。

アクティブ/パッシブモードでは、EtherChannelまたは802.3ad (LACP) のスイッチサポートは必要ありません。

負荷分散が必要ない場合、または1つのNICでトラフィックを送信するだけの場合には、アクティブ/パッシブモードの構成を検討してください。

重要:

VIFを作成した後、またはプールが稼働中の場合は、ボンドの変更や作成には注意してください。

LACPリンクアグリゲーション制御プロトコルボンディング

LACPリンクアグリゲーション制御プロトコルは、ポートのグループを束ねて単一の論理チャネルとして扱うボンディングの一種です。LACPボンディングはフェイルオーバーを提供し、利用可能な帯域幅の総量を増やすことができます。

他のボンディングモードとは異なり、LACPボンディングではリンクの両側を構成する必要があります。つまり、ホスト上でボンドを作成し、スイッチ上で各ボンドのリンクアグリゲーショングループ (LAG) を作成します。詳細については、「LACPボンドのスイッチ構成」を参照してください。LACPボンディングを使用するには、vSwitchをネットワークスタックとして構成する必要があります。また、スイッチはIEEE 802.3ad標準をサポートしている必要があります。

アクティブ/アクティブSLBボンディングとLACPボンディングの比較:

アクティブ/アクティブSLBボンディング

利点:

  • ハードウェア互換性リストにある任意のスイッチで使用できます。
  • スタッキングをサポートするスイッチは必要ありません。
  • 4つのNICをサポートします。

考慮事項:

  • 最適なロードバランシングには、VIFごとに少なくとも1つのNICが必要です。
  • ストレージまたは管理トラフィックを複数のNICに分割することはできません。
  • ロードバランシングは、複数のMACアドレスが存在する場合にのみ発生します。

LACPボンディング

利点:

  • トラフィックの種類に関係なく、すべてのリンクをアクティブにできます。
  • トラフィックバランシングは送信元MACアドレスに依存しないため、すべてのトラフィックタイプをバランスさせることができます。

考慮事項:

  • スイッチはIEEE 802.3ad標準をサポートしている必要があります。
  • スイッチ側の設定が必要です。
  • vSwitchのみでサポートされます。
  • 単一のスイッチまたはスタックされたスイッチが必要です。

トラフィックバランシング

XenServerは2種類のLACPボンディングハッシュタイプをサポートしています。ハッシュという用語は、NICとスイッチがトラフィックをどのように分散するかを説明しています。(1) 送信元および宛先アドレスのIPとポートに基づくロードバランシング、および (2) 送信元MACアドレスに基づくロードバランシングです。

ハッシュタイプとトラフィックパターンによっては、LACPボンディングはアクティブ-アクティブNICボンディングよりもトラフィックをより均等に分散できる可能性があります。

注:

ホストとスイッチで、送信トラフィックと受信トラフィックの設定を個別に構成します。両側で構成が一致している必要はありません。

送信元および宛先アドレスのIPとポートに基づくロードバランシング

このハッシュタイプは、デフォルトのLACPボンディングハッシュアルゴリズムです。送信元または宛先のIPまたはポート番号にバリエーションがある場合、1つのゲストからのトラフィックを2つのリンクに分散できます。

仮想マシンが異なるIPまたはポート番号を使用する複数のアプリケーションを実行している場合、このハッシュタイプは複数のリンクにトラフィックを分散します。トラフィックを分散することで、ゲストは集約されたスループットを使用できるようになります。このハッシュタイプにより、1つのゲストが複数のNICの全スループットを使用できます。

以下の図に示すように、このハッシュタイプは、仮想マシン上の2つの異なるアプリケーションのトラフィックを2つの異なるNICに分散できます。

この図は、LACPボンディングを使用し、ハッシュタイプとして送信元および宛先のIPとポートに基づくロードバランシングでLACPを有効にした場合、VM1上の2つの異なるアプリケーションからのトラフィックを2つのNICに分散できることを示しています。

送信元および宛先アドレスのIPとポートに基づくLACPボンディングの構成は、同じVM上の2つの異なるアプリケーションのトラフィックをバランスさせたい場合に有益です。たとえば、1つの仮想マシンのみが3つのNICのボンドを使用するように構成されている場合などです。

この図は、LACPボンディングを使用し、ハッシュタイプとして送信元および宛先のIPとポートに基づくロードバランシングでLACPを有効にした場合、NICの数がVIFの数を超えていても、XenServerが仮想マシン内の各アプリケーションのトラフィックをボンド内の3つのNICのいずれかを通して送信できることを示しています。

このハッシュタイプのバランシングアルゴリズムは、トラフィックをNIC全体に分散するために5つの要素を使用します。送信元IPアドレス、送信元ポート番号、宛先IPアドレス、宛先ポート番号、および送信元MACアドレスです。

送信元MACアドレスに基づくロードバランシング

このタイプのロードバランシングは、同じホスト上に複数の仮想マシンがある場合にうまく機能します。トラフィックは、トラフィックの発信元であるVMの仮想MACアドレスに基づいてバランスされます。XenServerは、アクティブ-アクティブボンディングと同じアルゴリズムを使用して送信トラフィックを送信します。同じゲストからのトラフィックは複数のNICに分割されません。結果として、VIFの数がNICの数よりも少ない場合、このハッシュタイプは適していません。トラフィックをNIC間で分割できないため、ロードバランシングは最適ではありません。

![この図は、LACPボンディングを使用し、ハッシュタイプとして送信元MACアドレスに基づくLACPを有効にした場合、NICの数がVIFの数を超えると、すべてのNICが使用されるわけではないことを示しています。3つのNICと2つのVMがあるため、同時に使用できるNICは2つだけです。したがって、最大のボンドスループットは達成できません。1つのVMからのパケットは複数のVMに分割できません。]](/en-us/xenserver/8/media/lacp-option-a.png)

スイッチ構成

冗長性の要件に応じて、ボンド内のNICを同じスタック型スイッチに接続することも、別々のスタック型スイッチに接続することもできます。NICの1つを2番目の冗長スイッチに接続し、NICまたはスイッチが故障した場合、トラフィックは別のNICにフェイルオーバーします。2番目のスイッチを追加すると、構成における単一障害点を以下の方法で防ぐことができます。

  • ボンドされた管理インターフェースのリンクの1つを2番目のスイッチに接続した場合、そのスイッチが故障しても、管理ネットワークはオンラインのままであり、ホストは引き続き相互に通信できます。

  • リンク(任意のトラフィックタイプ用)を2番目のスイッチに接続し、NICまたはスイッチが故障した場合、トラフィックが別のNIC/スイッチにフェイルオーバーするため、仮想マシンはネットワーク上に残ります。

ボンドされたNICを複数のスイッチに接続し、LACPボンディングモードを設定している場合は、スタック型スイッチを使用します。「スタック型スイッチ」という用語は、複数の物理スイッチを単一の論理スイッチとして機能するように構成することを指します。スイッチが単一の論理スイッチングユニットとして機能するように、スイッチメーカーのガイドラインに従って、物理的およびスイッチ管理ソフトウェアを介してスイッチを結合する必要があります。通常、スイッチスタッキングは独自の拡張機能を通じてのみ利用可能であり、スイッチベンダーはこの機能を異なる用語で販売する場合があります。

注:

アクティブ-アクティブボンドで問題が発生した場合、スタック型スイッチの使用が必要になる場合があります。アクティブ-パッシブボンドはスタック型スイッチを必要としません。

LACPボンドのスイッチ構成

スイッチ構成の具体的な詳細はメーカーによって異なるため、LACPボンドで使用するスイッチを構成する際に覚えておくべきいくつかの重要な点があります。

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

  • スイッチ上にLAGグループを作成する際、ホスト上の各LACPボンドに対して1つのLAGグループを作成する必要があります。たとえば、5つのホストプールがあり、各ホストのNIC 4と5にLACPボンドを作成した場合、スイッチ上に5つのLAGグループを作成する必要があります。これは、ホスト上のNICに対応するポートのセットごとに1つのグループです。

    LAGグループにVLAN IDを追加する必要がある場合もあります。

  • XenServerのLACPボンドでは、LAGグループの静的モード設定を「無効」に設定する必要があります。

スイッチ構成で前述したように、LACPボンドを複数のスイッチに接続するには、スタック型スイッチが必要です。

セットアップ後の初期ネットワーク構成

XenServerホストのネットワーク構成は、最初のホストインストール時に指定されます。IPアドレス構成(DHCP/静的)、管理インターフェースとして使用されるNIC、ホスト名などのオプションは、インストール時に提供された値に基づいて設定されます。

ホストに複数のNICがある場合、インストール後の構成は、インストール中に管理操作用にどのNICが選択されたかによって異なります。

  • ホスト内の各NICに対してPIFが作成されます

  • 管理インターフェースとして使用するために選択されたNICのPIFは、インストール中に指定されたIPアドレス設定オプションで構成されます

  • 各PIFに対してネットワーク(「network 0」、「network 1」など)が作成されます

  • 各ネットワークは1つのPIFに接続されます

  • 管理インターフェースとして使用されるPIF以外のすべてのPIFでは、IPアドレス設定オプションは未構成のままです

ホストに単一のNICがある場合、インストール後に以下の構成が存在します。

  • ホストの単一NICに対応する単一のPIFが作成されます

  • PIFは、インストール中に指定されたIPアドレス設定オプションで構成され、ホストの管理を有効にします

  • PIFはホスト管理操作で使用するように設定されます

  • 単一のネットワーク、network 0が作成されます

  • Network 0は、VMへの外部接続を有効にするためにPIFに接続されます

タグ付きVLANネットワークでXenServerのインストールが行われた場合、インストール後に以下の構成が存在します。

  • ホスト内の各NICに対してPIFが作成されます

  • 管理インターフェースとして使用するために選択されたNIC上のタグ付きVLANのPIFは、インストール時に指定されたIPアドレス構成で構成されます

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

  • 各ネットワークは1つのPIFに接続されます。VLAN PIFはホスト管理操作で使用するように設定されます。

どちらの場合も、結果として得られるネットワーク構成により、管理インターフェースのIPアドレスを介して、XenCenter、xe CLI、および別のマシンで実行されているその他の管理ソフトウェアからXenServerホストへの接続が可能になります。この構成は、ホスト上に作成されたVMに外部ネットワークも提供します。

管理操作に使用されるPIFは、XenServerのインストール中にIPアドレスが構成される唯一のPIFです。VMの外部ネットワークは、仮想イーサネットスイッチとして機能するネットワークオブジェクトを使用して、PIFをVIFにブリッジすることで実現されます。

VLAN、NICボンディング、ストレージトラフィックへのNICの割り当てなどのネットワーク機能に必要な手順は、以下のセクションで説明します。

ネットワーク構成の変更

ネットワークオブジェクトを変更することで、ネットワーク構成を変更できます。そのためには、ネットワークオブジェクトまたはVIFのいずれかに影響するコマンドを実行します。

ネットワークオブジェクトの変更

フレームサイズ(MTU)、名前ラベル、名前の説明、目的、その他の値など、ネットワークの側面を変更できます。xe network-param-set コマンドとその関連パラメーターを使用して値を変更します。

xe network-param-set コマンドを実行するとき、必須パラメーターは uuid のみです。

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

パラメーターの値が指定されていない場合、そのパラメーターはヌル値に設定されます。マップパラメーターで (キー、値) のペアを設定するには、map-param:key=value の構文を使用します。

ボンドのアップ遅延の変更

ボンディングは、NIC の障害後にトラフィックが NIC に再分散されるのを防ぐため、デフォルトで 31,000 ミリ秒のアップ遅延で設定されています。一見すると長いように思えますが、アップ遅延はアクティブ/アクティブだけでなく、すべてのボンディングモードにとって重要です。

ただし、ご使用の環境に適した設定を理解している場合は、以下の手順を使用してボンドのアップ遅延を変更できます。

アップ遅延をミリ秒単位で設定します。

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-->
ネットワーキング