説明

ディスクアレイコントローラ及びディスクアレイの冗長化方法

【課題】ディスクアレイを構築した際に、記憶領域サイズの大きいハードディスク装置上に生じる余剰記憶領域を有効活用することである。
【解決手段】CPU部と、余剰記憶領域管理部と、異常予兆検知部と、データコピー制御部とを具備するディスクアレイコントローラによって解決できる。CPU部は、異なる記憶容量を有する記憶装置を含む複数の記憶装置に対して、ディスクアレイを構築する。余剰記憶領域管理部は、複数の記憶装置が全て同一の記憶容量を有していないことから生じる余剰記憶領域を管理する。異常予兆検知部は、複数の記憶装置ごとに、将来的に故障すると予測されるか否かを判断する。データコピー制御部は、異常予兆検知部によって、将来的に故障すると予測された記憶装置があった場合に、予測された記憶装置に格納されているデータを、余剰記憶領域にコピーする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ディスクアレイコントローラ及びディスクアレイの冗長化方法に関する。
【背景技術】
【0002】
複数のハードディスク装置を用いてディスクアレイを構築する際、ディスクアレイコントローラは、各ハードディスク装置から、全て同じサイズの記憶領域を確保して、ディスクアレイの構築に割り当てる。記憶領域サイズが異なる複数のハードディスク装置を用いてディスクアレイを構築する場合がある。この場合、通常、ディスクアレイコントローラは、記憶領域サイズが最も小さいハードディスク装置をベースにディスクアレイを構築する。そのため、記憶領域サイズの大きいハードディスク装置上に、構築されたディスクアレイでは使用されない余剰記憶領域が必ず存在してしまう。
【0003】
この余剰記憶領域に対して、明示的に第二のディスクアレイを構築することで、余剰記憶領域を活用する技術が存在する。しかし、実際のシステム運用の場面においては、余剰記憶領域を持つハードディスク装置は1台であることが多い。1台の場合、明示的に構築できる第二のディスクアレイは、RAID(Redundant Arrays of Inexpensive(又はIndependent) Disks)レベル0のディスクアレイとなるので冗長構成が無い。そのため、ハードディスク装置故障によるデータ紛失を避けるユーザは、余剰記憶領域を活用せずにそのまま運用しているケースが多く見受けられる。余剰記憶領域、すなわち、ハードディスク装置上の空き領域を有効に活用できていない。
【0004】
特開2006−172320号公報には、「データ複製制御装置」の発明が記載されている。このデータ複製制御装置は、RAIDを構成する記憶装置に記憶されたデータを複製する複製処理の制御をおこなう装置である。情報記憶手段と、複製元装置選択手段とを備える。情報記憶手段は、記憶装置のRAID種別の情報を記憶する。複製元装置選択手段は、情報記憶手段により記憶された情報に基づいて、複製元の記憶装置を選択する。
【0005】
特開2008−071189号公報には、「ディスクアレイ装置」の発明が記載されている。このディスクアレイ装置は、ディスクアレイを構成するディスク装置上の領域の一部でディスクアレイに組み込まれていない余剰領域をディスクアレイとは別の単体のディスク装置の領域として利用可能である。判定手段と、ディスクアレイ構築手段とを具備する。判定手段は、余剰領域が単体のディスク装置の領域として利用されているか否かを判定する。ディスクアレイ構築手段は、新たなディスクアレイを余剰領域を組み込んで構築する際、余剰領域が単体のディスク装置の領域として利用されているか否かを判定手段に判定させる。また、単体のディスク装置の領域として利用されていると判定された場合、当該余剰領域に記録されたデータを当該新たなディスクアレイ上に再配置する。
【0006】
特開平08−249132号公報には、「ディスクアレイ装置」の発明が記載されている。このディスクアレイ装置は、複数の記憶装置と、制御装置とを備える。複数の記憶装置は、上位装置からのデータと該データから生成されたパリティを格納する。制御装置には、該複数の記憶装置が接続される。該複数の記憶装置のうち少なくとも何れか2つの記憶装置は容量が異なる。該複数の記憶装置のうち、最も小さな容量の記憶装置に合わせて一つ以上のパリティグループを構成する。さらに、該パリティグループに含まれない空き領域により一つ以上のパリティグループまたは単体の記憶領域を構成する。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2006−172320号公報
【特許文献2】特開2008−071189号公報
【特許文献3】特開平08−249132号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
本発明の課題は、ディスクアレイを構築した際に、記憶領域サイズの大きいハードディスク装置上に生じる余剰記憶領域を有効活用することである。
【課題を解決するための手段】
【0009】
本発明の一つ目のアスペクトによるディスクアレイコントローラは、CPU部と、余剰記憶領域管理部と、異常予兆検知部と、データコピー制御部とを具備する。CPU部は、異なる記憶容量を有する記憶装置を含む複数の記憶装置に対して、ディスクアレイを構築する。余剰記憶領域管理部は、複数の記憶装置が全て同一の記憶容量を有していないことから生じる余剰記憶領域を管理する。異常予兆検知部は、複数の記憶装置ごとに、将来的に故障すると予測されるか否かを判断する。データコピー制御部は、異常予兆検知部によって、将来的に故障すると予測された記憶装置があった場合に、予測された記憶装置に格納されているデータを、余剰記憶領域にコピーする。
【0010】
本発明の二つ目のアスペクトによるディスクアレイの冗長化方法は、構築することと、管理することと、判断することと、コピーすることとを具備する。構築することにおいては、異なる記憶容量を有する記憶装置を含む複数の記憶装置を用いて、ディスクアレイを構築する。管理することにおいては、複数の記憶装置が全て同一の記憶容量を有していないことから生じる余剰記憶領域を管理する。判断することにおいては、複数の記憶装置ごとに、将来的に故障すると予測されるか否かを判断する。コピーすることにおいては、将来的に故障すると予測された記憶装置があった場合に、予測された記憶装置に格納されているデータを、余剰記憶領域にコピーする。
【発明の効果】
【0011】
本発明によれば、ディスクアレイを構築した際に、記憶領域サイズの大きいハードディスク装置上に生じる余剰記憶領域を有効活用することができる。
【図面の簡単な説明】
【0012】
【図1】ディスクアレイコントローラの構成説明図
【図2】ディスクアレイコントローラの動作を説明するフローチャート
【図3】動作イメージの説明図
【図4】ハードディスク装置が2台故障した場合の動作説明図
【発明を実施するための形態】
【0013】
本発明を実施するための形態について、図面を用いて詳細に説明する。図1は、一つの実施の形態におけるディスクアレイコントローラの構成説明図である。図1において、ディスクアレイコントローラ10は、CPU部12と、異常予兆検知部13と、RAID情報管理部14と、データコピー制御部15と、余剰記憶領域管理部16と、アクセス制御部17とを備えている。図示するように、ディスクアレイコントローラ10には、3台のハードディスク装置(HDD:Hard Disk Drive)52,54,56が接続されている。
【0014】
図中、CPU部12は、上位から発行された命令を解読し、リード/ライトアクセスを実行し、また、ディスクアレイの状態監視を行う。異常予兆検知部13は、アクセス制御部17でリード/ライト処理の際にエラーが発生したとき、更に、ハードディスク装置から異常予兆通知が発行されたとき、ハードディスク装置52,54,56ごとに、これらのエラー/通知をカウントする。RAID情報管理部14は、RAID情報を管理する。データコピー制御部15は、ハードディスク装置52,54,56が将来的に故障すると予測されると判断された場合に、ハードディスク装置52,54,56内のデータを余剰記憶領域にコピーする。余剰記憶領域管理部16は、ハードディスク装置52,54,56の情報を元に得られる余剰記憶領域を管理する。アクセス制御部17は、CPU部12からの指示により、ハードディスク装置52,54,56への書き込み/読み出し(リード/ライト)処理を行う。
【0015】
ディスクアレイコントローラ10の動作概要を説明する。上位からディスクアレイを構築すべき旨の指示があった場合、CPU部12は、アクセス制御部17に対して、ディスクアレイを構築するように指示すると共に、RAID情報管理部14に対し、ディスクアレイに関する情報を管理させる。このとき、各ハードディスク装置52,54,56、及びこれらに存在する余剰記憶領域を余剰記憶領域管理部16にて管理する。異常予兆検知部13がエラー回数のカウントを始める。このカウント値が、あるハードディスク装置について、ある一定値を超えると、異常予兆検知部13は、そのハードディスク装置は将来的に故障が予測されると判断する。そして、その旨を余剰記憶領域管理部16に通知する。余剰記憶領域管理部16は、そのハードディスク装置のデータサイズ及びその他のハードディスク装置に存在する余剰記憶領域サイズとを比較するなどし、データのコピー先となる余剰記憶領域を決定し、データコピー制御部15に通知する。データコピー制御部15は、将来的に故障が予測されるハードディスク装置のデータを、余剰記憶領域にコピーする。
【0016】
図2のフローチャートを用いて、ディスクアレイコントローラ10の詳細動作を説明する。図2において、CPU部12によりディスクアレイは構築済みとする。まず、ディスクアレイコントローラ10は、上位から発行された命令をCPU部12で解読し、書き込み/読み出し(リード/ライト)指示をアクセス制御部17に与える。アクセス制御部17は、ディスクアレイに対して、リード/ライトを実施する(ST11)。アクセス制御部17でリード/ライト実施中にエラーの発生を検出したとき、異常予兆検知部13にて、ハードディスク装置ごとにカウントするエラー回数のカウント値をカウントアップする(ST12)。更に、ハードディスク装置自身が持つ異常予兆機能による異常予兆通知(S.M.A.R.T.:Self−Monitoring Analysis and Reporting Technology)が、いずれかのハードディスク装置から発せられたとき、異常予兆検知部13にて、その異常予兆通知を1つのエラーとして、エラー回数のカウント値をカウントアップする(ST12)。
【0017】
異常予兆検知部13は、エラー回数のカウント値に対して、ある一定のしきい値を持っている。異常予兆検知部13は、ステップST12でカウントしたカウント値がそのしきい値を超えていないかを確認する(ST13)。エラー回数のカウント値がしきい値を超えていない場合には(ST13:ノー)、そのままステップST11の状態に戻る。エラー回数のカウント値がしきい値を超えていた場合には(ST13:イエス)、異常予兆検知部13は、そのハードディスク装置が将来的に故障すると予測される状態になっていると判断する。そして、将来的に故障が予測されるハードディスク装置を特定する番号等の情報を、余剰記憶領域管理部16へ通知する。
【0018】
余剰記憶領域管理部16は、自身で保持する余剰記憶領域情報及び故障が予測されるという通知を受けたハーディスク装置のサイズとを比較するなどする。そして、コピー先となり得る余剰記憶領域を決定し、データコピー制御部15へ通知する(ST14)。データコピー制御部15は、余剰記憶領域管理部16からの通知に基づいて、データコピー元及びコピー先情報を得る。そして、データのコピーをアクセス制御部17に指示し、データのコピーを実施する(ST15)。このようにして、予測されたハードディスク装置の故障時に備えることが可能になる。
【0019】
図3は、動作イメージの説明図である。図3において、3台のハードディスク装置52,54,56を用いてディスクアレイ50が構築されている。図中、1台のハードディスク装置56は、他の2台のハードディスク装置52,54よりも記憶容量が大きい。図示するように、その1台のハードディスク装置56には、ディスクアレイ50では使用されない余剰記憶領域20が存在する。
【0020】
図3において、ハードディスク装置52について、エラー回数のカウント値が一定のしきい値を超えたとする。すると、余剰記憶領域管理部16が、ハードディスク装置52からハードディスク装置56の余剰記憶領域20へ、故障に備えたデータのコピーを指示する。データコピー制御部15は、データコピー元及びコピー先情報を得ると共に、アクセス制御部17に指示して、データのコピーを実施する。その後、ハードディスク装置52が故障したとしても、ハードディスク装置56の余剰記憶領域20に保存したデータを利用できるので、冗長構成を維持できる。
【0021】
本実施の形態によれば、ディスクアレイを構築したときに生じるハードディスク装置の余剰記憶領域を有効活用できるという効果がある。本実施の形態においては、余剰記憶領域を、将来的に故障が予測されるハードディスク装置のデータを事前にコピーしておく領域として活用している。このようにすれば、故障が予測されたハードディスク装置が実際に故障してしまった場合でも、縮退運用とならずに、冗長性を保ったままでのシステム運用が可能となる。
【0022】
RAIDレベル5のディスクアレイにおいては、一般的に、1台のハードディスク装置が故障した場合、縮退運転となるもののシステム運用は継続できる。しかし、2台のハードディスク装置が故障した場合、システムダウンにつながってしまう。一方、本実施の形態によれば、合計2台のハードディスク装置が故障した場合でもシステム運用を継続できる。すなわち、故障が予測された第一のハードディスク装置が実際に故障してしまった後に、さらにその故障した第一のハードディスク装置と冗長構成を組む第二のハードディスク装置が故障してしまった場合でも、システム運用を継続できる。これは、余剰記憶領域を持ちその領域に対して故障すると予測された第一のハードディスク装置のデータがコピーされている第三のハードディスク装置を活用できるためである。
【0023】
本実施の形態の応用例として、コピー元となるハードディスク装置のデータ領域サイズと比較して十分大きな余剰記憶領域を持つハードディスク装置が2台存在する場合について説明する。応用例では、2台のハードディスク装置の余剰記憶領域それぞれに対して、同一データのコピーを重複して実施する。同じデータを、2台のハードディスク装置の余剰記憶領域それぞれに対してコピーすることにより、2つの余剰記憶領域のみでミラーリングを実現することが可能となる(RAIDレベル1)。この場合、コピー元である将来的に故障が予測されるハードディスク装置が故障してしまった場合であっても、ディスクアレイを縮退させることなく運用を継続することが可能である。さらに、ミラーリングを実現した余剰記憶領域を有するハードディスク装置2台のうち、1台が故障してしまったとしても、ディスクアレイを停止させることなく運用を継続することが可能となる。そのため、RAIDレベル5のディスクアレイと比較して、非常に高い冗長度を持たせることができる。
【0024】
具体的な応用例として、ハードディスク装置3台でRAIDレベル5のディスクアレイを構築した場合について説明する。図4は、RAIDレベル5のディスクアレイにおいて、ハードディスク装置が2台故障した場合の動作説明図である。図4において、3台のハードディスク装置(PD:Phisical Disk)62,64,66を用いてディスクアレイ(RAIDレベル5)60が構築されている。3台のハードディスク装置62,64,66において、それぞれのアレイ領域A−1,A−2,A−3は、ディスクアレイ60で使用される領域である。一方、記憶容量が他の1台のハードディスク装置62よりも大きい2台のハードディスク装置64,66におけるそれぞれの余剰記憶領域M−1,M−2は、ディスクアレイ60では使用されない領域となっている。
【0025】
仮に、ハードディスク装置62が将来的に故障すると予測される状態となった場合、ディスクアレイコントローラ10の余剰記憶領域管理部16は、ハードディスク装置62に記憶されたデータのコピー先として、2つの余剰記憶領域M−1,M−2を割り当てる。このとき、データコピー制御部15は、アレイ領域A−1のデータを、余剰記憶領域M−1にコピーし、かつ、余剰記憶領域M−2に対しても重複してコピーする。
【0026】
その後、予測どおりハードディスク装置62が故障した場合(図中左側の×印)、ディスクアレイコントローラ10は、アレイ領域A−1に格納されているデータに対してリード/ライトアクセスすることは不可能となる。しかし、ハードディスク装置64の余剰記憶領域M−1、及びハードディスク装置66の余剰記憶領域M−2にコピーデータが存在する。そのため、ディスクアレイ60を縮退させることなく運用を継続することが可能である。
【0027】
さらに、余剰記憶領域M−1を持つハードディスク装置64も故障してしまった場合(図中中央の×印)、ディスクアレイコントローラ10は、ハードディスク装置62のアレイ領域A−1に格納されたデータ、ハードディスク装置64のアレイ領域A−2に格納されたデータ、及び、ハードディスク装置64の余剰記憶領域M−1に格納されたデータに対してリード/ライトアクセスすることは不可能となる。しかしながら、ハードディスク装置62のアレイ領域A−1に格納されたデータの代替として、ハードディスク装置66の余剰記憶領域M−2に格納されたデータを使用することが可能である。
【0028】
また、アレイ領域A−1,A−2,A−3でRAIDレベル5のディスクアレイを構築しているため、2台のハードディスク装置62,64が故障した場合であっても,アレイ領域A−2に格納されたデータが必要なときには、アレイ領域A−1の代替であるハードディスク装置66の余剰記憶領域M−2に格納されたデータ、及び、ハードディスク装置62,64のアレイ領域A−1,A−2と冗長構成を組むハードディスク装置66のアレイ領域A−3に格納されたデータが利用可能である。
【0029】
このように、本実施の形態の応用例においては、ディスクアレイを構築するハードディスク装置1台が故障した場合であっても冗長構成を維持し、縮退運用状態となることを回避できる。また、ハードディスク装置2台が故障した場合であっても、システム運用を継続できる。
【符号の説明】
【0030】
10 ディスクアレイコントローラ
12 CPU部
13 異常予兆検知部
14 RAID情報管理部
15 データコピー制御部
16 余剰記憶領域管理部
17 アクセス制御部
20,M−1,M−2 余剰記憶領域
50,60 ディスクアレイ
52,54,56,62,64,66 ディスク装置
A―1,A−2,A−3 アレイ用記憶領域

