(58)【調査した分野】(Int.Cl.,DB名)
前記モード設定手段により設定される第一〜第三のモードにて、スペアディスクによる復旧時のみに当該スペアディスクに電源供給することを特徴とする請求項1に記載のディスクアレイ装置。
前記モード設定手段により設定される第一〜第三のモードにて、RAID毎に設定されたスペアディスク利用の優先度順に基づきスペアディスクを利用することを特徴とする請求項1又は2のいずれか1項に記載のディスクアレイ装置。
【背景技術】
【0002】
一般的なディスクアレイ装置では、ディスク障害が発生してもデータロストすることがないよう複数のディスクでRAIDを構築して冗長化を行い、耐障害性を高めている。
しかし、RAIDを構築するディスクが故障した場合には、復旧するまでの間、非冗長で耐障害性が低下した状態での運用となり、RAIDを構築する他のディスクで障害が発生した場合にはデータが利用不可となる。
【0003】
そのため、一般的なディスクアレイ装置では、予めディスクアレイ装置内に予備のディスク(ホットスペアディスク)を搭載し、ディスクの障害が発生した場合には障害ディスクを論理的に切り離し、ホットスペアディスクを用いてRAIDの再構築を行うことにより冗長状態を復旧して耐障害性を維持する。
その後、保守員が障害ディスクの交換を行うと、通常は交換後のディスクでRAIDの再構築を行い、障害発生時にRAID復旧するために使われたスペアディスクは再度待機状態となる。
このように、ホットスペアディスクを用いた場合には、障害発生時、ディスク交換時の2回RAIDの再構築が行われることとなる。
【0004】
一方、ディスクアレイ装置の障害発生に関連した技術として、特許文献1〜4が知られている。
特許文献1に示されるストレージシステムでは、各ドライブにRAIDグループを構成し、ドライブ故障の兆候を事前に検出した場合などに、故障しそうなドライブから、スペアドライブへのコピー処理のために、ドライブコピー処理プログラムを起動するといった構成が示される。
【0005】
特許文献2に示されるハードディスク冗長管理装置では、ハードディスクの稼動状況を監視し、予め定めた閾値などと計測値を比較するなどにて故障の発生を検出し、故障を検出した際に、予備のハードディスクの電源を自動的に投入し、稼動中のハードディスクの内容を複製し、同時に故障と判定したハードディスクの電源を切断するといった構成が示される。
【0006】
特許文献3に示されるディスクアレイ装置のスペアディスク制御部では、論理ディスクを構成する物理ディスクに障害が発生すると、優先度記憶部を参照して、障害が発生した物理ディスクを用いて構成される論理ディスクの復旧優先度を取得する。
その後、スペアディスク制御部では、取得した復旧優先度に基づき、スペアディスクを構成する物理ディスクに、データ復旧に使用するブロックを割り当て、その割り当てたブロックを使用して、冗長化回復を行うとの構成が示される。
【0007】
特許文献4に示される多重化構成自動復旧システムでは、予備ディスク管理手段によって選択された予備ディスクを用い、復旧方針記憶部に記憶された情報に基づき決定された復旧方針に従って、多重化構成の復旧を開始するとの構成が示される。
【発明を実施するための形態】
【0015】
本発明に係るディスクアレイ装置100について
図1を参照して説明する。
このディスクアレイ装置100は、複数台のハードディスクが組み合わされたディスクアレイシステム(RAID)に障害が発生した際、又は障害の予兆があるRAID復旧モードとして複数のモードのいずれかを設定可能にするモード設定手段1と、モード設定手段1で選択された第一〜第三のモードに対応した処理を行う復旧手段2とを有する。
【0016】
復旧手段2は、第1復旧手段2A、第2復旧手段2B及び第3復旧手段2Cを有する。
そして、第1復旧手段2Aでは、モード設定手段1で設定された第一のモードの制御内容に基づき、障害発生時に所定の時間をおいてスペアディスクによる復旧を開始する。
【0017】
また、第2復旧手段2Bでは、モード設定手段1で設定された第二のモードの制御内容に基づき、障害発生時に負荷の低下する時間帯までスペアディスクによる復旧を延期する。
このとき、第2復旧手段2Bでは、システムの負荷状況を示す値が、利用者が設定した閾値を下回る場合にのみスペアディスクによる復旧を行う。
また、第3復旧手段2Cでは、モード設定手段1で設定された第三のモードの制御内容に基づき、同じRAIDの他のディスクの障害予兆があるか否か監視し、(同じRAIDの他のディスクの)障害予兆を検出した場合にスペアディスクによる復旧を行う。
これにより、本発明に係るディスクアレイ装置100では、ディスク障害が発生した際に、利用者が定める発生時の条件に対応した最適なモード(第一〜第三モード)により、スペアディスクを用いたデータ復旧及びRAID再構築を選択的かつ効率的に行うことが可能となる。
【0018】
なお、ディスクアレイ装置100は、複数台のハードディスクが組み合わされたディスクアレイシステムに障害が発生した際又は障害の予兆がある際の復旧モードとして第一〜第三のモードのいずれかを設定可能にするモード設定段階と、モード設定段階により設定される第一のモードにて、障害発生時に、所定の時間をおいてスペアディスクによる復旧を開始する第1復旧段階と、モード設定段階により設定される第二のモードにて、障害発生時に、負荷の低下する時間帯までスペアディスクによる復旧を延期する第2復旧段階と、モード設定段階により設定される第三のモードにて、同じRAIDの他のディスクの障害予兆があるか否か監視し、当該障害予兆を検出した場合にスペアディスクによる復旧を行う第3復旧段階と、を有し、第2復旧段階では、システムの負荷状況を示す値が、利用者が設定した閾値を下回る場合にスペアディスクによる復旧を行うことを特徴とする、障害対応方法が採用されている。
【0019】
〔実施形態〕
本発明の実施形態について
図2〜
図11を参照して説明する。
本実施形態に示されるディスクアレイ装置101は、
図2に示されるようにスペアディスク(21,22・・2x)を含む複数台のディスク(11,12・・1x)からなるディスクアレイシステムを搭載する。
【0020】
なお、以下の説明では、スペアディスク(21,22・・2x)のみを示す場合にスペアディスクと表現し、スペアディスク(21,22・・2x)を含むディスク(11,12・・1x)全体を示す場合にディスクと表現する。
【0021】
さらに、このディスクアレイ装置101は、スペアディスク(21,22・・2x)の利用制御を行なうスペアディスク制御領域20、システムのタイムスケジュールに関する情報を保持するタイムスケジュール領域30、システムの性能監視を行う性能監視領域40、ディスク情報を監視することにより障害予兆を監視するディスク監視領域50を有する。
【0022】
スペアディスク制御領域20は、スペアディスク(21,22・・2x)の利用制御を行い、タイムスケジュール領域30、性能監視領域40、ディスク監視領域50からの命令を元にスペアディスクが利用可能かどうか判断を行う。
さらに、スペアディスク制御領域20は、スペアディスクが利用可能な場合は、スペアディスクをディスクアレイ装置101で利用可能な状態とする機能を有する。スペアディスクを利用可能な状態とする方法としては、例えばスペアディスクへの電源ОN指示を行い、ディスクアレイ装置101上でスペアディスクを利用可能な状態とする。
【0023】
また、スペアディスク制御領域20には、利用者により設定の選択操作がなされるモード設定手段20Aが設けられている。
このモード設定手段20Aは、ディスクアレイ装置101のディスク(11,12・・1x)において、障害が発生した際又は障害の予兆がある際の復旧モードとして第一〜第三のモードとなる、利用設定S01〜S03のいずれかを設定可能にするものである。
【0024】
そして、タイムスケジュール領域30では、利用設定S01を実現するために、時刻情報31と復旧情報32を含有する。時刻情報31には、利用者によって設定された時間帯の情報を有する。また、復旧情報32には、その時間帯でのスペアディスク利用までの待ち時間、又はスペアディスク(21,22・・2x)利用を可能とする時間帯の情報を有する(
図3参照)。
【0025】
性能監視領域40では、利用設定S02を実現するために、ディスクアレイ装置101の負荷状況の監視を行い、利用者により設定される負荷の下限値によりスペアディスク利用の判断を行う機能を有する。
具体的には、性能監視領域40では、システムの負荷状況を示す値が、利用者が設定した閾値を下回る場合にRAID復旧を行う。
【0026】
ディスク監視領域50では、利用設定S03を実現するために、ディスクアレイ装置101に搭載されるディスク(11,12・・1x)の状態監視を行い、障害予兆を検知する機能を有する。
【0027】
次に、
図3(A)(B)を参照して、利用設定S01を用いて任意の待ち時間経過後にスペアディスク(21,22・・2x)によるRAID再構築を行う場合の設定例について説明する。
この設定例では、データセンタの保守員が在席する時間を9:00-21:00とし、それ以外の時間帯は保守員が不在とする。
【0028】
時刻情報31には保守員が在席する時間を31a、保守員不在の時間を31bと設定する。なお、時刻情報31は、符号31a,31b・・31zに示すように設定する。
保守員が在席する時間31aでは、保守員によるディスク交換が可能なのでスペアディスク(21,22・・2x)をすぐには利用せず待ち時間を設定し、ディスク交換による復旧を行うように復旧情報32aにはスペアディスクを使うまでの待ち時間を設定する。
【0029】
なお、復旧情報32は
図3(B)に符号32a,32b・・32zに示すようにRAID毎に設定可能とする。
例えば、RAID-G100は1冗長のRAID1、RAID-G101は2冗長とすると、RAID-G101はディスク1台の故障であれば冗長状態を保持したままとなるため、スペアディスクによる復旧の優先度は1冗長のRAID-G100と比べると低い。
【0030】
その場合、復旧優先度に応じてRAID-G100の復旧情報32a-100には待ち時間1時間を設定し、RAID-G101の復旧情報32a-101には待ち時間2時間とするなど、RAIDタイプや、業務に合わせたスペアディスク利用設定が可能となる。ディスクアレイ装置101は、ディスク障害が発生後、システム内時刻を確認し、タイムスケジュール領域30の中から、現在の時刻が該当する時刻情報31内の復旧情報32のいずれに相当するかを確認する。
【0031】
そして、ディスクアレイ装置101は、復旧情報32で設定された時間待ちを行い、指定時間経過後にタイムスケジュール領域30はスペアディスク制御領域20へスペアディスク利用可能との指示を出す。その後、指示を受けたスペアディスク制御領域20は、ディスクアレイ装置101に搭載されたスペアディスク(21,22・・2x)に電源供給を行い、スペアディスクを利用可能な状態にする。
【0032】
次に、
図4(A)(B)を参照して、利用設定S01を用いて指定した時刻にスペアディスク(21,22・・2x)によるRAID再構築を行う場合の設定例について説明する。
本例に示すディスクアレイ装置101では、
図4(A)に示すように、9:00-18:00を高負荷業務時、18:00-9:00を低負荷業務時とし、これに対応した時刻情報33を符号33a,33b、復旧情報34を符号34a,34bとして、
図4(B)に示す。
すなわち、
図4の例では、高負荷業務を行っている時間帯として、時刻情報33aに9:00-18:00が設定される。この時間帯は業務負荷が高いために復旧時間を18:00にして復旧情報34aが設定される。
また、
図4の例では、低負荷業務を行っている時間帯として、時刻情報33bに18:00-9:00が設定される。この時間帯は性能を必要とする業務が行われていないので、待ち時間を0として復旧情報34bが設定され、障害が発生した場合に速やかにスペアディスク(21,22・・2x)による復旧が行われる。
【0033】
例えば、業務時間が9:00-21:00である場合には、この時間に高負荷業務を行っている時間帯(33a)が含有されているので、安定した業務性能を確保するため、一部の時間帯でディスク障害が発生してもスペアディスクを即座に利用せずに、業務負荷が下がる時間帯にずらしてスペアディスクによるRAID再復旧を行う。
このため、本例に示すディスクアレイ装置101では、復旧情報34(34b)に負荷が低下する時間帯(33b)を時刻情報33として設定し、高負荷業務の時間帯にディスク障害が発生した場合には、復旧情報34(34a,34b)で指定したスケジュールに基づきスペアディスクによる復旧を行う。
【0034】
次に、
図5を参照して利用設定S01を用いた動作フローについてステップ毎に説明する。なお、以下のフローチャートは、
図3(A)(B)に示す利用設定S01を用いて復旧情報32で設定される時間経過後にスペアディスクによるRAID再構築を行う場合が示される。
【0035】
〔ステップF-501〕〜〔ステップF-502〕
ディスクアレイ装置101にディスク障害が発生した場合(ステップF-501)には、時刻情報31に基づく各時間帯の復旧情報32を参照する(ステップF-502)。
【0036】
〔ステップF-503〕
時刻情報31に基づく各時間帯の復旧情報32を参照することで、復旧情報32に示される指定時間が経過したか否かを判断し、YESの場合に次のステップF-504に進み、NOの場合にステップF-507に進む。
【0037】
〔ステップF-504〕〜〔ステップF-506〕
指定時間が経過してスペアディスク(21,22・・2x)が利用可能な時間になると、タイムスケジュール領域30はスペアディスク制御領域20へスペアディスク利用可能との指示を出す(ステップF-504)。その後、指示を受けたスペアディスク制御領域20はディスクアレイ01に搭載されたスペアディスク(21,22・・2x)に電源供給を行い、スペアディスク(21,22・・2x)を利用可能な状態にして(ステップF-505)、RAID再構築を行う(ステップF-506)。
【0038】
〔ステップF-507〕
スペアディスク利用が可能な時間が経過する前にディスク交換が可能か否かを判断し、NOの場合に次のステップF-508に進み、YESの場合にステップF-509に進む。
【0039】
〔ステップF-508〕
復旧情報32にて設定された指定時間の経過を待つ。
【0040】
〔ステップF-509〕
ディスク交換によるRAID再構築を行うことにより(ステップF-509)、RAID再構築回数を一回に減らすことが可能となる。ステップF-509の後で本フローチャートを終了する。
【0041】
次に、
図6を参照して利用設定S02を用いた動作フローについてステップ毎に説明する。
まず、
図6に示される動作フローを実行するに際して、システムの利用者はスペアディスク(21,22・・2x)を利用可能とする負荷の下限値40aを設定する。
図7は性能監視領域40によるシステムの負荷状況(例ではIOPS:Input/Output Per Second)の監視例を示すものであって、符号40aで示す下限値が設定されている。
【0042】
〔ステップF-601〕〜〔ステップF-602〕
ディスク障害発生後(ステップF-601)、性能監視領域40は業務負荷の確認を行うために、業務負荷が下限値40a以下であるか否かを判断し(ステップF-602)、NOの場合に次のステップF-603に進み、YESの場合にステップF-604に進む。
【0043】
〔ステップF-603〕
業務負荷が下限値40aより高い状態であればスペアディスク(21,22・・2x)を使わずに業務負荷の低下を待つ(ステップF-603)。
【0044】
〔ステップF-604〕
下限値40aを下回ったことを検知したらスペアディスク制御領域20へスペアディスク利用可能との指示を出す(ステップF-604)。
【0045】
〔ステップF-605〕
スペアディスク制御領域20はディスクアレイ01に搭載されたスペアディスク(21,22・・2x)に電源供給を行う。
【0046】
〔ステップF-606〕〜〔ステップF-607〕
スペアディスク(21,22・・2x)を利用可能な状態にして(ステップF-605)、RAID再構築を行った後で(ステップF-606)、本フローチャートを終了する。
【0047】
次に、
図8を参照して利用設定S03を用いた動作フローについてステップ毎に説明する。
図8は、利用設定S03を用いて障害ディスクと同一RAID内の他ディスクの稼働状況を監視し、他ディスクの障害予兆を検知した場合にスペアディスクによるRAID再構築を行う場合の動作フローを示している。
【0048】
〔ステップF-801〕〜〔ステップF-802〕
ディスクアレイ装置101にディスク障害が発生した場合(ステップF-801)に、タイムスケジュール領域30及び性能監視領域40からスペアディスク利用可能との指示があるか否かを検索し、NOの場合に次のステップF-803に進み、YESの場合にステップF-806に進む。
【0049】
〔ステップF-803〕
ディスク監視領域50は例えばS.M.A.R.T(Self-Monitoring, Analysis and Reporting Technology)などの情報を参照し、HDDのエラーカウントの累積や、特定時間内でのエラーの増加量などを監視してHDDの障害予兆の検出を行ない(ステップF-803)。例えば、ステップF-803では、ディスク10/11でRAID-G100を構築し、ディスク10が故障した場合、ディスク監視領域50はディスク11のHDD情報を監視する。
そして、ステップF-803にて障害予兆があると判断したYESの場合にステップF-804に進み、障害予兆がないと判断したNOの場合にステップF-802に戻る。
【0050】
〔ステップF-804〕〜〔ステップF-805〕
ステップF-803にてディスク11の障害予兆を検出した場合に(ステップF-803のYES)、ディスク監視領域50は、スペアディスク制御領域20へスペアディスク利用を行うように命令する(ステップF-804)。
その後、ディスク監視領域50からのスペアディスク利用の指示を受けたスペアディスク制御領域20は、ディスクアレイ01に搭載されたスペアディスク(21,22・・2x)に電源供給を行い、スペアディスクを利用可能な状態にする(ステップF-805)。
【0051】
〔ステップF-806〕
ステップF-802でYESの場合にも同様に、スペアディスク制御領域20は、ディスクアレイ01に搭載されたスペアディスクに電源供給を行い、スペアディスクを利用可能な状態にする。
【0052】
〔ステップF-807〕〜〔ステップF-808〕
スペアディスクによるRAID再構築を行った後で(ステップF-807)、ディスク交換によるRAID再構築を行い(ステップF-808)、本フローチャートを終了する。
【0053】
なお、利用設定S01、利用設定S02に基づく
図5、
図6の動作フローでは耐障害性を重視し、ディスク監視領域50で障害予兆を検出した場合に、ディスク監視領域50による割り込みを行い、スペアディスクを利用可能とすることができる。
しかし、
図5、
図6の動作フローにおいても、利用設定S03に基づく
図8の動作フローと同様に、業務負荷が高い状態ではスペアディスクを利用しないなど、障害対応の優先度はユーザにより任意に設定可能とすることができる。
【0054】
以上詳細に説明したように本実施形態に示されるディスクアレイ装置101では、利用設定S01により、指定時刻、任意の待ち時間経過後にスペアディスク(21,22・・2x)を利用するように設定することにより、スペアディスク利用までの間に保守員がディスク交換による復旧を行うことが可能となる。
これにより、上記ディスクアレイ装置101では、通常スペアディスク(21,22・・2x)を利用した場合は2回発生するRAIDの再構築(ステップF-506、及びステップF-509)を、ディスク交換時の1回のみ(ステップF-509のみ)とすることが可能となり、性能影響する時間を削減することが可能となる。
【0055】
また、上記ディスクアレイ装置101では、利用設定S01の指定時刻、及び利用設定S02の業務負荷の下限値を契機にスペアディスク(21,22・・2x)を利用することにより、業務負荷の高いタイミングに障害が発生してもスペアディスクによるRAID再構築を行わず業務性能の安定化を行い、業務負荷の低いタイミングや、業務終了後にスペアディスクによる自動復旧処理を行うことが可能となる。
【0056】
また、上記ディスクアレイ装置101では、利用設定S03で、障害ディスクと同一RAID内の他ディスクの稼働状況を監視し、他ディスクの障害予兆を検知した場合にスペアディスク利用を行うことにより、障害予兆がなく二重障害によるデータロストのリスクが低い状態であれば、不要なスペアディスク利用を行わず運用することによる性能安定化も可能となる。
これにより、上記ディスクアレイ装置101では、冗長の復旧を優先するRAIDの場合、利用設定S01でスペアディスク利用までの待ち時間を短く設定することにより、保守員が即座にディスク交換に駆けつけられない場合は指定時間経過後にスペアディスクを利用することにより、速やかに冗長の復旧処理を行うことができる。
【0057】
さらに、上記ディスクアレイ装置101では、スペアディスク(21,22・・2x)を利用するときのみスペアディスクに電源を供給することにより、通常のスペアディスクの利用よりも省電力化を行うことが可能となる。
従って、本発明の実施形態に係るディスクアレイ装置101では、ディスク障害が発生した際に、利用者が定める発生時の条件に対応した最適なモード(利用設定S01〜S03)により、スペアディスクを用いたデータ復旧及びRAID再構築を選択的かつ効率的に行うことが可能となる。
【0058】
なお、
図5、
図6及び
図8にて、利用設定S01〜S03に基づく動作フローを説明したが、これら図の動作フローに、以下の
図9〜
図11に示す障害対応の優先度に基づく処理を適宜組み込んでも良い。
すなわち、本発明の実施形態にて、RAID毎にスペアディスク利用の優先度設定を追加で行うことにより、複数ディスク障害発生時に、優先度がより高いディスク障害に対して、スペアディスクの使用を優先的に割り当てても良い。
【0059】
以下の
図9〜
図11では、
図3(A)(B)に示す利用設定S01を用いて復旧情報32で設定される時間経過後にスペアディスクによるRAID再構築を行う場合が示される。
【0060】
例えば、上記実施形態にて、優先度60、優先度61、優先度62といった3種類の優先度をRAID毎に設定可能とする。
まず、
図9に示されるような優先度60の障害の場合には、ディスク障害発生後に即座にスペアディスク(21,22・・2x)の割り当てを行い(ステップF-904)、利用設定に応じてスペアディスク(21,22・・2x)が利用可能な条件を満たしたらRAID再構築を開始する(ステップF-906)。
【0061】
具体的には、
図9の動作フローでは、ディスク障害が発生した場合に(ステップF-901)、そのディスク障害が優先度60のRAIDの障害か否かを判定し(ステップF-902)、YESの場合にステップF-903以下に進み、NOの場合に
図10の動作フローに進む。
ステップF-903では利用可能なスペアディスクがあるか否かを判定し、YESの場合にスペアディスクを割り当てた後(ステップF-904)、次のステップF-905〜ステップF-909を実施する。
なお、ステップF-905〜ステップF-909は、
図5に示されるステップF-505〜ステップF-509と同様の処理である。
【0062】
次に、
図10に示されるような優先度61の障害の場合(ステップF-1001)は、優先度60同様にディスク障害発生後に即座にスペアディスクの割り当てを行うが(ステップF-1003)、より優先度の高い優先度60の障害が発生し、優先度60に割り当てるスペアディスクがない場合(ステップF-1008のYES)、優先度61のRAIDはスペアディスクの割り当てを解除し(ステップF-1009)、解除されたスペアディスクが優先度60の障害に充当することにより(ステップF-1010)、スペアディスク利用の必要性が高いRAIDに対してスペアディスクを効率的に割り振ることが可能となる。
なお、
図10に示されるステップF-1002〜F-1007及びステップF-1011は、
図9に示されるステップF-902〜F-909と同様の処理である。
【0063】
図11は優先度62の場合の復旧処理フローが示される。優先度62は最も優先度が低く、障害発生時にスペアディスクの割り当ては行わず、利用設定に応じてスペアディスクが利用可能な条件を満たした際に(ステップF-1101のYES)、利用可能なスペアディスクがある場合のみ(ステップF-1102のYES)、スペアディスク利用が可能となる。
なお、
図11に示されるステップF-1103〜F-1106は、
図9に示されるステップF-906〜F-909と同様の処理である。
【0064】
以上、本発明の実施形態について図面を参照して詳述したが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。