JPWO2013042268A1 - サーバ装置、ログ転送プログラム、ログ転送方法およびログ転送システム - Google Patents

サーバ装置、ログ転送プログラム、ログ転送方法およびログ転送システム Download PDF

Info

Publication number
JPWO2013042268A1
JPWO2013042268A1 JP2013534556A JP2013534556A JPWO2013042268A1 JP WO2013042268 A1 JPWO2013042268 A1 JP WO2013042268A1 JP 2013534556 A JP2013534556 A JP 2013534556A JP 2013534556 A JP2013534556 A JP 2013534556A JP WO2013042268 A1 JPWO2013042268 A1 JP WO2013042268A1
Authority
JP
Japan
Prior art keywords
log
virtual machine
server device
storage unit
server
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
JP2013534556A
Other languages
English (en)
Other versions
JP5686199B2 (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.)
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
Application granted granted Critical
Publication of JP5686199B2 publication Critical patent/JP5686199B2/ja
Publication of JPWO2013042268A1 publication Critical patent/JPWO2013042268A1/ja
Expired - Fee Related 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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0712Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a virtual computing platform, e.g. logically partitioned systems
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0787Storage of error reports, e.g. persistent data storage, storage using memory protection
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/203Failover techniques using migration
    • 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
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • 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/5083Techniques for rebalancing the load in a distributed system
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration
    • 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/1471Saving, restoring, recovering or retrying involving logging of persistent data for recovery
    • 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/1479Generic software techniques for error detection or fault masking
    • G06F11/1482Generic software techniques for error detection or fault masking by means of middleware or OS functionality
    • G06F11/1484Generic software techniques for error detection or fault masking by means of middleware or OS functionality involving virtual machines
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2097Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements maintaining the standby controller/processing unit updated
    • 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/45583Memory management, e.g. access or allocation
    • 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
    • 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
    • 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)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

サーバ装置(10)は、仮想化制御部(13)と、記憶部(14)と、転送部(15)とを有する。仮想化制御部(13)は、コンピュータを仮想化した仮想マシンを動作させ、他のサーバ装置(12)との間で仮想マシンのマイグレーションを制御する。記憶部(14)は、仮想マシンに対応させて、該仮想マシンが生成するログを記憶する。転送部(15)は、仮想マシンを他のサーバ装置(12)へマイグレーションする場合、記憶部(14)に記憶されたマイグレーション対象の仮想マシンのログを該他のサーバ装置(12)へ転送する。

Description

