JP5719023B2 - 仮想計算機の制御方法及び仮想計算機システム - Google Patents

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

Info

Publication number
JP5719023B2
JP5719023B2 JP2013517772A JP2013517772A JP5719023B2 JP 5719023 B2 JP5719023 B2 JP 5719023B2 JP 2013517772 A JP2013517772 A JP 2013517772A JP 2013517772 A JP2013517772 A JP 2013517772A JP 5719023 B2 JP5719023 B2 JP 5719023B2
Authority
JP
Japan
Prior art keywords
instruction
virtual
management
server
virtualization unit
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
JP2013517772A
Other languages
English (en)
Other versions
JPWO2012164716A1 (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
Publication of JPWO2012164716A1 publication Critical patent/JPWO2012164716A1/ja
Application granted granted Critical
Publication of JP5719023B2 publication Critical patent/JP5719023B2/ja
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
    • 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
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)
  • Hardware Redundancy (AREA)

Description

本発明は、サーバ仮想化技術を用いた計算機システムにおいて、利用者が操作ミスによって、業務が稼働している仮想サーバの下位層の仮想化部に対する操作を実行してしまい、業務が継続出来なくなることを回避する方法に関する。更に仮想化が多段構成になった場合に、その仮想化部が稼働する仮想サーバ以下の層に対する操作の可否を判定し、業務が継続できなることを回避する。
近年、仮想サーバ市場の伸長に伴い、業務を稼働させるサーバを仮想サーバへ集約することが可能になってきている。サーバを集約することによって、物理的な計算機資源を削減することが可能になり、コスト削減を図ることが可能になる。一方、仮想サーバでは物理的な計算機資源を共有することにより、物理計算機上で仮想計算機が稼働中にも拘わらず、物理計算機の電源を遮断するなどの状態変更によって仮想計算機が消失するといった問題も生じる。
更に、仮想化部を多段にして物理的な計算機資源を有効に利用する多段仮想計算機システムも知られている。多段仮想計算機システムでは、物理計算機上で下位層の仮想化部(以下、第1の仮想化部)が稼動し、この第1の仮想化部上で上位層(アプリケーション側)の仮想化部(以下、第2の仮想化部)が複数稼動し、これら第2仮想化部上で複数の仮想計算機を提供する。このような多段仮想計算機システム上で仮想計算機が稼働する構成において、ライブマイグレーションといった仮想計算機特有の機能を上位層と下位層(ハードウェア側)で同時に実行した場合、予期せぬ性能低下やシステム停止が起こり得る。この種の障害を防ぐ技術としては、例えば、特許文献1が知られている。特許文献1によれば、あるポリシインスタンス実行中に、他のポリシインスタンスの適用条件が成立した場合に、対応するコンポーネントリストを比較し、重複していない場合は実行し、重複している場合は実行を待機する。
特許第4605072号公報
しかしながら、上記従来の技術では、例えば、仮想化が多段階で行われる多段仮想計算機環境の上位層と下位層を勘案しない。つまり、物理計算機上で下位層として稼動する第1の仮想化部が状態を変更する命令を受け付け、この第1の仮想化部上で稼動する第2の仮想化部が所定の命令を受け付けた場合、第1の仮想化部と第2の仮想化部が同時に命令を実行することによって仮想計算機が正常に稼働せず、業務の停止を招く、という問題があった。例えば、第1の仮想化部の状態変更命令が停止、第2の仮想化部の命令が仮想計算機の移動であった場合、これらの命令を同時に実行すると第2の仮想化部が仮想計算機の移動を完了する以前に第1の仮想化部が停止し、この第1の仮想化部上で稼動する第2の仮想化部は停止せざるを得ず、仮想計算機の移動は完了しない。この結果、第2の仮想化部上の仮想計算機は停止することになる。このように多段仮想計算機システムの管理計算機を操作する管理者が、上位層の仮想化部と下位層の仮想化部に対して誤った指令を発行すると、意図しない仮想計算機の停止などが発生する、という問題があった。
そこで本発明は、多段仮想計算機システムにおいて、管理者などの操作ミスによる業務停止を回避することを目的とする。
プロセッサとメモリをそれぞれ備えた複数の物理計算機と、前記複数の物理計算機を接続するネットワークと、前記複数の物理計算機を管理する管理サーバとを備えて、前記物理計算機で1つ以上の仮想計算機を提供する仮想化部を有し、前記管理サーバが前記仮想計算機と前記仮想化部を制御する仮想計算機の制御方法であって、前記管理サーバが、前記物理計算機上で稼動する仮想化部と仮想計算機の関係を検出する第1のステップと、前記管理サーバは、前記仮想計算機の稼動状態を検出する第2のステップと、前記管理サーバが、前記仮想化部または仮想計算機に対して状態を変更する命令を発行する際に、前記仮想化部と接続関係にある前記仮想計算機の稼働状態に基づいて前記命令の発行の抑止または前記命令の発行を行う第3のステップと、を含み、前記第3のステップは、前記仮想化部と接続関係にある前記仮想計算機の稼動状態が停止中のときには、前記仮想化部に対して状態を変更する命令を発行し、当該命令の実行が完了した後に前記仮想計算機に対して前記状態を変更する命令を発行する。
本発明によれば、仮想計算機システムにおいて、管理者の操作ミスによる仮想計算機の停止を回避することが出来る。
本発明の実施形態を示し、仮想計算機システムの一例を示すブロック図である。 本発明の実施形態を示し、管理サーバの一例を示すブロック図である。 本発明の実施形態を示し、業務を提供する仮想サーバの一例を示すブロック図である。 本発明の実施形態を示し、仮想サーバを提供する物理サーバの他の例を示すブロック図である。 本発明の実施形態を示し、処理の概要を示すブロック図である。 本発明の実施形態を示し、物理サーバ管理テーブルの前半を示す図である。 本発明の実施形態を示し、物理サーバ管理テーブルの後半を示す図である。 本発明の実施形態を示し、仮想化部管理テーブルを示す図である。 本発明の実施形態を示し、仮想サーバ管理テーブルの前半を示す図である。 本発明の実施形態を示し、仮想サーバ管理テーブルの後半を示す図である。 本発明の実施形態を示し、OS管理テーブルを示す図である。 本発明の実施形態を示し、業務管理テーブルを示す図である。 本発明の実施形態を示し、システム管理テーブルの前半を示す図である。 本発明の実施形態を示し、システム管理テーブルの後半を示す図である。 本発明の実施形態を示し、命令管理テーブルを示す図である。 本発明の実施形態を示し、設定可否管理テーブルを示す図である。 本発明の実施形態を示し、制御部で行われる処理の一例を示すフローチャートである。 本発明の実施形態を示し、影響範囲検出部で行われる処理の一例を示すフローチャートである。 本発明の実施形態を示し、設定可否判定部で行われる処理の一例を示すフローチャートである。 本発明の実施形態を示し、管理対象設定部で行われる処理の一例を示すフローチャートである。 本発明の実施形態を示し、テーブル設定部で行われる処理の一例を示すフローチャートである。
以下、本発明の一実施形態について添付図面を用いて説明する。
図1は本発明の実施形態における多段仮想計算機システムの構成の一例を示すブロック図である。
管理サーバ101は、NW−SW(管理用ネットワークスイッチ)103を介して、NW−SW103の管理インタフェース(管理I/F)113と、NW−SW(業務用ネットワークスイッチ)104の管理インタフェース114に接続されており、管理サーバ101から各NW−SW103、104のVLAN(Virtual LAN)を設定することが可能である。また、管理用ネットワークスイッチ103には、管理サーバ101とサーバ102に加えて、物理的なサーバ102上で提供される仮想サーバ(仮想マシン)を管理する仮想サーバ用管理サーバ151が接続される。
NW−SW103は、管理用のネットワークを構成し、管理サーバ101が複数の物理サーバ102で稼動するOSやアプリケーションの配布や電源制御等の運用管理をするためのネットワークである。NW−SW104は、業務用のネットワークを構成し、サーバ102上の仮想サーバ404で実行される業務アプリケーションが使用するネットワークである。なお、NW−SW104は、WAN等に接続されて仮想計算機システムの外部のクライアント計算機と通信を行う。
管理サーバ101は、FC−SW(ファイバーチャネル・スイッチ)511を介してストレージサブシステム105に接続される。管理サーバ101は、ストレージサブシステム105内のN個のLU(Logical Unit)1〜LUnを管理する。
管理サーバ101上では、サーバ102を管理する制御部110が実行され、管理テーブル群111を参照および更新する。管理テーブル群111は制御部110によって所定の周期などで更新される。
管理サーバ101の管理対象となるサーバ102は、後述するように仮想サーバを提供する。サーバ102は、PCIex−SW107とI/Oデバイス(図中、NIC、HBA)を介して、NW−SW103および104に接続される。PCIex−SW107には、PCI Express規格のI/Oデバイス(NIC(Network Interface Card)、HBA(Host Bus Adapter)、CNA(Converged Network Adapter)、といったI/Oアダプタ)が接続されている。一般的に、PCIex−SW107は、マザーボード(またはサーバブレード)より外へPCI Expressのバスを延長し、さらに多数のPCI−EXpressデバイスを接続するI/Oスイッチである。ただし、PCIex−SW107を介さずに、サーバ102が直接、NW−SW103および104へ接続するシステム構成でも良い。
また、管理サーバ101はPCIex−SW107の管理インターフェース1070に接続され、複数のサーバ102とI/Oデバイスの接続関係を管理する。また、サーバ102は、PCIex−SW107に接続されたI/Oデバイス(図中HBA)を介してストレージサブシステム105のLU1〜LUnにアクセスする。
仮想サーバ用管理サーバ151は、サーバ102で実行される仮想化部401および仮想サーバ404を管理しており、仮想化部401に対する指示は仮想サーバ管理部161が行う。具体的には、仮想サーバ用管理サーバ151が、仮想サーバ404の電源制御や仮想サーバ404や仮想化部401のマイグレーションの指示を行う。なお、管理サーバ101に仮想サーバ管理部161が含まれていても良い。
図2は、管理サーバ101の構成を示すブロック図である。管理サーバ101は、演算を処理するCPU(Central Processing Unit)201と、CPU201で実行するプログラムや、プログラムの実行に伴うデータを格納するメモリ202と、プログラムやデータを格納するストレージサブシステム105へアクセスするためのディスクインタフェース203と、IPネットワークを介した通信のためのネットワークインタフェース204と、電源制御や各インタフェースの制御を行うBMC(Basement Management Controller)205と、PCIex−SW107に接続するためのPCI−Expressインタフェース206を有する。
図2の管理サーバ101では、ネットワークインタフェース204と、ディスクインタフェース203及びPCIexインタフェース206を、それぞれ代表して一つずつ示しているが、各々が複数存在する構成もある。たとえば、管理用ネットワーク105と業務用ネットワーク106への接続は、各々異なるネットワークインタフェース204を用いる。
メモリ202には、制御部110および管理テーブル群111が格納されている。制御部110は、トポロジ検出部210、影響範囲検出部211(図15参照)、設定可否判定部212(図16参照)、管理対象設定部213(図17参照)、及びテーブル設定部214(図18参照)を有する。
トポロジ検出部210、影響範囲検出部211、設定可否判定部212、管理対象設定部213、及びテーブル設定部214の各機能部はプログラムとしてメモリ202にロードされる。
CPU201は、各機能部のプログラムに従って動作することによって、所定の機能を実現する機能部として動作する。例えば、プロセッサは、影響範囲検出プログラムに従って動作することで影響範囲検出部211部として機能する。他のプログラムについても同様である。さらに、CPU201は、各プログラムが実行する複数の処理のそれぞれを実現する機能部としても動作する。計算機及び計算機システムは、これらの機能部を含む装置及びシステムである。
管理テーブル群111は、物理サーバ管理テーブル221(図6参照)、仮想化機構管理テーブル222(図7参照)、仮想サーバ管理テーブル223(図8参照)、OS管理テーブル224(図9参照)、業務管理テーブル225(図10参照)、システム管理テーブル226(図11参照)、命令管理テーブル227(図12参照)、及び設定可否管理テーブル228(図13参照)を有する。
各テーブルの情報収集は標準インタフェースや情報収集用プログラムを使用した自動収集でも良いし、管理サーバ101の図示しないコンソールからシステム管理者等に入力させても良い。
管理サーバ101のサーバの種別については、物理サーバ、ブレードサーバ、仮想化されたサーバ、論理分割または物理分割されたサーバなどのいずれであっても良く、いずれのサーバを使った場合も本発明の効果を得ることが出来る。
制御部110の各機能を実現するプログラム、テーブル等の情報は、ストレージサブシステム105や不揮発性半導体メモリ、ハードディスクドライブ、SSD(Solid State Drive)等の記憶デバイス、または、ICカード、SDカード、DVD等の計算機読み取り可能な非一時的データ記憶媒体に格納することができる。
図3は、物理サーバ102で仮想サーバ404を提供する構成を示すブロック図である。図3のサーバ102は、物理的な計算機資源を複数の第1仮想サーバ(または論理区画)402に割り当てる第1仮想化部401と、第1仮想サーバ402の計算器資源を複数の仮想サーバ404に割り当てる第2仮想化部403を有する多段仮想計算機を構成する例を示す。
まず、物理サーバ102は、演算を行うCPU301と、CPU301で実行するプログラムや、プログラムの実行に伴いデータを格納するメモリ302と、プログラムやデータを格納するストレージサブシステム105にアクセスするためのディスクインタフェース304と、IPネットワークを介して通信を行うためのネットワークインタフェース303と、電源制御や各インタフェースの制御を行うBMC305と、PCIex−SW107に接続するためのPCI−Expressインタフェース306を備える。
図3のサーバ102では、ネットワークインタフェース303、ディスクインタフェース304およびPCI−Expressインタフェース306を、それぞれ代表して一つずつ示しているが、各々が複数ある。たとえば、管理用ネットワーク103と業務用ネットワーク104への接続は、各々異なるネットワークインタフェース303を用いることができる。
メモリ302には、物理サーバ102の計算機資源を仮想化する第1仮想化部401が下位層の仮想化部として配備され、上位層の仮想化部である複数の第2仮想化部403に計算機資源(第1仮想サーバ402)を提供する。また、第2仮想化部403は、複数の仮想サーバ404を生成し、メモリ302に格納する。また、第1仮想化部401は、制御用インタフェースとして仮想化部管理用インタフェース431を備えている。なお、図示はしないが第2仮想化部403も制御用インタフェースとして仮想化部管理用インタフェースを備える。
第1仮想化部401は、物理サーバ102(またはブレードサーバ)の計算機資源を仮想化し、複数の第1仮想サーバ402を構成する。第1仮想化部401は、例えば、ハイパバイザやVMM(Virtual Machine Monitor)等を採用することができる。また、第2仮想化部403は、第1仮想化部401が提供する計算機資源(第1仮想サーバ402)をさらに仮想化し、複数の仮想サーバ404を生成する。第2仮想化部403は、例えば、ハイパバイザやVMM等を採用することができる。
仮想サーバ404は、第2仮想化部403が提供する仮想デバイス(または論理デバイス)で構成される。本実施形態の仮想デバイスは、仮想CPU411、仮想メモリ412、仮想ネットワークインタフェース413、仮想ディスクインタフェース414、仮想BMC415、及び仮想PCIexインタフェースから構成された例を示す。
これらの論理デバイスは、第1仮想化部401が複数の第2仮想化部403に割り当てた計算機資源(第1仮想サーバ402)を、第2仮想化部403が各仮想サーバ404へ割り当てたものである。
仮想サーバ404の仮想メモリ412には、OS421が格納され仮想サーバ404内の仮想デバイスを管理している。また、OS421上では、業務アプリケーション431が実行されている。また、OS421上で稼働する管理プログラム432によって、障害検知やOSの電源制御、インベントリ管理などが提供されている。
第1仮想化部401は、サーバ102の物理的な計算機資源と第2仮想化部403に割り当てる計算機資源の対応付けを管理する。本実施形態では、第1仮想化部401が第2仮想化部403へ第1仮想サーバ402を割り当てる例を示したが、第1仮想化部401が物理サーバ102の計算機資源を第2仮想化部403に直接割り当てるようにしてもよい。この場合、第1仮想サーバ402を省略することができる。
第1仮想化部401は、複数の第2仮想化部403に対して割り当てるサーバ102の計算機資源を動的に変更したり、割り当ての解除を行うことができる。また、第1仮想化部401は、第2仮想化部403に割り当てた計算機資源の量と、構成情報および稼働履歴を保持している。
第2仮想化部403は、第1仮想サーバ402の計算機資源をさらに仮想化して複数の仮想サーバ(第2の仮想サーバ)404に割り当てる。第2仮想化部403は、第1仮想サーバ402の計算機資源のうち仮想サーバ404毎に割り当てる計算機資源の対応付けを管理する。第2仮想化部403は、複数の仮想サーバ404に対して割り当てる第1仮想サーバ402の計算機資源を動的に変更したり、割り当ての解除を行うことができる。また、第2仮想化部403は、仮想サーバ404に割り当てた計算機資源の量と、構成情報および稼働履歴を保持している。
更に、第1仮想化部401は、第2仮想化部403や仮想サーバ404を強制的に電源オン状態にしたり、強制的にオフ状態にしたりすることが出来る。逆に、仮想サーバ404が稼働中、または仮想サーバ404上でOS421が稼働中、またはOS421上で業務アプリケーション431または管理プログラム432が稼働中の場合には、第1仮想化部401及び第2仮想化部403は、強制的な電源操作を抑止することも出来る。ただし、電源操作の抑止を実行する契機は、仮想計算機の状況によって変更する必要がある。本発明では、電源操作は上位層の稼働状況によって下位層に対する制御を抑止するよう設定することができる。また、管理サーバ101では、電源操作命令を制御するGUI(Graphical User Interface)を提供することができる。このGUIは、管理サーバ101の図示しないコンソールや、図示しない管理用端末で操作可能とする。この電源操作のGUIでは、例えば、上位層の稼働状況によって下位層に対する電源操作を抑止する場合には、下位層の要素(第1仮想化部401や第2仮想化部403)を非表示または非アクティブ(選択不可)にすることができる。
また、電源操作命令の他には、上位層と下位層で、同じ機能(例えば、ライブマイグレーションやデプロイメント)が同時に実行されないように規制制御することで、業務や計算機システムの意図しない停止を回避することが可能である。
更に、第1仮想サーバ402上で仮想サーバ(第2の仮想サーバ)404を稼働させることにより、仮想サーバがネスト状態となる。この場合も、後述するように管理サーバ101は多段仮想計算機の上位層の状態によって、下位層の状態変更を抑止したり、下位層の状態によって上位層の状態変更を抑止することで、システム管理者が意図しない業務の停止を回避することが出来る。
ここで、本実施形態では、物理サーバ102のハードウェアを仮想化した第1仮想サーバ402を提供するする第1仮想化部401を第1層とし、第1仮想サーバ402の計算機資源をさらに仮想化した仮想サーバ404を提供する第2仮想化部403を第2層とし、OS404を第3層とする。そして、第3層側を上位層とし、第1層側を下位層とする。マイグレーションやデプロイメントの例では、第2層を上位層とし、第1層を下位層として扱う。
図4は、サーバ仮想化技術を適用した物理サーバ102の他の構成例を示すブロック図である。サーバ102は、ブレードサーバであっても構成は同様である。
サーバ102のハードウェアは図3と同様である。メモリ302には、ホストOS311と仮想化部451と仮想サーバ404が配備される。仮想化部451はVMMで構成されており、サーバ102の計算機資源を複数の仮想サーバ404に割り当てる。各仮想サーバ404ではゲストOS421が実行され、ゲストOS421上で業務アプリケーション431や管理プログラム432が実行される。
仮想化部451は図3に示した第1仮想化部401に相当し、サーバ102の物理的な計算機資源と仮想サーバ404に割り当てる計算機資源の対応付けを管理する。そして、仮想化部451は、複数の仮想サーバ404に対して割り当てるサーバ102の計算機資源を動的に変更したり、割り当ての解除を行うことができる。また、仮想化部451は、仮想サーバ404に割り当てた計算機資源の量と、構成情報および稼働履歴を保持している。
この例では、ホストOS311が第1層であり、仮想化部451及び仮想サーバ404が第2層となる。
図5は、本発明の概略を示すブロック図である。図5では2つのサーバ102(物理サーバA、B)でそれぞれ仮想サーバ404を提供する仮想計算機システムの例を示す。
物理サーバAは、図3で示したように多段仮想計算機で構成され、下位層で実行される第1仮想化部401と、上位層で実行される複数の第2の仮想化部403と、第2の仮想化部403上で稼動する仮想サーバ404を含む。物理サーバBは、図4で示したように、ホストOS311上で実行される仮想化部451が、仮想サーバ461を稼動させる単層の仮想計算機を構成する、
管理サーバ101は、トポロジ検出501を実行して、物理サーバ102、第1仮想化部401、第2仮想化部403、仮想サーバ404、OS421、業務アプリケーション431、管理プログラム432の接続関係をトポロジとして検出する。管理サーバ101は、物理サーバ102上で稼動する各仮想化部と、各仮想化部上で稼動する仮想サーバ404と、仮想サーバ404上で稼動する各アプリケーションの関係を接続関係として検出する。
全ての管理対象(仮想サーバ404や第1仮想化部401等)が管理サーバ101と接続されているが、管理系を介して管理サーバ101と接続している場合もある。管理系は、管理プログラム432が他の仮想サーバ404や業務アプリケーション431、第1仮想化部401、403及び物理サーバ102を管理対象とする場合である。なお、管理プログラム432は管理サーバ101の制御部110及び管理テーブル群111を含むことができる。この場合、管理サーバ101を仮想サーバ404で実行することと等価になる。つまり、複数の仮想サーバ404の何れかが管理サーバ101として機能するようにしてもよい。
次に、管理サーバ101は、管理対象に命令を発行する前に、当該管理対象の稼動状態(電源のONまたはOFF)を検出する。
管理対象が稼働している場合、管理サーバ101は、当該管理対象の接続関係にある下位層(仮想化部)の状態を電源オフへ遷移する命令を抑止(552)する。
また、管理サーバ101は、管理対象が、トポロジ的に接続されていない場所へのマイグレーション(仮想サーバの移動)を抑止(552)する。一方、上位層のOSに対しては電源操作命令を抑止しない(551)。この命令の抑止552または抑止なし551の決定は、後述するように、管理サーバ101が各管理対象毎に行う。つまり、管理サーバ101は、命令を発行する管理対象の稼動状態と接続関係に基づいて命令発行の抑止または命令の発行を決定する。
また、第1仮想化部Aなどの下位層で稼働状態でのマイグレーションが実行されているときに仮想サーバ404等の上位層で同等の機能を実行すると、単体機能としては稼働中のマイグレーションを実現していても機能実行に失敗する可能性があり、管理サーバ101は下位層と上位層で同等の機能の同時実行を抑止する。また、上位層と下位層の状況が逆転しても同じく抑止する。同等の機能の同時実行を抑止した場合、機能実行を待って、一定時間経過後に再実行することで、同時実行を回避することが出来る。
また、上位層でマイグレーションを実行中に、下位層へ同等機能の実行指示が出た場合、管理サーバ101は上位層のマイグレーションを中止させ、下位層のマイグレーションを実行させた後に上位層のマイグレーションを再実行することで、業務停止を回避するための実行抑止と同等の効果を得ることが出来る。更に、下位層のマイグレーションを実行した後に、再度、上位層へのマイグレーションの必要可否を判定し、必要であればマイグレーションを実施し、不要であれば実施しない、といった運用をすることで、同時実行を回避しつつ、より仮想サーバの配置に配慮した効率的なリソース運用を実現出来る。その際、マイグレーションの必要可否は効率的に運用できるか否かを判定することになるが、別の観点で判定を行うことで耐障害性の向上や性能向上といった効果を得ることが出来る。実行を中止させる以外に、上位層のマイグレーションが完了するまで、下位層のマイグレーション実行を抑止し、上位層のマイグレーション完了後に下位層のマイグレーションを実施することで、同時実行を回避することが可能である。また、上位層がマイグレーションしようとする先がネットワーク的に接続されていない場所へマイグレーション仕様としている場合、管理サーバ101はこれを抑止する。しかし、下位層をマイグレーションすることで上位層がネットワーク的に接続できる場合、下位層をマイグレーションした後、上位層をマイグレーションする。これにより、より柔軟なリソース運用が可能となる。例えば、開発環境から本番環境への移行が簡単になる、といった効果を見込める。
また、管理サーバ101は上位層へ電源の供給開始命令または起動命令を出す際に、下位層が起動していない場合、下位層を先に起動し、当該下位層の起動を確認した後に、上位層へ当該電源の供給開始命令を発行する。
管理サーバ101は、上記検出したトポロジを参照して、上述のように実行を抑止すべき命令または機能について、管理対象毎に設定する。この設定については後述する。
図6A、図6Bは、物理サーバ管理テーブル221の一例を示す。物理サーバ管理テーブル221は、管理サーバ101が所定の周期で管理対象の物理サーバ102の情報を取得して設定する。
カラム601には、物理サーバ識別子を格納されており、本識別子によって各物理サーバを一意に識別する。カラム1101へ格納するデータは、本テーブルで使用される各カラムのいずれか、または複数カラムを組み合わせたものを指定することで入力を省略することが出来る。また、昇順などで自動的に割り振っても良い。
カラム602には、UUID(Universal Unique IDentifier)が格納されている。UUIDは、重複しないように形式が規定された識別子である。そのため、各物理サーバ102に対応して、UUIDを保持することにより、確実なユニーク性を保証する識別子となりえる。ただし、カラム601には、システム管理者がサーバを識別する識別子を使用すれば良く、また管理する対象となるサーバ間で重複することがなければ問題ないため、UUIDを使うことが望ましいものの必須とはならない。例えば、カラム601のサーバ識別子には、MACアドレス、WWN(World Wide Name)などを用いても良い。
カラム603(カラム621〜カラム623)は、物理アダプタ(303〜306)に関する情報が格納される。カラム621には、デバイス種別を格納している。HBA(Host Bus Adaptor)やNICやCNA(Converged Network Adapter)などの種別が格納される。カラム622には、HBAの識別子であるWWN、NICの識別子であるMACアドレスが格納されている。
カラム604には、物理サーバ102が物理アダプタを介して接続しているスイッチ103および104に関する情報が格納されている。種別や接続ポートおよびセキュリティ設定情報が格納されている。
カラム605には、物理サーバ102のモデルが格納されている。インフラに関する情報であり、性能や構成可能なシステム限界を知ることが出来る情報である。なお、カラム605の値はシステム管理者などが図示しない入力装置から設定してもよい。
カラム606は、物理サーバの構成を格納している。プロセッサのアーキテクチャ、シャーシやスロットなどの物理位置情報、特徴機能(ブレード間SMP:Symmetric Multi-Processing、HA構成などの有無)を格納している。カラム1104同様、インフラに関わる情報である。
カラム607には、物理サーバの性能情報を格納している。なお、カラム607の値はシステム管理者などが図示しない入力装置から設定してもよい。
カラム608には、設定可否情報が格納されている。命令管理テーブル227の命令に対して設定可否の情報が格納されている。管理サーバ101は、この情報を参照することで、各管理対象(物理サーバ102上の仮想化部など)へ各々の命令が設定出来るか否かを判定することが可能となる。設定出来る場合は管理対象へ命令実行の抑止や他の条件が成立した後に当該命令を実行するか否かの判定を行った後に当該命令を実行する、といった設定を実施可能であることを示している。また、逆に設定不可の場合、命令の抑止などを管理対象へ設定できないため、例えば、管理サーバ101が提供するGUIにて設定可否情報を表示する際に選択対象から除外するようにしても良い。このGUIは、管理サーバ101の図示しないコンソールや、図示しない管理用端末で操作可能とする。このGUIでは、例えば、上位層の稼働状況によって下位層に対する電源操作を抑止する場合には、下位層の要素(第1仮想化部401や第2仮想化部403)の設定可否情報を非活性として表示し、コンソールからの入力操作を受け付けないようにすることができる。
図7は、仮想化部管理テーブル222を示している。仮想化部管理テーブル222は、管理サーバ101が所定の周期で管理対象の第1仮想化部401、第2仮想化部403の情報を取得して設定する。
カラム701には、仮想化部(第1仮想化部401または第2仮想化部403)の識別子が格納されており、本識別子によって各仮想化部を一意に識別する。カラム701へ格納するデータは、本テーブルで使用される各カラムのいずれか、または複数カラムを組み合わせたものを指定することで入力を省略することが出来る。また、昇順などで自動的に割り振っても良い。
カラム702にはUUIDが格納されている。仮想化部識別子毎にユニークなIDを管理サーバ101等がUUIDを付与する。
カラム703には仮想化種別が格納されている。仮想化種別とは、仮想化製品や仮想化技術を示し、制御インタフェースや機能差が明確に判別出来るものである。バージョン情報を含めても良い。独自に管理機能を持つ場合は、その管理機能の名称や管理インタフェースを含めても良い。
カラム704には仮想化部設定情報が格納されている。仮想化部設定情報は、例えば、仮想化部へ接続するために必要なIPアドレスなどである。
カラム705には、設定可否情報が格納されている。後述する命令管理テーブル227の命令に対して設定可否を格納している。この情報を参照することで、管理サーバ101の管理対象である第1仮想化部401、第2仮想化部403へ各々の命令が設定出来るか否かを判定することが可能となる。カラム705の値が、設定の許可の場合は管理対象へ命令の実行抑止や、他の条件が成立した後に当該命令を実行するか否かの判定を行った後に当該命令を実行する、といった設定を実施可能であることを示している。
また、逆に設定不可の場合、命令の抑止などを管理対象へ設定できないため、例えば、管理サーバ101が提供するGUIにて設定可否情報を表示する際に選択対象から除外するようにしても良い。このGUIは、管理サーバ101の図示しないコンソールや、図示しない管理用端末で操作可能とする。このGUIでは、例えば、上位層の稼働状況によって下位層に対する電源操作を抑止する場合には、下位層の要素(第1仮想化部401や第2仮想化部403)の設定可否情報を非活性として表示し、コンソールからの入力操作を受け付けないようにすることができる。
図8A、図8Bは、仮想サーバ管理テーブル223を示している。仮想サーバ管理テーブル223は、仮想サーバ404に割り当てた計算機資源を管理する。仮想サーバ管理テーブル223は仮想サーバ用管理サーバ151が、仮想サーバ404を生成、変更する差異に設定することができる。
カラム801には、仮想サーバ404の識別子が格納されており、本識別子によって各仮想サーバを一意に識別する。
カラム802には、UUIDが格納されている。このUUIDは、例えば、仮想サーバ用管理サーバ151が付与した値である。ただし、カラム801には、システム管理者がサーバを識別する識別子を使用すれば良く、また管理する対象となるサーバ間で重複することがなければ問題ないため、UUIDを使うことが望ましいものの必須とはならない。例えば、カラム801の仮想サーバ識別子には、仮想MACアドレス、仮想WWNなど(カラム872へ格納)を用いても良い。また、OSによっては、独自にユニーク性を保つための識別子を採用している場合があるが、この場合はOSが採用しているIDを使っても良いし、ユニーク性を確保するために独自に保持してもかまわない。
カラム803(カラム871〜カラム873)は、仮想アダプタに関する情報を格納している。カラム871には、仮想デバイス種別を格納している。仮想HBAや仮想NICおよび仮想CNAなどの値が格納される。カラム872には、仮想HBAの識別子である仮想WWN、仮想NICの識別子である仮想MACアドレス等のI/Oデバイスの識別子が格納されている。カラム873には、仮想アダプタの利用モードが格納されており共有モードと占有モードがある。
仮想デバイスには、使用する物理デバイスを共有で使用するモードと、占有で使用するモードが存在する。共有の場合、他の仮想デバイスが物理デバイスを同時に使用する。占有モードの場合、物理デバイスをその仮想デバイスが単独で使用する。
カラム804には、仮想サーバ404の仮想化種別が格納されている。仮想化種別とは、仮想化製品や仮想化技術を示し、制御インタフェースや機能差が明確に判別出来るものである。バージョン情報を含めても良い。独自に管理機能を持つ場合は、その管理機能の名称や管理インタフェースを含めても良い。
カラム805は、仮想サーバ404の性能情報を格納している。性能情報は当該仮想サーバに割り当てられたCPUの性能情報や、割り当てられたメモリの容量や、ストレージの容量やI/Oデバイスの性能情報が含まれる。
カラム806には、設定可否情報を格納されている。設定可否情報は、命令管理テーブル227の命令に対して設定可否の情報が格納されている。管理サーバ101はこの情報を参照することで、管理対象である仮想サーバ404へ各々の命令が設定出来るか否かを判定することが可能となる。設定可否情報が、設定出来る場合は管理対象へ命令実行の抑止や他の条件が成立した後に当該命令を実行するか否かの判定を行った後に当該命令を実行する、といった設定を実施可能であることを示している。
また、逆に設定不可の場合、命令の抑止などを管理対象へ設定できないため、例えば、管理サーバ101が提供するGUIにて設定可否情報を表示する際に選択対象から除外するようにしても良い。このGUIは、管理サーバ101の図示しないコンソールや、図示しない管理用端末で操作可能とする。このGUIでは、例えば、上位層の稼働状況によって下位層に対する電源操作を抑止する場合には、下位層の要素(第1仮想化部401や第2仮想化部403)の設定可否情報を非活性として表示し、コンソールからの入力操作を受け付けないようにすることができる。
図9は、OS管理テーブル224を示している。どのようなOSで、どのような設定がされているか、といった情報を管理している。OS管理テーブル224は、管理サーバ101が所定の周期で管理対象の仮想サーバ404からOSの情報を取得して設定する。
カラム901には、OS識別子が格納されており、本識別子によってOSを一意に識別する。
カラム902には、UUIDが格納されている。このUUIDは、例えば、管理サーバ101が付与した値である。UUIDは、カラム901に格納されているOS識別子の候補であり、広範囲に渡ったサーバ管理には非常に有効である。ただし、カラム901には、システム管理者がサーバを識別する識別子を使用すれば良く、また管理する対象となるサーバ間で重複することがなければ問題ないため、UUIDを使うことが望ましいものの必須とはならない。例えば、カラム901のOS識別子には、OS設定情報(カラム904へ格納)を用いても良い。
カラム903は、OS種別が格納されている。OSの種類やベンダ、対応CPUアーキテクチャなどを格納している。
カラム904は、OS設定情報が格納されている。IPアドレスやホスト名、ID、パスワード、ディスクイメージなどを格納している。ディスクイメージは、設定前後のOSが物理サーバ102または仮想サーバ404へ配信されたシステムディスクのディスクイメージを指す。カラム904に格納されるディスクイメージに関する情報は、データディスクを含めても良い。
カラム905には、設定可否情報が格納されている。設定可否情報は、後述の命令管理テーブル227の命令に対して設定の可否を示す情報が格納されている。管理サーバ101は、この設定可否情報を参照することで、当該OSへ各々の命令が設定出来るか否かを判定することが可能となる。設定可否情報が、設定出来る場合は管理対象へ命令実行の抑止や他の条件が成立した後に当該命令を実行するか否かの判定を行った後に当該命令を実行する、といった設定を実施可能であることを示している。
また、逆に設定不可の場合、命令の抑止などを管理対象へ設定できないため、例えば、管理サーバ101が提供するGUIにて設定可否情報を表示する際に選択対象から除外するようにしても良い。このGUIは、管理サーバ101の図示しないコンソールや、図示しない管理用端末で操作可能とする。このGUIでは、例えば、上位層の稼働状況によって下位層に対する電源操作を抑止する場合には、下位層の要素(第1仮想化部401や第2仮想化部403)の設定可否情報を非活性として表示し、コンソールからの入力操作を受け付けないようにすることができる。
図10は、業務管理テーブル225を示している。どのような業務およびソフトウェアで、どのような設定がされているか、といった情報を管理している。業務管理テーブル225は、管理サーバ101が所定の周期で管理対象の仮想サーバ404のOSから業務アプリケーション431の情報を取得して設定する。
カラム1001には、業務アプリケーション431の識別子を格納しており、本識別子によって業務を一意に識別する。
カラム1002には、UUIDを格納している。このUUIDは、例えば、管理サーバ101が付与した値である。UUIDは、カラム1001に格納されている業務識別子の候補であり、広範囲に渡ったサーバ管理には非常に有効である。ただし、カラム1001には、システム管理者が業務アプリケーション431を識別する識別子を使用すれば良く、また管理する対象となるサーバ間で重複することがなければ問題ないため、UUIDを使うことが望ましいものの必須とはならない。例えば、カラム1001の業務識別子には、業務設定情報(カラム1004へ格納)を用いても良い。
カラム1003は、業務種別に類する情報を格納している。どういった業務およびソフトウェアが稼働しているかを格納している。これにより、業務要件から来る命令実行ポリシを定義することで、命令の実行可否、抑止、条件付き実行、条件付き抑止、といった業務やソフトウェアに応じた命令設定を可能とする。
カラム1004は、業務種別を格納しており、使用するアプリケーションやミドルウェアといった業務を特定するソフトウェアに関する情報が格納されている。業務で使用する論理的なIPアドレスやID、パスワード、ディスクイメージ、業務で使用するポート番号などが格納されている。ディスクイメージは、設定前後の業務が物理サーバ102または仮想サーバ404上のOSへ配信されたシステムディスクのディスクイメージを指す。カラム904へ格納するディスクイメージに関する情報は、データディスクを含めても良い。
カラム1005には、設定可否情報を格納している。命令管理テーブル227の命令に対して設定可否を格納している。この情報を参照することで、各管理対象へ各々の命令が設定出来るか否かを判定することが可能となる。設定可否情報が、設定出来る場合は管理対象へ命令実行の抑止や他の条件が成立した後に当該命令を実行するか否かの判定を行った後に当該命令を実行する、といった設定を実施可能であることを示している。
また、逆に設定不可の場合、命令の抑止などを管理対象へ設定できないため、例えば、管理サーバ101が提供するGUIにて設定可否情報を表示する際に選択対象から除外するようにしても良い。このGUIは、管理サーバ101の図示しないコンソールや、図示しない管理用端末で操作可能とする。このGUIでは、例えば、上位層の稼働状況によって下位層に対する電源操作を抑止する場合には、下位層の要素(第1仮想化部401や第2仮想化部403)の設定可否情報を非活性として表示し、コンソールからの入力操作を受け付けないようにすることができる。
図11A、図11Bは、システム管理テーブル226を示している。システム管理テーブル226は、図示しない入力装置からシステム管理者が設定する。システム管理テーブル226は、上述した物理サーバ管理テーブル221、仮想化部管理テーブル222、仮想サーバ管理テーブル223、OS管理テーブル224及び業務管理テーブル225で管理される、物理サーバ102、第1仮想化部401、第2仮想化部403、仮想サーバ404、OS421、及び業務431の組み合わせによるシステム構成を管理する。また、システム管理テーブル226は、各システム間の親子関係(上位層または下位層)を管理している管理系を管理している。
カラム1101には、システム識別子を格納しており、本識別子によって業務を一意に識別する。
カラム1102には、UUIDが格納されている。このUUIDは、例えば、管理サーバ101が付与した値である。UUIDは、カラム1103からカラム1107の全部または一部の組み合わせで実現しても良いし、独自に生成しても良い。少なくとも、管理サーバ101が管理する範囲で一意である必要がある。
カラム1103には、物理サーバ識別子601が格納されている。カラム1104には、仮想化部識別子701が格納されている。カラム1105には、仮想サーバ識別子801が格納されている。カラム1106には、OS識別子901が格納されている。
カラム1107には、業務識別子(1001)が格納されている。図には記載していないが、ラックやフロア、コンセントボックス、ブレーカ、センタ、HA構成の有無、ネットワークインフラ情報、電力グリッド、ネットワーク結線関係、ネットワークスイッチ、ファイバチャネルスイッチ、各スイッチの収容量、ネットワーク帯域などを管理することで、それらにまたがったシステムに対する操作ミスを抑止する本発明の効果を得ることが可能である。
カラム1108には、親となるシステムの識別子(1101)が格納される。例えば、システム4(1154)は、システム識別子1101=システム3を親(上位層)とするシステムであることを示す。
カラム1109には、子となるシステムの識別子(1101)が格納される。例えば、システム3(1153)は、システム識別子1101=システム4、5を子(下位層)とするシステムであることを示す。
管理系1110は、当該エントリのシステムを管理するシステムの識別子1101が格納される。
図12は、命令管理テーブル227を示している。命令管理テーブル227は、図示しない入力装置からシステム管理者が命令に対する動作を定義する。
命令に対する動作は利用者(またはシステム管理者)が与えても良いし、親子関係がある場合はある命令を実行中は他方で同等命令の実行を抑止する、と決めておいても良い。ただし、情報取得の命令については抑止の対象とせず、状態の変更を伴う命令に限定することが望ましい。
カラム1201には、命令識別子1201が格納されている。この識別子は命令を識別するための識別子であれば良く、独自の識別子を生成して格納しても良いし、UUIDなどでも良い。
カラム1202には、命令の内容が格納されている。カラム1203には、カラム1202の命令に対応した動作が格納されている。これにより、命令実行を抑止する、制限しない、といった定義を行う。
エントリ1251には、仮想サーバをライブマイグレーションする際の動作を記載している。上位層と下位層が存在し親子関係がある場合、一方でライブマイグレーションを実施している間は他方での実行を抑止する、と定義している。これにより、ライブマイグレーション失敗と失敗による業務停止を回避する。また、別の動作として、上位層でライブマイグレーションが実行されている場合、上位層のライブマイグレーションを中止し、下位層のライブマイグレーションを実施した後に、再度、上位層のライブマイグレーションを実施する、ことで、両方のライブマイグレーションを実施しつつ、同時実行によって両方が失敗し業務が停止する事態を回避する。
ライブマイグレーションにおいて、上位層の第2仮想化部403でライブマイグレーション実行中に、下位層の第1仮想化部401へライブマイグレーション指示が発行された場合、上位層でのライブマイグレーションについて再評価が必要になる。そのため、まず、上位層でのライブマイグレーションを停止し、まず下位層のライブマイグレーションを実行した後に、再度、上位層でのライブマイグレーションが必要か否かを評価、またはライブマイグレーションを実行する。再評価した場合、再実行要となった場合、上位層のライブマイグレーションを再度実行する。
これは、ライブマイグレーションに限らず、仮想化技術独自の機能が、上位層と下位層の第1仮想化部401、第2仮想化部403で同時に実行されるケースで、同様の処理を行うことで、効率的なリソース運用と予期せぬシステム停止を回避することが可能である。
エントリ1252には、デプロイメントに関する動作を定義している。システム間で上位層と下位層が存在し、システム管理テーブル226で親子関係があり、上位層が稼働している場合、下位層へのデプロイメント実行を抑止する、と定義している。これにより、仮想サーバ404が稼働している物理サーバ102へ他の第1仮想化部401、第2仮想化部403やOS421がデプロイメントされることを抑止し、下位層へのデプロイメントによる上位層における業務停止を回避する。
エントリ1253には、電源制御の起動に関する動作を記載している。親子関係の有無に関わらず実行抑止はしないが、上位層と下位層が存在し親子関係がある場合、下位層を起動させ、下位層の起動を確認した後に、上位層に対する命令を実行する。これにより、確実に上位層を起動することが出来る。
エントリ1254には、電源制御のシャットダウンに関する動作を記載している。上位層と下位層が存在し親子関係がある場合、上位層が稼働している場合、下位層に対する同等命令の実行を抑止する。これにより、上位層で稼働している業務を利用者の操作ミスなどで停止させることを回避することが出来る。なお、電源制御のシャットダウンにはスリープやハイバネーションの状態を含むことができる。
エントリ1255には、管理系の電源制御のシャットダウンに関する動作を記載している。管理対象が稼働しており、かつ上位層と下位層が存在し親子関係がある場合に、上位層が稼働している条件下で、下位層に対する同等命令の実行を抑止する。また、管理系が稼働している管理対象(物理サーバ102、第1仮想化部401、第2仮想化部403、仮想サーバ404、OS421、業務アプリケーション431)に対して同等命令の実行を抑止する。これにより、上位層で稼働している業務を利用者の操作ミスなどで停止させることを回避することが出来る。なお、管理系の電源制御のシャットダウンにもスリープやハイバネーションの状態を含むことができる。
エントリ1256には、業務ソフトウェアのIPアドレス変更に関する動作を記載している。この場合、上位層や下位層の存在に関わらず、命令を抑止しない。
エントリ1257からカラム1261までは、情報収集に関する動作を記載している。この場合、上位層や下位層の存在に関わらず、命令を抑止しない。
エントリ1262には、障害情報の通知に関する動作を記載している。この場合、上位層と下位層が存在し親子関係があるとき、障害情報を管理系へ通知し、また、上位層へエスカレーションする。これにより、障害範囲の伝達が可能になり、影響範囲の特定が容易となる。
エントリ1263には、システム構成変更のうち占有デバイスを変更する際の動作を記載している。システム間に上位層と下位層が存在し親子関係がある場合に、SLA(Service Level Agreement)をチェックし、システム構成変更によってSLAの違反が発生しないかを管理サーバ101にてチェックする。SLA違反が発生する場合、当該変更を抑止することで、利用者やシステム管理者の操作ミス等による業務性能低下や業務停止を回避することが出来る。
エントリ1264には、システム構成変更のうち共有デバイスを変更する際の動作を記載している。システム間で上位層と下位層が存在し親子関係がある場合に、SLAをチェックしない。ただし、業務要件によってはシステム構成変更によってSLA違反が発生しないかをチェックする。SLA違反が発生する場合、当該変更を抑止することで、利用者やシステム管理者の操作ミスによる業務性能低下や業務停止を回避することが出来る。
エントリ1265は、仮想サーバ404をコールドマイグレーションする際の動作を記載している。上位層と下位層が存在し親子関係がある場合、一方でコールドマイグレーションを実施している間は他方での実行を抑止する、と定義している。これにより、コールドマイグレーションの失敗と失敗による業務停止を回避する。
本実施形態では、管理サーバ101が管理対象の物理サーバ102や各仮想化部に対する命令1201を取得し、動作1203に沿って命令の実行または抑止を実施する。
また、動作等の設定は、管理サーバ101が提供する画面(GUI)による入力で抑止する命令を設定しても良いし、実行機能を持つ各管理対象へ命令の実行抑止を設定する、といった方法でも良い。
図13は、設定可否管理テーブル228を示している。設定可否管理テーブル228は、後述するように管理サーバ101によって設定される。あるいは、管理サーバ101の図示しないコンソールからシステム管理者が設定してもよい。
カラム1301には、管理対象の識別子(物理サーバ識別子601、仮想化部識別子701、仮想サーバ識別子801、OS識別子901、業務識別子1001)が格納されている。
カラム1302には、命令の抑止を設定可な命令が格納されている。カラム1303には、命令の抑止を設定不可な命令が格納されている。
管理サーバ101は、これにより、各管理対象に対して、各命令の抑止に関する設定の可否を参照することが可能となる。
図14は、管理サーバ101の制御部110で行われる処理の一例を示すフローチャートである。この処理は、管理サーバ101が管理対象に対して命令を取得または発行するたびに行われる。なお、管理対象に対する命令の取得は、仮想サーバ用管理サーバ151が第1仮想化部401、第2仮想化部403、仮想サーバ404に発行する命令を管理サーバ101が受け付けて、設定可否管理テーブル228の設定に従って命令の抑止または管理対象への命令の転送を行う。
ステップ1401で、制御部110は管理対象のトポロジを検出する。同時に、管理サーバ101や管理系との接続関係を検出しても良い。その後、ステップ1402へ進む。
ステップ1402で、制御部110はステップ1401で取得したトポロジをもとに管理テーブル群111を更新し、ステップ1403へ進む。
ステップ1403で、制御部110は影響範囲検出部211を呼び出し、管理対象の上位層と下位層といった親子関係に伴う命令の影響範囲と、命令抑止の有無等の動作を管理対象毎に特定し、ステップ1404へ進む。影響範囲検出部211の処理については後述する。
ステップ1404で、制御部110は設定可否判定部212を呼び出し、管理対象へ命令の抑止の設定が可能か否かを判定し、設定可能であればステップ1405へ進み、設定不可であればステップ1406へ進む。
ステップ1405で、制御部110は管理対象設定部213を呼び出し、命令管理テーブル227を参照し、設定可否管理テーブル228等のテーブル群111に、管理対象への各命令の実行可否(または命令の抑止を行うか否か)を設定する(命令制御部)。
ステップ1406で、制御部110はテーブル設定部214を呼び出し、命令管理テーブル227を参照し、命令の抑止や条件付き命令抑止及び条件付き実行をしたケースにおいて、その命令を親子関係のある他の管理対象に対して再実行するか否かを判定する。再実行する場合は、ステップ1401へ戻る。再実行しない場合は、各管理テーブルへ各命令の実行可否を設定し処理を完了する。本ステップではさらに、各管理テーブルへ設定した実行可否の情報を参照し、管理サーバ101が提供するGUIへ当該命令を表示するか否かを選択させるようにしても良い。
図15は、影響範囲検出部211で行われる処理の一例を示すフローチャートである。
ステップ1501で、影響範囲検出部211はシステム管理テーブル226を参照し、カラム1108とカラム1109を参照し、親子関係といったトポロジや相互接続関係を示すお互いの関連付けに関する情報を取得する。この後にステップ1502へ進む。
ステップ1502で、影響範囲検出部211は命令管理テーブル227を参照し、カラム1202から実行命令の内容を参照し、現在実行しようとしている命令と比較し、相当する命令がカラム1202に存在する場合に、カラム1203から動作に関する情報を取得する。そして、ステップ1503へ進む。
ステップ1503で、各命令について、表示可否および実行可否を判定し、処理を完了する。
影響範囲検出部211は、親子関係に伴う命令実行可否の影響範囲を特定する。影響範囲検出部211は、例えば、システム管理テーブル226で親子関係の子または親が存在すれば、これらの親子を影響範囲として特定する。そして、子へ実行する命令の場合は、親が起動しているかを判定する。また、管理系が動作するシステムは停止させないため、管理系を影響範囲として特定する。影響範囲検出部211は、特定した影響範囲について命令管理テーブル227のカラム1203の内容から命令毎の動作を特定する。
図16は、設定可否判定部212で行われる処理の一例を示すフローチャートである。
ステップ1601で、設定可否判定部212は命令管理テーブル227を参照し、カラム1202から実行する命令の内容を参照し、現在実行しようとしている命令と比較し、相当する命令がカラム1202に存在する場合に、カラム1203から動作に関する情報を取得する。その後、ステップ1602へ進む。
ステップ1602で、設定可否判定部212は設定可否管理テーブル228を参照し、カラム1301を照会して管理対象を特定して、カラム1302またはカラム1303から、それぞれ設定可または設定不可に関する情報を取得する。これにより、現在の命令を実行する管理対象では、どのような条件で命令の実行設定や実行抑止の設定が可能であるかを取得する。この後、ステップ1603へ進む。
ステップ1603で、設定可否判定部212は当該命令が管理対象へ設定可能か否かを判定する。
当該命令が管理対象へ設定可能であれば図14のステップ1405へ進み、そうでない場合にはステップ1406へ進む。具体的には、当該命令を管理対象へ設定可能、または下位層にて設定可能かを判定する。
図17は、管理対象設定部213で行われる処理の一例を示すフローチャートである。
ステップ1701で、管理対象設定部213は、設定可否管理テーブル228を参照し、カラム1301を照会して管理対象を特定する。カラム1302またはカラム1303から、それぞれ設定可または設定不可に関する情報を取得する。これにより、どのような条件で命令の実行設定や実行阻止の設定に関する可否情報を得る。その後、ステップ1702へ進む。
ステップ1702で、管理対象設定部213は、命令が実行不可の場合、管理対象へ実行不可を設定し、処理を完了する。一方、命令が実行可の場合は、敢えて設定する必要はない。ただし、下位層に対して命令の実行権限がない場合は、別にポリシーをテーブル管理し、そのポリシーテーブルを参照し、権限を昇格させるか否かを判定しても良い。ポリシーテーブルを使わず、必ず権限を昇格させて実行させても良いし、権限は変更せず実行させなくても良い。
図18は、テーブル設定部214で行われる処理の一例を示すフローチャートである。
ステップ1801で、テーブル設定部214は各管理テーブルを参照し、カラム1301を照会して管理対象を特定する。そしてテーブル設定部214は、カラム1302またはカラム1303から、それぞれ設定可または設定不可に関する情報を取得する。これにより、どのような条件で命令の実行設定や実行阻止の設定に関する可否情報を得る。
ステップ1802で、テーブル設定部214はそれぞれの管理対象に対して、各命令の実行可否を設定し、処理を完了する。
上記図14〜図18の処理を命令実行時に、管理サーバ101が当該命令の実行可否に関して各管理テーブルを参照し判定することになる。
これにより、管理サーバ101のGUI(Graphical User Interface)へ当該命令を表示する(選択可能)、または表示させない(選択出来ない)、といった制御や、当該命令の実行要求に対して実行可否を管理サーバ101にて判定することで、システム管理者の操作ミスを抑止したり、操作の容易性を高めたりする効果が得られる。
<まとめ>
図5で示すように、物理サーバAの仮想サーバA−1−1で業務aが稼働または存在する場合に、管理サーバ101は、OS421や仮想サーバA−1−1に対する電源操作は許すが、第2仮想化部A−1や第1仮想サーバA−1や第1仮想化部Aに対する電源操作命令を抑止する。
これにより、第2仮想化部A−1を誤って遮断するのを防ぎ、業務b、cがシステム管理者の意図に反して停止するのを防止することができる。なお、各命令の抑止は、命令を発行する管理サーバ101で抑止しても良い。
また、命令の実行を抑止する契機としては、例えば、仮想サーバ404上で業務が稼働中で、第2仮想化部A−1が稼働中で、業務aに管理系アプリケーションがインストールされている場合である。
あるいは、第1仮想化部Aと第2仮想化部A−1が同じ機能(マイグレーションなどの仮想サーバに対する操作)を提供している場合、管理サーバ101は、他方の機能が動作することを抑止する。または管理サーバ101から命令を発行させない(命令発行を抑止する)。例えば、一方でマイグレーションを行っているときには、他方のマイグレーションの実行を抑止する。
例えば、上位層と下位層でマイグレーションを実施しているときでは、管理サーバ101は、上位層に対する電源遮断命令を抑止しておき、下位層のマイグレーションが完了した後に上位層に対する電源遮断命令を許可する。これによって、下位層の仮想化部を先にマイグレーションさせた後に電源遮断を実行することができる。
次に、管理サーバ101の上位層に対する電源操作命令は、上位層の電源状態がオフの場合、下位層の電源状態を一番下位からオンにしていき、当該層がオン状態になったことを確認した後に、上位層をオンする命令を送信する。例えば、管理サーバ101は、第2仮想化部A−1がオフの場合、第2仮想化部A−1を電源操作命令でオンにして起動を確認してから管理サーバ101は仮想サーバA−1−1、A−1−2の電源をオンにする命令を発行し、仮想サーバA−1−1、A−1−2の起動が完了したら業務アプリケーション431を配布して実行させることができる。このように、仮想計算機の下位層から順次電源をオンにすることで、目的の層の管理対象を起動させることができる。
以上の例では、管理サーバ101が、命令の抑止を行う例を示したが、この命令の抑止は、第1仮想化部Aや第2仮想化部A−1に設定することで実現してもよい。第1仮想化部401と第2仮想化部403は、各仮想サーバ402、404に対する電源操作命令などの抑止の指令を管理サーバ101から受け付ける。そして、第1仮想化部401または第2仮想化部403が管理サーバ101や仮想サーバ用管理サーバ151から命令を受信すると、当該命令が抑止する命令であれば第1仮想化部401または第2仮想化部403は当該命令の実行を制限する。あるいは、第1仮想化部401または第2仮想化部403は当該命令を破棄する。また、第1仮想化部401と第2仮想化部403は、各仮想サーバ402、404に対する電源操作命令などの抑止の条件を管理サーバ101から受け付けている場合には、当該条件が成立したときに当該命令の抑止を実施する。
なお、上記実施形態では、管理サーバ101が命令を取得したときに図14の処理を行う例を示したが、所定の周期で管理サーバ101が図14の処理を実行して設定可否管理テーブル228を更新するようにしても良い。この場合、管理サーバ101の管理対象毎に命令管理テーブル227の各命令毎に設定可1302と設定不可1303の何れかを設定しておく。そして、各管理対象が命令を受信すると管理サーバ101に受信した命令が設定可1302と設定不可1303の何れであるかを問い合わせる。各管理対象は管理サーバ101からの問い合わせ結果に応じて、受信した命令の抑止または実行を行うようにしても良い。
本発明は、物理計算機の計算機資源を仮想化する仮想計算機システムに適用することができ、特に、多段仮想計算機システムの管理サーバまたは管理装置に好適である。

