JP6263083B2 - 仮想システムの稼働率管理方法、稼働率管理プログラム、および稼働率管理装置 - Google Patents

仮想システムの稼働率管理方法、稼働率管理プログラム、および稼働率管理装置 Download PDF

Info

Publication number
JP6263083B2
JP6263083B2 JP2014099915A JP2014099915A JP6263083B2 JP 6263083 B2 JP6263083 B2 JP 6263083B2 JP 2014099915 A JP2014099915 A JP 2014099915A JP 2014099915 A JP2014099915 A JP 2014099915A JP 6263083 B2 JP6263083 B2 JP 6263083B2
Authority
JP
Japan
Prior art keywords
virtual machine
server
virtual
state
operating
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2014099915A
Other languages
English (en)
Other versions
JP2015215857A (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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2014099915A priority Critical patent/JP6263083B2/ja
Publication of JP2015215857A publication Critical patent/JP2015215857A/ja
Application granted granted Critical
Publication of JP6263083B2 publication Critical patent/JP6263083B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、仮想化基盤を適用したネットワークサーバ装置におけるシステム稼働率を管理する仮想システムの稼働率管理方法、稼働率管理プログラム、および稼働率管理装置に関する。
通信サービスには、高い稼働率が要求される。そのため、従来の通信装置は、詳細な稼働率設計のもとで高い稼働率を実現してきた。各通信装置に要求される稼働率は、この通信装置が故障したときに影響を受ける利用者の数から算出可能である。
このような高い稼働率を実現するために、信頼性の高いハードウェアを選択する方策がとられる場合がある。各ソフトウェアを組み合わせてシステムとして高い稼働率を達成できるように、各ソフトウェアに対して充分な試験を実施する方策がとられる場合がある。また、故障に備えてシステムを冗長化する方策や、保守者が即座に駆けつけて修理可能な体制とする方策がとられる場合がある。
近年では、VoIP(Voice over Internet Protocol)のセッション制御サーバのような通信装置に、仮想化技術を適用するという動きがある。例えば、非特許文献1のあらましには、「また、キャリア網を構成する通信制御サーバの仮想化・クラウド化が行われつつある。これらを前提とすると、プール化されたリソースを活用することで、キャリアグレードサーバに求められる無停止保守運用をより簡易に実施可能となる。」と記載されている。
仮想化が適用されたシステムにおいて、個々の通信装置は、仮想マシン(仮想サーバ)として実装され、物理サーバの集合であるサーバプール上で稼働される。通信サーバを稼働させる仮想マシンは、仮想化技術によってリソースプール上のどの物理サーバでも稼働させることができる。このような仮想化技術の例として、Linux(登録商標)上のKVM(Kernel-based Virtual Machine)や、オープンソースのクラウド基盤として知られているOpenStack(登録商標)などがある。
このような仮想化技術により、或る物理サーバのハードウェア故障の際には、故障していない別の物理サーバ上で仮想マシンを立ち上げ直すことで、容易に仮想システムを復旧可能となる。
西村豪生、岩佐絵里子、入江道生、「リソースプールを活用してキャリアグレード保守運用を実現する通信制御サーバミドルウェア」、電子情報通信学会技術研究報告、電子情報通信学会、2013年7月4日、第113巻、第124号、ICM2013-20、pp.63-68
一方、仮想システムであるリソースプールが、それぞれ仕様の異なるハードウェアで構成される状況を考える。このような仮想システムは、仮想マシンを稼働させるハードウェアと、仮想マシン上のソフトウェアとの組み合わせによって、システムとしての稼働率に変動が生じる可能性がある。
仮想化技術が導入されていない従来の通信システムは、ハードウェアとソフトウェアとの組み合わせが少ない。よって、従来の通信システムは、ハードウェアとソフトウェアとを組み合わせたシステムの試験を充分に行い、その後にサービスを運用することが可能である。また従来の通信システムは、通信装置の稼働率をハードウェアの想定稼働率からあらかじめ見積もることも可能である。
しかし、仮想化技術が導入された通信システム(仮想システム)では、多様なサーバで構成されるリソースプール上で様々なサービスが提供されることになり、ハードウェアとソフトウェアとの組み合わせが多数になる。そのため、仮想システムは、ハードウェアとソフトウェアの全ての組み合わせにおいて、事前に試験を行うことは困難である。よって、仮想システムは、従来の通信システムのように、通信装置の稼働率をハードウェアの想定稼働率からあらかじめ見積もることができず、サービスとしての稼働率を見積もることが困難となる虞がある。
本発明は、前記した問題を解決し、仮想化システムを構成するハードウェアとソフトウェアの各組み合わせにおける稼働率を把握可能な仮想システムの稼働率管理方法、稼働率管理プログラム、および稼働率管理装置を提供することを課題とする。
前記課題を解決するため、請求項1に記載の発明では、サーバと、前記サーバが備えるハイパーバイザによって具現化される仮想マシンとを含んで構成される仮想システムの稼働率管理方法であって、各前記仮想マシンに稼働状態を問い合わせるステップと、前記仮想マシンのライフサイクルの遷移に基づき、当該仮想マシンが異常であるか否かを判断するステップと、前記仮想マシンの稼働状態に基づいて判断した当該仮想マシンの稼働開始日時または/および停止日時を記録するステップと、前記仮想マシンを具現化した前記サーバのハードウェア仕様情報と前記仮想マシンを具現化したイメージに係るソフトウェア情報との組み合わせごとに、各前記仮想マシンの稼働時間を集計するステップと、前記組み合わせごとに、各前記仮想マシンの稼働時間の分布を算出するステップと、を実行することを特徴とする仮想システムの稼働率管理方法とした。
このようにすることで、仮想化システムを構成するハードウェアとソフトウェアの各組み合わせにおける稼働率を把握可能となる。ここで仮想化システムを構成するハードウェアとは、各サーバのハードウェアのことをいう。仮想化システムを構成するソフトウェアとは、各仮想マシンを具現化するためのソフトウェアイメージや、各仮想マシン上で動作するアプリケーションプログラムのことをいう。
また、このようにすることで、仮想化システムを構成するハードウェアとソフトウェアの各組み合わせにおける稼働率の分布を容易に把握可能となる。
請求項2に記載の発明では、異常であると判断した前記仮想マシンを強制的に停止させるステップ、を実行することを特徴とする請求項1に記載の仮想システムの稼働率管理方法とした。
このようにすることで、仮想マシンの異常状態を外部から検知して、いち早く停止させることができ、無駄なリソースを消費することが無くなる。それと共に、異常が発生した仮想マシンの代替をいち早く再起動することができるので、仮想化システムの稼働率を向上させることができる。
請求項3に記載の発明では、各前記仮想マシンに稼働状態を問い合わせた際にタイムアウトしたならば、当該仮想マシンが異常であると判断するステップ、を実行することを特徴とする請求項1または請求項2に記載の仮想システムの稼働率管理方法とした。
このようにすることで、仮想マシンが正常に応答できなくなった場合でも、この仮想マシンが異常停止したことを外部から検知可能となる。
請求項4に記載の発明では、各前記仮想マシンのライフサイクルは、第1の稼働状態から第2の稼働状態に遷移した後において、前記第1の稼働状態には遷移しないように構成される、ことを特徴とする請求項1に記載の仮想システムの稼働率管理方法とした。
このようにすることで、仮想マシンの監視周期が各状態の遷移期間よりも長い場合であっても、仮想マシンの状態遷移の異常を確実に検知できる。よって、仮想マシンとの通信間隔を長くして、システムのオーバヘッドを減らすことができる。
請求項5に記載の発明では、前記集計の結果から、前記仮想マシンを具現化した前記サーバのハードウェア仕様情報と、前記仮想マシンを具現化したイメージに係るソフトウェア情報との組み合わせごとに、各前記仮想マシンの平均的な故障間隔や復旧時間を算出するステップ、を実行することを特徴とする請求項1に記載の仮想システムの稼働率管理方法とした。
このようにすることで、仮想化システムを構成するハードウェアとソフトウェアの各組
み合わせにおける平均的な故障間隔や復旧時間を容易に把握可能となる。
請求項6に記載の発明では、コンピュータに、請求項1ないし請求項5のいずれか1項に記載の仮想システムの稼働率管理方法を実行させるための仮想システムの稼働率管理プログラムとした。
このようにすることで、仮想化システムを構成するハードウェアとソフトウェアの各組み合わせにおける稼働率を、コンピュータに算出させることができる。
請求項7に記載の発明は、サーバと、前記サーバが備えるイパーバイザによって具現化される仮想マシンとを含んで構成される仮想システムの稼働率管理装置である。稼働率管理装置は、各前記仮想マシンに稼働状態を問い合わせるデプロイメント管理部と、前記仮想マシンのライフサイクルの遷移に基づき、当該仮想マシンが異常であるか否かを判断するライフサイクル管理部と、このライフサイクル管理部が前記仮想マシンの稼働状態に基づいて判断した稼働開始日時または/および停止日時を記録する管理データベースと、 前記仮想マシンが具現化される前記サーバのハードウェア仕様情報と、前記仮想マシンを具現化するイメージに係るソフトウェア情報との組み合わせごとに、各前記仮想マシンの稼働時間を集計し、各前記仮想マシンの稼働時間の分布を算出する集計部と、を備えることを特徴とする。
このようにすることで、この稼働率管理装置に、仮想化システムを構成するハードウェ
アとソフトウェアの各組み合わせにおける稼働率を管理させることができる。
また、このようにすることで、この稼働率管理装置に、仮想化システムを構成するハードウェアとソフトウェアの各組み合わせにおける稼働率の分布を算出させることができる。
請求項8に記載の発明では、前記集計部は、前記集計の結果から、前記仮想マシンを具現化した前記サーバのハードウェア仕様情報と、前記仮想マシンを具現化したイメージに係るソフトウェア情報との組み合わせごとに、各前記仮想マシンの平均的な故障間隔や復旧時間を算出すること、を特徴とする請求項7に記載の仮想システムの稼働率管理装置とした。
このようにすることで、この稼働率管理装置に、仮想化システムを構成するハードウェアとソフトウェアの各組み合わせにおける平均的な故障間隔や復旧時間を算出させることができる。
本発明によれば、仮想化システムを構成するハードウェアとソフトウェアの各組み合わせにおける稼働率を把握可能な仮想システムの稼働率管理方法、稼働率管理プログラム、および稼働率管理装置を提供することが可能となる。
本実施形態におけるリソースプールの概略を示す構成図である。 本実施形態におけるサーバとリソースプール管理サーバを示す構成図である。 本実施形態における仮想マシンのライフサイクルを示すモード遷移図である。 本実施形態におけるVMデプロイメント管理データベースを示す図である。 本実施形態におけるサーバ管理データベースを示す図である。 本実施形態におけるサーバ状態管理データベースを示す図である。 本実施形態における仮想マシンのライフサイクルの管理処理を示すフローチャートである。 本実施形態における集計処理を示すフローチャートである。 本実施形態における仮想マシン単位での稼働時間集計グラフの一例である。
次に、本発明を実施するための形態(「実施形態」という)について、適宜図面を参照しながら詳細に説明する。
図1は、本実施形態におけるリソースプール3の概略を示す構成図である。
仮想化システムであるリソースプール3は、ネットワーク2に接続され、このネットワーク2を介して1または複数のクライアント端末1と通信可能である。この図1の例では、3台のクライアント端末1がネットワーク2に接続されている。
リソースプール3は、1または複数の物理サーバであるサーバ4と、リソースプール管理サーバ5を含んで構成される。この図1の例では、3台の物理サーバであるサーバ4が配備されている。
リソースプール管理サーバ5は、サービス運用端末6を介してオペレータの操作を受付け、その指示によって各サーバ4に仮想マシンを具現化する。リソースプール管理サーバ5は、稼働率管理装置であり、このリソースプール3(仮想システム)の稼働率を管理する。
サーバ4は、具現化した仮想マシンにより、ネットワーク2を介してクライアント端末1にサービスを提供する。
図2は、本実施形態におけるサーバ4とリソースプール管理サーバ5とを示す構成図である。
サーバ4は、仮想マシン7の具現化手段であるハイパーバイザ41と、状態通知部42とを含んで構成される。状態通知部42は、リソースプール管理サーバ5に自身の状態を通知する。これにより、仮想マシン7の状態と異常の有無とを外部から把握することができる。
ハイパーバイザ41は、VM(Virtual Machine)イメージAに基づき、仮想マシン7を起動して具現化する。なお、図面および明細書において、仮想マシンを「VM」と表記している場合がある。
仮想マシン7は、アプリケーション71と、ライフサイクル通知部72と、自身を具現化したVMイメージAを格納するVMイメージファイル73とを含んで構成される。
アプリケーション71は、クライアント端末1にサービスを提供する。ライフサイクル通知部72は、自身の状態がライフサイクルのいずれであるかを、リソースプール管理サーバ5に通知する。
リソースプール管理サーバ5(稼働率管理装置)は、デプロイメント管理部51と、サーバ管理部55と、集計部58とを含んで構成される。リソースプール管理サーバ5は更に、VMデプロイメント管理データベース53と、VMイメージリポジトリ54と、サーバ管理データベース56と、サーバ状態管理データベース57とを、不図示の記憶部に格納する。
デプロイメント管理部51は、ライフサイクル管理部52を含んで構成され、各サーバ4上に具現化された各仮想マシン7の状態と異常の有無とを管理する。デプロイメント管理部51は、サービス運用端末6から仮想マシン7の起動指示を受けると、各VMイメージファイル541の中から、起動指示で指定されたVMイメージファイルをサーバ4に転送する。サーバ4のハイパーバイザ41は、デプロイメント管理部51に転送されたVMイメージファイルにより、仮想マシン7を起動して具現化する。
ライフサイクル管理部52は、仮想マシン7のライフサイクル通知部72から状態を取得し、この仮想マシン7の状態遷移が正しいか否かを管理する。これにより、仮想マシン7の異常の有無を正確に把握可能となる。デプロイメント管理部51とライフサイクル管理部52とは、VMデプロイメント管理データベース53を参照して処理を実行し、処理結果をVMデプロイメント管理データベース53に反映させる。
仮想マシン7のライフサイクル通知部72は、ライフサイクル管理部52からの状態問い合わせ要求に対して、仮想マシン7の状態を通知する。ライフサイクル通知部72は、仮想マシン7の現在の状態と直前の状態とに基づいて、状態遷移が正しいか否かを判断することにより、異常の有無を判断する。ライフサイクル管理部52からの状態問い合わせ要求は、HTTP(Hypertext Transfer Protocol)やSNMP(Simple Network Management Protocol)などの任意のプロトコルで実装すればよく、特定のプロトコルに依存しない。
また、仮想マシン7のライフサイクル通知部72から正常な状態通知が行われなかった場合、ライフサイクル管理部52は、この仮想マシン7が異常停止したと判断する。ライフサイクル管理部52は、VMデプロイメント管理データベース53に、この仮想マシン7が異常停止した旨と、その停止日時とを記録する。ライフサイクル通知部72から正常な状態通知が行われなかった場合とは、例えば、状態通知が所定時間内に返ってこないなどの場合である。
VMイメージリポジトリ54は、各VMイメージファイル541を格納する。VMイメージファイル541は、仮想マシン7を起動させるためのソフトウェアの集合としてのブートイメージであり、例えば、予めサービス運用端末6からアップロードされる。図2に示す例では、イメージA,B,CがVMイメージリポジトリ54に格納される。
サーバ管理部55は、サーバ管理データベース56とサーバ状態管理データベース57とに基づき、各サーバ4の状態を管理する。サーバ管理データベース56は、サーバ4のハードウェア仕様を管理するデータベースである。サーバ状態管理データベース57は、サーバ4の状態を管理するデータベースである。サーバ管理部55は、サーバ管理データベース56を参照して、各サーバ4のハードウェアの仕様情報を取得し、各サーバ4の仕様情報と状態とをサーバ状態管理データベース57に記録する。
集計部58は、サーバ状態管理データベース57を参照して、VMイメージファイル541毎にハードウェア仕様と稼働時間の分布を集計する。これにより、リソースプール3の運用者は、ハードウェア(仕様情報)とソフトウェア(VMイメージ)の各組み合わせにおける各稼働率を把握し、それら特定の組み合わせにおける稼働率の低下も把握することができる。
図3は、本実施形態における仮想マシン7のライフサイクルを示すモード遷移図である。
イメージAに基づき、ハイパーバイザ41が仮想マシン7を起動して具現化すると、起動中状態M10に遷移する。
起動中状態M10とは、仮想マシン7がサーバ4上に構成中の中間状態である。このとき仮想マシン7は、アプリケーション71を稼働できない。
起動中状態M10において、仮想マシン7の構成が完了すると、この仮想マシン7は、稼働中状態M11に遷移する。仮想マシン7の異常が検知されると、この仮想マシン7は、異常停止状態M14に遷移する。それ以外では、この仮想マシン7は、起動中状態M10を維持する。
稼働中状態M11とは、仮想マシン7をサーバ4上に構成済の状態である。このとき仮想マシン7は、アプリケーション71を稼働できる。
稼働中状態M11において、仮想マシン7に停止が指示されると、この仮想マシン7は、停止中状態M12に遷移する。仮想マシン7の異常が検知されると、この仮想マシン7は、異常停止状態M14に遷移する。それ以外では、この仮想マシン7は、稼働中状態M11を維持する。
停止中状態M12とは、仮想マシン7を停止するための中間状態である。このとき仮想マシン7は、稼働していたアプリケーション71(図2参照)を停止する。
停止中状態M12において、仮想マシン7が停止すると、この仮想マシン7は正常停止状態M13に遷移する。
正常停止状態M13は、この仮想マシン7が正常に停止した状態である。この仮想マシン7は、正常停止状態M13を経たのちに動作を終了する。
異常停止状態M14は、異常が発生したことにより、この仮想マシン7が停止した状態である。予期しない状態遷移を検知した場合と、ライフサイクル通知部72(図2参照)から正常な状態通知が行われなかった場合、この仮想マシン7は、異常停止状態M14に遷移する。この仮想マシン7は、異常停止状態M14を経たのちに動作を終了する。
図3に示すように、仮想マシン7は、一方向に状態遷移し、再び同一の状態に遷移する場合は無い。すなわち、仮想マシン7のライフサイクルは、第1の稼働状態から第2の稼働状態に遷移した後において、この第1の稼働状態には遷移しないように構成される。これにより、仮想マシン7の監視周期が各状態の遷移期間よりも長い場合であっても、ライフサイクル管理部52(図2参照)は、予期しない状態遷移である状態遷移の異常を容易に検知可能となる。よって、リソースプール管理サーバ5は、仮想マシン7との通信間隔を長くして、仮想化システムの監視のオーバヘッドを減らすことができる。
図4は、本実施形態におけるVMデプロイメント管理データベース53を示す図である。
VMデプロイメント管理データベース53(管理データベース)は、VMID欄と、サービスID欄と、サーバID欄と、イメージID欄と、VM稼働状態欄と、稼働開始日時欄と、停止日時欄とを含んで構成される。
VMID欄には、管理対象の各仮想マシン7の識別情報が格納される。
サービスID欄には、この仮想マシン7がクライアント端末1に提供するサービスの識別情報が格納される。
サーバID欄には、この仮想マシン7を具現化したサーバ4の識別情報が格納される。サーバ4の識別情報に基づき、サーバ管理データベース56の仕様情報欄の情報を取得することができる。サーバ管理データベース56の仕様情報欄の情報は、この仮想マシン7を具現化したハードウェアの情報である。
イメージID欄には、この仮想マシン7を具現化した際のVMイメージファイル541の識別情報が格納される。VMイメージファイル541の識別情報とは、この仮想マシン7に係るソフトウェアの情報である。
VM稼働状態欄には、この仮想マシン7の状態が格納される。この仮想マシン7の状態とは、図3に示した各状態である。
稼働開始日時欄には、この仮想マシン7が最初に稼働中状態M11(図3参照)に遷移したことを検知した日時の情報が格納される。
停止日時欄は、この仮想マシン7が最初に停止中状態M12または異常停止状態M14に遷移したことを検知した日時の情報が格納される。
停止日時と稼働開始日時との差分により、各仮想マシン7の故障間隔を知ることができる。更に、ハードウェアとソフトウェアとの組み合わせと、仮想マシン7の故障間隔とにより、集計部58が仮想化システムを構成するハードウェアとソフトウェアとの各組み合わせにおける稼働率を算出である。
また、VMID欄の004,005で例示しているように、VMデプロイメント管理データベース53により、異常終了した仮想マシン7と同一のサービスIDを有する仮想マシン7の再起動が検出できる。同一のサービスIDを有する仮想マシン7とは、異常終了した仮想マシン7の代替である。異常終了した仮想マシン7の停止日時と、これと同一のサービスIDを有する仮想マシン7の稼働開始日時との差を集計することで、平均的な復旧時間を知ることができる。
図5は、本実施形態におけるサーバ管理データベース56を示す図である。
サーバ管理データベース56は、サーバID欄と、仕様情報欄とを含んで構成される。
サーバID欄には、この仮想マシン7を具現化したサーバ4の識別情報が格納される。このサーバ4の識別情報は、VMデプロイメント管理データベース53(図4参照)のサーバID欄に格納される識別情報と共通している。
仕様情報欄には、このサーバ4のハードウェア仕様に係る情報が格納される。
図6は、本実施形態におけるサーバ状態管理データベース57を示す図である。
サーバ管理データベース56は、サーバID欄と、サーバ稼働状態欄と、稼働開始日時欄と、停止日時欄とを含んで構成される。
サーバID欄には、この仮想マシン7を具現化したサーバ4の識別情報が格納される。このサーバ4の識別情報は、VMデプロイメント管理データベース53(図4参照)のサーバID欄に格納される識別情報と共通している。
サーバ稼働状態欄には、このサーバ4の状態が格納される。サーバ4の状態は、図3に示す仮想マシン7の各状態と同様である。
稼働開始日時欄には、このサーバ4が最初に稼働中の状態に遷移したことを検知した日時の情報が格納される。なお、このサーバ4の稼働中の状態とは、このサーバ4がハイパーバイザ41を具現化可能となった状態のことをいう。
停止日時欄は、このサーバ4が最初に停止中または異常停止に遷移したことを検知した日時の情報が格納される。サーバ4の停止中の状態とは、このサーバ4が正常停止するための過渡的な状態のことをいう。
サーバ状態管理データベース57により、各サーバ4の故障間隔を知ることができる。更に、各サーバ4の故障間隔と、各仮想マシン7の故障間隔とを比較することにより、仮想マシン7の故障が上位層であるサーバ4の故障によるものであるか、または、仮想マシン7自身の故障によるものであるのかを切り分け可能となる。
図7は、本実施形態における仮想マシン7のライフサイクルの管理処理を示すフローチャートである。
デプロイメント管理部51は、サーバ4に仮想マシン7を具現化するように指示すると、図7の管理処理を開始する。
ステップS10において、デプロイメント管理部51は、仮想マシン7の稼働状態を、起動中状態M10(図3参照)に設定し、かつVMデプロイメント管理データベース53に新たなレコードを作成して、この稼働状態を記録する。
ステップS11において、デプロイメント管理部51は、所定時間だけ停止する。
ステップS12において、デプロイメント管理部51は、仮想マシン7のライフサイクル通知部72に、現在の稼働状態を問い合わせる。
ステップS13において、デプロイメント管理部51は、状態取得に係るエラーが発生したか否かを判断する。デプロイメント管理部51は、状態取得に係るエラーが発生したならば(Yes)、ステップS24の処理を行い、状態取得に係るエラーが発生しなかったならば(No)、ステップS14の処理を行う。ここで状態取得に係るエラーとは、例えばタイムアウトエラーやCRC(Cyclic Redundancy Check)エラーなどである。
ステップS14,S15,S16,S19において、デプロイメント管理部51は、
仮想マシン7のライフサイクルの遷移に基づき、この仮想マシン7が異常であるか否かを判断する。
ステップS14において、デプロイメント管理部51は、現在の稼働状態がいずれであるかを判断する。デプロイメント管理部51は、現在の稼働状態が起動中状態M10ならば、ステップS15の処理を行い、現在の稼働状態が稼働中状態M11ならば、ステップS16の処理を行い、現在の稼働状態が停止中状態M12ならば、ステップS19の処理を行い、現在の稼働状態が正常停止状態M13ならば、ステップS22の処理を行う。
ステップS15において、デプロイメント管理部51は、前回設定した仮想マシン7の稼働状態を判断する。デプロイメント管理部51は、稼働状態が起動中状態M10ならば、ノードAを介してステップS11の処理に戻り、それ以外の場合にはステップS24の処理を行う。
ステップS16において、デプロイメント管理部51は、前回設定した仮想マシン7の稼働状態を判断する。デプロイメント管理部51は、稼働状態が起動中状態M10ならば、ステップS17の処理を行い、稼働状態が稼働中状態M11ならば、ノードAを介してステップS11の処理に戻り、それ以外の場合には、ステップS24の処理を行う。
ステップS17において、デプロイメント管理部51は、仮想マシン7の稼働状態を稼働中状態M11に設定し、かつVMデプロイメント管理データベース53にも記録する。
ステップS18において、デプロイメント管理部51は、VMデプロイメント管理データベース53に稼働開始日時を記録する。デプロイメント管理部51は、ステップS18の処理が終了すると、ノードAを介してステップS11の処理に戻る。
ステップS19において、デプロイメント管理部51は、前回設定した仮想マシン7の稼働状態を判断する。デプロイメント管理部51は、稼働状態が起動中状態M10ならば、ステップS20の処理を行い、稼働状態が稼働中状態M11ならば、ステップS21の処理を行い、稼働状態が停止中状態M12ならば、ノードAを介してステップS11の処理に戻り、それ以外の場合にはステップS24の処理を行う。
ステップS20において、デプロイメント管理部51は、この仮想マシン7の稼働状態に基づいて、この仮想マシン7が稼働開始したと判断し、VMデプロイメント管理データベース53に稼働開始日時を記録する。
ステップS21において、デプロイメント管理部51は、仮想マシン7の稼働状態を停止中状態M12に設定し、かつVMデプロイメント管理データベース53に、この稼働状態を記録する。デプロイメント管理部51は、ノードAを介してステップS11の処理に戻る。
ステップS22において、デプロイメント管理部51は、仮想マシン7の稼働状態を正常停止状態M13に設定し、かつVMデプロイメント管理データベース53に、この稼働状態を記録する。
ステップS23において、デプロイメント管理部51は、この仮想マシン7の稼働状態に基づいて、この仮想マシン7が稼働停止したと判断し、VMデプロイメント管理データベース53に停止日時を記録して、図7の処理を終了する。
ステップS24において、デプロイメント管理部51は、仮想マシン7を強制的に停止させる。仮想マシン7の停止は、ハイパーバイザ41によって行われる。これにより、異常が発生した仮想マシン7により、無駄なリソースを消費することが無くなる。それと共に、代替の仮想マシン7をいち早く再起動することができるので、リソースプール3(仮想化システム)の稼働率を向上させることができる。
ステップS25において、デプロイメント管理部51は、仮想マシン7の稼働状態を異常停止状態M14に設定し、かつVMデプロイメント管理データベース53に、この稼働状態を記録する。
ステップS26において、デプロイメント管理部51は、この仮想マシン7の稼働状態または状態取得に係るエラーの有無に基づいて、この仮想マシン7が稼働停止したと判断する。デプロイメント管理部51は、VMデプロイメント管理データベース53に停止日時を記録し、図7の処理を終了する。
この管理処理により、デプロイメント管理部51は、仮想マシン7の稼働状態が不正に遷移した場合や稼働状態の問い合わせに失敗した場合などに、この仮想マシン7を異常状態と判定し、強制停止することができる。仮想マシン7の稼働状態が不正に遷移した場合とは、例えば稼働中状態M11から起動中状態M10に遷移した場合などである。
長期的に運用を続けると、VMデプロイメント管理データベース53には、仮想マシン7の稼働データが蓄積する。これを集計すると、仮想マシン7の平均的な故障間隔や復旧時間を知ることができる。例えば、VMデプロイメント管理データベース53のVM稼働状態欄が異常終了となっているレコードについて、停止日時と稼働開始日時との差を集計することにより、平均的な仮想マシン7の故障間隔を知ることができる。
また、集計部58が、VMイメージを具現化した各ハードウェア仕様と稼働時間との分布を集計することにより、特定のハードウェア(仕様情報)とソフトウェア(VMイメージ)との組み合わせによって発生する稼働率の低下を把握可能である。
サーバ4の平均異常停止回数は、全体の異常停止回数をサーバ4の台数で除算して求められる。集計部58が、サーバIDとVMイメージIDとの組み合わせによる仮想マシン7の異常停止回数と、各サーバ4の平均異常停止回数とを比較することで、特定のサーバ4とVMイメージファイル541との組み合わせで発生する不具合を把握可能である。
図8は、本実施形態における集計処理を示すフローチャートである。
ステップS40において、集計部58は、VMデプロイメント管理データベース53を、サーバIDに紐付けたサーバ4の仕様情報と、VMイメージIDとでソートする。ここで、サーバIDとサーバ4の仕様情報とは、サーバ管理データベース56によって紐付けることができる。
ステップS41において、集計部58は、仕様情報とVMイメージIDとの組み合わせごとの各仮想マシン7の稼働時間を集計する。仮想マシン7の稼働時間は、停止日時と稼働開始日時との差によって算出される。
ステップS42において、集計部58は、仕様情報とVMイメージIDとの各組み合わせによる仮想マシン7の稼働時間の分布を算出する。
ステップS43において、集計部58は、仮想マシン7の稼働時間の分布をグラフに表示し、図8の処理を終了する。
図9は、本実施形態における仮想マシン7単位での稼働時間集計グラフの一例である。
稼働時間集計グラフの横軸は、ハードウェアとソフトウェアとの組み合わせを示している。稼働時間集計グラフの縦軸は、VM稼働時間を示している。ここでは、ハードウェアが仕様Pで、かつソフトウェアがイメージAの組み合わせのときに、特に仮想マシン7の稼働時間が短くなり、よって稼働率が悪いことが判る。
本実施形態では、リソースプール管理サーバ5は、仮想マシン7のライフサイクル管理によって稼働状態を把握してVMデプロイメント管理データベース53に記録する。また、リソースプール管理サーバ5は、VMデプロイメント管理データベース53に蓄積された情報を集計する。これにより、リソースプール3の運用者は、ハードウェアとソフトウェアの組み合わせによる不具合等を把握可能となる。よって、運用者は、得られた情報から仮想マシン7の配置改善やソフトウェアの修正などを行うことで、仮想システムの稼働率を向上可能である。運用者は、このような組み合わせを回避することによっても、通信システムの仮想化によって発生した稼働率の低下を軽減可能である。
上記実施形態の各処理部は、前記したような処理を実行させるプログラムによって実現することができ、そのプログラムをコンピュータによる読み取り可能な記録媒体に記憶して提供することが可能である。また、そのプログラムを、インターネットなどのネットワークを通して提供することも可能である。
1 クライアント端末
2 ネットワーク
3 リソースプール (仮想化システム)
4 サーバ
41 ハイパーバイザ
42 状態通知部
5 リソースプール管理サーバ (稼働率管理装置)
51 デプロイメント管理部
52 ライフサイクル管理部
53 VMデプロイメント管理データベース (管理データベース)
54 VMイメージリポジトリ
541 VMイメージファイル
55 サーバ管理部
56 サーバ管理データベース
57 サーバ状態管理データベース
58 集計部
6 サービス運用端末
7 仮想マシン
71 アプリケーション
72 ライフサイクル通知部
73 VMイメージファイル

Claims (8)

  1. サーバと、前記サーバが備えるハイパーバイザによって具現化される仮想マシンとを含んで構成される仮想システムの稼働率管理方法であって、
    各前記仮想マシンに稼働状態を問い合わせるステップと、
    前記仮想マシンのライフサイクルの遷移に基づき、当該仮想マシンが異常であるか否かを判断するステップと、
    前記仮想マシンの稼働状態に基づいて判断した当該仮想マシンの稼働開始日時または/および停止日時を記録するステップと、
    前記仮想マシンを具現化した前記サーバのハードウェア仕様情報と前記仮想マシンを具現化したイメージに係るソフトウェア情報との組み合わせごとに、各前記仮想マシンの稼働時間を集計するステップと、
    前記組み合わせごとに、各前記仮想マシンの稼働時間の分布を算出するステップと、
    を実行することを特徴とする仮想システムの稼働率管理方法。
  2. 異常であると判断した前記仮想マシンを強制的に停止させるステップ、
    を実行することを特徴とする請求項1に記載の仮想システムの稼働率管理方法。
  3. 各前記仮想マシンに稼働状態を問い合わせた際にタイムアウトしたならば、当該仮想マシンが異常であると判断するステップ、
    を実行することを特徴とする請求項1または請求項2に記載の仮想システムの稼働率管理方法。
  4. 各前記仮想マシンのライフサイクルは、第1の稼働状態から第2の稼働状態に遷移した後において、前記第1の稼働状態には遷移しないように構成される、
    ことを特徴とする請求項1に記載の仮想システムの稼働率管理方法。
  5. 前記集計の結果から、前記仮想マシンを具現化した前記サーバのハードウェア仕様情報と、前記仮想マシンを具現化したイメージに係るソフトウェア情報との組み合わせごとに、各前記仮想マシンの平均的な故障間隔や復旧時間を算出するステップ、
    を実行することを特徴とする請求項1に記載の仮想システムの稼働率管理方法。
  6. コンピュータに、請求項1ないし請求項5のいずれか1項に記載の仮想システムの稼働率管理方法を実行させるための仮想システムの稼働率管理プログラム。
  7. サーバと、前記サーバが備えるハイパーバイザによって具現化される仮想マシンとを含んで構成される仮想システムの稼働率管理装置であって、
    各前記仮想マシンに稼働状態を問い合わせるデプロイメント管理部と、
    前記仮想マシンのライフサイクルの遷移に基づき、当該仮想マシンが異常であるか否かを判断するライフサイクル管理部と、
    前記ライフサイクル管理部が、前記仮想マシンの稼働状態に基づいて判断した稼働開始日時または/および停止日時を記録する管理データベースと、
    前記仮想マシンが具現化される前記サーバのハードウェア仕様情報と、前記仮想マシンを具現化するイメージに係るソフトウェア情報との組み合わせごとに、各前記仮想マシンの稼働時間を集計し、各前記仮想マシンの稼働時間の分布を算出する集計部と、
    を備えることを特徴とする仮想システムの稼働率管理装置。
  8. 前記集計部は、前記集計の結果から、前記仮想マシンを具現化した前記サーバのハードウェア仕様情報と、前記仮想マシンを具現化したイメージに係るソフトウェア情報との組み合わせごとに、各前記仮想マシンの平均的な故障間隔や復旧時間を算出すること、
    を特徴とする請求項7に記載の仮想システムの稼働率管理装置
JP2014099915A 2014-05-13 2014-05-13 仮想システムの稼働率管理方法、稼働率管理プログラム、および稼働率管理装置 Active JP6263083B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014099915A JP6263083B2 (ja) 2014-05-13 2014-05-13 仮想システムの稼働率管理方法、稼働率管理プログラム、および稼働率管理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014099915A JP6263083B2 (ja) 2014-05-13 2014-05-13 仮想システムの稼働率管理方法、稼働率管理プログラム、および稼働率管理装置

Publications (2)

Publication Number Publication Date
JP2015215857A JP2015215857A (ja) 2015-12-03
JP6263083B2 true JP6263083B2 (ja) 2018-01-17

Family

ID=54752657

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014099915A Active JP6263083B2 (ja) 2014-05-13 2014-05-13 仮想システムの稼働率管理方法、稼働率管理プログラム、および稼働率管理装置

Country Status (1)

Country Link
JP (1) JP6263083B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6380774B1 (ja) * 2017-03-31 2018-08-29 日本電気株式会社 コンピュータシステム、サーバ装置、プログラム及び障害検出方法
CN113326098B (zh) * 2021-06-11 2023-11-14 成都精灵云科技有限公司 支持kvm虚拟化与容器虚拟化的云管平台

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2439641B1 (en) * 2009-06-01 2016-10-12 Fujitsu Limited Server control program, control server, virtual server distribution method
JP5448083B2 (ja) * 2010-03-11 2014-03-19 株式会社日立製作所 計算機モニタリングシステム及びプログラム
JP2011243012A (ja) * 2010-05-19 2011-12-01 Hitachi Ltd 仮想計算機システムのメモリダンプ取得方法
JP5416156B2 (ja) * 2011-03-29 2014-02-12 株式会社日立システムズ 統合監視システム及び統合監視プログラム
JP5684640B2 (ja) * 2011-04-22 2015-03-18 株式会社日立ソリューションズ 仮想環境管理システム
JP5785050B2 (ja) * 2011-10-27 2015-09-24 株式会社日立製作所 情報処理システム、その省電力制御方法、及び装置

Also Published As

Publication number Publication date
JP2015215857A (ja) 2015-12-03

Similar Documents

Publication Publication Date Title
US9740546B2 (en) Coordinating fault recovery in a distributed system
US10609159B2 (en) Providing higher workload resiliency in clustered systems based on health heuristics
US8862928B2 (en) Techniques for achieving high availability with multi-tenant storage when a partial fault occurs or when more than two complete faults occur
EP3119034B1 (en) Fault handling method, device and system based on network function virtualization
US8578217B2 (en) System and method for virtual machine management
US9081750B2 (en) Recovery escalation of cloud deployments
US9329947B2 (en) Resuming a paused virtual machine without restarting the virtual machine
US10462027B2 (en) Cloud network stability
JP5305040B2 (ja) サーバ計算機の切替方法、管理計算機及びプログラム
US11182253B2 (en) Self-healing system for distributed services and applications
US9483314B2 (en) Systems and methods for fault tolerant batch processing in a virtual environment
US11507479B2 (en) High availability for a relational database management system as a service in a cloud platform
JPWO2014076838A1 (ja) 仮想マシン同期システム
JP5998577B2 (ja) クラスタ監視装置、クラスタ監視方法、及びプログラム
JP6263083B2 (ja) 仮想システムの稼働率管理方法、稼働率管理プログラム、および稼働率管理装置
JP2016012179A (ja) 管理支援方法,管理支援装置及び管理支援プログラム
US9317355B2 (en) Dynamically determining an external systems management application to report system errors
Mathews et al. Service resilience framework for enhanced end-to-end service quality
JP6269199B2 (ja) 管理サーバおよび障害復旧方法、並びにコンピュータ・プログラム
JP5033455B2 (ja) 情報処理システム及び情報処理システムをバージョンアップするためのプログラム
WO2019156102A1 (ja) オペレーション装置およびオペレーション方法
US10365934B1 (en) Determining and reporting impaired conditions in a multi-tenant web services environment
JP6311282B2 (ja) 起動制御プログラム、装置、及び方法
JP2018169920A (ja) 管理装置、管理方法及び管理プログラム
JP6984119B2 (ja) 監視装置、監視プログラム、及び監視方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160722

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170524

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170606

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170711

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171215

R150 Certificate of patent or registration of utility model

Ref document number: 6263083

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150