JP2006309483A - ストレージ装置及びストレージシステム - Google Patents

ストレージ装置及びストレージシステム Download PDF

Info

Publication number
JP2006309483A
JP2006309483A JP2005130942A JP2005130942A JP2006309483A JP 2006309483 A JP2006309483 A JP 2006309483A JP 2005130942 A JP2005130942 A JP 2005130942A JP 2005130942 A JP2005130942 A JP 2005130942A JP 2006309483 A JP2006309483 A JP 2006309483A
Authority
JP
Japan
Prior art keywords
storage
storage device
external
storage apparatus
volume
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.)
Pending
Application number
JP2005130942A
Other languages
English (en)
Inventor
Kazuto Suishu
和人 水主
Keiichi Kaiya
佳一 海谷
Ryusuke Ito
隆介 伊東
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 JP2005130942A priority Critical patent/JP2006309483A/ja
Priority to US11/178,422 priority patent/US7356640B2/en
Publication of JP2006309483A publication Critical patent/JP2006309483A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0632Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】 複数のサブネットワークに種々のストレージ装置が分散して配置されているヘテロジニアスなストレージ環境下において、各ストレージ装置の情報を一つのストレージ装置内で一元的に管理する。
【解決手段】 広域ネットワークは、サブネットワーク4A〜4Dを備えており、各サブネットワークには複数のストレージ装置5が設けられている。接続元となるストレージ装置1は、ユーザから入力された条件に基づいて(S1)、問合せコマンドを発行し、各外部ストレージ装置5からストレージ情報を収集する(S2)。ユーザの希望条件に合致する外部リソース(ボリューム)が抽出されると(S3)、この外部リソースは管理端末5に表示される(S4)。ユーザが所望の外部リソースを選択すると、この外部リソースは、仮想的な中間ボリューム8に接続されて、ホスト3に提供される。
【選択図】 図1

Description

