JP5564466B2 - Virtualization device, virtualization device control method, virtualization device control program - Google Patents

Virtualization device, virtualization device control method, virtualization device control program Download PDF

Info

Publication number
JP5564466B2
JP5564466B2 JP2011124245A JP2011124245A JP5564466B2 JP 5564466 B2 JP5564466 B2 JP 5564466B2 JP 2011124245 A JP2011124245 A JP 2011124245A JP 2011124245 A JP2011124245 A JP 2011124245A JP 5564466 B2 JP5564466 B2 JP 5564466B2
Authority
JP
Japan
Prior art keywords
processing request
storage unit
kernel
virtualization
input
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
JP2011124245A
Other languages
Japanese (ja)
Other versions
JP2012252491A (en
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.)
NTT Data Corp
Original Assignee
NTT Data Corp
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 NTT Data Corp filed Critical NTT Data Corp
Priority to JP2011124245A priority Critical patent/JP5564466B2/en
Publication of JP2012252491A publication Critical patent/JP2012252491A/en
Application granted granted Critical
Publication of JP5564466B2 publication Critical patent/JP5564466B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Description

本発明は、仮想化支援機能を有するCPUを備えた仮想化装置に関する。   The present invention relates to a virtualization apparatus including a CPU having a virtualization support function.

物理マシンのコンピュータリソースを複数の論理リソースに分割して複数の仮想マシンを起動し、仮想マシン毎にOS(Operating System)を動作させる仮想化技術が存在する(例えば、特許文献1、2)。例えば、OSからハードウェアへの処理要求をソフトウェアによってエミュレートすることにより、単一の物理マシン上に複数のOSを動作させることができる。ここで、ソフトウェアによるハードウェアのエミュレート処理には相当のオーバーヘッドがかかる。そこで、ハードウェアレベルでこのような仮想化を支援する仮想化支援機能を有するCPU(Central Processing Unit)が利用されている。物理マシン上で動作する仮想マシンは、CPUが備えるこのような仮想化支援機能を介して処理要求を行うことにより、効率良く動作することができる。
ところで、物理マシン上でこのような仮想マシンを起動する場合、ユーザから入力されるコマンド等に応じて仮想マシンを起動させ、起動した複数の仮想マシンの状態等を管理する仮想マシン管理プログラムが利用されている。
There are virtualization technologies that divide a computer resource of a physical machine into a plurality of logical resources, start a plurality of virtual machines, and operate an OS (Operating System) for each virtual machine (for example, Patent Documents 1 and 2). For example, by emulating processing requests from the OS to the hardware by software, a plurality of OSs can be operated on a single physical machine. Here, considerable hardware overhead is required for hardware emulation processing by software. Therefore, a CPU (Central Processing Unit) having a virtualization support function that supports such virtualization at the hardware level is used. A virtual machine operating on a physical machine can operate efficiently by making a processing request through such a virtualization support function provided in the CPU.
By the way, when starting such a virtual machine on a physical machine, a virtual machine management program is used to start the virtual machine according to a command input by the user and manage the status of the started virtual machines. Has been.

特開2010−238044号公報JP 2010-238044 A 国際公開第2007/108065号公報International Publication No. 2007/108065

しかしながら、このような仮想マシン管理プログラムを介さず、直接コマンドを入力することなどによっても仮想マシンは起動する。このように起動された仮想マシンは、仮想マシン管理プログラムによってその状態等を管理することができない。例えば、複数の物理マシンを仮想化してユーザに利用させるようなクラウドサービスを提供する場合、ネットワークを介した何らかの攻撃により管理外の仮想マシンが起動され動作していると、セキュリティの脅威となる可能性がある。そこで、このように仮想マシン管理プログラムを介さないで起動され動作している仮想マシンを検出することが望ましい。   However, the virtual machine is also started by directly inputting a command without using such a virtual machine management program. The state of the virtual machine activated in this way cannot be managed by the virtual machine management program. For example, when providing a cloud service that allows a user to use multiple physical machines by virtualizing them, if an unmanaged virtual machine is up and running due to some kind of attack over the network, it may become a security threat There is sex. Therefore, it is desirable to detect a virtual machine that is activated and operated without using a virtual machine management program.

本発明は、このような状況に鑑みてなされたもので、定められた仮想マシン以外の仮想マシンが、物理マシン上に動作していることを検出する仮想化装置、仮想化装置制御方法、仮想化装置制御プログラムを提供する。   The present invention has been made in view of such a situation, and a virtualization apparatus, a virtualization apparatus control method, a virtual apparatus for detecting that a virtual machine other than a predetermined virtual machine is operating on a physical machine is provided. A control apparatus control program is provided.

上述した課題を解決するために、本発明は、仮想化支援機能を有するCPUを備えた仮想化装置であって、CPU上で動作するカーネルに、カーネル上で動作するプロセスから入力される処理要求のうち、仮想化支援機能に対する処理要求が予め記憶される処理要求記憶部と、仮想化支援機能に対する処理要求をカーネルに入力することが予め定められたプロセスである仮想マシンを識別するプロセス識別情報が記憶されているプロセス記憶部と、プロセスからカーネルに入力された処理要求を検出する処理要求検出部と、処理要求検出部が処理要求を検出すると、処理要求記憶部に記憶されている処理要求を読み出し、処理要求検出部が検出した処理要求と、処理要求記憶部から読み出した処理要求とが一致しているか否かを判定する処理要求判定部と、処理要求検出部が処理要求を検出すると、処理要求を入力したプロセスを識別するプロセス識別情報が、プロセス記憶部に記憶されているか否かを判定するプロセス判定部と、処理要求判定部により、処理要求検出部が検出した処理要求と処理要求記憶部から読み出した処理要求とが一致すると判定され、かつ、プロセス判定部により、処理要求を入力したプロセスを識別するプロセス識別情報がプロセス記憶部に記憶されていないと判定された場合、警告を出力する警告部と、を備えることを特徴とする。   In order to solve the above-described problem, the present invention is a virtualization apparatus including a CPU having a virtualization support function, and a processing request input from a process operating on the kernel to a kernel operating on the CPU Among them, a process request storage unit for storing a process request for the virtualization support function in advance, and process identification information for identifying a virtual machine that is a predetermined process for inputting the process request for the virtualization support function to the kernel Is stored, a processing request detection unit that detects a processing request input from the process to the kernel, and a processing request stored in the processing request storage unit when the processing request detection unit detects a processing request. To determine whether or not the processing request detected by the processing request detection unit matches the processing request read from the processing request storage unit When the request determination unit and the processing request detection unit detect the processing request, the process determination unit that determines whether or not the process identification information for identifying the process that has input the processing request is stored in the process storage unit, and the processing request The determination unit determines that the processing request detected by the processing request detection unit matches the processing request read from the processing request storage unit, and the process determination unit includes process identification information for identifying the process that has input the processing request. And a warning unit that outputs a warning when it is determined that it is not stored in the process storage unit.