本発明は、サーバ装置、ログ転送プログラム、ログ転送方法およびログ転送システムに関する。
近年、物理サーバ上で、仮想マシン(Virtual Machine)を動作させる仮想化技術が利用されている。例えば、各企業では、仮想化ソフトウエアを利用して物理サーバ上で仮想マシンを動作させる環境が増加している。また、インターネット上のパブリッククラウド環境や企業内のプライベートクラウド環境においても、コンピュータリソースを有効活用するために、仮想化ソフトウエアが基盤要素技術として利用されている。仮想化ソフトウエアは、仮想化ソフトウエアが動作する物理サーバに何らかの異常または異常の兆候がある場合に、物理サーバ上で動作する仮想マシンを他の物理サーバ上へ移動する機能がある。かかる移動は「マイグレーション」とも称される。
ところで、仮想マシンのログは、動作する物理サーバ上に記憶されるため、仮想マシンが複数の物理サーバを移動した場合、複数の物理サーバに分散して記憶される。このため、仮想マシンに何らかの不具合が生じた場合、仮想マシンを管理する管理者は、仮想マシンの移動履歴をたどって、複数の物理サーバに散らばった仮想マシンのログを調査する必要がある。
そこで、複数の物理サーバに分散して記憶されたログファイルへリンクを張り、管理端末の画面からリンクをクリックすることで物理サーバのログファイルを参照可能とする技術が提案されている。
また、仮想マシンを他の物理サーバに移動させる変更が生じた場合、移動元の物理サーバから管理サーバへログ情報を移動させて集約する技術が提案されている。
特開2010−277595号公報 特開2011−8481号公報
しかしながら、従来の技術では、仮想マシンのログが複数のサーバに分散して記憶されるため、仮想マシンのログの調査作業が煩雑になる場合がある。
例えば、ログファイルへリンクを張る技術では、物理サーバのネットワーク上での位置が変更された場合や、物理サーバ内でのログファイルの記憶位置が変更された場合、ログファイルを参照できなくなる。また、ログファイルへリンクを張る技術では、仮想マシンに不具合が生じた時に、過去に移動したことがある物理サーバが故障やすでに存在しない場合に過去をさかのぼってのログの調査が行えない。
また、仮想マシンを他の物理サーバに移動させる際にログ情報を管理サーバへ収集する技術では、仮想マシンが動作中の物理サーバと管理サーバにログ情報が分散して記憶される。
1つの側面では、仮想マシンのログの調査を容易に行うことができるサーバ装置、ログ転送プログラム、ログ転送方法およびログ転送システムを提供することを目的とする。
第1の案では、サーバ装置は、コンピュータを仮想化した仮想マシンを動作させ、他のサーバ装置との間で前記仮想マシンのマイグレーションを制御する仮想化制御部を有する。サーバ装置は、前記仮想マシンに対応させて、該仮想マシンが生成するログを記憶する記憶部を有する。サーバ装置は、前記仮想マシンを他のサーバ装置へマイグレーションする場合、前記記憶部に記憶されたマイグレーション対象の仮想マシンのログを該他のサーバ装置へ転送する転送部を有する。
仮想マシンのログの調査を容易に行うことができる。
図1は、サーバ装置を含むシステムの全体構成を示す図である。 図2は、実施例2に係るシステムの機能的な構成の一例を示す図である。 図3は、記憶部に記憶されたログのデータ構成の一例を示す図である。 図4は、転送されるログのデータ構成の一例を示す図である。 図5は、転送されたログと記憶部に既に存在するログを結合した結果の一例を示す図である。 図6は、ログ転送処理の手順を示すフローチャートである。 図7は、ログ格納処理の手順を示すフローチャートである。 図8は、実施例3に係るシステムの機能的な構成の一例を示す図である。 図9は、ログのファイル名の変更を説明する図である。 図10は、ログ転送処理の手順を示すフローチャートである。 図11は、実施例4に係るシステムの機能的な構成の一例を示す図である。 図12は、ログ未転送を通知する通信データのデータ構成の一例を示す図である。 図13は、第1テーブルのデータ構成の一例を示す図である。 図14は、第2テーブルのデータ構成の一例を示す図である。 図15は、移動指示する通信データのデータ構成の一例を示す図である。 図16は、マイグレーション処理の手順を示すフローチャートである。 図17は、監視処理の手順を示すフローチャートである。 図18は、参照処理の手順を示すフローチャートである。 図19は、ログ転送プログラムを実行するコンピュータを示す図である。
以下に、本発明にかかるサーバ装置、ログ転送プログラム、ログ転送方法およびログ転送システムの実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
実施例1に係るサーバ装置10について説明する。図1は、サーバ装置を含むシステムの全体構成を示す図である。サーバ装置10は、コンピュータを仮想化した仮想マシンを動作させて、ユーザに対して各種のサービスを提供する物理サーバであり、例えば、データセンサや各企業に設けられたサーバコンピュータである。サーバ装置10は、ネットワーク11を介して他のサーバ装置12と互いに通信可能とする。サーバ装置12も、仮想マシンを動作させることが可能とする。サーバ装置10とサーバ装置12は、ネットワーク11を介して互いに仮想マシンのマイグレーションを行うことが可能とする。かかるネットワーク11の一態様としては、有線または無線を問わず、インターネット(Internet)、LAN(Local Area Network)やVPN(Virtual Private Network)などの任意の通信網が挙げられる。
図1に示すように、サーバ装置10は、仮想化制御部13と、記憶部14と、転送部15とを有する。
仮想化制御部13は、コンピュータを仮想化した仮想マシンを動作させる。例えば、仮想化制御部13は、仮想化技術により仮想マシンを動作させる仮想環境を実現しており、コンピュータを仮想化した仮想マシンを動作させる制御を行う。この仮想化技術としては、例えば、ハードウェアの機能により論理的に分割するLPAR(Logical PARtitioning)やソフトウェアにより論理的に分割する仮想化ソフトウエアなどがある。また、仮想化制御部13は、サーバ装置12との間で仮想マシンのマイグレーションの制御を行う。仮想マシンは、仮想環境においてアプリケーションやファームウェアなどのプログラムの処理を実行し、実行した処理に関するログを生成する。
記憶部14は、各種情報を記憶する。例えば、記憶部14は、仮想マシンに対応させて、仮想マシンが生成するログを記憶する。このログは、それぞれの仮想マシンが実行した処理の履歴を示すものである。例えば、ログは、処理を実行した日時や、処理内容、処理の実行結果などの情報がログのファイルに追加書き込みで記憶されたものである。記憶部14のデバイスの一例としては、フラッシュメモリやNVSRAM(Non Volatile Static Random Access Memory)などのデータを書き換え可能な半導体メモリや、ハードディスク、光ディスクなどの記憶装置が挙げられる。
転送部15は、仮想マシンをサーバ装置12へマイグレーションする場合、仮想マシンに関する各種情報を転送する。例えば、転送部15は、記憶部14に記憶されたマイグレーション対象の仮想マシンのログをサーバ装置12へ転送する。転送されたログは、サーバ装置12で記憶される。なお、図1の例では、機能的な構成を示したため、仮想化制御部13、転送部15を別に分けているが、例えば、1つのデバイスで構成してもよい。デバイスの一例としては、CPU(Central Processing Unit)やMPU(Micro Processing Unit)などの電子回路が挙げられる。なお、デバイスとして、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの集積回路を採用することもできる。
このように、サーバ装置10は、仮想マシンを動作させており、仮想マシンに対応させて、該仮想マシンが生成するログを記憶部14に記憶する。また、サーバ装置10は、仮想マシンを他のサーバ装置12へマイグレーションする場合、記憶部に記憶されたマイグレーション対象の仮想マシンのログを他のサーバ装置12へ転送する。これにより、仮想マシンを実行する物理サーバに、マイグレーション前の物理サーバで該仮想マシンを実行した処理のログも移動する。この結果、仮想マシンのログの調査を行う際に、マイグレーション前の物理サーバなど他のサーバまで調査する手間も省ける。したがって、サーバ装置10によれば、仮想マシンのログの調査を容易に行うことができる。
また、サーバ装置10によれば、仮想マシンのマイグレーションに伴って該仮想マシンのログが移動するため、ログを管理サーバなどに集約する場合と比較して、管理サーバへの負荷集中が軽減される。
実施例2について説明する。実施例2では、複数のサーバ装置の間で仮想マシンであるVMゲストのマイグレーションが可能とされたシステム20について説明する。図2は、実施例2に係るシステムの機能的な構成の一例を示す図である。システム20は、複数のサーバ装置30と、管理サーバ40とを有する。各サーバ装置30と管理サーバ40との間は、ネットワーク21を介して通信可能に接続される。かかるネットワーク21の一態様としては、有線または無線を問わず、インターネット、LANやVPNなどの任意の通信網が挙げられる。
サーバ装置30は、仮想マシンであるVMゲスト37を動作させることが可能とされた機器であり、他のサーバ装置30との間でVMゲスト37のマイグレーションを行う。管理サーバ40は、各サーバ装置30で動作するVMゲスト37を管理しており、各サーバ装置30へ仮想マシンのマイグレーション指示を送信する。このマイグレーション指示には、移動対象とするVMゲスト37に関する情報や移動元、移動先を示す情報などの情報が含まれる。なお、図2の例では、サーバ装置30を2つ図示したが、サーバ装置30が3つ以上であってもよい。また、図2の例では、管理サーバ40を1つ図示したが、管理サーバ40が2つ以上であってもよい。
(サーバ装置の構成)
図2に示すように、サーバ装置30は、通信制御I/F部31と、記憶部32と、制御部33とを有する。
通信制御I/F部31は、少なくとも1つのポートを有し、他の装置との通信を制御するインタフェースである。例えば、通信制御I/F部31は、管理サーバ40からマイグレーション指示を受信して、制御部33に出力する。また、通信制御I/F部31は、他のサーバ装置30および管理サーバ40との間でVMゲスト37に関する情報など各種情報を送受信する。
記憶部32は、各種情報を記憶する。例えば、記憶部32は、後述するハイパーバイザ34によるVMゲスト37の各種制御に必要な各種情報や、VMゲスト37毎に仮想マシンが生成するログを記憶する。このログは、それぞれVMゲスト37が実行した処理の履歴を示しており、例えば、実行した処理に関する情報がファイルに追加書き込みで記憶されたものである。各VMゲスト37は、それぞれ他と重複しないように名前が定められる。本実施例では、例えば、ログは、VMゲスト37ごとにファイルを分けており、ファイル名を”VMゲスト名”+”.log”とする。記憶部32のデバイスの一例としては、フラッシュメモリやNVSRAMなどのデータを書き換え可能な半導体メモリや、ハードディスク、光ディスクなどの記憶装置が挙げられる。
図3は、記憶部に記憶されたログのデータ構成の一例を示す図である。図3に示すように、ログは、タイムスタンプ、物理サーバ名、ログ内容の各項目を有する。タイムスタンプの項目は、処理を実行した実行日時を記憶する領域である。物理サーバ名の項目は、VMゲスト37が動作するサーバ装置30のコンピュータ名を記憶する領域である。ログ内容の項目は、実行した処理内容を示す情報を記憶する領域である。ログ内容の項目に示した「Memory error」は、メモリにエラーが発生したことを示す。また、「Start failed」は、VMゲスト37の起動に失敗したことを示す。「Stop failed」は、VMゲスト37の停止に失敗したことを示す。「Internal error」は、VMゲスト37の処理で内部異常が発生したことを示す。「Cpu error」は、CPUに異常が発生したことを示す。なお、物理サーバ名の項目は、コンピュータ名ではなく、例えば、IP(Internet Protocol)アドレスやMAC(Media Access Control)アドレスなどを記憶させてもよい。
図3の例では、タイムスタンプが「2010/12/11 12:31:42」のレコードは、VMゲスト37が「Vmhost1」というコンピュータ名のサーバ装置30で動作しており、メモリエラーが発生したことを示す。また、タイムスタンプが「2010/12/13 10:02:33」のレコードは、VMゲスト37が「Vmhost2」というコンピュータ名のサーバ装置30で動作しており、VMゲスト37の停止に失敗したことを示す。
図2の説明に戻り、制御部33は、例えば、内部メモリ等を有するCPUなどの電子回路であり、ハイパーバイザ34と、転送部35と、格納部36とを有する。
ハイパーバイザ34は、コンピュータシステムの動作環境を仮想的に実現する仮想化ソフトウエアの制御プログラムであり、仮想マシンであるVMゲスト37を動作させる制御を行う。また、ハイパーバイザ34は、管理サーバ40から受信したマイグレーション指示に応じて、他のサーバ装置30との間でのVMゲスト37のマイグレーションの制御を行う。VMゲスト37は、ハイパーバイザ34によって提供された環境でユーザに提供される処理を担う仮想マシンである。VMゲスト37は、仮想環境においてアプリケーションやファームウェアなどのプログラムの処理を実行し、仮想マシンが実行した処理の履歴を示すログを生成する。ハイパーバイザ34は、VMゲスト37毎にファイルを分けて、VMゲスト37により生成されたログを記憶部32に記憶させる。
転送部35は、例えば、ハイパーバイザ34上で実行される、または物理サーバ上にハイパーバイザ34と同レイヤで実行されるプログラムである。転送部35は、ハイパーバイザ34がVMゲスト37を他のサーバ装置30へマイグレーションする場合、マイグレーションするVMゲスト37のログを記憶部32から抽出する。転送部35は、記憶部32から抽出したログを必要な情報と合わせてVMゲスト37の転送先のサーバ装置30へ転送する。ログを転送するタイミングは、マイグレーション中であってもよく、マイグレーション後であってもよい。マイグレーション後のタイミングは、例えば、マイグレーション処理の完了に引き続き転送を行うものとしてもよく、転送元および転送先のサーバ装置30のCPU使用率などの負荷が許容値より低いタイミングとしてもよい。マイグレーション中にログを転送する場合は、移動先でログを速やかに書き込ませることができる。マイグレーション後にログを転送する場合は、サーバ装置30の負荷を分散させることができる。転送部35は、ログの転送が完了とすると転送が完了したログを記憶部32から消去する。
図4は、転送されるログのデータ構成の一例を示す図である。図4に示すように、転送ログのデータは、移動元物理サーバ名、移動VMゲスト名、ログファイルの各項目を有する。移動元物理サーバ名の項目は、ログの転送元のサーバ装置30のコンピュータ名を記憶する領域である。移動VMゲスト名の項目は、移動するVMゲスト37の名前を記憶する領域である。ログファイルの項目は、転送するログのログファイルを格納する領域である。
図4の例では、転送ログ情報は、移動元のサーバ装置30のコンピュータ名が「VMhost1」であり、移動するVMゲスト37の名前「VMguest1」であり、ログファイル名が「VMguest1.log」であることを示す。
格納部36も、例えば、ハイパーバイザ34上で実行される、または物理サーバ上にハイパーバイザ34と同レイヤで実行されるプログラムである。格納部36は、他のサーバ装置30からVMゲスト37のマイグレーションに伴って転送されるログを受信し、受信したログを記憶部32へ格納する。ここで、例えば、ログが転送されるよりも前にマイグレーションされたVMゲスト37が動作したことにより、記憶部32にログが既に存在する場合がある。このように、マイグレーションされたVMゲスト37のログが記憶部32に存在する場合、格納部36は、転送されたVMゲスト37のログの後に、記憶部32に既に存在する当該VMゲスト37のログを結合して記憶部32へ格納する。例えば、格納部36は、記憶部32に既に存在するログのファイル名に別な名前を変更する、あるいは別なフォルダに移動させる。そして、格納部36は、名前を変更したログあるいは別なフォルダに移動させたログの内容を受信したログに追加書き込みで書込み、記憶部32に記憶させる。その後、格納部36は、名前を変更したログあるいは別なフォルダに移動させたログを記憶部32から消去する。
このように、転送されたVMゲスト37のログの後に、記憶部32に既に存在する当該VMゲスト37のログを結合させることで、VMゲスト37を実行した物理サーバ間で時間のずれがあった場合でも、VMゲスト37で行った処理の処理順を保つことができる。
図5は、転送されたログと記憶部に既に存在するログを結合した結果の一例を示す図である。なお、図5に示すログのデータ構造は、図3と同様であるため、説明を省略する。図5の例の場合、T1部分はVMゲスト37が「Vmhost1」から「Vmhost2」のサーバ装置30へマイグレーションしたことを示す。また、T2部分はVMゲスト37が「Vmhost2」から「Vmhost3」のサーバ装置30へマイグレーションしたことを示す。T3部分はVMゲスト37が「Vmhost3」から「Vmhost4」のサーバ装置30へマイグレーションしたことを示す。図5の例は、T1部分とT2部分でログの順序がタイムスタンプの日時が順番となっていない。しかし、VMゲスト37のマイグレーションに伴って転送されたログの後に当該VMゲスト37が生成するログを結合することで、VMゲスト37で行った処理の処理順がログ内で保たれるため、ログの解析が行いやすくなる。
(管理サーバの構成)
図2に示すように、管理サーバ40は、通信制御I/F部41と、記憶部42と、制御部43とを有する。
通信制御I/F部41は、少なくとも1つのポートを有し、各サーバ装置30と管理サーバ40との間の通信を制御するインタフェースである。例えば、通信制御I/F部41は、サーバ装置30へVMゲスト37のマイグレーション指示を送信する。また、通信制御I/F部41は、各サーバ装置30のハイパーバイザ34との間でVMゲスト37に関する各種情報を送受信する。
記憶部42は、半導体メモリ素子やハードディスクなどの記憶装置であり、管理サーバ40の管理下にあるハイパーバイザ34およびVMゲスト37に関する情報を記憶する。例えば、記憶部42は、サーバ装置30のIPアドレス、サーバ装置30で稼動するハイパーバイザ34、ハイパーバイザ34で利用可能なリソース状況、動作しているVMゲスト37の数および各リソース状況などを記憶する。なお、ここで記憶される情報は、任意に設定変更でき、管理者等によって登録および更新されてもよく、各サーバ装置30から定期的に取得するようにしてもよい。
制御部43は、例えば、内部メモリ等を有するCPUなどの電子回路であり、VMゲスト管理部44と、VMゲスト移動指示部45とを有する。
VMゲスト管理部44は、各サーバ装置30のハイパーバイザ34との間でVMゲスト37に関する各種情報の送受信を行い、記憶部42に記憶されたハイパーバイザ34およびVMゲスト37に関する情報を更新する。
VMゲスト移動指示部45は、サーバ装置30で動作するVMゲスト37を他のサーバ装置30へ移動させる場合、移動元のサーバ装置30へマイグレーション指示を送信する。
次に、本実施例に係るサーバ装置30がVMゲスト37のマイグレーションに伴ってログを転送する処理の流れを説明する。図6は、ログ転送処理の手順を示すフローチャートである。このログ転送処理は、例えば、VMゲスト37を他のサーバ装置30へマイグレーションしたタイミングで実行される。
図6に示すように、転送部35は、他のサーバ装置30へマイグレーションしたVMゲスト37のログを記憶部32から抽出する(ステップS10)。そして、転送部35は、記憶部32から抽出したログを必要な情報と合わせてVMゲスト37の転送先のサーバ装置30へ転送する(ステップS11)。転送部35は、ログの転送が完了とすると転送が完了したログを記憶部32から消去する(ステップS12)。
次に、本実施例に係るサーバ装置30が他のサーバ装置30からVMゲスト37のマイグレーションに伴って転送されるログを格納する処理の流れを説明する。図7は、ログ格納処理の手順を示すフローチャートである。このログ格納処理は、例えば、VMゲスト37を他のサーバ装置30からログを受信したタイミングで実行される。
図7に示すように、格納部36は、受信したログを生成したVMゲスト37のログが記憶部32に既に存在するか否かを判定する(ステップS20)。ログが記憶部32に存在する場合(ステップS20肯定)、格納部36は、転送されたVMゲスト37のログの後に、記憶部32に既に存在する当該VMゲスト37のログを結合する(ステップS21)。そして、格納部36は、結合したログを記憶部32へ格納する(ステップS22)。一方、ログが記憶部32に存在しない場合(ステップS20否定)、格納部36は、受信したログを記憶部32へ格納する(ステップS23)。
このように、サーバ装置30は、他のサーバ装置30からマイグレーションされたVMゲスト37のログが記憶部32に存在する場合、転送されたログの後に当該VMゲスト37が生成するログを結合して記憶部32へ格納する。これにより、各サーバ装置30間の時間がずれている場合でも、記憶部32に記憶されたログ内でVMゲスト37が行った処理の処理順が保たれているため、ログの解析を容易に行うことができる。
実施例3について説明する。実施例3では、サーバ装置30が仮想マシンのマイグレーションに伴ってログを他のサーバ装置30へ転送する際に、ログのファイル名を変更して転送する場合について説明する。図8は、実施例3に係るシステムの機能的な構成の一例を示す図である。なお、図8に示した実施例3に係るシステムの構成は、図2に示した実施例2に係るシステムと略同一であるため、同一の部分について同一の符号を付して説明を省略し、異なる部分について説明する。
サーバ装置30は、変更部38をさらに有する。変更部38は、VMゲスト37を他のサーバ装置30へマイグレーションする場合、記憶部32に記憶されたマイグレーションするVMゲスト37のログのファイル名を新しいログから昇順に番号を付加した名前に変更する。
図9は、ログのファイル名の変更を説明する図である。図9に示すように、記憶部32には、マイグレーションするVMゲスト37のログとして新しい順に「VMホスト.log」、「VMホスト−2.log」、「VMホスト−3.log」のファイル名のログが記憶されているものとする。この場合、変更部38は、ログのファイル名を「VMホスト−3.log」から「VMホスト−4.log」に変更し、「VMホスト−2.log」から「VMホスト−3.log」に変更し、「VMホスト.log」から「VMホスト−2.log」に変更する。
転送部35は、変更部38によりファイル名が変更されたログを他のサーバ装置30へ転送する。
図10は、ログ転送処理の手順を示すフローチャートである。図10に示すように、変更部38は、他のサーバ装置30へマイグレーションしたVMゲスト37のログを記憶部32から抽出する(ステップS30)。変更部38は、記憶部32から抽出したログに、拡張子を除いたファイル名の最後に番号が付加されたログがあるか否かを判定する(ステップS31)。番号が付加されたログがない場合(ステップS31否定)、後述するステップS37の処理へ移行する。一方、番号が付加されたログがある場合(ステップS31肯定)、変更部38は、付加された番号の最大の値Xを特定する(ステップS32)。変更部38は、記憶部32から抽出したログに、拡張子を除いたファイル名の最後に値Xが付加されたログがあるか否かを判定する(ステップS33)。値Xが付加されたログがある場合(ステップS33肯定)、変更部38は、拡張子を除いたファイル名の最後に付加された値Xを1インクリメントした名前にログのファイル名を変更する(ステップS34)。そして、変更部38は、値Xを1デクリメントする(ステップS35)。一方、値Xが付加されたログがない場合(ステップS33否定)、変更部38は、ステップS35の処理を行う。そして、変更部38は、値Xがゼロであるか否かを判定する(ステップS36)。値Xがゼロでない場合(ステップS36否定)、変更部38は、ステップS33の処理へ移行する。一方、値Xがゼロである場合(ステップS36肯定)、変更部38は、拡張子を除いたファイル名の最後に番号が付加されていないログのファイル名の最後にハイフンと番号「2」を付加する(ステップS37)。転送部35は、変更部38によりファイル名の変更を行ったログを必要な情報と合わせてVMゲスト37の転送先のサーバ装置30へ転送する(ステップS38)。転送部35は、ログの転送が完了とすると転送が完了したログを記憶部32から消去する(ステップS39)。
このように、サーバ装置30は、VMゲスト37を他のサーバ装置30へマイグレーションする場合、記憶部32に記憶されたマイグレーションするVMゲスト37のログのファイル名を新しいログから昇順に番号を付加した名前に変更して転送する。これにより、転送先のサーバ装置30では、VMゲスト37のログが記憶部32に既に存在する場合でも、ログのファイル名が重複しなくなる。また、ログは、ファイル名に付加された番号により、ログが生成された順番が判別できるため、ログの解析を容易に行うことができる。
実施例4について説明する。実施例4では、VMゲスト37のマイグレーションに伴って当該仮想マシンのログが移動していない場合、管理サーバ40が移動元のサーバ装置30へログの転送を指示する場合について説明する。図11は、実施例4に係るシステムの機能的な構成の一例を示す図である。なお、図11に示した実施例4に係るシステムの構成は、図8に示した実施例3に係るシステムと略同一であるため、同一の部分について同一の符号を付して説明を省略し、異なる部分について説明する。
実施例4に係る各サーバ装置30は、実施例3と同様に、記憶部32にVMゲスト37のログが新しいログから昇順に番号を付加したファイル名で記憶する。
また、サーバ装置30は、外部のディスクアレイ装置などの記憶装置50に接続されており、記憶装置50を共用している。記憶装置50は、サーバ装置30から書き込まれた情報を記憶する。サーバ装置30は、それぞれVMゲスト37に関する情報を記憶装置50に記憶させる。
ここで、物理サーバ上に仮想的に構築された仮想マシンは、仮想マシンに関する情報を全てファイルに記憶させ、そのファイルを他の物理サーバ上に実行することにより、マイグレーションを行うことができる。本実施例においても、サーバ装置30は、記憶装置50に記憶された他のサーバ装置30のVMゲスト37に関する情報を読み出してハイパーバイザ34上で実行することにより、マイグレーションを行うことができる。
ところで、記憶装置50に記憶されたVMゲスト37に関する情報を読み出してハイパーバイザ34上で実行することにより、マイグレーションできるため、マイグレーションしたVMゲスト37のログが転送されない場合がある。例えば、転送元のサーバ装置30が停止している場合、転送元からログが転送されない。サーバ装置30は、マイグレーションしたVMゲスト37のログが転送されない場合、管理サーバ40へログ未転送を通知する。この管理サーバ40へのログ未転送の通知は、例えば、マイグレーション完了後、所定期間内にログが転送されない場合や、転送元のサーバ装置30と通信を行った結果、応答が得られないなど転送元のサーバ装置30が停止と推定される場合に行う。
図12は、ログ未転送を通知する通信データのデータ構成の一例を示す図である。図12に示すように、ログ未転送の通知は、移動VMゲスト名、移動元物理サーバ名の各項目を有する。移動VMゲスト名の項目は、移動するVMゲスト37の名前を記憶する領域である。移動元物理サーバ名の項目は、ログを転送できないログの転送元のサーバ装置30のコンピュータ名を記憶する領域である。
図12の例では、ログ未転送の通知は、移動するVMゲスト37の名前「VMguest1」であり、ログを転送できないログの転送元のサーバ装置30のコンピュータ名が「VMhost2」であることを示す。
一方、図11に示すように、管理サーバ40の記憶部42は、第1テーブル42a、第2テーブル42bを記憶する。
第1テーブル42aは、VMゲスト37毎の移動履歴を管理するテーブルである。図13は、第1テーブルのデータ構成の一例を示す図である。図13に示すように、第1テーブル42aは、レコードID(identification)、VMゲストID、物理サーバ名、移動前レコードIDの各項目を有する。
レコードIDの項目は、履歴を識別する識別番号を格納する領域である。VMゲストIDの項目は、各VMゲスト37を識別する識別番号を格納する領域である。物理サーバ名の項目は、VMゲスト37が動作した物理サーバのコンピュータ名を格納する領域である。移動前レコードIDの項目は、移動前の過去のレコードIDを格納する領域である。この移動前レコードIDの項目は、移動前がない場合、「−」が格納される。
図13の例では、レコードID「1」「2」「4」「5」は、VMゲストIDが「100」のVMゲスト37の移動履歴である。レコードID「5」は、コンピュータ名が「A」の物理サーバでVMゲストIDが「100」のVMゲスト37が動作し、移動前の過去のレコードIDが「4」であることを示す。レコードID「4」は、コンピュータ名が「B」の物理サーバでVMゲストIDが「100」のVMゲスト37が動作し、移動前の過去のレコードIDが「2」であることを示す。レコードID「2」は、コンピュータ名が「A」の物理サーバでVMゲストIDが「100」のVMゲスト37が動作し、移動前の過去のレコードIDが「1」であることを示す。レコードID「1」は、コンピュータ名が「B」の物理サーバでVMゲストIDが「100」のVMゲスト37が動作し、移動前がないことを示す。すなわち、図13の例では、VMゲストIDが「100」のVMゲスト37は、「B」→「A」→「B」→「A」と物理サーバを移動したことを示す。
また、図13の例では、レコードID「3」「7」は、VMゲストIDが「101」のVMゲスト37の移動履歴である。レコードID「7」は、コンピュータ名が「B」の物理サーバでVMゲストIDが「101」のVMゲスト37が動作し、移動前の過去のレコードIDが「3」であることを示す。レコードID「3」は、コンピュータ名が「A」の物理サーバでVMゲストIDが「100」のVMゲスト37が動作し、移動前がないことを示す。すなわち、図13の例では、VMゲストIDが「101」のVMゲスト37は、「A」→「B」と物理サーバを移動したことを示す。
また、図13の例では、レコードID「6」は、コンピュータ名が「B」の物理サーバでVMゲストIDが「102」のVMゲスト37が動作し、移動前がないことを示す。すなわち、図13の例では、VMゲストIDが「102」のVMゲスト37は、「B」の物理サーバで動作しており、他の物理サーバへ移動したことがないことを示す。
第2テーブル42bは、VMゲスト37毎に現在動作する物理サーバを管理するテーブルである。図14は、第2テーブルのデータ構成の一例を示す図である。図14に示すように、第2テーブル42bは、レコードID、VMゲストID、物理サーバ名、最新履歴レコードIDの各項目を有する。
レコードIDの項目は、各レコードを識別する識別番号を格納する領域である。VMゲストIDの項目は、各VMゲスト37を識別する識別番号を格納する領域である。物理サーバ名の項目は、VMゲスト37が動作中の物理サーバのコンピュータ名を格納する領域である。最新履歴レコードIDの項目は、第1テーブル42aにおける最新の移動履歴のレコードIDを格納する領域である。
図14の例では、レコードID「1」は、VMゲストIDが「100」のVMゲスト37が「A」の物理サーバで動作し、第1テーブル42aにおける最新の履歴のレコードIDが「5」であることを示す。レコードID「2」は、VMゲストIDが「101」のVMゲスト37が「B」の物理サーバで動作し、第1テーブル42aにおける最新の履歴のレコードIDが「7」であることを示す。レコードID「3」は、VMゲストIDが「102」のVMゲスト37が「B」の物理サーバで動作し、第1テーブル42aにおける最新の履歴のレコードIDが「6」であることを示す。
図11の説明に戻り、管理サーバ40は、監視部46と、送信部47と、ログ参照部48とをさらに有する。
VMゲスト移動指示部45は、サーバ装置30で動作するVMゲスト37を他のサーバ装置30へ移動させる場合、移動元のサーバ装置30および移動先のサーバ装置30へ移動対象とするVMゲスト37を含んだマイグレーション指示を送信する。
VMゲスト管理部44は、第1テーブル42aおよび第2テーブル42bを最新の状態に更新する。例えば、VMゲスト管理部44は、VMゲストIDを移動対象とするVMゲスト37の識別番号とし、物理サーバ名を移動先のサーバ装置30のコンピュータ名とし、移動元レコードをVMゲスト37の最新のレコードIDとしたレコードを第1テーブルに追加する。また、VMゲスト管理部44は、第1テーブル42aの移動対象とするVMゲスト37のレコードの物理サーバ名を移動先のサーバ装置30のコンピュータ名に更新し、最新履歴レコードIDを第1テーブルに追加したレコードのレコードIDに更新する。
監視部46は、サーバ装置30からログ未転送が通知された場合、移動元のサーバ装置30の状態を監視する。例えば、監視部46は、定期的に移動元のサーバ装置30と通信を行い、移動元のサーバ装置30が停止しているか、起動状態であるかを監視する。
送信部47は、監視部46による監視の結果、移動元のサーバ装置30が起動状態である場合、移動元のサーバ装置30へログの移動指示を送信する。ログの移動指示を受信したサーバ装置30は、実施例2において説明したログ転送処理を実行してログの転送を行う。
図15は、移動指示する通信データのデータ構成の一例を示す図である。図15に示すように、移動指示は、移動VMゲスト名、移動先物理サーバ名の各項目を有する。移動VMゲスト名の項目は、移動するVMゲスト37の名前を記憶する領域である。移動先物理サーバ名の項目は、ログの転送先のサーバ装置30のコンピュータ名を記憶する領域である。
図15の例では、移動指示は、移動するVMゲスト37の名前「VMguest1」であり、ログの転送先のサーバ装置30のコンピュータ名が「VMhost2」であることを示す。
図11の説明に戻り、ログ参照部48は、ログを参照したいVMゲスト37の指定を受け付ける。この指定の受付は、例えば、管理サーバ40の不図示の表示部に、ログを参照するVMゲスト37を指定する指定画面を表示させ、不図示の入力部から指定画面への入力を受け付けることにより行ってもよい。また、例えば、ネットワーク21を介してクライアントコンピュータなどの端末装置の表示部に指定画面を表示させ、端末装置の入力部から指定画面への入力を受け付けることにより行ってもよい。
ログ参照部48は、指定されたVMゲスト37のログにアクセスしてログを参照する。例えば、ログ参照部48は、調査を行う管理者が参照したいVMゲスト37を指定すると、記憶部42に記憶された第1テーブル42aから、参照対象のVMゲスト37の移動履歴を取得する。そして、ログ参照部48は、移動履歴の最後の物理サーバ名のサーバ装置30に接続し、実際のログにアクセスする。ログは、VMゲスト37をマイグレーションした毎にログが分かれているが、ログのファイル名に新しいログから昇順に番号を付加されている。ログ参照部48は、ファイル名に付加された番号の順にログを読み出すことにより、処理順にログを読み出すことができる。また、移動履歴での物理サーバの順番とファイル名に付加された番号の順番が対応する。このため、ログ参照部48は、物理サーバの順番に対応するログファイルを読み出すことにより、特定の物理サーバのログを抽出して参照できる。
次に、本実施例に係る移動先のサーバ装置30がVMゲスト37をマイグレーションする際の処理の流れを説明する。図16は、マイグレーション処理の手順を示すフローチャートである。このログ転送処理は、例えば、VMゲスト37のマイグレーションが指示されたタイミングで実行される。
ハイパーバイザ34は、マイグレーションが指示されたVMゲスト37に関する情報を記憶装置50から読み出して実行することにより、VMゲスト37の移動を実施する(ステップS50)。制御部33は、VMゲスト37の移動元のサーバ装置30が起動状態であるか否か判定する(ステップS51)。一方、移動元のサーバ装置30が起動状態ではない場合(ステップS51否定)、制御部33は、管理サーバ40へログ未転送を通知する(ステップS52)。一方、制御部33は、移動元のサーバ装置30が起動状態である場合(ステップS51肯定)、処理を終了する。
次に、本実施例に係る管理サーバ40がサーバ装置30を監視する処理の流れを説明する。図17は、監視処理の手順を示すフローチャートである。このログ転送処理は、例えば、いずれかのサーバ装置30からログ未転送が通知されたタイミングで実行される。
監視部46は、通知されたログ未転送の通信データにより示される移動元のサーバ装置30の状態を取得する(ステップS60)。監視部46は、移動元のサーバ装置30の状態が起動状態であるか否かを判定する(ステップS61)。移動元のサーバ装置30の状態が起動状態ではない場合(ステップS61否定)、監視部46は、ステップS60へ移行して監視を継続する。一方、移動元のサーバ装置30の状態が起動状態である場合(ステップS61肯定)、送信部47は、移動元のサーバ装置30へログの移動指示を送信する(ステップS62)。ログの移動指示を受信したサーバ装置30は、移動指示する通信データにより示される転送先のサーバ装置30へログの転送を行う。
次に、本実施例に係る管理サーバ40からサーバ装置30のログを参照する処理の流れを説明する。図18は、参照処理の手順を示すフローチャートである。この参照処理は、例えば、ログの参照が指定されたタイミングで実行される。
ログ参照部48は、ログを参照したいVMゲスト37の指定を受け付ける(ステップS70)。そして、ログ参照部48は、記憶部42に記憶された第1テーブル42aから、参照が指定された移動履歴を取得し、移動履歴の最後の物理サーバ名のサーバ装置30を特定する(ステップS71)。ログ参照部48は、特定したサーバ装置30に接続し、移動履歴に基づいて各ログファイルにアクセスしてログを表示する(ステップS72)。
このように、管理サーバ40は、VMゲスト37のマイグレーションに伴って当該VMゲスト37のログが移動していない場合、移動元のサーバ装置30の状態を監視する。管理サーバ40は、監視の結果、移動元のサーバ装置30が起動状態である場合、移動元のサーバ装置30へログの移動指示を送信する。移動元のサーバ装置30は、移動指示を受信した場合、記憶部32に記憶された、マイグレーションしたVMゲスト37が生成したログを転送先のサーバ装置30へ転送する。転送先のサーバ装置30は、マイグレーションされた仮想マシンが生成したログを記憶する記憶部32に転送されたログを格納する。これにより、管理サーバ40によれば、移動元のサーバ装置30が停止してログが転送できない状態の場合でも、後からログを転送させることができる。
さて、これまで開示の装置に関する実施例について説明したが、開示の技術は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。
例えば、上記の実施例2〜4では、ハイパーバイザ34とは別に転送部35や、格納部36、変更部38を設けた場合について説明したが、開示の装置はこれに限定されない。例えば、ハイパーバイザ34が、転送部35や、格納部36、変更部38の機能を有するものとしてもよい。
また、上記の実施例2〜4では、管理サーバ40はサーバ装置30からログ未転送を通知されることにより、ログが移動していないことを判別する場合について説明したが、開示の装置はこれに限定されない。例えば、管理サーバ40が各サーバ装置30の状態を定期的に監視し、起動状態ではないサーバ装置30がログの送信元となるマイグレーションを行う場合、ログが移動していないことを判別してもよい。また、例えば、マイグレーションの移動元および移動先の少なくとも一方のサーバ装置30が管理サーバ40へマイグレーションの結果を通知する場合、結果が異常である場合あるいは結果が通知されない場合、ログが移動していないことを判別してもよい。
また、上記の実施例2〜4では、ハイパーバイザ34とは別に転送部35や、格納部36、変更部38を設けた場合について説明したが、開示の装置はこれに限定されない。例えば、ハイパーバイザ34が、転送部35や、格納部36、変更部38の機能を有するものとしてもよい。
また、各種の負荷や使用状況などに応じて、実施例において説明した各処理の各ステップでの処理を任意に細かくわけたり、あるいはまとめたりすることができる。また、ステップを省略することもできる。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的状態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、図2に示すハイパーバイザ34と転送部35や、ハイパーバイザ34と格納部36、ハイパーバイザ34と転送部35と格納部36が統合されてもよい。また、図8に示す、変更部38がさらにハイパーバイザ34や転送部35、格納部36と統合されてもよい。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
[ログ転送プログラム]
また、上記の実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することもできる。そこで、以下では、上記の実施例と同様の機能を有するプログラムを実行するコンピュータシステムの一例を説明する。図19は、ログ転送プログラムを実行するコンピュータを示す図である。
図19に示すように、コンピュータ300は、CPU(Central Processing Unit)310、ROM(Read Only Memory)320、HDD(Hard Disk Drive)330、RAM(Random Access Memory)340を有する。これら300〜340の各部は、バス400を介して接続される。HDD330には、コンピュータを仮想化した仮想マシンのログが記憶される。
ROM320には上記の実施例1に示す仮想化制御部13、転送部15と同様の機能、または上記の実施例2〜4に示すハイパーバイザ34、転送部35、格納部36、変更部38と同様の機能を発揮するログ転送プログラム320aが予め記憶される。なお、ログ転送プログラム320aについては、適宜分離しても良い。
そして、CPU310が、ログ転送プログラム320aをROM320から読み出して実行することで、実施例1〜4に示した各制御部と同様の動作を実行する。すなわち、ログ転送プログラム320aは、実施例1に示した転送部15、あるいは実施例2〜4に示した転送部35、格納部36、変更部38と同様の動作を実行する。
なお、上記したログ転送プログラム320aについては、必ずしも最初からROM320に記憶させておく必要はない。
例えば、コンピュータ300に挿入されるフレキシブルディスク(FD)、CD−ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」にプログラムを記憶させておく。そして、コンピュータ300がこれらからプログラムを読み出して実行するようにしてもよい。
さらには、公衆回線、インターネット、LAN、WANなどを介してコンピュータ300に接続される「他のコンピュータ(またはサーバ)」などにプログラムを記憶させておく。そして、コンピュータ300がこれらからプログラムを読み出して実行するようにしてもよい。
10 サーバ装置
12 サーバ装置
13 仮想化制御部
14 記憶部
15 転送部
20 システム
30 サーバ装置
32 記憶部
33 制御部
34 ハイパーバイザ
35 転送部
36 格納部
37 VMゲスト
38 変更部
40 管理サーバ
42 記憶部
43 制御部
44 VMゲスト管理部
45 VMゲスト移動指示部
46 監視部
47 送信部
48 ログ参照部
50 記憶装置

