JP2015201008A - Information processing device, information processing program, and information processing method - Google Patents

Information processing device, information processing program, and information processing method Download PDF

Info

Publication number
JP2015201008A
JP2015201008A JP2014078644A JP2014078644A JP2015201008A JP 2015201008 A JP2015201008 A JP 2015201008A JP 2014078644 A JP2014078644 A JP 2014078644A JP 2014078644 A JP2014078644 A JP 2014078644A JP 2015201008 A JP2015201008 A JP 2015201008A
Authority
JP
Japan
Prior art keywords
control unit
unit
switching
virtual
configuration 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.)
Pending
Application number
JP2014078644A
Other languages
Japanese (ja)
Inventor
憲一郎 竹田
Kenichiro Takeda
憲一郎 竹田
山田 隆
Takashi Yamada
隆 山田
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 JP2014078644A priority Critical patent/JP2015201008A/en
Publication of JP2015201008A publication Critical patent/JP2015201008A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Hardware Redundancy (AREA)

Abstract

PROBLEM TO BE SOLVED: To ensure that, when PF abnormality occurs, physical devices can be switched in a state in which configuration information before the occurrence of the abnormality is succeeded.SOLUTION: An information processing device according to the present invention comprises: first and second control units for controlling each of first and second virtual devices created in a virtual machine by allocating the resources of first and second physical devices provided in a physical machine, respectively; a storage unit, accessible from the second control unit, for storing second configuration information synchronized with first configuration information necessary for the first control unit to control the first virtual device; and a first switching unit for switching from the first control unit to the second control unit when the state of a first physical device has become a prescribed state and after the second control unit acquires the second configuration information from the storage unit.

Description

本発明は,情報処理装置,情報処理プログラム及び情報処理方法に関する。   The present invention relates to an information processing apparatus, an information processing program, and an information processing method.

近年,物理マシン(以下,VMホストとも呼ぶ)の性能向上に伴い,複数の仮想マシン(以下,VMとも呼ぶ)を1つの物理マシンに集約する仮想化技術の研究が進められている。この仮想化技術は,例えば,仮想化ソフトウエア(以下,ハイパーバイザとも呼ぶ)が物理マシンを複数の仮想マシンに割り当てて,各仮想マシンにインストールされたアプリケーションプログラム(以下,アプリケーションとも呼ぶ)によるサービスの提供を可能にする。   In recent years, with the improvement in performance of physical machines (hereinafter also referred to as VM hosts), research on virtualization technology that consolidates a plurality of virtual machines (hereinafter also referred to as VMs) into one physical machine has been advanced. This virtualization technology is, for example, a service provided by an application program (hereinafter also referred to as an application) installed on each virtual machine by a virtual software (hereinafter also referred to as a hypervisor) assigning a physical machine to a plurality of virtual machines. Enables the provision of

仮想マシンによるサービスを提供する事業者が仮想マシンを作成する際に,I/O仮想化が行われる場合がある。このI/O仮想化は,例えば,物理マシンが有する物理的なデバイスを複数の仮想マシンで共有することにより,仮想マシンが使用するI/Oを仮想化する技術である。   There is a case where I / O virtualization is performed when a provider providing a service using a virtual machine creates a virtual machine. This I / O virtualization is a technique for virtualizing I / O used by a virtual machine, for example, by sharing a physical device of a physical machine among a plurality of virtual machines.

I/O仮想化の技術として,PCI Special Interest Group(以下,PCI−SIGと称する)で策定されているSingle Root I/O Virtualization(以下,SR−IOVと称する)がある。このSR−IOVでは,物理的なI/Oデバイス(以下,物理デバイスとも呼ぶ)と同様のファンクションであるPhysical Function(以下,PFと称する)に加え,仮想的なファンクションであるVirtual Function(以下,VFと称する)を物理デバイスに実装する。これによって,VFを各仮想マシンに割り当て,各仮想マシンの仮想的なI/Oデバイス(以下,仮想デバイスとも呼ぶ)として機能させることができる。そのため,一つの物理デバイスを,複数の仮想デバイスとして仮想マシンを含むシステムに認識させることができる。SR−IOVを使用することができる物理デバイスとしては,例えば,Peripheral Component Interconnect Expressデバイス(以下,PCIeデバイスと称する)が該当する(例えば,特許文献1,2参照)。   As an I / O virtualization technology, there is a Single Root I / O Virtualization (hereinafter referred to as SR-IOV) formulated by the PCI Special Interest Group (hereinafter referred to as PCI-SIG). In this SR-IOV, in addition to a physical function (hereinafter referred to as a PF) that is a function similar to a physical I / O device (hereinafter also referred to as a physical device), a virtual function (hereinafter referred to as a PF) is described. (Referred to as VF) on the physical device. Thus, a VF can be assigned to each virtual machine and function as a virtual I / O device (hereinafter also referred to as a virtual device) of each virtual machine. Therefore, one physical device can be recognized by a system including a virtual machine as a plurality of virtual devices. As a physical device that can use the SR-IOV, for example, a Peripheral Component Interconnect Express device (hereinafter referred to as a PCIe device) is applicable (for example, see Patent Documents 1 and 2).

特開2008−152786号公報JP 2008-152786 A 特開2010−108211号公報JP 2010-108211 A

物理的なデバイスにおいてSR−IOVを使用した場合,例えば,管理用のソフトウエア(以下,管理ソフトウエアとも呼ぶ)をいずれかの仮想マシンにインストールして,PF及びVFを管理することが必要になる。この管理ソフトウエアは,VFのMACアドレス等からなる構成情報を有し,この構成情報をVFに送信することにより,PF及びVFの管理を行うものである。   When SR-IOV is used in a physical device, for example, management software (hereinafter also referred to as management software) must be installed in any virtual machine to manage PF and VF. Become. This management software has configuration information including the MAC address of the VF, and manages the PF and VF by transmitting this configuration information to the VF.

ここで,管理ソフトウエアがVFと構成情報の送受信を行う場合,一般的にVFの制御を行うPFを経由して構成情報の送受信が行われる。そのため,PFまたはPFを実装した物理デバイスに異常が発生した場合,管理ソフトウエアとVF間における構成情報のやり取りができなくなり,VFにも異常が発生する場合がある。   Here, when the management software transmits / receives the configuration information to / from the VF, the configuration information is generally transmitted / received via the PF that controls the VF. For this reason, when an abnormality occurs in the PF or a physical device mounted with the PF, configuration information cannot be exchanged between the management software and the VF, and an abnormality may also occur in the VF.

これに対し,PF及びVFの構成を冗長化することにより,運用系のPF及びVFに異常が発生した場合に,待機系のPF及びVFに切り替えて運用を継続する方法が考えられる。しかしながら,VFの構成情報が記憶されている場所は実装方法によって異なる。そのため,切り替え先(待機系)のVFは,異常が発生したPFが制御していたVFの構成情報を取得できない場合があった。   On the other hand, by making the configurations of the PF and VF redundant, it is conceivable to switch to the standby PF and VF and continue operation when an abnormality occurs in the active PF and VF. However, the location where the VF configuration information is stored differs depending on the mounting method. Therefore, the switching destination (standby system) VF may not be able to acquire the configuration information of the VF controlled by the PF in which an abnormality has occurred.

そこで,一つの実施の形態の目的は,物理デバイスの異常発生時に,異常発生前の構成情報を引き継いた状態で物理デバイスの切り替えを行うことができる情報処理装置,情報処理プログラム及び情報処理方法を提供することにある。   Therefore, an object of one embodiment is to provide an information processing apparatus, an information processing program, and an information processing method capable of switching a physical device in a state in which configuration information before the occurrence of the abnormality is taken over when an abnormality occurs in the physical device It is to provide.

実施の形態の一つの側面によれば,物理マシンに設けられた第1及び第2の物理デバイスのリソースをそれぞれ割り当てることにより仮想マシンに作成された第1及び第2の仮想デバイスを,それぞれ制御する第1及び第2の制御部と,
前記第2の制御部からアクセス可能であり,前記第1の制御部が前記第1の仮想デバイスを制御するための第1の構成情報と同期した第2の構成情報を記憶する記憶部と,
前記第1の物理デバイスの状態が所定の状態になった場合,前記第2の制御部が前記記憶部から前記第2の構成情報を取得した後に,前記第1の制御部から前記第2の制御部への切り替えを行う第1の切り替え部と,を有する。
According to one aspect of the embodiment, the first and second virtual devices created in the virtual machine are respectively controlled by allocating the resources of the first and second physical devices provided in the physical machine, respectively. First and second control units to perform,
A storage unit that is accessible from the second control unit, and that stores second configuration information synchronized with the first configuration information for the first control unit to control the first virtual device;
When the state of the first physical device becomes a predetermined state, the second control unit acquires the second configuration information from the storage unit, and then receives the second configuration information from the first control unit. And a first switching unit that performs switching to the control unit.

一つの側面によれば,PFの異常発生時に,異常発生前の構成情報を引き継いた状態で物理デバイスの切り替えを行うことができる。   According to one aspect, when a PF abnormality occurs, the physical device can be switched while the configuration information before the abnormality is inherited.

情報処理システムの全体構成を示す図である。1 is a diagram illustrating an overall configuration of an information processing system. VMホストのハードウエア構成を示す図である。It is a figure which shows the hardware constitutions of VM host. 図2で示したI/Oユニットのハードウエア構成の詳細を示す図である。FIG. 3 is a diagram showing details of a hardware configuration of the I / O unit shown in FIG. 2. 図2で示したVMホストの機能ブロック図である。FIG. 3 is a functional block diagram of the VM host shown in FIG. 2. SR−IOVを使用したVMホストを説明する図である。It is a figure explaining the VM host using SR-IOV. SR−IOVを使用したVMホストを説明する図である。It is a figure explaining the VM host using SR-IOV. 第1の実施の形態における仮想I/O切り替え処理の概略を説明するシーケンスチャート図である。It is a sequence chart figure explaining the outline of the virtual I / O switching process in 1st Embodiment. 第1の実施の形態における仮想I/O切り替え処理の概略を説明する図である。It is a figure explaining the outline of the virtual I / O switching process in 1st Embodiment. 第1の実施の形態における仮想I/O切り替え処理の詳細を説明するフローチャート図である。FIG. 6 is a flowchart for explaining details of a virtual I / O switching process according to the first embodiment. 第1の実施の形態における仮想I/O切り替え処理の詳細を説明するフローチャート図である。FIG. 6 is a flowchart for explaining details of a virtual I / O switching process according to the first embodiment. 第1の実施の形態における仮想I/O切り替え処理の詳細を説明するフローチャート図である。FIG. 6 is a flowchart for explaining details of a virtual I / O switching process according to the first embodiment. 第1の実施の形態における仮想I/O切り替え処理の詳細を説明する図である。It is a figure explaining the detail of the virtual I / O switching process in 1st Embodiment. 第1の実施の形態における送受信中継部を説明する図である。It is a figure explaining the transmission / reception relay part in 1st Embodiment. 第1の実施の形態における管理テーブルを説明する図である。It is a figure explaining the management table in 1st Embodiment. 第2の実施の形態における仮想I/O切り替え処理を説明するフローチャート図である。It is a flowchart figure explaining the virtual I / O switching process in 2nd Embodiment. 第2の実施の形態における仮想I/O切り替え処理を説明する図である。It is a figure explaining the virtual I / O switching process in 2nd Embodiment.

[情報処理システムの構成]
図1は,情報処理システムの全体構成を示す図である。図1に示す情報処理システム10において,管理サーバ1と,VMホスト2(以下、情報処理装置2とも呼ぶ)とがデータセンタ6内に設けられている。そして,データセンタ6には,インターネットやイントラネット等のネットワークを介して,利用者端末7が接続可能になっている。
[Configuration of information processing system]
FIG. 1 is a diagram illustrating an overall configuration of an information processing system. In the information processing system 10 shown in FIG. 1, a management server 1 and a VM host 2 (hereinafter also referred to as an information processing apparatus 2) are provided in a data center 6. A user terminal 7 can be connected to the data center 6 via a network such as the Internet or an intranet.

VMホスト2は,図1の例においては複数の物理マシンから構成されており,各物理マシンはCPUとメモリ(DRAM)とハードディスク(HDD)等の大容量メモリとネットワークとを有する。VMホスト2のリソースは,複数の仮想マシン3に割り当てられる。   In the example of FIG. 1, the VM host 2 is composed of a plurality of physical machines, and each physical machine has a CPU, a memory (DRAM), a large-capacity memory such as a hard disk (HDD), and a network. The resources of the VM host 2 are allocated to a plurality of virtual machines 3.

管理サーバ1は,仮想マシン3と通信可能であり,VMホスト2内に作成された仮想マシン3の管理を行うものである。管理サーバ1は,例えば,仮想マシン3によって作成されてもよい。   The management server 1 can communicate with the virtual machine 3 and manages the virtual machine 3 created in the VM host 2. The management server 1 may be created by the virtual machine 3, for example.

仮想マシン3は,例えば,そのインフラをネットワーク経由で利用者に提供するもの(以下,クラウドサービスとも呼ぶ)である。   The virtual machine 3 is, for example, one that provides its infrastructure to a user via a network (hereinafter also referred to as a cloud service).

