特許第6234557号(P6234557)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社日立製作所の特許一覧

(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6234557
(24)【登録日】2017年11月2日
(45)【発行日】2017年11月22日
(54)【発明の名称】ストレージシステム
(51)【国際特許分類】
   G06F 3/06 20060101AFI20171113BHJP
   G06F 13/10 20060101ALI20171113BHJP
   G06F 12/00 20060101ALI20171113BHJP
   G06F 11/20 20060101ALI20171113BHJP
【FI】
   G06F3/06 301F
   G06F3/06 304F
   G06F13/10 340A
   G06F12/00 511Z
   G06F12/00 531D
   G06F11/20 694
【請求項の数】9
【全頁数】35
(21)【出願番号】特願2016-514568(P2016-514568)
(86)(22)【出願日】2014年4月21日
(86)【国際出願番号】JP2014061194
(87)【国際公開番号】WO2015162674
(87)【国際公開日】20151029
【審査請求日】2016年8月24日
(73)【特許権者】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110001678
【氏名又は名称】特許業務法人藤央特許事務所
(72)【発明者】
【氏名】那須 弘志
(72)【発明者】
【氏名】牧 晋広
(72)【発明者】
【氏名】斎藤 秀雄
(72)【発明者】
【氏名】川口 智大
【審査官】 田上 隆一
(56)【参考文献】
【文献】 特開2007−102455(JP,A)
【文献】 特開2001−249853(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/06
G06F 11/20
G06F 12/00
G06F 13/10
(57)【特許請求の範囲】
【請求項1】
移行前ボリュームグループから移行後ボリュームグループへの移行を行う複数ストレージ装置、を含むストレージシステムであって、
前記複数ストレージ装置は、前記移行中において、前記移行前ボリュームグループ及び前記移行後ボリュームグループの複数ボリューム内の任意ボリュームへのホストからのライトコマンドを受け付け、
前記複数ストレージ装置は、前記複数ストレージ装置間で前記ライトコマンドのライトデータを転送して、前記複数ボリュームのそれぞれに、予め定められた順番で、前記ライトコマンドの前記ライトデータを書き込み、
前記複数ストレージ装置における第1ストレージ装置は、前記予め設定された順番における最後において、最後ボリュームに前記ライトデータを書き込み、
前記複数ストレージ装置において前記最後ボリュームと異なるボリュームを提供するストレージ装置は、前記異なるボリュームそれぞれにおいて、排他ロックを行ってから前記ライトデータを書き込み、前記最後ボリュームへの前記ライトデータの書き込み完了後に前記排他ロックを解除する、ストレージシステム。
【請求項2】
請求項1に記載のストレージシステムであって、
前記移行前ボリュームグループは、第1ボリューム及び第2ボリュームからなり、
前記移行後ボリュームグループは、前記第1ボリューム及び第3ボリュームからなり、
前記複数ストレージ装置は、前記第1ボリュームのデータを前記第3ボリュームにコピーし、
前記第2ボリューム又は前記第3ボリュームは、前記最後ボリュームであり、
前記複数ストレージ装置は、前記第1ボリューム、第2ボリューム及び第3ボリュームにおける最初に、前記第1ボリュームに前記ライトデータを書きこみ、
前記第2ボリュームを提供するストレージ装置は、前記第1ボリュームを提供するストレージ装置から、前記ライトデータ及び前記ライトデータの書き込みを指示するライトコマンドを受信し、
前記第3ボリュームを提供するストレージ装置は、前記第1ボリュームを提供するストレージ装置から、前記ライトデータ及び前記ライトデータの書き込みを指示するライトコマンドを受信する、ストレージシステム。
【請求項3】
請求項2に記載のストレージシステムであって、
前記第2ボリュームを提供するストレージ装置は、前記ホストから前記ライトコマンド及びライトデータを受信した場合、当該ライトコマンド及びライトデータを、前記第1ボリュームを提供するストレージ装置に転送し、
前記第3ボリュームを提供するストレージ装置は、前記ホストから前記ライトコマンド及びライトデータを受信した場合、当該ライトコマンド及びライトデータを、前記第1ボリュームを提供するストレージ装置に転送する、ストレージシステム。
【請求項4】
請求項1に記載のストレージシステムであって、
前記移行前ボリュームグループは、第1ボリューム及び第2ボリュームからなり、
前記移行後ボリュームグループは、前記第1ボリューム及び第3ボリュームからなり、
前記複数ストレージ装置は、前記第2ボリュームのデータを前記第3ボリュームにコピーし、
前記複数ストレージ装置は、前記第1ボリューム、第2ボリューム及び第3ボリュームの順に、前記ライトデータを書きこみ、
前記第2ボリュームを提供するストレージ装置は、前記第1ボリュームを提供するストレージ装置から、前記ライトデータ及び前記ライトデータの書き込みを指示するライトコマンドを受信し、
前記第3ボリュームを提供するストレージ装置は、前記第2ボリュームを提供するストレージ装置から、前記ライトデータ及び前記ライトデータの書き込みを指示するライトコマンドを受信する、ストレージシステム。
【請求項5】
請求項4に記載のストレージシステムであって、
前記第2ボリュームを提供するストレージ装置は、前記ホストから前記ライトコマンド及びライトデータを受信した場合、当該ライトコマンド及びライトデータを、前記第1ボリュームを提供するストレージ装置に転送し、
前記第3ボリュームを提供するストレージ装置は、前記ホストから前記ライトコマンド及びライトデータを受信した場合、当該ライトコマンド及びライトデータを、前記第2ボリュームを提供するストレージ装置に送信し、
前記第2ボリュームを提供するストレージ装置は、前記第3ボリュームから受信したライトコマンド及びライトデータを、前記第1ボリュームを提供するストレージ装置に転送する、ストレージシステム。
【請求項6】
請求項1に記載のストレージシステムであって、
前記複数ストレージ装置は、前記異なるボリュームにおける指定ボリュームへのリードコマンドを受信すると、排他ロック後にリードデータを前記指定ボリュームから読み出し、前記リードデータの読み出し後に前記排他ロックを解除する、ストレージシステム。
【請求項7】
請求項1に記載のストレージシステムであって、
前記複数ストレージ装置は、前記移行後ボリュームグループにおける新ボリュームに対応するI/Oスイッチングボリュームを作成し、
前記複数ストレージ装置は、前記移行中において、前記I/Oスイッチングボリュームへのライトコマンドを、前記移行前ボリュームグループにおけるボリュームに転送し、
前記複数ストレージ装置は、前記新ボリュームへの移行前ボリュームグループからのデータコピー後に、前記I/Oスイッチングボリュームを削除し、前記新ボリュームへのパスを定義する、ストレージシステム。
【請求項8】
請求項1に記載のストレージシステムであって、
前記複数ストレージ装置は、前記移行前ボリュームグループに属し前記移行後ボリュームグループに属さないボリュームに対応するI/Oスイッチングボリュームを作成し、
前記複数ストレージ装置は、前記移行中において、前記I/Oスイッチングボリュームへのライトコマンドを、前記移行後ボリュームグループにおけるボリュームに転送し、
前記複数ストレージ装置は、前記移行後に、前記I/Oスイッチングボリュームを削除する、ストレージシステム。
【請求項9】
移行前ボリュームグループから移行後ボリュームグループへの移行を行う複数ストレージ装置、の制御方法であって、
前記複数ストレージ装置は、
前記移行中において、前記移行前ボリュームグループ及び前記移行後ボリュームグループの複数ボリューム内の任意ボリュームへのホストからのライトコマンドを受け付け、
前記複数ストレージ装置間で前記ライトコマンドのライトデータを転送して、前記複数ボリュームのそれぞれに、予め定められた順番で、受信したライトコマンドのライトデータを書き込み、
前記複数ストレージ装置における第1ストレージ装置は、前記予め定められた順番における最後において、最後ボリュームに前記ライトデータを書き込み、
前記複数ストレージ装置において前記最後ボリュームと異なるボリュームを提供するストレージ装置は、前記最後ボリュームと異なるボリュームそれぞれにおいて、排他ロックをしてから前記ライトデータを書き込み、前記最後ボリュームへの前記ライトデータの書き込み完了後に前記排他ロックを解除する、制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ストレージシステムに関し、特に、ストレージシステムにおけるボリュームグループの移行に関する。
【背景技術】
【0002】
背景技術として、特許文献1がある。特許文献1は、複数物理ストレージ装置から構成される仮想ストレージ装置において、物理ストレージ装置間でデータ移行を行う際に、サーバが認識するストレージ装置情報及びボリューム情報の変更を不要にし、ホストI/O無停止のままでのデータ移行を実現する技術を開示している。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】米国特許出願公開第2008/0034005号明細書
【発明の概要】
【発明が解決しようとする課題】
【0004】
エンタプライズクラスのストレージシステムでは、ストレージ装置のクラスタ構成によるHigh Availability(HA)機能が求められている。HA機能は、ストレージシステムの高可用性を実現する。HA構成は、二重化された系を有し、障害発生時には自動的に故障した系を切り離し、正常な系のみを用いて動作を継続する。
【0005】
さらに、Active−Active型HA構成は、全ての系を稼動系として運用する。Active−Active型HA構成において、ストレージシステムは、ボリュームペアのいずれのI/Oアクセスも受け付ける。
【0006】
Active−Active型HA構成のストレージシステムにおけるデータ移行では、ホストI/O無停止かつActive−Active型HA構成を維持したまま、データを移行することが求められる。つまり、Active−Active型HA構成の高可用性を維持しながらのデータ移行が求められる。しかしながら、先行技術の範囲では、HA構成を解除しなければホストI/O無停止のデータ移行ができないため、データ移行中の高可用性を維持できない。
【課題を解決するための手段】
【0007】
本発明の一態様は、移行前ボリュームグループから移行後ボリュームグループへの移行を行う複数ストレージ装置、を含むストレージシステムであって、前記複数ストレージ装置は、前記移行中において、前記移行前ボリュームグループ及び前記移行後ボリュームグループの複数ボリューム内の任意ボリュームへのホストからのライトコマンドを受け付け、前記複数ストレージ装置は、前記複数ボリュームのそれぞれに、予め定められた順番で、前記ライトコマンドのライトデータを書き込み、前記複数ストレージ装置における第1ストレージ装置は、前記複数ボリュームにおける最後において、最後ボリュームに前記ライトデータを書き込み、前記複数ストレージ装置において前記最後ボリュームと異なるボリュームを提供するストレージ装置は、前記異なるボリュームそれぞれにおいて、排他ロックを行ってから前記ライトデータを書き込み、前記最後ボリュームへの前記ライトデータの書き込み完了後に前記排他ロックを解除する。
【発明の効果】
【0008】
本発明の一態様によれば、ストレージ装置のHA構成において、ホストI/O無停止かつ可用性を維持しつつデータ移行を実現することができる。
【図面の簡単な説明】
【0009】
図1】実施例1において、HAマルチターゲット構成におけるボリュームペア移行の概要を説明する図である。
図2】実施例1において、計算機システムの構成例を示す図である。
図3】実施例1において、ホスト計算機の構成例を示す図である。
図4】実施例1において、物理ストレージ装置の構成例を示す図である。
図5】実施例1において、物理ストレージ装置のメモリにおけるソフトウェア構成例を示す図である。
図6A】実施例1において、物理ストレージ装置におけるリソース管理テーブルの構成例を示す図である。
図6B】実施例1において、物理ストレージにおけるホストグループ管理テーブルの構成例を示す図である。
図7】実施例1において、物理ストレージ装置における仮想ストレージボックス管理テーブルの構成例を示す図である。
図8】実施例1において、物理ストレージ装置における仮想ストレージ管理テーブルの構成例を示す図である。
図9A】実施例1において、物理ストレージ装置におけるボリュームコピーペア管理テーブルの構成例を示す図である。
図9B】実施例1において、物理ストレージ装置における排他ロック管理テーブルの構成例を示す図である。
図10】実施例1において、管理計算機の構成例を示す図である。
図11】実施例1において、管理計算機におけるか仮想ストレージ管理テーブルの構成例を示す図である。
図12】実施例1において、管理計算機における仮想ストレージボックス管理テーブルの構成例を示す図である。
図13】実施例1において、管理計算機における仮想ストレージリソース管理テーブルの構成例を示す図である。
図14】実施例1において、移行先物理ストレージ装置Bにおけるボリュームコピーペア管理テーブルの構成例を示す図である。
図15】実施例1において、HAボリューム移行ステップを示す図である。
図16】実施例1において、ホスト計算機から物理ストレージ装置へのWRITEコマンド処理例を示すフローチャートである。
図17】実施例1において、ホスト計算機から物理ストレージ装置へのREADコマンド処理例を示すフローチャートである。
図18】実施例1において、HA単体ボリュームペアにおけるホスト計算機からPVOLへのWRITEコマンド処理例を示すシーケンスである。
図19】実施例1において、HA単体ボリュームペアにおけるホスト計算機からSVOLへのWRITEコマンド処理例を示すシーケンスである。
図20】実施例1において、HA単体ボリュームペアにおけるホスト計算機からPVOLへのREADコマンド処理例を示すシーケンスである。
図21】実施例1において、HA単体ボリュームペアにおけるホスト計算機からSVOLへのREADコマンド処理例を示すシーケンスである。
図22】実施例1において、HAマルチターゲット構成におけるホスト計算機から第1ペアのPVOLへのWRITEコマンド処理例を示すシーケンスである。
図23】実施例1において、HAマルチターゲット構成におけるホスト計算機から第1ペアのSVOLへのWRITEコマンド処理例を示すシーケンスである。
図24】実施例1において、HAマルチターゲット構成におけるホスト計算機から第2ペアのSVOLへのWRITEコマンド処理例を示すシーケンスである。
図25】実施例1において、HAマルチターゲット構成におけるホスト計算機から第1ペアのPVOLへのREADコマンド処理例を示すシーケンスである。
図26】実施例1において、HAマルチターゲット構成におけるホスト計算機から第1ペアのSVOLへのREADコマンド処理例を示すシーケンスである。
図27】実施例1において、HAマルチターゲット構成におけるホスト計算機から第2ペアのSVOLへのREADコマンド処理例を示すシーケンスである。
図28】実施例2において、HAカスケード構成における本発明の特徴を説明する図である。
図29】実施例2において、HAボリューム移行ステップを示す図である。
図30】実施例2において、HAカスケード構成におけるホスト計算機から第1ペアのPVOLへのWRITEコマンド処理例を示すシーケンスである。
図31】実施例2において、HAカスケード構成におけるホスト計算機から第1ペアのSVOLへのWRITEコマンド処理例を示すシーケンスである。
図32】実施例2において、HAカスケード構成におけるホスト計算機から第2ペアのSVOLへのWRITEコマンド処理例を示すシーケンスである。
図33A】実施例3において、HAボリュームペア移行ステップを示す図である。
図33B】実施例3において、HAボリュームペア移行ステップを示す図である。
図34A】実施例4において、HAボリュームペア移行ステップを示す図である。
図34B】実施例4において、HAボリュームペア移行ステップを示す図である。
図35】実施例5において、HAボリュームペア移行ステップを示す図である。
【発明を実施するための形態】
【0010】
以下、添付図面を参照して本発明の実施形態を説明する。本実施形態は本発明を実現するための一例に過ぎず、本発明の技術的範囲を限定するものではないことに注意すべきである。各図において共通の構成については同一の参照符号が付されている。
【実施例1】
【0011】
以下に説明するストレージシステムは、Active−Active型HA構成を有する。HA構成は、二重化された系を有し、障害発生時には自動的に故障した系を切り離し、正常な系のみを用いて動作を継続するための自動障害回復機能を備える。Active−Active型HA構成は、全ての系を稼動系として運用することで、リソースの有効活用及び負荷分散を実現する。以下の説明において、HA構成及びHAペアは、Active−Active型のHA構成及びHAペアを意味する。ストレージシステムは、HAペアのいずれに対するI/Oアクセスも受け付ける。
【0012】
以下においては、HAボリュームペアの移行を説明する。具体的には、HAボリュームペアの移行は、移行前HAボリュームペアの一つを別のボリュームに移行し、移行前HAボリュームペアの他方と新たなボリュームとで、移行後HAボリュームペアを構成する。ストレージシステムは、移行中において、全てのボリュームへのI/Oアクセスを受け付ける。ストレージシステムは、移行完了後に、HAボリュームペアを切り替える。
【0013】
HAボリュームペアは、Primary Volume(PVOL)とSecondary Volume(SVOL)とで構成される。一例において、ストレージシステムは、ペア作成時に、PVOLのデータをSVOLにコピーする。
【0014】
後述するように、非移行時において、ストレージシステムは、SVOLへのWRITEコマンドを受信すると、PVOLへのライトデータの書き込み(ライトキャッシュへの書き込み又は記憶ドライブへの書き込みのいずれか)終了後に、SVOLへのライトデータの書き込みを行う。一例において、PVOLへのI/Oアクセスは、PVOLの排他ロックを伴い、SVOLへのI/Oアクセスにおいて排他ロックは使用されない。SVOLへのアクセスにおいて排他ロックが使用されてもよい。
【0015】
移行時及び非移行時において、ライト処理における排他ロックは、他のライト処理及びリード処理を禁止する。リード処理における排他ロックは、他のライト処理を禁止し、他のリード処理を禁止しても禁止しなくともよい。リード処理における排他ロックは、他のリード処理を許可することでホストへの応答遅延を抑制できる。
【0016】
図1は、ボリューム移行における、HAマルチターゲット構成の概要を示す図である。HAマルチターゲット構成は、一つのボリュームを二つのHAボリュームペアの共通のPVOLとし、それらの三つのボリュームで二つのHAボリュームペアを構成する。
【0017】
図1のシステムは、ホスト計算機1000と、物理ストレージ装置(単にストレージ装置とも呼ぶ)2000と、仮想ストレージ装置3000とを含む。仮想ストレージ装置3000は、複数の物理ストレージ装置2000で構成されている。
【0018】
本システムは、複数物理ストレージ装置2000によるActive−Active型HA構成(以下、HAボリューム構成とも呼ぶ)を有する。複数物理ストレージ装置2000は、単一の仮想ストレージ装置3000として、ホスト計算機1000に提供される。各物理ストレージ装置2000は、ホスト計算機1000からの要求に対して、同一のストレージ装置構成情報、すなわち仮想ストレージ装置1(3000)の構成情報を提供する。
【0019】
図1の例において、物理ストレージ装置1(2000)の物理VOL1(2900)と、物理ストレージ装置2(2000)の物理VOL2(2900)とは、HAボリュームペア7100を構成している。物理VOL1(2900)はPVOLであり、物理VOL2(2900)はSVOLである。
【0020】
物理VOL1(2900)及び物理VOL2(2900)について、ホスト計算機1000に対して、同一のVOL情報、すなわち仮想VOL11(3900)の情報が提供される。ホスト計算機1000は、仮想VOL11(3900)にアクセスするため、物理VOL1(2900)及び物理VOL2(2900)のいずれへのパスも使用することができる。
【0021】
一方の物理VOL2900に対するライトデータは、他方の物理VOL2900に転送される。これにより、物理VOL1(2900)及び物理VOL2(2900)の間のデータ同一性が維持される。物理ストレージ装置1(2000)及び物理ストレージ装置2(2000)は、それぞれ、ホスト計算機1000からのREADコマンドに対して、自装置が提供する物理ボリューム2900から読み出したデータを送信する。
【0022】
このように、物理VOL1(2900)及び物理VOL2(2900)は、ホスト計算機1000から一つのボリュームとしてI/Oアクセス可能であり、また、いずれかの物理ボリュームにおいて障害が発生しても、他の物理ボリュームへのI/Oアクセスが可能である。
【0023】
本実施例は、ホストI/O無停止かつActive−Active型HA構成を維持したボリュームペアの移行を説明する。一例として、物理VOL2(2900)を物理VOL3へ移行する例を説明する。物理VOL1及び物理VOL2は移行前ボリュームペアを構成し、物理VOL1(2900)及び物理VOL3(2900)は移行後ボリュームペアを構成する。
【0024】
まず、物理VOL1(2900)と物理VOL3(2900)で、HAボリュームペア7200が形成される。ここでは、物理VOL1(2900)はPVOL、物理VOL3(2900)はSVOLとする。移行において、PVOLである物理VOL1(2900)からSVOLである物理VOL3(2900)にデータがコピーされる。
【0025】
ホスト計算機1000及び物理ストレージ装置3(2000)において、ホスト計算機1000から物理VOL3(2900)へのパス8300が定義される。物理ストレージ装置3(2000)は、物理VOL3(2900)について、ホスト計算機1000からの要求に対して、物理VOL1(2900)及び物理VOL2(2900)と同様に、仮想VOL11(3900)の情報を返す。
【0026】
次に、ホスト計算機1000及び物理ストレージ装置2(2000)において、ホスト計算機1000から物理VOL2(2900)へのパス8200が削除される。さらに、物理ストレージ装置1(2000)及び物理ストレージ装置2(2000)は、HAボリュームペア7100を削除する。これにより、物理ストレージ装置2(2000)の物理VOL2(2900)から物理ストレージ装置3(2000)の物理VOL3(2900)への移行が完了する。
【0027】
図2は、本実施例における計算機システムの構成例を示す。図2の計算機システムは、ホスト計算機1000と、物理ストレージ装置2000と、管理計算機4000と、を含む。
【0028】
計算機システムに含まれる各種装置(システム)の数は、設計に依存する。物理ストレージ装置1〜3(2000)は、1台の仮想的なストレージ装置である仮想ストレージ装置を構成する。本例の仮想ストレージ環境において、2台または3台の物理ストレージ装置が1台の仮想ストレージを構成するが、その構成物理ストレージ数は設計に依存する。
【0029】
物理ストレージ装置A(2000)は、Quorum Diskを持つ。Quorum Diskは、HA構成における物理ストレージ装置2000間で通信不可となった場合に、HA構成が組まれた物理ストレージ装置2000のうち、継続稼動させるものと停止させるものを決定する機能を提供する。Quorum Diskにより、スプリットブレイン問題を防ぐことができる。
【0030】
ホスト計算機1000、管理計算機4000及び物理ストレージ装置2000は、LAN6000で構成された管理ネットワークにより、通信可能に接続されている。例えば、管理ネットワーク6000は、IPネットワークである。管理ネットワーク6000は、管理データ通信用のネットワークであればどのタイプのネットワークでもよい。
【0031】
ホスト計算機1000及び物理ストレージ装置2000は、SAN(Storage Area Network)5000で構成されたデータネットワークにより接続されている。ホスト計算機1000は、SAN5000を介して、物理ストレージ装置2000のボリュームにアクセスする。データネットワーク5000はデータ通信用のネットワークであれば、どのようなタイプのネットワークでもよい。データネットワーク5000と管理ネットワーク6000は同一のネットワークでもよい。
【0032】
図3は、ホスト計算機1000の構成例を模式的に示す。ホスト計算機1000は、プロセッサであるCPU(Central Processing Unit)1100、不揮発性の二次記憶デバイス1200、主記憶デバイスであるメモリ1300、入出力デバイス1400、I/O要求発行側インタフェースであるイニシエータポート1600、管理インタフェース1700を含む。各構成要素は、バス1500により通信可能に接続されている。
【0033】
CPU1100は、メモリ1300に格納されたプログラムに従って動作する。典型的には、二次記憶デバイス1200に格納されているプログラム及びデータが、メモリ1300にロードされる。本例において、メモリ1300は、OS(Operating System)1310、交替パスプログラム1320及びアプリケーションプログラム1330を保持する。アプリケーションプログラム1330は、物理ストレージ装置2000が提供するボリュームへデータの読み書きを行う。
【0034】
イニシエータポート1600は、SAN4000に接続するネットワークインタフェースである。イニシエータポート1600は、SAN5000を介して物理ストレージ装置2000とデータ及び要求を送受信する。
【0035】
管理インタフェース1700は、LAN6000に接続するネットワークインタフェースである。管理インタフェース1700は、LAN6000を介して物理ストレージ装置2000と管理データ及び制御命令を送受信する。管理インタフェース1700は、さらに、LAN6000を介して管理計算機4000と、管理データ及び制御命令を送受信する。
【0036】
図4は、物理ストレージ装置2000の構成例を模式的に示す図である。本例において、全物理ストレージ装置2000の基本構成は同じであるが、構成要素の数や記憶容量等は各物理ストレージ装置2000に依存する。これらは異なる基本構成を有していてもよい。
【0037】
物理ストレージ装置2000は、複数の記憶デバイス(例えば、ハードディスクドライブ及び/又はSSD(Solid State Drive))2200と、物理ストレージ装置2000を制御し、ボリューム管理や、ホスト計算機1000又は他の物理ストレージ装置2000とのデータ通信等を行うストレージコントローラとを含む。
【0038】
ストレージコントローラは、プロセッサであるCPU2100、プログラムメモリ2300、I/O要求発行側インタフェースであるイニシエータポート2600、I/O要求受信側インタフェースであるターゲットポート2700、管理インタフェース2800、データ転送のためのキャッシュメモリ2400、を含む。ストレージ装置2000の構成要素は、バス2500で通信可能に接続されている。
【0039】
物理ストレージ装置2000は、イニシエータポート2600 を介して、外部(他)の物理ストレージ装置2000に接続し、外部の物理ストレージ装置2000にI/O要求及びライトデータを送信し、外部の物理ストレージ装置2000からリードデータを受信することができる。イニシエータポート2600は、SAN5000に接続する。
【0040】
イニシエータポート2600は、外部の物理ストレージ装置2000との通信に用いられるFC、Fibre Channel Over Ethernet(FCoE)、iSCSI等のプロトコルを、ストレージコントローラ内部で用いられるプロトコル、例えば、PCIeに変換する機能を有する。
【0041】
物理ストレージ装置2000は、ターゲットポート2700において、ホスト計算機1000又は外部の物理ストレージ装置2000に接続する。物理ストレージ装置2000は、ターゲットポート2700を介して、ホスト計算機1000又は外部の物理ストレージ装置2000からI/O要求及びライトデータを受信し、また、ホスト計算機1000又は外部の物理ストレージ装置2000にリードデータを送信する。ターゲットポート2700は、SAN5000に接続する。
【0042】
ターゲットポート2700は、ホスト計算機1000又は外部の物理ストレージ装置2000との通信に用いられるFC、Fibre Channel Over Ethernet(FCoE)、iSCSI等のプロトコルを、ストレージコントローラ内部で用いられるプロトコル、例えば、PCIeに変換する機能を有する。
【0043】
管理インタフェース2800は、LAN6000に接続するためのデバイスである。管理インタフェース2800は、LAN6000で使用されるプロトコルを、ストレージコントローラ内部で用いられるプロトコル、例えば、PCIeに変換する機能を有する。
【0044】
CPU2100は、物理ストレージ装置2000の制御のためのプログラムを実行し、ホスト計算機1000からのI/Oの制御及び物理ストレージ装置2000ボリュームの管理、制御を含む所定の機能を実現する。本実施例で説明するCPU2100により実現される機能の少なくとも一部は、CPU2100と異なるロジック回路によって実現されてもよい。
【0045】
プログラムはプロセッサ(CPU)によって実行されることで、定められた処理をメモリ及びインタフェースを用いながら行う。従って、本開示においてプログラムを主語とする説明は、プロセッサを主語とした説明でもよい。若しくは、プログラムが実行する処理は、そのプログラムが動作する装置(例えば物理ストレージ装置2000又はホスト計算機1000)及びシステムが行う処理である。
【0046】
プログラムメモリ2300は、CPU2100が扱うデータやプログラムを格納する。プログラムメモリ2300のデータは、例えば、物理ストレージ装置2000内のいずれかの記憶デバイス2200、フラッシュメモリ(不図示)、又はLAN5000を介して接続された他の装置等、非一時的記憶媒体を備える記憶デバイスからプログラムメモリ2300にロードされる。
【0047】
図4は、物理ストレージ装置2000それぞれのプログラムメモリ2300におけるソフトウェア構成例を示す。プログラムメモリ2300は、データ入出力処理プログラム2350、リソース管理プログラム2360及びボリュームコピー制御プログラム2370を保持する。さらに、プログラムメモリ2300は、リソース管理テーブル2310、仮想ストレージボックス管理テーブル2320、仮想ストレージ管理テーブル2330、ボリュームコピーペア管理テーブル2340、ホストグループ管理テーブル2380、排他ロック管理テーブル2390を保持する。
【0048】
データ入出力処理プログラム2350 は、ホスト計算機1000からのI/O要求に従って、ユーザデータのリード及びライトを行い、ホスト計算機1000及び他の物理ストレージ装置2000との間の必要なデータ通信を行う。
【0049】
リソース管理プログラム2360は、物理ストレージ装置2000のリソースを管理する。リソース管理プログラム2360は、ボリュームの作成や削除の他、以下に説明するテーブル(情報)の作成及び更新を行う。リソース管理プログラム2360は、リソース管理のために必要な情報を、管理計算機4000との間で送受信する。
【0050】
以下において、物理ストレージ装置2000がそれぞれ保持し、本実施例の説明において参照されるテーブル(情報)について説明する。同一名称のテーブルは、各物理ストレージ装置2000において、同一の構成(欄)を有する。以下において図を参照して説明するテーブルは、物理ストレージ装置1(2000)が保持するテーブルである。なお、各装置が保持する情報は、テーブル以外の構造体に格納されていてもよい。
【0051】
図6Aは、リソース管理テーブル2310の構成例を示す。リソース管理テーブル2310は、当該物理ストレージ装置1(2000)のリソースを管理するためのテーブルである。
【0052】
リソース管理テーブル2310は、物理ストレージ装置1(2000)のリソースの種類を格納するリソース種別欄2311、リソースIDを格納するリソースID欄2312、当該リソースが属するリソースグループIDを格納するリソースグループID欄2313、当該リソースに付与された仮想リソースIDを格納する仮想リソースID欄2314を有する。
【0053】
図6Bは、ホストグループ管理テーブル2380の構成例を示す。ホストグループは、ポートに接続されたホスト計算機1000のWWN(World Wide Name)を、ホスト計算機1000のOS種別毎にグループ化したものである。ホストグループ管理テーブル2380は、ポートIDを格納するポートID欄2381、当該ポートに関連するホストグループIDを格納するホストグループID欄2382、ホスト計算機1000のOS種別を示すホストモードID欄2383、当該ホストグループに登録されたホストWWNを格納するホストWWN欄2384、ホストグループID2382に属するホスト計算機1000がアクセス可能なボリュームIDを格納するボリュームID2385を有する。
【0054】
図7は、仮想ストレージボックス管理テーブル2320の構成例を示す。仮想ストレージボックスは、1物理ストレージ装置内で1仮想ストレージ装置が持つリソースグループの集合である。仮想ストレージボックス管理テーブル2320は、仮想ストレージ装置3000の仮想ストレージボックスを管理するためのテーブルである。
【0055】
仮想ストレージボックス管理テーブル2320は、仮想ストレージボックスIDを格納する仮想ストレージボックスID欄2321、当該仮想ストレージボックスに属するリソースグループIDを格納するリソースグループID欄2322を有する。
【0056】
図8は、仮想ストレージ管理テーブル2330の構成例を示す。仮想ストレージ管理テーブル2330は、仮想ストレージ装置3000を管理するためのテーブルである。仮想ストレージ管理テーブル2330は、仮想ストレージIDを格納する仮想ストレージID欄2331、当該仮想ストレージ装置に属する仮想ストレージボックスIDを格納する仮想ストレージボックスID欄2332を有する。
【0057】
図9Aは、ボリュームコピーペア管理テーブル2340の構成例を示す。ボリュームコピーペア管理テーブル2340は、当該物理ストレージ装置2000が提供するボリュームを含むボリュームコピーペアを管理するためのテーブルである。
【0058】
ボリュームコピーペア管理テーブル2340は、ボリュームコピーペアのペアIDを格納するペアID欄2341、当該ペアの種別を格納するペア種別欄2342、当該ペアの状態を格納するペア状態欄2343を有する。
【0059】
ボリュームコピーペア管理テーブル2340は、さらに、PVOLIDを格納するPVOLID欄2344、SVOLIDを格納するSVOLID欄2345を有する。本例において、PVOLID及びSVOLIDは、物理ストレージ装置2000の識別情報及び当該物理ストレージ装置におけるボリュームの識別情報により構成されている。
【0060】
ボリュームコピーペア管理テーブル2340は、さらに、当該ペアに関連するペアのIDを格納する関連ペアID欄2346、当該ペアと関連ペアの優先度を格納する優先度欄2347を有する。
【0061】
ペア種別欄2342に格納するペア種別は、HAであれば“HA”、物理ストレージ内のボリュームローカルコピーであれば“LC”、物理ストレージ間のボリュームリモートコピーであれば“RC”、HAマルチターゲット構成であれば“HA‐MLT”、HAカスケード構成(図31参照)であれば“HA‐CAS”など、ボリュームコピーペアの種類を示す。
【0062】
ペア状態欄2343に格納するペア状態は、データコピー中であれば“COPY”、データコピー完了後の同期状態であれば“PAIR”、データコピー中断中であれば“SUSPEND”など、ボリュームコピーペア間のデータコピーの状態を示す文字列や数字を格納する。
【0063】
優先度欄2347に格納する優先度は、HAマルチターゲット構成またはHAカスケード構成におけるデータ書き込み順序を決定する情報を示す。本実施例では、第1ペアのPVOL、第1ペアのSVOL、第2ペアのPVOL、第2ペアのSVOLの順に書き込む。優先度は、ペアが作成された順番に従って決定してもよいし、HAマルチターゲット構成設定時またはHAカスケード構成設定時にユーザが任意の優先度を決定してもよい。
【0064】
図9Bは、排他ロック管理テーブル2390の構成例を示す。排他ロック管理テーブル2390は、ボリュームの排他ロックを管理するための情報を保持する。排他ロック管理テーブル2390は、排他ロックID欄2391、ボリュームID欄2392及びLBA欄2393を有する。
【0065】
排他ロック管理テーブル2390は、排他ロックされているデータ記憶領域を管理している。各エントリは、排他ロックされているボリューム内の領域を示し、ボリュームIDと当該ボリューム内のアドレス(LBA)を使用して、例えば、開始LBAとデータ長で指定される。本例において、ボリューム内の部分領域が排他ロックされるが、ボリューム単位で排他ロックされてもよい。
【0066】
図10は、管理計算機4000の構成例を示す図である。管理計算機4000は、プロセッサであるCPU4100、主記憶デバイスであるメモリ4300、二次記憶デバイス4200、入出力デバイス4400、管理インタフェース(I/F)4600を含む。管理計算機4000のデバイスは、バス4500により通信可能に接続されている。
【0067】
管理計算機4000は、管理プログラムを実行し、それに従って動作する。管理I/F4600はLAN6000に接続し、計算機内のプロトコルとLAN6000のプロトコルとの間の変換を行う。管理計算機4000は、管理I/F4600及びLAN6000を介して、物理ストレージ装置2000及びホスト計算機1000と通信することができる。
【0068】
入出力デバイス4400は、ディスプレイ、ポインタ又はキーボード等のデバイスの一つ又は複数のデバイスを含む。ユーザ(上記例において、ユーザUser01〜User03)は、入出力デバイス4400により、管理計算機4000を操作することができるほか、ネットワークを介して接続するクライアント計算機から管理計算機4000にアクセスしてもよい。クライアント計算機は、管理計算機4000と共に管理システムに含まれる。ユーザは、入力デバイス(例えばマウス及びキーボード)により必要な情報を入力し、出力デバイスにより必要な情報を視認することができる。
【0069】
CPU4100は、メモリ4300に記憶されているプログラムを実行することによって管理計算機4000の所定の機能を実現する。メモリ4300は、CPU4100よって実行されるプログラム及びプログラムの実行に必要なデータを記憶する。管理計算機4000で動作するプログラムについては後述する。本実施例で説明するCPU4100により実現される機能の少なくとも一部は、CPU4100と異なるロジック回路によって実現されてもよい。
【0070】
例えば、プログラムは、二次記憶デバイス4200からメモリ4300にロードされる。二次記憶デバイス4200は、管理計算機4000の所定の機能を実現するために必要なプログラム及びデータを格納する、不揮発性の非一時的記憶媒体を備える記憶装置である。二次記憶デバイス4200は、ネットワークを介して接続された外部の記憶装置でもよい。
【0071】
本構成例の管理システムは、管理計算機で構成されているが、管理システムは複数の計算機で構成してもよい。複数の計算機の一つは表示用計算機であってもよく、管理処理の高速化や高信頼化のために、複数の計算機が管理計算機と同等の処理を実現してもよい。管理システムは、物理ストレージ内に構成されていてもよい。管理システムの一部の機能が、物理ストレージ装置内に実装されていてもよい。
【0072】
管理計算機40000のプログラムメモリ4300は、CPU4100が扱うデータやプログラムを格納する。プログラムメモリ4300のデータは、例えば、物理ストレージ装置2000内のいずれかの記憶デバイス2200又はフラッシュメモリ(不図示)、又はLAN6000を介して接続された他の装置からプログラムメモリ4300にロードされる。
【0073】
プログラムメモリ4300は、OS4310及び仮想ストレージ管理プログラムを保持する。さらに、プログラムメモリ4300は、仮想ストレージ管理テーブル4320、仮想ストレージボックス管理テーブル4330、仮想ストレージリソース管理テーブル4340、ボリュームコピーペア管理テーブル4350を保持する。
【0074】
仮想ストレージ管理プログラム4360は、物理ストレージ装置2000及び仮想ストレージ装置3000のリソースを管理する。仮想ストレージ管理プログラム4360は、ボリュームの作成や削除の他、以下に説明するテーブル(情報)の作成及び更新を行う。仮想ストレージ管理プログラム4360は、リソース管理のために必要な情報を、物理ストレージ装置2000との間で送受信する。
【0075】
図11は、仮想ストレージ管理テーブル4320の構成例を示す。仮想ストレージ管理テーブル4320は、仮想ストレージ装置3000及び仮想ストレージ装置3000の構成要素である物理ストレージ装置2000のリソースを管理するためのテーブルである。仮想ストレージ管理テーブル4320は、全ての物理ストレージ装置2000の仮想ストレージ管理テーブル2330を統合したテーブルである。
【0076】
仮想ストレージ管理テーブル4320は、仮想ストレージIDを格納する仮想ストレージID欄4321、当該仮想ストレージに属する仮想ストレージボックスIDを格納する仮想ストレージボックスID4322を有する。
【0077】
図12は、仮想ストレージボックス管理テーブル4330の構成例を示す。仮想ストレージボックス管理テーブル4330は、仮想ストレージ装置3000の仮想ストレージボックスを管理するためのテーブルである。仮想ストレージボックス管理テーブル4330は、全ての物理ストレージ装置2000の仮想ストレージボックス管理テーブル2320を統合したテーブルである。
【0078】
仮想ストレージボックス管理テーブル4330は、仮想ストレージボックスIDを格納する仮想ストレージボックスID欄4331、当該仮想ストレージボックスに属するリソースグループIDを格納するリソースグループID欄4332を有する。
【0079】
図13は、仮想ストレージリソース管理テーブル4340の構成例を示す。仮想ストレージリソース管理テーブル4340は、仮想ストレージ装置3000のリソースを管理するためのテーブルである。仮想ストレージリソース管理テーブル4340は、全ての物理ストレージ装置2000のリソース管理テーブル2310を統合したテーブルである。
【0080】
仮想ストレージリソース管理テーブル4340は、リソース種別を格納するリソース種別欄4341、当該リソースIDを格納するリソースID欄4342、当該リソースが属するリソースグループIDを格納するリソースグループID欄4343、当該リソースに付与された仮想リソースIDを格納する仮想リソースID欄4344を有する。
【0081】
図14は、ボリュームコピーペア管理テーブル4350の構成例を示す。ボリュームコピーペア管理テーブル4350は、管理計算機4000が管理する物理ストレージ装置2000のボリュームコピーペアを管理するためのテーブルである。ボリュームコピーペア管理テーブル4350は、全物理ストレージ装置2000のボリュームコピーペア管理テーブル2340を統合したテーブルである。
【0082】
ボリュームコピーペア管理テーブル4350は、ボリュームコピーペアのペアIDを格納するペアID欄4351、当該ペアの種類を格納するペア種別欄4352、当該ペアの状態を格納するペア状態欄4353、PVOLIDを格納するPVOLID欄4354、SVOLIDを格納するSVOLID欄4355、当該ペアに関連するペアIDを格納する関連ペアID欄4356、当該ペアと関連ペアの優先度を格納する優先度欄4357を有する。ボリュームコピーペア管理テーブル4350の各欄の言葉の意味は、ボリュームコピーペア管理テーブル2340と同じである。
【0083】
図15は、物理ストレージ装置2(ST2)(2000)の物理VOL2(SVOL)2900を、物理ストレージ装置3(ST3)(2000)の物理VOL3(SVOL)2900に移行するステップを示す。物理VOL1、VOL2、VOL3(2900)は、仮想VOL11(3000)の構成要素である。なお、一部の符号を省略している。
【0084】
物理VOL2(SVOL)2900と物理ストレージ装置2(2000)の物理VOL1(PVOL)2900は、移行前ボリュームペア(第1ボリュームペア)である。
【0085】
物理VOL3(2900)と物理VOL1(PVOL)2900は、移行後ボリュームペア(第2ボリュームペア)である。移行において、物理VOL1(PVOL)2900のデータが、物理VOL3(2900)にコピーされる。本例では、ホスト管理及びストレージ管理の両方を実施可能なシステム管理者が、パス及びボリュームの設定を行う。
【0086】
図15において、ステップA‐0は、初期状態を示す。ホスト計算機1000と、物理VOL1、VOL2との間にパスが定義されている。物理VOL1、VOL2は、ボリュームペアを構成している。物理VOL1、VO2は、仮想VOL11の構成要素であり、ホスト計算機1000は、仮想VOL11のアクセスのために、いずれの物理VOL1、VOLにもアクセスすることができる。
【0087】
ステップA‐1において、システム管理者からの指示に従って、物理ストレージ装置3は、物理VOL3を作成する。システム管理者からの指示に従って、物理ストレージ装置1(ST1)及び物理ストレージ装置3は、物理VOL1と物理VOL3のHAボリュームペアを作成する。VOL3への仮想IDを付与する。このとき、VOL1、VOL2及びVOL3はHAマルチターゲット構成である。
【0088】
ステップA‐2において、システム管理者からの指示に従って、ホスト計算機1000及び物理ストレージ装置3は、ホスト計算機1000から物理VOL3へのパスを定義する。物理ストレージ装置3は、ホストグループ管理テーブル2380に、ホストのWWN、ポートID、VOL3のボリュームIDの情報を追加する。
【0089】
次に、ステップA‐3において、システム管理者からの指示に従って、ホスト計算機1000及び物理ストレージ装置2は、ホスト計算機1000から物理VOL2へのパスを削除する。物理ストレージ装置2は、ホストグループ管理テーブル2380から、ホストのWWN、ポートID、VOL2のボリュームIDの情報を削除する。
【0090】
次に、ステップA‐4において、システム管理者からの指示に従って、物理ストレージ装置1、2は、物理VOL1と物理VOL2のHAペアを削除し、さらに、物理ストレージ装置2は物理VOL2の仮想IDを削除する。
【0091】
図16は、ホスト計算機1000から物理ストレージ装置2000へWRITEコマンドが発行されるときの、当該物理ストレージ装置2000のデータ入出力処理プログラム2350がWRITEコマンドを処理するフローチャート例を示す。以下の説明においては、WRITEコマンドは、データ書き込み指示及びライトデータを含むものとする。
【0092】
ステップS101において、データ入出力処理プログラム2350は、ホスト計算機1000からWRITEコマンドを受信する。ステップS102において、データ入出力処理プログラム2350は、WRITEコマンドが示すWRITE対象ボリュームのHAボリュームペア構成が、HAマルチターゲット構成(HA−MLT)か否かを判定する。データ入出力処理プログラム2350は、当該判定のため、ボリュームコピーペア管理テーブル2340における、ペア種別欄2342を参照する。
【0093】
ステップS102の判定結果がYesの場合、データ入出力処理プログラム2350は、ステップS103へ進む。ステップS103が完了した後、データ入出力処理プログラム2350は、当該フローを終了する。
【0094】
ステップS102の判定結果がNoの場合、データ入出力処理プログラム2350は、ステップS104へ進む。ステップS104において、データ入出力処理プログラム2350は、ボリュームコピーペア管理テーブル2340を参照して、WRITE対象ボリュームコピーペア構成が、HAカスケード構成(HA−CAS)か否かを判定する。
【0095】
ステップS104の判定結果がYesの場合、データ入出力処理プログラム2350は、ステップS105へ進む。ステップS105が完了した後、データ入出力処理プログラム2350は、当該フローを終了する。
【0096】
ステップS104の判定結果がNoの場合、データ入出力処理プログラム2350は、ステップS106へ進む。ステップS106において、データ入出力処理プログラム2350は、ボリュームコピーペア管理テーブル2340を参照して、WRITE対象ボリュームが、単体HAボリュームペア(S−HA)のPVOLか否かを判定する。単体HAボリュームペアは、移行中ではないHAボリュームペアである。
【0097】
ステップS106の判定結果がYesの場合、つまり、アクセス先が単体ボリュームペアのPVLである場合、データ入出力処理プログラム2350は、ステップS107へ進む。ステップS107において、データ入出力処理プログラム2350は、排他ロック処理を実行する。本例において、データ入出力処理プログラム2350は、アクセス先の物理ボリュームにおけるアクセス先アドレス領域について、排他ロックする。
【0098】
排他ロック処理は、WRITE対象データまたはREAD対象データに対するWRITE/READ排他制御である。排他ロック処理におけるWRITE/READ排他制御単位は、LBA単位でも世いし、ボリューム単位でもよい。排他ロック状態の情報は、排他ロック管理テーブル2390において、排他制御単位で管理されている。排他ロック管理テーブル2390は、排他ロック処理及び排他ロック解除処理の度に更新される。
【0099】
WRITE対象データに対しては、他のライト及びリード禁止される。READ対象データに対しては、他のライトが禁止され、他のリードは禁止されても許可されていてもよい。他のリードを許可することでホスト計算機1000への応答遅延を抑制する。この点は、他の例において同様である。
【0100】
ステップS108において、データ入出力処理プログラム2350は、WRITE対象ボリュームに対して、ライトデータを書き込む。WRITEコマンドによるライトデータの対象ボリュームへの書き込みは、記憶デバイス2200又はキャッシュメモリ2400への書き込みを意味する。この点は他のWRITE処理について同様である。
【0101】
ステップS109において、データ入出力処理プログラム2350は、対応するSVOLがある物理ストレージ装置2000へWRITEコマンドを転送する。データ入出力処理プログラム2350は、ボリュームコピーペア管理テーブル2340から、対応するSVOLを提供する物理ストレージ装置2000の識別子を取得する。
【0102】
ステップS110において、データ入出力処理プログラム2350は、上記SVOLがある物理ストレージ装置2000からのWRITEコマンド完了応答を受信する。ステップS111において、データ入出力処理プログラム2350は、当該WRITEコマンドのために実行した排他ロックを解除し、排他ロック管理テーブル2390を更新する。
【0103】
ステップS112において、データ入出力処理プログラム2350は、ホスト計算機1000へ、WRITEコマンド完了応答を送信し、当該フローを終了する。
【0104】
ステップS106の判定結果がNoの場合、つまり、WRITEコマンドの対象が単独HAボリュームペアにおけるSVOLである場合、データ入出力処理プログラム2350は、ステップS113へ進む。
【0105】
ステップS113において、データ入出力処理プログラム2350は、対応するPVOLがある物理ストレージ装置2000へWRITEコマンドを転送する。データ入出力処理プログラム2350は、ボリュームコピーペア管理テーブル2340から、対応するPVOLを提供する物理ストレージ装置2000及び当該物理ストレージ装置2000におけるSVOLの識別子を取得する。
【0106】
ステップS114において、データ入出力処理プログラム2350は、上記PVOLがある物理ストレージ装置2000からのWRITEコマンド完了応答を受信する。ステップS115において、データ入出力処理プログラム2350は、WRITE対象ボリューム、つまり、自装置が保持しているSVOLに対して、ライトデータを書き込む。
【0107】
ステップS116において、データ入出力処理プログラム2350は、ホスト計算機1000へWRITEコマンド完了応答を送信する。ステップS117において、データ入出力処理プログラム2350は、上記PVOLがある物理ストレージ装置2000へ、排他ロック解除コマンドを送信する。排他ロック解除コマンドは、例えば、WRITEコマンドの識別子又は仮想ボリュームの指定アドレスを含む。
【0108】
ステップS108において、データ入出力処理プログラム2350は、上記PVOLがある物理ストレージ装置2000から排他ロック解除コマンド完了応答を受信し、当該フローを終了する。
【0109】
図18は、ステップS107からステップS112までのシーケンスを示す。ステップS107からステップS112は、ホスト計算機1000から単体ボリュームペアのPVOLへのWRITEコマンドのフローである。
【0110】
図18において、物理ストレージ装置1(2000)は、物理VOL1(仮想VOL11)2900へのWIRITEコマンドをホスト計算機1000から受信する(S101)。物理VOL1(2900)は単体ボリュームペアのPVOLである。物理ストレージ装置1(2000)は、指定領域を排他ロックし(S107)、ライトデータを書き込む(S108)。
【0111】
その後、物理ストレージ装置1(2000)は、対応するSVOLである物理VOL2(2900)を提供する物理ストレージ装置2(2000)に、WIRITEコマンドを転送する(S109)。物理ストレージ装置2(2000)は、排他ロックすることなく、転送されたライトデータを物理VOL2(2900)の指定領域に書き込み(S2101)、ライト完了応答を物理ストレージ装置1(2000)に返す(S110)。ライト完了応答を受信した物理ストレージ装置1(2000)は、排他ロックを解除し(S111)、ライト完了応答をホスト計算機1000に返す(S112)。
【0112】
図19は、ステップS113からステップS118までのシーケンスを示す。ステップS113からステップS118は、ホスト計算機1000から単体ボリュームペアのSVOLへのWRITEコマンドのフローである。
【0113】
図19において、物理ストレージ装置2(2000)は、物理VOL2(仮想VOL11)2900へのWIRITEコマンドをホスト計算機1000から受信する(S101)。物理VOL2(2900)は単体ボリュームペアのSVOLである。物理ストレージ装置2(2000)は、対応するPVOL(物理VOL1(2900))を提供する物理ストレージ装置1(2000)にWRITEコマンドを転送する(S113)。
【0114】
物理ストレージ装置1(2000)は、物理VOL1(2900)の指定領域を排他ロックし(S2201)、ライトデータを書き込む(S2202)。物理ストレージ装置1(2000)は、ライト完了応答を物理ストレージ装置2(2000)に返す(S114)。
【0115】
ライト完了応答を受信した物理ストレージ装置2(2000)は、ライトデータを物理VOL2(2900)に書き込み(S115)、ホスト計算機1000にライト完了応答を返す(S116)。その後、物理ストレージ装置2(2000)は、物理ストレージ装置1(2000)に排他ロック解除コマンドを送信する(S117)。物理ストレージ装置1(2000)は排他ロックを解除し(S2203)、排他ロック解除完了応答を物理ストレージ装置2(2000)に返す(S118)。
【0116】
図22はHAマルチターゲット構成におけるホスト計算機1000から第1ボリュームペアのPVOLへのWRITEコマンドの処理シーケンスを示す。図23はHAマルチターゲット構成におけるホスト計算機1000から第1ボリュームペアのSVOLへのWRITEコマンドの処理シーケンスを示す。図24はHAマルチターゲット構成におけるホスト計算機1000から第2ボリュームペアのSVOLへのWRITEコマンドの処理シーケンスを示す。
【0117】
図22を参照して、第1ボリュームペアのPVOLへのWRITEコマンドの処理を説明する。物理ストレージ装置1(2000)は、物理VOL1(仮想VOL11)2900へのWRITEコマンドを受信する(S101)。物理VOL1(2900)は、第1ボリュームペア及び第2ボリュームペアのPVOLである。物理ストレージ装置1(2000)は、物理VOL1(2900)の指定アドレス領域を排他ロックし(S204)、ライトデータを書き込む(S205)。
【0118】
次に、物理ストレージ装置1(2000)は、WRITEコマンドを、物理VOL2(2900)を提供する物理ストレージ装置2(2000)に転送する(S207)。物理VOL2(2900)は、第1ボリュームペアのSVOLである。物理ストレージ装置2(2000)は、物理VOL2(2900)の指定アドレス領域を排他ロックし(S302)、ライトデータを書き込む(S303)。その後、物理ストレージ装置2(2000)は、物理ストレージ装置1(2000)に、WRITEコマンドの完了応答を送信する(S309)。
【0119】
次に、物理ストレージ装置1(2000)は、WRITEコマンドを、物理VOL3(2900)を提供する物理ストレージ装置3(2000)に転送する(S208)。物理VOL3(2900)は、第2ボリュームペアのSVOLである。物理ストレージ装置3(2000)は、排他ロックを行うことなく、物理VOL3(2900)にライトデータを書き込む(S303)。その後、物理ストレージ装置3(2000)は、物理ストレージ装置1(2000)に、WRITEコマンドの完了応答を送信する(S309)。
【0120】
次に、物理ストレージ装置1(2000)は、排他ロックを解除し(S210)、ホスト計算機1000に、WRITEコマンド完了応答を返す(S211)。次に、物理ストレージ装置1(2000)は、物理ストレージ装置2(2000)に排他ロック解除コマンドを送信し(S213)、物理ストレージ装置2は排他ロックを解除する(S308)。物理ストレージ装置1(2000)は、その完了応答を受信する(S214)。
【0121】
ホスト計算機1000へのWRITEコマンド完了応答を返した後に、他の物理ストレージ装置2000へ排他ロック解除コマンドを送信することで、ホスト計算機1000への応答時間を短縮できる。他の物理ストレージ装置2000から排他ロック解除コマンドの完了応答を受信した後に、ホスト計算機1000へのWRITEコマンド完了応答を返してもよい。これは、他のシーケンス図において同様である。
【0122】
図23を参照して、第1ボリュームペアのSVOLへのWRITEコマンドの処理を説明する。物理ストレージ装置2(2000)は、物理VOL2(仮想VOL11)2900へのWRITEコマンドを受信する(S101)。物理ストレージ装置2(2000)は、WRITEコマンドを物理ストレージ装置1(2000)に転送する(S202)。
【0123】
物理ストレージ装置1(2000)は、物理VOL1(2900)の指定アドレス領域を排他ロックし(S302)、ライトデータを書き込む(S303)。次に、物理ストレージ装置1(2000)は、WRITEコマンドを、物理ストレージ装置2(2000)に転送する(S305)。
【0124】
物理ストレージ装置2(2000)は、物理VOL2(2900)の指定アドレス領域を排他ロックし(S302)、ライトデータを書き込む(S303)。その後、物理ストレージ装置2(2000)は、物理ストレージ装置1(2000)に、WRITEコマンドの完了応答を送信する(S309)。
【0125】
次に、物理ストレージ装置1(2000)は、WRITEコマンドを、物理VOL3(2900)を提供する物理ストレージ装置3(2000)に転送する(S306)。物理ストレージ装置3(2000)は、排他ロックを行うことなく、物理VOL3(2900)にライトデータを書き込む(S303)。その後、物理ストレージ装置3(2000)は、物理ストレージ装置1(2000)に、WRITEコマンドの完了応答を送信する(S309)。
【0126】
次に、物理ストレージ装置1(2000)は、排他ロックを解除し(S308)、WRITEコマンド転送元である物理ストレージ装置2(2000)に、WRITEコマンド完了応答を返す(S309)。
【0127】
物理ストレージ装置1(2000)からWRITEコマンド完了応答を受信すると、物理ストレージ装置2(2000)は、排他ロックを解除し(S210)、ホスト計算機1000に、WRITEコマンド完了応答を返す(S211)。
【0128】
図24を参照して、第2ボリュームペアのSVOLへのWRITEコマンドの処理を説明する。物理ストレージ装置3(2000)は、物理VOL3(仮想VOL11)2900へのWRITEコマンドを受信する(S101)。物理ストレージ装置3(2000)は、WRITEコマンドを物理ストレージ装置1(2000)に転送する(S202)。
【0129】
物理ストレージ装置1(2000)は、物理VOL1(2900)の指定アドレス領域を排他ロックし(S302)、ライトデータを書き込む(S303)。次に、物理ストレージ装置1(2000)は、WRITEコマンドを、物理ストレージ装置2(2000)に転送する(S305)。
【0130】
物理ストレージ装置2(2000)は、物理VOL2(2900)の指定アドレス領域を排他ロックし(S302)、ライトデータを書き込む(S303)。その後、物理ストレージ装置2(2000)は、物理ストレージ装置1(2000)に、WRITEコマンドの完了応答を送信する(S309)。
【0131】
次に、物理ストレージ装置1(2000)は、WRITEコマンドを、物理VOL3(2900)を提供する物理ストレージ装置3(2000)に転送する(S306)。物理ストレージ装置3(2000)は、排他ロックを行うことなく、物理VOL3(2900)にライトデータを書き込む(S303)。その後、物理ストレージ装置3(2000)は、物理ストレージ装置1(2000)に、WRITEコマンドの完了応答を送信する(S309)。
【0132】
次に、物理ストレージ装置1(2000)は、排他ロックを解除し(S308)、WRITEコマンド転送元である物理ストレージ装置3(2000)に、WRITEコマンド完了応答を返す(S309)。
【0133】
物理ストレージ装置1(2000)からWRITEコマンド完了応答を受信すると、物理ストレージ装置3(2000)は、ホスト計算機1000に、WRITEコマンド完了応答を返す(S211)。
【0134】
物理ストレージ装置1(2000)は、WRITEコマンド完了応答を返した後、物理ストレージ装置2(2000)に、排他ロック解除コマンドを送信する(S311)。物理ストレージ装置2(2000)は、排他ロック解除コマンドを受信し(S314)、排他ロック解除処理を実行し(S315)、排他ロック解除コマンドの完了応答を物理ストレージ装置1(2000)に返す(S316)。
【0135】
図17は、ホスト計算機1000から物理ストレージ装置2000へREADコマンドが発行されるときの、データ入出力処理プログラム2350の処理のフローチャート例を示す。以下の説明において、物理ボリュームからの読み出しは、記憶デバイス2200又はキャッシュメモリ2400からの読み出しを意味する。
【0136】
ステップS401において、データ入出力処理プログラム2350は、ホストからREADコマンドを受信する。ステップS402において、データ入出力処理プログラム2350は、READ対象ボリュームが第2ボリュームペアのSVOLまたは単体ボリュームペアのSVOLか否かを判定する。データ入出力処理プログラム2350は、判定において、ボリュームコピーペア管理テーブル2340を参照する。
【0137】
ステップS402の判定結果がYesの場合、データ入出力処理プログラム2350は、ステップS403において、READ対象ボリュームからデータを読み出し、ステップS407へ進む。
【0138】
ステップS402の判定がNoの場合、データ入出力処理プログラム2350は、ステップS404で排他ロック処理を実行し、ステップS405でREAD対象ボリュームからデータを読み出す。ステップS406において、データ入出力処理プログラム2350は、排他ロック解除処理を実行し、ステップS407へ進む。ステップS407において、データ入出力処理プログラム2350は、ホスト計算機1000へ、読み出したデータを含むREADコマンド完了応答を送信し、当該フローを終了する。
【0139】
図20図21図25図26及び図27は、図17のシーケンスを示す。図20は単体ボリュームペアのPVOLへのREADコマンド処理のシーケンスを示す。図21は単体ボリュームペアのSVOLへのREADコマンド処理のシーケンスを示す。図25は第1ボリュームペアのPVOLへのREADコマンド処理のシーケンスを示す。図26は第1ボリュームペアのSVOLへのREADコマンド処理のシーケンスを示す。図27は第2ボリュームペアのSVOLへのREADコマンド処理のシーケンスを示す。
【0140】
図20において、物理ストレージ装置1(2000)は、物理VOL1(仮想VOL11)へのREADコマンドを受信する(S401)。物理ストレージ装置1(2000)は、指定アドレス領域を排他ロックし(S404)、指定アドレス領域からリードデータを読み出す(S405)。物理ストレージ装置1(2000)は、排他ロックを解除し(S406)、ホスト計算機1000にリードデータを含むRADコマンド完了応答を返す(S407)。
【0141】
図21において、物理ストレージ装置2(2000)は、物理VOL2(仮想VOL11)へのREADコマンドを受信する(S401)。物理ストレージ装置2(2000)は、排他ロックすることなく、指定アドレス領域からリードデータを読み出す(S403)。物理ストレージ装置2(2000)は、ホスト計算機1000に、リードデータを含むRADコマンド完了応答を返す(S407)。
【0142】
図25のシーケンスは図20のシーケンスと同じである。図26のシーケンスは、物理ストレージ装置1(2000)に代えて物理ストレージ装置2(2000)が処理を行う点を除き、図20のシーケンスと同じである。図27のシーケンスは、物理VOL2(2900)及び物理ストレージ装置2(2000)が、物理VOL3(2900)及び物理ストレージ装置3(2000)に変更されている点を除き、図21のシーケンスと同じである。
【0143】
本実施例によれば、HAマルチターゲット構成のボリューム移行時に、ホストI/O無停止及び高可用性を維持することができる。
【0144】
なお、上記例は、処理効率化のため、最後にライトデータが書き込まれるボリューム(最後ボリューム)に対して排他ロックを行わないが、最後ボリュームへの書き込みにおいても排他ロックを行ってもよい。例えば、排他ロックは、他の物理ストレージ装置2000からのWRITEコマンドを受信した後に行われる。ボリューム移行時のリード処理は、非移行時のHA単体ボリュームペアでのリード処理と同様でもよい。
【0145】
上記例は、ボリュームペアの移行を行うが、3以上のボリュームからなるボリュームグループのボリューム移行に対しても、上記説明を適用することができる。上記説明は、3以上の物理ストレージ装置を含むストレージシステムに適用することができる。
【0146】
上述のように、ボリューム移行時のライトデータの書き込み順序と非移行時の書き込み順序が一致することで、ストレージシステムの機能を効率的に構成することができる。移行時と非移行時の書き込み順序は異なっていてもよい。例えば上記例において、物理VOL2と物理VOL3の書き込み順序を入れ替えてもよい。これらは、他の実施例において同様である。
【実施例2】
【0147】
以下で、実施例2について説明する。主に実施例1との相違点を説明する。図28は、本実施例のデータ移行(ボリューム移行)を示す。本実施例は、物理VOL1(2900)を物理VOL3(2900)に移行する。移行前後において、物理VOL2(2900)が共通である。図28は、ボリューム移行における、HAカスケード構成の概要を示す。
【0148】
HAカスケード構成は、一つのボリュームを一方のHAボリュームペアのSVOL、かつ、もう一方のHAボリュームペアのPVOLとし、それらの三つのボリュームで二つのHAボリュームペアを構成する。
【0149】
物理VOL1(2900)と物理VOL2(2900)は、HAボリュームペア7100を構成している。移行のため、まず、物理VOL2(2900)と物理VOL3(2900)で、HAボリュームペア7200が形成される。HAボリュームペア7200において、物理VOL2はPVOL、物理VOL3はSVOLとする。移行において、PVOLである物理VOL2からSVOLである物理VOL3にデータがコピーされる。
【0150】
次に、ホスト計算機1000及び物理ストレージ装置3(2000)において、ホスト計算機1000から物理VOL3(2900)へのパス8300が定義される。物理ストレージ装置3(2000)は、物理VOL3(2900)について、ホスト計算機1000からの要求に対して、物理VOL1(2900)及び物理VOL2(2900)と同様に、仮想VOL11(3900)の情報を返す。
【0151】
次に、ホスト計算機1000及び物理ストレージ装置1(2000)において、ホスト計算機1000から物理VOL2へのパス8100が削除される。さらに、物理ストレージ装置1(2000)及び物理ストレージ装置2(2000)は、HAボリュームペア7100を削除する。これにより、物理ストレージ装置2(2000)の物理VOL2(2900)から物理ストレージ装置3(2000)の物理VOL3(2900)への移行が完了する。
【0152】
図29は、HAペアの物理ストレージ装置1(ST1)のPVOL(VOL1)を、物理ストレージ装置3(ST3)に移行する手順を示す。移行後の物理ボリュームは、物理VOL3である。本実施例では、システム管理者が当該手順を実行する。なお、一部の符号を省略している。
【0153】
ステップB‐0は、初期状態を示す。ホスト計算機1000と、物理VOL1、VOL2との間にパスが定義されている。物理VOL1、VOL2は、ボリュームペアを構成している。物理VOL1、VO2は、仮想VOL11の構成要素であり、ホスト計算機1000は、仮想VOL11のアクセスのために、いずれの物理VOL1、VOLにもアクセスすることができる。
【0154】
ステップB‐1において、システム管理者からの指示に従って、物理ストレージ装置3は、物理VOL3を作成する。システム管理者からの指示に従って、物理ストレージ装置2(ST2)及び物理ストレージ装置3は、物理VOL2と物理VOL3のHAボリュームペアを作成する。このとき、物理VOL1、VOL2及びVOL3はHAカスケード構成となる。
【0155】
次に、ステップB‐2において、システム管理者からの指示に従って、ホスト計算機1000及び物理ストレージ装置3は、ホスト計算機1000から物理VOL3へのパスをおいて定義する。物理ストレージ装置3は、ホストグループ管理テーブル2380に、ホストのWWN、ポートID、VOL3のボリュームIDの情報を追加する。
【0156】
次に、ステップB‐3において、システム管理者は、ホスト計算機1000から物理VOL1へのパスを、ホスト計算機1000及び物理ストレージ装置1において削除する。物理ストレージ装置1は、ホストグループ管理テーブル2380から、ホストのWWN、ポートID、VOL2のボリュームIDの情報を削除する。
【0157】
次に、ステップB‐4において、システム管理者からの指示に従って、物理ストレージ装置1及び物理ストレージ装置2は、物理VOL1と物理VOL2HAペアを削除し、さらに、物理ストレージ装置1が、物理VOL1の仮想IDを削除する。
【0158】
図30はHAカスケード構成におけるホスト計算機1000から第1ボリュームペアのPVOLへのWRITEコマンドの処理シーケンスを示す。図31はHAカスケード構成におけるホスト計算機1000から第1ボリュームペアのSVOLへのWRITEコマンドの処理シーケンスを示す。図32はHAカスケード構成におけるホスト計算機1000から第2ボリュームペアのSVOLへのWRITEコマンドの処理シーケンスを示す。
【0159】
図30において、物理ストレージ装置1(2000)は、物理VOL1(仮想VOL11)2900へのWRITEコマンドを受信する(S101)。物理VOL1(2900)は、第1ボリュームペアのPVOLである。物理ストレージ装置1(2000)は、物理VOL1(2900)の指定アドレス領域を排他ロックし(S605)、ライトデータを書き込む(S606)。
【0160】
次に、物理ストレージ装置1(2000)は、WRITEコマンドを、物理VOL2(2900)を提供する物理ストレージ装置2(2000)に転送する(S609)。物理VOL2(2900)は、第1ボリュームペアのSVOLであり、かつ、第2ボリュームペアのPVOLである。
【0161】
物理ストレージ装置2(2000)は、物理VOL2(2900)の指定アドレス領域を排他ロックし(S705)、ライトデータを書き込む(S706)。次に、物理ストレージ装置2(2000)は、WRITEコマンドを、物理VOL3(2900)を提供する物理ストレージ装置3(2000)に転送する(S708)。物理VOL3(2900)は、第2ボリュームペアのSVOLでる。
【0162】
物理ストレージ装置3(2000)は、排他ロックすることなく、物理VOL3(2900)の指定アドレス領域に、ライトデータを書き込む(S706)。次に、物理ストレージ装置3(2000)は、物理ストレージ装置2(2000)に、WRITEコマンドの完了応答を送信する(S710)。
【0163】
物理ストレージ装置3(2000)からWRITEコマンドの完了応答を受信すると、物理ストレージ装置2(2000)は排他ロックを解除し(S709)、WRITEコマンド転送元である物理ストレージ装置1(2000)に、WRITEコマンドの完了応答を送信する(S710)。
【0164】
物理ストレージ装置2(2000)からWRITEコマンドの完了応答を受信すると、物理ストレージ装置1(2000)は、排他ロックを解除し(S611)、WRITEコマンドの完了応答をホスト計算機1000に返す(S612)。
【0165】
図31において、物理ストレージ装置2(2000)は、物理VOL2(仮想VOL11)2900へのWRITEコマンドを受信する(S101)。物理ストレージ装置2(2000)は、WRITEコマンドを物理ストレージ装置1(2000)に転送する(S603)。
【0166】
物理ストレージ装置1(2000)は、物理VOL1(2900)の指定アドレス領域を排他ロックし(S705)、ライトデータを書き込む(S706)。次に、物理ストレージ装置1(2000)は、WRITEコマンドの完了応答を、物理ストレージ装置2(2000)に送信する(S710)。物理ストレージ装置2(2000)は、物理VOL2(2900)の指定アドレス領域を排他ロックし(S605)、ライトデータを書き込む(S606)。
【0167】
次に、物理ストレージ装置2(2000)は、WRITEコマンドを、物理VOL3(2900)を提供する物理ストレージ装置3(2000)に転送する(S610)。物理ストレージ装置3(2000)は、排他ロックを行うことなく、物理VOL3(2900)にライトデータを書き込む(S706)。その後、物理ストレージ装置3(2000)は、物理ストレージ装置2(2000)に、WRITEコマンドの完了応答を送信する(S710)。
【0168】
物理ストレージ装置3(2000)からWRITEコマンドの完了応答を送信すると、物理ストレージ装置2(2000)は、排他ロックを解除し(S611)、WRITEコマンドの完了応答をホスト計算機1000に返す(S612)。
【0169】
次に、物理ストレージ装置2(2000)は、排他ロック解除コマンドを物理ストレージ装置1(2000)に送信する(S615)。物理ストレージ装置1(2000)は、排他ロックコマンドを受信し(S713)、排他ロックを解除する(S714)。物理ストレージ装置1(2000)は、物理ストレージ装置2(2000)に、排他ロック解除コマンドの完了応答を返す(S718)。
【0170】
図32において、物理ストレージ装置3(2000)は、物理VOL3(仮想VOL11)2900へのWRITEコマンドを受信する(S101)。物理ストレージ装置3(2000)は、WRITEコマンドを物理ストレージ装置2(2000)に転送する(S604)。物理ストレージ装置3(2000)からWRITEコマンドを受信すると、物理ストレージ装置2(2000)は、物理ストレージ装置1(2000)にWRITEコマンドを転送する(S704)。
【0171】
物理ストレージ装置1(2000)は、物理VOL1(2900)の指定アドレス領域を排他ロックし(S705)、ライトデータを書き込む(S706)。次に、物理ストレージ装置1(2000)は、WRITEコマンドの完了応答を、物理ストレージ装置2(2000)に送信する(S710)。
【0172】
物理ストレージ装置2(2000)は、物理VOL2(2900)の指定アドレス領域を排他ロックし(S705)、ライトデータを書き込む(S706)。次に、物理ストレージ装置2(2000)は、WRITEコマンドの完了応答を、物理ストレージ装置3(2000)に送信する(S712)。
【0173】
WRITEコマンドの完了応答を物理ストレージ装置2(2000)から受信した物理ストレージ装置3(2000)は、物理VOL3(2900)の指定領域にライトデータを書き込み(S606)、ホスト計算機1000にWRITEコマンドの完了応答を返す(S612)。
【0174】
次に、物理ストレージ装置3(2000)は、排他ロック解除コマンドを物理ストレージ装置2(2000)に送信する(S617)。物理ストレージ装置2(2000)は排他ロック解除コマンドを受信し(S713)、排他ロックを解除する(S714)。次に、物理ストレージ装置2(2000)は、物理ストレージ装置1(2000)に、排他ロック解除コマンドを送信する(S716)。
【0175】
物理ストレージ装置1(2000)は、排他ロック解除コマンドを受信し(S713)、排他ロックを解除する(S714)。物理ストレージ装置1(2000)は、物理ストレージ装置2(2000)に、排他ロック解除コマンドの完了応答を返す(S718)。
【0176】
物理ストレージ装置1(2000)から排他ロック解除コマンドの完了応答を受信すると、物理ストレージ装置2(2000)は、物理ストレージ装置3(2000)に、排他ロック解除コマンドの完了応答を返す(S718)。
【0177】
本実施例によれば、HAカスケード構成でのボリューム移行時に、ホストI/O無停止及び高可用性を維持することができる。なお、ボリューム移行時のREADコマンド処理は実施例1と同様であり、説明を省略する。
【実施例3】
【0178】
以下において、実施例3を説明する。本実施例は、HAマルチターゲット構成における、I/Oスイッチングボリュームを使用したボリューム移行を説明する。図33A及び図33Bは、HAペアの物理ストレージ装置2(ST2)のSVOL(物理VOL2)を、物理ストレージ装置3(ST3)に移行する手順を示す。移行後の物理ボリュームは、物理VOL3である。本実施例では、システム管理者が当該手順を実行する。なお、図33A及び33Bにおいて一部の符号を省略している。
【0179】
ステップC‐0は、ステップCの初期状態を示す。ホスト計算機1000と、物理VOL1、VOL2との間にパスが定義されている。物理VOL1、VOL2は、ボリュームペアを構成している。物理VOL1、物理VOL2は、仮想VOL11の構成要素であり、ホスト計算機1000は、仮想VOL11のアクセスのために、いずれの物理VOL1、VOLにもアクセスすることができる。
【0180】
ステップC‐1において、システム管理者からの指示に従って、物理ストレージ装置3は、物理VOL2に関連付けられたI/Oスイッチングボリューム(SWVOL)(2900)を作成する。ホスト計算機1000からSWVOLへのI/O要求は、SWVOLに関連付けられた物理ボリュームへ転送される。また、システム管理者からの指示に従って、物理ストレージ装置3は、SWVOLへの仮想IDを付与する。
【0181】
SWVOLからSWVOLに関連付けられた物理ボリュームへ転送されたI/O要求の処理と、ホスト計算機から直接当該物理ボリュームへ発行されるI/O要求の処理は、I/O要求がSWVOLを経由する以外、同じである。例えば、ステップC‐3において、ホスト計算機1000からSWVOLを経由し物理VOL2へ転送されるI/O要求の処理、ホスト計算機1000から物理VOL2へ発行されるI/O要求の処理と、I/O要求がSVOL経由する部分を除いて同じである。
【0182】
ステップC‐2において、システム管理者からに指示に従って、ホスト計算機1000及び物理ストレージ装置3は、ホスト計算機1000からSWVOLへのパス定義を定義する。ステップC‐3において、システム管理者からの指示に従って、物理ストレージ装置1及び物理ストレージ装置3は、VOL1とVOL3のHAペア作成を実施する。
【0183】
ステップC‐4において、システム管理者からの指示に従って、物理ストレージ装置3は、物理VOL3への仮想IDを付与する。さらに、ホスト計算機1000及び物理ストレージ装置3は、ホスト計算機1000から物理VOL3へのパスを定義し、SWVOLを削除する。
【0184】
ステップC‐5において、システム管理者からの指示に従って、物理ストレージ装置2は、物理VOL3に関連付けられたSWVOLを作成し、当該SWVOLへ仮想IDを付する。ホスト計算機1000及び物理ストレージ装置2は、ホスト計算機1000からSWVOLへのパスを定義し、ホスト計算機1000からVOL2へのパスを削除し、そして、物理VOL2の仮想IDを削除する。
【0185】
ステップC‐6において、システム管理者からの指示に従って、ホスト計算機1000及び物理ストレージ装置2は、ホスト計算機1000からSWVOLへのパスを削除する。ステップC‐7において、システム管理者からの指示に従って、物理ストレージ装置2は、SWVOLを削除し、物理ストレージ装置1、2は、物理VOL1と物理VOL2のHAペアを削除する。
【0186】
本実施例によれば、I/Oスイッチングボリュームを使用することによって、ストレージ装置における物理ボリュームの管理と、物理ストレージ装置とホスト計算機との間のパス管理とを独立に行うことができる。上記例のように移行後の新物理ボリュームと移行後に削除される移行前物理ボリュームの双方のI/Oスイッチングボリュームを用意することが好ましいが、一方のみでもよい。
【実施例4】
【0187】
以下において、実施例4について説明する。本実施例は、HAカスケード構成における、I/Oスイッチングボリュームを使用したボリューム移行を説明する。主に実施例3との相違点を説明する。図34A及び図34Bは、HAペアの物理ストレージ装置1(ST1)のPVOL(VOL1)を、物理ストレージ装置3(ST3)に移行する手順を示す。移行後の物理ボリュームは、物理VOL3である。本実施例では、システム管理者が上記手順を実行する。なお、図34A及び34Bにおいて一部の符号を省略している。
【0188】
ステップD‐0は、ステップDの初期状態を示す。ホスト計算機1000と、物理VOL1、VOL2との間にパスが定義されている。物理VOL1、VOL2は、ボリュームペアを構成している。
【0189】
ステップD‐1において、システム管理者からの指示に従って、物理ストレージ装置3は、物理VOL2に関連付けられたSWVOLを作成し、SWVOLへ仮想IDを付与する。
【0190】
ステップD‐2において、システム管理者からの指示に従って、ホスト計算機1000及び物理ストレージ装置3は、ホスト計算機1000からSWVOLへのパスを定義する。ステップD‐3において、システム管理者からの指示に従って、物理ストレージ装置3は、物理VOL3を作成し、物理ストレージ装置2、3は、物理VOL2と物理VOL3のHAペアを作成する。
【0191】
ステップD‐4において、システム管理者からの指示に従って、物理ストレージ装置3は、物理VOL3へ仮想IDを付与する。ホスト計算機1000及び物理ストレージ装置3は、ホスト計算機1000からVOL3へのパスを定義する。物理ストレージ装置3は、SWVOLを削除する。
【0192】
ステップD‐5において、システム管理者からの指示に従って、物理ストレージ装置1(ST1)は、物理VOL2に関連付けられたSWVOLを作成し、SWVOLへ仮想IDを付与する。ホスト計算機1000及び物理ストレージ装置1は、ホスト計算機1000からSWVOLへのパスを定義し、ホスト計算機1000から物理VOL1へのパスを削除し、物理VOL1の仮想IDを削除する。
【0193】
ステップD‐6において、システム管理者からの指示に従って、ホスト計算機1000及び物理ストレージ装置1は、ホスト計算機1000からSWVOLへのパスを削除する。ステップD‐7において、システム管理者からの指示に従って、物理ストレージ装置1はSWVOLを削除し、物理ストレージ装置1、2は、物理VOL1と物理VOL2のHAペアを削除する。
【0194】
本実施例によれば、I/Oスイッチングボリュームを使用することによって、ストレージ装置における物理ボリュームの管理と、物理ストレージ装置とホスト計算機との間のパス管理とを独立に行うことができる。上記例のように移行後の新物理ボリュームと移行後に削除される移行前物理ボリュームの双方のI/Oスイッチングボリュームを用意することが好ましいが、一方のみでもよい。
【実施例5】
【0195】
以下において、実施例5について説明する。図35は、HAペアの物理ストレージ装置2(ST2)のSVOL(VOL2)を、同じ物理ストレージ装置2の別ボリューム(VOL3)と入れ替える手順を示す。本実施例では、システム管理者が当該手順を実行する。なお、図35において一部の符号を省略している。
【0196】
ステップE‐0は、ステップEの初期状態を示す。ホスト計算機1000と、物理VOL1、VOL2との間にパスが定義されている。物理VOL1、VOL2は、ボリュームペアを構成している。ステップE‐1において、システム管理者からの指示に従って、物理ストレージ装置2は、物理VOL3を作成し、物理VOL1と物理VOL3のHAペアを作成する。
【0197】
ステップE‐2において、システム管理者からの指示に従って、物理ストレージ装置2は、VOL3へ仮想IDを付与する。ホスト計算機1000及び物理ストレージ装置2は、ホスト計算機1000から物理VOL3へのパスを定義し、ホスト計算機1000から物理VOL2へのパスを削除し、物理VOL2の仮想IDを削除する。ステップE‐3において、システム管理者からの指示に従って、物理ストレージ装置1、2は、物理VOL1と物理VOL2のHAペアを削除する。
【0198】
本実施例によれば、同一物理ストレージ装置内でActive−Active型HAボリュームペアのボリューム移行を行い、当該移行時にホストI/O無停止及び高可用性を維持することができる。
【0199】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明したすべての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【0200】
また、上記の各構成・機能・処理部等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、ICカード、SDカード等の記録媒体に置くことができる。
図1
図2
図3
図4
図5
図6A
図6B
図7
図8
図9A
図9B
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23
図24
図25
図26
図27
図28
図29
図30
図31
図32
図33A
図33B
図34A
図34B
図35