また、本発明は、仮想マシンの起動要求を受付け、起動要求に応じて、カーネル上に仮想マシンを起動させ、仮想マシンを識別するプロセス識別情報をプロセス記憶部に記憶させるプロセス管理部と、を備えることを特徴とする。   The present invention also includes a process management unit that receives a virtual machine activation request, activates the virtual machine on the kernel in response to the activation request, and stores process identification information for identifying the virtual machine in the process storage unit. It is characterized by providing.

また、本発明は、仮想化支援機能を有するCPUを備え、CPU上で動作するカーネルに、カーネル上で動作するプロセスから入力される処理要求のうち、仮想化支援機能に対する処理要求が予め記憶される処理要求記憶部と、仮想化支援機能に対する処理要求をカーネルに入力することが予め定められたプロセスである仮想マシンを識別するプロセス識別情報が記憶されているプロセス記憶部と、を備えた仮想化装置の仮想化装置制御方法であって、プロセスからカーネルに入力された処理要求を検出するステップと、処理要求を検出すると、処理要求記憶部に記憶されている処理要求を読み出し、検出した処理要求と、処理要求記憶部から読み出した処理要求とが一致しているか否かを判定するステップと、処理要求を入力したプロセスを識別するプロセス識別情報が、プロセス記憶部に記憶されているか否かを判定するステップと、検出した処理要求と処理要求記憶部から読み出した処理要求とが一致すると判定し、かつ、処理要求を入力したプロセスを識別するプロセス識別情報がプロセス記憶部に記憶されていないと判定した場合、警告を出力するステップと、を備えることを特徴とする。   In addition, the present invention includes a CPU having a virtualization support function, and a processing request for the virtualization support function is stored in advance in a kernel operating on the CPU, out of processing requests input from a process operating on the kernel. A processing request storage unit, and a process storage unit storing process identification information for identifying a virtual machine that is a predetermined process for inputting a processing request for the virtualization support function to the kernel. Virtualization apparatus control method for a virtualization apparatus, a step of detecting a processing request input to a kernel from a process, and a processing request stored in a processing request storage unit when a processing request is detected and detected A step for determining whether or not the request matches the processing request read from the processing request storage unit, and the process that has input the processing request The step of determining whether or not the process identification information to be identified is stored in the process storage unit is determined to match the detected processing request with the processing request read from the processing request storage unit, and the processing request is input A step of outputting a warning when it is determined that the process identification information for identifying the processed process is not stored in the process storage unit.

また、本発明は、仮想化支援機能を有するCPUを備え、CPU上で動作するカーネルに、カーネル上で動作するプロセスから入力される処理要求のうち、仮想化支援機能に対する処理要求が予め記憶される処理要求記憶部と、仮想化支援機能に対する処理要求をカーネルに入力することが予め定められたプロセスである仮想マシンを識別するプロセス識別情報が記憶されているプロセス記憶部と、を備えた仮想化装置のコンピュータに、プロセスからカーネルに入力された処理要求を検出するステップと、処理要求を検出すると、処理要求記憶部に記憶されている処理要求を読み出し、検出した処理要求と、処理要求記憶部から読み出した処理要求とが一致しているか否かを判定するステップと、処理要求を入力したプロセスを識別するプロセス識別情報が、プロセス記憶部に記憶されているか否かを判定するステップと、検出した処理要求と処理要求記憶部から読み出した処理要求とが一致すると判定し、かつ、処理要求を入力したプロセスを識別するプロセス識別情報がプロセス記憶部に記憶されていないと判定した場合、警告を出力するステップと、を実行させる仮想化装置制御プログラムである。   In addition, the present invention includes a CPU having a virtualization support function, and a processing request for the virtualization support function is stored in advance in a kernel operating on the CPU, out of processing requests input from a process operating on the kernel. A processing request storage unit, and a process storage unit storing process identification information for identifying a virtual machine that is a predetermined process for inputting a processing request for the virtualization support function to the kernel. Detecting a processing request input to the kernel from the process to the computer of the processing apparatus, and when detecting the processing request, the processing request stored in the processing request storage unit is read, and the detected processing request and the processing request storage A step for determining whether or not the processing request read from the processing unit matches, and a process for identifying the process that has input the processing request. The process that determines whether or not the process identification information is stored in the process storage unit, the process request that is detected matches the process request read from the process request storage unit, and the process request is input And a step of outputting a warning when it is determined that the process identification information for identifying is not stored in the process storage unit.