クラウドサービスは,コンピュータシステムを構築し稼働させるための基盤,即ち,仮想マシン3やネットワーク等のインフラストラクチャそのものを,ネットワーク経由で提供するサービスである。また,利用者は,例えば,利用者端末7からポータルサイト5にアクセスして,仮想マシンに必要な仕様,例えばCPUのクロック周波数,メモリの容量(GB),ハードディスクの容量(MB/sec,IOPS),及びネットワークの通信帯域幅(Gbps)を選択し,それらについてクラウド利用契約を締結する。また,利用者端末7は,例えば,仮想マシン3の稼働状態を監視や,仮想マシン3に対する操作等を可能にする。   The cloud service is a service that provides a infrastructure for constructing and operating a computer system, that is, an infrastructure itself such as the virtual machine 3 and a network via the network. Also, the user accesses the portal site 5 from the user terminal 7, for example, and specifications necessary for the virtual machine, such as CPU clock frequency, memory capacity (GB), hard disk capacity (MB / sec, IOPS). ) And network communication bandwidth (Gbps), and a cloud use contract is concluded for them. In addition, the user terminal 7 enables, for example, monitoring of the operating state of the virtual machine 3 and operation of the virtual machine 3.

仮想化ソフトウエア4は,管理サーバ1からの指示に応じて,VMホスト2のCPU,メモリ,ハードディスク,ネットワークを割り当てることにより,仮想マシン3を動作させる基盤ソフトウエアである。仮想化ソフトウエア4は,例えば,VMホスト2で動作する。   The virtualization software 4 is basic software that operates the virtual machine 3 by assigning the CPU, memory, hard disk, and network of the VM host 2 in accordance with an instruction from the management server 1. The virtualization software 4 operates on the VM host 2, for example.

仮想マシン3は,VMホスト2のリソースが割り当てられることに加えて,例えば,OS,ミドルウエア,アプリケーション,データベース等を有するイメージファイルをそのハードディスク内に有する。そして,仮想マシン3は,例えば,起動時にイメージファイルをハードディスクからメモリに書き込み,所望のサービスに対応する動作を行う。   In addition to the VM host 2 resources being allocated, the virtual machine 3 has, for example, an image file having an OS, middleware, application, database, etc. in its hard disk. Then, for example, the virtual machine 3 writes an image file from the hard disk to the memory at the time of startup, and performs an operation corresponding to a desired service.

図2は,VMホストのハードウエア構成を示す図である。VMホスト2は,プロセッサであるCPU(プロセッサ)201と,メモリ202と,記憶媒体203と,外部インターフェース(I/Oユニット)204,205と,を有する。各部は,バス206を介して互いに接続される。記憶媒体203は,例えば,記憶媒体203内のプログラム格納領域(図示しない)に,仮想化されたI/Oを切り替える処理(以下,仮想I/O切り替え処理とも呼ぶ)を行うためのプログラム210を記憶する。CPU201は,図2に示すように,プログラム210の実行時に,プログラム210を記憶媒体203からメモリ202にロードし,プログラム210を実行して仮想I/Oの切り替え処理を行う。また,記憶媒体203及びI/Oユニット205は,例えば,仮想I/Oの切り替え処理を行う際に用いられる情報を記憶する情報格納領域220,230をそれぞれ有する。   FIG. 2 is a diagram illustrating a hardware configuration of the VM host. The VM host 2 includes a CPU (processor) 201 as a processor, a memory 202, a storage medium 203, and external interfaces (I / O units) 204 and 205. Each unit is connected to each other via a bus 206. The storage medium 203 includes, for example, a program 210 for performing a process of switching virtualized I / O (hereinafter also referred to as virtual I / O switching process) to a program storage area (not shown) in the storage medium 203. Remember. As shown in FIG. 2, when executing the program 210, the CPU 201 loads the program 210 from the storage medium 203 to the memory 202, and executes the program 210 to perform virtual I / O switching processing. Further, the storage medium 203 and the I / O unit 205 have information storage areas 220 and 230, respectively, for storing information used when performing a virtual I / O switching process, for example.

なお,図2の例において,VMホスト2のI/Oユニットは,I/Oユニット204(以下,第1の物理デバイス204とも呼ぶ)とI/Oユニット205(以下,第2の物理デバイス205とも呼ぶ)とによって冗長に構成されている。VMホスト2は,例えば,通常時においては,I/Oユニット204を用いて外部(例えば,管理サーバ1)と通信を行う。そして,I/Oユニット204に異常が発生した場合に,I/Oユニット205を使用して外部と通信を行う。そのため,この場合,VMホスト2は,I/Oユニット204からI/Oユニット205への切り替えを行う。これにより,VMホスト2は,I/Oユニットに異常が生じた場合においても,仮想マシン3等を停止することなく,外部との通信を継続することが可能になる。   In the example of FIG. 2, the I / O unit of the VM host 2 is an I / O unit 204 (hereinafter also referred to as a first physical device 204) and an I / O unit 205 (hereinafter referred to as a second physical device 205). Are also redundantly configured. For example, the VM host 2 communicates with the outside (for example, the management server 1) using the I / O unit 204, for example, during normal times. When an abnormality occurs in the I / O unit 204, the I / O unit 205 is used to communicate with the outside. Therefore, in this case, the VM host 2 switches from the I / O unit 204 to the I / O unit 205. As a result, even when an abnormality occurs in the I / O unit, the VM host 2 can continue communication with the outside without stopping the virtual machine 3 or the like.

図3は,図2で示したI/Oユニットのハードウエア構成の詳細を示す図である。I/Oユニット205は,図3の例においては,DMAコントローラ2051と,DMA用メモリ2052と,制御用チップ2053と,VMホスト2の内部(例えば,メモリ202)との通信を行う内部向け通信ユニット2054と,VMホスト2の外部(例えば,管理サーバ1)との通信を行う外部向け通信ユニット2055と,情報格納領域230(構成情報用メモリ230)とを有する。各部は,バス2057を介して互いに接続される。   FIG. 3 is a diagram showing details of the hardware configuration of the I / O unit shown in FIG. In the example of FIG. 3, the I / O unit 205 is an internal communication that communicates with the DMA controller 2051, the DMA memory 2052, the control chip 2053, and the inside of the VM host 2 (for example, the memory 202). It has a unit 2054, an external communication unit 2055 that communicates with the outside of the VM host 2 (for example, the management server 1), and an information storage area 230 (configuration information memory 230). Each unit is connected to each other via a bus 2057.

DMA用メモリ2052は,例えば,内部向け通信ユニット2054がメモリ202から受信したデータを,外部向け通信ユニット2055が送信するまで一時的に記憶する。また,DMA用メモリ2052は,例えば,外部向け通信ユニット2055が管理サーバ1から受信したデータを,内部向け通信ユニット2054がメモリ202に送信(記憶)するまで一時的に記憶する。なお,図2の例におけるI/Oユニット204は,情報格納領域230を有しない点のみにおいてI/Oユニット205と構成が異なる。情報格納領域230については後述する。   For example, the DMA memory 2052 temporarily stores data received by the internal communication unit 2054 from the memory 202 until the external communication unit 2055 transmits the data. The DMA memory 2052 temporarily stores, for example, data received by the external communication unit 2055 from the management server 1 until the internal communication unit 2054 transmits (stores) the data to the memory 202. The I / O unit 204 in the example of FIG. 2 differs from the I / O unit 205 only in that it does not have the information storage area 230. The information storage area 230 will be described later.

DMAコントローラ2051は,図2及び図3の例においては,例えば,CPU201がメモリ202とVMホスト2の外部(管理サーバ1等)との間の通信に介在する頻度を抑制するように制御するものである。具体的に,DMAコントローラ2051は,例えば,CPU201からの制御に基づいて,外部向け通信ユニット2055が受信したデータをメモリ202に送信するように制御する。また,DMAコントローラ2051は,例えば,CPU201からの制御に基づいて,メモリ202に記憶されたデータをVMホスト2の外部に送信するように制御する。そして,メモリ202への送信が完了したときに,CPU201に通知を行う。すなわち,CPU201は,DMAコントローラ2051への制御を行うことにより,メモリ202とVMホスト2の外部との間の通信を実行させることが可能になる。そのため,外部向けユニット2055とメモリ202との間でデータの送受信が発生する度に介在する必要がなくなる。これにより,CPU201は,通信の発生による負荷の増大を抑制することができる。   In the example of FIGS. 2 and 3, for example, the DMA controller 2051 controls the CPU 201 to suppress the frequency of communication between the memory 202 and the outside of the VM host 2 (such as the management server 1). It is. Specifically, the DMA controller 2051 controls the data received by the external communication unit 2055 to be transmitted to the memory 202 based on the control from the CPU 201, for example. Also, the DMA controller 2051 performs control such that data stored in the memory 202 is transmitted to the outside of the VM host 2 based on control from the CPU 201, for example. When the transmission to the memory 202 is completed, the CPU 201 is notified. That is, the CPU 201 can execute communication between the memory 202 and the outside of the VM host 2 by controlling the DMA controller 2051. Therefore, it is not necessary to intervene every time data transmission / reception occurs between the external unit 2055 and the memory 202. Thereby, the CPU 201 can suppress an increase in load due to the occurrence of communication.

制御用チップ2053は,例えば,外部向け通信ユニット2055が受信したデータのメモリ202への送信,またはメモリ202に記憶されたデータのVMホスト2の外部への送信が終了したときに,その旨をCPU201に通知する。これにより,CPU201は,DMAコントローラ2051によってデータがメモリ202に記憶されたことを検知することができる。また,制御用チップ2053は,例えば,VFに対するPFのリソースの割り当てを制御する。このPFのリソースの割り当てについては後述する。   For example, the control chip 2053 notifies that when the transmission of the data received by the external communication unit 2055 to the memory 202 or the transmission of the data stored in the memory 202 to the outside of the VM host 2 is completed. The CPU 201 is notified. Thus, the CPU 201 can detect that data is stored in the memory 202 by the DMA controller 2051. The control chip 2053 controls, for example, the allocation of PF resources to VFs. This PF resource allocation will be described later.

図4は,図2で示したVMホストの機能ブロック図である。VMホスト2のCPU201は,プログラム210を実行することにより,例えば,管理ソフトウエア211(以下,構成情報管理部211とも呼ぶ)と,運用系物理デバイス制御部212(以下,第1の制御部212またはPFドライバ212とも呼ぶ)と,運用系仮想デバイス制御部213(第3の制御部213またはVFドライバ213とも呼ぶ)として機能する。また,VMホスト2のCPU201は,プログラム210を実行することにより,例えば,待機系物理デバイス制御部214(以下,第2の制御部214またはPFドライバ214とも呼ぶ)と,待機系仮想デバイス制御部215(以下,第4の制御部215またはVFドライバ215とも呼ぶ)として機能する。また,VMホスト2のCPU201は,プログラム210を実行することにより,例えば,物理デバイス切り替え部216(以下,第1の切り替え部とも呼ぶ)と,仮想デバイス切り替え部217(以下,第2の切り替え部とも呼ぶ)と,送受信中継部218(以下,中継部218とも呼ぶ)として機能する。   FIG. 4 is a functional block diagram of the VM host shown in FIG. By executing the program 210, the CPU 201 of the VM host 2 executes, for example, management software 211 (hereinafter also referred to as configuration information management unit 211) and an active physical device control unit 212 (hereinafter referred to as first control unit 212). Or the PF driver 212), and functions as an active virtual device controller 213 (also referred to as a third controller 213 or a VF driver 213). Further, the CPU 201 of the VM host 2 executes the program 210, for example, a standby physical device controller 214 (hereinafter also referred to as a second controller 214 or a PF driver 214) and a standby virtual device controller. 215 (hereinafter also referred to as a fourth control unit 215 or a VF driver 215). In addition, the CPU 201 of the VM host 2 executes the program 210, for example, a physical device switching unit 216 (hereinafter also referred to as a first switching unit) and a virtual device switching unit 217 (hereinafter referred to as a second switching unit). Also functions as a transmission / reception relay unit 218 (hereinafter also referred to as a relay unit 218).

また,図4において,情報格納領域220には,例えば,構成情報221(以下,第1の構成情報221とも呼ぶ)が記憶されている。また,情報格納領域230(以下,記憶部230とも呼ぶ)には,例えば,バックアップ用構成情報231(以下,第2の構成情報231または構成情報231とも呼ぶ)が記憶されている。   In FIG. 4, for example, configuration information 221 (hereinafter also referred to as first configuration information 221) is stored in the information storage area 220. In addition, for example, backup configuration information 231 (hereinafter also referred to as second configuration information 231 or configuration information 231) is stored in the information storage area 230 (hereinafter also referred to as the storage unit 230).

構成情報管理部211は,例えば,VFの構成情報221を情報格納領域220に記憶する。構成情報221は,VFが仮想マシンにおける仮想デバイスの機能を実現するために必要な情報である。具体的に,構成情報221は,例えば,VFによって実現される仮想デバイスに割り振られるMACアドレス,VLAN(Virtual LAN)のID(識別情報)及びMTU(Maximum Transmission Unit)を含む情報である。なお,PFは,物理的なデバイスであるI/Oユニット204,205が有するMACアドレス等に基づいて通信を行うことが可能である。すなわち,PFは,I/Oユニット204,205の物理NICとして機能することが可能であるため,構成情報管理部211と構成情報の送受信を行うことなく仮想デバイスの機能を実現することができる。   The configuration information management unit 211 stores, for example, VF configuration information 221 in the information storage area 220. The configuration information 221 is information necessary for the VF to realize the function of the virtual device in the virtual machine. Specifically, the configuration information 221 is information including, for example, a MAC address allocated to a virtual device realized by a VF, a VLAN (Virtual LAN) ID (identification information), and an MTU (Maximum Transmission Unit). Note that the PF can perform communication based on the MAC address or the like of the I / O units 204 and 205 which are physical devices. That is, since the PF can function as a physical NIC of the I / O units 204 and 205, the function of the virtual device can be realized without transmitting / receiving the configuration information to / from the configuration information management unit 211.

また,構成情報管理部211は,構成情報221を情報格納領域230に記憶する。具体的に,例えば,構成情報管理部211は,構成情報221を情報格納領域220に記憶したときに,情報格納領域230にも記憶するものであってよい。これにより,情報格納領域220に記憶された構成情報221の内容と,情報格納領域230に記憶されたバックアップ用構成情報231の内容とが常に同期するように記憶することができる。   Further, the configuration information management unit 211 stores the configuration information 221 in the information storage area 230. Specifically, for example, the configuration information management unit 211 may store the configuration information 221 in the information storage area 230 when the configuration information 221 is stored in the information storage area 220. Thereby, the contents of the configuration information 221 stored in the information storage area 220 and the contents of the backup configuration information 231 stored in the information storage area 230 can be stored so as to be always synchronized.

なお,構成情報221は,例えば,仮想マシンを含むシステム構築時においてユーザによって登録されるものであってよい。また,構成情報221は,仮想マシンを含むシステムの構築後,このシステムによって自動的に設定されるものであってもよい。   The configuration information 221 may be registered by the user at the time of system construction including a virtual machine, for example. The configuration information 221 may be automatically set by the system after the system including the virtual machine is constructed.

第1の制御部212は,PFが実装された物理デバイス(以下,第1の物理デバイスとも呼ぶ)を制御することにより,そのPFを関連付けられたVFの機能によって実現する仮想デバイス(以下,第1の仮想デバイスとも呼ぶ)を制御する。第1の制御部212は,例えば,PFを制御するために仮想マシン上で動作するドライバであってよい。具体的に,第1の制御部212は,例えば,ユーザやOSから受けた指示に基づいてVFの制御(新たなVFへのリソースの割り当てやリソースの解放等)を行う。   The first control unit 212 controls a physical device (hereinafter also referred to as a first physical device) on which a PF is mounted, thereby realizing a virtual device (hereinafter referred to as a first device) that realizes the PF by the function of the associated VF. 1 virtual device). The first control unit 212 may be, for example, a driver that operates on the virtual machine in order to control the PF. Specifically, for example, the first control unit 212 performs VF control (resource allocation to a new VF, release of resources, and the like) based on an instruction received from a user or an OS, for example.

第3の制御部213は,仮想マシンがVFによって実現した仮想デバイスの機能を利用することにより,外部(他の仮想マシンを含む)との通信が可能になるように制御する。第3の制御部213は,例えば,VFによる仮想デバイスを制御するために仮想マシン上で動作するドライバである。   The third control unit 213 performs control so that communication with the outside (including other virtual machines) is possible by using the function of the virtual device realized by the virtual machine by the VF. The third control unit 213 is a driver that operates on the virtual machine in order to control a virtual device based on VF, for example.

第2の制御部214は,PFが実装された第1の物理デバイスとは異なる物理デバイス(以下,第2の物理デバイスとも呼ぶ)を制御することにより,そのPFと関連付けられたVFの機能によって実現する仮想デバイス(以下,第2の仮想デバイスとも呼ぶ)を制御する。第2の制御部214は,第1の制御部212と同様に,例えば,PFを制御するために仮想マシン上で動作するドライバである。具体的に,第2の制御部214は,ユーザやOSから受けた指示に基づいてVFの制御を行う。   The second control unit 214 controls a physical device different from the first physical device on which the PF is mounted (hereinafter also referred to as a second physical device), thereby controlling the function of the VF associated with the PF. A virtual device to be realized (hereinafter also referred to as a second virtual device) is controlled. Similar to the first control unit 212, the second control unit 214 is a driver that operates on the virtual machine to control the PF, for example. Specifically, the second control unit 214 controls the VF based on an instruction received from the user or the OS.

第4の制御部215は,仮想マシンがVFによって実現した仮想デバイスの機能を利用することにより,外部(他の仮想マシンを含む)との通信が可能になるように制御する。第4の制御部215は,例えば,VFによる仮想デバイスを制御するために仮想マシン上で動作するドライバである。   The fourth control unit 215 performs control so that communication with the outside (including other virtual machines) becomes possible by using the function of the virtual device realized by the virtual machine by the VF. For example, the fourth control unit 215 is a driver that operates on the virtual machine in order to control a virtual device based on VF.

物理デバイス切り替え部216は,第1の制御部212と第2の制御部214との間で切り替えを行う。物理デバイス切り替え部216は,第1の制御部212と第2の制御部214との間で切り替えを行うことにより,仮想マシンが利用している仮想デバイスも切り替えられるものであってよい。   The physical device switching unit 216 performs switching between the first control unit 212 and the second control unit 214. The physical device switching unit 216 may switch the virtual device used by the virtual machine by switching between the first control unit 212 and the second control unit 214.

仮想デバイス切り替え部217は,物理デバイス切り替え部216からの指示に応答して,第3の制御部213と第4の制御部215との間で切り替えを行う。   The virtual device switching unit 217 performs switching between the third control unit 213 and the fourth control unit 215 in response to an instruction from the physical device switching unit 216.

送受信中継部218は,第1の制御部212または第2の制御部214と,第3の制御部213または第4の制御部215との間における指示の中継を行う。   The transmission / reception relay unit 218 relays instructions between the first control unit 212 or the second control unit 214 and the third control unit 213 or the fourth control unit 215.

なお,PFは,例えば,物理デバイス205の一部にそれぞれ実装された機能であり,そのPFに関連付けられたVFの制御を行う。そして,VFは,PFのリソースの一部を割り当てた機能であり,PFの制御によって仮想マシンに仮想デバイスの機能を提供する。また,PFは,PF自身としても仮想マシンに仮想デバイスの機能を提供することができる。具体的に,PFは,例えば,図3において説明したDMAコントローラ2051と,DMA用メモリ2052と,制御用チップ2053と,内部向けユニット2054と,外部向けユニット2055とを有している。そして,PFは,これらのリソースまたは機能の一部をVFに割り当てる。すなわち,PF及びVFは,上記のリソースまたは機能を共有することによって,仮想マシンに仮想デバイスの機能を提供する。   Note that the PF is, for example, a function implemented in a part of the physical device 205, and controls the VF associated with the PF. The VF is a function to which a part of the PF resource is allocated, and provides a virtual device function to the virtual machine by the control of the PF. The PF can also provide the virtual device function to the virtual machine as the PF itself. Specifically, the PF includes, for example, the DMA controller 2051, the DMA memory 2052, the control chip 2053, the internal unit 2054, and the external unit 2055 described in FIG. Then, the PF allocates a part of these resources or functions to the VF. That is, the PF and VF provide the virtual device function to the virtual machine by sharing the above-described resources or functions.

また,PF及びVFは,PFとVF間の通信を行うために,例えば,各VFに専用メモリ及び専用の制御部を設けるものであってよい。具体的に,例えば,PFがVFにデータを送信する場合,PFは,送信を行うVFが有する専用メモリに送信するデータを記憶させる。そして,PFは,データの記憶が完了したときに,専用の制御部によって割り込みを発生させることにより,PFがVFにデータの送信を行ったことを通知する。これにより,PFからVFへの通信が完了するものであってよい。   The PF and VF may be provided with a dedicated memory and a dedicated control unit in each VF, for example, in order to perform communication between the PF and the VF. Specifically, for example, when the PF transmits data to the VF, the PF stores the data to be transmitted in a dedicated memory included in the VF that performs transmission. Then, when the data storage is completed, the PF notifies the VF that the data has been transmitted to the VF by generating an interrupt by the dedicated control unit. Thereby, communication from PF to VF may be completed.

[SR−IOVを使用したVMホストの構成例]
次に,SR−IOVを使用した場合のVMホストの構成例について説明する。図5及び図6は,SR−IOVを使用したVMホストを説明する図である。
[Configuration example of VM host using SR-IOV]
Next, a configuration example of the VM host when SR-IOV is used will be described. 5 and 6 are diagrams for explaining a VM host using SR-IOV.

図5の例におけるVMホスト2は,仮想マシン3A及び仮想マシン3Cを作成している。また,図5の例においては,VMホスト2は,物理デバイス204を有している。そして,仮想マシン3Aは,構成情報221を管理する構成情報管理部211及びPFドライバ212を有する。また,仮想マシン3Cは,VFドライバ213及びVFドライバ215を有する。さらに,図5において,物理デバイス204は,PCI−SIG規格に基づくSR−IOVに対応しており,PF251,VF252及びVF253を有している。なお,図5の例において,PF251は,VF252,253を制御しているものとする。   The VM host 2 in the example of FIG. 5 creates a virtual machine 3A and a virtual machine 3C. In the example of FIG. 5, the VM host 2 has a physical device 204. The virtual machine 3A includes a configuration information management unit 211 and a PF driver 212 that manage the configuration information 221. The virtual machine 3C has a VF driver 213 and a VF driver 215. Further, in FIG. 5, the physical device 204 corresponds to SR-IOV based on the PCI-SIG standard, and includes PF251, VF252, and VF253. In the example of FIG. 5, it is assumed that the PF 251 controls the VFs 252 and 253.

図5の例において,構成情報管理部211が構成情報221をVFドライバ213,215に送信することにより,PF251,VF252,253は,それぞれ仮想デバイス271,272,273の機能を実現することが可能になる。そして,仮想マシン3Aは,仮想デバイス271を利用することにより,外部(仮想マシン3Cを含む)と通信を行うことが可能になる。また,仮想マシン3Cは,仮想デバイス272または仮想デバイス273を利用することにより,外部(仮想マシン3Aを含む)と通信を行うことが可能になる。   In the example of FIG. 5, the configuration information management unit 211 transmits the configuration information 221 to the VF drivers 213 and 215, so that the PF 251, VF 252 and 253 can realize the functions of the virtual devices 271, 272 and 273, respectively. become. The virtual machine 3A can communicate with the outside (including the virtual machine 3C) by using the virtual device 271. Also, the virtual machine 3C can communicate with the outside (including the virtual machine 3A) by using the virtual device 272 or the virtual device 273.

図6は,構成情報管理部211がVFドライバ213に構成情報221を送信する場合の例である。構成情報管理部211は,PFドライバ212に対し,PF251が制御するVF252,253の構成情報221を予め送信する(S101)。   FIG. 6 is an example when the configuration information management unit 211 transmits the configuration information 221 to the VF driver 213. The configuration information management unit 211 transmits in advance the configuration information 221 of the VFs 252 and 253 controlled by the PF 251 to the PF driver 212 (S101).

その後,VFドライバ213は,例えば,仮想デバイス272の作成時や仮想デバイス272の利用開始時(以下,活性化時とも呼ぶ)に,PFドライバ212に構成情報221の送信を要求する(S102)。この構成情報221の送信要求は,図6の例においては,VF252及びPF251を経由してPFドライバ212に通知される(S103,S104)。そして,構成情報221の送信要求を受信したPFドライバ212は,PF251及びVF252を経由してVFドライバ213に構成情報221を送信する(S105,S106,S107)。これにより,VFドライバ213は,受信した構成情報221に基づいて仮想デバイス272の設定や利用の開始をすることが可能になる。   Thereafter, the VF driver 213 requests the PF driver 212 to transmit the configuration information 221 when, for example, the virtual device 272 is created or when the use of the virtual device 272 is started (hereinafter also referred to as activation) (S102). In the example of FIG. 6, the transmission request for the configuration information 221 is notified to the PF driver 212 via the VF 252 and the PF 251 (S103, S104). The PF driver 212 that has received the transmission request for the configuration information 221 transmits the configuration information 221 to the VF driver 213 via the PF 251 and the VF 252 (S105, S106, S107). Accordingly, the VF driver 213 can set and start using the virtual device 272 based on the received configuration information 221.

ここで,例えば,物理デバイス204内のPF251に異常が発生し,PFドライバ212とVFドライバ213,215との間で,構成情報221を送受信ができなくなる場合がある。この場合,VFドライバ213,215では構成情報221の取得エラーが発生し,構成情報221の送信要求がハングする等の予期しない異常動作を引き起こす場合がある。すなわち,図6の構成では,PF251の異常発生によって,仮想マシン3Aに作成された仮想デバイス271の制御ができなくなるだけでなく,仮想マシン3Cに作成された仮想デバイス272,273の制御もできなくなる場合がある。   Here, for example, an abnormality may occur in the PF 251 in the physical device 204, and the configuration information 221 may not be transmitted / received between the PF driver 212 and the VF drivers 213 and 215. In this case, in the VF drivers 213 and 215, an acquisition error of the configuration information 221 may occur, and an unexpected abnormal operation such as a hang of a transmission request for the configuration information 221 may occur. That is, in the configuration of FIG. 6, the occurrence of an abnormality in the PF 251 makes it impossible to control the virtual device 271 created in the virtual machine 3A, and it also becomes impossible to control the virtual devices 272 and 273 created in the virtual machine 3C. There is a case.

そこで,本実施の形態では,切り替え前の物理デバイスに基づいて作成された仮想デバイスを制御する構成情報を,切り替え後の物理デバイスを制御するPFドライバからアクセス可能にすることにより,構成情報に基づいて切り替え後のPFドライバが切り替え後の仮想デバイスを制御できる。   Therefore, in the present embodiment, the configuration information for controlling the virtual device created based on the physical device before switching is made accessible from the PF driver that controls the physical device after switching, so that the configuration information is based on the configuration information. Thus, the switched PF driver can control the switched virtual device.

[第1の実施の形態]
最初に第1の実施の形態について説明する。図7は,第1の実施の形態における仮想I/O切り替え処理の概略を説明するシーケンスチャート図である。また,図8は,第1の実施の形態における仮想I/O切り替え処理の概略を説明する図である。図8を参照しながら,図7の仮想I/O切り替え処理の概要を説明する。
[First Embodiment]
First, the first embodiment will be described. FIG. 7 is a sequence chart for explaining the outline of the virtual I / O switching process according to the first embodiment. FIG. 8 is a diagram for explaining the outline of the virtual I / O switching process according to the first embodiment. The outline of the virtual I / O switching process of FIG. 7 will be described with reference to FIG.

[図8のVMホストの構成]
初めに,図8の例におけるVMホスト2の構成について説明する。図8の例におけるVMホスト2は,図5の例と同様に,仮想マシン3A及び仮想マシン3Cを作成している。また,図8の例においては,VMホスト2は,物理デバイス204及び物理デバイス205を有している。そして,仮想マシン3Aは,図8の例においては,PFドライバ212及びPFドライバ214を有し,さらに,仮想マシン3Aは,PFドライバ212とPFドライバ214とを切り替えるPF切り替え部216を有している。また,仮想マシン3Cは,VFドライバ213及びVFドライバ215を有する。
[Configuration of VM Host in FIG. 8]
First, the configuration of the VM host 2 in the example of FIG. 8 will be described. The VM host 2 in the example of FIG. 8 creates a virtual machine 3A and a virtual machine 3C as in the example of FIG. In the example of FIG. 8, the VM host 2 has a physical device 204 and a physical device 205. In the example of FIG. 8, the virtual machine 3A includes a PF driver 212 and a PF driver 214, and the virtual machine 3A includes a PF switching unit 216 that switches between the PF driver 212 and the PF driver 214. Yes. The virtual machine 3C has a VF driver 213 and a VF driver 215.

図8の例において,物理デバイス204及び物理デバイス205は,SR−IOVに対応している。そして,物理デバイス204は,PF251及びVF252を有し,物理デバイス205は,PF261及びVF262を有している。さらに,図8の例において,PF251はVF252を制御し,PF261はVF262を制御している。また,図8の例において,物理デバイス205は,その一部に記憶部230を実装している。この記憶部230は,例えば,フラッシュメモリ等によるものであってよい。なお,以下,運用中のPFドライバ212からPFドライバ214に切り替える場合について説明するが,運用中のPFドライバ214からPFドライバ212に切り替える場合も同様に行うことが可能である。また,図8の例において,仮想マシン3Aの構成情報管理部211については記載を省略している。   In the example of FIG. 8, the physical device 204 and the physical device 205 correspond to SR-IOV. The physical device 204 has a PF 251 and a VF 252, and the physical device 205 has a PF 261 and a VF 262. Further, in the example of FIG. 8, the PF 251 controls the VF 252 and the PF 261 controls the VF 262. In the example of FIG. 8, the physical device 205 has a storage unit 230 mounted on a part thereof. The storage unit 230 may be, for example, a flash memory. In the following, the case of switching from the operating PF driver 212 to the PF driver 214 will be described. However, the switching from the operating PF driver 214 to the PF driver 212 can be similarly performed. In the example of FIG. 8, the description of the configuration information management unit 211 of the virtual machine 3A is omitted.

図8の例において,構成情報管理部211がVFドライバ213,215に構成情報221を送信することにより,PF251,261,VF252,262による仮想デバイス271,272,281,282の機能がそれぞれ実現される。これにより,仮想マシン3Aは,仮想デバイス271または仮想デバイス281を利用して,仮想マシン3Aや外部(管理サーバ1等)と通信を行うことが可能になる。また,仮想マシン3Cは,仮想デバイス272または仮想デバイス282を利用して,仮想マシン3Cや外部と通信を行うことが可能になる。以下,図8を参照しながら,図7の仮想I/O切り替え処理の概略を説明する。   In the example of FIG. 8, the configuration information management unit 211 transmits the configuration information 221 to the VF drivers 213 and 215, thereby realizing the functions of the virtual devices 271, 272, 281 and 282 by the PFs 251 and 261 and VFs 252 and 262, respectively. The As a result, the virtual machine 3A can communicate with the virtual machine 3A or the outside (the management server 1 or the like) using the virtual device 271 or the virtual device 281. Further, the virtual machine 3C can communicate with the virtual machine 3C and the outside by using the virtual device 272 or the virtual device 282. Hereinafter, an outline of the virtual I / O switching process of FIG. 7 will be described with reference to FIG.

[図7のS1からS3]
初めに,構成情報管理部211は,VFを制御するための構成情報221を物理デバイス205に設けられた記憶部230に記憶する(S1)。構成情報管理部211は,例えば,構成情報221を情報格納領域220に記憶するときに,構成情報221と同じ内容の構成情報231を記憶部230に記憶する。これにより,構成情報221と構成情報231とを同期させることが可能になる。
[S1 to S3 in FIG. 7]
First, the configuration information management unit 211 stores configuration information 221 for controlling the VF in the storage unit 230 provided in the physical device 205 (S1). For example, when the configuration information 221 is stored in the information storage area 220, the configuration information management unit 211 stores the configuration information 231 having the same contents as the configuration information 221 in the storage unit 230. Thereby, the configuration information 221 and the configuration information 231 can be synchronized.

そして,PFドライバ212は,PF251が所定の状態になったとき,その旨をPF切り替え部216に通知する(S2,S3)。所定の状態は,例えば,PF251(物理デバイス204)が通常状態とは異なる状態,すなわち異常状態である。そして,PFドライバ212は,例えば,PF251と通信ができなくなった場合に,PF251に異常が発生したと判断するものであってよい。また,PFドライバ212は,たとえば,PF251との通信に要する時間が予め定めた閾値(例えば,5秒)を超えた場合に,PF251に異常が発生したものと判断するものであってもよい。なお,PF切り替え部216が運用中のPF251(物理デバイス204)の状態を監視しており,PF251が所定の状態になったことをPF切り替え部216が検知するものであってもよい。   Then, when the PF 251 enters a predetermined state, the PF driver 212 notifies the PF switching unit 216 to that effect (S2, S3). The predetermined state is, for example, a state where the PF 251 (physical device 204) is different from the normal state, that is, an abnormal state. For example, the PF driver 212 may determine that an abnormality has occurred in the PF 251 when communication with the PF 251 is disabled. The PF driver 212 may determine that an abnormality has occurred in the PF 251 when the time required for communication with the PF 251 exceeds a predetermined threshold (for example, 5 seconds), for example. Note that the PF switching unit 216 may monitor the state of the PF 251 (physical device 204) in operation, and the PF switching unit 216 may detect that the PF 251 has entered a predetermined state.

[図7のS4]
次に,PF切り替え部216は,PFドライバ212からPF251に異常が発生した旨の通知を受けたときに(S3),PFドライバ212から待機系のPFドライバであるPFドライバ214への切り替えを開始することを通知する(S4)。
[S4 in FIG. 7]
Next, the PF switching unit 216 starts switching from the PF driver 212 to the PF driver 214 which is a standby PF driver when receiving a notification from the PF driver 212 that an abnormality has occurred in the PF 251 (S3). (S4).

すなわち,PFで発生した異常によってPFドライバとPFとの間の通信ができなくなった場合,PFが制御するVFとPFドライバとの間の通信もできなくなり,VFは,PFドライバから構成情報を受信することができなくなる。そして,PFで発生した異常によって,PFが制御するVFによって作成された仮想デバイスにも異常が発生する可能性が生じ,仮想マシンはこの仮想デバイスを使用することができなくなる。そのため,本実施の形態においては,PFドライバがPFの異常を検知した場合,異常が発生したPFドライバ(PF)から待機系のPFドライバ(PF)に切り替え,切り替え先のPFが制御するVFによって仮想デバイスを作成する。これにより,仮想マシンは,PFに異常が発生した場合においても仮想デバイスによるI/O機能を継続して利用することが可能になる。   In other words, if communication between the PF driver and the PF becomes impossible due to an abnormality that has occurred in the PF, communication between the VF controlled by the PF and the PF driver also becomes impossible, and the VF receives configuration information from the PF driver. Can not do. An abnormality that occurs in the PF may cause an abnormality in the virtual device created by the VF controlled by the PF, and the virtual machine cannot use the virtual device. Therefore, in this embodiment, when the PF driver detects an abnormality of the PF, the PF driver (PF) in which the abnormality has occurred is switched to the standby PF driver (PF), and the VF controlled by the switching destination PF is used. Create a virtual device. As a result, the virtual machine can continue to use the I / O function by the virtual device even when an abnormality occurs in the PF.

[図7のS5からS8]
PFドライバ214がPF切り替え部216から切り替えを開始する旨の通知を受信した後(S4),PFドライバ214は,物理デバイス205に構成情報231の取得要求を送信して,構成情報231を取得する(S5,S6)。そして,PF切り替え部216がPFドライバ214から構成情報231を受信した旨の通知を受信した後(S6),PF切り替え部216は,PFドライバ212からPFドライバ214への切り替えを行う(S7,S8)。具体的に,図8の例においては,PF切り替え部216が制御を行うPFドライバをPFドライバ212からPFドライバ214に切り替える。これにより,PF切り替え部216が制御するPF及びVFは,物理デバイス204に実装されているPF251及びPF252から,物理デバイス205に実装されているPF261及びVF262に切り替わる。そして,図8の例において,仮想マシン3Cの仮想I/O機能を実現する仮想デバイスは,仮想デバイス272から仮想デバイス282に切り替わる。
[S5 to S8 in FIG. 7]
After the PF driver 214 receives a notification to start switching from the PF switching unit 216 (S4), the PF driver 214 transmits a configuration information 231 acquisition request to the physical device 205 to acquire the configuration information 231. (S5, S6). Then, after receiving the notification that the PF switching unit 216 has received the configuration information 231 from the PF driver 214 (S6), the PF switching unit 216 performs switching from the PF driver 212 to the PF driver 214 (S7, S8). ). Specifically, in the example of FIG. 8, the PF driver controlled by the PF switching unit 216 is switched from the PF driver 212 to the PF driver 214. As a result, the PF and VF controlled by the PF switching unit 216 are switched from the PF 251 and PF 252 mounted on the physical device 204 to the PF 261 and VF 262 mounted on the physical device 205. In the example of FIG. 8, the virtual device that implements the virtual I / O function of the virtual machine 3C is switched from the virtual device 272 to the virtual device 282.

すなわち,PFの異常発生により待機系のPFに切り替えを行った場合,切り替え先のPFは,異常が発生したPFのPFドライバにアクセスできない場合がある。この場合,切り替え後のPFドライバは,異常が発生したPFがVFを制御するために用いていた構成情報を取得することができなくなり,切り替え前の仮想デバイスが実現していた仮想I/O機能を引き継ぐことができなくなる。そのため,S1において説明したように,PFドライバは,VFを制御するための構成情報を,運用中のPFの状態によらず,予め切り替え後のPFドライバがアクセスできる場所に記憶しておく。これにより,切り替え後のPFドライバは,異常が発生したPFがVFを制御するために用いていた構成情報を取得することが可能になる。そして,切り替え後のPFドライバは,切り替え前の仮想デバイスが仮想マシンに提供していた仮想I/O機能を,継続して仮想マシンに提供することが可能になる。   That is, when switching to a standby PF due to the occurrence of a PF abnormality, the switching destination PF may not be able to access the PF driver of the PF in which the abnormality has occurred. In this case, the PF driver after switching cannot acquire the configuration information used by the PF in which an abnormality has occurred to control the VF, and the virtual I / O function realized by the virtual device before switching Can no longer take over. Therefore, as described in S1, the PF driver stores the configuration information for controlling the VF in advance in a place that can be accessed by the switched PF driver regardless of the state of the operating PF. As a result, the PF driver after switching can acquire the configuration information used by the PF in which an abnormality has occurred to control the VF. Then, the PF driver after switching can continuously provide the virtual machine with the virtual I / O function that the virtual device before switching has provided to the virtual machine.

このように,第1の実施の形態によれば,VMホスト2は,物理デバイス205205のリソースをそれぞれ割り当てることにより仮想マシン3Cに作成された仮想デバイス272,282を,それぞれ制御するPFドライバ212,214を有する。そして,VMホスト2は,PFドライバ214からアクセス可能であり,PFドライバ212が仮想デバイス272を制御するための構成情報221と同期した構成情報231を記憶する記憶部230を有する。さらに,VMホスト2は,物理デバイス204の状態が異常状態になった場合であって,PFドライバ214が記憶部230から構成情報231を取得した後に,PFドライバ212からPFドライバ214への切り替えを行うPF切り替え部216を有する。これにより,PF251(物理デバイス204)に異常が発生し,PFドライバ212とVF252との間の通信ができなくなった場合においても,待機系のPFドライバであるPFドライバ214は,VF252の構成情報231を取得することが可能になる。そのため,仮想マシン3Cは,PFドライバ等の切り替えを行うために仮想マシン3C自体を停止させることなく,VFによって実現される仮想デバイスによる仮想I/O機能を継続して利用することが可能になる。   As described above, according to the first embodiment, the VM host 2 assigns the resources of the physical device 205205 to the PF driver 212 that controls the virtual devices 272 and 282 created in the virtual machine 3C, respectively. 214. The VM host 2 is accessible from the PF driver 214 and includes a storage unit 230 that stores configuration information 231 synchronized with the configuration information 221 for the PF driver 212 to control the virtual device 272. Further, the VM host 2 switches from the PF driver 212 to the PF driver 214 after the PF driver 214 acquires the configuration information 231 from the storage unit 230 when the physical device 204 is in an abnormal state. A PF switching unit 216 is provided. As a result, even when an abnormality occurs in the PF 251 (physical device 204) and communication between the PF driver 212 and the VF 252 cannot be performed, the PF driver 214 as the standby PF driver does not have the configuration information 231 of the VF 252. It becomes possible to get. Therefore, the virtual machine 3C can continuously use the virtual I / O function by the virtual device realized by the VF without stopping the virtual machine 3C itself in order to switch the PF driver or the like. .

[第1の実施の形態の詳細]
次に,第1の実施の形態の詳細について説明する。図9から図11は,第1の実施の形態における仮想I/O切り替え処理の詳細を説明するフローチャート図である。また,図12は,第1の実施の形態における仮想I/O切り替え処理の詳細を説明する図である。図12を参照しながら,図9から図11の仮想I/O切り替え処理の詳細を説明する。
[Details of First Embodiment]
Next, details of the first embodiment will be described. FIGS. 9 to 11 are flowcharts for explaining the details of the virtual I / O switching process in the first embodiment. FIG. 12 is a diagram for explaining the details of the virtual I / O switching process according to the first embodiment. Details of the virtual I / O switching process of FIGS. 9 to 11 will be described with reference to FIG.

[図12のVMホストの構成]
図12の例におけるVMホスト2は,図8の例におけるVMホスト2と異なり,VFドライバ213とVFドライバ215との間で切り替えを行うVF切り替え部217を有する。そして,PF切り替え部216からVF切り替え部217への指示(PF切り替え部216とVF切り替え部217との間の通信)を中継する送受信中継部218を有する。その他の構成については,図8に示すVMホスト2と同じ構成であるため説明を省略する。
[Configuration of VM Host in FIG. 12]
Unlike the VM host 2 in the example of FIG. 8, the VM host 2 in the example of FIG. 12 includes a VF switching unit 217 that switches between the VF driver 213 and the VF driver 215. The transmission / reception relay unit 218 relays an instruction (communication between the PF switching unit 216 and the VF switching unit 217) from the PF switching unit 216 to the VF switching unit 217. The other configuration is the same as that of the VM host 2 shown in FIG.

[PF切り替え部における仮想I/O切り替え処理]
初めに,図9を参照して,PF切り替え部216において実行される仮想I/O切り替え処理について説明する。
[Virtual I / O switching process in PF switching unit]
First, the virtual I / O switching process executed in the PF switching unit 216 will be described with reference to FIG.

仮想I/O切り替え処理のバックグラウンドにおいて,構成情報管理部211は,構成情報221を記憶部230に記憶する(S10)。   In the background of the virtual I / O switching process, the configuration information management unit 211 stores the configuration information 221 in the storage unit 230 (S10).

そして,PFドライバ212がPF251の異常発生を検知した場合(S11のYES),PF切り替え部216は,PFドライバ212に異常発生を検知したPF251の停止を指示する(S12)。次に,PFドライバ212からPF停止完了通知を受信したとき(S13のYES),PF切り替え部216は,停止したPF251が制御していたVF252の停止を,送受信中継部218を経由してVF切り替え部217に指示する(S14)。   When the PF driver 212 detects the occurrence of the abnormality of the PF 251 (YES in S11), the PF switching unit 216 instructs the PF driver 212 to stop the PF 251 that has detected the abnormality (S12). Next, when the PF stop completion notification is received from the PF driver 212 (YES in S13), the PF switching unit 216 switches the VF 252 controlled by the stopped PF 251 via the transmission / reception relay unit 218. The unit 217 is instructed (S14).

図12の例において,PF切り替え部216が位置する仮想マシン3AとVFドライバ213が位置する仮想マシン3Cとは,別の仮想マシンであり,OSレベルで独立している。そのため,PFドライバ212からPFドライバ214への切り替えを行う際には,例えば,PF切り替え部216によるPFドライバの切り替えとVF切り替え部217によるVFドライバの切り替えとを連携して行う必要がある。そこで,本実施の形態においては,PF切り替え部216とVF切り替え部217との間に送受信中継部218を設ける。そして,送受信中継部218は,PF切り替え部216とVF切り替え部217との間で行われる通信の中継を行う。以下,送受信中継部218の動作の具体例について説明する。   In the example of FIG. 12, the virtual machine 3A where the PF switching unit 216 is located and the virtual machine 3C where the VF driver 213 is located are different virtual machines and are independent at the OS level. Therefore, when switching from the PF driver 212 to the PF driver 214, for example, switching of the PF driver by the PF switching unit 216 and switching of the VF driver by the VF switching unit 217 need to be performed in cooperation. Therefore, in the present embodiment, a transmission / reception relay unit 218 is provided between the PF switching unit 216 and the VF switching unit 217. The transmission / reception relay unit 218 relays communication performed between the PF switching unit 216 and the VF switching unit 217. Hereinafter, a specific example of the operation of the transmission / reception relay unit 218 will be described.

図13は,第1の実施の形態における送受信中継部を説明する図である。図13の例における仮想マシン3A,仮想マシン3C及び送受信中継部218は,例えば,仮想マシン3Aとハイパーバイザ4との間における通信用インターフェースによって通信を行う。この通信用インターフェースは,例えば,図13に示すように,コマンドコード及びオプションパラメータを含む情報の送受信を行うためのものである。具体的に,図13の例においては,PF切り替え部216が,PF251が制御していたVF252の停止をVF切り替え部217に指示する場合について説明を行う。   FIG. 13 is a diagram for explaining the transmission / reception relay unit in the first embodiment. The virtual machine 3A, the virtual machine 3C, and the transmission / reception relay unit 218 in the example of FIG. 13 perform communication through, for example, a communication interface between the virtual machine 3A and the hypervisor 4. For example, as shown in FIG. 13, the communication interface is for transmitting and receiving information including a command code and an option parameter. Specifically, in the example of FIG. 13, the case where the PF switching unit 216 instructs the VF switching unit 217 to stop the VF 252 controlled by the PF 251 will be described.

この場合,図13の例に示すように,仮想マシン3AのPF切り替え部216は,例えば,コマンドコードが「切り替え開始」であり,オプションパラメータが「仮想マシン3C」である情報を含む指示を,通信用インターフェースによって送受信中継部218に向けて送信する。そして,送受信中継部218は,上記の指示をPF切り替え部216から受信したときに,仮想マシン3CのVF切り替え部217に向けた指示を作成する。具体的に,送受信中継部218は,例えば,コマンドコードが「VFの停止」である情報を含む指示を作成し,通信用インターフェースによって仮想マシン3CのVF切り替え部217に送信する。これにより,VF切り替え部217は,PF切り替え部216からの指示に基づいてVFの停止を行うことが可能になる。   In this case, as shown in the example of FIG. 13, the PF switching unit 216 of the virtual machine 3A, for example, gives an instruction including information that the command code is “start switching” and the option parameter is “virtual machine 3C”. The data is transmitted toward the transmission / reception relay unit 218 through the communication interface. When the transmission / reception relay unit 218 receives the above instruction from the PF switching unit 216, the transmission / reception relay unit 218 creates an instruction directed to the VF switching unit 217 of the virtual machine 3 </ b> C. Specifically, for example, the transmission / reception relay unit 218 creates an instruction including information whose command code is “stop VF”, and transmits the instruction to the VF switching unit 217 of the virtual machine 3C through the communication interface. As a result, the VF switching unit 217 can stop the VF based on an instruction from the PF switching unit 216.

すなわち,本実施の形態においては,PF切り替え部216とVF切り替え部217との間の通信を行う場合,送受信中継部218を経由して行う。これにより,PF切り替え部216及びVF切り替え部217が担う機能をハイパーバイザ4に持たせる必要がなくなる。そのため,ハイパーバイザ4の処理負担を軽減させ,さらに,VMホスト2におけるCPU201等のリソースの負担を軽減させることができる。   That is, in the present embodiment, when communication is performed between the PF switching unit 216 and the VF switching unit 217, the communication is performed via the transmission / reception relay unit 218. This eliminates the need for the hypervisor 4 to have the functions performed by the PF switching unit 216 and the VF switching unit 217. Therefore, it is possible to reduce the processing load of the hypervisor 4 and further reduce the load of resources such as the CPU 201 in the VM host 2.

また,PF切り替え部216及びVF切り替え部217は,送受信中継部218からの通信があったことをトリガとして,それぞれの処理のタイミングを応じた処理を開始する。これにより,PF切り替え部216及び切り替え部217は,互いに連携しながら処理を行うことが可能になる。   Also, the PF switching unit 216 and the VF switching unit 217 start processing corresponding to the timing of each processing, triggered by the communication from the transmission / reception relay unit 218. As a result, the PF switching unit 216 and the switching unit 217 can perform processing in cooperation with each other.

図9に戻り,VF切り替え部217からVFの停止完了通知を受信したとき(S15のYES),PF切り替え部216は,記憶部230に記憶した構成情報231の取得をPFドライバ214に指示する(S16)。そして,PFドライバ214から構成情報を取得した旨の通知を受信したとき(S17のYES),PF切り替え部216は,PFドライバ214に切り替え先のPFであるPF261の起動を指示する。また,異常が発生したPF251が制御するVFが複数ある場合,PF切り替え部216は,全てのVFに関する停止完了通知を受信したときに(S15のYES),記憶部230に記憶した構成情報231の取得をPFドライバ214に指示する(S16)。   Returning to FIG. 9, when a VF stop completion notification is received from the VF switching unit 217 (YES in S15), the PF switching unit 216 instructs the PF driver 214 to obtain the configuration information 231 stored in the storage unit 230 ( S16). When the notification that the configuration information has been acquired is received from the PF driver 214 (YES in S17), the PF switching unit 216 instructs the PF driver 214 to start the PF 261 that is the switching destination PF. When there are a plurality of VFs controlled by the PF 251 in which an abnormality has occurred, the PF switching unit 216 receives the stop completion notification for all VFs (YES in S15), and the configuration information 231 stored in the storage unit 230 is stored. Acquisition is instructed to the PF driver 214 (S16).

なお,図12の例において,切り替え前のPFドライバ212が制御するVF252の構成情報231を記憶する記憶部230は,物理デバイス205に設けられている。そのため,例えば,構成情報231をハイパーバイザ4に記憶させる必要がなくなる。これにより,構成情報231を記憶することによるハイパーバイザ4の負担増大を抑制することができる。また,図12の例においては,構成情報231をハードウエアの一部である物理デバイス205に記憶させている。そのため,仮想マシンにおけるソフトウエア等の構成の違いに応じて,構成情報231を記憶する記憶部230の位置を変更する必要がない。   In the example of FIG. 12, the storage unit 230 that stores the configuration information 231 of the VF 252 controlled by the PF driver 212 before switching is provided in the physical device 205. Therefore, for example, it is not necessary to store the configuration information 231 in the hypervisor 4. Thereby, an increase in the burden on the hypervisor 4 due to the storage of the configuration information 231 can be suppressed. In the example of FIG. 12, the configuration information 231 is stored in the physical device 205 that is part of the hardware. Therefore, it is not necessary to change the position of the storage unit 230 that stores the configuration information 231 according to the difference in the configuration of software or the like in the virtual machine.

