JPWO2015049789A1 - リソース管理システムおよびリソース管理方法 - Google Patents

リソース管理システムおよびリソース管理方法 Download PDF

Info

Publication number
JPWO2015049789A1
JPWO2015049789A1 JP2015540343A JP2015540343A JPWO2015049789A1 JP WO2015049789 A1 JPWO2015049789 A1 JP WO2015049789A1 JP 2015540343 A JP2015540343 A JP 2015540343A JP 2015540343 A JP2015540343 A JP 2015540343A JP WO2015049789 A1 JPWO2015049789 A1 JP WO2015049789A1
Authority
JP
Japan
Prior art keywords
resource
container
application
resources
predetermined
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.)
Granted
Application number
JP2015540343A
Other languages
English (en)
Other versions
JP5976230B2 (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
Application granted granted Critical
Publication of JP5976230B2 publication Critical patent/JP5976230B2/ja
Publication of JPWO2015049789A1 publication Critical patent/JPWO2015049789A1/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Computer And Data Communications (AREA)

Abstract

統合リソース管理部202は、リソース311a、311b、311cの一部を管理し仮想リソースとして提供する複数のコンテナ310を、アプリケーションプログラム毎に予め用意している。統合リソース管理部は、使用するリソースを区分けするために予め設定されるテナント300a、300bのうちいずれかのテナントに関して発行される所定の要求に応じて、複数のコンテナの中から選択するコンテナを要求元のテナントに提供する。統合リソース管理部が要求元のテナントに提供するコンテナには、リソースのうち、所定の要求で指定されたアプリケーションプログラムに予め割り当てられているリソースを指定された使用量よりも少なく設定する場合がある。

Description

本発明は、リソース管理システムおよびリソース管理方法に関する。
近年、データセンタ全体のリソース利用効率を高めるべく、サーバを仮想化する技術を用いて、複数の業務システムを物理計算機リソース上に集約する情報処理システム基盤が普及している。
リソース上で固定的に稼働していたシステムを仮想化技術によりリソースから分離し、業務アプリケーションの稼働状況に応じて、システムを複数の物理計算機リソース間で移行させる。これにより、負荷の不均衡を動的に平準化できる。
一方、仮想マシンの物理配置に合わせてネットワーク構成を制御することで、特定のユーザグループが使用するシステム群をテナントと呼ばれるリソース空間に隔離できる。これにより、テナントのセキュリティを確保することができる。
例えば特許文献1では、複数のテナントが複数の物理計算機リソースを使用する仮想計算機システムにおいて、グループ間の負荷の不均衡を迅速に解消する技術を開示する。特許文献1では、複数の仮想計算機を複数のリソースグループ上で管理し、負荷に応じて複数の仮想計算機を物理計算機リソース間で移行させることで、負荷を分散する。
米国特許出願公開第2012/0254445号明細書
しかしながら、従来技術では、物理計算機リソースと仮想計算機とを直接的に対応付けて管理するため、柔軟性に乏しく、時々刻々と変化する環境への適応能力についてまだ改善の余地がある。
また、従来技術は、仮想サーバの性能負荷を画一的に評価するものであり、仮想サーバ上に設けられているアプリケーションの性能特性を考慮していない。一般に業務アプリケーションには、リソースに対する要件が存在するが、アプリケーションの種類や構成規模などにより、それらリソース要件は一定ではない。
特にIaaS(Infrastructure as a Service)クラウドと呼ばれ、セルフサービス方式の利用形態をとる計算機システムにおいては、どの仮想サーバにどのアプリケーションを構築するか、という決定権は仮想サーバのユーザに委ねられている。しかし、ユーザの需要傾向や業務サービスの需要傾向を事前に予測するのは困難である。したがって、そのような計算機システムでは、一つのシステム環境に異なる種類のアプリケーションが混在することになる。
混在するアプリケーションの比率によって、利用率の低いリソースが生じる。例えば、CPU(Central Processing Unit)性能に対する要求が高くストレージ性能に対する要求が低いアプリケーションと、メモリ性能に対する要求が高くストレージ性能に対する要求が低いアプリケーションとが混在する場合、ストレージリソースの性能に余剰が生じてしまう。
このような非効率なリソース利用を避けるために、テナント内に、アプリケーションの性能特性に応じてサイジングした、専用のリソース領域を定める方法が考えられる。例えば、テナント内に、アプリケーションA向けのリソース領域と、アプリケーションB向けのリソース領域とを用意する。ユーザは、所望のアプリケーションに応じて、それら専用のリソース領域のリソースを利用して仮想サーバを生成する。この方法によれば、専用のリソース領域それぞれでは効率的に運用できるものの、リソース全体における利用率の向上は望めない。
本発明は、上記の問題に鑑みてなされたもので、その目的は、状況変化に対応して、リソースの利用効率を高めることができるリソース管理システムおよびリソース管理方法を提供することにある。
本発明の一つの観点に係るリソース管理システムは、リソースを提供する複数の物理計算機と、少なくとも一つのアプリケーションプログラムを実行する複数の仮想計算機と、複数の物理計算機および複数の仮想計算機に通信可能に接続される統合リソース管理部とを有し、統合リソース管理部は、対応づけられるリソースの一部を管理し仮想リソースとして提供する複数のコンテナを予め用意し、提供される仮想リソースの利用範囲を定義するリソース区画を管理し、コンテナはアプリケーションプログラムの何れかに対応づけられており、リソース区画で動作するアプリケーションプログラムのリソース構成変更要求を受けると、当該アプリケーションプログラムに対応づけられるコンテナに他のコンテナで管理されるリソースを移行し、他のコンテナの管理するリソース量は他のコンテナの提供する仮想リソースより少なくなることがある。
本発明によれば、コンテナはアプリケーションプログラムの何れかに対応づけられており、リソース区画で動作するアプリケーションプログラムのリソース構成変更要求を受けると、当該アプリケーションプログラムに対応づけられるコンテナに他のコンテナで管理されるリソースを移行する。したがって、本発明によれば、状況変化に応じてリソースを移行させることができ、リソースの利用効率を高めることができる。
リソースを管理する計算機システムの構成図。 比較例としてのリソース管理方法の概要を示す説明図。 本実施例によるリソース管理方法の概要を示す説明図。 管理コンピュータに設けられる管理プログラムなどを示す説明図。 インスタンスを管理するテーブルの構成図。 テナントを管理するテーブルの構成図。 コンテナを管理するテーブルの構成図。 異なるアプリケーション間で性能を統一的に評価する概念を示す説明図。 アプリケーションの要求するリソース要件を定義するテーブルの例。 コンテナの性能を統一的に評価するテーブルの構成図。 テナントからの要求に応じてコンテナの構成を変更する処理を示すフローチャート。 アクセス権限を移行する処理を示すフローチャート。
以下、添付図面を参照して本発明の実施形態について説明する。ただし、本実施形態は本発明を実現するための一例に過ぎず、本発明の技術的範囲を限定するものではないことに注意すべきである。本実施形態で開示される複数の特徴は、様々に組み合わせることができる。本実施形態の処理動作の説明では、「コンピュータプログラム」を動作主体(主語)として説明することがある。コンピュータプログラムは、マイクロプロセッサによって実行される。したがって、プロセッサを動作主体として読み替えても良い。
本実施形態では、複数のアプリケーションが混在して稼働するクラウド環境において、テナントごとに定められたリソース領域、あるいはアプリケーションごとに定められたリソース領域を越えて、計算機システムの需要変化に応じてリソースを動的に融通しあうことにより、データセンタ全体のリソース利用効率を向上させる。
本実施形態では、複数のアプリケーションが要求する性能特性(リソース要件)を、それぞれのアプリケーションを管理するためのアプリケーション管理部より取得する。本実施形態では、各アプリケーションの要求する性能特性を考慮して、リソース全体におけるリソース需要を統一的な観点で算出する。
さらに、本実施形態では、アプリケーションの要求する性能特性を考慮したリソース需要に基づいて、リソース全体の配置を計画する。本実施形態では、アプリケーション専用のリソース領域を越えて、リソースプールを再構成する。
本実施形態によれば、テナント毎のリソース管理体系やアプリケーション管理体系に矛盾することなく、時々刻々と需要が変化するデータセンタにおいて、リソース全体の利用率を最適化することができる。また、本実施形態によれば、テナントごとのセキュリティを確保しつつ、従来の運用で培ったアプリケーション管理のノウハウを引き続き活用することができる。
図1〜図12を用いて第1実施例を説明する。本実施例では、アプリケーションの要求するリソース要件を満足するように各インスタンスを構成し、かつリソース全体の利用率を高める。
<システム構成>
図1は、本実施例における計算機システムの構成を示す。計算機システムは、例えば、情報処理サービスを稼働させるホスト10およびホスト20と、サービスを要求するユーザが使用するクライアントコンピュータ70と、計算機システムを管理する管理コンピュータ200とを含んで構成することができる。
ホスト10は、例えば、物理的なCPU、メモリ(主記憶装置)、入出力装置、ネットワークインタフェース、およびそれらを相互に接続する内部バスなどを備える一般的なコンピュータアーキテクチャによって構成されている。
ホスト10上には、物理的な処理リソースを直接的に制御するOS(Operating System)13が稼働している。アプリケーション管理者またはユーザは、ホスト10上のOS13をゲストOS13として利用することで、直接的にホスト10の論理構成を制御することができる。
ゲストOS13がホスト10の全ての物理的な処理リソースの構成を制御できるため、本実施例では、ホスト10をベアメタルホスト10と呼ぶ。本実施例では、ゲストOS13により制御される論理的なサーバ構成を、インスタンス11と呼ぶ。インスタンス11において、一つ以上のアプリケーション12を稼働させることで、ユーザは所望の情報処理サービスを享受できる。なお、図中では、アプリケーションを「App」と略記する場合がある。
ホスト20も、ホスト10と同様の構成を有するが、ハイパバイザ24、または仮想マシンモニタなどと呼ばれる仮想化ソフトウェアを備える。仮想化ソフトウェアにより、物理リソースは論理的に一つ以上のゲストOS領域に分割されて、アプリケーション管理者またはユーザに提供される。これらゲストOS領域を一般に仮想マシン21または論理パーティションと呼び、ホスト20を仮想マシンホスト20と呼ぶ。
これらゲストOS領域は、仮想化ソフトウェアの方式により、例えばタイムスケジューリングによりCPUコアなどの物理コンポーネントを共有する仮想マシンであっても良いし、あるいは、固定的に物理コンポーネントを対応付けておく論理パーティションであっても良い。ここでは簡単のため、特にこれらを区別せず単に仮想マシンと呼ぶ。仮想マシン内ではゲストOS23が稼働しており、さらにユーザが利用するためのアプリケーション22が稼働している。仮想マシンは一つの論理的なサーバ構成に相当する。ベアメタルホスト10と同様に、仮想マシンをインスタンス21と呼ぶことにする。本実施例にかかる計算機システムは、同様の構成を持つ物理サーバおよびストレージを、ベアメタルホスト10および仮想マシンホスト20の二通りに利用する。ただし、以降の説明において特に断らない限り、ベアメタルホスト10上のインスタンス11および仮想マシンホスト20上のインスタンス21を区別せず、単にインスタンス11と記載する。
一般にクラウドと呼ばれるような、ユーザの作成要求に応じて動的にインスタンスを作成するシステムでは、仮想マシンを利用する場合が多い。仮想マシンを利用すると、インスタンス構成をホストの物理リソース構成から分離することができる。これにより、アプリケーションを稼働させるサーバ構成を柔軟かつ即座に生成することができ、かつ生成後の構成変更も容易である。
一方、仮想マシンは、仮想マシンホスト20が有する物理リソースを共有しているため、同一の仮想マシンホスト20に設けられている他の仮想マシンから性能上の影響を受けざるを得ない。このような環境は、例えば安定したディスクI/O(Input/Output)性能を必要とするデータベースなど、要求性能の厳しいアプリケーションには適さない。
そこで、本実施例では、物理リソースと一対一に対応するベアメタルホスト10を用意している。本実施例では、ベアメタルホスト10を活用することで、安定した性能を有するサーバ環境を提供する。さらに、本実施例では、仮想マシンホスト20とベアメタルホスト10との両方を利用できる環境を提供することで、アプリケーションの性能要件やライフサイクルに適したリソース割り当てを実現することができる。
ストレージ装置100は、各インスタンス11、21にストレージ資源を提供する機能を有する。ストレージ装置100は、データ入出力処理に特化したコンピュータシステムであり、CPUやメモリなどを備える。ストレージ装置100のCPUは、ストレージ資源の構成を制御するための制御プログラムを稼働させる。この制御プログラムにより、例えばHDD(ハードディスクドライブ)といった物理的な記憶媒体が、ボリューム101と呼ばれる論理的な領域ごとに提供される。記憶媒体としては、HDDに限らず、例えば、フラッシュメモリデバイス、MRAM(Magnetoresistive Random Access Memory)、相変化メモリ(Phase-Change Memory)、ReRAM(Resistive random-access memory)、FeRAM(Ferroelectric Random Access Memory)等を用いてもよい。
ベアメタルホスト10の場合、OS13によりボリューム101がストレージ資源(論理デバイス)として認識される。ボリューム101に対して、OS13およびアプリケーション12が必要とするデータの読み書きが行われる。
仮想マシンホスト20では、ハイパバイザ24がボリューム101をさらに仮想ディスク102と呼ばれる領域に分割する。仮想ディスクは、多くの場合、ファイルシステム上のファイルである。仮想マシン21上のOS23には、仮想ディスク102内のデータ領域が仮想的なボリューム103として認識される。
ホスト10、20とストレージ装置100とは、SAN(Storage Area Network)により接続されている。SANの実現例として、FC_SANがある。FC_SANは、一つまたは複数のファイバチャネルスイッチ(FC SW)50、ファイバチャネルケーブル51、各データ入出力装置を接続するHBA(ホストバスアダプタ)52を含んで構成される。
SANの実装例はファイバチャネルに限らず、大容量データ通信という同じ目的を達成できるものであれば、例えばiSCSI(Internet Small Computer System Interface)やFCoE(Fibre Channel over Ethernet(登録商標))、Infini−bandといった他の種類のデバイスおよびプロトコルでもよい。
サービスを提供するホスト10、20、サービスを要求するクライアントコンピュータ70、計算機システムを管理する管理コンピュータ200は、通信ネットワークを介して相互に接続される。通信ネットワークは、イーサネット(登録商標)スイッチ60やケーブルにより物理的に結線されており、例えばTCP/IPといったプロトコルを利用してアプリケーションデータや制御情報を双方向通信する。
本実施例では、それら通信ネットワークを、サービスネットワーク300と、管理ネットワーク301、302とに大別する。サービスネットワーク300には、サービスクライアント71がアプリケーション12、22と通信するトラフィックが主に流れる。サービスネットワーク300は、情報処理サービスに必要なデータを送受信する。
一方、管理ネットワークでは、管理クライアント72や各管理サーバ201、203、204、295が各装置10、20、50、100内の制御コンポーネントと通信するトラフィックが主に流れる。管理ネットワークは、各情報処理装置10、20、50、100の構成を管理する制御データを送受信する。
これらの通信ネットワークは、物理的に分離されても良いし、レイヤ3スイッチの設定やレイヤ2スイッチの設定(VLAN、仮想ローカルエリアネットワーク)などの論理的なネットワーク分割によって構成されてもよい。さらに、管理ネットワーク302上には、主にアプリケーション管理サーバ201と各ホスト10、20との間の通信を制御するための、ファイヤウォール303を有する。
ファイヤウォール303は、ネットワーク管理部204からの要求に応じ、例えば特定のアプリケーション管理サーバ201から特定のホストへの接続を許可したり、あるいは遮断したりする機能を有する。ファイアウォール303は、IPアドレスやホスト名などを用いて、通信の接続または遮断を実行する。
クライアントコンピュータ70は、物理的には各ホスト10、20と同様に、CPUやメモリ、不揮発性記憶デバイスといった一般的なコンピュータアーキテクチャに基づき構成されている。クライアントコンピュータ70は、サービスクライアント71と、管理クライアント72を有する。サービスクライアント71は、ホスト10、20上のアプリケーション12、22から情報処理サービスの提供を受けるソフトウェアである。管理クライアント72は、管理コンピュータ200に接続して、計算機システムの構成を管理するソフトウェアである。
クライアントコンピュータ70上の各ソフトウェア71、72は、必ずしも専用プログラムである必要はなく、同じ目的を達成する機能を有していれば、例えばWebブラウザのような汎用的なプログラムであってもよい。サービスクライアント71は、アプリケーションごとに用意してもよいし、複数のアプリケーションを一つのサービスクライアント71で管理できる構成でもよい。同様に、管理クライアント72も管理対象の装置ごとに用意してもよいし、複数の対象装置を管理できる構成でもよい。
管理コンピュータ200は、クライアントコンピュータ70から送信されるユーザ要求に応じて、計算機システムの構成を変更する。管理コンピュータ200は、他の計算機と同様に一般的なコンピュータアーキテクチャを有し、各機能を実現するために必要な管理プログラムを内部に稼動させる。
本実施例における管理プログラムとは、例えば、アプリケーション管理サーバ201、統合リソース管理部202、サーバ管理部203、ネットワーク管理部204、ストレージ管理部205である。それぞれの管理プログラムは、機能ごとに細分化されてもよいし、複数プログラムが一つにまとめて構成されてもよい。複数の管理コンピュータ200が連携することで、これら管理プログラムを動作させる構成でもよい。管理プログラムの少なくとも一部は、管理対象の一部に分散して配置されてもよい。配置先としては、例えば、ホスト10やFC SW50上の、エージェントプログラムなどがある。
実際には、管理者がこれら管理プログラムを使用している。各管理者が管轄する装置の範囲や職責により、複数の管理プログラムを用意したり、アカウント認証により管理プログラムの各機能に対するアクセス制御を設けたりする。
アプリケーション管理サーバ201は、インスタンス11、21上のアプリケーション12、22を管理する機能を提供する。一般に、アプリケーション12、21は、アプリケーション自身が処理するのに適した独自のデータ構造、機能、処理フローを持つ。したがって、アプリケーション12、22を管理するためには、専用のアプリケーション管理サーバ201が必要となる場合がある。
広く普及しているアプリケーションであれば、そのアプリケーションを管理するアプリケーション管理者は、独自の管理方法や、アプリケーション管理サーバの操作に習熟している。そこで、アプリケーション管理とリソース構成管理とを連携させることで、アプリケーション管理者はノウハウを活かせる、という大きな利便性が得られる。
性能要件の要求などのようにリソース構成に対する要求が発生するアプリケーションについては、アプリケーション管理サーバが、一部のリソース構成を管理する機能を有してもよい。したがって、本実施例では、アプリケーション管理サーバ201と統合リソース管理部202とは、互いに制御情報を送受信して、管理対象の構成を変更できる構成としている。アプリケーション管理サーバ201と統合リソース管理部202の連携を実現するために、例えばアプリケーション管理サーバ201にプラグインを設けたり、統合リソース管理部202にAPI(Application Programmable Interface)を設けたりする。
アプリケーション管理サーバ201は、特定の物理装置を管理対象に指定し、その特定の物理装置の構成を変更する権限を他のアプリケーション管理サーバとは排他的に有することもできる。
物理ホスト上に展開されているという点で、ハイパバイザ24も一つのアプリケーションであると考えることができる。したがって、ハイパバイザ24を管理するためのハイパバイザ管理サーバを設ける構成としてもよい。
管理コンピュータ200が管理する各装置10、20、50、60、100のリソース構成は、統合リソース管理部202および各装置管理部により管理される。各装置管理部とは、サーバ管理部203、ネットワーク管理部204、ストレージ管理部205のことである。各装置管理部は、管理ネットワーク302を経由して、ホスト10、20などの物理サーバ装置と、FC SW50やイーサSW60などのネットワークスイッチと、ストレージ装置100との、構成を管理する。
より具体的に言えば、各装置管理部は、それぞれの管理対象となる装置上で稼動する論理的なリソースの構成を変更したり、そのリソースの稼働情報を取得したり蓄積したり、あるいは各属性値を設定したりする機能を有する。
各装置管理部は、装置を開発または製造するベンダから提供される専用の管理プログラムであってもよい。各装置管理部と統合リソース管理部202とは、例えばAPIなどの管理インタフェースを利用して制御情報を送受信する。
統合リソース管理部202は、管理クライアント72の要求に応じて、各装置管理部を制御する。統合リソース管理部202は、各装置管理部を通じて、インスタンスを作成したり、構成変更に必要となる装置構成を変更したりする。統合リソース管理部202の具体的な構成については、後述する。
<テナントにおけるリソースの管理方法>
サーバ仮想化技術やストレージ仮想化技術が発展した結果、多数の情報処理システムが、一か所のハードウェアに集約されるようになった。これに伴い、従来は、例えば部署ごとにハードウェアを個別に所有するという運用形態であったが、近年では、複数の部署で同じハードウェアを共有する運用形態に変わりつつある。
しかし、部署ごとにシステム環境を分けたいという要求は根強いため、リソースを論理的に区分けするための「テナント」と呼ばれる論理構成が設けられている。テナントは「リソース区画」の一例である。テナントには、例えば、そのテナントに属するユーザやユーザグループ、そのテナントを管理する管理者権限の定義、そのテナントで使用可能なリソースなどの、各構成情報が関連付けられている。リソース区画であるテナントを導入することにより、複数のユーザグループ間でセキュリティおよび処理性能上の独立性を保ちながら、ハードウェアや物理的なデータセンタを共有することができ、リソース全体の利用率を高めることができる。テナントは、例えば、リソースを共用するユーザをグループ化したものである。
各管理プログラムは、複数存在してよいことは前述した。特に複数のテナントを提供する環境では、テナントごとにアプリケーション管理サーバ201を用意する。アプリケーション管理サーバ201が管理する情報処理システムが、多くの顧客データや業務データなどの機密情報を保持しているためである。
企業セキュリティの観点からは、これらの機密情報を複数のテナントで共有することは許されない。その一方、アプリケーションの中には、扱うデータの意味により、処理方法や管理方法、リソース構成を変えるものが多く存在する。したがって、アプリケーション管理サーバ201をテナントごとに独立させて構築したほうが扱い易い。アプリケーション管理サーバ201は、アプリケーション管理サーバ201自身の管理する物理リソースを特定し、他の種類のアプリケーション管理サーバとは排他的に、それらの物理リソースを利用することができる。
ところで、テナントが有する構成管理情報の中の一つに、リソース量が挙げられる。各ユーザに課される利用料は、ユーザの使用するリソース量に基づいて計算される従量課金である。
仮想化技術により、計算機システムの保持する物理リソース量は、必ずしもユーザが契約可能な量(仮想リソース量)とは一致しない。各ユーザの契約可能なリソース量の合計値は、実際の物理リソース量よりも多くできる。
しかし、ユーザのリソース需要と全くの無関係に、物理リソースの購入頻度や購入台数を決定することはできない。さらには、ユーザが属するグループや使用するアプリケーションによって、需要傾向はまちまちであり、それらを無視してリソースの供給量を予測することは不可能である。
したがって、最も簡潔で一般的なやり方は、契約するユーザのグループ、すなわちテナントごとに使用する物理リソースをある程度、決めておくやり方である。ただし、仮想化技術を用いることで、複数のテナントが一つの物理リソース(装置)を共有する構成を許容して、リソースの利用率を高める。このような、あるテナントの利用可能なリソースの範囲を、リソースプールと呼ぶことにする。
図2に示す比較例を参照し、リソースプールを用いてテナントにおけるリソースを管理する例を説明する。
ユーザ301は、所望のアプリケーションを利用するために、インスタンス11(または21)を作成する。インスタンスを稼働させるために必要な物理リソースは、事前にリソースプール303で管理されている。
リソースプール303は、装置管理者が管理コンピュータ200上の各装置管理部を利用して設定される。装置管理者とは、例えばサーバ管理者305a、ネットワーク管理者305b、ストレージ管理者305cである。各装置管理部とは、例えばサーバ管理部203、ネットワーク管理部204、ストレージ管理部205である。
リソースプール303には、ホスト10(または20)や、隔離ネットワーク304、ボリューム101など、インスタンスを構成するために必要なリソースの組み合わせが各装置管理部により予め登録されている。
ユーザ301によるインスタンスの作成やリソース構成変更といった各種管理操作は、管理クライアント72との交信により行われ、ユーザ301のセルフサービスにより完結する。ユーザ301は、導入予定のアプリケーションの要求する要件をアプリケーション管理サーバ201a、201bに事前に問合せ、各種管理操作の際に要件を指定してもよい。
管理クライアント72は、少なくともインスタンスの構成管理に関わる操作について、各構成管理コンポーネントに要求する機能を有する。アプリケーション管理サーバ201a、201bは、リソースプール303に登録されているリソースの中から、それぞれのアプリケーションに専用の領域として管理するものを事前に設定しておく。これにより、アプリケーション管理サーバ201a、201bは、物理リソースの詳細な構成や稼働情報を蓄積し、より効率的にアプリケーションを管理できる。以下、特に区別しない場合、アプリケーション管理サーバ201a、201bをアプリケーション管理サーバ201と呼ぶ。
テナント300内にインスタンス11(あるいは21)が用意されると、ユーザ301は、所望のインスタンスをアプリケーション管理サーバ201に連絡し、所望のインスタンスの内部に所望のアプリケーションを構築する。
必要であれば、インスタンスを作成する際や、アプリケーションを構築する際に、ユーザ301は、アプリケーション管理者306と連携してリソース構成の詳細を検討したり、アプリケーション管理者306に設計を依頼してもよい。さらに、アプリケーション管理サーバ201が、インスタンスの稼働している物理装置を管理できるように、アプリケーションを構築するインスタンスをアプリケーション管理サーバ201が新たに作成したり、あるいは、アプリケーション管理サーバ201がインスタンスを専用の物理装置上に移行する処理を行ったりしてもよい。
以上の例では、テナント300ごとに専用のアプリケーション管理サーバ201を設け、リソースプール303内に配備された物理リソースを利用してインスタンス11(または21)を作成する。
各アプリケーション管理サーバ201は、特定のリソース(ホスト、ネットワーク、ボリュームなど)を占有する。アプリケーション管理サーバ201は、自身の管理対象であるアプリケーションを、他のアプリケーション管理サーバと排他的に管理する。
例えば、仮想マシンホスト20から構成されるテナントでは、インスタンス21の性能負荷に応じてアプリケーションを仮想マシンホスト間で移行したり、リソースプール303にリソースを追加または削除したりすることで、アプリケーション(業務)を停止することなく負荷の平準化とリソース利用率の向上を実現できるであろう。
しかし、図2の比較例に示す構成におけるリソース利用率の向上は、同一のテナント内部に留まらざるを得ない。また、図2の比較例では、セキュリティ確保の観点から、複数のテナント間でアプリケーション管理サーバを共有することも困難である。
そこで、本実施例のリソース管理システムでは、以下に述べるように、アプリケーション管理とリソース管理とを連携させることで、データセンタ全体のリソース利用率を最適化する。具体的には、本実施例では、アプリケーション要件や稼働情報をもとに、テナントに割り当てるリソースプールを動的に構成する。
図3は、本実施例によるリソース管理システムおよびリソース管理方法の概要を示す説明図である。本実施例に特徴的な概念の一つは、対応づけられるリソースの一部を管理し仮想リソースとして提供するコンテナ310である。コンテナ310は、図2の比較例においてアプリケーション管理サーバ201に対して登録された、物理リソース(物理装置)に相当する構成要素である。コンテナ310は、実際の物理ハードウェア構成を仮想化する役割を持つ。なお、以下の説明では、特に区別しない場合、符号に添えるアルファベットを無視して表記する。例えば、テナント300a、300bをテナント300と、リソースプール303a、303bをリソースプール303と、アプリケーション管理サーバ201a、201bをアプリケーション管理サーバ201と、表記する場合がある。
テナント300内では、コンテナ310をアプリケーションごとのリソースプールとして利用する。各テナントでは、テナントごとの契約リソース量等のリソース情報を管理している。
統合リソース管理部202は、全ての物理的なリソースを予めコンテナ310として構成しておき、各アプリケーション管理サーバ201へ管理対象として登録しておく。後述の通り、コンテナ310が提供することになる仮想的なリソース構成と、コンテナに登録される物理リソース構成とを一致させる必要はない。したがって、物理的なリソースの総量を超えて、コンテナ310のリソース量を定義することができる。
コンテナ310に対応付けられる「リソース」としての物理リソースには、例えば、サーバ(計算リソース)、ネットワーク(通信リソース)、ストレージリソースなどがある。コンテナ310は、これら物理リソースの組み合わせにより構成されており、アプリケーション管理サーバ201の管理対象として登録可能である。
サーバリソース311aの種類としては、例えばベアメタルホスト10、仮想マシンホスト20、論理パーティションホストなどを単体で使用する場合、複数のサーバを組み合わせて構成されるサーバクラスタを使用する場合がある。論理パーティション(LPAR)ホストとは、CPUやネットワークアダプタなどの各コンポーネントを論理的に分割したサーバリソースである。サーバクラスタとしては、例えば、冗長化された仮想マシンホスト20、冗長化されたベアメタルホスト10、あるいは、複数サーバのバスを結合してSMP(対称型マルチプロセッシング)構成としたサーバ群がある。
ネットワークリソース311bとは、レイヤ2またはレイヤ3で制御される例えば仮想LANや、サブネット、仮想プライベートネットワークなどのように、ホスト間で通信可能な範囲(隔離ネットワーク)である。あるいは、ネットワークリソース311bは、ファイヤウォール、ロードバランサ、VPN(Virtual Private Network)ゲートウェイなどの、ネットワーク機能を提供するアプライアンスであっても良い。
ストレージリソース311cとは、例えば、ストレージ装置100が提供するボリューム101、ネットワークファイルシステム上のディレクトリである。
前述のリソース311a、311b、311cは、データセンタ内に設けられている特定の装置であってもよいし、外部のIaaSクラウドから調達したサーバインスタンスやオブジェクトストレージであってもよい。
コンテナ310の構成は、統合リソース管理部202により管理される。アプリケーション管理サーバ201は、統合リソース管理部202へリソースを要求することにより、必要なコンテナ310を調達する。
アプリケーション管理サーバ201は、所望のコンテナ310を占有して、そのコンテナ310を当該アプリケーション専用のリソース領域として利用できる。統合リソース管理部202は、物理的にどのリソース311をどのコンテナ310に割り当てるか、という構成管理を制御する。統合リソース管理部202は、アプリケーション管理サーバ201に関与されることなく、コンテナ310の物理構成を変更することができる。したがって、本実施例によれば、アプリケーションの管理体系に干渉せずに、複数アプリケーション間または複数テナント間で、リソースを融通しあい、リソースの利用率を平準化することができる。
例えば図3中の矢印312aに示すように、同一のアプリケーション管理サーバ201aで管理されるリソースを、異なるテナントに提供されているコンテナ間で調整することができる。具体的には、アプリケーションAの管理サーバ201aが管理する第1のコンテナ310(1)の有するリソースは、第1のテナント300aのリソースプール303aを介してインスタンス11aに使用されている。同じアプリケーション管理サーバ201aの管理する第2のコンテナ310(2)の有するリソースは、第2のテナント300bのリソースプール303bを介して2つのインスタンス11bに使用されている。
複数インスタンス11bにより使用される第2のコンテナ310(2)の負荷が増大すると、インスタンス11bを使用するユーザ301bは、第2のコンテナ310(2)へのリソース追加を要求する。このリソース追加要求は、クライアントコンピュータ70から通信ネットワーク301を介して、管理コンピュータ200に送られる。この要求に従い、同一のアプリケーション管理サーバ201aで管理されている、第1のコンテナ310(1)から第2のコンテナ310(2)へ、リソースが移行される。説明の理解のために、リソースが減少する第1のコンテナ310(1)を移行元コンテナと、リソースが追加される第2のコンテナ310(2)を移行先コンテナと、それぞれ呼ぶ場合がある。
ここで、第1のコンテナ310は、例えばリソース利用率が低いなどの、所定の移行元選択条件を満たしているものとする。移行元のコンテナを選択するための条件としては、例えば、リソース利用率が基準値以下であること(または利用率が最も低いこと)、リソース移行先のコンテナを使用するアプリケーションに欠かせない機能を有していること(アプリケーション制約条件を満たすこと)、ボトルネックなどの性能劣化が生じていないこと、がある。これら以外の条件を移行元選択条件に加えてもよいし、上記条件の幾つかを移行元選択条件から外してもよい。
第1のコンテナ310(1)から第2のコンテナ310(2)へリソースを移すことにより、第2のコンテナ310(2)の処理能力が増大し、負荷が軽減する。
図3には、異なるアプリケーション間でリソースを調整する例(312b)も示されている。図示の例では、アプリケーションBの管理サーバ201bの管理する第3のコンテナ310(3)は、第1のテナント300aのリソースプール303aを介して、インスタンス11aに使用されている。なお、アプリケーション管理サーバ201bは、もう一つのコンテナ310も管理しているが、そのコンテナ310は使用されていない。
例えばユーザ301aが、第3のコンテナ310(3)を使用するインスタンス11aの応答性能の改善を希望する場合、第3のコンテナ310(3)へのリソース追加を管理コンピュータ200に要求する。この要求に従い、第1のコンテナ310(1)に仮想的に割り当てられているリソースの一部が、第3のコンテナ310(3)に移る。上記同様に、第1のコンテナ310(1)は所定の移行元選択条件を満たすために、リソースの移行元コンテナとして選択されたとする。
統合リソース管理部202が作成して管理するコンテナ310により、アプリケーション管理サーバ201へ提示するリソースを仮想化することができる。したがって、例えば記憶媒体の追加または削除などの、コンテナ310に割り当てられる物理的な装置構成に変更があった場合でも、アプリケーション管理サーバ201は物理的装置構成の変更に全く関知しない。アプリケーション管理サーバ201は、物理的装置構成の変更と無関係に、アプリケーションを管理することができる。
図4は、管理コンピュータ200に設けられ、本実施例に特徴的な機能を実現するための管理コンポーネント群を示す。前述の通り、統合リソース管理部202は、リソース利用率に応じて、コンテナ間でリソースを配分する機能を提供する。
ユーザ要求管理部210は、ユーザ要求を管理する機能である。ユーザ要求管理部210は、ユーザのインスタンス作成要求などの構成変更要求を管理クライアント72から受信する。ユーザ要求管理部210は、統合リソース管理部202が構成変更した結果を管理クライアント72に返信する。ユーザ要求管理部210は、管理クライアント72から複数の要求を受け付けた場合、実行順序や進捗状況などを制御する。
統合リソース管理部202は、インスタンス管理テーブル211やテナント管理テーブル212を用いて、ユーザやアプリケーション管理サーバ201に提供する構成情報を保持する。テナント300あるいはアプリケーション管理サーバ201に提供される仮想的なリソース構成は、コンテナ310ごとに管理され、コンテナ管理テーブル215に保持される。
リソース構成管理部213は、リソース構成を管理する機能であり、アプリケーション管理サーバ201と連携して動作する。リソース構成管理部213は、リソース稼働情報データベース216に保持されている稼働情報を参照しながら、コンテナ310と物理装置(リソース)との関連付けを制御する。
リソース構成管理部213は、予め設定された管理方法に従って、各リソースの稼働情報を処理し、処理結果を性能評価テーブル214に格納する。具体的には、リソース構成管理部213は、アプリケーションの要求するリソース要件(性能要件)に基づいて、リソースの稼働情報を評価したり加工したりし、その結果を性能評価テーブル214に記憶する。
統合リソース管理部202は、管理対象の各装置10、20、50、100の構成に対する制御命令を、各装置管理部203、204、205に送信する。
装置管理部203、204、205は、管理対象の各装置から利用率および実性能を取得し、リソース稼働情報データベース216に格納する。リソース稼働情報データベース216は、コンテナ管理テーブル215に保持される装置識別子や時期をキーにして、構成要素毎に稼働情報の履歴を提供する機能を有する。
アプリケーション管理サーバ201の機能構成を説明する。アプリケーション管理サーバ201は、例えば、リソース管理部206、リソース要件定義テーブル207、アプリケーション稼働情報データベース208を備える。
リソース管理部206は、アプリケーションが利用している対象リソースの構成を管理するために、統合リソース管理部202に構成変更を要求する。アプリケーション管理サーバ201は、アプリケーションに適した要件を定めており、この要件をリソース要件定義テーブル207に保持している。リソース要件は、アプリケーションの種類に応じて異なるため、リソース要件を管理するリソース要件定義テーブル207の形式も一定ではなく、アプリケーションごとに異なる可能性がある。
アプリケーション稼働情報データベース208は、アプリケーションの設定値や性能値などの稼働情報を保持する。アプリケーションの稼働情報とは、例えば、計算リソース、サービスクライアント71との間に確立されたコネクション、そのコネクションの利用状況などである。計算リソースとは、例えば、当該アプリケーションが利用するプロセス、スレッド、メモリ空間などである。コネクションの利用状況とは、例えば、応答時間、トランザクション数などである。これらの稼働情報は、各アプリケーションの設計に基づき、独自の名称や属性などのデータ構造を有する。
図5は、インスタンスごとに管理される設定値や属性を格納するためのインスタンス管理テーブル211を示す。ユーザには、インスタンス管理テーブル211に記載の情報がクライアントコンピュータ70を介して提供される。つまり、ユーザには、インスタンスに割り当てられている物理的装置の識別情報は抽象化されて提供される。ユーザは、自分が利用するインスタンス11に実際に割り当てられている物理リソースがどれなのか知る必要は必ずしもない。
インスタンス管理テーブル211は、例えば、インスタンスの識別子211a、インスタンスの所有者211b、所属しているリソースプール211c、コンテナ211d、リソース構成211e、ネットワークポリシ211f、グレード211g、消費ポイント211h、利用期限211j、(必要であれば)アプリケーション管理サーバ識別名211kを対応付けて保持する。
前述の通り、インスタンス11とは、それぞれゲストOSを有する論理的な計算機を表現している。インスタンス11は物理装置から抽象化されているという意味で、テーブル211には、仮想的なリソース構成211eが定義されている。
インスタンス識別子211aは、インスタンス11を一意に識別する情報である。所有者211bは、インスタンス11を使用するユーザを一意に識別する情報である。リソースプール211cは、インスタンス11が使用するコンテナ310の所属しているリソースプール303を一意に識別する情報である。コンテナ211dは、インスタンス11にリソースを提供するコンテナ310を一意に識別する情報である。
リソース構成211eは、一般的なコンピュータアーキテクチャと同じくCPUやメモリなどの構成要素からなる。リソース構成211eの内容は、ユーザの要求に応じて個別に設定することもできる。ユーザ要求管理部210に保持されるカタログテンプレートとして、リソース構成211eの雛形データを用意してもよい。ただし、同じコンテナ識別子211dを有するインスタンスのリソース構成211eの総計が、コンテナ310が提供するリソース容量を超えないように設定される。前述の通り、コンテナ310は仮想的なリソース構成を定義したものであるから、リソース構成211eはコンテナ310へ対応付けられた物理的な装置のリソース構成とは必ずしも一致しない。
ネットワークポリシ211fは、インスタンス間の通信や、公衆通信網上の他のホストとの通信に関して、使用するプロトコルや、通信の許可または不許可を設定する。グレード211gは、インスタンスに割り当てられるリソース性能に対して、サービスレベルを設定する。
インスタンス11には、例えばデータセンタ事業者とユーザとの間の契約に基づき、契約情報を関連付けることができる。契約情報としては、例えば、利用料を定めるための消費ポイント211hや、有効な契約の残り期間を示す利用期限211jなどがある。契約の主体や形態に応じて、ライセンスに関する情報や、ユーザ申請の識別情報などもテーブル211で管理してもよい。
必要であれば、ユーザは、アプリケーション管理サーバ211kやアプリケーション管理者へ、ユーザのインスタンスが利用しているコンテナの識別子211dを通知することで、所望のアプリケーションをインスタンスに導入し、運用することができる。
図6は、テナントを管理するためのテナント管理テーブル212を示す。テナント管理テーブル212は、テナントごとに管理される設定値や属性を格納する。テナント管理テーブル212には、例えば、テナントID212a、ユーザグループID212b、管理ロール定義212c、リソースプールID212d、インスタンス管理テーブルID212e、残り利用可能ポイント212fを対応付けて保持する。
テナントID212aは、テナント300を一意に識別する情報である。ユーザグループID212bは、ユーザグループを一意に識別する情報である。管理ロール定義212cは、ユーザの役割と管理権限とを定義する情報を特定するための情報である。リソースプールID212dは、テナントに設けられたリソースプール303を一意に識別する情報である。インスタンス管理テーブルID212eは、テナントで稼働するインスタンスを管理するためのインスタンス管理テーブル211を一意に識別する情報である。
テナントではセキュリティが確保されており、インスタンス管理テーブル211で述べたネットワークポリシ211fのような形式で、リソース構成情報に対するアクセス可否を管理できる。残り利用可能ポイント212fは、利用可能な契約リソースの利用料を表す情報である。
図7は、コンテナを管理するコンテナ管理テーブル215を示す。コンテナ管理テーブル215は、コンテナごとに管理される設定値や属性を格納する。コンテナ管理テーブル215は、アプリケーション管理サーバ201に通知される、コンテナ情報および物理装置(リソース)の対応付けを管理する。
コンテナ管理テーブル215において、アプリケーション管理サーバ201には、構成変更に必要な、コンテナID215aとアクセス権限215bが引き渡される。アプリケーション管理サーバ201には、物理装置構成などに関する情報215c〜215kは公開されない。
コンテナID215aは、コンテナを一意に識別する情報である。アクセス権限215bは、コンテナにアクセスして、論理的なリソース構成を管理するためのアクセス権限情報を一意に識別する情報である。アプリケーション管理サーバ215cは、コンテナを利用するアプリケーションを管理しているアプリケーション管理サーバ201を一意に識別する情報である。
コンテナ管理テーブル215には、コンテナ310の内容として、例えば、サーバ215d、ネットワーク215e、ストレージ215gの組み合わせが保持される。これらコンテナ310を構成するリソースの総量は、仮想リソース容量215jおよび実リソース容量kに保持される。仮想リソース容量215jおよび実リソース容量kは、いずれも統合リソース管理部202により管理される量である。ただし、実リソース容量215kが一つのコンテナとして管理される装置が物理的に有しているリソース容量の総和に等しい一方、仮想リソース容量215jはアプリケーション管理サーバ201へ提供される仮想的なリソース容量である。統合リソース管理部202の働きにより、両者は一致しないことがある。
インスタンス種別215fは、コンテナ上で稼働するインスタンスの種別を示す。インスタンス種別215fにより、構成の管理方法や装置管理部を管理できる。インスタンス種別215fには、例えばコンテナが仮想マシンホスト20であれば“VM”が、ベアメタルホスト10であれば“PM”が設定される。
アプリケーション管理サーバ201は、アクセス権限215bで特定されるアクセス権限情報を利用しなければ、コンテナID215aで特定されるコンテナ310を管理対象とすることができない。ただし、コンテナの構成によっては、特定のアプリケーションのみが利用可能な場合がある。特有の構成を備えるコンテナを利用可能なアプリケーションを識別する情報は、アプリケーション制約215hに設定される。
特定のアプリケーションのみ利用可能な例としては、例えば、アプリケーション開発元において認証済みのハードウェアのみ動作を保証する場合、アプリケーションを動作させるために所定のハードウェア機能が必要な場合、特定バージョンのファームウェア構成でのみ動作が保証されている場合などがある。
アプリケーション制約フィールド215hは、管理者またはアプリケーション管理サーバ201により手動または自動で設定され、コンテナID215aで特定されるコンテナの構成に変更が生じた場合、その値が更新される。
<リソースプールの構成改善方法>
本実施例では、コンテナ310という特徴的な構成を導入することで、物理的な装置構成と、アプリケーション管理サーバ201やテナント300に認識させる論理的な装置構成とを分離することができる。
本実施例では、異種アプリケーション間あるいは異なるテナント間で、コンテナに編入する物理的な装置を融通したり、コンテナ全体を入れ替えたりすることができる。これにより、本実施例では、既存のアプリケーション管理体系やテナント管理体系に影響することなく、業務システム(アプリケーション)に割り当てるリソース構成を使用状況に応じて動的に変更することができる。
コンテナへのリソース割り当てを、異なる複数種類のアプリケーション要件(アプリケーションがリソースに要求する条件)に基づいて実施することで、データセンタ全体のリソース利用率を高めることができる。そこで、異なる種類でのアプリケーション要件を統一された観点で評価し、調整することが重要となる。
図8は、アプリケーション要件を考慮して性能を評価する方法の概念を示す。図8は説明のため2次元平面図としたが、考慮する性能指標の数に応じた任意の正数N次元で評価する場合も同じである。
図8(a)は、ある性能指標(例えばCPU利用率およびディスクIOPS)における各コンテナ310a〜310dの分布を表す。図8(a)では、リソース管理者が定義する目標性能値の範囲を点線321で示している。
一つの考え方として、例えば物理装置(リソース)そのものが有する性能に基づく目標性能値の範囲321を用いてサービスレベルを定義し、グレードとしてユーザに提示する方法がある。
各コンテナ上で稼働するアプリケーションごとの要件(リソース要求)を考慮しない場合、図8(a)のように、物理装置の性能指標をそのまま採用して評価するより他に方法はない。この場合、原点からの距離により、各コンテナの利用状況を評価する。例えばコンテナ310cはリソース利用率が比較的低く、コンテナ310bはリソース利用率が高い、と分析できる。コンテナ310a、310bについては、利用傾向が偏っていると判断される。
しかし、コンテナ上で稼働するアプリケーションの種類により、必要となるリソースの種別は異なるのが自然である。したがって、アプリケーションの種類を考慮せずに、性能指標を均一に評価する方法は適切ではない。つまり、アプリケーション管理サーバ201が定義するリソース要件や、アプリケーション管理のためのノウハウを考慮することができれば、コンテナでのリソースの需要傾向に基づいてリソース利用率を公平に判定することができる。
図8(b)は、アプリケーションごとに異なるリソースの利用特性を考慮した、性能評価の方法を示す。
例えば、図8(a)に記載の各コンテナ310a〜310dにおいて、コンテナ310cおよび310dでアプリケーションAを稼働させ、コンテナ310aおよび310bでアプリケーションBを稼働させるとする。
アプリケーションAのリソース利用傾向を性能特性曲線322として示す。アプリケーションAの性能特性曲線322と、アプリケーションAが稼働するコンテナ310c、310dの性能値とを重ね合わせると、コンテナ310cはアプリケーションAに適したリソース利用率であることがわかる。しかし、コンテナ310dはアプリケーションAに適していないことが判明する。
コンテナ310dがアプリケーションAの性能傾向に適していない理由としては、コンテナ310dに対応付けられている他のリソース要素(例えばネットワーク性能など)にボトルネックが存在している場合や、コンテナ310dに割り当てられるべきCPUリソース量が多すぎる場合、のいずれか又は両方であると推定される。
アプリケーションBについても同様の分析が可能である。アプリケーションBのリソース利用傾向を示す性能特性曲線323と、アプリケーションBが稼働するコンテナ310a、310bの性能値とを重ね合わせて判断する。コンテナ310aは、アプリケーションBの性能傾向に適していないことがわかる。
図8(b)に示す場合は、例えばコンテナ310aと310dをアプリケーションAとアプリケーションBとの間で交換したり、あるいは、コンテナ310aのリソース構成をコンテナ310dのリソース構成と近くなるよう変更したりする、といった改善方策が考えられる。
本実施例では、少なくとも3つの技術的特徴を備えているため、アプリケーションの特性を考慮して、データセンタ全体のリソース利用率を最大化することができる。第1の技術的特徴は、アプリケーション管理サーバ201が対象とするリソース構成と、物理装置の構成とを分離する「コンテナ」の概念である。第2の技術的特徴は、異種アプリケーションのリソース要件を統一的に比較するための表現形式である。これについては、後述する。第3の技術的特徴は、複数コンテナ間で物理装置(リソース)を融通する構成管理方法である。
前述の通り、アプリケーション管理サーバ201が必要とするリソース構成に関連する情報は、リソース要件定義テーブル207に保持される。これらリソース要件に関する情報は、アプリケーションごとに一定ではなく、アプリケーション管理サーバ201が保持するリソース要件の表現形式もそれぞれに異なる。
図9は、リソース要件を定義するリソース要件定義テーブル207の例を示す。例えば、図9(a)に示すリソース要件定義テーブル207は、ターゲット207a、リソース項目207b、要求値207c、稼働状況207d、評価値207eを対応付けて管理している。ターゲット207aは、アプリケーションの使用対象となるコンテナ310を一意に識別する情報である。リソース項目207bは、対象コンテナ207aに対応付けられるリソースの項目を示す情報である。要求値207cは、アプリケーションがリソースに要求する条件である。稼働状況207dは、リソース項目207bで示す性能指標の実測値である。評価値207eは、稼働状況207dの値が要求値207cを満たしているか否かを判定した情報である。
図9(b)に、他の形式のリソース要件定義テーブル207(1)を示す。このテーブル207(1)では、ターゲット207fと、評価値207gとを対応付けて管理し、他の項目(リソース項目、要求値、稼働状況)は管理していない。
図9(a)に示すように、特定の構成要素(リソース)に対して性能要件(207b)が定義されている場合もあれば、図9(b)に示すように、アプリケーションの応答性能や処理スレッド数などの、リソース要件に直接的に関連付けられない性能値を用いて性能要件が定義されている場合もある。
図10を用いて、アプリケーションがリソースに求めるリソース要件を異種アプリケーション間で統一的に比較するための表現形式を説明する。
図10は、全体リソースに対する稼働情報を算出するために、リソース管理部213が使用する、本実施例に特有の性能評価テーブル214を示す。性能評価テーブル214では、アプリケーションの種類ごとに定められるリソース要件に基づき、コンテナID214aに対して、評価が必要な性能指標214bと、その実計測値214cとが保持されている。
さらに、テーブル214では、複数の異種アプリケーションによるリソース要件を共通的に比較評価するため、補正係数214dを設けている。それぞれの性能指標214bの実計測値214cを補正係数214dで補正し、その補正結果を補正値214eに記録する。補正値214eは、実計測値214bと補正係数214dとの単純な積として算出しており、無次元の値である。
性能指標214bには、リソース利用率の高さを示す指標のみならず、リソース性能の劣化を示す指標が存在する。リソース性能の劣化を示す指標としては、例えばディスクI/Oの応答時間などのように、性能劣化の大きさが数値の大きさに現れる指標のほか、総合的な性能ボトルネックの判定に使用する指標もある。
例えば、CPU利用率が高い場合は、一見すると計算リソースの利用率が高まっているかのように思われる。しかし実際には、メモリ不足に伴ってスワップ処理が発生しており、スワップ処理の影響がCPU負荷として現れていることもある。
そこで、性能評価テーブル214では、性能上のボトルネックを考慮し、リソースの利用率向上のために良い影響を与えていれば「+」を、悪い影響を与えていれば「−」を、保持するための影響判定214fを有する。
性能指標214bとしてどの構成要素(リソース)を選ぶかについては、アプリケーション管理サーバ201により自動的に設定されてもよいし、管理者の手によって設定されてもよい。
補正係数214dは、複数の異なるアプリケーションに対するコンテナ310の性能比較を公平に行うために重要な値であり、各性能指標をどの程度、重要視するかという定量値を与えるための重みという意味を持つ。補正係数214dを用いることにより、前述したアプリケーションごとのリソース性能特性を表現することができる。
例えば、コンテナID:CNT−A021におけるCPU利用率(総処理時間に対するCPU時間の比率)は45%であるのに対し、コンテナID:CNT−A025のCPU利用率は69%である。
この単純な比較では、後者のコンテナCNT−A025のほうが、リソース利用率が高いように思われる。しかし、実は、コンテナCNT−A025上で稼働するアプリケーションは、CPUに高い演算性能を必要とする。このようなアプリケーションの特性の差を各補正係数214dにより重みづけして、補正値214eを得る。実測されたCPU利用率が45%のコンテナCNT−A021の補正値は90となり、実測されたCPU利用率が69%のコンテナCNT−A025の補正値は35となる。このように、アプリケーション間の特性の差を考慮した補正値を算出することで、コンテナCNT−A025ではCPUを利用しきれておらず、見かけ上の数値が低いコンテナCNT−A021のほうが、逆にリソース利用率が高いことを表現することができる。
補正係数214dは、各アプリケーション管理者の手により設定されてもよいし、アプリケーション管理サーバ201により自動的に設定されてもよい。稼働情報を統計処理することで、リソース構成管理部213が補正係数を算出してもよい。
統計的な稼働情報をもとに補正係数214dを算出する方法の例を示す。ただし、本実施例にかかる計算機システムにおいて、アプリケーションを稼働させるコンテナについて十分に多数の稼働実績があり、稼働情報の履歴が保持されているものとする。例えば図9(a)に示すように各リソース項目について要求値207cが設定されている場合、これを閾値にして、下記のように計算する。要求値の不等号の向きにより、下限を定める要求値と上限を定める要求値とを判別する。以下の各式では理解のために、一部の変数にテーブル項目の符号を添える。式中の補正係数は、図10の補正係数214dのことであるから符号の記載を省略する。
補正係数=倍率/下限要求値207c,影響判定214f=(+)・・・式1
補正係数=倍率/上限要求値207c,影響判定214f=(−)・・・式2
上記倍率は、性能値ごとにとり得る値を用いて、例えば次式のように算出する。
倍率=(アプリケーション倍率)×(履歴最大値−履歴最小値)/定義域・・・式3
アプリケーション倍率は、アプリケーションの重要度や人気の度合いを表し、アプリケーションの導入数(インスタンス台数)に基づいて評価する。あるいは、図9(b)のように、あるインスタンスまたはコンテナに対して、アプリケーション独自の評価値207gを有する場合には、次式から評価値207gを算出する。
[全性能指標214bの総和](補正係数×性能履歴の平均値)=評価値・・・式4
このとき、同一のアプリケーション内で保持されるリソース要件定義テーブル207のレコード数を次数とする連立方程式が成立する。各性能指標214bが互いに独立であればその連立方程式は解を持ち、補正係数214dが決定される。各性能指標214bの一組以上が従属である場合には、最小二乗法等で求めた近似解を補正係数214dとしてもよい。
図11は、アプリケーションの要求するリソース要件に基づいて各コンテナの稼働情報を補正し、リソース全体における稼働情報を算出し、リソースを融通するコンテナを決定するための処理のフローチャートである。
リソース構成管理部213が、例えばアプリケーション管理サーバ201からリソースの追加要求を受信すると(S10)、その受信を契機に以降の処理が開始される。リソースの追加要求には、アプリケーション12(または22)の種別を含む。さらに追加されるべきリソース量を含む場合もある。コンテナ310の構成を変更することによりリソース配分を変更する一連の処理を開始する所定の契機としては、前述のリソースの追加要求の受信に限らない。例えば、システム管理者が明示的に指示した場合に本処理を開始してもよい。統合リソース管理部202が本処理を定期的に実行してもよい。ユーザ要求管理部210が、インスタンスの構成変更についての要求を受信した場合に、インスタンス管理テーブル211からアプリケーション管理サーバ211kを特定し本処理を実行してもよい。
また、どの種別のリソース(サーバ、ネットワーク、ストレージ)の追加であるかを判別する方法にも複数ある。例えば、ユーザが、必要なリソースの種別を明示して、リソース追加要求を指示してもよい。リソース利用率の履歴をもとに自動計算することで、追加の必要なリソースの種別と量を自動的に特定する構成でもよい。
後者の自動計算には、アプリケーション管理サーバ201が有するリソース要求定義テーブル207やアプリケーション稼働情報テーブル208を利用して、リソースの消費傾向を算出し、消費傾向の大きいリソースを追加対象として決定する方法がある。統合リソース管理部202が有する性能評価テーブル214のうち、補正係数214dの値が大きいリソースを、追加すべきリソースであるとして決定する方法も考えられる。
ステップS11において、統合リソース管理部202は、アプリケーション管理サーバ201に定義されたリソース要件に変更があったか否かを判定する。具体的には、リソース構成管理部213が、アプリケーション管理サーバ201上のリソース管理部206を経由してリソース要件定義テーブル207を参照し、更新の有無を判定する。判定の結果、更新があった場合(S11:YES)、リソース構成管理部213は、ステップS12において、補正係数214dを再度計算し、性能評価テーブル214を最新の状態に更新する。
ステップS13において、リソース構成管理部213は、稼働情報の実計測値214cをリソース稼働情報データベース216より取得し、補正値214eを算出して性能評価テーブル214に格納する。
ステップS14において、リソース構成管理部213は、コンテナ管理テーブル215に記載されたレコードを順に探索し、リソース利用率の低いコンテナを検出する処理を開始する。リソース利用率の低いコンテナは、性能評価テーブル214において、正の影響判定(+)に関する補正値214eの総和を計算し、その合計値が小さいものを選ぶことにより決定される。
ステップS15において、リソース構成管理部213は、コンテナ管理テーブル215におけるアプリケーション制約215hを参照し、リソースの追加を要求するアプリケーションが、処理対象のコンテナ上で稼働可能であるかを判定する。リソース構成管理部213は、処理対象コンテナがアプリケーション制約215hに違反すると判定すると(S15:YES)、ステップS14へ戻り、補正値214eの総和の低い他のコンテナを処理対象コンテナとして選択する。
ステップS16において、リソース構成管理部213は、性能評価テーブル214の影響判定214fを参照することで、所定の性能劣化基準値よりも大きい性能劣化があるか判定する。
性能劣化の有無を判定する方法として、例えば、閾値に基づく方法の他に、既に選ばれている候補コンテナと処理対象コンテナとの間で、負の性能影響の度合い214fの大きさを比較する方法がある。処理対象コンテナの負の性能影響の度合い214fが候補コンテナの対応する値214fよりも大きい場合、性能劣化が有ると判定してもよい。
性能劣化が生じていない場合(S16:YES)、リソース構成管理部213は、ステップS17において、その処理対象コンテナを、リソース構成を見直す候補コンテナとして選定する。候補として選ばれるコンテナは、一つとは限らず、複数のコンテナが候補として選択される場合もある。なお、図7に示すコンテナの種別215fなどを考慮して、候補コンテナを選定しても良い。
ステップS18において、リソース構成管理部213は、コンテナ管理テーブル215に記載のコンテナの内、未処理のコンテナが存在するか判定し、存在する場合には(S18:YES)、ステップS14へ戻り、前述のステップを繰り返す。
未処理のコンテナが無くなった場合(S18:NO)、ステップS19において、リソース構成管理部213は、候補コンテナが一つ以上検出されていた場合、その候補コンテナのリソース構成を変更する。
候補コンテナのリソース構成の変更とは、代表的には、リソースの減設である。ステップS19においてコンテナのリソース構成を減設する処理としては、例えばサーバクラスタから一つ以上のノード(物理サーバ)を削除する処理、ストレージリソースからボリュームを削減する処理、ネットワークリソースに設定された通信優先度を下げる処理、などがある。あるいは、ステップS19では、同じアプリケーション管理サーバ201が管理する他のコンテナに、インスタンスを集約する処理を実行してもよい。ステップS19では、候補コンテナよりもリソース容量の小さなコンテナを新たに作成し、その新たに作成した小型コンテナに、候補コンテナ上で稼働しているインスタンスと候補コンテナの識別情報とを引き継がせる処理を実行してもよい。
ただし、前述したステップS19での処理内容の全ての場合において、候補コンテナの識別情報およびインスタンスは削除されることはなく、コンテナ管理テーブル215のレコードは、リソース構成管理部213により適切な値に更新される。より具体的には、例えばステップS19において、移行元コンテナのサーバクラスタからノードが削除されるとき、当該ノード上に仮想サーバが稼働していた場合には、当該仮想サーバは同じサーバクラスタ内の他のノード上へ移行されて移行元コンテナに留まる。このとき、インスタンス管理テーブル211や、コンテナ管理テーブル215の仮想リソース容量jには変更を生じない。これにより、移行元コンテナを使用しているユーザおよびアプリケーション管理サーバ201は、ステップ19における物理的な構成の変更を察知せず使用を継続できる。一方で、コンテナ管理テーブル215において当該移行元コンテナを管理するレコードのサーバフィールド215dから当該ノードの識別子が削除され、実リソース容量kフィールドでは当該ノードが有していた分のリソースが減算される。
ステップS19では、さらに、候補コンテナの減設処理によって生じたリソースの余裕分を、ステップS10でリソース追加が要求されたコンテナに移動する。このとき、移行元コンテナと同様に、リソース構成管理部213により、コンテナ管理テーブル215のレコードが適切な値に更新される。ただし、コンテナ管理テーブル215における、リソース追加が要求された移行先コンテナについてのレコードを更新する際には、いずれかの装置の識別子の追加および実リソース容量kフィールドの更新に加え、仮想リソース容量jに追加されたリソース分の容量を加算する。
移行元コンテナから移行先コンテナにリソースを移す処理では、移行先コンテナにおいて、当該コンテナを構成するリソースを増設する処理が行われる。その後さらに同一コンテナ内で負荷を平準化する処理、例えば仮想マシンを仮想マシンホストクラスタ内で再配置する処理を行ってもよい。
<物理装置に関するアクセス情報の管理方法>
アプリケーション管理サーバ201がコンテナ310を管理する場合、物理的な装置へのアクセスが必要となる。アプリケーション管理サーバ201は、アクセス情報を用いて物理装置にアクセスする。アクセス情報としては、例えば管理IPアドレス、認証アカウント、装置IDを利用することができる。
アプリケーション管理サーバ201は、適切なアクセス情報を使用することで、安全かつ確実にコンテナ310のリソース構成を変更できる。ここでいう構成変更とは、例えば電源状態の変更、ブートオプションなどBIOS(Basic Input/Output System)設定値の変更、物理アドレスなどネットワークアダプタの設定変更、入出力デバイスの切り替え、などを指す。
一方、仮想サーバ環境や、テナント管理を必要としない他のサーバ環境においては、物理装置上のOSを利用しているため、OSを再設定したり再インストールしたりすることで、幾らでも新たなアクセス情報を設定することができた。
しかし、仮想化されていないサーバ環境を、複数のアプリケーションごとに権限を委譲して利用させる場合、物理装置に基づくアクセス情報を開示する必要がある。アプリケーション管理サーバ201と各物理装置とのアクセスを制御するには、アプリケーション管理サーバ201が保持するホストの認証アカウントを変更するか、あるいは管理ネットワーク上のファイヤウォール303においてアクセス経路を変更する方法がある。
前述した図11の処理中のステップS19において、コンテナ310が単一の物理装置から構成されていた場合(例えばベアメタルホスト10を使用する場合)、同じ物理装置を他のアプリケーション管理サーバ用のコンテナへ登録し直す必要がある。このため、移行元アプリケーション管理サーバから移行先アプリケーション管理サーバにアクセス情報を移す必要がある。
ここでアクセス情報の移行とは、移行元で使用していたアクセス情報をそのまま移行先でも使用できるようにするという意味ではなく、移行先のアプリケーション管理サーバが移行先コンテナを安全に使用するためのアクセス情報を移行先アプリケーション管理サーバに設定するという意味である。
移行対象の物理装置についてのアクセス情報が移行先アプリケーション管理サーバに移行されない場合、元々その物理装置を使用していた移行元アプリケーション管理サーバは、今まで通り、その移行された物理装置にアクセス可能である。したがって、不正アクセス、システム障害、データ損失などが生じうる。本実施例では、複数コンテナ間で物理装置を融通するため、アクセス情報の適切な移行は欠かせない。
図12は、アクセス情報を移行する処理を示すフローチャートである。以下の説明では、アクセス情報をアクセス権限情報と呼ぶ場合がある。
ステップS30において、リソース構成管理部213は、移行対象の物理装置に設定されているアクセス権限であって、移行元アプリケーション管理サーバ201が使用していたアクセス権限を無効化する。ここで、アクセス権限を完全に削除しないのは、以降の処理中に万が一不測の障害が発生した場合であっても、有効なアクセス権限が失われないようにするためである。
ステップS31において、リソース構成管理部213は、移行元アプリケーション管理サーバ201のリソース管理部206に対して、移行対象の物理装置についてのアクセス権限を削除するよう要求する。移行元アプリケーション管理サーバ201が、アクセス権限の変更機能を提供しない場合は、管理ネットワーク上のファイヤウォール303が移行元アプリケーション管理サーバ201から移行対象の物理装置へのアクセス経路を遮断してもよい。
ステップS32において、リソース構成管理部213は、サーバ管理部203を通じて移行対象の物理装置上に、新たなアクセス権限を作成し、有効化する。
ステップS33において、リソース構成管理部213は、ステップS32で生成した新アクセス権限を、移行先アプリケーション管理サーバ201へ通知し、今後は新アクセス権限を使用するよう設定する。
ただし、移行先アプリケーション管理サーバ201が、アクセス権限の変更機能を提供しない場合は、管理ネットワーク上のファイヤウォール303にて、移行先アプリケーション管理サーバ201と移行対象の物理装置とのアクセス経路を許可すればよい。
ステップS34において、リソース構成管理部213は、アクセス権限が適切に移行されたことを確認する。確認手段として、例えば、移行元アプリケーション管理サーバおよび移行先アプリケーション管理サーバ201から、移行対象の物理装置へそれぞれ接続試験を行う。その接続試験の結果、アクセス権限の移行が失敗していたら(S34:NO)、リソース構成管理部213は、ステップS36へ進んで、本フローチャートの開始時点まで状態を戻し、エラー終了する。
アクセス権限が正常に移行した場合(S34:YES)、ステップS35において、リソース構成管理部213は、ステップS30で一旦無効化しておいた旧アクセス権限を移行対象の物理装置から削除し、本処理を正常に終了する。これにより、恒久的に移行元アプリケーション管理サーバ201は、移行された物理装置に恒久的にアクセスすることができず、安全が維持される。
本実施例によれば、リソースの使用状況の変化に対応して、コンテナ間でリソースを動的に移動させることができ、リソースの利用効率を高めることができる。
本実施例によれば、テナント毎のリソース管理体系やアプリケーション管理体系に矛盾することなく、時々刻々と需要が変化するデータセンタにおいて、リソース全体の利用効率を最適化することができる。
また、本実施例によれば、テナントごとのセキュリティを確保しつつ、従来の運用で培ったアプリケーション管理のノウハウを引き続き活用することができる。
本実施例では、アプリケーションプログラムに予め割り当てられているリソースを、リソース追加要求で指定された使用量よりも少なく設定する場合があるが、その後の使用状況に応じて、いつでもリソースの追加割当が可能であり、計算機システムを少ないリソースで効率的に運用することができる。なお、「リソースを指定された使用量よりも少なく設定する場合がある」という表現を、「リソースを指定された使用量よりも少なく設定する」と言い換えてもよい。
なお、本発明は、前述した実施例に限定されない。当業者であれば、本発明の範囲内で、種々の追加や変更等を行うことができる。例えば、前述された本発明の技術的特徴は、適宜結合させて実施することができる。
10、20:ホスト、11、21:インスタンス、50、60:スイッチ、70:クライアントコンピュータ、100:ストレージ装置、200:管理コンピュータ、201:アプリケーション管理サーバ、202:統合リソース管理部、203:サーバ管理部、204:ネットワーク管理部、205:ストレージ管理部

Claims (13)

  1. リソースを管理するリソース管理システムであって、
    前記リソースを提供する複数の物理計算機と、
    少なくとも一つのアプリケーションプログラムを実行する複数の仮想計算機と、
    前記複数の物理計算機および前記複数の仮想計算機に通信可能に接続される統合リソース管理部とを有し、
    前記統合リソース管理部は、
    対応づけられる前記リソースの一部を管理し仮想リソースとして提供する複数のコンテナを予め用意し、
    前記提供される仮想リソースの利用範囲を定義するリソース区画を管理し、
    前記コンテナは前記アプリケーションプログラムの何れかに対応づけられており、
    前記リソース区画で動作するアプリケーションプログラムのリソース構成変更要求を受けると、当該アプリケーションプログラムに対応づけられる前記コンテナに他のコンテナで管理される前記リソースを移行し、前記他のコンテナの管理する前記リソース量は前記他のコンテナの提供する前記仮想リソースより少なくなることがあるリソース管理システム。
  2. 前記統合リソース管理部は、前記複数のリソース区画のうち第1のリソース区画に提供する第1のコンテナに対応付けられている前記リソースの一部である第1所定リソースを、前記複数のリソース区画のうち第2のリソース区画に提供する第2のコンテナに対応付けることで、前記第1所定リソースの所属先を前記第2のリソース区画に移す、請求項1に記載のリソース管理システム。
  3. 前記統合リソース管理部は、前記複数のリソースについての前記アプリケーションプログラムによる利用率を管理しており、前記複数のリソースのうち最も利用率の低いリソースを前記第1所定リソースとして選択する、
    請求項2に記載のリソース管理システム。
  4. 前記統合リソース管理部は、前記複数のリソースについての性能劣化を管理しており、最も利用率の低い前記リソースについての前記性能劣化が所定値よりも小さい場合に、前記利用率が最も低く、かつ、前記性能劣化が前記所定値よりも小さいリソースを前記第1所定リソースとして選択する、
    請求項3に記載のリソース管理システム。
  5. 前記統合リソース管理部は、前記第2のアプリケーションプログラムが使用するための所定の制約条件を前記第1所定リソースが満足するかを判定し、前記利用率が最も低く、かつ、前記性能劣化が前記所定値よりも小さく、かつ、前記所定の制約条件を満たす仮想リソースを前記第1所定リソースとして選択する、
    請求項4に記載のリソース管理システム。
  6. 前記統合リソース管理部は、
    前記第1のコンテナを使用する第1のアプリケーションプログラムを管理するための第1アプリケーション管理部と、前記第2のコンテナを使用する第2のアプリケーションプログラムを管理するための第2アプリケーション管理部とに、通信可能に接続されており、
    前記第1所定リソースを前記第1のコンテナから前記第2のコンテナに移す際に、前記第1所定リソースに設定されている、前記第1アプリケーション管理部が前記第1所定リソースにアクセスするための旧アクセス権限情報を無効化し、
    前記旧アクセス権限情報を前記第1アプリケーション管理部から削除し、
    新たなアクセス権限情報を生成して、前記新たなアクセス権限情報を前記第1所定リソースに設定し、
    前記新たなアクセス権限情報を前記第2のアプリケーション管理部に設定し、
    前記第1所定リソースにアクセスするためのアクセス権限が前記第1アプリケーション管理部から前記第2アプリケーション管理部に移行したことを確認し、
    前記旧アクセス権限情報を前記第1アプリケーション管理部から削除する、
    請求項5に記載のリソース管理システム。
  7. 前記統合リソース管理部は、前記複数のコンテナに対応付けられている前記リソースのそれぞれに予め設定されている所定の性能指標の実測値を用いて所定の演算を行うことにより、前記コンテナを使用する前記アプリケーションプログラムの種類に依存せずに前記複数のコンテナの性能を評価するための性能評価値を算出し、前記算出した性能評価値を提示する、
    請求項1のいずれかに記載のリソース管理システム。
  8. 前記統合リソース管理部は、前記複数のコンテナに対応付けられている前記リソースのそれぞれに予め設定されている所定の性能指標の実測値を用いて所定の演算を行うことにより、前記コンテナを使用する前記アプリケーションプログラムの種類に依存せずに前記複数のコンテナの性能を評価するための性能評価値を算出し、算出した性能評価値を前記所定の要求を発行する装置に通知し、
    前記所定の要求は、前記性能評価値からボトルネックであると判定された前記リソースの追加を要求するものである、
    請求項4に記載のリソース管理システム。
  9. 前記統合リソース管理部は、
    前記複数のコンテナに対応付けられている前記リソースのそれぞれに予め設定されている所定の性能指標の実測値を用いて所定の演算を行うことにより、前記コンテナを使用する前記アプリケーションプログラムの種類に依存せずに前記複数のコンテナの性能を評価するための性能評価値を算出し、
    前記算出した性能評価値に基づいて前記複数のコンテナについての性能劣化を管理し、
    最も利用率の低い前記コンテナについての前記性能劣化が所定値よりも小さい場合に、前記利用率が最も低く、かつ、前記性能劣化が前記所定値よりも小さいリソースを前記第1所定リソースとして選択する、
    請求項3に記載のリソース管理システム。
  10. 情報処理システムのリソースを管理コンピュータを用いて管理する方法であって、
    前記情報処理システムは、前記リソースを提供する複数の物理計算機と、少なくとも一つのアプリケーションプログラムを実行する複数の仮想計算機と、前記複数の物理計算機および前記複数の仮想計算機に通信可能に接続される管理コンピュータとを有し、
    前記管理コンピュータは、
    対応付けられる前記リソースの一部を管理し仮想リソースとして提供する複数のコンテナを予め用意し、
    前記提供される仮想リソースの利用範囲を定義するリソース区画を管理し、
    前記コンテナは前記アプリケーションプログラムの何れかに対応づけられており、
    前記リソース区画で動作するアプリケーションプログラムのリソース構成変更要求を受けると、当該アプリケーションプログラムに対応づけられる前記コンテナに他のコンテナで管理される前記リソースを移行し、前記他のコンテナの管理する前記リソース量は前記他のコンテナの提供する前記仮想リソースより少なくなることがある、
    リソース管理方法。
  11. 前記管理コンピュータは、前記複数のリソース区画のうち第1のリソース区画に提供する第1のコンテナに対応付けられている前記リソースの一部である第1所定リソースを、前記複数のリソース区画のうち第2のリソース区画に提供する第2のコンテナに対応付けることで、前記第1所定リソースの所属先を前記第2リソース区画に移す、請求項10に記載のリソース管理方法。
  12. コンピュータを、情報処理システムのリソースを管理するための管理コンピュータとして機能させるためのコンピュータプログラムであって、
    前記情報処理システムは、所定リソースを提供する複数の物理計算機と、少なくとも一つのアプリケーションプログラムを実行する複数の仮想計算機と、前記複数の物理計算機および前記複数の仮想計算機に通信可能に接続される管理コンピュータとを有し、
    前記コンピュータに、対応付けられる前記リソースの一部を管理し仮想リソースとして提供する複数のコンテナを予め用意し、
    前記提供される仮想リソースの利用範囲を定義するリソース区画を管理し、
    前記コンテナは前記アプリケーションプログラムの何れかに対応づけられており、
    前記リソース区画で動作するアプリケーションプログラムのリソース構成変更要求を受けると、当該アプリケーションプログラムに対応づけられる前記コンテナに他のコンテナで管理される前記リソースを移行し、前記他のコンテナの管理する前記リソース量は前記他のコンテナの提供する前記仮想リソースより少なくなることがある、
    コンピュータプログラム。
  13. 前記コンピュータプログラムは、前記コンピュータに、前記複数のリソース区画のうち第1のリソース区画に提供する第1のコンテナに対応付けられている前記リソースの一部である第1所定リソースを、前記複数のリソース区画のうち第2のリソース区画に提供する第2のコンテナに対応付けることで、前記第1所定リソースの所属先を前記第2仮想リソースに移させる、請求項12に記載のコンピュータプログラム。
JP2015540343A 2013-10-04 2013-10-04 リソース管理システムおよびリソース管理方法 Active JP5976230B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2013/077063 WO2015049789A1 (ja) 2013-10-04 2013-10-04 リソース管理システムおよびリソース管理方法

Publications (2)

Publication Number Publication Date
JP5976230B2 JP5976230B2 (ja) 2016-08-23
JPWO2015049789A1 true JPWO2015049789A1 (ja) 2017-03-09

Family

ID=52778397

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015540343A Active JP5976230B2 (ja) 2013-10-04 2013-10-04 リソース管理システムおよびリソース管理方法

Country Status (3)

Country Link
US (1) US9495195B2 (ja)
JP (1) JP5976230B2 (ja)
WO (1) WO2015049789A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109254843A (zh) * 2017-07-14 2019-01-22 华为技术有限公司 分配资源的方法和装置

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9712404B2 (en) * 2014-03-07 2017-07-18 Hitachi, Ltd. Performance evaluation method and information processing device
US9703611B1 (en) * 2014-03-21 2017-07-11 Amazon Technologies, Inc. Isolating resources for utilization by tenants executing in multi-tenant software containers
JP6326913B2 (ja) * 2014-03-31 2018-05-23 富士通株式会社 制御プログラムおよび制御方法
US9843478B2 (en) * 2014-06-12 2017-12-12 Dell Products L.P. Template builder for end-to-end provisioning and lifecycle management of it infrastructure and services
US9563475B2 (en) 2014-09-30 2017-02-07 International Business Machines Corporation Merging connection pools to form a logical pool of connections during a preset period of time thereby more efficiently utilizing connections in connection pools
WO2016167086A1 (ja) * 2015-04-17 2016-10-20 日本電信電話株式会社 サーバ選択装置、サーバ選択方法及びサーバ選択プログラム
JP6374845B2 (ja) * 2015-08-07 2018-08-15 株式会社日立製作所 計算機システム及びコンテナ管理方法
JP6540356B2 (ja) * 2015-08-10 2019-07-10 富士通株式会社 システム複製制御装置およびシステムの複製制御方法
US10498807B2 (en) 2015-10-19 2019-12-03 Citrix Systems, Inc. Multi-tenant multi-session catalogs with machine-level isolation
US10223074B2 (en) * 2015-12-11 2019-03-05 International Business Machines Corporation Determining the identity of software in software containers
JP6749094B2 (ja) * 2015-12-18 2020-09-02 エヌ・ティ・ティ・コミュニケーションズ株式会社 コンテナ収容装置、コンテナ作成方法、及びプログラム
US9846602B2 (en) * 2016-02-12 2017-12-19 International Business Machines Corporation Migration of a logical partition or virtual machine with inactive input/output hosting server
SG11201804089PA (en) 2016-02-25 2018-06-28 Huawei Tech Co Ltd Method for automatically deploying application, and cloud management node
US10390114B2 (en) * 2016-07-22 2019-08-20 Intel Corporation Memory sharing for physical accelerator resources in a data center
US10348813B2 (en) * 2016-10-28 2019-07-09 International Business Machines Corporation Provisioning a bare-metal server
US10684933B2 (en) * 2016-11-28 2020-06-16 Sap Se Smart self-healing service for data analytics systems
CN106878058B (zh) * 2017-01-03 2020-11-06 新华三技术有限公司 一种服务节点复用方法及装置
US10409702B2 (en) * 2017-03-20 2019-09-10 Netapp, Inc. Methods and systems for managing networked storage system resources
US10884816B2 (en) 2017-03-28 2021-01-05 International Business Machines Corporation Managing system resources in containers and virtual machines in a coexisting environment
US10387212B2 (en) * 2017-06-15 2019-08-20 Microsoft Technology Licensing, Llc Attribute collection and tenant selection for on-boarding to a workload
KR102052652B1 (ko) * 2017-12-05 2019-12-06 광주과학기술원 클라우드 서비스 시스템
US11513864B2 (en) * 2018-03-22 2022-11-29 Amazon Technologies, Inc. Adoption of existing virtual computing resources into logical containers for management operations
US11086685B1 (en) 2018-04-25 2021-08-10 Amazon Technologies, Inc. Deployment of virtual computing resources with repeatable configuration as a resource set
US20220270735A1 (en) * 2018-08-28 2022-08-25 Novo Nordisk A/S Systems and methods for providing container based medication dose guidance to treat diabetes
JP6957431B2 (ja) 2018-09-27 2021-11-02 株式会社日立製作所 Hci環境でのvm/コンテナおよびボリューム配置決定方法及びストレージシステム
US11086686B2 (en) * 2018-09-28 2021-08-10 International Business Machines Corporation Dynamic logical partition provisioning
US11500874B2 (en) * 2019-01-23 2022-11-15 Servicenow, Inc. Systems and methods for linking metric data to resources
US11416264B2 (en) * 2019-08-27 2022-08-16 Sap Se Software component configuration alignment
WO2021095943A1 (ko) * 2019-11-15 2021-05-20 대구대학교 산학협력단 서비스 프로파일을 고려한 컨테이너의 배치 방법
CN111200595B (zh) * 2019-12-20 2022-04-29 北京淇瑀信息科技有限公司 一种访问容器的权限管理方法、装置和电子设备
US11356317B2 (en) * 2019-12-24 2022-06-07 Vmware, Inc. Alarm prioritization in a 5G telco network
EP4113911A4 (en) 2020-02-26 2024-04-10 Rakuten Symphony Singapore Pte Ltd NETWORK SERVICE CONSTRUCTION SYSTEM AND NETWORK SERVICE CONSTRUCTION METHODS
EP4113914A4 (en) * 2020-02-26 2024-03-27 Rakuten Symphony Singapore Pte Ltd SYSTEM, METHOD AND PROGRAM FOR MANAGING A RESOURCE POOL
JP7389351B2 (ja) * 2020-03-23 2023-11-30 富士通株式会社 移動対象コンテナ決定方法および移動対象コンテナ決定プログラム
US11875046B2 (en) * 2021-02-05 2024-01-16 Samsung Electronics Co., Ltd. Systems and methods for storage device resource management

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7140020B2 (en) * 2000-01-28 2006-11-21 Hewlett-Packard Development Company, L.P. Dynamic management of virtual partition computer workloads through service level optimization
US7748005B2 (en) * 2000-01-28 2010-06-29 Hewlett-Packard Development Company, L.P. System and method for allocating a plurality of resources between a plurality of computing domains
US7694303B2 (en) * 2001-09-25 2010-04-06 Sun Microsystems, Inc. Method for dynamic optimization of multiplexed resource partitions
US7299468B2 (en) * 2003-04-29 2007-11-20 International Business Machines Corporation Management of virtual machines to utilize shared resources
US8560671B1 (en) * 2003-10-23 2013-10-15 Netapp, Inc. Systems and methods for path-based management of virtual servers in storage network environments
US7752623B1 (en) * 2004-09-16 2010-07-06 Hewlett-Packard Development Company, L.P. System and method for allocating resources by examining a system characteristic
US7765552B2 (en) * 2004-09-17 2010-07-27 Hewlett-Packard Development Company, L.P. System and method for allocating computing resources for a grid virtual system
US7752624B2 (en) * 2004-12-21 2010-07-06 Hewlett-Packard Development Company, L.P. System and method for associating workload management definitions with computing containers
US7730486B2 (en) * 2005-02-28 2010-06-01 Hewlett-Packard Development Company, L.P. System and method for migrating virtual machines on cluster systems
US7458066B2 (en) * 2005-02-28 2008-11-25 Hewlett-Packard Development Company, L.P. Computer system and method for transferring executables between partitions
US8020164B2 (en) * 2005-12-22 2011-09-13 International Business Machines Corporation System for determining and reporting benefits of borrowed computing resources in a partitioned environment
US8146091B2 (en) * 2008-05-01 2012-03-27 International Business Machines Corporation Expansion and contraction of logical partitions on virtualized hardware
US8856783B2 (en) * 2010-10-12 2014-10-07 Citrix Systems, Inc. Allocating virtual machines according to user-specific virtual machine metrics
JP5400482B2 (ja) * 2009-06-04 2014-01-29 株式会社日立製作所 管理計算機、リソース管理方法、リソース管理プログラム、記録媒体および情報処理システム
US8707300B2 (en) * 2010-07-26 2014-04-22 Microsoft Corporation Workload interference estimation and performance optimization
US8667496B2 (en) * 2011-01-04 2014-03-04 Host Dynamics Ltd. Methods and systems of managing resources allocated to guest virtual machines
US8601483B2 (en) * 2011-03-22 2013-12-03 International Business Machines Corporation Forecasting based service for virtual machine reassignment in computing environment
JP5691062B2 (ja) 2011-04-04 2015-04-01 株式会社日立製作所 仮想計算機の制御方法及び管理計算機
US8694995B2 (en) * 2011-12-14 2014-04-08 International Business Machines Corporation Application initiated negotiations for resources meeting a performance parameter in a virtualized computing environment
TW201407476A (zh) * 2012-08-06 2014-02-16 Hon Hai Prec Ind Co Ltd 虛擬機資源配置系統及方法
US9858095B2 (en) * 2012-09-17 2018-01-02 International Business Machines Corporation Dynamic virtual machine resizing in a cloud computing infrastructure
WO2014118792A1 (en) * 2013-01-31 2014-08-07 Hewlett-Packard Development Company, L.P. Physical resource allocation
US9251115B2 (en) * 2013-03-07 2016-02-02 Citrix Systems, Inc. Dynamic configuration in cloud computing environments
US8904389B2 (en) * 2013-04-30 2014-12-02 Splunk Inc. Determining performance states of components in a virtual machine environment based on performance states of related subcomponents
US9348654B2 (en) * 2013-11-19 2016-05-24 International Business Machines Corporation Management of virtual machine migration in an operating environment
US10142192B2 (en) * 2014-04-09 2018-11-27 International Business Machines Corporation Management of virtual machine resources in computing environments
US9280392B1 (en) * 2014-10-02 2016-03-08 International Business Machines Corporation Resource substitution and reallocation in a virtual computing environment

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109254843A (zh) * 2017-07-14 2019-01-22 华为技术有限公司 分配资源的方法和装置

Also Published As

Publication number Publication date
JP5976230B2 (ja) 2016-08-23
US20160004551A1 (en) 2016-01-07
WO2015049789A1 (ja) 2015-04-09
US9495195B2 (en) 2016-11-15

Similar Documents

Publication Publication Date Title
JP5976230B2 (ja) リソース管理システムおよびリソース管理方法
JP5478107B2 (ja) 仮想ストレージ装置を管理する管理サーバ装置及び仮想ストレージ装置の管理方法
CN106168884B (zh) 访问对象存储系统的计算机系统
US8909767B2 (en) Cloud federation in a cloud computing environment
US8006056B2 (en) Storage system including capability to move a virtual storage device group without moving data
US8656018B1 (en) System and method for automated allocation of hosting resources controlled by different hypervisors
CN110955487A (zh) Hci环境下的vm/容器和卷配置决定方法及存储系统
JP5174747B2 (ja) 計算機システムおよび管理装置
US8260986B2 (en) Methods and apparatus for managing virtual ports and logical units on storage systems
US8051262B2 (en) Storage system storing golden image of a server or a physical/virtual machine execution environment
JP6121527B2 (ja) 計算機システム及びリソース管理方法
US20130110966A1 (en) Computer system and management system therefor
US10248460B2 (en) Storage management computer
JP2005228278A (ja) 記憶領域の管理方法、管理装置及び管理プログラム
US9535629B1 (en) Storage provisioning in a data storage environment
JP2010257274A (ja) 仮想化環境におけるストレージ管理システム及びストレージ管理方法
JP6055924B2 (ja) ストレージシステム及びストレージシステムの制御方法
US9940073B1 (en) Method and apparatus for automated selection of a storage group for storage tiering
US10019182B2 (en) Management system and management method of computer system
KR101563292B1 (ko) 가상 세션 관리자를 이용한 클라우드 가상화 시스템 및 방법
US8055867B2 (en) Methods, apparatuses, and computer program products for protecting pre-staged provisioned data in a storage system
US11900160B2 (en) Methods for managing storage quota assignment in a distributed system and devices thereof
JP6244496B2 (ja) サーバストレージシステムの管理システム及び管理方法
US20230185632A1 (en) Management system, data rebalancing management method, and recording medium
WO2014148142A1 (ja) クラウド向け計算機システム

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160606

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160719

R150 Certificate of patent or registration of utility model

Ref document number: 5976230

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150