ノート:

Oracle Cloud InfrastructureでのHAおよびDR用のMicrosoft SQL Server Windows Serverフェイルオーバー・クラスタのデプロイ

イントロダクション

Microsoft SQL Server (MSSQL)エンタープライズレベルのデータベース・インフラストラクチャは、ビジネスの継続性を維持し、ダウンタイムを最小限に抑えるために、高可用性(HA)およびディザスタ・リカバリ(DR)機能に大きく依存しています。MSSQLでは、これらの目標の達成に役立つ複数のクラスタリング・デプロイメント・モデルを提供しています。これらのモデルには、Always on Availability GroupおよびFailoverクラスタ・インスタンスが含まれます。

各モデルには独自の長所とユースケースがありますが、このチュートリアルでは特に、Small Computer Systems Interface (SCSI) Persistent Reservation (PR)機能を使用したOCI Block Volumesサービスを使用したMSSQLフェイルオーバー・クラスタ・インスタンスのデプロイメントおよび構成に焦点を当てます。Always On可用性グループの詳細は、Microsoft SQL Server Always On可用性グループのOCIへのHAおよびDRへのデプロイを参照してください。

アーキテクチャ

このチュートリアルでは、次のアーキテクチャを使用します。

architecture

目的

前提条件

タスク1: フェイルオーバーIPの構成

Windows Serverフェイルオーバー・クラスタリングでは、アクティブ/パッシブ・クラスタリング・モデルが採用され、専用のIPアドレス(フェイルオーバーIPまたは浮動IP)がクラスタに割り当てられます。このフェイルオーバーIPは、障害の発生したノードからアクティブノードに自動的に移動するため、継続的なネットワーク接続が保証され、停止時間が最小限に抑えられます。ノードに障害が発生すると、フェイルオーバーIPが新しいアクティブノードにシームレスに転送されるため、クライアントは中断することなくクラスタリソースへのアクセスを維持できます。

両方のMicrosoft SQL Server仮想マシンでフェイルオーバーIPを構成する方法の詳細は、Windows ServerでのセカンダリIPアドレス・フェイルオーバーの自動化を参照してください。

タスク2: SQL Serverサービス・アカウントの作成

SQL Serverでは、専用のドメイン・アカウントを使用する必要があります。このタスクでは、このアカウントを作成します。チュートリアルの後半では、このアカウントを使用して、各ノードでSQL Serverサービスを構成します。

  1. ドメイン管理者アカウントを使用してドメインコントローラにログインし、Active Directoryのユーザーおよびコンピュータに移動します。

  2. このチュートリアル用に構成したドメインを展開します。

  3. 「ユーザー」を右クリックし、「新規ユーザー」をクリックして新規ユーザーを作成します。

  4. 必要な情報を入力し、「次」をクリックします。

    SQL Serverサービス取引先

  5. このドメイン・アカウントのパスワードを入力し、「次へ」をクリックします。

  6. 詳細は、「終了」をクリックしてください。

タスク3: 定足数ディスクと共有ディスクの作成

WSFCでは、定足数用に専用の共有ディスクを利用して、クラスタ内の複数のノードが同時に制御を引き受けるときに発生する可能性のあるスプリットブレイン状態を回避します。この専用ディスクにより、クラスタ内のすべてのノードがクラスタの状態の統合ビューを持つようになり、競合が回避されます。

このタスクでは、SCSI PRを有効にした2つの異なる共有ブロック・ボリュームを作成します。両方のボリュームで共有リソースを予約するメカニズムとしてPRを有効にし、認可されたノードのみがこれらのリソースにアクセスできるようにします。SCSI PRは、共有ディスクへのアクセスを管理することによってデータの破損を防ぐため、クラスタ化環境での要件です。

これらの2つの異なる共有ブロック・ボリュームを個別のロールで作成し、両方でSCSI PRを有効にすることで、重要なクォーラム機能とクラスタ内で実行されるアプリケーションのデータ・ストレージ・ニーズの両方について、高可用性と冗長性を維持するようにWSFCが適切に構成されていることを確認します。

