JP5365236B2 - ストレージシステム - Google Patents

ストレージシステム Download PDF

Info

Publication number
JP5365236B2
JP5365236B2 JP2009032335A JP2009032335A JP5365236B2 JP 5365236 B2 JP5365236 B2 JP 5365236B2 JP 2009032335 A JP2009032335 A JP 2009032335A JP 2009032335 A JP2009032335 A JP 2009032335A JP 5365236 B2 JP5365236 B2 JP 5365236B2
Authority
JP
Japan
Prior art keywords
storage
journal
storage means
data
fragment
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.)
Active
Application number
JP2009032335A
Other languages
English (en)
Other versions
JP2010191499A (ja
Inventor
スムドゥ デマタピティヤ
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2009032335A priority Critical patent/JP5365236B2/ja
Priority to US13/147,670 priority patent/US8555007B2/en
Priority to PCT/JP2009/003963 priority patent/WO2010092634A1/ja
Publication of JP2010191499A publication Critical patent/JP2010191499A/ja
Application granted granted Critical
Publication of JP5365236B2 publication Critical patent/JP5365236B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1658Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit

Description

本発明は、ストレージシステムにかかり、特に、データを分散して複数の記憶装置に記憶するストレージシステムに関する。
近年、コンピュータの発達及び普及に伴い、種々の情報がデジタルデータ化されている。このようなデジタルデータを保存しておく装置として、磁気テープや磁気ディスクなどの記憶装置がある。そして、保存すべきデータは日々増大し、膨大な量となるため、大容量なストレージシステムが必要となっている。また、記憶装置に費やすコストを削減しつつ、信頼性も必要とされる。これに加えて、後にデータを容易に取り出すことが可能であることも必要である。その結果、自動的に記憶容量や性能の増大を実現できると共に、重複記憶を排除して記憶コストを削減し、さらには、冗長性の高いストレージシステムが望まれている。
このような状況に応じて、近年では、特許文献1に示すように、コンテンツアドレスストレージシステムが開発されている。このコンテンツアドレスストレージシステムは、データを分散して複数の記憶装置に記憶すると共に、このデータの内容に応じて特定される固有のコンテンツアドレスによって、当該データを格納した格納位置が特定される。
具体的に、コンテンツアドレスストレージシステムでは、図1に示すように、ストレージサーバ100の分割部101にて、記憶対象データであるデータブロックを複数のフラグメントに分割すると共に、冗長データとなるフラグメントをさらに付加する。そして、これら複数のフラグメントを、ストレージサーバ100内の記憶装置102や、他のストレージサーバに装備された記憶装置103,104など、複数の記憶装置にそれぞれ格納する。そして、後に、コンテンツアドレスを指定することにより、当該コンテンツアドレスにて特定される格納位置に格納されているデータつまりフラグメントを読み出し、複数のフラグメントから分割前の所定のデータを復元することができる。
また、上記コンテンツアドレスは、データの内容に応じて固有となるよう生成される。このため、重複データであれば同じ格納位置のデータを参照することで、同一内容のデータを取得することができる。従って、重複データを別々に格納する必要がなく、重複記録を排除し、データ容量の削減を図ることができる。
そして、上述したようなストレージシステムにおいて、同一のデータブロックから分割された2個以上のフラグメントを同一のサーバに書き込む場合は、耐ディスク障害性を保つために、同じディスクに2個以上のフラグメントを書き込まないように各ディスクに分散して記憶する。一方、同じディスクに異なるデータブロックに属した2個以上のフラグメントの書き込みを行う必要がある場合には、書き込み待ちのフラグメントをキューに溜めてから書き込む。そして、キューから1または複数のフラグメントをディスクに書き込む処理は、トランザクション方式で処理され、トランザクションをジャーナルに記録する。
ここで、図2に、上述したトランザクションをジャーナルに記憶する様子を示す。この図に示すように、ジャーナル(J)は、データ(D)の書込み開始直前に書かれるスタートエントリー、データ書込み終了直後に書かれるコミットエントリー、用済みのスタート・コミットエントリーに対しての削除エントリー、で構成される。
そして、上述したジャーナル110は、冗長性を保つために、図3に示すように、ハードウェアRAID(Redundant Arrays of Inexpensive Disks)を構成するディスク領域のOS(Operating System)領域120内に、固定的に配置される。つまり、ジャーナルは、2つのディスクに2重化されたOS領域120内に配置される。なお、関連する技術として、特許文献2には、ジャーナルを記憶する空きスペースがなくなった場合には、当該ジャーナルを記憶するファイルを切り替える、という技術が開示されている。
一方で、ディスク容量を最大に活用するためには、OS領域120があるディスク(ディスク0、ディスク1)の残容量もデータ領域130として使う、ことが必要である。これは、ディスク単体が大容量化している今日においては、OS領域が相対的に小さいため、極めて重要である。従って、OS領域120が設けられたディスク及び他のディスク、つまり、全てのディスク(ディスク0〜ディスクn)に、データそのものを記憶するデータ領域130を形成する必要がある。
特開2005−235171号公報 特開平2−54346号公報
しかしながら、OS領域120を有するディスクにも、フラグメントデータといった記憶対象データを分散記憶すると、ストレージシステムにおける書き込み性能の低下、という問題が生じる。具体的には、図4に示すように、OS領域が形成されたディスクにフラグメントデータを格納すると、当該フラグメントデータとジャーナルとが同一ディスク(ディスク0,1)に格納されることとなる。すると、かかるディスクにおいて書き込む処理の競合が発生し、書き込みが遅れ、フラグメント化された元のデータブロック全体の書き込み完了も遅れる。その結果、書き込み性能が低下する、という問題が生じる。さらに、ディスク障害が生じた場合には、データとジャーナルの双方が消失する場合が生じるため、信頼性も低下する、という問題が生じる。
このため、本発明の目的は、上述した課題である、冗長性の向上を図りつつ、書き込み性能の向上を図ることができるストレージシステムを提供する、ことにある。
かかる目的を達成するため本発明の一形態であるストレージシステムは、
複数の記憶手段と、これら複数の記憶手段に対してデータを記憶するデータ処理手段と、を備えている。
そして、上記データ処理手段は、
上記複数の記憶手段のうち、ストレージシステムにおけるデータ処理状況を表すジャーナルを記憶するジャーナル用記憶手段を設定すると共に、当該設定されたジャーナル用記憶手段とは異なる他の複数の上記記憶手段を、記憶対象データを形成する複数のフラグメントデータをそれぞれ分散して記憶するフラグメント用記憶手段としてそれぞれ設定する記憶先設定手段と、
上記記憶先設定手段にて上記ジャーナル用記憶手段として設定した上記記憶手段に上記ジャーナルを記憶すると共に、上記フラグメント用記憶手段として設定した複数の上記記憶手段に上記複数のフラグメントデータを分散してそれぞれ記憶する分散記憶制御手段と、を備えた、という構成を採る。
また、本発明の他の形態であるプログラムは、
複数の記憶手段を備えた情報処理装置に、
上記複数の記憶手段に対してデータを記憶するデータ処理手段を実現させるプログラムである。
そして、上記データ処理手段は、
上記複数の記憶手段のうち、情報処理装置におけるデータ処理状況を表すジャーナルを記憶するジャーナル用記憶手段を設定すると共に、当該設定されたジャーナル用記憶手段とは異なる他の複数の上記記憶手段を、記憶対象データを形成する複数のフラグメントデータをそれぞれ分散して記憶するフラグメント用記憶手段としてそれぞれ設定する記憶先設定手段と、
上記記憶先設定手段にて上記ジャーナル用記憶手段として設定した上記記憶手段に上記ジャーナルを記憶すると共に、上記フラグメント用記憶手段として設定した複数の上記記憶手段に上記複数のフラグメントデータを分散してそれぞれ記憶する分散記憶制御手段と、を備えた、という構成を採る。
また、本発明の他の形態であるデータ処理方法は、
複数の記憶手段を備えたストレージシステムにて、
上記複数の記憶手段に対してデータを記憶するデータ処理工程を有し、
上記データ処理工程は、
上記複数の記憶手段のうち、ストレージシステムにおけるデータ処理状況を表すジャーナルを記憶するジャーナル用記憶手段を設定すると共に、当該設定されたジャーナル用記憶手段とは異なる他の複数の上記記憶手段を、記憶対象データを形成する複数のフラグメントデータをそれぞれ分散して記憶するフラグメント用記憶手段としてそれぞれ設定する記憶先設定工程と、
上記記憶先設定工程にて上記ジャーナル用記憶手段として設定した上記記憶手段に上記ジャーナルを記憶すると共に、上記フラグメント用記憶手段として設定した複数の上記記憶手段に上記複数のフラグメントデータを分散してそれぞれ記憶する分散記憶制御工程と、を有する、という構成を採る。
本発明は、以上のように構成されることにより、ストレージシステムにおいて、記憶するデータの冗長性の向上を図りつつ、書き込み性能の向上を図ることができる。
本発明に関連するストレージシステムにおけるデータの記録時の様子を示す図である。 本発明に関連するストレージシステムにおけるジャーナルの記憶の様子を示す図である。 本発明に関連するストレージシステムにおけるディスクの構成を示す図である。 本発明に関連するストレージシステムにおけるフラグメントデータとジャーナルの記録の様子を示す図である。 本発明の実施形態1におけるストレージシステムの構成を示す機能ブロック図である。 本発明の実施形態2におけるシステム全体の構成を示すブロック図である。 本発明の実施形態2におけるストレージシステムの概略を示すブロック図である。 図7に開示したストレージシステムの構成を示す機能ブロック図である。 図8に開示したストレージシステムによるデータの記憶動作を説明するための説明図である。 ストレージシステムに装備されたディスクの記憶領域を示す図である。 ストレージシステムに記憶されたデータの一例を示す図である。 ストレージシステムにおけるデータの記憶動作を示す説明図である。 ストレージシステムにおけるデータの記憶動作を示す説明図である。 ストレージシステムの動作を示すフローチャートである。 ストレージシステムの動作を示すフローチャートである。
<実施形態1>
本発明の第1の実施形態を、図5を参照して説明する。図5は、ストレージシステムの構成を示す機能ブロック図である。なお、本実施形態では、ストレージシステムの概略を説明する。
図5に示すように、本実施形態におけるストレージシステム1は、
複数の記憶手段5と、これら複数の記憶手段5に対してデータを記憶するデータ処理手段2と、を備えている。
そして、上記データ処理手段2は、
上記複数の記憶手段5のうち、ストレージシステムにおけるデータ処理状況を表すジャーナルを記憶するジャーナル用記憶手段を設定すると共に、当該設定されたジャーナル用記憶手段とは異なる他の複数の上記記憶手段を、記憶対象データを形成する複数のフラグメントデータをそれぞれ分散して記憶するフラグメント用記憶手段としてそれぞれ設定する記憶先設定手段3と、
上記記憶先設定手段3にて上記ジャーナル用記憶手段として設定した上記記憶手段5に上記ジャーナルを記憶すると共に、上記フラグメント用記憶手段として設定した複数の上記記憶手段5に上記複数のフラグメントデータを分散してそれぞれ記憶する分散記憶制御手段4と、を備えている。
上記構成のストレージシステムによると、ジャーナルを記憶するジャーナル用記憶手段と、記憶対象データを形成する各フラグメントデータを記憶するフラグメント用記憶手段とが、重複しないよう設定される。従って、ジャーナルが特定の記憶手段に固定的に記憶されることなく、また、記憶手段に障害が発生した場合であってもフラグメントデータとジャーナルとが同時に消失することを抑制できる。さらに、ジャーナルとフラグメントデータが1つの記憶手段に記憶されることがないため、記憶手段に対するデータの書き込み処理の競合を抑制することができる。その結果、記憶するデータの冗長性の向上を図りつつ、書き込み性能の向上を図ることができる。
また、上記ストレージシステムでは、上記記憶先設定手段は、上記ジャーナル用記憶手段を順次異なる上記記憶手段に変更して設定する、という構成を採る。また、上記ストレージシステムでは、上記記憶先設定手段は、全ての上記記憶手段を変更対象として、上記ジャーナル用記憶手段を順次変更して設定する、という構成を採る。
また、上記ストレージシステムでは、上記記憶先設定手段は、上記ジャーナル用記憶手段として設定された上記記憶手段の空き容量と、他の上記記憶手段の空き容量と、に基づくタイミングで、上記ジャーナル用記憶手段を変更して設定する、という構成を採る。例えば、上記記憶先設定手段は、{(上記ジャーナル用記憶手段として設定された記憶手段の空き容量)−(他の記憶手段のうち最も空き容量の少ない記憶手段の空き容量)}>α(α:予め設定された値)、を満たすタイミングで、上記ジャーナル用記憶手段を変更して設定する。
また、上記ストレージシステムでは、上記記憶先設定手段は、空き容量が最も少ない上記記憶手段を、上記ジャーナル用記憶手段として設定する、という構成を採る。
このように、ジャーナルを格納する領域を順次変更設定することで、比較的、小さいデータ容量であるジャーナルを効率的に記憶することができる。
また、上記ストレージシステムでは、上記分散記憶制御手段にて上記ジャーナルを上記記憶手段に記憶すると共に、当該ジャーナルをストレージシステムに装備された揮発性メモリにも記憶するジャーナル記憶制御手段を備えた、という構成とる。
そして、上記ストレージシステムでは、上記ジャーナル記憶制御手段は、上記記憶先設定手段にて上記ジャーナル用記憶手段を変更設定したときに、上記揮発性メモリに記憶されているジャーナルを、上記ジャーナル用記憶手段として新たに変更設定された上記記憶手段に記憶する、という構成を採る。
ストレージシステム
さらに、上記ストレージシステムでは、上記ジャーナル記憶制御手段は、上記揮発性メモリに記憶しているジャーナルを、ストレージシステムの作動状況に応じて、上記フラグメント用記憶手段として設定されている上記記憶手段に記憶する、という構成を採る。このとき、例えば、上記ジャーナル記憶制御手段は、上記ストレージシステムの障害発生時に、上記揮発性メモリに記憶しているジャーナルを上記フラグメント用記憶手段として設定されている全ての上記記憶手段にそれぞれ記憶する、という構成を採る。
ストレージシステム
これにより、ストレージシステムの障害時などに、ジャーナルをいずれかの記憶手段に記憶させておくことができる。従って、仮にジャーナル用記憶手段に障害が発生した場合であっても、ジャーナルが他の記憶手段に保持され、これを参照して後に復旧が可能となる。その結果、さらなる冗長性の向上を図ることができる。
また、上述したストレージシステムは、情報処理装置に、プログラムが組み込まれることで実現できる。具体的に、本発明の他の形態であるプログラムは、
複数の記憶手段を備えた情報処理装置に、
上記複数の記憶手段に対してデータを記憶するデータ処理手段を実現させるプログラムであり、
上記データ処理手段は、
上記複数の記憶手段のうち、情報処理装置におけるデータ処理状況を表すジャーナルを記憶するジャーナル用記憶手段を設定すると共に、当該設定されたジャーナル用記憶手段とは異なる他の複数の上記記憶手段を、記憶対象データを形成する複数のフラグメントデータをそれぞれ分散して記憶するフラグメント用記憶手段としてそれぞれ設定する記憶先設定手段と、
上記記憶先設定手段にて上記ジャーナル用記憶手段として設定した上記記憶手段に上記ジャーナルを記憶すると共に、上記フラグメント用記憶手段として設定した複数の上記記憶手段に上記複数のフラグメントデータを分散してそれぞれ記憶する分散記憶制御手段と、を備えた、という構成を採る。
そして、上記プログラムでは、上記記憶先設定手段は、上記ジャーナル用記憶手段を順次異なる上記記憶手段に変更して設定する、という構成を採る。
また、上述したストレージシステムが作動することにより実行される、本発明の他の形態であるデータ処理方法は、
複数の記憶手段を備えたストレージシステムにて、
上記複数の記憶手段に対してデータを記憶するデータ処理工程を有し、
上記データ処理工程は、
上記複数の記憶手段のうち、ストレージシステムにおけるデータ処理状況を表すジャーナルを記憶するジャーナル用記憶手段を設定すると共に、当該設定されたジャーナル用記憶手段とは異なる他の複数の上記記憶手段を、記憶対象データを形成する複数のフラグメントデータをそれぞれ分散して記憶するフラグメント用記憶手段としてそれぞれ設定する記憶先設定工程と、
上記記憶先設定工程にて上記ジャーナル用記憶手段として設定した上記記憶手段に上記ジャーナルを記憶すると共に、上記フラグメント用記憶手段として設定した複数の上記記憶手段に上記複数のフラグメントデータを分散してそれぞれ記憶する分散記憶制御工程と、を有する、という構成を採る。
そして、上記データ処理方法では、上記記憶先設定工程は、上記ジャーナル用記憶手段を順次異なる上記記憶手段に変更して設定する、という構成を採る。
上述した構成を有する、プログラム、又は、データ処理方法、の発明であっても、上記ストレージシステムと同様の作用を有するために、上述した本発明の目的を達成することができる。
<実施形態2>
本発明の第2の実施形態を、図6乃至図15を参照して説明する。図6は、システム全体の構成を示すブロック図である。図7は、ストレージシステムの概略を示すブロック図であり、図8は、構成を示す機能ブロック図である。図9は、ストレージシステムによるデータの記憶動作を説明するための説明図である。図10は、ストレージシステムに装備されたディスクの記憶領域を示す図である。図11は、ストレージシステムに記憶されたデータの一例を示す図である。図12乃至図13は、ストレージシステムにおけるデータの記憶動作を示す説明図である。図14乃至図15は、ストレージシステムの動作を示すフローチャートである。
ここで、本実施形態は、上述した実施形態1にて開示したストレージシステムの具体的な一例を示すものである。そして、以下では、ストレージシステムが、複数台のサーバコンピュータが接続されて構成されている場合を説明する。但し、本発明におけるストレージシステムは、複数台のコンピュータにて構成されることに限定されず、1台のコンピュータで構成されていてもよい。
[構成]
に示すように、対象本発明におけるストレージシステム10は、ネットワークNを介してバックアップ処理を制御するバックアップシステム11に接続している。そして、バックアップシステム11は、ネットワークNを介して接続されたバックアップ対象装置12に格納されているバックアップ対象データ(記憶対象データ)を取得し、ストレージシステム10に対して記憶するよう要求する。これにより、ストレージシステム10は、記憶要求されたバックアップ対象データをバックアップ用に記憶する。
そして、図7に示すように、本実施形態におけるストレージシステム10は、複数のサーバコンピュータが接続されて構成を採っている。具体的に、ストレージシステム10は、ストレージシステム10自体における記憶再生動作を制御するサーバコンピュータであるアクセラレータノード10Aと、データを格納する記憶装置を備えたサーバコンピュータであるストレージノード10Bと、を備えている。なお、アクセラレータノード10Aの数とストレージノード10Bの数は、図に示したものに限定されず、さらに多くの各ノード10A,10Bが接続されて構成されていてもよい。
さらに、本実施形態におけるストレージシステム10は、データを分割及び冗長化し、分散して複数の記憶装置に記憶すると共に、このデータの内容に応じて特定される固有のコンテンツアドレスによって、当該データを格納した格納位置を特定するコンテンツアドレスストレージシステムである。具体的な構成については詳述する。
また、以下では、ストレージシステム10が1つのシステムであるとして、当該ストレージシステム10が備えている構成及び機能を説明する。つまり、以下に説明するストレージシステム10が有する構成及び機能は、アクセラレータノード10Aあるいはストレージノード10Bのいずれに備えられていてもよい。なお、ストレージシステム10は、図に示すように、必ずしもアクセラレータノード10Aとストレージノード10Bとを備えていることに限定されず、いかなる構成であってもよい。また、ストレージシステム10は、コンテンツアドレスストレージシステムであることにも限定されない。
図8に、ストレージシステム10の構成を示す。この図に示すように、ストレージシステム10は、データを記憶するデータ記憶装置30と、当該データ記憶装置30に対するデータの記憶及び読み出し動作を制御するデータ処理装置20(データ処理手段)と、を備えている。なお、実際には、データ処理装置20は、図に示したアクセラレータノード10A及びストレージノード10Bが備えているCPU(Central Processing Unit)などの複数の演算装置にて構成されている。また、記憶装置30は、図に示したアクセラレータノード10A及びストレージノード10Bが備えているハードディスクなどの記憶装置にて構成されている。
そして、図8に示すように、上記データ処理装置20は、プログラムが組み込まれることにより構築された、フラグメント生成部21と、分散記憶制御部22と、ジャーナル記憶制御部23と、記憶先設定部24と、を備えている。また、データ記憶装置30には、ハードディスクドライブなど複数の記憶装置31(記憶手段)の他に、ジャーナルを格納する揮発性のメモリ32を備えている。以下、各構成について説明してください。
まず、上記データ処理装置20の基本的な構成、つまり、フラグメント生成部21と分散記憶制御部22とによる分散記憶機能について、図9を参照して説明する。
フラグメント生成部21は、まず、バックアップ対象データAの入力を受けると、当該バックアップ対象データAを、所定容量(例えば、64KB)のブロックデータDに分割する。そして、さらに、ブロックデータDを複数の所定の容量のフラグメントデータに分割する。例えば、符号D1〜D9に示すように、9つのフラグメントデータ(分割データ41)に分割する。さらに、分割したフラグメントデータのうちいくつかが欠けた場合であっても、元となるブロックデータを復元可能なよう冗長データを生成し、上記分割したフラグメントデータ41に追加する。例えば、符号D10〜D12に示すように、3つのフラグメントデータ(冗長データ42)を付加する。これにより、9つの分割データ41と、3つの冗長データとにより構成される12個のフラグメントデータからなるデータセット40を生成する。
そして、分散記憶制御部22(分散記憶制御手段)は、上述したように生成されたデータセットを構成する各フラグメントデータを、各記憶装置31に形成された各記憶領域に、それぞれ分散して格納する。例えば、12個のフラグメントデータD1〜D12を生成した場合には、12個の記憶装置31にそれぞれ形成したデータ格納ファイルF1〜F12に、各フラグメントデータD1〜D12を1つずつそれぞれ格納する。
また、本実施形態における分散記憶制御部22は、さらに、ストレージシステム内におけるデータ処理状況、例えば、データ格納処理状況やデータ削除処理状況などの記録を表すジャーナルを、記憶装置31に格納する機能を有する。このとき、分散記憶制御部22は、記憶先設定部24によって設定された各記憶装置31に対して、それぞれジャーナルとフラグメントデータとを記憶する。つまり、ジャーナル用記憶装置として設定された記憶装置31にジャーナルを記憶し、フラグメント用記憶装置として設定された記憶装置に各フラグメントデータを記憶する。
次に、記憶先設定部24(記憶先設定手段)について説明する。記憶先設定部24は、上述したように、分散記憶制御部22にて記憶されるジャーナルやフラグメントデータの記憶先となる記憶装置31を設定する機能を有する。
ここで、本実施形態では、図10に示すように、記憶装置31として、n+1台のディスク(0〜n)を備えていることとする。そして、これらディスクのうち、ディスク0とディスク1には、二重化されたOS(Operating System)領域52を備えている。また、本実施形態では、全てのディスク0〜nに、ジャーナルを記憶するジャーナル記憶領域51と、フラグメントデータを記憶するデータ領域53と、を形成している。つまり、OS領域52を備えるディスク0,1及び他のディスク2〜nの全てに、ジャーナル記憶領域51とデータ領域53とが形成されている。
上述した状況において、記憶先設定部24は、1つのディスクをジャーナル用記憶装置として設定すると共に、このジャーナル用記憶装置として設定したディスクとは異なる他の全てのディスクを、フラグメント用記憶装置として設定する。具体的に、記憶先設定部24は、まず、初期状態では、データ領域53の空き容量が最も少ないディスクを、ジャーナル用記憶装置として設定する。このとき、空き容量が最も少ないディスクが複数存在する場合には、そのうち任意の1つのディスクをジャーナル用記憶装置として記憶する。なお、空き容量が最も少ないディスクをジャーナル用記憶装置として設定する理由は、ジャーナルのデータ量が比較的少ないためである。そして、その他のディスクを、フラグメント用記憶装置として設定する。
なお、記憶先設定部24は、上述したように各ディスクを設定すると、データ記憶装置30内に形成された図11に示すようなディスク利用情報テーブルに、ディスク番号毎に、記憶するデータと、データ領域の空き容量と、を記憶する。例えば、ディスク2をジャーナル用記憶装置として設定した場合には、ディスク2に、「ジャーナル書き込み用」という情報を記憶し、その他のフラグメント用記憶装置として設定されたディスクに対しては、「データ書き込み用」という情報を記憶する。また、データ処理装置20は、一定の時間間隔にて、常に各ディスクのデータ領域53の空き容量を調べ、当該各ディスクに対応して上記テーブルに記憶しておく(D0〜Dn)。
そして、上述したように、分散記憶制御部22にて、各ディスクにジャーナルやフラグメントデータが分散記憶されるが、当該各ディスクの空き容量が変化する。この空き容量の変化に応じて、上記記憶先設定部24は、ジャーナル用記憶装置としてのディスクを変更して設定する。具体的には、上述したように常に更新されているディスク利用情報テーブル内のデータ領域の空き容量に基づいて、
{(ジャーナル用記憶装置として設定されたディスクのデータ領域の空き容量)−(他のディスクのうち最も空き容量の少ないディスクのデータ領域の空き容量)}>α(α:予め設定された値)
を満たすかどうかを、一定の時間間隔で常に調べる。そして、上記条件を満たしたタイミングで、そのときにデータ領域53の空き容量が最も少ないディスクを、新たなジャーナル用記憶装置として変更設定する。つまり、フラグメント用記憶装置のディスクの空き容量が小さくなると、上記条件式を満たすこととなり、そのタイミングで、当該空き容量の最も小さいディスクを、データ量の少ないジャーナルを記憶するジャーナル用記憶装置として変更設定する。
以上のようにして、記憶先設定部24は、全てのディスクが、順次、ジャーナル用記憶装置として設定されるよう、変更設定を行う。なお、記憶先設定部24は、必ずしも全てのディスクがジャーナル用記憶装置として設定されるよう変更する必要はない。また、ジャーナル用記憶装置を変更するタイミングは、上述した条件を満たすときに限定されない。例えば、ジャーナル用記憶装置として設定されたディスクのデータ領域の空き容量と、他のディスクの空き容量と、に基づく他の条件式を満たしたタイミングで、ジャーナル用記憶装置の変更設定を行ってもよい。
また、上記ジャーナル記憶制御部23(ジャーナル記憶制御手段)は、上述したように、分散記憶制御部22にてジャーナル用記憶装置として設定されたディスクに記憶するジャーナルを、別途、メモリ32にも記憶保持するよう制御する。そして、ジャーナル記憶制御部23は、上述したように記憶先設定部24にて新たにジャーナル用記憶装置としてのディスクが設定されると、当該新たなジャーナル用記憶装置としてのディスクに、メモリ32内に保持されているジャーナルを書き出す。
さらに、ジャーナル記憶制御部23は、ストレージシステム10の作動状況に応じて、例えば、記憶装置31に障害が発生するなど、ストレージシステム10の障害発生時に、メモリ32に記憶しているジャーナルを、ディスクに書き出す。このとき、特に、ジャーナル用記憶装置として設定されているディスクとは異なり、フラグメント用記憶装置として設定されている他のディスクにジャーナルを記憶する。
[動作]
次に、上述した構成のストレージシステム1の動作(データ処理工程)を、図12乃至図15を参照して説明する。まず、初期状態では、データ領域の空き容量が最も少ないディスクを、ジャーナル用記憶装置に設定する(図14のステップS1)。そして、設定状況を、ディスク利用情報テーブルに記憶する。また、このテーブルを参照して、ジャーナル用記憶装置以外のフラグメント用記憶装置として設定されたディスク上に、データファイルを作成し、フラグメントデータを記憶する領域を確保する(図14のステップS2)。
その後、上述したディスクの設定に基づいて、記憶対象データの分割データ及び冗長データであるフラグメントデータと、ジャーナルと、をそれぞれ各ディスクに記憶していく。例えば、ディスク2がジャーナル用記憶装置として設定されている場合には、図12(A)に示すように、ジャーナルをメモリ32を介してディスク2に記憶し、また、フラグメントデータを、その他のディスクに分散して記憶する。なお、メモリ32は、ジャーナルを保持したままである。
ここで、ジャーナルの記憶処理について、さらに図13を参照して説明する。なお、図13は、データ処理装置20内に構築されたジャーナルを記憶する処理に関連する機能を図示したものである。この図に示すように、ジャーナルは、まず、メモリ32に保持され、当該メモリ32には、常に保持される。そして、ジャーナル書き込み器41が、ジャーナル用ディスク切り替え器42にてジャーナル用記憶装置として切り替えられたディスクに、メモリ32に記憶されたジャーナルを記憶する。
続いて、上述したように、ジャーナルとフラグメントデータが各ディスクに分散記憶されている間は、常に各ディスクのデータ領域53の空き容量を更新する(図14のステップS3、図13の空き容量監視器)。そして、上述した条件、つまり、
{(ジャーナル用記憶装置として設定されたディスクのデータ領域の空き容量)−(他のディスクのうち最も空き容量の少ないディスクのデータ領域の空き容量)}>α(α:予め設定された値)
を満たすと(図14のステップS4でYes)、そのときにデータ領域53の空き容量が最も少ないディスクを、新たなジャーナル用記憶装置として変更設定し(図14のステップ5)、ディスクの設定状況をディスク利用情報テーブルに記憶する(記憶先設定工程)。なお、空き容量が最も少ないディスクが複数存在する場合には、そのうち任意の1つのディスクをジャーナル用記憶装置として記憶する。
続いて、新たにジャーナル用記憶装置として設定されたディスク上のデータファイル、つまり、フラグメント用の領域が全て閉じられる(クローズされる)のを待つ(図14のステップS6)。そして、新たにジャーナル用記憶装置として設定されたディスクのデータファイルが全て閉じられた直後に、当該ディスクのジャーナル用記憶装置としての利用を開始する(図14のステップS7)。このとき、まず、メモリ32に保持されているジャーナルを、新たなジャーナル記憶装置のディスクに書き出す(図14のステップS8)。なお、このとき、メモリ32内にもジャーナルを保持しておく。これにより、ジャーナルの移動中にクラッシュなどの障害が発生した場合であっても、ディスク内のジャーナルとメモリ内のジャーナルとを用いて、リカバリすることができる。
その後は、上述同様に、ジャーナル用記憶装置以外のフラグメント用記憶装置として設定されたディスク上に、データファイルを作成し、フラグメントデータを記憶する領域を確保する(図14のステップS2)。そして、上記テーブルの設定に基づいて、記憶対象データの分割データ及び冗長データであるフラグメントデータと、ジャーナルと、をそれぞれ各ディスクに記憶していく(分散記憶制御工程)。例えば、図12(A)の状態から、ディスク0が新たなジャーナル用記憶装置として設定された場合には、図12(B)に示すように、ジャーナルをメモリ32を介してディスク0に記憶し、また、フラグメントデータを、その他のディスクに分散して記憶する。なお、メモリ32は、ジャーナルを保持したままである。
続いて、ストレージシステムに障害が発生した時の動作を、図15を参照して説明する。まず、サーバのシャットダウンやディスク障害を含む「Expected Error」などのイベンの発生を契機に、ストレージシステム1に障害が発生したことを検出する。なお、かかる障害の検出は、例えば、図13に示す、シャットダウン検出器46、ディスク障害検出器47、エラー検出器48にて行う(図15のステップS11)。
そして、上述したようなストレージシステム1の障害を検出すると、ジャーナル書き込み処理及びジャーナル用ディスクの切り替え処理を停止する(図15のステップS12)。その後、メモリ32内のジャーナルを、ディスクに書き出す処理を行う。具体的には、ジャーナル用記憶装置として設定されたディスク以外の他の全てのディスクであって、かつ、正常動作中のディスクに対して、メモリ32に保持されているジャーナルを書き出す(図15のステップS13でNo、ステップS14でYes、ステップS15)。なお、図13において、ジャーナルレプリケート器45にて、上記ジャーナルの書き出し処理が実行される。
そして、書き込みの対象となった全てのディスクに対して、ジャーナルの書き出し処理が完了すると(図15のステップ13でYes)、ストレージ・サービスの停止あるいはストレージシステムのシャットダウン継続命令を出す。
以上のように、本実施形態におけるストレージシステム1によると、ジャーナルが特定のディスクに固定的に記憶されることなく、また、ディスクに障害が発生した場合であっても、フラグメントデータとジャーナルとが同時に消失することを抑制できる。特に、ジャーナルとフラグメントデータが1つのディスクに同時に記憶されることがないため、ディスクに対するデータの書き込み処理の競合を抑制することができる。その結果、記憶するデータの冗長性の向上を図りつつ、書き込み性能の向上を図ることができる。そして、ャーナルを格納するディスクを順次変更設定することで、比較的、小さいデータ容量であるジャーナルを効率的に記憶することができる。
また、ジャーナルをディスクに記憶すると共に、メモリにも保持しているため、冗長性が確保される。さらに、ストレージシステムの障害時などに、ジャーナルをいずれかのディスクに記憶させることで、さらなる冗長性の向上を図ることができる。
本発明は、複数のコンピュータを接続して構成されるストレージシステムに利用することができ、産業上の利用可能性を有する。
1 ストレージシステム
2 データ処理手段
3 記憶先設定手段
4 分散記憶制御手段
5 記憶手段
10 ストレージシステム
10A アクセラレータノード
10B ストレージノード
11 バックアップシステム
12 バックアップ装置
21 フラグメント生成部
22 分散記憶制御部
23 ジャーナル記憶制御部
24 記憶先設定部
31 記憶装置
32 メモリ

Claims (9)

  1. 複数の記憶手段と、これら複数の記憶手段に対してデータを記憶するデータ処理手段と、を備え、
    前記データ処理手段は、
    前記複数の記憶手段のうち、ストレージシステムにおけるデータ処理状況を表すジャーナルを記憶するジャーナル用記憶手段を設定すると共に、当該設定されたジャーナル用記憶手段とは異なる他の複数の前記記憶手段を、記憶対象データを形成する複数のフラグメントデータをそれぞれ分散して記憶するフラグメント用記憶手段としてそれぞれ設定する記憶先設定手段と、
    前記記憶先設定手段にて前記ジャーナル用記憶手段として設定した前記記憶手段に前記ジャーナルを記憶すると共に、前記フラグメント用記憶手段として設定した複数の前記記憶手段に前記複数のフラグメントデータを分散してそれぞれ記憶する分散記憶制御手段と、を備え、
    前記記憶先設定手段は、
    前記ジャーナル用記憶手段を順次異なる前記記憶手段に変更して設定すると共に、
    {(前記ジャーナル用記憶手段として設定された記憶手段の空き容量)−(他の記憶手段のうち最も空き容量の少ない記憶手段の空き容量)}>α(α:予め設定された値)
    を満たすタイミングで、前記ジャーナル用記憶手段を変更して設定する、
    ストレージシステム。
  2. 請求項1に記載のストレージシステムであって、
    前記記憶先設定手段は、全ての前記記憶手段を変更対象として、前記ジャーナル用記憶手段を順次変更して設定する、
    ストレージシステム。
  3. 請求項1又は2に記載のストレージシステムであって、
    前記記憶先設定手段は、空き容量が最も少ない前記記憶手段を、前記ジャーナル用記憶手段として設定する、
    ストレージシステム。
  4. 請求項1乃至のいずれか一項に記載のストレージシステムであって、
    前記分散記憶制御手段にて前記ジャーナルを前記記憶手段に記憶すると共に、当該ジャーナルをストレージシステムに装備された揮発性メモリにも記憶するジャーナル記憶制御手段を備えた、
    ストレージシステム。
  5. 請求項4に記載のストレージシステムであって、
    前記ジャーナル記憶制御手段は、前記記憶先設定手段にて前記ジャーナル用記憶手段を変更設定したときに、前記揮発性メモリに記憶されているジャーナルを、前記ジャーナル用記憶手段として新たに変更設定された前記記憶手段に記憶する、
    ストレージシステム。
  6. 請求項又は5に記載のストレージシステムであって、
    前記ジャーナル記憶制御手段は、ストレージシステムの障害発生時に、前記揮発性メモリに記憶しているジャーナルを、前記フラグメント用記憶手段として設定されている前記記憶手段に書き出して記憶する、
    ストレージシステム。
  7. 請求項6に記載のストレージシステムであって、
    全ての前記記憶手段に、ジャーナルを記憶するジャーナル記憶領域を形成し、
    前記ジャーナル記憶制御手段は、前記ストレージシステムの障害発生時に、前記揮発性メモリに記憶しているジャーナルを前記フラグメント用記憶手段として設定されている全ての前記記憶手段にそれぞれ記憶する、
    ストレージシステム。
  8. 複数の記憶手段を備えた情報処理装置に、
    前記複数の記憶手段に対してデータを記憶するデータ処理手段を実現させると共に、
    前記データ処理手段は、
    前記複数の記憶手段のうち、情報処理装置におけるデータ処理状況を表すジャーナルを記憶するジャーナル用記憶手段を設定すると共に、当該設定されたジャーナル用記憶手段とは異なる他の複数の前記記憶手段を、記憶対象データを形成する複数のフラグメントデータをそれぞれ分散して記憶するフラグメント用記憶手段としてそれぞれ設定する記憶先設定手段と、
    前記記憶先設定手段にて前記ジャーナル用記憶手段として設定した前記記憶手段に前記ジャーナルを記憶すると共に、前記フラグメント用記憶手段として設定した複数の前記記憶手段に前記複数のフラグメントデータを分散してそれぞれ記憶する分散記憶制御手段と、を備え、
    前記記憶先設定手段は、
    前記ジャーナル用記憶手段を順次異なる前記記憶手段に変更して設定すると共に、
    {(前記ジャーナル用記憶手段として設定された記憶手段の空き容量)−(他の記憶手段のうち最も空き容量の少ない記憶手段の空き容量)}>α(α:予め設定された値)
    を満たすタイミングで、前記ジャーナル用記憶手段を変更して設定する、
    プログラム。
  9. 複数の記憶手段を備えたストレージシステムにて、
    前記複数の記憶手段に対してデータを記憶するデータ処理工程を有し、
    前記データ処理工程は、
    前記複数の記憶手段のうち、ストレージシステムにおけるデータ処理状況を表すジャーナルを記憶するジャーナル用記憶手段を設定すると共に、当該設定されたジャーナル用記憶手段とは異なる他の複数の前記記憶手段を、記憶対象データを形成する複数のフラグメントデータをそれぞれ分散して記憶するフラグメント用記憶手段としてそれぞれ設定する記憶先設定工程と、
    前記記憶先設定工程にて前記ジャーナル用記憶手段として設定した前記記憶手段に前記ジャーナルを記憶すると共に、前記フラグメント用記憶手段として設定した複数の前記記憶手段に前記複数のフラグメントデータを分散してそれぞれ記憶する分散記憶制御工程と、を有し、
    前記記憶先設定工程は、
    前記ジャーナル用記憶手段を順次異なる前記記憶手段に変更して設定すると共に、
    {(前記ジャーナル用記憶手段として設定された記憶手段の空き容量)−(他の記憶手段のうち最も空き容量の少ない記憶手段の空き容量)}>α(α:予め設定された値)
    を満たすタイミングで、前記ジャーナル用記憶手段を変更して設定する、
    データ処理方法。
JP2009032335A 2009-02-16 2009-02-16 ストレージシステム Active JP5365236B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2009032335A JP5365236B2 (ja) 2009-02-16 2009-02-16 ストレージシステム
US13/147,670 US8555007B2 (en) 2009-02-16 2009-08-20 Storage system with journal disks dynamically assigned
PCT/JP2009/003963 WO2010092634A1 (ja) 2009-02-16 2009-08-20 ストレージシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009032335A JP5365236B2 (ja) 2009-02-16 2009-02-16 ストレージシステム

Publications (2)

Publication Number Publication Date
JP2010191499A JP2010191499A (ja) 2010-09-02
JP5365236B2 true JP5365236B2 (ja) 2013-12-11

Family

ID=42561488

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009032335A Active JP5365236B2 (ja) 2009-02-16 2009-02-16 ストレージシステム

Country Status (3)

Country Link
US (1) US8555007B2 (ja)
JP (1) JP5365236B2 (ja)
WO (1) WO2010092634A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6078984B2 (ja) * 2012-05-23 2017-02-15 富士通株式会社 処理装置,処理方法,処理プログラム及び管理装置
ES2676057T3 (es) 2013-10-18 2018-07-16 Huawei Technologies Co., Ltd. Método de memorización de datos, aparato de memorización de datos y dispositivo de memorización
JP6376626B2 (ja) * 2017-06-30 2018-08-22 ▲ホア▼▲ウェイ▼技術有限公司Huawei Technologies Co.,Ltd. データ格納方法、データストレージ装置、及びストレージデバイス
US10936446B2 (en) * 2018-02-05 2021-03-02 Vmware, Inc. Efficient handling of block write atomicity

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0254346A (ja) 1988-08-18 1990-02-23 Fujitsu Ltd ファイル切替処理方法
US5787242A (en) * 1995-12-29 1998-07-28 Symbios Logic Inc. Method and apparatus for treatment of deferred write data for a dead raid device
JP2817705B2 (ja) * 1996-04-08 1998-10-30 日本電気株式会社 更新後ジャーナル採取方式
US5778393A (en) * 1996-05-20 1998-07-07 International Business Machines Corporation Adaptive multitasking for dataset storage
JPH1153235A (ja) * 1997-08-08 1999-02-26 Toshiba Corp ディスク記憶装置のデータ更新方法、ならびにディスク記憶制御システム
JP2001184176A (ja) * 1999-12-27 2001-07-06 Toshiba Corp ディスク制御装置
JP4165747B2 (ja) * 2003-03-20 2008-10-15 株式会社日立製作所 記憶システム、制御装置及び制御装置のプログラム
US7444389B2 (en) 2003-12-09 2008-10-28 Emc Corporation Methods and apparatus for generating a content address to indicate data units written to a storage system proximate in time
US7062628B2 (en) * 2004-09-28 2006-06-13 Hitachi, Ltd. Method and apparatus for storage pooling and provisioning for journal based storage and recovery
JP2007286860A (ja) * 2006-04-17 2007-11-01 Hitachi Ltd データ転送方法及び情報処理装置
US7685378B2 (en) * 2007-02-15 2010-03-23 Hitachi, Ltd. Methods and apparatus for adjusting a journal area for continuous data protection

Also Published As

Publication number Publication date
WO2010092634A1 (ja) 2010-08-19
US20110296126A1 (en) 2011-12-01
US8555007B2 (en) 2013-10-08
JP2010191499A (ja) 2010-09-02

Similar Documents

Publication Publication Date Title
EP2400382B1 (en) Storage system
JP4815825B2 (ja) ディスクアレイ装置及びその再構築方法
US7529965B2 (en) Program, storage control method, and storage system
KR100275900B1 (ko) 알에이아이디 서브시스템에 있어서 분할패러티 예비 디스크 구현방법
JP5285610B2 (ja) グローバルホットスペアディスクが存在するときに、故障したドライブを復元、及びコピーバックする最適化された方法
TWI450087B (zh) 複數個磁碟陣列系統之資料儲存方法及資料儲存系統
WO2017119091A1 (ja) 分散型ストレージシステム、データ格納方法、およびソフトウェアプログラム
CN102033786B (zh) 一种对象存储系统中修复副本一致性的方法
US9081697B2 (en) Storage control apparatus and storage control method
WO2012075845A1 (zh) 分布式文件系统
JP2007334593A (ja) Raidコントローラおよびraid装置
US20140089580A1 (en) Handling enclosure unavailability in a storage system
CN114415976A (zh) 一种分布式数据存储系统与方法
EP0657801A1 (en) System and method for supporting reproduction of full motion video on a plurality of playback platforms
JP2006331076A (ja) データ記憶システム及び記憶方法
JP5365236B2 (ja) ストレージシステム
JP2005309818A (ja) ストレージ装置、そのデータ読出方法、及びそのデータ読出プログラム
JP2006268420A (ja) ディスクアレイ装置、ストレージシステムおよび制御方法
JP5556192B2 (ja) ストレージシステム
JPH07261945A (ja) ディスクアレイ装置およびディスクアレイの区分け方法
JP6269120B2 (ja) ストレージシステム
US20190354433A1 (en) Parity log with by-pass
KR20030073982A (ko) 레이드 서브 시스템에서 중복 데이터의 일관성 유지 방법
JP2002278706A (ja) ディスクアレイ装置
JP6175771B2 (ja) ディスクアレイ装置、バッドセクタ修復方法および修復プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111208

RD07 Notification of extinguishment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7427

Effective date: 20120712

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130521

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130702

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130813

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130826

R150 Certificate of patent or registration of utility model

Ref document number: 5365236

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350