[go: up one dir, main page]

JP2006285808A - ストレージシステム - Google Patents

ストレージシステム Download PDF

Info

Publication number
JP2006285808A
JP2006285808A JP2005107012A JP2005107012A JP2006285808A JP 2006285808 A JP2006285808 A JP 2006285808A JP 2005107012 A JP2005107012 A JP 2005107012A JP 2005107012 A JP2005107012 A JP 2005107012A JP 2006285808 A JP2006285808 A JP 2006285808A
Authority
JP
Japan
Prior art keywords
cluster
storage system
logical partition
control unit
resources
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
JP2005107012A
Other languages
English (en)
Inventor
Takahito Nakamura
崇仁 中村
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 JP2005107012A priority Critical patent/JP2006285808A/ja
Priority to US11/139,186 priority patent/US7565508B2/en
Publication of JP2006285808A publication Critical patent/JP2006285808A/ja
Priority to US12/499,909 priority patent/US7953927B2/en
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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2002Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant
    • G06F11/2007Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication media
    • G06F11/201Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication media between storage system components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2089Redundant storage control functionality
    • G06F11/2092Techniques of failing over between control units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space
    • 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/061Improving I/O performance
    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】クラスタ間をまたがる相互結合網の帯域は、クラスタ内の相互結合網の帯域に比べ、はるかに狭い。即ち、単純にクラスタ型ストレージシステムに論理分割技術を適用すると、クラスタ間をまたがって論理区画を形成し、割り当てた資源量に応じた性能の論理区画を保証できない。
【解決手段】第1のクラスタと第2のクラスタを備えるストレージシステムにおいて、前記クラスタ型ストレージシステムが備える資源を論理的に分割する際、1つの論理区画に対して、第1のクラスタ内の資源を割り当てる。又、第1及び第2のクラスタが、スイッチを介してディスク装置に接続される構成であってもよい。更に、第1のクラスタに障害が起きた際、第2のクラスタが、第1のクラスタの処理を継続できるような構成をとってもよい。
【選択図】図1

Description

