JP7006265B2 - 情報処理装置,制御プログラムおよび情報処理方法 - Google Patents

情報処理装置,制御プログラムおよび情報処理方法 Download PDF

Info

Publication number
JP7006265B2
JP7006265B2 JP2017253160A JP2017253160A JP7006265B2 JP 7006265 B2 JP7006265 B2 JP 7006265B2 JP 2017253160 A JP2017253160 A JP 2017253160A JP 2017253160 A JP2017253160 A JP 2017253160A JP 7006265 B2 JP7006265 B2 JP 7006265B2
Authority
JP
Japan
Prior art keywords
node
information processing
metadata
storage
virtual machine
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
JP2017253160A
Other languages
English (en)
Other versions
JP2019120987A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2017253160A priority Critical patent/JP7006265B2/ja
Priority to US16/197,426 priority patent/US10824460B2/en
Publication of JP2019120987A publication Critical patent/JP2019120987A/ja
Application granted granted Critical
Publication of JP7006265B2 publication Critical patent/JP7006265B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45579I/O management, e.g. providing access to device drivers or storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Description

本発明は、情報処理装置,制御プログラムおよび情報処理方法に関する。
近年、ハイパーコンバージドインフラストラクチャ(Hyper-Converged Infrastructure:HCI)と呼ばれる仮想化基盤技術により、仮想機械(Virtual Machine:VM)やコンテナとストレージとを同じ分散システム上で動作させることが一般的に行なわれている。
図16は従来のHCIシステムの構成を模式的に示す図である。
この図16に例示するHCIシステム500は、3つのコンピュータノード501を備える。以下、コンピュータノード501を単にノード501という。
各ノード501は、図示しないCPU(Central Processing Unit)やメモリを有するコンピュータである。各ノード501は、OS(Operating System)や種々のプログラムを実行することで種々の機能を実現する。
例えば、各ノード501は、ハイパーバイザ502を実行することで、仮想機械(VM)505を実現する。
VM505は、ハイパーバイザ502上で作成される仮想的なコンピュータである。各VM505は、物理ハードウェアで実現されるコンピュータと同様にBIOS(Basic Input Output System)やCPU、メモリ、ディスク、キーボード、マウス、CD-ROMドライブなどの周辺機器を用い、種々の処理を実行する。例えば、VM505は、種々のOS(ゲストOS)やこのゲストOS上で稼動するアプリケーションプログラムを実行する。
ハイパーバイザ502は、VM505を実現するための制御プログラムである。ハイパーバイザ502は、例えば、自身が稼動するノード501において、1つ以上のVM505を生成し機能させる。
また、ノード501は、ストレージコントローラ503およびメタデータ分散データベース(DataBase:DB)504としての機能を実現する。
ストレージコントローラ503は、HCIシステム500の各ノード501にそれぞれ備えられる記憶装置506を管理する。例えば、ストレージコントローラ503は、HCIシステム500の各ノード501に備えられた複数の記憶装置506の各記憶領域を用いて、1つの論理ボリュームを構成する。
VM505によって生成等されたデータは、ストレージコントローラ503によって、いずれかのノード501の記憶装置506に格納される。以下、VM505によって生成され、いずれかのノード501の記憶装置506に格納されるデータを処理対象データという場合がある。この処理対象データについてのメタデータは、メタデータ分散DB504によって管理される。
メタデータは、処理対象データに関する管理情報であり、例えば、処理対象データの格納位置(物理格納位置),圧縮の有無,重複排除の有無等の情報を含む。
メタデータ分散DB504はメタデータの管理を行なう。また、メタデータ分散DB504は、HCIシステム500におけるメタデータの格納位置(保存先)を任意に決定する。メタデータ分散DB504は、メタデータの格納場所として決定したノード501にメタデータを送信し、そのノード501に格納させる。
VM505からの処理対象データへのアクセス時には、VM505は処理対象データのLUN(Logical Unit Number)およびLBA(Logical Block Addressing )をメタデータ分散DB504に渡し、メタデータ分散DB504は、これらのLUNおよびLBAを用いてメタデータが格納されたノード501を特定する。そして、メタデータ分散DB504は、ネットワークを介して保存先のノード504からメタデータを取得する。
ストレージコントローラ503は、このメタデータから処理対象データの格納位置を取得し、この取得した格納位置の情報を用いて処理対象データに対するアクセスを行なう。
特開2009-295127号公報 国際公開WO2017/072933号パンフレット 特開2016-212904号公報
しかしながら、このような従来のHCIシステム500においては、VM505がメタデータをリードするためにネットワークアクセスが発生し、これにより生じるネットワークトラフィックが問題となっている。
図17は従来のHCIシステム500におけるネットワークトラフィックの状態(Throughput[単位:MB/sec])を例示する図である。
この図17に示す例においては、処理対象データのリード(4K Read)アクセスにより生じるネットワークトラフィック(符号L1参照)と、メタデータのライト(Meta Data Write)アクセスにより生じるネットワークトラフィック(符号L2参照)と、メタデータのリード(Meta Data Read)により生じるネットワークトラフィック(符号L3参照)とを、それぞれ示す。
VM505からのリード対象である処理対象データをVM505が機能するノード501と同じノード(ローカルノード)501に配置することで、データリードにより発生するネットワークトラフィックを抑制させることができる(符号L1参照)。
これに対して、メタデータをリードするために生じるデータアクセスによるネットワークトラフィックは比較的高い状態となっている(符号L3参照)。
ストレージのメタデータはメタデータ分散DB504によって管理され、VM505と異なるノード501上にメタデータが保存されている場合には、処理対象データへのI/Oが発生するたびにメタデータをリードするためのネットワークアクセスが発生する。
すなわち、メタデータをリードするために、ネットワークを介して他のノード501へアクセスするネットワークトラフィックが多く発生する。これにより、ネットワークトラフィックが増大し、ネットワークリソースの浪費やレイテンシの発生を招き、I/Oアクセス性能の低下が生じる。データリードにかかるネットワークトラフィックの抑制が希望されている一方で、メタデータをリードするためのネットワークトラフィックが増大することは望ましいものではない。
1つの側面では、本発明は、管理情報にアクセスするために発生するネットワークトラフィックを抑制することを目的とする。
このため、この情報処理装置は、それぞれが記憶装置を有し通信回線を介して接続される複数の情報処理装置を備えるシステムに用いられるものであって、前記複数の情報処理装置のそれぞれが、前記複数の情報処理装置の中から仮想機械の配置先を決定する第1決定部と、前記仮想機械からのアクセス対象である処理対象データに関する管理情報の格納先を、前記複数の情報処理装置のうち、前記仮想機械と同一の情報処理装置に決定する第2決定部と、前記第2決定部によって決定された前記情報処理装置に、前記管理情報を格納する格納処理部とを備える。
一実施形態によれば、管理情報にアクセスするために生じるネットワークトラフィックを抑制することができる。
実施形態の一例としてのストレージシステムのハードウェア構成を例示する図である。 実施形態の一例としてのストレージシステムにおけるノードの機能構成を示す図である。 実施形態の一例としてのストレージシステムにおけるメタデータ管理部によるメタデータの管理方法を説明するための図である。 実施形態の一例としてのストレージシステムにおけるメタデータ管理部によるメタデータの管理方法を説明するための図である。 実施形態の一例としてのストレージシステムにおける初期化処理を説明するためのフローチャートである。 実施形態の一例としてのストレージシステムにおける初期化処理を説明するための図である。 実施形態の一例としてのストレージシステムにおけるVM作成時の処理を説明するための図である。 実施形態の一例としてのストレージシステムにおけるリード/ライト処理を説明するためのフローチャートである。 実施形態の一例としてのストレージシステムにおけるリード処理を説明するための図である。 実施形態の一例としてのストレージシステムにおけるライト処理を説明するための図である。 実施形態の一例としてのストレージシステムにおいてノードの削減時の処理を説明するためのフローチャートである。 実施形態の一例としてのストレージシステムにおけるノードの削減時の処理を説明するための図である。 実施形態の一例としてのストレージシステムにおけるノードの追加時の処理を説明するためのフローチャートである。 実施形態の一例としてのストレージシステムにおけるノードの追加時の処理を説明するための図である。 実施形態の一例としてのストレージシステムにおけるLUN-LBAとメタデータの格納位置との他の対応付けを例示する図である。 従来のHCIシステムの構成を模式的に示す図である。 従来のHCIシステムにおけるネットワークトラフィックの状態を例示する図である。
以下、図面を参照して本情報処理装置,制御プログラムおよび情報処理方法に係る実施の形態を説明する。ただし、以下に示す実施形態はあくまでも例示に過ぎず、実施形態で明示しない種々の変形例や技術の適用を排除する意図はない。すなわち、本実施形態を、その趣旨を逸脱しない範囲で種々変形(実施形態及び各変形例を組み合わせる等)して実施することができる。又、各図は、図中に示す構成要素のみを備えるという趣旨ではなく、他の機能等を含むことができる。
(A)構成
図1は実施形態の一例としてのストレージシステム1のハードウェア構成を例示する図である。
この図1に例示するストレージシステム1は、複数(図1に示す例では3つ)のコンピュータノード10-1~10-3を備えるHCIシステム(仮想化基盤ストレージシステム)である。
コンピュータノード10-1~10-3は、ネットワーク50を介して相互に通信可能に接続されている。
これらのコンピュータノード10-1~10-3は、互いに同様の構成を有する。以下、コンピュータノードを示す符号としては、複数のコンピュータノードのうち1つを特定する必要があるときには符号10-1~10-3を用いるが、任意のコンピュータノードを指すときには符号10を用いる。また、以下、コンピュータノード10を単にノード10という場合がある。また、ノード10をマシン10という場合もある。
各ノード10は、それぞれユニークなマシンIDを有する。図1に例示するコンピュータシステム1においては、3つのノード10-1~10-3のマシンIDが“0”,“1”,“2”であるものとする。
各ノード10は、例えば、サーバ機能を有するコンピュータであり、CPU11,メモリ12,記憶装置13およびネットワークインタフェース(InterFace:I/F)14を構成要素として有する。これらの構成要素11~14は、バス15を介して相互に通信可能に構成される。
また、各ノード10は、記憶装置13の記憶領域を、後述するストレージコントローラ110にストレージ資源として提供する。
記憶装置13は、ハードディスクドライブ(Hard disk drive:HDD),SSSD(Solid State Drive),ストレージクラスメモリ(Storage Class Memory:SCM)や、等の記憶装置であって、種々のデータを格納するものである。各ノード10には、それぞれ1つ以上の記憶装置13が備えられる。
そして、各ノード10に備えられた複数の記憶装置13には、後述するVM2(図3参照)によって処理されるデータ(処理対象データ)および、この処理対象データを管理するためのメタデータ(管理データ)が格納される。
なお、メタデータの保存先の記憶装置13は、後述するストレージコントローラ110のメタデータ管理部111(図2参照)によって決定される。
ネットワークI/F14は、他のノード10と通信可能に接続する通信インタフェースであり、例えば、LAN(Local Area Network)インタフェースやFC(Fibre Channel)インタフェースである。
メモリ12はROM(Read Only Memory)およびRAM(Random Access Memory)を含む記憶メモリである。メモリ12のROMには、OSやストレージシステムとしての制御にかかるソフトウェアプログラムやこのプログラム用のデータ類が書き込まれている。メモリ12上のソフトウェアプログラムは、CPU1に適宜読み込まれて実行される。また、メモリ12のRAMは、一次記憶メモリあるいはワーキングメモリとして利用される。
また、メモリ12のRAMの所定の領域は、ハッシュ関数格納部141として用いられる。このハッシュ関数格納部141には、2つのハッシュ関数(演算式)H1,H2が格納される。
CPU11は、制御ユニット(制御回路)や演算ユニット(演算回路),キャッシュメモリ(レジスタ群)等を内蔵する処理装置(プロセッサ)であり、種々の制御や演算を行なう。CPU11は、メモリ12に格納されたOSやプログラムを実行することにより、種々の機能を実現する。
図2は実施形態の一例としてのストレージシステム1におけるノード10の機能構成を示す図である。
本ストレージシステム1に備えられた各ノード10において、CPU11が制御プログラムを実行することで、図2に示すように、ハイパーバイザ130,DHT(Distributed Hash Table:分散ハッシュテーブル)機能部140,ストレージコントローラ110およびVM管理部120としての機能を実現する。
なお、これらのハイパーバイザ130,DHT機能部140,ストレージコントローラ110およびVM管理部120としての機能を実現するためのプログラム(制御プログラム)は、例えばフレキシブルディスク,CD(CD-ROM,CD-R,CD-RW等),DVD(DVD-ROM,DVD-RAM,DVD-R,DVD+R,DVD-RW,DVD+RW,HD DVD等),ブルーレイディスク,磁気ディスク,光ディスク,光磁気ディスク等の、コンピュータ読取可能な記録媒体に記録された形態で提供される。そして、コンピュータはその記録媒体からプログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。また、そのプログラムを、例えば磁気ディスク,光ディスク,光磁気ディスク等の記憶装置(記録媒体)に記録しておき、その記憶装置から通信経路を介してコンピュータに提供するようにしてもよい。
ハイパーバイザ130,DHT機能部140,ストレージコントローラ110およびVM管理部120としての機能を実現する際には、内部記憶装置(本実施形態ではメモリ12)に格納されたプログラムがコンピュータのマイクロプロセッサ(本実施形態ではCPU11)によって実行される。このとき、記録媒体に記録されたプログラムをコンピュータが読み取って実行するようにしてもよい。
DHT機能部140は、DHTとしての機能を実現する。DHTは、あるキー(ビット列)をハッシュ関数、あるいは何らかの直線化関数により論理的な空間の1点に射影し、射影された点に値を関連付ける。本ストレージシステム1においては、DHTは、2つのハッシュ関数H1,H2を用いる。なお、DHTとしての機能は既知であり、その詳細な説明は省略する。
ハイパーバイザ130は、VM2を実現するための制御プログラムである。ハイパーバイザ130は、例えば、自身が稼動するノード10において、1つ以上のVM2を生成し機能させる。
VM2は、ハイパーバイザ130上で作成される仮想的なコンピュータである。各VM2は、物理ハードウェアで実現されるコンピュータと同様にBIOSやCPU,メモリ,ディスク,キーボード,マウス,CD-ROMドライブなどの周辺機器を用い、種々の処理を実行する。例えば、VM2は、種々のOS(ゲストOS)やこのゲストOS上で稼動するアプリケーションプログラムを実行する。
VM管理部120は、ハイパーバイザ130によって生成されるVM2の配置先のノード10を決定する。VM管理部120は、例えば、VM2の作成時に、当該VM2に対応するLUNをキーとしてハッシュ関数(演算式,第1の演算式)H1に適用することで、当該VM2が配置されるノード10を決定する。例えば、VM管理部120は、ハッシュ関数H1にLUNを適用することでノード10のマシンIDを算出する。
例えば、ハッシュ関数H1がコンシステントハッシュである場合において、LUN=“6”である場合に、このLUNをハッシュ関数H1に適用すると、
6 mod 3 = 0
となる。この場合、VM管理部120は、LUN=“6”の作成先のノード10としてマシン番号“0”のノード10を決定(選択)する。
従って、VM管理部120は、複数のノード10の中からVM2の配置先を決定する第1決定部として機能する。
なお、ハッシュ関数H1はコンシステントハッシュに限定されるものではなく、適宜変形して実施することができる。
以下、VM管理部120による処理をVM管理プロセスという場合がある。
ストレージコントローラ110は、本ストレージシステム1の各ノード10にそれぞれ備えられる記憶装置13を管理する。例えば、ストレージコントローラ110は、本ストレージシステム1の各ノード10に備えられた複数の記憶装置13の各記憶領域を用いて、1つの論理ボリュームを構成する。
ストレージコントローラ110は、本ストレージシステム1の各ノード10にそれぞれ備えられる記憶装置13を管理する。例えば、ストレージコントローラ110は、本ストレージシステム1の各ノード10に備えられた複数の記憶装置13の各記憶領域を用いて、1つ以上の論理ボリュームを構成する。
VM2によって生成等されるデータは、ストレージコントローラ110によって、いずれかのノード10の記憶装置13に格納される。以下、VM2によって生成され、いずれかのノード10の記憶装置13に格納されるデータを処理対象データという場合がある。
ストレージコントローラ110は、図2に示すように、メタデータ管理部111およびI/Oアクセス部112を備える。
メタデータ管理部111は、処理対象データについてのメタデータの保存先(格納先)を決定し、管理する。
図3および図4はそれぞれ実施形態の一例としてのストレージシステム1におけるメタデータ管理部111によるメタデータの管理方法を説明するための図である。図3はメタデータ管理部111によるメタデータの保存先ノード10の決定方法を説明するための図、図4はメタデータ管理部111によるメタデータの保存先の決定方法を説明するための図である。
図3においては、ノード10-1のメタデータ管理部111がメタデータの格納位置(保存先)を決定する処理を例示している。
メタデータ管理部111は、メタデータを2つのハッシュ関数H1,H2を用いた、2段階ハッシュ手法で管理する。
具体的には、メタデータ管理部111は、VM2に対応するメタデータの保存先ノード10を、VM2の配置先の決定に用いたものと同じキー(LUN)を、当該VM2の配置先の決定に用いたハッシュ関数(第1の演算式)H1に適用することで(1段階目ハッシュ)で決定する(図3の符号P1参照)。
これにより、メタデータの格納先ノード10を当該メタデータを用いるVM2の配置先と同じにする。
従って、メタデータ管理部111は、VM2からのアクセス対象である処理対象データに関するメタデータ(管理情報)の格納先を、複数のノード10のうち、VM2と同一のノード10に決定する第2決定部として機能する。
また、ハッシュ関数H1は、上述の如く、VM管理部120によるVM2の配置先ノード10の決定と、メタデータの格納先ノード10の決定とに用いられるので、このハッシュ関数H1を共有のハッシュ関数という場合がある。
その後、メタデータ管理部111は、処理対象データのLUNおよびLBAをキーとしてハッシュ関数(第2の演算式)H2に適用することで、(2段階目ハッシュ)、保存先ノード10における、当該処理対象データのメタデータの格納位置(保存先)を決定する(図3の符号P2参照)。
図4においては、処理対象データのLUNおよびLBAをハッシュ関数H2にキーとして入力することで、メタデータ(Meta)の格納先を示すバケットB0~Bnを決定する処理を示している。
なお、バケットB0~Bnには、メタデータにアクセスするためのポインタを設定してもよく、また、例えば、PBA(Physical Block Address)のようなメタデータの保存位置を示す値を設定してもよい。
ストレージコントローラ110においては、LUN-LBAをキーとしてハッシュ値を算出し、この算出されたハッシュ値が配列のインデックスとなり、バケットが決定されるのである。
メタデータ管理部111は、決定した格納先にメタデータを格納する。すなわち、メタデータ管理部111は、上述の如く決定したノード10に、メタデータを格納する格納処理部としても機能する。
また、メタデータ管理部111は、メタデータの格納位置とLUN-LBAとを対応付けたメタデータ対応情報(図示省略)を管理する。
VM2からライトアクセス要求が行なわれた場合には、メタデータ管理部111は、上述した2段階ハッシュによりメタデータの保存先を決定し、この保存先にメタデータを保存する。また、メタデータ管理部111は、上述したメタデータ対応情報に、メタデータの格納位置とLUN-LBAとを対応付けてハッシュテーブル(メタデータ対応情報)に登録(マッピング)する。
VM2からリード要求が行なわれた場合には、メタデータ管理部111は、そのリード要求にかかるLUNおよびLBAに基づいてメタデータ対応情報を参照することで、メタデータの格納位置を取得する。
I/Oアクセス部112は、VM2からのI/O要求に従って、記憶装置13からのデータ(処理対象データ)のリードや、記憶装置13へのデータ(処理対象データ)のライトを行なう。
I/Oアクセス部112は、記憶装置13の処理対象データにアクセスするために、処理対象データに関するメタデータを取得し、このメタデータに含まれる処理対象データの保存先情報を取得する。
ここで、メタデータには、例えば、処理対象データの保存先情報として、保存先ノード10のマシンID,PBAが含まれる。また、処理対象データがキャッシュメモリの記憶領域上にある場合には、そのキャッシュメモリ上のアドレスも、処理対象データの格納位置情報として含まれる。
また、メタデータには、処理対象データの状態を示す情報として、圧縮の有無,重複排除の有無等の情報が含まれる。
I/Oアクセス部112は、例えば、LUNおよびLBAに基づいてメタデータ対応情報を参照することで、処理対象データのメタデータの格納位置を知り、メタデータを取得する。そして、このメタデータに含まれる保存先情報に基づき、処理対象データのリードを行なう。
I/Oアクセス部112は、メタデータから取得した処理対象データの保存先情報を用いて処理対象データにアクセスし、当該処理対象データのリードやライト等の処理を行なう。
I/Oアクセス部112は、メタデータ対応情報を参照する代わりに、処理対象データのLUNをキーとしてハッシュ関数H1に適用することで、処理対象データのメタデータの保存先のノード10のマシンIDを算出してもよい。
そして、メタデータの保存先のノード10において、I/Oアクセス部112は、処理対象データのLUNおよびLBAをキーとしてハッシュ関数H2に適用することで、メタデータの格納先を示すバケットを決定してもよい。
I/Oアクセス部112は、決定したバケットの値を参照してメタデータにアクセスし、このメタデータから、処理対象データの保存先情報(保存先ノード10のマシンID,PBA等)を取得する。そして、I/Oアクセス部112は、この取得した保存先情報を参照して、処理対象データへのアクセスを行なってもよい。
(B)動作
[初期化処理]
先ず、上述の如く構成された実施形態の一例としてのストレージシステム1における初期化処理を、図6を参照しながら図5に示すフローチャート(ステップSA1~SA5)に従って説明する。なお、図6は本ストレージシステム1の初期化処理を説明するための図である。
例えば、本ストレージシステム1の設置時の初回起動時等のタイミングで、本ストレージシステム1の初期化が行なわれる。また、本ストレージシステム1の電源投入時に初期化処理を行なってもよい。
ステップSA1において、例えばシステム管理者は、各ノード10において、VM管理部120としての機能を実行させることでVM管理プロセスを立ち上げ、また、ストレージコントローラ110を立ち上げて実行させる(図6の符号A1参照)。
ステップSA2において、各ノード10間において相互に通信を行ない、各ノード10にそれぞれユニークなマシンIDを設定する。また、設定された各ノード10のマシンIDは相互に通知し合うことで共有される(図6の符号A2参照)。なお、マシンIDは既知の手法で設定することができ、その説明は省略する。
ステップSA3において、例えばシステム管理者はVMの作成指示を入力する。また、この際、システム管理者は、このVMに対応付する論理ボリュームのLUNを入力する。入力されたLUNは引数として当該ノード10のVM管理部120(VM管理プロセス)に渡される。
ステップSA4において、VM管理部120は、ハッシュ関数H1にステップSA3において入力されたLUNを適用することで、新たに作成するVM2の配置先のノード10のマシンIDを算出する。
ステップSA5において、処理は算出されたマシンIDのノード10に移行し、この移行先のノード10において、VM管理部120はハイパーバイザ130の機能を用いてVM2を作成し、処理を終了する。
[VM作成処理]
次に、実施形態の一例としてのストレージシステム1におけるVM作成時の処理を、図7を参照しながら説明する。
システム管理者等がVMの作成指示を入力する(図7の符号E1参照)。また、この際、システム管理者は、このVMに対応付する論理ボリュームのLUNを入力する。入力されたLUNは引数として当該ノード10のVM管理部120(VM管理プロセス)に渡される。
VM管理部120は、入力されたLUNをハッシュ関数H1に適用することで、新たに作成されるVM2の配置先のノード10のマシンIDを算出する(図7の符号E2参照)。
処理は算出されたマシンIDのノード10に移行する(図7の符号E3参照)。この移行先のノード10において、VM管理部120はハイパーバイザ130の機能を用いてVM2を作成する(図7の符号E4参照)。
[リード/ライト処理]
次に、実施形態の一例としてのストレージシステム1におけるリード/ライト処理を、図9および図10を参照しながら図8に示すフローチャート(ステップSB1~SB7)に従って説明する。なお、図9は本ストレージシステム1におけるリード処理を説明するための図、図10はライト処理を説明するための図である。
ステップSB1において、VM2が、ストレージコントローラ10に対して、I/Oアクセス要求とともに、処理対象データのLUNおよびLBAを渡す(図9および図10の符号B1参照)。
ステップSB2において、ストレージコントローラ110のI/Oアクセス部112は、処理対象データのLUNを共有のハッシュ関数H1に適用することで、処理対象データのメタデータが保存されているノード10のマシンIDを算出する(図9および図10の符号B2参照)。
ステップSB3において、処理は算出されたマシンIDのノード10に移行する(図9および図10の符号B3参照)。
VM2からI/Oアクセス要求がリードである場合には、処理はステップSB4に移行する。
ステップSB4において、移行先のノード10において、メタデータ管理部111は、ステップSB1でVM2から渡されたLUNおよびLBAに基づいてメタデータ対応情報を参照する(引く)ことで、処理対象データにかかるメタデータの格納位置を取得する(図9の符号B4参照)。
I/Oアクセス部112は、取得したメタデータの格納位置にアクセスすることでメタデータを取得する。
その後、ステップSB5において、I/Oアクセス部112は、ステップSB1において取得したメタデータから処理対象データの保存先情報(保存先ノード10のマシンID,PBA等)を取得する。そして、I/Oアクセス部112は、この取得した保存先情報を参照して、処理対象データのリードを行ない(図9の符号B5参照)、処理を終了する。
一方、ステップSB3の処理終了後において、VM2からI/Oアクセス要求がライトである場合には、処理はステップSB6に移行する。
ステップSB6において、移行先のノード10において、I/Oアクセス部112は、ステップSB1において取得したLUNおよびLBAによって特定される位置にデータのライトを行なうとともに、このライトしたデータ(処理対象データ)のメタデータを作成する(図10の符号B6参照)。
ステップSB7において、I/Oアクセス部112は、ステップSB1でVM2から渡されたLUNおよびLBAをハッシュ関数H2に適用することで、メタデータの格納先を示すバケットを決定する。
メタデータ管理部111は、決定されたバケットによって特定される位置(保存先)にメタデータを格納する。そして、メタデータ管理部111は、上述したメタデータ対応情報に、メタデータの格納位置とLUN-LBAとを対応付けて登録(マッピング)し(図10の符号B7参照)、処理を終了する。
[ノードの削減処理]
次に、実施形態の一例としてのストレージシステム1におけるノード10の削減時の処理を、図12を参照しながら、図11に示すフローチャート(ステップSC1~SC5)に従って説明する。なお、図12は、本ストレージシステム1におけるノード10の削減時の処理を説明するための図である。
ノード10の削減(ノード数の削減)は、例えば、メンテナンス等によりノード10を停止させる場合に生じる。このようなノード10の削減を行なう場合には、前もって停止させるノード10上のVM2を他のノード10に移動させる処理を行なう。
ステップSC1において、システム管理者等がノード10を削除する旨の指示を入力する(図12の符号C1参照)。この指示入力には、削除対象のノード10を特定する情報(例えば、マシンID)が含まれる。図12に示す例においては、ノード10-1(マシンID“0”)が削除対象ノード10であるものとする。
ステップSC2において、削除対象のノード10以外の全てのノード10(図12に示す例では、ノード10-1,10-2)の各VM管理部120間において、マシンIDの再付与が行なわれる(図12の符号C2参照)。これにより、ノード10-1にマシンID“0”が、ノード10-2にマシンID“1”が、それぞれ再付与される。
その後、削除対象ノード10-1に処理が移動する(図12の符号C3参照)。
ステップSC3において、削除対象ノード10-1において、VM管理部120は、自ノード(削除対象ノード)10-1上で稼働しているVM2の移動先となるノード10を計算(再計算)する。
具体的には、VM管理部120は、移動させるVM2に対応するLUNをキーとしてハッシュ関数H1に適用することで、当該VM2が配置される(移動先の)ノード10を決定する。
VM管理部120は、再計算により決定されたノード10(図12に示す例ではノード10-2)に、移動対象のVM2を移動させる(図12の符号C4参照)。
ステップSC4において、削除対象ノード10-1のVM管理部120は、ストレージコントローラ110にマシン数(ノード10の数)が変更になったことを通知する(図12の符号C5参照)。また、削除対象ノード10-1のVM管理部120は、他のノード10のVM管理部120にもマシン数の変更を通知する。各ノード10において、VM管理部120は自ノード10のストレージコントローラ110にマシン数の変更をそれぞれ通知する(図12の符号C5参照)。
ステップSC5において、削除対象ノード10-1のストレージコントローラ110(メタデータ管理部111)は、自ノード(削除対象ノード)10-1上にあるメタデータの保存先を計算(再計算)し、算出した移動先ノード10にメタデータを移動させる(図12の符号C6参照)。
メタデータの移動先は、上述の如く、2つのハッシュ関数H1,H2を用いた、2段階ハッシュ手法で管理する。
すなわち、VM2に対応するメタデータの保存先ノード10を、VM2の配置先の決定に用いたものと同じキー(LUN)を、当該VM2の配置先の決定に用いたハッシュ関数H1に適用することで(1段階目ハッシュ)で決定する。
例えば、ハッシュ関数H1がコンシステントハッシュである場合において、LUN=“6”である場合に、このLUNをハッシュ関数H1に適用すると、
6 mod 2 = 0
となる。この場合、VM管理部120は、LUN=“6”に対応するメタデータの保存先ノード10として、マシン番号“0”のノード10を決定(選択)する。
その後、メタデータ管理部111は、処理対象データのLUNおよびLBAをキーとしてハッシュ関数H2に適用することで(2段階目ハッシュ)、保存先ノード10における、当該処理対象データのメタデータの格納位置(移動先)を決定する。
その後、削除対象ノード10-1のストレージコントローラ110は、自ノード(削除対象ノード)10-1上にあるデータ(処理対象データ)の保存先を計算(再計算)し、保存先のノード10に変更がある場合には、算出した移動先ノード10にデータを移動させる(図12の符号C7参照)。データの移動を行なった場合には、メタデータの更新も行なう。
なお、ストレージコントローラ110による、自ノード(削除対象ノード)10-1上にあるデータ(処理対象データ)の保存先のノード10は、例えば、対応するVM2と同一にしてもよく、既知の種々の手法を用いて決定することができる。
その後、処理を終了する。
[ノードの追加処理]
次に、実施形態の一例としてのストレージシステム1におけるノード10の追加時の処理を、図14を参照しながら、図13に示すフローチャート(ステップSD1~SD5)に従って説明する。
ステップSD1において、ストレージシステム1に新たなノード10が接続され、システム管理者等がノード10を追加する旨の指示を入力する(図14の符号D1参照)。図14に示す例においては、ノード10-4が追加されるノード(追加ノード,追加マシン)10であるものとする。
ステップSD2において、他の各ノード10に追加ノード10が検知され、この追加ノード10を含む全ノード10の各VM管理部120間において、マシンIDの再付与が行なわれる(図14の符号D2参照)。これにより、例えば、追加ノード10-4にマシンID“4”が付与されたものとする。
その後、各ノード10に処理が移動する(図14の符号D3参照)。
ステップSD3において、全てのノード10において、VM管理部120は、自ノード10上で稼働しているVM2の移動先となるノード10を計算(再計算)する。
具体的には、VM管理部120は、移動させるVM2に対応するLUNをキーとしてハッシュ関数H1に適用することで、当該VM2が配置される(移動先の)ノード10を決定する。
例えば、ハッシュ関数H1がコンシステントハッシュである場合において、LUN=“6”である場合に、このLUNをハッシュ関数H1に適用すると、
6 mod 4 = 2
となる。この場合、VM管理部120は、LUN=“6”に対応するVM2およびメタデータの移動先ノード10として、マシン番号“2”のノード10を決定(選択)する。
VM管理部120は、再計算により決定されたノード10に、移動対象のVM2を移動させる(図14の符号D4参照)。
ステップSD4において、各ノード10のVM管理部120は、ストレージコントローラ110にマシン数(ノード10の数)が変更になったことを通知する(図14の符号D5参照)。
ステップSD5において、本ストレージシステム1における全ノード10のストレージコントローラ110(メタデータ管理部111)は、自ノード10上にあるメタデータの保存先を計算(再計算)し、算出した移動先ノード10にメタデータを移動させる(図14の符号D6参照)。
メタデータの移動先は、上述の如く、2つのハッシュ関数H1,H2を用いた、2段階ハッシュ手法で管理する。
すなわち、VM2に対応するメタデータの保存先ノード10を、VM2の配置先の決定に用いたものと同じキー(LUN)を、当該VM2の配置先の決定に用いたハッシュ関数H1に適用することで(1段階目ハッシュ)で決定する。その後、メタデータ管理部111は、処理対象データのLUNおよびLBAをキーとしてハッシュ関数H2に適用することで、(2段階目ハッシュ)、保存先ノード10における、当該処理対象データのメタデータの格納位置(移動先)を決定する。
その後、各ノード10のストレージコントローラ110は、自ノード10上にあるデータ(処理対象データ)の保存先を計算(再計算)し、保存先のノード10に変更がある場合には、算出した移動先ノード10にデータを移動させる(図14の符号D7参照)。データの移動を行なった場合には、メタデータの更新も行なう。
なお、ストレージコントローラ110による、自ノード10上にあるデータ(処理対象データ)の保存先のノード10は、例えば、対応するVM2と同一にしてもよく、既知の種々の手法を用いて決定することができる。
その後、処理を終了する。
(C)効果
このように、実施形態の一例としてのストレージシステム1においては、メタデータ管理部111が、メタデータの保存先ノード10を当該メタデータに対応するVM2の配置先ノード10と同じにすることで、メタデータにアクセスするためのネットワーク通信の発生を抑止する。これにより、メタデータへのアクセスにネットワークリソースを消費することがなく、ネットワークオーバヘッドがなくなるので、I/Oアクセス性能が向上する。
また、DHTの負荷分散効果により、VM2も分散し、リソースの有効活用が可能になるという副次的効果を奏することもできる。
(D)その他
開示の技術は上述した実施形態に限定されるものではなく、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。
例えば、本ストレージシステム1に備えられるノード10の数は、3つに限定されるものではなく、2つ以下もしくは4つ以上であってもよく、種々変形して実施することができる。
[変形例1]
上述した実施形態においては、メタデータ管理部111は、LUNをキーとして用いてメタデータの保存先ノード10を決定しているが、これに限定されるものではなく、他の識別情報(ID)をキーとして用いてメタデータの保存先ノード10を決定してもよい。
かかるIDとしては、VM2を一意に特定するユニークな値を用いることが望ましい。例えば、予めVM2毎にユニークな識別情報を設定しておきこの識別情報をIDとして用いてもよい。また、VM2毎に設定されたIPアドレスをIDとして用いてもよい。
さらに、例えば、KVM(Kernel-based Virtual Machine)のようにVMにユニークなIDが付与されるシステムにおいては、このVMのIDをキーとして用いてメタデータの保存先ノード10を決定してもよい。
VM2毎にユニークに設定された識別情報をキーとして用いることで、1つのVM2が複数のLUNを有する場合においても、確実にVM2と同じノード10にメタデータを配置することができる。
[変形例2]
上述した実施形態においては、メタデータ管理部111は、処理対象データのLUNおよびLBAをキーとしてハッシュ関数H2に適用することで、保存先ノード10における、当該処理対象データのメタデータの格納位置(移動先)を決定しているが、これに限定されるものではない。
図15は実施形態の一例としてのストレージシステム1におけるLUN-LBAとメタデータの格納位置との他の対応付けを例示する図である。
この図15においては、LUN-LBAとメタデータ(mdata)の格納位置とを1つ以上のポインタを介して接続したツリー構造を示している。
メタデータ管理部111は、このようなLUN-LBAとメタデータの格納位置とを1つ以上のポインタを介して接続したツリー構造をメモリ12等に記憶し、LUNおよびLBAに基づいて、このようなツリー構造をたどることでメタデータを取得してもよい。これにより、ハッシュ関数を用いた演算を行なうことなく、LUNおよびLBAに基づきメタデータの格納位置に到達することができる。
そして、本発明は上述した実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で種々変形して実施することができる。
また、上述した開示により本実施形態を当業者によって実施・製造することが可能である。
(E)付記
以上の実施形態に関し、さらに以下の付記を開示する。
(付記1)
記憶装置を有する1つ以上の情報処理装置と通信回線を介して接続される情報処理装置であって、
複数の情報処理装置の中から仮想機械の配置先を決定する第1決定部と、
前記仮想機械からのアクセス対象である処理対象データに関する管理情報の格納先を、前記複数のノードのうち、前記仮想機械と同一のノードに決定する第2決定部と、
前記第2決定部によって決定された前記ノードに、前記管理情報を格納する格納処理部とを備える
ことを特徴とする、情報処理装置。
(付記2)
前記第2決定部が、前記第1決定部による前記仮想機械の配置先の決定方法と同一の決定方法を用いて、前記管理情報を格納する格納先の前記ノードを決定する
ことを特徴とする、付記1記載の情報処理装置。
(付記3)
前記第1決定部が、前記仮想機械に対応する識別情報を演算式に適用することより、前記複数のノードの中から前記仮想機械の配置先を決定し、
前記第2決定部が、前記仮想機械に対応する識別情報を前記演算式に適用することより、前記複数のノードの中から前記管理情報の格納先を決定する
ことを特徴とする、付記1または2記載の情報処理装置。
(付記4)
記憶装置を有する1つ以上の情報処理装置と通信回線を介して接続される情報処理装置のプロセッサに、
複数の情報処理装置の中から仮想機械の配置先を決定する処理と、
前記仮想機械からのアクセス対象である処理対象データに関する管理情報の格納先を、前記複数のノードのうち、前記仮想機械と同一のノードに決定し、
決定された前記ノードに、前記管理情報を格納する
処理を実行させることを特徴とする、制御プログラム。
(付記5)
前記仮想機械の配置先の決定方法と同一の決定方法を用いて、前記管理情報を格納する格納先の前記ノードを決定する
処理を前記プロセッサに実行させることを特徴とする、付記4記載の制御プログラム。
(付記6)
前記仮想機械に対応する識別情報を演算式に適用することより、前記複数のノードの中から前記仮想機械の配置先および前記管理情報の格納先を決定する
処理を前記プロセッサに実行させることを特徴とする、付記4または5記載の制御プログラム。
(付記7)
記憶装置を有する1つ以上の情報処理装置と通信回線を介して接続される情報処理装置における情報処理方法であって、
複数の情報処理装置の中から仮想機械の配置先を決定する処理と、
前記仮想機械からのアクセス対象である処理対象データに関する管理情報の格納先を、前記複数のノードのうち、前記仮想機械と同一のノードに決定する処理と、
決定された前記ノードに、前記管理情報を格納する処理と
を備えることを特徴とする、情報処理方法。
(付記8)
前記仮想機械の配置先の決定方法と同一の決定方法を用いて、前記管理情報を格納する格納先の前記ノードを決定する処理を
備えることを特徴とする、付記7記載の情報処理方法。
(付記9)
前記仮想機械に対応する識別情報を演算式に適用することより、前記複数のノードの中から前記仮想機械および前記管理情報の配置先を決定する処理を
備えることを特徴とする、付記7または8記載の情報処理方法。
(付記10)
それぞれが記憶装置を有する複数のノードを備えるストレージシステムにおいて、
前記複数のノードの中から仮想機械の配置先を決定する第1決定部と、
前記仮想機械からのアクセス対象である処理対象データに関する管理情報の格納先を、前記複数のノードのうち、前記仮想機械と同一のノードに決定する第2決定部と、
前記第2決定部によって決定された前記ノードに、前記管理情報を格納する格納処理部とを備える
ことを特徴とする、ストレージシステム。
(付記11)
前記第2決定部が、前記第1決定部による前記仮想機械の配置先の決定方法と同一の決定方法を用いて、前記管理情報を格納する格納先の前記ノードを決定する
ことを特徴とする、付記10記載のストレージシステム。
(付記12)
前記第1決定部が、前記仮想機械に対応する識別情報を演算式に適用することより、前記複数のノードの中から前記仮想機械の配置先を決定し、
前記第2決定部が、前記仮想機械に対応する識別情報を前記演算式に適用することより、前記複数のノードの中から前記仮想機械の配置先を決定する
ことを特徴とする、付記10または11記載のストレージシステム
1 ストレージシステム
2 VM
10 コンピュータノード,ノード
11 CPU
12 メモリ
13 記憶装置
14 ネットワークI/F
50 ネットワーク
110 ストレージコントローラ
111 メタデータ管理部
112 I/Oアクセス部
120 VM管理部
130 ハイパーバイザ
140 DHT機能部
141 ハッシュ関数格納部

