このシリーズの第1回では、ノードとファイル共有マジョリティクォーラムの設定など、マルチサイトクラスターを準備する方法を説明しました。 第2回では、利用可能なクラスターレプリケーションソリューションの1つであるSteelEye DataKeeperをフェールオーバークラスタリングと統合して、マルチサイトHyper-Vフェールオーバークラスタを構成する方法のビデオ例を見ました。 第3回では、Windows Server2008フェールオーバークラスタリングとSteelEye DataKeeper Cluster Editionを使用して、Microsoft SQL Server2008をマルチサイトクラスターで構成する方法について説明します。
まず、マルチサイトのSQL serverクラスターを展開する理由を教えてください。 SQL Serverには、ログ配布、レプリケーション(トランザクション、マージ、スナップショット)、データベースミラーリング、フェールオーバークラスターなど、さまざまな高可用性オプションが付属しています。 SQL Server2008の高可用性オプションについて説明する素晴らしい記事があるので、ここではホイールを再発明しません。 すべてのオプションについて詳しく知りたい場合は、Ross Mistryによるこの記事、SQL Server2008の高可用性オプションをご覧ください。
記事を読むと、ロスの要約は次のようになります…
“明らかに、フェールオーバークラスタリングは、システムのダウンタイムを削減し、サイト内のSQL Serverのインスタンス全体でアプリケーションの可用性を高”
Rossが概説しているすべての利点を持ち、ディスク障害から保護し、SANの必要性を排除できる場合はどうなりますか? さて、良いニュースは、Windows Server2008にMicrosoft SQL Server2008マルチサイトクラスターを実装することでできることです。 SQL Server2008マルチサイトクラスターは、少し誤った名称である可能性があります。 必ずしも地理的に分散した場所に展開する必要はありません。 サーバーは、同じラック、同じ部屋、同じ建物、または大陸全体に配置することができます。 重要なことは、ストレージを単一障害点として排除し、異なる物理的な場所にクラスターノードを配置することを選択した場合、サイトの復元性も構築されていることです。
SQL Server2008およびWindows Server2008フェールオーバークラスタリングに関する最も一般的な質問と混乱のポイントの一つは、サブネット間での失敗のサポートです。 はい、Windows Server2008フェールオーバークラスタリングは、ほとんどのアプリケーションでサブネット間の失敗をサポートしていますが、SQL Server2008はこれらのアプリケーシ 私の知る限り、SQL Server2008R2は、リリース時にサブネット間の失敗もサポートしません。 私の理解では、SQLチームはクロスサブネットフェールオーバーのサポートに取り組んでいますが、SQL Server2008R2がリリースされた後にサポートされる予定です。 したがって、当面は、ノードを地理的に分離したい場合は、サブネットにまたがる必要があります。
マルチノードのSQL serverクラスターを展開することを決定したので、次の手順を実行する必要があります。
基本クラスターの設定
ノードとファイル共有マジョリティクォーラムを持つ基本的な2ノードクラスターを設定するには、このシリーズのパート1の手順に従
レプリケーションの設定
マルチサイトクラスターを展開するには、構成のこの部分でレプリケーションベンダーと非常に緊密に作業する必要があります。 各ベンダーには、レプリケーションを設定し、クラスターで使用するストレージリソースを作成する方法について非常に具体的な手順があります。 このデモでは、SteelEye DataKeeper Cluster Editionを使用して、PRIMARYという名前のサーバーからSECONDARYという名前のサーバーにEドライブを複製します。 プライマリとセカンダリのEドライブはローカル接続ボリュームであり、SANの一部ではありません。 Eドライブがローカル接続ディスクとして表示される限り、DataKeeperはそれをあるサーバーから別のサーバーに複製できます。 DataKeeperはストレージに依存しないため、SAS、iSCSI、SAN、VHD、またはその他のストレージタイプを混在させて一致させることができます。
私のシリーズのパート1の説明に従って基本的なクラスターを構成したら、DataKeeperセットアップを実行します。クラスタの両方のノードにSteelEye DataKeeper Cluster Editionをインストールするexe。 インストールの最後にライセンスキーを入力するように求められます。 ライセンスを入力し、プロンプトが表示されたらサーバーを再起動します。 これで、ミラーを作成する準備が整いました。 DataKeeper GUIを起動し、以下の手順に従ってミラーを作成します。
“サーバーに接続”をクリックします。
最初のサーバーの名前を入力します。 [接続]をクリックします。
2番目のサーバーの名前を入力し、[接続]をクリックします
[ジョブの作成]をクリックします。 これにより、ジョブの作成ウィザードが起動します。
ジョブに名前と説明を与えます。 これらはあなたが好きなものにすることができます。
以下を選択します:
- ソースサーバー–データが
- から複製されるネットワークアダプター–レプリケーショントラフィックが移動するネットワーク
- ボリューム-レプリケートするボリューム
次へをク
:
- ターゲットサーバー-データが
- ネットワークアダプター–レプリケーショントラフィックが移動するネットワーク
- ボリューム–レプリケートするボリューム
次へをクリックし
以下を選択します:
- 圧縮レベル-レプリケーション用に100Mbps以上のネットワークを使用している場合は、noneに設定したままにします。 100Mbps未満のWANがある場合は、圧縮を有効にすることで利益を得ることができます。 中間のどこかの設定では、圧縮を有効にすることに関連する圧縮対CPUオーバーヘッドの最高のパフォーマンスを提供する傾向があります。
- 同期-非同期レプリケーションは、ほとんどの環境で一般的に許容され、高遅延WAN環境では間違いなく必要です。 私はこのトピックに関するブログ記事全体を書いたので、質問がある場合は、非同期と同期レプリケーションに関する私の記事をチェックしてくださ
- 最大帯域幅–これは”貧しい人の”QOSと考えることができます。 レプリケーションがWAN容量の特定のしきい値を超えないようにするには、使用できる帯域幅の量にリミッターを設定します。 設定する正当な理由がない限り、0に設定したままにしておく方が良いでしょう。
完了をクリックしてミラーを作成します。
DataKeeper GUIを見ると、次のようになります。
ミラーを作成したら、Microsoftクラスター”Available Storage”でミラーを使用できるようにする必要があります。 これを行うにはいくつかの方法がありますが、最も簡単な方法はWindows PowerShell CLIを使用することです。 以下は、Eドライブに作成した既存のミラーを取得してクラスター”Available Storage”に追加し、プライマリノードに移動してin-service
Import-Module FailoverClusters
Add-ClusterResource-Name”DataKeeper Volume E”-ResourceType”DataKeeper Volume”-Group”Available Storage”
Get-ClusterResource”DataKeeper Volume e”|set-clusterparameter volumeletter e
Move-clustergroup”available storage”-node primary
start-clusterresource”Datakeeper Volume E”
詳細については PowerShellとフェールオーバークラスタリングで使用できるコマンドに関する情報は、MicrosoftフェールオーバークラスタリングチームのSymon Perrimanのこの素晴らしいブログ記事を
http://blogs.msdn.com/clustering/archive/2008/12/20/9243367.aspx
ここで、上記の手順を繰り返して、クラスターで使用するミラーを追加します。 ここでは、Fドライブのミラーを作成し、それを使用してMSDTCをクラスター化します。 追加のミラーを追加して使用可能なストレージに追加した後、DataKeeper GUIは次のようになります。
フェールオーバークラスターマネージャGUIは次のようにな
重要な注意–サードパーティのディスクリソースでDTCをサポートするために必要な修正 次のKB記事を参照し、すべてのクラスターノードにhowfixを適用してください。 http://support.microsoft.com/kb/978476
SQL2008はMSDTCに非常に依存しているため、SQLリソースをクラスター化する前にMSDTCリソースをクラスター化することを強くお勧めします。 MSDTCリソースの構成と管理については、以下の記事を参照してください。
http://technet.microsoft.com/en-us/library/cc770748(WS。10).aspx
http://technet.microsoft.com/en-us/library/cc771540(WS。10).aspx
フェールオーバークラスターマネージャGUIを開き、”サービスまたはアプリケーションの構成”を選択します。
“Distributed Transaction Coordinator”を選択し、”Next”をクリックします
Msdtcリソースに名前と一意のipアドレスを指定します。 これらはMSDTCに固有であり、後でSQLリソースを作成するときに使用するのと同じではありません。
MSDTCリソースのデータを保存するボリュームを選択します。 私たちの場合、複製されたFドライブを選択しています。
情報を確認し、次へをクリックして続行します。
おめでとう、DTCリソース 「完了」をクリックします。
SQL Serverクラスターの最初のノードのインストールを開始する準備が整いましたが、準備で行う必要があることが一つあります–Slip Stream SQL2008SP1をSQL Server2008RTMインストールメディアにインストールします。私が発見したのは、sql Server2008が最初にsql Server2008SP1をSQL2008インストールメディアにスリップストリームすることなく、Sql Server2008R2にSQL Server2008R2をインストールしな ここでは、SQL Server2008RTMとService Pack1をスリップストリームする方法を説明する素晴らしい記事です。 その記事を読んで、SP1をSQL2008RTMに正常にスリップストリームした後、同じ手順を説明する次のMicrosoft KB記事を見つけました。 メディアに最初にSLIPSTREAMING SP1を使用せずにSQLをインストールしようとすると、次のようなエラーが発生することがあります。
プライベートプロパティ’RequireKerberos’を値に設定する際にエラーが発生しました’1′
最初の記事で説明されている手順に従って、SQL2008with SP1installをクラスター内の両方のノードのC:\ドライブにコピーしました。 以下の手順では、各クラスターノードのローカルディスクからインストールを行います。
最初のクラスターノードのインストール
SQL Server2008SP1インストールメディアの準備ができたので、最初のSQLノードをインストールする準備が整いました。 マルチノードクラスターにSQLをインストールする際には、一つの主要な”落とし穴”があります。 マルチノードクラスターにSQLをインストールするには、まずWindows Server2008フェールオーバークラスター検証プロセスを渡す必要があります。 残念ながら、マルチサイトクラスターはストレージ関連のテストに合格することが免除されているため、SQLに関する限り、実際に検証を”合格”することは 私の部分では少し調査が必要でしたが、私が見つけたのは、SQL2008インストールの検証テストをスキップできるコマンドラインパラメータがあることです。 ここにコマンドラインがあります。
Setup/SkipRules=Cluster_Verifyforerrors/Action=InstallFailoverCluster
SQLセットアップを起動するには、コマンドウィンドウを開き、SQL2008SP1インストールディレクトリを参照し、以下に示すようにコマンドを入力します。
すべてが計画通りに進んだ場合は、以下の画面が表示されます。 [OK]をクリックして続行します。
プロダクトキーを入力し、次へをクリックします
ライセンス契約に同意し、次へをク
[インストール]をクリックして、セットアップサポートファイルをインストールします。
サポートファイルのセットアップの最後に、警告が表示されます。 詳細を表示をクリックすると、以下のメッセージが表示されます。 このメッセージは、マルチサイトまたは非共有ストレージクラスタで想定されるため、[次へ]をクリックしても無視できます。
インストールする機能を選択し、次へをクリックします。 レプリケートされたボリュームにSQLバイナリをインストールしないように、”Shared Feature”ディレクトリをCドライブに設定したままにします。
次の画面で、あなたのSQL Serverのネットワーク名を選択します。 これは、すべてのクライアントが接続する名前になります。 これがデフォルトのインスタンスであると仮定すると、インスタンスIDとインスタンスルートディレクトリはデフォルトに設定されたままにしておきます。 レプリケートされたボリュームにインスタンスルートディレクトリを移動しないでください。
SQLServerとSQLAgentのドメインアカウントを別々に持つことをお勧めします。 あなたはまだそうしていない場合は、今、これらのアカウントを作成するために時間がかかることができます。 このインストールプロセスでは、必要な権限が付与されるため、これらのアカウントには特別な権限は必要ありません。
十分なディスク領域があることを確認し、[次へ]をクリックして続行します。
既定の設定を選択して、”SQL Server(MSSQLSERVER)”という名前の新しいクラスタリソースグループを作成できるようにします。
まだ利用可能なレプリケートされたボリューム、この場合はE:\ドライブを選択します。 [次へ]をクリックして続行します。
今度は、SQLクラスタリソースに関連付けたいIPアドレ 必要に応じて、DHCPを使用するように設定したままにしておくこともできます。
セキュリティ設定を選択し、次へをクリックします
任意のSQL Server管理者を追加し、認証モードを選択し、”次へ”をクリックします
エラーと使用状況のレポートオプションを選択し、次へをクリックします
検証プロセスに関連するいくつかの警告が再び表示されます。 これらのメッセージは、マルチサイトのSQL Serverクラスターで期待されるとおりに無視できます。
「インストール」をクリックして、インストールプロセスを開始します。
すべてが期待どおりにインストールされる場合は、次の画面が表示されます。 「次へ」をクリックし、「閉じる」をクリックしてインストールを終了します。
マルチサイトSQL Serverクラスターの最初のノードが正常にインストールされました。 次に、クラスタの2番目のノードをインストールします。
第二のクラスターノードのインストール
第二のクラスターノードのインストールは、第一のノードのインストールに似ています。 検証プロセスをスキップできるように、コマンドラインからSQL Setupをもう一度実行する必要があります。 そのため、2番目のノードからコマンドプロンプトを開き、次のコマンドを実行します。
-
次のコマンドを使用して、SQL2008SP1(マージされたセットアップ)を2番目のノードにインストールします。
Setup/SkipRules=Cluster_Verifyforerrors/Action=AddNode/INSTANCENAME=”MSSQLSERVER”
*注:これは、1番目のノードに既定のインスタンスをインストールしたことを前提としています
これにより、以下に示すようにインストールウィザードが起動します。 [OK]をクリックして続行します。
プロダクトキーを入力し、”次へ”をクリックします。
ライセンス条項に同意し、”次へ”をクリックします
[インストール]をクリックして、セットアップサポートファイルをインストールします。
一部のクラスター検証テストがスキップされたという警告は、もう一度無視できます。 これは、マルチサイトクラスターと非共有ストレージクラスターで予想されます。
ノードを適切なインスタンスに追加していることを確認し、[次へ]をクリックします。
サービスアカウントにパスワードを追加し、”次へ”をクリックします
エラーと使用状況のレポートオプションを選択し、次へをクリックします
もう一度、スキップされた操作に関する警告を無視します。
「インストール」をクリックしてインストールプロセスを開始します。
すべてが期待どおりになると、次の画面が表示されます。
完全に機能する二つのノードクラスターができたので、おそらくいくつかの手動切り替えを行ってテストする必要があります。 リソースを右クリックし、”MOVE to node SECONDARY”を選択します。
すべてが適切に構成されている場合、フェールオーバークラスター GUIは次のようになります。
結論
私は、複製されたストレージを持つSQLクラスタは多くの意味を持つと信じています。 ストレージは、従来のクラスターの単一障害点であり続けてきました。 SteelEyeまたはその他のMicrosoftマルチサイトクラスタレプリケーションパートナーからレプリケートされた記憶域を持つSQL Serverクラスターを展開することで、この単 私はこの記事を報知的見つけたことを望む。 ご質問やご提案がある場合は、ご意見を追加してください!