JP5176837B2 - 情報処理システム及びその管理方法、制御プログラム並びに記録媒体 - Google Patents

情報処理システム及びその管理方法、制御プログラム並びに記録媒体 Download PDF

Info

Publication number
JP5176837B2
JP5176837B2 JP2008252904A JP2008252904A JP5176837B2 JP 5176837 B2 JP5176837 B2 JP 5176837B2 JP 2008252904 A JP2008252904 A JP 2008252904A JP 2008252904 A JP2008252904 A JP 2008252904A JP 5176837 B2 JP5176837 B2 JP 5176837B2
Authority
JP
Japan
Prior art keywords
information
virtual machine
guest
failure
system 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.)
Active
Application number
JP2008252904A
Other languages
English (en)
Other versions
JP2010086181A (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
Priority to JP2008252904A priority Critical patent/JP5176837B2/ja
Priority to US12/461,254 priority patent/US8423997B2/en
Publication of JP2010086181A publication Critical patent/JP2010086181A/ja
Application granted granted Critical
Publication of JP5176837B2 publication Critical patent/JP5176837B2/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/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/079Root cause analysis, i.e. error or fault diagnosis
    • 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/0778Dumping, i.e. gathering error/state information after a fault for later diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/366Software debugging using diagnostics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/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

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)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、情報処理システム及びその管理方法、制御プログラム並びに記録媒体に関する。
仮想計算機システムにおいては、1台の実計算機システム(物理マシン)で仮想計算機モニタ(又はホストOS(オペレーティングシステム))の制御の下で、複数の仮想計算機(VM:Virtual Machine)が動作する。そして、仮想計算機であるゲストOS上で、各種のアプリケーションが動作する。
このような仮想計算機システムにおいて、ゲストOSで、致命的なエラーが発生して処理が停止する等の障害(以下、パニックという)が発生した場合、メモリの内容とログ情報とを取得して、当該障害の原因が調査される。
なお、仮想計算機システムにおいて、障害が発生したゲストOSが使用するメモリ状態を含め、同一のゲストOSをコピーして、別の仮想計算機実行環境を保存して、より効率的なデバッグ環境を実現する方法が知られている。
特開平6−52130号公報
図7〜図8は、本発明の背景となる仮想計算機システムの説明図である。特に、図7は、仮想計算機システムの構成の一例を示す。図8(A)は、図7の仮想計算機システムにおけるゲスト環境定義5111の一例を示す。図8(B)は、図7の仮想計算機システムにおけるシステム情報(システムログ)の収集処理フローを示す。
ステップS41において、ゲストOS512にパニックが発生すると、当該ゲストOS512は停止する。パニック監視管理部521は、ステップS42において、メモリダンプを取得する。即ち、パニック監視管理部521は、パニック発生を検出した後(T20)、ゲストOS512のメモリ部5121からその内容を読取り(T21)、例えばホストOS511における設定に従って、当該読み取った内容を実ハードウェア53上のダンプ部531に保存する(T22)。
この後、ステップS43において、パニック監視管理部521は、パニックが発生した対象のゲストOS512をリブートする(T23)。このリブートの後、ステップS44において、利用者は、ゲストOS512のシステム情報(ログ等)を採取するため、端末54Bを介して、ゲストOS512にログインする(T24)。このログインの後、ステップS45において、例えば利用者の指示に従って、ログ採取操作部5123は、システム情報をログ部5122から採取して(T25)、ダンプ及びログ解析環境部523に退避する。ゲスト環境定義5111は、ホストOS511が備え、例えば、当該ゲストOS512のシステム情報が格納されている格納位置(disk_1=physical_disk ..)を予め定める。
開示の仮想計算機によれば、以上のように、ゲストOS512でパニックが発生した場合、その障害原因を解析するため、メモリダンプとゲストOS512のシステム情報の採取が必要となる。このため、ゲストOS512のメモリ部5121のメモリダンプを実行した後、ゲストOS512をリブートし、利用者がゲストOS512にログインして、利用者がゲストOS512のシステム情報を採取する必要がある。従って、システム情報の採取までに時間を要し、システム情報を速やかに採取できずに、システム情報の中の障害調査に必要な情報が失われる場合がある。この結果、障害発生の原因を解明できないか、又は、当該解明のために多大な労力が必要となる。
本発明の一実施態様である情報処理システムは、複数の仮想計算機と、前記複数の仮想計算機を制御するホスト仮想計算機とが動作する情報処理システムであって、複数の仮想計算機の動作に用いられるメモリと、前記ホスト仮想計算機がアクセス可能な、前記メモリと異なる記憶装置と、前記複数の仮想計算機それぞれについて、前記メモリにおける仮想計算機についてのシステム情報が記憶される位置を示す情報と、前記記憶装置における前記システム情報を退避する退避位置を示す情報とを対応付けたシステム情報退避情報を記憶する記憶手段と、前記複数の仮想計算機のいずれかに発生した障害を検出する検出手段と、前記検出手段によって障害が検出された場合、障害が検出された仮想計算機を停止させる停止手段と、障害が検出された前記仮想計算機が停止した場合、前記システム情報退避情報に基づいて、障害が検出された前記仮想計算機から、前記記憶装置における前記退避位置に、障害が検出された前記仮想計算機についてのシステム情報を退避する退避手段と、前記退避位置に退避された前記システム情報を採取する採取手段と、を備える。
本発明の一実施態様である情報処理システム及びその管理方法によれば、ホスト仮想計算機がシステム情報退避情報を備える。従って、ゲスト仮想計算機における障害が検出された場合、ホスト仮想計算機は、システム情報退避情報に基づいて、退避位置、ゲスト仮想計算機のシステム情報(システムログ)を採取することができる。
従って、ゲスト仮想計算機のシステム情報を得るために、ゲスト仮想計算機にログインする必要が無く、また、利用者がゲスト仮想計算機のシステム情報を採取する必要が無い。この結果、システム情報の採取までの時間を短縮して速やかに採取することができ、システム情報の中の障害調査に必要な情報が失われることを防止することができる。この結果、障害発生の原因を確実に解明することができ、当該解明のための労力を著しく軽減することができる。
本発明の一実施態様である情報処理システムの制御プログラム及び記録媒体によれば、当該制御プログラムにより、前述した構成の情報処理システム及びその管理方法を実現することができる。
図1は、この仮想計算機システムの構成の一例を示す図である。仮想計算機システムは、仮想計算機(VM:Virtual Machine)1、仮想計算機モニタ(VMM:Virtual Machine Monitor又はHypervisor)2、ハードウェア3を備える。ハードウェア3上で仮想計算機モニタ2及び仮想計算機1が動作する。ハードウェア3は、物理(又は実)CPUと、物理(又は実)記憶装置とを含む。記憶装置は、例えば、主記憶装置(主メモリ)と、例えば磁気ディスク装置のような周辺記憶装置とを含む。
仮想計算機システムは、複数の仮想計算機1を備える。即ち、ホストOS(オペレーティングシステム即ち制御プログラム)11、ゲストOS12、ドライバOS13が、各々、仮想計算機1である。各々の仮想計算機1は、各々のOS11〜13がハードウェア3の1個の物理CPU(図示省略)の制御権を獲得して当該物理CPU上で実行されることにより実現される。即ち、仮想計算機1は、CPU上で動作するプログラムからなる。仮想計算機モニタ2も同様にして実現される。
仮想計算機モニタ2は、この仮想計算機システムの全体を制御する。即ち、仮想計算機モニタ2は、複数の仮想計算機1の制御を行う。具体的には、仮想計算機モニタ2は、複数の仮想計算機1、即ち、OS11〜13のディスパッチ(物理CPUの制御権割当て)、OS11〜13が実行する特権命令のエミュレーション、物理CPU等のハードウェア3の制御等を行う。
ホストOS11は、1個設けられ、仮想計算機(ドメイン)として動作し、仮想計算機モニタ2と共に、仮想計算機システム全体の管理を行う(制御する)。ホストOS11は、仮想計算機システムのブート時に起動され、ゲストOS12やドライバOS13の制御(起動及び停止等を含む全ての制御)を行う。ホストOS11は、同時に、ドライバOS13としても動作可能である。
ホストOS11は、表示装置等のコンソール又は端末4(4A)を備える。ゲストOS12は、端末4Bを備える。利用者は、端末4Bを介して、ゲストOS12にログインすることができる。
ドライバOS13は、物理(又は実)入出力装置(I/O装置)5、6を制御するOSである。物理装置I/O装置5、6は、複数の種類、例えば、磁気ディスク装置5、ネットワーク6等からなる。ドライバOS13は、複数の種類の物理I/O装置5、6毎に、設けられる。物理I/O装置5、6の制御はドライバOS13が実行する。ドライバOS13は、ホストOS11上やゲストOS12上でも動作可能である。ドライバOS13がゲストOS12上で動作する場合、そのゲストOS12は、見かけ上ドライバOS13となる。
ゲストOS12は、物理I/O装置5、6を持たないOSである。ゲストOS12は、通常の(いわゆる)OSと考えてよい。例えば、アプリケーションプログラムは、いずれかのゲストOS12上で動作する。即ち、ゲストOS12は、アプリケーションプログラムを実行する。ゲストOS12は、ドライバOS13に対してI/O命令の実行を依頼することにより、そのI/O命令の実行が可能となる。
図2は、主として、図1の仮想計算機システムの仮想計算機マネージャ7及びハードウェアの3の構成の一例を示す図である。なお、図2においては、仮想計算機1として、1つのゲストOS12のみを示す。また、以下においては、仮想計算機1がゲストOS12である場合について説明するが、仮想計算機1が他のOS11及び13であっても同様である。なお、ホストOS11と仮想計算機モニタ2とにより、仮想計算機マネージャ7が構成される。
ホストOS11は、ゲストOS12毎に、当該ゲストOS12のゲスト環境定義111及びゲストシステム情報格納場所対応定義(以下、ゲスト格納定義)112を備える。ゲスト環境定義111及びゲスト格納定義112については、図3を参照して後述する。
ゲストOS12は、メモリ部121、ログ部122を備え、ハードウェア3は、物理CPUやダンプ部31、ログ部32(例えば、磁気ディスク装置)を備える。
仮想計算機モニタ2は、パニック監視管理部21、ログ採取部22、ダンプ及びログ解析環境部23を備える。
パニック監視管理部21は、ゲストOS12を監視して、ゲストOS12に発生した障害を検出する監視手段である。具体的には、パニック監視管理部21は、ゲストOS12にパニックが発生したか否かを監視し、パニックが発生した場合、ゲストOS12のメモリ部121のメモリイメージをハードウェア3のダンプ部31にコピーし、保存する。
ログ採取部22は、ゲストOS12における障害が検出された場合、ゲスト格納定義112に基づいて、ログ部122から退避位置システム情報を採取する採取手段である。この採取処理において、ログ採取部22は、ゲスト格納定義112に基づいて、ゲスト格納定義112の指示情報を実行した後に、システム情報を採取する。この際、ログ採取部22は、ゲスト環境定義111を参照し、これに基づいて、当該ゲスト環境定義111にリンクされたゲスト格納定義112を参照する。そして、ログ採取部22は、このゲスト格納定義112の退避位置に基づいて、ログ部122から当該退避位置、当該ゲストOS12のシステム情報(システムログ)を読み出す。
ダンプ及びログ解析環境部23は、ダンプ部31に保管されたメモリ部121の内容と、ログ部32に保管されたシステム情報(システムログ)の解析を行う。
ゲストOS12において、メモリ部121は、ゲストOS12のメモリイメージを記憶しているメモリ領域である。ログ部122は、ゲストOS12のシステム情報(ログ、設定ファイル等)を記憶するメモリ領域である。
ハードウェア3において、ダンプ部31、ログ部32は、例えば、磁気ディスク等の外部記憶装置である。仮想計算機マネージャ7は、ゲストOS12のメモリ部121のメモリイメージをダンプ部31に保存する。仮想計算機マネージャ7(具体的には、ログ採取部22)は、ゲストOS12のログ部122のシステム情報を採取し、ハードウェア3のログ部32に保存する。
図3は、図2の仮想計算機システムにおけるゲスト環境定義111及びゲスト格納定義112の一例を示す図である。
ゲスト環境定義111は、ゲストOS12の動作環境を定義する環境定義情報である。ゲスト環境定義111において、ゲストの名前(guest_name)、物理CPUの数(cpu_num)、メモリ容量(memory)、MACアドレス(mac_address)、複数のディスク(disk_N)が定義される。ゲスト環境定義111は、同一のゲストの名前(guest_name)をゲスト格納定義112において記述することにより、ゲスト格納定義112とリンクされる。
ゲスト格納定義112は、システム情報退避情報を含む。ゲスト格納定義112は、ゲストOS12についてのシステム情報を退避する退避位置であって、ホストOS11が使用する記憶装置における退避位置を予め定める。ゲスト格納定義112は、更に、ゲストOS12についてのシステム情報を格納する格納位置であって、ゲストOS12が使用する記憶装置における格納位置を含む。ゲスト格納定義112は、更に、ゲストOS12についてのメモリダンプを取得するか否かについての指示情報を含む。
ゲスト格納定義112は、ホストOS11からゲストOS12のシステム情報(ログ、設定ファイル)を採取するための情報である。システム情報は、例えば、ログ情報、設定ファイル等である。ゲスト格納定義112において、“ゲストOSnの定義”、“ゲストOSnの採取種別”が定義される。ここで、nは整数である。更に、ゲスト格納定義112には、ゲストOSnのシステム情報格納場所として、“ディスクパーティション”、“ディスクパーティション内の番号”、“ディスクパーティション内のディレクトリ”、“ゲストOSnのシステム情報退避場所”が定義される。
“ゲストOSnの定義”には、ゲスト環境定義111のguest_namが設定される。“ゲストOSnの採取種別”としては、collection_kindに、“dump”(ゲストOS12のメモリダンプ)、“sysinfo”(ゲストOS12のシステム情報の採取の指示情報)が設定される。“dump”は、ゲストOS12のメモリダンプを指示する情報である。“sysinfo”は、ゲストOS12のシステム情報の採取を指示する情報である。この設定には、“dump”、“sysinfo”のいずれか1つ、又は、両方を設定することができる。ゲスト格納定義112の“ディスクパーティション”(例えば、図3中の“disk1”)は、ゲスト環境定義111の“disk_1”に対応する物理ディスク及び論理ディスクを示す。
定義部分120には、“ディスクパーティション内のディレクトリ”、“ゲストOSnのシステム情報退避場所”の定義の代わりに、ホストOS11からゲストOS12のシステム情報を採取するバッチファイル(コマンド)のパラメータ(“batch_file”)を指定するようにしても良い。
仮想計算機モニタ2は、ホストOS11のゲスト環境定義111、ゲスト格納定義112を参照する。なお、ログ採取部22も、ゲスト環境定義111、ゲスト格納定義112を参照することができるようにしても良い。従って、パニック監視管理部21がパニックの発生したゲストOS12のゲスト名をログ採取部22に通知することにより、ログ採取部22が、ゲスト名からゲスト環境定義111及びゲスト格納定義112を参照することができる。これにより、パニック監視管理部21が、ゲスト環境定義111のゲスト名に対応するゲスト格納定義112の情報に基づいて、メモリダンプやシステム情報の採取し、採取した情報の格納場所(システム情報格納場所)を特定することができる。
図4は、図2の構成の仮想計算機システムにおけるパニック発生時の動作概要を示す図である。
ゲストOS12にパニックが発生すると、当該ゲストOS12は停止する。一方、パニック監視管理部21が、ゲストOS12のパニックの発生を監視している。ゲストOS12にパニックが発生した場合(T1)、パニック監視管理部21は、パニック発生を検出後、ゲストOS12のメモリ部121(メモリイメージ)を読取り(T2)、ホストOS11の自動又は手動設定により実ハードウェア3上のダンプ部31に保存する(T3)。
この後、パニック監視管理部21は、パニックが発生した対象のゲストOS12をリブートし(T4)、ログ採取部22に当該ゲストOS12のログの採取を通知する(T5)。これに応じて、ログ採取部22は、システム情報をログ部122から採取して(T6)、ログ部32に保存する(T7)。
この後、利用者が、ダンプ及びログ解析環境部23により、ダンプ部31、ログ部32の保存したデータから障害情報を解析する。
図5は、図2の仮想計算機システムにおける調査情報収集の処理フローを示す図である。
図2の仮想計算機システムにおいて、仮想計算機モニタ2に備えられたパニック監視管理部21が、ゲストOS12のパニック発生を監視し、パニック発生を捕えることにより、本処理が開始される。又は、利用者が、端末4AからホストOS11にログインし、手動による指示によりメモリダンプ採取操作を開始することにより、本処理が開始される(ステップS11)。図5の例では、ゲストOS12がメモリダンプ機能を備える場合において、当該メモリダンプ機能によりメモリダンプを行う。この場合、ゲストOS12内のディスクにメモリの内容が退避されるので、当該メモリダンプもホストOS11から採取する。
パニックの発生を監視したパニック監視管理部21が、ゲストOS12のメモリ部121のメモリイメージを、ハードウェア3のダンプ部31へメモリダンプ取得を実行するか否かを判断する(ステップS12)。具体的には、パニック監視管理部21がパニックの発生を監視し、パニックの発生を捕えた場合、又は、端末4Aからの指示によりホストOS11が、仮想計算機マネージャ7に対し、メモリ部121のメモリダンプ取得の要求の通知を送った場合である。即ち、図5の例では、ゲストOS12のメモリダンプ採取機能を利用して、ホストOS11からの指示でメモリダンプが採取される。
ここで、ゲストOS12のメモリダンプには、一般的に、数GB単位(ゲストOS12に割当てたメモリサイズ)のディスク容量が必要である。しかし、メモリダンプの採取を選択しない場合、システム情報の採取のみを行うので、数十MB程度の容量を必要とするのみである。その結果、メモリダンプも採取した場合と比べて、デバック情報(システム情報のみ採取)の採取時間が短縮(数十分を数分程度に短縮)できる。
また、ゲストOS12のメモリダンプを取得には、一般に、時間(数十分)がかかる。このため、例えば、その間に障害調査用の資料(システム情報)を先に採取して、利用者(障害解析者)に提供できる。従って、仮想計算機システム上で動作する業務の復旧時間をより短縮できる。
ステップS12において、パニック監視管理部21が、ゲストOS12に対しメモリダンプ取得の指示を行った場合、ゲストOS12は、メモリ部121のメモリイメージをハードウェア3に備えられたダンプ部31に保存する(ステップS13)。一方、ステップS12において、パニック監視管理部21が、メモリダンプ取得を実行しないと判断した場合、ステップS14の処理へ移行する。
次に、パニック監視管理部21が、ゲストOS12のログ部122のシステム情報(ログ等)を採取するか否か判断する(ステップS14)。ステップS14において、パニック監視管理部21は、システム情報を採取すると判断した場合、ステップS15の処理へ移行し、採取しないと判断した場合、ステップS22の処理へ移行する。
システム情報を採取する場合、パニック監視管理部21が、対象のゲストOS12のシステム情報を採取するため、対象のゲストOS12に対して一時停止の指示を行う(ステップS15)。この後、パニック監視管理部21が、ログ採取部22へゲストOS12のシステムログを採取するゲスト名等の情報を通知する(ステップS16)。
次に、通知を受けたログ採取部22が、ゲスト環境定義111から対象のゲストOS12のゲスト格納定義112を参照し、システム情報の退避場所を特定する(ステップS17)。ログ採取部22は、退避場所を特定した後、対象のゲストOS12のシステム情報格納場所(退避場所:ログ部32、例えば、ディスク)をマウントする(ステップS18)。
ログ採取部22は、参照したゲスト格納定義112において、バッチファイル(コマンド)の実行が設定されているか否かを判断する(ステップS19)。バッチファイルの実行が設定されている場合、ホストOS11から対象のゲストOS12のシステム情報を採取するバッチファイルを実行する(ステップS20)。一方、バッチファイルの実行が設定されていない場合、ログ採取部22が、ゲストOS12のログ部122にあるシステム情報(ログ、設定ファイル)を指定されたシステム情報格納場所(ログ部32)へ複写する(ステップS23)。
次に、ログ採取部22が対象のゲストOSのシステム情報格納場所(ログ部32)をアンマウントする(ステップS21)。この後、パニック監視管理部21が対象のゲストOS12を再開する(ステップS22)。
従って、ゲストOS12のメモリダンプの取得と同時に障害調査に必要なシステム情報を、利用者が介在することなく、採取することができる。このため、システム情報を採取し忘れることを防止し、確実に採取することができる。また、ホストOS11から直接各ゲストOS12のシステム情報を採取することができる。このため、ホストOS11から全てのゲストOS12のシステム情報を、一括して、又は選択して、採取することができる。
図6は、図2の仮想計算機システムにおけるゲストOS12のシステム情報格納場所の検索処理フローを示す図である。仮想計算機モニタ2に備えられたログ採取部22が、パニック監視管理部21からゲスト名を通知されると、本処理は開始される。
ログ採取部22が、パニック監視管理部21から通知されたゲスト名に基づいて、ゲスト環境定義111を検索する(ステップS31)。ログ採取部22は、ゲスト環境定義111にゲストOS12のゲスト環境定義がある、換言すれば、ゲスト環境設定が行われているか否かを判断し(ステップS32)、ゲスト環境定義111にゲストOS12のゲスト環境設定が行われていると判断した場合、次のステップS33へ移行する。一方、ログ採取部22は、ゲスト環境定義111にゲストOS12のゲスト環境設定が行われていないと判断した場合、本処理フローを終了する。
次に、ログ採取部22がゲスト環境定義111のゲスト名(guest_nameパラメータ)から対象のゲストOS12のゲスト格納定義112を検索、換言すれば、ゲストOSのシステム情報格納場所に対応する定義を検索する(ステップS33)。ログ採取部22は、ゲスト格納定義112に対象のゲストOS12のシステム情報格納場所の定義があるか否かを判断し(ステップS34)、ゲスト格納定義112に対象のゲストOS12のシステム情報格納場所の定義があると判断した場合、次のステップS35へ処理を移行する。一方、ログ採取部22は、ゲスト格納定義112に対象のゲストOS12のシステム情報格納場所の定義がないと判断した場合、本処理フローを終了する。
グ採取部22は、ゲスト格納定義112のディスクパーティション(disk_partitionパラメータ)に指定されたディスク(diskN)がゲスト環境定義111に存在するか検査する(ステップS35)。ログ採取部22は、検査後、指定されたディスクがゲスト環境定義111に存在するか否かを判断し(ステップS36)、指定されたディスクがゲスト環境定義111に存在した場合、処理をステップS37へ移行する。ログ採取部22は、指定されたディスクがゲスト環境定義111に存在しない場合、処理を終了する。
次に、ログ採取部22は、ゲストOS12のシステム情報格納情報として、ゲスト格納定義112からディスクパーティション内の番号(partition_numパラメータ)の情報を取得する(ステップS37)。
ログ採取部22は、ゲスト格納定義112にバッチファイル(batch_fileパラメータ)が存在するか否か検査する(ステップS38)。バッチファイルが存在する場合、本処理フローは終了する。バッチファイルが存在しない場合、ログ採取部22は、ゲストOS12のシステム情報格納場所として、ディスクパーティション内のディレクトリ(directoryパラメータ)、システム情報の退避場所(save_directoryパラメータ)の情報を取得する(ステップS39)。この後、処理を終了する。
なお、ホストOS11でゲストOS12の異常を検出した場合、ホストOS11から手動で障害調査に必要なゲストOS12のシステム情報を採取及び退避するようにしても良い。即ち、ホストOS11から、利用者の指示入力に従って(手動で)、ゲストOS12のシステム情報を採取するようにしても良い。この場合、当該採取時に、ゲストOS12の動作を一時停止するようにしても良く、又は、ゲストOS12の動作を再開して採取するようにしても良い。
また、ゲストOS12が正常動作(動作異常やシステムパニック発生していない状態)している場合においても、ゲストOS12をリブートせずに、必要なときにシステム情報を採取するようにしても良い。この場合、前述したように、ゲストOS12のメモリダンプを行わず、ゲストOS12のシステム情報のみを採取することもできる。これにより、ゲストOS12のシステム復旧時間を短縮することができ、また、ホストOS11に殆ど負荷を与えることが無い。従って、他のゲストOS12の動作への影響も抑えることができる。
また、ネットワークを介する仮想計算機システムの場合、ホストOS11から各ゲストOS12のシステム情報を、ネットワークに大きな負荷を与えることなく、採取することができる。
また、ゲストOS12がメモリダンプ機能を備える場合、当該メモリダンプ機能によりメモリダンプを行うので、ゲストOS12が起動できない等ゲストOS12にログインできない状態でも、当該メモリダンプをホストOS11から採取することができる。
仮想計算機システムの構成の一例を示す図である。 仮想計算機マネージャ及びハードウェアの構成の一例を示す図である ゲスト環境定義及びゲストシステム情報格納場所対応定義の一例を示す図である。 パニック発生時の動作概要を示す図である。 調査情報収集の処理フローを示す図である。 ゲストOSのシステム情報格納場所の検索処理フローを示す図である。 従来技術の構成の一例を示す図である。 従来技術のゲスト環境定義及びパニック発生時の調査情報収集の処理フローを示す図である。
符号の説明
1 仮想計算機
2 仮想計算機モニタ
3 ハードウェア
4 表示装置
5 磁気ディスク装置
6 ネットワーク
7 仮想計算機マネージャ
11 ホストOS
12 ゲストOS
13 ドライバOS
21 パニック監視管理部
22 ログ採取部
23 ダンプ及びログ解析環境部
31 ダンプ部
32、122 ログ部
111 ゲスト環境定義
112 ゲストシステム情報格納場所対応定義
121 メモリ部