図9に戻り,PFドライバ214からPF261の起動が完了した旨の通知を受信したとき(S19のYES),PF切り替え部216は,起動したPF261が制御するVF262の起動を,送受信中継部218を経由してVF切り替え部217に指示する(S20)。そして,VF切り替え部217からVF262の起動が完了した旨の通知を受信したとき,仮想I/O切り替え処理は完了する(S21のYES)。なお,PFまたはVFの切り替えを行ったときに,PF切り替え部216またはVF切り替え部217は,切り替えと同時に,切り替え元のPFドライバまたはVFドライバとの間の通信インターフェースを停止(非活性化)するものであってもよい。また,必要がある場合には,切り替えと同時に,切り替え先のPFドライバまたはVFドライバとの間の通信インターフェースを起動(活性化)するものであってもよい。   Returning to FIG. 9, when the notification that the activation of the PF 261 has been completed is received from the PF driver 214 (YES in S 19), the PF switching unit 216 causes the transmission / reception relay unit 218 to activate the VF 262 controlled by the activated PF 261. Then, the VF switching unit 217 is instructed (S20). When the notification that the activation of the VF 262 is completed is received from the VF switching unit 217, the virtual I / O switching process is completed (YES in S21). When the PF or VF is switched, the PF switching unit 216 or the VF switching unit 217 stops (deactivates) the communication interface with the switching source PF driver or VF driver simultaneously with the switching. It may be a thing. If necessary, the communication interface with the switching destination PF driver or VF driver may be activated (activated) simultaneously with switching.

[管理テーブル]
図12に示すように,例えば,PF251に異常が発生した場合,仮想マシン3Cは仮想デバイス272を利用することができなくなる。そのため,PF切り替え部216は,異常が発生したPF251に代えて,仮想マシン3Cに仮想デバイスの機能を実現することができるVFを制御するPFに切り替えを行う必要がある。そこで,PF切り替え部216は,PF切り替え部216が切り替え先のPFを決定するための管理テーブルを予め有しておくものであってよい。これにより,PF切り替え部216がPF215に異常が発生した旨の通知を受信した際に(S13のYES),容易に切り替え先のPFを決定することが可能になる。
[Management table]
As illustrated in FIG. 12, for example, when an abnormality occurs in the PF 251, the virtual machine 3 </ b> C cannot use the virtual device 272. Therefore, the PF switching unit 216 needs to switch to the PF that controls the VF that can realize the function of the virtual device in the virtual machine 3C, instead of the PF 251 in which an abnormality has occurred. Therefore, the PF switching unit 216 may have a management table for the PF switching unit 216 to determine a switching destination PF in advance. As a result, when the PF switching unit 216 receives a notification that an abnormality has occurred in the PF 215 (YES in S13), it is possible to easily determine the switching destination PF.

図14は,第1の実施の形態における管理テーブルを説明する図である。図14の管理テーブルは,図12の例におけるPF及びVFに対応している。管理テーブルは,例えば,PF/VF名と,物理デバイス名と,仮想マシン名と,切り替え部名との情報を有している。図14の例においては,PF251は,位置する物理デバイスが物理デバイス204であり,位置する仮想マシンが仮想マシン3Aであり,切り替え制御される切り替え部がPF切り替え部216であることを示している。また,VF252は,位置する物理デバイスが物理デバイス204であり,位置する仮想マシンが仮想マシン3Cであり,切り替え制御される切り替え部がVF切り替え部217であることを示している。また,PF261は,位置する物理デバイスが物理デバイス205であり,位置する仮想マシンが仮想マシン3Aであり,切り替え制御される切り替え部がPF切り替え部216であることを示している。また,VF262は,位置する物理デバイスが物理デバイス205であり,位置する仮想マシンが仮想マシン3Cであり,切り替え制御される切り替え部がVF切り替え部217であることを示している。   FIG. 14 is a diagram illustrating a management table according to the first embodiment. The management table of FIG. 14 corresponds to the PF and VF in the example of FIG. The management table includes, for example, information on PF / VF names, physical device names, virtual machine names, and switching unit names. In the example of FIG. 14, the PF 251 indicates that the physical device located is the physical device 204, the virtual machine located is the virtual machine 3A, and the switching unit to be switched is the PF switching unit 216. . The VF 252 indicates that the physical device located is the physical device 204, the virtual machine located is the virtual machine 3C, and the switching unit to be switched is the VF switching unit 217. The PF 261 indicates that the physical device located is the physical device 205, the virtual machine located is the virtual machine 3 </ b> A, and the switching unit to be switched is the PF switching unit 216. The VF 262 indicates that the physical device located is the physical device 205, the virtual machine located is the virtual machine 3 </ b> C, and the switching unit to be switched is the VF switching unit 217.

具体的に,例えば,図14の例においてPF251に異常が発生した場合,PF切り替え部216は管理テーブルを参照する。そして,初めに,異常が発生したPFと同じ物理デバイスに位置しているVFを特定する。すなわち,PF251の異常発生により,影響が出ると可能性があるVFを特定する。図14の例においては,異常が発生したPF251と同じ物理デバイスである物理デバイス204に位置しているVFは,VF252である。   Specifically, for example, when an abnormality occurs in the PF 251 in the example of FIG. 14, the PF switching unit 216 refers to the management table. First, a VF located in the same physical device as the PF in which an abnormality has occurred is identified. That is, a VF that is likely to be affected by the occurrence of an abnormality in the PF 251 is specified. In the example of FIG. 14, the VF located in the physical device 204 that is the same physical device as the PF 251 in which an abnormality has occurred is the VF 252.

次に,PF切り替え部216は,特定したVF252が実現した仮想デバイスを利用している仮想マシンを特定する。すなわち,PF251の異常発生により,影響が出ると可能性がある仮想マシンを特定する。図14の例において,VF252が実現した仮想デバイスを利用している仮想マシンは,仮想マシン3Cである。   Next, the PF switching unit 216 identifies a virtual machine that uses the virtual device realized by the identified VF 252. That is, a virtual machine that is likely to be affected by an abnormality in the PF 251 is specified. In the example of FIG. 14, the virtual machine using the virtual device realized by the VF 252 is the virtual machine 3C.

そして,PF切り替え部216は,仮想マシン3Cに仮想デバイスの機能を提供することが可能なVFを特定する。すなわち,異常が発生したPF251が制御していたVF252に代わり,仮想マシン3Cに仮想デバイスの機能を提供することが可能なVFを特定する。図14の例において,仮想マシン3Cに仮想デバイスの機能を提供することが可能なVFは,VF262である。   Then, the PF switching unit 216 identifies a VF that can provide the virtual device function to the virtual machine 3C. That is, instead of the VF 252 controlled by the PF 251 in which an abnormality has occurred, a VF that can provide the virtual device function to the virtual machine 3C is specified. In the example of FIG. 14, the VF that can provide the virtual device function to the virtual machine 3 </ b> C is the VF 262.

次に,PF切り替え部216は,VF262を制御しているPFを特定する。すなわち,PF切り替え部216は,異常が発生したPF251からVF262を制御しているPFに切り替えを行うことができるか否かの確認を行う。図14の例において,VF262を制御しているPFはPF261であり,PF261を制御するPFドライバはPFドライバ214である。そのため,PF切り替え部216は,異常が発生したPF251を制御するPFドライバ212からPFドライバ214に切り替えることによって,仮想マシン3Cへの仮想デバイスの機能の提供を継続することができると判断する。   Next, the PF switching unit 216 identifies the PF that controls the VF 262. In other words, the PF switching unit 216 confirms whether or not switching can be performed from the PF 251 in which an abnormality has occurred to the PF controlling the VF 262. In the example of FIG. 14, the PF that controls the VF 262 is the PF 261, and the PF driver that controls the PF 261 is the PF driver 214. Therefore, the PF switching unit 216 determines that the provision of the function of the virtual device to the virtual machine 3C can be continued by switching from the PF driver 212 that controls the PF 251 in which an abnormality has occurred to the PF driver 214.

なお,PF切り替え部216は,例えば,PFドライバの優先度を予め定めておくものであってもよい。これにより,PF切り替え部216は,切り替えることができるPFドライバが複数存在した場合に,切り替え先のPFドライバを容易に決定することができる。一方,PF切り替え部216は,管理テーブルを確認した結果,切り替えることができるPFドライバが存在しない場合,例えば,その旨を事業者に通知するためにエラーを出力するものであってよい。   Note that the PF switching unit 216 may determine the priority of the PF driver in advance, for example. Thereby, the PF switching unit 216 can easily determine the switching destination PF driver when there are a plurality of PF drivers that can be switched. On the other hand, if there is no PF driver that can be switched as a result of checking the management table, for example, the PF switching unit 216 may output an error to notify the operator to that effect.

[VF切り替え部における仮想I/O切り替え処理]
次に,図10を参照して,VF切り替え部217において実行される仮想I/O切り替え処理について説明する。
[Virtual I / O switching process in VF switching unit]
Next, the virtual I / O switching process executed in the VF switching unit 217 will be described with reference to FIG.

VF切り替え部217がVF252の停止指示通知を受信したとき(S31のYES),VF切り替え部217は,停止を指示されたVF252を停止する(S32)。具体的に,VF切り替え部217は,例えば,VFドライバ213にVF252を停止する旨を指示し,この指示を受信したVFドライバ213がVF252の停止を行う。そして,例えば,VF切り替え部217がVFドライバ213からVF252が停止した旨の通知を受信したとき(S33のYES),VF切り替え部217は,VF252の停止が完了した旨を,送受信中継部218を経由してPF切り替え部216に通知する(S34)。   When the VF switching unit 217 receives a VF252 stop instruction notification (YES in S31), the VF switching unit 217 stops the VF252 instructed to stop (S32). Specifically, for example, the VF switching unit 217 instructs the VF driver 213 to stop the VF 252, and the VF driver 213 that has received this instruction stops the VF 252. For example, when the VF switching unit 217 receives a notification that the VF 252 has been stopped from the VF driver 213 (YES in S33), the VF switching unit 217 notifies the transmission / reception relay unit 218 that the VF 252 has been stopped. The notification is sent to the PF switching unit 216 via (S34).

すなわち,PFに異常が発生した場合,PFの切り替えを行う前に,異常が発生したPFが制御していたVFの停止を行う。これにより,異常が発生したPFが制御していたVFにおいてエラーが発生するのを防止し,例えば,ユーザのサービスに影響を及ぼすことを防止することが可能になる。   That is, when an abnormality occurs in the PF, before the PF is switched, the VF controlled by the PF in which the abnormality has occurred is stopped. As a result, it is possible to prevent an error from occurring in the VF controlled by the PF in which an abnormality has occurred and to prevent, for example, affecting the user's service.

次に,VF切り替え部217がVF262の起動指示通知を受信したとき(S35のYES),VF切り替え部217は,起動を指示されたVF262を起動する(S36)。具体的に,VF切り替え部217は,例えば,VFドライバ214にVF262を起動する旨を指示し,この指示を受信したVFドライバ214がVF262の起動を行う。そして,例えば,VF切り替え部217がVFドライバ214からVF262が起動した旨の通知を受信したとき(S37のYES),VF切り替え部217は,VF262の起動が完了した旨を,送受信中継部218を経由してPF切り替え部216に通知する(S38)。   Next, when the VF switching unit 217 receives the activation instruction notification of the VF 262 (YES in S35), the VF switching unit 217 activates the VF 262 instructed to activate (S36). Specifically, for example, the VF switching unit 217 instructs the VF driver 214 to activate the VF 262, and the VF driver 214 that has received this instruction activates the VF 262. For example, when the VF switching unit 217 receives a notification that the VF 262 has been activated from the VF driver 214 (YES in S37), the VF switching unit 217 notifies the transmission / reception relay unit 218 that the activation of the VF 262 has been completed. The notification is sent to the PF switching unit 216 via (S38).

[送受信中継部における仮想I/O切り替え処理]
次に,図11を参照して,送受信中継部218において実行される仮想I/O切り替え処理について説明する。
[Virtual I / O switching process in transmission / reception relay unit]
Next, the virtual I / O switching process executed in the transmission / reception relay unit 218 will be described with reference to FIG.

送受信中継部218がVF252の停止指示通知を受信したとき(S41のYES),送受信中継部218は,停止を指示されたVF252の停止をVF切り替え部217に指示する(S42)。そして,送受信中継部218がVF252の停止完了通知を受信したとき(S43のYES),送受信中継部218は,停止を指示されたVF252の停止が完了した旨をPF切り替え部216に通知する(S44)。   When the transmission / reception relay unit 218 receives the stop instruction notification of the VF 252 (YES in S41), the transmission / reception relay unit 218 instructs the VF switching unit 217 to stop the VF 252 instructed to stop (S42). When the transmission / reception relay unit 218 receives the VF252 stop completion notification (YES in S43), the transmission / reception relay unit 218 notifies the PF switching unit 216 that the stop of the VF252 instructed to stop has been completed (S44). ).

次に,送受信中継部218がVF262の起動指示通知を受信したとき(S45のYES),送受信中継部218は,起動を指示されたVF262の起動をVF切り替え部217に指示する(S46)。そして,送受信中継部218がVF262の起動完了通知を受信したとき(S47のYES),送受信中継部218は,起動を指示されたVF262の起動が完了した旨をPF切り替え部216に通知する(S48)。   Next, when the transmission / reception relay unit 218 receives the activation instruction notification of the VF 262 (YES in S45), the transmission / reception relay unit 218 instructs the VF switching unit 217 to activate the VF 262 instructed to activate (S46). When the transmission / reception relay unit 218 receives the activation completion notification of the VF 262 (YES in S47), the transmission / reception relay unit 218 notifies the PF switching unit 216 that the activation of the VF 262 instructed to be activated is completed (S48). ).

