(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0020】
初めに、
図1を用いて一実施形態の概要について説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、この概要の記載はなんらの限定を意図するものではない。
【0021】
上述の通り、データへのアクセスの利便性を確保することに貢献するストレージシステムが望まれる。
【0022】
そこで、一例として、
図1に示すストレージシステム100を提供する。ストレージシステム100は、2以上のストレージ装置と、管理装置101と、を含む。特に、ストレージシステム100は、複製元のデータ(以下、元データと呼ぶ)を格納する第1のストレージ装置102と、複製データを格納する第2のストレージ装置103と、を含む。そして、管理装置101は、第1のストレージ装置102、及び第2のストレージ装置103を特定する。
【0023】
各ストレージ装置は、2以上のデータ格納部111と、データ複製制御部112と、データ格納先制御部114と、を備える。
【0024】
データ格納部111は、データを格納し、夫々、アクセス性能が異なる。データ複製制御部112は、複製データの作成を制御する。アクセス頻度制御部113は、複製データに対するアクセス頻度を、元データに対するアクセス頻度に擬似的に統一させる。データ格納先制御部114は、アクセス頻度、及びアクセス性能に基づいて、元データ、及び複製データの格納先を決定する。具体的には、データ格納先制御部114は、各データに対するアクセス頻度に応じて、適切なアクセス性能のデータ格納部111を、データの格納先として決定する。例えば、データ格納先制御部114は、アクセス頻度が高いデータほど、アクセス性能の高いデータ格納部111に格納するように、データの格納先を決定しても良い。
【0025】
ここで、データ複製制御部112は、元データの代替データとして用いるために、複製データを作成する。そのため、ユーザは、第1のストレージ装置102に障害が発生しない限り、複製データに対するアクセスする必要はない。しかし、第2のストレージ装置103のアクセス頻度制御部113は、元データにアクセスが行われた際、複製データにアクセスが行われていない場合であっても、擬似的に複製データに対するアクセス頻度を増加させる。
【0026】
そのため、第2のストレージ装置103のデータ格納先制御部114は、元データの格納先を決定する基準と同等の基準で、複製データの格納先を決定できる。その結果、ストレージシステム100は、元データの格納先のアクセス性能と、複製データの格納先のアクセス性能の均衡を保つことができる。
【0027】
よって、ストレージシステム100においては、第1のストレージ装置102に障害が発生し、複製データにユーザがアクセスした場合であっても、データへのアクセス性能が低下することを抑制できる。従って、ストレージシステム100は、データへのアクセスの利便性を確保することに貢献する。
【0028】
以下に具体的な実施の形態について、図面を参照してさらに詳しく説明する。なお、以下の説明において、元データと、複製データを対にして説明する場合、複製データとは、対応する元データを複製したデータであるとする。
【0029】
[第1の実施形態]
第1の実施形態について、図面を用いてより詳細に説明する。
【0030】
図2は、本実施形態に係るストレージシステム1の全体構成の一例を示す図である。ストレージシステム1は、管理装置2と、2以上のストレージ装置3を含むストレージ装置群31と、1又は2以上のクライアントコンピュータ4と、を含んで構成される。ストレージ装置3と、管理装置2と、クライアントコンピュータ4と、はネットワーク5を介して相互に通信可能である。なお、以下の説明では、元データを格納するストレージ装置(上記の第1のストレージ装置102に相当)3を、元データストレージ装置32と呼ぶ。さらに、以下の説明では、複製データを格納するストレージ装置(上記の第2のストレージ装置103に相当)3を、複製データストレージ装置33と呼ぶ。
【0031】
管理装置2は、ストレージ装置3の稼動状態を監視する。さらに、管理装置2は、予め定めたルール(以下、ストレージ装置管理ルールと呼ぶ)に基づいて、元データストレージ装置32と、複製データストレージ装置33と、を特定する。なお、ストレージ装置管理ルールの詳細については、後述する。
【0032】
ストレージ装置3は、データを記憶、格納する。具体的には、元データストレージ装置32は、クライアントコンピュータ4の要求に応じて、データの書き込み、及び読み出しを行う。複製データストレージ装置33は、元データの複製データを記憶、格納する。
【0033】
クライアントコンピュータ4は、ストレージ装置3に、データの書き込み要求、及びデータの読み出し要求を送信する。そして、クライアントコンピュータ4は、ストレージ装置3に格納されているデータにアクセスする。
【0034】
ネットワーク5は、FCP(Fibre Channel Protocol)、FCoE(Fibre Channel overEthernet(登録商標))、Infini Band、Ethernet上のTCP/IPのようなプロトコルによって、実現しうる。ただし、ネットワーク5の実現方法は、これらに限定されない。
【0035】
次に、管理装置2の内部構成について説明する。
【0036】
図3は、管理装置2の内部構成の一例を示すブロック図である。管理装置2は、管理装置記憶部210と、管理装置制御部220と、を含んで構成される。
図3には、簡単のため、本実施形態に係る管理装置2に関係するモジュールを主に記載する。
【0037】
管理装置記憶部210は、管理装置2の動作に必要な情報を記憶する。例えば、管理装置記憶部210は、ストレージ装置管理ルールを記憶する。
【0038】
ここで、ストレージ装置管理ルールとは、データIDと、元データ格納先情報と、複製データ格納先情報と、を対応付けた情報である。ストレージ装置管理ルールは、データIDと、元データ格納先情報と、複製データ格納先情報と、を対応付けたテーブルであっても良い。
【0039】
データIDとは、データ毎に割り当てられた番号等を意味する。また、元データ格納先情報とは、元データの格納先のストレージ装置3を特定するための情報を意味する。また、複製データ格納先情報とは、複製データの格納先のストレージ装置3を特定するための情報を意味する。元データ格納先情報、及び複製データ格納先情報は、ストレージ装置3毎に割り当てられたアドレスであっても良い。
【0040】
また、複製データ格納先情報は、複製データ毎の優先順位(以下、データ順位と呼ぶ)を含んでいてもよい。その場合、ストレージ装置3は、データ順位が高いほど、アクセス性能が高いデバイスに、データを格納することが好ましい。
【0041】
なお、アクセス性能とは、データ読み書きに関する性能を評価する指標を意味する。例えば、1秒間に可能な読み書きの回数を示すIOPS(Input Output Per Second)、1秒間に処理可能な容量を示すスループット、応答時間等に基づいて、アクセス性能を評価しても良い。アクセス性能の評価方法は各種あるが、その詳細は問わない。
【0042】
管理装置制御部220は、ストレージ装置管理ルールに基づいて、元データの格納先、及び複製データの格納先を特定する。そして、管理装置制御部220は、ストレージ装置管理ルールをストレージ装置3、及びクライアントコンピュータに通知する。
【0043】
さらに、管理装置制御部220は、ストレージ装置3の稼動状態を監視する。具体的には、管理装置制御部220は、ストレージ装置3との通信の可否に基づいて、ストレージ装置3に関する障害の有無を判断する。管理装置制御部220は、ストレージ装置3に障害が発生したと判断した場合、そのストレージ装置3をストレージシステム1から隔離する。具体的には、管理装置制御部220は、障害が発生したストレージ装置3を、元データ格納先情報、及び複製データ格納先情報から除外するように、ストレージ装置管理ルールを変更する。ストレージ装置3に障害が発生した場合の処理の詳細は、後述する。
【0044】
次に、ストレージ装置3の内部構成について説明する。
【0045】
図4は、ストレージ装置3の内部構成の一例を示すブロック図である。ストレージ装置3は、ストレージ装置記憶部310と、2以上のデータ格納部320と、ストレージ装置管理部330と、を含んで構成される。ストレージ装置管理部330は、アクセス頻度制御部331と、データ複製制御部332と、データ順位制御部333と、データ格納先制御部334と、を含んで構成される。
図4には、簡単のため、本実施形態に係るストレージ装置3に関係するモジュールを主に記載する。
【0046】
ストレージ装置記憶部310は、ストレージ装置3を動作させるために必要な情報を記憶する。例えば、管理装置2がストレージ装置3にストレージ装置管理ルールを通知した場合、ストレージ装置記憶部310は、通知されたストレージ装置管理ルールを記憶する。
【0047】
また、ストレージ装置記憶部310は、データIDと、データ順位と、データ格納先特定情報と、を対応付けた格納先管理テーブルを記憶する。データ格納先特定情報とは、ストレージ装置3の内部で、データの格納先を特定する情報を意味する。具体的には、ストレージ装置記憶部は、データ格納部320を特定する情報(以下、データ格納部特定情報と呼ぶ)と、データ格納部320内部で、データを格納するアドレス(以下、データ格納先アドレスと呼ぶ)と、を含むことが好ましい。
【0048】
例えば、データ格納部320は、HDD、SSD、DRAM、ReRAM(Resistance Random Access Memory)、PRAM(Phase change Random Access Memory)等であっても良い。そして、以下のように、ストレージ装置3は、アクセス性能が第1段階>第2段階>第3段階となる、3種類のデータ格納部320を含んでも良い。なお、以下の例示はデータ格納部320の構成を以下の例示に限定する趣旨ではない。また、データ格納部320の種類は各種あるが、その詳細は問わない。
第1段階:DRAM等の揮発性のあるデバイス、又は、DRAMより低速度であるが不揮発性を持った、ReRAM、PRAM
第2段階:フラッシュメモリを搭載したSSD
第3段階:HDD
【0049】
ストレージ装置管理部330は、ストレージ装置3内部のデータの格納先の管理を行う。さらに、ストレージ装置管理部330は、クライアントコンピュータ4からのデータのアクセス要求等に応答する。
【0050】
アクセス頻度制御部331は、ストレージ装置3のアクセス数、及びアクセス頻度を制御する。具体的には、アクセス頻度制御部331は、データの読み出し要求、更新要求を受信した場合、アクセス数を増加(インクリメント)させる。さらに、アクセス頻度制御部331は、所定時間内でのアクセス数に基づいて、アクセス頻度を算出する。
【0051】
具体的には、元データストレージ装置32のアクセス頻度制御部331は、データ読み出し要求を受信した場合、アクセス数を増加(インクリメント)させる。そして、複製データストレージ装置33のアクセス頻度制御部331は、複製データに対するアクセス数が、元データに対するアクセス数と同一となるように、アクセス数を擬似的に増加(インクリメント)させる。つまり、アクセス頻度制御部331は、複製データに対するアクセス頻度を、元データに対するアクセス頻度に擬似的に統一させる。
【0052】
データ複製制御部332は、複製データの作成を制御する。具体的には、元データストレージ装置32のデータ複製制御部332は、ストレージ装置管理ルールに基づいて、複製データストレージ装置33に、元データ、及び複製データの作成要求を送信する。複製データストレージ装置33のデータ複製制御部332は、複製データの作成要求を受信した場合、複製データを作成する。
【0053】
データ順位制御部333は、複製データ毎のデータ順位を決定する。ここで、データ順位とは、元データの代替データとなる優先順位を意味する。例えば、元データにアクセスできない場合に、データ順位が1位の複製データは、元データの代替データとして選択される。さらに、元データ、及びデータ順位が1位の複製データにアクセスできない場合には、データ順位が2位の複製データが、元データの代替データとして選択される。
【0054】
データ格納先制御部334は、元データ、又は複製データの格納先を決定する。具体的には、データ格納先制御部334は、格納先管理テーブルを制御する。そして、データ格納先制御部334は、データ格納部320のアクセス性能、アクセス頻度、データ順位に基づいて、データの格納先を決定する。例えば、データ順位が2位の複製データは、データ順位が1位の複製データより、アクセスされる可能性が低い。そのため、データ格納先制御部334は、データ順位が2位の複製データを、データ順位が1位の複製データより、アクセス性能が低いデータ格納部320に格納しても良い。
【0055】
図5は、ストレージ装置管理ルールの一例を示す図である。
図5に示すストレージ装置管理ルールは、データID「10001」、「10002」のデータに関するルールである。具体的には、
図5に示すストレージ装置管理ルールは、データIDと、元データ格納先情報と、複製データ格納先情報と、の対応関係を示す。
図5に示すオリジナルデータ格納先情報は、ストレージ装置のIPアドレスである。また、
図5に示す複製データ格納先情報は、データ順位と、ストレージ装置のIPアドレスと、の組である。
【0056】
例えば、
図5に示すストレージ装置管理ルールは、データID「10001」のデータの場合、元データをアドレス「192.168.10.10」に格納することを示す。さらに、
図5に示すストレージ装置管理ルールは、データID「10001」のデータについて、データ順位「1位」、「2位」の2つの複製データを、夫々、アドレス「192.168.10.20」、「192.168.10.30」のストレージ装置3において、作成することを示す。
図5に示すように、管理装置制御部220は、元データ、及び各複製データを、異なるストレージ装置3に格納するように、ストレージ装置管理ルールを決定することが好ましい。
【0057】
図6は、格納先管理テーブルの一例を示す図である。
図6に示す格納先管理テーブルは、データID「10001」、「20001」のデータの格納先を示す。具体的には、
図6に示す格納先管理テーブルは、データIDと、データ順位と、データ格納部特定情報と、データ格納先アドレスと、の対応関係を示す。
【0058】
例えば、
図6に示す格納先管理テーブルは、データID「10001」、かつ元データの場合、「memory_device_1」のデータ格納部320のアドレス「0x00001000」に、データが格納されることを示す。また、データID「20001」、かつデータ順位が1位のデータの場合、「memory_device_2」のデータ格納部320のアドレス「0x00002000」に、データが格納されることを示す。
【0059】
データ格納部320は、データを格納する。そして、ストレージ装置3は、1又は2以上のデータ格納部320を含む。ストレージ装置3が、2以上のデータ格納部320を備える場合、各データ格納部320は、夫々、アクセス性能が異なることが好ましい。
【0060】
次に、ストレージシステム1の動作について説明する。
【0061】
まず、ストレージ装置3にデータを格納する処理について説明する。
【0062】
図7は、ストレージ装置3にデータを格納する処理の一例を示すフローチャートである。
【0063】
ステップS1において、クライアントコンピュータ4は、ストレージ装置管理ルールに基づいて、元データストレージ装置32を特定する。そして、ステップS2において、クライアントコンピュータ4は、特定された元データストレージ装置32に、格納対象のデータの格納要求を送信する。
【0064】
ストレージ装置管理部330は、格納対象のデータ、及びデータの格納要求を、クライアントコンピュータ4から受信した場合、受信した格納対象のデータを元データとして格納する(ステップS3)。そして、ステップS4に遷移する。
【0065】
ここで、格納対象データが新規のデータIDのデータである場合、予め、格納先制御部334は、格納先となるデータ格納部320を決定しておいても良い。あるいは、格納対象データが新規のデータIDのデータである場合、格納先制御部334は、データ格納部320の容量、アクセス性能に基づいて、格納先となるデータ格納部320を決定しても良い。
【0066】
ステップS4において、データ順位制御部333は、アクセス頻度、アクセス性能、及びデータ順位に基づいて、複製データの格納先を決定する。そして、ステップS5に遷移する。ここで、格納対象データが新規のデータIDのデータである場合、データ順位制御部333は、データID、決定した複製データの格納先等を格納先管理テーブルに追加する。一方、格納対象データのデータIDが格納先管理テーブルに登録済みの場合、データ順制御部333は、格納先管理テーブルに基づいて、複製データの格納先を決定する。
【0067】
ステップS5において、ストレージ装置管理部330は、複製データの順位に応じた複製データストレージ装置33に、複製データの作成要求を送信する。その際、ストレージ装置管理部330は、複製データの作成要求と併せて、元データを送信する。
【0068】
複製データストレージ装置33のストレージ装置管理部330が、元データ、及び複製データの作成要求を受信した場合、複製データストレージ装置33のデータ複製制御部332は、複製データを作成する(ステップS6)。そして、データ格納先制御部334は、データ格納部320に複製データを格納する(ステップS7)。ここで、データ格納先制御部334は、ストレージ装置管理ルール、及びデータ格納先テーブルに基づいて、複製データを格納するデータ格納部320を決定する。
【0069】
ステップS8において、複製データストレージ装置33のストレージ装置管理部330は、元データストレージ装置32に、複製データの格納完了通知を送信する。そして、ステップS9において、元データストレージ装置32のストレージ装置管理部330は、複製データの格納完了通知を受信する。そして、ステップS10において、元データストレージ装置32のストレージ装置管理部330は、クライアントコンピュータ4に、データの格納完了通知を送信する。そして、ステップS11において、クライアントコンピュータ4は、データの格納完了通知を受信する。クライアントコンピュータ4は、データの格納完了通知を受信した場合、データの格納処理が終了したと判断する。
【0070】
なお、複製データストレージ装置33のストレージ装置管理部330は、受信した元データを一時的に、いずれかのデータ格納部320に格納し、複製データの格納完了通知を送信しても良い。その後、複製データストレージ装置33のストレージ装置管理部330は、複製データを作成しても良い。そして、データ格納先制御部334は、データ格納部320に複製データを格納しても良い。
【0071】
図8は、ストレージ装置401〜403に、データを格納した場合の一例を示す図である。
図8の場合、ストレージ装置401は、データ格納部421と、データ格納部422と、を備える。また、ストレージ装置402は、データ格納部423と、データ格納部424と、を備える。また、ストレージ装置403は、データ格納部425と、データ格納部426と、を備える。そして、データ格納部421〜426のアクセス性能は、以下の通りであるとする。
p421:データ格納部421のアクセス性能
p422:データ格納部422のアクセス性能
p423:データ格納部423のアクセス性能
p424:データ格納部424のアクセス性能
p425:データ格納部425のアクセス性能
p426:データ格納部426のアクセス性能
【0072】
まず、管理装置2は、ストレージ装置管理ルール411を決定する。そして、管理装置2は、ストレージ装置管理ルール411を、ストレージ装置401〜403に通知する。ここで、ストレージ装置管理ルール411において、元データをストレージ装置401に格納する、と規定されているとする。その場合、管理装置2は、ストレージ装置管理ルールに基づいて、元データ431をストレージ装置401に送信する。そして、ストレージ装置401は、元データ431をデータ格納部421に格納する。
【0073】
さらに、ストレージ装置401は、ストレージ装置管理ルール411に基づいて、複製データA432の作成要求をストレージ装置402に送信する。さらに、ストレージ装置401は、ストレージ装置管理ルール411に基づいて、複製データA432よりデータ順位の低い、複製データB433の作成要求をストレージ装置403に送信する。
【0074】
上述の通り、データ格納部421、データ格納部423、データ格納部424のアクセス性能は、
p421:データ格納部421のアクセス性能
p423:データ格納部423のアクセス性能
p424:データ格納部424のアクセス性能
である。そのため、ストレージ装置402は、作成した複製データA432を、データ格納部423に格納する。
【0075】
また、上述の通り、データ格納部423、データ格納部425、データ格納部426のアクセス性能は、
p423:データ格納部423のアクセス性能
p425:データ格納部425のアクセス性能
p426:データ格納部426のアクセス性能
である。そのため、ストレージ装置403は、複製データA432よりデータ順位の低い、複製データB433を、データ格納部426に格納する。
【0076】
以上のように、本実施形態に係るストレージシステム1においては、データが格納される際には、元データと、その複製データが、夫々、異なるストレージ装置3に格納される。つまり、本実施形態に係るストレージシステム1は、冗長なデータを保有することによって、データ保持の信頼性を向上することができる。
【0077】
また、本実施形態に係るストレージ装置3は、複製データ毎に、順位を決定する。そして、本実施形態に係るストレージ装置3は、複製データ毎の順位に基づいて、複製データの格納先を決定する。その際、本実施形態に係るストレージ装置3は、順位が低い複製データほど、アクセス性能が低いデータ格納部320に格納する。なぜなら、順位が低い複製データほど、クライアントコンピュータ4がアクセスする可能性は低いからである。そのため、本実施形態に係るストレージシステム1においては、クライアントコンピュータ4がアクセスする可能性が低い複製データを、アクセス性能が低いデータ格納部に格納できる。
【0078】
次に、データを読み出す処理について説明する。
【0079】
図9は、データを読み出す処理の一例を示すフローチャートである。
【0080】
ステップS101において、クライアントコンピュータ4は、ストレージ装置管理ルールに基づいて、元データストレージ装置32を特定する。そして、ステップS102において、クライアントコンピュータ4は、元データストレージ装置32に、データの読み出し要求を送信する。
【0081】
元データストレージ装置32は、データの読み出し要求を受信した場合、格納先管理テーブルに基づいて、データ格納部320、及びアドレスを特定する(ステップS103)。そして、ステップS104において、ストレージ装置管理部330は、データの読み出し処理を実行する。
【0082】
ステップS105において、アクセス頻度制御部331は、アクセス数を増加させ、アクセス頻度を更新する。そして、ステップS106において、ストレージ装置管理部330は、クライアントコンピュータにデータを送信する。そして、元データストレージ装置32は、
図10に示すステップS121の処理に遷移する。一方、ステップS107において、クライアントコンピュータ4はデータを受信する。
【0083】
次に、複製データストレージ装置33において、アクセス頻度を擬似的に統一させる処理について説明する。
【0084】
図10は、複製データストレージ装置33において、アクセス頻度を擬似的に統一させる処理の一例を示すフローチャートである。
【0085】
ステップS121において、元データストレージ装置32のデータ格納先制御部334は、ストレージ装置管理ルールに基づいて、複製データストレージ装置33を特定する。
【0086】
ステップS122において、元データストレージ装置32のストレージ装置管理部330は、複製データストレージ装置33に、擬似読み出し要求を送信する。
【0087】
ステップS123において、複製データストレージ装置33のストレージ装置管理部330が、擬似読み出し要求を受信した場合、複製データストレージ装置33のアクセス頻度制御部331は、アクセス頻度を擬似的に更新する。具体的には、複製データストレージ装置33は、データの読み出し処理を行わず、複製データに対するアクセス数を増加させる。そして、複製データストレージ装置33のアクセス頻度制御部331は、複製データに対するアクセス頻度を更新する。その結果、複製データストレージ装置33は、複製データに対するアクセス頻度を、元データに対するアクセス頻度と擬似的に統一させることができる。そしてステップS124に遷移する。
【0088】
ステップS124において、複製データストレージ装置33のストレージ装置管理部330は、元データストレージ装置32に、擬似読み出し完了通知を送信する。ステップS125において、元データストレージ装置32のストレージ装置管理部330は、擬似読み出し完了通知を受信する。
【0089】
以上のように、本実施形態に係るストレージシステム1においては、元データに対するアクセス頻度と、複製データに対するアクセス頻度を擬似的に統一させる。ここで、本実施形態に係るストレージ装置3は、アクセス頻度に応じて、データの格納先を変更する。そのため、元データに対するアクセス頻度が下がるほど、アクセス性能の低いデータ格納部320に、元データを移動する。さらに、アクセス頻度を擬似的に統一させることによって、元データに対するアクセス頻度が下がるほど、本実施形態に係るストレージ装置3は、アクセス性能の低いデータ格納部320に、複製データを移動する。従って、本実施形態に係るストレージ装置3は、元データ、及び複製データを、アクセス頻度に応じて、適切なデータ格納部320に格納できる。
【0090】
次に、ストレージ装置3の障害の有無を判断する処理について説明する。
【0091】
図11は、ストレージ装置3の障害の有無を判断する処理の一例を示すフローチャートである。
【0092】
ステップS201において、管理装置制御部220は、ストレージ装置群31に管理信号を送信する。ここで、管理信号とは、ストレージ装置3の稼動状態を判断するために送信する信号である。
【0093】
ステップS202において、管理信号を送信した各ストレージ装置から、管理信号に対する応答を受信したか否かを、管理装置制御部220は判断する。管理信号に対する応答を受信した場合(ステップS202のYes分岐)には、管理装置制御部220は、ストレージ装置3が稼動していると判断する。そして、ステップS203に遷移する。一方、管理信号に対する応答信号を受信しない場合(ステップS202のNo分岐)にはステップS204に遷移する。
【0094】
ステップS203において、管理装置制御部220は、所定の時間(例えば、1分)、待機する。そして、ステップS201に戻り、処理を継続する。
【0095】
一方、ステップS204において、管理装置制御部220は、応答がなかったストレージ装置3が故障していると判断する。そして、ステップS205において、管理装置制御部220は、故障したストレージ装置3をストレージシステム1から隔離するように、ストレージ装置管理ルールを更新する。つまり、管理装置2は、元データ、及び複製データの格納先から、故障したストレージシステム3を除外する。
【0096】
ステップS206において、管理装置制御部220は、更新したストレージ装置管理ルールに基づいて、格納先管理テーブルを更新する。そして、
図12に示すステップS301に遷移する。
【0097】
次に、データストレージ装置3に障害が発生した場合の処理について説明する。いずれかのデータストレージ装置3に障害が発生した場合、稼動しているストレージ装置3のデータ順位制御部333は、複製データのデータ順位を変更する。そして、稼動しているストレージ装置3のデータ格納先制御部334は、アクセス頻度、変更後のデータ順位、データ格納部320のアクセス性能に基づいて、データの格納先を変更する。以下、
図12を参照して、詳細に説明する。
【0098】
図12は、元データストレージ装置32に障害が発生した場合の処理の一例を示すフローチャートである。なお、以下の説明では、複製データストレージ装置34、及び複製データストレージ装置35は、アクセス不可能となったデータの複製データを格納するとする。さらに、複製データストレージ装置34が格納する複製データのデータ順位は、複製データストレージ装置35が格納する複製データのデータ順位より高いとする。
【0099】
ステップS301において、管理装置制御部220は、更新後のストレージ装置管理ルールをストレージ装置群31に送信する。
【0100】
複製データストレージ装置34のストレージ装置管理部330は、更新後のストレージ装置管理ルールを受信した場合、更新後のストレージ装置管理ルールに基づいて、所定のストレージ装置3に複製データの作成要求を送信する(ステップS302)。例えば、複製データストレージ装置34のストレージ装置管理部330は、複製データストレージ装置35に、新たな複製データの作成を要求しても良い。または、複製データストレージ装置34のストレージ装置管理部330は、複製データストレージ装置35と異なるストレージ装置3に、新たな複製データの作成を要求しても良い。
【0101】
ステップS303において、複製データストレージ装置34のデータ順位制御部333は、格納しているデータの順位を昇格させる。この場合、元データを格納するストレージ装置が故障したため、複製データストレージ装置34のデータ順位制御部333は、格納しているデータを、元データに昇格する。
【0102】
ステップS304において、複製データストレージ装置34のデータ格納先制御部334は、アクセス頻度、アクセス性能、及びデータ順位に基づいて、データの格納先を変更する。
【0103】
ステップS305において、複製データストレージ装置34のストレージ装置管理部330は、複製データストレージ装置35にアクセス頻度を通知する。
【0104】
そして、複製データストレージ装置35のストレージ装置管理部330が、アクセス頻度に関する情報を受信したとする。その場合、複製データストレージ装置35のデータ格納先制御部334は、アクセス頻度、アクセス性能、及びデータ順位に基づいて、データの格納先を変更する(ステップS306)。
【0105】
なお、複製データを格納するストレージ装置3に障害が発生した場合についても同様の処理である。つまり、管理装置2は、まず、故障したストレージ装置3をデータの格納先から除外する。そして、稼動するストレージ装置3は、故障したストレージ装置3が格納するデータのデータ順位と比較し、データ順位が低いデータのデータ順位を昇格させる。さらに、稼動するストレージ装置3は、障害が発生する前のデータ数と一致するように、複製データを作成する。なお、詳細な処理の流れは、
図12に示すステップS301〜ステップS305の処理の流れと同様であるため、詳細な説明は省略する。
【0106】
図13は、ストレージ装置501に障害が発生した場合の一例を示す図である。
図13の場合、ストレージ装置501は、データ格納部521と、データ格納部522と、を備える。また、ストレージ装置502は、データ格納部523と、データ格納部524と、を備える。また、ストレージ装置503は、データ格納部525と、データ格納部526と、を備える。そして、データ格納部521〜526のアクセス性能は、以下の通りであるとする。
p521:データ格納部521のアクセス性能
p522:データ格納部522のアクセス性能
p523:データ格納部523のアクセス性能
p524:データ格納部524のアクセス性能
p525:データ格納部525のアクセス性能
p526:データ格納部526のアクセス性能
【0107】
まず、ストレージ装置501の障害発生前の状態では、ストレージ装置501は、データ格納部521に旧・元データ531を格納していたとする。また、ストレージ装置502は、データ格納部523に旧・複製データA532を格納していたとする。また、ストレージ装置503は、データ格納部534に旧・複製データB533を格納していたとする。なお、旧・複製データA532は、旧・複製データB533よりデータ順位が高いとする。
【0108】
そして、管理装置2は、ストレージ装置501に障害が発生したと判断したとする。その場合、管理装置2は、ストレージ装置501をデータの格納先から除外するように、旧・ストレージ管理ルール511を新・ストレージ管理ルール512に更新する。そして、管理装置2は、新・ストレージ装置管理ルール512をストレージ装置502、及びストレージ装置503に通知する。
【0109】
ストレージ装置502は、新・ストレージ装置管理ルール512に基づいて、旧・複製データ532を新・元データ534に昇格させる。そして、ストレージ装置503に対して、旧・複製データB533を新・複製データA535に昇格させるように、要求する。
【0110】
ストレージ装置503は、旧・複製データB533を新・複製データA535に昇格させる。そして、ストレージ装置503は、新・複製データAの格納先を決定する。ここで、ストレージ装置503は、旧・複製データA532と同等のアクセス性能の格納先に、新・複製データA535を格納することが好ましい。上述の通り、データ格納部523のアクセス性能と、データ格納部525のアクセス性能は同等である。そのため、ストレージ装置503は、新・複製データA535をデータ格納部525に格納する。
【0111】
ここで、ストレージ装置503は、旧・複製データB533を新・複製データA535とした。そこで、ストレージ装置502は、新・ストレージ装置管理ルール512に基づいて、所定のストレージ装置3に新・複製データBの作成を要求する。
【0112】
以上のように、本実施形態に係るストレージシステム1は、いずれかのストレージ装置3に障害が発生した場合、そのストレージ装置3をデータの格納先から除外する。そして、本実施形態に係るストレージ装置3は、故障したストレージ装置3が格納するデータを代替するために、データのデータ順位を変更する。さらに、本実施形態に係るストレージ装置3は、障害が発生する前のデータ数と一致するように、新たに複製データを作成する。従って、本実施形態に係るストレージシステム1は、ストレージ装置3に障害が発生した場合であっても、データ保持の信頼性を維持できる。
【0113】
次に、ストレージ装置3に障害が発生した場合のクライアントコンピュータ4の処理について説明する。
【0114】
図14は、ストレージ装置3に障害が発生した場合のクライアントコンピュータ4の処理の一例を示すフローチャートである。
【0115】
ステップS401において、クライアントコンピュータ4は、ストレージ装置3にアクセス要求を送信する。具体的には、クライアントコンピュータ4は、ストレージ装置管理ルールに基づいて、元データストレージ装置32を特定する。そして、クライアントコンピュータ4は、元データストレージ装置32にアクセス要求を送信する。
【0116】
ステップS402において、応答を受信したか否かを、クライアントコンピュータ4は判断する。応答を受信した場合(ステップS402のYes分岐)には、ステップS408に遷移する。一方、応答を受信しない場合(ステップS402のNo分岐)には、ステップS403に遷移する。
【0117】
ステップS403において、クライアントコンピュータ4は、ストレージ装置管理ルールの更新の有無を、管理装置2に問い合わせる。そして、ステップS404において、ストレージ装置管理ルールが更新されたか否かを、クライアントコンピュータ4は判断する。ストレージ装置管理ルールが更新された場合(ステップS404のYes分岐)には、ステップS405に遷移する。ストレージ装置管理ルールが更新されていない場合(ステップS404のNo分岐)には、ステップS401に戻り、処理を継続する。
【0118】
ステップS405において、クライアントコンピュータ4は、更新後のストレージ装置管理ルールを、管理装置2から受信する。
【0119】
ステップS406において、クライアントコンピュータ4は、更新後のストレージ装置管理ルールに基づいて、元データストレージ装置32を特定する。
【0120】
ステップS407において、元データストレージ装置32にアクセス要求を送信する。そして、ステップS408に遷移する。
【0121】
ステップS408において、データの格納処理、又は読み出し処理を実行する。
【0122】
以上のように、元データストレージ装置32は、複製データストレージ装置33に、複製データの作成を要求する。その際、元データストレージ装置32は、複製データにデータ順位を設定する。そして、各ストレージ装置3は、アクセス頻度、及びデータ順位に基づいて、各データの格納先を決定する。その結果、本実施形態に係るストレージシステム1では、アクセス頻度の高いデータが、アクセス性能の低いデータ格納部320に格納されることを防止できる。つまり、本実施形態に係るストレージシステム1は、データへのアクセス効率を保障することに貢献する。
【0123】
また、本実施形態に係るストレージシステム1では、データのアクセス頻度と、データ格納部320のアクセス性能に基づいて、データの格納先が決定される。そのため、本実施形態に係るストレージシステム1は、ストレージ装置3のリソースの無駄な消費を抑制することに貢献できる。
【0124】
また、本実施形態に係るストレージシステム1では、いずれかのストレージ装置3に障害が発生した場合であっても、クライアントコンピュータ4からデータにアクセス可能であることを保障する。従って、本実施形態に係るストレージシステム1は、データへのアクセスの利便性を確保することに貢献する。
【0125】
[第2の実施形態]
次に、第2の実施形態について、詳細に説明する。
【0126】
本実施形態は、元データ格納先情報と、複製データ格納先情報と、をクライアントコンピュータ、及びストレージ装置で共有する形態である。なお、本実施形態における説明では、第1の実施形態と重複する部分の説明は省略する。さらに、本実施形態における説明では、第1の実施形態と同一の構成要素には、同一の符号を付し、その説明を省略する。
【0127】
本実施形態に係る管理装置制御部220は、データIDのダイジェスト値と、予め元データストレージ装置32に割り当てられた、所定の値域と、の照合結果に基づいて、元データストレージ装置32を決定する。管理装置制御部220は、ハッシュ関数等を用いて、データIDのダイジェスト値を算出しても良い。具体的には、管理装置制御部220は、データIDのダイジェスト値と、予め元データストレージ装置32に割り当てられた、所定の値域と、を照合する。そして、管理装置制御部220は、照合結果に基づいて、元データストレージ装置32を選択する。
【0128】
また、管理装置制御部220は、データIDのダイジェスト値と、予め複製データストレージ装置33に割り当てられた、所定の値域と、の照合結果に基づいて、複製データストレージ装置33を決定しても良い。
【0129】
そして、管理装置制御部220は、データIDのダイジェスト値、及び各ストレージ装置3に割り当てられた所定の値域と、をストレージ装置3、及びクライアントコンピュータ4に通知する。
【0130】
以上のように、本実施形態に係るストレージシステム1においては、データIDのダイジェスト値と、各ストレージ装置3に割り当てられた、所定の値域と、に基づいて、データの格納先を決定する。そして、データの格納先を決定するために必要な情報を、ストレージ装置3、及びクライアントコンピュータ4で共有する。その結果、本実施形態に係るストレージシステム1においては、データの格納先を決定するために、管理装置2に対する問い合わせを抑制できる。そのため、本実施形態に係るストレージシステム1においては、管理装置2の負荷を、各クライアントコンピュータ4に分散できる。従って、本実施形態に係るストレージシステム1においては、より一層、データへのアクセスの利便性を確保することに貢献する。
【0131】
なお、上記した実施形態においては、ストレージ装置3と、管理装置2と、クライアントコンピュータ4と、がネットワーク5を介して接続する構成について説明した。しかし、ネットワーク5と異なるネットワークを介して、各ストレージ装置3間の通信を実現しても良い。あるいは、ストレージ装置3と、管理装置2と、クライアントコンピュータ4と、が、夫々、異なるネットワークを介して接続する構成であっても良い。
【0132】
また、上記した実施形態においては、ストレージシステム1が、1の管理装置2を含む場合について説明した。しかし、ストレージシステム1が、2以上の管理装置2を含んでも良い。例えば、管理装置2に障害が発生した場合、他の管理装置2が、障害が発生した管理装置2に替わって、処理を実行しても良い。つまり、ストレージシステム1において、管理装置2は冗長な構成であっても良い。
【0133】
また、上記した実施形態においては、管理装置2と、ストレージ装置3と、が異なる装置として説明した。しかし、ストレージ装置群31から、管理装置2の役割を担う装置を選択しても良い。そして、管理装置2に障害が発生した場合、ストレージ装置群31から、新たに、管理装置2の役割を担う装置を選択しても良い。
【0134】
また、上記した実施形態では、元データストレージ装置32が、所定の複製データストレージ装置33に、複製データの作成要求を送信する形態について説明した。しかし、元データストレージ装置32が、データを複製して、所定の複製データストレージ装置33に送信しても良い。
【0135】
なお、ストレージ装置3は、データに応じて、元データストレージ装置32、又は複製データストレージ装置33として機能することは勿論である。つまり、ストレージ装置3は、一のデータに関して、元データストレージ装置32として機能する場合であっても、他のデータに関して、複製データストレージ装置33として機能してもよい。
【0136】
上記の実施形態の一部又は全部は、以下の形態のようにも記載され得るが、以下には限られない。
【0137】
(形態1)上記第1の視点に係るストレージシステムの通りである。
【0138】
(形態2)前記ストレージ装置は、前記複製データ毎のデータ順位を決定するデータ順位制御部を備え、前記データ格納先制御部は、前記アクセス性能、前記アクセス頻度、前記データ順位に基づいて、前記元データ、及び前記複製データの格納先を決定する形態1に記載のストレージシステム。
【0139】
(形態3)いずれかの前記ストレージ装置に障害が発生した場合、前記データ順位制御部は、前記データ順位を変更し、前記格納先制御部は、前記アクセス頻度、変更後の前記データ順位、前記アクセス性能に基づいて、データの格納先を変更する形態2に記載のストレージシステム。
【0140】
(形態4)前記ストレージ装置は、データIDと、前記データ順位と、データ格納先特定情報と、を対応付けた格納先管理テーブルを記憶するストレージ装置記憶部を備える形態2又は3に記載のストレージシステム。
【0141】
(形態5)前記第1のストレージ装置の前記データ格納部から、前記元データが読み出された場合、前記第2のストレージ装置の前記アクセス頻度制御部は、前記元データに対する前記アクセス頻度と同一となるように、前記複製データに対する前記アクセス頻度を変更する形態1乃至4のいずれか一に記載のストレージシステム。
【0142】
(形態6)2以上の前記第2のストレージ装置を含む形態1乃至5のいずれか一に記載のストレージシステム。
【0143】
(形態7)上記第2の視点に係るストレージ装置の通りである。
【0144】
(形態8)前記複製データ毎のデータ順位を決定するデータ順位制御部を備え、前記データ格納先制御部は、前記アクセス性能、前記アクセス頻度、前記データ順位に基づいて、前記元データ、又は前記複製データの格納先を決定する形態7に記載のストレージ装置。
【0145】
(形態9)他のストレージ装置に障害が発生した場合、前記データ順位制御部は、前記データ順位を変更し、前記格納先制御部は、前記アクセス頻度、変更後の前記データ順位、前記アクセス性能に基づいて、データの格納先を変更する形態8に記載のストレージ装置。
【0146】
(形態10)データIDと、前記データ順位と、データ格納先特定情報と、を対応付けた格納先管理テーブルを記憶するストレージ装置記憶部を備える形態8又は9に記載のストレージ装置。
【0147】
(形態11)前記アクセス頻度制御部は、前記データ格納部が前記複製データを格納する場合、前記元データに対する前記アクセス頻度と同一となるように、前記複製データに対するアクセス頻度を変更する形態7乃至10に記載のストレージ装置。
【0148】
(形態12)上記の第3の視点に係るストレージ装置の制御方法の通りである。
【0149】
(形態13)前記複製データ毎のデータ順位を決定するデータ順位制御工程を含み、前記データ格納先制御工程において、前記アクセス性能、前記アクセス頻度、前記データ順位に基づいて、前記元データ、又は前記複製データの格納先を決定する形態10に記載のストレージ装置の制御方法。
【0150】
(形態14)他のストレージ装置に障害が発生した場合、前記データ順位制御工程において、前記データ順位を変更し、前記格納先制御工程において、前記アクセス頻度、変更後の前記データ順位、前記アクセス性能に基づいて、データの格納先を変更する形態13に記載のストレージ装置の制御方法。
【0151】
(形態15)前記アクセス頻度制御部は、前記データ格納部が前記複製データを格納する場合、前記元データに対する前記アクセス頻度と同一となるように、前記複製データに対するアクセス頻度を変更する形態12乃至14に記載のストレージ装置の制御方法。
【0152】
(形態16)上記第4の視点に係るストレージ装置の制御プログラムの通りである。
【0153】
(形態17)前記複製データ毎のデータ順位を決定するデータ順位制御処理を実行し、前記データ格納先制御処理において、前記アクセス性能、前記アクセス頻度、前記データ順位に基づいて、前記元データ、又は前記複製データの格納先を決定する形態16に記載のストレージ装置の制御プログラム。
【0154】
(形態18)他のストレージ装置に障害が発生した場合、前記データ順位制御処理において、前記データ順位を変更し、前記格納先制御処理において、前記アクセス頻度、変更後の前記データ順位、前記アクセス性能に基づいて、データの格納先を変更する形態17に記載のストレージ装置の制御プログラム。
【0155】
(形態19)前記アクセス頻度制御処理において、前記複製データが格納されている場合、前記元データに対する前記アクセス頻度と同一となるように、前記複製データに対するアクセス頻度を変更する形態16乃至18に記載のストレージ装置の制御プログラム。
【0156】
(形態20)上記第5の視点に係る管理装置の通りである。
【0157】
(形態21)前記管理装置制御部は、前記データIDのダイジェスト値を算出し、前記ダイジェスト値と、予め前記第1のストレージ装置毎に割り当てられた、所定の値域と、の照合結果に基づいて、前記第1のストレージ装置を決定する形態20に記載の管理装置。
【0158】
(形態22)前記管理装置制御部は、前記ダイジェスト値と、予め前記第2のストレージ装置毎に割り当てられた、所定の値域と、の照合結果に基づいて、前記第2のストレージ装置を決定する形態20又は21に記載の管理装置。
【0159】
(形態23)上記第6の視点に係る管理装置の制御方法の通りである。
【0160】
(形態24)前記管理装置制御工程において、前記データIDのダイジェスト値を算出し、前記ダイジェスト値と、予め前記第1のストレージ装置毎に割り当てられた、所定の値域と、の照合結果に基づいて、前記第1のストレージ装置を決定する形態23に記載の管理装置の制御方法。
【0161】
(形態25)前記管理装置制御工程において、前記ダイジェスト値と、予め前記第2のストレージ装置毎に割り当てられた、所定の値域と、の照合結果に基づいて、前記第2のストレージ装置を決定する形態23又は24に記載の管理装置の制御方法。
【0162】
(形態26)上記第7の視点に係る管理装置の制御プログラムの通りである。
【0163】
(形態27)前記管理装置制御処理において、前記データIDのダイジェスト値を算出し、前記ダイジェスト値と、予め前記第1のストレージ装置毎に割り当てられた、所定の値域と、の照合結果に基づいて、前記第1のストレージ装置を決定する形態26に記載の管理装置の制御プログラム。
【0164】
(形態28)前記管理装置制御処理において、前記ダイジェスト値と、予め前記第2のストレージ装置毎に割り当てられた、所定の値域と、の照合結果に基づいて、前記第2のストレージ装置を決定する形態26又は27に記載の管理装置の制御プログラム。
【0165】
なお、引用した上記の特許文献の各開示は、本書に引用をもって繰り込むものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素(各請求項の各要素、各実施形態ないし実施例の各要素、各図面の各要素等を含む)の多様な組み合わせ、ないし、選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。