Claims (8)

  1. 複数の仮想計算機と、前記複数の仮想計算機を制御するホスト仮想計算機とが動作する情報処理システムであって、
    複数の仮想計算機の動作に用いられるメモリと、
    前記ホスト仮想計算機がアクセス可能な、前記メモリと異なる記憶装置と、
    前記複数の仮想計算機それぞれについて、前記メモリにおける仮想計算機についてのシステム情報が記憶される位置を示す情報と、前記記憶装置における前記システム情報を退避する退避位置を示す情報とを対応付けたシステム情報退避情報を記憶する記憶手段と、
    前記複数の仮想計算機のいずれかに発生した障害を検出する検出手段と、
    前記検出手段によって障害が検出された場合、障害が検出された仮想計算機を停止させる停止手段と、
    障害が検出された前記仮想計算機が停止した場合、前記システム情報退避情報に基づいて、障害が検出された前記仮想計算機から、前記記憶装置における前記退避位置に、障害が検出された前記仮想計算機についてのシステム情報を退避する退避手段と、
    前記退避位置に退避された前記システム情報を採取する採取手段と、を備える
    ことを特徴とする情報処理システム。
  2. 前記システム情報退避情報と対応付けられた、前記複数の仮想計算機それぞれの動作環境を定義する環境定義情報を備え、
    前記採取手段が、前記環境定義情報に基づいて、前記環境定義情報と対応付けられたシステム情報退避情報を参照する
    ことを特徴とする請求項1記載の情報処理システム。
  3. 前記システム情報退避情報が、更に、前記複数の仮想計算機それぞれについてのシステム情報を格納する格納位置であって、前記複数の仮想計算機それぞれが使用する前記記憶装置における格納位置を含む
    ことを特徴とする請求項1または2記載の情報処理システム。
  4. 前記システム情報退避情報が、更に、前記複数の仮想計算機それぞれについてのメモリダンプを取得するか否かについての指示情報を含み、
    前記採取手段が、前記システム情報退避情報に基づいて、前記指示情報を実行した後に、前記システム情報を採取する
    ことを特徴とする請求項1乃至3のいずれか1項記載の情報処理システム。
  5. 前記検出手段、前記停止手段、前記退避手段、前記採取手段により実行される処理は、前記情報処理システムを制御する仮想計算機モニタが実行する
    ことを特徴とする請求項1乃至4のいずれか1項記載の情報処理システム。
  6. 複数の仮想計算機と、前記複数の仮想計算機の制御を行うホスト仮想計算機とが動作する情報処理システムの制御方法であって、
    前記複数の仮想計算機それぞれについて、メモリにおける仮想計算機についてのシステム情報が記憶される位置を示す情報と、前記メモリと異なる記憶装置における前記システム情報を退避する退避位置を示す情報とを対応付けたシステム情報退避情報を定義する定義ステップと、
    前記複数の仮想計算機のいずれかに発生した障害を検出する検出ステップと、
    前記検出ステップで障害が検出された場合、障害が検出された仮想計算機を停止させる停止ステップと、
    障害が検出された前記仮想計算機が停止した場合、前記システム情報退避情報に基づいて、障害が検出された前記仮想計算機から、前記記憶装置における前記退避位置に、障害が検出された前記仮想計算機についての前記システム情報を採取する採取ステップと、を実行する
    ことを特徴とする情報処理システムの管理方法。
  7. 複数の仮想計算機と、前記複数の仮想計算機を制御するホスト仮想計算機とが動作する情報処理システムの制御プログラムであって、
    前記情報処理システムが有するコンピュータに、
    前記複数の仮想計算機それぞれについて、メモリにおける仮想計算機についてのシステム情報が記憶される位置を示す情報と、前記メモリと異なる記憶装置における前記システム情報を退避する退避位置を示す情報とを対応付けたシステム情報退避情報を定義する定義ステップと、
    前記複数の仮想計算機のいずれかに発生した障害を検出する検出ステップと、
    前記検出ステップで障害が検出された場合、障害が検出された仮想計算機を停止させる停止ステップと、
    障害が検出された前記仮想計算機が停止した場合、前記システム情報退避情報に基づいて、障害が検出された前記仮想計算機から、前記記憶装置における前記退避位置に、障害が検出された前記仮想計算機についてのシステム情報を退避する退避ステップと、
    前記退避位置に退避された前記システム情報を採取する採取ステップと、を実行させる
    ことを特徴とする制御プログラム。
  8. 複数の仮想計算機と、前記複数の仮想計算機を制御するホスト仮想計算機とが動作する情報処理システムの制御プログラムを記録するコンピュータ読み取り可能な記録媒体であって、
    前記制御プログラムは、前記情報処理システムが有するコンピュータに、
    前記複数の仮想計算機それぞれについて、メモリにおける仮想計算機についてのシステム情報が記憶される位置を示す情報と、前記メモリと異なる記憶装置における前記システム情報を退避する退避位置を示す情報とを対応付けたシステム情報退避情報を定義する定義ステップと、
    前記複数の仮想計算機のいずれかに発生した障害を検出する検出ステップと、
    前記検出ステップで障害が検出された場合、障害が検出された仮想計算機を停止させる停止ステップと、
    障害が検出された前記仮想計算機が停止した場合、前記システム情報退避情報に基づいて、障害が検出された前記仮想計算機から、前記記憶装置における前記退避位置に、障害が検出された前記仮想計算機についてのシステム情報を退避する退避ステップと、
    前記退避位置に退避された前記システム情報を採取する採取ステップと、を実行させる
    ことを特徴とする記録媒体。