SCSI PRを有効にしてOCIブロック・ボリュームを作成するには、次のステップを実行します。

  1. OCIコンソールにログインし、「ストレージ」「ブロック・ボリューム」ページに移動して、「ブロック・ボリュームの作成」をクリックします。

  2. 「ボリューム・サイズおよびパフォーマンス」を調整し、「iSCSIボリューム・アタッチメントの永続予約の有効化」を選択してボリュームのSCSI PRを有効にします。

    ブロック・ボリュームの作成

  3. ボリュームをSQL Server VMに1つずつアタッチします。これらのボリュームではSCSI PRが有効になっているため、これらのボリュームは共有の読み取り/書き込み専用モードでのみアタッチできます。この設定では、共有読取り/書込みモードでボリュームをアタッチします。「Oracle Cloudエージェントを使用してiSCSIアタッチされたボリュームに自動的に接続します」を選択し、「アタッチ」をクリックします。

    インスタンスへのブロック・ボリュームのアタッチ

  4. 定足数ディスクとデータディスクの両方を作成して接続するには、手順1から3を繰り返します。

タスク4: Windows Serverフェイルオーバー・クラスタの構成

このタスクでは、次のことを行います。

タスク4.1: Windows ServerのVMへのWSFCロールの追加

  1. ドメイン管理者アカウントを使用してSQL Serverノード1 VMにログインし、「Server Manager」を開き、「ダッシュボード」「ロールおよび機能の追加」をクリックします。

  2. 「始める前に」セクションを確認し、「次へ」をクリックします。

  3. 「Role-based or feature-based installation」を選択し、「Next」をクリックします。

  4. 「宛先サーバーの選択」で、「サーバー・プールからサーバー」を選択し、sqlnode1.example.orgが選択されていることを確認し、「次へ」をクリックして続行します。

  5. サーバー・ロールは追加されないため、「次へ」をクリックして続行します。

  6. 「機能」で、「フェイルオーバー・クラスタリング」を選択します。ウィンドウが表示されたら、「機能の追加」をクリックします。

    フェイルオーバークラスタ管理ツールの追加

  7. 「インストールの選択の確認」で詳細を確認し、「インストール」をクリックしてインストールを確認し、インストールが終了したらウィザードを閉じます。

  8. 2番目のSQL Serverノードにフェイルオーバー・クラスタリング・ツールをインストールするには、ステップ1から7を繰り返します。

タスク4.2: クラスタの作成

  1. ドメイン管理者アカウントを使用してWindows Serverノード1 VMにログインし、フェイルオーバー・クラスタ・マネージャを開きます。実行中のクラスタはありません。

    クラスタの作成

  2. 「フェイルオーバー・クラスタ・マネージャ」を右クリックし、「クラスタの作成...」を選択します。これにより、クラスタの作成ウィザードが開きます。

  3. クラスタの作成ウィザードが開いたら、「次へ」をクリックして続行します。

  4. 「参照」をクリックし、sqlnode1.example.orgおよびsqlnode2.example.orgを選択します。

  5. 「Yes、 I click Next、 run the configuration tests、 then return to the process of creating the cluster」を選択し、「Next」をクリックします。

  6. 「すべてのテストの実行」を選択し、「次へ」をクリックします。

  7. 「確認」ウィンドウで、「次へ」をクリックし、すべてのテストが終了するまで待機して、「終了」をクリックします。OCIではSCSI PRが現在サポートされており、「SCSI-3永続予約の検証」テストに合格したことがわかります。

    テストを検証

  8. 「クラスタ名」を入力し、NetBIOS制約を考慮します。「次」をクリックします。

  9. 作成する前にクラスタを確認し、「次へ」をクリックします。

    クラスタ作成サマリー

  10. クラスタが正常に作成されたら、「終了」をクリックします。

  11. フェイルオーバー・クラスタ・マネージャを開くと、新しく作成されたクラスタが表示されます。

    Cluster

  12. クラスタのステータスが「クラスタ・コア・リソース」セクションの「オフライン」であることを確認します。リソースを展開し、まだ構成されていないクラスタIPアドレスを見つけます。「失敗」ステータスのIPアドレスを右クリックし、「プロパティ」をクリックします。

  13. 「一般」タブで、タスク1でこのノードに構成されている静的IPアドレスを指定し、「適用」をクリックします。

  14. 構成したIPアドレスを右クリックし、「オンライン化」をクリックします。

  15. クラスタの作成が完了したら、クラスタを拡張し、「ストレージ」セクションに移動します。ここでは、「ディスク」を選択して、両方の共有ブロック・ボリューム(指定されたクォーラム・ディスクとデータ・ディスク)がクラスタによって適切にリストおよび認識されていることを確認します。

    クラスタ・ディスク

