IBM Cloud Docs
グローバル・レプリケーション・サービス(GRS)

グローバル・レプリケーション・サービス(GRS)


IBM Power Virtual Serverの IBM データセンター

IBM Power Virtual Server プライベート・クラウドの クライアント・ロケーション


IBM® Power® Virtual Server はグローバル・レプリケーション・サービス(GRS)をサポートしている。 GRSはディザスタリカバリ(DR)ソリューション構築の基盤として利用できるSAN(Storage Area Network)ベースのボリュームレプリケーションサービスを提供します。 GRS は IBM FlashSystem Global Mirror Change Volume (GMCV) と呼ばれる非同期レプリケーション技術に基づいている。

GRS対応ロケーションからレプリケーション対応ボリュームを作成できます。 レプリケーションが有効なボリュームがプライマリ・ボリュームとみなされる。 セカンダリ上のレプリケートされたボリュームは補助ボリュームと呼ばれる。

GRS on Power Virtual Server には以下のような利点がある:

  • セカンダリ・ロケーションに一貫性のある復元可能なデータ・コピーを維持する。 データのコピーは、プライマリ・ロケーションのアプリケーションへの影響を最小限に抑えて作成されます。

  • プライマリとセカンダリの間でデータを同期する。 プライマリおよびセカンダリ・ロケーションのフェイルオーバーおよびフェイルバック・モードにより、計画的または計画外の停電後にプライマリ・ロケーションに切り替わるまでの時間が短縮される。

  • 災害からの迅速な復旧のため、離れた場所に冗長データセンターを維持。

  • レプリケーションに高価な専用ネットワークを排除し、帯域幅のアップグレードを回避。

IBM Power Virtual Server でGRSを有効にすると、ストレージ・レプリケーションが有効になっている2つの IBM Cloud 地域データセンター間でデータの非同期レプリケーションが可能になる。 データセンターのペアは固定され、双方向で1対1の関係モードでマッピングされる。

用語と定義

グローバル・レプリケーション・サービスに関する用語と定義
用語 定義
主要な場所 ボリュームが作成される場所。
セカンダリー・ロケーション レプリケーション用の補助ボリュームが作成される場所。
1 次ボリューム プライマリ・ロケーションのレプリケーション・ボリュームの初期インスタンス。
このボリュームはユーザーが見ることができ、 IBM Power Virtual Server。
補助ボリューム セカンダリ・ロケーションの複製ボリュームのインスタンス。 補助ボリュームがオンボードになると、 IBM Power Virtual Server。
IBM Cloud リソース名(CRN) IBM Cloud 内のリソースを一意に識別するために割り当てられる識別子。

[クライアント・ロケーション]の GRS{: tag-red}

IBM Power Virtual Server プライベート・クラウドで GRSを有効にすると、プライマリ・ロケーション・インフラストラクチャとセカンダリ・ロケーション・インフラストラクチャの間でデータの非同期レプリケーションが可能になる。 この2つのインフラ拠点には、 IBM データセンター の IBM Power Virtual Server が提供する同一の機能セットがある。

プライマリ・ロケーションとセカンダリ・ロケーション間のレプリケーション用ネットワーク構成を提供する:

  • ネットワーク帯域幅は10Gbps以上でなければならない。
  • ネットワークの待ち時間は200ms以下でなければならない。

最初の同期では、プライマリ・ボリュームのデータ全体が補助ボリュームにコピーされる。 その後の同期では、2つの同期操作の間の変更のみがコピーされる。 効果的な復旧ポイント目標(RPO)は、基礎となるネットワーク・スループットの能力とアプリケーションの特性に依存する。 ネットワークのスループットが定義されたRPOに到達するには不十分である場合、同期間の時間は長くなる。

定義されたRPOが8時間以上超過した場合、 IBM オペレーション・チームが警告を発します。

IBM データセンター 環境の IBM Power Virtual Server と クライアント・ロケーション 環境の IBM Power Virtual Server プライベート・クラウド の VM 間では、レプリケーションはサポートされません。

GRSの価格

部品番号は、プライマリボリュームに関連するストレージ階層に基づいてGRSのコストを計算するために使用される。 詳しくは、 グローバル・レプリケーション・サービス(GRS)の価格を ご覧ください。

Power Virtual Server GRSをサポートする地域

次の表は、レプリケーションをサポートするロケーション・ペアを示している:

レプリケーションが有効なPower Virtual Serverリージョンペア
ロケーション 1 ロケーション 2
mad02 eu-de-1 (fra04)
mad04 eu-de-2 (fra05)
us-east (wdc04) us-south (dal13)
wdc06 dal12
wdc06 dal14
wdc07 dal10
osa21 tok04
syd04 syd05
sao01 sao04
mon01 tor01
lon04 lon06

レプリケーション可能なロケーション名のリストを取得するには、以下のAPIまたはCLIコマンドを使用する:

レプリケーションに使用するプライマリおよびセカンダリのロケーションがレプリケーション・サービスで有効になっており、レプリケーション有効ペアのリストにあるかどうかを確認します。

次の例では、 wdc07dal10 のデータセンターがレプリケーション可能なペアになっている:


{
  "location": "dal10",
  "replicationSites": [
    {
      "ReplicationPoolMap": [
        {
          "remotePool": "General-Flash-92",
          "volumePool": "General-Flash-83"
        }
      ],
      "isActive": true,
      "location": "wdc07"
    }
  ]
}

Power Virtual Server GRSをサポートするストレージプール

レプリケーションをサポートするストレージプールからのみ、レプリケーション対応ボリュームを割り当てることができます。 レプリケーションをサポートするストレージプールを特定するには、以下のAPIまたはCLIコマンドを使用します:

ストレージプールがレプリケーションをサポートしている場合、 replication-enabled プロパティは true に設定されます。

レプリケーションが有効なボリュームを作成すると、デフォルトでは、レプリケーションをサポートするストレージプールの1つ内にボリュームが作成されます。 ボリュームを更新してレプリケーションを有効にする場合は、レプリケーションをサポートするストレージプール内に作成するようにしてください。 そうでなければ、更新操作は失敗する。