【特許請求の範囲】
【請求項1】
異なる記憶容量を有する記憶装置を含む複数の記憶装置に対して、ディスクアレイを構築するCPU部と、
前記複数の記憶装置が全て同一の記憶容量を有していないことから生じる余剰記憶領域を管理する余剰記憶領域管理部と、
前記複数の記憶装置ごとに、将来的に故障すると予測されるか否かを判断する異常予兆検知部と、
前記異常予兆検知部によって、将来的に故障すると予測された記憶装置があった場合に、前記予測された記憶装置に格納されているデータを、前記余剰記憶領域にコピーするデータコピー制御部とを具備する
ディスクアレイコントローラ。
【請求項2】
前記CPU部は、
前記予測された記憶装置が故障した場合において、前記予測された記憶装置に対するリード又はライトアクセスがあったときに、前記余剰記憶領域にコピーしたデータにより前記リード又はライトアクセスを実行する
請求項1記載のディスクアレイコントローラ。
【請求項3】
前記余剰記憶領域管理部は、
前記複数の記憶装置の中で、いずれか2つの記憶装置に余剰記憶領域が存在していた場合には、前記2つの記憶装置の余剰記憶領域を管理し、
前記データコピー制御部は、
前記余剰記憶領域管理部によって管理されている前記2つの記憶装置の余剰記憶領域それぞれに対して、前記予測された記憶装置に格納されているデータを重複してコピーする
請求項2記載のディスクアレイコントローラ。
【請求項4】
前記CPU部は、
前記予測された記憶装置が故障し、前記予測された記憶装置と冗長構成を組む記憶装置が故障し、かつ、前記2つの記憶装置における一方の記憶装置が故障した場合において、前記予測された記憶装置に対するリード又はライトアクセスがあったときに、前記2つの記憶装置における他方の記憶装置の余剰記憶領域にコピーしたデータにより前記リード又はライトアクセスを実行する
請求項3記載のディスクアレイコントローラ。
【請求項5】
前記CPU部は、
前記複数の記憶装置の中で、最も記憶容量が小さい記憶装置の記憶容量を最小記憶容量とした場合に、前記複数の記憶装置全てから、それぞれ前記最小記憶容量を確保して、前記ディスクアレイを構築し、
前記余剰記憶領域管理部は、
前記複数の記憶装置の中で、前記最小記憶容量よりも大きな記憶容量を有する記憶装置の余剰記憶領域を管理する
請求項4記載のディスクアレイコントローラ。
【請求項6】
前記異常予兆検知部は、
リード又はライトアクセスがあったときに発生するエラーの数をカウントし、前記エラーの数に基づいて、前記複数の記憶装置ごとに、将来的に故障すると予測されるか否かを判断する
請求項5記載のディスクアレイコントローラ。
【請求項7】
前記異常予兆検知部は、
更に、前記複数の記憶装置それぞれから通知される異常予兆通知(S.M.A.R.T.:Self−Monitoring Analysis and Reporting Technology)の数をカウントし、前記通知の数に基づいて、前記複数の記憶装置ごとに、将来的に故障すると予測されるか否かを判断する
請求項6記載のディスクアレイコントローラ。
【請求項8】
異なる記憶容量を有する記憶装置を含む複数の記憶装置を用いて、ディスクアレイを構築することと、
前記複数の記憶装置が全て同一の記憶容量を有していないことから生じる余剰記憶領域を管理することと、
前記複数の記憶装置ごとに、将来的に故障すると予測されるか否かを判断することと、
将来的に故障すると予測された記憶装置があった場合に、前記予測された記憶装置に格納されているデータを、前記余剰記憶領域にコピーすることとを具備する
ディスクアレイの冗長化方法。
【請求項9】
前記管理することにおいては、
前記複数の記憶装置の中で、いずれか2つの記憶装置に余剰記憶領域が存在していた場合には、前記2つの記憶装置の余剰記憶領域を管理することを含み、
前記コピーすることにおいては、
前記2つの記憶装置の余剰記憶領域それぞれに対して、前記予測された記憶装置に格納されているデータを重複してコピーすることを含む
請求項8記載のディスクアレイの冗長化方法。
【請求項10】
前記予測された記憶装置が故障し、前記予測された記憶装置と冗長構成を組む記憶装置が故障し、かつ、前記2つの記憶装置における一方の記憶装置が故障した場合において、前記予測された記憶装置に対するリード又はライトアクセスがあったときに、前記2つの記憶装置における他方の記憶装置の余剰記憶領域にコピーしたデータにより前記リード又はライトアクセスを実行することを更に含む
請求項9記載のディスクアレイの冗長化方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate