(57)【要約】【課題】クラスタ間をまたがる相互結合網の帯域は、クラスタ内の相互結合網の帯域に比べ、はるかに狭い。即ち、単純にクラスタ型ストレージシステムに論理分割技術を適用すると、クラスタ間をまたがって論理区画を形成し、割り当てた資源量に応じた性能の論理区画を保証できない。【解決手段】第１のクラスタと第２のクラスタを備えるストレージシステムにおいて、前記クラスタ型ストレージシステムが備える資源を論理的に分割する際、１つの論理区画に対して、第１のクラスタ内の資源を割り当てる。又、第１及び第２のクラスタが、スイッチを介してディスク装置に接続される構成であってもよい。更に、第１のクラスタに障害が起きた際、第２のクラスタが、第１のクラスタの処理を継続できるような構成をとってもよい。【選択図】図１
2006285808.tif 000002
【特許請求の範囲】
【請求項１】
第１のクラスタと、第２のクラスタを備えるストレージシステムにおいて、
前記ストレージシステムが備える資源を論理的に分割する際、１つの論理区画に対して、第１のクラスタ内の資源を割り当てる、ストレージシステム。
【請求項２】
前記第１及び第２のクラスタは、ディスク装置、キャッシュメモリ、外部装置とのデータ転送を制御するチャネル制御部、及びディスク装置とのデータ転送を制御するディスク制御部を備え、
前記資源とは、前記ディスク装置、前記キャッシュメモリ、前記チャネル制御部、及び前記ディスク制御部のいずれかである、請求項１記載のストレージシステム。
【請求項３】
前記第１及び第２のクラスタは、相互に物理的に独立している、請求項１記載のストレージシステム。
【請求項４】
前記第２のクラスタは、論理区画を割り当てられていない、請求項２記載のストレージシステム。
【請求項５】
前記第２のクラスタは、論理区画を割り当てられていないディスク装置を備える、請求項２記載のストレージシステム。
【請求項６】
前記第２のクラスタは、前記第１のクラスタの備えるディスク装置に、前記第２のクラスタの備えるディスク装置に格納されるデータの複製を格納する、請求項２記載のストレージシステム。
【請求項７】
前記第１のクラスタに障害が起きた際、前記第２のクラスタが、前記第１のクラスタの処理を継続する、請求項４乃至６記載のストレージシステム。
【請求項８】
前記第１のクラスタ内の資源の割り当てを管理者に示唆する装置を更に備える、請求項１記載のストレージシステム。
【請求項９】
第１のクラスタと、第２のクラスタを備えるストレージシステムにおいて、
前記第１及び第２のクラスタは、スイッチを介して、ディスク装置と接続され、
前記ストレージシステムが備える資源を論理的に分割する際、１つの論理区画に対して、第１のクラスタ内の資源を割り当てる、ストレージシステム。
【請求項１０】
前記第１及び第２のクラスタは、キャッシュメモリ、外部装置とのデータ転送を制御するチャネル制御部、及びディスク装置とのデータ転送を制御するディスク制御部を備え、
前記資源とは、前記キャッシュメモリ、前記チャネル制御部、及び前記ディスク制御部のいずれかである、請求項９記載のストレージシステム。
【請求項１１】
前記第１及び第２のクラスタは、相互に物理的に独立している、請求項９記載のストレージシステム。
【請求項１２】
前記第２のクラスタは、論理区画を割り当てられていない、請求項１０記載のストレージシステム。
【請求項１３】
前記第１のクラスタに障害が起きた際、前記第２のクラスタが、前記第１のクラスタの処理を継続する、請求項１２記載のストレージシステム。
【請求項１４】
前記第１のクラスタ内の資源の割り当てを管理者に示唆する装置を更に備える、請求項９記載のストレージシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージシステムに関し、特に、その論理分割の方法に関する。
【背景技術】
【０００２】
データセンタなどの情報ビジネスの現場において、ストレージシステムの総所有コストの削減を鑑み、複数のストレージシステムで運用していたものを、大規模な単一のストレージシステムに置き換え、統合するストレージコンソリデーションが行われるようになってきている。ここで、ストレージシステムとは、データを格納するハードディスクドライブ（以下、ＨＤＤと称する）と、それを制御する記憶制御装置からなるシステムを示す。
【０００３】
ストレージコンソリデーションを推進する技術として、ストレージ論理分割技術がある。この技術は、１つのストレージシステムを複数の論理区画（Logical Partition；LPARともいう）に分割し、ユーザからは個別の複数のストレージシステムが存在しているように見せるものである（非特許文献１参照）。これにより、ストレージシステムの管理者が１つの物理的なストレージシステムの管理に専念でき、管理コストの削減や、物理的な設置場所の床面積も削減でき、結果として総所有コストが削減される。
【０００４】
一方、小規模から超大規模な構成まで、同一の高機能、高信頼性のアーキテクチャで対応可能な、スケーラビリティのある構成のストレージシステムを提供する技術がある（特許文献１参照）。これは、複数台の比較的小規模なストレージシステム（以下、クラスタと称する）を相互結合網により接続し、１つのシステムとして運用するものである。このように、複数台のクラスタからなるシステムを、クラスタ型ストレージシステムと呼ぶ。
【０００５】
【特許文献１】特開２００１−２５６００３号公報
【非特許文献１】IBM Corporation, IBM TotalStorage DS8000, ２００４年  http://www-1.ibm.com/servers/storage/disk/ds8000/pdf/ds8000-datasheet.pdf
【発明の開示】
【発明が解決しようとする課題】
【０００６】
以上の技術動向を鑑みると、今後は、クラスタ型ストレージシステムに論理分割技術を適用することが考えられるが、単純に適用しただけでは、以下のような課題が生じる。
【０００７】
クラスタ型ストレージシステムにおいて、クラスタ間をまたがる相互結合網の帯域は、クラスタ内の相互結合網の帯域に比べ、はるかに狭い。そこで、クラスタ間をまたがるアクセスが起こる場合にも十分な性能を保証するためには、クラスタ間の相互結合網の帯域を非常に大きくしなければならないが、そのためには製造コストが高くなる。一方、クラスタ型ストレージシステムは、低コストであることが望ましい。高コストのクラスタ型ストレージシステムを用いた場合、ストレージコンソリデーションによるコストメリットが相殺されてしまう恐れがあるためである。以上のことから、クラスタ型ストレージシステムは、高コストにつながるクラスタ間の相互結合網に十分な帯域をもつことはできない。
【０００８】
このような帯域の制限されたクラスタ型ストレージシステムに論理分割技術を適用した場合、論理区画に割り当てた資源に見合う性能を保証できないことがある。その例を、２つのクラスタを有するクラスタ型ストレージシステムについて、図２と図３を用いて説明する。尚、図中、複数のクラスタ１０を区別するため、ハイフン（１０−１等）を使用している。
【０００９】
図３の論理区画資源割り当てテーブルのように３つの論理区画に分割する場合を考える。この際、論理区画番号の小さい論理区画から、順次クラスタ型ストレージシステム内の資源を割り当てるとする。この場合の割り当て状況を図２に示す。ここで、図３のキャッシュメモリの容量７０４に焦点を当てると、論理区画１（１０１）に対する割り当ては、クラスタ型ストレージシステム全体の２５％である。クラスタ数は２なので、論理区画１（１０１）の割り当ては、クラスタ１０−１のもつキャッシュメモリ１３の５０％になる。次に、論理区画２（１０２）のキャッシュメモリ１３容量に対する割り当て７０４を考えると、これはクラスタ型ストレージシステム全体の４０％であり、クラスタ１０−１のもつキャッシュメモリ１３の８０％になる。しかし、すでに論理区画１（１０１）にクラスタ１０−１のキャッシュメモリ１３の５０％を割り当てているので、論理区画２（１０２）に対しては残りの５０％分を割り当て、クラスタ１０−２のキャッシュメモリ１３に未割り当ての３０％分を割り当てることになる。つまり、論理区画２（１０２）のキャッシュメモリ１３に対する割り当てが、２つのクラスタ１０をまたがって配置されてしまう。この場合、論理区画２（１０２）においては、帯域が不足するクラスタ間の相互結合網（図２のクラスタ間パス２０）を用いたキャッシュメモリ１３へのアクセスが頻発することが予測される。そのため論理区画２（１０２）は、割り当てた資源に見合った性能を保証できず、相対的に性能の低い論理区画となる。こうした問題が起こる組み合わせは、割り当てを操作できる資源の数が多くなるほど多くなる。
【００１０】
以上のように、本発明の解決しようとする課題は、単純にクラスタ型ストレージシステムに論理分割技術を適用すると、割り当てた資源量に応じた性能の論理区画を保証できない点にある。
【課題を解決するための手段】
【００１１】
上記課題を解決するために、本発明では、クラスタ型ストレージシステムにおいて、１つの論理区画に対しては、同一クラスタ内の資源を割り当てる。
【発明の効果】
【００１２】
本発明によれば、割り当てた資源に見合った性能の論理区画を保証できる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の実施形態を、図面に基づいて説明する。
（第１の実施形態）
図４は、第１の実施形態の計算機システムの構成図である。計算機システムは、複数のホストコンピュータ（以下、ホストと称する）２、ＳＡＮスイッチ３、クラスタ型ストレージシステム１、管理端末５とからなる。クラスタ型ストレージシステム１は、チャネル４を通じて、ＳＡＮスイッチ３などで構成されるＳＡＮ（Storage Area Network）を経て、ホスト２に接続され、ＬＡＮ（Local Area Network）やＳＡＮなどを経て、管理端末５に接続される。
【００１４】
クラスタ型ストレージシステム１は、複数のクラスタ１０（１０−１、１０−ｋ）、クラスタ間パス２０、管理ネットワーク３０、データを格納する複数のＨＤＤ５０、ディスク側チャネル６０及び保守プロセッサ４０とから構成される。複数のクラスタ１０は、クラスタ間パス２０を通して相互に接続され、保守プロセッサ４０や管理端末５と管理ネットワーク３０を介して接続される。
【００１５】
尚、以下に説明する資源とは、チャネル制御部、キャッシュメモリ、ディスク制御部、内部スイッチ、プロセッサ、内部パス、ＨＤＤなどを含む、クラスタ型ストレージ装置が備えている物理的及び論理的な資源を示す。又、第１の実施形態において、クラスタとは、チャネル制御部、キャッシュメモリ、ディスク制御部、内部スイッチ、ＨＤＤなどを含む、ストレージシステムとして機能する１つの単位を示す。
【００１６】
クラスタ１０は、チャネル制御部１１、キャッシュメモリ１３、ディスク制御部１４、及びこれらの資源を内部パス１５を介して接続する内部スイッチ１２から成る。これらの資源は、複数あってもよい。
【００１７】
チャネル制御部１１は、チャネル４を通じてホスト２からの入出力要求を受け取り、この入出力要求の要求種類（例えば、リード／ライト要求）や対象アドレスなどを解釈する。そして、キャッシュメモリ１３の制御データ領域１３２に格納されたディレクトリ情報１３２３（図６にて後述）にアクセスし、ホスト２の要求するデータを読み出すべき、又は格納すべきキャッシュメモリ１３のアドレスを調査する。
【００１８】
ディスク制御部１４は、ホスト２から要求されたデータがキャッシュメモリ１３上に存在しない場合や、すでに存在するデータをＨＤＤ５０に格納する場合、ディスク側チャネル６０を通じてＨＤＤ５０を制御する。この際、ＨＤＤ５０全体としての可用性および性能を向上させるため、ディスク制御部１４はＨＤＤ５０群に対してＲＡＩＤ制御を行う。ＨＤＤ５０は、一般に、磁気ディスク装置であるが、光ディスク等、他の記憶媒体を用いた装置であってもよい。
【００１９】
尚、本図ではクラスタ間パス２０は、各クラスタ１０の内部スイッチ１２に接続される形態を示しているが、各クラスタ１０の一部のチャネル制御部１１にてクラスタ間パス２０を接続しても良い。ここで、一般に、クラスタ間パス２０の総帯域は、内部パス１５の総帯域に比較し小さくなっている。
【００２０】
保守プロセッサ４０は、管理ネットワーク３０を介して各クラスタ１０に接続される。図４では省略しているが、クラスタ１０内においても管理ネットワーク３０は内部スイッチ１２を経てチャネル制御部１１などの各部につながっている。保守プロセッサ４０は、各クラスタ１０の各資源に各種の設定情報のセットや、資源の閉塞などの動作モードの指示を行い、又、各資源が高負荷であるといったことや、障害に陥ったことなどの状態を示す情報の収集も行う。さらに、保守プロセッサ４０は、管理端末５と、収集した情報や各資源に対する設定情報のやりとりを行う。
【００２１】
尚、本稿では、チャネル制御部やディスク制御部などの中にプロセッサを実装する形態を説明しているが、プロセッサをこれらと独立して実装してもよい。
【００２２】
管理端末５は、クラスタ型ストレージシステム１の管理者が管理を行うために用いられる。この際、管理端末５は、保守プロセッサ４０が収集した情報を、管理者がクラスタ型ストレージシステム１の設定や状況の把握が容易になるように処理し、管理者に示す。又、管理者からの設定指示を適切にクラスタ型ストレージシステム１に反映できるように、処理を行う。尚、管理端末５は、クラスタ型ストレージシステム１の内部に設置しても良い。又、保守プロセッサ４０の役割は、チャネル制御部１１やディスク制御部１４のプロセッサが果たしても良い。同様に、管理端末５の処理も、保守プロセッサ４０で行っても、管理端末５をクラスタ型ストレージシステム１の内部に実装しても良い。
【００２３】
図５は、チャネル制御部１１内の構成図である。チャネル制御部１１は、プロセッサ１１１、メモリ１１２、メモリ１１２の制御を行う周辺処理部１１３、チャネルプロトコル処理部１１４、及び内部ネットワークインタフェース部１１７から構成される。プロセッサ１１１は、バス等で周辺処理部１１３に接続される。周辺処理部１１３は、メモリ１１２と接続される他、制御系バス１１６を介してチャネルプロトコル処理部１１４及び内部ネットワークインタフェース部１１７にも接続される。
【００２４】
プロセッサ１１１は、周辺処理部１１３を通してメモリ１１２にアクセスし、メモリ１１２に格納されている制御プログラム１１２１、及び、プロセッサ１１１やチャネル４や内部パス１５に関する論理区画情報１１２２（チャネル４と論理区画の対応関係も含む）に基づき、論理分割を行いつつ、ホスト２からライト要求されたデータをキャッシュメモリ１３に格納し、リード要求されたデータをキャッシュメモリ１３から転送する。その際、キャッシュメモリ１３にライト要求されたデータを格納できる空き領域やリード要求されたデータが存在しない場合は、ディスク制御部１４に対し、キャッシュメモリ１３のデータのHDD５０への書き込み、もしくはHDD５０からのデータの読み込みを行い、キャッシュメモリ１３にデータを格納するように指示を行う。
【００２５】
ここで、プロセッサ１１１に関する論理分割は、プロセッサ１１１にハイパバイザと呼ばれるソフトウェアを実行させても良いし、論理区画情報１１２２に各プロセッサ１１１が処理する論理区画を記載しておき、各プロセッサで実行する論理区画を決めても良い。尚、ハイパバイザとは、ＯＳ層の下に位置し、一つのプロセッサで実行される複数のＯＳを制御するためのソフトウェアであり、本実施例では、制御プログラム１１２１の一部としてもよい。
【００２６】
周辺処理部１１３は、接続されるプロセッサ１１１及びチャネルプロトコル処理部１１４及び内部ネットワークインタフェース部１１７からのパケットを受け、パケットの示す転送先アドレスがメモリ１１２ならばその処理を行い、必要ならばデータを返す。転送先アドレスがそれ以外ならば、適切な転送先に当該パケットを送付する。又、周辺処理部１１３は、保守プロセッサ４０やその他のプロセッサ（当該資源とは別の資源に存在するプロセッサ）１１１がこの周辺処理部１１３に繋がるプロセッサ１１１と通信を行うためのメールボックス１１３１を持ち、例えばチャネル制御部１１のプロセッサ１１１とディスク制御部１４のプロセッサ１１１間で通信や、後述する移行の際などに使用される。
【００２７】
チャネルプロトコル処理部１１４は、チャネル４上のプロトコル制御を行い、クラスタ型ストレージシステム１内部で処理ができるようなプロトコル方式に変換する。チャネルプロトコル処理部１１４は、チャネル４を通じてホスト２からの入出力要求を受けると、その入出力要求に含まれる、ホスト番号やＬＵＮ（Logical Unit Number）やアクセス先アドレスなどをプロセッサ１１１に通知する。プロセッサ１１１はその通知に基づき、キャッシュメモリ内のディレクトリ情報１３２３（図６にて後述）にアクセスし、入出力要求のデータを格納すべきアドレス、又は入出力要求のデータが存在するキャッシュメモリ１３上のアドレスを決定し、論理区画番号の情報を含む転送リストを作成し、当該転送リストをチャネルプロトコル処理部１１４にセットする。転送リストは、キャッシュメモリ１３上のアドレスのリストになっている。
【００２８】
チャネルプロトコル処理部１１４は、データ転送系バス１１５を経て内部ネットワークインタフェース部１１７との間でデータの授受を行い、入出力要求がライトならば、内部ネットワークインタフェース部１１７を通じ、ホストからのデータをリストに記載されたアドレスに書き込んでいく。又、リードならば、同様にリストに記載されたアドレスからデータを読み込み、それをホストに返す。
【００２９】
内部ネットワークインタフェース部１１７は、チャネル制御部１１が、クラスタ型ストレージシステム１内部の他のモジュールと、内部パス１５を経て通信を行う際の、インタフェースとなる部位である。
【００３０】
尚、本明細書では、モジュールとは、チャネル制御部、キャッシュメモリ、内部スイッチ、ディスク制御部、電源等の、クラスタ内の構成要素の一つを示す。一般には、１枚のパッケージ（基盤）が１つのモジュールに当り、交換、増設の単位として用いられる。
【００３１】
内部ネットワークインタフェース部１１７は、システム構成設定時に設定された論理区画情報１１７２を格納する。これには、このチャネル制御部１１における各論理区画の内部パス１５の使用割合に関する情報が含まれている。内部ネットワークインタフェース部１１７中の競合調停部１１７１は、プロセッサ１１１やチャネルプロトコル処理部１１４による内部パス１５の使用の要求を調停する機能を有し、ソフトウェアにより実現されてもよい。この際、論理区画情報１１７２に基づき、各論理区画の使用できる内部パス１５の帯域幅が設定されたものになるように、内部パス１５の使用の許可を与えていく。これを実現するアルゴリズムとして、Weighted Round Robinアルゴリズムなどがある。
【００３２】
ディスク制御部１４もチャネル制御部１１とほぼ同じ構造を持つ。ただし、制御プログラム１１２１の内容と、チャネルプロトコル処理部１１４がＨＤＤ５０との通信を行う点が異なる。ディスク制御部１４は、制御プログラム１１２１を実行して、チャネル制御部１１からの要求、又は一定時間間隔により、キャッシュメモリ１３上のデータをＨＤＤ５０に書き込みを行う。又、ホスト２からリード要求されたデータがキャッシュメモリ１３上に存在していない場合はチャネル制御部１１からの指示を受け、ＨＤＤ５０からデータを読み込み、キャッシュメモリ１３にそのデータを書き込む。尚、チャネル４とディスク側チャネル６０のプロトコルは異なってもよいが、ディスク側チャネル６０上のプロトコル処理を行い、クラスタ型ストレージシステム１内部で処理が出来るように変換する意味ではチャネル制御部１１のチャネルプロトコル処理部１１４と同様である。
【００３３】
図６は、キャッシュメモリ１３に格納されるデータを示した図である。キャッシュメモリ１３は、大別して、データ領域１３１と制御データ領域１３２に分けられる。データ領域１３１は、ＨＤＤ５０に格納された、又は格納されるべきデータを一時的に格納する領域である。制御データ領域１３２は、クラスタ型ストレージシステム１を制御するための情報を格納する領域である。制御データ領域１３２には、論理区画情報マスタ１３２１、構成情報１３２２、ディレクトリ情報１３２３が格納される。
【００３４】
論理区画情報マスタ１３２１は、各チャネル制御部１１や各ディスク制御部１４に存在する論理区画に関する情報のマスタである。例えば、チャネル制御部が障害に陥り、新しいチャネル制御部に交換した場合、元のチャネル制御部に格納されていた論理区画に関する情報は失われ、設定を再構成できない。このような場合に備えて、実装上信頼性を高めることが比較的容易なキャッシュメモリに、元のチャネル制御部の情報を格納しておくのが好ましい。この元の情報をマスタと呼ぶ。
【００３５】
構成情報１３２２は、物理資源の総量や、各論理区画内でどのようにボリュームが設定されているかを示す情報である。ディレクトリ情報１３２３は、どのデータがデータ領域１３１に格納されているかを示す情報である。
【００３６】
キャッシュメモリ１３は、論理区画毎に使用容量を設定できる。ここでは、プロセッサ１１１が転送リストを作成する際に設定する。尚、データ領域１３１と制御データ領域１３２の２つの領域は物理的に別のメモリで実装しても良い。又、内部パス１５を２つの領域それぞれにアクセスするため、物理的に分けて実装しても良い。
【００３７】
図７は、保守プロセッサ４０がクラスタ型ストレージシステム１の各モジュールにアクセスし情報を収集して作成する、物理資源テーブル４０１を示した図である。物理資源テーブル４０１は、各部分が階層的に示されている。
【００３８】
ストレージシステム階層４０１１は、クラスタ型ストレージシステム１を構成するクラスタ１０に関する情報を含んでいる。ここでは、それぞれのクラスタ１０に関する詳細を格納した位置を示すポインタを格納している。そのポインタが示す先にあるものがクラスタ階層４０１２である。又、要素の個数から、その階層に含まれる資源の個数も知ることが出来る。例えば、図７では、クラスタはk個あることが分かる。
【００３９】
クラスタ階層４０１２には、そのクラスタ１０が含んでいるチャネル制御部１１やキャッシュメモリ１３、ディスク制御部１４およびＨＤＤ５０の情報が格納されている。ここでは、ストレージシステム階層４０１１同様に、各部の詳細の情報の格納先を示すポインタとともに、どの冗長電源でその部位を駆動しているかを示す情報も所持している（図１２にて後述）。クラスタ階層４０１２のポインタが示している、さらに下の階層には、チャネル制御部階層４０１３、キャッシュメモリ階層４０１４、ディスク制御部階層４０１５、ＨＤＤ階層４０１６がある。チャネル制御部階層４０１３には、そのチャネル制御部１１が接続されているチャネル４の帯域や、含んでいるプロセッサ１１１の演算能力、接続される内部パス１５の帯域が示されている。キャッシュメモリ階層４０１４には、それぞれの容量および転送能力が示されている。ディスク制御部階層４０１５には、含んでいるプロセッサ１１の演算能力、接続される内部パス１５の帯域が示されている。ＨＤＤ階層４０１６には、その容量や回転数の情報が示されている。
【００４０】
尚、本実施形態では、ディスク側チャネル６０は、HDD５０の性能、個数に依存するため、当該テーブルに記載しなくてもよく、図にも明示していない。しかし、ディスク側チャネル６０の情報がHDD５０の性能、個数に依存しない後述の第２の実施形態などについては、ディスク側チャネル６０に関しても他の資源と同様に情報を格納し、割り当てを行うのが望ましい。
【００４１】
図８は、管理者が資源を各論理区画に割り当てる際に、管理端末５が管理者に提供するグラフィカルユーザーインタフェース（以下、ＧＵＩと称する）の例を示した図である。図７のように各資源に関して収集した情報を処理し、資源の合計値といった理解容易な情報をこの図８のＧＵＩで提示し、管理者に論理区画の構成の設定を促す。
【００４２】
論理区画数欄５０１は、このクラスタ型ストレージシステム１で分割する論理区画数を管理者に入力させる欄である。この数により以下で設定できる論理区画数も決まる。
【００４３】
設定モジュール欄５０２は、資源を割り当てるモジュールを、管理者に選択させるための欄である。ここでは、チャネル制御部１１、キャッシュメモリ１３、ディスク制御部１４、ＨＤＤ５０から選択する。
【００４４】
詳細指定チェックボックス５０３は、管理者が、各モジュールの詳細も決定する場合にチェックするものである。
【００４５】
総合割振り欄５０４は、管理者が詳細を決定しない場合に、論理区画割り当てを入力する欄で、その場合は、ここの決定と同様の値が以下の５０５、５０６、５０７にも反映される。総合割振り欄５０４は、論理区画数欄５０１に入力された論理区画の数だけ枠を持ち、管理者はその枠をドラッグすることで各論理区画に割り当てる資源の割合を設定する。
【００４６】
ここで、この総合割振り欄５０４において１００％で示されるものは、各クラスタ１０ではなくクラスタ型ストレージシステム１全体のチャネル制御部１１の資源の１００％を示していることに注意したい。又、管理者がそのモジュール内の各資源について詳細に決定したい場合は、詳細指定チェックボックス５０３にチェックして、さらにチャネル割振り欄５０５、プロセッサ割振り欄５０６、内部パス割振り欄５０７を用いて、総合割振り欄５０４同様の入力方法にて、詳細に設定を行う。この際、総量欄５０８には各資源のクラスタ型ストレージシステム１全体の合計の資源量が表示されている。
【００４７】
尚、図８では、設定モジュール欄５０２においてチャネル制御部１１が選択されている場合を示しているため、５０４から５０７に表示されるものは、チャネル割振り欄５０５、プロセッサ割振り欄５０６、内部パス割振り欄５０７となっているが、キャッシュメモリ１３が選択されている場合はメモリ容量割振り欄が、ディスク制御部１４が選択されている場合はプロセッサ割振り欄及び内部パス割振り欄が、そして、ＨＤＤ５０の場合は容量割振り欄及び個数割振り欄が示される。
【００４８】
管理者が設定の入力を終えると、提出ボタン５０９により設定を入力したことを管理端末５に通知する。又、取り消しボタン５１０により、以前の設定に戻すように管理端末５に通知することもできる。
【００４９】
図３は、論理区画資源割り当てテーブル３０１を示す図である。当該テーブル３０１は、管理端末５において管理者が決定した各論理区画の資源の占有量を、表として示したものであり、管理端末５に格納される。先述のように、保守プロセッサ４０が、図７のテーブルを作成し、そのテーブルをもとに、管理端末５が図８のようなＧＵＩを通して管理者に資源の割り当てを促し、その結果として作成されたものが図３のテーブルとなる。そして、この作成されたテーブルを、管理端末５が保守プロセッサ４０に配信する。
【００５０】
論理区画資源割り当てテーブル３０１は、各論理区画番号を列（１０１、１０２、１０３）に、各資源の割り当ての割合を行（７０１〜７０７）に示す。例えば、チャネル制御部１１に対する資源としては、チャネル数７０１、プロセッサパワー７０２、内部パス帯域７０３がある。このテーブルでは、それぞれの資源において、クラスタ型ストレージシステム１の全てを合計したものを１００％として表している。例えば、全体で１００ＧＢのキャッシュメモリ容量をもつクラスタ型ストレージシステム１において、図３のキャッシュメモリ容量７０４の割り当てを行った場合、論理区画１には２５ＧＢ、論理区画２には４０ＧＢ、論理区画３には２５ＧＢを割り当てることになる。これら論理区画の使用量は９０ＧＢであり、残りの１０ＧＢは、将来、新たな論理区画を追加する場合のためや、後で述べる論理区画移行時のための予備領域として用いても良い。又、資源を割り当てて論理区画の中で運用しなくとも良いユーザに対する領域として用いても良い。ここでは、管理者に、クラスタ型ストレージシステムの各機種に依存している内部構成を意識させないことで、管理をより容易にするため、クラスタ１０毎の資源量ではなく、このクラスタ型ストレージシステム１全体の資源量を１００％として示していることに注意したい。
【００５１】
図９は、管理端末５に格納される物理資源割り当てテーブルの一部を示した図である。
【００５２】
当該テーブルの一部は、図８のようなＧＵＩを通じて入力された設定により図３のテーブルが作成された後、後述の図１０を用いて述べるような処理を行い、各モジュールに配信できるようにしたものである。又、図９は、番号が１であるクラスタ１０に関して示したものであり、実際にはクラスタ型ストレージシステム１に存在するクラスタ１０の数だけ、このテーブルも存在する。物理資源割り当てテーブルは、論理区画１０１、１０２、１０３に関する列と、各資源に関する行を持つ。
【００５３】
各資源は、図７で示したものと同様である。そのそれぞれについて、各論理区画に関する割り当てが、割合で記入されている。例えば、番号が１のチャネル制御部の持つ、番号が１のチャネルに関しては、論理区画１に１００％が割り当てられている。又、同じチャネル制御部の、番号が１の内部パスの帯域に関しては、論理区画１に５０％、論理区画３に５０％割り当てられている。この番号が１のチャネル制御部に関しては、全ての資源に関して論理区画２に対する割り当てが０％であるため、論理区画２は割り当てられていないことが分かる。
【００５４】
以上を整理すると、まず、保守プロセッサ４０が、各モジュールから収集した情報を、自身の有する図７のテーブルに書き込んでいき、書き込んだテーブルの情報を、管理端末５に送信する。そして、管理端末５は、その情報をもとに、図８のＧＵＩを通して、管理者に資源の割り当てを促し、管理者から入力された結果を、自身の有する図３のテーブルに書き込む。その後、管理端末５は、図１０の処理を通して、図９のテーブルを作成する。これら一連の処理は、管理者がストレージシステムの設定を行うために、図８のGUIの提供なども含む管理者用のソフトウェアが立ち上げられた際に開始される。
【００５５】
図１０は、管理者により論理区画に割り振る資源量が設定された後に、管理端末５により実行され、図９の物理資源割り当てテーブルを作成するための処理のフロー図である。
【００５６】
管理者により設定が行われ、図８の提出ボタン５０９が押された後に、この処理が開始され、１つの論理区画が複数のクラスタ１０をまたいで資源を割り当てられることを回避する処理を行う。
【００５７】
管理端末５は、複数の論理区画において、要求されている資源（例えばキャッシュメモリ容量）が多い順から複数の論理区画を並べた場合の、順位を算出する。ここで、ｋを論理区画数、順位がｘの論理区画番号をL［ｘ］とする。そして、1からkのxについて、順位がxの論理区画番号をL［ｘ］に代入する（ステップ９００１）。例えば、図３では、論理区画が３つある（ｋ＝３）。又、キャッシュメモリ容量について考えると、論理区画番号１の論理区画（以下、「論理区画１」と表現する）が２５％、論理区画２が４０％、論理区画３が２５％を有するように割り当てるため、資源の大きい順は、論理区画２、論理区画１と論理区画３となる。但し、この場合、論理区画１と論理区画３は、順位が同じとなっている。このような場合には、他の資源に対する要求も加味して、順位を算出する。図３では、全体的に論理区画３の割合が論理区画１より大きいため、順位は、１位が論理区画２（L[1]=2）、２位が論理区画３（L[2]=3）、３位が論理区画１（L[3]=1）となる。尚、同じ順位の論理区画がある場合、それぞれの資源毎に評価関数を作成し、評価関数の値の総和が大きい順に順位を決定してもよい。
【００５８】
次に、ステップ９００３〜９０１１の処理（以下、調査と称する）を行った回数cnt（初期値０）を１加算する（ステップ９００２）。
【００５９】
次に、クラスタ数をｎとした場合、１からnの全てのyに関して、まだステップ９００４〜９０１１の処理がされていない論理区画に割り当てることができる資源の割合CL_R[y]に、番号yのクラスタ１０（以下、「クラスタ１０−y」と表現する）が保持している資源量を代入する（ステップ９００３）。例えば、図２のような２つのクラスタ(n=2)を備えるクラスタ型ストレージシステム１において、全体の保持するキャッシュメモリ容量を１００GB、クラスタ１０−１及びクラスタ１０−２の保持するキャッシュメモリ容量をそれぞれ５０GB、５０GBとすると、それぞれのクラスタが５０パーセントずつの資源を持っていることになる。従って、CL_R[1]、CL_R[2]にそれぞれ５０を代入する。
【００６０】
次に、論理区画L[i]（iは整数）に要求されている資源量LP_R[L[i]]が１つのクラスタ１０の持つ資源量より大きいか否かを判断する。大きければステップ９００９に、以下ならばステップ９００５に移る（ステップ９００４）。ステップ９００４〜９０１１のループの初回（i=1）は、L[1]=2であるから、論理区画2に関して判断する。
【００６１】
次に、現在着目している論理区画L[i]に要求されている資源量を割り当てることが可能なクラスタ１０（CL_R[y]＞LP_R[L[i]]を満たすクラスタ１０）を列挙する（ステップ９００５）。この条件を満たすクラスタ１０が存在しなければステップ９００７の、存在していればステップ９００８の処理に移る（ステップ９００６）。条件を満たすクラスタ１０があれば、その条件を満たすクラスタ１０の中から１つを乱数により（所定の基準を設けてもよい）、選択する（ステップ９００８）。尚、条件を満たすクラスタ１０が単数の場合は、当該クラスタ１０しかないので、乱数を用いる必要はない。その後、論理区画L[i]が、選択されたクラスタ１０に割り当てられ（クラスタ内部ではそれぞれの番号が小さい順に要求された資源を割り当てていく）、CL_R[y]（yは選択されたクラスタ番号）から割り当てた資源量を減算する（ステップ９０１０）。例えば、上記考察により、クラスタ１０−１、クラスタ１０−２ともに論理区画２に要求される条件を満たしているが（CL_R[1]=CL_R[2]=50> LP_R[2]=40）、ここでは、乱数等により、クラスタ１０−２が選ばれたとする。そこで、論理区画２がクラスタ１０−２に割り当てられる。そして、CL_R[2]から割り当てた分40を減算しCL_R[2]=10とする。
【００６２】
同様に、i=2〜kについても調査を行い（ステップ９０１１）、i=kの調査が終われば、処理を終了する。例えば、上記考察では、ループの2回目（i=2）は、論理区画3（L[2]=3）に関して行う。今回はクラスタ１０−１のみが条件を満たすので（クラスタ２に関してはCL_R[2]=10<LP_R[3]=25で条件を満たさず、クラスタ１０−１に関してはCL_R[1]=50>LP_R[3]=25で条件を満たす）、クラスタ１０−１が選択され、論理区画３が割り当てられる。CL_R[1]の減算を行い、その結果CL_R[1]=50-25=25になる。さらに３回目（i=3）は残りの論理区画1（L[3]=1）に関して行う。LP_R[1]も同様の処理、判定が行われ、クラスタ１０−１が条件を満たすため（CL_R[1]=25 ≧LP_R[1]=25、CR_R[2]=10<LP_R[1]=25）、論理区画1にも、クラスタ１０−１が割り当てられることになる。以上より、論理区画1と論理区画3はクラスタ１０−１に、論理区画2はクラスタ１０−２に割り当てられる。
【００６３】
ステップ９００６にて、条件を満たすクラスタ１０が見つからなかった場合は、調査をやり直す。cntが調査をやり直す回数の上限値cnt_th未満であるかを判断し、そうであればステップ９００２から再調査を行う。cnt_thに達していれば、条件を満たす割り当てが存在しないとしてステップ９００９の処理に移る（ステップ９００７）。
【００６４】
上記のように、条件を満たす論理区画とクラスタの組み合わせは乱数により選択するので、i=1、2…と処理を繰り返す中で、条件を満たす組み合わせが見つからない可能性がある。一方、何度か処理を繰り返す中で、条件を満たす組み合わせが見つかる可能性もある。但し、例えば、クラスタ１０−１、１０−２のキャッシュメモリ容量がそれぞれ５０、５０で、論理区画１、２、３にそれぞれ４０、３０、３０を割り当てたいような場合は、何度チャレンジしても条件を満たすことはあり得ない。このような場合にも、条件を満たす組み合わせが見つかるまで調査を行わせれば、無限ループに陥ってしまうため、上記のように、調査をやり直す回数の上限値cnt_thを設け、cnt_th回繰り返しても条件を満たす組み合わせが見つからない場合には、これ以上チャレンジしても不可能と判断する。cnt_thの値は例えば、cnt_th回繰り返しても数秒以内となるような10や1000といった数にする。
【００６５】
尚、乱数の系列によってはすべての論理区画に対して条件を満たす組み合わせが得られることもある。そのため、次のような場合には、調査のやり直しを行う。例えば、クラスタ１０−１、１０−２がそれぞれ資源５０、５０を持っていて、それらを５つの論理区画（LP_R[1]=30, LP_R[2]=20, LP_R[3]=20, LP_R[4]=15, LP_R[5]=15）で区切る場合を考える。この際、クラスタ１０−１には論理区画１と２を、クラスタ１０−２には論理区画３と４と５を割り当てる、という最適な解が存在する。しかし、乱数を用いることにより、クラスタ１０−１には論理区画１と４が、クラスタ１０−２には論理区画２と３が割り当てられてしまった場合、論理区画５は、クラスタ間をまたがらざるを得ない。このような場合に、調査をやり直すことによって、上記のような最適な解にたどり着くことができる。
【００６６】
次に、ステップ９００４で１つの論理区画が１つのクラスタ１０の持つ資源量よりも大きい資源を要求されたと判断した場合や、ステップ９００７で条件を満たす割り当てが存在しないと判断した場合は、クラスタ番号の小さい空き領域から順次資源を割り当てていき、ステップ９０１０以降の処理を行っていく（ステップ９００９）。即ち、ステップ９００９は、一つの論理区画がクラスタ間をまたがらざるを得ない場合の処理を表している。しかし、そのような場合でも他の論理区画は一つのクラスタに収めるよう、ステップ９００１にて、大きい論理区画から順に割り当てを実行している。
【００６７】
尚、上記具体例による説明では、キャッシュメモリ容量について着目したが、チャネル制御部内のチャネル、ディスク制御部内のプロセッサといったクラスタ以下の階層の持つ資源それぞれも加味して、ステップ９００１では、規模の大きい論理区画の順位を算出し、ステップ９００４やステップ９００６の判定では、論理区画に要求されている、すべての資源の種類に対して条件を満たしているかを判定する。例えば、チャネル、内部パス、及びキャッシュについて論理区画の割り当てを要求されている場合には、チャネル、内部パス、及びキャッシュについての処理を行ってから、次のループに移る。どの資源から処理を行うかは、ランダムに行ってもよいし、所定の基準を設けて行ってもよい。
【００６８】
この一連の処理により論理区画に対する資源の割り当てが決定され、図９に示した物理資源割り当てテーブルが作成される。管理端末５は、この結果を保守プロセッサ４０に送信する。保守プロセッサ４０は、この結果に基づき各モジュールの論理区画情報１１２２、１１３１、論理区画情報マスタ１３２１などを変更し、プロセッサ１１１に新しい構成で処理を行うよう通知する。
【００６９】
図１は、本発明による割り当てを示した論理区画の図である。以上に述べた処理により、図２の場合と異なり、１つの論理区画は、１つのクラスタ１０内に割り当てられている。こうすることで、十分な帯域を確保できないクラスタ間パス２０の使用を抑制でき、クラスタ間パス２０の限られた帯域による性能劣化を避けることができる。
【００７０】
尚、本図で示したように条件を満たす組み合わせをランダムに見つけてもよいし、遺伝的アルゴリズムやニューラルネットワークなどを用いてこの最適化問題を解決してもよい。しかし、このように一般的な最適化問題を解くアルゴリズムでは、大規模なメモリ容量が必要となり、統計的手法を用いたアルゴリズムでは、実数の計算及びパラメータの調整が必要になる。従って、本図に示したアルゴリズムを用いれば、大規模なメモリ容量や実数の計算等が不要になる、という効果がある。
【００７１】
図１１は、管理者が資源を各論理区画に割り当てる際に、管理端末５が管理者に提供するＧＵＩの別の例を示した図である。図８と異なり、各クラスタ１０の総資源量を集計することにより、クラスタ１０の資源量を示し、管理者により論理区画を割り当てるクラスタ１０を決定する。この場合、クラスタ構成に関する知識を備えた管理者を前提としているため、図１０に示したような組み合わせを解決する処理は不要になる。
【００７２】
以上の処理により、図１に示したような論理区画の割り当てを実現することができる。以降では、こうした論理区画割り当てを行った場合に、さらに可用性を高めるクラスタ型ストレージシステム１と、その制御方法を述べる。まず、前提となる１つのクラスタ１０の可用性について説明する。
【００７３】
図１２は、クラスタ１０の内部を示した図である。クラスタ型ストレージシステム１の各部は冗長性を持ち、電源に関しても二重化されている。各クラスタの電源部７１Ａ、７１Ｂには、それぞれ商業電源などの２系統の外部電源７０Ａ、７０Ｂから給電されている。電源部７１Ａ、７１Ｂは外部電源からの電力を、クラスタ１０内部のモジュールが動作できる電圧に変換し、各モジュールに供給している。その際、クラスタ１０を構成するモジュールの半数は電源部７１Ａから、もう半分は電源部７１Ｂから給電されるようにする。こうすることで、例えば片方の電源部が故障しても、そのクラスタ１０内のもう一方の電源部から給電される半分のモジュールは動作が可能で運転を継続できる。尚、ＨＤＤ５０に関しては単体で２系統の電源からの入力をサポートしている。又、電源部７０Ａ、７０Ｂは管理ネットワーク３０を通じて保守プロセッサ４０と状態などの情報のやり取りが可能である。
【００７４】
以上のように、１つのクラスタ１０の内部でも冗長性を持ち、高い可用性を備えるが、１つのモジュールに障害が発生し、冗長性を失った場合、さらにもう一方のモジュールに障害が発生するとシステムがダウンしてしまう。そこで、一方のモジュールの障害により、冗長性が失われた場合、冗長性を保っている他のクラスタ１０にて制御を移行する実施例を説明する。
【００７５】
図１３は、あるクラスタ１０に障害が生じたときに正常なクラスタ１０に制御を移行することができる構成を取った場合の例を示した論理区画の図である。ここでは、特に、クラスタ１０間で制御を移行する場合に備えて、各論理区画に対するＨＤＤ５０のバックアップ領域１０１１、１０２１、１０３１が用意されている。
【００７６】
この構成では、あるクラスタ１０を閉塞した場合、閉塞したクラスタ１０が制御していたＨＤＤ５０へのアクセスができなくなってしまうため、制御を正常なクラスタ１０に移行する時に、正常なクラスタ１０の配下のＨＤＤ５０にデータの複製を格納して、コピーしたデータへのアクセスが継続できるようにしなければならない。そのため、コピー先の領域であるバックアップ領域１０１１、１０２１、１０３１を予め確保しておく必要がある。この図のように、バックアップ領域はバックアップもとの論理区画が割り当てられているクラスタ１０と別のクラスタ１０に確保しなくてはならない。例えば番号２のクラスタ１０に割り当てられている論理区画３（１０３）に対しては、番号1のクラスタ１０にバックアップ領域１０３１を設ける。
【００７７】
図１４は、図１３の状況においてクラスタ１０−kに障害が起こり、論理区画３の処理を正常なクラスタ１０−１に移行した場合を示した論理区画の図である。
【００７８】
図１３中のバックアップ領域１０３１に論理区画３のボリュームを移行し、さらにその他の論理区画１（１０１）、論理区画２（１０２）に割り当てられていた資源を、論理区画３（１０３）に対しても再び割り当てなおし、クラスタ型ストレージシステム１の全論理区画に対して運転の継続を保証している。
【００７９】
図１５は、障害を検知した場合の処理を示すフロー図である。この場合は管理端末５がこの処理を実行する。
【００８０】
モジュールに障害が起こると、保守プロセッサ４０が障害の発生を検知し、障害の起こったモジュールの特定や障害の程度を調査する。その後、保守プロセッサ４０は管理端末５に報告し、管理端末５は障害の発生したモジュールを特定し、障害の程度を確認する（ステップ１５０１）。次に、図１６の移行契機テーブルの該当する障害モジュール１６０１の移行条件欄１６０２に示された障害の程度と報告された障害の程度を比較する。この障害状況が移行契機テーブル１６００に定められたものと同程度もしくはさらに重大か判断する（ステップ１５０２）。程度が低ければ、管理端末５としての処理は終了する。同程度もしくはさらに重大ならば、障害のクラスタ１０−ｋからクラスタ１０−１へ処理を移行するように保守プロセッサ４０を通じて指示を行う（ステップ１５０３）。
【００８１】
図１６は、移行契機テーブルの例を示した図である。この移行契機テーブルは管理端末５に保持され、管理者の冗長性に対するポリシーに応じて、管理者が内容を変更する。
【００８２】
移行契機テーブル１６００は、障害モジュール欄１６０１と、移行条件欄１６０２を保持する。ある障害が発生した場合、その障害が発生したモジュールと、対応する障害モジュール欄１６０１と組の移行条件欄１６０２以上に重大な障害の場合は、その障害の発生したクラスタ１０を閉塞するものとし、処理の正常クラスタ１０への移行を開始させる。例えば、電源部に障害が発生した場合、1モジュールが障害になった時点で移行を開始させる。又、チャネル制御部１１に障害が発生した場合は、移行条件欄１６０２が「維持」であるため、移行を行わない。
【００８３】
尚、チャネル制御部１１内のプロセッサのいくつに障害がおきたら移行する、というように、一つのモジュールの中に関して閾値を設けてもよい。又、それぞれのクラスタ１０について同じ移行契機テーブル１６００を用いても良いし、クラスタ１０毎に個別の移行契機テーブル１６００を用いても良い。後者は特に、クラスタ１０毎にモジュール数などの構成が異なる場合は有効である。
【００８４】
図１７は、管理端末５が障害のクラスタ１０から正常なクラスタ１０へ処理を移行するように指示を行う際に、移行後の割り当てを決定するフロー図である。
【００８５】
まず、障害の起こったクラスタ１０に割り当てられていた論理区画L[x]を列挙する（ステップ１７０１）。ここで、列挙した論理区画数をuとする。次に、変数CL_R[y]に移行先クラスタ１０―ｙに割り当てられている資源量を代入する（ステップ１７０２）。以降、x=1から順次、ステップ１７０３から１７０６の処理を行う。論理区画L[x]の移行先のクラスタyに対し、L[x]を割り当てる。具体的にはCL_R[y]に論理区画L[x]に割り当てられていた資源量LP_R[L[x]]を加算する（ステップ１７０３）。この際、CL_R[y]がクラスタ１０―ｙが持つ資源量MCL_R[y]を上回っているかを判断する（ステップ１７０４）。尚、MCL_R[y]は、yに応じて定まる定数である。例えば、図１において、クラスタ１０−１が障害に陥りクラスタ１０−２に移行するとすれば、先述の考察から、論理区画１及び３はクラスタ１０−１に、論理区画２はクラスタ１０−２に、それぞれ割り当てられていたので、列挙されるのは、論理区画１（＝L[3]）及び論理区画３（＝L[2]）である。又、キャッシュメモリ容量に関しては、CL_R[2]=元からの資源量50 + 論理区画1の資源量25 + 論理区画3の資源量25 = 100となり、クラスタ１０−２の持つ資源量MCL_R[2]は50である。CL_R[y]が上回っていれば、そのままの資源量での割り当てが不可能であるため、移行先のクラスタ１０−yに割り当てられている各論理区画に資源が割り当てられるように、論理区画に要求されている資源の割合を縮小する。この縮小率r_sは、MCL_R[y]/CL_R[y]で計算する。そして、そのクラスタ１０に割り当てられた各論理区画に要求されている資源に縮小率r_sを乗ずる（ステップ１７０５）。上の例では、r_s=50/100=0.5であり、クラスタ１０−２に割り当てられる論理区画１、２、３に要求されている資源を0.5倍することになる。
【００８６】
同様に、x=2〜uについても、ステップ１７０３〜１７０５の処理を行い（ステップ１７０６）、x=uの調査が終われば、処理を終了する。全ての調査が終了した場合、この結果を、保守プロセッサ４０を通じて各モジュールに配信し（ステップ１７０７）、データの移行を行うため、バックアップ領域にボリュームのコピーを行うように指示を行う（ステップ１７０８）。それらの終了後、移行先クラスタ１０のプロセッサ１１１に、移行を通知し、必要ならば、ホストにチャネルの変更を通知する（ステップ１７０９）。このようにして、クラスタ型ストレージシステム１の可用性を向上させることができる。
【００８７】
以上では、すでに割り当てられている領域も再割り当てを行い、移行後の資源を確保したが、HDDについては、予めスペアを用意しておくのが通常であるため、通常、上記のように資源を縮小しても、データが移動できなくなることはない。尚、割り当てを行わないクラスタ１０を用意し、移行時のためのスペアのクラスタ１０を用意してもよい。これにより、割り当て資源量の縮小をせずに運転が継続できるため、あるクラスタ１０に障害が発生した場合も性能低下を防ぐことが可能になる。
（第２の実施形態）
第１の実施形態では、ＨＤＤ５０にバックアップ領域を予め設ける例を説明してきたが、図１８のようなクラスタ型ストレージシステム１の構成を用いれば、バックアップ領域の確保の必要がなくなる。
【００８８】
図１８は、第２の実施形態の計算機システムの構成の図である。図４との相違は、ディスク制御部１４とＨＤＤ５０がスイッチ８０（ＳＡＮスイッチでもよい）を介して接続されていることである。これにより、特定のＨＤＤ５０へのアクセスがクラスタ１０で限定されることはなくなる。こうした場合は、外部ストレージシステム８１（クラスタ型ストレージシステムでもよい）を接続してデータの記録先として用いることもできる。尚、第２の実施形態におけるクラスタは、ＨＤＤを含まない。ＨＤＤは、クラスタとは別に、スイッチを介して接続されているからである。
【００８９】
図１９は、図１８の計算機システムの構成を用いた場合の、管理端末５が障害のクラスタ１０から正常なクラスタ１０へ処理を移行するように指示を行う際に、移行後の割り当てを決定するフロー図である。図１７の場合と異なり、バックアップ領域を設けておく必要がなく、移行先のクラスタ１０を移行時に決定することができる。
【００９０】
まず、障害の起こったクラスタ１０に割り当てられていた論理区画L[x]を列挙する（ステップ１９０１）。ここで、列挙した論理区画数をuとする。次に、変数CL_R[y](1≦y≦n)に各クラスタに割り当てられている資源量を代入する（ステップ１９０２）。そして、各クラスタの空き資源の合計が障害の起こったクラスタ１０に割り当てられていた資源量よりか大きいか否かを判断する（ステップ１９０３）。空き資源量のほうが大きいならば、他の論理区画に影響を与えずに移行することができるので、各クラスタの空き資源を障害クラスタの論理区画に割り振る（ステップ１９１０）。小さいならば、以降、x=1から順次、ステップ１９０４から１９０７の処理を行う。最も大きい空き資源を持つクラスタ１０−yを論理区画L[x]の移行先として選択し、L[x]を割り当てる。具体的にはCL_R[y]に論理区画L[x]に割り当てられていた資源量LP_R[L[x]]を加算する（ステップ１９０４）。この際、CL_R[y]がクラスタ１０―yが持つ資源量MCL_R[y]を上回っているかを判断する（ステップ１９０５）。上回っていれば、移行先のクラスタ１０―xに割り当てられている各論理区画に資源が割り当てられるように、論理区画に要求されている資源の割合を縮小する。この縮小率r_sは、MCL_R[y]/CL_R[y]で計算する。そして、そのクラスタ１０に割り当てられた各論理区画の要求資源に縮小率r_sを乗ずる（ステップ１９０６）。
【００９１】
同様に、x=2〜uについても、ステップ１９０４〜１９０７の処理を行い（ステップ１９０７）、x=uの調査が終われば、処理を終了する。全ての調査が終了した場合は、この結果を、保守プロセッサ４０を通じて各モジュールに配信する（ステップ１９０８）。それらの終了後、移行先クラスタ１０のプロセッサ１１１に、移行を通知し、必要ならば、ホストにチャネルの変更を通知する（ステップ１９０９）。このようにして、クラスタ型ストレージシステム１の可用性を向上させることができる。
【００９２】
さらに、突然のクラスタ１０全体が障害に陥ることに備えることもできる。その場合は、キャッシュメモリ１３にも、バックアップ領域を設け、通常運転時にも、バックアップ領域を持つクラスタ１０にもデータの２重化を行っておく。２重化を行う際も、ホストからの入出力要求がリードの場合は１つのクラスタ１０内で処理ができ、ライトの場合のみクラスタ間パス２０を用いて複数クラスタ１０にアクセスするので、クラスタ間パス２０を用いることの性能低下は抑えられる。
【００９３】
図２０は、そのような場合のホストからライトの入出力要求を受けた場合のフロー図である。チャネル制御部１１のプロセッサ１１１は、入出力要求の要求先アドレスのデータがキャッシュメモリ１３上にあるか判断する。ある場合はステップ２００４の処理を行う。ない場合は、まず、そのチャネル制御部１１の所属するクラスタ１０のキャッシュメモリ１３にライトデータを書き込む領域を確保し（ステップ２００２）、バックアップ領域を持つクラスタのキャッシュメモリにもライトデータを書き込む領域を確保する（ステップ２００３）。領域が確保された後で、そのチャネル制御部１１が所属するクラスタ１０及びバックアップ領域を持つクラスタ１０のキャッシュメモリ１３にライトデータを書き込む（ステップ２００４）。その書き込みの完了の確認後、ホストにライト完了の報告を返す（ステップ２００５）。特にステップ２００３及びステップ２００４で他のクラスタ１０のキャッシュメモリにもデータを書き込む点がその他の実施例とは異なる点である。
【００９４】
尚、本稿では、クラスタとストレージシステムとを区別するために、「クラスタ型ストレージシステム」という言葉を使用したが、一般には、複数クラスタを含むシステム自体をストレージシステムと呼ぶこともある。又、本稿では、クラスタ間をまたがることをボトルネックとして説明したが、それ以外のボトルネックが存在するアーキテクチャにおいても、本発明が成り立つことはいうまでもない。
【図面の簡単な説明】
【００９５】
【図１】本発明による割り当てを示した論理区画を示す図。
【図２】本発明の課題を示した論理区画を示す図。
【図３】論理区画資源割り当てテーブルを示す図。
【図４】第１の実施形態の計算機システムの構成図。
【図５】チャネル制御部１１内の構成図。
【図６】キャッシュメモリ１３内の構成図。
【図７】物理資源割り当てテーブルを示す図。
【図８】管理者が資源を各論理区画に割り当てる際の、ＧＵＩの例を示す図。
【図９】物理資源割り当てテーブルの一部を示す図。
【図１０】物理資源割り当てテーブルを作成するためのフロー図。
【図１１】図８とは別の、ＧＵＩの例を示す図。
【図１２】１つのクラスタ１０の内部を示す図。
【図１３】障害に備えて、正常なクラスタ１０に制御を移行する構成を取った場合の例を示す論理区画の図。
【図１４】クラスタ障害の際、正常クラスタに処理を移行した場合を示す論理区画の図。
【図１５】障害を検知した場合の処理を示すフロー図。
【図１６】移行契機テーブルを示す図。
【図１７】管理端末５が移行後の割り当てを決定するフロー図。
【図１８】第２の実施形態の計算機システムの構成図。
【図１９】第２の実施形態の、管理端末５が移行後の割り当てを決定するフロー図。
【図２０】障害に備えて、ホストからライトの入出力要求を受けた場合のフロー図。
【符号の説明】
【００９６】
１；クラスタ型ストレージシステム、２；ホスト、３；ＳＡＮスイッチ、４；チャネル、５；管理端末、１０；クラスタ、１１；チャネル制御部、１２；内部スイッチ、１３；キャッシュメモリ、１４；ディスク制御部、１５；内部パス、２０；クラスタ間パス、３０；管理ネットワーク、４０；保守プロセッサ、５０；ＨＤＤ、６０；ディスク側チャネル
【図１】
2006285808.tif 000003
【図２】
2006285808.tif 000004
【図３】
2006285808.tif 000005
【図４】
2006285808.tif 000006
【図５】
2006285808.tif 000007
【図６】
2006285808.tif 000008
【図７】
2006285808.tif 000009
【図８】
2006285808.tif 000010
【図９】
2006285808.tif 000011
【図１０】
2006285808.tif 000012
【図１１】
2006285808.tif 000013
【図１２】
2006285808.tif 000014
【図１３】
2006285808.tif 000015
【図１４】
2006285808.tif 000016
【図１５】
2006285808.tif 000017
【図１６】
2006285808.tif 000018
【図１７】
2006285808.tif 000019
【図１８】
2006285808.tif 000020
【図１９】
2006285808.tif 000021
【図２０】
2006285808.tif 000022