説明

ストレージシステム及びリビルド処理高速化方法

【課題】パリティを必要するRAIDが構成されている場合に、パリティ計算の量の低減を図り、リビルド処理に要する時間の低減を図る。
【解決手段】ストレージシステムは、パリティ計算を利用するRAIDが構成された複数のHDDと、RAIDにより冗長性が確保されたデータのうちいずれかのHDDに記憶される第1のデータと同内容の第2のデータを記憶するリビルドHDDと、複数のHDDのうちの1つが新たなHDDに取り換えられた場合、当該取り換えられたHDDに記憶されていたデータを、他のHDD及びリビルドHDDに記憶されているデータに基づいてリビルドする制御部とを備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、パリティ計算を必要とするRAID(Redundant Arrays of Inexpensive Disks)が構成されたストレージシステム及びこれのリビルド処理高速化方法に関する。
【背景技術】
【0002】
ストレージシステムの中には、データの信頼性を高めるために複数の記憶装置を用いてRAIDを構成したものがある。このように、RAIDを構成することにより、記憶装置の1つに障害が発生しても他の記憶装置に記憶されたデータを利用して、データを再現することが可能になる。
【0003】
RAIDには複数の種類があり、例えば、RAID5,RAID6と称されるものが知られている。RAID5,RAID6は、RAIDを構成する各記憶装置にデータとパリティとを記憶するように構成されており、各記憶装置の記憶容量を有効に活用できるようになっている。
【0004】
なお、復元データを高速に書き込む技術として、2以上のスペアディスク装置にパリティ無しの復元データをストライピングにより書き込む方法が知られている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2008−40687号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
既述のRAID5,RAID6のようなRAIDが構成されている場合、データを記憶装置に書き込む際にパリティ計算を行う必要がある。このためデータを書き込む速度が遅くなり、新たな記憶装置にデータをリビルドする場合に長い時間を要する。特に、近年は、記憶装置が大容量化しているのでリビルドするデータの量も膨大になっており、必然的にパリティ計算の量も多くなっている。従って、リビルド処理時のシステムの負荷も大きくなり、リビルド処理が完了するまでの時間も長くなっている。
【0007】
一方、特許文献1記載の技術は、復元データを2以上のスペアディスク装置に書き込むことによりデータ書き込みの高速化を図るものであり、データをリビルドする場合にパリティ計算は必要であり、上記問題を解決できるものではない。
【0008】
本発明は、上記事情に鑑みてなされたものであり、その目的は、パリティを必要とするRAIDが構成されている場合に、リビルド処理時の負荷を低減するとともに処理完了までの時間を短くすることができるストレージシステム及びリビルド処理高速化方法を提供することにある。
【課題を解決するための手段】
【0009】
本発明は、データを記憶するストレージシステムであって、パリティ計算を利用するRAIDが構成された複数の第1の記憶装置と、RAIDにより冗長性が確保されたデータのうちいずれかの第1の記憶装置に記憶される第1のデータと同内容の第2のデータを記憶する第2の記憶装置と、複数の第1の記憶装置のうちの1つが新たな第1の記憶装置に取り換えられた場合、取り換えられた第1の記憶装置に記憶されていたデータを、他の第1の記憶装置及び第2の記憶装置に記憶されているデータに基づいてリビルドする制御部とを備えることを特徴とする。
【発明の効果】
【0010】
本発明によると、パリティを必要とするRAIDが構成されている場合に、リビルド時の負荷を低減するとともに処理が完了するまでの時間を短くすることができるストレージシステム及びリビルド処理高速化方法を提供できる。
【図面の簡単な説明】
【0011】
【図1】本発明の実施の形態に係るストレージシステムの構成を概略的に示す図である。
【図2】同実施の形態に係る第2の記憶装置に記憶されるリビルド用のデータを説明するための図である。
【図3】同実施の形態に係るリビルド時の動作を説明するための図である。
【図4】同実施の形態に係るリビルド時の動作を説明するための図である。
【図5】同実施の形態に係る第3の記憶装置に記憶されるリビルド用のデータを説明するための図である。
【図6】同実施の形態に係る第3の記憶装置を用いた場合のリビルド時の動作を説明するための図である。
【図7】同実施の形態に係る第2の記憶装置にスペア記憶装置を用いた例を示す図である。
【発明を実施するための形態】
【0012】
以下、本発明の実施の形態について図面を参照しながら説明する。
【0013】
図1は、ストレージシステム100の構成を概略的に示す図である。ストレージシステム100は、バッファ2を有する制御部1、複数の第1の記憶装置であるHDD(Hard Disk Drive)10,20及び30、第2の記憶装置であるリビルドHDD40を有している。
【0014】
制御部1は、HDD10,20及び30並びにリビルドHDD40と通信可能に接続されている。更に、HDD10,20及び30によりパリティ計算を必要とするRAIDであるRAID5が構成されている。なお、ストレージシステム100の他の構成は、従来よりあるものと同様であるため図示及び詳細な説明を省略する。
【0015】
制御部1は、例えば、上位装置(図示を省略する。)から受信したデータを既述のRAID構成に従って、パリティ計算を伴ってHDD10,20及び30に書き込む。なお、RAID5が構成されている場合のデータの書き込み処理は従来よりある技術と同様であるため詳細な説明を省略する。
【0016】
制御部1は、HDD10,20及び30へのデータの書き込み、データの読み出し等を制御するのに加え、RAID5を構成するHDD10,20及び30のいずれかのHDDに障害が発生し、その障害が発生したHDDが新たなHDDに取り換えられた場合に、障害が発生したHDDに記憶されていたデータを新たなHDDにリビルドし、RAID5を再構成するリビルド処理を実行する。
【0017】
リビルドHDD40は、制御部1がリビルド処理を実行する場合に利用される。より詳細には、リビルドHDD40は、RAID5により冗長性が確保されたデータのうちいずれかのHDDに記憶される第1のデータと同内容の第2のデータを記憶する。
【0018】
図2は、リビルドHDD40に記憶されるリビルド用のデータの一例を説明するための図である。
【0019】
図2に示すように、HDD10,20及び30には、データ11、データ(R11)21、及びデータ(P)31がそれぞれ記憶されており、これらデータ11、データ21及びデータ31により冗長性が確保され、いずれかのデータが消失してもデータをリビルドすることができるようになっている。
【0020】
また、HDD10,20及び30には、データ(R21)12、データ(P)22、及びデータ32がそれぞれ記憶されており、これらデータ12、データ22及びデータ32により冗長性が確保され、いずれかのデータが消失してもデータをリビルドすることができるようになっている。
【0021】
更に、HDD10,20及び30には、データ(P)13、データ23及びデータ(R31)33がそれぞれ記憶されており、これらデータ13、データ23及びデータ33により冗長性が確保され、いずれかのデータが消失してもデータをリビルドすることができるようになっている。
【0022】
また、本実施の形態においては、各冗長性が確保されたデータの組から、データ21、データ12及びデータ33がリビルドHDD40に記憶されるデータとして設定されており、これらデータがHDD10,20及び30からリビルドHDD40にそれぞれコピーされる。なお、このリビルドHDD40に記憶されるデータの管理は、例えば、制御部1によって行われる。
【0023】
従って、図2に示すように、リビルドHDD40には、データ21と同内容のデータ(R11)41、データ12と同内容のデータ(R21)42及びデータ33と同内容のデータ(R31)42が記憶される。なお、データ21、データ12及びデータ33が第1のデータであり、データ41、データ42及びデータ43が第2のデータを構成する。
【0024】
このようにストレージシステム100にデータが記憶されている状態で、例えば、HDD30に障害が発生し、HDD30が新たなHDD30aに取り換えられた場合に、制御部1が実行するリビルド処理について図3を参照して説明する。
【0025】
制御部1は、HDD10,20及び30のうちのHDD30が新たなHDD30aに取り換えられた場合、HDD30に記憶されていたデータを、HDD10,20及びリビルドHDD40に記憶されているデータに基づいてリビルドする。
【0026】
より詳細には、制御部1は、HDD10に記憶されているデータ11及びHDD20記憶されているデータ21を用いてパリティ計算を実行し、パリティ計算後のデータをデータ31としてHDD30aに記憶する。
【0027】
また、制御部1は、HDD10に記憶されているデータ12及びHDD20に記憶されているデータ22を用いてパリティ計算を実行し、パリティ計算後のデータをデータ32としてHDD30aに記憶する。
【0028】
一方、データ(R31)33は、同一内容のデータがデータ(R31)43としてリビルドHDD40に記憶されている。従って、制御部1は、図4に示すように、リビルドHDD40からデータ43をバッファ2に取り込み、バッファ2に取り込んだデータ43をデータ33としてHDD30aに記憶する。
【0029】
このようにして、HDD30に記憶されていたデータがHDD30aにリビルドされる。なお、本実施の形態では、パリティ計算を伴うデータ31及びデータ32の書き込み後にリビルドHDD40に記憶されているデータのコピーを行う場合で説明しているが、順序は逆でも良い。
【0030】
以上のように構成されたストレージシステム100によると、制御部1は、RAID5を構成するHDD10,20及び30のうちのHDD30が障害等を原因として新たなHDD30aに取り換えられた場合、新たなHDD30aにデータをリビルドする際に、リビルドHDD40に予めコピーされているデータ43についてはそのままデータ33としてHDD30aにコピーすれば良い。つまり、データ33をリビルドするためにパリティ計算を実行する必要がないため、リビルド処理時の制御部1の負荷を低減することが可能になる。
【0031】
また、リビルド処理時にパリティ計算の処理量が減るため、その分リビルドの時間を短くすることができる。
【0032】
更に、リビルドHDD40に障害が発生して新たなリビルドHDDに取り換えられた場合において、制御部1は、HDD10、HDD20及びHDD30から新たなリビルドHDDに、データ21、データ12及びデータ33をリビルド用のデータ41、データ42及びデータ43としてそれぞれコピーすることにより、新たなリビルドHDDにリビルド用のデータを記憶させることができる。このように、リビルドHDDにもRAID5を構成するHDD10、HDD20及びHDD30と同様の障害耐性を持たせることができる。
【0033】
また更に、上記実施の形態では、リビルドHDD40として、リビルドHDD40を1つ設けた構成で説明したが、これに限るものではない。つまり、ストレージシステム100にリビルドHDDを2つ以上設けることが可能である。リビルドHDDを更に追加した場合、制御部1は、HDD10,20及び30に記憶されるデータ21、データ12及びデータ33と異なる内容のデータ11、データ32及びデータ23(これらは第3のデータ)と同内容のデータ51、データ52及びデータ53(これらは第4のデータ)を、追加したリビルドHDDに記憶する。
【0034】
図5は、既述のストレージシステム100に第3の記憶装置であるリビルドHDD50を追加した例を示している。
【0035】
リビルドHDD50には、HDD10に記憶されているデータ11がデータ(R12)51としてコピーされ、HDD20記憶されているデータ32がデータ(R22)52としてコピーされ、HDD30に記憶されているデータ23がデータ(R32)53としてコピーされている。なお、他の構成については、図2を参照して既述しているため説明は省略する。
【0036】
このように構成されているストレージシステム100において、障害等を原因としてHDD30が新たなHDD30aに取り換えられた場合、制御部1は、HDD30aにHDD30に記憶されていたデータをリビルドする。
【0037】
この場合、制御部1は、図6に示すように、データ11及びデータ21を用いてパリティ計算を実行し、パリティ計算後のデータをデータ31としてHDD30aに書き込む。一方、データ32はリビルドHDD50にデータ(R22)52として、データ33はリビルドHDD40にデータ(R31)43として記憶されているため、制御部1は、これらデータ52及びデータ43を読み出してバッファ2に取り込み、バッファ2に取り込んだデータをデータ32及びデータ33としてそれぞれHDD30aに書き込む。
【0038】
このようにして、HDD30に記憶されていたデータがHDD30aにリビルドされる。
【0039】
従って、ストレージシステム100は、HDD30aにHDD30に記憶されていたデータをリビルドする場合、データ52及びデータ53については、リビルドHDD40,50からデータをコピーするだけでよい。従って、ストレージシステム100は、リビルドHDD40が1つの場合より、リビルド処理時にパリティ計算の必要がないデータを増やすことができ、リビルド処理の負荷を更に低減することができるとともに、リビルド処理が完了するまでの時間を更に短くすることができる。
【0040】
また、図3を用いて既述したストレージシステム100においては、リビルドHDD40としてスペアHDDを用いるようにしても良い。スペアHDDは、ストレージシステム100に予備として搭載されるHDDであり、RAID5を構成するHDD10,20及び30に障害が発生した場合に、障害が発生したHDDの代わりに使用される記憶装置である。
【0041】
リビルドHDD40としてスペアHDD60が設定されている場合のリビルド処理について図7を参照して説明する。例えば、HDD30に障害が発生した場合、制御部1は、データ11及びデータ21を用いてパリティ計算を実行し、パリティ計算後のデータをデータ61としてスペアHDD60に書き込むとともに、データ12及びデータ22を用いてパリティ計算を実行し、パリティ計算後のデータをデータ62としてスペアHDD60に書き込む。一方、HDD30に記憶されていたデータ(R31)33は、リビルド用のデータ(R31)63としてスペアHDD60に予めコピーされているためそのまま使用できる。
【0042】
従って、ストレージシステム100は、スペアHDD60をリビルド用のHDDとして使用することにより、予め記憶しているリビルド用のデータ63に関しては、コピーする処理を省くことができるため、制御部1の負荷を更に減らすことができるとともに、リビルド処理が完了するまでの時間を更に短くすることができる。
【0043】
上記実施の形態では、本発明をHDD10,20及び30を用いてRAID5が構成されている場合で説明したが、これに限るものではなく、例えばRAID6のように、パリティ計算を必要とするRAID構成を有するストレージシステムであれば、本発明を適用することができる。
【0044】
また、上記実施の形態では、記憶装置としてHDDを用いた場合で説明したが、これに限るものではない。
【0045】
なお、本発明は上述の実施の形態に限定されるものではなく、その実施に際して様々な変形が可能である。
【0046】
上記実施の形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【0047】
(付記1)
データを記憶するストレージシステムであって、
パリティ計算を利用するRAIDが構成された複数の第1の記憶装置と、
前記RAIDにより冗長性が確保されたデータのうちいずれかの前記第1の記憶装置に記憶される第1のデータと同内容の第2のデータを記憶する第2の記憶装置と、
前記複数の第1の記憶装置のうちの1つが新たな第1の記憶装置に取り換えられた場合、前記取り換えられた第1の記憶装置に記憶されていたデータを、他の第1の記憶装置及び前記第2の記憶装置に記憶されているデータに基づいてリビルドする制御部と、を備えることを特徴とするストレージシステム。
【0048】
(付記2)
前記制御部は、前記取り換えられた第1の記憶装置に記憶されていた第1のデータと対応する第2のデータを前記第2の記憶装置から前記新たな第1の記憶装置にコピーするとともに、前記取り換えられた第1の記憶装置以外の各第1の記憶装置に記憶されている第1のデータに基づいてパリティ計算を行い、パリティ計算後のデータを前記新たな第1の記憶装置に書き込み前記リビルドを実行する、ことを特徴とする付記1記載のストレージシステム。
【0049】
(付記3)
前記第2の記憶装置は、スペア用の記憶装置を用いる、ことを特徴とする付記1又は2記載のストレージシステム。
【0050】
(付記4)
前記第1の記憶装置に記憶される、前記第1のデータと異なる内容の第3のデータと同内容の第4のデータを記憶する第3の記憶装置を更に備え、
前記制御部は、前記取り換えられ第1の記憶装置に記憶されていた第1のデータと対応する第2のデータを前記第2の記憶装置から前記新たな第1の記憶装置にコピーするとともに、前記取り換えられた第1の記憶装置に記憶されていた前記第3のデータと対応する第4のデータを前記第3の記憶装置から前記新たな第1の記憶装置にコピーし、前記取り換えられた第1の記憶装置以外の各第1の記憶装置に記憶されている第1のデータに基づいてパリティ計算を行い、パリティ計算後のデータを前記新たな第1の記憶装置に書き込み前記リビルドを実行する、ことを特徴とする付記1記載のストレージシステム。
【0051】
(付記5)
データを記憶するストレージシステムのリビルド処理高速化方法であって、
前記ストレージシステムは、
パリティ計算を利用するRAIDが構成された複数の第1の記憶装置と、
前記RAIDにより冗長性が確保されたデータのうちいずれかの前記第1の記憶装置に記憶される第1のデータと同内容の第2のデータを記憶する第2の記憶装置と、を備えるものであり、
前記複数の第1の記憶装置のうちの1つが新たな第1の記憶装置に取り換えられた場合、前記取り換えられた第1の記憶装置に記憶されていたデータを、他の第1の記憶装置及び前記第2の記憶装置に記憶されているデータに基づいてリビルドするステップを、有することを特徴とするストレージシステムのリビルド処理高速化方法。
【産業上の利用可能性】
【0052】
本発明は、パリティ計算が必要なRAIDが構成されたストレージシステム及びストレージシステムのリビルド処理高速化方法に広く適用可能である。
【符号の説明】
【0053】
1・・・制御部
2・・・バッファ
10,20,30・・・HDD
40,50・・・リビルドHDD
60・・・スペアHDD
100・・・ストレージシステム

