(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0011】
以下に添付図面を参照して、この発明にかかるストレージ装置およびストレージシステムの好適な実施の形態を詳細に説明する。
【0012】
(実施の形態1)
(本データ移行手法の一実施例)
まず、実施の形態1にかかるデータ移行手法の一実施例について説明する。
図1は、本データ移行手法の一実施例を示す説明図である。
図1において、ストレージ装置Saの第1の記憶領域は、移行対象となるデータを記憶する移行元の記憶領域である。また、ストレージ装置Sbの第2の記憶領域は、移行先の記憶領域である。
【0013】
(1)本データ移行手法では、ストレージ装置Sa,Sbを跨いでマルチパスを構成し、同一容量の第1および第2の記憶領域を一つの論理的な記憶領域としてみせる。(2)本データ移行手法では、ストレージ装置Saにより、第1の記憶領域から第2の記憶領域へのデータの複写開始を検出する。
【0014】
(3)本データ移行手法では、ストレージ装置Saにより、データの複写開始が検出されると、第2の記憶領域に対するアクセスを拒否するようにストレージ装置Sbを制御する。(4)本データ移行手法では、ストレージ装置Saにより、第1の記憶領域から第2の記憶領域へのデータの複写終了を検出する。
【0015】
(5)本データ移行手法では、ストレージ装置Saにより、データの複写終了が検出されると、第1の記憶領域に対するアクセスを拒否するように制御する。(6)本データ移行手法では、ストレージ装置Saにより、データの複写終了が検出されると、第2の記憶領域に対するアクセスを許可するようにストレージ装置Sbを制御する。
【0016】
このように、本データ移行手法では、第1の記憶領域から第2の記憶領域へのデータの複写開始および複写終了に連動して、第1および第2の記憶領域に対するアクセスを制御する。これにより、データの複写中は第1の記憶領域にアクセスさせ、データの複写終了と連動して第2の記憶領域にアクセスパスを切り替えることで、移行対象となるデータへのアクセスを遮断することなく筐体間のデータ移行を行うことができる。
【0017】
(ストレージシステム200のシステム構成)
つぎに、実施の形態1にかかるストレージシステム200のシステム構成の一例について説明する。
図2は、ストレージシステムのシステム構成図である。
図2において、ストレージシステム200は、サーバ201と、ストレージ装置202,203と、FC(Fibre Channel)スイッチ204と、を含む構成である。
【0018】
ストレージシステム200において、サーバ201と、ストレージ装置202,203と、FCスイッチ204とは、LAN(Local Area Network)、WAN(Wide Area Network)、SAN(Storage Area Network)、インターネットなどのネットワーク210を介して接続されている。ただし、
図2においては、FCスイッチ204を使用したSAN接続を例として示す。
【0019】
サーバ201は、ストレージ装置202,203を動作させるためのドライバを備えている。また、サーバ201は、ストレージ装置202,203の記憶領域にアクセスして業務を実現する業務アプリケーション(
図2中「APL」)と筐体間マルチパスボリュームを構成するコマンドを備えている。この筐体間マルチパスボリュームを構成するコマンドは、ストレージ装置202,203にデータ移行を指示する機能を有する。
【0020】
ストレージ装置202,203は、データを記憶する記憶領域を有し、記憶領域に対するアクセスを制御する機能を有する。また、ストレージ装置202,203は、自律的に筐体間のデータ複写を行う機能を有する。FCスイッチ204は、サーバ201とストレージ装置202,203との間を中継する中継装置である。
【0021】
図2中、ボリュームVOL01〜VOL03は、ストレージ装置202の記憶領域が割り当てられたボリュームである。また、ボリュームVOL11〜VOL13は、ストレージ装置203の記憶領域が割り当てられたボリュームである。ここでは、ボリュームVOL01〜VOL03に移行対象となるデータ(業務データ)が記憶されており、ボリュームVOL11〜VOL13にデータをそれぞれ移行する。
【0022】
なお、ボリュームとは、ストレージ装置202,203の記憶領域を管理するための単位である。たとえば、ハードディスク全体を一つのボリュームとしてもよく、また、ハードディスクを区切って分割されたパーティションを一つのボリュームとしてもよい。さらに、複数のハードディスクを組み合わせて一つのボリュームとしてもよい。
【0023】
ここで、サーバ201とストレージ装置202,203との間はマルチパス構成となっている。具体的には、サーバ201のホストバスアダプタHBA1と、ストレージ装置202のチャネルアダプタCA1との間にパスP1が定義されている。サーバ201のホストバスアダプタHBA2と、ストレージ装置202のチャネルアダプタCA2との間にパスP2が定義されている。
【0024】
また、サーバ201のホストバスアダプタHBA1と、ストレージ装置203のチャネルアダプタCA3との間にパスP3が定義されている。サーバ201のホストバスアダプタHBA2と、ストレージ装置203のチャネルアダプタCA4との間にパスP4が定義されている。
【0025】
また、チャネルアダプタCA1には、WWN(World Wide Name)として「WWN−CA1」が設定されている。チャネルアダプタCA2には、WWNとして「WWN−CA2」が設定されている。チャネルアダプタCA3には、WWNとして「WWN−CA3」が設定されている。チャネルアダプタCA4には、WWNとして「WWN−CA4」が設定されている。
【0026】
なお、ここでは、サーバ201と個々のストレージ装置202,203との間がマルチパス構成の場合を例に挙げて説明したが、これに限らない。具体的には、少なくともストレージ装置202,203を跨いでマルチパスを構成すればよく、個々のストレージ装置202,203はマルチパス構成である必要はない。
【0027】
ただし、サーバ201と個々のストレージ装置202,203との間をマルチパス構成とすることで、一方のパス(たとえば、パスP1)が故障した場合、他方のパス(たとえば、パスP2)に切り替えてアクセスを行うことができる。これにより、パス故障時のアクセス停止を回避して、システムの信頼性を確保することができる。また、複数のパス(たとえば、パスP1,P2)を使用して負荷分散することにより、システム性能を向上させることができる。
【0028】
(サーバ201、ストレージ装置202,203のハードウェア構成)
つぎに、
図2に示したサーバ201、ストレージ装置202,203(ここでは、単に「サーバ等」と表記する)のハードウェア構成について説明する。
図3は、サーバ等のハードウェア構成の一例を示すブロック図である。
図3において、サーバ等は、CPU(Central Processing Unit)301と、ROM(Read‐Only Memory)302と、RAM(Random Access Memory)303と、磁気ディスクドライブ304と、磁気ディスク305と、光ディスクドライブ306と、光ディスク307と、I/F(Interface)308と、を備えている。また、各構成部はバス300によってそれぞれ接続されている。
【0029】
ここで、CPU301は、サーバ等の全体の制御を司る。ROM302は、ブートプログラムなどのプログラムを記憶している。RAM303は、CPU301のワークエリアとして使用される。磁気ディスクドライブ304は、CPU301の制御にしたがって磁気ディスク305に対するデータのリード/ライトを制御する。磁気ディスク305は、磁気ディスクドライブ304の制御で書き込まれたデータを記憶する。
【0030】
光ディスクドライブ306は、CPU301の制御にしたがって光ディスク307に対するデータのリード/ライトを制御する。光ディスク307は、光ディスクドライブ306の制御で書き込まれたデータを記憶したり、光ディスク307に記憶されたデータをコンピュータに読み取らせたりする。
【0031】
I/F308は、通信回線を通じてLAN、WAN、インターネットなどのネットワーク210に接続され、このネットワーク210を介して他の装置に接続される。そして、I/F308は、ネットワーク210と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。I/F308には、たとえば、チャネルアダプタ、リモートアダプタ、デバイスアダプタなどを採用することができる。
【0032】
(サーバ201の機能的構成)
つぎに、サーバ201の機能的構成について説明する。
図4は、サーバの機能的構成を示すブロック図である。
図4において、サーバ201は、入力部401と、認識部402と、指示部403と、設定部404と、検知部405と、切替部406と、を含む構成である。各機能部(入力部401〜切替部406)は、具体的には、たとえば、
図3に示したROM302、RAM303、磁気ディスク305、光ディスク307などの記憶装置に記憶されたプログラムをCPU301に実行させることにより、または、I/F308により、その機能を実現する。なお、各機能部(入力部401〜切替部406)の処理結果は、たとえば、RAM303、磁気ディスク305、光ディスク307などの記憶装置に記憶される。
【0033】
まず、入力部401は、ストレージ装置202の第1のボリュームからストレージ装置203の第2のボリュームへのデータの移行指示を受け付ける機能を有する。ここで、第1のボリュームは、たとえば、
図2に示したボリュームVOL01〜VOL03である。また、第2のボリュームは、たとえば、
図2に示したボリュームVOL11〜VOL13である。
【0034】
具体的には、たとえば、入力部401が、データの移行指示を、サーバ201の入力装置(不図示)を用いたユーザの操作入力により受け付けてもよく、また、外部コンピュータから受信することで受け付けてもよい。なお、データの移行指示には、たとえば、サーバ201のOS(Operating System)が認識する第1および第2のボリュームのデバイス名(たとえば、/dev/dsk/c1t0d0s0)が含まれている。
【0035】
認識部402は、データの移行指示を受け付けた場合、第1および第2のボリュームの物理情報を認識する機能を有する。ここで、物理情報とは、第1および第2のボリュームを識別するための情報であり、たとえば、筐体識別子、LUN番号、LV(Logical Volume)番号を含む情報である。
【0036】
筐体識別子は、ストレージ装置202,203を識別する識別子である。LUN番号は、サーバ201が認識するボリュームの識別子である。このLUN番号は、たとえば、第1および第2のボリュームにアクセスするためのパスに対して割り当てられる。LV番号は、各ストレージ装置202,203が認識するボリュームの識別子(たとえば、VOL01)である。
【0037】
具体的には、たとえば、まず、認識部402が、データの移行指示に含まれるデバイス名から、第1および第2のボリュームの経路情報およびLUN番号を特定する。ここで、経路情報とは、たとえば、第1および第2のボリュームにアクセスするためのパスを特定するパス名、HBA番号およびCA番号を含む情報である。
【0038】
このあと、認識部402が、特定された経路情報およびLUN番号を指定して、第1および第2のボリュームの物理情報をストレージ装置202,203に問い合わせる。具体的には、たとえば、認識部402が、SCSI(Small Computer System Interface)のinquiryコマンドを用いて、第1および第2のボリュームの物理情報をストレージ装置202,203に問い合わせる。
【0039】
ここで、第1のボリュームを「ボリュームVOL01(
図2)」として、ボリュームVOL01の物理情報を認識する場合について説明する。この場合、まず、認識部402が、データの移行指示に含まれるデバイス名から、ボリュームVOL01の経路情報およびLUN番号を特定する。
【0040】
このあと、認識部402が、特定された経路情報およびLUN番号を指定して、ボリュームVOL01の物理情報をストレージ装置202に問い合わせる。この結果、認識部402が、ストレージ装置202からボリュームVOL01の物理情報を受け取って、ボリュームVOL01の物理情報を認識する。
【0041】
指示部403は、第1のボリュームから第2のボリュームへのデータの複写をストレージ装置202に指示する機能を有する。具体的には、たとえば、指示部403が、ネットワーク210を介して、第1のボリュームから第2のボリュームへのデータの複写指示をストレージ装置202に送信する。なお、データ複写指示には、たとえば、上記認識部402によって認識された第1および第2のボリュームの物理情報が含まれている。
【0042】
設定部404は、データの移行指示を受け付けた場合、第1のボリュームおよび第2のボリュームにアクセスするためのパスを設定する機能を有する。具体的には、たとえば、設定部404が、デバイス名から特定されるパス名、HBA番号およびCA番号を指定して、第1のボリュームおよび第2のボリュームにアクセスするためのパスを設定する。
【0043】
なお、第1のボリュームにアクセスするためのパスが予め設定されている場合、設定部404が、該パスに対して第2のボリュームにアクセスするための新たなパスを設定することになる。
図2の例では、設定部404が、ボリュームVOL01〜VOL03にアクセスするための既存のパスP1,P2に対して、ボリュームVOL11〜VOL13にアクセスするためのパスP3,P4を設定する。
【0044】
ここでは、ボリューム単位でデータの移行指示を行う場合を例に挙げて、ボリューム単位でパスを設定することにしたが、これに限らない。たとえば、筐体単位でデータの移行指示を行う場合は、筐体単位でパスを設定することにしてもよい。
【0045】
また、設定部404は、第1および第2のボリュームにアクセスするためのパスの状態を設定する機能を有する。具体的には、たとえば、設定部404が、第1のボリュームにアクセスするためのパスをactive状態に設定し、第2のボリュームにアクセスするためのパスをstand−by状態に設定する。
【0046】
active状態とは、現用・待機型の構成で、実際に経路として使用しているパス(アクセスパス)の状態を示している。一方、stand−by状態とは、現用・待機型の構成で、active状態のパスが故障等によって使用不能となった場合に、代替の経路として使用するパスの状態を示している。すなわち、stand−by状態では、データの送受信のための経路としては使用されない。
【0047】
また、上述した説明では、パスをactive状態/stand−by状態のいずれかに設定する場合を例に挙げて説明したが、load sharing状態として設定することにしてもよい。load sharing状態では、マルチパス構成の各パスの負荷が均等になるように、すべてのパスが使用されることになる。なお、設定された設定結果は、たとえば、
図5に示すパス状態管理テーブル500に記憶される。
【0048】
図5は、パス状態管理テーブルの記憶内容の一例を示す説明図である。
図5において、パス状態管理テーブル500は、パス名、HBA番号、CA番号、状態、LUN番号およびLV番号のフィールドを有する。各フィールドに情報を設定することで、パスP1〜P4のパス状態情報500−1〜500−4がレコードとして記憶されている。
【0049】
ここで、パス名は、パスの名称である。HBA番号は、パスに接続されているHBAを識別する識別子である。CA番号は、パスに接続されているCAを識別する識別子である。状態は、パスの状態である。LUN番号は、サーバ201が認識するアクセス先のボリュームの識別子である。LV番号は、各ストレージ装置202,203が認識するアクセス先のボリュームの識別子である。このLV番号は、上記認識部402によって認識されたLV番号である。
【0050】
ここでは、ボリュームVOL01にアクセスするための既存のパスP1,P2に対して、ボリュームVOL11にアクセスするための新たなパスP3,P4が設定されている。また、パスP1〜P4のうち、パスP1がactive状態に設定され、パスP2〜P4がstand−by状態に設定されている。
【0051】
図4の説明に戻り、検知部405は、データの複写が指示された結果、第1のボリュームから第2のボリュームへのデータの複写終了を検知する機能を有する。具体的には、たとえば、検知部405が、データ複写の進捗状況をストレージ装置202またはストレージ装置203に定期的に問い合わせることにより、データの複写終了を検知する。
【0052】
また、検知部405は、データの複写終了を検知した場合、第1および第2のボリュームのミラーリングの切り離し要求として、データの複写終了をストレージ装置202に通知することにしてもよい。この結果、ストレージ装置202は、第1および第2のボリュームのミラーリングを切り離すことができることを判断することができる。
【0053】
切替部406は、検知された検知結果に基づいて、第1のボリュームから第2のボリュームにアクセス先(アクセスパス)を切り替える機能を有する。ここで、アクセスパスとは、第1または第2のボリュームにアクセスするために実際に使用するパスである。初期状態では、第1のボリュームにアクセスするためのパス(たとえば、パスP1)がアクセスパスとなっている。
【0054】
具体的には、たとえば、切替部406が、データの複写終了が検知された場合、設定部404を制御して、第1のボリュームにアクセスするためのパスをstand−by状態に設定し、第2のボリュームにアクセスするためのパスをactive状態に設定する。これにより、第1のボリュームから第2のボリュームにアクセスパスを切り替えることができる。
【0055】
また、詳細は後述するが、切替部406が、まず、第1のボリュームにアクセスするためのパスをstand−by状態に設定する。そして、切替部406が、ストレージ装置202から「マイグレーション完了による論理閉塞」の通知があった場合に、第2のボリュームにアクセスするためのパスをactive状態に設定することにしてもよい。
【0056】
なお、第1のボリュームにアクセスするためのパスがload sharing状態の場合、切替部406が、第1のボリュームにアクセスするためのパスをstand−by状態に設定し、第2のボリュームにアクセスするためのパスをload sharing状態に設定する。具体的な切替手法としては、たとえば、第1のボリュームにアクセスするためのパスのWWNを、第2のボリュームにアクセスするためのパスのWWNと入れ替えることにしてもよい。
【0057】
また、上述した説明では、第2のボリュームとして、既存のボリュームを指定することにしたが、これに限らない。たとえば、移行先となるストレージ装置203の任意のボリュームを指定することで、ストレージ装置202,203に第2のボリュームを自動生成させることにしてもよい。
【0058】
具体的には、たとえば、まず、指示部403が、第1のボリュームから任意のボリュームへのデータの複写指示をストレージ装置202に送信する。このあと、ストレージ装置202が、データの複写指示に含まれる任意のボリュームの物理情報から、移行先となるストレージ装置203を認識する。
【0059】
そして、ストレージ装置202が、第1のボリュームと同一容量の第2のボリュームの作成をストレージ装置203に指示する。この結果、ストレージ装置203が、任意のボリュームと同一のチャネルアダプタCA経由でアクセスできるように第2のボリュームを組み込む。この場合、第2のボリュームの物理情報は、ストレージ装置202を介してサーバ201に送信される。
【0060】
なお、上記認識部402、設定部404および切替部406の機能は、たとえば、サーバ201が備えるドライバの機能によって実現される。また、上記指示部403、検知部405の機能は、たとえば、サーバ201が備える筐体間マルチパスボリュームを構成するコマンドの機能によって実現される。
【0061】
(ボリューム状態管理テーブルの記憶内容)
つぎに、
図2に示したストレージ装置202,203が用いるボリューム状態管理テーブル600の記憶内容について説明する。ここでは、データの移行元となるストレージ装置202が用いるボリューム状態管理テーブル600の記憶内容について説明する。
【0062】
図6は、ボリューム状態管理テーブルの記憶内容の一例を示す説明図である。
図6において、ボリューム状態管理テーブル600は、マルチパスボリューム番号、情報識別子、筐体識別子、LUN番号、LV番号、参照禁止フラグ、更新禁止フラグ、Copyフラグ、セッションIDおよびCopy方向のフィールドを有する。各フィールドに情報を設定することで、ボリューム状態情報600−1〜600−3がレコードとして記憶されている。
【0063】
ここで、マルチパスボリューム番号は、筐体を跨いで構成されるマルチパスボリュームを識別する識別子である。情報識別子は、マルチパスボリュームのうち自筐体または相手筐体のボリュームを識別する識別子である。筐体識別子は、ストレージ装置202,203を識別する識別子である。
【0064】
LUN番号は、サーバ201が認識するボリュームの識別子である。LV番号は、各ストレージ装置202,203が認識するボリュームの識別子である。参照禁止フラグは、ボリュームの記憶内容を参照するためのアクセスの許否を示すフラグである。ここでは、アクセスを許可する場合は「off」が設定され、アクセスを拒否(禁止)する場合は「on」が設定される。
【0065】
更新禁止フラグは、ボリュームの記憶内容を更新するためのアクセスの許否を示すフラグである。ここでは、アクセスを許可する場合は「off」が設定され、アクセスを拒否(禁止)する場合は「on」が設定される。なお、参照禁止フラグおよび更新禁止フラグは、初期状態では「off」が設定されている。
【0066】
Copyフラグは、筐体間マルチパスを構成する相手ボリュームとの間のコピーセッションの有無を示すフラグである。ここでは、コピーセッションがある場合は「on」が設定され、コピーセッションがない場合は「off」が設定される。なお、Copyフラグは、初期状態では「off」が設定されている。セッションIDは、コピーセッションを識別する識別子である。Copy方向は、複写対象となるデータの送信側または受信側を表す情報である。
【0067】
マルチパスボリュームPVOL01を例に挙げると、筐体識別子が「STORAGE_A_001」の自筐体のボリュームのLUN番号は「0」、LV番号は「VOL01」、参照禁止フラグおよび更新禁止フラグは「off」である。なお、マルチパスボリュームPVOL01のうち、相手筐体のボリュームに関する情報は未設定である。
【0068】
(ストレージ装置202,203の機能的構成)
つぎに、ストレージ装置202,203の機能的構成について説明する。
図7は、ストレージ装置の機能的構成を示すブロック図である。
図7において、ストレージ装置202,203は、受付部701と、複写制御部702と、関連付け部703と、検出部704と、アクセス制御部705と、送信部706と、受信部707と、を含む構成である。各機能部(受付部701〜受信部707)は、具体的には、たとえば、
図3に示したROM302、RAM303、磁気ディスク305、光ディスク307などの記憶装置に記憶されたプログラムをCPU301に実行させることにより、または、I/F308により、その機能を実現する。
【0069】
なお、各機能部(受付部701〜受信部707)の処理結果は、たとえば、RAM303、磁気ディスク305、光ディスク307などの記憶装置に記憶される。また、以下の説明では、移行元となるストレージ装置202に着目して、各機能部(受付部701〜受信部707)の具体的な処理内容について説明する。
【0070】
まず、受付部701は、複写対象となるデータを記憶する第1のボリュームからストレージ装置203の第2のボリュームへのデータの複写指示を受け付ける機能を有する。具体的には、たとえば、受付部701が、ネットワーク210を介して、データの複写指示をサーバ201から受信することで受け付ける。なお、データの複写指示には、たとえば、第1および第2のボリュームの物理情報が含まれている。
【0071】
複写制御部702は、データの複写指示を受け付けた場合、第1のボリュームから第2のボリュームへデータを複写する機能を有する。具体的には、たとえば、複写制御部702が、ミラーリング方式により、送信部706を制御して、
図2に示したリモートアダプタRA1,RA2経由で、第1のボリュームのデータをストレージ装置203に転送する。この結果、ストレージ装置203の複写制御部702は、ストレージ装置202から転送されてくるデータを第2のボリュームに記憶することになる。なお、データの転送方式は、同期転送であっても非同期転送であってもよい。
【0072】
関連付け部703は、データの複写指示を受け付けた場合、第1のボリュームと、ストレージ装置203の第2のボリュームとを関連付ける機能を有する。具体的には、たとえば、関連付け部703が、第1のボリュームの物理情報と第2のボリュームの物理情報とを関連付けて管理する。
【0073】
なお、関連付け結果は、たとえば、
図6に示したボリューム状態管理テーブル600に記憶される。ここで、関連付け結果が記憶されたボリューム状態管理テーブル600の記憶内容について説明する。
【0074】
図8−1および
図8−2は、ボリューム状態管理テーブルの記憶内容の変遷例を示す説明図である。
図8−1の(1)において、マルチパスボリュームPVOL01〜PVOL03ごとに、相手筐体の筐体識別子、LUN番号およびLV番号が設定されている。マルチパスボリュームPVOL01を例に挙げると、筐体識別子が「STORAGE_B_011」の相手筐体のボリュームのLUN番号は「0」、LV番号は「VOL11」である。
【0075】
図7の説明に戻り、また、関連付け部703は、送信部706を制御して、第1のボリュームの物理情報をストレージ装置203に送信する。この結果、ストレージ装置203の関連付け部703は、第1のボリュームの物理情報と、第2のボリュームの物理情報とを関連付けて管理することになる。
【0076】
検出部704は、関連付けられた第1のボリュームから第2のボリュームへのデータの複写開始を検出する機能を有する。具体的には、たとえば、検出部704が、ストレージ装置203へのデータの転送開始を検出することにより、データの複写開始を検出することにしてもよい。また、たとえば、検出部704が、データの複写指示が受け付けられた場合、または、第1のボリュームと第2のボリュームとが関連付けられた場合に、データの複写開始を検出することにしてもよい。
【0077】
なお、検出結果は、たとえば、ボリューム状態管理テーブル600に記憶される。具体的には、
図8−1の(2)において、マルチパスボリュームPVOL01〜PVOL03ごとに、Copyフラグ、セッションIDおよびCopy方向が設定されている。マルチパスボリュームPVOL01を例に挙げると、ボリュームVOL01(送信側)とボリュームVOL11(受信側)との間のコピーセッションのセッションIDは「1」である。
【0078】
アクセス制御部705は、検出された検出結果に基づいて、第1および第2のボリュームに対するアクセスを制御する機能を有する。具体的には、たとえば、アクセス制御部705は、データの複写開始が検出された場合、第2のボリュームに対するアクセスを拒否するようにストレージ装置203を制御する。
【0079】
より具体的には、たとえば、アクセス制御部705が、送信部706を制御して、第2のボリュームに対するアクセスを拒否するアクセス拒否要求をストレージ装置203に送信する。この結果、ストレージ装置203のアクセス制御部705が、第2のボリュームに対するアクセスを拒否するように制御する。
【0080】
なお、制御結果は、たとえば、ボリューム状態管理テーブル600に記憶される。具体的には、
図8−2の(3)において、マルチパスボリュームPVOL01〜PVOL03ごとに、参照禁止フラグおよび更新禁止フラグに「on」が設定されている。これにより、データの複写開始にともなって第2のボリュームに対するアクセスを禁止し、複写中のデータの安全性を確保してデータトラブルの発生を防ぐことができる。
【0081】
また、検出部704は、関連付けられた第1のボリュームから第2のボリュームへのデータの複写終了を検出する機能を有する。具体的には、たとえば、検出部704が、データの転送完了を検出することにより、データの複写終了を検出することにしてもよい。より具体的には、たとえば、検出部704が、サーバ201またはストレージ装置203からデータの複写終了通知を受信することで、データの複写終了を検出することにしてもよい。
【0082】
また、アクセス制御部705は、データの複写終了が検出された場合、第1のボリュームに対するアクセスを拒否するように制御する。より具体的には、たとえば、アクセス制御部705が、ボリューム状態管理テーブル600内のボリュームVOL01〜VOL03の参照禁止フラグおよび更新禁止フラグを「on」に設定する(
図8−2の(4)参照)。
【0083】
なお、アクセス制御部705は、たとえば、ボリューム状態管理テーブル600を参照して、第1のボリュームに対するアクセス要求(参照要求、更新要求)を処理する。具体的には、たとえば、アクセス制御部705は、サーバ201上で動作する業務アプリケーションからボリュームVOL01に対する参照要求があった場合、ボリューム状態管理テーブル600内のボリュームVOL01の参照禁止フラグを判断する。
【0084】
ここで、ボリュームVOL01の参照禁止フラグが「off」の場合、アクセス制御部705が、ボリュームVOL01に対するアクセスを許可し、ボリュームVOL01の記憶内容が参照されることになる。一方、ボリュームVOL01の参照禁止フラグが「on」の場合、アクセス制御部705が、ボリュームVOL01に対するアクセスを拒否し、サーバ201に対してエラーを通知することになる。
【0085】
さらに、アクセス制御部705は、データの複写終了が検出された場合、第2のボリュームに対するアクセスを許可するようにストレージ装置203を制御する。より具体的には、たとえば、アクセス制御部705が、第2のボリュームに対するアクセスを許可するアクセス許可要求をストレージ装置203に送信する。この結果、ストレージ装置203のアクセス制御部705が、第2のボリュームに対するアクセスを許可するように制御する。
【0086】
なお、制御結果は、たとえば、ボリューム状態管理テーブル600に記憶される。具体的には、
図8−2の(4)において、ボリューム状態管理テーブル600内のボリュームVOL11〜VOL13の参照禁止フラグおよび更新禁止フラグに「off」が設定されている。
【0087】
これにより、データの複写終了にともなって、第1のボリュームに対するアクセスを禁止し、かつ、第2のボリュームに対するアクセスを許可し、複写後のデータの安全性を確保してデータトラブルの発生を防ぐことができる。
【0088】
ただし、データの複写終了が検出されたあと、第1のボリュームに対するアクセスを拒否するように制御するまでの間も、移行対象のデータへのアクセス(業務)は継続して行われる。したがって、非同期転送方式を想定すると、第1のボリュームに対して更新が完了していても、第2のボリュームに対する更新が完了していない場合がある。
【0089】
このため、この間に更新された第1のボリュームの更新データ(アドレス、サイズ、データ)は未転送データとして、ストレージ装置202からストレージ装置203に転送する。さらに、第1のボリュームに対するアクセスを拒否するように制御したあと、第2のボリュームに対するアクセスを許可するように制御するまでの間も、移行対象のデータへのアクセス(業務)は継続して行われる。
【0090】
そこで、この間に、第1のボリュームに対するアクセスがあった場合、アクセス制御部705が、送信部706を制御して、「マイグレーション中による論理閉塞」をサーバ201(ドライバ)に通知する。この通知を受け取ったサーバ201は、ストレージ装置202から「マイグレーション完了による論理閉塞」の通知があるまで、更新要求のリトライを繰り返す。これにより、第1のボリュームに対する更新処理を抑止する。
【0091】
そして、上記未転送データをストレージ装置203に転送したあと、アクセス制御部705が、第2のボリュームに対するアクセスを許可するようにストレージ装置203を制御する。このあと、第1のボリュームに対するアクセスがあった場合、アクセス制御部705が、送信部706を制御して、「マイグレーション完了による論理閉塞」をサーバ201(ドライバ)に通知する。
【0092】
この結果、上述したように、サーバ201の切替部406によって、第2のボリュームにアクセスするためのパスがactive状態に設定される。そして、「マイグレーション完了による論理閉塞」の通知があるまでリトライされていた更新要求が第2のボリュームに対して実施される。
【0093】
また、上述した説明では、データの複写方式としてミラーリング方式を採用する場合を例に挙げて説明したが、これに限らない。たとえば、データの複写方式としてスナップショット方式を採用することにしてもよい。この場合、第2のボリュームに対するアクセスを拒否するように制御されたあと、複写制御部702がスナップショットを起動する。
【0094】
このあと、アクセス制御部705が、第1のボリュームに対するアクセスを拒否するように制御する。そして、アクセス制御部705が、第2のボリュームに対するアクセスを許可するようにストレージ装置203を制御する。
【0095】
また、マルチパスを構成する場合、一般に誤操作を防ぐため、サーバ201は、ストレージ装置202,203が管理する第1および第2のボリュームの物理情報が一致(ボリュームの一意性)することをチェックする。ここでは、サーバ201が、上記関連付け部703によって関連付けられた第1および第2のボリュームの物理情報を用いて、ボリュームの一意性をチェックする。
【0096】
具体的には、たとえば、サーバ201が、データの移行指示を受け付けた場合、移行先となるストレージ装置203に対して、第2のボリュームの物理情報を問い合わせる。この際、筐体間のマルチパスボリューム設定のための一意性チェックであることを通知する。ストレージ装置203は、上記問い合わせに対して、第2のボリュームの物理情報と関連付けられている物理情報をサーバ201に返す。
【0097】
すなわち、ストレージ装置203は、第2のボリュームの物理情報の替わりに、上記関連付け部703によって関連付けられた第1のボリュームの物理情報をサーバ201に返す。そして、サーバ201が、ストレージ装置203から返ってきた物理情報と、第1のボリュームの物理情報とを用いて、ボリュームの一意性をチェックする。この場合、第1および第2のボリュームの物理情報は一致する。
【0098】
ただし、ストレージ装置203は、第2のボリュームの物理情報と関連付けられた物理情報がない場合、第2のボリュームの物理情報をサーバ201に返すことになる。この場合、第1および第2のボリュームの物理情報は不一致となる。これにより、マルチパスを構成するボリュームの一意性をチェックすることが可能となり、誤操作をした場合に、誤ったボリュームを組み込んでデータ破壊を引き起こすという問題を防ぐことができる。
【0099】
また、本実施の形態では、サーバ201の設定部404が、第1および第2のボリュームにアクセスするためのパスの状態を設定して、第1および第2のボリュームに対するアクセスを制御している。しかし、ストレージ装置202,203側で、第1および第2のボリュームに対するアクセスを制御するため、上記設定部404の処理は省略することができる。ただし、サーバ201側でも第1および第2のボリュームに対するアクセスを制御することで、ストレージ装置202,203側でアクセス拒否されているボリュームに対するアクセスを排除してエラー処理を削減することができる。
【0100】
(データ移行処理中の業務アクセス)
ここで、ストレージ装置202,203間のデータ移行処理中の業務アクセスについて説明する。
図9は、データ移行処理中の業務アクセスの一例を示す説明図である。業務アクセスは、イベント発生時にサーバ201の業務アプリケーションからストレージ装置202に対して発行されるアクセス要求である。
【0101】
(1)データ移行前において、サーバ201の業務アプリケーションからストレージ装置202に対してアクセス要求があった場合、ストレージ装置202から業務アプリケーションに対してアクセス要求に応じたレスポンスを返す。
【0102】
(2)データ移行中において、サーバ201の業務アプリケーションからストレージ装置202に対してアクセス要求があった場合、ストレージ装置202から業務アプリケーションに対してアクセス要求に応じたレスポンスを返す。
【0103】
(3)
図9中「★」後において、サーバ201の業務アプリケーションからストレージ装置202に対してアクセス要求があった場合、ストレージ装置202からサーバ201のドライバに対して「マイグレーション中による論理閉塞」を通知する。なお、
図9中「★」は、ストレージ装置202が、チャネルアダプタCA1、CA2に対するアクセスを禁止した時点である。
【0104】
(4)サーバ201のドライバが、ストレージ装置202から「マイグレーション中による論理閉塞」を受け取ると、ストレージ装置202に対してアクセス要求をリトライする。(5)ストレージ装置202が、未転送データの送信完了を検知すると、ストレージ装置203に対して、チャネルアダプタCA3,CA4のアクセス禁止解除を指示する。この結果、ストレージ装置203が、チャネルアダプタCA3,CA4のアクセス禁止解除を実施する。
【0105】
(6)サーバ201のドライバが、ストレージ装置202から「マイグレーション完了による論理閉塞」を受け取ると、パスP1,P2,P4をstand−by状態に、パスP3をactive状態に設定する。(7)サーバ201のドライバが、ストレージ装置203に対してアクセス要求のリトライを実施すると、ストレージ装置203から業務アプリケーションに対してアクセス要求に応じたレスポンスを返す。
【0106】
なお、上記(5)以降において、ストレージ装置202に対するアクセス要求があった場合、ストレージ装置202からサーバ201のドライバに対する「マイグレーション中による論理閉塞」の通知は行われない。
【0107】
(サーバ201のデータ移行処理手順)
つぎに、サーバ201のデータ移行処理手順について説明する。ここでは、ストレージ装置202のボリュームVOL01からストレージ装置203のボリュームVOL11にデータを移行する場合を例に挙げて説明する。
【0108】
図10は、サーバのデータ移行処理手順の一例を示すフローチャートである。
図10のフローチャートにおいて、まず、入力部401により、ボリュームVOL01からボリュームVOL11へのデータの移行指示を受け付けたか否かを判断する(ステップS1001)。
【0109】
ここで、データの移行指示を受け付けるのを待って(ステップS1001:No)、受け付けた場合(ステップS1001:Yes)、設定部404により、ボリュームVOL01にアクセスするためのパスP1,P2に対して、ボリュームVOL11にアクセスするためのパスP3,P4を設定する(ステップS1002)。
【0110】
つぎに、設定部404により、パスP1の状態をactive状態に設定し、パスP2〜P4の状態をstand−by状態に設定する(ステップS1003)。そして、認識部402により、ボリュームVOL01,VOL11の物理情報を認識する(ステップS1004)。
【0111】
このあと、指示部403により、ボリュームVOL01からボリュームVOL11へのデータの複写をストレージ装置202に指示する(ステップS1005)。そして、検知部405(筐体間マルチパスボリュームを構成するコマンド)により、ボリュームVOL01からボリュームVOL11へのデータの複写終了を検知したか否かを判断する(ステップS1006)。
【0112】
ここで、データの複写終了が検知されるのを待って(ステップS1006:No)、検知された場合(ステップS1006:Yes)、次の処理へ推移する。
【0113】
業務アプリケーションによるボリュームVOL01への更新要求(ステップS1007)があると、切替部406(ドライバ)により、ボリュームVOL01に対する更新要求を実施する(ステップS1007)。切替部406(ドライバ)により、「マイグレーション中による論理閉塞」を示す通知があったか否かを判断する(ステップS1008)。なお、「マイグレーション中による論理閉塞」は、データの複写終了後、業務アプリケーションによるボリュームVOL01への更新要求(ステップS1007)があると、それに対してストレージ装置202から通知される。
【0114】
ここで、「マイグレーション中による論理閉塞」を示す通知があった場合(ステップS1008:Yes)、ステップS1007に戻る。また、ステップS1008において、「マイグレーション中による論理閉塞」を示す通知とは異なる他の通知があった場合(ステップS1008:No)、ステップS1009に移行する。
【0115】
切替部406(ドライバ)により、「マイグレーション完了による論理閉塞」を示す通知があったか否かを判断する(ステップS1009)。なお、「マイグレーション完了による論理閉塞」は、ボリュームVOL11に対するアクセス許可後、任意の更新・参照、例えば、業務アプリケーションによるボリュームVOL01への更新要求があると、それに対してストレージ装置202から通知される。
【0116】
ステップS1009において、「マイグレーション完了による論理閉塞」が通知されなかった場合(ステップS1009:No)、サーバ201により「エラー処理」を行い(ステップS1011)、一連の処理を終了する。一方、「マイグレーション完了による論理閉塞」が通知された場合(ステップS1009:Yes)、切替部406により、設定部404を制御して、パスP3をactive状態に設定し、パスP1,P2,P4をstand−by状態に設定して(ステップS1010)、本フローチャートによる一連の処理を終了する。これにより、ボリュームVOL01からボリュームVOL11へのデータの複写開始および複写終了に連動して、アクセスパスを切り替えることができる。
【0117】
(ストレージ装置202のデータ複写処理手順)
つぎに、移行元となるストレージ装置202のデータ複写処理手順について説明する。
図11は、ストレージ装置のデータ複写処理手順の一例を示すフローチャートである。
図11のフローチャートにおいて、まず、受付部701により、ボリュームVOL01からストレージ装置203のボリュームVOL11へのデータの複写指示を受け付けたか否かを判断する(ステップS1101)。
【0118】
ここで、データの複写指示を受け付けるのを待って(ステップS1101:No)、受け付けた場合(ステップS1101:Yes)、アクセス制御部705により、送信部706を制御して、ボリュームVOL11に対するアクセスを拒否するアクセス拒否要求をストレージ装置203に送信する(ステップS1102)。そして、検出部704により、ボリュームVOL01からボリュームVOL11へのデータの複写開始を検出する(ステップS1103)。
【0119】
つぎに、複写制御部702により、ボリュームVOL01からボリュームVOL11へのデータの複写を開始する(ステップS1104)。
【0120】
このあと、検出部704により、ボリュームVOL01からボリュームVOL11へのデータの複写終了がサーバ201から通知されたか否かを判断する(ステップS1105)。
【0121】
ここで、データの複写終了が通知されるのを待って(ステップS1105:No)、通知された場合(ステップS1105:Yes)、アクセス制御部705により、ボリューム状態管理テーブル600内のボリュームVOL01の参照禁止フラグおよび更新禁止フラグを「on」に設定する(ステップS1106)。
【0122】
このあと、複写制御部702により、送信部706を制御して、データの複写終了からステップS1106までの間に更新されたボリュームVOL01の更新データを未転送データとしてストレージ装置203に転送する(ステップS1107)。そして、アクセス制御部705により、送信部706を制御して、ボリュームVOL11に対するアクセスを許可するアクセス許可要求をストレージ装置203に送信して(ステップS1108)、本フローチャートによる一連の処理を終了する。
【0123】
なお、ステップS1106からステップS1107の間に、ボリュームVOL01に対するアクセスがあった場合、アクセス制御部705が、送信部706を制御して、「マイグレーション中による論理閉塞」をサーバ201に通知する。また、ステップS1108のあと、ボリュームVOL01に対するアクセスがあった場合、アクセス制御部705が、送信部706を制御して、「マイグレーション完了による論理閉塞」をサーバ201に通知する。
【0124】
これにより、ボリュームVOL01からボリュームVOL11へのデータの複写開始または複写終了と連動して、ボリュームVOL01,VOL11に対するアクセスを制御することができる。
【0125】
以上説明したように、実施の形態1にかかるストレージ装置202,203によれば、筐体を跨いだ第1および第2のボリュームを関連付け、第1および第2のボリュームを一つのマルチパスボリュームとみせかけることができる。また、ストレージ装置202,203によれば、第1のボリュームから第2のボリュームへのデータの複写開始または複写終了と連動して、第1および第2のボリュームに対するアクセスを制御することができる。
【0126】
また、ストレージ装置202,203によれば、データの複写開始と連動して、第2のボリュームに対するアクセスを拒否するように制御することができる。これにより、データ複写中の第2のボリュームに対するアクセスを禁止してデータトラブルの発生を防ぎ、データの安全性を確保することができる。
【0127】
また、ストレージ装置202,203によれば、データの複写終了と連動して、第1のボリュームに対するアクセスを拒否し、第2のボリュームに対するアクセスを許可するように制御することができる。これにより、データの複写終了時のデータトラブルの発生を防ぎ、データの安全性を確保することができる。
【0128】
これらのことから、実施の形態1によれば、データの複写中は第1のボリュームにアクセスさせ、データの複写終了と連動して第2のボリュームにアクセスパスを切り替えることができ、業務停止することなく筐体間のデータ移行を行うことができる。
【0129】
(実施の形態2)
つぎに、実施の形態2にかかるバックアップ手法について説明する。なお、以下の説明において、実施の形態1で説明した箇所と同一箇所については図示および説明を省略する。まず、従来のバックアップ手法の問題点を説明する。
【0130】
従来において、筐体間のバックアップを実施中に、筐体間のデータ移行を行う場合、バックアップを最初からやり直す必要があった。具体的には、たとえば、遠隔地にある筐体間で大量のデータをバックアップする場合、日々、更新差分を送る形式でバックアップが行われていることが多い。
【0131】
このため、筐体間のデータ移行時に、移行元の筐体とバックアップ先の筐体との関係を断ち切ることで、バックアップを最初からやり直す必要がでてくる。しかし、データ量が大きい場合、初期コピーが長期化(たとえば、1、2週間)し、この間、筐体間のバックアップが取れない状態が続くとともに、途中まで更新したデータを損失してしまう。
【0132】
そこで、本バックアップ手法では、筐体間のバックアップのためのセッションを、初期コピーなしに、移行元の筐体から移行先の筐体に引き継ぐ手法を提案する。
図12は、本バックアップ手法の一実施例を示す説明図である。
【0133】
図12において、ストレージシステム1200は、ストレージ装置202と、ストレージ装置203と、ストレージ装置1201と、を含む構成である。ストレージシステム1200において、ストレージ装置202と、ストレージ装置203と、ストレージ装置1201とは、LAN、WAN、SAN、インターネットなどのネットワーク210を介して接続されている。
【0134】
ここでは、ストレージ装置202のボリュームVOL01からストレージ装置203のボリュームVOL11にデータを移行し、ストレージ装置202のボリュームVOL01からストレージ装置1201のボリュームVOL21にデータをバックアップする場合を想定する。
【0135】
また、ボリュームVOL01からボリュームVOL11,VOL21に対してそれぞれデータを複写中であることを想定する。ただし、ボリュームVOL01からボリュームVOL11にデータを複写する場合に比べて、ボリュームVOL01からボリュームVOL21にデータを複写する場合のほうが、データの複写終了までにかかる時間が長い場合を想定する。
【0136】
(1)本バックアップ手法では、実施の形態1によってストレージ装置202により、ボリュームVOL01からボリュームVOL11への切り替え終了後、ボリュームVOL11とボリュームVOL21との間の仮コピーセッションの開設をストレージ装置203に指示する。
【0137】
ここで、仮コピーセッションとは、単にボリュームVOL11とボリュームVOL21とを関連付けることであり、ボリュームVOL11からボリュームVOL21へのデータ複写を意味するものではない。したがって、仮コピーセッションを開設したとしても、ボリュームVOL21に対してボリュームVOL01,VOL11の双方から同時にデータが転送されることはなく、データ破壊は発生しない。
【0138】
(2)本バックアップ手法では、ストレージ装置203により、ボリュームVOL11とボリュームVOL21との間に仮コピーセッションを開設する。以降、ストレージ装置203は、ボリュームVOL11の更新データをボリュームVOL21に反映するために保持する。すなわち、仮コピーセッションの開設は、更新データの保持要求に相当する。
【0139】
(3)本バックアップ手法では、ストレージ装置203により、ボリュームVOL11に対する更新要求があったら、その都度、ボリュームVOL11の更新データを保持する。すなわち、ボリュームVOL01からボリュームVOL11へアクセスパスの切替後において、ボリュームVOL11に対して実施された更新内容(更新データ)を保持する。
【0140】
なお、更新データは、たとえば、ディスクの更新単位(nブロックの連続した記憶領域(以下、「エクステント」という))と、1Bitとを対応付けて管理される(ただし、nは1以上の整数で、筐体間で同一とする)。すなわち、n番目のエクステントはn番目のBitに対応する。また、更新されたエクステントに対応するBitは「on」となり、仮コピーセッションの開設後の初期状態に対応するBitは「off」となる。
【0141】
(4)本バックアップ手法では、ストレージ装置203により、ボリュームVOL01からボリュームVOL21へのデータの複写終了後、ボリュームVOL11の更新データをストレージ装置1201に転送する。なお、更新データのうち、転送されたエクステントに対応するBitは「off」となる。
【0142】
このように、本バックアップ手法では、移行元のボリュームVOL01と移行先のボリュームVOL11とバックアップ先のボリュームVOL21の記憶内容が一時的に等しくなる瞬間に、アクセスパスの切替とバックアップの引き継ぎを行う。これにより、バックアップを実施中にデータ移行する場合であっても、バックアップを最初からやり直す必要がなくなる。
【0143】
(ストレージシステム1200のバックアップ手順)
以下、ストレージシステム1200の具体的なバックアップ手順について説明する。
図13は、実施の形態2にかかるバックアップ手順の一例を示すシーケンス図である。
【0144】
図13において、まず、ストレージ装置202の検出部704により、ボリュームVOL01からボリュームVOL11へのデータの複写終了を検出する(ステップS1301)。そして、データの複写終了が検出された場合、ストレージ装置202の関連付け部703により、送信部706を制御して、ボリュームVOL11とボリュームVOL21との間の仮コピーセッションの開設指示をストレージ装置203に送信する(ステップS1302)。
【0145】
つぎに、ストレージ装置203の関連付け部703により、仮コピーセッションの開設指示に応じて、ボリュームVOL11とボリュームVOL21とを関連付ける(ステップS1303)。なお、関連付け結果は、たとえば、
図13に示す仮コピーセッションテーブル1300に記憶される。
【0146】
図14は、仮コピーセッションテーブルの記憶内容の一例を示す説明図である。
図14において、仮コピーセッションテーブル1400は、セッションID、Copy方向、情報識別子、筐体識別子、LUN番号およびLV番号のフィールドを有する。各フィールドに情報を設定することで、仮コピーセッション情報1401がレコードとして記憶されている。
【0147】
ここで、セッションIDは、仮コピーセッションを識別する識別子である。Copy方向は、複写対象となるデータの送信側または受信側を表す情報である。情報識別子は自筐体または相手筐体を識別する識別子である。筐体識別子は、ストレージ装置203,1201を識別する識別子である。LUN番号は、外部コンピュータ(たとえば、サーバ201)が認識するボリュームの識別子である。LV番号は、各ストレージ装置203,1201が認識するボリュームの識別子である。
【0148】
ここでは、筐体識別子が「STORAGE_B_011」の自筐体のボリュームVOL11と、筐体識別子が「STORAGE_C_021」の相手筐体のボリュームVOL21との間の仮コピーセッションが開設されている。なお、ボリュームVOL11は送信側のボリュームであり、ボリュームVOL21は受信側のボリュームである。
【0149】
図13のシーケンスに戻り、ストレージ装置202のアクセス制御部705により、ボリュームVOL01に対するアクセスを拒否するように制御する(ステップS1304)。つぎに、ストレージ装置202のアクセス制御部705により、送信部706を制御して、ボリュームVOL11に対するアクセスを許可するアクセス許可要求をストレージ装置203に送信する(ステップS1305)。
【0150】
このあと、ストレージ装置203のアクセス制御部705により、アクセス許可要求に応じて、ボリュームVOL11に対するアクセスを許可するように制御する(ステップS1306)。この結果、ボリュームVOL01からボリュームVOL11へアクセスパスが切り替わる。このあと、ボリュームVOL11に対する更新要求があったら、その都度、ストレージ装置203の複写制御部702により、ボリュームVOL11のデータの更新データを保持する(ステップS1307)。
【0151】
なお、ステップS1304の時点では、ボリュームVOL01とボリュームVOL11のデータは同一となる。しかし、非同期転送の場合、ボリュームVOL01とボリュームVOL21のデータは一致しているとは限らない。そこで、ボリュームVOL11からボリュームVOL21へのデータ転送は、VOL01からVOL21へのデータの複写終了まで実施せず、ステップS1307において更新データだけを保持する。
【0152】
つぎに、ストレージ装置202の検出部704により、ボリュームVOL01からボリュームVOL21へのデータの複写終了を検出する(ステップS1308)。そして、ストレージ装置202の複写制御部702により、ボリュームVOL01とボリュームVOL21との間のコピーセッションを終了(または、処理失敗時の復旧操作を考慮して一時停止)する(ステップS1309)。
【0153】
このあと、ストレージ装置202の複写制御部702により、送信部706を制御して、ボリュームVOL11からボリュームVOL21への更新データの複写指示をストレージ装置203に送信する(ステップS1310)。そして、ストレージ装置203の複写制御部702により、送信部706を制御して、更新データの複写指示に応じて、ステップS1307において保持された更新データをストレージ装置1201に転送する(ステップS1311)。
【0154】
なお、ステップS1311において、更新データの転送を開始したら、その旨をストレージ装置202に通知することにしてもよい。この場合、ストレージ装置202は、ボリュームVOL01とボリュームVOL21との間のコピーセッションを確認して、コピーセッションが残っていれば停止することになる。
【0155】
また、ステップS1310において、更新データの複写指示をストレージ装置203に自動送信することにしたが、これに限らない。たとえば、異常時のリカバリを考慮して、ユーザが、任意のタイミングでストレージ装置203に更新データの複写指示を出すことにしてもよい。
【0156】
なお、ボリューム間のコピーセッションは、たとえば、
図6に示したボリューム状態管理テーブル600を用いて管理することができる。具体的には、あるボリューム間のコピーセッションを終了(または、停止)する場合、そのコピーセッションのCopyフラグを「on」から「off」に設定する。
【0157】
以上説明した実施の形態2にかかるストレージ装置202,203,1201によれば、移行先の第2のボリュームに対するアクセスの許可に先立って、第2のボリュームとバックアップ先の第3のボリュームとを関連付けて、仮コピーセッションを開設することができる。また、ストレージ装置202,203,1201によれば、移行元の第1のボリュームからバックアップ先の第3のボリュームへのデータの複写終了と連動して、第2のボリュームの更新データを第3のボリュームへ転送することができる。
【0158】
これにより、バックアップを実施中にデータ移行する場合であっても、バックアップを最初からやり直す必要がなくなり、ミラーリングの初期同期にかかる時間を削減して、被災時のロストデータの増大化を防ぐことができる。
【0159】
(実施の形態3)
つぎに、実施の形態3にかかるバックアップ方式について説明する。なお、以下の説明において、実施の形態1,2で説明した箇所と同一箇所については図示および説明を省略する。
【0160】
実施の形態3では、移行元のボリュームVOL01と移行先のボリュームVOL11の記憶内容が一時的に等しくなる瞬間に、アクセスパスの切替を行う。さらに、移行元のボリュームVOL01からバックアップ先のボリュームVOL21への未転送データに関する情報を、移行先のボリュームVOL11に引き継ぐ。
【0161】
そして、移行先のボリュームVOL11からバックアップ先のボリュームVOL21へ未転送データ情報を送信する。なお、未転送データ情報は、たとえば、バックアップ先のボリュームVOL21の物理情報と未転送データが格納されている論理ブロックの先頭ブロックアドレスとブロック数のペアを要素とする集合である。
【0162】
以下、実施の形態3にかかるバックアップ手順について説明する。
図15は、実施の形態3にかかるバックアップ手順の一例を示すシーケンス図である。
【0163】
図15において、まず、ストレージ装置202の複写制御部702により、ボリュームVOL01からストレージ装置1201のボリュームVOL21へのデータの複写中であることを想定する(ステップS1501)。また、ストレージ装置202の複写制御部702により、ボリュームVOL01からストレージ装置203のボリュームVOL11へのデータの複写を開始する(ステップS1502)。
【0164】
このあと、ストレージ装置202の関連付け部703により、ボリュームVOL01からボリュームVOL11へのコピーとボリュームVOL11からボリュームVOL21へのコピーとを関連付ける(ステップS1503)。なお、関連付け結果は、たとえば、
図6に示したボリューム状態管理テーブル600に記憶される。
【0165】
つぎに、ストレージ装置202の検出部704により、ボリュームVOL01からボリュームVOL11へのデータの複写終了を検出する(ステップS1504)。そして、ストレージ装置202のアクセス制御部705により、ボリュームVOL01に対するアクセスを拒否するように制御する(ステップS1505)。
【0166】
このあと、ストレージ装置202の複写制御部702により、ボリュームVOL01からボリュームVOL21へのデータの複写を停止する(ステップS1506)。そして、ストレージ装置202の関連付け部703により、ボリューム状態管理テーブル600に記憶されたコピーセションの情報をもとにボリュームVOL11とボリュームVOL21との間の仮コピーセッションの開設指示をストレージ装置203に送信する(ステップS1507)。
【0167】
このあと、ストレージ装置203の関連付け部703により、仮コピーセッションの開設指示に応じて、ボリュームVOL11とボリュームVOL21とを関連付ける(ステップS1508)。なお、関連付け結果は、たとえば、
図14に示した仮コピーセッションテーブル1400に記憶される。
【0168】
つぎに、ストレージ装置202の複写制御部702により、ボリュームVOL01のデータのうち、ストレージ装置1201に転送されていない未転送データ情報をストレージ装置203に送信する(ステップS1509)。
【0169】
そして、ストレージ装置203の受信部707により、ストレージ装置202からの未転送データ情報を受信して、ボリュームVOL21の未転送データ情報として管理する(ステップS1510)。このあと、ストレージ装置203の複写制御部702により、ボリュームVOL21の未転送データをストレージ装置1201に送信する(ステップS1511)。
【0170】
なお、ステップS1510において受信された未転送データは、たとえば、ボリュームVOL11とボリュームVOL21との間に開設された仮コピーセッションを識別するセッションIDと関連付けて管理される。
【0171】
以上説明した実施の形態3にかかるストレージ装置202によれば、第1、第2および第3のボリュームを関連付け、第1のボリュームから第2のボリュームへのデータの複写終了時に、第1のボリュームから第3のボリュームへのデータ複写を停止させることができる。また、ストレージ装置202によれば、第1のボリュームから第3のボリュームへ複写されていない未転送のデータを、ストレージ装置203経由でストレージ装置1201に転送することができる。
【0172】
これにより、バックアップを実施中にデータ移行する場合であっても、バックアップを最初からやり直す必要がなくなり、ミラーリングの初期同期にかかる時間を削減して、被災時のロストデータの増大化を防ぐことができる。
【0173】
なお、本実施の形態で説明したデータ移行方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本データ移行プログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本データ移行プログラムは、インターネット等のネットワークを介して配布してもよい。