eviden-logo

Evidian > 製品 > SafeKit:オールインワンの SANレス高可用性(HA)& アプリケーション・クラスタリング・ソフトウェア > VMware における Microsoft NLB: マルチキャストおよびユニキャストの代替手段

VMware における Microsoft NLB: マルチキャストおよびユニキャストの代替手段

Evidian SafeKit

Microsoft NLB マルチキャスト モード

VMware のナレッジ ベースで説明されているように、Microsoft NLB マルチキャスト モードの場合は、クラスターに接続する各ポートのスイッチまたはルーターに静的 ARP 解決を手動で構成する必要があります(英語)。クラウドのような不明なネットワーク環境での Microsoft NLB マルチキャスト モードの展開は、複雑で非常に難しい作業になる場合があります。

Microsoft NLB ユニキャスト モード

Microsoft NLB ユニキャスト モードでは、ESXi/ESX ホストのいずれかの仮想マシンの電源がオンになっているときに ESXi/ESX ホストが RARP パケットを送信しないように構成する必要があります。そのため、VMware では、NLB マルチキャストを使用するようにクラスターを構成することを推奨しています(英語)

Evidian SafeKit で代替

Evidian SafeKit では、ネットワーク負荷分散ソフトウェア高可用性オファー (ネットワーク負荷分散、アプリケーションの自動再起動、およびリアルタイム レプリケーション) の一部として組み込まれています。ネットワーク負荷分散は、Microsoft NLB と同様にネットワーク スタックでパケットをフィルタリングすることによって実装されます。このソリューションは Windows、および Linux で使用できます。SafeKit ファーム クラスターでは、仮想 IP アドレスは各物理マシンまたは仮想マシンの NIC カードにエイリアス IP アドレスとして設定されます。負荷分散を実装するには 1 つのネットワークで充分です。Microsoft NLB ユニキャスト モードで必要な 2 枚のネットワーク カードと 2 つの IP (英語)ネットワークという前提条件はありません。

仮想l IP アドレスは、次の 2 つの異なる構成で仮想 MAC アドレスに関連付けられます。1 つは古い vmac_invisible (英語)  構成で、もう 1 つは新しい vmac_directed (英語) 構成です。

古い vmac_invisible 構成は Microsoft NLB のユニキャスト モードに相当します。vmac_invisible では、RARP の問題はありませんが、VMware の仮想スイッチ レベルで無作為検出モードを有効にする必要があります。

新しい vmac_directed 構成では、特別なネットワーク構成を必要とせず、どのような環境でもネットワーク負荷分散を実行できます。これは、不明なスイッチやルーター、物理サーバーや仮想サーバー、クラウドなど、不明なインフラストラクチャにソリューションを展開しなければならない場合の重要な機能です。

SafeKit ファームクラスターの仕組み

ファームクラスターにおける仮想 IP アドレス

Evidian SafeKit ファームクラスターが のネットワーク負荷分散とフェイルオーバーを実装する方法

前図において、アプリケーション は 3 台のサーバー(3は例であり、2台以上が可能です)で実行されています。ユーザーは仮想 IP アドレスに接続します。
仮想 IP アドレス は、ファームクラスター内の各サーバーにローカルに構成されます。
仮想 IP アドレスへの入力トラフィックはすべてのサーバーで受信され、各サーバーのカーネル内部にあるネットワークフィルターによってサーバー間で分割されます。
SafeKit はハードウェアおよびソフトウェアの障害を検出し、障害発生時にはネットワークフィルターを再構成し、構成可能なアプリケーションチェッカーと復旧スクリプトを提供します。

ネットワークフィルターにおける負荷分散

ネットワークフィルター内にあるネットワーク負荷分散アルゴリズムは、クライアントパケットの識別情報(クライアント IP アドレス、クライアント TCP ポート)に基づいています。クライアントパケットの入力識別情報に応じて、サーバー内の1つのフィルターのみがパケットを受け入れ、他のサーバー内の他のフィルターはそれを拒否します。
パケットがサーバー上のフィルターによって受け入れられると、クライアントからのリクエストに応答するアプリケーション によって使用されるのは、そのサーバーの CPU とメモリだけです。出力メッセージはアプリケーションサーバーからクライアントに直接送信されます。
サーバーが故障した場合、ファームハートビートプロトコルは、ネットワーク負荷分散クラスター内のフィルターを再構成し、残りの利用可能なサーバー上でトラフィックを再分散します。

ステートフルまたはステートレスなアプリケーション

ステートフルなアプリケーションでは、セッションアフィニティ(セッションの固定)があります。同じクライアントは、サーバー上のコンテキストを取得するために、複数の TCP セッションで同じサーバーに接続する必要があります。この場合、SafeKit の負荷分散ルールはクライアント IP アドレスに基づいて構成されます。したがって、同じクライアントは複数の TCP セッションで常に同じサーバーに接続されます。そして、異なるクライアントはファーム内の異なるサーバーに分散されます。
ステートレスなアプリケーションでは、セッションアフィニティはありません。同じクライアントは、複数の TCP セッションでファーム内の異なるサーバーに接続できます。あるセッションから別のセッションへのコンテキストは、サーバー上にローカルに保存されません。この場合、SafeKit の負荷分散ルールは TCP クライアントセッションの識別情報に基づいて構成されます。この構成は、セッションをサーバー間で分散するのに最適ですが、セッションアフィニティを持たない TCP サービスが必要です。

