geopg switchover などの Sun Cluster Geographic Edition の基本操作により、EMC Symmetrix Remote Data Facility データ複製レベルで symrdf swap 操作が実行されます。EMC Symmetrix Remote Data Facility の用語では、スイッチオーバーは「スワップ」とも呼ばれます。symrdf swap 操作は、動的 RDF よりも静的 RDF にかなりの長時間が必要です。このため、静的 RDF を使用するときは、保護グループのタイムアウトプロパティーの値を増やす必要がある場合があります。
symrdf swap コマンドが値 0 を返した場合、スイッチオーバーは成功です。場合によっては、symrdf swap コマンドはスワップを実行できない場合があります。このような場合は、0 以外の値が返されます (スイッチオーバー障害を示す)。
スワップ以外の結果は、二次ボリュームが主ボリュームと完全には同期していない可能性があることを示します。スイッチオーバー障害のケースの場合、Sun Cluster Geographic Edition ソフトウェアは新しい主クラスタになる予定のクラスタではアプリケーションを起動しません。
この節の残りの部分では、スイッチオーバー障害につながる初期条件を示して、スイッチオーバー障害から回復する方法について説明します。
この節では、スイッチオーバー障害が発生するケースを示します。このケースでは、cluster-paris が元の主クラスタであり、cluster-newyork が元の二次クラスタです。
次のようにスイッチオーバーを実行すると、cluster-paris から cluster-newyork にサービスが切り替わります。
phys-newyork-1# geopg switchover -f -m cluster-newyork srdfpg |
geopg switchover コマンドの処理中に、 symrdf swap コマンドが実行され、EMC Symmetrix Remote Data Facility デバイスグループ (devgroup1) のエラーを返します。結果として、geopg switchover コマンドは次のような障害メッセージを返します。
Processing operation.... this may take a while .... "Switchover" failed for the following reason: Switchover failed for SRDF DG devgroup1 |
この障害メッセージが発行されたあと、2 つのクラスタは次のような状態になります。
cluster-paris: srdfpg role: Secondary cluster-newyork: srdfpg role: Secondary phys-newyork-1# symdg list D E V I C E G R O U P S Number of Name Type Valid Symmetrix ID Devs GKs BCVs VDEVs devgroup1 RDF1 Yes 000187401215 2 0 0 0 devgroup2 RDF2 Yes 000187401215 6 0 0 0 |
この節では、前の節で説明した障害シナリオから回復するための手順について説明します。これらの手順は、該当するクラスタでアプリケーションをオンラインにします。
EMC Symmetrix Remote Data Facility デバイスグループ (devgroup1) を Split 状態にします。
symrdf split コマンドを使用して、cluster-paris と cluster-newyork の両方のクラスタの保護グループにあるデバイスグループを Split 状態にします。
phys-newyork-1# symrdf -g devgroup1 split |
保護グループのクラスタの 1 つを Primary にします。
元の主クラスタでアプリケーションを起動する予定がある場合は、保護グループの元の主クラスタ cluster-paris を Primary にします。アプリケーションは、元の主クラスタで現在のデータを使用します。
元の二次クラスタでアプリケーションを起動する予定がある場合は、保護グループの元の二次クラスタ cluster-newyork を Primary にします。アプリケーションは、元の二次クラスタで現在のデータを使用します。
symrdf swap コマンドはスワップを実行していないため、cluster-newyork のデータボリュームは cluster-paris のデータボリュームと同期していない可能性があります。元の主クラスタにあるのと同じデータを使用してアプリケーションを起動する予定の場合は、元の二次クラスタを Primary にしないでください。
元の主クラスタで保護グループを無効にします。
phys-paris-1# geopg stop -e Local srdfpg |
保護グループの構成を再同期させます。
このコマンドは、cluster-paris の保護グループ構成を、cluster-newyork の保護グループ構成情報と一致するように更新します。
phys-paris-1# geopg update srdfpg |
geopg update コマンドが正常に実行されたあと、各クラスタで保護グループ srdfp の役割は次のようになります。
cluster-paris: srdfpg role: Primary cluster-newyork: srdfpg role: secondary |
symrdf swap コマンドを実行して、デバイスグループ devgroup1 が RDF1 の役割を持つようにします。
phys-paris-1# symrdf -g devgroup1 failover phys-paris-1# symrdf -g devgroup1 swap |
symrdf list コマンドを使用してデバイスグループ情報を表示し、スワップが成功したことを確認します。
phys-paris-1# symdg list D E V I C E G R O U P S Number of Name Type Valid Symmetrix ID Devs GKs BCVs VDEVs devgroup1 RDF1 Yes 000187401215 6 0 0 0 devgroup2 RDF1 Yes 000187401215 2 0 0 0 |
パートナーシップの両方のクラスタで保護グループを有効にします。
phys-paris-1# geopg start -e Global srdfpg |
このコマンドは、cluster-paris でアプリケーションを起動します。cluster-paris から cluster-newyork へのデータ複製が開始されます。
保護グループの構成を再同期させます。
このコマンドは、cluster-newyork の保護グループ構成を、cluster-paris の保護グループ構成情報と一致するように更新します。
phys-newyork-1# geopg update srdfpg |
geopg update コマンドが正常に実行されたあと、各クラスタで保護グループ srdfpg の役割は次のようになります。
cluster-paris: srdfpg role: Secondary cluster-newyork: srdfpg role: Primary |
symrdf swap コマンドを実行して、デバイスグループ (devgroup2) が RDF2 の役割を持つようにします。
phys-paris-1# symrdf -g devgroup2 failover phys-paris-1# symrdf -g devgroup2 swap |
symrdf list コマンドを使用してデバイスグループ情報を表示し、スワップが成功したことを確認します。
phys-paris-1# symdg list D E V I C E G R O U P S Number of Name Type Valid Symmetrix ID Devs GKs BCVs VDEVs devgroup1 RDF2 Yes 000187401215 6 0 0 devgroup2 RDF2 Yes 000187401215 2 0 0 0 |
パートナーシップの両方のクラスタで保護グループを有効にします。
phys-newyork-1# geopg start -e Global srdfpg |
このコマンドは、cluster-newyork でアプリケーションを起動します。cluster-newyork から cluster-paris へのデータ複製が開始されます。
このコマンドは、cluster-paris 上のデータを上書きします。