本発明は、ストレージ装置及びストレージシステムに関する。
例えば、政府機関、企業、教育機関等では、多種多量のデータを取り扱うために、比較的大規模なストレージシステムを用いてデータを管理する。このストレージシステムは、例えば、ディスクアレイ装置等のストレージ装置を備えて構成される。例えば、ストレージ装置は、多数の記憶デバイスをアレイ状に配設して構成されるもので、RAID(Redundant Array of Inexpensive Disks)に基づく記憶領域を提供する。記憶デバイス群が提供する物理的な記憶領域上には少なくとも1つ以上の論理ボリュームが形成され、この論理ボリュームがホストコンピュータ(以下、「ホスト」と略記)に提供される。ホストは、ライトコマンドやリードコマンドを送信することにより、論理ボリュームに対してデータの書込み、読み出しを行うことができる。
企業等で管理すべきデータは、日々増大する。このため、企業等では、例えば、ストレージシステムに新たなストレージ装置を配備して、ストレージシステムを拡張する。新型のストレージ装置をストレージシステムに導入する方法としては、2通り考えられる。一つは、旧型のストレージ装置と新型のストレージ装置とを置き換える方法である(特許文献1)。他の一つは、旧型のストレージ装置と新型のストレージ装置とを併存させる方法である。
ところが、旧型のストレージ装置から新型のストレージ装置に完全に移行させる場合は、旧型のストレージ装置を活用することができない。これに対し、旧型のストレージ装置と新型のストレージ装置との併存を図る場合は、ストレージシステムの構成が複雑化し、管理運用の手間が大きくなる。
そこで、ホストと第1ストレージ装置とを接続すると共に、第1ストレージ装置と第2ストレージ装置とを接続し、ホストからのアクセス要求を第1ストレージ装置が代表して処理するようにした技術も知られている(特許文献2)。この技術では、第2ストレージ装置を対象とするコマンドも第1ストレージ装置が受け付けて、処理を代行する。必要があれば、第1ストレージ装置は、第2ストレージ装置にコマンドを発行し、その処理結果を受信してホストに送信する。
特表平10−508967号公報 特開2004−005370号公報
前記文献に記載のように、第1ストレージ装置と第2ストレージ装置とを直列的に接続し、ホストからのアクセス要求を第1ストレージ装置が受け付けることにより、旧型のストレージ装置の記憶資源を有効に利用することができる。
ところで、近年では、それぞれストレージ装置を備えた複数のサブネットワークを連携させて、より広域なストレージネットワークを構築することも考えられている。このような広域のストレージシステムでは、多種多様なストレージ装置が混在し易く、いわゆるヘテロジニアスなストレージ環境が形成される。ヘテロジニアスなストレージ環境下で、各ストレージ装置を管理し、運用するのには手間がかかる。
本発明は、上記の問題点に鑑みてなされたもので、本発明の目的の一つは、所望のストレージ装置を比較的簡単に選択して、複数のストレージ装置を連携させて使用することができるようにしたストレージ装置及びストレージシステムを提供することにある。本発明の他の目的は、種々のストレージ装置が混在するヘテロジニアスな環境下で、所望のストレージ装置を比較的簡単に検出して利用することができるようにしたストレージ装置及びストレージシステムを提供することにある。本発明の更なる目的は、後述する実施の形態の記載から明らかになるであろう。
上記課題を解決すべく、本発明に従うストレージ装置は、通信ネットワークを介して他の複数のストレージ装置にそれぞれ接続可能なストレージ装置であって、他の各ストレージ装置に関するストレージ情報をそれぞれ管理するストレージ情報管理部と、論理ボリュームに接続される中間ボリュームと、入力された抽出条件に基づいて、ストレージ情報管理部によって管理されている各ストレージ情報を検索することにより、他の各ストレージ装置の中から抽出条件に合致する所定のストレージ装置を抽出する抽出部と、抽出部によって抽出された所定のストレージ装置を提示する提示部と、提示部によって提示された所定のストレージ装置が選択された場合には、所定のストレージ装置の有する記憶デバイスを中間ボリュームに接続し、中間ボリュームを論理ボリュームに接続させる接続制御部と、を備えたことを特徴とする。
通信ネットワークは、複数のサブネットワークを含むことができる。これら各サブネットワークのうちいずれか一つのサブネットワークに、前記ストレージ装置を設け、他の各サブネットワークには、他の各ストレージ装置をそれぞれ少なくとも一つずつ設けることができる。
ストレージ情報管理部は、問合せコマンドを他の各ストレージ装置にそれぞれ発行することにより、他の各ストレージ装置からストレージ情報をそれぞれ取得して管理することができる。
ストレージ情報管理部は、抽出条件が入力された場合に、各ストレージ情報を取得済であるか否かを判定し、各ストレージ情報を取得していないと判定した場合は、問合せコマンドを他の各ストレージ装置にそれぞれ発行することにより、他の各ストレージ装置からストレージ情報をそれぞれ取得して管理することもできる。
ストレージ情報管理部は、他の各ストレージ装置の構成変更を検出した場合、この構成変更に係る他のストレージ装置に問合せコマンドを発行することにより、構成変更に係る他のストレージ装置からストレージ情報を取得することもできる。
ストレージ情報管理部は、問合せコマンドに対する他の各ストレージ装置の応答状態をそれぞれ検出して管理することもできる。
ストレージ情報管理部は、抽出条件に応じて問合せコマンドを発行可能である。抽出条件に応じて問合せコマンドを発行するとは、SCSIコマンドを例に挙げると、Inquiryコマンド、ReadCapacityコマンド、ReportLUNコマンド、TestUnitReadyコマンド等のように、抽出条件に含まれている各属性を他の各ストレージ装置から取得するために、取得対象の属性に応じて問合せコマンドを発行することを意味する。
抽出条件には、他の各ストレージ装置が属するクラス種別、他の各ストレージ装置が有する記憶デバイスの種別、他の各ストレージ装置のベンダ名、他の各ストレージ装置の有する空き容量のうち、いずれか一つ以上が含まれていてもよい。
提示部は、所定のストレージ装置が複数検出された場合は、それら全てを提示することができる。抽出条件は、所望の構成を備えたストレージ装置(所定のストレージ装置)を抽出するために使用される。抽出条件には、ユーザの所望する属性が一つまたは複数含まれている。
従って、指定された属性を備える他のストレージ装置は全て抽出され、ユーザにより選択される候補ストレージ装置となる。このように、特定のストレージ装置を直接指定するのではなく、候補となる所定のストレージ装置を複数抽出可能である。従って、提示部は、抽出された全ての所定のストレージ装置をユーザに提示する。
接続制御部は、記憶デバイスの有する物理的な記憶領域を中間ボリュームを介して論理ボリュームに割り当てるように、中間ボリュームを介して記憶デバイスと論理ボリュームとを接続させることができる。
即ち、論理ボリュームの有する記憶空間は、中間ボリュームの有する記憶空間を介して、記憶デバイスの物理的な記憶領域に割り付けられる。論理ボリュームの記憶空間のアドレスを指定してデータの入出力を行う場合、そのアドレスは中間ボリュームの記憶空間を介して、記憶デバイスの物理的な記憶領域のアドレスに変換される。
ストレージ情報管理部は、問合せコマンドに対する他の各ストレージ装置の応答状態をそれぞれ検出して管理可能である。そして、接続制御部は、ストレージ情報管理部によって管理されている他の各ストレージ装置の応答状態に基づいて、所定のストレージ装置の有する記憶デバイスと論理ボリュームとの間の転送モードを制御可能である。
接続制御部は、選択された所定のストレージ装置からの応答時間が所定の基準時間以上の場合に非同期転送モードを選択し、選択された所定のストレージ装置からの応答時間が所定の基準値未満の場合に同期転送モードを選択することができる。
非同期転送モードとは、論理ボリュームにデータを書き込む場合、そのデータを記憶デバイスの対応する位置に書き込むよりも前に書込み完了を報告するモードである。同期転送モードとは、論理ボリュームにデータを書き込む場合、そのデータを記憶デバイスの対応する位置に書き込んだことを確認してから、書込み完了を報告するモードである。
接続制御部は、記憶デバイスと論理ボリュームとを中間ボリュームを介して接続させた場合に、他の各ストレージ装置による記憶デバイスの利用を禁止可能である。記憶デバイスの利用を禁止させる方法としては、例えば、他のストレージ装置からの問合せコマンドに応答しないように、記憶デバイスのアクセス属性を設定することが考えられる。他の方法としては、例えば、その記憶デバイスが既に利用されていることを示す情報を、他の各ストレージ装置に通知することが考えられる。
本発明の別の観点に従うストレージシステムは、それぞれ少なくとも一つ以上のストレージ装置が設けられている複数のサブネットワークを備えたストレージシステムであって、各ストレージ装置のうち少なくとも一つのストレージ装置は、各サブネットワークを介して他の各ストレージ装置とそれぞれ通信するための通信ポートを有する制御部と、制御部によって使用されるメモリと、メモリに記憶された接続制御テーブルと、制御部によって生成される論理ボリュームと、制御部によって生成され、接続制御テーブルによって論理ボリュームに論理的に接続される中間ボリュームと、を備えている。そして、制御部は、他の各ストレージ装置に関するストレージ情報をそれぞれ取得し、これら取得した各ストレージ情報をメモリに記憶させて管理するストレージ情報管理部と、制御部に接続された管理端末から入力された抽出条件に基づいて、ストレージ情報管理部によって管理されている各ストレージ情報を検索することにより、他の各ストレージ装置の中から抽出条件に合致する所定のストレージ装置を抽出する抽出部と、抽出部によって抽出された所定のストレージ装置を管理端末を介して提示する提示部と、提示部によって提示された所定のストレージ装置が管理端末を介して選択された場合には、接続制御テーブルの登録内容を更新させることにより、所定のストレージ装置の有する記憶デバイスを中間ボリュームを介して論理ボリュームに接続させる接続制御部と、を備える。
さらに、制御部は、他の通信ポートを介して上位装置と通信可能であり、他の通信ポートと上位装置とを接続する通信ネットワークは、他の各ストレージ装置に接続される通信ネットワークから独立して構成可能である。即ち、制御部と上位装置との間の通信ネットワークと、制御部と他の各ストレージ装置の間の通信ネットワークとを、互いに独立させて構成することができる。これにより、制御部と他の各ストレージ装置との通信が、上位装置と制御部との間の通信ネットワークに影響を与えることなく、上位装置への応答性を確保しながら、他の複数のストレージ装置を管理することができる。
本発明の他の観点に従うストレージシステムの管理方法は、複数種類のストレージ装置がネットワーク上に混在してなるストレージシステムを、各ストレージ装置のうち管理機能を備えたストレージ装置で管理させるための方法であって、管理機能を備えたストレージ装置は、抽出条件の入力を受け付けるステップと、抽出条件が入力された場合には、各ストレージ装置のストレージ情報を管理するためのデータベースが生成されているか否かを判定するステップと、データベースが生成されていない場合には、問合せコマンドを発行することにより、各ストレージ装置から各ストレージ情報をそれぞれ取得して、データベースを生成するステップと、抽出条件に基づいて、データベースを検索することにより、抽出条件に合致する所定のストレージ装置を抽出するステップと、抽出された所定のストレージ装置を提示するステップと、提示された所定のストレージ装置が選択されたか否かを判定するステップと、所定のストレージ装置が選択された場合は、所定のストレージ装置の有する記憶デバイスを、管理機能を備えたストレージ装置の有する中間ボリュームを介して、管理機能を備えたストレージ装置の有する論理ボリュームに論理的に接続させるステップと、各ストレージ装置の構成変更が検出された場合には、この構成変更に係るストレージ装置のストレージ情報を取得し、データベースを更新させるステップと、
をそれぞれ実行する。
本発明の手段、機能、ステップの全部または一部は、コンピュータシステムにより実行されるコンピュータプログラムとして構成可能な場合がある。本発明の構成の全部または一部がコンピュータプログラムから構成された場合、このコンピュータプログラムは、例えば、各種記憶媒体に固定して配布等することができ、あるいは、通信ネットワークを介して送信することもできる。
図1は、本発明の実施形態の全体概要を示す構成説明図である。図1の下側に示すように、このストレージシステムは、複数のサブネットワーク4A,4B,4C,4Dを備えている。各サブネットワーク4A〜4Dは、それぞれ一つまたは複数のストレージ装置5を備えている。
各サブネットワーク4A〜4Dは、例えば、FC_SAN(Fibre Channel_Storage Area Network)、IP_SAN(Internet Protocol_SAN)、LAN(Local Area Network)、WAN(Wide Area Network)等のネットワークとして構成されている。そして、各サブネットワーク4A〜4D間は、例えば、ファイバチャネル、インターネットまたは専用回線等を介して、接続されている。各サブネットワーク4A〜4Dは、それぞれ異なるネットワークとして構成してもよい。例えば、FC_SANに基づいて構成されるサブネットワークと、IP_SANに基づいて構成されるサブネットワークとが共存してもよい。
サブネットワーク4Aには、接続元ストレージ装置1が設けられている。接続元ストレージ装置1は、ネットワーク上に分散する他のストレージ装置5に接続することにより、そのストレージ装置5が有する記憶資源を自己の記憶資源として取り込むことができるようになっている。接続元ストレージ装置1は、例えば、メインストレージ装置1と呼び変えることもできる。
接続元ストレージ装置1は、サブネットワーク4A〜4Dとは異なる通信ネットワークを介して、管理端末2に接続されている。また、接続元ストレージ装置1は、別の通信ネットワークを介して、ホスト3に接続されている。
接続元ストレージ装置1は、例えば、希望条件受付部1Aと、外部リソース管理部1Bと、外部リソースデータベース(図中、データベースをDBと略記)1Cと、外部リソース抽出部1Dと、外部リソース提示部1Eと、接続設定部1Fとを備えて構成することができる。
ここで、外部リソースとは、接続元ストレージ装置1の外部に存在する記憶資源を意味する。具体的には、他のストレージ装置5の有する記憶デバイスが、外部リソースに該当する。なお、接続元ストレージ装置1の外部に存在する他のストレージ装置5は、外部ストレージ装置5と呼ぶこともできる。
希望条件受付部1Aは、外部リソースに関するユーザからの条件を受け付ける。ユーザは、管理端末2を介して、所望の条件を接続元ストレージ装置1に入力することができる(S1)。ユーザは、例えば、製品の種別(エンタープライズクラス、ミッドレンジクラス、エントリクラス等)、デバイス種別(ディスクドライブ、テープドライブ等)、ベンダ名、空き容量のサイズ、LUN (Logical Unit Number) の数等のように、所望の属性を一つまたは複数指定することができる。あるいは、ユーザは、「低速な記憶デバイスを有するストレージ装置」、「I/O(Input/Output)の少ないストレージ装置」等のように、より曖昧な条件を指定することもできる。このユーザにより入力される希望条件は、「抽出条件」に該当する。
外部リソース情報管理部1Bは、ユーザからの希望条件が入力されると、問合せコマンドを発行することにより、ネットワーク上に分散する各ストレージ装置5の構成に関する情報(ストレージ情報)を収集する(S2)。収集された各ストレージ情報は、外部リソースデータベース1Cに登録される。
ここで、問合せコマンドは、収集対象の項目に応じて選択される。例えば、デバイス種別やベンダ名等を取得する場合は、Inquiryコマンドが使用される。空き容量のサイズを取得する場合は、ReadCapacityコマンドが使用される。LUN数を取得する場合は、ReportLUNコマンドが使用される。そのストレージ装置5が存在するか否かを確認する場合は、TestUnitReadyコマンドが使用される。なお、以上は、SCSI(Small Computer System Interface)コマンドの場合の例示であり、本発明はこれらのコマンドに限定されない。
問合せコマンドは、ユーザから入力された条件に応じて、発行することができる。例えば、ユーザが「ディスクドライブを有するストレージ装置」の抽出を希望する場合、ストレージ装置の存在とデバイス種別を取得できれば足りる。従って、例えば、空き容量のサイズ等の希望条件に含まれていない他の属性を取得する必要は、必ずしもない。必要な場合に、必要な問合せコマンドだけを発行すればよい。
ストレージ装置5をストレージ装置1に接続するために必要な情報が欠落している場合、欠落した情報をそのストレージ装置5のみに問い合わせて、取得すればよい。これにより、外部リソースデータベース1Cが構築されていない段階でも、抽出時間を短くすることができ、ユーザに結果を速やかに提示することができる。
外部リソース抽出部1Dは、ユーザから指定された条件に基づいて、外部リソースデータベース1Cを検索し、該当するストレージ装置5を全て抽出する(S3)。もしも、ユーザの指定した条件が「エンタープライズクラスのストレージ装置」の場合、各サブネットワーク4A〜4Dに分散する各ストレージ装置5の中から、エンタープライズクラスのストレージ装置が全て抽出される。
外部リソース提示部1Eは、外部リソース抽出部1Dによって抽出された結果を、ユーザに提示する(S4)。例えば、外部リソース提示部1Eは、抽出結果を管理端末2の画面上にリスト表示させる。管理端末2の画面には、ユーザの指定条件を満たす外部ボリューム群6のみが表示される。ユーザの指定条件を一つでも満たさないボリューム群7は、ユーザに開示されない。本実施形態では、指定条件を全て満たす外部ボリューム群6のみをユーザに開示することにより、ユーザの選択を支援する。
ここで、外部ボリュームとは、接続元ストレージ装置1の外部に位置するボリュームを意味する。これに対し、内部ボリュームとは、接続元ストレージ装置1の内部に存在するボリュームを意味する。そして、接続元ストレージ装置1は、外部ボリュームを仮想的な内部ボリュームとして取り込むことができる。
ユーザは、管理端末2の画面に表示された外部ボリューム群6の中から、所望の外部ボリュームを1つまたは複数選択する(S5)。図1に示す例では、サブネットワーク4Dに存在するストレージ装置5の有するボリュームが選択されている。
接続設定部1Fは、ユーザによって外部ボリュームが選択されると、この選択された外部ボリュームをLU9に接続させる(S6)。接続設定部1Fは、選択された外部ボリュームを仮想ボリューム(V-VOL)8に接続し、仮想ボリューム8とLU9とを接続させる。仮想ボリューム8は、「中間ボリューム」に該当する。仮想ボリューム8は、仮想的な中間記憶デバイスと呼び変えることもできる。LU9とは、論理ボリュームである。以下の説明では、LU9を論理ボリューム9と呼ぶ場合がある。
具体的には、接続設定部1Fは、選択された外部ボリュームにアクセスするためのパス情報を、LU9に関連づける。外部ボリュームの有する物理的な記憶領域は、仮想ボリューム8を介して、LU9に対応付けられる。なお、接続設定部1Fが接続設定を行う際に、その接続設定に必要な情報の一部が外部リソースデータベース1Cに登録されていない場合、接続設定部1Fは、その不足している情報の取得を外部リソース管理部1Bに要求することができる(S6A)。
外部ボリュームとLU9との接続が完了し、かつ、ホスト3とLU9との間のパスが設定されると、ホスト3は、LU9を利用することができる(S7)。例えば、LU9を対象とするライトコマンドがホスト3から発行されると、このライトデータは、仮想ボリューム8を介して外部ボリュームに転送され、外部ボリュームの所定位置に書き込まれる。リードコマンドの場合、外部のストレージ装置5からリードデータが読み出されて、ホスト3に送信される。
なお、ホスト3から要求されたリードデータが接続元ストレージ装置1にキャッシュされている場合は、外部ボリュームからデータを読み出す必要はない。このように、ホスト3は、実際にデータの記憶されている位置が接続元ストレージ装置1の内部であるか外部であるかを全く意識することなく、論理ボリューム(LU)9を利用できる。
ネットワーク上の各ストレージ装置5の構成が変化した場合、接続元ストレージ装置1は、構成が変更されたストレージ装置5から状態変更通知を受け取る(S8)。これにより、外部リソース情報管理部1Bは、構成が変更されたストレージ装置5に問合せコマンドを発行し、ストレージ情報を取得する。外部リソース情報管理部1Bは、新たに取得したストレージ情報により、外部リソースデータベース1Cを更新させる(S9)。
以上の通り、本実施形態では、ユーザは、サブネットワーク4A〜4D上に分散する複数のストレージ装置5の中から、希望のストレージ装置5について簡単に指定することができる(S1)。そして、本実施形態では、ユーザの希望条件に合致するストレージ装置5を全て抽出して(S3)、ユーザに提示することができる(S4)。さらに、本実施形態では、ユーザによって選択された外部ボリュームを(S5)、論理ボリューム9に対応付けることにより(S6)、ホスト3は、そのボリュームを利用できる(S7)。
ここで、仮想ボリューム8を介さずに、外部ボリュームの記憶領域を直接論理ボリューム9に接続する構成も考えられる。しかし、この場合は、外部ボリュームの性質や構造等によって、論理ボリューム9の性能や使い勝手が制限される。例えば、直接対応付ける場合、外部ボリュームのサイズが100MBならば、論理ボリューム9のサイズも100MBとなる。同様に、外部ボリュームの性質や構造が直接的に論理ボリューム9に影響するため、使い勝手が低くなる。
これに対し、本実施形態では、外部ボリュームと論理ボリューム9とを仮想ボリューム8を介して接続するため、外部ボリュームの性質や構造による影響が論理ボリューム9に直接及ぶのを防止できる。また、接続元ストレージ装置1の有する種々の機能や性能を利用できるため、使い勝手も向上する。以下、本実施形態をより詳細に説明する。
図2は、本実施例によるストレージシステムの全体概要を示す説明図である。先に図1との対応関係について説明すると、図2中のメインストレージ装置100は、図1中の接続元ストレージ装置1に対応する。同様に、図2中の外部ストレージ装置200,201,202は、図1中のストレージ装置5に対応する。図2中のホスト10は、図1中のホスト3に対応する。図2中の管理端末20は、図1中の管理端末2に対応する。図2中のサブネットワーク400,401,402は、図1中のサブネットワーク4A〜4Dに対応する。なお、図2では、3個のサブネットワークのみを示すが、図1と同様に、ストレージシステムは、4個以上のサブネットワークを備えることもできる。
図2の中央部に示すサブネットワーク400には、メインストレージ装置100及び他の複数のストレージ装置200がそれぞれ設けられている。これら各ストレージ装置100,200は、例えば、スイッチ300によって相互に接続されている。
同様に、図2の左側に示すサブネットワーク401には、スイッチ301によって相互に接続された複数のストレージ装置201が設けられている。図2の右側に示すサブネットワーク402には、スイッチ302によって相互に接続された複数のストレージ装置202が設けられている。
ここで、一つの例として、サブネットワーク400,401は、FC_SANに基づいて構成されており、他のサブネットワーク402は、IP_SANに基づいて構成されている。そして、各サブネットワーク400,401,402間を接続するネットワーク間ネットワークとしては、例えば、ファイバチャネル、専用回線、公衆回線、インターネット等を用いることができる。
なお、図中では、説明の便宜上、プロトコル変換用のゲートウェイ等の細部構成を省略している。また、図中では、それぞれスイッチ300,301,302を一つずつ示しているが、複数のスイッチを備えることもできる。さらに、各サブネットワーク400,401,402は、ループ構造であってもよい。
これら各サブネットワーク400,401,402は、例えば、ストレージドメインと呼ぶこともできる。ここで、ストレージドメインとは、例えば、複数のストレージ装置を備えたストレージネットワークの管理上の単位領域として定義することができる。
例えば、サブネットワーク400は本社に、他のサブネットワーク401,402は支社や工場等に、それぞれ設けることができる。あるいは、例えば、サブネットワーク400を情報システム部に、サブネットワーク401を開発部に、サブネットワーク402を営業部に、それぞれ配置することもできる。
図3は、ストレージシステムの全体構成を示すブロック図である。ストレージシステムは、例えば、ホスト10と、管理端末20と、メインストレージ装置100と、外部ストレージ装置200,201,202(202は図2参照)とを備えて構成できる。
ホスト10は、例えば、CPU(Central Processing Unit)やメモリ等の情報処理資源を備えたコンピュータ装置である。ホスト10は、例えば、パーソナルコンピュータ、ワークステーション、メインフレーム等として構成することができる。なお、図中では、ホスト10を一つだけ示しているが、実際には、複数のホスト10を設けることができる。
ホスト10は、通信ネットワークCN1を介してメインストレージ装置100にアクセスするためのHBA(Host Bus Adapter)11と、パス制御プログラム12と、アプリケーションプログラム13とを備えることができる。
通信ネットワークCN1としては、例えば、LAN(Local Area Network)、SAN(Storage Area Network)、インターネット、専用回線等を場合に応じて適宜使用できる。LANの場合、例えば、TCP/IPプロトコルに従ってデータ転送を行うことができる。この場合、ホスト10は、ファイル名を指定してファイル単位でのデータ入出力を要求する。
ホスト10がSANを介してメインストレージ装置100に接続される場合、ホスト10は、ファイバチャネルプロトコルに基づいて、データ転送を行うことができる。SANの場合、ホスト10は、ディスクドライブ161のデータ管理単位であるブロックを単位として、メインストレージ装置100にデータ入出力を要求する。
通信ネットワークCN1がLANの場合、HBA11は、例えばLAN対応のネットワークカードである。これに対し、通信ネットワークCN1がSANの場合、HBA11は、例えばホストバスアダプタである。
管理端末20は、ストレージシステムの構成等を管理するためのコンピュータ装置であり、例えば、システム管理者や保守員等のユーザにより操作される。管理端末20は、通信ネットワークCN2を介して、メインストレージ装置100に接続されている。
メインストレージ装置100は、例えば、ディスクアレイサブシステムとして構成されるものである。但し、これに限らず、メインストレージ装置100を、例えば、高機能化されたスイッチ装置(ファイバチャネルスイッチ等)として構成することもできる。メインストレージ装置100は、各外部ストレージ装置200,201,202とスイッチ300,301,302等を介して、それぞれ接続されている。メインストレージ装置100は、後述のように、外部ストレージ装置200,201,202の有する記憶資源を自己の論理ボリューム(Logical Unit)としてホスト10に提供することができる。従って、メインストレージ装置100は、実ボリュームを備えている必要は必ずしもない。
メインストレージ装置100は、制御部と記憶部160とに大別できる。制御部は、例えば、複数のチャネルアダプタ(以下、「CHA」)110と、複数のディスクアダプタ(以下、「DKA」)120と、キャッシュメモリ130と、共有メモリ140と、接続制御部150とを備えて構成可能である。
各CHA110は、ホスト10との間のデータ通信を行う。各CHA110は、ホスト10と通信を行うための通信ポート111をそれぞれ少なくとも一つ以上備える。各CHA110は、それぞれCPUやメモリ等を備えたマイクロコンピュータシステムとして構成される。各CHA110は、ホスト10から受信したリードコマンドやライトコマンド等の各種コマンドを解釈して実行する。
各CHA110には、それぞれを識別するためのネットワークアドレス(例えば、IPアドレスやWWN)が割り当てられており、各CHA110は、それぞれが個別にNAS(Network Attached Storage)として振る舞うこともできる。複数のホスト10が存在する場合、各CHA110は、各ホスト10からの要求をそれぞれ個別に受け付けて処理する。
各DKA120は、記憶部160が有するディスクドライブ161との間でデータ授受を行う。各DKA120は、CHA110と同様に、CPUやメモリ等を備えたマイクロコンピュータシステムとして構成される。各DKA120は、例えば、CHA110がホスト10から受信したデータや外部ストレージ装置200,201,202から読み出されたデータを、所定のディスクドライブ161に書込む。また、各DKA120は、所定のディスクドライブ161からデータを読み出し、ホスト10または外部ストレージ装置200,201,202に送信することもできる。ディスクドライブ161との間でデータ入出力を行う場合、各DKA120は、論理的なアドレスを物理的なアドレスに変換する。
各DKA120は、ディスクドライブ161がRAIDに従って管理されている場合、RAID構成に応じたデータアクセスを行う。例えば、各DKA120は、同一のデータを別々のディスクドライブ群(RAIDグループ)にそれぞれ書き込んだり(RAID1等)、あるいは、パリティ計算を実行し、データ及びパリティをディスクドライブ群に書き込む(RAID5等)。
キャッシュメモリ130は、ホスト10または外部ストレージ装置200,201,202から受信したデータを記憶する。また、キャッシュメモリ130は、ディスクドライブ161から読み出されたデータを記憶する。後述のように、キャッシュメモリ130の記憶空間を利用して、仮想的な中間記憶デバイスが構築される。
共有メモリ(制御メモリとも呼ばれる場合もある)140には、メインストレージ装置100の作動に使用するための各種制御情報等が格納される。また、共有メモリ140には、ワーク領域が設定されるほか、後述する各種テーブル類も格納される。
なお、ディスクドライブ161のいずれか一つあるいは複数を、キャッシュ用のディスクとして使用してもよい。また、キャッシュメモリ130と共有メモリ140とは、それぞれ別々のメモリとして構成することもできるし、同一のメモリの一部の記憶領域をキャッシュ領域として使用し、他の記憶領域を制御領域として使用することもできる。
接続制御部150は、各CHA110,各DKA120,キャッシュメモリ130及び共有メモリ140を相互に接続させる。接続制御部150は、例えば、クロスバスイッチ等として構成可能である。
記憶部160は、複数のディスクドライブ161を備えている。ディスクドライブ161としては、例えば、ハードディスクドライブ、フレキシブルディスクドライブ、磁気テープドライブ、半導体メモリドライブ、光ディスクドライブ等のような各種記憶デバイス及びこれらの均等物を用いることができる。また、例えば、FC(Fibre Channel)ディスクやSATA(Serial AT Attachment)ディスク等のように、異種類のディスクを記憶部160内に混在させることもできる。
サービスプロセッサ(SVP)170は、LAN等の内部ネットワークCN5を介して、各CHA110とそれぞれ接続されている。SVP170は、CHA110を介して、共有メモリ140やDKA120とデータ授受を行うことができる。SVP170は、メインストレージ装置100内の各種情報を採取して、管理端末20に提供する。
外部ストレージ装置200を例に挙げて、外部ストレージ装置の構成を説明する。外部ストレージ装置200は、例えば、コントローラ210と、複数のディスクドライブ220とを備えて構成できる。外部ストレージ装置200は、通信ポート211から通信ネットワークCN4を介して、メインストレージ装置100に接続されている。通信ネットワークCN4は、例えば、SANやLAN等から構成可能である。
外部ストレージ装置200は、メインストレージ装置100とほぼ同様の構成を備えることもできるし、または、メインストレージ装置100よりも簡易な構成を採用することもできる。外部ストレージ装置200のディスクドライブ220の全部または一部は、メインストレージ装置100の内部記憶デバイスとして扱われる場合がある。他の外部ストレージ装置201,202も、外部ストレージ装置200と同様に構成可能であるため、その説明を省略する。
ここで、ストレージシステムのネットワーク構成に留意すべきである。図2,図3で示した通り、ホスト10とメインストレージ装置100とを接続する通信ネットワークCN1と、各ストレージ装置100,200,201,202が接続される通信ネットワークCN3,CN4等とは、別々の通信ネットワークとして構成されている。また、各サブネットワーク400,401,402を相互に接続するネットワーク間ネットワーク(CN3等)も、互いに独立した通信ネットワークとして構成されている。
図4を参照する。図4は、ストレージシステムの記憶構造を示す説明図である。図4では、ネットワーク上に分散した多数の外部ストレージ装置のうち、外部ストレージ装置200を例に挙げる。まず、メインストレージ装置100の構成を説明する。
メインストレージ装置100の記憶構造は、例えば、物理的記憶階層と論理的記憶階層とに大別することができる。物理的記憶階層は、物理的なディスクであるPDEV(Physical Device)161により構成される。PDEVは、ディスクドライブ161に該当する。
論理的記憶階層は、複数の(例えば2種類の)階層から構成可能である。一つの論理的階層は、VDEV(Virtual Device)162と、VDEV162のように扱われる仮想的なVDEV(以下、「V-VOL」とも呼ぶ)163とから構成可能である。他の一つの論理的階層は、LDEV(Logical Device)164から構成することができる。
VDEV162は、例えば、4個1組(3D+1P)、8個1組(7D+1P)等のような所定数のPDEV161をグループ化して構成される。グループに属する各PDEV161がそれぞれ提供する記憶領域が集合して一つのRAID記憶領域が形成される。このRAID記憶領域がVDEV162となる。
VDEV162が物理的な記憶領域上に構築されるのと対照的に、V-VOL163は、物理的な記憶領域を必要としない仮想的な中間記憶デバイスである。V-VOL163は、物理的な記憶領域に直接関係づけられるものではなく、外部ストレージ装置200のLU(Logical Unit)をマッピングするための受け皿となる。
LDEV164は、VDEV162またはV-VOL163上に、それぞれ少なくとも一つ以上設けることができる。LDEV164は、例えば、VDEV162を固定長で分割することにより構成することができる。ホスト10がオープン系ホストの場合、LDEV164がLU165にマッピングされることにより、ホスト10は、LDEV164を一つの物理的なディスクとして認識する。オープン系のホストは、LUN(Logical Unit Number )や論理ブロックアドレスを指定することにより、所望のLDEV164にアクセスする。なお、メインフレーム系ホストの場合は、LDEV164を直接認識する。
LU165は、SCSIの論理ユニットとして認識可能なデバイスである。各LU165は、ターゲットポート111Aを介してホスト10に接続される。各LU165には、少なくとも一つ以上のLDEV164をそれぞれ関連付けることができる。なお、一つのLU165に複数のLDEV164を関連付けることにより、LUサイズを仮想的に拡張することもできる。
CMD(Command Device)166は、ホスト10上で稼働するI/O制御プログラムとストレージ装置100との間で、コマンドやステータスを受け渡すために使用される専用のLUである。
ホスト10からのコマンドは、CMD166に書き込まれる。ストレージ装置100は、CMD166に書き込まれたコマンドに応じた処理を実行し、その実行結果をステータスとしてCMD166に書き込む。ホスト10は、CMD166に書き込まれたステータスを読み出して確認し、次に実行すべき処理内容をCMD166に書き込む。このようにして、ホスト10は、CMD166を介して、ストレージ装置100に各種の指示を与えることができる。
なお、ホスト10から受信したコマンドを、CMD166に格納することなく、ストレージ装置100は直接的に処理することもできる。また、実体のデバイス(LU)を定義せずに、CMDを仮想的なデバイスとして生成し、ホスト10からのコマンドを受け付けて処理するように構成してもよい。即ち、例えば、CHA110は、ホスト10から受信したコマンドを共有メモリ140に書き込み、この共有メモリ140に記憶されたコマンドを、CHA110又はDKA120が処理する。その処理結果は共有メモリ140に書き込まれ、CHA110からホスト10に送信される。
メインストレージ装置100の有する外部接続用のイニシエータポート(External Port)111Bには、通信ネットワークCN3を介して、外部ストレージ装置200が接続されている。
外部ストレージ装置200は、複数のPDEV220と、PDEV220の提供する記憶領域上に設定されたVDEV230と、VDEV230上に少なくとも一つ以上設定可能なLDEV240とを備えている。そして、各LDEV240は、LU250にそれぞれ関連付けられている。PDEV220は、図3中のディスクドライブ220に該当する。
外部ストレージ装置200のLU250(即ち、LDEV240)は、V-VOL163にマッピングされている。例えば、外部ストレージ装置200の「LDEV1」,「LDEV2」は、外部ストレージ装置200の「LU1」,「LU2」を介して、メインストレージ装置100の「V-VOL1」,「V-VOL2」にそれぞれ関連づけられている。「V-VOL1」,「V-VOL2」は、それぞれ「LDEV3」,「LDEV4」に関連づけられており、ホスト10は、これらのボリュームを、「LU3」,「LU4」を介して、利用可能となっている。
なお、VDEV162,V-VOL163には、RAID構成を適用できる。即ち、一つのディスクドライブ161を複数のVDEV162,V-VOL163に割り当てることもできるし(スライシング)、複数のディスクドライブ161から一つのVDEV162,V-VOL163を形成することもできる(ストライピング)。
図5は、所望の外部ボリュームを抽出するための条件を指定する抽出条件指定画面G1の例を示す説明図である。この画面G1は、例えば、SVP(Service Processor)170により提供される。
抽出条件指定画面G1では、例えば、サブシステムクラスと、デバイスタイプと、ベンダ名と、記憶容量及びLUN数のように、各項目毎にそれぞれ所望の条件を選択できるようになっている。
「サブシステムクラス」とは、外部ストレージ装置200,201,202がそれぞれ属するクラスの種別を意味する。サブシステムクラスとしては、例えば、エンタープライズクラス、ミッドレンジクラス、エントリークラス等を挙げることができる。なお、いずれのサブシステムクラスでも構わない場合、ユーザは、「不問」を選択できる。
「デバイスタイプ」とは、外部ストレージ装置200,201,202の備える記憶デバイスの種別を意味する。デバイスタイプとしては、例えば、磁気ディスク、磁気テープ、光ディスク等を挙げることができる。なお、いずれのデバイスタイプでも良い場合、ユーザは、「不問」を選択する。
「ベンダ名」は、外部ストレージ装置200,201,202をそれぞれ提供するベンダーの名称を意味する。いずれのベンダーでも良い場合、ユーザは、「不問」を選択することができる。
「記憶容量」とは、ユーザが所望する空き容量を意味する。ユーザは、必要な記憶容量の値を直接的に入力できる。「LUN数」とは、ユーザが所望するLUNの数を意味する。ユーザは、必要なLUN数を直接的に入力できる。これに代えて、例えば、「100GB」、「300GB」、「500GB」等のように、予め用意された複数段階の選択肢の中から、必要な空き容量やLUN数を有する値を選択するようにしてもよい。なお、記憶容量やLUN数について問わない場合、ユーザは、記憶容量やLUN数の値を入力する必要はない。
このように、抽出条件指定画面G1は、ユーザの所望する属性を一つまたは複数指定することにより、所望の属性を備えた外部ストレージ装置を選択可能となっている。通常の場合、ユーザは、少なくとも一つ以上の属性(条件)を指定する。ユーザが、一つも条件を選択しない場合、エラー処理を行うことができる。あるいは、ユーザが一つも条件を指定しない場合、ネットワーク上に分散する全ての外部ストレージ装置200,201,202を検出することもできる。
ここで、留意すべき点は、ユーザは、特定の外部ストレージ装置を直接的に指定するのではなく、所望の条件を指定する点である。例えば、図2中のサブネットワーク400のみが存在し、ストレージネットワークがそれほど大規模ではない場合、ストレージネットワークの構成に精通したユーザであれば、所望の外部ストレージ装置を直ちに特定することも可能である。
これに対し、図2に示すように、多くのサブネットワーク400,401,402が連携して大規模なストレージネットワークが構成されている場合、ユーザがストレージネットワークの構成に精通するのには多くの努力を必要とする。従って、ユーザが、所望の外部ストレージ装置を自力で発見するのは難しくなる。さらに、大規模なストレージネットワーク上に多種多様な外部ストレージ装置が混在するヘテロジニアスな環境下で、所望の外部ストレージ装置をユーザが自力で発見するのは、ますます難しい。
そこで、本実施形態では、図5に示すような抽出条件指定画面G1を用意している。これにより、所望の外部ストレージ装置をユーザが直ちに特定できない場合でも、ユーザの希望する条件を備えた外部ストレージ装置を検索可能としている。従って、ストレージネットワークの構成に精通していないユーザであっても、所望の外部ストレージ装置を検出して利用することができる。
図6は、外部リソース探索条件管理テーブルT1の構成例を示す説明図である。この管理テーブルT1は、抽出条件指定画面G1に対応して構成される。管理テーブルT1は、例えば、共有メモリ140に記憶される。管理テーブルT1は、例えば、抽出条件の各項目(図中「項目1」)と、これら各項目における選択肢(図中「項目2」)と、各選択肢のコードと、各選択肢が指定されたか否かを示すフラグとを、備えて構成される。
抽出条件指定画面G1において、ユーザにより指定された条件には、そのフラグに「1」がセットされる。また、ユーザが数値を入力して「記憶容量」や「LUN数」を指定した場合、その数値は「コード」欄に格納される。
図7は、サブシステムクラス判別テーブルT2の構成例を示す説明図である。この判別テーブルT2は、例えば、共有メモリ140に記憶される。判別テーブルT2は、ネットワーク上に分散配置された各外部ストレージ装置がいずれのサブシステムクラスに属するのかを判別するために使用される。判別テーブルT2には、市場に投入されている各ベンダの各装置名が予め登録されている。
この判別テーブルT2の内容は、例えば、管理端末20から入力される最新データによって更新可能である。判別テーブルT2には、各ベンダから提供されている各装置名が、それぞれクラス分けして登録されている。各装置の名称は、例えば、アスキーコードを用いて表現することができる。
図8は、外部リソース管理データベースT3の構成例を示す説明図である。外部リソース管理データベースT3は、ネットワーク上に分散配置された各外部ストレージ装置に関する情報(ストレージ情報)を管理するためのものである。外部リソース管理データベースT3は、例えば、共有メモリ140に記憶される。
外部リソース管理データベースT3は、例えば、装置番号と、装置名称と、ベンダID(識別情報)と、製品番号(型番)と、LUN数と、LUN番号と、WWNと、デバイスタイプと、記憶容量(サイズ)とを、対応付けることにより構成することができる。
装置番号は、例えば、ストレージシステム内で一意にストレージ装置を特定可能な番号である。装置名は、そのストレージ装置のベンダによって与えられている名称である。これに代えて、例えば、システム管理者等のユーザによってニックネームが設定されている場合は、そのニックネームを用いることもできる。ベンダIDは、少なくともストレージシステム内でベンダを一意に特定可能な情報である。製品番号は、そのストレージ装置のベンダによって与えられている情報である。
LUN数は、そのストレージ装置が有するLUNの総数を示す。LUN番号は、そのストレージ装置が有する各LUNをそれぞれ識別するための情報である。WWNは、そのストレージ装置の各ポートをそれぞれ識別するための情報である。デバイスタイプは、そのストレージ装置が有する各論理ボリュームを構成する記憶デバイスの種別を示す情報である。サイズは、そのストレージ装置が有する各論理ボリュームの空き容量を示す情報である。なお、WWNに代えて、例えば、IPアドレス等で各ポートを識別する場合もある。
図9は、外部ボリュームへの接続管理テーブル(マッピングテーブル)T4の構成例を示す説明図である。この管理テーブルT4は、外部ストレージ装置200,201,202の有する論理ボリュームを、メインストレージ装置100の仮想的な中間ボリューム(V-VOL)163に接続して取り込むために使用される。
接続管理テーブルT4は、例えば、VDEV番号と、デバイスタイプと、サイズと、WWNと、LUN番号と、装置番号と、ベンダIDとを対応付けることにより構成される。VDEV番号は、V-VOL163をメインストレージ装置100内で識別するための情報である。デバイスタイプは、V-VOL163に関連づけられる外部の記憶デバイスの種別を示す情報である。サイズは、V-VOL163の容量を示す情報である。WWNは、その外部ボリュームが接続されているポートを特定するための情報である。LUN番号は、その外部ボリュームを特定するための情報である。装置番号は、その外部ボリュームが存在するストレージ装置を特定するための情報である。ベンダIDは、そのストレージ装置のベンダを特定する情報である。
このように、V-VOL163を特定するVDEV番号に、外部ボリュームのポート番号やWWN及びLUN番号を関連づけることにより、V-VOL163に外部ストレージ装置のボリュームを接続させることができる。この管理テーブルT4を参照することにより、V-VOL163に関連するアクセス要求を処理することができる。アクセス処理の一例は後述する。
次に、図10は、外部ボリュームの応答性能管理テーブルT5の構成例を示す説明図である。この管理テーブルT5は、外部ストレージ装置の有するボリュームの応答性能を管理する。詳細はさらに後述するが、本実施形態では、各外部ストレージ装置からストレージ情報をそれぞれ収集する際に、各外部ストレージ装置の応答性能を調査して、その調査結果を記憶する。
応答性能管理テーブルT5は、例えば、装置番号と、ベンダIDと、LUN数と、応答時間の積算値と、コマンド発行数と、応答時間の閾値とを対応付けることにより構成することができる。
メインストレージ装置100は、必要に応じて、一つまたは複数のコマンドを各外部ストレージ装置にそれぞれ発行する。ここで発行されるコマンドは、各外部ストレージ装置の構成等を取得するための問合せコマンドである。
「装置番号」、「ベンダID」及び「LUN数」については既に述べた通りである。「コマンド発行数」とは、その外部ストレージ装置に対して発行されたコマンドの総数である。「応答時間積算値」とは、その外部ストレージ装置に向けて発行されたコマンドに対する応答時間の積算値である。その外部ストレージ装置が、各コマンドの処理に要した各応答時間の総和が記憶される。「応答時間閾値」とは、応答時間の積算値をコマンド発行数で除算した値(=1コマンドあたりの平均応答時間)と比較するための基準値である。
ユーザが所望の外部ストレージ装置を探索すべく、外部ストレージ装置の抽出を指示すると、メインストレージ装置100は、各外部ストレージ装置に向けて、問合せコマンドを発行する。各外部ストレージ装置は、この問合せコマンドに応答し、問われた内容をメインストレージ装置100にそれぞれ回答する。
このとき、各外部ストレージ装置の応答時間は、各外部ストレージ装置の状況等に応じて、それぞれ異なる。例えば、メインストレージ装置100と外部ストレージ装置との間の距離が遠い場合、データ転送に遅延が生じるため、その外部ストレージ装置の応答時間は長くなる。また、外部ストレージ装置のCPU性能が低い場合やキャッシュメモリが少ない場合、あるいは、外部ストレージ装置のI/O負荷が大きい場合にも、その外部ストレージ装置からの応答が遅れることがある。
このように、メインストレージ装置100と外部ストレージ装置との距離や外部ストレージ装置の性能等により、各外部ストレージ装置の応答性能は相違する。応答の遅い外部ストレージ装置をメインストレージ装置100に接続する場合は、この応答遅延を考慮する必要がある。そこで、メインストレージ装置100は、各外部ストレージ装置からストレージ情報を収集する際に、各外部ストレージ装置の応答性能を監視し、応答性能管理テーブルT5に記憶する。
なお、外部ストレージ装置がメインストレージ装置100に接続された後も、その外部ストレージ装置の応答性能を引き続き監視することもできる。
図11は、外部リソースの探索結果をユーザに提示するための探索結果画面G2を示す説明図である。この探索結果画面G2では、ユーザが画面G1で指定した各条件を満たす外部ボリューム(外部リソース)の情報が表示される。ユーザは、探索結果画面G2の表示内容を確認し、利用する外部ボリュームを一つまたは複数選択する。
次に、図12は、外部ボリュームを探索して利用するまでの全体処理を示すフローチャートである。メインストレージ装置100は、管理端末20から外部リソースの探索要求(抽出要求)が入力されたか否かを判定する(S11)。
管理端末20から外部リソースの探索が要求された場合(S11:YES)、メインストレージ装置100は、外部リソース管理データベースT3が構築されているか否かを判定する(S12)。
外部リソース管理データベースT3が未だ生成されていない場合(S12:NO)、メインストレージ装置100は、リソース問合せコマンドを発行する(S13)。そして、メインストレージ装置100は、各外部ストレージ装置からの応答を受信し(S14:YES)、受信内容を外部リソース管理データベースT3に登録する(S15)。
S13〜S15のステップを実行することにより、外部リソース管理データベースT3の全部または一部が構築される。この時点では、少なくともユーザから指定された条件に対応する情報のみを各外部ストレージ装置からそれぞれ取得できれば足り、外部リソース管理データベースT3の全体を完成させる必要はない。なお、S13〜S15のより詳細な一例については、さらに後述する。
ユーザの希望するリソース抽出が可能な程度に外部リソース管理データベースT3が生成された場合、または、必要な内容を備えた外部リソース管理データベースT3が既に生成されている場合(S12:YES)、メインストレージ装置100は、ユーザから指定された条件に基づいて検索を行う(S16)。この検索については後述する。
メインストレージ装置100は、ユーザの希望条件に合致する外部リソース(外部ボリューム)がストレージネットワーク上に存在するか否かを判定する(S17)。ユーザの希望に合致する外部リソースが存在する場合(S17:YES)、メインストレージ装置100は、管理端末20の画面に探索結果画面G2を表示させ、発見された全ての外部リソースをユーザに提示する(S18)。
続いて、メインストレージ装置100は、ユーザが外部リソースを選択したか否かを判定する(S19)。ユーザは、管理端末20の画面を見て、利用したい外部ボリュームを一つまたは複数選択し、その選択結果を管理端末20からメインストレージ装置100に入力する。
メインストレージ装置100は、ユーザによって選択された外部ボリュームをV-VOL163に関連づけ、メインストレージ装置100のLU165と外部ボリュームとをV-VOL163を介して接続させる(S20)。
なお、ユーザの希望する条件に合致する外部リソースが一つも存在しない場合(S17:NO)、メインストレージ装置100は、エラー処理を行うことができる(S21)。このエラー処理では、例えば、「ご希望の外部リソースを発見できませんでした。抽出条件を代えて再度試みて下さい。」等のような所定のエラーメッセージを、管理端末20の画面に表示させることができる。
図13は、図12中のS13〜S15を詳細に示すフローチャートである。まず、メインストレージ装置100は、各外部ストレージ装置に向けて、その存在を確認するためのコマンド(”Test Unit Ready”)を発行する(S31)。この存在確認コマンドは、第1の問合せコマンドと呼ぶことができる。正常に動作している各外部ストレージ装置は、このコマンドへの返信として、Goodステータスを有するReady応答を返す(S32)。
次に、メインストレージ装置100は、その存在が確認された各外部ストレージ装置に向けて、第2の問合せコマンド(”Inquiry”)を発行する(S33)。この問合せコマンドを受信した各外部ストレージ装置は、例えば、装置名、製品番号、デバイスタイプ、ベンダ情報等のストレージ情報をメインストレージ装置100に送信する(S34)。
メインストレージ装置100は、各外部ストレージ装置から取得した装置名やデバイスタイプ等の情報を外部リソース管理データベースT3に登録する(S35)。また、メインストレージ装置100は、外部ストレージ装置に向けて発行されたコマンドの数及びコマンドへの応答時間を、応答性能管理テーブルT5に登録する(S35)。
次に、メインストレージ装置100は、各外部ストレージ装置に向けて、第3の問合せコマンド(”Read Capacity”)を発行する(S36)。各外部ストレージ装置は、記憶容量に関する情報をメインストレージ装置100に送信する(S37)。メインストレージ装置100は、各外部ストレージ装置から取得した記憶容量に関する情報を、外部リソース管理データベースT3に登録する(S38)。また、メインストレージ装置100は、”Read Capacity”コマンドに対する各外部ストレージ装置の応答時間を、応答性能管理テーブルT5に登録させると共に、テーブルT5中のコマンド発行数を1つだけ増加させる(S38)。
なお、もしもユーザの指定条件に、「記憶容量」が含まれていない場合は、”Read Capacity”コマンドの発行をとりやめてもよい。但し、外部ボリュームをV-VOL163に接続する際には、その外部ボリュームの記憶容量の値を取得している必要がある。
メインストレージ装置100は、その必要がある場合、第4の問合せコマンド(”Report LUN”)を各外部ストレージ装置100に送信する(S39)。各外部ストレージ装置は、LUN数やLUN番号をメインストレージ装置100に送信する(S40)。メインストレージ装置100は、各外部ストレージ装置から取得したLUN数等を外部リソース管理データベースT3に登録する(S41)。また、メインストレージ装置100は、”Report LUN”コマンドに対する各外部ストレージ装置の応答時間を応答性能管理テーブルT5に登録させると共に、テーブルT5中のコマンド発行数を1つだけ増加させる(S41)。なお、ユーザの指定条件に「LUN数」が含まれていない場合、少なくともこの時点では、”Report LUN”コマンドを発行する必要はない。
このようにして、メインストレージ装置100は、複数の問合せコマンドを各外部ストレージ装置に向けて段階的に発行することにより、各外部ストレージ装置から必要な情報だけを取得できるようになっている。そして、メインストレージ装置100は、外部リソース管理データベースT3を編集し、この処理を終了させる(S42)。
図14は、外部リソース管理データベースT3を自動的に更新させるための処理を示すフローチャートである。
外部リソース管理データベースT3がいったん完成した場合でも、その後にネットワーク上のストレージ構成が変化した場合は、現況に合わせて管理テーブルT3を更新させる必要がある。特に、複数のサブネットワーク400,401,402を備え、種々のストレージ装置100,200,201,202が混在するストレージシステムの場合は、システム環境の変動が比較的多い。そこで、以下に述べるように、本実施形態では、ネットワーク上のノード(ストレージ装置)変化を検出し、この検出をトリガとして外部リソース管理データベースT3を最新の内容に更新させる。
ネットワーク上の各外部ストレージ装置に変化が発生した場合、例えば、RSCN(Registered State Change Notification)や、LIP(Loop Initialization Primitive)等の状態変更通知が変更元から発行される。同一のサブネットワーク内では、そのサブネットワークに所属する他のノードに対し、LIPによって状態変更発生がそれぞれ通知される。他のサブネットワークで発生した状態変更は、RSCNによって通知される。なお、これら以外に、例えば、SCR(State Change Registration)やSCN(State Change Notification)も知られている。なお、状態変更通知は、変更に係るストレージ装置から出力される場合と、変更に係るストレージ装置が参加するサブネットワークの管理装置(例えば、スイッチ300,301,302)から出力される場合とが考えられる。
このような状態変更通知は、例えば、外部ストレージ装置がサブネットワークから切り離された場合や外部ストレージ装置がサブネットワークに接続された場合のように、ファブリック(サブネットワーク)への接続状態が変更されたときに、出力される。
メインストレージ装置100は、RSCN等の状態変更通知を受信すると(S51)、その状態変更を発生させたサブネットワークに対して、自発的に”Inquiry”コマンドを送信する(S52)。図14では、状態変更を発生させた外部ストレージ装置に直接”Inquiry”コマンドを送信するかのように示しているが、実際には、その外部ストレージ装置が設けられているサブネットワークに対して”Inquiry”コマンドが送信される。
そのサブネットワークに設けられている各外部ストレージ装置は、装置名や製品番号、デバイスタイプ等の情報をメインストレージ装置100に送信する(S53)。以下、図13で述べたと同様に、メインストレージ装置100は、各外部ストレージ装置からそれぞれ取得した情報によって、外部リソース管理データベースT3の記憶内容を更新させ(S54)、応答性能管理テーブルT5も更新させる(S54)。即ち、外部リソース管理データベースT3の更新の際に、応答性能管理テーブルT5も更新する。
次に、メインストレージ装置100は、”Read Capacity”コマンドを発行し(S55)、そのサブネットワーク上の各外部ストレージ装置に対して記憶容量を問い合わせる。各外部ストレージ装置は、メインストレージ装置100に記憶容量の値をそれぞれ送信する(S56)。メインストレージ装置100は、各外部ストレージ装置から取得した記憶容量に基づいて、外部リソース管理データベースT3を更新させる(S57)。また、メインストレージ装置100は、応答性能管理テーブルT5も更新させる(S57)。
続いて、メインストレージ装置100は、”Report LUN”コマンドを各外部ストレージ装置100に送信する(S58)。各外部ストレージ装置は、LUN数やLUN番号をメインストレージ装置100に送信する(S59)。メインストレージ装置100は、各外部ストレージ装置から取得したLUN数等に基づいて、外部リソース管理データベースT3の記憶内容を更新させると共に、応答性能管理テーブルT5の内容も更新させる(S60)。そして、最後に、メインストレージ装置100は、外部リソース管理データベースT3を編集し、この更新処理を終了させる(S61)。
このように、更新処理は、ユーザから指定された条件に基づいて実行されるものではなく、ネットワーク上のノード変化をトリガとして実行されるものである。従って、外部リソース管理データベースT3を構築する場合とは異なり、各問合せコマンド(Inquiry、Read Capacity、Report LUN)がそれぞれ発行される。
図15は、外部リソース抽出処理の一例を示すフローチャートである。このフローチャートは、図12中のS16に対応する。
メインストレージ装置100は、外部リソース探索条件管理テーブルT1を参照し(S71)、フラグのセットされている最初の条件を選択する(S72)。メインストレージ装置100は、選択された条件に基づいて、外部リソース管理データベースT3を検索し(S73)、その条件を満たす外部リソースが存在するか否かを判定する(S74)。
その条件を満たす外部リソースが一つも存在しない場合(S74:NO)、メインストレージ装置100は、抽出処理を終了させる。これに対し、その条件を満たす外部リソースが存在する場合(S74:YES)、メインストレージ装置100は、その外部リソースを抽出して一時的に記憶する(S75)。
そして、メインストレージ装置100は、探索条件管理テーブルT1を参照し、次の条件が指定されているか否かを判定する(S76)。次の条件が指定されている場合(S76:YES)、メインストレージ装置100は、その条件を選択し(S77)、その条件に基づいて外部リソース管理データベースT3を検索する(S73)。以下同様に、ユーザによって指定された各条件について、それぞれの条件を満たす外部リソースを絞り込んでいく(S74,S75)。ユーザから指定された全ての条件について検索を終えると(S76:NO)、メインストレージ装置100は、全条件に合致する外部リソースに関する情報を出力する(S78)。
図16は、転送モード設定処理を示すフローチャートである。本実施例では、外部ボリュームを探索する際に外部ストレージ装置の応答性能を監視する。そして、外部ボリュームを選択して実際に利用する際に、その外部ボリュームが存在する外部ストレージ装置の応答性能を考慮して、転送モード(リモートコピーモード)を決定する。転送モードとしては、非同期転送モードと同期転送モードとを挙げることができる。
同期転送モードの場合は、ホスト10からのライト要求をメインストレージ装置100が受信すると、メインストレージ装置100は、ホスト10から受信したライトデータをキャッシュメモリ130に記憶させた後、通信ネットワークを経由して外部ストレージ装置にライトデータを転送する。外部ストレージ装置は、ライトデータを受信してキャッシュメモリに記憶すると、応答信号をメインストレージ装置100に送信する。メインストレージ装置100は、外部ストレージ装置からの応答信号を受信すると、書込み完了報告をホスト10に送信する。
このように、同期転送モードでは、外部ストレージ装置へライトデータを転送した後で、ライトコマンドの処理完了をホスト10に通知する。従って、同期転送モードでは、外部ストレージ装置からの応答を待つ時間だけ遅延が生じる。このため、同期転送モードは、メインストレージ装置100と外部ストレージ装置との距離が比較的短距離である場合に適している。逆に、メインストレージ装置100と外部ストレージ装置とが遠く離れている場合は、応答遅延や伝播遅延の問題から、一般的に同期転送モードは適さない。
これに対し、非同期転送モードの場合、メインストレージ装置100は、ホスト10からのライト要求を受信すると、ライトデータをキャッシュメモリ130に記憶させた後、直ちにホスト10に書込み完了報告を行う。メインストレージ装置100は、ホスト10へ書込み完了報告を行った後で、外部ストレージ装置にライトデータを転送する。ホスト10への書込み完了報告と外部ストレージ装置へのデータ転送とは、非同期で行われる。従って、非同期転送モードの場合は、メインストレージ装置100と外部ストレージ装置との距離とは無関係に、速やかに書込み完了報告をホスト10に送信できる。このため、非同期転送モードは、メインストレージ装置100と外部ストレージ装置とが比較的遠距離である場合に適している。
図16に戻る。まず、メインストレージ装置100は、接続先のボリュームを特定する(S81)。接続先ボリュームとは、V-VOL163に関連づけられる外部ボリュームを意味する。メインストレージ装置100は、外部リソース管理データベースT3を参照して、接続先ボリュームの装置番号を取得する(S82)。続いて、メインストレージ装置100は、その装置番号に基づいて、応答性能管理テーブルT5を参照し、その接続先ボリュームを備える外部ストレージ装置の応答時間(平均応答時間)を取得する(S83)。この平均応答時間は、応答性能管理テーブルT5中の応答時間積算値をコマンド発行数で除算することにより、求めることができる。
そして、メインストレージ装置100は、その外部ストレージ装置の応答時間と所定の閾値とを比較する(S84)。この所定の閾値とは、応答性能管理テーブルT5中の応答時間閾値である。応答時間閾値は、各外部ストレージ装置毎にそれぞれ個別に設定することができる。
その外部ストレージ装置の平均応答時間が所定の応答時間閾値以上である場合(S84:YES)、メインストレージ装置100は、非同期転送モードを選択する(S85)。これに対し、その外部ストレージ装置の平均応答時間が所定の応答時間閾値未満である場合(S84:NO)、メインストレージ装置100は、同期転送モードを選択する(S86)。
そして、メインストレージ装置100は、その外部ストレージ装置の有する外部ボリュームをV-VOL163に関連づける(S87)。また、メインストレージ装置100は、そのV-VOL163に関連づけられるLU165にホスト10がアクセスできるように、ホスト10との間のパスを設定する(S88)。
図17は、非同期転送モードに設定された場合の更新処理を示す説明図である。ホスト10は、メインストレージ装置100の所定のLU165に、ライトコマンドを発行する(S101)。LU165は、V-VOL163を介して、外部ストレージ装置200のLU250に関連づけられている。即ち、メインストレージ装置100のLU165は、ホスト10からのアクセス対象であるが、実際にデータを記憶しているのは外部LU250である。従って、例えば、LU165を「アクセス先論理記憶デバイス」と、LU250を「データ格納先論理記憶デバイス」と、それぞれ呼ぶこともできる。
メインストレージ装置100は、ホスト10からのライトコマンドを受信すると、そのライトコマンドが対象としているLUを特定し、接続管理テーブルT4を参照して、そのLUが外部ボリュームに関連づけられているか否かを判定する。外部ボリュームに関連づけられているLUへのライトコマンドである場合、メインストレージ装置100は、その外部ボリュームを有する外部ストレージ装置200に向けて、ライトコマンドを送信する(S102)。ここでは、各外部ストレージ装置200,201,202のうち、外部ストレージ装置200を例に挙げて説明する。
ライトコマンドの発行後に、ホスト10は、LU165を書込み対象とするライトデータを、メインストレージ装置100に送信する(S103)。メインストレージ装置100は、ホスト10から受信したライトデータをキャッシュメモリ130に一時記憶させる(S104)。メインストレージ装置100は、ライトデータをキャッシュメモリ130に記憶させると、ホスト10に書込み完了を報告する(S105)。
メインストレージ装置100は、アドレス変換等を行ってから、キャッシュメモリ130に記憶されたライトデータを外部ストレージ装置200に送信する(S106)。外部ストレージ装置200は、メインストレージ装置100から受信したライトデータを、キャッシュメモリに記憶させる。そして、外部ストレージ装置200は、メインストレージ装置100に、書込み完了を報告する(S107)。外部ストレージ装置200は、例えば、I/O等の少ない時期を見計らって、キャッシュメモリに記憶されたライトデータを記憶デバイス220に書き込む(ディステージ処理)。
このように、非同期転送モードでは、ホスト10からライトデータを受信した後、短い応答時間δ1で、ホスト10へ書込み完了を応答することができる。
図18は、同期転送モードが選択された場合の更新処理を示す説明図である。ホスト10から発行されたライトコマンドを受信すると(S111)、メインストレージ装置100は、そのライトコマンドのアクセス先ボリューム(LU165)に関連づけられている外部ボリューム(LU250)を特定し、その外部ボリュームに向けてライトコマンドを発行する(S112)。
メインストレージ装置100は、ホスト10からのライトデータを受信すると(S113)、このライトデータをキャッシュメモリ130に記憶させる(S114)。メインストレージ装置100は、キャッシュメモリ130に記憶されたライトデータを、外部ボリュームに書き込ませるべく、外部ストレージ装置200に転送する(S115)。外部ストレージ装置200は、ライトデータをキャッシュメモリに記憶させた後で、メインストレージ装置100に書込み完了を報告する(S116)。メインストレージ装置100は、外部ストレージ装置200での書込み完了を確認すると、ホスト10に書込み完了を報告する(S117)。
このように、同期転送モードでは、外部ストレージ装置200での処理を待ってから、ホスト10に書込み完了を報告するため、応答時間δ2が長くなる。同期転送モードの応答時間δ2は、非同期転送モードの応答時間δ1よりも長い(δ2≧δ1)。
以上詳述した通り、本実施例によれば、サブネットワーク400,401,402上に種々のストレージ装置100,200,201,202が分散配置されているヘテロジニアスな環境下であっても、ユーザは、利用したい外部ボリュームを容易に探索することができ、使い勝手が向上する。
また、広域ネットワーク上に分散する各種ストレージ装置の情報をメインストレージ装置100内で一元的に管理することができる。そして、メインストレージ装置100は、ユーザにより選択された外部ボリュームを取り込み、それがあたかも自身の内部ボリュームであるかのようにして、ホスト10に提供することができる。
これにより、本実施例では、メインストレージ装置100の有する各種機能を利用しながら、外部ボリュームへのデータ入出力を行うことができ、ストレージシステムの資源を有効に利用することができる。種々の機能としては、上述したリモートコピー機能のほかに、データマイグレーション機能、LUNセキュリティ機能等を挙げることができる。データマイグレーション機能とは、データの利用状況等に応じて、ボリュームを移動させる機能である。本実施例では、例えば、V-VOL163に関連づけられている複数の外部ボリューム間で、ボリューム移動を行うことができる。これにより、例えば、利用頻度の低いボリュームを、より安価な記憶デバイスの記憶領域に移動させることができる。LUNセキュリティ機能とは、ホスト10からボリュームへのアクセスを制御する機能である。ホスト10は、予め定められたボリュームにのみアクセスすることができる。
また、本実施例では、ユーザの希望条件に応じて、問合せコマンドを発行することができるため、直ちに必要な範囲で外部リソース管理データベースT3を生成することができ、ユーザの希望条件に合致する外部リソースを比較的短時間で抽出できる。
図19,図20に基づいて、本発明の第2実施例を説明する。本実施例を含む以下の実施例は、上述した第1実施例の変形例に相当する。本実施例では、メインストレージ装置100がネットワーク上に複数存在する場合にも対応できるようにしている。
図19は、本実施例による転送モード設定処理を示すフローチャートである。この処理は、図16に示す各ステップS81〜S88を全て含んでいる。
広域ネットワーク上にメインストレージ装置100が複数存在する場合、もしも、一方のメインストレージ装置100が先に使用している外部ボリュームを、他方のメインストレージ装置が後から使用できるとすると、データの不整合が発生する。そこで、本実施例では、一方のメインストレージ装置100が外部ボリュームをV-VOL163に接続して使用を開始した場合は(S87)、その外部ボリュームに所定のアクセス属性を設定し(S88)、他のメインストレージ装置から利用できないようにする。
所定のアクセス属性としては、「隠蔽」を挙げることができる。「隠蔽」モードに設定された外部ボリュームは、Inquiryコマンド等の問合せコマンドが入力された場合でも、そのコマンドに応答しない。
図20は、外部ストレージ装置の処理を示すフローチャートである。外部ストレージ装置は、問合せコマンドを受信すると(S131:YES)、問合せ対象の外部ボリュームにアクセス属性(例えば「隠蔽」)が設定されているか否かを判定する(S132)。
問合せコマンドに対して応答しないアクセス属性が設定されている場合(S132:YES)、外部ストレージ装置は、その問合せコマンドが接続元のメインストレージ装置100から発行されたものであるか否かを判定する(S133)。即ち、その外部ボリュームにアクセス属性を設定したメインストレージ装置100からの問合せコマンドであるか否かを判定する。
アクセス属性を設定したメインストレージ装置100からの問合せコマンドではない場合(S133:NO)、外部ストレージ装置は、その外部ボリュームに対する問合せコマンドを無視することができる。
これに対し、そのアクセス属性を設定したメインストレージ装置100からの問合せコマンドである場合(S133:YES)、または、その外部ボリュームにアクセス属性が設定されていない場合(S132:NO)、外部ストレージ装置は、その問合せコマンドに応答し、所定の情報を送信する(S134)。
なお、他のメインストレージ装置からの利用を阻止するためのアクセス属性としては、「隠蔽」に限らない。例えば、「容量0」の属性でもよい。「容量0」とは、”Read Capacity”コマンドに対して、空き容量が全くない旨を応答させる属性である。空き容量が無い外部ボリュームは、他のメインストレージ装置から使用されない。
このように、本実施例では、その外部ボリュームの利用を先に開始したメインストレージ装置が、そのまま排他的に利用し続けることができる。従って、広域ネットワーク上にメインストレージ装置が複数存在する場合でも、データ不整合等が生じるのを防止することができ、より使い勝手が向上する。
図21に基づいて、第3実施例を説明する。本実施例は、図13で述べた処理の具体例を示す。
図21は、外部リソース管理データベースT3を構築するために、各外部ストレージ装置に問合せコマンドを発行するための処理を示すフローチャートである。
メインストレージ装置100は、探索条件管理テーブルT1を参照し(S141)、フラグがセットされている最初の条件を選択する(S142)。メインストレージ装置100は、条件−コマンド対応テーブルT6を参照し(S143)、選択された条件に対応する問合せコマンドを各外部ストレージ装置に送信する(S144)。
条件−コマンド対応テーブルT6とは、図21中に示すように、ユーザが指定可能な各条件と、その条件に関する情報を取得するために用いるコマンドとを対応づけたテーブルである。
メインストレージ装置100は、各外部ストレージ装置からの応答を待ち(S145)、各外部ストレージ装置から応答があった場合(S145:YES)、各外部ストレージ装置から取得した情報を外部リソース管理データベースT3に登録させる(S146)。
そして、メインストレージ装置100は、次の条件が指定されているか否かを判定する(S147)。次の条件が指定されている場合(S147:YES)、メインストレージ装置100は、その条件を選択して(S148)、S143に戻る。
このように、ユーザによって指定された各条件毎に、その条件に対応する問合せコマンドが各外部ストレージ装置に送信される。従って、ユーザの指定条件と無関係の問合せコマンドは、少なくともこの時点では、各外部ストレージ装置に送信されない。なお、探索条件管理テーブルT1の全体を最初に解析して、問合せコマンドを送信する前に、必要な問合せコマンドを全て抽出する構成でもよい。
なお、本発明は、上述した各実施例に限定されない。当業者であれば、本発明の範囲内で、種々の追加や変更等を行うことができる。
本発明の実施形態の全体概念を示す説明図である。 ストレージシステムの概略構造を示す説明図である。 ストレージシステムのブロック図である。 記憶構造を模式的に示す説明図である。 ユーザが所望の条件を指定するための画面を示す説明図である。 外部リソース探索条件管理テーブルの構成を示す説明図である。 サブシステムクラス判別テーブルの構成を示す説明図である。 外部リソース管理テーブルの構成を示す説明図である。 外部ボリュームへの接続管理テーブルを示す説明図である。 外部ストレージ装置の応答性能を管理するテーブルの説明図である。 外部リソースの探索結果を表示する画面を示す説明図である。 ストレージシステムの処理概略を示すフローチャートである。 各外部ストレージ装置からストレージ情報を収集して外部リソース管理データベースを生成する場合の処理を示すフローチャートである。 ストレージ上のノード変化に基づいて外部リソース管理データベースを更新させる処理を示すフローチャートである。 外部リソース抽出処理を示すフローチャートである。 外部ストレージ装置の応答性能に基づいて、転送モードを設定するための処理を示すフローチャートである。 非同期転送モードによるリモートコピーの方法を示す説明図である。 同期転送モードによるリモートコピーの方法を示す説明図である。 転送モード設定処理の別の例を示すフローチャートである。 外部ストレージ装置が問合せコマンドを受信した場合の処理を示すフローチャートである。 ユーザの指定条件に応じて問合せコマンドを発行し、外部リソース管理データベースを生成する処理を示すフローチャートである。
符号の説明
1…メインストレージ装置(接続元ストレージ装置)、1A…希望条件受付部、1B…外部リソース情報管理部、1B…外部リソース管理部、1C…外部リソースデータベース、1D…外部リソース抽出部、1E…外部リソース提示部、1F…接続設定部、2…管理端末、3…ホスト、4A,4B,4C,4D…サブネットワーク、5…外部ストレージ装置、6…ユーザの希望条件に合致する外部ボリューム群、7…ユーザの希望条件に合致しないボリューム群、8…仮想ボリューム(V-VOL)、9…論理ボリューム、10…ホスト、11…ホストバスアダプタ(HBA)、12…パス制御プログラム、13…アプリケーションプログラム、20…管理端末、100…メインストレージ装置、110…チャネルアダプタ(CHA)、111…通信ポート、111A…ターゲットポート、111B…外部接続ポート、120…ディスクアダプタ(DKA)、130…キャッシュメモリ、140…共有メモリ、150…接続制御部、160…記憶部、161…ディスクドライブ(PDEV)、162…VDEV、163…V-VOL、164…論理ボリューム(LDEV)、165…論理ユニット(LU)、166…コマンドデバイス、170…サービスプロセッサ(SVP)、200,201,202…外部ストレージ装置、210…コントローラ、211…通信ポート、220…ディスクドライブ、300,301,302…スイッチ、400,401,402…サブネットワーク、G1…抽出条件指定画面、G2…探索結果画面、T1…外部リソース探索条件管理テーブル、T2…サブシステムクラス判別テーブル、T3…外部リソース管理データベース、T4…接続管理テーブル、T5…応答性能管理テーブル、T6…条件−コマンド対応テーブル

