(57)【要約】【課題】  ホストに対して透過的にボリュームを切替可能とする。【解決手段】  第１ストレージ装置２Ａと第２ストレージ装置２Ｂとは通信ネットワーク３Ｂを介して接続されており、第２ストレージ装置２Ｂの有するボリューム８は、第１ストレージ装置２Ａのボリュームとしてマッピングされている。ホスト１は、仮想ＬＵ４を介してボリューム６またはボリューム８のいずれかにアクセス可能である。テーブル類から構成可能な接続制御部５は、仮想ＬＵ４とボリューム６またはボリューム８のいずれか一つとを接続させる。接続先の切替は、ホスト１に対して透過的に行われ、ホスト１に認識されない。従って、ホスト１を常に同一の仮想ＬＵ４にアクセスさせながら、実際のデータ格納先ボリュームを切り替えることができる。【選択図】        図１
2006085398.tif 000002
【特許請求の範囲】
【請求項１】
上位装置からデータ入出力のアクセス対象として認識される少なくとも一つ以上のアクセス先デバイスと、
前記アクセス先デバイスに接続され、前記アクセス先デバイスを対象とするデータを格納するデータ格納先デバイスと、
前記アクセス先デバイスと前記各データ格納先デバイスとの接続状態を制御する接続制御部と、を備え、
前記接続制御部は、前記各データ格納先デバイスのうち選択された所定のデータ格納先デバイスを前記アクセス先デバイスに接続させるストレージ装置。
【請求項２】
前記接続制御部は、入力された切替指示に基づいて、前記所定のデータ格納先デバイスを、指定された前記アクセス先デバイスに関連付けることにより接続させる請求項１に記載のストレージ装置。
【請求項３】
前記接続制御部は、前記アクセス先デバイスを前記所定のデータ格納先デバイスに接続させる第１状態と、前記アクセス先デバイスを前記各データ格納先デバイスのいずれにも接続させない第２状態と、の少なくとも２種類の状態で、前記接続状態を制御する請求項２に記載のストレージ装置。
【請求項４】
前記アクセス先デバイスは、前記接続制御部によって前記第２状態に置かれている場合でも、前記上位装置からの所定のコマンドに応答可能である請求項３に記載のストレージ装置。
【請求項５】
前記所定のコマンドは、センスコマンドである請求項４に記載のストレージ装置。
【請求項６】
外部に設けられた他のストレージ装置とデータ授受を行うための外部接続部をさらに備えており、
前記各データ格納先デバイスのうち少なくとも一部のデータ格納先デバイスは、前記他のストレージ装置内に設けられている請求項１に記載のストレージ装置。
【請求項７】
前記各データ格納先デバイスは、仮想的な中間デバイスを介して前記アクセス先デバイスと関連付けられるようになっており、
前記接続制御部は、前記アクセス先デバイスに固定的に接続されている前記仮想的な中間デバイスと前記所定のデータ格納先デバイスとの関連付けを行うことにより、前記アクセス先デバイスと前記所定のデータ格納先デバイスとを接続するものである請求項１に記載のストレージ装置。
【請求項８】
前記各データ格納先デバイスは、仮想的な中間デバイスを介して前記アクセス先デバイスと関連付けられるようになっており、
前記接続制御部は、前記データ格納先デバイスに固定的に接続されている前記仮想的な中間デバイスと前記アクセス先デバイスとの関連付けを行うことにより、前記アクセス先デバイスと前記所定のデータ格納先デバイスとを接続するものである請求項１に記載のストレージ装置。
【請求項９】
前記アクセス先デバイスと前記所定のデータ格納先デバイスとを関連付けるための管理情報構造体を記憶するメモリ部をさらに備え、
前記接続制御部は、入力された切替指示に基づいて、前記管理情報構造体に所定の情報を設定することにより、前記アクセス先デバイスと前記所定のデータ格納先デバイスとを関連付けて接続するものである請求項１に記載のストレージ装置。
【請求項１０】
前記上位装置は、汎用オペレーティングシステム及び汎用通信プロトコルを搭載しており、論理ユニット（ＬＵ）を前記アクセス先デバイスとして認識する請求項１に記載のストレージ装置。
【請求項１１】
前記上位装置は、メインフレームマシンであり、論理デバイス（LDEV）を前記アクセス先デバイスとして認識する請求項１に記載のストレージ装置。
【請求項１２】
前記データ格納先デバイスは、中間デバイスに設定されており、この中間デバイスは、それぞれデータを記憶する複数の物理的なデバイスにより提供される記憶領域上に設定されるものである請求項１に記載のストレージ装置。
【請求項１３】
複数のデータ格納先デバイスを利用可能なストレージ装置のデバイス切替制御方法であって、
上位装置とのマウントポイントを固定化して前記上位装置と前記マウントポイントとの間の接続を維持した状態で、
前記各データ格納先デバイスのうち選択されたいずれか一つのデータ格納先デバイスと前記マウントポイントとを切替可能に接続するストレージ装置の制御方法。
【請求項１４】
第１ストレージ装置と第２ストレージ装置とを通信可能に接続して構成されるストレージシステムであって、
前記第１ストレージ装置は、
外部との間のデータ授受を制御する上位インターフェース制御部と、
データを記憶するための複数の物理デバイス群との間のデータ授受をそれぞれ制御する下位インターフェース制御部と、
前記上位インターフェース制御部及び前記下位インターフェース制御部に共用されるメモリ部と、
前記各物理デバイス群が提供する記憶領域上にそれぞれ設けられた少なくとも一つ以上の中間デバイスと、
前記中間デバイスの記憶領域上に設けられた少なくとも一つ以上の論理デバイスと、
前記論理デバイス及び／又は前記第２ストレージ装置の有する論理デバイスに関連付けられる複数の仮想的な中間デバイスと、
前記各仮想的な中間デバイスにそれぞれ関連付けられ、前記上位インターフェース制御部に接続される上位装置からデータ入出力のアクセス対象として認識可能な上層側論理デバイスと、
前記メモリ部に記憶される管理情報によって、前記各仮想的な中間デバイスと前記各論理デバイスとの間、または、前記各上層側論理デバイスと前記各仮想的な中間デバイスとの間の接続状態の少なくともいずれか一方を制御する接続制御部と、を備え、
前記接続制御部は、前記各上層側論理デバイスと前記上位装置との間の通信接続を維持した状態で、選択された論理デバイスと選択された前記上層側論理デバイスとを、前記仮想的な中間デバイスを介して切替可能に接続するストレージシステム。
【請求項１５】
前記接続制御部は、前記選択された上層側論理デバイスを前記選択された論理デバイスに接続させる第１状態と、前記選択された上層側論理デバイスを前記各論理デバイスのいずれにも接続させない第２状態と、の少なくとも２種類の状態で、前記接続状態を制御可能な請求項１４に記載のストレージ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージ装置及びストレージ装置のデバイス切替制御方法に関する。
【背景技術】
【０００２】
ストレージ装置は、例えば、ハードディスクドライブや半導体メモリ装置等のディスクドライブをアレイ状に配設し、RAID（Redundant Array of Independent Inexpensive Disks）に基づく記憶領域を提供する。ホストコンピュータ（以下、「ホスト」）は、ストレージ装置により提供される論理的な記憶領域にアクセスし、データの読み書きを行う。
【０００３】
ストレージ装置には、高可用性、高信頼性が求められる。そこで、現用ディスクと予備ディスクとをミラー化した複数のミラーディスクを用いてディスクアレイを構成し、障害発生に備えることが知られている（特許文献１）。この文献に記載の技術では、障害の発生が予測された場合に、データ読出し元となるディスクを現用ディスクから予備ディスクに切り替えるようにしている。なお、この文献に記載の技術は、ディスクアレイの各構成要素を単純にそれぞれミラー化するだけのもので、物理的な記憶領域上に論理的に設けられるボリュームの切替を開示するものではない。
【特許文献１】特開平７−１２９３３１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
種々の理由から、ホストは、使用するボリューム（LDEV：Logical Device）を切り替えることがある。LDEVを切り替える場合は、使用中のLDEVとＬＵ（Logical Unit）とを一度切り離して、そのＬＵに新たなLDEVを接続する必要がある。しかし、LDEVから切り離されたＬＵは、ホストからの認識を一時的に失うため、LDEVの切替が完了するまでの期間内に、ホストによるＬＵの認識が一時的に途絶える。
【０００５】
ここで、もしもホスト上で障害監視ソフトウェア等が稼働しているような場合、この障害監視ソフトウェアによって、LDEV切替中におけるＬＵの認識中断がパス障害の発生であるとして検出される可能性がある。また、ホストのOSがWindows（登録商標）の場合、LDEV切替中におけるＬＵの認識中断は、いわゆるPnP（Plug and Play）を発生させる原因ともなり得る。
【０００６】
このように、ホストがデータ処理業務を実行中にLDEVの切替操作を行うと、この切替操作によるＬＵとLDEVとの切り離しがホストに認識されてしまい、ホスト上のデータ処理業務に影響を与える可能性がある。
【０００７】
そこで、本発明の一つの目的は、上位装置に意識させずにデータ格納先デバイスを切り替えることができるようにしたストレージ装置及びストレージ装置のデバイス切替制御方法を提供することにある。本発明の一つの目的は、上位装置に検知されることなく、ストレージ装置の内外に存在するボリュームを自由に切替可能なストレージ装置及びストレージ装置のデバイス切替制御方法を提供することにある。本発明のさらなる目的は、後述する実施形態の記載から明らかになるであろう。
【課題を解決するための手段】
【０００８】
上記課題を解決すべく、本発明のストレージ装置は、上位装置からデータ入出力のアクセス対象として認識される少なくとも一つ以上のアクセス先デバイスと、アクセス先デバイスに接続され、アクセス先デバイスを対象とするデータを格納するデータ格納先デバイスと、アクセス先デバイスと各データ格納先デバイスとの接続状態を制御する接続制御部と、を備え、接続制御部は、各データ格納先デバイスのうち選択された所定のデータ格納先デバイスをアクセス先デバイスに接続させる。
【０００９】
ここで、例えば、上位装置が汎用オペレーティングシステム及び汎用通信プロトコルを搭載したオープン系ホストである場合、アクセス先デバイスは、論理ユニット（ＬＵ）となる。また、上位装置がメインフレームマシンの場合、アクセス先デバイスは論理デバイス（LDEV）となる。なお、データ格納先デバイスは、中間デバイスに設定することができる。そして、この中間デバイスは、それぞれデータを記憶する複数の物理的なデバイスにより提供される記憶領域上に設定することができる。
【００１０】
接続制御部は、アクセス先デバイスを所定のデータ格納先デバイスに接続させる第１状態と、アクセス先デバイスを各データ格納先デバイスのいずれにも接続させない第２状態と、の少なくとも２種類の状態で、接続状態を制御することができる。第２状態は、第１状態に至るまでの間の過渡状態として捉えることができる。アクセス先デバイスに接続されるデータ格納先デバイスを切り替える場合、第１状態→第２状態→第１状態の順番で接続状態が遷移する。
【００１１】
アクセス先デバイスが第２状態に置かれている場合でも、即ち、アクセス先デバイスとデータ格納先デバイスとが接続されていない場合でも、アクセス先デバイスは、上位装置からの所定のコマンドに応答可能である。所定のコマンドとしては、例えば、inquiryコマンドやREADDEVCHARコマンド等のような状態確認コマンド（センスコマンド）を挙げることができる。ここで、センスコマンドへの応答を可能とする構成例として、アクセス先デバイスに、形式的なボリュームを常時固定的に接続する方法が考えられる。また、アクセス先デバイスを、論理デバイスと、この論理デバイスに接続された仮想的な中間デバイスとから、仮想的なＬＵとして構成することもできる。仮想的な中間デバイスとは、データを格納するための記憶領域を直接有しておらず、その存在のみが論理的に定義されている仮想的なボリュームである。
【００１２】
複数のデータ格納先デバイスは、その全部が同一のストレージ装置内に設けられている必要はなく、少なくとも一部のデータ格納先デバイスは、他のストレージ装置内に設けられていてもよい。例えば、第１ストレージ装置と第２ストレージ装置とをネットワーク接続し、第２ストレージ装置が有するボリュームを第１ストレージ装置の中間デバイスにマッピングすることができる。これにより、第１ストレージ装置は、第２ストレージ装置のボリュームをあたかも自分の支配下にあるボリュームであるかのように見せかけて使用することができる。従って、場合によっては、複数のデータ格納先デバイスは、その全部が他のストレージ装置内に存在しても構わない。この場合、第１ストレージ装置は、例えば、インテリジェント型スイッチ等として構成することもできる。
【００１３】
本発明の手段、機能、ステップの少なくとも一部は、マイクロコンピュータにより読み込まれて実行されるコンピュータプログラムとして構成できる場合がある。このようなコンピュータプログラムは、例えば、ハードディスクや光ディスク等のような記憶媒体に固定して流通させることができる。または、インターネット等のような通信ネットワークを介して、コンピュータプログラムを供給することもできる。
【発明を実施するための最良の形態】
【００１４】
以下、図面に基づき、本発明の実施の形態を説明する。図１は、本実施形態の全体概念を模式的に示す説明図である。以下に述べるように、本実施形態では、複数のデータ格納先デバイス６，８を利用可能なストレージ装置２Ａのデバイス切替制御方法が開示されている。このストレージ装置２Ａは、ホスト１とのマウントポイントを固定化してホスト１とマウントポイントとの間の接続を維持した状態で、各データ格納先デバイス６，８のうち選択されたいずれか一つのデータ格納先デバイスとマウントポイントとを切替可能に接続する。
【００１５】
より詳細に説明すると、本発明に係るストレージシステムは、第１ストレージ装置２Ａと第２ストレージ装置２Ｂとを通信ネットワーク３Ｂを介して通信可能に接続して構成されている。ホスト１と第１ストレージ装置２Ａとは、通信ネットワーク３Ａを介して接続されている。
【００１６】
通信ネットワーク３Ａは、ホスト１の種類に依存する。例えば、ホスト１がいわゆるオープン系ホストの場合、ホスト１と第１ストレージ装置２Ａとは、LAN（Local Area Network）、SAN（Storage Area Network）、インターネットまたは専用回線等を介して接続可能である。LAN接続の場合は、TCP/IP（Transmission Control Protocol/Internet Protocol）に基づいて、SAN接続の場合は、ファイバチャネルプロトコル（FCP：Fibre Channel Protocol）に基づいてデータ授受が行われる。ホスト１がメインフレームの場合、例えば、FICON（Fibre Connection：登録商標）、ESCON（Enterprise System Connection：登録商標）、ACONARC（Advanced Connection Architecture：登録商標）、FIBARC（Fibre Connection Architecture：登録商標）等の通信プロトコルに従ってデータ転送が行われる。
【００１７】
各ストレージ装置２Ａ，２Ｂ間を接続する通信ネットワーク３Ｂは、例えば、LANやSAN等として構成可能である。通信ネットワーク３Ａと通信ネットワーク３Ｂとは、それぞれ別々のネットワークとして構成してもよいし、両者を同一のネットワークとして構成してもよい。
【００１８】
代表的なハードウェア構成として、第１ストレージ装置２Ａは、例えば、外部（ホスト１または第２ストレージ装置２Ｂ）との間のデータ授受を制御する上位インターフェース制御部（図２参照）と、データを記憶するための複数の物理デバイス群７との間のデータ授受をそれぞれ制御する下位インターフェース制御部（図２参照）と、上位インターフェース制御部及び下位インターフェース制御部に共用されるメモリ部（図２参照）とを備えることができる。
【００１９】
データ記憶の論理的構成に着目すると、第１ストレージ装置２Ａは、例えば、各物理デバイス群７が提供する記憶領域上に設けられた少なくとも一つ以上のデータ格納先デバイス（論理デバイス）６と、接続制御部５と、仮想ＬＵ４とを備えている。
【００２０】
接続制御部５は、入力された切替指示に基づいて、第１ストレージ装置２Ａが直接的にまたは間接的に支配している各論理デバイス（図１中では「ボリューム」と表示）６，８のいずれか一つを、仮想ＬＵ４に接続させる。
【００２１】
仮想ＬＵ４は、ホスト１からデータ入出力のアクセス対象として認識される。仮想ＬＵ４は、ホスト１が仮想ＬＵ４の使用を継続する限り、ホスト１との間の通信状態を維持している。そして、仮想ＬＵ４は、論理デバイス６，８のいずれにも接続されていない場合でも、ホスト１からのセンスコマンドに対して応答する。
【００２２】
従って、ホスト１から見た場合、ホスト１にマウントされるポイント（仮想ＬＵ）に何ら変化を与えることなく、仮想ＬＵ４と論理デバイス６，８との接続を切り替えることができる。
【実施例１】
【００２３】
図２は、ストレージシステムの全体構成を概略的に示すブロック図である。このストレージシステムは、それぞれ後述するように、例えば、ホスト１０と、管理端末２０と、第１ストレージ装置１００と、第２ストレージ装置２００とを備えて構成可能である。
【００２４】
図中では一つのみ示しているが、ホスト１０は、複数設けることができる。ホスト１０は、例えば、サーバ、パーソナルコンピュータ、ワークステーション、メインフレーム、携帯情報端末等のようなコンピュータシステムとして実現される。例えば、複数のオープン系ホストと複数のメインフレーム系ホストとを、同一のストレージ装置に接続することもできる。
【００２５】
ホスト１０は、例えば、HBA（Host Bus Adapter）１１と、制御プログラム１２と、アプリケーションプログラム群（図中では「アプリケーション群」と略記）１３とを備えることができる。
【００２６】
HBA１１は、ストレージ装置１００との間のデータ通信を担当するもので、ホスト１０は、HBA１１から通信ネットワークＣＮ１を介して、ストレージ装置１００の通信ポートに接続されている。ホスト１０は、複数のHBA１１を備えることができる。ここで、通信ネットワークＣＮ１としては、例えば、LAN、SAN、インターネット、専用回線等を挙げることができる。オープン系ホストの場合は、TCP/IPやFCP、あるいはiSCSI（internet Small Computer System Interface）等のプロトコルに基づき、ストレージ装置１００との間でデータ授受が行われる。メインフレーム系ホストの場合は、例えば、ESCON、FICN等の専用プロトコルが用いられる。
【００２７】
制御プログラム１２は、例えば、パスの制御等を行うものである。制御プログラム１２は、例えば、いずれか一方のパスに何らかの障害が発生した場合に、正常なパスに切り替る制御を行うことができる。あるいは、制御プログラム１２は、いずれか一方のパスに過負荷状態が発生した場合に、他のパスに負荷を分散させることもできる。
【００２８】
アプリケーション群１３は、例えば、電子メール処理や会計処理等の各種情報処理サービスを実行するプログラムである。アプリケーション群１３は、例えば、図外に位置する複数のクライアント端末からの要求に応じて、ストレージ装置１００にアクセスすることにより、情報処理サービスをクライアント端末に提供する。
【００２９】
管理端末２０は、ストレージ装置１００の状態や構成変更等を管理するコンピュータシステムである。管理端末２０は、後述のSVP１８０と通信ネットワークＣＮ２を介して接続されており、SVP１８０を介してストレージ装置１００の各種状態を示す情報を取得し、またSVP１８０を介してストレージ装置１００に各種の指示を与える。
【００３０】
第１ストレージ装置１００は、それぞれ後述するように、例えば、複数のチャネルアダプタ（以下「CHA」）１１０と、複数のディスクアダプタ（以下「DKA」）１２０と、キャッシュメモリ１３０と、共有メモリ１４０と、接続制御部１５０，１６０と、記憶部１７０と、SVP１８０とを備えて構成することができる。
【００３１】
CHA１１０は、上位装置としてのホスト１や外部の第２ストレージ装置２００との間のデータ授受を制御するもので、例えば、CPUやメモリ、入出力回路等を備えたマイクロコンピュータシステムとして構成することができる。各CHA１１０は、それぞれ複数の通信ポートを備えることができ、各通信ポート毎にそれぞれ個別にデータ授受を行うことができる。各CHA１１０は、それぞれ一種類の通信プロトコルに対応しており、ホスト１０の種類に応じて用意される。但し、各CHA１１０がそれぞれ複数種類の通信プロトコルに対応する構成としてもよい。
【００３２】
DKA１２０は、記憶部１７０との間のデータ授受を制御するものである。DKA１２０は、CHA１１０と同様に、例えば、CPUやメモリ等を備えたマイクロコンピュータシステムとして構成することができる。各DKA１２０は、例えば、ホスト１０から指定された論理ブロックアドレス（LBA）を物理ディスクのアドレスに変換等することにより、各ディスクドライブ１７１にアクセスし、データの読出しまたはデータの書込みを行う。なお、CHA１１０の機能とDKA１２０の機能とを一つまたは複数のコントローラ内に集約する構成としてもよい。
【００３３】
キャッシュメモリ１３０は、ホスト１０から書き込まれたライトデータや、ホスト１０に読み出されたリードデータを記憶するものである。キャッシュメモリ１３０は、例えば、揮発または不揮発のメモリから構成可能である。キャッシュメモリ１３０が揮発性メモリを含んで構成される場合、図示せぬバッテリ電源等によりメモリバックアップを行うことが好ましい。なお、図示は省略するが、キャッシュメモリ１３０は、リードキャッシュ領域とライトキャッシュ領域との２つの領域から構成することができ、ライトキャッシュ領域に格納されたデータは、多重記憶することができる。つまり、同一のデータがディスクドライブ１７１にも存在するリードデータは、仮に失われたとしても再びディスクドライブ１７１から読み出せば足りるので、多重化する必要はない。これに対し、ライトデータは、ストレージ装置１００内においては、キャッシュメモリ１３０にのみ存在するため、多重化記憶させるのが信頼性の点で好ましい。もっとも、キャッシュデータを多重化して記憶させるか否かは、仕様による。
【００３４】
共有メモリ（あるいは制御メモリとも呼ばれる）１４０は、例えば、不揮発メモリから構成可能であるが、揮発メモリから構成してもよい。共有メモリ１４０には、例えば、マッピングテーブルＴのように、制御情報や管理情報等が記憶される。これらの制御情報等の情報は、複数のメモリ１４０により多重管理することができる。マッピングテーブルＴの構成例については、後述する。
【００３５】
ここで、共有メモリ１４０及びキャッシュメモリ１３０は、それぞれ別々のメモリパッケージとして構成することもできるし、同一のメモリパッケージ内にキャッシュメモリ１３０及び共有メモリ１４０を設けてもよい。また、メモリの一部をキャッシュ領域として使用し、他の一部を制御領域として使用することもできる。つまり、共有メモリとキャッシュメモリとは、同一のメモリとして構成することもできる。
【００３６】
第１の接続制御部（スイッチ部）１５０は、各CHA１１０と、各DKA１２０と、キャッシュメモリ１３０と、共有メモリ１４０とをそれぞれ相互に接続するものである。これにより、全てのCHA１１０，DKA１２０は、キャッシュメモリ１３０及び共有メモリ１４０にそれぞれ個別にアクセス可能である。接続制御部１５０は、例えば、超高速クロスバスイッチ等として構成することができる。第２の接続制御部１６０は、各DKA１２０と記憶部１７０とをそれぞれ接続するためのものである。
【００３７】
記憶部１７０は、多数のディスクドライブ１７１を備えて構成される。記憶部１７０は、各CHA１１０及び各DKA１２０等のコントローラ部分と共に同一の筐体内に設けることもできるし、コントローラ部分とは別の筐体内に設けることもできる。
【００３８】
記憶部１７０には、複数のディスクドライブ１７１を設けることができる。ディスクドライブ１７１としては、例えば、ＦＣディスク（ファイバチャネルディスク）、SCSI（Small Computer System Interface）ディスク、SATA（Serial AT Attachment）ディスク等を用いることができる。また、記憶部１７０は、同一種類のディスクドライブから構成される必要はなく、複数種類のディスクドライブを混在させることもできる。
【００３９】
ここで、一般的には、ＦＣディスク、SCSIディスク、SATAディスクの順番で、性能が低下する。従って、例えば、アクセス頻度の多いデータ（情報価値の高いデータ等）は、高性能なＦＣディスクに記憶し、アクセス頻度の低いデータ（情報価値の低いデータ等）は、低性能なSATAディスクに記憶させることにより、データの利用態様に応じてディスクドライブの種類を使い分けることができる。各ディスクドライブ１７１の提供する物理的な記憶領域上には、複数の論理的な記憶領域を階層化して設けることができる。記憶領域の構成については、図３と共に後述する。
【００４０】
SVP（Service Processor）１８０は、LAN等の内部ネットワークＣＮ３を介して、各CHA１１０及び各DKA１２０とそれぞれ接続されている。図中では、SVP１８０とCHA１１０とだけを接続しているが、SVP１８０は、各DKA１２０にもそれぞれ接続することができる。SVP１８０は、ストレージ装置１００内部の各種状態を収集し、そのままで又は加工して、管理端末２０に提供する。
【００４１】
第２ストレージ装置２００は、例えば、SANやインターネット等の通信ネットワークＣＮ４を介して、第１ストレージ装置１００に接続されている。第２ストレージ装置２００は、例えば、コントローラ２１０と、第１ストレージ装置１００と接続するための通信ポート２１１と、ディスクドライブ２２０とを備えて構成することができる。コントローラ２１０は、上述したCHA１１０及びDKA１２０の機能を実現するもので、第１ストレージ装置１００及びディスクドライブ２２０とのデータ授受を制御する。
【００４２】
第２ストレージ装置２００は、第１ストレージ装置１００と同一または実質的に同一の構成を備えてもよいし、第１ストレージ装置１００と異なる構成でもよい。第２ストレージ装置２００は、第１ストレージ装置１００との間で所定の通信プロトコル（例えば、FCやiSCSI等）に従ったデータ通信を行うことができ、ディスクドライブ２２０等の記憶ドライブ（記憶用デバイス）を備えていればよい。後述のように、第２ストレージ装置２００の有する論理ボリュームは、第１ストレージ装置１００の所定階層にマッピングされており、第１ストレージ装置１００の内部ボリュームであるかのように使用される。
【００４３】
なお、本実施例では、物理的な記憶ドライブとして、ハードディスクを例示するが、本発明はこれに限定されない。記憶ドライブとしては、ハードディスク以外に、例えば、半導体メモリドライブ、磁気テープドライブ、光ディスクドライブ、光磁気ディスクドライブ等を用いることができる場合もある。
【００４４】
図３は、ストレージシステムの論理的な記憶構造に着目した構成説明図である。第１ストレージ装置１００の構成から先に説明する。第１ストレージ装置１００の記憶構造は、例えば、物理的記憶階層と論理的記憶階層とに大別することができる。物理的記憶階層は、物理的なディスクであるPDEV（Physical Device）１７１により構成される。PDEVは、ディスクドライブに該当する。
【００４５】
論理的記憶階層は、複数の（例えば２種類の）階層から構成することができる。一つの論理的階層は、VDEV（Virtual Device）１７２と、VDEV１７２のように扱われる仮想的なVDEV（以下、「V−VOL」とも呼ぶ）１７３とから構成可能である。他の一つの論理的階層は、LDEV（Logical Device）１７４から構成することができる。
【００４６】
VDEV１７２は、例えば、４個１組（３Ｄ＋１Ｐ）、８個１組（７Ｄ＋１Ｐ）等のような所定数のPDEV１７１をグループ化して構成される。グループに属する各PDEV１７１がそれぞれ提供する記憶領域が集合して一つのRAID記憶領域が形成される。このRAID記憶領域がVDEV１７２となる。
【００４７】
VDEV１７２が物理的な記憶領域上に構築されるのと対照的に、V−VOL１７３は、物理的な記憶領域を必要としない仮想的な中間デバイスである。V−VOL１７３は、物理的な記憶領域に直接関係づけられるものではなく、ＬＵ（Logical Unit）をマッピングするための受け皿となる。この点については、さらに後述する。
【００４８】
LDEV１７４は、VDEV１７２またはV−VOL１７３上に、少なくとも一つ以上設けることができる。LDEV１７４は、VDEV１７２を固定長で分割することにより構成することができる。ホスト１０がオープン系ホストの場合、LDEV１７４がＬＵ１７５にマッピングされることにより、ホスト１０は、LDEV１７４を一つの物理的なディスクとして認識する。オープン系のホスト１０は、LUN（Logical Unit Number ）や論理ブロックアドレスを指定することにより、所望のLDEV１７４にアクセスする。
【００４９】
ＬＵ１７５は、SCSIの論理ユニットとして認識可能なデバイスである。各ＬＵ１７５は、ポート１１１Ａを介してホスト１０に接続される。各ＬＵ１７５には、少なくとも一つ以上のLDEV１７４をそれぞれ関連付けることができる。一つのＬＵ１７５に複数のLDEV１７４を関連付けることにより、ＬＵサイズを仮想的に拡張することもできる。
【００５０】
CMD（Command Device）１７７は、ホスト１０上で稼働する制御プログラムとストレージ装置１００のコントローラ（CHA１１０，DKA１２０）との間で、コマンドやステータスを受け渡すために使用される専用のＬＵである。ホスト１０からのコマンドは、CMD１７７に書き込まれる。ストレージ装置１００のコントローラは、CMD１７７に書き込まれたコマンドに応じた処理を実行し、その実行結果をステータスとしてCMD１７７に書き込む。ホスト１０は、CMD１７７に書き込まれたステータスを読出して確認し、次に実行すべき処理内容をCMD１７７に書き込む。このようにして、ホスト１０は、CMD１７７を介して、ストレージ装置１００に各種の指示を与えることができる。
なお、ホスト１０から受信したコマンドを、CMD１７７に格納することなく、処理することもできる。また、実体のデバイス（ＬＵ）を定義せずに、CMDを仮想的なデバイスとして生成し、ホスト１０からのコマンドを受け付けて処理するように構成することもできる。つまり、例えば、CHA１１０は、ホスト１０から受信したコマンドを共有メモリ１４０に書き込み、この共有メモリ１４０に記憶されたコマンドを、CHA１１０又はDKA１２０が処理する。その処理結果は共有メモリ１４０に書き込まれ、CHA１１０からホスト１０に送信される。
【００５１】
さて、第１ストレージ装置１００の外部接続用のイニシエータポート（External Port）１１１Ｂには、通信ネットワークＣＮ４を介して、第２ストレージ装置２００が接続されている。第２ストレージ装置２００は、複数のPDEV２２０と、PDEV２２０の提供する記憶領域上に設定されたVDEV２３０と、VDEV２３０上に少なくとも一つ以上設定可能なLDEV２４０とを備えている。そして、各LDEV２４０は、ＬＵ２５０に関連付けられている。
【００５２】
本実施例では、実際にデータを格納する論理的なデバイス（LDEV）は、直接的にホスト１０に提供されるのではなく、仮想的な中間デバイス（仮想的な中間ボリューム）であるV−VOL１７３を介してホスト１０に提供されている。
【００５３】
例えば、第１ストレージ装置１００の内部ボリュームである「LDEV１」は、「ＬＵ２」に関連付けられているが、「ＬＵ２」からホスト１０に直接提供されるのではなく、「V−VOL１」にマッピングされている。そして、この「V−VOL１」は、「LDEV３」にマッピングされ、「LDEV３」は「ＬＵ１」に関連付けられている。このように、第１ストレージ装置１００の内部ボリューム「LDEV１」は、「V−VOL１」を介して「LDEV３」にマッピングされる。ここで、「ＬＵ１」に関連付けられて、LUNが割り当てられた「LEDV３」が、ホスト１０からアクセスされるアクセス先デバイスに相当する。本実施例では、データ格納先デバイスである「LDEV１」をさらに仮想化し、２段重ねのような階層構造を採用している。
【００５４】
同様に、第２ストレージ装置２００の「LDEV１」，「LDEV２」も、第２ストレージ装置２００の「ＬＵ１」，「ＬＵ２」を介して、第１ストレージ装置１００の「V−VOL１」，「V−VOL２」にそれぞれマッピングされている。そして、「V−VOL２」，「V−VOL３」は、それぞれ「LDEV４」，「LDEV５」にマッピングされ、「ＬＵ４」，「ＬＵ３」を介して、ホスト１０から認識されるようになっている。
【００５５】
図４は、図３中の記憶階層を模式的に示す説明図である。図４中の下側には、データを格納するための複数のデバイスが示されている。図４中の左下に示すPDEV１７１，VDEV１７２，LDEV１７４は、第１ストレージ装置１００の有するデータ格納先デバイスである。図４中の右側に点線で囲んだPDEV２２０，VDEV２３０，LDEV２４０は、第２ストレージ装置２００の有するデータ格納先デバイスである。
【００５６】
図４中の上側には、仮想ＬＵ１７６が示されている。この仮想ＬＵ１７６は、下層側から順番に、V−VOL１７３，LDEV１７４，ＬＵ１７５を積み上げることにより、構成することができる。なお、図４では、一つの仮想ＬＵ１７６のみを示しているが、これは説明の便宜上図示を簡略化したものであり、実際には、複数の仮想ＬＵ１７６を設けることができる。また、図４中では省略しているが、各LDEV１７４，２４０は、それぞれに割り当てられているＬＵを介して、仮想ＬＵ１７６に接続される。
【００５７】
仮想ＬＵ１７６とデータ格納先の各LDEV１７４，２４０のうちいずれか一つのLDEVとは、マッピングテーブルによって論理的に接続される。このマッピングテーブルは、接続制御部の少なくとも一部を構成する。マッピングテーブルの記述内容を変更することにより、仮想ＬＵ１７６とLDEV１７４，２４０とを接続したり、接続を解除することができる。
【００５８】
図４に簡略化して示すように、実際にデータを格納するためのLDEV１７４，２４０は、仮想ＬＵ１７６を介してホスト１０に接続される。ホスト１０は、仮想ＬＵ１７６（正確には、仮想ＬＵ１７６中のＬＵ１７５）をアクセス先のデバイスとして認識する。従って、仮想ＬＵ１７６が各LDEV１７４，２４０のいずれにも接続されていない場合であっても、ホスト１０からは、仮想ＬＵ１７６が認識されている。
【００５９】
但し、ホスト１０からの認識が失われていない場合でも、その仮想ＬＵ１７６にLDEV１７４，２４０のいずれかが一つも接続されていないときは、ホスト１０からデータの読み書きを行うことはできない。
【００６０】
図５を参照して、各種テーブルＴ１，Ｔ２の構成例をそれぞれ説明する。これらの各テーブルＴ１，Ｔ２は、共有メモリ１４０に記憶することができる。まず、図５（ａ）は、LUNとV−VOLとを対応付けるマッピングテーブルＴ１である。V−VOL１７３は、物理的な記憶領域に依存しない仮想的なVDEVとして定義され、VDEV１７２の一種であるかのように取り扱われる。従って、図５（ａ）では、「V−VOL」と表記せず「VDEV」として示してある。
【００６１】
マッピングテーブルＴ１は、例えば、VDEV（V−VOL）を特定するためのVDEV番号（VDEV＃）と、デバイス識別情報と、記憶容量と、デバイス種別と、接続先のパス情報とを対応付けることにより、構成することができる。デバイス識別情報は、接続されるデバイスへのデータ授受に用いるイニシエータポート番号等を含めることができる。デバイス種別には、接続されるデバイスがディスクデバイスなのかテープデバイスなのか等の種別を格納することができる。接続先のパス情報には、例えば、WWN（World Wide Name）とLUNとを含めることができる。あるVDEV（V−VOL）の接続先パス情報に、第２ストレージ装置２００の有するＬＵ２５０への情報がセットされた場合、そのVDEV（V−VOL）は、第２ストレージ装置２００のＬＵ２５０、即ち、第２ストレージ装置２００の有するLDEV２４０に接続される。他のVDEV（V−VOL）の接続先パス情報に、第１ストレージ装置１００のＬＵ１７５を指定する情報がセットされた場合、そのVDEVは、第１ストレージ装置１００の有するLDEV１７４に接続される。このように、一種類のマッピングテーブルＴ１によって、内部デバイス（LDEV１７４）と外部デバイス（LDEV２４０）との両方を取り扱うことができる。なお、マッピングテーブルＴ１には、上記の項目に限らず、例えば、RAIDレベル、ストライプサイズ、ストレージ装置番号等の他の項目を追加することもできる。
【００６２】
図５（ｂ）は、仮想ＬＵ１７６を定義するためのLUN−LDEV−VDEV変換テーブルＴ２を示す。この変換テーブルＴ２は、例えば、LUNと、LDEV番号と、LDEVの最大スロット数（容量）と、VDEV（V−VOL）番号と、VDEV（V−VOL）の最大スロット数（容量）とを対応付けることにより、構成することができる。
【００６３】
なお、ホスト１０からのライトアクセスやリードアクセスでは、仮想ＬＵ１７６を特定するためのLUNとLBA（論理ブロックアドレス）とが指定される。このLUN＋LBAの組合せは、変換テーブルＴ２を参照することにより、VDEV番号（V−VOL番号）とスロット番号とサブブロックアドレスの組合せに変換される。このVDEV番号＋スロット番号＋サブブロックアドレスの組合せは、マッピングテーブルＴ１を参照することにより、WWN＋LUN＋LBAの組合せに変換される。
【００６４】
図６は、V−VOLを作成するための処理概要を示すフローチャートである。システム管理者は、管理端末２０からSVP１８０を介して、V−VOLの容量、エミュレーションタイプ、マッピング先のLDEV番号を第１ストレージ装置１００に指示する（Ｓ１）。なお、この作成指示は、ホスト１０から与える構成としてもよい。
【００６５】
作成指示を受信した第１ストレージ装置１００は、指示されたパラメータが全て有効であるか否かを判定する（Ｓ２）。V−VOL作成に必要な各種パラメータのうちいずれか一つでも誤りが存在する場合は、エラーとなり、処理を終了する。なお、エラー処理として、管理端末２０の画面に、エラーとなったパラメータを表示させ、再度の指定を促すことができる。
【００６６】
指定された全てのパラメータが有効な場合（S2：YES）、第１ストレージ装置１００は、共有メモリ１４０に記憶されているマッピングテーブルＴ１に、V−VOLの容量のみを設定し、V−VOLをVDEVとして登録する（Ｓ３）。デバイス識別情報やパス情報等の他の項目については値を設定せずに、空欄のままにしておく。これにより、その記憶容量のみが定義されたV−VOL１７３が作成される。
【００６７】
次に、第１ストレージ装置１００は、変換テーブルＴ２に、Ｓ３で作成したV−VOLの番号と、このV−VOLに関連付けるLDEVの番号とを登録する（Ｓ４）。これにより、V−VOLはLDEVを介してＬＵに関連付けられ、仮想ＬＵ１７６が生成される。
【００６８】
図７は、仮想ＬＵ１７６に接続するLDEVを登録または変更する処理の概要を示すフローチャートである。システム管理者は、例えば、管理端末２０を介してSVP１８０にログインし、仮想ＬＵ１７６に接続するためのLDEVを指定する（Ｓ１１）。第１ストレージ装置１００は、指定されたLDEVが使用可能か否かを判定する（Ｓ１２）。例えば、指定されたLDEVが既に他のホスト１０によって使用されていたり、アクセス保護（リードオンリー等）が設定されているような場合、第１ストレージ装置１００は、指定されたLDEVの使用を許可しない。
【００６９】
指定されたLDEVを使用可能である場合（S12：YES）、第１ストレージ装置１００は、その指定されたLDEVを仮想ＬＵ１７６のV−VOLに接続すべく、マッピングテーブルＴ１に、デバイス識別情報やデバイス種別、パス情報を設定する（Ｓ１３）。即ち、図６と共に述べた処理で、未設定のまま残された項目に値がセットされる。これにより、V−VOLに対し、実際にデータを格納するLDEVが対応付けられる。
【００７０】
図８は、仮想ＬＵ１７６に対するコマンドアクセスへの応答処理の概要を示すフローチャートである。アクセス権限を有するホスト１０が仮想ＬＵ１７６にアクセスした場合（S21：YES）、第１ストレージ装置１００は、このアクセスの種別を判定する。
【００７１】
即ち、例えば、第１ストレージ装置１００は、ホスト１０からセンスコマンドを受信したか否かを判定する（Ｓ２２）。センスコマンドとは、例えば、inquaryコマンド等のように、ホスト１０が認識するデバイスの状態等を確認するためのコマンドである。ホスト１０からセンスコマンドを受信した場合、第１ストレージ装置１００は、このセンスコマンドに対して応答を返す（Ｓ２３）。上述のように、仮想ＬＵ１７６は、従来の単純なＬＵとは異なり、図４で示したように、LDEV１７４を備えている。従って、アクセス先デバイスとしてのLDEVが存在するか否かについての問合せに応答することができる。
【００７２】
これに対し、ホスト１０からセンスコマンド以外のコマンドを受信した場合（S22：NO）、第１ストレージ装置１００は、データ格納先デバイスとしてのLDEVが仮想ＬＵ１７６にマッピング済であるか否かを判定する（Ｓ２４）。センスコマンド以外のコマンドとしては、例えば、リードコマンドやライトコマンドを挙げることができる。
【００７３】
実際にデータを読み書きするためのLDEVが仮想ＬＵ１７６に接続されている場合（S24：YES）、第１ストレージ装置１００は、ホスト１０からのコマンドアクセスを処理し、その処理結果をホスト１０に返す（Ｓ２５）。
【００７４】
例えば、ライトコマンドの場合、第１ストレージ装置１００のCHA１１０は、ホスト１０から受信したライトデータをキャッシュメモリ１３０に格納した時点で、ホスト１０に書込み完了を通知する。そして、第１ストレージ装置１００のDKA１２０は、時期を見計らって、キャッシュメモリ１３０に記憶されたデータを所定のディスクドライブ１７１に書き込む。リードコマンドの場合、DKA１２０は、要求されたデータを所定のディスクドライブ１７１から読出して、キャッシュメモリ１３０に記憶させる。CHA１１０は、キャッシュメモリ１３０に記憶されたデータをホスト１０に送信する。ホスト１０から要求されたキャッシュメモリ１３０に既に記憶されている場合は、そのデータがホスト１０に提供される。CHA１１０とDKA１２０とは、共有メモリ１４０を介して、コマンドの処理状況を確認する。
【００７５】
ホスト１０によって、センスコマンド以外のコマンドを受信した場合であって、かつ、実際にデータを読み書きするためのLDEVが仮想ＬＵ１７６にマッピングされていない場合（S24：NO）、第１ストレージ装置１００は、ホスト１０に対して、エラーを通知する（Ｓ２６）。
【００７６】
本実施例は、上述のように構成されるため、以下の効果を奏する。本実施例では、LDEV１７４にV−VOL１７３を介して、第１ストレージ装置１００内のLDEVまたは第２ストレージ装置２００内のLDEVをマッピングする構成のため、ホスト１０によるデバイスとしての認識を維持することができる。従って、図９（ａ）に示すように、仮想ＬＵ１７６のみが設定され、実際にデータの読み書きに使用するLDEVがマッピングされていない状態においても、ホスト１０からの認識は失われず、ホスト１０からのセンスコマンドに応答することができる。
【００７７】
即ち、常時ホスト１０から認識可能な仮想ＬＵ１７６を構築し、この仮想ＬＵ１７６にマッピングテーブルを介してLDEVを接続する構成とした。従って、図９（ｂ）に示すように、第１ストレージ装置１００の内外に位置するLDEVを、任意に仮想ＬＵ１７６に接続することができる。従って、データの用途等に応じて、ストレージ装置の内外に存在するLDEVを切り替えて使用することができ、しかも、このLDEVの切替操作をホスト１０に対して透過的に行うことができる。
【００７８】
そして、仮想ＬＵ１７６は、ホスト１０からの認識を常時維持し、センスコマンドに対する応答が可能なため、図１０（ａ）に示すように、接続先のLDEVを切り替える途中でも、ホスト１０からの認識は失われない。従って、仮想ＬＵ１７６とLDEVとの接続が瞬間的に切れた場合であっても、ホスト１０に搭載された障害監視ソフトウェアがこの切断状態を検出して作動するのを未然に防止することができ、情報処理サービスの中断を防止できる。
【００７９】
例えば、ホスト１０がWindows（登録商標）を搭載している場合、定期的にドライブ（LDEV）が接続されているか否かを検査するが、ドライブの切断状態が認識されると、アプリケーションプログラムの動作が中断する。
【００８０】
これに対し、ホスト１０がWindows（登録商標）以外のOSを搭載している場合、障害監視ソフトウェアを搭載しなければ、inquaryコマンドを第１ストレージ装置１００に送信することができず、ドライブの接続状態を確認できない可能性がある。障害監視ソフトウェアを搭載していなければ、安全性や信頼性が低下するおそれがあるが、障害監視ソフトウェアを搭載すると、LDEVを切り替える度に障害発生とみなされて、アプリケーションソフトウェアによる処理が中断される可能性がある。
【００８１】
しかし、本実施例では、ホスト１０とのコネクションを常時維持し、マウントポイントを固定化するため、ホスト１０に対して透過的にLDEVを自在に切替可能であり、図１０（ｂ）に示すように、障害監視ソフトウェアによる監視を逃れて、仮想ＬＵ１７６に接続するLDEVを切り替えることができる。
【００８２】
また、本実施例では、第１ストレージ装置１００内のLDEV切替処理をホスト１０から隠蔽する構成のため、比較的簡易な構成で使い勝手を向上することができる。例えば、仮想ＬＵ１７６にLDEVをつなぎかえる場合、事前にホスト１０に通知して障害監視ソフトウェアによる検出を停止させる構成も考えられるが、この場合は、第１ストレージ装置１００に現在接続されている全てのホスト１０及び将来接続される全てのホスト１０で、構成変更を必要とする。従って、作業性が悪く、ストレージシステムのメンテナンスコストも増大する。
【００８３】
なお、図９（ａ）は、V−VOL１７３を作成して仮想ＬＵ１７６を設定した状態を示し、この状態では、実際にデータ読み書きに使用するLDEVは接続されていない。図９（ｂ）は、マッピングテーブルＴ１を設定することにより、図中向かって左側のLDEVと仮想ＬＵ１７６とを接続した状態を示す。例えば、この状態で、ホスト１０は、左側のLDEV２４０に対し、データの読み書きを行う。
【００８４】
ホスト１０に搭載されたアプリケーションプログラム１３がアクセス対象のボリュームの切替を要求したような場合、図１０（ａ）に示すように、第１ストレージ装置１００は、マッピングテーブルＴ１の設定を削除し、仮想ＬＵ１７６とLDEV２４０との接続をいったん解除する。そして、第１ストレージ装置１００は、マッピングテーブルＴ１を書き換えることにより、仮想ＬＵ１７６を図中右側のLDEV２４０に接続し直す。しかし、これらのLDEV切替は、ホスト１０から認識することはできない。ホスト１０は、仮想ＬＵ１７６のLDEV１７４のみを固定的に常時認識している。
【実施例２】
【００８５】
図１１，図１２に基づいて本発明の第２実施例を説明する。本実施例を含む以下の実施例は、第１実施例の変形例に相当する。本実施例の特徴は、V−VOL１７３とLDEV１７４との間で接続を切り替える点にある。
【００８６】
図１１は、本実施例による記憶階層の構造を模式的に示す説明図である。本実施例では、仮想ＬＵ１７６は、ＬＵ１７５とLDEV１７４とから構成される。そして、仮想ＬＵ１７６は、マッピングテーブルＴ１を介して、いずれか一つのV−VOL１７３と接続することができる。即ち、本実施例では、V−VOL１７３は、データ格納先のLDEV側に固定的に接続されており、このＶ−VOL１７３と仮想ＬＵ１７６との間の接続を切り替えるようにしている。
【００８７】
このような接続切替は、上述したマッピングテーブルＴ１の構成を応用することにより実現することができる。また、他の例としては、図１２に示すように、LDEV管理テーブルＴ１１と、VDEV管理テーブルＴ１２とを用いて実現することもできる。
【００８８】
LDEV管理テーブルＴ１１は、例えば、LDEV番号と、このLDEVに割り当てられるLUNと、記憶容量と、このLDEVに接続されるVDEV（V−VOL）番号等を対応付けることにより、構成することができる。
【００８９】
VDEV管理テーブルＴ１２は、VDEV及びV−VOLを管理するためのテーブルであって、例えば、VDEV番号（V−VOL番号）と、このVDEV（V−VOL）に接続されるデバイスの種別等を対応付けることにより、構成可能である。接続先種別としては、内部接続と外部接続とを挙げることができる。内部接続とは、そのV−VOLが第１ストレージ装置１００内のLDEVに接続されることを意味する。外部接続とは、そのV−VOLが第１ストレージ装置１００の外部に存在するLDEV、即ち、第２ストレージ装置２００内のLDEVに接続されることを意味する。
【００９０】
内部接続の場合は、PDEV管理テーブルＴ１３が参照される。PDEV管理テーブルＴ１３は、第１ストレージ装置１００内のPDEV１７１を管理するテーブルである。これに対し、外部接続の場合は、外部接続先LDEV管理テーブルＴ１４が参照される。外部接続先LDEV管理テーブルＴ１４は、第１ストレージ装置１００に直接的に接続された第２ストレージ装置２００内のLDEVを管理するための情報である。このテーブルＴ１４には、例えば、ベンダー名、プロダクト名、WWN、LUN、使用するイニシエータポート番号等を含めることができる。
【００９１】
このように各テーブルＴ１１〜Ｔ１４を構成することにより、データ格納先デバイスとしてのLDEVに接続されたV−VOLと、仮想ＬＵ１７６とを切替可能に接続することができる。
【００９２】
本実施例は、上述のように構成されるので、第１実施例と同様の効果を奏する。これに加えて、本実施例では、V−VOL１７３とLDEV２４０（またはデータ格納先デバイスとしてのLDEV１７３）とを予め対応付けておく構成のため、V−VOL１７３と仮想ＬＵ１７６との対応関係を設定するだけで、データ格納先デバイスを自在に切り替えることができる。
【実施例３】
【００９３】
図１３，図１４に基づいて、本発明の第３実施例を説明する。本実施例の特徴は、バックアップ処理に適用した点にある。ホスト１０には、バックアップソフトウェア１４と、スケジューリングソフトウェア１５とが搭載されている。
【００９４】
バックアップソフトウェア１４は、バックアップ元として設定されたボリューム（LDEV）の記憶内容を、バックアップ先として指定されたボリューム（LDEV）にコピーしてバックアップさせる処理を実行するものである。
【００９５】
スケジューリングソフトウェア１５は、バックアップ時期等を制御するもので、所定の時期が到来した場合には、バックアップ先のボリュームを準備し、バックアップソフトウェア１４にバックアップの実行を指示する。
【００９６】
ここでは、例えば、第２ストレージ装置２００の「LDEV２」をバックアップ元ボリュームとする。バックアップ先のＬＵは、第１ストレージ装置１００の「ＬＵ３」であるとする。
【００９７】
ある時点で、バックアップ先である「ＬＵ３」は、第１ストレージ装置１００の「LDEV３」及び「V−VOL１」を介して、第１ストレージ装置１００の「ＬＵ１」に接続されており、この「ＬＵ１」を介して「LDEV１」に接続されている。即ち、バックアップデータを記憶するバックアップ先ボリュームは、第１ストレージ装置１００の「LDEV１」となる。バックアップソフトウェア１４は、第２ストレージ装置２００に位置するバックアップ元ボリューム「LDEV２」のデータを読出し、読出したデータを第１ストレージ装置１００の「ＬＵ３」に書き込む。「ＬＵ３」を対象として書き込まれたデータは、第１ストレージ装置１００の「LDEV１」に格納される。
【００９８】
所定時間が経過して再びバックアップ時期が到来すると、スケジューリングソフトウェア１５は、CMD１７７を介して、バックアップ先ボリュームの切替を第１ストレージ装置１００に指示する。この指示を受けて、第１ストレージ装置１００は、「V−VOL１」にマッピングするＬＵを「ＬＵ１」から「ＬＵ２」に切り替える。これにより、バックアップ先ボリュームは、第１ストレージ装置１００の「LDEV１」から「LDEV２」に変更される。
【００９９】
以上述べた処理の概要を、図１４に示す。図１４は、バックアップ処理のフローチャートである。
【０１００】
スケジューリングソフトウェア１５は、内蔵タイマ等を監視することにより、バックアップ時期が到来したか否かを判定する（Ｓ３１）。バックアップ処理は、例えば、ストレージシステムの負荷が比較的少なくなる業務時間外等を選んで行うことができる。
【０１０１】
スケジューリングソフトウェア１５は、バックアップ時期の到来を検出すると（S31：YES）、第１ストレージ装置１００のCMD１７７にアクセスし、バックアップ先ボリュームの切替を指示する（Ｓ３２）。
【０１０２】
この切替指示を受信した第１ストレージ装置１００は、バックアップ用の仮想中間デバイスである「V−VOL１」に、所定のLDEVを対応付ける（Ｓ３３）。所定のLDEVとしては、例えば、バックアップデータに見合った空き容量を有しており、リードオンリー等のアクセス制限が設定されていないものが選択される。
【０１０３】
第１ストレージ装置１００は、バックアップ先ボリュームの切替を完了すると、処理完了を示すステータスをCMD１７７に書き込む。スケジューリングソフトウェア１５は、CMD１７７に書き込まれた切替完了ステータスを確認すると（S34：YES）、バックアップソフトウェア１４に対し、バックアップ処理の実行を指示する（Ｓ３５）。
【０１０４】
バックアップソフトウェア１４は、スケジューリングソフトウェア１５からの指示を受けると、バックアップ処理を開始し（Ｓ３６）、バックアップ元ボリュームから読出したデータを、バックアップ先ボリュームに書き込む。そして、バックアップ対象の全てのデータをコピーすると（S37：YES）、バックアップ処理を終了する。
【０１０５】
このように、バックアップソフトウェア１４は、常に、第１ストレージ装置１００の「ＬＵ３」）をバックアップ用のＬＵとして固定的に使用しながら、バックアップ先ボリュームを自由に切り替えて使用することができる。つまり、従来のように、バックアップソフトウェア１４は、バックアップ先ボリュームを変更するたびに、接続先のＬＵを切り替える必要がなく、使い勝手が向上する。
【実施例４】
【０１０６】
図１５は、本発明の第５実施例を示す。本実施例の特徴は、ホスト１０として、いわゆるメインフレーム系のホストを用いる点にある。メインフレーム系のホスト１０は、オープン系ホストとは異なり、ＬＵを介さずにLDEVを直接認識することができる。
【０１０７】
また、メインフレーム系のホスト１０の場合、inquiryコマンドに代えて、READDEVCHARコマンドが使用される。メインフレーム系ホストを備えるストレージシステムにおいても、第１実施例と同様に、ホスト１０に対して透過的に、データ格納先デバイスであるLDEVを自在に切り替えることができる。
【実施例５】
【０１０８】
図１６は、本発明の第６実施例を示す。本実施例の特徴は、オープン系ホスト１０Ａとメインフレーム系ホスト１０Ｂとが混在する環境下に適用した点にある。オープン系ホスト１０Ａは、例えば、FCP、iSCSI、TCP/IP等の通信プロトコルを用いて、第１ストレージ装置１００にアクセスする。オープン系ホスト１０Ａの認識対象は、ＬＵである。メインフレーム系ホスト１０Ｂは、既に述べたように、FICONやESCON等の専用プロトコルを用いて、第１ストレージ装置１００にアクセスする。メインフレーム系ホスト１０Ｂは、LDEV１７４を直接認識する。
【０１０９】
また、オープン系ホスト１０Ａは、例えば、FBA（Fixed Block Architecture）と呼ばれるフォーマットに従ってデータの入出力を行う。メインフレーム系ホスト１０Ｂは、例えば、CKD（Count-Key-Data disk architecture）と呼ばれるフォーマットに従ってデータの入出力を行う。
【０１１０】
第１ストレージ装置１００には、FBAとCKDとの間でフォーマットを変換するためのフォーマット変換部１９０，１９１が設けられている。例えば、一方のフォーマット変換部１９０はCKDをFBAに変換するものであり、他方のフォーマット変換部１９１はFBAをCKDに変換するものである。図中では説明のために、２種類のフォーマット変換部１９０，１９１を示す。
【０１１１】
メインフレーム系ホスト１０Ｂは、CKDフォーマットに従って、メインフレーム系ホスト１０Ｂ用のLDEV１７４（メインフレーム系ボリューム）にアクセス可能である。また、メインフレーム系ホスト１０Ｂは、フォーマット変換部１９０を介することにより、オープン系ホスト１０Ａ用のLDEV１７４（オープン系ボリューム）にアクセスすることもできる。同様に、オープン系ホスト１０Ａは、FBAフォーマットに従って、オープン系ボリュームにアクセスし、また、フォーマット変換部１９１を介することにより、メインフレーム系ボリュームにもアクセスすることができる。このように、オープン系ホスト１０Ａとメインフレーム系ホスト１０Ｂとは、自己の使用するフォーマット形式に従うボリュームにアクセスしてデータの読み書きを行うことができるほか、他方のフォーマット形式に従うボリュームにもアクセスしてデータの読み書きを行うことができる。
【０１１２】
また、メインフレーム系ボリュームであっても、外部のストレージ装置に接続される場合は、オープン系のFCPコマンドに変換した後で、その外部ストレージ装置にアクセスすることができる。
【０１１３】
なお、本発明は、上述した実施の形態に限定されない。当業者であれば、本発明の範囲内で、種々の追加や変更等を行うことができる。例えば、第１ストレージ装置と第２ストレージ装置との２つのストレージ装置からストレージシステムを構成する場合に限らず、より多くのストレージ装置を接続してストレージシステムを構築してもよい。
【０１１４】
また、V−VOLに割り当てるLDEVの切替指示は、CMDを経由して行ってもよいし（インバンド方式）、CMDを介さずに管理端末から行ってもよい（アウトバンド方式）。
【図面の簡単な説明】
【０１１５】
【図１】本発明の実施形態の概念を示す説明図である。
【図２】ストレージシステムのブロック図である。
【図３】ストレージシステムの記憶階層を示す説明図である。
【図４】ストレージシステムの記憶階層を簡略化して示す説明図である。
【図５】ストレージ装置内でボリュームを切り替えるために用いられるテーブルの一例を示し、（ａ）は、V−VOL（VDEV）とLUNとのマッピングを行うためのテーブルを、（ｂ）は、仮想ＬＵを構成するLUNとLDEVとV−VOL（VDEV）とを対応付けるためのテーブルを、それぞれ示す。
【図６】V−VOL作成処理を示すフローチャートである。
【図７】V−VOLにマッピングするLDEVの登録・変更処理を示すフローチャートである。
【図８】コマンド応答処理を示すフローチャートである。
【図９】仮想ＬＵに接続するボリュームを切り替える様子を示す説明図であって、（ａ）は、仮想ＬＵを生成した状態を、（ｂ）は、仮想ＬＵに一つのボリュームを接続した状態を、それぞれ示す。
【図１０】図９に続く説明図であり、（ａ）は、仮想ＬＵとボリュームとの接続をいったん解除した状態を、（ｂ）は、仮想ＬＵに別のボリュームを接続した状態を、それぞれ示す。
【図１１】本発明の第２実施例に係るストレージシステムの記憶階層を簡略化して模式的に示す説明図である。
【図１２】仮想ＬＵに接続するボリュームを切り替えるために用いるテーブル群の構成例及び各テーブル間の関係を示す説明図である。
【図１３】本発明の第３実施例に係るストレージシステムの構成概要を示す説明図である。
【図１４】バックアップ処理を示すフローチャートである。
【図１５】本発明の第４実施例に係り、メインフレーム系ホストに適用した場合のストレージシステムの説明図である。
【図１６】本発明の第５実施例に係るストレージシステムの説明図である。
【符号の説明】
【０１１６】
１…ホスト、２Ａ…第１ストレージ装置、２Ｂ…第２ストレージ装置、３Ａ，３Ｂ…通信ネットワーク、４…仮想ＬＵ、５…接続制御部、６，８…データ格納先デバイス（論理ボリューム）、７，９…物理デバイス群（物理ディスク群）、１０…ホスト、１１…HBA、１２…制御プログラム、１３…アプリケーションプログラム群、１４…バックアップソフトウェア、１５…スケジューリングソフトウェア、２０…管理端末、１００…第１ストレージ装置、１１１…ポート、１１０…チャネルアダプタ、１２０…ディスクアダプタ、１３０…キャッシュメモリ、１４０…共有メモリ、１５０，１６０…接続制御部、１７０…記憶部、１７１…ディスクドライブ、１７２…VDEV、１７３…V−VOL、１７４…LDEV、１７５…ＬＵ、１７６…仮想ＬＵ、１７７…コマンドデバイス、２００…第２ストレージ装置、２１０…コントローラ、２１１…通信ポート、２２０…ディスクドライブ、ＣＮ…通信ネットワーク、Ｔ…テーブル
【図１】
2006085398.tif 000003
【図２】
2006085398.tif 000004
【図３】
2006085398.tif 000005
【図４】
2006085398.tif 000006
【図５】
2006085398.tif 000007
【図６】
2006085398.tif 000008
【図７】
2006085398.tif 000009
【図８】
2006085398.tif 000010
【図９】
2006085398.tif 000011
【図１０】
2006085398.tif 000012
【図１１】
2006085398.tif 000013
【図１２】
2006085398.tif 000014
【図１３】
2006085398.tif 000015
【図１４】
2006085398.tif 000016
【図１５】
2006085398.tif 000017
【図１６】
2006085398.tif 000018