次の方法で共有


データベース ミラーリングおよびフェールオーバー クラスタリング

フェールオーバー クラスタは、リソース グループと呼ばれる Microsoft Cluster Service (MSCS) クラスタ グループに含まれる、クラスタのノードに参加している物理ディスクのうち、1 つ以上を組み合わせたものです。リソース グループは、SQL Server のインスタンスをホストするフェールオーバー クラスタ インスタンスとして構成されます。SQL Server フェールオーバー クラスタ インスタンスはネットワーク上では 1 台のコンピュータのように認識されますが、あるノードが利用できなくなった場合に、別のノードへフェールオーバーする機能を備えています。詳細については、「SQL Server 2008 R2 フェールオーバー クラスタリングの概要」を参照してください。

フェールオーバー クラスタにより、Microsoft SQL Server インスタンス全体の高可用性が確保されます。一方、データベース ミラーリングは、1 つのデータベースの高可用性を確保します。データベース ミラーリングは、フェールオーバー クラスタ間のほか、フェールオーバー クラスタと非クラスタ化ホスト間でも機能します。

注意

データベース ミラーリングの概要については、「データベース ミラーリングの概要」を参照してください。

ミラーリングおよびクラスタリング

通常、ミラーリングとクラスタリングを併せて使用する場合は、プリンシパル サーバーもミラー サーバーもクラスタ上に配置し、プリンシパル サーバーとミラー サーバーをそれぞれ異なるクラスタのフェールオーバー クラスタ インスタンス上で実行します。ただし、パートナーの一方をクラスタ内のフェールオーバー クラスタ インスタンスに配置し、もう一方を別の非クラスタ化コンピュータに配置するというミラーリング セッションを確立することもできます。

クラスタのフェールオーバーによりプリンシパル サーバーが一時的に利用できなくなった場合、データベースへのクライアント接続は切断されます。クラスタのフェールオーバーが完了すると、クライアントは、動作モードに応じて同じクラスタ、別のクラスタ、または非クラスタ化コンピュータ上のプリンシパル サーバーに再接続できるようになります。

クラスタ化環境でデータベース ミラーリングをどのように構成するかを決める場合は、ミラーリングで使用する動作モードが大きな意味を持ちます。

自動フェールオーバーを伴う高い安全性モードのセッション

自動フェールオーバーを伴う高い安全性モードのデータベースをミラー化する場合は、パートナーに 2 クラスタ構成を使用することをお勧めします。この構成であれば、最高の可用性が得られます。ミラーリング監視サーバーは、別のクラスタに配置するか、非クラスタ化コンピュータに配置できます。

現在のプリンシパル サーバーを実行しているノードで障害が発生した場合は、クラスタの別のノードへのフェールオーバーが進められている間に、データベースの自動フェールオーバーが数秒のうちに開始されます。データベース ミラーリング セッションは、もう一方のクラスタにあるミラー サーバー、または非クラスタ化コンピュータにフェールオーバーされ、これまでミラー サーバーであったサーバーがプリンシパル サーバーになります。新しいプリンシパル サーバーは、可能な限り短時間でそのサーバーにあるデータベースのコピーをロールフォワードし、プリンシパル データベースとしてこれをオンラインにします。クラスタのフェールオーバーが完了すると (通常、数分で完了します)、それまでプリンシパル サーバーであったフェールオーバー クラスタ インスタンスがミラー サーバーになります。詳細については、「同期データベース ミラーリング (高い安全性モード)」を参照してください。

次の図は、ミラーリング監視サーバー (自動フェールオーバーをサポート) を配置した高い安全性モードで運用されているミラーリング セッションにおけるクラスタ間の自動フェールオーバーを表しています。

クラスターでのフェールオーバー

ミラーリング セッションを構成する 3 つのサーバー インスタンスが、それぞれ異なるクラスタ Cluster_ACluster_B、および Cluster_C に配置されています。各クラスタでは、SQL Server の既定のインスタンスが SQL Server フェールオーバー クラスタ インスタンスとして実行されています。ミラーリング セッションが開始されると、Cluster_A のフェールオーバー クラスタ インスタンスはプリンシパル サーバー、Cluster_B のフェールオーバー クラスタ インスタンスはミラー サーバー、Cluster_C のフェールオーバー クラスタ インスタンスはミラーリング監視サーバーとして機能します。ここで、Cluster_A でのアクティブなノードで障害が発生し、プリンシパル サーバーが利用できなくなったとします。

クラスタがフェールオーバーを行う前に、ミラーリング監視サーバーを併用することにより、プリンシパル サーバーが使用できなくなったことがミラー サーバーによって検出されます。ミラー サーバーは、可能な限り短時間でこのサーバーにあるデータベースをロールフォワードし、プリンシパル データベースとしてこれをオンラインにします。Cluster_A のフェールオーバーが完了すると、これまでのプリンシパル サーバーは現在はミラー サーバーになり、このサーバーのデータベースが Cluster_B の現在のプリンシパル データベースと同期されます。

自動フェールオーバーを伴わない高い安全性モードのセッション

自動フェールオーバーを伴わない高い安全性モードのデータベースをミラー化する場合は、現在のプリンシパル サーバーを実行しているノードで障害が発生すると、クラスタ内の別のノードがプリンシパル サーバーとして機能するようになります。クラスタが利用できない間は、データベースも利用できないことに注意してください。詳細については、「同期データベース ミラーリング (高い安全性モード)」を参照してください。

高パフォーマンス モードのセッション

高パフォーマンス モードのデータベースをミラー化する場合は、プリンシパル サーバーをクラスタ上のフェールオーバー クラスタ インスタンスに、ミラー サーバーをリモートの非クラスタ化サーバーに配置することをお勧めします。クラスタが別のノードにフェールオーバーした場合、ミラーリング セッションではフェールオーバー クラスタ インスタンスが引き続きプリンシパル サーバーとして機能します。クラスタ全体に問題がある場合、ミラー サーバーにサービスを強制できます。詳細については、「非同期データベース ミラーリング (高パフォーマンス モード)」を参照してください。

新しい SQL Server 2005 フェールオーバー クラスタをセットアップするには

データベース ミラーリングをセットアップするには