(57)【要約】【課題】バックアップを行うことができるディスクアレイ装置において、バックアップ処理中にディスクの障害が発生した場合にも、ディスクの再構築を行うことを可能とする。【解決手段】バックアップ処理部１５と、バックアップ記憶装置３０と、再構築処理部１７と、調停制御部１６を備え、再構築処理部１７が、バックアップ記憶装置３０から読み出したデータを用いてディスクの再構築を行うように動作し、再構築処理部１７は、最新のバックアップデータを用いて再構築処理を実施するように動作する。【選択図】図１
2008065601.tif 000002
【特許請求の範囲】
【請求項１】
ディスクアレイを構成する複数のディスク装置と、
前記ディスクアレイのデータをバックアップするバックアップ処理部と、
前記ディスクアレイを構成する複数のディスク装置のうち再構築対象のディスク装置に対して、バックアップデータから、データの再構築を行う再構築処理部と、
前記ディスクアレイのデータのバックアップ時、前記バックアップ処理部によるバックアップ処理と、前記再構築処理部によるバックアップデータからの再構築処理との並列実行を制御する調停制御部と、
を備えている、ことを特徴とするディスクアレイ装置。
【請求項２】
バックアップ記憶装置を備え、
前記バックアップ処理部は、前記ディスクアレイのデータを前記バックアップ記憶装置にバックアップし、
前記再構築処理部は、前記バックアップ記憶装置にバックアップされたバックアップデータから、再構築対象のディスク装置の再構築処理を行う、ことを特徴とする請求項１記載のディスクアレイ装置。
【請求項３】
前記調停制御部は、前記再構築処理部が再構築処理で参照するバックアップデータのブロックが、前記バックアップ処理部によるバックアップのブロックを追い越さないように、調停する、ことを特徴とする請求項１又は２記載のディスクアレイ装置。
【請求項４】
前記再構築処理部は、前記調停制御部からの制御のもと、前記バックアップデータから再構築処理を行う場合に、前記バックアップ処理部によるバックアップが完了したブロックを用いて再構築を行い、
バックアップ未完了のブロックデータについては、前記バックアップ処理部によって前記バックアップ未完了のブロックのバックアップが行われるまで、再構築対象のディスク装置の再構築を待つ制御を行う、ことを特徴とする請求項１記載のディスクアレイ装置。
【請求項５】
前記調停制御部は、前記バックアップ処理部からバックアップが完了したブロックの情報を取得して、前記再構築処理部へ通知する、ことを特徴とする請求項１又は４記載のディスクアレイ装置。
【請求項６】
前記調停制御部は、前記バックアップ処理部からバックアップが完了したブロックの情報を取得して、前記再構築処理部へ通知し、
前記再構築処理部は、バックアップ処理中に、再構築処理を開始した場合に、バックアップが完了しているブロックに対して前記バックアップ記憶装置からデータを読み出して再構築を行い、バックアップ未完了のブロックデータについては、前記バックアップ処理部による前記バックアップ記憶装置へのバックアップが完了することを待ち合わせる、ことを特徴とする請求項２記載のディスクアレイ装置。
【請求項７】
ディスクアレイのデータをバックアップ記憶装置にバックアップするバックアップ工程と、
前記ディスクアレイを構成する複数のディスク装置のうち、再構築対象のディスク装置に対して、前記バックアップ記憶装置に既にバックアップされたバックアップデータから、データの再構築を行う再構築工程と、
前記バックアップ工程と前記再構築工程を並列に実行させる制御を行う調停工程と、
を含み、
バックアップ処理中に、再構築処理を実行可能としてなる、ことを特徴とするディスクアレイの再構築方法。
【請求項８】
前記再構築工程は、バックアップデータから再構築処理を行う場合に、バックアップ完了ブロックを用いて再構築を行い、
バックアップ未完了のブロックデータに対しては、前記バックアップ処理部によって該ブロックのバックアップが行われるまで、再構築を待つ制御を行う、ことを特徴とする請求項７記載のディスクアレイの再構築方法。
【請求項９】
前記調停工程は、前記バックアップ工程からバックアップが完了したブロックの情報を取得し、前記再構築工程に、前記バックアップが完了したブロックを通知する、ことを特徴とする請求項７記載のディスクアレイの再構築方法。
【請求項１０】
ディスクアレイのデータをバックアップ記憶装置にバックアップするバックアップ処理と、
前記ディスクアレイを構成する複数のディスク装置のうち、再構築対象のディスク装置に対して、前記バックアップ記憶装置に既にバックアップされたバックアップデータから、データの再構築を行う再構築処理と、
前記バックアップ処理と前記再構築処理とを並列に実行させる制御を行う調停処理と、
をコンピュータに実行させるプログラム。
【請求項１１】
請求項１０記載のプログラムにおいて、
前記再構築処理は、バックアップデータから再構築処理を行う場合に、バックアップ完了ブロックを用いて再構築を行い、
バックアップ未完了のブロックデータに対しては、前記バックアップ処理によって該ブロックのバックアップが行われるまで再構築を待つ制御を行う、ことを特徴とするプログラム。
【請求項１２】
請求項１０記載のプログラムにおいて、
前記調停処理は、前記バックアップ処理からバックアップが完了したブロックの情報を取得し、前記再構築処理に、バックアップが完了したブロックへ通知する、ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はバックアップデータを利用したディスクの再構築を行うディスクアレイ装置に関し、特に、バックアップ処理中にディスクの再構築を行うことができるディスクアレイ装置に関する。
【背景技術】
【０００２】
ディスクアレイは、RAID（Redundancy Arrays of Independent(Inexpensive) Disks）とも呼ばれ、複数のディスクをアレイ状に配置した構成をとり、データに冗長データを付加することで信頼性を向上させている。RAIDには、例えばストライピングによって複数のディスクを１台のディスクであるかのようにしたRAID0、ミラリーングを使って同一データを複数のディスクに書き込むRAID1、複数のディスクにデータとパリティを記録することで耐障害性を高めたRAID５等々があり、このうちRAID５は、データをディスクに書き込む際に、誤り訂正用のパリティ情報を生成し、残りのデータとともにストライピングによって複数のディスクに分散して書き込む。なお、パリティに必要なディスクは１台分とされる。こうすることで、ディスク１台が故障しても、残りのディスクのデータとパリティから、データを復元することができる。
【０００３】
また、従来のディスクアレイにおいては、RAIDコントローラがディスクの故障等を検出した際、予備ディスクに交換し、故障ディスクのデータを交換したディスクへ再構築（リビルド）する機能を有している。その際、ディスクアレイを構成するディスクのうち、交換したディスク以外のディスクを用いて交換ディスクのデータを作成している。
【０００４】
高可用性が求められるディスクアレイシステムでは、故障ディスクを交換した後の交換ディスクへのデータの再構築を、通常運用と、並行して行う必要がある（再構築時に通常運用が行えないと業務に支障をきたす）。
【０００５】
ディスク交換後のパリティ再構築時には、交換したディスク以外のパリティグループの全ディスクからデータを読み出す必要があるため、通常、アクセス性能が低下する。
【０００６】
パリティグループを構成するRAID等の構成において、データドライブ数が増加するとさらに性能が低下する。
【０００７】
図４は、従来のディスクアレイ装置の典型的な構成例を示す模式図である。図４を参照すると、アクセスモジュール１４は、ホスト２０とディスクアレイとの間でのコマンド、データ、制御信号の送受等のインタフェースを司る。RAIDモジュール１３は、RAIDコントローラ及び管理ソフトウエアからなり、冗長構成された複数ディスク１１１〜１１ｎのデータのリード／ライト、障害検出、ディスク再構築処理等を行う。ディスクアクセスバス１２は、複数ディスク装置１１１〜１１ｎとRAIDモジュール１３との間の接続パスを提供する。なお、ディスク装置の再構築は、RAID１、５、10等の冗長構成のアレイに対して実施される。各ディスク装置１１１〜１１ｎは、例えばHDD（Hard Disk Drive）等のディスク装置よりなり、単に、「ディスク」と略記される。
【０００８】
なお、特許文献１には、パリティグループを構成するRAID等のディスク構成を表すｎD＋１Pにおいて、データドライブ数ｎが増加するとさらに性能が低下することを抑止するため、ｎによらず１台のディスクからコピーする構成が開示されている。また、特許文献２には、RAIDコントローラによるディスクへの再構築（リビルド）について記載されている。なお、故障ディスクの再構築レート（Rebuild Rate）が１００％であるとは、システムが故障ディスクの再構築に全部当てられていることをいい、０％であるとは、システムが他に何もしない空き時間に故障ディスクの再構築を行うことをいう。デフォルトの再構築レートは例えば３０％程度とされる。
【０００９】
【特許文献１】特開２００２−１０８５７１号公報
【特許文献２】特開２００４−３８２９０号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
RAIDレベル５等の冗長なディスクアレイ装置においては、ディスク再構築時、故障ディスク以外のディスクを用いて、故障ディスク（交換ディスク）のデータを作成しているため、再構築に時間を要する。特に、ディスクの大容量化に伴い、再構築時間は長大化し、さらに、再構築中は、冗長度が下がっており、再構築期間でのディスクアレイ装置のアクセス性能は低下する。
【００１１】
また、他方において、このようなディスクアレイ装置では、データのバックアップは定期的に行われているが、保存されているデータも増加する傾向にあり、バックアップ時間も長大化している。
【００１２】
このバックアップ期間中は、バックアップするためのデータを読み出すために、ディスクアレイ装置の各ディスクに負荷がかかり、バックアップ期間中のディスクアレイ装置のアクセス性能は低下する。
【００１３】
ディスクアレイ装置のアクセス性能を低下させるこれらの二つの処理を同時に実施すると、それぞれが互いに影響し、それぞれが目標としている時間内に終わらなくなるという問題がある。
【００１４】
特に定期的に計画されたバックアップが、計画した時間内に終わらない場合、再度計画を見直す必要がでてくる。
【００１５】
このため、バックアップ処理中に、ディスクの障害が発生したとしても、バックアップ処理中には、直ぐにディスクの再構築を実施することができない。
【００１６】
このように、バックアップ処理中には直ちにディスクの再構築を実施することができないため、バックアップが完了した後のディスクの再構築が完了するまでの長時間、データの非冗長な期間が発生し、この長い期間、データの喪失する危険な状態が続くことになる問題がある。
【００１７】
したがって、本発明は、上記問題を解消するために創案されたものであって、その主たる目的は、バックアップ処理と再構築処理の完了時間を短縮させ、データを喪失する可能性を低減することができるディスクアレイ装置および方法とプログラムを提供することにある。
【課題を解決するための手段】
【００１８】
本願で開示される発明は、上記課題を解決するための手段として、概略以下の構成を有する。
【００１９】
本発明に係るディスクアレイ装置は、ディスクアレイを構成する複数のディスク装置と、前記ディスクアレイのデータをバックアップするバックアップ処理部と、前記ディスクアレイを構成する複数のディスク装置のうち、再構築対象のディスク装置に対して、バックアップデータから、データの再構築を行う再構築処理部と、前記ディスクアレイのデータのバックアップ時、前記バックアップ処理部によるバックアップ処理と、前記再構築処理部によるバックアップデータからの再構築対象のディスク装置の再構築処理との並列実行を制御する調停制御部と、を備えている。
【００２０】
本発明に係るディスクアレイ装置において、バックアップ記憶装置を備え、前記バックアップ処理部は、前記ディスクアレイのデータを前記バックアップ記憶装置にバックアップし、前記再構築処理部は、前記バックアップ記憶装置にバックアップされたバックアップデータから再構築対象のディスク装置の再構築処理を行う。
【００２１】
本発明に係るディスクアレイ装置において、前記調停制御部は、前記再構築処理部が再構築処理で参照するバックアップデータのブロックが、前記バックアップ処理部によるバックアップのブロックを追い越さないように、調停する。
【００２２】
本発明に係るディスクアレイ装置において、前記再構築処理部は、前記調停制御部からの制御のもと、前記バックアップデータから再構築処理を行う場合に、前記バックアップ処理部によるバックアップが完了したブロックを用いて再構築を行い、バックアップ未完了のブロックデータについては、前記バックアップ処理部によって前記バックアップ未完了のブロックのバックアップが行われるまで、再構築を待つ制御を行う。
【００２３】
本発明に係るディスクアレイ装置において、前記調停制御部は、前記バックアップ処理部からバックアップが完了したブロックの情報を取得して、前記再構築処理部へ通知する。
【００２４】
本発明に係るディスクアレイ装置において、前記調停制御部は、前記バックアップ処理部からバックアップが完了したブロックの情報を取得して、前記再構築処理部へ通知し、前記再構築処理部は、バックアップ処理中に再構築処理を開始した場合に、バックアップが完了しているブロックに対して前記バックアップ記憶装置からデータを読み出して再構築を行い、バックアップ未完了のブロックデータについては、前記バックアップ処理部による前記バックアップ記憶装置へのバックアップが完了することを待ち合わせる。
【００２５】
本発明に係る方法は、ディスクアレイのデータを前記バックアップ記憶装置にバックアップするバックアップ工程と、
前記ディスクアレイを構成する複数のディスク装置のうち再構築対象のディスク装置に対して、前記バックアップ記憶装置に既にバックアップされたバックアップデータから、データの再構築を行う再構築工程と、
前記バックアップ工程と前記再構築工程を並列に実行させる制御を行う調停工程と、
を含み、バックアップ処理中に、再構築処理を実行可能としている。
【００２６】
本発明に係る方法において、前記再構築工程は、バックアップデータから再構築処理を行う場合に、バックアップ完了ブロックを用いて再構築を行い、
バックアップ未完了ブロックに対しては、前記バックアップ処理部によって該ブロックのバックアップが行われるまで再構築を待つ制御を行う。
【００２７】
本発明に係る方法において、前記調停工程は、前記バックアップ工程からバックアップ完了ブロックの情報を取得し、前記再構築工程が、バックアップ完了ブロックへ通知する。
【００２８】
本発明に係るコンピュータプログラムは、ディスクアレイのデータを前記バックアップ記憶装置にバックアップするバックアップ処理と、
前記ディスクアレイを構成する複数のディスク装置のうち再構築対象のディスク装置に対して、前記バックアップ記憶装置に既にバックアップされたバックアップデータから、データの再構築を行う再構築処理と、
前記バックアップ処理と前記再構築処理を並列に実行させる制御を行う調停処理と、
をコンピュータに実行させるプログラムよりなる。
【００２９】
本発明のプログラムにおいて、前記再構築処理は、バックアップデータから再構築処理を行う場合に、バックアップ完了ブロックを用いて再構築を行い、
バックアップ未完了ブロックに対しては、前記バックアップ処理部によって該ブロックのバックアップが行われるまで再構築を待つ制御を行う。
【００３０】
本発明のプログラムにおいて、前記調整処理は、前記バックアップ処理からバックアップ完了ブロックの情報を取得し、前記再構築処理にバックアップ完了ブロックへ通知する。
【発明の効果】
【００３１】
本発明によれば、バックアップ処理中に、ディスク障害が発生した場合であっても、再構築処理を即時に開始することが可能となり、データ喪失の可能性を低減することができる。
【００３２】
また、本発明によれば、バックアップ処理中に、即時に再構築処理を開始できることより、バックアップ処理に影響することなく、再構築処理の完了を早めることができる。
【発明を実施するための最良の形態】
【００３３】
次に、本発明を実施するための最良の形態について図面を参照して詳細に説明する。本発明は、複数のストレージ・ユニット（ディスク装置）に対して、バックアップデータ部を用意しておき、複数のストレージ・ユニットのデータをバックアップ記憶装置にバックアップし、複数のストレージ・ユニットのうち故障ストレージ・ユニットを交換した際の交換ストレージ・ユニットのデータの再構築時、バックアップ記憶装置にバックアップされたデータに基づいて行うようにする際に、バックアップ処理と再構築処理を行う必要がある場合に、調停制御部により、連携をとりながら円滑に処理が行われる。
【００３４】
本発明は、バックアップ処理部（１５）と、バックアップ記憶装置（３０）と、再構築処理部（１７）と、調停制御部（１６）を備え、再構築処理部（１７）が、バックアップ記憶装置（３０）から読み出したデータを用いて、再構築対象のディスク装置の再構築を行うにあたり、最新のバックアップデータを用いて再構築処理を行う。
【００３５】
通常のディスクアレイ装置では、バックアップ処理中に、ディスク障害が発生した場合であっても、再構築処理は開始しない。
【００３６】
しかしながら、本発明によれば、ディスク装置のデータのバックアップ中にディスク障害が発生した場合であっても、再構築処理を開始し、バックアップ記憶装置（３０）の最新のバックアップデータが記録された領域（ブロック）についてだけ、再構築処理を行うようにし、古いバックアップデータは、再構築対象のディスクに書き込まないようにすることができる。
【００３７】
このようにして、バックアップ処理に影響せずに、かつ、交換ディスク装置等の再構築対象ディスク装置の再構築処理の開始を遅らせることなく、最新のバックアップデータを用いて、再構築対象ディスク装置の再構築処理を行うことができ、バックアップと再構築処理を並列に動作できることにより再構築処理の完了を早くすることができる。以下実施例に即して説明する。
【００３８】
図１は、本発明の一実施例のシステム構成を示す図である。図１を参照すると、ディスクアレイは、複数のディスク１１１〜１１ｎと、ディスクアクセスバス／スイッチ１８と、RAIDモジュール１３と、アクセスモジュール１４と、バックアップ処理部 (Backup Module)１５と、再構築処理部（Rebuild Module）１７と、調停制御部（Arbitration Module）１６を備え、RAIDモジュール１３、再構築処理部１７は、ディスクアクセスバス／スイッチ１８を介して複数のディスク１１１〜１１ｎに対して書き込み、読み出し等のアクセスを行う。ディスクアレイ１０は、所定のインタフェースを介してバックアップ記憶装置（バックアップストレージ）３０が接続されている。バックアップストレージ３０がディスクアレイ構成としてもよいことは勿論である。各ディスク１１１〜１１ｎは、例えばHDD（Hard Disk Drive）等のディスク装置よりなる。
【００３９】
本発明においては、バックアップモジュール１５は、ディスクアレイを構成する複数のディスク１１１〜１１ｎのデータを、例えば定期的にバックアップストレージにバックアップする。すなわち、バックアップモジュール１５は、RAIDモジュール１３を介してディスクアレイからデータの読み出しを行い（パリティチェック等、エラー検出訂正処理が行われる）、読み出したデータをバックアップストレージ３０に書き込む。
【００４０】
本実施形態において、ディスクアレイを構成する複数のディスク１１１〜１１ｎのうちの１つが故障し、故障ディスクを予備ディスク等に交換し、交換ディスクへデータを再構築する場合、好ましくは、バックアップストレージ３０から交換ディスクへのデータ転送は、再構築処理部１７、ディスクアクセスバス／スイッチ１８を介して行われ、ホスト２０から他のディスクへの通常アクセスに影響を与えないように構成される。
【００４１】
すなわち、ホスト２０から他のディスク（交換ディスク以外のディスク）への通常アクセスは、アクセスモジュール１４、RAIDモジュール１３、ディスクアクセスバス／スイッチ１８を介して行われ、バックアップストレージ３０からの再構築処理は、RAIDモジュール１３とは並列に設けられた再構築処理部１７と、ディスクアクセスバス／スイッチ１８を介して行われる。以下、図１に示したディスクアレイ装置の動作の詳細について、実施例に即して説明する。
【００４２】
図２は、調停制御部（arbitration module）１６のバックアップ中の再構築処理の手順を示す流れ図である。調停制御部（arbitration module）１６は、バックアップ処理部(backup module)１５から、バックアップ完了ブロックの情報を入手し（ステップS11）、バックアップ完了ブロックの情報を再構築処理部(rebuild module)１７に通知する（ステップS12）。
【００４３】
さらに、バックアップ処理部から入手したバックアップ完了ブロックがバックアップの最後のブロックか判定し（ステップS13）、最後のブロックとなるまで、ステップS11〜S13の一連の操作を繰り返す。
【００４４】
図３は、再構築処理部(rebuild module)１７におけるバックアップデータからの再構築処理の手順を示す流れ図である。
【００４５】
再構築処理部１７は、再構築対象のブロックを先頭に設定する（ステップS20）。
【００４６】
次にブロックが完了しているかの判定を行い（ステップS21）、全ブロックが完了している場合には（ステップS21のYes分岐）、再構築処理を終了する。
【００４７】
また、全ブロックが完了していない場合には（ステップS21のNo分岐）、現在の対象ブロックが、調停制御部(arbitration module)１６から入手したバックアップ完了ブロックよりも、若いブロック番号であるかを確認する（ステップS22）。
【００４８】
バックアップ完了ブロックと同じもしくは大きい場合は（ステップS22のYes分岐）、バックアップ完了ブロックが更新されるまで、確認し続ける。
【００４９】
また、バックアップ完了ブロックよりも若いブロックの場合は（ステップS22のNo分岐）、対象ブロックがパリティ用のブロックであるかの判定を行う（ステップS23）。
【００５０】
対象ブロックがパリティブロックの場合（ステップS23のYes分岐）、関連するブロックのデータをバックアップストレージから読み出して（ステップS26）、パリティデータを生成し（ステップS27）、生成したパリティデータを対象ブロックに書き込む（ステップS28）。
【００５１】
また、対象ブロックがパリティブロックでなければ（ステップS23のNo分岐）、対象となるブロックのデータをバックアップ記憶装置から読み出し（ステップS24）、対象ブロックに書き込む（ステップS25）。
【００５２】
対象ブロックの書き込み処理である再構築処理が完了したら、対象ブロックを次のブロックに設定し（ステップS29）、ステップS21に移行し、次のブロックから、順次、最後のブロックまで、一連の処理（ステップS22〜S29）を繰り返す。
【００５３】
本発明によれば、バックアップを行うディスクアレイ装置において、バックアップ処理中に即時に再構築処理を行うように適用可能である。また、複数のストレージ装置によって構成されるＳＡＮ（Storage Area Network）などのストレージシステムにおいても、バックアップ処理中の再構築処理を行うように、適用可能である。
【００５４】
以上、本発明を上記実施例に即して説明したが、本発明は上記実施例の構成にのみ制限されるものでなく、本発明の範囲内で当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【図面の簡単な説明】
【００５５】
【図１】本発明を一実施形態の構成を示すブロック図である。
【図２】本発明の一実施形態において、調停制御部のバックアップ中のリビルド処理の手順を示す流れ図である。
【図３】本発明の一実施形態において、再構築処理部のバックアップ中のリビルド処理の手順を示す流れ図である。
【図４】従来のディスクアレイ装置の典型的な構成例を示す模式図である。
【符号の説明】
【００５６】
１０  ディスクアレイ装置(Disk array)
１１１〜１１ｎ    ディスク
１３  ＲＡＩＤモジュール(RAID module)
１４  アクセスモジュール(Access Module)
１５  バックアップ処理部（backup module）
１６  調停制御部（Arbitration module）  
１７  再構築処理部（rebuild module）
１８  ディスクアクセスバス／スイッチ(Disk access bus / swich)
２０  ホストコンピュータ(host)
３０  バックアップ記憶装置(Backup storage)
【図１】
2008065601.tif 000003
【図２】
2008065601.tif 000004
【図３】
2008065601.tif 000005
【図４】
2008065601.tif 000006