FlashCopy マッピング

マッピングは、ソース・ボリュームとターゲット・ボリュームの間の関係を定義します。

FlashCopy® 機能は、開始時にボリュームのインスタント・コピーを作成します。 ボリュームのインスタント・コピーを作成するには、まず最初にソース・ボリューム (コピーされるディスク) とターゲット・ボリューム (コピーを受け取るディスク) の間のマッピングを作成する必要があります。ソース・ボリュームとターゲット・ボリュームは同じサイズでなければなりません。

マッピングは、システム内の任意の 2 つのボリューム間で作成することができます。 これらのボリュームは、同じ入出力グループまたはプール内にある必要はありません。 FlashCopy 操作が開始されるとき、ソース・ボリュームのチェックポイントが作成されます。 操作の開始時点ではデータはコピーされません。 その代わりに、チェックポイントは、 ソース・ボリュームのどの部分もコピーされていないことを示すビットマップを作成します。 ビットマップ内の各ビットは、ソース・ボリュームの 1 つの領域を表します。各領域はグレーン と呼ばれます。

FlashCopy 操作が開始した後、ソース・ボリュームへの読み取り操作は続行して行われます。新しいデータがソースまたはターゲット・ボリュームに書き込まれる場合には、ソース上の既存のデータは、新しいデータがソースまたはターゲット・ボリュームに書き込まれる前に、ターゲット・ボリュームにコピーされます。ビットマップは更新されて、ソース・ボリュームのグレーンがコピーされたというマークが付けられ、後でそのグレーンに書き込み操作が行われたときにデータを再度コピーしないようにします。

ターゲット・ボリュームの読み取り操作時に、グレーンがコピーされたかどうかを判別するためにビットマップが使用されます。グレーンがコピーされていると、ターゲット・ボリュームからデータが読み取られます。グレーンがコピーされていないと、ソース・ボリュームからデータが読み取られます。

差分 FlashCopy マッピング

差分 FlashCopy では、初期マッピングでソース・ボリュームにあるすべてのデータをターゲット・ボリュームにコピーします。 これに続く FlashCopy マッピングでは、図 1 に示すように、初回の FlashCopy マッピング後に変更されたデータのみがコピーされます。このプロセスにより、独立した FlashCopy イメージの再作成に要する時間が短縮されます。 FlashCopy マッピングを作成するときに、 FlashCopy マッピングを「差分のみ」として定義することができます。

図 1. 差異の差分 FlashCopy
差異の差分 FlashCopy

FlashCopy のパートナー・マッピング

既存の差分 FlashCopy マッピングをミラーリングするマッピングを作成することができます。 ペアになったマッピングはパートナー と呼ばれます。1 つのマッピングは、パートナーを 1 つしか持てません。 例えば、2 つのマッピング (ボリューム A から ボリューム B へのマッピング 0、 およびボリューム B からボリューム A へのマッピング 1) があるボリューム A とボリューム B がある場合、マッピング 0 とマッピング 1 はパートナーです。

差分 FlashCopy マッピングは、 変更の記録の場合のメタデータを共有します。 したがって、ミラーリングされたペア (協力関係) の一方のマッピングが差分である場合、 他方のマッピングは自動的に差分になり、削除されるまで差分のままになります。

カスケードされた FlashCopy マッピング

カスケード FlashCopy 機能では、図 2 に示すように、FlashCopy ターゲット・ ボリュームを別の FlashCopy マッピングのソース・ボリュームにすることができます。

図 2. FlashCopy ボリュームのカスケード
FlashCopy ボリュームのカスケード

カスケードに存在できるマッピングは、最大 256 です。 カスケード・マッピングと複数のターゲット・マッピングが使用される場合、最大 256 のマッピングのツリーが作成されます。

マルチターゲット FlashCopy マッピング

単一のソース・ボリュームから最大 256 のターゲット・ボリュームをコピーできます。 ソース・ボリュームとターゲット・ボリューム間の関係はそれぞれ、固有のマッピングによって管理され、1 つのボリュームが最大 256 のマッピングでソース・ボリュームになることができます。

1 つのソースからのマッピングは、それぞれ独立して開始し、終了することができます。 同じソースからの複数のマッピングが (コピー中状態または停止中状態で) アクティブな場合、それらのマッピング間には依存関係が存在します。

例えば、以下の条件が当てはまる場合、マッピング A はマッピング B に依存します。
  • マッピング A とマッピング B の両方が同じソース・ボリュームを持っている。
  • マッピング A とマッピング B が両方ともコピー中状態または停止中状態である。
  • マッピング B はマッピング A より後で開始された。
    注: 両方のマッピングが同じ整合性グループに属していて、同時に開始された場合、依存関係の順序は、整合性グループの開始時に内部で決定されます。
  • マッピングのコピー進行状況が 100% 未満であるため、マッピング A にはソースの完全なコピーがない。
  • マッピングのコピー進行状況が 100% 未満であるため、マッピング A より後に開始され、またマッピング B より後に開始された、ソースの完全なコピーを持つ同じソースからのマッピングが存在しない。

もう 1 つの例として、ボリューム A が属するマッピングがターゲット・ボリューム B が属するマッピングに依存する場合、ターゲット・ボリューム A はターゲット・ボリューム B に依存します。 ソース・ボリュームから最も新しく開始されたマッピングのターゲット・ボリュームは、作成されるソースのコピーが完全な状態になるまで (進行状況が 100% になるまで) ソース・ボリュームに依存します。

消去率、コピー率、および自動削除

マッピングを作成するときは、消去率を指定します。 消去率は、マッピングのターゲット・ボリュームからコピーされたデータのコピー率を制御する場合に使用されます。コピー先は、ターゲット・ボリュームの最新のコピーか、ソース・ボリュームにある 2 番目に古いコピーのいずれかにマッピングしたターゲット・ボリュームです。 消去率は、以下の状態で使用されます。
  • マッピングが停止中状態である
  • マッピングが、コピー中状態であり、かつコピー率がゼロである
  • マッピングが、コピー中状態であり、かつバックグラウンド・コピーが完了している

消去率を使用すると、マッピングが停止中状態にある時間を最小限に抑えることができます。 マッピングが完了しなかった場合、ターゲット・ボリュームは、マッピングが停止する間オフラインになります。 ターゲット・ボリュームは、マッピングの再開まではオフライン状態を続けます。

マッピングを作成する場合にもコピー率を指定できます。 マッピングがコピー中状態の場合は、コピー率はバックグラウンド・コピー処理に与えられる優先順位を決定します。 マッピングを削除しても、依然ターゲット・ボリュームからアクセスできるようにするために、ソース・ボリューム全体のコピーが必要な場合は、ソース・ボリューム上にあるデータすべてをターゲット・ボリュームにコピーする必要があります。

消去率およびコピー率のデフォルト値は、ともに 50 です。

コピー率がゼロより大きい場合、マッピングが開始されると、未変更のデータがターゲット・ボリュームにコピーされます。データがコピーされたことを示すためにビットマップが更新されます。 しばらくすると (その長さは、コピー率によって決定された優先順位と、ボリュームのサイズによって異なります)、ボリューム全体がターゲットにコピーされます。 マッピングは idle_or_copied 状態に戻るので、いつでもマッピングを再開してターゲットに新規コピーを作成できます。

マッピングがコピー中状態の間は、コピー率をゼロにし、消去率をゼロ以外の値に設定して、マッピングが停止中状態にある時間を最小限に抑えることができます。

マルチターゲット・マッピングを使用する場合、ソース・データがすべてターゲットにコピーされた (進行状況表示が 100% になった) 後でも、マッピングがコピー中状態のままになることがあります。 この状態は、以前に開始されて同じソース・ディスクを使用していたマッピングが、まだ 100% コピー済みになっていない場合に起こります。