Claims (6)

  1. プロセッサとメモリをそれぞれ備えた複数の物理計算機と、前記複数の物理計算機を接続するネットワークと、前記複数の物理計算機を管理する管理サーバとを備えて、前記物理計算機で1つ以上の仮想計算機を提供する仮想化部を有し、前記管理サーバが前記仮想計算機と前記仮想化部を制御する仮想計算機の制御方法であって、
    前記管理サーバが、前記物理計算機上で稼動する仮想化部と仮想計算機の関係を検出する第1のステップと、
    前記管理サーバは、前記仮想計算機の稼動状態を検出する第2のステップと、
    前記管理サーバが、前記仮想化部または仮想計算機に対して状態を変更する命令を発行する際に、前記仮想化部と接続関係にある前記仮想計算機の稼働状態に基づいて前記命令の発行の抑止または前記命令の発行を行う第3のステップと、
    を含み
    前記第3のステップは、
    前記仮想化部と接続関係にある前記仮想計算機の稼動状態が停止中のときには、前記仮想化部に対して状態を変更する命令を発行し、当該命令の実行が完了した後に前記仮想計算機に対して前記状態を変更する命令を発行することを特徴とする仮想計算機の制御方法。
  2. 請求項1に記載の仮想計算機の制御方法であって、
    前記第3のステップは、
    前記仮想化部または仮想計算機に対して状態を変更する命令が、起動命令であることを特徴とする仮想計算機の制御方法。
  3. 請求項1に記載の仮想計算機の制御方法であって、
    前記第2のステップは、
    前記仮想計算機の稼動状態が第1の命令の実行中であることを検出し、
    前記第3のステップは、
    前記仮想計算機と接続関係にある仮想化部に対して前記第1の命令を発行する場合には、前仮想計算機で前記第1の命令の実行が完了するまで、当該仮想化部に対する前記第1の命令の発行を抑止し、前記第1の命令が、マイグレーションの指令であることを特徴とする仮想計算機の制御方法。
  4. プロセッサとメモリをそれぞれ備えた複数の物理計算機と、
    前記複数の物理計算機を接続するネットワークと、
    前記複数の物理計算機を管理する管理部とを備えて、前記物理計算機で1つ以上の仮想計算機を提供する仮想化部を有し、前記管理部が前記仮想計算機と前記仮想化部を制御する仮想計算機システムであって、
    前記管理部は、
    前記物理計算機上で稼動する仮想化部と仮想計算機の関係を検出するトポロジ検出部と、
    前記仮想計算機の稼動状態を検出する稼動状態検出部と、
    前記仮想化部または仮想計算機に対して状態を変更する命令を発行する際に、前記仮想化部と接続関係にある前記仮想計算機の稼働状態に基づいて前記命令の発行の抑止または前記命令の発行を行う命令制御部と、
    を備え、
    前記命令制御部は、
    前記仮想化部と接続関係にある前記仮想計算機の稼動状態が停止中のときには、前記仮想化部に対して状態を変更する命令を発行し、当該命令の実行が完了した後に前記仮想計算機に対して前記状態を変更する命令を発行することを特徴とする仮想計算機システム。
  5. 請求項4に記載の仮想計算機システムであって、
    前記命令制御部は、
    前記仮想化部または仮想計算機に対して状態を変更する命令が、起動命令であることを特徴とする仮想計算機システム。
  6. 請求項4に記載の仮想計算機システムであって、
    前記稼動状態検出部は、
    前記仮想計算機の稼動状態が第1の命令の実行中であることを検出し、
    前記命令制御部は、
    前記仮想計算機と接続関係にある仮想化部に対して前記第1の命令を発行する場合には、前仮想計算機で前記第1の命令の実行が完了するまで、当該仮想化部に対する前記第1の命令の発行を抑止し、前記第1の命令が、マイグレーションの指令であることを特徴とする仮想計算機システム。
JP2013517772A 2011-06-02 2011-06-02 仮想計算機の制御方法及び仮想計算機システム Active JP5719023B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2011/062680 WO2012164716A1 (ja) 2011-06-02 2011-06-02 仮想計算機の制御方法及び仮想計算機システム

Publications (2)

Publication Number Publication Date
JPWO2012164716A1 JPWO2012164716A1 (ja) 2014-07-31
JP5719023B2 true JP5719023B2 (ja) 2015-05-13

Family

ID=47258601

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013517772A Active JP5719023B2 (ja) 2011-06-02 2011-06-02 仮想計算機の制御方法及び仮想計算機システム

Country Status (3)

Country Link
US (1) US20130346584A1 (ja)
JP (1) JP5719023B2 (ja)
WO (1) WO2012164716A1 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9515952B2 (en) * 2011-07-01 2016-12-06 Hewlett Packard Enterprise Development Lp Method of and system for managing computing resources
WO2013027297A1 (ja) * 2011-08-25 2013-02-28 富士通株式会社 半導体装置、管理装置、及びデータ処理装置
US9641397B2 (en) * 2012-09-28 2017-05-02 Nec Corporation Communication system, control apparatus, control method, and program
JP2014142678A (ja) * 2013-01-22 2014-08-07 Hitachi Ltd 仮想サーバ移行計画作成方法およびシステム
US20150026379A1 (en) * 2013-03-14 2015-01-22 Wei Yang Generic method to build virtual pci device and virtual mmio device
JP5962853B2 (ja) * 2013-04-22 2016-08-03 富士通株式会社 情報処理装置、方法、及びプログラム
JP6388835B2 (ja) * 2015-02-16 2018-09-12 Kddi株式会社 障害分析支援装置、障害分析システムおよびプログラム
US10114664B1 (en) * 2015-09-21 2018-10-30 Veritas Technologies Llc Systems and methods for automated delivery and identification of virtual drives
US10108462B2 (en) 2016-02-12 2018-10-23 Microsoft Technology Licensing, Llc Virtualizing sensors
US10659376B2 (en) * 2017-05-18 2020-05-19 International Business Machines Corporation Throttling backbone computing regarding completion operations

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009080563A (ja) * 2007-09-25 2009-04-16 Nec Corp 仮想マシンモニタをモニタするコンピュータとその方法、および仮想マシンモニタモニタプログラム
JP2009245316A (ja) * 2008-03-31 2009-10-22 Fujitsu Ltd 仮想マシン管理プログラム、管理サーバ装置及び仮想マシン管理方法
JP2009253811A (ja) * 2008-04-09 2009-10-29 Nec Corp 端末装置、ネットワーク接続方法及びプログラム
JP2011081588A (ja) * 2009-10-07 2011-04-21 Nec Corp コンピュータシステム、及びコンピュータシステムのメンテナンス方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4995015B2 (ja) * 2007-09-13 2012-08-08 株式会社日立製作所 仮想計算機の実行可否検査方法
JP5365051B2 (ja) * 2008-03-31 2013-12-11 富士通株式会社 管理プログラム、管理装置及び管理方法
US8352953B2 (en) * 2009-12-03 2013-01-08 International Business Machines Corporation Dynamically provisioning virtual machines

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009080563A (ja) * 2007-09-25 2009-04-16 Nec Corp 仮想マシンモニタをモニタするコンピュータとその方法、および仮想マシンモニタモニタプログラム
JP2009245316A (ja) * 2008-03-31 2009-10-22 Fujitsu Ltd 仮想マシン管理プログラム、管理サーバ装置及び仮想マシン管理方法
JP2009253811A (ja) * 2008-04-09 2009-10-29 Nec Corp 端末装置、ネットワーク接続方法及びプログラム
JP2011081588A (ja) * 2009-10-07 2011-04-21 Nec Corp コンピュータシステム、及びコンピュータシステムのメンテナンス方法

