JP2016099659A - 管理装置、ストレージシステム、ストレージ管理方法、及びプログラム - Google Patents

管理装置、ストレージシステム、ストレージ管理方法、及びプログラム Download PDF

Info

Publication number
JP2016099659A
JP2016099659A JP2014233706A JP2014233706A JP2016099659A JP 2016099659 A JP2016099659 A JP 2016099659A JP 2014233706 A JP2014233706 A JP 2014233706A JP 2014233706 A JP2014233706 A JP 2014233706A JP 2016099659 A JP2016099659 A JP 2016099659A
Authority
JP
Japan
Prior art keywords
replicas
storage
container
limit value
storage system
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
JP2014233706A
Other languages
English (en)
Inventor
悠二 萩原
Yuji Hagiwara
悠二 萩原
広志 三浦
Hiroshi Miura
広志 三浦
山田 大輔
Daisuke Yamada
大輔 山田
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.)
NTT Data Group Corp
Original Assignee
NTT Data 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 NTT Data Corp filed Critical NTT Data Corp
Priority to JP2014233706A priority Critical patent/JP2016099659A/ja
Publication of JP2016099659A publication Critical patent/JP2016099659A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】ストレージの余剰容量を有効に活用しつつ、格納データの信頼性を動的に向上する。
【解決手段】管理装置は、データを複製して格納する数を示すレプリカ数であって、設定されたレプリカ数に基づいて、データを分散して格納するストレージシステムの管理装置であって、ストレージシステムの空き容量を検出する検出部と、検出部が検出したストレージシステムの空き容量に応じて、予め定められたレプリカ数の下限値を下回らないように、レプリカ数の設定を変更するレプリカ数変更部とを備える。
【選択図】図1

Description

