Microsoft NLB VMware の代替: マルチキャストとユニキャストの問題を解決
SafeKitは仮想IP上で負荷分散を行うSANレスファームクラスタを提案
Microsoft NLB マルチキャスト モード
VMware のナレッジ ベースで説明されているように、Microsoft NLB マルチキャスト モードの場合は、クラスターに接続する各ポートのスイッチまたはルーターに静的 ARP 解決を手動で構成する必要があります(英語)。クラウドのような不明なネットワーク環境での Microsoft NLB マルチキャスト モードの展開は、複雑で非常に難しい作業になる場合があります。
Microsoft NLB ユニキャスト モード
Microsoft NLB ユニキャスト モードでは、ESXi/ESX ホストのいずれかの仮想マシンの電源がオンになっているときに ESXi/ESX ホストが RARP パケットを送信しないように構成する必要があります。そのため、VMware では、NLB マルチキャストを使用するようにクラスターを構成することを推奨しています(英語)。
SafeKit で代替
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アドレス
上記の図では、 アプリケーションが3台のサーバー(3台は一例であり、2台以上で構成可能)で動作しています。ユーザーは仮想IPアドレスに接続します。
仮想IPアドレスは、ファームモードクラスター内の各サーバーにローカルで構成されます。
仮想IPアドレスへの入力トラフィックはすべてのサーバーによって受信され、各サーバーのカーネル内にあるネットワークフィルターによってサーバー間に分散されます。
SafeKitはハードウェアおよびソフトウェアの障害を検出し、障害発生時にネットワークフィルターを再構成します。また、構成可能なアプリケーションチェッカーとリカバリスクリプトを提供します。
ネットワークフィルターにおける負荷分散
ネットワークフィルター内のネットワーク負荷分散アルゴリズムは、クライアントパケットの識別情報(クライアントIPアドレス、クライアントTCPポート)に基づいています。入力されたクライアントパケットの識別情報に応じて、1台のサーバーにあるフィルターのみがそのパケットを受け入れ、他のサーバーにある他のフィルターはそれを拒否します。
あるサーバーのフィルターによってパケットが受け入れられると、クライアントの要求に応答する アプリケーションによって、そのサーバーのCPUとメモリのみが使用されます。出力メッセージは、アプリケーションサーバーからクライアントへ直接送信されます。
サーバーに障害が発生した場合、ファームのハートビートプロトコルがネットワーク負荷分散クラスター内のフィルターを再構成し、残りの利用可能なサーバーにトラフィックを再分散します。
ステートフルまたはステートレスアプリケーション
ステートフルな アプリケーションでは、セッションアフィニティ(固定化)が存在します。同じクライアントが複数のTCPセッションにわたってサーバー上のコンテキストを破棄せずに利用するには、常に同じサーバーに接続する必要があります。この場合、SafeKitの負荷分散ルールはクライアントIPアドレスに基づいて構成されます。これにより、同じクライアントは複数のTCPセッションにおいて常に同じサーバーに接続されます。そして、異なるクライアントはファーム内の異なるサーバーに分散されます。
ステートレスな アプリケーションでは、セッションアフィニティは存在しません。同じクライアントが複数のTCPセッションにおいて、ファーム内の異なるサーバーに接続することができます。セッション間でサーバーにローカル保存されるコンテキストはありません。この場合、SafeKitの負荷分散ルールはTCPクライアントセッションの識別情報に基づいて構成されます。この構成はサーバー間でセッションを分散させるのに最適ですが、セッションアフィニティを必要としないTCPサービスである必要があります。
のファームモードで SafeKit クラスターを構成するにはどうすればよいですか?

ファームモードの SafeKit クラスターは、サービスの高い可用性と拡張性を実現するために設計されています。構成は、流入するトラフィックを同時に両方のノードに分散させることに焦点を当てています。
- 負荷分散サービス([マクロ] タブ): すべてのノードでアクティブに維持する特定のアプリケーションサービス(例: Apache、IIS、Nginx)を定義します。
- ハートビートネットワーク: ノードがファームから離脱したかどうかを検出するために使用される通信経路であり、離脱を検出すると即座に負荷の再配分をトリガーします。
- 仮想 IP(ファーム VIP): ミラークラスターとは異なり、ファーム VIP はカーネルフィルタリングアルゴリズムを使用してノード間で共有され、ネットワークトラフィックを分散します。
- 負荷分散ルール: 送信元 IP アドレスまたはポートに基づいて、トラフィックの分散ポリシーを定義します。
- チェッカー: アプリケーションの健全性を監視し、プロセスの障害が検出された場合に自動再起動をトリガーします。
のファームモードで SafeKit クラスターを監視するにはどうすればよいですか?

ファームモードでのクラスター監視により、すべてのノードがアプリケーションのパフォーマンスに貢献するアクティブ・アクティブ(Active-Active)構成のインフラストラクチャを可視化できます(この例では2つのノードを表示しています)。
- UP 状態(2つのノードで50%ずつ): 健全なファームでは、両方のノードが「UP」(50%)状態にあり、共有された仮想 IP を介して両方のノードがクライアントからのリクエストをアクティブに受信し、処理していることを意味します。
- 自動再配分(再バランシング): 1つのノードが障害で停止した場合、残りのノードがトラフィックの100%を引き受ける様子がコンソール上に視覚的に表示されます。生存しているノードはすでにアクティブ状態であるため、「フェイルオーバー」による遅延はありません(数秒程度の検出時間を除く)。
- ノードの組み込み: 修復されたノードが再起動されると、状態が「STOP」から「UP」へと遷移し、管理者の介入なしに自動的に自身の割り当て分の負荷の受信を開始します。
- データ同期なし: ファームモードのクラスターでは、ノードがステートレスであるか、バックエンドのデータベースを共有している(ミラークラスターで別途保護可能)ことが前提となるため、「オレンジ色」の再同期状態は存在しないことに注意してください。
単なるステータスアイコンの表示にとどまらず、インターフェースからはワンクリックでノードを管理できます。計画メンテナンスのために手動でノードを停止または起動させることができ、その間も共有仮想 IP がユーザーの活動を妨げることなく自動的にトラフィックを再配分します。
🔍 SafeKit 高可用性ナビゲーションハブ
| リソースタイプ | 説明 | ダイレクトリンク |
|---|---|---|
| 主な機能 | シンプルでコスト効率の高い高可用性に SafeKit が選ばれる理由 | SafeKit が選ばれる理由を見る |
| ユースケース | SafeKit が重要インフラの高可用性をどのように確保するかをご覧ください | すべてのユースケースを見る(OEMソフトウェア、エッジサーバー、SCADA、など) |
| 導入モデル | オールインワンの SANレス HA:共有ディスク不要のソフトウェアクラスタリング | SafeKit オールインワン SANレス 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 高可用性アプリケーションモジュールを見る |
