SQL Server のことなら SQL Quality SQL Server パフォーマンス チューニング、コンサルティング、アドバイス、相談、定期診断、トレーニング

ホーム > 技術情報 > SQL Server 2012 自習書 DWH 関連の新機能

SQL Server 2012 自習書シリーズ (HTML 版)
新機能編 No.2「AlwaysOn による可用性の向上」

松本美穂と松本崇博が執筆した SQL Server 2012 自習書シリーズの「新機能編 No.2 AlwaysOn による可用性の向上」の HTML 版です。 日本マイクロソフトさんの Web サイトで Word または PDF 形式でダウンロードできますが、今回、HTML 版として公開する許可をいただきましたので、ここに掲載いたします。[2014年12月26日]

目次へ | 前のページへ | 次のページへ

2.11 複数サブネットの場合の構成例(災害復旧用途)

◆ 複数サブネットの場合の構成例(災害復旧用途)

可用性グループは、サブネットをまたがっても構成することができるので、DR(Disaster Recovery:災害復旧)用途として、遠隔地へセカンダリを配置することもできます。ここでは、次の図ように 192.168.1 のサブネット(東京)と 172.16 のサブネット(大阪)がある場合の構成方法を説明します。

00160

WSFC(Windows Server フェールオーバー クラスター)では、異なるサブネットのノードが存在する場合には、クラスター作成時の「クラスター作成」ウィザードで、次のようにサブネットごとに IP アドレスを設定することができます。

00161

00162

複数サブネットの場合は、クラスター名(画面は CLUSTER001)に対して、2つの IP アドレスが登録されて、どちらか一方がオンラインになるように設定されます。これは、クラスター名のプロパティを開いて、次のように[依存関係]タブから確認することができます。

00163

OR 条件で 2つの IP アドレスが登録されることで、どちらかの IP アドレスに依存するクラスター名が作成されることで、サブネットをまたがってフェールオーバーが発生しても、クライアントからは同じクラスター名でアクセスできるようになります。

このように構成されたクラスターの状態で可用性グループを作成すれば、サブネットをまたがって 可用性グループを構成することができます。作成手順は、前の Step で説明したものとほとんど同じで、違いはリスナー(仮想サーバー名/仮想 IP アドレス)を作成するところだけです。

00164

新しい可用性グループ]ウィザードの[レプリカの指定]ページの[リスナー]タブで、[リスナー DNS 名]へ任意のリスナー名(AG1_Listener など)を入力、[ポート]へ任意のポート番号(1433 など)、[ネットワーク モード]で「静的 IP」を選択して、[追加]ボタンをクリックし、2つの IP アドレスを追加します(画面は 192.168.1.122 172.16.1.122 を追加)。

このようにリスナーには、複数の IP アドレスを登録することができます。

00165

このように作成したリスナーは、フェールオーバー クラスター マネージャーからは、次のように確認できます。

00166

OR 条件で 2つの IP アドレスが登録されることで、どちらかに依存するリスナー名(画面は AG1_Listener)が作成されます。192.168.1 のサブネットに属する SERVER1 または SERVER2 がプライマリの場合には、192.168.1.122 がオンライン、172.16 のサブネットに属する SERVER3 がプライマリになった場合には、172.16.1.122 がオンラインになり、それに依存するリスナー名が利用可能になります。これにより、サブネットをまたがったフェールオーバーが発生した場合でも、クライアントからは同じリスナー名でアクセスすることができます。

以上で、複数サブネットでの可用性グループの構成が完了です。ほかの手順(手動フェールオーバーや強制フェールオーバー、RESUME、障害から復旧手順など)は、これまでの Step で説明したものとまったく同じ手順です。

◆ MultiSubnetFailover=True の追加

複数サブネット構成の場合、.NET Framework で作成するクライアント アプリケーションには、接続文字列へ「MultiSubnetFailover=True」を追加しておく必要があります(追加することで迅速なフェールオーバーが可能になります)。

00167

MultiSubnetFailover=True は、SQL Server Native Client 11.0(SQL Server 2012 で提供される SQL Server Native Client)から利用できるようになったオプションです。

◆ DR 目的のリモート サイトのノードには投票権を与えない(NodeWeight=0)

DR(災害復旧)目的の場合は、リモート サイトの WSFC クラスター ノードには投票権(Vote)を与えない(NodeWeight 0 へ設定する)ようにします。こうすることで、リモート サイトのノードの障害が、プライマリ サイト(メインのノードを配置している場所)へ影響を与えることを防ぐことができます。

NodeWeight を 0 へ設定するには、Windows の修正プログラム「KB 2494036」を適用しておく必要があります。

00168

現在の NodeWeight 設定を確認するには(既定では全てのノードが 1に設定される)、次のように Cluster コマンドを利用します。

CLUSTER クラスター名 node /status /properties
00169

NodeWeight を 0 へ設定するには、次のように Cluster コマンドを利用します。

CLUSTER クラスター名 node ノード名 /prop NodeWeight=0
00170

設定内容を確認するには、前述のコマンドを再度実行します。

00171

なお、Management Studio を利用して、「dm_hadr_cluster_members」ビューを参照しても、NodeWeight の設定を確認することができます。

SELECT member_namemember_state_descnumber_of_quorum_votes
FROM   sys.dm_hadr_cluster_members
00172

◆ ローカル ノードが 2台の場合は「ノードおよびファイル共有マジョリティ」

3台のノードで DR を構成する場合(ローカル サイトが 2台、リモート サイトが 1台)の場合には、リモート サイトのノードの NodeWeight 0 にする(投票権を削除する)ことで、ローカル サイトは 2個の投票権のみとなってしまい、これでは障害対策にならない(1台のノードの障害でクラスターが停止してしまう)ので、クォーラム構成を「ノード マジョリティ」から「ノードおよびファイル共有マジョリティ」へ変更するなどの対処も必要になります。

00173

00174

00175

なお、ファイル共有マジョリティの代わりに、ローカル サイトへノードをもう1台追加して、「ノード マジョリティ」で構成することでも障害対策が可能です。クォーラム構成については、オンライン ブックの以下の場所も参考になります。

WSFC クォーラム モードと投票の構成 (SQL Server)
http://msdn.microsoft.com/ja-jp/library/hh270280.aspx

◆ その他の参考資料

実際に、複数サブネット構成を構築する際には、以下のドキュメントも一読しておくことをお勧めします。

AlwaysOn 可用性グループの前提条件、制限事項、および推奨事項(HostRecordTTL を設定する (60秒を推奨) など)
http://msdn.microsoft.com/ja-jp/library/ff878487

Configure Heartbeat and DNS Settings in a Multi-Site Failover Cluster
http://technet.microsoft.com/en-us/library/dd197562(WS.10).aspx

Requirements and Recommendations for a Multi-Site Failover Cluster
http://technet.microsoft.com/en-us/library/dd197575(WS.10).aspx

目次へ | 前のページへ | 次のページへ

事例1

MPNロゴ


SQLQualityは執筆とセミナーを通じて技術の啓蒙やエンジニアの育成支援も行っています
最新刊
SQL Server 2012 の教科書
SQL Server 2012 の教科書(ソシム)

弊社オリジナル制作の
SQL Server 2012 自習書も
マイクロソフトのサイトで公開中!
ロングセラー
ASP.NET でいってみよう  SQL Server 2000 でいってみよう
ASP.NET でいってみよう
第7刷 16,500 部発行
SQL Server 2000 でいってみよう
第12刷 28,500 部発行


セミナー風景
セミナー風景

弊社執筆の
SQL Server 2012 自習書
マイクロソフトのサイトで公開中
全30冊
ダウンロードはこちら
弊社執筆の
SQL Server 2008 R2 自習書
マイクロソフトのサイトで公開中
全30冊
目次はこちら
松本美穂のコラム
(公開活動などのお知らせ)

第38回: SQL Server 2014 CTP2 の公開
第37回: SQL Server 2014 CTP1 の自習書をご覧ください
第36回: SQL Server 2014 CTP1 のクラスター化列ストア インデックスを試す
第35回: SQL Server 2014 CTP1 のインメモリ OLTP の基本操作を試す
第34回: GeoFlow for Excel 2013 のプレビュー版を試す
第33回:iPad と iPhone からの SQL Server 2012 Reporting Servicesのレポート閲覧
第32回:PASS Summit 2012 参加レポート
第31回:SQL Server 2012 Reporting Services 自習書のお知らせ
第30回:SQL Server 2012(RTM 版)の新機能 自習書をご覧ください
第29回:書籍「SQL Server 2012の教科書 開発編」のお知らせ
第26回:SQL Server 2012 の Power View 機能のご紹介
第25回:SQL Server 2012 の Data Quality Services
第24回:SQL Server 2012 自習書のご案内と初セミナー報告
第23回:Denali CTP1 が公開されました
第22回 チューニングに王道あらず
第21回 Microsoft TechEd 2010 終了しました
第20回 Microsoft TechEd Japan 2010 今年も登壇します
第19回 SQL Server 2008 R2 RTM の 日本語版が公開されました
第18回 「SQL Azure 入門」自習書のご案内
第17回 SQL Server 2008 自習書の追加ドキュメントのお知らせ
第16回 SQL Server 2008 R2 自習書とプレビュー セミナーのお知らせ
第15回 SQL Server 2008 R2 Reporting Services と新刊のお知らせ
第14回 TechEd 2009 のご報告と SQL Server 2008 R2 について
第13回 SQL Server 2008 R2 の CTP 版が公開されました
第12回 MVP Summit 2009 in Seattle へ参加

技術コミュニティでも活動中

Microsoft MVP for SQL Server

松本崇博 Blog(SQL Server Tips)
松本美穂ブログ(SQL Serverノート)