web-dev-qa-db-ja.com

2台のサーバーで高可用性?

2台のサーバーで高可用性を設定することは可能ですか?

Windows Web Server2008およびMSSQLWeb Editionを実行していますか(Expressがサポートされていないことを知っています)?

1つの専用サーバーをスケールアウトする必要があるポイントに到達し、2つ目のサーバーに移動すると、ExpressではなくWeb Editionを使用する必要がある場合のコストがすでに2倍以上になります(dbはわずか500MB)。

5
Tom R

「高可用性」を網羅する魔法のような数のサーバーはありません。ニーズがそれほど大きくない場合は、1つのボックスでそれを行うことができますが、(明らかに)再起動する必要があるとすぐに、49が表示されます。

あなたのサイトがあまり利用されていない限り、ミラーデータベースがセットアップされた2台の(まともな)マシン(ご存知のようにMSSQL Webでサポートされています)と [〜#〜 ] nlb [〜#〜] 問題ないはずです。繰り返しになりますが、これは非常に一般的な質問です。私は2つの「サーバー」から約50の巨大なサイトを実行していますが、サーバーは大きな問題を抱えているSunブレードサーバーです。

私の心配はマシンについてではなく(他の方法では高可用性を試みることができる他の方法がないため、各マシンでIISとMSSQLの両方を実行していると想定しています)、あなたが彼らとインターネットの間に持っているもの。 IISをインターネットに公開することは、かつての問題ではありませんが、IISandMSSQL? PCIまたはHIPPAに準拠する必要がある場合は、それを行いません。

@Tom:これは標準の「多層防御」ビルドです。ほとんどの人がウェブサーバーとデータベースサーバーの分離を提案するでしょう、そしてそれに加えて、あなたはそれらにも厳しい制限を置くべきですbetween...理想的にはあなたには何もないはずですバックアップから復元するだけでは不十分なウェブサーバー...コードはすべて開発マシンにミラーリングされているので、ウェブサイトにダンプして戻すだけで問題ありません。ただし、データベースサーバーは常に変化するため、セットアップにはそれを反映させる必要があります。

2台のマシンに制限されている場合は、両方にWebとデータベースをインストールし、それらを強化するために最善を尽くす必要があります。データベースを完全にロックして、お互いとローカルWebサーバーからのみアクセスできるようにします。

NLBはハードウェアロードバランサーの代わりになり、自動的にフェイルオーバーする必要があります。明らかにYMMV:ハードウェアソリューションには提供できるものがたくさんありますが、価格ははるかに高くなっています。大量のトラフィックを期待していない場合は、NLBで問題ありませんが、ハードウェアロードバランサーはDDoS攻撃などに対して優れた保護を提供する傾向があります。繰り返しますが、それはあなたが必要としているものがすべてです。

@トム:1つのIPで問題ありません。 NLBは、すべてのローカルマシンに解決される「仮想」IPアドレスを使用します。 NLBをオンにすると、接続プロパティに移動し、[ネットワーク負荷分散]タブが表示されます。そのタブには、クラスター全体に適用されるアドレス(静的IP)が必要です。次に、通常の[TCP/IP]タブに移動し、個々のマシンに固有のアドレスであるローカルIPを設定します。

5
Satanicpuppy

通常、従来のHAセットアップには3台のマシンが必要です。2台のバックエンドサーバー(通常は「プライマリ」と「バックアップ」、「バックアップ」はミラーリングオフ「プライマリ」)、次に3番目のrouterマシン。これは、いくつかの形式をとることができます。プロキシである場合もあれば、ルーターである場合もあり、Webサーバーである場合もあります。 。

ただし、どこかに、プライマリの障害を検出し、トラフィックが適切にバックアップサーバーに送られるようにするマシンが必要です。これは通常、一方向のスイッチオーバーであり、手動バックアップからプライマリにリセットされます。その理由は、何かがプライマリをオフラインにした場合、根本的な問題が修正されていることを確認する必要があるためです。その間、プライマリのデータはセカンダリと同期しなくなります。リセットする前に、これらの変更をプライマリにミラーリングして戻す必要があります。

1
tylerl