コピー率がゼロの場合は、ソース上で変更されたデータのみがターゲットにコピーされます。 ソースですべてのエクステントが上書きされない限り、ターゲットには、ソース全体のコピーは決して入りません。 ソースの一時コピーが必要なときは、このコピー率を使用できます。

マッピングは、任意の時点で停止できます。ただし、ターゲット・ボリュームにソース・ボリュームの完全なコピーが既に入っていない限り、マッピングが停止すると、ターゲットは不整合になり、ターゲット・ボリュームはオフラインになります。ターゲット・ボリュームは、マッピングの再開まではオフライン状態を続けます。

autodelete 属性を設定することもできます。 この属性がオンに設定されると、マッピングが idle_or_copied 状態に達し、進行状況が 100% になると、マッピングが自動的に削除されます。

FlashCopy マッピングの状態

どの時点においても、マッピングは以下のいずれかの状態になっています。
アイドルまたはコピー済み
ソースとターゲットのボリュームは、両者間にマッピングが存在していても、 独立したボリュームとして動作します。 読み取りと書き込みのキャッシングは、ソースとターゲットの両方のボリュームで実行できます。

差分によるマッピングで、バックグラウンド・コピーが完了している場合、マッピングが記録するのは、ソース・ボリュームとターゲット・ボリューム間の差分のみです。 マッピングの割り当て先である入出力グループ内の両方のノードへの接続が失われると、ソース・ボリュームおよびターゲット・ボリュームはオフラインになります。

コピー中
コピーが進行中です。 読み取りと書き込みのキャッシングは、ソース・ボリュームとターゲット・ボリュームで実行できます。
準備済み
マッピングを開始する準備ができています。 ターゲット・ボリュームはオンラインですが、アクセスできません。 ターゲット・ボリュームは読み取りキャッシングまたは書き込みキャッシングを実行できません。 読み取りキャッシングおよび書き込みキャッシングは、ハードウェア・エラーとして SCSI フロントエンドで失敗します。 差分によるマッピングで、前のマッピングが完了している場合、マッピングが記録するのは、ソース・ボリュームとターゲット・ボリューム間の差分のみです。 マッピングの割り当て先である入出力グループ内の両方のノードへの接続が失われると、ソース・ボリュームおよびターゲット・ボリュームはオフラインになります
準備中
ターゲット・ボリュームはオンラインですが、アクセス不能です。 ターゲット・ボリュームは読み取りキャッシングまたは書き込みキャッシングを実行できません。 読み取りキャッシングおよび書き込みキャッシングは、ハードウェア・エラーとして SCSI フロントエンドで失敗します。 キャッシュから、ソース・ボリュームに対するすべての変更された書き込みデータがフラッシュされます。 ターゲット・ボリュームの読み取りまたは書き込みデータは、キャッシュから廃棄される。 差分によるマッピングで、前のマッピングが完了している場合、マッピングが記録するのは、ソース・ボリュームとターゲット・ボリューム間の差分のみです。 マッピングの割り当て先である入出力グループ内の両方のノードへの接続が失われると、ソース・ボリュームおよびターゲット・ボリュームはオフラインになります
停止済み
ユーザーが停止コマンドを出したか、入出力エラーが発生したために、マッピングが停止しました。 ターゲット・ボリュームはオフラインで、そのデータは失われました。 ターゲット・ボリュームにアクセスするには、このマッピングを再開するか、削除する必要があります。 ソース・ボリュームはアクセス可能であり、読み取りおよび書き込みのキャッシュは使用できます。 差分によるマッピングの場合、マッピングは、ソース・ボリュームへの書き込み操作を記録します。 マッピングの割り当て先である入出力グループ内の両方のノードへの接続が失われると、ソース・ボリュームおよびターゲット・ボリュームはオフラインになります
停止中
マッピングは別のマッピングへデータをコピー中です。
  • バックグラウンド・コピー・プロセスが完了している場合、「コピー・プロセスの停止」が進行している間、ターゲット・ボリュームはオンラインです。
  • バックグラウンド・コピー・プロセスが完了していない場合、データはターゲット・ボリュームキャッシュから廃棄されます。 「コピー・プロセスの停止」が実行されている間、ターゲット・ボリュームはオフラインです。
