Veritas InfoScale™ 8.0.2 ディザスタリカバリ実装ガイド - Linux
- 第 I 部 ディザスタリカバリのための Storage Foundation and High Availability Solutions の概要
- 第 II 部 キャンパスクラスタの実装
- 第 III 部 RDC (Replicated Data Cluster) の実装
- 第 IV 部 グローバルクラスタの実装
- VCS と SFHA 用のグローバルクラスタの設定
- グローバルクラスタの Storage Foundation Cluster File System High Availability、Storage Foundation for Oracle RAC、または Storage Foundation for Sybase CE での設定
- グローバルクラスタの VVR と Storage Foundation Cluster File System High Availability、Storage Foundation for Oracle RAC、または Storage Foundation for Sybase CE での設定
- 第 V 部 参照先
グローバルパラレルクラスタのレプリケーションの使用例
グローバルクラスタでの VCS コマンドについて詳しくは、
『Cluster Server 管理者ガイド』を参照してください。
レプリケーションに VVR を使うように 2 つのクラスタを設定している場合、次のレプリケーションの使用例がサポートされます。
表: グローバルパラレルクラスタのレプリケーションの使用例
管理オプション | 説明 |
---|---|
リモートサイトへのプライマリサイトの役割の移行 | 移行とは、あるクラスタからリモートクラスタに、プライマリレプリケーションホストの役割を計画的に転送することです。 この転送によって、リモートクラスタのアプリケーションは、レプリケートデータをアクティブに使うことができます。 前のプライマリクラスタは、保守または他のアクティビティを行えるようになります。 |
セカンダリサイトによるプライマリサイトの役割のテイクオーバー | テイクオーバーは計画されていないイベント(災害など)が障害を引き起こすときに発生し、それによって、レプリケートデータを使うアプリケーションが、リモートクラスタでオンラインになる必要があります。 |
セカンダリサイトへのプライマリサイトの役割の移行 | 「リモートサイトへプライマリサイトの役割を移行するには」を参照してください。 |
新しいプライマリサイトの役割の元のプライマリサイトへの移行 | 「新しいプライマリサイトの役割を元のプライマリサイトに移行するには」を参照してください。 |
停電の後のテイクオーバー | 「停電の後でテイクオーバーするには」を参照してください。 |
停電の後の再同期 | 「停電の後で再同期するには」を参照してください。 |
rlink の更新 | 「rlink を更新するには」を参照してください。 |
VCS 内のレプリケーションオブジェクトを設定した後、VCS のコマンドを使って、リモートクラスタにプライマリサイトのクラスタの役割を移行できます。 次の手順では、VCS はレプリケートデータベースのサービスグループ database_grp をプライマリサイトでオフラインにし、それをセカンダリサイトでオンラインにします。これにより、セカンダリサイトはプライマリサイトの役割を担うようになります。
メモ:
hagrp -switch コマンドでは、クラスタ内、またはグローバルクラスタ環境のクラスタ間でパラレルグループを移行できません。
リモートサイトへプライマリサイトの役割を移行するには
- プライマリサイトから、次のコマンドを使って、すべてのノードでデータベースサービスグループをオフラインにします。
# hagrp -offline database_grp -any
VCS がプライマリサイトのすべてのデータベースサービスグループをオフラインにするまで待ちます。
- プライマリとセカンダリ間の RLINK が最新であることを検証します。 vxrlink -g コマンドに status オプションを指定して実行し、プライマリクラスタに RLINK を指定します。 プライマリクラスタの任意のノードからこのコマンドを実行できます。
次に例を示します。
# vxrlink -g data_disk_group status rlk_clus2_dbdata_rvg
lk_clus1_dbdata_rvg が RLINK です。
- 新しくプライマリサイトになったセカンダリサイトで、すべてのノードのデータベースサービスグループをオンラインにします。
# hagrp -online database_grp -any
セカンダリサイトにプライマリサイトの役割を移行した後、VCS のコマンドを使って、元のプライマリサイトに新しいプライマリサイトのクラスタの役割を移行できます。 次の手順では、VCS はレプリケートデータベースサービスグループ database_grp を新しいプライマリサイト(以前のセカンダリ)でオフラインにし、それを元のプライマリサイトでオンラインにします。これにより、元のプライマリサイトがプライマリサイトの役割を担うようになります。
メモ:
hagrp -switch コマンドでは、クラスタ内、またはグローバルクラスタ環境のクラスタ間でパラレルグループを移行できません。
新しいプライマリサイトの役割を元のプライマリサイトに移行するには
- すべてのデータベースリソースがオンラインであることを確認し、グループ database_grp を元のプライマリサイトに切り替えます。
リモートサイト上で次のコマンドを実行します。
# hagrp -offline database_grp -any
- プライマリとセカンダリ間の RLINK が最新であることを検証します。 vxrlink -g コマンドに status オプションを指定して実行し、プライマリクラスタに RLINK を指定します。 現在のプライマリクラスタの任意のノードからこのコマンドを実行できます。
次に例を示します。
# vxrlink -g data_disk_group status rlk_clus1_dbdata_rvg
lk_clus1_dbdata_rvg が RLINK です。
- database_grp が新しいプライマリサイトでオフラインであることを確認します。 次に、database_grp をオンラインにするために元のプライマリサイトで次のコマンドを実行します。
# hagrp -online database_grp -any
テイクオーバーは、セカンダリサイトのリモートクラスタが、レプリケートデータを使うアプリケーションを起動するときに発生します。 この状況は、プライマリサイトが停止しているとセカンダリサイトが認識する場合や、プライマリサイトがアクセス不能(おそらく既知の理由で)になるときに発生する可能性があります。 プライマリの役割のテイクオーバーの概念について詳しくは、
『Veritas InfoScale™ レプリケーション管理者ガイド』を参照してください。
セカンダリサイトでプライマリの役割をテイクオーバーできるようにする前に、セカンダリサイトの管理者はリモート(この場合、プライマリ)サイトでの障害のタイプを宣言し、haclus コマンドのオプションの 1 つを使って障害のタイプを指定する必要があります。
テイクオーバーオプションは次のとおりです。
表: グローバルパラレルクラスタのテイクオーバーオプション
テイクオーバーオプション | 説明 |
---|---|
災害(Disaster) | プライマリサイトのクラスタがアクセス不能で、停止しているように見えるとき、管理者は障害のタイプを「災害(Disaster)」と宣言します。 たとえば、火事はプライマリサイト、ボリューム内のすべてのデータを含むデータセンターを破壊することがあります。 この宣言後、管理者はセカンダリサイトにあるサービスグループをオンラインにし、「プライマリ」サイトとして運用できます。 |
停電(Outage) | セカンダリサイトの管理者は、一時的な停電など、既知の理由のためにプライマリサイトがアクセス不能になっている場合、「停電(Outage)」として障害を宣言できます。 通常、管理者はプライマリサイトが元の状態に戻ることを期待します。 停電の宣言が出された後、RVGSharedPri エージェントは DCM のログ記録を有効にし、セカンダリサイトがプライマリのレプリケーションロールを維持します。 元のプライマリサイトが稼動するようになって元の状態に戻った後、データが元のクラスタと再同期化されるときに、DCM のログ記録によって高速フェールバック再同期が可能になります。 現在のプライマリサイトから元のプライマリサイトに高速フェールバックオプションを使ってデータの再同期化を試みる前に、元のプライマリサイトで元のデータのスナップショットを作るよう、十分注意してください。 この処理では、再同期が完了する前に現在のプライマリサイトがエラーとなった場合に使用するように、元のプライマリサイトの有効なデータ複製を作成します。 |
切断(Disconnect) | クラスタが両方とも正しく機能し、クラスタ間のハートビートリンクが送られてこないとき、スプリットブレイン状態が発生しています。 この場合、管理者はこのエラーを「切断(Disconnect)」と宣言できます。これは、セカンダリサイトでプライマリサイトのロールをテイクオーバーする試行は起きないことを意味します。 この宣言は勧告にすぎず、サーバーの停止ではなくネットワークの切断によりエラーが起きたことを示すメッセージを VCS ログに記録します。 |
レプリカ(Replica) | 高速フェールバック方法を使って現在のプライマリサイトから元のプライマリサイトにデータを再同期中に、現在のプライマリサイトがアクセス不能になるまれなケースでは、元のプライマリサイトの管理者は、高速フェールバック操作の開始前に取ったデータスナップショット(ある場合)を使用してこの状況に対処できます。 この場合、障害タイプは「レプリカ(Replica)」と指定されます。 |
この例は停電のテイクオーバーと再同期に必要な手順を説明します。
停電の後でテイクオーバーするには
- セカンダリサイトの任意のノードから、haclus コマンドを実行します。
# haclus -declare outage -clus clus1
- リモートクラスタの状態を宣言した後、セカンダリサイトの database_grp サービスグループをオンラインにします。 次に例を示します。
# hagrp -online -force database_grp -any
停電の後で再同期するには
- 元のプライマリサイトで、再同期の間に現在のプライマリサイトでエラーが発生する場合に備えて、再同期化する前に RVG(Replicated Volume Group)のスナップショットを作成します。 ディスクグループを data_disk_group、RVG を dbdata1_rvg として、次のように入力します。
# vxrvg -g data_disk_group -F snapshot dbdata_rvg1
RVG スナップショットについて詳しくは、『Veritas InfoScale™ レプリケーション管理者ガイド』を参照してください。
- RVG を再同期します。 現在のプライマリサイトの任意のノードから、fbsync アクショントークンを使って、hares コマンドに -action オプションを指定して実行し、RVGSharedPri リソースを再同期化します。 次に例を示します。
# hares -action dbdata_vvr_shpri fbsync -sys sys3
# vxdctl -c mode
現在のプライマリサイトからの元のプライマリサイトへのデータの再同期が成功したかどうかに応じて、次のコマンドのいずれかを実行します。
データの再同期が成功した場合は、snapback オプションを指定して vxrvg コマンドを実行し、指定の RVG の元のボリュームに元のプライマリサイトのスナップショットボリュームを再接続します。
# vxrvg -g data_disk_group snapback dbdata_rvg1
データの再同期時にエラーが起きた(たとえば、再同期が進行中のときにプライマリ RVG に災害が起きた)場合、一貫性の失われたデータが生成される可能性があります。
手順 1 で取ったスナップショットから RVG データボリュームの内容を復元できます。
# vxrvg -g data_disk_group snaprestore dbdata_rvg1
rlink が最新ではない場合、RVG を同期するために resync アクショントークンを指定して hares -action コマンドを実行します。
rlink を更新するには
- 次のコマンド例は、RVGSharedPri のリソース dbdata_vvr_shpri を指定する、プライマリクラスタの任意のノード(この場合、sys1)で実行されます。
# hares -action dbdata_vvr_shpri resync -sys sys1