JP2008252904A 2008-09-30 2008-09-30 情報処理システム及びその管理方法、制御プログラム並びに記録媒体 Active JP5176837B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008252904A JP5176837B2 (ja) 2008-09-30 2008-09-30 情報処理システム及びその管理方法、制御プログラム並びに記録媒体
US12/461,254 US8423997B2 (en) 2008-09-30 2009-08-05 System and method of controlling virtual machine

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008252904A JP5176837B2 (ja) 2008-09-30 2008-09-30 情報処理システム及びその管理方法、制御プログラム並びに記録媒体

Publications (2)

Publication Number Publication Date
JP2010086181A JP2010086181A (ja) 2010-04-15
JP5176837B2 true JP5176837B2 (ja) 2013-04-03

Family

ID=42059089

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008252904A Active JP5176837B2 (ja) 2008-09-30 2008-09-30 情報処理システム及びその管理方法、制御プログラム並びに記録媒体

Country Status (2)

Country Link
US (1) US8423997B2 (ja)
JP (1) JP5176837B2 (ja)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010079587A1 (ja) * 2009-01-06 2010-07-15 三菱電機株式会社 管理装置及び管理方法及びプログラム
US8527466B2 (en) * 2009-05-31 2013-09-03 Red Hat Israel, Ltd. Handling temporary files of a virtual machine
US8943498B2 (en) * 2009-05-31 2015-01-27 Red Hat Israel, Ltd. Method and apparatus for swapping virtual machine memory
US8352799B2 (en) * 2010-02-12 2013-01-08 Symantec Corporation Data corruption prevention during application restart and recovery
US20110225458A1 (en) * 2010-03-09 2011-09-15 Microsoft Corporation Generating a debuggable dump file for an operating system kernel and hypervisor
US20110225459A1 (en) * 2010-03-09 2011-09-15 Microsoft Corporation Generating a debuggable dump file for a virtual machine
US8365020B2 (en) 2010-03-18 2013-01-29 Red Hat Israel, Ltd. Mechanism for saving crash dump files of a virtual machine on a designated disk
US8671405B2 (en) * 2010-03-31 2014-03-11 Microsoft Corporation Virtual machine crash file generation techniques
JP2011243012A (ja) * 2010-05-19 2011-12-01 Hitachi Ltd 仮想計算機システムのメモリダンプ取得方法
CN101887393B (zh) * 2010-07-01 2014-07-02 中兴通讯股份有限公司 基于半虚拟化技术的设备故障复现方法及系统
US9015706B2 (en) 2010-07-08 2015-04-21 Symantec Corporation Techniques for interaction with a guest virtual machine
JP5648902B2 (ja) * 2010-09-30 2015-01-07 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 仮想サーバのスナップショットを管理する方法、及び該方法を具現化する装置
WO2012125392A1 (en) * 2011-03-11 2012-09-20 Skydesks, Incorporated Methods and systems for persistent virtual application hosting
EP2701063A4 (en) 2011-04-22 2014-05-07 Fujitsu Ltd INFORMATION PROCESSING DEVICE, METHOD OF PROCESSING INFORMATION PROCESSING DEVICE
CN103885863B (zh) * 2012-12-24 2018-12-11 腾讯科技(深圳)有限公司 系统故障的处理方法及虚拟机
AU2014232838A1 (en) * 2013-03-15 2015-09-24 Nec Corporation Information processing device
US9350632B2 (en) * 2013-09-23 2016-05-24 Intel Corporation Detection and handling of virtual network appliance failures
US9256489B2 (en) 2013-10-30 2016-02-09 International Business Machines Corporation Synchronized debug information generation
CN103678036B (zh) * 2013-11-15 2016-08-17 上海爱数信息技术股份有限公司 一种基于虚拟机运行信息数据发现的备份方法
JP6610094B2 (ja) * 2015-08-28 2019-11-27 富士ゼロックス株式会社 仮想計算機システム及び仮想計算機プログラム
WO2017107014A1 (zh) * 2015-12-21 2017-06-29 华为技术有限公司 一种网络亚健康诊断方法及装置
US10042737B2 (en) 2016-08-31 2018-08-07 Microsoft Technology Licensing, Llc Program tracing for time travel debugging and analysis
US10031834B2 (en) 2016-08-31 2018-07-24 Microsoft Technology Licensing, Llc Cache-based tracing for time travel debugging and analysis
US10310963B2 (en) 2016-10-20 2019-06-04 Microsoft Technology Licensing, Llc Facilitating recording a trace file of code execution using index bits in a processor cache
US10489273B2 (en) 2016-10-20 2019-11-26 Microsoft Technology Licensing, Llc Reuse of a related thread's cache while recording a trace file of code execution
US10310977B2 (en) 2016-10-20 2019-06-04 Microsoft Technology Licensing, Llc Facilitating recording a trace file of code execution using a processor cache
US10318332B2 (en) * 2017-04-01 2019-06-11 Microsoft Technology Licensing, Llc Virtual machine execution tracing
US10387188B2 (en) * 2017-11-09 2019-08-20 International Business Machines Corporation Virtual machine scoping of data on a hypervisor
US11663064B1 (en) * 2019-09-02 2023-05-30 Virtuozzo International Gmbh System and method for generating a guest operating system crash dump
US12019504B1 (en) * 2019-12-31 2024-06-25 Virtuozzo International Gmbh Automated software crash recovery in hyperconverged systems using centralized knowledge database

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0652130A (ja) 1992-07-30 1994-02-25 Mitsubishi Electric Corp マルチプロセッサシステム
JP2002082816A (ja) * 2000-09-07 2002-03-22 Hitachi Ltd 障害監視システム
US7343521B2 (en) * 2004-05-28 2008-03-11 International Business Machines Corporation Method and apparatus to preserve trace data
JP2006171995A (ja) * 2004-12-14 2006-06-29 Mitsubishi Electric Corp 制御用計算機
JP4473766B2 (ja) * 2005-04-04 2010-06-02 株式会社日立製作所 計算機システム、ログ収集方法、及びコンピュータプログラム
US7669020B1 (en) * 2005-05-02 2010-02-23 Symantec Operating Corporation Host-based backup for virtual machines
US8375386B2 (en) * 2005-06-29 2013-02-12 Microsoft Corporation Failure management for a virtualized computing environment
US7634679B2 (en) * 2005-11-30 2009-12-15 Microsoft Corporation Remote location failover server application
JP2007226413A (ja) * 2006-02-22 2007-09-06 Hitachi Ltd メモリダンプ方法、メモリダンププログラム、及び、計算機システム
JP2007334403A (ja) * 2006-06-12 2007-12-27 Mitsubishi Electric Corp 計算機システム障害対応方式及び計算機システム障害対応方法
JP2008171076A (ja) * 2007-01-09 2008-07-24 Vision Arts Kk ジョブ実行装置及びその制御方法
JP2008217728A (ja) * 2007-03-08 2008-09-18 Hitachi Ltd 仮想計算機システムの障害情報採取方法
US7685474B2 (en) * 2007-03-16 2010-03-23 Symantec Corporation Failsafe computer support assistant using a support virtual machine
JP5142629B2 (ja) * 2007-08-22 2013-02-13 株式会社日立製作所 仮想ボリュームのバックアップを行うストレージシステム及び方法
US7917617B1 (en) * 2008-08-14 2011-03-29 Netapp, Inc. Mitigating rebaselining of a virtual machine (VM)

