JP6293683B2 - 計算機システム及び計算機システムの性能障害の対処方法 - Google Patents

計算機システム及び計算機システムの性能障害の対処方法 Download PDF

Info

Publication number
JP6293683B2
JP6293683B2 JP2015013183A JP2015013183A JP6293683B2 JP 6293683 B2 JP6293683 B2 JP 6293683B2 JP 2015013183 A JP2015013183 A JP 2015013183A JP 2015013183 A JP2015013183 A JP 2015013183A JP 6293683 B2 JP6293683 B2 JP 6293683B2
Authority
JP
Japan
Prior art keywords
computer
business
management information
countermeasure
failure
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.)
Expired - Fee Related
Application number
JP2015013183A
Other languages
English (en)
Other versions
JP2016139237A (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
Priority to JP2015013183A priority Critical patent/JP6293683B2/ja
Publication of JP2016139237A publication Critical patent/JP2016139237A/ja
Application granted granted Critical
Publication of JP6293683B2 publication Critical patent/JP6293683B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Hardware Redundancy (AREA)

Description

本発明は、クラウドサービスの管理に関する。
インターネットを介して、計算機リソース、及び計算機リソース上で動作するサービスを提供し、利用に応じて利用者に課金する、クラウドと呼ばれるサービスの提供形態が普及している。
当初、クラウドは、インターネット経由でアクセスするため安定した性能を提供することが難しいことから、例えば、バックアップのような要求される性能が比較的低い用途で利用されていた。しかし、近年、クラウド上でオンラインビジネスを稼動させるケースも多く、クラウドに対して性能の安定性が求められている。
これを実現する技術の一つに、クラウド上の仮想計算機の負荷状況に応じて、当該仮想計算機を自動的にスケーリングする機能が知られている。例えば、クラウドを用いて提供されるWeb三階層システムでは、フロントエンド側のWebサーバに対して前述した技術を適用される。Webサーバに対応する仮想計算機数を増減させることによって、Web三階層システムの負荷バランスを維持している。
システム全体の性能を維持するためには、Webサーバに対するスケーリングに伴って、バックエンド側のDBサーバも増強させる必要がある。DBサーバの性能障害に対する対応方法については、例えば、特許文献1等にDBサーバのボトルネックの原因を分析する技術が存在する。
特許文献1には、DBサーバの性能を管理してボトルネックの分析を行うこと、分析結果に応じてサーバリソースのリサイズを行うこと等が記載されている。
米国特許第7526508号明細書
従来のDBサーバの障害対応技術では、管理計算機等が、DBサーバの性能劣化を検知し、性能劣化の原因を分析することによって、CPUのリソース不足、又はI/Oレイテンシの不足等のボトルネック箇所を特定し、不足しているリソース量を算出する。
クラウド環境においては、サービスの契約内容に応じて、障害に対する対処時間を優先する対処法、又は、コストを優先する対処法等を選択する必要がある。
しかし、従来技術では、サービスの契約内容を考慮してどの対処法を優先的に実行するか、また、クラウドの構成を考慮して各対処法を実行できるか否かを判定することができないため、クラウドにおけるシステムの性能を保証するための適切なDBサーバの障害に対応できないという課題がある。そのため、クラウド環境におけるDBサーバのスケールアップ技術が求められている。
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、複数の計算機を備える計算機システムであって、前記複数の計算機は、前記計算機システムを管理する少なくとも一つの第1の計算機、及びユーザの業務に使用する業務システムを構築するための計算機リソースを提供する複数の第2の計算機を含み、前記少なくとも一つの第1の計算機は、第1のプロセッサ、前記第1のプロセッサに接続される第1のメモリ、及び前記第1のプロセッサに接続される第1のインタフェースを有し、前記複数の第2の計算機の各々は、第2のプロセッサ、前記第2のプロセッサに接続される第2のメモリ、前記第2のプロセッサに接続される第2のインタフェース、及び記憶装置を有し、前記業務システムは、スケールアウト処理を実行することによって処理性能を変更できる少なくとも一つの第1の業務計算機、及びスケールアップ処理を実行することによって処理性能を変更できる複数の業務計算機を含み、前記少なくとも一つの第1の計算機は、前記計算機システム上に構築された複数の業務システムの各々のサービス要件を管理するサービス要件管理情報と、前記業務計算機の性能劣化が検知された場合、計算機リソースの種別毎の性能劣化を改善するための制御方法である対処法を管理する対処法管理情報と、を保持し、複数の対処法の集合であり、性能劣化が検知された前記業務計算機に対して前記対処法を実行できるか否かを判定する順番を含む対処手順管理情報を生成する対処手順生成部を有し、前記サービス要件は、前記業務システムに含まれる前記複数の業務計算機の各々の性能保証の条件、前記業務システムに含まれる前記複数の業務計算機の各々の運用の条件、及び、前記業務システムの課金体系の条件に関する情報を含み、前記対処法管理情報に含まれる複数の対処法の各々は、前記対処法に対応する処理におけるコスト情報と対応付けられて管理され、前記対処手順生成部は、前記対処手順管理情報を生成する対象の業務システムを選択し、前記対象の業務システムに含まれる前記複数の業務計算機の中から処理対象の業務計算機を選択し、前記処理対象の業務計算機における対象の計算機リソースを選択し、前記サービス要件管理情報に基づいて、前記対処法管理情報に含まれる前記複数の対処法の中から、前記対象の業務システムの前記サービス要件に合致する複数の対処法を選択し、前記選択された複数の対処法が実行可能か否かを判定する判定順番を決定することによって、前記対処手順管理情報を生成することを特徴とする。
本発明によれば、対処手順生成部は、業務計算機(DBサーバ)の性能劣化に対応するための対処手順管理情報を、業務システム(テナント)のサービス要件に基づいて生成することができる。これによって、サービス要件を満たし、かつ、効率的な業務計算機の障害復旧を実現できる。
上記した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。
実施例1のクラウドサービスを実現するシステムの構成例を示す説明図である。 実施例1のクラウドシステムの構成例を示す説明図である。 実施例1のクラウド管理計算機のハードウェア構成及びソフトウェア構成の一例を説明するブロック図である。 実施例1の基盤管理計算機のハードウェア構成及びソフトウェア構成の一例を説明するブロック図である。 実施例1のクラウドユーザがポリシを入力する場合にポータルを介して表示される入力画面の一例を示す説明図である。 実施例1のサービス要件管理情報の一例を示す説明図である。 実施例1のポリシ管理情報の一例を示す説明図である。 実施例1のDB障害対処法管理情報の一例を示す説明図である。 実施例1のクラウド基盤構成情報の一例を示す説明図である。 実施例1の計算機リソース割当情報の一例を示す説明図である。 実施例1のサーバリソース使用状態情報の一例を示す説明図である。 実施例1のストレージリソース使用状態情報の一例を示す説明図である。 実施例1のストレージ構成情報の一例を示す説明図である。 実施例1の対処手順管理情報の一例を示す説明図である。 実施例1の対処手順管理情報の一例を示す説明図である。 実施例1のクラウド管理計算機が実行する処理の一例を説明するフローチャートである。 実施例1のクラウド管理計算機が実行する対処手順生成処理(A)の一例を説明するフローチャートである。 実施例1のクラウド管理計算機が実行する対処手順生成処理(B)の一例を説明するフローチャートである。 実施例1の対処手順生成処理(B)を実行することによって生成された対処手順管理情報の一例を示す説明図である。 実施例1のクラウド管理計算機が対処手順管理情報にしたがって実行する処理の一例を説明するフローチャートである。 実施例1のクラウド管理計算機が対処手順管理情報にしたがって実行する処理の一例を説明するフローチャートである。 実施例1のクラウド管理計算機が対処手順管理情報にしたがって実行する処理の一例を説明するフローチャートである。 実施例1のクラウド管理計算機が対処手順管理情報にしたがって実行する処理の一例を説明するフローチャートである。 実施例1のクラウド管理計算機が対処手順管理情報にしたがって実行する処理の一例を説明するフローチャートである。 実施例1のクラウド管理計算機が対処手順管理情報にしたがって実行する処理の一例を説明するフローチャートである。 実施例2の対処手順管理情報の一例を示す説明図である。 実施例2のクラウド管理計算機が対処手順管理情報にしたがって実行する処理の一例を説明するフローチャートである。 実施例2のクラウド管理計算機が対処手順管理情報にしたがって実行する処理の一例を説明するフローチャートである。 実施例2のクラウド管理計算機が対処手順管理情報にしたがって実行する処理の一例を説明するフローチャートである。 実施例2のクラウド管理計算機が対処手順管理情報にしたがって実行する処理の一例を説明するフローチャートである。
以下に図面を参照しながら本発明の実施例を説明する。
図1は、実施例1のクラウドサービスを実現するシステムの構成例を示す説明図である。
実施例1では、クラウドシステム90及びポータル30からシステムが構成される。クラウドシステム90及びポータル30は、ネットワーク40を介して接続される。なお、ネットワーク40は、インターネット等が考えられるが、ネットワークの種別に限定されない。また、クラウドシステム90及びポータル30の接続方式は、無線又は有線のいずれであってもよい。
クラウドシステム90は、クラウドユーザ10の業務システムであるテナント50が構築されるシステムである。図1では、クラウドユーザ10が使用するテナント50の一例として、ロードバランサ60、Webサーバ70、及びDBサーバ80を含むWeb三階層システムを示す。なお、クラウドサービスでは、一般的に、ロードバランサ60、Webサーバ70、及びDBサーバ80は、後述する仮想計算機600を用いて実現される。
クラウドシステム90には、各クラウドユーザ10のテナント50が共存するため、各テナント50に対応した運用が求められる。例えば、各テナント50のサービスレベルの異なる場合、サービスレベルに応じたテナント50の運用が求められる。
ポータル30は、クラウドユーザ10に提供されるユーザインタフェースである。クラウドユーザ10は、ポータル30を介して、サービスの申し込み、サービス内容の確認、又は、テナント50におけるリソースの監視等を行う。
実施例1では、クラウドユーザ10が利用料金を支払って、ネットワーク40を経由してクラウドシステム90が提供する計算機リソースを利用するクラウドサービスを想定する。また、実施例1では、DBサーバ80の性能劣化の原因がCPUリソースの不足である場合に実行される処理を説明する。
図2は、実施例1のクラウドシステム90の構成例を示す説明図である。
クラウドシステム90は、クラウド管理計算機100、基盤管理計算機200、ホスト計算機500、ネットワーク接続装置400、ストレージ装置300、及び課金計算機800から構成される。各装置は、管理用ネットワーク700を介してクラウド管理計算機100と接続する。
クラウド管理計算機100は、クラウドユーザ10に提供するクラウドサービスを管理する。クラウド管理計算機100のハードウェア構成及びソフトウェア構成は、図3を用いて後述する。基盤管理計算機200は、ホスト計算機500、ネットワーク接続装置400及びストレージ装置300から構成されるクラウド基盤の計算機リソースを管理する。例えば、基盤管理計算機200は、クラウドシステム90の監視、計算機リソースの割当、及び障害処理等を行う。課金計算機800は、クラウドユーザ10の利用状況に応じて、利用料金を算出する。
クラウド管理者20は、クラウド管理計算機100又は基盤管理計算機200を用いてクラウドシステム90を管理する。
ホスト計算機500は、テナント50に割り当てる計算機リソースを提供する。なお、ホスト計算機500は、図示しないCPU、メモリ、I/Oデバイス及び記憶媒体を備える。実施例1では、複数のホスト計算機500を用いてクラスタ900が構成される。
ホスト計算機500は、仮想化機能を有する。仮想化機能は例えばハイパバイザ等を用いて実現できる。ホスト計算機500は、仮想化機能を用いて一つ以上の仮想計算機600を生成し、また、管理する。
仮想計算機600では、ゲストOS620が稼働する。また、ゲストOS620上では、アプリケーションとしてDB610が実行される。なお、本実施例は、ゲストOS620上で実行されるアプリケーションの種別に限定されない。
仮想計算機600は、仮想CPU、仮想メモリ等を有する。ゲストOS620又はDB610がアクセスするデータは、仮想ディスク630に格納される。また、一つのホスト計算機500には、ストレージ装置300によって提供されるボリューム640が割り当てられる。ホスト計算機500は、当該ボリューム640の一部の記憶領域を仮想ディスク630として各仮想計算機600に割り当てる。
ボリューム640は、ホスト計算機500が備えるHDD(Hard Disk Drive)等の記憶媒体を用いて実現してもよいし、後述するストレージ装置300の論理記憶領域310を用いて実現してもよい。
ネットワーク接続装置400は、ホスト計算機500及びストレージ装置300を接続する。ホスト計算機500及びストレージ装置300を接続するネットワークは、例えば、SAN又はLAN等が考えられるがこれらに限定されない。
ストレージ装置300は、仮想計算機600が使用する記憶領域を提供する。ストレージ装置300は、図示しない、コントローラ、ディスクインタフェース、及び複数の記憶媒体を備える。
実施例1のストレージ装置300は、シン・プロビジョニング機能を備え、複数の記憶媒体の各々の記憶領域を仮想的なストレージプール320として管理し、また、ストレージプール320の一部の記憶領域を用いて論理記憶領域310を生成する。また、ストレージ装置300は、論理記憶領域310をボリューム640等を実現する記憶領域としてホスト計算機500に提供する。
実施例1では、クラスタ900単位でストレージ装置300が提供する記憶領域を共有することによって、クラスタ900内のホスト計算機500間で仮想計算機600の配置を最適化が可能となる。
実施例1では、クラウド管理計算機100及び基盤管理計算機200をそれぞれ別々の計算機として記載しているが、一つの計算機を用いてクラウド管理計算機100及び基盤管理計算機200を実現してもよい。
図3は、実施例1のクラウド管理計算機100のハードウェア構成及びソフトウェア構成の一例を説明するブロック図である。
クラウド管理計算機100は、ハードウェア構成として、演算処理装置180、プログラムメモリ1000、データ入出力用キャッシュメモリ160、記憶媒体170、管理用通信インタフェース110、入力用インタフェース120、及び出力用インタフェース125を備える。クラウド管理計算機100の各構成はバス190を介して互いに接続される。
演算処理装置180は、CPU等の各種演算を行う装置である。演算処理装置180が、プログラムメモリ1000に格納されるプログラムを実行することによって、クラウド管理計算機100が備える機能を実現することができる。以下の説明では、プログラムを主体にして処理を説明する場合、演算処理装置180によって当該プログラムが実行されていることを示す。
プログラムメモリ1000は、演算処理装置180が実行する各種プログラム及び各種プログラムが使用する情報を格納する。プログラムメモリ1000は、磁気記憶装置又は揮発性半導体メモリ等が考えられるがこれに限定されない。プログラムメモリ1000に格納される各種プログラム及び情報については後述する。
データ入出力用キャッシュメモリ160は、クラウド管理計算機100に書き込まれるデータ又はクラウド管理計算機100から読み出されるデータを一時的に格納する。
記憶媒体170は、オペレーティングシステム及びアプリケーション等の各種プログラム及び情報を格納する。プログラムメモリ1000に格納される各種プログラム及び情報は、記憶媒体170に格納されてもよい。この場合、演算処理装置180が、記憶媒体170から各種プログラム及び情報を読み出し、プログラムメモリ1000にロードする。
管理用通信インタフェース110は、管理用ネットワーク700を介してクラウドシステム90内の装置と接続し、管理情報を入出力するためのインタフェースである。入力用インタフェース120は、クラウド管理者20が情報を入力するためのインタフェースである。出力用インタフェース125は、クラウド管理者20に情報を出力するためのインタフェースである。
入力用インタフェース120は、例えば、キーボード及びマウス等が考えられる。また、出力用インタフェース125は、例えば、汎用ディスプレイ等が考えられる。
ここで、プログラムメモリ1000に格納される各種プログラム及び情報について説明する。
プログラムメモリ1000は、プログラムとして、サービス管理プログラム1010、ポリシ管理プログラム1011、対処法管理プログラム1012、DB対処手順生成プログラム1013、DB障害対策判定プログラム1014、課金管理プログラム1015、及び構成管理プログラム2012を格納する。また、プログラムメモリ1000は、情報として、サービス要件管理情報1001、ポリシ管理情報1002、DB障害対処法管理情報1003、対処手順管理情報1004、クラウド基盤構成情報2001、計算機リソース割当情報2002、サーバリソース使用状態情報2003、及びストレージリソース使用状態情報2004を格納する。
サービス管理プログラム1010は、各クラウドユーザ10に提供されるサービス内容を管理するためのプログラムである。ポリシ管理プログラム1011は、対処法及び対処手順を選択する場合に使用されるポリシを管理するためのプログラムである。
対処法管理プログラム1012は、DBサーバ80の障害に対する各対処法、及び各対処法の特徴を管理するためのプログラムである。DB対処手順生成プログラム1013は、サービス要件、ポリシ、及び対処法の特徴に基づいて、対処手順を生成するためのプログラムである。DB対処手順生成プログラム1013によって生成された対処手順は、対処手順管理情報1004として管理される。
ここで、対処法とは、DBサーバ80の性能障害の原因に応じて、当該性能障害を改善するために行われるDBサーバ80の各種設定変更、及び構成変更等の制御方法を示す。また、対処手順とは、複数の対処法の集合であって、各対処法が適用できるか否かを判定する順番(判定順番)が決定されたものを示す。
DB障害対策判定プログラム1014は、テナント50のリソース確保方法及び計算機リソースの空き状態等に基づいて、DB対処手順生成プログラム1013によって生成された対処手順に含まれる各対処法が実行可能か否か判定するためのプログラムである。課金管理プログラム1015は、クラウドシステム90を用いてクラウドサービスを提供するクラウドプロバイダに対して、クラウドユーザ10が支払う料金を管理するためのプログラムである。構成管理プログラム2012については、図4を用いて説明する。
なお、各種情報の詳細は、各種図面を用いて後述する。具体的には、サービス要件管理情報1001については図6、ポリシ管理情報1002については図7、DB障害対処法管理情報1003については図8、対処手順管理情報1004については図14A及び図14B、クラウド基盤構成情報2001については図9、計算機リソース割当情報2002については図10、サーバリソース使用状態情報2003については図11、ストレージリソース使用状態情報2004については図12を用いて後述する。
なお、課金計算機800もクラウド管理計算機100と同一のハードウェア構成であるものとする。課金計算機800のプログラムメモリ1000には、利用料金を算出する課金プログラム、及び利用料金を算出するための情報等が格納される。
図4は、実施例1の基盤管理計算機200のハードウェア構成及びソフトウェア構成の一例を説明するブロック図である。基盤管理計算機200はクラウドシステムの監視、リソース割当、障害対応を行うものである。
基盤管理計算機200は、ハードウェア構成として、演算処理装置280、プログラムメモリ2000、データ入出力用キャッシュメモリ260、記憶媒体270、管理用通信インタフェース210、入力用インタフェース220、及び出力用インタフェース225を備える。基盤管理計算機200の各構成はバス290を介して互いに接続される。
なお、演算処理装置280、プログラムメモリ2000、データ入出力用キャッシュメモリ260、記憶媒体270、管理用通信インタフェース210、入力用インタフェース220、及び出力用インタフェース225は、それぞれ、演算処理装置180、プログラムメモリ1000、データ入出力用キャッシュメモリ160、記憶媒体170、管理用通信インタフェース110、入力用インタフェース120、及び出力用インタフェース125と同一のものであるため説明を省略する。
なお、以下の説明では、プログラムを主体にして処理を説明する場合、演算処理装置280によって当該プログラムが実行されていることを示す。
プログラムメモリ2000は、プログラムとして、DB障害検知プログラム2010、DBボトルネック分析プログラム2011、構成管理プログラム2012、DB障害復旧プログラム2013、及びリソース監視プログラム2014を格納する。また、プログラムメモリ2000は、情報として、クラウド基盤構成情報2001、計算機リソース割当情報2002、サーバリソース使用状態情報2003、ストレージリソース使用状態情報2004、及びストレージ構成情報2005を格納する。
DB障害検知プログラム2010は、DBサーバ80の障害を検知し、クラウド管理者20及びクラウド管理計算機100に障害の発生を通知するためのプログラムである。DBボトルネック分析プログラム2011は、障害が発生したDBサーバ80のボトルネックを分析するためのプログラムである。DBボトルネック分析プログラム2011は、例えば、CPUリソースの不足、又はI/Oレイテンシ不足等の性能劣化の原因(ボトルネック)を特定し、特定された原因をクラウド管理者20及びクラウド管理計算機100に通知する。
構成管理プログラム2012は、クラウドシステム90の構成に変更があった場合に、クラウドシステム90に関する情報を取得し、取得された情報を管理するためのプログラムである。DB障害復旧プログラム2013は、対処法に基づいて計算機リソースの追加等の構成変更処理を実行するためのプログラムである。リソース監視プログラム2014は、クラウドシステム90における基盤の性能、及び各計算機リソースのリソース量等の稼働情報を取得するためのプログラムである。
クラウド基盤構成情報2001、計算機リソース割当情報2002、サーバリソース使用状態情報2003、及びストレージリソース使用状態情報2004は、クラウド管理計算機100が保持する情報と同一のものである。ストレージ構成情報2005の詳細については、図13を用いて後述する。
図5は、実施例1のクラウドユーザ10がポリシを入力する場合にポータル30を介して表示される入力画面の一例を示す説明図である。
図5に示す入力画面は、性能保証オプションを適用しているクラウドユーザ10に対して提供される。クラウドユーザ10は、当該入力画面を用いて、DB障害に対する対処手順の生成ポリシを設定する。具体的には、クラウドユーザ10は、対象の仮想計算機600を選択し、対象の仮想計算機600の性能障害に対するポリシを指定する。なお、対象の仮想計算機600は、DBサーバ80を実現する仮想計算機600であるものとする。
クラウドユーザ10は、対象の仮想計算機600として、テナント50内の全仮想計算機600を選択してもよいし、また、個々の仮想計算機600を選択してもよい。また、クラウドユーザ10は、対象の仮想計算機600に対して、「物理サーバの移行なし」、「無停止」、「処理時間重視」等のポリシを指定できる。
なお、当該入力画面を用いたポリシの入力が行われない場合、予めクラウド管理計算機100に設定されたデフォルトのポリシに基づいて、対処手順が生成される。
図6は、実施例1のサービス要件管理情報1001の一例を示す説明図である。
サービス要件管理情報1001は、テナント50のサービス契約内容、及びDBサーバ80を実現する仮想計算機600上で稼働する業務情報等を含む各テナント50のサービス要件を管理するための情報である。サービス要件管理情報1001は、テナント識別子10011、仮想計算機識別子10012、及びサービス要件10013を含む。
テナント識別子10011は、テナント50の識別情報を格納する。仮想計算機識別子10012は、テナント50に含まれる仮想計算機600のうち、DBサーバ80に対応する仮想計算機600の識別情報を格納する。
サービス要件10013は、テナント50の管理情報及びクラウドサービスの利用開始時に契約されたサービス要件を格納するカラムである。サービス要件10013は、さらに、性能保証オプション10014、割当保証項目10015、無停止運用10016、課金10017を含む。
性能保証オプション10014は、仮想計算機600に対して設定された性能保証に関するオプション情報を格納するカラムであり、適用状態100141及び対象100142を含む。
適用状態100141が「あり」の場合、性能保証オプションが申し込まれていることを示し、適用状態100141が「なし」の場合、性能保証オプションが申し込まれていないことを示す。対象100142は、性能を保証する対象を示す。対象100142が「VM」の場合、テナント50における性能の劣化が発生時に、仮想計算機600に対して後述する対処手順が適用される。
割当保証項目10015は、計算機リソースの割当てにおいて保証が必要な計算機リソースに関する情報を格納するカラムであり、リソース割当100151及びハードウェア指定100152を含む。
リソース割当100151は、保証が必要な計算機リソースを示すリソース割当100151、及び保証すべき計算機リソースの設定値である保証値100154を含む。対象100153が「CPU」かつ保証値100154が「上限値:4GHz」の場合、割り当てられるCPUの周波数の上限値が4GHzであることを示す。対象100153が「CPU」かつ保証値100154が「割当値:1GHz」の場合、必ず、CPUの周波数として1GHz割り当てられることを示す。なお、特に計算機リソースの割当ての保証が設定されていない仮想計算機600については、対象100153に「なし」、保証値100154には「Null」が格納される。
ハードウェア指定100152は、サーバ占有のように、ハードウェア単位で性能保証が指定されているか否かを示す情報を格納する。なお、特にハードウェア単位の性能保証の指定がされていない場合、ハードウェア指定100152には「なし」が格納される。
無停止運用10016は、仮想計算機600について無停止運用の必要があるか否かを示す情報を格納する。無停止運用10016が「要」の場合、無停止運用が必要であることを示し、無停止運用10016が「不要」の場合、無停止運用が必要でないことを示す。
課金10017は、テナント50の利用料金に関する情報を格納するカラムであり、体系100171及び当月支払予定額100172を含む。課金10017に設定される値は、クラウド管理計算機100が課金計算機800と連携することによって取得される。
体系100171は、利用料金の体系に関する情報を格納する。例えば、体系100171が「定額」の場合、テナント50を利用するクラウドユーザ10は定額の利用料金を支払う契約をしていることを示す。また、体系100171が「従量課金」の場合、テナント50を利用するクラウドユーザ10は、計算機リソースの割当量に応じて利用料金を支払う契約をしていることを示す。
なお、本実施例では、利用料金の体系が「定額」の場合、全ての対処法が対象となり、利用料金の体系が「従量課金」の場合、原則、追加料金が発生しない対処法のみが対象となるものとする。すなわち、「定額」は利用料金が「従量課金」より高いが、追加料金が発生することなく、テナント50の性能保証に対応できる。一方、「従量課金」は利用料金が低いが、テナント50の性能保証には追加料金が発生する。
当月支払予定額100172は、クラウドユーザ10がクラウドサービスを提供するクラウドプロバイダに支払う利用料金を格納する。
図7は、実施例1のポリシ管理情報1002の一例を示す説明図である。
ポリシ管理情報1002は、後述する対処手順を生成する際に使用されるポリシを管理するための情報である。ポリシ管理情報1002は、テナント識別子10021、仮想計算機識別子10022、及びポリシ10023を含む。
テナント識別子10021及び仮想計算機識別子10022は、テナント識別子10011及び仮想計算機識別子10012と同一のものである。
ポリシ10023は、クラウドユーザ10によって各仮想計算機600に対して設定されたポリシを格納する。クラウドユーザ10は、図5に示すような入力画面を用いてポリシを設定する。なお、仮想計算機600に対して特にポリシが設定されていない場合、ポリシ10023には「Null」が格納される。
図8は、実施例1のDB障害対処法管理情報1003の一例を示す説明図である。
DB障害対処法管理情報1003は、DBサーバ80の障害発生時の対処法及び各対処法の特徴を管理するための情報である。DB障害対処法管理情報1003は、ボトルネック箇所10031、対処法10032、及び特徴10033を含む。
ボトルネック箇所10031は、ボトルネックとして特定された計算機リソースの種別を格納する。対処法10032は、性能劣化を解消するための具体的な対処法を格納する。実施例1では、DB障害対処法管理情報1003において、ボトルネックの種別、すなわち、計算機リソースの種別毎に複数の対処法が管理される。
特徴10033は、対処法の特徴に関する情報を格納するカラムであり、無停止10034、影響10035、平均処理時間10036、物理サーバ移行10037、及び追加料金10038を含む。
無停止10034は、対処法に対応する処理が実行された場合に仮想計算機600を再起動することなくサービスを継続できるか否かを示す情報を格納する。実施例1では、無停止10034が「該当」の場合、仮想計算機600を再起動することなくサービスを継続できることを示し、無停止10034が「非該当」の場合、仮想計算機600を再起動する必要があり、サービスが中断することを示す。
影響10035は、対処法に対応する処理が実行された場合、ホスト計算機500又は仮想計算機600に与える影響の大きさを示す情報を格納する。平均処理時間10036は、対処法に対応する処理が完了するまでの平均処理時間を格納する。
なお、影響10035及び平均処理時間10036には、各対処法の相対的な重みを格納してもよい。この場合、クラウド管理計算機100は、性能の劣化が検知された仮想計算機600が特定された場合、重み及びデータ量等から値を算出する。
物理サーバ移行10037は、対処法に対応する処理を実行する場合に、仮想計算機600を、現在稼働しているホスト計算機500から他のホスト計算機500に移行させる必要があるか否かを示す情報を格納する。物理サーバ移行10037が「あり」の場合、ホスト計算機500間で仮想計算機600を移行させる必要があることを示し、物理サーバ移行10037が「なし」の場合、ホスト計算機500間で仮想計算機600を移行させる必要がないことを示す。
追加料金10038は、課金体系毎に、対処法に対応する処理が実行された場合に追加料金が発生するか否かを示す情報を格納する。具体的には、追加料金10038は、定額100381及び従量課金100382を含む。定額100381は、課金体系が定額の場合に追加料金が発生するか否かを示す情報を格納し、従量課金100382は、課金体系が従量課金の場合に追加料金が発生するか否かを示す情報を格納する。
なお、定額100381及び従量課金100382には、料金そのものが格納されてもよい。
特徴10033に含まれるカラムのうち、無停止10034、影響10035、平均処理時間10036、及び物理サーバ移行10037は、対処法に対応する処理に関する処理コストを表し、追加料金10038はテナント50の利用コストを表す。
なお、クラウド管理計算機100は、使用率のトレンドと突き合わせて、対処法が実行された後に、再度、性能劣化が発生する時期を算出し、当該時期を特徴10033として管理してもよい。これによって、例えば、対処法の実行頻度を減らしたい場合、クラウド管理計算機100は、性能劣化の発生時期が遅い対処法を優先的に選択できる。
図9は、実施例1のクラウド基盤構成情報2001の一例を示す説明図である。
クラウド基盤構成情報2001は、ホスト計算機500上で稼働する仮想計算機600に割り当てられるCPU、メモリ等の情報、及び仮想計算機600が利用可能な記憶領域に関する情報を管理するための情報である。具体的には、クラウド基盤構成情報2001は、仮想計算機識別子20011、物理計算機識別子20012、サーバリソース20013、及びストレージ20014を含む。
仮想計算機識別子20011は、仮想計算機識別子10012と同一のものである。物理計算機識別子20012は、仮想計算機600が稼働するホスト計算機500の識別情報を格納する。
サーバリソース20013は、仮想計算機600の計算機リソースと、ホスト計算機500が有する計算機リソースとの対応関係に関する情報を格納するカラムである。サーバリソース20013は、CPU200131及びメモリ200132を含む。
CPU200131は、さらに、仮想及び物理の二つのカラムを含む。CPU200131の仮想のカラムは、仮想計算機600が有する仮想CPUの識別情報を格納し、CPU200131の物理のカラムは、仮想CPUにCPUリソースを割り当てる物理CPUの識別情報を格納する。なお、一つの仮想CPUに二つ以上の物理CPUが割り当てられてもよいし、複数の仮想CPUが一つの物理CPUを共有するように割り当てられてもよい。
メモリ200132は、さらに、仮想及び物理の二つのカラムを含む。メモリ200132の仮想のカラムは、仮想計算機600が有する仮想メモリの識別情報を格納し、メモリ200132の物理のカラムは、仮想メモリにリソースを割り当てる物理メモリの識別情報を格納する。
ストレージ20014は、ストレージ装置300によって提供され、かつ、ホスト計算機500が利用可能な記憶領域に関する情報を格納するカラムであり、仮想ディスク識別子200141及びボリューム識別子200142を含む。
仮想ディスク識別子200141は、仮想ディスク630の識別情報を格納する。ボリューム識別子200142は、仮想ディスク630に記憶領域を提供するボリューム640の識別情報を格納する。
図10は、実施例1の計算機リソース割当情報2002の一例を示す説明図である。
計算機リソース割当情報2002は、ホスト計算機500上で稼働する仮想計算機600に割り当てられる計算機リソースの確保形態、及び使用量に関する情報、並びに、複数の仮想計算機600を用いたHA構成を管理するための情報である。具体的には、計算機リソース割当情報2002は、物理計算機識別子20021、仮想計算機識別子20022、割当20023、及びHA構成状態20024を含む。
物理計算機識別子20021は、物理計算機識別子20012と同一のものである。また、仮想計算機識別子20022は、仮想計算機識別子10012と同一のものである。なお、仮想計算機識別子20022には、物理計算機識別子20021に対応するホスト計算機500上で稼働する仮想計算機600の識別情報が格納される。
割当20023は、仮想計算機600に割り当てられる計算機リソースに関する情報を格納するカラムであり、計算機リソース種別200231、確保形態200232、及び実使用量200233を含む。
計算機リソース種別200231は、計算機リソースの種別に関する情報を格納する。確保形態200232は、サービスの契約内容又はサービスの運用によって決定される確保形態に関する情報を格納する。実使用量200233は、実際に使用されている計算機リソース量を格納する。
HA構成状態20024は、HAが構成されているか否かを示す情報を格納する。HA構成状態20024が「あり」の場合、HAが構成されていることを示し、HA構成状態20024が「なし」の場合、HAが構成されていないことを示す。
図11は、実施例1のサーバリソース使用状態情報2003の一例を示す説明図である。
サーバリソース使用状態情報2003は、ホスト計算機500におけるCPU、メモリ等の計算機リソースの使用状態及び空き容量を管理するための情報である。具体的には、サーバリソース使用状態情報2003は、クラスタ識別子20031、物理計算機識別子20032、及びサーバリソース使用状態20033を含む。
クラスタ識別子20031は、クラスタ900の識別情報を格納する。物理計算機識別子20032は、物理計算機識別子20012と同一のものであり、クラスタ900に含まれるホスト計算機500の識別情報を格納する。
サーバリソース使用状態20033は、ホスト計算機500が備える計算機リソースに関する情報を格納するカラムであり、計算機リソース200331、使用量200332、及び空き容量200333を含む。
計算機リソース200331は、ホスト計算機500が備える計算機リソースの識別情報を格納する。使用量200332は、実際に使用されている計算機リソース量の値を格納する。空き容量200333は、使用されていない計算機リソース量の値を格納する。
なお、使用量200332及び空き容量200333には、リソース監視プログラム2014によって取得された値が格納される。
図12は、実施例1のストレージリソース使用状態情報2004の一例を示す説明図である。
ストレージリソース使用状態情報2004は、論理記憶領域310及びストレージプール320の容量及びIOPS等を管理するための情報である。具体的には、ストレージリソース使用状態情報2004は、ボリューム識別子20041、論理記憶領域20042、及びストレージプール20043を含む。
ボリューム識別子20041は、ボリューム識別子200142と同一のものである。
論理記憶領域20042は、ボリューム640に対応付けられる論理記憶領域310に関する情報を格納するカラムであり、論理記憶領域識別子200421、容量200422、及びIOPS200423を含む。
論理記憶領域識別子200421は、論理記憶領域識別子200133と同一のものであり、ボリューム640に対応付けられる論理記憶領域310の識別情報を格納する。
容量200422は、論理記憶領域310の記憶容量に関する情報を格納するカラムであり、使用率2004221及び空き容量2004222を含む。使用率2004221は、論理記憶領域310の記憶容量の使用率を示す値を格納する。空き容量2004222は、論理記憶領域310の記憶容量の空き容量を示す値を格納する。
IOPS200423は、論理記憶領域310のIOPSを示す値を格納する。
ストレージプール20043は、論理記憶領域310が属するストレージプール320に関する情報を格納するカラムであり、プール識別子200431、容量200432、及びIOPS200433を含む。
プール識別子200431は、プール識別子200134と同一のものであり、論理記憶領域識別子200421に対応する論理記憶領域310が属するストレージプール320の識別情報を格納する。
容量200432は、ストレージプール320の記憶容量に関する情報を格納するカラムであり、使用率2004321及び空き容量2004322を含む。使用率2004321は、ストレージプール320の記憶容量の使用率を示す値を格納する。空き容量2004322は、ストレージプール320の記憶容量の空き容量を示す値を格納する。
IOPS200433は、ストレージプール320のIOPSを示す値を格納する。
なお、容量200422、IOPS200423、容量200432及びIOPS200433には、リソース監視プログラム2014によって取得された値が格納される。
図13は、実施例1のストレージ構成情報2005の一例を示す説明図である。
ストレージ構成情報2005は、ストレージプール320の構成を管理するための情報である。具体的には、ストレージ構成情報2005は、プール識別子20051、容量20052、RAIDグループ20053、記憶媒体20054、及びスペアディスク20055を含む。
プール識別子20051は、プール識別子200134と同一のものであり、ストレージプール320の識別情報を格納する。容量20052は、ストレージプール320の全記憶容量を示す値を格納する。
RAIDグループ20053は、ストレージプール320を構成するRAIDグループに関する情報を格納するカラムであり、RAIDグループ識別子200531、容量200532、及び限界IOPS200533を含む。
RAIDグループ識別子200531は、RAIDグループの識別情報を格納する。容量200532は、RAIDグループの全記憶容量を示す値を格納する。限界IOPS200533は、RAIDグループが処理できるI/O、すなわち、IOPSの最大値を格納する。
記憶媒体20054は、RAIDグループを構成する記憶媒体の識別情報を格納する。スペアディスク20055は、ストレージプール320に追加可能な記憶媒体の識別情報を格納する。なお、スペアディスク20055にはRAIDグループの識別情報が格納されてもよい。
図14A及び図14Bは、実施例1の対処手順管理情報1004の一例を示す説明図である。
対処手順管理情報1004は、仮想計算機600に適用する対処手順を管理するための情報である。具体的には、対処手順管理情報1004は、メタデータ10041及び対処手順10042から構成される。
メタデータ10041は、対処手順管理情報1004の属性を示す情報を格納する。実施例1では、メタデータ10041には、対象の仮想計算機600の識別情報、及び計算機リソースの種別情報を含む。対処手順10042は、具体的な対処手順が格納される。
図14A及び図14Bは、課金形態が「定額」及び計算機リソースの種別が「CPU」であり、仮想計算機600の識別情報が「VM05」である仮想計算機600に適用される対処手順を示す。なお、「VM05」に対応する仮想計算機600は、サービス要件管理情報1001のハードウェア指定100152が「サーバ指定」であり、ポリシ管理情報1002が「Null」であるものとする。
図14Aの対処手順管理情報1004の場合、対処手順10042に設定された判定順番にしたがって、仮想計算機600に各対処法が実行できるか否かが判定される。一方、図14Bの対処手順管理情報1004の場合、仮想計算機600にはいずれの対処法も実行されない。
なお、対処手順管理情報1004には、メタデータ10041が含まれなくてもよい。例えば、DBサーバ80の性能劣化を契機に対処手順管理情報1004が生成される場合、適用する対処手順管理情報1004を特定するための情報が必要ない。
図15は、実施例1のクラウド管理計算機100が実行する処理の一例を説明するフローチャートである。
以下で説明する処理は、クラウド管理計算機100のDB対処手順生成プログラム1013が、DB障害検知プログラム2010からDBサーバ80の障害を検知した旨の通知を受信した場合に開始してもよいし、また、周期的に実行してもよい。
ここでは、周期的に実行するものとする。この場合、クラウド管理計算機100は、当該仮想計算機600に対してボトルネックの種別毎にステップS103からステップS109までの処理を繰り返し実行する。なお、DB障害検知プログラム2010がDBサーバ80の障害を検知した旨の通知の受信を契機に処理を開始する場合、クラウド管理計算機100は、DBボトルネック分析プログラム2011からボトルネックに関する情報を受信する。
サービス管理プログラム1010は、サービス要件管理情報1001を参照する(ステップS101)。なお、サービス要件管理情報1001は定期的に更新されているため、最新の状態となっている。
DB対処手順生成プログラム1013は、テナント50のループ処理を開始する(ステップS102)。実施例1では、クラウドシステム90に存在する全てのテナント50についてステップS103からステップS114までの処理を繰り返し実行する。なお、障害が発生したDBサーバ80を含むテナント50のみを対象としてもよい。ここでは、サービス要件管理情報1001のエントリ順にテナント50が選択されるものとする。
DB対処手順生成プログラム1013は、サービス要件管理情報1001を参照して、対象のテナント50に含まれる仮想計算機600の中に、性能保証オプションが設定される仮想計算機600が存在するか否かを判定する(ステップS103)。具体的には、以下のような処理が実行される。
DB対処手順生成プログラム1013は、テナント識別子10011が対象のテナント50の識別情報と一致するエントリを検索する。DB対処手順生成プログラム1013は、検索されたエントリの適用状態100141を参照して、「あり」が格納される仮想計算機600が存在するか否かを判定する。
以下の説明では、性能保証オプションが設定される仮想計算機600を対象の仮想計算機600とも記載する。
対象のテナント50に含まれる仮想計算機600の中に、対象の仮想計算機600が存在しない場合(ステップS103がNo)、DB対処手順生成プログラム1013は、対処手順管理情報1004の生成が不要であると判定し、ステップS114に進む。
対象のテナント50に含まれる仮想計算機600の中に、対象の仮想計算機600が存在する場合(ステップS103がYes)、DB対処手順生成プログラム1013は、対象の仮想計算機600のループ処理を開始する(ステップS104)。具体的には、DB対処手順生成プログラム1013は、対象の仮想計算機600の中から一つの対象の仮想計算機600を選択する。選択された仮想計算機600に対してステップS105からステップS113までの処理が繰り返し実行される。
DB対処手順生成プログラム1013は、選択された対象の仮想計算機600について計算機リソースのループ処理を開始する(ステップS105)。具体的には、DB対処手順生成プログラム1013は、サービス要件管理情報1001の選択された仮想計算機600の行を参照し、対象100153に設定される計算機リソースの中から一つの計算機リソースを選択する。選択された計算機リソースに対してステップS106からステップS112までの処理が繰り返し実行される。
DB対処手順生成プログラム1013は、選択された対象の仮想計算機600の課金体系が従量課金であるか否かを判定する(ステップS106)。
具体的には、DB対処手順生成プログラム1013は、ステップS104において選択された仮想計算機600の行の体系100171が「従量課金」であるか否かを判定する。
対象の仮想計算機600の課金体系が従量課金であると判定された場合(ステップS106がYes)、DB対処手順生成プログラム1013は、対象のテナント50を利用するクラウドユーザ10に対して追加料金の発生を了承するか否かの問合せを行う(ステップS107)。DB対処手順生成プログラム1013は、クラウドユーザ10からの応答を受信するまで、次の処理を待ち続ける。
当該問合せは、ポータル30を介してクラウドユーザ10に通知される。クラウドユーザ10は、ポータル30を介して、当該通知に対する応答をクラウド管理計算機100に送信する。
DB対処手順生成プログラム1013は、クラウドユーザ10からの応答に基づいて、追加料金の発生が了承されたか否かを判定する(ステップS108)。
追加料金の発生が了承された場合(ステップS108がYes)、DB対処手順生成プログラム1013は、ステップS108に進む。
追加料金の発生が了承されていない場合(ステップS108がNo)、DB対処手順生成プログラム1013は、対処手順生成処理(A)を実行し(ステップS109)、生成された対処手順管理情報1004を出力する(ステップS111)。対処手順生成処理(A)の詳細は、図16を用いて後述する。
対象の仮想計算機600の課金体系が従量課金でないと判定された場合(ステップS106がNo)、又は、追加料金の発生が了承された場合(ステップS108がYes)、DB対処手順生成プログラム1013は、対処手順生成処理(B)を実行し(ステップS110)、生成された対処手順管理情報1004を出力する(ステップS111)。対処手順生成処理(B)の詳細は、図17を用いて後述する。
対象のテナント50に含まれる仮想計算機600の中に、対象の仮想計算機600が存在しない場合(ステップS103がNo)、又はステップS111の処理の後、DB対処手順生成プログラム1013は、選択された対象の仮想計算機600の全ての計算機リソースについて処理が完了したか否かを判定する(ステップS112)。
選択された対象の仮想計算機600の全ての計算機リソースについて処理が完了していないと判定された場合(ステップS112がNo)、DB対処手順生成プログラム1013は、次の計算機リソースを選択し、同様の処理(ステップS106からステップS112)を実行する。
選択された対象の仮想計算機600の全ての計算機リソースについて処理が完了したと判定された場合(ステップS112がYes)、DB対処手順生成プログラム1013は、全ての対象の仮想計算機600について処理が完了したか否かを判定する(ステップS113)。
全ての対象の仮想計算機600について処理が完了していないと判定された場合(ステップS113がNo)、DB対処手順生成プログラム1013は、次の対象の仮想計算機600を選択し、同様の処理(ステップS105からステップS113)を実行する。
全ての対象の仮想計算機600について処理が完了したと判定された場合(ステップS113がYes)、DB対処手順生成プログラム1013は、全てのテナント50について処理が完了したか否かを判定する(ステップS114)。
全てのテナント50について処理が完了していないと判定された場合(ステップS114がNo)、DB対処手順生成プログラム1013は、次にテナント50を選択し、同様の処理(ステップS103からステップS114)を実行する。
全てのテナント50について処理が完了したと判定された場合(ステップS114がYes)、DB対処手順生成プログラム1013は、基盤管理計算機200に生成された対処手順管理情報1004を通知し(ステップS115)、処理を終了する。
なお、DB対処手順生成プログラム1013は、対処手順管理情報1004を基盤管理計算機200に通知しなくてもよい。例えば、クラウド管理計算機100は、DBサーバ80の障害発生時に、メタデータ10041に基づいて複数の対処手順管理情報1004の中から一つの対処手順管理情報1004を選択し、選択された対処手順管理情報1004を基盤管理計算機200に通知する。
なお、DBサーバ80の障害を検知した旨の通知を受信した場合に処理を開始する場合、テナント50、仮想計算機600及び計算機リソースのループ処理は省略できる。これは、対処手順管理情報1004を生成する対象が特定されているためである。
図16は、実施例1のクラウド管理計算機100が実行する対処手順生成処理(A)の一例を説明するフローチャートである。
DB対処手順生成プログラム1013は、サービス要件管理情報1001及び計算機リソース割当情報2002から、対象の仮想計算機600に関連する値を取得する(ステップS201)。具体的には、以下のような処理が実行される。
DB対処手順生成プログラム1013は、少なくとも対象の仮想計算機600の識別情報、及びボトルネックの種別に基づいてサービス要件管理情報1001及び計算機リソース割当情報2002を参照する。
DB対処手順生成プログラム1013は、サービス要件管理情報1001の仮想計算機識別子10012が対象の仮想計算機600の識別情報と一致し、かつ、対象100153がボトルネックの種別と一致する行を検索する。DB対処手順生成プログラム1013は、検索されたエントリの保証値100154に格納される値を取得する。
DB対処手順生成プログラム1013は、計算機リソース割当情報2002の仮想計算機識別子20022が対象の仮想計算機600の識別情報と一致し、かつ、計算機リソース種別200231がボトルネックの種別と一致する行を検索する。DB対処手順生成プログラム1013は、検索された行の確保形態200232及び実使用量200233の値を取得する。以上がステップS201の処理の説明である。
次に、DB対処手順生成プログラム1013は、サービス要件管理情報1001及び計算機リソース割当情報2002から取得された値に基づいて、対象の仮想計算機600に保証値分の計算機リソースが割り当てられているか否かを判定する(ステップS202)。
例えば、仮想計算機識別子10012が「VM01」、対象100153が「CPU」の場合、保証値100154は「上限値:4GB」である。一方、仮想計算機識別子20022が「VM01」、計算機リソース種別200231が「CPU」の場合、確保形態200232は「1GHz−4GHz」、実使用量200233は「4GHz」である。したがって、この場合、DB対処手順生成プログラム1013は、対象の仮想計算機600に保証値分の計算機リソースが割り当てられていると判定する。
対象の仮想計算機600に保証値分の計算機リソースが割り当てられていると判定された場合(ステップS202がYes)、DB対処手順生成プログラム1013は、対処手順の生成が不要であると判定し、処理を終了する。これは、対象の仮想計算機600の性能を向上させるためには、保証値以上の計算機リソースを確保する必要があり、追加料金が発生する。そのため、追加料金を発生させない対処法が存在しないためである。
対象の仮想計算機600に保証値分の計算機リソースが割り当てられていないと判定された場合(ステップS202がNo)、DB対処手順生成プログラム1013は、DB障害対処法管理情報1003から、追加料金が発生しない対処法を選択する(ステップS203)。具体的には、以下のような処理が実行される。
DB対処手順生成プログラム1013は、ボトルネック箇所10031がボトルネックの種別と一致するエントリを検索し、検索されたエントリの追加料金10038のカラムを参照する。
対象の仮想計算機600の体系100171が「定額」の場合、DB対処手順生成プログラム1013は、定額100381に「なし」が設定されている対処法を選択する。また、対象の仮想計算機600の体系100171が「従量課金」の場合、DB対処手順生成プログラム1013は、従量課金100382に「なし」が設定されている対処法を選択する。以上がステップS203の処理の説明である。
次に、DB対処手順生成プログラム1013は、選択された対処法の中から、対象の仮想計算機600に対する性能保証及び運用の内容に合致する対処法を抽出する(ステップS204)。
例えば、DB対処手順生成プログラム1013は、サービス要件管理情報1001の仮想計算機識別子10012が対象の仮想計算機600に一致する行を検索する。検索された行の無停止運用10016が「要」の場合、DB対処手順生成プログラム1013は、DBサーバ80に対応する仮想計算機600の再起動が必要ない対処法を抽出する。なお、前述した処理は一例であって、ハードウェアの占有等の情報に基づいて対処法が抽出されてもよい。
ステップS203及びステップS204は、サービス要件に合致する対処法を選択するための処理である。対処手順生成処理(A)では、追加料金が発生しないことが条件となっているため、ステップS203の判定処理が実行される。
次に、DB対処手順生成プログラム1013は、ポリシ管理情報1002を参照して、対象の仮想計算機600にポリシが設定されているか否かを判定する(ステップS205)。
具体的には、DB対処手順生成プログラム1013は、仮想計算機識別子10022が対象の仮想計算機600の識別情報と一致する行を検索する。該当する行が存在しない場合、DB対処手順生成プログラム1013は、対象の仮想計算機600にポリシが設定されていないと判定する。また、該当する行が存在し、かつ、当該行のポリシ10023が「Null」の場合にも、DB対処手順生成プログラム1013は、対象の仮想計算機600にポリシが設定されていないと判定する。
対象の仮想計算機600にポリシが設定されていると判定された場合(ステップS205がYes)、DB対処手順生成プログラム1013は、設定されたポリシにしたがって、抽出された対処法を並び替えることによって、対処手順管理情報1004を生成する(ステップS206)。その後、DB対処手順生成プログラム1013は、処理を終了する。
例えば、ポリシ10023が「処理時間優先」の場合、DB対処手順生成プログラム1013は、平均処理時間10036が小さい順に抽出された対処法を並び替える。これによって、対処手順管理情報1004の対処手順10042が生成される。DB対処手順生成プログラム1013は、さらに、ステップS104及びステップS105において選択された仮想計算機600及び計算機リソースの識別情報からメタデータ10041を生成する。
対象の仮想計算機600にポリシが設定されていないと判定された場合(ステップS205がNo)、DB対処手順生成プログラム1013は、平均処理時間及びホスト計算機500に対する負荷等に基づいて、抽出された対処法を並び替える(ステップS207)。その後、DB対処手順生成プログラム1013は、ステップS207に進む。例えば、以下のような処理が実行される。
DB対処手順生成プログラム1013は、まず、平均処理時間10036が小さい順に抽出された対処法を並び替える。平均処理時間10036が同一の対処法が存在する場合、DB対処手順生成プログラム1013は、影響10035を参照して、ホスト計算機500に負荷が小さい順に平均処理時間10036が同一の対処法を並び替える。
DB対処手順生成プログラム1013は、抽出された対処法を並び替えた後、並び替えられた対処法の最後に融通処理を追加することによって対処手順管理情報1004を生成する(ステップS208)。その後、DB対処手順生成プログラム1013は、処理を終了する。対処手順管理情報1004の生成方法はステップS206の処理と同一であるため説明を省略する。
なお、ステップS208の処理は省略してもよい。この場合、ステップS207において、対処手順管理情報1004が生成される。
ここで、融通処理とは、対象の仮想計算機600が稼働するホスト計算機500上で稼働する他の仮想計算機600に割り当てられている計算機リソースを流用する処理である。なお、ホスト計算機500上で稼働する他の仮想計算機600は、全ての仮想計算機600が対象となるわけではなく、性能保証オプション10014の適用状態100141が「なし」であるものが対象となる。
図16の処理によって、図14Aに示すような対処手順管理情報1004が生成される。DB対処手順生成プログラム1013は、ステップS204において、ホスト計算機500間の移行がない対処法が抽出され、ステップS205において、平均処理時間が短い順に並び替えることによって、図14Aに示すような対処手順管理情報1004を生成する。
図17は、実施例1のクラウド管理計算機100が実行する対処手順生成処理(B)の一例を説明するフローチャートである。
DB対処手順生成プログラム1013は、DB障害対処法管理情報1003から、対象の仮想計算機600に対する性能保証及び運用の内容に合致する対処法を選択する(ステップS301)。例えば、以下のような処理が実行される。
DB対処手順生成プログラム1013は、サービス要件管理情報1001の仮想計算機識別子10012が対象の仮想計算機600に一致する行を検索する。検索された行の無停止運用10016が「要」の場合、DB対処手順生成プログラム1013は、DBサーバ80に対応する仮想計算機600の再起動が必要ない対処法を選択する。なお、前述した処理は一例であって、ハードウェアの占有等の情報に基づいて契約内容に合致する対処法が選択されてもよい。
ステップS301は、サービス要件に合致する対処法を選択するための処理である。対処手順生成処理(B)では、追加料金が発生しないことが条件となっていないため、ステップS203のような判定処理は実行されない。
次に、DB対処手順生成プログラム1013は、ポリシ管理情報1002を参照して、対象の仮想計算機600にポリシが設定されているか否かを判定する(ステップS302)。ステップS302の処理は、ステップS205の処理と同一である。
対象の仮想計算機600にポリシが設定されていると判定された場合(ステップS302がYes)、DB対処手順生成プログラム1013は、DB対処手順生成プログラム1013は、設定されたポリシにしたがって、選択された対処法を並び替えることによって、対処手順管理情報1004を生成する(ステップS303)。その後、DB対処手順生成プログラム1013は、処理を終了する。ステップS303の処理は、ステップS206の処理と同一である。
対象の仮想計算機600にポリシが設定されていないと判定された場合(ステップS302がNo)、DB対処手順生成プログラム1013は、平均処理時間及びホスト計算機500に対する負荷等に基づいて、選択された対処法を並び替える(ステップS304)。ステップS304の処理は、ステップS207の処理と同一である。
DB対処手順生成プログラム1013は、選択された対処法を並び替えた後、並び替えられた対処法の最後に融通処理を追加することによって対処手順管理情報1004を生成する(ステップS305)。その後、DB対処手順生成プログラム1013は、処理を終了する。ステップS305の処理は、ステップS208の処理と同一である。
図18は、実施例1の対処手順生成処理(B)を実行することによって生成された対処手順管理情報1004の一例を示す説明図である。
図18は、課金体系が「従量」及び計算機リソースの種別が「CPU」であり、仮想計算機600の識別情報が「VM02」である仮想計算機600に適用される対処手順を示す。なお、「VM02」に対応する仮想計算機600は、サービス要件管理情報1001の無停止運用10016が「要」であり、ポリシ管理情報1002が「Null」である。また、対処手順10042は、仮想計算機600の再起動が発生しない対処法を平均処理時間が短い順に並べられた対処手順を示す。
以下、図19から図23を用いて、対処手順に従った処理について説明する。
図19から図23は、実施例1のクラウド管理計算機100が対処手順管理情報1004にしたがって実行する処理の一例を説明するフローチャートである。
クラウド管理計算機100は、DBボトルネック分析プログラム2011から、性能保証オプションが設定された仮想計算機600のCPUのリソース不足を検知した旨が通知された場合、仮想計算機600の識別情報及び計算機リソースの種別に基づいてメタデータ10041を参照し、対処手順管理情報1004を選択する。クラウド管理計算機100は、選択された対処手順管理情報1004にしたがって、図19から図23を用いて説明する対処法を実行する。
なお、DBボトルネック分析プログラム2011は、仮想計算機600の性能劣化を検知した場合、ボトルネックの種別を特定し、また、不足している計算機リソースのリソース量を算出する。DBボトルネック分析プログラム2011は、仮想計算機600の識別情報、ボトルネックの種別、及び不足しているリソース量を含む通知をクラウド管理計算機100に送信する。
なお、以下の説明では、性能が劣化したDBサーバ80に対応する仮想計算機600をターゲット仮想計算機600とも記載する。
まず、図19に示す処理について説明する。図19は、ボトルネック箇所10031が「CPU」かつ対処法10032が「シェア値変更」である対処法に対応する処理を示す。
クラウド管理計算機100のDB障害対策判定プログラム1014が、対処手順管理情報1004に基づいて、「シェア値の変更ができるか否かの判定」に対応する対処法が呼び出された場合に、以下で説明する処理を開始する。
DB障害対策判定プログラム1014は、基盤管理計算機200から、DBボトルネック分析プログラム2011によって算出された不足しているCPUのリソース量を取得する(ステップS401)。なお、当該対処法を実行する前に、不足しているCPUのリソース量が取得されている場合には、ステップS401の処理を省略することができる。
DB障害対策判定プログラム1014は、サービス要件管理情報1001及び計算機リソース割当情報2002を参照して、ターゲット仮想計算機600のシェア値を変更できるか否かを判定する(ステップS402)。具体的には、以下のような処理が実行される。なお、シェア値は、ホスト計算機500のハイパバイザ等が管理する複数の仮想計算機600に対する計算機リソースの配分率を決定するための値である。
DB障害対策判定プログラム1014は、サービス要件管理情報1001を参照して、仮想計算機識別子10012がターゲット仮想計算機600の識別情報と一致し、かつ、対象100153が「CPU」である行を検索する。DB障害対策判定プログラム1014は、検索された行の保証値100154に格納される値を取得する。
DB障害対策判定プログラム1014は、計算機リソース割当情報2002を参照して、仮想計算機識別子20022がターゲット仮想計算機600の識別情報と一致し、かつ、計算機リソース種別200231が「CPU1」である行を検索する。DB障害対策判定プログラム1014は、検索された行の確保形態200232に格納される値を取得する。
DB障害対策判定プログラム1014は、保証値100154及び確保形態200232から取得された値に基づいて、ターゲット仮想計算機600のシェア値を変更できるか否かを判定する。
例えば、確保形態200232に、シェア値に基づくリソースの割り当てが設定されている場合、DB障害対策判定プログラム1014はターゲット仮想計算機600のシェア値を変更できると判定する。また、ターゲット仮想計算機600のシェア値を変更した時に、当該ターゲット仮想計算機600と同一の計算機リソースを共有する他の仮想計算機600に割り当てられる計算機リソースが保証値100154より小さくならない場合、DB障害対策判定プログラム1014はターゲット仮想計算機600のシェア値を変更できると判定する。以上がステップS402の処理の説明である。
ターゲット仮想計算機600のシェア値を変更できないと判定された場合(ステップS402がNo)、DB障害対策判定プログラム1014は、対処手順管理情報1004を参照して、次の対処法が存在するか否かを判定する(ステップS403)。
次の対処法が存在すると判定された場合(ステップS403がYes)、DB障害対策判定プログラム1014は、次の対処法に対応する処理を開始する。次の対処法が存在しないと判定された場合(ステップS403がNo)、DB障害対策判定プログラム1014は、処理結果をクラウドユーザ10に通知する(ステップS412)。その後、DB障害対策判定プログラム1014は、処理を終了する。例えば、適切な対処法が存在しない旨が通知される。なお、処理結果の通知方法は、例えば、ポータル30を介して行うことが考えられる。
ステップS402において、ターゲット仮想計算機600のシェア値を変更できると判定された場合(ステップS402がYes)、DB障害対策判定プログラム1014は、計算機リソース割当情報2002を参照して、ターゲット仮想計算機600と同一のホスト計算機500上で稼働する他の仮想計算機600を検索する(ステップS404)。すなわち、ターゲット仮想計算機600と計算機リソースを共有する他の仮想計算機600が検索される。具体的には、以下のような処理が実行される。
DB障害対策判定プログラム1014は、計算機リソース割当情報2002を参照して、仮想計算機識別子20022がターゲット仮想計算機600の識別情報と一致する行を検索する。DB障害対策判定プログラム1014は、検索された行を含むエントリに基づいてターゲット仮想計算機600が稼働するホスト計算機500を特定する。
DB障害対策判定プログラム1014は、特定されたホスト計算機500のエントリに基づいて、ターゲット仮想計算機600と計算機リソースを共有する他の仮想計算機600を特定する。以上がステップS404の処理の説明である。
DB障害対策判定プログラム1014は、検索された他の仮想計算機600に余剰に割り当てられている計算機リソースを算出する(ステップS405)。具体的には、以下のような処理が実行される。
DB障害対策判定プログラム1014は、サービス要件管理情報1001を参照して、他の仮想計算機600に対応する行の対象100153が「CPU」である保証値100154の値を取得する。また、DB障害対策判定プログラム1014は、計算機リソース割当情報2002の他の仮想計算機600に対応する計算機リソース種別200231が「CPU1」の実使用量200233の値を取得する。
DB障害対策判定プログラム1014は、ターゲット仮想計算機600と計算機リソースを共有する他の仮想計算機600のうち、下式(1)を満たす他の仮想計算機600を検索する。すなわち、余剰に計算機リソースが割り当てられている他の仮想計算機600が検索される。
Figure 0006293683
さらに、DB障害対策判定プログラム1014は、下式(2)に基づいて、検索された他の仮想計算機600の余剰な計算機リソース量を算出する。
Figure 0006293683
以上がステップS405の処理の説明である。
DB障害対策判定プログラム1014は、検索された他の仮想計算機600に余剰に割り当てられた計算機リソースを用いて、不足している計算機リソースを確保できるか否かを判定する(ステップS406)。具体的には、DB障害対策判定プログラム1014は、式(2)に基づいて算出された値が不足しているCPUのリソース量以上であるか否かを判定する。
不足している計算機リソースを確保できないと判定された場合(ステップS406がNo)、DB障害対策判定プログラム1014は、ステップS403に進む。
不足している計算機リソースを確保できると判定された場合(ステップS406がYes)、DB障害対策判定プログラム1014は、ターゲット仮想計算機600のシェア値を変更する(ステップS407)。
例えば、DB障害対策判定プログラム1014が、基盤管理計算機200のDB障害復旧プログラム2013にターゲット仮想計算機600及び他の仮想計算機600のシェア値の変更を指示する。DB障害復旧プログラム2013は、当該指示にしたがって、ターゲット仮想計算機600及び他の仮想計算機600のシェア値を変更する。
DB障害対策判定プログラム1014は、DB障害対処法管理情報1003に基づいて、シェア値の変更によって追加料金が発生するか否かを判定する(ステップS408)。具体的には、以下のような処理が実行される。
DB障害対策判定プログラム1014は、対処法が「シェア値変更」である対処法に関する課金発生の有無を課金管理プログラム1015に問い合わせる。なお、当該問合せには対処手順管理情報1004のメタデータ10041が含まれる。
課金管理プログラム1015は、DB障害対処法管理情報1003を参照して、ボトルネック箇所10031が「CPU」かつ対処法10032が「シェア値変更」である行を検索する。課金管理プログラム1015は、メタデータ10041に基づいて、検索された行の追加料金10038から定額100381又は従量課金100382のいずれかの値を取得する。課金管理プログラム1015は、取得された値をDB障害対策判定プログラム1014に応答する。
応答に含まれる値が「なし」の場合、DB障害対策判定プログラム1014はシェア値を変更しても追加料金が発生しないと判定する。一方、応答に含まれる値が「あり」の場合、DB障害対策判定プログラム1014は、シェア値を変更することによって追加料金が発生すると判定する。以上がステップS408の処理の説明である。
シェア値を変更しても追加料金が発生しないと判定された場合(ステップS408がNo)、DB障害対策判定プログラム1014は、処理結果をクラウドユーザ10に通知する(ステップS412)。その後、DB障害対策判定プログラム1014は、処理を終了する。例えば、シェア値を変更する対処法が実行された旨が通知される。
シェア値を変更することによって追加料金が発生すると判定された場合(ステップS408がYes)、DB障害対策判定プログラム1014は、課金計算機800に、追加料金の発生を通知する(ステップS409)。当該通知には、ターゲット仮想計算機600の識別情報、変更されたシェア値等の対処法に関する情報が含まれる。DB障害対策判定プログラム1014は、課金計算機800から応答があるまで待ち続ける。
なお、課金計算機800は、クラウド管理計算機100からの通知を受信した場合、当該通知に含まれる情報に基づいて追加料金を算出し、算出された追加料金をクラウド管理計算機100に通知する。なお、追加料金を算出する方法は、公知のものであり、また、本実施例とは直接関係しないため説明を省略する。
DB障害対策判定プログラム1014は、課金計算機800から追加料金の通知を受信した場合(ステップS410)、サービス要件管理情報1001を更新する(ステップS411)。
具体的には、DB障害対策判定プログラム1014は、サービス要件管理情報1001を参照し、仮想計算機識別子10012がターゲット仮想計算機600の識別情報と一致する行を検索する。DB障害対策判定プログラム1014は、通知された追加料金に基づいて、検索された行の課金10017を更新する。
DB障害対策判定プログラム1014は、処理結果をクラウドユーザ10に通知する(ステップS412)。その後、DB障害対策判定プログラム1014は、処理を終了する。例えば、シェア値を変更する対処法が実行された旨、及び追加料金が通知される。
次に、図20に示す処理について説明する。図20は、ボトルネック箇所10031が「CPU」かつ対処法10032が「上限値変更」である対処法に対応する処理を示す。
DB障害対策判定プログラム1014は、基盤管理計算機200から、DBボトルネック分析プログラム2011によって算出された不足しているCPUのリソース量を取得する(ステップS501)。
DB障害対策判定プログラム1014は、サービス要件管理情報1001及び計算機リソース割当情報2002を参照して、ターゲット仮想計算機600の上限値を変更できるか否かを判定する(ステップS502)。
ステップS502の処理はステップS402の処理と同様の処理である。すなわち、DB障害対策判定プログラム1014は、保証値100154及び確保形態200232から取得された値に基づいて、ターゲット仮想計算機600の上限値を変更できるか否かを判定する。
ターゲット仮想計算機600の上限値を変更できないと判定された場合(ステップS502がNo)、DB障害対策判定プログラム1014は、対処手順管理情報1004を参照して、次の対処法が存在するか否かを判定する(ステップS503)。
次の対処法が存在すると判定された場合(ステップS503がYes)、DB障害対策判定プログラム1014は、次の対処法に対応する処理を開始する。次の対処法が存在しないと判定された場合(ステップS503がNo)、DB障害対策判定プログラム1014は、処理結果をクラウドユーザ10に通知する(ステップS512)。その後、DB障害対策判定プログラム1014は、処理を終了する。ステップS512の処理はステップS412の処理と同一である。
ステップS502において、ターゲット仮想計算機600の上限値を変更できると判定された場合(ステップS502がYes)、DB障害対策判定プログラム1014は、計算機リソース割当情報2002を参照して、ターゲット仮想計算機600と同一のホスト計算機500上で稼働する他の仮想計算機600を検索する(ステップS504)。ステップS504の処理はステップS404の処理と同一である。
DB障害対策判定プログラム1014は、検索された他の仮想計算機600に余剰に割り当てられている計算機リソースを算出する(ステップS505)。ステップS505の処理はステップS405の処理と同一である。
DB障害対策判定プログラム1014は、検索された他の仮想計算機600に余剰に割り当てられた計算機リソースを用いて、不足している計算機リソースを確保できるか否かを判定する(ステップS506)。ステップS506の処理はステップS406の処理と同一である。
不足している計算機リソースを確保できないと判定された場合(ステップS506がNo)、DB障害対策判定プログラム1014は、ステップS503に進む。
不足している計算機リソースを確保できると判定された場合(ステップS506がYes)、DB障害対策判定プログラム1014は、ターゲット仮想計算機600の上限値を変更する(ステップS507)。ステップS507の処理はステップS407の処理と同一である。
DB障害対策判定プログラム1014は、DB障害対処法管理情報1003に基づいて、上限値の変更によって追加料金が発生するか否かを判定する(ステップS508)。ステップS508の処理はステップS408の処理と同一である。
上限値を変更しても追加料金が発生しないと判定された場合(ステップS508がNo)、DB障害対策判定プログラム1014は、処理結果をクラウドユーザ10に通知する(ステップS512)。その後、DB障害対策判定プログラム1014は、処理を終了する。
上限値を変更することによって追加料金が発生すると判定された場合(ステップS508がYes)、DB障害対策判定プログラム1014は、課金計算機800に、追加料金の発生を通知する(ステップS509)。ステップS509の処理はステップS409の処理と同一である。
DB障害対策判定プログラム1014は、課金計算機800から追加料金の通知を受信した場合(ステップS510)、サービス要件管理情報1001を更新する(ステップS511)。DB障害対策判定プログラム1014は、処理結果をクラウドユーザ10に通知する(ステップS512)。ステップS510、ステップS511及びステップS512の処理は、ステップS410、ステップS411及びステップS412の処理と同一である。
次に、図21A及び図21Bに示す処理について説明する。図21A及び図21Bは、ボトルネック箇所10031が「CPU」かつ対処法10032が「対象VMとリソースを共有するVMを他のサーバへ移行」である対処法に対応する処理を示す。
DB障害対策判定プログラム1014は、基盤管理計算機200から、DBボトルネック分析プログラム2011によって算出された不足しているCPUのリソース量を取得する(ステップS601)。
DB障害対策判定プログラム1014は、計算機リソース割当情報2002を参照して、ターゲット仮想計算機600と同一のホスト計算機500上で稼働する他の仮想計算機600を検索する(ステップS602)。ステップS602の処理はステップS404の処理と同一である。
DB障害対策判定プログラム1014は、検索された他の仮想計算機600の中に、他の仮想計算機600が現在稼働しているホスト計算機500から他のホスト計算機500に移行可能な他の仮想計算機600が存在するか否かを判定する(ステップS603)。
具体的には、DB障害対策判定プログラム1014は、計算機リソースの不足が起因する性能劣化が発生しておらず、かつ、サービス要件管理情報1001のハードウェア指定100152が「なし」である仮想計算機600が存在するか否かを判定する。前述した条件を満たす仮想計算機600が存在する場合、現在稼働しているホスト計算機500から他のホスト計算機500に移行可能な他の仮想計算機600が存在すると判定される。
現在稼働しているホスト計算機500から他のホスト計算機500に移行可能な他の仮想計算機600が存在しないと判定された場合(ステップS603がNo)、DB障害対策判定プログラム1014は、対処手順管理情報1004を参照して、次の対処法が存在するか否かを判定する(ステップS604)。ステップS604の処理はステップS403の処理と同一である。
次の対処法が存在すると判定された場合(ステップS604がYes)、DB障害対策判定プログラム1014は、次の対処法に対応する処理を開始する。次の対処法が存在しないと判定された場合(ステップS604がNo)、DB障害対策判定プログラム1014は、処理結果をクラウドユーザ10に通知する(ステップS613)。その後、DB障害対策判定プログラム1014は、処理を終了する。ステップS613の処理はステップS412の処理と同一である。
ステップS603において、現在稼働しているホスト計算機500から他のホスト計算機500に移行可能な他の仮想計算機600が存在すると判定された場合(ステップS603がYes)、DB障害対策判定プログラム1014は、移行可能な仮想計算機600に割り当てられている計算機リソースを算出する(ステップS605)。
例えば、DB障害対策判定プログラム1014は、計算機リソース割当情報2002を参照し、仮想計算機識別子20022が移行可能な仮想計算機600の識別情報と一致する行を検索する。DB障害対策判定プログラム1014は、検索された行の確保形態200232の値を、移行可能な仮想計算機600に割り当てられている計算機リソースとして算出する。なお、実使用量200233、保証値100154等を用いて算出された値であってもよい。
DB障害対策判定プログラム1014は、算出された計算機リソースを用いて、不足している計算機リソースを確保できるか否かを判定する(ステップS606)。ステップS606の処理はステップS406の処理と同一である。
なお、移行可能な仮想計算機600のうち、ステップS606の判定条件を満たす仮想計算機600が複数存在する場合、DB障害対策判定プログラム1014は、算出された計算機リソースが最も小さい仮想計算機600を移行させる仮想計算機600として選択するものとする。
不足している計算機リソースを確保できないと判定された場合(ステップS606がNo)、DB障害対策判定プログラム1014は、ステップS604に進む。
不足している計算機リソースを確保できると判定された場合(ステップS606がYes)、DB障害対策判定プログラム1014は、移行可能な仮想計算機600に必要な計算機リソースを確保できるホスト計算機500が存在するか否かを判定する(ステップS607)。例えば、以下のような処理が実行される。
DB障害対策判定プログラム1014は、計算機リソース割当情報2002を参照して、仮想計算機識別子20022がステップS607の判定条件を満たす仮想計算機600の識別情報と一致する行を検索する。検索された行を含むエントリが移行させる仮想計算機600が稼働するホスト計算機500である。
DB障害対策判定プログラム1014は、サーバリソース使用状態情報2003を参照して、物理計算機識別子20032が前述したホスト計算機500の識別情報と一致する行を検索する。これによって、DB障害対策判定プログラム1014は、前述したホスト計算機500を含むクラスタ900を特定できる。
DB障害対策判定プログラム1014は、サービス要件管理情報1001及びサーバリソース使用状態情報2003等を参照して、特定されたホスト計算機500の中から、占有的に使用されているホスト計算機500を除外する。
さらに、DB障害対策判定プログラム1014は、サーバリソース使用状態情報2003の空き容量200333等を参照して、残りのホスト計算機500の中から、移行させる仮想計算機600に割り当てる計算機リソース分の空きリソースを有するホスト計算機500を検索する。以上がステップS607の処理の一例である。
移行可能な仮想計算機600に必要な計算機リソースを確保できるホスト計算機500が存在しないと判定された場合(ステップS607がNo)、DB障害対策判定プログラム1014は、ステップS604に進む。
移行可能な仮想計算機600に必要な計算機リソースを確保できるホスト計算機500が存在すると判定された場合(ステップS607がYes)、DB障害対策判定プログラム1014は、移行先のホスト計算機500を決定し(ステップS608)、決定されたホスト計算機500へステップS606の判定条件を満たす仮想計算機600を移行する(ステップS609)。
例えば、DB障害対策判定プログラム1014が、基盤管理計算機200のDB障害復旧プログラム2013に仮想計算機600の移行を指示する。DB障害復旧プログラム2013は、当該指示にしたがって、ステップS606の判定条件を満たす仮想計算機600を決定されたホスト計算機500に移行する。なお、ホスト計算機500間の仮想計算機600の移行処理は公知のものであるため説明を省略する。
なお、ステップS608において、移行先の候補となるホスト計算機500が複数存在する場合、空きリソース量が多いホスト計算機500が優先的に選択されるものとする。
ステップS610、ステップS611、ステップS612、ステップS613及びステップS614の処理は、ステップS408、ステップS409、及びステップS410、ステップS411及びステップS412の処理と同一である。
次に、図22に示す処理について説明する。図22は、ボトルネック箇所10031が「CPU」かつ対処法10032が「対象VMを他のサーバへ移行」である対処法に対応する処理を示す。
DB障害対策判定プログラム1014は、基盤管理計算機200から、DBボトルネック分析プログラム2011によって算出された不足しているCPUのリソース量を取得する(ステップS701)。
DB障害対策判定プログラム1014は、ターゲット仮想計算機600に必要な計算機リソースを確保できるホスト計算機500が存在するか否かを判定する(ステップS702)。ステップS702の処理はステップS607の処理と同様の処理である。ステップS702では、移行する仮想計算機600がターゲット仮想計算機600である点がステップS607の処理と異なる。
ターゲット仮想計算機600に必要な計算機リソースを確保できるホスト計算機500が存在しないと判定された場合(ステップS702がNo)、DB障害対策判定プログラム1014は、対処手順管理情報1004を参照して、次の対処法が存在するか否かを判定する(ステップS703)。ステップS703の処理はステップS403の処理と同一である。
次の対処法が存在すると判定された場合(ステップS703がYes)、DB障害対策判定プログラム1014は、次の対処法に対応する処理を開始する。次の対処法が存在しないと判定された場合(ステップS703がNo)、DB障害対策判定プログラム1014は、処理結果をクラウドユーザ10に通知する(ステップS710)。その後、DB障害対策判定プログラム1014は、処理を終了する。ステップS710の処理はステップS412の処理と同一である。
ステップS702において、ターゲット仮想計算機600に必要な計算機リソースを確保できるホスト計算機500が存在すると判定された場合(ステップS702がYes)、DB障害対策判定プログラム1014は、移行先のホスト計算機500を決定し(ステップS704)、決定されたホスト計算機500へターゲット仮想計算機600を移行する(ステップS705)。ステップS704の処理はステップS608の処理と同一である。また、ステップS705の処理はステップS609の処理と同様の処理である。ステップS705では、移行する仮想計算機600がターゲット仮想計算機600である点がステップS609の処理と異なる。
ステップS706、ステップS707、ステップS708、ステップS709及びステップS710の処理は、ステップS408、ステップS409、ステップS410、ステップS411及びステップS412の処理と同一である。
次に、図23に示す処理について説明する。図23は、融通処理を示す。
DB障害対策判定プログラム1014は、基盤管理計算機200から、DBボトルネック分析プログラム2011によって算出された不足しているCPUのリソース量を取得する(ステップS801)。
DB障害対策判定プログラム1014は、計算機リソース割当情報2002を参照して、ターゲット仮想計算機600と同一のホスト計算機500上で稼働する他の仮想計算機600を検索する(ステップS802)。すなわち、ターゲット仮想計算機600と計算機リソースを共有する他の仮想計算機600が検索される。ステップS802の処理はステップS404の処理と同一である。
DB障害対策判定プログラム1014は、サービス要件管理情報1001に基づいて、ターゲット仮想計算機600と計算機リソースを共有する仮想計算機600の中に、性能保証オプションが設定されていない仮想計算機600が存在するか否かを判定する(ステップS803)。
具体的には、DB障害対策判定プログラム1014は、ターゲット仮想計算機600と計算機リソースを共有する仮想計算機600の行の適用状態100141を参照し、適用状態100141が「なし」である仮想計算機600が存在するか否かを判定する。
性能保証オプションが設定されていない仮想計算機600が存在しないと判定された場合(ステップS803がNo)、DB障害対策判定プログラム1014は、対処手順管理情報1004を参照して、次の対処法が存在するか否かを判定する(ステップS804)。ステップS804の処理はステップS403の処理と同一である。
次の対処法が存在すると判定された場合(ステップS804がYes)、DB障害対策判定プログラム1014は、次の対処法に対応する処理を開始する。次の対処法が存在しないと判定された場合(ステップS804がNo)、DB障害対策判定プログラム1014は、処理結果をクラウドユーザ10に通知する(ステップS811)。その後、DB障害対策判定プログラム1014は、処理を終了する。ステップS811の処理はステップS412の処理と同一である。
性能保証オプションが設定されていない仮想計算機600が存在すると判定された場合(ステップS803がYes)、DB障害対策判定プログラム1014は、性能保証オプションが設定されていない仮想計算機600を用いて不足している計算機リソースを確保できるか否かを判定する(ステップS805)。
例えば、DB障害対策判定プログラム1014は、性能保証オプションが設定されていない仮想計算機600に割り当てられているCPUのリソース量が、不足しているCPUのリソース量以上になるか否かを判定する。
性能保証オプションが設定されていない仮想計算機600を用いて不足している計算機リソースを確保できないと判定された場合(ステップS805がNo)、DB障害対策判定プログラム1014は、ステップS804に進む。
性能保証オプションが設定されていない仮想計算機600を用いて、不足している計算機リソースを確保できると判定された場合(ステップS805がYes)、DB障害対策判定プログラム1014は、当該仮想計算機600の計算機リソースをターゲット仮想計算機600の計算機リソースとして流用する(ステップS806)。
例えば、DB障害対策判定プログラム1014は、性能保証オプションが設定されていない仮想計算機600の計算機リソースの流用を基盤管理計算機200のDB障害復旧プログラム2013に指示する。DB障害復旧プログラム2013は、当該指示にしたがって、性能保証オプションが設定されていない仮想計算機600の計算機リソースをターゲット仮想計算機600の計算機リソースとして流用する。
DB障害対策判定プログラム1014は、DB障害対処法管理情報1003に基づいて、性能保証オプションが設定されていない仮想計算機600の計算機リソースを流用することによって料金の変更が発生するか否かを判定する(ステップS807)。
ステップS807では、ターゲット仮想計算機600に対する追加料金の発生の有無だけではなく、計算機リソースが流用された仮想計算機600に対する減額料金の発生の有無も対象となる。なお、処理の内容はステップS408と同様であるため説明を省略する。
性能保証オプションが設定されていない仮想計算機600の計算機リソースを流用しても料金の変更が発生しない場合(ステップS807がNo)、DB障害対策判定プログラム1014は、処理結果をクラウドユーザ10に通知する(ステップS811)。その後、DB障害対策判定プログラム1014は、処理を終了する。ステップS811の処理はステップS412の処理と同一である。
性能保証オプションが設定されていない仮想計算機600の計算機リソースを流用することによって料金の変更が発生すると判定された場合(ステップS807がYes)、DB障害対策判定プログラム1014は、課金計算機800に、料金の変更の発生を通知する(ステップS812)。当該通知には、ターゲット仮想計算機600の識別情報、性能保証オプションが設定されていない仮想計算機600の識別情報、流用された計算機リソース量等の対処法に関する情報が含まれる。DB障害対策判定プログラム1014は、課金計算機800から応答があるまで待ち続ける。
このとき、課金計算機800は、ターゲット仮想計算機600に対する追加料金及び計算機リソースが流用された仮想計算機600に対する減額料金を算出する。課金計算機800は、算出された料金を含む課金情報の通知をクラウド管理計算機100に送信する。
DB障害対策判定プログラム1014は、課金計算機800から課金情報の通知を受信した場合(ステップS809)、サービス要件管理情報1001を更新する(ステップS810)。ステップS809の処理はステップS410の処理と同一である。また、ステップS810の処理はステップS411の処理と同様である。ステップS810では、ターゲット仮想計算機600に対する追加料金及び計算機リソースが流用された仮想計算機600に対する減額料金がサービス要件管理情報1001に反映される点がステップS411の処理と異なる。
DB障害対策判定プログラム1014は、処理結果をクラウドユーザ10に通知する(ステップS811)。その後、DB障害対策判定プログラム1014は、処理を終了する。例えば、性能保証オプションが設定されていない仮想計算機600の計算機リソースを流用した旨、追加料金及び減額料金が通知される。
実施例2では、DBサーバ80の性能劣化の原因がIO不足である点が実施例1と異なる。以下、実施例1との差異を中心に実施例2について説明する。
実施例2のシステム構成は実施例1と同一であるため説明を省略する。また、実施例2のクラウド管理計算機100及び基盤管理計算機200のハードウェア構成及びソフトウェア構成は実施例1と同一であるため説明を省略する。また、実施例2のクラウド管理計算機100及び基盤管理計算機200が管理する情報は実施例1と同一であるため説明を省略する。また、実施例2のクラウド管理計算機100のDB対処手順生成プログラム1013が実行する処理は実施例1と同一であるため説明を省略する。
実施例2では、対処手順管理情報1004の内容及び対処法が実施例1と異なる。図24は、実施例2の対処手順管理情報1004の一例を示す説明図である。
対処手順管理情報1004のデータ構造は実施例1と同一である。実施例2の対処手順管理情報1004は、対処手順管理情報1004の内容が実施例1と異なる。
IOが不足する原因には、HDD等の記憶媒体のIOPS処理能力の不足に起因するケースと、メモリ容量が不足していることによって記憶媒体へのスワップによるIO増加が起因するケースとがある。そのため、IO不足に対応するための一連の対処法は、ホスト計算機500側及びストレージ装置300側にまたがった処理となる。
具体的には、対処法では、ホスト計算機500側の機能で実現可能な処理が優先的に行われ、ホスト計算機500に対する処理だけでは対応できない場合、ストレージ装置300側の処理にて対応する。
ボトルネックの原因がCPUリソースの不足である場合と同様に、メモリ及び記憶媒体のそれぞれの対処手順については、図15、図16及び図17に示すように追加料金の発生の有無及びクラウドユーザ10が入力したポリシに基づいて決定される。
図25A、図25B、図25C及び図25Dは、実施例2のクラウド管理計算機100が対処手順管理情報1004にしたがって実行する処理の一例を説明するフローチャートである。
メモリのリソース量の不足に起因するIO不足については、CPUのリソース量の不足と同様の対処法にて対応することができるため、ここでは、メモリ容量が十分にあり、かつ、性能劣化の原因が記憶媒体のIOPS処理能力の不足であるケースを想定する。すなわち、図24に示すメモリ容量が不足しているか否かの判定結果がNoに分岐した場合の対処法について説明する。
なお、不足しているIOリソース量はすでに取得されているものとする。さらに、追加料金に関連する処理は実施例1と同一であるため省略している。
図25Aは、対処法10032が「ホスト計算機のディスクIOの優先度更新」である対処法に対応する処理を示す。
DB障害対策判定プログラム1014は、サービス要件管理情報1001を参照して、仮想計算機600の仮想ディスク630に記憶領域を提供するボリューム640のディスクIOの優先度を更新できるか否かを判定する(ステップS901)。すなわち、シェア値が変更できるか否かが判定される。なお、ステップS901の判定方法は、ステップS402と同一の方法である。
ボリューム640のディスクIOの優先度を更新できないと判定された場合(ステップS901がNo)、DB障害対策判定プログラム1014は、対処手順管理情報1004を参照して、次の対処法が存在するか否かを判定する(ステップS902)。ステップS902の処理はステップS403の処理と同一である。
次の対処法が存在すると判定された場合(ステップS902がYes)、DB障害対策判定プログラム1014は、次の対処法に対応する処理を開始する。次の対処法が存在しないと判定された場合(ステップS902がNo)、DB障害対策判定プログラム1014は、処理を終了する。
ステップS901において、ボリューム640のディスクIOの優先度を更新できると判定された場合(ステップS901がYes)、DB障害対策判定プログラム1014は、サービス要件管理情報1001、クラウド基盤構成情報2001、計算機リソース割当情報2002、及びストレージリソース使用状態情報2004を参照し、ボリューム640を共有する他の仮想計算機600のIOPSの割当量を保証値まで下げることによって、不足している計算機リソースを確保できるか否かを判定する(ステップS903)。具体的には、以下のような処理が実行される。
DB障害対策判定プログラム1014は、クラウド基盤構成情報2001を参照して、仮想計算機識別子20011がターゲット仮想計算機600の識別情報と一致する行を検索する。DB障害対策判定プログラム1014は、検索された行のボリューム識別子200142に格納される値を取得する。
DB障害対策判定プログラム1014は、ボリューム識別子201423が取得された値と一致する行を検索する。検索された行の仮想計算機識別子20011の値を取得する。ターゲット仮想計算機600以外の識別情報に対応する仮想計算機600が、当該ターゲット仮想計算機600と同一のボリューム640を共有する仮想計算機600となる。
なお、以下の説明では、ターゲット仮想計算機600と同一のボリューム640を共有する仮想計算機600を共有仮想計算機600とも記載する。
DB障害対策判定プログラム1014は、サービス要件管理情報1001を参照して、仮想計算機識別子10012がターゲット仮想計算機600の識別情報と一致し、かつ、対象100153が「ディスク」である行を検索する。また、DB障害対策判定プログラム1014は、仮想計算機識別子10012が共有仮想計算機600の識別情報と一致し、かつ、対象100153が「ディスク」である行を検索する。DB障害対策判定プログラム1014は、検索された行の保証値100154に格納される値を取得する。
DB障害対策判定プログラム1014は、計算機リソース割当情報2002を参照して、仮想計算機識別子20022がターゲット仮想計算機600の識別情報と一致し、かつ、計算機リソース種別200231が「ディスク」である行を検索する。また、DB障害対策判定プログラム1014は、仮想計算機識別子20022が共有仮想計算機600の識別情報と一致し、かつ、計算機リソース種別200231が「ディスク」である行を検索する。DB障害対策判定プログラム1014は、検索された行の確保形態200232に格納される値を取得する。
DB障害対策判定プログラム1014は、ターゲット仮想計算機600の保証値100154及び確保形態200232から取得された値、並びに、共有仮想計算機600の保証値100154及び確保形態200232から取得された値に基づいて、共有仮想計算機600のIOPSの割当量を保証値まで下げることによって、不足している計算機リソースを確保できるか否かを判定する。以上がステップS903の処理の説明である。
不足している計算機リソースを確保できないと判定された場合(ステップS903がNo)、DB障害対策判定プログラム1014は、ステップS902に進む。
不足している計算機リソースを確保できると判定された場合(ステップS903がYes)、DB障害対策判定プログラム1014は、ターゲット仮想計算機600のシェア値を更新することによって、不足している計算機リソースを確保する(ステップS904)。その後、DB障害対策判定プログラム1014は、処理を終了する。
図25Bは、対処法10032が「他のVMのボリュームを移行」である対処法に対応する処理を示す。
ここで、「他のVMのボリュームを移行」とは、仮想計算機600のイメージデータが格納されるボリューム640を他のボリューム640にコピーすることを意味する。
DB障害対策判定プログラム1014は、サービス要件管理情報1001のハードウェア指定100152を参照して、ディスクを共有する他の仮想計算機600を他のボリュームに移行できるか否かを判定する(ステップS911)。
ディスクを共有する他の仮想計算機600を他のボリュームに移行できないと判定された場合(ステップS911がNo)、DB障害対策判定プログラム1014は、対処手順管理情報1004を参照して、次の対処法が存在するか否かを判定する(ステップS912)。ステップS912の処理はステップS403の処理と同一である。
次の対処法が存在すると判定された場合(ステップS912がYes)、DB障害対策判定プログラム1014は、次の対処法に対する処理を開始する。次の対処法が存在しないと判定された場合(ステップS912がNo)、DB障害対策判定プログラム1014は、処理を終了する。
ディスクを共有する他の仮想計算機600を他のボリュームに移行できると判定された場合(ステップS911がYes)、DB障害対策判定プログラム1014は、計算機リソース割当情報2002、ストレージリソース使用状態情報2004及びストレージ構成情報2005を参照して、ターゲット仮想計算機600とディスクを共有する他の仮想計算機600のうち、ディスク指定のない仮想計算機600に対するIOPSの合計値が不足しているIOリソース量以上であるか否かを判定する(ステップS913)。
ディスク指定のない仮想計算機600に対するIOPSの合計値が不足しているIOリソース量より小さい場合(ステップS913がNo)、DB障害対策判定プログラム1014は、ステップS912に進む。
ディスク指定のない仮想計算機600に対するIOPSの合計が不足しているIOリソース量以上である場合(ステップS913がYes)、DB障害対策判定プログラム1014は、ストレージリソース使用状態情報2004及びストレージ構成情報2005を参照して、ディスク指定がない仮想計算機600に必要な計算機リソースを有するストレージ装置300を確保できるか否か判定する(ステップS914)。
条件を満たすストレージ装置300を確保できないと判定された場合(ステップS914がNo)、DB障害対策判定プログラム1014は、ステップS912に進む。
条件を満たすストレージ装置300を確保できると判定された場合(ステップS914がYes)、DB障害対策判定プログラム1014は、ステップS913において選択された他の仮想計算機600を、条件を満たすストレージ装置300に移行する(ステップS918)。その後、DB障害対策判定プログラム1014は、処理を終了する。なお、移行先のストレージ装置300が複数存在する場合、DB障害対策判定プログラム1014は、IOPSの空きが多いものを優先的に選択するものとする。
図25Cは、対処法10032が「論理記憶領域の増強」である対処法に対応する処理を示す。
DB障害対策判定プログラム1014は、ストレージ構成情報2005を参照して、スペアディスクの有無を確認して、論理記憶領域310を増強できるか否かを判定する(ステップS921)。
論理記憶領域の増強ができないと判定された場合(ステップS921がNo)、DB障害対策判定プログラム1014は、対処手順管理情報1004を参照して、次の対処法が存在するか否かを判定する(ステップS922)。ステップS922の処理はステップS403の処理と同一である。
次の対処法が存在すると判定された場合(ステップS922がYes)、DB障害対策判定プログラム1014は、次の対処法に対応する処理を開始する。次の対処法が存在しないと判定された場合(ステップS922がNo)、DB障害対策判定プログラム1014は、処理を終了する。
ステップS921において、論理記憶領域の増強ができると判定された場合(ステップS921がYes)、DB障害対策判定プログラム1014は、ストレージプール320にディスクを追加する(ステップS923)。その後、DB障害対策判定プログラム1014は、処理を終了する。
図25Dは、対処法10032が「IOPSの融通」である対処法に対応する処理を示す。
DB障害対策判定プログラム1014は、ターゲット仮想計算機600とディスクを共有する他の仮想計算機600を検索する(ステップS931)。さらに、DB障害対策判定プログラム1014は、サービス要件管理情報1001を参照して、検索された仮想計算機600の中に、性能保証オプションが設定されていない仮想計算機600が存在するか否かを判定する(ステップS932)。
条件を満たす他の仮想計算機600が存在しないと判定された場合(ステップS932がNo)、DB障害対策判定プログラム1014は、対処手順管理情報1004を参照して、次の対処法が存在するか否かを判定する(ステップS933)。ステップS933の処理はステップS403の処理と同一である。
次の対処法が存在すると判定された場合(ステップS933がYes)、DB障害対策判定プログラム1014は、次の対処法に対応する処理を開始する。次の対処法が存在しないと判定された場合(ステップS933がNo)、DB障害対策判定プログラム1014は、処理を終了する。
ステップS932において、条件を満たす他の仮想計算機600が存在すると判定された場合(ステップS932がYes)、DB障害対策判定プログラム1014は、当該仮想計算機600が使用しているディスクのIOPSが不足しているIOリソース量以上であるか否かを判定する(ステップS934)。
他の仮想計算機600が使用しているディスクのIOPSが不足しているIOリソース量より小さいと判定された場合(ステップS934がNo)、DB障害対策判定プログラム1014は、ロードバランサ60に対して、フロントエンド側の流量を制限する旨の要求を送信する(ステップS935)。その後、DB障害対策判定プログラム1014は、処理を終了する。
他の仮想計算機600が使用しているディスクのIOPSが不足しているIOリソース量以上であると判定された場合(ステップS934がYes)、DB障害対策判定プログラム1014は、例えば、ボリューム640のIOPSシェア値の変更機能を用いて、性能保証オプションが設定されていない他の仮想計算機600のIOPSをターゲット仮想計算機600に流用する(ステップS936)。その後、DB障害対策判定プログラム1014は、処理を終了する。
なお、ステップS936の処理を実行した後、ターゲット仮想計算機600へのアクセス数が減りディスクに対する負荷が減少した場合、DB障害対策判定プログラム1014は、通常のシェア値に設定を戻す。
以上で説明したように、クラウド管理計算機100は、テナント50のサービスの契約内容に基づいて、DBサーバ80の障害に対応するための対処法を選択し、また、ポリシ等に基づいて選択された対処法の判定順番を決定することができる。すなわち、適切な対処手順管理情報1004が生成される。
また、クラウド管理計算機100は、対処手順管理情報1004と、サービス要件管理情報1001及び計算機リソース割当情報2002等の他のテナント50の情報とに基づいて対処法を実行することによって、他のテナント50への影響を抑えつつ、障害が発生したDBサーバ80を含むテナント50の性能を保証できる。
なお、DBサーバ80とは仮想計算機600を用いて実現していたが、一つのホスト計算機500を用いて実現してもよい。この場合、DB障害対処法管理情報1003には、ホスト計算機500に対する対処法が格納される。
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。また、例えば、上記した実施例は本発明を分かりやすく説明するために構成を詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、各実施例の構成の一部について、他の構成に追加、削除、置換することが可能である。
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、本発明は、実施例の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をコンピュータに提供し、そのコンピュータが備えるCPUが記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、CD−ROM、DVD−ROM、ハードディスク、SSD(Solid State Drive)、光ディスク、光磁気ディスク、CD−R、磁気テープ、不揮発性のメモリカード、ROMなどが用いられる。
また、本実施例に記載の機能を実現するプログラムコードは、例えば、アセンブラ、C/C++、perl、Shell、PHP、Java(登録商標)等の広範囲のプログラム又はスクリプト言語で実装できる。
さらに、実施例の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することによって、それをコンピュータのハードディスクやメモリ等の記憶手段又はCD−RW、CD−R等の記憶媒体に格納し、コンピュータが備えるCPUが当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしてもよい。
上述の実施例において、制御線や情報線は、説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていてもよい。
10 クラウドユーザ
20 クラウド管理者
30 ポータル
40 ネットワーク
50 テナント
60 ロードバランサ
70 Webサーバ
80 DBサーバ
90 クラウドシステム
100 クラウド管理計算機
200 基盤管理計算機
300 ストレージ装置
310 論理記憶領域
320 ストレージプール
400 ネットワーク接続装置
500 ホスト計算機
600 仮想計算機
610 DB
620 ゲストOS
630 ボリューム
700 管理用ネットワーク
800 課金計算機
900 クラスタ
1000 プログラムメモリ
1001 サービス要件管理情報
1002 ポリシ管理情報
1003 DB障害対処法管理情報
1004 対処手順管理情報
1010 サービス管理プログラム
1011 ポリシ管理プログラム
1012 対処法管理プログラム
1013 DB対処手順生成プログラム
1014 DB障害対策判定プログラム
1015 課金管理プログラム
2000 プログラムメモリ
2001 クラウド基盤構成情報
2002 計算機リソース割当情報
2003 サーバリソース使用状態情報
2004 ストレージリソース使用状態情報
2005 ストレージ構成情報
2010 DB障害検知プログラム
2011 DBボトルネック分析プログラム
2012 構成管理プログラム
2013 DB障害復旧プログラム
2014 リソース監視プログラム

Claims (14)

  1. 複数の計算機を備える計算機システムであって、
    前記複数の計算機は、前記計算機システムを管理する少なくとも一つの第1の計算機、及びユーザの業務に使用する業務システムを構築するための計算機リソースを提供する複数の第2の計算機を含み、
    前記少なくとも一つの第1の計算機は、第1のプロセッサ、前記第1のプロセッサに接続される第1のメモリ、及び前記第1のプロセッサに接続される第1のインタフェースを有し、
    前記複数の第2の計算機の各々は、第2のプロセッサ、前記第2のプロセッサに接続される第2のメモリ、前記第2のプロセッサに接続される第2のインタフェース、及び記憶装置を有し、
    前記業務システムは、複数の業務計算機を含み、
    前記少なくとも一つの第1の計算機は、
    前記計算機システム上に構築された複数の業務システムの各々のサービス要件を管理するサービス要件管理情報と、前記業務計算機の性能劣化が検知された場合、計算機リソースの種別毎の性能劣化を改善するための制御方法である対処法を管理する対処法管理情報と、を保持し、
    複数の対処法の集合であり、性能劣化が検知された前記業務計算機に対して前記対処法を実行できるか否かを判定する順番を含む対処手順管理情報を生成する対処手順生成部を有し、
    前記サービス要件は、前記業務システムに含まれる前記複数の業務計算機の各々の性能保証の条件、前記業務システムに含まれる前記複数の業務計算機の各々の運用の条件、及び、前記業務システムの課金体系の条件に関する情報を含み、
    前記対処法管理情報に含まれる複数の対処法の各々は、前記対処法に対応する処理におけるコスト情報と対応付けられて管理され、
    前記対処手順生成部は、
    前記対処手順管理情報を生成する対象の業務システムを選択し、
    前記対象の業務システムに含まれる前記複数の業務計算機の中から処理対象の業務計算機を選択し、
    前記処理対象の業務計算機における対象の計算機リソースを選択し、
    前記サービス要件管理情報に基づいて、前記対処法管理情報に含まれる前記複数の対処法の中から、前記対象の業務システムの前記サービス要件に合致する複数の対処法を選択し、
    前記選択された複数の対処法が実行可能か否かを判定する判定順番を決定することによって、前記対処手順管理情報を生成することを特徴とする計算機システム。
  2. 請求項1に記載の計算機システムであって、
    前記少なくとも一つの第1の計算機は、
    前記複数の業務システムの各々に対する計算機リソースの割当状態を管理する計算機リソース割当情報、及び複数の対処手順管理情報を保持し、
    前記対処手順管理情報にしたがって、前記対処法に対応する処理を実行する障害対策判定部を有し、
    前記障害対策判定部は、
    任意の業務計算機の性能劣化が検知された場合、性能劣化が検知された前記業務計算機の識別情報及び性能劣化の原因となる前記計算機リソースの種別に基づいて、前記複数の対処手順管理情報の中から適用する前記対処手順管理情報を選択し、
    前記選択された対処手順管理情報の前記判定順番にしたがって前記対処法を一つ選択し、
    前記サービス要件管理情報及び前記計算機リソースの割当情報を参照して、前記性能劣化が検知された業務計算機を含む業務システム以外の業務システムの前記サービス要件及び前記計算機リソースの割当状態に基づいて、前記性能劣化が検知された業務計算機に対して前記選択された対処法を実行できるか否かを判定し、
    前記性能劣化が検知された業務計算機に前記選択された対処法を実行できると判定した場合、前記選択された対処法を実行することを特徴とする計算機システム。
  3. 請求項2に記載の計算機システムであって、
    前記複数の第2の計算機の各々は、前記計算機リソースを論理的に分割することによって生成された仮想計算機を管理する仮想化部を有し、
    第1の業務計算機及び業務計算機は前記仮想計算機を用いて実現され、
    前記計算機リソース割当情報は、前記複数の第2の計算機の各々で稼働する複数の仮想計算機に対する計算機リソースの割り当てに関する情報を含み、
    前記対処手順生成部は、
    前記対象の業務システムの課金体系が追加料金の発生が許容されていない課金体系であるか否かを判定し、
    前記対象の業務システムの課金体系が追加料金の発生が許容されていない課金体系であると判定された場合、前記対処法管理情報を参照して、追加料金が発生しない前記複数の対処法を選択し、さらに、前記選択された複数の対処法の中から前記処理対象の業務計算機の性能保証の条件及び運用の条件を満たす複数の対処法を選択し、
    前記対象の業務システムの課金体系が追加料金の発生が許容されている課金体系であると判定された場合、前記対処法管理情報を参照して、前記処理対象の業務計算機の性能保証の条件及び運用の条件を満たす複数の対処法を選択することを特徴とする計算機システム。
  4. 請求項3に記載の計算機システムであって、
    前記対処手順生成部は、
    前記対処法管理情報を参照して、処理負荷が低い順又は処理時間が短い順に前記選択された複数の対処法の前記判定順番を決定し、
    性能劣化が許容されている業務計算機に割り当てられた計算機リソースを流用する対処法を前記決定された判定順番の最後に追加することによって、前記対処手順管理情報を生成することを特徴とする計算機システム。
  5. 請求項3に記載の計算機システムであって、
    前記少なくとも一つの第1の計算機は、前記複数の業務システムの各々の前記判定順番を決定するためのポリシ管理情報を保持し、
    前記対処手順生成部は、
    前記ポリシ管理情報を参照して、前記選択された複数の対処法の前記判定順番を決定することを特徴とする計算機システム。
  6. 請求項3に記載の計算機システムであって、
    前記仮想化部は、当該仮想化部が管理する複数の仮想計算機に対する前記計算機リソースの配分率を決定するためのシェア値を設定し、
    前記複数の対処法は、前記シェア値の変更処理、前記第2の計算機間における前記仮想計算機の移行処理、及び前記計算機リソースの追加を含むことを特徴とする計算機システム。
  7. 請求項3に記載の計算機システムであって、
    前記計算機システムは、前記業務システムのユーザの利用料金を算出する課金部を有する計算機を備え、
    前記障害対策判定部は、
    前記選択された対処法を実行することによって利用料金に変更があるか否かを判定し、
    前記選択された対処法を実行することによって利用料金に変更があると判定された場合、前記選択された対処法の処理結果を含む通知を前記課金部に送信することを特徴とする計算機システム。
  8. 複数の計算機を備える計算機システムの性能障害の対処方法であって、
    前記複数の計算機は、前記計算機システムを管理する少なくとも一つの第1の計算機、及びユーザの業務に使用する業務システムを構築するための計算機リソースを提供する複数の第2の計算機を含み、
    前記少なくとも一つの第1の計算機は、第1のプロセッサ、前記第1のプロセッサに接続される第1のメモリ、及び前記第1のプロセッサに接続される第1のインタフェースを有し、
    前記複数の第2の計算機の各々は、第2のプロセッサ、前記第2のプロセッサに接続される第2のメモリ、前記第2のプロセッサに接続される第2のインタフェース、及び記憶装置を有し、
    前記業務システムは、複数の業務計算機を含み、
    前記少なくとも一つの第1の計算機は、
    前記計算機システム上に構築された複数の業務システムの各々のサービス要件を管理するサービス要件管理情報と、前記業務計算機の性能劣化が検知された場合、計算機リソースの種別毎の性能劣化を改善するための制御方法である対処法を管理する対処法管理情報と、を保持し、
    複数の対処法の集合であり、性能劣化が検知された前記業務計算機に対して前記対処法を実行できるか否かを判定する順番を含む対処手順管理情報を生成する対処手順生成部を有し、
    前記サービス要件は、前記業務システムに含まれる前記複数の業務計算機の各々の性能保証の条件、前記業務システムに含まれる前記複数の業務計算機の各々の運用の条件、及び、前記業務システムの課金体系の条件に関する情報を含み、
    前記対処法管理情報に含まれる複数の対処法の各々は、前記対処法に対応する処理におけるコスト情報と対応付けられて管理され、
    前記計算機システムの性能障害の対処方法は、
    前記対処手順生成部が、前記対処手順管理情報を生成する対象の業務システムを選択する第1のステップと、
    前記対処手順生成部が、前記対象の業務システムに含まれる前記複数の業務計算機の中から処理対象の業務計算機を選択する第2のステップと、
    前記対処手順生成部が、前記処理対象の業務計算機における対象の計算機リソースを選択する第3のステップと、
    前記対処手順生成部が、前記サービス要件管理情報に基づいて、前記対処法管理情報に含まれる前記複数の対処法の中から、前記対象の業務システムの前記サービス要件に合致する複数の対処法を選択する第4のステップと、
    前記対処手順生成部が、前記選択された複数の対処法が実行可能か否かを判定する判定順番を決定することによって、前記対処手順管理情報を生成する第5のステップと、を含むことを特徴とする計算機システムの性能障害の対処方法。
  9. 請求項8に記載の計算機システムの性能障害の対処方法であって、
    前記少なくとも一つの第1の計算機は、
    前記複数の業務システムの各々に対する計算機リソースの割当状態を管理する計算機リソース割当情報、及び複数の対処手順管理情報を保持し、
    前記対処手順管理情報にしたがって、前記対処法に対応する処理を実行する障害対策判定部を有し、
    前記計算機システムの性能障害の対処方法は、
    前記障害対策判定部が、任意の業務計算機の性能劣化が検知された場合、性能劣化が検知された前記業務計算機の識別情報及び性能劣化の原因となる計算機リソースの種別に基づいて、前記複数の対処手順管理情報の中から適用する前記対処手順管理情報を選択するステップと、
    前記障害対策判定部が、前記選択された対処手順管理情報の前記判定順番にしたがって前記対処法を一つ選択するステップと、
    前記障害対策判定部が、前記サービス要件管理情報及び前記計算機リソースの割当情報を参照して、前記性能劣化が検知された業務計算機を含む業務システム以外の業務システムの前記サービス要件及び前記計算機リソースの割当状態に基づいて、前記性能劣化が検知された業務計算機に対して前記選択された対処法を実行できるか否かを判定するステップと、
    前記障害対策判定部が、前記性能劣化が検知された業務計算機に前記選択された対処法を実行できると判定した場合、前記選択された対処法を実行するステップと、を含むことを特徴とする計算機システムの性能障害の対処方法。
  10. 請求項9に記載の計算機システムの性能障害の対処方法であって、
    前記複数の第2の計算機の各々は、前記計算機リソースを論理的に分割することによって生成された仮想計算機を管理する仮想化部を有し、
    第1の業務計算機及び業務計算機は前記仮想計算機を用いて実現され、
    前記計算機リソース割当情報は、前記複数の第2の計算機の各々で稼働する複数の仮想計算機に対する計算機リソースの割り当てに関する情報を含み、
    前記第4のステップは、
    前記対象の業務システムの課金体系が追加料金の発生が許容されていない課金体系であるか否かを判定するステップと、
    前記対象の業務システムの課金体系が追加料金の発生が許容されていない課金体系であると判定された場合、前記対処法管理情報を参照して、追加料金が発生しない前記複数の対処法を選択し、さらに、前記選択された複数の対処法の中から前記処理対象の業務計算機の性能保証の条件及び運用の条件を満たす複数の対処法を選択するステップと、
    前記対象の業務システムの課金体系が追加料金の発生が許容されている課金体系であると判定された場合、前記対処法管理情報を参照して、前記処理対象の業務計算機の性能保証の条件及び運用の条件を満たす複数の対処法を選択するステップと、を含むことを特徴とする計算機システムの性能障害の対処方法。
  11. 請求項10に記載の計算機システムの性能障害の対処方法であって、
    前記第5のステップは、
    前記対処法管理情報を参照して、処理負荷が低い順又は処理時間が短い順に前記選択された複数の対処法の前記判定順番を決定するステップと、
    性能劣化が許容されている業務計算機に割り当てられた計算機リソースを流用する対処法を前記決定された判定順番の最後に追加することによって、前記対処手順管理情報を生成するステップと、を含むことを特徴とする計算機システムの性能障害の対処方法。
  12. 請求項10に記載の計算機システムの性能障害の対処方法であって、
    前記少なくとも一つの第1の計算機は、前記複数の業務システムの各々の前記判定順番を決定するためのポリシ管理情報を保持し、
    前記第5のステップは、前記ポリシ管理情報を参照して、前記選択された複数の対処法の前記判定順番を決定するステップを含むことを特徴とする計算機システムの性能障害の対処方法。
  13. 請求項10に記載の計算機システムの性能障害の対処方法であって、
    前記仮想化部は、当該仮想化部が管理する複数の仮想計算機に対する前記計算機リソースの配分率を決定するためのシェア値を設定し、
    前記複数の対処法は、前記シェア値の変更処理、前記第2の計算機間における前記仮想計算機の移行処理、及び前記計算機リソースの追加を含むことを特徴とする計算機システムの性能障害の対処方法。
  14. 請求項10に記載の計算機システムの性能障害の対処方法であって、
    前記計算機システムは、前記業務システムのユーザの利用料金を算出する課金部を有する計算機を備え、
    前記計算機システムの性能障害の対処方法は、
    前記障害対策判定部が、前記選択された対処法を実行することによって利用料金に変更があるか否かを判定するステップと、
    前記障害対策判定部が、前記選択された対処法を実行することによって利用料金に変更があると判定された場合、前記選択された対処法の処理結果を含む通知を前記課金部に送信するステップと、を含むことを特徴とする計算機システムの性能障害の対処方法。
JP2015013183A 2015-01-27 2015-01-27 計算機システム及び計算機システムの性能障害の対処方法 Expired - Fee Related JP6293683B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015013183A JP6293683B2 (ja) 2015-01-27 2015-01-27 計算機システム及び計算機システムの性能障害の対処方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015013183A JP6293683B2 (ja) 2015-01-27 2015-01-27 計算機システム及び計算機システムの性能障害の対処方法

Publications (2)

Publication Number Publication Date
JP2016139237A JP2016139237A (ja) 2016-08-04
JP6293683B2 true JP6293683B2 (ja) 2018-03-14

Family

ID=56560324

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015013183A Expired - Fee Related JP6293683B2 (ja) 2015-01-27 2015-01-27 計算機システム及び計算機システムの性能障害の対処方法

Country Status (1)

Country Link
JP (1) JP6293683B2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018020603A1 (ja) * 2016-07-27 2018-02-01 株式会社日立製作所 計算機システム及びアクセラレータ管理方法
KR101826498B1 (ko) * 2017-05-02 2018-02-07 나무기술 주식회사 클라우드 플랫폼 시스템
JP7011162B2 (ja) * 2018-02-05 2022-01-26 富士通株式会社 性能調整プログラム、および性能調整方法
JP6842447B2 (ja) * 2018-09-12 2021-03-17 株式会社日立製作所 リソース割当ての最適化を支援するシステム及び方法
JP7290997B2 (ja) * 2019-05-30 2023-06-14 株式会社日立製作所 クラウド利用支援装置、及びクラウド利用支援方法
JP7332488B2 (ja) * 2020-01-16 2023-08-23 株式会社日立製作所 ストレージシステム及びストレージシステムの制御方法
JP7332668B2 (ja) 2021-10-29 2023-08-23 株式会社日立製作所 システム管理装置及びシステム管理方法
CN115225608A (zh) * 2022-07-22 2022-10-21 济南浪潮数据技术有限公司 一种dns域名解析的负载均衡方法、装置、设备及介质

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7664798B2 (en) * 2003-09-04 2010-02-16 Oracle International Corporation Database performance baselines
JP4982216B2 (ja) * 2007-03-14 2012-07-25 株式会社日立製作所 ポリシ作成支援方法、ポリシ作成支援システム、およびプログラム
TW201112006A (en) * 2009-05-29 2011-04-01 Ibm Computer system, method and program product
JP2011210134A (ja) * 2010-03-30 2011-10-20 Nec Corp 管理サーバ、仮想マシン管理方法および仮想マシン管理プログラム
JP2012133629A (ja) * 2010-12-22 2012-07-12 Nomura Research Institute Ltd ストレージリソース制御システムおよびストレージリソース制御プログラムならびにストレージリソース制御方法
JP2014002583A (ja) * 2012-06-19 2014-01-09 Nifty Corp 情報処理装置、情報処理システム、情報処理方法、及び、プログラム
WO2014024251A1 (ja) * 2012-08-06 2014-02-13 富士通株式会社 クラウドサービス選択装置、クラウドサービス選択システム、クラウドサービス選択方法、およびクラウドサービス選択プログラム
JP5951111B2 (ja) * 2012-11-09 2016-07-13 株式会社日立製作所 管理計算機、計算機システム、及びインスタンス管理方法
JP6186817B2 (ja) * 2013-04-05 2017-08-30 富士通株式会社 情報処理装置、情報処理プログラム及び情報処理方法

Also Published As

Publication number Publication date
JP2016139237A (ja) 2016-08-04

Similar Documents

Publication Publication Date Title
JP6293683B2 (ja) 計算機システム及び計算機システムの性能障害の対処方法
US10873623B2 (en) Dynamically modifying a cluster of computing nodes used for distributed execution of a program
JP5412599B2 (ja) 計算機システム、および、計算機システムにおける仮想計算機の最適配置方法
JP6051228B2 (ja) 計算機システム、ストレージ管理計算機及びストレージ管理方法
AU2019202695A1 (en) Opportunistic resource migration to optimize resource placement
JP6190969B2 (ja) マルチテナントリソース調停方法
US9135041B2 (en) Selecting provisioning targets for new virtual machine instances
US20160156568A1 (en) Computer system and computer resource allocation management method
US10248460B2 (en) Storage management computer
GB2582223A (en) Determining an optimal computing environment for running an image
US10990433B2 (en) Efficient distributed arrangement of virtual machines on plural host machines
US20170359221A1 (en) Method and management system for calculating billing amount in relation to data volume reduction function
JP2019079334A (ja) 情報処理装置、情報処理システムおよび情報処理方法
JP6374845B2 (ja) 計算機システム及びコンテナ管理方法
US20220237016A1 (en) Apparatus for determining resource migration schedule
US20160337445A1 (en) Method and apparatus to deploy applications in cloud environments
US20130185531A1 (en) Method and apparatus to improve efficiency in the use of high performance storage resources in data center
JP2017138895A (ja) 仮想化環境管理システムおよび仮想化環境管理方法
CN112948279A (zh) 管理存储***中的访问请求的方法、设备和程序产品
WO2013171944A1 (ja) 仮想マシン管理システム、仮想マシン管理方法およびプログラム
JP5988505B2 (ja) 仮想リソース管理装置、選択方法及び選択プログラム
JP6960444B2 (ja) 計算機システム及びリソース管理方法
JP6963465B2 (ja) 計算機システム及びデータ処理の制御方法
JP6098167B2 (ja) 仮想マシン管理プログラム及びその方法
US11237745B2 (en) Computer system and volume arrangement method in computer system to reduce resource imbalance

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170310

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171220

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180214

R150 Certificate of patent or registration of utility model

Ref document number: 6293683

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees