JP4295184B2 - 仮想計算機システム - Google Patents

仮想計算機システム Download PDF

Info

Publication number
JP4295184B2
JP4295184B2 JP2004271127A JP2004271127A JP4295184B2 JP 4295184 B2 JP4295184 B2 JP 4295184B2 JP 2004271127 A JP2004271127 A JP 2004271127A JP 2004271127 A JP2004271127 A JP 2004271127A JP 4295184 B2 JP4295184 B2 JP 4295184B2
Authority
JP
Japan
Prior art keywords
user
logical partition
physical
virtual
procedure
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.)
Expired - Fee Related
Application number
JP2004271127A
Other languages
English (en)
Other versions
JP2006085543A5 (ja
JP2006085543A (ja
Inventor
俊臣 森木
雄次 對馬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2004271127A priority Critical patent/JP4295184B2/ja
Priority to US11/195,742 priority patent/US20060064523A1/en
Publication of JP2006085543A publication Critical patent/JP2006085543A/ja
Publication of JP2006085543A5 publication Critical patent/JP2006085543A5/ja
Application granted granted Critical
Publication of JP4295184B2 publication Critical patent/JP4295184B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F2003/0697Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers device management, e.g. handlers, drivers, I/O schedulers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45579I/O management, e.g. providing access to device drivers or storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、仮想計算機システムに関し、複数の論理区画にI/Oデバイスを割り当てる技術に関する。
複数の論理区画上でOSを提供する仮想計算機システムでは、各論理区画のOSが物理的なI/OデバイスにそれぞれアクセスしてI/Oデバイスを利用または共有している。
このI/Oデバイスを複数の論理区画上のOSで利用する一例としては、第1の論理区画上のOSがI/Oデバイスにアクセスする場合、第2の論理区画上のOSにI/O要求を送り、第2の論理区画上のOSがI/Oデバイスにアクセスを行う。そして、アクセスの結果は、第1及び第2論理区画に共有された共有メモリを介して第1の論理区画のOSにI/Oアクセスの結果を伝えるものが知られている(例えば、特許文献1)。
また、ホストOS上で複数のゲストOSを提供する仮想計算機システムでは、ゲストOSをホストOSのアプリケーションとして稼動させ、ゲストOSからのI/O要求はホストOSが一元的にI/O要求を処理することで、I/Oデバイスの共有を行っている(例えば、特許文献2)。
米国特許出願公開第2002/0129172号明細書 米国特許第6,725、289号
しかしながら、上記特許文献1のような従来例では、各論理区画のOSが共有メモリを仮想的なI/Oデバイスとして認識する必要があるため、OSのI/O部分を変更するのに加え、このOSに応じた独自のI/Oデバイスドライバを用意する必要があるため、サポート可能なI/Oデバイスの種類が制限される。そして、上記特許文献1では、I/Oデバイスに障害やエラーが生じると、I/Oアクセスを第1の論理区画とI/Oデバイスの間で中継する第2の論理区画上のOSに影響が生じ、OSの停止などが発生する恐れがある。
また、上記特許文献2のような従来例では、ゲストOSはホストOSのアプリケーションとして動作するので、各ゲストOSに用意されたI/Oデバイスドライバを利用することができるので、例えば、ゲストOSとしてWindows(登録商標)やLINUX(登録商標)を用いれば、幅広いI/Oデバイスに対応することができる。しかしながら、I/Oデバイスに障害やエラーが発生した場合、ホストOSがI/Oデバイスの障害やエラーの影響を受けて停止する恐れがあり、他のI/Oデバイスへのアクセスも停止する恐れがある。
そこで本発明は、上記問題点に鑑みてなされたもので、I/Oデバイスの障害やエラーの影響が、ユーザが利用する論理区画へ波及するのを抑制することを目的とする。
本発明は、計算機に接続されたI/Oデバイスを、計算機の制御プログラム上で構築された複数の論理区画に割り当てるI/Oデバイスの制御方法において、前記制御プログラムが、前記複数の論理区画のうち、第一の論理区画をユーザに提供するユーザ用論理区画として設定する手順と、前記複数の論理区画のうち、前記第一の論理区画とは異なる第二の論理区画を物理的なI/Oデバイスを制御するためのI/O用論理区画として設定する手順と、前記ユーザ用論理区画でユーザ用OSを起動する手順と、前記I/O用論理区画に前記物理的なI/Oデバイスを割り当てる手順と、前記ユーザ用論理区画と前記I/O用論理区画との対応関係を設定する手順と、前記I/O用論理区画で前記物理的なI/OデバイスにアクセスするI/O用OSを起動する手順と、前記I/O用論理区画に割り当てられた前記物理的なI/Oデバイスと、前記ユーザ用論理区画に設定された仮想的なI/Oデバイスとの対応関係を設定する手順と、前記ユーザ用論理区画と前記I/O用論理区画との対応関係に基づいて、前記ユーザ用OSが属するユーザ用論理区画に対して前記仮想的なI/Oデバイスを提供する手順と、前記ユーザ用OSと前記I/O用OSとの間で、前記ユーザ用論理区画と前記I/O用論理区画との対応関係に基づいて、前記仮想的なI/Oデバイスを介して通信を行う手順と、前記I/O用OSと前記I/O用OSに割り当てられる前記物理的なI/Oデバイスとの間で通信を行う手順と、前記物理的なI/Oデバイスの動作を監視する手順と、前記物理的なI/Oデバイスに障害が発生した場合は、前記障害が発生した物理的なI/Oデバイスに割り当てられているI/O用論理区画で起動しているI/O用OSの動作を監視する手順と、前記I/O用OSの停止を検出した場合には、当該I/O用OSを再起動する手順と、を含むことを特徴とする。
したがって、本発明は、ユーザが利用するユーザ用論理区画と、I/Oデバイスを有するI/O用論理区画が独立して構成されるため、I/Oデバイスに故障やエラーなどが生じた場合であっても、ユーザ用論理区画に影響が波及するのを防止できる。
特に、ユーザ用論理区画ではユーザが利用するユーザ用OSを実行し、I/O用論理区画ではI/OデバイスにアクセスするI/O用OSが実行しており、I/Oデバイスに故障やエラーなどが生じてもI/O用OSのみが影響を受け、ユーザ用OSが停止するのを防止することができる。
以下、本発明の一実施形態を添付図面に基づいて説明する。
図1は、本発明の第1実施形態を示し、仮想計算機システムを動作させる物理計算機200の構成を示す。
物理計算機200は、複数のCPU201−0〜201−3を有し、これらのCPUはフロントサイドバス2を介してノースブリッジ(またはメモリコントローラ)203に接続される。
ノースブリッジ203には、メモリバス204を介してメモリ(主記憶)205が接続され、また、バス206を介してI/Oブリッジ207が接続される。I/Oブリッジ207にはPCIバスやPCIExpressなどで構成されるI/Oバス208を介してI/Oデバイス209に接続される。なお、I/Oバス208及びI/Oデバイス209はホットプラグ(ホットアド/ホットリムーブ)に対応したものである。
CPU201−0〜201−3はノースブリッジ203を介してメモリ205にアクセスし、ノースブリッジ203からI/Oブリッジ207を介してI/Oデバイス209にアクセスを行って所定の処理を行う。
なお、ノースブリッジ203はメモリ5を制御するとともに、グラフィックコントローラを含んでコンソール220にも接続され、画像の表示を行うことができる。
I/Oデバイス209としては、例えば、LAN213に接続されるネットワークアダプタ(以下、NIC)210、ディスク装置214等に接続されるSCSIアダプタ(以下、SCSI)211、SAN(Storage Area Network)に接続されるファイバーチャネルアダプタ(以下、FC)212からなり、NIC210、SCSI211、FC212はI/Oブリッジ208を介してCPU201−0〜201−3にアクセスされる。
なお、物理計算機200を構成するCPUは1つでも良いし、2つ以上であっても良い。
次に、物理計算機200上で仮想計算機を実現するソフトウェアについて、図2を参照しながら詳述する。
図2において、物理計算機200上では、ハードウェアリソース(計算機資源)を論理的に分割して論理区画(LPAR:Logical PARtition)を管理するハイパバイザ(ファームウェアまたはミドルウェア)10が稼動している。ハイパバイザ10は、物理計算機200を複数の論理区画(LPAR)に分割し、計算機資源の割り当てを管理する制御ソフトウェアである。
ハイパバイザ10は、物理計算機200の計算機資源を、ユーザに提供する論理区画であるユーザLPAR#0〜#n(図中11−0〜11−n)と、物理的なI/Oデバイス209へアクセスするための論理区画であるI/O_LPAR#0〜#m(図中12−0〜12−m)とに分割する。ユーザLPAR#0〜#nは、管理者などが設定した任意の数であるのに対し、I/O_LPAR#0〜#mの数は、I/Oデバイス209の数に等しく設定される。すなわち、I/OデバイスとI/O_LPARは1対1で対応し、図1のように、I/Oデバイス209が3つの場合、図3で示すように3つのI/O_LPAR#0〜#2が構成され、NIC210がI/O_LPAR#0に対応し、SCSI211がI/O_LPAR#1に対応し、FC212がI/O_LPAR#2に対応する。そして、各I/O_LPAR#0〜#2がNIC210、SCSI211、FC212のアクセスを独立して行う。
つまり、I/O_LPAR#0はNIC210のみのアクセスを行い、I/O_LPAR#1はSCSI211のアクセスを行い、I/O_LPAR#2はFC212のアクセスを行って、各I/O_LPAR#0〜#2は、単一のI/Oデバイスについてのみアクセスを行う。そして、各I/O_LPAR#0〜#2には、アクセスするI/Oデバイスが重複しないようにI/Oデバイスが割り当てられる。
ユーザLPAR#0〜#nでは、それぞれユーザが利用するOS(以下、ユーザOS)20−0〜20−nが稼動し、各ユーザOS上ではユーザアプリケーション21が実行される。
I/O_LPAR#0〜#mでは、ユーザOS20−0〜nからのI/Oアクセスに応じてI/Oデバイスへアクセスを行うI/O_OS(図中30−0〜m)が、各I/O_LPAR#0〜#mで実行される。
ハイパバイザ10は、後述するように割り当てられたユーザOSとI/O_OSの間で通信を行ってユーザOSからのI/Oアクセス要求をI/O_OSに伝え、I/O_OSがI/Oデバイス209のアクセスを行う。そして、一つのI/O_LPAR#0〜#mに対して複数のユーザLPAR#0〜#nを割り当てることで、複数のユーザOS#0〜#n間でI/Oデバイス209を共有することができる。
このため、ユーザLPAR#0〜#n上のユーザOSが利用するI/Oデバイスは、後述するI/Oデバイステーブル102によって設定され、I/Oデバイステーブル102に設定されたユーザLPAR#0〜#nとI/O_LPAR#0〜#mの関係に応じて、ユーザOS#0〜#nとI/Oデバイス209の関係が決定される。
また、I/O_OS30−0〜30−mでは、後述するようにI/O_OSの通信ドライバとデバイスドライバと間でアクセス要求を転送するI/Oアプリケーション31が実行される。
次に、ハイパバイザ10には、ユーザLPAR#0〜#nとI/O_LPAR#0〜#mとの間で通信を行う内部通信機構101と、ユーザLPAR#0〜#nが使用するI/Oデバイスを設定するI/Oデバイステーブル102と、ユーザLPAR#0〜#nがI/Oデバイスとしてアクセスを行う仮想デバイス103とが含まれている。
ユーザLPAR#0〜#nとI/O_LPAR#0〜#mは、内部通信機構101によって接続されて相互に通信を行うことができる。
また、仮想デバイス103は、ユーザLPAR#0〜#nとI/O_LPAR#0〜#mの間でコマンド及びデータの伝達を行うもので、ユーザOS#0〜#nからは実際のI/Oデバイス209として見える。
このため、仮想デバイス103には、仮想メモリマップドI/O及び仮想割込インターフェースが実装されて、ユーザOS#0〜#nからは実際のI/Oデバイス209として振る舞うことができる。なお、仮想割込インターフェースは、ユーザOSからのI/Oアクセス要求に応じた割り込みを受け付けて、ユーザLPAR側に通知するものである。
ユーザLPAR#0〜#nが使用するI/Oデバイスを設定したI/Oデバイステーブル102は、図3で示すように構成される。図3のI/Oデバイステーブル102では、一つのユーザLPARの番号を設定するフィールド1021と、ユーザLPARに割り当てられたI/OデバイスとしてI/O_LPARの番号を設定するフィールド1023と、I/O_LPAR番号に対応する実際のI/Oデバイスの名称(またはアドレス)を設定するフィールド1024と、実際のI/Oデバイスに対応する仮想デバイス103の名称(またはアドレス)を設定するフィールド1022とが一つの行に記載される。
図3では、後述の図5で示すユーザLPARとI/O_LPARの関係を示しており、ユーザLPAR#0がNIC210を使用する例であり、NIC210に対応するI/O_LPARの番号として#が設定され、NIC210に対応する仮想デバイスとして仮想NICが設定された例を示している。
ユーザLPAR#0〜#n及びI/O_LPAR#0〜#mは、I/Oデバイステーブル102を読み込んで、I/Oデバイス209をユーザLPAR#0〜#nで共有し、ユーザOS#0〜#nからのI/O要求を制御する。
次に、図4は、仮想デバイス103の一例として、仮想メモリマップドI/O(以下、MMI/O)で仮想デバイス103を構成した場合を示す。
メモリ205上の所定の領域には、仮想デバイス103を構成する仮想MMI/O1030が設定される。ユーザOS#0〜#n及びI/O_LPAR#0〜#mは、仮想MMI/O1030の所定の領域をコントロールブロック(コントロールレジスタ)1031とし、このコントロールブロック1031にコマンドやステータス、オーダーを書き込むことで、ユーザOS#0〜#nからのI/Oアクセス要求と、実際のI/Oデバイス209からの応答を伝達する。
次に、ユーザOS#0〜#nからのI/Oアクセス要求の概要を以下に説明する。
ユーザLPAR上のユーザOS#0〜#nは、アプリケーション21などからI/Oアクセス要求があると各ユーザOS#0〜#2が提供する仮想デバイス103(仮想MMI/O)に対してアクセスを行い、ユーザOS#0〜#nはI/Oデバイステーブル102を参照して、仮想デバイス103に対応するI/O_LPARを特定し、仮想デバイス103へのアクセスをI/O_OS#0〜#mに通知する。
通知を受けたI/O_OS#0〜#mは、後述の通信ドライバ、I/Oアプリケーション31、I/O_OS#0〜#mのデバイスドライバを介して仮想デバイス103からユーザOS#0〜#nの要求を読み込み、I/Oデバイス209に対してアクセスを行う。
そして、I/O_OS#0〜#mは、I/Oデバイスに対するアクセスの結果を仮想デバイス103に通知して一連のI/Oアクセスを完了する。
したがって、後述のようにユーザOSは、直接物理的なI/Oデバイス209にアクセスするのではなく、ハイパバイザ10上の仮想デバイス103にアクセスを行い、実際のI/Oデバイス209にはI/O_OSがアクセスを行うため、I/Oデバイスに障害やエラーが発生しても、I/O_OSがこの影響を受ける場合があるものの、ユーザOSはI/Oデバイスの影響を受けることがなく、ユーザOSが停止するのを確実に防止できる。
なお、上記では仮想デバイス103をMMI/Oで実現する例を示したが、仮想的なI/Oレジスタなどにより仮想デバイス103を実現しても良い。
図5は上記図1の構成で、3つのユーザLPAR#0〜#2で3つのI/Oデバイスを利用する場合の仮想計算機の一例を示したものである。
ハイパバイザ10は、I/Oデバイス209として3つのデバイスがあるので、3つのI/O_LPAR#0〜#2を構成する。そして、ハイパバイザ10はI/O_LPAR#0をNIC210に割り当て、I/O_LPAR#1をSCSI211に割り当て、I/O_LPAR#2をFC212に割り当てる。
また、ハイパバイザ10は、管理者などからの指令に基づいて所定数のユーザLPARを構成する。ここでは、3つのユーザLPAR#0〜#2を構成するものとする。そして、ハイパバイザ10は、管理者などからの指令に基づいて、各ユーザLPARが使用するI/Oデバイスを決定し、上記図3のI/Oデバイステーブル102を作成または更新する。
ここで、各ユーザLPARが利用するI/Oデバイスの設定は、コンソール220から管理者が図3に示したI/Oデバイステーブル102を管理インターフェースとしてディスプレイなどに表示し、各ユーザLPARとI/O_LPARの関係を設定する。
この例では、ユーザOS#0がNIC210を利用し、ユーザOS#1がSCSI211を利用し、ユーザOS#2がFC212を利用する例を示している。なお、各I/Oデバイスは、複数のユーザOSで共有することができる。なお、図中管理インターフェースは、図3に示したI/Oデバイステーブル102のイメージをGUIにより操作する例を示す。この管理インターフェースは、GUIに限らずCUI(Character User Interface)などで構成することができる。
ユーザOS#0はアプリケーション21などからI/Oアクセス要求があると、デバイスドライバ22からユーザLPAR#0上の仮想NIC210Vにアクセスを行う。なお、仮想NIC210Vは実際のNIC210をユーザLPAR#0上に仮想化したもので、上述のMMI/O及び仮想割り込みインターフェースにより提供される。
ハイパバイザ10は、仮想NIC210Vの実体を管理するI/O_LPAR#0上のI/O_OS#0にI/Oアクセス要求を転送する。この転送は、I/O_OS#0の通信ドライバ32で行われる。通信ドライバ32はアクセス要求をI/Oアプリケーション31に通知し、I/Oアプリケーション31は、通信ドライバ32が受信したアクセス要求をデバイスドライバ33に転送し、デバイスドライバ33が物理的なI/OデバイスであるNIC210にアクセスを行う。
I/Oアクセスの結果は、上記の逆であり、I/O_OS#0のデバイスドライバ33から通信ドライバ32を介してユーザLPAR#0上の仮想NIC210Vに送られ、ユーザOS#0に送られる。
ユーザOS#1も上記ユーザOS#0と同様にして、ユーザOS#1のデバイスドライバ22、実際のSCSI211をユーザLPAR#1上に仮想化した仮想SCSI211V、I/O_OSの通信ドライバ32、I/Oアプリケーション31、デバイスドライバ33を介して実際のSSCSI211へI/Oアクセスを行う。
ユーザOS#2も上記ユーザOS#0と同様にして、ユーザOS#2のデバイスドライバ22、実際のFC212をユーザLPAR#2上に仮想化した仮想FC212V、I/O_OSの通信ドライバ32、I/Oアプリケーション31、デバイスドライバ33を介して実際のFC212へI/Oアクセスを行う。
なお、ユーザOS#0〜#2のデバイスドライバ22及びI/O_OS#0〜#2のデバイスドライバ33は、各ユーザOS#0〜#2及びI/O_OS#0〜#2が提供するものを利用できるため、独自のドライバを作成する必要がなく、幅広いI/Oデバイス209に対応することができる。
図6は、I/Oデバイス209(NIC210、SCSI211、FC212のいずれか)で障害が発生したときに物理計算機200(仮想計算機システム)で行われる処理のフローチャートを示す。
I/Oデバイス209のいずれかで、I/Oアクセス要求に対する応答がタイムアウトした場合等は、ハイパバイザ10はI/Oデバイス209の故障と判定して以下の処理を行う。
S1では、物理的なI/Oデバイス209が属するI/O_LPARをI/Oデバイステーブル102から特定し、このI/O_LPAR上のI/O_OSが動作を継続可能であるか否かを判定する。この判定は、例えばハイパバイザ10からI/O_OSに問い合わせを行って、I/O_OSの応答の有無などに応じて判定する。
該当するI/O_OSが動作を継続できないと判定した場合にはS2へ進み、動作継続可能と判定した場合にはS7へ進む。
S2では、ハイパバイザ10は該当するI/O_OSの停止を検出し、S3に進んでコンソール220などから所定の管理インターフェースを用いて、停止したI/O_OSが管理するI/Oデバイスに故障などの障害が発生したことを通知する。
次に、S4では、コンソール220などから管理者がI/O_OSのリセットを指令すると、S5に進んで、ハイパバイザ10は障害のあったI/O_LPAR上のI/O_OSをリセットする。
そして、S6ではリセットしたI/O_OSが正常に再起動したことを確認して処理を終了する。
一方、上記S1でI/O_OSが動作継続可能と判定した場合のS7では、障害のあったI/Oデバイス209を管理するI/O_OSが、I/Oデバイス209に関する障害のログを取得する。その後、S8でI/O_OSが予め設定した障害回復処理を行ってから、S9に進みI/O_OSは上記取得したI/Oデバイスの障害ログをハイパバイザ10に対して送信する。
そしてハイパバイザ10は、I/O_OSからの障害ログを、所定の管理インターフェースを用いてコンソール220などから管理者に通知し、障害の内容を伝える。
上記より、I/Oデバイス209に障害が発生しても、ユーザOSが稼動するLPARとI/O_OSが稼動するLPARは異なる論理区画であるため、ユーザOSにI/Oデバイス209の故障などの影響が波及するのを防止できる。
そして、I/O_OSが動作継続不能な場合には、該当するI/O_OSのみをリセットすることができるので、ユーザOS上のアプリケーション21が提供するサービスを停止することなく、I/O_OSの再起動を行って、I/Oデバイス209の回復を行うことができる。また、障害のあったI/O_OSが動作継続可能な場合には、ハイパバイザ10が管理者に対してI/Oデバイス209の障害状況を自動的に通知できるので、仮想計算機の保守・管理を容易にすることができる。
なお、上記では障害により停止したI/O_OSのリセット指示を管理者が行う例を示したが、ハイパバイザ10がリセットの指示を行うこともできる。
図7は、新たなI/Oデバイス209がI/Oバス208に挿入(ホットアド)されたときに物理計算機200で行われる処理の一例を示すフローチャートである。
S21では、ハイパバイザ10はI/Oバス208を監視して、新たなI/Oデバイスの追加を検出し、S22へ進む。
S22では、所定の管理インターフェースを介してコンソール220などから管理者に新たなI/Oデバイスを検出したことを通知する。S23では、管理者が新たなI/Oデバイスに対応するI/O_LPARの作成の有無を指示し、I/O_LPARの作成が必要な場合には、新たなI/Oデバイスに対応するI/O_LPARの作成をハイパバイザ10に指示し、そうでない場合には、S25へ進む。
S24では、ハイパバイザ10が、新たなI/Oデバイスに対応するI/O_LPARを作成する。
S25では、管理者の指示に基づいて、新たなI/OデバイスをI/O_LPARに割り当てる。すなわち、I/Oデバイステーブル102上では、フィールド1023にI/O_LPARの番号が設定され、フィールド1024にI/Oデバイス名が設定されて、同一行のユーザLPARのフィールド1021、1022が空欄の状態となる。
S26では、管理者の指示に基づいて、新たなI/OデバイスとユーザLPARの対応付けを設定する。すなわち、I/Oデバイステーブル102上では、ユーザLPARに関して空欄となっていた新たなI/OデバイスのI/O_LPARに対して、ユーザLPARと仮想デバイス103の対応付けが行われる。
そして、S27では、ハイパバイザ10が物理的なI/Oデバイスに対応する仮想デバイス103を作成する。そしてS28では、ハイパバイザ10が、上記S26で対応付けを行ったユーザLPARに対して新たな仮想デバイス103が追加されたことを通知する。
そして、ハイパバイザ10は、新たなI/Oデバイスが新たなI/O_LPARに割り当てられた場合には、新たなI/O_OSを起動する。これにより、ユーザOSは、新たなI/Oデバイスを任意に追加した場合でも利用可能となる。
図8は、ユーザLPAR側からI/Oアクセス要求を行った場合に物理計算機200で行われる処理の一例を示すフローチャートである。
S31では、I/Oアクセス要求があると、ユーザLPAR上で稼動するユーザOSのデバイスドライバが、仮想デバイス103(仮想NIC210Vなど)としての仮想MMI/O1030のコントロールブロック1031にアクセスする。
S32では、ハイパバイザ10が、仮想デバイスと物理I/Oデバイスの対応関係を決定するI/Oデバイステーブル102を参照し、アクセスが行われた仮想デバイスに対応するI/O_LPARを特定する。
S33では、ハイパバイザ10は、アクセスが行われた仮想MMI/Oに対応するI/O_LPAR上のI/O_OSにアクセスを転送する。
S34では、I/O_OSの通信ドライバ32が仮想MMI/O1030へのアクセス要求を受信して、仮想MMI/O1030の内容を取得する。
次に、S35では通信ドライバ32から受信通知を受けたI/O_OS上のI/Oアプリケーション31が、通信ドライバ32からアクセス要求を読み込んで、I/Oデバイスを制御するデバイスドライバ33にアクセス要求を転送する。
S36では、I/O_OSのデバイスドライバ33が、物理的なI/Oデバイスに対してアクセスを実行する。
以上の処理により、ユーザOS側から仮想デバイス103、I/O_LPARのI/O_OSに組み込まれた通信ドライバ32、I/Oアプリケーション31、デバイスドライバ33を介して物理的なI/Oデバイス209にアクセスが行われる。
次に、図9は、I/Oデバイス209がI/Oバス208から取り外された(ホットリムーブ)ときに物理計算機200で行われる処理の一例を示すフローチャートである。
S41では、ハイパバイザ10はI/Oバス208を監視して、I/Oデバイスの取り外しを検出し、S22へ進む。
S42では、ハイパバイザ10が、取り外されたI/Oデバイスに対応するI/O_LPAR、仮想デバイス103を特定し、このI/O_LPARを利用するユーザLPARを特定する。
S43では、取り外されたI/Oデバイスを利用する全てのユーザOSに仮想デバイス103の取り外しを通知する。
S44では、仮想デバイス103を取り外す全てのユーザLPAR上のユーザOSから、仮想デバイス103の取り外しの処理が完了したか否かを判定し、全ユーザOSで取り外しの処理が完了するのを待つ。
全てのユーザOSで仮想デバイス103の取り外し処理が完了すると、S45で取り外されたI/Oデバイスに対応する仮想デバイス103を削除して処理を終了する。
これにより、ユーザLPAR上のユーザOSが取り外し処理を完了するのを待ってから、仮想デバイス103を削除するので、I/Oデバイスの取り外しを安全に行うことが可能となる。
<第2実施形態>
図10は第2の実施形態を示し、前記第1実施形態の構成で、図5に示したI/O_OS#0〜#2から、通信ドライバ32とデバイスドライバ33との間でI/Oアクセスを連携するI/Oアプリケーション31の機能をI/O_OS#0〜#2の内部に取り込んで、I/Oアプリケーション31を不要としたものである。
NIC210に対してアクセスを行うI/O_LPAR#0上のI/O_OS#0’(図中300−0)は、ユーザLPAR#0上の仮想NIC210Vと通信を行う通信ドライバ32と、NIC210に対して実際のI/Oアクセスを行うデバイスドライバ33との間で、I/Oアクセスの伝達を行う機能を含む。
同様に、SCSI211に対してアクセスを行うI/O_LPAR#1上のI/O_OS#1’(図中300−1)は、ユーザLPAR#1上の仮想SCSI211Vと通信を行う通信ドライバ32と、SCSI211に対して実際のI/Oアクセスを行うデバイスドライバ33との間で、I/Oアクセスの伝達を行う機能を含む。
また、FC212に対してアクセスを行うI/O_LPAR#2上のI/O_OS#2’(図中300−2)は、ユーザLPAR#2上の仮想FC212Vと通信を行う通信ドライバ32と、FC212に対して実際のI/Oアクセスを行うデバイスドライバ33との間で、I/Oアクセスの伝達を行う機能を含む。
この場合も、前記第1実施形態と同様にして、I/Oデバイスに障害が生じた場合でも、ユーザOS#0〜#2が停止するのを防ぐことが可能になり、信頼性の高い仮想計算機を提供することができる。
<第3実施形態>
図11は第3の実施形態を示し、前記第1実施形態の構成でNIC210とSCSI211を、3つのユーザOS#0〜#2で共有する場合を示す。なお、図中前記第1実施形態と同様のものには、同一の符号を付して重複説明を省略する。
I/Oデバイステーブル102には、各ユーザLPAR#0〜#2にNIC210を有するI/OLPAR#0と、SCSI211を有するI/OLPAR#1がそれぞれ割り当てられる。
このI/Oデバイステーブル102のI/OLPAR#0、1の割り当てに基づいて、ハイパバイザ10は、各ユーザLPAR#0〜#2に、仮想デバイス103として仮想NIC210V−0〜210V−2と、仮想SCSI211V−0〜211V−2を作成する。
そして、各ユーザOS#0〜#2には、仮想NIC210V−0〜210V−2と、仮想SCSI211V−0〜211V−2に対応するデバイスドライバ22A、22Bが組み込まれる。
NIC210のI/Oアクセスを行うI/OLPAR#0上のI/O_OS#0では、ユーザLPAR#0〜#2の仮想NIC210V−0〜210V−2のいずれとI/Oアクセスを行うかを決定する調停部34が機能している。
この調停部34は、例えば、ユーザLPAR#0上の仮想NIC210V−0を介して、ユーザOS#0がI/O_OS#0との間でI/Oアクセスを行っているときには、他のユーザOS#1、#2(ユーザLPAR#1、#2)からのアクセスを待機状態とする。そして、ユーザOS#0のI/Oアクセスが終了した後に、他のユーザOS#1、#2からのI/Oアクセスを受け付ける。
同様に、SCSI211のI/Oアクセスを行うI/OLPAR#1上のI/O_OS#1では、ユーザLPAR#0〜#2の仮想SCSI211V−0〜211V−2のいずれとI/Oアクセスを行うかを決定する調停部34が機能している。
この調停部34は、例えば、ユーザLPAR#1上の仮想SCSI211V−0を介して、ユーザOS#1がI/O_OS#1との間でI/Oアクセスを行っているときには、他のユーザOS#0、#2(ユーザLPAR#0、#2)からのアクセスを待機状態とする。そして、ユーザOS#1のI/Oアクセスが終了した後に、他のユーザOS#0、#2からのI/Oアクセスを受け付ける。
以上のように、一つのI/Oデバイス(I/OLPAR)を複数のユーザOS#0〜#2で共有する場合には、各I/O_OSに設けた調停部34により、複数のユーザOS#0〜#2からのI/Oアクセス要求を選択的に行うことで、複数のユーザOS#0〜#2でひとつのI/Oデバイスを共有することを実現できる。
<第4実施形態>
図12は第4の実施形態を示し、前記第3実施形態の構成でSCSI211に代わって、第2のネットワークアダプタNIC220を3つのユーザOS#0〜#2で共有する場合を示し、同種のI/Oデバイスを複数のユーザOSで共有する例であり、前記第3実施形態と同様のものには、同一の符号を付して重複説明を省略する。
本第4実施形態では、I/OLPAR#1は、NIC220(図中NIC#B)を有し、I/O_OS#1はNIC220のI/Oアクセスを行う。
I/Oデバイステーブル102には、各ユーザLPAR#0〜#2にNIC210を有するI/OLPAR#0と、NIC220を有するI/OLPAR#1がそれぞれ割り当てられる。
このI/Oデバイステーブル102のI/OLPAR#0、1の割り当てに基づいて、ハイパバイザ10は、各ユーザLPAR#0〜#2に、仮想デバイス103としてNIC210(図中NIC#A)に対応する仮想NIC210V−0〜210V−2と、NIC220(図中NIC#B)に対応する仮想NIC220V−0〜220V−2を作成する。
そして、各ユーザOS#0〜#2には、仮想NIC210V−0〜210V−2と、仮想NIC220V−0〜220V−2に対応するデバイスドライバ22A、22Bが組み込まれる。
NIC210のI/Oアクセスを行うI/OLPAR#0上のI/O_OS#0では、ユーザLPAR#0〜#2の仮想NIC210V−0〜210V−2のいずれとI/Oアクセスを行うかを決定する調停部34が機能している。
NIC220のI/Oアクセスを行うI/OLPAR#1上のI/O_OS#1では、ユーザLPAR#0〜#2の仮想NIC220V−0〜220V−2のいずれとI/Oアクセスを行うかを決定する調停部34が機能している。
I/O_OS#0、#1の調停部34は、前記第3実施形態と同様であり、例えば、ユーザLPAR#0上の仮想NIC210V−0を介して、ユーザOS#0がI/O_OS#0との間でI/Oアクセスを行っているときには、他のユーザOS#1、#2(ユーザLPAR#1、#2)からのアクセスを待機状態とする。そして、ユーザOS#0のI/Oアクセスが終了した後に、他のユーザOS#1、#2からのI/Oアクセスを受け付ける。
以上のように、同種の複数のI/Oデバイス(I/OLPAR)を複数のユーザOS#0〜#2で共有する場合には、各I/O_OSに設けた調停部34により、複数のユーザOS#0〜#2からのI/Oアクセス要求を選択的に行うことで、複数のユーザOS#0〜#2で同種のI/Oデバイスを共有することを実現できる。
なお、上記各実施形態では、I/OデバイスとI/OLPARを1対1で対応させる場合を示したが、複数のI/OデバイスをI/Oグループとしてグループ化し、このI/OグループをひとつのI/OLPARとしてユーザLPARに提供することができる。例えば、NIC210とSCSI211を一つのユーザLPAR#0に含め、I/O_OS#0によってI/Oアクセスを行ってもよい。
以上のように、本発明はI/Oデバイスの障害の影響をユーザOSへ波及するのを阻止できるため、信頼性の高い仮想計算機に適用することができる。
本発明の仮想計算機を実現する物理計算機のハードウェア構成を示すブロック図である。 同じく仮想計算機システムのソフトウェア構成を示すブロック図である。 I/Oデバイステーブルの一例を示す説明図。 仮想デバイスの一例を示し、メモリマップドI/Oの説明図。 仮想計算機システムの全体的な機能を示すブロック図である。 障害が発生した場合の仮想計算機システムの処理の流れを示すフローチャート。 I/Oデバイスをホットプラグした場合の仮想計算機システムの処理の流れを示すフローチャート。 I/Oアクセスがあった場合の仮想計算機システムの処理の流れを示すフローチャート。 I/Oデバイスをホットリムーブした場合の仮想計算機システムの処理の流れを示すフローチャート。 第2の実施形態を示し、仮想計算機システムの全体的な機能を示すブロック図である。 第3の実施形態を示し、仮想計算機システムの全体的な機能を示すブロック図である。 第4の実施形態を示し、仮想計算機システムの全体的な機能を示すブロック図である。
符号の説明
10 ハイパバイザ
11−0〜11−2 ユーザLPAR
12−0〜12−2 I/OLPAR
20−0〜20−2 ユーザOS
22 デバイスドライバ
31 I/Oアプリケーション
100 物理計算機
101 内部通信機構
102 I/Oデバイステーブル
103 仮想デバイス
209 I/Oデバイス

Claims (9)

  1. 計算機に接続されたI/Oデバイスを、計算機の制御プログラム上で構築された複数の
    論理区画に割り当てるI/Oデバイスの制御方法において、
    前記制御プログラムが、
    前記複数の論理区画のうち、第一の論理区画をユーザに提供するユーザ用論理区画として設定する手順と、
    前記複数の論理区画のうち、前記第一の論理区画とは異なる第二の論理区画を物理的なI/Oデバイスを制御するためのI/O用論理区画として設定する手順と、
    前記ユーザ用論理区画でユーザ用OSを起動する手順と、
    前記I/O用論理区画に前記物理的なI/Oデバイスを割り当てる手順と、
    前記ユーザ用論理区画と前記I/O用論理区画との対応関係を設定する手順と、
    前記I/O用論理区画で前記物理的なI/OデバイスにアクセスするI/O用OSを起動する手順と、
    前記I/O用論理区画に割り当てられた前記物理的なI/Oデバイスと、前記ユーザ用論理区画に設定された仮想的なI/Oデバイスとの対応関係を設定する手順と、
    前記ユーザ用論理区画と前記I/O用論理区画との対応関係に基づいて、前記ユーザ用OSが属するユーザ用論理区画に対して前記仮想的なI/Oデバイスを提供する手順と、
    前記ユーザ用OSと前記I/O用OSとの間で、前記ユーザ用論理区画と前記I/O用論理区画との対応関係に基づいて、前記仮想的なI/Oデバイスを介して通信を行う手順と、
    前記I/O用OSと前記I/O用OSに割り当てられる前記物理的なI/Oデバイスとの間で通信を行う手順と、
    前記物理的なI/Oデバイスの動作を監視する手順と、
    前記物理的なI/Oデバイスに障害が発生した場合は、前記障害が発生した物理的なI/Oデバイスに割り当てられているI/O用論理区画で起動しているI/O用OSの動作を監視する手順と、
    前記I/O用OSの停止を検出した場合には、当該I/O用OSを再起動する手順と、
    を含むことを特徴とするI/Oデバイスの制御方法。
  2. 前記ユーザ用OSと前記I/O用OSとの間で、前記ユーザ用論理区画と前記I/O用論理区画との対応関係に基づいて前記仮想的なI/Oデバイスを介して通信を行う手順は、
    前記ユーザ用OSが前記仮想的なI/Oデバイスにアクセスする手順と、
    前記仮想的なI/Oデバイスから前記I/O用OSにアクセスを転送する手順と、を含み、
    前記I/O用OSと、前記I/O用OSに割り当てられる前記物理的なI/Oデバイスとの間で、通信を行う手順は、
    前記I/O用OSに転送されたアクセスを、前記I/O用OSに割り当てられる物理的なI/Oデバイスに転送する手順を含むことを特徴とする請求項1に記載のI/Oデバイスの制御方法。
  3. 前記I/O用OSが、前記物理的なI/Oデバイスの障害により停止しない場合は、当該物理的なI/O用デバイスの障害に関するログを取得する手順を含むことを特徴とする請求項1に記載のI/Oデバイスの制御方法。
  4. 前記I/Oデバイスのホットプラグを監視する手順と、
    新たな物理的なI/Oデバイスを検出した場合には、当該物理的なI/Oデバイスを前記I/O用論理区画に割り当てる手順と、
    当該I/O用論理区画をユーザ用論理区画に割り当てる手順と、
    前記ユーザ用論理区画のユーザ用OSに、仮想的なI/Oデバイスの追加を通知する手順と、
    前記ユーザ用論理区画に当該物理的なI/Oデバイスに対応する仮想的なI/Oデバイスを提供する手順と、
    を含むことを特徴とする請求項1に記載のI/Oデバイスの制御方法。
  5. 前記物理的なI/Oデバイスのホットリムーブを監視する手順と、
    前記物理的なI/Oデバイスのホットリムーブを検出した場合には、当該I/Oデバイスを前記I/O用論理区画から削除する手順と、
    前記ユーザ用論理区画と前記I/O用論理区画との対応関係から、当該I/Oデバイスを削除したI/O用論理区画を利用するユーザ用OSを特定する手順と、
    前記特定したユーザ用OSのユーザ用論理区画で、前記削除したI/Oデバイスに対応する仮想的なI/Oデバイスを削除する手順と、
    前記ユーザ用OSに、前記対応する仮想的なI/Oデバイスの削除を通知する手順と、
    を含むことを特徴とする請求項1に記載のI/Oデバイスの制御方法。
  6. 仮想計算機システムであって、
    物理計算機を複数の論理区画に分割し、各論理区画上でそれぞれOSを動作させ、前記各論理区画に対する物理計算機の資源の割当を制御するハイパバイザを備え、
    前記ハイパバイザは、
    前記複数の論理区画のうち、第一の論理区画をユーザに提供するユーザ用論理区画に設定し、ユーザが利用するユーザ用OSを制御するユーザ用論理区画設定部と、
    前記複数の論理区画のうち、前記第一の論理区画とは異なる第二の論理区画を、前記物理計算機の物理的なI/Oデバイスを制御するためのI/O用論理区画に設定し、前記物理的なI/OデバイスにアクセスするI/O用OSを制御するI/O用論理区画設定部と、
    前記I/O用論理区画に前記物理的なI/Oデバイスを割り当てるI/Oデバイス割り当て部と、
    前記ユーザ用論理区画と前記I/O用論理区画との対応関係を設定するI/Oデバイステーブルと、
    前記ユーザ用論理区画と前記I/O用論理区画の対応関係に基づいて、前記ユーザ用OSが属するユーザ用論理区画に対して仮想的なI/Oデバイスを提供するI/Oデバイス提供部と、
    前記I/Oデバイステーブルの設定に基づいて前記ユーザ用OSと前記I/O用OSとの間で前記仮想的なI/Oデバイスを介して通信を行い、前記通信を行うI/O用OSと前記物理的なI/Oデバイスとの間で通信を行う内部通信部と、を有し、
    前記I/O用論理区画設定部は、監視部を有し、
    前記監視部は、前記物理的なI/Oデバイスの動作を監視し、前記物理的なI/Oデバイスに障害が発生した場合は、前記障害が発生した物理的なI/Oデバイスに割り当てられているI/O用論理区画で起動しているI/O用OSの動作を監視し、前記I/O用OSの停止を検出した場合には、当該I/O用OSを再起動することを特徴とする仮想計算機システム。
  7. 前記内部通信部は、
    前記ユーザ用OSが前記仮想的なI/Oデバイスにアクセスし、前記仮想的なI/Oデバイスから前記I/O用OSにアクセスを転送し、前記I/O用OSに転送されたアクセスを、前記I/O用OSに割り当てられる物理的なI/Oデバイスに転送することを特徴とする請求項6に記載の仮想計算機システム。
  8. 前記監視部は、さらに、前記I/O用OSが、前記物理的なI/Oデバイスの障害により停止しない場合は、当該物理的なI/Oデバイスの障害に関するログを取得することを特徴とする請求項6に記載の仮想計算機システム。
  9. 前記I/O用論理区画設定部は、前記物理的なI/Oデバイスのホットプラグまたはホットリムーブを検出するI/Oデバイス監視部を有し、
    前記I/Oデバイス監視部は、
    物理的なI/Oデバイスのホットプラグを検出した場合は、当該新たな物理的なI/Oデバイスを前記I/O用論理区画に割り当て、
    前記ユーザ用論理区画のユーザ用OSに仮想的なI/Oデバイスの追加を通知し、
    前記I/Oデバイステーブルの設定を更新し、
    前記ユーザ用論理区画に当該新たな物理的なI/Oデバイスに対応する仮想的なI/Oデバイスを提供し、
    前記物理的なI/Oデバイスのホットリムーブを検出した場合は、当該物理的なI/Oデバイスを前記I/O用論理区画から削除し、
    前記ユーザ用論理区画と前記I/O用論理区画との対応関係から、前記物理的なI/Oデバイスを削除した前記I/O用論理区画を利用するユーザ用OSを特定し、
    特定したユーザ用OSのユーザ用論理区画で、前記削除した物理的なI/Oデバイスに対応する仮想的なI/Oデバイスを削除し、
    前記ユーザ用OSに、前記対応する仮想的なI/Oデバイスの削除を通知することを特徴とする請求項6に記載の仮想計算機システム。
JP2004271127A 2004-09-17 2004-09-17 仮想計算機システム Expired - Fee Related JP4295184B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004271127A JP4295184B2 (ja) 2004-09-17 2004-09-17 仮想計算機システム
US11/195,742 US20060064523A1 (en) 2004-09-17 2005-08-03 Control method for virtual machine

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004271127A JP4295184B2 (ja) 2004-09-17 2004-09-17 仮想計算機システム

Publications (3)

Publication Number Publication Date
JP2006085543A JP2006085543A (ja) 2006-03-30
JP2006085543A5 JP2006085543A5 (ja) 2007-06-07
JP4295184B2 true JP4295184B2 (ja) 2009-07-15

Family

ID=36075313

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004271127A Expired - Fee Related JP4295184B2 (ja) 2004-09-17 2004-09-17 仮想計算機システム

Country Status (2)

Country Link
US (1) US20060064523A1 (ja)
JP (1) JP4295184B2 (ja)

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7890669B2 (en) * 2005-11-25 2011-02-15 Hitachi, Ltd. Computer system for sharing I/O device
US7814495B1 (en) * 2006-03-31 2010-10-12 V Mware, Inc. On-line replacement and changing of virtualization software
US8677034B2 (en) * 2006-04-28 2014-03-18 Hewlett-Packard Development Company, L.P. System for controlling I/O devices in a multi-partition computer system
JP2007323142A (ja) * 2006-05-30 2007-12-13 Toshiba Corp 情報処理装置およびその制御方法
JP4983133B2 (ja) * 2006-07-26 2012-07-25 日本電気株式会社 入出力制御装置およびその制御方法、並びにプログラム
US7660912B2 (en) * 2006-10-18 2010-02-09 International Business Machines Corporation I/O adapter LPAR isolation in a hypertransport environment
US7830882B2 (en) * 2006-11-17 2010-11-09 Intel Corporation Switch scaling for virtualized network interface controllers
US9317309B2 (en) 2006-12-28 2016-04-19 Hewlett-Packard Development Company, L.P. Virtualized environment allocation system and method
US7617340B2 (en) 2007-01-09 2009-11-10 International Business Machines Corporation I/O adapter LPAR isolation with assigned memory space
JP4969258B2 (ja) * 2007-01-30 2012-07-04 株式会社日立製作所 仮想計算機システムのi/oデバイス障害処理方法
US7835373B2 (en) * 2007-03-30 2010-11-16 International Business Machines Corporation Method and apparatus for buffer linking in bridged networks
US7793307B2 (en) 2007-04-06 2010-09-07 Network Appliance, Inc. Apparatus and method for providing virtualized hardware resources within a virtual execution environment
US8555275B1 (en) * 2007-04-26 2013-10-08 Netapp, Inc. Method and system for enabling an application in a virtualized environment to communicate with multiple types of virtual servers
US8576861B2 (en) * 2007-05-21 2013-11-05 International Business Machines Corporation Method and apparatus for processing packets
US8010763B2 (en) * 2007-08-02 2011-08-30 International Business Machines Corporation Hypervisor-enforced isolation of entities within a single logical partition's virtual address space
US8645974B2 (en) * 2007-08-02 2014-02-04 International Business Machines Corporation Multiple partition adjunct instances interfacing multiple logical partitions to a self-virtualizing input/output device
US8219989B2 (en) * 2007-08-02 2012-07-10 International Business Machines Corporation Partition adjunct with non-native device driver for facilitating access to a physical input/output device
JP4959477B2 (ja) * 2007-09-05 2012-06-20 株式会社リコー クライアント装置、ネットワークシステム、印刷制御方法およびプログラム
JP5056334B2 (ja) * 2007-10-15 2012-10-24 富士通株式会社 管理プログラム、管理装置、および管理方法
JP2009134565A (ja) * 2007-11-30 2009-06-18 Hitachi Ltd 仮想計算機システム及び仮想計算機システムの制御方法
JP2009158182A (ja) * 2007-12-25 2009-07-16 Sanyo Electric Co Ltd 電池パック
JP2009187368A (ja) 2008-02-07 2009-08-20 Hitachi Ltd Usbポートの共有制御方法
JP2009296133A (ja) * 2008-06-03 2009-12-17 Hitachi Ltd 仮想ネットワーク制御システム及び方法
US9154386B2 (en) * 2008-06-06 2015-10-06 Tdi Technologies, Inc. Using metadata analysis for monitoring, alerting, and remediation
JP4934642B2 (ja) * 2008-06-11 2012-05-16 株式会社日立製作所 計算機システム
JP4918668B2 (ja) * 2008-06-27 2012-04-18 株式会社日立システムズ 仮想化環境運用支援システム及び仮想化環境運用支援プログラム
US8898418B2 (en) 2008-08-26 2014-11-25 International Business Machines Corporation Method, apparatus and computer program for provisioning a storage volume to a virtual server
US8239938B2 (en) * 2008-12-08 2012-08-07 Nvidia Corporation Centralized device virtualization layer for heterogeneous processing units
US8291415B2 (en) * 2008-12-31 2012-10-16 Intel Corporation Paging instruction for a virtualization engine to local storage
JP2010198398A (ja) * 2009-02-26 2010-09-09 Hitachi Ltd 計算機装置および制御方法
US8489797B2 (en) 2009-09-30 2013-07-16 International Business Machines Corporation Hardware resource arbiter for logical partitions
US8700752B2 (en) * 2009-11-03 2014-04-15 International Business Machines Corporation Optimized efficient LPAR capacity consolidation
US20110154364A1 (en) * 2009-12-22 2011-06-23 International Business Machines Corporation Security system to protect system services based on user defined policies
JP2011197827A (ja) * 2010-03-17 2011-10-06 Ricoh Co Ltd 情報処理装置、情報処理方法、及び情報処理プログラム
JP5626839B2 (ja) 2010-03-19 2014-11-19 富士通株式会社 仮想計算機システム、仮想計算機制御装置および仮想計算機システムの実行方法
JP5494298B2 (ja) 2010-07-06 2014-05-14 富士通株式会社 計算機装置,障害復旧制御プログラムおよび障害復旧制御方法
JP5569197B2 (ja) * 2010-07-06 2014-08-13 富士通株式会社 計算機装置およびリセット制御プログラム
US20120066760A1 (en) * 2010-09-10 2012-03-15 International Business Machines Corporation Access control in a virtual system
JP5555903B2 (ja) * 2010-09-27 2014-07-23 株式会社日立製作所 I/oアダプタ制御方法、計算機及び仮想計算機生成方法
US8429322B2 (en) * 2010-10-26 2013-04-23 Red Hat Israel, Ltd. Hotplug removal of a device in a virtual machine system
EP2637103A1 (en) * 2010-11-05 2013-09-11 Fujitsu Limited Disconnect program, embedding program, disconnect method, and embedding method
US8418166B2 (en) 2011-01-11 2013-04-09 International Business Machines Corporation Transparent update of adapter firmware for self-virtualizing input/output device
JP5703854B2 (ja) * 2011-03-04 2015-04-22 日本電気株式会社 コンピュータシステム及びコンピュータシステム起動方法
US8880934B2 (en) * 2012-04-04 2014-11-04 Symantec Corporation Method and system for co-existence of live migration protocols and cluster server failover protocols
US9081604B2 (en) * 2012-12-21 2015-07-14 Red Hat Israel, Ltd. Automatic discovery of externally added devices
US9846602B2 (en) * 2016-02-12 2017-12-19 International Business Machines Corporation Migration of a logical partition or virtual machine with inactive input/output hosting server
WO2018092287A1 (ja) * 2016-11-18 2018-05-24 株式会社日立製作所 計算機及び計算機の再起動方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4625081A (en) * 1982-11-30 1986-11-25 Lotito Lawrence A Automated telephone voice service system
US6330656B1 (en) * 1999-03-31 2001-12-11 International Business Machines Corporation PCI slot control apparatus with dynamic configuration for partitioned systems
US6279046B1 (en) * 1999-05-19 2001-08-21 International Business Machines Corporation Event-driven communications interface for logically-partitioned computer
US20020129172A1 (en) * 2001-03-08 2002-09-12 International Business Machines Corporation Inter-partition message passing method, system and program product for a shared I/O driver
US6807596B2 (en) * 2001-07-26 2004-10-19 Hewlett-Packard Development Company, L.P. System for removing and replacing core I/O hardware in an operational computer system
US6901537B2 (en) * 2002-02-27 2005-05-31 International Business Machines Corporation Method and apparatus for preventing the propagation of input/output errors in a logical partitioned data processing system
US6725289B1 (en) * 2002-04-17 2004-04-20 Vmware, Inc. Transparent address remapping for high-speed I/O
US7146515B2 (en) * 2002-06-20 2006-12-05 International Business Machines Corporation System and method for selectively executing a reboot request after a reset to power on state for a particular partition in a logically partitioned system
JP4123942B2 (ja) * 2003-01-14 2008-07-23 株式会社日立製作所 情報処理装置
JP4256693B2 (ja) * 2003-02-18 2009-04-22 株式会社日立製作所 計算機システム、i/oデバイス及びi/oデバイスの仮想共有方法
US7260752B2 (en) * 2004-02-19 2007-08-21 International Business Machines Corporation Method and apparatus for responding to critical abstracted platform events in a data processing system
US7530071B2 (en) * 2004-04-22 2009-05-05 International Business Machines Corporation Facilitating access to input/output resources via an I/O partition shared by multiple consumer partitions
US7257811B2 (en) * 2004-05-11 2007-08-14 International Business Machines Corporation System, method and program to migrate a virtual machine
US7240177B2 (en) * 2004-05-27 2007-07-03 International Business Machines Corporation System and method for improving performance of dynamic memory removals by reducing file cache size
US7325163B2 (en) * 2005-01-04 2008-01-29 International Business Machines Corporation Error monitoring of partitions in a computer system using supervisor partitions

Also Published As

Publication number Publication date
JP2006085543A (ja) 2006-03-30
US20060064523A1 (en) 2006-03-23

Similar Documents

Publication Publication Date Title
JP4295184B2 (ja) 仮想計算機システム
US20200278880A1 (en) Method, apparatus, and system for accessing storage device
EP2605138B1 (en) Virtual computer system and control method of live migration of a virtual computer
JP5352132B2 (ja) 計算機システム及びそのi/o構成変更方法
JP5874879B2 (ja) I/oデバイスの制御方法及び仮想計算機システム
JP5272709B2 (ja) アドレス割当方法、コンピュータ、物理マシン、プログラム、及びシステム
TWI439867B (zh) 動態實體及虛擬多重路徑輸入/輸出
EP2430544B1 (en) Altering access to a fibre channel fabric
JP5111754B2 (ja) 記憶制御システム
JP4958673B2 (ja) ストレージシステム及びこれの管理方法
TW200817920A (en) Method, apparatus, and computer usable program code for migrating virtual adapters from source physical adapters to destination physical adapters
EP1760591A1 (en) Computer system, management computer, method of managing access path
US8762669B2 (en) Computer system and storage migration method utilizing acquired apparatus specific information as virtualization information
JP2008146566A (ja) 計算機、仮想デバイスの制御方法およびそのプログラム
TW200925878A (en) System and method for management of an IOV adapter through a virtual intermediary in an IOV management partition
JP6663478B2 (ja) データ移行方法及び計算機システム
US20100275203A1 (en) Storage management system and storage management method in virtualization environment
WO2016162916A1 (ja) 管理計算機およびリソース管理方法
US20190108157A1 (en) Information processing system, and control method of information processing system
US20170052709A1 (en) Storage system, storage control apparatus, and storage control method
JP3667084B2 (ja) データ多重化制御方法
US11755438B2 (en) Automatic failover of a software-defined storage controller to handle input-output operations to and from an assigned namespace on a non-volatile memory device
JP5792862B2 (ja) 仮想計算機システムおよび仮想計算機の移行制御方法
WO2016125294A1 (ja) 計算機システム、管理装置及び方法
JP6381492B2 (ja) 計算機システム

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070416

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070416

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081201

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081209

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090209

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090407

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090409

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120417

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees