Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

[Japan Tech summit 2017] DAL 004

194 views

Published on

[Japan Tech summit 2017] DAL 004 セッション資料

Published in: Technology
  • Be the first to comment

[Japan Tech summit 2017] DAL 004

  1. 1. Microsoft Tech Summit 2017本情報の内容(添付文書、リンク先などを含む)は、Microsoft Tech Summit 2017 開催日(2017 年 11 月 8日 - 9 日)時点のものであり、予告なく変更される場合があります。
  2. 2. AlwaysOn 可用性グループの機能の整理 SQL Server の高可用性/災対デザインパターン
  3. 3. 特徴 • トランザクションログ転送による同期 • プライマリ / セカンダリ構成 • 同期方法の選択肢 • 同期レプリカ • 自動フェールオーバー可能 • 更新処理の同期による待機あり • 非同期レプリカ • 自動フェールオーバー可能 • 更新処理の同期による待機なし • Standard/Enterprise で使用可能 • Standardには機能制限あり バックアップ レポート
  4. 4. 特徴 • アクティブ/スタンバイ構成 • 共有ディスクを使用 • 更新処理の同期遅延なし • Standard Edition で使用可能 • 若干の機能制限あり
  5. 5. 特徴 • トランザクションログ バックアップ/復 元を使用 • 共有フォルダーにバックアップ取得 • 定期的に復元 • アクティブ / スタンバイ構成 • スタンバイ サイトで制限付き読み取り 可能 • Standard/Enterpriseで使用可能 バックアップ 復元
  6. 6.  プライマリレプリカ 1 + セカンダリレプリカ 4  同期セカンダリレプリカ = 2  自動フェールオーバー は 2 サイト間  Enterprise Edition 限定  分散型可用性グループ  3サイト間での自動フェールオーバー  セカンダリレプリカへのロードバランス  パフォーマンスの向上  異なるインスタンス間の分散トランザクションのサポート  ワークグループクラスターのサポート  データベースレベルのフェールオーバートリガー  Standard Edition で [基本的な可用性グループ]をサポート  データベーススコープの構成  クロスプラットフォーム(Windows / Linux) の可用性グループのサポート  WSFC 以外のクラスターマネージャーのサポート  同期コミット利用時に必要となる最小のセカンダリレプリカ数が設定可能  同一インスタンスの分散トランザクションのサポート  セカンダリレプリカ = 8  障害発生時のセカンダリレプリカへのアクセス サポート  クォーラム 喪失  プライマリ レプリカからの切断
  7. 7. AlwaysOn 可用性グループ 柔軟さを増す構成パターン複雑さを増す構成パターン…
  8. 8.  同一ドメイン/WSFCに全ノードが所属 AlwaysOn 可用性グループ 懸案事項  災害対策サイトを配置したい遠隔地は別ド メインであることも多い….
  9. 9.  異なるクラスターグループで可用性 グループを構成可能 AlwaysOn 分散可用性グループ  双方のクラスターグループで可用性 グループを構成可能  最大 18 レプリカを保持 SQL Server 2012 SQL Server 2014
  10. 10. 異なるクラスター間の可用性グループを同期  用途  可用性グループ 間でデータを複製  遠隔地の独立した環境に対して、可用性グルー プでデータを同期  他の環境にデータベースをマイグレーション  災対サイト側でのワークロード分散  留意点  セカンダリ可用性グループは読み取り専用  分散型可用性グループ間は手動フェールオー バーのみ AlwaysOn 分散型可用性グループ SQL Server 2012 SQL Server 2014 SQL Server 2016
  11. 11.  Windows Server 2016 の機能で 実現  Active Directory が不要  ワークグループメンバーサーバーのみで 構成可能  ワークグループ-ドメイン間の構成もサ ポート  クォーラム設定として、Azure スト レージを使用したクラウド監視を利 用可能 ワークグループ クラスター (AlwaysOn 分散可用性グループ/可用性グループ ) SQL Server 2012 SQL Server 2014
  12. 12.  クラスタ管理ソフトウェア不要 AlwaysOn 可用性グループ(クラスターレス)  用途  読み取りのサーバーのスケールアウト  シンプルなデータ複製  レプリケーションの代替ソリューション  監視用のリソース不在  自動フェールオーバー不可 SQL Server 2012 SQL Server 2014 SQL Server 2016
  13. 13.  Linux 版でも同様の構成が可能 AlwaysOn 可用性グループ(Linux)  クラスタ管理ソフトウェアとして Pacemaker/Corosync を使用 SQL Server 2012 SQL Server 2014 SQL Server 2016
  14. 14.  Linux/Windows 間で構成可能 AlwaysOn 可用性グループ (クロスプラットフォーム)  可用性グループで異なる OS 間で データを同期 SQL Server 2012 SQL Server 2014 SQL Server 2016  用途  移行やテストのために Windows から Linux にデータを移行  ダウンタイムを最小限に抑えた、クロ スプラットフォームの移行
  15. 15. EXTERNAL • Windows Server Failover Cluster 以 外をクラスター管理ソフトウェアとして使 用 • Linux で可用性グループを使用する場 合に指定 • 現時点ではクラスタ管理ソフトウェアとし て Pacemaker が一般的に使用される WSFC • Windows Server Failover Cluster (WSFC) をクラスターマネージャーとして 利用 • Windows でのみ使用可能 NONE • クラスタ管理ソフトウェアを使用しない • 非クラスター環境のサーバー間で 可用性グループを設定可能 • クラスターレスの可用性グループを使用 する場合 NONE を設定 • 同一の可用性グループに異なる OS (Windows / Linux) を含むことができる SQL Server 2012 SQL Server 2014 SQL Server 2016
  16. 16. Linux 環境での高可用性/災害対策構成
  17. 17. Linux 上での AlwaysOn 可用性グループ構成 バックアップ レポート 高可用性 災害対策サイト 非同期ログ転送 SQL Server 2012 SQL Server 2014 SQL Server 2016 同期ログ転送
  18. 18. Linux 上での AlwaysOn FCI 構成 SQL Server (Stand by) SQL Server 2012 SQL Server 2014 SQL Server 2016
  19. 19.  Linux上でもログ配布をサポート  SQL Agent on Linux のインストー ルが必要  CIFS (Common Internet File System) クライアントによるフォルダ 共有 Linux 上でのログ配布 バックアップ 復元 SQL Server 2012 SQL Server 2014 SQL Server 2016
  20. 20. 可用性グループの機能強化
  21. 21. バージョン LOG WRITER のマルチスレッド化 ログ転送のスループット向上 SQL Server 2014 以前 × × SQL Server 2016 以降 〇 〇 • ログファイルの書き込み の速度向上 • ログ転送の迅速化 • 圧縮アルゴリズムの改善 • 並列操作の実施 23
  22. 22. バージョン LOG WRITER のマルチスレッド化 ログ転送のスループット向上 パラレル REDO 処理 SQL Server 2014 以前 × × × SQL Server 2016 以降 〇 〇 〇 • ログファイルの書き込み の速度向上 • ログ転送の迅速化 • 圧縮アルゴリズムの改善 • 並列操作の実施 • セカンダリレプリカでの データ更新処理性能向上 24
  23. 23. 1 2 3 4 5 6 7 8 9 10 11 12 131415 ACK
  24. 24. セカンダリレプリカ
  25. 25. 1 3 4 5 6 7 9 10 11 ACK 2 Sequence Map 8
  26. 26. セカンダリレプリカ
  27. 27. トポロジーの説明 バージョン 異なるインスタンス上の異なる可用性グルー プに属する DB 間の分散トランザクション SQL Server 2014 以前 × SQL Server 2016 〇 SQL Server 2017 〇 29 P S AG1 P S AG2 SQL Server 2012 SQL Server 2014 SQL Server 2016
  28. 28. トポロジーの説明 バージョン 異なるインスタンス上の異なる可用性グルー プに属する DB 間の分散トランザクション 同一インスタンス上の異なる可用性グループ に属する DB 間の分散トランザクション SQL Server 2014 以前 × × SQL Server 2016 〇 × SQL Server 2017 〇 〇 30 P S AG1 P S AG2 P S AG1 P S AG2 SQL Server 2012 SQL Server 2014 SQL Server 2016
  29. 29. トポロジーの説明 バージョン 異なるインスタンス上の異なる可用性グルー プに属する DB 間の分散トランザクション 同一インスタンス上の異なる可用性グループ に属する DB 間の分散トランザクション 同一インスタンス上の同一可用性グループ に属する DB 間の分散トランザクション SQL Server 2014 以前 × × × SQL Server 2016 〇 × × SQL Server 2017 〇 〇 〇 31 P S AG1 P S P S AG1 P S AG2 P S AG1 P S AG2 SQL Server 2012 SQL Server 2014 SQL Server 2016
  30. 30. レプリカごとに異なる設定 レプリカのワークロードを考慮して、それぞれに最 適な設定を実施 • OLTP/DWH による使い分け • プライマリレプリカへ適用前に、セカンダリレ プリカで検証することでリスクの軽減 クエリ オプティマイザーの修正プログラム オプティマイザの動作に対する修正を有効化 - QUERY_OPTIMIZER_HOTFIXES レガシ基数見積もり オプティマイザの基数計算アルゴリズム制御 - LEGACY_CARDINALITY_ESTIMATION パラメーター スニッフィング コンパイル時に指定されたパラメータに特化したクエリプランを生成 - PARAMETER_SNIFFING 最大並列度 クエリ実行時の最大並列度 - MAXDOP SQL Server 2012 SQL Server 2014
  31. 31. • プライマリレプリカ • OLTP 主体ワークロード • MAXDOP=1 • QUERY_OPTIMIZER_HOTFIXES=OFF • LEGACY_CARDINALITY_ESTIMATION=ON 用途に最適化したレプリカのデータベース設定 DWH テスト OLTP • 同期セカンダリレプリカ • DHW 主体ワークロード • MAXDOP= 0 • QUERY_OPTIMIZER_HOTFIXES=OFF • LEGACY_CARDINALITY_ESTIMATION=ON • 非同期セカンダリレプリカ • OLTP の検証環境 • MAXDOP=1 • QUERY_OPTIMIZER_HOTFIXES=ON • LEGACY_CARDINALITY_ESTIMATION=OFF SQL Server 2012 SQL Server 2014
  32. 32. 基本的な可用性グループ • Standard Edition で設定可能 • Standard Edition でのみ設定可能 • データベースを 1 つのみ含むことができる • 読み取り可能なセカンダリレプリカは非サポート • バックアップも取得不可 • パッシブ側のライセンス不要 プライマリレプリカ 読み取り不可 セカンダリレプリカ Standard Edition 基本的な可用性グループ SQL Server 2012 SQL Server 2014
  33. 33. 自動フェールオーバーは 2 台で構成 • 同期セカンダリレプリカが同期済 みデータを保持していても 3 台で は設定不可 SQL Server 2012 SQL Server 2014
  34. 34. 自動フェールオーバーは 3 台で構成可能 • プライマリレプリカ 1 台 • 同期セカンダリレプリカ 2 台 SQL Server 2012 SQL Server 2014
  35. 35. AlwaysOn 可用性グループ 同期レプリカ チャレンジ • 更新処理スループットの低下 • 同期レプリカへのログ同期操作待機 • SQL Server 2016 以降で改善! • ライセンスコスト大 • 参照用レプリカ数にも依存 • Standard で制限付き環境構築 構成バリエーション • SQL Server on Windows • シングルドメインクラスター • ワークグループクラスター • SQL Server on Linux 最優先事項 • 数十秒以内での切り替え完了 • 参照可能なセカンダリ レプリカ • ワークロードの分離
  36. 36.  同一ドメインに全ノードが所属 AlwaysOn 可用性グループ 同期レプリカ Azure Virtual Machine に配置する場合の考慮点 Azure VMs Azure Load Balancer が必要 設定値の調整 1) フェールオーバークラスター ハートビート - WSFC の設定 - SameSubnetDelay * SameSubnetThreshold >= 30,000 ms 2) リースタイムアウト設定 - AlwaysOn 可用性グループの設定 - LeaseTimeout > 30,000 ms 3) 接続タイムアウト - 各アプリケーションの設定 - 30 秒以上
  37. 37. AlwaysOn フェールオーバー クラスター インスタンス チャレンジ • フェールオーバー完了には数分必要 • ワークロードの分離不可 • 参照用レプリカなし 構成バリエーション • SQL Server on Windows • シングルドメインクラスター • ワークグループクラスター • SQL Server on Linux 最優先事項 • 更新処理スループット低下なし • ライセンスコスト抑制 • Standard Edition でサポート • アクティブサイトライセンスのみ
  38. 38. AlwaysOn 可用性グループ 非同期レプリカ 最優先事項 • 様々な災害対策への柔軟な対応 • 災害からの復旧手順 • 縮退運用期間 • 参照可能なセカンダリ レプリカ • ワークロードの分離 • 最大 18 レプリカ (分散可用性グ ループ使用の場合) チャレンジ • ライセンスコスト大 • 参照用レプリカ数にも依存 • 自動フェールオーバー不可 • データ損失の可能性あり • フェールバック手順の複雑さ
  39. 39. AlwaysOn 可用性グループ 非同期レプリカ 構成バリエーション • プラットフォーム • Windows • シングルドメインクラスター • マルチドメインクラスター • ワークグループ クラスター • Linux • AlwaysOn 可用性グループ • 可用性グループ • 分散可用性グループ • クラスタレス可用性グループ • 配置先 • Azure Virtual Machine • On-Premise
  40. 40. 災害対策サイト AlwaysOn 可用性グループ 非同期レプリカ 災害発生時 • プライマリ側サイトが消失することに よりWSFCがダウン
  41. 41. 災害対策サイト AlwaysOn 可用性グループ 非同期レプリカ 災害発生時 • プライマリ側サイトが消失することに よりWSFCがダウン • 強制クォーラムで起動
  42. 42. 災害対策サイト AlwaysOn 可用性グループ 非同期レプリカ 災害発生時 • プライマリ側サイトが消失することに よりWSFCがダウン • 強制クォーラムで起動 • 旧プライマリ側再構築
  43. 43. 災害対策サイト AlwaysOn 可用性グループ 非同期レプリカ 災害発生時 • プライマリ側サイトが消失することに よりWSFCがダウン • 強制クォーラムで起動 • 旧プライマリ側再構築 • 旧プライマリ側可用性グループ参加
  44. 44. 災害対策サイト AlwaysOn 可用性グループ 非同期レプリカ 災害発生時 • プライマリ側サイトが消失することに よりWSFCがダウン • 強制クォーラムで起動 • 旧プライマリ側再構築 • 旧プライマリ側可用性グループ参加 • 旧プライマリ側へフェールオーバー
  45. 45. 災害対策サイト AlwaysOn 可用性グループ 非同期レプリカ 災害発生時 • プライマリ側サイトが消失することに よりWSFCがダウン • 強制クォーラムで起動 • 旧プライマリ側再構築 • 旧プライマリ側可用性グループ参加 • 旧プライマリ側へフェールオーバー • 各レプリカのロール変更 考慮点 • 災害対策サイト運用開始までの猶予時間 • 縮退運用中の可用性 • 縮退運用の許容期間
  46. 46. AlwaysOn 可用性グループ ログ配布 最優先事項 • 構成がシンプル • バックアップ/復元 • 復元ポイントの把握が容易 • クラスタ管理ソフトウェア 不要 • ライセンスコスト節約 • セカンダリサイトを参照しない場合 はライセンス不要 バックアップ 復元 構成バリエーション • SQL Server on Windows • SQL Server on Linux チャレンジ • フェールオーバー不可 • データ損失の可能性あり • クライアントからの接続先変更が必要
  47. 47. Session ID Title DAL001 SQL Server 2017 事始め ~ 進化を続ける SQL Server の最新情報を一挙紹介 DAL002 まだ遅くない!IoT、AI 時代を生き抜くための Azure ビッグ データ基盤の全貌 DAL003 今こそ本気で検討する Azure PaaS 環境のリレーショナル データベース DAL005 Azure Cosmos DB を使った高速分散アプリケーションの設計パターン DAL006 そのデータ、活かせていますか?今こそはじめる Business Intelligence DAL007 IoT 戦国時代を生き抜くためにマイクロソフトの IoT ソリューションを活用しよう DAL008 PowerBIに新たな価値を!Microsoft Azureに完全対応した半定型エンタープライズBIソリューション
  48. 48. ■  https://docs.microsoft.com/ja-jp/sql/database-engine/availability-groups/windows/failover-clustering-and-always-on-availability-groups-sql-server ■  https://docs.microsoft.com/ja-jp/sql/database-engine/availability-groups/windows/always-on-availability-groups-sql-server ■  https://channel9.msdn.com/Events/Data-Science/Microsoft-Data-Amp-2017/SQL-Server-2017-HA-and-DR-on-Linu ■  https://docs.microsoft.com/ja-jp/sql/linux/sql-server-linux-availability-group-overview

×