Also Published As

Publication number Publication date
US20130346584A1 (en) 2013-12-26
JPWO2012164716A1 (ja) 2014-07-31
WO2012164716A1 (ja) 2012-12-06

Similar Documents

Publication Publication Date Title
JP5719023B2 (ja) 仮想計算機の制御方法及び仮想計算機システム
US9384060B2 (en) Dynamic allocation and assignment of virtual functions within fabric
US7992032B2 (en) Cluster system and failover method for cluster system
US9110717B2 (en) Managing use of lease resources allocated on fallover in a high availability computing environment
US9223604B2 (en) Control method of virtual machine and virtual machine system
US9747121B2 (en) Performance optimization of workloads in virtualized information handling systems
US10635499B2 (en) Multifunction option virtualization for single root I/O virtualization
JP5216336B2 (ja) 計算機システム、管理サーバ、および、不一致接続構成検知方法
JP5770284B2 (ja) I/oスイッチの制御方法、仮想計算機の制御方法及び計算機システム
WO2013157072A1 (ja) 計算機システム、リソース管理方法及び管理計算機
US10289564B2 (en) Computer and memory region management method
US9639486B2 (en) Method of controlling virtualization software on a multicore processor
JP2011128967A (ja) 仮想計算機の移動方法、仮想計算機システム及びプログラム
JP5149732B2 (ja) 仮想計算機システム
WO2012004902A1 (ja) 計算機システム及び計算機システムの系切替制御方法
JP2010257274A (ja) 仮想化環境におけるストレージ管理システム及びストレージ管理方法
JP2017505494A (ja) テンプレートベースのプラットフォームとインフラをプロビジョニングするための方法とその装置
US9529656B2 (en) Computer recovery method, computer system, and storage medium
CN112306650A (zh) 虚拟机热迁移方法和通信设备
US9804877B2 (en) Reset of single root PCI manager and physical functions within a fabric
JP2013206379A (ja) クラスタ監視装置、クラスタ監視方法、及びプログラム
US20160077847A1 (en) Synchronization of physical functions and virtual functions within a fabric
JP5267544B2 (ja) ディスク引き継ぎによるフェイルオーバ方法
JP5321658B2 (ja) フェイルオーバ方法、およびその計算機システム。
WO2016110951A1 (ja) 計算機システム、ライセンス管理方法、及び、管理計算機

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141209

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150205

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150319

R150 Certificate of patent or registration of utility model

Ref document number: 5719023

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150