<目次>
(1) SQL ServerのAlwaysOn可用性グループ(Availability Groups)とは?
(1-1) SQL ServerのAlwaysOnとは?
(1-2) AG(可用性グループ)とFCI(フェイルオーバークラスターインスタンス)の違い
(1-3) AlwaysOn AG(可用性グループ)の関連機能
(1) SQL ServerのAlwaysOn可用性グループ(Availability Groups)とは?
(1-1) SQL ServerのAlwaysOnとは?
「AlwaysOn」はSQL Server 2012より導入された「高可用性」(High Availability)と「災害復旧」(Disaster Recovery)のための機能です。
名称 | 説明 |
【略称】 AlwaysOn FCI 【正式名称】 【日本語名称】 |
●概要 「高可用性(High Availability)」のための機能で、前のバージョンの「フェイルオーバー」機能に相当。 複数のノードから一つの「共有ディスク」にアクセスしており、ノード(サーバー)で障害が発生したら、他のノードに切り替えして処理を継続します。前のバージョンの機能では「フェイルオーバー」の機能に相当します。 ●検知・起動 |
【略称】 AlwaysOn AG 【正式名称】 【日本語名称】 |
●概要 「高可用性(High Availability)」及び「災害復旧(Disaster Recovery)」のための機能で、前のバージョンの「ミラーリング」機能に相当。 SQL Server2012からの機能で複数のSQL Serverグループ(可用性グループ)を「仮想的に1台に見せる」ことが出来ます。どれか1つのグループが正常に動作していれば、断絶なく業務継続が可能です。 「データレプリケーション機能」を持ち、共有ディスクを必要としないクラスター構成が可能です。前のバージョンの機能では「ミラーリング」に相当しています。 またデータは「同期」を選んだ場合は「同じデータセンター内」での「可用性向上」として利用でき、また「非同期」を選んだ場合は「遠隔地の災対環境用」として利用でき、HAとDRの両方の機能を提供します。 |
(1-2) AG(可用性グループ)とFCI(フェイルオーバークラスターインスタンス)の違い
●比較項目 | ●Always on FCI (Failover Cluster Instance) |
●AlwaysOn AG (可用性グループ) |
WSFCの要否 | 要 —— WSFC(Windows Server Failover Cluster)上で動作します。各ノードは同一のWSFC内に属している必要があります。 |
要 —— WSFC(Windows Server Failover Cluster)上で動作します。SQL Server 2016以降は異なるWSFCを跨いだ「可用性グループ」の設定が可能となりました。 |
保護レベル | インスタンス単位 (インスタンス単位でのフェールオーバー) —— データベースファイルを共有しているため、インスタンス単位での切替えになる |
データベース単位 (可用性グループ単位でのフェールオーバー) —— FCIと比較して細かい保護単位です。前身機能であるミラーリングの際はインスタンス内の全てのデータベース1つ1つに対して設定が必要でしたが、AGでは可用性グループでグルーピングが可能で、全データベースを1グループに入れる事も可能(ミラーリングと比較して設定も簡素化する) |
データベースファイル | 各ノードで共有 | 各ノードで独立して保持 |
セカンダリの状態 | スタンバイ=パッシブ | アクティブ または スタンバイ |
セカンダリの読み込み/書き込み | 不可 | 可能 |
メリット | ●メリット(「AlwaysOn AG」と比較して) ①復旧モデルの指定がない (AlwaysOn AGは「完全モード」が必須) ②ストレージ容量の消費が少ない ③トラブルシューディングがしやすい |
●メリット(「AlwaysOn FCI」と比較して) ①データベースレベルの保護が可能 (より細かい単位での保護が可能) ②ディスク障害にも対応している ③災害対策として利用できる ●デメリット |
データベースの復旧モード | 問わない | 完全モード |
Standard版の制限 | ・2ノードまでの制限あり | ・SQLServer 2016以降は「基本可用性グループ(Basic Availability Group)」という名前で、可用性グループの制約付き版が利用可能となった
(制約例) ※詳細な制約事項については以下の公式サイトをご参照下さい |
備考 | ・システムデータベースについて 「システムデータベース」は自動で同期されないため注意が必要 |
(1-3) AlwaysOn AG(可用性グループ)の関連機能
また、AlwaysOn AG(可用性グループ)に関しては、SQL Server 2016より関連機能として「AlwaysOn BAG(基本可用性グループ)」と「AlwaysOn DAG(分散可用性グループ)」が利用できるようになりました。
特に「AlwaysOn BAG(基本可用性グループ)」はStandard版にて利用可能で、Enterprise版の「AlwaysOn AG(可用性グループ)」を制限付きで利用できるような機能になっています。
名称 | 説明 |
【略称】 AlwaysOn BAG 【正式名称】 【日本語名称】 |
SQLServer 2016 Standard Editionより導入された機能で、Enterprise版の「AlwaysOn AG」を制限付きで利用できる機能で、前のバージョンの「ミラーリング」機能に相当。
(制約例) 詳細はこちらの公式ドキュメントを参照 |
AlwaysOn Distributed Availability Group (DAG)
【略称】 【正式名称】 【日本語名称】 |
SQLServer 2016より導入された機能で、2つの独立した可用性グループを跨がる特殊なAG(可用性グループ)を設定する事が出来ます(いうなれば、可用性グループを束ねる可用性グループ)。
それぞれの可用性グループはこの機能により疎結合されており、それぞれ別のWSFC配下に存在できるため、本番環境と災対環境とを別のWSFC・可用性グループに入れて、それらを「分散可用性グループ」として結合させる事で、本番と遠隔地にある災対をネットワーク的には切り離す事が出来るため、災対が本番環境のパフォーマンスに影響を与えるリスクが減る等のメリットがあります。 |