グローバル・レプリケーション・サービス(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をサポートする地域
次の表は、レプリケーションをサポートするロケーション・ペアを示している:
ロケーション 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コマンドを使用する:
-
API : 現在地の災害復旧サイトの詳細を取得する
-
CLI :
ibmcloud pi disaster-recovery
.--all-regions
フラグをtrue
とする。
レプリケーションに使用するプライマリおよびセカンダリのロケーションがレプリケーション・サービスで有効になっており、レプリケーション有効ペアのリストにあるかどうかを確認します。
次の例では、 wdc07
と dal10
のデータセンターがレプリケーション可能なペアになっている:
{
"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 次サイトでのアクション
プライマリ・サイトでボリューム・レプリケーションを有効にするには、以下の手順を実行します:
- レプリケーション用ボリュームの作成
- ボリュームのレプリケーション状況を確認する
- 既存のボリュームをレプリケーション対応ボリュームとして更新する
- ボリュームグループの作成
- ボリュームグループのステータスを確認する
レプリケーション用ボリュームの作成
Power Virtual Server インタフェースを使用して、レプリケーション対応ボリュームを持つ仮想サーバーインスタンスを作成します。
作成した仮想サーバーインスタンスのブートボリュームは、常に複製不可に設定されます。 仮想サーバーインスタンスが同じストレージプールに属している場合、レプリケーション対応ボリュームと非対応ボリュームを組み合わせて提供することができます。 ストレージプールに関連するすべてのアフィニティポリシーは、レプリケーション対応ボリュームに対して有効である。 詳細については、 アフィニティ・ポリシーの設定を 参照してください。
以下のAPIまたはCLIコマンドを使用して、レプリケーション対応ボリュームを作成することもできます:
- API : 新しいデータボリュームを作成する。
- CLI: ibmcloud pi volume create.
以下のパラメータの値を設定する:
VOLUME_ID
:プライマリ・ボリュームIDに値を設定--size
:単位をギガバイト(GB)にするreplicationEnabled
:フラグをTrue
ボリュームのレプリケーション・プロパティの詳細については、 FAQを 参照してください。
ボリュームのレプリケーション状況の確認
レプリケーション対応ボリュームを作成したら、ボリュームの詳細を取得してボリュームのレプリケーション状況を確認します。 replicationEnabled
プロパティは true
に設定する必要があります。 ボリュームの作成が非同期式であるため、レプリケーション有効ステータスがすぐに有効にならない場合があります。 ボリュームの状態を監視し続ける。 ボリュームが available
の状態で、レプリケーション有効ステータスがまだ
true
に設定されていない場合は、ボリュームを更新してレプリケーション有効ステータスを true
に設定します。 詳細については、 レプリケーションを有効にするボリュームの更新を 参照してください。
ボリュームのレプリケーションステータスを取得するには、以下のAPIコマンドとCLIコマンドを使用します:
- API : このクラウドインスタンスのすべてのボリュームを一覧表示 します。
VOLUME_ID
パラメータの値をプライマリ・ボリュームIDに設定する。 - CLI: ibmcloud pi volume get。
VOLUME_ID
パラメータの値をプライマリ・ボリュームIDに設定する。
レプリケーション対応ボリュームのプロパティについては、以下の表を参照してください。
プロパティー | 説明 |
---|---|
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コマンドを使用してボリュームグループを作成できます:
- API : 新規ボリュームグループの作成
- CLI: ibmcloud pi volume-group create
VOLUME_ID
パラメータの値をプライマリ・ボリュームIDに設定する。 プライマリ・ボリューム・グループの名前と、ボリューム・グループを作成するためのプライマリ・ボリュームIDを入力します。
レプリケーション対応ボリュームは、ボリュームグループの作成時にアタッチすることができます。 ボリュームをアタッチするには、プライマリ・ロケーションに作成されたレプリケーション対応ボリュームのボリュームIDを指定します。 レプリケーション対応ボリュームは、既存のボリュームグループにアタッチすることができます。 詳細については、 既存のボリュームグループへのレプリケーション対応ボリュームの追加を 参照してください。
ボリュームグループのステータスの確認
以下のAPIまたはCLIコマンドを使用して、ボリューム・グループが正常に作成され、 consistent_copying
状態になっていることを確認する:
- API : ボリュームグループのストレージ詳細を取得
- CLI: ibmcloud pi volume-group storage-details
VOLUME_GROUP_ID
パラメータの値をプライマリ・ボリューム・グループIDに設定する。 プライマリ・ボリューム・グループIDを入力すると、詳細が表示されます。
プロパティとその定義については、以下の表を参照のこと。
プロパティー | 説明 |
---|---|
consistencyGroupName |
ストレージ・レベルで作成されるレプリケーション一貫性グループの名前を示します。 この名前は、セカンダリ・ロケーションのレプリケーション一貫性グループと同じです。 ストレージコントローラが作成する名前であり、ユーザが定義する名前ではない。 |
auxiliary |
ボリュームグループが補助ボリューム用かプライマリボリューム用かを示す。 ボリューム・グループがセカンダリ・ロケーション上の補助ボリューム用である場合、返される値は true です。 ボリューム・グループがプライマリ・ロケーションのプライマリ・ボリューム用である場合、返される値は false です。 |
name |
プライマリ・ロケーションでボリューム・グループを作成したときに指定したボリューム・グループ名を示します。 セカンダリー・ロケーションでは、nameプロパティは consistencyGroupName プロパティと同じです。 |
volumeIDs |
ボリュームグループの一部であるボリュームIDを一覧表示します。 |
statusDescription |
ボリュームグループにボリュームを追加する際に障害が発生した場合に、ステータスが割り当てられます。 |
status |
次のボリュームグループの状態のいずれかを示します:
|
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コマンドを使用します:
- API : オンボード補助ボリューム
- CLI: ibmcloud pi volume onboarding create
以下のパラメーターを指定します。
- source CRN:プライマリボリュームがあるワークスペースのCRNパラメータを指定する
- 補助ボリューム:補助ボリューム名を指定します
補助ボリュームのレプリケーション状況の確認
セカンダリロケーション上の補助ボリュームのオンボーディングが完了すると、オンボーディングタスクIDが返されます。 タスクIDを使用して、以下のAPIおよびCLIコマンドを使用してオンボーディング・オペレーションのステータスをチェックする:
- API : このクラウドインスタンスのすべてのボリュームオンボーディングを一覧表示する。
- CLI: ibmcloud pi volume onboarding get
プロパティとその定義については、以下の表を参照のこと。
プロパティー | 説明 |
---|---|
progress |
補助ボリュームのオンボーディング操作の進捗状況をパーセンテージで示す |
results |
オンボードボリューム名のリスト、または補助ボリュームのオンボード操作中に発生した障害の詳細が含まれます |
status |
ボリュームのオンボーディング操作のステータスを示す。 操作が成功した場合、戻り値は Success である。 オンボーディング操作中にエラーが発生した場合、戻り値は Failure となる。 |
セカンダリロケーション上の補助ボリュームのオンボーディングプロセスが成功すると、オンボーディングされたボリュームとボリュームグループの両方が、セカンダリロケーション上の Power Virtual Server ワークスペースに存在します。 セカンダリー・ロケーションのリソースは、それぞれのIDを持っている。 IDは、プライマリ・ロケーション上の関連ボリュームのIDおよびCRNとは異なる。
補助ボリューム名を使用して、補助ボリュームのステータスを取得する。 オンボーディング操作が成功すると、補助ボリューム名が使用可能になります。 以下のAPIおよびCLIコマンドを使用して、補助ボリュームのステータスを確認する:
- API : クラウドインスタンスの現在の状態/情報を取得する
- CLI: ibmcloud pi volume get
以下の表を参照して、ボリュームのレプリケーション・プロパティが期待通りであるかどうかを確認してください。
プロパティー | レプリケーション状況の確認 |
---|---|
auxVolumeName |
ボリュームのオンボードに使用される auxVolumeName の値と一致する |
auxiliary |
ボリュームが補助ボリュームのため、 true |
consistencyGroupName |
プライマリ・ロケーション上のボリューム・グループの整合性グループ名と一致する |
groupID |
ボリュームグループのIDを返します |
masterVolumeName |
プライマリ・ロケーション上のプライマリ・ボリュームの masterVolumeName |
mirroringState |
consistent_copying 状態に設定 |
primaryRole |
プライマリボリュームがアクティブボリュームとして動作しているため、 master に設定する |
replicationEnabled |
次に設定 true |
replicationStatus |
次に設定 enabled |
補助ボリュームの groupID
値を使用して、ボリュームグループの詳細を照会する。 以下のAPIおよびCLIコマンドを使用して、補助ボリュームがレプリケーション用に有効になっているかどうかを確認します:
- CLI: ibmcloud pi volume-group get
- API : すべてのボリュームグループを取得
次の表を参照して、ボリュームグループのレプリケーション状態が期待通りであることを確認してください。
プロパティー | レプリケーション状況の確認 |
---|---|
auxiliary |
次に設定 true |
state |
AUXボリュームの mirroringState に合わせて、 consistent_copying の状態に設定する |
volumeIDs |
ボリュームグループに属するボリュームIDのリスト。 搭載された補助ボリュームのIDが含まれているか確認する |
フェイルオーバーとフォールバックの実行
プライマリ・ロケーションで災害が発生した場合、プライマリ・ロケーションに割り当てられているすべてのストレージ・ボリュームへのアクセスが失われる。 レプリケーションが有効なプライマリボリュームのレプリケーション関係が、セカンダリロケーションとの間で壊れています。 整合性グループ(ボリュームグループ)の状態が inconsistent-disconnected
に変わります。 プライマリロケーションでは、ボリュームグループのプライマリロールにボリュームが関連付けられていません。
以下の手順を実行して、セカンダリ・ロケーションでフェイルオーバー処理を実行します:
- 補助ボリュームグループを停止し、セカンダリロケーションの補助ボリュームにアクセスします。 セカンダリー・ロケーションへのフェイルオーバー
- 補助ボリュームグループがアイドル状態であることを確認する。
フェイルオーバーの手順を完了すると、ボリュームはI/O要求を受け付ける準備が整います。 これらのボリュームがアタッチされている仮想サーバーインスタンスはパワーオンでき、実行を続行できる。
セカンダリー・ロケーションへのフェイルオーバー
プライマリ・ロケーションの障害により、セカンダリ・ロケーションから補助ボリュームにアクセスするには、ボリューム・グループを停止する。 ボリュームグループ内の補助ボリュームがセカンダリロケーション上の補助ボリュームにアクセスできるようにします。
以下のAPIおよびCLIコマンドを使用して、フェイルオーバー操作を実行できます:
- API : アクセスフラグが次のように設定された ボリュームグループAPIに対してアクションを実行する。
True
- CLI: ibmcloud pi ワークスペース
CLIコマンドを使用して補助ボリュームを搭載する場合は、サービス・ワークスペースを補助ボリュームのあるワークスペースに設定する必要があります。 例えば、ibmcloud pi ws target AUXILIARY_WS_CRN
です。
ボリュームグループに対して実行するアクションが、ボリュームグループの現在の状態を満たしていることを確認します。 そうでない場合は、ボリューム・グループが期待された状態にないことを示すエラー・メッセージが表示されます。
ボリュームグループに対してアクションを実行する際、以下の状態とボリュームグループ上のアクションが一致しない場合はエラーが返されます:
replicationStatus
がdisabled
の状態のときにボリュームグループを停止するreplicationsStatus
がenabled
またはavailable
の状態のときにボリュームグループを開始するerror
の状態にないボリュームグループをリセットする
アイドリング状態のボリュームグループの検証
ボリューム・グループを停止すると、整合性グループのステータスは idling
に変更され、レプリケーションは無効になり、補助ボリュームはI/O操作を許可します。
以下のAPIおよびCLIコマンドを使用して、ボリュームグループの詳細を取得し、ボリュームグループのステータスを確認します:
- API : ボリュームグループのストレージ詳細を取得
- CLI: ibmcloud pi volume-group storage-details
プライマリ・ロケーションへのフォールバック
プライマリ・ロケーションが復旧したら、プライマリ・ボリューム・グループをレプリケーション用に再有効化できます。 プライマリ・ボリュームのレプリケーション準備ができたら、プライマリ・ロケーションにフォールバックできます。 以下の手順を実行して、補助ボリュームとプライマリボリューム間でデータを同期します:
- セカンダリ拠点の仮想サーバーインスタンスをオフにする
- 補助ボリュームからプライマリボリュームへのI/O更新の同期
- プライマリ・ボリューム・グループを停止してレプリケーションを無効にする
- プライマリ・ボリューム・グループのレプリケーションを再有効化する。
レプリケーションが再有効化されたら、プライマリロケーションで仮想サーバーインスタンスとそのワークロードを開始できます。 プライマリ・サーバ・インスタンスがアクティブ・インスタンスである場合、セカンダリ・ロケーションの仮想サーバ・インスタンスをオフにすることができます。
補助ボリュームからプライマリボリュームへの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コマンドを使用します:
- API : ボリュームグループに対してアクションを実行 します。
VOLUME_ID
パラメータにプライマリ・ボリュームIDを設定する。 APIを使用して、以下のコードで定義されているようにボリュームの詳細を照会する:
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 update。
VOLUME_GROUP_ID
パラメータにプライマリ・ボリューム・グループIDを設定し、--add-member-ids
フラグにボリューム・グループに追加する必要があるプライマリ・ボリュームIDを設定する。
ボリュームのレプリケーションを無効にする
プライマリ・ボリュームのレプリケーションを無効にすると、セカンダリ・ロケーション上の関連する補助ボリュームが削除されます。
指定された順序でこの手順を完了しないと、ソース・ボリュームのデータが失われる可能性があります。 まず、プライマリ・ロケーションのアクションを完了させ、次にセカンダリ・ロケーションのアクションを完了させる必要があります。
プライマリ・ボリュームのレプリケーションを無効にするには、以下の手順を実行します:
-
プライマリー・ロケーションでの行動
-
セカンダリーロケーションでのアクション
これらの手順は、補助ボリュームのオンボーディング操作が完了した場合にのみ実行できます。
ボリュームグループからプライマリボリュームを削除する
ボリュームグループからプライマリボリュームを削除するには、以下のAPIコマンドとCLIコマンドを使用します:
- API : ボリュームグループを更新 します。
VOLUME_GROUP_ID
パラメータをプライマリ・ボリューム・グループIDに、VOLUME_ID
パラメータをプライマリ・ボリュームIDに設定する。 以下のコードで定義されているように、APIを使用してボリューム・グループからプライマリ・ボリュームIDを削除する:
Request Body:
{
"removeVolumes": [
"PRIMARY_VOLUME_ID"
]
}
- CLI: ibmcloud pi volume-group update。
VOLUME_GROUP_ID
パラメータにプライマリ・ボリューム・グループIDを設定し、--remove-member-volume-ids
フラグにボリューム・グループから削除する必要があるプライマリ・ボリュームIDを設定する。
ibmcloud pi workspace CLI コマンドを使用して、サービス・ワークスペースをプライマリ・ボリュームが配置されているワークスペースに設定します。 例えば、ibmcloud pi ws target PRIMARY_WS_CRN
です。
ボリュームグループから複数のレプリケーション有効ボリュームを削除できます。
空のプライマリ・ボリューム・グループを削除する
プライマリ・ボリューム・グループが空の場合は、以下のAPIコマンドとCLIコマンドを使用して削除します:
-
API : クラウドインスタンスボリュームグループを削除 します。
VOLUME_GROUP_ID
パラメータにプライマリ・ボリューム・グループIDを設定する。 -
CLI:ibmcloud pi volume-group delete。
VOLUME_GROUP_ID
パラメータに、削除が必要なプライマリ・ボリューム・グループIDを設定する。
プライマリ・ボリュームのレプリケーションを無効にする
プライマリ・ボリュームがボリューム・グループから削除された場合、プライマリ・ボリュームのレプリケーションを無効にするには、次の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 : このクラウドインスタンスのすべてのボリュームを一覧表示 します。 レプリケーションのステータスを照会するには、
VOLUME_ID
パラメータにプライマリ・ボリューム ID を設定します。 -
CLI: ibmcloud pi volume get。 レプリケーションのステータスを照会するには、
VOLUME_ID
パラメータにプライマリ・ボリューム ID を設定します。
ボリュームグループから補助ボリュームを削除する
以下のAPIおよびCLIコマンドを使用して、ボリュームグループから補助ボリュームを削除します:
- API : ボリュームグループを更新 します。
VOLUME_GROUP_ID
パラメータをボリュームグループIDに、VOLUME_ID
パラメータを補助ボリュームIDに設定する。 以下のコードで定義されているように、APIを使用してボリューム・グループから補助ボリュームIDを削除する:
Request Body:
{
"removeVolumes": [
"AUXILIARY_VOLUME_ID"
]
}
- CLI: ibmcloud pi volume-group update。
VOLUME_GROUP_ID
パラメータに補助ボリュームグループIDを設定し、--remove-member-volume-ids
フラグにボリュームグループから削除する必要がある補助ボリュームIDを設定する。
空の補助ボリュームグループを削除する
補助ボリュームグループが空の場合は、以下のAPIコマンドとCLIコマンドを使用して削除します:
-
API : クラウドインスタンスボリュームグループを削除 します。
VOLUME_GROUP_ID
パラメータを補助ボリュームグループIDに設定する。 -
CLI:ibmcloud pi volume-group delete。
VOLUME_GROUP_ID
パラメータに、削除する必要がある補助ボリュームグループIDを設定する。
補助ボリュームの削除
補助ボリュームを削除するには、以下のAPIコマンドとCLIコマンドを使用します:
-
API : クラウドインスタンスボリュームを削除 します。
VOLUME_ID
パラメータに、削除する必要がある補助ボリュームIDを設定する。 -
CLI: ibmcloud pi ボリューム削除。
VOLUME_ID
パラメータに、削除する必要がある補助ボリュームIDを設定する。
レプリケーション対応プライマリボリュームの変更
レプリケーションが有効なプライマリ・ボリュームの属性を変更できます。 プライマリおよび補助ボリュームのプロパティの一部を変更するには、プライマリおよびセカンダリロケーションで関連するアクションを実行する必要があります。
プライマリ・ボリュームのサイズを変更する
レプリケーション可能なサイズを変更するには、以下の手順を実行する:
- ボリュームグループからプライマリボリュームを削除する
- プライマリ・ボリュームのサイズを変更する
- プライマリボリュームをボリュームグループに戻す
今後24時間以内に、セカンダリ・ロケーション上の補助ボリュームのサイズが変更される。
たとえば、 dal10
と wdc07
のロケーションペアでは、プライマリロケーションのレプリケーション対応プライマリボリュームのサイズを変更すると、システムは次の24時間以内にセカンダリロケーションの補助ボリュームのサイズを変更します。
以下のAPIおよびCLIコマンドを使用して、レプリケーション対応プライマリ・ボリュームのサイズを変更します:
- API : クラウドインスタンスボリュームを更新 します。 以下のリクエスト・ボディを使用して、
VOLUME_ID
パラメータをプライマリ・ボリュームIDに設定し、サイズをGB単位で設定する:
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 update。
VOLUME_GROUP_ID
パラメータにプライマリ・ボリューム・グループIDを設定し、--remove-member-volume-ids
フラグにボリューム・グループから削除する必要があるプライマリ・ボリュームIDを設定する。
プライマリボリュームの削除
プライマリ・ボリュームを削除するには、以下のAPIコマンドとCLIコマンドを使用します:
-
API : クラウドインスタンスボリュームを削除 します。
VOLUME_ID
パラメータに、削除が必要なプライマリ・ボリュームIDを設定する。 -
CLI: ibmcloud pi ボリューム削除。
VOLUME_ID
パラメータに、削除が必要なプライマリ・ボリュームIDを設定する。
レプリケーション対応の補助ボリュームの削除
補助ボリュームを削除すると、関連するプライマリ・ボリュームも削除されます。
プライマリ・ボリュームのレプリケーション・サービスを無効に するか、 プライマリ・ボリュームを削除 すると、ストレージ・バックエンドでプライマリ・ボリュームとセカンダリ・ボリューム間のレプリケーション関係が削除されます。 セカンダリロケーションの補助ボリュームがボリュームグループに関連付けられている場合は、 ボリュームグループから補助ボリュームを削除 します。 補助ボリュームを手動で削除します。 セカンダリサイトから補助ボリュームを削除しない場合、24時間ごとに発生する帯域外の定期チェックによって、補助ボリュームが ERROR
状態に設定されます。 補助ボリュームの outOfBandDeleted
プロパティを確認して、補助ボリュームの状態を確認する。
GRSが他の Power Virtual Server 業務に与える影響
他のPower Virtual Server操作に対するGRSの影響は以下の通りである:
- イメージ・インターフェースは変更されず、イメージのレプリケーションはサポートされない
- 仮想サーバーインスタンスのストレージプールの操作インターフェイスおよびアフィニティポリシーに変更はありません。 レプリケーションおよび非レプリケーション対応ボリュームは、ボリュームの接続と切り離しをサポートします。
- スナップショット操作とキャプチャー操作は、ボリュームが同じストレージ・プールからのものである場合に、複製ボリュームと非複製対応ボリュームを持つ仮想サーバー・インスタンスに対して許可されます。 スナップショット操作およびキャプチャー操作は、仮想サーバー・インスタンスのボリュームが複製に対応している場合でも、複製に対応していないボリュームを内部で使用することによって実行されます。
- デフォルトでは、レプリケーション可能なボリュームをクローンすると、クローンされたボリュームはレプリケーション可能になります。 クローン作成中に、クローン作成ボリュームをレプリケーション可能にするかどうかを指定できます。 クローン ボリュームをレプリケーション可能にする場合は、クローン ボリュームのポリシーを指定します。 ボリュームのクローンを作成するには、以下の方法を使用できます:
GRSのベストプラクティス
- 必要に応じて、オンボードボリュームに明示的に Shareable フラグと Bootable フラグを設定する。
- プライマリボリュームとボリュームグループが一貫したコピー状態にある場合にのみ、補助ボリュームのオンボーディングを開始する。 get volume API を使用してボリュームの詳細を取得し、プライマリ サイトのミラーリング状態におけるプライマリ ボリュームとボリューム グループの状態を確認できます。 ボリューム グループ API のストレージ詳細取得を使用して、ボリューム グループが正常に作成され、一貫したコピー状態にあることを確認します。
- 以下の方法でボリュームの詳細を入手する:
- 以下の方法で、ボリュームグループのストレージの詳細を取得する:
- ボリュームグループからプライマリボリュームまたは補助ボリュームを1つの場所から追加または削除する場合は、データを同期させるために、もう1つの場所から同じ操作を実行します。
- プライマリとセカンダリの場所からボリュームを削除する。 補助ボリュームを削除し、プライマリボリュームを削除しなかった場合、ボリュームは課金されます。
- すべてのボリューム操作にプライマリ・ロケーションを使用し、フェイルオーバー時のみセカンダリ・ロケーションで補助ボリュームに対する操作を実行する。