JP2016001421A - 復元検知方法,復元検知装置及び復元検知プログラム - Google Patents

復元検知方法,復元検知装置及び復元検知プログラム Download PDF

Info

Publication number
JP2016001421A
JP2016001421A JP2014121307A JP2014121307A JP2016001421A JP 2016001421 A JP2016001421 A JP 2016001421A JP 2014121307 A JP2014121307 A JP 2014121307A JP 2014121307 A JP2014121307 A JP 2014121307A JP 2016001421 A JP2016001421 A JP 2016001421A
Authority
JP
Japan
Prior art keywords
file size
file
virtual machine
restoration
information
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
JP2014121307A
Other languages
English (en)
Other versions
JP6337631B2 (ja
Inventor
貴宏 前川
Takahiro Maekawa
貴宏 前川
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2014121307A priority Critical patent/JP6337631B2/ja
Priority to US14/733,545 priority patent/US9983949B2/en
Publication of JP2016001421A publication Critical patent/JP2016001421A/ja
Application granted granted Critical
Publication of JP6337631B2 publication Critical patent/JP6337631B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • 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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1451Management of the data involved in backup or backup restore by selection of backup contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3055Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3089Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
    • G06F11/3093Configuration details thereof, e.g. installation, enabling, spatial arrangement of the probes
    • 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/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3089Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
    • G06F11/3096Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents wherein the means or processing minimize the use of computing system or of computing system component resources, e.g. non-intrusive monitoring which minimizes the probe effect: sniffing, intercepting, indirectly deriving the monitored data from other directly available data
    • 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/45591Monitoring or debugging support
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/815Virtual
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/835Timestamp
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/84Using snapshots, i.e. a logical point-in-time copy of the data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/865Monitoring of software

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Retry When Errors Occur (AREA)
  • Debugging And Monitoring (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】仮想マシンが作成された物理マシンにアクセスすることなく仮想マシンの復元を検知する復元検知方法,復元検知装置及び復元検知プログラムを提供する。
【解決手段】監視対象の仮想マシンから,ファイルサイズが累積して増加する特定ファイルのファイルサイズを示すファイルサイズ情報を受信し,受信したファイルサイズ情報に基づき,前記仮想マシンの復元を検知する。
【選択図】図6

Description

本発明は,復元検知方法,復元検知装置及び復元検知プログラムに関する。
近年,物理マシンの性能向上に伴い,複数の仮想マシン(VM;Virtual Machine)を1つの物理マシンに集約する仮想化技術の研究が進められている。この仮想化技術は,例えば,仮想化ソフトウエア(ハイパバイザ)が物理マシンを複数の仮想マシンに割り当てて,各仮想マシンにインストールされたアプリケーションプログラムによるサービスの提供を可能にする。そして,近年,物理マシンのリソースやインフラ等の仮想マシンの利用環境を提供する事業者(以下,インフラ事業者と称する)によって,仮想マシンを利用してサービスの提供等を行う事業者(以下,サービス事業者と称する)への仮想マシンの貸し出しが行われている。インフラ事業者は,契約で定めた条件に基づいて,サービス事業者に仮想マシンの貸し出しを行う。
このような仮想マシンにおいて,例えば,ある時点におけるシステムの状態を保存する機能(以下,スナップショット機能と称する)を有している場合がある。この機能により,サービス事業者は,障害が発生した場合等において,システムを障害が発生する前の状態に復元する等の処置を行うことが可能になる。一方で,スナップショット機能は,例えば,サービス事業者によるサービスを利用する利用者が,不正アクセス等を行った場合に,その使用履歴等を消去することを可能にする。そのため,サービス事業者は,例えば,仮想マシンが作成された物理マシンの中に,仮想マシンの監視を行うためのソフトウエア(以下,監視ソフトウエアと称する)等を配置し,仮想マシンの復元を含めた状態の変化の監視を行う(例えば,特許文献1乃至4参照)。
特開平8−278967号公報 特開2011−186783号公報 特開2007−207271号公報 特表2002−544636号公報
インフラ事業者は,サービス事業者に仮想マシンの貸し出しを行う場合,貸し出しを行う仮想マシンに対するアクセス権限のみをサービス事業者に与える場合がある。これは,サービス事業者が,自らが管理する仮想マシンが作成されている物理マシンへのアクセスを行うことができないことを意味する。そのため,サービス事業者は,仮想マシンの復元を検知するための監視ソフトウエア等を,物理マシンにインストールすることができなくなる。さらに,上記のスナップショット機能により復元した仮想マシンは,仮想マシン内部のシステム時間を含めて全ての情報が復元される。そのため,サービス事業者は,仮想マシン内の情報のみによって仮想マシンの復元を検知することができない。したがって,この場合,サービス事業者は,物理マシンへのアクセスが制限されることにより,仮想マシンの復元の検知を容易に行うことができなくなる。
そこで,一つの実施の形態の目的は,仮想マシンが作成された物理マシンにアクセスすることなく仮想マシンの復元を検知する復元検知方法,復元検知装置及び復元検知プログラムを提供することにある。
実施の形態の一つの側面によれば,監視対象の仮想マシンから,ファイルサイズが累積して増加する特定ファイルのファイルサイズを示すファイルサイズ情報を受信し,
前記受信したファイルサイズ情報に基づき,前記仮想マシンの復元を検知する。
一つの側面によれば,仮想マシンが作成された物理マシンにアクセスすることなく仮想マシンの復元を検知する。
情報処理システムの全体構成を示す図である。 仮想マシンの復元の検知方法を説明する図である。 仮想マシンの復元の検知方法を説明する図である。 監視装置のハードウエア構成を示す図である。 図4の監視装置の機能ブロック図である。 第1の実施の形態における復元検知処理の概略を示すフローチャート図である。 第1の実施の形態における復元検知処理の概略を説明する図である。 第1の実施の形態における復元検知処理の概略を説明する図である。 第1の実施の形態における復元検知処理の概略を説明する図である。 第1の実施の形態における復元検知処理の詳細を示すフローチャート図である。 第1の実施の形態における復元検知処理の詳細を示すフローチャート図である。 第1の実施の形態における復元検知処理の詳細を説明する図である。 第1の実施の形態における復元検知処理の詳細を説明する図である。 第1の実施の形態における復元検知処理の詳細を説明する図である。 第2の実施の形態における復元検知処理を説明する図である。 第2の実施の形態における復元検知処理を説明する図である。 第2の実施の形態における復元検知処理を示すフローチャート図である。 第2の実施の形態における復元検知処理を示すフローチャート図である。 第3の実施の形態における復元検知処理を説明する図である。 第3の実施の形態における復元検知処理を示すフローチャート図である。 第3の実施の形態における復元検知処理を示すフローチャート図である。 第4の実施の形態における復元検知処理を説明する図である。 第4の実施の形態における復元検知処理を示すフローチャート図である。 第4の実施の形態における復元検知処理を示すフローチャート図である。 第4の実施の形態における復元検知処理を示すフローチャート図である。
[情報処理システムの構成]
図1は,情報処理システムの全体構成を示す図である。図1に示す情報処理システム10は,データセンタ7内に,管理サーバ1と,仮想マシンを作成する物理マシン2(以下,VMホスト2とも称する)とが設けられている。そして,データセンタ7には,インターネットやイントラネット等のネットワークを介して,利用者端末8からアクセス可能になっている。
VMホスト2は,図1の例では複数の物理マシンから構成されており,各物理マシンは,CPU(Central Processing Unit)と,RAM(Random Access Memory)と,ハードディスク(HDD;Hard Disk Drive)等の大容量の記憶媒体とを有する。そして,VMホスト2のリソースは,複数の仮想マシン3に割り当てられる。
管理サーバ1は,例えば,VMホスト2とアクセス可能であり,VMホスト2内における仮想マシン3の作成指示や作成された仮想マシン3の管理を行う。
仮想マシン3は,例えば,サービス事業者がそのインフラ等をネットワーク経由で利用者に提供するもの(以下,クラウドサービスと称する)である。クラウドサービスは,コンピュータシステムを構築し稼働させるための基盤,即ち,仮想マシン3やネットワーク等のインフラストラクチャそのものを,ネットワーク経由で提供するサービスである。また,利用者は,例えば,利用者端末8からクラウドサービスポータルサイトにアクセスして,仮想マシンに必要な仕様,例えばCPUのクロック周波数,メモリの容量(GB),ハードディスクの容量(MB/sec,IOPS),及びネットワークの通信帯域幅(Gbps)を選択し,それらについてクラウド利用契約を締結する。また,利用者端末8は,例えば,仮想マシン3の稼働状態を監視や,仮想マシンに対する操作等を可能にする。また,仮想マシン3は,図1の例においては,データセンタ7内に設けられた監視装置5(以下,復元検知装置5とも称する)とアクセス可能になっている。
仮想化ソフトウエア4は,管理サーバ1からの指示に応じて,VMホスト2のCPU,メモリ,ハードディスク,ネットワーク等のリソースを割り当てることにより,仮想マシン3を動作させる基盤ソフトウエアである。仮想化ソフトウエア4は,例えば,VMホスト2で動作する。
仮想マシン3は,VMホスト2のリソースが割り当てられることに加えて,例えば,OS(Operating System),ミドルウエア,アプリケーション,データベース等を有するイメージファイルをそのハードディスク内に有する。そして,仮想マシン3は,例えば,起動時にイメージファイルをハードディスクからメモリに書き込み,所望のサービスに対応する動作を行う。
また,図1の例における仮想マシン3は,例えば,ある時点におけるシステムの状態(ファイルの内容やシステム構成等)を記憶するスナップショット機能を有している。この機能により,仮想マシン3は,過去の特定のタイミング(システムの状態を記憶したタイミング)に復元することが可能になる。そのため,サービス事業者は,障害が発生した場合等において,システムを障害が発生する前の状態に復元する等の処置を行うことが可能になる。
監視装置5は,例えば,スナップショット機能による仮想マシン3の復元を検知するための装置である。仮想マシン3がスナップショット機能を有している場合,サービス事業者が提供するサービスを利用する利用者は,不正アクセス等を行った後,その使用履歴等を消去することを可能になる。そのため,サービス事業者は,図1に示すように,例えば,監視対象の仮想マシン3とは別に監視装置5を設け,監視対象の仮想マシン3における復元の検知を行う。なお,監視装置5は,仮想マシン3の復元を検知するために,仮想マシン3の外部に設ける必要がある。また,サービス事業者は,使用可能な仮想マシンの一部を監視装置5として機能させるものであってよい。
[監視装置による仮想マシンの監視]
次に,監視装置5による仮想マシンの監視について説明する。図2及び図3は,仮想マシンの復元の検知方法を説明する図である。
図2の例において,VMホスト2には,監視装置5とアクセス可能な監視ソフトウエア6がインストールされている。監視ソフトウエア6は,例えば,仮想マシン3や仮想化ソフトウエア4の状態に関する情報を取得し,取得した情報を監視装置5に送信する。
ここで,近年,VMホスト2を管理して仮想マシン3のリソース等の貸し出しを行うインフラ事業者と,インフラ事業者から仮想マシン3を借り受けて利用者に向けた各種サービスを行うサービス事業者との分離化が進んでいる。そして,これに伴い,サービス事業者には,インフラ事業者から借り受けた仮想マシン3にのみアクセスが認められ,仮想マシン3が作成されているVMホスト2にアクセスが認められない場合がある。そのため,この場合,図3に示すように,サービス事業者は,インフラ事業者が管理するVMホスト2に監視ソフトウエア6をインストールすることができない場合がある。
そして,図3は,VMホスト2に監視ソフトウエア6をインストールしない場合の図である。図3の状態において仮想マシン3の復元が発生した場合,その仮想マシン3は,内部のシステム時間を含めて全ての情報が復元先の時間におけるシステム状態に戻る。そのため,サービス事業者は,復元した仮想マシン3内の情報を参照しても仮想マシン3に復元が発生したのか否かを判定することができない。したがって,図3の例において,サービス事業者は,仮想マシン3の復元を検知することができない。
そこで,本実施の形態では,監視装置5は,監視対象の仮想マシン3から,ファイルサイズが累積して増加する特定ファイルのファイルサイズを示すファイルサイズ情報を受信する。そして,受信したファイルサイズ情報に基づき,仮想マシン3の復元の発生を検知する。これにより,監視対象の仮想マシン3の復元を検知することが可能になる。
[仮想マシン及び監視装置の構成]
初めに,監視装置5の構成について説明する。図4は,監視装置のハードウエア構成を示す図である。監視装置5は,プロセッサであるCPU501と,メモリ502と,外部インターフェース(I/Oユニット)503と,記憶媒体504とを有する。各部は,バス505を介して互いに接続される。記憶媒体504は,例えば,記憶媒体504内のプログラム格納領域(図示しない)に,仮想マシン3の復元を検知する処理(以下,復元検知処理とも称する)を行うためのプログラム510(以下,復元検知プログラムとも称する)を記憶する。CPU501は,図4に示すように,プログラム510の実行時に,プログラム510を記憶媒体504からメモリ502にロードし,プログラム510と協働して復元検知処理を行う。また,記憶媒体504は,例えば,復元検知処理を行う際に用いられる情報を記憶する情報格納領域530(以下,記憶部530とも称する)を有する。
図5は,図4の監視装置の機能ブロック図である。CPU501は,プログラム510と協働することにより,例えば,情報受信部511(以下,受信部511とも称する)と,情報作成部512と,復元検知部513(以下,検知部513とも称する)と,ファイル参照部514と,復元解析部515として動作する。また,CPU501は,プログラム510と協働することにより,例えば,ファイル作成部516と,復元通知部517と,監視管理部518と,情報送信部519として動作する。また,情報格納領域530には,例えば,ファイルサイズ情報531と,監視管理情報532と,監視頻度情報533とが記憶されている。
情報受信部511は,例えば,監視対象の仮想マシン3における特定ファイルのファイルサイズを示すファイルサイズ情報531を受信する。具体的に,監視対象の仮想マシン3は,例えば,それぞれの仮想マシン3に配置された特定ファイルの現在のファイルサイズを取得し,これをファイルサイズ情報531として監視装置5に送信する。そして,情報受信部511は,仮想マシン3が送信したファイルサイズ情報531を受信するものであってもよい。なお,ファイルサイズ情報531は,特定ファイルのファイルサイズに加えて,例えば,それぞれの特定ファイルが配置された仮想マシン3の識別情報等を含むものであってもよい。
情報作成部512は,例えば,監視対象の仮想マシン3から受信したファイルサイズ情報531を含む情報を,監視管理情報532として情報格納領域530に記憶する。情報作成部512は,例えば,受信したファイルサイズ情報531と監視対象の仮想マシン3を識別する識別情報とを対応付けて監視管理情報532とするものであってよい。監視管理情報532の詳細については後述する。
復元検知部513は,例えば,監視対象の仮想マシン3から受信した複数のファイルサイズ情報531を比較する。そして,復元検知部513は,例えば,複数のファイルサイズ情報531に基づき,監視対象の仮想マシン3の復元を検知する。仮想マシン3の復元検知方法の詳細については後述する。
ファイル参照部514は,例えば,復元検知部513が監視対象の仮想マシン3の復元を検知した場合,特定ファイルの内容を解析するために仮想マシン3内の特定ファイルを参照する。ファイル参照部514は,例えば,参照する特定ファイルを取得するように情報受信部511に指示を行い,指示を受けた情報受信部511が特定ファイルを取得するものであってもよい。
復元解析部515は,例えば,ファイル参照部514が参照した特定ファイルの内容に基づき,仮想マシン3の復元先の時間を算出する。仮想マシン3の復元先の時間を算出する方法については後述する。
ファイル作成部516は,例えば,仮想マシン3における特定ファイルを監視装置5が作成する場合に,特定ファイルを作成する。また,ファイル作成部516は,例えば,所定の時間毎に監視対象の仮想マシン3にアクセスし,特定ファイルの更新を行うものであってよい。監視装置5による特定ファイルの作成及び更新については後述する。
復元通知部517は,例えば,復元検知部513が監視対象の仮想マシン3の復元を検知した場合に,管理サーバ1等に監視対象の仮想マシン3が復元した旨の通知を行う。また,復元通知部517は,例えば,復元解析部515が仮想マシン3の復元先の時間を算出した場合に,管理サーバ1等に仮想マシン3の復元先の時間を通知する。
監視管理部518は,例えば,情報格納領域530に記憶された監視頻度情報533に基づいて,情報受信部511に特定ファイルのファイルサイズ情報531の取得指示を行う。また,監視管理部518は,例えば,サービス事業者からの依頼等に応じて,監視頻度情報533を更新する。
情報送信部519は,例えば,監視装置5が監視対象の仮想マシン3にインストールされた監視ソフトウエア(図示しない)と連携して復元の検知を行う場合,情報格納領域530に記憶されたファイルサイズ情報531等を仮想マシン3内の監視ソフトウエアに送信する。
[第1の実施の形態]
次に,第1の実施の形態について説明する。図6は,第1の実施の形態における復元検知処理の概略を示すフローチャート図である。また,図7は,第1の実施の形態における復元検知処理の概略を説明する図である。図7を参照しながら図6の復元検知処理の概略について説明する。
初めに,監視装置5は,例えば,図7に示すように,監視対象の仮想マシン3の情報格納領域330から,その仮想マシン3においてファイルサイズが累積して増加する特定ファイルのファイルサイズ情報531を受信する(S1)。監視装置5は,定期的に情報格納領域330にアクセスを行い,特定ファイルのファイルサイズ情報531を取得するものであってよい。監視装置5がファイルサイズ情報531を取得する頻度は,例えば,1分間隔である。監視装置5は,例えば,監視頻度情報533の内容を参照し,これに基づいてファイルサイズ情報531を取得する頻度を決定するものであってよい。
そして,監視装置5は,例えば,受信したファイルサイズ情報531に基づき,仮想マシン3の復元を検知する(S2)。監視装置5は,例えば,過去のある時間(以下,第1の時間とも称する)に受信した特定ファイルのファイルサイズ情報(以下,第1ファイルサイズ情報とも称する)が示すファイルサイズと,第1の時間よりも後の時間(以下,第2の時間とも称する)に受信した特定ファイルのファイルサイズ情報(以下,第2ファイルサイズ情報とも称する)が示すファイルサイズとに基づいて,仮想マシン3の復元の検知を行う。そして,監視装置5は,例えば,新たに受信した特定ファイルのファイルサイズが過去に受信した同一特定ファイルのファイルサイズより小さい場合に,仮想マシン3の復元が発生したものと判定する。以下,監視対象の仮想マシン3から受信したファイルサイズ情報531について説明する。
図8及び図9は,監視装置5が受信したファイルサイズ情報531の具体例を示す図である。図8及び図9の例において,横軸は,時間を示しており,縦軸は,特定ファイルのファイルサイズを示している。また,図8及び図9の例において,白抜き三角形は,ファイルサイズ情報531を受信した時間と,受信したファイルサイズ情報531が示すファイルサイズとが対応する点を示している。なお,図8及び図9の例においては,監視装置5がファイルサイズ情報531を1分間隔で受信する場合について説明する。
本実施の形態における特定ファイルは,図8に示すように,そのファイルサイズが時間経過に伴って累積して増加する。そのため,通常の運用時において,新たに受信したファイルサイズ情報531が示すファイルサイズが過去に受信したファイルサイズ情報531が示すファイルサイズよりも小さくなることはない。
一方,図9に示す例においては,新たに受信したファイルサイズ情報531(時間が5分の時点で受信したファイルサイズ情報531)が過去に受信したファイルサイズ情報531(例えば,時間が4分の時点で受信したファイルサイズ情報531)よりも小さい。そのため,この場合,監視装置5は,特定ファイルが配置された仮想マシン3において復元が発生したものと判断することができる。
すなわち,監視装置5は,初めに,監視対象の仮想マシン3におけるファイルサイズが累積して増加する特定ファイルを決定する。そして,例えば,決定した特定ファイルの複数時におけるファイルサイズ情報531を受信する。この場合,特定ファイルは,ファイルサイズが累積して増加するファイルであるため,通常の運用時において,受信したファイルサイズ情報が過去に受信したファイルサイズ情報531よりも小さくなることはない。そのため,監視装置5は,受信したファイルサイズ情報531が過去に受信したファイルサイズ情報531よりも小さい特定ファイルの存在を検知した場合,その特定ファイルが配置された仮想マシン3が復元したものと判定することができる。
このように,第1の実施の形態によれば,監視装置5は,監視対象の仮想マシン3から,ファイルサイズが累積して増加する特定ファイルのファイルサイズを示すファイルサイズ情報を受信する。そして,監視装置5は,受信したファイルサイズ情報に基づき,監視対象の仮想マシン3の復元を検知する。これにより,サービス事業者は,監視対象の仮想マシン3が作成されたVMホスト2に監視ソフトウエアのインストール等を行うことなく(VMホストにアクセスすることなく),監視対象の仮想マシン3の復元を検知することが可能になる。そのため,悪意の利用者が仮想マシン3に不正アクセス等を行った後に,スナップショット機能を用いて行った仮想マシン3の復元を検知することが可能になる。
なお,監視装置5が,ある時間(以下,第3の時間とも称する)における仮想マシン3のファイルサイズ情報531(既知のファイルサイズ情報531)を予め有している場合がある。具体的には,監視装置5が特定ファイルを作成した場合において,その作成時の特定ファイルのファイルサイズ情報531(例えば,初期値の0バイト)を情報格納領域530に記憶している場合である。この場合,監視装置5は,例えば,監視対象の仮想マシン3から第3の時間とは異なる時間(以下,第4の時間とも称する)におけるファイルサイズ情報531を,少なくとも1回受信することにより,復元の検知が可能になる。すなわち,監視装置5は,この場合,既知のファイルサイズ情報531と受信したファイルサイズ情報531とに基づき,仮想マシン3の復元の検知を行うことが可能になる。これにより,監視装置5は,仮想マシン3のファイルサイズ情報531を,仮想マシン3から受信することなく取得することが可能になる。
[第1の実施の形態の詳細]
次に,第1の実施の形態の詳細について説明する。図10及び図11は,第1の実施の形態における復元検知処理の詳細を説明するフローチャート図である。また,図12から図14は,第1の実施の形態における復元検知処理の詳細を説明する図である。図12から図14を参照しながら,図10及び図11の復元検知処理の詳細を説明する。なお,以下,監視装置5が監視対象の仮想マシン3からファイルサイズ情報531を複数回受信し,仮想マシン3の復元を検知する場合(監視装置5が既知のファイルサイズ情報531を有していない場合)について説明する。
初めに,図10に示すように,監視装置5の情報受信部511は,例えば,管理サーバ1等から監視開始指示を受信するまで待機する(S11)。そして,監視開始指示を受信した場合(S11のYES),監視装置5のファイル作成部516は,例えば,監視対象となる特定ファイルを作成して監視対象の仮想マシン3(監視開始指示を受信した仮想マシン3)に配置する(S12)。
具体的に,監視装置5は,例えば,累積してファイルサイズが増加する性質を有する特定ファイルを作成して仮想マシン3内に配置する。この特定ファイルは,例えば,所定の時間毎に,その時の現在時間を示すタイムスタンプを記憶するファイルであってよい。この場合,特定ファイルは,タイムスタンプが記憶される毎に,記憶したタイムスタンプ分のファイルサイズが増加する。そのため,監視装置5は,仮想マシン3が起動している場合においては,時間の経過に伴って特定ファイルのファイルサイズを累積して増加させることが可能になる。したがって,監視装置5は,特定ファイルのファイルサイズを監視することにより,特定ファイルのファイルサイズが減少したときに,その特定ファイルを配置した仮想マシン3において復元が発生したものと判断することが可能になる。なお,ファイル作成部516は,監視対象の仮想マシン3において,特定ファイルの内容及びファイルサイズの参照が可能な位置に特定ファイルを配置する必要がある。
次に,監視装置5の情報作成部512は,例えば,情報格納領域530において特定ファイルのファイルサイズ情報531を記憶するための記憶領域を確保する(S13)。これにより,監視装置5は,監視対象の仮想マシン3から特定ファイルのファイルサイズ情報531の受信した後,その情報を記憶することが可能な状態になる。
そして,情報受信部511は,例えば,監視対象の仮想マシン3にアクセスし,特定ファイルのファイルサイズ情報531を取得する(S14)。このファイルサイズ情報531は,例えば,仮想マシン3にインストールされたアプリケーションによって送信され,情報受信部511がこれを受信することにより取得するものであってもよい。
さらに,情報受信部511が特定ファイルのファイルサイズを複数回取得している場合に(S15のYES),監視装置5の復元検知部513は,例えば,図11に示すように,仮想マシン3の復元の検知を行う(S21)。すなわち,本実施の形態においては,監視装置5は,特定ファイルのファイルサイズの変化に基づいて,監視対象の仮想マシン3の復元を検知する。そのため,ファイルサイズの変化に関する情報を取得するためには,監視装置5は,特定ファイルのファイルサイズ情報531を複数回受信している必要がある。したがって,本実施形態における監視装置5は,例えば,ファイルサイズ情報531を複数回受信していない場合には,仮想マシン3の復元の検知を行わない。以下,仮想マシン3の復元検知方法による復元の検知の具体例について説明する。
[仮想マシンの復元の検知の具体例]
図12及び図13は,特定ファイルの具体例を説明する図である。図12及び図13に示す特定ファイルを参照して,仮想マシン3の復元検知方法の説明を行う。なお,図12及び図13の例においては,監視装置5が特定ファイルを作成し,その特定ファイルにタイムスタンプを記憶する場合について説明する。
図12(A)に示す特定ファイルは,監視装置5が毎分タイムスタンプを記憶するファイルである。具体的に,図12(A)に示す特定ファイルは,監視の開始時から2014年2月28日9時16分00秒に記憶されたタイムスタンプ(図12(A)における20140228091600)までを記憶している状態である。また,図12(A)の状態における特定ファイルのファイルサイズは,49376バイトである。
そして,図12(B)は,図12(A)の状態から1分経過した後の特定ファイルの例である。すなわち,図12(B)に示す特定ファイルは,図12(A)の状態から,次のタイムスタンプがさらに記憶された状態である。具体的に,図12(B)に示す特定ファイルにおいては,図12(A)の状態において記憶されたタイムスタンプに加え,2014年2月28日9時17分00秒のタイムスタンプ(図12(B)における20140228091700)が記憶されている。
図12(B)の場合における特定ファイルのファイルサイズは,49392バイトである。そのため,図12(A)の状態における特定ファイルのファイルサイズである49376よりも増加している。すなわち,図12に示す特定ファイルは,ファイルサイズが累積して増加するファイルに該当するファイルである。したがって,監視装置5は,図12に示す特定ファイルのファイルサイズを監視することにより,この特定ファイルが配置された仮想マシン3の復元を検知することが可能になる。なお,監視装置5は,例えば,情報格納領域530に記憶された監視管理情報532を参照することにより,過去に受信した特定ファイルのファイルサイズを参照するものであってよい。
一方,図13は,仮想マシン3の復元が発生した場合における特定ファイルの具体例である。図13(A)に示す特定ファイルは,監視の開始時から2014年3月2日9時02分00秒のタイムスタンプ(図13(A)における20140302090200)まで記憶された状態である。また,図13(B)に示す特定ファイルは,図13(A)の状態から1分経過した後の特定ファイルの例である。図13(B)に示す特定ファイルは,2014年2月27日15時02分00秒のタイムスタンプの次に2014年3月2日9時03分00秒のタイムスタンプ(図13(B)における20140302090300)が記憶されている。すなわち,図13(B)の状態は,図13(A)の状態と比較して,2014年2月27日15時03分00秒から2014年3月2日9時02分00秒までのタイムスタンプが削除されている。そして,図13(B)の状態におけるファイルサイズは16336バイトであり,図13(A)の状態におけるファイルサイズである79696バイトよりも減少している。そのため,監視装置5が図13(B)の状態における特定ファイルのファイルサイズ情報531を受信した場合,その特定ファイルが配置されている仮想マシン3において復元が発生したことを検知することができる。
図11に戻り,仮想マシン3の復元を検知した場合(S21のYES),監視装置5は,例えば,監視対象の仮想マシン3の復元について詳細な調査を行う。そのため,この場合,監視装置5のファイル参照部514は,仮想マシン3にアクセスを行い,特定ファイルを参照する(S22)。そして,監視装置5の復元解析部515は,例えば,特定ファイルの解析を行う(S23)。具体的に,復元解析部515は,例えば,仮想マシン3の復元先の時間を算出する。また,監視装置5の復元通知部517は,例えば,監視対象の仮想マシン3において復元が発生した旨の管理者(管理サーバ1)に通知するものであってもよい(S24)。
なお,図13(B)の例において,2014年3月2日9時02分00秒のタイムスタンプは削除されておらず,2014年3月2日9時03分00秒のタイムスタンプが削除されている。そのため,監視装置5は,これらの間の時間の状態に仮想マシン3が復元したものと判断できる。すなわち,監視装置5は,例えば,特定ファイルとして,定期的にタイムスタンプが記憶されるファイルを採用することにより,監視対象の仮想マシン3における復元の発生のみでなく,復元先の時間の検知を行うことが可能になる。
具体的に,監視装置5は,監視対象の仮想マシン3の復元を検知した場合において,特定ファイルに記憶されたタイムスタンプ(以下,第1タイムスタンプとも称する)が示す時間と,第1タイムスタンプの次に特定ファイルに記憶されたタイムスタンプ(以下,第2タイムスタンプとも称する)が示す時間との時間差をそれぞれ算出する。ここで算出した時間差は,仮想マシン3の復元が発生しない場合には,タイムスタンプを記憶する時間間隔(図13の例においては1分)になる。そのため,算出した時間差の大半は,図13の例においては1分になる。
そして,監視装置5は,算出した時間差のうち,タイムスタンプを記憶する時間間隔よりも大きいものが存在する場合,第1タイムスタンプが示す時間からタイムスタンプを記録する時間間隔が経過するまでの時間に,監視対象の仮想マシン3の復元先の時間が含まれると判定する。図13(B)の例においては,2014年2月27日15時02分00秒を示すタイムスタンプの次に,2014年3月2日9時03分00秒を示すタイムスタンプが記憶されており,これらの時間差は1分以上である。そのため,この場合,監視装置5は,2014年2月27日15時02分00秒から1分を経過するまでの間に,監視対象の仮想マシン3の復元先の時間が含まれると判定することができる。なお,監視装置5は,特定ファイルにタイムスタンプを記憶する間隔を短くすることにより,仮想マシン3の復元が発生したときに,その復元先の時間をより正確に検知することが可能になる。
また,監視装置5は,特定ファイルの内容を参照することなく,特定ファイルのファイルサイズに基づいて,仮想マシン3の復元先の時間を判断するものであってもよい。図13の例において,図13(A)の状態の特定ファイルのファイルサイズが79696バイトであるのに対し,図13(B)の状態の特定ファイルのファイルサイズは,16336バイトである。この場合,監視装置5は,例えば,これらのファイルサイズの差を1分あたりのファイルサイズの増加量(図12及び図13の例では16バイト)で除算する。これによって,削除されたタイムスタンプが示す時間の長さを算出することができる。そして,監視装置5は,例えば,現在の時間から,削除されたタイムスタンプが示す時間の長さを減算することによって,仮想マシン3の復元先の時間を算出することが可能になる。
具体的に,図13の例においては,監視装置5は,79696バイトから16336バイトを減算した値を,1分あたりのファイルサイズの増加量である16バイトで除算し,削除されたタイムスタンプが示す時間の長さとして3960分を算出する。そして,監視装置5は,例えば,現在の時間である2014年3月2日9時03分00秒から3960分だけ遡った2014年2月27日15時03分00秒を算出し,これを仮想マシン3の復元先の時間として判定するものであってもよい。
図11に戻り,仮想マシン3の復元を検知した場合(S21のYES),ファイル作成部516は,例えば,監視対象の仮想マシン3における特定ファイルの更新を行う(S25)。そして,情報作成部512は,例えば,情報格納領域530に記憶された監視管理情報532を更新する(S26)。これにより,監視装置5は,監視対象の仮想マシン3の監視を継続することが可能になる。以下,監視管理情報532の具体例について説明する。
[監視管理情報の具体例]
図14は,監視管理情報532の具体例を示す図である。図14(A)の例において,監視管理情報532は,監視対象の仮想マシン3から受信したファイルサイズ情報531に基づき,仮想マシン3を識別するための識別情報と,それぞれの仮想マシン3に配置した特定ファイルの最新のファイルサイズとを対応付けて記憶している。図14(A)においては,監視装置5が4台の仮想マシン3(VM31,32,33,34)のファイルサイズ情報531の監視を行っている場合の例である。そして,図14(A)の例においては,仮想マシン3の最新のファイルサイズは,それぞれ17364バイト,5462バイト,45215バイト,2313バイトである。
復元検知部513は,例えば,監視対象の仮想マシン3の復元を検知する場合(S21),監視管理情報532を参照し,記憶されているファイルサイズ情報531を取得する。そして,復元検知部513は,S14において取得した現在のファイルサイズ情報531と,記憶されているファイルサイズ情報531との比較を行う。これにより,新たに受信したファイルサイズが監視管理情報532に記憶された過去のファイルサイズよりも小さいときに,監視対象の仮想マシン3の復元を検知することが可能になる。
具体的に,図14(B)の例は,図14(A)の状態において情報受信部511が仮想マシン32のファイルサイズ情報531を新たに受信した状態を示している。復元検知部513は,例えば,新たに仮想マシン32から受信したファイルサイズ情報531が示すファイルサイズと,仮想マシン32に対応して記憶されているファイルサイズとの比較を行う。そして,この場合,新たに仮想マシン32から受信したファイルサイズ情報531が示すファイルサイズ(例えば,5782バイト)が,仮想マシン32に対応して記憶されているファイルサイズ(図14(A)の例では,5462バイト)よりも大きい。そのため,復元検知部513は,仮想マシン32について復元は発生していないものと判定する。そして,情報作成部512は,図14(B)に示すように,例えば,VM32に対応して記憶されたファイルサイズ情報531が示すファイルサイズである5782バイトを監視管理情報532に記憶する。
なお,図14の例において,監視装置5は,監視対象の各仮想マシン3に関する最新のファイルサイズのみを記憶しているが,過去に受信したファイルサイズも含めて記憶しておくものであってもよい。
図11に戻り,受信したファイルサイズ情報531に基づいて監視管理情報532を更新した後(S26),監視装置5の監視管理部518は,例えば,情報格納領域530を参照し,監視管理情報531が示す時間だけ待機する(S27のYES,S28)。すなわち,監視管理部518は,情報格納領域530に記憶された監視頻度情報533の内容に基づいて,仮想マシン3の復元の検知を行うように時間の調整を行う。一方,監視対象の仮想マシン3の監視を終了する場合(S27のNO),監視装置5は,復元検知処理を終了する。また,図10のS15において,情報受信部511が特定ファイルのファイルサイズ情報531を複数回受信していない場合(S15のNO),監視管理部518は,監視頻度情報533が示す時間だけ待機する(S28)。
なお,図10及び図11の例において,監視装置5のファイル作成部516が特定ファイルを作成し,ファイルサイズ情報531を受信したときに,その特定ファイルの内容を更新する場合について説明した。これに対し,ファイルサイズが累積して増加する保証があるファイルが仮想マシン3内に存在する場合には,その仮想マシン3内のファイルを特定ファイルとして利用するものであってよい。また,仮想マシン3にインストールされたアプリケーション等によって,仮想マシン3が特定ファイルの更新を行うものであってもよい。この場合,ファイル作成部516は,特定ファイルの作成または更新を行う必要がなくなるため,監視を行う際におけるCPU等の負荷の軽減を行うことが可能になる。
また,特定ファイルは,例えば,仮想マシン3において出力されるログ(例えば,メモリ使用量の情報を含むログ)を蓄積するログファイルであってよい。このログファイルは,監視装置5が監視対象の仮想マシン3からファイルサイズ情報531を取得する毎に,新たなログを蓄積しているファイル(ファイルサイズが増加しているファイル)であることが好ましい。さらに,特定ファイルは,例えば,所定の条件を満たしたときに,特定ファイルを構成するファイル数が増加するファイルであってもよい。すなわち,特定ファイルは,複数のファイルから構成されるファイル群であり,例えば,一定の時間が経過する毎(日付が変わる毎等)に,監視対象の仮想マシン3等によって,新たなファイルが作成されるものであってよい。具体的に,特定ファイルは,発生したログを日毎に別ファイルで管理するファイル群等であってよい。この場合,監視装置5は,例えば,特定ファイルのファイルサイズとファイル数の情報とを含むファイルサイズ情報531を受信し,このファイル数に基づいて監視対象の仮想マシン3の復元を検知するものであってもよい。
[第2の実施の形態]
次に第2の実施の形態について説明する。図15及び図16は,第2の実施の形態における復元検知処理を説明する図である。また,図17及び図18は,第2の実施の形態における復元検知処理を示すフローチャート図である。
図15及び図16は,監視装置5が受信したファイルサイズ情報531が示すファイルサイズの具体例を示す図である。図15及び図16において,図8及び図9の例と同様に,横軸は,時間を示しており,縦軸は,特定ファイルのファイルサイズを示している。また,図15及び図16の例において,白抜き三角形は,ファイルサイズ情報531を受信した時間と,受信したファイルサイズ情報531が示すファイルサイズとが対応する点を示している。
図15に示す例は,時間経過に比例して累積してファイルサイズが一定の割合で増加する特定ファイルの例である。この特定ファイルは,例えば,図12において説明した定期的にタイムスタンプを記憶する特定ファイルが該当する。
そして,図16に示す例は,図15の状態から次のファイルサイズ情報531を受信した場合の例である。図16に示す例において,新たに受信したファイルサイズ情報531が示すファイルサイズは,過去に受信したファイルサイズ情報531が示すファイルサイズよりも大きい値である。しかし,図16において,時間が1分から4分の間に受信したファイルサイズの増加率が毎分約20バイトであるのに対し,時間が4分から5分の間に受信したファイルサイズの増加率は,毎分約10バイトに減少している。そのため,この場合,監視装置5は,仮想マシン3の復元が発生した可能性があると判断することができる。
すなわち,第2の実施の形態においては,第1の実施の形態と異なり,ファイルサイズが一定の割合で増加する特定ファイルについて,ファイルサイズの増加率を比較することによって,監視対象の仮想マシン3の復元を検知する。具体的に,監視装置5は,例えば,第1の時間における特定ファイルの第1ファイルサイズ情報と,第1の時間よりも第2の時間における特定ファイルの第2ファイルサイズ情報とに基づき,第1の時間と第2の時間との間における特定ファイルのファイルサイズの増加率(以下,第1増加率とも称する)を算出する。さらに,監視装置5は,第2ファイルサイズと,第2の時間よりも後の時間(以下,第3の時間とも称する)における特定ファイルの第3ファイルサイズ情報とに基づき,第2の時間と第3の時間との間における特定ファイルのファイルサイズの増加率(以下,第2増加率とも称する)を算出する。そして,監視装置5は,第1増加率よりも第2増加率が小さい場合,監視対象の仮想マシン3に復元が発生したものと判定する。以下,特定ファイルのファイルサイズが一定の割合で増加する場合の復元検知処理の詳細について説明する。
初めに,図17に示すように,情報受信部511は,例えば,第1の実施の形態と同様に,管理サーバ1等から監視開始指示を受信するまで待機する(S31)。そして,監視開始指示を受信した場合(S31のYES),ファイル作成部516は,例えば,特定ファイルを作成して監視対象の仮想マシン3(監視開始指示を受信した仮想マシン3)に配置する(S32)。
次に,情報作成部512は,例えば,情報格納領域530において特定ファイルのファイルサイズ情報531を記憶するための記憶領域を確保する(S33)。その後,情報受信部511は,例えば,監視対象の仮想マシン3にアクセスし,特定ファイルのファイルサイズ情報531を取得する(S34)。
そして,情報作成部512は,第1の実施の形態と異なり,特定ファイルのファイルサイズの現在の増加率(単位時間あたりの増加率)を算出する(S35)。具体的に,情報作成部512は,例えば,S34において取得したファイルサイズから,情報格納領域530に記憶された監視管理情報532に含まれるファイルサイズを取得して減算する。さらに,情報作成部512は,例えば,減算して算出した値を,監視頻度情報533が示す時間(ファイルサイズの受信間隔)で除算することにより,単位時間あたりの増加率を算出するものであってよい。
次に,情報作成部512は,過去の増加率が既に情報格納領域530に記憶されている場合(S36のYES),復元検知部513は,現在の増加率と過去の増加率の比較を行う(S41)。すなわち,特定ファイルのファイルサイズの増加率に基づいて仮想マシン3の復元を検出するためには,S35において算出した増加率と比較する過去の増加率が既に記憶されている必要がある。そのため,監視装置5は,ファイルサイズの過去の増加率が記憶されていない場合には,仮想マシン3の検知を行わずに,情報受信部511が次のファイルサイズ情報531を受信するまで待機する(図18のS49)。
そして,図18に示すように,現在の増加率と過去の増加率との比較を行った結果,これらの増加率が一致する場合(S41のYES),ファイル作成部516は,例えば,監視対象の仮想マシン3における特定ファイルの更新を行う(S45)。そして,情報作成部512は,例えば,情報格納領域530に記憶された監視管理情報532を更新する(S46,S47)。
図19は,第2の実施の形態における監視管理情報532の具体例を示す図である。図19の例における監視管理情報532は,監視対象の仮想マシン3を識別するための識別情報と,その仮想マシン3に配置された特定ファイルの最新のファイルサイズと,その特定ファイルのファイルサイズの増加率とを対応付けて記憶している。具体的に,図19(A)においては,監視装置5が4台の仮想マシン3(VM31,32,33,34)のファイルサイズ情報531の監視を行っている場合の例である。そして,図19(A)の例においては,仮想マシン3の最新のファイルサイズは,それぞれ17364バイト,5462バイト,45215バイト,2313バイトである。また,図19(A)の例において,各仮想マシン3の特定ファイルのファイルサイズの増加率は,全て毎分160バイトである。なお,図19の例においては,各仮想マシン3の特定ファイルは,1分毎に更新されるものとする。また,図19の例において,監視装置5は,各仮想マシン3から2分毎にファイルサイズ情報531を受信するものとする。
図19において,例えば,情報受信部511がVM32からファイルサイズ情報531を取得した場合(S34),情報作成部512は,VM32における特定ファイルのファイルサイズの増加率を算出する(S35)。具体的に,情報作成部512は,図19(A)に示す監視管理情報532を参照して,VM32の特定ファイルのファイルサイズとして記憶されている5462バイトを取得する。そして,S34において取得したファイルサイズ(図19の例においては,5782バイト)から監視管理情報532から取得したファイルサイズ(5462バイト)を減算して,監視装置5のファイルサイズ情報531の受信間隔(図19の例においては2分)で除算する。そして,情報作成部512は,新たな増加率として毎分160バイトを取得する(S35)。
次に,復元検知部513は,例えば,VM32の増加率として監視管理情報532に含まれる過去の増加率である毎分160バイトを取得する。そして,S35において算出した新たな増加率と,監視管理情報532に含まれる過去の増加率との比較を行う(S36)。図19(A)の例においては,新たな増加率と過去の増加率はともに毎分160バイトであるため,これらは一致している。そのため,復元検知部513は,監視対象の仮想マシン3に復元が発生していないものと判定する(S36のYES)。一方,新たな増加率と過去の増加率とが一致しない場合,復元検知部513は,監視対象の仮想マシン3に復元が発生したものと判定する(S36のNO)。
そして,図19(B)に示すように,情報作成部512は,例えば,VM32の識別情報に対応付けて,S34で取得したファイルサイズ(5782バイト),及びS35で取得した新たな増加率(毎分160バイト)の情報を監視管理情報532に記憶する。
このように,第2の実施の形態によれば,監視装置5は,ファイルサイズが一定の割合で増加する特定ファイルに基づいて監視を行う場合において,特定ファイルのファイルサイズの増加率を管理する。そして,監視装置5は,新たに算出した増加率が過去に算出した増加率よりも小さいときに,監視対象の仮想マシン3において復元が発生したものと判定する。これにより,監視装置5は,受信したファイルサイズが過去に受信したファイルサイズよりも大きい場合において発生している仮想マシン3の復元についても検知することが可能になる。
[第3の実施の形態]
次に第3の実施の形態について説明する。図20及び図21は,第3の実施の形態における復元検知処理を示すフローチャート図である。
監視装置5が特定ファイルの更新を行う場合,監視装置5は,例えば,仮想マシン3の復元の実行有無の確認を行った後に,特定ファイルの更新を行うように処理タイミングを制御することができる。そこで,第3の実施の形態においては,監視装置5が特定ファイルの更新を行う場合において,復元検知部513は,情報格納領域530に記憶した監視管理情報532に含まれるファイルサイズと,監視対象の仮想マシン3から再度取得したファイルサイズとを比較することにより,仮想マシン3の復元の検知を行う。すなわち,情報格納領域530に記憶したファイルサイズは,監視対象の仮想マシン3から受信した特定ファイルのファイルサイズであり,次のファイルサイズ情報531を受信するまでは変更されることはない。また,監視対象の仮想マシン3から再度取得したファイルサイズも,監視装置5によって特定ファイルの更新が行われるまで変更されることはない。しかし,監視対象の仮想マシン3から再度取得したファイルサイズは,仮想マシン3の復元が発生した場合に限り減少する可能性がある。そのため,監視装置5は,情報格納領域530に記憶したファイルサイズと,仮想マシン3から再度取得したファイルサイズとの比較を行う。そして,監視装置5は,これらのファイルサイズが一致しないことを検知した場合に,仮想マシン3の復元が発生したと判定する。以下,監視管理情報532に含まれるファイルサイズと,仮想マシン3から再度取得したファイルサイズとを比較する場合の復元検知処理の詳細について説明する。
初めに,図20に示すように,情報受信部511は,例えば,図10に示す場合と同様に,管理サーバ1等から監視開始指示を受信するまで待機する(S51)。そして,監視開始指示を受信した場合(S51のYES),ファイル作成部516は,例えば,特定ファイルを作成して監視対象の仮想マシン3(監視開始指示を受信した仮想マシン3)に配置する(S52)。
次に,情報作成部512は,例えば,情報格納領域530において特定ファイルのファイルサイズ情報531を記憶するための記憶領域を確保する(S53)。その後,情報受信部511は,例えば,監視対象の仮想マシン3にアクセスし,特定ファイルのファイルサイズ情報531を取得する(S54)。
そして,情報作成部512は,第1の実施の形態と異なり,S54において取得した現在のファイルサイズと,情報格納領域530に記憶されているファイルサイズとの比較を行う(S61)。そして,これらのファイルサイズが一致した場合(S61のYES),ファイル作成部516は,例えば,監視対象の仮想マシン3における特定ファイルの更新を行う(S65)。そして,情報作成部512は,例えば,受信したファイルサイズ情報531に基づき,情報格納領域530に記憶された監視管理情報532を更新する(S66)。その他の処理の内容は,第1の実施の形態において説明した内容と同様であるため,説明を省略する。
このように,第3の実施の形態によれば,監視装置5が特定ファイルの更新を行う場合において,監視装置5は,情報格納領域530に記憶した監視管理情報532に含まれるファイルサイズと,監視対象の仮想マシン3から再度取得したファイルサイズとを比較する。そして,これらのファイルサイズが一致しない場合に,監視対象の仮想マシン3において復元が発生したものと判定する。これにより,監視装置5は,比較するファイルサイズが一致するか否かを確認するだけで仮想マシン3の復元の検知ができる。そのため,より容易に仮想マシン3の復元の検知を行うことができる。
[第4の実施の形態]
次に第4の実施の形態について説明する。図22は,第4の実施の形態における復元検知処理を説明する図である。また,図23から図25は,第4の実施の形態における復元検知処理を示すフローチャート図である。
第4の実施の形態においては,第1の実施の形態等と異なり,図22に示すように,監視対象の仮想マシン3に監視ソフトウエア51をインストールしている。この監視ソフトウエア51は,監視装置5が行う復元検知処理の一部を実行するものである。監視装置5は,監視ソフトウエア51を用いて仮想マシン3の監視を行うことにより,例えば,監視対象の仮想マシンの数が多い場合等に,監視装置5の処理負担を軽減することが可能になる。
第4の実施の形態において,監視装置5は,例えば,情報受信部511と,情報作成部512と,情報送信部519との機能を担う。そして,監視ソフトウエア51は,監視対象の仮想マシン3のCPU等のリソースを使用することにより,例えば,図5に示す復元検知部513と,ファイル参照部514と,復元解析部515と,ファイル作成部516と,復元検知部517と,監視管理部518との機能を担う。また,第4の実施の形態において,監視ソフトウエア51は,監視装置5とファイルサイズ情報531の送受信を行うための情報受信部(図示しない)と,情報送信部(図示しない)とを有しているものとする。以下,第4の実施の形態における復元検知処理の詳細について説明する。なお,以下の説明において,第3の実施の形態において説明した復元検知処理によって,監視装置5が仮想マシン3の復元を検知する場合について説明する。
初めに,監視装置5において実行される復元検知処理について説明する。図23に示すように,情報受信部511は,例えば,管理サーバ1等から監視開始指示を受信するまで待機する(S71)。そして,監視開始指示を受信した場合(S71のYES),情報作成部512は,例えば,情報格納領域530において特定ファイルのファイルサイズ情報531を記憶するための記憶領域を確保する(S72)。さらに,情報作成部512は,例えば,ファイルサイズ情報531を記憶するための領域に,監視を開始する仮想マシン3と対応付けて0バイトを記憶する(S72)。すなわち,図23及び図24の例において,監視ソフトウエア51は,後述するように,監視開始指示を受信したときに特定ファイルを作成する(S81のYES,S82)。そのため,監視装置5は,S72において,監視対象の仮想マシン3と対応して特定ファイルのファイルサイズの初期値である0バイトを記憶する。そして,情報送信部519は,監視対象の仮想マシン3に,その仮想マシン3と対応して記憶されているファイルサイズをファイルサイズ情報531として監視ソフトウエア51に記憶する(S74)。
次に,情報受信部511は,更新された特定ファイルのファイルサイズを示すファイルサイズ情報531を,監視ソフトウエア51から受信するまで待機する(S75)。そして,ファイルサイズ情報531を受信した場合(S76),情報作成部512は,例えば,受信したファイルサイズ情報531に基づき,情報格納領域530に記憶された監視管理情報532を更新する(S76)。すなわち,第4の実施の形態においては,仮想マシン3の復元の検知や解析は監視ソフトウエア51が行う。そのため,監視装置5は,例えば,監視ソフトウエア51から受信したファイルサイズの記憶等の処理を行う。
次に,監視ソフトウエア51において実行される復元検知処理について説明する。図24に示すように,監視ソフトウエア51の情報受信部は,例えば,管理サーバ1等から監視開始指示を受信するまで待機する(S81)。そして,監視開始指示を受信した場合(S81のYES),ファイル作成部516は,例えば,特定ファイルを作成して監視対象の仮想マシン3(監視開始指示を受信した仮想マシン3)に配置する(S82)。
次に,監視ソフトウエア51の情報受信部が監視装置5からファイルサイズ情報を受信した場合(S83のYES),情報受信部511は,例えば,特定ファイルのファイルサイズ情報531を取得する(S84)。
そして,図24に示すように,情報作成部512は,S84において取得した現在のファイルサイズと,情報格納領域530に記憶されているファイルサイズとの比較を行う(S91)。その結果,これらのファイルサイズが一致した場合(S91のYES),ファイル作成部516は,例えば,特定ファイルの更新を行う(S95)。そして,情報作成部512は,例えば,受信したファイルサイズ情報に基づき,情報格納領域530に記憶された監視管理情報532を更新する(S96)。さらに,監視ソフトウエア51の情報送信部は,例えば,特定ファイルの更新後におけるファイルサイズを示すファイルサイズ情報531に送信する(S97)。その他の処理の内容は,第1の実施の形態において説明した内容と同様であるため,説明を省略する。
このように,第4の実施の形態によれば,復元検知処理を行うための処理の一部を,監視対象の仮想マシン3にインストールされた監視ソフトウエア51によって行う。これにより,監視装置5は,復元検知処理の実行に伴う処理負担を,各仮想マシン3に分散することが可能になる。そのため,監視装置5の処理負担を軽減することが可能になる。
以上の実施の形態をまとめると,以下の付記のとおりである。
(付記1)
監視対象の仮想マシンから,ファイルサイズが累積して増加する特定ファイルのファイルサイズを示すファイルサイズ情報を受信し,
前記受信したファイルサイズ情報に基づき,前記仮想マシンの復元を検知する
復元検知方法。
(付記2)
付記1において,
前記ファイルサイズ情報は,第1の時間における前記特定ファイルのファイルサイズを示す第1ファイルサイズ情報と,前記第1の時間より後の第2の時間における前記特定ファイルのファイルサイズを示す第2ファイルサイズ情報とを含み,
前記検知では,前記第1ファイルサイズ情報と前記第2ファイルサイズ情報とに基づき,前記仮想マシンの復元を検知する復元検知方法。
(付記3)
付記2において,
前記検知では,前記第2ファイルサイズ情報が前記第1ファイルサイズ情報より小さい場合,前記復元が発生したと判定する復元検知方法。
(付記4)
付記2において,
前記特定ファイルは,時間経過に伴い一定の割合でファイルサイズが増加するファイルであり,
前記受信では,さらに,前記第2の時間より後の第3の時間における前記特定ファイルのファイルサイズを示す第3ファイルサイズ情報を受信し,
前記検知では,前記第1及び第2ファイルサイズ情報に基づく前記第1の時間と前記第2の時間との間における前記ファイルサイズの第1増加率よりも,前記第2及び第3ファイルサイズ情報に基づく前記第2の時間と前記第3の時間との間における前記ファイルサイズの第2増加率が小さい場合,前記復元が発生したと判定する復元検知方法。
(付記5)
付記2において,
前記第2の時間は,前記第1の時間の後,前記特定ファイルのファイルサイズが増加する前の時間であり,
前記検知では,前記第1ファイルサイズ情報と前記第2ファイルサイズ情報とが一致しないときに,前記復元が発生したと判定する復元検知方法。
(付記6)
付記1乃至5において,
前記特定ファイルは,所定の時間毎にタイムスタンプを記憶するファイルであり,
前記検知では,前記復元が発生したと判定した際に,さらに,前記特定ファイルに記憶された第1タイムスタンプが示す時間と,該第1タイムスタンプの次に前記特定ファイルに記憶された第2タイムスタンプが示す時間との時間差を算出し,該時間差のうち前記所定の時間よりも大きいものが存在する場合,前記第1タイムスタンプが示す時間から前記所定の時間が経過するまでの間に,前記仮想マシンの復元先の時間が含まれると判定する復元検知方法。
(付記7)
付記1において,
前記特定ファイルは,前記仮想マシンにおいて出力されるログを蓄積するログファイルである復元検知方法。
(付記8)
付記1において,
特定ファイルは,所定の条件で該特定ファイルを構成するファイル数が増加するファイルであり,
前記ファイルサイズ情報は,前記ファイル数を含む復元検知方法。
(付記9)
付記1において,
前記検知では,第3の時間における前記特定ファイルのファイルサイズを示す第3のファイルサイズ情報と,前記受信した,前記第3の時間とは異なる第4の時間におけるファイルサイズを示す第4のファイルサイズ情報とに基づき,前記仮想マシンの復元を検知する復元検知方法。
(付記10)
監視対象の仮想マシンから,ファイルサイズが累積して増加する特定ファイルのファイルサイズを示すファイルサイズ情報を受信する受信部と,
前記受信したファイルサイズ情報に基づき,前記仮想マシンの復元を検知する検知部と,を有する
復元検知装置。
(付記11)
監視対象の仮想マシンから,ファイルサイズが累積して増加する特定ファイルのファイルサイズを示すファイルサイズ情報を受信し,
前記受信したファイルサイズ情報に基づき,前記仮想マシンの復元を検知する
処理をコンピュータに実行させる復元検知プログラム。
1:管理サーバ 2:VMホスト
3:仮想マシン 4:仮想化ソフトウエア
5:監視装置 8:利用者端末

Claims (7)

  1. 監視対象の仮想マシンから,ファイルサイズが累積して増加する特定ファイルのファイルサイズを示すファイルサイズ情報を受信し,
    前記受信したファイルサイズ情報に基づき,前記仮想マシンの復元を検知する
    復元検知方法。
  2. 請求項1において,
    前記ファイルサイズ情報は,第1の時間における前記特定ファイルのファイルサイズを示す第1ファイルサイズ情報と,前記第1の時間より後の第2の時間における前記特定ファイルのファイルサイズを示す第2ファイルサイズ情報とを含み,
    前記検知では,前記第1ファイルサイズ情報と前記第2ファイルサイズ情報とに基づき,前記仮想マシンの復元を検知する復元検知方法。
  3. 請求項2において,
    前記検知では,前記第2ファイルサイズ情報が前記第1ファイルサイズ情報より小さい場合,前記復元が発生したと判定する復元検知方法。
  4. 請求項2において,
    前記特定ファイルは,時間経過に伴い一定の割合でファイルサイズが増加するファイルであり,
    前記受信では,さらに,前記第2の時間より後の第3の時間における前記特定ファイルのファイルサイズを示す第3ファイルサイズ情報を受信し,
    前記検知では,前記第1及び第2ファイルサイズ情報に基づく前記第1の時間と前記第2の時間との間における前記ファイルサイズの第1増加率よりも,前記第2及び第3ファイルサイズ情報に基づく前記第2の時間と前記第3の時間との間における前記ファイルサイズの第2増加率が小さい場合,前記復元が発生したと判定する復元検知方法。
  5. 請求項2において,
    前記第2の時間は,前記第1の時間の後,前記特定ファイルのファイルサイズが増加する前の時間であり,
    前記検知では,前記第1ファイルサイズ情報と前記第2ファイルサイズ情報とが一致しないときに,前記復元が発生したと判定する復元検知方法。
  6. 監視対象の仮想マシンから,ファイルサイズが累積して増加する特定ファイルのファイルサイズを示すファイルサイズ情報を受信する受信部と,
    前記受信したファイルサイズ情報に基づき,前記仮想マシンの復元を検知する検知部と,を有する
    復元検知装置。
  7. 監視対象の仮想マシンから,ファイルサイズが累積して増加する特定ファイルのファイルサイズを示すファイルサイズ情報を受信し,
    前記受信したファイルサイズ情報に基づき,前記仮想マシンの復元を検知する
    処理をコンピュータに実行させる復元検知プログラム。
JP2014121307A 2014-06-12 2014-06-12 復元検知方法,復元検知装置及び復元検知プログラム Active JP6337631B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014121307A JP6337631B2 (ja) 2014-06-12 2014-06-12 復元検知方法,復元検知装置及び復元検知プログラム
US14/733,545 US9983949B2 (en) 2014-06-12 2015-06-08 Restoration detecting method, restoration detecting apparatus, and restoration detecting program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014121307A JP6337631B2 (ja) 2014-06-12 2014-06-12 復元検知方法,復元検知装置及び復元検知プログラム

Publications (2)

Publication Number Publication Date
JP2016001421A true JP2016001421A (ja) 2016-01-07
JP6337631B2 JP6337631B2 (ja) 2018-06-06

Family

ID=54836245

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014121307A Active JP6337631B2 (ja) 2014-06-12 2014-06-12 復元検知方法,復元検知装置及び復元検知プログラム

Country Status (2)

Country Link
US (1) US9983949B2 (ja)
JP (1) JP6337631B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11599559B2 (en) * 2019-04-19 2023-03-07 EMC IP Holding Company LLC Cloud image replication of client devices

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080022032A1 (en) * 2006-07-13 2008-01-24 Microsoft Corporation Concurrent virtual machine snapshots and restore
JP2009086701A (ja) * 2007-09-27 2009-04-23 Toshiba Corp 仮想計算機システム及び同システムにおける仮想マシン復元方法
US20100049930A1 (en) * 2008-08-25 2010-02-25 Vmware, Inc. Managing Backups Using Virtual Machines
JP2011060055A (ja) * 2009-09-11 2011-03-24 Fujitsu Ltd 仮想計算機システム、仮想マシンの復旧処理方法及びそのプログラム
JP2011186783A (ja) * 2010-03-09 2011-09-22 Fujitsu Ltd スナップショット管理方法、スナップショット管理装置、及びプログラム
WO2012042555A1 (ja) * 2010-09-27 2012-04-05 株式会社日立製作所 計算機システム及びその管理方法
JP2014021754A (ja) * 2012-07-19 2014-02-03 Ntt Data Corp 仮想マシン管理システム、仮想マシン管理方法およびプログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3517477B2 (ja) 1995-04-07 2004-04-12 キヤノン株式会社 ハイパーテキストシステム及びその表示方法
JP2002544636A (ja) 1999-05-17 2002-12-24 スマート コンテナ ピーティーワイ リミテッド 制御下にある移動性環境の監視
JP2007207271A (ja) 2007-04-05 2007-08-16 Hitachi Ltd 情報フロー提供方法及び情報フロー提供システム

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080022032A1 (en) * 2006-07-13 2008-01-24 Microsoft Corporation Concurrent virtual machine snapshots and restore
JP2009086701A (ja) * 2007-09-27 2009-04-23 Toshiba Corp 仮想計算機システム及び同システムにおける仮想マシン復元方法
US20100049930A1 (en) * 2008-08-25 2010-02-25 Vmware, Inc. Managing Backups Using Virtual Machines
JP2011060055A (ja) * 2009-09-11 2011-03-24 Fujitsu Ltd 仮想計算機システム、仮想マシンの復旧処理方法及びそのプログラム
JP2011186783A (ja) * 2010-03-09 2011-09-22 Fujitsu Ltd スナップショット管理方法、スナップショット管理装置、及びプログラム
WO2012042555A1 (ja) * 2010-09-27 2012-04-05 株式会社日立製作所 計算機システム及びその管理方法
JP2014021754A (ja) * 2012-07-19 2014-02-03 Ntt Data Corp 仮想マシン管理システム、仮想マシン管理方法およびプログラム

Also Published As

Publication number Publication date
US20150363279A1 (en) 2015-12-17
US9983949B2 (en) 2018-05-29
JP6337631B2 (ja) 2018-06-06

Similar Documents

Publication Publication Date Title
US10379967B2 (en) Live rollback for a computing environment
US9760395B2 (en) Monitoring hypervisor and provisioned instances of hosted virtual machines using monitoring templates
US10268564B2 (en) Dynamic tracing using ranking and rating
JP5440273B2 (ja) スナップショット管理方法、スナップショット管理装置、及びプログラム
CN111625201B (zh) 用于存储客户端文件系统的存储卷的动态缩放
US9652332B2 (en) Information processing apparatus and virtual machine migration method
KR101059199B1 (ko) 클라우드 컴퓨팅 통합보안관제시스템 및 그 방법
US11157373B2 (en) Prioritized transfer of failure event log data
US20160224329A1 (en) Automated software configuration management
US10331507B2 (en) Systems and methods for real time computer fault evaluation
US9135078B2 (en) Configuration information management server, configuration information management method and configuration management program
JP2016103144A (ja) 仮想マシン配備方法、仮想マシン配備プログラム及び仮想マシン配備システム
US11675611B2 (en) Software service intervention in a computing system
CN112306802A (zh) 系统的数据获取方法、装置、介质和电子设备
JP6295856B2 (ja) 管理支援方法,管理支援装置及び管理支援プログラム
US9686174B2 (en) Scalable extendable probe for monitoring host devices
JP2015194797A (ja) 監視漏れ特定処理プログラム,監視漏れ特定処理方法及び監視漏れ特定処理装置
JP6337631B2 (ja) 復元検知方法,復元検知装置及び復元検知プログラム
US20180287914A1 (en) System and method for management of services in a cloud environment
CN112817687A (zh) 一种数据同步方法和装置
US10817322B2 (en) Virtual machine management apparatus and virtual machine management method
JP6915345B2 (ja) クラウド管理装置、クラウド管理方法、及びプログラム
JP6394212B2 (ja) 情報処理システム、ストレージ装置及びプログラム
JP2018063518A (ja) 管理サーバ、管理方法及びそのプログラム
WO2021096346A1 (en) A computer-implemented system for management of container logs and its method thereof

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170309

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171226

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180109

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180309

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180423

R150 Certificate of patent or registration of utility model

Ref document number: 6337631

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150