JP2014010731A - 計算機、計算機システム、及びioデバイス構成の引継ぎ方法 - Google Patents
計算機、計算機システム、及びioデバイス構成の引継ぎ方法 Download PDFInfo
- Publication number
- JP2014010731A JP2014010731A JP2012148135A JP2012148135A JP2014010731A JP 2014010731 A JP2014010731 A JP 2014010731A JP 2012148135 A JP2012148135 A JP 2012148135A JP 2012148135 A JP2012148135 A JP 2012148135A JP 2014010731 A JP2014010731 A JP 2014010731A
- Authority
- JP
- Japan
- Prior art keywords
- physical
- computer
- device identifier
- time point
- pci slot
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Hardware Redundancy (AREA)
Abstract
【課題】仮想計算機へのIOデバイス割り当ての手間を削減する。
【解決手段】計算機は、複数の物理IOデバイスを有する1以上の物理IOインタフェイスがそれぞれ搭載される1以上の物理スロットを有する。計算機は、第1の時点での物理スロットと物理IOデバイスとの対応関係に基づいて第1の時点での各物理IOデバイスについて決定された物理IOデバイス識別子を含む物理管理情報中のIOデバイス識別子が、第1の時点よりも過去の第2の時点での仮想計算機と物理IOデバイスの物理IOデバイス識別子との対応関係を表す情報である論理管理情報に、物理管理情報中の物理IOデバイス識別子に適合する物理IOデバイス識別子が含まれているか否かを判断し、その判断の結果が肯定的の場合、論理管理情報における仮想計算機と物理IOデバイス識別子との対応関係を維持する。
【選択図】図1
【解決手段】計算機は、複数の物理IOデバイスを有する1以上の物理IOインタフェイスがそれぞれ搭載される1以上の物理スロットを有する。計算機は、第1の時点での物理スロットと物理IOデバイスとの対応関係に基づいて第1の時点での各物理IOデバイスについて決定された物理IOデバイス識別子を含む物理管理情報中のIOデバイス識別子が、第1の時点よりも過去の第2の時点での仮想計算機と物理IOデバイスの物理IOデバイス識別子との対応関係を表す情報である論理管理情報に、物理管理情報中の物理IOデバイス識別子に適合する物理IOデバイス識別子が含まれているか否かを判断し、その判断の結果が肯定的の場合、論理管理情報における仮想計算機と物理IOデバイス識別子との対応関係を維持する。
【選択図】図1
Description
本発明は、仮想計算機へのIOデバイスの割り当てに関する。
ハイパバイザのような仮想化機構により物理資源(CPU(Central Processing
Unit)、主記憶装置、及びIO(Input Output)デバイス等)を複数の仮想計算機であるLPAR(Logical Partition)として論理的に分割し、各LPAR上でそれぞれOS(Operating System)を動作させる技術が知られている。一般的に、この各LPAR上で動作するOSは、ゲストOSと呼ばれている。
Unit)、主記憶装置、及びIO(Input Output)デバイス等)を複数の仮想計算機であるLPAR(Logical Partition)として論理的に分割し、各LPAR上でそれぞれOS(Operating System)を動作させる技術が知られている。一般的に、この各LPAR上で動作するOSは、ゲストOSと呼ばれている。
ゲストOSは、論理的には一般のOSと同様に動作する。従って、ゲストOSは、LPARに割当てたIOデバイスを、通常のIOデバイスとして認識することができる。
この種の技術として、例えば、特開2008−097276号(特許文献1)に開示の技術がある。特許文献1には、現用の計算機(例えば、サーバ)と予備用の計算機(例えば、サーバ)とで、ハードウェアの構成、及びネットワークの接続先等が異なる事が記載されている。このような場合、OS、ソフトウェア、ハードウェア、及びネットワークに依存する設定が、現用の計算機と予備用の計算機とでは一致しない。
現用の計算機で障害が起きた場合、現用の計算機から予備用の計算機に切り替えてシステムを稼働させることが望まれる。しかし、上記のように現用の計算機と予備用の計算機とでOS及びソフトウェア等に依存する設定が一致しない場合、予備用の計算機でOSやソフトウェアが正常に動作せずに、現用の計算機で稼動していた業務を完全に回復できない場合がある(特許文献1:段落0004参照)。
計算機が有する物理資源の一つであるPCI(Peripheral Component Interconnect)スロットに物理IOインタフェイス(例えば、NIC(Network Interface Card))が搭載される。PCIスロットに搭載されている物理IOインタフェイスが型名の異なる物理IOインタフェイスに取り換えられた場合、物理IOインタフェイスの種類(例えば、クラス(例えば、基本クラスとサブクラスの組合せ))が同じであっても、IOデバイスのデバイス識別子(例えば、Vendor ID、 Device ID、 Sub System IDの組み合わせ)が、物理IOインタフェイスの取り換え前と取り換え後で変化する。ここで、IOデバイスとは、計算機で実行されるOSが認識する物理IOインタフェイス上のコントローラ(例えば、CPU(Central Processing Unit)及びメモリ等を有するデバイス)である。
ハイパバイザを有する計算機システムでは、ハイパバイザが各LPARに対する物理資源(CPU、メモリ、及びPCIスロットに格納されている物理IOインタフェイス等)の割当て等を、PCI(Peripheral Components Interconnect)構成情報として管理している。PCI構成情報は、計算機(物理計算機)上に存在する物理的なデバイス(CPU、主記憶装置、IOデバイスなど)の固有情報を保持した構成情報である。
PCI構成情報は、PCIスロット毎に存在し、各PCI構成情報には、例えば、各PCIスロットに実装されている記憶領域(例えばPCIコンフィグレーション空間レジスタ)から取得したデバイス識別子(Vendor ID, Device ID, Sub System IDの組合せ)や、IOデバイスのLAPRへの割り当て情報が含まれている。
物理IOインタフェイスの交換によって、取り換え前の物理IOインタフェイス上のIOデバイスのPCI構成情報が削除されると、削除されたPCI構成情報に関連があるLPARへの物理資源の割り当て情報も削除される。
そのため、ユーザは、物理IOインタフェイスの取り換え後に、取り換え後の物理IOインタフェイス上のIOデバイスを各LPARに対して再度割り当てる(具体的には、例えば、取り換え後の物理IOインタフェイス上のIOデバイスのPCI構成情報にLPARへの割当て情報を再度設定する)必要があり、手間がかかる。
この問題は、仮想化機構を有する現用の計算機から仮想化機構を有する予備用の計算機への切り替えについても起こり得る。例えば、現用の計算機に障害が発生した場合、現用の計算機の仮想化機構が管理していたPCI構成情報は無くなるため、ユーザは、現用の計算機で稼動していた業務を予備用の計算機で実現させるために、予備用の計算機の計算機資源を予備用の計算機の各LPARに対して再度設定する必要がある。
そこで、本発明の目的は、仮想計算機へのIOデバイス割り当ての手間を削減することにある。
計算機は、複数の物理IOデバイスを有する1以上の物理IOインタフェイスがそれぞれ搭載される1以上の物理スロットと、1以上の仮想計算機を管理し物理IOデバイスに対応する仮想IOデバイスを仮想計算機に割り当てる仮想化機構とを有する。
仮想化機構は、
(A)第1の時点での物理スロットと物理IOデバイスとの対応関係に基づいて第1の時点での各物理IOデバイスについて決定された物理IOデバイス識別子を含む情報である物理管理情報を生成し、
(B)第1の時点よりも過去の第2の時点での仮想計算機と物理IOデバイスの物理IOデバイス識別子との対応関係を表す情報である論理管理情報に、物理管理情報中の物理IOデバイス識別子に適合する物理IOデバイス識別子が含まれているか否かを判断し、
(C)(B)の判断の結果が否定的の場合、論理管理情報から不適合の物理IOデバイス識別子を削除し、
(D)(B)の判断の結果が肯定的の場合、論理管理情報における仮想計算機と物理IOデバイス識別子との対応関係を維持する。
(A)第1の時点での物理スロットと物理IOデバイスとの対応関係に基づいて第1の時点での各物理IOデバイスについて決定された物理IOデバイス識別子を含む情報である物理管理情報を生成し、
(B)第1の時点よりも過去の第2の時点での仮想計算機と物理IOデバイスの物理IOデバイス識別子との対応関係を表す情報である論理管理情報に、物理管理情報中の物理IOデバイス識別子に適合する物理IOデバイス識別子が含まれているか否かを判断し、
(C)(B)の判断の結果が否定的の場合、論理管理情報から不適合の物理IOデバイス識別子を削除し、
(D)(B)の判断の結果が肯定的の場合、論理管理情報における仮想計算機と物理IOデバイス識別子との対応関係を維持する。
仮想計算機へのIOデバイス割り当ての手間を削減することができる。
以下、図面を用いて実施例を説明する。
図1は、実施例1に係る計算機1の構成例を示す。
計算機1は、物理資源118を有している。物理資源118とは、例えば、複数(又は1つ)の物理PCIスロット(物理PCIスロット#0、物理PCIスロット#1…物理PCIスロット#n)、CPU(Central Processing Unit)130、及びメモリ131を示す。
メモリ131には、ハイパバイザ113が記憶される。CPU130がハイパバイザ113を実行することにより、物理資源118(物理IOインタフェイス122、125、CPU130、及びメモリ131等)の全部又は一部分が論理的に分割され、それぞれ、仮想計算機(LPAR(Logical Partition)#1 101とLPAR#2 102)として動作する。仮想計算機は1つでも良い。
記憶部128がある。記憶部128は、計算機1に含まれている記憶装置であっても良いし、計算機1の外部に存在する記憶装置であっても良い。記憶部128は、例えば磁気記憶装置(例えば、HDD(Hard Disk Drive))、及び/又は半導体記憶装置(例えば、USB(Universal Serial Bus)メモリ)である。記憶部128には、例えば、ユーザの指示により、メモリ131に格納されている情報の一部である論理PCIスロット管理テーブル115、116、及びシステム構成情報132が格納される。
メモリ131には、ハイパバイザ113を含む各種プログラムを記憶される。LPAR#1 101とLPAR#2 102には、それぞれ、ハイパバイザ113によって分割された物理資源118(物理IOインタフェイス122、125、CPU130、及びメモリ131等)が割り当てられ、仮想計算機として動作する。ここで、物理IOインタフェイスとは、物理的な通信インタフェイスデバイスであって、例えば、物理資源118の物理PCI(Peripheral Components Interconnect)スロットに搭載される。物理インタフェイスは、例えば、物理ポートを備えたPCIカード、PCI Express(PCIe)カード、NIC(Network
Interface Card)又はFC(Fibre Channel)カード(ホストバスアダプタ)である。
Interface Card)又はFC(Fibre Channel)カード(ホストバスアダプタ)である。
例えば、図では、複数の物理PCIスロット(119、120、121)のうち、物理PCIスロット#0 119には、2つの物理ポート(ポート#0 123、ポート#1 124)を有する物理NIC(Network Interface Card)122が搭載されており、物理PCIスロット#1 120には、2つの物理ポート(ポート#0 126、ポート#1 127)を有する物理FCカードが搭載されている。
ハイパバイザ113が、物理IOインタフェイス122を、LPAR#1 101、及び、LPAR#2 102に対して、物理ポート単位で割り当てている。
LPAR#1 101は、複数の論理PCIスロット(論理PCIスロット#0 103、論理PCIスロット#1 104…論理PCIスロット#n 105)を有している。また、LPAR#2 102も、複数の論理PCIスロット(論理PCIスロット#0 108、論理PCIスロット#1 109…論理PCIスロット#n 110)を有している。各論理PCIスロットは、1つの仮想I/Oインタフェイス(仮想ポート)を有しており、ハイパバイザ113により、この1つの仮想I/Oインタフェイス(仮想ポート)に物理IOインタフェイスから1つの物理ポートが割り当てられている。具体的には、下記の通りである。
〜LPAR#1 101への物理I/Oインタフェイスの割り当て〜
(*)論理PCIスロット#0 103に仮想NIC106が仮想的に搭載されている。
(*)論理PCIスロット#1 104に仮想FCカード107が仮想的に搭載されている。
(*)仮想NIC106(仮想ポート)には、物理PCIスロット#0 119に搭載されている物理IOインタフェイス122の物理ポート#0 123が割り当てられている。
(*)仮想FCカード107(仮想ポート)には、物理PCIスロット#1 120に搭載されている物理FCカード125の物理ポート#0 126が割り当てられている。
(*)論理PCIスロット#0 103に仮想NIC106が仮想的に搭載されている。
(*)論理PCIスロット#1 104に仮想FCカード107が仮想的に搭載されている。
(*)仮想NIC106(仮想ポート)には、物理PCIスロット#0 119に搭載されている物理IOインタフェイス122の物理ポート#0 123が割り当てられている。
(*)仮想FCカード107(仮想ポート)には、物理PCIスロット#1 120に搭載されている物理FCカード125の物理ポート#0 126が割り当てられている。
〜LPAR#2 102への物理I/Oインタフェイスの割り当て〜
(*)論理PCIスロット#0 108に仮想NIC111が仮想的に搭載されている。
(*)論理PCIスロット#1 109に仮想FCカード112が仮想的に搭載されている。
(*)仮想NIC111(仮想ポート)には、物理PCIスロット#0 119に搭載されている物理IOインタフェイス122の物理ポート#1 124が割り当てられている。
(*)仮想FCカード112(仮想ポート)には、物理PCIスロット#1 120に搭載されている物理FCカード125の物理ポート#1 127が割り当てられている。
(*)論理PCIスロット#0 108に仮想NIC111が仮想的に搭載されている。
(*)論理PCIスロット#1 109に仮想FCカード112が仮想的に搭載されている。
(*)仮想NIC111(仮想ポート)には、物理PCIスロット#0 119に搭載されている物理IOインタフェイス122の物理ポート#1 124が割り当てられている。
(*)仮想FCカード112(仮想ポート)には、物理PCIスロット#1 120に搭載されている物理FCカード125の物理ポート#1 127が割り当てられている。
次にハイパバイザ113の構成を説明する。
ハイパバイザ113は、PCIスロットマネージャ114、PCI構成情報129及びシステム構成情報132を有する。
PCIスロットマネージャ114は、物理PCIスロット管理テーブル117、及び論理PCIスロット管理テーブル(115、116)を有している。
物理PCIスロット管理テーブル117は、システム起動時に、PCIスロットマネージャ114によって、PCI構成情報129から取得した情報を基に生成される。物理PCIスロット管理テーブル117は、物理PCIスロット(119、120)に搭載された物理IOインタフェイス(物理NIC122、物理FCカード125)の物理IOデバイス(物理ポート)(物理ポート123、124、126、127)を管理している。
また、物理PCIスロット管理テーブル117が有する情報は、物理IOデバイスの一覧情報として表示されても良い。ユーザは、図示しない入力装置を操作して、その物理IOデバイスの一覧情報から物理IOデバイス(物理ポート123、124、126、127)を選択し、各LPARの仮想ポート106、107、111、112に割り当てることができる。
論理PCIスロット管理テーブル115,116は、LPAR101、102毎に存在し、各LPARの生成を契機にPCIスロットマネージャ114によって生成される。論理PCIスロット管理テーブル115,116により、LPAR101、102に割り当てられた仮想IOデバイス(仮想ポート)が管理される。
また、論理PCIスロット管理テーブル115,116は、ユーザの指示によって記憶部128へ保存される。システム再起動時には、PCIスロットマネージャ114により記憶部128からメモリ131に論理PCIスロット管理テーブル115,116が読み込まれ、システム再起動前にユーザがLPAR101、102に対して割り当てた仮想IOデバイスを特定することができる。
記憶部128には、論理PCIスロット管理テーブル115、116に加えて、システム構成情報132も保存され、システム再起動時に、論理PCIスロット管理テーブル115、116と同様に、PCIスロットマネージャ114により記憶部128からシステム構成情報132がメモリ131に読み込まれる。
次に、PCI構成情報129及びシステム構成情報132を説明する。
PCI構成情報129は、ハイパバイザ113の起動時に、ハイパバイザ113が、ハイパバイザ113起動時における物理資源118の構成に基づいて作成する。具体的に、例えば、PCI構成情報129は、物理資源118に存在する物理的なデバイス(CPU、メモリ、IOデバイスなど)の固有情報に基づく構成情報である。
PCI構成情報129は、物理PCIスロット毎に存在する。PCI構成情報129には、PCI構成情報129に対応する物理PCIスロットに実装されている記憶領域(典型的には、PCIコンフィグレーション空間レジスタ)から取得したデバイス識別子(例えば、Vendor ID, Device
ID,及びSub System IDの組合せ)と、デバイスの種類を識別するクラスコード(基本クラス、サブクラス)とが含まれている。また、PCI構成情報129には、物理IOデバイスの各LPAR101、102への割り当て情報も含まれている。つまり、本実施例では、物理IOデバイスの型名は、デバイス識別子に相当し、物理IOインタフェイスの種類は、クラス(クラスコード)に相当する。
ID,及びSub System IDの組合せ)と、デバイスの種類を識別するクラスコード(基本クラス、サブクラス)とが含まれている。また、PCI構成情報129には、物理IOデバイスの各LPAR101、102への割り当て情報も含まれている。つまり、本実施例では、物理IOデバイスの型名は、デバイス識別子に相当し、物理IOインタフェイスの種類は、クラス(クラスコード)に相当する。
システム構成情報132は、ハイパバイザ113起動時に、ハイパバイザ113によって記憶部128から取得される情報である。システム構成情報132は、計算機の構成に関する情報であり、各LPAR101、102の生成情報(例えば、物理資源118の物理I/Oデバイス(物理ポート)以外の割り当て情報等の情報)を含んでいる。
図2は、物理PCIスロット管理テーブル117を示す。
物理PCIスロット管理テーブル117は、物理IOインタフェイスが有する物理ポート(物理IOデバイス)に関する情報を有する。
本テーブル117は、物理IOデバイス(物理ポート)毎に、物理IOデバイス識別子201、物理PCIスロット番号202、物理IOデバイスの物理ポート番号203、基本クラス204及びサブクラス205を含む。
物理IOデバイス識別子201は、物理IOデバイスを一意に識別するための情報である。物理PCIスロット番号202は、その物理IOデバイスが搭載されている物理PCIスロット番号202を示す情報である。物理IOデバイスの物理ポート番号203は、物理IOデバイスが有する物理ポートを識別するための情報である。基本クラス204及びサブクラス205は、物理IOデバイスの種類を識別するための情報である。
基本クラス204は、物理IOデバイスの種類の大分類を示す識別子である。サブクラスは、同じ基本クラスに属するデバイスをさらに細かく分類する識別子である。例えばイーサネット(登録商標)を摘要した物理I/Oデバイスであれば、基本クラスは0x02(ネットワークコントローラ)、サブクラスは0x00(イーサネット)となる。またFCを利用した物理IOデバイスの場合は、基本クラスは0x0C(シリアル周辺バスのコントローラ)、サブクラスは0x04(FC)となる。
物理IOデバイス識別子201は、同じ物理PCIスロット(119〜121)に搭載されている物理IOインタフェイスが有する物理IOデバイス(123、124、126、127)を識別できるように、物理PCIスロット番号202、物理ポート番号203、及び係数に基づいて算出される。これにより、物理PCIスロット番号202によって識別されるPCIスロットに搭載されている物理IOインタフェイスの物理IOデバイスを、一意に特定することができる。具体的には、例えば、物理IOデバイス識別子201には、
物理IOデバイス識別子201 = 物理PCIスロット番号202 × 係数 + 物理ポート番号203
で算出した値が設定される。ここで、本実施例では、係数を100としているが係数はこの値に限定されない。係数は、一つの物理PCIスロット(119〜121)で対応可能なポート数が増加したときに物理IOデバイス識別子が重複しないように、十分大きな値にしておくと良い。なお、物理IOデバイス識別子の決定方法は上記計算式で算出する方法に限られないが、同一物理PCIスロット番号のPCIスロットに搭載された物理IOインタフェイスの同一ポート番号の物理ポートには同一の物理IOデバイス識別子が付与されるような決定方法であることが望ましい。物理IOインタフェイスの交換前後において同一の物理IOデバイス識別子が得られるようにするためである。すなわち、従来の方式では、物理IOデバイスの識別情報として、Vendor ID、 Device ID、 Sub System IDの組み合わせのようなデバイス識別子(すなわち、物理IOインタフェイスが異なっていれば同一のPCIスロットに搭載されても値が異なっている識別子)が採用されているが、本実施例では、そのようなデバイス識別子がLPARへの割り当ての際に物理IOデバイスの識別情報として採用されておらず、物理IOデバイス識別子が、採用されている。
物理IOデバイス識別子201 = 物理PCIスロット番号202 × 係数 + 物理ポート番号203
で算出した値が設定される。ここで、本実施例では、係数を100としているが係数はこの値に限定されない。係数は、一つの物理PCIスロット(119〜121)で対応可能なポート数が増加したときに物理IOデバイス識別子が重複しないように、十分大きな値にしておくと良い。なお、物理IOデバイス識別子の決定方法は上記計算式で算出する方法に限られないが、同一物理PCIスロット番号のPCIスロットに搭載された物理IOインタフェイスの同一ポート番号の物理ポートには同一の物理IOデバイス識別子が付与されるような決定方法であることが望ましい。物理IOインタフェイスの交換前後において同一の物理IOデバイス識別子が得られるようにするためである。すなわち、従来の方式では、物理IOデバイスの識別情報として、Vendor ID、 Device ID、 Sub System IDの組み合わせのようなデバイス識別子(すなわち、物理IOインタフェイスが異なっていれば同一のPCIスロットに搭載されても値が異なっている識別子)が採用されているが、本実施例では、そのようなデバイス識別子がLPARへの割り当ての際に物理IOデバイスの識別情報として採用されておらず、物理IOデバイス識別子が、採用されている。
本テーブル117の情報202、203、204、205は、PCIスロットマネージャ114が、PCI構成情報129から取得して設定する。PCIスロットマネージャ114は、取得した情報202、203及び所定の係数により、物理IOデバイス識別子201を算出する。
図3は、論理PCIスロット管理テーブル115、116を示す。
論理PCIスロット管理テーブル115、116は、それぞれ、論理PCIスロット番号毎に、論理PCIスロット番号301、311、物理IOデバイス識別子302、312、基本クラス303、313とサブクラス304、314を有する。
論理PCIスロット番号301、311は、各LPAR101、102に割り当てられた論理PCIスロットを識別する情報である。物理IOデバイス識別子302、312は、論理PCIスロットに割り当てられた仮想IOデバイスに対応する物理IOデバイスを識別するための情報である。基本クラス303、313とサブクラス304、314は、仮想IOデバイスの種類を識別するための情報である。
LPAR101が仮想IOデバイス(仮想ポート)を通じて物理計算機1の外部(例えば、物理計算機1の外部のストレージ装置が有する論理ボリューム)にアクセスする場合、
ハイパバイザ113が、LPAR101に対応する論理PCI管理テーブルを基に、LPAR101が使用する論理PCIスロットに対応する物理IOデバイスを特定し、LPAR101は、ハイパバイザ113に特定された物理IOデバイスを通じてアクセスを行うことができる。
ハイパバイザ113が、LPAR101に対応する論理PCI管理テーブルを基に、LPAR101が使用する論理PCIスロットに対応する物理IOデバイスを特定し、LPAR101は、ハイパバイザ113に特定された物理IOデバイスを通じてアクセスを行うことができる。
次に、図2及び3を参照して、本実施例に係るハイパバイザ113の構成を具体的に説明する。
LPAR#1 101の論理PCIスロット管理テーブル115では、論理PCIスロット番号301に論理IOデバイス識別子「0」及び「1」、物理IOデバイス識別子302に物理IOデバイス識別子「0」及び「100」が登録されている。
即ち、LPAR#1 101では、物理PCIスロット管理テーブル117が管理する物理IOデバイスのうち、物理IOデバイス識別子201が「0」の物理IOデバイス(物理ポート番号203が「0」)と、物理IOデバイス識別子201が「100」の物理IOデバイス(物理ポート番号203が「0」)が割当たっている。
より具体的には、論理PCIスロット番号が「0」の論理スロットに、物理IOデバイス識別子201が「0」の物理IOデバイスが割り当てられ、論理PCIスロット番号が「1」の論理スロットに、201が「100」の物理IOデバイスが割り当てられている。
LPAR#2 102の論理PCIスロット管理テーブル116では、論理PCIスロット番号311に論理PCIスロット番号「0」及び「1」、物理IOデバイス識別子312に物理IOデバイス識別子「1」及び「101」が登録されている。
即ち、LPAR#2 102には、物理PCIスロット管理テーブル117が管理する物理IOデバイスのうち、物理IOデバイス識別子201が「1」の物理IOデバイス(物理ポート番号203が「1」)と、物理IOデバイス識別子201が「101」の物理IOデバイス(物理ポート番号203が「1」)が割り当たっている。
より具体的には、論理PCIスロット番号が「0」の論理スロットに、物理IOデバイス識別子201が「1」の物理IOデバイスが割り当てられ、論理PCIスロット番号が「1」の論理スロットに、物理IOデバイス識別子201が「101」の物理IOデバイスが割り当てられている。
さて、従来の方式では、物理資源118の物理PCIスロット119〜121に搭載された物理IOインタフェイス122、125を、型名(デバイス識別子(例えば、Vendor ID, Device ID,及びSub System IDの組み合わせ)が異なる物理IOインタフェイスに取り換えた場合、取り換えた物理IOインタフェイスが同じ種類(クラス(基本クラス204及びサブクラス205の組合せ))であっても、LPAR#1 101、#2 102に対する仮想ポート106、107の割り当ては解除されてしまう。具体的には、例えば、図1の物理PCIスロット#0 119の物理NIC122を、デバイス識別子が異なる物理NICに交換した場合、従来の方式では、LPAR#1 101の論理PCIスロット#0 103に割り当てられていた仮想NIC106、及びLPAR#2 102の論理PCIスロット#0 108に割り当てられた仮想NIC111は、システム再起動後には、割り当てが解除されてしまう。
これに対して、本実施例では、例えば、型名が異なるIOインタフェイスに交換した場合でも、交換前の物理IOインタフェイスと交換後の物理IOインタフェイスの種類が同じであれば、システム再起動後も、各LPAR#1 101.#2 102に割り当たっていた仮想IOデバイスに対する交換前の物理IOインタフェイスの割り当て情報を、交換後の物理IOインタフェイスが引き継ぐことが可能となる。
また、交換前の物理IOインタフェイスと交換後の物理IOインタフェイスの種類が同じであれば、物理IOインタフェイスを交換した後に、交換後の物理IOインタフェイスの物理ポートの数が、交換前の物理IOインタフェイスの物理ポートの数に比べて少なくなった場合でも、交換後の物理IOインタフェイスに存在する物理ポートのみ、その物理ポートの各LPAR#1 101、#2 102の仮想IOデバイスへの割り当て情報を引き継ぐことができる。
以下、本実施例の構成において、物理PCIスロットに搭載された物理IOインタフェイスを、型名の異なる物理IOインタフェイスに取り換えた場合について説明する。
図4は、非稼働時に物理IOインタフェイスを交換し、交換した後に計算機1を再稼働させた時の構成を示す。
具体的には、図4は、計算機1の非稼働時に、物理PCIスロット#0 119に搭載されていた2つの物理ポート(123、124)を有する物理NIC122を、4つの物理ポート(4011〜4014)を有する物理NIC401へ交換し、且つ、物理スロット#1 120に搭載されていた2つの物理ポート(126、127)を有する物理FCカード125を、1つの物理ポート(4021)を有する物理FCカード402へ交換した後に、計算機1を再稼働させた構成を示している。
LPAR#1 101では、論理PCIスロット#0 103に割り当てられている仮想NIC106には物理NIC401の物理ポート#04011が存在し、論理PCIスロット#1 104に割り当てられている仮想FC117には、物理FC402の物理ポート#04021が存在するため、LPAR#1 101における、論理PCIスロット(103、104)への仮想NIC106、及び仮想FC107の割り当て情報は削除されずに、そのまま割当てられている。
LPAR#2 102では、論理PCIスロット#0 108に割り当てられている仮想NIC111には物理NIC401の物理ポート#1 4012が存在するため、LPAR#2 102における、論理PCIスロット#0 108への仮想NIC111の割り当て情報は削除されずに、そのまま割当てられている。
しかし、論理PCIスロット#1 109においては、再起動後に論理PCIスロット#1 109に対応する物理ポートが物理資源118に存在しなくなったため、論理PCIスロット#1 109に図1で割り当てられていた仮想FC112(点線枠で記載)の割り当てが解除される。
図5は、図4の計算機1における物理PCIスロット管理テーブル417を示す。
図5のテーブル417を図2の物理PCIスロット管理テーブル117と比較すると、図5のテーブル417には、物理IOデバイス識別子501が「2」及び「3」の物理IOデバイスが追加され(点線枠で記載)、且つ物理PCIスロット管理テーブル117に存在していた物理IOデバイス識別子が「101」の物理IOデバイスが存在しなくなっている。このようなテーブル更新は、PCIスロットマネージャ114によって行われる。
図6は、図4の計算機1における論理PCIスロット管理テーブル415、416を示す。
LPAR#1 101に関する論理PCIスロット管理テーブル415の各エントリは、図3に示す論理PCIスロット管理テーブル115と変わりはない。しかし、LPAR#2 102の論理PCIスロット管理テーブル416では、図3に示す論理PCIスロット管理テーブル116と比較すると、論理PCIスロット番号611が「1」の行には、論理PCIスロット番号311が「1」の行で管理されていた物理IOデバイス識別子312、基本クラス313及びサブクラス314の値が存在しなくなっている(点線枠で記載)。このようなテーブル更新も、PCIスロットマネージャ114によって行われる。
図7は、計算機1の再起動時におけるPCIスロットマネージャ414による仮想IOデバイスの構成を引き継ぐ処理の一例を示す。
なお、本処理の前提条件として、図1に示す計算機1の構成に関する論理PCIスロット管理テーブル115、論理PCIスロット管理テーブル116及びシステム構成情報132が、記憶部128に保存されるものとする。
ステップ701では、計算機1の電源がOFFの状態で、ユーザにより物理PCIスロット#0 119に搭載されていた物理NIC122が、4つの物理ポート4011〜4014を有する物理NIC401へ交換され、物理PCIスロット#1 120に搭載されていた物理FCカード125が、1つの物理ポート4021のみを有する物理FC402カードに交換される。
ステップ702では、ステップ701の後、ユーザによって計算機1の電源が投入とされる。
ステップ703では、ステップ702の計算機1の電源投入を契機にハイパバイザ413が起動する。
ステップ704では、ステップ703のハイパバイザ413の起動の開始を契機、にハイパバイザ413の機能の一つであるPCIスロットマネージャ414の動作が開始される。また、ハイパバイザ413の起動を契機に、ハイパバイザ413によりPCI構成情報418が形成される。
ステップ705では、PCIスロットマネージャ414は、PCI構成情報418から物理PCIスロット119〜120に搭載されているPCIカードが有する物理IOデバイス(物理ポート)の情報を取得し、物理PCIスロット管理テーブル417を生成する。この物理PCIスロット管理テーブル417には、計算機1が再稼働した後の、物理PCIスロット119〜120に搭載されているPCIカードに関する最新の情報が格納される。
ステップ706では、PCIスロットマネージャ414は、記憶部128からシステム構成情報1281を読み込み、システム構成情報1281に保持されているLPAR#1 101、#2 102の生成情報からLPAR#1 101とLPAR#2 102を生成する。また、PCIスロットマネージャ414は、LPAR#1 101の論理PCIスロット管理テーブル415、及びLPAR#2 102の論理PCIスロット管理テーブル416を生成する。
ここで、LPAR#1 101の論理PCIスロット管理テーブル415、及びLPAR#2 102の論理PCIスロット管理テーブル416の生成とは、例えば、PCIスロットマネージャ414が、メモリ131上にテーブル415、416のための領域を確保してテーブル415、416を生成し、生成したテーブル415、416を初期化する作業のことである。
ステップ707では、PCIスロットマネージャ414は、計算機1が再稼働する前に記憶部128に保存された論理PCIスロット管理テーブル115と論理PCIスロット管理テーブル116を読み込み、ステップ706にて生成したLPAR#1 101の論理PCIスロット管理テーブル415とLPAR#2 102の論理PCIスロット管理テーブル416へそれぞれ反映する。これにより、LPAR#1 101の論理PCIスロット管理テーブル415の内容は、計算機1が再稼働する前の論理PCIスロット管理テーブル115(図1参照)と同じ内容となり、また、LPAR#2 102の論理PCIスロット管理テーブル416の内容は、計算機1が再稼働する前の論理PCIスロット管理テーブル116(図1参照)と同じ内容となる。
ステップ708では、PCIスロットマネージャ414は、計算機1が再稼働する前の論理PCIスロット管理テーブル415、416と、計算機1が再稼働した後の物理PCIスロット管理テーブル417とを比較する。具体的には、例えば、PCIスロットマネージャ414は、LPAR#1 101の論理PCIスロット管理テーブル415の論理PCIスロット番号601に登録されている物理IOデバイス識別子602と同じ物理IOデバイス識別子501が、ステップ705にて生成された物理PCIスロット管理テーブル417に存在するか否か判定する。同様に、PCIスロットマネージャ414は、LPAR#2 102の論理PCIスロット管理テーブル416の論理PCIスロット番号611に登録されている物理IOデバイス識別子612と同じ物理IOデバイス識別子501が、ステップ705にて生成された物理PCIスロット管理テーブル417に存在するか否か判定する。
ステップ708では、PCIスロットマネージャ414は、論理PCIスロット管理テーブル415、416の物理IOデバイス識別子602、612と同じ物理IOデバイス識別子501が物理PCIスロット管理テーブル417に存在すれば、それぞれの論理PCIスロット管理テーブル415、416の各論理PCIスロット番号601、611に登録されている物理IOデバイス識別子602、612、基本クラス603、613、及びサブクラス604、614を引き継ぐ。一方、PCIスロットマネージャ414は、論理PCIスロット管理テーブル415、416の物理IOデバイス識別子602、612と同じ物理IOデバイス識別子501が物理PCIスロット管理テーブル417に存在しなければ、各論理PCIスロット番号601、611に登録されている物理IOデバイス識別子602、612、基本クラス603、613、及びサブクラス604、614を削除する。
以下、LPAR#1 101、LPAR#2 102毎にステップ708の処理を説明する。
〜LPAR#1 101〜について
LPAR#1 101の論理PCIスロット管理テーブル415では、論理PCIスロット番号601「0」に登録されている、物理IOデバイス識別子602が「0」の物理IOデバイス、及び、論理PCIスロット番号601「1」に登録されている、物理IOデバイス識別子602が「100」の物理IOデバイスが、物理PCIスロット管理テーブル417に存在している。従って、PCIスロットマネージャ414は、論理PCIスロット番号601が「0」の論理PCIスロットに割当てていた仮想NIC106に関する情報(602〜604)をそのまま引き継ぎ、且つ、論理PCIスロット番号601が「1」の論理PCIスロットに割り当てていた仮想FC107に関する情報(602〜604)をそのまま引き継ぐ
LPAR#1 101の論理PCIスロット管理テーブル415では、論理PCIスロット番号601「0」に登録されている、物理IOデバイス識別子602が「0」の物理IOデバイス、及び、論理PCIスロット番号601「1」に登録されている、物理IOデバイス識別子602が「100」の物理IOデバイスが、物理PCIスロット管理テーブル417に存在している。従って、PCIスロットマネージャ414は、論理PCIスロット番号601が「0」の論理PCIスロットに割当てていた仮想NIC106に関する情報(602〜604)をそのまま引き継ぎ、且つ、論理PCIスロット番号601が「1」の論理PCIスロットに割り当てていた仮想FC107に関する情報(602〜604)をそのまま引き継ぐ
〜LPAR#2 102〜について
LPAR#2 102の論理PCIスロット管理テーブル416では、論理PCIスロット番号611が「0」に登録されている物理IOデバイス識別子612が「1」の物理IOデバイスは物理PCIスロット管理テーブル417に存在しているが、論理PCIスロット番号611「1」には、物理IOデバイス識別子612が登録されていない。従って、PCIスロットマネージャ414は、論理PCIスロット番号611が「0」の論理PCIスロットに割当てていた仮想NIC111に関する情報(612〜614)をそのまま引き継ぐが、論理PCIスロット番号611が「1」の論理PCIスロットに割り当てていた仮想NIC112に関する情報(612〜614)を削除する。
LPAR#2 102の論理PCIスロット管理テーブル416では、論理PCIスロット番号611が「0」に登録されている物理IOデバイス識別子612が「1」の物理IOデバイスは物理PCIスロット管理テーブル417に存在しているが、論理PCIスロット番号611「1」には、物理IOデバイス識別子612が登録されていない。従って、PCIスロットマネージャ414は、論理PCIスロット番号611が「0」の論理PCIスロットに割当てていた仮想NIC111に関する情報(612〜614)をそのまま引き継ぐが、論理PCIスロット番号611が「1」の論理PCIスロットに割り当てていた仮想NIC112に関する情報(612〜614)を削除する。
ステップ709では、PCIスロットマネージャ414は、論理PCIスロット管理テーブル415、416によって識別される物理IOデバイスの種類と、物理PCIスロット管理テーブル417によって識別される物理IOデバイスの種類とが同じ種類か否かを判断する。なお、ステップ709の処理は省略することもできる。しかし、ステップ709の判断の結果が肯定的であれば、物理IOデバイスの種類(物理IOインタフェイスの種類)が交換前後で同じであることがわかるので、交換前後でLPARと物理IOデバイスとの関係が維持されても、交換前後でLPARと物理IOデバイスとの関係が実質的に同じであることが保証される。以下、ステップ709をLPAR#1 101、#2 102ごとに説明する。
〜LPAR#1 101について〜
論理PCIスロット管理テーブル415の、論理PCIスロット番号601「0」に登録されている物理IOデバイス識別子602「0」の物理IOデバイスの基本クラスは、「0x02」、サブクラス604は「0x00」であり、物理PCIスロット管理テーブル417の物理IOデバイス識別子501「0」に登録されている基本クラス504及びサブクラス505と同じである。また、論理PCIスロット番号601「1」に登録されている物理IOデバイス識別子602「100」の物理IOデバイスの基本クラスは、「0x0C」、サブクラス604は「0x04」であり、物理PCIスロット管理テーブル417の物理IOデバイス識別子501「100」に登録されている基本クラス504及びサブクラス505と同じである。従って、LPAR#1 101では、PCIスロットマネージャ414は、仮想NIC106、仮想FC107に関する情報をそのまま引き継ぐ。
論理PCIスロット管理テーブル415の、論理PCIスロット番号601「0」に登録されている物理IOデバイス識別子602「0」の物理IOデバイスの基本クラスは、「0x02」、サブクラス604は「0x00」であり、物理PCIスロット管理テーブル417の物理IOデバイス識別子501「0」に登録されている基本クラス504及びサブクラス505と同じである。また、論理PCIスロット番号601「1」に登録されている物理IOデバイス識別子602「100」の物理IOデバイスの基本クラスは、「0x0C」、サブクラス604は「0x04」であり、物理PCIスロット管理テーブル417の物理IOデバイス識別子501「100」に登録されている基本クラス504及びサブクラス505と同じである。従って、LPAR#1 101では、PCIスロットマネージャ414は、仮想NIC106、仮想FC107に関する情報をそのまま引き継ぐ。
〜LPAR#2 102について〜
LPAR#2 102も同様である。論理PCIスロット管理テーブル416の、論理PCIスロット番号611「0」に登録されている物理IOデバイス識別子612が「1」の物理IOデバイスの基本クラス613及びサブクラス614が、物理PCIスロット管理テーブル417の物理IOデバイス識別子501「1」に登録されている基本クラス504及びサブクラス505と同じである。従って、PCIスロットマネージャ414は、仮想NIC111に関する情報をそのまま引き継ぐ。しかし、論理PCIスロット番号611「1」には、物理IOデバイス識別子612が登録されていないため、PCIスロットマネージャ414は、仮想NIC112に関する情報を削除する。
LPAR#2 102も同様である。論理PCIスロット管理テーブル416の、論理PCIスロット番号611「0」に登録されている物理IOデバイス識別子612が「1」の物理IOデバイスの基本クラス613及びサブクラス614が、物理PCIスロット管理テーブル417の物理IOデバイス識別子501「1」に登録されている基本クラス504及びサブクラス505と同じである。従って、PCIスロットマネージャ414は、仮想NIC111に関する情報をそのまま引き継ぐ。しかし、論理PCIスロット番号611「1」には、物理IOデバイス識別子612が登録されていないため、PCIスロットマネージャ414は、仮想NIC112に関する情報を削除する。
ステップ710をもって、PCIスロットマネージャ414の処理が終了する。
ステップ711では、ハイパバイザ413は、LPAR#1 101の論理PCIスロット管理テーブル415に登録されている物理IOデバイス識別子602「0」に登録されている実際の物理IOデバイスを論理PCIスロット#0 103に割り当て、物理IOデバイス識別子602「100」に登録されている実際の物理IOデバイスを、論理PCIスロット#1 104に割り当てる。また、ステップ711では、ハイパバイザ413は、LPAR#2 102の論理PCIスロット管理テーブル416に登録されている物理IOデバイス識別子612「1」に登録されている実際の物理IOデバイスを、論理PCIスロット#0 108に割り当てる。
ステップ712では、ハイパバイザ413の起動が完了となる。
本実施例によれば、物理IOデバイスの識別情報として、Vendor ID、 Device ID、 Sub System IDの組み合わせのようなデバイス識別子(すなわち、物理IOインタフェイスが異なっていれば同一のPCIスロットに搭載されても値が異なっている識別子)ではなく、同一物理PCIスロット番号のPCIスロットに搭載された物理IOインタフェイスの同一ポート番号の物理ポートには同一の値となるような物理IOデバイス識別子が採用されている。そして、ハイパバイザは、物理IOインタフェイス交換前の割当て情報(LPARと仮想ポートに対応する物理ポートの物理IOデバイス識別子との関係を表す情報)を有する論理PCIスロット管理テーブル415、416と、交換後の物理IOインタフェイスの物理ポートの物理IOデバイス識別子の一覧を表す物理PCIスロット管理テーブル417とを比較し、互いに一致する物理IOデバイス識別子があった場合に、互いに一致する物理IOデバイス識別子のLPARへの割当てを維持、すなわち、割り当て情報を引き継ぐ。これにより、物理IOインタフェイスが型名の異なる物理IOインタフェイスに取り換えられても、ユーザは、LPAR#1 101、#2 102に対して、物理IOデバイスを再度割り当てる必要がなくなる。
実施例2を説明する。その際、実施例1との相違点を主に説明し、実施例1との共通点については説明を省略或いは簡略する。
実施例1は、計算機1が非稼働時に物理IOインタフェイスを交換して、再起動時に再稼働前の仮想IOデバイス構成を引き継ぐ。実施例2では、計算機1が稼働中に物理IOインタフェイスを交換した場合における仮想IOデバイス構成の引き継ぎ処理の一例を示す。この様に、計算機1が稼働中(電源ON時)に、物理IOインタフェイス(PCIカード)を、計算機1に与える悪影響を少なくしながら交換できる機能をPCIホットスワップ機能と言う。このPCIホットスワップ機能は、ハイパバイザ413が有する。
本実施例では、実施例1と同様に、図4〜6の構成を有する。つまり、交換される物理IOインタフェイス(図1参照)、及び交換する物理IOインタフェイス(図4参照)は、実施例1と同様である。
図8は、計算機1が稼働中に、物理IOインタフェイスを交換した場合における、仮想IOデバイスの構成の引き継ぎ処理の一例を示している。
ステップ801では、計算機1が稼働中に、ユーザにより物理PCIスロット# 119に格納されている物理IOインタフェイス、4つの物理ポートを有するNIC401に交換し、物理PCIスロット#1 120に格納されている物理IOインタフェイスを1つの物理ポートのみを有する物理FCカード402に交換される。
ステップ802では、ステップ801を契機に、ハイパバイザ413は、PCIホットスワップ機能による、PCIホットスワップ処理を開始する。このときPCI構成情報418が再構成される。
ステップ803では、ステップ802のPCIホットスワップ処理の開始を契機にハイパバイザ413の機能の一つであるPCIスロットマネージャ414の動作が開始される。
ステップ804では、PCIスロットマネージャ414は、PCI構成情報418から物理PCIスロット119〜121に搭載されたPCIカードが有する物理IOデバイス(物理ポート)に関する最新の情報を再取得し、物理PCIスロット管理テーブル417を更新する。
ステップ805では、PCIスロットマネージャ414は、LPAR#1 101の論理PCIスロット管理テーブル415、LPAR#2 102の論理PCIスロット管理テーブル416の各論理PCIスロット番号601、611に登録されている物理IOデバイス識別子602、612が、ステップ804にて更新された物理PCIスロット管理テーブル417に存在するか判断する。存在すれば、PCIスロットマネージャ414は、それぞれの論理PCIスロット管理テーブル415、416の各論理PCIスロット番号601、611に登録されている物理IOデバイス識別子602、612、基本クラス603、613、及びサブクラス604、614に関する情報を引き継ぎ、存在しなければ、PCIスロットマネージャ414は、これらの情報(602〜604、612〜614)を削除する。
本実施例では、LPAR#1 101の論理PCIスロット管理テーブル415は、論理PCIスロット番号601「0」に登録されている物理IOデバイス識別子602「0」によって識別される物理IOデバイスと、論理PCIスロット番号601「1」に登録されている物理IOデバイス識別子602「100」によって識別される物理IOデバイスが、物理PCIスロット管理テーブル417に存在しているため、PCIスロットマネージャ414は、論理PCIスロット番号601「0」と論理PCIスロット番号601「1」に関しては、物理IOデバイス識別子602、基本クラス603及びサブクラス604に格納されている情報を引き継ぐ。
また、LPAR#2 102の論理PCIスロット管理テーブル416では、論理PCIスロット番号611「0」に登録されている物理IOデバイス識別子612「1」によって識別される物理IOデバイスは、物理PCIスロット管理テーブル417に存在しているため、論理PCIスロット番号611「0」に関しては、PCIスロットマネージャ414は、物理IOデバイス識別子612、基本クラス613及びサブクラス614に格納されている情報を引き継ぐ。
しかし、論理PCIスロット番号611「1」に関しては、物理PCIスロット管理テーブル417には存在していないため、論理PCIスロット番号611「1」に関しては、PCIスロットマネージャ414は、論理PCIスロット管理テーブル416からは、物理IOデバイス識別子612、基本クラス613、サブクラス614に関する情報は、削除する。
ステップ806では、PCIスロットマネージャ414は、論理PCIスロット管理テーブル415、416の各論理PCIスロット番号601、611に登録されている基本クラス603、613及びサブクラス604、614と、各論理PCIスロット番号601、611に登録されている物理IOデバイス識別子602、612と同じ物理IOデバイス識別子が登録されている物理PCIスロット管理テーブル417の基本クラス504及びサブクラス505を比較し、各LPAR#1 101、#2 102の仮想IOデバイスに対応する物理IOデバイスが同じ種類か否かを判断する。なお、ステップ806は省略することもできる。
同じ種類である場合、PCIスロットマネージャ414は、論理PCIスロット管理テーブル415、416の各論理PCIスロット番号601、611に登録されている物理IOデバイス識別子602、612、基本クラス603、613、及びサブクラス604、614を引き継ぐ。PCIスロットマネージャ414は、基本クラス603、613又はサブクラス604、614のうちどちらか一方でも物理PCIスロット管理テーブル417の基本クラス504、及びサブクラス505と異なれば、その論理PCIスロット管理テーブル415、416の各論理PCIスロット番号601、611に登録されている情報(602〜604、612〜614)を削除する。
本実施例では、LPAR#1 101の論理PCIスロット管理テーブル415における、論理PCIスロット番号601「0」と論理PCIスロット番号601「1」に登録されている基本クラス603及びサブクラス604は、それぞれの論理PCIスロット番号601の物理IOデバイス識別子602と同じ物理IOデバイス識別子が登録されている物理PCIスロット管理テーブル417の基本クラス504及びサブクラス505と同一である。従って、PCIスロットマネージャ414は、各論理PCIスロット番号601に登録されている情報(602〜604)を引き継ぐ。
また、LPAR#2 102も同様であり、論理PCIスロット番号611「0」に登録されている基本クラス613及びサブクラス614は、その論理PCIスロット番号611に登録されている物理IOデバイス識別子612と同じ物理IOデバイス識別子が登録されている物理PCIスロット管理テーブル417上の基本クラス504及びサブクラス505と同一である。従って、PCIスロットマネージャ414は、各論理PCIスロット番号611に登録されている情報(612〜614)を引き継ぐ。
ステップ807をもって、PCIスロットマネージャ414の動作が終了する。
ステップ808では、ハイパバイザ413は、LPAR#1 101の論理PCIスロット管理テーブル415、及びLPAR#2 102の論理PCIスロット管理テーブル416に登録されている物理IOデバイス識別子602、612に対応する実際の物理IOデバイスを、LPAR#1 101とLPAR#2 102の論理PCIスロット103、104、108へ割り当てる。
ステップ809では、PCIホットスワップ処理が完了となる。
本実施例により、物理IOインタフェイスを計算機1が稼働中に交換した場合でも、LPAR#1 101(論理PCIスロット#0 103、#1 104)、#2 102(論理PCIスロット#0 108)への物理IOデバイスへの割り当て情報を引き継ぐことができる。
実施例3を説明する。その際、実施例1及び2との相違点を主に説明し、実施例1及び2との共通点については説明を省略或いは簡略する。
実施例3は、現用の計算機(現用の物理計算機)にて回復不能な障害が発生した場合に、予備用の計算機(予備用の物理計算機)へ自動切替えした際の、予備用の計算機への仮想IOデバイスの構成引き継ぎ処理の一例を示している。
現用の計算機から予備用の計算機への自動切り替えにおいて、従来技術では、予備用の計算機の物理IOインタフェイスが現用の計算機の物理IOインタフェイスと型名が異なると、物理IOインタフェイスのIOデバイスのデバイス識別子(Vendor ID、 Device ID、 Sub System IDの組み合わせ)が変化するので、物理IOインタフェイス構成情報を自動で引き継ぐことができない。そのため、自動で物理IOインタフェイス構成情報を引き継ぐために、現用の計算機と予備用の計算機とでPCIカードの型名を同一にする必要があった。
本実施例の計算機システムでは、予備用の計算機の物理IOインタフェイスが現用の計算機の物理IOインタフェイスと同一型名でなくても、予備用の計算機が現用の計算機のIOデバイスの構成を引き継ぐことができる。
図9は、実施例3に係る計算機システム30の構成例を示す。
計算機システム30は、サーバシャーシ#1 901に現用の物理資源#1 902を含む現用の計算機10、サーバシャーシ#2 911に予備用の物理資源#2 912を含む予備用の計算機20、及び管理サーバ931を有する。
本実施例における、現用の物理資源#1 902が有するハイパバイザ903、及びハイパバイザ903上で動作するLPAR#1 904、#2 905は、それぞれ、実施例1の物理資源118が有するハイパバイザ113、及びハイパバイザ113上で動作するLPAR#1 101、#2 102と同様である(図1〜3参照)。
サーバシャーシ#2 911の予備用の物理資源#2 912では、物理PCIスロット#0 916に4つの物理ポートを有する物理NIC917、物理PCIスロット#1 918に4つの物理ポートを有する物理FCカードである物理FC919が格納されている。
また、サーバシャーシ#1 901にSVP(Service Processor)#1 910が配置され、サーバシャーシ#2 911にSVP#2 920が配置されている。SVP#1 910及びSVP#2 920は、管理サーバ931に接続されている。管理サーバ931は、管理プログラム932を有する。管理プログラム932は、管理サーバ931内の図示しないプロセッサで実行される。
SVP#1 910は、計算機10の障害を検知して、計算機10に障害が発生したことを管理サーバ931に通知する機能を有する。また、SVP#2 920は、計算機10に障害が発生した場合に、管理サーバ931(管理プログラム932)からの命令に従う機能を有する。
図10は、本実施例における仮想IOデバイス構成の引き継ぎ処理の一例を示す。
なお、本実施例では、本処理の開始の前提条件として、図9のサーバシャーシ#1 901の構成にて、論理PCIスロット管理テーブル9032、物理PCIスロット管理テーブル9033、システム構成情報9034が、SVP910が保有する記憶部9101に保存されるものとする。記憶部9101は、SVP910の外にあっても良い。
ステップ1001では、現用の計算機10に障害が発生すると、それを検知したSVP#1 910が、管理サーバ931上で動作している管理プログラム932に、現用の計算機10に障害が発生したことを通知する。
ステップ1002では、管理プログラム932は、サーバシャーシ#1 901のSVP#1 910が保有する記憶部9101から、システム構成情報9102と、LPAR#1 904、#2 905の論理PCIスロット管理テーブル9103を取得する。
ステップ1003では、管理プログラム932は、ステップ1002で取得したシステム構成情報9102、LPAR#1 904、#2 905の論理PCIスロット管理テーブル9103を、サーバシャーシ#2 911のSVP#2 920が有する記憶部9201に保存する。
ステップ1004では、管理プログラム932は、SVP#2 920を経由して、予備用の計算機20の電源をONにする。
ステップ1005では、ステップ1004の予備用の計算機20の電源投入を契機に、計算機20が有するハイパバイザ913の起動が開始される。
ステップ1006では、ステップ1005のハイパバイザ913の起動開始を契機に、ハイパバイザ913の機能の一つであるPCIスロットマネージャ9131の動作が開始される。
ステップ1007では、図7のステップ705〜ステップ709(ステップ708は省略することもできる)と同様の処理が実施される。すなわち、本実施例のPCIスロットマネージャ9131は、実施例1のPCIスロットマネージャ414に対応する。また、実施例1の記憶部128は、SVP#2 920が備える記憶部9201に対応する。
ステップ1008をもって、PCIスロットマネージャ9131の動作が終了する。
ステップ1009では、ハイパバイザ913は、サーバシャーシ#2 911のLPAR#1 914の論理PCIスロット管理テーブル9132に登録されている物理IOデバイス識別子に対応する実際の物理IOデバイスを、サーバシャーシ#2 911のLPAR#1 914の論理PCIスロットに割り当てる。
また、ステップ1009では、ハイパバイザ913は、サーバシャーシ#2 911のLPAR#2 915の論理PCIスロット管理テーブル9132に登録されている物理IOデバイス識別子に対応する実際の物理IOデバイスを、サーバシャーシ#2 911のLPAR#2 915の論理PCIスロットに割り当てる。
ステップ1010では、ハイパバイザ913の起動が終了する。
本実施例によれば、予備用の計算機20の物理IOインタフェイスが現用の計算機10のIOインタフェイスと同一の型名のカードでなくても、計算機20では、現用の計算機10が構成していたLPAR#1 904のIOデバイスの構成を、予備用の計算機20が構成しているLPAR#1 914で引き継ぎ、LPAR#2 905(現用)のIOデバイスの構成を、LPAR#2 915(予備用)で引き継ぐことができる。
なお、本実施例では、現用の計算機10、及び予備用の計算機20は別々のサーバシャーシに存在しているが、同一シャーシ内に存在しても良い。
以上、幾つかの実施例を説明したが、本発明は上述した実施例に限られず、他の様々な態様に適用可能である。
1…計算機(物理計算機)、30…計算機システム、101…LPAR#1、102…LPAR#2、118…物理資源、413…ハイパバイザ、414…PCIスロットマネージャ
Claims (14)
- 複数の物理IOデバイスを有する1以上の物理IOインタフェイスがそれぞれ搭載される1以上の物理スロットと、
1以上の仮想計算機を管理し物理IOデバイスに対応する仮想IOデバイスを仮想計算機に割り当てる仮想化機構と
を有し、
前記仮想化機構は、
(A)第1の時点での物理スロットと物理IOデバイスとの対応関係に基づいて前記第1の時点での各物理IOデバイスについて決定された物理IOデバイス識別子を含む情報である物理管理情報を生成し、
(B)前記第1の時点よりも過去の第2の時点での仮想計算機と物理IOデバイスの物理IOデバイス識別子との対応関係を表す情報である論理管理情報に、前記物理管理情報中の物理IOデバイス識別子に適合する物理IOデバイス識別子が含まれているか否かを判断し、
(C)前記(B)の判断の結果が否定的の場合、前記論理管理情報から不適合の物理IOデバイス識別子を削除し、
(D)前記(B)の判断の結果が肯定的の場合、前記論理管理情報における仮想計算機と物理IOデバイス識別子との対応関係を維持する、
計算機。 - 前記物理管理情報及び前記論理管理情報は、それぞれ、物理IOデバイスについて、その物理IOデバイスを有する物理IOインタフェイスの種類であるデバイス種類を表す情報を含み、
前記(B)の判断の結果が肯定的の場合、前記仮想化機構は、前記物理管理情報について適合した物理IOデバイス識別子に対応するデバイス種類と、前記論理管理情報について適合した物理IOデバイス識別子に対応するデバイス種類とが互いに適合するか否かを判断し、その判断の結果が肯定的の場合に、前記(D)の処理を行う、
請求項1記載の計算機。 - 前記物理IOデバイス識別子は、その物理IOデバイス識別子に対応する物理IOデバイスの番号と、その物理IOデバイスを有する物理IOインタフェイスが搭載されている物理スロットの番号とに基づく値である、
請求項2記載の計算機。 - 前記第2の時点は、前記計算機の再起動前であり、
前記第1の時点は、前記計算機の再起動後である、
請求項3記載の計算機。 - 前記第2の時点は、前記計算機が稼働している間における前記物理IOインタフェイスの交換前の時点であり、
前記第1の時点は、前記第1の時点から稼働したままの前記計算機において前記物理IOインタフェイスを新たな物理IOインタフェイスに交換した後の時点である、
請求項3記載の計算機。 - 第1の物理計算機と、
第2の物理計算機と
を有し、
前記第1及び第2の物理計算機が、それぞれ、
複数の物理IOデバイスを有する1以上の物理IOインタフェイスがそれぞれ搭載される1以上の物理スロットと、
1以上の仮想計算機を管理し物理IOデバイスに対応する仮想IOデバイスを仮想計算機に割り当てる仮想化機構と
を有し、
前記第2の物理計算機の仮想化機構は、
(A)第1の時点での前記第2の物理計算機における物理スロットと物理IOデバイスとの対応関係に基づいて前記第1の時点での各物理IOデバイスについて決定された物理IOデバイス識別子を含む情報である物理管理情報を生成し、
(B)前記第1の時点より過去の第2の時点での前記第1の仮想計算機における仮想計算機と物理IOデバイスの物理IOデバイス識別子との対応関係を表す情報である論理管理情報に、前記物理管理情報中の物理IOデバイス識別子に適合する物理IOデバイス識別子が含まれているか否かを判断し、
(C)前記(B)の判断の結果が否定的の場合、前記論理管理情報から不適合の物理IOデバイス識別子を削除し、
(D)前記(B)の判断の結果が肯定的の場合、前記論理管理情報における仮想計算機と物理IOデバイス識別子との対応関係を維持する、
計算機システム。 - 前記物理管理情報及び前記論理管理情報は、それぞれ、物理IOデバイスについて、その物理IOデバイスを有する物理IOインタフェイスの種類であるデバイス種類を表す情報を含み、
前記(B)の判断の結果が肯定的の場合、前記第2の物理計算機の仮想化機構は、前記物理管理情報について適合した物理IOデバイス識別子に対応するデバイス種類と、前記論理管理情報について適合した物理IOデバイス識別子に対応するデバイス種類とが互いに適合するか否かを判断し、その判断の結果が肯定的の場合に、前記(D)の処理を行う、
請求項6記載の計算機システム。 - 前記物理IOデバイス識別子は、その物理IOデバイス識別子に対応する物理IOデバイスの番号と、その物理IOデバイスを有する物理IOインタフェイスが搭載されている物理スロットの番号とに基づく値である、
請求項7記載の計算機システム。 - 前記第2の時点は、前記第1の物理計算機が現用の物理計算機であるときに前記第1の物理計算機で障害が発生した時点であり、
前記第1の時点は、前記障害発生を契機に前記第1の物理計算機から予備用の物理計算機であった前記第2の物理計算機に現用の物理計算機が切り替わったときの時点である、
請求項8記載の計算機システム。 - 複数の物理IOデバイスを有する1以上の物理IOインタフェイスがそれぞれ搭載される1以上の物理スロットと、1以上の仮想計算機を管理し物理IOデバイスに対応する仮想IOデバイスを仮想計算機に割り当てる仮想化機構とを有する1以上の計算機を備えた計算機システムで行われる方法であって、
(A)第1の時点での物理スロットと物理IOデバイスとの対応関係に基づいて前記第1の時点での各物理IOデバイスについて決定された物理IOデバイス識別子を含む情報である物理管理情報を生成し、
(B)前記第1の時点より過去の第2の時点での仮想計算機と物理IOデバイスの物理IOデバイス識別子との対応関係を表す情報である論理管理情報に、前記物理管理情報中の物理IOデバイス識別子に適合する物理IOデバイス識別子が含まれているか否かを判断し、
(C)前記(B)の判断の結果が否定的の場合、前記論理管理情報から不適合の物理IOデバイス識別子を削除し、
(D)前記(B)の判断の結果が肯定的の場合、前記論理管理情報における仮想計算機と物理IOデバイス識別子との対応関係を維持する、
IOデバイス構成の引き継ぎ方法。 - 前記物理管理情報及び前記論理管理情報は、それぞれ、物理IOデバイスについて、その物理IOデバイスを有する物理IOインタフェイスの種類であるデバイス種類を表す情報を含み、
前記(B)の判断の結果が肯定的の場合、前記物理管理情報について適合した物理IOデバイス識別子に対応するデバイス種類と、前記論理管理情報について適合した物理IOデバイス識別子に対応するデバイス種類とが互いに適合するか否かを判断し、その判断の結果が肯定的の場合に、前記(D)の処理を行う、
請求項10記載の方法。 - 前記物理IOデバイス識別子は、その物理IOデバイス識別子に対応する物理IOデバイスの番号と、その物理IOデバイスを有する物理IOインタフェイスが搭載されている物理スロットの番号とに基づく値である、
請求項11記載の方法。 - 前記第2の時点は、前記計算機の再起動前であり、
前記第1の時点は、前記計算機の再起動後である、
請求項12記載の方法。 - 前記第2の時点は、前記計算機が稼働している間における前記物理IOインタフェイスの交換前の時点であり、
前記第1の時点は、前記第1の時点から稼働したままの前記計算機において前記物理IOインタフェイスを新たな物理IOインタフェイスに交換した後の時点である、
請求項12記載の方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012148135A JP2014010731A (ja) | 2012-07-02 | 2012-07-02 | 計算機、計算機システム、及びioデバイス構成の引継ぎ方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012148135A JP2014010731A (ja) | 2012-07-02 | 2012-07-02 | 計算機、計算機システム、及びioデバイス構成の引継ぎ方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2014010731A true JP2014010731A (ja) | 2014-01-20 |
Family
ID=50107351
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012148135A Pending JP2014010731A (ja) | 2012-07-02 | 2012-07-02 | 計算機、計算機システム、及びioデバイス構成の引継ぎ方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2014010731A (ja) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007257259A (ja) * | 2006-03-23 | 2007-10-04 | Nec Corp | 情報処理装置、記憶領域クリーンアップ方法およびプログラム |
JP2008097276A (ja) * | 2006-10-11 | 2008-04-24 | Hitachi Ltd | 障害回復方法、計算機システム及び管理サーバ |
JP2010146087A (ja) * | 2008-12-16 | 2010-07-01 | Hitachi Ltd | 系切替計算機システムの管理方法 |
JP2011081462A (ja) * | 2009-10-05 | 2011-04-21 | Hitachi Ltd | 計算機装置、計算機システム、アダプタ承継方法 |
-
2012
- 2012-07-02 JP JP2012148135A patent/JP2014010731A/ja active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007257259A (ja) * | 2006-03-23 | 2007-10-04 | Nec Corp | 情報処理装置、記憶領域クリーンアップ方法およびプログラム |
JP2008097276A (ja) * | 2006-10-11 | 2008-04-24 | Hitachi Ltd | 障害回復方法、計算機システム及び管理サーバ |
JP2010146087A (ja) * | 2008-12-16 | 2010-07-01 | Hitachi Ltd | 系切替計算機システムの管理方法 |
JP2011081462A (ja) * | 2009-10-05 | 2011-04-21 | Hitachi Ltd | 計算機装置、計算機システム、アダプタ承継方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3211532B1 (en) | Warm swapping of hardware components with compatibility verification | |
US9317317B2 (en) | Implementing concurrent device driver maintenance and recovery for an SRIOV adapter in a virtualized system | |
US8938528B2 (en) | Computer system, and method for managing resource pool information | |
JP5216336B2 (ja) | 計算機システム、管理サーバ、および、不一致接続構成検知方法 | |
JP6458146B2 (ja) | 計算機及びメモリ領域管理方法 | |
US20080127326A1 (en) | Use of n_port id virtualization to extend the virtualization capabilities of the fc-sb-3 protocol and other protocols | |
KR20070100367A (ko) | 하나의 가상 머신에서 다른 가상 머신으로 메모리를동적으로 재할당하기 위한 방법, 장치 및 시스템 | |
JP5149732B2 (ja) | 仮想計算機システム | |
JP6111181B2 (ja) | 計算機の制御方法及び計算機 | |
US10146552B2 (en) | Identification of bootable devices | |
JP3815569B2 (ja) | ロジカル・パーティション・データ処理システムにおいてパーティション・ファームウェアを同時更新及び活動化するための方法及び装置 | |
CN106537354B (zh) | 虚拟化基础设施管理装置、系统、方法和记录介质 | |
WO2018201461A1 (zh) | 虚拟机迁移的方法、装置和虚拟化系统 | |
JP2011186915A (ja) | 仮想計算機システム及び仮想計算機の制御方法 | |
WO2020063432A1 (zh) | 一种升级虚拟化模拟器的方法和装置 | |
US20130014113A1 (en) | Machine operation plan creation device, machine operation plan creation method and machine operation plan creation program | |
JP5266347B2 (ja) | 引継方法、計算機システム及び管理サーバ | |
US9400730B2 (en) | Virtual machine system and method of measuring processor performance | |
JP2014010731A (ja) | 計算機、計算機システム、及びioデバイス構成の引継ぎ方法 | |
WO2010023756A1 (ja) | 仮想プロセッサを含む情報処理装置、情報処理方法、およびプログラム | |
JP7318799B2 (ja) | 情報処理装置、操作制御方法および操作制御プログラム | |
US20220357976A1 (en) | Information processing apparatus, information processing method, and computer-readable recording medium storing information processing program | |
US20220350820A1 (en) | Mutually exclusive feature detection in an evolving distributed system | |
JP5553851B2 (ja) | 計算機、仮想化機構、および仮想計算機の起動管理方法 | |
JP5481508B2 (ja) | 計算機、仮想化機構、計算機システム、および仮想計算機の起動管理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20141107 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20151002 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20151027 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20160301 |