以上説明したように、本発明によれば、動作しているプロセスからカーネルに入力された処理要求を検出し、検出した処理要求が、CPUの仮想化支援機能に対する処理要求であるか否かを判定し、CPUの仮想化支援機能に対する処理要求であれば、処理要求を入力したプロセスが、予め定められた仮想マシンのプロセスであるか否かを判定し、予め定められた仮想マシンのプロセスでなければ、警告を出力するようにしたので、定められた仮想マシン以外の仮想マシンが、物理マシン上に動作していることを検出することが可能となる。   As described above, according to the present invention, a processing request input to the kernel from an operating process is detected, and whether or not the detected processing request is a processing request for the virtualization support function of the CPU. If it is a processing request for the virtualization support function of the CPU, it is determined whether or not the process that has input the processing request is a predetermined virtual machine process. If not, a warning is output, so that it is possible to detect that a virtual machine other than the specified virtual machine is operating on the physical machine.

本発明の一実施形態による仮想化装置の構成例を示すブロック図である。It is a block diagram which shows the structural example of the virtualization apparatus by one Embodiment of this invention. 本発明の一実施形態によるカーネルに入力される処理要求の例を示す図である。It is a figure which shows the example of the process request input into the kernel by one Embodiment of this invention. 本発明の一実施形態によるカーネルに入力される処理要求の例を示す図である。It is a figure which shows the example of the process request input into the kernel by one Embodiment of this invention. 本発明の一実施形態によるプロセス記憶部に記憶されるプロセス情報のデータ例を示す図である。It is a figure which shows the example of data of the process information memorize | stored in the process memory | storage part by one Embodiment of this invention. 本発明の一実施形態による仮想化装置の動作例を示すフローチャートである。It is a flowchart which shows the operation example of the virtualization apparatus by one Embodiment of this invention.

以下、本発明の一実施形態について、図面を参照して説明する。
図1は、本実施形態による仮想化装置100の構成を示すブロック図である。仮想化装置100は、ハードウェア110を備えたコンピュータ装置であり、CPU111と、HD113と、メモリ114と、NIC115とを備えている。CPU111は、複数のOSの並行動作をより効率的に行うための仮想化支援機能であるVT(Virtualization Technology)112を有する中央演算処理装置である。VT112としては、例えばIntel VT(Intelは登録商標)や AMD−V(AMDは登録商標)などが適用できる。このようなVT112は、OSカーネル自体を仮想マシンのハイパーバイザとする仮想化技術に基づく、例えばKVM(Kernel-based Virtual Machine)のようなプログラムからの処理要求に応じて動作する。
Hereinafter, an embodiment of the present invention will be described with reference to the drawings.
FIG. 1 is a block diagram illustrating the configuration of the virtualization apparatus 100 according to the present embodiment. The virtualization apparatus 100 is a computer apparatus that includes hardware 110 and includes a CPU 111, an HD 113, a memory 114, and a NIC 115. The CPU 111 is a central processing unit having a VT (Virtualization Technology) 112 which is a virtualization support function for more efficiently performing parallel operations of a plurality of OSs. As the VT 112, for example, Intel VT (Intel is a registered trademark) or AMD-V (AMD is a registered trademark) can be applied. Such a VT 112 operates in response to a processing request from a program such as a KVM (Kernel-based Virtual Machine) based on a virtualization technology in which the OS kernel itself is a hypervisor of a virtual machine.

HD(Hard Disk)113は、データが記憶される磁気ディスクであり、補助記憶装置である。メモリ114は、データが記憶される半導体メモリであり、主記憶装置である。NIC(Network Interface Card)115は、ネットワーク通信を行う拡張カードである。仮想化装置100は、この他にもハードウェア110として様々な要素を備えていて良い。
ここでは、ハードウェアレベルでの仮想化支援機能として、CPU111がVT112を備える例を説明するが、他のハードウェア110の要素においても、ハードウェアレベルでの仮想化支援機能を有していても良い。
An HD (Hard Disk) 113 is a magnetic disk in which data is stored, and is an auxiliary storage device. The memory 114 is a semiconductor memory that stores data, and is a main storage device. A NIC (Network Interface Card) 115 is an expansion card that performs network communication. In addition to this, the virtualization apparatus 100 may include various elements as hardware 110.
Here, an example will be described in which the CPU 111 includes the VT 112 as a virtualization support function at the hardware level. However, the other hardware 110 elements may have a virtualization support function at the hardware level. good.

このようなハードウェア110上でカーネル120が動作し、カーネル120上でアプリケーションプログラム等のプロセスが動作する。カーネル120は、OSの中核となるプログラムである。本実施形態では、Linux(登録商標)カーネルを想定して説明するが、他のOSカーネルでも良い。カーネル120は、コンピュータリソースやデータ等をファイル単位で管理するファイルシステム121の機能を有し、このようなファイルに対する処理要求を行うためのシステムコールをプロセスに公開している。システムコールは、カーネル120と、カーネル120上で動作するプロセスとのインタフェースである。   The kernel 120 operates on such hardware 110, and processes such as application programs operate on the kernel 120. The kernel 120 is a program that is the core of the OS. In the present embodiment, description will be made assuming a Linux (registered trademark) kernel, but another OS kernel may be used. The kernel 120 has a function of a file system 121 that manages computer resources, data, and the like in units of files, and publishes system calls for making processing requests for such files to processes. The system call is an interface between the kernel 120 and a process operating on the kernel 120.

ここでは、プロセスがカーネル120のシステムコールを呼び出すことを、プロセスがカーネル120に処理要求を入力するという。図2、図3は、カーネル120に入力される処理要求の例を示す図である。処理要求としては、例えば、ファイルからデータを読み出す「read」、ファイルにデータを書き込む「write」、デバイスを制御する「ioctl」などが存在する。カーネル120は、カーネル120上で動作するプロセスから、このような処理要求の入力を受付け、入力された処理要求に応じてハードウェア110を動作させる。処理要求としては、例えば、ファイルの読み書き、VT112を含む各種ハードウェア要素への制御コマンド発行、プロセスやスレッドの新規生成、プロセスで使用するメモリの確保などが存在する。   Here, a process calls a system call of the kernel 120, and a process inputs a processing request to the kernel 120. 2 and 3 are diagrams showing examples of processing requests input to the kernel 120. FIG. Examples of processing requests include “read” for reading data from a file, “write” for writing data to the file, and “ioctl” for controlling the device. The kernel 120 accepts input of such processing requests from processes operating on the kernel 120 and operates the hardware 110 in accordance with the input processing requests. Processing requests include, for example, reading and writing files, issuing control commands to various hardware elements including the VT 112, creating new processes and threads, and securing memory used in the processes.