Claims (5)

  1. それぞれが記憶装置を有通信回線を介して接続される複数の情報処理装置を備えるシステムに用いられるものであって、
    前記複数の情報処理装置のそれぞれが、
    前記複数の情報処理装置の中から仮想機械の配置先を決定する第1決定部と、
    前記仮想機械からのアクセス対象である処理対象データに関する管理情報の格納先を、前記複数の情報処理装置のうち、前記仮想機械と同一の情報処理装置に決定する第2決定部と、
    前記第2決定部によって決定された前記情報処理装置に、前記管理情報を格納する格納処理部とを備える
    ことを特徴とする、情報処理装置。
  2. 前記第2決定部が、前記第1決定部による前記仮想機械の配置先の決定方法と同一の決定方法を用いて、前記管理情報を格納する格納先の前記情報処理装置を決定する
    ことを特徴とする、請求項1記載の情報処理装置。
  3. 前記第1決定部が、前記仮想機械に対応する識別情報を演算式に適用することより、前記複数の情報処理装置の中から前記仮想機械の配置先を決定し、
    前記第2決定部が、前記仮想機械に対応する識別情報を前記演算式に適用することより、前記複数の情報処理装置の中から前記管理情報の格納先を決定する
    ことを特徴とする、請求項1または2記載の情報処理装置。
  4. それぞれが記憶装置を有通信回線を介して接続される複数の情報処理装置のそれぞれに、
    前記複数の情報処理装置の中から仮想機械の配置先を決定
    前記仮想機械からのアクセス対象である処理対象データに関する管理情報の格納先を、前記複数の情報処理装置のうち、前記仮想機械と同一の情報処理装置に決定し、
    決定された前記情報処理装置に、前記管理情報を格納する
    処理を実行させることを特徴とする、制御プログラム。
  5. それぞれが記憶装置を有通信回線を介して接続される複数の情報処理装置における情報処理方法であって、
    前記複数の情報処理装置のそれぞれが、
    前記複数の情報処理装置の中から仮想機械の配置先を決定する処理と、
    前記仮想機械からのアクセス対象である処理対象データに関する管理情報の格納先を、前記複数の情報処理装置のうち、前記仮想機械と同一の情報処理装置に決定する処理と、
    決定された前記情報処理装置に、前記管理情報を格納する処理と
    実行することを特徴とする、情報処理方法。