本発明は、ストレージシステムに関し、特に、その論理分割の方法に関する。
データセンタなどの情報ビジネスの現場において、ストレージシステムの総所有コストの削減を鑑み、複数のストレージシステムで運用していたものを、大規模な単一のストレージシステムに置き換え、統合するストレージコンソリデーションが行われるようになってきている。ここで、ストレージシステムとは、データを格納するハードディスクドライブ(以下、HDDと称する)と、それを制御する記憶制御装置からなるシステムを示す。
ストレージコンソリデーションを推進する技術として、ストレージ論理分割技術がある。この技術は、1つのストレージシステムを複数の論理区画(Logical Partition;LPARともいう)に分割し、ユーザからは個別の複数のストレージシステムが存在しているように見せるものである(非特許文献1参照)。これにより、ストレージシステムの管理者が1つの物理的なストレージシステムの管理に専念でき、管理コストの削減や、物理的な設置場所の床面積も削減でき、結果として総所有コストが削減される。
一方、小規模から超大規模な構成まで、同一の高機能、高信頼性のアーキテクチャで対応可能な、スケーラビリティのある構成のストレージシステムを提供する技術がある(特許文献1参照)。これは、複数台の比較的小規模なストレージシステム(以下、クラスタと称する)を相互結合網により接続し、1つのシステムとして運用するものである。このように、複数台のクラスタからなるシステムを、クラスタ型ストレージシステムと呼ぶ。
特開2001−256003号公報 IBM Corporation, IBM TotalStorage DS8000, 2004年 http://www-1.ibm.com/servers/storage/disk/ds8000/pdf/ds8000-datasheet.pdf
以上の技術動向を鑑みると、今後は、クラスタ型ストレージシステムに論理分割技術を適用することが考えられるが、単純に適用しただけでは、以下のような課題が生じる。
クラスタ型ストレージシステムにおいて、クラスタ間をまたがる相互結合網の帯域は、クラスタ内の相互結合網の帯域に比べ、はるかに狭い。そこで、クラスタ間をまたがるアクセスが起こる場合にも十分な性能を保証するためには、クラスタ間の相互結合網の帯域を非常に大きくしなければならないが、そのためには製造コストが高くなる。一方、クラスタ型ストレージシステムは、低コストであることが望ましい。高コストのクラスタ型ストレージシステムを用いた場合、ストレージコンソリデーションによるコストメリットが相殺されてしまう恐れがあるためである。以上のことから、クラスタ型ストレージシステムは、高コストにつながるクラスタ間の相互結合網に十分な帯域をもつことはできない。
このような帯域の制限されたクラスタ型ストレージシステムに論理分割技術を適用した場合、論理区画に割り当てた資源に見合う性能を保証できないことがある。その例を、2つのクラスタを有するクラスタ型ストレージシステムについて、図2と図3を用いて説明する。尚、図中、複数のクラスタ10を区別するため、ハイフン(10−1等)を使用している。
図3の論理区画資源割り当てテーブルのように3つの論理区画に分割する場合を考える。この際、論理区画番号の小さい論理区画から、順次クラスタ型ストレージシステム内の資源を割り当てるとする。この場合の割り当て状況を図2に示す。ここで、図3のキャッシュメモリの容量704に焦点を当てると、論理区画1(101)に対する割り当ては、クラスタ型ストレージシステム全体の25%である。クラスタ数は2なので、論理区画1(101)の割り当ては、クラスタ10−1のもつキャッシュメモリ13の50%になる。次に、論理区画2(102)のキャッシュメモリ13容量に対する割り当て704を考えると、これはクラスタ型ストレージシステム全体の40%であり、クラスタ10−1のもつキャッシュメモリ13の80%になる。しかし、すでに論理区画1(101)にクラスタ10−1のキャッシュメモリ13の50%を割り当てているので、論理区画2(102)に対しては残りの50%分を割り当て、クラスタ10−2のキャッシュメモリ13に未割り当ての30%分を割り当てることになる。つまり、論理区画2(102)のキャッシュメモリ13に対する割り当てが、2つのクラスタ10をまたがって配置されてしまう。この場合、論理区画2(102)においては、帯域が不足するクラスタ間の相互結合網(図2のクラスタ間パス20)を用いたキャッシュメモリ13へのアクセスが頻発することが予測される。そのため論理区画2(102)は、割り当てた資源に見合った性能を保証できず、相対的に性能の低い論理区画となる。こうした問題が起こる組み合わせは、割り当てを操作できる資源の数が多くなるほど多くなる。
以上のように、本発明の解決しようとする課題は、単純にクラスタ型ストレージシステムに論理分割技術を適用すると、割り当てた資源量に応じた性能の論理区画を保証できない点にある。
上記課題を解決するために、本発明では、クラスタ型ストレージシステムにおいて、1つの論理区画に対しては、同一クラスタ内の資源を割り当てる。
本発明によれば、割り当てた資源に見合った性能の論理区画を保証できる。
以下、本発明の実施形態を、図面に基づいて説明する。
(第1の実施形態)
図4は、第1の実施形態の計算機システムの構成図である。計算機システムは、複数のホストコンピュータ(以下、ホストと称する)2、SANスイッチ3、クラスタ型ストレージシステム1、管理端末5とからなる。クラスタ型ストレージシステム1は、チャネル4を通じて、SANスイッチ3などで構成されるSAN(Storage Area Network)を経て、ホスト2に接続され、LAN(Local Area Network)やSANなどを経て、管理端末5に接続される。
クラスタ型ストレージシステム1は、複数のクラスタ10(10−1、10−k)、クラスタ間パス20、管理ネットワーク30、データを格納する複数のHDD50、ディスク側チャネル60及び保守プロセッサ40とから構成される。複数のクラスタ10は、クラスタ間パス20を通して相互に接続され、保守プロセッサ40や管理端末5と管理ネットワーク30を介して接続される。
尚、以下に説明する資源とは、チャネル制御部、キャッシュメモリ、ディスク制御部、内部スイッチ、プロセッサ、内部パス、HDDなどを含む、クラスタ型ストレージ装置が備えている物理的及び論理的な資源を示す。又、第1の実施形態において、クラスタとは、チャネル制御部、キャッシュメモリ、ディスク制御部、内部スイッチ、HDDなどを含む、ストレージシステムとして機能する1つの単位を示す。
クラスタ10は、チャネル制御部11、キャッシュメモリ13、ディスク制御部14、及びこれらの資源を内部パス15を介して接続する内部スイッチ12から成る。これらの資源は、複数あってもよい。
チャネル制御部11は、チャネル4を通じてホスト2からの入出力要求を受け取り、この入出力要求の要求種類(例えば、リード/ライト要求)や対象アドレスなどを解釈する。そして、キャッシュメモリ13の制御データ領域132に格納されたディレクトリ情報1323(図6にて後述)にアクセスし、ホスト2の要求するデータを読み出すべき、又は格納すべきキャッシュメモリ13のアドレスを調査する。
ディスク制御部14は、ホスト2から要求されたデータがキャッシュメモリ13上に存在しない場合や、すでに存在するデータをHDD50に格納する場合、ディスク側チャネル60を通じてHDD50を制御する。この際、HDD50全体としての可用性および性能を向上させるため、ディスク制御部14はHDD50群に対してRAID制御を行う。HDD50は、一般に、磁気ディスク装置であるが、光ディスク等、他の記憶媒体を用いた装置であってもよい。
尚、本図ではクラスタ間パス20は、各クラスタ10の内部スイッチ12に接続される形態を示しているが、各クラスタ10の一部のチャネル制御部11にてクラスタ間パス20を接続しても良い。ここで、一般に、クラスタ間パス20の総帯域は、内部パス15の総帯域に比較し小さくなっている。
保守プロセッサ40は、管理ネットワーク30を介して各クラスタ10に接続される。図4では省略しているが、クラスタ10内においても管理ネットワーク30は内部スイッチ12を経てチャネル制御部11などの各部につながっている。保守プロセッサ40は、各クラスタ10の各資源に各種の設定情報のセットや、資源の閉塞などの動作モードの指示を行い、又、各資源が高負荷であるといったことや、障害に陥ったことなどの状態を示す情報の収集も行う。さらに、保守プロセッサ40は、管理端末5と、収集した情報や各資源に対する設定情報のやりとりを行う。
尚、本稿では、チャネル制御部やディスク制御部などの中にプロセッサを実装する形態を説明しているが、プロセッサをこれらと独立して実装してもよい。
管理端末5は、クラスタ型ストレージシステム1の管理者が管理を行うために用いられる。この際、管理端末5は、保守プロセッサ40が収集した情報を、管理者がクラスタ型ストレージシステム1の設定や状況の把握が容易になるように処理し、管理者に示す。又、管理者からの設定指示を適切にクラスタ型ストレージシステム1に反映できるように、処理を行う。尚、管理端末5は、クラスタ型ストレージシステム1の内部に設置しても良い。又、保守プロセッサ40の役割は、チャネル制御部11やディスク制御部14のプロセッサが果たしても良い。同様に、管理端末5の処理も、保守プロセッサ40で行っても、管理端末5をクラスタ型ストレージシステム1の内部に実装しても良い。
図5は、チャネル制御部11内の構成図である。チャネル制御部11は、プロセッサ111、メモリ112、メモリ112の制御を行う周辺処理部113、チャネルプロトコル処理部114、及び内部ネットワークインタフェース部117から構成される。プロセッサ111は、バス等で周辺処理部113に接続される。周辺処理部113は、メモリ112と接続される他、制御系バス116を介してチャネルプロトコル処理部114及び内部ネットワークインタフェース部117にも接続される。
プロセッサ111は、周辺処理部113を通してメモリ112にアクセスし、メモリ112に格納されている制御プログラム1121、及び、プロセッサ111やチャネル4や内部パス15に関する論理区画情報1122(チャネル4と論理区画の対応関係も含む)に基づき、論理分割を行いつつ、ホスト2からライト要求されたデータをキャッシュメモリ13に格納し、リード要求されたデータをキャッシュメモリ13から転送する。その際、キャッシュメモリ13にライト要求されたデータを格納できる空き領域やリード要求されたデータが存在しない場合は、ディスク制御部14に対し、キャッシュメモリ13のデータのHDD50への書き込み、もしくはHDD50からのデータの読み込みを行い、キャッシュメモリ13にデータを格納するように指示を行う。
ここで、プロセッサ111に関する論理分割は、プロセッサ111にハイパバイザと呼ばれるソフトウェアを実行させても良いし、論理区画情報1122に各プロセッサ111が処理する論理区画を記載しておき、各プロセッサで実行する論理区画を決めても良い。尚、ハイパバイザとは、OS層の下に位置し、一つのプロセッサで実行される複数のOSを制御するためのソフトウェアであり、本実施例では、制御プログラム1121の一部としてもよい。
周辺処理部113は、接続されるプロセッサ111及びチャネルプロトコル処理部114及び内部ネットワークインタフェース部117からのパケットを受け、パケットの示す転送先アドレスがメモリ112ならばその処理を行い、必要ならばデータを返す。転送先アドレスがそれ以外ならば、適切な転送先に当該パケットを送付する。又、周辺処理部113は、保守プロセッサ40やその他のプロセッサ(当該資源とは別の資源に存在するプロセッサ)111がこの周辺処理部113に繋がるプロセッサ111と通信を行うためのメールボックス1131を持ち、例えばチャネル制御部11のプロセッサ111とディスク制御部14のプロセッサ111間で通信や、後述する移行の際などに使用される。
チャネルプロトコル処理部114は、チャネル4上のプロトコル制御を行い、クラスタ型ストレージシステム1内部で処理ができるようなプロトコル方式に変換する。チャネルプロトコル処理部114は、チャネル4を通じてホスト2からの入出力要求を受けると、その入出力要求に含まれる、ホスト番号やLUN(Logical Unit Number)やアクセス先アドレスなどをプロセッサ111に通知する。プロセッサ111はその通知に基づき、キャッシュメモリ内のディレクトリ情報1323(図6にて後述)にアクセスし、入出力要求のデータを格納すべきアドレス、又は入出力要求のデータが存在するキャッシュメモリ13上のアドレスを決定し、論理区画番号の情報を含む転送リストを作成し、当該転送リストをチャネルプロトコル処理部114にセットする。転送リストは、キャッシュメモリ13上のアドレスのリストになっている。
チャネルプロトコル処理部114は、データ転送系バス115を経て内部ネットワークインタフェース部117との間でデータの授受を行い、入出力要求がライトならば、内部ネットワークインタフェース部117を通じ、ホストからのデータをリストに記載されたアドレスに書き込んでいく。又、リードならば、同様にリストに記載されたアドレスからデータを読み込み、それをホストに返す。
内部ネットワークインタフェース部117は、チャネル制御部11が、クラスタ型ストレージシステム1内部の他のモジュールと、内部パス15を経て通信を行う際の、インタフェースとなる部位である。
尚、本明細書では、モジュールとは、チャネル制御部、キャッシュメモリ、内部スイッチ、ディスク制御部、電源等の、クラスタ内の構成要素の一つを示す。一般には、1枚のパッケージ(基盤)が1つのモジュールに当り、交換、増設の単位として用いられる。
内部ネットワークインタフェース部117は、システム構成設定時に設定された論理区画情報1172を格納する。これには、このチャネル制御部11における各論理区画の内部パス15の使用割合に関する情報が含まれている。内部ネットワークインタフェース部117中の競合調停部1171は、プロセッサ111やチャネルプロトコル処理部114による内部パス15の使用の要求を調停する機能を有し、ソフトウェアにより実現されてもよい。この際、論理区画情報1172に基づき、各論理区画の使用できる内部パス15の帯域幅が設定されたものになるように、内部パス15の使用の許可を与えていく。これを実現するアルゴリズムとして、Weighted Round Robinアルゴリズムなどがある。
ディスク制御部14もチャネル制御部11とほぼ同じ構造を持つ。ただし、制御プログラム1121の内容と、チャネルプロトコル処理部114がHDD50との通信を行う点が異なる。ディスク制御部14は、制御プログラム1121を実行して、チャネル制御部11からの要求、又は一定時間間隔により、キャッシュメモリ13上のデータをHDD50に書き込みを行う。又、ホスト2からリード要求されたデータがキャッシュメモリ13上に存在していない場合はチャネル制御部11からの指示を受け、HDD50からデータを読み込み、キャッシュメモリ13にそのデータを書き込む。尚、チャネル4とディスク側チャネル60のプロトコルは異なってもよいが、ディスク側チャネル60上のプロトコル処理を行い、クラスタ型ストレージシステム1内部で処理が出来るように変換する意味ではチャネル制御部11のチャネルプロトコル処理部114と同様である。
図6は、キャッシュメモリ13に格納されるデータを示した図である。キャッシュメモリ13は、大別して、データ領域131と制御データ領域132に分けられる。データ領域131は、HDD50に格納された、又は格納されるべきデータを一時的に格納する領域である。制御データ領域132は、クラスタ型ストレージシステム1を制御するための情報を格納する領域である。制御データ領域132には、論理区画情報マスタ1321、構成情報1322、ディレクトリ情報1323が格納される。
論理区画情報マスタ1321は、各チャネル制御部11や各ディスク制御部14に存在する論理区画に関する情報のマスタである。例えば、チャネル制御部が障害に陥り、新しいチャネル制御部に交換した場合、元のチャネル制御部に格納されていた論理区画に関する情報は失われ、設定を再構成できない。このような場合に備えて、実装上信頼性を高めることが比較的容易なキャッシュメモリに、元のチャネル制御部の情報を格納しておくのが好ましい。この元の情報をマスタと呼ぶ。
構成情報1322は、物理資源の総量や、各論理区画内でどのようにボリュームが設定されているかを示す情報である。ディレクトリ情報1323は、どのデータがデータ領域131に格納されているかを示す情報である。
キャッシュメモリ13は、論理区画毎に使用容量を設定できる。ここでは、プロセッサ111が転送リストを作成する際に設定する。尚、データ領域131と制御データ領域132の2つの領域は物理的に別のメモリで実装しても良い。又、内部パス15を2つの領域それぞれにアクセスするため、物理的に分けて実装しても良い。
図7は、保守プロセッサ40がクラスタ型ストレージシステム1の各モジュールにアクセスし情報を収集して作成する、物理資源テーブル401を示した図である。物理資源テーブル401は、各部分が階層的に示されている。
ストレージシステム階層4011は、クラスタ型ストレージシステム1を構成するクラスタ10に関する情報を含んでいる。ここでは、それぞれのクラスタ10に関する詳細を格納した位置を示すポインタを格納している。そのポインタが示す先にあるものがクラスタ階層4012である。又、要素の個数から、その階層に含まれる資源の個数も知ることが出来る。例えば、図7では、クラスタはk個あることが分かる。
クラスタ階層4012には、そのクラスタ10が含んでいるチャネル制御部11やキャッシュメモリ13、ディスク制御部14およびHDD50の情報が格納されている。ここでは、ストレージシステム階層4011同様に、各部の詳細の情報の格納先を示すポインタとともに、どの冗長電源でその部位を駆動しているかを示す情報も所持している(図12にて後述)。クラスタ階層4012のポインタが示している、さらに下の階層には、チャネル制御部階層4013、キャッシュメモリ階層4014、ディスク制御部階層4015、HDD階層4016がある。チャネル制御部階層4013には、そのチャネル制御部11が接続されているチャネル4の帯域や、含んでいるプロセッサ111の演算能力、接続される内部パス15の帯域が示されている。キャッシュメモリ階層4014には、それぞれの容量および転送能力が示されている。ディスク制御部階層4015には、含んでいるプロセッサ11の演算能力、接続される内部パス15の帯域が示されている。HDD階層4016には、その容量や回転数の情報が示されている。
尚、本実施形態では、ディスク側チャネル60は、HDD50の性能、個数に依存するため、当該テーブルに記載しなくてもよく、図にも明示していない。しかし、ディスク側チャネル60の情報がHDD50の性能、個数に依存しない後述の第2の実施形態などについては、ディスク側チャネル60に関しても他の資源と同様に情報を格納し、割り当てを行うのが望ましい。
図8は、管理者が資源を各論理区画に割り当てる際に、管理端末5が管理者に提供するグラフィカルユーザーインタフェース(以下、GUIと称する)の例を示した図である。図7のように各資源に関して収集した情報を処理し、資源の合計値といった理解容易な情報をこの図8のGUIで提示し、管理者に論理区画の構成の設定を促す。
論理区画数欄501は、このクラスタ型ストレージシステム1で分割する論理区画数を管理者に入力させる欄である。この数により以下で設定できる論理区画数も決まる。
設定モジュール欄502は、資源を割り当てるモジュールを、管理者に選択させるための欄である。ここでは、チャネル制御部11、キャッシュメモリ13、ディスク制御部14、HDD50から選択する。
詳細指定チェックボックス503は、管理者が、各モジュールの詳細も決定する場合にチェックするものである。
総合割振り欄504は、管理者が詳細を決定しない場合に、論理区画割り当てを入力する欄で、その場合は、ここの決定と同様の値が以下の505、506、507にも反映される。総合割振り欄504は、論理区画数欄501に入力された論理区画の数だけ枠を持ち、管理者はその枠をドラッグすることで各論理区画に割り当てる資源の割合を設定する。
ここで、この総合割振り欄504において100%で示されるものは、各クラスタ10ではなくクラスタ型ストレージシステム1全体のチャネル制御部11の資源の100%を示していることに注意したい。又、管理者がそのモジュール内の各資源について詳細に決定したい場合は、詳細指定チェックボックス503にチェックして、さらにチャネル割振り欄505、プロセッサ割振り欄506、内部パス割振り欄507を用いて、総合割振り欄504同様の入力方法にて、詳細に設定を行う。この際、総量欄508には各資源のクラスタ型ストレージシステム1全体の合計の資源量が表示されている。
尚、図8では、設定モジュール欄502においてチャネル制御部11が選択されている場合を示しているため、504から507に表示されるものは、チャネル割振り欄505、プロセッサ割振り欄506、内部パス割振り欄507となっているが、キャッシュメモリ13が選択されている場合はメモリ容量割振り欄が、ディスク制御部14が選択されている場合はプロセッサ割振り欄及び内部パス割振り欄が、そして、HDD50の場合は容量割振り欄及び個数割振り欄が示される。
管理者が設定の入力を終えると、提出ボタン509により設定を入力したことを管理端末5に通知する。又、取り消しボタン510により、以前の設定に戻すように管理端末5に通知することもできる。
図3は、論理区画資源割り当てテーブル301を示す図である。当該テーブル301は、管理端末5において管理者が決定した各論理区画の資源の占有量を、表として示したものであり、管理端末5に格納される。先述のように、保守プロセッサ40が、図7のテーブルを作成し、そのテーブルをもとに、管理端末5が図8のようなGUIを通して管理者に資源の割り当てを促し、その結果として作成されたものが図3のテーブルとなる。そして、この作成されたテーブルを、管理端末5が保守プロセッサ40に配信する。
論理区画資源割り当てテーブル301は、各論理区画番号を列(101、102、103)に、各資源の割り当ての割合を行(701〜707)に示す。例えば、チャネル制御部11に対する資源としては、チャネル数701、プロセッサパワー702、内部パス帯域703がある。このテーブルでは、それぞれの資源において、クラスタ型ストレージシステム1の全てを合計したものを100%として表している。例えば、全体で100GBのキャッシュメモリ容量をもつクラスタ型ストレージシステム1において、図3のキャッシュメモリ容量704の割り当てを行った場合、論理区画1には25GB、論理区画2には40GB、論理区画3には25GBを割り当てることになる。これら論理区画の使用量は90GBであり、残りの10GBは、将来、新たな論理区画を追加する場合のためや、後で述べる論理区画移行時のための予備領域として用いても良い。又、資源を割り当てて論理区画の中で運用しなくとも良いユーザに対する領域として用いても良い。ここでは、管理者に、クラスタ型ストレージシステムの各機種に依存している内部構成を意識させないことで、管理をより容易にするため、クラスタ10毎の資源量ではなく、このクラスタ型ストレージシステム1全体の資源量を100%として示していることに注意したい。
図9は、管理端末5に格納される物理資源割り当てテーブルの一部を示した図である。
当該テーブルの一部は、図8のようなGUIを通じて入力された設定により図3のテーブルが作成された後、後述の図10を用いて述べるような処理を行い、各モジュールに配信できるようにしたものである。又、図9は、番号が1であるクラスタ10に関して示したものであり、実際にはクラスタ型ストレージシステム1に存在するクラスタ10の数だけ、このテーブルも存在する。物理資源割り当てテーブルは、論理区画101、102、103に関する列と、各資源に関する行を持つ。
各資源は、図7で示したものと同様である。そのそれぞれについて、各論理区画に関する割り当てが、割合で記入されている。例えば、番号が1のチャネル制御部の持つ、番号が1のチャネルに関しては、論理区画1に100%が割り当てられている。又、同じチャネル制御部の、番号が1の内部パスの帯域に関しては、論理区画1に50%、論理区画3に50%割り当てられている。この番号が1のチャネル制御部に関しては、全ての資源に関して論理区画2に対する割り当てが0%であるため、論理区画2は割り当てられていないことが分かる。
以上を整理すると、まず、保守プロセッサ40が、各モジュールから収集した情報を、自身の有する図7のテーブルに書き込んでいき、書き込んだテーブルの情報を、管理端末5に送信する。そして、管理端末5は、その情報をもとに、図8のGUIを通して、管理者に資源の割り当てを促し、管理者から入力された結果を、自身の有する図3のテーブルに書き込む。その後、管理端末5は、図10の処理を通して、図9のテーブルを作成する。これら一連の処理は、管理者がストレージシステムの設定を行うために、図8のGUIの提供なども含む管理者用のソフトウェアが立ち上げられた際に開始される。
図10は、管理者により論理区画に割り振る資源量が設定された後に、管理端末5により実行され、図9の物理資源割り当てテーブルを作成するための処理のフロー図である。
管理者により設定が行われ、図8の提出ボタン509が押された後に、この処理が開始され、1つの論理区画が複数のクラスタ10をまたいで資源を割り当てられることを回避する処理を行う。
管理端末5は、複数の論理区画において、要求されている資源(例えばキャッシュメモリ容量)が多い順から複数の論理区画を並べた場合の、順位を算出する。ここで、kを論理区画数、順位がxの論理区画番号をL[x]とする。そして、1からkのxについて、順位がxの論理区画番号をL[x]に代入する(ステップ9001)。例えば、図3では、論理区画が3つある(k=3)。又、キャッシュメモリ容量について考えると、論理区画番号1の論理区画(以下、「論理区画1」と表現する)が25%、論理区画2が40%、論理区画3が25%を有するように割り当てるため、資源の大きい順は、論理区画2、論理区画1と論理区画3となる。但し、この場合、論理区画1と論理区画3は、順位が同じとなっている。このような場合には、他の資源に対する要求も加味して、順位を算出する。図3では、全体的に論理区画3の割合が論理区画1より大きいため、順位は、1位が論理区画2(L[1]=2)、2位が論理区画3(L[2]=3)、3位が論理区画1(L[3]=1)となる。尚、同じ順位の論理区画がある場合、それぞれの資源毎に評価関数を作成し、評価関数の値の総和が大きい順に順位を決定してもよい。
次に、ステップ9003〜9011の処理(以下、調査と称する)を行った回数cnt(初期値0)を1加算する(ステップ9002)。
次に、クラスタ数をnとした場合、1からnの全てのyに関して、まだステップ9004〜9011の処理がされていない論理区画に割り当てることができる資源の割合CL_R[y]に、番号yのクラスタ10(以下、「クラスタ10−y」と表現する)が保持している資源量を代入する(ステップ9003)。例えば、図2のような2つのクラスタ(n=2)を備えるクラスタ型ストレージシステム1において、全体の保持するキャッシュメモリ容量を100GB、クラスタ10−1及びクラスタ10−2の保持するキャッシュメモリ容量をそれぞれ50GB、50GBとすると、それぞれのクラスタが50パーセントずつの資源を持っていることになる。従って、CL_R[1]、CL_R[2]にそれぞれ50を代入する。
次に、論理区画L[i](iは整数)に要求されている資源量LP_R[L[i]]が1つのクラスタ10の持つ資源量より大きいか否かを判断する。大きければステップ9009に、以下ならばステップ9005に移る(ステップ9004)。ステップ9004〜9011のループの初回(i=1)は、L[1]=2であるから、論理区画2に関して判断する。
次に、現在着目している論理区画L[i]に要求されている資源量を割り当てることが可能なクラスタ10(CL_R[y]>LP_R[L[i]]を満たすクラスタ10)を列挙する(ステップ9005)。この条件を満たすクラスタ10が存在しなければステップ9007の、存在していればステップ9008の処理に移る(ステップ9006)。条件を満たすクラスタ10があれば、その条件を満たすクラスタ10の中から1つを乱数により(所定の基準を設けてもよい)、選択する(ステップ9008)。尚、条件を満たすクラスタ10が単数の場合は、当該クラスタ10しかないので、乱数を用いる必要はない。その後、論理区画L[i]が、選択されたクラスタ10に割り当てられ(クラスタ内部ではそれぞれの番号が小さい順に要求された資源を割り当てていく)、CL_R[y](yは選択されたクラスタ番号)から割り当てた資源量を減算する(ステップ9010)。例えば、上記考察により、クラスタ10−1、クラスタ10−2ともに論理区画2に要求される条件を満たしているが(CL_R[1]=CL_R[2]=50> LP_R[2]=40)、ここでは、乱数等により、クラスタ10−2が選ばれたとする。そこで、論理区画2がクラスタ10−2に割り当てられる。そして、CL_R[2]から割り当てた分40を減算しCL_R[2]=10とする。
同様に、i=2〜kについても調査を行い(ステップ9011)、i=kの調査が終われば、処理を終了する。例えば、上記考察では、ループの2回目(i=2)は、論理区画3(L[2]=3)に関して行う。今回はクラスタ10−1のみが条件を満たすので(クラスタ2に関してはCL_R[2]=10<LP_R[3]=25で条件を満たさず、クラスタ10−1に関してはCL_R[1]=50>LP_R[3]=25で条件を満たす)、クラスタ10−1が選択され、論理区画3が割り当てられる。CL_R[1]の減算を行い、その結果CL_R[1]=50-25=25になる。さらに3回目(i=3)は残りの論理区画1(L[3]=1)に関して行う。LP_R[1]も同様の処理、判定が行われ、クラスタ10−1が条件を満たすため(CL_R[1]=25 ≧LP_R[1]=25、CR_R[2]=10<LP_R[1]=25)、論理区画1にも、クラスタ10−1が割り当てられることになる。以上より、論理区画1と論理区画3はクラスタ10−1に、論理区画2はクラスタ10−2に割り当てられる。
ステップ9006にて、条件を満たすクラスタ10が見つからなかった場合は、調査をやり直す。cntが調査をやり直す回数の上限値cnt_th未満であるかを判断し、そうであればステップ9002から再調査を行う。cnt_thに達していれば、条件を満たす割り当てが存在しないとしてステップ9009の処理に移る(ステップ9007)。
上記のように、条件を満たす論理区画とクラスタの組み合わせは乱数により選択するので、i=1、2…と処理を繰り返す中で、条件を満たす組み合わせが見つからない可能性がある。一方、何度か処理を繰り返す中で、条件を満たす組み合わせが見つかる可能性もある。但し、例えば、クラスタ10−1、10−2のキャッシュメモリ容量がそれぞれ50、50で、論理区画1、2、3にそれぞれ40、30、30を割り当てたいような場合は、何度チャレンジしても条件を満たすことはあり得ない。このような場合にも、条件を満たす組み合わせが見つかるまで調査を行わせれば、無限ループに陥ってしまうため、上記のように、調査をやり直す回数の上限値cnt_thを設け、cnt_th回繰り返しても条件を満たす組み合わせが見つからない場合には、これ以上チャレンジしても不可能と判断する。cnt_thの値は例えば、cnt_th回繰り返しても数秒以内となるような10や1000といった数にする。
尚、乱数の系列によってはすべての論理区画に対して条件を満たす組み合わせが得られることもある。そのため、次のような場合には、調査のやり直しを行う。例えば、クラスタ10−1、10−2がそれぞれ資源50、50を持っていて、それらを5つの論理区画(LP_R[1]=30, LP_R[2]=20, LP_R[3]=20, LP_R[4]=15, LP_R[5]=15)で区切る場合を考える。この際、クラスタ10−1には論理区画1と2を、クラスタ10−2には論理区画3と4と5を割り当てる、という最適な解が存在する。しかし、乱数を用いることにより、クラスタ10−1には論理区画1と4が、クラスタ10−2には論理区画2と3が割り当てられてしまった場合、論理区画5は、クラスタ間をまたがらざるを得ない。このような場合に、調査をやり直すことによって、上記のような最適な解にたどり着くことができる。
次に、ステップ9004で1つの論理区画が1つのクラスタ10の持つ資源量よりも大きい資源を要求されたと判断した場合や、ステップ9007で条件を満たす割り当てが存在しないと判断した場合は、クラスタ番号の小さい空き領域から順次資源を割り当てていき、ステップ9010以降の処理を行っていく(ステップ9009)。即ち、ステップ9009は、一つの論理区画がクラスタ間をまたがらざるを得ない場合の処理を表している。しかし、そのような場合でも他の論理区画は一つのクラスタに収めるよう、ステップ9001にて、大きい論理区画から順に割り当てを実行している。
尚、上記具体例による説明では、キャッシュメモリ容量について着目したが、チャネル制御部内のチャネル、ディスク制御部内のプロセッサといったクラスタ以下の階層の持つ資源それぞれも加味して、ステップ9001では、規模の大きい論理区画の順位を算出し、ステップ9004やステップ9006の判定では、論理区画に要求されている、すべての資源の種類に対して条件を満たしているかを判定する。例えば、チャネル、内部パス、及びキャッシュについて論理区画の割り当てを要求されている場合には、チャネル、内部パス、及びキャッシュについての処理を行ってから、次のループに移る。どの資源から処理を行うかは、ランダムに行ってもよいし、所定の基準を設けて行ってもよい。
この一連の処理により論理区画に対する資源の割り当てが決定され、図9に示した物理資源割り当てテーブルが作成される。管理端末5は、この結果を保守プロセッサ40に送信する。保守プロセッサ40は、この結果に基づき各モジュールの論理区画情報1122、1131、論理区画情報マスタ1321などを変更し、プロセッサ111に新しい構成で処理を行うよう通知する。
図1は、本発明による割り当てを示した論理区画の図である。以上に述べた処理により、図2の場合と異なり、1つの論理区画は、1つのクラスタ10内に割り当てられている。こうすることで、十分な帯域を確保できないクラスタ間パス20の使用を抑制でき、クラスタ間パス20の限られた帯域による性能劣化を避けることができる。
尚、本図で示したように条件を満たす組み合わせをランダムに見つけてもよいし、遺伝的アルゴリズムやニューラルネットワークなどを用いてこの最適化問題を解決してもよい。しかし、このように一般的な最適化問題を解くアルゴリズムでは、大規模なメモリ容量が必要となり、統計的手法を用いたアルゴリズムでは、実数の計算及びパラメータの調整が必要になる。従って、本図に示したアルゴリズムを用いれば、大規模なメモリ容量や実数の計算等が不要になる、という効果がある。
図11は、管理者が資源を各論理区画に割り当てる際に、管理端末5が管理者に提供するGUIの別の例を示した図である。図8と異なり、各クラスタ10の総資源量を集計することにより、クラスタ10の資源量を示し、管理者により論理区画を割り当てるクラスタ10を決定する。この場合、クラスタ構成に関する知識を備えた管理者を前提としているため、図10に示したような組み合わせを解決する処理は不要になる。
以上の処理により、図1に示したような論理区画の割り当てを実現することができる。以降では、こうした論理区画割り当てを行った場合に、さらに可用性を高めるクラスタ型ストレージシステム1と、その制御方法を述べる。まず、前提となる1つのクラスタ10の可用性について説明する。
図12は、クラスタ10の内部を示した図である。クラスタ型ストレージシステム1の各部は冗長性を持ち、電源に関しても二重化されている。各クラスタの電源部71A、71Bには、それぞれ商業電源などの2系統の外部電源70A、70Bから給電されている。電源部71A、71Bは外部電源からの電力を、クラスタ10内部のモジュールが動作できる電圧に変換し、各モジュールに供給している。その際、クラスタ10を構成するモジュールの半数は電源部71Aから、もう半分は電源部71Bから給電されるようにする。こうすることで、例えば片方の電源部が故障しても、そのクラスタ10内のもう一方の電源部から給電される半分のモジュールは動作が可能で運転を継続できる。尚、HDD50に関しては単体で2系統の電源からの入力をサポートしている。又、電源部70A、70Bは管理ネットワーク30を通じて保守プロセッサ40と状態などの情報のやり取りが可能である。
以上のように、1つのクラスタ10の内部でも冗長性を持ち、高い可用性を備えるが、1つのモジュールに障害が発生し、冗長性を失った場合、さらにもう一方のモジュールに障害が発生するとシステムがダウンしてしまう。そこで、一方のモジュールの障害により、冗長性が失われた場合、冗長性を保っている他のクラスタ10にて制御を移行する実施例を説明する。
図13は、あるクラスタ10に障害が生じたときに正常なクラスタ10に制御を移行することができる構成を取った場合の例を示した論理区画の図である。ここでは、特に、クラスタ10間で制御を移行する場合に備えて、各論理区画に対するHDD50のバックアップ領域1011、1021、1031が用意されている。
この構成では、あるクラスタ10を閉塞した場合、閉塞したクラスタ10が制御していたHDD50へのアクセスができなくなってしまうため、制御を正常なクラスタ10に移行する時に、正常なクラスタ10の配下のHDD50にデータの複製を格納して、コピーしたデータへのアクセスが継続できるようにしなければならない。そのため、コピー先の領域であるバックアップ領域1011、1021、1031を予め確保しておく必要がある。この図のように、バックアップ領域はバックアップもとの論理区画が割り当てられているクラスタ10と別のクラスタ10に確保しなくてはならない。例えば番号2のクラスタ10に割り当てられている論理区画3(103)に対しては、番号1のクラスタ10にバックアップ領域1031を設ける。
図14は、図13の状況においてクラスタ10−kに障害が起こり、論理区画3の処理を正常なクラスタ10−1に移行した場合を示した論理区画の図である。
図13中のバックアップ領域1031に論理区画3のボリュームを移行し、さらにその他の論理区画1(101)、論理区画2(102)に割り当てられていた資源を、論理区画3(103)に対しても再び割り当てなおし、クラスタ型ストレージシステム1の全論理区画に対して運転の継続を保証している。
図15は、障害を検知した場合の処理を示すフロー図である。この場合は管理端末5がこの処理を実行する。
モジュールに障害が起こると、保守プロセッサ40が障害の発生を検知し、障害の起こったモジュールの特定や障害の程度を調査する。その後、保守プロセッサ40は管理端末5に報告し、管理端末5は障害の発生したモジュールを特定し、障害の程度を確認する(ステップ1501)。次に、図16の移行契機テーブルの該当する障害モジュール1601の移行条件欄1602に示された障害の程度と報告された障害の程度を比較する。この障害状況が移行契機テーブル1600に定められたものと同程度もしくはさらに重大か判断する(ステップ1502)。程度が低ければ、管理端末5としての処理は終了する。同程度もしくはさらに重大ならば、障害のクラスタ10−kからクラスタ10−1へ処理を移行するように保守プロセッサ40を通じて指示を行う(ステップ1503)。
図16は、移行契機テーブルの例を示した図である。この移行契機テーブルは管理端末5に保持され、管理者の冗長性に対するポリシーに応じて、管理者が内容を変更する。
移行契機テーブル1600は、障害モジュール欄1601と、移行条件欄1602を保持する。ある障害が発生した場合、その障害が発生したモジュールと、対応する障害モジュール欄1601と組の移行条件欄1602以上に重大な障害の場合は、その障害の発生したクラスタ10を閉塞するものとし、処理の正常クラスタ10への移行を開始させる。例えば、電源部に障害が発生した場合、1モジュールが障害になった時点で移行を開始させる。又、チャネル制御部11に障害が発生した場合は、移行条件欄1602が「維持」であるため、移行を行わない。
尚、チャネル制御部11内のプロセッサのいくつに障害がおきたら移行する、というように、一つのモジュールの中に関して閾値を設けてもよい。又、それぞれのクラスタ10について同じ移行契機テーブル1600を用いても良いし、クラスタ10毎に個別の移行契機テーブル1600を用いても良い。後者は特に、クラスタ10毎にモジュール数などの構成が異なる場合は有効である。
図17は、管理端末5が障害のクラスタ10から正常なクラスタ10へ処理を移行するように指示を行う際に、移行後の割り当てを決定するフロー図である。
まず、障害の起こったクラスタ10に割り当てられていた論理区画L[x]を列挙する(ステップ1701)。ここで、列挙した論理区画数をuとする。次に、変数CL_R[y]に移行先クラスタ10―yに割り当てられている資源量を代入する(ステップ1702)。以降、x=1から順次、ステップ1703から1706の処理を行う。論理区画L[x]の移行先のクラスタyに対し、L[x]を割り当てる。具体的にはCL_R[y]に論理区画L[x]に割り当てられていた資源量LP_R[L[x]]を加算する(ステップ1703)。この際、CL_R[y]がクラスタ10―yが持つ資源量MCL_R[y]を上回っているかを判断する(ステップ1704)。尚、MCL_R[y]は、yに応じて定まる定数である。例えば、図1において、クラスタ10−1が障害に陥りクラスタ10−2に移行するとすれば、先述の考察から、論理区画1及び3はクラスタ10−1に、論理区画2はクラスタ10−2に、それぞれ割り当てられていたので、列挙されるのは、論理区画1(=L[3])及び論理区画3(=L[2])である。又、キャッシュメモリ容量に関しては、CL_R[2]=元からの資源量50 + 論理区画1の資源量25 + 論理区画3の資源量25 = 100となり、クラスタ10−2の持つ資源量MCL_R[2]は50である。CL_R[y]が上回っていれば、そのままの資源量での割り当てが不可能であるため、移行先のクラスタ10−yに割り当てられている各論理区画に資源が割り当てられるように、論理区画に要求されている資源の割合を縮小する。この縮小率r_sは、MCL_R[y]/CL_R[y]で計算する。そして、そのクラスタ10に割り当てられた各論理区画に要求されている資源に縮小率r_sを乗ずる(ステップ1705)。上の例では、r_s=50/100=0.5であり、クラスタ10−2に割り当てられる論理区画1、2、3に要求されている資源を0.5倍することになる。
同様に、x=2〜uについても、ステップ1703〜1705の処理を行い(ステップ1706)、x=uの調査が終われば、処理を終了する。全ての調査が終了した場合、この結果を、保守プロセッサ40を通じて各モジュールに配信し(ステップ1707)、データの移行を行うため、バックアップ領域にボリュームのコピーを行うように指示を行う(ステップ1708)。それらの終了後、移行先クラスタ10のプロセッサ111に、移行を通知し、必要ならば、ホストにチャネルの変更を通知する(ステップ1709)。このようにして、クラスタ型ストレージシステム1の可用性を向上させることができる。
以上では、すでに割り当てられている領域も再割り当てを行い、移行後の資源を確保したが、HDDについては、予めスペアを用意しておくのが通常であるため、通常、上記のように資源を縮小しても、データが移動できなくなることはない。尚、割り当てを行わないクラスタ10を用意し、移行時のためのスペアのクラスタ10を用意してもよい。これにより、割り当て資源量の縮小をせずに運転が継続できるため、あるクラスタ10に障害が発生した場合も性能低下を防ぐことが可能になる。
(第2の実施形態)
第1の実施形態では、HDD50にバックアップ領域を予め設ける例を説明してきたが、図18のようなクラスタ型ストレージシステム1の構成を用いれば、バックアップ領域の確保の必要がなくなる。
図18は、第2の実施形態の計算機システムの構成の図である。図4との相違は、ディスク制御部14とHDD50がスイッチ80(SANスイッチでもよい)を介して接続されていることである。これにより、特定のHDD50へのアクセスがクラスタ10で限定されることはなくなる。こうした場合は、外部ストレージシステム81(クラスタ型ストレージシステムでもよい)を接続してデータの記録先として用いることもできる。尚、第2の実施形態におけるクラスタは、HDDを含まない。HDDは、クラスタとは別に、スイッチを介して接続されているからである。
図19は、図18の計算機システムの構成を用いた場合の、管理端末5が障害のクラスタ10から正常なクラスタ10へ処理を移行するように指示を行う際に、移行後の割り当てを決定するフロー図である。図17の場合と異なり、バックアップ領域を設けておく必要がなく、移行先のクラスタ10を移行時に決定することができる。
まず、障害の起こったクラスタ10に割り当てられていた論理区画L[x]を列挙する(ステップ1901)。ここで、列挙した論理区画数をuとする。次に、変数CL_R[y](1≦y≦n)に各クラスタに割り当てられている資源量を代入する(ステップ1902)。そして、各クラスタの空き資源の合計が障害の起こったクラスタ10に割り当てられていた資源量よりか大きいか否かを判断する(ステップ1903)。空き資源量のほうが大きいならば、他の論理区画に影響を与えずに移行することができるので、各クラスタの空き資源を障害クラスタの論理区画に割り振る(ステップ1910)。小さいならば、以降、x=1から順次、ステップ1904から1907の処理を行う。最も大きい空き資源を持つクラスタ10−yを論理区画L[x]の移行先として選択し、L[x]を割り当てる。具体的にはCL_R[y]に論理区画L[x]に割り当てられていた資源量LP_R[L[x]]を加算する(ステップ1904)。この際、CL_R[y]がクラスタ10―yが持つ資源量MCL_R[y]を上回っているかを判断する(ステップ1905)。上回っていれば、移行先のクラスタ10―xに割り当てられている各論理区画に資源が割り当てられるように、論理区画に要求されている資源の割合を縮小する。この縮小率r_sは、MCL_R[y]/CL_R[y]で計算する。そして、そのクラスタ10に割り当てられた各論理区画の要求資源に縮小率r_sを乗ずる(ステップ1906)。
同様に、x=2〜uについても、ステップ1904〜1907の処理を行い(ステップ1907)、x=uの調査が終われば、処理を終了する。全ての調査が終了した場合は、この結果を、保守プロセッサ40を通じて各モジュールに配信する(ステップ1908)。それらの終了後、移行先クラスタ10のプロセッサ111に、移行を通知し、必要ならば、ホストにチャネルの変更を通知する(ステップ1909)。このようにして、クラスタ型ストレージシステム1の可用性を向上させることができる。
さらに、突然のクラスタ10全体が障害に陥ることに備えることもできる。その場合は、キャッシュメモリ13にも、バックアップ領域を設け、通常運転時にも、バックアップ領域を持つクラスタ10にもデータの2重化を行っておく。2重化を行う際も、ホストからの入出力要求がリードの場合は1つのクラスタ10内で処理ができ、ライトの場合のみクラスタ間パス20を用いて複数クラスタ10にアクセスするので、クラスタ間パス20を用いることの性能低下は抑えられる。
図20は、そのような場合のホストからライトの入出力要求を受けた場合のフロー図である。チャネル制御部11のプロセッサ111は、入出力要求の要求先アドレスのデータがキャッシュメモリ13上にあるか判断する。ある場合はステップ2004の処理を行う。ない場合は、まず、そのチャネル制御部11の所属するクラスタ10のキャッシュメモリ13にライトデータを書き込む領域を確保し(ステップ2002)、バックアップ領域を持つクラスタのキャッシュメモリにもライトデータを書き込む領域を確保する(ステップ2003)。領域が確保された後で、そのチャネル制御部11が所属するクラスタ10及びバックアップ領域を持つクラスタ10のキャッシュメモリ13にライトデータを書き込む(ステップ2004)。その書き込みの完了の確認後、ホストにライト完了の報告を返す(ステップ2005)。特にステップ2003及びステップ2004で他のクラスタ10のキャッシュメモリにもデータを書き込む点がその他の実施例とは異なる点である。
尚、本稿では、クラスタとストレージシステムとを区別するために、「クラスタ型ストレージシステム」という言葉を使用したが、一般には、複数クラスタを含むシステム自体をストレージシステムと呼ぶこともある。又、本稿では、クラスタ間をまたがることをボトルネックとして説明したが、それ以外のボトルネックが存在するアーキテクチャにおいても、本発明が成り立つことはいうまでもない。
本発明による割り当てを示した論理区画を示す図。 本発明の課題を示した論理区画を示す図。 論理区画資源割り当てテーブルを示す図。 第1の実施形態の計算機システムの構成図。 チャネル制御部11内の構成図。 キャッシュメモリ13内の構成図。 物理資源割り当てテーブルを示す図。 管理者が資源を各論理区画に割り当てる際の、GUIの例を示す図。 物理資源割り当てテーブルの一部を示す図。 物理資源割り当てテーブルを作成するためのフロー図。 図8とは別の、GUIの例を示す図。 1つのクラスタ10の内部を示す図。 障害に備えて、正常なクラスタ10に制御を移行する構成を取った場合の例を示す論理区画の図。 クラスタ障害の際、正常クラスタに処理を移行した場合を示す論理区画の図。 障害を検知した場合の処理を示すフロー図。 移行契機テーブルを示す図。 管理端末5が移行後の割り当てを決定するフロー図。 第2の実施形態の計算機システムの構成図。 第2の実施形態の、管理端末5が移行後の割り当てを決定するフロー図。 障害に備えて、ホストからライトの入出力要求を受けた場合のフロー図。
符号の説明
1;クラスタ型ストレージシステム、2;ホスト、3;SANスイッチ、4;チャネル、5;管理端末、10;クラスタ、11;チャネル制御部、12;内部スイッチ、13;キャッシュメモリ、14;ディスク制御部、15;内部パス、20;クラスタ間パス、30;管理ネットワーク、40;保守プロセッサ、50;HDD、60;ディスク側チャネル

