(57)【要約】【課題】  データ移行の際に、重複したＩ／Ｏの発生を抑制し、ホストへの応答性を向上させる。【解決手段】  移行元ボリューム１Ａから移行先ボリューム２Ａにデータを移行させる場合、ホスト３のアクセス先を第２ストレージ装置２へ切り替える。ホスト３により要求されたデータが未だ移行されていない場合、第１ストレージ装置１からデータが読み出される。未移行領域ＶＡ２へのアクセス頻度が所定値に達すると、ターゲットのIPアドレスを変更してディスカバリを実行させ、ホスト３のアクセス先を第１ストレージ装置１に切り替える。第１ストレージ装置１において移行済領域ＶＡ１へのアクセス頻度が所定値に達すると、ホスト３のアクセス先は第２ストレージ装置に切り替えられる。データ移行状態とアクセス状態とに基づいて、ホスト３のアクセス先が制御され、重複したＩ／Ｏの発生が抑制される。【選択図】        図１
2006146476.tif 000002
【特許請求の範囲】
【請求項１】
第１ストレージ装置と、第２ストレージ装置及び上位装置がそれぞれ互いに通信可能に接続されたストレージシステムであって、
前記第１ストレージ装置の有する第１ボリュームに記憶されたデータを前記第２ストレージ装置の有する第２ボリュームへ移行させるデータ移行部と、
前記第１ボリュームから前記第２ボリュームへのデータの移行状態を管理するデータ移行状態管理部と、
前記上位装置から前記第２ボリュームへのアクセス要求を処理する第１アクセス要求処理部と、
前記第１ボリュームから前記第２ボリュームに未だデータが移行されていない未移行領域へのアクセス状態に基づいて、前記上位装置のアクセス先を前記第１ストレージ装置へ切り替えさせる第１切替指示部と、
を備えたストレージシステム。
【請求項２】
前記データ移行部により前記第１ボリュームから前記第２ボリュームへデータを移行している間に、前記第１アクセス要求処理部は、前記上位装置からのアクセス要求を処理可能である請求項１に記載のストレージシステム。
【請求項３】
前記第１アクセス要求処理部は、前記上位装置からのアクセス要求が前記第２ボリュームにデータを移行済みの移行済領域へのアクセス要求である場合は、前記第２ボリュームからデータを取得して前記上位装置に提供し、前記上位装置からのアクセス要求が前記未移行領域へのアクセス要求である場合は、前記第１ボリュームからデータを取得して前記上位装置に提供する請求項１に記載のストレージシステム。
【請求項４】
前記第１切替指示部は、前記上位装置から前記未移行領域へのアクセス頻度が予め設定された第１所定値に達した場合は、前記上位装置のアクセス先を前記第１ストレージ装置へ切り替えさせるものである請求項１に記載のストレージシステム。
【請求項５】
前記上位装置から前記第１ボリュームへのアクセス要求を処理する第２アクセス要求処理部と、
前記上位装置から前記第１ボリュームへのアクセス要求のうち前記第２ボリュームにデータを移行済みの移行済領域へのアクセス状態に基づいて、前記上位装置のアクセス先を前記第１ストレージ装置から前記第２ストレージ装置へ切り替えさせる第２切替指示部とをさらに備えた請求項１に記載のストレージシステム。
【請求項６】
前記第２切替指示部は、前記データ移行部によるデータ移行が完了した場合に、前記上位装置のアクセス先が前記第１ストレージ装置または前記第２ストレージ装置のいずれであるかを確認し、前記上位装置のアクセス先が前記第１ストレージ装置である場合は、前記上位装置のアクセス先を前記第２ストレージ装置に切り替えさせる請求項５に記載のストレージシステム。
【請求項７】
前記第２切替指示部は、前記上位装置から前記移行済領域へのアクセス頻度が予め設定された第２所定値に達した場合は、前記上位装置のアクセス先を前記第２ストレージ装置へ切り替えさせる請求項５に記載のストレージシステム。
【請求項８】
前記第１切替指示部は、前記第２ストレージ装置の有する第２構成情報を前記第１ストレージ装置にコピーして該第１ストレージ装置の有する第１構成情報を前記第２構成情報に書き換えさせ、前記上位装置に対してアクセス先の再検出を促すトリガ信号を与えさせることにより、前記上位装置のアクセス先を前記第２ストレージ装置から前記第１ストレージ装置へ切り替えさせる請求項１に記載のストレージシステム。
【請求項９】
前記トリガ信号を前記上位装置に送信するストレージ管理装置を更に備え、前記第１ストレージ装置の前記第１構成情報が前記第２構成情報に書き換えられた旨を前記ストレージ管理装置に通知することにより、前記ストレージ管理装置は、前記上位装置に前記トリガ信号を送信する請求項８に記載のストレージシステム。
【請求項１０】
前記第２ストレージ装置と前記上位装置の接続を論理的に切断することにより、前記トリガ信号が前記上位装置に与えられる請求項８に記載のストレージシステム。
【請求項１１】
前記第１ストレージ装置と、前記第２ストレージ装置及び前記上位装置は、それぞれ互いにiSCSI（internet Small Computer System Interface）ネットワークによって接続されている請求項１に記載のストレージシステム。
【請求項１２】
前記第１切替指示部は前記第２ストレージ装置に設けられ、前記第２切替指示部は前記第１ストレージ装置に設けられている請求項１に記載のストレージシステム。
【請求項１３】
前記第１ストレージ装置と、前記第２ストレージ装置及び前記上位装置は、それぞれスイッチを介して双方向通信可能に接続されており、
前記スイッチに、少なくとも前記データ移行状態管理部と、前記第１切替指示部とが設けられている請求項１に記載のストレージシステム。
【請求項１４】
第１ストレージ装置と、第２ストレージ装置及び上位装置がそれぞれ互いに通信可能に接続されたストレージシステムにおいて、前記第１ストレージ装置から前記第２ストレージ装置へデータを移行させるデータ移行方法であって、
前記上位装置のアクセス先を前記第１ストレージ装置から前記第２ストレージ装置へ切り替えさせる第１切替ステップと、
前記第１ストレージ装置の有する第１ボリュームに記憶されたデータを前記第２ストレージ装置の有する第２ボリュームへ移行させるデータ移行ステップと、
前記第１ボリュームから前記第２ボリュームへのデータのデータ移行状態を管理する管理ステップと、
前記上位装置から前記第２ボリュームへのアクセス要求を処理するアクセス要求処理ステップと、
前記第１ボリュームから前記第２ボリュームに未だデータが移行されていない未移行領域へのアクセス状態を検出するステップと、
前記検出された前記未移行領域へのアクセス状態に基づいて、前記上位装置のアクセス先を前記第２ストレージ装置から第１ストレージ装置へ切り替えさせる第２切替ステップと、
を含んだストレージシステムのデータ移行方法。
【請求項１５】
前記第２切替ステップは、前記上位装置から前記未移行領域へのアクセス頻度が予め設定された第１所定値に達した場合は、前記上位装置のアクセス先を前記第２ストレージ装置から前記第１ストレージ装置へ切り替えさせる請求項１４に記載のストレージシステムのデータ移行方法。
【請求項１６】
前記第２切替ステップの後に第３切替ステップをさらに含み、この第３切替ステップは、前記上位装置から前記第１ボリュームへのアクセス要求のうち前記第２ボリュームにデータを移行済みの移行済領域へのアクセス状態に基づいて、前記上位装置のアクセス先を前記第１ストレージ装置から前記第２ストレージ装置へ再び切り替えさせるものである請求項１４に記載のストレージシステムのデータ移行方法。
【請求項１７】
前記第３切替ステップの後に第４切替ステップをさらに含み、この第４切替ステップは、前記データ移行が完了した場合に、前記上位装置のアクセス先が前記第１ストレージ装置または前記第２ストレージ装置のいずれであるかを確認し、前記上位装置のアクセス先が前記第１ストレージ装置である場合は、前記上位装置のアクセス先を前記第２ストレージ装置に切り替えさせるものである請求項１６に記載のストレージシステムのデータ移行方法。
【請求項１８】
前記第２切替ステップは、前記第１ストレージ装置の有する第１構成情報を前記第２ストレージ装置にコピーして該第２ストレージ装置の有する第２構成情報を前記第１構成情報に書き換えさせ、前記上位装置に対してアクセス先の再検出を促すトリガ信号を与えさせることにより、前記上位装置のアクセス先を前記第１ストレージ装置から前記第２ストレージ装置へ切り替えさせるものである請求項１４に記載のストレージシステムのデータ移行方法。
【請求項１９】
前記第１ストレージ装置と前記上位装置の接続を論理的に切断することにより、前記トリガ信号が前記上位装置に与えられる請求項１８に記載のストレージシステムのデータ移行方法。
【請求項２０】
第１ストレージ装置と、第２ストレージ装置と、上位装置と、ネームサーバとがスイッチを介してそれぞれ互いに通信可能に接続されたストレージシステムであって、
（１）前記第１ストレージ装置は、
前記スイッチを介した外部とのデータ通信及び第１記憶デバイス群との間のデータ通信を行う第１制御部と、
前記第１記憶デバイス群の提供する記憶領域上に設けられる第１ボリュームとを備えており、
（２）前記第２ストレージ装置は、
前記スイッチを介した外部とのデータ通信及び第２記憶デバイス群との間のデータ通信を行う第２制御部と、
前記第２記憶デバイス群の提供する記憶領域上に設けられる第２ボリュームとを備えており、
（３）前記ネームサーバは、前記第１ストレージ装置及び前記第２ストレージ装置のターゲット名称及びIP（Internet Protocol）アドレスをそれぞれ管理するネーム管理部を備えており、
（４−１）前記第１ストレージ装置又は／及び前記第２ストレージ装置には、前記第１ボリュームに記憶されたデータを前記第２ボリュームへ移行させるデータ移行部が設けられており、
（４−２）前記第１ストレージ装置及び前記第２ストレージ装置には、前記第１ボリュームから前記第２ボリュームへのデータの移行状態を管理するデータ移行状態管理部がそれぞれ設けられており、
（４−３）前記第２ストレージ装置には、前記第１ボリュームから前記第２ボリュームに未だデータが移行されていない未移行領域へのアクセス状態に基づいて、前記上位装置のアクセス先を前記第２ストレージ装置から前記第１ストレージ装置へ切り替えさせる第１切替指示部が設けられており、
（４−４）前記第１ストレージ装置には、前記上位装置から前記第１ボリュームへのアクセス要求のうち前記第２ボリュームにデータを移行済みの移行済領域へのアクセス状態に基づいて、前記上位装置のアクセス先を前記第１ストレージ装置から前記第２ストレージ装置へ切り替えさせる第２切替指示部が設けられており、
（５−１）前記第１切替指示部及び前記第２切替指示部が、切替元になるストレージ装置の有する構成情報（装置名称と、ターゲット名称（iSCSIネーム）と、アクセス対象のLUN（Logical Unit Number）とを含む）を切替先となるストレージ装置にコピーして該切替先となるストレージ装置のターゲット名称を書き換えさせ、
（５−２）前記切替先となるストレージ装置から前記ネームサーバに対して前記ターゲット名称に対応するIPアドレスの変更を通知し、
（５−３）前記ネームサーバは、前記上位装置に対して、ストレージ装置のディスカバリを促すようになっているストレージシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージシステム及びストレージシステムのデータ移行方法に関する。
【背景技術】
【０００２】
ストレージシステムは、ハードディスクドライブ等の記憶デバイスを用いて、RAID（Redundant Array of Independent Disks）に基づく記憶領域を構築する。この物理的な記憶領域（論理ボリューム）は、例えば、サーバマシン等のホストコンピュータ（以下、ホスト）に提供される。ホスト上で稼働するアプリケーションプログラムは、論理ボリュームに対してデータを書き込んだり、論理ボリュームからデータを読み出すことにより、ホストに接続されたクライアント端末に対して情報処理サービスを提供する。
【０００３】
ストレージシステムが記憶すべきデータ量は、日々刻々増大し、また、データの種類によっては長期間の保存が義務づけられる場合もある。そこで、増大する需要に対応するために、新型の大容量ストレージ装置を追加する。
【０００４】
大容量のストレージ装置をストレージシステムに追加した場合、旧型の小容量ストレージ装置の記憶するデータを新型の大容量ストレージ装置に移行させる。あるストレージ装置から他のストレージ装置にデータを移行させる方法としては、ホストへのサービスを中断させずに、いわゆるオンライン状態のままでデータを移行させる方法が提案されている（特許文献１）。
【特許文献１】特開２０００−１８７６０８
【発明の開示】
【発明が解決しようとする課題】
【０００５】
従来のストレージシステムでは、ホストのアクセス先を移行先のストレージ装置に切り替えて、ストレージ装置間でのデータ移行を実行する。データ移行期間中、ホストは、移行先のストレージ装置に対してのみアクセスし、所望のデータを読み書きする。ホストから読出しを要求されたデータが、既に移行先のストレージ装置にコピーされている場合、移行先のストレージ装置は、自己の保持するデータをホストに提供する。
【０００６】
これに対し、ホストから読出しを要求されたデータが、未だ移行先のストレージ装置にコピーされていない場合、移行先のストレージ装置は、移行元のストレージ装置からデータを読出して自己のボリュームにコピーし、この取得したデータをホストに提供する。
【０００７】
従って、移行先のストレージ装置に未だコピーされていないデータへのアクセスが発生した場合は、（ｉ）移行元のストレージ装置から移行先のストレージ装置へのデータコピーと、（ｉｉ）移行先ストレージ装置からホストへのデータ送信との２回のＩ／Ｏ（Input/Output）が発生する。このため、未移行のデータをホストに提供するまでに時間がかかり、ストレージシステムの応答性が低下する。また、ストレージ装置間のデータ移行と、移行先のストレージ装置とホストとの間のデータ通信とが、それぞれ同一の通信ネットワークを利用する場合、２回のＩ／Ｏにより無駄なデータがネットワーク上を流れるため、ネットワークトラフィックが増大する。
【０００８】
特に、例えば、ホストがビデオデータ等の連続したデータを配信する場合は、無駄なＩ／Ｏの発生による影響が大きい。ビデオデータ等のように一連のデータ群が連続的に読み出される性質を有する場合、この一連のデータ群が移行先のストレージ装置にコピーされていなければ、上述した２回のＩ／Ｏが連続的に発生する。従って、ストレージ装置の応答性が低下してホストがクライアント端末に提供するサービスの応答性も低下し、また、ネットワークトラフィックも増大する。
【０００９】
そこで、本発明の一つの目的は、ストレージ装置間のデータ移行状態に基づいて上位装置のアクセス先を制御することにより、無駄なデータ転送を低減できるようにしたストレージシステム及びストレージシステムのデータ移行方法を提供することにある。本発明の一つの目的は、移行先のストレージ装置にコピーされていないデータへのアクセスが頻発した場合に、上位装置のアクセス先を移行元のストレージ装置に切り替えさせることにより、同一のデータについて複数のＩ／Ｏが発生するのを防止できるようにしたストレージシステム及びストレージシステムのデータ移行方法を提供することにある。本発明の一つの目的は、ストレージ装置間のデータ移行と上位装置とストレージ装置との間のデータ通信とが同一の通信ネットワークを用いる場合に、無駄なＩ／Ｏの発生を抑制し、ネットワークトラフィックを低減できるようにしたストレージシステム及びストレージシステムのデータ移行方法を提供することにある。本発明のさらなる目的は、後述する実施形態の記載から明らかになるであろう。
【課題を解決するための手段】
【００１０】
上記課題を解決すべく、本発明のストレージシステムは、第１ストレージ装置と、第２ストレージ装置及び上位装置がそれぞれ互いに通信可能に接続されたストレージシステムであって、第１ストレージ装置の有する第１ボリュームに記憶されたデータを第２ストレージ装置の有する第２ボリュームへ移行させるデータ移行部と、第１ボリュームから第２ボリュームへのデータの移行状態を管理するデータ移行状態管理部と、上位装置から第２ボリュームへのアクセス要求を処理する第１アクセス要求処理部と、第１ボリュームから第２ボリュームに未だデータが移行されていない未移行領域へのアクセス状態に基づいて、上位装置のアクセス先を第１ストレージ装置へ切り替えさせる第１切替指示部と、を備えている。
【００１１】
例えば、第１ストレージ装置と、第２ストレージ装置及び上位装置は、それぞれ互いにiSCSI（internet Small Computer System Interface）ネットワークによって接続することができる。第１切替指示部は第２ストレージ装置に、第２切替指示部は第１ストレージ装置にそれぞれ設けることができる。
【００１２】
そして、データ移行部により第１ボリュームから第２ボリュームへデータを移行している間に、第１アクセス要求処理部は、上位装置からのアクセス要求を処理可能である。これにより、上位装置へのサービスを中断することなく、データを移行可能である。
【００１３】
第１アクセス要求処理部は、上位装置からのアクセス要求が第２ボリュームにデータを移行済みの移行済領域へのアクセス要求である場合は、第２ボリュームからデータを取得して上位装置に提供する。一方、上位装置からのアクセス要求が未移行領域へのアクセス要求である場合は、第１ボリュームからデータを取得して上位装置に提供する。
【００１４】
しかし、第１切替指示部は、上位装置から未移行領域へのアクセス頻度が予め設定された第１所定値に達した場合は、上位装置のアクセス先を第１ストレージ装置へ切り替えさせる。これにより、例えば、シーケンシャルリードが発生したような場合に、そのデータを記憶する第１ストレージ装置に上位装置のアクセス先を切り替えさせることにより、未移行データについての無駄なＩ／Ｏの発生を防止することができる。
【００１５】
上位装置から第１ボリュームへのアクセス要求を処理する第２アクセス要求処理部と、上位装置から第１ボリュームへのアクセス要求のうち第２ボリュームにデータを移行済みの移行済領域へのアクセス状態に基づいて、上位装置のアクセス先を第１ストレージ装置から第２ストレージ装置へ切り替えさせる第２切替指示部とをさらに備えてもよい。即ち、未移行領域へのアクセス要求が頻発したために、第２ストレージ装置から第１ストレージ装置へ上位装置のアクセス先を切り替えた場合において、上位装置による移行済領域へのアクセスが頻発するときは、上位装置のアクセス先を再び第２ストレージ装置に切り替えさせる。これにより、移行済データについての無駄なＩ／Ｏの発生を抑制することができる。
【００１６】
また、第２切替指示部は、データ移行部によるデータ移行が完了した場合に、上位装置のアクセス先が第１ストレージ装置または第２ストレージ装置のいずれであるかを確認し、上位装置のアクセス先が第１ストレージ装置である場合は、上位装置のアクセス先を第２ストレージ装置に切り替えさせる。
【００１７】
第１切替指示部は、第２ストレージ装置の有する第２構成情報を第１ストレージ装置にコピーして該第１ストレージ装置の有する第１構成情報を第２構成情報に書き換えさせ、上位装置に対してアクセス先の再検出を促すトリガ信号を与えさせることにより、上位装置のアクセス先を第２ストレージ装置から第１ストレージ装置へ切り替えさせることもできる。
【００１８】
例えば、トリガ信号を上位装置に送信するストレージ管理装置を更に備えてもよく、第１ストレージ装置の第１構成情報が第２構成情報に書き換えられた旨をストレージ管理装置に通知することにより、ストレージ管理装置は、上位装置にトリガ信号を送信することができる。あるいは、第２ストレージ装置と上位装置の接続を論理的に切断することにより、トリガ信号を上位装置に与える構成でもよい。
【００１９】
例えば、iSCSIを利用するストレージシステムの場合、ストレージ管理装置として、ネームサーバを挙げることができる。ネームサーバは、ストレージシステムに参加する各ノードのターゲット名称（iSCSIネーム）とIPアドレス（iSCSIアドレス）とを対応付けて管理する。ここで、ターゲット名称とIPアドレスとは切り離すことができ、これにより、ネットワーク内での位置が変化した場合でも、上位装置は、ディスカバリを行うことにより、目的のストレージ装置を一意に特定することができる。ディスカバリとは、ネットワークに接続されたデバイスを検出するための処理である。
【００２０】
上位装置は、目的のストレージ装置を検出すべく、ネームサーバに問い合わせる。ここで、第２ストレージ装置は、第１ストレージ装置の第１構成情報（IPアドレス等）を継承しており、この継承はネームサーバに通知されている。従って、ネームサーバは、上位装置に対して、iSCSIターゲットのIPアドレスが変更された旨を通知し、この通知に基づいて、上位装置はアクセス先を切り替える。この切替の仕組みは、第１ストレージ装置から第２ストレージ装置へ切り替える場合及び第２ストレージ装置から第１ストレージ装置へ切り替える場合の両方に適用することができる。
【００２１】
さらに、例えば、第１ストレージ装置と、第２ストレージ装置及び上位装置は、それぞれスイッチを介して双方向通信可能に接続することができ、このスイッチに、少なくともデータ移行状態管理部と、第１切替指示部とを設けることもできる。スイッチとしては、例えば、ギガビット級のイーサネット（登録商標）スイッチを用いることができる。また、第２切替指示部をスイッチに設けることもできる。
【００２２】
本発明の別の観点に従うストレージシステムのデータ移行方法は、第１ストレージ装置と、第２ストレージ装置及び上位装置がそれぞれ互いに通信可能に接続されたストレージシステムにおいて、第１ストレージ装置から第２ストレージ装置へデータを移行させるデータ移行方法であって、上位装置のアクセス先を第１ストレージ装置から第２ストレージ装置へ切り替えさせる第１切替ステップと、第１ストレージ装置の有する第１ボリュームに記憶されたデータを第２ストレージ装置の有する第２ボリュームへ移行させるデータ移行ステップと、第１ボリュームから第２ボリュームへのデータのデータ移行状態を管理する管理ステップと、上位装置から第２ボリュームへのアクセス要求を処理するアクセス要求処理ステップと、第１ボリュームから第２ボリュームに未だデータが移行されていない未移行領域へのアクセス状態を検出するステップと、検出された未移行領域へのアクセス状態に基づいて、上位装置のアクセス先を第２ストレージ装置から第１ストレージ装置へ切り替えさせる第２切替ステップと、を含む。
【００２３】
さらに、第２切替ステップの後に第３切替ステップを含み、この第３切替ステップは、上位装置から第１ボリュームへのアクセス要求のうち第２ボリュームにデータを移行済みの移行済領域へのアクセス状態に基づいて、上位装置のアクセス先を第１ストレージ装置から第２ストレージ装置へ再び切り替えさせる。
【００２４】
さらに、第３切替ステップの後に第４切替ステップを含み、この第４切替ステップは、データ移行が完了した場合に、上位装置のアクセス先が第１ストレージ装置または第２ストレージ装置のいずれであるかを確認し、上位装置のアクセス先が第１ストレージ装置である場合は、上位装置のアクセス先を第２ストレージ装置に切り替えさせる。
【００２５】
本発明の機能、手段、ステップの全部または一部は、例えば、マイクロコンピュータにより実行されるコンピュータプログラムとして構成可能な場合がある。そして、このコンピュータプログラムは、例えば、ハードディスク、光ディスク、半導体メモリ等の記憶媒体に固定して配布することができる。または、コンピュータプログラムをインターネット等の通信ネットワークを介して、配信することもできる。
【発明を実施するための最良の形態】
【００２６】
以下、図面に基づき、本発明の実施の形態を説明する。図１は、本実施形態の全体概念図である。詳細はさらに後述するが、図１に示すように、本実施形態のストレージシステムは、第１ストレージ装置１と、第２ストレージ装置２と、ホスト３と、ストレージ管理装置４とを備えており、これら各装置１〜４は、例えば、インターネット等のTCP/IP（Transmission Control Protocol/Internet Protocol）を利用する通信ネットワークを介して、相互に接続されている。
【００２７】
第１ストレージ装置１は、データ移行元のストレージ装置であって、例えば、移行元ボリューム１Ａと、制御部１Ｂとを備えている。また、制御部１Ｂは、データ移行部１Ｃと第２切替指示部１Ｄとを備えることができる。
【００２８】
第２ストレージ装置２は、データ移行先のストレージ装置であって、例えば、移行先ボリューム２Ａと、データ移行部２Ｂと、データ移行状態管理部２Ｃと、アクセス処理部２Ｄと、第１切替指示部２Ｅとを備えることができる。このうち、２Ｂ〜２Ｅは、第２ストレージ装置２が有する制御機能として実現可能である。
【００２９】
ホスト３は、例えば、サーバマシンとして構成されるコンピュータシステムであり、通信ネットワークを介して、第１ストレージ装置１または第２ストレージ装置２のいずれか一方にアクセス可能である。ホスト３は、図外のクライアント端末に対して、例えば、ビデオ配信等のような情報処理サービスを提供する。
【００３０】
ストレージ管理装置４は、ストレージシステムに参加する各ストレージ装置１，２のターゲット名称（iSCSIネーム）やIPアドレス（iSCSIアドレス）を管理するコンピュータシステムである。本実施形態では、iSCSIを用いる場合を例に挙げる。
【００３１】
第１ストレージ装置１の保持するデータを第２ストレージ装置２にコピーして移行させる場合、ホスト３のアクセス先を第１ストレージ装置１から第２ストレージ装置２に切り替えさせる（Ｓ１）。
【００３２】
例えば、第１ストレージ装置１から第２ストレージ装置２へ構成情報を通知し、ホスト３のアクセス先であるiSCSIターゲット（ターゲット名称）に第２ストレージ装置２のIPアドレスを関連付けて、このIPアドレスの変更をストレージ管理装置４に通知する。これにより、ストレージ管理装置４は、ホスト３にターゲットのIPアドレスが変更された旨を通知し、この通知を受けたホスト３はディスカバリを開始する。このディスカバリによって、ホスト３は、ターゲット（第２ストレージ装置２）を検出し、アクセス先を第２ストレージ装置２に切り替える。
【００３３】
ホスト３のアクセス先を第２ストレージ装置２へ切り替えた後、第１ストレージ装置１から第２ストレージ装置２へのデータ移行が開始される（Ｓ２）。このデータ移行は、例えば、２通りの方法で行うことができる。一つの方法は、第１ストレージ装置１のデータ移行部１Ｃが移行元ボリューム１Ａのデータを所定の順序で読出して、第２ストレージ装置２の移行先ボリューム２Ａにコピーさせる方法である。他の一つの方法は、第２ストレージ装置２のデータ移行部２Ｂが移行元ボリューム１Ａのデータを読出して、移行先ボリューム２Ａに記憶させる方法である。いずれの方法を採用してもよく、いずれの方法でもホスト３を介さずにデータを移行させることができる。
【００３４】
データの移行状態は、データ移行状態管理部２Ｃにより管理することができる。なお、図中では省略しているが、第１ストレージ装置１内でもデータ移行状態を管理することができる。データ移行状態管理部２Ｃは、どのデータが移行先ボリューム２Ａへコピーされたか、どのデータが移行先ボリューム２Ａへコピーされていないかの状態を管理する。例えば、移行対象の各データ毎に、そのアドレスと移行済であることを示すフラグとを対応付けることにより、データ移行状態を管理可能である。
【００３５】
データ移行中においても、ホスト３は、第２ストレージ装置２にアクセスして所望のデータを読み書きすることができる（Ｓ３）。アクセス処理部２Ｄは、ホスト３からのリード要求またはライト要求を処理する。
【００３６】
例えば、ホスト３からリード要求が発行された場合、アクセス処理部２Ｄは、データ移行状態管理部２Ｃを用いて、要求されたデータが移行先ボリューム２Ａにコピー済であるか否かを判定する。アクセス処理部２Ｄは、移行先ボリューム２Ａにデータがコピーされている場合、移行先ボリューム２Ａからデータを読出してホスト３に送信する。
【００３７】
これに対し、ホスト３から読出しを要求されたデータが、移行先ボリューム２Ａにコピーされていない場合、アクセス処理部２Ｄは、要求されたデータを移行元ボリューム１Ａから読出し、この読出したデータを移行先ボリューム２Ａに格納してから、ホスト３に送信する。なお、ボリュームへのデータの書込み（ディステージ処理）は、ホスト３への送信後に行ってもよい。即ち、第２ストレージ装置２のキャッシュメモリ（図３参照）にデータを格納した後、このデータをホスト３に送信し、所定のタイミングでディステージ処理を実行すればよい。
【００３８】
第１ストレージ装置１から第２ストレージ装置２へのデータ移行により、移行元ボリューム１Ａ及び移行先ボリューム２Ａは、移行済領域ＶＡ１と未移行領域ＶＡ２とに区分することができる。どのアドレスのデータが移行済であるか未移行であるかは、データ移行状態管理部２Ｃによって管理されている。
【００３９】
第１切替指示部２Ｅは、未移行領域ＶＡ２に対するホスト３のアクセス頻度を監視しており（Ｓ４）、所定回数以上、未移行領域ＶＡ２へのアクセスが発生した場合、第１ストレージ装置１に通知する（Ｓ５）。この通知は、構成情報の書換を行わせるもので、これにより、ホスト３のアクセス対象であるターゲットに第１ストレージ装置１のIPアドレスが対応付けられる。第１ストレージ装置１は、ターゲットのIPアドレスが変更された旨をストレージ管理装置４に通知する（Ｓ６）。
【００４０】
ストレージ管理装置４は、ターゲットのIPアドレスが変更されたことをホスト３に通知する（Ｓ７）。このIPアドレスの変更通知は、ディスカバリ開始のトリガとなる。ホスト３は、ターゲットを再発見するためにストレージ管理装置４から新しいIPアドレスを取得し、アクセス先を第１ストレージ装置１に切り替える（Ｓ８）。
【００４１】
アクセス先を切り替えることにより、これ以後の未移行領域ＶＡ２へのアクセスは、移行元ボリューム１Ａに対して行われる。従って、未移行領域ＶＡ２のデータについてホスト３が連続したアクセスを行う場合に、このデータが第１ストレージ装置１から第２ストレージ装置２に送信され、さらに、第２ストレージ装置２からホスト３に送信されるという、複数のＩ／Ｏが発生するのを防止することができる。
【００４２】
第１ストレージ装置１は、移行対象のデータを全て保持しているため、ホスト３からのアクセス要求を単独で処理することができる。しかし、ホスト３が移行済領域ＶＡ１のデータについて頻繁にリード要求を発行したような場合、Ｓ１で述べたように、第２切替指示部１Ｄは、ホスト３のアクセス先を再び第２ストレージ装置２に切り替えさせる。これにより、第２ストレージ装置２へ移行済のデータについては、第２ストレージ装置２からホスト３に提供することができる。
【００４３】
このように、データ移行状態及びアクセス状態に応じて、ホスト３のアクセス先が制御される。そして、データ移行が完了すると、第２切替指示部１Ｄは、ホスト３のアクセス先を確認し、ホスト３のアクセス先が第１ストレージ装置１である場合は、ホスト３のアクセス先を第２ストレージ装置２に切り替えさせる。これにより、データ移行が完了した場合、ホスト３は、専ら移行先の第２ストレージ装置２のみにアクセスして、所望のデータを読み書きする。
【００４４】
以上の通り、本実施形態によれば、データ移行中でもホスト３にサービスを提供することができ、重複したＩ／Ｏの発生を抑制して、ホスト３への応答性を改善することができ、ネットワークトラフィックを低減することができる。以下、本実施形態をより詳細に説明する。
【実施例１】
【００４５】
図２は、ストレージシステムの全体概要を模式的に示す説明図である。各構成の詳細はさらに後述するが、このストレージシステムは、ホスト１０と、管理装置２０と、ネームサーバ３０と、スイッチ４０と、第１ストレージ装置１００及び第２ストレージ装置２００を備えて構成することができる。そして、これらの各装置１０，２０，３０，１００及び２００は、スイッチ４０を介して相互に接続されており、例えば、TCP/IPに基づくデータ通信が可能となっている。本実施例では、iSCSIを用いたストレージシステムを例に挙げて説明する。
【００４６】
ホスト１０は、iSCSIイニシエータであり、第１ストレージ装置１００または第２ストレージ装置２００のいずれか一方にアクセスして、データの読み書きを行う。ホスト１０は、例えばサーバマシンとして構成され、図外のクライアント端末に対し、ビデオ配信等の情報処理サービスを提供する。
【００４７】
管理装置２０は、第１ストレージ装置１００に各種の指示を与えたり、第１ストレージ装置１００の各種状態を取得して管理する。管理装置２０は、構成管理プログラム２１を備えており、管理下にあるストレージ装置の構成状態を把握する。なお、以下の説明では、管理装置２０は、第１ストレージ装置１００の管理を行うものとして述べるが、第１ストレージ装置１００及び第２ストレージ装置２００の管理を行う構成でもよい。また、第２ストレージ装置２００の管理を行う装置を別に設けることもできる。
【００４８】
ネームサーバ３０は、ストレージシステムのiSCSIターゲットを一元的に管理するための装置である。ネームサーバ３０は、ネーム管理プログラム３１を備えており、各ストレージ装置１００，２００のIPアドレス等を管理している。
【００４９】
第１ストレージ装置１００は、移行元ストレージ装置である。第１ストレージ装置１００は、ホスト３に対してはiSCSIターゲットとして振る舞い、第２ストレージ装置２００に対してはiSCSIイニシエータとして振る舞う。即ち、第１ストレージ装置１００は、ホスト３からスイッチ４０を介してアクセスされることにより、移行元ボリュームに記憶されているデータの読み書きを実行する。また、第１ストレージ装置１００は、イニシエータとして第２ストレージ装置２００に移行元ボリュームのデータを送信し、移行先ボリュームにコピーさせる。このコピー処理は、ホスト３を介さずに実行される。
【００５０】
第２ストレージ装置２００は、移行先ストレージ装置である。第２ストレージ装置２００は、iSCSIターゲットとして、ホスト３または第１ストレージ装置１００によりアクセスされる。第２ストレージ装置２００は、第１ストレージ装置１００から送信されたデータを移行先ボリュームに格納する。
【００５１】
詳細は後述するが、データ移行の開始前に、ホスト１０は、第１ストレージ装置１００にアクセスし、所望のデータを読み書きする。そして、第１ストレージ装置１００から第２ストレージ装置２００にデータのコピーが開始する際には、アクセス先であるターゲットのIPアドレスが変更され、ネームサーバ３０がホスト１０にIPアドレスの変更を通知することにより、ホスト１０のアクセス先は第１ストレージ装置１００から第２ストレージ装置２００に切り替わる。
【００５２】
図３は、ストレージシステムのより詳細な構成を示すブロック図である。ホスト１０は、例えば、いわゆるオープン系ホストとして構成される。オープン系ホストとしては、例えば、Windows（登録商標）やUNIX（登録商標）等の汎用的なOS（Operating System）を搭載し、FC（Fibre Channel）、iSCSI（Internet SCSI）、TCP/IP（Transmission Control Protocol/Internet Protocol）等の比較的汎用性のある通信プロトコルを介してストレージ装置１００，２００にアクセスするサーバマシンを挙げることができる。本実施例のストレージシステムは、iSCSIを用いてデータ授受を行う。
【００５３】
ホスト１０は、例えば、一つまたは複数のHBA（Host Bus Adapter）１１と、入出力（Ｉ／Ｏ）制御プログラム１２と、アプリケーションプログラム群（図中、「アプリケーション群」と略記）１３とを備えて構成可能である。図１中では、説明の便宜上、一つのホスト１０のみを示しているが、複数のホスト１０を設けることもできる。
【００５４】
HBA１１は、所定のプロトコルに基づいてデータの送受信をそれぞれ行う。Ｉ／Ｏ制御プログラム１２は、例えば、HBA１１を用いて行われるデータ入出力を制御するドライバプログラムである。アプリケーションプログラム群１３は、例えば、電子メール処理プログラムやデータベース管理ソフトウェア、動画配信ソフトウェア、ファイルシステム等のようなプログラムであり、図外のクライアント端末に対し、所定の情報処理サービスをそれぞれ提供する。
【００５５】
管理装置２０は、後述のサービスプロセッサ（SVP）１７０を介して、第１ストレージ装置１００の各種情報を収集したり、第１ストレージ装置１００に必要な指令を与えるための装置である。管理装置２０は、例えば、LAN（Local Area Network）等の通信ネットワークを介して、SVP１７０に接続することができる。また、管理装置２０は、スイッチ４０を介して第１ストレージ装置１００に接続することもできる。なお、管理装置２０によって第２ストレージ装置２００の構成を管理するようにしてもよいし、第２ストレージ装置２００用に別の管理装置を設けてもよい。
【００５６】
管理装置２０は、例えば、ウェブブラウザをベースとしたGUI（Graphical User Interface）を備えており、SVP１７０が提供するWWW（World Wide Web）サーバにログインすることにより、各種情報の収集と指令の入力とを行う。本実施例では、例えば、管理装置２０を介して、第１ストレージ装置１００に対し、データ移行（マイグレーション）の実行が指示される。
【００５７】
第１ストレージ装置１００は、例えば、複数のCHA１１０と、複数のDKA１２０と、キャッシュメモリ１３０と、共有メモリ１４０と、接続制御部１５０と、記憶部１６０と、SVP１７０とを備えて構成することができる。
【００５８】
第１ストレージ装置１００には、複数のCHA１１０を設けることができる。各CHA１１０は、ホスト１０との間のデータ転送を制御する制御パッケージである。各CHA１１０は、複数の通信ポートを備えており、複数のホスト１０との間のデータ転送をそれぞれ個別に制御することができる。また、一つのCHA１１０は、第２ストレージ装置２００との間のデータ通信を制御する。
【００５９】
第１ストレージ装置１００には、複数のDKA１２０を設けることができる。各DKA１２０は、記憶部１６０とのデータ転送をそれぞれ制御するものである。各DKA１２０は、例えば、ホスト１０から指定された論理ブロックアドレス（LBA）を物理ディスクのアドレスに変換等することにより、各ディスクドライブ１６１にアクセスし、データの読出しまたはデータの書込みを行う。
【００６０】
キャッシュメモリ１３０は、ホスト１０から書き込まれたライトデータや、ホスト１０に読み出されたリードデータを記憶するものである。キャッシュメモリ１３０は、例えば、揮発または不揮発のメモリから構成可能である。キャッシュメモリ１３０が揮発性メモリを含んで構成される場合、図示せぬバッテリ電源等によりメモリバックアップを行うことが好ましい。キャッシュメモリ１３０は、例えば、リードキャッシュ領域とライトキャッシュ領域との２つの領域から構成することができる。ライトキャッシュ領域は、例えば、キャッシュ面とNVS（Non-volatile Storage）面とを含んでおり、ライトデータを多重記憶（冗長記憶）することができる。
【００６１】
共有メモリ（あるいは制御メモリとも呼ばれる）１４０は、例えば、不揮発メモリから構成可能であるが、揮発メモリから構成してもよい。共有メモリ１４０には、例えば、制御情報や管理情報等が記憶される。これらの制御情報等の情報は、複数のメモリ１４０により多重管理することができる。
【００６２】
共有メモリ１４０及びキャッシュメモリ１３０は、それぞれ別々のメモリパッケージとして構成することもできるし、同一のメモリパッケージ内にキャッシュメモリ１３０及び共有メモリ１４０を設けてもよい。また、メモリの一部をキャッシュ領域として使用し、他の一部を制御領域として使用することもできる。つまり、共有メモリとキャッシュメモリとは、同一のメモリまたはメモリ群として構成することもできる。
【００６３】
接続制御部１５０は、各CHA１１０と、各DKA１２０と、キャッシュメモリ１３０と、共有メモリ１４０とをそれぞれ相互に接続するものである。これにより、全てのCHA１１０，DKA１２０は、キャッシュメモリ１３０及び共有メモリ１４０にそれぞれ個別にアクセス可能である。接続制御部１５０は、例えば、超高速クロスバスイッチ等として構成することができる。なお、CHA１１０，DKA１２０，キャッシュメモリ１３０及び共有メモリ１４０を一つまたは複数のコントローラに集約することもできる。
【００６４】
記憶部１６０は、多数のディスクドライブ１６１を備えて構成される。記憶部１６０は、各CHA１１０及び各DKA１２０等のコントローラ部分と共に同一の筐体内に設けることもできるし、コントローラ部分とは別の筐体内に設けることもできる。
【００６５】
記憶部１６０は、例えば、複数種類のディスクドライブ１６１を混在させて構成することができる。ディスクドライブ１６１としては、例えば、FCディスク（ファイバチャネルディスク）、SCSI（Small Computer System Interface）ディスク、SATA（Serial AT Attachment）ディスク等を用いることができる。なお、ディスクの種類は、上記のものに限定されず、例示したディスクドライブと同等の記憶デバイスまたは将来開発されるであろう記憶デバイスを利用可能な場合もある。
【００６６】
ここで、例えば、３個１組、４個１組等のように、所定数のディスクドライブ１６１によって一つのパリティグループが構成され、このパリティグループの提供する物理的な記憶領域上には、少なくとも一つ以上の論理ボリュームを設定することができる。そして、この論理ボリュームは、LU（Logical Unit）に対応付けられることにより、ホスト１０からアクセス対象として認識される。
【００６７】
なお、第１ストレージ装置１００が使用する記憶資源は、全て第１ストレージ装置１００内に存在する必要はない。第１ストレージ装置１００の外部に存在する記憶資源を、あたかも自己の記憶資源であるかのように取り込んで、利用することもできる。
【００６８】
SVP１７０は、LAN等の内部ネットワークを介して、例えば、各CHA１１０（及び各DKA１２０）とそれぞれ接続されている。図中では、SVP１７０は、各CHA１１０にのみ接続されているが、各DKA１２０にも接続することができる。SVP１７０は、第１ストレージ装置１００内部の各種状態を収集し、そのままで又は加工して、管理装置２０に提供する。
【００６９】
第２ストレージ装置２００は、第１ストレージ装置１００と同様の構成を備えることができる。第２ストレージ装置２００は、例えば、各CHA２１０と、各DKA２２０と、キャッシュメモリ２３０と、共有メモリ２４０と、接続制御部２５０と、複数のディスクドライブ２６１を有する記憶部２６０と、SVP２７０とを備えて構成可能である。これら各部２１０〜２７０は、第１ストレージ装置１００で述べた各部１１０〜１７０にそれぞれ対応するため、重複した説明を省略する。
【００７０】
但し、第２ストレージ装置２００は、第１ストレージ装置１００と同一構成である必要はない。第１ストレージ装置１００と第２ストレージ装置２００とは、それぞれ異なる構成でもよい。
【００７１】
図４は、「構成情報」の一例としてのコンフィグレーション情報Ｄ１を示す説明図である。コンフィグレーション情報Ｄ１には、例えば、装置名称と、ターゲット名称（iSCSIネーム）と、アクセス対象のLUN（Logical Unit Number）等が含まれており、共有メモリに記憶されている。
【００７２】
後述のように、ホスト１０のアクセス先を切り替えさせる処理は、切替元のストレージ装置が有するコンフィグレーション情報を切替先のストレージ装置に設定することにより、開始される。例えば、図４に示すように、第１ストレージ装置１００から第２ストレージ装置２００にホスト１０のアクセス先を切り替えさせる場合、第１ストレージ装置１００のコンフィグレーション情報Ｄ１が第２ストレージ装置２００にコピーされる。これにより、ターゲット名称や対象LUNに第２ストレージ装置２００のIPアドレスが対応付けられ、このIPアドレスの変更はネームサーバ３０に通知される。
【００７３】
逆に、第２ストレージ装置２００から第１ストレージ装置１００にホスト１０のアクセス先を切り替える場合も、第２ストレージ装置２００が有するコンフィグレーション情報Ｄ１を第１ストレージ装置１００にコピーさせ、ターゲット名称に第１ストレージ装置１００のIPアドレスを対応付ける。
【００７４】
図５は、ストレージ管理テーブルＴ１の概略構成を部分的に示す説明図である。ストレージ管理テーブルＴ１は、ネームサーバ３０に設けることができる。図５（ａ）に示すように、本実施例の初期状態では、ホスト１０のアクセス先であるターゲットに第１ストレージ装置１００のIPアドレス「アドレス１」が対応付けられている。この初期状態では、ホスト１０は、第１ストレージ装置１００にアクセスしている。
【００７５】
図５（ｂ）は、ホスト１０のアクセス先を第２ストレージ装置２００に切り替えた状態を示す。第２ストレージ装置２００は、ネームサーバ３０に対して、ターゲットのIPアドレスが「アドレス２」に変更されたことを通知する。「アドレス２」は、第２ストレージ装置２００のIPアドレスである。この通知を受けたネームサーバ３０は、図５（ｂ）に示すように、ストレージ管理テーブルＴ１を書き換える。また、ネームサーバ３０は、ホスト１０に対し、ターゲットのIPアドレスが変更された旨を通知する。
【００７６】
図５（ｃ）は、ホスト１０のアクセス先を第２ストレージ装置２００から第１ストレージ１００へ再び切り替えた場合を示す。このように、本実施例のストレージシステムでは、ターゲットとIPアドレスとの対応関係をネームサーバ３０によって一元的に管理しており、ターゲットデバイスからの通知によってIPアドレスが変更された場合、このIPアドレスの変更はイニシエータデバイスであるホスト１０に通知される。
【００７７】
図６は、データ移行状態管理テーブルＴ２の構成例を示す説明図である。このデータ移行状態管理テーブルＴ２は、第１ストレージ装置１００及び／または第２ストレージ装置２００に設けることができる。
【００７８】
データ移行状態管理テーブルＴ２は、例えば、各LUN毎に、そのLUNに含まれる各論理ブロックアドレス（LBA：Logical Block Address）のデータが第２ストレージ装置２００に移行済であるか否かを管理する。本実施例では、各LBA毎にそれぞれ移行済フラグを対応付ける。移行済フラグは、移行先の記憶領域にデータが移行（コピー）されたか否かを示す情報であり、「１」がセットされている場合は移行済であることを示す。なお、データ移行状態の管理単位は、LBAに限らない。例えば、複数のLBAをまとめてグループとし、そのグループ毎に移行済フラグを設定する構成でもよい。
【００７９】
図７は、iSCSIのレイヤ構造を示す説明図である。下から順番に、物理層及びデータリンク層、IP層、TCP層、iSCSI層、SCSI層、SCSIアプリケーション層を積み上げて構成される。IP層では、IPアドレスを指定したデータ転送が行われ、TCP層ではTCPポート番号を指定したデータ転送が行われる。iSCSI層では、iSCSI_NAMEを指定したデータ転送が行われ、SCSI層では、LU番号やLBA（Logical Block Address）を指定したデータ転送が行われる。iSCSI層は、SCSI層とTCP層との間に位置し、SCSIコマンド及びSCSIレスポンスをiSCSI_PDUと呼ばれるカプセルに収め、TCPコネクションによりデータを転送させるものである。
【００８０】
図８は、iSCSIで使用されるデータ構造を示す説明図である。ホスト１０のSCSIアプリケーション層からSCSI層を介して出力されるコマンドは、図８に示すように、コマンド及びデータ（またはコマンドのみ）を含んだコマンドフレーム４４０である。コマンドフレーム４４０は、例えば、ライトコマンドまたはリードコマンド等のオペレーションコードが先頭バイトに含まれる６バイトのコマンドフレームである。
【００８１】
このコマンドフレーム４４０が、iSCSI層に到達すると、iSCSI層は、SCSIコマンドフレームをiSCSI_PDU（Protocol Data Unit）４３０に変換する。このPDU４３０がTCP層を通過すると、TCPパケット４２０に変換され、さらに、このTCPパケット４２０は、IP層を通過することにより、IPパケット４１０となる。そして、MAC（Media Access Control）アドレスが付加されて、可変長のMACフレーム４００が完成する。データフィールドには、１５００バイトのデータを格納可能である。
【００８２】
SCSIコマンドフレーム４４０は、例えば、ベーシックヘッダセグメント４４１と、アディショナルヘッダセグメント４４２と、データセグメント４４３とを含む。そして、ベーシックヘッダセグメント４４１には、例えば、オペレーションコード４４１Ａと、データセグメント長４４１Ｂと、LUN番号４４１Ｃと、イニシエータタスクタグ４４１Ｄと、オペレーションコード仕様フィールド４４１Ｅとを含めることができる。
【００８３】
図示したプロトコル構成の下では、物理層及びデータリンク層同士、IP層同士、TCP層同士、iSCSI層同士、SCSI層同士、及びSCSIアプリケーション層同士が順にセッションすることにより、ホスト１０から出力されたI／O要求を、各ストレージ装置１００，２００はそれぞれ処理することができる。
【００８４】
例えば、物理層及びデータリンク層同士のセッションでは、ARP（Address Resolution Protocol）要求とそれに対するARP応答が行われることにより、互いのMACアドレスをそれぞれ取得する。IP層同士のセッションでは、ping要求とそれに対するping応答が行われることにより、互いに、相手（IPアドレス）が存在するかの確認が行われる。
【００８５】
TCP層同士のセッションでは、シーケンス番号を同期させるための３つのパケットが交換される。iSCSI層同士のセッションでは、ログイン要求とそれに対するログイン応答がやり取りされるログインフェーズによって、iSCSIの接続が確立される（例えば、IPアドレス、ログイン要求元ホストのiSCSI_NAME及びTCPポート番号が使用される）。
【００８６】
SCSI層同士のセッションでは、例えば、リードコマンドやライトコマンド等のSCSIコマンドがホスト１０から第１ストレージ装置１００または第２ストレージ装置２００のいずれかに送信される。SCSIアプリケーション層同士のセッションでは、ライトデータがホスト１０から第１ストレージ装置１００または第２ストレージ装置２００のいずれかに送信され、あるいは、リードデータが各ストレージ装置１００，２００のいずれかからホスト１０へ送信される。
【００８７】
図９〜図１４に基づいて、本実施例の動作を説明する。まず、図９は、データ移行の全体処理を示す概略シーケンスである。
【００８８】
例えば、システム管理者等のユーザは、管理装置２０を介して、第１ストレージ装置１００にマイグレーションの開始を指示する（Ｓ１１）。このマイグレーション開始の指示には、例えば、移行元ボリューム及び移行先ボリュームをそれぞれ特定するための情報等を含めることができる。
【００８９】
管理装置２０からのマイグレーションの実行が指示されると、図４と共に述べたように、第１ストレージ装置１００は、自己のコンフィグレーション情報を取得し（Ｓ１２）、第２ストレージ装置２００にログインして（Ｓ１３）、このコンフィグレーション情報を第２ストレージ装置２００にコピーする（Ｓ１４）。
【００９０】
第２ストレージ装置２００は、このコンフィグレーション情報を自身に設定し、ターゲット名称に第２ストレージ装置２００のIPアドレスを対応付け（Ｓ１５）、IPアドレスが変更された旨をネームサーバ３０に通知する（Ｓ１６）。
【００９１】
ネームサーバ３０は、第２ストレージ装置２００からIPアドレス変更通知を受信すると、ストレージ管理テーブルＴ１を更新し、ホスト１０に対してターゲットのIPアドレスが変更されたことを通知する（Ｓ１７）。
【００９２】
ホスト１０は、ネームサーバ３０からIPアドレス変更通知を受信すると、ディスカバリを開始し（Ｓ１８）、ネームサーバ３０からターゲットの新IPアドレスを取得する。そして、ホスト１０は、アクセス先情報に設定されているIPアドレスを第２ストレージ装置２００のIPアドレスに書き換えて（Ｓ１９）、アクセス先を第２ストレージ装置２００に切り替え（Ｓ２０）、第２ストレージ装置２００にログインする（Ｓ２１）。これ以後、ホスト１０は、第２ストレージ装置２００に対してデータの読み書きが可能となる。
【００９３】
図１０は、ホスト１０が第２ストレージ装置２００にデータのリード要求を発行した場合の処理を示すフローチャートである。
【００９４】
ホスト１０がLBA等を指定してリード要求を発行すると（Ｓ３１）、第２ストレージ装置２００は、データ移行状態管理テーブルＴ２を参照し（Ｓ３２）、要求されたデータが第２ストレージ装置２００に移行済であるか否かを判定する（Ｓ３３）。
【００９５】
要求されたデータが既に第２ストレージ装置２００に移行されている場合（S33：YES）、第２ストレージ装置２００は、そのデータを読出して（Ｓ３４）、ホスト１０に送信する（Ｓ３５）。ホスト１０は、第２ストレージ装置２００から送信されたデータを受信する（Ｓ３６）。
【００９６】
これに対し、ホスト１０から要求されたデータが第２ストレージ装置２００に未だ移行されていない場合（S33：NO）、第２ストレージ装置２００は、未移行領域へのアクセス回数をカウントするカウンタＣｘの値を１つインクリメントさせる（Ｓ３４）。第２ストレージ装置２００は、カウンタＣｘが予め設定されている所定値Ｃ１に達したか否かを判定し（Ｓ３８）、ＣｘがＣ１に達していない場合は、要求されたデータを第１ストレージ装置１００から読出して（Ｓ３９）、ホスト１０に送信する（Ｓ４０）。
【００９７】
一方、ホスト１０による未移行領域へのアクセス回数Ｃｘが所定値Ｃ１に達した場合（S38：YES）、第２ストレージ装置２００は、ホスト１０のアクセス先を第１ストレージ装置１００に切り替えさせるパス切替処理を開始する（Ｓ４１）。パス切替処理については、図１２と共にさらに後述する。
【００９８】
なお、未移行領域へのアクセス回数Ｃｘが所定値Ｃ１に達した場合に、パス切替処理を行うものとして述べたが、これに限らず、例えば、未移行領域へのアクセスが所定値Ｃ１以上連続した場合に、パス切替処理を行うように構成してもよい。これにより、例えば、ビデオデータ等の連続した読出し（シーケンシャルアクセス）に基づいて、ホスト１０のアクセス先を切り替えることができる。
【００９９】
図１１は、ホスト１０が第２ストレージ装置２００にデータの更新を要求した場合の処理を示すフローチャートである。ホスト１０がLBA等を指定してライト要求を発行すると（Ｓ５１）、第２ストレージ装置２００は、ライトデータをキャッシュメモリ２３０に記憶し（Ｓ５２）、ホスト１０に対してライト処理の完了を通知する（Ｓ５３）。ホスト１０は、ライトコマンドの処理完了通知を受信して処理を終了する（Ｓ５４）。
【０１００】
第２ストレージ装置２００は、ライトデータに対応する移行済フラグを「１」に設定し、データ移行状態管理テーブルＴ２を更新する（Ｓ５５）。次に、第２ストレージ装置２００は、ホスト１０から受信したライトデータを移行元のボリュームに反映させるべく、第１ストレージ装置１００にライト要求を発行する（Ｓ５６）。
【０１０１】
第１ストレージ装置１００は、第２ストレージ装置２００から受信したライトデータをキャッシュメモリ１３０に記憶して（Ｓ５７）、ライト処理の完了を第２ストレージ装置２００に通知する（Ｓ５８）。第１ストレージ装置１００は、ライトデータを所定のディスクドライブ１６１に書き込むディステージ処理を実行する（Ｓ５９）。
【０１０２】
第２ストレージ装置２００は、第１ストレージ装置１００へのデータ書込みを完了させると、ライトデータを所定のディスクドライブ２６１に書き込むディステージ処理を実行する（Ｓ６０）。
【０１０３】
このように、移行先の第２ストレージ装置２００に対してホスト１０がライトデータを書き込んだ場合は、このライトデータを移行元の第１ストレージ装置１００にも反映させることにより、移行元ボリュームと移行先ボリュームとの記憶内容を一致させることができる。従って、未移行領域へのアクセスが頻発して、ホスト１０のアクセス先が第２ストレージ装置２００から第１ストレージ装置１００に切り替わった場合でも、データの整合性を維持できる。なお、図１１では、ライト処理の完了通知とディステージ処理とを非同期で実行させる場合を例示したが、場合によっては、ディステージ処理の完了後にライト処理の完了通知を行う構成でもよい。
【０１０４】
図１２は、ホスト１０のアクセス先を第２ストレージ装置２００から第１ストレージ装置１００に再び切り替える様子を示すシーケンスである。第２ストレージ装置２００は、図１０と共に述べたように、ホスト１０による未移行領域へのアクセス頻度をチェックしており（Ｓ７１）、所定回数Ｃ１以上のアクセスが確認された場合（S72：YES）、パス切替処理を開始する。
【０１０５】
まず最初に、第２ストレージ装置２００は、自身のコンフィグレーション情報を取得し（Ｓ７３）、第１ストレージ装置１００にログインし（Ｓ７４）、コンフィグレーション情報を第１ストレージ装置１００にコピーする（Ｓ７５）。
【０１０６】
第１ストレージ装置１００は、第２ストレージ装置２００によりコピーされたコンフィグレーション情報を自身に設定し（Ｓ７６）、ネームサーバ３０に対して、ターゲットのIPアドレスが変更された旨を通知する（Ｓ７７）。ネームサーバ３０は、このIPアドレスの変更通知を受信すると、ストレージ管理テーブルＴ１を更新し、ホスト１０にIPアドレスの変更を通知する（Ｓ７８）。
【０１０７】
ホスト１０は、ネームサーバ３０からの通知によりディスカバリを開始し（Ｓ７９）、ターゲットの新IPアドレスをネームサーバ３０から取得して、アクセス先のIPアドレスを変更する（Ｓ８０）。これにより、ホスト１０のアクセス先は、第２ストレージ装置２００から第１ストレージ装置１００に切り替わり（Ｓ８１）、ホスト１０は、第１ストレージ装置１００にログインして（Ｓ８２）データの読み書きを行う。
【０１０８】
図１３は、第１ストレージ装置１００で実行されるパス切替処理を示すフローチャートである。ホスト１０がリード要求を発行すると（Ｓ９１）、第１ストレージ装置１００は、データ移行状態管理テーブルＴ２を参照し（Ｓ９２）、要求されたデータが第２ストレージ装置２００に移行済であるか否かを判定する（Ｓ９３）。
【０１０９】
要求されたデータが第２ストレージ装置２００に未だ移行されていない場合（S93：NO）、第１ストレージ装置１００は、要求されたデータを読出して（Ｓ９４）、ホスト１０に送信する（Ｓ９５）。ホスト１０は、第１ストレージ装置１００からのデータを受信して、ローカルメモリ等に格納する。
【０１１０】
これに対し、ホスト１０から要求されたデータが既に第２ストレージ装置２００に移行済である場合（S93：YES）、第１ストレージ装置１００は、移行済領域へのアクセス回数をカウントするカウンタＣｙを１つインクリメントさせる（Ｓ９７）。そして、第１ストレージ装置１００は、移行済領域へのアクセス回数Ｃｙが予め設定された所定値Ｃ２に達したか否かを判定する（Ｓ９８）。
【０１１１】
移行済領域へのアクセス回数Ｃｙが所定値Ｃ２に達していない場合（S98：NO）、第１ストレージ装置１００は、自己のボリュームからデータを読出してホスト１０に送信する（Ｓ９４，Ｓ９５）。
【０１１２】
一方、移行済領域へのアクセス回数Ｃｙが所定値Ｃ２に達した場合（S98：YES）、第１ストレージ装置１００は、パス切替処理を開始する（Ｓ９９）。このパス切替処理は、上述のように、ターゲットのIPアドレスを切替先のアドレスに変更し、ネームサーバ３０に通知することにより行うことができる。
【０１１３】
このように、第１ストレージ装置１００に切り替えられたアクセスパスを再び第２ストレージ装置２００に切り替えることにより、第２ストレージ装置２００に移行されたデータを活用することができる。そして、例えば、第２ストレージ装置２００がFCディスク等の高性能のディスクドライブ２６１や大容量のキャッシュメモリ２３０等を備えている場合、第２ストレージ装置２００の高い性能を利用してホスト１０にデータを提供することができ、ストレージシステムの応答性を高めることができる。
【０１１４】
また、ボリュームのデータ移行状態（どこまでデータを移行済か）とホスト１０のアクセス状態（未移行領域または移行済領域への所定回数以上のアクセス）とに基づいて、移行先の第２ストレージ装置２００と移行元の第１ストレージ装置１００との間で、ホスト１０のアクセス先を切り替えることにより、重複したＩ／Ｏの発生を抑制し、また、アクセス先の頻繁な切替を防止して、ストレージシステムの応答性を向上できる。
【０１１５】
図１４は、データ移行の完了後に第１ストレージ装置１００で実行されるパス切替処理を示すフローチャートである。第１ストレージ装置１００は、データ移行が完了したか否かを監視しており（Ｓ１０１）、データ移行が完了した場合（S101：YES）、ホスト１０のアクセス先が第２ストレージ装置２００であるか否かを判定する（Ｓ１０２）。
【０１１６】
この現在のアクセス先の判定は、例えば、第２ストレージ装置２００によって第１ストレージ装置１００のコンフィグレーション情報が書き換えられたか否かにより判定することができる。
【０１１７】
第１ストレージ装置１００は、ホスト１０の現在のアクセス先が第２ストレージ装置２００である場合（S102：YES）、処理を終了する。これに対し、ホスト１０のアクセス先が第１ストレージ装置１００である場合（S102：NO）、第１ストレージ装置１００は、ホスト１０のアクセス先を第２ストレージ装置２００に切り替えさせるため、パス切替処理を実行する（Ｓ１０３）。このように、データ移行の完了後に、ホスト１０のアクセス先を検査して第２ストレージ装置２００に切り替えさせることにより、データ移行の完了後は、データ移行先の第２ストレージ装置２００からホスト１０にデータを提供させることができる。
【０１１８】
本実施例は、上述のように構成されるので、以下の効果を奏する。本実施例では、第１ストレージ装置１００の移行元ボリュームから第２ストレージ装置２００の移行先ボリュームに未だデータが移行されていない未移行領域へのアクセス状態に基づいて、ホスト１０のアクセス先を第１ストレージ装置１００へ切り替えさせる構成とした。
【０１１９】
従って、未移行データについて重複したＩ／Ｏが発生するのを抑制し、ストレージシステムの応答性を高めることができ、ネットワークトラフィックの増大を防止できる。特に、例えば、ビデオ配信等のように、ホスト１０が連続したデータを用いて情報処理を行うような場合、未移行領域に存在するデータの連続した読出しを防止し、応答性を改善することができる。
【０１２０】
本実施例では、ホスト１０から第１ストレージ装置１００へのアクセス要求のうち、第２ストレージ装置２００にデータを移行済みの移行済領域へのアクセス状態に基づいて、ホスト１０のアクセス先を第１ストレージ装置１００から第２ストレージ装置２００へ切り替えさせる構成とした。従って、既に移行済のデータについては、第２ストレージ装置２００からホスト１０に提供させることができ、第２ストレージ装置２００にその性能を発揮させることができる。そして、本実施例では、データ移行状態とホストのアクセス状態とに基づいて、移行元と移行先のストレージ装置を適宜切り替えて使用することができ、応答性の低下を防止しつつデータ移行を行うことができる。
【０１２１】
本実施例では、データ移行が完了した場合に、ホスト１０のアクセス先が第１ストレージ装置１００または第２ストレージ装置２００のいずれであるかを確認し、ホスト１０のアクセス先が第１ストレージ装置１００である場合は、ホスト１０のアクセス先を第２ストレージ装置２００に切り替えさせる構成とした。従って、データ移行の完了後は、第２ストレージ装置２００からホスト１０にデータを提供させることができる。
【０１２２】
本実施例では、iSCSIによるディスカバリを利用して、ホスト１０のアクセス先を切り替える構成とした。従って、ホスト１０側には、アクセス先を切り替えるための特別な機能を何ら設ける必要はなく、比較的簡素な構成でストレージシステムの応答性等を改善することができる。
【実施例２】
【０１２３】
図１５〜図１７に基づいて、第２実施例を説明する。本実施例では、ネームサーバ３０を廃止している。図１５は、本実施例によるストレージシステムの全体構成を示すブロック図である。本実施例では、ネームサーバ３０が省略されている点で、第１実施例と相違する。
【０１２４】
図１６は、データ移行の全体処理を示すシーケンスである。ユーザが管理装置２０を介して、第１ストレージ装置１００にマイグレーションの開始を指示すると（Ｓ１１１）、第１ストレージ装置１００は、自分のコンフィグレーション情報を取得し（Ｓ１１２）、第２ストレージ装置２００にログインして（Ｓ１１３）、このコンフィグレーション情報を第２ストレージ装置２００にコピーする（Ｓ１１４）。第２ストレージ装置２００は、このコンフィグレーション情報を自身に設定し、ターゲット名称に第２ストレージ装置２００のIPアドレスを対応付ける（Ｓ１１５）。
【０１２５】
次に、本実施例では、第１ストレージ装置１００は、ホスト１０からログアウトする（Ｓ１１６）。ホスト１０は、第１ストレージ装置１００のログアウトを検出すると、ディスカバリを開始し（Ｓ１１７）、第２ストレージ装置２００からターゲットの新IPアドレスを取得する。そして、ホスト１０は、アクセス先情報に設定されているIPアドレスを第２ストレージ装置２００のIPアドレスに書き換えて（Ｓ１１８）、アクセス先を第２ストレージ装置２００に切り替え（Ｓ１１９）、第２ストレージ装置２００にログインする（Ｓ１２０）。
【０１２６】
図１７は、ホスト１０のアクセス先を第２ストレージ装置２００から第１ストレージ装置１００に切り替える様子を示すシーケンスである。第２ストレージ装置２００は、ホスト１０による未移行領域へのアクセス頻度をチェックしており（Ｓ１３１）、所定回数Ｃ１以上のアクセスが確認された場合（S132：YES）、パス切替処理を開始する。
【０１２７】
第２ストレージ装置２００は、自身のコンフィグレーション情報を取得し（Ｓ１３３）、第１ストレージ装置１００にログインし（Ｓ１３４）、コンフィグレーション情報を第１ストレージ装置１００にコピーする（Ｓ１３５）。
【０１２８】
第１ストレージ装置１００は、第２ストレージ装置２００によりコピーされたコンフィグレーション情報を自身に設定する（Ｓ１３６）。一方、第２ストレージ装置２００は、ホスト１０からログアウトする（Ｓ１３７）。
【０１２９】
ホスト１０は、第２ストレージ装置２００がログアウトすることにより、ディスカバリを開始し（Ｓ１３８）、ターゲットの新IPアドレスを第１ストレージ装置１００から取得して、アクセス先のIPアドレスを変更する（Ｓ１３９）。これにより、ホスト１０のアクセス先は、第２ストレージ装置２００から第１ストレージ装置１００に切り替わり（Ｓ１４０）、ホスト１０は、第１ストレージ装置１００にログインしてデータの読み書きを行う（Ｓ１４１）。
【０１３０】
このように、ネームサーバ３０を設けないストレージシステムにも、本発明を適用することができる。
【実施例３】
【０１３１】
図１８に基づいて、第３実施例を説明する。本実施例では、複数のデータ移行をそれぞれ独立して行う。図１８は、本実施例のストレージシステムの概略構成を模式的に示す説明図である。
【０１３２】
このストレージシステムには、一つの移行元ストレージ装置１００と、複数の移行先ストレージ装置２００，３００が含まれている。第１ストレージ装置１００は、複数の移行先ボリュームを備えている。一方の移行元ボリュームは、第２ストレージ装置２００の移行先ボリュームとコピーペアを形成し、他方の移行元ボリュームは、第３ストレージ装置３００の移行先ボリュームとコピーペアを形成する。
【０１３３】
複数のデータ移行は、例えば、２種類の方法で行うことができる。一つの方法は、各データ移行をそれぞれ並列処理する方法である。他の一つの方法は、一方のデータ移行を完了させた後、引き続き他方のデータ移行を開始する方法である。いずれの方法を採用してもよい。
【実施例４】
【０１３４】
図１９に基づいて、第４実施例を説明する。本実施例では、スイッチ４０によってデータ移行状態を管理し、ホスト１０のアクセス先を切り替える。図１９は、本実施例によるストレージシステムの概略構成を示すブロック図である。
【０１３５】
スイッチ４０には、例えば、データ移行状態管理部４１と、アクセス状態監視部４２と、パス制御部４３とを含めることができる。
【０１３６】
データ移行状態管理部４１は、第１ストレージ装置１００または第２ストレージ装置２００からデータ移行状態に関する情報を取得して管理する。アクセス状態監視部４２は、ホスト１０からのアクセス要求が未移行領域に対するアクセス要求であるか、または移行済領域へのアクセス要求であるかを監視する。アクセス状態監視部４２は、第１切替指示部及び第２切替指示部の機能をそれぞれ実現するもので、未移行領域へのアクセス要求が所定回数Ｃｘ以上発生した場合、または、移行済領域へのアクセス要求が所定回数Ｃｙ以上発生した場合に、パスの切替を指示する。パス制御部４３は、アクセス状態監視部４２からの指示に基づいて、ホスト１０のアクセス先を切り替える。
【０１３７】
なお、データ移行状態管理部４１をスイッチ４０に設けず、第１ストレージ装置１００または第２ストレージ装置２００のいずれかにデータ移行状態管理部を設けてもよい。この場合、各ストレージ装置１００，２００のいずれかに設けられたデータ移行状態管理部は、スイッチ４０のアクセス状態監視部４２からの問合せに応じて、データ移行状態を通知することができる。
【０１３８】
また、本実施例では、ネームサーバ３０を備えているが、ネームサーバ３０を介さずにホスト１０のアクセス先を切り替えることができる。従って、ネームサーバ３０を省略してもよい。
【０１３９】
なお、本発明は、上述した実施の形態に限定されない。当業者であれば、本発明の範囲内で、種々の追加や変更等を行うことができる。例えば、当業者であれば、前記各実施例を適宜組み合わせることができる。
【図面の簡単な説明】
【０１４０】
【図１】本発明の実施形態の概念を示す説明図である。
【図２】第１実施例に係るストレージシステムの全体構成を模式的に示す説明図である。
【図３】ストレージシステムの概略構成を示すブロック図である。
【図４】コンフィグレーション情報の一例を示す説明図である。
【図５】ストレージ管理テーブルの一例を示す説明図である。
【図６】データ移行状態管理テーブルの一例を示す説明図である。
【図７】iSCSIのプロトコル階層を示す説明図である。
【図８】iSCSIのデータ構造を示す説明図である。
【図９】データ移行の全体を示すシーケンスフローチャートである。
【図１０】未移行領域へのリード処理を示すフローチャートである。
【図１１】ライト処理を示すフローチャートである。
【図１２】未移行領域へのアクセス状態に基づいて、移行元のストレージ装置にパスを切り替える様子を示すシーケンスフローチャートである。
【図１３】移行済領域へのリード処理を示すフローチャートである。
【図１４】データ移行の完了後に実行されるパス切替処理のフローチャートである。
【図１５】第２実施例のストレージシステムの概略構成を示すブロック図である。
【図１６】データ移行の全体を示すシーケンスフローチャートである。
【図１７】移行先のストレージ装置から移行元のストレージ装置にパスを切り替える様子を示すシーケンスフローチャートである。
【図１８】第３実施例のストレージシステムを模式的に示す説明図である。
【図１９】第４実施例のストレージシステムの概略を示すブロック図である。
【符号の説明】
【０１４１】
１…ストレージ装置，１Ａ 移行元ボリューム、１Ｂ…制御部、１Ｃ…データ移行部、１Ｄ…切替指示部、２…ストレージ装置、２Ａ…移行先ボリューム、２Ｂ…データ移行部、２Ｃ…データ移行状態管理部、２Ｄ…アクセス処理部、２Ｅ…切替指示部、３…ホスト、４…ストレージ管理装置、１０…ホスト、１１…HBA、１２…制御プログラム、１３…アプリケーションプログラム群、２０…管理装置、２１…構成管理プログラム、３０…ネームサーバ、３１…ネーム管理プログラム、４０…スイッチ、４１…データ移行状態管理部、４２…アクセス状態監視部、４３…パス制御部、１００…第１ストレージ装置（移行元）、１１０…チャネルアダプタ（CHA）、１２０…ディスクアダプタ（DKA）、１３０…キャッシュメモリ、１４０…共有メモリ、１５０…接続制御部、１６０…記憶部 、１６１…ディスクドライブ、２００…第２ストレージ装置（移行先）、２１０…チャネルアダプタ（CHA）、２２０…ディスクアダプタ（DKA）、２３０…キャッシュメモリ、２４０…共有メモリ、２５０…接続制御部、２６０…記憶部 、２６１…ディスクドライブ、３００…第３ストレージ装置（移行先）、Ｔ１…ストレージ管理テーブル、Ｔ２…データ移行状態管理テーブル、ＶＡ１…移行済領域、ＶＡ２…未移行領域
【図１】
2006146476.tif 000003
【図２】
2006146476.tif 000004
【図３】
2006146476.tif 000005
【図４】
2006146476.tif 000006
【図５】
2006146476.tif 000007
【図６】
2006146476.tif 000008
【図７】
2006146476.tif 000009
【図８】
2006146476.tif 000010
【図９】
2006146476.tif 000011
【図１０】
2006146476.tif 000012
【図１１】
2006146476.tif 000013
【図１２】
2006146476.tif 000014
【図１３】
2006146476.tif 000015
【図１４】
2006146476.tif 000016
【図１５】
2006146476.tif 000017
【図１６】
2006146476.tif 000018
【図１７】
2006146476.tif 000019
【図１８】
2006146476.tif 000020
【図１９】
2006146476.tif 000021