タスク5: SQL Serverのインストールおよび構成

このタスクでは、新しいSQL Serverフェイルオーバー・クラスタのインストールについて説明します。

  1. ダウンロードしたMSSQLソフトウェア・バンドルからsetup.exeを実行します。

  2. 「インストール」を選択します。

    SQLサーバー・クラスタのインストール

  3. 「新規SQL Serverフェイルオーバー・クラスタのインストール」を選択します。

  4. 「プロダクト・キー」と入力し、「次へ」をクリックします。

  5. 「ライセンス条件」に同意し、「次へ」をクリックします。

  6. 「Microsoft Update」で、「Next」をクリックします。インストーラはソフトウェアの更新をスキャンし、ダウンロードしてインストール・プロセスを開始します。

  7. フェイルオーバー・クラスタ・ルールのインストールを行います。「次」をクリックします。

    SQL Serverフェイルオーバー・クラスタ・インストール・ルール

  8. 「機能の選択」で、「データベース・エンジン・サービス」を選択し、「次へ」をクリックします。

    SQL Serverフェイルオーバー・クラスタの機能の選択

  9. 「インスタンス構成」で、「SQL Serverネットワーク名」の名前を入力し、「デフォルト・インスタンス」または「名前付きインスタンス」を選択して「次へ」をクリックします。

  10. 「クラスタ・リソース・グループ」で、「次へ」をクリックします。

  11. 「Cluster Disk Selection」で、「Cluster Disk 2」を選択し、「Next」をクリックします。

  12. 「クラスタ・ネットワーク構成」で、IPv4アドレスを割り当て、「次へ」をクリックします。

    SQLサーバー・フェイルオーバー・クラスタ・ネットワーク構成

  13. 「サーバー構成」で、タスク2で作成したSQLサーバーの「サービス・アカウント名」および「パスワード」を入力し、「次へ」をクリックします。

    SQLサーバー構成

  14. 「データベース・エンジン構成」で、「認証モード」およびその他の設定を構成し、「次へ」をクリックします。

  15. 「インストール準備完了」で、「インストール」をクリックします。

  16. インストールの進行状況が表示されます。「閉じる」をクリックします。

    SQLサーバーインストールの完了

  17. 「フェイルオーバー・クラスタ・マネージャ」に移動し、クラスタを展開して「ストレージ」セクションに移動し、ディスクを確認します。次の図に示すように、2つ目のディスクがSQL Serverに割り当てられています。

    Windowsサーバー・フェイルオーバー・クラスタSQLサーバー・クラスタ・ディスク

  18. 「フェイルオーバー・クラスタ・マネージャ」に移動し、クラスタを展開して「ロール」セクションに移動します。SQL Serverクラスタが表示されます。

    SQLサーバー・クラスタ

  19. SQL Server Management Studioで、データベースに接続できるようになりました。デプロイメントの準備が整い、可用性が高くフォルト・トレラントになるように設定されています。

    SQLサーバー管理スタジオ

次のステップ

このチュートリアルでは、OCI Block VolumesサービスのSCSI PR機能を使用してMSSQLでWSFCクラスタを設定するプロセスを順を追って説明します。このチュートリアルに従うことで、SCSI PRを使用するMSSQLで完全に機能するWSFCクラスタが用意されるようになりました。高可用性を確保し、ダウンタイムを最小限に抑えるために、クラスタを定期的にテストおよび検証してください。

承認

その他の学習リソース

docs.oracle.com/learnの他のラボを確認するか、Oracle Learning YouTubeチャネルで無料のラーニング・コンテンツにアクセスしてください。また、education.oracle.com/learning-explorerにアクセスしてOracle Learning Explorerになります。

製品ドキュメントについては、Oracle Help Centerを参照してください。