Claims (14)

  1. 第1のクラスタと、第2のクラスタを備えるストレージシステムにおいて、
    前記ストレージシステムが備える資源を論理的に分割する際、1つの論理区画に対して、第1のクラスタ内の資源を割り当てる、ストレージシステム。
  2. 前記第1及び第2のクラスタは、ディスク装置、キャッシュメモリ、外部装置とのデータ転送を制御するチャネル制御部、及びディスク装置とのデータ転送を制御するディスク制御部を備え、
    前記資源とは、前記ディスク装置、前記キャッシュメモリ、前記チャネル制御部、及び前記ディスク制御部のいずれかである、請求項1記載のストレージシステム。
  3. 前記第1及び第2のクラスタは、相互に物理的に独立している、請求項1記載のストレージシステム。
  4. 前記第2のクラスタは、論理区画を割り当てられていない、請求項2記載のストレージシステム。
  5. 前記第2のクラスタは、論理区画を割り当てられていないディスク装置を備える、請求項2記載のストレージシステム。
  6. 前記第2のクラスタは、前記第1のクラスタの備えるディスク装置に、前記第2のクラスタの備えるディスク装置に格納されるデータの複製を格納する、請求項2記載のストレージシステム。
  7. 前記第1のクラスタに障害が起きた際、前記第2のクラスタが、前記第1のクラスタの処理を継続する、請求項4乃至6記載のストレージシステム。
  8. 前記第1のクラスタ内の資源の割り当てを管理者に示唆する装置を更に備える、請求項1記載のストレージシステム。
  9. 第1のクラスタと、第2のクラスタを備えるストレージシステムにおいて、
    前記第1及び第2のクラスタは、スイッチを介して、ディスク装置と接続され、
    前記ストレージシステムが備える資源を論理的に分割する際、1つの論理区画に対して、第1のクラスタ内の資源を割り当てる、ストレージシステム。
  10. 前記第1及び第2のクラスタは、キャッシュメモリ、外部装置とのデータ転送を制御するチャネル制御部、及びディスク装置とのデータ転送を制御するディスク制御部を備え、
    前記資源とは、前記キャッシュメモリ、前記チャネル制御部、及び前記ディスク制御部のいずれかである、請求項9記載のストレージシステム。
  11. 前記第1及び第2のクラスタは、相互に物理的に独立している、請求項9記載のストレージシステム。
  12. 前記第2のクラスタは、論理区画を割り当てられていない、請求項10記載のストレージシステム。
  13. 前記第1のクラスタに障害が起きた際、前記第2のクラスタが、前記第1のクラスタの処理を継続する、請求項12記載のストレージシステム。
  14. 前記第1のクラスタ内の資源の割り当てを管理者に示唆する装置を更に備える、請求項9記載のストレージシステム。