Claims (8)

  1. コンピュータを仮想化した仮想マシンを動作させ、他のサーバ装置との間で前記仮想マシンのマイグレーションを制御する仮想化制御部と、
    前記仮想マシンに対応させて、該仮想マシンが生成するログを記憶する記憶部と、
    前記仮想マシンを他のサーバ装置へマイグレーションする場合、前記記憶部に記憶されたマイグレーション対象の仮想マシンのログを該他のサーバ装置へ転送する転送部と、
    を有することを特徴とするサーバ装置。
  2. 前記仮想マシンを他のサーバ装置へマイグレーションする場合、前記記憶部に記憶されたマイグレーション対象の仮想マシンのログのファイル名を新しいログから昇順に番号を付加した名前に変更する変更部をさらに有し、
    前記ログ転送部は、前記変更部によりファイル名が変更された前記マイグレーションする仮想マシンのログを前記他のサーバ装置へ転送する
    ことを特徴とする請求項1に記載のサーバ装置。
  3. 記憶部と、
    コンピュータを仮想化した仮想マシンを動作させ、他のサーバ装置との間で前記仮想マシンのマイグレーションを制御する仮想化制御部と、
    他のサーバ装置から仮想マシンのマイグレーションに伴って受信したログを前記記憶部へ格納する格納部と、
    を有することを特徴とするサーバ装置。
  4. 前記格納部は、前記記憶部に格納したマイグレーションされた仮想マシンのログの後に該仮想マシンが生成するログを結合して前記記憶部へ格納する
    ことを特徴とする請求項3に記載のサーバ装置。
  5. コンピュータを仮想化した仮想マシンを他のサーバ装置へマイグレーションする場合、前記仮想マシンに対応させて記憶部に記憶した、該仮想マシンが生成したログを該他のサーバ装置へ転送する
    処理をコンピュータに実行させることを特徴とするログ転送プログラム。
  6. コンピュータを仮想化した仮想マシンを他のサーバ装置へマイグレーションする場合、前記仮想マシンに対応させて記憶部に記憶した、該仮想マシンが生成したログを該他のサーバ装置へ転送し、
    他のサーバ装置から仮想マシンのマイグレーションに伴って転送されたログを前記記憶部へ格納する
    各処理を実行することを特徴とするログ転送方法。
  7. 第1サーバ装置から第2サーバ装置への仮想マシンのマイグレーションに伴って該仮想マシンのログが移動していない場合、前記第1サーバ装置の状態を監視する監視部と、
    前記監視部による監視の結果、前記第1サーバ装置が起動状態である場合、前記第1サーバ装置へログの移動指示を送信する送信部と
    を有する監視サーバ装置と、
    前記第2サーバ装置へマイグレーションした仮想マシンが生成したログを記憶する第1記憶部と、
    前記移動指示を受信した場合、前記第1記憶部に記憶された、前記第2サーバ装置へマイグレーションした仮想マシンのログを前記第2サーバ装置へ転送する転送部と
    を有する第1サーバ装置と、
    前記第1サーバからマイグレーションされた仮想マシンが生成したログを記憶する第2記憶部と、
    前記転送部により転送されたログを前記第2記憶部へ格納する格納部と
    を有する第2サーバ装置と、
    を備えたことを特徴とするログ転送システム。
  8. 監視サーバ装置が、
    第1サーバ装置から第2サーバ装置への仮想マシンのマイグレーションに伴って該仮想マシンのログが移動していない場合、前記第1サーバ装置の状態を監視し、
    監視の結果、前記第1サーバ装置が起動状態である場合、前記第1サーバ装置へログの移動指示を送信し、
    第1サーバ装置が、
    前記移動指示を受信した場合、第1記憶部に記憶された、前記第2サーバ装置へマイグレーションした仮想マシンが生成したログを前記第2サーバ装置へ転送し、
    第2サーバ装置が、
    前記第1サーバからマイグレーションされた仮想マシンが生成したログを記憶する第2記憶部に転送されたログを格納する
    ことを特徴とするログ転送方法。