[第2の実施の形態]
次に,第2の実施の形態について説明する。図15は,第2の実施の形態における仮想I/O切り替え処理を説明するフローチャート図である。また,図16は,第2の実施の形態における仮想I/O切り替え処理を説明する図である。図16を参照しながら,図15の仮想I/O切り替え処理の詳細を説明する。なお,VF切り替え部217及び送受信中継部218における仮想I/O切り替え処理は,第1の実施の形態における処理と同じであるため,ここでは説明を省略する。
[Second Embodiment]
Next, a second embodiment will be described. FIG. 15 is a flowchart for explaining virtual I / O switching processing according to the second embodiment. FIG. 16 is a diagram for explaining virtual I / O switching processing according to the second embodiment. Details of the virtual I / O switching process of FIG. 15 will be described with reference to FIG. Note that the virtual I / O switching process in the VF switching unit 217 and the transmission / reception relay unit 218 is the same as the process in the first embodiment, and thus description thereof is omitted here.

[図16のVMホストの構成]
図16の例におけるVMホスト2は,図12の例におけるVMホスト2と異なり,PFドライバ212とPFドライバ214がそれぞれ位置する仮想マシンが異なる。具体的に,仮想マシン3AにはPFドライバ212が位置し,仮想マシン3BにはPFドライバ214が位置する。そのため,図16の例においては,PF切り替え部は2つに分割されており,仮想マシン3AにはPF切り替え部216A(以下,第1のPF切り替え部216Aとも呼ぶ)が位置し,仮想マシン3BにはPF切り替え部216B(以下,第2のPF切り替え部216Bとも呼ぶ)が位置している。その他の構成については,図12に示すVMホスト2と同じ構成であるため説明を省略する。
[Configuration of VM Host in FIG. 16]
The VM host 2 in the example of FIG. 16 is different from the VM host 2 in the example of FIG. 12 in that the virtual machines on which the PF driver 212 and the PF driver 214 are located are different. Specifically, the PF driver 212 is located in the virtual machine 3A, and the PF driver 214 is located in the virtual machine 3B. Therefore, in the example of FIG. 16, the PF switching unit is divided into two, and the PF switching unit 216A (hereinafter also referred to as the first PF switching unit 216A) is located in the virtual machine 3A, and the virtual machine 3B The PF switching unit 216B (hereinafter, also referred to as a second PF switching unit 216B) is located in FIG. The other configuration is the same as that of the VM host 2 shown in FIG.

[PF切り替え部における仮想I/O切り替え処理]
仮想I/O切り替え処理のバックグラウンドにおいて,第1の実施の形態と同様に,構成情報管理部211は,構成情報221を記憶部230に記憶する(S50)。
[Virtual I / O switching process in PF switching unit]
In the background of the virtual I / O switching processing, the configuration information management unit 211 stores the configuration information 221 in the storage unit 230 as in the first embodiment (S50).

そして,PFドライバ212がPF251の異常発生を検知した場合(S51のYES),PF切り替え部216は,PFドライバ212に異常発生を検知したPF251の停止を指示する(S52)。   When the PF driver 212 detects the occurrence of an abnormality of the PF 251 (YES in S51), the PF switching unit 216 instructs the PF driver 212 to stop the PF 251 that has detected the abnormality (S52).

次に,PFドライバ212からPF停止完了通知を受信したとき(S53のYES),PFドライバ212は,PFの切り替えが開始することをPFドライバ214に送信する(S54)。そして,例えば,PF切り替え部216Bは,停止したPF251が制御していたVF252の停止を,送受信中継部218を経由してVF切り替え部217に指示する(S54)。   Next, when a PF stop completion notification is received from the PF driver 212 (YES in S53), the PF driver 212 transmits to the PF driver 214 that PF switching is started (S54). Then, for example, the PF switching unit 216B instructs the VF switching unit 217 via the transmission / reception relay unit 218 to stop the VF 252 controlled by the stopped PF 251 (S54).

すなわち,図16の例において,PF切り替え部216Aが位置している仮想マシンとPF切り替え部216Bが位置している仮想マシンとは異なっている。そのため,PF切り替え部216Bに仮想I/O切り替え処理を実行させるためには,PF切り替え部216AからPF切り替え部216BにPFの切り替えが開始する旨を通知する必要がある。   That is, in the example of FIG. 16, the virtual machine in which the PF switching unit 216A is located is different from the virtual machine in which the PF switching unit 216B is located. Therefore, in order for the PF switching unit 216B to execute the virtual I / O switching process, it is necessary to notify the PF switching unit 216B that the PF switching starts from the PF switching unit 216A.

なお,仮想マシン3Aと仮想マシン3Bとの間の通信が,セキュリティの観点等により認められていない場合がある。このような場合には,例えば,PF切り替え部216A及びPF切り替え部216Bのみが使用することができる専用回線を用意し,この専用回線によって,PF切り替え部216AとPF切り替え部216Bとの通信を行うものであってよい。   Note that communication between the virtual machine 3A and the virtual machine 3B may not be permitted from the viewpoint of security. In such a case, for example, a dedicated line that can be used only by the PF switching unit 216A and the PF switching unit 216B is prepared, and communication between the PF switching unit 216A and the PF switching unit 216B is performed using the dedicated line. It may be a thing.

また,例えば,PFドライバ212によって制御されるPF251が運用中である場合,PF切り替え部216Bは,上記の専用回線を用いてPF切り替え部216AやPFドライバ212の動作を監視するものであってもよい。そして,PF切り替え部216A等の動作に異常があった場合に,PFドライバ212を経由してPF251を停止させ,PFドライバ214を介してPF261を起動させる等の処理を行う(S52,S59)。これにより,PF切り替え部216B側主導によるPFの切り替えを行うものであってもよい。   For example, when the PF 251 controlled by the PF driver 212 is in operation, the PF switching unit 216B may monitor the operation of the PF switching unit 216A and the PF driver 212 using the dedicated line. Good. If there is an abnormality in the operation of the PF switching unit 216A or the like, processing such as stopping the PF 251 via the PF driver 212 and starting the PF 261 via the PF driver 214 is performed (S52, S59). Thereby, PF switching by the PF switching unit 216B side may be performed.

次に,VF切り替え部217からVFの停止完了通知を受信したとき(S56のYES),例えば,PF切り替え部216Bは,記憶部230に記憶した構成情報231の取得をPFドライバ214に指示する(S57)。そして,PFドライバ214から構成情報を取得した旨の通知を受信したとき(S58のYES),例えば,PF切り替え部216Bは,PFドライバ214に切り替え先のPFであるPF261の起動を指示する。これにより,PFの切り替えが完了する。   Next, when a VF stop completion notification is received from the VF switching unit 217 (YES in S56), for example, the PF switching unit 216B instructs the PF driver 214 to acquire the configuration information 231 stored in the storage unit 230 ( S57). When the notification that the configuration information has been acquired is received from the PF driver 214 (YES in S58), for example, the PF switching unit 216B instructs the PF driver 214 to start the PF 261 that is the switching destination PF. Thereby, the PF switching is completed.

さらに,PFドライバ214からPF261の起動が完了した旨の通知を受信したとき(S60のYES),PF切り替え部216Bは,起動したPF261が制御するVF262の起動を,送受信中継部218を経由してVF切り替え部217に指示する(S61)。そして,VF切り替え部217からVF262の起動が完了した旨の通知を受信したとき,仮想I/O切り替え処理は完了する(S62のYES)。   Further, when the notification that the activation of the PF 261 is completed is received from the PF driver 214 (YES in S60), the PF switching unit 216B causes the activation of the VF 262 controlled by the activated PF 261 via the transmission / reception relay unit 218. The VF switching unit 217 is instructed (S61). When the notification that the activation of the VF 262 is completed is received from the VF switching unit 217, the virtual I / O switching process is completed (YES in S62).

このように,第2の実施の形態においては,PF切り替え部216A及びPF切り替え部216Bが位置している仮想マシンが異なる場合に,PF切り替え部216AからPF切り替え部216BにPFの切り替えを開始する旨の通知をPFの切り替えを行う前に行う。これにより,PF切り替え部216A及びPF切り替え部216Bが位置している仮想マシンが異なる場合においても,第1の実施の形態と同様にPFの切り替えを行うことが可能になる。   As described above, in the second embodiment, when the virtual machines on which the PF switching unit 216A and the PF switching unit 216B are located are different, the PF switching unit 216A starts to switch the PF to the PF switching unit 216B. This is notified before the PF is switched. As a result, even when the virtual machines in which the PF switching unit 216A and the PF switching unit 216B are located are different, it is possible to perform PF switching as in the first embodiment.

以上の実施の形態をまとめると,以下の付記のとおりである。   The above embodiment is summarized as follows.

(付記1)
物理マシンに設けられた第1及び第2の物理デバイスのリソースをそれぞれ割り当てることにより仮想マシンに作成された第1及び第2の仮想デバイスを,それぞれ制御する第1及び第2の制御部と,
前記第2の制御部からアクセス可能であり,前記第1の制御部が前記第1の仮想デバイスを制御するための第1の構成情報と同期した第2の構成情報を記憶する記憶部と,
前記第1の物理デバイスの状態が所定の状態になった場合,前記第2の制御部が前記記憶部から前記第2の構成情報を取得した後に,前記第1の制御部から前記第2の制御部への切り替えを行う第1の切り替え部と,を有する
情報処置装置。
(Appendix 1)
First and second control units for controlling the first and second virtual devices created in the virtual machine by allocating resources of the first and second physical devices respectively provided in the physical machine;
A storage unit that is accessible from the second control unit, and that stores second configuration information synchronized with the first configuration information for the first control unit to control the first virtual device;
When the state of the first physical device becomes a predetermined state, the second control unit acquires the second configuration information from the storage unit, and then receives the second configuration information from the first control unit. And a first switching unit that switches to the control unit.

(付記2)
付記1において,
前記第1の制御部は,前記第1の物理デバイスの状態を監視しており,
前記第1の切り替え部は,前記第1の物理デバイスが前記所定の状態になったことを前記第1の制御部が検知したときに,前記第1の制御部から前記第2の制御部への切り替えを行う情報処理装置。
(Appendix 2)
In Appendix 1,
The first control unit monitors a state of the first physical device;
When the first control unit detects that the first physical device is in the predetermined state, the first switching unit transfers from the first control unit to the second control unit. Information processing device that performs switching.

(付記3)
付記1において,
前記第2の制御部は,前記第2の物理デバイスの状態を監視しており,
前記第1の切り替え部は,前記第2の物理デバイスが前記所定の状態になったことを前記第2の制御部が検知したときに,前記第2の制御部から前記第1の制御部への切り替えを行う情報処理装置。
(Appendix 3)
In Appendix 1,
The second control unit monitors a state of the second physical device;
When the second control unit detects that the second physical device is in the predetermined state, the first switching unit transfers from the second control unit to the first control unit. Information processing device that performs switching.

(付記4)
付記2または3において,
前記所定の状態は,通常状態とは異なる状態である情報処理装置。
(Appendix 4)
In Appendix 2 or 3,
The information processing apparatus in which the predetermined state is different from a normal state.

(付記5)
付記1において,さらに,
前記第1の仮想デバイスの制御を行う第3の制御部を有し,
前記第1の切り替え部は,前記第1の制御部から前記第2の制御部への切り替えを行う前に,前記第1の仮想デバイスの停止を前記第3の制御部に指示する情報処理装置。
(Appendix 5)
In Appendix 1,
A third control unit for controlling the first virtual device;
The first switching unit instructs the third control unit to stop the first virtual device before switching from the first control unit to the second control unit. .

(付記6)
付記5において,さらに,
前記第2の仮想デバイスの制御を行う第4の制御部を有し,
前記第1の切り替え部は,前記第1の制御部から前記第2の制御部への切り替えを行った後に,前記第2の仮想デバイスの起動を前記第4の制御部に指示する情報処理装置。
(Appendix 6)
In Appendix 5,
A fourth control unit for controlling the second virtual device;
The first switching unit, after switching from the first control unit to the second control unit, instructs the fourth control unit to start the second virtual device. .

(付記7)
付記5または6において,さらに,
前記第1の切り替え部からの指示に基づいて,前記第3の制御部または前記第4の制御部へ指示を行う第2の切り替え部を有する情報処理装置。
(Appendix 7)
In Appendix 5 or 6,
An information processing apparatus having a second switching unit that gives an instruction to the third control unit or the fourth control unit based on an instruction from the first switching unit.

(付記8)
付記5または6において,さらに,
前記第1の切り替え部から前記第3の制御部または前記第4の制御部への指示を中継する中継部を有する情報処理装置。
(Appendix 8)
In Appendix 5 or 6,
An information processing apparatus including a relay unit that relays an instruction from the first switching unit to the third control unit or the fourth control unit.

