SQL Server AlwaysOnとは何ですか?
By: サイモン・リュー|更新日時 2017-02-20|コメント(10)|関連するもの More > Availability Groups
Problem
SQL Server AlwaysOnは様々なソースで言及されているポピュラーな用語ですが、SQL Server AlwaysOnの本当の意味は何なのでしょうか?
ソリューション
SQL Server AlwaysOn はマーケティング用語で、SQL Server 2012 の発売時に導入された高可用性とディザスタリカバリのソリューションを指します。
具体的には、SQL Server AlwaysOn は次の 2 つのテクノロジで構成されています。
- AlwaysOn Failover Clustering Instances (AlwaysOn FCI)
- AlwaysOn Availability Groups (AlwaysOn AG)
両方のテクノロジには、実装の基盤として Windows Server FailoverClustering (WSFC) を必要とするなどの共通点がありますが、それぞれは AlwaysOn 傘下の別個のテクノロジです。
AlwaysOn Failover Clustering Instances (FCI)
AlwaysOn FCIには、クラスタ内のすべてのノードからアクセス可能なiSCSIまたはファイバチャネルSANなどの共有ストレージが必要です。 また、共有ストレージがない場合や、仮想マシンやクラウド上で行う場合には、ストレージ要件を支援するサードパーティのデータレプリケーションツールを使用するオプションもあります。
サブネットをまたいだマルチサイト クラスタリングをサポートしており、データセンター間でのSQL Serverインスタンスのフェイルオーバーを可能にしていますが、これには各データセンターの共有ストレージ間でのデータのレプリケーションが必要です。
AlwaysOn FCI は SQL Server Standard と Enterprise Edition の両方で利用できますが、SQL Server Standard では 2 ノードの制限などの制約があります。
シングル サイトの 2 ノード AlwaysOn FCI の実装 (クォーラム モード Node と DiskMajority を使用) を以下に示します。
クォーラム モードは、どのノードが利用可能で、どのノードをプライマリ ノードにすべきかを判断するのに役立ちます。 他のマシンやオブジェクトが関与することで、マシン間の通信が失われているかどうか、つまりフェイルオーバーが発生すべきかどうかを判断することができます。
- Node Majority
- Node and Fileshare Majority
- Node and (symmetrical) Disk Majority
対称的なストレージとは、すべてのWSFCノード間で共有されるクラスタディスクのことです。
AlwaysOn Availability Groups
AlwaysOn AGは、SQL Serverをホストするサーバーに共有ディスク・ストレージを必要としません。 このSQL Serverの高可用性技術は、これまでEnterpriseの機能でした。
SQL Serverをインストールする際に、「New SQL stand-aloneinstallation…」オプションを選択します。
HAとDRのためのAlwaysOn AGの実装(クォーラムモードNode Majorityを使用)を以下に示します。
以下に、AlwaysOn AG 構成で使用されるクォーラムモードの一般的な例をいくつか示します。
- Node Majority
- Node and Fileshare Majority
- Node and (Asymmetric) Disk Majority
非対称ストレージとは、クラスタのディスクを一部のノード間でのみ共有することを意味します。
SQL Server 2016の新機能
AlwaysOn FCIとAlwaysOn AGの違いを理解したところで、SQL Server 2016では、AlwaysOn AGに2つの種類が追加されました。
- AlwaysOn Basic Availability Groups (AlwaysOn BAG)
- AlwaysOn Distributed Availability Group (AlwaysOn DAG)
AlwaysOn Basic Availability Group (AlwaysOn BAG)
AlwaysOnの機能は、SQL Server 2016 Standard Editionにも含まれるようになりましたが、AlwaysOn BAGと呼ばれています。 AGと同様に作成、管理されますが、SQL Server Enterprise Editionのより高度なAlwaysOn AGと比較して、AlwaysOn BAGは機能のサブセットしか使用できません。
AlwaysOn Distributed Availability Group (AlwaysOn DAG)
AlwaysOn DAGは、疎結合のAGのグループです。
この構成により、AGのセカンダリレプリカをプライマリとは異なる地域に存在させることができます。
AlwaysOn FCIとAlwaysOn AGの特徴
2つのテクノロジは、それぞれ目的が異なります。 また、AlwaysOn FCIとAlwaysOn AGを組み合わせることも可能です。 ビジネス要件として、データセンター内のローカルでの高可用性はAlwaysOn FCIを使用し、データセンター間のディザスタリカバリはAlwaysOn AGを使用する必要があるかもしれません。
どのソリューションを導入すべきか悩んでいる場合は、以下の表に、SQL Server AlwaysOnを評価する際の目安として、SQL Server AlwaysOn FCIとAlwaysOn AGソリューションの特性の類似点と相違点をまとめました。
AlwaysOn FCI for HA and DR | AlwaysOn AG for HA and DR |
---|---|
共有ストレージソリューション | 非共有ストレージソリューション | Non共有ストレージソリューション |
インスタンスレベルのHA ログイン。 インスタンスレベルのHA(1つまたは複数のデータベース) 手動でログイン名を追加します。 |
|
データの冗長性を排除したインスタンスレベルの保護 | 各グループのセカンダリAGデータベースは、プライマリの冗長なコピーです |
アクティブ・パッシブ・ノードを持っています。 | DRのレプリカは、バックアップ、読み取り専用のワークロードのためにアクティブなセカンダリにすることができます。 |
アプリケーションは仮想サーバー名で接続します | アプリケーションはAGリスナー名で接続します |
データの冗長コピーを維持しないので、I/Oサブシステムの故障から保護されません | I/Oサブシステムの故障から保護されます。 |
データベースの回復モデルに関して特別な要件はありません | AGのデータベースはFULL回復モデルでなければなりません |
その他の注意点は以下の通りです。
- すべての AlwaysOn の展開は、WSFC の展開です
- FCI と AG は、複数のデータ センターにまたがることができますが、実装は異なります
- 物理的な SQLServer システムに実装することもできます。
まとめ
SQL Server AlwaysOn に言及しているときは、AlwaysOn FCI または AlwaysOn AG のいずれかを参照している可能性があるため、特定のものではありません。
簡単に言うと
- AlwaysOn = {SQL Server Failover Cluster Instances, Availability Groups}
- AlwaysOn != SQL Server Failover Cluster Instances != Availability Groups
- Availability Groups != Database Mirroring
- WSFC != SQL Server Failover Cluster Instances
次のステップ
- 高可用性ソリューション (SQL Server)
- WWSFC クォーラムモードと投票構成 (SQL Server)
- Windows Server Failover Clustering クォーラム構成モデルの説明
- SQL Server AlwaysOn Availability Groups -? パート1の構成
- Windows Server 2008クラスタにSQL Server 2008をインストールする パート1
- SQL Serverクラスタリングのヒント
- SQL Server Availability Groupsのヒント
最終更新日。 2017-02-20
著者について
- More SQL Server DBA Tips…
すべての私のヒントを見る