JP2015210658A - 記憶制御装置、データ復旧プログラム、およびデータ復旧方法 - Google Patents

記憶制御装置、データ復旧プログラム、およびデータ復旧方法 Download PDF

Info

Publication number
JP2015210658A
JP2015210658A JP2014091667A JP2014091667A JP2015210658A JP 2015210658 A JP2015210658 A JP 2015210658A JP 2014091667 A JP2014091667 A JP 2014091667A JP 2014091667 A JP2014091667 A JP 2014091667A JP 2015210658 A JP2015210658 A JP 2015210658A
Authority
JP
Japan
Prior art keywords
recovery
storage
data
disk
control device
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.)
Pending
Application number
JP2014091667A
Other languages
English (en)
Inventor
剛 宮前
Takeshi Miyamae
剛 宮前
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2014091667A priority Critical patent/JP2015210658A/ja
Priority to US14/620,735 priority patent/US9697081B2/en
Publication of JP2015210658A publication Critical patent/JP2015210658A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • G06F11/1088Reconstruction on already foreseen single or plurality of spare disks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • G06F11/1084Degraded mode, e.g. caused by single or multiple storage removals or disk failures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

【課題】ネットワークの通信負荷を低減する。
【解決手段】ストレージシステム1は、ネットワーク2を介して複数の記憶制御装置3を接続する。記憶制御装置3は、制御部5を備え、制御対象となる記憶装置4を接続する。制御部5は、制御対象の記憶装置4(第1記憶装置)で発生した障害の復旧に用いるデータ6を他の記憶制御装置3から取得し、他の記憶制御装置3が制御する記憶装置4(第2記憶装置)で障害が発生している場合に、第1記憶装置の復旧に用いるデータ6から第2記憶装置の復旧に用いる復旧用データ7を生成し、障害が発生している第2記憶装置を制御する他の記憶制御装置3に復旧用データ7を通知する。
【選択図】図1

Description