Claims (17)

  1. 通信ネットワークを介して他の複数のストレージ装置にそれぞれ接続可能なストレージ装置であって、
    前記他の各ストレージ装置に関するストレージ情報をそれぞれ管理するストレージ情報管理部と、
    論理ボリュームに接続される中間ボリュームと、
    入力された抽出条件に基づいて、前記ストレージ情報管理部によって管理されている前記各ストレージ情報を検索することにより、前記他の各ストレージ装置の中から前記抽出条件に合致する所定のストレージ装置を抽出する抽出部と、
    前記抽出部によって抽出された前記所定のストレージ装置を提示する提示部と、
    前記提示部によって提示された前記所定のストレージ装置が選択された場合には、前記所定のストレージ装置の有する記憶デバイスを前記中間ボリュームに接続し、前記中間ボリュームを前記論理ボリュームに接続させる接続制御部と、
    を備えたことを特徴とするストレージ装置。
  2. 前記通信ネットワークは、複数のサブネットワークを含んでおり、これら各サブネットワークのうちいずれか一つのサブネットワークに前記ストレージ装置が設けられ、他の各サブネットワークには、前記他のストレージ装置がそれぞれ少なくとも一つずつ設けられている請求項1に記載のストレージ装置。
  3. 前記ストレージ情報管理部は、問合せコマンドを前記他の各ストレージ装置にそれぞれ発行することにより、前記他の各ストレージ装置から前記ストレージ情報をそれぞれ取得して管理する請求項1に記載のストレージ装置。
  4. 前記ストレージ情報管理部は、前記抽出条件が入力された場合に、前記各ストレージ情報を取得済であるか否かを判定し、前記各ストレージ情報を取得していないと判定した場合は、問合せコマンドを前記他の各ストレージ装置にそれぞれ発行することにより、前記他の各ストレージ装置から前記ストレージ情報をそれぞれ取得して管理する請求項1に記載のストレージ装置。
  5. 前記ストレージ情報管理部は、前記他の各ストレージ装置の構成変更を検出した場合、この構成変更に係る他のストレージ装置に問合せコマンドを発行することにより、前記構成変更に係る他のストレージ装置からストレージ情報を取得する請求項1に記載のストレージ装置。
  6. 前記ストレージ情報管理部は、前記問合せコマンドに対する前記他の各ストレージ装置の応答状態をそれぞれ検出して管理可能である請求項3〜請求項5のいずれか1項に記載のストレージ装置。
  7. 前記ストレージ情報管理部は、前記抽出条件に応じて前記問合せコマンドを発行することができる請求項3〜請求項5のいずれか1項に記載のストレージ装置。
  8. 前記抽出条件は、前記他の各ストレージ装置の複数の属性のうち、いずれか一つ以上の属性を含んで構成される請求項1に記載のストレージ装置。
  9. 前記抽出条件には、前記他の各ストレージ装置が属するクラス種別、前記他の各ストレージ装置が有する記憶デバイスの種別、前記他の各ストレージ装置のベンダ名、前記他の各ストレージ装置の有する空き容量のうち、いずれか一つ以上が含まれている請求項1に記載のストレージ装置。
  10. 前記提示部は、前記所定のストレージ装置が複数検出された場合は、それら全てを提示する請求項1に記載のストレージ装置。
  11. 前記接続制御部は、前記記憶デバイスの有する物理的な記憶領域を前記中間ボリュームを介して前記論理ボリュームに割り当てるように、前記中間ボリュームを介して前記記憶デバイスと前記論理ボリュームとを接続させる請求項1に記載のストレージ装置。
  12. 前記ストレージ情報管理部は、前記問合せコマンドに対する前記他の各ストレージ装置の応答状態をそれぞれ検出して管理可能であり、
    前記接続制御部は、前記ストレージ情報管理部によって管理されている前記他の各ストレージ装置の応答状態に基づいて、前記所定のストレージ装置の有する記憶デバイスと前記論理ボリュームとの間の転送モードを制御する請求項1に記載のストレージ装置。
  13. 前記接続制御部は、前記選択された所定のストレージ装置からの応答時間が所定の基準時間以上の場合に非同期転送モードを選択し、前記選択された所定のストレージ装置からの応答時間が前記所定の基準値未満の場合に同期転送モードを選択する請求項12に記載のストレージ装置。
  14. 前記接続制御部は、前記記憶デバイスと前記論理ボリュームとを前記中間ボリュームを介して接続させた場合に、前記他の各ストレージ装置による前記記憶デバイスの利用を禁止させる請求項1に記載のストレージ装置。
  15. それぞれ少なくとも一つ以上のストレージ装置が設けられている複数のサブネットワークを備えたストレージシステムであって、
    前記各ストレージ装置のうち少なくとも一つのストレージ装置は、
    前記各サブネットワークを介して前記他の各ストレージ装置とそれぞれ通信するための通信ポートを有する制御部と、
    前記制御部によって使用されるメモリと、
    前記メモリに記憶された接続制御テーブルと、
    前記制御部によって生成される論理ボリュームと、
    前記制御部によって生成され、前記接続制御テーブルによって前記論理ボリュームに論理的に接続される中間ボリュームと、を備えており、
    前記制御部は、
    他の各ストレージ装置に関するストレージ情報をそれぞれ取得し、これら取得した各ストレージ情報を前記メモリに記憶させて管理するストレージ情報管理部と、
    前記制御部に接続された管理端末から入力された抽出条件に基づいて、前記ストレージ情報管理部によって管理されている前記各ストレージ情報を検索することにより、前記他の各ストレージ装置の中から前記抽出条件に合致する所定のストレージ装置を抽出する抽出部と、
    前記抽出部によって抽出された前記所定のストレージ装置を前記管理端末を介して提示する提示部と、
    前記提示部によって提示された前記所定のストレージ装置が前記管理端末を介して選択された場合には、前記接続制御テーブルの登録内容を更新させることにより、前記所定のストレージ装置の有する記憶デバイスを前記中間ボリュームを介して前記論理ボリュームに接続させる接続制御部と、
    を備えたことを特徴とするストレージシステム。
  16. さらに、前記制御部は、他の通信ポートを介して上位装置と通信可能であり、
    前記他の通信ポートと前記上位装置とを接続する通信ネットワークは、前記他の各ストレージ装置に接続される通信ネットワークから独立している請求項15に記載のストレージシステム。
  17. 複数種類のストレージ装置がネットワーク上に混在してなるストレージシステムを、前記各ストレージ装置のうち管理機能を備えたストレージ装置で管理させるための方法であって、
    前記管理機能を備えたストレージ装置は、
    抽出条件の入力を受け付けるステップと、
    前記抽出条件が入力された場合には、前記各ストレージ装置のストレージ情報を管理するためのデータベースが生成されているか否かを判定するステップと、
    前記データベースが生成されていない場合には、問合せコマンドを発行することにより、前記各ストレージ装置から前記各ストレージ情報をそれぞれ取得して、前記データベースを生成するステップと、
    前記抽出条件に基づいて、前記データベースを検索することにより、前記抽出条件に合致する所定のストレージ装置を抽出するステップと、
    前記抽出された所定のストレージ装置を提示するステップと、
    前記提示された所定のストレージ装置が選択されたか否かを判定するステップと、
    前記所定のストレージ装置が選択された場合は、前記所定のストレージ装置の有する記憶デバイスを、前記管理機能を備えたストレージ装置の有する中間ボリュームを介して、前記管理機能を備えたストレージ装置の有する論理ボリュームに論理的に接続させるステップと、
    前記各ストレージ装置の構成変更が検出された場合には、この構成変更に係るストレージ装置のストレージ情報を取得し、前記データベースを更新させるステップと、
    をそれぞれ実行するストレージシステムの管理方法。