例えば、図1において符号aに示されるプロセスAが、システムコールを介してファイル「/tmp」のデータを読み出すreadの処理要求を入力したり、符号bに示されるプロセスBが、システムコールを介してファイル「/usr/harada」にデータを書き込むwriteの処理要求を入力したりすることができる。カーネル120は、処理要求に応じてハードウェア110にアクセスし、ファイルの読み書き等の処理を行う。   For example, the process A indicated by symbol a in FIG. 1 inputs a read processing request for reading the data of the file “/ tmp” via a system call, or the process B indicated by symbol b via a system call. Thus, a write processing request for writing data to the file “/ usr / harada” can be input. The kernel 120 accesses the hardware 110 in response to the processing request, and performs processing such as file reading and writing.

符号dに示されるプロセスDと、符号eに示されるプロセスEとは仮想マシンである。カーネル120にとって、仮想マシンは、他のアプリケーションプログラムと同様の1プロセスである。このような仮想マシンがカーネル120に対して入力する処理要求としては、自身のイメージファイル(プロセスDであればファイル「/data/imgD」、プロセスEであればファイル「/data/imgE」)に対する読み書き(readまたはwrite)を行うものと、VT112にアクセスするファイル「/dev/kvm」に対する制御(ioctl)を行うものとが存在する。特に、ファイル「/dev/kvm」に対する処理要求は、一般的に仮想マシンであるプロセスのみから入力される特徴的なものである。すなわち、ファイル「/dev/kvm」に対する処理要求を入力してくるプロセスは、仮想マシンである可能性が高いと考えられる。そこで、カーネル120は、入力される処理要求から、ファイル「/dev/kvm」に対する処理要求を検出することにより、仮想マシンである可能性が高いプロセスを検出できる。このような検出処理を行うために、カーネル120は、処理要求記憶部122と、処理要求検出部123と、処理要求判定部124とを備えている。これらの機能部は、例えばカーネル120に対するパッチプログラムとして提供できる。   A process D indicated by a symbol d and a process E indicated by a symbol e are virtual machines. For the kernel 120, the virtual machine is one process similar to other application programs. The processing request input to the kernel 120 by such a virtual machine is for its own image file (file “/ data / imgD” for process D, file “/ data / imgE” for process E). There are those that perform reading and writing (read or write) and those that perform control (ioctl) for the file “/ dev / kvm” accessing the VT 112. In particular, the processing request for the file “/ dev / kvm” is a characteristic that is generally input only from a process that is a virtual machine. That is, the process that inputs a processing request for the file “/ dev / kvm” is highly likely to be a virtual machine. Therefore, the kernel 120 can detect a process that is highly likely to be a virtual machine by detecting a processing request for the file “/ dev / kvm” from the input processing request. In order to perform such detection processing, the kernel 120 includes a processing request storage unit 122, a processing request detection unit 123, and a processing request determination unit 124. These functional units can be provided as a patch program for the kernel 120, for example.

処理要求記憶部122には、CPU111上で動作するカーネル120に、カーネル120上で動作するプロセスから入力される処理要求のうち、VT112に対する処理要求が予め記憶される。例えば、本実施形態では、ファイル「/dev/kvm」に対する処理要求を示す文字列である「ioctl /dev/kvm」、「read /dev/kvm」、「write /dev/kvm」などが記憶される。あるいは、「/dev/kvm」のみの文字列が記憶されるようにしても良い。   The processing request storage unit 122 stores in advance a processing request for the VT 112 among processing requests input from a process operating on the kernel 120 in the kernel 120 operating on the CPU 111. For example, in this embodiment, “ioctl / dev / kvm”, “read / dev / kvm”, “write / dev / kvm”, etc., which are character strings indicating processing requests for the file “/ dev / kvm” are stored. The Alternatively, a character string of only “/ dev / kvm” may be stored.

処理要求検出部123は、プロセスから、システムコールを介してカーネル120に入力された処理要求を検出する。
処理要求判定部124は、処理要求検出部123が処理要求を検出すると、処理要求記憶部122に記憶されている処理要求を読み出し、処理要求検出部123が検出した処理要求と、処理要求記憶部122から読み出した処理要求とが一致しているか否かを判定する。例えば、処理要求判定部124は、処理要求検出部123が検出した処理要求が、「ioctl /dev/kvm」、「read /dev/kvm」、「write /dev/kvm」などの文字列を含むか否かを判定する。あるいは、処理要求判定部124は、「/dev/kvm」のみの文字列を含むか否かを判定するようにしても良い。また、処理要求判定部124は、処理要求検出部123が検出した処理要求と、処理要求記憶部122から読み出した処理要求とが一致すると判定した場合、その処理要求の入力元であるプロセスを識別するプロセスIDをプロセス判定部143に通知することにより、VT112に対する処理要求が入力されたことを通知する。
The processing request detection unit 123 detects a processing request input from the process to the kernel 120 via a system call.
When the processing request detection unit 123 detects a processing request, the processing request determination unit 124 reads out the processing request stored in the processing request storage unit 122, the processing request detected by the processing request detection unit 123, and the processing request storage unit It is determined whether or not the processing request read from 122 matches. For example, the processing request determination unit 124 includes a character string such as “ioctl / dev / kvm”, “read / dev / kvm”, or “write / dev / kvm” as the processing request detected by the processing request detection unit 123. It is determined whether or not. Alternatively, the processing request determination unit 124 may determine whether or not a character string including only “/ dev / kvm” is included. If the process request determination unit 124 determines that the process request detected by the process request detection unit 123 matches the process request read from the process request storage unit 122, the process request determination unit 124 identifies the process that is the input source of the process request. The process determination unit 143 is notified of the process ID to be notified, thereby notifying that the processing request for the VT 112 has been input.

カーネル120で動作するプロセスFは、カーネル120上に仮想マシンを起動させて管理する仮想マシン管理プログラムであり、プロセス記憶部141と、プロセス管理部142と、プロセス判定部143と、警告部144とを備えている。
プロセス記憶部141には、プロセス管理部142によって起動され管理されている仮想マシンのプロセスを識別するプロセスID(プロセス識別情報)が記憶されている。仮想マシンは、VT112に対する処理要求をカーネルに入力することが予め定められたプロセスである。図4は、プロセス記憶部141に記憶されるプロセス情報のデータ例を示す図である。プロセス記憶部141には、VM(Virtual Machine)名と、イメージファイルパスと、OSと、メモリと、CPUと、ステータスと、プロセスIDとが対応付けられて記憶される。VM名は、仮想マシンの名称である。イメージファイルパスは、ファイルシステムにおいて仮想マシンのイメージファイルが記憶された場所を識別する情報である。OSは、対応する仮想マシンにおいて動作するOSの種別を示す情報である。メモリは、対応する仮想マシンに割り振られたメモリリソースの容量を示す情報である。CPUは、対応する仮想マシンに割り振られたCPUリソースの個数を示す情報である。ステータスは、対応する仮想マシンの動作状態を示す情報であり、例えば「停止」や「実行中」等の情報が対応付けられる。プロセスIDは、カーネル120における仮想マシンのプロセスを識別する識別情報である。
The process F operating in the kernel 120 is a virtual machine management program that starts and manages a virtual machine on the kernel 120, and includes a process storage unit 141, a process management unit 142, a process determination unit 143, a warning unit 144, It has.
The process storage unit 141 stores a process ID (process identification information) that identifies a process of a virtual machine that is activated and managed by the process management unit 142. The virtual machine is a predetermined process for inputting a processing request for the VT 112 to the kernel. FIG. 4 is a diagram illustrating a data example of process information stored in the process storage unit 141. The process storage unit 141 stores a VM (Virtual Machine) name, an image file path, an OS, a memory, a CPU, a status, and a process ID in association with each other. The VM name is the name of the virtual machine. The image file path is information for identifying a location where a virtual machine image file is stored in the file system. The OS is information indicating the type of OS operating in the corresponding virtual machine. The memory is information indicating the capacity of the memory resource allocated to the corresponding virtual machine. The CPU is information indicating the number of CPU resources allocated to the corresponding virtual machine. The status is information indicating the operating state of the corresponding virtual machine, and is associated with information such as “stopped” or “running”, for example. The process ID is identification information for identifying a virtual machine process in the kernel 120.

プロセス管理部142は、仮想マシンの起動要求を受付け、受付けた起動要求に応じて、カーネル120上に仮想マシンを起動させ、起動させた仮想マシンを識別するプロセスIDをプロセス記憶部141に記憶させる。また、プロセス管理部142は、仮想マシンの停止要求を受付け、受付けた停止要求に応じた仮想マシンを停止させると、停止された仮想マシンに対応付けられてプロセス管理部142に記憶されたステータスを「停止」に更新する。   The process management unit 142 accepts a virtual machine activation request, activates the virtual machine on the kernel 120 in response to the accepted activation request, and stores a process ID for identifying the activated virtual machine in the process storage unit 141. . In addition, when the process management unit 142 receives a virtual machine stop request and stops the virtual machine according to the received stop request, the process management unit 142 displays the status stored in the process management unit 142 in association with the stopped virtual machine. Update to “Stop”.

プロセス判定部143は、カーネル120の処理要求検出部123が処理要求を検出し、処理要求判定部124によって、VT112に対する処理要求が入力されたと判定されたことが通知されると、その処理要求を入力したプロセスを識別するプロセスIDが、プロセス記憶部141に記憶されているか否かを判定する。   When the process request detection unit 123 of the kernel 120 detects a process request and the process request determination unit 124 notifies that the process request for the VT 112 has been input, the process determination unit 143 receives the process request. It is determined whether or not a process ID for identifying the input process is stored in the process storage unit 141.

警告部144は、処理要求判定部124により、処理要求検出部123が検出した処理要求と処理要求記憶部122から読み出した処理要求とが一致すると判定されたことが通知され、かつ、プロセス判定部143により、処理要求を入力したプロセスを識別するプロセスIDがプロセス記憶部141に記憶されていないと判定された場合、警告を出力する。ここで、警告を出力するとは、例えば、仮想化装置100のディスプレイに警告文を出力するようにしても良いし、警告文を含むログファイルを出力して記憶領域に記憶させるようにしても良いし、定められたメールアドレスを宛先として警告文をメール送信するようにしても良い。また、警告部144は、カーネル120に対して警告を出力し、カーネル120は、警告部144から出力された警告に応じて、VT112に対して入力された処理要求に応じた処理を実行しないようにしても良い。あるいは、例えば仮想化装置100のディスプレイに、処理要求に応じた処理を実行させるか否かを選択するダイアログを表示させることもできる。この場合、カーネル120は、処理要求を実行させると選択されたことが入力されれば、処理要求を実行させ、処理要求を実行させないと選択されたことが入力されれば、処理要求を実行させずに、そのプロセスを停止させるようにしても良い。   The warning unit 144 is notified by the processing request determination unit 124 that it is determined that the processing request detected by the processing request detection unit 123 matches the processing request read from the processing request storage unit 122, and the process determination unit If it is determined by 143 that the process ID for identifying the process that has input the processing request is not stored in the process storage unit 141, a warning is output. Here, for example, outputting a warning may output a warning text on the display of the virtualization apparatus 100, or may output a log file including the warning text and store it in a storage area. Then, a warning message may be sent by e-mail with a predetermined e-mail address as a destination. In addition, the warning unit 144 outputs a warning to the kernel 120, and the kernel 120 does not execute processing according to the processing request input to the VT 112 in response to the warning output from the warning unit 144. Anyway. Alternatively, for example, a dialog for selecting whether or not to execute processing according to the processing request can be displayed on the display of the virtualization apparatus 100. In this case, the kernel 120 executes the processing request if the selection is made to execute the processing request, and executes the processing request if the selection is made not to execute the processing request. Instead, the process may be stopped.