本発明は、管理装置、ストレージシステム、ストレージ管理方法、及びプログラムに関する。
近年、オブジェクトストレージシステム(以下、オブジェクトストレージという)などの分散型のストレージシステムが知られている(例えば、特許文献1を参照)。このようなストレージシステムでは、格納するデータを、例えば、所定のレプリカ(複製)数に分散して格納することでデータの信頼性を確保している。ここで、レプリカ数とは、元データを含めたレプリカ(複製)の数のことである。ストレージシステムでは、レプリカ数が多い程、信頼性は向上するが、ストレージの容量単価は増加する傾向にある。
特許第5396848号公報
しかしながら、上述のようなストレージシステムでは、設定されたレプリカ数により保障される信頼性は、最低限保証されるレベルであり、データが損失するリスクを低減するために、可能な限り信頼性を向上させることが望ましい。また、上述のようなストレージシステムでは、ストレージの余剰容量がある場合であっても、レプリカ数に反映されることはなく、ストレージの余剰容量を有効に活用できない可能性があった。
本発明は、上記問題を解決すべくなされたもので、その目的は、ストレージの余剰容量を有効に活用しつつ、格納データの信頼性を動的に向上させることができる管理装置、ストレージシステム、ストレージ管理方法、及びプログラムを提供することにある。
上記問題を解決するために、本発明の一態様は、データを複製して格納する数を示すレプリカ数であって、設定されたレプリカ数に基づいて、前記データを分散して格納するストレージシステムの管理装置であって、前記ストレージシステムの空き容量を検出する検出部と、前記検出部が検出した前記ストレージシステムの空き容量に応じて、予め定められた前記レプリカ数の下限値を下回らないように、前記レプリカ数の設定を変更する変更部とを備えることを特徴とする管理装置である。
また、本発明の一態様は、上記の管理装置において、前記レプリカ数の上限値及び下限値を記憶するレプリカ数記憶部を備え、前記変更部は、前記データを格納する階層構造と重要度とを関連付けて記憶する重要度記憶部から前記階層構造ごとの重要度を取得し、取得した前記階層構造ごとの重要度と、前記空き容量とに基づいて、前記レプリカ数記憶部が記憶する前記上限値と前記下限値との間で前記レプリカ数の設定を前記階層構造ごとに変更することを特徴とする。
また、本発明の一態様は、上記の管理装置において、前記レプリカ数記憶部は、重要度ごとの前記レプリカ数の上限値及び下限値を記憶し、前記レプリカ数の上限値及び下限値のうちの少なくとも一方は、前記階層構造の重要度に基づいて設定されることを特徴とする。
また、本発明の一態様は、上記の管理装置と、前記データを格納する階層構造における平均レプリカ数が、前記管理装置によって設定された前記レプリカ数になるように、前記階層構造の配下に格納されているデータのレプリカ数を調整するサーバ装置とを備えること特徴とするストレージシステムである。
また、本発明の一態様は、上記のストレージシステムにおいて、前記管理装置によって変更された前記レプリカ数に基づいて、格納されているデータの複製が削除又は追加される複数のストレージ装置を備え、前記サーバ装置は、前記ストレージ装置において、前記データの複製を削除又は追加する場合に、前記階層構造の配下に格納されているデータのうち、サイズが大きいデータを優先することを特徴とする。
また、本発明の一態様は、データを複製して格納する数を示すレプリカ数であって、設定されたレプリカ数に基づいて、前記データを分散して格納するストレージシステムのストレージ管理方法であって、前記ストレージシステムの空き容量を検出する検出ステップと、前記検出ステップにて検出した前記ストレージシステムの空き容量に応じて、予め定められた前記レプリカ数の下限値を下回らないように、前記レプリカ数の設定を変更する変更ステップとを含むことを特徴とするストレージ管理方法である。
また、本発明の一態様は、データを複製して格納する数を示すレプリカ数であって、設定されたレプリカ数に基づいて、前記データを分散して格納するストレージシステムのコンピュータに、前記ストレージシステムの空き容量を検出する検出ステップと、前記検出ステップにて検出した前記ストレージシステムの空き容量に応じて、予め定められた前記レプリカ数の下限値を下回らないように、前記レプリカ数の設定を変更する変更ステップとを実行させるためのプログラムである。
本発明によれば、ストレージの余剰容量を有効に活用しつつ、格納データの信頼性を動的に向上させることができる。
第1の実施形態によるストレージシステムの一例を示すブロック図である。 本実施形態におけるリングファイル記憶部の一例を示す図である。 本実施形態におけるリングファイルのリング情報のデータ例を示す図である。 本実施形態におけるリングファイルのデバイス一覧情報のデータ例を示す図である。 本実施形態におけるアカウント情報のデータ例を示す図である。 本実施形態におけるコンテナ一覧情報のデータ例を示す図である。 本実施形態におけるコンテナ情報のデータ例を示す図である。 本実施形態におけるオブジェクト一覧情報のデータ例を示す図である。 本実施形態におけるレプリカ数記憶部のデータ例を示す図である。 本実施形態におけるレプリカ数の変更情報の一例を示す図である。 本実施形態におけるストレージの論理階層構造の一例を示す図である。 本実施形態におけるレプリカ数の変更処理の一例を示す図である。 本実施形態におけるオブジェクトの追加処理の一例を示すフローチャートである。 本実施形態におけるレプリカ数の変更処理の一例を示すフローチャートである。 本実施形態におけるレプリカ数の調整処理の一例を示すフローチャートである。 第2の実施形態によるストレージシステムの一例を示すブロック図である。 第2の実施形態におけるレプリカ数記憶部のデータ例を示す図である。
以下、本発明の一実施形態によるストレージシステム及び管理装置について図面を参照して説明する。
[第1の実施形態]
図1は、第1の実施形態によるストレージシステム1の一例を示すブロック図である。
この図に示すように、ストレージシステム1は、プロキシノード20と、複数のストレージノード(31、32、33、・・・)と、管理装置10とを備えている。プロキシノード20と、ストレージノード(31、32、33、・・・)と、管理装置10とは、ネットワークNTを介して互いに接続されている。また、ストレージシステム1は、ネットワークNTを介してクライアント端末2と接続可能になっている。
ストレージシステム1は、例えば、オブジェクトストレージシステムであり、設定されたレプリカ数に基づいて、データを分散して格納する。ここで、レプリカ数とは、データを複製して格納する数を示し、元データを含めたレプリカ(複製)の数のことである。
また、本実施形態では、データのまとまりを「オブジェクト」と称する。ストレージシステム1は、設定されたレプリカ数に基づいて、1つのオブジェクトを複数のストレージノード(31、32、33、・・・)に分散して格納する。
なお、ストレージノード31、ストレージノード32、ストレージノード33、・・・は、それぞれ後述するリングファイル記憶部(311、321、331)を備え、オブジェクトを格納する構成に関して同一である。ストレージノード31、ストレージノード32、ストレージノード33、・・・は、ストレージシステム1が備える任意のストレージノードを示す場合、又は特に区別しない場合には、ストレージノード30として説明する。
クライアント端末2は、ストレージシステム1が備えるストレージにオブジェクトの書き込み要求や読み出し要求などを送信するコンピュータ装置であり、例えば、エンドユーザの端末装置やネットワークNTを介してリソースの提供などのサービスをエンドユーザに提供するサーバ装置である。クライアント端末2は、オブジェクトの書き込みや読み出し、消去などをプロキシノード20に要求する。
プロキシノード20は、例えば、サーバ装置であり、クライアント端末2からの要求に応じて、各ストレージノード30に対して処理を振り分ける。プロキシノード20は、例えば、クライアント端末2からオブジェクトの書き込み要求を受け付けると、全てのストレージノード30から、後述するリングファイルにより指定される複数のストレージノード30を選択し、選択した複数のストレージノード30に同一のオブジェクトの書き込み要求を送信する。なお、図1に示す一例では、ストレージシステム1は、1つのプロキシノード20を備える例を説明するが、複数のプロキシノード20を備えてもよい。
また、プロキシノード20は、記憶部210を備えている。
記憶部210は、プロキシノード20の各種処理に利用する情報を記憶する。記憶部210は、例えば、リングファイル記憶部211を備えている。
リングファイル記憶部211は、リングファイルを記憶する。ここで、リングファイルとは、例えば、データ(例えば、オブジェクト)とそのデータを格納する物理的な位置(サーバ装置、ディスク)を対応づけるテーブル情報である。リングファイルの詳細については、後述する。リングファイル記憶部211は、例えば、図2に示すように、データの重要度に対応する複数のリングファイルを記憶する。
図2は、本実施形態におけるリングファイル記憶部211の一例を示す図である。
この図に示す例では、リングファイル記憶部211は、複数のリングファイル(「リングファイルA」、「リングファイルB」、・・・)を備えている。なお、リングファイル記憶部211が記憶する各リングファイルは、データの重要度に対応しており、本実施形態では、リングファイル記憶部211は、重要度ごとのリングファイルを記憶するものとする。
リングファイルは、例えば、オブジェクトの格納先(デバイス)を指定するテーブルであるリング情報と、デバイス一覧情報とを含んでいる。リング情報は、オブジェクト名から算出されるハッシュ値の先頭部分(接頭辞)と、当該先頭部分に対応するオブジェクトの格納場所(デバイスID、格納場所候補も含む)と、レプリカ数及び重要度とを関連付けた情報である。ここで、ハッシュ値は、格納先が均等に割振られるように、算出されるものとする。
図3は、本実施形態におけるリングファイルのリング情報のデータ例を示す図である。
図3に示すように、リング情報は、例えば、「接頭辞」と、当該「接頭辞」に対応するデバイスIDと、「重要度」と、「レプリカ数」とを関連付けた情報である。また、リング情報では、「接頭辞」に対応する「第1のデバイスID」、「第2のデバイスID」、「第3のデバイスID」、・・・を含んでいる。ここで、「接頭辞」は、上述したオブジェクト名から算出されるハッシュ値の先頭部分である。また、「第1のデバイスID」、「第2のデバイスID」、「第3のデバイスID」、・・・は、オブジェクトの格納先のデバイスを識別する識別情報を示す。
図3に示す例では、例えば、「接頭辞」が“00”となるオブジェクトは、格納先として、「第1のデバイスID」が“3”、「第2のデバイスID」が“0”、「第3のデバイスID」が“2”、・・・のデバイスの順に格納されることを示している。また、このリング情報では、「重要度」が“50”で、設定された「レプリカ数」が“3.0”であることを示している。なお、リング情報は、デバイスが稼働していないことなどを考慮して、設定された「レプリカ数」よりも多くのデバイスを各「接頭辞」に対して指定する。
また、図4は、本実施形態におけるリングファイルのデバイス一覧情報のデータ例を示す図である。
図4に示すように、デバイス一覧情報は、「デバイスID」と、「IPアドレス」と、「ポート」と、「デバイス名」とを関連付けた情報を複数含んでいる。ここで、「デバイスID」は、デバイス(サーバ装置、ディスク)を識別する識別情報を示している。また、「IPアドレス」及び「ポート」は、デバイスのIPアドレス及びポート番号を示している。また、「デバイス名」は、デバイスの名称を示している。
図4に示す例では、「デバイスID」の“0”に対応するデバイスの「IPアドレス」が“x.x.x.x”、「ポート」が“8000”、「デバイス名」が“ZZ”であることを示している。
このように、リングファイルは、「レプリカ数」を設定するとともに、オブジェクトの名前から、格納先であるデバイスの「IPアドレス」、「ポート」及び「デバイス名」を特定するようになっている。
図1の説明に戻り、ストレージノード30(ストレージ装置の一例)は、例えば、ストレージ(記憶装置)を備えるサーバ装置であり、例えば、プロキシノード20から受信した要求に応じて処理を行う。例えば、プロキシノード20からオブジェクトの書き込み要求や読み出し要求を受信した場合、ストレージノード30は、当該オブジェクトを書き込んだり、読み出してプロキシノード20に送信したりする。
また、ストレージノード30には、オブジェクトを格納する通常のストレージノード33の他に、アカウントを管理するストレージノード31(アカウントサーバ)と、コンテナを管理するストレージノード32(コンテナサーバ)などがある。ここで、コンテナとは、例えば、オブジェクトを格納する入れ物を示し、ファイルシステムで言えばディレクトリやフォルダに相当する。また、アカウントとは、例えば、コンテナを格納する入れ物を示す。このように、オブジェクトの上位の階層構造がコンテナであり、コンテナの上位の階層がアカウントであり、オブジェクト、コンテナ、及びアカウントは、データの階層構造を示している。
ストレージノード31(アカウントサーバ)は、例えば、オブジェクトを格納するとともに、アカウントを管理する。ストレージノード31は、例えば、記憶部310を備えている。
記憶部310は、ストレージノード31の各種処理に利用する情報を記憶する。記憶部310は、例えば、リングファイル記憶部311と、アカウント情報記憶部312とを備えている。
リングファイル記憶部311は、上述したリングファイル記憶部211と同様であるので、ここではその説明を省略する。
アカウント情報記憶部312は、アカウントを管理するアカウント管理情報を記憶する。アカウント情報記憶部312は、アカウント管理情報として、例えば、アカウント情報と、コンテナ一覧情報とを記憶する。
図5は、本実施形態におけるアカウント情報のデータ例を示す図である。
図5に示すように、アカウント情報記憶部312は、例えば、「アカウント名」と、「コンテナ数」と、「名前のハッシュ値」と、「アカウントID」とを関連付けてアカウント情報として記憶する。ここで、「アカウント名」は、当該アカウントの名称を示し、「名前のハッシュ値」は、「アカウント名」のハッシュ値を示している。また、「コンテナ数」は、当該アカウントの配下に存在するコンテナの数を示し、「アカウントID」は、アカウントを識別する識別情報を示している。
図5に示す例では、「アカウント名」が“ABC”であるアカウントは、配下に“3”個のコンテナを有し、「名前のハッシュ値」が“XXXXXXXXXXXX”、「アカウントID」が“YYYYYYYY”であることを示している。
また、図6は、本実施形態におけるコンテナ一覧情報のデータ例を示す図である。
図6に示すように、アカウント情報記憶部312は、例えば、「NO.」と、「コンテナ名」と、「作成時刻」と、「削除時刻」と、「名前のハッシュ値」と、「コンテナID」とを関連付けた情報を複数有するコンテナ一覧情報を記憶する。ここで、「NO.」は、コンテナ一覧情報の行番号を示し、「コンテナ名」は、当該コンテナの名称を示している。また、「作成時刻」及び「削除時刻」は、当該コンテナの作成時刻及び消去時刻を示し、「名前のハッシュ値」は、当該「コンテナ名」のハッシュ値を示している。また、「コンテナID」は、コンテナを識別する識別情報を示している。
図6に示す例では、「NO.」が“1”のコンテナは、「コンテナ名」が“testcont1”であり、「作成時刻」が“2014−10−01 10:00:00”であることを示している。また、「名前のハッシュ値」が“YYYYYYYYYYYY”であり。「コンテナID」が“ZZZZZ”であることを示している。
再び図1の説明に戻り、ストレージノード32(コンテナサーバ)は、例えば、オブジェクトを格納するとともに、コンテナを管理する。ストレージノード32は、例えば、記憶部320を備えている。
記憶部320は、ストレージノード32の各種処理に利用する情報を記憶する。記憶部320は、例えば、リングファイル記憶部321と、コンテナ情報記憶部322とを備えている。
リングファイル記憶部321は、上述したリングファイル記憶部211と同様であるので、ここではその説明を省略する。
コンテナ情報記憶部322(重要度記憶部の一例)は、コンテナを管理するコンテナ管理情報を記憶する。コンテナ情報記憶部322は、コンテナ管理情報として、例えば、コンテナ情報と、オブジェクト一覧情報とを記憶する。
図7は、本実施形態におけるコンテナ情報のデータ例を示す図である。
図7に示すように、コンテナ情報記憶部322は、例えば、「アカウント名」と、「コンテナ名」と、「作成時刻」と、「削除時刻」と、「オブジェクト数」と、「バイト数」と、「名前のハッシュ値」と、「コンテナID」と、「重要度」とを関連付けてコンテナ情報として記憶する。ここで、「アカウント名」は、上位のアカウントの名称を示し、「コンテナ名」は、当該コンテナの名称を示している。また、「作成時刻」、「削除時刻」、「名前のハッシュ値」、及び「コンテナID」は、上述したコンテナ一覧情報と同様である。また、「オブジェクト数」及び「バイト数」は、当該コンテナの配下のオブジェクト数及びデータのバイト数を示し、「重要度」は、当該コンテナの重要度を示している。
このように、コンテナ情報記憶部322は、データを格納するコンテナ(階層構造)と重要度とを関連付けて記憶する。
図7に示す例では、「アカウント名」が“ABC”の配下の「コンテナ名」が“testcont1”であるコンテナ情報を示し、「オブジェクト数」及び「バイト数」が、“14”個及び“8096”バイトであることを示している。また、当該コンテナの「重要度」が“50”であることを示している。
また、図8は、本実施形態におけるオブジェクト一覧情報のデータ例を示す図である。
図8に示すように、コンテナ情報記憶部322は、例えば、「NO.」と、「オブジェクト名」と、「作成時刻」と、「バイト数」と、「コンテンツ種別」と、「ハッシュ値」と、「削除済フラグ」とを関連付けた情報を複数有するオブジェクト一覧情報を記憶する。ここで、「NO.」は、オブジェクト一覧情報の行番号を示し、「オブジェクト名」は、当該オブジェクトの名称を示している。また、「作成時刻」は、当該オブジェクトの作成時刻を示し、「バイト数」及び「コンテンツ種別」は、オブジェクトのバイト数及びオブジェクトの種別(例えば、画像、動画、テキストなど)を示している。また、「ハッシュ値」は、当該「オブジェクト名」のハッシュ値を示し、「削除済フラグ」は、当該オブジェクトが削除されたか否かを示している。
図8に示す例では、「NO.」が“1”のオブジェクトは、「オブジェクト名」が“obj1”であり、「作成時刻」が“2014−10−02 10:00:00”であることを示している。また、「バイト数」が“3072”バイトであり、「コンテンツ種別」が“image/jpeg”(jpeg画像)であることを示している。また、「ハッシュ値」が“AAAAAAAAAAAA”であり。「削除済フラグ」が“NO”であることを示している。
なお、上述した例では、説明上、アカウント及びコンテナが1つの例を説明したが、ストレージシステム1は、複数のアカウント及びコンテナを含むものであってもよい。
再び、図1の説明に戻り、ストレージノード33(30)は、例えば、オブジェクトを格納し、例えば、記憶部330を備えている。
記憶部330は、ストレージノード33の各種処理に利用する情報を記憶する。記憶部330は、例えば、リングファイル記憶部331を備えている。
リングファイル記憶部331は、上述したリングファイル記憶部211と同様であるので、ここではその説明を省略する。
管理装置10は、ストレージシステム1のレプリカ数を管理するコンピュータ装置である。管理装置10は、例えば、管理記憶部110と、管理制御部120とを備えている。
管理記憶部110は、管理装置10の各種処理に利用する情報を記憶する。管理記憶部110は、例えば、レプリカ数記憶部111と、変更情報記憶部112とを備えている。
レプリカ数記憶部111は、例えば、図9に示すように、レプリカ数の上限値及び下限値を記憶する。なお、本実施形態では、ストレージシステム1全体でのレプリカ数の上限値及び下限値が予め定められており、レプリカ数記憶部111は、当該ストレージシステム1全体でのレプリカ数の上限値及び下限値を記憶する。
図9は、本実施形態におけるレプリカ数記憶部111のデータ例を示す図である。
この図に示すように、レプリカ数記憶部111は、「上限値」と「下限値」とを関連付けて記憶する。ここでの「上限値」は、ストレージシステム1全体でのレプリカ数の上限値を示し、「下限値」は、ストレージシステム1全体でのレプリカ数の下限値を示している。
図9に示し例では、「上限値」が“5”、「下限値」が“2”であることを示している。
再び、図1の説明に戻り、変更情報記憶部112は、ストレージシステム1の空き容量に応じて、レプリカ数の設定を変更するレプリカ数の変更情報を記憶する。変更情報記憶部112は、例えば、レプリカ数記憶部111が記憶する「上限値」と「下限値」との間の範囲において、ストレージシステム1の空き容量に対応したレプリカ数を指定するテーブル情報である。また、変更情報記憶部112は、例えば、各コンテナの重要度に応じた、異なる変更情報を記憶してもよい。変更情報記憶部112は、例えば、図10に示すように、ストレージシステム1の空き容量に応じて変更されるテーブル情報を記憶する。
図10は、本実施形態におけるレプリカ数の変更情報の一例を示す図である。
図10に示すグラフは、空き容量に対するレプリカ数の設定を示しており、縦軸がレプリカ数を示し、横軸が空き容量(%)を示している。
この図に示すように、レプリカ数の変更情報は、レプリカ数記憶部111が記憶する「下限値」の“2”と「上限値」の“5”との間で、空き容量が多い程、レプリカ数の値が大きくなるように設定される。なお、この図において、波形W1は、最も重要度が高い場合の変更情報の例を示し、波形W2は、次に重要度が高い場合の変更情報の例を示している。また、波形W3は、最も重要度が低い場合の変更情報の例を示している。
このように、実施形態では、レプリカ数の変更情報は、重要度に対応して設定されており、重要度が低い程、空き容量が多い状態からレプリカ数が低下するように設定されている。
なお、レプリカ数は、自然数に限定されるものではなく、自然数及び小数を含む実数であってもよい。レプリカ数が小数を含む実数である場合には、ストレージシステム1は、例えば、図11に示すように、コンテナごとに平均値としてレプリカ数を実現できるように各オブジェクトを複製して格納する。
図11は、本実施形態におけるストレージの論理階層構造の一例を示す図である。
図11に示す例は、アカウントA1の配下に、例えば、コンテナC1がある場合の一例を示している。コンテナC1は、「オブジェクト1」(OB1)と、「オブジェクト2」(OB2)と「オブジェクト3」(OB3)とが格納されている。ここで、「オブジェクト1」(OB1)及び「オブジェクト2」(OB2)は、それぞれレプリカ数が“3”であり、3カ所に格納されている。また、「オブジェクト3」(OB3)は、レプリカ数が“2”であり、2カ所に格納されている。この場合、コンテナC1全体としてのレプリカ数は、以下の式(1)により、“2.666”となる。
レプリカ数=(3+3+2)/3=2.666 ・・・(1)
このように、本実施形態におけるストレージシステム1では、コンテナごとに、小数を含む実数値により、レプリカ数を設定することが可能である。
再び、図1の説明に戻り、管理制御部120は、例えば、CPU(Central Processing Unit)などを含むプロセッサであり、管理装置10を統括的に制御する。管理制御部120は、例えば、空き容量検出部121と、リング変更部122とを備えている。
空き容量検出部121(検出部の一例)は、ストレージシステム1の空き容量を検出する。空き容量検出部121は、所定の時間間隔で定期的に、ストレージシステム1の空き容量を検出する。空き容量検出部121は、例えば、各アカウントに対応するアカウントサーバが記憶するアカウント管理情報と、各コンテナに対応するコンテナサーバが記憶するコンテナ管理情報とを取得し、取得したアカウント管理情報及びコンテナ管理情報に基づいて、ストレージシステム1の空き容量を検出する。
リング変更部122(変更部の一例)は、空き容量検出部121が検出したストレージシステム1の空き容量に応じて、予め定められたレプリカ数の下限値を下回らないように、レプリカ数の設定を変更する。リング変更部122は、例えば、データを格納するコンテナと重要度とを関連付けて記憶するコンテナ情報記憶部322からコンテナごとの重要度を取得する。リング変更部122は、取得したコンテナごとの重要度と、空き容量とに基づいて、レプリカ数記憶部111が記憶する上限値と下限値との間でレプリカ数の設定をコンテナごとに変更する。すなわち、リング変更部122は、重要度と、空き容量とに基づいて、コンテナごとのレプリカ数を決定し、リングファイル内のレプリカ数を、決定したレプリカ数に変更して、各ノード(プロキシノード20及びストレージノード30)に配布する。つまり、リング変更部122は、各ノードが記憶するリングファイルを更新する(置き換える)。
例えば、リング変更部122は、レプリカ数記憶部111が記憶する上限値と下限値とを取得する。上限値が“5”、下限値が“2”である場合に、リング変更部122は、変更情報記憶部112が記憶する変更情報を参照して、取得したコンテナごとの重要度に対応するレプリカ数(上限値が“5”と下限値が“2”との間にレプリカ数)を決定する。例えば、リング変更部122は、図10に示すように、ストレージシステム1の空き容量に応じて、自然数及び小数を含むレプリカ数に決定する。また、リング変更部122は、決定したレプリカ数を反映したリングファイルを生成する。そして、リング変更部122は、生成したリングファイルを各ノード(プロキシノード20及びストレージノード30)に配布する。
上述したプロキシノード20は、リングファイル記憶部211が記憶するリングファイル内のレプリカ数と、コンテナ情報記憶部322が記憶するコンテナ管理情報とを定期的に確認して、リングファイル内のレプリカ数の変更に応じて、各オブジェクトのレプリカ数を変更する。すなわち、プロキシノード20は、定期的に、各コンテナの平均レプリカ数がリングファイル内のレプリカ数と一致するように、各オブジェクトの複製を削除又は追加して調整する。すなわち、プロキシノード20は、コンテナにおける平均レプリカ数が、管理装置10によって設定されたレプリカ数になるように、コンテナの配下に格納されているデータのレプリカ数を調整する。
次に、本実施形態によるストレージシステム1の動作について、図面を参照して説明する。
図12は、本実施形態におけるレプリカ数の変更処理の一例を示す図である。
図12において、ストレージシステム1が、「コンテナA」〜「コンテナE」の5つのコンテナを有する場合の一例を示している。この例では、「コンテナA」及び「コンテナB」の重要度が“100”であり、「コンテナC」及び「コンテナD」の重要度が“50”であり、「コンテナC」の重要度が“10”であるものとする。なお、重要度は、値が大きい程、重要度が高いものとする。また、この例では、レプリカ数記憶部111が記憶する「上限値」が“3”、「下限値」が“2”であるものとする。
図12(a)は、ストレージシステム1の空き容量が大きい状態(例えば、80%)を示している。この場合、管理装置10は、重要度が“100”に対応するリングファイルのレプリカ数を“3”に、重要度が“50”に対応するリングファイルのレプリカ数を“3”に、重要度が“10”に対応するリングファイルのレプリカ数を“3”に、それぞれ設定する。この場合、プロキシノード20は、各コンテナの平均レプリカ数がリングファイル内のレプリカ数と一致するように、各オブジェクトの複製を削除又は追加して調整する。
次に、図12(b)は、ストレージシステム1の空き容量が図12(a)に比べて減少した状態(例えば、50%)を示している。この場合、管理装置10は、重要度が“100”に対応するリングファイルのレプリカ数を“3”に、重要度が“50”に対応するリングファイルのレプリカ数を“3”に、重要度が“10”に対応するリングファイルのレプリカ数を“2.5”に、それぞれ設定する。この場合、プロキシノード20は、「コンテナE」のレプリカ数が、“2.5”と一致するように、「コンテナE」のオブジェクトの複製を削除して調整する。
次に、図12(c)は、ストレージシステム1の空き容量が図12(b)から更に減少した状態(例えば、10%)を示している。この場合、管理装置10は、重要度が“100”に対応するリングファイルのレプリカ数を“3”に、重要度が“50”に対応するリングファイルのレプリカ数を“2.6”に、重要度が“10”に対応するリングファイルのレプリカ数を“2”に、それぞれ設定する。この場合、プロキシノード20は、「コンテナC」及び「コンテナD」のレプリカ数が、“2.6”と一致するように、「コンテナC」及び「コンテナD」のオブジェクトの複製を削除して調整する。また、プロキシノード20は、「コンテナE」のレプリカ数が、“2”と一致するように、「コンテナE」のオブジェクトの複製を削除して調整する。
このように、管理装置10(リング変更部122)は、ストレージシステム1の空き容量に基づいて、レプリカ数記憶部111が記憶する上限値と下限値との間でレプリカ数の設定をコンテナごとに変更する。
次に、図13を参照して、本実施形態におけるストレージシステム1のオブジェクトの追加処理の動作について説明する。
図13は、本実施形態におけるオブジェクトの追加処理の一例を示すフローチャートである。
この図において、まず、プロキシノード20は、オブジェクトの追加依頼があるか否かを判定する(ステップS101)。すなわち、プロキシノード20は、例えば、クライアント端末2からネットワークNTを介して、オブジェクトの追加依頼があるか否かを判定する。プロキシノード20は、オブジェクトの追加依頼がある場合(ステップS101:YES)に、処理をステップS102に進める。また、プロキシノード20は、オブジェクトの追加依頼がない場合(ステップS101:NO)に、処理をステップS101に戻す。
ステップS102において、プロキシノード20は、コンテナの管理情報を取得する。すなわち、プロキシノード20は、ストレージノード33(コンテナサーバ)のコンテナ情報記憶部322が記憶するコンテナ管理情報(図7及び図8参照)を取得する。ここでは、プロキシノード20は、例えば、コンテナの重要度を取得する。
次に、プロキシノード20は、コンテナに対応するリングファイルを参照する(ステップS103)。すなわち、プロキシノード20は、コンテナの重要度に対応するリングファイルを、リングファイル記憶部211から参照する。
次に、プロキシノード20は、参照したリングファイルに基づいて、追加するオブジェクトの配置を決定する(ステップS104)。プロキシノード20は、リングファイル内のレプリカ数の設定に基づいて、リングファイル内のリング情報(図3参照)により指定される複数のデバイスを決定する。ここで、プロキシノード20は、リング情報の「デバイスID」に対応するデバイスを図4に示すデバイス一覧情報により特定する。プロキシノード20は、決定したオブジェクトの配置を各ストレージノード30のデバイスに指示する。
次に、ストレージノード30は、オブジェクトの配置指示に基づいて、オブジェクトを配置する(ステップS105)。すなわち、ストレージノード30は、オブジェクトの配置指示に基づいて、オブジェクトを追加する。
次に、プロキシノード20は、コンテナの管理情報を更新する(ステップS106)。すなわち、プロキシノード20は、例えば、オブジェクトを追加したストレージノード33(コンテナサーバ)のコンテナ情報記憶部322が記憶するコンテナ管理情報にオブジェクトを追加する。プロキシノード20は、例えば、コンテナ情報記憶部322が記憶するコンテナ情報の「オブジェクト数」及び「バイト数」を変更するとともに、オブジェクト一覧情報に追加したオブジェクトに対応する行を追加する。ステップS106の処理後に、プロキシノード20は、処理をステップS101に戻す。
なお、上述した図13に示す例では、オブジェクトを追加する場合の一例を説明したが、オブジェクトを削除する場合も基本的には図13に示す処理と同様である。但し、オブジェクトを削除する場合には、プロキシノード20は、コンテナ情報記憶部322が記憶するオブジェクト一覧情報において、削除するオブジェクトに対応する行の「削除済フラグ」を“YES”に変更する。
次に、図14を参照して、本実施形態におけるストレージシステム1のレプリカ数の変更処理の動作について説明する。
図14は、本実施形態におけるレプリカ数の変更処理の一例を示すフローチャートである。なお、図14に示す処理は、所定の時間間隔(例えば、数分単位、又は数時間単位)で定期的に実行されるものとする。
この図において、まず、管理装置10は、ストレージシステム1の空き容量を検出する(ステップS201)。すなわち、管理装置10の空き容量検出部121は、例えば、各アカウントに対応するアカウントサーバが記憶するアカウント管理情報と、各コンテナに対応するコンテナサーバが記憶するコンテナ管理情報とを取得する。空き容量検出部121は、取得したアカウント管理情報及びコンテナ管理情報に基づいて、ストレージシステム1の空き容量を検出する。
次に、管理装置10は、空き容量に応じてレプリカ数を決定する(ステップS202)。すなわち、管理装置10のリング変更部122は、空き容量検出部121が検出した空き容量に基づいてレプリカ数を決定する。具体的に、リング変更部122は、変更情報記憶部112が記憶する変更情報と、空き容量とに基づいて、レプリカ数記憶部111が記憶するレプリカ数の上限値及び下限値の範囲に収まるように、重要度ごとのレプリカ数を決定する。ここで決定されるレプリカ数は、自然数及び小数を含む実数の値である。
次に、リング変更部122は、リングファイルを生成する(ステップS203)。すなわち、リング変更部122は、決定した重要度ごとのレプリカ数に基づいて、重要度ごとのリングファイルを生成する。具体的に、リング変更部122は、例えば、現在のリングファイル内のレプリカ数を変更したリングファイルを生成する。なお、本実施形態では、コンテナ情報記憶部322が記憶するコンテナ情報に「重要度」が記憶されており、コンテナごとに重要度が定められている。そのため、リング変更部122は、リングファイルのレプリカ数を変更することにより、コンテナ単位によりレプリカ数を変更することになる。
次に、リング変更部122は、生成したリングファイルを配布する(ステップS204)。すなわち、リング変更部122は、生成した重要度ごとのリングファイルをプロキシノード20及びストレージノード30に送信する。これにより、プロキシノード20及びストレージノード30は、受信したリングファイルをリングファイル記憶部(211、311、321、331)に記憶させて、リングファイルを更新する。これにより、各ノード(プロキシノード20及びストレージノード30)が保持するリングファイル内に設定されたレプリカ数が更新される。ステップS204の処理後に、リング変更部122は、処理を終了する。
次に、図15を参照して、ストレージシステム1において、更新されたリングファイルに基づいて、ストレージノード30のコンテナごとのレプリカ数が変更されるレプリカ数の調整処理について説明する。
図15は、本実施形態におけるレプリカ数の調整処理の一例を示すフローチャートである。なお、図15に示す処理は、所定の時間間隔(例えば、数分単位など)で定期的に実行されるものとする。
この図において、まず、ストレージシステム1は、リングファイルを確認する(ステップS301)。例えば、プロキシノード20が、リングファイル記憶部211に記憶されている各リングファイルを確認する。プロキシノード20は、例えば、リングファイルの重要度及びレプリカ数を確認する。
次に、プロキシノード20は、リングファイルに対応するコンテナのオブジェクトを確認する(ステップS302)。プロキシノード20は、例えば、コンテナ情報記憶部322が記憶するコンテナ管理情報を取得して、コンテナ管理情報の重要度が一致するリングファイルにより、コンテナ内のオブジェクトを確認する。プロキシノード20は、例えば、現在のコンテナ内の平均レプリカ数を算出する。
次に、プロキシノード20は、オブジェクトの配置の変更が必要である否かを判定する(ステップS303)。すなわち、プロキシノード20は、リングファイルに設定されたレプリカ数と、現在のコンテナ内の平均レプリカ数とが一致するか否かをコンテナごとに判定する。プロキシノード20は、オブジェクトの配置の変更が必要である場合(ステップS303:YES)に、処理をステップS304に進める。また、プロキシノード20は、オブジェクトの配置の変更が必要ない場合(ステップS303:NO)に、処理を終了する。
ステップS304において、プロキシノード20は、複製(レプリカ)を増減するオブジェクトを決定する。すなわち、プロキシノード20は、変更は必要なコンテナにおいて、リングファイルに設定されたレプリカ数と、コンテナ内の平均レプリカ数とが一致するように、削除又は追加するオブジェクトを決定する。なお、プロキシノード20は、オブジェクトの複製を削除又は追加する場合に、コンテナ内のオブジェクトのうち、サイズが大きいオブジェクトを優先する。すなわち、プロキシノード20は、ストレージノード30において、オブジェクトの複製を削除又は追加する場合に、コンテナの配下に格納されているオブジェクトのうち、サイズが大きいオブジェクトを優先する。
次に、プロキシノード20は、決定したオブジェクトを削除又は追加する(ステップS305)。プロキシノード20は、決定したオブジェクトの削除又は追加するストレージノード30に、決定したオブジェクトの削除又は追加を指示する。ストレージノード30は、プロキシノード20からの指示に基づいて、オブジェクトの削除又は追加を実行する。なお、オブジェクトの削除又は追加は、対応するリングファイルにより設定されているデバイスに対して実行される。
次に、プロキシノード20は、コンテナの管理情報を更新する(ステップS306)。すなわち、プロキシノード20は、コンテナ情報記憶部322が記憶するコンテナ管理情報のうち、オブジェクトの削除又は追加を実行したコンテナに対応するコンテナ管理情報を更新する。ステップS306の処理後に、プロキシノード20は、処理を終了する。
このように、ストレージシステム1では、プロキシノード20が、定期的に、リングファイル及びコンテナ管理情報を確認することにより、リングファイルのレプリカ数の設定の変更に応じた、レプリカ数になるようにコンテナごとに調整する。
以上説明したように、本実施形態による管理装置10は、設定されたレプリカ数に基づいて、データ(例えば、オブジェクト)を分散して格納するストレージシステム1の管理装置であって、空き容量検出部121(検出部)と、リング変更部122(変更部)とを備えている。ここで、レプリカ数は、例えば、データを複製して格納する数を示す。空き容量検出部121は、ストレージシステム1の空き容量を検出する。リング変更部122は、空き容量検出部121が検出したストレージシステム1の空き容量に応じて、予め定められたレプリカ数の下限値を下回らないように、レプリカ数の設定を変更する。
これにより、本実施形態による管理装置10は、例えば、空き容量が多い場合に、レプリカ数を増やし、例えば、空き容量が少ない場合にレプリカ数を減らす等、空き容量に応じて、格納データの信頼性を高めることができる。よって、本実施形態による管理装置10は、ストレージの余剰容量を有効に活用しつつ、格納データの信頼性を動的に向上させることができる。
また、本実施形態では、管理装置10は、レプリカ数の上限値及び下限値を記憶するレプリカ数記憶部111を備えている。リング変更部122は、データを格納するコンテナ(階層構造)と重要度とを関連付けて記憶するコンテナ情報記憶部322(重要度記憶部)からコンテナごとの重要度を取得する。リング変更部122は、取得したコンテナごとの重要度と、空き容量とに基づいて、レプリカ数記憶部111が記憶する上限値と下限値との間でレプリカ数の設定をコンテナごとに変更する。
これにより、本実施形態による管理装置10は、レプリカ数記憶部111が記憶する上限値と下限値との間で、コンテナごとの重要度と、空き容量とに基づいて、適切にレプリカ数を変更することができる。
また、本実施形態では、リング変更部122は、レプリカ数を変更したリングファイルを生成し、生成したリングファイルをプロキシノード20(代理装置)及びストレージノード30(ストレージ装置)に送信する。
これにより、空き容量及び重要度に応じて、レプリカ数を変更したリングファイルをプロキシノード20及びストレージノード30に提供することにより、本実施形態による管理装置10は、従来のオブジェクトストレージを利用しつつ、より簡易な方法により動的にレプリカ数を変更することができる。
また、本実施形態によるストレージシステム1は、上述した管理装置10と、コンテナ(階層構造)における平均レプリカ数が、管理装置10によって設定されたレプリカ数になるように、コンテナの配下に格納されているデータのレプリカ数を調整するプロキシノード20とを備えている。
これにより、本実施形態によるストレージシステム1は、例えば、レプリカ数に小数値を設定することができ、レプリカ数を設定する自由度を上げることができる。
また、本実施形態によるストレージシステム1は、管理装置10によって変更されたレプリカ数に基づいて、格納されているデータの複製が削除又は追加される複数のストレージノード30(ストレージ装置)を備えている。プロキシノード20は、ストレージノード30において、データの複製を削除又は追加する場合に、コンテナ(階層構造)の配下に格納されているデータのうち、サイズが大きいデータを優先する。
これにより、レプリカ数が変更された場合に、例えば、サイズの大きいオブジェクトからレプリカ数を変更するので、本実施形態によるストレージシステム1は、空き容量の変化により迅速に対応することができる。そのため、本実施形態によるストレージシステム1は、ストレージの余剰容量を有効に活用しつつ、格納データの信頼性を動的に向上させることができる。
また、本実施形態によるストレージ管理方法は、データを複製して格納する数を示すレプリカ数であって、設定されたレプリカ数に基づいて、データを分散して格納するストレージシステム1のストレージ管理方法であって、検出ステップと、変更ステップとを含んでいる。検出ステップにおいて、管理装置10は、ストレージシステム1の空き容量を検出する。変更ステップにおいて、管理装置10は、検出ステップにて検出したストレージシステム1の空き容量に応じて、予め定められたレプリカ数の下限値を下回らないように、レプリカ数の設定を変更する。
これにより、本実施形態によるストレージ管理方法は、上述した管理装置10及びストレージシステム1と同様に、ストレージの余剰容量を有効に活用しつつ、格納データの信頼性を動的に向上させることができる。
[第2の実施形態]
次に、第2の実施形態によるストレージシステム及び管理装置について図面を参照して説明する。
本実施形態では、重要度に応じて、レプリカ数の上限値及び下限値を変更する点が、上述した第1の実施形態と異なる。
図16は、第2の実施形態によるストレージシステム1aの一例を示すブロック図である。
この図に示すように、ストレージシステム1aは、プロキシノード20と、複数のストレージノード(31、32、33、・・・)と、管理装置10aとを備えている。プロキシノード20と、ストレージノード(31、32、33、・・・)と、管理装置10aとは、ネットワークNTを介して互いに接続される。また、ストレージシステム1aは、ネットワークNTを介してクライアント端末2と接続可能になっている。
なお、この図において、図1に示す構成と同一の構成については同一の符号を付し、その説明を省略する。
管理装置10aは、ストレージシステム1aのレプリカ数を管理するコンピュータ装置である。管理装置10aは、例えば、管理記憶部110aと、管理制御部120aとを備えている。
管理記憶部110aは、管理装置10aの各種処理に利用する情報を記憶する。管理記憶部110aは、例えば、レプリカ数記憶部111aと、変更情報記憶部112とを備えている。
レプリカ数記憶部111aは、例えば、図17に示すように、レプリカ数の上限値及び下限値を記憶する。なお、本実施形態では、重要度ごとに、レプリカ数の上限値及び下限値が予め定められており、レプリカ数記憶部111aは、重要度と、レプリカ数の上限値及び下限値とをかん関連付けて記憶する。
図17は、本実施形態におけるレプリカ数記憶部111aのデータ例を示す図である。
この図に示すように、レプリカ数記憶部111aは、「重要度」と、「上限値」と、「下限値」とを関連付けて記憶する。ここでの「重要度」は、例えば、コンテナごとに設定される重要度のことである。
図17に示し例では、「重要度」が“100”の場合に、「上限値」が“5”、「下限値」が“3”であることを示している。また、「重要度」が“10”の場合に、「上限値」が“3”、「下限値」が“2”であることを示している。
このように、レプリカ数記憶部111aは、重要度ごとのレプリカ数の上限値及び下限値を記憶する。なお、上述した図17に示す例では、重要度ごとに、レプリカ数の上限値及び下限値を変更する一例を説明したが、レプリカ数の上限値及び下限値のうちの少なくとも一方が重要度ごと変更されるようにしてもよい。
図16の説明に戻り、本実施形態の変更情報記憶部112は、第1の実施形態と同様であるが、重要度ごとのレプリカ数の上限値及び下限値が設定される点において異なる。
管理制御部120aは、例えば、CPUなどを含むプロセッサであり、管理装置10aを統括的に制御する。管理制御部120aは、例えば、空き容量検出部121と、リング変更部122aと、重要度変更部123とを備えている。
リング変更部122aは、基本的には第1の実施形態におけるリング変更部122と同様であるが、レプリカ数記憶部111aが記憶する重要度ごとの上限値及び下限値を用いる点が異なる。リング変更部122aは、コンテナ情報記憶部322からコンテナごとの重要度を取得し、取得したコンテナごとの重要度に対応するレプリカ数の上限値及び下限値をレプリカ数記憶部111aから取得する。リング変更部122aは、取得したレプリカ数の上限値と下限値との間でレプリカ数の設定をコンテナごとに変更する。
重要度変更部123(変更部の一例)は、例えば、クライアント端末2からの変更要求に応じて、コンテナごとの重要度を変更する。重要度変更部123は、取得した変更要求に基づいて、コンテナ情報記憶部322が記憶する「重要度」の値を変更する。なお、重要度変更部123は、クライアント端末2からの変更要求の他に、各コンテナへのアクセス頻度に応じて、重要度を変更するようにしてもよい。すなわち、重要度変更部123は、各コンテナに対するアクセス頻度を検出し、例えば、アクセス頻度の高いコンテナの重要度を高める処理を実行する。本実施形態のストレージシステム1aでは、アクセス頻度の高いコンテナの重要度が高められることにより、当該コンテナに対応するレプリカ数の上限値及び下限値が変更され、格納データの信頼性が向上される。
以上説明したように、本実施形態による管理装置10aは、レプリカ数記憶部111aは、重要度ごとのレプリカ数の上限値及び下限値を記憶する。ここで、レプリカ数の上限値及び下限値のうちの少なくとも一方は、コンテナ(階層構造)の重要度に基づいて設定される。
これにより、本実施形態による管理装置10aは、重要度に応じて、レプリカ数をコンテナごとに柔軟に変更することができる。
また、本実施形態による管理装置10aは、各コンテナへのアクセス頻度に応じて、重要度を変更する重要度変更部123を備えている。
これにより、本実施形態による管理装置10aは、コンテナへのアクセス頻度に応じて、ストレージの余剰容量を有効に活用しつつ、格納データの信頼性を動的に向上させることができる。
なお、本発明は、上記の各実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で変更可能である。
例えば、上記の各実施形態において、階層構造の一例として、コンテナごとに、重要度を設定する例を説明したが、これに限定されるものではなく、オブジェクトごと、アカウントごとに、重要度を設定するようにしてもよい。
また、上記の各実施形態において、重要度ごとにリングファイルが設けられている例を説明したが、これに限定されるものではなく、例えば、コンテナごとにリングファイルが設けられていてもよい。
また、上記の各実施形態において、レプリカ数の調整処理をプロキシノード20が実行する例を説明したが、コンテナサーバ(ストレージノード32)などの他の装置が実行するようにしてもよい。
また、プロキシノード20が、レプリカ数の調整処理を定期的に実行する例を説明したが、これに限定されるものではなく、オブジェクトの追加又は削除(消去)の要求がクライアント端末2からあった場合、レプリカ数の調整処理を実行するようにしてもよい。
また、上記の各実施形態において、管理装置10(10a)は、1つの装置で実現する例を説明したが、複数のサーバ装置により実現されてもよい。また、管理記憶部110(110a)の一部又は全部を管理装置10(10a)の外部に備えるようにしてもよい。
また、管理装置10(10a)は、変更情報記憶部112を備える例を説明したが、変更情報記憶部112を備える代わりに、演算などの他の手段により、上限値と下限値との間のレプリカ数を生成するようにしてもよい。
上記の各実施形態において、データ(例えば、オブジェクト)の複製を削除又は追加する場合に、サイズが大きいデータ(例えば、オブジェクト)を優先する例を説明したが、これに限定されるものではい。例えば、削除又は追加するデータ(例えば、オブジェクト)は、ランダムに決定されてもよいし、他のルールに従って決定されてもよい。
なお、上述したストレージシステム1(1a)が備える各構成は、内部に、コンピュータシステムを有している。そして、上述したストレージシステム1(1a)が備える各構成の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより上述したストレージシステム1(1a)が備える各構成における処理を行ってもよい。ここで、「記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行する」とは、コンピュータシステムにプログラムをインストールすることを含む。ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。
また、「コンピュータシステム」は、インターネットやWAN、LAN、専用回線等の通信回線を含むネットワークを介して接続された複数のコンピュータ装置を含んでもよい。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。このように、プログラムを記憶した記録媒体は、CD−ROM等の非一過性の記録媒体であってもよい。
また、記録媒体には、当該プログラムを配信するために配信サーバからアクセス可能な内部又は外部に設けられた記録媒体も含まれる。なお、プログラムを複数に分割し、それぞれ異なるタイミングでダウンロードした後にストレージシステム1(1a)が備える各構成で合体される構成や、分割されたプログラムのそれぞれを配信する配信サーバが異なっていてもよい。さらに「コンピュータ読み取り可能な記録媒体」とは、ネットワークを介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、上述した機能の一部を実現するためのものであってもよい。さらに、上述した機能をコンピュータシステムに既に記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
また、上述した機能の一部又は全部を、LSI(Large Scale Integration)等の集積回路として実現してもよい。上述した各機能は個別にプロセッサ化してもよいし、一部、又は全部を集積してプロセッサ化してもよい。また、集積回路化の手法はLSIに限らず専用回路、又は汎用プロセッサで実現してもよい。また、半導体技術の進歩によりLSIに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いてもよい。
1、1a ストレージシステム
2 クライアント端末
10、10a 管理装置
20 プロキシノード
30、33 ストレージノード
31 ストレージノード(アカウントサーバ)
32 ストレージノード(コンテナサーバ)
110、110a 管理記憶部
111、111a レプリカ数記憶部
112 変更情報記憶部
120、120a 管理制御部
121 空き容量検出部
122、122a リング変更部
123 重要度変更部
210、310、320、330 記憶部
211、311、321、331 リングファイル記憶部
312 アカウント情報記憶部
322 コンテナ情報記憶部
NT ネットワーク

