JP5717164B2 - コンピュータシステム、及びコンピュータシステムのメンテナンス方法 - Google Patents

コンピュータシステム、及びコンピュータシステムのメンテナンス方法 Download PDF

Info

Publication number
JP5717164B2
JP5717164B2 JP2009233095A JP2009233095A JP5717164B2 JP 5717164 B2 JP5717164 B2 JP 5717164B2 JP 2009233095 A JP2009233095 A JP 2009233095A JP 2009233095 A JP2009233095 A JP 2009233095A JP 5717164 B2 JP5717164 B2 JP 5717164B2
Authority
JP
Japan
Prior art keywords
server
maintenance
flow
switch
maintenance target
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2009233095A
Other languages
English (en)
Other versions
JP2011081588A (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.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority to JP2009233095A priority Critical patent/JP5717164B2/ja
Application filed by NEC Corp filed Critical NEC Corp
Priority to US13/500,577 priority patent/US9361149B2/en
Priority to CN201080045600.XA priority patent/CN102549970B/zh
Priority to EP10821941.1A priority patent/EP2487591B1/en
Priority to PCT/JP2010/067277 priority patent/WO2011043270A1/ja
Publication of JP2011081588A publication Critical patent/JP2011081588A/ja
Application granted granted Critical
Publication of JP5717164B2 publication Critical patent/JP5717164B2/ja
Priority to US14/754,081 priority patent/US9804884B2/en
Priority to US15/717,501 priority patent/US10534632B2/en
Active 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1433Saving, restoring, recovering or retrying at system level during software upgrading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1438Restarting or rejuvenating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1479Generic software techniques for error detection or fault masking
    • G06F11/1482Generic software techniques for error detection or fault masking by means of middleware or OS functionality
    • G06F11/1484Generic software techniques for error detection or fault masking by means of middleware or OS functionality involving virtual machines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/203Failover techniques using 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/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
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/42Centralised routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/18End to end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/815Virtual
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/10Mapping addresses of different types
    • H04L61/103Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Software Systems (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • General Health & Medical Sciences (AREA)
  • Economics (AREA)
  • Health & Medical Sciences (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Hardware Redundancy (AREA)
  • Computer And Data Communications (AREA)

Description

本発明は、コンピュータシステム、及びコンピュータシステムのメンテナンス方法に関し、特に、システムの動作を中断することなくメンテナンス可能なコンピュータシステム、及びそのメンテナンス方法に関する。
コンピュータシステムの構成装置に対するメンテナンスを行う際、システムの機能又は動作を中断させないためには、メンテナンスの対象となる装置のみを当該システムから切り離す必要がある。例えば、メンテナンス対象となるサーバの機能を他のサーバ(例えば待機系サーバ)に移動させることで、当該機能を停止することなくサーバのメンテナンス(例えばファイルの更新や補修)が可能となる。
装置のメンテナンスを行う際、メンテナンス対象をシステムから切り離す方法や、メンテナンス後に切り離した装置をシステムに復旧する方法が、特開2007−304845(特許文献1参照)、特開2009−146106(特許文献2参照)、特開2006−285597(特許文献3参照)、特開2008−118236(特許文献4参照)に記載されている。
特許文献1には、待機系仮想ハードウェア上のソフトウェアを更新し、その後、稼動系の処理を待機系に引継ぐことでソフトウェアの更新時におけるサービス中断時間を短縮する計算機システムが記載されている。
特許文献2には、仮想ポートの付加先となる物理ポートを他の物理ポートに移行し、移行先の物理ポートの識別情報に基づいてスイッチユニットのルーティングテーブルを更新することで、同一ストレージへのアクセスパスを変更するストレージシステムが記載される。これにより計算機無停止でのアクセスパスの切替が可能となる。
特許文献3には、予め設定されたアドレス変換情報に基づいて、増設又は交換されたストレージに対するアドレスをスイッチに設定するストレージシステムが記載されている。
特許文献4には、仮想アドレスに対応するアドレスを切り替えることで、仮想アドレス宛のパケットの受信先を、旧バージョンのソフトウェアから新バージョンのソフトウェアに切り替えるメンテナンス方法が記載されている。
特開2007−304845 特開2009−146106 特開2006−285597 特開2008−118236
特許文献に記載のコンピュータシステムでは、ネットワーク側とIT側とで別々の管理が行われている。このため、システム内の構成装置(サーバやスイッチ)をメンテナンスする場合、メンテナンス対象装置の切り離しや復旧、及びメンテナンスのための設定も、ネットワーク側とIT側のそれぞれにおいて個別に行われていた。しかし、これらの処理は、システム全体の動作に影響を与えるため、ネットワーク側とIT側の両方の設定を一元的に管理してメンテナンスが行われることが好ましい。
以上のことから、本発明の目的は、ネットワーク側及びコンピュータ側を一元的に制御して、機能の中断のないメンテナンスや保守が可能なコンピュータシステムを提供することにある。
上記の課題を解決するために、本発明は、以下に述べられる手段を採用する。その手段を構成する技術的事項の記述には、[特許請求の範囲]の記載と[発明を実施するための形態]の記載との対応関係を明らかにするために、[発明を実施するための形態]で使用される番号・符号が付加されている。ただし、付加された番号・符号は、[特許請求の範囲]に記載されている発明の技術的範囲を限定的に解釈するために用いてはならない。
本発明によるコンピュータシステムは、受信したパケットデータを、自身に設定されたフローに従った宛先に転送するスイッチ(4i)と、メンテナンス対象装置を指定する統合管理装置と、コントローラ(3)を具備する。コントローラ(3)は、スイッチ(4i)に対するフローの設定又は削除を制御することで、メンテナンス対象装置をコンピュータシステムから切り離す。
本発明によるメンテナンス方法は、受信したパケットデータを、自身に設定されたフローに従った宛先に転送するスイッチ(4i)を介して接続された物理サーバ(5)を備えるコンピュータシステムで実行されるメンテナンス方法である。本発明によるメンテナンス方法は、統合管理装置(1)が、メンテナンス対象装置を指定するステップと、コントローラ(3)が、スイッチ(4i)に対するフローの設定又は削除を制御することで、メンテナンス対象装置をコンピュータシステムから切り離すステップとを具備する。
本発明によれば、ネットワーク側及びコンピュータ側を一元的に制御して、その機能を中断することなくコンピュータシステムのメンテナンスを実行することができる。
図1は、本発明によるコンピュータシステムの実施の形態における構成を示す図である。 図2は、本発明によるVM管理装置の構成を示す図である。 図3は、本発明によるオープンフローコントローラの構成を示す図である。 図4は、本発明によるオープンフローコントローラが保持するフローテーブルの構成の一例を示す図である。 図5は、本発明によるオープンフローコントローラが保持するトポロジ情報の一例を示す図である。 図6は、本発明によるオープンフローコントローラが保持する通信経路情報の一例を示す図である。 図7は、本発明に係るオープンフロースイッチの構成を示す図である。 図8は、本発明によるスイッチが保持するフローテーブルの一例を示す図である。 図9は、本発明に係るオープンフロー制御を説明するための図である。 図10は、第1の実施の形態におけるメンテナンス処理(稼動系サーバに対するメンテナンス)の動作を示すシーケンス図である。 図11は、第1の実施の形態におけるメンテナンス処理(稼動系サーバに対するメンテナンス後の系切り替え)の動作を示すシーケンス図である。 図12は、本発明に係るサーバのメンテナンス処理後における起動処理(系切り替え無)の動作を示すシーケンス図である。 図13は、本発明に係るサーバのメンテナンス処理後における起動処理(系切り替え有)の動作を示すシーケンス図である。 図14は、第1の実施の形態におけるメンテナンス処理(待機系サーバに対するメンテナンス)の動作を示すシーケンス図である。 図15は、第1の実施の形態におけるメンテナンス処理(負荷分散系サーバに対するメンテナンス)の動作を示すシーケンス図である。 図16は、本発明に係る負荷分散系サーバのメンテナンス処理後における起動処理の動作を示すシーケンス図である。 図17は、第1の実施の形態における単独サーバ(VMM稼働なし)に対するshutdown動作を示すシーケンス図である。 図18Aは、第1の実施の形態における単独サーバ(VMM稼働あり)に対するメンテナンス処理の準備処理の動作を示すシーケンス図である。 図18Bは、第1の実施の形態における単独サーバ(VMM稼働あり)に対するメンテナンス処理の準備処理の動作を示すシーケンス図である。 図19は、第1の実施の形態における仮想マシンのマイグレーション後におけるメンテナンス処理の動作を示すシーケンス図である。 図20は、第2の実施の形態における、スイッチに対するメンテナンス処理の動作を示すシーケンス図である。 図21は、第2の実施の形態のメンテナンス処理における迂回検証処理の動作を示すフロー図である。 図22は、第2の実施の形態のメンテナンス処理における、スイッチの起動処理の動作を示すシーケンス図である。 図23Aは、第3の実施の形態におけるスイッチに対するメンテナンス処理の動作を示すシーケンス図である。 図23Bは、第3の実施の形態におけるスイッチに対するメンテナンス処理の動作を示すシーケンス図である。 図24Aは、スイッチに対するメンテナンス処理における迂回経路生成のための端点変更処理の動作を示すフロー図である。 図24Bは、スイッチに対するメンテナンス処理における迂回経路生成のための端点変更処理の動作を示すフロー図である。 図25Aは、スイッチに対するメンテナンス処理後における端点復旧処理の動作を示すフロー図である。 図25Bは、スイッチに対するメンテナンス処理後における端点復旧処理の動作を示すフロー図である。 図26は、仮想マシンのマイグレーション処理における準備処理の第1の実施の形態を説明するシーケンス図である。 図27は、仮想マシンのマイグレーション処理におけるメモリイメージ転送処理の第1及び第2の実施例を説明するシーケンス図である。 図28は、仮想マシンのマイグレーション処理におけるアクセス先切り替え処理の第1の実施例を説明するシーケンス図である。 図29は、仮想マシンのマイグレーション処理における準備処理の第2の実施例を説明するシーケンス図である。 図30は、仮想マシンのマイグレーション処理におけるアクセス先切り替え処理の第2の実施例を説明するシーケンス図である。 図31Aは、第4の実施の形態におけるメンテナンス処理(稼動系サーバに対するメンテナンス)の動作を示すシーケンス図である。 図31Bは、第4の実施の形態におけるメンテナンス処理(稼動系サーバに対するメンテナンス)の動作を示すシーケンス図である。 図32Aは、第4の実施の形態のおける、サーバのメンテナンス処理後の起動処理の動作を示すシーケンス図である。 図32Bは、第4の実施の形態のおける、サーバのメンテナンス処理後の起動処理の動作を示すシーケンス図である。
以下、添付図面を参照しながら本発明の実施の形態を説明する。図面において同一、又は類似の参照符号は、同一、類似、又は等価な構成要素を示す。
(コンピュータシステムの構成)
図1から図9を参照して、本発明によるコンピュータシステムの構成を説明する。図1は、本発明によるコンピュータシステムの構成を示す図である。本発明によるコンピュータシステムは、統合管理装置1、仮想マシン管理装置2(以下、VM管理装置2と称す)、オープンフローコントローラ3(以下、OFC3と称す)、サーバ管理装置4、スイッチ41〜44(以下、OFS41〜44:オープンフロースイッチと称す)、物理サーバ5、6、記憶装置7(例示:シェアードディスク)を具備する。又、本発明によるコンピュータシステムは、ロードバランサ9を具備してもよい。OFS41〜44の数は、図1に示す4台に限らない。以下では、OFS41〜44を総称してOFS4iとして説明する。
物理サーバ5、6は、OFS4iを介して相互に接続される。又、物理サーバ5、6は、OFS4iを介してインターネットに例示される外部ネットワーク8に接続される。尚、本実施の形態では2つの物理サーバ5、6が例示されるが、物理サーバの数はこれに限らない。
物理サーバ5、6は、それぞれCPUやRAMを備えるコンピュータ装置であり、相互に共通又は別々の記憶装置7に格納されたプログラムを実行することで、少なくとも1つの仮想マシンを実現する。詳細には、物理サーバ5は、CPU(図示なし)や記憶装置7の使用領域を論理分割又は物理分割することで実現される仮想マシン101〜10n(nは自然数)を備える。あるいは、仮想マシン101〜10nは、ホストオペレーションシステム(HOS)上でエミュレートされたゲストオペレーションシステム(GOS)又はGOS上で動作するソフトウェアによって実現されてもよい。仮想マシン101〜10nは、記憶装置7に記録されたプログラムをCPU(図示なし)によって実行することで実現される仮想マシンモニタ10(以下、VMM10と称す)によって管理される。物理サーバ6も物理サーバ5と同様に、少なくとも1つの仮想マシン201〜20m(mは自然数)が実装され、それぞれ、VMM20によって管理される。
仮想マシン101〜10n、201〜20mが使用するディスクイメージ(メモリイメージ)は、シェアードディスクに格納されることが好適である。シェアードディスクは、例えばFC(Fiber Channel)やEther(登録商標)等で接続されたディスクアレイ、NAS(Network Attached Storage)、データベースサーバ等に例示される。
VMM10による仮想マシン101〜10nの管理方法及びVMM20による仮想マシン201〜20mの管理方法は、従来と同様である。例えば、VMM10は、仮想マシン101〜10nが使用するメモリイメージを管理し、VMM20は、仮想マシン201〜20mが使用するメモリイメージを管理する。
仮想マシン101〜10nは、VMM10によって管理される仮想スイッチ11及び物理NIC(図示なし)を介して他の装置(例えば外部ネットワーク8上のコンピュータ装置や、他の物理サーバ6内の仮想マシン)とデータの送受信を行う。本実施の形態では、一例としてTCP/IP(Transmission Control Protocol/Internet Protocol)に従ったパケット通信が行われる。同様に仮想マシン201〜20mは、仮想スイッチ21を介して他の装置とデータの送受信を行う。又、同一物理サーバ内における仮想マシン間の通信も仮想スイッチ11、21を介して行われる。
本発明に係る仮想マシン101〜10n、201〜20mは、他のVMMや物理サーバに移動してもMACアドレスは変わらないものとする。又、仮想スイッチ11、21は、後述するオープンフロー技術によって制御されても良いし、従来どおりのスイッチング動作(レイヤ2)を行っても良い。ただし、以下に示す実施の形態における仮想スイッチ11、21は、オープンフローに対応しているものとして説明する。更に、仮想マシン101〜10n、201〜20mと物理サーバ外部とはブリッジ接続されている。すなわち、仮想マシン101〜10n、201〜20mのMACアドレスやIPアドレスによって外部から直接通信ができる。
物理サーバ5、6の一方にはクラスタリング機構100(図示なし)が搭載されていることが好ましい。クラスタリング機構100は、物理サーバ5、6上で共通の仮想マシンとして動作してもよい。クラスタリング機構100は、コンピュータシステムに設けられた物理サーバ5、6のクラスタ(使用状態)をHA(High Avalability)クラスタ、負荷分散クラスタ、単独サーバのいずれかとして設定する。又、HAクラスタに設定された物理サーバは、稼動系と待機系の一方に設定される。HAクラスタ(稼動系)に設定された物理サーバは、コンピュータシステムにおいて稼働する物理サーバとして機能し、HAクラスタ(待機系)に設定された物理サーバは、待機状態となる。又、負荷分散クラスタに設定された場合、ロードバランサ9によって各物理サーバに対する負荷が分散される。
VM管理装置2は、物理サーバ5、6上で動作する仮想マシン101〜10n、201〜20mを管理する。図2は、本発明によるVM管理装置1の構成を示す図である。VM管理装置2は、CPU及び記憶装置を備えるコンピュータによって実現されることが好適である。VM管理装置2では、図示しないCPUが記憶装置に格納されたプログラムを実行することで、図2に示すVMマイグレーション制御部321、VMM管理部322、メンテナンス制御部326の各機能が実現される。
VMマイグレーション制御部321は、仮想マシンのマイグレーションを制御する。詳細には、VMマイグレーション制御部321は、記憶装置に記録されているVMM管理情報323に基づいて移動対象となる仮想マシンと、移動先となる仮想マシンモニタとを指定し、仮想マシンのマイグレーションを移動元及び移動先の仮想マシンモニタに指示する。これにより、指示された仮想マシンモニタ間で仮想マシンのマイグレーションが実行される。
VMM管理部322は、管理下の仮想マシンモニタや仮想スイッチに関する情報(VMM管理情報323)を管理する。VMM管理情報323は、仮想マシンモニタの識別子や仮想マシンモニタが管理する仮想マシンに関する情報(VMM情報324)と、仮想スイッチの識別子や仮想スイッチが接続する仮想マシンに関する情報(VSW情報325)とを備える。VMM情報324とVSW情報325は、仮想スイッチを管理する仮想マシンモニタ毎に対応付けられて記録されていることが好ましい。
VMM管理情報323は、予め記憶装置に記録されていても良いし、VMM10、20から周期的又は任意の時期に取得してもよい。VMM10、20からVMM管理情報323を取得する場合、VMM管理部322による指示に応じてVMM10、20からVMM管理情報323を取得し、これによって記憶装置内のVMM管理情報323を更新することが好ましい。これにより、仮想マシンのマイグレーション後に変更された仮想マシンの移動先や仮想スイッチの接続先を監視することが可能となる。
メンテナンス制御部326は、サーバ管理装置4からのメンテナンス指示に応じて、物理サーバ5、6に対するメンテナンス処理を制御する。詳細には、サーバ管理装置4からのメンテナンス指示に応じて物理サーバ5、6の起動や停止(shutdown)を制御し、サーバ管理装置4から送信されるOSやソフトウェア(例えばゲストOS)の更新ファイルやパッチをメンテナンス対象の物理サーバに転送する。物理サーバ5、6は、メンテナンス制御部326から送信される更新ファイルによって仮想マシン(ゲストOS)やホストOSを更新(バージョンアップや補修)する。
OFC3は、オープンフロー技術により、システム内の通信を制御する。オープンフロー技術とは、コントローラ(ここではOFC3)が、ルーティングポリシー(フロー:ルール+アクション)に従い、マルチレイヤ及びフロー単位の経路情報をスイッチに設定し、経路制御やノード制御を行う技術を示す。これにより、経路制御機能がルータやスイッチから分離され、コントローラによる集中制御によって最適なルーティング、トラフィック管理が可能となる。オープンフロー技術が適用されるスイッチ(OFS4i)は、従来のルータやスイッチのようにパケットやフレームの単位ではなく、END2ENDのフローとして通信を取り扱う。
詳細には、OFC3は、スイッチやノード毎にフロー(ルール+アクション)を設定することで当該スイッチやノードの動作(例えばパケットデータの中継動作)を制御する。ここで、OFC3によって制御されるスイッチは、OFS4iや仮想スイッチ11、21等に例示され、OFC3によって制御されるノードは、仮想マシン101〜10n、201〜20m、VMM10、20、物理サーバ5、6、記憶装置7等に例示される。
図3は、本発明によるOFC3の構成を示す図である。OFC3は、CPU及び記憶装置を備えるコンピュータによって実現されることが好適である。OFC3では、図示しないCPUが記憶装置に格納されたプログラムを実行することで、図3に示すスイッチ制御部331、フロー管理部332、フロー生成部333の各機能が実現される。
スイッチ制御部331は、フローテーブル334に従ってスイッチやノード毎にフロー(ルール+アクション)の設定又は削除を行う。本発明に係るスイッチやノードは、設定されたフローを参照し、受信パケットのヘッダ情報に応じたルールに対応するアクション(例えばパケットデータの中継や破棄)を実行する。ルール及びアクションの詳細は後述する。
図4は、本発明によるOFC3が保持するフローテーブル334の構成の一例を示す図である。図4を参照して、フローテーブル334には、フローを特定するためのフロー識別子441、当該フローの設定対象(スイッチやノード)を識別する識別子(対象装置442)、経路情報443、ルール444、アクション情報445、設定情報446が対応付けられて設定される。フローテーブル334には、OFC3の制御対象となる全てのスイッチやノードに対するフロー(ルール444+アクション情報445)が設定される。フローテーブル334には、フロー毎のQoSや暗号化に関する情報など、通信の扱い方が定義されてもかまない。
ルール444には、例えば、TCP/IPのパケットデータにおけるヘッダ情報に含まれる、OSI(Open Systems Interconnection)参照モデルのレイヤ1からレイヤ4のアドレスや識別子の組み合わせが規定される。例えば、図9に示すレイヤ1の物理ポート、レイヤ2のMACアドレス、レイヤ3のIPアドレス、レイヤ4のポート番号、VLANタグのそれぞれの組み合わせがルール444として設定される。ここで、ルール444に設定されるポート番号等の識別子やアドレス等は、所定の範囲が設定されても構わない。又、宛先や送信元のアドレス等を区別してルール444として設定されることが好ましい。例えば、MAC宛先アドレスの範囲や、接続先のアプリケーションを特定する宛先ポート番号の範囲、接続元のアプリケーションを特定する送信元ポート番号の範囲がルール444として設定される。更に、データ転送プロトコルを特定する識別子をルール444として設定してもよい。
アクション情報445には、例えばTCP/ IPのパケットデータを処理する方法が規定される。例えば、受信パケットデータを中継するか否かを示す情報や、中継する場合はその送信先が設定される。又、アクション情報445には、パケットデータの複製や、破棄することを指示する情報が設定されてもよい。
経路情報443は、フロー(ルール444+アクション情報445)を適用する経路を特定する情報である。これは、後述する通信経路情報336に対応付けられた識別子である。
設定情報446は、フロー(ルール444+アクション情報445)が現在設定されているか否かを示す情報である。設定情報446は、対象装置442や経路情報443に対応付けられているため、通信経路にフローが設定されているか否かを確認できるとともに、通信経路上のスイッチやノード毎にフローが設定されているか否かを確認することができる。又、設定情報446は、生成されたフローが使用可能な状態(有効)か使用不可能な状態(無効)かを示す情報を含む。OFC3は、設定情報446を参照し、有効なフローのみをOFSに設定し、無効なフローは設定しない。
フロー管理部332は、フローテーブル334を参照して、スイッチやノードから通知されたファーストパケットのヘッダ情報に対応するフロー(ルール444+アクション情報445)を抽出し、スイッチ制御部331に通知する。又、フロー管理部332は、フロー生成部333によって生成されたフロー(ルール444+アクション情報445)にフロー識別子441をつけて記憶装置に記録する。この際、フローを適用する通信経路の識別子(経路情報443)やフローを適用するスイッチやノードの識別子(対象装置442)が、フロー(ルール444+アクション情報445)に付されて記録される。
フロー生成部333は、トポロジ情報335を用いて通信経路を算出し、算出結果を通信経路情報336として記憶装置に記録する。ここでは、通信経路の端点となるノードと、通信経路上のスイッチ及びノードが設定される。例えば、フロー生成部333は、トポロジ内で端点となるノードを指定し、端点間で最短経路となる経路をダイクストラ法によって抽出し、これを通信経路として出力する。又、フロー生成部333は、通信経路情報336に基づいて通信経路上のスイッチやノードに設定するフロー(ルール444+アクション情報445)を設定する。
トポロジ情報335は、スイッチ(例えば、OFS4iや仮想スイッチ11、21等)やノード(例えば、仮想マシン101〜10n、201〜20m、VMM10、20、物理サーバ5、6、記憶装置7等)、外部ネットワーク8(例えばインターネット)等の接続状況に関する情報を含む。具体的には、トポロジ情報335として、スイッチやノード(装置)を特定する装置識別子451に、当該装置のポート数452やポート接続先情報453が対応付けられて記憶装置に記録される。ポート接続先情報453は、接続相手を特定する接続種別(スイッチ/ノード/外部ネットワーク)や接続先を特定する情報(スイッチの場合はスイッチID、ノードの場合はMACアドレス、外部ネットワークの場合は外部ネットワークID)が含まれる。
通信経路情報336は、通信経路を特定するための情報である。詳細には、通信経路情報336として、ノード(例えば、仮想マシン101〜10n、201〜20m、VMM10、20、物理サーバ5、6、記憶装置7等)群、あるいは、外部ネットワークインタフェースを端点として指定する端点情報461と、通過するスイッチ(例えば、OFS4iや仮想スイッチ11、21等)とポートの対群を指定する通過スイッチ情報462と、付随情報463とが対応付けられて記憶装置に記録される。例えば、通信経路が外部ネットワークとノードとを接続する経路である場合、外部ネットワークIDとノードのMACアドレスが端点情報461として記録される。あるいは、通信経路がノード間を接続する経路である場合、両端点となるノードのそれぞれのMACアドレス対が端点情報461として記録される。通過スイッチ情報462は、端点情報461で示される端点間の通信経路上に設けられるスイッチ(オープンフロースイッチや仮想スイッチ)の識別子を含む。又、通過スイッチ情報462は、当該スイッチに設定されるフロー(ルール444+アクション情報445)と当該スイッチとを対応づけるための情報を含んでも良い。付随情報463は、端点が変更された後の経路上のスイッチ(通過スイッチ)に関する情報を含む。
本発明によるフロー管理部332は、仮想マシンのマイグレーション指示(移動準備指示)に応じてフロー生成部333を制御して、メモリイメージを転送するためのフロー(メモリイメージ転送用フロー)を生成させるとともに、スイッチ制御部331を制御して、メモリイメージ転送用フローをメモリイメージ転送経路上のOFSやノードに設定させる。又、本発明によるフロー管理部332は、仮想マシンのマイグレーション指示(移動準備指示)に応じてフロー生成部333を制御して、移動後の仮想マシンに対するアクセス用のフロー(移動先VM宛通信用フロー)を生成させるとともに、スイッチ制御部331を制御して、移動先VM宛通信用フローを移動先VM宛通信経路上のOFSやノードに設定させる。
図7は、本発明に係るオープンフロースイッチ4i(以下、OFS4iと称す)の構成を示す図である。OFS4iは、OFC3によって設定されたフローテーブル343に従って受信パケットの処理方法(アクション)を決定する。OFS4iは、転送処理部341とフロー管理部342を備える。転送処理部341とフロー管理部342は、ハードウェアで構成されても、CPUによって実行されるソフトウェアで実現してもどちらでも良い。
OFS4iの記憶装置には、図8に示すようなフローテーブル343が設定される。フロー管理部342は、OFC3から取得したフロー(ルール444+アクション情報445)をフローテーブル343に設定する。又、転送処理部341によって受信された受信パケットのヘッダ情報が、フローテーブル343に記録されたルール444に適合(一致)する場合、フロー管理部342は、当該ルール444に対応するアクション情報445を転送処理部341に通知する。一方、転送処理部341によって受信された受信パケットのヘッダ情報が、フローテーブル343に記録されたルール444に適合(一致)しない場合、フロー管理部342は、ファーストパケットを受信したことをOFC3に通知するとともに、当該ヘッダ情報をOFC3に送信する。
転送処理部341は、受信パケットのヘッダ情報に応じた転送処理を行う。詳細には、転送処理部341は、受信したパケットデータからヘッダ情報を抽出し、フロー管理部342に通知する。フロー管理部342からアクション情報445を受け取ると、アクション情報445に従った処理を行う。例えば、アクション情報445に示された転送先のノードに受信パケットデータを転送する。又、フローテーブル343に規定されたルール444にないパケットデータが受信した場合、当該パケットデータを所定の期間保持し、OFC3からフローが設定される(フローテーブル343が更新される)まで待機する。
具体的には、ルール444:MAC送信元アドレス(L2)が“A1〜A3”、IP宛先アドレス(L3)が“B1〜B3”、プロトコルが“TCP”、宛先ポート番号(L4)が“C1〜C3”と、アクション情報445:“物理サーバ5の仮想マシン101に中継”とが対応付けられているフローが設定されたOFS4iの動作を説明する。MAC送信元アドレス(L2)が“A1”、IP宛先アドレス(L3)が“B2”、プロトコルが“TCP”、宛先ポート番号(L4)が“C3”であるパケットデータを受信した場合、OFS4iは、ヘッダ情報が当該ルール444に一致していると判断し、受信したパケットデータを仮想マシン101に転送する。一方、MAC送信元アドレス(L2)が“A5”、IP宛先アドレス(L3)が“B2”、プロトコルが“TCP”、宛先ポート番号(L4)が“C4”であるパケットデータを受信した場合、OFS4iは、ヘッダ情報が当該ルール444に一致しないと判断し、ファーストパケット受信の旨をOFC3に通知するとともに当該ヘッダ情報をOFC3に送信する。OFC3は、フローテーブル334から受信したヘッダ情報に対応するフロー(ルール444+アクション情報445)を抽出し、OFS4iに送信する。尚、フローテーブル334に適切なフローがない場合は、新たにフローを作成してもよい。OFSi4iは送信されたフローを自身のフローテーブル343に設定し、これに従った、受信パケットの中継処理を実行する。
通常、オープンフロー技術を利用したOFS4iは、自身のフローテーブル343に設定されたルール444に該当しないパケットデータ(1stパケット)を受信した際、フローの設定要求をOFC3に発行する。OFC3はこれに応じて当該OFS4iに新たなフローを設定する。以降、当該ルール444に応じたパケットデータを受信したOFS4iは、設定されたフローに従った処理を行う。
以上のように、本発明によるコンピュータシステムは、オープンフロー技術(プログラマブルフロー技術とも呼ぶ)が適用されている。尚、OFS4iの他、仮想スイッチ11、21も、OFS4iと同様に、OFC3によってフローが設定されるフローテーブルを備えても良い。この場合、OFC3は、OFS4iと同様に、仮想スイッチ11、21の動作を制御することができる。
サーバ管理装置4は、クラスタリング機構100を制御することで、物理サーバ5、6のクラスタリングを制御する。サーバ管理装置4は、CPU及び記憶装置を備えるコンピュータによって実現されることが好適である。サーバ管理装置4は、物理サーバ5、6に対するメンテナンスを行う機能を有する。詳細には、サーバ管理装置4は、物理サーバ5、6の起動や停止(shutdown)を制御する機能や、物理サーバ5、6で動作するOSやソフトウェアの更新ファイルやパッチを有する。物理サーバ5、6は、サーバ管理装置4から送信される更新ファイルによってOSやソフトウェアを更新(バージョンアップや補修)する。
ロードバランサ9は、外部ネットワーク8とOFS4iとの間に設けられ、物理サーバ5、6におけるVMM101〜10n、201〜20mに対する負荷分散を行う。又、ロードバランサ9は、サーバ管理装置4からの指示に応じて、各仮想マシン(ゲストOS)又は負荷分散クラスタに設定された物理サーバ(ホストOS)に対する負荷分散を行う。この際、各物理サーバ等に対して処理(負荷)の割り当てを行う。
本発明によるコンピュータシステムは、VM管理装置2、OFC3、サーバ管理装置4を制御する統合管理装置1を具備する。統合管理装置1は、CPU及び記憶装置を備えるコンピュータによって実現されることが好適である。統合管理装置1は、入力装置(例示:キーボード、マウス)や、VM管理装置2、OFC3、又はサーバ管理装置から送信される各種情報を視認可能に表示する表示装置(例示:モニタ、プリンタ)を備えることが好適である。ユーザ(管理者)は、統合管理装置1を用いてVM管理装置2、OFC3、及びサーバ管理装置4を制御し、コンピュータシステムのメンテナンス処理を実行する。
統合管理装置1、VM管理装置2、OFC3、及びサーバ管理装置4のそれぞれは、同じコンピュータ装置でも、それぞれ別のコンピュータ装置に実装されてもどちらでも構わない。
以下、上記コンピュータシステムにおいて実行されるメンテナンス処理の動作の詳細を説明する。以下では、第1の実施の形態として物理サーバ又は仮想サーバに対するメンテナンス処理、第2から第4の実施の形態としてスイッチ(OFS)に対するメンテナンス処理について説明する。又、メンテナンス処理として、ファイルの更新及び稼働停止(shutdown後のハードウェア交換等のメンテナンス)を一例として説明する。
1.第1の実施の形態
図10から図19を参照して、本発明による物理サーバ又は仮想サーバに対するメンテナンス処理を説明する。本発明では、メンテナンス対象となるサーバや仮想マシンをシステムから切り離してから、当該サーバに対してメンテナンス処理が行われる。この際、サーバに設定されたクラスタや、メンテナンス対象が物理サーバか仮想サーバかに応じてシステムからの切り離し方法やメンテナンス後の復旧方法が異なる。以下では、メンテナンス対象サーバが(1)HAクラスタ(稼動系)、(2)HAクラスタ(待機系)、(3)負荷分散クラスタの一部、(4)単独サーバ、(5)仮想サーバ(ゲストOS)の場合に分けてメンテナンス処理を説明する。
(1)HAクラスタ(稼動系)のサーバに対するメンテナンス処理
図10から図13を参照して、HAクラスタ(稼動系)に設定されたサーバに対するメンテナンスの動作を説明する。以下では、メンテナンス対象となる物理サーバ5がHAクラスタ(稼動系)に設定されているものとして説明する。
図10は、第1の実施の形態におけるメンテナンス処理(稼動系サーバに対するメンテナンス)の動作を示すシーケンス図である。図10を参照して、HAクラスタ(稼動系)の物理サーバ5に対するファイルの更新(例示:OSのアップグレード)について説明する。先ず、管理者は、統合管理装置1を操作して、メンテナンス対象(ここではファイル更新対象)となるサーバを指定し、メンテナンス対象サーバの切り離しを指示する。統合管理装置1は、メンテナンス対象となるサーバを指定し、管理者によって指定されたサーバの状況(クラスタ構成)に関する情報をサーバ管理装置4に要求する(ステップS601)。ここでは、物理サーバ5がメンテナンス対象として指定されるものとする。以下、メンテナンス対象サーバ5と称す。
サーバ管理装置4は、自身が保持するサーバのクラスタリングや稼働状況を含む構成情報(図示なし)を検索し、メンテナンス対象サーバ5に設定されたクラスタを特定する情報(クラスタリング情報)を抽出し、統合管理装置1に送信する(ステップS602、S603)。ここでは、メンテナンス対象サーバ5がHAクラスタ(稼動系)に設定されていることを示すクラスタリング情報が送信される。
統合管理装置1は、メンテナンス対象サーバ5がHAクラスタ(稼動系)であることを検出すると、系の切り替え処理に移行する。詳細には、統合管理装置1は、メンテナンス対象サーバ5がHAクラスタ(稼動系)であることを検出すると、HAクラスタの系切替をサーバ管理装置4に指示する(ステップS604)。サーバ管理装置4は、メンテナンス対象サーバ5のクラスタリング機構100に対し、稼動系の切替を指示する(ステップS605)。メンテナンス対象サーバ5のクラスタリング機構100は、待機系のサーバを稼動系に昇格させ、稼動系のサーバ(ここではメンテナンス対象サーバ5)を待機系に降格させる(ステップS606)。クラスタリング機構100は、系切替の完了をサーバ管理装置4経由で統合管理装置1に通知する(ステップS607、S608)。
系切替が完了すると、メンテナンス処理(ここではファイル更新)に移行する。統合管理装置1は、メンテナンス対象サーバとして物理サーバ5を指定し、メンテナンス(ここではファイル更新)をサーバ管理装置4に指示する(ステップS609)。サーバ管理装置4は、メンテナンス対象サーバ5に更新ファイルを送信するとともに、ファイル更新指示を発行する(ステップS610)。物理サーバ5は、ファイル更新指示に応じて、受信した更新ファイルによって自身のソフトウェアを更新する(ステップS611)。サーバ管理装置4は、物理サーバ5におけるファイル更新完了後を確認すると、統合管理装置1に物理サーバ5のソフトウェアの更新完了を報告する。統合管理装置1は、メンテナンス対象サーバ5におけるファイル更新の完了を表示する。これにより、管理者は、指定したサーバのファイル更新の正常終了を確認することができる。
統合管理装置1は、メンテナンス処理指示後あるいは、サーバ管理装置4からメンテナンス処理の完了通知を受け取ると、物理サーバ毎のメンテナンス状態を記録する(ステップS612)。ここでは、メンテナンス状態として、物理サーバ5がファイル更新中であることを示す情報や、ファイル更新完了及び更新ファイルに関する情報(例えば、ソフトウェアやOSのバージョン情報)が記録される。尚、メンテナンス処理がファイル更新である場合、ステップS612の処理は省略されても構わない。
ここで、ステップS611におけるファイル更新処理の完了後、ステップS606において切り替えられた系を元の状態(クラスタリング構成)に変更しても構わない。図11は、第1の実施の形態におけるメンテナンス処理(稼動系サーバに対するメンテナンス後の系切り替え)の動作を示すシーケンス図である。図11を参照して、物理サーバ5のファイル更新を確認したサーバ管理装置4は、メンテナンス対象サーバ5のクラスタリング機構100に対し、稼動系の切替を指示する(ステップS621)。メンテナンス対象サーバ5のクラスタリング機構100は、待機系のサーバ(ここではメンテナンス対象サーバ5を稼動系に昇格させ、稼動系のサーバを待機系に降格させる(ステップS622)。クラスタリング機構100は、系切替の完了をサーバ管理装置4経由で統合管理装置1に通知する(ステップS623、S624)。
次に、図10を参照して、HAクラスタ(稼動系)の物理サーバ5のハードウェア又はソフトウェアをメンテナンスするために、物理サーバ5の稼働を停止(shutdown)する処理について説明する。メンテナンス対象サーバ5がHAクラスタ(稼動系)であるため、上述のファイル更新処理と同様に図10に示すステップS601〜S608の処理が行われ、稼動系と待機系の切り替えが行われる。
系切替が完了すると、メンテナンス処理(ここでは稼働停止処理)に移行する。統合管理装置1は、メンテナンス対象サーバとして物理サーバ5を指定し、メンテナンス(ここでは稼働停止処理)を指示する(ステップS609)。サーバ管理装置4は、メンテナンス対象サーバ5に稼働停止(shutdown)指示を発行する(ステップS610)。物理サーバ5は、稼働停止指示に応じて、稼働を停止(shutdown)する(ステップS611)。サーバ管理装置4は、物理サーバ5の稼働停止を確認すると、統合管理装置1に稼働停止完了を報告する。統合管理装置1は、メンテナンス対象サーバ5が稼働停止したことを表示する。これにより、管理者は、指定したサーバの稼働停止を確認することができる。
統合管理装置1は、メンテナンス処理指示後あるいは、サーバ管理装置4からメンテナンス処理の完了通知を受け取ると、物理サーバ毎の状態を記録する(ステップS612)。ここでは、メンテナンス対象サーバ5の稼働状態(例えば、稼働停止)を示す情報、メンテナンス対象サーバ5がメンテナンス中であるか否かを示す情報、及びメンテナンス対象サーバ5に設定されたクラスタリングに関する情報が記録されることが好ましい。例えば、物理サーバ5がメンテナンス中(稼働停止)であるHAクラスタ(待機系)であることが記録される。又、クラスタリングに関する情報は、ステップS606において切り替えられた後の現在の状態(待機系)や切替られる前の状態(稼動系)を示す情報を含んでもよい。
保守者は、稼働を停止した物理サーバ5のメンテナンス(例示:ハードウェアの交換や増設、ソフトウェアの入れ替え等)を行う。物理サーバ5に対するメンテナンスが終了すると、管理者は、統合管理装置1にメンテナンス終了指示を入力する。この際、メンテナンスが終了したサーバが統合管理装置1に指定される。統合管理装置1は、メンテナンス終了指示に応じて、メンテナンスのために稼働を停止した物理サーバ5を起動させる。
図12は、本発明に係るサーバのメンテナンス処理後における起動処理(系切り替え無)の動作を示すシーケンス図である。図12を参照して、メンテナンス処理後のサーバの起動動作の詳細を説明する。管理者によるメンテナンス終了指示(サーバ指定)に応じて、統合管理装置1は、メンテナンス中のサーバ一覧から、管理者によって指定されたサーバの状態を取得する(ステップS631)。ここでは、物理サーバ5が稼働停止中(メンテナンス中)のHAクラスタ(待機系)であることを示す状態が取得される。統合管理装置1は、指定されたサーバ(メンテナンスが終了した物理サーバ5)の起動を指示する(ステップS632)。サーバ管理装置4は、指定された物理サーバ5を起動させる(ステップS633、S634)。ここでは、例えばIPMI等を利用してサーバの起動を実行する。起動を完了した物理サーバ5は、サーバ管理装置4を介して統合管理装置1に対し起動完了を報告する(ステップS635、S636)。統合管理装置1は、物理サーバ5がメンテナンス終了し起動したことを示す情報を記録する。この情報は、管理者に対し視認可能に表示され得る。
サーバを起動させる際、サーバの状態をメンテナンス前の状態(HAクラスタ(稼動系))に復帰させてもよい。図13は、本発明に係るサーバのメンテナンス処理後における起動処理(系切り替え有)の動作を示すシーケンス図である。図13を参照して、統合管理装置1は、上述と同様にステップS631〜S634の処理により、指定された物理サーバ5を起動させる。ただし、統合管理装置1は、ステップS632における起動指示の際、系切替指示も併せて行う。サーバ管理装置4は、物理サーバ5からの起動完了を検出すると物理サーバ5のクラスタリング機構100に対し、稼動系の系切替を指示する(ステップS636)。メンテナンス対象サーバ5のクラスタリング機構100は、待機系のサーバ(ここではメンテナンスが終了した物理サーバ5)を稼動系に昇格させ、稼動系のサーバを待機系に降格させる(ステップS637)。クラスタリング機構100は、系切替の完了をサーバ管理装置4経由で統合管理装置1に通知する(ステップS638、S639)。
以上のように、統合管理装置1による一元制御により、HAクラスタ(稼動系)のサーバを切り離し、当該サーバに対するメンテナンス処理(ファイル更新や稼働停止及び起動処理)を実行し、系切替により元の状態に復帰することができる。
(2)HAクラスタ(待機系)のサーバに対するメンテナンス処理
図12及び図14を参照して、HAクラスタ(待機系)に設定されたサーバに対するメンテナンスの動作を説明する。以下では、メンテナンス対象となる物理サーバ5がHAクラスタ(待機系)に設定されているものとして説明する。
図14は、第1の実施の形態におけるメンテナンス処理(待機系サーバに対するメンテナンス)の動作を示すシーケンス図である。図14を参照して、HAクラスタ(待機系)の物理サーバ5に対するファイルの更新(例示:OSのアップグレード)について説明する。HAクラスタ(稼動系)のサーバに対するメンテナンス処理と同様に、ステップS601〜S603の処理により、統合管理装置1は、メンテナンス対象サーバ5がHAクラスタ(待機系)であることを検出する。
統合管理装置1は、メンテナンス対象サーバ5がHAクラスタ(待機系)であることを検出すると、系切替は行わずメンテナンス処理(ここではファイル更新)に移行する。統合管理装置1は、メンテナンス対象サーバとして物理サーバ5を指定し、サーバ管理装置4にメンテナンス(ここではファイル更新)を指示する(ステップS609)。サーバ管理装置4は、メンテナンス対象サーバ5に更新ファイルを送信するとともに、ファイル更新指示を発行する(ステップS610)。物理サーバ5は、ファイル更新指示に応じて、受信した更新ファイルによって自身のソフトウェアを更新する(ステップS611)。サーバ管理装置4は、物理サーバ5におけるファイル更新完了後を確認すると、統合管理装置1に物理サーバ5のソフトウェアの更新完了を報告する。統合管理装置1は、メンテナンス対象サーバ5におけるファイル更新の完了を表示する。これにより、管理者は、指定したサーバのファイル更新の正常終了を確認することができる。
統合管理装置1は、メンテナンス処理指示後あるいは、サーバ管理装置4からメンテナンス処理の完了通知を受け取ると、物理サーバ毎のメンテナンス状態を記録する(ステップS612)。ここでは、メンテナンス状態として、物理サーバ5がファイル更新中であることを示す情報や、ファイル更新完了及び更新ファイルに関する情報(例えば、ソフトウェアやOSのバージョン情報)が記録される。尚、メンテナンス処理がファイル更新である場合、ステップS612の処理は省略されても構わない。
次に、図14を参照して、HAクラスタ(待機系)の物理サーバ5のハードウェア又はソフトウェアをメンテナンスするために、物理サーバ5の稼働を停止(shutdown)する処理について説明する。統合管理装置1は、メンテナンス対象サーバ5がHAクラスタ(待機系)であることを検出すると、系切替は行わずメンテナンス処理(ここでは稼働停止)に移行する。
詳細には、統合管理装置1は、メンテナンス対象サーバとして物理サーバ5を指定し、メンテナンス(ここでは稼働停止処理)を指示する(ステップS609)。サーバ管理装置4は、メンテナンス対象サーバ5に稼働停止(shutdown)指示を発行する(ステップS610)。物理サーバ5は、稼働停止指示に応じて、稼働を停止(shutdown)する(ステップS611)。サーバ管理装置4は、物理サーバ5の稼働停止を確認すると、統合管理装置1に稼働停止完了を報告する。統合管理装置1は、メンテナンス対象サーバ5が稼働停止したことを表示する。これにより、保守者は、指定したサーバの稼働停止を確認することができる。
統合管理装置1は、メンテナンス処理指示後あるいは、サーバ管理装置4からメンテナンス処理の完了通知を受け取ると、物理サーバ毎の状態を記録する(ステップS612)。ここでは、メンテナンス対象サーバ5の稼働状態(例えば、稼働停止)を示す情報、メンテナンス対象サーバ5がメンテナンス中であるか否かを示す情報、及びメンテナンス対象サーバ5に設定されたクラスタリングに関する情報が記録されることが好ましい。例えば、物理サーバ5がメンテナンス中(稼働停止)であるHAクラスタ(待機系)であることが記録される。又、クラスタリングに関する情報は、ステップS606において切り替えられた後の現在の状態(待機系)や切替られる前の状態(稼動系)を示す情報を含んでもよい。
保守者は、稼働を停止した物理サーバ5のメンテナンス(例示:ハードウェアの交換や増設、ソフトウェアの入れ替え等)を行う。物理サーバ5に対するメンテナンスが終了すると、管理者は、統合管理装置1にメンテナンス終了指示を入力する。この際、メンテナンスが終了したサーバが統合管理装置1に指定される。統合管理装置1は、メンテナンス終了指示に応じて、メンテナンスのために稼働を停止した物理サーバ5を起動させる。起動方法は、図12に示す方法と同様であるため、説明は省略する。
以上のように、統合管理装置1による一元制御により、HAクラスタ(待機系)のサーバを切り離し、当該サーバに対するメンテナンス処理(ファイル更新や稼働停止及び起動処理)を実行することができる。
(3)負荷分散クラスタの一部として設定されたサーバに対するメンテナンス処理
図15から図16を参照して、負荷分散クラスタの一部として設定されたサーバ(以下、負荷分散系サーバと称す)に対するメンテナンスの動作を説明する。以下では、メンテナンス対象となる物理サーバ5が負荷分散クラスタの一部に設定されているものとして説明する。
図15は、第1の実施の形態におけるメンテナンス処理(負荷分散系サーバに対するメンテナンス)の動作を示すシーケンス図である。図15を参照して、負荷分散クラスタの一部に設定された物理サーバ5に対するファイルの更新(例示:OSのアップグレード)について説明する。HAクラスタ(稼動系)のサーバに対するメンテナンス処理と同様に、ステップS601〜S603の処理により、統合管理装置1は、メンテナンス対象サーバ5が負荷分散クラスタの一部として設定されているあることを検出する。ただし、ステップS603においてサーバ管理装置4から送信されるクラスタリング情報には、メンテナンス対象サーバ5が負荷分散系サーバであることを示す情報とともに、ロードバランサ9を特定する情報が含まれる。
統合管理装置1は、メンテナンス対象サーバ5が負荷分散系サーバであることを検出すると、特定したロードバランサ9に対して、メンテナンス対象サーバ5に対する負荷(処理)の割り当ての変更指示を発行する(ステップS641)。ロードバランサ9は、負荷割り当て変更指示に応じて、統合管理装置1によって指定されたメンテナンス対象サーバ5への処理の割り当てを停止する(ステップS642)。処理の割り当てを変更したロードバランサ9は、負荷変更完了報告を統合管理装置1に報告する(ステップS643)。
又、統合管理装置1は、メンテナンス対象サーバ5へのデータ転送に係るフローが未設定状態(全てのOFSに設定されていない状態)となるまで待機し、未設定状態を確認したのち、メンテナンス処理を指示する。詳細には、統合管理装置1は、メンテナンス対象サーバ5が負荷分散系サーバであることを検出すると、メンテナンス対象サーバ5のMACアドレスを指定し、メンテナンス対象サーバ5に対するデータ転送に係るフローが設定されているか否かの確認要求をOFC3に発行する(ステップS644)。この際、メンテナンス対象サーバを指定するため物理サーバ5のMACアドレスが指定される。OFC3は、指定されたMACアドレスに基づいて確認対象となるフロー特定し、フローテーブル334の設定情報446を参照して、物理サーバ5に対するデータ転送に係るフローが、物理サーバ5に至る通信経路上のスイッチ(OFS)等に設定されているか否かを確認する(ステップS645)。当該フローが設定されている場合、OFC3は所定時間待機して再度確認を行う。ここで、OFS4iに設定されるフローは所定の時間が経過すると削除される(削除されるまでの時間は、OFC3によってフローとともにOFSに設定される)。このため、所定の時間が経過すると、確認対象のフローが未設定状態となる。OFS4iでは、フローを利用して処理を制御するパケットの受信がない期間に、当該フローを削除することが好ましい。通常、フローが削除されるまでの時間は、当該フローに係る通信が行われなくなるまでの十分長い時間が設定される。
OFC3は、物理サーバ5に対するデータ転送に係るフローが全てのOFSに対し未設定状態となるまで、ステップS645の確認処理及び待機を繰り返し、未設定状態を確認すると、未設定状態を示す確認結果情報を統合管理装置1に送信する(ステップS646)。尚、負荷割り当て変更処理と、フロー設定の確認処理の順は、図15に示す順でも逆順でもよく、並行して行われてもよい。
統合管理装置1は、メンテナンス対象サーバ5に対するフローが未設定であることを確認することで、メンテナンス対象サーバ5に対するデータ転送の停止を確認することができる。
メンテナンス対象サーバ5に対するフローの未設定が確認されるとメンテナンス処理(ここではファイル更新)に移行する。統合管理装置1は、メンテナンス対象サーバとして物理サーバ5を指定し、サーバ管理装置4にメンテナンス(ここではファイル更新)を指示する(ステップS647)。サーバ管理装置4は、メンテナンス対象サーバ5に更新ファイルを送信するとともに、ファイル更新指示を発行する(ステップS648)。物理サーバ5は、ファイル更新指示に応じて、受信した更新ファイルによって自身のソフトウェアを更新する(ステップS649)。サーバ管理装置4は、物理サーバ5におけるファイル更新完了後を確認すると、統合管理装置1に物理サーバ5のソフトウェアの更新完了を報告する(ステップS652、S653)。統合管理装置1は、メンテナンス対象サーバ5におけるファイル更新の完了を表示する。これにより、管理者は、指定したサーバのファイル更新の正常終了を確認することができる。
統合管理装置1は、メンテナンス処理指示後あるいは、サーバ管理装置4からメンテナンス処理の完了通知を受け取ると、物理サーバ毎のメンテナンス状態を記録する(ステップS651)。ここでは、メンテナンス状態として、物理サーバ5がファイル更新中であることを示す情報や、ファイル更新完了及び更新ファイルに関する情報(例えば、ソフトウェアやOSのバージョン情報)が記録される。尚、メンテナンス処理がファイル更新である場合、ステップS651の処理は省略されても構わない。
メンテナンス処理(ファイル更新)を完了すると、ステップS642において変更された負荷(処理)の割り当てを元の状態に変更する。詳細には、物理サーバ5のファイル更新を確認した統合管理装置1は、ロードバランサ9に対して、メンテナンス対象サーバ5に対する負荷(処理)の割り当ての変更指示を発行する(ステップS654)。ロードバランサ9は、負荷割り当て変更指示に応じて、統合管理装置1によって指定されたメンテナンス対象サーバ5への処理の割り当てを開始する(ステップS655)。処理の割り当てを変更したロードバランサ9は、負荷変更完了報告を統合管理装置1に報告する(ステップS656)。統合管理装置1は、負荷割り当ての変更完了を表示する。これにより、管理者は、指定したサーバのファイル更新に係る全ての処理の正常終了を確認することができる。
次に、図15を参照して、負荷分散系サーバ(ここでは物理サーバ5)のハードウェア又はソフトウェアをメンテナンスするために、物理サーバ5の稼働を停止(shutdown)する処理について説明する。メンテナンス対象サーバ5が負荷分散系サーバであるため、上述のファイル更新処理と同様に図15に示すステップS601〜S646の処理が行われ、メンテナンス対象サーバ5に対する処理の割り当てが停止されるとともに、メンテナンス対象サーバ5へのデータ転送に係るフローが未設定であることが確認される。
負荷割当の変更及びフロー未設定確認が完了すると、メンテナンス処理(ここでは稼働停止処理)に移行する。統合管理装置1は、メンテナンス対象サーバとして物理サーバ5を指定し、メンテナンス(ここでは稼働停止処理)を指示する(ステップS647)。サーバ管理装置4は、メンテナンス対象サーバ5に稼働停止(shutdown)指示を発行する(ステップS648)。物理サーバ5は、稼働停止指示に応じて、稼働を停止(shutdown)する(ステップS649)。サーバ管理装置4は、物理サーバ5の稼働停止を確認すると、統合管理装置1に稼働停止完了を報告する(ステップS652、S653)。統合管理装置1は、メンテナンス対象サーバ5が稼働停止したことを表示する。これにより、管理者は、指定したサーバの稼働停止を確認することができる。
統合管理装置1は、メンテナンス処理指示後あるいは、サーバ管理装置4からメンテナンス処理の完了通知を受け取ると、物理サーバ毎の状態を記録する(ステップS612)。ここでは、メンテナンス対象サーバ5の稼働状態(例えば、稼働停止)を示す情報、メンテナンス対象サーバ5がメンテナンス中であるか否かを示す情報、及びメンテナンス対象サーバ5に設定されたクラスタリングに関する情報が記録されることが好ましい。例えば、物理サーバ5が、メンテナンス中(稼働停止)である負荷分散系サーバであることが記録される。
保守者は、稼働を停止した物理サーバ5のメンテナンス(例示:ハードウェアの交換や増設、ソフトウェアの入れ替え等)を行う。物理サーバ5に対するメンテナンスが終了すると、管理者は、統合管理装置1にメンテナンス終了指示を入力する。この際、メンテナンスが終了したサーバが統合管理装置1に指定される。統合管理装置1は、メンテナンス終了指示に応じて、メンテナンスのために稼働を停止した物理サーバ5を起動させる。
図16は、本発明に係る負荷分散系サーバのメンテナンス処理後における起動処理の動作を示すシーケンス図である。図16を参照して、負荷分散系サーバに対するメンテナンス処理後のサーバの起動動作の詳細を説明する。保守者によるメンテナンス終了指示(サーバ指定)に応じて、統合管理装置1は、メンテナンス中のサーバ一覧から、保守者によって指定されたサーバの状態を取得する(ステップS631)。ここでは、物理サーバ5が稼働停止中(メンテナンス中)の負荷分散系サーバであることを示す状態が取得される。統合管理装置1は、指定されたサーバ(メンテナンスが終了した物理サーバ5)の起動を指示する(ステップS632)。サーバ管理装置4は、指定された物理サーバ5を起動させる(ステップS633、S634)。ここでは、例えばIPMI等を利用してサーバの起動を実行する。
起動を完了した物理サーバ5は、サーバ管理装置4を介して統合管理装置1に対し起動完了を報告する(ステップS635、S636)。メンテナンス対象サーバ5の起動が完了すると、ステップS642において変更された負荷(処理)の割り当てを元の状態に変更する。詳細には、物理サーバ5のファイル更新を確認した統合管理装置1は、ロードバランサ9に対して、メンテナンス対象サーバ5に対する負荷(処理)の割り当ての変更指示を発行する(ステップS661)。ロードバランサ9は、負荷割り当て変更指示に応じて、統合管理装置1によって指定されたメンテナンス対象サーバ5への処理の割り当てを開始する(ステップS662)。処理の割り当てを変更したロードバランサ9は、負荷変更完了報告を統合管理装置1に報告する(ステップS663)。統合管理装置1は、負荷割り当ての変更完了を表示する。これにより、管理者は、指定したサーバのファイル更新に係る全ての処理の正常終了を確認することができる。
以上のように、統合管理装置1による一元制御により、負荷割り当てを制御して負荷分散系サーバを切り離し、当該負荷分散系サーバに対するメンテナンス処理(ファイル更新や稼働停止及び起動処理)を実行することができる。この際、OFC3によるフロー監視機能により、メンテナンス対象サーバにデータ転送するフローが未設定となるまでメンテナンス処理を待機させることができる。
(4)単独サーバに対するメンテナンス処理
図17から図19を参照して、単独で運用されるサーバ(以下、単独サーバと称す)に対するメンテナンスの動作を説明する。以下では、メンテナンス対象となる物理サーバ5が単独サーバであるものとして説明する。
単独サーバをメンテナンスする場合、当該サーバ上でVMM(仮想マシンモニタ)が稼働しているか否かによって、その処理の方法が異なる。その稼働を停止してからハードウェア又はソフトウェアの更新や交換を行う。図17は、第1の実施の形態における単独サーバ(VMM稼働なし)に対するshutdown動作を示すシーケンス図である。図17を参照して、HAクラスタ(稼動系)のサーバに対するメンテナンス処理と同様に、ステップS601〜S603の処理により、統合管理装置1は、メンテナンス対象サーバ5が単独サーバであることを検出する。
統合管理装置1は、メンテナンス対象サーバ5が単独サーバであることを検出すると、VM管理装置2に対してメンテナンス対象サーバを指定し、VMMの稼働確認要求を発行する(ステップS671)。VM管理装置2は、メンテナンス対象サーバとして指定された物理サーバ5上でVMMが稼働しているか否かを示す稼働状況情報を統合管理装置1に送信する(ステップS672)。統合管理装置1は、メンテナンス対象サーバ5におけるVMMの稼働状況を表示する(ステップS673)。保守者は、稼働状況を確認することでメンテナンス対象サーバ5を停止させるか否かを設定できる。通常、メンテナンス対象サーバ5上でVMMが稼働していない場合、保守者は、メンテナンス対象サーバ5を停止させるように統合管理装置1を用いて指示を出す。
統合管理装置1は、メンテナンス対象サーバとして物理サーバ5を指定し、稼働停止処理を指示する(ステップS674)。サーバ管理装置4は、メンテナンス対象サーバ5に稼働停止(shutdown)指示を発行する(ステップS675)。物理サーバ5は、稼働停止指示に応じて、稼働を停止(shutdown)する(ステップS676)。サーバ管理装置4は、所定の時間待機し、物理サーバ5の稼働停止を確認すると、統合管理装置1に稼働停止完了を報告する(ステップS677、S678)。統合管理装置1は、メンテナンス対象サーバ5が稼働停止したことを表示する。これにより、保守者は、指定したサーバの稼働停止を確認することができる。
一方、メンテナンス対象サーバ5上においてVMMが稼働している場合、図18A及び図18Bに示す動作により、仮想マシン(VM)のマイグレーション処理が行われる。例えば、メンテナンス対象が物理サーバ5のホストOSやハードウェアである場合、VM101〜VM10nを他の物理サーバに移動する。
図18A及び図18Bは、第1の実施の形態における単独サーバ(VMM稼働あり)に対するメンテナンス処理の準備処理の動作を示すシーケンス図である。図18Aを参照して、HAクラスタ(稼動系)のサーバに対するメンテナンス処理と同様に、ステップS601〜S603の処理により、統合管理装置1は、メンテナンス対象サーバ5が単独サーバであることを検出する。
統合管理装置1は、メンテナンス対象サーバ5が単独サーバであることを検出すると、VM管理装置2に対してメンテナンス対象サーバを指定し、VMMの稼働確認要求を発行する(ステップS671)。VM管理装置2は、メンテナンス対象サーバとして指定された物理サーバ5上でVMMが稼働しているか否かを示す稼働状況情報を統合管理装置1に送信する(ステップS672)。統合管理装置1は、メンテナンス対象サーバ5におけるVMMの稼働状況を表示する(ステップS673)。保守者は、稼働状況を確認することでメンテナンス対象サーバ5を停止させるか否かを設定できる。ここでは、VMMが稼働していることが示される。
VMMの稼働を検出した統合管理装置1は、VMMを指定し、メンテナンス対象サーバ5上で稼働中のVMの情報(VMM情報324)をVM管理装置2に対して要求する(ステップS681)。VM管理装置2は、指定されたVMMで稼働しているVMの一覧(VMM情報324)を統合管理装置1に送信する(ステップS682)。統合管理装置1は、取得したVMM情報324に示された各VMの移動先を設定する(ステップS683)。
VMの移動先は、移動対象VMと同じストレージにアクセス可能であるVMMとすることが好ましい。これは、仮想マシンのマイグレーション時において、ストレージへのアクセス制限が変更される処理が追加される場合があるからである。又、仮想スイッチがOFC3によって設定されるフローによって制御されるスイッチではない場合(オープンフロー技術が適用されていないレイヤ2スイッチである場合)、VMの移動先は、移動前と同一のサブネットに所属させる必要がある。ただし、仮想スイッチがOFSとして機能する場合、VMの移動先として異なるサブネットに属するVMMに設定してもよい。
又、上述の条件を満たすVMMが複数ある場合、下記(a)〜(c)の条件を満たすVMMを優先的に移動先として設定することが好ましい。すなわち、(a)移動元のVMMに直接接続する最終段スイッチ(OFS4i)を最終段スイッチとするVMM、(b)マイグレーションに伴うメモリイメージの移動時における移動元のVMMとの通信に使用するOFS4iの数が少ないVMM、(c)移動元のVMMが使用している通信経路上のOFSと接続されているVMMを優先的に設定することが好ましい。
上記(a)を満たすVMMを優先的に移動先とすることで、経路変更に伴ってフローを再設定するスイッチが、最終段スイッチの1台だけとなる。又、VMのマイグレーションにともなうメモリイメージの転送による影響を受けるスイッチが最終段スイッチの1台だけとなる。
上記(b)を満たすVMMを優先的に移動先とすることで、VMのマイグレーションにともなうメモリイメージの転送による影響を受けるスイッチの数を最小化することができる。又、使用リソースや負荷が最も少ないVMMを選択することができる。
上記(c)を満たすVMMを優先的に移動先とすることで、経路変更に伴ってフローを再設定するスイッチの数を少なくすることができる。
更に、上記(a)〜(c)のいずれかの同一条件を満たすVMMが複数ある場合は、更に下位のルール(例えば乱数によって選択)に従って移動先となるVMMを決定することが好ましい。
VMの移動先が決定すると、VMの移動処理に移行する。先ず、統合管理装置1は、OFC3に対してVMマイグレーション準備指示を発行する(ステップS684)。OFC3は、準備指示に応じてVMマイグレーションの準備処理を実行する(ステップS685)。VMマイグレーション準備処理の詳細は後述するが、OFC3は、VMマイグレーションのためのメモリイメージの転送経路の設定や移動先のVMに対するデータ転送経路を算出し、これらの経路を利用するためのフローの生成及び設定を行う。VMマイグレーション準備処理が終了すると、統合管理装置1は、VM管理装置2に対し、VM毎に設定した移動先を通知するとともに、VMのマイグレーションを指示する(ステップS686)。統合管理装置1は、指示した全てのVMのマイグレーション完了を待つ。
VM管理装置2は、統合管理装置1からのマイグレーション指示に応じてメンテナンス対象サーバ5上で稼働するVMの移動処理を実行する(ステップS687)。VMの移動処理は、OFS4iや仮想スイッチ11、21に対するフロー設定によって実現できる。VMの移動処理の詳細は後述する。
統合管理装置1は、VMのマイグレーションの完了報告をVM管理装置2から受け取ると、メンテナンス対象サーバとして物理サーバ5を指定し、メンテナンス(ここではファイル更新)をサーバ管理装置4に指示する(ステップS691、S692)。サーバ管理装置4は、メンテナンス対象サーバ5に更新ファイルを送信するとともに、ファイル更新指示を発行する(ステップS693)。物理サーバ5は、ファイル更新指示に応じて、受信した更新ファイルによって自身のソフトウェア(例えばホストOS)を更新する(ステップS694)。サーバ管理装置4は、物理サーバ5におけるファイル更新完了後を確認すると、統合管理装置1に物理サーバ5のソフトウェアの更新完了を報告する。統合管理装置1は、メンテナンス対象サーバ5におけるファイル更新の完了を表示する。これにより、管理者は、指定したサーバのファイル更新の正常終了を確認することができる。
統合管理装置1は、メンテナンス処理指示後あるいは、サーバ管理装置4からメンテナンス処理の完了通知を受け取ると、物理サーバ毎のメンテナンス状態を記録する(ステップS695)。ここでは、メンテナンス状態として、物理サーバ5がファイル更新中であることを示す情報や、ファイル更新完了及び更新ファイルに関する情報(例えば、ソフトウェアやOSのバージョン情報)が記録される。尚、メンテナンス処理がファイル更新である場合、ステップS695の処理は省略されても構わない。
単独サーバであるメンテナンス対象サーバのハードウェア又はソフトウェアをメンテナンスする場合、図19に示すメンテナンス処理としてメンテナンス対象サーバの稼働停止処理が行われる。詳細には、図19を参照して、VMのマイグレーション完了後、メンテナンス対象サーバとして物理サーバ5を指定し、メンテナンス(ここでは稼働停止処理)を指示する(ステップS609)。サーバ管理装置4は、メンテナンス対象サーバ5に稼働停止(shutdown)指示を発行する(ステップS692)。物理サーバ5は、稼働停止指示に応じて、稼働を停止(shutdown)する(ステップS693)。サーバ管理装置4は、物理サーバ5の稼働停止を確認すると、統合管理装置1に稼働停止完了を報告する。統合管理装置1は、メンテナンス対象サーバ5が稼働停止したことを表示する。これにより、管理者は、指定したサーバの稼働停止を確認することができる。
統合管理装置1は、メンテナンス処理指示後あるいは、サーバ管理装置4からメンテナンス処理の完了通知を受け取ると、物理サーバ毎の状態を記録する(ステップS695)。ここでは、メンテナンス対象サーバ5の稼働状態(例えば、稼働停止)を示す情報、メンテナンス対象サーバ5がメンテナンス中であるか否かを示す情報、及びメンテナンス対象サーバ5に設定されたクラスタリングに関する情報が記録されることが好ましい。例えば、物理サーバ5がメンテナンス中(稼働停止)である単独サーバであることが記録される。
保守者は、稼働を停止した物理サーバ5のメンテナンス(例示:ハードウェアの交換や増設、ソフトウェアの入れ替え等)を行う。物理サーバ5に対するメンテナンスが終了すると、管理者は、統合管理装置1にメンテナンス終了指示を入力する。この際、メンテナンスが終了したサーバが統合管理装置1に指定される。統合管理装置1は、メンテナンス終了指示に応じて、メンテナンスのために稼働を停止した物理サーバ5を起動させる。起動方法は、図12に示す方法と同様であるため、説明は省略する。
以上のように、統合管理装置1による一元制御により、VMMが稼動する単独サーバをシステムから切り離し、当該サーバに対するメンテナンス処理(ファイル更新や稼働停止及び起動処理)を実行することができる。本発明によれば、VMMが稼働しているサーバに対してメンテナンス処理を行う場合、OFC3によるフローの設定変更により、メンテナンス対象サーバ上で稼働するVMを他のサーバ(VMM)に移動する。これにより、稼働するVMを停止することなく、物理サーバのハードウェアや、ホストOSのメンテナンス処理(例えばファイル更新や交換、補修)を行うことができる。又、OFS4iに対するフローの設定のみでVMを移動することが可能であるため、IT側の設定が不要となる。
2.第2の実施の形態
図20から図25Bを参照して、本発明によるスイッチ(OFS4i)に対するメンテナンス処理を説明する。本発明では、メンテナンス対象となるOFS4iをシステム(通信経路)から切り離してから、当該OFS4iに対してメンテナンス処理が行われる。
図20は、第2の実施の形態における、スイッチに対するメンテナンス処理の動作を示すシーケンス図である。先ず、図20及び図21を参照して、OFS4iに対するファイル更新処理を説明する。管理者は、統合管理装置1を操作して、メンテナンス対象(ここではファイル更新対象)となるOFSiを指定し、ファイル更新を指示する。統合管理装置1は、OFC3に対し、メンテナンス対象となるOFS4iを指定し、経路迂回を指示する(ステップS701)。ここでは、OFS42がメンテナンス対象として指定されるものとする。以下、メンテナンス対象スイッチ42と称す。
OFC3は、統計管理装置1からの経路迂回指示に応じて、指定されたスイッチが迂回可能か否かを検証する(ステップS702)。図21は、ステップS702における迂回検証処理の詳細を示すフロー図である。図21を参照して、OFC3は、経路迂回指示において指定されたメンテナンス対象スイッチ42が存在しないトポロジを作成する(ステップS721)。続いてOFC3は、全端点に対する通信経路が、ステップS721で作成されたトポロジから算出できるかどうかを検証する。詳細には、外部ネットワーク8やノード(物理サーバ5、6)を端点とした全組み合わせについて、ステップS721で作成したトポロジから通信経路を算出する(ステップS722)。
端点の全組み合わせについて、ステップS721で作成したトポロジから通信経路が算出可能な場合、OFC3は、迂回経路が、有効な通信経路に影響を与えないかどうかを検証する。詳細には、OFC3は、有効な通信経路の各端点を用いて、ステップS721で作成したトポロジから通信経路を算出する(ステップS723No、S725)。この際、例えば、ダイクストラ法を用いることで有効な通信経路に影響を与えない端点間の通信経路を算出することができる。ここで有効な通信経路とは、フローテーブル334に設定されたフローのうち、OFS4iに設定可能なフローに対応する通信経路であり、現在使用可能な通信経路を示す。ステップS725において算出できない組み合わせがない場合、図20に示すメンテナンス対象スイッチ42の無効化処理(ステップS703)に移行する。
一方、ステップS722やステップS725において通信経路を算出できない端点の組み合わせが存在する場合、OFS3は、統合管理装置1に対して通信経路が算出できなかった端点のセットを通知する(ステップS723Yes、S726Yes、S724)。この場合、統合管理装置1は、通信経路が存在しない端点が存在することと、通信経路が存在できない端点のセットを表示する。ステップS725において通信経路を算出できない端点の組み合わせがある場合、OFC3は、迂回路を設定することで現セッションが維持不能となることを統合管理装置1に通知する。これにより、統合管理装置1は、迂回路を設定することで通信を維持できないセッションがあることとそのセッションの端点を表示する。
管理者は、統合管理装置1に表示される迂回路設定による現通信への影響や迂回路設定可否を確認し、OFS42に対するメンテナンス処理の方法を決定することができる。迂回経路を設定できない場合のメンテナンス処理の方法は、後述する。
ステップS702の迂回検証処理において、メンテナンス対象スイッチ42の迂回経路を算出でき、迂回経路による現通信経路への影響がないと判定すると、OFC3は、トポロジ情報335においてメンテナンス対象スイッチ42を無効化又は削除する(ステップS703)。トポロジ情報335において無効化されたスイッチは、以降の通信経路の算出に用いられない。
そして、OFC3は、メンテナンス対象スイッチを迂回する新たな通信経路(迂回経路)に対応するフローを作成する(ステップS704)。詳細には、OFC3は、先ず、有効な通信経路(以下、迂回前経路と称す)の端点を用いて、ステップS702で作成したトポロジから通信経路(以下、迂回経路と称す)を算出する。続いて、OFC3は、算出した迂回経路上の各スイッチに設定するフローを生成する。迂回経路の算出は、全ての迂回前経路の端点の組み合わせについて算出され、各迂回経路上の各スイッチに設定するフローが生成される。これらのフローは全て、スイッチに設定可能なフロー(有効なフロー)として設定される。ここで生成されるフローに従うことで、OFS4iは迂回経路を介して受信パケットを転送するように制御される。
OFC3は、ステップS704で生成したフローを、迂回経路上の対応する各OFSに設定する(ステップS705、S706)。又、OFC3は、迂回前経路に対応するフローを、迂回前経路上の各OFSから削除する(ステップS707、S708)。図20に示す一例では、迂回前経路及び迂回経路の両通信経路上にあるOFS41に対するフローの設定及び削除処理が示される。
OFC3は、保持するフローテーブル334に設定された迂回前経路に対応するフローを削除(又は無効)とし、ステップS704において生成したフロー群を使用可能なフローとして登録(有効化)する(ステップS709)。以上のように、迂回経路に対応するフローの設定により、通信経路が変更され、メンテナンス対象スイッチ42を迂回する通信経路が確立する。フロー登録が完了すると、OFC3は、統合管理装置1に迂回完了を報告する(ステップS710)。
通信経路の迂回処理が完了すると、メンテナンス処理(ここではファイル更新)に移行する。統合管理装置1は、メンテナンス対象スイッチとしてOFS42を指定し、メンテナンス(ここではファイル更新)をOFC3に指示する(ステップS711)。OFC3は、メンテナンス対象スイッチ42に更新ファイルを送信するとともに、ファイル更新指示を発行する(ステップS712)。OFS42は、ファイル更新指示に応じて、受信した更新ファイルによって自身のソフトウェアを更新する(ステップS713)。OFC3は、OFS42におけるファイル更新完了後を確認すると、統合管理装置1にメンテナンス対象スイッチ42のソフトウェアの更新完了を報告する。OFC3は、ファイル更新指示後又は、ファイル更新完了を受けた後、トポロジ情報335においてファイル更新を完了したメンテナンス対象スイッチを有効化又は追加する。統合管理装置1は、メンテナンス対象スイッチ42におけるファイル更新の完了を表示する。これにより、管理者は、指定したサーバのファイル更新の正常終了を確認することができる。
統合管理装置1は、メンテナンス処理指示後あるいは、サーバ管理装置4からメンテナンス処理の完了通知を受け取ると、物理サーバ毎のメンテナンス状態を記録する(ステップS612)。ここでは、メンテナンス状態として、物理サーバ5がファイル更新中であることを示す情報や、ファイル更新完了及び更新ファイルに関する情報(例えば、ソフトウェアやOSのバージョン情報)が記録される。尚、メンテナンス処理がファイル更新である場合、ステップS612の処理は省略されても構わない。
ここで、メンテナンス対象スイッチ42のファイル更新後、変更された通信経路を、フローの設定により元に戻してもよいが、フローの再設定に要する処理負荷や再設定による他の通信への影響等を考慮して、通信経路の再変更は実施しないことが好ましい。
次に、図20を参照して、スイッチ(OFS)のハードウェア又はソフトウェアをメンテナンスするために、OFSの稼働を停止(shutdown)する処理について説明する。メンテナンス対象スイッチ42を迂回するため、上述のファイル更新処理と同様に図20に示すステップS701〜S710の処理が行われ、迂回経路への通信経路の変更が行われる。
通信経路の迂回経路の設定が完了すると、メンテナンス処理(ここでは稼働停止処理)に移行する。統合管理装置1は、メンテナンス対象スイッチとしてOFS42を指定し、メンテナンス(ここでは稼働停止処理)を指示する(ステップS711)。OFC3は、メンテナンス対象スイッチ42に稼働停止(shutdown)指示を発行する(ステップS712)。OFS42は、稼働停止指示に応じて、稼働を停止(shutdown)する(ステップS713)。OFC3は、OFS42の稼働停止を確認すると、統合管理装置1に稼働停止完了を報告する。統合管理装置1は、メンテナンス対象スイッチ42が稼働停止したことを表示する。これにより、管理者は、指定したスイッチの稼働停止を確認することができる。
保守者は、稼働を停止したOFS42のメンテナンス(例示:ハードウェアの交換や増設、ソフトウェアの入れ替え等)を行う。OFS42に対するメンテナンスが終了すると、管理者は、統合管理装置1にメンテナンス終了指示を入力する。この際、メンテナンスが終了したスイッチが統合管理装置1に指定される。統合管理装置1は、メンテナンス終了指示に応じて、メンテナンスのために稼働を停止したスイッチを起動させる。
図22は、本発明に係るサーバのメンテナンス処理後における、スイッチの起動処理の動作を示すシーケンス図である。図22を参照して、メンテナンス処理後のスイッチの起動動作の詳細を説明する。管理者によるメンテナンス終了指示(スイッチ指定)に応じて、統合管理装置1は、指定されたスイッチ(メンテナンスが終了したOFS42)の起動を、OFC3に指示する(ステップS731)。OFC3は、指定されたOFS42を起動させる(ステップS732、S733)。起動を完了したOFS42は、OFC3に報告する(ステップS734)。OFC3は、OFS42の起動を確認すると、トポロジ情報335中のメンテナンス対象スイッチ(ここではOFS42)を有効化又は追加する。これにより、以降の通信経路生成処理において、OFS42を通過する通信経路が生成され得る。図示しないが、OFC3は、統合管理装置1にOFS42の起動完了を報告してもよい。この場合、統合管理装置1は、OFS42がメンテナンス終了し起動したことを示す情報を記録することが好ましい。この情報は、管理者に対し視認可能に表示され得る。
サーバを起動させる際、サーバの状態をメンテナンス前の状態(HAクラスタ(稼動系))に復帰させてもよい。図13は、本発明に係るサーバのメンテナンス処理後における起動処理(系切り替え有)の動作を示すシーケンス図である。図13を参照して、統合管理装置1は、上述と同様にステップS631〜S634の処理により、指定された物理サーバ5を起動させる。ただし、統合管理装置1は、ステップS632における起動指示の際、系切替指示も併せて行う。サーバ管理装置4は、物理サーバ5からの起動完了を検出すると物理サーバ5のクラスタリング機構100に対し、稼動系の系切替を指示する(ステップS636)。メンテナンス対象サーバ5のクラスタリング機構100は、待機系のサーバ(ここではメンテナンスが終了した物理サーバ5)を稼動系に昇格させ、稼動系のサーバを待機系に降格させる(ステップS637)。クラスタリング機構100は、系切替の完了をサーバ管理装置4経由で統合管理装置1に通知する(ステップS638、S639)。
以上のように、統合管理装置1による一元制御により、スイッチをシステムから切り離し、当該スイッチに対するメンテナンス処理(ファイル更新や稼働停止及び起動処理)を実行することができる。又、系切替による元の状態への復旧処理も、統合管理装置1によって一元的に制御することができる。
サーバのファイル更新時と同様に、メンテナンス対象スイッチ42のファイル更新後、変更された通信経路を、フローの設定により元に戻してもよいが、フローの再設定に要する処理負荷や再設定による他の通信への影響等を考慮して、通信経路の再変更は実施しないことが好ましい。
3.第3の実施の形態(第2の実施の形態の変形例)
スイッチのメンテナンス処理において通信経路を変更する際、パケットロスを少なくすることが求められる。第3の実施の形態におけるメンテナンス処理では、通信経路の変更前の所定の期間、迂回前経路と迂回経路の両方を利用してデータの転送を行う。これにより、フロー変更に伴うパケットロスを少なくすることが可能となる。以下、図23A及び図23Bを参照して、第3の実施の形態におけるメンテナンス処理の動作の詳細を説明する。以下では、メンテナンス対象スイッチをOFS42、迂回経路上の端点と異なるスイッチをOFS41、端点のスイッチをOFS43として説明する。
図23A及び23Bは、第3の実施の形態におけるスイッチに対するメンテナンス処理の動作を示すシーケンス図である。図23Aを参照して、第3の実施の形態におけるメンテナンス処理方法では、第2の実施の形態と同様に、ステップS701〜S703の処理により、迂回検証、及びトポロジ情報335におけるメンテナンス対象スイッチ42の無効化が行われる。
OFC3は、メンテナンス対象スイッチを迂回する新たな通信経路(迂回経路)に対応するフローを作成する(ステップS741)。この際、OFC3は、第2の実施の形態と同様に迂回経路のみにデータ転送するためのフローを生成するとともに、パケットデータをコピーして迂回経路と迂回前経路の両方に送信するためのフローも併せて生成する。
OFC3は、ステップS741で生成したフローのうち、迂回経路のみを介してデータ転送するための、迂回経路上の端点以外の対応するOFS(OFS41)に設定する(ステップS742、S743)。続いて、OFC3は、迂回経路上の端点のスイッチ(OFS43)に対し、パケットデータをコピーして迂回経路と迂回前経路の両方に送信するためのフローを設定する(ステップS744、S745)。迂回経路上のOFSにフローを設定したOFC3は、所定の時間待機した後、迂回経路上の端点のスイッチ(OFS43)に対し、ステップS745で設定したフローを、ステップS741で生成した、迂回経路のみにデータ転送するフローに変更する(ステップS746、S747)。OFC3は、迂回前経路に対応するフローを、迂回前経路上の各OFSから削除する(ステップS748、S749)。
以降、第2の実施の形態と同様にステップS709〜S713の処理によって、OFC3におけるフローの登録(有効化)、及びメンテナンス処理(ファイルの更新又は稼働停止処理)が行われる。
本実施の形態によるメンテナンス方法によれば、所定の時間、端点のスイッチ(OFS4i)によって迂回経路と迂回前経路の2つの経路を介してデータ転送が行われるため、通信経路の変更時におけるパケットロスの発生を減少させることができる。
第2又は第3の実施の形態において、迂回経路を算出できない端点の組があった場合、統合管理装置1による制御により端点(サーバ)の状態(システム構成)を変更することで迂回経路の算出を可能としてもよい。端点(サーバ)の変更方法は、端点が、HAクラスタ(稼動系)サーバ、HAクラスタ(待機系)サーバ、負荷分散系サーバ、VMMが稼働する単体サーバのいずれかであることに応じて異なる。
図24A及び図24Bは、スイッチに対するメンテナンス処理における迂回経路生成のための端点変更処理の動作を示すフロー図である。図24Aを参照して、スイッチに対するメンテナンス処理の際、迂回経路を算出できないときの端点変更処理の詳細を説明する。上述のステップS702(ステップS726)の迂回経路検証処理において、迂回経路が算出できない端点が存在する場合、OFC3は、統合管理装置1に対し、通信経路が算出できなかった端点のセットを通知する。統合管理装置は、OFC3から通知された外部ネットワーク8以外の端点(サーバ)の状況(クラスタ構成)を確認する(ステップS801)。詳細には、上述のステップS601〜603と同様に、OFC3から通知された端点(サーバ)を指定して、それぞれのクラスタリング情報をサーバ管理装置4から取得する。取得したクラスタリング情報は記憶装置に記録される。
統合管理装置1は、OFC3から通知された端点(サーバ)に単体サーバがあった場合、上述のステップS671〜S672と同様にVM管理装置2に当該単体サーバでVMMが稼働しているか否かを確認する(ステップS802、S803)。この際、通知された端点(サーバ)に、VMMの稼働していない単体サーバが含まれる場合、統合管理装置1は、通信を維持できないセッションがあることと、そのセッションの端点(当該単体サーバ)を含むセットを表示し、迂回経路生成処理を終了する(ステップS803Yes、S804)。
一方、OFC3から通知された端点に単体サーバが含まれていない場合(ステップS802No)、あるいはVMMの稼働していない単体サーバが含まれていない場合(ステップS803No)、統合管理装置1は、端点(サーバ)に設定された状態(クラスタリング構成)に応じた方法で端点の変更処理を行う。
先ず、統合管理装置1は、OFC3から通知された端点から変更対象となる端点(サーバ)を抽出する(ステップS805、S806)。抽出された変更対象端点がHAクラスタ(稼動系)サーバである場合、統合管理装置1は、サーバ管理装置4に対して、HAクラスタ(待機系)のサーバをHAクラスタ(稼動系)に昇格させる指示を発行する(ステップS807Yes、S808)。続いて、統合管理装置1は、サーバ管理装置4に対して、HAクラスタ(稼動系)のサーバをHAクラスタ(待機系)に降格させる指示を発行する(ステップS809)。そして、統合管理装置1は、サーバ管理装置4に対して、降格したHAクラスタ(待機系)のサーバを停止させる指示を発行する(ステップS810)。サーバ管理装置4は、統合管理装置1からの各指示に応じて、稼動系と待機系の切り替え処理及びHAクラスタ(待機系)の稼働停止処理を行う。稼動系と待機系の切り替え処理、及び端点(サーバ)の稼働停止が完了すると、ステップS805に移行する。
ステップS806において抽出された変更対象端点がHAクラスタ(待機系)サーバである場合、統合管理装置1は、サーバ管理装置4に対して、当該端点(HAクラスタ(待機系)サーバ)を停止させる指示を発行する(ステップS811Yes、S810)。サーバ管理装置4は、統合管理装置1からの指示に応じて、HAクラスタ(待機系)の稼働停止処理を行う。端点(サーバ)の稼働停止が完了すると、ステップS805に移行する。
ステップS806において抽出された変更対象端点が負荷分散系サーバである場合、統合管理装置1は、ロードバランサ9に対して、当該端点(サーバ)への負荷割当を停止させる指示を発行する(ステップS812Yes、S813)。ロードバランサ9は、上述のステップS642と同様に統合管理装置1からの指示に応じて、変更対象端点(サーバ)に対する負荷割当を停止する。続いて、統合管理装置1は、OFC3に対して変更対象端点へのフロー停止確認要求を行う(ステップS814)。OFC3は、上述のステップS645と同様に、変更対象端点に対するデータ転送を制御するフローが各スイッチから削除されていることを確認し、統合管理装置1に報告する。変更対象端点に対するデータ転送の停止を確認した統合管理装置1は、サーバ管理装置に対して当該端点を停止させる指示を発行する(ステップS815)。サーバ管理装置4は、統合管理装置1からの指示に応じて当該端点(サーバ)の稼働停止処理を行う。端点(サーバ)の稼働停止が完了すると、ステップS805に移行する。
ステップS806において抽出された変更対象端点が単体サーバである場合、統合管理装置1は、VM管理装置2に対して当該端点(VMM)で稼働中のVMの情報(VMM情報324)を要求する(ステップS816Yes、S817)。VM管理装置2は、上述のステップS681と同様に、指定された端点(VMM)のVMの一覧(VMM情報324)を統合管理装置1に返却する。続いて、統合管理装置1は、上述のステップS683と同様に取得したVM一覧(VMM情報324)に示された各VMの移動先を決定し、VM管理装置2に対してVMの移動指示を発行する(ステップS818)。VM管理装置2は、ステップS687と同様にOFC3を利用してVMを移動させる。VMの移動を確認した統合管理装置1は、サーバ管理装置4に対して当該端点を停止させる指示を発行する(ステップS819)。サーバ管理装置4は、統合管理装置1からの指示に応じて当該端点(サーバ)の稼働停止処理を行う。端点(サーバ)の稼働停止が完了すると、ステップS805に移行する。
上述のステップS805〜S819の処理は、OFC3から通知された全ての端点について実施されるまで繰り返され、全ての端点が変更されると、上述のステップS703に以降し、第1及び第2の実施の形態で示される通り、メンテナンス対象の無効化、迂回経路の算出、フローの設定、及びメンテナンス処理(ファイル更新やハードウェアの交換等)が行われる。この際、迂回されるメンテナンス対象スイッチは稼働停止してもよい。又、変更された端点の状態(クラスタリング構成や稼働状況等)は記憶装置に記録されてもよい。
次に、メンテナンス処理後の動作を説明する。統合管理装置1は、管理者による入力又はOFC3からの通知によってメンテナンス処理の完了を知ると、上述の端点変更処理時(ステップS801)に記録された各端点(サーバ)の状態に応じて、変更された端点の状態を復旧する。図25A及び図25Bは、スイッチに対するメンテナンス処理後における端点復旧処理の動作を示すフロー図である。統合管理装置1は、記録された端点の状態を確認し、未復旧の端点(サーバ)がある場合、復旧対象端点を抽出して、サーバ状態の復旧処理を行う(ステップS831、S832Yes、S833)。
先ず、統合管理装置1は、抽出した復旧対象端点(サーバ)がHAクラスタ(稼動系)サーバである場合、統合管理装置1は、サーバ管理装置4に対して、HAクラスタ(待機系)のサーバの起動を指示する(ステップS834Yes、S835)。続いて、サーバ管理装置4に対して、HAクラスタ(待機系)のサーバをHAクラスタ(稼動系)に昇格させる指示を発行する(ステップS836)。そして、統合管理装置1は、サーバ管理装置4に対して、HAクラスタ(稼動系)のサーバをHAクラスタ(待機系)に降格させる指示を発行する(ステップS809)。サーバ管理装置4は、統合管理装置1からの各指示に応じて、HAクラスタ(待機系)の起動処理、及び稼動系と待機系の切り替え処理を行う。端点(サーバ)の起動及び稼動系への復旧が完了すると、ステップS832に移行する。
ステップS833において抽出された復旧対象端点がHAクラスタ(待機系)サーバである場合、統合管理装置1は、サーバ管理装置4に対して、当該端点(HAクラスタ(待機系)サーバ)を起動させる指示を発行する(ステップS838Yes、S839)。サーバ管理装置4は、統合管理装置1からの指示に応じて、HAクラスタ(待機系)の起動処理を行う。端点(サーバ)の起動が完了すると、ステップS832に移行する。
ステップS833において抽出された復旧対象端点が負荷分散系サーバである場合、統合管理装置1は、サーバ管理装置4に対して復旧対象端点の起動指示を発行する(ステップS840Yes、S841)。サーバ管理装置4は、統合管理装置1からの指示に応じて当該端点(サーバ)の起動処理を行う。続いて、統合管理装置1は、ロードバランサ9に対して、当該端点(サーバ)への負荷割当を停止させる指示を発行する(ステップS842)。ロードバランサ9は、上述のステップS662と同様に統合管理装置1からの指示に応じて、変更対象端点(サーバ)に対する負荷割当を再開する。端点(サーバ)の起動及び負荷割当が再開されると、ステップS832に移行する。
ステップS833において抽出された復旧対象端点が単体サーバである場合、統合管理装置1は、統合管理装置1は、サーバ管理装置4に対して復旧対象端点の起動指示を発行する(ステップS843Yes、S844)。サーバ管理装置4は、統合管理装置1からの指示に応じて当該端点(サーバ)の起動処理を行う。続いて、統合管理装置1は、VM管理装置2に対してVMの移動指示(復旧指示)を発行する(ステップS845)。端点(サーバ)の起動及びVMの移動が完了すると、ステップS832に移行する。
上述のステップS832〜S845の処理は、記憶している全ての復旧対象端点について実施されるまで繰り返され、全ての端点が復旧されると、統合管理装置1はメンテナンス処理が完了した表示する。
以上のように、統合管理装置1による一元制御により、迂回経路のないスイッチをシステムから切り離し、当該スイッチに対するメンテナンス処理(ファイル更新や稼働停止及び起動処理)を実行することができる。
4.第4の実施の形態(第1の実施の形態の変形例)
本実施の形態では、HAクラスタ(稼動系)のサーバに対するメンテナンス処理において稼動系と待機系とを切り換える際、オープンフロー技術によって通信経路を変更する。これにより、稼動系と待機系を切り替えたときの通信経路の際設定時間の短縮や、パケットロスを減じることが可能となる。以下、図31A〜図32Bを参照して、第4の実施の形態におけるHAクラスタ(稼動系)サーバに対するメンテナンス動作の詳細を説明する。
図31A及び図31Bは、第4の実施の形態におけるメンテナンス処理(稼動系サーバに対するメンテナンス)の動作を示すシーケンス図である。本実施の形態では、第1の実施の形態における稼動系と待機系の切り替え(ステップS604〜S608)の前に、系切り替え後に利用される通信経路に対応するフローの設定が行われる。
以下、フローの設定動作の詳細を説明する。メンテナンス対象サーバ5がクラスタ(稼動系)であることを検出した統合管理装置1は、OFC3に対し、メンテナンス対象サーバ5を指定し、フローの設定を指示する(ステップS901)。OFC3は、フロー設定指示に応じて、HAクラスタ(待機系)を端点とする通信経路に対応するフローを生成する(ステップS902)。詳細には、HAクラスタ(稼動系)であるメンテナンス対象サーバ5を端点とする通信経路の他方の端点と、HAクラスタ(待機系)のサーバとを端点とする通信経路をトポロジ情報335を用いて新たに算出する。そして当該通信経路上のOFS4iに設定するフローを生成する。OFC3は、ステップS902で生成したフローを、新たな通信経路上の対応する各OFS4iに設定する(ステップS903、S904)。
新たなフローが設定されたOFS4iは、HAクラスタ(稼動系)サーバとHAクラスタ(待機系)サーバの両方にパケットデータを転送する処理を行う。これにより、後述する系切り替え処理の間におけるパケットロスの発生を防止することができる。
OFC3は、フローを設定するとフロー設定完了報告を統合管理装置1に発行する(ステップS905)。統合管理装置1は、これに応じて、稼動系のメンテナンス対象サーバと待機系のサーバの系の切り替えをサーバ管理装置4に指示する(ステップS917)。サーバ管理装置4は、第1の実施の形態と同様にクラスタリング機構100を制御して、稼動系であるメンテナンス対象サーバ5を待機系に降格させ、指定した待機系のサーバを稼動系に昇格させる(ステップS636〜S639)
系切り替えの完了報告を受けた統合管理装置1は、フローの削除指示をOFC3に発行する(ステップS608、S906)。OFC3は、メンテナンス対象サーバ5を端点とする通信経路に対応するフローを、当該通信経路上のOFS4iから削除するように、当該OFS4iに指示する(ステップS907)。削除指示を受けたOFS4iは、当該フローを削除する(ステップS908)。これにより、メンテナンス対象サーバ5宛のパケットデータは、ステップS606において稼動系に切り替えられたサーバを端点とする通信経路のみを利用して、当該サーバへ転送されることとなる。
メンテナンス対象サーバ5に対する通信経路に対応するフローの削除が完了すると、サーバ管理装置4からフロー削除完了報告が統合管理装置1に通知される。これにより、統合管理装置1は、第1の実施の形態と同様にサーバ管理装置4にメンテナンスを指示し、メンテナンス処理に移行する(ステップS609〜S612)。
以上のように、系切り替えの前に系切り替え後に利用するフローの設定が行われるため、系切り替え後の通信経路の変更時間が短縮される。
図32A及び図32Bは、第4の実施の形態のおける、サーバのメンテナンス処理後における起動処理の動作を示すシーケンス図である。第4の実施の形態では、メンテナンスのために稼動を停止していた物理サーバ5を起動する際、系の切り替えと通信経路の切り替えが行われる。この際、第1の実施の形態における稼動系と待機系の切り替え(ステップS636〜S639)の前に、系切り替え後に利用される通信経路に対応するフローの設定が行われる。
詳細には、第1の実施の形態と同様に、統合管理装置1によって、メンテナンス後の物理サーバ5が起動する(ステップS631〜S635)。統合管理装置1は、サーバ管理装置4からの報告により物理サーバ5の起動完了を確認すると、稼動系として運用するサーバを指定し、フローの設定を指示する(ステップS911、S912)。ここでは、メンテナンスが終了したHAクラスタ(待機系)の物理サーバ5が指定される。OFC3は、フロー設定指示に応じて、HAクラスタ(待機系)である物理サーバ5を端点とする通信経路に対応するフローを生成する(ステップS913)。詳細には、HAクラスタ(稼動系)サーバを端点とする通信経路の他方の端点と、HAクラスタ(待機系)の物理サーバ5とを端点とする通信経路を、トポロジ情報335を用いて算出する。そして当該通信経路上のOFS4iに設定するフローを生成する。OFC3は、ステップS913で生成したフローを、新たな通信経路上の対応する各OFS4iに設定する(ステップS914、S915)。尚、図31A及び図31Bに示したフローの削除処理において、メンテナンス対象サーバ5に対するフローが削除されずOFC3のフローテーブル334に保持されている場合、ステップS913のフロー生成処理は省略される。
新たなフローが設定されたOFS4iは、HAクラスタ(稼動系)サーバとHAクラスタ(待機系)サーバの両方にパケットデータを転送する処理を行う。これにより、後述する系切り替え処理の間におけるパケットロスの発生を防止することができる。
OFC3は、フローを設定するとフロー設定完了報告を統合管理装置1に発行する(ステップS916)。統合管理装置1は、これに応じて、稼動系のメンテナンス対象サーバと待機系のサーバの系の切り替えをサーバ管理装置4に指示する(ステップS917)。サーバ管理装置4は、第1の実施の形態と同様にクラスタリング機構100を制御して、稼動系である物理サーバを待機系に降格させ、メンテナンスが終了した待機系の物理サーバ5を稼動系に昇格させる(ステップS636〜S639)
系切り替えの完了報告を受けた統合管理装置1は、フローの削除指示をOFC3に発行する(ステップS939、S918)。OFC3は、稼動系から待機系に切り替えられたサーバを端点とする通信経路に対応するフローを、当該通信経路上のOFS4iから削除するように、当該OFS4iに指示する(ステップS919)。削除指示を受けたOFS4iは、当該フローを削除する(ステップS920)。これにより、メンテナンス対象サーバ5宛のパケットデータは、ステップS606において稼動系に切り替えられた物理サーバ5を端点とする通信経路のみを利用して、当該サーバへ転送されることとなる。
以上のように、メンテナンス後の物理サーバに対する起動処理においても、系切り替えの前に系切り替え後に利用するフローの設定が行われるため、系切り替え後の通信経路の変更時間が短縮される。尚、メンテナンス後の系切り替え及び通信経路の切り替えは省略され得る。
(仮想マシンのマイグレーション動作)
次に、ステップ684における仮想マシンのマイグレーション動作について説明する。
(1)第1の実施例
図26から図28を参照して、仮想マシンのマイグレーション動作の第1の実施例を説明する。図26は、仮想マシンのマイグレーション処理における準備処理の第1の実施例を説明するシーケンス図である。先ず、図26を参照して、ステップS685におけるマイグレーション準備処理の第1の実施例を説明する。
統合管理装置1は、ステップS683においてVMの移動先が決定すると、VMマイグレーション準備指示をOFC3に発行する(ステップS684)。この際、統合管理装置1は、VMM管理情報323に基づいて、移動元VMM、移動対象VM、移動先VMM、及び移動先VSWを、OFC3に指定する。
移動準備指示を受けたOFC3は、先ずメモリイメージの移動のための通信経路及びフローの設定を行う。OFC3は、トポロジ情報335に基づいて移動元VMMと移動先VMMとの間で移動対象VMのメモリイメージを転送するための通信経路(メモリイメージ転送経路)を算出する(ステップS104)。ここでは、移動前の移動対象VMのメモリイメージが格納される領域と、移動後の移動対象VMのメモリイメージが格納される領域とが両端点として設定され、メモリイメージ転送経路として算出される。算出されたメモリイメージ転送経路に関する情報は通信経路情報336として記録される。
OFC3は、ステップS104で算出したメモリイメージ転送経路上にある各OFS4iに設定すべきフロー(メモリイメージ転送用フロー)を生成する(ステップS105)。OFS4i毎に生成されたメモリイメージ転送用フロー(ルール444+アクション情報445)は、各OFS4iに対応付けられてフローテーブル334に登録される。この際、メモリイメージ転送用フローの設定情報446は、「未設定」及び「無効」に設定される。
OFC3は、メモリイメージ転送用フローを各OFS4iやノードに設定する(ステップS106〜S108)。詳細には、OFC3は、メモリイメージ転送用フローの設定を、通信経路上の対応するOFS4iに指示する(ステップS106)。フローの設定が指示されたOFS4iは、それぞれに送信されたフロー(ルール444+アクション情報445)を自身のフローテーブル343に設定する(ステップS107)。フローの設定が完了したOFS4iは、フロー設定完了をOFC3に報告する(ステップS108)。ここで、メモリイメージ転送用フローは、OFS4i以外にも、メモリイメージ転送経路上のノードにも設定される。又、仮想スイッチがオープンフロー技術に対応した構成である場合、メモリイメージ転送用フローは、メモリイメージ転送経路上の仮想スイッチに設定される。OFS4iや仮想スイッチに設定されたメモリイメージ転送用フローの設定情報446は、「設定済み」及び「有効」に設定される。
次にOFC3は、VMマイグレーション後の移動対象VM(以下、移動先VMと称す)に対するアクセスのための通信経路及びフローの設定を行う。先ず、OFC3は、移動先VMへの通信経路(移動先VM宛通信経路)を算出する(ステップS109)。詳細には、OFC3は、予め保持する有効な通信経路情報336から移動対象VMに関わる通信経路の通信経路情報336を選択する。ここで、有効な通信経路(有効な通信経路情報336)とは、OFS4iに設定可能なフローが存在する通信経路を示す。そしてOFC3は、トポロジ情報335を利用して、選択した通信経路の一方を移動対象VMから、移動先VMが接続する仮想スイッチに変更して通信経路を修正し、移動先VM宛通信経路として算出する。算出された移動先VM宛通信経路に関する情報は通信経路情報336として記録される。
OFC3は、ステップS109で算出した移動先VM宛通信経路上にある各OFS4iに設定すべきフロー(移動先VM宛通信用フロー)を生成する(ステップS110)。OFS4i毎に生成された移動先VM宛通信用フロー(ルール444+アクション情報445)は、各OFS4iに対応付けられてフローテーブル334に登録される。この際、移動先VM宛通信用フローの設定情報446は、「未設定」及び「無効」に設定される。
OFC3は、移動先VM宛通信用フローを生成すると、移動準備の完了を統合管理装置1に報告する(ステップS111)。
以上のように、第1の実施例における準備処理では、移動対象VMのメモリイメージの転送経路の算出及びその移動を制御するためのフローの設定と、移動先VMに対するアクセスのための通信経路の算出及びその通信を制御するためのフローの生成が行われる。第1の実施例では、OFS4iへのメモリイメージ転送用フローの設定と、移動先VM宛通信用フローの作成が終了した段階で、移動準備が終了する。
ステップS687におけるマイグレーション処理は、図27に示すメモリイメージの転送処理と図28に示すアクセス先切り替え処理を含む。
図27は、仮想マシンのマイグレーション処理におけるメモリイメージ転送処理の第1の実施例を説明するシーケンス図である。図27を参照して、移動準備完了報告を受け取った統合管理装置1は、マイグレーション指示をVM管理装置2に発行する(ステップS686)。VM管理装置2は、準備処理において指定された移動元VMM(ここでは一例としてVMM10)と移動先VMM(ここでは一例としてVMM20)に対し、マイグレーション指示を発行する(ステップS202、S203)。この際、移動対象VMをVMM10、20に通知する。尚、ステップS201におけるマイグレーション指示の際、移動元VMMと移動先VMMを指定してもよい。
VM管理装置2からのマイグレーション指示に応じてVMM10、20間において仮想マシンのメモリイメージの転送が行われる(ステップS204〜S212)。詳細には、移動先VMM(以下、移動先VMM20)においてVM管理装置2から指定されたVMが作成される(ステップS204)。移動元VMM(以下、移動元VMM10)は、移動先VMM20から通知されたVM作成完了報告に応じて移動対象VMのメモリイメージを転送する(ステップS205〜S207)。ステップS204において作成されたVM宛にメモリイメージを転送する。メモリイメージは、ステップS104〜S107で設定されたメモリイメージ転送経路を経由して転送される。この際、メモリイメージ転送経路上のOFS4iは、ステップS107で設定されたメモリイメージ転送用フローに従いメモリイメージを転送する。
メモリイメージの転送中において、移動対象VM以外の他の仮想マシンへのアクセス(例えばテータ転送)が生じた場合、当該アクセスに係るOFS4iは、自身のフローテーブル343に設定されたフローに従って、受信パケットのヘッダ情報に対応するアクション(例えばデータの中継処理)を実行する。ここで、メモリイメージ転送経路をマイグレーションに関係のない他の仮想マシンへのアクセスを妨げないような経路に設定することで、他の仮想マシンへの通信を妨げることなく移動対象VMを移動することが可能となる。
一方、メモリイメージの転送中において、移動対象VM宛へのアクセスが生じた場合(例えば、移動対象VM宛のデータが転送された場合)、移動対象VMへの通信経路上のOFS4iは、自身のフローテーブル343に設定されたフローに従って、受信パケットのヘッダ情報に対応するアクション(例えばデータの中継処理)を実行する。ここでは、移動対象VMがVMM10上で動作しているものとしてフローが設定されているため、移動対象VM宛のデータは、物理サーバ5上の移動対象VMに転送される。移動元VMM10は、転送された移動対象VM宛のデータを移動対象VMのメモリページに記録する。
メモリイメージの転送中においても、移動対象VMのプロセス処理や、移動対象VM宛に転送されるデータによってメモリページが変更される場合がある。変更されたメモリページは、コピー対象として記憶装置の変更ページ記録領域に記録される(ステップS208)。変更ページの記録処理は、移動先VMが稼動を開始するまで行われることが好ましい。
移動対象VMに関連する全てのメモリイメージの転送が終了すると、移動元VMM10は、変更ページを、ステップS104〜S107において設定されたメモリイメージ転送用経路を介して移動先VMM20に転送する(ステップS209)。ただし、移動対象VMに関連する全てのメモリイメージの転送が終了したときに記録されている変更ページの数が、所定の数以下の場合、ステップS209に変更ページの転送処理は省略されることが好ましい。又、ステップS209の変更ページの転送処理の間にも、メモリページが変更される場合がある。このため、ステップS209では、移動元VMM10は、変更ページ記録領域中の変更ページを更に別の領域に記録し、当該変更ページ記録領域をクリアしてから変更ページを移動先VMM20に転送する。
移動対象VMに関連する全てのメモリイメージの転送(変更ページの転送も含む)が終了すると、移動元VMM10上で動作する移動対象VM(以下、移動元VMと称す)の動作を停止する(ステップS210)。この際、移動元VMの仮想のネットワークインタフェースも停止する。尚、移動元VMM10は、ステップS209において変更ページの転送と変更ページの記録を繰り返し、変更ページの数が所定の数以下となったとき移動元VMを停止することが好ましい。移動元VMの停止後、移動元VMM10は、変更ページを、ステップS104〜S107において設定されたメモリイメージ転送用経路を介して移動先VMM20に転送する(ステップS211)。これによって、移動元VMM10から移動先VMMへのメモリイメージの転送が完了する。ここで、移動先VMM20上で作成されたVM(以下、移動先VMと称す)が稼動し始めても良いが、移動元VMと移動先VMのメモリイメージの一致判定が行われることが好ましい。詳細には、移動元VMの停止を確認した移動元VMM10は、転送確認指示を移動先VMM20に発行する(ステップS212)。移動先VMM20は、転送確認指示に応じて移動先VMのメモリイメージを、ステップS104〜S107において設定されたメモリイメージ転送用経路を介して移動元VMM10に転送する(ステップS213)。移動元VMM10は、移動先VMM20から転送されたメモリイメージと移動元VMのメモリイメージとが一致するか否かを判定する(ステップSS214)。
ステップS216において、移動先VMと移動元VMのメモリイメージの一致が確認されると、移動元VMM10から移動先VMM20に対して一致確認完了報告が通知される(ステップS215)。一致確認完了報告を受けた移動先VMM20は、移動先VMを稼動させる(ステップS216)。この際、移動先VMの仮想のネットワークインタフェースも稼動状態となる。
一方、ステップS216において、移動先VMと移動元VMのメモリイメージが一致しない場合、一致しないメモリページの転送処理が行われる(図示なし)。
以上のように、統合管理装置1によって指定された経路(メモリイメージ転送用経路)を利用してVMのメモリイメージの転送が行われる。この際、移動元VMへのアクセスは、OFS群4に移動前に設定されていたフローに従って行われる。このため、移動元VMに対する通信を中断することなく当該VMのメモリイメージを転送することができる。又、メモリイメージ転送用経路は、統合管理装置1によって任意に設定することが可能であるため、他の仮想マシンに対する通信を阻害することのない経路を選定することができる。これにより、他の仮想マシンに対する通信に影響しないメモリイメージの転送が可能となる。
通常、物理サーバが同一サブネットに属する場合、レイヤ2のスイッチを介して物理サーバ間のデータ転送が行われるが、物理サーバが、異なるサブネットに属する場合、物理サーバ間にレイヤ3スイッチを用意する必要がある。一方、本発明ではレイヤ1からレイヤ4のアドレスや識別子の組み合わせによってアクション(例えば中継動作)が決まるオープンフロー技術を利用してメモリイメージの転送を行っている。このため、物理サーバ5、6が異なるサブネットに属する場合でも、フローの設定を変更するだけで物理サーバ間のデータ転送が可能となる。
図28は、仮想マシンのマイグレーション処理におけるアクセス先切り替え処理の第1の実施例を説明するシーケンス図である。ここでは、ステップS218において稼動した移動先VMをVM20mとして、移動元VMから移動先VM20mへのアクセス先の切替動作を説明する。図28を参照して、移動先VMM20上で作成されたVM20mは、稼動状態となると、先ずRARP(Reverse Address Resolution Protocol)送信する(ステップS301)。RARPは、仮想スイッチ21によって検出され、OFS4iに転送される。RARPを検出したOFS4iは、検出したRARPをOFC3に通知する(ステップS302)。詳細には、稼動状態となった移動先のVMからのRARP送信によるパケットデータを受信したOFS4iは、当該パケットデータに適合するフロー(ルール)が設定されていないことから、ファーストパケットを受信したことをOFC3に通知する。この際、当該パケットデータ又はパケットデータに含まれるMACアドレスをOFC3に通知する。OFC3は通知されたMACアドレスに対応する通信経路を移動先VM宛通信経路として選択し、移動先VM宛通信用フローを生成する。ここでは、OFS4iからRARPのパケットデータが転送され、OFC3は、RARP送信したVM20mのMACアドレスを取得する。
OFC3は、保持している有効な通信経路情報336のうち、ステップS302で通知されたRARP(MACアドレス)に該当する通信経路(通信経路情報336)を選択する(S303)。ここでは、ステップS109で算出された移動先VM宛通信経路の中からRARP(MACアドレス)を通過する通信経路が選択される。続いてOFC3は、ステップS110で生成された移動先VM宛通信用フローを、選択された通信経路上のOFS4iやノードに設定する(ステップS304〜S307)。詳細には、OFC3は、通信経路情報336及びトポロジ情報335から、選択された移動先VM宛通信経路上のノード及びOFS4iを抽出し、それぞれに対応する移動先VM宛通信用フローを選択する(ステップS304)。そして、OFS4i毎に選択した移動先VM宛通信用フローの設定指示を発行する(ステップS305)。OFS4iは、移動先VM宛通信用フローの設定指示に応じて、送信された移動先VM宛通信用フローを自身のフローテーブル343に設定する(ステップS306)。フローの設定が終了したOFS4iはフロー設定完了報告をOFC3に通知する(ステップS307)。OFS4iに設定された移動先VM宛通信用フローの設定情報446は、「設定済み」及び「有効」に設定される。
OFC3は、移動先VM宛通信経路上のノード及びOFS4iに移動先VM宛通信用フローを設定し、その設定完了を確認すると、トポロジ情報335を用いて移動先VMと仮想スイッチ21との間を接続するためのフローを生成する(ステップS308)。OFC3は、生成したフローを仮想スイッチ21に設定する(ステップS309、S310)。詳細には、OFC3はステップS308で生成したフローの設定指示を仮想スイッチ21に対して発行する(ステップS309)。仮想スイッチ21は、フローの設定指示に応じて、OFC3から送信されたフローを自身のフローテーブル343に設定する(ステップS310)。フローの設定が終了した仮想スイッチ21はフロー設定完了報告をOFC3に通知する(ステップS311)。仮想スイッチ21に設定された移動先VM宛通信用フローの設定情報446は、「設定済み」及び「有効」に設定される。
OFC3は、移動先VM20mと仮想スイッチ21との間を接続するフローの設定完了を確認すると、移動元VM宛のフローを選択し、当該フローの削除指示を発行する(ステップS312、S313)。該当するOFS4iやノードは、移動元VM宛のフローを削除又は使用不可に設定する(ステップS314)。フローの削除が終了したOFS4iやノードはフロー削除完了報告をOFC3に通知する(ステップS315)。移動元VM宛の通信経路上のOFS4iやノードにおける移動元VM宛のフローの削除を確認すると、OFC3は、移動先VM宛通信用フローを現在使用するフローとして設定し、移動元VM宛通信用フローを使用しないフローとして設定する(ステップS316)。ここでは、各フロー(ルール444+アクション情報445)に対応する設定情報446に使用又は不使用(有効又は無効)のどちらかを示す情報が設定される。この際、使用しない移動元VM宛通信用フローはフローテーブル334から削除されても良い。しかし、使用しないフローを削除せず、設定情報446の変更によってフローの使用、不使用(有効又は無効)を設定することで、移動した仮想マシンを元の物理サーバ又はVMMに移動する場合等において、再度フローを作成せずにフローの設定が可能となる。
以降、移動先VM20m宛の通信は、各OFS4iに設定された移動先VM宛通信用フローに従って、物理サーバ6(VMM20)上で動作するVMM20に対して実行される。
以上のように、本発明によるマイグレーション方法によれば、仮想マシンへの通信を中断させることなく、当該仮想マシンのマイグレーションが可能となる。本実施の形態では、異なる物理サーバ間のマイグレーションを一例として説明したが、同一物理サーバ内でのマイグレーションも同様な方法により実現できる。
又、本発明によれば、メモリイメージの転送のための設定や、移動先VMへの通信のための設定を統合管理装置1によって一元的に実施できる。すなわち、仮想マシンのマイグレーションを1つの管理部門によって制御することが可能となる。従って、本発明によれば、従来、ネットワーク管理者やIT管理者によって別々に管理されていたコンピュータシステムを、1つの管理部門によって管理及び運営することが可能となる。
尚、仮想スイッチ21が通常のスイッチング(レイヤ2)動作を行う仮想スイッチである場合、ステップS308〜S311の処理は省略される。
(2)第2の実施例
次に、図27、図29及び図30を参照して、本発明によるコンピュータシステムにおける仮想マシンのマイグレーション方法の第2の実施例を説明する。
第2の実施例における仮想マシンのマイグレーション方法では、移動準備処理の段階においてOFS4iに移動先VM宛通信用フローが設定される。これにより、移動対象VM宛のパケットデータはduplicateされて移動元VM及び移動先VMの両方に転送される。第1の実施例では、移動対象VMのメモリイメージの転送後に移動先VM宛通信用フローが設定されるため、移動対象VMの停止からから移動先VM宛通信用フローの設定(移動対象VMに対するアクセス先の切替)までの期間は、パケットロスが発生する場合がある。しかし、第2の実施例では、移動準備の段階で移動元VM宛のフローと移動先VM宛のフローの両方が設定されるため、移動先VMへのアクセス先を切り替える際のパケットロスの発生を防ぐことができる。
図29は、ステップS685における仮想マシンのマイグレーション処理における準備処理の第2の実施例を説明するシーケンス図である。図29を参照して、第2の実施例における準備処理では、先ずステップS684、S104〜S110の処理が第1の実施例と同様に行われる。第2の実施例では、OFC3は、移動先VM宛通信用フローを移動準備段階で各OFS4iに設定する(ステップS401〜S403)。詳細には、OFC3は、通信経路情報336及びトポロジ情報335から、選択された移動先VM宛通信経路上のノード及びOFS4iを抽出し、それぞれに対応する移動先VM宛通信用フローを選択する。そして、OFS4i毎に選択した移動先VM宛通信用フローの設定指示を発行する(ステップS401)。OFS4iは、移動先VM宛通信用フローの設定指示に応じて、送信された移動先VM宛通信用フローを自身のフローテーブル343に設定する(ステップS402)。フローの設定が終了したOFS4iはフロー設定完了報告をOFC3に通知する(ステップS403)。OFS4iに設定された移動先VM宛通信用フローの設定情報446は、「設定済み」及び「有効」に設定される。
OFC3は、移動先VM宛通信用フローの設定が完了すると、移動準備の完了を統合管理装置1に報告する(ステップS405)。
以上のように、第2の実施例における準備処理では、移動対象VMのメモリイメージの転送経路及びその移動を制御するためのフローの設定と、移動先VMに対するアクセスのための通信経路及びその通信を制御するためのフローの設定が行われる。第2の実施例では、OFS4iへのメモリイメージ転送用フロー及び移動先VM宛通信用フローの設定が終了した段階で、移動準備が終了する。
図27を参照して、第2の実施例におけるイメージ転送処理では、先ずステップS686、ステップS202〜S207の処理(メモリイメージの転送処理)が、第1の実施例と同様に行われる。メモリイメージの転送中において、移動対象VM以外の他の仮想マシンへのアクセス(例えばテータ転送)が生じた場合、当該アクセスに係るOFS4iは、自身のフローテーブル343に設定されたフローに従って、受信パケットのヘッダ情報に対応するアクション(例えばデータの中継処理)を実行する。ここで、メモリイメージ転送経路をマイグレーションに関係のない他の仮想マシンへのアクセスを妨げないような経路に設定することで、他の仮想マシンへの通信を妨げることなく移動対象VMを移動することが可能となる。
一方、メモリイメージの転送中において、移動対象VM宛へのアクセスが生じた場合(例えば、移動対象VM宛のデータが転送された場合)、移動対象VMへの通信経路上のOFS4iは、自身のフローテーブル343に設定されたフローに従って、受信パケットのヘッダ情報に対応するアクション(例えばデータの中継処理)を実行する。本実施の形態では、移動対象VMがVMM10及びVMM20上で動作しているものとしてフローが設定されているため、移動対象VM宛のデータはコピーされて、物理サーバ5上の移動対象VM(移動元VM)と物理サーバ6上に生成された移動先VMの両方に転送される。移動元VMM10は、転送された移動対象VM宛のデータを移動対象VMのメモリページに記録する。この際、移動先VMM20においても、転送された移動対象VM宛のデータは移動先VMのメモリページに記録される。
メモリイメージの転送中においても、移動対象VMのプロセス処理や、移動対象VM宛に転送されるデータによってメモリページが変更される場合がある。変更されたメモリページは、コピー対象として記憶装置の変更ページ記録領域に記録される(ステップS208)。変更ページの記録処理は、移動先VMが稼動を開始するまで行われることが好ましい。
以降、変更ページの記録(ステップS208)から移動先VMの稼動(ステップS216)まで、第1の実施例と同様の処理が行われる。
以上のように、第2の実施例におけるマイグレーション方法は、第1の実施例と同様に統合管理装置1によって指定された経路(メモリイメージ転送用経路)を利用してVMのメモリイメージの転送が行われる。この際、移動元VMへのアクセスは、OFS群4に移動前に設定されていたフローに従って行われるため、移動元VMに対する通信を中断することなく当該VMのメモリイメージを転送することができる。又、メモリイメージ転送用経路は、統合管理装置1によって任意に設定することが可能であるため、他の仮想マシンに対する通信を阻害することのない経路を選定することができる。これにより、他の仮想マシンに対する通信に影響しないメモリイメージの転送が可能となる。
図30は、仮想マシンのマイグレーション処理におけるアクセス先切り替え処理の第2の実施例を説明するシーケンス図である。図30を参照して、第2の実施例におけるアクセス先切り替え処理では、先ずステップS301〜S301の通信路選択処理が、第1の実施例と同様に行われる。続いて、第1の実施例で行われるOFS4iへの移動先VM宛通信用フローの設定処理(ステップS304〜S307)は、移動準備処理において実行されるため、ここでは省略される。
以降、移動先VMと仮想スイッチ21との間を接続するためのフローの生成処理(ステップS308)からフロー設定処理(ステップS316)まで、第1の実施例と同様の処理が行われる。
以上のように、第2の実施例では、準備処理の段階で、移動元VM宛のフローと移動先VM宛のフローの両方が設定される。このため、ステップS213における移動元VMの停止からステップS316におけるフロー設定までの間において、移動対象VM宛に転送されたデータは破棄されることなく移動先VMに到達する。このように、本実施の形態におけるコンピュータシステムでは、仮想マシンのマイグレーション中におけるパケットロスを防止することができる。又、外部ネットワーク8側から仮想マシンのマイグレーションが意識されることはない。
更に、第2の実施例では、VMの移動後の新規通信経路(移動先VM宛通信経路)に対応するフロー(移動先VM宛通信用フロー)を、移動準備処理の段階において設定している。このため、第2の実施例における新規通信経路を確立する時間は、VMの移動を検出してから新規通信経路を確立する第1の実施例に比べて短縮される。
マイグレーション処理の間、ロードバランサ9は、移動元VMに対する処理(アクセス)が発生しないように負荷割り当てを変更してもよい。これにより、変更ページの記録及び転送の処理量が低減されるため、VMマイグレーションの時間が短縮される。又、移動対象VMのメモリページの転送の間、移動元VMに対する負荷が減少する。
以上、本発明の実施の形態を詳述してきたが、具体的な構成は上記実施の形態に限られるものではなく、本発明の要旨を逸脱しない範囲の変更があっても本発明に含まれる。第1〜第4の実施の形態におけるメンテナンス処理方法や第1〜第3の実施例におけるVMマイグレーション処理方法は、技術的に矛盾のない範囲内で組み合わせて適用され得る。
VMマイグレーション処理において、OFC3は、RARP送信によって通知されたMACアドレスを用いて、「移動先VM宛通信経路の選択」や「VMの移動先の変更の確認を確認」を行ったが、これに限らない。例えば、マイグレーション後、稼動状態となった移動先のVMによって送信されたパケットデータを受信したOFS4iは、当該パケットデータに適合するフロー(ルール)が設定されていないことから、ファーストパケットを受信したことをOFC3に通知する。この際、当該パケットデータのMACアドレスMACアドレスをOFC3に通知する。OFC3は通知されたMACアドレスに対応する通信経路を移動先VM宛通信経路として選択し、移動先VM宛通信用フローを生成する。あるいは、OFC3は、同様にファーストパケットの通知によって取得したMACアドレスを端点とする通信経路を抽出し、当該通信経路上の端点であるVMの接続先と、当該パケットデータを受信したスイッチとが異なることを検出することで受信の接続先の変更を確認してもよい。
又、VMマイグレーション処理の準備処理は、OFS4iからのファーストパケット受信通知(RARP検出通知)に応じて行われても良い。この場合、ステップS684及びS685における準備指示及び準備処理は省略される。
1:統合管理装置
2:VM管理装置
3:オープンフローコントローラ(OFC)
4:サーバ管理装置
4i、41〜44:オープンフロースイッチ(OFS)
5、6:物理サーバ
7:記憶装置
8:外部ネットワーク
9:ロードバランサ
101〜10n、201〜20m:仮想マシン(VM)
10、20:仮想マシンモニタ(VMM)
11、21:仮想スイッチ(VSW)

Claims (23)

  1. スイッチを介して接続された物理サーバを備えるコンピュータシステムにおいて、
    受信したパケットデータを、自身に設定されたフローに従った宛先に転送するスイッチと、
    メンテナンス対象装置を指定する統合管理装置と、
    前記スイッチに対するフローの設定又は削除を制御することで、前記メンテナンス対象装置を前記コンピュータシステムから切り離すコントローラと、
    を具備する
    コンピュータシステム。
  2. 請求項1に記載のコンピュータシステムにおいて、
    前記統合管理装置に指定されたサーバのクラスタに関する情報を、前記統合管理装置に通知するサーバ管理装置を更に具備し、
    前記統合管理装置は、クラスタにおける、前記メンテナンス対象装置として指定したサーバの状態に応じて、前記メンテナンス対象装置として指定したサーバの切り離し方法を変更する
    コンピュータシステム。
  3. 請求項2に記載のコンピュータシステムにおいて、
    クラスタに設定されたサーバの状態を、稼動系と待機系のどちらか一方に設定するクラスタリング機構を更に具備し、
    前記コントローラは、サーバの状態が稼動系から待機系に変更される前に、稼動系に変更される待機系のサーバを端点とする通信経路に対応するフローを、前記通信経路上のスイッチに設定する
    コンピュータシステム。
  4. 請求項3に記載のコンピュータシステムにおいて、
    前記指定されたメンテナンス対象装置が、稼動系サーバである場合、
    前記コントローラは、前記メンテナンス対象装置の状態が稼動系から待機系に変更される前に、稼動系に変更される待機系のサーバを端点とする第1通信経路に対応するフローを、前記第1通信経路上のスイッチに設定する
    コンピュータシステム。
  5. 請求項3又は4に記載のコンピュータシステムにおいて、
    前記コントローラは、メンテナンス対象装置の状態が稼動系から待機系に変更された後に、前記メンテナンス対象装置を端点とする第2通信経路に対応するフローを、前記第2通信経路上のスイッチに設定する
    コンピュータシステム。
  6. 請求項2に記載のコンピュータシステムにおいて、
    前記物理サーバ上で動作する仮想マシンモニタを管理するVM管理装置を更に具備し、
    前記指定されたメンテナンス対象装置が、仮想マシンモニタが動作する単体サーバである場合、前記統合管理装置は、前記VM管理装置に前記単体サーバ上で動作する仮想マシンの移動を指示し、
    前記VM管理装置は、前記統合管理装置によって指定された移動先に前記仮想マシンを移動し、
    前記コントローラは、前記仮想マシン宛のパケットデータを、移動先の仮想マシンに転送するフローを前記スイッチに設定する
    コンピュータシステム。
  7. 請求項2に記載のコンピュータシステムにおいて、
    負荷分散クラスタに設定されたサーバに対する負荷分散を行うロードバランサを更に具備し、
    前記指定されたメンテナンス対象装置が、負荷分散クラスタに設定されたサーバである場合、前記統合管理装置は、前記ロードバランサに、前記メンテナンス対象装置に対する負荷の割り当ての停止を指示し、
    前記ロードバランサは、前記メンテナンス対象装置に対する負荷の割り当て停止し、
    前記統合管理装置は、前記コントローラによって、前記メンテナンス対象装置に対するデータ転送に係るフローの前記スイッチに対する未設定状態が確認されると、前記サーバ管理装置に前記メンテナンス対象装置に対するメンテナンス処理を指示する
    コンピュータシステム。
  8. 請求項7に記載のコンピュータシステムにおいて、
    前記スイッチに設定されるフローは、所定の時間の経過後、前記スイッチから削除され未設定状態となり、
    前記ントローラは、前記スイッチにフローを設定する際、未設定状態となるまでの前記時間を前記スイッチに設定し、前記スイッチに対するフローの設定状況を自身のフローテーブルに記録する
    コンピュータシステム。
  9. 請求項1に記載のコンピュータシステムにおいて、
    前記メンテナンス対象装置が、スイッチである場合、前記統合管理装置は、経路迂回指示を前記コントローラに指示し、
    前記コントローラは、前記経路迂回指示に応じて前記メンテナンス対象装置を迂回する迂回経路を算出し、前記迂回経路に対応するフローを、前記迂回経路上のスイッチに設定し、前記迂回経路上のスイッチに設定された迂回前の通信経路に対応するフローを削除する
    コンピュータシステム。
  10. 請求項9に記載のコンピュータシステムにおいて、
    サーバに設定されるクラスタの変更を制御するサーバ管理装置を更に具備し、
    前記メンテナンス対象装置がスイッチである場合、前記ントローラは、前記経路迂回指示に応じて前記迂回経路が算出可能か否かを検証し、
    前記統合管理装置は、前記メンテナンス対象装置を除くトポロジ情報を利用して迂回経路を算出できない端点に設定するクラスタの変更を前記サーバ管理装置に指示する
    コンピュータシステム。
  11. 請求項9に記載のコンピュータシステムにおいて、
    前記メンテナンス対象装置がスイッチである場合、前記ントローラは、前記経路迂回指示に応じて前記迂回経路が算出可能か否かを検証し、
    前記統合管理装置は、前記メンテナンス対象装置を除くトポロジ情報を利用して迂回経路を算出できない端点で稼動する仮想マシンの移動を前記VM管理装置に指示し、
    前記VM管理装置は、前記統合管理装置によって指定された移動先に前記仮想マシンを移動し、
    前記コントローラは、前記仮想マシン宛のパケットデータを、移動先の仮想マシンに転送するフローを前記スイッチに設定する
    コンピュータシステム。
  12. 請求項1から11のいずれか1項に記載のコンピュータシステムに利用されるコントローラ。
  13. 受信したパケットデータを、自身に設定されたフローに従った宛先に転送するスイッチを介して接続された物理サーバを備えるコンピュータシステムで実行されるメンテナンス方法において、
    統合管理装置が、メンテナンス対象装置を指定するステップと、
    コントローラが、前記スイッチに対するフローの設定又は削除を制御することで、前記メンテナンス対象装置を前記コンピュータシステムから切り離すステップと
    を具備する
    メンテナンス方法。
  14. 請求項13に記載のメンテナンス方法において、
    サーバ管理装置が、前記統合管理装置に指定されたサーバのクラスタに関する情報を、前記統合管理装置に通知するステップと、
    前記統合管理装置が、クラスタにおける、前記メンテナンス対象装置として指定したサーバの状態に応じて、前記メンテナンス対象装置として指定したサーバの切り離し方法を変更するステップと
    を更に具備する
    メンテナンス方法。
  15. 請求項14に記載のメンテナンス方法において、
    クラスタに設定されたサーバの状態を、稼動系から待機系に設定するステップと、
    前記コントローラが、サーバの状態が稼動系から待機系に変更される前に、稼動系に変更される待機系のサーバを端点とする通信経路に対応するフローを、前記通信経路上のスイッチに設定するステップと
    を更に具備する
    メンテナンス方法。
  16. 請求項15に記載のメンテナンス方法において、
    前記指定されたメンテナンス対象装置が、稼動系サーバである場合、
    前記フローを設定するステップは、前記コントローラが、前記メンテナンス対象装置の状態が稼動系から待機系に変更される前に、稼動系に変更される待機系のサーバを端点とする第1通信経路に対応するフローを、前記第1通信経路上のスイッチに設定するステップをえる
    メンテナンス方法。
  17. 請求項15又は16に記載のメンテナンス方法において、
    前記フローを設定するステップは、前記コントローラが、メンテナンス対象装置の状態が稼動系から待機系に変更された後に、前記メンテナンス対象装置を端点とする第2通信経路に対応するフローを、前記第2通信経路上のスイッチに設定するステップを更に備える
    メンテナンス方法。
  18. 請求項14に記載のメンテナンス方法において、
    前記メンテナンス対象装置を前記コンピュータシステムから切り離すステップは、
    前記指定されたメンテナンス対象装置が、仮想マシンモニタが動作する単体サーバである場合、前記統合管理装置が、VM管理装置に前記単体サーバ上で動作する仮想マシンの移動を指示するステップと、
    前記VM管理装置が、前記統合管理装置によって指定された移動先に前記仮想マシンを移動するステップと、
    前記コントローラが、前記仮想マシン宛のパケットデータを、移動先の仮想マシンに転送するフローを前記スイッチに設定するステップと
    を備える
    メンテナンス方法。
  19. 請求項14に記載のメンテナンス方法において、
    前記メンテナンス対象装置を前記コンピュータシステムから切り離すステップは、
    前記指定されたメンテナンス対象装置が、負荷分散クラスタに設定されたサーバである場合、前記統合管理装置が、ロードバランサに、前記メンテナンス対象装置に対する負荷の割り当ての停止を指示するステップと、
    前記ロードバランサが、前記メンテナンス対象装置に対する負荷の割り当て停止するステップと、
    を備え、
    前記統合管理装置は、前記コントローラによって、前記メンテナンス対象装置に対するデータ転送に係るフローの前記スイッチに対する未設定状態が確認されると、前記サーバ管理装置に前記メンテナンス対象装置に対するメンテナンス処理を指示する
    メンテナンス方法。
  20. 請求項19に記載のメンテナンス方法において、
    前記スイッチに設定されるフローは、所定の時間の経過後、前記スイッチから削除され未設定状態となり、
    前記ントローラが、前記スイッチにフローを設定する際、未設定状態となるまでの前記時間を前記スイッチに設定するステップと、
    前記ントローラが、前記スイッチに対するフローの設定状況を自身のフローテーブルに記録するステップと
    を更に具備する
    メンテナンス方法。
  21. 請求項13に記載のメンテナンス方法において、
    前記メンテナンス対象装置を前記コンピュータシステムから切り離すステップは、
    前記メンテナンス対象装置が、スイッチである場合、前記統合管理装置が、経路迂回指示を前記コントローラに指示するステップと、
    前記コントローラが、前記経路迂回指示に応じて前記メンテナンス対象装置を迂回する迂回経路を算出するステップと、
    前記コントローラが、前記迂回経路に対応するフローを、前記迂回経路上のスイッチに設定するステップと、
    前記コントローラが、前記迂回経路上のスイッチに設定された迂回前の通信経路に対応するフローを削除するステップと
    を備える
    メンテナンス方法。
  22. 請求項21に記載のメンテナンス方法において、
    前記メンテナンス対象装置を前記コンピュータシステムから切り離すステップは、
    前記メンテナンス対象装置がスイッチである場合、前記ントローラが、前記経路迂回指示に応じて前記迂回経路が算出可能か否かを検証するステップと、
    前記統合管理装置が、前記メンテナンス対象装置を除くトポロジ情報を利用して迂回経路を算出できない端点に設定するクラスタの変更を、サーバ管理装置に指示するステップと、
    前記サーバ管理装置が、前記端点に対応するサーバに設定されるクラスタの変更を制御するステップ
    とを備える
    メンテナンス方法。
  23. 請求項21に記載のメンテナンス方法において、
    前記メンテナンス対象装置を前記コンピュータシステムから切り離すステップは、
    前記メンテナンス対象装置がスイッチである場合、前記ントローラが、前記経路迂回指示に応じて前記迂回経路が算出可能か否かを検証するステップと、
    前記統合管理装置が、前記メンテナンス対象装置を除くトポロジ情報を利用して迂回経路を算出できない端点で稼動する仮想マシンの移動を前記VM管理装置に指示するステップと、
    前記VM管理装置が、前記統合管理装置によって指定された移動先に前記仮想マシンを移動するステップと、
    前記コントローラが、前記仮想マシン宛のパケットデータを、移動先の仮想マシンに転送するフローを前記スイッチに設定するステップと
    を備える
    メンテナンス方法。
JP2009233095A 2009-10-07 2009-10-07 コンピュータシステム、及びコンピュータシステムのメンテナンス方法 Active JP5717164B2 (ja)

Priority Applications (7)

Application Number Priority Date Filing Date Title
JP2009233095A JP5717164B2 (ja) 2009-10-07 2009-10-07 コンピュータシステム、及びコンピュータシステムのメンテナンス方法
CN201080045600.XA CN102549970B (zh) 2009-10-07 2010-10-01 计算机系统和计算机系统的维护方法
EP10821941.1A EP2487591B1 (en) 2009-10-07 2010-10-01 Computer system, and maintenance method of computer system
PCT/JP2010/067277 WO2011043270A1 (ja) 2009-10-07 2010-10-01 コンピュータシステム、及びコンピュータシステムのメンテナンス方法
US13/500,577 US9361149B2 (en) 2009-10-07 2010-10-01 Computer system and maintenance method of computer system
US14/754,081 US9804884B2 (en) 2009-10-07 2015-06-29 Computer system and maintenance method of computer system
US15/717,501 US10534632B2 (en) 2009-10-07 2017-09-27 Computer system and maintenance method of computer system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009233095A JP5717164B2 (ja) 2009-10-07 2009-10-07 コンピュータシステム、及びコンピュータシステムのメンテナンス方法

Publications (2)

Publication Number Publication Date
JP2011081588A JP2011081588A (ja) 2011-04-21
JP5717164B2 true JP5717164B2 (ja) 2015-05-13

Family

ID=43856728

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009233095A Active JP5717164B2 (ja) 2009-10-07 2009-10-07 コンピュータシステム、及びコンピュータシステムのメンテナンス方法

Country Status (5)

Country Link
US (3) US9361149B2 (ja)
EP (1) EP2487591B1 (ja)
JP (1) JP5717164B2 (ja)
CN (1) CN102549970B (ja)
WO (1) WO2011043270A1 (ja)

Families Citing this family (64)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5717164B2 (ja) * 2009-10-07 2015-05-13 日本電気株式会社 コンピュータシステム、及びコンピュータシステムのメンテナンス方法
US8837499B2 (en) 2011-05-14 2014-09-16 International Business Machines Corporation Distributed fabric protocol (DFP) switching network architecture
JP5719023B2 (ja) * 2011-06-02 2015-05-13 株式会社日立製作所 仮想計算機の制御方法及び仮想計算機システム
US9369426B2 (en) 2011-08-17 2016-06-14 Nicira, Inc. Distributed logical L3 routing
ES2640871T3 (es) * 2011-09-21 2017-11-07 Nec Corporation Aparato de comunicación, sistema de comunicación, método de control de comunicación y programa
US9178833B2 (en) 2011-10-25 2015-11-03 Nicira, Inc. Chassis controller
JP6010906B2 (ja) * 2011-12-27 2016-10-19 富士通株式会社 コンピュータネットワークシステム、構成管理方法、構成管理プログラム、記録媒体
US10091138B2 (en) * 2012-02-21 2018-10-02 F5 Networks, Inc. In service upgrades for a hypervisor or hardware manager hosting virtual traffic managers
JP5881465B2 (ja) * 2012-02-27 2016-03-09 株式会社日立製作所 管理計算機、転送経路管理方法及び計算機システム
EP2833582A4 (en) * 2012-03-28 2015-12-02 Nec Corp COMPUTER SYSTEM AND COMMUNICATION PATIENT MODIFIERS
ES2718652T3 (es) 2012-03-30 2019-07-03 Nec Corp Sistema de comunicación, aparato de control, aparato de comunicación, método de control de comunicación, y programa
US9225635B2 (en) * 2012-04-10 2015-12-29 International Business Machines Corporation Switch routing table utilizing software defined network (SDN) controller programmed route segregation and prioritization
WO2013157094A1 (ja) * 2012-04-18 2013-10-24 株式会社日立製作所 管理システム及び管理方法
WO2013158920A1 (en) 2012-04-18 2013-10-24 Nicira, Inc. Exchange of network state information between forwarding elements
JP5878077B2 (ja) * 2012-05-23 2016-03-08 株式会社Nttドコモ ネットワーク管理装置、通信システムおよびネットワーク管理方法
JP5492253B2 (ja) * 2012-06-11 2014-05-14 日本電信電話株式会社 制御装置、制御方法および制御プログラム
JP6304493B2 (ja) * 2012-06-22 2018-04-04 日本電気株式会社 仮想マシンのマイグレーション方法、マイグレーション装置及びプログラム
CN104412545A (zh) * 2012-06-26 2015-03-11 日本电气株式会社 通信方法、信息处理装置、通信系统、程序、节点和通信终端
WO2014002481A1 (en) * 2012-06-26 2014-01-03 Nec Corporation Communication method, information processing apparatus, communication system, communication terminal, and program
JP5782641B2 (ja) * 2012-08-31 2015-09-24 株式会社日立製作所 計算機システム及びパケット転送方法
US9178715B2 (en) 2012-10-01 2015-11-03 International Business Machines Corporation Providing services to virtual overlay network traffic
WO2014065315A1 (ja) * 2012-10-24 2014-05-01 日本電気株式会社 通信システム、仮想マシンサーバ、仮想ネットワーク管理装置、ネットワーク制御方法及びプログラム
US9110762B2 (en) * 2012-12-04 2015-08-18 Microsoft Technology Licensing, Llc Virtual machine-preserving host updates
KR102020046B1 (ko) * 2012-12-06 2019-09-10 한국전자통신연구원 서버 가상화 환경에서의 플로우 관리 장치 및 방법, 서비스품질 정책 적용 방법
US8891516B2 (en) * 2013-01-15 2014-11-18 International Business Machines Corporation Extended link aggregation (LAG) for use in multiple switches
JP6299745B2 (ja) * 2013-02-26 2018-03-28 日本電気株式会社 通信システム、制御装置、通信方法及びプログラム
US10051054B2 (en) 2013-03-15 2018-08-14 Oracle International Corporation System and method for efficient virtualization in lossless interconnection networks
CN104079492B (zh) 2013-03-28 2017-10-10 华为技术有限公司 一种OpenFlow网络中流表配置的方法、装置和系统
WO2014157512A1 (ja) * 2013-03-29 2014-10-02 日本電気株式会社 仮想マシン提供システム、経路決定装置、経路制御方法及びプログラム
US10218622B2 (en) * 2013-05-13 2019-02-26 Vmware, Inc. Placing a network device into a maintenance mode in a virtualized computing environment
CN104426813A (zh) * 2013-09-02 2015-03-18 中兴通讯股份有限公司 一种流表更新的控制方法、装置及控制器
US10348628B2 (en) * 2013-09-12 2019-07-09 Vmware, Inc. Placement of virtual machines in a virtualized computing environment
JP6311265B2 (ja) * 2013-10-17 2018-04-18 日本電気株式会社 通信中継装置、通信中継システム、中継定義情報の更新方法及び更新プログラム
JP6237102B2 (ja) * 2013-10-17 2017-11-29 日本電気株式会社 管理装置、管理装置の制御方法及びプログラム
CN104734988B (zh) * 2013-12-23 2018-10-30 杭州华为数字技术有限公司 软件定义网络中路由控制的方法和开放流控制器
JP6075882B2 (ja) * 2014-01-22 2017-02-08 日本電信電話株式会社 分散処理システム、および、分散処理方法
EP3105697A4 (en) * 2014-02-16 2017-12-13 B.G. Negev Technologies & Applications Ltd. at Ben-Gurion University A system and method for integrating legacy flow-monitoring systems with sdn networks
US10455041B2 (en) * 2014-02-20 2019-10-22 Rovio Entertainment Stateful service with partial replication
JP5880608B2 (ja) * 2014-03-24 2016-03-09 日本電気株式会社 フォールトトレラントサーバ
JP6269238B2 (ja) * 2014-03-27 2018-01-31 富士通株式会社 ネットワーク管理方法、ネットワーク管理システム、およびネットワーク管理装置
US10324743B2 (en) * 2014-08-27 2019-06-18 Red Hat Israel, Ltd. Announcing virtual machine migration
JP2016052080A (ja) * 2014-09-02 2016-04-11 日本電信電話株式会社 通信システムおよびその方法
JP6548540B2 (ja) * 2014-12-16 2019-07-24 キヤノン株式会社 管理システムおよび管理システムの制御方法
EP3046028B1 (en) * 2015-01-15 2020-02-19 Alcatel Lucent Load-balancing and scaling of cloud resources by migrating a data session
JP6371715B2 (ja) * 2015-02-13 2018-08-08 日本電信電話株式会社 処理システム、および、処理装置切り替え方法
CN104735071A (zh) * 2015-03-27 2015-06-24 浪潮集团有限公司 一种虚拟机之间的网络访问控制实现方法
US10204122B2 (en) 2015-09-30 2019-02-12 Nicira, Inc. Implementing an interface between tuple and message-driven control entities
CN105426243A (zh) * 2015-11-19 2016-03-23 国云科技股份有限公司 一种基于Openstack的物理机远程维护的方法
CN105681313B (zh) * 2016-01-29 2018-11-09 博雅网信(北京)科技有限公司 一种针对虚拟化环境的流量检测系统及方法
JP2017169044A (ja) * 2016-03-16 2017-09-21 日本電気株式会社 設定装置、通信システム、通信装置の設定更新方法及びプログラム
US10116630B2 (en) * 2016-04-04 2018-10-30 Bitdefender IPR Management Ltd. Systems and methods for decrypting network traffic in a virtualized environment
US11019167B2 (en) 2016-04-29 2021-05-25 Nicira, Inc. Management of update queues for network controller
JP6810163B2 (ja) * 2016-05-02 2021-01-06 ノキア ソリューションズ アンド ネットワークス オサケユキチュア 仮想ネットワーク環境におけるスナップショット生成
JP6740911B2 (ja) * 2017-01-16 2020-08-19 富士通株式会社 ポート切替プログラム、ポート切替方法、および情報処理装置
US11144341B2 (en) 2017-07-13 2021-10-12 Hitachi, Ltd. Management apparatus and management method
JP6885264B2 (ja) 2017-08-25 2021-06-09 富士通株式会社 情報処理装置、情報処理システム、及びプログラム
JP2020027530A (ja) * 2018-08-16 2020-02-20 富士通株式会社 管理装置、管理プログラムおよび情報処理システム
US11347541B2 (en) * 2019-01-31 2022-05-31 Walmart Apollo, Llc Methods and apparatus for virtual machine rebalancing
TWI698101B (zh) * 2019-06-04 2020-07-01 鴻齡科技股份有限公司 伺服器管理方法及伺服器管理裝置
CN110378103B (zh) * 2019-07-22 2022-11-25 电子科技大学 一种基于OpenFlow协议的微隔离防护方法及系统
US11593137B2 (en) 2019-08-30 2023-02-28 Nutanix, Inc. Hypervisor hibernation
WO2022009410A1 (ja) * 2020-07-10 2022-01-13 日本電信電話株式会社 サーバメンテナンス制御装置、制御方法、及び、プログラム
JP2022022059A (ja) 2020-07-22 2022-02-03 富士通株式会社 情報処理装置、情報処理プログラム、及び情報処理方法
US11972266B2 (en) * 2020-10-02 2024-04-30 Nutanix, Inc. Hibernating and resuming nodes of a computing cluster

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7107329B1 (en) * 1999-05-21 2006-09-12 Lucent Technologies Inc. In networks of interconnected router nodes for routing data traffic, a method of and system for imperceptibly upgrading router node software and the like without traffic interruption
US7577722B1 (en) * 2002-04-05 2009-08-18 Vmware, Inc. Provisioning of computer systems using virtual machines
US20040062195A1 (en) * 2002-09-30 2004-04-01 Intel Corporation Algorithm for dynamic provisioning of fail-over support in generalized multi-protocol label switching enabled networks
US7484208B1 (en) * 2002-12-12 2009-01-27 Michael Nelson Virtual machine migration
JP4025674B2 (ja) * 2003-04-01 2007-12-26 富士通株式会社 迂回通信経路設計方法
US7412545B2 (en) 2004-07-22 2008-08-12 International Business Machines Corporation Apparatus and method for updating I/O capability of a logically-partitioned computer system
WO2006040810A1 (ja) * 2004-10-12 2006-04-20 Fujitsu Limited ソフトウェア更新プログラム、ソフトウェア更新装置およびソフトウェア更新方法
US20080049621A1 (en) 2004-12-31 2008-02-28 Mcguire Alan Connection-Oriented Communications Scheme For Connection-Less Communications Traffic
JP2006285597A (ja) 2005-03-31 2006-10-19 Nec Corp 統合ストレージシステム、システム起動方法、およびそのプログラム
JP2007304845A (ja) 2006-05-11 2007-11-22 Nec Corp 仮想計算機システムおよびソフトウェア更新方法
JP4860434B2 (ja) 2006-11-01 2012-01-25 Necインフロンティア株式会社 VoIPサーバ装置におけるソフトウェアメンテナンス方法、及び、ソフトウェアメンテナンス方式
JP2008217201A (ja) * 2007-03-01 2008-09-18 Nec Corp 自動アップデート方法
CN102217228B (zh) * 2007-09-26 2014-07-16 Nicira股份有限公司 管理和保护网络的网络操作系统
JP2009146106A (ja) * 2007-12-13 2009-07-02 Hitachi Ltd 物理的な通信ポートに付加される仮想的な通信ポートを移行する機能を有したストレージシステム
JP5164628B2 (ja) * 2008-03-24 2013-03-21 株式会社日立製作所 ネットワークスイッチ装置、サーバシステム及びサーバシステムにおけるサーバ移送方法
JP5131692B2 (ja) 2008-03-27 2013-01-30 シーアイエンジニアリング有限会社 介護用排泄物処理装置
US8385202B2 (en) * 2008-08-27 2013-02-26 Cisco Technology, Inc. Virtual switch quality of service for virtual machines
US8054832B1 (en) * 2008-12-30 2011-11-08 Juniper Networks, Inc. Methods and apparatus for routing between virtual resources based on a routing location policy
JP5717164B2 (ja) * 2009-10-07 2015-05-13 日本電気株式会社 コンピュータシステム、及びコンピュータシステムのメンテナンス方法

Also Published As

Publication number Publication date
US9804884B2 (en) 2017-10-31
WO2011043270A1 (ja) 2011-04-14
CN102549970B (zh) 2016-11-09
EP2487591A1 (en) 2012-08-15
US9361149B2 (en) 2016-06-07
CN102549970A (zh) 2012-07-04
EP2487591B1 (en) 2016-12-21
US10534632B2 (en) 2020-01-14
EP2487591A4 (en) 2015-07-29
US20150304213A1 (en) 2015-10-22
US20120195187A1 (en) 2012-08-02
US20180032367A1 (en) 2018-02-01
JP2011081588A (ja) 2011-04-21

Similar Documents

Publication Publication Date Title
JP5717164B2 (ja) コンピュータシステム、及びコンピュータシステムのメンテナンス方法
JP5446040B2 (ja) コンピュータシステム、及び仮想マシンのマイグレーション方法
JP6520959B2 (ja) ノードシステム、サーバ装置、スケールリング制御方法及びプログラム
CN114902182B (zh) 通信服务提供商网络中的云计算
JP4520802B2 (ja) ストレージネットワーク管理サーバ、ストレージネットワーク管理方法、ストレージネットワーク管理用プログラムおよびストレージネットワーク管理システム
JP4715920B2 (ja) 設定方法および管理装置
JPH11220466A (ja) ノード代理システム、ノード監視システム、それらの方法、及び記録媒体
JP2004102374A (ja) データ移行装置を有する情報処理システム
CA2542645A1 (en) Redundant routing capabilities for a network node cluster
JP6365306B2 (ja) クラウド環境提供システム、サービス管理装置、経路制御方法及びプログラム
JP5869133B2 (ja) ライブマイグレーションされた仮想計算機のネットワーク接続を復元する仮想計算機システム
JP2000299691A (ja) 冗長lanシステムおよび現用系・予備系切り替え方法
JP5904285B2 (ja) 通信システム、仮想ネットワーク管理装置、通信ノード、通信方法及びプログラム
JP6604336B2 (ja) 情報処理装置、情報処理方法、及び、プログラム
JP4378205B2 (ja) ブレード型ネットワーク中継装置
CN113867886A (zh) 一种分布式虚拟交换机端口镜像的方法、装置及存储介质
KR100917603B1 (ko) 분산 구조의 라우터 시스템 및 그의 논스톱 패킷 포워딩제어 방법
JP2012203625A (ja) 論理サーバ運用システム、及び論理サーバ運用方法
JP2017215872A (ja) バックアップ制御サーバ、およびサービス制御サーバのアプリケーションデータバックアップ方法
JP2010122843A (ja) システム切替方法、計算機切替システムおよびプログラム
KR100715678B1 (ko) 분산 포워딩 구조의 라우터 시스템 및 그의 포워딩제어방법
JPWO2014128858A1 (ja) スイッチ及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120606

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130905

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131031

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131120

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20140203

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150312

R150 Certificate of patent or registration of utility model

Ref document number: 5717164

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150