次に、本実施形態による仮想化装置100の動作例を説明する。図5は、このような仮想化装置100が警告を出力する動作例を示すフローチャートである。何らかのプロセスによりカーネル120に処理要求が入力されると(ステップS1)、処理要求検出部123は、入力された処理要求を検出する(ステップS2)。処理要求判定部124は、処理要求記憶部122に記憶された処理要求を読み出し(ステップS3)、ステップS2において検出された処理要求と、ステップS3において読み出した処理要求とが一致するか否かを判定する(ステップS4)。   Next, an operation example of the virtualization apparatus 100 according to the present embodiment will be described. FIG. 5 is a flowchart showing an operation example in which the virtualization apparatus 100 outputs a warning. When a processing request is input to the kernel 120 by any process (step S1), the processing request detection unit 123 detects the input processing request (step S2). The processing request determination unit 124 reads the processing request stored in the processing request storage unit 122 (step S3), and determines whether or not the processing request detected in step S2 matches the processing request read in step S3. Determine (step S4).

処理要求判定部124が、ステップS2において検出された処理要求と、ステップS3において読み出した処理要求とが一致しないと判定すると(ステップS4:NO)、処理を終了する。一方、処理要求判定部124が、ステップS2において検出された処理要求と、ステップS3において読み出した処理要求とが一致すると判定すると(ステップS4:YES)、処理要求判定部124は、処理要求を入力したプロセスのプロセスIDを、プロセス判定部143に通知する(ステップS5)。プロセス判定部143は、プロセス記憶部141に記憶されているプロセスIDを読み出し、処理要求判定部124から通知されたプロセスIDがプロセス記憶部141に記憶されているか否かを判定する(ステップS6)。プロセス判定部143が、処理要求判定部124から通知されたプロセスIDがプロセス記憶部141に記憶されていると判定すれば(ステップS6:YES)、処理を終了する。一方、プロセス判定部143が、処理要求判定部124から通知されたプロセスIDがプロセス記憶部141に記憶されていないと判定すれば(ステップS6:NO)、警告部144は、警告を出力する(ステップS7)。   If the process request determination unit 124 determines that the process request detected in step S2 does not match the process request read in step S3 (step S4: NO), the process ends. On the other hand, when the processing request determination unit 124 determines that the processing request detected in step S2 matches the processing request read in step S3 (step S4: YES), the processing request determination unit 124 inputs the processing request. The process determination unit 143 is notified of the process ID of the processed process (step S5). The process determination unit 143 reads the process ID stored in the process storage unit 141, and determines whether or not the process ID notified from the processing request determination unit 124 is stored in the process storage unit 141 (step S6). . If the process determination unit 143 determines that the process ID notified from the processing request determination unit 124 is stored in the process storage unit 141 (step S6: YES), the process ends. On the other hand, if the process determination unit 143 determines that the process ID notified from the processing request determination unit 124 is not stored in the process storage unit 141 (step S6: NO), the warning unit 144 outputs a warning ( Step S7).

このようにすれば、仮想化装置100の管理者は、意図しない仮想マシンが仮想化装置100において動作していることを知ることができる。
なお、本実施形態では、プロセス管理部142とプロセス記憶部141とを備える仮想マシン管理プログラムのプロセスが、プロセス判定部143と警告部144とを備える例を説明したが、プロセス管理部142とプロセス記憶部141とを備える仮想マシン管理プログラムのプロセスとは別に、プロセス判定部143と警告部144とを備えるプロセスを起動させる構成としても良い。
In this way, the administrator of the virtualization apparatus 100 can know that an unintended virtual machine is operating in the virtualization apparatus 100.
In this embodiment, an example in which the process of the virtual machine management program including the process management unit 142 and the process storage unit 141 includes the process determination unit 143 and the warning unit 144 has been described. However, the process management unit 142 and the process In addition to the process of the virtual machine management program including the storage unit 141, a process including the process determination unit 143 and the warning unit 144 may be activated.

なお、本発明における処理部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより仮想マシンの管理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ホームページ提供環境(あるいは表示環境)を備えたWWWシステムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。   It should be noted that the program for realizing the function of the processing unit in the present invention is recorded on a computer-readable recording medium, and the program recorded on the recording medium is read into the computer system and executed to manage the virtual machine. May be performed. Here, the “computer system” includes an OS and hardware such as peripheral devices. The “computer system” includes a WWW system having a homepage providing environment (or display environment). The “computer-readable recording medium” refers to a storage device such as a flexible medium, a magneto-optical disk, a portable medium such as a ROM and a CD-ROM, and a hard disk incorporated in a computer system. Further, the “computer-readable recording medium” refers to a volatile memory (RAM) in a computer system that becomes a server or a client when a program is transmitted via a network such as the Internet or a communication line such as a telephone line. In addition, those holding programs for a certain period of time are also included.

