Denali CTP3 では、AlwaysOn Availability Groups の一通りの機能を検証できるようになっています。
今回は CTP3 で AlwaysOn Availability Groups を設定するための手順をまとめてみたいと思います。
Contents
■事前準備
AlwaysOn Availability Groups を構築するための事前準備として
- AlwaysOn Availability Groups で使用するインスタンスで WSFC(Windows Server Failover Cluster) を構築
- SQL Server 構成マネージャーでトレースフラグ 9532 (-T9532) を設定
- SQL Server 構成マネージャーで [AlwaysOn 可用性グループを有効にする] を有効にする
AlwaysOn を設定する前にこれらの設定をしておく必要があります。
# ?T9532 は無くても構成によっては AlwaysOn を設定できます。
CTP3 インストール後の状態では、SQL Browser サービスが無効になっていますので、インスタンスのポート番号解決が必要な場合はサービスを自動起動にします。
ファイアウォールに関してはプログラム (sqlservr.exe) か使用しているポートで許可をしておきます。
サービスの起動アカウントに関しては、サービス SID でも問題はないのですがその場合は証明書を使用したエンドポイントを利用する必要があります。
今回は各インスタンスで同一のドメインユーザーで SQL Server のサービスを起動しています。
また、AlwaysOn Availability Groups で含められるインスタンスは 1 ノードにつき 1 インスタンスに制限がされています。
検証をする際には、マルチインスタンスの環境ではなくクラスターに複数のノードを準備する必要があります。
ミラーリングはマルチインスタンスで構築できるのですが AlwaysOn Availability Groups では構築ができないので注意が必要です。
■AlwaysOn Availability Groups で使用するデータベースの準備
AlwaysOn Availability Groups で可用性グループに追加するデータベースですが事前に作成しているのはもちろんのこと、完全バックアップを取得しておく必要があります。
完全バックアップを取得していないデータベースは AlwaysOn で選択することができません。
完全バックアップを取得しているデータベースのみ選択が可能となっています。
■共有フォルダの作成
手動でバックアップ / リストアをすることでも対応が可能ですが、ノード数が多くなると作業が少し大変です。
そのため、今回はウィザードで共有フォルダを使用してバックアップ / リストアを実施したいと思います。
共有フォルダと実フォルダのアクセス権に各ノードの SQL Server のサービス起動ユーザーがアクセスできる権限を付与しておきます。
今回は共有フォルダに [Everyone : フルコントロール]、実フォルダに [SQL Server のサービス起動ユーザー : フルコントロール] の権限を付与しています。
■AlwaysOn Availability Groups の設定
それでは実際に AlwaysOn Availability Groups を設定したいと思います。
- [管理] → [可用性グループ] を右クリックして、[新しい可用性グループ ウィザード] をクリックします。
# ウィザードを使わなくても構築できるようですが今回はウィザードを使います。
- [次へ] をクリックします。
- [可用性グループ名] を入力して、[次へ] をクリックします。
- [可用性グループ] に含めるデータベースを選択して、[次へ] をクリックします。
- [レプリカの追加] をクリックして、セカンダリレプリカに追加するインスタンスを追加します。
また、レプリカモードやセカンダリ ロールの接続モードも設定を行います。
エンドポイントに関しては今回は各インスタンスで同一のドメインユーザーで SQL Server のサービスを起動しているので、特に意識はしていません。
- リスナーの設定情報を入力し、[次へ] をクリックします。
リスナーは AlwaysOn Availability Groups を設定した環境に接続する際の接続ポイントとなるようです。
SQL Server への接続はリスナーに設定している名前 / IP / ポート番号を使用します。
リスナーに設定されている情報がプライマリに設定されるようです。
# フェールオーバーするとリスナーが移動します。
今回は各ノードは DHCP を使用した環境となっています。
- データ同期で使用する (バックアップファイルの保存) 共有フォルダを指定して、[次へ] をクリックします。
- 検証結果を確認して、[次へ] をクリックします。
- [完了] をクリックして、AlwaysOn を設定します。
- [閉じる] をクリックして、AlwaysOn Availability Groups の設定を完了します。
たまに [Create Availability Group Listner ~] が失敗するのですよね…。
その場合は手動で作成すると動作させることができるのですが。
以上で AlwaysOn Availability Groups の構成は完了です。
ミラーリングのデータベースコピーは 2 インスタンスの構成ですが、AlwaysOn Availability Groups では 3 ノード以上で構成することが可能です。
この辺がミラーリングと AlwaysOn Availability Groups の違いでもありますね。
# ウィットネスのかわりに WSFC を使っているというのもありますが。
これからいろいろと検証していきたいと思います。