JP5111204B2 - ストレージシステム及びストレージシステムの管理方法 - Google Patents

ストレージシステム及びストレージシステムの管理方法 Download PDF

Info

Publication number
JP5111204B2
JP5111204B2 JP2008094044A JP2008094044A JP5111204B2 JP 5111204 B2 JP5111204 B2 JP 5111204B2 JP 2008094044 A JP2008094044 A JP 2008094044A JP 2008094044 A JP2008094044 A JP 2008094044A JP 5111204 B2 JP5111204 B2 JP 5111204B2
Authority
JP
Japan
Prior art keywords
sub
storage system
storage
management
module
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 - Fee Related
Application number
JP2008094044A
Other languages
English (en)
Other versions
JP2009245387A (ja
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 JP2008094044A priority Critical patent/JP5111204B2/ja
Priority to US12/132,433 priority patent/US8250317B2/en
Priority to EP08171198A priority patent/EP2107450A1/en
Publication of JP2009245387A publication Critical patent/JP2009245387A/ja
Application granted granted Critical
Publication of JP5111204B2 publication Critical patent/JP5111204B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • 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]

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)

Description

本発明は、ストレージシステムに係り、特に、モジュール型ストレージの結合・分割の技術に関する。さらに本発明は、ストレージシステムの管理方法に関するものである。
例えば、データセンタなどのような大規模なデータを取り扱うデータベースシステムでは、ホストコンピュータとは別に構成された記憶システムを用いてデータを管理することが行われている。この記憶システムは、例えば、ディスクアレイ装置などから構成されている。ディスクアレイ装置は、ホストコンピュータからの入出力要求に応答して、複数の記憶デバイスの記憶領域上に形成された論理ボリューム(論理ユニット)をホストコンピュータに提供することができる。
ディスクアレイ装置を通信ネットワークを介してホストコンピュータに接続したストレージシステムにおいては、システム構成の変更に伴ってストレージシステムを論理分割することが行われている(特許文献1参照)。
米国特許第7069408号
上記のストレージシステムを論理分割する機能は、1装置内に分割されたストレージを定義し、各分割ストレージシステムに対して、空きリソース(使っていないディスク)などを割り当てて使用することを前提としている。即ち、物理的に分割されるような運用、それに伴ってデータの移動や制御情報の分割が発生するケースは考慮していない。また、複数のストレージ筐体を動的に(オンラインで)結合して1つのストレージ装置として運用管理可能にすることも想定していない。
本発明は、システム構成の変更に合わせて情報を管理することができるストレージシステムを提供することを目的とするものである。
前記目的を達成するために、本発明は、システム構成を変更する際、例えば、複数のサブストレージシステムをストレージシステムとして結合するときには、各サブストレージシステムを互いに物理的に結合し、当該結合された各サブストレージシステムを、上位計算機に対して単一のアクセス対象として管理し、且つ単一の運用対象として管理する。また、ストレージシステムを複数のサブストレージシステムに分割するときには、ストレージシステムを物理的に複数のサブストレージシステムに分割し、当該分割された各サブストレージシステムを、上位計算機に対して、それぞれ独立のアクセス対象とするとともに、独立の運用対象として管理することを特徴とする。さらに本発明は、サブストレージシステムが疎結合構成を成して結合される場合に、各々のサブストレージシステムのメモリが、自サブストレージシステムの記憶装置の管理情報と他サブストレージシステムの記憶装置の管理情報の少なくとも一部を結合して格納し、各々のサブストレージシステムの制御部が、上位計算機からデータの入出力要求を受信すると、結合された管理情報を参照して当該入出力要求で指定された記憶装置を有するサブストレージシステムを判定して当該入出力要求を処理し、リソースの割付処理が必要になると、自サブストレージシステム内の未使用リソースを探し、未使用リソースが足りない場合には統合管理部が管理する未使用リソース情報から未使用リソースが十分ある他サブストレージシステムを選択して未使用リソースを割付けることを特徴とし、サブストレージシステムが密結合構成を成して結合される場合に、各々のサブストレージシステムの何れかのメモリが、サブストレージシステムの各々の記憶装置の管理情報を結合して格納し、各々のサブストレージシステムの制御部が、上位計算機からデータの入出力要求を受信すると、少なくとも二つのサブストレージシステムの何れかのメモリに格納されている結合された管理情報を参照して当該入出力要求を処理し、リソースの割付処理が必要になると、少なくとも二つのサブストレージシステム内の何れかの未使用リソースを選択して割付けることを特徴とする。
本発明によれば、システム構成の変更に合わせて情報を動的に管理することができる。
以下、本発明の一実施形態を説明する。
<システム構成の一例>
図1は,本発明の一実施形態に係るシステム全体の構成例を示す。以下の説明では、同種の要素を区別しないで説明する場合には,親番号のみ(例えば20)を用いて説明し,同種の要素を区別して説明する場合には,親番号と子符号(例えば20A,20B)を用いて説明することにする。
ストレージサブシステム20A,20Bは、それぞれ独立に使われていて、図2の結合処理により、ストレージシステム100となる。各ホスト計算機51は,図示しないCPU(Central Processing Unit) や記憶資源(例えばメモリ)を備える。記憶資源に,コンピュータプログラムが記憶されており,CPUが,そのコンピュータプログラムを実行することができる。以下,コンピュータプログラムが主語になる場合は,実際にはそのコンピュータプログラムを実行するCPUによって処理が行われるものとする。
サブストレージシステム20A,20Bには,ホスト計算機51A、51Bがそれぞれ接続されている。ホスト計算機51Aまたは51Bは,SAN(Storage Area Network)41を介して,それぞれのサブストレージシステム20Aまたは20Bに接続していてもよい(図3参照)。
各ホスト計算機51は,アプリケーションプログラム60を有する。アプリケーションプログラム60は,例えば,データベース管理ソフトウェア,Webアプリケーションソフトエア,ストリーミングアプリケーションソフトウェアなどの業務プログラムである。
サブストレージシステム20は,例えば,制御部と,記憶部とに大別することができる。制御部は,例えば,CPU(Central Processing Unit)21,メモリ22,ディスクインターフェース制御部23,FC(Fiber Channel)インターフェース制御部26,及びLAN(Local Area Network)インターフェース制御部27を備える。記憶部は,例えば,ディスクユニット24である。
CPU21は,メモリ22に格納されている各種プログラム又はモジュール(ここではマイクロ的なものを指す)を実行することにより,サブストレージシステム20における各種制御処理を実行する。メモリ22は,内部記憶装置と称されるものであり,各種モジュール等を記憶する不揮発性メモリと,CPU21の演算処理結果を一時的に保持する揮発性メモリとを含む。
CPU21は,ディスクインターフェース制御部23を介してディスクユニット24に接続されている。ディスクインターフェース制御部23は,伝送制御装置として、CPU21から出力される論理アドレスをLBA(Logical Block Address)に変換し,CPU21による論理デバイスへのアクセスを可能とする。
ディスクユニット24は,記憶装置として、RAID(Redundant Arrays of Independent Inexpensive Disks)構成された複数のディスクドライブ240を有する。ディスクドライブ240は,FC(Fibre Channel)ディスクドライブ,SATA(Serial Advanced Technology Attachment)ディスクドライブ,PATA(Parallel Advanced Technology Attachment)ディスクドライブ,FATA(Fibre Attached Technology Adapted)ディスクドライブ,SAS(Serial Attached SCSI)ディスクドライブ或いはSCSI(Small Computer System Interface)ディスクドライブ等の物理デバイスである。物理デバイスとは,実記憶領域を有する実デバイスである。なお,物理デバイスは,ディスクドライブ240に限らず,他種の記憶デバイス(例えばフラッシュメモリ)が採用されても良い。
仮想LDEV(Virtual Logical Device)242は、実記憶領域を有しない仮想的なデバイスである。実際にはプールと呼ばれる記憶領域にデータは記録される。これについては、後述する。
FCインターフェース26は,複数のディスクドライブ240をRAID方式に規定されるRAIDレベル(例えば,0,1,5)で制御することができる。RAID方式においては,複数のディスクドライブ240が一つのRAIDグループとして管理される。RAIDグループは,例えば,4つのディスクドライブ240を一組としてグループ化することにより(3D+1P),或いは,8つのディスクドライブ240を一組としてグループ化することにより(7D+1P),構成される。
即ち,複数のディスクドライブ240のそれぞれが提供する記憶領域が集合して一つのRAIDグループが構成される。RAIDグループ上には,ホスト計算機51からのアクセス単位である複数の論理デバイス241が定義される。ホスト計算機51が認識する論理的な記憶領域である論理ユニットには,一つ以上の論理デバイス241がマッピングされる。ホスト計算機51は,LUNとLBAとを指定することにより,論理デバイス241にアクセスできる。
尚,サブストレージシステム20は,後述の外部ストレージシステム70に接続することにより,外部ストレージシステム70の記憶領域をホスト計算機51に提供できるならば,必ずしもディスクユニット24とディスクインターフェース制御部23とを備えている必要はない。
FCインターフェース制御部26は,ストレージサブシステム20とホスト計算機51との間のコマンドやデータの転送を制御する。サブストレージシステム20とホスト計算機51と間のSANがあってもよい。SANを介するデータ通信プロトコルとしては,例えば,ファイバチャネルプロトコルやiSCSIプロトコルなどを採用することができる。
LANインターフェース制御部27は,管理ネットワーク40を介して管理装置50に接続する。管理ネットワーク40は,イーサネット(登録商標)ケーブルなどで構成されるLANである。管理ネットワーク40におけるデータ通信プロトコルは,例えば,TCP/IPである。管理装置50は,サブストレージシステム20内のLDEVの作成,ホスト計算機51へのLDEVの割り当て,ホスト計算機51とサブストレージシステム20との間のアクセスパスの設定(LUNマスキングやゾーニングなど)などを管理することができる。
図2のストレージシステムの結合処理により、ストレージシステム100となると,サブストレージシステム20はモジュール20となり、モジュール20間で制御情報を送受信することにより、各モジュール間におけるコマンド転送やボリュームマイグレーションを実行できる。各モジュール20に外部ストレージシステム70が接続されている構成(図4参照)では,ストレージシステム100の範囲は,複数のモジュール20と外部ストレージシステム70とを含む。各モジュール20に外部ストレージシステム70が接続されていない場合には,ストレージシステム100の範囲は,複数のモジュール20を含み,外部ストレージシステム70を含まない。
各モジュール20は,例えば,RAID構成された複数のディスクドライブ240を備えるディスクアレイシステムとして構成することもできるし,或いは各モジュール20自体がSCSIターゲットになる仮想化スイッチとして構成することもできる。LDEV番号などの階層化された管理識別子を管理し、ストレージシステムの動作を制御する装置を,「制御装置」と総称することができる。制御装置は,モジュールの中にあっても良いし,外にあっても良い。
管理ネットワーク40は,一つ以上のホスト計算機51に接続している。なお,ホスト計算機51から各モジュール20へコマンドを発行するためのネットワーク(SAN)と,管理装置50が各モジュール20との間で管理情報を送受信するためのネットワーク(管理ネットワーク40)とが異なるアウトバンド方式でもよいし,インバウンド方式でもよい。例えば,図3のように、管理装置50がSAN41経由で各モジュール20との間で管理情報を送受信するように構成すれば,インバンド方式となる。
また、ストレージシステムとしては、管理装置50Aと50Bを物理的に分けたものについて述べたが、1台の管理装置50を設け、サブストレージシステム20Aの管理者とサブストレージシステム20Bの管理者のアカウント(管理者アカウント)を作っても良い。以降の説明では、管理者=管理装置で説明するが、必ずしも1対1でなくても良い。
本実施形態に係るシステムの全体構成としては、メインフレームシステムとオープンシステムのいずれか一方あるいはそれらが混在した構成であっても良い。
上記構成において、制御の仕方によって、「疎結合構成」と「密結合構成」がある。図5に、複数モジュールから構成される1つのストレージシステム100を示す。
図6(a)に、疎結合となる場合の内部構成を示す。ストレージシステム100内のモジュール20Aと20Bには、それぞれメモリ22とCPU21がある。メモリ22には、自分のモジュールが制御を担当するリソースの情報が入る。例えば、モジュール20Aが制御を担当するボリュームのボリューム管理情報テーブル203Aは、モジュール20A内のメモリ22Aに格納する。他のモジュールが制御を担当するボリューム管理情報テーブルもメモリ22A内に持つが、ボリューム管理情報テーブルのうち、「ボリューム番号」と「管理者識別子」情報のみを登録する。「管理者識別子」には、そのボリュームの制御を担当するモジュールを示す識別子が入る。
図6(b)に、この構成において、密結合となる場合の内部構成を示す。モジュール20Aのメモリ22Aとモジュール20Bのメモリ22Bは、モジュール20A、20Bのどちらのモジュールからもそれぞれのメモリ22に参照可能である。メモリ20A、20Bは物理的には2つのモジュールに分割されているが、モジュール20AのCPU21A、CPU20Bのどちらからも単一のアドレス空間に見える。
以上が,本実施形態のシステム全体についての説明である。
<サブストレージシステムの結合>
図2にサブストレージシステムの結合処理概要のフローチャート図を示す。システム構成例を図1に示す。図1に示すサブストレージシステム20Aと20Bは、物理的に別々の同じ構成のサブストレージシステムである。このサブストレージシステム20Aと20Bを結合する処理を説明する。
サブストレージシステム20Aと20Bを接続線(結合部)44で物理的に結合する。接続線44は専用の接続線でもよいし、スイッチ機構でもよいし、ネットワークでもよいし、結合のための装置でもよい。これにより、ストレージシステム100となり、結合前のサブストレージシステム20Aと20Bはストレージシステム100内に論理的に存在するサブストレージシステムとして「モジュール」と呼ぶこととする。モジュール20Aと20Bは、結合直後は物理的に分離していて、リソースもそれぞれでモジュール毎に物理的に分けて、それぞれのモジュール20Aと20Bから使用されている状態である(ステップ1001)。
モジュール20Aと20Bの制御情報を結合する。この際、図7に示すように、管理制御情報はモジュール20内のメモリ22に格納され、モジュール20Aと20Bでそれぞれ管理している。詳細は後述する(ステップ1002)。また結合に伴って必要になる処理ができるように、プログラムを追加する(後述)。
サブストレージシステム20A、20Bの管理を統合する。ここで、管理の統合とは、管理装置50Aと50Bを統合すると、サブストレージシステム20Aを管理する管理者とサブストレージシステム20Bを管理する管理者を統合することを示す(ステップ1003)。
ここまでの処理が完了したら、ストレージシステム100となり、モジュール20A、20Bの範囲にかかわらず、ストレージシステム100内の全てのリソースを利用することができるようになる。
サブストレージシステム結合後は、図1の100が「ストレージシステム」となり、サブストレージシステム20Aと20Bは「モジュール」となる。ホスト51A及び51Bからは、ストレージシステム100を認識させることができる。すなわち、モジュール20A、20BのCPU21と管理装置50Aと50BのCPUは、モジュール20Aと20Bを、ホスト(上位計算機)51A及び51Bに対して、単一のアクセス対象として管理するとともに、単一の運用対象として管理する統合管理部として機能する。
モジュールを結合したストレージシステム100では、一つ以上のモジュール20Aを、ホスト51に対して一台のストレージシステムとしてみせる。このため、管理者がモジュール20Bのボリューム630へのI/O用のパスを定義する場合に、モジュール20Aのポート615を指定する可能性がある(図8参照)。
パス定義は、ユーザが管理装置50からパス定義を指示すると、管理装置50のプログラム(図示せず)と、各モジュール20のパス定義プログラム(図示せず)が実行されることで実現される。ユーザは、管理装置50に対して使用するポート615のポート番号、対象となるボリューム630のボリューム番号を指定するものとする。前記プログラムは、管理装置50のCPU21がメモリ22に格納されているプログラムを実行することで実現される。さらに、パス定義プログラムの処理は、モジュール20のCPU21がメモリ22に格納されているパス定義プログラムを実行することで実現される。
パス定義の処理を図9のフローチャートに従って説明する。まず、前記プログラムは、指定ポート615を有するモジュール20Aに、パス定義を指示し(ステップ3501)、指定先のモジュール20Bからの完了報告を待つ(ステップ3502)。パス定義の指示とともに、前記プログラムは、モジュール20Bに、使用するポート615のポート番号、及び、対象となるボリューム630のボリューム番号を通知する。
パス定義プログラムは指示を受け取り(ステップ3503)、ボリューム管理情報テーブル203の中の、対象となるポートに対応する「LUN」番号の「管理識別子」にモジュール20Bを示す情報を登録する(ステップ3504)。そして、パス定義プログラムは、プログラムに完了を報告する(ステップ3505)。この後、プログラムは、パス定義プログラムから完了報告を受領し(ステップ3506)、処理を終了する(ステップ3507)。
<結合後の要求処理>
<複数モジュールが結合して疎結合構成を成す場合>
次に、ホスト51AからモジュールBへの要求を出したときの処理を図10のフローチャートにしたがって説明する。ホスト51Aからモジュール20Bへ要求を出すと、ホスト51Aからの要求はモジュール20Aに入力され、モジュール20Aはホスト51から要求を受け取ったときに(ステップ6001)、どのモジュールの要求かを判定する(ステップ6002)。ここで、図11(a)に疎結合の場合の制御情報の持ち方を示す。テーブルについては後述する。
モジュール20Aは、自分のメモリ22A内にあるボリューム管理情報テーブル203Aを参照し、ホスト51Aから要求のあったLUNが自分のモジュール内のものか他のモジュール内のものかを判定する。例えば、LUN=“010”の場合は、管理者識別子がモジュール20Aを示しているので、自分のモジュール内への要求と判断し、LUN=“020”の場合は、モジュール20Bへの要求と判定する。
このとき、モジュール20Aは、モジュール20Bへの要求であると判定したときには、モジュール20Bへ要求を転送する(ステップ6003)。要求を受け取ったモジュールBは処理を開始する(ステップ6004)。処理が完了したときには、モジュール20Aはモジュール20Bから完了報告をもらい(ステップ6005)、ホスト51Aへ返答する(ステップ6006)。
ステップ6002で自分のモジュールの処理と判断したときには、モジュール20Aは処理を開始する(ステップ6007)。なお、ホスト51Bからモジュール20Aへの要求時もその逆で同様に行う。
前記実施形態では、2つのサブストレージシステム20A、20Bを1つのストレージシステム100へ結合するパターンを示したが、複数のサブストレージシステムを1つのストレージシステムへ結合する場合も同様に処理する。この場合、ネットワーク40Aと40Bを接続してもよいし、しなくてもよい。複数サブストレージシステム20A、20B、20Cの場合、20Aと20B間及び20Bと20C間に接続線44を設けてもよいし、サブストレージシステム20A、20B、20Cのすべての間に接続線44を設けてもよい。
<複数モジュールが結合して密結合構成を成す場合>
複数モジュールが結合して密結合構成を成すときの処理を図12のフローチャートにしたがって説明する。まず、モジュール20Aは、ホスト51から要求を受け取ったときに(ステップ6101)、要求されたLUN情報が格納されているアドレスの位置を計算する。例えば、ボリューム管理情報テーブルの格納された先頭アドレスを各モジュールで覚えておき、LUNから何番目(=N)の情報かを計算し、先頭アドレス+Nにて求める情報の格納されているアドレスを計算する(ステップ6102)。この際、図11(b)に密結合の場合の制御情報の持ち方の例を示す。テーブルについては後述する。
モジュール20Aは、メモリ22A内にあるボリューム管理情報テーブル205を参照し、ホスト51Aから要求のあったLUNが自分のモジュール内のものか他のモジュール内のものかを判断する(ステップ6103)。例えば、LUN=“010”の場合は、管理者識別子がモジュール20Aを示しているので、モジュール20Aは、自分のモジュール内への要求と判断し、LUN=“020”の場合は、モジュール20Bへの要求と判断する。このとき、モジュール20Bへの要求であると判断したときには、モジュール20Aはモジュール20Bへ要求を転送する(ステップ6104)。要求を受け取った20Bは処理を開始する(ステップ6105)。処理が完了したモジュール20Aはモジュール20Bから完了報告をもらい(ステップ6106)、ホスト51へ返答する(ステップ6107)。ホスト51Bからモジュール20Aへの要求時もその逆で同様に行う。
結合されたボリューム管理情報テーブル205は、単一アドレス空間のどこかのアドレス上に存在する。上記の例では、ボリューム管理情報テーブル205がモジュール20A内のメモリ22A内に入っている場合についての処理であるが、モジュール20B内のメモリ22B内に入っている場合もあるし、モジュール20Aと20Bに分散して格納されている場合もある。密結合構成の場合も、リードライトの処理は、制御を担当しているモジュールが処理する例を示したが、他のモジュールのメモリを参照して要求処理まで実行しても良い。
≪制御情報の例≫
図7に、結合前の制御情報の一例であるボリューム管理情報テーブル201Aと201Bを示す。サブストレージシステム20Aには、サブストレージシステム20A内のリソースの管理情報、サブストレージシステム20Bには、サブストレージシステム20B内のリソースの管理情報が入る。ボリューム管理情報テーブル201Aと201Bは、モジュール20A、20B内のメモリ22にそれぞれ格納されている。
ボリューム管理情報201は、LUを識別するための識別子である「LUN番号」、LUに割当てられた「ボリューム番号(=LDEV)」、ボリュームの属性を示す「ボリューム管理情報」からなる。ボリューム管理情報は、ボリュームが使用中/未使用や、属性(エミュレーションタイプ、サイズ、RAID構成など)が入る(図示せず)。さらに、リソースを管理しているモジュールを示す「管理者識別子」がある。この管理者識別子は、結合したときに、モジュールを示すためのユニークなものである。
図7では、ボリューム管理情報テーブル201Aには、サブストレージシステム20Aを示す管理者識別子が入り、ボリューム管理情報テーブル201Bには、サブストレージシステム20Bを示す管理者識別子が入る。他のテーブルとしては、空き領域管理のテーブルなどがある。
尚、ここでは、テーブル形式を例に挙げているが、情報の保持形式は他の形態でもよく、発明の本質ではない。
≪制御情報の結合 ステップ1002の詳細≫
次に、図7のボリューム管理情報を結合する例を挙げて、ステップ1002の制御情報の結合について説明する。
図11(a)のボリューム管理情報203Aは、ボリューム管理情報201Aにボリューム管理情報201Bの情報を結合したものである。但し、ボリューム管理情報201Bに相当する箇所は、LUN番号とそのLUNが使用するモジュールを表す管理識別子の情報が記載される。ボリューム管理情報203Aはモジュール20A内で管理する。ボリューム管理情報203Bの場合も同様な関係となる。管理識別子が別のモジュールのものであるLUN関連の情報については、前記管理識別子が示すモジュール内に詳細な情報があり、前記管理識別子が示すモジュールへ問い合わせて詳細情報を入手する。
図11(b)は別の形態の制御情報の管理である。こちらは、ボリューム管理情報テーブル201Aと201Bを1つに統合してボリューム管理情報テーブル205としている。ボリューム管理情報テーブル205は、ストレージシステム100で1つ持つ。バリエーションとして、ストレージシステム100内の特定のモジュール20で1つ持つ、又は、全体管理装置50に持つ場合もある。
ボリューム番号など、論理ストレージシステム内で使っていた番号のままでもよいし、ストレージシステム100内で通し番号になるように番号を付け直しても良い。この方法については後述する。
図11(a)は、結合後、疎結合構成のストレージシステムの場合、図11(b)は結合後、密結合構成のストレージシステムの場合である。
サブストレージシステムの結合に伴い、ホスト51AからモジュールB内への論理ボリュームを認識し、モジュール20Bの論理ボリュームへの要求をホスト51Aからも出すためには、パスの定義を行う。
<結合後疎結合の構成>
図13(a)に結合後疎結合構成を取る場合のメモリ情報とプログラムを追加したものを示す。結合したことで、他のモジュールの情報を持つ必要があり、これは、図11(a)のように持てば良い。結合したことで、要求が自分モジュール内の要求か否かを判定するための処理および要求を他のモジュールに転送するためのプログラムが必要となる。
<結合後密結合の構成>
図13(b)に結合後密結合構成を取る場合のメモリ情報とプログラムを追加したものを示す。サブストレージシステムを結合したことで、各モジュールは、他のモジュールのメモリも含めて単一アドレス空間として認識する必要がある。例えば、制御情報は結合して連続アドレス空間に置く(このようにすると、ステップ6102の例のように、アクセスできる。)。または、各モジュールの情報の先頭アドレスを認識し、求めたい情報が格納されているアドレスを認識すれば、他の方法でも良い。
≪管理の結合 ステップ1003の詳細≫
前提として、サブストレージシステム20Aと20Bにそれぞれ管理者が存在する。ここでは、管理装置50A(50B)を操作する人をサブストレージシステム20A(20B)の管理者と呼ぶ。
ストレージシステムにて管理者アカウントの情報テーブルを持つことになる。図14に、結合前の管理者アカウント情報テーブルの例を示す。管理者アカウントの情報テーブル190Aは、サブストレージシステム(結合後はモジュール)20Aが持つテーブルである。「ユーザID」は、結合前のサブストレージシステム20A内の管理者アカウントを示したもので、サブストレージシステム20A内でユニークな識別子となっている。「パスワード」は、管理者アカウントにて、管理装置50Aにログインするためのものである。サブストレージシステム20Aにアクセスするために、管理装置50AからユーザIDとパスワードが必要になる。「アカウント識別子」は、管理者アカウント190Aの場合は、サブストレージシステム20A(またはモジュール20A)と記載されている。
サブストレージシステム20Bの場合も同様に、管理者アカウントの情報テーブル190Bを持つことになる。
サブストレージシステム20Aと20Bを結合する場合、管理者アカウントの統合の仕方には、次の3つのバリエーションがある。
(1)管理者アカウントをどちらか一方のアカウントに統一する。
(2)新規に結合のストレージシステムの管理者アカウントを作成する。
(3)それぞれの管理者アカウントはそれぞれのモジュールの範囲で有効とする。
≪(1)管理装置50Aを残し、管理装置50Bを廃止するケース≫
サブストレージシステム20Aと20Bを結合後、ストレージシステム100となった場合に、管理者を1人にして、ストレージシステム100全体を管理する。ここでは、管理装置50Aを残し、管理装置50Bを廃止する例を挙げて図15のフローチャートに従って説明する。
管理装置50Aと50Bのネットワークを接続する(ステップ4001)。もともと同じネットワーク上に管理装置50Aと50Bがある場合は、ステップ4002へ進む。管理装置50A、50Bには、ストレージシステムを結合した場合に全体管理装置50になる全体管理者プログラム501を搭載しておく(図16(a))。または、サブストレージシステム20A、20B側のメモリ内に全体管理者プログラム501を置いておき、結合時に管理装置へ送信する(図16(b))。
ユーザの入力により、管理装置50Aが全体管理装置50になることを指示する(ステップ4002)。指示を受け取った管理装置50Aは、全体管理プログラム501を起動し、管理装置50Aは他の管理装置50Bに対し、全体管理者になったことを通知する(ステップ4003)。管理装置50Bは通知を受けたら、自分は全体管理者にはならないことを認識し、全体管理者50Aの指示により、管理装置50Bにて管理する制御情報を全体管理装置50Aに送信する(ステップ4004)。
管理装置50Bは、全体管理装置50Aから受信の完了報告を受けたら、以降、管理者アカウントはモジュールBの入力を受付けず、要求も出さない設定に切換える(ステップ4005)。つまり、管理装置50Bは廃止する。管理装置50Bは、ネットワーク上に置いたままでも良いし、外しても良い。管理装置50Aにある管理者アカウントの管理者種別を全体管理者として、モジュール20Aとモジュール20B両方を受け持つ管理者とする(ステップ4006)。このとき、管理者アカウント情報テーブル190AのユーザIDを残し、管理者アカウント情報テーブル190BのユーザIDは削除する。管理者アカウント情報テーブル190Aのアカウント種別を“モジュール20Aの管理者”から“全体管理者”へ変更する。ストレージシステム100側は、管理装置が50Aであることを認識する(ステップ4007)。
≪(2)新たに管理装置を設けて、それを全体管理者とするケース≫
管理装置50Aと50B以外に新たな管理装置50Mを設けてストレージシステム100の全体管理者として設定し、サブストレージシステム20Aと20Bを管理装置50Mから管理する処理を図17のフローチャートに従って説明する。
管理装置50Aと50Bのネットワークを接続する(ステップ5001)。もともと同じネットワーク上に管理装置50Aと50Bがある場合はステップ5002へ進む。
次に、ネットワーク上にPCなどの新規装置を接続し、これを全体管理装置50Mとする(ステップ5002)。管理装置50M、全体管理者としての設定を行うための全体管理者設定プログラム501持ち、前記プログラムを起動する。管理装置50A、50Bは管理装置50Mからの指示により、管理装置50A、50B上で管理する制御情報を管理装置50Mへ送信し、管理装置50Mにて制御情報を一括管理するように設定する(ステップ5003)。管理装置50Mから制御情報の一括管理処理の完了を受け取った管理装置50A、50Bは、ネットワークから切り離すもしくは使用しない状態(管理者アカウントを無効にする又は破棄する)にする(ステップ5004)。
このとき、管理装置50A、50Bは、管理者アカウント情報テーブル190Aと190Bを削除(ユーザIDを削除)し(ステップ5005)、管理者アカウント情報テーブル190を新規に設け、アカウント種別を“全体管理者”に設定する(ステップ5006)。ストレージシステム100の管理装置が管理装置50Mになったことをストレージシステム100へ報告する(ステップ5007)。ストレージシステム100側でも認識する。管理装置50Mは交替系を持たせ、2重化しておいても良い。
<(3)管理装置50A、50Bはそれぞれのモジュールの範囲で有効。分割ストレージ管理者のイメージのケース>
次に、サブストレージシステム20Aと20Bを結合したあとの処理を図18のフローチャートにしたがって説明する。まず、サブストレージシステム20Aと20Bを結合後(ステップ7001)、ストレージシステム100となった場合に、管理装置50Aと50Bはそのまま存在させ、管理装置50A(50B)は、モジュールとなった20A(20B)内を管理する。管理装置50A(50B)はモジュール20A(20B)内のリソースについては管理しない。管理者アカウント情報テーブル190Aと190Bはそのまま使用するため、190A内のユーザIDと190B内のユーザIDが同じである場合が生じる。同一のユーザIDは、どちらかを別のユーザIDに変更する必要がある。ここでは、190B側のユーザIDを変更する(ステップ7002)。
全体を管理する全体管理者が必要なため、結合前に、全体管理者を設けておく(ステップ7003)。管理装置50Aか50Bのうちどちらかが全体管理者を兼任しても良いし、ネットワーク40上に新規に全体管理者用の管理装置50Mを設置しても良い。
管理アカウントの統合については、例えば、暗号鍵の統合がある。従来、暗号鍵はボリュームやストレージシステム単位に設定される。ここではストレージシステム単位、サブストレージシステム20Aと20Bで異なる暗号鍵を設定し、サブストレージシステム20Aと20Bを結合して、ストレージシステム100とした場合を考える。管理者アカウントは、それぞれの担当のモジュールの暗号鍵などの暗号情報を持っている。
サブストレージシステムを結合した場合、ストレージシステム100の全体管理者は、サブストレージシステム20Aの暗号鍵とサブストレージシステム20Bの暗号鍵を両方認識・管理する。または、暗号鍵の統一をするため、新たに暗号鍵をストレージシステム100に再設定し、ストレージシステム100の全体管理者はそれを認識・管理する。
これに対して、後述する処理、ストレージシステム100をストレージシステム20Aと20Bに分割する場合は、暗号鍵を分割するため、ストレージシステム20Aと20B用に暗号鍵を生成し再設定し、ストレージシステム100の全体管理者はそれを認識・管理する。
結合後、全体管理者は、ストレージシステム100内にある全ての未使用リソース(空きリソース)を管理する。空きリソース情報テーブルの例を図19に示す。図19(a)に、結合前のテーブルを示す。空きポート情報テーブル210Aと空きHDD情報テーブル220Aはサブストレージシステム20Aが持つ。ポート番号ごとに、空き状態として、「使用中」、「未使用」を持つ。空きHDD情報も同様にHDD番号ごとに、空き状態を持つ。同様に、空きポート情報テーブル210Bと空きHDD情報テーブル220BはサブストレージシステムBが持つ。ポート番号やHDD番号は、それぞれのサブストレージシステム20Aまたは20B内でユニークである。
結合後密結合構成のストレージシステム100になる場合に、空きリソース情報テーブルを結合する処理を行う。
図19(b)は、結合してストレージシステム100になっても、2つの空きポート情報テーブル211Aと211Bを保持する場合の結合例である。結合前の空きポート情報テーブルより、ポートの所属モジュールを明確にする必要があるため、テーブルに「所属モジュール」の情報を持たせてある。空きポート情報テーブル211Aに対して「所属モジュール」の情報を別のテーブルに持たせても良い。
図19(c)は、結合してストレージシステム100になった場合、空きポート情報テーブルを1つ保持する例である。テーブルを1つにする場合、結合前のポート番号がモジュール20Aとモジュール20Bで同じ番号を持っている場合は、結合後のストレージシステム100内でユニークになるように、番号を付け替える必要がある。
ストレージシステム100内の全リソースを管理できるように、管理装置50Mは、管理装置50Aと50Bから結合前に持っていた空きリソース情報を受信する。サブストレージシステム20Aと20Bを結合後は、管理装置50A、50Bの管理者は、各モジュールの管理者がモジュールの範囲を意識せずに、他のモジュールのリソースを含む全てのストレージシステム100内のリソースを使用できる。
<疎結合の場合の空きリソースの割付>
リソースを割り付ける際には、まず自分のモジュール内の空きリソースを探してから割り付ける。自モジュール内のリソースが足りなくて割り付けられない場合は、全体管理者が持つ空きリソース情報から、リソースが十分あるモジュールを選択し、そのモジュールのリソースを割り付ける要求を、リソースを持つモジュールへ送信して割付処理を行う。
割付の処理を図20のフローチャートにしたがって説明する。リソースの割付は具体的には、モジュール20AのLDEV#1000に、データ領域を割当てる場合(図21(a)参照)の処理を使って説明する。
モジュール20AはLDEV#1000のデータ領域をモジュール20A内から割当てるものを検索する(ステップ2101)。このとき、データ領域が新規に確保できない場合(ステップ2102)、全体管理者に空きデータ領域があるモジュールを検索してもらう(ステップ2103)。データ領域を新規に確保できるときには、データ領域を割り付ける(ステップ2107)。全体管理者は、他のモジュールで空きデータ領域があるモジュール番号20Bをモジュール20Aへ通知する(ステップ2104)。モジュール20Aは、モジュール20BにLDEV#1000のデータ領域を確保することを要求する(ステップ2105)。モジュール20Bは要求を受け取り、データ領域を確保してモジュール20Aへ通知する(ステップ2106)。
<密結合の場合の空きリソースの割付>
リソースの割付は、具体的には、モジュール20AのLDEV#1000に、データ領域を割当てる場合(図21(b)参照)の処理を使って説明する。
モジュール20Aは、LDEV#1000のデータ領域を割当てるものを検索する。この際、テーブルは、図21(b)に示すものであり、モジュールを示す管理識別子は意識せずに空いているものを選択する。
この際、同じリソースを同時に異なるモジュールに割り付けることがないように、管理装置50Aが操作中は、他の管理装置50Bは排他される制御をする。1つの方法として、全体管理者が操作中の管理装置を認識するビットマップをもち、操作する前に、管理装置が全体管理者に前記ビットを‘1’にする(初期状態は‘0’)。操作を開始する前にビットを参照し、ビットが‘1’の場合は、他の管理装置は操作ができない。管理装置の操作が終わったら、前記ビットを‘0’に戻す。
<リソース番号の付け直し>
モジュールの結合時に、単純にモジュールのリソース番号をユニークになるように付け替える(リナンバリング)方法がある。例えば、ボリューム番号を付け替えた場合、管理者アカウントへ番号をつけかえてことを通知する。その際に、どの番号をどの番号へ付け替えたか、又は、新しい番号の算出方法(例えば演算式)も渡す。管理者アカウントでは、番号が変わったことを認識し、ユーザへ画面で表示する際には、旧モジュール単位(例えば、モジュール20A、20B)での論理ボリューム番号で表示する方法と、ストレージシステム100で通し番号となった新しい論理ボリューム番号で表示する方法とを選択できる。画面イメージを図22に示す。
別の方法として、LDEV層381の上位であって、LUN383の下位に、グローバルLDEV層382を設ける(図23参照)。グローバルLDEV層382は、LDEV層381と違って、複数モジュール20に跨っている。別の言い方をすれば、個々のモジュール20でのみ管理されるLDEVの上位に、全てのモジュール20で管理されるグローバルLDEVが設けられる。LDEV層は各モジュール20A〜20N内でユニークな番号が付与されるため、モジュール20Aと20Bで同じLDEV番号(前記のボリューム番号と同じ)が存在してもよい。
グローバルLDEV層はストレージシステム100でユニークな番号が付与されるため、各モジュール20A〜20N間でもユニークとなる。グローバルLDEVは、仮想的なLDEVであって、複数のモジュール20内の複数のLDEVのうちのいずれかに関連付けられるLDEVである。また、グローバルLDEVには、LUNが関連付けられる。管理者アカウントはグローバルLDEV層の番号を使用する。
次に、結合構成のストレージシステムの運用バリエーションについて説明する。
バリエーション1:ホスト51Aからモジュール20Aを認識し、モジュール20Bは外部ストレージシステムを構成するイメージ。
この際、ホスト51Aは、モジュール20Aを認識するが、モジュール20Bのボリュームを認識せず、モジュール20Bはモジュール20Aの外部ストレージシステム構成(後述)として認識する。通常のリードライト処理は外部ストレージシステム構成とほぼ同様となる。但し、密結合構成の場合には、モジュール20Aがモジュール20Bのキャッシュメモリに直接書き込む処理にて実行できる点が異なる。
ここまでの「外部ストレージシステムに見せる」という運用(見せ方)は公知技術である。発明のポイントは、見せ方だけではなく、それぞれのモジュールで稼動していたものを、外部ストレージシステム構成に見せるような結合の仕方と、 それに伴う管理の統合にある。外部ストレージシステムの管理者の情報は、従来技術の外部ストレージ構成の場合は、外部ストレージシステム側にあり、図1のネットワーク40上にはない。これに対し、本発明の構成では、管理者の情報はモジュール20Aもモジュール20Bも管理装置50にあることが相違点となる。これにより、モジュール20Bが外部ストレージシステム構成であっても、モジュール20Aとモジュール20Bの管理の統合が可能となる点がメリットである。
図24(a)に、これまでの結合構成を、図24(b)にバリエーション1を示す。結合構成では、パス定義がモジュール間にまたがって行われる可能性があり、ホストからもモジュール20BのLDEV情報が見える。バリエーション1の構成では、パス定義はモジュール20Aとのみしか行われず、ホスト51に見えるLDEV情報もモジュール20Aの仮想LDEVであり、仮想LDEVが割り付けられたモジュール20BのLDEV情報は見えない。2つの構成の管理装置50の画面から見えるイメージも図示した。
図42にモジュール20Aと20Bを結合する前(図42(a))と後(図42(b))の制御情報のテーブル例を示す。モジュール20Aは、ボリューム管理情報テーブル203Aを持ち、モジュール20Bは、ボリューム管理情報テーブル203Bを持つ。モジュール20Aと20Bを結合し、ボリューム管理情報は、(b)のボリューム管理情報テーブル2031となる。
2031は、203に、「外部ボリュームとして使用するか否か」、使用する場合、仮想化する「外部ストレージ番号」と外部ストレージ側のボリューム番号である「外部ストレージのボリューム番号」の情報が追加される。(b)では密結合構成の例で示した。ホスト51Aからは、2031のボリューム番号#0と#1が見えており、ボリューム#2と#3は見えていない。ホスト51Bからは、ボリューム番号#3が見えており、ボリューム#0、#1、#2は見えていない。
バリエーション2:バリエーション1+上記結合構成
ホスト51Aからはモジュール20Aと20Bをそれぞれ認識し、ホスト51Bからはバリエーション1の見え方、即ちモジュール20Bを認識するが、モジュール20Aのボリュームは認識せず、モジュール20Aはモジュール20Bの外部ストレージ構成として認識する。
バリエーション3:ネットワーク上のストレージシステムの結合(図25参照)
モジュール20A〜20α(複数)がネットワーク上にあり、そのうち任意のもの同士を結合/分割する。ネットワーク上にあることで、各モジュール20同士の距離に制約がなくなり、自由に構成を組めるメリットがある。前記疎結合構成においては、より柔軟な構成が組める。制御情報は、通常、モジュール20ごとに保持しているため、モジュール20Aと20Bを統合する際には、両方の制御情報を既出の「密結合」か「疎結合」の方式を取る。
バリエーション4:リモートコピー接続で使用しているストレージシステムを結合(図26参照)
リモートコピーのローカルサイトとリモートサイトのストレージシステムを結合し、管理者の情報を統合する。結合後も、リモートコピー処理は継続され、結合後のストレージシステム内コピーとして処理される。リモートコピーのローカルサイトとリモートサイトの管理の統合が可能となる点がメリットである。管理の統合のために、管理装置50Aと50Bをネットワークで接続してもよいし、管理装置50Aまたは50Bのどちらかにローカルサイトの管理者とリモートサイトの管理者の両方のアカウントを作成してもよい。また、全体管理者を設け、例えば前述した暗号鍵などのモジュール20Aの情報とモジュール20Bの情報を統合管理する。
ペアボリューム情報やペアのコピー状態などのリモートコピー制御情報は、リモートコピーのローカルサイト側が持っている。モジュールの統合により、前記制御情報はローカルサイトとリモートサイトで共有される。リモートコピーのペア情報は、モジュール番号とボリューム番号を保持する。図43に示すモジュール20Aと20Bの結合後の例では、リモートコピーペア管理情報テーブル2032は、ペア番号#0のペアはモジュール20A内のボリューム番号#0とモジュール20B内のボリューム番号#2からなり、ペア状態はリモートコピー中であることを示す。
上記バリエーションでは、モジュールが2つの場合を例に挙げたが、モジュールが3つ以上の場合も同様である。また、例としてホスト51Aで記載しているが、ホスト51Bにしても同様である。
<ストレージシステムの分割>
図27にストレージシステムの分割概要処理のフローチャート図を示す。図1に示すストレージシステム100をサブストレージシステム20Aと20Bに物理的に分割する処理を説明する。
ストレージシステム100は、予めモジュール20Aと20Bが結合されたシステム構成でもよいし、そうでなくてもよい。モジュール20Aと20Bが結合されたシステム構成でない場合は、分割する際、どのリソースをどのモジュールの管理下にするかを決める処理を行う。具体的には、LDEV番号でわけてもよい。パス番号で分けても良く、その場合は、パスが所属するモジュール番号が決まると、パスに付随するLUNも同じモジュール所属となり、LUNに割り付けられているLDEV番号も同じモジュール所属となる。
分割処理は処理を開始後すぐに、サブストレージシステム20A、20Bはそれぞれの範囲内のリソースしか利用できない処理が必要となる。具体的には、他のストレージシステムのリソースを利用しようとすると、エラーにする。
一方、サブストレージシステム20Aと20Bに分けるため、制御情報を分割する。制御情報はサブストレージシステム20Aと20B内にそれぞれ設定する(ステップ8001)。また分割範囲(ここで言うモジュール)に対する識別子(ここで言うモジュール番号)をそれぞれ設定する。以下、モジュール番号を“20A”と“20B”とする。
サブストレージシステム20Aと20Bに物理的に分割できない箇所があれば、物理的に分割できるように、データを移動する(ステップ8002)。データの移動が発生するケースは、論理的なリソースと実データの格納場所のモジュールが異なる場合や、前記格納場所が設定しようとしている物理的な境界にまたがる場合である。また、リソースとそのリソースに割り付けられたリソースが所属するモジュールが異なる場合がある。これらを、分割する際に「またがる」と定義する。例えば、別のモジュールに所属するパスに付随したLUNに割り付けられたLDEVにコピーボリュームや仮想ボリュームの実データが格納されているボリュームに割りあたっている場合がある。具体例として、図30に示す。詳細は後述する。
次に、モジュール20Aと20B間の接続線(分割部)44を分離する(ステップ8003)。ストレージシステム100が複数モジュールにより結合された構成でない場合は次のステップへ進む。
管理装置50をサブストレージシステム20Aと20Bに対する管理装置50Aと50Bに分割する(ステップ8004)。管理装置50を使って、サブストレージシステム20Aと20Bに対する管理者を別々においてもよい。この際、ストレージシステム100はサブストレージシステム20Aと20Bに分割される。
ストレージシステム100を分割後は、サブストレージシステム20Aと20Bは、それぞれホスト51A、51Bからアクセスされる。ホスト51A(51B)からはサブストレージシステム20B(20A)内のリソースは使えない。この際、モジュール20A、20BのCPU21と管理装置50Aと50BのCPUは、分割されたモジュール20Aと20Bを、ホスト(上位計算機)51A及び51Bに対して、それぞれ独立のアクセス対象として管理するとともに、独立の運用対象として管理する分割管理部として機能する。
本実施形態では、1つのストレージシステムを2つのストレージシステムに分割するパターンを示すが、1つのストレージシステムを複数のストレージシステムに分割する場合も同様に処理する。
≪分割する範囲の決定 ステップ8001の詳細≫
ストレージシステム100を分割する場合、図1のようにストレージシステム100の中にモジュール20Aと20Bがある場合は、前記モジュール毎に分割する。
ストレージシステム100にモジュールがない場合、ストレージシステム100の分割後の各管理者の管理リソースの範囲を決定する。管理リソースには、論理リソースであるLDEV、キャッシュサイズ、論理的なポートがある。LDEVには、実LDEV、Thin Provisioningなどで使用する仮想VOLなどの種類がある。ボリューム管理情報などの制御情報も前記リソースと同じモジュールになるように分割する。
ユーザは、管理装置50の画面から、各リソースにモジュール番号を指定する。例えば、LDEV#100はサブストレージシステム20Aに割り当てたが、LDEV#100が今まで割り当たっていたパスが、サブストレージシステム20Bに割り当てられた場合、パスとLDEV#の関係を維持するために、同じモジュールになるように割り付ける。この場合、別の方法としては、パスに合わせてLDEVをパスと同じモジュール20Bに割り付ける。
また、ボリュームと物理ブロックのマッピングもまたがらないように範囲を決める。また、ユーザが1つ1つ指定する方法とは別に、ユーザが決定しやすいように、リソースとモジュールを管理装置50側で予め決め、それを管理装置の画面に出すユーザ支援のプログラム(図示しない)が管理装置50にあってもよい。
ストレージシステム100の分割する範囲又はモジュールを決めた後に、その範囲をまたがる指示や要求を受けた場合、受けたモジュールは、要求者にエラーを返す。ストレージシステムの分割範囲が決まる前は、範囲間でまたがった要求や指示があっても、それらは受けて処理は継続する。その後、データや制御情報のモジュール間移動を行う。
≪データの移動 ステップ8002の詳細≫
モジュール20Aと20Bに分割する場合、前記モジュール20Aと20Bの間でリソースの「またがり」が発生しているか否か検索する。またがりが発生していれば、モジュール間でのデータ移動のスケジュールを立てる。具体的には、どこへ移動するか移動先のモジュールとボリュームを決定し、移動処理を実行する。データの移動に伴い制御情報を更新する。
モジュール20Aと20Bがない構成で、ステップ8001で分割する範囲を決定し、分割範囲の間に「またがり」が発生する場合も同様にデータの移動を行う。
図28(a)に、疎粗結合構成のストレージシステムを分割する場合のメモリ情報の例を示す。他のモジュールの情報は制御を担当するモジュールへ移動し、削除する。結合のために必要であって、他がどのモジュールの担当のものかを判定する処理や担当モジュールへ要求を転送する処理のプログラムは不要となる。
図28(b)に密結合構成のストレージシステムを分割する場合のメモリ情報の例を示す。ボリューム管理情報と空きリソース管理情報を、制御を担当するモジュールのものに分割し、それぞれのメモリのアドレス内に格納する。
<(運用管理の分割 ステップ8004の詳細)>
運用管理に関する情報を分割する操作は、管理の結合の逆の操作となる。この際、モジュール20A、20Bそれぞれに管理装置50A、50Bが設置されるようにする。全体管理装置50をモジュールの1つの管理装置とし、他のモジュールには管理装置50をネットワーク上に追加しても良いし、管理装置50上にモジュール20Aと20Bの管理者アカウントを設定しても良い。
運用管理を分割するに際しては、下記の管理の仕方によって、分割の方法を採用することができる。
(1)全体管理者による管理されている。元々1つだった運用管理を分割後も可能とする。モジュール20Aとモジュール20Bから管理者アカウントを認識させる。
(2)モジュールごとに全体管理者によって管理されている。
上記全体管理者だけによって管理されているストレージシステムを分割する場合は、分割するモジュール単位にアカウントを分割する必要がある。全体管理者によって管理されている制御情報を、制御を担当するモジュールごとに分割し(図29参照)、各アカウントをモジュールに認識させる。全体管理者アカウントは廃止する。空きリソース情報についても、同様に、制御を担当するモジュールごとに分割する。そのリソースの制御を担当するモジュール側の空きリソース情報のテーブルへ記載する。
<Thin Provisioningについて>
Thin Provisioning(シンプロビジョニング)は仮想ボリュームを使った技術で、データの書き込みに基づいて動的にディスクを割り当てる技術である。コピー元のボリューム(正ボリューム)の容量をプール領域から割り当てる。
CoWS(CopyOnWriteスナップショット)は、コピーボリューム(副ボリューム)を作成する技術である。複数世代の副ボリュームのうち,アクセス単位のデータが同一の内容である場合,そのデータは一つだけプールへ格納し,複数世代からそのデータを参照する。副ボリュームは仮想ボリュームとなる。ボリューム全体のコピーであるレプリケーション機能の全コピーは行わず,正ボリュームまたは副ボリュームへのライト処理時に,ライト前データをプールへ退避した後,ライト処理を行う。ライト前データを参照していた世代が複数ある場合は,全てデータがどこになるかのマッピング情報を変更する。
これらの技術において、プールを使用するが、プールの結合分割についてThin Provisioningを例に挙げて説明する。
≪Thin Provisioningのプールの結合≫
図30に、モジュール結合時のThin Provisioning プールの管理方法を示す。Thin Provisioningを使っている場合、モジュールの結合後は、ストレージシステム100内のプールを使用することができる。
サブストレージシステム20A、20Bを結合してストレージシステム100となった場合に、モジュール20Aと20Bにあるプールを結合する。図30(a)は、モジュール20Aと20Bにそれぞれ2つずつプールがある場合の結合の一例を示している。モジュール20Aのプール245Aとモジュール20Bのプール245Bを結合してプール2491を新たに作成する。
また、モジュール20Aのプール246Aとモジュール20Bのプール246Bを結合してプール2492を新たに作成する。仮想ボリューム2421Aはプール245Aを使用し、実データをおいていたが、プールを結合後は、プール2491を使用することとなり、プール245B内にもデータをおくことができるようになる。逆に、仮想ボリューム2421Bはプール245Aを使用できるようになる。また、ボリューム2422Aはプール246Aを使用していたが、同様にプール2492を使用することとなる。
図30(b)に示すように、モジュール20Aの中の複数のプールとモジュール20Bのプールを統合してもよい。
プールの情報を、図31に示す。プール制御情報テーブル101は各モジュールにあるプール情報で、プールIDごとに、プールの使用できる総容量である「プール容量」、プール容量から使用している容量を引いた残りの容量である「プール残容量」、プールが少なくなってきたかどうかを判断するための「プール残容量閾値」、そのプールを使用する仮想ボリュームの番号「使用仮想VOLの番号」、プールを形成するプールボリュームのボリューム番号「使用プールVOLの番号」と総数「使用プールVOLの数」ある。
プール制御情報テーブル101は、結合前は、各サブストレージシステム20Aと20Bに持つ。図32に、結合後のプールIDである結合プールの情報、結合プール情報テーブル102を示す。結合プールIDごとに、プール制御情報テーブル101に示す「プールID」とそのプールのあるモジュールを示す「モジュール番号」を登録する。
モジュール20Aのプール#0とモジュール20Bのプール#0を結合し、統合プール#0とする例を取って、プールの統合処理(結合処理)を図33のフローチャートにしたがって説明する。
まず、ユーザが結合したいプールを指定する。この際、ユーザはモジュール番号とそのモジュールにあるプール番号を指定する(ステップ2501)。例えば、モジュール20Aのプール#0とモジュール20Bのプール#0を指定する。統合プール情報は、全体管理者が管理する情報であるため、全体管理者が統合プールIDを作成する(ステップ2502)。プールが統合されたら、統合対象となったモジュール、ここでは、モジュール20Aと20Bにプールが統合されたことを通知する。
≪モジュールまたがりのプールの場合≫
図34にThin Provisioningのプールがモジュールにまたがった例を示す。
モジュール20Aにある仮想ボリューム242Aは、領域2421Aはプールボリューム248Aの領域2481Aに割り当たっている。領域2423Aは、モジュール20Bにあるプールボリューム248Bの領域2481Bに割り当たっている。プールボリューム248Bの領域248Bはモジュール20B内の仮想ボリューム242Bの領域2421Bにも割り当たっている。
図35に上記の状態を管理する制御情報の一例を示す。図35(a)はストレージシステム100内で制御情報を一括管理する場合である。Thin Provisioningボリューム制御情報テーブル104として、仮想ボリュームの各領域がどのプールに割り当たっているかを示している。領域は具体的には、開始アドレスと終了アドレスを指定するなどにより決定する。また、その領域に番号をつけて管理してもよい。
図35(b)は、モジュール20Aと20Bとに制御情報を分けて管理する場合の例である。Thin Provisioningボリューム制御情報テーブル105Aはモジュール20Aにあるテーブルである。同じものがモジュール20Bにもある。Thin Provisioningボリューム制御情報テーブル105Aには、モジュール20A内のThin Provisioningボリュームの各領域がどのプールボリュームに割り当てられているかを示している。
領域2421Aは、仮想ボリュームと同じモジュール20Aにあるプールボリューム248Aの領域2481Aが割り当たっていることを示す。領域2423Aは、仮想ボリュームと異なるモジュール20Bのプールボリュームに割り当たっているため、モジュール20A内には、プールボリュームや領域の情報はなく、割り当てられた領域があるプールボリュームの所属するモジュール番号のみ示されている。一方、プールボリューム制御情報テーブル106Bによれば、プールボリュームがモジュール20Aの仮想ボリューム242Aによって使われていることが示されている。
図36は、ホスト51がストレージシステムにボリューム番号が「1」である仮想ボリュームを作成し、当該仮想ボリュームに対してモジュール20Aのポート615及びモジュール20Bのポート626からパスを定義した状態である。また、モジュール20Aはプール614を有し、モジュール20Bは別のプール623を有している。
ボリューム番号が「1」の仮想ボリュームをモジュール20Aとモジュール20Bに作成する場合、各モジュール20に仮想ボリュームテーブル105を持つ。矢印612は、仮想ボリュームの領域611がプールの領域613にページ割当している様子を示しており、矢印622は、領域621がプール領域623にページ割当している様子を示している。
矢印630が領域624へのリード、矢印640が領域621へのリードとする。モジュール20Bは矢印640のリードを受領すると、仮想ボリュームテーブル105Bを参照し、領域621のページ割当状況をチェックする。チェックした結果、モジュール20Bのプール623のページを使用していることが分る。このため、モジュール20Bは、プール623に格納されているデータをホスト51へ転送する。
一方、モジュール20Bが矢印630のリードを受領すると、仮想ボリュームテーブル105Bを参照し、領域624のページ割当状況をチェックする。チェックした結果、モジュール20Aのプール300のページを使用していることが分る。この場合、モジュール20Bは、モジュール20Aにリード処理依頼625を発行する。そして、リード処理依頼を受領したモジュール20Aがモジュール20Bのページに対してリードを実行する。このように、ホスト51から受領したI/Oの対象領域に対して、既に他モジュール20でページが割当てられている場合には、モジュール20間の通信が必要である。
≪Thin Provisioningのプールの分割≫
図34で示したThin Provisioningのプールがモジュールにまたがったストレージシステム100をモジュール20Aと20Bに分割する例を図37に示す。モジュール20Aと20Bは、Thin Provisioningボリューム制御情報テーブル105Aと105Bを持つ(図38参照)。まず、モジュール20Aは、図39に示すように、これらのテーブル105A、105Bからモジュールにまたがったプールを検索する(ステップ3101)。
この検索の仕方は、テーブル105Aの「モジュール番号」にモジュール20A以外のモジュール番号が入っているものをテーブルの先頭から順に検索する。モジュールにまたがったプールがあるときには、モジュール20Aは、次の処理へ以降し、無いときにはこの処理を終了し(ステップ3102)、テーブル105Aの「モジュール番号」に記載された他のモジュールへデータの移動要求を出す(ステップ3103)。ここでは、他モジュールはモジュール20Bとする。その際、移動の対象となる「仮想VOL番号」、「領域」の情報を要求と共にモジュール20Bへ渡す。またモジュール20A内に確保した移動先となる領域情報も渡す。
モジュール20Bは移動元モジュール20Aから指示された領域をテーブル106Bから検索し、移動処理を実行するためのスケジュールを立て(ステップ3104)、スケジュールを実行する(ステップ3105)。移動が完了したら、モジュール20Bはテーブル106Bと105Aを修正する(ステップ3106,3107)。
上記の処理は、ストレージシステム100が疎結合構成の場合である。密結合構成の場合は、疎結合構成と同様に、要求を各モジュールで行うか、他のモジュール内の処理を自モジュールにて実施するケースが考えられる。
ここでは、モジュール20Aとモジュール20Bにデータがまたがっているモジュール20Bにあるプールボリューム248Bをどうわかるかがポイントである。プールボリューム248Bはもともとモジュール20Bの管理下のものであるため、モジュール20B以外で使われている箇所をデータ移動させる。この例では、領域2481B内のデータを仮想ボリューム242Aが使用しているモジュール20A内のプールに所属するプールボリュームの領域、プールボリューム249Aの領域2491Aを確保してコピーする。
またがったものがなくなると、Thin Provisioningボリューム制御情報テーブル105Aから「モジュール番号」の情報が入るものはなくなり、プールボリューム制御情報テーブル106Bの「割当プールVOL番号」にも他のモジュールのボリューム番号が入ることはなくなる。
なお、コピー中に到着した要求への処理は、例えば、米国特許第7,155,587号に示す。
≪Thin Provisioningのデータ移動≫
前記データの移動と同様にデータをモジュール間で移動し、モジュール内に仮想ボリュームとプールが閉じるような構成にする。
本実施形態は、シンプロビジョニングについて説明するが、CoWSの場合は、複数の仮想ボリュームが同一データを使っている場合があり、そのデータを必要に応じてコピーすることのを忘れないことが必要となる。仮想ボリュームだけでなく、レプリケーションの場合も同じように、データを移動することでコピー元とコピー先のボリュームが同じモジュール内にあるような構成にする。
≪外部アクセス≫
次に、外部アクセスの処理を図40のフローチャートにしたがって説明する。ホストからアクセス要求をサブストレージシステム20が受信したら(ステップ3301)、I/Oプログラム(図示せず)は、その特定されたローカルLDEV番号が、内部LDEVに対応したものか、外部LDEVに対応したものかを、内部に保持するデバイス情報(図示せず)により判定する(ステップ3302)。つまり、アクセス要求が、外部LDEV701へのアクセス要求であるか、内部LDEV241へのアクセス要求であるかが判定される。
サブストレージシステム20は、外部LDEV701へのアクセス要求であるならば(ステップ3302でYES)、外部LDEV701とのマッピングテーブル(図示せず)を参照し、外部LDEV701へのアドレス変換などを行って、外部LDEV701へのアクセス要求を外部ストレージシステム70に送信する(ステップ3304)。一方、サブストレージシステム20は、内部LDEV241へのアクセス要求であるならば(ステップ3302でNO)、内部LDEV241へのアクセスを行う(ステップ3303)。
≪LDEV連結構成≫
2つ以上の論理ボリューム(LDEV)を連結して1つのLDEVとして定義する連結LDEV構成というものがある。従来のLDEVサイズはストレージシステム内で予め上限が設定されるが,1つのLDEVサイズを超えてユーザに領域を提供することを目的とした機能である。前記連結LDEV構成を構成するLDEVが同じモジュールになるように分割する。
<別システム構成>
別のシステム構成としては、外部ストレージが接続されていてもよい(図4参照)。FCインターフェース制御部25は,サブストレージシステム20と外部ストレージシステム70との間のコマンドやデータの転送を制御する。尚,FCインターフェース制御部25と外部ストレージシステム70の間にSAN43があってもよいし、FCインターフェース制御部25と外部ストレージシステム70とが光ファイバケーブルなどで直接接続されていてもよい。
外部ストレージシステム70は,RAID構成された一つ以上のディスクドライブ700を有する。ディスクドライブ700は,FC(Fibre Channel)ディスクドライブ,SATA(Serial Advanced Technology Attachment)ディスクドライブ,PATA(Parallel Advanced Technology Attachment)ディスクドライブ,FATA(Fibre Attached Technology Adapted)ディスクドライブ,SAS(Serial Attached SCSI)ディスクドライブ或いはSCSI(Small Computer System Interface)ディスクドライブ等のストレージデバイスである。複数のディスクドライブ700上には,外部LDEV701が形成されている。なお,ディスクドライブ700に代えて又は加えて,他種の記憶デバイス(例えばフラッシュメモリ)があっても良い。
LDEV243は,実記憶領域を有しない仮想的なデバイスである。データを記憶する実体的な記憶領域は,後述の外部ストレージシステム70内の論理デバイス701に存在する。即ち,サブストレージシステム20は,外部ストレージシステム70の外部LDEV701を自己の内部デバイスとして取り込み,これを論理ユニットとしてホスト計算機51に提供している。ホスト計算機51がUNIX(登録商標)系のシステムである場合には、論理ユニットは,デバイスファイル(Device File)に対応付けられる。ホスト計算機51がWindows(登録商標)系のシステムである場合には,論理ユニットは、ドライブレター(ドライブ名)に対応付けられる。論理ユニットには,LUN(Logical Unit Number)がアサインされ、外部LDEV701があたかもサブストレージシステム20の内部デバイスであるかのように仮想化する方法を採用することができる(例えば、特開2005−107645号公報(US出願番号10/769805号,US出願番号11/471556号)。
次に他のシステム構成を図41に示す。このストレージシステムにおいて、図1と同じ装置,同じ機能を持つものは同一番号を付して、それらの説明を省略する。
ストレージシステム110は,I/Fパッケージ部90と制御部80と不揮発メモリ29,I/Fパッケージ部90と制御部80を接続するネットワーク33,ディスク装置部24及び70からなる。各要素は少なくとも1つ以上からなる。
ストレージシステム110は、SAN41を介してホスト計算機51に接続されている。I/Fパッケージ部90AはどのLDEVがどの80に格納されているかを認識するための構成情報を格納している。構成情報は,80内のローカルメモリ22やメモリ29にも格納されている。または、ネットワーク33上に別のプロセッサ(図示せず)を設け、構成情報をおいてもよい。
I/Fパッケージ部90Aは,ホストからのI/Oを受けると,コマンドを解析して,要求するデータが格納されているLDEVがどの制御部80の配下に管理されているかを判断し,その制御部80へI/Oを振り分ける処理を行う。また,I/Fパッケージ部90B、ディスク装置24及び70へデータ転送も行う。制御部80は,メモリ29へデータを転送する。
尚,外部ストレージシステム70は,サブストレージシステム20とは異なる機種であってもよく,或いはサブストレージシステム20と同一の機種であってもよい。サブストレージシステム20Aと20Bは別の筐体である外部ストレージシステム70A、70Bとそれぞれ接続していてもよい。上記構成にて,外部ストレージシステム70は無くても良い。
図41の構成において、ストレージシステム110を分割する際には、制御部80単位に分割し、前記制御部80が担当するLDEVの実データが格納されているディスク装置24を制御部80と同じストレージシステムに所属させる。ディスク装置24が複数の前記制御装置80が担当するLDEVの実データが格納されている場合、ディスク装置24Aが所属している制御部80Aと異なる制御部80Bが担当するLDEVの実データは、データ移動する。
例えば、制御部80Aに所属するディスク装置2400Aに、制御部80Bが担当するLDEVの実データが格納されている場合、前記実データはディスク装置Aからディスク装置2400Bへデータを移動することで、制御部80とディスク装置が物理的に分割できる。
本実施形態によれば、システム構成の変更(結合・分割)に合わせて情報を動的(オンラインで)に管理することができる。
また、本実施形態によれば、ストレージシステムの結合を動的に実施可能とし、複数企業・部門統合時の管理統一化を実現することができ、管理の統合により、管理端末の統合、管理者の統合が可能となり、ストレージシステムの結合により、各ストレージシステムにある空きリソースを相互に利用可能となる。
さらに、本実施形態によれば、ストレージシステムの分割を動的に実施可能とし、企業単位での管理、資源の利用を行うことで、性能を確保することができ、他の企業のI/Oにリソースを奪われることがなくなる。
以上,本発明の好適な実施形態を説明したが,これは本発明の説明のための例示であって,本発明の範囲をこの実施形態にのみ限定する趣旨ではない。本発明は,他の種々の形態でも実施することが可能である。
本発明に係るストレージシステムのブロック構成図である。 サブストレージの結合方法を説明するためのフローチャート。 本発明の第2実施形態を示すストレージシステムのブロック構成図である。 本発明の第3実施形態を示すストレージシステムのブロック構成図である。 結合後のストレージシステムのブロック構成図である。 モジュールを疎結合または密結合した場合の内部構成図である。 結合前の制御情報の構成を示すボリューム管理情報テーブルの構成図である。 パス定義を行うときの構成を説明するための構成図である。 パス定義の処理を説明するためのフローチャートである。 疎結合構成における処理を説明するためのフローチャートである。 疎結合構成におけるボリューム管理情報テーブルと密結合構成におけるボリューム管理テーブルの構成図である。 密結合構成における処理を説明するためのフローチャートである。 制御情報を疎結合するときまたは密結合するときの内部構成図である。 結合前の管理者アカウント情報テーブルの構成図である。 管理者アカウントを結合するときの処理を説明するためのフローチャートである。 管理者アカウントを結合するときの内部構成図である。 管理者アカウントを結合するときの処理を説明するためのフローチャートである。 管理者アカウントの他の結合方法を説明するためのフローチャートである。 結合前の空きポート情報テーブルと結合後の空きポート情報テーブルの構成図である。 疎結合構成における空きリソースの割付方法を説明するためのフローチャートである。 疎結合構成におけるボリュームマッピング管理情報テーブルと密結合構成におけるボリュームマッピング管理情報テーブルの構成図である。 リソース番号の付け直しを行うときの画面の表示例を示す図である。 リソース番号の付け直しを説明するためのブロック構成図である。 結合構成のバリエーションを説明するための構成図である。 ネットワーク上のストレージシステムの結合を説明するための構成図である。 リピートコピー接続で使用しているストレージシステムの結合を説明するための構成図である。 ストレージシステムをサブストレージシステムに分割するときの処理を説明するためのフローチャートである。 疎結合のストレージシステムまたは密結合のストレージシステムを分割するときの内部構成図である。 運用管理の分割を説明するための管理者アカウント情報テーブルの構成図である。 プールの結合を説明するための内部構成図である。 プール制御情報テーブルの構成図である。 結合後の統合プール情報テーブルの構成図である。 プールの統合処理を説明するためのフローチャートである。 モジュールにまたがるプールの構成を説明するための内部構成図である。 Thin Provisioningボリューム制御情報テーブルとプールボリューム制御テーブルの構成図である。 仮想ボリュームをモジュールに作成するときの作用を説明するための構成図である。 モジュールにまたがるプールを有するストレージシステムをモジュールに分割するときの構成を説明するための内部構成図である。 Thin Provisioningボリューム制御情報テーブルとプールボリューム制御情報テーブルの構成図である。 プールの分割処理を説明するためのフローチャートである。 外部アクセスを説明するためのフローチャートである。 本発明の第4実施形態を示すストレージシステムのブロック構成図である。 モジュール20Aと20Bを結合する前(図42(a))と後(図42(b))の制御情報のテーブルの例である。 モジュール20Aと20Bの結合後の例を示したブロック図及びテーブルである。
符号の説明
20、20A、20B…サブストレージシステム 51…ホスト計算機 50…管理装置 70…外部ストレージシステム 100…ストレージシステム

Claims (16)

  1. 少なくとも一つの上位計算機にそれぞれ接続され、前記上位計算機からの要求に従って、互いに独立にデータの入出力を実行する複数のサブストレージシステムを有するストレージシステムにおいて、
    各々の前記サブストレージシステムは、
    複数の記憶デバイスを備える記憶装置と、
    前記上位計算機に接続され、前記上位計算機からのデータの入出力要求を受信する第一伝送制御部と、
    前記上位計算機からのデータの入出力要求を基に前記記憶装置に対するデータ入出力処理を行う制御部と、
    前記制御部と前記記憶装置とをそれぞれ接続してデータの入出力を制御する第二伝送制御と、
    各々の前記サブストレージシステムを管理する管理装置に接続される第三伝送制御部と、
    少なくとも前記記憶装置の管理情報を格納するメモリと、
    を備え、
    前記ストレージシステムは、
    前記複数のサブストレージシステムの少なくとも二つのサブストレージシステムを互いに結合する結合部と、
    記少なくとも二つのサブストレージシステムに接続される一乃至複数の管理装置で構成され、互いに結合された前記少なくとも二つのサブストレージシステムを、前記上位計算機に対して単一のアクセス対象として運用管理するとともに、前記少なくとも二つのサブストレージシステムの未使用リソース情報を管理する統合管理部と、
    を備え
    前記ストレージシステムにおいて、前記複数のサブストレージシステムの少なくとも二つのサブストレージシステムが前記結合部により結合されて疎結合構成を成す場合、前記少なくとも二つのサブストレージシステムの各々の前記メモリには、自サブストレージシステムの前記記憶装置の管理情報と他サブストレージシステムの記憶装置の管理情報の少なくとも一部が結合されて格納され、前記少なくとも二つのサブストレージシステムの各々の前記制御部は、前記上位計算機からデータの入出力要求を受信すると、前記結合された管理情報を参照して該入出力要求にて指定された記憶装置が自サブストレージシステムの前記記憶装置か前記他サブストレージシステムの記憶装置かを判定して該入出力要求を処理し、リソースの割付処理が必要になると、自サブストレージシステム内の未使用リソースを探し、自サブストレージシステム内の未使用リソースが足りない場合には前記統合管理部が管理する未使用リソース情報から未使用リソースが十分ある前記他サブストレージシステムを選択して未使用リソースを割付け、
    前記少なくとも二つのサブストレージシステムが前記結合部により結合されて密結合構成を成す場合、前記少なくとも二つのサブストレージシステムの何れかの前記メモリには、前記少なくとも二つのサブストレージシステムの各々の前記記憶装置の管理情報が結合されて格納され、前記少なくとも二つのサブストレージシステムの各々の前記制御部は、前記上位計算機からデータの入出力要求を受信すると、前記少なくとも二つのサブストレージシステムの何れかの前記メモリに格納されている前記結合された管理情報を参照して該入出力要求を処理し、リソースの割付処理が必要になると、前記少なくとも二つのサブストレージシステム内の何れかの未使用リソースを選択して割付ける
    ことを特徴とするストレージシステム。
  2. 前記統合管理部は、前記複数のサブストレージシステムに関する複数の管理者アカウントと複数の制御情報とをそれぞれ結合して管理する、請求項1に記載のストレージシステム。
  3. 前記統合管理部は、前記複数のサブストレージシステムに関する複数の管理者アカウントのうちいずれか一つの管理者アカウントを有効として管理してなる、請求項1に記載のストレージシステム。
  4. 前記統合管理部は、前記サブストレージシステムに関する管理者アカウントを、前記サブストレージシステム全体を管理するための管理者アカウントに結合してなる、請求項1に記載のストレージシステム。
  5. 前記統合管理部は、前記管理者アカウントを当該管理者アカウントに対応する前記サブストレージシステムに特有なものとして設定するとともに、当該管理者アカウントを前記サブストレージシステム全体を管理するものとして設定する、請求項1に記載のストレージシステム。
  6. 前記統合管理部は、前記複数のサブストレージシステムの記憶装置の記憶領域にまたがるプールが存在するときには、当該プールをボリューム制御情報に従って管理してなる、請求項1に記載のストレージシステム。
  7. 記ストレージシステムは、
    前記ストレージシステムを複数のサブストレージシステムに分割する分割部を更に備え
    前記分割されたサブストレージシステムに接続された前記管理装置は、前記上位計算機に対して、それぞれ独立のアクセス対象として管理するとともに、前記分割されたサブストレージシステムを独立の運用対象として管理する
    請求項1に記載のストレージシステム。
  8. 前記制御部は、前記他のサブストレージシステムに属する情報を自サブストレージシステムに属する情報の中から選択して前記他のサブストレージシステムに転送してなる、請求項に記載のストレージシステム。
  9. 前記制御部は、前記他のサブストレージシステムに属する記憶情報と制御情報を前記他のサブストレージシステムに転送するとともに、当該記憶情報と制御情報を転送先に再配置させてなる、請求項に記載のストレージシステム。
  10. 前記分割部は、前記複数のサブストレージシステムの記憶装置の記憶領域にまたがるプールが存在するときには、当該プールを一部のサブストレージシステムに分割してなる、請求項に記載のストレージシステム。
  11. 少なくとも一つの上位計算機と管理装置にそれぞれが接続され、前記上位計算機からの要求に従って、互いに独立にデータの入出力を実行する複数のサブストレージシステムを有するストレージシステムの管理方法において、
    前記複数のサブストレージシステムの少なくとも二つのサブストレージシステムを互いに結合する結合工程と、
    前記少なくとも二つのサブストレージシステムに接続される一乃至複数の前記管理装置で構成される統合管理部により、互いに結合された前記少なくとも二つのサブストレージシステムを、上位計算機に対して単一のアクセス対象として管理、単一の運用対象として統合管理するとともに、前記少なくとも二つのサブストレージシステムの未使用リソース情報を管理する運用工程と、
    前記少なくとも二つのサブストレージシステムが結合されて疎結合構成を成す場合において、
    前記少なくとも二つのサブストレージシステムの各々により、自サブストレージシステムが備える記憶装置の管理情報と他サブストレージシステムが備える記憶装置の管理情報の少なくとも一部を結合して保持する第一の情報結合工程と、
    前記少なくとも二つのサブストレージシステムの各々において、前記上位計算機からデータの入出力要求を受信すると、前記結合された管理情報を参照して入出力要求にて指定された記憶装置が自サブストレージシステムの記憶装置か他サブストレージシステムの記憶装置かを判定して入出力要求を処理する第一の要求処理工程と、
    前記少なくとも二つのサブストレージシステムの各々において、リソースの割付処理が必要になると、自サブストレージシステム内の未使用リソースを探し、自サブストレージシステム内の未使用リソースが足りない場合は前記統合管理部が管理する未使用リソース情報から未使用リソースが十分ある他サブストレージシステムを選択して未使用リソースを割付ける第一のリソース割付工程と、
    前記少なくとも二つのサブストレージシステムが結合されて密結合構成を成す場合において、
    前記少なくとも二つのサブストレージシステムの何れかにより、前記少なくとも二つのサブストレージシステムの各々が備える記憶装置の管理情報を結合して保持する第二の情報結合工程と、
    前記少なくとも二つのサブストレージシステムの各々において、前記上位計算機からデータの入出力要求を受信すると、前記少なくとも二つのサブストレージシステムの何れかが保持する前記結合された管理情報を参照して入出力要求を処理する第二の要求処理工程と、
    前記少なくとも二つのサブストレージシステムの各々において、リソースの割付処理が必要になると、前記少なくとも二つのサブストレージシステム内の何れかの未使用リソースを選択して割付ける第二のリソース割付工程と、
    を備えてなるストレージシステムの管理方法。
  12. 前記運用工程は、前記複数のサブストレージシステムに関する複数の管理者アカウントと複数の制御情報とをそれぞれ結合して管理する、請求項11に記載のストレージシステムの管理方法。
  13. 前記運用工程は、前記複数のサブストレージシステムに関する複数の管理者アカウントのうちいずれか一つの管理者アカウントを有効として管理する、請求項11に記載のストレージシステムの管理方法。
  14. 前記運用工程は、前記サブストレージシステムに関する管理者アカウントを、前記サブストレージシステム全体を管理するための管理者アカウントに結合する、請求項11に記載のストレージシステムの管理方法。
  15. 前記運用工程は、前記管理者アカウントを当該管理者アカウントに対応する前記サブストレージシステムに特有なものとして設定するとともに、当該管理者アカウントを前記サブストレージシステム全体を管理するものとして設定する、請求項11に記載のストレージシステムの管理方法。
  16. 前記運用工程は、前記複数のサブストレージシステムの記憶装置の記憶領域にまたがるプールが存在するときには、当該プールをボリューム制御情報に従って管理する、請求項11に記載のストレージシステムの管理方法。
JP2008094044A 2008-03-31 2008-03-31 ストレージシステム及びストレージシステムの管理方法 Expired - Fee Related JP5111204B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2008094044A JP5111204B2 (ja) 2008-03-31 2008-03-31 ストレージシステム及びストレージシステムの管理方法
US12/132,433 US8250317B2 (en) 2008-03-31 2008-06-03 Storage system managing information in accordance with changes in the storage system configuration
EP08171198A EP2107450A1 (en) 2008-03-31 2008-12-10 Storage system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008094044A JP5111204B2 (ja) 2008-03-31 2008-03-31 ストレージシステム及びストレージシステムの管理方法

Publications (2)

Publication Number Publication Date
JP2009245387A JP2009245387A (ja) 2009-10-22
JP5111204B2 true JP5111204B2 (ja) 2013-01-09

Family

ID=40810512

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008094044A Expired - Fee Related JP5111204B2 (ja) 2008-03-31 2008-03-31 ストレージシステム及びストレージシステムの管理方法

Country Status (3)

Country Link
US (1) US8250317B2 (ja)
EP (1) EP2107450A1 (ja)
JP (1) JP5111204B2 (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5555260B2 (ja) * 2009-12-24 2014-07-23 株式会社日立製作所 仮想ボリュームを提供するストレージシステム
JP5052592B2 (ja) * 2009-12-28 2012-10-17 株式会社日立製作所 ストレージ管理システム、ストレージ階層管理方法及び管理サーバ
US8407720B1 (en) * 2010-03-31 2013-03-26 Emc Corporation Inter-process communication management
WO2011125106A1 (en) 2010-04-05 2011-10-13 Hitachi, Ltd. Storage system configured from plurality of storage modules and method for switching coupling configuration of storage modules
US8874746B1 (en) * 2010-05-24 2014-10-28 Datacore Software Corporation Collaboration between discrete systems and a shared system to consolidate shared storage-related services
US20120011176A1 (en) * 2010-07-07 2012-01-12 Nexenta Systems, Inc. Location independent scalable file and block storage
US8356147B2 (en) * 2010-08-20 2013-01-15 Hitachi, Ltd. Tiered storage pool management and control for loosely coupled multiple storage environment
US20120265956A1 (en) * 2011-04-18 2012-10-18 Hitachi, Ltd. Storage subsystem, data migration method and computer system
US9110591B2 (en) 2011-04-22 2015-08-18 Hewlett-Packard Development Company, L.P. Memory resource provisioning using SAS zoning
US8812566B2 (en) 2011-05-13 2014-08-19 Nexenta Systems, Inc. Scalable storage for virtual machines
US8775773B2 (en) * 2011-08-26 2014-07-08 Vmware, Inc. Object storage system
US9172754B2 (en) 2012-04-30 2015-10-27 Hewlett-Packard Development Company, L.P. Storage fabric address based data block retrieval
CN104919429B (zh) * 2013-06-14 2018-01-09 株式会社日立制作所 存储管理计算机及存储管理方法
US10514846B2 (en) 2015-06-01 2019-12-24 Hitachi, Ltd. Computer system and management method for computer
JP2017058736A (ja) * 2015-09-14 2017-03-23 富士通株式会社 ストレージシステム、ストレージ制御装置およびアクセス制御方法
US10156991B2 (en) 2015-10-19 2018-12-18 International Business Machines Corporation User interface for host port assignment
JP6888446B2 (ja) * 2017-07-10 2021-06-16 富士通株式会社 情報処理装置、重複除去率特定方法及び重複除去率特定プログラム

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US471556A (en) 1892-03-29 Archibald douglas jolly
US769805A (en) 1903-08-12 1904-09-13 Meyrowitz Mfg Company Eyesight-test cabinet.
US20020129216A1 (en) * 2001-03-06 2002-09-12 Kevin Collins Apparatus and method for configuring available storage capacity on a network as a logical device
JP4060552B2 (ja) * 2001-08-06 2008-03-12 株式会社日立製作所 記憶装置システム、および、記憶装置システムの構成方法
US7162600B2 (en) * 2005-03-29 2007-01-09 Hitachi, Ltd. Data copying method and apparatus in a thin provisioned system
JP4252301B2 (ja) * 2002-12-26 2009-04-08 株式会社日立製作所 記憶システム及びそのデータバックアップ方法
US7581007B2 (en) * 2003-03-11 2009-08-25 Hitachi, Ltd. Method, apparatus and services for leasing volumes
JP2004334481A (ja) * 2003-05-07 2004-11-25 Fujitsu Ltd 仮想化情報管理装置
JP4437650B2 (ja) * 2003-08-25 2010-03-24 株式会社日立製作所 ストレージシステム
JP4307202B2 (ja) 2003-09-29 2009-08-05 株式会社日立製作所 記憶システム及び記憶制御装置
US8006056B2 (en) * 2004-01-30 2011-08-23 Hewlett-Packard Development Company, L.P. Storage system including capability to move a virtual storage device group without moving data
JP4391265B2 (ja) 2004-02-26 2009-12-24 株式会社日立製作所 ストレージサブシステムおよび性能チューニング方法
JP4585276B2 (ja) * 2004-11-01 2010-11-24 株式会社日立製作所 ストレージシステム
US20070150492A1 (en) * 2005-12-27 2007-06-28 Hitachi, Ltd. Method and system for allocating file in clustered file system
JP4901316B2 (ja) 2006-06-06 2012-03-21 株式会社日立製作所 ストレージシステム及び記憶制御装置
JP4963892B2 (ja) * 2006-08-02 2012-06-27 株式会社日立製作所 仮想ストレージシステムの構成要素となることが可能なストレージシステムの制御装置
JP2008094044A (ja) 2006-10-16 2008-04-24 Seiko Epson Corp ヘッドユニットおよび液滴吐出装置、液状体の吐出方法、カラーフィルタの製造方法、有機el素子の製造方法、配線基板の製造方法

Also Published As

Publication number Publication date
JP2009245387A (ja) 2009-10-22
US20090248953A1 (en) 2009-10-01
EP2107450A1 (en) 2009-10-07
US8250317B2 (en) 2012-08-21

Similar Documents

Publication Publication Date Title
JP5111204B2 (ja) ストレージシステム及びストレージシステムの管理方法
JP4889985B2 (ja) ストレージ階層を考慮したボリュームグループを管理する方法
JP4437650B2 (ja) ストレージシステム
US8051262B2 (en) Storage system storing golden image of a server or a physical/virtual machine execution environment
US8799600B2 (en) Storage system and data relocation control device
JP4235220B2 (ja) 計算機システムおよびデータ移行方法
JP5323989B2 (ja) ストレージ装置及びデータ管理方法
US7434017B2 (en) Storage system with virtual allocation and virtual relocation of volumes
JP5512833B2 (ja) ストレージの仮想化機能と容量の仮想化機能との両方を有する複数のストレージ装置を含んだストレージシステム
US7587553B2 (en) Storage controller, and logical volume formation method for the storage controller
JP4751123B2 (ja) ストレージシステム、フォーマット方法及びコンピュータプログラム
JP4648751B2 (ja) 記憶制御システム及び記憶制御方法
US8650381B2 (en) Storage system using real data storage area dynamic allocation method
EP1770493A2 (en) Storage system and data relocation control device
US9354819B2 (en) Storage system including multiple storage apparatuses and pool virtualization method
JP2007280319A (ja) 記憶領域動的割当方法
JP2007102760A (ja) ストレージエリアネットワークにおけるボリュームの自動割り当て
US20120278426A1 (en) Computer system and its management method
US8732428B2 (en) Computer system and its control method
JP6343716B2 (ja) 計算機システム及び記憶制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100809

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120622

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120626

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120821

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120911

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: 20121009

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

Free format text: PAYMENT UNTIL: 20151019

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees