(57)【要約】【課題】管理情報にアクセスするためのネットワークトラフィックの発生を抑制する。【解決手段】複数の情報処理装置の中から仮想機械の配置先を決定する第１決定部１２０と、仮想機械からのアクセス対象である処理対象データに関する管理情報の格納先を、複数のノード１０のうち、仮想機械と同一のノード１０に決定する第２決定部１１１と、第２決定部１１１によって決定されたノード１０に、管理情報を格納する格納処理部１１１とを備える【選択図】図２
2019120987.tif 000002
【特許請求の範囲】
【請求項１】
記憶装置を有する１つ以上の情報処理装置と通信回線を介して接続される情報処理装置であって、
複数の情報処理装置の中から仮想機械の配置先を決定する第１決定部と、
前記仮想機械からのアクセス対象である処理対象データに関する管理情報の格納先を、前記複数のノードのうち、前記仮想機械と同一のノードに決定する第２決定部と、
前記第２決定部によって決定された前記ノードに、前記管理情報を格納する格納処理部とを備える
ことを特徴とする、情報処理装置。
【請求項２】
前記第２決定部が、前記第１決定部による前記仮想機械の配置先の決定方法と同一の決定方法を用いて、前記管理情報を格納する格納先の前記ノードを決定する
ことを特徴とする、請求項１記載の情報処理装置。
【請求項３】
前記第１決定部が、前記仮想機械に対応する識別情報を演算式に適用することより、前記複数のノードの中から前記仮想機械の配置先を決定し、
前記第２決定部が、前記仮想機械に対応する識別情報を前記演算式に適用することより、前記複数のノードの中から前記管理情報の配置先を決定する
ことを特徴とする、請求項１または２記載の情報処理装置。
【請求項４】
記憶装置を有する１つ以上の情報処理装置と通信回線を介して接続される情報処理装置のプロセッサに、
複数の情報処理装置の中から仮想機械の配置先を決定する処理と、
前記仮想機械からのアクセス対象である処理対象データに関する管理情報の格納先を、前記複数のノードのうち、前記仮想機械と同一のノードに決定し、
決定された前記ノードに、前記管理情報を格納する
処理を実行させることを特徴とする、制御プログラム。
【請求項５】
記憶装置を有する１つ以上の情報処理装置と通信回線を介して接続される情報処理装置における情報処理方法であって、
複数の情報処理装置の中から仮想機械の配置先を決定する処理と、
前記仮想機械からのアクセス対象である処理対象データに関する管理情報の格納先を、前記複数のノードのうち、前記仮想機械と同一のノードに決定する処理と、
決定された前記ノードに、前記管理情報を格納する処理と
を備えることを特徴とする、情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置，制御プログラムおよび情報処理方法に関する。
【背景技術】
【０００２】
近年、ハイパーコンバージドインフラストラクチャ（Hyper-Converged Infrastructure：ＨＣＩ）と呼ばれる仮想化基盤技術により、仮想機械（Virtual Machine：ＶＭ）やコンテナとストレージとを同じ分散システム上で動作させることが一般的に行なわれている。
【０００３】
図１６は従来のＨＣＩシステムの構成を模式的に示す図である。
【０００４】
この図１６に例示するＨＣＩシステム５００は、３つのコンピュータノード５０１を備える。以下、コンピュータノード５０１を単にノード５０１という。
【０００５】
各ノード５０１は、図示しないＣＰＵ（Central Processing Unit）やメモリを有するコンピュータである。各ノード５０１は、ＯＳ（Operating System）や種々のプログラムを実行することで種々の機能を実現する。
【０００６】
例えば、各ノード５０１は、ハイパーバイザ５０２を実行することで、仮想機械（ＶＭ）５０５を実現する。
【０００７】
ＶＭ５０５は、ハイパーバイザ５０２上で作成される仮想的なコンピュータである。各ＶＭ５０５は、物理ハードウェアで実現されるコンピュータと同様にＢＩＯＳ（Basic Input Output System）やＣＰＵ、メモリ、ディスク、キーボード、マウス、ＣＤ−ＲＯＭドライブなどの周辺機器を用い、種々の処理を実行する。例えば、ＶＭ５０５は、種々のＯＳ（ゲストＯＳ）やこのゲストＯＳ上で稼動するアプリケーションプログラムを実行する。
【０００８】
ハイパーバイザ５０２は、ＶＭ５０５を実現するための制御プログラムである。ハイパーバイザ５０２は、例えば、自身が稼動するノード５０１において、１つ以上のＶＭ５０５を生成し機能させる。
【０００９】
また、ノード５０１は、ストレージコントローラ５０３およびメタデータ分散データベース（DataBase：ＤＢ）５０４としての機能を実現する。
【００１０】
ストレージコントローラ５０３は、ＨＣＩシステム５００の各ノード５０１にそれぞれ備えられる記憶装置５０６を管理する。例えば、ストレージコントローラ５０３は、ＨＣＩシステム５００の各ノード５０１に備えられた複数の記憶装置５０６の各記憶領域を用いて、１つの論理ボリュームを構成する。
【００１１】
ＶＭ５０５によって生成等されたデータは、ストレージコントローラ５０３によって、いずれかのノード５０１の記憶装置５０６に格納される。以下、ＶＭ５０５によって生成され、いずれかのノード５０１の記憶装置５０６に格納されるデータを処理対象データという場合がある。この処理対象データについてのメタデータは、メタデータ分散ＤＢ５０４によって管理される。
【００１２】
メタデータは、処理対象データに関する管理情報であり、例えば、処理対象データの格納位置（物理格納位置），圧縮の有無，重複排除の有無等の情報を含む。
【００１３】
メタデータ分散ＤＢ５０４はメタデータの管理を行なう。また、メタデータ分散ＤＢ５０４は、ＨＣＩシステム５００におけるメタデータの格納位置（保存先）を任意に決定する。メタデータ分散ＤＢ５０４は、メタデータの格納場所として決定したノード５０１にメタデータを送信し、そのノード５０１に格納させる。
【００１４】
ＶＭ５０５からの処理対象データへのアクセス時には、ＶＭ５０５は処理対象データのＬＵＮ（Logical Unit Number）およびＬＢＡ（Logical Block Addressing ）をメタデータ分散ＤＢ５０４に渡し、メタデータ分散ＤＢ５０４は、これらのＬＵＮおよびＬＢＡを用いてメタデータが格納されたノード５０１を特定する。そして、メタデータ分散ＤＢ５０４は、ネットワークを介して保存先のノード５０４からメタデータを取得する。
【００１５】
ストレージコントローラ５０３は、このメタデータから処理対象データの格納位置を取得し、この取得した格納位置の情報を用いて処理対象データに対するアクセスを行なう。
【先行技術文献】
【特許文献】
【００１６】
【特許文献１】特開２００９−２９５１２７号公報
【特許文献２】国際公開ＷＯ２０１７／０７２９３３号パンフレット
【特許文献３】特開２０１６−２１２９０４号公報
【発明の概要】
【発明が解決しようとする課題】
【００１７】
しかしながら、このような従来のＨＣＩシステム５００においては、ＶＭ５０５がメタデータをリードするためにネットワークアクセスが発生し、これにより生じるネットワークトラフィックが問題となっている。
【００１８】
図１７は従来のＨＣＩシステム５００におけるネットワークトラフィックの状態（Throughput［単位：ＭＢ／ｓｅｃ］）を例示する図である。
【００１９】
この図１７に示す例においては、処理対象データのリード（4K Read）アクセスにより生じるネットワークトラフィック（符号Ｌ１参照）と、メタデータのライト（Meta Data Write）アクセスにより生じるネットワークトラフィック（符号Ｌ２参照）と、メタデータのリード（Meta Data Read）により生じるネットワークトラフィック（符号Ｌ３参照）とを、それぞれ示す。
【００２０】
ＶＭ５０５からのリード対象である処理対象データをＶＭ５０５が機能するノード５０１と同じノード（ローカルノード）５０１に配置することで、データリードにより発生するネットワークトラフィックを抑制させることができる（符号Ｌ１参照）。
【００２１】
これに対して、メタデータをリードするために生じるデータアクセスによるネットワークトラフィックは比較的高い状態となっている（符号Ｌ３参照）。
【００２２】
ストレージのメタデータはメタデータ分散ＤＢ５０４によって管理され、ＶＭ５０５と異なるノード５０１上にメタデータが保存されている場合には、処理対象データへのＩ／Ｏが発生するたびにメタデータをリードするためのネットワークアクセスが発生する。
【００２３】
すなわち、メタデータをリードするために、ネットワークを介して他のノード５０１へアクセスするネットワークトラフィックが多く発生する。これにより、ネットワークトラフィックが増大し、ネットワークリソースの浪費やレイテンシの発生を招き、Ｉ／Ｏアクセス性能の低下が生じる。データリードにかかるネットワークトラフィックの抑制が希望されている一方で、メタデータをリードするためのネットワークトラフィックが増大することは望ましいものではない。
【００２４】
１つの側面では、本発明は、管理情報にアクセスするために発生するネットワークトラフィックを抑制することを目的とする。
【課題を解決するための手段】
【００２５】
このため、この情報処理装置は、複数の情報処理装置の中から仮想機械の配置先を決定する第１決定部と、前記仮想機械からのアクセス対象である処理対象データに関する管理情報の格納先を、前記複数のノードのうち、前記仮想機械と同一のノードに決定する第２決定部と、前記第２決定部によって決定された前記ノードに、前記管理情報を格納する格納処理部とを備える。
【発明の効果】
【００２６】
一実施形態によれば、管理情報にアクセスするために生じるネットワークトラフィックを抑制することができる。
【図面の簡単な説明】
【００２７】
【図１】実施形態の一例としてのストレージシステムのハードウェア構成を例示する図である。
【図２】実施形態の一例としてのストレージシステムにおけるノードの機能構成を示す図である。
【図３】実施形態の一例としてのストレージシステムにおけるメタデータ管理部によるメタデータの管理方法を説明するための図である。
【図４】実施形態の一例としてのストレージシステムにおけるメタデータ管理部によるメタデータの管理方法を説明するための図である。
【図５】実施形態の一例としてのストレージシステムにおける初期化処理を説明するためのフローチャートである。
【図６】実施形態の一例としてのストレージシステムにおける初期化処理を説明するための図である。
【図７】実施形態の一例としてのストレージシステムにおけるＶＭ作成時の処理を説明するための図である。
【図８】実施形態の一例としてのストレージシステムにおけるリード／ライト処理を説明するためのフローチャートである。
【図９】実施形態の一例としてのストレージシステムにおけるリード処理を説明するための図である。
【図１０】実施形態の一例としてのストレージシステムにおけるライト処理を説明するための図である。
【図１１】実施形態の一例としてのストレージシステムにおいてノードの削減時の処理を説明するためのフローチャートである。
【図１２】実施形態の一例としてのストレージシステムにおけるノードの削減時の処理を説明するための図である。
【図１３】実施形態の一例としてのストレージシステムにおけるノードの追加時の処理を説明するためのフローチャートである。
【図１４】実施形態の一例としてのストレージシステムにおけるノードの追加時の処理を説明するための図である。
【図１５】実施形態の一例としてのストレージシステムにおけるＬＵＮ−ＬＢＡとメタデータの格納位置との他の対応付けを例示する図である。
【図１６】従来のＨＣＩシステムの構成を模式的に示す図である。
【図１７】従来のＨＣＩシステムにおけるネットワークトラフィックの状態を例示する図である。
【発明を実施するための形態】
【００２８】
以下、図面を参照して本情報処理装置，制御プログラムおよび情報処理方法に係る実施の形態を説明する。ただし、以下に示す実施形態はあくまでも例示に過ぎず、実施形態で明示しない種々の変形例や技術の適用を排除する意図はない。すなわち、本実施形態を、その趣旨を逸脱しない範囲で種々変形（実施形態及び各変形例を組み合わせる等）して実施することができる。又、各図は、図中に示す構成要素のみを備えるという趣旨ではなく、他の機能等を含むことができる。
【００２９】
（Ａ）構成
図１は実施形態の一例としてのストレージシステム１のハードウェア構成を例示する図である。
【００３０】
この図１に例示するストレージシステム１は、複数（図１に示す例では３つ）のコンピュータノード１０−１〜１０−３を備えるＨＣＩシステム（仮想化基盤ストレージシステム）である。
【００３１】
コンピュータノード１０−１〜１０−３は、ネットワーク５０を介して相互に通信可能に接続されている。
【００３２】
これらのコンピュータノード１０−１〜１０−３は、互いに同様の構成を有する。以下、コンピュータノードを示す符号としては、複数のコンピュータノードのうち１つを特定する必要があるときには符号１０−１〜１０−３を用いるが、任意のコンピュータノードを指すときには符号１０を用いる。また、以下、コンピュータノード１０を単にノード１０という場合がある。また、ノード１０をマシン１０という場合もある。
【００３３】
各ノード１０は、それぞれユニークなマシンＩＤを有する。図１に例示するコンピュータシステム１においては、３つのノード１０−１〜１０−３のマシンＩＤが“0”，“1”，“2”であるものとする。
【００３４】
各ノード１０は、例えば、サーバ機能を有するコンピュータであり、ＣＰＵ１１，メモリ１２，記憶装置１３およびネットワークインタフェース（InterFace：Ｉ／Ｆ）１４を構成要素として有する。これらの構成要素１１〜１４は、バス１５を介して相互に通信可能に構成される。
【００３５】
また、各ノード１０は、記憶装置１３の記憶領域を、後述するストレージコントローラ１１０にストレージ資源として提供する。
【００３６】
記憶装置１３は、ハードディスクドライブ（Hard disk drive：ＨＤＤ），ＳＳＤ（Solid State Drive），ストレージクラスメモリ（Storage Class Memory：ＳＣＭ）や、等の記憶
装置であって、種々のデータを格納するものである。各ノード１０には、それぞれ１つ以上の記憶装置１３が備えられる。
【００３７】
そして、各ノード１０に備えられた複数の記憶装置１３には、後述するＶＭ２（図３参照）によって処理されるデータ（処理対象データ）および、この処理対象データを管理するためのメタデータ（管理データ）が格納される。
【００３８】
なお、メタデータの保存先の記憶装置１３は、後述するストレージコントローラ１１０のメタデータ管理部１１１（図２参照）によって決定される。
【００３９】
ネットワークＩ／Ｆ１４は、他のノード１０と通信可能に接続する通信インタフェースであり、例えば、ＬＡＮ（Local Area Network）インタフェースやＦＣ（Fibre Channel）インタフェースである。
【００４０】
メモリ１２はＲＯＭ（Read Only Memory）およびＲＡＭ（Random Access Memory）を含む記憶メモリである。メモリ１２のＲＯＭには、ＯＳやストレージシステムとしての制御にかかるソフトウェアプログラムやこのプログラム用のデータ類が書き込まれている。メモリ１２上のソフトウェアプログラムは、ＣＰＵ１に適宜読み込まれて実行される。また、メモリ１２のＲＡＭは、一次記憶メモリあるいはワーキングメモリとして利用される。
【００４１】
また、メモリ１２のＲＡＭの所定の領域は、ハッシュ関数格納部１４１として用いられる。このハッシュ関数格納部１４１には、２つのハッシュ関数（演算式）Ｈ１，Ｈ２が格納される。
【００４２】
ＣＰＵ１１は、制御ユニット（制御回路）や演算ユニット（演算回路），キャッシュメモリ（レジスタ群）等を内蔵する処理装置（プロセッサ）であり、種々の制御や演算を行なう。ＣＰＵ１１は、メモリ１２に格納されたＯＳやプログラムを実行することにより、種々の機能を実現する。
【００４３】
図２は実施形態の一例としてのストレージシステム１におけるノード１０の機能構成を示す図である。
【００４４】
本ストレージシステム１に備えられた各ノード１０において、ＣＰＵ１１が制御プログラムを実行することで、図２に示すように、ハイパーバイザ１３０，ＤＨＴ（Distributed Hash Table：分散ハッシュテーブル）機能部１４０，ストレージコントローラ１１０およびＶＭ管理部１２０としての機能を実現する。
【００４５】
なお、これらのハイパーバイザ１３０，ＤＨＴ機能部１４０，ストレージコントローラ１１０およびＶＭ管理部１２０としての機能を実現するためのプログラム（制御プログラム）は、例えばフレキシブルディスク，ＣＤ（ＣＤ−ＲＯＭ，ＣＤ−Ｒ，ＣＤ−ＲＷ等），ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−ＲＡＭ，ＤＶＤ−Ｒ，ＤＶＤ＋Ｒ，ＤＶＤ−ＲＷ，ＤＶＤ＋ＲＷ，ＨＤ  ＤＶＤ等），ブルーレイディスク，磁気ディスク，光ディスク，光磁気ディスク等の、コンピュータ読取可能な記録媒体に記録された形態で提供される。そして、コンピュータはその記録媒体からプログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。また、そのプログラムを、例えば磁気ディスク，光ディスク，光磁気ディスク等の記憶装置（記録媒体）に記録しておき、その記憶装置から通信経路を介してコンピュータに提供するようにしてもよい。
【００４６】
ハイパーバイザ１３０，ＤＨＴ機能部１４０，ストレージコントローラ１１０およびＶＭ管理部１２０としての機能を実現する際には、内部記憶装置（本実施形態ではメモリ１２）に格納されたプログラムがコンピュータのマイクロプロセッサ（本実施形態ではＣＰＵ１１）によって実行される。このとき、記録媒体に記録されたプログラムをコンピュータが読み取って実行するようにしてもよい。
【００４７】
ＤＨＴ機能部１４０は、ＤＨＴとしての機能を実現する。ＤＨＴは、あるキー（ビット列）をハッシュ関数、あるいは何らかの直線化関数により論理的な空間の１点に射影し、射影された点に値を関連付ける。本ストレージシステム１においては、ＤＨＴは、２つのハッシュ関数Ｈ１，Ｈ２を用いる。なお、ＤＨＴとしての機能は既知であり、その詳細な説明は省略する。
【００４８】
ハイパーバイザ１３０は、ＶＭ２を実現するための制御プログラムである。ハイパーバイザ１３０は、例えば、自身が稼動するノード１０において、１つ以上のＶＭ２を生成し機能させる。
【００４９】
ＶＭ２は、ハイパーバイザ１３０上で作成される仮想的なコンピュータである。各ＶＭ２は、物理ハードウェアで実現されるコンピュータと同様にＢＩＯＳやＣＰＵ，メモリ，ディスク，キーボード，マウス，ＣＤ−ＲＯＭドライブなどの周辺機器を用い、種々の処理を実行する。例えば、ＶＭ２は、種々のＯＳ（ゲストＯＳ）やこのゲストＯＳ上で稼動するアプリケーションプログラムを実行する。
【００５０】
ＶＭ管理部１２０は、ハイパーバイザ１３０によって生成されるＶＭ２の配置先のノード１０を決定する。ＶＭ管理部１２０は、例えば、ＶＭ２の作成時に、当該ＶＭ２に対応するＬＵＮをキーとしてハッシュ関数（演算式，第１の演算式）Ｈ１に適用することで、当該ＶＭ２が配置されるノード１０を決定する。例えば、ＶＭ管理部１２０は、ハッシュ関数Ｈ１にＬＵＮを適用することでノード１０のマシンＩＤを算出する。
【００５１】
例えば、ハッシュ関数Ｈ１がコンシステントハッシュである場合において、ＬＵＮ=“6”である場合に、このＬＵＮをハッシュ関数Ｈ１に適用すると、
6 mod 3 = 0
となる。この場合、ＶＭ管理部１２０は、ＬＵＮ=“6”の作成先のノード１０としてマシン番号“0”のノード１０を決定（選択）する。
【００５２】
従って、ＶＭ管理部１２０は、複数のノード１０の中からＶＭ２の配置先を決定する第１決定部として機能する。
【００５３】
なお、ハッシュ関数Ｈ１はコンシステントハッシュに限定されるものではなく、適宜変形して実施することができる。
【００５４】
以下、ＶＭ管理部１２０による処理をＶＭ管理プロセスという場合がある。
【００５５】
ストレージコントローラ１１０は、本ストレージシステム１の各ノード１０にそれぞれ備えられる記憶装置１３を管理する。例えば、ストレージコントローラ１１０は、本ストレージシステム１の各ノード１０に備えられた複数の記憶装置１３の各記憶領域を用いて、１つの論理ボリュームを構成する。
【００５６】
ストレージコントローラ１１０は、本ストレージシステム１の各ノード１０にそれぞれ備えられる記憶装置１３を管理する。例えば、ストレージコントローラ１１０は、本ストレージシステム１の各ノード１０に備えられた複数の記憶装置１３の各記憶領域を用いて、１つ以上の論理ボリュームを構成する。
【００５７】
ＶＭ２によって生成等されるデータは、ストレージコントローラ１１０によって、いずれかのノード１０の記憶装置１３に格納される。以下、ＶＭ２によって生成され、いずれかのノード１０の記憶装置１３に格納されるデータを処理対象データという場合がある。
【００５８】
ストレージコントローラ１１０は、図２に示すように、メタデータ管理部１１１およびＩ／Ｏアクセス部１１２を備える。
【００５９】
メタデータ管理部１１１は、処理対象データについてのメタデータの保存先（格納先）を決定し、管理する。
【００６０】
図３および図４はそれぞれ実施形態の一例としてのストレージシステム１におけるメタデータ管理部１１１によるメタデータの管理方法を説明するための図である。図３はメタデータ管理部１１１によるメタデータの保存先ノード１０の決定方法を説明するための図、図４はメタデータ管理部１１１によるメタデータの保存先の決定方法を説明するための図である。
【００６１】
図３においては、ノード１０−１のメタデータ管理部１１１がメタデータの格納位置（保存先）を決定する処理を例示している。
【００６２】
メタデータ管理部１１１は、メタデータを２つのハッシュ関数Ｈ１，Ｈ２を用いた、２段階ハッシュ手法で管理する。
【００６３】
具体的には、メタデータ管理部１１１は、ＶＭ２に対応するメタデータの保存先ノード１０を、ＶＭ２の配置先の決定に用いたものと同じキー（ＬＵＮ）を、当該ＶＭ２の配置先の決定に用いたハッシュ関数（第１の演算式）Ｈ１に適用することで（１段階目ハッシュ）で決定する（図３の符号Ｐ１参照）。
【００６４】
これにより、メタデータの格納先ノード１０を当該メタデータを用いるＶＭ２の配置先と同じにする。
【００６５】
従って、メタデータ管理部１１１は、ＶＭ２からのアクセス対象である処理対象データに関するメタデータ（管理情報）の格納先を、複数のノード１０のうち、ＶＭ２と同一のノード１０に決定する第２決定部として機能する。
【００６６】
また、ハッシュ関数Ｈ１は、上述の如く、ＶＭ管理部１２０によるＶＭ２の配置先ノード１０の決定と、メタデータの格納先ノード１０の決定とに用いられるので、このハッシュ関数Ｈ１を共有のハッシュ関数という場合がある。
【００６７】
その後、メタデータ管理部１１１は、処理対象データのＬＵＮおよびＬＢＡをキーとしてハッシュ関数（第２の演算式）Ｈ２に適用することで、（２段階目ハッシュ）、保存先ノード１０における、当該処理対象データのメタデータの格納位置（保存先）を決定する（図３の符号Ｐ２参照）。
【００６８】
図４においては、処理対象データのＬＵＮおよびＬＢＡをハッシュ関数Ｈ２にキーとして入力することで、メタデータ（Meta）の格納先を示すバケットＢ０〜Ｂｎを決定する処理を示している。
【００６９】
なお、バケットＢ０〜Ｂｎには、メタデータにアクセスするためのポインタを設定してもよく、また、例えば、ＰＢＡ（Physical Block Address）のようなメタデータの保存位置を示す値を設定してもよい。
【００７０】
ストレージコントローラ１１０においては、ＬＵＮ−ＬＢＡをキーとしてハッシュ値を算出し、この算出されたハッシュ値が配列のインデックスとなり、バケットが決定されるのである。
【００７１】
メタデータ管理部１１１は、決定した格納先にメタデータを格納する。すなわち、メタデータ管理部１１１は、上述の如く決定したノード１０に、メタデータを格納する格納処理部としても機能する。
【００７２】
また、メタデータ管理部１１１は、メタデータの格納位置とＬＵＮ−ＬＢＡとを対応付けたメタデータ対応情報（図示省略）を管理する。
【００７３】
ＶＭ２からライトアクセス要求が行なわれた場合には、メタデータ管理部１１１は、上述した２段階ハッシュによりメタデータの保存先を決定し、この保存先にメタデータを保存する。また、メタデータ管理部１１１は、上述したメタデータ対応情報に、メタデータの格納位置とＬＵＮ−ＬＢＡとを対応付けてハッシュテーブル（メタデータ対応情報）に登録（マッピング）する。
【００７４】
ＶＭ２からリード要求が行なわれた場合には、メタデータ管理部１１１は、そのリード要求にかかるＬＵＮおよびＬＢＡに基づいてメタデータ対応情報を参照することで、メタデータの格納位置を取得する。
【００７５】
Ｉ／Ｏアクセス部１１２は、ＶＭ２からのＩ／Ｏ要求に従って、記憶装置１３からのデータ（処理対象データ）のリードや、記憶装置１３へのデータ（処理対象データ）のライトを行なう。
【００７６】
Ｉ／Ｏアクセス部１１２は、記憶装置１３の処理対象データにアクセスするために、処理対象データに関するメタデータを取得し、このメタデータに含まれる処理対象データの保存先情報を取得する。
【００７７】
ここで、メタデータには、例えば、処理対象データの保存先情報として、保存先ノード１０のマシンＩＤ，ＰＢＡが含まれる。また、処理対象データがキャッシュメモリの記憶領域上にある場合には、そのキャッシュメモリ上のアドレスも、処理対象データの格納位置情報として含まれる。
【００７８】
また、メタデータには、処理対象データの状態を示す情報として、圧縮の有無，重複排除の有無等の情報が含まれる。
【００７９】
Ｉ／Ｏアクセス部１１２は、例えば、ＬＵＮおよびＬＢＡに基づいてメタデータ対応情報を参照することで、処理対象データのメタデータの格納位置を知り、メタデータを取得する。そして、このメタデータに含まれる保存先情報に基づき、処理対象データのリードを行なう。
【００８０】
Ｉ／Ｏアクセス部１１２は、メタデータから取得した処理対象データの保存先情報を用いて処理対象データにアクセスし、当該処理対象データのリードやライト等の処理を行なう。
【００８１】
Ｉ／Ｏアクセス部１１２は、メタデータ対応情報を参照する代わりに、処理対象データのＬＵＮをキーとしてハッシュ関数Ｈ１に適用することで、処理対象データのメタデータの保存先のノード１０のマシンＩＤを算出してもよい。
【００８２】
そして、メタデータの保存先のノード１０において、Ｉ／Ｏアクセス部１１２は、処理対象データのＬＵＮおよびＬＢＡをキーとしてハッシュ関数Ｈ２に適用することで、メタデータの格納先を示すバケットを決定してもよい。
【００８３】
Ｉ／Ｏアクセス部１１２は、決定したバケットの値を参照してメタデータにアクセスし、このメタデータから、処理対象データの保存先情報（保存先ノード１０のマシンＩＤ，ＰＢＡ等）を取得する。そして、Ｉ／Ｏアクセス部１１２は、この取得した保存先情報を参照して、処理対象データへのアクセスを行なってもよい。
【００８４】
（Ｂ）動作
【００８５】
［初期化処理］
先ず、上述の如く構成された実施形態の一例としてのストレージシステム１における初期化処理を、図６を参照しながら図５に示すフローチャート（ステップＳＡ１〜ＳＡ５）に従って説明する。なお、図６は本ストレージシステム１の初期化処理を説明するための図である。
【００８６】
例えば、本ストレージシステム１の設置時の初回起動時等のタイミングで、本ストレージシステム１の初期化が行なわれる。また、本ストレージシステム１の電源投入時に初期化処理を行なってもよい。
【００８７】
ステップＳＡ１において、例えばシステム管理者は、各ノード１０において、ＶＭ管理部１２０としての機能を実行させることでＶＭ管理プロセスを立ち上げ、また、ストレージコントローラ１１０を立ち上げて実行させる（図６の符号Ａ１参照）。
【００８８】
ステップＳＡ２において、各ノード１０間において相互に通信を行ない、各ノード１０にそれぞれユニークなマシンＩＤを設定する。また、設定された各ノード１０のマシンＩＤは相互に通知し合うことで共有される（図６の符号Ａ２参照）。なお、マシンＩＤは既知の手法で設定することができ、その説明は省略する。
【００８９】
ステップＳＡ３において、例えばシステム管理者はＶＭの作成指示を入力する。また、この際、システム管理者は、このＶＭに対応付する論理ボリュームのＬＵＮを入力する。入力されたＬＵＮは引数として当該ノード１０のＶＭ管理部１２０（ＶＭ管理プロセス）に渡される。
【００９０】
ステップＳＡ４において、ＶＭ管理部１２０は、ハッシュ関数Ｈ１にステップＳＡ３において入力されたＬＵＮを適用することで、新たに作成するＶＭ２の配置先のノード１０のマシンＩＤを算出する。
【００９１】
ステップＳＡ５において、処理は算出されたマシンＩＤのノード１０に移行し、この移行先のノード１０において、ＶＭ管理部１２０はハイパーバイザ１３０の機能を用いてＶＭ２を作成し、処理を終了する。
【００９２】
［ＶＭ作成処理］
次に、実施形態の一例としてのストレージシステム１におけるＶＭ作成時の処理を、図７を参照しながら説明する。
【００９３】
システム管理者等がＶＭの作成指示を入力する（図７の符号Ｅ１参照）。また、この際、システム管理者は、このＶＭに対応付する論理ボリュームのＬＵＮを入力する。入力されたＬＵＮは引数として当該ノード１０のＶＭ管理部１２０（ＶＭ管理プロセス）に渡される。
【００９４】
ＶＭ管理部１２０は、入力されたＬＵＮをハッシュ関数Ｈ１に適用することで、新たに作成されるＶＭ２の配置先のノード１０のマシンＩＤを算出する（図７の符号Ｅ２参照）。
【００９５】
処理は算出されたマシンＩＤのノード１０に移行する（図７の符号Ｅ３参照）。この移行先のノード１０において、ＶＭ管理部１２０はハイパーバイザ１３０の機能を用いてＶＭ２を作成する（図７の符号Ｅ４参照）。
【００９６】
［リード／ライト処理］
次に、実施形態の一例としてのストレージシステム１におけるリード／ライト処理を、図９および図１０を参照しながら図８に示すフローチャート（ステップＳＢ１〜ＳＢ７）に従って説明する。なお、図９は本ストレージシステム１におけるリード処理を説明するための図、図１０はライト処理を説明するための図である。
【００９７】
ステップＳＢ１において、ＶＭ２が、ストレージコントローラ１０に対して、Ｉ／Ｏアクセス要求とともに、処理対象データのＬＵＮおよびＬＢＡを渡す（図９および図１０の符号Ｂ１参照）。
【００９８】
ステップＳＢ２において、ストレージコントローラ１１０のＩ／Ｏアクセス部１１２は、処理対象データのＬＵＮを共有のハッシュ関数Ｈ１に適用することで、処理対象データのメタデータが保存されているノード１０のマシンＩＤを算出する（図９および図１０の符号Ｂ２参照）。
【００９９】
ステップＳＢ３において、処理は算出されたマシンＩＤのノード１０に移行する（図９および図１０の符号Ｂ３参照）。
【０１００】
ＶＭ２からＩ／Ｏアクセス要求がリードである場合には、処理はステップＳＢ４に移行する。
【０１０１】
ステップＳＢ４において、移行先のノード１０において、メタデータ管理部１１１は、ステップＳＢ１でＶＭ２から渡されたＬＵＮおよびＬＢＡに基づいてメタデータ対応情報を参照する（引く）ことで、処理対象データにかかるメタデータの格納位置を取得する（図９の符号Ｂ４参照）。
【０１０２】
Ｉ／Ｏアクセス部１１２は、取得したメタデータの格納位置にアクセスすることでメタデータを取得する。
【０１０３】
その後、ステップＳＢ５において、Ｉ／Ｏアクセス部１１２は、ステップＳＢ１において取得したメタデータから処理対象データの保存先情報（保存先ノード１０のマシンＩＤ，ＰＢＡ等）を取得する。そして、Ｉ／Ｏアクセス部１１２は、この取得した保存先情報を参照して、処理対象データのリードを行ない（図９の符号Ｂ５参照）、処理を終了する。
【０１０４】
一方、ステップＳＢ３の処理終了後において、ＶＭ２からＩ／Ｏアクセス要求がライトである場合には、処理はステップＳＢ６に移行する。
【０１０５】
ステップＳＢ６において、移行先のノード１０において、Ｉ／Ｏアクセス部１１２は、ステップＳＢ１において取得したＬＵＮおよびＬＢＡによって特定される位置にデータのライトを行なうとともに、このライトしたデータ（処理対象データ）のメタデータを作成する（図１０の符号Ｂ６参照）。
【０１０６】
ステップＳＢ７において、Ｉ／Ｏアクセス部１１２は、ステップＳＢ１でＶＭ２から渡されたＬＵＮおよびＬＢＡをハッシュ関数Ｈ２に適用することで、メタデータの格納先を示すバケットを決定する。
【０１０７】
メタデータ管理部１１１は、決定されたバケットによって特定される位置（保存先）にメタデータを格納する。そして、メタデータ管理部１１１は、上述したメタデータ対応情報に、メタデータの格納位置とＬＵＮ−ＬＢＡとを対応付けて登録（マッピング）し（図１０の符号Ｂ７参照）、処理を終了する。
【０１０８】
［ノードの削減処理］
次に、実施形態の一例としてのストレージシステム１におけるノード１０の削減時の処理を、図１２を参照しながら、図１１に示すフローチャート（ステップＳＣ１〜ＳＣ５）に従って説明する。なお、図１２は、本ストレージシステム１におけるノード１０の削減時の処理を説明するための図である。
【０１０９】
ノード１０の削減（ノード数の削減）は、例えば、メンテナンス等によりノード１０を停止させる場合に生じる。このようなノード１０の削減を行なう場合には、前もって停止させるノード１０上のＶＭ２を他のノード１０に移動させる処理を行なう。
【０１１０】
ステップＳＣ１において、システム管理者等がノード１０を削除する旨の指示を入力する（図１２の符号Ｃ１参照）。この指示入力には、削除対象のノード１０を特定する情報（例えば、マシンＩＤ）が含まれる。図１２に示す例においては、ノード１０−１（マシンＩＤ“0”）が削除対象ノード１０であるものとする。
【０１１１】
ステップＳＣ２において、削除対象のノード１０以外の全てのノード１０（図１２に示す例では、ノード１０−１，１０−２）の各ＶＭ管理部１２０間において、マシンＩＤの再付与が行なわれる（図１２の符号Ｃ２参照）。これにより、ノード１０−１にマシンＩＤ“0”が、ノード１０−２にマシンＩＤ“1”が、それぞれ再付与される。
【０１１２】
その後、削除対象ノード１０−１に処理が移動する（図１２の符号Ｃ３参照）。
【０１１３】
ステップＳＣ３において、削除対象ノード１０−１において、ＶＭ管理部１２０は、自ノード（削除対象ノード）１０−１上で稼働しているＶＭ２の移動先となるノード１０を計算（再計算）する。
【０１１４】
具体的には、ＶＭ管理部１２０は、移動させるＶＭ２に対応するＬＵＮをキーとしてハッシュ関数Ｈ１に適用することで、当該ＶＭ２が配置される（移動先の）ノード１０を決定する。
【０１１５】
ＶＭ管理部１２０は、再計算により決定されたノード１０（図１２に示す例ではノード１０−２）に、移動対象のＶＭ２を移動させる（図１２の符号Ｃ４参照）。
【０１１６】
ステップＳＣ４において、削除対象ノード１０−１のＶＭ管理部１２０は、ストレージコントローラ１１０にマシン数（ノード１０の数）が変更になったことを通知する（図１２の符号Ｃ５参照）。また、削除対象ノード１０−１のＶＭ管理部１２０は、他のノード１０のＶＭ管理部１２０にもマシン数の変更を通知する。各ノード１０において、ＶＭ管理部１２０は自ノード１０のストレージコントローラ１１０にマシン数の変更をそれぞれ通知する（図１２の符号Ｃ５参照）。
【０１１７】
ステップＳＣ５において、削除対象ノード１０−１のストレージコントローラ１１０（メタデータ管理部１１１）は、自ノード（削除対象ノード）１０−１上にあるメタデータの保存先を計算（再計算）し、算出した移動先ノード１０にメタデータを移動させる（図１２の符号Ｃ６参照）。
【０１１８】
メタデータの移動先は、上述の如く、２つのハッシュ関数Ｈ１，Ｈ２を用いた、２段階ハッシュ手法で管理する。
【０１１９】
すなわち、ＶＭ２に対応するメタデータの保存先ノード１０を、ＶＭ２の配置先の決定に用いたものと同じキー（ＬＵＮ）を、当該ＶＭ２の配置先の決定に用いたハッシュ関数Ｈ１に適用することで（１段階目ハッシュ）で決定する。
【０１２０】
例えば、ハッシュ関数Ｈ１がコンシステントハッシュである場合において、ＬＵＮ=“6”である場合に、このＬＵＮをハッシュ関数Ｈ１に適用すると、
6 mod 2 = 0
となる。この場合、ＶＭ管理部１２０は、ＬＵＮ=“6”に対応するメタデータの保存先ノード１０として、マシン番号“0”のノード１０を決定（選択）する。
【０１２１】
その後、メタデータ管理部１１１は、処理対象データのＬＵＮおよびＬＢＡをキーとしてハッシュ関数Ｈ２に適用することで（２段階目ハッシュ）、保存先ノード１０における、当該処理対象データのメタデータの格納位置（移動先）を決定する。
【０１２２】
その後、削除対象ノード１０−１のストレージコントローラ１１０は、自ノード（削除対象ノード）１０−１上にあるデータ（処理対象データ）の保存先を計算（再計算）し、保存先のノード１０に変更がある場合には、算出した移動先ノード１０にデータを移動させる（図１２の符号Ｃ７参照）。データの移動を行なった場合には、メタデータの更新も行なう。
【０１２３】
なお、ストレージコントローラ１１０による、自ノード（削除対象ノード）１０−１上にあるデータ（処理対象データ）の保存先のノード１０は、例えば、対応するＶＭ２と同一にしてもよく、既知の種々の手法を用いて決定することができる。
【０１２４】
その後、処理を終了する。
【０１２５】
［ノードの追加処理］
次に、実施形態の一例としてのストレージシステム１におけるノード１０の追加時の処理を、図１４を参照しながら、図１３に示すフローチャート（ステップＳＤ１〜ＳＤ５）に従って説明する。
【０１２６】
ステップＳＤ１において、ストレージシステム１に新たなノード１０が接続され、システム管理者等がノード１０を追加する旨の指示を入力する（図１４の符号Ｄ１参照）。図１４に示す例においては、ノード１０−４が追加されるノード（追加ノード，追加マシン）１０であるものとする。
【０１２７】
ステップＳＤ２において、他の各ノード１０に追加ノード１０が検知され、この追加ノード１０を含む全ノード１０の各ＶＭ管理部１２０間において、マシンＩＤの再付与が行なわれる（図１４の符号Ｄ２参照）。これにより、例えば、追加ノード１０−４にマシンＩＤ“4”が付与されたものとする。
【０１２８】
その後、各ノード１０に処理が移動する（図１４の符号Ｄ３参照）。
【０１２９】
ステップＳＤ３において、全てのノード１０において、ＶＭ管理部１２０は、自ノード１０上で稼働しているＶＭ２の移動先となるノード１０を計算（再計算）する。
【０１３０】
具体的には、ＶＭ管理部１２０は、移動させるＶＭ２に対応するＬＵＮをキーとしてハッシュ関数Ｈ１に適用することで、当該ＶＭ２が配置される（移動先の）ノード１０を決定する。
【０１３１】
例えば、ハッシュ関数Ｈ１がコンシステントハッシュである場合において、ＬＵＮ=“6”である場合に、このＬＵＮをハッシュ関数Ｈ１に適用すると、
6 mod 4 = 2
となる。この場合、ＶＭ管理部１２０は、ＬＵＮ=“6”に対応するＶＭ２およびメタデータの移動先ノード１０として、マシン番号“2”のノード１０を決定（選択）する。
【０１３２】
ＶＭ管理部１２０は、再計算により決定されたノード１０に、移動対象のＶＭ２を移動させる（図１４の符号Ｄ４参照）。
【０１３３】
ステップＳＤ４において、各ノード１０のＶＭ管理部１２０は、ストレージコントローラ１１０にマシン数（ノード１０の数）が変更になったことを通知する（図１４の符号Ｄ５参照）。
【０１３４】
ステップＳＤ５において、本ストレージシステム１における全ノード１０のストレージコントローラ１１０（メタデータ管理部１１１）は、自ノード１０上にあるメタデータの保存先を計算（再計算）し、算出した移動先ノード１０にメタデータを移動させる（図１４の符号Ｄ６参照）。
【０１３５】
メタデータの移動先は、上述の如く、２つのハッシュ関数Ｈ１，Ｈ２を用いた、２段階ハッシュ手法で管理する。
【０１３６】
すなわち、ＶＭ２に対応するメタデータの保存先ノード１０を、ＶＭ２の配置先の決定に用いたものと同じキー（ＬＵＮ）を、当該ＶＭ２の配置先の決定に用いたハッシュ関数Ｈ１に適用することで（１段階目ハッシュ）で決定する。その後、メタデータ管理部１１１は、処理対象データのＬＵＮおよびＬＢＡをキーとしてハッシュ関数Ｈ２に適用することで、（２段階目ハッシュ）、保存先ノード１０における、当該処理対象データのメタデータの格納位置（移動先）を決定する。
【０１３７】
その後、各ノード１０のストレージコントローラ１１０は、自ノード１０上にあるデータ（処理対象データ）の保存先を計算（再計算）し、保存先のノード１０に変更がある場合には、算出した移動先ノード１０にデータを移動させる（図１４の符号Ｄ７参照）。データの移動を行なった場合には、メタデータの更新も行なう。
【０１３８】
なお、ストレージコントローラ１１０による、自ノード１０上にあるデータ（処理対象データ）の保存先のノード１０は、例えば、対応するＶＭ２と同一にしてもよく、既知の種々の手法を用いて決定することができる。
【０１３９】
その後、処理を終了する。
【０１４０】
（Ｃ）効果
このように、実施形態の一例としてのストレージシステム１においては、メタデータ管理部１１１が、メタデータの保存先ノード１０を当該メタデータに対応するＶＭ２の配置先ノード１０と同じにすることで、メタデータにアクセスするためのネットワーク通信の発生を抑止する。これにより、メタデータへのアクセスにネットワークリソースを消費することがなく、ネットワークオーバヘッドがなくなるので、Ｉ／Ｏアクセス性能が向上する。
【０１４１】
また、ＤＨＴの負荷分散効果により、ＶＭ２も分散し、リソースの有効活用が可能になるという副次的効果を奏することもできる。
【０１４２】
（Ｄ）その他
開示の技術は上述した実施形態に限定されるものではなく、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。
【０１４３】
例えば、本ストレージシステム１に備えられるノード１０の数は、３つに限定されるものではなく、２つ以下もしくは４つ以上であってもよく、種々変形して実施することができる。
【０１４４】
［変形例１］
上述した実施形態においては、メタデータ管理部１１１は、ＬＵＮをキーとして用いてメタデータの保存先ノード１０を決定しているが、これに限定されるものではなく、他の識別情報（ＩＤ）をキーとして用いてメタデータの保存先ノード１０を決定してもよい。
【０１４５】
かかるＩＤとしては、ＶＭ２を一意に特定するユニークな値を用いることが望ましい。例えば、予めＶＭ２毎にユニークな識別情報を設定しておきこの識別情報をＩＤとして用いてもよい。また、ＶＭ２毎に設定されたＩＰアドレスをＩＤとして用いてもよい。
【０１４６】
さらに、例えば、ＫＶＭ（Kernel-based Virtual Machine）のようにＶＭにユニークなＩＤが付与されるシステムにおいては、このＶＭのＩＤをキーとして用いてメタデータの保存先ノード１０を決定してもよい。
【０１４７】
ＶＭ２毎にユニークに設定された識別情報をキーとして用いることで、１つのＶＭ２が複数のＬＵＮを有する場合においても、確実にＶＭ２と同じノード１０にメタデータを配置することができる。
【０１４８】
［変形例２］
上述した実施形態においては、メタデータ管理部１１１は、処理対象データのＬＵＮおよびＬＢＡをキーとしてハッシュ関数Ｈ２に適用することで、保存先ノード１０における、当該処理対象データのメタデータの格納位置（移動先）を決定しているが、これに限定されるものではない。
【０１４９】
図１５は実施形態の一例としてのストレージシステム１におけるＬＵＮ−ＬＢＡとメタデータの格納位置との他の対応付けを例示する図である。
【０１５０】
この図１５においては、ＬＵＮ−ＬＢＡとメタデータ（mdata）の格納位置とを１つ以上のポインタを介して接続したツリー構造を示している。
【０１５１】
メタデータ管理部１１１は、このようなＬＵＮ−ＬＢＡとメタデータの格納位置とを１つ以上のポインタを介して接続したツリー構造をメモリ１２等に記憶し、ＬＵＮおよびＬＢＡに基づいて、このようなツリー構造をたどることでメタデータを取得してもよい。これにより、ハッシュ関数を用いた演算を行なうことなく、ＬＵＮおよびＬＢＡに基づきメタデータの格納位置に到達することができる。
【０１５２】
そして、本発明は上述した実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で種々変形して実施することができる。
【０１５３】
また、上述した開示により本実施形態を当業者によって実施・製造することが可能である。
【０１５４】
（Ｅ）付記
以上の実施形態に関し、さらに以下の付記を開示する。
【０１５５】
（付記１）
記憶装置を有する１つ以上の情報処理装置と通信回線を介して接続される情報処理装置であって、
複数の情報処理装置の中から仮想機械の配置先を決定する第１決定部と、
前記仮想機械からのアクセス対象である処理対象データに関する管理情報の格納先を、前記複数のノードのうち、前記仮想機械と同一のノードに決定する第２決定部と、
前記第２決定部によって決定された前記ノードに、前記管理情報を格納する格納処理部とを備える
ことを特徴とする、情報処理装置。
【０１５６】
（付記２）
前記第２決定部が、前記第１決定部による前記仮想機械の配置先の決定方法と同一の決定方法を用いて、前記管理情報を格納する格納先の前記ノードを決定する
ことを特徴とする、付記１記載の情報処理装置。
【０１５７】
（付記３）
前記第１決定部が、前記仮想機械に対応する識別情報を演算式に適用することより、前記複数のノードの中から前記仮想機械の配置先を決定し、
前記第２決定部が、前記仮想機械に対応する識別情報を前記演算式に適用することより、前記複数のノードの中から前記管理情報の配置先を決定する
ことを特徴とする、付記１または２記載の情報処理装置。
【０１５８】
（付記４）
記憶装置を有する１つ以上の情報処理装置と通信回線を介して接続される情報処理装置のプロセッサに、
複数の情報処理装置の中から仮想機械の配置先を決定する処理と、
前記仮想機械からのアクセス対象である処理対象データに関する管理情報の格納先を、前記複数のノードのうち、前記仮想機械と同一のノードに決定し、
決定された前記ノードに、前記管理情報を格納する
処理を実行させることを特徴とする、制御プログラム。
【０１５９】
（付記５）
前記仮想機械の配置先の決定方法と同一の決定方法を用いて、前記管理情報を格納する格納先の前記ノードを決定する
処理を前記プロセッサに実行させることを特徴とする、付記４記載の制御プログラム。
【０１６０】
（付記６）
前記仮想機械に対応する識別情報を演算式に適用することより、前記複数のノードの中から前記仮想機械および前記管理情報の配置先を決定する
処理を前記プロセッサに実行させることを特徴とする、付記４または５記載の制御プログラム。
【０１６１】
（付記７）
記憶装置を有する１つ以上の情報処理装置と通信回線を介して接続される情報処理装置における情報処理方法であって、
複数の情報処理装置の中から仮想機械の配置先を決定する処理と、
前記仮想機械からのアクセス対象である処理対象データに関する管理情報の格納先を、前記複数のノードのうち、前記仮想機械と同一のノードに決定する処理と、
決定された前記ノードに、前記管理情報を格納する処理と
を備えることを特徴とする、情報処理方法。
【０１６２】
（付記８）
前記仮想機械の配置先の決定方法と同一の決定方法を用いて、前記管理情報を格納する格納先の前記ノードを決定する処理を
備えることを特徴とする、付記７記載の情報処理方法。
【０１６３】
（付記９）
前記仮想機械に対応する識別情報を演算式に適用することより、前記複数のノードの中から前記仮想機械および前記管理情報の配置先を決定する処理を
備えることを特徴とする、付記７または８記載の情報処理方法。
【０１６４】
（付記１０）
それぞれが記憶装置を有する複数のノードを備えるストレージシステムにおいて、
前記複数のノードの中から仮想機械の配置先を決定する第１決定部と、
前記仮想機械からのアクセス対象である処理対象データに関する管理情報の格納先を、前記複数のノードのうち、前記仮想機械と同一のノードに決定する第２決定部と、
前記第２決定部によって決定された前記ノードに、前記管理情報を格納する格納処理部とを備える
ことを特徴とする、ストレージシステム。
【０１６５】
（付記１１）
前記第２決定部が、前記第１決定部による前記仮想機械の配置先の決定方法と同一の決定方法を用いて、前記管理情報を格納する格納先の前記ノードを決定する
ことを特徴とする、付記１０記載のストレージシステム。
【０１６６】
（付記１２）
前記第１決定部が、前記仮想機械に対応する識別情報を演算式に適用することより、前記複数のノードの中から前記仮想機械の配置先を決定し、
前記第２決定部が、前記仮想機械に対応する識別情報を前記演算式に適用することより、前記複数のノードの中から前記仮想機械の配置先を決定する
ことを特徴とする、付記１０または１１記載のストレージシステム
【符号の説明】
【０１６７】
１    ストレージシステム
２    ＶＭ
１０    コンピュータノード，ノード
１１    ＣＰＵ
１２    メモリ
１３    記憶装置
１４    ネットワークＩ/Ｆ
５０    ネットワーク
１１０    ストレージコントローラ
１１１    メタデータ管理部
１１２    Ｉ／Ｏアクセス部
１２０    ＶＭ管理部
１３０    ハイパーバイザ
１４０    ＤＨＴ機能部
１４１    ハッシュ関数格納部
【図１】
2019120987.tif 000003
【図２】
2019120987.tif 000004
【図３】
2019120987.tif 000005
【図４】
2019120987.tif 000006
【図５】
2019120987.tif 000007
【図６】
2019120987.tif 000008
【図７】
2019120987.tif 000009
【図８】
2019120987.tif 000010
【図９】
2019120987.tif 000011
【図１０】
2019120987.tif 000012
【図１１】
2019120987.tif 000013
【図１２】
2019120987.tif 000014
【図１３】
2019120987.tif 000015
【図１４】
2019120987.tif 000016
【図１５】
2019120987.tif 000017
【図１６】
2019120987.tif 000018
【図１７】
2019120987.tif 000019