JP2013534556A 2011-09-22 2011-09-22 サーバ装置、ログ転送プログラム、ログ転送方法およびログ転送システム Expired - Fee Related JP5686199B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2011/071732 WO2013042268A1 (ja) 2011-09-22 2011-09-22 サーバ装置、ログ転送プログラム、ログ転送方法およびログ転送システム

Publications (2)

Publication Number Publication Date
JP5686199B2 JP5686199B2 (ja) 2015-03-18
JPWO2013042268A1 true JPWO2013042268A1 (ja) 2015-03-26

Family

ID=47914067

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013534556A Expired - Fee Related JP5686199B2 (ja) 2011-09-22 2011-09-22 サーバ装置、ログ転送プログラム、ログ転送方法およびログ転送システム

Country Status (3)

Country Link
US (2) US9336050B2 (ja)
JP (1) JP5686199B2 (ja)
WO (1) WO2013042268A1 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9817728B2 (en) 2013-02-01 2017-11-14 Symbolic Io Corporation Fast system state cloning
US20160034289A1 (en) * 2013-12-16 2016-02-04 Hitachi, Ltd. Computer system and processing method of the same
US9912529B2 (en) * 2014-08-20 2018-03-06 International Business Machines Corporation Tenant-specific log for events related to a cloud-based service
DE112014007090T5 (de) 2014-10-24 2017-07-13 Google Inc. Verfahren und systeme zum automatischen tagging anhand von software-ausführungs-traces
US10061514B2 (en) 2015-04-15 2018-08-28 Formulus Black Corporation Method and apparatus for dense hyper IO digital retention
JP6482984B2 (ja) * 2015-08-24 2019-03-13 株式会社日立製作所 クラウド管理方法及びクラウド管理システム
US10091076B2 (en) 2015-08-25 2018-10-02 Google Llc Systems and methods for configuring a resource for network traffic analysis
US9710305B2 (en) * 2015-11-12 2017-07-18 International Business Machines Corporation Virtual machine migration management
US10572186B2 (en) 2017-12-18 2020-02-25 Formulus Black Corporation Random access memory (RAM)-based computer systems, devices, and methods
WO2020142431A1 (en) 2019-01-02 2020-07-09 Formulus Black Corporation Systems and methods for memory failure prevention, management, and mitigation

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002024048A (ja) * 2000-07-10 2002-01-25 Oki Electric Ind Co Ltd 高可用性システム
JP2002207621A (ja) * 2001-01-12 2002-07-26 Minolta Co Ltd データ通信端末、カメラ、および記録媒体
JP2005117487A (ja) * 2003-10-09 2005-04-28 Canon Inc 画像保存装置、撮像装置、画像撮影保存システム、画像保存方法、撮影データ転送方法、画像撮影保存方法、及びプログラム
JP2007108929A (ja) * 2005-10-12 2007-04-26 Nec Corp ログ管理システム、ログ管理マネージャ、ログ管理方法およびプログラム
JP2009075877A (ja) * 2007-09-20 2009-04-09 Toshiba Corp 情報処理システム、および監視方法
JP2011159249A (ja) * 2010-02-04 2011-08-18 Nec Corp コンピュータシステム、仮想マシン管理方法、及び仮想マシン管理プログラム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3004008B1 (ja) * 1998-10-20 2000-01-31 三菱電機株式会社 更新履歴管理装置及び更新履歴管理方法
JP3655484B2 (ja) 1999-03-05 2005-06-02 株式会社日立製作所 論理区画式計算機システム
EP2062139B1 (en) * 2006-08-28 2009-10-14 International Business Machines Corporation Method for improving transfer of event logs for replication of executing programs
US8832682B2 (en) * 2008-03-28 2014-09-09 Vmware, Inc. Trace collection for a virtual machine
US8914567B2 (en) * 2008-09-15 2014-12-16 Vmware, Inc. Storage management system for virtual machines
JP4951034B2 (ja) 2009-06-25 2012-06-13 株式会社日立製作所 計算機システムとその稼働情報管理方法
JP5422325B2 (ja) * 2009-09-29 2014-02-19 株式会社日立製作所 情報処理装置
JP5360000B2 (ja) 2010-06-22 2013-12-04 日本電気株式会社 仮想サーバ管理システムおよびその方法ならびに管理サーバ装置
US8689047B2 (en) * 2011-07-22 2014-04-01 Microsoft Corporation Virtual disk replication using log files

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002024048A (ja) * 2000-07-10 2002-01-25 Oki Electric Ind Co Ltd 高可用性システム
JP2002207621A (ja) * 2001-01-12 2002-07-26 Minolta Co Ltd データ通信端末、カメラ、および記録媒体
JP2005117487A (ja) * 2003-10-09 2005-04-28 Canon Inc 画像保存装置、撮像装置、画像撮影保存システム、画像保存方法、撮影データ転送方法、画像撮影保存方法、及びプログラム
JP2007108929A (ja) * 2005-10-12 2007-04-26 Nec Corp ログ管理システム、ログ管理マネージャ、ログ管理方法およびプログラム
JP2009075877A (ja) * 2007-09-20 2009-04-09 Toshiba Corp 情報処理システム、および監視方法
JP2011159249A (ja) * 2010-02-04 2011-08-18 Nec Corp コンピュータシステム、仮想マシン管理方法、及び仮想マシン管理プログラム

