(57)【要約】【課題】  ボリュームの複製ペアの正ボリュームをホストが認識している状態で、正ボリュームをＳＡＮ（ストレージエリアネットワーク）から削除する場合や正ボリュームと副ボリュームと交換する場合、ホストは交換後の正ボリュームを新しく認識し直し、構成を変更しなくてはならない。【解決手段】  ＳＡＮ上のファブリックにおいてボリュームの仮想化サーバを設け、正ボリュームにも副ボリュームにも依存しない構成情報を持つ仮想ボリュームをホストに認識させる。ホストは仮想ボリュームを認識してアクセスする。正ボリュームをＳＡＮから削除した場合や正ボリュームと副ボリュームを交換した場合でも構成情報は不変であるため、ボリュームを改めて認識することなくアクセスすることが可能になる。【選択図】  図１
2007102512.tif 000002
【特許請求の範囲】
【請求項１】
ホスト計算機と、複数のストレージ装置と、前記ホスト計算機及び複数の前記ストレージ装置の間に設けられたスイッチとを有する情報処理システムにおいて、
前記スイッチは、仮想化サーバと、仮想化マップを備え、前記ストレージ装置の有する複製ペアの正ボリュームまたは副ボリュームのアドレス、ＬＵＮ、その他の属性とは相異なるアドレス、ＬＵＮ、その他の属性を持った仮想ボリュームを構成することを特徴とした情報処理システム。
【請求項２】
請求項１の情報処理システムにおいて、前記スイッチは複数設けられ、一つのスイッチにおいて仮想化マップを更新し、他のスイッチに対して更新情報を送信し、受信した他のスイッチが更新情報を仮想化マップに反映させることを特徴とした情報処理システム。
【請求項３】
請求項１の情報処理システムにおいて、それぞれの前記ストレージ装置は、前記仮想化サーバの要求に対し、複製ペアの正ボリュームおよび副ボリュームのＬＵＮと、ボリューム属性と、ボリューム種別と、ペアを組んでいる相手のボリュームのアドレスおよびＬＵＮを送信することを特徴とした情報処理システム。
【請求項４】
請求項３の情報処理システムにおいて、それぞれの前記ストレージ装置は、複製ペアの構成変更を行った場合には、ペア構成を変更したことを前記仮想化サーバに通知することを特徴とした情報処理システム。
【請求項５】
請求項３の情報処理システムにおいて、それぞれの前記ストレージ装置は、ポートアドレス上のボリューム情報について前期ホストから問い合わせがあった場合には、ペアを組んでいないボリュームの情報のみを通知することを特徴とした情報処理システム。
【請求項６】
請求項３の情報処理システムにおいて、それぞれの前記ストレージ装置は、ペア内でデータ同期処理を行った場合には、データ同期処理を行ったペアボリューム情報を前記仮想化サーバに通知し、前記仮想化サーバはペアボリュームに対応する仮想ボリュームにおいて、ペア内でデータの同期がとられた状態であるか否かを管理することによって、ペア内でデータの同期がとられた状態でホストからの読み出し要求に対し正ボリュームと副ボリュームに要求処理を分散することを特徴とした情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＳＡＮ（ストレージエリアネットワーク）に接続されたボリュームの仮想化に関し、特にボリューム複製の技術によって作成されるペアに対する仮想化に関する。
【背景技術】
【０００２】
従来の複製技術では、ＳＡＮに接続された正ボリュームに対して、一つ以上の副ボリュームとペアを組み、正ボリュームに対して行ったデータの更新を副ボリューム各々に対しても同期または非同期に行うことで、ペア内の各ボリュームの同期処理を行っている。副ボリュームもまたＳＡＮに接続されているが、ホストは正ボリュームのみ認識し、正ボリュームに対するアクセスのみ許可される。
【０００３】
【特許文献１】特開２００５−２５４８５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上記従来技術では、ホストが正ボリュームに対してアクセスする場合には、ホストはストレージ装置のポートやＬＵＮを意識してアクセスを行うため、ディスクの障害や交換のために正ボリュームをＳＡＮから削除したい場合や、正ボリュームと副ボリュームを交換したい場合に、それまでとは異なるストレージ装置のポートに割り当てられていたり異なるＬＵＮを持っていたりするボリュームを正ボリュームとして、ホストに対して改めて構成させなくてはならない。
【０００５】
本発明の目的は、正ボリュームの削除や交換に対してホスト側の構成を変更することなく、ホストが交換後の正ボリュームにアクセスできるようにすることである。
【課題を解決するための手段】
【０００６】
本発明では、正ボリュームにも副ボリュームにも依存しない構成情報を持つ仮想ボリュームをホストに認識させるボリューム仮想化の手段と、前記手段をＳＡＮ上のスイッチによって構成されるファブリックにおいて提供する手段により、上記目的を達成する。
【発明の効果】
【０００７】
本発明によれば、ホスト側は仮想ボリュームを認識してアクセスし、正ボリュームをＳＡＮから削除した場合や正ボリュームと副ボリュームを交換した場合でも仮想ボリュームの構成情報は不変であるため、ホストはボリュームを改めて認識することなくアクセスすることが可能になる。
【発明を実施するための最良の形態】
【０００８】
以下、本発明の実施形態について、図面を参照しながら詳細に説明する。
【０００９】
図１は本発明の実施例の構成図である。スイッチ１００およびスイッチ２００を相互に接続することによってファブリックを構成した図であるが、スイッチは一つまたは三つ以上であっても適応できる。またこの図では、スイッチやストレージ装置の構成を管理するＳＡＮ管理サーバ３００、ホスト４００、ストレージ装置５００およびストレージ装置６００が接続され、ＳＡＮを構成している図であるが、ＳＡＮ管理サーバまたはホストは二つ以上が接続されていても適応でき、同様にストレージ装置も一つまたは三つ以上が接続されていても適応できる。
【００１０】
スイッチ１００は既存の技術を利用しており、メモリ部１１１と処理部１１２で構成される中央制御装置１１０を有し、このメモリ部１１１にはネームサーバ１１３を有する。本発明ではこのスイッチ１００のメモリ部１１１上に、ボリュームの仮想化を提供する仮想化サーバ１１４と、仮想化を提供するために正ボリュームと副ボリュームと仮想ボリュームの構成情報およびそれら同士の対応情報を保持する仮想化マップ１１５も備える。
【００１１】
ファブリックを構成するこのほかのスイッチ２００も、スイッチ１００と同様にメモリ部２１１と処理部２１２で構成される中央制御装置２１０を有し、メモリ部２１１にはネームサーバ２１３を有し、本発明ではメモリ部２１１に仮想化サーバ２１４と仮想化マップ２１５も備える。
【００１２】
ストレージ装置５００が有している正ボリューム５１０は、同一装置内の同一ポートに割り当てられたほかの副ボリューム５２０や、同一装置内の異なるポートに割り当てられた副ボリューム５３０や、ＳＡＮに接続されたほかのストレージ装置６００が有している副ボリューム６１０とペアを組むことができる。
【００１３】
図２は仮想化マップ１１５のテーブル１０００の構成図である。各行は仮想ボリュームも含めた各ボリューム単位に作成し、テーブル上でボリュームを識別するためのＩＤ１０１０と、前記ボリュームに割り当てられたストレージ装置のポートのポートアドレス１０２０と、前記ポートのポートＷＷＮ１０３０と、前記ポートのノードＷＷＮ１０４０と、前記ボリュームのドライブ番号であるＬＵＮ１０５０と、前記ボリュームのその他の属性１０６０と、前記ボリュームが正ボリュームであるか副ボリュームであるか仮想ボリュームであるかを示すボリューム種別１０７０と、前記ボリュームに対応する正ボリュームのＩＤ１０８０と、前記ボリュームに対応する副ボリュームのＩＤ１０９０と、前記ボリュームに対応する仮想ボリュームのＩＤ１１００と、複製ペアのデータ同期処理が行われペア内でデータの同一性が保証された状態であるか否かを示す同期フラグ１１１０で構成されている。
【００１４】
同期フラグ１１１０は、値がＹである場合はペア内でデータの同一性が保証された状態であることを示し、Ｎである場合は同一性が保証されていない状態（正ボリュームに対するデータの更新が未だ副ボリュームに反映されていない状態）であることを示す。
【００１５】
ストレージ装置は、ペア内のデータ同期処理を行った後、データ同期処理を行ったペアボリュームの情報を仮想化サーバに通知する機能を新たに持つ。そのため、各ストレージ装置は、各ボリュームを管理し、ホストからのアクセスを制御する処理部を有している。その通知を受信した仮想化サーバは前記ペアボリュームに対応する仮想ボリュームの同期フラグ１１１０をＹにする。
【００１６】
図３は本発明を用いたシステムにおいて、ホストから仮想ボリュームへアクセスする処理シーケンス図である。
【００１７】
ホスト４００はファブリックのネームサーバ１１３に対して、ＳＡＮ上に接続されているデバイスのアドレスを問い合わせ（ステップ２０００）、問合せを受信したネームサーバ１１３は仮想化サーバ１１４へ仮想ボリュームのアドレスを要求する（ステップ２００１）。それを受信した仮想化サーバ１１４は、ストレージ装置５００へペアを組んでいるボリュームのリストを要求し（ステップ２００２）、要求に対してストレージ装置５００は装置内の正ボリュームまたは副ボリュームのそれぞれについて、ＬＵＮと、ボリューム属性と、ボリューム種別と、ペアを組んでいる相手のボリュームのアドレスおよびＬＵＮをリストにして、仮想化サーバ１１４へ回答する（ステップ２００３）。ストレージ装置５００が装置内のペアボリュームリストを仮想化サーバへ回答する機能は、本発明のために新たに設ける機能であり、これはストレージ装置内の処理部により実行される。回答を受信した仮想化サーバ１１４は前記リストと仮想化マップを用いて仮想ボリュームを作成または削除し、仮想アドレス（即ち仮想ボリュームのアドレス）をネームサーバ１１３に通知する（ステップ２００４）。ネームサーバ１１３は前記仮想ボリュームのアドレスも含め、自ら保持しているＳＡＮ上の全てのアドレスをホスト４００へ回答する（ステップ２００５）。
【００１８】
ホスト４００は回答されたアドレスに宛てて、そのアドレス上のボリュームの情報としてＬＵＮとボリューム属性を問い合わせる。仮想アドレス宛てにボリューム情報を問い合わせる場合（ステップ２００６）、仮想化サーバ１１４がその問合せを受信して、仮想化マップ上に保持している仮想ボリュームの情報を回答する（ステップ２００７）。
【００１９】
ホスト４００はステップ２００５で回答されたアドレスと、ステップ２００７で回答されたＬＵＮやボリューム属性を用いて、仮想ボリュームにアクセスし（ステップ２００８）、そのアクセス要求は仮想化サーバ１１４が一旦受け取り、要求の宛先を前記仮想ボリュームに対応する正ボリューム５１０の宛先に変換して発行する（ステップ２００９）。正ボリューム５１０からアクセス要求の結果を仮想化サーバ１１４が受け取ると、結果の送信元を仮想ボリュームに変換してアクセス要求の結果をホスト４００に返送する。なお宛先の変換は、図８で後述するとおり副ボリュームの宛先に変換する場合もある。
【００２０】
なお、ネームサーバ１１３はステップ２００５で仮想ボリュームのアドレスだけでなく実アドレスもホストに回答する。この実アドレス宛てにホスト４００がボリューム情報を問い合わせる場合、仮想化サーバ１１４は介さずに直接ストレージ装置５００に問い合わせる。前記実アドレス上には、仮想ボリュームに対応する正ボリュームまたは副ボリュームが接続されている場合があるため、問合せを受けたストレージ装置５００には、ペアを組んでいないボリュームの情報のみを回答する機能を新たに設け、この機能によって、ホスト４００が正ボリュームまたは副ボリュームに直接アクセスすることを防止する。
【００２１】
図４は、正ボリュームの削除やペア内で正副を交換するなど、ペア構成に変更が発生した時の仮想化マップ更新処理のシーケンス図である。
【００２２】
ストレージ装置５００において、ＳＡＮ管理サーバ３００からの指示によってペア構成を変更した場合、変更が発生した事をファブリックの仮想化サーバ１１４へ通知する機能をストレージ装置５００に新たに設ける。ストレージ装置５００が仮想化サーバ１１４へ前記通知を行う（ステップ２１００）と、図３のステップ２００２と同様にしてストレージ装置５００に対してペアボリュームのリストを要求し（ステップ２１０１）、要求に対してストレージ装置５００は、図３のステップ２００３と同様にして装置内のペアボリュームについてのリストを仮想化サーバ１１４へ回答する（ステップ２１０２）。
【００２３】
仮想化サーバ１１４は、回答されたリストを元にして保持している仮想化マップの情報を更新する（ステップ２１０３）。このときペア自体が削除されている場合は、ファブリック内のネームサーバ１１３に対して仮想ボリュームのアドレス情報を削除するよう通知する（ステップ２１０４）。
【００２４】
図５はファブリック内の仮想化マップの更新および同期処理のフローチャートである。これは図３に示したステップ２００４の処理や図４に示したステップ２１０３の処理を詳細に示したものである。
【００２５】
仮想化サーバがストレージ装置からペアを組んでいるボリュームのリストを受信すると（ステップ３０００）、前記ペアボリュームリストと仮想化マップの内容をつき合わせ、ボリューム単位に差分を求める（ステップ３００１）。差分を求めた結果、前記ペアボリュームリストにはあるが仮想化マップに無いボリュームが一つ以上存在するかどうか判断し（ステップ３００２）、存在する場合はそれらのボリュームを全て仮想化マップに登録する（ステップ３００３）。
【００２６】
次に、ステップ３００１で差分を求めた結果、前記ペアボリュームリストには無いが仮想化マップにはあるボリュームが一つ以上存在するかどうか判断し（ステップ３００４）、存在する場合はそれらのボリュームを全て仮想化マップから削除する（ステップ３００５）。
【００２７】
ステップ３００３およびステップ３００５の結果、仮想化マップになされた更新情報を、各スイッチに対して送信し（ステップ３００６）、各スイッチでは受信した更新情報を元に仮想化マップを更新する（ステップ３００７）。
【００２８】
図６はボリュームを仮想化マップに登録する処理のフローチャートである。これは図５に示したステップ３００３の詳細処理である。
【００２９】
ステップ３０００で受信したペアボリュームリストを元に仮想化マップテーブル１０００にボリュームを登録する（ステップ３１００）。
【００３０】
次に、前記ボリュームのボリューム種別１０７０が何であるかを判断し（ステップ３１０１）、正ボリュームであれば対応する仮想ボリュームの情報を決定し、仮想ボリュームを仮想化マップに登録する（ステップ３１０２）。仮想ボリュームの情報のうち、ポートアドレスと、ポートＷＷＮと、ノードＷＷＮおよびＬＵＮは仮想化マップ上には無い値とし、ボリューム属性は前記正ボリュームと同じ属性を持たせるようにして決定する。また同期フラグの値はこの時点ではＮとする。これはペアを構成した時点からペア内のデータ同期処理が開始されるため、ペアボリュームおよび仮想ボリュームを仮想化マップに登録する時点では、ペア内のデータが同一である保証が無いためである。
【００３１】
次に、仮想化マップから仮想ボリュームに対応する正ボリュームの行を検索してその行の仮想ボリュームのＩＤ１１００に前記仮想ボリュームのＩＤを登録する（ステップ３１０３）。これによって前記仮想ボリュームが作成されＳＡＮに接続されたと見なすことができ、ファブリックのネームサーバに前記仮想ボリュームのアドレス情報（ポートアドレス、ポートＷＷＮ、ノードＷＷＮ）を通知する（ステップ３１０４）。
【００３２】
ステップ３１０１の結果が副ボリュームの場合、仮想化マップから前記副ボリュームに対応する正ボリュームと、前記正ボリュームに対応する仮想ボリュームをそれぞれ検索し、各行の副ボリュームのＩＤ１０９０に前記副ボリュームのＩＤを登録し（ステップ３１０５）、前記副ボリュームの行の仮想ボリュームのＩＤ１１００にステップ３１０５で検索した仮想ボリュームのＩＤを登録する（ステップ３１０６）。
【００３３】
図７はボリュームを仮想化マップから削除する処理のフローチャートである。これは図５に示したステップ３００５の詳細処理である。
【００３４】
ステップ３００１で求めた差分情報を元に、仮想化マップから削除するボリュームの種別を判断し（ステップ３２００）、副ボリュームである場合、仮想化マップから前記副ボリュームに対応する正ボリュームと仮想ボリュームをそれぞれ検索して各行の副ボリュームのＩＤを削除し（ステップ３２０１）、前記副ボリュームを仮想化マップから削除する（ステップ３２０２）。
【００３５】
ステップ３２００の結果が正ボリュームの場合、対応する副ボリュームのＩＤが仮想化マップに登録されているか検索し（ステップ３２０３）、対応する副ボリュームのＩＤが一つ以上登録されている場合、これらの副ボリュームの中から一つを新たな正ボリュームとして選択する（ステップ３２０４）。次に、仮想化マップから削除する正ボリュームに対応する副ボリュームと仮想ボリュームをそれぞれ検索して各行から削除する正ボリュームのＩＤを削除し、ステップ３２０４で新たな正ボリュームとして決定した副ボリュームのＩＤを正ボリュームＩＤ列１０８０に更新する（ステップ３２０５）。そして仮想化マップから前記正ボリュームの行を削除する（ステップ３２０６）。
【００３６】
ステップ３２０３の結果、対応する副ボリュームのＩＤが仮想化マップに登録されていない場合、仮想化マップから削除する正ボリュームに対応する仮想ボリュームの行を削除する（ステップ３２０７）。これによって前記仮想ボリュームがＳＡＮから削除されたと見なすことができ、ファブリックのネームサーバに前記仮想ボリュームのアドレス情報（ポートアドレス、ポートＷＷＮ、ノードＷＷＮ）を削除するよう通知する（ステップ３２０８）。
【００３７】
図８は仮想ボリュームへのアクセス要求を分散する処理のフローチャートである。これは図３に示したステップ２００９の詳細処理である。
【００３８】
ホストから仮想ボリュームへのアクセス要求を仮想化サーバが一旦受け取り、その要求が読み出しか書き込みかを判断し（ステップ３３００）、読み出しである場合、アクセス対象の仮想ボリュームについて、仮想化マップテーブル１０００の同期フラグ１１１０を参照する（ステップ３３０１）。同期フラグ１１１０がＹである場合、前記読み出し要求の宛先を正ボリュームまたは副ボリュームに変換して読み出し要求を発行する（ステップ３３０２）。
【００３９】
ステップ３３０１の結果、同期フラグ１１１０がＮである場合、前記読み出し要求の宛先を正ボリュームに変換して読み出し要求を発行する（ステップ３３０３）。
【００４０】
ステップ３３００の結果、ホストから仮想ボリュームへの書き込み要求である場合、書き込み対象の仮想ボリュームについて、仮想化マップテーブル１０００の同期フラグ１１１０の値をＮにして（ステップ３３０４）、前記書き込み要求の宛先を正ボリュームに変換して書き込み要求を発行する（ステップ３３０５）。
【図面の簡単な説明】
【００４１】
【図１】本発明の構成図である。
【図２】仮想化マップのテーブル構成図である。
【図３】ホストから仮想ボリュームへアクセスする処理のシーケンス図である。
【図４】ペア構成に変更があった時の仮想化マップ更新処理のシーケンス図である。
【図５】仮想化マップの更新および同期処理のフローチャート図である。
【図６】仮想化マップへボリュームを登録する処理のフローチャート図である。
【図７】仮想化マップからボリュームを削除する処理のフローチャート図である。
【図８】仮想ボリュームへのアクセス要求を分散する処理のフローチャート図である。
【符号の説明】
【００４２】
１００、２００  スイッチ
１１０、２１０  中央制御装置
１１１、２１１  メモリ部
１１２、２１２  処理部
１１３、２１３  ネームサーバ
１１４、２１４  仮想化サーバ
１１５、２１５  仮想化マップ
３００  ＳＡＮ管理サーバ
４００  ホスト
５００、６００  ストレージ装置
５１０  正ボリューム
５２０、５３０、６１０  副ボリューム
【図１】
2007102512.tif 000003
【図２】
2007102512.tif 000004
【図３】
2007102512.tif 000005
【図４】
2007102512.tif 000006
【図５】
2007102512.tif 000007
【図６】
2007102512.tif 000008
【図７】
2007102512.tif 000009
【図８】
2007102512.tif 000010