また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。   The program may be transmitted from a computer system storing the program in a storage device or the like to another computer system via a transmission medium or by a transmission wave in the transmission medium. Here, the “transmission medium” for transmitting the program refers to a medium having a function of transmitting information, such as a network (communication network) such as the Internet or a communication line (communication line) such as a telephone line. The program may be for realizing a part of the functions described above. Furthermore, what can implement | achieve the function mentioned above in combination with the program already recorded on the computer system, what is called a difference file (difference program) may be sufficient.

100 仮想化装置
110 ハードウェア
111 CPU
112 VT
113 HD
114 メモリ
115 NIC
120 カーネル
121 ファイルシステム
122 処理要求記憶部
123 処理要求検出部
124 処理要求判定部
130 システムコール
141 プロセス記憶部
142 プロセス管理部
143 プロセス判定部
144 警告部
100 Virtualization device 110 Hardware 111 CPU
112 VT
113 HD
114 Memory 115 NIC
120 Kernel 121 File System 122 Processing Request Storage Unit 123 Processing Request Detection Unit 124 Processing Request Determination Unit 130 System Call 141 Process Storage Unit 142 Process Management Unit 143 Process Determination Unit 144 Warning Unit

Claims (4)

仮想化支援機能を有するCPUを備えた仮想化装置であって、
前記CPU上で動作するカーネルに、当該カーネル上で動作するプロセスから入力される処理要求のうち、前記仮想化支援機能に対する処理要求が予め記憶される処理要求記憶部と、
前記仮想化支援機能に対する処理要求を前記カーネルに入力することが予め定められたプロセスである仮想マシンを識別するプロセス識別情報が記憶されているプロセス記憶部と、
前記プロセスから前記カーネルに入力された処理要求を検出する処理要求検出部と、
前記処理要求検出部が前記処理要求を検出すると、前記処理要求記憶部に記憶されている処理要求を読み出し、前記処理要求検出部が検出した処理要求と、前記処理要求記憶部から読み出した処理要求とが一致しているか否かを判定する処理要求判定部と、
前記処理要求検出部が前記処理要求を検出すると、当該処理要求を入力した前記プロセスを識別するプロセス識別情報が、前記プロセス記憶部に記憶されているか否かを判定するプロセス判定部と、
前記処理要求判定部により、前記処理要求検出部が検出した処理要求と前記処理要求記憶部から読み出した処理要求とが一致すると判定され、かつ、前記プロセス判定部により、処理要求を入力した前記プロセスを識別するプロセス識別情報が前記プロセス記憶部に記憶されていないと判定された場合、警告を出力する警告部と、
を備えることを特徴とする仮想化装置。
A virtualization device including a CPU having a virtualization support function,
A processing request storage unit that stores in advance a processing request for the virtualization support function among processing requests input from a process operating on the kernel to the kernel operating on the CPU;
A process storage unit that stores process identification information for identifying a virtual machine that is a predetermined process for inputting a processing request for the virtualization support function to the kernel;
A processing request detection unit that detects a processing request input to the kernel from the process;
When the processing request detection unit detects the processing request, the processing request stored in the processing request storage unit is read, the processing request detected by the processing request detection unit, and the processing request read from the processing request storage unit A processing request determination unit that determines whether or not and
When the processing request detection unit detects the processing request, a process determination unit that determines whether or not process identification information for identifying the process that has input the processing request is stored in the process storage unit;
The process in which the processing request detected by the processing request detection unit is determined to match the processing request read from the processing request storage unit by the processing request determination unit, and the processing request is input by the process determination unit A warning part for outputting a warning when it is determined that the process identification information for identifying is not stored in the process storage part;
A virtualization apparatus comprising:
前記仮想マシンの起動要求を受付け、当該起動要求に応じて、前記カーネル上に仮想マシンを起動させ、当該仮想マシンを識別するプロセス識別情報を前記プロセス記憶部に記憶させるプロセス管理部と、
を備えることを特徴とする請求項1に記載の仮想化装置。
A process management unit that accepts a startup request for the virtual machine, starts a virtual machine on the kernel in response to the startup request, and stores process identification information for identifying the virtual machine in the process storage unit;
The virtualization apparatus according to claim 1, comprising:
仮想化支援機能を有するCPUを備え、当該CPU上で動作するカーネルに、当該カーネル上で動作するプロセスから入力される処理要求のうち、前記仮想化支援機能に対する処理要求が予め記憶される処理要求記憶部と、前記仮想化支援機能に対する処理要求を前記カーネルに入力することが予め定められたプロセスである仮想マシンを識別するプロセス識別情報が記憶されているプロセス記憶部と、を備えた仮想化装置の仮想化装置制御方法であって、
前記プロセスから前記カーネルに入力された処理要求を検出するステップと、
前記処理要求を検出すると、前記処理要求記憶部に記憶されている処理要求を読み出し、検出した処理要求と、前記処理要求記憶部から読み出した処理要求とが一致しているか否かを判定するステップと、
当該処理要求を入力した前記プロセスを識別するプロセス識別情報が、前記プロセス記憶部に記憶されているか否かを判定するステップと、
検出した処理要求と前記処理要求記憶部から読み出した処理要求とが一致すると判定し、かつ、処理要求を入力した前記プロセスを識別するプロセス識別情報が前記プロセス記憶部に記憶されていないと判定した場合、警告を出力するステップと、
を備えることを特徴とする仮想化装置制御方法。
A processing request that includes a CPU having a virtualization support function, and in which a processing request for the virtualization support function is stored in advance in a kernel that operates on the CPU and that is input from a process that operates on the kernel Virtualization comprising: a storage unit; and a process storage unit storing process identification information for identifying a virtual machine that is a predetermined process for inputting a processing request for the virtualization support function to the kernel A device virtualization device control method comprising:
Detecting a processing request input to the kernel from the process;
When the processing request is detected, the processing request stored in the processing request storage unit is read, and it is determined whether or not the detected processing request matches the processing request read from the processing request storage unit When,
Determining whether or not process identification information for identifying the process that has input the processing request is stored in the process storage unit;
It is determined that the detected processing request matches the processing request read from the processing request storage unit, and it is determined that the process identification information for identifying the process that has input the processing request is not stored in the process storage unit A step to output a warning, and
A virtualization apparatus control method comprising:
仮想化支援機能を有するCPUを備え、当該CPU上で動作するカーネルに、当該カーネル上で動作するプロセスから入力される処理要求のうち、前記仮想化支援機能に対する処理要求が予め記憶される処理要求記憶部と、前記仮想化支援機能に対する処理要求を前記カーネルに入力することが予め定められたプロセスである仮想マシンを識別するプロセス識別情報が記憶されているプロセス記憶部と、を備えた仮想化装置のコンピュータに、
前記プロセスから前記カーネルに入力された処理要求を検出するステップと、
前記処理要求を検出すると、前記処理要求記憶部に記憶されている処理要求を読み出し、検出した処理要求と、前記処理要求記憶部から読み出した処理要求とが一致しているか否かを判定するステップと、
当該処理要求を入力した前記プロセスを識別するプロセス識別情報が、前記プロセス記憶部に記憶されているか否かを判定するステップと、
検出した処理要求と前記処理要求記憶部から読み出した処理要求とが一致すると判定し、かつ、処理要求を入力した前記プロセスを識別するプロセス識別情報が前記プロセス記憶部に記憶されていないと判定した場合、警告を出力するステップと、
を実行させる仮想化装置制御プログラム。
A processing request that includes a CPU having a virtualization support function, and in which a processing request for the virtualization support function is stored in advance in a kernel that operates on the CPU and that is input from a process that operates on the kernel Virtualization comprising: a storage unit; and a process storage unit storing process identification information for identifying a virtual machine that is a predetermined process for inputting a processing request for the virtualization support function to the kernel To the computer of the device,
Detecting a processing request input to the kernel from the process;
When the processing request is detected, the processing request stored in the processing request storage unit is read, and it is determined whether or not the detected processing request matches the processing request read from the processing request storage unit When,
Determining whether or not process identification information for identifying the process that has input the processing request is stored in the process storage unit;
It is determined that the detected processing request matches the processing request read from the processing request storage unit, and it is determined that the process identification information for identifying the process that has input the processing request is not stored in the process storage unit A step to output a warning, and
A virtualization apparatus control program for executing
JP2011124245A 2011-06-02 2011-06-02 Virtualization device, virtualization device control method, virtualization device control program Active JP5564466B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011124245A JP5564466B2 (en) 2011-06-02 2011-06-02 Virtualization device, virtualization device control method, virtualization device control program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011124245A JP5564466B2 (en) 2011-06-02 2011-06-02 Virtualization device, virtualization device control method, virtualization device control program