Claims (7)

  1. データを複製して格納する数を示すレプリカ数であって、設定されたレプリカ数に基づいて、前記データを分散して格納するストレージシステムの管理装置であって、
    前記ストレージシステムの空き容量を検出する検出部と、
    前記検出部が検出した前記ストレージシステムの空き容量に応じて、予め定められた前記レプリカ数の下限値を下回らないように、前記レプリカ数の設定を変更する変更部と
    を備えることを特徴とする管理装置。
  2. 前記レプリカ数の上限値及び下限値を記憶するレプリカ数記憶部を備え、
    前記変更部は、
    前記データを格納する階層構造と重要度とを関連付けて記憶する重要度記憶部から前記階層構造ごとの重要度を取得し、取得した前記階層構造ごとの重要度と、前記空き容量とに基づいて、前記レプリカ数記憶部が記憶する前記上限値と前記下限値との間で前記レプリカ数の設定を前記階層構造ごとに変更する
    ことを特徴とする請求項1に記載の管理装置。
  3. 前記レプリカ数記憶部は、重要度ごとの前記レプリカ数の上限値及び下限値を記憶し、
    前記レプリカ数の上限値及び下限値のうちの少なくとも一方は、前記階層構造の重要度に基づいて設定される
    ことを特徴とする請求項2に記載の管理装置。
  4. 請求項1から請求項3のいずれか一項に記載の管理装置と、
    前記データを格納する階層構造における平均レプリカ数が、前記管理装置によって設定された前記レプリカ数になるように、前記階層構造の配下に格納されているデータのレプリカ数を調整するサーバ装置と
    を備えること特徴とするストレージシステム。
  5. 前記管理装置によって変更された前記レプリカ数に基づいて、格納されているデータの複製が削除又は追加される複数のストレージ装置を備え、
    前記サーバ装置は、前記ストレージ装置において、前記データの複製を削除又は追加する場合に、前記階層構造の配下に格納されているデータのうち、サイズが大きいデータを優先する
    ことを特徴とする請求項4に記載のストレージシステム。
  6. データを複製して格納する数を示すレプリカ数であって、設定されたレプリカ数に基づいて、前記データを分散して格納するストレージシステムのストレージ管理方法であって、
    前記ストレージシステムの空き容量を検出する検出ステップと、
    前記検出ステップにて検出した前記ストレージシステムの空き容量に応じて、予め定められた前記レプリカ数の下限値を下回らないように、前記レプリカ数の設定を変更する変更ステップと
    を含むことを特徴とするストレージ管理方法。
  7. データを複製して格納する数を示すレプリカ数であって、設定されたレプリカ数に基づいて、前記データを分散して格納するストレージシステムのコンピュータに、
    前記ストレージシステムの空き容量を検出する検出ステップと、
    前記検出ステップにて検出した前記ストレージシステムの空き容量に応じて、予め定められた前記レプリカ数の下限値を下回らないように、前記レプリカ数の設定を変更する変更ステップと
    を実行させるためのプログラム。
JP2014233706A 2014-11-18 2014-11-18 管理装置、ストレージシステム、ストレージ管理方法、及びプログラム Pending JP2016099659A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014233706A JP2016099659A (ja) 2014-11-18 2014-11-18 管理装置、ストレージシステム、ストレージ管理方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014233706A JP2016099659A (ja) 2014-11-18 2014-11-18 管理装置、ストレージシステム、ストレージ管理方法、及びプログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2019045468A Division JP6676203B2 (ja) 2019-03-13 2019-03-13 管理装置、ストレージシステム、ストレージ管理方法、及びプログラム

Publications (1)

Publication Number Publication Date
JP2016099659A true JP2016099659A (ja) 2016-05-30

Family

ID=56077848

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014233706A Pending JP2016099659A (ja) 2014-11-18 2014-11-18 管理装置、ストレージシステム、ストレージ管理方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP2016099659A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6061164B1 (ja) * 2016-06-03 2017-01-18 壮大 早坂 情報処理装置、情報処理方法、およびプログラム
JP2021105964A (ja) * 2019-12-27 2021-07-26 Necソリューションイノベータ株式会社 情報処理方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003131971A (ja) * 2001-10-19 2003-05-09 Matsushita Electric Ind Co Ltd 情報処理システム、クライアント装置、サーバ装置及び情報処理プログラム
JP2010218069A (ja) * 2009-03-16 2010-09-30 Fujitsu Ltd ストレージ管理装置、ストレージシステム、ストレージ管理方法
WO2013093994A1 (ja) * 2011-12-19 2013-06-27 富士通株式会社 ストレージシステム、データリバランシングプログラム及びデータリバランシング方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003131971A (ja) * 2001-10-19 2003-05-09 Matsushita Electric Ind Co Ltd 情報処理システム、クライアント装置、サーバ装置及び情報処理プログラム
JP2010218069A (ja) * 2009-03-16 2010-09-30 Fujitsu Ltd ストレージ管理装置、ストレージシステム、ストレージ管理方法
WO2013093994A1 (ja) * 2011-12-19 2013-06-27 富士通株式会社 ストレージシステム、データリバランシングプログラム及びデータリバランシング方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6061164B1 (ja) * 2016-06-03 2017-01-18 壮大 早坂 情報処理装置、情報処理方法、およびプログラム
JP2021105964A (ja) * 2019-12-27 2021-07-26 Necソリューションイノベータ株式会社 情報処理方法
JP7491545B2 (ja) 2019-12-27 2024-05-28 Necソリューションイノベータ株式会社 情報処理方法

