(57)【要約】【課題】物理サーバの余剰リソースを利用して管理用の仮想サーバに割り当てることにより、管理サーバ用の物理サーバを必要とせず、物理計算機のコストの削減と管理者の仮想計算機の運用管理を容易にする。【解決手段】物理計算機上で複数の仮想計算機と、システムの管理用の仮想計算機が制御プログラムの制御下で動作する仮想計算機システムにおいて、物理計算機で稼動する仮想計算機の負荷情報と、物理計算機のＣＰＵ能力、メモリ容量を収集し格納する手段を備え、格納された仮想計算機の負荷情報と物理計算機のＣＰＵ能力、メモリ容量を管理用の仮想計算機が読み出す手段を備えることを特徴とする。【選択図】図２
2010026828.tif 000002
【特許請求の範囲】
【請求項１】
演算処理をするプロセッサと、前記プロセッサに接続されるメモリと、前記メモリに接続されるインタフェースとを備える複数の物理計算機と、前記物理計算機で稼動する複数の仮想計算機と、システムの管理用の仮想計算機が制御プログラムの制御下で動作する仮想計算機システムであって、
前記制御プログラムは、前記物理計算機で稼動する仮想計算機の負荷情報を収集し格納する仮想計算機負荷情報記憶手段と、前記物理計算機のＣＰＵ能力、メモリ容量を収集し格納する物理計算機性能情報記憶手段を備え、前記仮想計算機負荷情報記憶手段により格納された前記仮想計算機の負荷情報と前記物理計算機性能情報記憶手段により格納された前記物理計算機のＣＰＵ能力、メモリ容量を前記管理用の仮想計算機が読み出す手段を備えることを特徴とする仮想計算機システム。
【請求項２】
前記読み出された仮想計算機の負荷情報に基づいて、前記管理用の仮想計算機は、前記仮想計算機に割り当てられる前記物理計算機のＣＰＵ能力、メモリ容量の割当率を変更することを特徴とする請求項１記載の仮想計算機システム。
【請求項３】
前記制御プログラムは、前記管理用の仮想計算機に割り当てられる前記物理計算機のＣＰＵ能力、メモリ容量の割当率を優先的に確保する手段を備えることを特徴とする請求項１記載の仮想計算機システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、計算機の管理方法に関し、特に特に仮想計算機システムにおいて無駄になっているＣＰＵ、メモリ資源を有効利用する方法に関する。
【背景技術】
【０００２】
企業の計算機システム及び企業のデータセンタにおいて、サーバの保有台数が増大している。これに伴って、サーバの運用管理コストが増大している。
【０００３】
この問題を解決するため、サーバを仮想化する技術が知られている。サーバを仮想化する技術は、複数の仮想サーバが単一の物理サーバで稼働できる技術である。具体的には、物理サーバに備わるプロセッサ（ＣＰＵ）及びメモリ等のリソースが分割され、分割された物理サーバのリソースが、それぞれ複数の仮想サーバに割り当てられる。そして、単一の物理サーバで複数の仮想サーバが同時に稼動する。
【０００４】
今日、ＣＰＵの処理性能が向上したこと及びメモリ等のリソースのコストが低下したことによって、サーバを仮想化する技術に関する需要が増大している。
【０００５】
また、サーバを仮想化する技術は、複数の仮想サーバが単一の物理サーバで稼働できるというメリットの他に、複数の仮想サーバでワークロード管理することによって、物理サーバのリソースをより有効に利用することができる。
【０００６】
ここで、ワークロード管理とは、仮想サーバの負荷等の状況に応じて、仮想サーバに割り当てられる物理サーバのＣＰＵやメモリ等のリソースの量を変更する。例えば、ある仮想サーバの負荷が高くなった場合に、同じ物理サーバで稼働する負荷の低い仮想サーバに割り当てられている物理サーバのリソースを負荷の高い仮想サーバに割り当てる。これによって、物理サーバのリソースを有効に利用できる。
【０００７】
従来、単一または複数の物理サーバ上で稼動する複数の仮想サーバのワークロード管理は、単一の物理サーバからなる管理サーバを用いて行っていた（特許文献１参照）。
【０００８】
【特許文献１】特開２００７−３２３２４５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
仮想サーバの負荷等の状況に応じて、仮想サーバに割り当てられる物理サーバのリソースの量を変更するワークロード管理を行うためには、仮想サーバ毎に必要となる物理サーバのリソース量を事前に見積り、見積りに従って計算機システム全体での物理サーバのリソース量を決定する必要がある。
【００１０】
また、物理サーバのリソース量の見積りでは、高負荷に耐えうるだけの十分なリソースを、あらかじめ用意しておく必要がある。
【００１１】
もし、十分なリソースが割り当てられず、許容以上の負荷が計算機システムへと掛かった場合、一般的にスローダウンと呼ばれる仮想サーバの処理が極端に遅くなる等の重大な問題が生じることがある。
【００１２】
しかし、スローダウンを防ぐため、リソースを与え過ぎれば、低負荷時には十分にリソースが活用されず無駄となってしまい、コストパフォーマンスが低いという問題が生じる。
【００１３】
本発明の目的は、この無駄になっている余剰リソースを、システム全体のモニタリング又は保守管理用として動作する仮想サーバに割り当て、稼働管理などに有効に利用することである。
【課題を解決するための手段】
【００１４】
演算処理をするプロセッサと、プロセッサに接続されるメモリと、メモリに接続されるインタフェースとを備える複数の物理計算機と、物理計算機で稼動する複数の仮想計算機と、システムの管理用の仮想計算機が制御プログラムの制御下で動作する仮想計算機システムであって、制御プログラムは、前記物理計算機で稼動する仮想計算機の負荷情報を収集し格納する仮想計算機負荷情報記憶手段と、物理計算機のＣＰＵ能力、メモリ容量を収集し格納する物理計算機性能情報記憶手段を備え、仮想計算機負荷情報記憶手段により格納された仮想計算機の負荷情報と物理計算機性能情報記憶手段により格納された物理計算機のＣＰＵ能力、メモリ容量を管理用の仮想計算機が読み出す手段を備えることを特徴とする仮想計算機システム。
【発明の効果】
【００１５】
本発明の形態によると、物理サーバの余剰リソースを利用して管理用の仮想サーバに割り当てることにより、管理サーバ用の物理サーバを必要とせず、物理サーバのコストの削減と管理者の仮想サーバの運用管理を容易にすることが可能となる。
【発明を実施するための最良の形態】
【００１６】
以下、本発明の実施例を図面により詳細に説明する。
【実施例】
【００１７】
図１は、本発明の第１の実施の形態の計算機システムの構成を示す図である。
【００１８】
本実施の形態の計算機システムは、物理サーバ１００と、クライアント端末１１４とを備える。物理サーバ１００と、クライアント端末１１４はネットワーク１１３に接続されている。
【００１９】
クライアント端末１１４は、システム管理者により操作される端末であり、表示部、入力部、通信制御部等を備えるコンピュータから構成され、システム管理者が物理サーバ１００の管理を行う場合に、クライアント端末１１４からネットワーク１１３を介して物理サーバ１００の操作を行う。
【００２０】
物理サーバ１００内のサーバ仮想化プログラムラム１１０によって、一つの物理サーバ１００に複数の仮想サーバ１１１と仮想管理サーバ１１２が構築される。仮想管理サーバ１１２は、本発明で新たに設けた保守管理用の仮想サーバである。なお、サーバ仮想化プログラム１１０は、例えば、ハイパバイザ又はオペレーティングシステムで動作する仮想サーバ１１１を構築するアプリケーションソフトウェアであってもよい。
【００２１】
図２は、本発明の第１の実施の形態の物理サーバ１００のブロック図である。
【００２２】
物理サーバ１００は、メモリ２００と、ＣＰＵ（ＣｅｎｔｒａｌＰｒｏｃｅｓｓｉｎｇＵｎｉｔ）２０１と、ネットワークＩ／Ｆ（ Ｉｎｔｅｒｆａｃｅ）２０２と、ＳＣＳＩ  Ｉ ／ Ｆ（ＳｍａｌｌＣｏｍｐｕｔｅｒＳｙｓｔｅｍI n t e r f a c e ）２０３、ＢＭＣ（ＢａｓｅｂｏａｒｄＭａｎａｇｅｍｅｎｔＣｏｎｔｒｏｌｌｅｒ）２０４とを備える。
【００２３】
メモリ２００、ネットワークＩ／Ｆ２０２ 、ＳＣＳＩ  Ｉ ／Ｆ２０３は、ＣＰＵ２０１に接続される。
【００２４】
メモリ２００には、サーバ仮想化プログラム１１０が格納される。
【００２５】
物理サーバ１００は、ネットワークＩ／Ｆ２０２によって、ネットワーク１１３に接続される。また、ＢＭＣ２０４もネットワーク１１３に接続される。ＳＣＳＩ  Ｉ／Ｆ２０３は、物理サーバ１００で実行されるプログラムを格納するハードディスク装置（ＨＤＤ）２０５に接続される。ネットワークＩ／Ｆ２０２は、物理サーバ１００上で実行されるプログラムと外部の装置との通信のためのインタフェースである。
【００２６】
また、ＢＭＣ２０４は、主にＣＰＵ２０１及びメモリ２００等の物理サーバ１００のハードウェアの状態を管理する。例えば、ＢＭＣ２０４は、ＣＰＵ２０１の障害を検出すると、ＣＰＵ２０１に障害が発生したことを、ネットワーク１１３を介して他の装置に通知する。また、ＢＭＣ２０４は、サーバ仮想化プログラム１１０及びファームウェア２０６と通信可能な手段を有している。サーバ仮想化プログラム１１０とファームウェア２０６とのやりとりはファームウェアの提供する関数をコールすることにより行う。
【００２７】
物理サーバ１００が起動すると、サーバ仮想化プログラム１１０がハードディスク装置２０５からメモリ２００にローディングされ、サーバ仮想化プログラム１１０が起動する。そして、サーバ仮想化プログラム１１０は、複数の仮想サーバ１１１及び仮想管理サーバ１１２を構築する。
【００２８】
具体的には、サーバ仮想化プログラム１１０は、物理サーバ１００のＣＰＵ２０１、メモリ２００等のリソースを仮想サーバ１１１及び仮想管理サーバ１１２に分割して割り当てることによって、物理サーバ１００に複数の仮想サーバ１１１及び仮想管理サーバ１１２構築する。構築された各仮想サーバ１１１及び仮想管理サーバ１１２は、ＯＳ（ ＯｐｅｒａｔｉｎｇＳｙｓｔｅｍ）２０７を稼働できる。
【００２９】
仮想サーバ１１１で稼動するＯＳ２０７上には、負荷情報収集エージェント（ＰＭ）２０８があり、仮想サーバ１１１の負荷情報が定期的に取得される。また、仮想管理サーバ１１２で稼動するＯＳ２０７上には、管理マネージャ２０９があり、仮想サーバ１１１の負荷情報の管理を行う。
【００３０】
また、サーバ仮想化プログラム１１０は、初期化処理部２１０とリソース管理部２１１を含む。初期化処理部２１０とリソース管理部２１１は、サーバ仮想化プログラム１１０のサブプログラムである。
【００３１】
初期化処理部２１０は、仮想サーバ１１１と仮想管理サーバ１１２を構築したり、物理サーバ１００のＣＰＵ、メモリのリソースの仮想サーバ１１１と仮想管理サーバ１１２への割当量を設定する。リソース管理部２１１は、仮想サーバ１１１の負荷情報の収集と格納及び物理サーバ１００のＣＰＵ能力、メモリ容量の収集と格納を行う。
【００３２】
図３は、サーバ仮想化プログラム１１０に含まれる初期化処理部２１０とリソース管理部２１１の構成を示す。初期化処理部２１０には、管理サーバ初期化部３０１と仮想サーバ初期化部３０２が含まれる。管理サーバ初期化部３０１は、仮想管理サーバ１１２の初期処理及び活性化と物理サーバ１００のＣＰＵ２０１とメモリ２００のリソースの仮想管理サーバ１１２への割当量の設定を行い、仮想サーバ初期化部３０２は、仮想サーバ１１１の初期処理及び活性化と物理サーバ１００のＣＰＵ２０１とメモリ２００のリソースの仮想サーバ１１１への割当量の設定を行う。
【００３３】
また、リソース管理部２１１には、仮想サーバ負荷情報部３０３と物理サーバ性能情報部３０４がある。仮想サーバ負荷情報部３０３は、負荷情報収集エージェント（ＰＭ）２０８により取得された各仮想サーバ１１１上の負荷情報収集の収集と格納を行う。物理サーバ性能情報部３０４は、物理サーバ１００のＣＰＵ能力、メモリ容量の収集と格納を行う。
【００３４】
図４はメモリ２００のデータの格納状態を示す。
【００３５】
サーバ仮想化プログラム１１０の起動時に、ハードディスク装置２０５に格納されているサーバ仮想化プログラム１１０がメモリ２００の該当部（４００）にローディングされる。仮想サーバ負荷情報４０１には、仮想サーバ負荷情報部３０３にて収集された情報が格納される。物理サーバ性能情報４０２には、物理サーバ性能情報部３０４にて収集された情報が格納される。仮想サーバ負荷情報４０１と物理サーバ性能情報４０２は、仮想管理サーバ１１２で稼動する管理マネージャ２０９から読み出すことが、サーバ仮想化プログラム１１０により特別に許可されている。
【００３６】
４０３は仮想サーバ管理モードフラグであり、物理サーバ１００上の仮想サーバ１１１が自分が属する物理サーバ内にある仮想管理サーバで管理されているのか、他の物理サーバにある仮想管理サーバから管理されているのかを示すフラグが格納される。
【００３７】
４０４は仮想サーバ情報テーブルであり、各仮想サーバに割り当てる物理サーバ１００のＣＰＵ２０１、メモリ２００のリソースの配分の情報が格納される。
【００３８】
４０５及び４０６にはそれぞれ、仮想管理サーバ１１２及び仮想サーバ１１１の使用する領域が割り当てられる。
【００３９】
図５はリソース管理部２１１の、仮想管理サーバ１１２で稼動する管理マネージャ２０９からの仮想サーバ負荷情報４０１と物理サーバ性能情報４０２の読み出し要求に対する処理手順を示す。
【００４０】
まず、管理マネージャ２０９からの仮想サーバ負荷情報４０１または、物理サーバ性能情報４０２の読み出し要求のコールを受け付ける（ステップ５０１）。ここで、読み出し要求のコールには、情報要求元である仮想管理サーバ１１２のＩＤと、読み出し要求対象が仮想サーバ負荷情報４０１の読み出し要求かまたは物理サーバ性能情報４０２の要求かを示すフラグを引数として与えている。
【００４１】
次に、リソース管理部２１１は、情報要求元のＩＤから読み出し要求コールの要求元の判定を行う（ステップ５０２）。管理マネージャ２０９以外の他の仮想サーバからの要求の場合には、読み出しを行わずに処理を終了する。管理マネージャ２０９からの読み出し要求コールの場合は、次に、仮想サーバ負荷情報４０１の読み出し要求か、物理サーバ性能情報４０２の要求か、コールの引数から読み出したい情報の判定を行う（ステップ５０３、５０４）。仮想サーバ負荷情報４０１の読み出し要求の場合には、仮想サーバ負荷情報４０１のデータを、物理サーバ性能情報４０２の読み出し要求の場合には、物理サーバ性能情報４０２のデータをそれぞれ返信する（ステップ５０５、５０６）。
【００４２】
仮想管理サーバ１１２で稼動する管理マネージャ２０９は、リソース管理部２１１から読み出した仮想サーバ負荷情報４０１と物理サーバ性能情報４０２を用いて、仮想サーバ１１１の負荷情報の管理を行い、仮想サーバの負荷の状況に応じて、仮想サーバに割り当てられる物理サーバ１００のＣＰＵ２０１、メモリ２００等のリソースの量の変更をサーバ仮想化プログラム１１０の仮想サーバ情報テーブル４０４に対して行い、ワークロード管理を行う。
【００４３】
図６は仮想サーバ情報テーブル４０４の詳細を示す。ここでは、２つの仮想サーバ１と仮想サーバ２が存在している場合の例で説明する。６０１は仮想サーバ名称欄である。６０２はメモリ容量設定欄、６０５はＣＰＵリソース設定欄であり、ユーザまたは管理マネージャ２０９が指定する各仮想サーバに与えられるメモリ容量とＣＰＵリソース配分の割合を示す。６０３、６０６は実際に仮想サーバに割り当てられるメモリ容量とＣＰＵリソース配分を示す。６０４、６０７は、まだ割り当てられていないメモリ容量とＣＰＵリソース配分（未割り当て）を示す。
【００４４】
ここで、ユーザまたは管理マネージャ２０９が指定するメモリ容量設定欄６０２、ＣＰＵリソース設定欄６０５と未割り当てのメモリ容量６０４、ＣＰＵリソース配分６０７との間には、（数１）式、（数２）式、（数３）式、（数４）式、（数５）式の関係がある。
（数１）
ｍａ＝１００−（ｍ１＋ｍ２）Ｒ
（数２）
０＜ｍ１＋ｍ２≦１００
（数３）
ｃａ＝１００−（ｃ１＋ｃ２）Ｒ
（数４）
０＜ｃ１＋ｃ２≦１００
（数５）
Ｒ＝（０．９＋０．１ｋ）
ここで、（数５）式のｋは、仮想サーバ管理モードフラグ４０３の値であり、仮想サーバ１１１が自分が属する物理サーバ内にある仮想管理サーバで管理されている場合にはｋ＝０となり、他の物理サーバにある仮想管理サーバから管理されている場合にはｋ＝１となる。仮想サーバ管理モードフラグ４０３の初期値としては、ｋ＝０が設定される。
【００４５】
例えば、仮想サーバ管理モードフラグ４０３により、仮想サーバ１１１が自分が属する物理サーバ内にある仮想管理サーバ１１２で管理されている場合（ｋ＝０）には、物理サーバ内のメモリ容量、ＣＰＵリソース配分のそれぞれの全体を１００％とした場合に、ｍ１＝６０％、ｍ２＝４０％、ｃ１＝５０％、ｃ２＝５０％と、物理サーバ内の全て（１００％）のリソースを指定した場合には、実際に仮想サーバに割り当てられるメモリ容量とＣＰＵリソース配分は、ｍ１Ｒ＝５４％（６０％×０．９）、ｍ２Ｒ＝３６％（４０％×０．９）、ｃ１Ｒ＝４５％（５０％×０．９）、ｃ２Ｒ＝４５％（５０％×０．９）となり、未割り当てのメモリとＣＰＵは、ｍａ＝１０％、ｃａ＝１０％となる。このｍａ＝１０％、ｃａ＝１０％が仮想管理サーバ１１２に割り当てられる。
【００４６】
次に、本実施例におけるメモリ、ＣＰＵリソースの設定方法を説明する。
【００４７】
物理サーバ１００が起動し、サーバ仮想化プログラム１１０が起動すると、サーバ仮想化プログラム１１０内の初期化処理部２１０が仮想サーバ１１１と仮想管理サーバ１１２を構築したり、物理サーバ１００のＣＰＵ、メモリのリソースの仮想サーバ１１１と仮想管理サーバ１１２への割当量を設定する。
【００４８】
図７は初期化処理部２１０によるメモリ、ＣＰＵリソースの設定方法のフローチャートである。
【００４９】
まず、メモリ２００にある仮想サーバ管理モードフラグ４０３を読み出す（ステップ７０１）。
【００５０】
次に、仮想サーバ情報テーブル４０４の値を（数１）から（数５）式の計算により決定し、仮想サーバ１１１と仮想管理サーバ１１２に割り当てるＣＰＵとメモリのリソースを確保する（ステップ７０２）。
【００５１】
次に、仮想サーバ管理モードフラグ４０３の値の判定を行う（ステップ７０３）。仮想サーバ管理モードフラグ４０３の値がｋ＝０の場合には、次に、仮想サーバ情報テーブル４０４の未割り当てのメモリ容量とＣＰＵリソース配分６０４、６０７を仮想管理サーバ１１２に割り当て、仮想管理サーバ１１２の活性化を行う（ステップ７０４）。仮想サーバ管理モードフラグ４０３の値がｋ＝１の場合には、ステップ７０４をスキップする。次に、メモリ容量とＣＰＵリソース配分６０３、６０６を仮想サーバ１１１に割り当て、活性化を行う（ステップ７０５）。
【産業上の利用可能性】
【００５２】
物理サーバと仮想サーバが混在する環境での仮想サーバへの物理サーバのリソースの割当に関する制御。
【図面の簡単な説明】
【００５３】
【図１】本発明の第１の実施の形態の計算機システムを示す図である。
【図２】本発明の第１の実施の形態の物理サーバのブロック図である。
【図３】図２における初期化処理部とリソース管理部の構成を示す図である。
【図４】図２におけるメモリのデータの格納状態を示す図である。
【図５】図３におけるリソース管理部の処理手順を示す図である。
【図６】図４における仮想サーバ情報テーブル詳細を示す図である。
【図７】図３における初期化処理部の処理手順を示す図である。
【符号の説明】
【００５４】
１００…物理サーバ、１１０…サーバ仮想化プログラムラム、１１１…仮想サーバ、１１２…仮想管理サーバ、１１３…ネットワーク、１１４…クライアント端末、２００…メモリ、２０１…ＣＰＵ、２０２…ネットワークＩ／Ｆ、２０３…ＳＣＳＩ  Ｉ／Ｆ、２０４…ＢＭＣ、２０５…ハードディスク装置、２０６…ファームウェア、２０７…ＯＳ、２０８…負荷情報収集エージェント、２０９…管理マネージャ、２１０…初期化処理部、２１１…リソース管理部。
【図１】
2010026828.tif 000003
【図２】
2010026828.tif 000004
【図３】
2010026828.tif 000005
【図４】
2010026828.tif 000006
【図５】
2010026828.tif 000007
【図６】
2010026828.tif 000008
【図７】
2010026828.tif 000009