GRS用ボリュームグループの作成

ボリューム・グループは Power Virtual Server で管理されるリソースである。 ボリューム・グループを使用すると、ストレージ・レプリケーション一貫性グループを有効化、無効化、および管理できます。 ボリュームグループには、災害時に復旧しなければならないボリュームが含まれる。 レプリケーション対応ボリュームをボリュームグループに追加することができます。 レプリケーションが有効なボリュームは、一度に1つのボリューム・グループにのみ属することができます。 さらに、ボリュームグループ内のすべてのボリュームは、同じストレージプールの一部でなければならない。

プライマリ・ロケーションにボリューム・グループを作成すると、プライマリおよびセカンダリ・ロケーションの両方のストレージ・バックエンドにストレージ・レプリケーション一貫性グループが作成されます。 ストレージ・レプリケーション一貫性グループは、ボリューム・グループ内のボリュームの一貫性コピーを保存する。 一貫性グループに対して何らかの操作を実行するには、その一貫性グループを表すボリューム・グループに対して操作を実行する必要があります。 Power Virtual Server は、ストレージ・バックエンドの一貫性グループを直接管理しません。 ストレージバックエンドとは、ストレージプールとストレージコントローラを含むストレージサブシステムのことである。

セカンダリロケーションにボリュームをオンボードすると、ボリュームグループがまだ作成されていない場合、ボリュームが作成され、オンボードされた補助ボリュームがそこに追加されます。 このボリューム・グループは、セカンダリ・ロケーションの Power Virtual Server。 詳細については、 補助ボリュームのオンボーディングを 参照してください。

最初のデータ同期では、プライマリ・ボリュームのデータ全体が補助ボリュームにコピーされます。 その後のデータ同期では、2つの同期操作の間の変更のみがコピーされる。 効果的な復旧ポイント目標(RPO)は、ネットワークのスループットの能力とアプリケーションの特性によって決まる。 ネットワークのスループットが定義されたRPOを満たすのに不十分な場合、データ同期間の期間が長くなる。

ボリューム・グループを使用して、ストレージ・ボリューム内のレプリケーション対応一貫性グループを有効化、無効化、管理します。 一貫性グループを使用すると、各ボリュームを個別に管理する代わりに、複数のボリュームに対して操作を実行できます。 整合性グループには、グループ内のボリュームの copy 操作の状態を示す state プロパティがあります。

ストレージ・ボリュームのレプリケーション有効整合性グループのさまざまな状態を示した以下の表を参照。

ストレージ・レプリケーション一貫性グループのさまざまな状態とその説明。
状態 説明
inconsistent_stopped プライマリ・ボリュームは read および write I/O 操作でアクセス可能だが、補助ボリュームはアクセスできない。 この状態は、プライマリボリュームから補助ボリュームへのデータコピーが停止していることを示す。 プライマリ・ボリュームと整合させるため、補助ボリュームで copy
inconsistent_copying プライマリボリュームは、 read および write I/O ではアクセス可能だが、補助ボリュームにはアクセスできず、 copy 操作が開始される。 この状態は、 inconsistent_stopped 状態であった整合性グループに対して、 copy 操作が開始されたことを示す。
consistent_copying プライマリ・ボリュームは、 read および write I/O 操作でアクセス可能である。 補助ボリュームには、プライマリボリューム上のデータの一貫性のあるコピーが含まれる。 補助ボリュームのデータは古くなる可能性があるため、プライマリ・ボリュームのデータで更新する必要がある。 この状態はコピー中であることを示し、補助ボリュームはプライマリボリュームの現在のコピーで更新される。
consistent_stopped 補助ボリュームにはプライマリ・ボリュームの一貫したコピーが格納されているが、プライマリ・ボリューム上のデータが古くなる可能性がある。 この状態は、一貫性グループが consistent_copying の状態にあり、停止したことを示す。
idling プライマリボリュームと補助ボリュームはともにプライマリロールで動作し、 read および write I/O 操作にアクセス可能である。 この状態は、レプリケーションプロセスが無効になっているため、一方のボリュームセットのデータがレプリケーションペアのもう一方のボリュームセットにコピーされていないことを示します。
idling_disconnected この状態は、整合性グループ内のボリュームがプライマリの役割で動作しており、 read および write I/O 操作を受け入れることができることを示している。
consistent_disconnected この状態は、整合性グループ内のボリュームが非プライマリの役割で動作しており、 read または write I/O 操作を実行できないことを示しています。
empty この状態は、整合性グループ内のボリュームが互いに関係を持っていないことを示す。

あるロケーションのボリュームグループに対して何らかの操作を行うと、他のロケーションの関連ボリュームグループにも影響します。 たとえば、ボリューム・グループがプライマリ・ロケーションで停止しているとします。 しばらくすると、セカンダリ・ロケーションの関連ボリューム・グループが更新され、ボリューム・グループ内のペアのレプリケーション・ステータスが反映される。 この場合、 replicationStatus フィールドには、プライマリおよびセカンダリロケーションの両方でボリュームグループの状態が disabled と表示されます。

あるロケーションのボリュームグループに対して操作を実行する前に、プライマリロケーションとセカンダリロケーションの両方のボリュームグループのレプリケーションステータスを確認してください。

機能が類似しているレプリケーション有効ボリュームをグループ化することができます。 たとえば、特定のワークロードに関連するボリュームは、1つのボリュームグループにまとめることができます。 レプリケーション対応ボリュームを追加作成する場合、機能に基づいて、類似ボリュームのある既存のボリュームグループにボリュームを追加できます。 ボリュームの機能が既存のボリュームと同じでない場合は、新しいボリュームグループを作成することができます。

災害復旧の準備

ワークロードを実行しているデータボリュームを持つ仮想サーバーインスタンスがあるとする。 障害が発生し、データボリュームがレプリケートされている場合、セカンダリロケーションからデータボリュームをリカバリすることができます。 ボリューム・レプリケーション・サービスを有効にするには、以下の手順を実行します:

セカンダリ・サイトのアクションを実行する前に、プライマリ・サイトのアクションを完了する必要があります。

前提条件

ディザスタ リカバリ(DR)用にレプリケーション対応ボリュームを準備する前に、以下の前提条件を完了してください:

  • 同じ IBM Cloud アカウントIDを使用して、GRSをサポートするプライマリおよびセカンダリロケーションに、それぞれ2つのワークスペースを作成する
  • 2つのワークスペースが異なるCRNを持つようにする
  • ワークスペースにレプリケーション対応ボリュームが含まれていることを示す追加のプロパティを定義しない

1 次サイトでのアクション

プライマリ・サイトでボリューム・レプリケーションを有効にするには、以下の手順を実行します:

  1. レプリケーション用ボリュームの作成
  2. ボリュームのレプリケーション状況を確認する
  3. 既存のボリュームをレプリケーション対応ボリュームとして更新する
  4. ボリュームグループの作成
  5. ボリュームグループのステータスを確認する

レプリケーション用ボリュームの作成

Power Virtual Server インタフェースを使用して、レプリケーション対応ボリュームを持つ仮想サーバーインスタンスを作成します。

作成した仮想サーバーインスタンスのブートボリュームは、常に複製不可に設定されます。 仮想サーバーインスタンスが同じストレージプールに属している場合、レプリケーション対応ボリュームと非対応ボリュームを組み合わせて提供することができます。 ストレージプールに関連するすべてのアフィニティポリシーは、レプリケーション対応ボリュームに対して有効である。 詳細については、 アフィニティ・ポリシーの設定を 参照してください。

以下のAPIまたはCLIコマンドを使用して、レプリケーション対応ボリュームを作成することもできます:

以下のパラメータの値を設定する:

  • VOLUME_ID:プライマリ・ボリュームIDに値を設定
  • --size:単位をギガバイト(GB)にする
  • replicationEnabled:フラグを True

ボリュームのレプリケーション・プロパティの詳細については、 FAQを 参照してください。

ボリュームのレプリケーション状況の確認

レプリケーション対応ボリュームを作成したら、ボリュームの詳細を取得してボリュームのレプリケーション状況を確認します。 replicationEnabled プロパティは true に設定する必要があります。 ボリュームの作成が非同期式であるため、レプリケーション有効ステータスがすぐに有効にならない場合があります。 ボリュームの状態を監視し続ける。 ボリュームが available の状態で、レプリケーション有効ステータスがまだ true に設定されていない場合は、ボリュームを更新してレプリケーション有効ステータスを true に設定します。 詳細については、 レプリケーションを有効にするボリュームの更新を 参照してください。

ボリュームのレプリケーションステータスを取得するには、以下のAPIコマンドとCLIコマンドを使用します:

レプリケーション対応ボリュームのプロパティについては、以下の表を参照してください。

レプリケーション対応ボリュームのプロパティとその説明。
プロパティー 説明
consistencyGroupName ボリュームがボリューム・グループの一部である場合に、整合性グループの名前を示します。
masterVolumeName ストレージ内の master ボリューム名を示す。 ストレージコントローラはこの名前を自動生成します。
mirroringState レプリケーション有効ボリュームのミラーリング状態を示します。 この状態は、プライマリと補助ボリューム間のレプリケーションの現在の状態に関連している。 詳細については、 ボリュームグループのステータスを 参照してください。
outOfBandDeleted 削除時のレプリケーション有効ボリュームのステータスを示します。 プライマリ・ボリュームのレプリケーション・ステータスが disabled で、セカンダリ・ロケーションの補助ボリュームが24時間以内に削除されない場合、 outOfBandDeleted プロパティのステータスは true に設定されます。 この状態では、プライマリ・ボリュームに対していかなるアクションも実行できません。 プライマリボリュームがこの状態にあるときは、請求されない。
primaryRole プライマリボリュームと補助ボリュームのアクティブボリュームを示します。 このプロパティ値が master に設定されている場合、プライマリ・ボリュームはI/O操作を実行できるアクティブ・ボリュームになります。 このプロパティ値が aux に設定されている場合、補助ボリュームは、I/O 操作を実行できるアクティブボリュームになります。 非アクティブボリュームでは、I/O操作は実行できません。 レプリケーションが有効なボリューム・ペアでは、このプロパティの値は同じです。
replicationEnabled ボリュームのレプリケーションステータスを示します。 ボリュームがレプリケーション有効の場合は True
replicationStatus ボリュームのレプリケーション・ステータスの値を返します。 返された値が enabled の場合、ボリュームに対してレプリケーションがアクティブになります。 返された値が disabled の場合、そのボリュームのレプリケーションは非アクティブです。 返された値が not-capable の場合、そのボリュームはレプリケーションが有効になっておらず、別の場所にある別のボリュームに関連付けられていません。

ボリュームグループの作成

ボリュームグループ(整合性グループ)を作成し、レプリケーション対応ボリュームを追加する。 以下のAPIまたはCLIコマンドを使用してボリュームグループを作成できます:

VOLUME_ID パラメータの値をプライマリ・ボリュームIDに設定する。 プライマリ・ボリューム・グループの名前と、ボリューム・グループを作成するためのプライマリ・ボリュームIDを入力します。

レプリケーション対応ボリュームは、ボリュームグループの作成時にアタッチすることができます。 ボリュームをアタッチするには、プライマリ・ロケーションに作成されたレプリケーション対応ボリュームのボリュームIDを指定します。 レプリケーション対応ボリュームは、既存のボリュームグループにアタッチすることができます。 詳細については、 既存のボリュームグループへのレプリケーション対応ボリュームの追加を 参照してください。

ボリュームグループのステータスの確認

以下のAPIまたはCLIコマンドを使用して、ボリューム・グループが正常に作成され、 consistent_copying 状態になっていることを確認する:

