JP5222651B2 - 仮想計算機システムおよび仮想計算機システムの制御方法 - Google Patents

仮想計算機システムおよび仮想計算機システムの制御方法 Download PDF

Info

Publication number
JP5222651B2
JP5222651B2 JP2008195936A JP2008195936A JP5222651B2 JP 5222651 B2 JP5222651 B2 JP 5222651B2 JP 2008195936 A JP2008195936 A JP 2008195936A JP 2008195936 A JP2008195936 A JP 2008195936A JP 5222651 B2 JP5222651 B2 JP 5222651B2
Authority
JP
Japan
Prior art keywords
virtual
virtual machine
configuration information
real
computer
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
JP2008195936A
Other languages
English (en)
Other versions
JP2010033404A (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 JP2008195936A priority Critical patent/JP5222651B2/ja
Priority to US12/483,724 priority patent/US20100031258A1/en
Priority to EP09251574A priority patent/EP2151756A3/en
Publication of JP2010033404A publication Critical patent/JP2010033404A/ja
Application granted granted Critical
Publication of JP5222651B2 publication Critical patent/JP5222651B2/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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • 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
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • 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/4557Distribution of virtual machine instances; Migration and load balancing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Description

本発明は、仮想計算機システムの制御方法に関し、特に、仮想計算機が持つ外部とのインターフェイスとしてネットワークインターフェイスとストレージインターフェイスを対象に、周囲の機器から透過的に扱い、仮想計算機群について情報を集約していない管理サーバを用いて、実計算機をまたいだ仮想計算機の移動を安全に行う制御方法に関する。
仮想計算機は実計算機の資源を有効に利用するための手段として実用化されている技術である。特に、利用率が低い複数の実計算機を仮想計算機として動作させる運用に変えることで資源を集約し、ストレージやネットワーク、電力などを節約する用途が注目されている。
仮想計算機は、物理的な資源の集約や電力の節約など、得られる利点は多いが、近年では仮想計算機の管理が複雑化していることが問題となっている。多数の仮想計算機を扱う場合にこの傾向は顕著に現れる。
ある実計算機上で動作していた1つの仮想計算機上のゲストシステムをいったん停止し、別の実計算機上の1つの仮想計算機上で動作させることを、仮想計算機を移動することであると定義すると、例えば、仮想計算機を実計算機をまたいで移動させるような運用や管理を行うときには、それぞれの仮想計算機がどのような状況にあり、仮想計算機を移動させるときには仮想計算機に接続されている機器にどのような影響があるのかを把握した管理が必要となり、管理サーバを含め、実計算機、仮想計算機の全てを考慮し、複雑なシステムとして扱うことになる。
このようなシステムとして、ESX Server 3i Configuration Guide(非特許文献1)、Cisco MDS and Emulex Virtual HBA Solutions for VMware Infrastructure 3(非特許文献2)に記載された技術があった。
ESX Server 3i Configuration Guide,Storage,7−Raw Device Mapping−Benefits of Raw device Mapping,(p113−115)、インターネット<URL:http://www.vmware.com/pdf/vi3_35/esx_3i_e/r35/vi3_35_25_3i_server_config.pdf> Cisco MDS and Emulex Virtual HBA Solutions for VMware Infrastructure 3,6.Array level LUN Masking,Mapping and VMotion,(p12−14)、インターネット<URL:http://www.emulex.com/white/hba/CiscoEmulexVirtualizationforVMware.pdf>
しかしながら、非特許文献1、2に記載のように、実計算機をまたいで仮想計算機を移動させるときには、仮想計算機の周辺の環境に影響を及ぼさないように管理ソフトウェアがネットワークの制御やストレージの制御を行っているが、これらの管理ソフトウェアは仮想計算機を制御するソフトウェアとは別のものとして提供されており、それぞれの機器が仮想計算機の移動と干渉した不具合を起こさないように留意しつつ操作する必要があり、複雑な制御が必要である。
例えば、ストレージについては移動元となる実計算機と移動先となる実計算機からのアクセスを許可しなければならない。また、仮想計算機が格納されているストレージが移動元と移動先の実計算機からのアクセスを行えなければ、実計算機をまたいだ仮想計算機の移動ができない。
そのため、従来では、実計算機をまたいだ仮想計算機の移動を実現するためには、仮想計算機のストレージとして利用する媒体について、移動先となりうる複数の実計算機からのアクセスを許可する。この仕組みを利用することで、移動元となる実計算機と移動先となる実計算機から、同一のディスクにアクセスすることができ、実計算機をまたいだ仮想計算機の移動が可能となるが、これは複数の実計算機、さらには複数の仮想計算機から同時にアクセスすることを可能としていた。
仮想計算機上で起動するOSを格納するような一般的なディスクでは、複数の計算機から共有された環境で利用することを前提にした仕組みを持たないため、複数の計算機から同時にアクセスしたディスクはファイルシステムの整合性が取れなくなり、破損してしまうという問題がある。
また、ストレージコントローラにはこのような危険性を排除するために、ディスクと実計算機のストレージインターフェイスを対応付ける仕組みを持つものがあるが、この機能を利用したストレージは特定のストレージインターフェイスからのアクセスのみしか受け付けないため、実計算機をまたいで仮想計算機を移動させるにはストレージコントローラの管理ソフトウェアを用いてストレージコントローラを制御することが必要となる。
また、同時起動を防いだり、ネットワークやストレージの状況を把握するために集約的な管理サーバが必要となり、この集約的な管理サーバに障害が発生した場合に仮想計算機の運用についての情報が失われ、それぞれの仮想計算機がどの実計算機で稼動しているか、また、どのような状態であるかを把握することが困難である。
例えば、非特許文献2に示す技術では、1台の仮想計算機を別の実計算機に移動させた場合に、仮想計算機が保持しているストレージ接続用のインターフェイスである仮想FC−HBAの持つ仮想WWNを変更する必要がない旨が記載されている。
この方式を採用すればストレージコントローラ内のディスクと計算機のストレージインターフェイスを対応付ける仕組みに対して、仮想計算機を移動することによるWWNに関する設定変更をする必要がない。
しかしながら、非特許文献2の技術によれば、仮想計算機を実計算機間で移動した際に、どの仮想WWNがどの実計算機上で使われているか、あるいは新たな仮想計算機に対して新たな仮想WWNを割り当てるとき、どのような値のWWNを割り当てれば重複が発生しないかを管理する手段が必要となり、その管理手段が障害により失われると仮想WWNの割り当て管理ができなくなるという課題がある。
ここで、図10および図11により、従来の仮想計算機システムが複雑な制御による具体的な問題点について説明する。図10および図11は従来の仮想計算機システムの制御における具体的な問題点を説明するための説明図であり、図10は実計算機を用いてスケールイン・スケールアウトを行う場合、図11は仮想サーバ技術で仮想計算機を移動する場合を示している。
図10において、システムは管理サーバ(301)、3台の実計算機(302,303,304)、FCスイッチ(331)、Ethernet(登録商標)スイッチ(332)、ロードバランサ(333)、ストレージ装置(341)、そしてロードバランサの外にある外部ネットワーク(335)からなる。実計算機は物理FC HBA(311,312,315,316,319,320)と物理NIC(313,314,317,318,321,322)を持つほか、管理用のNIC(308,309,310)も備えている。
また、LU10(344)に格納された業務システム1(321)とLU30(346)に格納された業務システム3(323)が同じ機能を持ち、ロードバランサを用いてこのふたつのシステムをロードバランサルールAにより、負荷分散している。
LU20(345)に格納された業務システム2(322)とLU40(347)に格納された業務システム4(323)は同じ機能を持つシステムだが、業務システム2のみが起動されているとする。
このとき、業務システム3の処理能力が不要となり、業務システム4(324)を起動し、業務システム2との間でロードバランサルールBにより負荷を分散する構成に変更する必要が生じた場合には以下のような作業が必要となる。
(1)管理サーバ(301)がNIC(307)を用いて、実計算機3のNIC(310)を経由して実計算機3で動作する業務システム3に停止を指示する。
(2)管理サーバ(301)がNICを用いて、ストレージコントローラ(342)へNIC(305)を経由して、LUNセキュリティ定義(343)を変更するよう、指示する。
*LU30 ⇔ WWN30
↓変更
*LU40 ⇔ WWN30
なお、ストレージコントローラに指示を与えるため、管理サーバ(301)にはストレージコントローラの管理ソフトウェア(325)が必要である。
(3)管理サーバ(301)がNICを用いて、ロードバランサへNIC(306)を経由してロードバランサ内で管理されているルールテーブル(334)に格納されているロードバランサルールAから業務システム3の登録を解除する。
*業務システム1 ⇔ 業務システム3
↓変更
*業務システム1
なお、ロードバランサに指示を与えるため、管理サーバ(301)にはロードバランサの管理ソフトウェア(326)が必要である。
(4)管理サーバ(301)がNICを用いて、ロードバランサへNICを経由してロードバランサルールBに業務システム4の登録を追加する。
*業務システム2
↓変更
*業務システム2 ⇔ 業務システム4
上記と同様にこの操作ではロードバランサに指示を与えるため、管理サーバ(301)にはロードバランサに対応した管理ソフトウェアのインストールが必要である。
(5)管理サーバ(301)がNICを用いて、実計算機3のNICを経由して実計算機3の起動を指示する。
以上のような手順が発生し、実計算機の管理のみでは制御することができず、ストレージコントローラやロードバランサの管理が必要となるという問題がある。
また、図11において、システムは管理サーバ(401)、2台の実計算機(406,407)、FCスイッチ(440)、Ethernet(登録商標)スイッチ(441)、ロードバランサ(442)、ストレージ(447)、外部ネットワーク(443)で構成されている。実計算機ではLPAR1(408),LPAR2(409),LPAR3(411)の仮想計算機が動作し、その上でOS1(412)、OS2(413)、OS3(414)のシステムが動作している。
仮想計算機を移動させるときには、移動元と移動先で同一の情報を用いるなどのことがないよう、管理サーバ(401)が仮想計算機についての構成情報を集約的に管理している。LPAR2を移動元実計算機(406)から移動先実計算機(407)へ移動させるときには管理サーバ(401)が管理している情報を用い、以下のような処理を行う。
(1)管理サーバ(401)がNIC(405)を用いて、移動元の仮想計算機のNIC(460)を経由し、移動元の仮想計算機のハイパバイザエージェント(429)へ移動元仮想計算機の停止を要求する。
(2)管理サーバ(401)がNIC(405)を用いて、移動先の仮想計算機のNIC(431)を経由し、移動先の仮想計算機のハイパバイザエージェント(430)へ移動先仮想計算機(410)の起動を要求する。
管理サーバ(401)ではこれらの段階について、移動元の仮想計算機と移動先の仮想計算機で重複する情報を保持しないかをCPU(402),主記憶(403),ストレージ(404)を用いて管理する。
具体的には物理FC HBA(432,433,436,437)を仮想化した仮想FC HBA(415,417,419,421)や物理NIC(434,435,438,439)を仮想化した仮想NIC(416,418,420,422)の情報が重複していないかをハイパバイザ(423,424)が保持する仮想FC HBA管理テーブル(425,427)や仮想NIC管理テーブル(426,428)を参照する。
なお、従来のシステムではWWNやMACアドレスの仮想化は行わないことが一般的で、物理的なWWNやMACアドレスが仮想計算機によって利用される。
また、仮想サーバのシステムでは特殊なファイルシステムにより、1つのLUに複数のOSが格納されることがある。このシステムではOS1の区画(450)とOS2の区画(451)がLU20(448)に格納されている。
また、OS3の区画(452)はLU30(449)に格納されている。このシステムにおいて、以下のような短所がある。
(1)実計算機がハイパバイザを用いずにLUにアクセスしたとき、予期しないファイルシステムにアクセスしてしまい、ディスクを破損するおそれがある。
(2)管理サーバ(401)が集約的に仮想計算機についての構成情報を保持しているため、他の計算機では代替することができない。
(3)WWNの仮想化に対応していないため、管理者はストレージコントローラ(444)のLUNセキュリティ定義(445)について以下のように定義し、LU20を複数のWWNに開放する。複数のサーバからアクセス可能であるため、サーバが同時に動作したときにディスク内容を破損してしまうおそれがある。
*LU10(446)⇔WWN10
*LU20(461)⇔WWN20
*LU20(461)⇔WWN30
*LU30(462)⇔WWN40
そこで、本発明の目的は、仮想計算機の移動を行う場合に、簡単な手順で、安全に移動処理を行うことができる仮想計算機システムの制御方法を提供することにある。
本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。
すなわち、代表的なものの概要は、実計算機上で動作している仮想計算機を別の実計算機上に移動させる際、管理部により、移動元の仮想計算機を停止させ、移動先の仮想計算機を別の実計算機上に定義し、その起動を抑止した状態で、移動元の仮想計算機の構成情報及び移動先の仮想計算機の構成情報を変更し、構成情報の変更後に、移動先の仮想計算機の起動の抑止を解除するものである。
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。
すなわち、代表的なものによって得られる効果は、仮想計算機のMACアドレスと仮想WWNが移動の前後で変化しないため、ルータやロードバランサなどのネットワーク機器やSANストレージ装置の設定を変更する必要がなく、仮想計算機の移動のための制御手順を簡単にできる。
また、仮想計算機1台とストレージ装置内のLUを1対1に対応付けたまま移動ができるので、誤って別のサーバがそのLUを重複してアクセスすることによるディスクデータの破壊が発生することがない、という信頼性上の効果がある。
まず、本発明の概要について説明する。
本発明では、仮想計算機を移動するときにネットワークとストレージについて、別の管理ソフトウェアに影響を及ぼさないために、移動元の仮想計算機と移動先の仮想計算機のネットワークインターフェイスとストレージインターフェイスが仮想計算機の周辺から同じ見え方にする。
このようにネットワークインターフェイスとストレージインターフェイスを透過的に扱うことで、仮想計算機が抽象化され、仮想計算機がどのような実計算機で動作していてもネットワークやストレージの管理ソフトウェアに影響することなく仮想計算機を運用することができる。
また、仮想計算機の周辺から透過的なネットワークインターフェイスとストレージインターフェイスを構成するために、仮想計算機の移動の際には、移動元仮想計算機が持つ仮想MACアドレスと仮想WWNを、移動先仮想計算機が持つ仮想MACアドレスと仮想WWNを交換して設定する手段を設ける。
物理的なネットワークインターフェイスの識別子であるMACアドレスと物理的なストレージインターフェイスの識別子であるWWNについて仮想化を行うことで、管理サーバは仮想計算機の移動において、移動元の仮想計算機と移動先の計算機で仮想MACアドレスと仮想WWNを交換し、仮想計算機がどの実計算機で動作しているものであっても、ネットワークの管理ソフトウェアやストレージの管理ソフトウェアでは同じ仮想計算機として扱う。
これにより、ネットワークの管理ソフトウェアやストレージの管理ソフトウェアでは仮想計算機の移動にともなう操作が不要となる。しかし、仮想MACアドレスと仮想WWNを交換する手段を提供したときに、移動元の仮想計算機と移動先の仮想計算機で仮想MACアドレスおよび仮想WWNが重複する可能性がある。例えば、これらが重複した複数の仮想計算機が同時に起動すると、ネットワークやストレージに対して、物理的な識別子が重複してしまうため、予期しないネットワークアドレスが付与されることや複数の計算機からの同時のアクセスによりストレージが破壊される可能性がある。
本発明ではインターフェイスの識別子が重複した複数の仮想計算機が同時に起動することを防ぐため、仮想計算機に起動を抑止する機能を用いる。また、仮想計算機の移動作業途中でハードウェア障害やソフトウェア障害などが発生したり、移動作業の管理が不十分であったりするとどの仮想計算機がどの実計算機で動作中なのかが分からなくなる場合があるので、このような仮想計算機の配置情報を分析して表示する手段を設ける。
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。
図1により、本発明の一実施の形態に係る制御方法が適用された仮想計算機システムの構成について説明する。図1は本発明の一実施の形態に係る制御方法が適用された仮想計算機システムの構成を示す構成図である。
図1において、仮想計算機システムは、CPU(102)、主記憶(103)、ストレージ(104)、ネットワークインターフェイス(105)を持つ管理部である管理サーバ(101)、2つの実計算機(106,107)、FCスイッチ(140),Ethernet(登録商標)スイッチ(141)、ロードバランサ(142)、ストレージ装置(149)から構成され、外部ネットワーク(143)に通じている。
このとき、実計算機(106,107)で、制御部となるハイパバイザ(123,124)が動作し、ハイパバイザ(123,124)はハイパバイザエージェント(129,130)からの指示で仮想計算機を管理する。
ハイパバイザエージェント(129,130)はネットワークインターフェイス(150,131)を用い、管理サーバ(101)から指示を受けることでハイパバイザ(123,124)の挙動を変化させることができる。
ハイパバイザ(123,124)は、物理FC HBA(132,133,136,137)を仮想計算機(108,109,111)で共有して利用するために、物理FC HBAと仮想FC HBA(115,117,121)を関連付けるための仮想FC HBA管理テーブル(125,127)をもっている。
同様に物理NIC(134,135,138,139)を仮想計算機で共有して利用するために、物理NICと仮想NIC(116,118,122)を関連付けるための仮想NIC管理テーブル(126,128)をもっている。
このとき、仮想計算機(108)ではLU10(146)に格納されているOS1(112)が動作し、仮想計算機(109)ではLU20(147)に格納されているOS2(113)が動作し、仮想計算機(111)ではLU30(148)に格納されているOS3(114)がそれぞれ並列に動作している。
なお、ストレージコントローラ(144)ではLUNセキュリティ定義(145)を操作し、仮想FC HBA(115)からはLU10(146)へのアクセスのみを許可し、仮想FC HBA(117)からはLU20(147)へのアクセスのみを許可し、仮想FC HBA(121)からはLU30(148)へのアクセスのみを許可している。
次に、図2〜図4により、本発明の一実施の形態に係る制御方法による仮想計算機の移動動作について説明する。図2〜図4は本発明の一実施の形態に係る制御方法による仮想計算機の移動動作を説明するための説明図であり、仮想計算機の同時起動を防止し、安全に移動させるために管理サーバ(101)からハイパバイザ(123,124)へ定められた順で指示を出すことでハイパバイザ(123,124)が処理を行う際の処理時の仮想計算機システムの状態を示している。
(1)まず、図2に示すように管理サーバ(101)が移動先の仮想計算機(110)を定義する。この仮想計算機(110)は他の仮想計算機(108,109、111)と同様に仮想FC HBA(119)と仮想NIC(120)をもつ。
(2)移動先の実計算機(107)で動作するハイパバイザエージェント(130)が管理サーバ(101)からの指示により、定義した移動先の仮想計算機(110)の起動を抑止する。起動の抑止をされた仮想計算機は停止した状態から起動することができない。
(3)移動元の実計算機(106)で動作するハイパバイザエージェント(129)が管理サーバ(101)からの指示により、移動元の仮想計算機(109)のOS2を停止する。OS2が停止されたことにより、LU20(147)へのディスクアクセスがなくなる。
(4)管理サーバ(101)は移動元の実計算機(106)で動作するハイパバイザエージェント(129)に仮想計算機の状態を問い合わせ、移動元仮想計算機(109)が停止していることを確認する。
(5)移動元の実計算機(106)で動作しているハイパバイザエージェント(129)が管理サーバ(101)からの指示により移動元の仮想計算機(109)の起動を抑止する。
(6)管理サーバ(101)が移動元の仮想計算機(109)と移動先の仮想計算機(110)の仮想WWNを交換する。交換は以下の(a)〜(d)の手順で行われる。
(a)管理サーバ(101)が移動元の実計算機(106)で動作するハイパバイザエージェント(129)から移動元の仮想計算機(109)の仮想FC HBA(117)に設定されている仮想WWNを取得する。取得した仮想WWNは管理サーバ(101)の主記憶(103)に記憶する。
(b)管理サーバ(101)が移動先の実計算機(107)で動作するハイパバイザエージェント(130)から移動先の仮想計算機(110)の仮想FC HBA(119)に設定されている仮想WWNを取得する。取得した仮想WWNは管理サーバ(101)の主記憶(103)に記憶する。
(c)管理サーバ(101)が移動先の実計算機(107)で動作するハイパバイザエージェント(130)に指示を出し、移動先の仮想計算機(110)の仮想FC HBA(119)に取得した移動元の仮想計算機(109)の仮想WWNの設定を要求する。管理サーバ(101)は応答で設定の完了を確認する。
(d)管理サーバ(101)が移動元の実計算機(106)で動作するハイパバイザエージェント(129)に指示を出し、移動元の仮想計算機(109)の仮想FC HBA(117)に取得した移動先の仮想計算機(110)の仮想WWNの設定を要求する。管理サーバ(101)は応答で設定の完了を確認する。
(7)移動元の仮想計算機(109)と移動先の仮想計算機(110)の仮想NIC(118,120)について仮想MACアドレスの交換を行う。この交換の手順は上記(a)〜(d)の手順と同様とする。
(8)移動元の仮想計算機(109)と移動先の仮想計算機(110)の時刻差分情報を交換する。交換の手順は上記(a)〜(d)の手順と同様とする。なお、時刻差分情報はハイパバイザ(123,124)が管理している仮想計算機の情報に含まれている。
なお、この時点の状態を示したものが図3である。
(9)移動先の実計算機(107)で動作するハイパバイザエージェント(130)が管理サーバ(101)からの指示により、移動先の仮想計算機(110)の起動の抑止を解除する。
(10)移動先の実計算機(107)で動作するハイパバイザエージェント(130)が管理サーバ(101)からの指示により、移動先の仮想計算機(110)を起動する。
これにより、図4に示すような状態となり、移動先の仮想計算機(110)でOS2が起動する。
以上の手順で安全に仮想計算機を実計算機をまたいで移動させることができる。ただし、移動元の仮想計算機(109)と移動先の仮想計算機(110)の間での構成情報(仮想WWN,仮想MACアドレス,時刻差分情報)の交換についてはそれぞれ順不同で行うことができる。
また、同じ移動の手順を同一の組の仮想計算機の間で行うときには、移動元であった仮想計算機が移動の完了後に定義済みの仮想計算機として残るため、移動先の仮想計算機を定義する手順については不要である。
次に、図5により、本発明の一実施の形態に係る制御方法による仮想計算機の移動シーケンスについて説明する。図5は本発明の一実施の形態に係る制御方法による仮想計算機の移動シーケンスを示す図であり、移動元の実計算機(106)で動作するハイパバイザエージェント(129)、管理サーバ(101)、移動先の実計算機(107)で動作するハイパバイザエージェント(130)に注目して表している。図5に示した制御手順をLPAR移動シーケンスとする。
(1)管理サーバ(101)が、移動元計算機で動作するハイパバイザエージェント(129)に起動抑止処理への対応を確認する(ステップ201)。これは、後ほど移動元の仮想計算機(109)と移動先の仮想計算機(110)との間で仮想WWNや仮想MACアドレスなどの構成情報を交換するときに双方の仮想計算機(109,110)が起動抑止処理を行わなければ、安全な状態で構成情報を交換できないためである。
(2)管理サーバ(101)が、移動先計算機で動作するハイパバイザエージェント(130)に移動先の仮想計算機(110)について自動起動の無効を確認する(ステップ202)。自動起動が有効であると移動先の実計算機(107)で予期しない再起動が発生したときに、仮想計算機(110)が予期しない構成情報を保持して起動する可能性があり、安全ではないためである。
(3)管理サーバ(101)が、移動元の実計算機(106)で動作するハイパバイザエージェント(129)に移動元の仮想計算機(109)の起動状態を確認する(ステップ203)。管理サーバ(101)は起動状態の確認によって、移動元の仮想計算機(109)を停止する必要があるかを判断する。
(4)管理サーバ(101)が、移動先の実計算機(106)で動作するハイパバイザエージェント(129)に移動先の仮想計算機(110)に起動抑止処理を行うように指示する(ステップ204)。移動先の仮想計算機(110)はこの起動抑止処理によって、起動を抑止され、構成情報を交換する間に起動することを防ぐことができ、安全に構成情報を交換することができる。
(5)管理サーバ(101)は、ステップ203において、移動元の実計算機(106)で動作するハイパバイザエージェント(129)に移動元の仮想計算機(109)の起動状態を確認したときに、起動されている状態であった場合に、移動元計算機で動作するハイパバイザエージェントに移動元仮想計算機の停止処理を要求する(ステップ205)。仮想計算機が起動している状態では安全に仮想計算機を移動させることができないためである。
(6)管理サーバ(101)は、移動元の実計算機(106)で動作するハイパバイザエージェント(129)はステップ205による停止処理の要求を受け付け、正常に処理されたことを確認することで、仮想計算機の停止を確認する(ステップ206)。
(7)管理サーバ(101)は、移動元の実計算機(106)で動作するハイパバイザエージェント(129)に対し、移動元の仮想計算機(109)の起動抑止処理を行う(ステップ207)。この段階で移動元の仮想計算機(109)の起動を抑止することで、移動元の仮想計算機(109)と移動先の仮想計算機(110)が起動抑止状態となり、構成情報の交換をしている間も双方の仮想計算機(109,110)が起動することなく、安全に構成情報を交換できる。
(8)管理サーバ(101)は、移動元計算機で動作するハイパバイザエージェントへ移動元仮想計算機のFC情報の取得を要求する(ステップ208)。この要求で仮想計算機がどの物理FC HBAを利用しているのか、また仮想FC HBAに設定されている仮想WWNを取得する。
(9)管理サーバ(101)は、移動先の実計算機(107)で動作するハイパバイザエージェント(130)へ移動先の仮想計算機(110)のFC情報の取得を要求する(ステップ209)。
(10)管理サーバ(101)は、移動先の実計算機(107)で動作するハイパバイザエージェント(130)に移動先の仮想計算機(110)の仮想WWNの設定を要求する(ステップ210)。設定を要求する仮想WWNの値はステップ208でのFC情報の取得による情報に含まれるものである。
(11)管理サーバ(101)は、移動元の実計算機(106)で動作するハイパバイザエージェント(129)に移動元の仮想計算機(109)の仮想WWNの設定を要求する(ステップ211)。設定を要求する仮想WWNの値は、ステップ209でのFC情報の取得による情報に含まれるものである。
(12)管理サーバ(101)は、移動元の実計算機(106)で動作するハイパバイザエージェント(129)へ移動元の仮想計算機(109)の仮想MACアドレスの取得を要求する(ステップ212)。
(13)管理サーバ(101)は、移動先の実計算機(107)で動作するハイパバイザエージェント(130)へ移動先の仮想計算機(110)の仮想MACアドレスの取得を要求する(ステップ213)。
(14)管理サーバ(101)は、移動先の実計算機(107)で動作するハイパバイザエージェント(130)へ移動先の仮想計算機(110)の仮想MACアドレスの設定を要求する(ステップ214)。設定を要求する仮想MACアドレスの値は、ステップ212での移動元の実計算機(106)で動作するハイパバイザエージェント(129)への仮想MACアドレスの取得に含まれるものである。
(15)管理サーバ(101)は、移動元の実計算機(106)で動作するハイパバイザエージェント(129)へ移動元の仮想計算機(109)の仮想MACアドレスの設定を要求する(ステップ215)。設定を要求する仮想MACアドレスの値は、ステップ213での移動先の実計算機(107)で動作するハイパバイザエージェント(130)への仮想MACアドレスの取得に含まれるものである。
(16)管理サーバ(101)は、移動元の実計算機(106)で動作するハイパバイザエージェント(129)へ移動元の仮想計算機(109)についての時刻差分情報の取得を要求する(ステップ216)。この時刻差分情報には移動元の仮想計算機(109)と移動元の実計算機(106)のハイパバイザ(123)の間の時刻差分情報が含まれている。
(17)管理サーバ(101)は、移動先の実計算機(107)で動作するハイパバイザエージェント(130)へ移動先の仮想計算機(110)についての時刻差分情報の取得を要求する(ステップ217)。この時刻差分情報には移動先の仮想計算機(110)と移動先の実計算機(107)のハイパバイザ(124)の間の時刻差分情報が含まれている。
(18)管理サーバ(101)は、移動先の実計算機(107)で動作するハイパバイザエージェント(130)へ移動先の仮想計算機(110)の時刻差分情報の設定を要求する(ステップ218)。設定を要求する時刻差分情報は、ステップ216での移動元の実計算機(106)で動作するハイパバイザエージェント(129)へ要求した時刻差分情報の取得に含まれているものである。
(19)管理サーバ(101)は、移動元の実計算機(106)で動作するハイパバイザエージェント(129)へ移動元の仮想計算機(109)の時刻差分情報の設定を要求する(ステップ219)。設定を要求する時刻差分情報は、ステップ217での移動先の実計算機(107)で動作するハイパバイザエージェント(130)へ要求した時刻差分情報の取得に含まれているものである。
(20)管理サーバ(101)は、移動元の実計算機(106)で動作するハイパバイザエージェント(129)へ構成情報の保存を要求する(ステップ220)。構成情報を保存することで、以後、移動元の実計算機(106)が再起動しても、仮想計算機(109)が移動された状態で起動する。
(21)管理サーバ(101)は、移動先の実計算機(107)で動作するハイパバイザエージェント(130)へ構成情報の保存を要求する(ステップ221)。構成情報を保存することで、以後、移動先の実計算機(107)が再起動しても、仮想計算機(110)が移動された状態で起動する。
(22)管理サーバ(101)は、移動先の実計算機(107)で動作するハイパバイザエージェント(103)へ移動先の仮想計算機(110)の起動抑止解除を要求する(ステップ222)。これにより、LPAR移動フローの開始直後に行ったステップ204での起動抑止処理が解除され、移動先の仮想計算機(110)が起動できる状態となる。
(23)管理サーバ(101)は、移動先の実計算機(107)で動作するハイパバイザエージェント(130)へ移動先の仮想計算機(110)の起動処理を要求する(ステップ223)。起動処理の要求を受け取った仮想計算機(110)は移動元の仮想計算機(109)がアクセスしていたディスクから起動する。
(24)管理サーバ(101)は、移動先の実計算機(107)で動作するハイパバイザエージェント(130)へ移動先の仮想計算機(110)の起動状態を確認する(ステップ224)。移動先の仮想計算機(110)の起動状態を確認することで、正常に仮想計算機の移動が行われたと判断し、LPAR移動フローは終了となる。
次に、図6により、本発明の一実施の形態に係る制御方法による仮想計算機の移動処理を行うスクリプトプログラムの処理について説明する。図6は本発明の一実施の形態に係る制御方法による仮想計算機の移動処理を行うスクリプトプログラムの処理を示すフローチャートであり、このスクリプトプログラムは、管理サーバ(101)上で実行されている。なお、図6において、同様の処理が続く部分については省略した。省略部分を含む各処理の動作は以下で説明するとおりである。
なお、それぞれの処理は、管理サーバ(101)から、移動元と移動先それぞれのLPARが構成されている実計算機(106,107)で動作するハイパバイザエージェント(129,130)に指示を送ることで実現される。
(1)スクリプトプログラムが起動の指示を管理サーバ(101)から受けたときに開始する(ステップ500)。
(2)ConfirmSrcLparSupportActInhibitAction[移動元LPARが起動抑止に対応していることを確認する](ステップ501)。
(3)直前の処理に成功したか否かを判断し(ステップ502)、ステップ502で直前の処理に成功していない場合は、処理を続行するか否かを判断する(ステップ503)。続行するか否かの判断材料は管理サーバ(101)の入力から与えられる。ステップ502で直前の処理に成功した場合、またはステップ503で処理を続行する場合、次のステップに進み、ステップ503で処理を続行しない場合は、異常終了として、スクリプトが異常に終了した状態を管理サーバ(101)に応答する(ステップ511)。
(4)ConfirmSrcLparAutoActNoAction[移動元LPARの自動起動が無効であることを確認する](ステップ504)。
(5)直前の処理に成功したか否かを判断し(ステップ505)、ステップ505で直前の処理に成功していない場合は、処理を続行するか否かを判断する(ステップ506)。続行するか否かの判断材料は管理サーバ(101)の入力から与えられる。ステップ505で直前の処理に成功した場合、またはステップ506で処理を続行する場合、次のステップに進み、ステップ506で処理を続行しない場合は、異常終了として、スクリプトが異常に終了した状態を管理サーバ(101)に応答する(ステップ511)。
以下、各処理の後に、ステップ502およびステップ503(ステップ505およびステップ506)の処理が行われ、直前の処理に成功した場合、または処理を続行する場合、次のステップに進み、処理を続行しない場合は、異常終了として処理される。
(6)ConfirmSrcLparActAction[移動元LPARが起動状態であることを確認する](ステップ507)。
以下、図示しないが、各処理を行う。
(7)RequestDestLparActInhibitYesAction[移動先LPARに起動抑止状態を設定する]。
(8)RequestSrcLparDeactAction[移動元LPARの停止を要求する]。
(9)ConfirmSrcLparDeactAction[移動元LPARの停止を確認する]。
(10)RequestSrcLparActInhibitYesAction[移動元LPARに起動抑止状態を設定する]。
(11)SetSrcLparVfcNumberInhibitYesAction[移動元LPARの仮想FCの分割識別子を固定する]。
(12)SetDestLparVfcNumberInhibitYesAction[移動先LPARの仮想FCの分割識別子を固定する]。
(13)GetSrcLparAutoVnicAction[移動元LPARの仮想NICの情報を取得する]。
(14)GetDestLparAutoVnicAction[移動先LPARの仮想NICの情報を取得する]。
(15)SetDestLparAutoVnicAction[移動先LPARの仮想NICの情報を設定する]。
(16)SetSrcLparAutoVnicAction[移動元LPARの仮想NICの情報を設定する]。
(17)GetSrcLparPhysicalFCAction[移動元LPARの実FCの情報を取得する]。
(18)GetSrcLparLogicalFCAction[移動元LPARの仮想FCの情報を取得する]。
(19)GetDestLparPhysicalFCAction[移動先LPARの実FCの情報を取得する]。
(20)GetDestLparLogicalFCAction[移動先LPARの仮想FCの情報を取得する]。
(21)SetDestLparWWNAction[移動先LPARの仮想WWNの情報を設定する]。
(22)SetSrcLparWWNAction[移動元LPARの仮想WWNの情報を設定する]。
(23)GetSrcLparRTCDifferenceAction[移動元LPARの時刻差分情報を取得する]。
(24)GetDestLparRTCDifferenceAction[移動先LPARの時刻差分情報を取得する]。
(25)SetDestLparRTCDifferenceAction[移動先LPARの時刻差分情報を設定する]。
(26)SetSrcLparRTCDifferenceAction[移動先LPARの時刻差分情報を設定する]。
(27)RequestSrcLparSaveConfigAction[移動元LPARの構成情報の保存を要求する]。
(28)ConfirmSrcLparSaveConfigAction[移動元LPARの構成情報の保存を確認する]。
(29)RequestDestLparSaveConfigAction[移動先LPARの構成情報の保存を要求する]。
(30)ConfirmDestLparSaveConfigAction[移動先LPARの構成情報の保存を確認する]。
(31)RequestDestLparActInhibitNoAction[移動先LPARの起動抑止状態を解除する]。
(32)RequestDestLparActAction[移動先LPARの起動を要求する]。
(33)ConfirmDestLparActAction[移動先LPARの起動を確認する]。
(34) 全ての処理が終了すると正常終了として、スクリプトが正常に終了した状態を管理サーバ(101)に応答する(ステップ510)。
次に、図7〜図9により、本発明の一実施の形態に係る制御方法による仮想計算機の配置情報の分析処理について説明する。図7は本発明の一実施の形態に係る制御方法による仮想WWNを解析するスクリプトプログラムの動作を示すフローチャート、図8は本発明の一実施の形態に係る制御方法による仮想MACアドレスを解析するスクリプトプログラムの動作を示すフローチャート、図9は本発明の一実施の形態に係る制御方法によるハイパバイザエージェントを探索するスクリプトプログラムの動作を示すフローチャートであり、この各スクリプトプログラムは、管理サーバ(101)上で実行されている。
まず、仮想WWNを解析するスクリプトプログラムの動作は、図7に示すように以下に説明するとおりである。
(1)スクリプトプログラムは管理サーバ(101)から起動の指示を受けたときに開始する(ステップ600)。
(2)WWPN(World Wide Port Name)かWWNN(World_Wide_Node_Name)かを解析する(ステップ601)。仮想WWNの最下位1ビット目からの1ビットはWWPNかWWNNかを示している。スクリプトプログラムはこの情報を取り出す。
(3)シャーシ固有のシリアル番号を解析する(ステップ602)。仮想WWNの最下位2ビット目からの15ビットはシャーシに固有なシリアル番号を示している。スクリプトプログラムはこの情報を取り出す。
(4)パーティション番号を解析する(ステップ603)。仮想WWNの最下位17ビット目からの3ビットはパーティション番号を示している。スクリプトプログラムはこの情報を取り出す。
(5)物理FC HBAの相対スロット番号を解析する(ステップ604)。仮想WWNの最下位20ビット目からの4ビットは物理FC HBAの相対スロット番号を示している。スクリプトプログラムはこの情報を取り出す。なお、相対スロット番号とは物理的なブレード位置と物理FC HBAが取り付けられている物理的な位置の差分を取り、相対的な表現にしたものである。
(6)物理FC HBAのポート番号を解析する(ステップ605)。仮想WWNの最下位24ビット目からの1ビットは物理FC HBA上でどのポート番号にあたるかを示している。スクリプトプログラムはこの情報を取り出す。
(7)ベンダ固有の番号と照合する(ステップ606)。仮想WWNの最下位25ビット目から24ビットはベンダに固有な番号を示している。スクリプトプログラムはこの情報を取り出し、予期したベンダ固有の値と一致していることを確認する。
(8)仮想FC HBA識別番号を解析する(ステップ607)。仮想WWNの最下位49ビット目から3ビットは仮想FCの識別番号を示している。スクリプトプログラムはこの情報を取り出す。なお、仮想FC HBAの識別番号とは、物理FC HBAを複数の仮想FC HBAとして仮想化したときに、仮想FC HBAのそれぞれを識別するために付与される仮想FC HBAに固有な値である。
(9)プラットフォームを解析する(ステップ608)。仮想WWNの最下位52ビット目から3ビットはプラットフォームを示している。スクリプトプログラムはこの情報を取り出す。なお、プラットフォームとはハードウェア製品につけられた名前のことである。
(10)予約された値に一致するかを照合する(ステップ609)。仮想WWNの最下位55ビット目から2ビットは予約された値が格納されている。スクリプトプログラムはこの情報を取り出し、予約された値と一致しているかを確認する。
(11)ベンダ管理番号を解析する(ステップ610)。仮想WWNの最下位57ビット目から4ビットはベンダ管理番号を示している。スクリプトプログラムはこの情報を取り出す。ベンダ管理番号とは、ベンダに与えられたWWN空間について、重複しないように、ベンダが用途別に割り当てた値である。
(12)既定の値に一致するかを照合する(ステップ611)。仮想WWNの最下位61ビット目から4ビットは既定されている。スクリプトプログラムはこの情報を取り出し、既定された値と一致することを確認する。
(13)全ての情報を取り出し、解析を終えたスクリプトプログラムは終了する(ステップ612)。
また、仮想MACアドレスを解析するスクリプトプログラムの動作は、図8に示すように以下に説明するとおりである。
(1)スクリプトプログラムは管理サーバ(101)から開始の指示を受けることで仮想MACアドレスの解析を開始する(ステップ620)。
(2)ベンダ識別番号と照合する(ステップ621)。仮想MACアドレスの上位1バイト目からの3バイトはベンダ識別番号を示している。スクリプトプログラムはこの情報を取り出し、期待した値と一致することを確認する。
(3)仮想NICシステム識別番号を解析する(ステップ622)。仮想MACアドレスの上位4バイト目からの2バイトは仮想NICシステム識別番号を基に生成されている。この情報は仮想NICシステム識別番号と1対1で対応している。スクリプトプログラムはこの情報を取り出し、解析し、仮想NICシステム識別番号を取り出す。
(4)LPAR番号を解析する(ステップ623)。仮想MACアドレスの上位6バイト目からの1バイトはLPAR番号を基に生成されている。この情報はLPAR番号と1対1で対応している。スクリプトプログラムはこの情報を取り出し、解析し、LPAR番号を取り出す。
(5)全ての情報を取り出し、解析を終えたスクリプトプログラムは終了する(ステップ624)。
また、ハイパバイザエージェントを探索するスクリプトプログラムの動作は、図9に示すように以下に説明するとおりである。
ハイパバイザエージェント(129,130)は、LPARの特別な一種として構成されており、MACアドレスを解析し、特定の条件を満足するとき、具体的にはLPARの管理番号が17番であるときにハイパバイザエージェントとして一覧表示する。
(1)スクリプトプログラムは管理サーバ(101)からの起動の指示を受けたときに実行を開始する(ステップ700)。
(2)ICMPエコー要求をブロードキャストする(ステップ701)。スクリプトプログラムは管理サーバ(101)を通し、同じネットワークの全ての計算機に対してICMPエコー要求をブロードキャストする。このとき、ICMPエコー要求の送信を行うために、IPアドレスからMACアドレスを引き出すために、ARP要求を送信する。ARP要求によって解決されたIPアドレスとMACアドレスはARPテーブルに格納される。
(3)ICMPエコー応答を受信する(ステップ702)。ICMPエコー要求を受信した計算機はICMPエコー要求の送信元へICMPエコー応答を送信する。スクリプトプログラムはこのICMPエコー応答を受信する。
(4)テーブルにMACアドレスとIPアドレスを登録する(ステップ703)。ICMPエコー要求のブロードキャストとICMPエコー応答の受信を終えたシステムのARPテーブルには同じネットワークのIPアドレスとMACアドレスの対が登録されている。スクリプトプログラムはテーブルにこのMACアドレスとIPアドレスの対を登録する。
(5)テーブルからMACアドレスを取り出し解析する(ステップ704)。スクリプトプログラムはテーブルに登録したMACアドレスとIPアドレスの対から1つを取り出し、MACアドレスについてそのMACアドレスが仮想MACアドレスであると仮定して解析する。
(6)テーブルに格納されたMACアドレス全てについての解析が終わったかを判断する(ステップ705)。MACアドレスの解析は、テーブルに格納された数だけ行う。
(7)ステップ705でテーブルに格納されたMACアドレス全てについての解析が終わっていない場合は、繰り返しステップ704での解析結果がハイパバイザエージェントを示しているかを判断する(ステップ706)。スクリプトプログラムはステップ704での解析結果についてMACアドレスがハイパバイザエージェントのものと期待されるかを判断する。
(8)ステップ706で解析結果がハイパバイザエージェントを示していない場合は、ステップ704に戻り、ステップ706で解析結果がハイパバイザエージェントを示している場合は、テーブルから解析したMACアドレスに対応するIPアドレスを取り出し、そのIPアドレスと解析したMACアドレスの対を表示する(ステップ707)。
(9)ステップ705で、テーブルに格納されたMACアドレス全てについての解析が終わり、ハイパバイザエージェントのIPアドレスとMACアドレスの対と期待される情報を全て出力したスクリプトプログラムは終了する(ステップ708)。
以上の仮想WWNの解析、仮想MACアドレスの解析、ハイパバイザエージェントの探索により、仮想計算機の配置情報を分析することができ、仮想計算機を移動した結果として、現在どの実計算機上で仮想計算機が動作しているかを容易に判断することができる。
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
例えば、本実施の形態では、仮想計算機を移動する際に、移動元の仮想計算機と、移動先の仮想計算機の各情報を入れ替えることにより、移動を行うようにしているが、移動先の仮想計算機の情報に、移動元の仮想計算機の情報を上書きするようにしてもよい。その場合は、移動元の仮想計算機の情報を意味のない情報にするなどして、移動先の仮想計算機とは異なる情報とすればよい。
また、本実施の形態では、管理サーバにより、仮想計算機の移動処理を行っているが、管理サーバ以外の管理部により、仮想計算機の移動処理を行うようにしてもよい。
本発明は、計算機を多数運用するデータセンタなどにおいて、省エネルギーを目的に、あるいはトータルの計算機台数を無駄に増加させないようにするためシステムの負荷を監視しながら仮想計算機を特定の実計算機に移動して、空いた実計算機の電源を切断し、別用途に用いるなど効率的な計算機利用を図るシステムなどの広く適用可能である。
また、実計算機のハードウェア保守のとき、仮想計算機を別の実計算機に移動させることにより、保守のためのシステム停止時間を最小限にするシステムなどにも広く適用可能である。
本発明の一実施の形態に係る制御方法が適用された仮想計算機システムの構成を示す構成図である。 本発明の一実施の形態に係る制御方法による仮想計算機の移動動作を説明するための説明図である。 本発明の一実施の形態に係る制御方法による仮想計算機の移動動作を説明するための説明図である。 本発明の一実施の形態に係る制御方法による仮想計算機の移動動作を説明するための説明図である。 本発明の一実施の形態に係る制御方法による仮想計算機の移動シーケンスを示す図である。 本発明の一実施の形態に係る制御方法による仮想計算機の移動処理を行うスクリプトプログラムの処理を示すフローチャートである。 本発明の一実施の形態に係る制御方法による仮想WWNを解析するスクリプトプログラムの動作を示すフローチャートである。 本発明の一実施の形態に係る制御方法による仮想MACアドレスを解析するスクリプトプログラムの動作を示すフローチャートである。 本発明の一実施の形態に係る制御方法によるハイパバイザエージェントを探索するスクリプトプログラムの動作を示すフローチャートである。 従来の仮想計算機システムの制御における具体的な問題点を説明するための説明図である。 従来の仮想計算機システムの制御における具体的な問題点を説明するための説明図である。
符号の説明
101…管理サーバ、102…CPU、103…主記憶、104…ストレージ、105…ネットワークインターフェイス、106,107…実計算機、108,109,110,111…仮想計算機、115,117,121…仮想FC HBA、116,118,122…仮想NIC、123,124…ハイパバイザ、125,127…仮想FC HBA管理テーブル、126,128…仮想NIC管理テーブル、129,130…ハイパバイザエージェント、131,150…ネットワークインターフェイス、132,133,136,137…物理FC HBA、134,135,138,139…物理NIC、140…FCスイッチ,141…Ethernet(登録商標)スイッチ、142…ロードバランサ、143…外部ネットワーク、144…ストレージコントローラ、145…LUNセキュリティ定義、149…ストレージ装置、146,147,148…LU。

Claims (16)

  1. 複数の実計算機と、システムディスクとを備え、前記実計算機が有する制御部により前記実計算機上で動作する仮想計算機のそれぞれは論理的な通信ネットワークインターフェイスおよび論理的なストレージ接続インターフェイスを有し、それぞれアドレス情報として、仮想ネットワークアドレスおよび仮想ストレージインターフェイスアドレスを有し、前記論理的なストレージ接続インターフェイスに前記仮想計算機を起動するシステムが格納された前記システムディスクが接続された仮想計算機システムの制御方法であって、
    第一の実計算機の第一の制御部により管理される第一の仮想計算機を停止して、第二の実計算機の第二の制御部により管理される第二の仮想計算器に移動させる際、
    前記第一の制御部は、前記第一の仮想計算機の停止を確認し、前記第一の仮想計算機の起動を抑止し、
    前記第二の制御部は、前記第二の仮想計算機の起動を抑止し、
    前記第一の制御部は、前記第一の仮想計算機に関する第一の構成情報を取得し、
    前記第二の制御部は、前記第二の仮想計算機に関する第二の構成情報を取得し、
    前記第二の制御部は、前記第二の構成情報と前記第一の構成情報とを交換して、前記第一の構成情報を前記第二の仮想計算機に設定し、
    前記第一の制御部は、前記第一の構成情報と前記第二の構成情報とを交換して、前記第二の構成情報を前記第一の仮想計算機に設定することを特徴とする仮想計算機システムの制御方法。
  2. 請求項1記載の仮想計算機システムの制御方法において、
    前記第一及び第二の構成情報は、前記仮想ネットワークアドレス、前記仮想ストレージインターフェイスアドレス及び時刻差分情報のうち、少なくとも1つであることを特徴とする仮想計算機システムの制御方法。
  3. 請求項1記載の仮想計算機システムの制御方法において、
    前記仮想計算機システムは、前記実計算機が有する前記制御部の制御を行う管理部を備え、
    前記第一の制御部は、取得した前記第一の構成情報を前記管理部に保存し、
    前記第二の制御部は、取得した前記第二の構成情報を前記管理部に保存し、
    前記第二の制御部は、前記管理部を介して取得した前記第一の構成情報を、前記第二の構成情報と交換し、
    前記第一の制御部は、前記管理部を介して取得した前記第二の構成情報を、前記第一の構成情報と交換することを特徴とする仮想計算機システムの制御方法。
  4. 請求項3記載の仮想計算機システムの制御方法において、
    前記第二の制御部は、前記第一の構成情報及び前記第二の構成情報の交換後に、前記第二の仮想計算機の起動の抑止を解除することを特徴とする仮想計算機システムの制御方法。
  5. 請求項4記載の仮想計算機システムの制御方法において、
    前記管理部により、前記第一の実計算機の前記第一の仮想計算機の起動を抑止することを特徴とする仮想計算機システムの制御方法。
  6. 請求項4記載の仮想計算機システムの制御方法において、
    前記管理部により、同一サブネットワークに接続されている前記実計算機に散在している前記仮想計算機を動作させている前記制御部のネットワークアドレスを探索することを特徴とする仮想計算機システムの制御方法。
  7. 請求項4記載の仮想計算機システムの制御方法において、
    前記管理部により、同一サブネットワークに接続されている前記実計算機に散在している前記仮想計算機の前記仮想ネットワークアドレスを探索し、前記仮想ネットワークアドレスを持つ前記仮想計算機が、現在どの前記実計算機上で動作しているかを探索することを特徴とする仮想計算機システムの制御方法。
  8. 請求項4記載の仮想計算機システムの制御方法において、
    前記管理部は、前記複数の実計算機と接続され前記仮想計算機の管理を行う管理サーバに含まれることを特徴とする仮想計算機システムの制御方法。
  9. 複数の実計算機と、システムディスクとを備え、前記実計算機が有する制御部により前記実計算機上で動作する仮想計算機のそれぞれは論理的な通信ネットワークインターフェイスおよび論理的なストレージ接続インターフェイスを有し、それぞれアドレス情報として、仮想ネットワークアドレスおよび仮想ストレージインターフェイスアドレスを有し、前記論理的なストレージ接続インターフェイスに前記仮想計算機を起動するシステムが格納された前記システムディスクが接続された仮想計算機システムであって、
    第一の実計算機の第一の制御部により管理される第一の仮想計算機を停止して、第二の実計算機の第二の制御部により管理される第二の仮想計算器に移動させる際、
    前記第一の制御部は、前記第一の仮想計算機の停止を確認し、前記第一の仮想計算機の起動を抑止し、
    前記第二の制御部は、前記第二の仮想計算機の起動を抑止し、
    前記第一の制御部は、前記第一の仮想計算機に関する第一の構成情報を取得し、
    前記第二の制御部は、前記第二の仮想計算機に関する第二の構成情報を取得し、
    前記第二の制御部は、前記第二の構成情報と前記第一の構成情報とを交換して、前記第一の構成情報を前記第二の仮想計算機に設定し、
    前記第一の制御部は、前記第一の構成情報と前記第二の構成情報とを交換して、前記第二の構成情報を前記第一の仮想計算機に設定することを特徴とする仮想計算機システム。
  10. 請求項9記載の仮想計算機システムにおいて、
    前記第一及び第二の構成情報は、前記仮想ネットワークアドレス、前記仮想ストレージインターフェイスアドレス及び時刻差分情報のうち、少なくとも1つであることを特徴とする仮想計算機システム。
  11. 請求項9記載の仮想計算機システムにおいて、
    前記仮想計算機システムは、前記実計算機が有する前記制御部の制御を行う管理部を備え、
    前記第一の制御部は、取得した前記第一の構成情報を前記管理部に保存し、
    前記第二の制御部は、取得した前記第二の構成情報を前記管理部に保存し、
    前記第二の制御部は、前記管理部を介して取得した前記第一の構成情報を、前記第二の構成情報と交換し、
    前記第一の制御部は、前記管理部を介して取得した前記第二の構成情報を、前記第一の構成情報と交換することを特徴とする仮想計算機システム。
  12. 請求項11記載の仮想計算機システムにおいて、
    前記第二の制御部は、前記第一の構成情報及び前記第二の構成情報の交換後に、前記第二の仮想計算機の起動の抑止を解除することを特徴とする仮想計算機システム。
  13. 請求項12記載の仮想計算機システムにおいて、
    前記管理部は、前記第一の実計算機の前記第一の仮想計算機の起動を抑止することを特徴とする仮想計算機システム。
  14. 請求項12記載の仮想計算機システムにおいて、
    前記管理部は、同一サブネットワークに接続されている前記実計算機に散在している前記仮想計算機を動作させている前記制御部のネットワークアドレスを探索することを特徴とする仮想計算機システム。
  15. 請求項12記載の仮想計算機システムにおいて、
    前記管理部は、同一サブネットワークに接続されている前記実計算機に散在している前記仮想計算機の前記仮想ネットワークアドレスを探索し、前記仮想ネットワークアドレスを持つ前記仮想計算機が、現在どの前記実計算機上で動作しているかを探索することを特徴とする仮想計算機システム。
  16. 請求項12記載の仮想計算機システムにおいて、
    前記管理部は、前記複数の実計算機と接続され前記仮想計算機の管理を行う管理サーバに含まれることを特徴とする仮想計算機システム。
JP2008195936A 2008-07-30 2008-07-30 仮想計算機システムおよび仮想計算機システムの制御方法 Expired - Fee Related JP5222651B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2008195936A JP5222651B2 (ja) 2008-07-30 2008-07-30 仮想計算機システムおよび仮想計算機システムの制御方法
US12/483,724 US20100031258A1 (en) 2008-07-30 2009-06-12 Virtual machine system and control method of the virtual machine system
EP09251574A EP2151756A3 (en) 2008-07-30 2009-06-16 Virtual machine system and control method of the virtual machine system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008195936A JP5222651B2 (ja) 2008-07-30 2008-07-30 仮想計算機システムおよび仮想計算機システムの制御方法

Publications (2)

Publication Number Publication Date
JP2010033404A JP2010033404A (ja) 2010-02-12
JP5222651B2 true JP5222651B2 (ja) 2013-06-26

Family

ID=41351913

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008195936A Expired - Fee Related JP5222651B2 (ja) 2008-07-30 2008-07-30 仮想計算機システムおよび仮想計算機システムの制御方法

Country Status (3)

Country Link
US (1) US20100031258A1 (ja)
EP (1) EP2151756A3 (ja)
JP (1) JP5222651B2 (ja)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9678803B2 (en) 2007-06-22 2017-06-13 Red Hat, Inc. Migration of network entities to a cloud infrastructure
US8949827B2 (en) * 2007-06-22 2015-02-03 Red Hat, Inc. Tracking a virtual machine
US9354960B2 (en) 2010-12-27 2016-05-31 Red Hat, Inc. Assigning virtual machines to business application service groups based on ranking of the virtual machines
JP5359401B2 (ja) * 2009-03-11 2013-12-04 富士通株式会社 プログラム、コンピュータ及び制御方法
US8805983B2 (en) * 2009-10-19 2014-08-12 Dell Products L.P. Local externally accessible managed virtual network interface controller
JP5548489B2 (ja) * 2010-03-11 2014-07-16 株式会社日立製作所 計算機システム、仮想化機構、および計算機システムの障害回復方法
JP5463267B2 (ja) 2010-11-19 2014-04-09 株式会社日立製作所 仮想計算機システムおよび仮想計算機の移行方法
US20120144390A1 (en) * 2010-12-07 2012-06-07 Microsoft Corporation Customized computer image preparation and deployment including virtual machine mode
JP5764985B2 (ja) * 2011-03-11 2015-08-19 富士通株式会社 情報処理装置および時刻制御方法
US8929377B2 (en) * 2011-03-15 2015-01-06 Futurewei Technologies, Inc. Systems and methods for automatic rack detection
US8776057B2 (en) * 2011-06-02 2014-07-08 Fujitsu Limited System and method for providing evidence of the physical presence of virtual machines
US8856337B2 (en) * 2011-08-16 2014-10-07 Hitachi, Ltd. Method and apparatus of cluster system provisioning for virtual maching environment
US9459898B2 (en) * 2011-10-06 2016-10-04 Hitachi, Ltd. Virtual server processing control method, system, and virtual server processing control management server
JP5667552B2 (ja) 2011-12-08 2015-02-12 株式会社日立製作所 仮想計算機システム、仮想計算機管理プログラム、及びmacアドレス管理方法
JP5542788B2 (ja) 2011-12-13 2014-07-09 株式会社日立製作所 仮想計算機システムおよび仮想計算機の移行制御方法
US8964735B2 (en) * 2012-05-18 2015-02-24 Rackspace Us, Inc. Translating media access control (MAC) addresses in a network hierarchy
JP5658197B2 (ja) 2012-06-04 2015-01-21 株式会社日立製作所 計算機システム、仮想化機構、及び計算機システムの制御方法
JP5856925B2 (ja) * 2012-08-21 2016-02-10 株式会社日立製作所 計算機システム
JP5980335B2 (ja) 2012-08-22 2016-08-31 株式会社日立製作所 仮想計算機システム、管理計算機及び仮想計算機管理方法
JP5789240B2 (ja) * 2012-11-21 2015-10-07 株式会社日立製作所 仮想クライアント管理システムおよび仮想クライアント管理方法
US9875143B2 (en) 2012-12-07 2018-01-23 Hitachi, Ltd. Computer system, management computer and management method
US9218303B2 (en) * 2012-12-14 2015-12-22 Dell Products L.P. Live migration of virtual machines using virtual bridges in a multi-root input-output virtualization blade chassis
JP6194761B2 (ja) * 2013-11-07 2017-09-13 富士通株式会社 情報処理方法、装置、及びプログラム
JP6345604B2 (ja) * 2014-01-27 2018-06-20 アラクサラネットワークス株式会社 通信装置、拡張機能の移動方法、及び通信システム
US10162663B2 (en) * 2014-02-17 2018-12-25 Hitachi, Ltd. Computer and hypervisor-based resource scheduling method
JP2015187789A (ja) * 2014-03-26 2015-10-29 富士通株式会社 情報処理装置、起動制御方法および起動制御プログラム
JP6354290B2 (ja) 2014-04-24 2018-07-11 富士通株式会社 情報処理システム、情報処理システムの制御方法および情報処理システムの制御プログラム
US10097410B2 (en) * 2014-06-26 2018-10-09 Vmware, Inc. Methods and apparatus to scale application deployments in cloud computing environments
US10198288B2 (en) 2014-10-30 2019-02-05 Oracle International Corporation System and method for providing a dynamic cloud with subnet administration (SA) query caching
JP2018528526A (ja) * 2015-08-03 2018-09-27 ノキア ソリューションズ アンド ネットワークス オサケユキチュア 複合サービスファンクションチェーン間の負荷及びソフトウェア構成の制御
CN105426228B (zh) * 2015-10-29 2018-07-27 西安交通大学 一种面向流媒体直播与视频转码的OpenStack虚拟机放置方法
US11182187B2 (en) * 2018-04-17 2021-11-23 Red Hat Israel, Ltd. Dynamic network connectivity verification in distributed virtual environments
US11307980B2 (en) 2018-04-20 2022-04-19 Seagate Technology Llc Distributed data storage system with passthrough operations
US11132324B2 (en) 2018-06-18 2021-09-28 Seagate Technology, Llc Data network with container virtualization
CN110633210B (zh) * 2019-08-23 2021-02-05 北京三快在线科技有限公司 文件执行方法、装置、存储介质和电子设备

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6802062B1 (en) * 1997-04-01 2004-10-05 Hitachi, Ltd. System with virtual machine movable between virtual machine systems and control method
US6496847B1 (en) * 1998-05-15 2002-12-17 Vmware, Inc. System and method for virtualizing computer systems
JP2002132518A (ja) * 2000-10-25 2002-05-10 Fujitsu Ltd 仮想計算機システムおよび仮想計算機間の入出力装置交換方法
US6880002B2 (en) * 2001-09-05 2005-04-12 Surgient, Inc. Virtualized logical server cloud providing non-deterministic allocation of logical attributes of logical servers to physical resources
US7313793B2 (en) * 2002-07-11 2007-12-25 Microsoft Corporation Method for forking or migrating a virtual machine
JP3974538B2 (ja) * 2003-02-20 2007-09-12 株式会社日立製作所 情報処理システム
US7805723B2 (en) * 2003-10-01 2010-09-28 Hewlett-Packard Development Company, L.P. Runtime virtualization and devirtualization of memory by a virtual machine monitor
JP2005115506A (ja) * 2003-10-06 2005-04-28 Hitachi Ltd ストレージシステム
US7257811B2 (en) * 2004-05-11 2007-08-14 International Business Machines Corporation System, method and program to migrate a virtual machine
US20060047776A1 (en) * 2004-08-31 2006-03-02 Chieng Stephen S Automated failover in a cluster of geographically dispersed server nodes using data replication over a long distance communication link
GB2419703A (en) * 2004-10-29 2006-05-03 Hewlett Packard Development Co Isolated virtual overlay infrastructures each having an interface to control interaction with others
JP4515314B2 (ja) * 2005-04-08 2010-07-28 株式会社日立製作所 計算機システムの構成再現方法
US20070174429A1 (en) * 2006-01-24 2007-07-26 Citrix Systems, Inc. Methods and servers for establishing a connection between a client system and a virtual machine hosting a requested computing environment
US7912942B1 (en) * 2006-01-27 2011-03-22 Netapp, Inc. Auto-creation of storage resource management paths
JP4519098B2 (ja) * 2006-03-30 2010-08-04 株式会社日立製作所 計算機の管理方法、計算機システム、及び管理プログラム
JP4900784B2 (ja) * 2006-04-13 2012-03-21 株式会社日立製作所 ストレージシステム及びストレージシステムのデータ移行方法
JP4681505B2 (ja) * 2006-05-23 2011-05-11 株式会社日立製作所 計算機システム、管理計算機及びプログラム配布方法
US7383327B1 (en) * 2007-10-11 2008-06-03 Swsoft Holdings, Ltd. Management of virtual and physical servers using graphic control panels
US8732692B2 (en) * 2007-11-07 2014-05-20 Bayerische Motoren Werke Aktiengesellschaft Deployment and management framework
US8214467B2 (en) * 2007-12-14 2012-07-03 International Business Machines Corporation Migrating port-specific operating parameters during blade server failover
US8146147B2 (en) * 2008-03-27 2012-03-27 Juniper Networks, Inc. Combined firewalls
US7941539B2 (en) * 2008-06-30 2011-05-10 Oracle America, Inc. Method and system for creating a virtual router in a blade chassis to maintain connectivity
US9164749B2 (en) * 2008-08-29 2015-10-20 Red Hat, Inc. Differential software provisioning on virtual machines having different configurations
US8898663B2 (en) * 2009-12-16 2014-11-25 Symantec Corporation Storage visibility in virtual environments

Also Published As

Publication number Publication date
JP2010033404A (ja) 2010-02-12
US20100031258A1 (en) 2010-02-04
EP2151756A2 (en) 2010-02-10
EP2151756A3 (en) 2012-06-06

Similar Documents

Publication Publication Date Title
JP5222651B2 (ja) 仮想計算機システムおよび仮想計算機システムの制御方法
US11061712B2 (en) Hot-plugging of virtual functions in a virtualized environment
US8645953B2 (en) Method of checking a possibility of executing a virtual machine
JP4972670B2 (ja) 仮想計算機システム、そのアクセス制御方法及び通信装置
US8683172B2 (en) Method and apparatus for management between virtualized machines and virtualized storage systems
US8880687B1 (en) Detecting and managing idle virtual storage servers
JP5018252B2 (ja) デバイス割り当て変更方法
US8291425B2 (en) Computer, control method for virtual device, and program thereof
US20190303345A1 (en) Virtual rdma switching for containerized applications
US8307359B1 (en) Embedded virtual storage area network using a virtual block network fabric
US9134915B2 (en) Computer system to migrate virtual computers or logical paritions
WO2005106659A1 (en) System and method for managing virtual servers
JP2013125284A (ja) 仮想計算機システムおよび仮想計算機の移行制御方法
US20100275203A1 (en) Storage management system and storage management method in virtualization environment
EP3794807A1 (en) Apparatuses and methods for zero touch computing node initialization
US8838768B2 (en) Computer system and disk sharing method used thereby
WO2017046830A1 (en) Method and system for managing instances in computer system including virtualized computing environment
JP2014179113A (ja) 仮想計算機システムおよび仮想計算機の移行制御方法
Shen et al. Cloud Infrastructure: Virtualization

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101007

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120208

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120321

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120510

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121204

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130123

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130311

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

Free format text: PAYMENT UNTIL: 20160315

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