以下のシナリオは、ミラーリング・システムでサーバが使用できなくなった場合に何が起こるかを理解するのに役立ちます。ここで使用するデータベース・ミラーリングは、同期モードで実行されるサーバ 1、サーバ 2、監視サーバで構成されています。
ミラーリング・システム内のデータベース・サーバのステータスは、MirrorState、PartnerState、ArbiterState の各データベース・プロパティを使用していつでも確認できます。データベース・プロパティを参照してください。
プライマリ・サーバ (サーバ 1) が使用できなくなります。クライアントはすべて切断されます。
監視サーバとサーバ 2 はサーバ 1 が使用できないことを検知します。
監視サーバとサーバ 2 はクォーラムを形成し、サーバ 2 がプライマリ・サーバになります。
サーバ 2 は、クライアント接続の受け付けを開始します。
このシナリオにおいて、非同期モードまたは非同期フルページ・モードを使用し、自動フェールオーバの実行を指定していない場合、クライアントが再び接続できるようにするには、データベースのコピーを作成し、稼働しているサーバを再起動する必要があります。
プライマリ・サーバが使用できなくなったときのリカバリの詳細については、プライマリ・サーバ障害からのリカバリを参照してください。
監視サーバとミラー・サーバ (サーバ 2) が、プライマリ・サーバ (サーバ 1) が使用できなくなったことを検知します。
監視サーバとサーバ 2 はクォーラムを形成し、サーバ 2 がプライマリ・サーバになります。
サーバ 2 は、クライアント接続の受け付けを開始します。
サーバ 1 が再びオンラインになり、サーバ 2 と監視サーバに再接続します。
サーバ 1 がクォーラムを要求しますが、サーバ 2 がすでにプライマリ・サーバになっています。
サーバ 1 はミラー・サーバになって、サーバ 2 からの変更を待機します。
サーバ 2 は変更をサーバ 1 に送信します。
サーバ 1 がサーバ 2 からすべてのトランザクションを受信する前にサーバ 2 が使用できなくなった場合、サーバ 1 は同期された状態にはなれません。サーバ 2 が再び使用可能になるのを待って、まだ取得していないトランザクションを取得して適用する必要があります。
プライマリ・サーバが使用できなくなったときのリカバリの詳細については、プライマリ・サーバ障害からのリカバリを参照してください。
ミラー・サーバ (サーバ 2) が使用できなくなります。
監視サーバとサーバ 1 はミラー・サーバ (サーバ 2) が使用できないことを検知します。
クライアント接続は影響を受けません。引き続きプライマリ・サーバに接続できます。ただし、サーバ 1 または監視サーバが使用できなくなった場合、クライアントは接続できなくなります。
ミラー・サーバ (サーバ 2) が使用できなくなります。
可用性は変わらないため、クライアント接続は影響を受けません。引き続きプライマリ・サーバに接続できます。ただし、サーバ 1 または監視サーバが使用できなくなった場合、クライアントは接続できなくなります。
サーバ 2 が再びオンラインになり、サーバ 1 と監視サーバに再接続します。
サーバ 2 がクォーラムを要求しますが、サーバ 1 がすでにプライマリ・サーバになっています。
サーバ 2 はミラー・サーバになって、サーバ 1 からの変更を待機します。
サーバ 1 は変更をサーバ 2 に送信します。
可用性は変わらないため、クライアント接続は影響を受けません。引き続きサーバ 1 に接続します。
サーバ 1 (プライマリ・サーバ) とサーバ 2 (ミラー・サーバ) が、監視サーバがダウンしたことを検知します。
どちらのサーバも引き続き使用できます。クライアントは切断されません。
監視サーバが再びオンラインになると、サーバ 1 とサーバ 2 はそれを検知して、監視サーバとの通信を開始します。クライアントにとっては、データベースの可用性に変化はありません。
監視サーバがない状態でサーバ 1 またはサーバ 2 が使用できなくなった場合、もう一方のサーバは単独ではクォーラムを満たすことができないので、データベースは使用できなくなります。
監視サーバが再びオンラインになり、サーバ 1 とサーバ 2 に再接続します。
可用性は変わらないため、クライアント接続は影響を受けません。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |