denali ctp3 always on availability groups 概要

37
コミュニティからITを盛り上げよう~

Upload: masayuki-ozawa

Post on 30-Jun-2015

1.033 views

Category:

Documents


7 download

TRANSCRIPT

Page 1: Denali ctp3 always on  availability groups 概要

~ コミュニティからITを盛り上げよう~

Page 2: Denali ctp3 always on  availability groups 概要

SQLTO 小澤真之 @Masayuk i _Ozawa

H t tp : / / eng i nee rmemo.Wordp re s s . com

Denali CTP3 AlwaysOn Availability Groups

概要 2

Page 3: Denali ctp3 always on  availability groups 概要

本資料は SQL Server Codename "Denali" CTP3 をベースに作成しています。 そのため、製品版では動作が変わる可能性があります。 あらかじめご了承ください。

はじめに

CTP : Community Technology Preview

3

Page 4: Denali ctp3 always on  availability groups 概要

本日の Agenda

Denali 新機能ハイライト

AlwaysOn とは

AlwaysOn Availability Groups 概要

4

Page 5: Denali ctp3 always on  availability groups 概要

Denali 新機能ハイライト

AlwaysOn とは

AlwaysOn Availability Groups 概要

5

Page 6: Denali ctp3 always on  availability groups 概要

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

Page 7: Denali ctp3 always on  availability groups 概要

Denali 新機能ハイライト

AlwaysOn とは

AlwaysOn Availability Groups 概要

7

Page 8: Denali ctp3 always on  availability groups 概要

データベースの可用性の方式

8

レプリケーション

ログ配布

フェールオーバークラスタリング

データベースミラーリング

AlwaysOn

Page 9: Denali ctp3 always on  availability groups 概要

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

Page 10: Denali ctp3 always on  availability groups 概要

AlwaysOn Failover Clustering

10

Page 11: Denali ctp3 always on  availability groups 概要

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

Page 12: Denali ctp3 always on  availability groups 概要

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でインスタンスの死活監視

Page 13: Denali ctp3 always on  availability groups 概要

AlwaysOn Availability Groups

13

Page 14: Denali ctp3 always on  availability groups 概要

AlwaysOn Availability Groups

•同期 / 非同期モード

•自動 / 手動フェールオーバー

•自動ページ修復

ミラーリングと同等の機能

•最大で 5 台構成が可能

•3 台で同期モードを設定可能

(ミラーリングは 2 台で同期モード)

マルチセカンダリレプリカ

•スナップショット (特定タイミングのデータ静止点) を作成しないで読み取り可能

セカンダリデータベースが読み取り可能

14

Page 15: Denali ctp3 always on  availability groups 概要

Denali 新機能ハイライト

AlwaysOn とは

AlwaysOn Availability Groups 概要

15

Page 16: Denali ctp3 always on  availability groups 概要

ミラーリングの構成

プリンシパル (更新可能)

ミラー (待機サーバー)

ウィットネス (監視サーバー)

ミラーリング エンドポイント

プリンシパル : 1 台 ミラー : 1台

ウィットネス : 1 台

16

Page 17: Denali ctp3 always on  availability groups 概要

AlwaysOn Availability Groups の構成

プライマリ (更新可能)

ミラーリング エンドポイント

セカンダリ (読み取り可能な

複数の待機サーバー)

WSFC : Windows Server Failover Clustering

Active Directory

プライマリ: 1 台 セカンダリ: 4 台

制御用 クラスターリソース

17

必須

Page 18: Denali ctp3 always on  availability groups 概要

Availability Groups の構成要素

18

クラスターリソース

リスナー (コンピューター名)

リスナー (IP アドレス)

制御用 クラスターリソース

(SQL Server Availability Group)

可用性レプリカ

プライマリ セカンダリ セカンダリ セカンダリ セカンダリ

可用性データベース

DB1 DB2 DB3

・・・・・

Page 19: Denali ctp3 always on  availability groups 概要

Availability Groups の構成要素

19

•クライアントが接続するためのアクセスポイント

リスナー

•Availability Groups を制御するためのクラスターリソース

制御用クラスターリソース

•Availability Groups に含める SQL Server のインスタンス

•同一サーバー上の複数のインスタンスを含めることはできない

(検証時には複数のサーバーに SQL Server をインストールした環境を用意する)

可用性レプリカ

•Availability Groups に含める SQL Server のデータベース

•ミラーリングと異なり一つの設定内に複数のデータベースを指定することが可能

可用性データベース

Page 20: Denali ctp3 always on  availability groups 概要

AlwaysOn Availability Groups を設定

20

Page 21: Denali ctp3 always on  availability groups 概要

今回のデモ環境

21

Hyper-V

Active Directory 兼 SQL Server

WSFC

ノート PC

SQL 1 SQL 2

Page 22: Denali ctp3 always on  availability groups 概要

参考)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 の設定

Page 23: Denali ctp3 always on  availability groups 概要

参考)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 サービス起動ユーザーの設定

Page 24: Denali ctp3 always on  availability groups 概要

Availability Groups の設定

24

Page 25: Denali ctp3 always on  availability groups 概要

Availability Groups の設定

25

•同期コミット

•非同期コミット

可用性モード

•自動フェールオーバー

•手動フェールオーバー

フェールオーバーモード

•接続を禁止

•読み取りを目的とした接続

•すべての接続を許可

セカンダリロールの接続モード

ミラーリングの同期 / 非同期モードと同等

ミラーリングの手動 / 自動フェールオーバーと同等

Availability Group 特有

Page 26: Denali ctp3 always on  availability groups 概要

可用性モードと フェールオーバーモード

26

Page 27: Denali ctp3 always on  availability groups 概要

可用性モードとフェールオーバーモードの構成

27

同期モード

非同期モード

自動フェールオーバー

同期モード : 最大 3 台 サーバーの最大台数 : 5 台

自動フェールオーバー : 同期モード内で 2 台のみ設定可能

Page 28: Denali ctp3 always on  availability groups 概要

可用性コミット

28

プライマリ セカンダリ

ログ バッファ

トランザクションログ

データファイル

LOGFLUSH

COMMIT/CHECKPOINT

ログ バッファ

トランザクションログ

データファイル

LOGFLUSH

REDO (ロールフォワード)

ACK (完了応答)

非同期モードはACKを待たずに プライマリのログに書き込んだ時点で完了

ログ プール

Page 29: Denali ctp3 always on  availability groups 概要

フェールオーバーモード

29

• プライマリで障害が発生した際に自動的にセカンダリレプリカを

自動的にプライマリに昇格

自動フェールオーバー

• プライマリで障害が発生してもセカンダリレプリカは自動で

プライマリに昇格しない

• フェールオーバーは手動で明示的に実行する必要がある

手動フェールオーバー

Page 30: Denali ctp3 always on  availability groups 概要

ミラーリングの接続方法との比較

30

Page 31: Denali ctp3 always on  availability groups 概要

ミラーリングの接続方法

31

プリンシパル ミラー

Server=プリンシパルサーバー名; Failover Partner=ミラーサーバー名; Initial Catalog=ミラーリングデータベース名

ミラー プリンシパル

ミラーリング SQL Server に対しての接続文字列を使用して

プリンシパルとミラーを識別

Page 32: Denali ctp3 always on  availability groups 概要

Availability Group の接続方法

32

プライマリ セカンダリ

リスナー

セカンダリ プライマリ

リスナー

Server=リスナー名

Availability Group リスナーを経由してプライマリに接続

接続文字列はリスナーに対しての接続情報

Page 33: Denali ctp3 always on  availability groups 概要

ミラーサーバーのデータベースの接続

33

ミラー

ミラーのデータベースは 直接参照できない

データベーススナップショットを参照

データベーススナップショット

ミラーリング ミラーのデータベースを単純に

使用することはできない

Page 34: Denali ctp3 always on  availability groups 概要

セカンダリレプリカのデータベースの接続

34

Availability Group

セカンダリ

セカンダリレプリカは 読み取り専用で利用可

Server=セカンダリサーバー名; Application Intent=ReadOnly(読み取りを目的とした接続)

セカンダリレプリカを バックアップすることが可能 (ミラーリングではミラーのデータベースのバックアップは不可)

シングルセカンダリ構成+セカンダリの読み取りを無効にすればミラーリングと同等の接続が可能

セカンダリデータベースをそのまま読み取り専用として使用可能

Page 35: Denali ctp3 always on  availability groups 概要

35

• データ同期を見てみる

• フェールオーバー

• セカンダリレプリカの利用

Page 36: Denali ctp3 always on  availability groups 概要

まとめ

36

SQL Server 2008 R2 のミラーリングをベースに機能拡張

最大で 5 台構成が可能(同期モードは 3 台まで)

セカンダリを読み取り専用で利用可能

リスナーを経由することで透過的に接続

Page 37: Denali ctp3 always on  availability groups 概要

参考資料

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