本発明は、記憶制御装置、データ復旧プログラム、およびデータ復旧方法に関する。
分散ストレージシステムなどのストレージシステムは、レプリケーションや、RAID(Redundant Arrays of Independent Disks)により、データの可用性および信頼性を確保している。
このような分散ストレージシステムは、ディスク(記憶装置)が故障した場合に、ユーザ業務のバックグラウンドで故障ディスクの復旧動作をおこなう。
特開2006−259894号公報 特開2008−186400号公報 特表2013−506191号公報
しかしながら、故障ディスクのリカバリは、正常なディスクからのデータ転送を伴うことから故障ディスクのリカバリのためのネットワーク帯域を必要とし、ユーザ業務に影響を与える場合がある。また、複数のディスクが故障した場合に、各故障ディスクの故障ディスクのリカバリが独立して動作するため、より大きなネットワーク帯域がリカバリに用いられたり、より長時間の間、ネットワーク帯域がリカバリに用いられたりすることがある。
1つの側面では、本発明は、ネットワークへの負荷を軽減して記憶装置を復旧可能な記憶制御装置、データ復旧プログラム、およびデータ復旧方法を提供することを目的とする。
上記目的を達成するために、以下に示すような、記憶制御装置が提供される。記憶制御装置は、ネットワークを介して複数の記憶制御装置を接続するストレージシステムにおける記憶制御装置であって、制御部を備える。制御部は、制御対象の第1記憶装置で発生した障害の復旧に用いるデータを他の記憶制御装置から取得し、他の記憶制御装置が制御する第2記憶装置で障害が発生している場合に、第1記憶装置の復旧に用いるデータから第2記憶装置の復旧に用いる復旧用データを生成し、第2記憶装置を制御する他の記憶制御装置に復旧用データを通知する。
1態様によれば、記憶制御装置、データ復旧プログラム、およびデータ復旧方法において、ネットワークへの負荷を軽減して記憶装置を復旧できる。
第1の実施形態のストレージシステムの構成の一例を示す図である。 第2の実施形態のストレージシステムの構成の一例を示す図である。 第2の実施形態のストレージシステムのノード構成の一例を示す図である。 第2の実施形態のストレージシステムのRAID構成の一例を示す図である。 第2の実施形態の先行してリカバリ動作をおこなうディスク装置の復旧に要するディスク集合の一例を示す図である。 第2の実施形態の先行してリカバリ動作をおこなったディスク装置の後続としてリカバリ動作をおこなうディスク装置の復旧に要するディスク集合の一例を示す図である。 第2の実施形態のディスク装置の同時故障の検出の一例を示す図である。 第2の実施形態のサーバのハードウェア構成の一例を示す図である。 第2の実施形態の復旧制御処理のフローチャートを示す図である。 第2の実施形態の同時故障復旧制御処理のフローチャートを示す図である。 第2の実施形態の先行復旧制御処理のフローチャートを示す図である。 第2の実施形態の後続復旧制御処理のフローチャートを示す図である。
以下、図面を参照して実施の形態を詳細に説明する。
[第1の実施形態]
まず、第1の実施形態のストレージシステムについて図1を用いて説明する。図1は、第1の実施形態のストレージシステムの構成の一例を示す図である。
ストレージシステム1は、ネットワーク2を介して複数の記憶制御装置3を接続する分散ストレージシステムである。ストレージシステム1は、たとえば、ユーザに対してクラウドストレージを提供する。
記憶制御装置3は、制御対象となる記憶装置4を接続する。記憶制御装置3a,3b,3c,3d,3eは、それぞれ記憶装置4a,4b,4c,4d,4eを制御対象として接続する。記憶装置4は、たとえば、HDD(Hard Disk Drive)やSSD(Solid State Drive:フラッシュメモリドライブ)などのディスク装置であって、データを保持する。なお、図示する記憶制御装置3は、1つの記憶装置4を接続するが、これに限らず2以上の記憶装置4を接続するものであってもよい。
記憶制御装置3は、制御部5を備える。制御部5は、制御対象の記憶装置4で発生した障害の復旧に用いるデータ6を他の記憶制御装置3から取得する。たとえば、記憶制御装置3aが制御対象とする記憶装置4a(第1記憶装置)で障害が発生した場合、記憶制御装置3b,3c,3d,3eは、記憶制御装置3aにとって他の記憶制御装置3である。制御部5は、記憶制御装置3b,3c,3d,3eのうち記憶制御装置3c,3d,3eからそれぞれデータ6a,6b,6cを取得する。データ6a,6b,6cは、記憶制御装置3aが記憶装置4aで発生した障害の復旧に用いるデータである。
制御部5は、他の記憶制御装置3が制御する記憶装置4(第2記憶装置)で障害が発生している場合に、第1記憶装置の復旧に用いるデータ6から第2記憶装置の復旧に用いる復旧用データ7を生成する。たとえば、制御部5は、記憶制御装置3aにとって他の記憶制御装置3bの制御対象である記憶装置4bで障害が発生している場合に、データ6a,6b,6cを用いて記憶装置4bの復旧に用いる復旧用データ7を生成する。なお、復旧用データ7の生成に用いるデータ6は、制御部5が取得したデータ6のうち記憶制御装置3bが記憶装置4bの復旧に要するデータ6であり、制御部5が取得したデータ6のうちの一部または全部である。
制御部5は、障害が発生している記憶装置4を制御する他の記憶制御装置3に復旧用データ7を通知する。たとえば、制御部5は、記憶制御装置3bに復旧用データ7を通知する。
これにより、第2記憶装置の復旧をおこなう記憶制御装置3は、制御部5が取得したデータ6のうちの一部または全部について、他の記憶制御装置3からデータ6を取得することを要しない。したがって、記憶制御装置3は、ストレージシステム1においてネットワーク2の通信負荷を低減できる。また、第1記憶装置の復旧をおこなう記憶制御装置3は、取得したデータ6から復旧用データ7を生成することから、データ量が縮減されている場合にネットワーク2の通信負荷を低減できる。また、ストレージシステム1は、第2記憶装置の復旧をおこなう記憶制御装置3が復旧に用いるデータ6を取得する際の通信にかかるオーバヘッドを低減できる。
[第2の実施形態]
次に、第2の実施形態のストレージシステムの構成について図2を用いて説明する。図2は、第2の実施形態のストレージシステムの構成の一例を示す図である。
ストレージシステム10は、ネットワーク13を介して複数(たとえば、数百台規模)のサーバ11を接続する分散ストレージシステムである。ストレージシステム10は、たとえば、ユーザに対してクラウドストレージを提供する。
ストレージシステム10は、Erasure Codeの代表的な技術として挙げられるRAIDにより、信頼性と可用性を確保する。ストレージシステム10は、十分な数のサーバ11がある場合に、1つのRAIDグループに属する2以上のディスク装置12が1つのサーバ11の制御対象とならないようにしている。したがって、1つのRAIDグループに注目したときに、サーバ11は、たかだか1つのディスク装置12を管理する。
サーバ11は、1または2以上のディスク装置12を接続する。ディスク装置12は、たとえば、HDDやSSDなどである。ディスク装置12は、第1の実施形態の記憶装置4に相当し、サーバ11は、第1の実施形態の記憶制御装置3に相当する。
ストレージシステム10は、1つのデータセンタ内に構築されるものであってもよいし、遠隔地にある2以上のデータセンタをまたいで構築されるものであってもよい。ストレージシステム10が遠隔地にある2以上のデータセンタをまたいで構築される場合、ネットワーク13は、データセンタ間を接続するネットワークを含む。
次に、第2の実施形態のストレージシステムのノード構成について図3を用いて説明する。図3は、第2の実施形態のストレージシステムのノード構成の一例を示す図である。
サーバ11は、ストレージシステム10においてディスク装置12を管理する管理ノード15として機能する。また、1つのサーバ11は、ストレージシステム10において制御ノード14として機能する。制御ノード14は、管理ノード15における障害発生時に復旧手順を制御する。なお、制御ノード14は、管理ノード15でもある。管理ノード15における障害発生は、管理ノード15が管理するディスク装置12の障害を含む。なお、制御ノード14は、ストレージシステム10において1つを設定してもよいし、RAIDグループごとに1つを設定してもよい。
次に、第2の実施形態のストレージシステムのRAID構成について図4を用いて説明する。図4は、第2の実施形態のストレージシステムのRAID構成の一例を示す図である。
図4に示すRAIDグループは、ディスク装置D0からディスク装置D9までの10個のデータディスクと、ディスク装置L0からディスク装置L5までの6個のパリティディスクを含む。各データディスクと各パリティディスクとは、それぞれ異なる管理ノード15によって管理される。また、これらの管理ノード15のうちの1つは、制御ノード14として機能する。制御ノード14は、あらかじめ設定されていて、たとえば、ディスク装置D0を管理する管理ノード15である。
ディスク装置L0は、パリティ計算に用いるデータディスクの範囲rL0がディスク装置D0,D1,D2,D3,D4である。ディスク装置L1は、パリティ計算に用いるデータディスクの範囲rL1がディスク装置D2,D3,D4,D5,D6である。ディスク装置L2は、パリティ計算に用いるデータディスクの範囲rL2がディスク装置D4,D5,D6,D7,D8である。ディスク装置L3は、パリティ計算に用いるデータディスクの範囲rL3がディスク装置D5,D6,D7,D8,D9である。ディスク装置L4は、パリティ計算に用いるデータディスクの範囲rL4がディスク装置D0,D1,D7,D8,D9である。ディスク装置L5は、パリティ計算に用いるデータディスクの範囲rL5がディスク装置D0,D1,D2,D3,D9である。
なお、このような一部のデータディスクから計算されるパリティをローカルパリティと称する。図4に示すRAIDグループは、各パリティディスクがローカルパリティを保持するが、パリティディスクは、全部のデータディスクから計算されるパリティを保持するものであってもよい。
ここで、2つのディスク装置D2,D6が同時故障したとする。従来、2つのディスク装置D2,D6は、独立してリカバリ動作をおこなっていたが、これに代えて、ストレージシステム10は、制御ノード14がディスク装置D2,D6のリカバリ動作を制御する。制御ノード14は、たとえば、ディスク装置D2,D6のうちディスク装置D2を先行してリカバリ動作をおこなうことを決定する。
これにより、ディスク装置D2を管理する管理ノード15は、ディスク装置D6に先行してディスク装置D2のリカバリ動作をおこなう。
ここで、先行してリカバリ動作をおこなうディスク装置D2の復旧に要するディスク集合について図5を用いて説明する。図5は、第2の実施形態の先行してリカバリ動作をおこなうディスク装置の復旧に要するディスク集合の一例を示す図である。
データdD2は、ディスク装置D2が復旧対象とするデータである。データdD0,dD1,dD3,dD4,dL0は、データdD2を復旧するために、それぞれディスク装置D0,D1,D3,D4,L0から取得を要するデータである。
ここで、データdD2を復旧するためのディスク集合をディスク集合gr0とすると、ディスク集合gr0の集合要素は、{ディスク装置D0,D1,D3,D4,L0}となる。
次に、先行してリカバリ動作をおこなったディスク装置D2に続いてリカバリ動作をおこなうディスク装置D6の復旧に要するディスク集合について図6を用いて説明する。図6は、第2の実施形態の先行してリカバリ動作をおこなったディスク装置の後続としてリカバリ動作をおこなうディスク装置の復旧に要するディスク集合の一例を示す図である。
データdD6は、ディスク装置D6が復旧対象とするデータである。データdD0,dD1,dD3,dD4,dD5,dL0,dL1は、データdD6を復旧するために、それぞれディスク装置D0,D1,D3,D4,D5,L0,L1から取得を要するデータである。
ここで、データdD6を復旧するためのディスク集合をディスク集合gr1とすると、ディスク集合gr1の集合要素は、{ディスク装置D0,D1,D3,D4,D5,L0,L1}となる。
仮に1つのディスク装置からのデータ復旧に要するデータ転送量を1単位とすると、データdD2の復旧に要するデータ転送量は、ディスク集合gr0の集合要素数である5単位となる。同様に、データdD6の復旧に要するデータ転送量は、ディスク集合gr1の集合要素数である7単位となる。すなわち、データdD2,dD6の復旧に要するデータ転送量は、合計で12単位となり、ストレージシステム10においてネットワーク13に大きな通信負荷をかける場合がある。
そこで、ディスク集合gr0とディスク集合gr1の共通集合をディスク集合gr2とすると、ディスク集合gr2の集合要素は、{ディスク装置D0,D1,D3,D4,L0}となる。
ディスク集合gr2の集合要素は、先に、データdD2を復旧するためにディスク装置D2を管理する管理ノード15によって取得される。ディスク装置D2を管理する管理ノード15は、データdD6を復旧するための計算をおこない計算結果をディスク装置D6を管理する管理ノード15に通知する。ディスク装置D6を管理する管理ノード15は、ディスク装置D2を管理する管理ノード15から計算結果を取得することで、ディスク集合gr2の要素となるディスク装置からデータ転送を受けることを要しなくなる。
これにより、データdD6の復旧に要するデータ転送量は、ディスク集合gr1の集合要素数とディスク集合gr2の集合要素数との差分に、計算結果分の1を加えた3単位となる。すなわち、データdD2,dD6の復旧に要するデータ転送量は、合計で8単位となる。したがって、先にリカバリ動作をおこなう管理ノード15が続いてリカバリ動作をおこなう管理ノード15の一部計算を負担することで、ストレージシステム10においてネットワーク13にかかる通信負荷を約1/3(=(12−8)/12)軽減できる。
なお、先にリカバリ動作をおこなう管理ノード15による他の管理ノード15の一部計算の負担は、次のようにしておこなうことができる。
パリティディスクL0,L1のデータをL0,L1、データディスクD0,D1,D2,D3,D4,D5,D6のデータをD0,D1,D2,D3,D4,D5,D6とする。このとき、線形のパリティ計算では、L0,L1は、それぞれ、一般にガロア体上の演算として、(1)式、(2)式のように表わすことができる。なお、aijは、パリティディスク(i)とデータディスク(j)の組み合わせに対応する所要の係数である。aijは、たとえば、「1」である。
0=a000+a011+a022+a033+a044 ・・・(1)
1=a122+a133+a144+a155+a166 ・・・(2)
(1)式、(2)式を変形して、(3)式、(4)式を得る。
このとき、先にリカバリ動作をおこなう管理ノード15が負担する計算をF、各要素の係数をbkとすると、(4)式から(5)式を得る。
2={L0−a000−a011−a033−a044}/a02 ・・・(3)
6={L1−a122−a133−a144−a155}/a16 ・・・(4)
6=b0F(D0,D1,D3,D4,L0)+b15+b21 ・・・(5)
すなわち、先にリカバリ動作をおこなう管理ノード15が続いてリカバリ動作をおこなう管理ノード15に「F(D0,D1,D3,D4,L0)」を転送することで、リカバリ動作にかかるデータ転送量の最適化(あるいは縮減)をはかることができる。
次に、ディスク装置の同時故障について図7を用いて説明する。図7は、第2の実施形態のディスク装置の同時故障の検出の一例を示す図である。
2つのディスク装置12のうち先に故障したディスク装置12をディスク_A、後から故障したディスク装置12をディスク_Bとする。なお、ディスク_Aとディスク_Bは、それぞれが復旧に要するデータディスクおよびパリティディスクとの間で、共通集合を有する関係である。
ディスク_Aは、タイミングt0で故障し、タイミングt2で復旧する。ディスク_Bは、タイミングt1で故障し、タイミングt3で復旧する。ディスク_Aとディスク_Bは、タイミングt1からタイミングt2までの間で故障期間が重複する。
ディスク_Aを管理する管理ノード15は、ディスク_Aの故障を検出して制御ノード14にディスク_Aの故障の検出を通知する。これにより、制御ノード14は、ディスク_Aの故障を検出する。また、ディスク_Bを管理する管理ノード15は、ディスク_Bの故障を検出して制御ノード14にディスク_Bの故障の検出を通知する。これにより、制御ノード14は、ディスク_Bの故障を検出する。
したがって、制御ノード14は、ディスク_Aとディスク_Bとの同時故障を検出する。なお、災害などにより同時多発的にディスク装置12が故障した場合には、制御ノード14は、タイミングt0≒タイミングt1として、ディスク_Aとディスク_Bとの同時故障を検出する。
次に、第2の実施形態のサーバ11のハードウェア構成について図8を用いて説明する。図8は、第2の実施形態のサーバのハードウェア構成の一例を示す図である。
サーバ11は、プロセッサ101によって装置全体が制御されている。すなわち、プロセッサ101は、サーバ11の制御部として機能する。プロセッサ101には、バス106を介してRAM(Random Access Memory)102と複数の周辺機器が接続されている。プロセッサ101は、マルチプロセッサであってもよい。プロセッサ101は、たとえばCPU(Central Processing Unit)、MPU(Micro Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、またはPLD(Programmable Logic Device)である。またプロセッサ101は、CPU、MPU、DSP、ASIC、PLDのうちの2以上の要素の組み合わせであってもよい。
RAM102は、サーバ11の主記憶装置として使用される。RAM102には、プロセッサ101に実行させるOS(Operating System)のプログラムやファームウェア、アプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM102には、プロセッサ101による処理に必要な各種データが格納される。また、RAM102は、各種データの格納に用いるメモリと別体にキャッシュメモリを含むものであってもよい。すなわち、RAM102は、サーバ11の記憶部として機能する。
バス106に接続されている周辺機器としては、不揮発性メモリ103、入出力インタフェース104、および通信インタフェース105がある。
不揮発性メモリ103は、サーバ11の電源遮断時においても記憶内容を保持する。不揮発性メモリ103は、たとえば、EEPROM(Electrically Erasable Programmable Read-Only Memory)やフラッシュメモリなどの半導体記憶装置や、HDDなどである。また、不揮発性メモリ103は、サーバ11の補助記憶装置として使用される。不揮発性メモリ103には、OSのプログラムやファームウェア、アプリケーションプログラム、および各種データが格納される。すなわち、不揮発性メモリ103は、サーバ11の記憶部として機能する。
入出力インタフェース104は、入出力装置と接続して入出力をおこなう。入出力装置は、ディスク装置12などの記憶装置を含む。
通信インタフェース105は、ネットワーク13と接続することで、ネットワーク13を介して、他のサーバ11やホストとの間でデータの送受信をおこなう。
以上のようなハードウェア構成によって、第2の実施形態のサーバ11の処理機能を実現することができる。なお、サーバ11の他、第1の実施形態に示した記憶制御装置3も、図8に示したサーバ11と同様のハードウェアにより実現することができる。
サーバ11は、たとえばコンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、第2の実施形態の処理機能を実現する。サーバ11に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。たとえば、サーバ11に実行させるプログラムを不揮発性メモリ103に格納しておくことができる。プロセッサ101は、不揮発性メモリ103内のプログラムの少なくとも一部をRAM102にロードし、プログラムを実行する。またコンピュータ100に実行させるプログラムを、図示しない光ディスク、メモリ装置、メモリカードなどの可搬型記録媒体に記録しておくこともできる。光ディスクには、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。メモリ装置は、入出力インタフェース104あるいは図示しない機器接続インタフェースとの通信機能を搭載した記録媒体である。たとえば、メモリ装置は、メモリリーダライタによりメモリカードへのデータの書き込み、またはメモリカードからのデータの読み出しをおこなうことができる。メモリカードは、カード型の記録媒体である。
可搬型記録媒体に格納されたプログラムは、たとえばプロセッサ101からの制御により、不揮発性メモリ103にインストールされた後、実行可能となる。またプロセッサ101が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
次に、第2の実施形態の復旧制御処理について図9を用いて説明する。図9は、第2の実施形態の復旧制御処理のフローチャートを示す図である。
復旧制御処理は、故障が発生した管理ノード15の復旧手順を制御する処理である。復旧制御処理は、管理ノード15からの故障通知を受けて制御ノード14が実行する処理である。
[ステップS11]制御ノード14は、故障通知のあったディスクとは別に障害復旧中のディスクがあるか否かを判定する。制御ノード14は、故障通知のあったディスクとは別に障害復旧中のディスクがある場合にステップS12にすすみ、故障通知のあったディスクとは別に障害復旧中のディスクがない場合にステップS15にすすむ。なお、制御ノード14は、管理ノード15の復旧進行を管理することにより障害復旧中のディスクの有無を判定できる。たとえば、管理ノード15は、管理ノード15の状態管理をおこなう管理テーブルを記憶部に保持することにより管理ノード15の復旧進行を管理することができる。
[ステップS12]制御ノード14は、故障通知のあったディスクの復旧に要するディスク集合を算出する。
[ステップS13]制御ノード14は、障害復旧中のディスクの復旧に要するディスク集合と、故障通知のあったディスクの復旧に要するディスク集合との共通集合を算出し、共通集合の有無を判定する。制御ノード14は、共通集合がある場合にステップS14にすすみ、共通集合がない場合、すなわち共通集合が空集合である場合にステップS15にすすむ。
[ステップS14]制御ノード14は、同時故障復旧制御処理を実行する。同時故障復旧制御処理は、復旧に要するディスク集合に共通部分のある2つの故障ディスクの復旧制御手順を制御する処理である。同時故障復旧制御処理の詳細は、図10を用いて後で説明する。制御ノード14は、同時故障復旧制御処理を実行後に、復旧制御処理を終了する。
[ステップS15]制御ノード14は、復旧に要するディスク集合に共通部分のある2つの故障ディスクがないことから、故障通知のあったディスクについて独立して復旧する手順を指示して、復旧制御処理を終了する。
このようにして、制御ノード14は、ネットワーク13にかかる通信負荷を軽減可能な同時故障復旧と、独立しておこなう故障復旧とを判別し、管理ノード15に指示することができる。
次に、第2の実施形態の同時故障復旧制御処理について図10を用いて説明する。図10は、第2の実施形態の同時故障復旧制御処理のフローチャートを示す図である。
同時故障復旧制御処理は、復旧に要するディスク集合に共通部分のある2つの故障ディスクの復旧制御手順を制御する処理である。同時故障復旧制御処理は、復旧制御処理のステップS14において制御ノード14が実行する処理である。
[ステップS21]制御ノード14は、故障通知のあったディスクと、障害復旧中のディスクとのうちいずれを先行して復旧をおこなうのか、復旧順序を決定する。たとえば、制御ノード14は、故障通知のあったディスクと、障害復旧中のディスクとのうちいずれを先行するかを、あらかじめ設定するものであってもよいし、ディスクごとの優先順位や、ディスクごとの稼働状態など、所要の条件にもとづいて復旧順序を決定するものであってもよい。
[ステップS22]制御ノード14は、先行して復旧をおこなう管理ノード15(先行復旧ノード)に、先行して復旧をおこなう手順(先行復旧手順)を指示する。先行復旧手順は、先行復旧ノードが故障ディスクの復旧に要するディスク集合、先行復旧ノードが他の管理ノードのためにおこなう計算の計算式、計算結果の転送先を含む。
[ステップS23]制御ノード14は、後から復旧をおこなう管理ノード15(後続復旧ノード)に、後に続いて復旧をおこなう手順(後続復旧手順)を指示する。後続復旧手順は、後続復旧ノードが故障ディスクの復旧に要するディスク集合、先行復旧ノードがおこなう計算の計算式、計算結果の転送元を含む。制御ノード14は、後続復旧ノードに後続復旧手順を指示した後、同時故障復旧制御処理を終了する。
これにより、先行復旧ノードと後続復旧ノードとは、制御ノード14の制御のもとで連携して障害復旧をおこなうことができる。
次に、第2の実施形態の先行復旧制御処理について図11を用いて説明する。図11は、第2の実施形態の先行復旧制御処理のフローチャートを示す図である。
先行復旧制御処理は、先行復旧ノードがおこなう復旧処理である。先行復旧制御処理は、制御ノード14から先行復旧手順の指示を受けた管理ノード15が実行する処理である。
[ステップS31]管理ノード(先行復旧ノード)15は、先行復旧手順で指示を受けたディスク集合にもとづいて復旧データを取得する。管理ノード15は、ディスク集合の要素に対応するディスク装置12を管理する管理ノード15を介して、復旧データを取得することができる。なお、管理ノード15は、すでに復旧データを取得している場合にはあらためて復旧データを取得することを要しない。たとえば、管理ノード15が独立してリカバリ動作をおこなっていた後に、他の管理ノード15において同時故障となる障害が発生した場合には、管理ノード15は、先行復旧制御処理の開始時点においてすでに復旧データを取得済みであることがある。
[ステップS32]管理ノード15は、先行復旧手順で指示を受けた計算式にしたがい後続復旧ノードの部分計算(後続復旧ノードに代わって先行復旧ノードが負担する計算)を実行する。
[ステップS33]管理ノード15は、後続復旧ノードに計算結果を通知する。
[ステップS34]管理ノード15は、管理対象のディスクの復旧をおこなう。
[ステップS35]管理ノード15は、制御ノード14に復旧完了を通知して、先行復旧制御処理を終了する。
このように、先行復旧ノードは、後続復旧ノードに代わってリカバリに伴う計算の一部を負担することから、後続復旧ノードにかかる復旧負荷を軽減できる。また、先行復旧ノードは、後続復旧ノードの部分計算を先行しておこなうことで、後続復旧ノードが復旧にかかるタイムラグを低減できる。また、先行復旧ノードは、先行しておこなう部分計算の計算結果を、自身が管理するディスクの復旧に用いてもよい。
次に、第2の実施形態の後続復旧制御処理について図12を用いて説明する。図12は、第2の実施形態の後続復旧制御処理のフローチャートを示す図である。
後続復旧制御処理は、後続復旧ノードがおこなう復旧処理である。後続復旧制御処理は、制御ノード14から後続復旧手順の指示を受けた管理ノード15が実行する処理である。
[ステップS41]管理ノード(後続復旧ノード)15は、後続復旧手順で指示を受けたディスク集合にもとづいて復旧データを取得する。管理ノード15は、ディスク集合の要素に対応するディスク装置12を管理する管理ノード15を介して、復旧データを取得することができる。
[ステップS42]管理ノード15は、先行復旧ノードから計算結果を受信したか否かを判定する。管理ノード15は、先行復旧ノードから計算結果を受信した場合にステップS43にすすみ、先行復旧ノードから計算結果を受信しない場合に先行復旧ノードからの計算結果の受信を待ち受ける。
[ステップS43]管理ノード15は、取得した復旧データと計算結果とから管理対象のディスクの復旧をおこなう。
[ステップS44]管理ノード15は、制御ノード14に復旧完了を通知して、後続復旧制御処理を終了する。
このように、先行復旧ノードは、後続復旧ノードに代わってリカバリに伴う計算の一部を負担することから、後続復旧ノードにかかる復旧負荷を軽減できる。また、先行復旧ノードは、後続復旧ノードの部分計算を先行しておこなうことで、後続復旧ノードが復旧にかかるタイムラグを低減できる。また、先行復旧ノードは、先行しておこなう部分計算の計算結果を、自身が管理するディスクの復旧に用いてもよい。また、後続復旧ノードは、先行復旧ノードがおこなった計算結果を用いることで、後続復旧ノードが復旧のために収集するデータ量を縮減できる。これにより、ストレージシステム10は、ネットワーク13におけるネットワーク帯域にかかる負荷を軽減することができる。したがって、ストレージシステム10は、ユーザに対して提供するサービスのバックグラウンドで故障ディスクの復旧をおこなう場合であってもユーザ業務に与える影響を限定することができる。
なお、ストレージシステム10は、制御ノード14をあらかじめ設定したが、故障ディスクを管理する管理ノード15のうちの1つが制御ノード14になるようにしてもよい。たとえば、故障ディスクを検出した管理ノード15は、RAIDグループを構成するディスク装置12を管理する管理ノード15に対して、他に制御ノード14がいないことを確認して制御ノード14になるようにしてもよい。
以上、記憶制御装置3、サーバ11を例示して説明したが、その他の情報処理装置においても適用可能である。
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、記憶制御装置3、サーバ11が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープなどがある。光ディスクには、DVD、DVD−RAM、CD−ROM/RWなどがある。光磁気記録媒体には、MO(Magneto-Optical disk)などがある。
プログラムを流通させる場合には、たとえば、そのプログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
プログラムを実行するコンピュータは、たとえば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムにしたがった処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムにしたがった処理を実行することもできる。また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムにしたがった処理を実行することもできる。
また、上記の処理機能の少なくとも一部を、DSP、ASIC、PLDなどの電子回路で実現することもできる。
1,10 ストレージシステム
2,13 ネットワーク
3,3a,3b,3c,3d,3e 記憶制御装置
4,4a,4b,4c,4d,4e 記憶装置
5 制御部
6,6a,6b,6c データ
7 復旧用データ
11 サーバ
12 ディスク装置
14 制御ノード
15 管理ノード
101 プロセッサ
102 RAM
103 不揮発性メモリ
104 入出力インタフェース
105 通信インタフェース
106 バス

Claims (7)

  1. ネットワークを介して複数の記憶制御装置を接続するストレージシステムにおける記憶制御装置であって、
    制御対象の第1記憶装置で発生した障害の復旧に用いるデータを他の記憶制御装置から取得し、
    他の記憶制御装置が制御する第2記憶装置で障害が発生している場合に、前記第1記憶装置の復旧に用いるデータから前記第2記憶装置の復旧に用いる復旧用データを生成し、
    前記第2記憶装置を制御する前記他の記憶制御装置に前記復旧用データを通知する、
    制御部を備える記憶制御装置。
  2. 前記制御部は、前記他の記憶制御装置から取得したデータのうち、前記第2記憶装置の復旧に用いることができるデータから前記復旧用データを生成する請求項1記載の記憶制御装置。
  3. 前記制御部は、前記復旧用データを通知した後に、前記他の記憶制御装置から取得したデータを用いて前記第1記憶装置で発生した障害の復旧をおこなう請求項1記載の記憶制御装置。
  4. 前記障害の復旧に用いるデータは、パリティデータを含み、前記パリティデータは、パリティ計算が線形である請求項1記載の記憶制御装置。
  5. 前記制御部は、前記第2記憶装置を制御する前記他の記憶制御装置として前記復旧用データを通知された場合に、前記復旧用データと、他の記憶制御装置から取得した障害の復旧に用いるデータとから前記第1記憶装置で発生した障害の復旧をおこなう請求項1記載の記憶制御装置。
  6. ネットワークを介して複数の記憶制御装置を接続するストレージシステムにおける記憶制御装置に実行させるデータ復旧プログラムであって、
    前記記憶制御装置に、
    制御対象の第1記憶装置で発生した障害の復旧に用いるデータを他の記憶制御装置から取得し、
    他の記憶制御装置が制御する第2記憶装置で障害が発生している場合に、前記第1記憶装置の復旧に用いるデータから前記第2記憶装置の復旧に用いる復旧用データを生成し、
    前記第2記憶装置を制御する前記他の記憶制御装置に前記復旧用データを通知する、
    処理を実行させるデータ復旧プログラム。
  7. ネットワークを介して複数の記憶制御装置を接続するストレージシステムにおける記憶制御装置のデータ復旧方法であって、
    前記記憶制御装置が、
    制御対象の第1記憶装置で発生した障害の復旧に用いるデータを他の記憶制御装置から取得し、
    他の記憶制御装置が制御する第2記憶装置で障害が発生している場合に、前記第1記憶装置の復旧に用いるデータから前記第2記憶装置の復旧に用いる復旧用データを生成し、
    前記第2記憶装置を制御する前記他の記憶制御装置に前記復旧用データを通知する、
    処理を実行するデータ復旧方法。
JP2014091667A 2014-04-25 2014-04-25 記憶制御装置、データ復旧プログラム、およびデータ復旧方法 Pending JP2015210658A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014091667A JP2015210658A (ja) 2014-04-25 2014-04-25 記憶制御装置、データ復旧プログラム、およびデータ復旧方法
US14/620,735 US9697081B2 (en) 2014-04-25 2015-02-12 Storage control device and data recovery method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014091667A JP2015210658A (ja) 2014-04-25 2014-04-25 記憶制御装置、データ復旧プログラム、およびデータ復旧方法

Publications (1)

Publication Number Publication Date
JP2015210658A true JP2015210658A (ja) 2015-11-24

Family

ID=54334900

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014091667A Pending JP2015210658A (ja) 2014-04-25 2014-04-25 記憶制御装置、データ復旧プログラム、およびデータ復旧方法

Country Status (2)

Country Link
US (1) US9697081B2 (ja)
JP (1) JP2015210658A (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106648992A (zh) * 2016-12-29 2017-05-10 创新科存储技术(深圳)有限公司 一种分布式存储系统中重构热点消除方法和装置
CN109213637B (zh) * 2018-11-09 2022-03-04 浪潮电子信息产业股份有限公司 分布式文件系统集群节点的数据恢复方法、装置及介质
JP7405608B2 (ja) * 2019-12-26 2023-12-26 株式会社日立製作所 ストレージシステム
US11803446B2 (en) * 2020-07-13 2023-10-31 Samsung Electronics Co., Ltd. Fault resilient storage device
CN112395263B (zh) * 2020-11-26 2022-08-19 新华三大数据技术有限公司 一种osd的数据恢复方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110225453A1 (en) * 2010-03-11 2011-09-15 Lsi Corporation System and method for optimizing redundancy restoration in distributed data layout environments
WO2014016860A1 (en) * 2012-07-23 2014-01-30 Hitachi, Ltd. Raid storage system and rebuild process

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6993701B2 (en) 2001-12-28 2006-01-31 Network Appliance, Inc. Row-diagonal parity technique for enabling efficient recovery from double failures in a storage array
US8402346B2 (en) 2001-12-28 2013-03-19 Netapp, Inc. N-way parity technique for enabling recovery from up to N storage device failures
US7376862B2 (en) * 2004-06-24 2008-05-20 International Business Machines Corporation Multiple sourcing storage devices for ultra reliable mirrored storage subsystems
JP4754852B2 (ja) 2005-03-15 2011-08-24 富士通株式会社 ストレージ制御装置および方法
JP4905161B2 (ja) 2007-01-31 2012-03-28 富士通株式会社 Raid装置及びガロア体を用いたデータ復元装置
US8826077B2 (en) * 2007-12-28 2014-09-02 International Business Machines Corporation Defining a computer recovery process that matches the scope of outage including determining a root cause and performing escalated recovery operations
US8990495B2 (en) * 2011-11-15 2015-03-24 Emc Corporation Method and system for storing data in raid memory devices
US20130246686A1 (en) * 2012-03-19 2013-09-19 Hitachi, Ltd. Storage system comprising nonvolatile semiconductor storage device, and storage control method
US9304685B2 (en) * 2013-09-10 2016-04-05 Kabushiki Kaisha Toshiba Storage array system and non-transitory recording medium storing control program

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110225453A1 (en) * 2010-03-11 2011-09-15 Lsi Corporation System and method for optimizing redundancy restoration in distributed data layout environments
JP2011192257A (ja) * 2010-03-11 2011-09-29 Lsi Corp 分散データレイアウト環境における冗長性復元を最適化するためのシステム及び方法
WO2014016860A1 (en) * 2012-07-23 2014-01-30 Hitachi, Ltd. Raid storage system and rebuild process

Also Published As

Publication number Publication date
US20150309902A1 (en) 2015-10-29
US9697081B2 (en) 2017-07-04

Similar Documents

Publication Publication Date Title
US10877860B2 (en) Copying data from mirrored storage to auxiliary storage arrays co-located with primary storage arrays
US10055295B2 (en) Using spare capacity in solid state drives
JP6056453B2 (ja) プログラム、データ管理方法および情報処理装置
US8706946B2 (en) Extender storage pool system
JP2015210658A (ja) 記憶制御装置、データ復旧プログラム、およびデータ復旧方法
JP5910444B2 (ja) 情報処理装置、起動プログラム、および起動方法
US20140304548A1 (en) Intelligent and efficient raid rebuild technique
JPH11338648A (ja) ディスクアレイ装置、そのエラ―制御方法、ならびにその制御プログラムを記録した記録媒体
US20120054441A1 (en) Storage system, control apparatus and control method thereof
US10324780B2 (en) Efficient data system error recovery
JP2011170589A (ja) ストレージ制御装置、ストレージ装置およびストレージ制御方法
US20130124801A1 (en) Sas host controller cache tracking
US20170063448A1 (en) Dynamic link repair from lane failure with minimal link-down time while sparing fault channels
US8099634B2 (en) Autonomic component service state management for a multiple function component
JP6540334B2 (ja) システム、情報処理装置、および情報処理方法
US11392463B2 (en) Effective backup of data used by multiple nodes executing parallel processing
US8694826B2 (en) SAS host cache control
US10445193B2 (en) Database failure recovery in an information handling system
US9858209B1 (en) Method and apparatus for restoring de-duplicated data
CN107111459B (zh) 存储系统及其控制方法
US10324655B2 (en) Efficient sidefile utilization in asynchronous data replication systems
TW201512830A (zh) 資料儲存系統及其控制方法
JP2008276281A (ja) データ同期システム、方法、及び、プログラム
CN114385412A (zh) 存储管理方法、设备和计算机程序产品
JP2016143248A (ja) ストレージ制御装置及びストレージ制御プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170110

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171030

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171107

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20180501