ソース・ボリュームには、入出力操作のためにアクセスできます。
中断
マッピングは開始されましたが、完了しませんでした。 メタデータへのアクセスが失われたため、ソース・ボリュームとターゲット・ボリュームは両方ともオフラインになります。 メタデータのアクセスが回復すると、マッピングはコピー中状態または停止中状態に戻り、ソース・ボリュームとターゲット・ボリュームはオンラインに戻ります。 バックグラウンド・コピー・プロセスが再開されます。 中断前にデータがフラッシュされておらず、ソース・ボリュームまたはターゲット・ボリュームに書き込まれていた場合、そのデータはマッピングが中断状態を脱するまでキャッシュに入れられています。
注:
  1. FlashCopy ソース・ボリュームがオフラインになると、 そのソース・ボリュームに依存している FlashCopy ターゲット・ボリュームもオフラインになります。
  2. FlashCopy ターゲット・ボリュームがオフラインになると、 そのボリュームに依存している FlashCopy ターゲット・ボリュームもオフラインになります。 ソース・ボリュームはオンラインのままです。
マッピングを開始する前に、マッピングの準備をする必要があります。 マッピングの準備では、キャッシュ内のデータがディスクにデステージされ、ソースの整合コピーがディスクに存続することを確認します。 キャッシュはライトスルーモードに入ります。 ソースに書き込まれるデータは Storwize® V3700・ノードにキャッシュされず、MDisk に直接パススルーされます。 マッピングのための準備操作は、完了するのに若干時間を要することがあります。実際の時間の長さは、ソース・ボリュームのサイズによって決まります。 準備操作をオペレーティング・システムと調整する必要があります。 ソース・ボリュームにあるデータのタイプに応じて、 オペレーティング・システムまたはアプリケーション・ソフトウェアもまたデータ書き込み操作をキャッシュすることがあります。 マッピングを準備して開始する前に、ファイル・システムおよびアプリケーション・プログラムをフラッシュ (つまり同期) する必要があります。
注: startfcmap コマンドと startfcconsistgrp コマンドは、処理に時間がかかることがあります。

整合性グループを使用しない場合、システムではマッピングを独立したエンティティーとして扱うことができます。この場合、マッピングはスタンドアロン・マッピングとして認識されます。このような方法で構成されたマッピングでは、prestartfcmap コマンドと startfcmap コマンドの代わりに prestartfcconsistgrp コマンドと startfcconsistgrp コマンドを使用します。

FlashCopy のマッピング修復

マッピングは、状態が idle_copiedstopped、または copying の別のアクティブ・マッピングのソース・ボリュームであるターゲット・ボリュームを使用して開始できます。 マッピングが copying 状態の場合、startfcmap コマンドと prestartfcmap コマンドに restore パラメーターが必要です。FlashCopy ソース・ボリュームの内容の復元は、 同じ FlashCopy マッピングまたは 別の FlashCopy マッピングのターゲットを使用して、 マッピングが活動停止になるのを待たずに、また、 その他の FlashCopy ターゲット・ボリュームの内容を失わずに、行うことができます。

Veritas Volume Manager

FlashCopy ターゲット・ボリュームの場合、ターゲット・ボリュームがソース・ボリュームの正確なイメージになる可能性があるマッピング状態では、 システムによって照会データに 1 つのビットが設定されます。このビットを設定すると、Veritas Volume Manager は、 ソースとターゲットのボリュームを区別できるようになり、 その両方へ独立したアクセスができるようになります。