JP6782303B2 - 計算機、計算機システムおよびデータ量制限方法 - Google Patents

計算機、計算機システムおよびデータ量制限方法 Download PDF

Info

Publication number
JP6782303B2
JP6782303B2 JP2018548526A JP2018548526A JP6782303B2 JP 6782303 B2 JP6782303 B2 JP 6782303B2 JP 2018548526 A JP2018548526 A JP 2018548526A JP 2018548526 A JP2018548526 A JP 2018548526A JP 6782303 B2 JP6782303 B2 JP 6782303B2
Authority
JP
Japan
Prior art keywords
amount
upper limit
data
write
entities
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
JP2018548526A
Other languages
English (en)
Other versions
JPWO2018083789A1 (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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Publication of JPWO2018083789A1 publication Critical patent/JPWO2018083789A1/ja
Application granted granted Critical
Publication of JP6782303B2 publication Critical patent/JP6782303B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • 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
    • G06F3/0613Improving I/O performance in relation to throughput
    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space
    • 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/45583Memory management, e.g. access or allocation
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Hardware Redundancy (AREA)
  • Detection And Correction Of Errors (AREA)
  • Retry When Errors Occur (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、概して、データ量の制限に関する。
データ量の制限に関し、例えば特許文献1に開示の技術が知られている。特許文献1に開示の装置は、アプリケーションが送信または受信するデータの量の上限と、ボリュームに対してリードまたはライトするデータ量の上限との各々が、それぞれ要件を満たしているかどうかを判断する。その装置は、要件が満たされていない上限を調整する。
特許第4609331号
アプリケーションとストレージ制御機能の両方が動作するサーバが考えられる。アプリケーションおよびストレージ制御機能は、いずれも少なくとも1つのプロセッサにより実行されるコンピュータプログラムである。ストレージ制御機能は、アプリケーションのデータを格納するボリュームを提供する。アプリケーションは、データをそのボリュームに格納する。サーバは、ボリュームに格納されるデータの格納先となる記憶デバイス(典型的には、不揮発性の物理記憶デバイス)を有する。
このようなサーバは、一般に、複数の記憶デバイスで構成されたRAID(Redundant Array of Independent (or Inexpensive) Disks)グループを有さないと考えられる。例えば、このようなサーバとして、汎用的な計算機を採用することができ、その場合、サーバは、通常、RAIDグループを有さない。
このようなサーバに格納されたデータの冗長性を維持する方法(例えば、そのサーバの故障時にも、データにアクセスできるようにするための方法)として、例えば次のような方法が考えられる。すなわち、サーバが、そのサーバ内の記憶デバイスにデータを格納することに加えて、他のサーバ内の記憶デバイスにそのデータを格納する。そのために、サーバは、そのデータを、そのサーバのNW I/F(Network Interface)を介して、他のサーバに送信する。ここで、NW I/F(Network Interface)を介した他サーバへのデータ送信を「NW送信」と呼び、NW I/Fを介した他サーバからのデータ受信を「NW受信」と呼ぶ。
サーバ内の記憶デバイスとして、HDD(Hard Disk Drive)が採用された場合、NW送信のためのネットワーク帯域が飽和する可能性は低いと考えられる。なぜなら、HDDは、一般に、低速であり、故に、単位時間当たりにライト可能なデータの量が少ないためである。
しかし、サーバ内の記憶デバイスとして、不揮発性メモリデバイス(典型的にはSSD(Solid State Drive))が採用された場合、NW送信のためのネットワーク帯域が飽和する可能性は、記憶デバイスがHDDである場合に比べて高いと考えられる。なぜなら、不揮発性メモリデバイスは、一般に、HDDより高速であり、故に、単位時間当たりにライト可能なデータの量がHDDより多いためである。
NW I/Fを同一サーバ上で共用するアプリケーションごとに、NW送信のデータ量(NW送信されるデータの量)と、ボリュームライトのデータ量(ボリュームにライトされるデータの量)との各々について、上限を設定することが考えられる。すなわち、アプリケーションによるNW送信のデータ量をその上限以下に制限し、アプリケーションがボリュームにライトするデータの量をその上限以下に制限する技術が考えられる。しかし、その技術は、アプリケーションとストレージ制御機能の両方が動作する上記のようなサーバに、必ずしも有効ではない。具体的には、例えば次の通りである。
第1に、いずれかのアプリケーションが大量のNW送信を行うと、NW I/Fがボトルネックとなる。そこで、サーバに設けられたNW制限機能が、NW送信のデータ量を制限する。これにより、アプリケーションがボリュームにデータをライトしたためにそのデータをストレージ制御機能が他のサーバへNW送信することが発生しても、そのNW送信のデータ量を制限できる。しかし、ストレージ制御機能がNW送信するデータが、どのアプリケーションによってライトされたデータであるのかを、NW制限機能は判別することはできない。従って、いずれのアプリケーションが大量にデータをライトしても、NW送信のデータ量が制限されるために、他のアプリケーションがボリュームへライトするデータの量が制限されることがある。
第2に、アプリケーションがNW送信のみを行いボリュームにデータをライトしない場合、そのアプリケーションについてライト用に確保したデータ量(ボリュームライトのデータ量の上限)をNW送信には利用できない。同様に、アプリケーションがボリュームへのライトのみを行いNW送信をしない場合、そのアプリケーションについてNW送信用に確保したデータ量(NW送信のデータ量の上限)をボリュームへのライトには利用できない。
NW受信についても、同様な問題が生じ得る。
計算機は、1以上のエンティティの各々について、上限NW送信量と上限ライト量との総和を、当該エンティティについて割り当てられた送信量である割当て送信量以下とする。1以上のエンティティの各々について、上限NW送信量は、計算機のNW I/Fを介して単位時間当たりに送信されるデータの量であるNW送信量の上限値である。1以上のエンティティの各々について、上限ライト量は、当該エンティティが認識する論理ボリュームに単位時間当たりにライトされるデータの量であるライト量の上限値である。
同一のNW I/Fを共有する1以上のエンティティの各々についてNW送信量もライト量も適切にすることが期待できる。
実施例1に係るサーバの構成の例を示す。 実施例1に係る計算機システムの構成の例を示す。 ボリューム管理情報の例を示す。 稼働状況の例を示す。 I/O(Input/Output)上限の例を示す。 NW上限の例を示す。 NW割当てポリシーの例を示す。 NW割当てポリシー設定画面の例を示す。 NW上限とI/O上限の初期設定処理の流れを示す。 制限制御機能のNW上限とI/O上限の適正化処理の流れを示す。 実施例2に係るサーバの構成を示す。
以下、実施例を説明する。
なお、以下の説明では、同種の要素を区別しないで説明する場合には、参照符号(または参照符号における共通部分)を使用し、同種の要素を区別する場合は、要素のID(または要素の参照符号)を使用することがある。
さらに、以下の説明では、要素の識別子として番号が使用されるが、番号に代えてまたは加えて他種の符号が使用されてもよい。
また、以下の説明では、「プログラム」を主語として処理を説明する場合があるが、プログラムは、プロセッサ(例えばCPU(Central Processing Unit))によって実行されることで、定められた処理を、適宜に記憶部(例えばメモリ)および/またはインターフェースデバイス(例えば通信ポート)等を用いながら行うため、処理の主語が、プロセッサ(或いは、そのプロセッサを有する装置またはシステム)とされてもよい。また、プロセッサは、処理の一部または全部を行うハードウェア回路を含んでもよい。プログラムは、プログラムソースから計算機のような装置にインストールされてもよい。プログラムソースは、例えば、プログラム配布サーバまたは計算機が読み取り可能な記憶メディアであってもよい。また、以下の説明において、2以上のプログラムが1つのプログラムとして実現されてもよいし、1つのプログラムが2以上のプログラムとして実現されてもよい。なお、以下の説明において、「プログラム」は、例えば、「アプリケーション」および各「xxx機能」(「xxx」は機能名)である。
また、以下に説明するxxx機能のうちの少なくとも1つは、ASIC(Application Specific Integrated Circuit)またはFPGA(Field-Programmable Gate Array)のようなハードウェア回路で実現されてもよい。また、以下の説明において、2以上のxxx機能が1つの機能として実現されてもよいし、1つのxxx機能が2以上のxxx機能として実現されてもよい。
また、以下の説明では、情報の一例はテーブルであるが、1つのテーブルは、2以上のテーブルに分割されてもよいし、2以上のテーブルの全部又は一部が1つのテーブルであってもよい。
図1は、実施例1に係るサーバ10の構成の例を示す。
図1に示すサーバ10は、複数のサーバ10のうちのいずれかである。図1に示すサーバ10以外の1以上のサーバ10の各々も、図1に示すサーバ10と同様の構成を有することができる。以下、説明の混同を避けるために、図1に示すサーバ10を単に「サーバ10」と言い、図1に示すサーバ10以外のいずれかのサーバ10を「他サーバ10」と言う。
サーバ10は、計算機の一例である。サーバ10は、記憶デバイスの一例としてのSSD13と、「インターフェイス」の一例としてのNW I/F14と、ハイパーバイザー40と、後述する稼働状況50を取得する稼働状況取得機能(図示しない)と、NW割当てポリシー60と、制限制御機能61とを有する。
SSD13は、サーバ10内のハイパーバイザー40で実行されるアプリケーション42のデータを格納する。NW I/F14は、サーバ10と他のサーバ10とを接続する。
ハイパーバイザー40は、VM(Virtual Machine)41と、SVM(Storage VM)45と、稼働状況50と、I/O上限51と、I/O制限機能52と、NW上限53と、NW制限機能54とを有する。VM41は、仮想的なサーバの一例であり、アプリケーション42と、仮想ボリューム43と、仮想NW I/F44とを有する。図1の例によれば、VM41aとVM41bとがある。VM41aは、アプリケーション42aと、仮想ボリューム43aと、仮想NW I/F44aとを有する。VM41bは、アプリケーション42bと、仮想ボリューム43bと、仮想NW I/F44bとを有する。1つのVM41が複数のアプリケーション42を実行してもよい。SVM45は、仮想的なストレージの一例であり、仮想NW I/F49と、ストレージ制御機能46と、ボリューム管理情報47とを有する。VM41およびSVM45のいずれにも、ハイパーバイザー40により、サーバ10の物理的な資源(例えば、後述のCPU、メモリおよびNW I/F14)が割り当てられる。例えば、VM41内の仮想NW I/F44、および、SVM45内の仮想NW I/F49は、NW I/F14に基づく。
アプリケーション42は、VM41上で動作する。アプリケーション42は、例えばデータベース管理システムである。アプリケーション42がデータをライトする場合は、仮想ボリューム43に対してライト命令を発行する。仮想ボリューム43は、ストレージ制御機能46から提供されVM41にマウントされアプリケーション42によって認識されたボリューム(論理ボリューム)である。アプリケーション42がデータをリードする場合は、仮想ボリューム43に対してリード命令を発行する。仮想ボリューム43に対するリード命令およびライト命令の各々を、SVM45内のストレージ制御機能46が受信し処理する。アプリケーション42がサーバ10内の他のアプリケーション42と通信する場合は、仮想NW I/F44を使用してデータを送受信する。つまり、サーバ10内のアプリケーション42間の通信(典型的にはVM41間の通信)は、仮想I/F44経由で行われる。アプリケーション42が他サーバ10内のアプリケーション42と通信する場合は、NW I/F14を使用してデータを送受信する。つまり、サーバ10内のアプリケーション42と他サーバ10内のアプリケーション42間の通信は、NW I/F14経由で行われる。
データライト処理を説明する。アプリケーション42aを例に取る。アプリケーション42aが仮想ボリューム43aに対するライト命令を発行し、そのライト命令をSVM45内のストレージ制御機能46が受信する(破線矢印70参照)。ストレージ制御機能46は、そのライト命令とボリューム管理情報47とを参照し、ライト先サーバを特定する。ストレージ制御機能46は、ボリューム管理情報47を参照せずに、ライト命令を基に計算によりライト先サーバを特定してもよい。ライト先サーバがサーバ10の場合は、ストレージ制御機能46は、サーバ10内のSSD13にライト命令を転送する。ライト先サーバが他サーバ10b(他サーバ10の一例(図2参照))の場合は、ストレージ制御機能46は、仮想NW I/F44cと、NW I/F14とを介して、他サーバ10bのストレージ制御機能46にライト命令を転送する。他サーバ10b内のストレージ制御機能46は、サーバ10からライト命令を受信し、そのライト命令を他サーバ10b内のSSD13に転送し、その結果(例えばライト完了)をライト命令の送信元であるサーバ10に返す。以上のように、サーバ10が故障した時のデータ消失を防ぐために、サーバ10を含む2台以上のサーバ10にデータがそれぞれ書き込まれる。以上が、アプリケーション42aがデータをライトする場合の処理である。
データリード処理を説明する。アプリケーション42aを例に取る。アプリケーション42aが仮想ボリューム43aに対するリード命令を発行し、そのリード命令をSVM45内のストレージ制御機能46が受信する。ストレージ制御機能46は、そのリード命令とボリューム管理情報47とを参照し、リード元サーバを特定する。ストレージ制御機能46は、ボリューム管理情報47を参照せずに、リード命令を基に計算によりリード元サーバを特定してもよい。リード元サーバがサーバ10の場合は、ストレージ制御機能46は、SSD13にそのリード命令を転送する。リード元サーバが他サーバ10bの場合は、ストレージ制御機能46は、仮想NW I/F49と、NW I/F14とを介して、他サーバ10bのストレージ制御機能46にリード命令を転送する。他サーバ10bのストレージ制御機能46は、サーバ10からリード命令を受信し、そのリード命令を他サーバ10b内のSSD13に転送し、その結果(例えばリードされたデータ)をリード命令の送信元であるサーバ10に返す。以上が、アプリケーション42aがデータをリードする場合の処理である。
稼働状況50は、仮想ボリューム43ごとのリード量およびライト量と、仮想NW I/F44ごとのNW送信量およびNW受信量とを保持する。仮想ボリューム43の「リード量」は、その仮想ボリューム43から単位時間当たりにリードされたデータの量である。仮想ボリューム43の「ライト量」は、その仮想ボリューム43に単位時間当たりにライトされたデータの量である。仮想NW I/F44の「NW送信量」は、その仮想NW I/F44およびNW I/F14経由で単位時間当たりに送信されるデータの量である。仮想NW I/F44の「NW受信量」は、その仮想NW I/F44およびNW I/F14経由で単位時間当たりに受信されるデータの量である。稼働状況50において、NW送信量もNW受信量も、仮想NW I/F44ごとに存在し、SVM45内の仮想NW I/F49については存在しないでよい。
I/O上限51は、仮想ボリューム43ごとの上限リード量(リード量の上限)および上限ライト量(ライト量の上限)の設定値である。I/O制限機能52は、I/O上限51に基づき、I/O先(ライト先またはリード元)の仮想ボリューム43について、リード量(ストレージ制御機能46経由でリードされるデータの量)およびライト量(ストレージ制御機能46経由でライトされるデータの量)を制限する機能である。なお、破線矢印70は、仮想ボリューム43aからストレージ制御機能46へのライトを示す。破線矢印71は、仮想ボリューム43bからストレージ制御機能46へのライトを示す。
NW上限53は、仮想NW I/F44ごとの上限NW送信量(NW送信量の上限)および上限NW受信量(NW受信量の上限)の設定値である。NW上限53は、SVM45内の仮想NW I/F49については、そのような設定を含まないでよい。
NW制限機能54は、NW上限53に基づき、仮想NW I/F44について、NW送信量およびNW受信量を制限する機能である。NW制限機能54は、SVM45内の仮想NW I/F49については、NW送信量およびNW受信量を制限しない。NW上限53が、仮想NW I/F49について上限NW送信量および上限NW受信量を含んでいないためである。なお、NW上限53が仮想NW I/F49についてそのような設定値を含んでいたとしても、NW制限機能54は、仮想NW I/F49について、NW送信量およびNW受信量を制限しないことができる。
図1において、実線矢印80は、仮想NW I/F44aからNW I/F14を介した他サーバ10(VM41)への送信を示す。矢印81は、仮想NW I/F44bからNW I/F14を介した他サーバ10(VM41)への送信を示す。矢印82は、仮想NW I/F49からNW I/F14を介した他サーバ10(SVM45)への送信を示す。例えば、VM41a(41b)がデータをエクスポートする場合、実線矢印80(81)が示すNW送信(データ送信)が行われるが、実線矢印82が示すデータ転送は行われない。一方、VM41a(41b)がデータを仮想ボリューム43a(43b)にライトする場合、実線矢印82が示すデータ転送が行われるが、実線矢印80(81)が示すNW送信は行われない。なお、例えば、VM41a(41b)がデータをインポートする場合、実線矢印80(81)が示す向きとは逆向きのNW受信(データ受信)が行われる。また、VM41a(41b)がデータを仮想ボリューム43a(43b)からリードする場合、他サーバ10内のSSD13にリード対象のデータがあれば、実線矢印82が示す向きとは逆向きのデータ転送が行われる。
NW割当てポリシー60は、VM41ごとの割当て送信量および割当て受信量を定義するポリシーである。「割当て送信量」は、NW送信のデータ量とボリュームライト(仮想ボリュームに対するライト)のデータ量との合計の上限である。「割当て受信量」は、NW受信のデータ量とボリュームリード(仮想ボリュームからのリード)のデータ量との合計の上限である。
制限制御機能61は、稼働状況50に基づいてI/O上限51を変更したり、NW割当てポリシー60に基づいてNW上限53を変更したりする機能である。
図2は、実施例1に係る計算機システムの構成の例を示す。
計算機システムは、複数のサーバ10a、10b、10c、10d、…と、管理サーバ20と、スイッチ30とを有する。サーバの数は2以上であれば幾つでもよい。スイッチ30は、PCI-Expressスイッチのような単一のスイッチでもよいし、1以上のネットワークスイッチ(例えばLAN(Local Area Network)のような通信ネットワーク)でもよい。
サーバ10aは、図1に示したサーバ10であり、メモリ11と、SSD13と、NW I/F14と、それらに接続されたCPU(Central Processing Unit)12とを有する。図1におけるハイパーバイザー40と、図示しない稼働状況取得機能と、NW割り当てポリシー60と、制限制御機能61とのデータは、メモリ11に格納されている。サーバ10a以外のいずれかが、他サーバの一例である。NW I/F14がスイッチ30に接続される。サーバ10(サーバ10a)がスイッチ30を介して他サーバ10と通信可能である。
管理サーバ20は、メモリ21と、NW I/F23と、それらに接続されたCPU22とを有する。NW I/F23がスイッチ30に接続される。管理サーバ20は、スイッチ30を介して、複数のサーバ10a、10b、10c、10d、…のうちの少なくとも1つと通信可能である。
図3は、ボリューム管理情報47の例を示す。
ボリューム管理情報47は、ストレージ制御機能46により作成、参照、および更新される情報である。ボリューム管理情報47は、例えば、メモリ11またはSSD13に格納される。ボリューム管理情報47は、例えばテーブルであり、仮想ボリューム43ごとに、仮想ボリュームID301と、容量302と、VM ID303と、第一サーバID304と、第二サーバID305と、第三サーバID306といった情報を有する。
仮想ボリュームID301は、当該仮想ボリューム43のIDを示す。容量302は、当該仮想ボリューム43の容量を示す。VM ID303は、当該仮想ボリューム43を使用するVM41のIDを示す。第一サーバID304は、当該仮想ボリューム43を格納するサーバのIDを示す。第二サーバID305および第三サーバID306の各々は、当該仮想ボリューム43に格納されるデータの転送先(格納先)サーバのIDを示す。サーバ10(第一サーバ)が故障しても、いずれかの他サーバ(第二サーバまたは第三サーバ)のデータにアクセスできる。サーバ10における仮想ボリューム43に格納されるデータは、N台の他サーバ(Nは1以上の整数)に格納される。N台の他サーバにデータをライトすることを「(N+1)重書き」と呼ぶことができる。二重書き(N=1)が採用された仮想ボリュームについては、第三サーバID306は空欄となる。
図4は、稼働状況50の例を示す。
稼働状況50は、ハイパーバイザー40により作成、および更新される情報である。稼働状況50は、サーバ10の記憶部、例えば、メモリ11またはSSD13に格納される。稼働状況50は、仮想ボリューム稼働状況400と、仮想NW I/F稼働状況410とを有する。
仮想ボリューム稼働状況400は、例えばテーブルであり、仮想ボリューム43ごとに、VM ID401と、仮想ボリュームID402と、リード量403と、ライト量404とを有する。VM ID401は、当該仮想ボリューム43にアクセスするVM41のIDを示す。仮想ボリュームID402は、当該仮想ボリューム43のIDを示す。リード量403は、VM ID401で示されるVM41が当該仮想ボリューム43から単位時間当たりにリードしたデータの量を示す。ライト量404は、VM ID401で示されるVM41が当該仮想ボリューム43に単位時間当たりにライトしたデータの量を示す。
仮想NW I/F稼働状況410は、例えばテーブルであり、仮想NW I/F44ごとに、VM ID411と、仮想NW I/F ID412と、NW受信量413と、NW送信量414とを有する。VM ID411は、当該仮想NW I/F44を有するVM41のIDを示す。仮想NWI/F ID412は、当該仮想NW I/F44のIDを示す。NW受信量413は、VM ID411で示されるVM41が当該仮想NW I/F44(およびNW I/F14)を介して単位時間当たりに受信(入力)したデータの量を示す。NW送信量414は、VM ID411で示されるVM41が当該仮想NW I/F44(およびNW I/F14)を介して単位時間当たりに送信(出力)したデータの量を示す。
本実施例では、複数のサーバ10a、10b、10c、10d、…の各々において、NW I/F14は、全二重方式で通信する。従って、NW送信量およびNW受信量の一方の増減が他方の増減に影響を与えない。NW I/F14の通信方式は、全二重方式に限られないでよい。
図5は、I/O上限51の例を示す。
I/O上限51は、制限制御機能61が更新し、I/O制限機能52が参照する情報である。I/O上限51は、サーバ10の記憶部、例えば、メモリ11またはSSD13に格納される。I/O上限51は、例えばテーブルであり、仮想ボリューム43ごとに、VM ID501と、仮想ボリュームID502と、上限リード量503と、上限ライト量504とを有する。VM ID501は、当該仮想ボリューム43にアクセスするVM41のIDを示す。仮想ボリュームID502は、当該仮想ボリューム43のIDを示す。上限リード量503は、当該仮想ボリューム43のリード量403の上限、すなわち、VM ID501で示されるVM41が当該仮想ボリューム43から単位時間当たりにリードできるデータの量の上限値を示す。上限ライト量504は、当該仮想ボリューム43のライト量404の上限、すなわち、VM ID501で示されるVM41が当該仮想ボリューム43に単位時間当たりにライトできるデータの量の上限値を示す。
図6は、NW上限53の例を示す。
NW上限53は、制限制御機能61が更新し、NW制限機能54が参照する情報である。NW上限53は、サーバ10の記憶部、例えば、メモリ11またはSSD13に格納される。NW上限53は、例えばテーブルであり、仮想NW I/F44ごとに、VM ID601と、仮想NW I/F ID602と、上限NW受信量603と、上限NW送信量604とを有する。VM ID601は、当該仮想NW I/F44を有するVM41のIDを示す。仮想NW I/F ID602は、当該仮想NW I/F44のIDを示す。上限NW受信量603は、当該仮想NW I/F44のNW受信量413の上限、すなわち、VM ID601で示されるVM41が当該仮想NW I/F44を介して単位時間当たりに受信できるデータの量の上限値を示す。上限NW送信量604は、当該仮想NW I/F44のNW送信量414の上限、すなわち、VM ID601で示されるVM41が当該仮想NW I/F44を介して単位時間当たりに送信できるデータの量の上限値を示す。
図7は、NW割当てポリシー60の例を示す。
NW割当てポリシー60は、計算機システムの管理者が作成し(または、VM41の規模あるいは他種の情報を基に制限制御機能61によって自動で作成され)、且つ制限制御機能61が参照する情報である。NW割当てポリシー60は、サーバ10の記憶部、例えば、メモリ11またはSSD13に格納される。NW割当てポリシー60は、VM41ごとに、VM ID701と、割当て受信量702と、割当て送信量703とを有する。また、NW割当てポリシー60は、全てのVM41に共通の情報として、NW上限閾値711と、NW下限閾値712と、I/O上限閾値713と、I/O下限閾値714とを有する。
VM ID701は、当該VM41のIDを示す。
割当て受信量702は、当該VM41について、NW受信のデータ量と、ボリュームリードのデータ量との合計の上限値を示す。VM41の「NW受信のデータ量」は、当該VM41が仮想NW I/F44およびNW I/F14を介して単位時間当たりに受信するデータの量である。VM41の「ボリュームリードのデータ量」は、当該VM41における仮想ボリューム43および仮想NW I/F49およびNW I/F14を介して単位時間当たりにリードされるデータの量である。「リードされるデータ」は、他サーバ10内のSSD13からリードされるである。割当て受信量702は、NW I/F14が単位時間当たりに受信可能なデータ量であるNW I/F受信量に基づく(例えば、NW I/F受信量の全部又は一部でよい)。複数のVM41にそれぞれ対応した複数の割当て受信量702の合計が、NW I/F受信量以下でよい。
割当て送信量703は、当該VM41について、NW送信のデータ量と、ボリュームライトのデータ量との合計の上限値を示す。VM41の「NW送信のデータ量」は、当該VM41が仮想NW I/F44およびNW I/F14を介して単位時間当たりに送信するデータの量である。VM41の「ボリュームライトのデータ量」は、当該VM41における仮想ボリューム43に単位時間当たりにライトされるデータの量である。「ライトされるデータ」は、他サーバ10内のSSD13にライトされるデータである。割当て送信量703は、NW I/F14が単位時間当たりに送信可能なデータ量であるNW I/F送信量に基づく(例えば、NW I/F送信量の全部又は一部でよい)。複数のVM41にそれぞれ対応した複数の割当て送信量703の合計が、NW I/F送信量以下でよい。
NW上限閾値711は、各VM41について、上限NW受信量603に対するNW受信量413の割合の閾値、および、上限NW送信量604に対するNW送信量414の割合の閾値である。NW下限閾値712は、各VM41について、上限NW受信量603および上限NW送信量604の各々の下限値である。I/O上限閾値713は、各VM41について、上限リード量503に対するリード量403の割合の閾値、および、上限ライト量504に対するライト量404の割合の閾値である。I/O下限閾値714は、各VM41について、上限リード量503および上限ライト量504の各々の下限値である。
なお、割当て受信量702および割当て送信量703が、VM41ごとの情報に代えて、全てのVM41に共通の情報であってもよい。NW上限閾値711、NW下限閾値712、I/O上限閾値713およびI/O下限閾値714のうちの少なくとも1つが、全てのVM41に共通の情報に代えて、VM41ごとの情報であってもよい。
また、図4〜図7のうちの少なくとも1つの図が示す情報において、仮想ボリューム43ごとの情報、または、仮想NW I/F44ごとの情報は、アプリケーション42ごとの情報、または、VM41ごとの情報でもよい。また、図4〜図7のうちの少なくとも1つの図が示す情報において、VM41ごとの情報は、アプリケーション42ごとの情報でもよい。
図8は、NW割当てポリシー設定画面800の例を示す。
NW割当てポリシー設定画面800は、例えばGUI(Graphical User Interface)であり、サーバ10用の設定画面である。この画面800を用いて行われた設定は、サーバ10に限らず全ての他サーバに適用されてもよい。あるいは、他サーバ毎に、他サーバ用のNW割当てポリシー設定画面があってもよい。
NW割当てポリシー設定画面800は、VM41ごとに、VM ID801と、割当て受信量802と、割当て送信量803とを有する。VM ID801は、予め表示される固定であるが、計算機システムの管理者によって追加または編集されてもよい。割当て受信量802および割当て送信量803の各々について、設定値が管理者により手動で入力される。
また、NW割当てポリシー設定画面800は、NW上限閾値811と、NW下限閾値812と、I/O上限閾値813と、I/O下限閾値814と、設定ボタン821とを有する。NW上限閾値811、NW下限閾値812、I/O上限閾値813およびI/O下限閾値814の各々について、設定値が管理者により手動で入力される。
NW割当てポリシー設定画面800経由で入力された設定値(データ)は、管理サーバ20上のメモリ21に格納されてもよいし、それに代えて又は加えて、それらの設定値(データ)が管理サーバ20から(または管理サーバ20非経由で)サーバ10のメモリ11におけるNW割当てポリシー60に反映(格納)されてもよい。NW割当てポリシー設定画面800は、管理サーバ20、管理サーバ20に接続された表示用計算機(例えばクライアント)、または、サーバ10に接続された表示用計算機に表示されてよい。計算機システムの管理者が設定ボタン821を押すと、入力された設定値がNW割当てポリシー60に反映される。
図9は、NW上限53とI/O上限51の初期設定処理の流れを示す。
ステップ901において、計算機システムの管理者が、NW割当てポリシー設定画面800に設定値を入力すると、設定値がNW割当てポリシー60に反映される。
ステップ902において、制限制御機能61は、各VM41について、割当て受信量702の1/2を上限NW受信量603として設定し、且つ、割当て送信量703の1/2を上限NW送信量604として設定する。つまり、上限NW受信量603および上限NW送信量604の各々について初期値が設定される。なお、上限NW送信量604(上限NW受信量603)の初期値が、割当て送信量703×A(割当て受信量702×A)であり、A=1/2である理由は、NW送信(NW受信)とライト(リード)の2要素があるためである。例えば、VM41aが、200MBのデータのうちの半分のデータを仮想ボリューム43aにライトし、残りの半分のデータをNW送信するとする。この場合、仮想ボリューム43aにライトされる半分のデータは、SVM45(ストレージ制御機能46)経由で他サーバ10に転送されるが、SVM45(ストレージ制御機能46)経由で転送されるデータの量は、NW制限機能54により制限され得ない。上述したように、NW上限53は、SVM45内の仮想NW I/F49について上限を含まないためである。一方、NW送信される残りの半分のデータは、NW制限機能54により制限され得る。NW上限53は、VM41内の仮想NW I/F44について上限を含むためである。以上のような理由から、上限NW送信量604(上限NW受信量603)の初期値は、割当て送信量703の1/2(割当て受信量702の1/2)とされる。しかし、これは、一例であり、初期値は、これに限られない。
ステップ903において、制限制御機能61は、各VM41について、割当て受信量702の1/2を上限リード量503として設定し、且つ、割当て送信量703の1/2を上限ライト量504として設定する。つまり、上限リード量503および上限ライト量504の各々について初期値が設定される。なお、上限ライト量504(上限リード量503)の初期値が、割当て送信量703×B(割当て受信量702×B)であり、B=1/2とした理由は、NW送信(NW受信)とライト(リード)の2要素があるためである。なお、VM41において、P個の仮想ボリューム43が存在し(Pは自然数)、(N+1)重書きが実行されるとした場合(Nは、ライト先(転送先)の他サーバの台数であり、1以上の整数)、B=1/2は、上限ライト量504および上限リード量503のいずれについても、P=1且つN=2のときに採用されてよい。言い換えれば、上限ライト量504および上限リード量503のいずれについても、Bの値は、PおよびNのうちの少なくとも1つに基づいて決定されてよい。例えば、三重書きが採用される場合は、SVM45から転送されるデータの量が二重書きのときと比べて2倍になるため、上限ライト量504の値がさらに半分にされてよい。すなわち、上限ライト量504の初期値が、割当て送信量703×1/4(つまりB=1/4)でよい。また、P=2以上の場合、上限リード量503および上限ライト量504は、P(1つのVM41(またはアプリケーション42)における仮想ボリューム43の数)で割った値でよい。すなわち、下記の式が採用されてよい。しかし、これは、一例であり、初期値は、これに限られない。
上限ライト量504={割当て送信量703×B}×1/N×1/P
上限リード量503={割当て送信量703×B}×1/P
図10は、制限制御機能61のNW上限53とI/O上限51の適正化処理の流れを示す。なお、図10を参照した説明では、NW送信とボリュームライトを例に取るが、NW受信およびボリュームリードについても同様でよい。
図10に示す処理は、例えば、数秒または数分おきなど、定期的に実行される。ステップ1001において、制限制御機能61は、稼働状況50を取得する。
ステップ1002において、制限制御機能61は、上限NW送信量604に対するNW送信量414の割合がNW上限閾値711を超過しており、且つ上限ライト量504に対するライト量404の割合がI/O上限閾値713を超過しているか否かを判断する。ステップ1002の判断結果が真の場合(ステップ1002:YES)は、ステップ1005に進む。ステップ1002の判断結果が偽の場合(ステップ1002:NO)は、ステップ1003に進む。
ステップ1003において、制限制御機能61は、上限NW送信量604に対するNW送信量414の割合がNW上限閾値711を超過しており、且つ上限ライト量504に対するライト量404の割合がI/O上限閾値713以下であるか否かを判断する。ステップ1003の判断結果が真の場合(ステップ1003:YES)は、ステップ1006に進む。ステップ1003の判断結果が偽の場合(ステップ1003:NO)は、ステップ1004に進む。
ステップ1004において、制限制御機能61は、上限NW送信量604に対するNW送信量414の割合がNW上限閾値711以下であり、且つ上限ライト量504に対するライト量404の割合がI/O上限閾値713を超過しているか否かを判断する。ステップ1004の判断結果が真の場合(ステップ1004:YES)は、ステップ1008に進む。ステップ1004の判断結果が偽の場合(ステップ1004:NO)は、処理を終了する。
ステップ1005において、制限制御機能61は、上限ライト量504と上限NW送信量604との各々を、ステップ902とステップ903との各々において設定した値に戻す。
ステップ1006において、制限制御機能61は、上限ライト量504がI/O下限閾値714よりも大きいか否かを判断する。ステップ1006の判断結果が真の場合(ステップ1006:YES)は、ステップ1007に進む。ステップ1006の判断結果が偽の場合(ステップ1006:NO)は処理が終了する。
ステップ1007において、制限制御機能61は、I/O下限閾値714よりも小さくならないように上限ライト量504を小さくし、且つ上限NW送信量604を大きくする。ここでの上限504および604の変更量は、予め定めた値とする。ステップ903と同様に、制限制御機能61は、Nの値(データを(N+1)重書きする場合)と、1つのVM41が2つ以上の仮想ボリューム43を有するか否かとのうちの少なくとも1つに基づいて、上限504および604のうちの少なくとも1つを変更できる。
ステップ1008において、制限制御機能61は、上限NW送信量604がNW下限閾値712よりも大きいか否かを判断する。ステップ1008の判断結果が真の場合(ステップ1008:YES)は、ステップ1009に進む。ステップ1008の判断結果が偽の場合(ステップ1008:NO)は、処理が終了する。
ステップ1009において、制限制御機能61は、NW下限閾値712よりも小さくならないように上限NW送信量604を小さくし、且つI/O上限504を大きくする。ここでの上限504および604の変更量は、予め定めた値とする。ステップ903と同様に、制限制御機能61は、Nの値(データを(N+1)重書きする場合)と、1つのVM41が2つ以上の仮想ボリューム43を有するか否かとのうちの少なくとも1つに基づいて、上限504および604のうちの少なくとも1つを変更できる。
各VM41について、割当て受信量702および割当て送信量703は、優先度で表現されてもよい。例えば、優先度3は300MB/s、優先度2は200MB/s、優先度1は100MB/sであってもよい。また、例えば、優先度3のVM数が“a”、優先度2のVM数が“b”、優先度1のVM数が“c”であり、NW I/F14の受信および送信のデータ量がそれぞれ1,000MB/sの場合、優先度3のVM41の割当て受信量702と割当て送信量703とをそれぞれ1,000÷(a×3+b×2+c×1)×3、優先度2のVM41の割当て受信量702と割当て送信量703とをそれぞれ1000÷(a×3+b×2+c×1)×2、優先度2のVM41の割当て受信量702と割当て送信量703とをそれぞれ1,000÷(a×3+b×2+c×1)×1としてもよい。つまり、優先度X(Xは自然数)のVM41の割当て送信量703(割当て受信量702)は、Xの値と、優先度の数(例えば優先度1、2および3の場合は優先度の数=3)と、優先度毎のVM数と、NW I/F14の送信のデータ量(受信のデータ量)とに基づいて決定されてよい。
NW上限閾値711およびI/O上限閾値713のいずれも、100%未満であり0%より大きい。なぜなら、I/O上限閾値713が100%(最大値)または0%(最小値)となってしまうと、ライトしたいのにできないのか、あるいは、ライトしたくないのかを判断することができない(上限ライト量504を大きくしたい状況なのか小さくしたい状況なのかを判断することができない)。この点は、NW上限閾値711についても同様である。
以上が、実施例1の説明である。
VMからの100MBデータ(100MBのデータ)のライトに応じてSVMが100MBデータを他サーバのSVMに転送する。一比較例によれば、当該VMについてNW送信量の上限が設定された場合、NW制限機能は、当該VMからSVM非経由のデータをNW送信量の上限以下に抑えることができるが、当該VMからSVM経由のデータの量を制限することができない。このため、第1VMが大量のデータをライトしているときに、第2VMがSVM非経由でデータ転送しようとすると、第1VMのライトがボトルネックとなって、第2VMについて期待されるデータ転送性能が出ない。
一方、一比較例において、SVMについてNW送信量の上限(例えば500MB/s)とすると、第1VMおよび第2VMのいずれも500MBデータをライトすると、SVMは、合計1000MBのデータを転送しようとするが、転送されるデータ量は、SVMについてのNW送信量の上限(500MB/s)に制限される。このため、第1VMおよび第2VMのいずれについても期待されるライト性能が出ない。
本実施例によれば、このような課題が解決される。
すなわち、本実施例によれば、VM41(例えば41a)に対応したNW送信量414(例えば矢印80)と、当該VM41のライトによるNW送信量(SVM45からのNW送信量)(矢印82)との総和が、当該VM41の割当て送信量703の値以下になる。各VM41のNW受信上限603とリード上限503とについても、同様に制御する。NW I/F14を使用するVM41の割当て送信量703の総和を、当該NW I/F14の送信上限値以下とすることにより、NW I/F14がボトルネックになることはなくなり、特定のVM41が他のVM41に性能影響を与えることはなくなる。
また、本実施例によれば、VM41(例えば41a)のNW受信量413と、当該VM41のリードによるNW受信量(SVM45からのNW受信量)との総和が、当該VM41の割当て受信量702の値以下になる。NW I/F14を使用するVM41の割当て受信量702の総和が、当該NW I/F14の受信上限値以下とすることにより、NW I/F14がボトルネックになることはなくなり、特定のVM41が他のVM41に性能影響を与えることはなくなる。
また、本実施例によれば、上限リード量503および上限NW受信量603の各々の初期値は、割当て受信量702の半分である。また、上限ライト量504および上限NW送信量604の各々の初期値は、割当て送信量703の半分である。このように、初期状態では、上限ライト量504および上限NW送信量604の各々の使用領域(上限リード量503および上限NW受信量603の各々の使用領域)を確保することができる。
実施例2を説明する。その際、実施例1との相違点を主に説明し、実施例1との共通点については説明を省略又は簡略する。
図11は、実施例2に係るサーバの構成の一例を示す。
実施例1では、VM41ごとに、リード量403、ライト量404、NW受信量413、NW送信量414、上限リード量503、上限ライト量504、上限NW受信量603、上限NW送信量604、割当て受信量702および割当て送信量703があるが、実施例2では、図11の通り、アプリケーション42ごとに、リード量403、ライト量404、NW受信量413、NW送信量414、上限リード量503、上限ライト量504、上限NW受信量603、上限NW送信量604、割当て受信量702および割当て送信量703があってよい。ハイパーバイザー40、VM41およびSVM45はなくてもよい。従って、SVM45経由または非経由のデータ転送は、ストレージ制御機能46経由または非経由のデータ転送となる。
なお、アプリケーション42ごとにリード量403、ライト量404、NW受信量413、NW送信量414、上限リード量503、上限ライト量504、上限NW受信量603、上限NW送信量604、割当て受信量702および割当て送信量703が管理されることは、実施例1の構成(つまりVM41およびSVM45が存在する構成)でも採用されてもよい。
以上、幾つかの実施例を説明したが、これは本発明の説明のための例示であって、本発明の範囲をこれらの実施例にのみ限定する趣旨ではない。本発明は、他の種々の形態でも実施することが可能である。
例えば、NW送信及びボリュームライトに関する上述の説明に基づいて、NW受信およびボリュームリードに関して、下記のように表現することができる。
(表現1)
記憶デバイスと、
1以上の他の計算機と接続されるNW I/F(ネットワークインターフェイス)と、
1以上のエンティティを実行するプロセッサと
を有し、
前記プロセッサは、前記1以上のエンティティの各々について、上限NW受信量と上限リード量との総和を、当該エンティティについて割り当てられた受信量である割当て受信量以下とし、
前記1以上のエンティティの各々について、前記上限NW受信量は、前記NW I/Fを介して短時間当たりに受信されるデータの量であるNW受信量の上限値であり、
前記1以上のエンティティの各々について、前記上限リード量は、当該エンティティが認識する前記論理ボリュームに単位時間当たりにリードされるデータの量であるリード量の上限値である、
計算機。
(表現2)
前記1以上のエンティティの各々について、前記上限リード量は、当該エンティティが認識している論理ボリュームの数が多い程小さい、
表現1に記載の計算機。
(表現3)
前記1以上のエンティティの各々について、前記上限NW受信量と前記上限リード量のうちの少なくとも1つの初期値は、当該エンティティの前記割当て受信量の半分である、
表現1または2に記載の計算機。
(表現4)
前記プロセッサは、前記1以上のエンティティの各々について、前記上限NW受信量と前記上限リード量との総和が当該エンティティの前記割当て受信量以下であることを維持しながら、前記上限NW受信量と前記上限リード量とを調整する、
表現1乃至3のうちのいずれか1つに記載の計算機。
(表現5)
前記プロセッサは、前記1以上のエンティティの各々について、前記上限NW受信量に対する当該エンティティのNW受信量の割合がNW上限閾値を超過しているか否か、および、前記上限リード量に対するリード量の割合がI/O上限閾値を超過しているか否かに基づき、前記上限NW受信量と前記上限リード量とを調整する、
表現4に記載の計算機。
(表現6)
前記1以上のエンティティの各々について、前記上限NW受信量に対する当該エンティティのNW受信量の割合がNW上限閾値を超過しており、且つ上限リード量に対するリード量の割合がI/O上限閾値を超過している場合、前記上限NW受信量と前記上限リード量との調整は、前記上限NW受信量と前記上限リード量との各々を初期値に戻すことである、
表現4または5に記載の計算機。
(表現7)
前記1以上のエンティティの各々について、前記上限NW受信量に対する当該エンティティのNW受信量の割合がNW上限閾値を超過しており、且つ、前記上限リード量に対するリード量の割合がI/O上限閾値以下の場合、前記上限NW受信量と前記上限リード量との調整は、前記上限NW受信量を大きくし前記上限リード量を小さくすることである、
表現4乃至6のうちのいずれか1つに記載の計算機。
(表現8)
前記1以上のエンティティの各々について、前記上限NW受信量に対する当該エンティティのNW受信量の割合がNW上限閾値以下であり、且つ、前記上限リード量に対するリード量の割合がI/O上限閾値を超えている場合、前記上限NW受信量と前記上限リード量との調整は、前記上限NW受信量を小さくし前記上限リード量を大きくすることである、
表現4乃至7のうちのいずれか1つに記載の計算機。
(表現9)
前記プロセッサは、前記1以上のエンティティの他に、ストレージ制御プログラムと、I/O(Input/Output)制限プログラムと、NW(ネットワーク)制限プログラムとを実行し、
前記I/O制限プログラムは、前記1以上のエンティティの各々について、リード量が前前記上限リード量以下になるよう制限し、
前記ストレージ制御プログラムは、前記1以上のエンティティの各々について、当該エンティティが認識している論理ボリュームに対するリード対象のデータを、前記記憶デバイスからリードすることと、前記NW I/F経由で前記1以上の他の計算機のいずれかからリードすることとのいずれかを実行でき、
前記NW制限プログラムは、前記1以上のエンティティの各々について、NW受信量が前前記上限NW受信量以下になるよう制限する、
表現1に記載の計算機。
10…サーバ、13…SSD、14…NW I/F、42…アプリケーション、43…仮想ボリューム

Claims (14)

  1. 記憶デバイスと、
    1以上の他の計算機と接続されるNW I/F(ネットワークインターフェイス)と、
    1以上のエンティティを実行するプロセッサとを有し、
    前記1以上のエンティティの各々は、当該エンティティが認識している論理ボリュームに対するデータのライトと、前記NW I/F経由のデータ送信とのいずれも行うことができ、
    前記プロセッサは、前記1以上のエンティティの各々について、当該エンティティが認識している論理ボリュームに対するライト対象のデータを受けた場合、前記ライト対象のデータを前記記憶デバイスに格納し、且つ、前記ライト対象のデータを前記1以上の他の計算機のうちのN台の他の計算機(Nは自然数)の各々に当該他の計算機に格納するために転送し、
    前記プロセッサは、
    前記1以上のエンティティの各々について割り当てられた送信量である割当て送信量を定義するポリシーを参照し、
    前記1以上のエンティティの各々についてのライト量の上限の設定値を含むI/O上限とNW送信量の上限の設定値を含むNW上限を更新し、
    前記I/O上限に基づいて、前記1以上のエンティティの各々について前記ライト量を制限し、
    前記NW上限に基づいて、前記1以上のエンティティの各々について前記NW送信量を制限し、
    前記割当て送信量は、前記NW送信量と前記ライト量との合計の上限値であり、
    前記NW送信量は、前記1以上のエンティティの各々について前記エンティティの仮想NW I/F及び前記NW I/Fを介して単位時間当たりに送信されるデータの量であり、
    前記ライト量は、当該エンティティが認識する前記論理ボリュームに単位時間当たりにライトされるデータの量であり、前記ライトされるデータは、他の計算機内の記憶部にライトされるデータである、
    計算機。
  2. 前記1以上のエンティティの各々について、前記ライト量の上限である上限ライト量は、前記Nの値が大きい程小さい、
    請求項1に記載の計算機。
  3. 前記1以上のエンティティの各々について、前記ライト量の上限である上限ライト量は、当該エンティティが認識している論理ボリュームの数が多い程小さい、
    請求項1に記載の計算機。
  4. 前記1以上のエンティティの各々について、前記NW送信量の上限である上限NW送信量と前記ライト量の上限である上限ライト量のうちの少なくとも1つの初期値は、当該エンティティの前記割当て送信量の半分である、
    請求項1に記載の計算機。
  5. 前記プロセッサは、前記1以上のエンティティの各々について、前記NW送信量の上限である上限NW送信量に対する当該エンティティのNW送信量の割合がNW上限閾値を超過しているか否か、および、前記ライト量の上限である上限ライト量に対するライト量の割合がI/O上限閾値を超過しているか否かに基づき、前記上限NW送信量と前記上限ライト量とを調整し、
    前記NW上限閾値は、前記上限NW送信量に対する前記NW送信量の割合の閾値であり、
    前記I/O上限閾値は、前記上限ライト量に対する前記ライト量の割合の閾値である、
    請求項1に記載の計算機。
  6. 前記1以上のエンティティの各々について、前記上限NW送信量に対する当該エンティティのNW送信量の割合がNW上限閾値を超過しており、且つ上限ライト量に対するライト量の割合がI/O上限閾値を超過している場合、前記上限NW送信量と前記上限ライト量との調整は、前記上限NW送信量と前記上限ライト量との各々を初期値に戻すことである、
    請求項5に記載の計算機。
  7. 前記1以上のエンティティの各々について、前記上限NW送信量に対する当該エンティティのNW送信量の割合がNW上限閾値を超過しており、且つ、前記上限ライト量に対するライト量の割合がI/O上限閾値以下の場合、前記上限NW送信量と前記上限ライト量との調整は、前記上限NW送信量を大きくし前記上限ライト量を小さくすることである、
    請求項5に記載の計算機。
  8. 前記1以上のエンティティの各々について、前記上限NW送信量に対する当該エンティティのNW送信量の割合がNW上限閾値以下であり、且つ、前記上限ライト量に対するライト量の割合がI/O上限閾値を超えている場合、前記上限NW送信量と前記上限ライト量との調整は、前記上限NW送信量を小さくし前記上限ライト量を大きくすることである、
    請求項5に記載の計算機。
  9. 前記NW上限閾値は、0%より大きく100%未満であり、
    前記I/O上限閾値は、0%より大きく100%未満である、
    請求項5に記載の計算機。
  10. 前記プロセッサは、前記1以上のエンティティの他に、ストレージ制御プログラムと、I/O(Input/Output)制限プログラムと、NW(ネットワーク)制限プログラムとを実行し、
    前記プロセッサは、前記I/O制限プログラムを実行することで、前記1以上のエンティティの各々について、ライト量が前記ライト量の上限である上限ライト量以下になるよう制限し、
    前記プロセッサは、前記ストレージ制御プログラムを実行することで、前記1以上のエンティティの各々について、当該エンティティが認識している論理ボリュームに対するライト対象のデータを受けた場合、前記ライト対象のデータを前記記憶デバイスに格納し、且つ、前記ライト対象のデータを前記1以上の他の計算機のうちのN台の他の計算機の各々に当該他の計算機に格納するために転送し、
    前記プロセッサは、前記NW制限プログラムを実行することで、前記1以上のエンティティの各々について、NW送信量が前記NW送信量の上限である上限NW送信量以下になるよう制限する、
    請求項1に記載の計算機。
  11. 前記NW I/Fは、全二重方式で通信するインターフェイスであり、
    前記プロセッサは、
    前記1以上のエンティティの各々について割り当てられた受信量である割当て受信量を定義するポリシーを参照し、
    前記1以上のエンティティの各々についてのリード量の上限の設定値を含むI/O上限とNW受信量の上限の設定値を含むNW上限を更新し、
    前記I/O上限に基づいて、前記1以上のエンティティの各々について前記リード量を制限し、
    前記NW上限に基づいて、前記1以上のエンティティの各々について前記NW受信量を制限し、
    前記割当て受信量は、前記NW受信量と前記リード量との合計の上限値であり、
    前記NW受信量は、前記1以上のエンティティの各々について前記エンティティの仮想NW I/F及び前記NW I/Fを介して単位時間当たりに受信されるデータの量であり、
    前記リード量は、当該エンティティが認識する前記論理ボリュームから単位時間当たりにリードされるデータの量であり、前記リードされるデータは、他の計算機内の記憶部からリードされるデータである、
    請求項1に記載の計算機。
  12. 前記1以上のエンティティは、1以上のアプリケーション、または、1以上のVM(Virtual Machine)である、
    請求項1に記載の計算機。
  13. 複数の計算機を有し、
    前記複数の計算機の各々は、
    記憶デバイスと、
    前記複数の計算機のうちの当該計算機以外の1以上の他の計算機と接続されるNW I/F(ネットワークインターフェイス)と、
    1以上のエンティティを実行するプロセッサとを有し、
    前記複数の計算機の各々において、前記1以上のエンティティの各々は、当該エンティティが認識している論理ボリュームに対するデータのライトと、当該計算機の前記NW I/F経由のデータ送信とのいずれも行うことができ、
    前記複数の計算機のうちのいずれかの計算機において、
    前記プロセッサは、前記1以上のエンティティの各々について、当該エンティティが認識している論理ボリュームに対するライト対象のデータを受けた場合、前記ライト対象のデータを当該計算機の前記記憶デバイスに格納し、且つ、前記ライト対象のデータを当該計算機に接続されている1以上の他の計算機のうちのN台の他の計算機(Nは自然数)の各々に当該他の計算機に格納するために転送し、
    前記プロセッサは、
    前記1以上のエンティティの各々について割り当てられた送信量である割当て送信量を定義するポリシーを参照し、
    前記1以上のエンティティの各々についてのライト量の上限の設定値を含むI/O上限とNW送信量の上限の設定値を含むNW上限を更新し、
    前記I/O上限に基づいて、前記1以上のエンティティの各々について前記ライト量を制限し、
    前記NW上限に基づいて、前記1以上のエンティティの各々について前記NW送信量を制限し、
    前記割当て送信量は、前記NW送信量と前記ライト量との合計の上限値であり、
    前記NW送信量は、前記1以上のエンティティの各々について前記エンティティの仮想NW I/F及び前記NW I/Fを介して単位時間当たりに送信されるデータの量であり、
    前記ライト量は、当該エンティティが認識する前記論理ボリュームに単位時間当たりにライトされるデータの量であり、前記ライトされるデータは、他の計算機内の記憶部にライトされるデータである、
    計算機システム。
  14. 記憶デバイスと、1以上の他の計算機と接続されるNW I/F(ネットワークインターフェイス)と、それぞれが論理ボリュームに対するデータのライトと前記NW I/F経由のデータ送信とのいずれも行うことができる1以上のエンティティを実行するプロセッサとを有する計算機についてのデータ量制限方法であって、
    前記1以上のエンティティの各々について、当該エンティティが認識している論理ボリュームに対するライト対象のデータを受けた場合、前記ライト対象のデータを前記記憶デバイスに格納し、且つ、前記ライト対象のデータを前記1以上の他の計算機のうちのN台の他の計算機(Nは自然数)の各々に当該他の計算機に格納するために転送し、
    前記1以上のエンティティの各々について割り当てられた送信量である割当て送信量を定義するポリシーを参照し、
    前記1以上のエンティティの各々についてのライト量の上限の設定値を含むI/O上限とNW送信量の上限の設定値を含むNW上限を更新し、
    前記I/O上限に基づいて、前記1以上のエンティティの各々について前記ライト量を制限し、
    前記NW上限に基づいて、前記1以上のエンティティの各々について前記NW送信量を制限し、
    前記割当て送信量は、前記NW送信量と前記ライト量との合計の上限値であり、
    前記NW送信量は、前記1以上のエンティティの各々について前記エンティティの仮想NW I/F及び前記NW I/Fを介して単位時間当たりに送信されるデータの量であり、
    前記ライト量は、当該エンティティが認識する前記論理ボリュームに単位時間当たりにライトされるデータの量であり、前記ライトされるデータは、他の計算機内の記憶部にライトされるデータである、
    データ量制限方法。
JP2018548526A 2016-11-07 2016-11-07 計算機、計算機システムおよびデータ量制限方法 Active JP6782303B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2016/082906 WO2018083789A1 (ja) 2016-11-07 2016-11-07 計算機、計算機システムおよびデータ量制限方法

Publications (2)

Publication Number Publication Date
JPWO2018083789A1 JPWO2018083789A1 (ja) 2019-06-24
JP6782303B2 true JP6782303B2 (ja) 2020-11-11

Family

ID=62075917

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018548526A Active JP6782303B2 (ja) 2016-11-07 2016-11-07 計算機、計算機システムおよびデータ量制限方法

Country Status (4)

Country Link
US (1) US11112996B2 (ja)
JP (1) JP6782303B2 (ja)
CN (1) CN109416669B (ja)
WO (1) WO2018083789A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10901930B1 (en) * 2019-10-21 2021-01-26 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Shared virtual media in a composed system

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000276422A (ja) * 1999-03-23 2000-10-06 Nec Corp 通信プロトコル処理装置および通信プロトコル処理方法
GB2419703A (en) * 2004-10-29 2006-05-03 Hewlett Packard Development Co Isolated virtual overlay infrastructures each having an interface to control interaction with others
US8429630B2 (en) * 2005-09-15 2013-04-23 Ca, Inc. Globally distributed utility computing cloud
JP4461089B2 (ja) * 2005-10-04 2010-05-12 富士通株式会社 ストレージ制御装置およびストレージ制御方法
JP4609331B2 (ja) 2006-01-27 2011-01-12 株式会社日立製作所 複合型情報プラットフォーム装置およびその通信帯域保証方法
US8032725B1 (en) * 2007-01-30 2011-10-04 Netapp, Inc. Backup data management on a fractionally reserved storage system
CN101140809A (zh) * 2007-09-07 2008-03-12 炬力集成电路设计有限公司 支持流水线纠错码和可配置操作的flash控制器及其控制方法
JP5090941B2 (ja) * 2008-01-29 2012-12-05 株式会社日立製作所 ストレージサブシステム及びストレージシステム
US8856319B1 (en) * 2010-02-03 2014-10-07 Citrix Systems, Inc. Event and state management in a scalable cloud computing environment
US8811153B1 (en) * 2010-05-03 2014-08-19 Pluribus Networks Inc. Switch fabric for network devices
US9544323B2 (en) * 2011-07-08 2017-01-10 Rapid Focus Security, Llc System and method for remotely conducting a security assessment and analysis of a network
WO2013093994A1 (ja) * 2011-12-19 2013-06-27 富士通株式会社 ストレージシステム、データリバランシングプログラム及びデータリバランシング方法
US9215081B2 (en) * 2012-03-22 2015-12-15 Infosys Limited Multicast smart leave technologies
JP5658197B2 (ja) * 2012-06-04 2015-01-21 株式会社日立製作所 計算機システム、仮想化機構、及び計算機システムの制御方法
US9172646B2 (en) * 2013-03-15 2015-10-27 International Business Machines Corporation Dynamic reconfiguration of network devices for outage prediction
IN2013CH01467A (ja) * 2013-04-01 2015-10-02 Sanovi Technologies Pvt Ltd
US9170928B1 (en) * 2013-12-31 2015-10-27 Symantec Corporation I/O scheduling and load balancing across the multiple nodes of a clustered environment
US20160164962A1 (en) * 2014-12-05 2016-06-09 International Business Machines Corporation Reducing the Impact of Noisy Neighbors via Pro-Active Log Offloading in Shared Storage Environment

Also Published As

Publication number Publication date
US20190179571A1 (en) 2019-06-13
CN109416669A (zh) 2019-03-01
US11112996B2 (en) 2021-09-07
CN109416669B (zh) 2022-04-19
WO2018083789A1 (ja) 2018-05-11
JPWO2018083789A1 (ja) 2019-06-24

Similar Documents

Publication Publication Date Title
US10853274B2 (en) Primary data storage system with data tiering
US20200278880A1 (en) Method, apparatus, and system for accessing storage device
US10282101B2 (en) Primary data storage system with quality of service
US20200019516A1 (en) Primary Data Storage System with Staged Deduplication
US11734137B2 (en) System, and control method and program for input/output requests for storage systems
US9575690B2 (en) Sub-lun auto-tiering
US20150071123A1 (en) Integrating software defined storage and software defined networking
US20130166839A1 (en) Sub-lun auto-tiering
JP2015531090A (ja) ストレージデバイスの高速アクセス及びデータ保護を実現する計算機、計算機システム、及びi/o要求処理方法
CN114647363A (zh) 用于数据处理的方法、电子设备和计算机程序产品
US11593182B2 (en) Storage system
JP6782303B2 (ja) 計算機、計算機システムおよびデータ量制限方法
US10242053B2 (en) Computer and data read method
US11003378B2 (en) Memory-fabric-based data-mover-enabled memory tiering system
JP6653786B2 (ja) I/o制御方法およびi/o制御システム
US11740838B2 (en) Array-based copy utilizing one or more unique data blocks
US20240168876A1 (en) Solving submission queue entry overflow using metadata or data pointers
US12038835B2 (en) Garbage collection processing in storage systems
US11513690B2 (en) Multi-dimensional I/O service levels
US20230315344A1 (en) Maintaining qualiy of service of non-volatile memory devices in heterogeneous environment
US20220365728A1 (en) Method and system for maximizing performance of a storage system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190702

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20190826

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190904

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200303

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200415

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201019

R150 Certificate of patent or registration of utility model

Ref document number: 6782303

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150