(付記9)
付記1において,
前記第1の切り替え部は,前記第1の制御部を有する第1の仮想マシンに設けられた第3の切り替え部と,前記第2の制御部を有する第2の仮想マシンに設けられた第4の切り替え部とを含み,
前記第3の切り替え部は,前記第1の物理デバイスが所定の状態になったことを前記第1の制御部が検知したときに,前記第1の制御部から前記第2の制御部への切り替えを行い,
前記第4の切り替え部は,前記第2の物理デバイスが所定の状態になったことを前記第2の制御部が検知したときに,前記第2の制御部から前記第1の制御部への切り替えを行う情報処理装置。
(Appendix 9)
In Appendix 1,
The first switching unit includes a third switching unit provided in the first virtual machine having the first control unit, and a second virtual machine provided in the second virtual machine having the second control unit. 4 switching units,
When the first control unit detects that the first physical device is in a predetermined state, the third switching unit switches from the first control unit to the second control unit. Switch,
When the second control unit detects that the second physical device is in a predetermined state, the fourth switching unit switches from the second control unit to the first control unit. An information processing apparatus that performs switching.

(付記10)
付記1において,
前記記憶部は,前記第2の物理デバイスに設けられている情報処理装置。
(Appendix 10)
In Appendix 1,
The storage unit is an information processing apparatus provided in the second physical device.

(付記11)
付記1において,
前記物理デバイスは,PCI−SIG規格に基づくSingle Root I/O Virtualizationデバイスである情報処理装置。
(Appendix 11)
In Appendix 1,
The information processing apparatus is a single root I / O virtualization device based on the PCI-SIG standard.

(付記12)
物理マシンに設けられた第1及び第2の物理デバイスのリソースをそれぞれ割り当てることにより仮想マシンに作成した第1及び第2の仮想デバイスを制御する第1及び第2の制御部の切り替えを行う情報処理プログラムであって,
前記第1の制御部が前記第1の仮想デバイスを制御するための第1の構成情報と同期した第2の構成情報を,前記第2の制御部からアクセス可能である記憶部に記憶し,
前記第1の物理デバイスの状態が所定の状態になった場合,前記第2の制御部が前記記憶部から前記第2の構成情報を取得した後に,前記第1の制御部から前記第2の制御部への切り替えを行う,
処理をコンピュータに実行させる情報処理プログラム。
(Appendix 12)
Information for switching the first and second control units that control the first and second virtual devices created in the virtual machine by allocating the resources of the first and second physical devices provided in the physical machine, respectively. A processing program,
Storing the second configuration information synchronized with the first configuration information for the first control unit to control the first virtual device in a storage unit accessible from the second control unit;
When the state of the first physical device becomes a predetermined state, the second control unit acquires the second configuration information from the storage unit, and then receives the second configuration information from the first control unit. Switch to the control unit,
An information processing program that causes a computer to execute processing.

(付記13)
物理マシンに設けられた第1及び第2の物理デバイスのリソースをそれぞれ割り当てることにより仮想マシンに作成した第1及び第2の仮想デバイスを,それぞれ制御する第1及び第2の制御部を有する情報処理装置における情報処理方法であって,
前記第1の制御部が前記第1の仮想デバイスを制御するための第1の構成情報と同期した第2の構成情報を,前記第2の制御部からアクセス可能である記憶部に記憶する記憶工程と,
前記第1の物理デバイスの状態が所定の状態になった場合,前記第2の制御部が前記記憶部から前記第2の構成情報を取得した後に,前記第1の制御部から前記第2の制御部への切り替えを行う切り替え工程と,を有する
情報処理方法。
(Appendix 13)
Information having first and second control units that respectively control the first and second virtual devices created in the virtual machine by allocating resources of the first and second physical devices provided in the physical machine, respectively. An information processing method in a processing device,
Storage that stores second configuration information synchronized with first configuration information for the first control unit to control the first virtual device in a storage unit accessible from the second control unit Process,
When the state of the first physical device becomes a predetermined state, the second control unit acquires the second configuration information from the storage unit, and then receives the second configuration information from the first control unit. And a switching process for switching to the control unit.

1:管理サーバ 2:VMホスト
3:仮想マシン 3A:仮想マシン
3B:仮想マシン 3C:仮想マシン
4:仮想化ソフトウエア 216:PF切り替え部
217:VF切り替え部 221:構成情報
230:記憶部 231:構成情報
1: Management server 2: VM host 3: Virtual machine 3A: Virtual machine 3B: Virtual machine 3C: Virtual machine 4: Virtualization software 216: PF switching unit 217: VF switching unit 221: Configuration information 230: Storage unit 231: Configuration information

Claims (10)

物理マシンに設けられた第1及び第2の物理デバイスのリソースをそれぞれ割り当てることにより仮想マシンに作成された第1及び第2の仮想デバイスを,それぞれ制御する第1及び第2の制御部と,
前記第2の制御部からアクセス可能であり,前記第1の制御部が前記第1の仮想デバイスを制御するための第1の構成情報と同期した第2の構成情報を記憶する記憶部と,
前記第1の物理デバイスの状態が所定の状態になった場合,前記第2の制御部が前記記憶部から前記第2の構成情報を取得した後に,前記第1の制御部から前記第2の制御部への切り替えを行う第1の切り替え部と,を有する
情報処置装置。
First and second control units for controlling the first and second virtual devices created in the virtual machine by allocating resources of the first and second physical devices respectively provided in the physical machine;
A storage unit that is accessible from the second control unit, and that stores second configuration information synchronized with the first configuration information for the first control unit to control the first virtual device;
When the state of the first physical device becomes a predetermined state, the second control unit acquires the second configuration information from the storage unit, and then receives the second configuration information from the first control unit. And a first switching unit that switches to the control unit.
請求項1において,
前記第1の制御部は,前記第1の物理デバイスの状態を監視しており,
前記第1の切り替え部は,前記第1の物理デバイスが前記所定の状態になったことを前記第1の制御部が検知したときに,前記第1の制御部から前記第2の制御部への切り替えを行う情報処理装置。
In claim 1,
The first control unit monitors a state of the first physical device;
When the first control unit detects that the first physical device is in the predetermined state, the first switching unit transfers from the first control unit to the second control unit. Information processing device that performs switching.
請求項2において,
前記所定の状態は,通常状態とは異なる状態である情報処理装置。
In claim 2,
The information processing apparatus in which the predetermined state is different from a normal state.
請求項1において,さらに,
前記第1の仮想デバイスの制御を行う第3の制御部を有し,
前記第1の切り替え部は,前記第1の制御部から前記第2の制御部への切り替えを行う前に,前記第1の仮想デバイスの停止を前記第3の制御部に指示する情報処理装置。
In claim 1, further comprising:
A third control unit for controlling the first virtual device;
The first switching unit instructs the third control unit to stop the first virtual device before switching from the first control unit to the second control unit. .
請求項4において,さらに,
前記第2の仮想デバイスの制御を行う第4の制御部を有し,
前記第1の切り替え部は,前記第1の制御部から前記第2の制御部への切り替えを行った後に,前記第2の仮想デバイスの起動を前記第4の制御部に指示する情報処理装置。
In claim 4, further,
A fourth control unit for controlling the second virtual device;
The first switching unit, after switching from the first control unit to the second control unit, instructs the fourth control unit to start the second virtual device. .
請求項4または5において,さらに,
前記第1の切り替え部から前記第3の制御部または前記第4の制御部への指示を中継する中継部を有する情報処理装置。
In claim 4 or 5, further,
An information processing apparatus including a relay unit that relays an instruction from the first switching unit to the third control unit or the fourth control unit.
請求項1において,
前記記憶部は,前記第2の物理デバイスに設けられている情報処理装置。
In claim 1,
The storage unit is an information processing apparatus provided in the second physical device.
請求項1において,
前記物理デバイスは,PCI−SIG規格に基づくSingle Root I/O Virtualizationデバイスである情報処理装置。
In claim 1,
The information processing apparatus is a single root I / O virtualization device based on the PCI-SIG standard.
物理マシンに設けられた第1及び第2の物理デバイスのリソースをそれぞれ割り当てることにより仮想マシンに作成した第1及び第2の仮想デバイスを制御する第1及び第2の制御部の切り替えを行う情報処理プログラムであって,
前記第1の制御部が前記第1の仮想デバイスを制御するための第1の構成情報と同期した第2の構成情報を,前記第2の制御部からアクセス可能である記憶部に記憶し,
前記第1の物理デバイスの状態が所定の状態になった場合,前記第2の制御部が前記記憶部から前記第2の構成情報を取得した後に,前記第1の制御部から前記第2の制御部への切り替えを行う,
処理をコンピュータに実行させる情報処理プログラム。
Information for switching the first and second control units that control the first and second virtual devices created in the virtual machine by allocating the resources of the first and second physical devices provided in the physical machine, respectively. A processing program,
Storing the second configuration information synchronized with the first configuration information for the first control unit to control the first virtual device in a storage unit accessible from the second control unit;
When the state of the first physical device becomes a predetermined state, the second control unit acquires the second configuration information from the storage unit, and then receives the second configuration information from the first control unit. Switch to the control unit,
An information processing program that causes a computer to execute processing.
物理マシンに設けられた第1及び第2の物理デバイスのリソースをそれぞれ割り当てることにより仮想マシンに作成した第1及び第2の仮想デバイスを,それぞれ制御する第1及び第2の制御部を有する情報処理装置における情報処理方法であって,
前記第1の制御部が前記第1の仮想デバイスを制御するための第1の構成情報と同期した第2の構成情報を,前記第2の制御部からアクセス可能である記憶部に記憶する記憶工程と,
前記第1の物理デバイスの状態が所定の状態になった場合,前記第2の制御部が前記記憶部から前記第2の構成情報を取得した後に,前記第1の制御部から前記第2の制御部への切り替えを行う切り替え工程と,を有する
情報処理方法。
Information having first and second control units that respectively control the first and second virtual devices created in the virtual machine by allocating resources of the first and second physical devices provided in the physical machine, respectively. An information processing method in a processing device,
Storage that stores second configuration information synchronized with first configuration information for the first control unit to control the first virtual device in a storage unit accessible from the second control unit Process,
When the state of the first physical device becomes a predetermined state, the second control unit acquires the second configuration information from the storage unit, and then receives the second configuration information from the first control unit. And a switching process for switching to the control unit.
JP2014078644A 2014-04-07 2014-04-07 Information processing device, information processing program, and information processing method Pending JP2015201008A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014078644A JP2015201008A (en) 2014-04-07 2014-04-07 Information processing device, information processing program, and information processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014078644A JP2015201008A (en) 2014-04-07 2014-04-07 Information processing device, information processing program, and information processing method

Publications (1)

Publication Number Publication Date
JP2015201008A true JP2015201008A (en) 2015-11-12

Family

ID=54552222

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014078644A Pending JP2015201008A (en) 2014-04-07 2014-04-07 Information processing device, information processing program, and information processing method

Country Status (1)

Country Link
JP (1) JP2015201008A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111782442A (en) * 2020-06-23 2020-10-16 深圳威尔视觉传媒有限公司 Equipment exception handling method and system, electronic equipment and storage medium

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111782442A (en) * 2020-06-23 2020-10-16 深圳威尔视觉传媒有限公司 Equipment exception handling method and system, electronic equipment and storage medium
CN111782442B (en) * 2020-06-23 2024-01-12 深圳威尔视觉传媒有限公司 Device exception handling method, system, electronic device and storage medium

Similar Documents

Publication Publication Date Title
US9430266B2 (en) Activating a subphysical driver on failure of hypervisor for operating an I/O device shared by hypervisor and guest OS and virtual computer system
US10768960B2 (en) Method for affinity binding of interrupt of virtual network interface card, and computer device
US10503555B2 (en) Selecting type and quantity of application masters that need to be started in advance
US9448899B2 (en) Method, apparatus and system for switching over virtual application two-node cluster in cloud environment
EP3573312B1 (en) Node interconnection apparatus, resource control node, and server system
TWI453597B (en) System and method for management of an iov adapter through a virtual intermediary in an iov management partition
JP5332000B2 (en) COMPUTER COMPUTER DEVICE, COMPOSITE COMPUTER MANAGEMENT METHOD, AND MANAGEMENT SERVER
US9135101B2 (en) Virtual function timeout for single root input/output virtualization controllers
US20150052282A1 (en) System and Method for Virtual Machine Live Migration
US11461199B2 (en) Redundancy method, device, and system
EP3188008B1 (en) Virtual machine migration method and device
JP5770284B2 (en) I / O switch control method, virtual computer control method, and computer system
JP2013514588A5 (en)
JPWO2010126048A1 (en) High-speed migration system and management device for virtual device in computer system, method and program therefor
JP2010003061A (en) Computer system and method for changing i/o configuration thereof
US20110209148A1 (en) Information processing device, virtual machine connection method, program, and recording medium
WO2012004902A1 (en) Computer system and system switch control method for computer system
US20150277958A1 (en) Management device, information processing system, and management program
US20150372854A1 (en) Communication control device, communication control program, and communication control method
US9798563B2 (en) Network management device, information processing system, and program
JP2015201008A (en) Information processing device, information processing program, and information processing method
US9740641B2 (en) Information processing device, I/O system, and I/O control method
US9836319B2 (en) Information sharing program, information sharing system and information sharing method
US20140040663A1 (en) Information processing apparatus, computer readable storage medium, and collecting method