denali ctp3 always on availability groups 概要
TRANSCRIPT
~ コミュニティからITを盛り上げよう~
SQLTO 小澤真之 @Masayuk i _Ozawa
H t tp : / / eng i nee rmemo.Wordp re s s . com
Denali CTP3 AlwaysOn Availability Groups
概要 2
本資料は SQL Server Codename "Denali" CTP3 をベースに作成しています。 そのため、製品版では動作が変わる可能性があります。 あらかじめご了承ください。
はじめに
CTP : Community Technology Preview
3
本日の Agenda
Denali 新機能ハイライト
AlwaysOn とは
AlwaysOn Availability Groups 概要
4
Denali 新機能ハイライト
AlwaysOn とは
AlwaysOn Availability Groups 概要
5
Beyond Relational
Denali 新機能ハイライト
6
High Availability
AlwaysOn
柔軟性のある フェールオーバー
ポリシー
アプリケーション中心の
フェールオーバー
読み取り可能な マルチセカンダリ
オンライン操作
HA for StreamInsight
Server Core サポート
Scalability &Performance
15,000の パーティション
Columnstore インデックス
FileStream の速度向上
Full Text の速度向上
FileTable
Security & Managebility
ユーザー定義 サーバーロール
SSDT "Juneau"
Contained Database
OpsMgr Management Pack for HA
セカンダリを使用したバックアップ
Windows グループの
既定のスキーマ
Web & Breadth
参照資料 : Denali Overview What’s New Feature Technical Overview
PHP ドライバー
JDBC 4.0 ドライバー
Semantic Platform
ローカル DB
UTF-16
結果セットのページング
Full Globe Spatial
サポート
DAC の拡張
ODBC for Linux
ARM プロセッサ サポート
Business Intelligence
Unified Semantic
Model
Project "Crescent"
インメモリ BI
セルフサービス アラート
SSAS の Sysprep
PowerPivot の機能拡張
SharePoint 共有サービスで レポーティング
Enterprise Information
Management
SSIS サーバー
Change Data Capture
for Oracle
Master Dataサービス
Add-in for Excel
Data Quality サービス
Master Data サービスの機能
拡張
今回のメイン
空間データの 速度向上
Distributed Replay
Active Directory With SharePoint
For SSRS
ハイブリッド アプリケーション
With SQL Azure
Win32 アクセス to
Database Files
Denali 新機能ハイライト
AlwaysOn とは
AlwaysOn Availability Groups 概要
7
データベースの可用性の方式
8
レプリケーション
ログ配布
フェールオーバークラスタリング
データベースミラーリング
AlwaysOn
AlwaysOn とは
• AlwaysOn = いつでも使える
• DBOnline 》 これがDenaliの新機能だ!/第四世代 SQL Server の世界へようこそ(後編)
http://enterprisezine.jp/article/detail/3290
Denali で追加された可用性を向上するための機能
• AlwaysOn Failover Clustering
• AlwaysOn Availability Groups
2 種類の AlwaysOnの紹介
今回のメイン
9
• AlwaysOn Active Secondries • SQL Server AlwaysOn Connection
Director Capabilities • SQL Server AlwaysOn AutoStat
AlwaysOn Failover Clustering
10
AlwaysOn Failover Clustering
•マルチサブネットクラスター
•拠点間の SQL Server でクラスターを構築可能
•柔軟なフェイルオーバーポリシー
•SELECT @@SERVERNAME ではなく、sp_server_diagnostics を使用したインスタンスの稼
働確認 (system / resource / query_processing /io_subsystem / events)
•SMB のサポート
•共有ディスクではなく共有フォルダを使用したクラスターの構築が可能に
•ただし、ファイルサーバーは Windows Server 2008 / R2 の必要がある
•ローカルディスクを使用した tempdb のサポート
•共有ディスク / 共有フォルダではなくサーバーのローカルディスクに tempdb を配置可能
従来からのクラスタリングの拡張
11
AlwaysOn Failover Clustering の構成例
12
サブネット 1 192.168.0.1/24
tempdb
WSFC : Windows Server Failover Clustering
System DB User DB
サブネット 2 172.23.0.1/16
tempdb
ファイルサーバー
sp_server_diagnosticsでインスタンスの死活監視
AlwaysOn Availability Groups
13
AlwaysOn Availability Groups
•同期 / 非同期モード
•自動 / 手動フェールオーバー
•自動ページ修復
ミラーリングと同等の機能
•最大で 5 台構成が可能
•3 台で同期モードを設定可能
(ミラーリングは 2 台で同期モード)
マルチセカンダリレプリカ
•スナップショット (特定タイミングのデータ静止点) を作成しないで読み取り可能
セカンダリデータベースが読み取り可能
14
Denali 新機能ハイライト
AlwaysOn とは
AlwaysOn Availability Groups 概要
15
ミラーリングの構成
プリンシパル (更新可能)
ミラー (待機サーバー)
ウィットネス (監視サーバー)
ミラーリング エンドポイント
プリンシパル : 1 台 ミラー : 1台
ウィットネス : 1 台
16
AlwaysOn Availability Groups の構成
プライマリ (更新可能)
ミラーリング エンドポイント
セカンダリ (読み取り可能な
複数の待機サーバー)
WSFC : Windows Server Failover Clustering
Active Directory
プライマリ: 1 台 セカンダリ: 4 台
制御用 クラスターリソース
17
必須
Availability Groups の構成要素
18
クラスターリソース
リスナー (コンピューター名)
リスナー (IP アドレス)
制御用 クラスターリソース
(SQL Server Availability Group)
可用性レプリカ
プライマリ セカンダリ セカンダリ セカンダリ セカンダリ
可用性データベース
DB1 DB2 DB3
・・・・・
Availability Groups の構成要素
19
•クライアントが接続するためのアクセスポイント
リスナー
•Availability Groups を制御するためのクラスターリソース
制御用クラスターリソース
•Availability Groups に含める SQL Server のインスタンス
•同一サーバー上の複数のインスタンスを含めることはできない
(検証時には複数のサーバーに SQL Server をインストールした環境を用意する)
可用性レプリカ
•Availability Groups に含める SQL Server のデータベース
•ミラーリングと異なり一つの設定内に複数のデータベースを指定することが可能
可用性データベース
AlwaysOn Availability Groups を設定
20
今回のデモ環境
21
Hyper-V
Active Directory 兼 SQL Server
WSFC
ノート PC
SQL 1 SQL 2
参考)Availability Group の事前準備 1/2
22
• 同一ドメインのノードで構築
Windows Server Failover Clustering (WSFC) の構築
• KB249036/KB976097 の適用
• KB976097 は Windows Server 2008 R2 SP1は適用済み
修正プログラムの適用
• SQL Server 構成マネージャーで Availability Group を有効化
Availability Group の有効化
• CTP3 で Availability Group の機能をフルに使用するためのトレースフラグ
トレースフラグ 9532 の設定
参考)Availability Group の事前準備 2/2
23
•TCP による接続の許可 (Denali CTP3 ではデフォルトで無効になっている)
•SQL Browser サービスの自動起動
(Denali CTP3 ではデフォルト無効になっている。既定のインスタンスを使用する場合は不要)
サービス設定
•SQL Server サービスポート (既定のインスタンスの場合は TCP:1433)
•ミラーリングエンドポイントポート (デフォルトでは TCP:5022)
F/W 設定
•デフォルトではサービス アカウント (NT Service¥MSSQLSERVER) になっているため、ドメイン
ユーザーに変更
•ローカル アカウント / サービス アカウントを使用する場合は、ミラーアカウント (ユーザー名 /
パスワードが同一) でサービスを起動、証明書を使用したミラーリングエンドポイントの事前作成
等の対応が必要
SQL Server サービス起動ユーザーの設定
Availability Groups の設定
24
Availability Groups の設定
25
•同期コミット
•非同期コミット
可用性モード
•自動フェールオーバー
•手動フェールオーバー
フェールオーバーモード
•接続を禁止
•読み取りを目的とした接続
•すべての接続を許可
セカンダリロールの接続モード
ミラーリングの同期 / 非同期モードと同等
ミラーリングの手動 / 自動フェールオーバーと同等
Availability Group 特有
可用性モードと フェールオーバーモード
26
可用性モードとフェールオーバーモードの構成
27
同期モード
非同期モード
自動フェールオーバー
同期モード : 最大 3 台 サーバーの最大台数 : 5 台
自動フェールオーバー : 同期モード内で 2 台のみ設定可能
可用性コミット
28
プライマリ セカンダリ
ログ バッファ
トランザクションログ
データファイル
LOGFLUSH
COMMIT/CHECKPOINT
ログ バッファ
トランザクションログ
データファイル
LOGFLUSH
REDO (ロールフォワード)
ACK (完了応答)
非同期モードはACKを待たずに プライマリのログに書き込んだ時点で完了
ログ プール
フェールオーバーモード
29
• プライマリで障害が発生した際に自動的にセカンダリレプリカを
自動的にプライマリに昇格
自動フェールオーバー
• プライマリで障害が発生してもセカンダリレプリカは自動で
プライマリに昇格しない
• フェールオーバーは手動で明示的に実行する必要がある
手動フェールオーバー
ミラーリングの接続方法との比較
30
ミラーリングの接続方法
31
プリンシパル ミラー
Server=プリンシパルサーバー名; Failover Partner=ミラーサーバー名; Initial Catalog=ミラーリングデータベース名
ミラー プリンシパル
ミラーリング SQL Server に対しての接続文字列を使用して
プリンシパルとミラーを識別
Availability Group の接続方法
32
プライマリ セカンダリ
リスナー
セカンダリ プライマリ
リスナー
Server=リスナー名
Availability Group リスナーを経由してプライマリに接続
接続文字列はリスナーに対しての接続情報
ミラーサーバーのデータベースの接続
33
ミラー
ミラーのデータベースは 直接参照できない
データベーススナップショットを参照
データベーススナップショット
ミラーリング ミラーのデータベースを単純に
使用することはできない
セカンダリレプリカのデータベースの接続
34
Availability Group
セカンダリ
セカンダリレプリカは 読み取り専用で利用可
Server=セカンダリサーバー名; Application Intent=ReadOnly(読み取りを目的とした接続)
セカンダリレプリカを バックアップすることが可能 (ミラーリングではミラーのデータベースのバックアップは不可)
シングルセカンダリ構成+セカンダリの読み取りを無効にすればミラーリングと同等の接続が可能
セカンダリデータベースをそのまま読み取り専用として使用可能
35
• データ同期を見てみる
• フェールオーバー
• セカンダリレプリカの利用
まとめ
36
SQL Server 2008 R2 のミラーリングをベースに機能拡張
最大で 5 台構成が可能(同期モードは 3 台まで)
セカンダリを読み取り専用で利用可能
リスナーを経由することで透過的に接続
参考資料
AlwaysOn Availability Groups (SQL Server) http://msdn.microsoft.com/en-us/library/ff877884(SQL.110).aspx
SQL Server Failover Cluster Instances (AlwaysOn Failover Clustering) http://msdn.microsoft.com/en-us/library/ms189134(SQL.110).aspx
Microsoft SQL Server Code-Named "Denali" AlwaysOn Series, Part 1: Introducing the Next Generation High Availability Solution http://channel9.msdn.com/Events/TechEd/NorthAmerica/2011/DBI302
Microsoft SQL Server Code-Named "Denali" AlwaysOn Series, Part 2: Building a Mission-Critical High Availability Solution Using AlwaysOn http://channel9.msdn.com/Events/TechEd/NorthAmerica/2011/DBI404
So Many High Availability Options, So Little Time http://sqlbits.com/Sessions/Event8/So_Many_High_Availability_Options_So_Little_Time
Microsoft® SQL Server® code name 'Denali', Community Technology Preview 3 (CTP 3) Product Guide http://www.microsoft.com/download/en/details.aspx?id=27069
37