JP2011186915A - 仮想計算機システム及び仮想計算機の制御方法 - Google Patents

仮想計算機システム及び仮想計算機の制御方法 Download PDF

Info

Publication number
JP2011186915A
JP2011186915A JP2010053279A JP2010053279A JP2011186915A JP 2011186915 A JP2011186915 A JP 2011186915A JP 2010053279 A JP2010053279 A JP 2010053279A JP 2010053279 A JP2010053279 A JP 2010053279A JP 2011186915 A JP2011186915 A JP 2011186915A
Authority
JP
Japan
Prior art keywords
file
unit
patch
storage unit
virtual
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.)
Pending
Application number
JP2010053279A
Other languages
English (en)
Other versions
JP2011186915A5 (ja
Inventor
Hideyuki Nitta
英之 新田
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
Priority to JP2010053279A priority Critical patent/JP2011186915A/ja
Priority to PCT/JP2010/064229 priority patent/WO2011111249A1/ja
Priority to US13/384,688 priority patent/US20120124581A1/en
Publication of JP2011186915A publication Critical patent/JP2011186915A/ja
Publication of JP2011186915A5 publication Critical patent/JP2011186915A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • G06F11/3409Recording 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 for performance assessment
    • G06F11/3433Recording 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 for performance assessment for load management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/81Threshold
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/815Virtual

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】複数の計算機に修正ファイルを一括して適用する。
【解決手段】物理計算機のリソースを分割して仮想計算機を提供する仮想化部と、物理計算機からアクセス可能なストレージ装置は仮想計算機を起動させるファイルを格納した第1記憶部と、ファイルに適用する修正ファイルを格納した第2記憶部と、を有し、仮想化部は、第1記憶部のファイルと第2記憶部の修正ファイルとの対応関係を設定したファイルリンク情報を有し、仮想計算機からストレージ装置のファイルに対するアクセスを制御するファイル制御部は、仮想計算機から第1記憶部のファイルに対するアクセスを受け付けて、ファイルリンク情報を参照してファイルに適用する修正ファイルが存在しない場合には第1記憶部から要求されたファイルを仮想計算機に提供し、当該ファイルに対応する修正ファイルが存在する場合には、第2記憶部の修正ファイルを仮想計算機に提供する。
【選択図】図4

Description

本発明は、複数のOSを稼動させる仮想計算機システムにおいて、各OS等の保守を行う技術に関する。
近年、半導体製造技術の向上によりひとつのプロセッサに複数のプロセッサコアを搭載するマルチコア化が浸透し、プロセッサの処理性能が向上している。プロセッサの処理性能向上に伴い、1つの計算機上に複数の仮想的な計算機を稼動させる仮想計算機技術を採用することで、処理能力が向上したプロセッサを効率的に利用することが可能になった。
仮想化技術では、計算機上に仮想化ソフトウェア、いわゆる、仮想マシンモニタ(VMM:Virtual Machine Monitor)やハイパーバイザを動作させ、仮想化ソフトウェア上に仮想計算機を生成する。個々の仮想計算機上では、それぞれ独立したOSをゲストOSとして動作させることができる。
ゲストとなるOSでは、セキュリティホールやバグなどを解消するための修正ファイル(または修正プログラムあるいはパッチファイル)が頻繁に配布されている。多数の計算機を運用するデータセンターなどでは、複数種のOSに加えて、各種類毎のバージョン(例えば、2000,2003,2008等)を稼動させている場合が多く、また、各バージョン内でも複数のアップデートの種類(例えば、SP1,SP2やカーネル2.6.1.4や2.6.1.6等)が複数存在し、管理者はOSの種類、バージョン、アップデートの種類毎に各OSの修正ファイルを管理し、各ゲストOSに適用することが要求される。上記修正ファイルの管理と適用は、計算機の数が多くなるにつれて、管理者などの労力が過大になる。
このため、上記修正ファイルを各計算機へ自動的に適用する技術として、特許文献1、2の技術が知られている。特許文献1の技術では、クラスタを構成する計算機のうちパッチファイルを適用する計算機をクラスタから切り離し、切り離した後にパッチファイルを適用する。パッチファイルの適用は、各計算機に配備したエージェント等が行う。また、特許文献2の技術は、複数の装置に対して並列してアップデートファイルを配信してアップデートファイルを各装置で適用する。
特開2003−015894号公報 特開2009−146403号公報
近年、セキュリティ対策が重要度を増す中、修正ファイルの配布及び適用は上記従来例のように、管理計算機が修正ファイルを対象の計算機に配布し、各計算機で修正ファイルが適用する手法が一般的である。
修正ファイルを適用する際には、計算機の再起動が必要となる場合があり、多数の計算機を運用するデータセンタなどでは、各計算機が提供するサービスを停止させずに修正ファイルを適用する計画を設定しなければならず、ゼロデイアタックなど緊急度の高いセキュリティパッチなどの修正ファイルを至急適用する必要がある場合でも、一括して修正ファイルを適用することができない、という問題があった。
すなわち、一括して複数の計算機に修正ファイルを適用した場合、各計算機では修正ファイルを適用するプログラムを実行するために処理負荷が高くなり計算機のリソースが不足して修正ファイルの適用完了まで時間がかかる可能性がある。このため、計算機が提供するサービスの処理が遅延する恐れがあった。仮想計算機を利用する場合では、複数の仮想計算機に一括して修正ファイルを適用するプログラムを実行させると、物理計算機の負荷が過大になる可能性が極めて高い、という問題があった。
また、上記従来技術では、修正ファイルを適用する際に計算機を起動させておく必要があり、コールドスタンバイなどで停止している計算機には修正ファイルを適用することができない。このため、計算機を起動したときにゼロデイアタック等の脆弱性を有した状態で稼動せざるを得ない、という問題もあった。
そこで、本発明は上記問題点に鑑みてなされたもので、複数の計算機に修正ファイルを一括して適用することを目的とする。さらに、仮想計算機を用いた環境において、仮想計算機の起動する際に、修正ファイルを利用可能とすることを目的とする。
本発明は、プロセッサとメモリを備えた物理計算機と、前記物理計算機のリソースを分割して仮想計算機を提供する仮想化部と、前記物理計算機からアクセス可能なストレージ装置と、を備えた仮想計算機システムであって、前記ストレージ装置は、前記仮想計算機を起動させる複数のファイルを格納した第1の記憶部と、前記ファイルに適用する修正ファイルを格納した第2の記憶部と、を含み、前記仮想化部は、前記第1の記憶部のファイルと、当該ファイルに適用する前記第2の記憶部の修正ファイルとの対応関係を予め設定したファイルリンク情報と、前記仮想計算機から前記ストレージ装置の前記ファイルに対するアクセスを制御するファイル制御部と、を含み、前記ファイル制御部は、前記仮想計算機から前記第1の記憶部のファイルに対するアクセスを受け付けて、前記ファイルリンク情報を参照して当該ファイルに適用する修正ファイルの有無を判定し、前記ファイルに対応する修正ファイルが存在しない場合には、前記第1の記憶部から前記要求されたファイルを前記仮想計算機に提供し、前記ファイルに対応する修正ファイルが存在する場合には、前記第2の記憶部の修正ファイルを前記要求されたファイルとして前記仮想計算機に提供する。
したがって、本発明により、各仮想計算機はファイルリンク情報に従って、共通の修正ファイル(パッチファイル)を第2の記憶部から読み込むことで、修正ファイルを適用した状態となり、仮想計算機がアクセスする第1の記憶部のファイルと第2の記憶部の修正ファイルのリンクを変更するだけで、複数の仮想計算機に対して一括して修正ファイルを適用することが可能となる。また、停止している計算機を起動させる際にも、仮想計算機がアクセスする第1の記憶部のファイルのファイルリンク情報を第2の記憶部の修正ファイルに設定しておくことで、起動する時に仮想計算機に修正ファイルを利用させ、仮想計算機に修正ファイルを適用した状態にすることができる。
本発明の実施形態を示し、仮想計算機システムの構成の一例を示すブロック図である。 本発明の実施形態を示し、管理サーバの構成の一例を示すブロック図である。 本発明の実施形態を示し、物理サーバの構成の一例を示すブロック図である。 本発明の実施形態を示し、仮想イメージ制御部が行うパッチファイルの提供理を示す概念図である。 本発明の実施形態を示し、仮想イメージ制御部が行うパッチファイルの配布処理を示す概念図である。 本発明の実施形態を示し、パッチ配布処理の開始からの時間経過とパッチディスクの負荷の関係を示すグラフである。 本発明の実施形態を示し、仮想化機構管理部が管理する物理サーバ管理テーブルである。 本発明の実施形態を示し、仮想化機構管理部が管理する仮想サーバ管理テーブルである。 本発明の実施形態を示し、パッチ管理部が管理するパッチ管理テーブルの一例を示す。 本発明の実施形態を示し、パッチ管理部が管理する仮想ディスク管理テーブルの一例を示す。 本発明の実施形態を示し、仮想化機構の仮想イメージ制御部が管理するファイルリンクテーブルの一例を示す。 本発明の実施形態を示し、管理サーバのパッチ管理部で行われるパッチファイルの登録処理の一例を示すフローチャートである。 本発明の実施形態を示し、管理サーバの仮想化機構管理部で行われるパッチファイルの登録処理の一例を示すフローチャートである。 本発明の実施形態を示し、仮想化機構のファイル情報収集部で行われる処理の一例を示すフローチャートである。 本発明の実施形態を示し、仮想イメージ制御部のファイルリマッピング部で行われる処理の一例を示すフローチャートである。 本発明の実施形態を示し、仮想イメージ制御部のファイル制御部で行われる処理の一例を示すフローチャートである。 本発明の実施形態を示し、仮想イメージ制御部のパッチ配布部で行われるパッチ配布処理の一例を示すフローチャートである。
以下、本発明の一実施形態を添付図面に基づいて説明する。
図1は、本発明の実施形態を示し、仮想計算機システムの構成の一例を示すブロック図である。
仮想計算機システムは、仮想化機構(仮想化部)110上で複数の仮想サーバ(仮想計算機)109を実行する複数の物理サーバ(物理計算機)112と、複数の物理サーバ112とストレージ装置113を管理する管理サーバ101と、管理サーバ101と複数の物理サーバ112を接続するネットワーク108と、管理サーバ101と物理サーバ112に接続されて情報を格納するストレージ装置113を主体にして構成される。
物理サーバ112で稼動する仮想化機構110は、例えば、ハイパーバイザやVMM(Virtual Machine Monitor)などで構成されて物理サーバ112の計算機リソースを分割し、仮想サーバ109に割り当てる。複数の物理サーバ112は同一の構成であり、各物理サーバ112は、符号#1〜#3で識別する。また、各仮想サーバ109も同様の構成であり符号#1〜#6で識別する。図示の例では、物理サーバ#1で仮想サーバ#1と仮想サーバ#2が実行されている状態を示す。
ストレージ装置113は、複数のディスク装置(物理ディスク)114、115を備え、各ディスク装置114には仮想ディスク120、125が設定される。ディスク装置114に設定された仮想ディスク120には仮想サーバ109のブートイメージが格納される。ブートイメージは、仮想サーバ109で実行されるOSやミドルウェア及びアプリケーション等のシステムファイルを含むことができる。なお、ひとつの仮想サーバ109には少なくとも一つの仮想ディスク120が割り当てられる。
また、ディスク装置115に設定された仮想ディスク125には、仮想サーバ109で実行されるOS等のパッチファイル(修正ファイル)が格納されて、パッチディスクとして機能する。図示の例では、仮想ディスク#6、#7がパッチディスクである。以下の説明では、仮想ディスク125をパッチディスク125として説明する。パッチディスク125には、各仮想サーバ109で実行されるOS等の共通のパッチファイルを格納する。後述するように、仮想化機構110の仮想イメージ制御部111の制御により各仮想サーバ109は、必要に応じてブートイメージに代わってパッチディスクからファイルを読み込むことで、パッチファイルを適用した状態で稼動する。このため、パッチディスク125に格納されたパッチファイルは、複数の仮想サーバ109が読み込むため共通のパッチファイルとして機能する。なお、パッチファイルは、OSの種類やバージョンまたはアップデートのレベルなどに応じた修正ファイルが格納され、後述のパッチ管理部103によってパッチファイルの利用が管理される。
管理サーバ101は、物理サーバ112及び仮想サーバ109と仮想ディスク120、125を管理する。このため、管理サーバ101は、各物理サーバ112の仮想化機構110を管理する仮想化機構管理部102と、各物理サーバ112のリソースや稼動状態を管理する物理サーバ管理テーブル104と、各仮想サーバ109に割り当てるリソースと稼動状態を管理する仮想サーバ管理テーブル15と、仮想サーバ109にパッチファイルを適用するパッチ管理部103と、パッチディスク125に格納したパッチファイルを管理するパッチ管理テーブル106と、仮想ディスク120毎にパッチファイルの適用状態を管理する仮想ディスク管理テーブル107を含んで構成される。
図2は、本発明の実施形態を示し、管理サーバ101の構成の一例を示すブロック図である。管理サーバ101は、演算処理を行うプロセッサ202と、データやプログラムを格納するメモリ201と、ネットワーク108にアクセスするネットワークインターフェース203と、ストレージ装置113にアクセスするディスクインターフェース204を備える。
メモリ201には、仮想化機構管理部102とパッチ管理部103がプログラムとしてロードされてプロセッサ202に実行されており、上述の各テーブル104〜107が仮想化機構管理部102とパッチ管理部103によってメモリ201に格納される。
図3は、本発明の実施形態を示し、物理サーバ112の構成の一例を示すブロック図である。物理サーバ112のハードウェア構成は、管理サーバ101と同様であり、プロセッサ202と、メモリ201と、ネットワークインターフェース203と、ディスクインターフェース204を備え、メモリ201に格納するプログラム及びデータが管理サーバ101とは異なる。
物理サーバ112のメモリ201には、物理サーバ112の計算機リソースを複数の仮想サーバ109に割り当てる仮想化機構110がロードされて、プロセッサ202により実行される。仮想化機構110上では複数の仮想サーバ109が実行され、各仮想サーバ109では、OS301とアプリケーション(図示省略)が実行される。仮想化機構110は、管理サーバ101の指令によって、物理サーバ112の計算機リソースを分割して複数の仮想サーバ109に割り当てる。また、仮想化機構110は、管理サーバ101からの指令によって仮想サーバ109に接続するストレージ装置113内の仮想ディスク120を割り当て、仮想サーバ109は割り当てられた仮想ディスク120からOS301を含むブートイメージを読み込んで起動する。なお、仮想化機構110は、
仮想化機構110は、仮想サーバ109にパッチディスク125のパッチファイルを適用するか否かを判定し、必要に応じて仮想サーバ109にパッチファイルを読ませる仮想イメージ制御部111を備える。仮想イメージ制御部111は、当該物理サーバ112上の仮想サーバ109毎に適用するパッチファイルの格納位置(所在)と、パッチファイルを適用するブートイメージのファイル(システムファイル)を予め設定したファイルリンクテーブル306と、仮想サーバ109毎の仮想ディスク120へのアクセスがあったときに、ファイルリンクテーブル306を参照してパッチファイルの適用の要否を判定し、適用する必要がある場合にはパッチディスク125のパッチファイルを仮想サーバ109に読ませるファイル制御部302と、仮想サーバ109毎にパッチファイルを適用する仮想ディスクとファイルの所在を取得するファイル情報収集部303と、所定の条件を満足したときにパッチファイルを仮想ディスク120に書き込むパッチ配布部305と、パッチファイルを適用するファイルとパッチファイルの関係をファイルリンクテーブル306に書き込むファイルリマッピング部304と、を含む。
<処理の概要>
次に、仮想化機構110に含まれる仮想イメージ制御部111の概要について、図4,図5を参照しながら説明する。図4は、仮想イメージ制御部111が行うパッチファイルを仮想サーバに提供する処理を示す概念図である。図5は、仮想イメージ制御部111が行うパッチファイルの配布処理を示す概念図である。
図4において、ストレージ装置113内の仮想ディスク125には、管理サーバ101が予め複数の仮想サーバ109で共用するパッチファイル200を格納し、また、各仮想サーバ109に割り当てる仮想ディスク120に所定のブートイメージを格納しておく。
図4、図5の例では、管理サーバ101の仮想化機構管理部102からの指令によって図1に示した物理サーバ#1の仮想化機構110が、仮想サーバ#1、#2を割り当て、仮想サーバ#1に仮想ディスク#1を割り当てた例を示す。なお、仮想化機構110が物理サーバ#1に計算機リソースを割り当てる技術については、公知乃至周知の技術を適用すればよいので、ここでは詳述しない。
また、仮想化機構管理部102は、パッチファイル200を適用すべき仮想ディスク120の情報を仮想ディスク管理テーブル107に格納し、この仮想ディスク管理テーブル107に仮想サーバ#1に割り当てた仮想ディスク#1のパッチファイル200の適用状況を格納しておく。
物理サーバ#1上の仮想イメージ制御部111のファイル情報収集部303は、後述するように管理サーバ101からパッチファイル200を適用するパッチ対象ファイル210の格納位置(ファイルパス、仮想ディスク識別子)を取得してファイルリンクテーブル306にパッチ用i-node情報として格納し、仮想サーバ#1に割り当てた仮想ディスク#1でパッチファイル200を適用するファイルの位置を管理サーバ101の仮想ディスク管理テーブル107から取得してi-node情報として格納する(S1)。なお、以下では、仮想ディスク#1でパッチファイル200を適用する必要があるファイルをパッチ対象ファイル210とする。また、以下の説明では、仮想サーバ#1のブートイメージ及びパッチ対象ファイル210を格納した仮想ディスク120をオリジナルディスクとし、パッチファイル200を格納した仮想ディスク125をパッチディスクとする。
管理サーバ101が物理サーバ#1の仮想化機構110に仮想サーバ#1を割り当て、仮想サーバ#1に仮想ディスク#1を割り当てると、仮想サーバ#1が起動する以前に、管理サーバ101の仮想ディスク管理テーブル107と、物理サーバ#1の仮想化機構110のファイルリンクテーブル306が更新される。
仮想サーバ#1を起動すると、仮想イメージ制御部111のファイル制御部302が機能する。仮想サーバ#1がオリジナルディスク(仮想ディスク#1)にアクセスすると、ファイル制御部302はファイルリンクテーブル306を参照して、仮想サーバ#1のアクセス要求がオリジナルディスクのパッチ対象ファイル210であるか否かを判定する。
ファイル制御部302は、アクセス要求がパッチ対象ファイル210でなければ、通常の仮想化機構110の処理と同様に、要求された仮想ディスク#1のファイルへのアクセスを許可する(S2)。
一方、ファイル制御部306は、アクセス要求がパッチ対象ファイル210であれば、本発明の仮想化機構110の処理として、要求された仮想ディスク#1へのアクセスに代わって、パッチディスクに格納されたファイルへのアクセスを許可する(S3)。本実施形態では、ファイル制御部306が仮想ディスク#1へのアクセス要求を実行して仮想サーバ#1へ応答する例を示す。しかしながら、ファイル制御部306が、仮想サーバ#1がアクセスする仮想ディスクのパスを切り替えるようにしても良い。すなわち、ファイル制御部306は、アクセス要求がパッチ対象ファイル210でなければ、通常の仮想化機構110の処理と同様に、要求された仮想ディスク#1のファイルへのアクセスを許可して、仮想サーバ#1に仮想ディスク#1のファイルをアクセスさせる。一方、ファイル制御部306は、アクセス要求がパッチ対象ファイル210であれば、要求された仮想ディスク#1へのアクセスパスをパッチディスクに切り替えて、仮想サーバ#1にパッチファイル200をアクセスさせるようにしても良い。
したがって、仮想サーバ#1は、仮想ディスク#1にアクセスする際に、パッチ対象ファイル210へアクセスした場合、パッチディスクからのパッチファイル200へアクセスすることになる。このとき、仮想イメージ制御部111は、仮想サーバ#1のパッチ対象ファイル210へのアクセスに対して、オリジナルディスクのパッチ対象ファイル210を隠蔽して、パッチファイル200を提供することになる。
仮想イメージ制御部111は、上記の処理によって、オリジナルディスクにパッチファイル200を書き込むことなく、仮想サーバ#1をパッチファイル200の適用後と同等の環境で稼動させることができる。
したがって、本発明の仮想イメージ制御部111は、セキュリティホールに対する緊急の修正がパッチファイル200として提供されると、まず、管理者などが管理サーバ101からパッチディスクへパッチファイル200を格納する。次に、仮想化機構管理部102は、仮想サーバ管理テーブル105のパッチファイルの適用状態からパッチファイル200を適用する仮想サーバを決定し、パッチファイル200を適用すべきパッチ対象ファイル210を格納したオリジナルディスクを、後述するように仮想イメージ制御部111のファイル情報収集部303に問い合わせ、パッチディスクのパッチファイル200の情報と、ファイル情報収集部303が取得したオリジナルディスクの情報からパッチファイル200を適用する仮想ディスク120(オリジナルディスク)とパッチ対象ファイル210を特定し、仮想イメージ制御部111のファイルリマッピング部304にファイルリンクテーブル306を更新するよう指令しておく。これにより、仮想イメージ制御部111のファイルリマッピング部304がファイルリンクテーブル306を更新し、パッチファイル200を適用するパッチ対象ファイル210の関係が各物理サーバ112の仮想化機構110に定義される。
次に、仮想ディスク管理テーブル107でパッチファイル200の適用が設定されたオリジナルディスクのパッチ対象ファイル210に対して仮想サーバがアクセスすると、仮想イメージ制御部111はパッチ対象ファイル210に代わって修正されたファイルとしてのパッチファイル200を提供する。これにより、パッチファイル200をパッチディスクに格納してから仮想イメージ制御部111がファイルリンクテーブル306を更新するだけで、仮想サーバは、パッチファイル200を提供した後の状態で稼動することが可能となる。そして、オリジナルディスクにパッチ対象ファイル210をパッチファイル200に置き換える配布処理を行うことなく、仮想サーバ上のOS301やアプリケーションにパッチファイル200を即座に提供することが可能となる。
上記図4では、ひとつの仮想サーバ#1に対してパッチファイル200を提供する例を示したが、ひとつのパッチファイル200は管理サーバ101が管理する複数の仮想化機構110上の複数の仮想サーバ109で共用することができる。したがって、パッチディスクのパッチファイル200を仮想サーバ109間の共通のパッチファイルとして扱うことができる。例えば、図4の仮想サーバ#1〜#3のパッチ対象ファイル210としてパッチディスクのパッチファイル200をファイルリンクテーブル306に定義しておくだけで、仮想サーバ#1〜#3がオリジナルディスクのパッチ対象ファイル210へそれぞれアクセスすると、仮想イメージ制御部111は、各オリジナルディスクのパッチ対象ファイル210に代わってパッチディスクのパッチファイル200を応答する。このように、オリジナルディスクのパッチ対象ファイル210を更新する以前に、複数の仮想サーバに対して一括してパッチファイル200を適用することができる。
さらに、本発明では、オリジナルディスクのパッチ対象ファイル210をパッチファイル200で更新する以前に、仮想サーバ109にパッチファイル200を実行させることができるので、停止している仮想サーバにもパッチファイル200を利用させることができる。つまり、仮想ディスク管理テーブル107とファイルリンクテーブル306に、パッチ対象ファイル210に代わるパッチファイル200の位置情報(i-node情報)を登録しておけば、仮想イメージ制御部111は、仮想サーバの起動時からパッチ対象ファイル210を隠蔽してパッチファイル200を提供することができるので、前記従来例に比して、OS301やアプリケーションのゼロデイアタックなどに対抗してセキュリティを確保することが可能となる。
上述のように、仮想イメージ制御部111がオリジナルディスクのパッチ対象ファイル210を隠蔽して、パッチファイル200の提供を代理していると、ひとつのOSやアプリケーションに対するパッチファイル200が蓄積されてファイル制御部302の処理が増大する。このため、仮想イメージ制御部111は、所定の条件が成立したときに、図5で示すように、オリジナルディスクのパッチ対象ファイル210をパッチディスクのパッチファイル200に置き換えるパッチ配布処理を実行する。
図5は、仮想イメージ制御部111のパッチ配布部305が行うパッチ配布処理の概要を示す。
パッチ配布部305は、パッチファイル200を適用していないパッチ対象ファイル210がオリジナルディスクに存在する場合、物理サーバ#1のリソースの負荷を監視して、物理サーバ#1の負荷が閾値未満になると、オリジナルディスクのパッチ対象ファイル210をパッチファイル200で更新し、パッチの適用を実施する。なお、物理サーバ#1のリソースの負荷としてはプロセッサ202(物理プロセッサ)の使用率や、ストレージ装置113やネットワーク120の使用率を用いることができる。
この処理は、ひとつの物理サーバ#1で複数の仮想サーバが稼働する場合、物理サーバ#1の負荷が低いときにパッチ対象ファイル210をオリジナルディスクに配布することで、複数の仮想サーバが提供する複数のサービスが遅延するのを防ぐことができる。また、本発明では、パッチ対象ファイル210をオリジナルディスクに書き込むことなくパッチファイル200を仮想サーバ#1に適用できるので、オリジナルディスクにパッチファイル200を書き込む処理は、即座に行う必要がない。そこで、パッチ配布部305は、複数の仮想サーバ109に対してパッチファイル200を書き込む時期を、物理サーバ#1のリソースに対する負荷が予め定めた閾値未満のときにパッチファイル200の配布と適用を開始する。
また、物理サーバ#1に多数の仮想サーバ109が稼動している場合に並列的にパッチ配布を行ったときのパッチディスクの負荷は、図6に示すようになる。
図6は、パッチ配布処理の開始からの時間経過とパッチディスクの負荷の関係を示すグラフである。パッチディスクの負荷は、例えば、単位時間当たりのデータ転送量(MB/S)等で表すことができる。複数の仮想ディスク120へのパッチファイル200の配布開始当初は、パッチディスクの負荷が大きくなるが、仮想サーバ109(仮想ディスク120)へのパッチファイル200の配布が進行するにつれて、徐々にパッチディスクの負荷は低減していくことになる。
<処理の詳細>
次に、本発明の仮想計算機システムで行われる処理の詳細について以下に説明する。
図7は、仮想化機構管理部102が管理する物理サーバ管理テーブル104である。物理サーバ管理テーブル104は、物理サーバ112の識別子を格納する物理サーバ識別子701と、プロセッサ202の性能に関する情報を格納するCPU702と、メモリ201の容量を格納するメモリ703と、物理サーバ112が備えるI/Oデバイスに付与された識別子を格納するデバイス704と、物理サーバ112に割り当てられたストレージ装置113のディスク装置114の識別子及び容量を格納する接続ディスク705からひとつのレコードが構成される。
物理サーバ識別子701には、仮想化機構管理部102が付与した識別子(例えば、#1〜#3)が格納される。CPU702にはプロセッサ202の動作周波数とコア数が格納され、メモリ703にはメモリ201の容量が格納される。デバイス704には、物理サーバ112が備える(あるいは、接続された)全てのI/Oデバイスの識別子が格納され、I/Oデバイスの種類がネットワークインターフェイスの場合はMACアドレスが格納され、HBA(Host Bus Adaptor)の場合にはWWNが格納される。接続ディスク705には、ストレージ装置113のディスク装置114のうち、物理サーバ112がアクセス可能なディスク装置114の識別子と容量が格納される。
図8は、仮想化機構管理部102が管理する仮想サーバ管理テーブル105である。仮想サーバ管理テーブル105は、物理サーバ112上で稼動する仮想化機構110の識別子を格納する仮想化機構識別子801と、仮想化機構110が実行される物理サーバ112の識別子を格納する物理サーバ識別子802と、仮想化機構110が提供する仮想サーバ109の識別子を格納する仮想サーバ識別子803と、仮想サーバ109に割り当てた物理サーバ112及びストレージ装置113のリソースを格納する割り当てリソース804と、仮想サーバ109が実行するOSの種類やバージョンを格納するOS種類805と、仮想サーバ109が実行するOSに適用したパッチの識別子を格納する適用済みパッチ806と、仮想サーバ109の稼動状態を格納するステータス807からひとつのレコードが構成される。
仮想化機構識別子801には仮想化機構管理部102が付与した仮想化機構110の識別子(例えば、#1〜#3)が格納される。仮想サーバ識別子803には、仮想化機構管理部102が付与した仮想サーバ109の識別子(例えば、#1〜#6)が格納される。図8の例では、図1に示した物理サーバ#2の仮想サーバ#4が割り当てられていない状態を示す。
割り当てリソース804には、仮想サーバ109に割り当てられたプロセッサの性能情報(例えば、動作周波数×コア数)と、メモリ容量と、I/Oデバイスの識別子と、仮想ディスクの識別子が格納される。図8の例では、物理サーバ#1では、仮想サーバ#1に仮想ディスク#1が割り当てられ、仮想サーバ#2に仮想ディスク#2が割り当てられた例を示している。
OS種類805について、図8の例では、仮想サーバ#1、#2、#5がOS_Aを実行し、仮想サーバ#3、#6がOS_Bを実行する例を示す。適用済みパッチ806には、仮想サーバ109で実行するOS301に適用済みのパッチの識別子が格納される。図8の例では、OS_Aには、パッチ1、3が存在し、OS_Bにはパッチ2が存在し、仮想サーバ#1のOS_Aにはパッチ1のみが適用されてパッチ3が未適用であることを示し、仮想サーバ#6のOS_Bはパッチが未適用であることを示す。なお、各パッチ1〜3の識別子には、後述するように、少なくとも一つのパッチファイル200が関連づけられている。
ステータス807には、仮想サーバ109が稼動中か否かの情報が格納されており、図8の例では仮想サーバ#1、#2、#3、#6が稼動中であることを示す。
図9は、パッチ管理部103が管理するパッチ管理テーブル106の一例を示す。パッチ管理テーブル106は、図8の仮想サーバ管理テーブル105の適用済みパッチ806に使用するパッチ識別子901と、当該パッチ識別子が対象とするOSの種類を格納する対象OS902と、パッチファイル200を適用するファイル名を格納する対象ファイル名903と、パッチファイル200を格納した仮想ディスクの識別子を格納するディスクボリューム904と、パッチファイル200の所在(ファイルパス、i-node情報など)を格納するパッチファイル情報905からひとつのレコードが構成される。
図9の例では、パッチ3がOS_Aを対象としたパッチファイル群で、仮想ディスク#6に格納され、パッチファイル200を適用するパッチ対象ファイル210が「3_file_00」〜「3_file_06」であり、これらのパッチファイルの所在が「13_fileinfo_00」〜「13_fileinfo_06」で示されることを示している。パッチ管理テーブル106は、管理サーバ101の管理者などがパッチ管理部103を介して予め作成することができる。
図10は、パッチ管理部103が管理する仮想ディスク管理テーブル107の一例を示す。仮想ディスク管理テーブル107は、仮想サーバ109のブートイメージを格納した仮想ディスク120の識別子(例えば、#1〜#5)を格納する仮想ディスク識別子1001と、当該仮想ディスクを格納するディスク装置114の識別子を格納するディスクボリューム1002と、当該仮想ディスクに対して適用するパッチ識別子を格納するリンクパッチ1003と、当該パッチ識別子に対応するパッチファイルのパッチファイル情報(図9の905に対応)を格納するファイル情報1004と、当該ファイル情報に示されるパッチファイルが仮想ディスクに適用されたか否かを示すステータス1005からひとつのレコードが構成される。
図10の例では、仮想ディスク#2〜#4には、適用すべきパッチが無いことを示す「NULL」が格納され、仮想ディスク#1にはパッチ3を適用することが格納され、仮想ディスク#5にはパッチ2を適用することが格納される。さらにステータス1005では、パッチ3の「13_fileinfo_00」、「13_fileinfo_01」が仮想ディスク#1への適用が完了したことを示し、「13_fileinfo_02」が仮想ディスク#1に適用中であることを示し、「13_fileinfo_03」〜「13_fileinfo_06」は仮想ディスク#1への適用が未了であることを示す。
図11は、各仮想化機構110の仮想イメージ制御部111が管理するファイルリンクテーブル306の一例を示す。ファイルリンクテーブル306は、ブートイメージを格納した仮想ディスク120を利用する仮想サーバ109と、仮想ディスク120内でパッチを適用する対象のファイルと、パッチファイルの関係を管理するテーブルである。
ファイルリンクテーブル306は、パッチファイルを適用する仮想サーバ109の識別子を格納する仮想マシン識別子1101と、適用するパッチの識別子を格納するパッチ識別子1102と、パッチファイルを適用する仮想ディスク120上のファイル名を格納する対象ファイル名1103と、パッチファイルを適用する仮想ディスク120の識別子を格納するオリジナルディスクボリューム1104と、仮想ディスク120上のパッチ対象ファイル210の所在を格納するオリジナルファイル情報1105と、適用するパッチファイルを格納した仮想ディスク125の識別子を格納するパッチディスクボリューム1106と、パッチファイルの所在を格納するパッチファイル情報1107からひとつのレコードが構成される。
図11の例では、仮想サーバ#1に割り当てられた仮想ディスク#1にパッチ3の7つのパッチファイルを適用することを示し、適用するパッチファイルが仮想ディスク#6に格納されていることを示す。なお、仮想サーバ#2の各項目には「NULL」が格納され、適用するパッチファイルが存在しないことを示している。
図12は、管理サーバ101のパッチ管理部103で行われるパッチファイルの登録処理の一例を示すフローチャートである。この処理は、管理サーバ101の管理者などの指令に応じて実行する処理で、管理者などがパッチファイル200をパッチディスク(仮想ディスク125)へ登録するときに起動される。
ステップ1401では、管理サーバ101のパッチ管理部103が、管理者の指令に含まれるパッチファイル200の所在と格納先のパッチディスク(仮想ディスク125)及び格納位置(パッチファイル情報905)を受け付けて、指定されたパッチファイルを指定された仮想ディスク125の格納位置へ書き込む。なお、管理者は、パッチファイル200の対象OS902と、パッチ識別子901、パッチの対象ファイル名903と、パッチファイルの格納先となる仮想ディスク125(ディスクボリューム904)及び格納位置を管理サーバ101に指令する。
ステップ1402では、パッチ管理部103が、仮想ディスク125の上記格納位置へ書き込んだパッチファイル200の情報をパッチ管理テーブル106に登録する。この処理により、パッチ管理テーブル106には新たなレコードが生成され、パッチファイル200が登録される。
ステップ1403では、パッチ管理部103は、パッチ管理テーブル106に追加した新たなパッチ識別子901を仮想化機構管理部102に通知する。
以上の処理により、新たなパッチファイル200が仮想ディスク125に格納され、パッチ管理テーブル106に新たなレコードが追加される。なお、上記ステップ1403の通知処理は、後述する図13のステップ1301で、仮想化機構管理部102からの問い合わせがあったときに、新たなパッチ識別子及びパッチファイル200を通知するようにしても良い。
次に、図13は、仮想化機構管理部102で行われるパッチファイルの登録処理の一例を示すフローチャートである。この処理は、パッチファイルの登録時に管理者などの指令によって起動する。あるいは、上記図12の処理が終わった後に、図13の処理を実行するようにしてもよい。
ステップ1301では、仮想化機構管理部102がパッチ管理部103からパッチファイル200の情報(パッチ識別子901、対象OS902、対象ファイル名903等)を取得する。パッチ管理部103は、仮想化機構管理部102からの問い合わせに対して、パッチ管理テーブル106に登録されているパッチファイル200の情報を通知する。パッチ管理部103は、パッチ管理テーブル106へ新たに加えられたパッチファイル200のみを通知しても良いし、パッチ管理テーブル106の全てのパッチ管理テーブル106を通知しても良い。なお、パッチ管理テーブル106には、新たに登録したパッチファイル200を仮想化機構管理部102へ通知したか否かを示すフラグ(図示省略)を設けて、通知すべきパッチファイル200を識別することができる。
ステップ1302以降では、上記ステップ1301で取得したパッチファイル200の数と仮想サーバ管理テーブル105の仮想サーバの数に応じてステップ1302〜1309の処理を繰り返す。なお、仮想化機構管理部102は、取得したパッチファイル200が複数ある場合には、ひとつを着目しているパッチファイル200として選択し、以降の処理を各パッチファイル200毎に繰り返す。
まず、ステップ1302では、仮想化機構管理部102が、図8の仮想サーバ管理テーブル104を最初のレコードから順次参照し、ステップ1303で、仮想サーバで実行するOS種類805が、上記ステップ1301で取得したパッチファイル200の対象OS902に一致し、かつ、現在着目しているパッチファイル200のパッチ識別子901が未適用であるか否かを判定する。仮想化機構管理部102は、仮想サーバ管理テーブル105を参照し、取得したパッチファイル200のパッチ識別子901が適用済みパッチ806に含まれていなければ未適用の仮想サーバ109であると判定する。
仮想サーバ109で実行するOS種類805とパッチファイル200の対象となるOS種類805が一致し、パッチファイル200が未適用の場合には当該仮想サーバ109の識別子(仮想サーバ識別子803)を対象の仮想サーバ識別子としてステップ1304へ進み、一致しない場合または適用済みの場合にはステップ1309へ進む。
ステップ1304では、仮想化機構管理部102が、対象OS902に一致するOS301を実行する仮想サーバ109を提供する仮想化機構110のファイル情報収集部303に対して、対象仮想サーバ識別子で、パッチファイル200を適用するパッチ対象ファイル210(対象ファイル名903)の所在を取得するよう要求する。ファイル情報収集部303は、後述するように、上記仮想サーバ109に割り当てられた仮想ディスク120に格納されたファイルのうち、対象ファイル名903に該当するパッチ対象ファイルの所在と仮想ディスク120の識別子を取得する。
ステップ1305では、仮想化機構管理部102は、上記仮想化機構110からファイル情報収集部303が収集した仮想ディスク120内の対象ファイル名903の所在と仮想ディスク120の識別子を取得する。
ステップ1306では、仮想化機構管理部102が、対象仮想サーバ識別子と、現在着目しているパッチファイル200のパッチ識別子901、仮想ディスク125の識別子(ディスクボリューム904)、パッチファイル200の所在(パッチファイル情報905)と、対象ファイル名903と、ステップ1305で取得した対象ファイル名903の所在と仮想ディスク120の識別子を、仮想化機構110のファイルリマッピング部304に通知し、ファイルリンクテーブル306の更新を要求する。
ステップ1307では、仮想化機構管理部102は、ファイルリマッピング部304からファイルリンクテーブル306の内容の更新が完了したことを受信する。
ステップ1308では、仮想化機構管理部102は、現在着目しているパッチファイル200の情報を仮想ディスク管理テーブル107に加える。すなわち、仮想化機構管理部102は、現在着目しているパッチファイル200を適用する仮想ディスク120の識別子を仮想ディスク管理テーブル107の仮想ディスク識別子1001に格納し、パッチファイル200を適用する仮想ディスク120の識別子をディスクボリューム1002に格納し、パッチファイル200のパッチ識別子をリンクパッチ1003に格納し、パッチファイル200の所在(パッチファイル情報905)をファイル情報1004に加え、ステータス1005に「未適用」をセットする。
ステップ1309では、仮想化機構管理部102は、全ての仮想サーバ109と、ステップ1301で取得した全てのパッチファイル200について上記処理が完了したか否かを判定する。全ての仮想サーバ109及び全てのパッチファイル200について完了していなければ、次のパッチファイル200または次の仮想サーバ109について上記処理を繰り返す。一方、全ての仮想サーバ109及び全てのパッチファイル200について上記処理が完了していればこのフローチャートを終了する。
次に、図14は、上記ステップ1304、1305で行われる仮想化機構110のファイル情報収集部303で行われる処理の一例を示すフローチャートである。
ステップ1501では、ファイル情報収集部303が仮想化機構管理部102からパッチファイル200を適用するパッチ対象ファイル210の名称(対象ファイル名903)と、対象となる仮想サーバ識別子を受け付ける。
ステップ1502では、ファイル情報収集部303は、パッチ適用の対象となる仮想サーバ識別子に割り当てられている仮想ディスク120(オリジナルディスク)で、対象ファイル名903に一致するファイル名を検索し、一致したファイルの所在をパッチ対象ファイル210の所在とし、パッチ対象ファイル210を格納する仮想ディスク120の識別子を特定する。
ステップ1503で、ファイル情報収集部303は、上記ステップ1502で特定したパッチ対象ファイル210の所在と仮想ディスク120(オリジナルディスク)の識別子を仮想化機構管理部102に通知して処理を終了する。
次に、図15は、上記ステップ1306、1307で行われる仮想イメージ制御部111のファイルリマッピング部304で行われる処理の一例を示すフローチャートである。
ステップ1601では、ファイルリマッピング部304が仮想化機構管理部102から対象の仮想サーバ識別子と、パッチファイル200のパッチ識別子901と、仮想ディスク125(パッチディスク)の識別子(ディスクボリューム904)と、パッチファイル200の所在(パッチファイル情報905)と、対象ファイル名903と、ステップ1305で取得したパッチ対象ファイル210の所在と仮想ディスク120の識別子を受信する。
ステップ1602では、ファイルリマッピング部304は、対象の仮想サーバ識別子を仮想マシン識別子1101に格納し、パッチファイル200のパッチ識別子901をパッチ識別子1102に、対象ファイル名903を対象ファイル名1103に、仮想ディスク120の識別子をオリジナルディスクボリューム1104に、パッチ対象ファイル210の所在をオリジナルファイル情報1105に、仮想ディスク125(パッチディスク)の識別子(ディスクボリューム904)をパッチディスクボリューム1106に、パッチファイル200の所在(パッチファイル情報905)をパッチファイル情報1107に格納して、ファイルリンクテーブル306を更新する。
以上の処理により、パッチ管理テーブル106に登録されたパッチファイル200のうち、仮想サーバ109に適用されていないパッチ対象ファイル210とパッチファイル200がファイルリンクテーブル306に登録される。
図16は、上記図4に示した仮想イメージ制御部111のファイル制御部302で行われる処理の一例を示すフローチャートである。この処理は、仮想サーバ109上で稼動するOS301やアプリケーションからファイルのアクセスがあったときに実行される。
ステップ1201では、ファイル制御部302が仮想サーバ109のOS301またはアプリケーションからファイルのアクセス要求を受け付ける。
ステップ1202では、ファイル制御部302は上記受け付けたファイルのファイル名を取得してファイルリンクテーブル306を参照する。
ステップ1203では、ファイル制御部302は、上記取得したファイル名がファイルリンクテーブル306の対象ファイル名1103に存在する場合には、パッチファイルが存在するパッチ対象ファイル210へのアクセスと判定してステップ1204へ進み、存在しなければステップ1206に進む。
パッチファイル200が存在する場合は、ステップ1204で、ファイルリンクテーブル306のオリジナルファイル情報1105のファイル(パッチ対象ファイル210)のタイムスタンプと、パッチファイル情報1107のファイル(パッチファイル200)のタイムスタンプを比較する。
ステップ1205では、上記比較の結果、オリジナルファイル情報1105のファイルがパッチファイル情報1107のファイルよりも新しい場合にはステップ1206へ進み、パッチファイル情報1107のファイルがオリジナルファイル情報1105のファイルよりも新しければステップ1207へ進む。
ステップ1206は、オリジナルファイル情報1105のファイルがパッチファイル情報1107のファイルよりも新しい場合、またはパッチファイル200が存在しない場合で、オリジナルディスクである仮想ディスク120から要求されたファイルを読み込んで、仮想サーバ109のOS301に応答する。
ステップ1207は、パッチファイル情報1107のパッチファイル200がオリジナルファイル情報1105のパッチ対象ファイル210よりも新しい場合で、パッチディスクである仮想ディスク125から要求されたパッチファイル200を読み込んで、仮想サーバ109のOS301に応答する。
上記処理により、パッチファイル200がオリジナルディスクのパッチ対象ファイル210よりも新しい場合には、オリジナルディスクに代わってパッチディスクからパッチファイル200を読み込んでOS301に応答することで、オリジナルディスクのパッチ対象ファイル210にパッチファイル200を適用することなくOS301またはアプリケーションをパッチファイル200の適用後と同等の状態で稼動させることが可能となり、セキュリティの脆弱性やバグを迅速に抑制できるのである。
なお、上記処理ではステップ1204、1205で、パッチファイル情報1107のファイルとオリジナルファイル情報1105のファイルのうち新しいファイルを読み込む例を示したが、上記図4で述べたように、パッチファイル情報1107のファイルとオリジナルファイル情報1105のファイルの新旧の比較を行わず、パッチファイル200が存在する場合には、パッチ対象ファイル210を隠蔽してパッチディスクからパッチファイル200を読み込むようにしても良い。
また、上記ステップ1201の処理では、ファイルのアクセス要求が書き込みの場合には、要求されたファイルに対して書き込みを行って処理を終了しても良い。
図17は、仮想イメージ制御部111のパッチ配布部305で行われるパッチ配布処理の一例を示すフローチャートである。この処理は、仮想化機構110がバックグラウンドで実行することができる。
ステップ1701では、パッチ配布部305が物理サーバ112のリソースの負荷を監視する。物理サーバ112のリソースの負荷としてはプロセッサ202(物理プロセッサ)の使用率や、上述したように、ストレージ装置113やネットワーク108の使用率を用いることができる。また、プロセッサ202の使用率は、仮想化機構110が提供する仮想プロセッサの使用率を監視しても良い。
ステップ1702では、監視している負荷が予め設定した閾値未満になったときに、パッチファイル200を適用する仮想サーバ109を所定の条件で決定する。この所定の条件は、例えば、予め設定した並列処理数以内で、仮想化機構110が提供する複数の仮想サーバ109を選択する。例えば、並列処理数が2の場合、仮想サーバ109を2つずつ処理する。そして、ファイルリンクテーブル306を参照して仮想サーバ109毎に、パッチファイル200と、パッチ対象ファイル210を選択する。
ステップ1703では、パッチ配布部305が、上記ステップ1702で決定した仮想サーバ109とパッチファイル200を仮想化機構管理部102に通知する。
仮想化機構管理部102では、パッチ配布部305から受信したパッチを適用する仮想サーバ109とパッチファイル200について、仮想ディスク管理テーブル107のステータス1005を適用中に更新する(1801,1802)。
ステップ1704では、パッチ配布部305が、パッチファイル200をパッチディスクから読み込んで、パッチを適用する仮想サーバ109に割り当てられた仮想ディスク120のパッチ対象ファイル210を更新し、パッチの適用を実施する。
ステップ1705では、パッチ配布部305が、上記パッチ対象ファイル210をパッチファイル200で更新し、パッチの適用が完了したことを仮想化機構管理部102に通知する。
仮想化機構管理部102では、パッチ配布部305から受信したパッチの完了通知から、仮想サーバ109とパッチファイル200について仮想ディスク管理テーブル107のステータス1005を適用済みに更新する(1804)。また、仮想化機構管理部102は、仮想ディスク管理テーブル107のリンクパッチ1003に格納されたパッチ識別子に対応するパッチファイル200が全て適用済みになった場合は、仮想ディスク識別子1001を割り当てた仮想サーバ109を仮想サーバ管理テーブル105の割り当てリソース804から検索し、適用済みパッチ806にパッチ識別子を追加する。また、仮想化機構管理部102は、仮想ディスク管理テーブル107のリンクパッチ1003に対応するパッチファイル200の全てのステータス1005適用済みになった場合には、パッチファイル200を適用した仮想ディスク識別子1001に対応するリンクパッチ1003、ファイル情報1004及びステータス1005をNULLに更新する。あるいは、パッチファイル200を適用した仮想ディスク識別子1001に対応するレコードを削除しても意。
ステップ1706では、パッチ配布部305は、パッチの適用が完了したファイルリンクテーブル306のレコードを削除して更新する。これにより、ファイル制御部302は、パッチを適用したファイルに対するアクセスはオリジナルディスクへアクセスすることになり、処理負荷の増大を抑制できる。
ステップ1707では、パッチ配布部305が、現在選択している仮想サーバ109について対象となる全てのパッチファイル200の適用が完了したか否かを判定し、完了していれば処理を終了し、完了していなければステップ1702へ戻って、次のパッチファイル200または残りの仮想サーバ109について、パッチの適用を実施する。
以上の処理により、パッチ配布部305により、パッチ対象ファイル210はパッチファイル200で更新され、ファイルリンクテーブル306のレコードは削除される。また、仮想化機構管理部102は、仮想サーバ管理テーブル105の適用済みパッチ806を更新し、仮想ディスク管理テーブル107はパッチファイル200が適用済みとなったリンクパッチ1003のレコードはNULLに更新(あるいは削除)されて破棄される。
なお、パッチ管理テーブル106については、管理サーバ101の管理者などが手動にて管理することができる。
また、上記図17の処理では、パッチ配布部305が物理サーバ112の負荷を検知して自動的にパッチの適用を実施する例を示したが、ステップ1701の負荷の監視を省略し、管理サーバ101の管理者などの指令によりステップ1702以降の処理を実施するようにしても良い。すなわち、パッチ配布部305は、物理サーバ112の負荷が閾値未満となったときや、管理者などからの指令を受け付けたときを所定の条件の成立として、ステップ1702以降の処理を行えば良い。
また、上記パッチファイル200を適用する仮想サーバ109の決定は、複数の仮想サーバ109を一つずつ選択して、それぞれのパッチファイル200を適用するようにしても良い。
なお、上記実施形態においては、ファイル制御部302がファイルを読み込んで仮想サーバ109に応答する例を示したが、ファイル制御部302がオリジナルディスクのアクセスパスとパッチディスクのアクセスパスを切り替えて、仮想サーバ109に対して何れか一方のアクセスを許可する構成としても良い。
以上のように、本発明は、特に、複数の物理サーバにそれぞれ仮想化機構を備え、各仮想化機構を管理する管理サーバを備えた仮想計算機システムに適用することができる。
101 管理サーバ
102 仮想化機構管理部
103 パッチ管理部
104 物理サーバ管理テーブル
105 仮想サーバ管理テーブル
106 パッチ管理テーブル
107 仮想ディスク管理テーブル
109 仮想サーバ
110 仮想化機構
111 仮想イメージ制御部
112 物理サーバ
113 ストレージ装置
114 ディスク装置
120、125 仮想ディスク
302 ファイル制御部
303 ファイル情報収集部
304 ファイルリマッピング部
305 パッチ配布部
306 ファイルリンクテーブル

Claims (14)

  1. プロセッサとメモリを備えた物理計算機と、
    前記物理計算機のリソースを分割して仮想計算機を提供する仮想化部と、
    前記物理計算機からアクセス可能なストレージ装置と、を備えた仮想計算機システムであって、
    前記ストレージ装置は、
    前記仮想計算機を起動させる複数のファイルを格納した第1の記憶部と、
    前記ファイルに適用する修正ファイルを格納した第2の記憶部と、を含み、
    前記仮想化部は、
    前記第1の記憶部のファイルと、当該ファイルに適用する前記第2の記憶部の修正ファイルとの対応関係を予め設定したファイルリンク情報と、
    前記仮想計算機から前記ストレージ装置の前記ファイルに対するアクセスを制御するファイル制御部と、を含み、
    前記ファイル制御部は、
    前記仮想計算機から前記第1の記憶部のファイルに対するアクセスを受け付けて、
    前記ファイルリンク情報を参照して当該ファイルに適用する修正ファイルの有無を判定し、
    前記ファイルに対応する修正ファイルが存在しない場合には、前記第1の記憶部から前記要求されたファイルを前記仮想計算機に提供し、
    前記ファイルに対応する修正ファイルが存在する場合には、前記第2の記憶部の修正ファイルを前記要求されたファイルとして前記仮想計算機に提供することを特徴とする仮想計算機システム。
  2. 請求項1に記載の仮想計算機システムであって、
    前記仮想化部は、
    予め設定した条件が成立したときに前記第1の記憶部のファイルを前記第2の記憶部の修正ファイルで更新する配布部をさらに有することを特徴とする仮想計算機システム。
  3. 請求項2に記載の仮想計算機システムであって、
    前記配布部は、
    前記第1の記憶部のファイルを前記第2の記憶部の修正ファイルで更新した後に、前記ファイルリンク情報のうち、当該ファイルと修正ファイルの対応関係を破棄することを特徴とする仮想計算機システム。
  4. 請求項1に記載の仮想計算機システムであって、
    前記ファイル制御部は、
    前記ファイルに対応する修正ファイルが存在する場合には、前記第2の記憶部の修正ファイルと前記第1の記憶部のファイルの新旧を比較し、前記第1の記憶部のファイルが前記第2の修正ファイルよりも新しい場合には、前記第1の記憶部のファイルを前記要求されたファイルとして前記仮想計算機に提供することを特徴とする仮想計算機システム。
  5. 請求項1に記載の仮想計算機システムであって、
    前記物理計算機は、前記仮想化部をそれぞれ有する複数の物理計算機で構成され、
    前記仮想化部と前記ストレージ装置を管理する管理計算機をさらに有し、
    前記管理計算機は、
    前記第2の記憶部の修正ファイルの格納位置と、当該修正ファイルを適用する前記第1の記憶部のファイルの名称を管理する修正ファイル管理情報と、
    前記複数の仮想化部と、前記修正ファイル管理情報を管理する管理部を有し、
    前記物理計算機の仮想化部は、
    前記管理計算機の管理部から前記第2の記憶部の修正ファイルの格納位置と、当該修正ファイルを適用するファイルの名称を取得し、前記第1の記憶部で前記名称を有するファイルの格納位置を取得して、前記第1の記憶部のファイルの格納位置と、当該ファイルに適用する前記第2の記憶部の修正ファイルの格納位置との対応関係を前記ファイルリンク情報に設定することを特徴とする仮想計算機システム。
  6. 請求項5に記載の仮想計算機システムであって、
    前記管理計算機の管理部は、
    前記第2の記憶部に新たな修正ファイルが格納されたときには、当該新たな修正ファイルを前記修正ファイル管理情報に追加し、
    前記ファイル制御部に対して新たな修正ファイルを通知し、
    前記仮想化部は、
    前記管理部からの通知を受信して前記ファイルリンク情報を設定することを特徴とする仮想計算機システム。
  7. 請求項5に記載の仮想計算機システムであって、
    前記管理計算機の管理部は、
    前記仮想計算機がアクセスする前記第1の記憶部を仮想計算機毎に管理する仮想計算機管理情報を管理し、
    前記仮想計算機管理情報は、
    前記第1の記憶部のファイルと、当該ファイルに対応する前記第2の修正ファイルの適用状態を含み、
    前記配布部は、
    前記第1の記憶部のファイルを前記第2の記憶部の修正ファイルで更新状況を前記管理計算機の管理部へ通知し、
    前記管理部は、
    前記配布部からの通知を受信して前記第1の記憶部のファイルと当該ファイルに対応する前記第2の修正ファイルの適用状態を設定することを特徴とする仮想計算機システム。
  8. プロセッサとメモリを備えた物理計算機と、
    前記物理計算機のリソースを分割して仮想計算機を提供する仮想化部と、
    前記物理計算機からアクセス可能なストレージ装置と、を備えた仮想計算機の制御方法であって、
    前記ストレージ装置は、
    前記仮想計算機を起動させる複数のファイルを格納した第1の記憶部と、
    前記ファイルに適用する修正ファイルを格納した第2の記憶部と、を含み、
    前記仮想化部が、前記第1の記憶部のファイルと、当該ファイルに適用する前記第2の記憶部の修正ファイルとの対応関係をファイルリンク情報に設定するステップと、
    前記仮想化部のファイル制御部が、前記仮想計算機から前記第1の記憶部のファイルに対するアクセスを受け付けるステップと、
    前記仮想化部が、前記ファイルリンク情報を参照して当該ファイルに適用する修正ファイルの有無を判定するステップと、
    前記仮想化部が、前記ファイルに対応する修正ファイルが存在しない場合には、前記第1の記憶部から前記要求されたファイルを前記仮想計算機に提供するステップと、
    前記仮想化部が、前記ファイルに対応する修正ファイルが存在する場合には、前記第2の記憶部の修正ファイルを前記要求されたファイルとして前記仮想計算機に提供するステップと、
    を含むことを特徴とする仮想計算機の制御方法。
  9. 請求項8に記載の仮想計算機の制御方法であって、
    前記仮想化部は、予め設定した条件が成立したときに前記第1の記憶部のファイルを前記第2の記憶部の修正ファイルで更新するステップをさらに含むことを特徴とする仮想計算機の制御方法。
  10. 請求項9に記載の仮想計算機の制御方法であって、
    前記仮想化部は、前記第1の記憶部のファイルを前記第2の記憶部の修正ファイルで更新した後に、前記ファイルリンク情報のうち、当該ファイルと修正ファイルの対応関係を破棄するステップをさらに含むことを特徴とする仮想計算機の制御方法。
  11. 請求項8に記載の仮想計算機の制御方法であって、
    前記仮想化部が、前記ファイルに対応する修正ファイルが存在する場合には、前記第2の記憶部の修正ファイルを前記要求されたファイルとして前記仮想計算機に提供するステップは、
    前記仮想化部が、前記第2の記憶部の修正ファイルと前記第1の記憶部のファイルの新旧を比較し、前記第1の記憶部のファイルが前記第2の修正ファイルよりも新しい場合には、前記第1の記憶部のファイルを前記要求されたファイルとして前記仮想計算機に提供することを特徴とする仮想計算機の制御方法。
  12. 請求項8に記載の仮想計算機の制御方法であって、
    前記物理計算機は、前記仮想化部をそれぞれ有する複数の物理計算機で構成され、
    前記仮想化部と前記ストレージ装置を管理する管理計算機をさらに有し、
    前記管理計算機が、前記第2の記憶部の修正ファイルの格納位置と、当該修正ファイルを適用する前記第1の記憶部のファイルの名称を含む修正ファイル管理情報を設定するステップと、
    前記仮想化部が、前記管理計算機の管理部から前記第2の記憶部の修正ファイルの格納位置と、当該修正ファイルを適用するファイルの名称を取得ステップと、
    前記仮想化部が、前記第1の記憶部で前記名称を有するファイルの格納位置を取得するステップと、
    前記仮想化部が、前記第1の記憶部のファイルの格納位置と、当該ファイルに適用する前記第2の記憶部の修正ファイルの格納位置との対応関係を前記ファイルリンク情報に設定するステップと、
    をさらに含むことを特徴とする仮想計算機の制御方法。
  13. 請求項12に記載の仮想計算機の制御方法であって、
    前記管理部が、前記第2の記憶部に新たな修正ファイルが格納されたときには、当該新たな修正ファイルを前記修正ファイル管理情報に追加するステップと、
    前記管理部が、前記仮想化部に対して新たな修正ファイルを通知するステップと、
    前記仮想化部が、前記管理部からの通知を受信して前記ファイルリンク情報を設定するするステップと、
    をさらに含むことを特徴とする仮想計算機の制御方法。
  14. 請求項12に記載の仮想計算機の制御方法であって、
    前記管理部が、前記仮想計算機がアクセスする前記第1の記憶部を仮想計算機毎に管理し、前記第1の記憶部のファイルと、当該ファイルに対応する前記第2の修正ファイルの適用状態を含む仮想計算機管理情報を設定するステップと、
    前記配布部が、前記第1の記憶部のファイルを前記第2の記憶部の修正ファイルで更新状況を前記管理計算機の管理部へ通知するステップと、
    前記管理部が、前記配布部からの通知を受信して前記第1の記憶部のファイルと当該ファイルに対応する前記第2の修正ファイルの適用状態を設定するステップと、
    をさらに含むことを特徴とする仮想計算機の制御方法。
JP2010053279A 2010-03-10 2010-03-10 仮想計算機システム及び仮想計算機の制御方法 Pending JP2011186915A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2010053279A JP2011186915A (ja) 2010-03-10 2010-03-10 仮想計算機システム及び仮想計算機の制御方法
PCT/JP2010/064229 WO2011111249A1 (ja) 2010-03-10 2010-08-24 仮想計算機システム及び仮想計算機の制御方法
US13/384,688 US20120124581A1 (en) 2010-03-10 2010-08-24 Virtual computer system and control method of virtual computer system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010053279A JP2011186915A (ja) 2010-03-10 2010-03-10 仮想計算機システム及び仮想計算機の制御方法

Publications (2)

Publication Number Publication Date
JP2011186915A true JP2011186915A (ja) 2011-09-22
JP2011186915A5 JP2011186915A5 (ja) 2011-11-04

Family

ID=44563089

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010053279A Pending JP2011186915A (ja) 2010-03-10 2010-03-10 仮想計算機システム及び仮想計算機の制御方法

Country Status (3)

Country Link
US (1) US20120124581A1 (ja)
JP (1) JP2011186915A (ja)
WO (1) WO2011111249A1 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8677357B2 (en) * 2011-01-26 2014-03-18 International Business Machines Corporation Method and apparatus for distributing a composite software stack as a virtual machine image
US9069637B2 (en) 2011-07-25 2015-06-30 Intel Corporation Dynamic feature enhancement in client server applications and high volume server deployment with dynamic app store integration
US8813223B2 (en) * 2011-07-26 2014-08-19 Intel Corporation Secure network topology on a virtualized server
CN103677878B (zh) * 2012-09-12 2017-07-14 国际商业机器公司 一种打补丁的方法和装置
CN103699844B (zh) * 2012-09-28 2016-10-26 腾讯科技(深圳)有限公司 安全保护系统及方法
JP6098392B2 (ja) * 2013-06-24 2017-03-22 富士通株式会社 ソフトウェア修正パッチ抽出プログラム、ソフトウェア修正パッチ抽出方法および情報処理装置
US9870568B2 (en) * 2013-11-19 2018-01-16 Xerox Corporation Methods and systems to price customized virtual machines
US10514904B2 (en) 2014-04-24 2019-12-24 Hewlett Packard Enterprise Development Lp Dynamically applying a patch to a computer application
CN104461753A (zh) * 2014-11-23 2015-03-25 国云科技股份有限公司 一种防止应用程序检测Windows虚拟机信息的方法
US11157461B2 (en) * 2016-05-24 2021-10-26 Microsoft Technology Licensing, Llc Systems and methods for accessing remote files
US11074062B1 (en) * 2019-08-14 2021-07-27 Amazon Technologies, Inc. Neural networks for software patch applicability

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08263279A (ja) * 1995-03-22 1996-10-11 Hitachi Ltd 仮想計算機パッチ投入方法
JP2002024037A (ja) * 2000-07-03 2002-01-25 Nec Microsystems Ltd ダイナミック・リンク・ライブラリ・ファイルの更新方法
JP2002328813A (ja) * 2001-04-27 2002-11-15 Hitachi Ltd プログラム修正方法
JP2006113651A (ja) * 2004-10-12 2006-04-27 Nec Corp パッチ適用情報管理システム
JP2009110505A (ja) * 2007-09-17 2009-05-21 Symantec Corp コンピュータプログラムにパッチを当てるシステム及び方法
JP2009289095A (ja) * 2008-05-30 2009-12-10 Hitachi Ltd 仮想ディスクのパッチシステム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08263279A (ja) * 1995-03-22 1996-10-11 Hitachi Ltd 仮想計算機パッチ投入方法
JP2002024037A (ja) * 2000-07-03 2002-01-25 Nec Microsystems Ltd ダイナミック・リンク・ライブラリ・ファイルの更新方法
JP2002328813A (ja) * 2001-04-27 2002-11-15 Hitachi Ltd プログラム修正方法
JP2006113651A (ja) * 2004-10-12 2006-04-27 Nec Corp パッチ適用情報管理システム
JP2009110505A (ja) * 2007-09-17 2009-05-21 Symantec Corp コンピュータプログラムにパッチを当てるシステム及び方法
JP2009289095A (ja) * 2008-05-30 2009-12-10 Hitachi Ltd 仮想ディスクのパッチシステム

Also Published As

Publication number Publication date
WO2011111249A1 (ja) 2011-09-15
US20120124581A1 (en) 2012-05-17

Similar Documents

Publication Publication Date Title
WO2011111249A1 (ja) 仮想計算機システム及び仮想計算機の制御方法
US10261800B2 (en) Intelligent boot device selection and recovery
US20220129299A1 (en) System and Method for Managing Size of Clusters in a Computing Environment
US9996384B2 (en) Virtual machine homogenization to enable migration across heterogeneous computers
JP4487920B2 (ja) ブート制御方法および計算機システム並びにその処理プログラム
KR101376952B1 (ko) 머신을 가상 머신으로 변환하는 방법
US10007542B2 (en) Virtual machine placement with automatic deployment error recovery based on a status log maintained during deployment
US8078824B2 (en) Method for dynamic load balancing on partitioned systems
US7440998B2 (en) Provisioning for a modular server
US20170206175A1 (en) Hypervisor-enforced self encrypting memory in computing fabric
WO2011074284A1 (ja) 仮想計算機の移動方法、仮想計算機システム及びプログラムを格納した記憶媒体
JP6458146B2 (ja) 計算機及びメモリ領域管理方法
JP6123626B2 (ja) 処理再開方法、処理再開プログラムおよび情報処理システム
US9436494B2 (en) Preserving an independent virtual disk
US20170371716A1 (en) Identifier (id) allocation in a virtualized computing environment
US10965616B2 (en) Nonstop computing fabric arrangements
WO2015052836A1 (ja) ストレージ装置及びフェールオーバ方法
US9032402B2 (en) Managing an independent virtual disk
US10848405B2 (en) Reporting progress of operation executing on unreachable host
JP7327057B2 (ja) コンテナ制御装置、コンテナ制御方法、およびコンテナ制御プログラム
JP5744259B2 (ja) サーバ切り替え方法、サーバシステム、及び管理計算機
US20230176889A1 (en) Update of virtual machines using clones

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110913

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110913

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120309

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130108

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130225

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130813