JP2017253160A 2017-12-28 2017-12-28 情報処理装置,制御プログラムおよび情報処理方法 Active JP7006265B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017253160A JP7006265B2 (ja) 2017-12-28 2017-12-28 情報処理装置,制御プログラムおよび情報処理方法
US16/197,426 US10824460B2 (en) 2017-12-28 2018-11-21 Information processing apparatus, information processing method for reducing network traffic, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017253160A JP7006265B2 (ja) 2017-12-28 2017-12-28 情報処理装置,制御プログラムおよび情報処理方法

Publications (2)

Publication Number Publication Date
JP2019120987A JP2019120987A (ja) 2019-07-22
JP7006265B2 true JP7006265B2 (ja) 2022-01-24

Family

ID=67059578

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017253160A Active JP7006265B2 (ja) 2017-12-28 2017-12-28 情報処理装置,制御プログラムおよび情報処理方法

Country Status (2)

Country Link
US (1) US10824460B2 (ja)
JP (1) JP7006265B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10903985B2 (en) 2017-08-25 2021-01-26 Keysight Technologies Singapore (Sales) Pte. Ltd. Monitoring encrypted network traffic flows in a virtual environment using dynamic session key acquisition techniques
US10893030B2 (en) 2018-08-10 2021-01-12 Keysight Technologies, Inc. Methods, systems, and computer readable media for implementing bandwidth limitations on specific application traffic at a proxy element
US11190417B2 (en) * 2020-02-04 2021-11-30 Keysight Technologies, Inc. Methods, systems, and computer readable media for processing network flow metadata at a network packet broker
JP7122332B2 (ja) * 2020-02-26 2022-08-19 株式会社日立製作所 情報処理システム及び方法
JP7331027B2 (ja) * 2021-02-19 2023-08-22 株式会社日立製作所 スケールアウト型ストレージシステム及び記憶制御方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012212192A (ja) 2011-03-27 2012-11-01 Takeshi Handa 仮想マシンのための仮想ストレージを有するホストサーバ
US20150058384A1 (en) 2013-08-26 2015-02-26 Vmware, Inc. Scalable distributed storage architecture
JP2017033337A (ja) 2015-08-03 2017-02-09 日本電信電話株式会社 仮想マシン配置装置および仮想マシン配置方法

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9450966B2 (en) * 2004-11-29 2016-09-20 Kip Sign P1 Lp Method and apparatus for lifecycle integrity verification of virtual machines
US8060683B2 (en) * 2004-12-17 2011-11-15 International Business Machines Corporation System, method and program to preserve a cache of a virtual machine
US8234641B2 (en) * 2006-10-17 2012-07-31 Managelq, Inc. Compliance-based adaptations in managed virtual systems
US9015703B2 (en) * 2006-10-17 2015-04-21 Manageiq, Inc. Enforcement of compliance policies in managed virtual systems
JP2009295127A (ja) 2008-06-09 2009-12-17 Nippon Telegr & Teleph Corp <Ntt> アクセス方法、アクセス装置及び分散データ管理システム
US8566821B2 (en) * 2008-11-11 2013-10-22 Netapp Inc. Cloning virtual machines
US8533299B2 (en) * 2010-04-19 2013-09-10 Microsoft Corporation Locator table and client library for datacenters
US20120317084A1 (en) * 2011-06-13 2012-12-13 Beijing Z&W Technology Consulting Co., Ltd. Method and system for achieving data de-duplication on a block-level storage virtualization device
US8775773B2 (en) 2011-08-26 2014-07-08 Vmware, Inc. Object storage system
US9461881B2 (en) * 2011-09-30 2016-10-04 Commvault Systems, Inc. Migration of existing computing systems to cloud computing sites or virtual machines
US9178698B1 (en) * 2011-12-21 2015-11-03 Google Inc. Dynamic key management
US10417027B1 (en) * 2012-03-30 2019-09-17 EMC IP Holding Company LLC Virtual machine proxy server for hyper-V image backup and recovery
CN102663090B (zh) * 2012-04-10 2013-11-06 华为技术有限公司 元数据查询方法和装置
US9342703B2 (en) * 2012-11-30 2016-05-17 Red Hat Israel, Ltd. Managing storage permissions for logical volume managers
US9592448B2 (en) * 2013-03-15 2017-03-14 Skyera, Llc Apparatus and method for using fields in N-space translation of storage requests
US9342253B1 (en) * 2013-08-23 2016-05-17 Nutanix, Inc. Method and system for implementing performance tier de-duplication in a virtualization environment
US9886215B1 (en) * 2014-05-15 2018-02-06 Nutanix, Inc. Mechanism for providing block storage and object storage functionality from an external storage environment to a networked virtualization environment for storage management
US9720947B2 (en) * 2014-08-04 2017-08-01 Cohesity, Inc. Backup operations in a tree-based distributed file system
WO2017072933A1 (ja) 2015-10-30 2017-05-04 株式会社日立製作所 計算機システムの管理システム及び管理方法
US20170212919A1 (en) * 2016-01-25 2017-07-27 Netapp, Inc. Bottom-up dense tree repair technique
US9946569B1 (en) * 2016-02-08 2018-04-17 Nutanix, Inc. Virtual machine bring-up with on-demand processing of storage requests
CN107347084B (zh) * 2016-05-05 2020-08-25 华为技术有限公司 分布式锁管理的方法、装置及系统
US10235066B1 (en) * 2017-04-27 2019-03-19 EMC IP Holding Company LLC Journal destage relay for online system checkpoint creation

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012212192A (ja) 2011-03-27 2012-11-01 Takeshi Handa 仮想マシンのための仮想ストレージを有するホストサーバ
US20150058384A1 (en) 2013-08-26 2015-02-26 Vmware, Inc. Scalable distributed storage architecture
JP2016530619A (ja) 2013-08-26 2016-09-29 ヴイエムウェア インコーポレイテッドVMware,Inc. スケーラブル分散ストレージアーキテクチャ
JP2017033337A (ja) 2015-08-03 2017-02-09 日本電信電話株式会社 仮想マシン配置装置および仮想マシン配置方法

Also Published As

Publication number Publication date
US20190205151A1 (en) 2019-07-04
JP2019120987A (ja) 2019-07-22
US10824460B2 (en) 2020-11-03

Similar Documents

Publication Publication Date Title
JP7006265B2 (ja) 情報処理装置,制御プログラムおよび情報処理方法
JP6476932B2 (ja) ストレージ装置,制御プログラム,ストレージシステム及びデータ転送方法
JP5276218B2 (ja) リアルタイムでlunをファイルに、またはファイルをlunに変換すること
JP5615698B2 (ja) 仮想マシン移行
US9471802B2 (en) Hybrid file systems
KR101437122B1 (ko) Os 가상화를 이용하여 서비스를 제공하는 장치 및 방법
US9075540B2 (en) Virtualizing storage for WPAR clients
CN102708060B (zh) 一种镜像文件访问方法、装置及系统
US20190129971A1 (en) Storage system and method of controlling storage system
US20130047156A1 (en) Method and apparatus of assigning virtual machine resources
US9792075B1 (en) Systems and methods for synthesizing virtual hard drives
JP7003692B2 (ja) 情報処理装置,情報処理システムおよび制御プログラム
CN109324758A (zh) 数据迁移方法、装置及存储设备
GB2510185A (en) Data de-duplication between emulated disk sub-systems
JP2020533689A (ja) クラウド・ベースのランクを使用するシン・プロビジョニング
JP6867578B2 (ja) ストレージ制御装置、ストレージシステム、ストレージ制御方法およびストレージ制御プログラム
US20210342079A1 (en) Method, electronic device and computer program product for storage management
JP2020004186A (ja) 情報処理システム、管理装置および制御方法
JP5027939B1 (ja) 仮想マシンのための仮想ストレージを有するホストサーバ
AU2020382999A1 (en) Intelligent data pool
CN112445425A (zh) 多层级存储
JP7069811B2 (ja) 情報処理装置及び情報処理方法
JP2011070464A (ja) 計算機システム及び計算機システムの性能管理方法
US20130151808A1 (en) Allocation device, allocation method and storage device
TWI446194B (zh) 高效能虛擬磁碟管理系統

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20190607

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201008

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210818

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210824

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211022

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211220

R150 Certificate of patent or registration of utility model

Ref document number: 7006265

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150