JP2011243012A - 仮想計算機システムのメモリダンプ取得方法 - Google Patents
仮想計算機システムのメモリダンプ取得方法 Download PDFInfo
- Publication number
- JP2011243012A JP2011243012A JP2010114876A JP2010114876A JP2011243012A JP 2011243012 A JP2011243012 A JP 2011243012A JP 2010114876 A JP2010114876 A JP 2010114876A JP 2010114876 A JP2010114876 A JP 2010114876A JP 2011243012 A JP2011243012 A JP 2011243012A
- Authority
- JP
- Japan
- Prior art keywords
- guest
- virtual
- memory dump
- virtual machine
- acquisition method
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
【解決手段】仮想計算機システム10上で動作する管理OS401はゲストOS411の稼動状態を監視し、ゲストOS411にシステム障害が発生したことを検出する。ゲストOS411のシステム障害を検出すると、管理OS401上の仮想割り込み入力部405が仮想計算機制御部30のソフトウェアインタフェース301を介してゲストOS411を動作させている仮想CPU412に対して外部割り込みを発行する。ゲストOS411はシステム障害処理部415で外部割り込みを検出し、メモリダンプ処理部416でゲストOSのメモリダンプ取得をする。
【選択図】図1
Description
この要求に応える機能として、メモリダンプを実施し、障害発生時の主メモリデータを取得する機能がある。この機能はシステム障害発生時の主メモリ上のデータを採取し、ハードディスクなどの補助記憶装置にメモリダンプファイルとして保存する。この機能により生成されたメモリダンプファイルには、障害発生時の主メモリ内容が保持されているため、このファイルを解析することによりOSで発生していた障害の原因特定を行うことができる。
メモリダンプ機能はOSが自身の論理矛盾やバグを認知した場合に動作する他、OSのハングアップが発生した場合等に外部装置からCPUに対してNMI(Non-Maskable Interrupt、マスク不可能な高優先度の割り込み、以下、NMIと称する)を発行することによりメモリダンプ機能を動作させることも可能である。
一般的に仮想マシン上で動作するOSはゲストOSと呼ばれる。また、このゲストOSとは別に計算機システム上に一つだけ管理OSが存在する。管理OSはゲストOSで生じたI/O(Input/Output)処理をハイパーバイザー経由で依頼され、自身のデバイスドライバを用いて処理する等、特別な権限を有している。
このような仮想化技術、仮想化支援技術を利用した仮想化ソフトウェアとして「VMware ESXi(登録商標)」や「Xen(登録商標)」、「Hyper−V(登録商標)」がよく知られている。
このような状況に陥った場合、管理OSを操作して、ゲストOS側の仮想マシンにNMIを発行する方法がある。しかしながら、例えば仮想計算機システムが装置組み込みの分野で使用される場合、キーボードやマウスが設置されていない環境で使用されているため、管理OSを操作することができない。また、仮想計算機システムが無人環境に設置されている場合においても、管理OSを操作することができない。
このように、管理OSが操作できない環境においては、ゲストOSのメモリダンプを実施することができず、主メモリデータを取得することができないという課題があった。
すなわち、一つ以上のゲストOSと前記ゲストOSを管理する管理OSとを仮想環境上で動作させる仮想計算機システムのメモリダンプ取得方法において、前記管理OSと前記一つ以上のゲストOSとの通信手段を有した仮想計算機制御部と、前記一つ以上のゲストOSの動作状態を取得する動作状態取得手段により得られた前記一つ以上のゲストOSの動作状態を監視するゲストOS状態監視手段と、前記ゲストOS状態監視手段により、少なくとも一つの前記ゲストOSに異常が発生していると判別された場合に、前記異常が発生したゲストOSの処理を行っている仮想CPUに対して、外部割り込みを入力させる割り込み入力手段と、前記外部割り込み検出時に、前記異常が発生したゲストOSに割り当てられた主メモリ上のデータを採取するメモリダンプ処理手段と、を備えた。
図1において、本実施形態の仮想計算機システム10は、仮想化支援技術を備えたCPU201と物理メモリ(主メモリ)202と補助記憶装置203をハードウェアとして備え、そのハードウェア上にハイパーバイザー30を制御ソフトウェアとして備えている。ハイパーバイザー30上には、仮想マシンA40上で動作する管理OS401と仮想マシンB41上で動作するゲストOS411がある。ここで、ゲストOS411は、図示した構成では一つであるが、複数存在してもよい。
ハイパーバイザー30は各仮想マシン(40、41)で設定したレジスタ情報等を保存しておくデータ領域302を有しており、動作モード遷移時に、このデータ領域を利用することで、各々の仮想CPU(402、412)は状態遷移前の状態から処理を再開することができる。
また、補助記憶装置203も各OS(401、411)の使用量に応じて分割される。
ハイパーバイザー30はハードウェア資源を分配する機能の他に、管理OS401がゲストOS411の操作を行う、または通信を行う機能のための手段として、ソフトウェアインタフェースであるAPI(Application Program Interface、以下、APIと称す)301を有している。
また、ハイパーバイザー30は、各仮想マシン(40、41)のレジスタ情報等を保存しておくデータ領域302、管理OS401とゲストOS411の通信時に利用されるメッセージバッファ303などのハードウェア資源を専用に確保している。
仮想マシンA40上で動作する管理OS401は、ゲストOS状態監視部404、仮想割り込み入力部405を有している。
ゲストOS状態監視部404は、仮想計算機システム10上に構築されたゲストOS411の状態(起動中、停止中、異常発生等)を監視し、その状態の変化を基に仮想割り込み入力部405へ通知するかどうかを判断する。仮想割り込み入力部405はゲストOS状態監視部404からの入力に基づき、ハイパーバイザー30のAPI301を利用してゲストOS411に割り当てられた仮想CPU412に対してNMIを発行する。
仮想マシンB41上で動作するゲストOS411は稼動状態通知部414、システム障害処理部415、メモリダンプ処理部416を有している。稼動状態通知部414はゲストOS411上で一定の優先順位で動作するプロセスであり、定期的にハイパーバイザー30のAPI301を利用して管理OS401に稼動状態を通知する。
システム障害処理部415はゲストOS411にシステム障害が発生した場合に呼び出される。
以上のように、ゲストOS411によって制御されるシステム障害処理部415、メモリダンプ処理部416ではあるが、ゲストOS411がハングアップ状態になったとしても、NMIの指令があれば優先してゲストOS411にインターラプトがかかり、ゲストOS411のもとにメモリダンプの処理が実行可能である。
なお、狭義にはメモリダンプ処理部416がメモリダンプ処理手段であるが、広義にはシステム障害処理部415とメモリダンプ処理部416および補助記憶装置203とによってメモリダンプ処理手段が構成されている。
本実施形態において、メモリダンプが行われるのはゲストOS411がハングアップ等のシステム障害発生時である。したがって、ゲストOS411が正常に稼動しているか、ハングアップしているかの状態を、管理OS401上のゲストOS状態監視部404に伝達(通知)する必要がある。
次に、図2に示すフローチャートに沿って、本実施形態におけるゲストOS411の起動から、ゲストOS411の稼動状態通知まで処理の流れを説明する。
なお、この「起動」とは、補助記憶装置203に格納されているゲストOS411を仮想物理メモリ413に読み出すことに相当する。
また、稼動状態通知部414は次の通知の周期へ行く(ステップS56:B)。
そして、通知周期のたびに稼動状態の通知を行う。
以上が本実施形態におけるゲストOS411の稼動状態通知まで処理の流れである。ただし、ゲストOS411上の稼動状態通知部414がハイパーバイザー30に対して稼動状態の通知を行い、ハイパーバイザー30は通知された稼動状態を受信し、保存する段階までである。
次に図3に示すフローチャートに沿って、本実施形態におけるゲストOS411の障害を管理OS401(管理OS401上のゲストOS状態監視部404)が検出するまでの、障害検出の処理の流れを説明する。
ここで、ハイパーバイザー30はゲストOS411から稼動状態の通知がなされているかを検出し、ゲストOS411の状態を判別する。ゲストOS411においてハングアップ等のシステム障害が発生していると、ゲストOS411では優先順位の高い処理が仮想CPU412のリソースを占有してしまい、稼動状態の通知を行えなくなる。そのため、ハイパーバイザー30は、ゲストOS411からの稼動状態の通知の有無でゲストOS411の状態を判別することができる。
また、次の定期的な自身のメッセージバッファ303を確認する工程に戻る(ステップS63:B)。
以上が本実施形態におけるゲストOS411の障害検出まで処理の流れである。
次に、図4に示すフローチャートに沿って、本実施形態におけるゲストOS411の異常発生時の処理を、管理OS401上のゲストOS状態監視部404が検出してから、メモリダンプ取得が行われるまでの、異常発生時の処理の流れについて説明する。
なお、ID番号の通知はゲストOSが複数存在する可能性があるからである。
なお、システム障害処理部415は、前記したようにゲストOS411上にあるが、ゲストOS411がハングアップ状態であっても、NMIが発行された場合にはNMIを検出する。これはNMIの信号の優先度を高くした構成となっているからである。
以上が本実施形態におけるゲストOS411異常発生時の処理の流れである。
20 ハードウェア
30 ハイパーバイザー(仮想計算機制御部)
301 API(通信手段)(ソフトウェアインタフェース)
302 データ領域
303 メッセージバッファ
40 仮想マシンA
401 管理OS
402 仮想CPU
403 仮想物理メモリ
404 ゲストOS状態監視部(ゲストOS状態監視手段)
405 仮想割り込み入力部(割り込み入力手段)
41 仮想マシンB
411 ゲストOS
412 仮想CPU
413 仮想物理メモリ
414 稼動状態通知部(動作状態取得手段)
415 システム障害処理部
416 メモリダンプ処理部(メモリダンプ処理手段)
Claims (5)
- 一つ以上のゲストOSと前記ゲストOSを管理する管理OSとを仮想環境上で動作させる仮想計算機システムのメモリダンプ取得方法において、
前記管理OSと前記一つ以上のゲストOSとの通信手段を有した仮想計算機制御部と、
前記一つ以上のゲストOSの動作状態を取得する動作状態取得手段により得られた前記一つ以上のゲストOSの動作状態を監視するゲストOS状態監視手段と、
前記ゲストOS状態監視手段により、少なくとも一つの前記ゲストOSに異常が発生していると判別された場合に、前記異常が発生したゲストOSの処理を行っている仮想CPUに対して、外部割り込みを入力させる割り込み入力手段と、
前記外部割り込み検出時に、前記異常が発生したゲストOSに割り当てられた主メモリ上のデータを採取するメモリダンプ処理手段と、
を備えたことを特徴とする仮想計算機システムのメモリダンプ取得方法。 - 請求項1に記載の仮想計算機システムのメモリダンプ取得方法において、
前記仮想CPUへの外部割り込みは、前記障害発生時に前記仮想CPUが行っている処理よりも処理優先順位の高い割り込み処理であること
を特徴とした仮想計算機システムのメモリダンプ取得方法。 - 請求項1に記載の仮想計算機システムのメモリダンプ取得方法において、
前記仮想CPUへの外部割り込みは、前記仮想計算機制御部のソフトウェアインタフェースを利用して行うこと
を特徴とした仮想計算機システムのメモリダンプ取得方法。 - 請求項1に記載の仮想計算機システムのメモリダンプ取得方法において、
前記メモリダンプ手段は、前記異常が発生したゲストOSが実行すること
を特徴とする仮想計算機システムのメモリダンプ取得方法。 - 請求項1に記載の仮想計算機システムのメモリダンプ取得方法において、
前記一つ以上のゲストOSは、前記一つ以上のゲストOSに対して前記仮想計算機制御部より割り当てられた仮想CPUに対する仮想的な外部割り込みが発生した場合に、前記メモリダンプ処理手段を実行すること
を特徴とする仮想計算機システムのメモリダンプ取得方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010114876A JP2011243012A (ja) | 2010-05-19 | 2010-05-19 | 仮想計算機システムのメモリダンプ取得方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010114876A JP2011243012A (ja) | 2010-05-19 | 2010-05-19 | 仮想計算機システムのメモリダンプ取得方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011243012A true JP2011243012A (ja) | 2011-12-01 |
Family
ID=45409590
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010114876A Pending JP2011243012A (ja) | 2010-05-19 | 2010-05-19 | 仮想計算機システムのメモリダンプ取得方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2011243012A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014006676A (ja) * | 2012-06-22 | 2014-01-16 | Fujitsu Ltd | メモリダンプ機能を有する情報処理装置、メモリダンプ方法、およびメモリダンププログラム |
JP2015215857A (ja) * | 2014-05-13 | 2015-12-03 | 日本電信電話株式会社 | 仮想システムの稼働率管理方法、稼働率管理プログラム、および稼働率管理装置 |
JP2017062841A (ja) * | 2016-11-30 | 2017-03-30 | 富士通株式会社 | メモリダンプ機能を有する情報処理装置 |
JP2022118084A (ja) * | 2022-01-20 | 2022-08-12 | オムロン株式会社 | 情報処理システム、情報処理装置、管理プログラム、および、管理方法 |
JP2022126713A (ja) * | 2022-01-20 | 2022-08-30 | オムロン株式会社 | 情報処理装置、管理プログラム、管理方法、および、情報処理システム |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10133918A (ja) * | 1996-11-01 | 1998-05-22 | Toshiba Corp | コンピュータシステム |
JP2007334403A (ja) * | 2006-06-12 | 2007-12-27 | Mitsubishi Electric Corp | 計算機システム障害対応方式及び計算機システム障害対応方法 |
JP2009129101A (ja) * | 2007-11-21 | 2009-06-11 | Mitsubishi Electric Corp | 情報処理装置の障害処理システム |
JP2009151509A (ja) * | 2007-12-20 | 2009-07-09 | Mitsubishi Electric Corp | 計算機装置 |
JP2010086181A (ja) * | 2008-09-30 | 2010-04-15 | Fujitsu Ltd | 仮想計算機システム及びその管理方法、プログラム並びに記録媒体 |
-
2010
- 2010-05-19 JP JP2010114876A patent/JP2011243012A/ja active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10133918A (ja) * | 1996-11-01 | 1998-05-22 | Toshiba Corp | コンピュータシステム |
JP2007334403A (ja) * | 2006-06-12 | 2007-12-27 | Mitsubishi Electric Corp | 計算機システム障害対応方式及び計算機システム障害対応方法 |
JP2009129101A (ja) * | 2007-11-21 | 2009-06-11 | Mitsubishi Electric Corp | 情報処理装置の障害処理システム |
JP2009151509A (ja) * | 2007-12-20 | 2009-07-09 | Mitsubishi Electric Corp | 計算機装置 |
JP2010086181A (ja) * | 2008-09-30 | 2010-04-15 | Fujitsu Ltd | 仮想計算機システム及びその管理方法、プログラム並びに記録媒体 |
Non-Patent Citations (2)
Title |
---|
CSND200601590016; 高橋浩和: 'Xen3.0解読室' オープンソースマガジン 第15巻、第9号, 20060901, pp.147-154, ソフトバンククリエイティブ株式会社 * |
JPN6013060928; 高橋浩和: 'Xen3.0解読室' オープンソースマガジン 第15巻、第9号, 20060901, pp.147-154, ソフトバンククリエイティブ株式会社 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014006676A (ja) * | 2012-06-22 | 2014-01-16 | Fujitsu Ltd | メモリダンプ機能を有する情報処理装置、メモリダンプ方法、およびメモリダンププログラム |
JP2015215857A (ja) * | 2014-05-13 | 2015-12-03 | 日本電信電話株式会社 | 仮想システムの稼働率管理方法、稼働率管理プログラム、および稼働率管理装置 |
JP2017062841A (ja) * | 2016-11-30 | 2017-03-30 | 富士通株式会社 | メモリダンプ機能を有する情報処理装置 |
JP2022118084A (ja) * | 2022-01-20 | 2022-08-12 | オムロン株式会社 | 情報処理システム、情報処理装置、管理プログラム、および、管理方法 |
JP2022126713A (ja) * | 2022-01-20 | 2022-08-30 | オムロン株式会社 | 情報処理装置、管理プログラム、管理方法、および、情報処理システム |
JP7207595B2 (ja) | 2022-01-20 | 2023-01-18 | オムロン株式会社 | 情報処理装置、管理プログラム、管理方法、および、情報処理システム |
JP7276566B2 (ja) | 2022-01-20 | 2023-05-18 | オムロン株式会社 | 情報処理システム、情報処理装置、管理プログラム、および、管理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6530774B2 (ja) | ハードウェア障害回復システム | |
US7865782B2 (en) | I/O device fault processing method for use in virtual computer system | |
JP4882845B2 (ja) | 仮想計算機システム | |
EP3893114B1 (en) | Fault processing method, related device, and computer storage medium | |
US8875129B2 (en) | Systems and methods for monitoring and alerting events that virtual machine software produces in a virtual infrastructure | |
US8135985B2 (en) | High availability support for virtual machines | |
US9594582B2 (en) | Detection and management of dynamic migration of virtual environments | |
US7574627B2 (en) | Memory dump method, memory dump program and computer system | |
JP4980792B2 (ja) | 仮想計算機の性能監視方法及びその方法を用いた装置 | |
KR20070100367A (ko) | 하나의 가상 머신에서 다른 가상 머신으로 메모리를동적으로 재할당하기 위한 방법, 장치 및 시스템 | |
JP2003323306A (ja) | 論理パーティション・データ処理システムでのエラーまたはイベントを処理する方法、コンピュータ・プログラム、データ処理システム | |
US20120304184A1 (en) | Multi-core processor system, computer product, and control method | |
JP2011243012A (ja) | 仮想計算機システムのメモリダンプ取得方法 | |
JP2010134557A (ja) | 仮想マシン運用管理システム、その運用管理方法、及びプログラム | |
JP5597293B2 (ja) | 計算機システム及びプログラム | |
JP4761229B2 (ja) | 運用管理装置、運用管理方法ならびにプログラム | |
US10817400B2 (en) | Management apparatus and management method | |
JP6356822B2 (ja) | 計算機システム及びメモリダンプ方法 | |
KR101268290B1 (ko) | 가상화 시스템에서 디바이스 드라이버의 오류를 탐지하고 복구하는 장치 및 방법 | |
WO2013136457A1 (ja) | 仮想計算機システム、情報保存処理プログラム及び情報保存処理方法 | |
US10152341B2 (en) | Hyper-threading based host-guest communication | |
JP5832408B2 (ja) | 仮想計算機システム及びその制御方法 | |
JP5390651B2 (ja) | 計算機システム及びプログラム | |
JP2013254354A (ja) | コンピュータ装置及びソフトウェア管理方法及びプログラム | |
TW201327139A (zh) | 節點置換處理方法與使用其之伺服器系統 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130206 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20131121 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20131210 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140204 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140401 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20140805 |