Also Published As

Publication number Publication date
US10055243B2 (en) 2018-08-21
US20160216998A1 (en) 2016-07-28
WO2013042268A1 (ja) 2013-03-28
JP5686199B2 (ja) 2015-03-18
US9336050B2 (en) 2016-05-10
US20140196042A1 (en) 2014-07-10

Similar Documents

Publication Publication Date Title
JP5686199B2 (ja) サーバ装置、ログ転送プログラム、ログ転送方法およびログ転送システム
CA3092364C (en) Live migration of clusters in containerized environments
US20220217043A1 (en) Migration of an existing computing system to new hardware
US10379967B2 (en) Live rollback for a computing environment
JP5719974B2 (ja) 複数の監視対象デバイスを有する計算機システムの管理を行う管理システム
JP5243804B2 (ja) 構成要素を管理するためのコンピュータ・システム、並びにその方法及びコンピュータ・プログラム
AU2019213411A1 (en) Partial discovery of cloud-based resources
JP2010257008A (ja) 仮想ストレージ装置を管理する管理サーバ装置及び仮想ストレージ装置の管理方法
US8839242B2 (en) Virtual computer management method and virtual computer management system
US10476757B1 (en) Architecture for implementing centralized management for a computing environment
US20100082925A1 (en) Management computer used to construct backup configuration of application data
JP4874908B2 (ja) 情報処理システム、および監視方法
JP6009089B2 (ja) 計算機システムを管理する管理システム及びその管理方法
US11799963B1 (en) Method and system for identifying user behavior based on metadata
US10929250B2 (en) Method and system for reliably restoring virtual machines
Munir VMware vSphere Troubleshooting
JP5993052B2 (ja) 複数の監視対象デバイスを有する計算機システムの管理を行う管理システム
Syrewicze et al. Migrating Virtual Machines Between Hosts
US8527716B2 (en) Volume sharing method and storage system using the same
Siebert VMware VI3 implementation and administration
Windows Optimizing and Troubleshooting

Legal Events

Date Code Title Description
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: 20141224

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150106

R150 Certificate of patent or registration of utility model

Ref document number: 5686199

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees