(57)【要約】【課題】ホストとストレージがネットワーク接続するシステムにおいて、移行元と移行先でハードウェア／ソフトウェア環境が任意の異なる環境であっても、安定した接続の切り替えを行うことができる装置、方法の提供。【解決手段】ストレージがホストに対して一度接続を切断した後に再接続を要求するメッセージを送信する機能と、ストレージがホストからの再接続のメッセージを受けた際に、接続は他のストレージに移動したことを示すメッセージと移動先のアドレス情報を送る機能を備え、これらのメッセージを一連の処理として、再接続要求完了後に移動メッセージを送る制御を行い、移行元から移行先への接続パスの切り替えを実現する。【選択図】図２
2008165379.tif 000002
【特許請求の範囲】
【請求項１】
ホストに対して接続を一旦切断した後に再接続を要求するメッセージを送信する再接続要求機能と、
前記ホストからの再接続のメッセージを受けた際に、前記接続は他のストレージに移動したことを示す移動メッセージと移動先のアドレス及び／又は識別子情報とを送る移動先通知機能と、
これらのメッセージを一連の処理として、前記再接続要求の完了後に、前記移動メッセージを送ることで、前記ホストの接続先を切り替える手段を備え、移行元から移行先への接続パスの切り替えを実現する、ことを特徴とするストレージ。
【請求項２】
再接続の要求はｉＳＣＳＩ（Ｉｎｔｅｒｎｅｔ  ＳＣＳＩ）プロトコルの非同期（Ａｓｙｎｃｈｒｏｎｏｕｓ）メッセージを用い、
移動のメッセージは、ホストの再接続の際に行われるｉＳＣＳＩのログイン要求に対するログイン応答でターゲットは既にあるコネクションに移動した旨を示すメッセージを用いる、ことを特徴とする請求項１記載のストレージ。
【請求項３】
ホストの接続先ストレージの切り替わり、移行元から移行先への格納データのコピー進捗を監視し、
前記接続先を切り替える手段、移行元から移行先のストレージに格納されたデータをコピーする機能を用いて、ストレージの移行処理を行う、ことを特徴とする請求項１記載のストレージ。
【請求項４】
前記再接続要求機能によるメッセージと前記移動先通知機能によるメッセージ及び移動先のアドレス及び／又は識別子情報を送る代わりに、切断要求と移動先への接続指示要求を一つのメッセージにて前記ホストに送信し、
前記メッセージを受けた前記ホストは、前記ストレージとの接続を切断し、前記移動先のストレージと接続する、ことを特徴とする請求項１記載のストレージ。
【請求項５】
ホストと接続する手段を備えたストレージであって、
前記ホストに対して再接続を要求する手段を備え、
前記再接続要求を受けた前記ホストは、前記ストレージとの間の接続を一旦切断したのち、前記ストレージと再接続し、
前記ホストと再接続すると、他のストレージへ移動したことを示すメッセージを前記ホストに送る手段を備えている、ことを特徴とするストレージ。
【請求項６】
ホストと、複数のストレージと、を備え、
一のストレージは、前記ホストに対して再接続を要求する手段を備え、
前記再接続要求を受けた前記ホストは、前記一のストレージとの間の接続を一旦切断したのち、前記一のストレージと再接続し、
前記一のストレージは、前記ホストと再接続すると、他のストレージへ移動したことを示すメッセージを送る手段を備え、
前記メッセージを受けとった前記ホストは前記ストレージとの接続を切断し、移行先の前記他のストレージと接続する、ことを特徴とするストレージシステム。
【請求項７】
ホストと、複数のストレージと、を備え、
一のストレージは、前記ホストに対して、前記一のストレージとの接続の切断要求と移行先の他のストレージへの接続指示を通知するメッセージを送信する手段を備え、
前記ホストは、前記一のストレージから前記メッセージを受けると、前記一のストレージとの接続を切断し、移行先の前記他のストレージと接続する手段を備えている、ことを特徴とするストレージシステム。
【請求項８】
ホストからのコマンドを解釈するコマンド処理部と、
データを保持し、前記コマンド処理部がデータをアクセスするコマンドを解釈したときに出力される指示に従って、データの読み出し、更新を行うデータ記憶部と、
ストレージを論理的に分割した領域であるボリュームと、前記ホストからストレージに格納されたデータにアクセスする場合の接続先であるターゲットについて、前記ストレージ内での各ターゲット及びボリュームの状態を記録し、前記ターゲットの状態として、前記ターゲットが移行作業中であるか否かを示す情報を含む、ボリューム情報格納部と、
ストレージにアクセスのためにホストから張られている接続、セッションについての情報を格納する接続情報格納部と、
ターゲット単位での移行要求を受け取り、前記ボリューム情報格納部、前記接続情報格納部にそれぞれ格納されたターゲットの情報、ホストからの接続、セッションの情報を参照して、移行先への切り替え対象の接続について、接続元であるホストを表すアドレス及び／又は識別子情報を、移行先ストレージに通知し、移行作業の開始を指示する移行要求処理部と、
前記移行要求処理部の指示を受け、移行対象となったターゲットに対して接続しているホストに対して、接続を一旦切断するように要求して、接続の切断を促す切断要求通知部と、
前記移行要求処理部の指示を受けて、前記ホストから新たに接続要求が行われた場合に、ターゲットが移行される、移行先のストレージを通知し、移行対象のターゲットに対して、接続中のホストに切断を要求するとともに、移行先のストレージに、ターゲットが移ったことを通知する移行先指示部と、
を備えている、ことを特徴とするストレージ装置。
【請求項９】
移行元となる他のストレージからの移行先となるストレージ装置であって、
入力されたコマンドを解釈するコマンド処理部と、
データを保持し、データの読み出し、更新を行うデータ記憶部と、
前記コマンド処理部、データコピー制御からの前記データ記憶部へのアクセス要求を処理するアクセス調停部と、
移行元となる前記他のストレージの移行対象ターゲットに格納されたデータを、対応するターゲットに移行するために、コマンド発行部に対して、前記他のストレージから移行対象ターゲットのデータを読み出すように指示し、前記アクセス調停部に対して、前記他のストレージから読み出したデータを書き込むように指示するデータコピー制御部と、
前記他のストレージからのデータ移行の進行状況、前記データコピー制御部において移行作業中の領域のアドレス、前記コマンド処理部が処理中のアクセス対象のアドレスの情報を保持するコピー進行状況格納部と、
前記アクセス調停部、前記データコピー制御部から、前記他のストレージへのアクセス要求を受け、前記アクセス要求からコマンドを生成して、前記他のストレージに含まれる移行対象ターゲットにアクセスするコマンド発行部と、
を備え、
前記コマンド発行部は、前記アクセス調停部からは、外部からのアクセス要求処理に伴う移行元へのアクセス要求を受け、前記データコピー制御部からは、移行元から移行先へのデータ移行に伴うデータの読み出し要求を受ける、ことを特徴とするストレージ装置。
【請求項１０】
ホストと、移行元のストレージと、移行先のストレージとを備え、
これらは、ｉＳＣＳＩ（ｉｎｔｅｒｎｅｔ  ＳＣＳＩ）プロトコルで接続され、移行元のストレージは請求項８記載のストレージ装置を含む、ことを特徴とするストレージシステム。
【請求項１１】
ホストと、移行元のストレージと、移行先のストレージとを備え、
これらは、ｉＳＣＳＩ（ｉｎｔｅｒｎｅｔ  ＳＣＳＩ）プロトコルで接続され、移行先のストレージは請求項９記載のストレージ装置を含む、ことを特徴とするストレージシステム。
【請求項１２】
前記ホストに対して、複数のストレージを１つの仮想化されたストレージとしてみせる仮想化手段を備え、仮想化されたストレージ間での移行が行われる、ことを特徴とする請求項６、７、１０のいずれか一に記載のストレージシステム。
【請求項１３】
ホストとストレージとがネットワーク通信を介して接続するストレージシステムであって、
前記ストレージは、前記ホストと前記ストレージとの間で、ネットワーク転送を担う所定のプロトコルの上層に位置する、ストレージアクセス用のプロトコルによる、アクセスのセッション中に、前記ストレージに対して他のストレージへの移行要求が発生した場合、前記ホストに対して、ストレージアクセス用のプロトコルレベルでのセッションを再開する要求を発行する手段を備え、
前記要求を受けた前記ホストは、前記ストレージとの間のセッションを再開して、移行先である他のストレージの情報を取得したのち前記ストレージとのセッションを終了し、移行先である前記他のストレージとの間でセッションを開始し、
前記ストレージを移行元とし前記移行元から移行先である前記他のストレージへのデータ移行が行われる、ことを特徴とするストレージシステム。
【請求項１４】
ストレージ装置のコンピュータに、
ホストに対して再接続を要求する処理と、
前記ホストと再接続すると、他のストレージへ移動したことを示すメッセージを前記ホストに送る処理と、
を実行させるプログラム。
【請求項１５】
ホストに接続する一のストレージから移行先の他のストレージへの接続パスの切替方法であって、
前記一のストレージはホストに対して再接続を要求する工程と、
前記再接続要求を受けた前記ホストは、前記一のストレージとの間の接続を一旦切断したのち前記一のストレージと再接続する工程と、
前記一のストレージは、前記ホストと再接続すると、前記他のストレージへ移動したことを示すメッセージを送る工程と、
前記メッセージを受けとった前記ホストは、前記ストレージとの接続を切断し、前記他のストレージと接続する工程と、
を含む、ことを特徴とする切替方法。
【請求項１６】
ホストとネットワーク通信を介して接続するストレージの切替方法であって、
前記ストレージは、前記ホストと前記ストレージとの間で、ネットワーク転送を担う所定のプロトコルの上層に位置する、ストレージアクセス用のプロトコルによる、アクセスのセッション中に、前記ストレージに対して他のストレージへの移行要求が発生した場合、前記ホストに対して、ストレージアクセス用のプロトコルレベルでのセッションを再開する要求を発行する工程と、
前記要求を受けた前記ホストは、前記ストレージとの間のセッションを再開して、移行先である他のストレージの情報を取得したのち前記ストレージとのセッションを終了し、移行先である前記他のストレージとの間でセッションを開始する工程と、
を含み、前記ストレージを移行元とし前記移行元から移行先である前記他のストレージへのデータ移行が行われる、ことを特徴とする切替方法。
【請求項１７】
ｉＳＣＳＩ（ｉｎｔｅｒｎｅｔ  ＳＣＳＩ）プロトコルでホストと接続／切断自在とされる複数のストレージのうち、前記ホストと接続されている一のストレージが、前記ホストに対して、非同期メッセージにて再接続を要求する工程と、
前記ホストは前記一のストレージに一旦ログアウトしたのち再びログインする工程と、
前記一のストレージは、前記ログインに対する応答として、ターゲット移動のメッセージを送信する工程と、
前記ホストは、移動したストレージにログインする工程と、
を含む、ことを特徴とする切替方法。
【請求項１８】
ホストと接続するストレージの切替方法であって、
一のストレージが、前記ホストに対して、前記一のストレージとの接続の切断要求と移行先の他のストレージへの接続指示を通知するメッセージを送信する工程と、
前記ホストは、前記一のストレージから前記メッセージを受けると、前記一のストレージとの接続を切断し、移行先の前記他のストレージと接続する工程と、
を含む、ことを特徴とする切替方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージシステムに関し、特に、ストレージの移行を行う装置、プログラム並びに方法に関する。
【背景技術】
【０００２】
昨今のＩＴの進化とその適用分野の拡大に伴い、情報処理システムが扱うデータも日々増加している。これらのデータはストレージに格納され、ストレージ１台あたりに格納されるデータの容量も増加している。しかし、単一のストレージで格納できるデータ容量には限界がある。この容量を超えてデータを格納する際はストレージの台数を増やす必要がある。
【０００３】
また、格納されるデータの容量によらず、ホスト（クライアントやサーバなどのストレージにアクセスを行う装置など）の接続台数の増加などが原因でストレージの性能上の限界に達することがある。この場合、既存のストレージ（移行元ストレージ）から新規に増設したストレージ（移行先ストレージ）への交換、又はストレージ増設とデータの分散配置を行うことでストレージ容量の拡張、負荷分散を行っている。
【０００４】
複数存在する任意のホストが、増設の結果複数存在する任意のストレージに対してアクセスを可能にするために、ホスト、及びストレージをネットワークで相互に接続する必要がある。今日では、ＳＡＮ（Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等のストレージをストレージ専用のネットワークで接続し、複数台数のストレージへの相互アクセス可能な接続形態を用いることが一般的となっている。ＳＡＮ等のストレージをネットワークに接続し、共有するためには、一般的にファイバチャネル等のストレージ専用のインターフェイス、ネットワーク、及びプロトコルが用いられる。また、近年では新たなホスト、ストレージ間のプロトコルとして、汎用ネットワークプロトコルであるＴＣＰ／ＩＰ上で実現されるｉＳＣＳＩ（ｉｎｔｅｒｎｅｔ  Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ）が用いられている。ｉＳＣＳＩレイヤは階層モデルとして、ＳＣＳＩレイヤとＴＣＰ／ＩＰレイヤの間に位置し、ＳＣＳＩレイヤからのＳＣＳＩコマンド、データ、応答を受け取り、カプセル化してｉＳＣＳＩ  ＰＤＵ（Ｐｒｏｔｏｃｏｌ  Ｄａｔａ  Ｕｎｉｔ）を作成し、ＴＣＰ／ＩＰのＴＣＰ（Ｔｒａｎｓｐｏｒｔ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）接続を介して送信する。また、ＴＣＰ接続で受信したｉＳＣＳＩ  ＰＤＵからＳＣＳＩコマンド、データ、応答を抽出し、ＳＣＳＩレイヤに引き渡す。
【０００５】
これらのＳＡＮ環境のように、複数ストレージが複数ホストとネットワークで接続された環境において、ストレージ容量の拡張、負荷分散を目的としたデータ格納先のストレージの変更を行い、柔軟にシステムの運用を図るためには、ストレージ間でのデータ移行が必要である。複数ストレージ環境における、複数ストレージ間（移行元ストレージから移行先ストレージ）でのデータの移行は、主に以下の二通りの方法で実現されている。
【０００６】
第一の方法は、移行元のストレージに対するアクセス（Ｒｅａｄ／Ｗｒｉｔｅ等のストレージのデータに対する読み書き等の処理）を止めた状態で、移行先のストレージへのデータの移動を行う方法である。データの移動が完了した後に、ホストの接続先を移行先のストレージに切り替えてアクセスを再開させる。
【０００７】
第二の方法は、ホストからのアクセスを継続した状態でデータを移行先のストレージに複製すると同時に、ホストから更新された領域を差分として移行先のストレージの更新、ホストの接続先ストレージの切り替えを行う方法である。移行元から移行先ストレージへの接続の切り替えは、移行元と移行先の複製の一致を契機に、ホストからのアクセスを停止し、接続パスをホスト側の接続情報を変更することで実現する。
【０００８】
前記したストレージデータの移行方法の通り、複数ストレージ間のデータ移行には、接続先を移行元から移行先のストレージに切り替える操作が必要になる。移行先への切り替え対象となる接続は、ホストから移行対象となったデータにアクセスするための接続である。そのため、接続先の切り替え対象となる接続は、移行元であるストレージでのデータアクセス単位、データ管理単位によって決定される。
【０００９】
ホストからネットワーク経由でのストレージに対する接続は、ストレージ上のネットワークインターフェイスであるポートを介して行われている。各ポートには、単一又は複数ネットワークのアドレスが割り当てられる。
【００１０】
ストレージは、単一又は複数のアドレス毎に、「ターゲット」と呼ばれるストレージアクセスプロトコル上の、ホストに対するインターフェイスを設定する。
【００１１】
例えばｉＳＣＳＩプロトコルの場合には、各ターゲットに対して、単一又は複数のＩＰアドレスが割り振られる。そして、ホストからストレージへの論理的な接続、アクセスは、ストレージ上に定義されたターゲットを単位として行われる。各ターゲットは、単一又は複数の「ボリューム」と呼ばれるストレージの記憶領域に対応する。
【００１２】
よって、移行元のターゲットを移行先であるストレージに移行する場合、ターゲットに対応するボリュームと、ターゲットに対する接続を移行する必要がある。
【００１３】
前記したストレージデータの移行方法では、ホストの接続先の切り替えは、いずれの場合でも、ホストからのアクセスを停止した状態で行う必要がある。すなわち、この移行方法を用いた場合、移行作業中には、ホストからストレージへのアクセスを停止する必要があることから、ホスト側のストレージへのアクセスを止めることができない場合には、別の手法を用いる必要がある。
【００１４】
ホストからのアクセスを停止せずにホストの接続先ストレージの切り替えを行う手段として、例えば以下の手法が挙げられる。
【００１５】
まず、ＳＡＮ環境でも、特に接続にｉＳＣＳＩを用いた環境下では、既存ＴＣＰプロトコル上でのハンドオーバー技術を用いることで、ホストからのアクセスを停止せずに、接続の切り替えが実現可能である。
【００１６】
ＴＣＰのハンドオーバー技術によって、接続パスのホストから見た透過的な切り替えが実現される。前述のストレージ専用プロトコルでは、ホスト側のＯＳやドライバなどに手を加えない限り、接続パスのホストから見た透過的な切り替えは実現できない。
【００１７】
ＴＣＰプロトコルでのハンドオーバーを行う技術としては、例えば非特許技術１で示されるようなＴＣＰプロトコルの通信コネクション単位に異なる装置に切り替えるＴＣＰマイグレーション技術がある。
【００１８】
また、ストレージに特化した形で、ホスト側のアクセスを止めずに接続先のストレージの切り替え、及びデータの移行を実現する技術も提案されている。例えば特許文献１（特開２００１−２４９８５３号公報）には、ホストとストレージとを接続するネットワーク間に特殊なスイッチを設置してスイッチに移行元、移行先のストレージを接続する発明が開示されている。この発明では、２つのターゲットをスイッチによって、ホストから見て常に単一のターゲットであるようにホスト側に見せた状態で、スイッチ内部で移行元から移行先に接続をホストから透過的に切り替える。
【００１９】
【非特許文献１】Fine-Grained Failover Using Connection Migration  インターネット＜URL:  http://nms.lcs.mit.edu/papers/migrate-failover.pdf＞
【非特許文献２】高橋雅彦、菅原智義、著  データセンタ環境に適したＴＣＰ無切断プロセスマイグレーションの実現．情報処理学会、ＯＳ研究会  ２００４年６月１７日
【特許文献１】特開２００１−２４９８５３号公報
【発明の開示】
【発明が解決しようとする課題】
【００２０】
しかし、ｉＳＣＳＩ等のストレージアクセスプロトコルによる接続を非特許文献１のＴＣＰマイグレーション技術を用いて切り替えた場合、ＴＣＰのコネクションを移行するために、多くの内部状態、バッファの情報を移行元から移行先ストレージに転送する必要がある。
【００２１】
ｉＳＣＳＩ等のプロトコルは、ＴＣＰプロトコルの上で動作する。下位層であるＴＣＰプロトコルは、ｉＳＣＳＩ等の上位プロトコルの挙動を管理することは不可能である。そのため、ＴＣＰコネクションを移行することで上位プロトコルの動作に影響を及ぼさないためには、ＴＣＰコネクションの移行が上位層に対して透過である必要がある。
【００２２】
ＴＣＰではプロトコルのコネクションが確立してから、終了するまでのデータの流れが、単一のストリームとして定義されている。ＴＣＰコネクションの移行の際に単一ストリームに含まれる情報が完全な形で移行されないことにより、データの欠損などが発生する。よって、ＴＣＰコネクションを上位層に対して、透過的に（ｔｒａｎｓｐａｒｅｎｔｌｙ）、データの欠損を発生させないように移行するためには、ＴＣＰコネクションが移行前後で同一の内部状態を保ったまま移行する必要がある。
【００２３】
ＴＣＰストリームには、装置の宛先を示すＩＰアドレス以外に、ＴＣＰのプロトコルを制御するために必要な情報が含まれる。例えばＴＣＰのパケットの順序を示すシーケンス番号や３ウェイハンドシェイク（クライアントからサーバにＳＹＮ送信、サーバからクライアントにＡＣＫ送信、クライアントからサーバにＡＣＫ送信）の情報、ＴＣＰのプロトコルの処理の際に一時的バッファリングされる領域や、ＯＳ（オペレーティングシステム）で処理中のバッファの内容などである。
【００２４】
更に、ＴＣＰコネクションの移行に伴い、移行元のＩＰアドレスを移行先に移行するために、ＡＲＰ（Ａｄｄｒｅｓｓ  Ｒｅｓｏｌｕｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）による同一サブネットワーク内のＩＰアドレスとＥｔｈｅｒｎｅｔ（登録商標）で使用されるＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）アドレス書き換えのためのリクエストを行わなければならない（非特許文献２）。転送される制御情報は、ＴＣＰストリームを送受信する各マシンのハードウェア構成、又はソフトウェア構成によって変化する。
【００２５】
このため、ＴＣＰコネクションの移行元と移行先のハードウェア、ソフトウェア構成が一致する場合には、前記内部情報を移行元から移行先にコピーすることで、内部状態を引き継ぐことが可能である。
【００２６】
しかしながら、ＴＣＰコネクションの移行元と移行先のハードウェア、ソフトウェア構成が相違する場合、マイグレーションの際に、内部情報を移行先のハードウェア、ソフトウェアの環境に合わせて、移行元の内部情報を変更して、使用する必要がある。
【００２７】
ハードウェア、ソフトウェア構成の組み合わせは、多岐にわたるため、移行元、移行先の任意の構成に対応することは困難である。
【００２８】
よって、非特許文献１等に記載されるＴＣＰマイグレーション技術を用いて、任意のストレージ間で接続の移行を行う場合、移行元と移行先のハードウェア、ソフトウェア構成を揃えなければならない、という課題がある。
【００２９】
したがって、本発明の目的は、ホストとストレージがネットワーク接続するシステムにおいて、移行元と移行先でハードウェア／ソフトウェア環境が任意の異なる環境であっても、安定した接続の切り替えを行うことができるシステム、装置、方法、コンピュータプログラムを提供することにある。
【課題を解決するための手段】
【００３０】
本発明は、前記課題を解決するため、概略以下の構成とされる。本発明は、ホストとなる計算機とネットワークを介して接続されたストレージについて、ホストがアクセスするストレージに格納されたデータの他ストレージへの移行と、ホストとの接続を移行元から移行先のストレージに切り替えるシステムに適用される。
【００３１】
本発明に係るストレージシステムは、ストレージがホストに対して一旦接続を切断した後に、再接続を要求するメッセージを送信する再接続要求機能と、前記ストレージが前記ホストからの再接続のメッセージを受けた際に、前記接続は他のストレージに移動したことを示すメッセージと移動先のアドレス及び／又は識別子情報とを送る移動先通知機能と、これらのメッセージを一連の処理として、移行元から移行先への接続パスの切り替えを実現する。再接続要求の完了後に、前記移動メッセージを送るハンドオーバー制御手段と、を備えている。
【００３２】
本発明に係るストレージシシステムは、ホストと、前記ホストと接続する複数のストレージと、を備え、一のストレージは、前記ホストに対して再接続を要求する手段を備え、
前記再接続要求を受けた前記ホストは、前記一のストレージとの間の接続を一旦切断したのち、前記一のストレージと再接続し、
前記一のストレージは、前記ホストと再接続すると、他のストレージへ移動したことを示すメッセージを送る手段を備え、
前記メッセージを受けとった前記ホストは前記ストレージとの接続を切断し、前記他のストレージと接続する。
【００３３】
本発明に係るストレージ装置は、ホストからのコマンドを解釈するコマンド処理部と、
データを保持し、前記コマンド処理部がデータをアクセスするコマンドを解釈したときに出力される指示に従って、データの読み出し、更新を行うデータ記憶部と、
ストレージのデータ記憶領域を論理的に分割した領域であるボリュームについて、前記ストレージ内での各ボリューム及びボリュームに対応するターゲットの状態を記録し、各ボリューム及びターゲットの状態には、前記ボリューム及びターゲットが移行作業中であるかどうかを示す情報が含まれる、ボリューム情報格納部と、
ストレージにアクセスのためにホストから張られている接続、セッションについての情報を格納する接続情報格納部と、
ターゲット単位での移行要求を受け取り、前記ボリューム情報格納部、前記接続情報格納部にそれぞれ格納されたターゲットの情報、ホストからの接続、セッションの情報を参照して、移行先への切り替え対象の接続について、接続元であるホストを表すアドレス及び／又は識別子情報を、移行先ストレージに通知し、移行作業の開始を指示する移行要求処理部と、
前記移行要求処理部の指示を受け、移行対象となったターゲットに対して接続しているホストに対して、接続を一旦切断するように要求して、接続の切断を促す切断要求通知部と、
前記移行要求処理部の指示を受けて、前記ホストから新たに接続要求が行われた場合に、ターゲットが移行される、移行先のストレージを通知し、移行対象のターゲットに対して、接続中のホストに切断を要求すると同時に、移行先のストレージに、ターゲットが移ったことを通知する移行先指示部と、を備えている。
【００３４】
本発明に係るストレージ装置は、移行元となる他のストレージに対して移行先となるストレージ装置であって、入力されたコマンドを解釈するコマンド処理部と、
データを保持し、データの読み出し、更新を行うデータ記憶部と、
前記コマンド処理部、データコピー制御からの前記データ記憶部へのアクセス要求を処理するアクセス調停部と、
移行元となる前記他のストレージの移行対象ターゲットに格納されたデータを、対応するターゲットに移行するために、コマンド発行部に対して、前記他のストレージから移行対象ターゲットのデータを読み出すように指示し、前記アクセス調停部に対して、前記他のストレージから読み出したデータを書き込むように指示するデータコピー制御部と、
前記他のストレージからのデータ移行の進行状況、前記データコピー制御部において移行作業中の領域のアドレス、前記コマンド処理部が処理中のアクセス対象のアドレスの情報を保持するコピー進行状況格納部と、
前記アクセス調停部、前記データコピー制御部から、前記他のストレージへのアクセス要求を受け、前記アクセス要求からコマンドを生成して、前記他のストレージに含まれる移行対象ターゲットにアクセスするコマンド発行部と、
ストレージにアクセスのためにホストから張られている接続、セッションについての情報を格納する接続情報格納部と、
を備え、
前記コマンド発行部は、前記アクセス調停部からは、外部からのアクセス要求処理に伴う移行元へのアクセス要求を受け、前記データコピー制御部からは、移行元から移行先へのデータ移行に伴うデータの読み出し要求を受ける。
【００３５】
本発明に係るシステムは、ホストと、複数のストレージと、を備え、
一のストレージは、前記ホストに対して再接続を要求する手段を備え、
前記再接続要求を受けた前記ホストは、前記一のストレージとの間の接続を一旦切断したのち、前記一のストレージと再接続し、
前記一のストレージは、前記ホストと再接続すると、他のストレージへ移動したことを示すメッセージを送る手段を備え、
前記メッセージを受けとった前記ホストは前記ストレージとの接続を切断し、移行先の前記他のストレージと接続する、構成とされる。
【００３６】
本発明に係るシステムは、ホストと、複数のストレージと、を備え、
一のストレージは、前記ホストに対して、前記一のストレージとの接続の切断要求と移行先の他のストレージへの接続指示を通知するメッセージを送信する手段を備え、
前記ホストは、前記一のストレージから前記メッセージを受けると、前記一のストレージとの接続を切断し、移行先の前記他のストレージと接続する手段を備えた構成としてもよい。
【００３７】
あるいは、本発明に係るシステムは、ホストとストレージとがネットワーク通信を介して接続するストレージシステムであって、
前記ストレージは、前記ホストと前記ストレージとの間で、ネットワーク転送を担う所定のプロトコルの上層に位置する、ストレージアクセス用のプロトコルによる、アクセスのセッション中に、前記ストレージに対して他のストレージへの移行要求が発生した場合、前記ホストに対して、ストレージアクセス用のプロトコルレベルでのセッションを再開する要求を発行する手段を備え、
前記要求を受けた前記ホストは、前記ストレージとの間のセッションを再開して、移行先である他のストレージの情報を取得したのち前記ストレージとのセッションを終了し、移行先である前記他のストレージとの間でセッションを開始し、
前記ストレージを移行元とし前記移行元から移行先である前記他のストレージへのデータ移行が行われる。
【００３８】
本発明に係るコンピュータプログラムは、ホストに接続するストレージ装置のコンピュータに、
前記ホストに対して再接続を要求する処理と、
前記ホストと再接続すると、他のストレージへ移動したことを示すメッセージを前記ホストに送る処理と、
を実行させるプログラムよりなる。
【００３９】
本発明に係る方法は、ホストに接続する一のストレージから移行先の他のストレージへの接続パスの切替方法であって、
前記一のストレージはホストに対して再接続を要求する工程と、
前記再接続要求を受けた前記ホストは、前記一のストレージとの間の接続を一旦切断したのち前記一のストレージと再接続する工程と、
前記一のストレージは、前記ホストと再接続すると、前記他のストレージへ移動したことを示すメッセージを送る工程と、
前記メッセージを受けとった前記ホストは、前記ストレージとの接続を切断し、前記他のストレージと接続する工程と、を含む。
【００４０】
本発明に係る方法は、ホストとネットワーク通信を介して接続するストレージの切替方法であって、
前記ストレージは、前記ホストと前記ストレージとの間で、ネットワーク転送を担う所定のプロトコルの上層に位置する、ストレージアクセス用のプロトコルによる、アクセスのセッション中に、前記ストレージに対して他のストレージへの移行要求が発生した場合、前記ホストに対して、ストレージアクセス用のプロトコルレベルでのセッションを再開する要求を発行する工程と、
前記要求を受けた前記ホストは、前記ストレージとの間のセッションを再開して、移行先である他のストレージの情報を取得したのち前記ストレージとのセッションを終了し、移行先である前記他のストレージとの間でセッションを開始する工程と、
を含み、前記ストレージを移行元とし前記移行元から移行先である前記他のストレージへのデータ移行が行われる。
【００４１】
本発明に係る方法は、ホストと接続するストレージの切替方法であって、
一のストレージが、前記ホストに対して前記一のストレージとの接続の切断要求と移行先の他のストレージへの接続指示を通知するメッセージを送信する工程と、
前記ホストは、前記一のストレージから前記メッセージを受けると、前記一のストレージとの接続を切断し、移行先の前記他のストレージと接続する工程と、
を含む。
【発明の効果】
【００４２】
上記した構成の本発明によれば、移行元と移行先でハードウェア／ソフトウェア環境が任意の異なる環境であっても、安定した接続の切り替えを行うことができる、という効果を奏する。
【発明を実施するための最良の形態】
【００４３】
本発明は、ＴＣＰマイグレーション機能を用いたストレージのデータ移行に較べ、ＴＣＰ層より上位層に位置し、ストレージアクセスを行うプロトコル上で、接続の切り替え処理を行う。移行先への再接続処理を行うため、切り替え処理の際に、ＴＣＰマイグレーション機能等で必要とされた、移行元と移行先でコネクションの状態を同一に維持するための処理（状態情報の転送処理等）が必要とされず、切り替え処理の際にコネクションの内部状態を維持するための処理も必要とされない。移行元、移行先のハードウェア、ソフトウェア環境が任意の異なる環境であっても安定した接続の切り替えを可能としている。
【００４４】
本発明は、ストレージがホストに対して一度接続を切断した後に再接続を要求するメッセージを送信する機能（再接続要求機能）と、前記ストレージがホストからの再接続のメッセージを受けた際に、前記接続は他のストレージに移動したことを示すメッセージと移動先のアドレス及び／又は識別子情報を送る機能（移動先通知機能）と、これらのメッセージを一連の処理として、前記再接続要求の完了後に、前記移動メッセージを送るホストからの接続の切り替え手段と、を備え、移行元から移行先への接続パスの切り替えを実現する。
【００４５】
再接続要求機能は、ホスト側に対してストレージ側において接続コネクション維持できない状態が発生し、ホスト側に一度接続コネクションの接続と再接続を行うことを要求するメッセージを送信する。
【００４６】
ストレージへの接続プロトコルが例えばｉＳＣＳＩである場合、これには、ｉＳＣＳＩプロトコル標準で備えられている、非同期メッセージ（Ａｓｙｎｃｈｒｏｎｏｕｓ  Ｍｅｓｓａｇｅ）（Ａｓｙｎｃ  Ｅｖｅｎｔ  ＝  Ｔａｒｇｅｔ  Ｉｎｄｉｃａｔｅｄ  ｉｔ  ｗｉｌｌ  ｄｒｏｐ  ｔｈｅ  ｃｏｎｎｅｃｔｉｏｎ）を用いる。非同期イベントは、ターゲットの接続ドロップである。
【００４７】
移動先通知機能は、ホストからのログイン（Ｌｏｇｉｎ）時に、
（１）ホスト側で想定した接続コネクションが、他の装置に移ったことを示すステータスと、
（２）移動先のアドレス、名前など移動先のストレージを示す識別子と、
を返す機能を持つ。
【００４８】
この機能は、例えばｉＳＣＳＩ標準プロトコルを用いて実現される。ｉＳＣＳＩログインプロセスを通じてイニシエータとターゲット間のｉＳＣＳＩセッションが行われる。ダーゲットのストレージは、ホストからのｉＳＣＳＩプロトコルによるログイン（Ｌｏｇｉｎ）要求に対する応答として、ログイン応答（Ｌｏｇｉｎ  Ｒｅｓｐｏｎｓｅ）を返すが、その結果（ステータス）として、ターゲットの恒久移動状態（Ｔａｒｇｅｔ  Ｍｏｖｅｄ  ｐｅｒｍａｎｅｎｔｌｙ）をホストに対して返し、同時に、ホストが接続しようとしたターゲット（ｉＳＣＳＩ上での仮想的なストレージを示す）の移動先を示すＩＰアドレスとポートアドレスを返し、ホストは、新しいアドレスに接続し直す。
【００４９】
ハンドオーバー制御手段は、以下のシーケンスを制御することで、ハンドオーバーを実現する。
【００５０】
ストレージは、ハンドオーバー要求を受け取ると、再接続要求機能により、ホストに対して、再接続を要求する。
【００５１】
ホストは、接続コネクションの再接続を行うために、ｉＳＣＳＩのログアウト要求（Ｌｏｇｏｕｔ  Ｒｅｑｕｅｓｔ）を発行する。
【００５２】
ストレージは、ホストからログアウト要求（Ｌｏｇｏｕｔ  Ｒｅｑｕｅｓｔ）を受け取ると、ｉＳＣＳＩの接続とＴＣＰの接続コネクションの切断を行い、ホスト側も合わせて切断を行う。
【００５３】
これにより、ホストとストレージ間の接続は一旦切断される。
【００５４】
ホストは、接続コネクションの切断を確認すると、ＴＣＰの接続コネクションを確立するために、３ウェイハンドシェイクを実行し、ホストとストレージ間を接続する。
【００５５】
ホストは、その後に、ｉＳＣＳＩのログイン（Ｌｏｇｉｎ）を実行する。
【００５６】
ストレージのハンドオーバー制御手段は、ホストからの同一ターゲットに対するログイン要求を再び受け取ると、前述の移動先通知機能を用いて前記ログイン要求に対する応答としてログイン応答を返し、他のストレージに移動したことを示すメッセージを送る。
【００５７】
ホストは、ログイン応答を受け取ると、新しいストレージにログインすべく、現在の接続コネクションを切断するために、一度、ログアウト要求（Ｌｏｇｏｕｔ  Ｒｅｑｕｅｓｔ）によるｉＳＣＳＩの接続とＴＣＰの接続におけるコネクションの切断を行う。
【００５８】
さらに、ホストは、ｉＳＣＳＩとＴＣＰのコネクションの切断が確認できると、ストレージの移動先通知機能が受け取った新しい移動先アドレスでのＴＣＰとｉＳＣＳＩのコネクションの接続を行い、コネクションの接続が確認されると、以後、通常のアクセス（Ｒｅａｄ／Ｗｒｉｔｅ動作）が可能な状態になりハンドオーバーを完了する。
【００５９】
本発明は、ＴＣＰマイグレーション機能を用いたストレージの移行に較べて、ハンドオーバー時に、移行元、移行先のハードウェア、ソフトウェア環境に依存しない、安定したハンドオーバーを実現している。
【００６０】
具体的には、ＴＣＰマイグレーションでは、特に、ＯＳやＴＣＰの処理において一時的に保持されているバッファの内容などＴＣＰコネクションの内部状態を表す情報、シーケンス番号などＴＣＰセッションの状態を表す情報の移行が必要である。加えて、ＡＲＰによる接続先ＩＰアドレスに対応するＭＡＣアドレスの、移行元のＭＡＣアドレスから移行先のＭＡＣアドレスへの変更が必要である。
【００６１】
これに対して、本発明によれば、ＴＣＰコネクション、セッションの状態を表す情報の移行、ＡＲＰによる接続先ＩＰアドレスに対応するＭＡＣアドレスの、移行元のＭＡＣアドレスから移行先のＭＡＣアドレスへの変更など、ｉＳＣＳＩなどストレージにアクセスするためのプロトコルよりも下位のプロトコルに関する内部情報の移行、変更を必要としない。このため、本実施例によれば、下位のプロトコルに関する内部状態に関する情報の引継ぎを省略可能とし、移行元、移行先のハードウェア、ソフトウェア構成に依存しない安定したハンドオーバーを実現している。
【００６２】
本発明によれば、再接続要求機能による、ホストへの再接続を要求するメッセージと、移動先通知機能による、前回の接続先が他のストレージに移動したことを示す移行メッセージと、移動先を示すアドレスや、名前などの識別子情報を送信するだけで済む。
【００６３】
本発明において、ホストへの再接続を要求するメッセージと、移動先通知機能による、前回の接続先が他のストレージに移動したことを示す移行メッセージは、ホストへの切断要求と指定した移動先への接続指示を同時に行うメッセージで代用してもよい。この場合、ストレージは、ホストに対して該ストレージとの接続の切断要求と移行先の他のストレージへの接続指示を通知するメッセージを送信し、該ホストは、該ストレージから前記メッセージを受けると、該ストレージとの接続を切断し、移行先の他のストレージと接続する。
【００６４】
本発明は、移行元、移行先のハードウェア、ソフトウェア構成に依存しない安定した移行を実現している。以下実施例に即して説明する。
【実施例】
【００６５】
図１は、本発明の一実施例のシステム構成を示す図である。図１を参照すると、本実施例のシステムは、データにアクセスする１又は複数のホスト１と、データの移行元である移行元ストレージ２と、データの移行先である移行先ストレージ３と、ホスト１とストレージ２、３とを接続するネットワーク４とを含む。
【００６６】
図２は、本発明の別の実施例のシステム構成を示す図であり、ストレージを仮想化したものである。図２において、ストレージ仮想化装置５０２は、複数のストレージを仮想化し、ホスト１から１つの仮想化ストレージとして扱うことを可能とし、ストレージ仮想化装置５０３も、複数のストレージを仮想化し、ホスト１から１つの仮想化ストレージとして扱うことを可能としている。
【００６７】
本実施例では、図１の移行元ストレージ２を、ストレージ仮想化装置５０２によって複数のストレージを仮想化した移行元仮想ストレージ５２に置き換え、移行先ストレージ３を、ストレージ仮想化装置５０３によって複数のストレージを仮想化した移行先仮想ストレージ５３に置き換えたものである。なお、図１の移行元ストレージ２と移行先ストレージ３の仮想ストレージへの置き換えはいずれか一方のみであってもよいことは勿論である。以下の実施例において、ストレージ仮想化装置による仮想ストレージに対して適用する場合には、図１の移行元ストレージ２と移行先ストレージ３は、それぞれ図２のストレージ仮想化装置５０２とストレージ仮想化装置５０３に置き換えられる。
【００６８】
図３は、図１の移行元ストレージ２の構成の一例を示す図である。図３を参照すると、移行元ストレージ２は、コマンド処理部２１と、データ記憶部２２と、ボリューム情報格納部２３と、接続情報格納部２４と、移行要求処理部２５と、切断要求通知部２６と、移行先指示部２７と、を備えている。
【００６９】
コマンド処理部２１は、移行元ストレージ２に格納されたデータをアクセスするために発行されるコマンドを解釈する。コマンドは、ホスト１等、ストレージ外部からネットワーク４を介して移行元ストレージ２に送信される。コマンド処理部２１は、解釈した指示に従ってデータ記憶部２２にアクセスする。コマンド処理部２１は、アクセス要求以外にも外部からの接続要求、管理コマンドを解釈し、各要求に基づいた処理を行う。
【００７０】
データ記憶部２２は、移行元ストレージ２に格納されるデータを保持する。データ記憶部２２は、コマンド処理部２１からの指示に従ってデータの読み出し、更新を行う。
【００７１】
また、データ記憶部２２は、単一又は複数の「ボリューム」と呼ばれる領域に分割されている。ボリュームは、単体又は複数を単位として、一ターゲットに対して割り当てられている。
【００７２】
ホスト１はデータ記憶部２２に格納されたデータに対して、ターゲットを単位として接続、アクセスを行う。
【００７３】
ボリューム情報格納部２３は、移行元ストレージ２において、データを格納するデータ記憶部２２を論理的に分割した領域であるボリュームについて、移行元ストレージ２内での各ボリュームの状態、及びボリュームとターゲットとの間の対応関係を記録する。この状態には、各ターゲットが移行作業中であるかどうかを示す情報が含まれる。
【００７４】
接続情報格納部２４は、移行元ストレージ２に含まれる各ターゲットに対してホスト１から張られている各接続、セッションについての情報を格納する。
【００７５】
移行要求処理部２５は、移行元ストレージ２のターゲットに対する移行要求を受け取る。移行要求処理部２５は、切断要求通知部２６、及び移行先指示部２７に対して、動作の開始を指示し、接続切り替えの処理を開始する。
【００７６】
また、移行要求処理部２５は、移行要求を行った相手に対して、移行要求を受理したという応答を返す。
【００７７】
さらに、移行要求処理部２５は、ボリューム情報格納部２３、接続情報格納部２４から移行対象となるターゲット、及びセッションに関する情報を取得する。
【００７８】
そして、移行要求処理部２５は、取得した情報から、移行対象のターゲットに対する接続について、接続元であるホスト１のアドレス又は識別子、あるいはアドレスと識別子の両方（アドレス及び／又は識別子という）の情報を取得し、移行先ストレージ３に通知する。
【００７９】
切断要求通知部２６は、移行要求処理部２５の指示を受けて移行対象となったターゲットに対して接続している各ホスト１に対して、接続を一旦切断するように要求して、接続の切断を促す。
【００８０】
移行先指示部２７は、移行要求処理部２５の指示を受けて、ホスト１から新たに接続要求が行われた場合に、ターゲットが移行先である、移行先ストレージ３を通知する。もしくは、移行先指示部２７は、移行対象のターゲットに対して、接続中のホストに切断を要求すると同時に、移行先ストレージ３にターゲットが移ったことを通知する。
【００８１】
図４は、図１の移行先ストレージ３の構成の一例を示す図である。図４を参照すると、移行先ストレージ３は、コマンド処理部３１と、データ記憶部３２と、データアクセス調停部３３と、データコピー制御部３４と、コピー進行状況格納部３５と、コマンド発行部３６と、接続情報格納部３７と、を備えている。
【００８２】
コマンド処理部３１は、ホスト１等、外部から移行先ストレージ３に格納されたデータにアクセスするために発行されるコマンドを解釈する。
【００８３】
コマンド処理部３１は、データ記憶部３２に格納されたデータにアクセスするために、コマンドの解釈結果に基づいてアクセス調停部３３に指示を与える。また、コマンド処理部３１は、アクセスコマンド以外にも外部からの接続要求、管理コマンドを解釈し、各要求に基づいた処理を行う。
【００８４】
データ記憶部３２は、移行先ストレージ３に格納されるデータを保持する。データ記憶部３２は、アクセス調停部３３からの指示に従ってデータの読み出し、更新を行う。また、データ記憶部３２は、移行元ストレージ２の場合と同様に単一又は複数のボリュームに分割されている。
【００８５】
アクセス調停部３３は、コマンド処理部３１、データコピー制御部３４からのデータ記憶部３２へのアクセス要求を処理する。アクセス調停部３３は、コマンド処理部３１、データコピー制御部３４が、移行先ストレージ３上のホスト１から見て、同一領域へのアクセスが同時に行われる場合、排他制御等によってアクセスを調停する。アクセス調停部３３は、コピー進行状況格納部３５から得られた、外部からのコマンドによるアクセスの対象領域についてのコピー完了／未完了の状態の情報から、必要な場合には、コマンド発行部３６に対して、移行元ストレージ２へのアクセスを指示する。
【００８６】
データコピー制御部３４は、移行元ストレージ２から移行先への切り替え対象の接続について、接続元であるホスト１のアドレス及び／又は識別子情報を受け取ることを契機として、データコピー処理を開始する。
【００８７】
データコピー制御部３４は、データコピー処理開始後、接続情報格納部３７から、予め用意された、移行対象ターゲットのデータの格納先となるターゲットに対する接続の情報を取得する。
【００８８】
データコピー制御部３４は、移行先ストレージ３に対する接続の接続元のアドレス及び／又は識別子の情報と、移行対象の各接続の接続元の、対応するアドレス及び／又は識別子の情報と、を比較することで、移行先への切り替え対象の接続が移行先ストレージ３に移行する迄待つ。
【００８９】
データコピー制御部３４は、移行対象の全接続の、移行先ストレージ３への切り替えの完了を契機として、移行元ストレージ２の移行対象ターゲットに対応するボリュームに格納されたデータを、移行先ストレージ３の対応するボリュームに移行する。そのために、データコピー制御部３４は、コマンド発行部３６に対して、移行元ストレージ２の移行対象ターゲットからデータを読み出すように指示する。
【００９０】
さらに、データコピー制御部３４は、アクセス調停部３３に対して、移行元ストレージ２から読み出したデータを書き込むように指示する。
【００９１】
データ移行の進行状況についての情報は、データコピー制御部３４からコピー進行状況格納部３５に書き込まれる。
【００９２】
コピー進行状況格納部３５は、
・移行元ストレージ２からのデータ移行の進行状況、
・現在データコピー制御部３４において移行作業中の領域のアドレス、
・コマンド処理部３１が現在処理中のアクセス対象のアドレスの情報
を保持する。
【００９３】
コマンド発行部３６は、アクセス調停部３３、データコピー制御部３４から、移行元ストレージ２へのアクセス要求を受ける。
【００９４】
コマンド発行部３６は、これらの要求からコマンドを生成して、移行元ストレージ２に含まれる移行対象ターゲットにアクセスする。
【００９５】
コマンド発行部３６は、アクセス調停部３３からは、外部からのアクセス要求処理に伴う移行元へのアクセス要求を受ける。コマンド発行部３６は、データコピー制御部３４からは、移行元から移行先へのデータ移行に伴うデータの読み出し要求を受ける。
【００９６】
接続情報格納部３７は、移行元ストレージ２に含まれる各ターゲットに対してホスト１から張られている各接続、セッションについての情報を格納する。
【００９７】
図５は、図１乃至図４を参照して説明した本実施例のシステムの、移行処理の動作を説明する流れ図である。
【００９８】
移行元ストレージ２の移行要求処理部２５は、移行元ストレージ２内のターゲットに対する移行要求を受信すると、移行要求のあったターゲットの移行処理を開始する。
【００９９】
移行要求処理部２５は、ボリューム情報格納部２３から移行を要求されたターゲットと、ボリュームに関する情報を取得する。また、接続情報格納部２４から移行を要求されたターゲットに対して接続している、移行元ストレージ２から移行先ストレージ３への切り替え対象の接続について、接続元であるホスト１のアドレス及び／又は識別子の情報を取得する（ステップＳ１）。
【０１００】
移行元ストレージ２の移行を要求されたターゲットに接続中のホスト１に対して、移行先ストレージ３への接続の切り替えを要求する。また、ステップＳ１において取得した、切り替え対象の接続についての接続元である、ホスト１のアドレス及び／又は識別子の情報を、移行先ストレージ３に通知する（ステップＳ２）。
【０１０１】
移行元ストレージ２から移行先ストレージ３への接続の切り替えを要求されたことによって、ホスト１は、移行元ストレージ２との接続を切断して、移行先ストレージ３に接続する（ステップＳ３）。
【０１０２】
移行対象のターゲットに対する接続が全て移行先ストレージ３に切り替わった後、移行先ストレージ３のデータコピー制御部３４は、移行元ストレージ２から、移行先ストレージ３にデータを移行する（ステップＳ４）。以上のステップＳ１からＳ４までの処理を行い、システム全体の動作が終了する。
【０１０３】
図６は、図５のステップＳ２の処理の詳細を示す図である。図６と、図１乃至図４を参照して、ステップＳ２の処理の詳細を説明する。
【０１０４】
移行要求処理部２５は、移行要求を受け取ると、ステップＳ１で収集した、移行要求のあったターゲットへの接続の接続元であるホスト１を識別するための、アドレス及び／又は識別子の情報を、移行先ストレージ３に通知する（ステップＳ２１）。
【０１０５】
移行要求処理部２５は、切断要求通知部２６に対して、移行対象ターゲットに接続している全ホストに対して、接続を一旦切断して、移行元ストレージ２に再接続する要求を送信するように指示する。あるいは、移行対象ターゲットに接続しているホストに対して送信する要求は、接続を切断して指定する移行先ストレージ３に接続を切り替えるという要求であってもよい（ステップＳ２２）。
【０１０６】
また移行要求処理部２５は、移行先指示部２７に対して、移行対象ターゲットに接続してくるホスト１に対して、移行先ストレージ３に接続し直すように応答するように指示する（ステップＳ２３）。
【０１０７】
移行要求処理部２５は、移行を要求した相手に対して移行要求を受理したと応答を返す（ステップＳ２４）。
【０１０８】
上記のステップＳ２１、Ｓ２２、Ｓ２３、Ｓ２４は、図６に示した順序で処理される必要はなく、これらの処理の中で任意に実行順序が変更されてもよい。
【０１０９】
次に、図８の流れ図と、図１乃至図４を参照して、移行元ストレージ２との接続を一旦切断して、ホスト１が移行元ストレージ２に再接続を行った場合、あるいは、ホスト１が新規に移行元ストレージ２に接続を試みた場合の動作について説明する。
【０１１０】
ホスト１は、移行元ストレージ２に接続する際に、移行元ストレージ２のコマンド処理部２１に対してターゲットに対する接続要求を送信する（ステップＳ２５）。
【０１１１】
コマンド処理部２１はホスト１から接続要求を受信すると、ボリューム情報格納部２３から接続要求のあったターゲット、及びターゲットを構成するボリュームについての情報を読み出し、該ターゲットが移行作業対象になっているかを確認する（ステップＳ２６）。
【０１１２】
ホスト１から接続要求のあったターゲットが移行作業対象でない場合（ステップＳ２７のＮｏ分岐）、ホスト１に対して接続処理を許可の応答を送信し、接続処理を行う。
【０１１３】
また、ホスト１からの接続に関する情報を接続情報格納部２４に反映する（ステップＳ２９）。
【０１１４】
ホスト１から接続要求のあったターゲットが移行作業対象である場合（ステップＳ２７のＹｅｓ分岐）、ホスト１に対して移行先ストレージ３への接続指示を送信して接続を拒否する（ステップＳ２８）。
【０１１５】
図９は、図５のステップＳ３の処理の詳細を示す図である。図９と、図１乃至図４を参照して、ステップＳ３の処理の詳細を説明する。
【０１１６】
移行先ストレージ３のデータコピー制御部３４が、移行元ストレージ２の移行要求処理部２５から移行対象ターゲットの接続元である、ホスト１のアドレス及び／又は識別子情報を受け取ることを契機に、図９に示される、ステップＳ３での移行先ストレージ３における処理が開始される。
【０１１７】
移行先ストレージ３のデータコピー制御部３４は、接続情報格納部３７から、移行対象となったターゲットのデータの格納先となる、移行先ストレージ３上のターゲットに接続するホスト１のアドレス及び／又は識別子の情報を取得する（ステップＳ３１）。
【０１１８】
データコピー制御部３４は、ステップＳ３１で取得したアドレス及び／又は識別子情報と、予め移行元ストレージ２の移行要求処理部２５から通知された、移行対象ターゲットに接続していたホスト１の、対応するアドレス及び／又は識別子の情報を比較する（ステップＳ３２）。
【０１１９】
ステップＳ３２における比較の結果、両者のアドレス及び／又は識別子情報が全て一致した場合（ステップＳ３３のＹｅｓ分岐）、データコピー制御部３４は、図９に示した一連の処理を終了して、図５のステップＳ４に示された通り、移行元ストレージ２から移行先ストレージ３へのデータ移行処理を開始する。
【０１２０】
ステップＳ３２における比較の結果、両者のアドレス及び／又は識別子情報が互いに一致しなかった場合（ステップＳ３３のＮｏ分岐）、再びステップＳ３１に戻り、移行先ストレージ３へのホスト１からの接続状態の監視を続ける。なお、移行対象ターゲット（移行元ストレージ２）に接続していた複数のホスト１に関して移行元ストレージ２から移行先ストレージ３への接続切替時には（図５のステップＳ３）、基本的に、複数のホスト１のそれぞれに対して、図９に示した処理手順が行われる（例外的な処理は本発明の主題と直接関係しないため省略する）。
【０１２１】
＜一具体例＞
次に、図５のステップＳ１からＳ２の動作の具体例として、ホスト１と移行元ストレージ２、移行先ストレージ３との通信にｉＳＣＳＩプロトコルを用いる場合の動作を、図３乃至図１０を参照して説明する。図１０は、本発明の一実施例において、ホストと移行元ストレージ、移行先ストレージとの間でｉＳＣＳＩプロトコルによる通信を行う場合の、移行元ストレージの移行要求受け付けから移行先ストレージへの接続の指示までのシーケンスを示す図である。
【０１２２】
ホスト１と移行元ストレージ２は、ｉＳＣＳＩプロトコルで接続中であるとき、移行要求を受信し、移行が可能と判断され、移行が開始されると移行元ストレージ２から移行対象ターゲットに接続しているホスト１に対して、非同期メッセージ（Ａｓｙｎｃｈｒｏｎｏｕｓ  Ｍｅｓｓａｇｅ）が送信される（図１０のステップＳ５０１、図６のステップＳ２２）。
【０１２３】
非同期メッセージ（Ａｓｙｎｃｈｒｏｎｏｕｓ  Ｍｅｓｓａｇｅ）は、移行元ストレージ２からホスト１に対して、一旦ログアウトするように要求することを表す。この要求を受け取ると、ホスト１は、ログアウト要求を、移行元ストレージ２に送信する。また、Ｌｏｇｏｕｔ要求は次ステップでのログイン要求を直接行うことで省略してもよい（図１０のステップＳ５０２）。
【０１２４】
移行元ストレージ２はホストからのログアウト要求を受け取り、ログアウト処理が完了すると、ログアウトが完了したことを示すメッセージをホスト１に返す（図１０のステップＳ５０３）。
【０１２５】
移行元ストレージ２から一旦ログアウトしたホスト１は、再び移行元ストレージ２に対して、ログイン要求を送信して接続を要求する（図１０のステップＳ５０４、図８のステップＳ２５）。
【０１２６】
移行元ストレージ２はホスト１からの再ログイン要求に対して、ターゲット移動（Ｔａｒｇｅｔ  Ｍｏｖｅｄ）メッセージと応答することで、該当ストレージは取り除かれたと応答して接続を拒絶する。接続を拒絶すると同時に移行元ストレージの代用となる移動先として、移行先ストレージ３のネットワーク４上のアドレスを指定する（図１０のステップＳ５０５、図６のステップＳ２３、図８のステップＳ２８）。
【０１２７】
ターゲット移動メッセージを受け取ったホスト１は、ログアウト要求を、移行元ストレージ２に送信する（図１０のステップＳ５０６）。
【０１２８】
移行元ストレージ２はホストからのログアウト要求を受け取り、ログアウト処理が完了すると、ログアウトが完了したことを示すメッセージをホスト１に返す（図１０のステップＳ５０７）。
【０１２９】
移行元ストレージ２から接続を拒絶されたホスト１は、移動先として指定された移行先ストレージ３にログイン要求を送信して接続を要求する（図１０のステップＳ５０８）。
【０１３０】
移行先ストレージ３はホストからのログイン要求を受け取り、ログイン処理が完了すると、ログインが完了したことを示すメッセージをホスト１に返す（図１０のステップＳ５０９）。
【０１３１】
移行要求処理部２５は、ターゲット移行要求の受理後に、移行対象ターゲットに接続していた接続の切り替え処理とは別に、移行先ストレージ３に対して、移行対象ターゲットの接続元であるホスト１を表す識別子であるイニシエータの名前（Ｉｎｉｔｉａｔｏｒ  Ｎａｍｅ）を通知する（図１０のステップＳ５１０、図６のステップＳ２１）。この情報の移行先ストレージ３への通知時期は、図１０における移行元ストレージ２に対する移行要求後であれば任意の時期でもよい。
【０１３２】
上記ステップＳ２の動作をホスト１からの接続に対して行うことによって、ホスト１からの移行元ストレージ２における移行対象ターゲットへの接続は移行先ストレージ３への接続に切り替わる（図５のステップＳ３）。
【０１３３】
移行元ストレージ２の移行要求処理部２５は、接続情報格納部２４の情報を監視し、移行元ストレージ２の移行対象ターゲットへの接続が切断されると移行先ストレージ３のデータコピー制御部３４に対して移行元ストレージ２から移行先ストレージ３への移行対象ターゲットに格納されたデータの移行作業開始を指示する。
【０１３４】
図７は、本発明の一実施形態における別の移行元ストレージ２の構成例を示す図である。図３に示した移行元ストレージ２の構成では、移行要求を移行要求処理部２５が受け、データ移行作業開始の指示を移行要求処理部２５が送信しているが、図７に示すように、移行元ストレージ２において、コマンド処理部２１が移行要求を受け、移行要求処理部２５経由でデータ移行作業開始の指示等を行う構成としてもよい。
【０１３５】
また、図４に示した移行先ストレージ３の構成では、データ移行作業開始の指示を、移行元ストレージ２から直接データコピー制御部３４で受信しているが、移行元ストレージ２から移行先ストレージ３に対するコマンドとして、データ移行作業開始の指示をコマンド処理部３１で受信し、データコピー制御部３４に通知する構成としてもよい。
【０１３６】
なお、上記実施例では、ｉＳＣＳＩプロトコルによる実装例を説明したが、本発明はかかる構成に限定されるものでない。本実施例の変形として、図１の移行元ストレージ２がホスト１に対して該移行元ストレージ２との接続の切断要求と移行先ストレージ３への接続指示を通知するメッセージを送信し、ホスト１が移行元ストレージ２から該メッセージを受けると、該移行元ストレージ２との接続を切断し、移行先ストレージ３と接続するようにしてもよい。この変形例の処理手順を、図１０を参照して説明しておく。ステップＳ５０１において、移行元ストレージ２は、切断要求と移行先ストレージ３への接続指示を通知するメッセージをホスト１に送信する。ホスト１は、ステップＳ５０２で移行元ストレージ２に対してログアウト要求を行い、ログアウト応答を受信すると、ステップＳ５０８で移行先ストレージ３にログイン要求を行う。すなわち、ホスト１によるステップＳ５０４とステップＳ５０６の処理、及び移行元ストレージ２によるステップＳ５０５とステップＳ５０７の処理は行われない。
【０１３７】
本発明によれば、磁気ディスク装置を複数台数備えたディスクアレイ装置や光ディスク集合装置、テープ集合装置などにも適用できる。また、単体の磁気ディスクや、光ディスク装置、テープ装置などに適用できる。
【０１３８】
さらに、複数のストレージを仮想化することで、１つのストレージに見せる機能を持つスイッチにも適用できる。すなわち、複数のホストとストレージの間に該スイッチを備え、ホストからは、該スイッチを介して複数のストレージは１つの仮想ストレージとして見える。
【０１３９】
以上、本発明を上記実施例に即して説明したが、本発明は上記実施例の構成にのみ制限されるものでなく、本発明の範囲内で当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【図面の簡単な説明】
【０１４０】
【図１】本発明の一実施形態のシステム構成を示す図である。
【図２】本発明の一実施形態のシステム構成について、移行元ストレージ、移行先ストレージが仮想化装置による仮想ストレージである場合の構成を示す図である。
【図３】本発明の一実施形態における移行元ストレージの構成を示す図である。
【図４】本発明の一実施形態における移行先ストレージの構成を示す図である。
【図５】本発明の一実施形態において、移行元ストレージの移行要求受け付けからデータ移行処理までの処理手順を示したフローチャートである。
【図６】本発明の一実施形態において、移行元ストレージの移行要求処理に基づく接続切り替え処理開始から移行対象ターゲットに接続していたホスト情報の移行先ストレージへの通知までの処理手順を示したフローチャートである。
【図７】本発明の一実施形態における別の移行元ストレージの構成を示す図である。
【図８】本発明の一実施形態において、移行元ストレージでのホストの接続から移行先ストレージへの接続の指示までの処理手順を示したフローチャートである。
【図９】本発明の一実施形態において、移行先ストレージにおける、移行対象ターゲットに接続していた全ホストの、移行先ストレージへの接続切り替え完了の待機処理の手順を示したフローチャートである。
【図１０】本発明の一実施例の動作シーケンスを示す図である。
【符号の説明】
【０１４１】
１  ホスト
２  移行元ストレージ
３  移行先ストレージ
４  ネットワーク
２１  コマンド処理部
２２  データ記憶部
２３  ボリューム情報格納部
２４  接続情報格納部
２５  移行要求処理部
２６  切断要求通知部
２７  移行先指示部
３１  コマンド処理部
３２  データ記憶部
３３  アクセス調停部
３４  データコピー制御部
３５  コピー進行状況格納部
３６  コマンド発行部
３７  接続情報格納部
５２  移行元仮想ストレージ
５３  移行先仮想ストレージ
５０２、５０３  ストレージ仮想化装置
【図１】
2008165379.tif 000003
【図２】
2008165379.tif 000004
【図３】
2008165379.tif 000005
【図４】
2008165379.tif 000006
【図５】
2008165379.tif 000007
【図６】
2008165379.tif 000008
【図７】
2008165379.tif 000009
【図８】
2008165379.tif 000010
【図９】
2008165379.tif 000011
【図１０】
2008165379.tif 000012