JP2005130942A 2005-04-28 2005-04-28 ストレージ装置及びストレージシステム Pending JP2006309483A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005130942A JP2006309483A (ja) 2005-04-28 2005-04-28 ストレージ装置及びストレージシステム
US11/178,422 US7356640B2 (en) 2005-04-28 2005-07-12 Storage apparatus and storage system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005130942A JP2006309483A (ja) 2005-04-28 2005-04-28 ストレージ装置及びストレージシステム

Publications (1)

Publication Number Publication Date
JP2006309483A true JP2006309483A (ja) 2006-11-09

Family

ID=37235802

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005130942A Pending JP2006309483A (ja) 2005-04-28 2005-04-28 ストレージ装置及びストレージシステム

Country Status (2)

Country Link
US (1) US7356640B2 (ja)
JP (1) JP2006309483A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009199285A (ja) * 2008-02-21 2009-09-03 Hitachi Ltd ストレージシステム及びコピー方法
JP2010152742A (ja) * 2008-12-25 2010-07-08 Fujitsu Ltd 通信制御装置
JP2012064012A (ja) * 2010-09-16 2012-03-29 Hitachi Ltd 計算機システム、ストレージ・ボリューム管理方法及びストレージ装置のコピー処理を制御するプログラム
WO2015145762A1 (ja) * 2014-03-28 2015-10-01 株式会社日立製作所 データベース管理システム、計算機、データベース管理方法
JP2016506578A (ja) * 2012-12-28 2016-03-03 ホアウェイ・テクノロジーズ・カンパニー・リミテッド データ・ストレージ方法およびストレージ・デバイス
JP2017510863A (ja) * 2014-05-29 2017-04-13 華為技術有限公司Huawei Technologies Co.,Ltd. サービス処理方法、関連するデバイス、及びシステム

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4718285B2 (ja) * 2005-09-22 2011-07-06 株式会社日立製作所 ファイル管理機能を備えたコンピュータシステム、ストレージ装置およびファイル管理方法
US8130959B2 (en) * 2006-09-07 2012-03-06 International Business Machines Corporation Rekeying encryption for removable storage media
JP4994128B2 (ja) * 2007-06-28 2012-08-08 株式会社日立製作所 ストレージシステムとストレージシステムにおける管理方法
US9773033B2 (en) * 2009-05-22 2017-09-26 International Business Machines Corporation Storing and retrieving volumes in a database by volume attributes
KR20110088240A (ko) * 2010-01-28 2011-08-03 삼성전자주식회사 스토리지 시스템과 상기 시스템의 데이터 처리 방법
US10592829B2 (en) * 2011-01-13 2020-03-17 Bmc Software, Inc. Integrating action requests from a plurality of spoke systems at a hub system
CN104778014B (zh) * 2015-01-27 2017-11-10 福建爱特点信息科技有限公司 一种数据存储方法及系统
US11153382B2 (en) * 2018-06-29 2021-10-19 International Business Machines Corporation Isolation of management data for security and operational advantages
US11481137B2 (en) * 2019-01-29 2022-10-25 EMC IP Holding Company LLC Data replication techniques

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5680640A (en) 1995-09-01 1997-10-21 Emc Corporation System for migrating data by selecting a first or second transfer means based on the status of a data element map initialized to a predetermined state
JP2001331509A (ja) * 2000-05-22 2001-11-30 Hitachi Ltd リレーショナルデータベース処理装置、リレーショナルデータベースの処理方法及びリレーショナルデータベースの処理プログラムを記録したコンピュータ読み取り可能な記録媒体
JP2003122508A (ja) * 2001-10-15 2003-04-25 Hitachi Ltd ボリューム管理方法及び装置
JP4704659B2 (ja) 2002-04-26 2011-06-15 株式会社日立製作所 記憶装置システムの制御方法および記憶制御装置
JP4325843B2 (ja) * 2002-12-20 2009-09-02 株式会社日立製作所 論理ボリュームコピー先性能調整方法及び装置
JP4037257B2 (ja) * 2002-12-26 2008-01-23 株式会社日立製作所 情報処理システムの制御方法、情報処理システム、及びプログラム
JP2004318744A (ja) * 2003-04-21 2004-11-11 Hitachi Ltd 高可用性を提供するデータベース処理方法

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009199285A (ja) * 2008-02-21 2009-09-03 Hitachi Ltd ストレージシステム及びコピー方法
JP2010152742A (ja) * 2008-12-25 2010-07-08 Fujitsu Ltd 通信制御装置
JP2012064012A (ja) * 2010-09-16 2012-03-29 Hitachi Ltd 計算機システム、ストレージ・ボリューム管理方法及びストレージ装置のコピー処理を制御するプログラム
JP2016506578A (ja) * 2012-12-28 2016-03-03 ホアウェイ・テクノロジーズ・カンパニー・リミテッド データ・ストレージ方法およびストレージ・デバイス
WO2015145762A1 (ja) * 2014-03-28 2015-10-01 株式会社日立製作所 データベース管理システム、計算機、データベース管理方法
JPWO2015145762A1 (ja) * 2014-03-28 2017-04-13 株式会社日立製作所 データベース管理システム、計算機、データベース管理方法
JP2017510863A (ja) * 2014-05-29 2017-04-13 華為技術有限公司Huawei Technologies Co.,Ltd. サービス処理方法、関連するデバイス、及びシステム
US10623492B2 (en) 2014-05-29 2020-04-14 Huawei Technologies Co., Ltd. Service processing method, related device, and system

Also Published As

Publication number Publication date
US7356640B2 (en) 2008-04-08
US20060248306A1 (en) 2006-11-02

Similar Documents

Publication Publication Date Title
JP2006309483A (ja) ストレージ装置及びストレージシステム
JP4322031B2 (ja) 記憶装置
JP5057656B2 (ja) ストレージシステム及びストレージシステムの運用方法
US8301854B2 (en) Storage system and virtualization method
US8549248B2 (en) Data migration method and information processing system
US7673107B2 (en) Storage system and storage control device
JP4698316B2 (ja) アクセスパス管理方法及びプログラム
JP4646574B2 (ja) データ処理システム
US9619171B2 (en) Storage system and virtualization method
JP4634136B2 (ja) 記憶制御システム
JP2006178811A (ja) ストレージシステム及びストレージシステムのパス制御方法
JP2007072813A (ja) ストレージシステム、ファイル移動方法、及びコンピュータプログラム
US20100036896A1 (en) Computer System and Method of Managing Backup of Data
JP2003296039A (ja) クラスタ構成記憶システム及び制御方法
JP2008123132A (ja) 記憶制御装置及び記憶制御装置の論理ボリューム形成方法
US7526627B2 (en) Storage system and storage system construction control method
JP4409521B2 (ja) 記憶装置
US7313650B2 (en) Server and method for managing volume storing digital archive
WO2014132440A1 (ja) 構成情報取得方法、及び管理計算機
JP4512175B2 (ja) 計算機システム
JP2007257667A (ja) データ処理システム
JP4640770B2 (ja) 外部の装置に接続される制御装置
US20070124366A1 (en) Storage control method for managing access environment enabling host to access data
JP2005301971A (ja) デジタルアーカイブを保存するボリュームを管理するサーバ及び方法
JP2015215708A (ja) ストレージ制御装置、ストレージ制御プログラム、およびストレージ制御方法