SE の雑記

SQL Server の情報をメインに Microsoft 製品の勉強内容を日々投稿

Denali CTP3 でマルチサブネットフェールオーバークラスターを構築

leave a comment

Denali CTP3 の AlwaysOn SQL Server Failover Cluster Instances ではマルチネットフェールオーバークラスターが構築できるようになっています。

今回はマルチサブネットフェールオーバークラスターについてまとめてみたいと思います。

参考になる技術情報はこちらです。
Availability Enhancements (Database Engine)
SQL Server Mutli-Subnet Failover Cluster Configuration

■マルチサブネットフェールオーバークラスターの構築


それではマルチサブネットフェールオーバークラスターを構築してみたいと思います。

ベースとなる環境は以前作成したマルチサイトクラスターの環境を使用しています。
image

まずは CLUSTER-01 でセットアップを行います。

  1. セットアップを実行して、[SQL Server フェールオーバー クラスターの新規インストール] をクリックします。
    image
  2. [OK] をクリックします。
    image
  3. [次へ] をクリックします。
    image
  4. [ライセンス条項に同意する。] を有効にして、[次へ] をクリックします。
    image
  5. [次へ] をクリックします。
    # 今回の環境はインターネットに接続していないため、アップデートの確認ができません。
    image
  6. [次へ] をクリックします。
    image
  7. [次へ] をクリックします。
    image
  8. インストールする機能を選択して、[次へ] をクリックします。
    image
  9. [次へ] をクリックします。
    # .NET Framework 3.5 SP1 は事前にインストール済みです。
    image
  10. インスタンスの情報を入力して、[次へ] をクリックします。
    image
  11. [次へ] をクリックします。
    image
  12. [次へ] をクリックします。
    image
  13. [次へ] をクリックします。
    今回は共有フォルダを使用したクラスターで作成してみたいと思います。
    image
  14. SQL Server のクラスターで使用する IP アドレスを入力して、[次へ] をクリックします。
    CLUSTER-01 で使用しているサブネットに対して IP アドレスを設定します。
    image

    WSFC を組んでいる場合、IP アドレスには各ノードのサブネットが表示されます。
    CLUSTER-02 で使用しているサブネットに対して、IP を設定しようとするとインストーラーを起動している CLUSTER-01 で使用しているサブネットでは使えない IP アドレスであるためエラーとなってしまいます。
    image

  15. サーバーの構成を設定して [次へ] をクリックします。
    今回は共有フォルダを使用したクラスターを構築するため、サービスアカウントはドメインユーザーにしています。
    image
  16. データベースエンジンの構成を設定して [次へ] をクリックします。
    今回はデータ ディレクトリんは共有フォルダを指定しています。
    image
  17. [次へ] をクリックします。
    image
  18. [次へ] をクリックします。
    image
  19. [インストール] をクリックします。
    image
  20. [閉じる] をクリックします。
    image

最初のノードに対してのインストールは以上で完了です。
続いて待機系ノードのインストールを行います。

  1. セットアップを実行して、[SQL Server フェールオーバー クラスターにノードを追加します] をクリックします。
    image
  2. [OK] をクリックします。
    image
  3. [次へ] をクリックします。
    image
  4. [ライセンス条項に同意する。] を有効にし、[次へ] をクリックします。
    image
  5. [次へ] をクリックします。
    image
  6. [次へ] をクリックします。
    image
  7. [次へ] をクリックします。
    image
  8. CLUSTER-02 で使用する SQL Server の仮想 IP アドレスを設定して、[次へ] をクリックします。
    image
    次へを押したタイミングでマルチサブネットクラスターとしての情報がメッセージボックスに表示されます。
    image
  9. アカウントの情報を設定して、[次へ] をクリックします。
    image
  10. [次へ] をクリックします。
    image
  11. [次へ] をクリックします。
    image
  12. [インストール] をクリックしてインストールを開始します。
    image
  13. [閉じる] をクリックします。
    image

以上で、マルチサブネットフェールオーバークラスターの基本的な構築は完了です。
WSFC のマルチサイトクラスターと同様に IP アドレスをネットワーク名の OR の依存関係で使用することでマルチサブネットフェールオーバークラスターは実装されています。image
image

 

■DNS 関連の設定


SQL Server Mutli-Subnet Failover Cluster Configuration

に以下の記載があります。

To minimize the client downtime, we recommend setting the HostRecordTTL to 60 seconds for most multi-subnet clustering environment. For information on setting the HostRecordTTL, see Configure DNS settings in a Multi-Site Failover Cluster, and DNS Registration with Network Name Resource.

仮想コンピューター名の DNS の A レコードの TTL ですがデフォルトでは 20 分に設定がされています。
image

60 秒が推奨とのことですので以下のコマンドをクラスターのノードで実行して TTL を 60 秒に変更します。
変更後リソースを一度オフライン→オンラインにして設定を反映させます。
# IP アドレスのリソースをオフライン→オンラインにしないと DNS のレコードの再設定が行われないようでした。
image
image

以上でマルチサブネットフェールオーバークラスターの設定は完了です。

 

■使用する SQL Serve Native Client のバージョン


アプリケーションが使用する SQL Server Native Client のバージョンにも少し注意が必要となりそうです。

以下は SQL Server 2008 R2 SP1 Feature Pack の SQL Server Native Client をインストールした環境のデータソースの設定画面になります。
image

こちらが Denali の SQL Server Native Client の設定になります。
image

Denali の Native Client では、AlwaysOn Availability Groups のセカンダリレプリカへの接続の設定である、[アプリケーションの目的] と AlwaysOn SQL Server Failover Cluster Instances のマルチサブネットフェールオーバークラスターの設定である、[マルチサブネット フェールオーバー] が追加されています。
# Denali の SQL Server Native Client では接続文字列に [MultiSubnetFailover] が追加されています。
Using Connection String Keywords with SQL Server Native Client

こちらがヘルプの内容です。
image

SQL Server 2008 R2 の SQL Server Native Client でも AlwaysOn に接続することは可能ですが、最適な状態で接続をするためには、Denali の SQL Server Native Client を使用する必要がありそうですね。

 

今回は以下のような環境を構築しました。
image

 

実運用の環境では SAN のレプリケーション機能を使用して以下のような構成で組むことになるのかと。
# この辺の構成は海外で SQL Server 2008 R2 を使用して構築した際の情報がちらほらあります。
image

 

SQL Server の災害対策サイトを構築する際の構成として、今まではミラーリングやログ配布で災害対策サイトにデータを保管するということが多かったと思いますが、次のバージョンではマルチサブネットフェールオーバークラスターを組むという案件も出てくるのかもしれないですね。

Written by masayuki.ozawa

8月 18th, 2011 at 10:44 pm

Posted in SQL Server

Tagged with , ,

Leave a Reply

*