Also Published As

Publication number Publication date
JP2010086181A (ja) 2010-04-15
US20100083250A1 (en) 2010-04-01
US8423997B2 (en) 2013-04-16

Similar Documents

Publication Publication Date Title
JP5176837B2 (ja) 情報処理システム及びその管理方法、制御プログラム並びに記録媒体
US7574627B2 (en) Memory dump method, memory dump program and computer system
EP2726977B1 (en) Virtual machine image analysis
US7908521B2 (en) Process reflection
US8132057B2 (en) Automated transition to a recovery kernel via firmware-assisted-dump flows providing automated operating system diagnosis and repair
EP2867770B1 (en) Methods, systems and apparatus to capture error conditions in lightweight virtual machine managers
US7774636B2 (en) Method and system for kernel panic recovery
KR101393992B1 (ko) 정보 처리 장치, 정보 처리 방법, 및 프로그램을 기록한 컴퓨터 판독가능한 기록 매체
US20110004791A1 (en) Server apparatus, fault detection method of server apparatus, and fault detection program of server apparatus
US20090276205A1 (en) Stablizing operation of an emulated system
KR20040047209A (ko) 네트워크 상의 컴퓨터 시스템의 자동 복구 방법 및 이를구현하기 위한 컴퓨터 시스템의 자동 복구 시스템
JP2007133544A (ja) 障害情報解析方法及びその実施装置
US20050204199A1 (en) Automatic crash recovery in computer operating systems
US11989539B2 (en) Continuous integration and deployment system time-based management
US20160259578A1 (en) Apparatus and method for detecting performance deterioration in a virtualization system
US20140189422A1 (en) Information processing apparatus and stored information analyzing method
US9959225B2 (en) Computer apparatus and control method of computer apparatus
JP5592828B2 (ja) パッチ影響解析装置、方法及びプログラム
WO2018036318A1 (zh) 一种在操作系统启动阶段收集异常信息的方法及装置
Postolache et al. Suspend feature for multiple devices of same type in bhyve
JP2006039763A (ja) ゲストosデバッグ支援方法及び仮想計算機マネージャ
JP7389877B2 (ja) ネットワークの最適なブートパスの方法及びシステム
CN109564533B (zh) 一种支持即时恢复进程中执行引导进程的设备和方法
JP2016076152A (ja) エラー検出システム、エラー検出方法およびエラー検出プログラム
Jann et al. Towards an immortal operating system in virtual environments

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110217

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120423

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120508

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120709

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120731

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121001

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121224

R150 Certificate of patent or registration of utility model

Ref document number: 5176837

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150