VOLUME_GROUP_ID パラメータの値をプライマリ・ボリューム・グループIDに設定する。 プライマリ・ボリューム・グループIDを入力すると、詳細が表示されます。

プロパティとその定義については、以下の表を参照のこと。

ボリュームグループのプロパティとその説明。
プロパティー 説明
consistencyGroupName ストレージ・レベルで作成されるレプリケーション一貫性グループの名前を示します。 この名前は、セカンダリ・ロケーションのレプリケーション一貫性グループと同じです。 ストレージコントローラが作成する名前であり、ユーザが定義する名前ではない。
auxiliary ボリュームグループが補助ボリューム用かプライマリボリューム用かを示す。 ボリューム・グループがセカンダリ・ロケーション上の補助ボリューム用である場合、返される値は true です。 ボリューム・グループがプライマリ・ロケーションのプライマリ・ボリューム用である場合、返される値は false です。
name プライマリ・ロケーションでボリューム・グループを作成したときに指定したボリューム・グループ名を示します。 セカンダリー・ロケーションでは、nameプロパティは consistencyGroupName プロパティと同じです。
volumeIDs ボリュームグループの一部であるボリュームIDを一覧表示します。
statusDescription ボリュームグループにボリュームを追加する際に障害が発生した場合に、ステータスが割り当てられます。
status

次のボリュームグループの状態のいずれかを示します:

  • available- Ready to be managedn - error- encountered an error. updating update creating create この状態ではボリュームグループは管理できず、 delete の操作しか実行できません
replicationStatus ボリュームグループに対してレプリケーションステータスがアクティブであることを示します。 このプロパティ値が disabled に設定されている場合、ボリュームグループのレプリケーションはアクティブになりません。
state 整合性グループの状態を示す。

プライマリ・ボリュームのデータがセカンダリ・ロケーションの補助ボリュームにレプリケートされ、レプリケーション処理を続行する準備が整うと、ボリューム・グループのステータスは consistent_copying。 Power Virtual Server は、セカンダリ・ロケーションにオンボードされた後、補助ボリュームを管理する。

セカンダリ・ロケーションの補助ボリュームのオンボーディングを開始する前に、以下の情報が必要です:

  • プライマリボリュームが追加されるワークスペースのCRN
  • レプリケーションが有効なプライマリ・ボリュームに関連付けられた補助ボリューム名。 補助ボリューム名は、プライマリボリュームの詳細を照会することで取得できます。

CRNと補助ボリューム名を収集したら、セカンダリロケーションと補助ボリュームのあるワークスペースに切り替えることができます。

ワークスペースは、プライマリ・ロケーションのワークスペースと同じ IBM Cloud アカウント ID の一部でなければなりません。

セカンダリーロケーションでのアクション

セカンダリに補助ボリュームを搭載するために、以下の操作を実行する:

補助ボリュームのオンボード

リモートロケーションでレプリケートされたボリュームを管理し、ボリュームのリカバリーを実行するには、補助ボリュームを搭載します。 Power Virtual Server で補助ボリュームを管理するには、補助ボリュームをセカンダリロケーションにオンボードする。

補助ボリュームを搭載するには、ソースおよびターゲットの Power Virtual Server ワークスペースの editor ロールアクセスが必要です。 ソース・ワークスペースとターゲット・ワークスペースは、同じアカウント ID を使用して作成する必要があります。

プライマリロケーションから以下の情報を取得し、セカンダリロケーションの補助ボリュームのオンボーディングを要求する:

  • プライマリおよびセカンダリロケーションのワークスペースの両方でエディタロールアクセスを持つ
  • プライマリおよびセカンダリロケーションのワークスペースの両方で、同じ IBM Cloud アカウント ID を維持する
  • プライマリ・ボリュームが配置されている Power Virtual Server ワークスペース・インスタンスのクラウド・リソース名(CRN)を取得します(プライマリ・ロケーション)
  • 補助ボリューム名を auxVolumeName フィールドから補助ボリューム名を取得する

補助ボリュームをオンボードする場合、以下の条件が適用されます:

  • 補助ボリュームのボリュームグループがセカンダリ・ロケーションに存在する場合、補助ボリュームはそこに追加される。
  • セカンダリ・ロケーションに補助ボリュームのボリューム・グループが存在しない場合、オンボーディング操作によって自動的にボリューム・グループが作成されます。 ボリュームグループは、セカンダリ・ロケーション上の補助ボリュームに関連付けられている。

オンボードAUXボリュームがこのボリュームグループに追加されます。 セカンダリ・ロケーションに作成されたボリューム・グループは、プライマリ・ロケーションのボリューム・グループに関連付けられます。 プライマリ・ロケーションのボリューム・グループには、補助ボリュームに関連付けられたプライマリ・ボリュームが含まれる。 2つのプライマリボリュームと補助ボリューム間のレプリケーション状況を確認するには、両方のロケーションのボリュームグループの整合性グループ名を比較する。

ibmcloud pi workspace CLI コマンドを使用して、ワークスペースの値を補助ボリュームのあるサービス・ワークスペースに設定します。 例えば、ibmcloud pi ws target AUXILIARY_WS_CRN です。

セカンダリサイトに補助ボリュームを搭載するには、以下のAPIまたはCLIコマンドを使用します:

以下のパラメーターを指定します。

  • source CRN:プライマリボリュームがあるワークスペースのCRNパラメータを指定する
  • 補助ボリューム:補助ボリューム名を指定します

補助ボリュームのレプリケーション状況の確認

セカンダリロケーション上の補助ボリュームのオンボーディングが完了すると、オンボーディングタスクIDが返されます。 タスクIDを使用して、以下のAPIおよびCLIコマンドを使用してオンボーディング・オペレーションのステータスをチェックする:

プロパティとその定義については、以下の表を参照のこと。

補助ボリュームの特性とその説明。
プロパティー 説明
progress 補助ボリュームのオンボーディング操作の進捗状況をパーセンテージで示す
results オンボードボリューム名のリスト、または補助ボリュームのオンボード操作中に発生した障害の詳細が含まれます
status ボリュームのオンボーディング操作のステータスを示す。 操作が成功した場合、戻り値は Success である。 オンボーディング操作中にエラーが発生した場合、戻り値は Failure となる。

セカンダリロケーション上の補助ボリュームのオンボーディングプロセスが成功すると、オンボーディングされたボリュームとボリュームグループの両方が、セカンダリロケーション上の Power Virtual Server ワークスペースに存在します。 セカンダリー・ロケーションのリソースは、それぞれのIDを持っている。 IDは、プライマリ・ロケーション上の関連ボリュームのIDおよびCRNとは異なる。

補助ボリューム名を使用して、補助ボリュームのステータスを取得する。 オンボーディング操作が成功すると、補助ボリューム名が使用可能になります。 以下のAPIおよびCLIコマンドを使用して、補助ボリュームのステータスを確認する:

以下の表を参照して、ボリュームのレプリケーション・プロパティが期待通りであるかどうかを確認してください。

補助ボリュームのレプリケーションステータスを確認する。
プロパティー レプリケーション状況の確認
auxVolumeName ボリュームのオンボードに使用される auxVolumeName の値と一致する
auxiliary ボリュームが補助ボリュームのため、 true
consistencyGroupName プライマリ・ロケーション上のボリューム・グループの整合性グループ名と一致する
groupID ボリュームグループのIDを返します
masterVolumeName プライマリ・ロケーション上のプライマリ・ボリュームの masterVolumeName
mirroringState consistent_copying 状態に設定
primaryRole プライマリボリュームがアクティブボリュームとして動作しているため、 master に設定する
replicationEnabled 次に設定 true
replicationStatus 次に設定 enabled

補助ボリュームの groupID 値を使用して、ボリュームグループの詳細を照会する。 以下のAPIおよびCLIコマンドを使用して、補助ボリュームがレプリケーション用に有効になっているかどうかを確認します:

次の表を参照して、ボリュームグループのレプリケーション状態が期待通りであることを確認してください。

ボリュームグループのレプリケーション有効ステータスを検証する。
プロパティー レプリケーション状況の確認
auxiliary 次に設定 true
state AUXボリュームの mirroringState に合わせて、 consistent_copying の状態に設定する
volumeIDs ボリュームグループに属するボリュームIDのリスト。 搭載された補助ボリュームのIDが含まれているか確認する

フェイルオーバーとフォールバックの実行

プライマリ・ロケーションで災害が発生した場合、プライマリ・ロケーションに割り当てられているすべてのストレージ・ボリュームへのアクセスが失われる。 レプリケーションが有効なプライマリボリュームのレプリケーション関係が、セカンダリロケーションとの間で壊れています。 整合性グループ(ボリュームグループ)の状態が inconsistent-disconnected に変わります。 プライマリロケーションでは、ボリュームグループのプライマリロールにボリュームが関連付けられていません。

以下の手順を実行して、セカンダリ・ロケーションでフェイルオーバー処理を実行します:

  1. 補助ボリュームグループを停止し、セカンダリロケーションの補助ボリュームにアクセスします。 セカンダリー・ロケーションへのフェイルオーバー
  2. 補助ボリュームグループがアイドル状態であることを確認する。

フェイルオーバーの手順を完了すると、ボリュームはI/O要求を受け付ける準備が整います。 これらのボリュームがアタッチされている仮想サーバーインスタンスはパワーオンでき、実行を続行できる。

セカンダリー・ロケーションへのフェイルオーバー

プライマリ・ロケーションの障害により、セカンダリ・ロケーションから補助ボリュームにアクセスするには、ボリューム・グループを停止する。 ボリュームグループ内の補助ボリュームがセカンダリロケーション上の補助ボリュームにアクセスできるようにします。

以下のAPIおよびCLIコマンドを使用して、フェイルオーバー操作を実行できます:

CLIコマンドを使用して補助ボリュームを搭載する場合は、サービス・ワークスペースを補助ボリュームのあるワークスペースに設定する必要があります。 例えば、ibmcloud pi ws target AUXILIARY_WS_CRN です。

ボリュームグループに対して実行するアクションが、ボリュームグループの現在の状態を満たしていることを確認します。 そうでない場合は、ボリューム・グループが期待された状態にないことを示すエラー・メッセージが表示されます。

ボリュームグループに対してアクションを実行する際、以下の状態とボリュームグループ上のアクションが一致しない場合はエラーが返されます:

  • replicationStatusdisabled の状態のときにボリュームグループを停止する
  • replicationsStatusenabled または available の状態のときにボリュームグループを開始する
  • error の状態にないボリュームグループをリセットする

アイドリング状態のボリュームグループの検証

ボリューム・グループを停止すると、整合性グループのステータスは idling に変更され、レプリケーションは無効になり、補助ボリュームはI/O操作を許可します。

以下のAPIおよびCLIコマンドを使用して、ボリュームグループの詳細を取得し、ボリュームグループのステータスを確認します:

プライマリ・ロケーションへのフォールバック

プライマリ・ロケーションが復旧したら、プライマリ・ボリューム・グループをレプリケーション用に再有効化できます。 プライマリ・ボリュームのレプリケーション準備ができたら、プライマリ・ロケーションにフォールバックできます。 以下の手順を実行して、補助ボリュームとプライマリボリューム間でデータを同期します:

  1. セカンダリ拠点の仮想サーバーインスタンスをオフにする
  2. 補助ボリュームからプライマリボリュームへのI/O更新の同期
  3. プライマリ・ボリューム・グループを停止してレプリケーションを無効にする
  4. プライマリ・ボリューム・グループのレプリケーションを再有効化する。

レプリケーションが再有効化されたら、プライマリロケーションで仮想サーバーインスタンスとそのワークロードを開始できます。 プライマリ・サーバ・インスタンスがアクティブ・インスタンスである場合、セカンダリ・ロケーションの仮想サーバ・インスタンスをオフにすることができます。

