
SharePointを検討していますが、負荷分散を使用しながら良好な可用性を得るためにサーバーをどのように計画すればよいか理解するのに問題があります。基本的に最も基本的なセットアップを計画しました。
フロントエンドサーバー2台
アプリケーションサーバー 1 台
2 台の SQL サーバー
稼働率を良くするためにフロント サーバーを 2 つ用意し、1 つのサーバーがクラッシュしてもシステムが動作するようにしたいのですが、SQL サーバーについても同じことが言えます。常に稼働している必要のあるサイトもあれば、それほど重要でなくしばらくダウンしていてもかまわないサイトもあります。そのため、サーバー間で負荷分散を行いたいのです。サーバーがクラッシュしても、一部のサイトを閉じて、他のサイトを遅くすることができます。
問題は、負荷分散がどのように機能するかは理解できるということです。そこで、Windows 2008 の NLB を調べました。これをフロントエンド サーバーにインストールするとします。2 つのフロントエンド サーバーのうち 1 つがクラッシュしても、システムは動作するということですか?
これが私の理解する仕組みです。Foo というドメインがあります。ユーザーは Foo にアクセスしようとしますが、これはフロントエンド サーバー 1 にルーティングされます。その後、NLB は負荷に応じてユーザーをフロントエンド サーバー 2 にルーティングするか、ユーザーをフロントエンド サーバー 1 に保持します。
私が理解できないのは、DNS はユーザーをサーバーにルーティングする必要があり、サーバーは負荷に応じてユーザーをルーティングできるということです。しかし、NLB を実行しているフロントエンド サーバー 1 がクラッシュした場合はどうなるでしょうか。その場合、ユーザーはフロントエンド サーバー 2 を介して Foo に引き続きアクセスできるのでしょうか。
同じ質問がデータベースにも当てはまりますか? それはどのように機能しますか? 追加のハードウェアを購入する必要がありますか? それとも、SharePoint または SQL が可用性と負荷分散の両方を処理しますか?
答え1
NLB では、負荷分散を行うために必要な追加の仮想 IP が 1 つあります。各サーバーには独自の IP があります。NLB を設定すると、独自の MAC アドレスを持つ追加の IP が作成されます。
2 つの NIC を備えたサーバーで推奨されるユニキャストで NLB を使用する場合、両方のサーバーが仮想 IP の MAC アドレスでトラフィックをリッスンします。各サーバーは、どのマシンが仮想 IP にアクセスするかに応じて、仮想 IP で応答します。
たとえば、サブネット abcd/24 上のクライアント A が仮想 IP にアクセスし、マシン 2 が応答します。クライアントは引き続き仮想 IP と通信しますが、マシン 2 にバインドされます。
サブネット wxyz/24 上のクライアント B が接続すると、マシン 1 が応答し、クライアント B はマシン 1 からデータを取得します。注意: すべてのデータベースを同じインスタンスに保存する SharePoint の場合、SQL クラスターはアクティブ/パッシブ モードである必要があります。