JP4606711B2 - Virtualization control device and data migration control method - Google Patents

Virtualization control device and data migration control method Download PDF

Info

Publication number
JP4606711B2
JP4606711B2 JP2003205895A JP2003205895A JP4606711B2 JP 4606711 B2 JP4606711 B2 JP 4606711B2 JP 2003205895 A JP2003205895 A JP 2003205895A JP 2003205895 A JP2003205895 A JP 2003205895A JP 4606711 B2 JP4606711 B2 JP 4606711B2
Authority
JP
Japan
Prior art keywords
storage area
data
mapping information
port
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP2003205895A
Other languages
Japanese (ja)
Other versions
JP2004227558A (en
JP2004227558A5 (en
Inventor
聖志 本田
直子 岩見
一 芹沢
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2003205895A priority Critical patent/JP4606711B2/en
Publication of JP2004227558A publication Critical patent/JP2004227558A/en
Publication of JP2004227558A5 publication Critical patent/JP2004227558A5/ja
Application granted granted Critical
Publication of JP4606711B2 publication Critical patent/JP4606711B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、複数の記憶装置間でデータ移行処理を実行する方法及び装置に関する。特に、記憶装置に対してアクセス要求を発行するホストコンピュータにデータ移行処理を意識させることなく、複数の記憶装置間でデータを移行する方法及び装置に関する。
【0002】
【従来の技術】
データ移行制御技術として、ディスクアレイサブシステムの様に複数のボリュームが一つの制御装置によって制御される記憶装置サブシステム内において、アクセス頻度の高いデータはアクセス速度の速いボリュームへ、アクセス頻度の低いデータはアクセス速度の遅いボリュームへ移行する技術がある。また、あるアプリケーションによって使用されるボリュームが各々異なる制御装置によって制御される複数の記憶領域にまたがって設けられるシステムにおいて、特定のアプリケーションによって使用されるボリューム内のデータを優先的に移行することにより、効率的なデータ移行を実現する技術が特許文献1に開示されている。
【0003】
【特許文献1】
米国特許出願公開第2001/0054133号明細書
【0004】
【発明が解決しようとする課題】
記憶装置サブシステム内におけるデータ移行は、記憶装置サブシステムを制御する制御装置によって実行され、制御装置は、制御装置に接続するホストコンピュータに対してデータ移行処理を隠すことができる。しかし、記憶装置サブシステムをまたいだデータ移行については考慮されていない。従って、ある記憶装置サブシステム内に格納されているデータを他の記憶装置サブシステムに移行する場合は、制御装置はデータ移行処理に伴ってアクセス先の記憶装置サブシステムが変わる旨をホストコンピュータに通知する必要があり、データ移行処理をホストコンピュータに隠すことはできない。また、特許文献1にもデータ移行処理をホストコンピュータに対して隠しこむ技術は開示されていない。従ってホストコンピュータは、データ移行処理を契機として一旦自身の処理を中断しアクセス対象の記憶装置やボリュームを指定しなおす必要がある。
【0005】
近年企業データが爆発的に増加し、また記憶装置に対する24時間連続アクセスの要求が高まっていること考慮すると、複数の記憶装置を跨いだデータ移行処理は今後頻繁に発生すると予想され、ホストコンピュータの処理を中断することなく記憶装置を跨いだデータ移行が可能な技術が必要とされる。
【0006】
また、記憶装置内の記憶領域を管理し、ホストコンピュータから記憶領域へのアクセス要求を転送する制御装置が交換されたり、新たな制御装置が導入された場合には、ホストコンピュータにはアクセス先の記憶領域が変更されたものと認識されてしまうので、複数の記憶装置間でデータ移行処理が実行された場合と同様、ホストコンピュータは一旦処理を中断してアクセス対象を指定しなおす必要がある。尚、ここでいう中断とは、アクセス対象の記憶装置やボリュームの識別情報の再設定のために発生するホストコンピュータの再起動処理等による、ホストコンピュータにおける通常の処理の中断を意味する。
【0007】
本発明の目的は、記憶装置間を跨いだデータ移行処理を、ホストコンピュータに意識させることなく実行することができる制御装置及びデータ移行方法を提供することである。
【0008】
また、本発明の他の目的は、制御装置の交換や新たな制御装置の導入を、ホストコンピュータに意識させることなく行うことができる制御装置及びデータ移行方法を提供することである。
【0009】
【課題を解決するための手段】
本発明では、複数の記憶装置と接続される仮想化制御装置が、複数の記憶装置間でのデータ移行を制御する。仮想化制御装置は、ホストコンピュータがデータ移行元のボリュームを識別するために使用していた識別情報と同じ識別情報を用いて、データ移行先のボリュームを識別できるよう制御する。
【0010】
また、仮想化制御装置が交換された場合や、仮想化制御装置が新たに導入された場合には、新しい仮想化制御装置は、仮想化制御装置の交換や導入以前にホストコンピュータがアクセス先のボリュームを識別するために使用していた識別情報と同じ識別情報を用いて、仮想化制御装置の交換や導入後もホストコンピュータが同じボリュームにアクセスできるよう、フレームの転送を制御する。
【0011】
【発明の実施の形態】
本発明の実施形態を以下に説明する。尚、これにより本発明が限定されるものではない。
[第一の実施形態]本発明の第一の実施形態を、図1〜12を用いて説明する。
【0012】
図1は、本発明が適用される計算機システムの一例を示す図である。計算機システムは、複数台のホストコンピュータ1と、複数台の記憶装置3と、ホストコンピュータ1と記憶装置3とに接続される仮想化制御装置2と、仮想化制御装置2に接続される管理装置4とを有する。尚、ホストコンピュータ1および記憶装置3はネットワーク5を介して仮想化制御装置2と接続され、管理装置4はネットワーク6を介して仮想化制御装置2と接続される。ネットワーク5及びネットワーク6において使用されるプロトコルは同一のネットワークプロトコルでも異なるネットワークプロトコルでも良い。また、ネットワーク5において使用されるプロトコルも同一のプロトコルに限定されるものではなく、記憶装置と仮想化制御装置間のネットワークで使用されるプロトコルと、ホストコンピュータと仮想化制御装置間のネットワークで使用されるプロトコルは異なるネットワークプロトコルであっても良い。また記憶装置毎、ホストコンピュータ毎に異なるネットワークプロトコルを用いて仮想化制御装置に接続しても良い。
【0013】
ホストコンピュータ1は、アプリケーションプログラムを実行するCPU10、アプリケーションプログラムが格納されるメモリ11、記録媒体12、ネットワーク5に接続してデータを送受信するポート13を有する。
【0014】
管理装置4は、仮想化制御装置2を管理するための管理プログラムを実行するCPU40、管理プログラムが格納されるメモリ41、ネットワーク6に接続してデータを送受信するポート43、記録媒体42を有する。
【0015】
記憶装置3は、ネットワーク5に接続してデータを送受信するポート33と、複数のディスク装置35から構成されるディスク装置群34と、個々のディスク装置35との間でデータの転送処理を行うディスクインタフェース制御部(図1ではHDD I/Fとして示す。)32と、ホストコンピュータ1からのアクセス要求に基づきディスク装置35への個々のアクセスを制御するCPU30と、ホストコンピュータ1とディスク装置35との間で転送されるデータを格納するバッファ部31を有する。
【0016】
仮想化制御装置2はホストコンピュータ1と記憶装置3との間で送受信されるフレームを転送するスイッチである。仮想化制御装置2は、ホストコンピュータ1或いは記憶装置3との間でデータの転送処理を行う複数のポート23と、複数のポート23間のパス選択を制御するパス制御部22と、管理装置4との間でデータの転送処理を行う管理ポート25と、パス制御部22を制御し、又管理装置4との間で送受信されたデータに基づき仮想化制御装置を制御するメイン制御部20を有する。尚、メイン制御部20は、後述するプログラムや情報が格納されるメモリ51や記録媒体52と、これらの情報を用いてプログラムを実行するCPU50を有する。又、図1においてはパス制御部22とメイン制御部20が有するCPU50、メモリ51、記憶媒体52とは直接バスで接続されている例を示したが、パス制御部22とメイン制御部20がブリッジを介して接続される構成であっても良い。
【0017】
図1には、ホストコンピュータ1、記憶装置3、管理装置4はそれぞれ1つのポートを持つ例を示したが、これに限定されるものではなく、複数のポートを持つことも可能である。更に仮想化制御装置のポート23は、異なるネットワークプロトコルに対応可能であることから、ポート23を管理用ポートとして使用することも可能である。
【0018】
また記憶装置3は少なくともネットワーク5に接続してデータを送受信するポート33と、ホストコンピュータ1からアクセスされるデータを格納する記憶部を有すれば良く、例えば単体のディスク装置等であっても良い。
【0019】
図2は、管理装置4の記録媒体42に格納されており、メモリ41に読み込まれてCPU40によって実行されるプログラム、及び管理装置4の記録媒体42に格納される管理情報の一例を示す。
【0020】
ボリューム管理プログラム414は、仮想化制御装置2から後述するボリュームマッピング情報515を読み出して出力装置に出力し、ボリュームマッピング情報を管理者に通知し、又ボリュームマッピング情報515に新たに登録する情報やボリュームマッピング情報の更新情報を入力装置を介して管理者から受け付けて仮想化制御装置2に送信し、管理者から受け付けた情報をボリュームマッピング情報515に設定する処理を実行するためのプログラムである。また、ボリュームマッピング管理情報411は、仮想化制御装置2から読み出したボリュームマッピング情報515や、管理者から受け付けた登録情報、更新情報を有する。尚、管理装置4のCPU40がボリュームマッピング管理情報411を用いてボリューム管理プログラム414を実行することによってボリューム管理部401が実現される。
【0021】
ここでボリュームとは、個々の記憶装置(仮想化された記憶装置も含む)で管理される記憶領域のことであり、一台の記憶装置が複数のボリュームを管理することも可能である。更に、記憶装置3で管理されるボリュームを実ボリューム、仮想化制御装置2で管理されるボリュームを仮想ボリュームとして、以後区別するものとする。
【0022】
記憶装置管理プログラム415は、仮想化制御装置2から後述する記憶装置状態管理情報512を読み出して出力装置に出力し、記憶装置の状態を管理者に通知し、又管理者から記憶装置状態管理情報512への登録情報や更新情報を受け付けて、これらの情報を仮想化制御装置2に設定するために実行されるプログラムである。また記憶装置管理情報412は、仮想化制御装置2から受信した記憶装置状態管理情報512や、管理者から受け付けた登録情報、更新情報を有する。尚、管理装置4のCPU40が記憶装置管理情報412を利用して記憶装置管理プログラム415を実行することによって、記憶装置管理部402が実現される。
【0023】
データ移行管理プログラム416は、仮想化制御装置2が管理する複数のボリューム間でデータ移行を実行するためにデータ移行制御情報413を生成し、データ移行制御情報413を有するデータ移行要求を仮想化制御装置2に対して発行し、仮想化制御装置2からデータ移行処理の結果を受信して、これを管理者に通知するために実行されるプログラムである。尚、管理装置4のCPU40がデータ移行管理プログラム416を実行することによって、データ移行管理部403が実現される。
【0024】
図3は、仮想化制御装置2の記録媒体52に格納されており、メモリ51に読み込まれてCPU50によって実行されるプログラムと、仮想化制御装置2の記録媒体52に格納されている管理情報の一例を示す図である。
【0025】
ルーティング処理部501は,ホストコンピュータ1と記憶装置3との間で送受信されるフレームデータのルーティング処理として,以下の二通りのルーティング処理を実行する。
【0026】
尚ここでいうフレームデータとは、ホストコンピュータ1から記憶装置3に対して送信されるアクセス要求情報、記憶装置3からホストコンピュータ1に対して送信されるステータス情報、及びアクセス要求情報に基づきホストコンピュータ1と記憶装置3との間で送受信されるデータ等の全ての情報を含むものとする。
【0027】
まず実ルーティング処理部504は、ネットワーク5に接続された装置の結線情報であるルーティング情報514に基づき、ホストコンピュータ1と記憶装置3との間で直接送受信されるフレームデータのルーティング処理を制御する。即ち、実ルーティング処理部504は、パス制御部22にフレームデータの転送に使用するパスを指示する。パス制御部22は、実ルーティング処理部504の指示に基づいて、フレームデータを転送する。尚実ルーティング処理部504は、仮想化制御装置2のCPU50が、ルーティング情報514に基づいてメモリ51に読み込まれたルーティングプログラム516を実行することによって実現される。
【0028】
次に仮想化ルーティング処理部(以下、仮想化処理部と称する。)505は、後述のボリュームマッピング情報515に基づき、ホストコンピュータ1から受信したフレームデータに対し後述の加工を施して記憶装置3に対して転送し、又、記憶装置3から受信したフレームデータに対し後述の加工を実施して、ホストコンピュータ1に転送する処理を実行する。尚、仮想化処理部505は、仮想化制御装置2のCPU50が、ボリュームマッピング情報515に基づいて、メモリ51に読み込まれた仮想化ルーティングプログラム517を実行することによって実現される。
【0029】
尚、図1及び図2においては、仮想化制御装置2がメイン制御部20を1つ有し、このメイン制御部20において仮想化処理を含むルーティング処理を実施する場合を示している。しかし本発明はこれに限られるものではなく、例えば各ポート23毎にプロセッサを設け、このプロセッサがルーティング処理を実行することとしても良い。これによって、ルーティング処理をポート毎に並列に実施することができるので、仮想化制御装置2の性能を向上することができる。また、ルーティング処理部は、ハードウェアのみで構成されるものとすることもできる。
【0030】
記憶装置監視部502は、仮想化制御装置2が仮想化制御の対象とする個々の記憶装置3の状態を監視し、監視結果を記憶装置状態管理情報512として保持し、記憶装置3の状態の変更を検出したことを契機に管理装置4に対して状態の変更通知し、又管理装置4から受信した記憶装置管理情報412に基づき自身が保持する記憶装置状態管理情報512を更新する処理を実行する。尚、記憶装置監視部502は、仮想化制御装置2のCPU50が、記憶装置監視プログラム518を実行することにより実現される。
【0031】
データ移行処理部503は、管理装置4から受信したデータ移行要求に含まれるデータ移行制御情報413を、仮想化制御装置2のメモリ51若しくは記憶媒体52にデータ移行制御情報513として格納し、データ移行制御情報513に基づき、仮想化制御装置2が管理する複数のボリューム間でのデータ移行処理を実行する。データ移行処理部503は、仮想化制御装置2のCPU50が、データ移行処理プログラム519を実行することにより実現される。尚、データ移行処理の手順の詳細は、後述する。
【0032】
図4は、仮想化制御装置2で管理されるボリュームマッピング情報515の一例を示す図である。ボリュームマッピング情報515は、仮想ボリュームと実ボリュームとのマッピングを示す制御情報である。仮想ボリューム管理情報520としては、仮想ボリュームを識別するための情報と、仮想ボリュームの状態を表す情報とが含まれる。仮想ボリュームを識別するための情報としては、ネットワークで固有の値を有するPort ID、ポート毎に固有の値を有するPort Name、装置内で固有の情報であるLUN (Logical Unit Number)等が含まれる。仮想ボリュームの状態を表す情報には、仮想ボリュームの容量を表すSize、仮想ボリュームのステータス情報等が含まれる。実ボリューム管理情報521には、仮想ボリュームに対応する実ボリュームを識別するための情報と、実ボリュームの状態を表す情報とが含まれる。実ボリュームを識別するための情報には、ネットワークで固有の値を有するPort ID、ポート毎に異なる値を有するPort Name、装置内で固有の値を有するLUN 等の情報が含まれる。また、実ボリュームの状態を表す情報には、実ボリュームの容量を表すSize、実ボリュームのステータス情報等が含まれる。
【0033】
ここで仮想ボリュームを識別するための情報であるPort ID、Port Nameは、仮想化制御装置2がホストコンピュータ1に対して仮想的に見せる記憶装置(以下、仮想記憶装置)の仮想的なポート(以下、仮想ポート)に割当てられた識別子情報である。例えば、ホストコンピュータが仮想ポートのPort IDと仮想ボリュームのLUNを指定してフレームデータを送信した場合、実際には仮想化制御装置2の仮想化処理部505がボリュームマッピング情報515に基づいて、Port IDとLUNが示す仮想ボリュームに対応する実ボリュームを有する記憶装置にフレームデータを転送するよう制御する。しかしホストコンピュータには、自身が指定したPort IDが示すポートを有する記憶装置にアクセスしているように認識される。
【0034】
尚図4においては、Port ID=V_Pid_1、Port Name=V_Pname_1で識別される仮想ポートからアクセスされるLUN=0で識別される仮想ボリュームが、Port ID=P_Pid_1、Port Name=P_Pname_1で識別される実ポートからアクセスされるLUN=0で識別される実ボリュームにマッピングされている(対応付けられている)例を示している。
【0035】
仮想ポートが複数の仮想ボリュームを持つことも可能である。図4においては、Port ID=V_Pid_2、Port Name=V_Pname_2で識別される仮想ポートは、LUN=0(5GB)、LUN=1(5GB)の2つの仮想ボリュームを持ち、それぞれ,Port ID=P_Pid_2、Port Name=P_Pname_2、LUN=0(5GB)及びPort ID=P_Pid_1、Port Name=P_Pname_1、LUN=1(5GB)で識別される実ボリュームにマッピングされている例を示している。
【0036】
尚、ステータス情報を用いた制御例については後述する。
【0037】
図5は、仮想化制御装置2で管理される記憶装置状態管理情報512の一例を示す図である。記憶装置状態管理情報512は、記憶装置監視部502によって検出された記憶装置及びこの記憶装置が管理する実ボリュームの、識別情報等を有する。具体的には、記憶装置のポートに対して割当てられるネットワークで固有のPort ID、各ポート毎に固有の値を有するPort Name、記憶装置毎に固有の値を有するNode Name、記憶装置内の各実ボリュームに割り当てられる記憶装置内で固有のLUN 等の識別情報と、実ボリュームのSize等の実ボリュームの状態情報が、記憶装置状態管理情報512に含まれる。尚図5では、記憶装置状態管理情報512として、Port ID、Port Name、Node Name、LUN 、Size情報を例示しているが、記憶装置状態管理情報512は、これに限定されるものではない。例えば実ボリュームに接続される仮想化制御装置2のポート情報を、記憶装置状態管理情報512として登録することも可能である。
【0038】
図5においては、Port ID=P_Pid_1、Port Name=P_Pname_1、Node Name=P_Nname_1で識別されるポートが、LUN=0(10GB)、LUN=1(5GB)で識別される実ボリュームを、Port ID=P_Pid_2、Port Name=P_Pname_2、Node Name=P_Nname_2で識別されるポートが、LUN=0(5GB)で識別される実ボリュームを、更にPort ID=P_Pid_3、Port Name=P_Pname_3、Node Name=P_Nname_3で識別されるポートが、LUN=1(10GB)で識別される実ボリュームを持つことを示している。
【0039】
ここで、実ボリュームの識別情報(LUN)や、実ボリュームを持つ各ポートの識別情報(Port ID、Port Name、Node Name)は、ボリュームマッピング情報515の実ボリューム管理情報521のエントリ、或いはルーティング情報514のエントリとして使用することができる。更に、記憶装置状態管理情報512は管理装置4から設定できるようにしておくことが望ましい。本発明においては上述のように、管理装置4のCPU40が記憶装置管理プログラム415を実行することによって、管理装置4が記憶装置状態管理情報512を設定することができる。
【0040】
また、新たな記憶装置が仮想化制御装置2に接続された場合、仮想化制御装置2のCPU50は、記憶装置監視プログラム518を実行することにより、新たに接続された記憶装置からPort ID、Port Name、Node Name、LUN、Size情報等を取得し記憶装置状態管理情報512に登録すると共に、管理装置4に新たな装置の検出を通知する。尚、管理装置4においてボリューム管理プログラム414が実行され、管理装置4がボリュームマッピング情報515の仮想ボリューム管理情報520のステータス情報を設定するまでは、仮想化制御装置2は新たに接続された装置へのルーティング処理を実施しない(ルーティング情報514のエントリに登録しない)ことが望ましい。
【0041】
また既に仮想化制御装置2に接続されている記憶装置との接続が遮断された場合、或いは記憶装置からの応答がないなどの障害を仮想化制御装置2が検出した場合には、仮想化制御装置2は記憶装置状態管理情報512に登録されている情報を更新すると共に、管理装置4に記憶装置の状態の変化を通知する。この際、仮想化制御装置2は、ボリュームマッピング情報515の仮想ボリューム管理情報520を参照し、ステータス情報がある条件を満たす場合にのみ(例えば、ステータス情報がActiveに設定された装置の状態が変化した場合のみ等)状態の変化を通知することが望ましい。
【0042】
尚、図5においては省略しているが、一台の記憶装置が複数のポートを持つ場合もある。
【0043】
図6は、ホストコンピュータ1が仮想化制御装置2において仮想化された記憶装置(仮想記憶装置)にアクセスする場合の、アクセス要求の処理の概要を示す。図6では、ホストコンピュータ1は、仮想化制御装置2において仮想化された複数の仮想ボリュームから構成される仮想ボリューム群60のうち、Port ID=V_Pid_1、Port Name=V_Pname_1で識別される仮想ポートの仮想ボリュームLUN=0(10GB)に対するアクセス要求を発行する。
【0044】
ホストコンピュータ1から発行される仮想ボリュームに対するアクセス要求は、ルーティング処理部501によって、仮想記憶装置に対するアクセス要求であることが検出される。具体的には、ルーティング処理部が、アクセス要求に含まれるPort IDがボリュームマッピング情報515の仮想ボリューム管理情報に含まれることを検出することによって、仮想記憶装置に対するアクセス要求であることが分かる。すると、仮想化処理部505によってアクセス要求に含まれるPort ID、LUNが参照され、このPort ID、LUNと対応付けられてボリュームマッピング情報515に登録されている実ボリュームに対するアクセス要求にアクセス要求が変換された後、変換後のアクセス要求が記憶装置3に対して発行される。尚、アクセス要求の変換は、ホストコンピュータ1が発行したアクセス要求に含まれるPort ID、LUNを、このPort ID、LUNと対応付けられてボリュームマッピング情報515に登録されている実ボリュームのPort ID、LUNに、仮想化処理部505が変換することによって行われる。
【0045】
以降ホストコンピュータ1から受信したアクセス要求に基づく、ホストコンピュータ1と記憶装置3間のデータの送受信、並びにステータス情報の送信等、一連の処理は、仮想化制御装置2を介して実行される。尚、データの送受信処理、或いはステータス情報の送信処理等において、ホストコンピュータ1と記憶装置3との間で送受信されるデータも、仮想化処理部505によってフレームデータの変換処理が実施される。但し、ここで言う変換処理とは、データそのものの変換ではなく、データに付加された情報である送信先識別子情報(D_ID)、送信元識別子情報(S_ID)、エラー検出コードであるCRC(Cyclic Redundancy Check)等の変換処理である。例えばホストコンピュータ1からD_ID=V_Pid_1が設定されたアクセス要求を仮想化制御装置2が受信した場合には、ルーティング処理部501がボリュームマッピング情報を用いてD_IDをP_Pid_1に変換し、新たにCRCを生成してフレームデータに付与して、記憶装置3に変換後のフレームデータを送信する。逆に記憶装置3からS_ID=P_Pid_1が設定されたフレームデータを仮想化制御装置2が受信した場合には、ルーティング処理部501がS_IDをV_Pid_1に変換し、フレームデータ中のCRCを新たに生成したCRCに置換えて、ホストコンピュータにフレームデータを送信する。
【0046】
図7は、仮想化制御装置2がホストコンピュータに提供している仮想ボリュームに対応付けられる記憶装置3の実ボリュームを、他の異なる記憶装置の実ボリュームに変更し、仮想ボリュームと実ボリュームのマッピングを変更する際の処理の概要を示す図である。この際、今まで仮想ボリュームに対応付けられてきた旧実ボリュームから、新たにこの仮想ボリュームに対応付けられることになった新実ボリュームへ、データの移行処理が実行される。
【0047】
図7は、Port ID=P_Pid_1、Port Name=P_Pname_1、LUN=0で識別される実ボリュームに格納されていたデータを、Port ID=P_Pid_3、Port Name=P_Pname_3、LUN=1で識別される実ボリュームに格納する(移行する)要求が何らかの条件を契機として発生し、管理者が管理装置4を介して仮想化制御装置2にデータ移行要求を発行した場合の処理を示している。管理装置から発行されるデータ移行要求は、データ移行元及びデータ移行先の実ボリュームを識別するための情報(Port ID、Port Name、LUN等)を含むデータ移行制御情報413を有する。
【0048】
データ移行要求を受信した仮想化制御装置2では、メイン制御部20のデータ移行処理部503がデータ移行制御情報を解析し、解析結果に基づいてデータ移行処理を実行する。即ち、図7に示す例においては、データ移行処理部503の制御によって、仮想化制御装置2からPort ID=P_Pid_1、Port Name=P_Pname_1、LUN=0で識別される実ボリュームを持つ記憶装置3に対し、データ移行(copy)要求が発行される。このデータ移行要求には、データ移行先の実ボリュームを識別する情報(図7に示す例においては、Port ID=P_Pid_3、Port Name=P_Pname_3、LUN=1)が含まれる。データ移行要求を受信したP_Pid_1で識別されるポートを持つ記憶装置は、LUN=0で識別される実ボリュームに格納されているデータを、P_Pid_3、Port Name=P_Pname_3、LUN=1で識別される実ボリュームに宛てて送信する。P_Pid_3で識別されるポートを持つ記憶装置はP_Pid_1で識別されるポートを持つ記憶装置から受信したフレームデータをLUN=1で識別される実ボリュームに格納する。このように、P_Pid_1で識別されるポートを持つ記憶装置とP_Pid_3で識別されるポートを持つ記憶装置との間でデータのコピーを行うことによって、データ移行処理が実現される。
【0049】
データ移行処理の完了後、データ移行処理部503はボリュームマッピング情報515にデータ移行先の実ボリュームを登録するとともに、仮想ボリューム管理情報520の仮想ボリュームのステータス情報を更新、登録する。係る情報の更新、登録がされた後のボリュームマッピング情報515の一例を図8に示す。
【0050】
図8は、図7に示すデータ移行に伴い、Port ID=V_Pid_1、Port Name=V_Pname_1、LUN=0で識別される仮想ボリュームにマッピングされる(対応付けられている)実ボリュームが、Port ID=P_Pid_1、Port Name=P_Pname_1、LUN=0で識別される実ボリューム(データ移行元の実ボリューム)から、Port ID=P_Pid_3、Port Name=P_Pname_3、LUN=1で識別される実ボリューム(データ移行先の実ボリューム)に変更された場合の、変更後のボリュームマッピング情報515の一例を示す図である。
【0051】
図8では、Port ID=V_Pid_1、Port Name=V_Pname_1、LUN=0で識別される仮想ボリュームにマッピングされる(対応する)実ボリュームとして、Port ID=P_Pid_1、Port Name=P_Pname_1、LUN=0で識別される実ボリューム(データ移行元の実ボリューム)と、Port ID=P_Pid_3、Port Name=P_Pname_3、LUN=1で識別される実ボリューム(データ移行先の実ボリューム)が登録されている。更に仮想ボリューム管理情報520のステータス情報は、Port ID=P_Pid_3、Port Name=P_Pname_3、LUN=1で識別される実ボリュームがActiveであり、Port ID=P_Pid_1、Port Name=P_Pname_1、LUN=0で識別される実ボリュームがInactiveであることを示している。仮想ボリュームに対するアクセス要求は、ステータス情報がactiveである実ボリュームに対して実行される。例えば図8に示すボリュームマッピング情報515に従ってルーティング処理部がアクセス要求やフレームデータを転送する場合、Port ID=V_Pid_1、Port Name=V_Pname_1、LUN=0で識別される仮想ボリュームに対するアクセス要求、或いはこのアクセス要求に基づくデータの転送処理は、仮想ボリューム管理情報520のステータス情報に基づき、Port ID=P_Pid_3、Port Name=P_Pname_3、LUN=1で認識される実ボリュームに対して実行される。
【0052】
このように、ある記憶装置が有する実ボリューム内のデータが、他の記憶装置が有する実ボリュームに移行された場合、本実施形態においては仮想ボリュームと実ボリュームとの間のマッピング(対応関係)がデータ移行処理部503によって変更される。しかし、ホストコンピュータがボリュームにアクセスするために使用する識別情報は、仮想ボリュームの識別情報(仮想ポートのPort ID、Port Name、及び仮想ボリュームのLUN)であり、この識別情報はデータ移行が実行されても変化しない。例えば図7に示すデータ移行が実行される場合について考える。ホストコンピュータがPort ID=V_Pid_1、Port Name=V_Pname_1、LUN=0で識別される仮想ボリュームに対するアクセス要求を発行した場合、データ移行前は、仮想化処理部505は図4に示すボリュームマッピング情報515に基づいて、このアクセス要求をPort ID=P_Pid_1、Port Name=P_Pname_1、LUN=0で識別される実ボリュームに宛てて送信する。データ移行後は、仮想化処理部505は図8に示すボリュームマッピング情報515に基づいて、このアクセス要求をPort ID=P_Pid_3、Port Name=P_Pname_3、LUN=1で認識される実ボリュームに宛てて送信する。したがって、本実施例によれば、ホストコンピュータがアクセス対象として認識するボリュームの識別情報を変更することなく、複数の記憶装置間でのデータ移行を実行することができる。
【0053】
図8に示すボリュームマッピング情報515には、実ボリュームに対して発行された未完了のコマンドを識別する情報も登録される。図8では、P_Pid_1、P_Pname_1、LUN=0で識別されるデータ移行元の実ボリュームには、未完了のコマンドとしてC_id_0、C_id_1、C_id_2が、P_Pid_3、P_Pname_3、LUN=1で識別されるデータ移行先の実ボリュームには、未完了のコマンド(データ移行処理部503がデータ移行元の実ボリュームにデータ移行要求を送信した後に、仮想化制御装置2がホストコンピュータから受信したデータ移行対象となっている仮想ボリュームへのコマンド)としてC_id_3、C_id_4が登録されている。コマンドは、仮想化制御装置2がホストコンピュータからコマンドを受信したのを契機に仮想化制御装置2によってボリュームマッピング情報に登録され、仮想化制御装置2が記憶装置からコマンドに応じた処理の終了を通知する終了ステータス等を受信した場合に削除される。但し仮想化制御装置2は、データ移行要求をデータ移行元の実ボリュームに送信したことを契機に、ホストコンピュータ1から受信したデータ移行対象の仮想ボリュームに対するコマンドを、データ移行先の実ボリュームのエントリに登録する。また仮想化制御装置2は、データ移行元の実ボリュームにデータ移行要求を送信した後に、データ移行元の記憶装置3からデータライト系コマンドの終了ステータスを受信した場合には、未完了コマンドの登録を削除せずコマンドが完了したことのみをボリュームマッピング情報515に設定する。尚、図8では省略しているが、ボリュームマッピング情報515は、未完了のコマンドを識別するための情報以外に、コマンド情報を保持することも可能である。
【0054】
尚、図7及び図8では、データ移行の単位としてボリュームを用い、ボリューム単位でデータ移行を実行する例を示したが、本発明はこれに限られるものではない。ボリュームマッピング情報515が、データ移行元の記憶装置の開始/終了アドレス情報とデータ移行先の記憶装置の開始/終了アドレス情報を保持すれば、ブロックアドレス単位でデータ移行を実行することも可能である。
また図7及び図8では、データ移行処理部503が一台の記憶装置に対してデータ移行要求を発行することにより、データ移行が実行される例を示したが、これに限られるものではない。例えばデータ移行処理部503がデータ移行元の記憶装置にはリード要求を、データ移行先の記憶装置にはライト要求をそれぞれ発行することによって、データ移行を実行することも可能である。
【0055】
尚、仮想ボリューム管理情報520のステータス情報は、管理装置4のボリューム管理部401によって設定・更新が可能であることが望ましい。
【0056】
図9は、仮想化制御装置2のルーティング処理部501によって実行される、フレームデータの転送処理の一例を示す図である。本処理は、ホストコンピュータ1或いは記憶装置3から仮想化記憶装置2がフレームデータを受信したことを契機として開始される(100)。フレームデータを受信したルーティング処理部501は、フレームデータに含まれるフレームデータの送信元/送信先の識別情報(送信元のPort ID、送信先のPort ID等)、及び必要な場合はフレームデータに含まれるフレームデータの種別情報、及びフレームのペイロードに含まれる各種情報(送信先のLUN等)を用いて、仮想化処理が必要か否かを判別する(101)。具体的には、送信先のPort IDやLUNが、ボリュームマッピング情報515の仮想ボリューム管理情報520に登録されている場合には、そのフレームデータは仮想化処理が必要なフレームデータであると判定される。
【0057】
仮想化処理が必要な場合、以下に示す仮想化処理(102)を仮想化処理部505が実行する。
1.受信したフレームデータが、ホストコンピュータから仮想記憶装置へのフレームデータである場合
仮想化処理部505は、ボリュームマッピング情報515に基づきフレームデータ中の送信先識別情報が示す仮想記憶装置に対応する記憶装置を検出する。そしてホストコンピュータから受信したフレームデータをこの記憶装置宛てのフレームデータに変換する為、フレームデータに含まれるフレームデータの送信先識別情報(D_ID)をこの記憶装置のPort IDに変換する。また受信したフレームデータ中のCRCを新たな送信先識別情報に基づくCRCに変換する。そして変換後のフレームデータは、ポート23を介して記憶装置3に向けて送信される。
2.受信したフレームデータが、仮想記憶装置にマッピングされた(対応づけられた)記憶装置からホストコンピュータに対するフレームデータである場合
仮想化処理部505は、ボリュームマッピング情報515に基づきフレームデータ送信元の記憶装置に対応する仮想記憶装置を検出する。そして記憶装置から受信したフレームデータを、この仮想記憶装置からのフレームデータに変換する為、フレームデータ内の送信元識別情報(S_ID)を仮想記憶装置のPort IDに置き換える。又、フレームデータ内のCRCを、新たな送信元識別情報に基づくCRCに置換える。そして、送信元識別情報とCRCが置き換えられたフレームデータは、ポート23を介してホストコンピュータ1に対して送信される。
【0058】
図9に示す仮想化処理要否の判別において(101)、ルーティング処理部501が仮想化処理は不要と判別した場合、実ルーティング処理部504がルーティング情報514に基づいて、受信したフレームデータのルーティング処理を実行する(103)。
【0059】
図10は、仮想化制御装置2のデータ移行処理部503が実行する、データ移行処理の一例を示す図である。
【0060】
データ移行処理は、管理装置4から仮想化制御装置2がデータ移行要求を受信した場合に開始される(110)。データ移行要求を受信したデータ移行処理部503は、データ移行要求が有するデータ移行元及びデータ移行先の実ボリュームを示す情報に基づいて、データ移行制御情報513を生成する。尚、データ移行制御情報は、少なくともデータ移行元及びデータ移行先の実ボリュームを識別するための情報(Port ID、 LUN等)を有する。そしてデータ移行処理部503は、データ移行制御情報513に基づき、データ移行元の実ボリュームを有する記憶装置3に対して、アクセス要求(データ移行要求)を発行する(111)。
【0061】
データ移行要求の発行後データ移行処理部503は、アクセス要求を発行した個々の記憶装置3から終了報告を受信するのを待つ(112)。そして、データ移行処理部503は、データ移行要求を発行した記憶装置3からの終了報告が、全て正常終了を通知する終了報告であるかを確認する(113)。尚、データ移行処理部503が異常終了を通知する終了報告を受信した場合には、データ移行処理部503が、この終了報告の発行元の記憶装置に対して、個別にアクセス要求(データ移行要求)の発行処理(111)から終了報告の確認処理(113)までの処理を再実行することが望ましい。
【0062】
データ移行処理部503が、データ移行要求の発行先記憶装置3全てから正常終了を示す終了報告を受信した場合は、データ移行処理部503は仮想ボリューム管理情報520に、データ移行先の実ボリュームを登録すると共に、仮想ボリューム管理情報のステータス情報を更新し(114)、データ移行処理の終了を管理装置4に対して報告する(115)。
【0063】
尚、図10に示すデータ移行処理においては、仮想化制御装置2からデータ移行要求を受信するデータ移行元の記憶装置3が以下の様な機能を有することによって、仮想ボリューム管理情報520のステータス情報が更新される時点で、移行元の実ボリュームに対するアクセス要求は全て完了していることが保証される。
【0064】
データ移行元の記憶装置3は、データ移行処理中にホストコンピュータ1からライトコマンドを受信した場合、ライトコマンドに従って記憶媒体35にデータを書き込むと共に、ライトデータを一時的に保持するための記憶領域(退避ボリューム)に、書き込まれたライトデータを格納する。尚退避ボリュームは、記憶装置3が有する記憶媒体中の記憶領域である。そして、データ移行処理の一環としてデータ移行元の記憶装置3は、退避ボリュームに格納されたデータを、データ移行先の記憶装置3に送信する。従って、データ移行元の記憶装置3が仮想化制御装置2のデータ移行処理部503に終了報告を送信する際には、データ移行元の実ボリュームに対する未完了のコマンドは存在せず、かつデータ移行処理中に実行されたライト処理によって変更されたデータは、データ移行先の記憶装置にも既に送信されていることとなる。このため、データ移行処理部503が仮想ボリューム管理情報520を更新する時点で、データ移行元の実ボリュームに対するアクセス要求は全て処理済みであることが保証される。従って、実ボリューム間でデータを移行し、仮想ボリュームにマッピングされる実ボリュームをデータ移行元の実ボリュームからデータ移行先の実ボリュームに変更する際に、データの整合性を保証することができる。
【0065】
以上に説明したデータ移行処理により、複数の記憶装置間におけるデータ移行処理を制御する仮想化制御装置は、個々の記憶装置の持つ機能を活用することによって、データ移行処理に要する処理負荷を軽減することができる。
【0066】
尚、データの整合性を保証するための他の方法として、以下の方法を用いることもできる。仮想化制御装置2のボリュームマッピング情報515に、実ボリューム毎に受信したコマンドを登録するためのエントリを持たせる。仮想化制御装置2のルーティング処理部501は、ホストコンピュータから記憶装置3宛てのコマンドを受信する度に、このコマンドの転送先の実ボリュームに対応するエントリにコマンドの内容を登録する。また、仮想化制御装置2が記憶装置からコマンドに応じた処理の終了報告を受信した際には、ルーティング処理部501は、ボリュームマッピング情報515に登録したコマンドを削除する。この様に、仮想化制御装置2が未完了なコマンドの存在を把握できるよう、ボリュームマッピング情報515を構成した上で、仮想化制御装置2のデータ移行処理部503が記憶装置3にデータ移行要求を送信した後は、ホストコンピュータ1からデータ移行対象の仮想ボリュームに対するコマンドを受信した仮想化制御装置2のルーティング処理部501は、このコマンドを仮想化制御装置2が有する記憶媒体52に一時的に格納する。そして、仮想化制御装置2がデータ移行元の記憶装置3からデータ移行完了報告を受信した場合には、仮想化制御装置2のルーティング処理部は、記憶媒体52に格納していたコマンドを、データ移行先の実ボリュームに対して転送する。係る方法を用いることによって、仮想化制御装置2がデータ移行元の記憶装置3にデータ移行要求を送信してから、この記憶装置3から終了報告を受信するまでの時間を短縮することができる。
【0067】
尚、前述の通り、データ移行処理部503が仮想ボリューム管理情報520のステータス情報を更新した後は、仮想ボリュームに対するアクセス要求或いはアクセス要求に基づくデータの転送等は、仮想ボリューム管理情報520のステータス情報に基づき、Activeな実ボリュームに対して実行される。
【0068】
以上に説明したように、仮想化制御対象の記憶装置間でデータ移行を実行する場合、仮想化制御装置2がボリュームマッピング情報515を更新することによって、ホストコンピュータ1がアクセス対象として認識する仮想ボリュームの識別情報を変更することなく,仮想ボリュームにマッピングされる実ボリュームをダイナミックに変更することができる。従って、ホストコンピュータ1は、記憶装置(実ボリューム)間でデータ移行が実行されたことを意識することなく、仮想ボリュームに対するアクセス処理を継続することができる。
【0069】
ところで、上述の実施形態では、仮想化制御装置2からデータ移行要求を受信した記憶装置3(データ移行元)の機能を用いてデータの整合性(仮想ボリューム管理情報520の更新時に、変更前の実ボリュームに対する全てのアクセス要求が完了していること)を保証している。しかし、本発明はこれに限定されるものではない。
【0070】
以下に、データ移行処理の他のバリエーションとして、仮想化制御装置2が有する機能のみを用いて、変更前の実ボリュームに対するアクセス要求が全て完了したことを検出する方法を説明する。
【0071】
この方法においては、仮想化制御装置2のボリュームマッピング情報515に、実ボリューム毎に受信したコマンドを登録するためのエントリを持たせる。仮想化制御装置2は、ホストコンピュータから仮想ボリューム若しくは実ボリューム宛てのコマンドを受信する度に、このコマンドの転送先の実ボリュームに対応するエントリにコマンドの内容を登録する。また、仮想化制御装置2が記憶装置からコマンドに応じた処理の終了ステータスを受信した際には、ボリュームマッピング情報515に登録したコマンドを削除する。尚、エントリに登録されているコマンド自体は、仮想化制御装置2が記憶媒体52内に保持する。
【0072】
仮想化制御装置2は、データ移行要求を記憶装置3に送信したことを契機に、ホストコンピュータ1から受信したデータ移行対象の仮想ボリュームに対するコマンドを、データ移行先の実ボリュームに対応するエントリに登録する。更に仮想化制御装置2は、データ移行要求を送信した後に,データ移行元の記憶装置3からデータライト系コマンドの終了ステータスの報告を検出した場合は、ボリュームマッピング情報に登録されているコマンドを削除せず、コマンドに対する処理が完了したことのみをボリュームマッピング情報に登録する。
【0073】
仮想化制御装置2は、データ移行元の実ボリュームに対する未完了のコマンドが無くなったことを条件として(データ移行元の実ボリュームに対応付けられてボリュームマッピング情報515に登録されているコマンド全てについて、処理済みを示す情報が登録されていることを条件として)、仮想化制御装置2が一時的に保持しているデータライト系コマンド(ボリュームマッピング情報515に完了を示す情報が登録され、未削除のコマンド)に基づき、データ移行元の実ボリュームとデータ移行先の実ボリュームとの間でのデータの更新処理を実行する。
即ち、データ移行要求送信後にライト系コマンドに基づいてデータ移行元の実ボリュームで実行されたデータの更新を、データ移行先の実ボリュームにも反映するため、仮想化制御装置2は、データ移行元の実ボリュームで更新されたデータをデータ移行先の実ボリュームに書き込むようデータ移行元及びデータ移行先の記憶装置を制御する。
【0074】
更に仮想化制御装置2は、データ移行元の実ボリュームとデータ移行先の実ボリューム間でデータ更新処理が完了したのを契機に、ボリュームマッピング情報515に登録されている、データ移行要求送信後に受信した仮想ボリュームに対するコマンドを、データ移行先の実ボリュームに対して送信する。
【0075】
尚、データ移行処理において、仮想化制御装置2がデータライト系コマンドの処理状態を監視することとしても良い。例えば仮想化制御装置2は、データ移行要求発行前にデータ移行元の実ボリュームに対して発行されたライト系コマンドに基づくライト処理が、データ移行処理開始後にも未だ実行されていない場合(データ移行元の記憶装置と仮想化制御装置2との間でのライトコマンドに基づくライトデータ転送が開始されていない場合)は、データ移行元に対してライト処理のアボート処理を実行する。即ち、仮想化制御装置2は、データ移行元の実ボリュームに対して発行されたライトコマンドをキャンセルする要求をこの実ボリュームに対して発行し、キャンセルされたライトコマンドと同一のライトコマンドをデータ移行処理完了後にデータ移行先の実ボリュームに対して発行する。係る処理により、オーバヘッドの少ないデータ移行処理を実現することができる。
【0076】
以上の処理により、仮想ボリュームにマッピングされる実ボリュームを変更した場合にも、変更前の実ボリュームと変更後の実ボリュームとの間でデータの整合性を保証することができる。
【0077】
図11は、仮想化制御装置2の記憶装置監視処理部502によって実行される記憶装置の接続状態監視処理の一例を示す図である。仮想化制御装置2の記憶装置監視処理部502は、ポート23に接続される記憶装置の接続状態を監視し、接続状態の変化を検出した際に図11に示す処理を開始する(120)。
【0078】
尚、仮想化制御装置2に接続される記憶装置3は各々自己の状態を仮想化制御装置に通知するためのソフトウェアを記憶装置3が有するメモリに格納している。このソフトウェアが記憶装置のCPU30によって実行されることによって、記憶装置は仮想化制御装置の記憶装置監視処理部502に記憶装置のNode Name、Port Name、Port ID、記憶装置が有する実ボリュームのLUN、サイズ等の管理情報を送信する。従って、記憶装置監視処理部502は、記憶装置から受信する管理情報から接続状態を検出することができる。また、仮想化制御装置2は、ポート23に記憶装置が接続されている場合にはその旨を検出することができ、又ポート23から記憶装置が切り離された場合にもその旨を検出することができる。従って、記憶装置監視処理部502は、ポートと記憶装置との接続状態を自身で検出することによっても、接続状態の変化を検出することができる。
【0079】
接続状態の変化を検出した記憶装置監視部502は、先ず接続状態の変化が、新たな記憶装置の追加によるものなのか、それ以外の変化、例えばポート23と記憶装置との間の接続が切断されることによるものなのかを判別する(121)。
【0080】
新たな記憶装置が追加された場合には、記憶装置監視部502はこの記憶装置から記憶装置のポートの識別情報としてNode Name(装置毎に固有)情報、Port ID(ネットワークで固有)情報、Port Name(ポート毎に固有)情報を、また更に記憶装置が管理する実ボリュームの管理情報としてLUN (Logical Unit Number:装置内で固有)情報等の情報を取得する。そして記憶装置監視部502は、記憶装置ごとに固有の情報であるNode Nameや、記憶装置のポートに固有の識別子情報であるPort Nameが既に記憶装置状態管理情報512に登録済みであるか否かを判別し(122)、判別結果に基づき以下の処理を実行する。
【0081】
取得したNode NameやPort Nameが既に記憶装置状態管理情報512に登録されている場合は、記憶装置監視部502が登録済みの記憶装置が接続されたことを管理装置4に対して報告し(123)、一連の記憶装置監視処理を終了する。尚、記憶装置から取得したNode NameやPort Nameに対応付けられたPort ID(ネットワークで固有)情報が既に管理装置4によって記憶装置状態管理情報512に登録されている場合には、仮想化制御装置2が記憶装置にこの登録済みのPort IDを設定することが望ましい。またPort IDが登録されていない場合は、仮想化制御装置がPort IDを記憶装置に割当ててこの記憶装置に設定し、記憶装置状態管理情報512に記憶装置に設定したPort IDを登録すると共に、管理装置4にこのPort IDを報告することが望ましい。更に、記憶装置から記憶装置監視処理部502が取得した実ボリュームの管理情報と、記憶装置状態管理情報512に登録済みの管理情報とが異なる場合は、記憶装置監視部502が記憶装置状態管理情報512を取得した管理情報を用いて更新し,管理装置4に報告することが望ましい。
【0082】
記憶装置から記憶装置監視処理部502が取得したNode NameやPort Name情報が、記憶装置状態管理情報512に登録されていない場合、記憶装置監視処理部502は取得した情報を記憶装置状態管理情報512に登録し(124)、管理装置4に報告し(123)、一連の記憶装置監視処理を終了する。
【0083】
ステップ121において、新たな記憶装置の追加以外(例えば,記憶装置の削除等)による接続状態の変化であると記憶装置監視部502が判断した場合には、記憶装置監視部502が、接続状態が変化した記憶装置が仮想化制御の対象であるか否かを判別し(125)、判別結果に基づき以下の処理を実行する。
【0084】
仮想化制御の対象となる記憶装置である場合は、記憶装置監視部502は検出した接続状態の変化を管理装置4に対して報告し(123)、一連の記憶装置監視処理を終了する。仮想化制御の対象外の記憶装置である場合には、記憶装置監視部502は,ネットワークプロトコルの規定に基づいた処理(例えば,Fibre ChannelにおけるRSCN (Registered State Change Notification)の通知)を実施し(126)、一連の記憶装置監視処理を終了する。
【0085】
以上の処理によって、仮想化制御装置2に接続される記憶装置3各々について、仮想化制御装置2が接続状態を監視し、接続状態が変化した場合には変化を管理装置に通知するよう制御することができる。また、仮想化制御装置2に接続される各記憶装置3について、記憶装置3が仮想化制御対象であるか否かに基づき、接続状態の変更通知を制御することができる。
[第二の実施形態](パーソナル情報を用いた記憶装置の識別)
第一の実施形態においては、記憶装置3のポート33を識別する情報として、Port ID、Port Nameが用いられる。しかし、本発明はこれに限られるものでは無く、記憶装置3のポート33を識別することができる情報であれば他の情報であっても良い。第一の実施形態においては、記憶装置3を識別する情報としてNode Nameが用いられたが、これも記憶装置3を識別することができる情報であれば他の情報でも良い。例えば記憶装置3を識別するための情報として、SCSI (Small Computer System Interface)で規定するVital product dataのDevice Identification page (83h)で用いられる識別子情報を用いることもできる。また、任意のボリュームを識別するための情報として、ベンダ独自の識別子情報(以下,パーソナル情報)を用いることもできる。
【0086】
以下、パーソナル情報によって、記憶装置3が有する実ボリュームや、仮想化制御装置がホストコンピュータに提供する仮想ボリュームが識別される場合における、データ移行方法について、図12〜14を用いて説明する。
【0087】
図12は、パーソナル情報を登録するためのエントリを有するボリュームマッピング情報515の一例を示す図である。図12は、P_Pid_1 (LUN=0/1)、P_Pid_2 (LUN=0)、P_Pid_3 (LUN=0)で識別される各実ボリューム各々がパーソナル情報を保持する例であり、仮想ボリュームも実ボリュームと同様に、パーソナル情報を保持している。
【0088】
ここで仮想ボリュームにつけられたパーソナル情報は、V_Pid_2 (LUN=0)で識別される仮想ボリュームに付けられているパーソナル情報“DDD_01”のように、対応する実ボリュームのパーソナル情報“BBB_01”と一致する必要は無い。仮想ボリュームに割り当てられるパーソナル情報は、仮想化制御装置2が生成し、仮想ボリュームを識別するための情報としてボリュームマッピング情報515に登録されることとしてもよい。又、実ボリュームがパーソナル情報を持たない場合にも、仮想化制御装置2が仮想ボリュームに対するパーソナル情報を生成してボリュームマッピング情報515に登録することができる。尚、V_Pid_2 (LUN=1)で識別される仮想ボリュームに付けられているパーソナル情報“AAA_00”のように、対応する実ボリュームのパーソナル情報“AAA_00”と同じパーソナル情報を仮想ボリュームに割り当てることもできる。
【0089】
更に、仮想ボリュームにつけられるパーソナル情報は、仮想ボリュームに対応付けられている実ボリュームが変更され、データ移行が実行されても、変更する必要はない。従って、例えばV_Pid_1 (LUN=0、 Active)に付けられているパーソナル情報“AAA_01”は、対応する実ボリュームのパーソナル情報“CCC_01”には一致しないが、データ移行前の実ボリュームのパーソナル情報“AAA_01”とは一致している。これは、V_Pid_1 (LUN=0、 Active)で識別される仮想ボリュームが、データ移行前は対応する実ボリュームと同じパーソナル情報を有していおり、データ移行後もパーソナル情報を変更することなくデータ移行元の実ボリュームと同一のパーソナル情報を引き継いでいるからである。
【0090】
図13は、パーソナル情報を用いてボリュームを識別するホストコンピュータ1が、仮想化制御装置2を介してボリュームにアクセスする際に実行される処理の一例を示す。
【0091】
尚、第二の実施形態におけるホストコンピュータ1は、第一の実施形態における構成に加え更に記憶装置識別処理部15を有する。記憶装置識別処理部15は、ホストコンピュータのメモリ11に格納されているプログラムがCPU10に実行されることによって実現され、パーソナル情報を用いてホストコンピュータがアクセスするボリューム及び記憶装置を識別する。即ち、記憶装置識別処理部15は、記憶装置にアクセスする際にまず、ホストコンピュータとネットワークを介して接続される記憶装置各々に対して、記憶装置内の実ボリュームを識別するためのパーソナル情報を送信するよう要求し、各記憶装置からパーソナル情報を受信する。そして記憶装置識別処理部15は、ホストコンピュータのメモリ11に格納されているアクセス対象の実ボリュームのパーソナル情報と、各記憶装置から受信したパーソナル情報を照合する。記憶装置識別処理部15は、アクセス対象の実ボリュームのパーソナル情報と同一のパーソナル情報を送信した記憶装置を、アクセス対象の記憶装置であると判別する。以上の記憶装置識別処理によって、アクセス対象の記憶装置が特定されると、ホストコンピュータは特定された記憶装置に対してアクセス要求を発行する。
【0092】
図13では、ホストコンピュータ1がパーソナル情報“AAA_01”で識別される実ボリュームにアクセスする例を示す。
【0093】
まず、ホストコンピュータ1が記憶装置3と仮想化制御装置2を介さずに接続している場合を考える。図13においては、Port ID=P_Pid_1、Port Name=P_Pname_1で識別される記憶装置3のポートから、パーソナル情報“AAA_01”を有する実ボリュームにアクセスすることができる。従って記憶装置識別処理部14は、このポートを有する記憶装置3からパーソナル情報“AAA_01”を受信することとなり、この記憶装置3をアクセス対象として特定する。すると、ホストコンピュータは、パーソナル情報“AAA_01”を受信した際受信フレームに含まれている送信元のアドレス情報(Port ID=P_Pid_1)や実ボリュームの識別情報(LUN=0)を用いて、アクセス対象の記憶装置3にアクセス要求を発行する。以降、このアクセス要求に基づくホストコンピュータから記憶装置とへのデータの送信は、Port ID=P_Pid_1、LUN=0の識別情報を有するフレームによって行われる。
【0094】
次に図13に示すように、ホストコンピュータ1と記憶装置3とが仮想化制御装置2を介して接続され、且、記憶装置3が仮想化制御対象である場合を考える。仮想化制御装置2の仮想化処理部505は、記憶装置3が有する実ボリュームに仮想ボリュームを割り当て、(ボリュームマッピング情報515に実ボリュームと対応付けて仮想ボリュームの識別情報を登録し)、実ボリュームのパーソナル情報“AAA_01”と同一のパーソナル情報を仮想ボリュームのパーソナル情報としてボリュームマッピング情報515に設定する。
【0095】
仮想化処理部505が係る処理を実行することによって、ホストコンピュータ1の記憶装置識別処理部15が、ネットワークを介して接続する装置に対してパーソナル情報を送信するよう要求すると、仮想化制御装置2がパーソナル情報“AAA_01”をホストコンピュータ1に送信することになる。従って、ホストコンピュータの記憶装置識別処理部15は、仮想化制御装置2からパーソナル情報“AAA_01”を受信した際、受信フレームに含まれている送信元のアドレス情報(Port ID=V_Pid_1)及び仮想ボリュームの識別情報(LUN=0)で識別される仮想記憶装置の仮想ボリュームをアクセス対象のボリュームと判別する。そして、ホストコンピュータは、Port ID=V_Pid_1、LUN=0の識別情報を有するフレームを送信することによって、アクセス対象の仮想ボリュームへアクセス要求やデータを送信する。Port ID=V_Pid_1、LUN=0の識別情報を有するフレームは、仮想化制御装置2の仮想化ルーティング処理部505によって、Port ID=P_Pid_1、LUN=0で識別される実ボリューム宛のフレームに変換された後、Port ID=P_Pid_1で識別されるポートを有する記憶装置3に向けて送信される。尚、ホストコンピュータがアクセス対象の記憶装置を検出(判別)した後の処理については、第一の実施形態と同一であるので詳細な説明は省略する。
【0096】
以上に示したように、ホストコンピュータ1の記憶装置識別処理部15は、記憶装置3が仮想化制御装置2の仮想化制御対象下に置かれた場合でも、Port ID=V_Pid_1、Port Name=V_Pname_1で識別される仮想ポートが持つ仮想ボリュームに設定されたパーソナル情報“AAA_01”を用いて、アクセス対象の記憶装置やボリュームを検出することができる。
【0097】
尚、図13において、ホストコンピュータ1と記憶装置3との間にルーティング処理のみを行うスィッチ(仮想化ルーティング処理部505を備えていないスイッチ)が介在しても上述の処理と同様の処理によって、ホストコンピュータは仮想ボリュームをアクセス対象のボリュームであると認識することができ、仮想化制御装置2はホストコンピュータからのフレームデータを仮想ボリュームに対応付けられている実ボリュームに転送することができる。
【0098】
また、図13においては、実ボリュームに対応するPort ID (P_Pid_1)と仮想ボリュームに対応するPort ID (V_Pid_1)とは異なる値を有する。しかし本発明はこれに限定されるものではなく、仮想ポートのPort IDは仮想化制御装置2が割り当てることができる情報であるから、例えば仮想ボリュームに対応するPort IDをこの仮想ボリュームに対応する実ボリュームにアクセスするために用いられる実ポートのPort IDと同じ値(即ちPort ID=P_Pid_1)となるよう設定することもできる。
【0099】
図14は、仮想化制御対象である記憶装置間でデータ移行が実施される時の、パーソナル情報の制御例を示す図である。
【0100】
図14は、Port ID=P_Pid_1、パーソナル情報“AAA_01”で識別される実ボリュームに格納されているデータを、Port ID=P_Pid_3、パーソナル情報“CCC_01”で識別される実ボリュームに移行する場合を示している。図14においては、仮想ボリュームのパーソナル情報として、この仮想ボリュームに対応づけられている実ボリュームのパーソナル情報と同一の情報(AAA_01)を用いている。そして、データ移行が実行された場合には、仮想化制御装置2の仮想化処理部505はデータ移行によって仮想ボリュームに対応づけられている実ボリュームが変更されても仮想ボリュームのパーソナル情報は変更することなく、仮想ボリュームのパーソナル情報としてデータ移行元の実ボリュームのパーソナル情報“AAA_01”を引き継ぐ。
【0101】
以上の処理、即ちデータ移行処理前に仮想ボリュームに設定したパーソナル情報をデータ移行処理後も引き継ぐことによって,ホストコンピュータ1がパーソナル情報を用いてボリュームを識別する場合でも、記憶装置間でのデータ移行処理をホストコンピュータに対して隠蔽することができ、ホストコンピュータは、データ移行前にホストコンピュータが使用していたアクセス先ボリュームの識別情報を用いてデータ移行後のアクセス先ボリュームを識別することができる。この結果、ホストコンピュータは記憶装置間でデータ移行処理が実行されても、ホストコンピュータで実行されている処理を中断することなく、処理を継続することができる。尚、仮想ボリュームに設定したパーソナル情報の引継ぎ処理以外については、第一の実施形態と同一であるので説明は省略する。
【0102】
更に、仮想ボリュームに設定したパーソナル情報を、複数の仮想化制御装置間で引き継ぐことができるようにすれば、ホストコンピュータ1がパーソナル情報を用いてボリュームの識別を行う場合、仮想化制御装置の交換をホストコンピュータに対して隠蔽することができる。この結果、ホストコンピュータは自身が実行する処理を中断することなく継続することが可能となる。仮想ボリュームのパーソナル情報は、ボリュームマッピング情報515の一部として仮想化制御装置2のルーティング処理部501が管理装置4のボリューム管理部401に通知し、管理装置4にボリュームマッピング管理情報411として保存されている。従って、仮想化制御装置が交換される場合には、管理装置4のボリューム管理部401が新たな仮想化制御装置2に対して、旧仮想化制御装置2のボリュームマッピング管理情報411を通知し、これを新たな仮想化制御装置2のボリュームマッピング情報515に設定すれば、複数の仮想化制御装置間でパーソナル情報を引き継ぐことができる。
【0103】
尚仮想化制御装置を交換する場合には、仮想化制御装置が管理する仮想ポートの識別子情報も交換後の仮想化制御装置に引継げるように構成することが望ましい。また、仮想化制御装置2が、仮想ボリュームに設定されたパーソナル情報をデータ移行処理後も変更せず、従前のパーソナル情報を引継ぐか否か(データ移行元のパーソナル情報を用いる)、或いは新たなパーソナル情報を設定するか否か等について、管理者が管理装置4を介して仮想化制御装置2に設定できるよう構成することが望ましい。
【0104】
尚第二の実施形態では、記憶装置3や仮想化制御装置2がボリューム毎にパーソナル情報を保持する(即ち、ボリュームごとにパーソナル情報が割り当てられる)ものとしているが、これに限定されるものではない。例えば記憶装置3や仮想化制御装置2がパーソナル情報を記憶装置単位で保持することも可能である。更に第二の実施形態では、Port ID、Port Nameと、パーソナル情報とからポートを識別するものとしているが、これに限られるものではない。ポートを一意に識別できる方法であればどのような情報を用いても良く、更に各識別情報のうち任意の情報の組合せでポートを識別するものとしても良い。
【0105】
図17に、ホストコンピュータと記憶装置が各々複数のポートを有する場合の計算機システムの構成を示す。図17に示すホストコンピュータ1は、図13に示すホストコンピュータ1に、更に複数のポート13(Hid_1、Hid_2)を備えた構成を有している。また、図17に示す記憶装置3は、図13に示す記憶装置3に更に複数のポート33(P_Pid1、P_Pid2)を備えた構成を有している。
【0106】
記憶装置が複数のポートを有するので、ホストコンピュータ1の記憶装置識別処理部15が記憶装置3にパーソナル情報を送信するよう要求すると、複数のポートから同じ値のパーソナル情報が送信されることとなる。そこで記憶装置識別情報処理部15は同じパーソナル情報を送信した複数のポートをボリューム管理情報としてメモリ11に格納して管理する。
【0107】
図18は、ホストコンピュータ1のメモリ11に格納されるボリューム管理情報の一例を示す図である。ボリューム管理情報はホストコンピュータが各記憶装置からパーソナル情報を受信した際に記憶装置識別処理部15によって作成される。ボリューム管理情報は、記憶装置毎に作成され、記憶装置が有する実ボリュームのボリューム番号、実ボリュームのパーソナル情報、ホストコンピュータ1から実ボリュームをアクセスする際に使用されるパス、及び実ボリュームのステータス情報が登録される。ここで、パス情報としては、プライマリパスとセカンダリパスの2つの情報が登録される。ホストコンピュータは通常はプライマリパスを用いて実ボリュームにアクセスするが、プライマリパスに障害が生じたり、プライマリパスが切断された場合には、ホストコンピュータはパスを切り替え、セカンダリパスを用いて実ボリュームにアクセスすることができる。
【0108】
図17を用いて、ホストコンピュータと記憶装置とが仮想化制御装置を介さずに接続している計算機システムにおいて、ホストコンピュータが実行している処理を中断することなくホストコンピュータと記憶装置の間に仮想化制御装置を接続し、記憶装置の実ボリュームを仮想化制御装置が仮想化してホストコンピュータに提供するよう計算機システムを変更するために実行される処理を説明する。
【0109】
まず、ホストコンピュータ1のポートHid_1と記憶装置3のポートP_Pid_1とがパス5-aで接続されており、ホストコンピュータのポートHid_2と記憶装置1のポートP_Pid_2がパス5-bで接続されている場合を考える。ホストコンピュータ1のメモリ11には図18に示すボリューム管理情報が記憶されており、このボリューム管理情報に従って、ホストコンピュータはパーソナル情報AAA_01で識別される実ボリュームをアクセスする場合にはポートHid_1とポートP_Pid_1を経由するプライマリパス5-aを使用し、パーソナル情報AAA_02で識別される実ボリュームをアクセスする場合にはポートHid_2とポートP_Pid_2を経由するプライマリパス5-bを使用する。
【0110】
次に上述の様な計算機システムにおいて、パス5-bを切断して、仮想化制御装置2を導入する場合に実行される処理を説明する。
1.パス5-bは切断されるので、ホストコンピュータはAAA_02で識別される実ボリュームをアクセスするために用いるパスをパス5-bからパス5-aに変更する必要がある。そこで記憶装置識別処理部15は、一時的にAAA_02で識別される実ボリュームへのアクセスを中止するため、ボリューム管理情報中のこの実ボリュームのステータス情報にInactiveを登録する。そして、ホストコンピュータのCPU10の制御により、ボリューム管理情報にセカンダリパスとして登録されているパス5-aを用いてAAA_02で識別される実ボリュームにアクセスするようパスを変更する。パスの変更後、記憶装置識別処理部15はボリューム管理情報中のAAA_02で識別される実ボリュームのステータス情報をactiveに戻す。尚、以上の処理は、ホストコンピュータが、キーボード等の入力装置を介してホストコンピュータのユーザからの指示を受け付け、この指示に基づいてCPU10が実行する。また、記憶装置識別処理部15が自動的に係る処理を実行することとしても良い。即ち、記憶装置処理部15が、ボリューム管理情報を参照して、自動的にプライマリパスからセカンダリパスへの変更を実行しても良い。
2.次に、パス5-bを切断し、ホストコンピュータ1と記憶装置3との間に仮想化制御装置2を接続する。具体的にはホストコンピュータのポートHid_2と仮想化制御装置2のポート23をパス5-cで接続し、記憶装置3のポートP_Pid_2と仮想化制御装置2のポート23をパス5-dで接続する。
3.仮想化制御装置2が計算機システムに接続されたら、仮想化制御装置のボリュームマッピング情報515を設定する。具体的には、仮想化制御装置2の仮想化処理部505が、記憶装置3が有するAAA_02で識別される実ボリュームに対応する仮想ボリュームを設定するため、この実ボリュームに対応付けて仮想Port ID(Port ID=V_Pid_1)、仮想Port Name(Pname=V_Pname_1)をボリュームマッピング情報515に登録する。また、この仮想ボリュームには、対応する実ボリュームのパーソナル情報AAA_02と同一のパーソナル情報が仮想化処理部505によって割り当てられ、ボリュームマッピング情報515に登録される。尚、ボリュームマッピング情報の設定は、管理装置4がユーザから受け付けた入力情報に従って行われる。即ち、管理情報4がユーザから受け付けた情報は、ボリューム管理部401の制御により仮想化制御装置2の仮想化処理部505に送信され、この入力情報に基づいて仮想化処理部505がボリュームマッピング情報を設定する。
4.ボリュームマッピング情報515が設定された後、ホストコンピュータ1はユーザからの指示を受け付けて、自装置が接続する他の装置に対してパーソナル情報を送信するよう要求する。すると、この要求を受信した仮想化制御装置2は、パーソナル情報AAA_02をホストコンピュータに送信する。
5.パーソナル情報AAA_02を仮想化制御装置2から受信したホストコンピュータ1は、受信フレームに含まれている送信元アドレス(Port ID=V_Pid_1等)から、新しい装置からパーソナル情報を受信したことを検出する。すると、記憶装置識別処理部15は、再度AAA_02で識別される実ボリュームのステータス情報をInactiveに変更する。そして、記憶装置識別処理部15は、ボリューム管理情報に登録されているAAA_02で識別される実ボリュームにアクセスするためのプライマリパスを、受信フレームに含まれる送信元アドレスに基づいて、ポートHid_2及びポートP_Pid_2経由のパスから、ポートHid_2及びポートV_Pid_1(仮想ポート)経由のパスに変更する。そして、ホストコンピュータのCPU10の制御により、プライマリパスを用いてAAA_02で識別される実ボリュームにアクセスするよう、アクセス用パスを変更する。パスの変更後、記憶装置識別処理部15は、AAA_02で識別される実ボリュームのステータス情報をActiveに戻す。
【0111】
上記ボリューム管理情報の一例として,ボリューム毎のステータス情報を保持する場合を例に説明したがこれに限定されるものではない。例えば,プライマリパス・セカンダリパス等のアクセスパス毎に,実ボリュームへのアクセス可否を示すステータス情報を保持し,ホストコンピュータの記憶装置識別処理部がどのアクセスパスを用いて実ボリュームへのアクセスを行うかの制御を実行することも可能である。尚,上記実ボリュームへのアクセス可否を示すステータス情報は,ホストコンピュータが前述の管理装置における記憶装置管理部と同等の機能を持つことによって実現可能である。
【0112】
以上の処理が実行されることによって、ホストコンピュータ1は仮想化制御装置2が接続された後も、記憶装置3の実ボリュームを、仮想化制御装置2が接続される前と同じパーソナル情報(AAA_02)を用いて識別することができる。従って、新たに仮想化制御装置2が計算機システムに導入され、ホストコンピュータが仮想ボリュームに対しアクセス要求を発行する場合にも、パーソナル情報をホストコンピュータに設定しなおす必要がない。このため、ホストコンピュータが実行している処理を中断する必要がない。
[第三の実施形態](複数の記憶装置から一つの仮想ボリュームを構成)
第一の実施形態及び第二の実施形態では、一つの実ボリュームから一つの仮想ボリュームを構成する例を説明したが、本発明はこれに限られるものでは無く、複数の実ボリュームから一つの仮想ボリュームが構成される場合にも適用することができる。
【0113】
複数の実ボリュームから一つの仮想ボリュームが構成される場合について、図15、図16を用いて説明する。
【0114】
図15は、Port ID=P_Pid_1、Port Name=P_Pname_1、LUN=3(5GB)で識別される実ボリュームと、Port ID=P_Pid_2、Port Name=P_Pname_2、LUN=1(5GB)で識別される実ボリュームから、Port ID=V_Pid_3、Port Name=V_Pname_3、LUN=0(10GB)で識別される一つの仮想ボリュームを構成する場合の、ボリュームマッピング情報515の一構成例を示す図である。図15に示すボリューム管理テーブルは、図12に示すボリューム管理テーブルと比べて、一つの仮想ボリュームに対して二つの実ボリュームが割当てられていること、仮想ボリューム管理情報520のエントリとして実ボリュームに対応するアドレス情報が追加されていることが異なるのみで、他は同一である。また図15においては、Port ID=V_Pid_3、Port Name=V_Pname_3、LUN=0で識別される仮想ボリュームのパーソナル情報としてPort ID=P_Pid_1、Port Name=P_Pname_1、LUN=3で識別される実ボリュームのパーソナル情報を用いている。
【0115】
図16は、二つの実ボリュームから一つの仮想ボリュームが構成される計算機システムの一例を示す図である。図16に示す計算機システムにおいても、仮想化制御装置2において実行される、データ移行処理、並びに記憶装置監視処理については、実施形態1及び実施形態2に記載した処理と同一の処理によって実行できるので、以下ルーティング処理について説明する。
(ルーティング処理)
ルーティング処理は、仮想化制御装置2がホストコンピュータ1或いは記憶装置3からのフレームデータを受信した場合に開始される。フレームデータを受信したルーティング処理部501は、フレームデータを構成する送信元/送信先の識別情報、更に必要な場合はフレームデータの種別情報及びフレーム中のペイロードを構成する各種情報(LUN等)を用いて、仮想化処理が必要か否かの判別を行う。具体的には、送信元/送信先の識別情報(Port ID等)やフレームのペイロードに含まれる情報(LUN)がボリュームマッピング情報515の仮想ボリューム管理情報520に登録されている場合には、ルーティング処理部501は仮想化処理が必要であると判断する。
【0116】
ルーティング処理部501が仮想化処理が必要であると判別した場合、以下の仮想化処理を仮想化処理部505が実行する。
1.受信したフレームデータが、ホストコンピュータから仮想記憶装置に対するフレームデータである場合
先ず受信したフレームデータがリード/ライト系のアクセス要求情報か否かを仮想化処理部505が判断する。フレームデータがリード/ライト系のアクセス要求情報である場合、ボリュームマッピング情報515と、アクセス要求情報(特に受信フレームのペイロード)に含まれるアドレス情報及びデータ転送長情報に基づき、仮想化処理部505は、フレームデータ送信先の仮想記憶装置に対応する記憶装置を特定する。そして受信したフレームを特定された記憶装置に対するフレームに変換する為、フレームデータを構成する送信先識別情報(D_ID)と、CRC情報を、特定された記憶装置のポートを示す送信先識別情報と、新しい送信先識別情報に基づくCRCとに置き換える。更に必要な場合、アクセス要求情報を構成する新たなアドレス情報及びデータ転送長情報を生成する。そして変換後のフレームは、仮想化制御装置のポート23を介して記憶装置3に送信される。尚、アクセス要求が二台の記憶装置に対して送信されるもの(アドレス989680hを跨いでのアクセス要求)である場合には、仮想化処理部505が、個々の記憶装置に対するアクセス要求を生成し個々の記憶装置にこのアクセス要求を送信する。
【0117】
仮想化制御装置2が受信したフレームデータが、リード/ライト系のアクセス要求情報以外のデータである(ライトデータである)場合、ボリュームマッピング情報515と、必要な場合にはライトデータ受信前に仮想化制御装置が受信したライトアクセス要求情報を構成するアドレス情報及びデータ転送長情報と、ライトデータのオフセット情報とに基づき、仮想化処理部505がフレームデータ送信先の仮想記憶装置に対応する記憶装置を検出する。そして受信したフレームを、検出された記憶装置に対するフレームに変換する為、仮想化処理505は、フレームデータを構成する送信先識別情報(D_ID)とCRCを、検出された記憶装置を特定するための識別情報とこの識別情報に基づく新たなCRCとに置き換える。そして仮想化制御装置2は、ポート23を介して検出された記憶装置3に対してフレームを送信する。
2.受信したフレームが、仮想記憶装置にマッピングされた記憶装置からホストコンピュータに対するフレームである場合
先ず受信したフレームデータがリードデータか否かを判別し、フレームデータの種類に応じた処理を仮想化処理部505が実行する。例えばフレームデータがリードデータである場合、仮想化処理部505は、フレームデータ送信元の記憶装置に対応する仮想記憶装置を特定する。そして、受信したフレームを特定された仮想記憶装置からのフレームに変換する為、仮想化処理部505は、フレームデータの送信元識別情報(S_ID)とCRCを、仮想記憶装置の識別情報と、新たな送信先識別情報に基づくCRCに置き換える。そして、仮想化制御装置2はポート23を介してフレームデータをホストコンピュータ1に送信する。
【0118】
一つのリード系アクセス要求に基づくリードデータの送信処理が、二台の記憶装置で同時に実行される場合には、仮想化制御装置2は、一方の記憶装置から受信するリードデータをホストコンピュータに転送する処理が完了するまで、他方の記憶装置から受信したリードデータの転送処理を保留させることが望ましい。例えば、P_Pid_1,P_Pname_1,LUN=3(5GB)で識別される実ボリュームを持つ記憶装置と、P_Pid_2,P_Pname_2,LUN=1(5GB)で識別される実ボリュームを持つ記憶装置からリードデータを受信した場合には、仮想化制御装置2がP_Pid_2,P_Pname_2,LUN=1(5GB)で識別される実ボリュームを持つ記憶装置からのリードデータを一時的に保存することで、リードデータの転送処理を保留できる。
【0119】
また,一つのリード系アクセス要求に基づくレスポンスデータの送信処理が、二台の記憶装置で並列に実行される場合には、仮想化制御装置2は、二台の記憶装置から受信したレスポンスデータを用いてホストコンピュータに対する一つのレスポンスデータを生成し送信するものである。
【0120】
尚、上述のような、複数の実ボリュームから一つの仮想ボリュームが構成される計算機システムにおいても、第一の実施形態及び第二の実施形態と同様、ホストコンピュータがアクセス対象として認識するボリュームの識別情報を変更することなく、仮想化制御対象の記憶装置間でデータ移行処理を実行することができる。即ち、記憶装置間でデータ移行処理が実行された場合には、第一の実施形態若しくは第二の実施形態と同様、仮想化制御装置2がボリュームマッピング情報515を更新し、仮想ボリュームに対応付けられている実ボリュームをデータ移行元の実ボリュームからデータ移行先の実ボリュームに変更することによって、ホストコンピュータ1がアクセス対象として認識するボリュームの識別情報を変更することなく、仮想ボリュームにマッピングされる実ボリュームをダイナミックに変更することができる。従ってホストコンピュータ1は、記憶装置(実ボリューム)間で実行されるデータ移行を意識することなく処理を継続することができる。
[第四の実施形態](Intelligent Portでの仮想化制御、Storage機能提供)
上述の各実施形態では、スイッチとしての機能を提供する仮想化制御装置2のメイン制御部20において,本発明に係る各処理を一括して実施する例を説明したが、本発明はこれに限られるものではなく、ポート23毎にプロセッサを設け、このプロセッサがルーティング処理を実施することが可能である。
【0121】
更に仮想化制御装置2は、ポート23とパス制御部22とメイン制御部20とからのみ構成されるものに限られるものではない。例えばディスクアレイ装置が有するディスクアレイ制御装置のように、複数の物理的なディスク装置を例えば一つの論理的な記憶装置としてホストコンピュータに見せる制御や、ホストコンピュータがアクセスするデータに対して冗長データとしてパリティデータを付加してディスクに格納し、任意の一台のディスク装置に障害が発生してもパリティデータを用いてホストコンピュータとの間のデータ転送処理を可能とする一連のパリティ制御等を実行するストレージ制御部を仮想化制御装置2が有し、仮想化制御装置2がストレージ制御機能を一機能として有していても良い。更には、ストレージ制御部と、ディスク装置等の複数の記憶装置から構成される記憶装置群とを仮想化制御装置2が有することによって、仮想化制御装置2がストレージ装置自体の機能(ストレージ機能)を一機能として有していても良い。
【0122】
以下、ストレージ制御部と記憶装置群とを有し、ストレージ機能も提供する仮想化制御装置が、各処理を夫々の構成部位で分担して処理する場合について、図19〜図22を用いて説明する。
【0123】
図19は、本発明が適用される計算機システムの一例を示す図である。尚、同図において,仮想化制御装置2以外は図1と同様の構成を有する。
【0124】
仮想化制御装置2においては、一つ以上のポート部8と、一つ以上のストレージ制御部7−1/2と、メイン制御部20とが、バックプレーン9を介して接続され,更にストレージ制御部7−1は、複数のディスク装置35と接続される。
【0125】
ポート部8は、ホストコンピュータ1或いは記憶装置3と接続されるネットワーク5を制御するインタフェース制御部81(図中,SN I/F)と、仮想化制御装置2内の他の部位とを接続するバックプレーン9を制御するインタフェース制御部82(図中,BP I/F)と、後述するプログラムや情報を格納するメモリ85と、これらの情報を用いてプログラムを実行するCPU84とを有する。
【0126】
ストレージ制御部7−1は、バックプレーン9を制御するインタフェース制御部73(以下、BP I/Fと呼ぶ。)と,複数のディスク装置35との間でのデータ転送処理を行うインタフェース制御部72(以下、HDD I/Fと呼ぶ)と、ディスク装置35或いは記憶装置3との間で転送されるデータを格納するキャッシュ71と、各処理及び後述のプログラムを実行するCPU70とを有する。
【0127】
ストレージ制御部7−2は、ディスク装置35との間でのデータ転送処理を行うインタフェース制御部72を有さないことを除いて,上記ストレージ制御部7−1と同様の構成を有する。
【0128】
メイン制御部20は、管理用ポート25を含み、バックプレーン9を制御するインタフェース制御部53を有すること以外は、図1のメイン制御部20と同様の構成を有する。尚、CPU50で実行されるプログラムについては後述する。
【0129】
図19では、ホストコンピュータ1、記憶装置3、管理装置4,仮想化制御装置2のポート部8は、それぞれ1つのポートを持つ例を示したが、これに限定されるものではなく、複数のポートを持つことも可能である。
【0130】
同様に仮想化制御装置2を構成する各部位は,バックプレーン9を制御するインタフェース制御部82(図中,BP I/F)を複数持つことが可能であり、各構成部位は複数のバックプレーンを介して相互に接続されることが望ましい。
【0131】
更に,仮想化制御装置2のポート部8は、異なる複数のネットワークプロトコルに対応可能であることから、ポート部8を管理用ポートとして使用することも可能である。
【0132】
図20は、仮想化制御装置2が有する何れかの部位のCPUによって実行されるプログラムと、管理情報の一例を示す図であり、仮想化処理部505が仮想化ルーティング制御情報530を新たに有すること、仮想化ルーティング処理プログラム517がコマンドフレームの転送処理を実行するプログラム(図中,コマンド転送処理プログラム)531、レスポンスフレームの転送処理を実行するプログラム(図中,レスポンス転送処理プログラム)532、及び上記以外のフレームデータの転送処理を実行するプログラム(その他の転送処理プログラム)533とを有すること、更に装置内記憶装置アクセス処理部506を仮想化制御装置2が新たに有し、装置内記憶装置アクセス処理部506として、仮想化制御装置2が有する記憶装置35の構成情報を保持する装置内記憶装置構成管理情報508と実際にフレームデータの転送処理を実行するための装置内記憶装置アクセス制御処理プログラム507とを有すること以外は、プログラム及び管理情報は図3と同様である。
【0133】
尚、装置内記憶装置アクセス処理部506では,複数の物理的なディスク装置を例えば一つの論理的な記憶装置としてホストコンピュータに見せる制御、更にホストコンピュータがアクセスするデータに冗長データとしてパリティデータを付加してディスク装置に格納し、任意の一台のディスク装置に障害が発生してもパリティデータを用いてホストコンピュータとの間でのデータ転送処理を可能とする一連のパリティ制御等を実行することが望ましい。但し本発明とは直接関係が無いことからその詳細な説明は省略する。
【0134】
尚、仮想化ルーティング制御情報530、コマンド転送処理プログラム531、レスポンス転送処理プログラム532、その他の転送処理プログラム533の詳細については後述する。
【0135】
更に図3及び図20においては、仮想化制御装置2の初期化処理に係るプログラム等の記載を省略しているが、少なくとも電源投入を条件に各種管理情報の初期化処理を実行する初期化処理プログラム、或いは管理装置4等からの指示を契機に初期化処理あるいは診断処理等を実行するプログラム群を、仮想化制御装置が有していても良い。
【0136】
図21は、本実施形態におけるホストコンピュータと記憶装置との間のアクセス経路の主な三つのバリエーションを示す図である。
【0137】
尚、図21において仮想化制御装置2を構成する記憶装置群34を内部記憶装置、仮想化制御装置2とネットワーク5を介して接続される記憶装置3を外部記憶装置と呼ぶこととし、更にホストコンピュータ1と接続されるポート部8をIn Port、外部ストレージ3と接続されるポート部8をOut Portと呼ぶこととする。
【0138】
第一のアクセス経路のタイプは、ホストコンピュータ1と内部記憶装置34がポート部8(In Port)とストレージ制御部7−1とを介して接続される経路である。
【0139】
第二のアクセス経路のタイプは、ホストコンピュータ1と外部記憶装置3がポート部8(In Port)とストレージ制御部7−2とポート部8(Out Port)とを介して接続される経路である。
【0140】
第三のアクセス経路のタイプは、ホストコンピュータ1と外部記憶装置3がポート部8(In Port)とポート部8(Out Port)とを介して接続される経路である。
【0141】
図22は、本実施形態で用いられるボリュームマッピング情報515の一例を示す図である。前述の図4の構成に対し、後述の仮想化処理を実行する部位の識別子情報を管理する仮想化処理モジュール管理情報523と、実ボリュームが外部記憶装置3内に存在する場合に当該外部記憶装置3と接続するためのポートの識別子を管理する外部ボリューム接続モジュール管理情報254を新たに有する構成としている。尚、図22中Storage Control part #1は図19におけるストレージ制御部7-1の識別情報であり、Storage Control Part #2は図19におけるストレージ制御部7-2の識別情報である。
【0142】
同22においては、ボリュームの状態を示すSizeやステータスの情報は省略しているが、これらの情報も管理することが望ましく、更に内部記憶装置34に関する実ボリューム管理情報は装置内記憶装置構成管理情報507にその詳細が登録されているものとして,ここでの説明は省略するものとする。
【0143】
尚本実施形態においては、ボリュームマッピング情報515を構成する各情報を仮想化制御装置2を構成する全ての部位各々で保持管理する必要は無く、各部位毎に当該部位が実行する処理において必要となる情報のみを保持管理することが望ましい。
【0144】
図23は、仮想化制御装置2を構成する部位毎に管理される仮想化ルーティング制御情報530の一例を示す図である。仮想化ルーティング制御情報530は、仮想化制御装置2を構成する各部位が後述のフレームデータの転送処理を実行する際に、生成、参照、又は更新される情報であり、送信元管理情報534として送信元の識別情報と送信元指定のコマンド識別情報、送信先管理情報535として送信先識別情報と自身が指定したコマンド識別情報とを有する。
【0145】
尚コマンド識別情報とは、送信元と送信先との間で送受信されるフレームデータがどのコマンドに関連するものかを識別する為、個々のフレームデータに付加される情報である。またフレームデータの構成についての詳細な説明は省略しているが、少なくともフレームデータの送信元/送信先を識別する情報(送信元/送信先識別情報)と、フレームデータの種別を示す種別情報と、コマンド識別情報とを有するヘッダ情報と、アクセス要求情報或いはステータス情報或いはデータ等を有するペイロード情報とを、フレームデータは有するものとする。
【0146】
尚図23においては、ホストコンピュータ1と接続されるポート部8(In Port)が保持管理する仮想化ルーティング制御情報530の一例として、Host_Pid_1で識別されるホストコンピュータからポート部8がHost_Tag_1、Host_Tag_2、及びHost_Tag_3で識別される3つのコマンドを受信し、夫々について自身が指定したコマンド識別子情報InPort_Tag_1、InPort_Tag_2、InPort_Tag_3を付加し、これら各々を夫夫ストレージ制御部7−1(図23ではSC#1と記載。)、ストレージ制御部7−2(図23ではSC#2と記載。)、ポート部8(図23ではOut Portと記載)に転送した状態であることを示している。
【0147】
図24は、仮想化制御装置2を構成する任意の構成部位によって実行されるフレームデータの転送処理の一例を示す図である。従って本処理は、ポート部8、ストレージ制御部7-1、ストレージ制御部7-2のいずれにおいても実行され得る。尚本処理は、ホストコンピュータ1或いは内部記憶装置34或いは外部記憶装置3からのフレームデータの受信、又は、仮想化制御装置2を構成する各部位間においてのフレームデータの受信を契機として開始される。以下、図24を用いて本実施形態におけるフレームデータの転送処理の一例を説明する。
【0148】
フレームデータを受信した仮想化制御装置2の部位は先ず、後述の仮想化処理が必要か否かの判別を実施する(130)。以下に、仮想化処理が必要なフレームデータであると判定される具体的な条件の一例を示す。
(1)フレームデータに含まれる送信先識別情報が、ボリュームマッピング情報515の仮想ボリューム管理情報520に登録されている。
(2)フレームデータに含まれる送信元識別情報が、ボリュームマッピング情報515の実ボリューム管理情報521に登録されている。
(3)フレームデータに含まれるコマンド識別情報が、仮想化ルーティング制御情報530の送信元管理情報534或いは送信先管理情報535に登録されている。
【0149】
尚、上記仮想化処理要否の判定条件は一例でありこれに限定されるものではない。また、仮想化処理が不要と判別した場合の実ルーティング処理(131)については図9に示す処理と同様であることから説明を省略する。
【0150】
次に、仮想化処理が必要と判別された場合には、当該部位は受信したフレームデータに含まれるフレームデータの種別情報を用いてフレームデータの種別を検出する。
[コマンドフレームの場合]
受信したフレームデータがコマンドフレームであることを検出した場合(132)、コマンド転送処理プログラム531が以下のコマンドフレームの転送処理を実行する。
1.コマンド変換処理要否の判定(133)
受信したフレームデータに含まれるフレームデータの送信先識別情報、及び必要な場合は受信したフレームデータのペイロードに含まれる各種情報(送信先のLUN等)とボリュームマッピング情報515とを用いて、コマンド転送処理プログラム531は後述のコマンド変換処理を自身で実施するか否かを判別する。判別方法の一例としては、例えば送信先のPort IDやLUNが、ボリュームマッピング情報515の仮想ボリューム管理情報520に登録され、且つ仮想化処理モジュール管理情報523に自身の識別情報が登録されている場合には、そのコマンドは自身でのコマンド変換処理が必要なフレームデータであると判定される。
2.コマンド変換処理(134)
自身でのコマンド変換処理が必要と判別された場合、コマンド転送処理プログラム531は、ボリュームマッピング情報515の仮想ボリューム管理情報520と実ボリューム管理情報521とを用いて、受信したコマンドフレームに含まれる送信先識別情報を実ボリュームに対応した識別情報に、送信元識別情報を自身の識別情報に、LUN等のアクセス要求(コマンド)情報を実ボリュームに対応したLUN等のアクセス要求情報に置き換える処理をコマンド変換処理として実施する。
【0151】
尚、ステップ133において自身でコマンド変換処理を実行する必要がないと判別された場合には、コマンド変換処理(134)は実行されることなく、ステップ135に進む。
3.コマンドフレーム転送先検出(135)
自身でのコマンド変換処理が不要と判別された場合、或いは上記コマンド処理を実行した後、コマンド転送処理プログラム531は、ボリュームマッピング情報515の仮想化処理モジュール管理情報523(In Portの場合)或いは外部ボリューム接続モジュール管理情報524(ストレージ制御装置の場合)或いは実ボリューム管理情報521(Out Portの場合)を用いてコマンドフレームの転送先を検出する。
4.仮想化ルーティング制御情報登録(136)
次にコマンド転送処理プログラム531は、受信したコマンドフレームに含まれる送信元識別情報とコマンド識別情報と、コマンドフレームの転送先を識別する送信先識別情報と、自身が生成したコマンド識別情報とを仮想化ルーティング制御情報530の送信元管理情報534、送信先管理情報535として登録する。
5.コマンド転送(137)
更にコマンド転送処理プログラム531は、受信したコマンドフレームに含まれるコマンド識別情報を自身が生成したコマンド識別情報に置き換え、上記検出したコマンドフレームの転送先に送信することで一連のコマンドフレーム転送処理を終了する(137)。
[レスポンスフレームの場合]
ステップ132において受信したフレームデータがコマンドフレームでないことを検出し,更に受信したフレームデータがレスポンスフレームであることを検出した場合(138)、レスポンス転送処理プログラム532が以下のレスポンス転送処理を実行する。
1.レスポンス生成処理要否の判定(139)
レスポンス転送処理プログラム532は、受信したレスポンスフレームに含まれるコマンド識別情報とボリュームマッピング情報515とを用いて、自身でのレスポンス生成処理が必要か否かを判別する。判別の方法の一例としては、例えば受信したレスポンスフレームに含まれる送信元の識別情報が、ボリュームマッピング情報515の実ボリューム管理情報521に登録され、且つ仮想化処理モジュール管理情報523に自身の識別情報が登録されている場合には、そのレスポンスフレームは自身でのレスポンス生成処理が必要なフレームデータであると判定される。
2.レスポンス生成処理(140)
自身でのレスポンス生成処理が必要と判別された場合、レスポンス転送処理プログラム532は、ボリュームマッピング情報515の仮想ボリューム管理情報520を用いて、受信したレスポンスフレームに含まれる送信元識別情報を仮想ボリュームに対応した識別情報に、送信先識別情報を対応するホストコンピュータの識別情報に置き換える処理と、受信したレスポンスフレームに含まれるステータス情報に基づき必要な場合には新たなステータス情報を生成し置き換える処理とをレスポンス生成処理として実施する。
3.レスポンスフレーム転送先検出(141)
更に、レスポンス転送処理プログラム532は、受信したフレームデータに含まれるコマンド識別情報と仮想化ルーティング制御情報530を用いて、レスポンスフレームの転送先を検出する。検出方法の一例としては、受信したフレームデータに含まれるコマンド識別情報と一致する仮想化ルーティング制御情報530の送信先管理情報535のコマンド管理情報を検出し,当該コマンド管理情報に対応する送信元管理情報534の送信元識別情報をレスポンスフレームの転送先として検出する。
4.レスポンス転送(142)
次にレスポンス転送処理プログラム532は、受信したレスポンスフレームに含まれるコマンド識別情報を、仮想化ルーティング制御情報530の送信元管理情報534の対応する送信元コマンド識別情報とに置き換え、ステップ141において検出したレスポンスフレームの転送先に送信する。
5.仮想化ルーティング制御情報更新(143)
更にレスポンス転送処理プログラム532は、受信したレスポンスフレームに含まれるコマンド識別情報に基づき、仮想化ルーティング制御情報530の対応するエントリ(送信先/送信元管理情報)を削除して一連のレスポンスフレーム転送処理を終了する。
[上記以外のフレームの場合]
受信したフレームデータが上記(コマンド、スポンス)以外のフレームデータ(例えば,データ)である場合、その他の転送処理プログラム533が以下のフレームデータ転送処理を実行する。
1.自身での仮想化処理要否の判定(144)
受信したフレームデータに含まれるフレームデータの送信先/送信元識別情報及びコマンド識別情報と、ボリュームマッピング情報515及び仮想化ルーティング制御情報530とを用いて、その他の転送処理プログラム533は自身での仮想化処理の要否を判別する。判別の一例としては、例えば送信先識別情報或いは送信元識別情報が、ボリュームマッピング情報515の実ボリューム管理情報521或いは仮想ボリューム管理情報520に登録され、且つ仮想化処理モジュール管理情報523に自身の識別情報が登録されている場合に、その他の転送処理プログラム533は自身での仮想化処理が必要なフレームデータであると判定
する。
2.仮想化(送信元/送信先識別情報変換)処理(145)
自身での仮想化(送信元/送信先識別情報変換)処理が必要と判別した場合ボリュームマッピング情報515の仮想ボリューム管理情報520と実ボリューム管理情報521を用いて、その他の転送処理プログラム533は受信したフレームデータに含まれる送信元の識別情報或いは送信先の識別情報を仮想ボリュームの識別情報或いは実ボリュームの識別情報に置き換える処理を仮想化処理として実施する。処理の一例としては、受信したフレームデータに含まれる送信先の識別情報が仮想ボリュームの識別情報と一致する場合(ホストコンピュータから仮想化制御装置)、送信先の識別情報を実ボリュームの識別情報に、受信したフレームデータに含まれる送信元の識別情報が実ボリュームの識別情報と一致する場合(仮想化制御装置からホストコンピュータ)、送信元の識別情報を仮想ボリュームの識別情報に置き換える処理を、その他の転送処理プログラム533は実施する。
3.その他のフレームデータ転送先検出(146)
更にその他の転送処理プログラム533は、受信したフレームデータに含まれるコマンド識別情報と、仮想化ルーティング制御情報530を用いてフレームデータの転送先を検出する。
【0152】
検出処理の一例としては、受信したフレームデータに含まれるコマンド識別情報と一致する仮想化ルーティング制御情報530の送信元管理情報534のコマンド管理情報をその他の転送処理プログラム533が検出し、当該コマンド管理情報に対応する送信先管理情報535の送信先識別情報をフレームデータの転送先とすることが考えられる。
4.フレームデータ転送(147)
次にその他の転送処理プログラム533は、受信したフレームデータに含まれるコマンド識別情報を仮想化ルーティング制御情報530の送信元管理情報534の対応する送信元コマンド識別情報に置き換え、ステップ156で検出したフレームデータの転送先に送信することで一連の処理を終了する。
【0153】
尚上記説明においては説明を簡略にする為、ポート部の識別情報を外部(ホストコンピュータ或いは記憶装置との間で用いる識別情報)と内部(仮想化制御装置内の他の部位との間で用いる識別情報)とを同一であるものとして説明したが、本発明はこれに限定されるものではない。ポートの識別情報が外部と内部とで異なる場合には、それらを関連付ける情報を仮想化制御装置2が持てば良いことは言うまでも無い。
【0154】
次に,ホストコンピュータと実ボリュームを提供する記憶装置とのアクセス経路として複数のバリエーションを持つ本実施形態におけるデータ移行処理について説明する。本実施形態においては、ポート部8、ストレージ制御部7-1、ストレージ制御部7-2のいずれかがデータ移行処理を実行し、データ移行に伴いボリュームマッピング情報の更新を実行する。いずれの部位がこれらの処理を実行するかは、ボリュームマッピング情報515の仮想化処理モジュール管理情報に基づいて決定される。即ち、仮想化処理モジュールとして仮想化処理モジュール管理情報523に登録されている部位が、対応する仮想ボリュームに関するデータ移行処理を実行し、ボリュームマッピング情報を更新する。例えば図22に示すボリュームマッピング情報515であれば、Port ID = V_Pid_2、 Port Name = V_Pname_2、LUN=0で識別される仮想ボリュームに関するデータ移行処理及びボリュームマッピングテーブルの更新は、ストレージ制御部7-2によって実行される。尚、本実施形態におけるデータ移行処理やボリュームマッピングテーブルの更新方法は、前述の第一の実施形態と同様の方法である。
【0155】
本実施形態では、更に、仮想化処理モジュールが変更される場合がある。そこで仮想化処理モジュールの変更を伴うデータ移行処理について以下に説明する。
【0156】
尚仮想化処理モジュールの変更を伴うデータ移行としては、アクセス経路(第一/第二/第三のアクセス経路)のタイプが変更される場合と、アクセス経路のタイプは同一であっても仮想化処理モジュールが変更される場合とが有る。以下アクセス経路のタイプが第二のアクセス経路のタイプから第三のアクセス経路のタイプに変更される場合を例に説明する。
【0157】
図25はデータ移行処理が実行される前に、仮想化制御装置2のポート部8(In Port)とが有する実ボリュームマッピング情報515の一例、図26はデータ移行処理が実行される前にストレージ制御装置7−2が有する実ボリュームマッピング情報515の一例、図27はデータ移行処理が実行される前にポート部8(Out Port)が有する実ボリュームマッピング情報515の一例を示す図である。
【0158】
図25にはポート部8(In port)が管理する仮想化ボリューム管理情報として、V_Pid_1、V_Pid_2、及びV_Pid_3が登録されている。これは、ポート部8(In Port)が、仮想化制御装置2がホストコンピュータに対して提供する三つの仮想ボリューム(V_Pid_1、V_Pid_2、及びV_Pid_3)のアクセス経路を構成していることを示している。同様に図26によれば、ストレージ制御部7−2は、仮想ボリュームV_Pid_2に対するアクセス経路を構成し、図27によればポート部8(Out Port)は二つの仮想ボリューム(V_Pid_2及びV_Pid_3)に対するアクセス経路を構成していることを示している。
【0159】
更に図25、図26及び図27の仮想化処理モジュール管理情報によれば、V_Pid_1で識別される仮想ボリュームの仮想化処理はストレージ制御部7-1、仮想ボリュームV_Pid_2に対する仮想化処理はストレージ制御部7−2(SC #2)、仮想ボリュームV_Pid_3に対する仮想化処理はOut Portで実施されることが分る。
【0160】
従って、仮想ボリュームV_Pid_1とホスト間のアクセスパスは、In Portからバックプレーン9を経由してストレージ制御部7-1に到達し、ストレージ制御部7-1にて仮想化処理が実行される第一のタイプであり、仮想ボリュームV_Pid_2とホスト間のアクセスパスはIn Portからバックプレーン9を経由してストレージ制御部7-2に到達し、ストレージ制御部7-2にて仮想化処理が実行された後更にOut Portを通って外部記憶装置に到達する第二のタイプであり、仮想ボリュームV_Pid_3とホスト間のアクセスパスはIn Portからバックプレーンを経由してストレージ制御部を経由することなくOut Portに到達し、Out Portにて仮想化処理が実行された後外部記憶装置に到達する第三のタイプであることが分る。
【0161】
図28から図30は図25から図27で示した仮想ボリューム(V_Pid_2)へのアクセス経路を、第二のタイプのアクセス経路から第三のタイプのアクセス経路に変更し、更に外部記憶装置3間でのデータ移行処理(P_Pid_2 及び LUN0で識別される実ボリュームからP_Pid_3 及び LUN1で識別される実ボリュームへデータを移行する処理)を実施した後に、仮想化制御装置2のポート部8(In Port)、ストレージ制御装置7−2、ポート部8(Out Port)各々が有するボリュームマッピング情報515の一例を示す図である。
【0162】
図28はポート部8(In Port)、図30はポート部8(Out Port)が有するボリュームマッピング情報である。図28及び図30では、V_Pid_2で識別される仮想ボリュームに対応する実ボリュームの識別情報がデータ移行先の実ボリュームの識別情報であるP_Pid_3、P_Pname_3、LUN1に書き換えられ、更に仮想化処理モジュール管理情報が、新たなアクセス経路(第三のタイプのアクセス経路)において仮想化処理を実行するOut Portに書き換えられている。また図29はストレージ制御部7−2が有するボリュームマッピング情報であるが、第三のタイプのアクセス経路においては、ストレージ制御部はホストコンピュータに仮想ボリュームを提供する際のアクセス経路を構成しないことから、V_Pid_2で識別される仮想ボリュームに関するエントリーが削除される。
【0163】
尚本実施形態におけるデータ移行処理は、仮想化制御装置2の適当な部位(例えば本実施形態においてデータ移行処理前に仮想化処理を実施している部位)で前述の実施形態におけるデータ移行処理を実施することによって実現可能であることからその詳細説明は省略する。
【0164】
ここで、ボリュームマッピング情報515の更新に関しては、仮想化制御装置2を構成する部位間で同期して実施されることが望ましいことから、前述の実施形態と同様に記憶装置間でのデータ移行処理の完了を契機として仮想化制御装置2のメイン制御部20を介して実施されることが望ましい。
【0165】
即ち記憶装置間でのデータ移行処理を実施する部位は、データ移行処理の完了をメイン制御部20に通知し、該通知を受けたメイン制御部20によって関連する部位のボリュームマッピング情報515が更新されることが望ましい。
【0166】
尚アクセス経路のみが変更され、記憶装置間でのデータ移行処理を伴わない場合のボリュームマッピング情報515の更新に関しても同様である。
【0167】
尚、上述の説明においては、ホストコンピュータ1と接続されるポート部(In Port)と外部ストレージ3と接続されるポート部(Out Port)を、異なるポート部で実現する場合を例に説明を行ってきたが、本発明はこれに限定されるものではなく、例えば同一のポート部8においてホストコンピュータ1と外部ストレージ3との接続を同時に実現することも可能である。
【0168】
更に上述の説明において仮想ボリュームを識別するための情報であるPort ID、Port Nameは、仮想化制御装置2がホストコンピュータ1に対して提供する仮想的なポートに割当てた識別子情報として説明してきたが,これに限定されるものではなく、特に本実施形態においては、仮想化制御装置2のポート部8に割当てられた実際の識別子情報を仮想ボリュームの管理情報として用いることが可能である。
【0169】
【発明の効果】
本発明によれば、ホストコンピュータがアクセス対象のボリュームを識別するために用いる識別情報を変更することなく、複数の記憶装置間でのデータ移行処理を実行することができる。この結果、ホストコンピュータの処理を中断することなくデータ移行処理を実行することができる。
【0170】
また、本発明においては、計算機システムに仮想化制御装置が新たに導入されたり、仮想化制御装置が交換された場合にも、ホストコンピュータはアクセス対象のボリュームを識別するために用いる識別情報を変更することなく、データにアクセスすることができる。この結果、ホストコンピュータの処理を中断することなく、仮想化制御装置を計算機システムに導入したり、仮想化制御装置を交換することができる。
【図面の簡単な説明】
【図1】本発明を適用する計算機システムの一例を示す図である。
【図2】管理装置の記憶媒体に格納されているプログラム及び情報の一例を示す図である。
【図3】仮想化制御装置の記憶媒体に格納されているプログラム及び情報の一例を示す図である。
【図4】第一の実施形態における、仮想化制御装置で管理されるボリュームマッピング情報の一例を示す図である。
【図5】第一の実施形態における、仮想化制御装置で管理される記憶装置状態管理情報の一例を示す図である。
【図6】第一の実施形態における、ホストコンピュータから仮想記憶装置に対するアクセス要求の処理の概要を示す図である。
【図7】第一の実施形態における、記憶装置間でのデータ移行処理の概要を示す図である。
【図8】第一の実施形態における、仮想化制御装置で管理されるボリュームマッピング情報の他の一例を示す図である。
【図9】第一の実施形態における、仮想化制御装置のルーティング処理部が実行する処理の一例を示す図である。
【図10】第一の実施形態における、仮想化制御装置のデータ移行処理部が実行する処理の一例を示す図である。
【図11】第一の実施形態における、仮想化制御装置の記憶装置監視処理部が実行する処理の一例を示す図である。
【図12】第二の実施形態における、仮想化制御装置で管理されるボリュームマッピング情報の一例を示す図である。
【図13】第二の実施形態における、ホストコンピュータから仮想記憶装置に対するアクセス処理の概要を示す図である。
【図14】第二の実施形態における、記憶装置間でのデータ移行処理の概要を示す図である。
【図15】第三の実施形態における、仮想化制御装置で管理されるボリュームマッピング情報の一例を示す図である。
【図16】第三の実施形態における、仮想ボリュームの構成の一例を示す図である。
【図17】第二の実施形態における、計算機システムに仮想化制御装置を導入する場合に実行される処理の一例を示す図である。
【図18】第二の実施形態における、ホストコンピュータが管理するボリューム管理情報の一例を示す図である。
【図19】第四の実施形態における計算機システムの一例を示す図である。
【図20】第四の実施形態における、仮想化制御装置の記憶媒体に格納されているプログラム及び情報の一例を示す図である。
【図21】第四の実施形態における、ホストコンピュータと記憶装置とのアクセス経路のバリエーションを示す図である。
【図22】第四の実施形態における、仮想化制御装置で管理されるボリュームマッピング情報の一例を示す図である。
【図23】第四の実施形態における、仮想化制御装置で管理されるルーティング制御情報の一例を示す図である。
【図24】第四の実施形態における、フレームデータのルーティング処理の一例を示す図である。
【図25】第四の実施形態における、ポート部(In Port)で管理されるボリュームマッピング情報の一例を示す図である。
【図26】第四の実施形態における、ストレージ制御装置で管理されるボリュームマッピング情報の一例を示す図である。
【図27】第四の実施形態における、ポート部(Out Port)で管理されるボリュームマッピング情報の一例を示す図である。
【図28】第四の実施形態における、ポート部(In Port)で管理されるボリュームマッピング情報の一例を示す図である。
【図29】第四の実施形態における、ストレージ制御装置で管理されるボリュームマッピング情報の一例を示す図である。
【図30】第四の実施形態における、ポート部(Out Port)で管理されるボリュームマッピング情報の一例を示す図である。
【符号の説明】
1…ホストコンピュータ
2…仮想化制御装置
3…記憶装置
4…管理装置
5…ネットワーク
20…メイン制御部
501…ルーティング処理部
502…記憶装置監視部
503…データ移行処理部
504…実ルーティング処理部
505…仮想ルーティング処理部
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a method and apparatus for executing data migration processing between a plurality of storage devices. In particular, the present invention relates to a method and apparatus for migrating data between a plurality of storage devices without making a host computer issuing an access request to the storage device aware of data migration processing.
[0002]
[Prior art]
As a data migration control technology, in a storage subsystem where multiple volumes are controlled by a single controller, such as a disk array subsystem, data with a high access frequency is transferred to a volume with a high access speed and data with a low access frequency. Has a technology to migrate to volumes with slow access speeds. Further, in a system in which a volume used by a certain application is provided across a plurality of storage areas controlled by different control devices, by preferentially migrating data in a volume used by a specific application, A technique for realizing efficient data migration is disclosed in Patent Document 1.
[0003]
[Patent Document 1]
US Patent Application Publication No. 2001/0054133
[0004]
[Problems to be solved by the invention]
Data migration in the storage device subsystem is executed by a control device that controls the storage device subsystem, and the control device can hide the data migration processing from the host computer connected to the control device. However, no consideration is given to data migration across storage subsystems. Therefore, when migrating data stored in one storage subsystem to another storage subsystem, the control device informs the host computer that the access destination storage subsystem will change in accordance with the data migration processing. The data migration process cannot be hidden from the host computer. Also, Patent Document 1 does not disclose a technique for hiding the data migration process from the host computer. Accordingly, the host computer needs to interrupt its own processing once in response to the data migration processing and respecify the storage device or volume to be accessed.
[0005]
Considering that corporate data has increased explosively in recent years and demands for 24-hour continuous access to storage devices have increased, data migration processing across multiple storage devices is expected to occur frequently in the future. There is a need for a technique that enables data migration across storage devices without interrupting processing.
[0006]
In addition, when a control device that manages the storage area in the storage device and transfers an access request to the storage area from the host computer is replaced or a new control device is introduced, the host computer has an access destination address. Since it is recognized that the storage area has been changed, the host computer must once interrupt the process and respecify the access target, as in the case where the data migration process is executed between a plurality of storage devices. Note that the term “interruption” as used herein means interruption of normal processing in the host computer due to restart processing of the host computer that occurs for resetting the identification information of the storage device or volume to be accessed.
[0007]
An object of the present invention is to provide a control device and a data migration method capable of executing a data migration process across storage devices without making a host computer aware of it.
[0008]
Another object of the present invention is to provide a control device and a data migration method capable of exchanging the control device and introducing a new control device without making the host computer aware of it.
[0009]
[Means for Solving the Problems]
In the present invention, a virtualization control device connected to a plurality of storage devices controls data migration between the plurality of storage devices. The virtualization control device performs control so that the data migration destination volume can be identified by using the same identification information as the identification information used by the host computer to identify the data migration source volume.
[0010]
In addition, when a virtualization control device is replaced or when a virtualization control device is newly installed, the new virtualization control device is connected to the host computer before the replacement or installation of the virtualization control device. Using the same identification information used to identify the volume, frame transfer is controlled so that the host computer can access the same volume even after the replacement or introduction of the virtualization control device.
[0011]
DETAILED DESCRIPTION OF THE INVENTION
Embodiments of the present invention will be described below. Note that the present invention is not limited thereby.
[First Embodiment] A first embodiment of the present invention will be described with reference to FIGS.
[0012]
FIG. 1 is a diagram showing an example of a computer system to which the present invention is applied. The computer system includes a plurality of host computers 1, a plurality of storage devices 3, a virtualization control device 2 connected to the host computer 1 and the storage device 3, and a management device connected to the virtualization control device 2. 4. The host computer 1 and the storage device 3 are connected to the virtualization control device 2 via the network 5, and the management device 4 is connected to the virtualization control device 2 via the network 6. The protocols used in the network 5 and the network 6 may be the same network protocol or different network protocols. Also, the protocol used in the network 5 is not limited to the same protocol, but is used in the network between the storage device and the virtualization control device and in the network between the host computer and the virtualization control device. The protocol to be performed may be a different network protocol. Further, the storage controller and the host computer may be connected to the virtualization controller using different network protocols.
[0013]
The host computer 1 includes a CPU 10 that executes an application program, a memory 11 that stores the application program, a recording medium 12, and a port 13 that is connected to the network 5 to transmit and receive data.
[0014]
The management device 4 includes a CPU 40 that executes a management program for managing the virtualization control device 2, a memory 41 that stores the management program, a port 43 that is connected to the network 6 and transmits / receives data, and a recording medium 42.
[0015]
The storage device 3 is connected to the network 5 to transmit / receive data, a disk device group 34 including a plurality of disk devices 35, and a disk that performs data transfer processing between the individual disk devices 35. An interface control unit (shown as HDD I / F in FIG. 1) 32, a CPU 30 that controls individual access to the disk device 35 based on an access request from the host computer 1, and the host computer 1 and the disk device 35. A buffer unit 31 for storing data transferred between them.
[0016]
The virtualization control device 2 is a switch that transfers frames transmitted and received between the host computer 1 and the storage device 3. The virtualization control device 2 includes a plurality of ports 23 that perform data transfer processing with the host computer 1 or the storage device 3, a path control unit 22 that controls path selection between the plurality of ports 23, and a management device 4. A management port 25 for performing data transfer processing between Path control unit The main control unit 20 controls the virtualization control device based on data transmitted to and received from the management device 4. The main control unit 20 includes a memory 51 and a recording medium 52 that store programs and information to be described later, and a CPU 50 that executes programs using these information. 1 shows an example in which the CPU 50, the memory 51, and the storage medium 52 included in the path control unit 22 and the main control unit 20 are directly connected by a bus. However, the path control unit 22 and the main control unit 20 are connected to each other. It may be configured to be connected via a bridge.
[0017]
FIG. 1 shows an example in which the host computer 1, the storage device 3, and the management device 4 each have one port. However, the present invention is not limited to this, and it is also possible to have a plurality of ports. Furthermore, since the port 23 of the virtualization controller can support different network protocols, the port 23 can also be used as a management port.
[0018]
The storage device 3 only needs to have at least a port 33 that is connected to the network 5 to transmit and receive data and a storage unit that stores data accessed from the host computer 1, and may be a single disk device, for example. .
[0019]
FIG. 2 shows an example of a program that is stored in the recording medium 42 of the management apparatus 4, read into the memory 41 and executed by the CPU 40, and management information stored in the recording medium 42 of the management apparatus 4.
[0020]
The volume management program 414 reads volume mapping information 515 (to be described later) from the virtualization control device 2 and outputs the volume mapping information 515 to the output device, notifies the administrator of the volume mapping information, and newly registers information and volumes to be registered in the volume mapping information 515. This is a program for executing processing for receiving update information of mapping information from the administrator via the input device and transmitting it to the virtualization control device 2 and setting the information received from the administrator in the volume mapping information 515. The volume mapping management information 411 includes volume mapping information 515 read from the virtualization control device 2, registration information received from the administrator, and update information. The volume management unit 401 is realized by the CPU 40 of the management apparatus 4 executing the volume management program 414 using the volume mapping management information 411.
[0021]
Here, the volume is a storage area managed by individual storage devices (including virtualized storage devices), and a single storage device can also manage a plurality of volumes. Further, the volume managed by the storage device 3 is assumed to be a real volume, and the volume managed by the virtualization control device 2 is assumed to be a virtual volume.
[0022]
The storage device management program 415 reads out storage device state management information 512, which will be described later, from the virtualization control device 2 and outputs it to the output device, notifies the administrator of the state of the storage device, and the storage device state management information from the administrator. This is a program that is executed to receive registration information and update information in 512 and to set such information in the virtualization control device 2. The storage device management information 412 includes storage device state management information 512 received from the virtualization control device 2, registration information received from the administrator, and update information. Note that the storage device management unit 402 is realized by the CPU 40 of the management device 4 executing the storage device management program 415 using the storage device management information 412.
[0023]
The data migration management program 416 generates data migration control information 413 to execute data migration between a plurality of volumes managed by the virtualization control device 2, and virtualizes the data migration request having the data migration control information 413. This program is issued to the device 2 and is executed to receive the result of the data migration processing from the virtualization control device 2 and notify the administrator of this result. Note that the data migration management unit 403 is realized by the CPU 40 of the management apparatus 4 executing the data migration management program 416.
[0024]
FIG. 3 shows a program stored in the recording medium 52 of the virtualization control device 2, read by the memory 51 and executed by the CPU 50, and management information stored in the recording medium 52 of the virtualization control device 2. It is a figure which shows an example.
[0025]
The routing processing unit 501 executes the following two types of routing processing as the routing processing of frame data transmitted and received between the host computer 1 and the storage device 3.
[0026]
The frame data referred to here is the host computer based on access request information transmitted from the host computer 1 to the storage device 3, status information transmitted from the storage device 3 to the host computer 1, and access request information. 1 and all information such as data exchanged between the storage device 3 and the like.
[0027]
First, the actual routing processing unit 504 controls the routing processing of frame data directly transmitted / received between the host computer 1 and the storage device 3 based on the routing information 514 that is connection information of devices connected to the network 5. That is, the actual routing processing unit 504 instructs the path control unit 22 to use a path to be used for frame data transfer. The path control unit 22 transfers frame data based on an instruction from the actual routing processing unit 504. The actual routing processing unit 504 is realized by the CPU 50 of the virtualization control device 2 executing the routing program 516 read into the memory 51 based on the routing information 514.
[0028]
Next, the virtualization routing processing unit (hereinafter referred to as the virtualization processing unit) 505 performs processing described later on the frame data received from the host computer 1 based on the volume mapping information 515 described later and stores it in the storage device 3. In addition, the frame data received from the storage device 3 is processed as described later, and a process of transferring to the host computer 1 is executed. The virtualization processing unit 505 is realized by the CPU 50 of the virtualization control device 2 executing the virtualization routing program 517 read into the memory 51 based on the volume mapping information 515.
[0029]
1 and 2 show a case where the virtualization control device 2 has one main control unit 20 and the main control unit 20 performs routing processing including virtualization processing. However, the present invention is not limited to this. For example, a processor may be provided for each port 23 and the processor may execute the routing process. As a result, the routing process can be performed in parallel for each port, so that the performance of the virtualization control device 2 can be improved. In addition, the routing processing unit can be configured only by hardware.
[0030]
The storage device monitoring unit 502 monitors the state of each storage device 3 targeted by the virtualization control device 2 for virtualization control, holds the monitoring result as storage device state management information 512, and stores the state of the storage device 3. When the change is detected, the management device 4 is notified of a change in state, and the storage device state management information 512 held by itself is updated based on the storage device management information 412 received from the management device 4 To do. The storage device monitoring unit 502 is realized by the CPU 50 of the virtualization control device 2 executing the storage device monitoring program 518.
[0031]
The data migration processing unit 503 stores the data migration control information 413 included in the data migration request received from the management device 4 as the data migration control information 513 in the memory 51 or the storage medium 52 of the virtualization control device 2, and the data migration Based on the control information 513, data migration processing between a plurality of volumes managed by the virtualization control device 2 is executed. The data migration processing unit 503 is realized by the CPU 50 of the virtualization control device 2 executing the data migration processing program 519. The details of the data migration process will be described later.
[0032]
FIG. 4 is a diagram showing an example of the volume mapping information 515 managed by the virtualization control device 2. The volume mapping information 515 is control information indicating mapping between a virtual volume and a real volume. The virtual volume management information 520 includes information for identifying the virtual volume and information indicating the state of the virtual volume. Information for identifying a virtual volume includes a Port ID that has a unique value in the network, a Port Name that has a unique value for each port, a LUN (Logical Unit Number) that is unique information in the device, etc. . The information indicating the status of the virtual volume includes a size indicating the capacity of the virtual volume, status information of the virtual volume, and the like. The real volume management information 521 includes information for identifying the real volume corresponding to the virtual volume and information indicating the status of the real volume. The information for identifying the real volume includes information such as a Port ID having a unique value in the network, a Port Name having a different value for each port, and a LUN having a unique value in the apparatus. The information indicating the status of the real volume includes Size indicating the capacity of the real volume, status information of the real volume, and the like.
[0033]
Information for identifying the virtual volume here In the news A certain Port ID and Port Name is identifier information assigned to a virtual port (hereinafter referred to as a virtual port) of a storage device (hereinafter referred to as a virtual storage device) that the virtualization control device 2 virtually displays to the host computer 1. It is. For example, when the host computer transmits frame data by specifying the port ID of the virtual port and the LUN of the virtual volume, the virtualization processing unit 505 of the virtualization control device 2 actually sets the Port based on the volume mapping information 515. Control is performed to transfer the frame data to a storage device having a real volume corresponding to the virtual volume indicated by the ID and LUN. However, the host computer recognizes that it is accessing the storage device having the port indicated by the Port ID designated by itself.
[0034]
In FIG. 4, the virtual volume identified by LUN = 0 accessed from the virtual port identified by Port ID = V_Pid_1 and Port Name = V_Pname_1 is actually identified by Port ID = P_Pid_1 and Port Name = P_Pname_1. An example of mapping (corresponding to) a real volume identified by LUN = 0 accessed from a port is shown.
[0035]
It is possible for a virtual port to have multiple virtual volumes. In FIG. 4, the virtual port identified by Port ID = V_Pid_2 and Port Name = V_Pname_2 has two virtual volumes with LUN = 0 (5GB) and LUN = 1 (5GB), and Port ID = P_Pid_2, An example is shown in which mapping is performed to a real volume identified by Port Name = P_Pname_2, LUN = 0 (5 GB) and Port ID = P_Pid_1, Port Name = P_Pname_1, LUN = 1 (5 GB).
[0036]
A control example using the status information will be described later.
[0037]
FIG. 5 is a diagram illustrating an example of the storage device state management information 512 managed by the virtualization control device 2. The storage device state management information 512 includes identification information and the like of the storage device detected by the storage device monitoring unit 502 and the real volume managed by this storage device. Specifically, a unique port ID assigned to the storage device port, a port name having a unique value for each port, a node name having a unique value for each storage device, and each of the storage device The storage device state management information 512 includes identification information such as LUN unique to the storage device allocated to the real volume, and real volume status information such as the size of the real volume. In FIG. 5, port ID, port name, node name, LUN, and size information are illustrated as the storage device state management information 512, but the storage device state management information 512 is not limited to this. For example, the port information of the virtualization control device 2 connected to the real volume can be registered as the storage device state management information 512.
[0038]
In FIG. 5, the port identified by Port ID = P_Pid_1, Port Name = P_Pname_1, Node Name = P_Nname_1 is the real volume identified by LUN = 0 (10 GB) and LUN = 1 (5 GB). The port identified by P_Pid_2, Port Name = P_Pname_2, Node Name = P_Nname_2 is identified by the real volume identified by LUN = 0 (5GB), and further identified by Port ID = P_Pid_3, Port Name = P_Pname_3, Node Name = P_Nname_3 Port has a real volume identified by LUN = 1 (10GB).
[0039]
Here, the identification information (LUN) of the real volume and the identification information (Port ID, Port Name, Node Name) of each port having the real volume are entries of the real volume management information 521 of the volume mapping information 515 or routing information. It can be used as 514 entries. Further, it is desirable that the storage device state management information 512 can be set from the management device 4. In the present invention, as described above, the management device 4 can set the storage device state management information 512 by the CPU 40 of the management device 4 executing the storage device management program 415.
[0040]
Further, when a new storage device is connected to the virtualization control device 2, the CPU 50 of the virtualization control device 2 executes the storage device monitoring program 518, so that the newly connected storage device receives the Port ID, Port Name, Node Name, LUN, Size information, etc. are acquired and registered in the storage device state management information 512, and the management device 4 is notified of the detection of a new device. Until the management apparatus 4 executes the volume management program 414 and the management apparatus 4 sets the status information of the virtual volume management information 520 of the volume mapping information 515, the virtualization control apparatus 2 moves to the newly connected apparatus. It is desirable not to execute the routing process (do not register in the entry of the routing information 514).
[0041]
If the connection with the storage device already connected to the virtualization control device 2 is interrupted, or if the virtualization control device 2 detects a failure such as no response from the storage device, the virtualization control The device 2 updates information registered in the storage device state management information 512 and notifies the management device 4 of a change in the state of the storage device. At this time, the virtualization control device 2 refers to the virtual volume management information 520 of the volume mapping information 515, and only when the status information satisfies a certain condition (for example, the status of the device whose status information is set to Active changes It is desirable to notify the change of state).
[0042]
Although omitted in FIG. 5, one storage device may have a plurality of ports.
[0043]
FIG. 6 shows an overview of access request processing when the host computer 1 accesses a storage device (virtual storage device) virtualized by the virtualization control device 2. In FIG. 6, the host computer 1 is a virtual port group identified by Port ID = V_Pid_1 and Port Name = V_Pname_1 among the virtual volume group 60 composed of a plurality of virtual volumes virtualized by the virtualization control device 2. Issue an access request for virtual volume LUN = 0 (10GB).
[0044]
The access request for the virtual volume issued from the host computer 1 is detected by the routing processing unit 501 as an access request for the virtual storage device. Specifically, when the routing processing unit detects that the Port ID included in the access request is included in the virtual volume management information of the volume mapping information 515, it can be understood that the request is an access request to the virtual storage device. Then, the port ID and LUN included in the access request are referred to by the virtualization processing unit 505, and the access request is converted into an access request for the real volume associated with the Port ID and LUN and registered in the volume mapping information 515. After that, the converted access request is issued to the storage device 3. In the conversion of the access request, the Port ID and LUN included in the access request issued by the host computer 1 are associated with the Port ID and LUN, and registered in the volume mapping information 515. This is performed by the virtualization processing unit 505 converting the LUN.
[0045]
Thereafter, a series of processing such as transmission / reception of data between the host computer 1 and the storage device 3 and transmission of status information based on the access request received from the host computer 1 is executed via the virtualization control device 2. Note that, in the data transmission / reception process or the status information transmission process, frame data conversion processing is also performed by the virtualization processing unit 505 for data transmitted / received between the host computer 1 and the storage device 3. However, the conversion processing referred to here is not conversion of the data itself, but transmission destination identifier information (D_ID), transmission source identifier information (S_ID) that is information added to the data, and CRC (Cyclic Redundancy) that is an error detection code. Check). For example, when the virtualization control device 2 receives an access request in which D_ID = V_Pid_1 is set from the host computer 1, the routing processing unit 501 converts D_ID to P_Pid_1 using the volume mapping information, and newly generates a CRC The frame data is added to the frame data, and the converted frame data is transmitted to the storage device 3. Conversely, when the virtualization control device 2 receives frame data in which S_ID = P_Pid_1 is set from the storage device 3, the routing processing unit 501 converts S_ID into V_Pid_1 and newly generates a CRC in the frame data. Instead of CRC, frame data is transmitted to the host computer.
[0046]
FIG. 7 shows the mapping between the virtual volume and the real volume by changing the real volume of the storage device 3 associated with the virtual volume provided to the host computer by the virtualization control device 2 to a real volume of another different storage device. It is a figure which shows the outline | summary of the process at the time of changing. At this time, data migration processing is executed from the old real volume that has been associated with the virtual volume until now to the new real volume that is newly associated with the virtual volume.
[0047]
FIG. 7 shows the data stored in the real volume identified by Port ID = P_Pid_1, Port Name = P_Pname_1, LUN = 0, and the real volume identified by Port ID = P_Pid_3, Port Name = P_Pname_3, LUN = 1 4 shows processing when a request to store (migrate) is generated in response to some condition and an administrator issues a data migration request to the virtualization control device 2 via the management device 4. The data migration request issued from the management apparatus has data migration control information 413 including information (Port ID, Port Name, LUN, etc.) for identifying the data migration source and data migration destination real volumes.
[0048]
In the virtualization control device 2 that has received the data migration request, the data migration processing unit 503 of the main control unit 20 analyzes the data migration control information, and executes data migration processing based on the analysis result. In other words, in the example shown in FIG. 7, the control of the data migration processing unit 503 causes the virtualization control device 2 to change the storage device 3 having a real volume identified by Port ID = P_Pid_1, Port Name = P_Pname_1, LUN = 0 On the other hand, a data transfer (copy) request is issued. The data migration request includes information for identifying the data migration destination real volume (in the example shown in FIG. 7, Port ID = P_Pid_3, Port Name = P_Pname_3, LUN = 1). The storage device that has the port identified by P_Pid_1 that received the data migration request uses the real data identified by P_Pid_3, Port Name = P_Pname_3, and LUN = 1 as the data stored in the real volume identified by LUN = 0. Send to the volume. The storage device having the port identified by P_Pid_3 stores the frame data received from the storage device having the port identified by P_Pid_1 in the real volume identified by LUN = 1. As described above, the data migration process is realized by copying data between the storage device having the port identified by P_Pid_1 and the storage device having the port identified by P_Pid_3.
[0049]
After the data migration processing is completed, the data migration processing unit 503 registers the data migration destination real volume in the volume mapping information 515, and updates and registers the virtual volume status information in the virtual volume management information 520. FIG. 8 shows an example of the volume mapping information 515 after such information has been updated and registered.
[0050]
FIG. 8 shows that the real volume mapped (associated) with the virtual volume identified by Port ID = V_Pid_1, Port Name = V_Pname_1, LUN = 0 with the data migration shown in FIG. From the real volume identified by P_Pid_1, Port Name = P_Pname_1, LUN = 0 (data migration source real volume) to the real volume identified by Port ID = P_Pid_3, Port Name = P_Pname_3, LUN = 1 (data migration destination It is a figure which shows an example of the volume mapping information 515 after a change at the time of changing to (real volume).
[0051]
In FIG. 8, Port ID = P_Pid_1, Port Name = P_Pname_1, LUN = 0 is identified as a real volume mapped (corresponding) to a virtual volume identified by Port ID = V_Pid_1, Port Name = V_Pname_1, LUN = 0 Registered real volume (data migration source real volume) and a real volume (data migration destination real volume) identified by Port ID = P_Pid_3, Port Name = P_Pname_3, and LUN = 1. Further, the status information of the virtual volume management information 520 is that the real volume identified by Port ID = P_Pid_3, Port Name = P_Pname_3, LUN = 1 is Active, and identified by Port ID = P_Pid_1, Port Name = P_Pname_1, LUN = 0 This indicates that the actual volume to be used is Inactive. The access request for the virtual volume is executed for the real volume whose status information is active. For example, when the routing processing unit transfers an access request or frame data according to the volume mapping information 515 shown in FIG. 8, an access request for the virtual volume identified by Port ID = V_Pid_1, Port Name = V_Pname_1, LUN = 0, or this access The data transfer process based on the request is executed for the real volume recognized by Port ID = P_Pid_3, Port Name = P_Pname_3, and LUN = 1 based on the status information of the virtual volume management information 520.
[0052]
As described above, when data in a real volume of a certain storage device is migrated to a real volume of another storage device, in this embodiment, the mapping (correspondence) between the virtual volume and the real volume is It is changed by the data migration processing unit 503. However, the identification information used by the host computer to access the volume is the identification information of the virtual volume (Port ID of the virtual port, Port Name, and LUN of the virtual volume), and this identification information is subjected to data migration. It doesn't change. For example, consider the case where the data migration shown in FIG. 7 is executed. When the host computer issues an access request for the virtual volume identified by Port ID = V_Pid_1, Port Name = V_Pname_1, and LUN = 0, the virtualization processing unit 505 stores the volume mapping information 515 shown in FIG. 4 before data migration. Based on this, the access request is transmitted to the real volume identified by Port ID = P_Pid_1, Port Name = P_Pname_1, and LUN = 0. After the data migration, the virtualization processing unit 505 transmits this access request to the real volume recognized by Port ID = P_Pid_3, Port Name = P_Pname_3, and LUN = 1 based on the volume mapping information 515 shown in FIG. To do. Therefore, according to the present embodiment, data migration between a plurality of storage devices can be executed without changing the volume identification information that the host computer recognizes as an access target.
[0053]
In the volume mapping information 515 shown in FIG. 8, information for identifying an incomplete command issued to the real volume is also registered. In FIG. 8, the data migration source real volume identified by P_Pid_1, P_Pname_1, and LUN = 0 includes C_id_0, C_id_1, and C_id_2 as unfinished commands, and the data migration destination identified by P_Pid_3, P_Pname_3, and LUN = 1 In the real volume, an uncompleted command (after the data migration processing unit 503 has transmitted a data migration request to the data migration source real volume, is the data migration target received by the virtualization control device 2 from the host computer. C_id_3 and C_id_4 are registered as commands to the virtual volume). The command is registered in the volume mapping information by the virtualization control device 2 when the virtualization control device 2 receives the command from the host computer, and the virtualization control device 2 terminates the process according to the command from the storage device. It is deleted when an end status to be notified is received. However, the virtualization control device 2 sends a command for the data migration target virtual volume received from the host computer 1 to the data migration destination real volume entry when the data migration request is transmitted to the data migration source real volume. Register with. If the virtualization control device 2 receives a data write command completion status from the data migration source storage device 3 after transmitting a data migration request to the data migration source real volume, the virtualization control device 2 registers an incomplete command. Is set in the volume mapping information 515 only that the command is completed. Although omitted in FIG. 8, the volume mapping information 515 can hold command information in addition to information for identifying an incomplete command.
[0054]
7 and 8 show an example in which a volume is used as a data migration unit and data migration is executed in volume units, the present invention is not limited to this. If the volume mapping information 515 holds the start / end address information of the data migration source storage device and the start / end address information of the data migration destination storage device, the data migration can be executed in units of block addresses. .
7 and 8 show an example in which data migration is executed by the data migration processing unit 503 issuing a data migration request to one storage device, but the present invention is not limited to this. . For example, the data migration processing unit 503 can execute the data migration by issuing a read request to the data migration source storage device and a write request to the data migration destination storage device.
[0055]
The status information of the virtual volume management information 520 is preferably set / updated by the volume management unit 401 of the management apparatus 4.
[0056]
FIG. 9 is a diagram illustrating an example of a frame data transfer process executed by the routing processing unit 501 of the virtualization control device 2. This process is started when the virtual storage device 2 receives frame data from the host computer 1 or the storage device 3 (100). The routing processing unit 501 that has received the frame data converts the transmission source / destination identification information (such as the transmission source Port ID and the transmission destination Port ID) of the frame data included in the frame data, and the frame data if necessary. It is determined whether or not virtualization processing is necessary using the type information of the included frame data and various information (such as the destination LUN) included in the payload of the frame (101). Specifically, when the destination Port ID or LUN is registered in the virtual volume management information 520 of the volume mapping information 515, it is determined that the frame data is frame data that requires virtualization processing. The
[0057]
When virtualization processing is necessary, the virtualization processing unit 505 executes the following virtualization processing (102).
1. When the received frame data is frame data from the host computer to the virtual storage device
The virtualization processing unit 505 detects a storage device corresponding to the virtual storage device indicated by the transmission destination identification information in the frame data based on the volume mapping information 515. Then, in order to convert the frame data received from the host computer into frame data addressed to this storage device, the transmission destination identification information (D_ID) of the frame data included in the frame data is converted to the Port ID of this storage device. Also, the CRC in the received frame data is converted into a CRC based on the new transmission destination identification information. The converted frame data is transmitted to the storage device 3 through the port 23.
2. When the received frame data is frame data from the storage device mapped (associated) to the virtual storage device to the host computer
The virtualization processing unit 505 detects a virtual storage device corresponding to the storage device that is the frame data transmission source based on the volume mapping information 515. Then, in order to convert the frame data received from the storage device into frame data from the virtual storage device, the transmission source identification information (S_ID) in the frame data is replaced with the port ID of the virtual storage device. Also, the CRC in the frame data is replaced with a CRC based on the new transmission source identification information. The frame data in which the transmission source identification information and the CRC are replaced is transmitted to the host computer 1 through the port 23.
[0058]
In the determination of the necessity of the virtualization process shown in FIG. 9 (101), when the routing processing unit 501 determines that the virtualization process is unnecessary, the actual routing processing unit 504 routes the received frame data based on the routing information 514. The process is executed (103).
[0059]
FIG. 10 is a diagram illustrating an example of data migration processing executed by the data migration processing unit 503 of the virtualization control device 2.
[0060]
The data migration process is started when the virtualization control device 2 receives a data migration request from the management device 4 (110). The data migration processing unit 503 that has received the data migration request generates data migration control information 513 based on information indicating the data migration source and the data migration destination real volume included in the data migration request. The data migration control information includes at least information (Port ID, LUN, etc.) for identifying the data migration source and data migration destination real volumes. The data migration processing unit 503 issues an access request (data migration request) to the storage device 3 having the data migration source real volume based on the data migration control information 513 (111).
[0061]
After the data migration request is issued, the data migration processing unit 503 waits to receive an end report from each storage device 3 that issued the access request (112). Then, the data migration processing unit 503 confirms whether the termination reports from the storage device 3 that issued the data migration request are all termination reports that notify normal termination (113). When the data migration processing unit 503 receives an end report notifying abnormal termination, the data migration processing unit 503 individually accesses an access request (data migration request) to the storage device that issued the completion report. ) Issuance processing (111) to completion report confirmation processing (113) is preferably re-executed.
[0062]
When the data migration processing unit 503 receives an end report indicating normal termination from all of the data migration request issue destination storage devices 3, the data migration processing unit 503 stores the real volume of the data migration destination in the virtual volume management information 520. At the same time, the status information of the virtual volume management information is updated (114), and the end of the data migration process is reported to the management apparatus 4 (115).
[0063]
In the data migration process shown in FIG. 10, the status information of the virtual volume management information 520 is obtained when the data migration source storage device 3 that receives the data migration request from the virtualization control device 2 has the following functions. Is updated, it is guaranteed that all access requests to the migration source real volume have been completed.
[0064]
When the data migration source storage device 3 receives a write command from the host computer 1 during the data migration process, the data migration source storage device 3 writes the data to the storage medium 35 in accordance with the write command and also stores the write data temporarily ( The written write data is stored in the save volume. The save volume is a storage area in the storage medium that the storage device 3 has. Then, as part of the data migration processing, the data migration source storage device 3 transmits the data stored in the save volume to the data migration destination storage device 3. Therefore, when the data migration source storage device 3 sends an end report to the data migration processing unit 503 of the virtualization control device 2, there is no incomplete command for the data migration source real volume, and the data migration The data changed by the write process executed during the process has already been transmitted to the data migration destination storage device. For this reason, when the data migration processing unit 503 updates the virtual volume management information 520, it is guaranteed that all access requests to the data migration source real volume have been processed. Therefore, data consistency can be ensured when data is migrated between real volumes and the real volume mapped to the virtual volume is changed from the real volume of the data migration source to the real volume of the data migration destination.
[0065]
The virtualization control device that controls data migration processing between a plurality of storage devices by using the data migration processing described above reduces the processing load required for the data migration processing by utilizing the functions of individual storage devices. be able to.
[0066]
As another method for guaranteeing data consistency, the following method can be used. The volume mapping information 515 of the virtualization control device 2 has an entry for registering the received command for each real volume. Each time the routing processing unit 501 of the virtualization control device 2 receives a command addressed to the storage device 3 from the host computer, it registers the contents of the command in the entry corresponding to the real volume to which this command is transferred. In addition, when the virtualization control device 2 receives a process end report corresponding to the command from the storage device, the routing processing unit 501 deletes the command registered in the volume mapping information 515. In this way, after configuring the volume mapping information 515 so that the virtualization control device 2 can grasp the presence of an incomplete command, the data migration processing unit 503 of the virtualization control device 2 sends a data migration request to the storage device 3. , The routing processing unit 501 of the virtualization control device 2 that has received a command for the virtual volume subject to data migration from the host computer 1 temporarily stores this command in the storage medium 52 of the virtualization control device 2. Store. When the virtualization control device 2 receives a data migration completion report from the data migration source storage device 3, the routing processing unit of the virtualization control device 2 replaces the command stored in the storage medium 52 with the data Transfer to the migration destination real volume. By using this method, it is possible to shorten the time from when the virtualization control device 2 transmits a data migration request to the data migration source storage device 3 until the completion report is received from the storage device 3.
[0067]
As described above, after the data migration processing unit 503 updates the status information of the virtual volume management information 520, an access request to the virtual volume or transfer of data based on the access request is performed as status information of the virtual volume management information 520. Based on the active volume.
[0068]
As described above, when data migration is performed between storage devices targeted for virtualization control, the virtual volume recognized by the host computer 1 as an access target by the virtualization control device 2 updating the volume mapping information 515. The real volume mapped to the virtual volume can be dynamically changed without changing the identification information. Therefore, the host computer 1 can continue the access processing to the virtual volume without being aware that the data migration has been executed between the storage devices (real volumes).
[0069]
By the way, in the above-described embodiment, data consistency (when the virtual volume management information 520 is updated, the data before the change is used by using the function of the storage device 3 (data migration source) that has received the data migration request from the virtualization control device 2. All access requests to the real volume have been completed). However, the present invention is not limited to this.
[0070]
Hereinafter, as another variation of the data migration processing, a method for detecting that all access requests to the real volume before the change have been completed using only the function of the virtualization control device 2 will be described.
[0071]
In this method, the volume mapping information 515 of the virtualization control device 2 has an entry for registering the received command for each real volume. Each time the virtualization control device 2 receives a command addressed to a virtual volume or real volume from the host computer, it registers the contents of the command in the entry corresponding to the real volume to which this command is transferred. Further, when the virtualization control device 2 receives the end status of the processing corresponding to the command from the storage device, the command registered in the volume mapping information 515 is deleted. It should be noted that the command itself registered in the entry is held in the storage medium 52 by the virtualization control device 2.
[0072]
The virtualization control device 2 registers the command for the data migration target virtual volume received from the host computer 1 in the entry corresponding to the real volume of the data migration destination when the data migration request is transmitted to the storage device 3. To do. Furthermore, if the virtualization control device 2 detects a data write command completion status report from the data migration source storage device 3 after sending the data migration request, it deletes the command registered in the volume mapping information. Without registering, only the processing for the command is registered in the volume mapping information.
[0073]
The virtualization control device 2 uses the condition that there are no unfinished commands for the real volume of the data migration source (for all commands registered in the volume mapping information 515 in association with the real volume of the data migration source. Data write command (information indicating completion is registered in the volume mapping information 515) that has been temporarily stored in the virtualization control device 2 (provided that information indicating processing has been registered) Command), data update processing is executed between the data migration source real volume and the data migration destination real volume.
That is, since the data update executed in the data migration source real volume based on the write command after the data migration request is transmitted is reflected in the data migration destination real volume, the virtualization control device 2 The data migration source and the data migration destination storage device are controlled so that the data updated in the real volume is written to the data migration destination real volume.
[0074]
Furthermore, the virtualization control device 2 receives the data migration request registered in the volume mapping information 515 when the data update processing is completed between the data migration source real volume and the data migration destination real volume. The command for the virtual volume that has been sent is transmitted to the real volume of the data migration destination.
[0075]
In the data migration process, the virtualization control device 2 may monitor the processing state of the data write command. For example, if the virtualization control device 2 has not yet executed the write process based on the write command issued to the data migration source real volume before the data migration request is issued (data migration) If the write data transfer based on the write command between the original storage device and the virtualization control device 2 has not been started), an abort process of the write process is executed for the data migration source. That is, the virtualization control device 2 issues a request for canceling the write command issued to the real volume of the data migration source to this real volume, and the same write command as the canceled write command is migrated to the data. Issued to the data migration destination real volume after processing is complete. With such processing, data migration processing with low overhead can be realized.
[0076]
With the above processing, even when the real volume mapped to the virtual volume is changed, data consistency can be guaranteed between the real volume before the change and the real volume after the change.
[0077]
FIG. 11 is a diagram illustrating an example of a storage device connection state monitoring process executed by the storage device monitoring processing unit 502 of the virtualization control device 2. The storage device monitoring processing unit 502 of the virtualization control device 2 monitors the connection state of the storage device connected to the port 23, and starts the processing shown in FIG. 11 when a change in the connection state is detected (120).
[0078]
Each storage device 3 connected to the virtualization control device 2 stores software for notifying the virtualization control device of its own state in a memory included in the storage device 3. When this software is executed by the CPU 30 of the storage device, the storage device stores the Node Name, Port Name, Port ID of the storage device, the LUN of the real volume that the storage device has in the storage device monitoring processing unit 502 of the virtualization control device, Send management information such as size. Therefore, the storage device monitoring processor 502 can detect the connection state from the management information received from the storage device. In addition, the virtualization control device 2 can detect when a storage device is connected to the port 23, and can also detect when a storage device is disconnected from the port 23. Can do. Therefore, the storage device monitoring processor 502 can also detect a change in the connection state by detecting the connection state between the port and the storage device itself.
[0079]
The storage device monitoring unit 502 that has detected the change in the connection state first determines whether the change in the connection state is due to the addition of a new storage device, or other changes, for example, the connection between the port 23 and the storage device is disconnected. It is discriminated whether it is caused by the operation (121).
[0080]
When a new storage device is added, the storage device monitoring unit 502 uses this storage device as node identification information of the storage device, Node Name (unique for each device) information, Port ID (unique in the network) information, Port Information such as LUN (Logical Unit Number: unique within the device) information is acquired as Name (unique for each port) information, and further as management information for the real volume managed by the storage device. Then, the storage device monitoring unit 502 determines whether the node name that is unique information for each storage device and the port name that is unique identifier information for the port of the storage device have already been registered in the storage device state management information 512. (122), and the following processing is executed based on the determination result.
[0081]
If the acquired Node Name or Port Name is already registered in the storage device state management information 512, the storage device monitoring unit 502 reports to the management device 4 that the registered storage device is connected (123 ), A series of storage device monitoring processing ends. Note that if the management device 4 has already registered the port ID (unique in the network) information associated with the node name and port name acquired from the storage device in the storage device state management information 512, the virtualization control device 2 preferably sets this registered Port ID in the storage device. If the port ID is not registered, the virtualization control device assigns the port ID to the storage device and sets the port ID in the storage device, registers the port ID set in the storage device in the storage device state management information 512, and It is desirable to report this Port ID to the management apparatus 4. Further, when the management information of the real volume acquired by the storage device monitoring processing unit 502 from the storage device and the management information registered in the storage device state management information 512 are different, the storage device monitoring unit 502 displays the storage device state management information. It is desirable to update 512 using the management information obtained and report it to the management device 4.
[0082]
When the node name and port name information acquired by the storage device monitoring processing unit 502 from the storage device is not registered in the storage device state management information 512, the storage device monitoring processing unit 502 uses the acquired information as the storage device state management information 512. (124), and reports to the management device 4 (123), and the series of storage device monitoring processing ends.
[0083]
In step 121, when the storage device monitoring unit 502 determines that the connection state changes due to other than the addition of a new storage device (for example, deletion of the storage device), the storage device monitoring unit 502 determines that the connection state is It is determined whether or not the changed storage device is the target of virtualization control (125), and the following processing is executed based on the determination result.
[0084]
If the storage device is a virtualization control target, the storage device monitoring unit 502 reports the detected change in the connection state to the management device 4 (123), and ends the series of storage device monitoring processing. If the storage device is not subject to virtualization control, the storage device monitoring unit 502 performs processing based on the network protocol specification (for example, notification of RSCN (Registered State Change Notification) in Fiber Channel) ( 126), a series of storage device monitoring processing ends.
[0085]
With the above processing, for each storage device 3 connected to the virtualization control device 2, the virtualization control device 2 monitors the connection state, and controls to notify the management device of the change when the connection state changes. be able to. Further, for each storage device 3 connected to the virtualization control device 2, the connection state change notification can be controlled based on whether or not the storage device 3 is a virtualization control target.
[Second Embodiment] (Identification of Storage Device Using Personal Information)
In the first embodiment, Port ID and Port Name are used as information for identifying the port 33 of the storage device 3. However, the present invention is not limited to this, and other information may be used as long as the information can identify the port 33 of the storage device 3. In the first embodiment, the node name is used as information for identifying the storage device 3, but other information may be used as long as the information can identify the storage device 3. For example, as information for identifying the storage device 3, identifier information used on the Device Identification page (83h) of Vital product data defined by SCSI (Small Computer System Interface) can also be used. Vendor-specific identifier information (hereinafter, personal information) can also be used as information for identifying an arbitrary volume.
[0086]
Hereinafter, a data migration method in the case where a real volume of the storage device 3 or a virtual volume provided to the host computer by the virtualization control device is identified by personal information will be described with reference to FIGS.
[0087]
FIG. 12 is a diagram showing an example of the volume mapping information 515 having an entry for registering personal information. FIG. 12 is an example in which each real volume identified by P_Pid_1 (LUN = 0/1), P_Pid_2 (LUN = 0), and P_Pid_3 (LUN = 0) holds personal information, and the virtual volume is also a real volume. Similarly, personal information is held.
[0088]
Here, the personal information attached to the virtual volume matches the personal information “BBB_01” of the corresponding real volume, such as the personal information “DDD_01” attached to the virtual volume identified by V_Pid_2 (LUN = 0). There is no need. The personal information assigned to the virtual volume may be generated by the virtualization control device 2 and registered in the volume mapping information 515 as information for identifying the virtual volume. Even when the real volume does not have personal information, the virtualization control device 2 can generate personal information for the virtual volume and register it in the volume mapping information 515. The same personal information as the personal information “AAA_00” of the corresponding real volume can be assigned to the virtual volume, such as the personal information “AAA_00” attached to the virtual volume identified by V_Pid_2 (LUN = 1). .
[0089]
Further, the personal information attached to the virtual volume does not need to be changed even if the real volume associated with the virtual volume is changed and data migration is executed. Therefore, for example, the personal information “AAA_01” attached to V_Pid_1 (LUN = 0, Active) does not match the personal information “CCC_01” of the corresponding real volume, but the personal information “AAA_01” of the real volume before data migration "Is consistent. This is because the virtual volume identified by V_Pid_1 (LUN = 0, Active) has the same personal information as the corresponding real volume before data migration, and data migration without changing personal information after data migration This is because the same personal information as the original real volume is taken over.
[0090]
FIG. 13 shows an example of processing executed when the host computer 1 that identifies a volume using personal information accesses the volume via the virtualization control device 2.
[0091]
The host computer 1 in the second embodiment further includes a storage device identification processing unit 15 in addition to the configuration in the first embodiment. The storage device identification processing unit 15 is realized by the CPU 10 executing a program stored in the memory 11 of the host computer, and identifies the volume and storage device accessed by the host computer using personal information. That is, when accessing the storage device, the storage device identification processing unit 15 first provides personal information for identifying a real volume in the storage device to each storage device connected to the host computer via the network. Request to send and receive personal information from each storage device. Then, the storage device identification processing unit 15 collates the personal information of the access target real volume stored in the memory 11 of the host computer with the personal information received from each storage device. The storage device identification processing unit 15 determines that the storage device that has transmitted the same personal information as the personal information of the real volume to be accessed is the access target storage device. When the storage device to be accessed is specified by the above storage device identification processing, the host computer issues an access request to the specified storage device.
[0092]
FIG. 13 shows an example in which the host computer 1 accesses the real volume identified by the personal information “AAA — 01”.
[0093]
First, consider a case where the host computer 1 is connected to the storage device 3 without going through the virtualization control device 2. In FIG. 13, the real volume having the personal information “AAA — 01” can be accessed from the port of the storage device 3 identified by Port ID = P_Pid_1 and Port Name = P_Pname_1. Accordingly, the storage device identification processing unit 14 receives the personal information “AAA — 01” from the storage device 3 having this port, and specifies this storage device 3 as an access target. Then, when the personal computer “AAA_01” is received, the host computer uses the source address information (Port ID = P_Pid_1) and real volume identification information (LUN = 0) included in the received frame. An access request is issued to the storage device 3. Thereafter, transmission of data from the host computer to the storage device based on the access request is performed by a frame having identification information of Port ID = P_Pid_1 and LUN = 0.
[0094]
Next, as shown in FIG. 13, a case is considered in which the host computer 1 and the storage device 3 are connected via the virtualization control device 2 and the storage device 3 is a virtualization control target. The virtualization processing unit 505 of the virtualization control device 2 assigns a virtual volume to the real volume of the storage device 3 (registers the identification information of the virtual volume in association with the real volume in the volume mapping information 515), and the real volume The same personal information as the personal information “AAA — 01” is set in the volume mapping information 515 as the personal information of the virtual volume.
[0095]
If the storage device identification processing unit 15 of the host computer 1 requests the device connected via the network to transmit personal information by executing the processing related to the virtualization processing unit 505, the virtualization control device 2 Transmits the personal information “AAA — 01” to the host computer 1. Therefore, when the storage device identification processing unit 15 of the host computer receives the personal information “AAA_01” from the virtualization control device 2, the address information (Port ID = V_Pid_1) of the transmission source included in the received frame and the virtual volume The virtual volume of the virtual storage device identified by the identification information (LUN = 0) is determined as the access target volume. Then, the host computer transmits an access request and data to the virtual volume to be accessed by transmitting a frame having identification information of Port ID = V_Pid_1 and LUN = 0. The frame having the identification information of Port ID = V_Pid_1 and LUN = 0 is converted into a frame addressed to the real volume identified by Port ID = P_Pid_1 and LUN = 0 by the virtualization routing processing unit 505 of the virtualization control device 2. Then, the data is transmitted toward the storage device 3 having the port identified by Port ID = P_Pid_1. Note that the processing after the host computer detects (discriminates) the storage device to be accessed is the same as in the first embodiment, and therefore detailed description thereof is omitted.
[0096]
As described above, the storage device identification processing unit 15 of the host computer 1 allows the Port ID = V_Pid_1 and Port Name = V_Pname_1 even when the storage device 3 is placed under the virtualization control target of the virtualization control device 2. Using the personal information “AAA — 01” set in the virtual volume of the virtual port identified in (1), it is possible to detect the storage device or volume to be accessed.
[0097]
In FIG. 13, even if a switch that performs only routing processing (a switch that does not include the virtual routing processing unit 505) is interposed between the host computer 1 and the storage device 3, The host computer can recognize the virtual volume as the access target volume, and the virtualization control device 2 can transfer the frame data from the host computer to the real volume associated with the virtual volume.
[0098]
In FIG. 13, the Port ID (P_Pid_1) corresponding to the real volume and the Port ID (V_Pid_1) corresponding to the virtual volume have different values. However, the present invention is not limited to this. Since the port ID of the virtual port is information that can be assigned by the virtualization control device 2, for example, the port ID corresponding to the virtual volume is assigned to the actual volume corresponding to the virtual volume. It can also be set to have the same value as the Port ID of the real port used to access the volume (ie Port ID = P_Pid_1).
[0099]
FIG. 14 is a diagram illustrating a control example of personal information when data migration is performed between storage devices that are virtualization control targets.
[0100]
FIG. 14 shows a case where data stored in the real volume identified by Port ID = P_Pid_1 and personal information “AAA_01” is migrated to the real volume identified by Port ID = P_Pid_3 and personal information “CCC_01”. ing. In FIG. 14, the same information (AAA_01) as the personal information of the real volume associated with the virtual volume is used as the personal information of the virtual volume. When the data migration is executed, the virtualization processing unit 505 of the virtualization control device 2 changes the personal information of the virtual volume even if the real volume associated with the virtual volume is changed by the data migration. Instead, the personal information “AAA — 01” of the real volume of the data migration source is taken over as the virtual volume personal information.
[0101]
Even if the host computer 1 uses the personal information to identify the volume by taking over the personal information set in the virtual volume before the data migration processing after the above processing, the data migration between the storage devices. The process can be concealed from the host computer, and the host computer can identify the access destination volume after the data migration using the identification information of the access destination volume used by the host computer before the data migration. . As a result, even if a data migration process is executed between storage devices, the host computer can continue the process without interrupting the process being executed by the host computer. The processing other than the personal information takeover processing set in the virtual volume is the same as that in the first embodiment, and a description thereof will be omitted.
[0102]
Furthermore, if the personal information set in the virtual volume can be transferred between a plurality of virtualization control devices, when the host computer 1 uses the personal information to identify the volume, the virtualization control device must be replaced. Can be hidden from the host computer. As a result, the host computer can continue the processing executed by the host computer without interruption. The virtual volume personal information is notified as part of the volume mapping information 515 by the routing processing unit 501 of the virtualization control device 2 to the volume management unit 401 of the management device 4 and stored as volume mapping management information 411 in the management device 4. ing. Therefore, when the virtualization control device is replaced, the volume management unit 401 of the management device 4 notifies the new virtualization control device 2 of the volume mapping management information 411 of the old virtualization control device 2, and If this is set in the volume mapping information 515 of the new virtualization control device 2, personal information can be taken over between a plurality of virtualization control devices.
[0103]
When exchanging the virtualization control device, it is desirable to configure so that the identifier information of the virtual port managed by the virtualization control device can be taken over by the virtualization control device after the replacement. Also, the virtualization control device 2 does not change the personal information set in the virtual volume after the data migration processing, and whether or not to take over the previous personal information (uses the personal information of the data migration source) or a new one It is desirable that the administrator can set the personal information in the virtualization control device 2 via the management device 4.
[0104]
In the second embodiment, the storage device 3 and the virtualization control device 2 hold personal information for each volume (that is, personal information is assigned for each volume). However, the present invention is not limited to this. Absent. For example, the storage device 3 or the virtualization control device 2 can hold personal information in units of storage devices. Furthermore, in the second embodiment, the port is identified from the Port ID, Port Name, and personal information. However, the present invention is not limited to this. Any information may be used as long as the method can uniquely identify the port, and the port may be identified by a combination of arbitrary information among the identification information.
[0105]
FIG. 17 shows the configuration of a computer system when the host computer and the storage device each have a plurality of ports. The host computer 1 shown in FIG. 17 has a configuration in which the host computer 1 shown in FIG. 13 further includes a plurality of ports 13 (Hid_1, Hid_2). In addition, the storage device 3 illustrated in FIG. 17 has a configuration in which the storage device 3 illustrated in FIG. 13 is further provided with a plurality of ports 33 (P_Pid1, P_Pid2).
[0106]
Since the storage device has a plurality of ports, when the storage device identification processing unit 15 of the host computer 1 requests the storage device 3 to transmit personal information, personal information having the same value is transmitted from the plurality of ports. . Therefore, the storage device identification information processing unit 15 stores and manages a plurality of ports that have transmitted the same personal information in the memory 11 as volume management information.
[0107]
FIG. 18 is a diagram showing an example of volume management information stored in the memory 11 of the host computer 1. The volume management information is created by the storage device identification processing unit 15 when the host computer receives personal information from each storage device. The volume management information is created for each storage device, the volume number of the real volume that the storage device has, the personal information of the real volume, the path used when accessing the real volume from the host computer 1, and the status information of the real volume Is registered. Here, two pieces of information, a primary path and a secondary path, are registered as the path information. The host computer normally uses the primary path to access the real volume, but if the primary path fails or the primary path is disconnected, the host computer switches the path and uses the secondary path to the real volume. Can be accessed.
[0108]
Referring to FIG. 17, in a computer system in which a host computer and a storage device are connected without going through a virtualization control device, processing executed by the host computer is not interrupted between the host computer and the storage device. Processing executed to connect the virtualization control device and change the computer system so that the virtualization control device virtualizes and provides the real volume of the storage device to the host computer will be described.
[0109]
First, the port Hid_1 of the host computer 1 and the port P_Pid_1 of the storage device 3 are connected by a path 5-a, and the port Hid_2 of the host computer and the port P_Pid_2 of the storage device 1 are connected by a path 5-b think of. 18 is stored in the memory 11 of the host computer 1. When the host computer accesses the real volume identified by the personal information AAA_01 according to the volume management information, the port Hid_1 and the port P_Pid_1 are stored. Is used, and the primary path 5-b passing through the port Hid_2 and the port P_Pid_2 is used when accessing the real volume identified by the personal information AAA_02.
[0110]
Next, processing executed when the virtualization control device 2 is introduced by cutting the path 5-b in the computer system as described above will be described.
1. Since the path 5-b is disconnected, the host computer needs to change the path used to access the real volume identified by AAA_02 from the path 5-b to the path 5-a. Therefore, the storage device identification processing unit 15 registers Inactive in the status information of this real volume in the volume management information in order to temporarily stop access to the real volume identified by AAA_02. Then, under the control of the CPU 10 of the host computer, the path is changed so as to access the real volume identified by AAA_02 using the path 5-a registered as a secondary path in the volume management information. After the path change, the storage device identification processing unit 15 returns the status information of the real volume identified by AAA_02 in the volume management information to active. The host computer receives an instruction from the user of the host computer via an input device such as a keyboard, and the CPU 10 executes the above processing based on this instruction. Further, the storage device identification processing unit 15 may automatically execute the processing. That is, the storage device processing unit 15 may automatically change from the primary path to the secondary path with reference to the volume management information.
2. Next, the path 5-b is disconnected, and the virtualization control device 2 is connected between the host computer 1 and the storage device 3. Specifically, port Hid_2 of the host computer and port 23 of the virtualization control device 2 are connected by a path 5-c, and port P_Pid_2 of the storage device 3 and port 23 of the virtualization control device 2 are connected by a path 5-d. .
3. When the virtualization controller 2 is connected to the computer system, the volume mapping information 515 of the virtualization controller is set. Specifically, since the virtualization processing unit 505 of the virtualization control device 2 sets a virtual volume corresponding to the real volume identified by AAA_02 of the storage device 3, the virtual port ID is associated with this real volume. (Port ID = V_Pid_1) and virtual Port Name (Pname = V_Pname_1) are registered in the volume mapping information 515. In addition, the virtual processing unit 505 assigns the virtual volume the same personal information as the personal information AAA_02 of the corresponding real volume and registers it in the volume mapping information 515. The volume mapping information is set according to the input information received from the user by the management apparatus 4. That is, the information received from the user by the management information 4 is transmitted to the virtualization processing unit 505 of the virtualization control device 2 under the control of the volume management unit 401, and the virtualization processing unit 505 performs volume mapping information based on this input information. Set.
4). After the volume mapping information 515 is set, the host computer 1 accepts an instruction from the user and requests other devices to which the own device is connected to transmit personal information. Then, the virtualization control device 2 that has received this request transmits personal information AAA_02 to the host computer.
5. The host computer 1 that has received the personal information AAA_02 from the virtualization control device 2 detects that personal information has been received from the new device from the transmission source address (Port ID = V_Pid_1 etc.) included in the received frame. Then, the storage device identification processing unit 15 changes the status information of the real volume identified by AAA_02 to Inactive again. Then, the storage device identification processing unit 15 sets the primary path for accessing the real volume identified by AAA_02 registered in the volume management information, based on the source address included in the received frame, the port Hid_2 and the port The path is changed from the path via P_Pid_2 to the path via port Hid_2 and port V_Pid_1 (virtual port). Then, under the control of the CPU 10 of the host computer, the access path is changed so as to access the real volume identified by AAA_02 using the primary path. After the path change, the storage device identification processing unit 15 returns the status information of the real volume identified by AAA_02 to Active.
[0111]
As an example of the volume management information, the case where status information for each volume is held has been described as an example, but the present invention is not limited to this. For example, for each access path such as a primary path and secondary path, status information indicating whether or not access to the real volume is held, and the storage device identification processing unit of the host computer uses which access path to access the real volume It is also possible to execute such control. The status information indicating whether or not the real volume can be accessed can be realized by having the host computer have the same function as the storage device management unit in the management device.
[0112]
By executing the above processing, the host computer 1 can use the same personal information (AAA — 02) as before the virtualization control device 2 is connected even after the virtualization control device 2 is connected. ) Can be used for identification. Therefore, even when the virtualization control device 2 is newly introduced into the computer system and the host computer issues an access request to the virtual volume, it is not necessary to reset personal information in the host computer. For this reason, there is no need to interrupt the processing being executed by the host computer.
[Third embodiment] (One virtual volume is composed of a plurality of storage devices)
In the first embodiment and the second embodiment, an example in which one virtual volume is configured from one real volume has been described. However, the present invention is not limited to this, and one virtual volume is configured from a plurality of real volumes. It can also be applied when a volume is configured.
[0113]
A case where one virtual volume is configured from a plurality of real volumes will be described with reference to FIGS. 15 and 16.
[0114]
FIG. 15 shows a real volume identified by Port ID = P_Pid_1, Port Name = P_Pname_1, LUN = 3 (5 GB), and a real volume identified by Port ID = P_Pid_2, Port Name = P_Pname_2, LUN = 1 (5 GB) FIG. 6 is a diagram showing a configuration example of the volume mapping information 515 when configuring one virtual volume identified by Port ID = V_Pid_3, Port Name = V_Pname_3, LUN = 0 (10 GB). Compared with the volume management table shown in FIG. 12, the volume management table shown in FIG. 15 corresponds to the fact that two real volumes are assigned to one virtual volume, and corresponds to the real volume as an entry of the virtual volume management information 520. The only difference is that the address information to be added is the same, the others are the same. In FIG. 15, the personal information of the virtual volume identified by Port ID = P_Pid_1, Port Name = P_Pname_1, LUN = 3 as personal information of the virtual volume identified by Port ID = V_Pid_3, Port Name = V_Pname_3, LUN = 0. Information is used.
[0115]
FIG. 16 is a diagram illustrating an example of a computer system in which one virtual volume is configured from two real volumes. Also in the computer system shown in FIG. 16, the data migration process and the storage device monitoring process executed in the virtualization control device 2 can be executed by the same process as that described in the first and second embodiments. Hereinafter, the routing process will be described.
(Routing process)
The routing process is started when the virtualization control device 2 receives frame data from the host computer 1 or the storage device 3. Upon receiving the frame data, the routing processing unit 501 receives the identification information of the transmission source / destination constituting the frame data, and if necessary, the type information of the frame data and various information (LUN etc.) constituting the payload in the frame. To determine whether virtualization processing is necessary. Specifically, when the source / destination identification information (Port ID, etc.) and the information (LUN) included in the payload of the frame are registered in the virtual volume management information 520 of the volume mapping information 515, routing is performed. The processing unit 501 determines that virtualization processing is necessary.
[0116]
When the routing processing unit 501 determines that the virtualization processing is necessary, the virtualization processing unit 505 executes the following virtualization processing.
1. When the received frame data is frame data from the host computer to the virtual storage device
First, the virtualization processing unit 505 determines whether the received frame data is read / write access request information. When the frame data is read / write access request information, the virtualization processing unit 505 uses the volume mapping information 515 and the address information and data transfer length information included in the access request information (particularly the payload of the received frame). The storage device corresponding to the virtual storage device of the frame data transmission destination is specified. Then, in order to convert the received frame into a frame for the specified storage device, transmission destination identification information (D_ID) constituting the frame data, CRC information, transmission destination identification information indicating the port of the specified storage device, Replace with CRC based on new destination identification information. Further, if necessary, new address information and data transfer length information constituting access request information are generated. The converted frame is transmitted to the storage device 3 via the port 23 of the virtualization control device. If the access request is sent to two storage devices (access request across address 996880h), the virtualization processing unit 505 generates an access request for each storage device. This access request is transmitted to each storage device.
[0117]
If the frame data received by the virtualization controller 2 is data other than read / write access request information (write data), the volume mapping information 515 and, if necessary, virtual before receiving the write data. The virtualization processing unit 505 corresponds to the virtual storage device of the frame data transmission destination based on the address information and data transfer length information constituting the write access request information received by the virtualization control device and the offset information of the write data Is detected. Then, in order to convert the received frame into a frame for the detected storage device, the virtualization processing 505 specifies the transmission destination identification information (D_ID) and CRC constituting the frame data for specifying the detected storage device. Replace with identification information and a new CRC based on this identification information. Then, the virtualization control device 2 transmits a frame to the storage device 3 detected via the port 23.
2. When the received frame is a frame from the storage device mapped to the virtual storage device to the host computer
First, it is determined whether or not the received frame data is read data, and the virtualization processing unit 505 executes processing according to the type of frame data. For example, when the frame data is read data, the virtualization processing unit 505 identifies a virtual storage device corresponding to the storage device that is the frame data transmission source. Then, in order to convert the received frame into a frame from the specified virtual storage device, the virtualization processing unit 505 converts the frame data transmission source identification information (S_ID) and CRC, the virtual storage device identification information, Replace with CRC based on correct destination identification information. Then, the virtualization control device 2 transmits frame data to the host computer 1 via the port 23.
[0118]
When read data transmission processing based on one read access request is executed simultaneously on two storage devices, the virtualization control device 2 transfers the read data received from one storage device to the host computer. It is desirable to defer the transfer processing of the read data received from the other storage device until the processing is completed. For example, read data was received from a storage device with a real volume identified by P_Pid_1, P_Pname_1, LUN = 3 (5GB) and a storage device with a real volume identified by P_Pid_2, P_Pname_2, LUN = 1 (5GB) In this case, the virtualization control device 2 temporarily stores the read data from the storage device having the real volume identified by P_Pid_2, P_Pname_2, LUN = 1 (5GB), and holds the read data transfer process it can.
[0119]
When the response data transmission process based on one read access request is executed in parallel by two storage devices, the virtualization control device 2 receives the response data received from the two storage devices. It is used to generate and send one response data to the host computer.
[0120]
In the computer system in which one virtual volume is configured from a plurality of real volumes as described above, as in the first embodiment and the second embodiment, identification of the volume recognized as an access target by the host computer Data migration processing can be executed between storage devices subject to virtualization control without changing information. That is, when data migration processing is executed between storage devices, the virtualization control device 2 updates the volume mapping information 515 and associates it with the virtual volume, as in the first embodiment or the second embodiment. By changing the recorded real volume from the data migration source real volume to the data migration destination real volume, the host computer 1 is mapped to the virtual volume without changing the volume identification information recognized as the access target. The real volume can be changed dynamically. Therefore, the host computer 1 can continue processing without being aware of data migration executed between storage devices (real volumes).
[Fourth embodiment] (Virtual port control and storage function provided by Intelligent Port)
In each of the above-described embodiments, an example has been described in which the main control unit 20 of the virtualization control device 2 that provides a function as a switch collectively performs each process according to the present invention. However, the present invention is not limited to this. However, a processor is provided for each port 23, and this processor can execute the routing process.
[0121]
Further, the virtualization control device 2 is not limited to one configured only from the port 23, the path control unit 22, and the main control unit 20. For example, as a disk array control device included in a disk array device, a plurality of physical disk devices can be shown as a logical storage device to a host computer, or as redundant data for data accessed by the host computer. Parity data is added and stored on the disk, and a series of parity control is performed to enable data transfer processing to and from the host computer using the parity data even if any one disk device fails The virtualization control device 2 may have a storage control unit that performs the storage control function, and the virtualization control device 2 may have a storage control function as one function. Furthermore, since the virtualization control device 2 has a storage control unit and a storage device group composed of a plurality of storage devices such as disk devices, the virtualization control device 2 functions as a storage device itself (storage function). As one function.
[0122]
Hereinafter, a case where a virtualization control device that includes a storage control unit and a storage device group and also provides a storage function performs processing by sharing each processing by each component will be described with reference to FIGS. 19 to 22. To do.
[0123]
FIG. 19 is a diagram illustrating an example of a computer system to which the present invention is applied. In the figure, the configuration other than the virtualization control device 2 has the same configuration as in FIG.
[0124]
In the virtualization control device 2, one or more port units 8, one or more storage control units 7-1 / 2, and a main control unit 20 are connected via a backplane 9, and further storage control is performed. The unit 7-1 is connected to a plurality of disk devices 35.
[0125]
The port unit 8 connects an interface control unit 81 (SN I / F in the figure) that controls the network 5 connected to the host computer 1 or the storage device 3 and other parts in the virtualization control device 2. It has an interface control unit 82 (BP I / F in the figure) for controlling the backplane 9, a memory 85 for storing programs and information to be described later, and a CPU 84 for executing programs using these information.
[0126]
The storage controller 7-1 is an interface controller 72 that performs data transfer processing between the interface controller 73 (hereinafter referred to as BP I / F) that controls the backplane 9 and the plurality of disk devices 35. (Hereinafter referred to as HDD I / F), a cache 71 for storing data transferred between the disk device 35 or the storage device 3, and a CPU 70 for executing each process and a program to be described later.
[0127]
The storage control unit 7-2 has the same configuration as the storage control unit 7-1 except that it does not have an interface control unit 72 that performs data transfer processing with the disk device 35.
[0128]
The main control unit 20 includes the management port 25 and has the same configuration as the main control unit 20 of FIG. 1 except that it includes an interface control unit 53 that controls the backplane 9. A program executed by the CPU 50 will be described later.
[0129]
In FIG. 19, the port unit 8 of the host computer 1, the storage device 3, the management device 4, and the virtualization control device 2 has one port each. However, the present invention is not limited to this. It is also possible to have a port.
[0130]
Similarly, each part constituting the virtualization control device 2 can have a plurality of interface control units 82 (BP I / F in the figure) for controlling the backplane 9, and each constituent part includes a plurality of backplanes. It is desirable to be connected to each other via
[0131]
Furthermore, since the port unit 8 of the virtualization control device 2 can support a plurality of different network protocols, the port unit 8 can also be used as a management port.
[0132]
FIG. 20 is a diagram illustrating an example of a program executed by the CPU of any part of the virtualization control device 2 and management information. The virtualization processing unit 505 newly includes the virtualization routing control information 530. A virtual routing processing program 517 executing a command frame transfer process (command transfer process program in the figure) 531, a program executing a response frame transfer process (response transfer process program in the figure) 532, and Having a program (other transfer processing program) 533 for executing frame data transfer processing other than the above, and the virtualization control device 2 newly having an in-device storage device access processing unit 506, Configuration information of the storage device 35 included in the virtualization control device 2 as the access processing unit 506 3 is the same as that shown in FIG. 3 except that it has an in-device storage device configuration management information 508 and an in-device storage device access control processing program 507 for actually executing frame data transfer processing. is there.
[0133]
In addition, the internal storage device access processing unit 506 controls the host computer to display a plurality of physical disk devices as one logical storage device, and adds parity data as redundant data to data accessed by the host computer. And execute a series of parity control that enables data transfer processing to and from the host computer using parity data even if a failure occurs in any one disk device Is desirable. However, since it is not directly related to the present invention, its detailed description is omitted.
[0134]
Details of the virtualization routing control information 530, the command transfer processing program 531, the response transfer processing program 532, and other transfer processing programs 533 will be described later.
[0135]
Further, in FIG. 3 and FIG. 20, description of a program related to initialization processing of the virtualization control device 2 is omitted, but initialization processing for executing initialization processing of various management information on condition that at least power is turned on. The virtualization control device may have a program group that executes an initialization process or a diagnosis process in response to an instruction from the program or the management apparatus 4 or the like.
[0136]
FIG. 21 is a diagram showing three main variations of the access path between the host computer and the storage device in the present embodiment.
[0137]
In FIG. 21, the storage device group 34 constituting the virtualization control device 2 is referred to as an internal storage device, the storage device 3 connected to the virtualization control device 2 via the network 5 is referred to as an external storage device, and a host. The port unit 8 connected to the computer 1 is referred to as In Port, and the port unit 8 connected to the external storage 3 is referred to as Out Port.
[0138]
The first access path type is a path in which the host computer 1 and the internal storage device 34 are connected via the port unit 8 (In Port) and the storage control unit 7-1.
[0139]
The second access path type is a path through which the host computer 1 and the external storage device 3 are connected via the port unit 8 (In Port), the storage control unit 7-2, and the port unit 8 (Out Port). .
[0140]
The third type of access path is a path through which the host computer 1 and the external storage device 3 are connected via the port unit 8 (In Port) and the port unit 8 (Out Port).
[0141]
FIG. 22 is a diagram showing an example of the volume mapping information 515 used in the present embodiment. In contrast to the configuration of FIG. 4 described above, the virtualization processing module management information 523 for managing the identifier information of the part for executing the virtualization processing described later, and the external storage device when the real volume exists in the external storage device 3 3, the external volume connection module management information 254 for managing the identifier of the port for connecting to the terminal 3 is newly provided. In FIG. 22, Storage Control part # 1 is identification information of the storage control unit 7-1 in FIG. 19, and Storage Control Part # 2 is identification information of the storage control unit 7-2 in FIG.
[0142]
In FIG. 22, the size and status information indicating the volume state is omitted, but it is desirable to manage these information, and the actual volume management information related to the internal storage device 34 is the internal storage device configuration management information. It is assumed that the details are registered in 507, and the description here is omitted.
[0143]
In the present embodiment, it is not necessary to hold and manage each piece of information constituting the volume mapping information 515 in each part constituting the virtualization control device 2, and it is necessary for processing executed by the part for each part. It is desirable to maintain and manage only the information.
[0144]
FIG. 23 is a diagram illustrating an example of the virtualization routing control information 530 managed for each part constituting the virtualization control device 2. The virtualization routing control information 530 is information that is generated, referred to, or updated when each part constituting the virtualization control device 2 executes frame data transfer processing described later. The transmission source identification information, the transmission source designation command identification information, and the transmission destination management information 535 include transmission destination identification information and command identification information designated by itself.
[0145]
The command identification information is information added to individual frame data in order to identify which command the frame data transmitted / received between the transmission source and the transmission destination is related to. Although detailed description of the configuration of the frame data is omitted, at least information for identifying the transmission source / transmission destination of the frame data (transmission source / transmission destination identification information), type information indicating the type of the frame data, The frame data includes header information having command identification information and payload information having access request information, status information, data, or the like.
[0146]
In FIG. 23, as an example of the virtualization routing control information 530 held and managed by the port unit 8 (In Port) connected to the host computer 1, the port unit 8 from the host computer identified by Host_Pid_1 is transferred to Host_Tag_1, Host_Tag_2, And three commands identified by Host_Tag_3 are received, and command identifier information InPort_Tag_1, InPort_Tag_2, InPort_Tag_3 designated by itself is added to each of them, and each of them is assigned to the respective storage control unit 7-1 (SC # 1 in FIG. 23). Description), the storage control unit 7-2 (described as SC # 2 in FIG. 23), and the port unit 8 (described as Out Port in FIG. 23).
[0147]
FIG. 24 is a diagram illustrating an example of a frame data transfer process executed by an arbitrary component constituting the virtualization control device 2. Therefore, this process can be executed in any of the port unit 8, the storage control unit 7-1, and the storage control unit 7-2. This process is started when receiving frame data from the host computer 1, the internal storage device 34, or the external storage device 3, or receiving frame data between the parts constituting the virtualization control device 2. . Hereinafter, an example of frame data transfer processing in the present embodiment will be described with reference to FIG.
[0148]
The part of the virtualization control device 2 that has received the frame data first determines whether or not a virtualization process described later is necessary (130). An example of specific conditions for determining that the frame data needs to be virtualized will be described below.
(1) The transmission destination identification information included in the frame data is registered in the virtual volume management information 520 of the volume mapping information 515.
(2) The transmission source identification information included in the frame data is registered in the real volume management information 521 of the volume mapping information 515.
(3) The command identification information included in the frame data is registered in the transmission source management information 534 or the transmission destination management information 535 of the virtualization routing control information 530.
[0149]
It should be noted that the determination condition for the necessity of the virtualization process is an example and is not limited thereto. The actual routing process (131) when it is determined that the virtualization process is unnecessary is the same as the process shown in FIG.
[0150]
Next, when it is determined that the virtualization processing is necessary, the part detects the type of the frame data using the type information of the frame data included in the received frame data.
[For command frames]
When it is detected that the received frame data is a command frame (132), the command transfer processing program 531 executes the following command frame transfer processing.
1. Judgment of necessity of command conversion processing (133)
Command transfer using the transmission destination identification information of the frame data included in the received frame data, and if necessary, various information (such as the LUN of the transmission destination) included in the payload of the received frame data and the volume mapping information 515 The processing program 531 determines whether or not to execute a command conversion process to be described later. As an example of the determination method, for example, when a destination Port ID or LUN is registered in the virtual volume management information 520 of the volume mapping information 515 and its own identification information is registered in the virtualization processing module management information 523 The command is determined to be frame data that requires its own command conversion processing.
2. Command conversion processing (134)
If it is determined that the command conversion processing by itself is necessary, the command transfer processing program 531 uses the virtual volume management information 520 and the real volume management information 521 of the volume mapping information 515 to transmit the received command frame. Command to replace the destination identification information with identification information corresponding to the real volume, the transmission source identification information with its own identification information, and the access request (command) information such as LUN with the access request information such as LUN corresponding to the real volume Implemented as a conversion process.
[0151]
If it is determined in step 133 that it is not necessary to execute the command conversion process by itself, the process proceeds to step 135 without executing the command conversion process (134).
3. Command frame transfer destination detection (135)
When it is determined that the command conversion processing by itself is unnecessary, or after executing the above command processing, the command transfer processing program 531 performs the virtualization processing module management information 523 of the volume mapping information 515 (in the case of In Port) or the external The transfer destination of the command frame is detected using the volume connection module management information 524 (in the case of a storage control device) or the real volume management information 521 (in the case of Out Port).
4). Virtualization routing control information registration (136)
Next, the command transfer processing program 531 virtually transmits transmission source identification information and command identification information included in the received command frame, transmission destination identification information for identifying the transfer destination of the command frame, and command identification information generated by itself. Registered as transmission source management information 534 and transmission destination management information 535 of the generalized routing control information 530.
5. Command transfer (137)
Furthermore, the command transfer processing program 531 replaces the command identification information included in the received command frame with the command identification information generated by itself, and sends the detected command frame to the transfer destination of the detected command frame, thereby ending the series of command frame transfer processing. (137).
[For response frames]
If it is detected in step 132 that the received frame data is not a command frame and it is further detected that the received frame data is a response frame (138), the response transfer processing program 532 executes the following response transfer processing.
1. Judgment of necessity of response generation processing (139)
The response transfer processing program 532 uses the command identification information and the volume mapping information 515 included in the received response frame to determine whether or not a response generation process is necessary. As an example of the determination method, for example, the identification information of the transmission source included in the received response frame is registered in the real volume management information 521 of the volume mapping information 515, and the identification information of itself is stored in the virtualization processing module management information 523. Is registered, it is determined that the response frame is frame data that requires a response generation process by itself.
2. Response generation processing (140)
When it is determined that the response generation process is necessary, the response transfer processing program 532 uses the virtual volume management information 520 of the volume mapping information 515 to convert the transmission source identification information included in the received response frame to the virtual volume. A process of replacing the transmission destination identification information with the corresponding identification information of the host computer in the corresponding identification information, and a process of generating and replacing new status information when necessary based on the status information included in the received response frame. Implemented as response generation processing.
3. Response frame forwarding destination detection (141)
Furthermore, the response transfer processing program 532 detects the transfer destination of the response frame using the command identification information and the virtualized routing control information 530 included in the received frame data. As an example of the detection method, the command management information of the destination management information 535 of the virtualization routing control information 530 that matches the command identification information included in the received frame data is detected, and the source management corresponding to the command management information is detected. The transmission source identification information of the information 534 is detected as a response frame transfer destination.
4). Response transfer (142)
Next, the response transfer processing program 532 replaces the command identification information included in the received response frame with the corresponding transmission source command identification information of the transmission source management information 534 of the virtualization routing control information 530, and detected in step 141. Send the response frame to the destination.
5. Virtualization routing control information update (143)
Further, the response transfer processing program 532 deletes the corresponding entry (transmission destination / source management information) in the virtualization routing control information 530 based on the command identification information included in the received response frame, and a series of response frame transfer processing Exit.
[For frames other than the above]
The received frame data is the above (command, Les In the case of frame data (for example, data) other than (response), the other transfer processing program 533 executes the following frame data transfer processing.
1. Judgment of necessity of virtualization processing by itself (144)
Using the destination / source identification information and command identification information of the frame data included in the received frame data, the volume mapping information 515, and the virtualization routing control information 530, the other transfer processing program 533 uses its own virtual The necessity of the digitization process is determined. As an example of the determination, for example, transmission destination identification information or transmission source identification information is registered in the real volume management information 521 or the virtual volume management information 520 of the volume mapping information 515, and the identification of itself is stored in the virtualization processing module management information 523 When the information is registered, the other transfer processing program 533 determines that the frame data needs to be virtualized by itself.
To do.
2. Virtualization (source / destination identification information conversion) processing (145)
When it is determined that virtualization (transmission source / destination identification information conversion) processing is necessary , Using the virtual volume management information 520 and the real volume management information 521 of the volume mapping information 515, the other transfer processing program 533 uses the transmission source identification information or the transmission destination identification information included in the received frame data as the virtual volume identification. The process of replacing the information or the identification information of the real volume is implemented as a virtualization process. As an example of processing, when the transmission destination identification information included in the received frame data matches the virtual volume identification information (from the host computer to the virtualization control device), the transmission destination identification information is changed to the real volume identification information. When the identification information of the transmission source included in the received frame data matches the identification information of the real volume (from the virtualization control device to the host computer), the processing for replacing the identification information of the transmission source with the identification information of the virtual volume, etc. The transfer processing program 533 is executed.
3. Other frame data transfer destination detection (146)
Further, the other transfer processing program 533 detects the transfer destination of the frame data by using the command identification information included in the received frame data and the virtualization routing control information 530.
[0152]
As an example of the detection process, the other transfer processing program 533 detects the command management information of the transmission source management information 534 of the virtualization routing control information 530 that matches the command identification information included in the received frame data, and the command management It is conceivable that the transmission destination identification information of the transmission destination management information 535 corresponding to the information is used as the transfer destination of the frame data.
4). Frame data transfer (147)
Next, the other transfer processing program 533 replaces the command identification information included in the received frame data with the corresponding transmission source command identification information of the transmission source management information 534 of the virtualization routing control information 530, and detects the frame detected in step 156. A series of processing is completed by transmitting to the data transfer destination.
[0153]
In the above description, in order to simplify the description, the identification information of the port part is used between the outside (identification information used between the host computer or the storage device) and the inside (other parts in the virtualization control device). The identification information is described as being the same, but the present invention is not limited to this. Needless to say, if the port identification information is different between the outside and the inside, the virtualization control device 2 may have information for associating them.
[0154]
Next, data migration processing in this embodiment having a plurality of variations as access paths between the host computer and the storage device that provides the real volume will be described. In the present embodiment, any of the port unit 8, the storage control unit 7-1, and the storage control unit 7-2 executes the data migration process, and updates the volume mapping information along with the data migration. Which part executes these processes is determined based on the virtualization process module management information of the volume mapping information 515. That is, the part registered in the virtualization processing module management information 523 as the virtualization processing module executes the data migration processing related to the corresponding virtual volume, and updates the volume mapping information. For example, in the case of the volume mapping information 515 shown in FIG. 22, the data migration processing and the update of the volume mapping table regarding the virtual volume identified by Port ID = V_Pid_2, Port Name = V_Pname_2, LUN = 0 are performed by the storage controller 7-2. Executed by. The data migration process and the volume mapping table update method in this embodiment are the same as those in the first embodiment described above.
[0155]
In the present embodiment, the virtualization processing module may be further changed. Therefore, the data migration process accompanied by the change of the virtualization processing module will be described below.
[0156]
As data migration accompanied by a change of the virtualization processing module, virtualization is performed even when the access route type is the same as when the access route (first / second / third access route) type is changed. The processing module may be changed. Hereinafter, a case where the access route type is changed from the second access route type to the third access route type will be described as an example.
[0157]
FIG. 25 shows an example of real volume mapping information 515 held by the port unit 8 (In Port) of the virtualization control device 2 before the data migration processing is executed. FIG. 26 shows storage before the data migration processing is executed. FIG. 27 is a diagram illustrating an example of the real volume mapping information 515 included in the control device 7-2. FIG. 27 is a diagram illustrating an example of the real volume mapping information 515 included in the port unit 8 (Out Port) before the data migration processing is executed.
[0158]
In FIG. 25, V_Pid_1, V_Pid_2, and V_Pid_3 are registered as virtualized volume management information managed by the port unit 8 (In port). This indicates that the port unit 8 (In Port) constitutes an access path for three virtual volumes (V_Pid_1, V_Pid_2, and V_Pid_3) that the virtualization control device 2 provides to the host computer. . Similarly, according to FIG. 26, the storage control unit 7-2 configures an access path for the virtual volume V_Pid_2, and according to FIG. 27, the port unit 8 (Out Port) accesses two virtual volumes (V_Pid_2 and V_Pid_3). It shows that the route is configured.
[0159]
Further, according to the virtualization processing module management information of FIGS. 25, 26 and 27, the virtualization processing for the virtual volume identified by V_Pid_1 is the storage controller 7-1, and the virtualization processing for the virtual volume V_Pid_2 is the storage controller. 7-2 (SC # 2), it can be seen that the virtualization processing for the virtual volume V_Pid_3 is performed at Out Port.
[0160]
Therefore, the access path between the virtual volume V_Pid_1 and the host reaches the storage control unit 7-1 from the In Port via the backplane 9, and the storage control unit 7-1 executes the virtualization process first. The access path between the virtual volume V_Pid_2 and the host reached the storage control unit 7-2 from the In Port via the backplane 9, and the storage control unit 7-2 performed the virtualization process. After that, it is the second type that reaches the external storage device through the Out Port, and the access path between the virtual volume V_Pid_3 and the host goes from the In Port via the backplane to the Out Port without going through the storage controller. It can be seen that this is the third type that reaches the external storage device after the virtualization process is executed at the Out Port.
[0161]
28 to 30 change the access path to the virtual volume (V_Pid_2) shown in FIGS. 25 to 27 from the second type access path to the third type access path, and further between the external storage devices 3. After performing the data migration process (data migration process from the real volume identified by P_Pid_2 and LUN0 to the real volume identified by P_Pid_3 and LUN1) in port 8 (In Port) of the virtualization controller 2 4 is a diagram illustrating an example of volume mapping information 515 included in each of the storage control device 7-2 and the port unit 8 (Out Port). FIG.
[0162]
FIG. 28 shows volume mapping information held by the port unit 8 (In Port), and FIG. 30 shows volume mapping information held by the port unit 8 (Out Port). In FIG. 28 and FIG. 30, the real volume identification information corresponding to the virtual volume identified by V_Pid_2 is rewritten to P_Pid_3, P_Pname_3, and LUN1 that are the real volume identification information of the data migration destination, and further, the virtualization processing module management information However, it has been rewritten as Out Port for executing virtualization processing in a new access route (third type access route). FIG. 29 shows the volume mapping information that the storage control unit 7-2 has. However, in the third type of access path, the storage control unit does not configure an access path when providing a virtual volume to the host computer. , The entry related to the virtual volume identified by V_Pid_2 is deleted.
[0163]
The data migration process in the present embodiment is the same as the data migration process in the above-described embodiment in an appropriate part of the virtualization control device 2 (for example, the part in which the virtualization process is performed before the data migration process in the present embodiment). Since it is realizable by implementing, the detailed description is abbreviate | omitted.
[0164]
Here, since the update of the volume mapping information 515 is preferably performed in synchronization between the parts constituting the virtualization control device 2, data migration processing between storage devices as in the above-described embodiment. It is desirable to be implemented via the main control unit 20 of the virtualization control device 2 with the completion of the above.
[0165]
That is, the part that performs the data migration process between the storage devices notifies the main control unit 20 of the completion of the data migration process, and the volume mapping information 515 of the relevant part is updated by the main control unit 20 that has received the notification. It is desirable.
[0166]
The same applies to the update of the volume mapping information 515 when only the access path is changed and no data migration processing is performed between the storage devices.
[0167]
In the above description, a case where the port unit (In Port) connected to the host computer 1 and the port unit (Out Port) connected to the external storage 3 are realized by different port units will be described as an example. However, the present invention is not limited to this. For example, it is possible to simultaneously connect the host computer 1 and the external storage 3 in the same port unit 8.
[0168]
In the above description, Port ID and Port Name, which are information for identifying virtual volumes, have been described as identifier information assigned to virtual ports provided by the virtualization control device 2 to the host computer 1. However, the present invention is not limited to this, and in the present embodiment, the actual identifier information assigned to the port unit 8 of the virtualization control device 2 can be used as virtual volume management information.
[0169]
【The invention's effect】
According to the present invention, it is possible to execute data migration processing between a plurality of storage devices without changing identification information used by a host computer to identify a volume to be accessed. As a result, the data migration process can be executed without interrupting the process of the host computer.
[0170]
In the present invention, the host computer changes the identification information used to identify the volume to be accessed even when a virtualization control device is newly introduced into the computer system or when the virtualization control device is replaced. You can access the data without having to. As a result, the virtualization control device can be introduced into the computer system or the virtualization control device can be replaced without interrupting the processing of the host computer.
[Brief description of the drawings]
FIG. 1 is a diagram showing an example of a computer system to which the present invention is applied.
FIG. 2 is a diagram illustrating an example of a program and information stored in a storage medium of a management apparatus.
FIG. 3 is a diagram illustrating an example of a program and information stored in a storage medium of a virtualization control device.
FIG. 4 is a diagram showing an example of volume mapping information managed by the virtualization control device in the first embodiment.
FIG. 5 is a diagram showing an example of storage device state management information managed by the virtualization control device in the first embodiment.
FIG. 6 is a diagram showing an overview of processing of an access request from a host computer to a virtual storage device in the first embodiment.
FIG. 7 is a diagram showing an overview of data migration processing between storage devices in the first embodiment.
FIG. 8 is a diagram showing another example of volume mapping information managed by the virtualization control device in the first embodiment.
FIG. 9 is a diagram illustrating an example of processing executed by a routing processing unit of the virtualization control device according to the first embodiment.
FIG. 10 is a diagram illustrating an example of processing executed by a data migration processing unit of the virtualization control device according to the first embodiment.
FIG. 11 is a diagram illustrating an example of processing executed by a storage device monitoring processing unit of the virtualization control device according to the first embodiment.
FIG. 12 is a diagram illustrating an example of volume mapping information managed by the virtualization control device according to the second embodiment.
FIG. 13 is a diagram showing an outline of access processing from a host computer to a virtual storage device in the second embodiment.
FIG. 14 is a diagram showing an overview of data migration processing between storage devices in the second embodiment.
FIG. 15 is a diagram illustrating an example of volume mapping information managed by the virtualization control device according to the third embodiment.
FIG. 16 is a diagram showing an example of the configuration of a virtual volume in the third embodiment.
FIG. 17 is a diagram illustrating an example of processing executed when a virtualization control device is introduced into a computer system according to the second embodiment.
FIG. 18 is a diagram showing an example of volume management information managed by a host computer in the second embodiment.
FIG. 19 is a diagram illustrating an example of a computer system according to a fourth embodiment.
FIG. 20 is a diagram illustrating an example of a program and information stored in a storage medium of a virtualization control device according to the fourth embodiment.
FIG. 21 is a diagram showing variations of access paths between a host computer and a storage device in the fourth embodiment.
FIG. 22 is a diagram showing an example of volume mapping information managed by the virtualization control device according to the fourth embodiment.
FIG. 23 is a diagram illustrating an example of routing control information managed by the virtualization control device according to the fourth embodiment.
FIG. 24 is a diagram showing an example of frame data routing processing in the fourth embodiment;
FIG. 25 is a diagram showing an example of volume mapping information managed by a port unit (In Port) in the fourth embodiment.
FIG. 26 is a diagram showing an example of volume mapping information managed by the storage control device in the fourth embodiment.
FIG. 27 is a diagram showing an example of volume mapping information managed by a port unit (Out Port) in the fourth embodiment.
FIG. 28 is a diagram showing an example of volume mapping information managed by a port unit (In Port) in the fourth embodiment.
FIG. 29 is a diagram showing an example of volume mapping information managed by the storage control device in the fourth embodiment.
30 is a diagram showing an example of volume mapping information managed by a port unit (Out Port) in the fourth embodiment. FIG.
[Explanation of symbols]
1 ... Host computer
2 ... Virtualization control device
3. Storage device
4 ... Management device
5 ... Network
20 ... main control part
501: Routing processing unit
502: Storage device monitoring unit
503: Data migration processing unit
504 ... Real routing processing unit
505 ... Virtual routing processing unit

Claims (29)

複数のディスクドライブと前記複数のディスクドライブの少なくとも一部に対応づけられる複数の論理記憶領域の各々へのアクセスを制御するプロセッサとを各々に有する複数の記憶装置と、少なくとも1つのホストコンピュータと、に接続された仮想化装置であって、
前記複数の記憶装置に接続される複数の第1のポートと、
前記ホストコンピュータに接続される少なくとも1つの第2のポートと、
複数の制御回路と、
複数のメモリと、を有し、
前記複数の制御回路は、前記複数の第1のポート又は/及び前記第2のポートで送受信されるデータの転送を制御するものであり、
前記複数のメモリには、少なくとも1つ以上の第1のメモリが含まれ、前記仮想化装置が有する仮想記憶領域と前記複数の記憶装置が有する論理記憶領域とが対応付けられており少なくとも1つの前記複数の制御回路におけるデータ転送制御に利用されるマッピング情報、を格納するものであり、
前記複数の制御回路のうちの第1の制御回路は、前記仮想記憶領域と前記複数の記憶装置に含まれる第1の記憶装置が有する第1の論理記憶領域とが対応付けられる第1の前記マッピング情報に基づいて、前記仮想記憶領域に宛てて前記ホストコンピュータから送信されるデータを、前記第1の論理記憶領域に宛てて送信するように制御するものであり、
前記仮想化装置は、
前記第1の論理記憶領域に格納されたデータを、前記複数の記憶装置に含まれる第2の記憶装置が有する第2の論理記憶領域へ移行するように制御し、
前記第1の論理記憶領域から前記第2の論理記憶領域へのデータの移行中に前記仮想記憶領域に宛てて前記ホストコンピュータから送信されるデータを受信して一時的に保持し、
前記第1のマッピング情報を、前記仮想記憶領域と前記第2の論理記憶領域とが対応付けられる第2の前記マッピング情報へ更新し、
前記第1の論理記憶領域から前記第2の論理記憶領域へのデータの移行後に、前記仮想記憶領域に宛てて前記ホストコンピュータからデータを受信する場合には、前記第2のマッピング情報に基づいて、前記データ移行後に受信されるデータを、前記第2の論理記憶領域に宛てて送信するものであり、
前記第1の論理記憶領域から前記第2の論理記憶領域へのデータの移行中に受信され前記仮想化装置に一時的に保持される前記データは、前記第1の論理記憶領域から読み出される必要なく、前記第2の論理記憶領域に格納されるものであり、
前記仮想化装置は、さらに、前記第1のマッピング情報を含む複数のマッピング情報の更新を制御するとともに少なくとも1つの前記複数のマッピング情報に関する情報を外部の装置との間で通信する制御部と、前記複数のマッピング情報が格納され前記制御部に利用される第2のメモリと、を有し、
前記制御部は、少なくとも1つ以上の前記複数の制御回路によって実行される前記第1の論理記憶領域から前記第2の論理記憶領域への前記データ移行に応じて、前記第2のメモリに格納される前記複数のマッピング情報に含まれる前記第1のマッピング情報が前記第2のマッピング情報へ更新されるように制御し、さらに、前記第1のメモリに格納される前記第1のマッピング情報が前記第2のマッピング情報へ更新されるように制御する、
ことを特徴とする仮想化装置。
A plurality of storage devices each having a plurality of disk drives and a processor for controlling access to each of a plurality of logical storage areas associated with at least a part of the plurality of disk drives; and at least one host computer; A virtualization device connected to
A plurality of first ports connected to the plurality of storage devices;
At least one second port connected to the host computer;
A plurality of control circuits;
A plurality of memories;
The plurality of control circuits controls transfer of data transmitted and received at the plurality of first ports or / and the second port,
The plurality of memories include at least one or more first memories, and a virtual storage area included in the virtualization device and a logical storage area included in the plurality of storage devices are associated with each other, and at least one Mapping information used for data transfer control in the plurality of control circuits,
The first control circuit of the plurality of control circuits is configured to associate the virtual storage area with a first logical storage area included in a first storage device included in the plurality of storage devices. Based on mapping information, control is performed so that data transmitted from the host computer to the virtual storage area is transmitted to the first logical storage area,
The virtualization device is
Controlling the data stored in the first logical storage area to migrate to a second logical storage area of a second storage device included in the plurality of storage devices;
Receiving and temporarily holding data transmitted from the host computer addressed to the virtual storage area during data migration from the first logical storage area to the second logical storage area ;
Updating the first mapping information to the second mapping information in which the virtual storage area and the second logical storage area are associated with each other;
When data is received from the host computer destined for the virtual storage area after data is transferred from the first logical storage area to the second logical storage area, the data is transferred based on the second mapping information. , Data received after the data migration is sent to the second logical storage area,
The data is received Ru is temporarily held in the virtualization apparatus during the transition of data from the first logical storage area to the second logical storage area, it needs to be read from the first logical storage area Without being stored in the second logical storage area,
The virtualization apparatus further controls the update of a plurality of mapping information including the first mapping information and communicates information regarding at least one of the plurality of mapping information with an external apparatus; A second memory in which the plurality of mapping information is stored and used for the control unit;
The control unit stores in the second memory in response to the data migration from the first logical storage area to the second logical storage area executed by at least one or more of the plurality of control circuits. The first mapping information included in the plurality of mapping information to be updated to the second mapping information, and the first mapping information stored in the first memory is Controlling to be updated to the second mapping information;
A virtualization apparatus characterized by that.
複数のディスクドライブと前記複数のディスクドライブの少なくとも一部に対応づけられる複数の論理記憶領域の各々へのアクセスを制御するプロセッサとを各々に有する複数の記憶装置と、少なくとも1つのホストコンピュータと、に接続された仮想化装置であって、
前記複数の記憶装置に接続される複数の第1のポートと、
前記ホストコンピュータに接続される少なくとも1つの第2のポートと、
複数の制御回路と、
複数のメモリと、を有し、
前記複数の制御回路は、前記複数の第1のポート又は/及び前記第2のポートで送受信されるデータの転送を制御するものであり、
前記複数のメモリには、少なくとも1つ以上の第1のメモリが含まれ、前記仮想化装置が有する仮想記憶領域と前記複数の記憶装置が有する論理記憶領域とが対応付けられており前記複数の制御回路のうちの少なくとも1つ以上の制御回路におけるデータ転送制御に利用されるマッピング情報、が格納され、
前記複数の制御回路のうちの少なくとも1つの第1の制御回路は、前記仮想記憶領域を識別するために用いられる第1の記憶領域識別情報と、前記複数の記憶装置に含まれる第1の記憶装置が有する第1の論理記憶領域を識別するために用いられる第2の記憶領域識別情報と、の対応関係を示す第1の前記マッピング情報に基づいて、前記ホストコンピュータから受信するデータの宛先に関する前記第1の記憶領域識別情報を前記第2の記憶領域識別情報に変換した後に、前記変換によって前記第2の記憶領域識別情報に関連付けられたデータを前記第1の記憶装置に送信するように制御するものであり、
前記仮想化装置は、
前記第1の論理記憶領域に格納されたデータを、前記複数の記憶装置に含まれる第2の記憶装置が有する第2の論理記憶領域へ移行するように制御し、
前記第1の論理記憶領域から前記第2の論理記憶領域へのデータの移行中に、前記第1の記憶領域識別情報に関連するデータを前記ホストコンピュータから受信して一時的に保持し
前記第1の論理記憶領域から前記第2の論理記憶領域へのデータの移行に応じて、前記第1のマッピング情報を、前記第1の記憶領域識別情報と、前記第2の論理記憶領域を識別するために用いられる第3の記憶領域識別情報と、の対応関係を示す第2の前記マッピング情報に更新し、
前記第1のマッピング情報を前記第2のマッピング情報へ更新した後に、前記第1の記憶領域識別情報に関連するデータを前記ホストコンピュータから受信した場合は、前記第2のマッピング情報に基づいて、前記更新後に受信した前記データの宛先に関する前記第1の記憶領域識別情報を前記第3の記憶領域識別情報に変換した後に、前記変換によって前記第3の記憶領域識別情報に関連付けられたデータを前記第2の記憶装置に送信するものであり、
前記第1の論理記憶領域から前記第2の論理記憶領域へのデータの移行中に受信され一時的に保持される前記データは、前記第1の論理記憶領域から読み出される必要なく、前記第2の論理記憶領域に格納されるように制御されるものであり、
前記仮想化装置は、さらに、前記第1のマッピング情報を含む複数のマッピング情報の更新を制御するとともに少なくとも1つの前記複数のマッピング情報に関する情報を外部の装置との間で通信する制御部と、前記制御部に利用され前記複数のマッピング情報が格納される少なくとも1つ以上の第2のメモリと、を有し、
前記制御部は、少なくとも1つの前記複数の制御回路によって実行される前記第1の論理記憶領域から前記第2の論理記憶領域へのデータの移行に応じて、前記第2のメモリに格納される前記複数のマッピング情報に含まれる前記第1のマッピング情報が前記第2のマッピング情報へ更新されるように制御し、さらに、前記第1のメモリに格納される前記第1のマッピング情報が前記第2のマッピング情報へ更新されるように制御するものである、ことを特徴とする仮想化装置。
A plurality of storage devices each having a plurality of disk drives and a processor for controlling access to each of a plurality of logical storage areas associated with at least a part of the plurality of disk drives; and at least one host computer; A virtualization device connected to
A plurality of first ports connected to the plurality of storage devices;
At least one second port connected to the host computer;
A plurality of control circuits;
A plurality of memories;
The plurality of control circuits controls transfer of data transmitted and received at the plurality of first ports or / and the second port,
The plurality of memories include at least one or more first memories, and a virtual storage area included in the virtualization apparatus and a logical storage area included in the plurality of storage apparatuses are associated with each other. Mapping information used for data transfer control in at least one of the control circuits is stored;
At least one first control circuit of the plurality of control circuits includes first storage area identification information used for identifying the virtual storage area, and first storage included in the plurality of storage devices. A destination of data received from the host computer based on the first mapping information indicating a correspondence relationship with the second storage area identification information used to identify the first logical storage area of the device; After converting the first storage area identification information into the second storage area identification information, the data associated with the second storage area identification information by the conversion is transmitted to the first storage device. Control,
The virtualization device is
Controlling the data stored in the first logical storage area to migrate to a second logical storage area of a second storage device included in the plurality of storage devices;
During the data transfer from the first logical storage area to the second logical storage area, data related to the first storage area identification information is received from the host computer and temporarily held ;
In accordance with the data transfer from the first logical storage area to the second logical storage area, the first mapping information, the first storage area identification information, and the second logical storage area Update to the second mapping information indicating the correspondence relationship with the third storage area identification information used for identification,
After receiving the data related to the first storage area identification information from the host computer after updating the first mapping information to the second mapping information, based on the second mapping information, After converting the first storage area identification information related to the destination of the data received after the update into the third storage area identification information, the data associated with the third storage area identification information by the conversion To the second storage device,
The first of the data that will be temporarily held received during migration of data from the logical storage area to the second logical storage area is not required to be read from the first logical storage area, the second Is controlled to be stored in the logical storage area of
The virtualization apparatus further controls the update of a plurality of mapping information including the first mapping information and communicates information regarding at least one of the plurality of mapping information with an external apparatus; And at least one second memory that is used by the control unit and stores the plurality of mapping information,
The control unit is stored in the second memory in accordance with data transfer from the first logical storage area to the second logical storage area, which is executed by at least one of the plurality of control circuits. Control is performed so that the first mapping information included in the plurality of mapping information is updated to the second mapping information, and the first mapping information stored in the first memory is the first mapping information. A virtualization apparatus that controls to be updated to the mapping information of 2.
請求項1に記載の仮想化装置であって、
前記複数のメモリのうちの第3のメモリは、前記第1のメモリが格納する前記マッピング情報を利用する制御回路と異なる少なくとも1つの前記複数の制御回路におけるデータ転送制御に利用される前記マッピング情報を格納するものである、ことを特徴とする仮想化装置。
The virtualization device according to claim 1,
The third memory of the plurality of memories is the mapping information used for data transfer control in at least one of the plurality of control circuits different from the control circuit using the mapping information stored in the first memory. A virtualization apparatus characterized in that the storage device stores information.
請求項1に記載の仮想化装置であって、
前記第1の制御回路は、前記複数の第1のポート及び前記第2のポートのうちの少なくとも1つ以上のポートで送受信されるデータの転送を制御するものであり、
前記複数の制御回路のうちの第2の制御回路は、前記複数の第1のポート及び前記第2のポートのうち、前記第1の制御回路がデータの転送を制御する前記ポートと異なる少なくとも1つ以上のポートで送受信されるデータの転送を制御するものであり、
前記複数のメモリのうちの第3のメモリは、前記第1のメモリが格納する前記マッピング情報を利用する制御回路と異なる少なくとも1つ以上の前記複数の制御回路におけるデータ転送制御に利用される前記マッピング情報を格納するものである、ことを特徴とする仮想化装置。
The virtualization device according to claim 1,
The first control circuit controls transfer of data transmitted and received at at least one of the plurality of first ports and the second port,
The second control circuit of the plurality of control circuits is different from at least one of the plurality of first ports and the second port, the first control circuit controlling the data transfer. It controls the transfer of data sent and received at more than one port,
A third memory of the plurality of memories is used for data transfer control in at least one or more of the plurality of control circuits different from a control circuit using the mapping information stored in the first memory. A virtualization apparatus characterized by storing mapping information.
請求項1乃至4のいずれかに記載の仮想化装置であって、
前記仮想化装置は、前記ホストコンピュータから送信されるフレームの受信に応じて、前記フレームを前記複数の記憶装置に転送することなく、前記フレームに対する応答を前記フレームを送信したホストコンピュータに対して送信する手段があることを特徴とする仮想化装置。
The virtualization device according to any one of claims 1 to 4,
In response to receiving a frame transmitted from the host computer, the virtualization apparatus transmits a response to the frame to the host computer that transmitted the frame without transferring the frame to the plurality of storage devices. A virtualization apparatus characterized in that there is a means to perform.
請求項1乃至4のいずれかに記載の仮想化装置であって、
前記仮想化装置は、前記ホストコンピュータから送信されるフレームに対応するフレームを前記複数の記憶装置のうちの少なくとも1つの又は複数の記憶装置に転送する、又は、前記ホストコンピュータから送信されるフレームに対する応答を、前記フレームを送信したホストコンピュータに送信する、のいずれかを実行する、ことを特徴とする仮想化装置。
The virtualization device according to any one of claims 1 to 4,
The virtualization apparatus transfers a frame corresponding to a frame transmitted from the host computer to at least one or a plurality of storage devices of the plurality of storage devices, or for a frame transmitted from the host computer. A virtualization apparatus that performs any one of: transmitting a response to a host computer that has transmitted the frame.
請求項1乃至6のいずれかに記載の仮想化装置であって、
前記第2のマッピング情報への更新は、前記第1の論理記憶領域から前記第2の論理記憶領域へのデータの移行が完了した場合に実行されるものである、ことを特徴とする仮想化装置。
A virtualization device according to any one of claims 1 to 6,
The update to the second mapping information is executed when data migration from the first logical storage area to the second logical storage area is completed. apparatus.
請求項1乃至7のいずれかに記載の仮想化装置であって、
前記第1の論理記憶領域の識別には、前記第1の記憶装置のポート識別情報及び前記第1の論理記憶領域を識別するロジカルユニットナンバー(LUN)が用いられる、ことを特徴とする仮想化装置。
A virtualization device according to any one of claims 1 to 7,
The identification of the first logical storage area uses port identification information of the first storage device and a logical unit number (LUN) for identifying the first logical storage area. apparatus.
請求項1乃至3のいずれかに記載の仮想化装置であって、
前記仮想化装置が有する他の仮想記憶領域と前記複数の記憶装置に含まれる第3の記憶装置が有する第3の論理記憶領域とが対応付けられる第3の前記マッピング情報に基づいて、前記他の仮想記憶領域に宛てて前記ホストコンピュータから受信されるデータを前記第3の記憶装置に送信するように制御する第2の制御回路と、を有することを特徴とする仮想化装置。
The virtualization device according to any one of claims 1 to 3,
Based on the third mapping information in which another virtual storage area included in the virtualization device and a third logical storage area included in a third storage device included in the plurality of storage devices are associated with each other. And a second control circuit that controls to transmit data received from the host computer to the third storage device to the virtual storage area.
請求項1乃至3のいずれかに記載の仮想化装置であって、
前記仮想化装置が有する他の仮想記憶領域と対応付けられる前記複数の記憶装置内の第3の論理記憶領域に格納されたデータを前記複数の記憶装置内の第4の論理記憶領域に移行するように制御する第3の制御回路と、を有し、
前記第3の論理記憶領域から前記第4の論理記憶領域へのデータの移行に応じて、前記他の仮想記憶領域と前記第4の論理記憶領域とが対応付けられる第4の前記マッピング情報が生成される、ことを特徴とする仮想化装置。
The virtualization device according to any one of claims 1 to 3,
Data stored in a third logical storage area in the plurality of storage devices associated with another virtual storage area of the virtualization device is transferred to a fourth logical storage area in the plurality of storage devices. A third control circuit for controlling so that
The fourth mapping information in which the other virtual storage area and the fourth logical storage area are associated with each other in accordance with the data transfer from the third logical storage area to the fourth logical storage area. A virtualization device that is generated.
請求項1乃至10のいずれかに記載の仮想化装置であって、
前記仮想記憶領域の識別には、前記仮想記憶領域のロジカルユニットナンバー(LUN)及び前記仮想化装置の仮想ポート識別情報が用いられる、ことを特徴とする仮想化装置。
A virtualization device according to any one of claims 1 to 10,
The virtualization apparatus, wherein the virtual storage area is identified using a logical unit number (LUN) of the virtual storage area and virtual port identification information of the virtualization apparatus.
請求項1乃至11のいずれかに記載の仮想化装置であって、
前記仮想化装置は、スイッチ装置である、ことを特徴とする仮想化装置。
The virtualization device according to any one of claims 1 to 11,
The virtualization apparatus is a switch apparatus.
少なくとも1つのホストコンピュータに接続される少なくとも1つの第1のポートと、複数のディスクドライブと前記複数のディスクドライブの少なくとも一部に対応付けられる複数の論理記憶領域の各々へのアクセスを制御するプロセッサとを各々に有する複数の記憶装置に接続される複数の第2のポートと、前記第1のポート又は/及び前記複数の第2のポートで送受信されるデータの転送を制御する複数の制御回路と、仮想記憶領域と前記複数の記憶装置が有する論理記憶領域とが対応付けられており少なくとも1つの前記複数の制御回路におけるデータ転送制御に利用されるマッピング情報を格納する少なくとも1つの第1のメモリを有する複数のメモリと、複数の前記マッピング情報の更新を制御するとともに少なくとも1つの前記複数のマッピング情報に関する情報を外部の装置との間で通信する制御部と、前記複数のマッピング情報が格納され前記制御部に利用される第2のメモリと、を有する仮想化装置におけるデータ移行制御方法であって、
前記複数の制御回路のうちの第1の制御回路の制御により、前記仮想記憶領域と前記複数の記憶装置に含まれる第1の記憶装置が有する第1の論理記憶領域とが対応付けられる第1の前記マッピング情報に基づいて、前記仮想記憶領域に宛てて前記ホストコンピュータから送信されるデータを、前記第1の論理記憶領域に宛てて送信するステップと、
前記第1の論理記憶領域に格納されているデータを、前記複数の記憶装置に含まれる第2の記憶装置が有する第2の論理記憶領域へ移行するステップと、
前記第1の論理記憶領域から前記第2の論理記憶領域へのデータの移行中に、前記仮想記憶領域に宛てて前記ホストコンピュータから送信されるデータを受信して一時的に保持するステップと、
少なくとも1つの前記複数の制御回路によって実行される前記第1の論理記憶領域から前記第2の論理記憶領域へのデータの移行に応じて、前記制御部により、前記第2のメモリに格納される前記複数のマッピング情報に含まれる前記第1のマッピング情報を前記仮想記憶領域と前記第2の論理記憶領域とが対応付けられる第2の前記マッピング情報へ更新するように制御し、さらに、前記第1のメモリに格納される前記第1のマッピング情報を前記第2のマッピング情報へ更新するように制御するステップと、
前記第1の論理記憶領域から前記第2の論理記憶領域へのデータの移行後に、前記仮想記憶領域に宛てて前記ホストコンピュータからデータを受信する場合には、前記第2のマッピング情報に基づいて、前記データ移行後に受信されるデータを、前記第2の論理記憶領域に宛てて送信するステップと、を有し、
前記第1の論理記憶領域から前記第2の論理記憶領域へのデータの移行中に受信され一時的に保持される前記データは、前記第1の論理記憶領域から読み出される必要なく、前記第2の論理記憶領域に格納されるものである、ことを特徴とするデータ移行制御方法。
A processor for controlling access to at least one first port connected to at least one host computer, a plurality of disk drives, and a plurality of logical storage areas associated with at least a part of the plurality of disk drives And a plurality of control circuits for controlling transfer of data transmitted and received at the first port and / or the plurality of second ports. And at least one first storage for storing mapping information used for data transfer control in at least one of the plurality of control circuits in association with a virtual storage area and a logical storage area of the plurality of storage devices. A plurality of memories having a memory and a plurality of said mapping information updates and at least one previous Data migration control in a virtualization apparatus comprising: a control unit that communicates information related to a plurality of mapping information with an external device; and a second memory that stores the plurality of mapping information and is used by the control unit A method,
The virtual storage area is associated with the first logical storage area of the first storage device included in the plurality of storage devices by the control of the first control circuit of the plurality of control circuits. Transmitting the data transmitted from the host computer addressed to the virtual storage area to the first logical storage area based on the mapping information of:
Transferring data stored in the first logical storage area to a second logical storage area of a second storage device included in the plurality of storage devices;
Receiving and temporarily holding data transmitted from the host computer addressed to the virtual storage area during data migration from the first logical storage area to the second logical storage area;
Stored in the second memory by the control unit in accordance with the data transfer from the first logical storage area to the second logical storage area executed by at least one of the plurality of control circuits. The first mapping information included in the plurality of mapping information is controlled to be updated to the second mapping information in which the virtual storage area and the second logical storage area are associated with each other. Controlling to update the first mapping information stored in one memory to the second mapping information;
When data is received from the host computer destined for the virtual storage area after data is transferred from the first logical storage area to the second logical storage area, the data is transferred based on the second mapping information. Sending the data received after the data migration to the second logical storage area,
The first of the data that will be temporarily held received during migration of data from the logical storage area to the second logical storage area is not required to be read from the first logical storage area, the second A data migration control method characterized by being stored in a logical storage area.
少なくとも1つのホストコンピュータに接続される少なくとも1つの第1のポートと、複数のディスクドライブと前記複数のディスクドライブの少なくとも一部に対応付けられる複数の論理記憶領域の各々へのアクセスを制御するプロセッサとを各々に有する複数の記憶装置に接続される複数の第2のポートと、前記第1のポート又は/及び前記複数の第2のポートで送受信されるデータの転送を制御する複数の制御回路と、仮想記憶領域と前記複数の記憶装置が有する論理記憶領域とが対応付けられており前記複数の制御回路のうちの少なくとも1つの制御回路におけるデータ転送制御に利用されるマッピング情報を格納する少なくとも1つの第1のメモリを有する複数のメモリと、複数の前記マッピング情報の更新を制御するとともに少なくとも1つの前記複数のマッピング情報に関する情報を外部の装置との間で通信する制御部と、前記制御部に利用され前記複数のマッピング情報が格納される第2のメモリと、を有する仮想化装置におけるデータ移行制御方法であって、
前記複数の制御回路のうちの第1の制御回路の制御により、前記仮想化装置が有する仮想記憶領域を識別するために用いられる第1の記憶領域識別情報と、前記複数の記憶装置に含まれる第1の記憶装置が有する第1の論理記憶領域を識別するために用いられる第2の記憶領域識別情報と、の対応関係を示す前記第1の前記マッピング情報に基づいて、前記ホストコンピュータから受信するデータの宛先に関する前記第1の記憶領域識別情報を前記第2の記憶領域識別情報に変換して、前記変換によって前記第2の記憶領域識別情報に関連付けられたデータを、前記第1の論理記憶領域に送信するステップと、
前記第1の論理記憶領域に格納されているデータを前記複数の記憶装置に含まれる第2の記憶装置が有する第2の論理記憶領域へ移行するステップと、
前記第1の論理記憶領域から前記第2の論理記憶領域へのデータの移行中に、前記ホストコンピュータから送信される前記第1の記憶領域識別情報に関連付けられたデータを受信して一時的に保持するステップと、
少なくとも1つの前記複数の制御回路によって実行される前記第1の論理記憶領域から前記第2の論理記憶領域へのデータの移行に応じて、前記制御部により、前記第2のメモリに格納される前記複数のマッピング情報に含まれる前記第1のマッピング情報が前記第1の記憶領域識別情報と前記第2の論理記憶領域を識別するために用いられる第3の記憶領域識別情報との対応関係を示す第2の前記マッピング情報へ更新されるように制御し、さらに、前記第1のメモリに格納される前記第1のマッピング情報が前記第2のマッピング情報へ更新されるように制御するステップと、
前記第2のマッピング情報へ更新された後は、前記第2のマッピング情報に基づいて、前記ホストコンピュータから受信するデータの宛先に関する前記第1の記憶領域識別情報を前記第3の記憶領域識別情報に変換して、前記第3の記憶領域識別情報と関連付けられたデータを前記第2の論理記憶領域に送るステップと、を有し、
前記第1の論理記憶領域から前記第2の論理記憶領域へのデータの移行中に受信され一時的に保持される前記データは、前記第1の論理記憶領域から読み出される必要なく、前記第2の論理記憶領域に格納されるものである、
ことを特徴とするデータ移行制御方法。
A processor for controlling access to at least one first port connected to at least one host computer, a plurality of disk drives, and a plurality of logical storage areas associated with at least a part of the plurality of disk drives And a plurality of control circuits for controlling transfer of data transmitted and received at the first port and / or the plurality of second ports. And at least storing mapping information used for data transfer control in at least one control circuit of the plurality of control circuits in association with a virtual storage area and a logical storage area included in the plurality of storage devices. A plurality of memories having one first memory and a plurality of mapping information updates are controlled and reduced. Virtualization comprising: a control unit that communicates information about at least one of the plurality of mapping information with an external device; and a second memory that is used by the control unit and stores the plurality of mapping information A data migration control method in an apparatus,
Included in the plurality of storage devices and first storage area identification information used to identify a virtual storage area of the virtualization device under the control of a first control circuit of the plurality of control circuits. Received from the host computer based on the first mapping information indicating a correspondence relationship with the second storage area identification information used for identifying the first logical storage area of the first storage device Converting the first storage area identification information relating to the destination of the data to be processed into the second storage area identification information, and converting the data associated with the second storage area identification information by the conversion into the first logic Sending to the storage area;
Migrating data stored in the first logical storage area to a second logical storage area of a second storage device included in the plurality of storage devices;
During the migration of data from the first logical storage area to the second logical storage area, data associated with the first storage area identification information transmitted from the host computer is received and temporarily received. Holding step;
Stored in the second memory by the control unit in accordance with the data transfer from the first logical storage area to the second logical storage area executed by at least one of the plurality of control circuits. The first mapping information included in the plurality of mapping information indicates a correspondence relationship between the first storage area identification information and the third storage area identification information used for identifying the second logical storage area. Controlling to be updated to the second mapping information shown, and further controlling to update the first mapping information stored in the first memory to the second mapping information; ,
After updating to the second mapping information, based on the second mapping information, the first storage area identification information regarding the destination of data received from the host computer is changed to the third storage area identification information. And converting the data associated with the third storage area identification information to the second logical storage area, and
The first of the data that will be temporarily held received during migration of data from the logical storage area to the second logical storage area is not required to be read from the first logical storage area, the second Is stored in the logical storage area of
A data migration control method characterized by the above.
請求項14に記載のデータ移行制御方法であって、
前記複数のメモリのうちの第3のメモリは、前記第1のメモリが格納する前記マッピング情報を利用する制御回路と異なる少なくとも1つ以上の前記複数の制御回路におけるデータ転送制御に利用される前記マッピング情報を格納するものであることを特徴とするデータ移行制御方法。
The data migration control method according to claim 14 ,
A third memory of the plurality of memories is used for data transfer control in at least one or more of the plurality of control circuits different from a control circuit using the mapping information stored in the first memory. A data migration control method characterized by storing mapping information.
請求項14に記載のデータ移行制御方法であって、
前記第1の制御回路は、前記第1のポート及び前記複数の第2のポートのうちの少なくとも1つのポートで送受信されるデータの転送を制御するものであり、
前記複数の制御回路のうちの第2の制御回路は、前記第1のポート及び前記複数の第2のポートのうち、前記第1の制御回路がデータの転送を制御する前記ポートと異なる少なくとも1つのポートで送受信されるデータの転送を制御するものであり、
前記複数のメモリのうちの第3のメモリは、前記第1のメモリが格納する前記マッピング情報を利用する制御回路と異なる少なくとも1つの前記複数の制御回路におけるデータ転送制御に利用される前記マッピング情報を格納するものである、
ことを特徴とするデータ移行制御方法。
The data migration control method according to claim 14 ,
The first control circuit controls transfer of data transmitted and received at at least one of the first port and the plurality of second ports,
The second control circuit of the plurality of control circuits includes at least one of the first port and the plurality of second ports that is different from the port that the first control circuit controls data transfer. It controls the transfer of data sent and received at one port,
The third memory of the plurality of memories is the mapping information used for data transfer control in at least one of the plurality of control circuits different from the control circuit using the mapping information stored in the first memory. Is to store,
A data migration control method characterized by the above.
請求項13乃至16のいずれかに記載のデータ移行制御方法であって、
前記ホストコンピュータから送信されるフレームの受信に応じて、前記フレームを前記複数の記憶装置に転送することなく、前記フレームに対する応答を前記フレームを送信したホストコンピュータに対して送信するステップを有することを特徴とするデータ移行制御方法。
A data migration control method according to any one of claims 13 to 16 , wherein
In response to reception of a frame transmitted from the host computer, the method includes a step of transmitting a response to the frame to the host computer that transmitted the frame without transferring the frame to the plurality of storage devices. Characteristic data migration control method.
請求項13乃至16のいずれかに記載のデータ移行制御方法であって、
前記ホストコンピュータから送信されるフレームに対応するフレームを前記複数の記憶装置のうちの少なくとも1つの又は複数の記憶装置に転送するステップ、又は前記ホストコンピュータから送信されるフレームに対する応答を前記フレームを送信したホストコンピュータに送信するステップ、のいずれかを実行する、ことを特徴とするデータ移行制御方法。
A data migration control method according to any one of claims 13 to 16 , wherein
Transferring a frame corresponding to a frame transmitted from the host computer to at least one or a plurality of storage devices of the plurality of storage devices, or transmitting a response to the frame transmitted from the host computer Any one of the steps of transmitting to the host computer that has been performed is performed.
請求項13乃至18のいずれかに記載のデータ移行制御方法であって、
前記第2のマッピング情報への更新は、前記第1の論理記憶領域から前記第2の論理記憶領域へのデータの移行が完了した場合に実行される、ことを特徴とするデータ移行制御方法。
A data migration control method according to any one of claims 13 to 18 ,
The update to the second mapping information is executed when data migration from the first logical storage area to the second logical storage area is completed.
請求項13乃至19のいずれかに記載のデータ移行制御方法であって、
前記仮想記憶領域を識別するために用いられる情報は、前記仮想化装置の仮想ポートを識別するために用いられる仮想ポート識別情報と関連付けられている、ことを特徴とするデータ移行制御方法。
A data migration control method according to any one of claims 13 to 19 ,
The data migration control method characterized in that the information used to identify the virtual storage area is associated with virtual port identification information used to identify a virtual port of the virtualization apparatus.
請求項13乃至19のいずれかに記載のデータ移行制御方法であって、
前記仮想記憶領域の識別には、前記仮想化装置の仮想ポート識別情報が用いられる、ことを特徴とするデータ移行制御方法。
A data migration control method according to any one of claims 13 to 19 ,
A data migration control method, wherein virtual port identification information of the virtualization apparatus is used for identifying the virtual storage area.
請求項13乃至19のいずれかに記載データ移行制御方法であって、
前記仮想記憶領域の識別には、前記仮想記憶領域のロジカルユニットナンバー(LUN)及び前記仮想化装置の仮想ポート識別情報が用いられる、ことを特徴とするデータ移行制御方法。
A data migration control method according to any one of claims 13 to 19 ,
A data migration control method, wherein the virtual storage area is identified by using a logical unit number (LUN) of the virtual storage area and virtual port identification information of the virtualization apparatus.
請求項13乃至22のいずれかに記載のデータ移行制御方法であって、
前記仮想化装置はスイッチ装置である、ことを特徴とするデータ移行制御方法。
A data migration control method according to any one of claims 13 to 22 ,
A data migration control method, wherein the virtualization device is a switch device.
請求項13乃至23のいずれかに記載のデータ移行制御方法であって、
前記ホストコンピュータから前記仮想記憶領域に宛てて送信される第1のリード要求を前記仮想化装置で受信するステップと、
前記第1の制御回路の制御により、前記第2のマッピング情報に基づいて、前記第1のリード要求を前記第2の記憶装置に送信するステップと、
前記複数の記憶装置に含まれる第3の記憶装置が有する第3の論理記憶領域と関連付けられた他の仮想記憶領域に宛てて前記ホストコンピュータまたは他のホストコンピュータから送信される第2のリード要求を、前記仮想化装置で受信するステップと、
前記複数の制御回路のうちの第2の制御回路の制御により、前記他の仮想記憶領域と前記第3の論理記憶領域の対応関係に基づき、前記第2のリード要求を前記第3の記憶装置に送信するステップと、を有することを特徴とするデータ移行制御方法。
A data migration control method according to any one of claims 13 to 23 , wherein
Receiving at the virtualization apparatus a first read request transmitted from the host computer to the virtual storage area;
Transmitting the first read request to the second storage device based on the second mapping information under the control of the first control circuit;
A second read request transmitted from the host computer or another host computer to another virtual storage area associated with a third logical storage area included in a third storage device included in the plurality of storage devices Receiving at the virtualization device;
Under the control of the second control circuit of the plurality of control circuits, the second read request is sent to the third storage device based on the correspondence between the other virtual storage area and the third logical storage area. And a step of transmitting to the data migration control method.
請求項1に記載の仮想化装置であって、
前記複数のメモリのうちの第3のメモリは、前記第1のメモリが格納する前記マッピング情報を利用する制御回路と異なる少なくとも1つ以上の前記複数の制御回路におけるデータ転送制御に利用される前記マッピング情報を格納するものであり、
前記制御部は、前記第1のメモリ、前記第2のメモリ及び前記第3のメモリのうちの少なくとも2つ以上のメモリに格納される前記マッピング情報を、同期して更新するように制御する、ことを特徴とする仮想化装置。
The virtualization device according to claim 1,
A third memory of the plurality of memories is used for data transfer control in at least one or more of the plurality of control circuits different from a control circuit using the mapping information stored in the first memory. That stores mapping information,
The control unit controls the mapping information stored in at least two or more of the first memory, the second memory, and the third memory to be updated synchronously; A virtualization apparatus characterized by that.
請求項1に記載の仮想化装置であって、
前記第1の制御回路は、前記複数の第1のポート及び前記第2のポートのうちの少なくとも1つ以上のポートで送受信されるデータの転送を制御するものであり、
前記複数の制御回路のうちの第2の制御回路は、前記複数の第1のポート及び前記第2のポートのうち、前記第1の制御回路がデータの転送を制御する前記ポートと異なる少なくとも1つ以上のポートで送受信されるデータの転送を制御するものであり、
前記複数のメモリのうちの第3のメモリは、前記第1のメモリが格納する前記マッピング情報を利用する制御回路と異なる少なくとも1つ以上の前記複数の制御回路におけるデータ転送制御に利用される前記マッピング情報を格納するものであり、
前記第2のマッピング情報への更新は、前記制御部が、前記第1の論理記憶領域から前記第2の論理記憶領域への前記データ移行に応じて、前記第1のメモリ、前記第2のメモリ及び前記第3のメモリのうちの少なくとも2つ以上のメモリに格納される前記第1のマッピング情報が前記第2のマッピング情報へ更新されるように制御する処理を含む、ことを特徴とする仮想
化装置。
The virtualization device according to claim 1,
The first control circuit controls transfer of data transmitted and received at at least one of the plurality of first ports and the second port,
The second control circuit of the plurality of control circuits is different from at least one of the plurality of first ports and the second port, the first control circuit controlling the data transfer. It controls the transfer of data sent and received at more than one port,
A third memory of the plurality of memories is used for data transfer control in at least one or more of the plurality of control circuits different from a control circuit using the mapping information stored in the first memory. That stores mapping information,
The update to the second mapping information is performed by the control unit according to the data migration from the first logical storage area to the second logical storage area. And a process of controlling the first mapping information stored in at least two of the memory and the third memory to be updated to the second mapping information. Virtualization device.
請求項14に記載のデータ移行制御方法であって、
前記複数のメモリのうちの第3のメモリは、前記第1のメモリが格納する前記マッピング情報を利用する制御回路と異なる少なくとも1つ以上の前記複数の制御回路におけるデータ転送制御に利用される前記マッピング情報を格納するものであり、
前記第1のマッピング情報を前記第2のマッピング情報へ更新するステップは、前記制御部が、前記第1のメモリ、前記第2のメモリ及び前記第3のメモリのうちの少なくとも2つ以上のメモリに格納される前記マッピング情報を同期して更新するように制御するステップを有する、ことを特徴とするデータ移行制御方法。
The data migration control method according to claim 14 ,
A third memory of the plurality of memories is used for data transfer control in at least one or more of the plurality of control circuits different from a control circuit using the mapping information stored in the first memory. That stores mapping information,
In the step of updating the first mapping information to the second mapping information, the control unit includes at least two or more of the first memory, the second memory, and the third memory. A data migration control method comprising the step of controlling to update the mapping information stored in the database synchronously.
請求項14に記載のデータ移行制御方法であって、
前記第1の制御回路は、前記複数の第1のポート及び前記第2のポートのうちの少なくとも1つ以上のポートで送受信されるデータの転送を制御するものであり、
前記複数の制御回路のうちの第2の制御回路は、前記複数の第1のポート及び前記第2のポートのうち、前記第1の制御回路がデータの転送を制御する前記ポートと異なる少なくとも1つ以上のポートで送受信されるデータの転送を制御するものであり、
前記複数のメモリのうちの第3のメモリは、前記第2の制御回路を含む少なくとも1つ以上の前記複数の制御回路におけるデータ転送制御に利用される前記マッピング情報を格納するものであり、
前記第1のマッピング情報を前記第2のマッピング情報へ更新するステップは、前記制御部が、前記第1の論理記憶領域から前記第2の論理記憶領域へのデータ移行に関連し前記第1のメモリ及び前記第3のメモリに格納される前記マッピング情報を、更新するように制御するステップを有する、ことを特徴とするデータ移行制御方法。
The data migration control method according to claim 14 ,
The first control circuit controls transfer of data transmitted and received at at least one of the plurality of first ports and the second port,
The second control circuit of the plurality of control circuits is different from at least one of the plurality of first ports and the second port, the first control circuit controlling the data transfer. It controls the transfer of data sent and received at more than one port,
A third memory of the plurality of memories stores the mapping information used for data transfer control in at least one of the plurality of control circuits including the second control circuit,
In the step of updating the first mapping information to the second mapping information, the control unit relates to data migration from the first logical storage area to the second logical storage area. A data migration control method comprising a step of controlling the mapping information stored in the memory and the third memory to be updated.
請求項14に記載のデータ移行制御方法であって、
前記第1の制御回路は、前記複数の第1のポート及び前記第2のポートのうちの少なくとも1つ以上のポートで送受信されるデータの転送を制御するものであり、
前記複数の制御回路のうちの第2の制御回路は、前記複数の第1のポート及び前記第2のポートのうち、前記第1の制御回路がデータの転送を制御する前記ポートと異なる少なくとも1つ以上のポートで送受信されるデータの転送を制御するものであり、
前記複数のメモリのうちの第3のメモリは、前記第2の制御回路を含む少なくとも1つ以上の前記複数の制御回路におけるデータ転送制御に利用される前記マッピング情報を格納するものであり、
前記第1のマッピング情報を前記第2のマッピング情報へ更新するステップは、前記制御部が、前記第1の論理記憶領域から前記第2の論理記憶領域へのデータ移行に応じて、前記第1のメモリ、前記第2のメモリ及び前記第3のメモリのうちの少なくとも2つ以上のメモリに格納される前記第1のマッピング情報が前記第2のマッピング情報に更新されるように制御するステップを有する、ことを特徴とするデータ移行制御方法。
The data migration control method according to claim 14 ,
The first control circuit controls transfer of data transmitted and received at at least one of the plurality of first ports and the second port,
The second control circuit of the plurality of control circuits is different from at least one of the plurality of first ports and the second port, the first control circuit controlling the data transfer. It controls the transfer of data sent and received at more than one port,
A third memory of the plurality of memories stores the mapping information used for data transfer control in at least one of the plurality of control circuits including the second control circuit,
The step of updating the first mapping information to the second mapping information is performed by the control unit according to data migration from the first logical storage area to the second logical storage area. Controlling the first mapping information stored in at least two or more of the second memory and the third memory to be updated to the second mapping information. A data migration control method characterized by comprising:
JP2003205895A 2002-11-25 2003-08-05 Virtualization control device and data migration control method Expired - Lifetime JP4606711B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003205895A JP4606711B2 (en) 2002-11-25 2003-08-05 Virtualization control device and data migration control method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2002340276 2002-11-25
JP2003205895A JP4606711B2 (en) 2002-11-25 2003-08-05 Virtualization control device and data migration control method

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2006305731A Division JP4509089B2 (en) 2002-11-25 2006-11-10 Virtualization control device and data migration control method

Publications (3)

Publication Number Publication Date
JP2004227558A JP2004227558A (en) 2004-08-12
JP2004227558A5 JP2004227558A5 (en) 2006-12-28
JP4606711B2 true JP4606711B2 (en) 2011-01-05

Family

ID=32910837

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003205895A Expired - Lifetime JP4606711B2 (en) 2002-11-25 2003-08-05 Virtualization control device and data migration control method

Country Status (1)

Country Link
JP (1) JP4606711B2 (en)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4462852B2 (en) * 2003-06-23 2010-05-12 株式会社日立製作所 Storage system and storage system connection method
JP4504762B2 (en) * 2004-08-19 2010-07-14 株式会社日立製作所 Storage network migration method, management apparatus, management program, and storage network system
JP4842909B2 (en) * 2004-08-30 2011-12-21 株式会社日立製作所 Storage system and data relocation control device
US7395396B2 (en) 2004-08-30 2008-07-01 Hitachi, Ltd. Storage system and data relocation control device
US7062624B2 (en) * 2004-09-29 2006-06-13 Hitachi, Ltd. Method for managing volume groups considering storage tiers
JP2006285464A (en) * 2005-03-31 2006-10-19 Hitachi Ltd Computer system, storage, and device control method
US7130960B1 (en) * 2005-04-21 2006-10-31 Hitachi, Ltd. System and method for managing disk space in a thin-provisioned storage subsystem
JP4741304B2 (en) * 2005-07-11 2011-08-03 株式会社日立製作所 Data migration method or data migration system
JP4955996B2 (en) * 2005-09-20 2012-06-20 株式会社日立製作所 Volume migration method and storage network system
US7702851B2 (en) 2005-09-20 2010-04-20 Hitachi, Ltd. Logical volume transfer method and storage network system
JP4852298B2 (en) * 2005-10-28 2012-01-11 株式会社日立製作所 Method for taking over information for identifying virtual volume and storage system using the method
JP2007199756A (en) * 2006-01-23 2007-08-09 Hitachi Ltd Computer system and data copying method
JP4800059B2 (en) * 2006-02-13 2011-10-26 株式会社日立製作所 Virtual storage system and control method thereof
JP5087249B2 (en) * 2006-09-06 2012-12-05 株式会社日立製作所 Storage system and storage system control method
JP2009146106A (en) 2007-12-13 2009-07-02 Hitachi Ltd Storage system having function which migrates virtual communication port which is added to physical communication port
US7849265B2 (en) * 2007-12-18 2010-12-07 Hitachi, Ltd. Avoiding use of an inter-unit network in a storage system having multiple storage control units
JP5153392B2 (en) * 2008-03-11 2013-02-27 株式会社日立製作所 Storage control apparatus and method
JP2009223400A (en) * 2008-03-13 2009-10-01 Toshiba Corp Computer system
US20090240880A1 (en) * 2008-03-21 2009-09-24 Hitachi, Ltd. High availability and low capacity thin provisioning
US8534216B2 (en) 2008-06-10 2013-09-17 Roundpeg Innovations Pty Ltd. Device and method for boarding an aircraft
JP5026375B2 (en) 2008-09-09 2012-09-12 株式会社日立製作所 Storage device and storage device control method
US20100070722A1 (en) * 2008-09-16 2010-03-18 Toshio Otani Method and apparatus for storage migration
JP2010231567A (en) * 2009-03-27 2010-10-14 Fujitsu Ltd Storage switch and method for changing storage area size
JP5247622B2 (en) * 2009-08-06 2013-07-24 ヤフー株式会社 Database server, data distribution method and server system
JP5313980B2 (en) * 2010-08-30 2013-10-09 株式会社エヌ・ティ・ティ・ドコモ Disk management system, disk management apparatus, and disk management method
US8762669B2 (en) 2010-11-16 2014-06-24 Hitachi, Ltd. Computer system and storage migration method utilizing acquired apparatus specific information as virtualization information
US8762668B2 (en) * 2010-11-18 2014-06-24 Hitachi, Ltd. Multipath switching over multiple storage systems
JP5965782B2 (en) * 2012-08-27 2016-08-10 株式会社エヌ・ティ・ティ・データ Data transmitting apparatus, data transmitting method and program
JP6005446B2 (en) * 2012-08-31 2016-10-12 富士通株式会社 Storage system, virtualization control device, information processing device, and storage system control method

Also Published As

Publication number Publication date
JP2004227558A (en) 2004-08-12

Similar Documents

Publication Publication Date Title
JP4606711B2 (en) Virtualization control device and data migration control method
US7263593B2 (en) Virtualization controller and data transfer control method
US10162567B2 (en) Computer system
US7228380B2 (en) Storage system that is connected to external storage
JP4859471B2 (en) Storage system and storage controller
JP4297747B2 (en) Storage device
US7269667B2 (en) Disk array system and method for migrating from one storage system to another
JP4509089B2 (en) Virtualization control device and data migration control method
JP2004220450A (en) Storage device, its introduction method and its introduction program
JP2005202495A (en) Data transfer method
WO2015079528A1 (en) Computer system, and computer system control method
JP4433372B2 (en) Data access system and method
JP7197545B2 (en) Storage system and storage system control method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051227

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20060420

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20061012

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20061012

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061110

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20061110

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20061114

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20061220

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061226

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20070118

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070223

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070329

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070528

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070719

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070919

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20071012

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071026

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20071101

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20081003

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20090210

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100813

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101006

R150 Certificate of patent or registration of utility model

Ref document number: 4606711

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131015

Year of fee payment: 3

EXPY Cancellation because of completion of term