SafeKit ファームクラスタの構成方法は?

SafeKit Web コンソール:ネットワーク負荷分散と仮想 IP 管理のためのファームクラスタ構成。

SafeKit ファームクラスタは、サービスの可用性とスケーラビリティを高めるために設計されています。構成のポイントは、流入するトラフィックを両方のノードに同時に分散させることです。

  • 負荷分散サービス(Macros タブ): すべてのノードでアクティブに保つ特定のアプリケーションサービス(例:Apache、IIS、Nginx)を定義します。
  • ハートビートネットワーク: ノードがファームから離脱したかどうかを検出するための通信パス。離脱を検知すると、即座に負荷の再分配がトリガーされます。
  • 仮想 IP(ファーム VIP): ミラークラスタとは異なり、ファーム VIP はカーネルフィルタリングアルゴリズムを使用してノード間で共有され、ネットワークトラフィックを分散します。
  • 負荷分散ルール: 送信元 IP アドレスまたはポートに基づいたトラフィック分散ポリシーを定義します。
  • チェッカー: アプリケーションの健全性を監視し、プロセスの異常を検知した場合は自動再起動を実行します。

SafeKit ファームクラスタの監視方法は?

SafeKit コンソール:2 ノードのファームクラスタの監視。両方のノードが UP 状態でアクティブな負荷分散が行われている様子。

ファームクラスタを監視することで、すべてのノードがアプリケーションのパフォーマンスに寄与するアクティブ・アクティブ(Active-Active)構成の稼働状況を可視化できます(この例では 2 ノードを表示):

  • UP 状態(2 ノードで各 50%): 正常なファームでは、両方のノードが「UP(50%)」状態にあり、共有仮想 IP を介してクライアントからのリクエストを両ノードがアクティブに受信・処理していることを意味します。
  • 自動再バランシング: 1 つのノードが故障した場合、コンソールには残りのノードがトラフィックの 100% を引き受けている様子が視覚的に表示されます。生存ノードは既にアクティブであるため、(数秒の検知時間を除き)「フェイルオーバー」による遅延は発生しません。
  • ノードの組み込み: 修理されたノードが再起動されると、状態が「STOP」から「UP」に遷移し、管理者の介入なしに自動的に負荷の割り当て分を受信し始めます。
  • データ同期なし: ファームクラスタでは、ノードがステートレスであるか、バックエンドデータベース(ミラークラスタで別途保護可能)を共有することを前提としているため、再同期を示す「オレンジ色」の状態は存在しません。

単なるステータスアイコンの表示だけでなく、インターフェース上でノードをワンクリックで管理できます。これにより、計画メンテナンス時に手動でノードを停止・起動させることができ、共有仮想 IP がユーザーのアクティビティを中断することなくトラフィックを自動的に再分配します。

🔍 SafeKit 高可用性ナビゲーションハブ

SafeKit の探索:機能、技術ビデオ、ドキュメント、無料トライアル
リソースタイプ 説明 ダイレクトリンク
主な機能 シンプルでコスト効率の高い高可用性に SafeKit が選ばれる理由 SafeKit が選ばれる理由を見る
導入モデル オールインワンの SANレス HA:共有ディスク不要のソフトウェアクラスタリング SafeKit オールインワン SANレス HA を見る
パートナー SafeKit:パートナー向け高可用性ソリューションのベンチマーク パートナーにとっての HA ベンチマークである理由を見る
HA 戦略 SafeKit:インフラ(VM)レベル vs. アプリケーションレベルの高可用性 SafeKit HA と冗長性:VM vs. アプリレベルを見る
技術仕様 SafeKit クラスタリングの技術的制限事項 SafeKit 高可用性の制限事項を見る
概念実証(PoC) SafeKit:高可用性構成とフェイルオーバーのデモ SafeKit フェイルオーバーチュートリアルを見る
アーキテクチャ SafeKit ミラークラスターの仕組み(リアルタイムレプリケーションとフェイルオーバー) SafeKit ミラークラスター:リアルタイム複製とフェイルオーバーを見る
アーキテクチャ SafeKit ファームクラスターの仕組み(ネットワーク負荷分散とフェイルオーバー) SafeKit ファームクラスター:負荷分散とフェイルオーバーを見る
競争優位性 比較:SafeKit vs. 伝統的な高可用性(HA)クラスター SafeKit と伝統的 HA クラスターの比較を見る
技術リソース SafeKit 高可用性:ドキュメント、ダウンロード、トライアル SafeKit HA 無料トライアルと技術ドキュメントを見る
構成済みソリューション SafeKit アプリケーションモジュールライブラリ:すぐに使える HA ソリューション SafeKit 高可用性アプリケーションモジュールを見る
FAQ アーキテクチャ、技術仕様、機能に関するよくある質問 SafeKit HA FAQ を見る