Publications (2)

Publication Number Publication Date
JP2012252491A JP2012252491A (en) 2012-12-20
JP5564466B2 true JP5564466B2 (en) 2014-07-30

Family

ID=47525259

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011124245A Active JP5564466B2 (en) 2011-06-02 2011-06-02 Virtualization device, virtualization device control method, virtualization device control program

Country Status (1)

Country Link
JP (1) JP5564466B2 (en)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4376587B2 (en) * 2003-10-21 2009-12-02 株式会社エヌ・ティ・ティ・データ Access history recording device and access control device
US9213566B2 (en) * 2008-11-26 2015-12-15 Red Hat, Inc. Implementing security in process-based virtualization

Also Published As

Publication number Publication date
JP2012252491A (en) 2012-12-20

Similar Documents

Publication Publication Date Title
US11310286B2 (en) Mechanism for providing external access to a secured networked virtualization environment
JP5904514B1 (en) Method of automatically applying an update to a snapshot of a virtual machine, and its computer system and computer system program
CN109564523B (en) Reducing performance variability using opportunistic hypervisors
JP5387415B2 (en) Virtual computer system, policy enforcement system, policy enforcement method, and virtual computer control program
US9912535B2 (en) System and method of performing high availability configuration and validation of virtual desktop infrastructure (VDI)
US9152447B2 (en) System and method for emulating shared storage
US9697029B2 (en) Guest idle based VM request completion processing
WO2015175671A1 (en) Mechanism for providing load balancing to an external node utilizing a clustered environment for storage management
JP2010044613A (en) Anti-virus method, computer, and program
BRPI0708338A2 (en) migrating a virtual machine that has a feature such as a hardware device
JP6594452B2 (en) Method, terminal, apparatus, and program for improving virtual machine performance
US8863120B2 (en) Launching a software application in a virtual environment
WO2018184701A1 (en) Method for operating virtual machines on a virtualization platform and corresponding virtualization platform
US20170046187A1 (en) Guest driven surprise removal for pci devices
US9195518B1 (en) System and method for communicating production virtual machine access events to a service appliance in a virtualized environment
JP5533005B2 (en) Information processing apparatus, computer system, and program
JP5637934B2 (en) Virtualization device, virtualization device control method, virtualization device control program
JP5564466B2 (en) Virtualization device, virtualization device control method, virtualization device control program
US9292318B2 (en) Initiating software applications requiring different processor architectures in respective isolated execution environment of an operating system
US11635970B2 (en) Integrated network boot operating system installation leveraging hyperconverged storage
JP2009266027A (en) Information processing apparatus and control method
JP2014225302A (en) Virus detection program, virus detection method, and computer
JP6653786B2 (en) I / O control method and I / O control system
JP5905412B2 (en) Virtual computer system and processor performance measurement method
US10747567B2 (en) Cluster check services for computing clusters

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20130516

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20130816

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130828

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140509

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140616

R150 Certificate of patent or registration of utility model

Ref document number: 5564466

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350