Windows のフェイルオーバーと負荷分散の混乱

Windows のフェイルオーバーと負荷分散の混乱

今後数か月で、環境にフェールオーバーと負荷分散を追加する予定です。Hyper V ホストとなるサーバーが 2 台あります。両方のホストに IIS アプリケーション サーバーと SQL データベース サーバーを配置する予定です。こうすることで、1 つのボックスに障害が発生しても、もう 1 つのボックスが代わりに機能します。今、私が混乱しているのは、Google 検索で調べた結果です。私が知る限り、SQL クラスタリング / ピアツーピア トランザクション セットアップと Hyper-V クラスタリングがあるようです。この状況で何が最適かはわかりません。ホストには、システム センター、チケット サーバー、Exchange 管理サーバーなど、ランダムな他のサーバーも 2 つに分割されます。そのため、現時点では Hyper-V クラスターが最悪のオプションであるかどうかはわかりません。

ありがとう。

答え1

Hyper-V クラスタリングでは、同じネットワーク ストレージ セットに接続された Hyper-V サーバー (2 台以上) のプールが用意され、LUN は Hyper-V クラスター内のすべてのサーバーで利用できるようになります。このセットアップにはネットワーク ストレージが必要です。Hyper-V ライブ マイグレーションを使用すると、実行中の VM を 1 つの Hyper-V ホストから別のホストに移動できます。これにより、サーバーに障害が発生した場合に、1 つのサーバーから別のサーバーにワークロードを移行できます。これにより、残りのサーバーが追加の VM の負荷を処理できる場合は、物理的な冗長性が得られます。このセットアップでは、VM の OS やアプリケーション自体の破損は保護されません。(http://technet.microsoft.com/en-us/library/dd446679(WS.10).aspxこの設定の詳細については、こちらをご覧ください。

SQL には独自の冗長性があり、いくつかの異なるクラスタリング オプションが用意されています。アクティブ ノードと 1 つ以上のパッシブ ノードを使用して、従来のアクティブ/パッシブ クラスタリングを実行することもできます。この設定では、サーバー間で共有ディスクが必要で、アクティブ ノードにのみマウントされます。SQL は、複数のアクティブ ノードを許可するいくつかの種類のレプリケーションもサポートしています。この方法では共有ストレージは必要なく、各サーバーにデータベースの個別のコピーが保持されます。(http://msdn.microsoft.com/en-us/library/ee523927(v=sql.100).aspxSQL 2008 の高可用性オプションの場合)

SQL レベルでのクラスタリングは、個々のノード上の OS またはアプリケーションの障害から保護し、そのシナリオで自動フェールオーバーを可能にします。各インスタンスが異なる Hyper-V サーバー上にある場合は、ハードウェア障害からも保護されます。さらに、SQL サーバーのクラスタリング方法の一部は、個々のノード上のデータベースの破損から保護します。Hyper-V クラスターと SQL サーバーの単一インスタンスのみを使用すると、VM の OS/ソフトウェア障害から保護されません。ダウンタイムが大きな問題でない場合は、VM スナップショットから短時間で復元できます。

編集: IIS 負荷分散部分を忘れました。

IIS の負荷分散には、両方のホスト間で共有される仮想 IP を作成する Windows ネットワーク負荷分散を使用できます。(http://technet.microsoft.com/en-us/library/cc770689(v=ws.10).aspx

Hyper-V クラスタリングと NLB のどちらが適切なオプションであるかについては、SQL サーバーの場合と同じルールが IIS サーバーにも適用されます。また、他の VM についても、同様にクラスタ化/負荷分散されていない限り、Hyper-V クラスタリングのない Hyper-V ホストの問題から保護されません。

答え2

2 つのホスト間で仮想ゲストをミラーリングする場合は、HyperV クラスタリングを避けてください。これにより、1 つのホストに障害が発生した場合に仮想ゲストが別のホストで起動し、ホスト レベルで負荷を分散できるようになります。

SQL クラスタリングを行っている場合は、バックアップ SQL ステップをはるかに速く実行して、要求の処理を開始できます。また、Web 負荷分散には NLB を使用します (ネットワーク担当者と協力して適切に実行し、マルチキャスト NLB について調べてください)。さらに、2 つの Exchange 仮想間で Exchange クラスタリングを使用します。これで、はるかに満足のいく結果が得られます。

関連情報