補助ボリュームからプライマリボリュームへのI/O更新の同期

プライマリ・ボリュームにフォールバックするには、補助ボリュームに行われたI/O更新をプライマリ・ボリュームにレプリケートする必要があります。 プライマリボリュームグループを補助モードで起動し、補助ボリュームからプライマリボリュームにデータを同期する。

ibmcloud pi workspace CLI コマンドを使用して、サービス・ワークスペースを補助ボリュームのあるワークスペースに設定します。 例えば、ibmcloud pi ws target AUXILIARY_WS_CRN です。

プライマリ・ボリュームを補助モードで起動するには、以下のAPIまたはCLIコマンドを使用する:

  • APIボリュームグループに対してアクションを実行 します。 VOLUME_GROUP_ID パラメータに補助ボリュームグループIDを設定する。 APIを使用してボリューム・グループを起動し、次のコードで定義されているように、 aux ボリュームとして設定する:

    Request Body:
    {
      "start": {
        "source": "aux"
      }
    }

  • CLI: ibmcloud pi volume-group action. VOLUME_GROUP_ID パラメータを補助ボリュームグループIDに設定し、 --operation フラグを start に設定し、 --source フラグを aux に設定する。

ボリュームグループの primaryRole の値が aux に設定されているかどうかを確認する。 補助ボリュームからプライマリボリュームへのデータのレプリケーションが完了するまで、ボリュームグループの状態を監視する。 プライマリ・ボリューム・グループの状態が consistent_copying に変更されたことは、データがセカンダリ・ロケーションからプライマリ・ロケーションに同期されたことを示す。

プライマリ・ボリューム・グループを停止してレプリケーションを無効にする

補助ボリュームからプライマリ・ボリュームへのデータ・レプリケーションが完了したら、プライマリ・ボリュームにフォールバックする時です。 プライマリ・ボリュームを有効にするには、以下のAPIおよびCLIコマンドを使用してプライマリ・ボリューム・グループを停止し、レプリケーションを無効にします:

  • APIボリュームグループに対してアクションを実行 します。 VOLUME_GROUP_ID パラメータにプライマリ・ボリューム・グループIDを設定する。 APIはボリューム・グループを停止し、読み取りアクセスを許可しなければならない。 例えば、リクエストボディは以下のように定義されなければならない:

    Request Body:
    {
      "stop": {
        "access": true
      }
    }

  • CLI: ibmcloud pi volume-group action. VOLUME_GROUP_ID パラメータをプライマリ・ボリューム・グループIDに、 --operation フラグを stop に、 --allow-read-access フラグを True に設定する。

プライマリ・ボリューム・グループの replicationStatus パラメータが disabled 状態に変わるのを待つ。 この状態では、プライマリーロケーションとセカンダリーロケーションは互いにレプリケーションを行わない。 したがって、補助ボリューム上のI/O操作はプライマリ・ボリュームにレプリケートされません。

プライマリ・ボリューム・グループでレプリケーションを再有効化する

無効状態にあるプライマリ・ボリューム・グループを再起動するには、 start コマンドを使用します。 ボリュームグループを起動してレプリケーションを再有効化すると、プライマリボリュームグループのプライマリボリュームが再び master

  • APIボリュームグループに対してアクションを実行 します。 VOLUME_GROUP_ID パラメータにプライマリ・ボリューム・グループIDを設定する。 APIを使用してボリューム・グループを起動し、次のコードで定義されているように、 master ボリュームとして設定する:

    Request Body:
    {
      "start": {
        "source": "master"
      }
    }

  • CLI: ibmcloud pi volume-group action. VOLUME_GROUP_ID パラメータをプライマリ・ボリューム・グループIDに、 --operation フラグを start に、 --source フラグを master に設定する。

ボリュームグループがレプリケーション可能になり、 consistent_copying の状態になるのを待つ。 レプリケーションがアクティブな場合、プライマリ・ボリューム上のI/O操作は、セカンダリ・ロケーション上の補助ボリュームにレプリケートされる。

既存のボリュームをレプリケーション対応ボリュームとして更新する

レプリケーション・プロセスをサポートするストレージ・プール内に作成された既存のボリュームを、レプリケーション対応に変更することができます。 検証するには、ボリュームの詳細を照会し、そのボリュームを含むストレージ・プールの詳細を取得し、レプリケーションをサポートするストレージ・プールのリストで検証する。 レプリケーションをサポートするストレージプールの詳細については、 Power Virtual Server GRSをサポートするストレージプールを 参照してください。

ボリュームの詳細を照会するには、以下のAPIおよびCLIコマンドを使用します:


    Request Body:
    {
      "replicationEnabled": true
    }

  • CLI: ibmcloud pi volume-group action. VOLUME_ID パラメータにプライマリ・ボリュームIDを設定し、 --replication-enabled フラグが True に設定されているかどうかを問い合わせる。

既存のボリュームグループへのレプリケーション対応ボリュームの追加

以下のAPIおよびCLIコマンドを使用して、既存のボリュームグループにレプリケーション対応ボリュームを追加できます:

  • APIボリュームグループを更新 します。 VOLUME_GROUP_ID パラメータにプライマリ・ボリューム・グループIDを設定する。 APIを使用して、以下のコードで定義されているように、プライマリ・ボリュームIDをボリューム・グループに追加する:

    Request Body:
    {
      "addVolumes": [
        "PRIMARY_VOLUME_ID"
      ]
    }

  • CLI: ibmcloud pi volume-group updateVOLUME_GROUP_ID パラメータにプライマリ・ボリューム・グループIDを設定し、 --add-member-ids フラグにボリューム・グループに追加する必要があるプライマリ・ボリュームIDを設定する。

ボリュームのレプリケーションを無効にする

プライマリ・ボリュームのレプリケーションを無効にすると、セカンダリ・ロケーション上の関連する補助ボリュームが削除されます。

