以下、図面を参照して、一実施形態に係る情報システム、管理装置、管理方法について説明する。ユーザへのサーバ提供サービスを実施する情報システムでは、ユーザに提供されたサーバがユーザの期待する性能を満たせない場合、ユーザは、より性能の高いサーバに変更することで性能を満たそうとする場合がある。この場合、CPU・メモリ・ハードディスク等の外部記憶装置・ネットワークなどの要素のうち、どこがボトルネックとなっているかを特定して提供される対象サーバを選定することが望ましい。
一方、データセンター等の情報システム、例えば、クラウドシステムは、多数のサーバを運用する。システム運用については、運用費用は極力低減することが望ましい。一例としては、サーバの消費電力量低減が運用費用の削減につながる。このためユーザが選んだサーバの処理能力に余剰がある場合、余剰な電力を消費していることになるため、消費電力低減の観点から、余剰な処理能力の削減が望まれている。
以下の実施形態では、ユーザの望む処理、例えばアプリケーションプログラムの実行に対して、過剰な性能、過剰なリソースの物理サーバが配備されることを低減し、適切な物理サーバをユーザに提供する情報システムが例示される。また、この情報システムでは、配備される物理サーバのリソースの余剰が低減され、1つのコスト削減の例として、システムの運用消費電力が低減できることが示される。なお、以下の実施形態の構成は例示であり、本情報システムは実施形態の構成には限定されない。
[実施形態1]
以下、図3から図11により、実施形態1に係る情報システムを説明する。この情報システムは、ユーザにベアメタルサーバと呼ばれる物理サーバを提供するため、ベアメタルサーバ配備システムとも呼ばれる。
<システム構成>
図3は、実施形態1の情報システムの構成とデータフローを例示する図である。本情報システムは、ベアメタル管理サーバ1とベアメタルサーバプール2を有している。ベアメタル管理サーバ1は、管理装置およびコンピュータの一例である。
ベアメタル管理サーバ1は、性能測定部11、性能情報データベース(以下、性能情報DB12)、管理画面部13、ベアメタルサーバ配備部14、ベアメタルサーバカタログ15、および、ベアメタルサーバリスト16を有する。ベアメタル管理サーバ1は、コンピュータプログラムにしたがって、図3の各構成要素を提供する。
(性能情報DB12、ベアメタルサーバカタログ15)
性能情報DB12は、各ベアメタルサーバで計測された性能情報を蓄積するデータベースである。性能情報DB12は、実際にサーバで実行した性能と、物理リソース量(あるいはリソース使用率)を時刻とともに取得し、データベース化し、性能情報として格納する。また、性能情報DB12は、計測された性能情報から性能測定部11によって計算された物理リソースの使用特性を含む性能特性対応表121も格納する。
図4に、性能情報DB12の構成をベアメタルサーバカタログ15とともに例示する。性能情報DB12は、動作履歴122、アプリケーション性能情報123、OS性能情報124、IO性能情報125を含んでいる。動作履歴122は、稼働アプリケーション名、各性能情報へのポインタを有する。また、各ポインタは、アプリケーション性能情報へのポインタ(図では単に「性能情報」と記述)、OS性能情報へのポインタ(同「OS性
能情報」)、該当サーバのベアメタルサーバカタログ15中のベアメタルサーバハードウェア属性へのポインタ(同「使用サーバ」)を含む。これらのポインタで示される各性能情報とベアメタルサーバハードウェア属性とによって当該アプリケーションを当該サーバで実行したときの性能情報が記述され、保存される。性能情報DB12は物理計算機でアプリケーションプログラムを実行したときの動作情報の一例である。
アプリケーション性能情報123は、時間(当該アプリケーション性能情報を取得したときの時刻、タイムスタンプともいう)、CPU利用率(CPU load(単位は%))、メモリ利用率(Memory load(%))、論理デバイスから読み込みを実施したデータ量(logical read(kb))、物理デバイスから読み込みを実施したデータ量(physical read(kb))、物理デバイスに書き込みを実施したデータ量(physical write(kb))、当該アプリケーションが実行された処理数(executes)、当該アプリケーションが実行したトランザクション数(transaction)を有している。
OS性能情報124は、時間(当該OS性能情報を取得したときの時刻)、プロセス名、CPU利用率、メモリ利用率、予約済メモリ量(VSS(kb))、物理使用メモリ量(RSS(kb))を有している。
IO性能情報125は、物理デバイス毎に記録される性能情報である。図では、IO性能情報125は、デバイス名、そのデバイスに対して実行された単位時間当りのトランザクション数(tps)、物理デバイスから読み込みを実施したデータ量(BLK_read)、物理デバイスに書き込みを実施したデータ量(BLK_write)を有している。
一方、ベアメタルサーバハードウェア属性は、CPU Core数、メモリ容量、ハードディスク種別(HDD種別)、RAID Level、およびNetwork Interface Cardの通信速度(NIC Speed)を有している。
(性能特性対応表121)
図5に、性能特性対応表121を例示する。性能特性対応表121は、例えば、対象物理サーバのCPU、メモリ等のハードウェアごとに作成される。図5では、ある物理サーバのCPUの性能特性対応表121が例示されている。CPUの性能特性対応表121は、ベアメタルサーバで使用するアプリケーションセットごとに、当該アプリケーションを実行したときの物理リソース量(CPUcore数・メモリ量)を一定の時間単位で保存したテーブルである。また、性能特性対応表121には、a.時間ごとに遷移するリソース占有特性、b.突発性リソース増減値、c.リソース増減短期積分値の平均値(ave)、d.リソース増減長期積分値の平均値(ave)、e.余剰リソース率、f.余剰リソース重み、およびg.他デバイスの依存係数の計算結果値と、補正値とを保持する。このうち、リソース占有特性は、リソースの占有が処理量に対して線形に増加するか、非線形に増加するかを示す情報であり、例えば、「線形」「非線形」あるいは「CAD特性型」等で示される。また、リソース増減短期積分値およびリソース増減長期積分値は、それぞれ、「短期平均値」「長期平均値」と略称される。ここで、短期、および、長期は、それぞれ、異なる2種類の積分期間の相対的な長さを示す名称であり、短期が長期より短いことを表す。「短期平均値」「長期平均値」については、図7Aの処理において具体的に説明する。
また、他デバイスの依存係数は、性能特性対応表121に記述されるハードウェア(例えば、CPU)の性能が他のデバイスに与える影響が数値化されたものであり、数値が高いほど、当該性能が他のデバイスに強く影響することを示す。補正値は、計算結果値を補
正するための経験値である。性能特性対応表121も、物理計算機でアプリケーションプログラムを実行したときの動作情報の一例である。
(性能測定部11)
図3に戻って説明を継続する。性能測定部11は、ベアメタルサーバ配備部14の指示を受けてユーザが配備したワークロード(負荷)に関連する性能計算をバックグラウンドで実施する制御部である。性能測定部11は、性能情報DB12から、物理サーバごとに、性能情報を読み出す。そして、性能測定部11は、リソース占有特性(線形型、非線形型)を判定し、突発リソース増減量、短期時間当たり(10秒〜5分程度)のリソース増減量の積分による平均値、長期時間当たり(1時間〜24時間程度)のリソースの増減量の積分による平均値等を計算する。ここで、リソース増減量とは、例えば、リソースの占有率の時間変化をいう。また、短期時間、および、長期時間は、それぞれ、異なる2種類の積分期間の相対的な長さを示す名称である。そして、性能測定部11は、計算結果を性能特性値として、性能特性対応表121に記述し、性能情報DB12に記憶する。性能測定部11は、動作情報を基に物理計算機の物理リソースの余剰量または物理リソースの不足量を算出する性能評価部の一例である。
ユーザが配備するOS・アプリケーションセットのイメージ内には、アプリケーション性能と物理リソース(ハードウェアリソースともいう)の使用状況をモニタする性能測定エージェントが格納される。性能測定エージェントは、ユーザがOS・アプリケーションセットのイメージ(実行形式とも呼ばれる)を使用している間、アプリケーション性能値と物理リソースの利用状況を定期的に採取し、ベアメタル管理サーバ1に通知する。ベアメタル管理サーバ1は、通知された性能情報を性能情報DB12に格納し、蓄積する。性能測定部11は、性能情報DB12に蓄積された性能情報から対象のアプリケーションセットの性能特性対応表の各項目を計算し、計算結果を性能情報DB12に記憶する。
(管理画面部13)
管理画面部13は、表示装置にベアメタルサーバカタログ15の情報を表示し、ユーザからのベアメタルサーバの仕様の指定を受け付ける。また、管理画面部13は、ユーザから実行するアプリケーションセットの指定を受け付ける。管理画面部13は、受け付けたベアメタルサーバの仕様と実行対象のアプリケーションセットをベアメタルサーバ配備部14に引き渡す。管理画面部13は、ユーザから物理計算機の物理リソースの仕様と物理計算機で実行するアプリケーションプログラムの指定を受ける受付部の一例である。
(ベアメタルサーバ配備部14)
ベアメタルサーバ配備部14は、管理画面部13から引き渡されたベアメタルサーバの仕様と実行対象のアプリケーションセットとの組み合わせにおけるリソースの余剰量又は不足量(以下、過不足量ともいう)を性能測定部11に計算させる。ベアメタルサーバ配備部14は、性能測定部11における計算結果に基づき、アプリケーションセットの実行のために適切な物理リソースを有するベアメタルサーバを配備してユーザに提供する。ベアメタルサーバ配備部14は、物理計算機の物理リソース量を調整してユーザに提供する配備部の一例である。
(ベアメタルサーバプール2)
ベアメタルサーバプール2は、ユーザに提供される一群のベアメタルサーバである。ベアメタルサーバは、CPU22、メモリ(MEM)23、入出力部(IO)24等のリソースを有している。ベアメタルサーバは、それぞれベアメタルサーバカタログ15の指定に対応する物理リソースを有する。ただし、ベアメタルサーバは、BIOS21によって物理リソース量の変更が可能である。つまり、BIOS21は、ベアメタルサーバのリソースの一部の動作を停止させ、見かけ上、物理リソースを低減できる。また、ベアメタル
サーバが、ユーザに提供されるときには、アプリケーションセット、性能測定エージェント、およびOSがインストールされる。ベアメタルサーバは物理計算機の一例である。
<処理フロー>
図6に、ベアメタルサーバの配備処理のシーケンスを例示する。ベアメタル管理サーバ1の管理画面部13は、ベアメタルサーバ管理画面上にベアメタルサーバカタログ15とアプリケーションセットを提示し、ユーザの指定あるいは選択を受け付ける。例えば、ユーザは、ベアメタルサーバ管理画面上で、ベアメタルサーバカタログ15を参照し、ベアメタルサーバ性能(あるいは仕様)、使用するOS、およびアプリケーションを選択し、ベアメタルサーバの配備をベアメタル管理サーバ1に指示する(S1)。管理画面部13は、ユーザから受け付けたベアメタルサーバの性能、使用するOSイメージ、およびアプリケーションセットをベアメタルサーバ配備部14に引き渡す。
ベアメタルサーバ配備部14は、ユーザが指定したベアメタルサーバの性能を充足するベアメタルサーバを選択するとともに、選択したベアメタルサーバの仕様(CPU/メモリ容量/IO性能/搭載カードなど)と、使用するOS、およびアプリケーションセットを性能測定部11に通知する(S2)。
性能測定部11は、ベアメタルサーバ配備部14からの通知を受けて、ユーザが選択した性能のベアメタルサーバによるアプリケーションセットの性能情報DB12の履歴を参照する。そして、性能測定部11は、ユーザが指示した仕様を充足するベアメタルサーバと、アプリケーションセットを使った場合の性能特性、すなわち物理リソースの余剰または不足を調査する(S3)。物理リソースの余剰または不足は、ハードウェアの性能の余剰または不足ということもできる。S3の処理は、物理リソースの余剰量または前記物理リソースの不足量を算出することの一例である。
S3の調査の結果、ユーザが指示した仕様を充足するベアメタルサーバにおいて、物理リソースの性能に余剰または不足が発生する場合(S4でYES)、性能測定部11は、余剰量または不足量を回答する。S3の調査の結果、配備されるベアメタルサーバにおいて、物理リソースの性能に過不足が生じない場合(S4でNO)、性能測定部11は、OKを回答する。
ベアメタルサーバ配備部14は、S3の調査の結果、配備されるベアメタルサーバにおいて、物理リソースに余剰または不足が発生する場合、適切なリソース量のベアメタルサーバをベアメタルサーバプール2から選択する(S5)。適切なリソース量とは、物理リソースの余剰がCPU core数1未満、メモリモジュール1枚未満の余剰が生じる程度のリソース量をいう。ただし、性能測定部11がS3の調査結果に基づき、余剰の少ない適切なリソース量のベアメタルサーバをベアメタルサーバ配備部14に指示してもよい。ここで、適切なリソースのベアメタルサーバがベアメタルサーバプール2にない場合は、ベアメタルサーバ配備部14は、少なくとも不足の生じないベアメタルサーバ、つまり余剰のあるベアメタルサーバを選択する。そして、ベアメタルサーバ配備部14は、選択したベアメタルサーバのBIOS21に対して、BIOS設定を変更し不要なCPU core・メモリを無効化するように指示する(S6)。このようにして、ユーザの指定した性能に対応するベアメタルサーバに物理リソースの余剰が生じる場合には、ベアメタルサーバ配備部14は、余剰の生じるベアメタルサーバの物理リソースを低減して配備対象とする。また、性能測定部11での調査の結果、物理リソースの不足が生じる場合には、ベアメタルサーバ配備部14は、不足分を充足する仕様のベアメタルサーバを選択する。そして、ベアメタルサーバ配備部14は、さらに余剰の生じる場合には、ベアメタルサーバの物理リソースを低減して配備すればよい。
一方、ベアメタルサーバ配備部14は、S3の調査の結果、配備されるベアメタルサーバにおいて、ハードウェアの性能に過不足が発生しない場合、ユーザが指定あるいは選択した性能のベアメタルサーバをベアメタルサーバプール2から選択する(S7)。
そして、ベアメタルサーバ配備部14は、選択されたベアメタルサーバにOS、アプリケーションイメージ、および性能測定エージェントをインストールする(S8)。そして、ベアメタルサーバ配備部14は、OS、アプリケーションイメージおよび性能測定エージェントがインストールされたベアメタルサーバを配備してユーザに提供する(S9)。ベアメタルサーバ配備部14がベアメタルサーバを配備することで、ベアメタルサーバがユーザ用に確保され、ユーザは配備されたベアメタルサーバを利用可能になる。そして、ユーザは、提供されたベアメタルサーバを利用する。
なお、配備後性能収集して得られた性能情報を元に、配備済サーバの性能に余剰があると認められた場合、または、性能が不足していると判断した場合には、ベアメタルサーバ配備部14は、サーバの再起動を契機にCPU Core・メモリを無効化または有効化する。
また、ベアメタルサーバプール2の物理サーバが、動的にCPU Core/メモリ量を変更できる物理計算機である場合、性能測定部11が一定時間ごとに性能特性表および、データベースの比較値から余剰又は不足を調査し直す。そして、調整可能なリソースがある場合には、ベアメタルサーバ配備部14は、サーバの再起動を待たず動的に物理リソースを追加または削減する。
(性能測定部11の処理)
性能測定部11は、ベアメタルサーバ配備部14から配備が終了したことを受信し、配備したOS・アプリケーションセット内にある性能測定エージェントが通知してくる性能情報を性能情報DB12に蓄積する。そして、性能測定部11は、蓄積した性能情報を基に性能特性対応表を作成する。さらに、性能測定部11は、新たに配備されるベアメタルサーバの仕様と、アプリケーションセットに対して、過去に蓄積した性能特性対応表から、物理リソースの余剰量又は不足量を計算し、ベアメタルサーバ配備部14に回答する。
ここで、アプリケーションセットの実行において、選択されたベアメタルサーバの物理リソース(能力、性能)に余剰または不足があるかどうかの判定手順の概要を説明する。ベアメタル管理サーバ1の性能測定部11は、ユーザが指示した同等のアプリケーションセットを実行した過去の履歴を性能情報DB12より検索し、その動作履歴から物理リソース情報を抽出する。ただし、履歴情報が無い場合は、ユーザの指定したベアメタルサーバを最大構成で用意した物理リソース量を充足するベアメタルサーバの動作履歴を利用すればよい。動作履歴は単に履歴情報とも呼ばれる。
動作履歴には、単位時間(10秒)当たりのCPU利用率・メモリ利用率・Disk IO・ネットワーク帯域占有率が格納されている。CPU利用率は、全core数に対する、対象アプリケーションセット実行時間中の使用core数割合をいう。メモリ利用率は、物理メモリ容量に対する、対象アプリケーションセット実行時の物理メモリ使用量の割合をいう。Disk IO占有率は、Disk IOの最大転送速度に対する、対象アプリケーションセット実行時の転送速度の割合をいう。ネットワーク帯域占有率は、ネットワークの最大帯域幅に対する、対象アプリケーションセット実行時のネットワーク使用帯域幅の割合をいう。なお、以下では、CPU利用率、メモリ利用率、Disk IO占有率、およびネットワーク帯域占有率をCPU使用率、メモリ使用率、Disk IO使用率、およびネットワーク帯域使用率ともいう。また、CPU使用率、メモリ使用率、Disk IO使用率、およびネットワーク帯域使用率を総称してリソース使用率ともいう
。リソース使用率は、物理リソースの使用率の一例である。
ベアメタル管理サーバ1は、動作履歴から性能特性表を計算し、短期でのリソース変動が大きいアプリケーションであるか、比較的安定した量のリソースを使用するか、長期間の中で突発的なリソース変動とその兆候が無いか等を確認する。そのため、ベアメタル管理サーバ1は、動作履歴中の物理リソース情報の項目ごとに、長期時間(例えば、1H〜24H)と短期時間(例えば、10秒〜5分程度)の積分による平均値を算出し、判断の基礎として用いる。
図7Aから図7Dにより、性能測定部11の処理を例示する。図7Aは、物理リソースの履歴情報から、各物理リソースの使用量の積分による平均値を求める処理を例示する。図7Aでは、まず、性能測定部11は、ベアメタルサーバプール2のベアメタルサーバから収集されたCPU、メモリ、ディスクIO(入出力)、およびネットワーク帯域の履歴情報をそれぞれ性能情報DB12から読み取る(S11A、S11B、S11C、S11D)。
次に、性能測定部11は、性能情報DB12から読み取った履歴情報から、CPU利用率、メモリ利用率、ディスクIO(入出力)占有率、およびネットワーク帯域占有率を取得する。性能測定部11は、取得した利用率等をそれぞれ積分し、それぞれの平均値を求める(S12A、S12B、S12C、S12D)。ここで、平均値は、長期時間による積分と、短期時間による積分とが実行される。以下、長期時間による積分による平均値を長期平均値といい、短期時間による積分による平均値を短期平均値ということにする。図7Aの矢印Aは、図7Bの矢印Aに接続される。長期平均値は第1平均値の一例である。短期平均値は第2平均値の一例である。長期時間と短期時間は、第1単位期間と第1単位期間よりも短い第2単位期間の一例である。S12AからS12Dの処理は、物理リソースの使用率を第1単位期間ごとに平均した第1平均値と、第1単位期間よりも短い第2単位期間ごとに平均した第2平均値とを算出することの一例である。
図7Bに判定1の処理を例示する。判定1の処理は、ディスクIO占有率、ネットワーク帯域占有率、CPU利用率、メモリ利用率の関係を判定する処理である。図7Bでは、性能測定部11は、性能情報DB12に記録された処理対象期間中の履歴において、ディスクIO占有率の短期平均値がディスクIOの基準値D0(例えば、90%)以上の時間帯があるか否かを判定する(S13)。S13の判定で、ディスクIO占有率の短期平均値がディスクIOの基準値D0以上の時間帯がない(NOの判定)の場合、性能測定部11は、ネットワーク帯域占有率の短期平均値がネットワークの基準値N0(例えば、90%)以上の時間帯があるか否かを判定する(S14)。S14の判定で、ネットワーク帯域占有率の短期平均値がネットワークの基準値N0以上の時間帯がない(NOの判定)の場合、性能測定部11は、処理を図7CのS21に進める(矢印B)。S14でNOの場合は、動作情報の処理対象期間において、外部記憶装置の使用率が第1基準値未満であり、かつ、通信装置の使用率が第2基準値未満の場合の一例である。矢印B以降の処理(図7C、図7D)は、CPUおよびメモリについて、0以上の値で余剰量を算出することの一例である。また、処理対象期間とは、性能情報DB12中の動作履歴のうち、性能測定部11が処理対象として指定されている期間である。処理対象期間は、性能測定部11を起動するときのパラメータ等で指定することができる。処理対象期間は、動作情報の処理対象期間の一例である。
一方、S13のまたはS14の判定のいずれかがYES場合、性能測定部11は、ディスクIO占有率の短期平均値がディスクIOの基準値D0以上の時間帯か、ネットワーク帯域占有率の短期平均値がネットワークの基準値N0の時間帯でCPU利用率の短期平均値がCPUの基準値C0(例えば、90%)以上のものがあるか否かを判定する(S15
)。S15の判定がNOの場合、性能測定部11は、処理を図7CのS21に進める。一方、S15の判定がYESの場合、性能測定部11は、ディスクIO占有率の短期平均値がディスクIOの基準値D0以上の時間帯か、ネットワーク帯域占有率の短期平均値がネットワークの基準値N0の時間帯で、メモリ利用率の短期平均値がメモリの基準値M0以上のものがあるか否かを判定する(S16)。S16の判定がNOの場合、性能測定部11は、処理を図7DのS31に進める(矢印C)。一方、S16の判定がYESの場合、性能測定部11は、処理を図7DのS38に進める(矢印D)。S15の判定がYESの場合は、動作情報の処理対象期間において、外部記憶装置または通信装置の使用率が基準以上であって、かつ、CPUの使用率が基準以上の期間が存在する場合の一例である。また、S16以降の処理は、CPUを余剰としないことの一例である。S16でYESの場合は、動作情報の処理対象期間において、外部記憶装置または通信装置の使用率が基準以上であって、かつ、CPUの使用率およびメモリの使用率の両方が基準以上の期間が存在する場合の一例である。矢印D以降の処理は、メモリを余剰としないことの一例である。
図7Cに判定2の処理を例示する。判定2は、判定1でディスクIO占有率とネットワーク使用率との両方が基準より低いと判定されたか、CPU利用率が基準より低いと判定された場合に実行される処理である。判定2では、CPUの余剰量(例えば、core数)が計算される。この処理では、性能測定部11は、まず、CPU利用率の長期平均値から、処理対象期間の平均値(C1と呼ぶ)を求める(S21)。
次に、性能測定部11は、CPU利用率の短期平均値から、処理対象期間の平均値(C2と呼ぶ)と突発リソース増減値(C3と呼ぶ)を求める(S22)。ここで、突発リソース増減値(C3)は、処理対象期間でのCPU利用率の短期平均値のグラフで、最大値と最小値の差分値をいう。
次に、性能測定部11は、性能測定対応表(図5参照)の余剰リソース率(C4と呼ぶ)を求める(S23)。余剰リソース率(C4)は、C4=(100−C1−C2)/2によって定義される。ここで、2で除算するのは、余剰リソース率(C4)に1/2の安全係数を乗算するものである。ただし、安全係数が1/2に限定される訳ではなく、経験的、実験的に設定することができる。
次に、性能測定部11は、CPUの短期平均値を元にピーク判定値(C5と呼ぶ)を算出する(S24)。ピーク判定値は、C5=CPU利用率の短期平均値の最大性能−平均性能値×2によって算出される。ここで、2を乗算するのは、ピーク判定値(C5)に安全係数を乗算するものである。ただし、安全係数が2に限定される訳ではなく、経験的、実験的に設定することができる。
次に、性能測定部11は、ピーク判定値(C5)が基準値P0(例えば、20%)以上の値となるか否かを判定する(S25)。ピーク判定値(C5)が基準値P0以上となる場合には、性能測定部11は、ピーク性能値が存在すると判断し、以下の処理を実行する。すなわち、性能測定部11は、短期平均値による分析結果において、連続する一定期間(50〜100サンプル分)内のピーク数Pをカウントし、余剰リソース重み(Wc)を1−(P・((C3)−(C1)−(C2))/単位時間のサンプル数)の式により算出する(S26)。この式は、ピークが高く、ピーク数が多いほど、余剰リソース重み(Wc)を小さな値とし、余剰リソース量(リソース削減量)を少なくする効果が生じる。
なお、S26の計算において、性能測定部11は、余剰リソース重み(Wc)の計算を、性能情報DB12に記録された計測履歴期間を一定期間(50〜100サンプル分)単位ですべて評価し、余剰リソース重み(Wc)が最も少ない値を採用する。ここで、計測履歴期間とは、該当メタルサーバが該当アプリケーションセットを実行したときの動作履
歴が性能情報DB12に記録された全期間をいい、処理対象期間とも呼ぶ。計測履歴期間は、動作情報の処理対象期間の一例である。
一方、S25の判定で、ピーク判定値(C5)が基準値P0未満となる場合には、性能測定部11は、余剰リソース重み(Wc)=1に設定する。すなわち、ピークが少ない場合には、変動の影響を考慮しなくてよいからである。S26の処理は、動作情報の処理対象期間における物理リソースの使用率のピーク数、およびピークの高さの少なくとも一方に基づくピーク特性を抽出することの一例である。
そして、性能測定部11は、削減可能CPU利用率を余剰リソース重み(Wc)×余剰リソース率(C4)として計算する(S28)。なお、ベアメタル管理サーバ1は、余剰リソースの重みとして、アプリケーションセットの種類(データベースアプリ、CADアプリ、流体シミュレーション等)と過去のリソース変動率等から、適切な重みを選択することで、重みの値を調整するようにしてもよい。
そして、S28の計算結果である削減可能CPU利用率が1コア分のCPU利用率を越える場合、性能測定部11は、削減可能なコア数を算出する(S2A)。S2Aの処理は、第1平均値と第2平均値とに基づいて物理リソースの余剰量を算出することの一例である。
そして、性能測定部11は、処理を判定3(図7DのS31以降)に進める。一方、S28の計算結果である削減可能CPU利用率が1コア分のCPU利用率を越えない場合、性能測定部11は、処理を図7DのS38に進める。
図7Dに判定3の処理とリソース削減量または不足量を指示する処理を例示する。判定3の処理は、メモリリソースの余剰を判定する処理である。性能測定部11は、まず、メモリリソースの短期平均値のグラフにおいて、メモリ利用率の性能マージン中間値により余剰リソース率を計算する(S31)。
メモリリソースは、一般的に増減が短期時間に発生しないため、性能測定部11は、期間中に最も大きい利用率を適正なリソース量に対応するものと判断する。よって、性能測定部11は、メモリ利用率の短期時間(10秒〜5分程度)ごとの積分値のうち、最もメモリ利用率が高い値を適正性能値とする。性能測定部11は、メモリリソースを100%利用した場合のメモリ利用率(100%)から適正性能値を減算した差分値として、性能マージン(%)を求める。そして、性能測定部11は、この差分値の1/2(性能マージンの中間値)を余剰リソース率(以下、M1と呼ぶ)として算出する。ここで、見かけの余剰リソース、つまり、性能マージンは、差分値そのものと考えてもよい。しかし、本実施形態では、性能測定部11は、1/2の安全係数を掛けてメモリリソースの余剰を判断する。この安全係数は、1/2に限定されることはなく、経験的、実験的に0以上1未満の値を設定すればよい。
次に、性能測定部11は、S31で求められた余剰リソース率(M1)から実際に停止可能なメモリリソースをCPUのコア数の余剰計算(図7CのS28からS2A)と同等の方法で算出する。
図7Dの例では、性能測定部11は、余剰リソース重み(Wm)を1に設定する(S32)。ただし、性能測定部11は、余剰リソース重みとしてCPUと同様にアプリケーリョンの種類により過去のリソース変動率から適切な重みを選択してもよい。また、性能測定部11は、仮に、メモリリソースの短期平均値のグラフにピークが存在する場合には、図7CのS26と同様に、ピーク数と突発リソース上限値とから余剰リソース重み(Wm
)を決定してもよい。そして、性能測定部11は、余剰リソース率(M1)と余剰リソース重み(Wm)とを乗算し、削減可能メモリの割合を算出する(S33)。
次に、性能測定部11は、対象ベアメタルサーバ上のメモリモジュール容量よりも削除可能メモリ量が大きいか否かを判定する(S34)。性能測定部11は、例えば、削減可能メモリの割合と総メモリ量を乗算することで、削減可能メモリ量を算出できる。
S34の判定YESの場合、削除可能メモリ量をメモリモジュール容量で除算し、小数点以下は切り捨てることで、削減可能なメモリモジュール枚数を算出する(S35)。ベアメタルサーバに搭載されているメモリモジュールは、サーバごとに異なるため、S35の処理では、性能測定部11は、計算対象のベアメタルサーバが搭載しているメモリモジュールをベアメタルサーバの構成情報等から取得し、メモリモジュール数を算出する。例えば、4GBメモリモジュールを16枚使用し、64GBのメモリを形成するベアメタルサーバの場合で、10GBが停止可能リソース量である場合、2枚の4GBモジュールを停止することができる。S35の処理は、第1平均値と第2平均値とに基づいて物理リソースの余剰量を算出することの一例である。また、S35の処理は、第1平均値、第2平均値およびピーク特性に基づいて物理リソースの余剰量を算出することの一例でもある。
そして、性能測定部11は、以上の処理(S11AからS35の処理)で算出された削減可能なCPUコア数、および、メモリモジュール数を性能特性対応表に記録する(S36)。
一方、矢印Dから開始する処理は、判定1の処理(図7B)において、以下の条件1と条件2が充足されるときに実行される。
(条件1:S15でYES)
ディスクIO占有率の短期平均値がディスクIOの基準値D0以上の時間帯か、ネットワーク帯域占有率の短期平均値がネットワークの基準値N0以上の時間帯でCPU利用率の短期平均値がCPUの基準値C0(例えば、90%)以上のものがある。
(条件2:S16でYES)
ディスクIO占有率の短期平均値がディスクIOの基準値D0以上の時間帯か、ネットワーク帯域占有率の短期平均値がネットワークの基準値N0以上の時間帯で、メモリ利用率の短期平均値がメモリの基準値M0以上のものがある。
これらの条件が充足される場合には、逆にリソース量が不足している可能性がある。そこで、性能測定部11は、リソース量の不足量、すなわち、リソース増加量を計算する(S38)。リソース増加量は、例えば、条件1が充足される期間の長さ、処理対象期間全体に対する条件1が充足される期間の比率に応じて、CPU core数の増加量を設定しておけばよい。また、例えば、条件2が充足される期間の長さ、処理対象期間全体に対する条件2が充足される期間の比率に応じて、メモリモジュール数の増加量を設定しておけばよい。
また、例えば、性能測定部11は、CPU利用率の長期平均値レベルを反映して、CPU core数の増加量を計算してもよい。さらに、性能測定部11は、メモリ利用率の長期平均値レベルを反映して、メモリモジュール増加量を計算してもよい。長期平均値のレベルを反映とは、例えば、長期平均値を複数段階に区分し、区分に応じたリソース増加量を定めておき、動作履歴から計算された長期平均値に応じて、リソース増加量を決定することをいう。
さらに、例えば、性能測定部11は、図7CのS26からS28と同様、CPU利用率
のピーク判定値に基づくピーク数(P)と突発リソース増減値(C3)によるピーク重みを反映して、CPU core数の増加量を計算してもよい。すなわち、定常的にリソースが不足するのではなく、突発的な負荷のピーク(リソース不足のピーク)が存在する場合には、性能測定部11は、ピークの高さ、あるいはピークの密度に応じてピーク重みを設定すればよい。そして、ピークが高く、かつ、ピーク密度が高いほど、定常的なリソース不足に近づくよう、値1に近いピーク重みを設定すればよい。一方、ピークが低く、かつ、ピーク密度が低いほど、ピーク重みを0に近い値とすればよい。このようなピークを考慮したリソース増加量とすることで、性能測定部11は、無駄なリソースの提供を回避できる可能性を高めることができる。S38の処理は、第1平均値と第2平均値とに基づいて物理リソースの不足量を算出することの一例である。また、S38の処理は、第1平均値、前記第2平均値およびピーク特性に基づいて物理リソースの不足量を算出することの一例でもある。S38の処理は、CPUまたはメモリについて、0以上の値で不足量を算出することの一例である。
そして、性能測定部11は、削減可能なCPUコア、メモリモジュールがあるか否かを判定する(S37)。S37でYESの場合には、性能測定部11は、リソース削減量をベアメタルサーバ配備部14に指示する。S37でNOの場合には、性能測定部11は、不足するCPUコア、メモリモジュールがあるか否かを判定する(S39)。S39でYESの場合、性能測定部11は、リソース増加量をベアメタルサーバ配備部14に指示する。S39でNOの場合、CPUコア数、メモリモジュールに過不足がないので、性能測定部11は、現在のリソース量が適正であると判断し、リソース量の維持をベアメタルサーバ配備部14に指示する。
図7Bから図7Dに例示した判定1〜3を行うことで、ベアメタル管理サーバ1は、アプリケーションの実行性能に影響のない余剰の物理リソースを検出することができる。また、ベアメタル管理サーバ1は、アプリケーションの実行時に不足する物理リソースを検出することができる。
さらに、ベアメタル管理サーバ1は、図7Aから図7Dの処理で得られた値を、時間ごとに遷移するリソース占有特性として、例えば、線形型、非線形型に分類して管理してもよい。ここで、線形型とは、負荷あるいは処理量の増加に対して、リソース量が線形に増加する特性をいう。また、非線形型とは、負荷あるいは処理量の増加に対して、リソース量が非線形に増加する特性をいう。
図7Aから図7Dにおいては、性能情報DB12の動作履歴から性能特性対応表121のデータであるディスクIO占有率、ネットワーク帯域占有率、CPU利用率、メモリ利用率の短期平均値、長期平均値を算出し、余剰量、不足量をベアメタルサーバ配備部14に指示した。しかし、予め、図7Aから図7Dによって、アプリケーションセットとベアメタルサーバの仕様の組み合わせに対して、物理リソースの余剰量、不足量を計算し、記録しておいてもよい。そして、性能測定部11は、アプリケーションセットとベアメタルサーバの仕様の組み合わせの指定をベアメタルサーバ配備部14から受けたときに、予め計算しておいた物理リソースの余剰量、不足量を応答するようにすればよい。
すなわち、ベアメタル管理サーバ1は、突発リソース増減の有無、短期時間当たり(10秒〜5分程度)のリソースの時間積分による平均値、長期時間当たり(1時間〜24時間程度)のリソースの時間積分による平均値等を性能特性対応表の実績として記録しておくことができる。そして、ベアメタル管理サーバ1は、次回当該アプリケーションを配備するときに選択されたベアメタルサーバと、同一アプリケーション実行時の実績に記録されたベアメタルサーバと比較して、リソースの余剰を判断すればよい。そして、ベアメタル管理サーバ1は、選択されたベアメタルサーバに余剰がある場合はリソースの無効化、
停止等の設定をすればよい。
配備されたベアメタルサーバが物理リソースを変更できる機構を持つ場合には、停止可能リソース量が変化した時点で性能測定部11がベアメタルサーバ配備部14にリソースの変更を依頼し、動的にリソースを変化させればよい。
(ベアメタルサーバ配備部14の処理)
図8に、ベアメタルサーバ配備部14の処理を例示する(図では、「配備部」)。この処理では、ベアメタルサーバ配備部14は、管理画面部13から指示された仕様のベアメタルサーバと、アプリケーションセットを性能測定部11に通知し、リソース過不足の計算を依頼する(S101)。そして、ベアメタルサーバ配備部14は、性能測定部11から計算結果を取得する(S102)。次に、ベアメタルサーバ配備部14は、計算結果からリソースに余剰があるか否かを判定し(S103)、リソースに余剰がある場合には、S106の処理に進む。また、リソースに余剰がない場合に、ベアメタルサーバ配備部14は、リソースに不足があるか否かを判定し(S104)、リソースに不足がある場合には、S106の処理に進む。
一方、S103、S104の判定において、リソースに過不足がない場合、ベアメタルサーバ配備部14は、計算対象のベアメタルサーバに、アプリケーションセット、OS、および性能測定エージェントをインストールし、配備してユーザに提供する(S105)。
S106の処理では、ベアメタルサーバ配備部14は、S102の計算結果として取得したリソースの余剰量または不足量を基に、ユーザが選択した仕様のリソース量に余剰量を削減し、または不足量を増加して適正なリソース量を求める。そして、ベアメタルサーバ配備部14は、適正なリソース量のベアメタルサーバで、未使用のものをベアメタルサーバリスト16から検索する。そして、適正なリソース量のベアメタルサーバが存在する場合(S107でYES)、ベアメタルサーバ配備部14は、適正なリソース量のベアメタルサーバを選択して配備し、S105と同様の手順でユーザに提供する(S108)。
一方、適正なリソース量のベアメタルサーバが存在しない場合(S107でNO)、ベアメタルサーバ配備部14は、過剰なリソースを有する仕様のベアメタルサーバを選択する。そして、ベアメタルサーバ配備部14は、BIOSによって、過剰なリソース量を有する仕様のベアメタルサーバにおいて、過剰分のリソースを削減し、適正なリソース量のベアメタルサーバとする。そして、ベアメタルサーバ配備部14は、適正なリソース量のベアメタルサーバを選択して配備し、S105と同様の手順でユーザに提供する(S109)。
(配備後のベアメタルサーバの物理リソースの調整処理)
図9に、配備後のベアメタルサーバの物理リソース量を調整する処理を例示する。図9の処理は、例えば、所定時間(例えば、1時間〜24時間程度)の周期で定期的に実行される。あるいは、ベアメタル管理サーバ1を含む情報システムの管理者が図9の処理を起動するようにしてもよい。この処理では、ベアメタル管理サーバ1は、リソースの直近の短期平均値による余剰・不足計算処理を実行する(S41)。S41の処理は、例えば、図7B、7C、7Dで説明したディスクIO、ネットワーク帯域、CPU、メモリ等の余剰リソース量、不足リソース量の算出処理と同様である。
そして、ベアメタル管理サーバ1は、リソースの余剰の有無を判定する(S42)。リソースが余剰の場合、ベアメタル管理サーバ1は、ベアメタルサーバ配備部14にリソース削減を指示し、さらに、次回S41の処理で使用するリソース重みを所定値だけ増加さ
せる(S43)。リソースの削減量は、図7Bから図7Cでの処理と同様の計算によればよい。また、リソース重みに増加される所定値は、経験的、実験的に適正値を決定しておけばよい。
一方、S42の判定で、リソースの余剰がないと判定された場合に、ベアメタル管理サーバ1は、リソースの不足を判定する(S44)。リソースが不足の場合、ベアメタル管理サーバ1は、例えば、ベアメタルサーバ配備部14にリソース量の増加を指示し、さらに、次回S41の処理で使用するリソース重みを所定値だけ減少させる(S45)。リソース量の増加量、および、リソース重みが減少される所定値は、経験的、実験的に適正値を決定しておけばよい。例えば、ベアメタル管理サーバ1は、図7DのS38の処理と同様、図7BのS15およびS16の条件が充足される期間の長さtに応じて、リソース量の増加量を決定しておけばよい。例えば、期間の長さt<基準時間T0のとき、増加量V0、基準時間T0=<期間の長さt<基準時間T1のとき、増加量V1、・・・のように、期間の長さtに応じて段階的にリソースの増加量を決定しておけばよい。
以上のように、ベアメタル管理サーバ1は、所定時間(例えば、1時間〜24時間程度)当たりに図7Bから図7Cで述べた判定1〜3を再評価することで更に,ベアメタルサーバの余剰量と不足量の決定の精度を高める事が可能となる。
例えば、性能測定部11は蓄積した性能情報を随時参照し、ベアメタルサーバを配備したときにリソースを停止したものについて、性能不足に陥っていないか、あるいは余剰リソースがないかを監視する。不足・余剰の判断は、配備時のものと同等の判断を行い、不足である場合は、余剰リソース率が少なくなるよう、余剰リソース重み(Wc/Wm)の値を、補正値(0.01〜0.1)ずつ低下させる補正を実行すればよい。あるいは、さらに余剰がある場合は余剰リソース率が多くなるよう、余剰リソース重みの値を、補正値(0.01〜0.1)ずつ加算させ補正する。これにより、次回以降の配備に用いる停止可能リソース量の計算精度を変更する。なお、ベアメタル管理サーバ1は、アプリケーションセットの種類(データベースアプリ、CADアプリ,流体シミュレーション等)及び過去のリソース変動率から、余剰リソースの重みの特定な値を補正するよう、補正値を設定しておいてもよい。
<処理例>
図10から図13に、処理例のデータを示す。図10は、CPU利用率(%)の長期時間積分(例えば、1Hの積分)による平均値(長期平均値)の推移を例示した図である。つまり、同図は、1時間の区間での移動平均値ということができる。図10で横軸は時間であり、長期積分の処理対象期間の時間範囲での長期平均値の推移が示されている。長期平均値の推移をリソース増減長期積分値ともいう。また、図は、線形型のアプリケーションの事例である。
最大性能値は、処理対象期間での長期平均値の最大値である。最低性能値は、処理対象期間での長期平均値の最小値である。平均性能値(C1)は、処理対象期間全体での長期平均値の平均値であり、図10では20%である。性能余裕度は、100%から最大性能値を減算した差分値である。性能最大変動値は、最低性能値から最大性能値までの変動幅である。また、性能変動差は、平均性能値(C1)から最大性能値までの振幅ということができる。以上の長期平均値の時間に対する推移、最大性能値、最低性能値、平均性能値(C1)、性能余裕度、性能最大変動値、性能変動差等は性能対応表に記録される。
図11は、CPU利用率(%)の短期時間積分(例えば、10秒の積分)による平均値(短期平均値)の推移を例示した図である。つまり、図は、10秒の区間での移動平均値ということができる。短期平均値をリソース増減短期積分値とも呼ぶ。図で時間範囲は、
図10のリソース増減短期積分値と示された区間に相当する区間である。短期平均値についても、図10の長期平均値の場合と同様、最大性能値、最低性能値、平均性能値(C2)、性能余裕度、性能最大変動値、性能変動差が算出される。さらに、短期平均値のデータについては、最大性能値(80%)と最低性能値(2%)の差分値である性能最大変動値を突発リソース増減値(C3)と呼ぶ。以上の短期平均値の時間に対する推移、最大性能値、最低性能値、平均性能値(C2)、性能余裕度、性能最大変動値、性能変動差等は性能対応表に記録される。
図12は、CPU利用率のリソース増減長期積分値(長期平均値)とリソース増減短期積分値(短期平均値)に基づく性能対応表の他の計算値を例示する。図のように、性能余裕度は、100%から短期積分の平均性能値(30%)および長期積分の平均性能値(20%)を減算した値(100−C1−C2)で定義される。また、余剰リソース率(C5)は、性能余裕度の1/2である。
図13は、メモリに対する短期平均値の例である。すでに述べたように、メモリの場合には、100%と最大性能値(図13では80%)の差分値として性能余裕度が計算され、性能余裕度の1/2である性能マージン中間値が計算される。すでに述べたように、本実施形態では、性能マージン中間値は、余剰リソース率(M1)として用いられる。
<実施形態1の効果>
本実施形態のベアメタル管理サーバ1は、ユーザの処理要求に対する過剰な性能のサーバの配備を排除し、ユーザの処理に対して適正な物理リソースを認識することができるため、適切な物理リソースを有するベアメタルサーバを提供することができる。したがって、ベアメタル管理サーバ1は、ベアメタルサーバプール2の利用効率を上げることができる。
本実施形態の情報システムは、さらなる効果として、例えば、消費電力を低減できる。サーバの消費電力のうち、およそ40%がCPU・メモリが使用する電力、15%が冷却FANが使用する電力である。CPU core を10%停止させるとサーバ消費電力が3%低減する。メモリモジュールを10%停止させるとサーバ消費電力が2.5%低減する。CPU core・メモリ合わせると5.5%の低減が可能となる。したがって、ベアメタル配備システム内で余裕が多い状態で配備されている物理サーバが多いデータセンターにおいては、データセンターの全体の消費電力の低減が期待できる。
また、本実施形態では、性能測定部11が、性能情報DB12に蓄積された性能情報(動作情報ともいう)を基に、ベアメタルサーバの物理リソースの余剰量または不足量を計算する。したがって、ベアメタル管理サーバ1が新たに、アプリケーションセットとベアメタルサーバをユーザに提供する場合に、適切な物理リソースのベアメタルサーバを提供できる。
また、本実施形態では、性能測定部11は、性能情報DB12に蓄積された性能情報からリソース使用率の長期平均値と短期平均値と計算し、物理リソースの余剰量または不足量を算出する。性能測定部11は、2種類の平均値を用いることで、より精度の高い物理リソースの余剰量または不足量を算出することができる。
また、本実施形態では、性能測定部11は、ピーク重みを計算し、物理リソースの余剰量または不足量を算出する。ピーク重みによって、物理リソース使用率が変動する場合でも、性能測定部11は、ピークの高さとピークの密度を反映した適正な物理リソースの余剰量または不足量を算出することができる。
また、本実施形態では、性能測定部11は、処理対象期間において、ディスクIO占有率またはネットワーク帯域占有率が基準以上であって、かつ、CPUの利用率が基準以上の期間が存在する場合、CPUを余剰としない(図7BのS15でYESの場合)。したがって、性能測定部11は、CPUの余剰の有無をディスクIOまたはネットワーク帯域占有率と関係づけて評価するので、ベアメタルサーバのリソースの余剰を精度よく判断できる。
また、本実施形態では、性能測定部11は、処理対象期間において、ディスクIOまたはネットワーク帯域占有率が基準以上であって、かつ、CPUの利用率およびメモリの利用率の両方が基準以上の期間が存在する場合、メモリを余剰としない(図7BのS16でYESの場合)。したがって、性能測定部11は、メモリの余剰の有無をディスクIO、ネットワーク帯域占有率、およびCPUと関係づけて評価するので、ベアメタルサーバのリソースの余剰の有無を精度よく判断できる。
また、本実施形態では、性能測定部11は、処理対象期間において、ディスクIO占有率またはネットワーク帯域占有率が基準以上であって、かつ、CPUの利用率およびメモリの利用率の両方が基準以上の期間が存在する場合、CPUまたはメモリについて、0以上の値で不足量を算出する(図7BのS16でYESの場合にS38の処理を実行する)。したがって、性能測定部11は、CPUまたはメモリの不足の有無をディスクIOまたはネットワーク帯域占有率と関係づけて評価するので、ベアメタルサーバのリソースの不足の有無を精度よく判断できる。
また、本実施形態では、性能測定部11は、処理対象期間において、ディスクIO占有率およびネットワーク帯域占有率の両方が基準値未満の場合、CPUおよびメモリについて、0以上の値で余剰量を算出する。したがって、性能測定部11は、ディスクIO占有率およびネットワーク帯域占有率が低い場合でも、CPUまたはメモリの余剰の有無を判断できる。
[実施形態2]
実施形態2において、情報システムの運用例を説明する。本実施形態においても、情報システムの構成は、実施形態1の図3と同様である。
図14に、実施形態2のベアメタル管理サーバ1のハードウェア構成を例示する。ベアメタル管理サーバ1はCPU101と、メモリ102と、各種外部機器を有し、プログラムにより情報処理を実行する。外部機器としては、ストレージ103、Network Interface Card(NIC104)、ディスプレイ105、および入力装置106を例示できる。
CPU101は、メモリ102に実行可能に展開されたコンピュータプログラムを実行し、ベアメタル管理サーバ1の機能を提供する。メモリ102は、CPU101が実行するコンピュータプログラム、CPU101が処理するデータ等を記憶する。メモリ102は、Dynamic Random Access Memory(DRAM)、Static Random Access Memory(SRAM)、Read Only
Memory(ROM)等である。さらに、ストレージ103は、例えば、メモリ102を補助する記憶装置として使用され、CPU101が実行するコンピュータプログラム、CPU101が処理するデータ等を記憶する。ストレージ103は、ハードディスクドライブ、Solid State Disk(SSD)等である。さらに、ベアメタル管理サーバ1には、着脱可能記憶媒体の駆動装置を設けてもよい。着脱可能記憶媒体は、例えば、ブルーレイディスク、Digital Versatile Disk(DVD)、Compact Disc(CD)、フラッシュメモリカード等である。
NIC104は、ネットワーク上の他の装置とデータを授受する。ディスプレイ105は、例えば、液晶ディスプレイ、エレクトロルミネッセンスパネル等である。入力装置106は、例えば、キーボード、ポインティングデバイス等である。本実施形態では、ポインティングデバイスとしてマウスが例示される。
図15に、実施形態2の情報システムで配備対象となるベアメタルサーバの構成を例示する。ベアメタルサーバは、ベアメタル管理サーバ1と同様、CPU22、メモリ23、ハードディスク(HDD25)等のストレージ、および、各種IO24を有する。また、ベアメタルサーバは、Baseboard Management Controller(BMC26)を有する。BMC26は、オンボードのサーバ管理チップである。BMC26は、例えば、ベアメタルサーバが持つCPU22、メモリ23、IO24、HDD25などの資源の有効または無効を制御する。例えば、外部のコントローラ(または管理者、図15ではクライアント)がBMC26に有効/無効設定を行うことで、サーバ起動時にBIOS21がハードウェアを有効/無効にするかを制御し、使用可能なリソースの量を調整可能である。CPU22はCPU Core単位、メモリ23、IO24、HDD25は各スロット単位での有効無効の調整が可能である。
ベアメタルサーバに配備されるOS・アプリケーションイメージの構成は、実施形態1の図3のOSイメージ管理部に例示したものと同様とする。すなわち、実施形態2においても、イメージ内には、OS、アプリケーションと共に、性能情報を内部に性能情報ファイルとして収集し、定期的にベアメタル管理サーバ1内の性能情報DB12へ格納する性能測定エージエントが備えられる。
性能測定エージェントは、イメージが配備され、起動している間稼働し続け、OSに具備されている性能情報収集ツールを用いて所定時間間隔(管理者が設定可能、例えば数秒間隔)で性能情報を収集し、性能情報ファイルとして保存する。
性能情報収集ツールとしては、linux(UNIX(登録商標))の場合には、topやiostat などのコマンドが例示される。ただし、実施形態2において、性能測定エージェントの処理が、topやiostatに限定される訳ではない。性能測定エージェントは、所定時間(任意設定可能、例えば、数10分〜1時間など)ごとに収集した性能情報を定期的にベアメタル管理サーバ1に通知し、ベアメタル管理サーバ1に性能情報を性能情報DB12へ格納させる。
本情報システムシステムは、実施形態1と同様、ベアメタルサーバカタログ15により、ユーザが選択可能なベアメタルサーバの種類を、ベアメタルサーバ管理画面を介してユーザに提示する。図16に、実施形態2のベアメタルサーバカタログ15のデータを例示する。図16のように、ベアメタルサーバカタログ15は、PLAN、CPU、メモリ、HDD、NIC、拡張ボード、および価格のカラムを有する。PLAのカラムには、ベアメタルサーバの性能あるいは仕様のランクが提示される。例えば、高性能、中性能、低性能(エントリモデル)等である。CPUのカラムには、各PLANに対応するCPU性能が例えばコア数で提示される。メモリのカラムには、各PLANに対応するメモリ容量が例示される。HDDのカラムには、各PLANに対応するハードディスクの容量が提示される。拡張ボードのカラムには、各PLANで利用可能な拡張ボードが提示される。価格のカラムには、PLANにおける時間当りの料金が提示される。
一方、本実施形態では、ベアメタルサーバ配備部14は、ベアメタルサーバカタログ15と同様の情報、および、ユーザへのベアメタルサーバの配備情報をベアメタルサーバリスト16によって管理する。なお、ベアメタルサーバリスト16は、ベアメタルサーバ管理テーブルとも呼ばれる。図17に、ベアメタルサーバリスト16のデータを例示する。
ベアメタルサーバリスト16は、各行が1つのベアメタルサーバに対応する。各行は、Node、CPU、メモリ、HDD、NIC、拡張ボード、使用ユーザ、使用イメージ、使用開始日時の各カラムを有する。Nodeのカラムは、各行に対応するベアメタルサーバのネットワーク上のノード名を格納する。ベアメタルサーバ管理テーブルのCPU、メモリ、HDD、NIC、拡張ボードは、ベアメタルサーバカタログ15のものと同様であるので、その説明を省略する。
使用ユーザのカラムは、各行に対応するベアメタルサーバを使用しているユーザの識別情報を格納する。使用イメージのカラムは、各行に対応するベアメタルサーバが実行しているアプリケーションの種類を格納する。使用開始日時のカラムは、各ベアメタルサーバを使用しているユーザによる使用開始日時を格納する。
ユーザは、ベアメタルサーバ管理画面を介して、ベアメタルサーバ利用時に、目的のアプリケーションイメージを選択する。また、ユーザはベアメタルサーバカタログ15から所望のサーバ仕様(PLAN)を選択する。管理画面部13はユーザが選択したアプリケーションイメージとベアメタルサーバの仕様をベアメタルサーバ配備部14に通知する。ベアメタルサーバ配備部14は、ベアメタルサーバリスト16からユーザが指定した仕様のサーバで未使用のものを選択する。指定された仕様のサーバがない場合は、ベアメタルサーバ配備部14は、指定された仕様を上回る仕様のサーバを選択してもよい。ベアメタルサーバ配備部14は、性能測定部11に対し、当該サーバで、選択されたアプリケーションイメージを動作させた場合の物理リソースの余剰量、不足量を問い合わせる。
性能測定部11は過去の動作履歴を調査し、動作原理に説明した論理に従い物理リソースの余剰量、不足量を算出する。以下、実施形態2においては、図17のベアメタルサーバ管理テーブルのNode “SA123456−1” が選択され配備されたものとする。
<動作例>
図18に過去の動作履歴によるIO、ネットワーク、CPU、およびメモリのリソース短期平均値を例示する。また、図19に、CPU利用率についてのピーク判定処理の対象データを例示する。さらに、図20に、CPUリソース長期平均値を例示する。
(判定1)
図18の例では、IO/ネットワークの帯域占有率が90%を超える期間があるが、その期間でCPU/メモリの占有が90%を超えていない。したがって、ベアメタル管理サーバ1の性能測定部11は、IO/ネットワークの帯域と連動してCPU/メモリを消費するアプリケーションではないと判定できる。このため、次の判定2を実行する。
(判定2)
図20の例では、性能測定部11の計算により、CPUリソースの長期平均値における平均性能値(C1)=24%となる。図18の例では、性能測定部11の計算により、CPUリソース短期平均値における平均性能値(C2)=25%となる。そこで、性能測定部11は、余剰リソース率(C4)=(100−25−24)/2=25.5% であることを導出する。また、図18のCPUの短期平均値のグラフから、突発リソース増減値(C3)=84−2=82%が計算される。
次にピーク判定値(C5)は、図19より (C5)=CPU最大性能値−CPU平均性能値(C2)×2=84−25×2=34 > 基準値P0=20% となり、性能測定部11はピークが存在すると判断できる。そこで性能測定部11は、図18に示す短期積分値を50サンプルずつの区間に区切り、区間ごとにピーク数をカウントして余剰リソ
ース重み(Wc)を導出する。すると、
(Wc)=1−(3x(0.82−0.24−0.25)/50)=0.98 であることが導出される。
以上から、削減可能なCPU利用率は (Wc) x (C4) = 0.98 x 25.5 = 25 % となる。
(判定3)
図18より、性能測定部11は、メモリ余剰リソース率 (M1) =(100−最大メモリ占有率)/2=(100 − 78) /2 = 11% を計算する。また、最初の判定であるため、性能測定部11は、余剰リソース重み(Wm)を1とする。
以上から、削減可能なメモリ利用率は、(M1) x 1 = 11 x 1 = 11
% となる。
次に、性能測定部11は、ベアメタルサーバ配備部が配備する物理サーバのCPUcore数・メモリモジュールの搭載状況から、実際に停止可能なCPUcore数・メモリモジュール数を導出する。削減可能なCPUcore数は、「総core数」 x 「削減可能なCPU利用率」で導出される。
Node “SA123456−1” のCPUcore数は、96core、メモリ量は、16GByte x 32メモリモジュールで、512GByteである。そこで、性能測定部11は、以下の式にしたがって、削減可能なCPUcore数を算出する。停止可能CPU core = 96 x 25 % = 24
また、性能測定部11は、「削減可能なメモリモジュール数=「総メモリ量」x 「削減可能なメモリ利用率」 / メモリモジュール1つの容量」の式で導出する。ただし、メモリモジュールごとの容量が一様でない場合は、性能測定部11は、容量が大きいメモリモジュールを順に停止対象として抽出する。
停止可能メモリモジュール = ( 512 x 11 % ) / 16 = 3
以上の結果から、性能測定部11は、Node “SA123456−1” のCPU
core x 24 個 / 16Gメモリモジュール 3個の削減が可能と判断し、ベアメタルサーバ配備部14に削減可能リソース数を通知する。
ベアメタルサーバ配備部14は、性能測定部11の応答に基づき、配備対象のベアメタルサーバ上のBMCに、Core/メモリモジュールの有効数を設定した後、ベアメタルサーバ配備を開始する。ベアメタルサーバ配備部14は、ベアメタルサーバ起動時に、BIOSから設定されたCPU Core/メモリモジュールを有効化してユーザにサーバを提供する。
[コンピュータが読み取り可能な記録媒体]
コンピュータその他の機械、装置(以下、コンピュータ等)に上記いずれかの機能を実現させるプログラムをコンピュータ等が読み取り可能な記録媒体に記録することができる。そして、コンピュータ等に、この記録媒体のプログラムを読み込ませて実行させることにより、その機能を提供させることができる。
ここで、コンピュータ等が読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータ等から読み取ることができる記録媒体をいう。このような記録媒体のうちコンピュータ等から取り外し可能なものとしては、例えばフレキシブルディスク、光磁気ディスク、CD−ROM、CD−R/W、DVD、ブルーレイディスク、DAT、8mmテープ、フラッシ
ュメモリなどのメモリカード等がある。また、コンピュータ等に固定された記録媒体としてハードディスク、ROM(リードオンリーメモリ)等がある。さらに、SSD(Solid State Drive)は、コンピュータ等から取り外し可能な記録媒体としても、コンピュータ
等に固定された記録媒体としても利用可能である。
[その他]
本実施の形態は、以下の態様を含む。この態様を以下に付記する。各態様の構成は他の態様の構成と組み合わせことができるのは上記実施の形態から自明である。
(付記1)
物理計算機の物理リソースの仕様と前記物理計算機で実行するアプリケーションプログラムの指定を受ける受付部と、
前記指定を受けた物理リソースの仕様を充足する物理計算機で前記アプリケーションプログラムを実行したときの動作情報を基に、前記仕様を充足する物理計算機の物理リソース量を調整し、前記物理リソース量が調整された物理計算機を配備する配備部と、を備える管理装置。
(付記2)
前記物理計算機で前記アプリケーションプログラムを実行したときの動作情報を基に前記物理計算機の物理リソースの余剰量または前記物理リソースの不足量を算出する性能評価部をさらに有する付記1に記載の管理装置。
(付記3)
前記性能評価部は、前記動作情報から、前記物理リソースの使用率を第1単位期間ごとに平均した第1平均値と、前記第1単位期間よりも短い第2単位期間ごとに平均した第2平均値と、を算出して、前記第1平均値と第2平均値とに基づいて前記物理リソースの余剰量または前記物理リソースの不足量を算出する付記2に記載の管理装置。
(付記4)
前記性能評価部は、前記動作情報の処理対象期間における前記物理リソースの使用率のピーク数、および前記ピークの高さの少なくとも一方に基づくピーク特性を抽出し、前記第1平均値、前記第2平均値および前記ピーク特性に基づいて前記物理リソースの余剰量または前記物理リソースの不足量を算出する付記3に記載の管理装置。
(付記5)
前記性能評価部は、前記動作情報の処理対象期間において、外部記憶装置または通信装置の使用率が基準以上であって、かつ、CPUの使用率が基準以上の期間が存在する場合には、CPUを余剰としない付記2から4のいずれか1項に記載の管理装置。
(付記6)
前記性能評価部は、前記動作情報の処理対象期間において、外部記憶装置または通信装置の使用率が基準以上であって、かつ、CPUの使用率およびメモリの使用率の両方が基準以上の期間が存在する場合には、メモリを余剰としない付記2から5のいずれか1項に記載の管理装置。
(付記7)
前記性能評価部は、前記動作情報の処理対象期間において、外部記憶装置または通信装置の使用率が基準以上であって、かつ、CPUの使用率およびメモリの使用率の両方が基準以上の期間が存在する場合には、CPUまたはメモリについて、0以上の値で不足量を算出する付記2から6のいずれか1項に記載の管理装置。
(付記8)
前記性能評価部は、前記動作情報の処理対象期間において、外部記憶装置の使用率が第1基準値未満であり、かつ、通信装置の使用率が第2基準値未満の場合には、CPUおよびメモリについて、0以上の値で余剰量を算出する付記2から7のいずれか1項に記載の管理装置。
(付記9)
コンピュータが、
物理計算機の物理リソースの仕様と前記物理計算機で実行するアプリケーションプログラムの指定を受けることと、
前記指定を受けた物理リソースの仕様を充足する物理計算機で前記アプリケーションプログラムを実行したときの動作情報を基に、前記仕様を充足する物理計算機の物理リソース量を調整し、前記物理リソース量が調整された物理計算機を配備することと、を実行する管理方法。
(付記10)
前記物理計算機で前記アプリケーションプログラムを実行したときの動作情報を基に前記物理計算機の物理リソースの余剰量または前記物理リソースの不足量を算出することをさらに実行する付記9に記載の管理方法。
(付記11)
前記動作情報の処理対象期間において、外部記憶装置の使用率が第1基準値未満であり、かつ、通信装置の使用率が第2基準値未満の場合には、CPUおよびメモリについて、0以上の値で余剰量を算出することをさらに実行する付記10に記載の管理方法。
(付記12)
コンピュータに、
物理計算機の物理リソースの仕様と前記物理計算機で実行するアプリケーションプログラムの指定を受けることと、
前記指定を受けた物理リソースの仕様を充足する物理計算機で前記アプリケーションプログラムを実行したときの動作情報を基に、前記仕様を充足する物理計算機の物理リソース量を調整し、前記物理リソース量が調整された物理計算機を配備することと、を実行させるためのプログラム。
(付記13)
前記物理計算機で前記アプリケーションプログラムを実行したときの動作情報を基に前記物理計算機の物理リソースの余剰量または前記物理リソースの不足量を算出することをさらに実行する付記12に記載のプログラム。
(付記14)
前記動作情報から、前記物理リソースの使用率を第1単位期間ごとに平均した第1平均値と、前記第1単位期間よりも短い第2単位期間ごとに平均した第2平均値と、を算出して、前記第1平均値と第2平均値とに基づいて前記物理リソースの余剰量または前記物理リソースの不足量を算出することをさらに実行させるための付記13に記載のプログラム。
(付記15)
前記動作情報の処理対象期間における前記物理リソースの使用率のピーク数、および前記ピークの高さの少なくとも一方に基づくピーク特性を抽出し、前記第1平均値、前記第2平均値および前記ピーク特性に基づいて前記物理リソースの余剰量または前記物理リソースの不足量を算出することをさらに実行させるための付記14に記載のプログラム。
(付記16)
前記コンピュータに、前記動作情報の処理対象期間において、外部記憶装置または通信装置の使用率が基準以上であって、かつ、CPUの使用率が基準以上の期間が存在する場合には、CPUを余剰とさせない付記13から15のいずれか1項に記載のプログラム。(付記17)
前記コンピュータに、前記動作情報の処理対象期間において、外部記憶装置または通信装置の使用率が基準以上であって、かつ、CPUの使用率およびメモリの使用率の両方が基準以上の期間が存在する場合には、メモリを余剰とさせない付記13から16のいずれか1項に記載のプログラム。
(付記18)
前記動作情報の処理対象期間において、外部記憶装置または通信装置の使用率が基準以上であって、かつ、CPUの使用率およびメモリの使用率の両方が基準以上の期間が存在する場合には、CPUまたはメモリについて、0以上の値で不足量を算出することをさら
に実行させるための付記13から17のいずれか1項に記載のプログラム。
(付記19)
前記動作情報の処理対象期間において、外部記憶装置の使用率が第1基準値未満であり、かつ、通信装置の使用率が第2基準値未満の場合には、CPUおよびメモリについて、0以上の値で余剰量を算出することをさらに実行させるための付記13から18のいずれか1項に記載のプログラム。