JP7021742B2 - 情報処理装置、情報処理方法、プログラム - Google Patents

情報処理装置、情報処理方法、プログラム Download PDF

Info

Publication number
JP7021742B2
JP7021742B2 JP2017223865A JP2017223865A JP7021742B2 JP 7021742 B2 JP7021742 B2 JP 7021742B2 JP 2017223865 A JP2017223865 A JP 2017223865A JP 2017223865 A JP2017223865 A JP 2017223865A JP 7021742 B2 JP7021742 B2 JP 7021742B2
Authority
JP
Japan
Prior art keywords
virtual storage
data
write
storage node
information processing
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
JP2017223865A
Other languages
English (en)
Other versions
JP2019095995A (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
NEC Solutions Innovators Ltd
Original Assignee
NEC Corp
NEC Solutions Innovators 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 NEC Corp, NEC Solutions Innovators Ltd filed Critical NEC Corp
Priority to JP2017223865A priority Critical patent/JP7021742B2/ja
Publication of JP2019095995A publication Critical patent/JP2019095995A/ja
Application granted granted Critical
Publication of JP7021742B2 publication Critical patent/JP7021742B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、情報処理装置、情報処理方法、プログラムに関し、特に、仮想的なストレージシステムを実現する情報処理装置、情報処理方法、プログラムに関する。
情報処理装置上で仮想的なストレージシステムを構築する技術が知られている。
例えば、特許文献1には、システムを構成する仮想マシンの数を減らすスケールインやシステムを構成する仮想マシンの数を増やすスケールアウトなどの処理を実行する機能を有するサーバ管理装置が記載されている。具体的には、特許文献1には、収集した構成情報から稼働する仮想サーバ数が最も少ない物理サーバを選択し、選択した物理サーバ上で稼働する仮想サーバを停止する処理を行うサーバ管理装置が記載されている。特許文献1によると、このように構成することで、片寄処理を行う際などにおいてシステム構成の変更回数を出来る限り削減し、消費電力を削減することが可能となる。
また、上記のようなストレージシステムでは、容量確保などを目的として重複排除を行うことがある。このような重複排除処理を行う際に活用可能な技術として、例えば、特許文献2がある。特許文献2には、クライアントから低い優先度が付加されたファイルを受信した際にサーバ装置が高負荷状態である場合、必須処理のみを行った後、ファイルを第1の保存領域に保存する。そして、サーバ装置が低負荷にあることが確認された後、第1の保存領域に保存されているファイルを読出し、重複排除処理などの付加処理を行って、ファイルを第2の保存領域に保存する。特許文献2によると、このような処理を行うことにより、ファイルの優先度を考慮した上で、ファイル処理の負荷を平滑化することが出来る。
特許第5378946号 特許第5622175号
特許文献1に記載されているような装置において、仮想的なストレージシステムを構成する仮想マシンの数を減らすスケールインを行う場合、仮想マシンの削除に伴うデータの再配置を行うことが必要となる。その結果、スケールインなどの構成変更を行う際に時間がかかる、という問題が生じていた。
また、特許文献2に記載されている技術は、低優先度のファイルでありかつサーバ装置が高負荷状態である場合、サーバ装置が低負荷になった後重複排除などの処理を行う、というものであり、構成変更を行う際の時間の短縮には寄与しない。そのため、特許文献2に記載されている技術を用いたとしても、スケールインなどの構成変更を行う際に時間がかかる、という問題を解決することは難しかった。また、特許文献2に記載されている技術の場合、後々に重複排除処理などの付加処理を残すことになる。その結果、構成変更を行う際に重複排除を行うことが必要となり、構成変更に要する時間が増大するおそれもあった。
このように、仮想的なストレージシステムにおいては、スケールインなどの構成変更を行う際にかかる時間を短縮することが難しい、という問題が生じていた。
そこで、本発明の目的は、仮想的なストレージシステムにおいては、スケールインなどの構成変更を行う際にかかる時間を短縮することが難しい、という問題を解決する情報処理装置、情報処理方法、プログラムを提供することにある。
かかる目的を達成するため本発明の一形態である情報処理装置は、
仮想マシンである仮想ストレージノードを複数起動する仮想化手段を有し、
前記仮想ストレージノードは、
データの読み書きを行う際にかかる負荷状況に応じて、起動中の前記仮想ストレージノードの全てが書き込み対象となる書き込み処理か、起動中の前記仮想ストレージノードのうちの予め定められた一部の前記仮想ストレージノードのみが書き込み対象となる書き込み処理、のいずれか一方の書き込み処理を実行する
という構成を採る。
また、本発明の他の形態である情報処理方法は、
情報処理装置が、
仮想マシンである仮想ストレージノードを複数起動し、
前記仮想ストレージノードは、データの読み書きを行う際にかかる負荷状況に応じて、起動中の前記仮想ストレージノードの全てが書き込み対象となる書き込み処理か、起動中の前記仮想ストレージノードのうちの予め定められた一部の前記仮想ストレージノードのみが書き込み対象となる書き込み処理、のいずれか一方の書き込み処理を実行する
という構成を採る。
また、本発明の他の形態であるプログラムは、
情報処理装置に、
仮想マシンである仮想ストレージノードを複数起動する仮想化手段を実現させ、
前記仮想ストレージノードは、
データの読み書きを行う際にかかる負荷状況に応じて、起動中の前記仮想ストレージノードの全てが書き込み対象となる書き込み処理か、起動中の前記仮想ストレージノードのうちの予め定められた一部の前記仮想ストレージノードのみが書き込み対象となる書き込み処理、のいずれか一方の書き込み処理を実行する
処理を実現させるためのプログラムである。
本発明は、以上のように構成されることにより、仮想的なストレージシステムにおいては、スケールインなどの構成変更を行う際にかかる時間を短縮することが難しい、という問題を解決する情報処理装置、情報処理方法、プログラムを提供することが可能となる。
本発明の第1の実施形態に係る情報処理システムの全体の構成の一例を示すブロック図である。 仮想ストレージノードのグループ分けの一例を示すブロック図である。 図1で示す仮想ストレージノードの構成の一例を示すブロック図である。 第1のデータ配置の一例を説明するための図である。 第1のデータ配置の一例を説明するための図である。 第2のデータ配置の一例を説明するための図である。 第2のデータ配置の一例を説明するための図である。 仮想管理ノードの構成の一例を示すブロック図である。 データ配置管理部により行われるデータの再配置の一例を示す図である。 情報処理装置により行われる処理の一例をまとめた表である。 仮想管理ノードにより行われる処理の一例を示すフローチャートである。 仮想管理ノードにより行われる他の処理の一例を示すフローチャートである。 ファイルの書き込み要求を受信した際に情報処理装置により行われる処理の一例を示すフローチャートである。 仮想ストレージノードのグループ分けの他の一例を示すブロック図である。 本発明の第2の実施形態に係る情報処理装置の構成の一例を示す図である。
[第1の実施形態]
本発明の第1の実施形態を図1から図14までを参照して説明する。図1は、情報処理システム1の全体の構成の一例を示すブロック図である。図2は、仮想ストレージノード211のグループ分けの一例を示すブロック図である。図3は、仮想ストレージノード211の構成の一例を示すブロック図である。図4、図5は、第1のデータ配置の一例を説明するための図である。図6、図7は、第2のデータ配置の一例を説明するための図である。図8は、仮想管理ノード212の構成の一例を示すブロック図である。図9は、データ配置管理部2122により行われるデータの再配置の一例を示す図である。図10は、情報処理装置2により行われる処理の一例をまとめた表である。図11、図12は、仮想管理ノード212により行われる処理の一例を示すフローチャートである。図13は、ファイルの書き込み要求を受信した際に情報処理装置2により行われる処理の一例を示すフローチャートである。図14は、仮想ストレージノード211のグループ分けの他の一例を示すブロック図である。
第1の実施形態では、仮想化手段21上で複数の仮想ストレージノード211を起動することにより仮想的なストレージシステムを情報処理装置2上に実現する、情報処理システム1について説明する。後述するように、本実施形態における情報処理装置2は、当該情報処理装置2がデータの読み書きなどを行う際にかかる負荷状況を監視する。そして、情報処理装置2は、負荷状況の監視結果に応じて、書き込み対象となる仮想ストレージノード211を変更する。換言すると、情報処理装置2は、負荷状況の監視結果に応じて、複数種類のデータ配置を使い分けるよう構成されている。
図1は、情報処理システム1の全体の構成の一例を示している。図1を参照すると、情報処理システム1は、情報処理装置2と、クライアント装置3と、を有している。また、情報処理装置2とクライアント装置3とは、互いに通信可能なよう接続されている。
情報処理装置2は、例えば、複数の物理ディスク(ディスク装置)を有している。情報処理装置2は、クライアント装置3から受信した書き込み要求や読み出し要求などの各種要求に応じて、データの格納やデータの読み出しなどの各種処理を行う仮想的なストレージシステムとして機能する。なお、情報処理装置2は、仮想的なストレージシステムとしての機能以外の機能を有していても構わない。換言すると、情報処理装置と仮想化手段を有する、他の情報処理システム内に、その一部として、当該の仮想的なストレージシステムとしての機能を与えても構わない。つまり、本実施形態で説明する情報処理装置2において実現される仮想的案ストレージシステムは、他のシステムと共存可能である。
図1を参照すると、情報処理装置2は仮想化手段21を有している。例えば、情報処理装置2は、図示しないCPU(Central Processing Unit)などの演算装置と記憶装置とを有しており、記憶装置が有するプログラムを演算装置が実行することで、仮想化手段21を実現する。
仮想化手段21は、情報処理装置2上で複数の仮想マシンを起動する。具体的には、仮想化手段21は、仮想マシンである複数の仮想ストレージノード211と、仮想マシンである仮想管理ノード212と、を起動する。このように、仮想化手段21は、仮想ストレージノード211と仮想管理ノード212とを起動することで、情報処理装置2上に仮想的なストレージシステムを構築する。
また、仮想化手段21は、起動中の仮想マシンの数を増減する処理である構成変更処理を実行可能なよう構成されている。例えば、仮想化手段21は、仮想マシンである仮想ストレージノード211の数を減らすスケールインを行うことが出来る。また、仮想化手段21は、仮想マシンである仮想ストレージノード211の数を増やすスケールアウトを行うことが出来る。このように、仮想化手段21は、仮想ストレージノード211の数を増減するスケールイン・スケールアウトを実行可能なよう構成されている。仮想化手段21は、仮想管理ノード212の数を増減するスケールイン・スケールアウトを実行可能なよう構成されても構わない。
また、仮想化手段21は、起動中の仮想ストレージノード211をグループAとグループBの2つのグループに分けて管理することが出来る。図2は、起動中の仮想ストレージノード211の数が4つである場合のグループ分けの一例を示している。図2を参照すると、起動中の仮想ストレージノード211の数が4つである場合、例えば、3つの仮想ストレージノード211AからなるグループAと、1つの仮想ストレージノード211BからなるグループBと、の2つのグループに分けることが出来る。
上記グループ分けは、例えば、スケールインの対象になるか否かに応じて行われる。例えば、図2で示すグループAに属する仮想ストレージノード211Aは、スケールインの対象とならないノードである。一方、図2で示すグループBに属する仮想ストレージノード221Bは、スケールインの対象となるノードである。このようにグループ分けした場合、仮想化手段21は、スケールイン処理を行う際に、グループBである仮想ストレージノード221Bの中から削減する仮想ストレージノード211を選択することになる。
なお、仮想化手段21によるグループ分けは、例えば、スケールイン・スケールアウトを行うごとに更新することが出来る。仮想化手段21によるグループ分けは、その他任意のタイミングで必要に応じて変更可能なよう構成しても構わない。また、図2では、あくまでグループ分けの一例を示している。仮想化手段21は、例えば、起動中の4つの仮想ストレージノード211を、2つの仮想ストレージノード211Aと2つ仮想ストレージノード211Bとに分けるなど、図2で例示した以外のグループ分けを行っても構わない。
仮想ストレージノード211は、クライアント装置3から受信したファイルの書き込み要求や読み出し要求などの各種処理要求に応じて、データの格納処理やデータの読み出し処理などを行う。仮想ストレージノード211は、例えば、1台の仮想ストレージノード211につき1つの物理ディスクを専有している(例示した以外の構成でも構わない)。上述したように、起動中の仮想ストレージノード211は、グループAとグループBのいずれかに属することが出来る。
図3は、仮想ストレージノード211の構成の一例を示している。換言すると、仮想化手段21は、図3で示すような各種機能を有するよう仮想ストレージノード211を起動する。図3を参照すると、仮想ストレージノード211は、ファイルシステム部2111と、重複排除部2112(重複排除手段)と、データ格納部2113と、記憶装置2114と、を有している。
ファイルシステム部2111は、クライアント装置から送信されたファイルの書き込み要求やファイルの読み出し要求などの各種処理要求を受信する。すると、ファイルシステム部2111は、受信した各種処理要求に応じた処理を実行する。
例えば、クライアント装置3からファイルの書き込み要求を受信した場合、ファイルシステム部2111は、書き込み対象のファイルを固定長または可変長のブロックデータへと分割する。そして、分割したブロックデータを重複排除部2112へと送信する。また、ファイルシステム部2111は、ブロックデータの格納先を示す情報を重複排除部2112などから取得する。そして、ファイルシステム部2111は、記憶対象データのファイル名などの識別情報と当該ファイルを構成する各ブロックデータの格納先を示す情報とを関連付けて管理する。
また、ファイルシステム部2111は、クライアント装置3からファイルの読み出し要求を受信した場合、ファイル名などの識別情報と格納先を示す情報とを関連付けた情報を参照する。そして、ファイルシステム部2111は、読み出し対象のファイルを構成する各ブロックデータを最新の格納先から読み出し、ファイルを復元する。その後、ファイルシステム部2111は、復元したファイルをクライアント装置3へと送信する。
重複排除部2112は、ファイルシステム部2111からブロックデータを受信する。すると、重複排除部2112は、受信したブロックデータが既に情報処理装置2に格納されているか否か確認する重複判定処理を実行する。そして、重複排除部2112は、重複の有無に応じた処理を行う。
例えば、重複排除部2112は、ブロックデータのデータ内容に基づいて、当該データ内容を代表する固有のハッシュ値を算出する。具体的には、例えば、重複排除部2112は、予め設定されたハッシュ関数を用いて、ブロックデータのデータ内容からハッシュ値を算出する。
続いて、重複排除部2112は、算出したハッシュ値を用いて、ブロックデータが既に情報処理装置2に格納されているか否か調べる。例えば、重複排除部2112は、既に格納しているブロックデータに基づいて算出されるハッシュ値と、当該ブロックデータの格納位置を示す情報とを対応付けた情報を有している。重複排除部2112は、当該情報を参照することで、同一内容のブロックデータが既に情報処理装置2に格納されているか否か判断する。つまり、重複排除部2112は、ブロックデータのデータ内容から算出したハッシュ値が上記対応付けた情報に含まれるか否か確認する。そして、算出したハッシュ値が上記対応付けた情報に含まれる場合、重複排除部2112は、同一内容のブロックデータが既に情報処理装置2に格納されていると判断する。
同一内容のブロックデータが既に情報処理装置2に格納されていると判断した場合、重複排除部2112は、上記対応付けた情報を参照して、ハッシュ値と対応付けられている格納位置を示す情報を取得する。そして、重複排除部2112は、取得した格納位置を示す情報をファイルシステム部2111に返却する。このように、重複排除部2112は、既に同一内容のブロックデータが格納されている場合、同一内容のブロックデータを再度格納しない。
一方、同一内容のブロックデータが情報処理装置2に格納されていないと判断した場合、重複排除部2112は、格納先情報2115を参照する。そして、重複排除部2112は、格納先情報2115が示す仮想ストレージノード211のデータ格納部2113へとブロックデータを送信する。つまり、重複排除部2112は、格納先情報2115に基づいて特定される仮想ストレージノード211に対してブロックデータを記憶するよう指示する。
ここで、格納先情報2115について詳細に説明する。格納先情報2115は、ブロックデータに基づいて算出されるハッシュ値に応じたブロックデータの格納先(つまり、データの格納先)を示す情報である。格納先情報2115は、後述する仮想管理ノード212のデータ配置管理部2122により管理される。
具体的には、格納先情報2115は、第1のデータ配置と、第2のデータ配置と、のうちのいずれかのデータ配置を示している。
図4、図5は、第1のデータ配置の一例を説明するための図である。第1のデータ配置は、起動中の仮想ストレージノード211のうち、グループAに属する仮想ストレージノード211Aのみがブロックデータの書き込み対象となるデータ配置である。格納先情報2115が第1のデータ配置を示す場合、ブロックデータに基づいて算出されるハッシュ値は、グループAに属する仮想ストレージノード211Aのうちのいずれかに配分されることになる。つまり、重複排除部2112は、格納先情報2115が第1のデータ配置を示している場合、例えば図4で示すように、グループAに属する仮想ストレージノード211Aのうちのいずれかにブロックデータを送信する。換言すると、重複排除部2112は、起動中の仮想ストレージノード211のうちの予め定められた一部の仮想ストレージノード211である仮想ストレージノード211Aのみが書き込み対象となる書き込み処理を実行する。グループA内のどの仮想ストレージノード211Aにブロックデータを送信するかは、ブロックデータのハッシュ値に基づいて特定する。
なお、グループBに属する仮想ストレージノード211Bのファイルシステム部2111が書き込み要求を受信することもある。このような場合でも、格納先情報2115が第1のデータ配置を示している場合、仮想ストレージノード211Bの重複排除部2112は、グループAに属する仮想ストレージノード211Aが有するデータ格納部2113のいずれかにブロックデータを送信する(図5参照)。
また、図6、図7は、第2のデータ配置の一例を説明するための図である。第2のデータ配置は、起動中の仮想ストレージノード211の全てがブロックデータの書き込み対象となるデータ配置である。つまり、第2のデータ配置の場合、グループAに属する仮想ストレージノード211Aと、グループBに属する仮想ストレージノード211Bとの全てが、ブロックデータの書き込み対象となる。格納先情報2115が第2のデータ配置を示す場合、ブロックデータに基づいて算出されるハッシュ値は、起動中の仮想ストレージノード211全体のうちのいずれかに配分されることになる。つまり、重複排除部2112は、格納先情報2115が第2のデータ配置を示している場合、例えば図6で示すように、起動中の全ての仮想ストレージノード211のうちのいずれかにブロックデータを送信する。換言すると、重複排除部2112は、起動中の仮想ストレージノード211の全てが書き込み対象となる書き込み処理を実行する。全体の内のどの仮想ストレージノード211にブロックデータを送信するかは、ブロックデータのハッシュ値に基づいて特定する。
なお、第1のデータ配置の場合と同様に、グループBに属する仮想ストレージノード211Bのファイルシステム部2111が書き込み要求を受信することもある。このような場合において格納先情報2115が第2のデータ配置を示している場合、仮想ストレージノード211Bの重複排除部2112は、全ての仮想ストレージノード211が有するデータ格納部2113のいずれかにブロックデータを送信する(図7参照)。
以上のように、重複排除部2112は、格納先情報2115が示すデータ格納部2113へとブロックデータを送信する。重複排除部2112によるブロックデータの送信先候補は、格納先情報2115が第1のデータ配置を示しているか第2のデータ配置を示しているかに応じて変化する。
なお、重複排除部2112は、ブロックデータが既に情報処理装置2に格納されているか否か調べた後、格納対象のブロックデータを圧縮して更に複数のフラグメントデータに分割するよう構成することが出来る。また、重複排除部2112は、分割したフラグメントデータに冗長データを追加することが出来る。重複排除部2112は、分割したフラグメントデータやフラグメントデータに冗長データを追加したデータを、格納先情報2115に基づいて各仮想ストレージノード211のデータ格納部2113へと送信するよう構成しても構わない。このように、重複排除部2112は、必要に応じて冗長度を付加する処理などを行うよう構成しても構わない。つまり、重複排除部2112は、ブロックデータではなくブロックデータを分割したフラグメントデータや冗長データを格納先情報2115に基づいて各仮想ストレージノード211へと送信するよう構成しても構わない。換言すると、重複排除部2112は、ブロックデータを分割した状態で複数の仮想ストレージノード211へと送信するよう構成することが出来る。また、当該のフラグメントデータや冗長データをそれぞれ異なる仮想ストレージノード211のデータ格納部2113へと送信しても構わない。つまり、重複排除部2112は、フラグメントデータ毎に格納先を変えるよう構成することが出来る。その際、例えば、ブロックのハッシュ値と、フラグメントや冗長データのブロック内での識別番号と、を統合した情報をもとに格納先となる仮想ストレージノード211を選択し、格納先情報2115とする。換言すると、格納先情報2115は、ブロックデータのハッシュ値やブロック内での識別番号などから構成される情報に応じたフラグメントデータや冗長データの格納先を示す情報であっても構わない。
データ格納部2113は、重複排除部2112からブロックデータを受信する。すると、データ格納部2113は、当該データ格納部2113を有する仮想ストレージノード211の記憶装置2114にブロックデータを格納する。そして、データ格納部2113は、ブロックデータの格納先を示す情報をファイルシステム部2111へと返却する。
また、データ格納部2113は、後述する仮想管理ノード212のデータ配置管理部2122からの指示に応じて、データの再配置を行う。データの再配置処理の詳細は後述する。
記憶装置2114は、複数の物理ディスク、又は、1つの物理ディスクの一部と対応する。記憶装置2114には、ブロックデータが格納される。
以上が、仮想ストレージノード211の構成の一例である。続いて、仮想管理ノード212の構成の一例について説明する。
仮想管理ノード212は、情報処理装置2の負荷状況を監視して、負荷状況の監視結果に基づく処理を実行する。例えば、仮想管理ノード212は、負荷状況の監視結果に基づいて、仮想ストレージノード211の格納先情報2115を更新する。また、仮想管理ノード212は、負荷状況の監視結果に基づいて、グループBに属する仮想ストレージノード211の記憶装置2114に格納されたブロックデータをグループAに属する仮想ストレージノード211へと移行させるデータの再配置処理を指示する。
図8は、仮想管理ノード212の構成の一例を示している。換言すると、仮想化手段21は、図8で示すような各種機能を有するよう仮想管理ノード212を起動する。図8を参照すると、仮想管理ノード212は、負荷監視部2121(負荷監視手段)と、データ配置管理部2122(データ配置管理手段)と、を有している。
負荷監視部2121は、情報処理装置2の負荷状況を監視する。例えば、負荷監視部2121は、情報処理装置2の負荷状況として、データの読み書きに伴い情報処理装置2にかかる負荷の状況を監視する。具体的には、例えば、負荷監視部2121は、情報処理装置2が有する物理ディスクのビジー率(例えば、起動中の仮想ストレージノード211と対応する物理ディスクのビジー率)を情報処理装置2の負荷状況として監視する。そして、負荷監視部2121は、物理ディスクのビジー率などの監視結果を示す情報(監視結果が示す値)をデータ配置管理部2122に送信する。
なお、負荷監視部2121は、物理ディスクのビジー率以外を情報処理装置2の負荷状況として監視しても構わない。例えば、負荷監視部2121は、重複排除部2112による重複排除の結果を示す情報を、負荷状況を示す情報として用いることが出来る。具体的には、例えば、負荷監視部2121は、単位時間あたりの重複率など重複の頻度や割合示す情報を負荷状況として取得するよう構成することが出来る。また、負荷監視部2121は、例えば、単位時間当たりのディスクI/O(input/output)数などを負荷状況として監視しても構わない。負荷監視部2121は、上記例示したものの一つ、又は、その組み合わせを負荷状況として監視することが出来る。負荷監視部2121は、上記例示したもの以外を情報処理装置2の負荷状況として監視しても構わない。
データ配置管理部2122は、負荷監視部2121による監視結果に基づいて、所定の処理を行う。例えば、データ配置管理部2122は、負荷監視部2121による監視結果に基づいて、仮想ストレージノード211が有する格納先情報2115の更新処理を行う。また、例えば、データ配置管理部2122は、負荷監視部2121による監視結果に基づいて、グループBに属する仮想ストレージノード211Bが記憶するブロックデータをグループAに属する仮想ストレージノード211Aへと移行させるデータの再配置処理を実行するよう指示する。
例えば、データ配置管理部2122は、負荷監視部2121による監視結果と、予め定められた第1の閾値Aや第2の閾値Bを比較する。そして、データ配置管理部2122は、比較結果に基づいて、仮想ストレージノード211が有する格納先情報2115の更新処理を行う。なお、第1の閾値Aや第2の閾値Bは、例えば、図示しない記憶装置などに予め格納された値である。
例えば、データ配置管理部2122は、格納先情報2115が第1の配置を示している場合、負荷監視部2121による監視結果である物理ディスクのビジー率が第1の閾値A(第1の基準)以上であるか否か確認する。そして、物理ディスクのビジー率が第1の閾値A以上である場合、データ配置管理部2122は、第2の配置を示すよう格納先情報2115を更新する。換言すると、データ配置管理部2122は、格納先情報2115が第1の配置を示している際に物理ディスクのビジー率が予め定められた第1の基準である第1の閾値A以上となった場合、第2の配置を示すよう格納先情報2115を更新する。このような構成により、仮想ストレージノード211の重複排除部2112は、物理ディスクのビジー率が予め定められた第1の基準以上である場合、起動中の全ての仮想ストレージノード211のうちのいずれかにブロックデータを送信することになる(図6、図7参照)。
また、例えば、データ配置管理部2122は、格納先情報2115が第2の配置を示している場合、負荷監視部2121による監視結果である物理ディスクのビジー率が第2の閾値B(第2の基準)以下であるか否か確認する。そして、物理ディスクのビジー率が第2の閾値B以下である場合、データ配置管理部2122は、第1の配置を示すよう格納先情報2115を更新する。換言すると、データ配置管理部2122は、格納先情報2115が第2の配置を示している際に物理ディスクのビジー率が予め定められた第2の基準である第2の閾値B以下となった場合、第1の配置を示すよう格納先情報2115を更新する。このような構成により、仮想ストレージノード211の重複排除部2112は、物理ディスクのビジー率が予め定められた第2の基準以下である場合、グループAに属する仮想ストレージノード211Aのうちのいずれかにブロックデータを送信することになる(図4、図5参照)。
また、例えば、データ配置管理部2122は、負荷監視部2121による監視結果と、予め定められた第3の閾値Cとを比較する。そして、データ配置管理部2122は、比較結果に基づいて、データの再配置処理を開始する。なお、第3の閾値Cは、第1の閾値Aや第2の閾値Bと同様に、例えば、図示しない記憶装置などに予め格納されている。
例えば、データ配置管理部2122は、負荷監視部2121による監視結果であるディスクのビジー率が第3の閾値C(第3の基準)を以下であるか否か確認する。そして、ディスクのビジー率が第3の閾値Cを以下である場合、データ配置管理部2122は、データの再配置処理を開始する。例えば、データ配置管理部2122は、記憶装置2114に格納されているブロックデータを読み出すよう、グループBに属する仮想ストレージノード211Bに対して指示する。そして、データ配置管理部2122は、仮想ストレージノード211Bが読み出したブロックデータを格納するようグループAに属する仮想ストレージノード211Aに対して指示する。これにより、指示を受けた仮想ストレージノード211Aのデータ格納部2113は、自身が有する記憶装置2114にブロックデータを格納する。このように、データ配置管理部2122は、負荷状況の監視結果に基づいて、仮想ストレージノード211Bが有する記憶装置2114に格納されたブロックデータを各仮想ストレージノード211Aが有する記憶装置2114へと移行させる(図9参照)。また、データの再配置を行った場合、データ配置管理部2122などは、ファイルシステム部2111が管理するデータの格納位置を示す情報を更新する。
なお、データ配置管理部2122は、仮想ストレージノード211Bの記憶装置2114から読み出したブロックデータの格納先を、ブロックデータのハッシュ値に基づいて判断する。具体的には、例えば、データ配置管理部2122は、仮想ストレージノード211Bの記憶装置2114から読み出したブロックデータの格納先として、格納先情報2115が第1の配置を示していた場合に格納することになる仮想ストレージノード211Aを指定する。つまり、第1の配置に基づいて仮想ストレージノード211Aに直接格納された場合と、第2の配置に基づく仮想ストレージノード211Bを経由して仮想ストレージノード211Aに格納されるとで、同一の仮想ストレージノード211Aにブロックデータを格納するよう、データ配置管理部2122はデータの再配置処理を行う。
以上のように、データ配置管理部2122は、負荷監視部2121による監視結果と予め定められた基準とに基づいて、格納先情報2115の更新処理を行ったり、データの再配置処理を行ったりする。
なお、本実施形態においては、第1の閾値Aと第2の閾値Bと第3の閾値Cの具体的な値は特に限定しない。第1の閾値Aは、例えば、90とすることができる。また、第2の閾値Bは、例えば、グループAに属する仮想ストレージノード数をNA、グループBに属するストレージノード数をNBとしたときに、80×NA/(NA+NB)とすることができる。また、第3の閾値Cは、例えば、50とすることができる。第1の閾値A、第2の閾値B、第3の閾値Cは、複数が同じ値であるなど、上記例示したもの以外であっても構わない。
また、本実施形態においては、情報処理装置2は、複数の物理ディスクを有している。そのため、負荷監視部2121は、情報処理装置2が有する複数の物理ディスクのそれぞれを監視することになる。つまり、負荷監視部2121による監視結果が示す値(例えば、物理ディスクのビジー率)も複数あることになる。複数の監視結果が示す値と予め定められた基準との比較は、様々な方法を用いて行うことが出来る。
例えば、データ配置管理部2122は、監視結果が示す値のいずれかが第1の閾値A以上である場合に、第2の配置を示すよう格納先情報2115を更新することが出来る。又は、例えば、データ配置管理部2122は、全ての監視結果が示す値が第1の閾値A以上である場合に、第2の配置を示すよう格納先情報2115を更新することが出来る。また、例えば、データ配置管理部2122は、全ての監視結果が示す値が第2の閾値B以下である場合に、第1の配置を示すよう格納先情報2115を更新することが出来る。又は、例えば、データ配置管理部2122は、監視結果が示す値のいずれかが第2の閾値B以下である場合に、第1の配置を示すよう格納先情報2115を更新することが出来る。このように、データ配置管理部2122は、全ての監視結果が示す値、又は、監視結果が示す値の何れかに基づいて格納先情報2115の更新処理を行うか否か判断するよう構成することが出来る。なお、データ配置管理部2122は、例えば、監視結果の値から算出される値(例えば、平均値など)と第1の閾値Aや第2の閾値Bを比較するよう構成しても構わない。
同様に、例えば、データ配置管理部2122は、全ての監視結果が示す値が第3の閾値C以下であるか否か確認するよう構成することが出来るし、監視結果が示す値のいずれかが第3の閾値以下であるか否か確認するよう構成することも出来る。また、データ配置管理部2122は、例えば、監視結果の値から算出される値(例えば、平均値など)と第3の閾値Cとを比較するよう構成しても構わない。データ配置管理部2122は、例えば、仮想ストレージノード211Bに対応する物理ディスクの監視結果が示す値(全て、又は、いずれか)が第3の閾値C以下である場合にデータの読み出しを行うよう指示しても構わないし、書き込み対象の仮想ストレージノード211Aに対応する物理ディスクの監視結果が示す値(全て、又は、いずれか)が第3の閾値C以下である場合にデータの書き込み処理を行うよう指示していても構わない。なお、読み出しを指示する際の閾値と書き込みを指示する際の閾値とは、同じ値であっても構わないし異なる値であっても構わない。
また、データ配置管理部2122は、負荷監視部2121による監視結果の値と第3の閾値Cとの比較を常時行うよう構成しても構わないし、必要に応じて行うよう構成しても構わない。例えば、データ配置管理部2122は、グループBに属する仮想ストレージノード211Bがブロックデータを記憶している場合に、負荷監視部2121による監視結果の値と第3の閾値Cとの比較を行うよう構成することが出来る。
以上が、仮想管理ノード212の構成の一例である。
以上、情報処理装置2において行われる処理をまとめると、図10で示すようになる。
図10を参照すると、一般に、重複排除率の高い書き込みが行われている場合、物理ディスクに対する書き込み処理の頻度は低くなる。その結果、物理ディスクの負荷は低くなる。このような場合、データ配置管理部2122は、データの再配置処理を開始する。つまり、仮想ストレージノード211Bがブロックデータの読み出し処理を行い、仮想ストレージノード211Aがブロックデータの書き込み処理を行うことになる。また、重複排除率の低い書き込みが行われている場合、実際に物理ディスクへの書き込みが行われる可能性が高くなる。このような場合には、物理ディスクの負荷状況に応じた書き込み処理が行われる。つまり、物理ディスクが高負荷である場合、データ配置管理部2122により格納先情報2115が第2のデータ配置を示すよう更新される。その結果、仮想ストレージノード211Aと仮想ストレージノード211Bとの両方が書き込み対象となる書き込み処理が行われることになる。一方、物理ディスクが低負荷である場合、データ配置管理部2122により格納先情報2115が第1のデータ配置を示すよう構成される。その結果、仮想ストレージノード211Aのみが書き込み対象となる書き込み処理が行われることになる。
また、読み出し処理を行う際には、最新の格納先が読み出し対象となる。つまり、仮想ストレージノード211Aと仮想ストレージノード211Bとが読み出し対象となる。換言すると、読み出し処理においては、ディスクの負荷状況に応じた処理の差異はない。また、情報処理装置2に対して書き込み処理も読み出し処理も要求していない場合、物理ディスクの負荷は低くなる。そのため、データ配置管理部2122の指示により、データの再配置処理が行われることになる。
クライアント装置3は、情報処理装置2に対して各種処理要求を送信する情報処理装置である。クライアント装置3が送信する処理要求としては、ファイルの読み出しを要求する読み出し要求や、ファイルの書き込みを要求する書き込み要求などがある。
クライアント装置3は、一般的な構成を有していて構わない。そのため、本実施形態においては、クライアント装置3の具体的な構成は特に限定しない。
情報処理システム1は、例えば、上述したような構成を有する情報処理装置2と、クライアント装置3と、を有している。
なお、クライアント装置3から送信された各種処理要求の宛先を確認するための方法は、各種既知の方法を採用して構わない。例えば、クライアント装置3が処理要求を送信する際にIPアドレスを指定するなどの方法により、送信先の仮想ストレージノード211を指定するよう構成しても構わない。または、例えば、情報処理装置2が図示しない負荷分散器などを有し、負荷分散器によりクライアント装置3から送信された処理要求を起動中の各仮想ストレージノード211へと振り分けるよう構成しても構わない。なお、負荷分散器としての機能は仮想的に実現されても構わないし、仮想化手段21の外部に実現されても構わない。
続いて、情報処理装置2による処理の流れの一例について、図11から図13までを参照して説明する。
図11は、データ配置管理部2122が行う処理の一例を示している。図11を参照すると、格納先情報2115が第1のデータ配置を示している場合、仮想管理ノード212のデータ配置管理部2122は、負荷監視部2121による負荷状況の監視結果が示す値と、予め定められた第1の閾値Aとを比較する(ステップS101)。
負荷状況の監視結果が示す値が第1の閾値A以上である場合(ステップS101、Yes)、データ配置管理部2122は、第2の配置を示すよう格納先情報2115を更新する(ステップS102)。一方、負荷状況の監視結果が示す値が第1の閾値Aよりも小さい場合(ステップS101、No)、データ配置管理部2122は、監視結果が示す値が第1の閾値A以上となるまでステップS102の処理を行わない。
格納先情報2115が第2のデータ配置を示している場合、仮想管理ノード212のデータ配置管理部2122は、負荷監視部2121による負荷状況の監視結果が示す値と、予め定められた第2の閾値Bとを比較する(ステップS103)。
負荷状況の監視結果が示す値が第2の閾値B以下である場合(ステップS103、Yes)、データ配置管理部2122は、第1の配置を示すよう格納先情報2115を更新する(ステップS104)。その後、データ配置管理部2122は、再度ステップS101の処理を開始する。一方、負荷状況の監視結果が示す値が第2の閾値Bよりも大きい場合(ステップS103、No)、データ配置管理部2122は、監視結果が示す値が第2の閾値B以下となるまでステップS104の処理を行わない。
以上のように、データ配置管理部2122は、負荷状況の監視結果が示す値と、第1の閾値Aと第2の閾値Bとに基づいて、格納先情報2115の更新処理を行う。
図12は、データ配置管理部2122が行う他の処理の一例を示している。図12を参照すると、仮想ストレージノード211Bがブロックデータを記憶している場合(ステップS201、Yes)、データ配置管理部2122は、負荷状況の監視結果が示す値と、予め定められた第3の閾値Cとを比較する(ステップS202)。
負荷状況の監視結果が示す値が第3の閾値Cよりも大きい場合(ステップ202、No)、データ配置管理部2122は、監視結果が示す値が第3の閾値C以下となるまで以降の処理を行わない。一方、負荷状況の監視結果が示す値が第3の閾値C以下である場合(ステップS202、Yes)、データ配置管理部2122は、データの再配置処理を開始する(ステップS203)。つまり、データ配置管理部2122は、仮想ストレージノード211Bに格納されているブロックデータを仮想ストレージノード211Aへと移行させる。その後、仮想ストレージノード211Bがまだブロックデータを記憶している場合(ステップS201、Yes)、再度ステップS202の処理を行う。
仮想ストレージノード211Bがブロックデータを記憶していない場合(ステップS201、No)、データ配置管理部2122は、処理を終了する。
以上のように、データ配置管理部2122は、負荷状況の監視結果が示す値と、第3の閾値Cとに基づいて、データの再配置処理を開始する。なお、データ配置管理部2122は、ステップS201の処理を省略しても構わない。
図13は、クライアント装置3からファイルの書き込み要求を受信した際の情報処理装置2の処理の一例を示している。
図13を参照すると、クライアント装置3からファイルの書き込み要求を受信すると、ファイルシステム部2111は、書き込み対象のファイルを固定長または可変長のブロックデータへと分割する(ステップS301)。
重複排除部2112は、ファイルシステム部2111が分割したブロックデータが既に情報処理装置2に格納されているか否か確認する重複判定処理を実行する(ステップS302)。同一内容のブロックデータが既に情報処理装置2に格納されていると判断した場合(ステップS302、Yes)、重複排除部2112は、同一内容のブロックデータを再度格納しない(ステップS303)。一方、同一内容のブロックデータが情報処理装置2に格納されていないと判断した場合(ステップS302、No)、重複排除部2112は、格納先情報2115を参照する(ステップS304)。そして、重複排除部2112は、格納先情報2115に基づいて特定される仮想ストレージノード211に対してブロックデータを記憶するよう指示する。
格納先情報2115が第1の配置を示している場合(ステップS304、第1の配置)、情報処理装置2は、グループAに属する仮想ストレージノード211Aが書き込みの対象となる書き込み処理を行う(ステップS305)。つまり、重複排除部2112は、グループAに属する仮想ストレージノード211Aのうちのいずれかにブロックデータを送信する。そして、ブロックデータを受信したデータ格納部2113が記憶装置2114にブロックデータを格納する。一方、格納先情報2115が第2の配置を示している場合(ステップS304、第2の配置)、情報処理装置2は、仮想ストレージノード211全体が書き込みの対象となる書き込み処理を行う(ステップS306)。つまり、重複排除部2112は、仮想ストレージノード211全体のうちのいずれかにブロックデータを送信する。そして、ブロックデータを受信したデータ格納部2113が記憶装置2114にブロックデータを格納する。
また、データ配置管理部2122は、負荷監視部2121による負荷状況の監視結果が示す値と、予め定められた第3の閾値Cを比較する(ステップS307)。
負荷状況の監視結果が示す値が第3の閾値Cを超えていると判断される場合、データ配置管理部2122は、再度、負荷状況の監視結果が示す値と、第3の閾値Cと、を比較する。つまり、負荷が下がっていないと判断される場合(ステップS307、No)、データ配置管理部2122は、負荷が下がるまで待機する。
一方、負荷状況の監視結果が示す値が第3の閾値C以下であると判断される場合、データ配置管理部2122は、データの再配置処理を指示する。つまり、負荷が下がったと判断される場合(ステップS307、Yes)、データ配置管理部2122は、仮想ストレージノード211Bに格納されているブロックデータを仮想ストレージノード211Aへと移行させる(ステップS308)。
以上のように、ファイルの書き込み要求を受信した場合、情報処理装置2は、格納先情報2115が示す対象が書き込みの対象となる書き込み処理を実行する。なお、格納先情報2115は、図11を参照して説明した処理により更新されることになる。
このように、情報処理装置2上では、仮想ストレージノード211と仮想管理ノード212とが起動する。また、仮想ストレージノード211の重複排除部2112は格納先情報2115を有しており、格納先情報2115は、物理ディスクの負荷状況に応じて仮想管理ノード212により更新される。このような構成により、仮想ストレージノード211は、物理ディスクの負荷状況に応じて、書き込み対象が異なる書き込み処理を行うことが出来る。例えば、仮想ストレージノード211は、物理ディスクの負荷状況が予め定められた基準以下である場合、グループAに属する仮想ストレージノード211Aのみを対象とした書き込み処理を行うことが出来る。その結果、スケールインの対象となる仮想ストレージノード211Bにブロックデータが書き込まれる頻度を抑えることが可能となり、スケールインのためのデータ再配置が必要となるデータの量を抑えることが可能となる。これにより、仮想的なストレージシステムにおいて、スケールインなどの構成変更を行う際にかかる時間を短縮することが可能となる。
また、本実施形態における情報処理装置2では、物理ディスクの負荷状況に応じて、データの再配置が行われる。このように、ディスクの負荷が低い状態の間にスケールインのためのデータ再配置を事前に進めることで、スケールインなどの構成変更を行う際にかかる時間をさらに短縮することが可能となる。
ここで、重複排除を行うストレージシステムでは、データの特性によって負荷がかかるリソースが異なる。例えば、重複排除が効いているとき(既に格納したデータが書き込まれているとき)は、CPUなどの負荷が上がる。逆に、重複排除が効かないとき(新規のデータが書き込まれるとき)はディスクの負荷が上がる。本実施形態で説明した情報処理装置2によると、重複排除が効いているとき(つまり、ディスクの負荷が下がるとき)に、データの再配置を行う。つまり、情報処理装置2によると、重複排除が効いているときに生じる空きリソースを有効的に活用することが可能となることになる。
なお、仮想化手段21は、仮想ストレージノード211を常に2つのグループに分けるよう構成しても構わないし、必要に応じて仮想ストレージノード211を2つのグループに分けるよう構成しても構わない。仮想化手段21は、例えば、ディスクの負荷が非常に高くなると想定される期間(スケールインを行うことがないと想定される期間)などにおいて、グループ分けを行わないよう構成しても構わない。
また、仮想化手段21は、例えば、図12で示すように、同一グループ内において優先度に差を設けるなど、3つ以上の複数グループを形成するよう構成しても構わない。図12では、グループBに属する仮想ストレージノード211Bを、優先度1と優先度2とでさらに分けている。又は、例えば、仮想化手段21は、最小構成・中間構成・最大構成の3種類のデータ配置からデータ格納先を選ぶよう構成しても構わない。このように構成した場合、例えば、最小構成に対応したデータ配置への書き込みで十分な性能が出る場合には、最小構成で書き込み、最小構成ではディスクへの負荷が上がり性能が出ない場合に、中間構成で書き込む。また、中間構成でも性能が足りない場合に、最大構成で書き込む。このように、段階的な書き込みの制御を行うことになる。なお、優先度を設けたり、複数段階のデータ構成を有したりした場合、データの再配置を行う際にも優先度などを考慮するよう構成することが出来る。例えば、データの再配置を行う際、優先度のより高い仮想ストレージノード211や最大構成で追加される仮想ストレージノード211から優先してデータの再配置を行うよう構成することが出来る。
また、本実施形態においては、情報処理システム1が1台の情報処理装置2を有する場合について例示した。しかしながら、情報処理システム1は、複数台の情報処理装置2を有しても構わない。また、仮想化手段21上で起動する仮想ストレージノード211や仮想管理ノード212の数も、図2などで示す場合に限定されない。
[第2の実施形態]
次に、図15を参照して、本発明の第2の実施形態について説明する。第2の実施形態では、仮想的なストレージシステムを有する情報処理装置4(ファイル記憶装置)の構成の概要について説明する。
図15を参照すると、情報処理装置4は、仮想化手段41を有している。例えば、情報処理装置4は、図示しないCPUなどの演算装置と記憶装置とを有しており、記憶装置が有するプログラムを演算装置が実行することで、仮想化手段41を実現する。
仮想化手段41は、物理ディスクを共有する仮想マシンである仮想ストレージノード411を複数起動する。仮想ストレージノード411は、データの読み書きを行う際にかかる負荷状況に応じて、起動中の仮想ストレージノード411の全てが書き込み対象となる書き込み処理か、起動中の仮想ストレージノード411のうちの予め定められた一部の仮想ストレージノード411のみが書き込み対象となる書き込み処理、のいずれか一方の書き込み処理を実行する。このように、仮想ストレージノード411は、負荷状況に応じて、書き込み対象となる仮想ストレージノード411が異なる書き込みを行う。
以上のように、本実施形態における情報処理装置4は、複数の仮想ストレージノード411を起動する仮想化手段41を有している。また、仮想ストレージノード411は、データの読み書きを行う際にかかる負荷状況に応じて、起動中の仮想ストレージノード411の全てが書き込み対象となる書き込み処理か、起動中の仮想ストレージノード411のうちの予め定められた一部の仮想ストレージノード411のみが書き込み対象となる書き込み処理、のいずれか一方の書き込み処理を実行するよう構成されている。このような構成により、情報処理装置4は、データの読み書きを行う際にかかる負荷状況に応じて、書き込み対象が異なる書き込み処理を行うことが出来る。その結果、一部の仮想ストレージノードにブロックデータが書き込まれる頻度を抑えることが可能となり、スケールインのためのデータ再配置が必要となるデータの量を抑えることが可能となる。これにより、仮想的なストレージシステムにおいて、スケールインなどの構成変更を行う際にかかる時間を短縮することが可能となる。
また、上述した情報処理装置4は、当該情報処理装置4に所定のプログラムが組み込まれることで実現できる。具体的に、本発明の他の形態であるプログラムは、情報処理装置に、物理ディスクを共有する仮想マシンである仮想ストレージノードを複数起動する仮想化手段を実現させ、仮想ストレージノードは、データの読み書きを行う際にかかる負荷状況に応じて、起動中の仮想ストレージノードの全てが書き込み対象となる書き込み処理か、起動中の仮想ストレージノードのうちの予め定められた一部の仮想ストレージノードのみが書き込み対象となる書き込み処理、のいずれか一方の書き込み処理を実行するためのプログラムである。
また、上述した情報処理装置4により実行される情報処理方法(ファイル記憶方法)は、情報処理装置が、物理ディスクを共有する仮想マシンである仮想ストレージノードを複数起動し、仮想ストレージノードは、データの読み書きを行う際にかかる負荷状況に応じて、起動中の仮想ストレージノードの全てが書き込み対象となる書き込み処理か、起動中の仮想ストレージノードのうちの予め定められた一部の仮想ストレージノードのみが書き込み対象となる書き込み処理、のいずれか一方の書き込み処理を実行する、という方法である。
上述した構成を有する、プログラム、又は、情報処理方法、の発明であっても、上記情報処理装置4と同様の作用を有するために、上述した本発明の目的を達成することが出来る。
<付記>
上記実施形態の一部又は全部は、以下の付記のようにも記載されうる。以下、本発明における情報処理装置などの概略を説明する。但し、本発明は、以下の構成に限定されない。
(付記1)
仮想マシンである仮想ストレージノードを複数起動する仮想化手段を有し、
前記仮想ストレージノードは、
データの読み書きを行う際にかかる負荷状況に応じて、起動中の前記仮想ストレージノードの全てが書き込み対象となる書き込み処理か、起動中の前記仮想ストレージノードのうちの予め定められた一部の前記仮想ストレージノードのみが書き込み対象となる書き込み処理、のいずれか一方の書き込み処理を実行する
情報処理装置。
(付記2)
付記1に記載の情報処理装置であって、
前記仮想化手段は、データの読み書きを行う際にかかる負荷状況として、起動中の前記仮想ストレージノードと対応する物理ディスクの負荷状況を監視する負荷監視手段を有する仮想管理ノードを起動し、
前記仮想ストレージノードは、前記負荷監視手段が監視した前記物理ディスクの負荷状況に応じて、起動中の前記仮想ストレージノードの全てが書き込み対象となる書き込み処理か、起動中の前記仮想ストレージノードのうちの予め定められた一部の前記仮想ストレージノードのみが書き込み対象となる書き込み処理、のいずれか一方の書き込み処理を実行する
情報処理装置。
(付記3)
付記2に記載の情報処理装置であって、
前記負荷監視手段は、前記物理ディスクの負荷状況として、前記物理ディスクのビジー率を監視する
情報処理装置。
(付記4)
付記2又は3に記載の情報処理装置であって、
前記仮想ストレージノードは、データの格納先を示す情報である格納先情報を有し、
前記仮想管理ノードは、前記負荷監視手段が監視した前記物理ディスクの負荷状況に応じて、前記格納先情報を更新するデータ配置管理手段を有し、
前記仮想ストレージノードは、前記データ配置管理手段により更新される前記格納先情報に応じて、起動中の前記仮想ストレージノードの全てが書き込み対象となる書き込み処理か、起動中の前記仮想ストレージノードのうちの予め定められた一部の前記仮想ストレージノードのみが書き込み対象となる書き込み処理、のいずれか一方の書き込み処理を実行する
情報処理装置。
(付記5)
付記4に記載の情報処理装置であって、
前記データ配置管理手段は、前記物理ディスクの負荷状況が示す値が予め定められた第1の基準以上である場合、起動中の前記仮想ストレージノードの全てが書き込み対象となる書き込み処理を行うよう前記格納先情報を更新する
情報処理装置。
(付記6)
付記4又は5に記載の情報処理装置であって、
前記データ配置管理手段は、前記物理ディスクの負荷状況が示す値が予め定められた第2の基準以下である場合、起動中の前記仮想ストレージノードのうちの予め定められた一部の前記仮想ストレージノードのみが書き込み対象となる書き込み処理を行うよう前記格納先情報を更新する
情報処理装置。
(付記7)
付記4から請求項6までのいずれかに記載の情報処理装置であって、
前記データ配置管理手段は、前記負荷監視手段が監視した前記物理ディスクの負荷状況に応じて、起動中の前記仮想ストレージノードのうちの予め定められた一部の前記仮想ストレージノードのみが書き込み対象となる際に書き込み対象とならない前記仮想ストレージノードから、当該仮想ストレージノードに記憶されているデータを、書き込み対象となる一部の前記仮想ストレージノードへと移行させる
情報処理装置。
(付記8)
付記7に記載の情報処理装置であって、
前記データ配置管理手段は、前記負荷監視手段が監視した前記物理ディスクの負荷状況が示す値が予め定められた第3の基準以下の場合に、起動中の仮想ストレージノードのうちの予め定められた一部の前記仮想ストレージノードのみが書き込み対象となる際に書き込み対象とならない前記仮想ストレージノードから、当該仮想ストレージノードに記憶されているデータを、書き込み対象となる一部の前記仮想ストレージノードへと移行させる
情報処理装置。
(付記9)
付記7又は8に記載の情報処理装置であって、
前記仮想ストレージノードは、書き込み対象のファイルを複数のブロックデータへと分割して、分割したブロックデータを既に記憶しているか否か判定する重複判定処理を行うとともに、既に記憶しているブロックデータと重複しないブロックデータを記憶するよう前記仮想ストレージノードに指示する重複排除手段を有し、
前記データ配置管理手段は、前記重複排除手段が重複排除を行うことにより前記負荷監視手段が監視する前記物理ディスクの負荷状況に応じた値が予め定められた第3の基準以下となった場合に、起動中の前記仮想ストレージノードのうちの予め定められた一部の前記仮想ストレージノードのみが書き込み対象となる際に書き込み対象とならない前記仮想ストレージノードから、当該仮想ストレージノードに記憶されているデータを、書き込み対象となる一部の前記仮想ストレージノードへと移行させる
情報処理装置。
(付記10)
付記1から請求項9までのいずれかに記載の情報処理装置であって、
前記仮想ストレージノードは、書き込み対象のファイルを複数のブロックデータへと分割して、分割したブロックデータを既に記憶しているか否か判定する重複判定処理を行うとともに、既に記憶しているブロックデータと重複しないブロックデータを記憶するよう前記仮想ストレージノードに指示する重複排除手段を有し、
前記重複排除手段は、データの読み書きを行う際にかかる負荷状況に応じて、起動中の前記仮想ストレージノード全体を対象とするブロックデータの格納指示か、起動中の前記仮想ストレージノードのうちの予め定められた一部の仮想ストレージノードを対象とするブロックデータの格納指示の、いずれかを指示する
情報処理装置。
(付記11)
請求項10に記載の情報処理装置であって、
前記重複排除手段は、データの読み書きを行う際にかかる負荷状況に応じて、起動中の前記仮想ストレージノード全体のうちのブロックデータに基づいて算出されるハッシュ値に応じて特定される前記仮想ストレージノードに対してブロックデータを記憶するよう指示するか、起動中の前記仮想ストレージノードのうちの予め定められた一部の仮想ストレージノードであってブロックデータに基づいて算出されるハッシュ値に応じて特定される前記仮想ストレージノードに対してブロックデータを記憶するよう指示する
情報処理装置。
(付記12)
付記10又は11に記載の情報処理装置であって、
前記重複排除手段は、ブロックデータをフラグメントデータに分割した後、分割したフラグメントデータを記憶するよう前記仮想ストレージノードに指示する
情報処理装置。
(付記13)
情報処理装置が、
仮想マシンである仮想ストレージノードを複数起動し、
前記仮想ストレージノードは、データの読み書きを行う際にかかる負荷状況に応じて、起動中の前記仮想ストレージノードの全てが書き込み対象となる書き込み処理か、起動中の前記仮想ストレージノードのうちの予め定められた一部の前記仮想ストレージノードのみが書き込み対象となる書き込み処理、のいずれか一方の書き込み処理を実行する
情報処理方法。
(付記14)
情報処理装置に、
仮想マシンである仮想ストレージノードを複数起動する仮想化手段を実現させ、
前記仮想ストレージノードは、
データの読み書きを行う際にかかる負荷状況に応じて、起動中の前記仮想ストレージノードの全てが書き込み対象となる書き込み処理か、起動中の前記仮想ストレージノードのうちの予め定められた一部の前記仮想ストレージノードのみが書き込み対象となる書き込み処理、のいずれか一方の書き込み処理を実行する
プログラム。
なお、上記各実施形態及び付記において記載したプログラムは、記憶装置に記憶されていたり、コンピュータが読み取り可能な記録媒体に記録されていたりする。例えば、記録媒体は、フレキシブルディスク、光ディスク、光磁気ディスク、及び、半導体メモリ等の可搬性を有する媒体である。
以上、上記各実施形態を参照して本願発明を説明したが、本願発明は、上述した実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明の範囲内で当業者が理解しうる様々な変更をすることが出来る。
1 情報処理システム
2 情報処理装置
21 仮想化手段
211 仮想ストレージノード
2111 ファイルシステム部
2112 重複排除部
2113 データ格納部
2114 記憶装置
2115 格納先情報
212 仮想管理ノード
2121 負荷監視部
2122 データ配置管理部
3 クライアント装置
4 情報処理装置
41 仮想化手段
411 仮想ストレージノード

Claims (11)

  1. 仮想マシンである仮想ストレージノードを複数起動する仮想化手段を有し、
    前記仮想ストレージノードは、
    データの読み書きを行う際にかかる負荷状況に応じて、起動中の前記仮想ストレージノードの全てが書き込み対象となる書き込み処理か、起動中の前記仮想ストレージノードのうちの予め定められた一部の前記仮想ストレージノードのみが書き込み対象となる書き込み処理、のいずれか一方の書き込み処理を実行し、
    前記仮想化手段は、データの読み書きを行う際にかかる負荷状況として、情報処理装置が有する複数の物理ディスクそれぞれの負荷状況を監視する負荷監視手段を有する仮想管理ノードを起動し、
    前記仮想ストレージノードは、前記負荷監視手段が監視した複数の前記物理ディスクそれぞれの負荷状況に応じて、起動中の前記仮想ストレージノードの全てが書き込み対象となる書き込み処理か、起動中の前記仮想ストレージノードのうちの予め定められた一部の前記仮想ストレージノードのみが書き込み対象となる書き込み処理、のいずれか一方の書き込み処理を実行し、
    前記仮想ストレージノードは、データの格納先を示す情報である格納先情報を有し、
    前記仮想管理ノードは、前記負荷監視手段が監視した複数の前記物理ディスクそれぞれの負荷状況に応じて、前記格納先情報を更新するデータ配置管理手段を有し、
    前記仮想ストレージノードは、前記データ配置管理手段により更新される前記格納先情報に応じて、起動中の前記仮想ストレージノードの全てが書き込み対象となる書き込み処理か、起動中の前記仮想ストレージノードのうちの予め定められた一部の前記仮想ストレージノードのみが書き込み対象となる書き込み処理、のいずれか一方の書き込み処理を実行し、
    前記データ配置管理手段は、前記負荷監視手段が監視した複数の前記物理ディスクそれぞれの負荷状況に応じて、起動中の前記仮想ストレージノードのうちの予め定められた一部の前記仮想ストレージノードのみが書き込み対象となる際に書き込み対象とならない前記仮想ストレージノードから、当該仮想ストレージノードに記憶されているデータを、書き込み対象となる一部の前記仮想ストレージノードへと移行させる
    情報処理装置。
  2. 請求項に記載の情報処理装置であって、
    前記負荷監視手段は、複数の前記物理ディスクそれぞれの負荷状況として、複数の前記物理ディスクそれぞれのビジー率を監視する
    情報処理装置。
  3. 請求項1または請求項2に記載の情報処理装置であって、
    前記データ配置管理手段は、複数の前記物理ディスクそれぞれの負荷状況が示す値のうち少なくとも1つが予め定められた第1の基準以上である場合、起動中の前記仮想ストレージノードの全てが書き込み対象となる書き込み処理を行うよう前記格納先情報を更新する
    情報処理装置。
  4. 請求項1から請求項3までのいずれか1項に記載の情報処理装置であって、
    前記データ配置管理手段は、複数の前記物理ディスクそれぞれの負荷状況が示す値のうちの少なくとも1つが予め定められた第2の基準以下である場合、起動中の前記仮想ストレージノードのうちの予め定められた一部の前記仮想ストレージノードのみが書き込み対象となる書き込み処理を行うよう前記格納先情報を更新する
    情報処理装置。
  5. 請求項1から請求項4までのうちのいずれか1項に記載の情報処理装置であって、
    前記データ配置管理手段は、前記負荷監視手段が監視した複数の前記物理ディスクそれぞれの負荷状況が示す値のうち少なくとも1つが予め定められた第3の基準以下の場合に、起動中の仮想ストレージノードのうちの予め定められた一部の前記仮想ストレージノードのみが書き込み対象となる際に書き込み対象とならない前記仮想ストレージノードから、当該仮想ストレージノードに記憶されているデータを、書き込み対象となる一部の前記仮想ストレージノードへと移行させる
    情報処理装置。
  6. 請求項1から請求項5までのうちのいずれか1項に記載の情報処理装置であって、
    前記仮想ストレージノードは、書き込み対象のファイルを複数のブロックデータへと分割して、分割したブロックデータを既に記憶しているか否か判定する重複判定処理を行うとともに、既に記憶しているブロックデータと重複しないブロックデータを記憶するよう前記仮想ストレージノードに指示する重複排除手段を有し、
    前記データ配置管理手段は、前記重複排除手段が重複排除を行うことにより前記負荷監視手段が監視する複数の前記物理ディスクそれぞれの負荷状況に応じた値のうちの少なくとも1つが予め定められた第3の基準以下となった場合に、起動中の前記仮想ストレージノードのうちの予め定められた一部の前記仮想ストレージノードのみが書き込み対象となる際に書き込み対象とならない前記仮想ストレージノードから、当該仮想ストレージノードに記憶されているデータを、書き込み対象となる一部の前記仮想ストレージノードへと移行させる
    情報処理装置。
  7. 請求項1から請求項までのいずれかに記載の情報処理装置であって、
    前記仮想ストレージノードは、書き込み対象のファイルを複数のブロックデータへと分割して、分割したブロックデータを既に記憶しているか否か判定する重複判定処理を行うとともに、既に記憶しているブロックデータと重複しないブロックデータを記憶するよう前記仮想ストレージノードに指示する重複排除手段を有し、
    前記重複排除手段は、データの読み書きを行う際にかかる負荷状況に応じて、起動中の前記仮想ストレージノード全体を対象とするブロックデータの格納指示か、起動中の前記仮想ストレージノードのうちの予め定められた一部の仮想ストレージノードを対象とするブロックデータの格納指示の、いずれかを指示する
    情報処理装置。
  8. 請求項に記載の情報処理装置であって、
    前記重複排除手段は、データの読み書きを行う際にかかる負荷状況に応じて、起動中の前記仮想ストレージノード全体のうちのブロックデータに基づいて算出されるハッシュ値に応じて特定される前記仮想ストレージノードに対してブロックデータを記憶するよう指示するか、起動中の前記仮想ストレージノードのうちの予め定められた一部の仮想ストレージノードであってブロックデータに基づいて算出されるハッシュ値に応じて特定される前記仮想ストレージノードに対してブロックデータを記憶するよう指示する
    情報処理装置。
  9. 請求項7又は8に記載の情報処理装置であって、
    前記重複排除手段は、ブロックデータをフラグメントデータに分割した後、分割したフラグメントデータを記憶するよう前記仮想ストレージノードに指示する
    情報処理装置。
  10. 情報処理装置が、
    仮想マシンである仮想ストレージノードを複数起動し、
    前記仮想ストレージノードは、データの読み書きを行う際にかかる負荷状況に応じて、起動中の前記仮想ストレージノードの全てが書き込み対象となる書き込み処理か、起動中の前記仮想ストレージノードのうちの予め定められた一部の前記仮想ストレージノードのみが書き込み対象となる書き込み処理、のいずれか一方の書き込み処理を実行し、
    データの読み書きを行う際にかかる負荷状況として、情報処理装置が有する複数の物理ディスクそれぞれの負荷状況を監視し、
    前記仮想ストレージノードは、監視した複数の前記物理ディスクそれぞれの負荷状況に応じて、起動中の前記仮想ストレージノードの全てが書き込み対象となる書き込み処理か、起動中の前記仮想ストレージノードのうちの予め定められた一部の前記仮想ストレージノードのみが書き込み対象となる書き込み処理、のいずれか一方の書き込み処理を実行し、
    前記仮想ストレージノードは、データの格納先を示す情報である格納先情報を有し、
    監視した複数の前記物理ディスクそれぞれの負荷状況に応じて、前記格納先情報を更新し、
    前記仮想ストレージノードは、更新される前記格納先情報に応じて、起動中の前記仮想ストレージノードの全てが書き込み対象となる書き込み処理か、起動中の前記仮想ストレージノードのうちの予め定められた一部の前記仮想ストレージノードのみが書き込み対象となる書き込み処理、のいずれか一方の書き込み処理を実行し、
    監視した複数の前記物理ディスクそれぞれの負荷状況に応じて、起動中の前記仮想ストレージノードのうちの予め定められた一部の前記仮想ストレージノードのみが書き込み対象となる際に書き込み対象とならない前記仮想ストレージノードから、当該仮想ストレージノードに記憶されているデータを、書き込み対象となる一部の前記仮想ストレージノードへと移行させる
    情報処理方法。
  11. 情報処理装置に、
    仮想マシンである仮想ストレージノードを複数起動する仮想化手段を実現させ、
    前記仮想ストレージノードは、
    データの読み書きを行う際にかかる負荷状況に応じて、起動中の前記仮想ストレージノードの全てが書き込み対象となる書き込み処理か、起動中の前記仮想ストレージノードのうちの予め定められた一部の前記仮想ストレージノードのみが書き込み対象となる書き込み処理、のいずれか一方の書き込み処理を実行し、
    前記仮想化手段は、データの読み書きを行う際にかかる負荷状況として、情報処理装置が有する複数の物理ディスクそれぞれの負荷状況を監視する負荷監視手段を有する仮想管理ノードを起動し、
    前記仮想ストレージノードは、前記負荷監視手段が監視した複数の前記物理ディスクそれぞれの負荷状況に応じて、起動中の前記仮想ストレージノードの全てが書き込み対象となる書き込み処理か、起動中の前記仮想ストレージノードのうちの予め定められた一部の前記仮想ストレージノードのみが書き込み対象となる書き込み処理、のいずれか一方の書き込み処理を実行し、
    前記仮想ストレージノードは、データの格納先を示す情報である格納先情報を有し、
    前記仮想管理ノードは、前記負荷監視手段が監視した複数の前記物理ディスクそれぞれの負荷状況に応じて、前記格納先情報を更新するデータ配置管理手段を有し、
    前記仮想ストレージノードは、前記データ配置管理手段により更新される前記格納先情報に応じて、起動中の前記仮想ストレージノードの全てが書き込み対象となる書き込み処理か、起動中の前記仮想ストレージノードのうちの予め定められた一部の前記仮想ストレージノードのみが書き込み対象となる書き込み処理、のいずれか一方の書き込み処理を実行し、
    前記データ配置管理手段は、前記負荷監視手段が監視した複数の前記物理ディスクそれぞれの負荷状況に応じて、起動中の前記仮想ストレージノードのうちの予め定められた一部の前記仮想ストレージノードのみが書き込み対象となる際に書き込み対象とならない前記仮想ストレージノードから、当該仮想ストレージノードに記憶されているデータを、書き込み対象となる一部の前記仮想ストレージノードへと移行させる
    プログラム。
JP2017223865A 2017-11-21 2017-11-21 情報処理装置、情報処理方法、プログラム Active JP7021742B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017223865A JP7021742B2 (ja) 2017-11-21 2017-11-21 情報処理装置、情報処理方法、プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017223865A JP7021742B2 (ja) 2017-11-21 2017-11-21 情報処理装置、情報処理方法、プログラム

Publications (2)

Publication Number Publication Date
JP2019095995A JP2019095995A (ja) 2019-06-20
JP7021742B2 true JP7021742B2 (ja) 2022-02-17

Family

ID=66972971

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017223865A Active JP7021742B2 (ja) 2017-11-21 2017-11-21 情報処理装置、情報処理方法、プログラム

Country Status (1)

Country Link
JP (1) JP7021742B2 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009009194A (ja) 2007-06-26 2009-01-15 Hitachi Ltd 消費電力を削減する機能を備えたストレージシステム
JP2009048360A (ja) 2007-08-17 2009-03-05 Fujitsu Ltd ストレージ管理プログラム、ストレージ管理装置およびストレージ管理方法
WO2012117658A1 (ja) 2011-02-28 2012-09-07 日本電気株式会社 ストレージシステム
WO2013190649A1 (ja) 2012-06-20 2013-12-27 富士通株式会社 仮想ディスクのマイグレーションに関する情報処理方法及び装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009009194A (ja) 2007-06-26 2009-01-15 Hitachi Ltd 消費電力を削減する機能を備えたストレージシステム
JP2009048360A (ja) 2007-08-17 2009-03-05 Fujitsu Ltd ストレージ管理プログラム、ストレージ管理装置およびストレージ管理方法
WO2012117658A1 (ja) 2011-02-28 2012-09-07 日本電気株式会社 ストレージシステム
WO2013190649A1 (ja) 2012-06-20 2013-12-27 富士通株式会社 仮想ディスクのマイグレーションに関する情報処理方法及び装置

Also Published As

Publication number Publication date
JP2019095995A (ja) 2019-06-20

Similar Documents

Publication Publication Date Title
US11411885B2 (en) Network-accessible data volume modification
US11042330B2 (en) Methods and systems for distributed data storage
US20180004698A1 (en) Network-accessible data volume modification
US20230136106A1 (en) Space efficient distributed storage systems
US20180307426A1 (en) Storage apparatus and storage control method
JP5405530B2 (ja) 分散データストアシステムおよび障害復旧方法
JP2019191951A (ja) 情報処理システム及びボリューム割当て方法
US10394484B2 (en) Storage system
US8683121B2 (en) Storage system
US11675545B2 (en) Distributed storage system and storage control method
CN107948229B (zh) 分布式存储的方法、装置及系统
JP6307962B2 (ja) 情報処理システム、情報処理方法、及び、情報処理プログラム
CN112631994A (zh) 数据迁移方法及系统
JP7021742B2 (ja) 情報処理装置、情報処理方法、プログラム
US11755384B2 (en) Scaling virtualization resource units of applications
US20220269426A1 (en) Resource allocation in a storage system
JP5278254B2 (ja) ストレージシステム、データ記憶方法及びプログラム
EP3479236B1 (en) Network-accessible data volume modification
JP6891603B2 (ja) バックアップシステム、ストレージ装置、データ転送方法及びプログラム
KR101754713B1 (ko) 비대칭 분산 파일 시스템, 연산 분배 장치 및 방법
JP6653786B2 (ja) I/o制御方法およびi/o制御システム
JP6733214B2 (ja) 制御装置、ストレージシステム、制御方法及びプログラム
US11556254B2 (en) Providing a distributed and replicated data store in a heterogeneous cluster
US20230409530A1 (en) Grouping data to conserve storage capacity
JP2017174265A (ja) 制御装置、記憶装置、記憶制御方法およびコンピュータプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201009

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210813

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210824

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210909

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: 20220105

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220127

R150 Certificate of patent or registration of utility model

Ref document number: 7021742

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150