以下、実施例を説明する。なお、以後の説明では、「xxxテーブル」等の表現にて情報を説明することがあるが、これら情報はテーブル等のデータ構造以外で表現されていてもよい。そのため、データ構造に依存しないことを示すために「xxxテーブル」等について「xxx情報」と呼ぶことがある。
また、以下の説明では、「kkk部」の表現にて処理部(機能)を説明することがあるが、処理部は、コンピュータプログラムがプロセッサ(例えばCPU(Central Processing Unit)によって実行されることで実現されてもよいし、ハードウェア回路(例えばFPGA(Field Programmable Gate Array)又はASIC(Application Specific Integrated Circuit))によって実現されてもよい。プログラムがプロセッサによって処理部が実現される場合、定められた処理が、適宜に記憶資源(例えばメモリ)及び/又は通信インターフェイスデバイス(例えば通信ポート)等を用いながら行われるため、処理部はプロセッサの少なくとも一部とされてもよい。処理部を主語として説明された処理は、プロセッサあるいはそのプロセッサを有する装置が行う処理としてもよい。また、プロセッサは、処理の一部または全部を行うハードウェア回路を含んでもよい。プログラムは、プログラムソースからプロセッサにインストールされてもよい。プログラムソースは、例えば、プログラム配布計算機または計算機が読み取り可能な記憶メディアであってもよい。各処理部の説明は一例であり、複数の処理部が一つの処理部にまとめられたり、一つの処理部が複数の処理部に分割されたりしてもよい。
以下の説明では、同種の要素を区別して説明する場合には、「xxx10a」、「xxx10b」のように、英文字の参照符号を使用し、同種の要素を区別しないで説明する場合には、「xxx10」のように 参照符号のうちの共通番号のみを使用することがある。
また、以下の説明において、管理システムは、一以上の計算機で構成されてよい。具体的には、例えば、管理計算機が情報を表示する場合(具体的には、管理計算機が自分の表示デバイスに情報を表示する、或いは、管理計算機が表示用情報を遠隔の表示用計算機に送信する場合)、管理計算機が管理システムである。また、例えば、複数の計算機で管理計算機と同等の機能が実現されている場合は、当該複数の計算機(表示を表示用計算機が行う場合は表示用計算機を含んでよい)が、管理システムである。
また、管理計算機は、表示デバイスを含む1以上のI/Oデバイスに接続されたインターフェースデバイスと、情報を記憶する記憶資源(例えばメモリ)と、インターフェースデバイス及び記憶資源に接続されたプロセッサとを有する。表示デバイスは、管理計算機が有する表示デバイスでもよいし、管理計算機に接続された表示用計算機でもよい。I/Oデバイスは、管理計算機が有するI/Oデバイス(例えばキーボード及びポインティングデバイス、タッチパネル)でもよいし、管理計算機に接続された表示用計算機又は別の計算機でもよい。管理計算機が「表示用情報を表示する」ことは、表示デバイスに表示用情報を表示することであり、これは、管理計算機が有する表示デバイスに表示用情報を表示することであってもよいし、管理計算機が表示用計算機に表示用情報を送信することであってもよい(後者の場合は表示用計算機によって表示用情報が表示される)。また、管理計算機が情報を入出力するとは、管理計算機が有するI/Oデバイスとの間で情報の入出力を行うことであってもよいし、管理計算機に接続された遠隔の計算機(例えば表示用計算機)との間で情報の入出力を行うことであってもよい。情報の出力は、情報の表示であってもよい。
図1は、本実施例に係る計算機システム1の構成例を示す。
計算機システム1は、複数の物理計算機10と、ストレージ装置100と、それらを管理する管理計算機200とを有する。各装置10、100、200は、所定のネットワーク55、65、252で接続されており、相互にデータを送受信することができる。
各物理計算機10、管理計算機200及びストレージ装置100は、それぞれHBA(Host Bus Adapter)を通じて、SAN(Storage Area Network)55に接続されてよい。SAN55は、FC(FibreChannel)スイッチ50、及び、HBA51などから構成されるFC SANであってよい。HBAは、ポートを通じて、他のHBA又はFCスイッチ50と接続されてよい。SAN55は、ファイバチャネル以外で構成されてもよい。例えば、SAN55は、iSCSI、FCoE、又は、Infini−bandなどで構成されてもよい。
各物理計算機10及び管理計算機200は、それぞれNIC(Network Interface Card)を通じて、所定のネットワークに接続されてよい。ネットワークは、Ethernet(登録商標)スイッチ60及びケーブルなどによって構成されてよい。各物理計算機10は、ネットワークを通じて、アプリケーションのデータ、及び、制御情報などを送受信してよい。ネットワーク上の通信には、TCP/IP(Transmission Control Protocol/Internet Protocol)などのプロトコルが利用されてよい。
図1では、ネットワークを、LAN65と、サービスネットワーク250と、管理ネットワーク251、252とに分けている。
クライアント端末70のサービスクライアント71と、物理計算機10上で実現されているアプリケーション12とは、サービスネットワーク250を通じて、情報処理サービスに必要なデータを送受信してよい。
各装置の制御コンポーネント同士は、管理ネットワーク251、252を通じて、各装置の構成を管理するための制御データを送受信してよい。
データセンタ内に構成されている複数の物理計算機10及び管理計算機200同士は、LAN65を通じて、様々なデータを送受信してよい。
これらのネットワーク構成は、物理的に分離されてもよいし、レイヤ3スイッチの設定又はレイヤ2スイッチの設定(VLAN(Virtual LAN)、仮想ローカルエリアネットワーク)などによって論理的に分離されてもよい。
計算機の一種であるクライアント端末70は、サービスネットワーク250、及び/又は、管理ネットワーク251を通じて、計算機システム1とデータを送受信することができる。ユーザは、クライアント端末70を通じて、計算機システム1に対して、システム環境の構成を要求することができる。計算機システム1上に構成されるシステム環境をインスタンス11という。インスタンス11は、ゲストOS13及びアプリケーション12によって構成されてもよいし、ゲストOS13のみで構成されてもよい。アプリケーション12の一例としては、WEBサーバ、ファイルサーバ及びデータベースサーバ、又は、これらの組み合わせなどがある。
インスタンス11は、計算機システム1を構成する物理計算機10上に実現される。インスタンス11の実現方式には、一の物理計算機10が提供する物理リソースを複数のインスタンスへ共有可能に割り当てる第1の実現方式がある。また、インスタンス11の実現方式には、1の計算機が提供する物理リソースの全部又は一部を一のインスタンスへ占有可能に割り当てる第2の実現方式がある。第1の実現方式の一例としては、仮想化方式がある。第2の実現方式の一例としては、ベアメタル方式、及び、LPAR方式がある。
ベアメタル方式で構成された物理計算機10をベアメタルホスト10a、仮想化方式で構成された物理計算機10を仮想マシンホスト10b、LPAR方式で構成された物理計算機10をLPARホスト10cという。これらの詳細については後述する(図3参照)。
クライアント端末70は、機能として、サービスクライアント71と、管理クライアント72とを有してよい。サービスクライアント71は、インスタンス11上のアプリケーション12から情報処理に関するサービスの提供を受ける。管理クライアント72は、管理計算機200に接続して計算機システム1の構成を管理する。これらサービスクライアント71及び管理クライアント72は、専用のプログラムであってもよいし、WEBブラウザなどで実行される汎用的なプログラムであってもよい。サービスクライアント71及び管理クライアント72は、一のクライアント端末70にまとめて配置されてもよいし、複数のクライアント端末70に別々に配置されてもよい。
ストレージ装置100は、各インスタンス11に、データのストレージ領域を提供する。ストレージ装置100は、CPU、メモリ及びストレージデバイスなどを備え、ストレージデバイスを制御するためのプログラム等が実行されてよい。ストレージデバイスの一例としては、HDD(Hard Disk Drive)及びSSD(Solid State Drive)などがある。
ストレージ装置100は、ストレージデバイスの物理的なストレージ領域から、論理的なストレージ領域であるボリューム101を構成し、そのボリューム101を、各インスタンス11に提供してもよい。
ベアメタルホスト10aに係るゲストOS13は、そのボリューム101に対して、データのリード及びライトを実行してもよい。
仮想マシンホスト10bでは、仮想化機構24がそのボリューム101を分割し、複数の仮想ボリュームを構成してもよい。そして、仮想マシンホスト10bに係るゲストOS13bは、自分に割り当てられた仮想ボリュームに対して、データのリード及びライトを実行してもよい。
管理計算機200は、複数の物理計算機から物理的なリソースである物理リソースが割り当てられることによって実現されるインスタンスを管理する。また、管理計算機200は、インスタンスを構成するための設定を含む情報であって、インスタンスの物理リソースの占有の要否の設定を含むインスタンス構成情報に基づいて、複数の異なるインスタンスの実現方式の中から、インスタンス構成情報に対応するインスタンスの実現方式を選択する。インスタンス構成情報は、後述するインスタンス構成要件、及び、インスタンス情報テーブルに格納されているインスタンス情報の何れであってもよい。
管理計算機200は、計算機システム1を構成する物理計算機10、ストレージ装置100、及び、ネットワーク装置50、60等を管理する。管理計算機200は、アプリケーション管理部201と、統合リソース管理部202と、計算機管理部203と、ネットワーク管理部204と、ストレージ管理部205と、に関する機能を有する。これらの機能201乃至205は、まとめて管理機能と呼ばれてもよい。
アプリケーション管理部201は、クライアント端末70からインスタンス11上のアプリケーション12を管理するためのI/Fを提供する。計算機管理部203は、物理計算機10の構成を管理する。ネットワーク管理部204は、ネットワーク装置(例えば、FCスイッチ50及びネットワークアダプタ)の構成を管理する。ストレージ管理部205は、ストレージ装置100の構成を管理する。
統合リソース管理部202は、これらの要素201乃至205の間を跨がる複雑なリソース管理を簡易化する機能を有する。ユーザは、統合リソース管理部202を通じて、複雑なリソース管理を簡単に行うことができる。
図2は、物理計算機10の備える物理デバイスの例を示す。
物理計算機10は、複数の物理デバイスが、データバス16を通じて接続されてよい。物理計算機10は、物理デバイスとして、CPU15、メモリ18、I/O(Input/Output)コントローラ31、グラフィックコントローラ32、ディスクコントローラ33、USB(Universal Serial Bus) I/F19、VGA(Video Graphics Array) I/F20、SAS(Serial Attached SCSI) I/F154、記憶ディスク105、NIC34、HBA35、及び、PCIe(Peripheral Component Interconnect Express)スイッチ17などを備えてよい。
CPU15及びメモリ18は、データバス16を通じて、I/Oコントローラ31、グラフィックコントローラ32、及び、ディスクコントローラ33と接続されてよい。また、CPU15及びメモリ18は、データバス16及びPCIeスイッチ17を通じて、NIC34及びHBA35と接続されてよい。
各コントローラ31、32、33は、接続先の物理デバイスを制御する。I/Oコントローラ31にはUSB I/F19が接続されてよい。グラフィックコントローラ32にはVGA I/F20が接続されてよい。ディスクコントローラ33にはSAS I/F154が接続されてよい。そして、SAS I/F154には、記憶ディスク105の一種としてHDDが接続されてよい。
各物理デバイスは、データバス16及びPCIeスイッチ17を通じて、PCIeによって、相互にデータを送受信してもよい。
図3は、ベアメタルホスト10a、仮想マシンホスト10b、及び、LPARホスト10cの構成例を示す。
ベアメタルホスト10aでは、物理デバイス(CPU15a、メモリ18a、NIC34a、HBA35aなど)によって提供される物理リソース14aが、そのベアメタルホスト10aに実現されたインスタンス11aに直接的に割り当てられる。したがって、そのインスタンス11aに係るゲストOS13aは、そのベアメタルホスト10aの物理デバイスが提供する全ての物理リソース14aを占有することができる。
ベアメタルホスト10aでは、物理リソース14aが特定のインスタンス11a以外からは利用されないので、ベアメタルホスト10aの物理リソース14aの利用率は、後述する仮想マシンホスト10b及びLPARホスト10cの物理リソース14b、14cの利用率と比較して低くなり易い。しかし、物理リソース14aを共有するインスタンスが存在しないので、インスタンス11aは、他のインスタンスから影響を受けることはない。利用率とは、利用可能な物理リソースの内、時間的又は空間的に、どのくらいの物理リソースが利用されているかを表す値である。利用率の詳細については後述する(図8参照)。
仮想マシンホスト10bは、仮想化機構24を備える。仮想化機構24は、ハードウェア及びソフトウェアの何れで構成されてもよい。仮想化機構24は、物理デバイスの物理リソース14bを分割し、複数の仮想デバイスを構成する。この仮想デバイスによって提供されるリソースを仮想リソース41という。仮想化機構24は、その仮想マシンホスト10bに実現された複数のインスタンス11bのそれぞれに、物理リソース14bを分割した仮想リソース41bを割り当てる。したがって、各インスタンス11bのゲストOS13bは、物理リソース14bの内、仮想化機構24によって割り当てられた分の仮想リソース41bしか利用することができない。
一般的にIaaSでは、仮想マシンホスト10bが構成される場合が多い。その理由は次の通りである。仮想マシンホスト10bでは、物理リソース14bが複数のインスタンス11bから共有して利用されるので、その仮想マシンホスト10bの物理リソース14bの利用率は、ベアメタルホスト10aの物理リソース14aの利用率と比較して高くなり易い。インスタンス11aに割り当てる物理リソース14aを増加させる場合、ベアメタルホスト10aでは、物理デバイスを増設する必要がある。しかし、仮想マシンホスト10bでは、仮想化機構24の設定を、仮想リソース41bに対する物理リソース14bの割り当て量を増加させるように変更すればよい。
しかし、仮想マシンホスト10bでは、インスタンス11bは、他のインスタンスから影響を受けることがある。例えば、仮想マシンホスト10b上の複数のインスタンス11bの処理負荷が一斉に高くなると、複数のインスタンス11bから共有されている物理リソース14bが、性能上のボトルネックとなり得る。したがって、安定したI/O性能を有するインスタンス(例えば、DBサーバなど)を構築したい場合、仮想マシンホスト10bにインスタンス11bを構築することは適切ではない。
LPARホスト10cは、LPAR機構37を有する。LPAR機構37は、ハードウェア及びソフトウェアの何れで構成されてもよい。
物理デバイスは物理リソース14cを提供するが、所定の物理デバイスは、さらに複数の独立した物理リソース(「独立物理リソース」という)を提供することができる。独立物理リソースは、他の独立物理リソースの状況から影響を受けない。
物理デバイスがCPU15の場合、そのCPU15の有する各コアは、独立物理リソースとなり得る。物理デバイスがメモリ18の場合、そのメモリ18のアドレス空間を分割した各区画は、独立物理リソースとなり得る。
物理デバイスがストレージ装置100の場合、そのストレージ装置100のスピンドル(例えば、複数のHDD)の各々は、独立物理リソースとなり得る。物理デバイスがネットワークアダプタ34、35等の場合、それぞれが有するポート61、51は、独立物理リソースである。
物理デバイスがコントローラ31、32、33の場合、そのコントローラ31、32、33に接続されているI/F19、20、154は、独立物理リソースとなり得る。また、データキャッシュの物理アドレス、RAIDグループ、HDD、及び、ネットワークスイッチ上の物理ポートなども、独立物理リソースとなり得る。
また、SR−IOV(Single Root Input Output Virtualization)機能を有する物理デバイスは、物理デバイス側で論理アドレスの多重化を行い、論理的に独立した物理領域をインスタンス11に提供することができる。したがって、SR−IOV機能を有する物理デバイスについては、その論理的に独立した物理領域の各々を独立物理リソースとしてよい。例えば、NIC34がSR−IOV機能を有する場合、物理的には一つのNIC34であるが、論理的に複数と扱われるNICの各々が独立物理リソースとなり得る。
LPAR機構37は、独立物理リソースを、一つのインスタンス11に占有的に割り当てるか、又は、複数のインスタンス11に共有的に割り当てるかを制御することができる。独立物理リソースを複数のインスタンス11に割り当てる場合、LAPR機構37は、その独立物理リソースから複数の仮想リソースを構成し、その仮想リソースをインスタンス11に割り当ててよい。一つのインスタンス11に占有的に割り当てられた独立物理リソースを、占有リソース42という。複数のインスタンス11に共有的に割り当てられた独立物理リソースを、共有リソースという。
ベアメタルホスト10aと、仮想マシンホスト10bとの間の構成上の差異は、仮想化機構24の有無である。したがって、ベアメタルホスト10aに仮想化機構24を導入して仮想マシンホスト10bにしたり、反対に、仮想マシンホスト10bから仮想化機構24を削除してベアメタルホスト10aにしたりできてよい。
ベアメタルホスト10aと、LPARホスト10cとの間の構成上の差異は、LPAR機構37の有無である。したがって、ベアメタルホスト10aにLPAR機構37を導入してLPARホスト10cにしたり、反対に、LPARホスト10cからLPAR機構37を削除してベアメタルホスト10aにしたりできてよい。
仮想マシンホスト10bと、LPARホスト10cとの間の構成上の差異は、仮想化機構24とLPAR機構37の差異である。したがって、仮想マシンホスト10bの仮想化機構24をLPAR機構37に変更してLPARホスト10cにしたり、反対に、LPARホスト10cのLPAR機構37を仮想化機構24に変更して仮想マシンホスト10bにしたりできてよい。
図4は、複数のLPARホスト10cを接続して使用する構成例を示す。
複数のLPARホスト10cがデータバスを通じて接続されている場合、各LPARホスト10cのLPAR機構37が連携して、各LPARホスト10cの物理リソース14を相互に利用できるようにしてもよい。例えば、図4に示す構成は、LPARホスト10c−1のデータバス16−1と、LPARホスト10c−2のデータバス16−2とが、インターコネクト16−3によって接続されている。
これにより、LPAR機構37は、インスタンス11cが構成されるLPARホスト10c−1とは別のLPARホスト10c−2の独立物理リソースを、インスタンス11cに割り当てることができる。例えば、図4では、LPAR機構37が、LPARホスト10c−1に構成されているインスタンス11cに、LPARホスト10c−2のCPU15−2のコアを割り当てている。
複数のLPARホスト10cを接続して使用する場合、その複数のLPARホスト10cの内の一つが代表ノードに選出され、その代表ノードの識別子が、その複数のLPARホスト10cの識別子として使用されてよい。
一般に、データバス16よりもインターコネクト16−3の方が、通信遅延が大きい。したがって、LPAR機構37は、インスタンス11cが構成されているLPARホスト10c−1内のデータバス16−1で接続されている物理リソース14−1を、優先的にそのインスタンス11cに割り当て、その割り当てが不可能な場合に、別のLPARホスト10c−2内のインターコネクト16−3の先にある物理リソース14−2を、そのインスタンス11に割り当てるとしてもよい。
インスタンス11c上のゲストOS13cは、このような通信遅延等に対応するために、データバス16−1に接続されている物理リソース14−1のセット(例えば、CPU15−1及びメモリ18−1のセット)を検知する機能を有してもよい。例えば、NUMA(Non−Uniform Memory Access)アーキテクチャに対応するゲストOS13cは、このような機能を有する。
図5は、ストレージ装置100の構成例を示す。
ストレージ装置100は、物理計算機10(又は、その物理計算機10のインスタンス11。図5において、以下同じ)からライト要求されたデータを格納し、リード要求されたデータを物理計算機10に渡す。
ストレージ装置100は、例えば、プロセッサ151と、メモリ152と、キャッシュメモリ153と、SATA(Serial ATA) I/F154と、HBA159と、NIC155と、ストレージメディア105と、これらの要素が接続されるデータバス156と、を有する。プロセッサ151と、メモリ152と、キャッシュメモリ153と、SATA I/F154と、HBA159と、NIC155とは、まとめてストレージコントローラ150と呼ばれてもよい。ストレージ装置100は、複数のストレージメディア105からRAIDグループ104を構成してもよい。
HBA159は、SAN55に接続されており、物理計算機10との間でライト要求及びリード要求などを送受信する。NIC155は、管理ネットワーク252に接続されており、管理計算機200との間で制御要求などを送受信する。SATA I/F154は、RAIDグループ104に接続されており、そのRAIDグループ154との間でリードデータ及びライトデータを送受信する。
キャッシュメモリ153は、ストレージメディア105よりもI/Oが高速である。キャッシュメモリ153には、SATA I/F154を通じて送受信されるリードデータ及びライトデータがいったん格納される。物理計算機10に対するストレージコントローラ150の応答を速くするためである。
プロセッサ151は、メモリ152に格納されている応答プログラム153a、及び、制御プログラム153b等を実行し、ストレージ装置100の有する各種機能を実現する。
応答プログラム153aは、物理計算機10から送信されたリード要求及びライト要求に対して応答を返すプログラムである。制御プログラム153bは、RAIDグループ104の記憶領域から論理的なボリューム101を構成し、物理計算機10にそのボリューム101を提供するプログラムである。
制御プログラム153bは、RAIDグループ104の記憶領域からストレージプール106を構成し、そのストレージプール106から仮想ボリューム107を構成してもよい。そして、制御プログラム153bは、仮想ボリューム107にライトデータを格納するときに、そのライトデータを格納するための領域をストレージプール106に確保してもよい。複数の物理計算機10が、RAIDグループ104の記憶領域を無駄なく利用できるようにするためである。
ボリューム101及び仮想ボリューム107は、ストレージリソースと呼ばれてもよい。ストレージリソースは、独立物理リソースになり得る。
制御プログラム153bは、ストレージリソースが、何れの物理計算機10(インスタンス11)に割り当てられているか、及び/又は、占有リソース及び共有リソースの何れとして割り当てられているかなどを管理してもよい。
図6は、管理計算機200の機能の構成例を示す。
管理計算機200は、機能の一種として、例えば、統合リソース管理部202と、計算機管理部203と、ネットワーク管理部204と、ストレージ管理部205とを有する。統合リソース管理部202は、インスタンス構成部211と、要件受付部210と、インスタンス情報テーブル212と、リソース情報テーブル213と、テンプレート情報テーブル214と、テンプレート利用頻度テーブル218と、トポロジ情報テーブル215と、候補テーブル217と、リソース稼働情報データベース216と、を含んでよい。リソース稼働情報データベース216には、各装置の過去の可動性能に関する情報を含む履歴情報が格納されてよい。
インスタンス構成部211は、各テーブル212乃至217に格納されている情報に基づき、インスタンス構成要件を満たし、且つ、物理計算機10の物理リソース14の利用率ができるだけ高くなるように、各物理計算機10を制御する。インスタンス構成要件には、ユーザがインスタンス11に求める要件の情報が含まれてよい。例えば、インスタンス構成要件には、インスタンス11の構成要素とするリソースの情報と、そのリソースに求める機能、性能及び品質に関する情報と、が含まれてよい。そして、インスタンス構成部211は、インスタンス構成要件において高品質が指定されているリソースを占有リソースとし、それ以外のリソースを共有リソースとしてもよい。
要件受付部210は、クライアント端末70の管理クライアント72から、インスタンス構成要件を受信する。そして、要件受付部210は、その受信したインスタンス構成要件を、適宜、インスタンス構成部211へ渡す。例えば、要件受付部210は、複数のインスタンス構成要件において同じリソースが要求されている場合、先に受信したインスタンス構成要件を先にインスタンス構成部211へ渡し、後に受信したインスタンス構成要件をいったん保留してもよい。
インスタンス情報テーブル212には、計算機システム1に構成されたインスタンス11毎に、そのインスタンス11の構成に関する情報であるインスタンス情報が格納される。インスタンス情報テーブル212の詳細については後述する(図7参照)。
リソース情報テーブル213には、物理デバイス毎に、その物理デバイスが有する独立物理リソースに関する情報である独立物理リソース情報が格納される。リソース情報テーブル213の詳細については後述する(図8参照)。
テンプレート情報テーブル214には、テンプレート情報が格納される。ユーザは、テンプレート情報を利用することにより、より簡単にインスタンス構成要件を作成することができる。テンプレート情報テーブル214の詳細については後述する(図9参照)。
トポロジ情報テーブル215には、計算機システム1に構成されたインスタンス11毎に、そのインスタンス11を構成するリソースと、そのリソースに関連する物理デバイスとの関係を示す情報(「トポロジ情報」という)が格納される。トポロジ情報テーブル215の詳細については後述する(図10参照)。
候補テーブル217には、インスタンス11の作成処理の途中において、インスタンス11のデプロイ先の物理計算機10の候補が格納される。候補テーブル217の詳細については後述する(図11参照)。
テンプレート利用頻度テーブル218には、テンプレート情報の利用頻度に関する情報が格納される。テンプレート利用頻度テーブル218の詳細については後述する(図13参照)。
図7は、インスタンス情報テーブル212の構成例を示す。
インスタンス情報テーブル212には、計算機システム1に構成された各インスタンス11のインスタンス情報が格納される。
インスタンス情報は、インスタンスIDと、共通情報212−1と、演算リソース情報212−2と、ネットワークリソース情報212−3と、ストレージリソース情報212−4と、機能情報212−5とを含んでよい。インスタンスIDは、インスタンス11を識別するための情報である。
共通情報212−1は、インスタンスIDのインスタンス11に共通する情報を含む。共通情報212−1は、例えば、テンプレート名と、インスタンス名と、インスタンスの実現方式と、ユーザ名と、を含む。
テンプレート名は、インスタンスIDのインスタンス11が基礎としたテンプレート情報の名称を示す。インスタンス名は、インスタンスIDのインスタンス11の名称を示す。インスタンスの実現方式は、インスタンスIDのインスタンス11が、例えば、「ベアメタル方式」、「仮想化方式」及び「LPAR方式」の何れで実現されているかを示す。ユーザ名は、インスタンスIDのインスタンス11を所有しているユーザの名称を示す。
演算リソース情報212−2は、インスタンスIDのインスタンス11に割り当てられている演算に関する物理リソースの情報を含む。例えば、演算リソース情報212−2は、インスタンス11に割り当てられている各CPUリソースについて、割り当てモードと、動作周波数と、コア数とを含む。
CPUリソースに係る割り当てモードは、インスタンスIDのインスタンス11に割り当てられているこのCPUリソースが、占有リソース又は共有リソースの何れであるかを示す。割り当てモードが「占有」のCPUリソースは、インスタンスIDのインスタンス11以外のインスタンスからは利用されない。割り当てモードが「共有」のCPUリソースは、インスタンスIDのインスタンス11以外のインスタンスからも利用される可能性がある。
動作周波数は、このCPUリソースの動作周波数を示す。コア数は、このCPUリソースの有するコア数を示す。
ネットワークリソース情報212−3は、インスタンスIDのインスタンス11に割り当てられているネットワークに関する物理リソースの情報を含む。例えば、ネットワークリソース情報は、インスタンス11に割り当てられている各NICリソースについて、割り当てモードと、帯域と、ポート数と、VLAN IDとを含む。
NICリソースに係る割り当てモードは、インスタンスIDのインスタンス11に割り当てられているNICリソースが、占有リソース又は共有リソースの何れであるかを示す。割り当てモードが「占有」のNICリソースは、インスタンスIDのインスタンス11以外のインスタンスからは利用されない。割り当てモードが「共有」のNICリソースは、インスタンスIDのインスタンス11以外のインスタンスからも利用される可能性がある。
帯域は、このNICリソースの最大帯域を示す。ポート数は、このNICリソースの有するポート数を示す。VLAN IDは、このNICリソースに設定されたVLANのIDを示す。
ストレージリソース情報212−4は、インスタンスIDのインスタンス11に割り当てられているストレージに関する物理リソースの情報を含む。例えば、ストレージリソース情報212−4は、インスタンス11に割り当てられている各仮想的なストレージについて、割り当てモードと、容量と、階層と、冗長パスとを含む。
ストレージに係る割り当てモードは、インスタンスIDのインスタンス11に割り当てられているストレージリソースが、占有リソース又は共有リソースの何れであるかを示す。割り当てモードが「占有」のストレージリソースは、インスタンスIDのインスタンス11以外のインスタンスからは利用されない。割り当てモードが「共有」のストレージリソースは、インスタンスIDのインスタンス11以外のインスタンスからも利用される可能性がある。
容量は、このストレージリソースの最大の記憶容量を示す。階層は、このストレージリソースの階層(ティア)を示す。冗長パスは、このストレージリソースに対する冗長パスの数を示す。
機能情報212−5は、インスタンスIDのインスタンス11に設定された機能に関する情報を含む。例えば、機能情報212−5は、移行機能と、高可用性機能と、を含む。
移行機能は、インスタンスIDのインスタンス11の移行に関する機能である。例えば、移行機能が「無停止」のインスタンス11は、無停止での移行に必要な機能を有する。
高可用性機能は、インスタンスIDのインスタンス11の可用性に関する機能である。例えば、高可用性機能が「有効」のインスタンス11は、高可用性の運用に必要な機能を有する。
ユーザは、インスタンス構成要件を用いて、上述のインスタンス情報の項目の全部又は一部を指定することができる。すなわち、インスタンス構成要件には、上述のインスタンス情報と同じ項目が含まれてよい。
インスタンス構成要件においてユーザから指定されなかった項目は、管理計算機200が自動的に設定してもよい。インスタンス構成要件においてユーザから不正な値が指定されている項目は、管理計算機200が自動的に修正してもよい。インスタンス構成要件においてユーザから指定された値が項目間で不整合な場合は、管理計算機200が自動的に修正してもよい。インスタンス11に割り当てないリソースの項目には、「N/A」が設定されてもよい。
図7において、インスタンスID「IST−A0−0002」のインスタンス11は、「LPAR方式」で実現されている。
このインスタンス11に割り当てられているCPUリソース「CPU#0」は、「共有」である。したがって、このインスタンス11におけるCPU#0による演算処理は、他のインスタンスの影響を受ける可能性がある。
このインスタンス11に割り当てられているNICリソース「NIC#0」は、「占有」である。したがって、このインスタンス11におけるNIC#0による通信処理は、他のインスタンスの影響を受けない。
このインスタンス11に割り当てられているストレージリソース「ストレージ#0」は、「共有」である。したがって、このインスタンス11におけるストレージ#0に対するI/Oは、他のインスタンスの影響を受ける可能性がある。
図8は、リソース情報テーブル213の構成例を示す。
リソース情報テーブル213には、各物理計算機10が有する物理デバイス毎に、その物理デバイスが有する独立物理リソースに関する情報(「独立物理リソース情報」という)が格納される。
物理計算機10の有する物理デバイスは、以下の独立物理リソースを有してよい。
CPUに係る独立物理リソースは、そのCPUが有する各コアであってよい。例えば、図8の場合、CPUにおけるコア#0〜#7、コア#8〜#11、コア#12〜#17、コア#28〜#31のそれぞれのコア群が、一つの独立物理リソースである。
メモリに係る独立物理リソースは、そのメモリの記憶領域を複数の区画に分割した内の1区画であってよい。例えば、図8の場合、メモリのアドレス#00〜#9F、アドレス#A0〜#CF、アドレス#D0〜#FFのそれぞれの区画が、一つの独立物理リソースである。
NICに係る独立物理リソースは、そのNICが有する各スロットであってよい。例えば、図8の場合、NICのスロット#0、#1、#2のそれぞれが、一つの独立物理リソースである。
ストレージ装置100の有する物理デバイスは、以下の独立物理リソースを有してよい。
プロセッサに係る独立物理リソースは、各プロセッサであってよい。例えば、図8の場合、MP#1、#2のそれぞれが、一つの独立物理リソースである。キャッシュメモリに係る独立物理リソースは、各スロットであってよい。例えば、図8のレコード213−5は、スロットA0、A1のそれぞれが、一つの独立物理リソースである。ポートに係る独立物理リソースは、各ポートであってよい。例えば、図8の場合、ポートP00−01、P02−10、P11−15のそれぞれが、一つの独立物理リソースである。RAIDグループに係る独立物理リソースは、各RAIDグループであってよい。例えば、図8の場合、RAIDグループ「RAID#00」が、一つの独立物理リソースである。
独立物理リソース情報は、フィールド値として、例えば、装置ID213−1と、物理デバイス名213−2と、独立物理リソース名213−3と、割り当てモード213−4と、利用率213−5と、を有する。
装置ID213−1は、物理計算機10及びストレージ装置100等の装置を識別するための情報である。物理デバイス名213−2は、装置ID213−1の装置が有する物理デバイスの名称を示す。独立物理リソース名213−3は、物理デバイス名213−2の物理デバイスが有する独立物理リソースの名称を示す。
割り当てモード213−4は、独立物理リソース名213−3の独立物理リソースが、「占有」、「共有」又は「未割り当て」の何れの状態であるかを示す。割り当てモードが「占有」の独立物理リソースは、一つのインスタンス11に割り当てられている。割り当てモードが「共有」の独立物理リソースは、複数のインスタンス11に割り当てられている可能性がある。割り当てモードが「未割り当て」の独立物理リソースは、何れのインスタンス11にも割り当てられていない。
利用率213−5は、独立物理リソース名213−3の独立物理リソースの利用率を示す情報である。CPUに係る利用率は、独立物理リソースであるコア群における単位時間当たりの利用率であってよい。メモリに係る利用率は、独立物理リソースである1区画当たりの利用率であってよい。NICに係る利用率は、独立物理リソースである1スロットにおける単位時間当たりの利用率であってよい。プロセッサに係る利用率は、独立物理リソースである1プロセッサにおける単位時間当たりの利用率であってよい。キャッシュメモリに係る利用率は、独立物理リソースである1スロットにおける単位時間当たり利用率であってよい。ポートに係る利用率は、独立物理リソースである1ポートにおける単位時間当たりの利用率であってよい。RAIDグループに係る利用率は、独立物理リソースである一つのRAIDグループの記憶容量当たりの利用率であってよい。
図9は、テンプレート情報テーブル214の構成例を示す。
テンプレート情報テーブル214には、テンプレート情報が格納される。テンプレート情報には、インスタンス構成要件の作成に利用可能なデフォルト値が設定されてよい。テンプレート情報は、計算機システム1の事業者などによって予め作成されてよい。
テンプレート情報テーブル214には、ユーザのニーズに合わせた様々なパターンのテンプレート情報が格納されてよい。例えば、テンプレート情報テーブル214には、インスタンス11の性能別、用途別、又は費用別などの様々なパターンのテンプレート情報が格納されてよい。パターンの異なるテンプレート情報には、異なるデフォルト値が設定されてよい。
テンプレート情報には、選択可能なデフォルト値、上限値と下限値、変更不可能なデフォルト値、などが設定されてよい。
テンプレート情報には、インスタンス11上で稼働させるアプリケーション用に適切にサイジングされたデフォルト値が設定されてよい。このデフォルト値は、アプリケーションのリソース要件、及び、事前の稼働試験等により発揮しうる性能が見積もられた構成に基づいて算出されたものであってよい。
テンプレート情報には、計算機システム1の物理計算機10及びストレージ装置100の構成に適したデフォルト値が設定されてよい。
テンプレート情報には、計算機システム1の全体の物理デバイスの利用率が高まるようなデフォルト値が設定されてよい。例えば、テンプレート情報には、各物理デバイスの有する物理リソース14を等分したデフォルト値が設定されてよい。
テンプレート情報には、割り当てモードのデフォルト値として、「占有」と「共有」の選択肢が設定されてよい。
インスタンスの実現方式のデフォルト値が「LPAR方式」のテンプレート情報には、割り当てモードのデフォルト値として「占有」と「共有」の選択肢が設定されてよい。インスタンスの実現方式のデフォルト値が「ベアメタル方式」のテンプレート情報には、割り当てモードのデフォルト値として「占有」が設定されてよい。インスタンスの実現方式のデフォルト値が「仮想化方式」のテンプレート情報には、割り当てモードのデフォルト値として「共有」が設定されてよい。
テンプレート情報は、図9に示す構成に限られない。例えば、テンプレート情報は、共通情報214−1に、「CPUリソース占有型」など、特定の独立物理リソースの占有/共有を設定できる構成であってもよい。
ユーザは、所望のインスタンス構成に近い設定を有するテンプレート情報を利用することにより、簡単にインスタンス構成要件を作成することができる。また、計算機システム1の事業者は、ユーザにテンプレート情報を利用してもらうことにより、計算機システム1のリソース構成の拡張及び変更等の計画を立てやすくなる。
図10は、トポロジ情報テーブル215の構成例を示す。
トポロジ情報テーブル215には、物理計算機10に配置されているインスタンス11と、そのインスタンス11から利用されている物理リソースに関する情報と、が対応付けられて格納される。
トポロジ情報テーブル215は、フィールド値として、例えば、インスタンスID215−1と、リソースプールID215−2と、物理計算機に関する情報215−3と、EthernetスイッチID215−4と、FCスイッチID215−5と、ストレージ装置に関する情報215−6と、を有する。
物理計算機に関する情報215−3は、例えば、物理計算機IDと、独立物理リソースに係るCPUコア及びNICに関する情報とを含む。
ストレージ装置に係る情報215−6は、例えば、ストレージ装置IDと、独立物理ソースに係るポートIDと、キャッシュIDと、ボリュームIDと、RAIDグループIDに関する情報とを含む。
インスタンスID215−1は、物理計算機10に配置済みのインスタンス11を識別するための情報である。リソースプールID215−2は、インスタンスID215aのインスタンス11、及び、物理計算機10などが、何れのリソースプールに属しているかを示す。
物理計算機IDは、インスタンスID215−1のインスタンス11に割り当てられている物理リソースを有する物理計算機10を示す。すなわち、インスタンスID215−1のインスタンス11は、この物理計算機IDの物理計算機10に配置されている。
CPUコアは、物理計算機IDの物理計算機10が有するCPUの独立物理リソースに係るコアの内、インスタンスID215−1のインスタンス11に割り当てられたコアを示す。
NICは、物理計算機IDの物理計算機10が有するNICの独立物理リソースに係るスロットの内、インスタンスID215−1のインスタンス11に割り当てられたスロットを示す。
EthernetスイッチのID215−4は、インスタンスID215−1のインスタンス11が利用するEthernetスイッチを示す。すなわち、このEthernetスイッチには、物理計算機IDの物理計算機10が接続されている。
FCスイッチID215−5は、インスタンスID215−1のインスタンス11が利用するFCスイッチを示す。すなわち、このFCスイッチには、物理計算機IDの物理計算機10が接続されている。
ストレージ装置IDは、インスタンスID215−1のインスタンス11に割り当てられたストレージリソースを有するストレージ装置100を示す。
ポートID、キャッシュID、ボリュームID及びRAIDグループIDは、インスタンスID215−1のインスタンス11が利用するストレージ装置に係るポート、キャッシュ、ボリューム及びRAIDグループをそれぞれ示す。
物理計算機10及びストレージ装置100等は、ネットワークを通じて接続されているので、論理的には、異なる物理計算機10及びストレージ装置100等の独立物理リソースをインスタンス11に割り当てることができる。
しかし、図4で説明したとおり、インスタンス11が配置される物理計算機10と、そのインスタンス11に割り当てられた独立物理リソースとが、ネットワークトポロジ的に遠くなるほど、そのインスタンス11の性能は低下する。したがって、インスタンス11には、ネットワークトポロジ的に近い独立物理リソースが割り当てられることが望ましい。トポロジ情報テーブル215は、このように、物理デバイス間のネットワークトポロジ的な距離を知りたい場合に参照される。例えば、同じFCスイッチを有する2つの物理計算機10は、ネットワークトポロジ的に近いといえる。
また、トポロジ情報テーブル215は、配置済みのインスタンス11に割り当てられている物理デバイス及び物理リソースを知りたい場合に参照される。
例えば、物理計算機IDが同一であって、何れのインスタンスIDにも対応付けられていないCPUコアは「未割り当て」であるといえる。
図11A及び図11Bは、候補テーブル217の構成例を示す。管理計算機200は、図11A及び図11Bの何れの候補テーブル217を採用してもよい。
候補テーブル217には、複数のインスタンス構成の候補が格納される。候補ID217−1は、このインスタンス構成の候補を識別するための情報である。
候補テーブル217には、候補ID217−1のインスタンス構成の評価指標を算出するための情報が格納されてよい。評価指標とは、複数のインスタンス構成の候補の中から、一つのインスタンス構成を決定するための指標となる値である。
物理計算機10における評価指標は、CPU、メモリ及びNICのそれぞれにおける余剰リソース217−2であってよい。
ストレージ装置100における評価指標は、スピンドル、ポート及びキャッシュのそれぞれにおける余剰リソース217−3であってよい。
余剰リソースは、図11Aの217a−2、217a−3に示すように、リソース全体における余剰リソースの割合で示されてもよいし、図11Bの217b−2、217b−3に示すように、独立物理リソースの全数における未割り当ての独立物理リソースの数であってもよい。
図12は、インスタンス11の作成処理の例を示すフローチャートである。
ユーザは、クライアント端末70の管理クライアント72を通じて、管理計算機200の要件受付部210にアクセスする。そして、ユーザは、テンプレート情報テーブル214に格納されている複数のテンプレート情報の中から、所望のテンプレート情報を選択する(S330)。
そして、ユーザは、その選択したテンプレート情報を用いてインスタンス構成要件を作成する。テンプレート情報の項目には、デフォルト値、上限値と下限値、及び/又は、選択肢などが設定されてよい。ユーザは、その設定に基づいて各項目を修正し、インスタンス構成要件を作成してよい。ユーザが入力又は修正した値が不正な場合、要件受付部210は、不正である旨をユーザに通知してもよい。
次に、インスタンス構成部211は、インスタンス構成要件の何れかの割り当てモードに「占有」が指定されているか否かを判定する(S331)。「占有」が指定されたリソースは、ユーザが、そのリソースについて性能の保証を要件としているといえる。「占有」が指定されていないリソースは、ユーザが、そのリソースについて性能の保証を要件としていないといえる。
インスタンス構成要件の何れの割り当てモードにも「占有」が指定されていない場合(S331:NO)の処理は、次の通りである。インスタンス構成部211は、仮想化方式に基づいてそのインスタンス11を作成する(S332)。例えば、インスタンス構成部211は、仮想マシンホスト10bに、そのインスタンス11を作成及び配置する。なぜなら、このユーザは、何れのリソースについても性能の保証を要件としていなので、仮想マシンホスト10bにインスタンス11が作成及び配置されても、このユーザの要件は満たされるからである。さらに、計算機システム1の事業者は、仮想マシンホスト10bにインスタンス11を作成及び配置することにより、計算機システム1における物理リソースの利用率を向上させることができる。
インスタンス構成要件の何れかの割り当てモードに「占有」が指定されている場合(S331:YES)の処理は、次の通りである。なお、インスタンス構成要件の割り当てモードに「占有」が指定されているリソースを「占有指定リソース」という。インスタンス構成部211は、リソース情報テーブル213の中から、占有指定リソースに対応する独立物理リソース名213−3の割り当てモード213−4が「未割り当て」である装置ID213−1を検索する(S333)。
インスタンス構成要件の演算リソースに「占有」が指定されている場合、インスタンス構成部211は、リソース情報テーブル213の中から、割り当てモードに「未割り当て」を含むCPUを有する物理計算機を検索してもよい。
インスタンス構成要件のネットワークリソースに「占有」が指定されている場合、インスタンス構成部211は、リソース情報テーブル213の中から、割り当てモードに「未割り当て」を含むNICを有する物理計算機を検索してもよい。
インスタンス構成要件のストレージリソースに「占有」が指定されている場合、インスタンス構成部211は、リソース情報テーブル213の中から、割り当てモードに「未割り当て」を含むRAIDグループを有するストレージ装置100を検索してもよい。
インスタンス構成要件において、演算リソース及びネットワークリソースの両方に「占有」が指定されている場合、インスタンス構成部211は、リソース情報テーブル213の中から、CPUとNICの両方の割り当てモードに「未割り当て」を含む物理計算機を検索してもよい。
なお、インスタンス構成部211は、S333の処理を実行する前に、リソース稼働情報データベース216内の履歴情報を、リソース情報テーブル213の利用率213−5などに反映してもよい。
次に、インスタンス構成部211は、S333の処理で検索された装置の中から一つの装置(「対象装置」という)を選択する。そして、インスタンス構成部211は、トポロジ情報テーブル215の中から、対象装置に接続されている装置(「接続装置」という)を検索する。
そして、インスタンス構成部211は、検索された接続装置の中の何れかが、インスタンス構成要件において「共有」が指定されているリソース(「共有指定リソース」という)に、物理リソースを提供可能か否か判定する(S334)。インスタンス構成部211は、リソース情報テーブル213における接続装置に係る情報を参照することによって、当該判定を行ってよい。インスタンス構成部211は、トポロジ情報テーブル215の中から接続装置を検索できなかった場合、トポロジ情報テーブル215に格納されていない接続装置についても検索してよい。
トポロジ情報テーブル215の中から、インスタンス11に物理リソースを提供可能な接続装置を検索している理由は、次の通りである。トポロジ情報テーブル215には、配置済みのインスタンス11に物理リソースを提供している装置が格納されている。よって、トポロジ情報テーブル215に格納されている装置の物理リソースを、新たに作成するインスタンス11に優先的に割り当てることにより、一つの装置当たりの物理リソースの利用率が高まり得る。
また、トポロジ情報テーブル215から、インスタンス11に物理リソースを提供可能な接続装置が2以上検索された場合、インスタンス構成部211は、対象装置とネットワークトポロジ的に最も近い接続装置を選択してよい。これにより、インスタンス構成部211は、対象装置と接続装置との間の通信遅延によるオーバーヘッドをできるだけ小さくすることができる。
何れかの接続装置が共有指定リソースに物理リソースを提供可能な場合(S334:YES)の処理は、次の通りである。インスタンス構成部211は、対象装置と接続装置とのセットに候補ID217−1を付与し、その候補ID217−1に係るセットを候補テーブル217に登録する(S335)。そして、インスタンス構成部211は、S336の処理に進む。
何れの接続装置も共有指定リソースに物理リソースを提供可能できない場合(S334:NO)、インスタンス構成部211は、そのままS336の処理に進む。
次に、インスタンス構成部211は、S333の処理で検索された装置の中に、未選択の装置が残っているか否かを判定する(S336)。未選択の装置が残っている場合(S336:YES)、インスタンス構成部211は、S333の処理に戻り、未選択の装置の中の一つを選択し、処理を繰り返す。
未選択の装置が残っていない場合(S336:NO)、インスタンス構成部211は、候補テーブル217に格納された装置ID217−1の中から、一つの装置ID217−1を選択する(S337)。例えば、インスタンス構成部211は、物理リソースの利用率が最大となる装置ID217−1のセットを選択する。
ここで、インスタンス構成部221は、物理リソースの利用率について、未知の候補装置よりも、既知の候補装置の方を高く評価してよい。未知の候補装置とは、何れのインスタンス11にも物理リソースを提供していない候補装置である。既知の候補装置とは、何れかのインスタンス11に物理リソースを提供している候補装置である。
このように評価する理由は、未知の候補装置では、LPAR機構37が稼働しておらず、新たにLPAR機構37を導入するための切り替えコストが発生してしまう可能性があるからである。これに対して、既知の候補装置では、LPAR機構37が稼働しているので、このようなコストが発生する可能性がない。
また、インスタンス構成部211は、S337の処理において、LPARホスト10cではなく、ベアメタルホスト10aのセットを選択してもよい。なぜなら、ベアメタルホスト10aにLPAR機構37を導入して、LPARホスト10cとすることも可能だからである。また、インスタンス構成部211は、必要に応じて、S337の処理において候補テーブルから選択したセットで稼働している他のインスタンス11を、別のLPARホストに移動させてもよい。
例えば、図11Bに示す候補テーブル217bにおける、候補ID217b−1「CDDT−03」のレコードが示すように、この物理計算機の余剰リソース217b−2が極めて小さく(例えば、余剰リソース217b−2が所定の閾値未満であり)、且つ、この物理計算機が他の何れのインスタンス11にも物理リソースを提供していない場合(つまり、二つ以上のインスタンス11に物理リソースを提供していない場合)、インスタンス構成部211は、この物理計算機を、LPAR方式ではなく、ベアメタル方式で運用してもよい。ベアメタル方式で運用される物理計算機から物理リソースを割り当てられるインスタンス11は、LAPR機構37のオーバーヘッドが存在しないので、比較的高い性能を得られる。また、このインスタンス11に対する所定のライセンスコストも低くなる可能性がある。よって、このインスタンス11は、費用対効果が高く、インスタンス構成要件を満たす。
次に、インスタンス構成部211は、S337の処理において選択された物理計算機に、インスタンス11を作成及び配置する。インスタンス構成部211は、上述の通り、必要に応じて、その選択された物理計算機10にLPAR機構37を導入してもよい。
上述の物理計算機の実現方式の変更、及び/又は、他のインスタンスの移動などは、新たにインスタンス11を作成及び配置する度に行われてもよい。これにより、計算機システム1の物理リソースの利用率が、その時々の状況に合わせて最適化される。すなわち、計算機システム1において、物理計算機10に係る物理デバイスの追加、変更及び削除、並びに、インスタンス11の追加、構成変更及び削除などが発生した場合であっても、計算機システム1の全体における物理リソースの利用率をできるだけ高くしておくことができる。
例えばIaaSにおいては、多数のユーザから非同期的に、インスタンスの作成、構成変更及び削除などが要求される。多数のインタンスを少数の仮想マシンホスト10bに集約した場合、計算機システム1の全体における物理リソースの利用率は向上する。しかしこの場合、所有するユーザの異なるインスタンスが、一つの物理計算機の物理リソースを共有する。そのため、或るユーザの所有するインスタンスの処理負荷が高くなると、他のユーザの所有するインスタンスの性能は低下する可能性がある。
ベアメタルホスト10aでは、このようなインスタンスの性能低下は発生しない。しかし、このインスタンスの物理リソースの利用率が低い場合、計算機システム1の全体における物理リソースの利用率は低下する。
LPARホスト10cでは、物理計算機の全ての物理リソースを「占有」させるのではなく、物理リソースの一部である独立物理リソースの単位で「占有」及び「共有」を設定できるので、物理リソースの利用率を高めやすい。しかし、LPARホスト10cの有する物理デバイスの数、及び、各物理デバイスの利用率などを知らなければ、利用率を効果的に高めることは難しい。また、LPARホスト10cの有する物理デバイスなどが変更されることもある。IaaSを利用するユーザは、このようなLPARホスト10cの有する物理デバイスのことを知らない。そのため、ユーザが任意に作成したインスタンス構成要件では、LPARホスト10cにおける物理リソースの利用率を効果的に高めることが難しい。
本実施例は、計算機システム1の構成等に適合するテンプレート情報をユーザに提供し、ユーザにテンプレート情報を用いてインスタンス構成要件を作成してもらうことにより、計算機システム1における物理リソースの利用率を効果的に高めることができる。また、ユーザも、テンプレート情報を用いることにより、より簡単にインスタンス構成要件を作成することができる。
図13は、テンプレート利用頻度テーブル218の構成例を示す。
テンプレート利用頻度テーブル218に格納されている情報は、より適切なテンプレート情報を作成する際に利用される。
テンプレート情報は、物理計算機10の物理デバイスの構成と、ユーザが所望するインスタンス構成要件との両方に適合するように作成される必要がある。テンプレート情報が物理計算機10の物理デバイスの構成に適合していないと、そのテンプレート情報が用いられたときに、物理リソースの利用率が低下する可能性がある。
例えば、テンプレート情報が、2つのNICにまとめて「占有」又は「共有」を指定する選択肢しか有していないとする。この場合、ユーザは、一つのNICを占有リソースとして利用したい場合であっても、このテンプレート情報を用いると、二つのNICにまとめて「占有」を指定することしかできない。このように構成されたインスタンス11は、二つのNICの物理リソースを「占有」しているものの、概ね一つのNICの物理リソースしか利用しない可能性が高い。この場合、物理計算機10におけるNICの物理リソースの利用率は低下する。
また、物理計算機10の有する物理デバイスの構成が変更されることもあり得る。例えば、サポート期間の終了した物理デバイスが、別の物理デバイスに交換されることもあり得る。例えば、物理デバイスの供給元の都合、又は、需要の変化等によって、その物理デバイスに係る契約内容が更新されることもあり得る。このように、物理デバイスの構成が変化した場合には、より適切なテンプレート情報を作成する必要がある。
テンプレート利用頻度テーブル218には、テンプレート情報、及び、そのテンプレート情報から派生したテンプレート情報(「派生テンプレート情報」という)の利用頻度に関する情報が格納されてよい。
派生テンプレート情報は、元のテンプレート情報の内容が変更されて作成されたテンプレート構成要件に基づいて作成されてよい。派生テンプレート情報に設定されるデフォルト値等は、元のテンプレート情報に設定されているデフォルト値をユーザがどのように変更したか、に基づいて算出されてよい。この算出には、クラスタ分析などの統計的手法が適用されてもよい。これにより、管理計算機200は、多くのユーザの要望が反映されたデフォルト値等を含む派生テンプレート情報を作成することができる
テンプレート利用頻度テーブル218は、フィールド値として、例えば、テンプレートID218−1と、派生テンプレートID218−2と、利用頻度218−3と、差分218−4と、近似モデル218−5とを有する。
利用頻度218−3は、テンプレート情報又は派生テンプレート情報(「テンプレート情報等」という)が、ユーザに利用された頻度を示す値である。利用頻度218−3は、そのテンプレート情報等が利用された総数、又は、そのテンプレート情報等を利用したユーザ数などであってよい。また、利用頻度218−3は、所定の期間におけるテンプレート情報等の利用頻度であってよい。利用頻度218−3は、そのテンプレート情報等が、インスタンス11の作成に利用された場合に加算されてよい。利用頻度218−3は、そのテンプレート情報等によって作成されたインスタンス11が、削除又は構成変更された場合に減算されてよい。
差分218−4は、元のテンプレート情報と派生テンプレート情報との間における物理リソース14の差分を示す情報である。差分は、図12のS330の処理においてユーザが行った変更に基づいて算出されてよい。
近似モデル218−5は、テンプレート情報等に設定されているリソース構成が、複数の異なるモデルとする物理計算機のリソース構成(「リソース構成モデル」という)の内の何れと近似しているかを示す情報である。
例えば、図13に示すテンプレートID218−1「TMP3023−9002」のレコードは、近似モデル218−5が「1/2−Aモデル」であることを示す。これは、このテンプレートID218−1「TMP3023−9002」のテンプレート情報に設定されているリソース構成が、リソース構成モデル「Aモデル」の有する物理リソースの2分の1の構成と近似していることを示す。例えば、リソース構成モデル「Aモデル」が4つのNICを有している場合、近似モデル「1/2−Aモデル」のテンプレート情報には2つのNICが設定される。
リソース構成モデルは、計算機システム1を構成する物理計算機10、ネットワーク装置、及び、ストレージ装置100の何れかの物理リソースの構成を示すものであってよい。リソース構成モデルは、装置の製造元が定義した型式番号、又は、製品名などで表現されてもよい。
図14は、派生テンプレート情報の作成処理の例を示す。
インスタンス構成部211は、テンプレート情報に基づき、派生テンプレート情報を作成する(S340)。インスタンス構成部211は、テンプレート情報からユーザによって変更された項目に基づいて、インスタンス11の構成を分類し、派生テンプレート情報を作成してよい。そして、インスタンス構成部211は、派生テンプレート情報に係るレコードを、テンプレート利用頻度テーブル218に格納する。
インスタンス構成部211は、その作成した派生テンプレート情報について、利用頻度及び近似モデルを算出する。そして、インスタンス構成部211は、その算出結果を、テンプレート利用頻度テーブル218において、その作成した派生テンプレート情報に係るレコードの利用頻度218−3及び近似モデル218−5に格納する(S341)。
インスタンス構成部211は、テンプレート利用頻度テーブル218の中から、元のテンプレート情報よりも利用頻度218−3の高い派生テンプレート情報を検索する(S342)。ここで検索された派生テンプレート情報は、計算機システム1の事業者が作成した元のテンプレート情報よりも、ユーザのニーズにより適合している可能性がある。つまり、元のテンプレート情報には、改善の余地があるともいえる。
元のテンプレート情報よりも利用頻度218−3の高い派生テンプレート情報が検索されなかった場合(S342:NO)、インスタンス構成部211は、この派生テンプレート情報を棄却し(S344)、本処理を終了してよい。
元のテンプレート情報よりも利用頻度218−3の高い派生テンプレート情報が検索された場合(S342:YES)、インスタンス構成部211は、その検索された派生テンプレート情報について、次の処理を実行する。
インスタンス構成部211は、テンプレート利用頻度テーブル218を参照し、近似モデル218−5における分割の粒度が、元のテンプレート情報よりも派生テンプレート情報の方が小さいか否かを判定する(S343)。すなわち、元のテンプレート情報よりも派生テンプレート情報の方が、より小さい単位で物理リソース14の割り当てを設定できるか否かを判定する。
近似モデル218−5における分割の粒度が、元のテンプレート情報よりも派生テンプレート情報の方が小さい場合(S343:YES)、インスタンス構成部211は、この派生テンプレート情報を、テンプレート情報に採用し(S345)、本処理を終了してよい。例えば、インスタンス構成部211は、この派生テンプレート情報を新たなテンプレート情報として、テンプレート情報テーブル214に格納してよい。又は、インスタンス構成部211は、テンプレート情報テーブル214において、元のテンプレート情報をこの派生テンプレート情報に置き換えてもよい。
近似モデル218−5における分割の粒度が、元のテンプレート情報の方が派生テンプレート情報よりも小さい又は同じである場合(S343:NO)、インスタンス構成部211は、この派生テンプレート情報を廃棄し(S344)、本処理を終了してよい。
例えば、図13に示すテンプレート利用頻度テーブル218において、元のテンプレート情報「TMP3023−9002」からの派生テンプレート情報「派生2」の利用頻度218−3「190」は、元のテンプレート情報の利用頻度218−3「182」よりも高い。
そして、この派生テンプレート情報「派生2」の近似モデル218−5「1/3−Bモデル」の方が、元のテンプレート情報の近似モデル218−5「1/2−Aモデル」よりも、分割の粒度が小さい。この場合、元のテンプレート情報「TMP3023−9002」の派生テンプレート情報「派生2」は、新たなインスタンス情報として採用されてよい。
派生テンプレート情報が作成された場合、インスタンス構成部211は、次の処理を実行してもよい。インスタンス構成部211は、インスタンス情報テーブル212から、検討対象のインスタンスを選択する。そして、インスタンス構成部211は、このインスタンスが、この派生テンプレート情報の元のテンプレート情報に基づいて構成されたものであるか否かを判定する。この判定が肯定的である場合、インスタンス構成部211は、ユーザの承認に基づき、このインスタンスの構成を派生テンプレート情報の設定に適合するように変更してもよい。
以上の処理により、元のテンプレート情報の利用頻度218−3、及び、元のテンプレート情報から変更された派生テンプレート情報の利用頻度218−3などに基づき、ユーザのニーズにより適合したテンプレート情報を自動的に作成することができる。
本実施例によれば、多くのインスタンスが一つの物理計算機に作成及び配置されやすくなるので、物理リソースの利用率を向上させることができる。これにより、計算機システム1の事業者は、計算機システム1の運用における費用対効果を高めることができる。
また、テンプレート情報からユーザのニーズにより適合する派生テンプレート情報が自動的に作成されるので物理リソースの利用率を向上させることができる。
また、計算機システムの構成、若しくは、物理計算機の物理デバイスの構成などが変更された場合、又は、ユーザのインスタンス構成要件のニーズが変化した場合にも、その変化に適合する派生テンプレート情報を自動的に作成することができる。
上述した実施例は、本発明の説明のための例示であり、本発明の範囲をそれらの実施例にのみ限定する趣旨ではない。当業者は、本発明の要旨を逸脱することなしに、他の様々な態様で本発明を実施することができる。