(57)【要約】【課題】大規模、複雑なシステムにおいても可用性を低下させることのないデータ移行システムを提供する。【解決手段】移行元記憶サブシステムに記憶されているデータを、移行先記憶サブシステムへ移行するデータ移行方法であって、前記移行元記憶サブシステムから前記移行先記憶サブシステムへデータを移行する前に、経路移行状態が設けられており、前記経路移行状態では、前記ホストコンピュータから前記移行元記憶サブシステム及び前記移行先記憶サブシステムへのアクセスを可能とするように経路を設定し、前記移行先記憶サブシステムは、前記ホストコンピュータからの書き込み要求に対し前記移行元記憶サブシステムにデータを書き込み、前記ホストコンピュータからの読み出し要求に対し前記移行元記憶サブシステムからデータを読み出して前記ホストコンピュータに送信する。【選択図】  図１
2005202495.tif 000002
【特許請求の範囲】
【請求項１】
ホストコンピュータと、前記ホストコンピュータに接続されている記憶サブシステムと、を備えた情報処理システムにおいて用いられ、移行元記憶サブシステムに記憶されているデータを、移行先記憶サブシステムへ移行するデータ移行方法であって、
前記移行元記憶サブシステムから前記移行先記憶サブシステムへデータを移行する前に、経路移行状態が設けられており、
前記経路移行状態では、
前記ホストコンピュータから前記移行元記憶サブシステム及び前記移行先記憶サブシステムへのアクセスを可能とするように経路を設定し、
前記移行先記憶サブシステムは、前記ホストコンピュータからの読み出し要求に対し前記移行元記憶サブシステムからデータを読み出して前記ホストコンピュータに送信し、前記ホストコンピュータからの書き込み要求に対し前記移行元記憶サブシステムにデータを書き込むことを特徴とするデータ移行方法。
【請求項２】
前記経路移行状態において、前記移行先記憶サブシステムは、
前記ホストコンピュータからの書き込み要求に対し前記移行元記憶サブシステムにデータを書き込み、
当該書き込みの確認後、前記ホストコンピュータに対し終了報告を送信することを特徴とする請求項１に記載のデータ移行方法。
【請求項３】
前記経路移行状態において、前記移行先記憶サブシステムは、
前記ホストコンピュータからの読み出し要求に対し、前記移行元記憶サブシステムからデータを読み出して、前記ホストコンピュータに送信することを特徴とする請求項１に記載のデータ移行方法。
【請求項４】
前記ホストコンピュータから前記移行先記憶サブシステムへのアクセスを禁止し、前記ホストコンピュータから前記移行元記憶サブシステムへのアクセスを可能とするように経路を設定する移行処理前状態が、前記経路移行状態の前に設けられていることを特徴とする請求項１に記載のデータ移行方法。
【請求項５】
前記ホストコンピュータから前記移行元記憶サブシステムへのアクセスを禁止し、前記移行先記憶サブシステムへのアクセスを可能とする経路を設定しデータ移行状態が、前記経路移行状態の後に設けられていることを特徴とする請求項１に記載のデータ移行方法。
【請求項６】
前記データ移行状態においては、前記移行先記憶サブシステムは、
前記ホストコンピュータからの読み出し要求がデータ移行済み領域に対するものであれば、前記移行先記憶サブシステムからデータ読み出して前記ホストコンピュータへ送信し、
前記ホストコンピュータからの読み出し要求がデータが移行済みでない領域に対するものであれば、前記移行元記憶サブシステムからデータを読み出して前記ホストコンピュータへ送信することを特徴とする請求項５に記載のデータ移行方法。
【請求項７】
前記データ移行状態の終了後においても、前記ホストコンピュータから前記移行元記憶サブシステムへのアクセスを禁止し、前記移行先記憶サブシステムへのアクセスを可能とするように経路を設定することを特徴とする請求項５に記載のデータ移行方式。
【請求項８】
前記ホストコンピュータ、前記移行元記憶サブシステム及び前記移行先記憶サブシステム間の接続形態を変更すること；
前記ホストコンピュータ、前記移行元記憶サブシステム及び前記移行先記憶サブシステム間を接続するネットワークによるアクセス制限を用いること；
又は、
前記記憶サブシステムによるアクセス制限を用いること；の少なくとも一つによって、前記記憶サブシステムへのアクセスの経路を設定することを特徴とする請求項１に記載のデータ移行方法。
【請求項９】
前記移行元記憶サブシステムから前記移行先記憶サブシステムへデータを移行する前に、前記経路移行状態において設定された経路が正しいか否かを検証する経路検証処理を行うことを特徴とする請求項１に記載のデータ移行方法。
【請求項１０】
前記経路検証処理中は、前記ホストコンピュータから前記移行元記憶サブシステムへのアクセスを禁止し、前記移行先記憶サブシステムへのアクセスを可能とするように経路を設定し、
前記移行先記憶サブシステムは、
前記ホストコンピュータからの書き込み要求を前記移行先記憶サブシステムに書き込み、前記移行先記憶サブシステムは該書き込まれたデータを記憶し、
前記ホストコンピュータからの読み出し要求に対し、前記書き込まれたデータを参照して、前記経路検証処理中における前記移行先記憶サブシステムに記憶されているデータの更新の有無を判定し、
前記経路検証処理中に前記移行先記憶サブシステムに記憶されているデータが更新されている場合は、前記移行先記憶サブシステムからデータを読み出して前記ホストコンピュータにデータを送信し、
前記経路検証中に前記移行先記憶サブシステムに記憶されているデータが更新されていない場合は、前記移行元記憶サブシステムからデータを読み出して前記ホストコンピュータにデータを送信することを特徴とする請求項９に記載のデータ移行方法。
【請求項１１】
前記経路検証処理において、設定された経路の誤りが発見された場合、前記経路検証中に更新されたデータを破棄し、経路移行前の状態に戻すことを特徴とする請求項９に記載のデータ移行方法。
【請求項１２】
前記経路検証処理において、設定された経路の誤りが発見されなかった場合、前記経路検証中に更新されたデータを破棄し、経路移行前の状態に戻してから、データ移行処理を実行することを特徴とする請求項９に記載のデータ移行方法。
【請求項１３】
複数のホストコンピュータと、前記複数のホストコンピュータに接続されている記憶サブシステムと、を備えた情報処理システムにおいて用いられ、移行元記憶サブシステムに記憶されているデータを、移行先記憶サブシステムへ移行するデータ移行方法であって、
前記移行元記憶サブシステムから前記移行先記憶サブシステムへデータを移行する前に、経路移行状態が設けられており、
前記経路移行状態では、
前記複数のホストコンピュータは、前記移行先記憶サブシステムへアクセスする移行済ホストコンピュータと、前記移行元記憶サブシステムへアクセスする未移行ホストコンピュータと、が設定され、
前記移行先記憶サブシステムは、
前記移行済ホストコンピュータからの読み出し要求に対応して前記移行元記憶サブシステムからデータを読み出して当該ホストコンピュータに送信し、
前記移行済ホストコンピュータからの書き込み要求に対応して前記移行元記憶サブシステムにデータを書き込み、当該書き込みの確認後、当該ホストコンピュータに対し終了報告を送信し、
前記移行元記憶サブシステムは、
前記未移行ホストコンピュータからの読み出し要求に対応してデータを読み出して当該ホストコンピュータに送信し、
前記未移行ホストコンピュータからの書き込み要求に対応してデータを書き込み、当該書き込みの確認後、当該ホストコンピュータに対し終了報告を送信することを特徴とするデータ移行方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータシステムで用いられる記憶サブシステムに格納されたデータを移行する方法に関し、特に、記憶サブシステム群間を接続し、上位装置たる複数のホストコンピュータ群に影響を与えることなく旧記憶サブシステムのデータを新記憶サブシステムに移行する、データ移行方法に関する。
【背景技術】
【０００２】
記憶システムに格納されたデータの移行には、上位装置（ホスト）からのアクセス中のデータ移行には、拡張リモートコピー機能（ＸＲＣ：Extended Remote Copy）、又は対等リモートコピー機能（ＰＰＲＣ：Peer-to-Peer Remote Copy）がＩＢＭ社から提案されている（例えば、非特許文献１参照。）。
【０００３】
また、SymmetrixData  Migration  Service（ＳＤＭＳ）がＥＭＣ社から提案されている（例えば、非特許文献２参照。）。
【非特許文献１】「Implementing ESS Copy Services on S/390」，IBM P.502.8.5 DASD migration
【非特許文献２】「Symmetrix Data Migration Services」，EMC Corporation，インターネットＵＲＬ <http://japan.emc.com/pdf/products/sdms/sdms_ds.pdf>
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、これらの従来技術においては、ホストから記憶サブシステムに対するアクセス経路を、旧記憶サブシステムから新記憶サブシステムに切り替える経路切り替え時にはデータ移行にかかわる全てのホストコンピュータを同時に停止し、経路切り替えを行う必要がある。このときデータ移行対象システムが大規模、複雑となると移行時間も増加しシステム全体の可用性が低下する。
【０００５】
本発明は、大規模、複雑なシステムにおいても可用性を低下させることのないデータ移行方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明では、ホストコンピュータと、前記ホストコンピュータに接続されている記憶サブシステムと、を備えた情報処理システムにおいて用いられ、移行元記憶サブシステムに記憶されているデータを、移行先記憶サブシステムへ移行するデータ移行方法であって、前記移行元記憶サブシステムから前記移行先記憶サブシステムへデータを移行する前に、経路移行状態が設けられており、前記経路移行状態では、前記ホストコンピュータから前記移行元記憶サブシステム及び前記移行先記憶サブシステムへのアクセスを可能とするように経路を設定し、前記移行先記憶サブシステムは、前記ホストコンピュータからの書き込み要求に対し前記移行元記憶サブシステムにデータを書き込み、前記ホストコンピュータからの読み出し要求に対し前記移行元記憶サブシステムからデータを読み出して前記ホストコンピュータに送信する。
【発明の効果】
【０００７】
本発明によると、大規模、複雑なシステムにおいても可用性の低下を抑制することができる。
【発明を実施するための最良の形態】
【０００８】
以下、本発明の実施の形態を図面を参照して説明する。
【０００９】
図１は、本発明の実施の形態の情報処理システムの構成を表すブロック図である。
【００１０】
この情報処理システムは、ホストコンピュータ１０１ａ、１０１ｂ、旧記憶サブシステム１０３ａ、及び、新記憶サブシステム１０３ｂから構成される。ここで、記憶サブシステムとは、上位装置（ホストコンピュータ）に対し情報を授受する制御部（コントローラ２０１）と、情報を格納するディスク装置２１０を内蔵する記憶サブシステムである。本実施の形態では、記憶サブシステム１０３の例としてディスクアレイ装置について説明するが、本発明が適用される記憶サブシステムはディスクアレイ装置に限られず、他の記憶サブシステムを用いるものであってもよい。
【００１１】
また、ホスト１０１、旧記憶サブシステム１０３ａ、新記憶サブシステム１０３ｂは１以上であれば単数でも複数でもよい。
【００１２】
さらに、旧記憶サブシステム１０３ａはデータの移行元であり、新記憶サブシステム１０３ｂはデータの移行先である。なお、以下の説明では、新記憶サブシステム１０３ａと旧記憶サブシステム１０３ｂとを、符号ａ、ｂによって区別するが、新／旧を区別する必要がないときには符号のａ、ｂを省いて記載する。
【００１３】
各ホスト１０１は、ワークステーション、マイクロコンピュータ又はメインフレームコンピュータ等であり、アプリケーションプログラムやデータベースシステムが稼働している。
【００１４】
記憶サブシステム１０３は、一つ以上のインタフェース１０４を有し、ストレージエリアネットワーク（ＳＡＮ）１０２を経由してホスト１０１と接続されている。本実施の形態は、ホスト１０１と記憶サブシステム１０３とがＳＡＮ１０２によって接続されているが、ＳＡＮ１０２によらずホスト１０１と記憶サブシステム１０３を直接接続してもよい。インタフェース１０４は、ＳＣＳＩ（Small Computer System Interface）、ファイバチャネル（Fibre channel）、ｉＳＣＳＩ(Internet SCSI)やＦＩＣＯＮ、ＥＳＣＯＮ等の記憶サブシステム向けインタフェースである。本発明においてはＳＡＮ１０２の構成及びインタフェース１０４の種類に特に制限はない。以下、本実施の形態の説明においては、インタフェース１０４の例としてファイバチャネルインタフェースについて説明する。
【００１５】
記憶サブシステム１０３は、一つ以上の論理ボリューム１０５を有する。ホスト１０１からはインタフェース１０４を介して論理ボリューム１０５への読み出し・書き込み等のアクセスが可能である。このとき各インタフェース１０４が提供する記憶サブシステム用のプロトコルを使用する。ファイバチャネルではＦＣＰ（Fibre Channel Protocol for SCSI）、ＦＩＣＯＮではＦＣ−ＳＢ（Single Byte Protocol）を用いる。本発明において用いられるプロトコルの種別は特に制限はない。
【００１６】
新記憶サブシステム１０３ｂは、移行処理に必要な移行プログラム１０６、構成情報１０７、制御情報１０８、更新情報１０９及びデータ１１０を保持する。
【００１７】
移行プログラム１０６は、移行処理を実行するためのプログラムである。構成情報１０７及び制御情報１０８は記憶サブシステム１０３の構成と制御に関する情報であり、移行プログラム１０６が該情報を参照し移行処理を実行する。移行プログラム１０６が使用する制御情報としてはデータ移行処理の進捗を示す進捗ポインタがある。
【００１８】
更新情報１０９は、データ移行処理時にホスト１０１から受け付けた書き込み要求に関する更新情報を保持し、後述するビットマップ等の形態をとることができる。記憶サブシステム１０３には、ホスト１０１からのデータの読み出し・書き込み要求に関するデータ１１０を一時的に記憶するキャッシュメモリが設けられており、通常動作時のデータ入出力処理の高速化、データ移行処理のデータ処理を実施する（図９の９０５、図１１の１１０５等）。
【００１９】
移行プログラム１０６は、論理ボリューム１０５毎に設けられた進捗ポインタとビットマップを用い、ボリューム１０５毎にデータ移行処理を行う。
【００２０】
なお、ここまでに説明した各プログラム１０６は、コンパクトディスクや光磁気ディスクといった可搬記憶媒体を用いて、あるいは、管理ネットワーク１１１を介して、他の装置から各記憶サブシステム１０３に設けられる記憶媒体にインストールされる。
【００２１】
移行管理ホスト１１２は、ワークステーション、パーソナルコンピュータ又はメインフレーム等のコンピュータであり、ＣＰＵ、メモリ及び記憶装置を備えている。ＣＰＵでは移行管理プログラム１１３が動作しており、旧記憶サブシステム１０３ａから、新記憶サブシステム１０３ｂへの、データ移行処理を管理する。また、メモリ（又は、記憶装置）には、移行管理テーブル１１４が保持されている。
【００２２】
移行管理プログラム１１３は、データ移行処理を監視・管理するものである。移行管理プログラム１１３は、該移行管理テーブル１１４を使用してデータ移行処理の監視、制御を行う。具体的には、移行管理プログラム１１３は、管理用ネットワーク１１１を介して接続された各記憶サブシステム１０３の状態の監視と、構成変更、データ移行処理等を実施する。一般に管理ネットワーク１１１はＩＰプロトコルを用いたイーサネット（登録商標、以下同じ）等にて構成されているが、どのようなネットワークでもよい。
【００２３】
また、移行管理プログラム１１３は、移行管理テーブル１１４の全体又は一部を新記憶サブシステム１０３ｂの移行プログラム１０６に送付する。移行プログラム１０６は、送付された移行管理テーブル１１４に基づいて、構成情報１０７及び制御情報１０８を作成する。
【００２４】
本実施の形態では、ホスト１０１、記憶サブシステム１０２とは別に移行管理ホスト１１２を設けているが、移行管理プログラム１１３、移行管理テーブル１１４は移行処理を行うシステム内のどの装置に実装することができる。
【００２５】
図２に、本発明の実施の形態の記憶サブシステム１０３の構成図である。
【００２６】
各記憶サブシステム１０４は、コントローラ２０１、一つ以上のディスク装置２１０を有する。コントローラ２０１は、ホストアダプタ２０３、メモリ２０５、ディスクアダプタ２０７、プロセッサ（ＣＰＵ）２０２及びネットワークコントローラ２０４を有する。各々の構成の数は、本発明の本質とは関係ないが性能及び信頼性の観点から多重化することが好ましい。
【００２７】
ホストアダプタ２０３は、ファイバチャネル等のインタフェース１０４に関するプロトコルを制御する。
【００２８】
ネットワークコントローラ２０４は、監視系ネットワークのプロトコル制御を行い、移行管理ホスト１１２との通信を実行する。
【００２９】
メモリ２０５には、データ移行処理に関するプログラム及びデータが格納されている。具体的には、データ移行処理を実現するための移行プログラム１０６、データ移行処理の構成情報１０７、制御情報１０８、更新情報１０９及びデータ１１０が格納される。メモリ２０５には、これらのプログラム及びデータの他に、記憶サブシステム１０３を制御するために必要な制御プログラムや制御情報、ホスト１０１に対する入出力処理に関するキャッシュデータ１１０が格納される。高信頼化のために、メモリ２０５を二重化したり、メモリ２０５への電源を二重化することが好ましい。
【００３０】
ディスクアダプタ２０７は、ホストアダプタ２０３と同様に、ファイバチャネル等のディスクインタフェース２０９に関するプロトコル処理を行う。
【００３１】
ディスク装置２１０は、ディスクインタフェース２０９を介してコントローラ２０１からの読み出し、書き込み等のコマンドを受け付け、コマンドによって規定される処理を行う。高信頼化のため、ディスクインタフェース２０９を二重化することが好ましい。
【００３２】
記憶サブシステム１０３は、ディスク装置２１０を複数組み合わせ冗長構成とし、この中に論理的なデバイス（論理ボリューム）１０５を作成する。プロセッサ（ＣＰＵ）２０２は、記憶サブシステム１０３に関する処理を実行する。プロセッサ２０２は内部バス２０８を介しコントローラ２０１内のホストアダプタ２０３、ディスクアダプタ２０７及びネットワークコントローラ２０４と接続され、プロセッサ２０２がこれらを制御する。また、プロセッサ２０２は、メモリ２０５とも内部バス２０８を介し接続されており、メモリ２０５に格納されたプログラム１０６や制御情報１０８をロードして実行する。旧記憶サブシステム１０３ａは新記憶サブシステム１０３ｂと同様に図２に示す構成を有する。なお、旧記憶サブシステム１０３ａはデータ移行処理に対応する必要はなく、ホスト１０１に対するデータ入出力を提供する機能のみを有すれば足りる。
【００３３】
また、本実施の形態においては簡素な内部構成を用い説明したが、同等機能を実現可能な場合は内部構成に関しては特に制約はない。例えば、特開平１０−３３３８３６号公報に示すように、内部バス２０８の代わりにスイッチを使用してコントローラの各構成間で通信するように構成してもよい。
【００３４】
図３は、本発明の実施の形態の移行処理のフローチャートであり、図４は、図３に示す移行処理における情報処理システムの動作の説明図である。
【００３５】
図４において、データ移行処理は、移行先記憶サブシステム１０３ｂの移行プログラム１０６によって行われ、移行元記憶サブシステム（旧記憶サブシステム）１０３ａに格納されたデータが移行先記憶サブシステム（新記憶サブシステム）１０３ｂへ移行される。
【００３６】
まず移行前の状態（図４（ａ））において、移行管理プログラム１１３はデータ移行のための初期設定をする。具体的には、移行元記憶サブシステム１０３ａの論理ボリューム１０５ａと移行先記憶サブシステム１０３ｂの論理ボリューム１０５ｂのペアを設定する。移行のためのペアは論理ボリューム１０５単位で設定する。この際関連するホスト１０１（ホスト１０１で稼動するアプリケーション、ファイルシステム等の情報）も設定する（３０１）。
【００３７】
初期設定の後、移行先記憶サブシステム１０３ｂをＳＡＮ１０２に接続し、情報処理システムに追加する（３０２）。このとき、移行先記憶サブシステム１０３ｂは物理的にＳＡＮ１０２に接続されているものの、ホスト１０１からのアクセスを受け付けないように、移行管理プログラム１１３が移行先記憶サブシステム１０３ｂに対して指示をする（図４（ｂ））。
【００３８】
次に経路移行処理（３０３）を開始する。経路移行処理では移行先記憶サブシステム１０３ｂを経路移行状態とする。移行管理プログラム１１３は移行管理テーブル１１３によって管理される全ての移行先記憶サブシステム１０３ｂに対し、以下の動作を行うための指示をする。
【００３９】
経路移行中は、経路移行を終えたホスト１０１ａは移行先記憶サブシステム１０３ｂへアクセスする。このとき、ホスト１０１ａからの読み出し要求を受信すると、移行先記憶サブシステム１０３ｂは当該リード要求に対応するデータを移行元記憶サブシステム１０３ａから読み出し、ホスト１０１ａへ返送する。また、ホスト１０１ａからの書き込み要求を受信すると、更新すべきデータを移行元記憶サブシステム１０３ａへ書き込む（図４（ｃ））。
【００４０】
一方、経路移行を行っていないホスト１０１ｂは移行元記憶サブシステムへアクセスする（図４（ｃ））。ホスト１０１の経路移行はアクセス先記憶サブシステム１０３を移行元記憶サブシステム１０３ａから移行先記憶サブシステム１０３ｂへ切り替える処理である。例えば、ファイバチャネルプロトコルであれば、ホスト１０１に設定されている記憶サブシステムの情報（ＷＷＮ：World Wide Name）を移行元記憶サブシステム１０３ａから移行先記憶サブシステム１０３ｂへ変更する。ｉＳＣＳＩであればｉＳＣＳＩ Ｎａｍｅを移行元記憶サブシステム１０３ａから移行先記憶サブシステム１０３ｂへ変更する。上記経路移行処理は管理者が手動で構成ファイルを変更してもよいが、ホスト１０１上の経路管理プログラム（例えば、ＨＤＬＭ：Hitachi Dynamic Link Manager等）と移行管理プログラム１１２が連携することによって実現することもできる。
【００４１】
これらの経路移行処理が全て終了すると、全てのホスト１０１は移行先記憶サブシステム１０３ｂにアクセスし、移行元記憶サブシステム１０３ａは、ホストからアクセスされなくなる（図４（ｄ））。
【００４２】
経路移行処理が終了するとデータ移行処理を実行する（３０４）。移行管理プログラム１１３は移行先記憶サブシステム１０３ｂが移行元記憶サブシステム１０３ａのデータを転送するよう移行先記憶サブシステム１０３ｂに指示する。
【００４３】
全てのデータの転送が終了すると、移行元記憶サブシステム１０３ａをＳＡＮ１０２から切り離し、情報処理システムから削除する（図４（ｆ））。これで、移行元記憶サブシステム１０３ａにフォーマット処理等を施して、格納されていたデータを消去した後に、他のシステムに組み込み、別の目的に使用することができる。
【００４４】
上記の処理では、移行元記憶サブシステム１０３ａ、移行先記憶サブシステム１０３ｂは、それぞれの状態において動作が異なる。各状態の管理と各記憶サブシステム１０３に対する動作の指示は移行管理プログラム１１３が行う。
【００４５】
図５に、本発明の実施の形態の移行処理の各状態における移行元記憶サブシステム１０３ａ、移行先記憶サブシステム１０３ｂの動作を示す。
【００４６】
本実施の形態においては、移行処理状態（移行ステータス）は「移行処理前」（５０５）、「経路移行状態」（５０６）、「データ移行状態」（５０７）、「移行処理後」（５０８）の４種類がある。前述した移行処理フローチャート（図３）において、処理３０１、３０２の実行中が「移行処理前」５０５で、処理３０３の実行中が「経路移行状態」５０６で、処理３０４の実行中が「データ移行状態」５０７で、処理３０４の実行終了後が「移行処理後」５０８となる。
【００４７】
図５において、カラム５０１には各状態に対する番号を示し、カラム５０２には移行元記憶サブシステム１０３ａの各読み出し・書き込み処理に対する動作を示し、カラム５０４には移行先記憶サブシステム１０３ｂの各読み出し・書き込み処理に対する動作を示す。
【００４８】
移行元記憶サブシステム１０３ａは、データ移行処理実行前（移行処理前（５０５）、経路移行状態（５０６））は、記憶サブシステム１０３の通常状態における動作と同じ動作をする。すなわち、ホスト１０１は、移行元記憶サブシステム１０３ａに対する読み出し・書き込み処理を行う。また、移行元記憶サブシステム１０３ａは、データ移行処理実行後（データ移行状態（５０７）、移行処理後（５０８）には、ホスト１０１から移行元記憶サブシステム１０３ａに対する読み出し・書き込み処理等によるアクセスができない状態にする。
【００４９】
移行先記憶サブシステム１０３ｂは、移行処理前（５０５）には、ホスト１０１からデータの読み出し、書き込み処理等によるアクセスができない状態にする。
【００５０】
移行先記憶サブシステム１０３ｂは、経路移行状態（５０６）に書き込み要求を受信すると、移行先記憶サブシステム１０３ｂで書き込みデータを一旦受け取った後に、移行元記憶サブシステム１０３ａに該データを書き込む。また、読み出し要求を受信すると、最新のデータが移行元記憶サブシステム１０３ａに格納されているため、移行先記憶サブシステム１０３ｂは移行元記憶サブシステム１０３ａの該当するアドレスからデータを読み出し、ホスト１０１へ要求データを送信する。すなわち、ホスト１０１から移行先記憶サブシステム１０３ｂに対する読み出し・書き込み要求に応じて移行元記憶サブシステム１０３ａが最新の状態となるように、他方の記憶サブシステム１０３が動作する。
【００５１】
データ移行状態（５０７）では、移行先記憶サブシステム１０３ｂは、移行元記憶サブシステム１０３ａから移行先記憶サブシステム１０３ｂへのデータ移行処理を行う。よって、データ移行が済んでいない領域に対する読み出し要求は、移行元記憶サブシステム１０３ａからデータを読み出す。しかし、データ移行が済んでいる領域に対する読み出し要求や、書き込み要求は、移行先記憶サブシステム１０３ａに対して処理される。
【００５２】
移行処理後（５０８）では、移行先記憶サブシステム１０３ｂに最新のデータが格納されるため、ホスト１０１から移行先記憶サブシステム１０３ｂに対する読み出し、書き込み要求は移行先記憶サブシステム１０３ｂに対して行われる。
【００５３】
図６は、本発明の実施の形態の移行管理テーブル１１４の説明図である。
【００５４】
移行管理テーブル１１４は、移行管理プログラム１１３によって作成され、移行管理ホスト１１２に格納される。移行管理プログラム１１３は移行管理テーブル１１４によって移行処理を管理し遂行する。移行処理においては、「移行グループ」と呼ばれる管理単位が設けられている。移行グループとしては論理ボリューム１０５を最小単位としホスト１０１やファイルシステム、アプリケーション、ユーザ、部門、フロア、建物等の最適な単位を、管理単位として用いる。
【００５５】
各移行グループには特有の識別子であるグループＩＤ６０１が付される。移行プログラム１１３は、管理テーブル（図６）の移行状態欄６０２によって、各移行グループ毎に移行の状態を管理する。各移行グループは移行を行うボリューム毎に、移行元記憶サブシステムを移行元記憶サブシステムＩＤ６０３によって管理し、移行先記憶サブシステムを移行先記憶サブシステムＩＤ６０４によって管理する。移行元記憶サブシステムＩＤ６０３及び移行先記憶サブシステムＩＤ６０４に基づいて、移行グループが属する記憶サブシステム１０３と記憶サブシステム１０３内の論理ボリューム１０５を特定することができる。
【００５６】
さらに、移行管理テーブル１１４には、各移行グループに関する詳細情報６０５として、例えばディレクトリの情報が格納されている。この詳細情報６０５によって移行処理を管理する管理者が移行グループの内容を容易に認識することができ、移行処理全体のスケジュール、手続き等を決定することができる。
【００５７】
移行管理プログラム１１３は、移行管理テーブル１１４に基づいてボリューム単位で移行処理の進行を指定する。また、移行管理プログラム１１３は、図５で示した動作状態を移行元記憶サブシステム１０３ａ及び移行先記憶サブシステム１０３ｂに対して指定する。
【００５８】
［経路移行処理］
図７は、本発明の実施の形態の経路移行処理（図３のステップ３０３）の詳細な動作を示すフローチャートである。
【００５９】
経路移行処理は移行グループ毎に実行される。図７は任意の移行グループにおける移行処理の詳細を示す。各移行グループには一つ以上の移行される論理ボリューム１０６のペアが存在する。
【００６０】
まず、移行処理プログラム１１３は、移行グループに属しているホスト１０１のうち、経路を移行していないホスト１０１が存在するかを確認する（７０１）。
【００６１】
全てのホスト１０１の経路移行が終了している場合には、経路移行処理を終了し、データ移行処理（図３のステップ３０４）を実行する。移行グループ内の移行元記憶サブシステム１０３ａのボリューム１０５ａに対するホスト１０１からの読み出し、書き込み等のアクセスを制限する。アクセス制限には複数の方法があり、その詳細は後述する。この際データ移行のため移行元記憶サブシステム１０３ａと移行先記憶サブシステム１０３ｂの間の通信経路は確保した状態で保持しておく（７０２）。その後、移行管理テーブル１１４の該当する移行グループについて移行状態を「経路移行状態」から「データ移行状態」に変更する。
【００６２】
経路移行が行われていないホスト１０１が存在する場合には、該ホスト１０１について経路移行の処理（７０６〜７０８）を実行する。
【００６３】
まず、経路移行が行われていないホスト１０１の中から、次に経路移行処理を行うホスト１０１を選択する（７０３）。
【００６４】
その後、移行処理が完了していない記憶サブシステム１０３があるか否かを判定する（７０４）。そして、該ホスト１０１に関し、経路移行処理をすべき移行グループ内の記憶サブシステム１０３を選択する（７０５）。この際、該ホスト１０１に関連する記憶サブシステム１０３内のボリューム１０５全てについて以下の経路移行の処理（７０６〜７０８）を実施する。ホスト１０１は経路の変更を行うために、経路切り替えに関する記憶サブシステム１０３との接続を切断する（７０６）。通常、この記憶サブシステム１０３との接続の切断は、ホスト１０１のオペレーティングシステムで提供されているアンマウント処理によって実現可能であり、前述したＨＤＬＭ等の経路管理プログラムを使用しても実現可能である。
【００６５】
移行先記憶サブシステム１０３ｂは移行元記憶サブシステム１０３ａと別の記憶サブシステム１０３の識別子を有するので、ホスト１０１は記憶サブシステム１０３に関する設定情報を変更し、経路を変更する（７０７）。記憶サブシステム１０３の識別子としてはファイバチャネル  ＳＣＳＩ（ＦＣＰ）ではＷＷＮ、ｉＳＣＳＩではｉＳＣＳＩ  Ｎａｍｅ、ＦＩＣＯＮではファイバチャネルのＷＷＮ又はポートＩＤを使用する。
【００６６】
記憶サブシステム１０３は一つ以上の識別子を有し、ホスト１０１は一つの記憶サブシステム１０３に対して複数の識別子を有する場合がある。この場合、移行管理テーブル１１４において指定された移行処理に関連する識別子に関してのみ経路移行処理を行う。
【００６７】
ホスト１０１は経路の変更を終えた後に、経路切り替えに関する記憶サブシステム１０３と接続する（７０８）。通常はホスト１０１のオペレーティングシステムで提供されているマウント処理によって実現可能である。
【００６８】
以後、全ての記憶サブシステムについて経路移行処理が終了するまで、該当する全ての記憶サブシステム１０３に対して７０４〜７０８の処理を繰り返し実行する。全ての記憶サブシステム１０３に関する経路切り替え処理が終了すると、再度、経路移行が終了していないホスト１０１の有無を検索し、移行グループ内の全てのホスト１０１に関する経路移行処理が終わるまで７０３〜７０８の処理を繰り返し実行する。
【００６９】
以上説明した経路移行処理では、記憶サブシステム１０３を一つずつ変更しているが、複数の記憶サブシステムの経路変更処理（７０４〜７０８）を同時に実行してもよい。
【００７０】
また、移行管理テーブルに基づいてホスト１０１を選択した後に、該ホストが関連する記憶サブシステム１０３に関する経路移行処理を実行したが、先に記憶サブシステム１０３を選択し、該記憶サブシステム１０３に関連するホスト１０１に関して経路移行処理を実行してもよい。
【００７１】
［データ移行処理］
図８は、本発明の実施の形態のデータ移行処理（図３のステップ３０４）の詳細な動作を示すフローチャートである。
【００７２】
データ移行処理は、各移行先記憶サブシステム１０３ｂの移行プログラム１０６によって実行され、各ボリューム１０５に対する処理を示している。
【００７３】
まず、データ移行処理のための各種変数を初期化して、初期設定を行う（８０１）。代表的な変数としては、移行進捗を示す進捗ポインタや移行状態を示す移行ステータス等の制御情報１０８、及び更新状態を示すビットマップ等の更新情報１０９を初期化する。なお、本実施の形態のデータ移行処理では、移行領域の管理にビットマップを用いる例を説明する。
【００７４】
移行プログラム１０６は、任意の管理単位に１ビットのフラグを割り当て、移行の要否を示すビットマップを構成する。管理単位はＳＣＳＩ等でよく使用される１ブロック（５１２Byte）や、任意の大きさ（例えば、１ＭByte等）でもよい。ビットがＯＮになっている（値が１である）場合には、最新状態になっているため移行が不要とし、ビットがＯＦＦになっている（値が０である）場合には、最新状態ではないので移行が必要とする。移行プログラム１０６はデータ移行処理時の初期化時に全ビットをＯＦＦに設定し、データ移行処理を開始する。
【００７５】
移行ステータスはボリュームに関する状態を示し、移行処理の４状態（図５に示す「移行処理前」（５０５）、「経路移行状態」（５０６）、「データ移行状態」（５０７）、「移行処理後」（５０８））のいずれかとなる。進捗ポインタはデータ移行の進捗を示し、初期化時に移行プログラム１０６によってボリューム１０５の先頭を示すよう初期化される。データ移行処理を実行する毎に移行プログラム１０６は進捗ポインタを更新する。通常、進捗ポインタはボリューム１０５のアドレスを示す。例えば、進捗ポインタにデータ移行が進行したバイト数を加算して、アドレスをインクリメントする。
【００７６】
移行先記憶サブシステム１０３ｂの移行プログラム１０６は、データ移行中のボリューム１０５の進捗ポインタを調査し、データ移行処理の状態を確認する（８０２）。進捗ポインタがボリューム１０５の末尾を示しているときには該ボリューム１０５のデータ移行が終了しており、以後、移行プログラム１０６は該ボリューム１０５に対するデータ移行処理を行わない。
【００７７】
移行プログラム１０６は、進捗ポインタが示す領域のデータを移行するために、該領域の状態を確認する（８０３）。該領域が読み出し、書き込み処理等によって使用されていない場合、該領域を確保し次の処理に進む（８０５）。一方、該領域が読み出し、書き込み処理等によって使用中の場合、移行プログラム１０６は該領域が使用可能になるまで待機し（８０４）、該領域が確保（８０５）できた後に次の処理に進む。
【００７８】
移行プログラム１０６は、移行元記憶サブシステム１０３ａより該領域に記憶されたデータを読み出し（８０６）、キャッシュメモリ１１０に格納し、移行先記憶サブシステム１０３ｂのディスク装置２１０に書き込む（８０７）。
【００７９】
移行プログラム１０６は、移行元記憶サブシステム１０３ａから移行先記憶サブシステム１０３ｂへ移行されたデータに関する制御情報を更新する。ビットマップに関しては移行済み領域に対応するビットをＯＮにし（８０８）、移行済み領域の大きさだけ進捗ポインタを進める（８０９）。
【００８０】
通常キャッシュメモリ１１０は二重化、不揮発化されているため、必ずしも上記タイミングで移行先記憶サブシステム１０３ｂのディスク装置２１０へ書き込む必要はない。移行データをキャッシュメモリ１１０に格納した直後にビットマップや進捗ポインタを更新し、次の移行データの処理を実行してもよい。
【００８１】
［書き込み処理］
図９は、本発明の実施の形態の経路移行状態とデータ移行状態における書き込み処理の概要を示し、図１０は、この書き込み処理の詳細な動作を示すフローチャートである。
【００８２】
経路移行状態（図９（ａ））では、ホスト１０１から移行先記憶サブシステム１０３ｂへ書き込まれるデータ９０１は、移行先記憶サブシステム１０３ｂではなく、移行元記憶サブシステム１０３ａに格納される。すなわち、経路移行状態では、全ての書き込みは移行先記憶サブシステム１０３ｂには残さず移行元記憶サブシステム１０３ａに反映される。
【００８３】
具体的には、まず、移行先記憶サブシステム１０３ｂは、ホスト１０１から受け取ったデータ９０１を移行先記憶サブシステム１０３ｂのキャッシュメモリ１１０へ格納する。そして、移行先記憶サブシステム１０３ｂは、キャッシュメモリ１１０に格納したデータを移行元記憶サブシステム１０３ａのディスク装置２１０の記憶領域に書き込む。そして、移行元記憶サブシステム１０３ａに書き込んだ後に、ホスト１０１に対し当該書き込み処理の結果９０４を返送する。経路移行状態においてはデータ移行処理を伴わないので、ビットマップ１０９は更新されない（９０３）。
【００８４】
データ移行状態（図９（ｂ））では、ホスト１０１から移行先記憶サブシステム１０３ｂへ書き込まれるデータ９０１は、移行先記憶サブシステム１０３ｂに格納される。
【００８５】
具体的には、まず、移行先記憶サブシステム１０３ｂは、ホスト１０１から受け取ったデータ９０１を移行先記憶サブシステム１０３ｂのキャッシュメモリ１１０へ格納する。そして、データが未移行の場合、書き込みの対象となる領域のデータをこの読み出しタイミングで移行する。
【００８６】
データ移行処理における管理単位は、ホスト１０１からのアクセス単位と異なる（通常は、データ移行処理における管理単位はホスト１０１のアクセス単位よりも大きい）。データ９０１の書き込み対象となる領域がデータ移行処理の管理単位よりも小さい場合には、移行先記憶サブシステム１０３ｂは移行元記憶サブシステム１０３ａから該領域に関する管理単位の分のデータを読み込んで（９０５）、キャッシュ１１０に書き込む。
【００８７】
そして、キャッシュ１１０において、移行元記憶サブシステム１０３ａから読み出されたデータと、ホスト１０１から受け取ったデータ９０１を合わせて、移行先記憶サブシステム１０３ｂのディスク装置２１０へ書き込む。このディスク装置２１０への書き込みと共に、データ移行を管理するビットマップ１０９の該当するビットをＯＮにする（９０６）。
【００８８】
次に、図１０を用いて書き込み処理の詳細な動作を説明する。
【００８９】
移行先記憶サブシステム１０３ｂの移行プログラム１０６は、ホスト１０１から要求を受け付けると移行処理の状態を確認する（１００１）。移行処理前は、移行先記憶サブシステム１０３ｂに対してアクセスすることができないので（図５参照）、移行処理前にアクセス要求を受け付けた場合には、異常であると判定し、ホストにエラーを送信する（１００２）。状態が「移行処理前」でなければ、移行先記憶サブシステム１０３ｂにアクセス可能なので、正常であると判定し、処理を継続する。
【００９０】
移行先記憶サブシステム１０３ｂの移行プログラム１０６は、書き込み要求の内容を解析する（１００３）。そして、該書き込み要求によって指示されたアドレスに対応する領域を選択し、キャッシュメモリ１１０にデータ格納用領域を確保する（１００４）。この際、要求に係るデータが使用可能なキャッシュメモリ１１０よりも大きい場合は、全データが受け取り済みになるまで、１００４〜１０１４の処理を繰り返す（１０１５）。
【００９１】
移行プログラム１０６は、ホスト１０１から書き込みデータを受け取り、該受け取ったデータをキャッシュメモリ１１０に確保された領域に格納する（１００５）。
【００９２】
そして、状態が「経路移行中」であるか否かを判定し（１００６）、「経路移行中」である場合は、そのまま移行元記憶サブシステム１０３ａへデータを書き込む（１００７）。そして、全てのデータの書き込みが終了すると（１０１５）、ホスト１０１へ当該処理の結果を返送し（１０１６）、書き込み処理が終了する。
【００９３】
一方、「経路移行中」でない場合は、「データ移行中」であるか否かを判定し（１００８）、「データ移行中」である場合は、進捗ポインタ及びビットマップを参照し、書き込みに係る領域が移行済みか否かを判定する（１００９）。
【００９４】
移行済み領域である場合は、移行先記憶サブシステム１０３ｂへデータを書き込む（１０１４）。すなわち、通常の記憶サブシステム１０３のデータ書き込み動作と同様の処理を実行する。なお、データ移行処理が終了した場合、全ての領域について移行済みであるため、移行先記憶サブシステム１０３ｂへデータが書き込まれる。
【００９５】
一方、移行済み領域ではない場合は、移行元記憶サブシステム１０３ａからデータを読み出し（１０１０）、該移行元記憶サブシステム１０３ａから読み出されたデータと、ホスト１０１から受け取ったデータ９０１とを、キャッシュメモリ１１０において合わせ、新領域データを生成する（１０１１）。具体的には移行元記憶サブシステム１０３ａから読み出したデータに対し、書き込みデータ９０１を該当する箇所に上書きする。
【００９６】
そして、移行プログラム１０６は、生成された新領域データを移行先記憶サブシステム１０３ｂのディスク装置２１０に書き込み（１０１２）、該領域に対する移行済みビットをＯＮにして、該領域が移行済みであることを示す（１０１３）。
【００９７】
書き込み要求に関する全てのデータに対して、上記処理が実行された後に、移行プログラム１０６はホスト１０１に対して当該処理の結果を送信する（１０１６）。
【００９８】
本実施の形態の書き込み処理において行われるデータ書き込み（１００７、１０１２、１０１４）はデータの一貫性を保証するためホストへの処理結果返送処理１０１６より先に実行されなければならない。しかし、処理１０１２及び処理１０１４においては移行先記憶サブシステム１０３ｂにデータが書き込まれ、移行先記憶サブシステム１０３ｂのキャッシュ１１０においてデータの一貫性を保証するため、ホストへのステータス返送処理１０１６と同期しないタイミングで実施してもよい。
【００９９】
本実施の形態の書き込み処理では、移行元記憶サブシステム１０３ａから読み出し、書き込みデータ９０１とキャッシュ１１０で合わせて、ディスク装置２１０に書き込むデータ移行方法について説明したが、他にもビットマップを使用することなく、進捗ポインタのみによって管理することもできる。この場合、全ての書き込みデータ９０１は移行先記憶サブシステム１０３ｂのディスク装置２１０に書き込まれるが、進捗ポインタより大きいアドレスの未移行領域への書き込みデータ９０１は、移行元記憶サブシステム１０３ａにも書き込む。その後、図８で示したデータ移行処理によって移行元サブシステム１０３ａから移行先記憶サブシステム１０３ｂへデータが移行される。
【０１００】
［読み出し処理］
図１１は、本発明の実施の形態の経路移行状態とデータ移行状態における読み出し処理の概要を示し、図１２は、この読み出し処理の詳細な動作を示すフローチャートである。
【０１０１】
経路移行状態（図１１（ａ））では、ホスト１０１から移行先記憶サブシステム１０３ｂには最新データが格納されていないので、必ず移行元記憶サブシステム１０３ａからデータ１２０１を読み出す（１１０２）。
【０１０２】
具体的には、移行先記憶サブシステム１０３ｂは、ホスト１０１から要求されたデータ１１０１を移行元記憶サブシステム１０３ａのディスク装置２１０の記憶領域から読み出して、移行先記憶サブシステム１０３ｂのキャッシュメモリ１１０へ格納する。移行先記憶サブシステム１０３ｂは、ホスト１０１から要求されたデータ１１０１をホスト１０１に送信する。そして、データ１１０１の送信が終了するとステータス１１０４をホスト１０１へ送信する。経路移行状態においては、データの読み出し処理ではデータ移行処理が発生しないので、ビットマップ１０９は更新されない。
【０１０３】
データ移行状態（図１１（ｂ））では、データ移行状態で、かつ、ホスト１０１から要求されたデータが未移行の場合、読み出しが行われた領域のデータをこの読み出しタイミングで移行する。
【０１０４】
具体的には、データ移行処理における管理単位は、ホスト１０１からのアクセス単位と異なる（通常は、データ移行処理における管理単位はホスト１０１のアクセス単位よりも大きい）。データ１１０１の読み出し対象となる領域がデータ移行処理の管理単位よりも小さい場合には、移行先記憶サブシステム１０３ｂは移行元記憶サブシステム１０３ａから該領域に関する管理単位の分のデータを読み出し（１１０５）、キャッシュ１１０に書き込む。
【０１０５】
そして、キャッシュ１１０に格納された要求データ１１０１をホスト１０１へ送信する。その後、移行先記憶サブシステム１０３ｂは、移行元記憶サブシステム１０３ａから読み出されキャッシュ１１０に格納されたデータをディスク装置２１０へ移行データとして書き込む。このディスク装置２１０への書き込みと共に、データ移行を管理するビットマップ１０９の該当するビットをＯＮにする（１１０３）。
【０１０６】
次に、図１２を用いて読み出し処理の詳細な動作を説明する。
【０１０７】
移行先記憶サブシステム１０３ｂの移行プログラム１０６は、ホスト１０１から要求を受け付けると移行処理の状態を確認する（１２０１）。移行処理前は、移行先記憶サブシステム１０３ｂに対してアクセスすることができないので（図５参照）、移行処理前にアクセス要求を受け付けた場合には、異常であると判定し、ホストにエラーを送信する（１２０２）。状態が「移行処理前」でなければ、移行先記憶サブシステム１０３ｂにアクセス可能なので、正常であると判定し、処理を継続する。
【０１０８】
移行先記憶サブシステム１０３ｂの移行プログラム１０６は、読み出し要求の内容を解析する（１２０３）。そして、該書き込み要求によって指示されたアドレスに対応する領域を選択し、キャッシュメモリ１１０にデータ格納用領域を確保する（１２０４）。この際、要求に係るデータが使用可能なキャッシュメモリ１１０よりも大きい場合は、全データが送信済みになるまで、１２０４〜１０１３の処理を繰り返す（１２１４）。
【０１０９】
移行プログラム１０６は、状態が「経路移行中」であるか否かを判定し（１２０５）、「経路移行中」である場合は、そのまま移行元記憶サブシステム１０３ａからデータを読み出し（１２０６）、全てのデータの読み出しが終了すると（１２１５）、ホスト１０１へステータスを返送し（１２１５）、読み出し処理が終了する。
【０１１０】
一方、「経路移行中」でない場合は、「データ移行中」であるか否かを判定し（１２０７）、「データ移行中」である場合は、進捗ポインタ及びビットマップを参照し、読み出しに係る領域が移行済みか否かを判定する（１２０８）。
【０１１１】
移行済み領域である場合は、移行先記憶サブシステム１０３ｂからデータを読み出す（１０１４）。すなわち、通常の記憶サブシステム１０３のデータ読み出し動作と同様の処理を実行する。なお、データ移行処理が終了した場合、全ての領域について移行済みであるため、移行先記憶サブシステム１０３ｂからデータが読み出される。
【０１１２】
一方、移行済み領域ではない場合は、移行元記憶サブシステム１０３ａからデータを読み出し（１２０９）、キャッシュメモリ１１０に格納し新領域データとする。そして、新領域データを、移行先記憶サブシステム１０３ｂのディスク装置２１０に書き込み（１２１０）、該領域に対する移行済みビットをＯＮとし、該領域が移行済みであることを示す（１２１１）。
【０１１３】
移行先記憶サブシステム１０３ｂは、新領域データのうちホスト１０１から要求されたデータをホスト１０１に送信する（１２１３）。
【０１１４】
読み出し要求に関する全てのデータに対して、上記処理を実行した後に、移行プログラム１０６はホスト１０１に対してステータスを送信する（１２１５）。
【０１１５】
本実施の形態の読み出し処理において行われるデータ書き込み（１２１０）は、データの一貫性を保証するためホストへのステータス返送処理１２１５より先に実行されなければならないが、移行先記憶サブシステム１０３ｂのキャッシュ１１０においてデータの一貫性を保証するため、ホストへのステータス返送処理１２１５と同期しないタイミングで実施してもよい。
【０１１６】
本実施の形態の読み出し処理では、未移行領域へのホスト１０１からの読み出し要求のタイミングで該領域を移行し、ディスク装置２１０に書き込むデータ移行方法について説明したが、他にもビットマップを使用することなく、進捗ポインタのみによって管理することもできる。この場合、未移行領域への読み出し要求があると、移行先記憶サブシステム１０３ｂはデータ１１０１のみを移行元記憶サブシステム１０３ａから読み出し、ホスト１０１へ送信し、移行処理は行わない。その後、図８で示したデータ移行処理によって移行元記憶サブシステム１０３ａから移行先記憶サブシステム１０３ｂへデータが移行される。
【０１１７】
［アクセス制限］
図１３〜図１７は、記憶サブシステム１０３に対するアクセス制限の例を示している。物理的な接続によってアクセスの可否を制御する場合と、論理的に（アクセス管理によって）制御する場合とが考えられる。さらに、論理的に制御する場合も、ネットワーク上でアクセス制限を行う場合と、記憶サブシステム側でアクセス制限を行う場合とが考えられる。以下これらの３種類の例について実施の形態を示す。
【０１１８】
［結線による例］
図１３は、本発明の実施の形態の情報処理システムの、物理的な接続によってアクセス制御を行う動作の説明図である。
【０１１９】
図１３に示す実施の形態では、移行元記憶サブシステムのＳＡＮ１０２ａと、移行先記憶サブシステムのＳＡＮ１０２ｂと存在する。移行処理は図５に示すとおり、「移行処理前」（５０５）、「経路移行状態」（５０６）、「データ移行状態」（５０７）、「移行処理後」（５０８）の４状態がありそれぞれ図１３（ａ）、図１３（ｂ）、図１３（ｃ）、図１３（ｄ）に対応する。
【０１２０】
「移行処理前」（５０５）では、移行先記憶サブシステム１０３ｂは、移行元記憶サブシステム１０３ａに接続されているＳＡＮ１０２ａと接続されておらず、移行元記憶サブシステム１０３ａと移行先記憶サブシステム１０３ｂとは物理的に切り離されている。また、ホスト１０１は、移行先記憶サブシステム１０３ｂのＳＡＮ１０２ｂと接続されていないので、ホスト１０１は移行先記憶サブシステム１０３ｂにアクセスすることができない（図１３（ａ））。
【０１２１】
「経路移行状態」（５０６）では、移行先記憶サブシステム１０３ｂは、移行元記憶サブシステム１０３ａに接続されているＳＡＮ１０２ａと接続され、ホスト１０１から移行先記憶サブシステム１０３ｂにアクセスでき、ホスト１０１の経路移行が可能な状態とする。また、移行元記憶サブシステム１０３ａは移行先記憶サブシステム１０３ｂとＳＡＮ１０２ａを介して接続されているので、移行先記憶サブシステム１０３ｂから移行元記憶サブシステム１０３ａに対して経路移行処理のためのアクセスをすることができる（図１３（ｂ））。
【０１２２】
ホスト１０１の経路移行が終了すると「データ移行状態」（５０７）となり、ホスト１０１から移行元記憶サブシステム１０３ａへのアクセスを禁止しなければならない。このため、「データ移行状態」（５０７）では、ホスト１０１をＳＡＮ１０２ｂに接続し、ホスト１０１からＳＡＮ１０２を介して移行先記憶サブシステム１０３ｂへアクセスができるようにする。また、データを移行するためにＳＡＮ１０２ａには移行元記憶サブシステム１０３ａと移行先記憶サブシステム１０３ｂとが接続された状態を維持する（図１３（ｃ））。
【０１２３】
データの移行終了後の「移行処理後」（５０８）では、移行先記憶サブシステム１０３ｂから移行元記憶サブシステム１０３ａへのアクセスは不要となるため、移行元記憶サブシステム１０３ａ及びＳＡＮ１０２ａを移行先記憶サブシステム１０３ｂから切り離す。ホスト１０１は、ＳＡＮ１０２ｂに接続されているので、ホスト１０１からＳＡＮ１０２を介して移行先記憶サブシステム１０３ｂへアクセスすることができる（図１３（ｄ））。
【０１２４】
なお、ＳＡＮ１０２を使用せずに、直接ホスト１０１から移行先記憶サブシステム１０３ｂへ接続してもよい。この場合「経路移行状態」（５０６）ではＳＡＮ１０２ａの代わりにホスト１０１と移行元記憶サブシステム１０３ａの間、ホスト１０１と移行先記憶サブシステム１０３ｂの間、移行元記憶サブシステム１０３ａと移行先記憶サブシステム１０３ｂの間の各々を接続するため３本の経路が必要である。「データ移行状態」（５０７）においては移行元１０３ａと移行先記憶サブシステム１０３ｂの間、ホスト１０１と移行先記憶サブシステム１０３ｂの間の各々を接続する２本の経路が必要である。
【０１２５】
ＳＡＮ１０２を使用しない場合、移行先記憶サブシステム１０３ｂの接続性が低下するため、多くのホスト１０１や記憶サブシステム１０３が接続される大規模な情報処理システムを構成するときは、ＳＡＮ１０２を使用するのが好ましい。
【０１２６】
［ゾーニングによる例］
図１４は、本発明の実施の形態のゾーニングによってアクセス制限をする情報処理システムの構成を表すブロック図である。
【０１２７】
図１４に示す実施の形態では、ネットワーク管理のために移行管理ホスト１１２にＳＡＮ管理ＡＰＩ（Application Program Interface）１４０１を設ける。移行管理プログラム１１３は、データ移行処理の各状態に対するＳＡＮ１０２におけるアクセス経路の制限を、ＳＡＮ管理ＡＰＩ１４０１によって設定する。なお、他の構成は前述した実施の形態（図１）と同じなので詳細な説明は省略する。
【０１２８】
図１５は、本発明の実施の形態の情報処理システムの、ゾーニングによってアクセス制御を行う動作の説明図である。
【０１２９】
ゾーニングは、ファイバチャネルにおけるポート固有の識別番号（ＷＷＮ：World Wide Name）を用いて、複数のポートをグループ（ゾーン）に分ける。そして、ＳＡＮを構成するファイバチャネルスイッチによって、アクセス元及びアクセス先を特定し、他のゾーンに対する又は他のゾーンからのアクセスを許可しないようにスイッチの切り替えを制御をするアクセス制限方法であり、ネットワーク（ＳＡＮ）に備わったアクセス制限方法である。
【０１３０】
移行処理は、図５に示すとおり、「移行処理前」（５０５）、「経路移行状態」（５０６）、「データ移行状態」（５０７）、「移行処理後」（５０８）の４状態がありそれぞれ図１５（ａ）、図１５（ｂ）、図１５（ｃ）、図１５（ｄ）に対応する。
【０１３１】
ホスト１０１、移行元記憶サブシステム１０３ａ及び移行先記憶サブシステム１０３ｂがＳＡＮ１０２に接続されている。
【０１３２】
「移行処理前」（５０５）では、ホスト１０１と移行元記憶サブシステム１０３ａとを含み、移行先記憶サブシステム１０３ｂを含まないゾーン１５０１が設定されているので、ホスト１０１からは移行先記憶サブシステム１０３ｂにはアクセスすることができない（図１５（ａ））。
【０１３３】
「経路移行状態」（５０６）では、ゾーン１５０１に移行先記憶サブシステム１０３ｂを加えたゾーン１５０２を設定する。これによって、ホスト１０１からは移行元記憶サブシステム１０３ａ及び移行先記憶サブシステム１０３ｂの双方にアクセス可能となり、ホスト１０１の経路移行が可能な状態となる（図１５（ｂ））。
【０１３４】
ホスト１０１の経路移行が終了すると「データ移行状態」（５０７）となり、ホスト１０１から移行元記憶サブシステム１０３ａへのアクセスを禁止しなければならない。このため、「データ移行状態」（５０７）では、ゾーン１５０２から移行元記憶サブシステム１０３ａを除いたゾーン１５０３を設定する。また、移行元記憶サブシステム１０３ａと移行先記憶サブシステム１０３ｂを含むゾーン１５０４を設定する。ゾーン１５０３はホスト１０１から移行先記憶サブシステム１０３ｂへのアクセスに使用され、ゾーン１５０４は移行元記憶サブシステム１０３ａから移行先記憶サブシステム１０３ｂへのデータ移行に使用される（図１５（ｃ））。
【０１３５】
データの移行終了後の「移行処理後」（５０８）では、移行先記憶サブシステム１０３ｂから移行元記憶サブシステム１０３ａへのアクセスは不要となるため、ゾーン１５０４を削除し、ホスト１０１から移行先記憶サブシステム１０３ｂへのアクセスのためゾーン１５０３のみが残り、ゾーン１５０３が継続して使用される（図１５（ｄ））。
【０１３６】
以上、ゾーニングによるアクセス制限の例を説明したが、同様にイーサネット（登録商標、以下同じ）におけるＶＬＡＮによっても、アクセス可能なホストを制限することができる。
【０１３７】
［記憶サブシステムによって実現する例］
通常記憶サブシステム１０３は、ＬＵセキュリティと呼ばれるボリューム１０５に対するアクセス制限の機能（以下、ストレージセキュリティ機能）を備えている。以下に説明する実施の形態では、記憶サブシステム１０３に備わるアクセス制限を使用してデータ移行処理のアクセス制御を実現する。
【０１３８】
図１６は、本発明の実施の形態のストレージセキュリティ機能によってアクセス制限をする情報処理システムの構成を表すブロック図である。
【０１３９】
図１６に示す実施の形態では、ネットワーク管理のために移行管理ホスト１１２に記憶サブシステム管理ＡＰＩ（Application Program Interface）１６０１を設ける。移行管理プログラム１１３は、データ移行処理の各状態に対するＳＡＮ１０２におけるアクセスの制限を、記憶サブシステムＡＰＩ１６０１によって設定する。このアクセスの制限には、ホストに論理的に割り当てられた識別子（例えば、ＩＰアドレス等のネットワーク上の識別子）や、ネットワークインタフェースに物理的に割り当てられた識別子（例えば、イーサネットにおけるＭＡＣアドレス、ファイバチャネルにおけるＷＷＮ）や、ネットワークインタフェースに論理的に割り当てられた識別子（例えば、ｉＳＣＳＩ Ｎａｍｅ）を使用することができる。なお、他の構成は、前述した実施の形態（図１）と同じなので詳細な説明は省略する。
【０１４０】
図１７は、本発明の実施の形態のストレージセキュリティ機能によってアクセス制御を行う動作の説明図である。
【０１４１】
移行処理は、図５に示すとおり、「移行処理前」（５０５）、「経路移行状態」（５０６）、「データ移行状態」（５０７）、「移行処理後」（５０８）の４状態がありそれぞれ図１７（ａ）、図１７（ｂ）、図１７（ｃ）、図１７（ｄ）に対応する。
【０１４２】
ホスト１０１、移行元記憶サブシステム１０３ａ及び移行先記憶サブシステム１０３ｂがＳＡＮ１０２に接続されている。
【０１４３】
「移行処理前」（５０５）では、移行管理プログラム１１３は、移行元記憶サブシステム１０３ａにはホスト１０１からのアクセスを許可し、移行先記憶サブシステム１０３ｂには外部からのアクセスを禁止するように設定する（図１７（ａ））。
【０１４４】
「経路移行状態」（５０６）では、移行管理プログラム１１３は、移行元記憶サブシステム１０３ａにはホスト１０１からのアクセスを許可し、移行先記憶サブシステム１０３ｂにもホスト１０１からのアクセスを許可するように設定する。また、経路移行中は、移行先記憶サブシステム１０３ｂから移行元記憶サブシステム１０３ａへのアクセスが必要となるため、移行管理プログラム１１３は、移行元記憶サブシステム１０３ａには移行先記憶サブシステム１０３ｂからのアクセスも許可するように設定する（図１７（ｂ））。
【０１４５】
ホスト１０１の経路移行が終了すると「データ移行状態」（５０７）となり、ホスト１０１から移行元記憶サブシステム１０３ａへのアクセスを禁止しなければならない。このため、「データ移行状態」（５０７）では、移行管理プログラム１１３は、移行元記憶サブシステム１０３ａにはホスト１０１からのアクセスを禁止し、移行先記憶サブシステム１０３ｂからのアクセスを許可するように設定する。移行先記憶サブシステム１０３ｂから移行元記憶サブシステム１０３ａへのアクセスによってデータ移行が行われる。移行先記憶サブシステム１０３ｂには、「経路移行状態」（５０６）と同様に、ホスト１０１からのアクセスが許可される状態が設定される（図１７（ｃ））。
【０１４６】
データの移行終了後の「移行処理後」（５０８）では、移行先記憶サブシステム１０３ｂから移行元記憶サブシステム１０３ａへのアクセスは不要となるため、移行管理プログラム１１３は、移行元記憶サブシステム１０３ａに対する全てのアクセスを禁止する。また移行管理プログラム１１３は移行先記憶サブシステム１０３ｂに対してはホスト１０１からのアクセスを許可した状態を継続する（図１７（ｄ））。
【０１４７】
［組み合わせ］
図１３〜図１７において、ネットワーク１０２、記憶サブシステム１０３におけるアクセス制限を実現する実施の形態を説明したが、ネットワーク１０２でのアクセス制限と、記憶サブシステム１０３でのアクセス制限とを組み合わせることによって、より堅牢なアクセス制限を実現することもできる。
【０１４８】
［デバッグ状態付データ移行］
経路移行処理においては、新経路の設定を確認する必要がある。そこで図３における経路移行処理（図３の３０３）においてデバッグモードを設けることがある。この場合は全ホスト１０１に対する経路変更を同時に実施する必要がある。
【０１４９】
図１８は、本発明の実施の形態のデバッグモード付のデータ移行処理のフローチャートである。
【０１５０】
まず、移行前の状態において、前述した図３の初期設定（３０１）と同様に、移行管理プログラム１１３はデータ移行のための初期設定をする（１８０１）。
【０１５１】
初期設定の後、前述した図３の移行先記憶サブシステム追加処理（３０２）と同様に、移行先記憶サブシステム１０３ｂを情報処理システムに追加する（１８０２）。
【０１５２】
その後、データ移行に関係する全ホスト１０１に対して新経路を設定する（１８０３）。同時に、移行先記憶サブシステム１０３ｂを「デバッグモード」へと切り替える。
【０１５３】
「デバッグモード」では、移行元記憶サブシステム１０３ａに対するアクセスを禁止する。移行先記憶サブシステム１０３ｂは、ホスト１０１からの書き込みデータを移行先記憶サブシステム１０３ｂへ格納する。書き込みデータに関してはビットマップに更新データの情報を記憶しておく。
【０１５４】
さらに、移行先記憶サブシステム１０３ｂは、ホスト１０１からの読み出し要求に関しては、ビットマップにおいて更新情報を検査し、移行先記憶サブシステム１０３ｂに書き込まれている場合には、移行先記憶サブシステム１０３ｂからデータを読み出す。一方、移行先記憶サブシステム１０３ｂに書き込みデータがない場合には、移行元記憶サブシステム１０３ａからデータを読み出す。そして読み出したデータをホスト１０１へ送信する。
【０１５５】
その後、ホスト１０１にてテストプログラムを実行することによって経路確認を行って、新しく設定された経路が正しいか否かを判定する（１８０４）。
【０１５６】
経路が正しく設定されていなければ、ホスト１０１においてテストプログラムが実行されている間に、テストプログラムが移行元記憶サブシステム１０３ａへアクセスを行おうとした場合、移行元記憶サブシステム１０３ａはアクセス不可能となっているためエラーとなる（１８０５）。そして、エラー回数が規定回数内であるか否かを判定する（１８０６）。エラー回数に上限値を設けておき、規定回数内であれば再度設定を見直し（１８０７）、データを回復し（１８０８）、ステップ１８０３に戻って、テストプログラムを再度実行する。
【０１５７】
一方、エラー回数が規定回数を超えた場合、移行先記憶サブシステム１０３ｂは書き込みデータを破棄し、データを移行先装置追加時の状態（経路移行の前の状態）に戻すデータ回復処理を実行する（１８０９）。データ回復処理は、移行先記憶サブシステム１０３ｂへの書き込みデータを消去してもよいが、ビットマップに記録された更新情報を全て消去しても実現可能である。その後、この移行処理を処理を終了する。
【０１５８】
また、テストプログラムが正常に終了し、経路が正しく設定されていると判定されると、データを経路移行前の状態に戻すデータ回復処理を実行する（１８１０）。そして、データ移行処理を実行する（１８１１）。データ移行処理（１８１１）は、図３のデータ移行（３０４）処理と同様の処理を実行する。
【０１５９】
この移行処理の間（ステップ１８０３〜１８１１）、移行先記憶サブシステム１０３ｂは移行元記憶サブシステム１０３ａをアクセスすることができ、ホスト１０１は移行先記憶サブシステム１０３ｂをアクセスすることができる。
【０１６０】
図１９は、デバッグモード付のデータ移行処理（図１８）の各状態における移行元記憶サブシステム１０３ａ、移行先記憶サブシステム１０３ｂの動作を示す。
【０１６１】
「デバック状態」（１９０６）では、ホスト１０１から移行元記憶サブシステム１０３ａへはアクセス不可とし、移行先記憶サブシステム１０３ｂからの読み出しに関しては、未更新のデータは移行元記憶サブシステム１０３ａから読み出し、更新済みのデータは移行先１０３ｂから読み出しホスト１０１へ送信する。ホスト１０１からの書き込み処理については、全てのデータを移行先記憶サブシステム１０３ｂへ格納する。
【０１６２】
なお、「移行処理前」「データ移行状態」及び「移行処理後」の各状態は、図５で前述したものと同じなので、その説明は省略する。
【０１６３】
以上説明したように、本発明の実施の形態では、データを移行する前に経路移行状態を設け、経路移行状態中でもホストコンピュータからのアクセスを可能としたので、データ移行時の可用性が向上する。
【０１６４】
具体的には、ボリューム単位でデータ移行処理をし、経路移行状態を設け、経路移行中のボリュームに係わるホストの経路を順次切り替える。そして、経路移行中のボリュームに複数のホストコンピュータがアクセスしている場合は、経路移行前のホストコンピュータは旧記憶サブシステムにアクセスし、経路移行後のホストコンピュータは新記憶サブシステムにアクセスする。このとき旧記憶サブシステムと新記憶サブシステムのデータ一貫性を保つために、旧記憶サブシステムに全ての更新情報が反映されるようにする。経路移行前のホストコンピュータは旧記憶サブシステムに書き込み／読み出し処理を実行し、読み出し処理時のデータは旧記憶サブシステムから読み出し、書き込み処理時のデータは旧記憶サブシステムに書き込む。また、経路移行後のホストコンピュータからの新記憶サブシステムに対するアクセスは、読み出し処理時は、新記憶サブシステムが旧記憶サブシステムから読み出したデータをホストへ送信する。書き込み処理時は新記憶サブシステムにデータが書き込まれる。
【０１６５】
このようにすることで、経路移行状態においても、経路未移行ホストから旧記憶サブシステムへのアクセス、及び、経路移行済ホストから新記憶サブシステムへのアクセスが同時に可能となる。また、経路移行状態において、旧記憶サブシステムに最新のデータが格納され、旧記憶サブシステムと新記憶サブシステムとのデータの一貫性が保証され、データ移行処理においてシステムの可用性を向上することができる。
【０１６６】
また、本発明に係る機能は、新記憶サブシステムのみによって実現可能であり、旧記憶サブシステムに新規の機能を追加する必要がない。
【図面の簡単な説明】
【０１６７】
【図１】本発明の実施の形態の情報処理システムの構成を表すブロック図である。
【図２】本発明の実施の形態の記憶サブシステムの構成図である。
【図３】本発明の実施の形態の移行処理のフローチャートである。
【図４】本発明の実施の形態の情報処理システムの動作の説明図である。
【図５】本発明の実施の形態の移行処理の動作の説明図である。
【図６】本発明の実施の形態の移行管理テーブルの説明図である。
【図７】本発明の実施の形態の経路移行処理の動作を示すフローチャートである。
【図８】本発明の実施の形態のデータ移行処理の動作を示すフローチャートである。
【図９】本発明の実施の形態の経路移行状態とデータ移行状態における書き込み処理の概要の説明図である。
【図１０】本発明の実施の形態の書き込み処理の動作を示すフローチャートである。
【図１１】本発明の実施の形態の経路移行状態とデータ移行状態における読み出し処理の概要の説明図である。
【図１２】本発明の実施の形態の読み出し処理の動作を示すフローチャートである。
【図１３】本発明の実施の形態の情報処理システムの、物理的な接続によってアクセス制御を行う動作の説明図である。
【図１４】本発明の実施の形態のゾーニングによってアクセス制限をする情報処理システムの構成を表すブロック図である。
【図１５】本発明の実施の形態の情報処理システムの、ゾーニングによってアクセス制御を行う動作の説明図である。
【図１６】本発明の実施の形態のストレージセキュリティ機能によってアクセス制限をする情報処理システムの構成を表すブロック図である。
【図１７】本発明の実施の形態の情報処理システムの、ストレージセキュリティ機能によってアクセス制御を行う動作の説明図である。
【図１８】本発明の実施の形態の情報処理システムのデバッグモード付データ移行処理のフローチャートである。
【図１９】本発明の実施の形態の情報処理システムのデバッグモード付データ移行処理の動作の説明図である。
【符号の説明】
【０１６８】
１０１  ホスト
１０２  ＳＡＮ
１０３  記憶サブシステム
１０４  インタフェース
１０５  論理ボリューム
１０６  プログラム
１０７  構成情報
１０８  制御情報
１０９  更新情報
１１０  データ
１１１  管理用ネットワーク
１１２  移行管理ホスト
１１３  移行管理プログラム
１１４  移行管理テーブル
２０１  コントローラ
２０２  ＣＰＵ
２０３  ホストアダプタ
２０４  ネットワークコントローラ
２０５  メモリ
２０７  ディスクアダプタ
２０８  内部バス
２０９  ディスクインタフェース
２１０  ディスク装置
【図１】
2005202495.tif 000003
【図２】
2005202495.tif 000004
【図３】
2005202495.tif 000005
【図４】
2005202495.tif 000006
【図５】
2005202495.tif 000007
【図６】
2005202495.tif 000008
【図７】
2005202495.tif 000009
【図８】
2005202495.tif 000010
【図９】
2005202495.tif 000011
【図１０】
2005202495.tif 000012
【図１１】
2005202495.tif 000013
【図１２】
2005202495.tif 000014
【図１３】
2005202495.tif 000015
【図１４】
2005202495.tif 000016
【図１５】
2005202495.tif 000017
【図１６】
2005202495.tif 000018
【図１７】
2005202495.tif 000019
【図１８】
2005202495.tif 000020
【図１９】
2005202495.tif 000021