高可用Windowsシステムの研究
SQL Server 2005の高可用テクノロジ編

第2回 SQL Serverの可用性向上のためのシステム構成

5.複数の可用性向上テクノロジの組み合わせ

デジタルアドバンテージ
資料提供、技術協力:マイクロソフト
2007/03/12

データベース・ミラーリングとフェイルオーバー・クラスタの組み合わせ

 説明の都合上、これまでは各テクノロジを別々に説明してきたが、実際には、必要に応じて複数の高可用テクノロジを組み合わせることもできる。データベース・ミラーリングとフェイルオーバー・クラスタは、それぞれデータベース障害に対する可用性、サーバ障害に対する可用性を向上させる。2つのテクノロジを組み合わせれば、システム全体の可用性をさらに高めることが可能である。例えば、両者を組み合わせたシステムは次のようになる。以下に、データベース・ミラーリングとフェイルオーバー・クラスタの組み合わせ、データベース・ミラーリングとログ配布の組み合わせについて簡単に紹介しよう。

データベース・ミラーリングとフェイルオーバー・クラスタの組み合わせ
データベース・ミラーリングを構成するサーバ(プリンシパル、ミラー、ミラーリング監視サーバ)をフェイルオーバー・クラスタで構成した例。データベース障害だけでなく、ハードウェア障害に対する可用性も向上できる。

 図ではすべてのミラーリング・サーバ(仮想サーバ)をMSCSによるクラスタ構成にしているが、実際には必要なサーバだけを選択的にMSCS構成にすればよい。例えばプリンシパル・サーバのみをMSCSで仮想サーバ構成にし、ミラー・サーバとミラーリング監視サーバは単体サーバで構成するなどが可能である。

 データベース・ミラーリングの各モードと、フェイルオーバー・クラスタとの組み合わせをまとめると次のようになる。

同期モード 自動フェイルオーバー 典型的な構成例
同期データベース・ミラーリング あり 高可用性と必要コストを考慮し、プリンシパルおよびミラーのみをクラスタ構成し、ミラーリング監視サーバを単体サーバとして構成する。この場合、データベース・ミラーリングによるフェイルオーバーと、フェイルオーバー・クラスタリングによるフェイルオーバーの後先を考慮しておく必要がある。理論上はデータベース・ミラーリングによるフェイルオーバーのほうが先に起こる
なし プリンシパル・サーバのみをフェイルオーバー・クラスタとし、ミラー・サーバを単体サーバ、ミラーリング監視サーバを未使用とする構成。これによりプリンシパルのノード障害には対処できるようになるが、クラスタ・システムに障害が発生した場合、ミラー・データベースは利用不可になる。その際はミラー・サーバ上でデータベースをオンライン化するための処置をとる必要がある
非同期データベース・ミラーリング 自動フェイルオーバーを伴わない「同期データベース・ミラーリング」と同様の構成にする。ただしこちらもクラスタ・システムに障害が発生した場合は、ミラー・データベースが利用できなくなる
データベース・ミラーリングの各モードと構成のポイント

データベース・ミラーリングとログ配布の組み合わせ

 データベース・ミラーリングとログ配布機能を組み合わせれば、単一拠点内での可用性向上に加え、ディザスタ・リカバリによる可用性向上の両面を備えたシステムを実現できる。例えばデータベース・ミラーリングの同期モードを構成した場合、同一拠点にプリンシパル・サーバとミラー・サーバ、ミラーリング監視サーバのすべてが配置されることになるので、万一この拠点(以下、拠点A)が自然災害などで破壊されるとデータベースの復旧が不可能になる。

 そこでログ配布を組み合わせて、遠隔地の拠点(以下、拠点B)にデータベースのバックアップを作成し、一定時間間隔でトランザクション・ログをバックアップして、そのバックアップを拠点Bに転送、ログを適用してデータベースを復元する。こうすれば、仮に拠点Aが破壊された場合でも、拠点Bのデータベースを用いてデータベースを復旧できるようになる。

データベース・ミラーリングとログ配布の組み合わせ
データベース・ミラーリングとログ配布を組み合わせることで、データベース障害に対する可用性向上だけでなく、自然災害などに対するディザスタ・リカバリの機能を持たせることができる。

 この例では、プリンシパル・サーバとミラー・サーバをログ配布のプリイマリ・サーバとし、遠隔地に別のサーバーを用意して、ログ配布のセカンダリ・サーバとしている。データベース・ミラーリングを先に構成するか、ログ配布を先に構成するかは、どちらでもかまわない。

 障害時に復旧までにかかる時間は、トランザクション・ログをバックアップ→転送→復元する間隔と、拠点Aの状況、拠点Bに転送されたが、まだ復元されていないトランザクション・ログの量などによる。例えばトランザクション・ログをバックアップ、転送し、復元する間隔を15分にした場合、復旧時間とデータ損失は次のようになる。

  • 拠点Aで、トランザクション・ログの末尾(最後にトランザクション・ログをとった直後から現在までのトランザクション・ログ)を取得できる場合には、すでに拠点Bに転送されたが、復元されていないトランザクション・ログと、拠点Aで取ったトランザクション・ログの末尾を復旧する時間がかかる。この場合、データ損失はない。

  • 拠点Aで、トランザクション・ログの末尾を取得できない場合には、すでに拠点Bに転送されたが、復元されていないトランザクション・ログを復旧する時間がかかる。この場合、データ損失は最大15分となる。End of Article

Microsoft、Windows、Windows Vista、Windows Serverは、米国Microsoft Corporationの、米国、日本およびそのほかの国における登録商標または商標です。そのほか、記載されている会社名、製品名は各社の商標および登録商標です。
 

 INDEX
  [高可用Windowsシステムの研究−SQL Server 2005の高可用テクノロジ編]
  第2回 SQL Serverの可用性向上のためのシステム構成
      1.フェイルオーバー・クラスタの構成と働き
      2.ログ配布の構成と働き
      3.データベース・ミラーリングの構成とはたらき
      4.可用性向上テクノロジの比較
    5.複数の可用性向上テクノロジの組み合わせ
 
 [高可用Windowsシステムの研究]


Windows Server Insider フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Windows Server Insider 記事ランキング

本日 月間