【特許請求の範囲】
【請求項1】
データを記憶するストレージシステムであって、
パリティ計算を利用するRAIDが構成された複数の第1の記憶装置と、
前記RAIDにより冗長性が確保されたデータのうちいずれかの前記第1の記憶装置に記憶される第1のデータと同内容の第2のデータを記憶する第2の記憶装置と、
前記複数の第1の記憶装置のうちの1つが新たな第1の記憶装置に取り換えられた場合、前記取り換えられた第1の記憶装置に記憶されていたデータを、他の第1の記憶装置及び前記第2の記憶装置に記憶されているデータに基づいてリビルドする制御部と、を備えることを特徴とするストレージシステム。
【請求項2】
前記制御部は、前記取り換えられた第1の記憶装置に記憶されていた第1のデータと対応する第2のデータを前記第2の記憶装置から前記新たな第1の記憶装置にコピーするとともに、前記取り換えられた第1の記憶装置以外の各第1の記憶装置に記憶されている第1のデータに基づいてパリティ計算を行い、パリティ計算後のデータを前記新たな第1の記憶装置に書き込み前記リビルドを実行する、ことを特徴とする請求項1記載のストレージシステム。
【請求項3】
前記第2の記憶装置は、スペア用の記憶装置を用いる、ことを特徴とする請求項1又は2記載のストレージシステム。
【請求項4】
前記第1の記憶装置に記憶される、前記第1のデータと異なる内容の第3のデータと同内容の第4のデータを記憶する第3の記憶装置を更に備え、
前記制御部は、前記取り換えられた第1の記憶装置に記憶されていた第1のデータと対応する第2のデータを前記第2の記憶装置から前記新たな第1の記憶装置にコピーするとともに、前記取り換えられた第1の記憶装置に記憶されていた前記第3のデータと対応する第4のデータを前記第3の記憶装置から前記新たな第1の記憶装置にコピーし、前記取り換えられた第1の記憶装置以外の各第1の記憶装置に記憶されている第1のデータに基づいてパリティ計算を行い、パリティ計算後のデータを前記新たな第1の記憶装置に書き込み前記リビルドを実行する、ことを特徴とする請求項1記載のストレージシステム。
【請求項5】
データを記憶するストレージシステムのリビルド処理高速化方法であって、
前記ストレージシステムは、
パリティ計算を利用するRAIDが構成された複数の第1の記憶装置と、
前記RAIDにより冗長性が確保されたデータのうちいずれかの前記第1の記憶装置に記憶される第1のデータと同内容の第2のデータを記憶する第2の記憶装置と、を備えるものであり、
前記複数の第1の記憶装置のうちの1つが新たな第1の記憶装置に取り換えられた場合、前記取り換えられた第1の記憶装置に記憶されていたデータを、他の第1の記憶装置及び前記第2の記憶装置に記憶されているデータに基づいてリビルドするステップを、有することを特徴とするストレージシステムのリビルド処理高速化方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate