IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 富士通株式会社の特許一覧

特開2024-55158情報処理プログラム、情報処理方法及び情報処理装置
<>
  • 特開-情報処理プログラム、情報処理方法及び情報処理装置 図1
  • 特開-情報処理プログラム、情報処理方法及び情報処理装置 図2
  • 特開-情報処理プログラム、情報処理方法及び情報処理装置 図3
  • 特開-情報処理プログラム、情報処理方法及び情報処理装置 図4
  • 特開-情報処理プログラム、情報処理方法及び情報処理装置 図5
  • 特開-情報処理プログラム、情報処理方法及び情報処理装置 図6
  • 特開-情報処理プログラム、情報処理方法及び情報処理装置 図7
  • 特開-情報処理プログラム、情報処理方法及び情報処理装置 図8
  • 特開-情報処理プログラム、情報処理方法及び情報処理装置 図9
  • 特開-情報処理プログラム、情報処理方法及び情報処理装置 図10
  • 特開-情報処理プログラム、情報処理方法及び情報処理装置 図11
  • 特開-情報処理プログラム、情報処理方法及び情報処理装置 図12
  • 特開-情報処理プログラム、情報処理方法及び情報処理装置 図13
  • 特開-情報処理プログラム、情報処理方法及び情報処理装置 図14
  • 特開-情報処理プログラム、情報処理方法及び情報処理装置 図15
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024055158
(43)【公開日】2024-04-18
(54)【発明の名称】情報処理プログラム、情報処理方法及び情報処理装置
(51)【国際特許分類】
   G06F 13/10 20060101AFI20240411BHJP
   G06F 3/08 20060101ALI20240411BHJP
   G06F 9/50 20060101ALI20240411BHJP
【FI】
G06F13/10 330C
G06F13/10 340A
G06F3/08 E
G06F9/50 120Z
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2022161858
(22)【出願日】2022-10-06
(71)【出願人】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110003649
【氏名又は名称】弁理士法人真田特許事務所
(74)【代理人】
【識別番号】100189201
【弁理士】
【氏名又は名称】横田 功
(72)【発明者】
【氏名】荻原 一隆
(72)【発明者】
【氏名】白石 崇
(72)【発明者】
【氏名】大塚 将斗
(72)【発明者】
【氏名】西尾 直也
(72)【発明者】
【氏名】福村 祐美
(72)【発明者】
【氏名】近藤 玲子
(57)【要約】
【課題】物理ディスクの負荷の増加原因となる仮想マシンを容易に特定する。
【解決手段】情報処理プログラムは、複数の物理記憶装置のうちの第1物理記憶装置にアクセスする1以上の第1仮想記憶装置から、前記1以上の第1仮想記憶装置の各々に対応付けられた複数の第2物理記憶装置であって前記第1物理記憶装置を含む前記複数の第2物理記憶装置へのアクセス負荷が前記複数の第2物理記憶装置間で公平である場合における、前記1以上の第1仮想記憶装置の各々から前記第1物理記憶装置へのアクセス負荷を示す複数の第1指標値を算出し、算出された前記複数の第1指標値を、前記1以上の仮想記憶装置の各々に割り当てられた仮想マシン毎に集計することにより得られる複数の第2指標値であって、複数の前記仮想マシンの各々から前記第1物理記憶装置へのアクセス負荷を示す前記複数の第2指標値を出力する、処理をコンピュータに実行させる。
【選択図】図5
【特許請求の範囲】
【請求項1】
複数の物理記憶装置のうちの第1物理記憶装置にアクセスする1以上の第1仮想記憶装置から、前記1以上の第1仮想記憶装置の各々に対応付けられた複数の第2物理記憶装置であって前記第1物理記憶装置を含む前記複数の第2物理記憶装置へのアクセス負荷が前記複数の第2物理記憶装置間で公平である場合における、前記1以上の第1仮想記憶装置の各々から前記第1物理記憶装置へのアクセス負荷を示す複数の第1指標値を算出し、
算出された前記複数の第1指標値を、前記1以上の仮想記憶装置の各々に割り当てられた仮想マシン毎に集計することにより得られる複数の第2指標値であって、複数の前記仮想マシンの各々から前記第1物理記憶装置へのアクセス負荷を示す前記複数の第2指標値を出力する、
処理をコンピュータに実行させる、情報処理プログラム。
【請求項2】
前記複数の物理記憶装置のうちの選択を受け付けた物理記憶装置を前記第1物理記憶装置として特定する、
処理を前記コンピュータに実行させる、請求項1に記載の情報処理プログラム。
【請求項3】
前記複数の物理記憶装置のうちのアクセス負荷が閾値以上である物理記憶装置を前記第1物理記憶装置として特定する、
処理を前記コンピュータに実行させる、請求項1に記載の情報処理プログラム。
【請求項4】
前記複数の物理記憶装置と複数の仮想記憶装置との対応関係を示す第1の管理情報に基づいて、前記第1物理記憶装置にアクセスする前記1以上の仮想記憶装置を前記複数の仮想記憶装置から特定し、
複数の前記仮想マシンと前記複数の仮想記憶装置との対応関係を示す第2の管理情報に基づいて、前記1以上の第1仮想記憶装置に対応付けられた前記1以上の仮想マシンを前記複数の仮想マシンから特定する、
処理を前記コンピュータに実行させる、請求項1~請求項3のいずれか1項に記載の情報処理プログラム。
【請求項5】
前記複数の第1指標値を算出する処理は、
前記1以上の仮想マシンの各々から前記1以上の第1仮想記憶装置へのコマンド別のアクセス負荷を示す第3指標値を取得し、
前記1以上の第1仮想記憶装置の各々に関する前記複数の第2物理記憶装置の冗長構成を示す情報に応じたアクセス負荷の比率を示す情報と、前記第3指標値とに基づいて、前記複数の第1指標値を算出する、処理を含む、
請求項1~請求項3のいずれか1項に記載の情報処理プログラム。
【請求項6】
複数の物理記憶装置のうちの第1物理記憶装置にアクセスする1以上の第1仮想記憶装置から、前記1以上の第1仮想記憶装置の各々に対応付けられた複数の第2物理記憶装置であって前記第1物理記憶装置を含む前記複数の第2物理記憶装置へのアクセス負荷が前記複数の第2物理記憶装置間で公平である場合における、前記1以上の第1仮想記憶装置の各々から前記第1物理記憶装置へのアクセス負荷を示す複数の第1指標値を算出し、
算出された前記複数の第1指標値を、前記1以上の仮想記憶装置の各々に割り当てられた仮想マシン毎に集計することにより得られる複数の第2指標値であって、複数の前記仮想マシンの各々から前記第1物理記憶装置へのアクセス負荷を示す前記複数の第2指標値を出力する、
処理をコンピュータが実行する、情報処理方法。
【請求項7】
複数の物理記憶装置のうちの第1物理記憶装置にアクセスする1以上の第1仮想記憶装置から、前記1以上の第1仮想記憶装置の各々に対応付けられた複数の第2物理記憶装置であって前記第1物理記憶装置を含む前記複数の第2物理記憶装置へのアクセス負荷が前記複数の第2物理記憶装置間で公平である場合における、前記1以上の第1仮想記憶装置の各々から前記第1物理記憶装置へのアクセス負荷を示す複数の第1指標値を算出し、
算出された前記複数の第1指標値を、前記1以上の仮想記憶装置の各々に割り当てられた仮想マシン毎に集計することにより得られる複数の第2指標値であって、複数の前記仮想マシンの各々から前記第1物理記憶装置へのアクセス負荷を示す前記複数の第2指標値を出力する、
制御部を備える、情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理プログラム、情報処理方法及び情報処理装置に関する。
【背景技術】
【0002】
複数のサーバのハードウェアリソースを用いて、ソフトウェアにより構築したストレージを提供するSDS(Software Defined Storage)と呼ばれる技術が知られている。SDSは、複数のサーバの物理ディスクを共有ストレージとして管理し、共有ストレージの記憶領域から割り当てた1以上の仮想ディスクを、複数のサーバ上で動作する仮想マシンに提供する。仮想マシン(VM:Virtual Machine)は、実際のデータが格納された物理ディスク(PD:Physical Disk)を意識せずに、仮想ディスク(VD:Virtual Disk)にアクセスすることができる。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2011-145894号公報
【特許文献2】特開2015-022385号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
特定の仮想マシンによる仮想ディスクへのアクセス(例えばI/O(Input / Output))負荷に起因して特定の物理ディスクへのアクセス負荷が高くなると、その物理ディスクを使用する他の仮想マシンのアクセス性能が低下する虞がある。したがって、物理ディスクの負荷の増加原因となる仮想マシンを特定し、特定した仮想マシンの使用状態を見直すことで、他の仮想マシンのアクセス性能の低下を抑制することが考えられる。
【0005】
しかしながら、SDSでは、例えば、仮想マシンから仮想ディスクへのアクセス情報、(仮想ディスクを区別せず)物理ディスクが受け取るアクセス情報、が取得されるものの、仮想ディスクから物理ディスクへのアクセス情報は取得されないことがある。このため、SDSが管理する情報から、特定の物理ディスクの負荷の増加原因となる仮想マシンを特定することが困難である。
【0006】
また、仮想ディスクから物理ディスクへのアクセス情報を取得しようとすると、SDSにより管理される情報量が増加し記憶領域を圧迫するとともに、当該アクセス情報の取得のための処理負荷(オーバヘッド)が増加する。換言すれば、仮想ディスクから物理ディスクへのアクセス情報の取得のために、SDSの資源(リソース)が大きく使用される。
【0007】
1つの側面では、本発明は、物理ディスクの負荷の増加原因となる仮想マシンを容易に特定することを目的の1つとする。
【課題を解決するための手段】
【0008】
1つの側面では、情報処理プログラムは、コンピュータに以下の処理を実行させてよい。前記処理は、複数の物理記憶装置のうちの第1物理記憶装置にアクセスする1以上の第1仮想記憶装置から、前記1以上の第1仮想記憶装置の各々に対応付けられた複数の第2物理記憶装置であって前記第1物理記憶装置を含む前記複数の第2物理記憶装置へのアクセス負荷が前記複数の第2物理記憶装置間で公平である場合における、前記1以上の第1仮想記憶装置の各々から前記第1物理記憶装置へのアクセス負荷を示す複数の第1指標値を算出してよい。また、前記処理は、算出された前記複数の第1指標値を、前記1以上の仮想記憶装置の各々に割り当てられた仮想マシン毎に集計することにより得られる複数の第2指標値であって、複数の前記仮想マシンの各々から前記第1物理記憶装置へのアクセス負荷を示す前記複数の第2指標値を出力してよい。
【発明の効果】
【0009】
1つの側面では、本発明は、物理ディスクの負荷の増加原因となる仮想マシンを容易に特定することができる。
【図面の簡単な説明】
【0010】
図1】一実施形態に係るシステムの構成例を示す図である。
図2図1に示すシステムにおいてVMから物理ディスクへのアクセス負荷に着目した例を示す図である。
図3図1に示すシステムにおけるI/O情報の取得の可否について示す図である。
図4】一実施形態に係る負荷算出部の機能構成例を示すブロック図である。
図5】一実施形態に係る負荷算出部の動作例を説明するための図である。
図6】一実施形態に係る第1管理情報の一例を示す図である。
図7】一実施形態に係る第2管理情報の一例を示す図である。
図8】一実施形態に係る負荷比率情報の一例を示す図である。
図9】一実施形態に係る負荷比率情報の一例を示す図である。
図10】第1仮想ディスクの各々から第1物理ディスクへのアクセス負荷の算出例を示す図である。
図11】仮想マシンから第1物理ディスクへのアクセス負荷の算出例を示す図である。
図12】一実施形態に係る負荷算出部による負荷算出処理の動作例を示すフローチャートである。
図13】一実施形態に係る負荷算出部による第1物理ディスクの特定処理の動作例を示すフローチャートである。
図14】一実施形態に係る負荷算出部による第1物理ディスクの特定処理の動作例を示すフローチャートである。
図15】一実施形態に係る負荷算出部の機能を実現するコンピュータのハードウェア(HW)構成例を示すブロック図である。
【発明を実施するための形態】
【0011】
以下、図面を参照して本発明の実施形態を説明する。ただし、以下に説明する実施形態は、あくまでも例示であり、以下に明示しない種々の変形又は技術の適用を排除する意図はない。例えば、本実施形態を、その趣旨を逸脱しない範囲で種々変形して実施することができる。なお、以下の説明で用いる図面において、同一符号を付した部分は、特に断らない限り、同一若しくは同様の部分を表す。
【0012】
〔A〕システムの一例の説明
図1は、一実施形態に係るシステム1の構成例を示す図である。
【0013】
システム1は、複数のサーバ100a,100b,100c(サーバ100と総称する場合がある)を備えるコンピュータシステムである。システム1は、一例において、コンピューティング機能、ネットワーク機能、ストレージ機能といった仮想化基盤を、サーバ100のハードウェアを用いて実装してよい。システム1は、例示的に、HCI(Hyper-Converged Infrastructure)等の技術を用いて実現されてもよい。また、システム1は、例えば、SDS等の技術を用いて、ストレージシステムとして機能してもよい。
【0014】
複数のサーバ100の各々は、物理サーバであり、コンピュータの一例である。サーバ100aは、複数の物理ディスク2-1~2-6を有し、サーバ100bは、複数の物理ディスク2-7~2-12を有し、サーバ100cは、複数の物理ディスク2-13~2-18を有する。複数の物理ディスク2-1~2-18(物理ディスク2と総称する場合がある)は、サーバ100の内蔵ストレージであってよい。
【0015】
物理ディスク2は、物理記憶装置の一例である。物理ディスク2としては、例えば、HDD(Hard Disk Drive)等の磁気記憶装置、及びSSD(Solid State Drive)等の半導体記憶装置等の種々の記憶装置が挙げられる。
【0016】
複数の物理ディスク2は、複数のサーバ100の間でアクセス可能に管理されてよい。別言すれば、複数の物理ディスク2は、仮想的な共有ストレージ3として利用されてよい。一例として、サーバ100aは、異なるサーバ100b,100cに内蔵された物理ディスク2-7~2-18にアクセス可能である。
【0017】
複数のサーバ100のそれぞれは、ハイパーバイザ11a,11b,及び11c(ハイパーバイザ11と総称する場合がある)を実行してよい。ハイパーバイザ11は、サーバ100のコンピューティング資源及びストレージ資源等の各種資源(リソース)を用いて仮想化環境を実現するソフトウェアである。例えば、ハイパーバイザ11a,11b,及び11cは、サーバ100間の通信により互いに協働して、サーバ100a,100b,及び100cの各種資源を用いて仮想化環境を実現してよい。以下の説明では、ハイパーバイザ11による制御は、ハイパーバイザ11a,11b,及び11cの少なくとも1つにより実行されるものとする。
【0018】
ハイパーバイザ11は、サーバ100において、仮想マシン(VM)13-1~13-9(VM13と総称する場合がある)を実行する。例えば、ハイパーバイザ11は、サーバ100のプロセッサ,メモリ,ストレージなどの資源(リソース)を各VM13に割り当てることで、各VM13を他のVM13と独立して実行する。
【0019】
図1の例では、サーバ100a,100b,及び100cにおいて、それぞれ複数のVM13-1~13-3,VM13-4~13-6,及びVM13-7~13-9が実行される。但し、VM13の数は、この場合に限られない。各VM13は、ハイパーバイザ11により割り当てられたリソースを用いてOS(Operating System)及びアプリケーション等のソフトウェアを実行してよい。
【0020】
ハイパーバイザ11は、共有ストレージ3の一部の記憶領域を1以上の仮想ディスク12a,12b,及び12c(仮想ディスク12と総称する場合がある)に割り当てる。また、ハイパーバイザ11は、1以上の仮想ディスク12を、それぞれ対応するVM13に割り当てる。VM13は、実際のデータが格納された物理ディスク2を意識せずに、自身に対応付けられた1以上の仮想ディスク12にアクセスする。ハイパーバイザ11は、VM13から仮想ディスク12へのアクセスに応じて当該仮想ディスク12に対応付けられた物理ディスク2へのアクセスを制御することで、各VM13から仮想ディスク12を介した物理ディスク2へのアクセスを実現する。
【0021】
図1の例では、VM13-3は、仮想ディスク12aを介して物理ディスク2-5及び2-8にアクセスする。VM13-6は、仮想ディスク12bを介して物理ディスク2-6及び2-8にアクセスする。VM13-7は、仮想ディスク12cを介して物理ディスク2-8及び2-14にアクセスする。
【0022】
また、一実施形態に係るシステム1は、負荷の算出対象の物理ディスク2へのアクセス負荷を、当該物理ディスク2にアクセスするVM13毎に算出(推定)する負荷算出部10を備える。
【0023】
一実施形態では、負荷算出部10は、複数のハイパーバイザ11a~11cのうちの1つのハイパーバイザ11aに備えられるものとするが、これに限定されるものではない。負荷算出部10は、例えば、ハイパーバイザ11b又は11cに備えられてもよいし、ハイパーバイザ11a~11cのうちのいずれか2つ以上に備えられてもよく、或いは、少なくとも1つのVM13に備えられてもよい。また、負荷算出部10は、サーバ100とは異なる負荷算出サーバに備えられてもよい。負荷算出部10の機能を実現するサーバ100又は負荷算出サーバは、情報処理装置又はコンピュータの一例である。
【0024】
図2は、図1に示すシステム1においてVM13から物理ディスク2へのアクセス負荷に着目した例を示す図である。図2に例示するように、特定の物理ディスク2-8には、VM13-3,13-6,及び13-7からのアクセスが集中する。例えば、VM13-3から物理ディスク2-8へのアクセス負荷が高まると、物理ディスク2-8を使用する全てのVM13-6及び13-7のアクセス性能に影響が生じ得る。
【0025】
したがって、物理ディスク2-8が高負荷になる原因のVM13(例えばVM13-3)を特定し、特定したVM13-3の使用状況を見直すことで、他のVM13(例えばVM13-6及び13-7)のI/O性能の低下を抑制することが望ましい。
【0026】
図3は、図1に示すシステム1におけるI/O情報の取得の可否について示す図である。I/O情報は、アクセス負荷指標値の一例であり、例えば、IOPS(I/O per second)やスループット等の種々のI/O性能に関する情報であってよい。IOPSは、単位時間(1秒)あたりのI/O数である。
【0027】
システム1は、例えば、ハイパーバイザ11又はVM13により、各VM13から各仮想ディスク12へのI/Oの情報A1と、アクセス元の仮想ディスク12を区別せずに、各物理ディスク2が受け取るI/Oの情報A4と、を取得可能である。
【0028】
しかしながら、システム1は、仮想ディスク12と物理ディスク2との間のI/Oに関する情報を取得することが困難な場合がある。図3の例では、システム1は、各仮想ディスク12a,12b,及び12cから物理ディスク2-1~2-18へのI/Oの情報A2、並びに、仮想ディスク12a,12b,及び12c別の各物理ディスク2-1~2-18が受け取るI/Oの情報A3を取得しない。
【0029】
なお、物理ディスク2-8へのアクセス負荷が高くなる原因のVM13を特定するために、システム1が情報A2及びA3を取得する場合、SDSにより管理される情報量が増加するとともに、情報A2及びA3の取得のための処理負荷が増加する。すなわち、システム1の資源が大きく使用される。
【0030】
そこで、一実施形態に係る負荷算出部10は、システム1の資源の使用を抑制しつつ、特定の物理ディスク2(例えば2-8)の負荷の増加原因となるVM13を特定するための負荷算出処理を実行する。
【0031】
〔B〕機能構成例
図4は、一実施形態に係る負荷算出部10の機能構成例を示すブロック図である。負荷算出部10は、コンピュータの一例である。
【0032】
図4に示すように、負荷算出部10は、例示的に、メモリ部41、第1物理ディスク特定部42、第1仮想ディスク特定部43、仮想マシン特定部44、及び第2物理ディスク特定部45を備えてよい。また、負荷算出部10は、VM-VD情報取得部46、冗長構成取得部47、負荷比率取得部48、VD-PD情報算出部49、VM-PD情報算出部50、及び通信部51を備えてよい。これらのブロック42~51は、制御部52の一例である。
【0033】
メモリ部41は、記憶領域の一例であり、負荷算出部10が利用する種々のデータを記憶する。メモリ部41は、例えば、後述する図15に示すメモリ40b及び記憶部40cのうちの一方又は双方が有する記憶領域により実現されてもよい。
【0034】
図4に示すように、メモリ部41は、例示的に、第1管理情報61、第2管理情報62、及び、負荷比率情報63を記憶可能であってよい。また、メモリ部41は、算出結果64を記憶可能であってよい。以下の説明では、これらの情報61~64をテーブル形式で表記するが、これに限定されるものではない。例えば、メモリ部41が格納する情報61~64のうちの少なくとも1つは、DB(Database)又は配列等の種々の形式であってもよい。
【0035】
以下、図5図11を参照して、負荷算出部10の動作例を説明する。図5は、一実施形態に係る負荷算出部10の動作例を説明するための図である。以下、図5に示す処理B1~処理10の順に、負荷算出部10の各ブロック42~51の処理の一例を説明する。
【0036】
(処理B1)
第1物理ディスク特定部42は、図5の処理B1に例示するように、複数の物理ディスク2のうちの第1物理ディスク20を特定する。第1物理ディスク20は、第1物理記憶装置の一例である。
【0037】
例えば、第1物理ディスク特定部42は、複数の物理ディスク2のうちのアクセス負荷が閾値以上である物理ディスクB(図5参照)を第1物理ディスク20として特定してよい。一例として、第1物理ディスク特定部42は、図3に示すI/Oの情報A4に基づいて、各物理ディスク2のアクセス負荷が閾値以上であるか否かを判断してよい。
【0038】
或いは、第1物理ディスク特定部42は、複数の物理ディスク2のうちの選択を受け付けた物理ディスク2を第1物理ディスク20として特定してもよい。例えば、第1物理ディスク特定部42は、後述する通信部51を介してユーザから受信した選択指示に基づいて第1物理ディスク20を特定してもよい。
【0039】
なお、複数の第1物理ディスク20が特定された場合、負荷算出部10は、特定された第1物理ディスク20毎に、後述する処理を実行してよい。
【0040】
(処理B2)
第1仮想ディスク特定部43は、第1管理情報61に基づいて、複数の仮想ディスク12のうちから、第1物理ディスク20にアクセスする1以上の第1仮想ディスク22a~22cを特定する。第1仮想ディスク22は、第1仮想記憶装置の一例である。
【0041】
図6は、一実施形態に係る第1管理情報61の一例を示す図である。第1管理情報61は、複数の物理ディスク2と複数の仮想ディスク12との対応関係を示す第1の管理情報の一例である。第1管理情報61は、システム1(ハイパーバイザ11)が利用する管理情報として予めメモリ部41に保持されてもよいし、負荷算出部10によりハイパーバイザ11等から取得されメモリ部41に格納されてもよい。
【0042】
図6に示される第1管理情報61は、例示的に、「仮想ディスク」,「冗長構成」,「物理ディスク」の項目を含んでよい。「仮想ディスク」は、システム1で管理される仮想ディスク12を示す。「物理ディスク」は、仮想ディスク12に対応付けられた物理ディスク2を示す。「冗長構成」は、仮想ディスク12が複数の物理ディスク2によりいずれの冗長構成とされているかを示す。
【0043】
一例として、第1管理情報61の1番目のエントリは、第1仮想ディスクXが、複数の物理ディスクA,Bによる二重化によって構築されていることを示す。他の例として、第1管理情報61の2番目のエントリは、第1仮想ディスクYが、複数の物理ディスクB,C,D,EによるRAID(Redundant Array of Independent Disk)5によって構築されていることを示す。
【0044】
例えば、第1仮想ディスク特定部43は、第1管理情報61を参照し、「物理ディスク」に物理ディスクBが設定されている、第1仮想ディスクX,Y,Zを第1仮想ディスク22として特定する。
【0045】
(処理B3)
仮想マシン特定部44は、第2管理情報62に基づいて、複数のVM13のうちから、1以上の第1仮想ディスク22a~22cの各々に割り当てられた1以上のVM24を特定する。
【0046】
図7は、一実施形態に係る第2管理情報62の一例を示す図である。第2管理情報62は、複数のVM13と複数の仮想ディスク12との対応関係を示す第2の管理情報の一例である。第2管理情報61は、システム1(ハイパーバイザ11)が利用する管理情報として予めメモリ部41に保持されてもよいし、負荷算出部10によりハイパーバイザ11等から取得されメモリ部41に格納されてもよい。
【0047】
図7に示される第2管理情報62は、VM#1と第1仮想ディスクXとが関連付けられ、VM#2と第1仮想ディスクY,Zが関連付けられることを示す。
【0048】
仮想マシン特定部44は、第2管理情報62を参照して、第1仮想ディスクXに割り当てられたVM24a(VM#1)と、第1仮想ディスクY,Zの各々に割り当てられたVM24b(VM#2)とを特定する。
【0049】
(処理B4)
第2物理ディスク特定部45は、複数の物理ディスク2のうちの第2物理ディスク26a~26e(A~E)を特定する。第2物理ディスク26a~26eは、処理B2で特定された1以上の第1仮想ディスク22a~22c(X~Y)の各々に対応付けられた複数の物理ディスク2である。なお、第2物理ディスク26a~26eには、第1物理ディスク20が含まれる。
【0050】
例えば、第2物理ディスク特定部45は、第1管理情報61を参照し、第1仮想ディスクXに対応付けられた第2物理ディスクA,Bを特定する。また、第2物理ディスク特定部45は、第1仮想ディスクYに対応付けられた第2物理ディスクB,C,D,Eを特定する。さらに、第2物理ディスク特定部45は、第1仮想ディスクZに対応付けられた第2物理ディスクB,Eを特定する。
【0051】
(処理B5)
VM-VD情報取得部46は、VM-VD情報を取得する。VM-VD情報は、処理B3で特定された1以上のVM24a(VM#1)及びVM24b(VM#2)の各々から第1仮想ディスク22a~22cへのアクセス負荷を示す指標値であり、第3指標値の一例である。例えば、VM-VD情報は、VM24a,24bの各々から第1仮想ディスク22a~22cへの書き込みコマンド及び読み出しコマンド別のI/Oの情報(一例としてIOPS)であってよい。
【0052】
例えば、VM-VD情報取得部46は、システム1(ハイパーバイザ11又はVM13)が保持するI/Oの情報A1(図3参照)に基づいて、第1仮想ディスク22a~22c毎に、VM-VD情報を取得してもよい。
【0053】
(処理B6)
冗長構成取得部47は、第1仮想ディスク22a~22cの各々に関係付けられた複数の第2物理ディスク26a~26eの冗長構成を取得する。例えば、冗長構成取得部47は、第1管理情報61(図5)を参照して、冗長構成を取得してよい。
【0054】
一例において、図5及び図6に示すように、第1仮想ディスク22aは、第2物理ディスク26a,26bによる二重化の冗長構成を有し、第1仮想ディスク22bは、第2物理ディスク26b~26eによるRAID5の冗長構成を有する。第1仮想ディスク22cは、第2物理ディスク26b,26eによる二重化の冗長構成を有する。
【0055】
(処理B7)
負荷比率取得部48は、負荷比率情報63を取得する。負荷比率情報63は、第1仮想ディスク22から、当該第1仮想ディスク22に対応付けられた複数の第2物理ディスク26へのコマンド別のアクセス負荷を示す第3指標値の一例である。
【0056】
例えば、負荷比率情報63は、第1仮想ディスク22から複数の第2物理ディスク26に1つのアクセスが実行(コマンドが発行)される場合における、1つの第2物理ディスク26あたりのI/Oの負荷(例えばコマンドの処理数)を示してよい。なお、負荷比率情報63は、複数の第2物理ディスク26間における、書き込み(ライト)コマンド及び読み出し(リード)コマンド別、かつ、冗長構成別に、アクセス負荷比率を含んでよい。
【0057】
アクセス負荷比率は、第1仮想ディスク22から発行された1つのコマンドに対する、複数の第2物理ディスク26の各々におけるアクセス(例えばコマンドの処理数)の比率を、コマンド別、かつ、冗長構成別に示す情報である。
【0058】
図8は、一実施形態に係る負荷比率情報63の一例を示す図である。図8には、冗長構成としてミラーリングが採用される場合の負荷比率情報63aの一例を示す。
【0059】
ミラーリングでは、n重化(n:2以上の整数)された複数の物理ディスク26に同一のデータを格納することにより、信頼性の向上が実現される。図8には、2つの第2物理ディスク26-1,26-2による二重化,3つの第2物理ディスク26-1,26-2,26-3による三重化,4つの物理ディスク26-1,26-2,26-3,26-4による四重化の例をそれぞれ示す。
【0060】
二重化の場合、第1仮想ディスク22から第2物理ディスク26への書き込みコマンドは、第2物理ディスク26-1,26-2の双方により実行される、換言すれば、1つの第2物理ディスク26におけるコマンドの処理数は、“1”となる。すなわち、この場合のアクセス負荷比率は、“1”となる。
【0061】
また、二重化の場合、第1仮想ディスク22から第2物理ディスク26への読み出しコマンドは、第2物理ディスク26-1,26-2のいずれか1台により実行される、換言すれば、1つの第2物理ディスク26におけるコマンドの処理数は、“1/2”となる。すなわち、この場合のアクセス負荷比率は、“1/2”となる。
【0062】
三重化,四重化の場合においても、1つの書き込みコマンドに対する1つの第2物理ディスク26におけるコマンドの処理数(アクセス負荷比率)は、全ての第2物理ディスク26がコマンドを処理するため、“1”となる。
【0063】
一方、三重化の場合、第1仮想ディスク22から第2物理ディスク26への読み出しコマンドは、第2物理ディスク26-1~26-3のいずれか1台により実行される。すなわち、この場合の1つの第2物理ディスク26におけるコマンドの処理数(アクセス負荷比率)は、“1/3”となる。
【0064】
また、四重化の場合、第1仮想ディスク22から第2物理ディスク26への読み出しコマンドは、第2物理ディスク26-1~26-4のいずれか1台により実行される。すなわち、この場合の1つの第2物理ディスク26におけるコマンドの処理数(アクセス負荷比率)は、“1/4”となる。
【0065】
図8では、n重化のうちのnが2~4である場合の負荷比率情報63aを例示するが、これに限定されるものではない。負荷比率情報63aは、nが5以上の場合におけるアクセス負荷比率を含んでもよい。
【0066】
図9は、一実施形態に係る負荷比率情報63の一例を示す図である。図9には、冗長構成としてイレージャーコーディングが採用される場合の負荷比率情報63bの一例を示す。
【0067】
イレージャーコーディングでは、データを分割して複数の第2物理ディスク26に分散配置される。また、イレージャーコーディングでは、複数の第2物理ディスク26のうちの少なくとも1つに、パリティデータと呼ばれる冗長コードが格納される。パリティデータは、特定の物理ディスク26(例えば物理ディスク26-1)においてデータが欠落等した場合に、他の物理ディスク26(例えば物理ディスク26-2~26-4)の情報を元に当該データを再構築する場合に使用される。
【0068】
一実施形態では、イレージャーコーディングに含まれる種々の手法のうち、分散パリティ方式を採用するRAID5,RAID6を例に挙げる。
【0069】
RAID5では、N(Nは3以上の整数)台の第2物理ディスク26が利用される。図9の例では、1つの第1仮想ディスク22に対応付けられた4台の第2物理ディスク26-1~26-4にデータ及びパリティデータが分散配置されている。なお、N台の第2物理ディスク26によるRAID5では、N-1台の第2物理ディスク26にデータが分散配置され、1台の第2物理ディスク26に当該データのパリティデータが配置される。
【0070】
RAID5(4台)の場合、第1仮想ディスク22から第2物理ディスク26への書き込みコマンドは、第2物理ディスク26-1~26-4のうちのいずれか2台により実行される。1台の第2物理ディスク26は、データ自体を自身の記憶領域に書き込み、1台の第2物理ディスク26は、データのパリティデータを自身の記憶領域に書き込むためである。換言すれば、この場合、1つの第2物理ディスク26におけるコマンドの処理数(アクセス負荷比率)は、“1/2”となる。
【0071】
また、RAID5(4台)の場合、第1仮想ディスク22から第2物理ディスク26への読み出しコマンドは、第2物理ディスク26-1~26-4のうちのいずれか1台により実行される。読み出しコマンドに係る読み出しデータは、複数の第2物理ディスク26のうちのいずれか1台に書き込まれているためである。換言すれば、この場合、1つの第2物理ディスク26におけるコマンドの処理数(アクセス負荷比率)は、“1/4”となる。
【0072】
RAID6では、M(Mは4以上の整数)台の第2物理ディスク26が利用される。図9の例では、1つの第1仮想ディスク22に対応付けられた6台の第2物理ディスク26-1~26-6にデータ及びパリティデータが分散配置されている。なお、M台の第2物理ディスク26によるRAID6では、M-2台の第2物理ディスク26にデータが分散配置され、2台の第2物理ディスク26に当該データのパリティデータが配置される。
【0073】
RAID6(6台)の場合、第1仮想ディスク22から第2物理ディスク26への書き込みコマンドは、第2物理ディスク26-1~26-6のうちのいずれか3台により実行される。1台の第2物理ディスク26は、データ自体を自身の記憶領域に書き込み、2台の第2物理ディスク26は、データのパリティデータを自身の記憶領域に書き込むためである。換言すれば、この場合、1つの第2物理ディスク26におけるコマンドの処理数(アクセス負荷比率)は、“1/2”となる。
【0074】
また、RAID6(6台)の場合、第1仮想ディスク22から第2物理ディスク26への読み出しコマンドは、第2物理ディスク26-1~26-6のうちのいずれか1台により実行される。読み出しコマンドに係る読み出しデータは、複数の第2物理ディスク26のうちのいずれか1台に書き込まれているためである。換言すれば、この場合、1つの第2物理ディスク26におけるコマンドの処理数(アクセス負荷比率)は、“1/6”となる。
【0075】
図9では、イレージャーコーディングのうちのRAID5(N=4),RAID6(M=6)である場合の負荷比率情報63bを例示するが、これに限定されるものではない。負荷比率情報63bは、Nが3又は5以上の場合のRAID5,Mが4,5又は7以上の場合のRAID6,他のイレージャーコーディング等の、種々の冗長構成の場合におけるアクセス負荷比率を含んでもよい。
【0076】
上述した負荷比率情報63は、システム1において予め算出され、メモリ部41に保持されてよい。また、仮想ディスク12と物理ディスク2との対応関係や冗長構成が追加又は更新された場合、追加又は更新後の構成に基づき負荷比率情報63が更新されてよい。
【0077】
(処理B8)
VD-PD情報算出部49は、1以上の第1仮想ディスク22a~22cの各々から第1物理ディスク20(例えば26b)へのアクセス負荷を示す複数のVD-PD情報B8-1~B8-3(図5参照)を算出する。VD-PD情報B8-1~B8-3は、第1仮想ディスク22(例えば22a)から第2物理ディスク26(例えば26a,26b)へのアクセス負荷が公平である場合における、第1物理ディスク20へのアクセス負荷を示す複数の第1指標値の一例である。アクセス負荷が公平であるとは、例えば、アクセス負荷が第2物理ディスク26間で互いに同一である(等しい)、又は、誤差等を含めて互いに略同一であることを意味してよい。
【0078】
図5の例において、第1仮想ディスク22aのVD-PD情報B8-1は、第1仮想ディスク22aから第2物理ディスク26a,26bへのアクセス負荷が公平である場合における、第1物理ディスク20へのアクセス負荷を示す。
【0079】
例えば、VD-PD情報算出部49は、処理B6で取得された第2物理ディスク26a,26bの冗長構成に応じた負荷比率情報(処理B7参照)と、VM-VD情報(処理B5参照)とに基づいて、第1仮想ディスク22aに関するVD-PD情報B8-1を算出する。
【0080】
また、VD-PD情報算出部49は、第2物理ディスク26b~26eの冗長構成に応じた負荷比率情報(処理B7参照)と、VM-VD情報(処理B5参照)とに基づいて、第1仮想ディスク22bに関するVD-PD情報B8-2を算出する。
【0081】
さらに、VD-PD情報算出部49は、第2物理ディスク26b,26eの冗長構成に応じた負荷比率情報(処理B7参照)と、VM-VD情報(処理B5参照)とに基づいて、第1仮想ディスク22cに関するVD-PD情報B8-3を算出する。
【0082】
図10は、第1仮想ディスク22a~22cの各々から第1物理ディスク20へのアクセス負荷の算出例を示す図である。
【0083】
図10では、第1仮想ディスク22a及び22bのVM-VD情報は、書き込みコマンドのアクセス負荷が200IOPSであり、読み出しコマンドのアクセス負荷が200IOPSである場合を示す。また、第1仮想ディスク22cのVM-VD情報は、書き込みコマンドのアクセス負荷が100IOPSであり、読み出しコマンドのアクセス負荷が0IOPSである場合を示す。
【0084】
なお、各VM-VD情報は変化するので、VM-VD情報取得部46は、負荷算出処理が実行される都度、処理B5において適宜にVM-VD情報を取得してよい。なお、VM-VD情報として、IOPS以外の情報が用いられてもよい。
【0085】
第1仮想ディスク22a(X)について、VD-PD情報算出部49は、負荷比率情報63a(二重化)に基づき、コマンド別にアクセス負荷を算出する。図10の例では、VD-PD情報算出部49は、第1仮想ディスクXの読み出しコマンドのアクセス負荷(200IOPS×1/2=100)と、書き込みコマンドのアクセス負荷(200IOPS×1=200)とを算出する。そして、VD-PD情報算出部49は、コマンド別のアクセス負荷を合計することで、第1仮想ディスクXにおけるVD-PD情報B8-1=300IOPSを算出する。
【0086】
第1仮想ディスク22b(Y)について、VD-PD情報算出部49は、負荷比率情報63b(RAID5(4台))に基づき、コマンド別にアクセス負荷を算出する。図10の例では、VD-PD情報算出部49は、第1仮想ディスクYの読み出しコマンドのアクセス負荷(200IOPS×1/4=50)と、書き込みコマンドのアクセス負荷(200IOPS×1/2=100)とを算出する。そして、VD-PD情報算出部49は、コマンド別のアクセス負荷を合計することで、第1仮想ディスクYにおけるVD-PD情報B8-2=150IOPSを算出する。
【0087】
同様に、第1仮想ディスク22c(Z)について、VD-PD情報算出部49は、第1仮想ディスクZの読み出しコマンドのアクセス負荷(0IOPS×1/2=0)と、書き込みコマンドのアクセス負荷(200IOPS×1/2=100)とを算出する。そして、VD-PD情報算出部49は、コマンド別のアクセス負荷を合計することで、第1仮想ディスクZにおけるVD-PD情報B8-3=100IOPSを算出する。
【0088】
以上により、第1物理ディスク20には、第1仮想ディスク22a~22cのそれぞれから300IOPS,150IOPS,100IOPSのアクセス負荷(I/O負荷)が与えられると推定される。
【0089】
(処理B9)
VM-PD情報算出部50は、複数のVM24a,24bの各々から第1物理ディスク20へのアクセス負荷を示す複数のVM-PD情報を算出する。VM-PD情報は、第2評価値の一例である。
【0090】
例えば、VM-PD情報算出部50は、VD-PD情報算出部49が算出したVD-PD情報B8-1~B8-3を、1以上の第1仮想ディスク22a~22cの各々に割り当てられたVM24a,24b毎に集計することで、複数のVM-PD情報を算出する。
【0091】
図11は、VM24a,24bから第1物理ディスク20へのアクセス負荷の算出例を示す図である。
【0092】
VM-PD情報算出部50は、第2管理情報62を参照して、VM24a(#1)に関連付けられた第1仮想ディスク22a(X)を特定してよい。なお、VM-PD情報算出部50は、処理B3の処理結果を用いて、VM#1に関連付けられた第1仮想ディスクXを特定してもよい。
【0093】
VM-PD情報算出部50は、VM#1に関連付けられた第1仮想ディスクXのVD-PD情報を集計する。VM#1に関連付けられた第1仮想ディスク22は、第1仮想ディスクXの1つである。したがって、VM#1に関するVD-PD情報を集計したVM-PD情報は、300IOPS(=VD-PD情報B8-1)と算出される。
【0094】
また、VM-PD情報算出部50は、第2管理情報62を参照して、VM24b(#2)に関連付けられた第1仮想ディスク22b(Y)及び22c(Z)を特定してよい。なお、VM-PD情報算出部50は、処理B3の処理結果を用いて、VM#2に関連付けられた第1仮想ディスクY及びZを特定してもよい。
【0095】
VM-PD情報算出部50は、VM#2に関連付けられた第1仮想ディスクY及びZのVD-PD情報を集計する。VM-PD情報算出部50は、第1仮想ディスクYを経由したVD-PD情報(150IOPS)と、第1仮想ディスクZを経由したVD-PD情報(100IOPS)とを集計する。したがって、VM#2に関するVD-PD情報を集計したVM-PD情報は、250IPOS(=VD-PD情報B8-2+B8-3)と算出される。
【0096】
VM-PD情報算出部50は、VM24毎に特定(推定)した複数のVM-PD情報を、算出結果64としてメモリ部41に格納してもよい。
【0097】
(処理B10)
通信部51は、ユーザが使用するコンソール7との間で、情報又はコマンドの入出力に関する通信を行なう。例えば、通信部51は、第1物理ディスク20の選択指示等の種々の要求をコンソール7から受信(取得)してよい。また、通信部51は、処理B10において、VM-PD情報算出部50が算出した算出結果64をコンソール7に送信(例えば画面表示)してよい。
【0098】
なお、コンソール7は、負荷算出部10が実行されるサーバ100又は負荷算出サーバに接続された入力装置及び出力装置であってもよいし、サーバ100又は負荷算出サーバとは異なるユーザ端末等のコンピュータであってもよい。コンソール7がコンピュータである場合においても、当該コンピュータは、入力装置及び出力装置を備えてよい。
【0099】
入力装置は、第1物理ディスク20の選択指示の入力に用いられてよい。出力装置は、算出結果64の表示(例えばGUI(Graphical User Interface)における画面表示)に用いられてよい。入力装置としては、例えば、キーボード、マウス、タッチパネル等が挙げられる。出力装置としては、例えば、モニタ、プロジェクタ、プリンタ等が挙げられる。なお、コンソール7は、入力装置及び出力装置が一体となったタッチパネル等であってもよい。
【0100】
処理B10により、コンソール7に算出結果64が表示されることで、第1物理ディスク20が高負荷になる原因となるVM#1を含む、第1物理ディスク20にアクセスするVM#1,#2のI/Oの情報がユーザに提示される。これにより、ユーザは、提示されたVM#1の使用状況を見直すことで、他のVM#2等のアクセス性能の低下を抑制することができる。
【0101】
〔C〕動作例
図12は、一実施形態に係る負荷算出部10による負荷算出処理の動作例を示すフローチャートである。
【0102】
図12に例示するように、負荷算出部10の第1物理ディスク特定部42は、複数の物理ディスク2のうちの第1物理ディスク20を特定する(ステップS1)。
【0103】
第1仮想ディスク特定部43は、第1管理情報61に基づいて、複数の仮想ディスク12のうちから、第1物理ディスク20にアクセスする1以上の第1仮想ディスク22a~22c(X~Z)を特定する(ステップS2)。
【0104】
仮想マシン特定部44は、第2管理情報62に基づいて、複数のVM13のうちから、1以上の第1仮想ディスクX~Zの各々に割り当てられたVM#1及び#2を特定する(ステップS3)。
【0105】
第2物理ディスク特定部45は、第1管理情報61に基づいて、複数の物理ディスク2のうちの、1以上の第1仮想ディスクX~Zの各々に対応付けられた第2物理ディスク26a~26eを特定する(ステップS4)。第2物理ディスク26a~26eは、第1物理ディスク20を含む。
【0106】
VM-VD情報取得部46は、I/Oの情報A1を参照して、VM#1及び#2の各々から第1仮想ディスクX~Zへのコマンド別のアクセス負荷を示すVM-VD情報を取得する(ステップS5)。
【0107】
冗長構成取得部47は、第1仮想ディスクX~Zの各々に対応付けられた複数の第2物理ディスク26の冗長構成を取得する(ステップS6)。一例において、冗長構成は、第1管理情報61(図6)から取得されてよい。
【0108】
なお、ステップS3及びS5と、ステップS4及びS6との実行順序は、図12に示す順序に限定されるものではない。負荷算出部10は、例えば、ステップS3及びS5をステップS4及びS6よりも前に実行してもよく、ステップS4及びS6をステップS3及びS5よりも前に実行してもよい。また、負荷算出部10は、ステップS3及びS5と、ステップS4及びS6とを並列に実行してもよい。
【0109】
負荷比率取得部48は、ステップS6で取得された冗長構成と負荷比率情報63とに基づいて、第1仮想ディスク22から1つのアクセスが実行される場合の、1つの第2物理ディスク26あたりのアクセス負荷比率を取得する(ステップS7)。アクセス負荷比率は、コマンド(例えば書き込みコマンド及び読み出しコマンド)別、かつ、冗長構成別に取得されてよい。
【0110】
VD-PD情報算出部49は、第1仮想ディスクX~Zの各々から第1物理ディスク20へのアクセス負荷を示す複数のVD-PD情報B8-1~B8-3を算出する(ステップS8)。VD-PD情報B8-1~B8-3は、第1仮想ディスク22(例えば22a)から第2物理ディスク26(例えば26a,26b)へのアクセス負荷が公平である場合における、第1物理ディスク20(例えば26b)へのアクセス負荷である。
【0111】
VM-PD情報算出部50は、複数のVM24a,24bの各々から第1物理ディスク20へのアクセス負荷を示す複数のVM-PD情報を算出し、算出結果64としてメモリ部41に格納する。一例において、VM-PD情報算出部50は、VD-PD情報B8-1~B8-3を、1以上の第1仮想ディスクX~Zの各々に割り当てられたVM#1,#2毎に集計することにより算出する。
【0112】
通信部51は、算出結果64を出力、例えばコンソール7に送信し(ステップS9)、負荷算出処理が終了する。
【0113】
図13及び図14の各々は、一実施形態に係る負荷算出部10による第1物理ディスク20の特定処理の動作例を示すフローチャートである。図13及び図14のフローチャートは、図12に示す負荷算出処理が開始される契機(トリガ)の一例である。
【0114】
第1の例では、図13に示すように、第1物理ディスク特定部42は、複数の物理ディスク2について、物理ディスク2毎のI/Oの情報A4(図3参照)を取得する(ステップS10)。I/Oの情報A4は、アクセス負荷の指標の一例である。
【0115】
第1物理ディスク特定部42は、取得したI/Oの情報A4が予め定められた閾値以上である物理ディスク2が存在するかを判断する(ステップS11)。I/Oの情報A4が閾値以上である物理ディスク2が存在しない場合には(ステップS11のNOルート参照)、処理はステップS10に戻る。
【0116】
I/Oの情報A4が閾値以上である物理ディスク2が存在する場合には(ステップS11のYESルート参照)、ステップS12の処理が実行される。ステップS12において、第1物理ディスク特定部42は、I/Oの情報A4が閾値以上である物理ディスク2を第1物理ディスク20に決定し、処理が終了する。
【0117】
図13に例示する処理によれば、図12に示すステップS1において、アクセスが集中して負荷が高くなった物理ディスク2を第1物理ディスク20として特定することができる。
【0118】
第2の例では、図14に示すように、第1物理ディスク特定部42は、コンソール7及び通信部51を介した、ユーザからの第1物理ディスク20の選択指示の受信を待ち受ける(ステップS20及びステップS20のNOルート参照)。
【0119】
第1物理ディスク特定部42は、第1物理ディスク20の選択指示を受信した場合(ステップS20のYESルート参照)、ステップS21の処理を実行する。
【0120】
ステップS21において、第1物理ディスク特定部42は、第1物理ディスク20の選択指示が示す物理ディスク2を第1物理ディスク20に決定し、処理が終了する。
【0121】
図14に例示する処理によれば、図12に示すステップS1において、ユーザが所望する物理ディスク2を第1物理ディスク20として特定することができる。
【0122】
〔D〕一実施形態の効果
一実施形態に係る手法によれば、負荷算出部10は、1以上の第1仮想ディスク22から複数の第2物理ディスク26へのアクセス負荷が複数の第2物理ディスク26間で公平である場合における、1以上の第1仮想ディスク22の各々から第1物理ディスク20へのアクセス負荷を示す複数のVD-PD情報8-1~8-3を算出する。1以上の第1仮想ディスク22は、複数の物理ディスク2のうちの第1物理ディスク20にアクセスする仮想ディスク12である。複数の第2物理ディスク26は、1以上の第1仮想ディスク22の各々に対応付けられた物理ディスク2であり、第1物理ディスク20を含む。また、負荷算出部10は、算出された複数のVD-PD情報8-1~8-3を、1以上の仮想ディスク22の各々に割り当てられたVM24毎に集計することにより得られる複数のVM-PD情報を出力する。複数のVM-PD情報は、複数のVM24の各々から第1物理ディスク20へのアクセス負荷を示す。
【0123】
これにより、第1物理ディスク20の負荷の増加原因となるVM24aを容易に特定することができる。例えば、ユーザは、出力された算出結果64に基づきVM24aの使用状況を見直すことで、他のVM24b等のアクセス性能(I/O性能)の低下を抑制することができる。
【0124】
負荷算出部10は、複数の物理ディスク2のうちの選択を受け付けた物理ディスク2を第1物理ディスク20として特定する。これにより、ユーザが着目する第1物理ディスク20の負荷増加の原因となるVM24aを特定することができる。したがって、特定したVM24aの使用状況を見直すことで、ユーザが着目する第1物理ディスク20のアクセス負荷を低減することができる。
【0125】
負荷算出部10は、物理ディスク2のうちのアクセス負荷が閾値以上である物理ディスク2を当該第1物理ディスクとして特定する。これにより、負荷が集中する第1物理ディスク20の負荷増加の原因となるVM24aを特定することができる。したがって、特定したVM24aの使用状況を見直すことで、負荷が集中する第1物理ディスク20のアクセス負荷を低減することができる。
【0126】
負荷算出部10は、複数の物理ディスク2と複数の仮想ディスク12との対応関係を示す第1管理情報61に基づいて、第1物理ディスク20にアクセスする当該1以上の第1仮想ディスク22を当該複数の仮想ディスク12から特定する。負荷算出部10は、複数のVM13と複数の仮想ディスク12との対応関係を示す第2管理情報62に基づいて、1以上の第1仮想ディスク22に対応付けられた1以上のVM24を複数のVM13から特定する。これにより、オーバーヘッドの増加を抑制しつつ、1以上の第1仮想ディスク22a,22b,22cに対応付けられた1以上のVM24a,24bを複数のVM13から特定することができる。
【0127】
当該複数のVD-PD情報を算出する処理は、当該1以上の仮想マシン13の各々から当該1以上の第1仮想ディスク22a,22b,22cへの書き込みコマンド及び読み出しコマンド別のアクセス負荷を示すVM-VD情報を取得する処理を含む。VD-PD情報を算出する処理は、当該1以上の第1仮想ディスク22a,22b,22cの各々に関する当該複数の第2物理ディスク26の冗長構成を示す情報に応じたアクセス負荷の比率を示す情報と、VM-VD情報とに基づいて、VD-PD情報を算出する処理を含む。
【0128】
例えば、第1仮想ディスク22に接続しているVM24を特定できるため、負荷算出部10は、第1仮想ディスク22の推定結果をVM24毎にまとめることにより、第1物理ディスク20に対するVM24からのアクセス負荷を推定できる。したがって、第1物理ディスク20に高いアクセス負荷を与えているVM24aを特定可能になる。
【0129】
また、負荷算出部10は、システム1が予め保持する第1管理情報61及び第2管理情報62に基づき、複数のVM-PD情報を特定(推定)できる。このため、システム1が収集するアクセス情報の情報量の増加、及び、アクセス情報の取得のための処理負荷(オーバヘッド)の増加を抑制することができる。
【0130】
〔E〕ハードウェア構成例
一実施形態に係る負荷算出部10の機能は、1台のコンピュータにより実現されてもよいし、2台以上のコンピュータにより実現されてもよい。さらに、負荷算出部10の機能のうちの少なくとも一部は、クラウド環境により提供されるHW(Hardware)リソース及びNW(Network)リソースを用いて実現されてもよい。
【0131】
図15は、一実施形態に係る負荷算出部10の機能を実現するコンピュータ40のハードウェア(HW)構成例を示すブロック図である。負荷算出部10の機能を実現するHWリソースとして、複数のコンピュータが用いられる場合は、各コンピュータが図15に例示するHW構成を備えてよい。
【0132】
図15に示すように、コンピュータ40は、HW構成として、例示的に、プロセッサ40a、メモリ40b、記憶部40c、IF(Interface)部40d、IO(Input / Output)部40e、及び読取部40fを備えてよい。
【0133】
プロセッサ40aは、種々の制御や演算を行なう演算処理装置の一例である。プロセッサ40aは、コンピュータ40内の各ブロックとバス40iで相互に通信可能に接続されてよい。なお、プロセッサ40aは、複数のプロセッサを含むマルチプロセッサであってもよいし、複数のプロセッサコアを有するマルチコアプロセッサであってもよく、或いは、マルチコアプロセッサを複数有する構成であってもよい。
【0134】
プロセッサ40aとしては、例えば、CPU、MPU、GPU、APU、DSP、ASIC、FPGA等の集積回路(IC;Integrated Circuit)が挙げられる。なお、プロセッサ40aとして、これらの集積回路の2以上の組み合わせが用いられてもよい。CPUはCentral Processing Unitの略称であり、MPUはMicro Processing Unitの略称である。GPUはGraphics Processing Unitの略称であり、APUはAccelerated Processing Unitの略称である。DSPはDigital Signal Processorの略称であり、ASICはApplication Specific ICの略称であり、FPGAはField-Programmable Gate Arrayの略称である。
【0135】
メモリ40bは、種々のデータやプログラム等の情報を格納するHWの一例である。メモリ40bとしては、例えばDRAM(Dynamic Random Access Memory)等の揮発性メモリ、及び、PM(Persistent Memory)等の不揮発性メモリ、の一方又は双方が挙げられる。
【0136】
記憶部40cは、種々のデータやプログラム等の情報を格納するHWの一例である。記憶部40cとしては、HDD等の磁気ディスク装置、SSD等の半導体ドライブ装置、不揮発性メモリ等の各種記憶装置が挙げられる。不揮発性メモリとしては、例えば、フラッシュメモリ、SCM(Storage Class Memory)、ROM(Read Only Memory)等が挙げられる。
【0137】
記憶部40cは、コンピュータ40の各種機能の全部若しくは一部を実現するプログラム40g(情報処理プログラム,負荷算出プログラム)を格納してよい。プログラム40gには、ハイパーバイザ11等のフレームワーク,VM13,OS(Operating System)等が含まれてもよい。
【0138】
例えば、プロセッサ40aは、記憶部40cに格納されたプログラム40gをメモリ40bに展開して実行することにより、負荷算出部10(図5に例示する制御部52)としての機能を実現できる。
【0139】
IF部40dは、負荷算出部10と図示しない装置との間のネットワークを含む種々のネットワークとの間の接続及び通信の制御等を行なう通信IFの一例である。装置としては、例えば、負荷算出部10にデータを提供するユーザ端末又はサーバ等のコンピュータ、負荷算出部10から出力されるデータを取得するユーザ端末又はサーバ等のコンピュータ等が挙げられる。ユーザ端末には、コンソール7が含まれてもよい。サーバには、サーバ100が含まれてもよい。
【0140】
例えば、IF部40dは、イーサネット(登録商標)等のLAN(Local Area Network)、或いは、FC(Fibre Channel)等の光通信等に準拠したアダプタを含んでよい。当該アダプタは、無線及び有線の一方又は双方の通信方式に対応してよい。
【0141】
なお、プログラム40gは、当該通信IFを介して、ネットワークからコンピュータ40にダウンロードされ、記憶部40cに格納されてもよい。
【0142】
IO部40eは、入力装置、及び、出力装置、の一方又は双方を含んでよい。入力装置としては、例えば、キーボード、マウス、タッチパネル等が挙げられる。出力装置としては、例えば、モニタ、プロジェクタ、プリンタ等が挙げられる。また、IO部40eは、入力装置及び出力装置が一体となったタッチパネル等を含んでもよい。
【0143】
読取部40fは、記録媒体40hに記録されたデータやプログラムの情報を読み出すリーダの一例である。読取部40fは、記録媒体40hを接続可能又は挿入可能な接続端子又は装置を含んでよい。読取部40fとしては、例えば、USB(Universal Serial Bus)等に準拠したアダプタ、記録ディスクへのアクセスを行なうドライブ装置、SDカード等のフラッシュメモリへのアクセスを行なうカードリーダ等が挙げられる。なお、記録媒体40hにはプログラム40gが格納されてもよく、読取部40fが記録媒体40hからプログラム40gを読み出して記憶部40cに格納してもよい。
【0144】
記録媒体40hとしては、例示的に、磁気/光ディスクやフラッシュメモリ等の非一時的なコンピュータ読取可能な記録媒体が挙げられる。磁気/光ディスクとしては、例示的に、フレキシブルディスク、CD(Compact Disc)、DVD(Digital Versatile Disc)、ブルーレイディスク、HVD(Holographic Versatile Disc)等が挙げられる。フラッシュメモリとしては、例示的に、USBメモリやSDカード等の半導体メモリが挙げられる。
【0145】
上述したコンピュータ40のHW構成は例示である。したがって、コンピュータ40内でのHWの増減(例えば任意のブロックの追加や削除)、分割、任意の組み合わせでの統合、又は、バスの追加若しくは削除等は適宜行なわれてもよい。
【0146】
〔F〕その他
上述した一実施形態に係る技術は、以下のように変形、変更して実施することができる。
【0147】
例えば、負荷算出部10が備える機能ブロックは、任意の組み合わせで併合してもよく、それぞれ分割してもよい。
【0148】
図8及び図9に示す例では、負荷比率情報63が、書き込みコマンド及び読み出しコマンド別にアクセス負荷比率を含む場合を説明したが、これに限定されるものではない。
【0149】
例えば、負荷比率情報63は、書き込みコマンド及び読み出しコマンドに代えて又は加えて、アクセス方式別のアクセス負荷比率を含んでもよい。アクセス方式には、例えば、シーケンシャルアクセス(シーケンシャルライト及びシーケンシャルリード)並びにランダムアクセス(ランダムライト及びランダムリード)が含まれてよい。
【0150】
この場合、VM-VD情報取得部46は、例えば、書き込みコマンド及び読み出しコマンドのそれぞれについて、さらに、シーケンシャルアクセスか、シーケンシャルアクセスかに応じて区別したVM-VD情報を取得してよい。また、VD-PD情報算出部49は、シーケンシャルライト,シーケンシャルリード,ランダムライト,ランダムリード別に、複数のVD-PD情報B8-1~B8-3を算出してよい。これにより、負荷算出部10は、ランダムアクセス及びシーケンシャルアクセスの動作に応じた適切なアクセス負荷比率を取得して、VM-PD情報を算出することが可能となる。
【0151】
また、負荷算出部10は、複数の装置がネットワークを介して互いに連携することにより、各処理機能を実現する構成(システム)であってもよい。一例として、メモリ部41はDBサーバ、ブロック42~51は、Webサーバ又はアプリケーションサーバであってもよい。この場合、DBサーバ、アプリケーションサーバ及びwebサーバが、ネットワークを介して互いに連携することにより、負荷算出部10としての各処理機能を実現してもよい。
【0152】
〔G〕付記
以上の実施形態に関し、さらに以下の付記を開示する。
【0153】
(付記1)
複数の物理記憶装置のうちの第1物理記憶装置にアクセスする1以上の第1仮想記憶装置から、前記1以上の第1仮想記憶装置の各々に対応付けられた複数の第2物理記憶装置であって前記第1物理記憶装置を含む前記複数の第2物理記憶装置へのアクセス負荷が前記複数の第2物理記憶装置間で公平である場合における、前記1以上の第1仮想記憶装置の各々から前記第1物理記憶装置へのアクセス負荷を示す複数の第1指標値を算出し、
算出された前記複数の第1指標値を、前記1以上の仮想記憶装置の各々に割り当てられた仮想マシン毎に集計することにより得られる複数の第2指標値であって、複数の前記仮想マシンの各々から前記第1物理記憶装置へのアクセス負荷を示す前記複数の第2指標値を出力する、
処理をコンピュータに実行させる、情報処理プログラム。
【0154】
(付記2)
前記複数の物理記憶装置のうちの選択を受け付けた物理記憶装置を前記第1物理記憶装置として特定する、
処理を前記コンピュータに実行させる、付記1に記載の情報処理プログラム。
【0155】
(付記3)
前記複数の物理記憶装置のうちのアクセス負荷が閾値以上である物理記憶装置を前記第1物理記憶装置として特定する、
処理を前記コンピュータに実行させる、付記1に記載の情報処理プログラム。
【0156】
(付記4)
前記複数の物理記憶装置と複数の仮想記憶装置との対応関係を示す第1の管理情報に基づいて、前記第1物理記憶装置にアクセスする前記1以上の仮想記憶装置を前記複数の仮想記憶装置から特定し、
複数の前記仮想マシンと前記複数の仮想記憶装置との対応関係を示す第2の管理情報に基づいて、前記1以上の第1仮想記憶装置に対応付けられた前記1以上の仮想マシンを前記複数の仮想マシンから特定する、
処理を前記コンピュータに実行させる、付記1~付記3のいずれか1項に記載の情報処理プログラム。
【0157】
(付記5)
前記複数の第1指標値を算出する処理は、
前記1以上の仮想マシンの各々から前記1以上の第1仮想記憶装置へのコマンド別のアクセス負荷を示す第3指標値を取得し、
前記1以上の第1仮想記憶装置の各々に関する前記複数の第2物理記憶装置の冗長構成を示す情報に応じたアクセス負荷の比率を示す情報と、前記第3指標値とに基づいて、前記複数の第1指標値を算出する、処理を含む、
付記1~付記4のいずれか1項に記載の情報処理プログラム。
【0158】
(付記6)
複数の物理記憶装置のうちの第1物理記憶装置にアクセスする1以上の第1仮想記憶装置から、前記1以上の第1仮想記憶装置の各々に対応付けられた複数の第2物理記憶装置であって前記第1物理記憶装置を含む前記複数の第2物理記憶装置へのアクセス負荷が前記複数の第2物理記憶装置間で公平である場合における、前記1以上の第1仮想記憶装置の各々から前記第1物理記憶装置へのアクセス負荷を示す複数の第1指標値を算出し、
算出された前記複数の第1指標値を、前記1以上の仮想記憶装置の各々に割り当てられた仮想マシン毎に集計することにより得られる複数の第2指標値であって、複数の前記仮想マシンの各々から前記第1物理記憶装置へのアクセス負荷を示す前記複数の第2指標値を出力する、
処理をコンピュータが実行する、情報処理方法。
【0159】
(付記7)
前記複数の物理記憶装置のうちの選択を受け付けた物理記憶装置を前記第1物理記憶装置として特定する、
処理を前記コンピュータが実行する、付記6に記載の情報処理方法。
【0160】
(付記8)
前記複数の物理記憶装置のうちのアクセス負荷が閾値以上である物理記憶装置を前記第1物理記憶装置として特定する、
処理を前記コンピュータが実行する、付記6に記載の情報処理方法。
【0161】
(付記9)
前記複数の物理記憶装置と複数の仮想記憶装置との対応関係を示す第1の管理情報に基づいて、前記第1物理記憶装置にアクセスする前記1以上の仮想記憶装置を前記複数の仮想記憶装置から特定し、
複数の前記仮想マシンと前記複数の仮想記憶装置との対応関係を示す第2の管理情報に基づいて、前記1以上の第1仮想記憶装置に対応付けられた前記1以上の仮想マシンを前記複数の仮想マシンから特定する、
処理を前記コンピュータが実行する、付記6~付記8のいずれか1項に記載の情報処理方法。
【0162】
(付記10)
前記複数の第1指標値を算出する処理は、
前記1以上の仮想マシンの各々から前記1以上の第1仮想記憶装置へのコマンド別のアクセス負荷を示す第3指標値を取得し、
前記1以上の第1仮想記憶装置の各々に関する前記複数の第2物理記憶装置の冗長構成を示す情報に応じたアクセス負荷の比率を示す情報と、前記第3指標値とに基づいて、前記複数の第1指標値を算出する、処理を含む、
付記6~付記9のいずれか1項に記載の情報処理方法。
【0163】
(付記11)
複数の物理記憶装置のうちの第1物理記憶装置にアクセスする1以上の第1仮想記憶装置から、前記1以上の第1仮想記憶装置の各々に対応付けられた複数の第2物理記憶装置であって前記第1物理記憶装置を含む前記複数の第2物理記憶装置へのアクセス負荷が前記複数の第2物理記憶装置間で公平である場合における、前記1以上の第1仮想記憶装置の各々から前記第1物理記憶装置へのアクセス負荷を示す複数の第1指標値を算出し、
算出された前記複数の第1指標値を、前記1以上の仮想記憶装置の各々に割り当てられた仮想マシン毎に集計することにより得られる複数の第2指標値であって、複数の前記仮想マシンの各々から前記第1物理記憶装置へのアクセス負荷を示す前記複数の第2指標値を出力する、
制御部を備える、情報処理装置。
【0164】
(付記12)
前記制御部は、
前記複数の物理記憶装置のうちの選択を受け付けた物理記憶装置を前記第1物理記憶装置として特定する、
付記11に記載の情報処理装置。
【0165】
(付記13)
前記制御部は、
前記複数の物理記憶装置のうちのアクセス負荷が閾値以上である物理記憶装置を前記第1物理記憶装置として特定する、
付記11に記載の情報処理装置。
【0166】
(付記14)
前記制御部は、
前記複数の物理記憶装置と複数の仮想記憶装置との対応関係を示す第1の管理情報に基づいて、前記第1物理記憶装置にアクセスする前記1以上の仮想記憶装置を前記複数の仮想記憶装置から特定し、
複数の前記仮想マシンと前記複数の仮想記憶装置との対応関係を示す第2の管理情報に基づいて、前記1以上の第1仮想記憶装置に対応付けられた前記1以上の仮想マシンを前記複数の仮想マシンから特定する、
付記11~付記13のいずれか1項に記載の情報処理装置。
【0167】
(付記15)
前記制御部は、前記複数の第1指標値を算出する処理において、
前記1以上の仮想マシンの各々から前記1以上の第1仮想記憶装置へのコマンド別のアクセス負荷を示す第3指標値を取得し、
前記1以上の第1仮想記憶装置の各々に関する前記複数の第2物理記憶装置の冗長構成を示す情報に応じたアクセス負荷の比率を示す情報と、前記第3指標値とに基づいて、前記複数の第1指標値を算出する、
付記11~付記14のいずれか1項に記載の情報処理装置。
【符号の説明】
【0168】
1 システム
10 負荷算出部
11,11a~11c ハイパーバイザ
12,12a~12c,22,22a~22c 仮想ディスク
13,13-1~13-9,24,24a,24b 仮想マシン
100,100a~100c サーバ
2,2-1~2-18 物理ディスク
20 第1物理ディスク
22,22a~22c 第1仮想ディスク
26,26a~26e,26-1~26-6 第2物理ディスク
3 共有ストレージ
40 コンピュータ
41 メモリ部
42 第1物理ディスク特定部
43 第1仮想ディスク特定部
44 仮想マシン特定部
45 第2物理ディスク特定部
46 VM-VD情報取得部
47 冗長構成取得部
48 負荷比率取得部
49 VD-PD情報算出部
50 VM-PD情報算出部
51 通信部
52 制御部
61 第1管理情報
62 第2管理情報
63,63a,63b 負荷比率情報
64 算出結果
7 コンソール
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15