Similar Documents

Publication Publication Date Title
US10896102B2 (en) Implementing secure communication in a distributed computing system
US10394847B2 (en) Processing data in a distributed database across a plurality of clusters
US9317519B2 (en) Storage system for eliminating duplicated data
US9195494B2 (en) Hashing storage images of a virtual machine
JP6328432B2 (ja) ゲートウェイ装置、ファイルサーバシステム及びファイル分散方法
US10715622B2 (en) Systems and methods for accelerating object stores with distributed caching
US9031906B2 (en) Method of managing data in asymmetric cluster file system
RU2653292C2 (ru) Перенос служб через границы кластеров
US20160378846A1 (en) Object based storage cluster with multiple selectable data handling policies
CN107357896A (zh) 数据库集群的扩容方法、装置、系统和数据库集群系统
US20210185142A1 (en) Cache storage for streaming data
US20130055371A1 (en) Storage control method and information processing apparatus
CN104580439B (zh) 一种云存储系统中使数据均匀分布的方法
JP2010198383A (ja) ストレージ装置、ソフトウェア更新方法およびソフトウェア更新プログラム
US20190213240A1 (en) Multimodal sharing of content between documents
CN111444157B (zh) 分布式文件系统及数据访问方法
CN110022338A (zh) 文件读取方法、系统、元数据服务器和用户设备
JP2016099659A (ja) 管理装置、ストレージシステム、ストレージ管理方法、及びプログラム
US10127270B1 (en) Transaction processing using a key-value store
JP6676203B2 (ja) 管理装置、ストレージシステム、ストレージ管理方法、及びプログラム
JP6110354B2 (ja) 異種記憶サーバおよびそのファイル記憶方法
CN110058790B (zh) 用于存储数据的方法、设备和计算机程序产品
JP6568232B2 (ja) 計算機システム、及び、装置の管理方法
CN112929459B (zh) 一种边缘系统及数据操作请求的处理方法
CN108733822A (zh) 一种文件存储方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170915

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180531

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180605

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180803

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20190108