JP2005107012A 2005-04-04 2005-04-04 ストレージシステム Pending JP2006285808A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2005107012A JP2006285808A (ja) 2005-04-04 2005-04-04 ストレージシステム
US11/139,186 US7565508B2 (en) 2005-04-04 2005-05-27 Allocating clusters to storage partitions in a storage system
US12/499,909 US7953927B2 (en) 2005-04-04 2009-07-09 Allocating clusters to storage partitions in a storage system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005107012A JP2006285808A (ja) 2005-04-04 2005-04-04 ストレージシステム

Publications (1)

Publication Number Publication Date
JP2006285808A true JP2006285808A (ja) 2006-10-19

Family

ID=37071996

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005107012A Pending JP2006285808A (ja) 2005-04-04 2005-04-04 ストレージシステム

Country Status (2)

Country Link
US (2) US7565508B2 (ja)
JP (1) JP2006285808A (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007200171A (ja) * 2006-01-30 2007-08-09 Fujitsu Ltd ディスク制御装置
JP2008257572A (ja) * 2007-04-06 2008-10-23 Hitachi Ltd 論理区画に動的に資源割り当てを行うストレージシステム及びストレージシステムの論理分割方法
US8347028B2 (en) 2009-06-26 2013-01-01 Hitachi, Ltd. Performance separation optimization according to protocol usage status and storage system performance
WO2014184893A1 (ja) * 2013-05-15 2014-11-20 株式会社日立製作所 計算機システム及びリソース管理方法
WO2015198441A1 (ja) * 2014-06-26 2015-12-30 株式会社日立製作所 計算機システム、管理計算機、および管理方法
WO2016013116A1 (ja) * 2014-07-25 2016-01-28 株式会社日立製作所 ストレージ装置
WO2016075779A1 (ja) * 2014-11-12 2016-05-19 株式会社日立製作所 計算機システムおよびストレージ装置

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7743372B2 (en) * 2005-06-28 2010-06-22 Internatinal Business Machines Corporation Dynamic cluster code updating in logical partitions
US7774785B2 (en) * 2005-06-28 2010-08-10 International Business Machines Corporation Cluster code management
US7937616B2 (en) 2005-06-28 2011-05-03 International Business Machines Corporation Cluster availability management
US20080162813A1 (en) * 2007-01-02 2008-07-03 International Business Machines Corporation Multiple logic media drive
US20090259771A1 (en) * 2008-04-09 2009-10-15 Tanik Haluk K Identification of memory cards by host
TWI476676B (zh) * 2008-09-29 2015-03-11 Sandisk Il Ltd 用於使用不同叢集尺寸的儲存裝置之檔案系統
US8700752B2 (en) * 2009-11-03 2014-04-15 International Business Machines Corporation Optimized efficient LPAR capacity consolidation
US9344366B2 (en) 2011-08-02 2016-05-17 Cavium, Inc. System and method for rule matching in a processor
JP6055924B2 (ja) 2013-01-07 2016-12-27 株式会社日立製作所 ストレージシステム及びストレージシステムの制御方法

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0962463A (ja) * 1995-08-25 1997-03-07 Fujitsu Ltd 半導体ディスク装置
JP2001125815A (ja) * 1999-10-26 2001-05-11 Hitachi Ltd バックアップデータ管理システム
JP2001142648A (ja) * 1999-08-27 2001-05-25 Hitachi Ltd 計算機システム及びそのデバイスの割り当て方法
JP2003196036A (ja) * 2001-12-12 2003-07-11 Internatl Business Mach Corp <Ibm> 記憶装置、該記憶装置を含む情報処理装置および情報記憶システムのリカバリ方法
JP2003256147A (ja) * 2002-02-28 2003-09-10 Hitachi Ltd クラスタ型ディスクアレイ装置およびクラスタ型ディスクアレイ装置の運用方法
JP2004145855A (ja) * 2002-08-29 2004-05-20 Hitachi Ltd 記憶装置システム及びデータ複製方法
JP2004246770A (ja) * 2003-02-17 2004-09-02 Hitachi Ltd データ移行方法
JP2004537126A (ja) * 2001-07-23 2004-12-09 ネットワーク アプライアンス, インコーポレイテッド 高可用性クラスターの仮想サーバ・システム
JP2005055995A (ja) * 2003-08-07 2005-03-03 Hitachi Ltd ストレージ制御方法、および、冗長化機能を有するサーバシステム
JP2005267008A (ja) * 2004-03-17 2005-09-29 Hitachi Ltd ストレージ管理方法およびストレージ管理システム
JP2006079541A (ja) * 2004-09-13 2006-03-23 Hitachi Ltd 記憶装置及び記憶装置を用いた情報システム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5129088A (en) * 1987-11-30 1992-07-07 International Business Machines Corporation Data processing method to create virtual disks from non-contiguous groups of logically contiguous addressable blocks of direct access storage device
JPH0962643A (ja) 1995-08-24 1997-03-07 Hitachi Ltd 神経回路網の構成方法
JPH1185659A (ja) * 1997-09-03 1999-03-30 Hitachi Ltd ディスク制御装置及びこれを用いた記憶装置
JP2001256003A (ja) * 2000-03-10 2001-09-21 Hitachi Ltd ディスクアレイ制御装置、そのディスクアレイ制御ユニットおよびその増設方法
JP4374953B2 (ja) * 2003-09-09 2009-12-02 株式会社日立製作所 データ処理システム
JP2005055955A (ja) 2003-08-04 2005-03-03 Seiko Epson Corp 印刷装置、印刷制御装置および画像データを提供するサーバ

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0962463A (ja) * 1995-08-25 1997-03-07 Fujitsu Ltd 半導体ディスク装置
JP2001142648A (ja) * 1999-08-27 2001-05-25 Hitachi Ltd 計算機システム及びそのデバイスの割り当て方法
JP2001125815A (ja) * 1999-10-26 2001-05-11 Hitachi Ltd バックアップデータ管理システム
JP2004537126A (ja) * 2001-07-23 2004-12-09 ネットワーク アプライアンス, インコーポレイテッド 高可用性クラスターの仮想サーバ・システム
JP2003196036A (ja) * 2001-12-12 2003-07-11 Internatl Business Mach Corp <Ibm> 記憶装置、該記憶装置を含む情報処理装置および情報記憶システムのリカバリ方法
JP2003256147A (ja) * 2002-02-28 2003-09-10 Hitachi Ltd クラスタ型ディスクアレイ装置およびクラスタ型ディスクアレイ装置の運用方法
JP2004145855A (ja) * 2002-08-29 2004-05-20 Hitachi Ltd 記憶装置システム及びデータ複製方法
JP2004246770A (ja) * 2003-02-17 2004-09-02 Hitachi Ltd データ移行方法
JP2005055995A (ja) * 2003-08-07 2005-03-03 Hitachi Ltd ストレージ制御方法、および、冗長化機能を有するサーバシステム
JP2005267008A (ja) * 2004-03-17 2005-09-29 Hitachi Ltd ストレージ管理方法およびストレージ管理システム
JP2006079541A (ja) * 2004-09-13 2006-03-23 Hitachi Ltd 記憶装置及び記憶装置を用いた情報システム

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007200171A (ja) * 2006-01-30 2007-08-09 Fujitsu Ltd ディスク制御装置
JP2008257572A (ja) * 2007-04-06 2008-10-23 Hitachi Ltd 論理区画に動的に資源割り当てを行うストレージシステム及びストレージシステムの論理分割方法
US8347028B2 (en) 2009-06-26 2013-01-01 Hitachi, Ltd. Performance separation optimization according to protocol usage status and storage system performance
WO2014184893A1 (ja) * 2013-05-15 2014-11-20 株式会社日立製作所 計算機システム及びリソース管理方法
GB2528584A (en) * 2013-05-15 2016-01-27 Hitachi Ltd Computer system, and resource management method
JPWO2014184893A1 (ja) * 2013-05-15 2017-02-23 株式会社日立製作所 計算機システム及びリソース管理方法
WO2015198441A1 (ja) * 2014-06-26 2015-12-30 株式会社日立製作所 計算機システム、管理計算機、および管理方法
JPWO2015198441A1 (ja) * 2014-06-26 2017-04-20 株式会社日立製作所 計算機システム、管理計算機、および管理方法
WO2016013116A1 (ja) * 2014-07-25 2016-01-28 株式会社日立製作所 ストレージ装置
JPWO2016013116A1 (ja) * 2014-07-25 2017-04-27 株式会社日立製作所 ストレージ装置
US10296429B2 (en) 2014-07-25 2019-05-21 Hitachi, Ltd. Storage device
WO2016075779A1 (ja) * 2014-11-12 2016-05-19 株式会社日立製作所 計算機システムおよびストレージ装置

Also Published As

Publication number Publication date
US7953927B2 (en) 2011-05-31
US20090307419A1 (en) 2009-12-10
US20060224854A1 (en) 2006-10-05
US7565508B2 (en) 2009-07-21

Similar Documents

Publication Publication Date Title
US7953927B2 (en) Allocating clusters to storage partitions in a storage system
US8738975B2 (en) Runtime dynamic performance skew elimination
US7814351B2 (en) Power management in a storage array
US7181578B1 (en) Method and apparatus for efficient scalable storage management
US10042869B1 (en) Method for data transfer between compute clusters and file system
US7194592B2 (en) Storage system using load balancing among systems of varying performance
JP4903415B2 (ja) 記憶制御システム及び記憶制御方法
US20060218360A1 (en) Method, apparatus and program storage device for providing an optimized read methodology for synchronously mirrored virtual disk pairs
JP2002269023A (ja) 効率最適化方法およびパフォーマンス最適化システム
JP5882557B2 (ja) 要求優先順位シーク・マネージャ
US7814293B2 (en) Redundant controller host-side IO rerouting
JP5973089B2 (ja) ストレージシステムの移行方式および移行方法
CN105657066A (zh) 用于存储系统的负载再均衡方法及装置
CN102164165A (zh) 一种网络存储系统的管理方法及装置
US10082968B2 (en) Preferred zone scheduling
JP7419456B2 (ja) 記憶システム及びその制御方法
US9690693B2 (en) Storage system, storage apparatus, and computer product
US20240427524A1 (en) Multipath initiator for data storage device arrays
JP2022020926A (ja) ストレージシステム及び処理移行方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071212

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20090206

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20090216

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100512

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100712

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110210

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110408

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20111115