(57)【要約】【課題】物理ディスクの故障や経路の故障により冗長性を失っている場合のデータ損失の危険性を回避し、また、スループットの低下を回避できるようにする。【解決手段】ホスト装置１０からディスクアレイ制御装置１１に新たなデータの書き込み要求があると、プロセッサ８０は、論理ディスク状態テーブル７０及びディスク経路状態テーブル７１を確認し、冗長性が確保されている場合には、負荷分散を考慮して、仮想ボリューム５０、５１内の論理ディスク１００に偏り無く分散してデータを配置し、冗長性が無くなっている論理ディスク１００に対しては、新たなデータ格納領域としては確保しないようにする。また、定期的な監視デーモンタスクによって、冗長性の無い論理ディスク１００上に配置されているデータは、順次、冗長性のある論理ディスク１００へとデータを移動させる。【選択図】図１
2010256975.tif 000002
【特許請求の範囲】
【請求項１】
新たなデータの書き込み要求を受けると、論理ディスクの冗長性及び経路の冗長性が確保されているか否かを判定する手段と、
前記論理ディスクの冗長性及び経路の冗長性が確保されている場合には、仮想ボリューム内の論理ディスクに偏り無く分散してデータを配置し、前記論理ディスクの冗長性又は経路の冗長性を失っている場合には、前記仮想ボリューム中の前記冗長性を失っている論理ディスク及び前記経路の冗長性を失っている経路に繋がる論理ディスク以外の論理ディスクにデータを配置する手段と
を備えることを特徴とするディスクアレイ制御装置。
【請求項２】
さらに、前記冗長性を失っている論理ディスク及び前記冗長性を失っている経路に繋がる論理ディスク上に配置されているデータを、順次、冗長性のある論理ディスクへ移動させる処理を定期的に行う手段を有することを特徴とする請求項１に記載のディスクアレイ制御装置。
【請求項３】
さらに、論理ディスクと物理ディスクとの関係を含む論理ディスク状態テーブルを有し、
前記論理ディスク状態テーブルにより、前記論理ディスクの冗長性が確保されているか否かを判定し、
物理ディスクの故障が検知されると、前記論理ディスク状態テーブルが更新される
ことを特徴とする請求項１又は２に記載のディスクアレイ制御装置。
【請求項４】
さらに、論理ディスクと経路との関係を含むディスク経路状態テーブルを有し、
前記ディスク経路状態テーブルにより、前記経路の冗長性が確保されているか否かを判定し、
経路の故障が検知されると、前記ディスク経路状態テーブルが更新される
ことを特徴とする請求項１から３の何れかに記載のディスクアレイ制御装置。
【請求項５】
請求項１から４の何れかに記載したディスクアレイ制御装置をコンピュータで実現させることを特徴とするコンピュータプログラム。
【請求項６】
新たなデータの書き込み要求を受けると、論理ディスクの冗長性及び経路の冗長性が確保されているか否かを判定し、
前記論理ディスクの冗長性及び経路の冗長性が確保されている場合には、仮想ボリューム内の論理ディスクに偏り無く分散してデータを配置し、前記論理ディスクの冗長性又は経路の冗長性を失っている場合には、前記仮想ボリューム中の前記冗長性を失っている論理ディスク及び前記冗長性を失っている経路に繋がる論理ディスク以外の論理ディスクにデータを配置する
ことを特徴とするディスクアレイ制御方法。
【請求項７】
さらに、前記冗長性を失っている論理ディスク及び前記冗長性を失っている経路に繋がる論理ディスク上に配置されているデータを、順次、冗長性のある論理ディスクへ移動させる処理を定期的に行うことを特徴とする請求項６に記載のディスクアレイ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想化機能を有するディスクアレイを制御するのに用いて好適なディスクアレイ制御装置及び方法並びにプログラムに関する。
【背景技術】
【０００２】
アクセス速度の向上や信頼性の向上を図るために、複数の物理ディスクをＲＡＩＤ（Redundant Arrays of Inexpensive Disk）構成とすることが行われている。ＲＡＩＤタイプには各種のものがあり、アクセス速度を優先するか信頼性を優先するか等に応じて、ＲＡＩＤのタイプが決定される。また、仮想化機能を有するディスクアレイ装置では、ストレージリソースの利用効率を高めるために、仮想ボリュームが設定できる。例えば特許文献１に示されるように、仮想ボリュームでは、ホスト装置からの要求に応じて、論理ボリュームの記憶領域を動的に割り当てることができる。
【０００３】
また、障害が発生する前の正常状態の時に論理ディスクのレプリカを作成しておくことによって、ディスクに障害が発生時にレプリカ側の冗長性を活かして安全にコピー動作を行うものが提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−２３４１５８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
仮想化機能を有するディスクアレイ装置においては、負荷分散を考慮して、仮想ボリュームでのデータの配置は、どの論理ディスクに対しても偏り無く規則的に配置していくのが一般的である。ところが、このようにすると、物理ディスクの故障やケーブル等の故障により冗長性を失っている論理ディスクに対しても、データを配置してしまうことになる。ディスクアレイ装置は、冗長性を保つために様々なＲＡＩＤタイプの論理ディスクを構成するが、冗長ディスク数以上の物理ディスクが故障すると、論理閉塞状態に陥り、データ損失の危険性が高まることになる。
【０００６】
また、高信頼性ディスクアレイ装置では物理ディスクへのアクセス経路を二重化しているのが一般的で、二重化した経路を両方使うことでスループット性能を向上させている。このような構成で、一方の経路に故障が生じると、スループットの低下を招くことになる。
【０００７】
また、障害が発生する前の正常状態の時に論理ディスクのレプリカを作成するものでは、レプリカを作成するためには、２倍のディスクリソースを使う必要がある。また、書き込み要求に対しては、正規のディスクとレプリカディスクの両方に書き込みを行わなければならず、運用性能が劣化してしまう。
【０００８】
上述の課題を鑑み、本発明は、物理ディスクの故障や経路の故障により冗長性を失っている場合のデータ損失の危険性を回避し、また、スループットの低下を回避できるディスクアレイ制御装置及び方法並びにプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上述の課題を解決するために、本発明は、新たなデータの書き込み要求を受けると、論理ディスクの冗長性及び経路の冗長性が確保されているか否かを判定する手段と、論理ディスクの冗長性及び経路の冗長性が確保されている場合には、仮想ボリューム内の論理ディスクに偏り無く分散してデータを配置し、論理ディスクの冗長性又は経路の冗長性を失っている場合には、仮想ボリューム中の冗長性を失っている論理ディスク及び経路の冗長性を失っている経路に繋がる論理ディスク以外の論理ディスクにデータを配置する手段とを備えることを特徴とするディスクアレイ制御装置である。
【００１０】
本発明は、新たなデータの書き込み要求を受けると、論理ディスクの冗長性及び経路の冗長性が確保されているか否かを判定し、論理ディスクの冗長性及び経路の冗長性が確保されている場合には、仮想ボリューム内の論理ディスクに偏り無く分散してデータを配置し、論理ディスクの冗長性又は経路の冗長性を失っている場合には、仮想ボリューム中の冗長性を失っている論理ディスク及び冗長性を失っている経路に繋がる論理ディスク以外の論理ディスクにデータを配置することを特徴とするディスクアレイ制御方法である。
【発明の効果】
【００１１】
本発明によれば、新たなデータの書き込み要求を受けると、論理ディスクの冗長性及び経路の冗長性が確保されているか否かを判定し、論理ディスク及び経路の冗長性が確保されている場合には、負荷分散を考慮して、仮想ボリューム内の論理ディスクに偏り無く分散してデータを配置し、論理ディスクの冗長性又は経路の冗長性を失っている場合には、仮想ボリューム中の冗長性を失っている論理ディスク及び冗長性を失っている経路に繋がる論理ディスク以外の論理ディスクにデータを配置している。これにより、冗長ディスク数以上の物理ディスク故障により論理ディスクが閉塞状態となることを回避することができる。すなわちデータ損失の危険性を低減することができる。また、経路故障によりスループットが低減している論理ディスクへのデータ配置を回避しているので、性能劣化を防ぐことができる。
【００１２】
また、本発明によれば、冗長性の無い論理ディスク上に配置されているデータを、順次、冗長性のある論理ディスクへ移動させる処理を定期的に行うようにしている。このため、ユーザの手間を省き、常に最適なデータ配置状態を保つことができる。
また、本発明によれば、論理ディスクのレプリカを作成する場合と比較してディスクリソースを抑えることができ、また、通常運用における書き込み要求に対しても、性能が劣化することはない。
【図面の簡単な説明】
【００１３】
【図１】本発明の第１の実施形態のディスクアレイ装置の説明に用いるブロック図である。
【図２】本発明の第１の実施形態のディスクアレイ装置における論理ディスク状態テーブルの一例の説明図である。
【図３】本発明の第１の実施形態のディスクアレイ装置における論理ディスクや経路の障害の説明図である。
【図４】本発明の第１の実施形態のディスクアレイ装置におけるディスク経路状態テーブルの一例の説明図である。
【図５】本発明の第１の実施形態のディスクアレイ装置における新規データ格納領域へのデータ格納処理を示すフローチャートである。
【図６】本発明の第１の実施形態のディスクアレイ装置における冗長性の無い論理ディスク上に配置されているデータを冗長性のある論理ディスクへと移動させる処理を示すフローチャートである。
【発明を実施するための形態】
【００１４】
以下、本発明の実施の形態について図面を参照しながら説明する。
＜第１の実施形態＞
図１は、本発明の第１の実施形態のディスクアレイ制御装置１１の一例を示すものである。図１において、ディスクアレイ制御装置１１は、ホストアクセス制御部２０、２１、２２と、プロセッサ８０と、論理ディスク状態テーブル７０と、ディスク経路状態テーブル７１と、データ割当て関連テーブル７２と、ディスクアクセス制御部３０、３１、３２とから構成される。
【００１５】
ディスクエンクロージャ４０、４１、４２は、複数の物理ディスク９０を収納して構成される。ＲＡＩＤタイプに応じて複数の物理ディスク９０から論理ディスク１００が構成される。また、複数の論理ディスク１００から仮想ボリューム５０、５１が構成される。
【００１６】
つまり、ディスクエンクロージャ４０、４１、４２内の複数の物理ディスク９０は、ＲＡＩＤ構成とすることにより、ホスト装置１０からは、論理ディスク１００として扱われる。また、ここでは、物理ボリュームとして３つのディスクエンクロージャ４０、４１、４２からなるストレージデバイスが設けられている。これらのストレージデバイスは、仮想化機能により、２つの仮想ボリューム５０、５１として扱われる。
【００１７】
ホストアクセス制御部２０、２１、２２は、ホスト装置１０との間のデータのアクセス制御を行っている。ディスクアクセス制御部３０、３１、３２は、ディスクエンクロージャ４０、４１、４２との間のデータのアクセス制御を行っている。ここでは、ディスクアクセス制御部３０、３１、３２とディスクエンクロージャ４０、４１、４２との間は、それぞれ２系統の経路によって接続されている。すなわち、ディスクアクセス制御部３０とディスクエンクロージャ４０との間は、経路６０及び６１によって接続され、ディスクアクセス制御部３１とディスクエンクロージャ４１との間は、経路６２及び６３によって接続され、ディスクアクセス制御部３２とディスクエンクロージャ４２との間は、経路６４及び６５によって接続されている。このように、物理ディスクへのアクセス経路を二重化することで、スループット性能を向上させている。
【００１８】
論理ディスク状態テーブル７０は、論理ディスク１００の管理を行うためのテーブルである。この論理ディスク状態テーブル７０には、論理ディスクと物理ディスクとの関係が含まれている。ディスク経路状態テーブル７１は、ディスクアレイ制御装置１１とディスクエンクロージャ４０、４１、４２との間を接続する経路６０〜６５の管理を行うためのテーブルである。このディスク経路状態テーブル７１には、論理ディスクと経路との関係が含まれている。データ割当て関連テーブル７２は、各ディスクに割り当てるデータの管理を行うためのテーブルである。
【００１９】
図２は、論理ディスク状態テーブル７０の一例を示すものである。図２（Ａ）に示すように、論理ディスク状態テーブル７０は、論理ディスク毎に、ＲＡＩＤタイプ２００、ディスク数２０１、冗長ディスク数２０２、冗長パス（経路）数２０３、物理ディスク番号２０４、縮退ディスク番号２０５からなる。
【００２０】
論理ディスク状態テーブル７０は、論理ディスク若しくは経路状態が変化した際に、プロセッサ８０により更新される。例えば、図３に示すように、ディスクエンクロージャ４０中の論理ディスク番号「１」に故障が生じたとする。このような物理ディスク９０の故障がプロセッサ８０により検出されると、論理ディスク状態テーブルの冗長ディスク数２０２が図２（Ｂ）に示すように更新される。
【００２１】
図４は、ディスク経路状態テーブル７１の一例を示すものである。ディスク経路状態テーブル７１は、図４（Ａ）に示すように、経路毎に、その経路に繋がる配下の論理ディスク番号３００、冗長経路番号３０１、冗長経路数３０２からなる。
【００２２】
ディスク経路状態テーブル７１は、経路状態若しくは論理ディスク構成が変化した際に、プロセッサ８０により更新される。例えば、図３に示すように、ディスクアレイ制御装置１１とディスクエンクロージャ４１との間の経路６３に故障が生じたとする。このような経路６３の故障がプロセッサ８０により検出されると、ディスク経路状態テーブル７１の冗長経路数３０２が図４（Ｂ）に示すように更新される。
【００２３】
ディスクアレイ制御装置１１のプロセッサ８０は、ホスト装置１０からのデータ格納要求を受け付けた場合、データ格納領域が既に割当て済みか否かを確認し、未割当ての場合には、新規データ格納領域へのデータ格納処理を行う。このとき、本発明の第１の実施形態では、論理ディスク１００の冗長性及び経路の冗長性が確保されているか否かを判定し、論理ディスク１００の冗長性及び経路の冗長性が確保されている場合には、負荷分散を考慮して、仮想ボリューム５０、５１内の論理ディスク１００に偏り無く分散してデータを配置し、論理ディスク１００の冗長性又は経路の冗長性が確保されている場合には、冗長性が無くなっている論理ディスク１００又は冗長性が無くなっている経路に繋がる論理ディスク１００を、新たなデータ格納領域として確保しないようにしている。また、定期的な監視デーモンタスクによって、冗長性の無い論理ディスク１００及び冗長性を失っている経路に繋がる論理ディスク１００上に配置されているデータは順次、冗長性のある論理ディスク１００へとデータを移動させるようにしている。
【００２４】
図５は、本発明の第１の実施形態において、ホスト装置１０からのデータ格納要求を受け付けた場合の新規データ格納領域へのデータ格納処理を示すフローチャートである。
【００２５】
図５において、まず、プロセッサ８０は、図２に示す論理ディスク状態テーブル７０の冗長ディスク数２０２が「０」でないか、若しくは図４に示すディスク経路状態テーブル７１の冗長経路数３０２が「０」でないかを確認する（ステップ４０１）。冗長ディスク数２０２または冗長経路数３０２が「０」であるデータが存在する場合は、プロセッサ８０は、仮想ボリューム内の当該論理ディスク以外の論理ディスクからデータ格納領域を確保する（ステップ４０２）。冗長ディスク数２０２又は冗長経路数３０２が「０」であるデータが存在しない場合は、プロセッサ８０は、仮想ボリューム内の全論理ディスクからデータ配置が均等になるように論理ディスクを選択し、データ格納領域を確保する（ステップ４０３）。確保する領域が決定すると、プロセッサ８０は、当該領域にデータを格納する（ステップ４０４）。
【００２６】
また、図６は、定期的な監視デーモンタスクによって、冗長性の無い論理ディスク上に配置されているデータを冗長性のある論理ディスクへと移動させる処理を示すフローチャートである。
【００２７】
図６において、まず、監視デーモンタスクがタイマによって一定間隔で起床すると（ステップ５０１）、冗長性が無い論理ディスク又は冗長性が無い経路につながる論理ディスクの存在を確認する（ステップ５０２）。冗長性が無い論理ディスク又は冗長性が無い経路につながる論理ディスクが存在した場合は、プロセッサ８０は、当該論理ディスク上に既に格納済みデータが有るかを確認する（ステップ５０３）。格納済みデータが有る場合、プロセッサ８０は、データ整合性の保つため当該データ領域をロックし（ステップ５０４）、該当論理ディスク上のデータを読み出し、冗長性のある論理ディスク上にデータをコピーし、データ割当て管連テーブルを更新する（ステップ５０５）。そして、プロセッサ８０は、当該データ領域のロックを外し（ステップ５０６）、処理を終了する。これを一定時間毎に繰り返すことにより、冗長性の無い論理ディスクからデータが無くなり、冗長性のある論理ディスクが当該データを格納することになる。
【００２８】
上述のように、本発明の第１実施形態のディスクアレイ制御装置１１では、論理ディスク１００の管理を行うための論理ディスク状態テーブル７０と、経路６０、６１、６２の管理を行うためのディスク経路状態テーブル７１とが設けられている。論理ディスク状態テーブル７０は物理ディスク９０が故障が検知されると随時更新され、ディスク経路状態テーブル７１は経路６３の故障が検知されると随時更新される。
【００２９】
ホスト装置１０からディスクアレイ制御装置１１に新たなデータの書き込み要求があると、プロセッサ８０は、論理ディスク状態テーブル７０及びディスク経路状態テーブル７１を確認し、冗長性が確保されている場合には、負荷分散を考慮して、仮想ボリューム５０、５１内の論理ディスク１００に偏り無く分散してデータを配置し、冗長性が確保されていない場合には、冗長性が無くなっている論理ディスク１００又は冗長性が無くなっている経路に繋がる論理ディスク１００を、新たなデータ格納領域として確保しないようにしている。
【００３０】
また、定期的な監視デーモンタスクによって、冗長性の無い論理ディスク１００又は冗長性の無い経路に繋がる論理ディスク１００上に配置されているデータは、順次、冗長性のある論理ディスク１００へとデータを移動させるようにしている。このように、本発明の第１の実施形態では、常に冗長性のある論理ディスクにデータを配置するように制御しているので、データ信頼性の低下や性能劣化を防ぐことができる。
【００３１】
また、本発明の第１に実施形態では、冗長性の無い論理ディスク上に配置されているデータを、順次、冗長性のある論理ディスクへ移動させる処理を定期的に行うようにしている。このため、ユーザの手間を省き、常に最適なデータ配置状態を保つことができる。また、本発明によれば、論理ディスクのレプリカを作成する場合と比較してディスクリソースを抑えることができ、また、通常運用における書き込み要求に対しても、性能が劣化することはない。
【００３２】
＜第２の実施形態＞
本発明の第２の実施形態として、その基本的構成は第１の実施形態と同様であるが、実体容量以上の仮想ボリュームを構築でき、実体容量が必要になった時点でディスクを増設する機能すなわちシンプロビジョにング機能を備えたディスクアレイ装置についても、本発明のデータ配置アルゴリズムを適用できる。この場合に、データ信頼性の向上・性能劣化の防止という効果が得られる。
【００３３】
なお、上述の実施形態では、ディスクアレイ制御装置１１をホスト装置１０とは別のハードウェアで構成しているが、ディスクアレイ制御装置１１をホスト装置１０内に組み込むようにしても良い。また、ディスクアレイ制御装置１１の処理は、コンピュータプログラムによりソフトウェアで実現しても良い。
【００３４】
本発明は、上述した実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
【符号の説明】
【００３５】
１０  ホスト装置
１１  ディスクアレイ制御装置
２０  ホストアクセス制御部
３０  ディスクアクセス制御部
４０  ディスクエンクロージャ
５０、５１  仮想ボリューム
６０〜６５  経路
７０  論理ディスク状態テーブル
７１  ディスク経路状態テーブル
７２  データ割当て関連テーブル
８０  プロセッサ
９０  物理ディスク
１００  論理ディスク
【図１】
2010256975.tif 000003
【図２】
2010256975.tif 000004
【図３】
2010256975.tif 000005
【図４】
2010256975.tif 000006
【図５】
2010256975.tif 000007
【図６】
2010256975.tif 000008