web-dev-qa-db-ja.com

IIS Webサイトのフェールオーバークラスターを作成するための最良の方法は何ですか?

現在、eコマースWebサイトは2つのサーバーで実行されています。

  • SQLサーバー:単一のデュアルコアプロセッサと4GBのメモリを搭載したWindowsServer 2003 Standardx86上の2005x 86
  • IISサーバー:デュアルクアッドコアハイパースレッドプロセッサと32GBのメモリを搭載したWindowsServer 2008 Web Edition x64

当社の収益は着実に成長しており、ダウンタイムが発生しないように、フェイルオーバーメカニズムを使用して冗長サーバーを展開する必要があります。

SQLサーバーはWebサーバーに比べて電力が不足しているため、購入することを考えました。

  • 2 x SQL Server 2008 R2Webエディションx64シングルプロセッサライセンス
  • 2 x Windows Server 2008 R2 WebEditionライセンス
  • 1x新しい物理デュアルクアッドコア32GBサーバー
  • 1 xF5ロードバランサー

これらのサーバーの両方で同じボックスでSQLとIISを実行できるようにするには、Windows Server 2008 R2 WebEditionのライセンスが必要です。

これは、追加のSQLライセンスを購入した場合にアクティブ/アクティブクラスターにアップグレードできるアクティブ/パッシブフェールオーバークラスターとして実行することを目的としています。 F5ロードバランサーは、2つのサーバーを監視するデバイスとして機能し、現在アクティブなサーバーが応答を停止すると、もう一方のサーバーの使用にフェイルオーバーします。明確にするために、これはWindowsクラスタリングではなく、単にロードバランサーを使用して2台のコンピューター間でフェイルオーバーするため、一般的な意味でクラスターが作成されます。

これは本当に私が必要なことを達成するための最良の方法ですか?古いサーバー2003SQLサーバーを利用して、http要求を適切なアクティブサーバーにファネルし、問題が発生した場合にフェイルオーバーするデバイスとして機能する方法はありますか?より簡単な方法でこれを達成するのに役立つ可能性のあるサードパーティのクラスタリングソフトウェアはありますか?

2
Chris Magnuson

フェールオーバークラスターとネットワーク負荷分散クラスターには大きな違いがあります。 IISの場合、NLBクラスターを実装する必要があります。どちらも常にアクティブになります。 SQLの場合、フェールオーバークラスターを実装する必要があります。あなたが示唆している可用性のレベルを達成することは、小さなハードウェアを投入してオペレーティングシステムをインストールするほど簡単ではありません。

フェールオーバークラスターには、直接接続されたSASやSAN(iSCSIが好き)などの共有ストレージが必要です。これらはすべて、2008R2(エンタープライズ以上)を実行している2台のサーバーをHyper-V(SAN用に2台、NLB用に1台、その他の通信用に1台)でクラスター化することにより、仮想環境で実現できます。これらはSANスイッチに接続され、スイッチはSANに接続します。次に、両方をフロントエンドスイッチ(NLBおよびその他)に接続します。次に、NLBクラスターを仮想マシンとして作成し、SQLフェールオーバークラスターを仮想マシンとして作成できます。

次に、インフラストラクチャを追加します。ドメインコントローラー(2つの物理ボックス)とバックアップサーバーが必要です。何をしているのかを本当に知っている人と一緒に、15万ドル以上の範囲を探していると言われています。高可用性を実現することは安くはありません。

ああ、そして冗長電源と冷却を忘れないでください。災害復旧(DR)および事業継続(BC)計画を立てます。

代替案について考えただけです。 99.99%のサービスレベル契約(SLA)でサイトをホストします。ローカルであることを確認し、データセンターのツアーに参加してください。人件費を考えると、長期的には安くなるかもしれません。

3
murisonc
  • 何も購入しないでください。とにかくできません-ウェブ版はレンタルのみです。 SPLA契約を結びます。

  • 購入したライセンスはホスティングに利用できず、一般的にはSPLAライセンスよりもはるかに高価です。

  • ロードバランサーは必要ありません。ウィンドウの一部であるNLB(ネットワーク負荷分散)を使用します。フェイルオーバーをかなり高速に処理します(注:100%の稼働時間を取得するのは非常に困難です。通常は5秒で十分です)。

  • 3サーブ(2x標準、1xエクスプレス)でSQLを実行します。ミラーリング、監視としてExpressを使用します-Webは適切なフェイルオーバーを許可しません。

  • NLBを使用してアクティブ/アクティブ構成でWebサーバーを実行します。

1
TomTom