JP2010257254A - 磁気ディスク装置 - Google Patents
磁気ディスク装置 Download PDFInfo
- Publication number
- JP2010257254A JP2010257254A JP2009106892A JP2009106892A JP2010257254A JP 2010257254 A JP2010257254 A JP 2010257254A JP 2009106892 A JP2009106892 A JP 2009106892A JP 2009106892 A JP2009106892 A JP 2009106892A JP 2010257254 A JP2010257254 A JP 2010257254A
- Authority
- JP
- Japan
- Prior art keywords
- data
- magnetic disk
- raid group
- parity
- hdd
- 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.)
- Withdrawn
Links
Abstract
【課題】冗長性を有するRAIDを構成するHDDが故障した場合においても、予備のHDDを用いることなく、かつ、冗長性レベルを著しく下げることなく稼働することができる磁気ディスク装置を提供する。
【解決手段】RAIDを構成するHDDが故障した場合に、故障したHDDが属するRAIDグループと他のRAIDグループとを1つのRAIDグループに統合し、当該RAIDグループ内で最大限の冗長性を維持しながら稼働させる。
【選択図】図1
【解決手段】RAIDを構成するHDDが故障した場合に、故障したHDDが属するRAIDグループと他のRAIDグループとを1つのRAIDグループに統合し、当該RAIDグループ内で最大限の冗長性を維持しながら稼働させる。
【選択図】図1
Description
本発明は、データを冗長化・分散化して記憶するRAID方式の磁気ディスク装置に関し、特に、RAIDを構成するディスクの故障時において予備ディスクを使用しなくともデータの冗長性を維持しながら運用することができる磁気ディスクに関するものである。
RAID(Redundant Arrays of Inexpensive Disks)方式の磁気ディスク装置とは、複数台の磁気ハードディスク(以下、「HDD」という)の集合を1台の記憶装置として管理するものであり、データを複数ブロック単位(あるいはビット・バイト単位)で分散化して記憶したり、データを2重化(あるいは多重化)して記憶したり、エラー検出・訂正用データを付加したりすることで、処理性能、信頼性、可用性の向上が図られている。
現在、RAID方式としては、RAID0、RAID1、RAID2、RAID3、RAID4、RAID5、RAID6などが利用されている。
現在、RAID方式としては、RAID0、RAID1、RAID2、RAID3、RAID4、RAID5、RAID6などが利用されている。
RAID方式の中でも、特に、RAID5、RAID6は、エラー訂正用パリティデータを各HDDに分散させて記憶させることで、1台又は2台のHDDが故障しても完全なデータ回復が可能であることを特徴とし、信頼性、可用性が高く、かつ、経済的なストレージシステムを構築可能であるので、広く利用されている。
特許文献1には、一般的なRAID方式の磁気ディスク装置が開示されており、特に、データ消失の恐れなく、磁気ディスクの記憶データを書き換えて、RAIDレベルをRAID5からRAID0に変換するLDE(Logical Disk Expansion)技術が開示されている。
特許文献2には、RAIDを構成するHDDが故障した場合に、当該HDDが復旧するまでの間、他のHDDに記憶されたパリティデータを通常データに変換し、冗長性レベルを下げた状態(例えば、RAID5の場合はRAID0に下げる)で稼働させる技術が本出願人により開示されている。
特許文献1には、一般的なRAID方式の磁気ディスク装置が開示されており、特に、データ消失の恐れなく、磁気ディスクの記憶データを書き換えて、RAIDレベルをRAID5からRAID0に変換するLDE(Logical Disk Expansion)技術が開示されている。
特許文献2には、RAIDを構成するHDDが故障した場合に、当該HDDが復旧するまでの間、他のHDDに記憶されたパリティデータを通常データに変換し、冗長性レベルを下げた状態(例えば、RAID5の場合はRAID0に下げる)で稼働させる技術が本出願人により開示されている。
ところで、複数台のHDDを有する磁気ディスク装置では、HDDの障害時に備えて予備のHDDを有しているのが一般的である。予備のHDDを有するRAID方式の磁気ディスク装置においてHDDが故障した場合、故障したHDDを予備のHDDで代替するとともに、他のHDDが記憶しているデータとパリティデータとを用いて、故障したHDDに記憶されていたデータを再生成し予備のHDDに記憶させることで、障害発生前の状態に復旧することができる。
このように、磁気ディスク装置では、HDD障害時の対応の観点からは十分な台数の予備のHDDを搭載しているのが理想的である。しかしながら、予備のHDDの搭載台数を多くすることは、コスト増大と装置の大型化を招くため、余剰な台数の予備のHDDを搭載した磁気ディスク装置を採用することは現実的ではない。このため、度重なるHDD障害発生により、HDD障害時に予備のHDDの空きがない状態が起こり得る。
一方で、必要な台数の予備のHDDがない場合、特許文献1や特許文献2に記載されているように、HDD障害時に予備HDDは用いず、故障したHDDが属するRAIDグループ内のみ冗長性レベルを下げた運用に切り替えるといった対応手段を取ることも考えられる。しかしながら、特許文献1や特許文献2の技術では、例えばRAID5以下のRAIDグループについては冗長性が完全に失われてしまうことになり、更なるHDD障害が発生した場合にはデータが消失してしまうおそれがある。この点、パリティ比率の高い構成(例えばRAID6)としておくという対応策も考えられるが、記憶効率やアクセス速度などの性能が低下してしまうため、必要以上にパリティ比率が高い構成とすることも現実的ではない。
例えば、4台のディスクでRAIDを構成する場合には、3D+1Pの構成とするのが一般的であるが、このRAID構成ではパリティ比率が比較的高いにもかかわらず、1台のHDDが故障した場合、特許文献1や特許文献2の技術では、冗長性のないRAID構成に変更して運用せざるを得ない。
本発明は、このような実情に鑑みてなされたものであり、冗長性を有するRAIDを構成するHDDが故障した場合においても、予備のHDDを用いることなく、かつ、冗長性レベルを著しく下げることなく稼働することができる磁気ディスク装置を提供しようとするものである。
上記課題に鑑みて鋭意研究の結果、本発明者は、RAIDを構成するHDDが故障した場合に、故障したHDDが属するRAIDグループと他のRAIDグループとを1つのRAIDグループに統合し、当該RAIDグループ内で最大限の冗長性を維持しながら稼働させることに想到し、本発明をなすに至った。
すなわち、本発明は、複数の磁気ディスクにより冗長性を有するRAIDグループを構成する磁気ディスク装置であって、ホストコンピュータから前記磁気ディスクへのリードライト要求を処理する対ホスト制御部と、前記磁気ディスクの状態を管理するHDD状態管理部と、前記RAIDグループの状態を管理するRAID状態管理部と、前記磁気ディスク上の消失したデータを回復するデータ回復制御部と、前記データ回復制御部による消失データの回復処理の進捗を管理する進捗管理部とを備え、前記HDD状態管理部が磁気ディスクの障害を検知すると、前記RAID状態管理部は、障害発生した磁気ディスクが属するRAIDグループと他のRAIDグループとを結合して新たなRAIDグループを構成し、前記データ回復制御部は、障害発生した磁気ディスク上の消失したデータを、当該磁気ディスクと同RAIDグループ内の磁気ディスク上のデータ及びパリティデータを用いて回復するとともに、前記新たなRAIDグループ内でパリティデータを生成して格納することを特徴とする磁気ディスク装置を提供するものである。
このように、磁気ディスク障害発生により消失したデータをパリティデータを用いて回復した後、他のRAIDグループと結合した新たなRAIDグループを構成することにより、冗長性を維持したRAIDとして運用継続することが可能である。
このように、磁気ディスク障害発生により消失したデータをパリティデータを用いて回復した後、他のRAIDグループと結合した新たなRAIDグループを構成することにより、冗長性を維持したRAIDとして運用継続することが可能である。
本発明の磁気ディスク装置において、前記データ回復制御部は、前記磁気ディスク上の先頭論理アドレスからアドレス順に、消失データの回復処理及び新たなRAIDグループのパリティデータ生成格納処理を実行し、前記進捗管理部は、当該処理が完了した最後の論理アドレスを示すポインタを用いて進捗管理を行うことを特徴とする。
これにより、消失データの回復処理及び新たなRAIDグループのパリティデータ生成格納処理中にホストコンピュータからのデータアクセスが生じた場合にも、アクセス先の状態に応じた適切な応答をすることが可能となる。具体的には、以下の通りである。
これにより、消失データの回復処理及び新たなRAIDグループのパリティデータ生成格納処理中にホストコンピュータからのデータアクセスが生じた場合にも、アクセス先の状態に応じた適切な応答をすることが可能となる。具体的には、以下の通りである。
前記データ回復制御部による消失データの回復処理及び新たなRAIDグループのパリティデータ生成格納処理中に、ホストコンピュータから前記障害発生した磁気ディスクへのリード要求が発生した場合、前記対ホスト制御部は、前記リード要求のアクセス箇所が当該処理が完了した最後の論理アドレスよりも前のアドレスである場合には、前記回復されたデータを読み込み、前記リード要求のアクセス箇所が当該処理が完了した最後の論理アドレスよりも後ろのアドレスである場合には、障害発生した磁気ディスクが属するRAIDグループ内の磁気ディスク上のデータ及びパリティデータを用いて回復されるデータを読み込むことを特徴とする。
また、前記データ回復制御部による消失データの回復処理及び新たなRAIDグループのパリティデータ生成格納処理中に、ホストコンピュータから前記障害発生した磁気ディスクへのライト要求が発生した場合、前記対ホスト制御部は、前記ライト要求のアクセス箇所が当該処理が完了した最後の論理アドレスよりも前のアドレスである場合には、前記回復されたデータと前記新たなRAIDグループのパリティデータとを上書きし、前記ライト要求のアクセス箇所が当該処理が完了した最後の論理アドレスよりも後ろのアドレスである場合には、障害発生した磁気ディスクが属するRAIDグループ内の磁気ディスク上のデータ及びパリティデータからライト処理後のデータが回復されるように当該パリティデータを書き換えることを特徴とする。
尚、前記RAID状態管理部は、障害発生した磁気ディスクが属するRAIDグループにおいて冗長性が維持されている場合、又は他のRAIDグループと結合しても冗長性を有する新たなRAIDグループを構成できない場合には、他のRAIDグループとの結合を行う必要はない。
本発明は、また、複数の磁気ディスクにより冗長性を有するRAIDグループを構成する磁気ディスク装置であって、ホストコンピュータから前記磁気ディスクへのリードライト要求を処理する対ホスト制御部と、前記磁気ディスクの状態を管理するHDD状態管理部と、前記RAIDグループの状態を管理するRAID状態管理部と、前記磁気ディスク上の消失したデータを回復するデータ回復制御部と、RAIDグループ分離のためにデータ及びパリティデータを再生成する分離再生成部と、前記データ回復制御部による消失データの回復処理、及び前記分離再生成部によるRAIDグループ分離のためのデータ及びパリティデータの再生成処理の進捗を管理する進捗管理部とを備え、前記HDD状態管理部が磁気ディスクの障害を検知すると、前記RAID状態管理部は、障害発生した磁気ディスクが属するRAIDグループと他のRAIDグループとを結合して新たなRAIDグループを構成し、前記データ回復制御部は、障害発生した磁気ディスク上の消失したデータを、当該磁気ディスクと同RAIDグループ内の磁気ディスク上のデータ及びパリティデータを用いて回復するとともに、前記新たなRAIDグループ内でパリティデータを生成して格納し、前記HDD状態管理部が磁気ディスクの復旧を検知すると、前記分離再生成部は、前記回復したデータを復旧した磁気ディスクにコピーするとともに、前記新たなRAIDグループ内のデータ及びパリティデータを用いて、前記障害発生した磁気ディスクが属するRAIDグループのパリティデータ及び前記他のRAIDグループのパリティデータを再生成しそれぞれ元の格納位置に再格納し、前記RAID状態管理部は、前記障害発生した磁気ディスクが属するRAIDグループと他のRAIDグループとをそれぞれ独立したRAIDグループとして再構成することを特徴とする磁気ディスク装置を提供するものである。
このように、磁気ディスク復旧後に、消失したデータを元の格納位置に戻すとともに、新たなRAIDグループを分離して元通りのRAID構成に戻すことにより、障害発生前の状態のHDDが復元され、本来の冗長性レベルでの運用を再開することが可能である。
このように、磁気ディスク復旧後に、消失したデータを元の格納位置に戻すとともに、新たなRAIDグループを分離して元通りのRAID構成に戻すことにより、障害発生前の状態のHDDが復元され、本来の冗長性レベルでの運用を再開することが可能である。
本発明の磁気ディスク装置において、前記データ回復制御部は、前記磁気ディスク上の先頭論理アドレスからアドレス順に、消失データの回復処理及び新たなRAIDグループのパリティデータ生成格納処理を実行し、前記分離再生成部は、前記磁気ディスク上の先頭論理アドレスからアドレス順に、RAIDグループ分離のためのデータ及びパリティデータの再生成処理を実行し、前記進捗管理部は、当該処理が完了した最後の論理アドレスを示すポインタを用いて進捗管理を行うことを特徴とする。
これにより、消失データの回復処理及び新たなRAIDグループのパリティデータ生成格納処理中や、RAIDグループ分離のためのデータ及びパリティデータの再生成処理中にホストコンピュータからのデータアクセスが生じた場合にも、アクセス先の状態に応じた適切な応答をすることが可能となる。具体的には、以下の通りである。
これにより、消失データの回復処理及び新たなRAIDグループのパリティデータ生成格納処理中や、RAIDグループ分離のためのデータ及びパリティデータの再生成処理中にホストコンピュータからのデータアクセスが生じた場合にも、アクセス先の状態に応じた適切な応答をすることが可能となる。具体的には、以下の通りである。
前記データ回復制御部による消失データの回復処理及び新たなRAIDグループのパリティデータ生成格納処理中に、ホストコンピュータから前記障害発生した磁気ディスクへのリード要求が発生した場合、前記対ホスト制御部は、前記リード要求のアクセス箇所が当該処理が完了した最後の論理アドレスよりも前のアドレスである場合には、前記回復されたデータを読み込み、前記リード要求のアクセス箇所が当該処理が完了した最後の論理アドレスよりも後ろのアドレスである場合には、障害発生した磁気ディスクが属するRAIDグループ内の磁気ディスク上のデータ及びパリティデータを用いて回復されるデータを読み込むことを特徴とする。
また、前記データ回復制御部による消失データの回復処理及び新たなRAIDグループのパリティデータ生成格納処理中に、ホストコンピュータから前記障害発生した磁気ディスクへのライト要求が発生した場合、前記対ホスト制御部は、前記ライト要求のアクセス箇所が当該処理が完了した最後の論理アドレスよりも前のアドレスである場合には、前記回復されたデータと前記新たなRAIDグループのパリティデータとを上書きし、前記ライト要求のアクセス箇所が当該処理が完了した最後の論理アドレスよりも後ろのアドレスである場合には、障害発生した磁気ディスクが属するRAIDグループ内の磁気ディスク上のデータ及びパリティデータからライト処理後のデータが回復されるように当該パリティデータを書き換えることを特徴とする。
前記分離再生成部によるRAIDグループ分離のためのデータ及びパリティデータの再生成処理中に、ホストコンピュータから前記障害発生した磁気ディスクへのリード要求が発生した場合、前記対ホスト制御部は、前記リード要求のアクセス箇所が前記再生成処理が完了した最後の論理アドレスよりも前のアドレスである場合には、前記復旧した磁気ディスク上に回復されたデータを読み込み、前記リード要求のアクセス箇所が前記再生成処理が完了した最後の論理アドレスよりも後ろのアドレスである場合には、前記新たなRAIDグループ内のデータ及びパリティデータを用いて回復されるデータを読み込むことを特徴とする。
前記分離再生成部によるRAIDグループ分離のためのデータ及びパリティデータの再生成処理中に、ホストコンピュータから前記障害発生し磁気ディスクへのライト要求が発生した場合、前記対ホスト制御部は、前記ライト要求のアクセス箇所が前記再生成処理が完了した最後の論理アドレスよりも前のアドレスである場合には、前記復旧した磁気ディスク上にデータの書き込みを行うとともに前記障害発生した磁気ディスクが属するRAIDグループのパリティデータの更新を行い、前記ライト要求のアクセス箇所が前記再生成処理が完了した最後の論理アドレスよりも後ろのアドレスである場合には、前記新たなRAIDグループ内の磁気ディスク上のデータ及びパリティデータからライト処理後のデータが回復されるように当該パリティデータを書き換えることを特徴とする。
以上、説明したように、本発明の磁気ディスク装置は、RAIDを構成するHDDが故障した場合に、故障したHDDが属するRAIDグループと他のRAIDグループとを1つのRAIDグループに統合し、当該RAIDグループ内で最大限の冗長性を維持しながら稼働させることができる。例えば、RAID5で3D+1Pのディスク構成である場合、HDD障害時に2つのRAIDグループを統合して6D+1Pのディスク構成とすることによりRAID5としての運用が可能である。これにより、当該RAIDグループ内で更なるHDD障害が発生した場合にも、データを消失することなく対応することが可能となる。
尚、この統合に要する処理は、障害が生じたHDDの格納データを回復して予備のHDDに格納する処理とほぼ同等であるので、システムに過度な負荷がかかることもない。
尚、この統合に要する処理は、障害が生じたHDDの格納データを回復して予備のHDDに格納する処理とほぼ同等であるので、システムに過度な負荷がかかることもない。
以下、添付図面を参照しながら、本発明の磁気ディスク装置を実施するための最良の形態を詳細に説明する。図1〜図20は、本発明の実施の形態を例示する図であり、これらの図において、同一の符号を付した部分は同一物を表わし、基本的な構成及び動作は同様であるものとする。
<装置構成>
図1は、本発明の一実施形態に係る磁気ディスク装置の内部構成を示す図である。
図1に示すように、本実施形態の磁気ディスク装置21は、ホストインタフェース22と、キャッシュメモリ23と、ドライブインタフェース24と、ホストコンピュータ11からのリードライト要求を処理する対ホスト制御部31と、RAID構成のHDD群を制御する対ドライブ制御部41と、RAIDを構成する複数のHDDからなるドライブモジュール61とを有している。
図1は、本発明の一実施形態に係る磁気ディスク装置の内部構成を示す図である。
図1に示すように、本実施形態の磁気ディスク装置21は、ホストインタフェース22と、キャッシュメモリ23と、ドライブインタフェース24と、ホストコンピュータ11からのリードライト要求を処理する対ホスト制御部31と、RAID構成のHDD群を制御する対ドライブ制御部41と、RAIDを構成する複数のHDDからなるドライブモジュール61とを有している。
対ホスト制御部31は、ホストコンピュータ11からのリード要求を処理するリード処理部32と、ライト要求を処理するライト処理部33と、有限回数ループカウンタ34とを有している。
対ドライブ制御部41は、ドライブモジュール61における各HDDの稼働状態を管理するHDD状態管理部42と、ドライブモジュール61のRAIDの稼働状態を管理するRAID状態管理部43と、HDD障害時の消失データの回復及び運用切り替えとHDD復旧時のデータ復旧を行う回復/復旧コピー機能部44と、消失データの回復及び復旧処理におけるデータコピー作業を管理するコピー進捗管理部51と、タイマ監視部53とを有している。
RAID状態管理部43は、ドライブモジュール61におけるRAIDグループ同士の結合状態を管理する機能部であり、各RAIDグループにつき他のRAIDグループとの結合可否を示す結合可否フラグ43Aと、各RAIDグループに対する結合候補RAIDグループに関する情報を保持する結合候補管理部43Bとを有している。
回復/復旧コピー機能部44は、障害の発生したHDD以外のHDDに記憶されたデータ及びパリティデータから消失データを回復させるデータ回復制御部44Aと、回復されたデータのパリティデータを再生成するパリティ再生成部44Bとを有し、さらに障害対応の運用切り替えとしてRAIDグループの結合を行うRAIDグループ結合部44Cと、障害復旧時に結合したRAIDグループの分離を行うRAIDグループ分離部44Dとを有している。
コピー進捗管理部51は、消失データの回復及び復旧処理におけるデータコピー作業の進捗に関する情報として、コピー中ポインタ52Aとコピー済ポインタ52Bとを有している。
コピー進捗管理部51は、消失データの回復及び復旧処理におけるデータコピー作業の進捗に関する情報として、コピー中ポインタ52Aとコピー済ポインタ52Bとを有している。
ドライブモジュール61は、HDD#0〜#13の14台のHDDを有している。HDD#0〜#3がRAIDグループ#0(62)を構成し、HDD#4〜#7がRAIDグループ#1(63)を構成し、HDD#8〜#11がRAIDグループ#2(64)を構成し、HDD#12〜#13がRAIDグループ#3(65)を構成している。RAIDグループ#0,#1は3D+1PのRAID5であり、RAIDグループ#2は、2D+1P+1QのRAID6であり、RAIDグループ#3はRAID1である。
<障害対応の原理>
図2及び図3は、本実施形態の磁気ディスク装置におけるHDD障害発生時の運用切り替え及び障害復旧処理の原理を概略的に説明する図である。
図2(A)に、正常状態のRAIDシステムの構成を示している。このRAIDシステムは、HDD#0〜#2からなるRAIDグループ#0と、HDD#3〜#5からなるRAIDグループ#1とから構成されている。RAIDグループ#0,#1は、それぞれ2D+1PのRAID5を構成しており、図中、D0〜D5,D0’〜D5’はデータブロックを示し、P0〜P2,P0’〜P2’はパリティブロックを示している。
尚、ここでは簡略化のため、HDD3台でRAID5を構成し、各HDDを3つのストライプに分割した場合を例示するが、本原理は他の構成のRAID5、RAID6等のシステムにも応用が可能である。
図2及び図3は、本実施形態の磁気ディスク装置におけるHDD障害発生時の運用切り替え及び障害復旧処理の原理を概略的に説明する図である。
図2(A)に、正常状態のRAIDシステムの構成を示している。このRAIDシステムは、HDD#0〜#2からなるRAIDグループ#0と、HDD#3〜#5からなるRAIDグループ#1とから構成されている。RAIDグループ#0,#1は、それぞれ2D+1PのRAID5を構成しており、図中、D0〜D5,D0’〜D5’はデータブロックを示し、P0〜P2,P0’〜P2’はパリティブロックを示している。
尚、ここでは簡略化のため、HDD3台でRAID5を構成し、各HDDを3つのストライプに分割した場合を例示するが、本原理は他の構成のRAID5、RAID6等のシステムにも応用が可能である。
以下、図2(A)に示すRAIDシステムにおいて、HDD#2に障害が発生した場合の運用切り替え及び障害復旧処理について説明する。
まず、先頭のストライプ#0から運用切り替え処理が開始される。図2(B)に示すように、HDD#2に格納されていたパリティブロックP0が消失している。ここで、磁気ディスク装置は、RAIDグループ#0と#1とを結合して1つのRAIDグループに統合する。すなわち、ストライプ#0におけるデータブロックD0,D1,D0’,D1’とパリティブロックP0’とから新たなパリティデータ結合P0を生成し、パリティデータブロックP0’が格納されていたHDD#5に格納する。
まず、先頭のストライプ#0から運用切り替え処理が開始される。図2(B)に示すように、HDD#2に格納されていたパリティブロックP0が消失している。ここで、磁気ディスク装置は、RAIDグループ#0と#1とを結合して1つのRAIDグループに統合する。すなわち、ストライプ#0におけるデータブロックD0,D1,D0’,D1’とパリティブロックP0’とから新たなパリティデータ結合P0を生成し、パリティデータブロックP0’が格納されていたHDD#5に格納する。
ストライプ#1においては、図2(C)に示すように、HDD#2に格納されていたデータブロックD3が消失している。そこで、磁気ディスク装置は、データブロックD2とパリティブロックP1とから消失したデータブロックD3を回復し、これをパリティデータブロックP1が格納されていたHDD#1に格納する。
その後、RAIDグループ#0と#1のストライプ#1におけるデータブロックD2,D3,D2’,D3’とパリティブロックP1’とから新たなパリティデータ結合P1を生成し、パリティデータブロックP1’が格納されていたHDD#4に格納する。
その後、RAIDグループ#0と#1のストライプ#1におけるデータブロックD2,D3,D2’,D3’とパリティブロックP1’とから新たなパリティデータ結合P1を生成し、パリティデータブロックP1’が格納されていたHDD#4に格納する。
ストライプ#2においては、図2(D)に示すように、HDD#2に格納されていたデータブロックD5が消失している。そこで、磁気ディスク装置は、データブロックD4とパリティブロックP2とから消失したデータブロックD5を回復し、これをパリティデータブロックP2が格納されていたHDD#0に格納する。
その後、RAIDグループ#0と#1のストライプ#2におけるデータブロックD4,D5,D4’,D5’とパリティブロックP2’とから新たなパリティデータ結合P2を生成し、パリティデータブロックP2’が格納されていたHDD#3に格納する。
その後、RAIDグループ#0と#1のストライプ#2におけるデータブロックD4,D5,D4’,D5’とパリティブロックP2’とから新たなパリティデータ結合P2を生成し、パリティデータブロックP2’が格納されていたHDD#3に格納する。
以上説明したように、磁気ディスク装置は、RAIDグループ#0のHDD#2に障害が発生した際に、消失データの回復を行うととともに、RAIDグループ#0と#1とを結合して1つのRAIDグループ(RAID5、4D+1P)とすることにより、RAIDシステムの冗長性を保ちながら運用を継続することができる。
続いて、閉塞していたHDD#2が復旧した際の障害復旧処理について説明する。障害復旧処理では、結合していたRAIDグループ#0と#1を分離して、RAIDシステムを障害発生前の状態に復旧する。
まず、先頭のストライプ#0においては、図3(A)に示すように、データブロックD0,D1から再生成されるパリティブロックP0を復旧したHDD#2上に格納する。他方で、データブロックD0’,D1’から再生成されるパリティブロックP0’をHDD#5上に格納する。
まず、先頭のストライプ#0においては、図3(A)に示すように、データブロックD0,D1から再生成されるパリティブロックP0を復旧したHDD#2上に格納する。他方で、データブロックD0’,D1’から再生成されるパリティブロックP0’をHDD#5上に格納する。
ストライプ#1においては、図3(B)に示すように、データブロックD2,D3からパリティブロックP1を再生成し、HDD#2上のデータブロックD3を本来の格納位置であるHDD#2上にコピーした後、再生成したパリティブロックP1をHDD#1上に格納する。他方で、データブロックD2’,D3’から再生成されるパリティブロックP1’をHDD#4上に格納する。
ストライプ#2においては、図3(C)に示すように、データブロックD4,D5からパリティブロックP2を再生成し、HDD#1上のデータブロックD5を本来の格納位置であるHDD#2上にコピーした後、再生成したパリティブロックP2をHDD#0上に格納する。他方で、データブロックD4’,D5’から再生成されるパリティブロックP2’をHDD#3上に格納する。
以上説明したように、磁気ディスク装置は、HDD障害発生により2つのRAIDグループを結合して1つのRAIDグループに統合していたものを、HDD復旧にともなって再び分割し、元の構成のRAIDシステムに復旧させることができる。
<動作>
次に、図1に示す本実施形態の磁気ディスク装置において、ドライブモジュール61内でHDD障害発生が発生した場合の運用切り替え及び障害復旧処理の詳細について説明する。
次に、図1に示す本実施形態の磁気ディスク装置において、ドライブモジュール61内でHDD障害発生が発生した場合の運用切り替え及び障害復旧処理の詳細について説明する。
<障害発生時の運用切り替え処理>
図4は、図1に示す本実施形態の磁気ディスク装置において、RAID5で構成したRAIDグループ#0(62)のうち1台のHDDに障害が発生した場合の運用切り替え処理の動作を説明する図である。以下に説明する運用切り替え処理は、磁気ディスク装置21の回復/復旧コピー機能部44のデータ回復制御部44A、パリティ再生成部44B、RAIDグループ結合部44Cが、上記で説明した障害発生時の運用切り替えの原理に基づいて実行・管理する。
図4は、図1に示す本実施形態の磁気ディスク装置において、RAID5で構成したRAIDグループ#0(62)のうち1台のHDDに障害が発生した場合の運用切り替え処理の動作を説明する図である。以下に説明する運用切り替え処理は、磁気ディスク装置21の回復/復旧コピー機能部44のデータ回復制御部44A、パリティ再生成部44B、RAIDグループ結合部44Cが、上記で説明した障害発生時の運用切り替えの原理に基づいて実行・管理する。
ここでは図4に示すように、RAIDグループ#0(62)のHDD#2が障害により閉塞した場合に、RAID5であるRAIDグループ#1(63)との結合を行う運用切り替え処理を例に説明する。
まず、磁気ディスク装置21の回復/復旧コピー機能部44は、図2に示した原理に従い、RAIDグループ#0の各HDDの先頭ストライプ#0の格納データ(D0,D1,P0)をキャッシュメモリ23上の作業領域にコピー(ステージ)し、これらのデータからHDD#2の障害により消失したデータブロックD2を回復し、パリティブロックP0が格納されていたHDD#3上に回復データブロックD2を上書きコピー(デステージ)する。
(ここで便宜上、HDD上のデータをキャッシュメモリに読み込むことを「ステージ」といい、キャッシュメモリ上のデータをHDDに書き込むことを「デステージ」という。また、図中回復したデータブロックD2をrD2のように表記する。)
まず、磁気ディスク装置21の回復/復旧コピー機能部44は、図2に示した原理に従い、RAIDグループ#0の各HDDの先頭ストライプ#0の格納データ(D0,D1,P0)をキャッシュメモリ23上の作業領域にコピー(ステージ)し、これらのデータからHDD#2の障害により消失したデータブロックD2を回復し、パリティブロックP0が格納されていたHDD#3上に回復データブロックD2を上書きコピー(デステージ)する。
(ここで便宜上、HDD上のデータをキャッシュメモリに読み込むことを「ステージ」といい、キャッシュメモリ上のデータをHDDに書き込むことを「デステージ」という。また、図中回復したデータブロックD2をrD2のように表記する。)
続いて、磁気ディスク装置21の回復/復旧コピー機能部44は、RAIDグループ#1の先頭ストライプ#0のHDD#7に格納されたパリティブロックP0’をキャッシュメモリ23上の作業領域にステージし、先にステージされているパリティブロックP0とP0’とから結合パリティCP0を生成し、パリティブロックP0’が格納されていたHDD#7上に結合パリティCP0をデステージする。
このようにして、先頭ストライプ#0については、7台のHDDにより6D+1PのRAID5が構成されることになり、HDD障害に対応しながらも冗長性が維持されたこととなる。
このようにして、先頭ストライプ#0については、7台のHDDにより6D+1PのRAID5が構成されることになり、HDD障害に対応しながらも冗長性が維持されたこととなる。
1つのストライプについて、運用切り替え処理が完了すると、次のストライプに作業が移行する。ここで、本実施形態の磁気ディスク装置では、コピー進捗管理部51により、運用切り替え処理の進捗状況を管理している。具体的には、図4に示すように、論理ブロック(ストライプ)単位で、運用切り替え処理が完了した位置を示すコピー済ポインタ52Bと、現在運用切り替え処理中である先頭位置とを示すコピー中ポインタ52Aとを用いて管理している。これらのポインタにより、論理ブロック(ストライプ)単位で、運用切り替え処理済み範囲、運用切り替え処理中範囲、運用切り替え処理未着手範囲が容易に把握できるようになっている。
次に、ストライプ#1について運用切り替え処理を行う。
磁気ディスク装置21の回復/復旧コピー機能部44は、図2に示した原理に従い、RAIDグループ#0の各HDDのストライプ#1の格納データ(D4,D5,D3)をキャッシュメモリ23上の作業領域にステージする。RAIDグループ#0のストライプ#1については、データブロックが消失していないため、データブロックの回復及びデステージ処理は不要である。
続いて、RAIDグループ#1のストライプ#1のHDD#6に格納されたパリティブロックP1’をキャッシュメモリ23上の作業領域にステージし、先にステージされているデータブロックD4,D5,D3とパリティブロックP1’とから結合パリティCP1を生成し、パリティブロックP1’が格納されていたHDD#6上に結合パリティCP1をデステージする。
このようにして、ストライプ#1についても、7台のHDDにより6D+1PのRAID5が構成されることになり、HDD障害に対応しながらも冗長性が維持されたこととなる。
磁気ディスク装置21の回復/復旧コピー機能部44は、図2に示した原理に従い、RAIDグループ#0の各HDDのストライプ#1の格納データ(D4,D5,D3)をキャッシュメモリ23上の作業領域にステージする。RAIDグループ#0のストライプ#1については、データブロックが消失していないため、データブロックの回復及びデステージ処理は不要である。
続いて、RAIDグループ#1のストライプ#1のHDD#6に格納されたパリティブロックP1’をキャッシュメモリ23上の作業領域にステージし、先にステージされているデータブロックD4,D5,D3とパリティブロックP1’とから結合パリティCP1を生成し、パリティブロックP1’が格納されていたHDD#6上に結合パリティCP1をデステージする。
このようにして、ストライプ#1についても、7台のHDDにより6D+1PのRAID5が構成されることになり、HDD障害に対応しながらも冗長性が維持されたこととなる。
次に、ストライプ#2について運用切り替え処理を行う。
磁気ディスク装置21の回復/復旧コピー機能部44は、図2に示した原理に従い、RAIDグループ#0の各HDDのストライプ#2の格納データ(D8,P2,D7)をキャッシュメモリ23上の作業領域にステージし、これらのデータからHDD#2の障害により消失したデータブロックD6を回復し、パリティブロックP2が格納されていたHDD#1上に回復データブロックD6をデステージする。
続いて、RAIDグループ#1のストライプ#2のHDD#5に格納されたパリティブロックP2’をキャッシュメモリ23上の作業領域にステージし、先にステージされているパリティブロックP2とP2’とから結合パリティCP2を生成し、パリティブロックP2’が格納されていたHDD#5上に結合パリティCP2をデステージする。
このようにして、ストライプ#2についても、7台のHDDにより6D+1PのRAID5が構成されることになり、HDD障害に対応しながらも冗長性が維持されたこととなる。
磁気ディスク装置21の回復/復旧コピー機能部44は、図2に示した原理に従い、RAIDグループ#0の各HDDのストライプ#2の格納データ(D8,P2,D7)をキャッシュメモリ23上の作業領域にステージし、これらのデータからHDD#2の障害により消失したデータブロックD6を回復し、パリティブロックP2が格納されていたHDD#1上に回復データブロックD6をデステージする。
続いて、RAIDグループ#1のストライプ#2のHDD#5に格納されたパリティブロックP2’をキャッシュメモリ23上の作業領域にステージし、先にステージされているパリティブロックP2とP2’とから結合パリティCP2を生成し、パリティブロックP2’が格納されていたHDD#5上に結合パリティCP2をデステージする。
このようにして、ストライプ#2についても、7台のHDDにより6D+1PのRAID5が構成されることになり、HDD障害に対応しながらも冗長性が維持されたこととなる。
次に、ストライプ#3について運用切り替え処理を行う。
磁気ディスク装置21の回復/復旧コピー機能部44は、図2に示した原理に従い、RAIDグループ#0の各HDDのストライプ#3の格納データ(P3,D9,D11)をキャッシュメモリ23上の作業領域にステージし、これらのデータからHDD#2の障害により消失したデータブロックD10を回復し、パリティブロックP3が格納されていたHDD#0上に回復データブロックD10をデステージする。
続いて、RAIDグループ#1のストライプ#3のHDD#4に格納されたパリティブロックP3’をキャッシュメモリ23上の作業領域にステージし、先にステージされているパリティブロックP3とP3’とから結合パリティCP3を生成し、パリティブロックP3’が格納されていたHDD#4上に結合パリティCP3をデステージする。
このようにして、ストライプ#3についても、7台のHDDにより6D+1PのRAID5が構成されることになり、HDD障害に対応しながらも冗長性が維持されたこととなる。
以下、ストライプ#4以降についても同様にして運用切り替え処理を行うことができる。
磁気ディスク装置21の回復/復旧コピー機能部44は、図2に示した原理に従い、RAIDグループ#0の各HDDのストライプ#3の格納データ(P3,D9,D11)をキャッシュメモリ23上の作業領域にステージし、これらのデータからHDD#2の障害により消失したデータブロックD10を回復し、パリティブロックP3が格納されていたHDD#0上に回復データブロックD10をデステージする。
続いて、RAIDグループ#1のストライプ#3のHDD#4に格納されたパリティブロックP3’をキャッシュメモリ23上の作業領域にステージし、先にステージされているパリティブロックP3とP3’とから結合パリティCP3を生成し、パリティブロックP3’が格納されていたHDD#4上に結合パリティCP3をデステージする。
このようにして、ストライプ#3についても、7台のHDDにより6D+1PのRAID5が構成されることになり、HDD障害に対応しながらも冗長性が維持されたこととなる。
以下、ストライプ#4以降についても同様にして運用切り替え処理を行うことができる。
尚、本実施形態の磁気ディスク装置では、コピー進捗管理部51により、論理ブロックごとに行われる運用切り替え処理の進捗状況を管理している。具体的には、図示するように、論理ブロック(ストライプ)単位で、データ回復処理及び結合パリティ生成処理が完了した位置を示すコピー済ポインタ52Bと、現在データ回復処理及び結合パリティ生成処理を行っている先頭位置を示すコピー中ポインタ52Aとを用いて管理している。これらのポインタにより、論理ブロック(ストライプ)単位で、運用切り替え済み範囲、運用切り替え中範囲、運用切り替え未着手範囲が容易に把握できるようになっている。
以上、RAID5の場合を例に挙げて説明したが、パリティが1台のパリティディスクに集約されているRAID3、RAID4についても、全く同様に適用することが可能である。また、データからハミングコード(ECCコード)を生成し、ビット毎に複数のHDDに分散して記憶するRAID2についても、全く同様に適用することが可能である。
図5は、図1に示す本実施形態の磁気ディスク装置において、RAID5で構成したRAIDグループ#0(62)のうちHDD#2に障害が発生した場合に、RAIDグループ#2(64)との結合を行う運用切り替え処理の動作を説明する図である。尚、RAIDグループ#2(64)はRAID6である。
まず、磁気ディスク装置21の回復/復旧コピー機能部44は、図2に示した原理に従い、RAIDグループ#0の各HDDの先頭ストライプ#0の格納データ(D0,D1,P0)をキャッシュメモリ23上の作業領域にステージし、これらのデータからHDD#2の障害により消失したデータブロックD2を回復し、パリティブロックP0が格納されていたHDD#3上に回復データブロックD2をデステージする。
続いて、磁気ディスク装置21の回復/復旧コピー機能部44は、RAIDグループ#2の先頭ストライプ#0のHDD#10,#11に格納されたパリティブロックP0’,Q0’をキャッシュメモリ23上の作業領域にステージし、先にステージされているパリティブロックP0とP0’とから結合パリティCP0を生成し、先にステージされているデータブロックD0,D1と回復されたデータブロックD2とパリティブロックQ0’とから結合パリティCQ0を生成し、パリティブロックP0’,Q0’が格納されていたHDD#10,#11上に結合パリティCP0,CQ0をデステージする。
このようにして、先頭ストライプ#0については、7台のHDDにより5D+1P+1QのRAID6が構成されることになり、HDD障害に対応しながらも冗長性が維持されたこととなる。
続いて、磁気ディスク装置21の回復/復旧コピー機能部44は、RAIDグループ#2の先頭ストライプ#0のHDD#10,#11に格納されたパリティブロックP0’,Q0’をキャッシュメモリ23上の作業領域にステージし、先にステージされているパリティブロックP0とP0’とから結合パリティCP0を生成し、先にステージされているデータブロックD0,D1と回復されたデータブロックD2とパリティブロックQ0’とから結合パリティCQ0を生成し、パリティブロックP0’,Q0’が格納されていたHDD#10,#11上に結合パリティCP0,CQ0をデステージする。
このようにして、先頭ストライプ#0については、7台のHDDにより5D+1P+1QのRAID6が構成されることになり、HDD障害に対応しながらも冗長性が維持されたこととなる。
次に、ストライプ#1について運用切り替え処理を行う。
磁気ディスク装置21の回復/復旧コピー機能部44は、図2に示した原理に従い、RAIDグループ#0の各HDDのストライプ#1の格納データ(D4,D5,D3)をキャッシュメモリ23上の作業領域にステージする。RAIDグループ#0のストライプ#1については、データブロックが消失していないため、データブロックの回復及びデステージ処理は不要である。
続いて、RAIDグループ#2のストライプ#1のHDD#9,#10に格納されたパリティブロックP1’,Q1’をキャッシュメモリ23上の作業領域にステージし、先にステージされているデータブロックD4,D5,D3とパリティブロックP1’とから結合パリティCP1を生成し、先にステージされているデータブロックD4,D5,D3とパリティブロックQ1’とから結合パリティCQ1を生成し、パリティブロックP1’,Q1’が格納されていたHDD#9,#10上に結合パリティCP1,CQ1をデステージする。
このようにして、ストライプ#1についても、7台のHDDにより5D+1P+1QのRAID6が構成されることになり、HDD障害に対応しながらも冗長性が維持されたこととなる。
磁気ディスク装置21の回復/復旧コピー機能部44は、図2に示した原理に従い、RAIDグループ#0の各HDDのストライプ#1の格納データ(D4,D5,D3)をキャッシュメモリ23上の作業領域にステージする。RAIDグループ#0のストライプ#1については、データブロックが消失していないため、データブロックの回復及びデステージ処理は不要である。
続いて、RAIDグループ#2のストライプ#1のHDD#9,#10に格納されたパリティブロックP1’,Q1’をキャッシュメモリ23上の作業領域にステージし、先にステージされているデータブロックD4,D5,D3とパリティブロックP1’とから結合パリティCP1を生成し、先にステージされているデータブロックD4,D5,D3とパリティブロックQ1’とから結合パリティCQ1を生成し、パリティブロックP1’,Q1’が格納されていたHDD#9,#10上に結合パリティCP1,CQ1をデステージする。
このようにして、ストライプ#1についても、7台のHDDにより5D+1P+1QのRAID6が構成されることになり、HDD障害に対応しながらも冗長性が維持されたこととなる。
次に、ストライプ#2について運用切り替え処理を行う。
磁気ディスク装置21の回復/復旧コピー機能部44は、図2に示した原理に従い、RAIDグループ#0の各HDDのストライプ#2の格納データ(D8,P2,D7)をキャッシュメモリ23上の作業領域にステージし、これらのデータからHDD#2の障害により消失したデータブロックD6を回復し、パリティブロックP2が格納されていたHDD#1上に回復データブロックD6をデステージする。
続いて、RAIDグループ#2のストライプ#2のHDD#8,#9に格納されたパリティブロックP2’,Q2’をキャッシュメモリ23上の作業領域にステージし、先にステージされているパリティブロックP2とP2’とから結合パリティCP2を生成し、先にステージされているデータブロックD8,D7と回復されたデータブロックD6とパリティブロックQ2’とから結合パリティCQ2を生成し、パリティブロックP2’,Q2’が格納されていたHDD#8,#9上に結合パリティCP2,CQ2をデステージする。
このようにして、ストライプ#2についても、7台のHDDにより5D+1P+1QのRAID6が構成されることになり、HDD障害に対応しながらも冗長性が維持されたこととなる。
磁気ディスク装置21の回復/復旧コピー機能部44は、図2に示した原理に従い、RAIDグループ#0の各HDDのストライプ#2の格納データ(D8,P2,D7)をキャッシュメモリ23上の作業領域にステージし、これらのデータからHDD#2の障害により消失したデータブロックD6を回復し、パリティブロックP2が格納されていたHDD#1上に回復データブロックD6をデステージする。
続いて、RAIDグループ#2のストライプ#2のHDD#8,#9に格納されたパリティブロックP2’,Q2’をキャッシュメモリ23上の作業領域にステージし、先にステージされているパリティブロックP2とP2’とから結合パリティCP2を生成し、先にステージされているデータブロックD8,D7と回復されたデータブロックD6とパリティブロックQ2’とから結合パリティCQ2を生成し、パリティブロックP2’,Q2’が格納されていたHDD#8,#9上に結合パリティCP2,CQ2をデステージする。
このようにして、ストライプ#2についても、7台のHDDにより5D+1P+1QのRAID6が構成されることになり、HDD障害に対応しながらも冗長性が維持されたこととなる。
次に、ストライプ#3について運用切り替え処理を行う。
磁気ディスク装置21の回復/復旧コピー機能部44は、図2に示した原理に従い、RAIDグループ#0の各HDDのストライプ#3の格納データ(P3,D9,D11)をキャッシュメモリ23上の作業領域にステージし、これらのデータからHDD#2の障害により消失したデータブロックD10を回復し、パリティブロックP3が格納されていたHDD#0上に回復データブロックD10をデステージする。
続いて、RAIDグループ#2のストライプ#3のHDD#11、#8に格納されたパリティブロックP3’,Q3’をキャッシュメモリ23上の作業領域にステージし、先にステージされているパリティブロックP3とP3’とから結合パリティCP3を生成し、
先にステージされているデータブロックD9,D11と回復されたデータブロックD10とパリティブロックQ3’とから結合パリティCQ3を生成し、パリティブロックP3’,Q3’が格納されていたHDD#11,#8上に結合パリティCP3,CQ3をデステージする。
このようにして、ストライプ#3についても、7台のHDDにより5D+1P+1QのRAID6が構成されることになり、HDD障害に対応しながらも冗長性が維持されたこととなる。
以下、ストライプ#4以降についても同様にして運用切り替え処理を行うことができる。
磁気ディスク装置21の回復/復旧コピー機能部44は、図2に示した原理に従い、RAIDグループ#0の各HDDのストライプ#3の格納データ(P3,D9,D11)をキャッシュメモリ23上の作業領域にステージし、これらのデータからHDD#2の障害により消失したデータブロックD10を回復し、パリティブロックP3が格納されていたHDD#0上に回復データブロックD10をデステージする。
続いて、RAIDグループ#2のストライプ#3のHDD#11、#8に格納されたパリティブロックP3’,Q3’をキャッシュメモリ23上の作業領域にステージし、先にステージされているパリティブロックP3とP3’とから結合パリティCP3を生成し、
先にステージされているデータブロックD9,D11と回復されたデータブロックD10とパリティブロックQ3’とから結合パリティCQ3を生成し、パリティブロックP3’,Q3’が格納されていたHDD#11,#8上に結合パリティCP3,CQ3をデステージする。
このようにして、ストライプ#3についても、7台のHDDにより5D+1P+1QのRAID6が構成されることになり、HDD障害に対応しながらも冗長性が維持されたこととなる。
以下、ストライプ#4以降についても同様にして運用切り替え処理を行うことができる。
図6は、図1に示す本実施形態の磁気ディスク装置において、RAID1で構成したRAIDグループ#3(65)のうちHDD#13に障害が発生した場合に、RAID5であるRAIDグループ#1(63)との結合を行う運用切り替え処理の動作を説明する図である。
図6に示すように、各ストライプにおいて、RAIDグループ#3のHDD#12に格納されたデータブロックと、RAIDグループ#1におけるパリティブロックとをキャッシュメモリ23上にステージし、これらから結合パリティブロックを生成して、RAIDグループ#1のパリティブロック格納位置にデステージする。
これにより、HDD障害が発生したRAID1のRAIDグループ#3とRAID5のRAIDグループ#1とを結合して、4D+1PのRAID5を構成することができるので、HDD障害に対応しながらも冗長性が維持されたこととなる。
これにより、HDD障害が発生したRAID1のRAIDグループ#3とRAID5のRAIDグループ#1とを結合して、4D+1PのRAID5を構成することができるので、HDD障害に対応しながらも冗長性が維持されたこととなる。
図7は、図1に示す本実施形態の磁気ディスク装置において、RAID1で構成したRAIDグループ#3(65)のうちHDD#13に障害が発生した場合に、RAID6であるRAIDグループ#2(64)との結合を行う運用切り替え処理の動作を説明する図である。
図7に示すように、各ストライプにおいて、RAIDグループ#3のHDD#12に格納されたデータブロックと、RAIDグループ#2における2種類のパリティブロックとをキャッシュメモリ23上にステージし、各々の組み合わせから2種類の結合パリティブロックを生成して、RAIDグループ#2の各種のパリティブロック格納位置にデステージする。
これにより、HDD障害が発生したRAID1のRAIDグループ#3とRAID6のRAIDグループ#2とを結合して、3D+1P+1QのRAID6を構成することができるので、HDD障害に対応しながらも冗長性が維持されたこととなる。
これにより、HDD障害が発生したRAID1のRAIDグループ#3とRAID6のRAIDグループ#2とを結合して、3D+1P+1QのRAID6を構成することができるので、HDD障害に対応しながらも冗長性が維持されたこととなる。
<障害回復時のデータ復旧処理>
図8は、図1に示す本実施形態の磁気ディスク装置において、RAID5で構成したRAIDグループ#0(62)のうちHDD#2に障害が発生し、RAID5で構成したRAIDグループ#1(63)との結合RAIDグループを構成した後に、HDD#2の復旧により元のRAID構成を復旧する障害復旧処理の動作を説明する図である。以下に説明する障害復旧処理は、磁気ディスク装置21の回復/復旧コピー機能部44のデータ回復制御部44A、パリティ再生成部44B、RAIDグループ分離部44Dが、上記で図3を参照しながら説明した障害復旧の原理に基づいて実行・管理する。
図8は、図1に示す本実施形態の磁気ディスク装置において、RAID5で構成したRAIDグループ#0(62)のうちHDD#2に障害が発生し、RAID5で構成したRAIDグループ#1(63)との結合RAIDグループを構成した後に、HDD#2の復旧により元のRAID構成を復旧する障害復旧処理の動作を説明する図である。以下に説明する障害復旧処理は、磁気ディスク装置21の回復/復旧コピー機能部44のデータ回復制御部44A、パリティ再生成部44B、RAIDグループ分離部44Dが、上記で図3を参照しながら説明した障害復旧の原理に基づいて実行・管理する。
まず、磁気ディスク装置21の回復/復旧コピー機能部44は、図3に示した原理に従い、RAIDグループ#0の各HDDの先頭ストライプ#0に格納されたデータブロックD0,D1,rD2をキャッシュメモリ23上の作業領域にステージし、これらのデータからパリティブロックP0を再生成し、データブロックrD2をHDD#2にデステージし、パリティブロックP0をHDD#3上にデステージする。
続いて、磁気ディスク装置21の回復/復旧コピー機能部44は、RAIDグループ#1の先頭ストライプ#0のHDD#7に格納された結合パリティブロックCP0をキャッシュメモリ23上の作業領域にステージし、先にステージされているデータブロックD0,D1,rD2と結合パリティブロックCP0とから本来HDD#7に格納されていたパリティブロックP0’ を再生成し、HDD#7上にデステージする。
このようにして、先頭ストライプ#0については、結合していたRIADグループが分離され、障害発生前のRAID5で構成されたRAIDグループ#0,#1が復旧されたこととなる。
続いて、磁気ディスク装置21の回復/復旧コピー機能部44は、RAIDグループ#1の先頭ストライプ#0のHDD#7に格納された結合パリティブロックCP0をキャッシュメモリ23上の作業領域にステージし、先にステージされているデータブロックD0,D1,rD2と結合パリティブロックCP0とから本来HDD#7に格納されていたパリティブロックP0’ を再生成し、HDD#7上にデステージする。
このようにして、先頭ストライプ#0については、結合していたRIADグループが分離され、障害発生前のRAID5で構成されたRAIDグループ#0,#1が復旧されたこととなる。
次に、ストライプ#1について障害復旧処理を行う。
磁気ディスク装置21の回復/復旧コピー機能部44は、図3に示した原理に従い、RAIDグループ#0の各HDDのストライプ#1の格納データ(D4,D5,D3)をキャッシュメモリ23上の作業領域にステージし、これらのデータからHDD#2に本来格納されるべきパリティブロックP1を再生成し、HDD#2上にデステージする。
続いて、磁気ディスク装置21の回復/復旧コピー機能部44は、RAIDグループ#1の先頭ストライプ#1のHDD#6に格納された結合パリティブロックCP1をキャッシュメモリ23上の作業領域にステージし、先にステージされているデータブロックD4,D5,D3と結合パリティブロックCP1とから本来HDD#6に格納されていたパリティブロックP1’を再生成し、HDD#6上にデステージする。
このようにして、ストライプ#1についても、結合していたRIADグループが分離され、障害発生前のRAID5で構成されたRAIDグループ#0,#1が復旧されたこととなる。
磁気ディスク装置21の回復/復旧コピー機能部44は、図3に示した原理に従い、RAIDグループ#0の各HDDのストライプ#1の格納データ(D4,D5,D3)をキャッシュメモリ23上の作業領域にステージし、これらのデータからHDD#2に本来格納されるべきパリティブロックP1を再生成し、HDD#2上にデステージする。
続いて、磁気ディスク装置21の回復/復旧コピー機能部44は、RAIDグループ#1の先頭ストライプ#1のHDD#6に格納された結合パリティブロックCP1をキャッシュメモリ23上の作業領域にステージし、先にステージされているデータブロックD4,D5,D3と結合パリティブロックCP1とから本来HDD#6に格納されていたパリティブロックP1’を再生成し、HDD#6上にデステージする。
このようにして、ストライプ#1についても、結合していたRIADグループが分離され、障害発生前のRAID5で構成されたRAIDグループ#0,#1が復旧されたこととなる。
次に、ストライプ#2について障害復旧処理を行う。
磁気ディスク装置21の回復/復旧コピー機能部44は、図3に示した原理に従い、RAIDグループ#0の各HDDのストライプ#2の格納データ(D8,rD6,D7)をキャッシュメモリ23上の作業領域にステージし、これらのデータからパリティブロックP2を再生成し、データブロックrD6をHDD#2にデステージし、パリティブロックP2をHDD#1上にデステージする。
続いて、磁気ディスク装置21の回復/復旧コピー機能部44は、RAIDグループ#1の先頭ストライプ#2のHDD#5に格納された結合パリティブロックCP2をキャッシュメモリ23上の作業領域にステージし、先にステージされているデータブロックD8,rD6,D7と結合パリティブロックCP2とから本来HDD#5に格納されていたパリティブロックP2’を再生成し、HDD#5上にデステージする。
このようにして、ストライプ#2についても、結合していたRIADグループが分離され、障害発生前のRAID5で構成されたRAIDグループ#0,#1が復旧されたこととなる。
磁気ディスク装置21の回復/復旧コピー機能部44は、図3に示した原理に従い、RAIDグループ#0の各HDDのストライプ#2の格納データ(D8,rD6,D7)をキャッシュメモリ23上の作業領域にステージし、これらのデータからパリティブロックP2を再生成し、データブロックrD6をHDD#2にデステージし、パリティブロックP2をHDD#1上にデステージする。
続いて、磁気ディスク装置21の回復/復旧コピー機能部44は、RAIDグループ#1の先頭ストライプ#2のHDD#5に格納された結合パリティブロックCP2をキャッシュメモリ23上の作業領域にステージし、先にステージされているデータブロックD8,rD6,D7と結合パリティブロックCP2とから本来HDD#5に格納されていたパリティブロックP2’を再生成し、HDD#5上にデステージする。
このようにして、ストライプ#2についても、結合していたRIADグループが分離され、障害発生前のRAID5で構成されたRAIDグループ#0,#1が復旧されたこととなる。
次に、ストライプ#3について障害復旧処理を行う。
磁気ディスク装置21の回復/復旧コピー機能部44は、図3に示した原理に従い、RAIDグループ#0の各HDDのストライプ#3の格納データ(rD10,D9,D11)をキャッシュメモリ23上の作業領域にステージし、これらのデータからパリティブロックP3を再生成し、データブロックrD10をHDD#2にデステージし、パリティブロックP3をHDD#1上にデステージする。
続いて、磁気ディスク装置21の回復/復旧コピー機能部44は、RAIDグループ#1の先頭ストライプ#3のHDD#4に格納された結合パリティブロックCP3をキャッシュメモリ23上の作業領域にステージし、先にステージされているデータブロックrD10,D9,D11と結合パリティブロックCP3とから本来HDD#4に格納されていたパリティブロックP3’を再生成し、HDD#4上にデステージする。
このようにして、ストライプ#3についても、結合していたRIADグループが分離され、障害発生前のRAID5で構成されたRAIDグループ#0,#1が復旧されたこととなる。
以下、ストライプ#4以降についても同様にして障害復旧処理を行うことができる。
磁気ディスク装置21の回復/復旧コピー機能部44は、図3に示した原理に従い、RAIDグループ#0の各HDDのストライプ#3の格納データ(rD10,D9,D11)をキャッシュメモリ23上の作業領域にステージし、これらのデータからパリティブロックP3を再生成し、データブロックrD10をHDD#2にデステージし、パリティブロックP3をHDD#1上にデステージする。
続いて、磁気ディスク装置21の回復/復旧コピー機能部44は、RAIDグループ#1の先頭ストライプ#3のHDD#4に格納された結合パリティブロックCP3をキャッシュメモリ23上の作業領域にステージし、先にステージされているデータブロックrD10,D9,D11と結合パリティブロックCP3とから本来HDD#4に格納されていたパリティブロックP3’を再生成し、HDD#4上にデステージする。
このようにして、ストライプ#3についても、結合していたRIADグループが分離され、障害発生前のRAID5で構成されたRAIDグループ#0,#1が復旧されたこととなる。
以下、ストライプ#4以降についても同様にして障害復旧処理を行うことができる。
尚、本実施形態の磁気ディスク装置では、コピー進捗管理部51により、論理ブロックごとに行われるデータ復旧処理の進捗状況を管理している。具体的には、図示するように、論理ブロック(ストライプ)単位で、障害復旧処理が完了した位置を示すコピー済ポインタ52Bと、現在障害復旧を行っている先頭位置を示すコピー中ポインタ52Aとを用いて管理している。これらのポインタにより、論理ブロック(ストライプ)単位で、障害復旧済み範囲、障害復旧中範囲、障害復旧未着手範囲が容易に把握できるようになっている。
以上、RAID5の場合を例に挙げて説明したが、パリティが1台のパリティディスクに集約されているRAID3、RAID4についても、全く同様に適用することが可能である。また、データからハミングコード(ECCコード)を生成し、ビット毎に複数のHDDに分散して記憶するRAID2についても、全く同様に適用することが可能である。
図9は、図1に示す本実施形態の磁気ディスク装置において、HDD障害が発生したRAID5のRAIDグループ#0(62)を他のRAID6のRAIDグループ#2(64)と結合したものを再び分離する障害復旧処理の動作を説明する図である。
まず、磁気ディスク装置21の回復/復旧コピー機能部44は、図3に示した原理に従い、RAIDグループ#0の各HDDの先頭ストライプ#0に格納されたデータブロックD0,D1,rD2をキャッシュメモリ23上の作業領域にステージし、これらのデータからパリティブロックP0を再生成し、データブロックrD2をHDD#2にデステージし、パリティブロックP0をHDD#3上にデステージする。
続いて、磁気ディスク装置21の回復/復旧コピー機能部44は、RAIDグループ#2の先頭ストライプ#0のHDD#10,#11に格納された結合パリティブロックCP0,CQ0をキャッシュメモリ23上の作業領域にステージし、再生成されたパリティブロックP0と結合パリティブロックCP0とから本来HDD#10に格納されていたパリティブロックP0’を再生成し、先にステージされているデータブロックD0,D1,rD2と結合パリティブロックCQ0とから本来HDD#11に格納されていたパリティブロックQ0’を再生成し、それぞれをHDD#10,#11上にデステージする。
このようにして、先頭ストライプ#0については、結合していたRIADグループが分離され、障害発生前のRAID5で構成されたRAIDグループ#0及びRAID6で構成されたRAIDグループ#2が復旧されたこととなる。
続いて、磁気ディスク装置21の回復/復旧コピー機能部44は、RAIDグループ#2の先頭ストライプ#0のHDD#10,#11に格納された結合パリティブロックCP0,CQ0をキャッシュメモリ23上の作業領域にステージし、再生成されたパリティブロックP0と結合パリティブロックCP0とから本来HDD#10に格納されていたパリティブロックP0’を再生成し、先にステージされているデータブロックD0,D1,rD2と結合パリティブロックCQ0とから本来HDD#11に格納されていたパリティブロックQ0’を再生成し、それぞれをHDD#10,#11上にデステージする。
このようにして、先頭ストライプ#0については、結合していたRIADグループが分離され、障害発生前のRAID5で構成されたRAIDグループ#0及びRAID6で構成されたRAIDグループ#2が復旧されたこととなる。
次に、ストライプ#1について障害復旧処理を行う。
磁気ディスク装置21の回復/復旧コピー機能部44は、図3に示した原理に従い、RAIDグループ#0の各HDDのストライプ#1の格納データ(D4,D5,D3)をキャッシュメモリ23上の作業領域にステージし、これらのデータからパリティブロックP1を再生成し、HDD#2上にデステージする。
続いて、磁気ディスク装置21の回復/復旧コピー機能部44は、RAIDグループ#2のストライプ#1のHDD#9,#10に格納された結合パリティブロックCP1,CQ1をキャッシュメモリ23上の作業領域にステージし、再生成されたパリティブロックP1と結合パリティブロックCP1とから本来HDD#9に格納されていたパリティブロックP1’を再生成し、先にステージされているデータブロックD4,D5,D3と結合パリティブロックCQ1とから本来HDD#10に格納されていたパリティブロックQ1’を再生成し、それぞれをHDD#9,#10上にデステージする。
このようにして、ストライプ#1についても、結合していたRIADグループが分離され、障害発生前のRAID5で構成されたRAIDグループ#0及びRAID6で構成されたRAIDグループ#2が復旧されたこととなる。
磁気ディスク装置21の回復/復旧コピー機能部44は、図3に示した原理に従い、RAIDグループ#0の各HDDのストライプ#1の格納データ(D4,D5,D3)をキャッシュメモリ23上の作業領域にステージし、これらのデータからパリティブロックP1を再生成し、HDD#2上にデステージする。
続いて、磁気ディスク装置21の回復/復旧コピー機能部44は、RAIDグループ#2のストライプ#1のHDD#9,#10に格納された結合パリティブロックCP1,CQ1をキャッシュメモリ23上の作業領域にステージし、再生成されたパリティブロックP1と結合パリティブロックCP1とから本来HDD#9に格納されていたパリティブロックP1’を再生成し、先にステージされているデータブロックD4,D5,D3と結合パリティブロックCQ1とから本来HDD#10に格納されていたパリティブロックQ1’を再生成し、それぞれをHDD#9,#10上にデステージする。
このようにして、ストライプ#1についても、結合していたRIADグループが分離され、障害発生前のRAID5で構成されたRAIDグループ#0及びRAID6で構成されたRAIDグループ#2が復旧されたこととなる。
次に、ストライプ#2について障害復旧処理を行う。
磁気ディスク装置21の回復/復旧コピー機能部44は、図3に示した原理に従い、RAIDグループ#0の各HDDのストライプ#2の格納データ(D8,rD6,D7)をキャッシュメモリ23上の作業領域にステージし、これらのデータからパリティブロックP2を再生成し、データブロックrD6をHDD#2にデステージし、パリティブロックP2をHDD#1上にデステージする。
続いて、磁気ディスク装置21の回復/復旧コピー機能部44は、RAIDグループ#2のストライプ#2のHDD#8,#9に格納された結合パリティブロックCP2,CQ2をキャッシュメモリ23上の作業領域にステージし、再生成されたパリティブロックP2と結合パリティブロックCP2とから本来HDD#8に格納されていたパリティブロックP2’を再生成し、先にステージされているデータブロックD8,rD6,D7と結合パリティブロックCQ2とから本来HDD#9に格納されていたパリティブロックQ2’を再生成し、それぞれをHDD#8,#9上にデステージする。
このようにして、ストライプ#2についても、結合していたRIADグループが分離され、障害発生前のRAID5で構成されたRAIDグループ#0及びRAID6で構成されたRAIDグループ#2が復旧されたこととなる。
磁気ディスク装置21の回復/復旧コピー機能部44は、図3に示した原理に従い、RAIDグループ#0の各HDDのストライプ#2の格納データ(D8,rD6,D7)をキャッシュメモリ23上の作業領域にステージし、これらのデータからパリティブロックP2を再生成し、データブロックrD6をHDD#2にデステージし、パリティブロックP2をHDD#1上にデステージする。
続いて、磁気ディスク装置21の回復/復旧コピー機能部44は、RAIDグループ#2のストライプ#2のHDD#8,#9に格納された結合パリティブロックCP2,CQ2をキャッシュメモリ23上の作業領域にステージし、再生成されたパリティブロックP2と結合パリティブロックCP2とから本来HDD#8に格納されていたパリティブロックP2’を再生成し、先にステージされているデータブロックD8,rD6,D7と結合パリティブロックCQ2とから本来HDD#9に格納されていたパリティブロックQ2’を再生成し、それぞれをHDD#8,#9上にデステージする。
このようにして、ストライプ#2についても、結合していたRIADグループが分離され、障害発生前のRAID5で構成されたRAIDグループ#0及びRAID6で構成されたRAIDグループ#2が復旧されたこととなる。
次に、ストライプ#3について障害復旧処理を行う。
磁気ディスク装置21の回復/復旧コピー機能部44は、図3に示した原理に従い、RAIDグループ#0の各HDDのストライプ#3の格納データ(rD10,D9,D11)をキャッシュメモリ23上の作業領域にステージし、これらのデータからパリティブロックP3を再生成し、データブロックrD10をHDD#2にデステージし、パリティブロックP3をHDD#0上にデステージする。
続いて、磁気ディスク装置21の回復/復旧コピー機能部44は、RAIDグループ#2のストライプ#3のHDD#11,#8に格納された結合パリティブロックCP3,CQ3をキャッシュメモリ23上の作業領域にステージし、再生成されたパリティブロックP3と結合パリティブロックCP3とから本来HDD#11に格納されていたパリティブロックP3’を再生成し、先にステージされているデータブロックrD10,D9,D11と結合パリティブロックCQ3とから本来HDD#8に格納されていたパリティブロックQ3’を再生成し、それぞれをHDD#11,#8上にデステージする。
このようにして、ストライプ#3についても、結合していたRIADグループが分離され、障害発生前のRAID5で構成されたRAIDグループ#0及びRAID6で構成されたRAIDグループ#2が復旧されたこととなる。
以下、ストライプ#4以降についても同様にして障害復旧処理を行うことができる。
磁気ディスク装置21の回復/復旧コピー機能部44は、図3に示した原理に従い、RAIDグループ#0の各HDDのストライプ#3の格納データ(rD10,D9,D11)をキャッシュメモリ23上の作業領域にステージし、これらのデータからパリティブロックP3を再生成し、データブロックrD10をHDD#2にデステージし、パリティブロックP3をHDD#0上にデステージする。
続いて、磁気ディスク装置21の回復/復旧コピー機能部44は、RAIDグループ#2のストライプ#3のHDD#11,#8に格納された結合パリティブロックCP3,CQ3をキャッシュメモリ23上の作業領域にステージし、再生成されたパリティブロックP3と結合パリティブロックCP3とから本来HDD#11に格納されていたパリティブロックP3’を再生成し、先にステージされているデータブロックrD10,D9,D11と結合パリティブロックCQ3とから本来HDD#8に格納されていたパリティブロックQ3’を再生成し、それぞれをHDD#11,#8上にデステージする。
このようにして、ストライプ#3についても、結合していたRIADグループが分離され、障害発生前のRAID5で構成されたRAIDグループ#0及びRAID6で構成されたRAIDグループ#2が復旧されたこととなる。
以下、ストライプ#4以降についても同様にして障害復旧処理を行うことができる。
図10は、図1に示す本実施形態の磁気ディスク装置において、HDD障害が発生したRAID1のRAIDグループ#3(65)を他のRAID5のRAIDグループ#1(63)と結合したものを再び分離する障害復旧処理の動作を説明する図である。
まず、磁気ディスク装置21の回復/復旧コピー機能部44は、図3に示した原理に従い、RAIDグループ#3のHDD#12の先頭ストライプ#0に格納されたデータブロックD0をキャッシュメモリ23上の作業領域にステージし、回復したHDD#13上にデステージする。
続いて、磁気ディスク装置21の回復/復旧コピー機能部44は、RAIDグループ#1の先頭ストライプ#0のHDD#7に格納された結合パリティブロックCP0をキャッシュメモリ23上の作業領域にステージし、ステージされているデータブロックD0と結合パリティブロックCP0とから本来HDD#7に格納されていたパリティブロックP0’を再生成し、HDD#7上にデステージする。
このようにして、先頭ストライプ#0については、結合していたRIADグループが分離され、障害発生前のRAID1で構成されたRAIDグループ#3及びRAID5で構成されたRAIDグループ#1が復旧されたこととなる。
続いて、磁気ディスク装置21の回復/復旧コピー機能部44は、RAIDグループ#1の先頭ストライプ#0のHDD#7に格納された結合パリティブロックCP0をキャッシュメモリ23上の作業領域にステージし、ステージされているデータブロックD0と結合パリティブロックCP0とから本来HDD#7に格納されていたパリティブロックP0’を再生成し、HDD#7上にデステージする。
このようにして、先頭ストライプ#0については、結合していたRIADグループが分離され、障害発生前のRAID1で構成されたRAIDグループ#3及びRAID5で構成されたRAIDグループ#1が復旧されたこととなる。
次に、ストライプ#1について障害復旧処理を行う。
磁気ディスク装置21の回復/復旧コピー機能部44は、図3に示した原理に従い、RAIDグループ#3のHDD#12のストライプ#1の格納データ(D1)をキャッシュメモリ23上の作業領域にステージし、回復したHDD#13上にデステージする。
続いて、磁気ディスク装置21の回復/復旧コピー機能部44は、RAIDグループ#1のストライプ#1のHDD#6に格納された結合パリティブロックCP1をキャッシュメモリ23上の作業領域にステージし、ステージされているデータブロックD1と結合パリティブロックCP1とから本来HDD#6に格納されていたパリティブロックP1’を再生成し、HDD#6上にデステージする。
このようにして、ストライプ#1についても、結合していたRIADグループが分離され、障害発生前のRAID1で構成されたRAIDグループ#3及びRAID5で構成されたRAIDグループ#1が復旧されたこととなる。
磁気ディスク装置21の回復/復旧コピー機能部44は、図3に示した原理に従い、RAIDグループ#3のHDD#12のストライプ#1の格納データ(D1)をキャッシュメモリ23上の作業領域にステージし、回復したHDD#13上にデステージする。
続いて、磁気ディスク装置21の回復/復旧コピー機能部44は、RAIDグループ#1のストライプ#1のHDD#6に格納された結合パリティブロックCP1をキャッシュメモリ23上の作業領域にステージし、ステージされているデータブロックD1と結合パリティブロックCP1とから本来HDD#6に格納されていたパリティブロックP1’を再生成し、HDD#6上にデステージする。
このようにして、ストライプ#1についても、結合していたRIADグループが分離され、障害発生前のRAID1で構成されたRAIDグループ#3及びRAID5で構成されたRAIDグループ#1が復旧されたこととなる。
次に、ストライプ#2について障害復旧処理を行う。
磁気ディスク装置21の回復/復旧コピー機能部44は、図3に示した原理に従い、RAIDグループ#3の各HDDのストライプ#2の格納データ(D2)をキャッシュメモリ23上の作業領域にステージし、回復したHDD#13上にデステージする。
続いて、磁気ディスク装置21の回復/復旧コピー機能部44は、RAIDグループ#1のストライプ#2のHDD#5に格納された結合パリティブロックCP2をキャッシュメモリ23上の作業領域にステージし、ステージされているデータブロックD2と結合パリティブロックCP2とから本来HDD#5に格納されていたパリティブロックP2’を再生成し、HDD#5上にデステージする。
このようにして、ストライプ#2についても、結合していたRIADグループが分離され、障害発生前のRAID1で構成されたRAIDグループ#3及びRAID5で構成されたRAIDグループ#1が復旧されたこととなる。
磁気ディスク装置21の回復/復旧コピー機能部44は、図3に示した原理に従い、RAIDグループ#3の各HDDのストライプ#2の格納データ(D2)をキャッシュメモリ23上の作業領域にステージし、回復したHDD#13上にデステージする。
続いて、磁気ディスク装置21の回復/復旧コピー機能部44は、RAIDグループ#1のストライプ#2のHDD#5に格納された結合パリティブロックCP2をキャッシュメモリ23上の作業領域にステージし、ステージされているデータブロックD2と結合パリティブロックCP2とから本来HDD#5に格納されていたパリティブロックP2’を再生成し、HDD#5上にデステージする。
このようにして、ストライプ#2についても、結合していたRIADグループが分離され、障害発生前のRAID1で構成されたRAIDグループ#3及びRAID5で構成されたRAIDグループ#1が復旧されたこととなる。
次に、ストライプ#3について障害復旧処理を行う。
磁気ディスク装置21の回復/復旧コピー機能部44は、図3に示した原理に従い、RAIDグループ#3の各HDDのストライプ#3の格納データ(D3)をキャッシュメモリ23上の作業領域にステージし、回復したHDD#13上にデステージする。
続いて、磁気ディスク装置21の回復/復旧コピー機能部44は、RAIDグループ#1のストライプ#3のHDD#4に格納された結合パリティブロックCP3をキャッシュメモリ23上の作業領域にステージし、ステージされているデータブロックD3と結合パリティブロックCP3とから本来HDD#4に格納されていたパリティブロックP3’を再生成し、HDD#4上にデステージする。
このようにして、ストライプ#3についても、結合していたRIADグループが分離され、障害発生前のRAID1で構成されたRAIDグループ#3及びRAID5で構成されたRAIDグループ#1が復旧されたこととなる。
以下、ストライプ#4以降についても同様にして障害復旧処理を行うことができる。
磁気ディスク装置21の回復/復旧コピー機能部44は、図3に示した原理に従い、RAIDグループ#3の各HDDのストライプ#3の格納データ(D3)をキャッシュメモリ23上の作業領域にステージし、回復したHDD#13上にデステージする。
続いて、磁気ディスク装置21の回復/復旧コピー機能部44は、RAIDグループ#1のストライプ#3のHDD#4に格納された結合パリティブロックCP3をキャッシュメモリ23上の作業領域にステージし、ステージされているデータブロックD3と結合パリティブロックCP3とから本来HDD#4に格納されていたパリティブロックP3’を再生成し、HDD#4上にデステージする。
このようにして、ストライプ#3についても、結合していたRIADグループが分離され、障害発生前のRAID1で構成されたRAIDグループ#3及びRAID5で構成されたRAIDグループ#1が復旧されたこととなる。
以下、ストライプ#4以降についても同様にして障害復旧処理を行うことができる。
図11は、図1に示す本実施形態の磁気ディスク装置において、HDD障害が発生したRAID1のRAIDグループ#3(65)を他のRAID6のRAIDグループ#2(64)と結合したものを再び分離する障害復旧処理の動作を説明する図である。
まず、磁気ディスク装置21の回復/復旧コピー機能部44は、図3に示した原理に従い、RAIDグループ#3の各HDDの先頭ストライプ#0に格納されたデータブロックD0をキャッシュメモリ23上の作業領域にステージし、回復したHDD#13上にデステージする。
続いて、磁気ディスク装置21の回復/復旧コピー機能部44は、RAIDグループ#2の先頭ストライプ#0のHDD#10,#11に格納された結合パリティブロックCP0,CQ0をキャッシュメモリ23上の作業領域にステージし、ステージされているデータブロックD0と結合パリティブロックCP0とから本来HDD#10に格納されていたパリティブロックP0’を再生成し、ステージされているデータブロックD0と結合パリティブロックCQ0とから本来HDD#11に格納されていたパリティブロックQ0’を再生成し、それぞれをHDD#10,#11上にデステージする。
このようにして、先頭ストライプ#0については、結合していたRIADグループが分離され、障害発生前のRAID1で構成されたRAIDグループ#3及びRAID6で構成されたRAIDグループ#2が復旧されたこととなる。
まず、磁気ディスク装置21の回復/復旧コピー機能部44は、図3に示した原理に従い、RAIDグループ#3の各HDDの先頭ストライプ#0に格納されたデータブロックD0をキャッシュメモリ23上の作業領域にステージし、回復したHDD#13上にデステージする。
続いて、磁気ディスク装置21の回復/復旧コピー機能部44は、RAIDグループ#2の先頭ストライプ#0のHDD#10,#11に格納された結合パリティブロックCP0,CQ0をキャッシュメモリ23上の作業領域にステージし、ステージされているデータブロックD0と結合パリティブロックCP0とから本来HDD#10に格納されていたパリティブロックP0’を再生成し、ステージされているデータブロックD0と結合パリティブロックCQ0とから本来HDD#11に格納されていたパリティブロックQ0’を再生成し、それぞれをHDD#10,#11上にデステージする。
このようにして、先頭ストライプ#0については、結合していたRIADグループが分離され、障害発生前のRAID1で構成されたRAIDグループ#3及びRAID6で構成されたRAIDグループ#2が復旧されたこととなる。
次に、ストライプ#1について障害復旧処理を行う。
磁気ディスク装置21の回復/復旧コピー機能部44は、図3に示した原理に従い、RAIDグループ#3の各HDDのストライプ#1の格納データ(D1)をキャッシュメモリ23上の作業領域にステージし、回復したHDD#13上にデステージする。
続いて、磁気ディスク装置21の回復/復旧コピー機能部44は、RAIDグループ#2のストライプ#1のHDD#9,#10に格納された結合パリティブロックCP1,CQ1をキャッシュメモリ23上の作業領域にステージし、ステージされているデータブロックD1と結合パリティブロックCP1とから本来HDD#9に格納されていたパリティブロックP1’を再生成し、ステージされているデータブロックD1と結合パリティブロックCQ1とから本来HDD#10に格納されていたパリティブロックQ1’を再生成し、それぞれをHDD#9,#10上にデステージする。
このようにして、ストライプ#1についても、結合していたRIADグループが分離され、障害発生前のRAID1で構成されたRAIDグループ#3及びRAID6で構成されたRAIDグループ#2が復旧されたこととなる。
磁気ディスク装置21の回復/復旧コピー機能部44は、図3に示した原理に従い、RAIDグループ#3の各HDDのストライプ#1の格納データ(D1)をキャッシュメモリ23上の作業領域にステージし、回復したHDD#13上にデステージする。
続いて、磁気ディスク装置21の回復/復旧コピー機能部44は、RAIDグループ#2のストライプ#1のHDD#9,#10に格納された結合パリティブロックCP1,CQ1をキャッシュメモリ23上の作業領域にステージし、ステージされているデータブロックD1と結合パリティブロックCP1とから本来HDD#9に格納されていたパリティブロックP1’を再生成し、ステージされているデータブロックD1と結合パリティブロックCQ1とから本来HDD#10に格納されていたパリティブロックQ1’を再生成し、それぞれをHDD#9,#10上にデステージする。
このようにして、ストライプ#1についても、結合していたRIADグループが分離され、障害発生前のRAID1で構成されたRAIDグループ#3及びRAID6で構成されたRAIDグループ#2が復旧されたこととなる。
次に、ストライプ#2について障害復旧処理を行う。
磁気ディスク装置21の回復/復旧コピー機能部44は、図3に示した原理に従い、RAIDグループ#3の各HDDのストライプ#2の格納データ(D2)をキャッシュメモリ23上の作業領域にステージし、回復したHDD#13上にデステージする。
続いて、磁気ディスク装置21の回復/復旧コピー機能部44は、RAIDグループ#2のストライプ#2のHDD#8,#9に格納された結合パリティブロックCP2,CQ2をキャッシュメモリ23上の作業領域にステージし、ステージされているデータブロックD2と結合パリティブロックCP2とから本来HDD#8に格納されていたパリティブロックP2’を再生成し、ステージされているデータブロックD2と結合パリティブロックCQ2とから本来HDD#9に格納されていたパリティブロックQ2’を再生成し、それぞれをHDD#8,#9上にデステージする。
このようにして、ストライプ#2についても、結合していたRIADグループが分離され、障害発生前のRAID1で構成されたRAIDグループ#3及びRAID6で構成されたRAIDグループ#2が復旧されたこととなる。
磁気ディスク装置21の回復/復旧コピー機能部44は、図3に示した原理に従い、RAIDグループ#3の各HDDのストライプ#2の格納データ(D2)をキャッシュメモリ23上の作業領域にステージし、回復したHDD#13上にデステージする。
続いて、磁気ディスク装置21の回復/復旧コピー機能部44は、RAIDグループ#2のストライプ#2のHDD#8,#9に格納された結合パリティブロックCP2,CQ2をキャッシュメモリ23上の作業領域にステージし、ステージされているデータブロックD2と結合パリティブロックCP2とから本来HDD#8に格納されていたパリティブロックP2’を再生成し、ステージされているデータブロックD2と結合パリティブロックCQ2とから本来HDD#9に格納されていたパリティブロックQ2’を再生成し、それぞれをHDD#8,#9上にデステージする。
このようにして、ストライプ#2についても、結合していたRIADグループが分離され、障害発生前のRAID1で構成されたRAIDグループ#3及びRAID6で構成されたRAIDグループ#2が復旧されたこととなる。
次に、ストライプ#3について障害復旧処理を行う。
磁気ディスク装置21の回復/復旧コピー機能部44は、図3に示した原理に従い、RAIDグループ#3の各HDDのストライプ#3の格納データ(D3)をキャッシュメモリ23上の作業領域にステージし、回復したHDD#13上にデステージする。
続いて、磁気ディスク装置21の回復/復旧コピー機能部44は、RAIDグループ#2のストライプ#3のHDD#11,#8に格納された結合パリティブロックCP3,CQ3をキャッシュメモリ23上の作業領域にステージし、ステージされているデータブロックD3と結合パリティブロックCP3とから本来HDD#11に格納されていたパリティブロックP3’を再生成し、ステージされているデータブロックD3と結合パリティブロックCQ3とから本来HDD#8に格納されていたパリティブロックQ3’を再生成し、それぞれをHDD#11,#8上にデステージする。
このようにして、ストライプ#3についても、結合していたRIADグループが分離され、障害発生前のRAID1で構成されたRAIDグループ#3及びRAID6で構成されたRAIDグループ#2が復旧されたこととなる。
以下、ストライプ#4以降についても同様にして障害復旧処理を行うことができる。
磁気ディスク装置21の回復/復旧コピー機能部44は、図3に示した原理に従い、RAIDグループ#3の各HDDのストライプ#3の格納データ(D3)をキャッシュメモリ23上の作業領域にステージし、回復したHDD#13上にデステージする。
続いて、磁気ディスク装置21の回復/復旧コピー機能部44は、RAIDグループ#2のストライプ#3のHDD#11,#8に格納された結合パリティブロックCP3,CQ3をキャッシュメモリ23上の作業領域にステージし、ステージされているデータブロックD3と結合パリティブロックCP3とから本来HDD#11に格納されていたパリティブロックP3’を再生成し、ステージされているデータブロックD3と結合パリティブロックCQ3とから本来HDD#8に格納されていたパリティブロックQ3’を再生成し、それぞれをHDD#11,#8上にデステージする。
このようにして、ストライプ#3についても、結合していたRIADグループが分離され、障害発生前のRAID1で構成されたRAIDグループ#3及びRAID6で構成されたRAIDグループ#2が復旧されたこととなる。
以下、ストライプ#4以降についても同様にして障害復旧処理を行うことができる。
<閉塞中又は復旧中のHDDへのアクセス>
次に、本実施形態の磁気ディスク装置におけるHDD障害発生時の閉塞中又は復旧中のHDDへのアクセスの処理方法について、図4及び図8に示した2つのRAID5グループを結合して運用する場合を例に挙げて、詳細に説明する。
このアクセス処理は、図1に示す磁気ディスク装置21の対ホスト制御部31と対ドライブ制御部41とが実行する。
次に、本実施形態の磁気ディスク装置におけるHDD障害発生時の閉塞中又は復旧中のHDDへのアクセスの処理方法について、図4及び図8に示した2つのRAID5グループを結合して運用する場合を例に挙げて、詳細に説明する。
このアクセス処理は、図1に示す磁気ディスク装置21の対ホスト制御部31と対ドライブ制御部41とが実行する。
<運用切り替え処理中の閉塞HDDへのアクセス>
図12は、本実施形態の磁気ディスク装置において、HDD障害発生による運用切り替え処理中の状態におけるホストから閉塞HDDへのアクセスの処理方法を説明する図である。
以下、アクセス対象データが、運用切り替え済み範囲、運用切り替え中範囲、運用切り替え未着手範囲のそれぞれにある場合について、説明する。
図12は、本実施形態の磁気ディスク装置において、HDD障害発生による運用切り替え処理中の状態におけるホストから閉塞HDDへのアクセスの処理方法を説明する図である。
以下、アクセス対象データが、運用切り替え済み範囲、運用切り替え中範囲、運用切り替え未着手範囲のそれぞれにある場合について、説明する。
(1)アクセス対象データが運用切り替え済み範囲にある場合
図12において、運用切り替え済み範囲であるストライプ#0のデータブロックD2へのアクセス要求があると、対ドライブ制御部41は、HDD#3に格納されているデータブロックD2をキャッシュメモリ23にステージさせる。この間、対ホスト制御部31は、データブロックD2へのアクセスを所定回数再試行する(アクセス回数は有限回数ループカウンタ34にて管理)。データブロックD2がキャッシュメモリ23にステージされると、対ホスト制御部31のリード処理部32は、データブロックD2をホスト11に転送する。
また、運用切り替え完了直後であるストライプ#2のデータブロックD6へのアクセス要求があった場合、キャッシュメモリ23には運用切り替え処理において生成されたデータブロックD6が残存しているので、対ホスト制御部31のリード処理部32は、キャッシュメモリ23にアクセスしてデータブロックD6をホスト11に転送することができる。
図12において、運用切り替え済み範囲であるストライプ#0のデータブロックD2へのアクセス要求があると、対ドライブ制御部41は、HDD#3に格納されているデータブロックD2をキャッシュメモリ23にステージさせる。この間、対ホスト制御部31は、データブロックD2へのアクセスを所定回数再試行する(アクセス回数は有限回数ループカウンタ34にて管理)。データブロックD2がキャッシュメモリ23にステージされると、対ホスト制御部31のリード処理部32は、データブロックD2をホスト11に転送する。
また、運用切り替え完了直後であるストライプ#2のデータブロックD6へのアクセス要求があった場合、キャッシュメモリ23には運用切り替え処理において生成されたデータブロックD6が残存しているので、対ホスト制御部31のリード処理部32は、キャッシュメモリ23にアクセスしてデータブロックD6をホスト11に転送することができる。
(2)アクセス対象データが運用切り替え中範囲にある場合
図12において、運用切り替え中範囲であるストライプ#3のデータブロックD10にアクセスする場合、データブロックD10はこれからキャッシュメモリ上に回復されるため、対ホスト制御部31は、キャッシュメモリ上でデータブロックD10にヒットするまで、複数回アクセスを再試行する。
図12において、運用切り替え中範囲であるストライプ#3のデータブロックD10にアクセスする場合、データブロックD10はこれからキャッシュメモリ上に回復されるため、対ホスト制御部31は、キャッシュメモリ上でデータブロックD10にヒットするまで、複数回アクセスを再試行する。
(3)アクセス対象データが運用切り替え未着手範囲にある場合
図12において、コピー未着手範囲であるストライプ#mのデータブロックDn−1にアクセスする場合、対ドライブ制御部41は、ストライプ#mのHDD#0、HDD#1、HDD#3からパリティブロックPm、データブロックDn−2、データブロックDnをキャッシュメモリ23上にステージさせ、これらからキャッシュメモリ上にデータブロックDn−1を回復させる。この間、対ホスト制御部31は、データブロックDnへのアクセスを所定回数再試行する(アクセス回数は有限回数ループカウンタ34にて管理)。データブロックDnがキャッシュメモリ23に回復されると、対ホスト制御部31のリード処理部32は、データブロックDnをホスト11に転送する。
図12において、コピー未着手範囲であるストライプ#mのデータブロックDn−1にアクセスする場合、対ドライブ制御部41は、ストライプ#mのHDD#0、HDD#1、HDD#3からパリティブロックPm、データブロックDn−2、データブロックDnをキャッシュメモリ23上にステージさせ、これらからキャッシュメモリ上にデータブロックDn−1を回復させる。この間、対ホスト制御部31は、データブロックDnへのアクセスを所定回数再試行する(アクセス回数は有限回数ループカウンタ34にて管理)。データブロックDnがキャッシュメモリ23に回復されると、対ホスト制御部31のリード処理部32は、データブロックDnをホスト11に転送する。
本実施形態の磁気ディスク装置においては、以上のようにして、運用切り替え処理中の閉塞HDDについても、ホストコンピュータ11からのアクセスに対して処理性能を低下させることなく要求処理をすることができる。
尚、上記ではリード処理について説明しているが、ライト処理の場合も同様にして処理することができる。ライト処理では、運用切り替え済み範囲、運用切り替え中範囲のデータ書き込みの際には、パリティ生成を行わず、運用切り替え未着手範囲のデータ書き込みの際には、同ストライプ上のデータブロック及びパリティブロックからライト処理後のデータブロックが回復されるように当該パリティブロックを書き換えるようにすることで、運用切り替え処理の進捗状況に関わらず、ライト処理を行うことができる。
尚、上記ではリード処理について説明しているが、ライト処理の場合も同様にして処理することができる。ライト処理では、運用切り替え済み範囲、運用切り替え中範囲のデータ書き込みの際には、パリティ生成を行わず、運用切り替え未着手範囲のデータ書き込みの際には、同ストライプ上のデータブロック及びパリティブロックからライト処理後のデータブロックが回復されるように当該パリティブロックを書き換えるようにすることで、運用切り替え処理の進捗状況に関わらず、ライト処理を行うことができる。
<障害復旧処理中の閉塞HDDへのアクセス>
図13は、本実施形態の磁気ディスク装置において、HDD回復に伴う障害復旧処理中の状態におけるホストから閉塞HDDへのアクセスの処理方法を説明する図である。
以下、アクセス対象データが、障害復旧済み範囲、障害復旧中範囲、障害復旧未着手範囲のそれぞれにある場合について、説明する。
図13は、本実施形態の磁気ディスク装置において、HDD回復に伴う障害復旧処理中の状態におけるホストから閉塞HDDへのアクセスの処理方法を説明する図である。
以下、アクセス対象データが、障害復旧済み範囲、障害復旧中範囲、障害復旧未着手範囲のそれぞれにある場合について、説明する。
(1)アクセス対象データが障害復旧済み範囲にある場合
図13において、障害復旧済み範囲であるストライプ#0のデータブロックD2は、キャッシュメモリから復旧したHDD#2への格納が完了しているため、キャッシュメモリ23上にはデータブロックD2は存在しない。この場合、対ドライブ制御部41は、復旧したHDD#2からデータブロックD2をキャッシュメモリ23上に再ステージさせる。この間、対ホスト制御部31は、データブロックD2へのアクセスを所定回数再試行する(アクセス回数は有限回数ループカウンタ34にて管理)。データブロックD2がキャッシュメモリ23にステージされると、対ホスト制御部31のリード処理部32は、データブロックD2をホスト11に転送する。
また、運用切り替え完了直後であるストライプ#2のデータブロックD6へのアクセス要求があった場合、キャッシュメモリ23には障害復旧処理において生成されたデータブロックD6が残存しているので、対ホスト制御部31のリード処理部32は、キャッシュメモリ23にアクセスしてデータブロックD6をホスト11に転送することができる。
図13において、障害復旧済み範囲であるストライプ#0のデータブロックD2は、キャッシュメモリから復旧したHDD#2への格納が完了しているため、キャッシュメモリ23上にはデータブロックD2は存在しない。この場合、対ドライブ制御部41は、復旧したHDD#2からデータブロックD2をキャッシュメモリ23上に再ステージさせる。この間、対ホスト制御部31は、データブロックD2へのアクセスを所定回数再試行する(アクセス回数は有限回数ループカウンタ34にて管理)。データブロックD2がキャッシュメモリ23にステージされると、対ホスト制御部31のリード処理部32は、データブロックD2をホスト11に転送する。
また、運用切り替え完了直後であるストライプ#2のデータブロックD6へのアクセス要求があった場合、キャッシュメモリ23には障害復旧処理において生成されたデータブロックD6が残存しているので、対ホスト制御部31のリード処理部32は、キャッシュメモリ23にアクセスしてデータブロックD6をホスト11に転送することができる。
(2)アクセス対象データが障害復旧中範囲にある場合
図13において、障害復旧中範囲であるストライプ#3のデータブロックD10にアクセスする場合、データブロックD10は、パリティブロックP3の復旧コピー処理のためにこれからキャッシュメモリ23上に回復されるため、対ホスト制御部31は、キャッシュメモリ23上でデータブロックD10にヒットするまで、複数回アクセスを再試行する。
図13において、障害復旧中範囲であるストライプ#3のデータブロックD10にアクセスする場合、データブロックD10は、パリティブロックP3の復旧コピー処理のためにこれからキャッシュメモリ23上に回復されるため、対ホスト制御部31は、キャッシュメモリ23上でデータブロックD10にヒットするまで、複数回アクセスを再試行する。
(3)アクセス対象データが障害復旧未着手範囲にある場合
図13において、障害復旧未着手範囲であるストライプ#mのデータブロックDn−1にアクセスする場合、対ドライブ制御部41は、HDD#0に格納されているデータブロックrDn−1をキャッシュメモリ23にステージさせる。この間、対ホスト制御部31は、データブロックDn−1へのアクセスを所定回数再試行する(アクセス回数は有限回数ループカウンタ34にて管理)。データブロックrDn−1がキャッシュメモリ23にステージされると、対ホスト制御部31のリード処理部32は、データブロックrDn−1をホスト11に転送する。
図13において、障害復旧未着手範囲であるストライプ#mのデータブロックDn−1にアクセスする場合、対ドライブ制御部41は、HDD#0に格納されているデータブロックrDn−1をキャッシュメモリ23にステージさせる。この間、対ホスト制御部31は、データブロックDn−1へのアクセスを所定回数再試行する(アクセス回数は有限回数ループカウンタ34にて管理)。データブロックrDn−1がキャッシュメモリ23にステージされると、対ホスト制御部31のリード処理部32は、データブロックrDn−1をホスト11に転送する。
本実施形態の磁気ディスク装置においては、以上のようにして、障害復旧処理中の閉塞HDDについても、ホストコンピュータ11からのアクセスに対して処理性能を低下させることなく要求を処理することができる。
尚、上記ではリード処理について説明しているが、ライト処理の場合も同様にして処理することができる。ライト処理では、障害復旧済み範囲、障害復旧中範囲のデータ書き込みの際には、データ書き込みとともにパリティ生成を行い、障害復旧未着手範囲のデータ書き込みの際には、データ書き込みのみを行いパリティ生成を行わないようにすることで、障害復旧処理の進捗状況に関わらず、ライト処理を行うことができる。
尚、上記ではリード処理について説明しているが、ライト処理の場合も同様にして処理することができる。ライト処理では、障害復旧済み範囲、障害復旧中範囲のデータ書き込みの際には、データ書き込みとともにパリティ生成を行い、障害復旧未着手範囲のデータ書き込みの際には、データ書き込みのみを行いパリティ生成を行わないようにすることで、障害復旧処理の進捗状況に関わらず、ライト処理を行うことができる。
<処理動作の詳細フロー>
以下に、上記で説明した本実施形態の磁気ディスク装置による処理動作の詳細について説明する。
図14は、本実施形態の磁気ディスク装置の全体動作を示すフロー図である。
図14において、ホストからHDDへのアクセスがあったとき、まず、アクセス対象ブロックがコピー系処理中であるかどうかを判定する。
以下に、上記で説明した本実施形態の磁気ディスク装置による処理動作の詳細について説明する。
図14は、本実施形態の磁気ディスク装置の全体動作を示すフロー図である。
図14において、ホストからHDDへのアクセスがあったとき、まず、アクセス対象ブロックがコピー系処理中であるかどうかを判定する。
アクセス対象ブロックがコピー系処理中であり、閉塞HDDへのアクセスである場合には、スペアHDDがあれば、当該閉塞HDDのデータをスペアHDDにコピーするよう指示する。スペアHDDへのコピーが完了すれば正常HDDとしてアクセスすることが可能となる。スペアHDDが無く当該RAIDグループがデータ回復コピー中であれば、回復・結合コピー処理を実行するよう指示する。この回復・結合コピー処理の詳細を図15に示す。
アクセス対象ブロックがコピー系処理中であり、閉塞から復旧中のHDDへのアクセスである場合には、スペアHDDがあれば、当該スペアHDDのデータを閉塞から復旧中のHDDにコピーするよう指示する。スペアHDDが無く当該RAIDグループがパリティ復旧コピーを完了していなければ、パリティ再生成・分離コピー処理を実行するよう指示する。このパリティ再生成・分離コピー処理の詳細を図16に示す。
アクセス対象ブロックがコピー系処理中であるが、閉塞中又は復旧中ではない正常なHDDへのアクセスである場合には、アクセス要求は受け付けられず、アクセス再試行が行われることとなる。
アクセス対象ブロックがコピー系処理中であり、閉塞から復旧中のHDDへのアクセスである場合には、スペアHDDがあれば、当該スペアHDDのデータを閉塞から復旧中のHDDにコピーするよう指示する。スペアHDDが無く当該RAIDグループがパリティ復旧コピーを完了していなければ、パリティ再生成・分離コピー処理を実行するよう指示する。このパリティ再生成・分離コピー処理の詳細を図16に示す。
アクセス対象ブロックがコピー系処理中であるが、閉塞中又は復旧中ではない正常なHDDへのアクセスである場合には、アクセス要求は受け付けられず、アクセス再試行が行われることとなる。
また、図14において、アクセス対象ブロックがコピー系処理中でなく、正常HDDへのアクセスである場合には、通常のホストアクセス処理が行われる。この通常のホストアクセス処理の詳細を図17に示す。
アクセス対象ブロックがコピー系処理中でなく、閉塞HDDへのアクセスである場合には、当該RAIDグループがデータ回復中又は回復済みであれば、データ回復処理時のホストアクセス処理を行う。このデータ回復処理時のホストアクセス処理の詳細を図18に示す。
アクセス対象ブロックがコピー系処理中でなく、閉塞HDDへのアクセスである場合であって、当該RAIDグループがデータ回復未着手でパリティ復旧中であれば、パリティ復旧時のホストアクセス処理を行う。このパリティ復旧時のホストアクセス処理の詳細を図19に示す。
当該RAIDグループがデータ回復未着手でパリティ復旧中で無い場合には、通常のホストアクセス処理を行う。
アクセス対象ブロックがコピー系処理中でなく、閉塞HDDへのアクセスである場合には、当該RAIDグループがデータ回復中又は回復済みであれば、データ回復処理時のホストアクセス処理を行う。このデータ回復処理時のホストアクセス処理の詳細を図18に示す。
アクセス対象ブロックがコピー系処理中でなく、閉塞HDDへのアクセスである場合であって、当該RAIDグループがデータ回復未着手でパリティ復旧中であれば、パリティ復旧時のホストアクセス処理を行う。このパリティ復旧時のホストアクセス処理の詳細を図19に示す。
当該RAIDグループがデータ回復未着手でパリティ復旧中で無い場合には、通常のホストアクセス処理を行う。
尚、本実施形態の磁気ディスク装置において、HDD障害発生によるRAIDグループの結合の際に、複数の結合先候補グループがある場合には、結合先のRAIDレベル、構成HDD台数の差、HDD容量の差、ブロック長の差などに基づき最適な結合先グループを決定する。例えば、図20に示すような結合先グループ選定のための優先度テーブルを設定しておき、これに基づき結合先グループを選定することとしてもよい。
以上、本発明の磁気ディスク装置について、具体的な実施の形態を示して説明したが、本発明はこれらに限定されるものではない。当業者であれば、上記各実施形態における磁気ディスクの構成、RAID構成、ホストからのリードライト制御、対ドライブ制御などについて、本発明の要旨を逸脱しない範囲内において適当な変更・改良を加えることが可能である。
11 ホストコンピュータ
21 磁気ディスク装置
22 ホストインタフェース
23 キャッシュメモリ
24 ドライブインタフェース
31 対ホスト制御部
32 リード処理部
33 ライト処理部
34 有限回数ループカウンタ
41 対ドライブ制御部
42 HDD状態管理部
43 RAID状態管理部
44 回復/復旧コピー機能部
44A データ回復制御部
44B パリティ再生成部
51 コピー進捗管理部
52A コピー中ポインタ
52B コピー済ポインタ
53 タイマ監視部
61 ドライブモジュール
62 RAIDグループ#0
63 RAIDグループ#1
64 RAIDグループ#2
65 RAIDグループ#3
21 磁気ディスク装置
22 ホストインタフェース
23 キャッシュメモリ
24 ドライブインタフェース
31 対ホスト制御部
32 リード処理部
33 ライト処理部
34 有限回数ループカウンタ
41 対ドライブ制御部
42 HDD状態管理部
43 RAID状態管理部
44 回復/復旧コピー機能部
44A データ回復制御部
44B パリティ再生成部
51 コピー進捗管理部
52A コピー中ポインタ
52B コピー済ポインタ
53 タイマ監視部
61 ドライブモジュール
62 RAIDグループ#0
63 RAIDグループ#1
64 RAIDグループ#2
65 RAIDグループ#3
Claims (11)
- 複数の磁気ディスクにより冗長性を有するRAIDグループを構成する磁気ディスク装置であって、
ホストコンピュータから前記磁気ディスクへのリードライト要求を処理する対ホスト制御部と、
前記磁気ディスクの状態を管理するHDD状態管理部と、
前記RAIDグループの状態を管理するRAID状態管理部と、
前記磁気ディスク上の消失したデータを回復するデータ回復制御部と、
前記データ回復制御部による消失データの回復処理の進捗を管理する進捗管理部とを備え、
前記HDD状態管理部が磁気ディスクの障害を検知すると、
前記RAID状態管理部は、障害発生した磁気ディスクが属するRAIDグループと他のRAIDグループとを結合して新たなRAIDグループを構成し、
前記データ回復制御部は、障害発生した磁気ディスク上の消失したデータを、当該磁気ディスクと同RAIDグループ内の磁気ディスク上のデータ及びパリティデータを用いて回復するとともに、前記新たなRAIDグループ内でパリティデータを生成して格納することを特徴とする磁気ディスク装置。 - 前記データ回復制御部は、前記磁気ディスク上の先頭論理アドレスからアドレス順に、消失データの回復処理及び新たなRAIDグループのパリティデータ生成格納処理を実行し、
前記進捗管理部は、当該処理が完了した最後の論理アドレスを示すポインタを用いて進捗管理を行うことを特徴とする請求項1に記載の磁気ディスク装置。 - 前記データ回復制御部による消失データの回復処理及び新たなRAIDグループのパリティデータ生成格納処理中に、ホストコンピュータから前記障害発生した磁気ディスクへのリード要求が発生した場合、
前記対ホスト制御部は、
前記リード要求のアクセス箇所が当該処理が完了した最後の論理アドレスよりも前のアドレスである場合には、前記回復されたデータを読み込み、
前記リード要求のアクセス箇所が当該処理が完了した最後の論理アドレスよりも後ろのアドレスである場合には、障害発生した磁気ディスクが属するRAIDグループ内の磁気ディスク上のデータ及びパリティデータを用いて回復されるデータを読み込むことを特徴とする請求項2に記載の磁気ディスク装置。 - 前記データ回復制御部による消失データの回復処理及び新たなRAIDグループのパリティデータ生成格納処理中に、ホストコンピュータから前記障害発生した磁気ディスクへのライト要求が発生した場合、
前記対ホスト制御部は、
前記ライト要求のアクセス箇所が当該処理が完了した最後の論理アドレスよりも前のアドレスである場合には、前記回復されたデータと前記新たなRAIDグループのパリティデータとを上書きし、
前記ライト要求のアクセス箇所が当該処理が完了した最後の論理アドレスよりも後ろのアドレスである場合には、障害発生した磁気ディスクが属するRAIDグループ内の磁気ディスク上のデータ及びパリティデータからライト処理後のデータが回復されるように当該パリティデータを書き換えることを特徴とする請求項2又は3に記載の磁気ディスク装置。 - 前記RAID状態管理部は、障害発生した磁気ディスクが属するRAIDグループにおいて冗長性が維持されている場合、又は他のRAIDグループと結合しても冗長性を有する新たなRAIDグループを構成できない場合には、他のRAIDグループとの結合を行わないことを特徴とする請求項1から4のいずれかに記載の磁気ディスク装置。
- 複数の磁気ディスクにより冗長性を有するRAIDグループを構成する磁気ディスク装置であって、
ホストコンピュータから前記磁気ディスクへのリードライト要求を処理する対ホスト制御部と、
前記磁気ディスクの状態を管理するHDD状態管理部と、
前記RAIDグループの状態を管理するRAID状態管理部と、
前記磁気ディスク上の消失したデータを回復するデータ回復制御部と、
RAIDグループ分離のためにデータ及びパリティデータを再生成する分離再生成部と、
前記データ回復制御部による消失データの回復処理、及び前記分離再生成部によるRAIDグループ分離のためのデータ及びパリティデータの再生成処理の進捗を管理する進捗管理部とを備え、
前記HDD状態管理部が磁気ディスクの障害を検知すると、
前記RAID状態管理部は、障害発生した磁気ディスクが属するRAIDグループと他のRAIDグループとを結合して新たなRAIDグループを構成し、
前記データ回復制御部は、障害発生した磁気ディスク上の消失したデータを、当該磁気ディスクと同RAIDグループ内の磁気ディスク上のデータ及びパリティデータを用いて回復するとともに、前記新たなRAIDグループ内でパリティデータを生成して格納し、
前記HDD状態管理部が磁気ディスクの復旧を検知すると、
前記分離再生成部は、前記回復したデータを復旧した磁気ディスクにコピーするとともに、前記新たなRAIDグループ内のデータ及びパリティデータを用いて、前記障害発生した磁気ディスクが属するRAIDグループのパリティデータ及び前記他のRAIDグループのパリティデータを再生成しそれぞれ元の格納位置に再格納し、
前記RAID状態管理部は、前記障害発生した磁気ディスクが属するRAIDグループと他のRAIDグループとをそれぞれ独立したRAIDグループとして再構成することを特徴とする磁気ディスク装置。 - 前記データ回復制御部は、前記磁気ディスク上の先頭論理アドレスからアドレス順に、消失データの回復処理及び新たなRAIDグループのパリティデータ生成格納処理を実行し、
前記分離再生成部は、前記磁気ディスク上の先頭論理アドレスからアドレス順に、RAIDグループ分離のためのデータ及びパリティデータの再生成処理を実行し、
前記進捗管理部は、当該処理が完了した最後の論理アドレスを示すポインタを用いて進捗管理を行うことを特徴とする請求項6に記載の磁気ディスク装置。 - 前記データ回復制御部による消失データの回復処理及び新たなRAIDグループのパリティデータ生成格納処理中に、ホストコンピュータから前記障害発生した磁気ディスクへのリード要求が発生した場合、
前記対ホスト制御部は、
前記リード要求のアクセス箇所が当該処理が完了した最後の論理アドレスよりも前のアドレスである場合には、前記回復されたデータを読み込み、
前記リード要求のアクセス箇所が当該処理が完了した最後の論理アドレスよりも後ろのアドレスである場合には、障害発生した磁気ディスクが属するRAIDグループ内の磁気ディスク上のデータ及びパリティデータを用いて回復されるデータを読み込むことを特徴とする請求項7に記載の磁気ディスク装置。 - 前記データ回復制御部による消失データの回復処理及び新たなRAIDグループのパリティデータ生成格納処理中に、ホストコンピュータから前記障害発生した磁気ディスクへのライト要求が発生した場合、
前記対ホスト制御部は、
前記ライト要求のアクセス箇所が当該処理が完了した最後の論理アドレスよりも前のアドレスである場合には、前記回復されたデータと前記新たなRAIDグループのパリティデータとを上書きし、
前記ライト要求のアクセス箇所が当該処理が完了した最後の論理アドレスよりも後ろのアドレスである場合には、障害発生した磁気ディスクが属するRAIDグループ内の磁気ディスク上のデータ及びパリティデータからライト処理後のデータが回復されるように当該パリティデータを書き換えることを特徴とする請求項7又は8に記載の磁気ディスク装置。 - 前記分離再生成部によるRAIDグループ分離のためのデータ及びパリティデータの再生成処理中に、ホストコンピュータから前記障害発生した磁気ディスクへのリード要求が発生した場合、
前記対ホスト制御部は、
前記リード要求のアクセス箇所が前記再生成処理が完了した最後の論理アドレスよりも前のアドレスである場合には、前記復旧した磁気ディスク上に回復されたデータを読み込み、
前記リード要求のアクセス箇所が前記再生成処理が完了した最後の論理アドレスよりも後ろのアドレスである場合には、前記新たなRAIDグループ内のデータ及びパリティデータを用いて回復されるデータを読み込むことを特徴とする請求項7から9のいずれかに記載の磁気ディスク装置。 - 前記分離再生成部によるRAIDグループ分離のためのデータ及びパリティデータの再生成処理中に、ホストコンピュータから前記障害発生し磁気ディスクへのライト要求が発生した場合、
前記対ホスト制御部は、
前記ライト要求のアクセス箇所が前記再生成処理が完了した最後の論理アドレスよりも前のアドレスである場合には、前記復旧した磁気ディスク上にデータの書き込みを行うとともに前記障害発生した磁気ディスクが属するRAIDグループのパリティデータの更新を行い、
前記ライト要求のアクセス箇所が前記再生成処理が完了した最後の論理アドレスよりも後ろのアドレスである場合には、前記新たなRAIDグループ内の磁気ディスク上のデータ及びパリティデータからライト処理後のデータが回復されるように当該パリティデータを書き換えることを特徴とする請求項7から11のいずれかに記載の磁気ディスク装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009106892A JP2010257254A (ja) | 2009-04-24 | 2009-04-24 | 磁気ディスク装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009106892A JP2010257254A (ja) | 2009-04-24 | 2009-04-24 | 磁気ディスク装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010257254A true JP2010257254A (ja) | 2010-11-11 |
Family
ID=43318079
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009106892A Withdrawn JP2010257254A (ja) | 2009-04-24 | 2009-04-24 | 磁気ディスク装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010257254A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018138813A1 (ja) * | 2017-01-25 | 2018-08-02 | 株式会社日立製作所 | 計算機システム |
-
2009
- 2009-04-24 JP JP2009106892A patent/JP2010257254A/ja not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018138813A1 (ja) * | 2017-01-25 | 2018-08-02 | 株式会社日立製作所 | 計算機システム |
US20190196911A1 (en) * | 2017-01-25 | 2019-06-27 | Hitachi, Ltd. | Computer system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9009526B2 (en) | Rebuilding drive data | |
JP5391993B2 (ja) | ディスクアレイ装置 | |
JP5768587B2 (ja) | ストレージシステム、ストレージ制御装置およびストレージ制御方法 | |
JP3742494B2 (ja) | 大容量記憶装置 | |
JP4815825B2 (ja) | ディスクアレイ装置及びその再構築方法 | |
US7143308B2 (en) | Apparatus, system, and method for differential rebuilding of a reactivated offline RAID member disk | |
US7783922B2 (en) | Storage controller, and storage device failure detection method | |
US20080126840A1 (en) | Method for reconstructing data in case of two disk drives of raid failure and system therefor | |
WO2006123416A1 (ja) | ディスク故障復旧方法及びディスクアレイ装置 | |
JP2008046986A (ja) | ストレージシステム | |
JP2007334593A (ja) | Raidコントローラおよびraid装置 | |
JPH09269871A (ja) | ディスクアレイ装置におけるデータ再冗長化方式 | |
JP2010026812A (ja) | 磁気ディスク装置 | |
JP2003316525A (ja) | ディスクアレイ制御装置 | |
JP5817296B2 (ja) | 制御装置、制御方法およびストレージ装置 | |
WO2014111979A1 (ja) | ディスクアレイ制御装置およびディスクアレイ装置 | |
JP2004213470A (ja) | ディスクアレイ装置及びディスクアレイ装置におけるデータ書き込み方法 | |
JP4248164B2 (ja) | ディスクアレイのエラー回復方法、ディスクアレイ制御装置及びディスクアレイ装置 | |
JP2010267037A (ja) | ディスクアレイ装置 | |
JP3597349B2 (ja) | 記憶サブシステムおよびその障害回復方法 | |
JP2010257254A (ja) | 磁気ディスク装置 | |
JP2005166016A (ja) | ディスクアレイ装置 | |
JP2005107675A (ja) | ディスクアレイコントローラ及びディスクドライブの複製方法 | |
JPH08286844A (ja) | パリティ生成制御方法およびディスク制御装置 | |
JP2007128183A (ja) | ストレージシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20120703 |