指定された順序でこの手順を完了しないと、ソース・ボリュームのデータが失われる可能性があります。 まず、プライマリ・ロケーションのアクションを完了させ、次にセカンダリ・ロケーションのアクションを完了させる必要があります。

プライマリ・ボリュームのレプリケーションを無効にするには、以下の手順を実行します:

  1. プライマリー・ロケーションでの行動

    1. ボリュームグループからプライマリボリュームを削除する
    2. プライマリ・ボリューム・グループが空の場合は削除する
    3. プライマリ・ボリュームのレプリケーションを無効にする
    4. プライマリ・ボリュームでレプリケーションが無効になっていないか確認する
  2. セカンダリーロケーションでのアクション

これらの手順は、補助ボリュームのオンボーディング操作が完了した場合にのみ実行できます。

  1. ボリュームグループから補助ボリュームを削除する
  2. 空の場合、補助ボリュームグループを削除する
  3. 補助ボリュームの削除

ボリュームグループからプライマリボリュームを削除する

ボリュームグループからプライマリボリュームを削除するには、以下のAPIコマンドとCLIコマンドを使用します:

  • APIボリュームグループを更新 します。 VOLUME_GROUP_ID パラメータをプライマリ・ボリューム・グループIDに、 VOLUME_ID パラメータをプライマリ・ボリュームIDに設定する。 以下のコードで定義されているように、APIを使用してボリューム・グループからプライマリ・ボリュームIDを削除する:

    Request Body:
    {
      "removeVolumes": [
        "PRIMARY_VOLUME_ID"
      ]
    }

  • CLI: ibmcloud pi volume-group updateVOLUME_GROUP_ID パラメータにプライマリ・ボリューム・グループIDを設定し、 --remove-member-volume-ids フラグにボリューム・グループから削除する必要があるプライマリ・ボリュームIDを設定する。

ibmcloud pi workspace CLI コマンドを使用して、サービス・ワークスペースをプライマリ・ボリュームが配置されているワークスペースに設定します。 例えば、ibmcloud pi ws target PRIMARY_WS_CRN です。

ボリュームグループから複数のレプリケーション有効ボリュームを削除できます。

空のプライマリ・ボリューム・グループを削除する

プライマリ・ボリューム・グループが空の場合は、以下のAPIコマンドとCLIコマンドを使用して削除します:

プライマリ・ボリュームのレプリケーションを無効にする

プライマリ・ボリュームがボリューム・グループから削除された場合、プライマリ・ボリュームのレプリケーションを無効にするには、次のAPIコマンドとCLIコマンドを使用します:

  • APIボリュームに対してアクションを実行するVOLUME_ID パラメータにプライマリ・ボリュームIDを設定する。 APIを使用して、以下のコードで定義されているプライマリ・ボリュームIDのレプリケーションを無効にする:

    Request Body:
    {
      "replicationEnabled": false
    }

  • CLI: ibmcloud pi volume action. VOLUME_ID パラメータに、無効にする必要があるプライマリ・ボリュームIDを設定し、 --replication-enabled フラグを False に設定する。

プライマリ・ボリュームでレプリケーションが無効になっているかどうかを確認する

以下のAPIコマンドとCLIコマンドを使用して、プライマリ・ボリュームでレプリケーションが無効になっているかどうかを確認します:

ボリュームグループから補助ボリュームを削除する

以下のAPIおよびCLIコマンドを使用して、ボリュームグループから補助ボリュームを削除します:

  • APIボリュームグループを更新 します。 VOLUME_GROUP_ID パラメータをボリュームグループIDに、VOLUME_ID パラメータを補助ボリュームIDに設定する。 以下のコードで定義されているように、APIを使用してボリューム・グループから補助ボリュームIDを削除する:

    Request Body:
    {
      "removeVolumes": [
        "AUXILIARY_VOLUME_ID"
      ]
    }

  • CLI: ibmcloud pi volume-group updateVOLUME_GROUP_ID パラメータに補助ボリュームグループIDを設定し、 --remove-member-volume-ids フラグにボリュームグループから削除する必要がある補助ボリュームIDを設定する。

空の補助ボリュームグループを削除する

補助ボリュームグループが空の場合は、以下のAPIコマンドとCLIコマンドを使用して削除します:

補助ボリュームの削除

補助ボリュームを削除するには、以下のAPIコマンドとCLIコマンドを使用します:

レプリケーション対応プライマリボリュームの変更

レプリケーションが有効なプライマリ・ボリュームの属性を変更できます。 プライマリおよび補助ボリュームのプロパティの一部を変更するには、プライマリおよびセカンダリロケーションで関連するアクションを実行する必要があります。

プライマリ・ボリュームのサイズを変更する

レプリケーション可能なサイズを変更するには、以下の手順を実行する:

  1. ボリュームグループからプライマリボリュームを削除する
  2. プライマリ・ボリュームのサイズを変更する
  3. プライマリボリュームをボリュームグループに戻す

今後24時間以内に、セカンダリ・ロケーション上の補助ボリュームのサイズが変更される。

たとえば、 dal10wdc07 のロケーションペアでは、プライマリロケーションのレプリケーション対応プライマリボリュームのサイズを変更すると、システムは次の24時間以内にセカンダリロケーションの補助ボリュームのサイズを変更します。

以下のAPIおよびCLIコマンドを使用して、レプリケーション対応プライマリ・ボリュームのサイズを変更します:

  Request Body:
  {
    "size": SIZE_IN_GB
  }

  • CLI: ibmcloud pi ボリューム更新VOLUME_ID パラメータの値をプライマリ・ボリュームIDに設定し、 --size 値をGB単位に設定する。

ボリュームのレプリケーションを無効にしてプライマリ・ボリュームのサイズを変更しないでください。

プライマリ・ボリュームのブート可能および共有可能プロパティの変更

プライマリ・ボリュームの bootable または shareable プロパティの値を変更するには、以下のAPIまたはCLIコマンドを使用します:

  • APIクラウドインスタンスボリュームを更新 します。 VOLUME_ID パラメータをプライマリ・ボリュームIDに設定し、 --bootable または --shareable フラグを True または False 値に設定する。

  • CLI: ibmcloud pi ボリューム更新VOLUME_ID パラメータの値をプライマリ・ボリュームIDに設定し、 --bootable または --shareable フラグの値を True または False 値に設定する。

ボリュームは共有可能かブート可能かのどちらかであるが、両方にはできない。

プライマリ・ロケーションのプライマリ・ボリュームの bootable または shareable プロパティ値を変更した後、セカンダリ・ロケーションの補助ボリュームの同じプロパティを更新する必要があります。

プライマリボリュームの階層を変更する

レプリケーション有効ボリュームの階層を変更することはできません。

レプリケーション対応プライマリボリュームの削除

ボリュームまたはレプリケーション対応のプライマリ・ボリュームを削除するには、ボリュームのステータスが次のいずれかの状態を示している必要があります: available error, error_restoring, error_extending, または error_managing。 また、ボリュームが migrating または attached の状態にある場合、ボリュームグループに属している場合、スナップショットがある場合、または転送後にスナップショットから切り離された場合は、ボリュームを削除できません。

プライマリボリュームを削除するには、プライマリおよびセカンダリロケーションの操作を完了する必要があります:

補助ボリュームがセカンダリサイトから削除されない場合、24時間ごとに発生する帯域外の定期チェックによって、補助ボリュームが ERROR 状態に設定されます。 ボリュームが ERROR の状態ではボリュームを使用することはできず、できる操作はボリュームの削除のみです。

ボリュームグループからプライマリボリュームを削除する

プライマリ・ボリュームをボリューム・グループから削除するには、以下のAPIコマンドまたはCLIコマンドを使用します:

ibmcloud pi workspace CLI コマンドを使用して、ターゲット・ワークスペースをプライマリ・ボリュームが配置されているワークスペースに設定します。 例えば、ibmcloud pi ws target PRIMARY_WS_CRN です。

  • APIボリュームグループを更新 します。 VOLUME_GROUP_ID パラメータをプライマリ・ボリューム・グループIDに、 VOLUME_ID パラメータをプライマリ・ボリュームIDに設定する。 以下のコードで定義されているように、APIを使用してボリューム・グループからプライマリ・ボリュームIDを削除する:

    Request Body:
    {
      "removeVolumes": [
        "PRIMARY_VOLUME_ID"
      ]
    }

  • CLI: ibmcloud pi volume-group updateVOLUME_GROUP_ID パラメータにプライマリ・ボリューム・グループIDを設定し、 --remove-member-volume-ids フラグにボリューム・グループから削除する必要があるプライマリ・ボリュームIDを設定する。

プライマリボリュームの削除

プライマリ・ボリュームを削除するには、以下のAPIコマンドとCLIコマンドを使用します:

レプリケーション対応の補助ボリュームの削除

補助ボリュームを削除すると、関連するプライマリ・ボリュームも削除されます。

プライマリ・ボリュームのレプリケーション・サービスを無効に するか、 プライマリ・ボリュームを削除 すると、ストレージ・バックエンドでプライマリ・ボリュームとセカンダリ・ボリューム間のレプリケーション関係が削除されます。 セカンダリロケーションの補助ボリュームがボリュームグループに関連付けられている場合は、 ボリュームグループから補助ボリュームを削除 します。 補助ボリュームを手動で削除します。 セカンダリサイトから補助ボリュームを削除しない場合、24時間ごとに発生する帯域外の定期チェックによって、補助ボリュームが ERROR 状態に設定されます。 補助ボリュームの outOfBandDeleted プロパティを確認して、補助ボリュームの状態を確認する。

GRSが他の Power Virtual Server 業務に与える影響

他のPower Virtual Server操作に対するGRSの影響は以下の通りである:

  • イメージ・インターフェースは変更されず、イメージのレプリケーションはサポートされない
  • 仮想サーバーインスタンスのストレージプールの操作インターフェイスおよびアフィニティポリシーに変更はありません。 レプリケーションおよび非レプリケーション対応ボリュームは、ボリュームの接続と切り離しをサポートします。
  • スナップショット操作とキャプチャー操作は、ボリュームが同じストレージ・プールからのものである場合に、複製ボリュームと非複製対応ボリュームを持つ仮想サーバー・インスタンスに対して許可されます。 スナップショット操作およびキャプチャー操作は、仮想サーバー・インスタンスのボリュームが複製に対応している場合でも、複製に対応していないボリュームを内部で使用することによって実行されます。
  • デフォルトでは、レプリケーション可能なボリュームをクローンすると、クローンされたボリュームはレプリケーション可能になります。 クローン作成中に、クローン作成ボリュームをレプリケーション可能にするかどうかを指定できます。 クローン ボリュームをレプリケーション可能にする場合は、クローン ボリュームのポリシーを指定します。 ボリュームのクローンを作成するには、以下の方法を使用できます:

GRSのベストプラクティス

  • 必要に応じて、オンボードボリュームに明示的に Shareable フラグと Bootable フラグを設定する。
  • プライマリボリュームとボリュームグループが一貫したコピー状態にある場合にのみ、補助ボリュームのオンボーディングを開始する。 get volume API を使用してボリュームの詳細を取得し、プライマリ サイトのミラーリング状態におけるプライマリ ボリュームとボリューム グループの状態を確認できます。 ボリューム グループ API のストレージ詳細取得を使用して、ボリューム グループが正常に作成され、一貫したコピー状態にあることを確認します。
  • ボリュームグループからプライマリボリュームまたは補助ボリュームを1つの場所から追加または削除する場合は、データを同期させるために、もう1つの場所から同じ操作を実行します。
  • プライマリとセカンダリの場所からボリュームを削除する。 補助ボリュームを削除し、プライマリボリュームを削除しなかった場合、ボリュームは課金されます。
  • すべてのボリューム操作にプライマリ・ロケーションを使用し、フェイルオーバー時のみセカンダリ・ロケーションで補助ボリュームに対する操作を実行する。