JP6447258B2 - 管理プログラム、管理方法、および管理装置 - Google Patents

管理プログラム、管理方法、および管理装置 Download PDF

Info

Publication number
JP6447258B2
JP6447258B2 JP2015045788A JP2015045788A JP6447258B2 JP 6447258 B2 JP6447258 B2 JP 6447258B2 JP 2015045788 A JP2015045788 A JP 2015045788A JP 2015045788 A JP2015045788 A JP 2015045788A JP 6447258 B2 JP6447258 B2 JP 6447258B2
Authority
JP
Japan
Prior art keywords
virtual machine
address
information
identification information
monitoring
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2015045788A
Other languages
English (en)
Other versions
JP2016167124A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2015045788A priority Critical patent/JP6447258B2/ja
Priority to US15/006,620 priority patent/US10048978B2/en
Publication of JP2016167124A publication Critical patent/JP2016167124A/ja
Application granted granted Critical
Publication of JP6447258B2 publication Critical patent/JP6447258B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45591Monitoring or debugging support

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Debugging And Monitoring (AREA)
  • Computer And Data Communications (AREA)

Description

本発明は、管理プログラム、管理方法、および管理装置に関する。
クラウドコンピューティングシステム(以下、クラウドと呼ぶ)の運用では、従来は、サーバ環境を提供していたインフラストラクチャ(以下、インフラと呼ぶ)の管理者がシステム監視と業務監視を兼任で実施していた。それに対し、近年、クラウドコンピューティング技術の発達に伴い、システム監視はインフラの管理者が行い、業務監視はクラウド利用者が行うように、運用者が分離されるようになってきている。
業務監視では、各サーバを直接監視するわけではなく、監視サーバの構成管理情報内に用意されたノード管理情報を用いて監視操作を行う。ここで、ノード管理情報とは、監視対象のサーバと一対一で対応付けられ、監視対象サーバに関するバードウェアやソフトウェアの構成情報や、監視対象項目などの監視設定を含む情報である。例えば監視サーバは、監視対象のサーバを監視し、監視対象のサーバの構成と一致するように、ノード管理情報を定期的に更新すると共に、利用者がノード管理情報に対して設定した監視設定で各サーバを監視する。
監視技術としては、例えば、PC(パーソナルコンピュータ)の物理的位置を自動的に検出し、PCの移動を追跡するネットワーク構成管理システムがある。またMAC(Media Access Control)アドレスの重複を検出するネットワーク監視システムも考えられている。
特開2006−079350号公報 特開2013−168771号公報
クラウドでは、物理マシン上で仮想マシン(VM:Virtual Machine)を動作させ、利用者に仮想マシンを利用させる。仮想マシンでは、従来ハードウェアで実現されていたものが、ソフトウェアによって実現される。そのため仮想マシンは、ユニークな固定情報を持たない。
例えばIP(Internet Protocol)アドレスは、予めプールされたIPアドレスが、複数のVM上で動作するOSの設定により使い回されるため、1つのVMで固定的に使用されるわけではない。
また物理マシンであれば、ネットワークに接続するインターフェースに設定されたMACアドレスのような、ハードウェアに対応づけて設定された情報を用いて、その物理マシンを一意に特定できる。
それに対して、VMは仮想デバイスを利用するため、MACアドレスはハードウェアに対応づいたものではなく、一意に特定する情報としては用いることができない。このようにVMはユニークな固定情報を持たないため、監視サーバから複数のVMそれぞれを確実に識別することが困難となっている。
また、VMは複製が可能であることから、VMに何らかの識別情報が付与されていても、そのVMが複製されると、同じ識別情報を有するVMが複数存在することになる。そのため、識別情報を有していないVMに識別情報を付与するだけでは、複製により生成されたVMと複製元のVMとを区別できず、VM識別の確実性に欠ける。
1つの側面では、本発明は、複数のVMそれぞれを確実に識別できるようにすることを目的とする。
1つの案では、複数の仮想マシンを管理するための管理プログラムが提供される。この管理プログラムは、コンピュータに、以下の処理を実行させる。
コンピュータは、管理対象の複数の仮想マシンより、コンピュータの内部時刻に基づく識別情報を記憶していない第1の仮想マシンを検出したとき、該検出時におけるコンピュータの内部時刻に基づく第1の識別情報を、第1の仮想マシンに記憶させる。またコンピュータは、第1の識別情報を記憶し、かつ、第1の識別情報の記憶後にネットワーク接続に関する設定が変更された第2の仮想マシンを検出したとき、該検出時におけるコンピュータの内部時刻に基づく第2の識別情報を、第2の仮想マシンに記憶させる。
1態様によれば、複数のVMそれぞれを確実に識別できるようになる。
第1の実施の形態に係るシステムの構成例を示す図である。 VMが複製された場合の例を示す図である。 VMの複製と接続情報の変更とが行われた場合の例を示す図である。 時刻を用いたVMの識別例を示す図である。 第2の実施の形態のシステム構成例を示す図である。 第2の実施の形態に用いる監視サーバのハードウェアの一構成例を示す図である。 監視サーバとVMホストとの機能を示すブロック図である。 ノード管理情報の一例を示す図である。 接続履歴情報の一例を示す図である。 接続履歴間の関係を示すツリー構造を示す図である。 監視情報の一例を示す図である。 VMに保持される接続履歴情報ファイルの一例を示す図である。 複製されたVMの区別例を示す図である。 ノード管理情報の生成例を示す図である。 監視処理の手順の一例を示すシーケンス図である。 監視部における監視処理の手順の一例を示すフローチャートである。 接続履歴情報の存在の有無判断例を示す図である。 接続履歴情報は異なるが接続情報は同じVMの例を示す図である。 スナップショットが戻された場合の接続履歴情報の比較例を示す図である。 他監視サーバ配下のVMが移設された場合の例を示す図である。
以下、本実施の形態について図面を参照して説明する。なお各実施の形態は、矛盾のない範囲で複数の実施の形態を組み合わせて実施することができる。
〔第1の実施の形態〕
図1は、第1の実施の形態に係るシステムの構成例を示す図である。管理装置10は、仮想マシン(VM)1−1,1−2を実行する物理マシン1に、ネットワークを介して接続されている。管理装置10は、複数のVM1−1,1−2を管理するため、記憶部11と演算部12とを有する。
記憶部11は、VM1−1,1−2の識別情報11a〜11cや、VM1−1,1−2の管理情報11d〜11fを記憶する。識別情報11a〜11cは、管理装置10の内部時刻に基づいて生成されている。識別情報11a〜11cには、例えば、対応するVMのアドレスなどの、ネットワーク接続のための設定を示す接続情報が含まれる。接続情報は、例えばネットワーク上でVMを一意に識別するためのアドレスである。管理情報11d〜11fには、例えばVMの監視方法に関する設定などが含まれる。
演算部12は、VM1−1,1−2を監視し、内部時刻に基づく識別情報を記憶していないVMを検出したとき、検出時における管理装置10の内部時刻に基づく識別情報を、そのVMに記憶させる。例えばVM1−1,1−2は、1以上の識別情報を、履歴情報1a−1,1a−2として記憶する。VM1−1が、他のVMからの複製ではなく、新たに作成されたものである場合、作成時には、VM1−1は履歴情報1a−1を有していない。そのようなVM1−1を演算部12が検知すると、演算部12は、検知時の時刻に基づく識別情報11aを生成し、その識別情報11aを含む履歴情報1a−1を、VM1−1に記憶させる。このとき演算部12は、VM1−1に記憶させた識別情報11aを、記憶部11に格納すると共に、識別情報11aに関連付けて、VM1−1管理用の管理情報11dを記憶部11に格納する。
また演算部12は、既に識別情報を記憶し、かつ、識別情報の記憶後にネットワーク接続に関する設定が変更されたVMを検出したとき、該検出時における管理装置10の内部時刻に基づく識別情報を、そのVMに記憶させる。ネットワーク接続に関する設定の変更の有無の判断には、VMに記憶させた識別情報を利用することができる。例えば演算部12は、識別情報をVMに記憶させる際に、そのVMのネットワーク接続に関する設定を示す接続情報を、識別情報に含める。そして、演算部12は、記憶する識別情報に含まれる接続情報が、現在のネットワーク接続に関する設定と異なるVMを検出する。
例えば、VM1−1から複製したVM1−2のアドレスが変更され、起動されたものとする。このときVM1−2は、既に識別情報を記憶しており、アドレスが変更されている。そこで演算部12はVM1−2を検出し、検出時の管理装置10の内部時刻に基づく新たな識別情報11bを生成し、その識別情報11bをVM1−2に記憶させる。VM1−2は、識別情報11bを履歴情報1a−2に追加する。このとき演算部12は、VM1−2に記憶させた識別情報11bを、記憶部11に格納すると共に、識別情報11bに関連付けて、VM1−2管理用の管理情報11eを記憶部11に格納する。
なお、VM1−2の履歴情報1a−2を参照すると、VM1−1の構成を引き継いで、アドレスを変えたものであることが分かる。そこで演算部12は、VM1−1管理用の管理情報11dの複製を、VM1−2管理用の管理情報11eとすることができる。
また、VM1−1のアドレスが変更される場合もある。なお図1の例では、2台のVM1−1,1−2のアドレスが同一となっている。この場合、VM1−1,1−2の一方が動作している間は、他方は停止している。アドレスが変更されたVM1−1が起動されると、演算部12はVM1−1を検出し、検出時の管理装置10の内部時刻に基づく新たな識別情報11cを生成し、その識別情報11cをVM1−1に記憶させる。VM1−1は、識別情報11cを履歴情報1a−1に追加する。このとき演算部12は、VM1−1に記憶させた識別情報11cを、記憶部11に格納すると共に、識別情報11cに関連付けて、VM1−1管理用の管理情報11fを記憶部11に格納する。このとき演算部12は、アドレス変更前のVM1−1管理用の管理情報11dの複製を、アドレス変更後のVM1−1管理用の管理情報11fとすることができる。
演算部12は、VM1−1,1−2に記憶させた識別情報に基づいて、仮想マシン1−1,1−2それぞれを識別する。例えば、図1の例では、2台のVM1−1,1−2のアドレスが同一となっているが、識別情報の違いにより、VM1−1とVM1−2とを区別できる。
また演算部12は、アドレスが「B」となったVM1−1とVM1−2とが、VM1−1から複製されたものなのか、VM1−1のアドレスを変更したものなのかを、判断することもできる。例えば、演算部12は、VMの検出時点で、そのVMが記憶する識別情報に基づいて識別されたVMに接続可能なとき、検出したVMが、識別されたVMの複製であると判断する。またVMの検出時点で、そのVMが記憶する識別情報に基づいて識別されたVMに接続できないとき、検出されたVMが、識別されたVMの、ネットワーク接続に関する設定を変更したものであると判断する。
例えばアドレスが「B」に変更されたVM1−2が起動されたとき、アドレス「A」のVM1−1に接続可能であれば、VM1−2は、VM1−1の複製であること判断できる。またアドレスが「B」に変更されたVM1−1が起動されたとき、アドレス「A」のVMは存在せず、そのようなVMには接続不可能であるため、アドレスが「B」のVM1−1は、単にアドレスの設定を変更したものであることが判断できる。
このように、VM1−1,1−2に管理装置10の内部時刻に基づく識別情報を記憶させ、その識別情報に基づいてVM1−1,1−2を識別するようにしたことで、アドレスが重複しても、各VM1−1,1−2を適切に識別することができる。しかもVMが複製された場合でも、複製されたVMのアドレスが変更され起動されたときに、そのVMに新たな識別情報が付与される。そのため、複製元のVMと複製先のVMとを、明確に区別することができる。さらに、複製元のVMの存在の有無により、複製されたVMなのか、アドレスなどの設定が変更されただけのVMなのかの判別も可能となる。
また、複製されたVM1−2の管理情報11eを、複製元のVM1−1の管理情報11dの複製によって作成できるため、管理情報11eの作成の手間が削減される。例えばVMの監視設定が管理情報11dに含まれる場合、複製されたVM1−2用の監視設定を、管理情報11eに登録する手間が省ける。
さらに、管理装置10の内部時刻に基づいて識別情報を生成するため、異なるVMに付与した識別情報が偶然一致するようなこともない。
なお、識別情報をVMに記憶させる際には、管理装置10を識別するID(装置識別情報)を、識別情報に含めてもよい。管理装置10のIDを識別情報に含めることで、複数の管理装置それぞれで個別に管理されている複数のネットワーク間でVMが移行されたときでも、識別情報が偶然一致することを抑止できる。
なお、演算部12は、例えば管理装置10が有するプロセッサにより実現することができる。また、記憶部11は、例えば管理装置10が有するメモリにより実現することができる。
〔第2の実施の形態〕
次に第2の実施の形態について説明する。第2の実施の形態は、IaaS(Infrastructure as a Service)をクラウドによって提供する場合において、VMを監視する監視サーバから、各VMを継続的に一意に特定できるようにするものである。例えばVMのMACアドレスが変更された場合でも、そのVMを以前と同じVMであると特定できるようにする。
まず、VMを継続的に一意に特定することの困難性について説明する。
従来は、VMをネットワークに接続するための接続情報はユニークな固定情報である。接続情報には、IPアドレス、MACアドレス、ホスト名などが含まれる。そのため、接続情報は、運用システム設計時に重複なしに設定される。そのため、接続情報をキーにサーバを見分けて管理することが可能である。しかし、クラウド環境では接続情報がテンポラリ化している。例えばあるサーバに割り当てられた接続情報がそのサーバの停止により解放され、解放された接続情報が、まったく別のサーバに割り当てられることもある。またVMは、複製も容易であり、VMが複製されると、接続情報も複製される。
図2は、VMが複製された場合の例を示す図である。監視サーバ80は、ネットワークを介してVMホスト90で動作しているVMを監視する。図2の例では、監視サーバ80は、VM91を監視対象としており、VM91のノード管理情報81を保持している。ノード管理情報81には、IPアドレス、MACアドレス、ホスト名などの接続情報が含まれる。また、ノード管理情報81には、VMの監視内容を示す設定情報なども含まれる。
VMホスト90は、稼働しているVM91を複製して、別のVM92を作成することができる。VM92の作成直後は、VM92の接続情報は、VM91と同じである。そのため、監視サーバ80は、VM91が停止してVM92が起動したとき、ノード管理情報81と照らし合わせても、VM92が、以前動作していたVM91とは別VMであることが認識できない。
またVMの運用では、現在動作しているVMについて、スナップショットで保存しておいた過去の状態を、別のVMで再現することがある。この場合にも、複数のVM間で、接続情報の重複が発生する。
このように、クラウド環境では、VMの複製やスナップショットの戻しなどで、VM間のネットワーク接続のための接続情報の重複が当たり前になり、監視サーバから各VMを区別するのが困難となっている。
なお、複製元のVM91を動作させたまま、複製されたVM92が別の接続情報で起動されたとき、監視サーバ80において、VM92を、VM91とは別VMと認識させることもできる。しかしこのような識別方法を採用すると、VM91の接続情報が変更されたとき、VM91とは全く別のVMと認識されてしまう。
図3は、VMの複製と接続情報の変更とが行われた場合の例を示す図である。図3の例では、VM91のPアドレスは「A」であるが、複製されたVM92のIPアドレスは「B」である。VM92が、VM91と異なるIPアドレスを有していることから、監視サーバ80において、VM91に対応するノード管理情報81とは別のノード管理情報82が生成される。その後、VM91のIPアドレスが「C」に変更された場合、VM91が以前と異なるIPアドレスを有していることから、監視サーバ80において、VM91に対応する新たなノード管理情報83が生成される。
ノード管理情報81〜83には、VM91,92を監視するための監視項目に対する設定値が含まれている。新たに検出されたVM92が、VM91の複製であることが分かれば、VM91のノード管理情報81をコピーしてノード管理情報82を生成することで、監視用の設定作業を省略可能となる。しかし、従来の技術では、監視サーバ80において、VM92がVM91の複製であると認識することができない。
同様に、IPアドレス「C」として新たに検出されたVM91が、ノード管理情報81に対応するVM91のIPアドレスが変更されたものであることが分かれば、ノード管理情報83の生成処理を効率化できる。しかし、従来の技術では、監視サーバ80において、IPアドレスが「C」のVM91を検出したとき、単にVM91のIPアドレスが変更されただけであることを認識することができない。
また、例えばMACアドレスが同一であれば、IPアドレス「C」として新たに検出されたVM91を、複製されたVMまたは設定変更されたものであると判断することも考えられる。しかし、この場合、複製後のVM92と設定変更後のVM91とが区別できなくなる。
ここで、ユニークな固定情報を持たないVM91,92について、VM91,92ごとの時刻の変化に伴い変更される情報を使って見分けることが考えられる。例えば各VM91,92に監視サーバ80から接続した時刻を、各VM91,92の識別情報として用いることが考えられる。
図4は、時刻を用いたVMの識別例を示す図である。各VM91,92は、接続履歴情報93,94を保持している。各VM91,92は、監視サーバ80から接続されたとき、VM91,92自身のローカル時刻を、接続履歴情報93,94に格納する。格納された時刻が異なっていれば、接続履歴情報93,94に基づいて、VM91とVM92とを区別可能となる。
しかし、VM91,92のローカル時刻は重複する場合があり得る。例えば、一般的にVMは停止時に時刻が止まり、起動時に補正される。そのため、タイミングにより誤った時刻が取得される場合があり、重複する接続履歴情報が生成される可能性がある。そのため、接続履歴情報93,94を用いても、完全に識別できるとは限らない。
そこで、第2の実施の形態では、監視サーバ80の内部時計で計時した時刻を、VMの識別に用いる。これにより、複数のVM91,92それぞれの接続履歴情報に格納される時刻が偶然に一致してしまうことを抑止し、VM91とVM92とを確実に区別可能となる。
図5は、第2の実施の形態のシステム構成例を示す図である。複数の監視サーバ100,100aは、ネットワーク20を介して複数のVMホスト200,200a,・・・に接続されている。またネットワーク20には、複数の端末装置31,32,・・・が接続されている。
VMホスト200,200a,・・・は、内部でVMを動作させ、VMを用いたサービスを提供するコンピュータである。監視サーバ100,100aは、VMホスト200,200a,・・・で動作するVMを監視するコンピュータである。端末装置31,32,・・・は、VMにアクセスしてサービスを利用するコンピュータである。端末装置31,32,・・・の利用者は、監視サーバ100,100aを介して、自身が使用するVMの状態を監視する。
なお図5に示す監視サーバ100,100aは、図1に示した第1の実施の形態における管理装置10の一例である。また図5に示すVMホスト200,200a,・・・は、図1に示した第1の実施の形態における物理マシン1の一例である。
図6は、第2の実施の形態に用いる監視サーバのハードウェアの一構成例を示す図である。監視サーバ100は、プロセッサ101によって装置全体が制御されている。プロセッサ101には、バス109を介してメモリ102と複数の周辺機器が接続されている。プロセッサ101は、マルチプロセッサであってもよい。プロセッサ101は、例えばCPU(Central Processing Unit)、MPU(Micro Processing Unit)、またはDSP(Digital Signal Processor)である。プロセッサ101がプログラムを実行することで実現する機能の少なくとも一部を、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)などの電子回路で実現してもよい。
メモリ102は、監視サーバ100の主記憶装置として使用される。メモリ102には、プロセッサ101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、メモリ102には、プロセッサ101による処理に利用する各種データが格納される。メモリ102としては、例えばRAM(Random Access Memory)などの揮発性の半導体記憶装置が使用される。
バス109に接続されている周辺機器としては、HDD(Hard Disk Drive)103、グラフィック処理装置104、入力インタフェース105、光学ドライブ装置106、機器接続インタフェース107およびネットワークインタフェース108がある。
HDD103は、内蔵したディスクに対して、磁気的にデータの書き込みおよび読み出しを行う。HDD103は、監視サーバ100の補助記憶装置として使用される。HDD103には、OSのプログラム、アプリケーションプログラム、および各種データが格納される。なお、補助記憶装置としては、フラッシュメモリなどの不揮発性の半導体記憶装置(SSD:Solid State Drive)を使用することもできる。
グラフィック処理装置104には、モニタ21が接続されている。グラフィック処理装置104は、プロセッサ101からの命令に従って、画像をモニタ21の画面に表示させる。モニタ21としては、CRT(Cathode Ray Tube)を用いた表示装置や液晶表示装置などがある。
入力インタフェース105には、キーボード22とマウス23とが接続されている。入力インタフェース105は、キーボード22やマウス23から送られてくる信号をプロセッサ101に送信する。なお、マウス23は、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
光学ドライブ装置106は、レーザ光などを利用して、光ディスク24に記録されたデータの読み取りを行う。光ディスク24は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク24には、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。
機器接続インタフェース107は、監視サーバ100に周辺機器を接続するための通信インタフェースである。例えば機器接続インタフェース107には、メモリ装置25やメモリリーダライタ26を接続することができる。メモリ装置25は、機器接続インタフェース107との通信機能を搭載した記録媒体である。メモリリーダライタ26は、メモリカード27へのデータの書き込み、またはメモリカード27からのデータの読み出しを行う装置である。メモリカード27は、カード型の記録媒体である。
ネットワークインタフェース108は、ネットワーク20に接続されている。ネットワークインタフェース108は、ネットワーク20を介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。
以上のようなハードウェア構成によって、第2の実施の形態の処理機能を実現することができる。なお、図6には監視サーバ100のハードウェア構成を示したが、監視サーバ100a、VMホスト200,200a,・・・、および端末装置31,32,・・・も、監視サーバ100と同様のハードウェアで実現できる。また第1の実施の形態に示した管理装置10および物理マシン1も、図6に示した監視サーバ100と同様のハードウェアにより実現することができる。
監視サーバ100は、例えばコンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、第2の実施の形態の処理機能を実現する。監視サーバ100に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。例えば、監視サーバ100に実行させるプログラムをHDD103に格納しておくことができる。プロセッサ101は、HDD103内のプログラムの少なくとも一部をメモリ102にロードし、プログラムを実行する。また監視サーバ100に実行させるプログラムを、光ディスク24、メモリ装置25、メモリカード27などの可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、例えばプロセッサ101からの制御により、HDD103にインストールされた後、実行可能となる。またプロセッサ101が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
図7は、監視サーバとVMホストとの機能を示すブロック図である。監視サーバ100は、構成管理データベース(DB)110、監視情報DB120、および監視部130を有する。
構成管理DB110は、VMホスト200,200a,・・・で動作している各VMの構成を管理するDBである。構成管理DB110には、例えばノード管理情報群111と接続履歴情報群112とが含まれる。ノード管理情報群111は、VMごとに設けられたノード管理情報の集合である。ノード管理情報には、対応するVMの接続情報、監視設定などの情報が含まれる。接続履歴情報群112は、各VMに対する監視サーバ100からの接続履歴を示す接続履歴情報の集合である。接続履歴情報には、接続した時刻が含まれる。
監視情報DB120は、VMホスト200,200a,・・・で動作している各VMの監視結果を管理するDBである。監視情報DB120には、監視情報群121が含まれる。監視情報群121は、VMで発生したイベントなどの監視情報の集合である。
監視部130は、VMホスト200で動作しているVM210を監視する。例えば監視部130は、定期的にVM210に接続して、構成管理DB110内のVM210に関する情報を更新する。また監視部130は、VM210で発生したイベントなどの情報をVM210から取得し、監視情報DB120に格納する。
VMホスト200は、VM210の新規作成・複製・削除、およびスナップショットでのVM210の退避・復元をすることができる。VM210は、記憶部211と監視エージェント212とを有する。記憶部211は、接続履歴情報ファイル211aを記憶する。接続履歴情報ファイル211aは、監視サーバ100から受信した接続履歴情報を格納するファイルである。接続履歴情報には、監視サーバ100から送られた時刻が、識別情報として含まれる。
監視エージェント212は、監視サーバ100の監視部130と連携し、監視部130によるVM210の監視を支援する。例えば監視エージェント212は、VM210を監視し、システムや業務アプリケーションの異常などのイベントを検出し、イベントの詳細を示す監視情報を監視部130へ通知する。また監視エージェント212は、監視部130からの要求に応じて、接続履歴情報ファイル211a内の接続履歴情報を監視部130に送信する。さらに監視エージェント212は、監視部130から送られた接続履歴情報を、接続履歴情報ファイル211aに書き込む。
このような構成のシステムにより、複数のVMを適切に区別して、VMの監視が行われる。なお、図7に示した各要素間を接続する線は通信経路の一部を示すものであり、図示した通信経路以外の通信経路も設定可能である。また、図7に示した各要素の機能は、例えば、その要素に対応するプログラムモジュールをコンピュータに実行させることで実現することができる。
なお、IaaSのクラウドサービスでは、利用者は、監視サーバ100やVM210を操作することはできるが、VMホスト200のハイパーバイザを操作することはできない。そのため、利用者が管理しているネットワーク上では、監視サーバ100とVM210間、VM210とVMホスト200間は各々通信が可能であるが、監視サーバ100とVMホスト200は直接ネットワークが接続されておらず、通信できない。
次に、監視サーバ100によるVM210の監視に利用する情報について、詳細に説明する。
図8は、ノード管理情報の一例を示す図である。ノード管理情報群111は、例えばデータテーブル形式の複数のノード管理情報111a,111b,111c,・・・によって、各VMの情報が管理されている。
例えばノード管理情報111aには、ノードID、監視サーバID、ホスト名、IPアドレス、MACアドレス、OS種別、文字コード種別、インタフェース名、接続履歴情報ID、フィルタ設定、ノードの死活監視、アプリケーションの稼働監視、アプリケーション名などのデータが設定されている。ノードIDのデータは、監視対象のVMの識別情報を示している。監視サーバIDのデータは、VMを監視する監視サーバの識別情報を示している。ホスト名のデータは、VMのホスト名を示している。IPアドレスのデータは、VMに設定されたIPアドレスを示している。MACアドレスのデータは、VMに設定されたMACアドレスを示している。OS種別のデータは、VMで動作しているOSの種別を示している。文字コード種別のデータは、VMで使用している文字コードの種別を示している。インタフェース名のデータは、VMが通信に使用しているインタフェースのデバイス名を示している。接続履歴情報IDのデータは、対応する接続履歴情報の識別番号を示している。フィルタ設定のデータは、VMに設定するフィルタの種別を示している。ノードの死活監視のデータは、VMの稼働状態の監視を行うかどうかを示している。アプリケーションの稼働監視のデータは、VMに導入されているアプリケーションソフトウェアの稼働状態の監視を行うか否かを示している。アプリケーション名のデータは、VMに導入されているアプリケーションソフトウェアの名称を示している。
図9は、接続履歴情報の一例を示す図である。接続履歴情報群112は、例えば接続履歴情報テーブル112aによって、接続履歴情報が管理されている。接続履歴情報テーブル112aは、各接続履歴情報をエントリとするデータテーブルである。接続履歴情報テーブル112aには、ID、監視サーバID、更新日時、IPアドレス、MACアドレス、ホスト名、および直前の履歴IDの欄が設けられている。
IDの欄には、接続履歴情報の識別番号が設定される。監視サーバIDの欄には、接続履歴情報を生成した監視サーバの識別情報が設定される。更新日時の欄には、接続履歴情報を生成したときの監視サーバにおける時刻が設定される。IPアドレスの欄には、接続履歴情報を生成したときのVMのIPアドレスが設定される。MACアドレスの欄には、接続履歴情報を生成したときのVMのMACアドレスが設定される。ホスト名の欄には、接続履歴情報を生成したときのVMのホスト名が設定される。直前の履歴IDの欄には、該当する接続履歴情報が付与されたVMがそれ以前に有していた、最も新しい接続履歴情報の識別番号が設定される。
接続履歴情報テーブル112aに登録された各接続履歴情報は、直前の履歴IDにより互いに関連付けられている。接続履歴間の関係は、ツリー構造で表される。
図10は、接続履歴間の関係を示すツリー構造を示す図である。始点40の下には、接続履歴情報テーブル112aにおいて、直前の履歴IDの欄に値が設定されていない接続履歴情報41〜43が接続されている。接続履歴情報41の下位には、接続履歴のIDが、直前の履歴IDの欄に設定された接続履歴情報44〜46が接続されている。このように、直前の履歴IDの値に基づいて、接続履歴情報がツリー構造で表される。
図11は、監視情報の一例を示す図である。監視情報群121は、例えば監視情報テーブル121aによって監視の結果取得された監視情報が管理されている。監視情報テーブル121aには、ID、種類、発生日時、重要度、メッセージテキスト、ノードID、および状態の欄が設けられている。
IDの欄には、監視情報の識別番号が設定される。種類の欄には、監視情報の種別が設定される。発生日時の欄には、監視情報の発生日時が設定される。重要度の欄には、イベント等の監視情報の重要度が設定される。メッセージテキストの欄には、監視情報を説明するメッセージの文字列が設定される。ノードIDの欄には、監視情報取得時の監視対象のVMに対応するノード管理情報のノードIDが設定される。状態の欄には、監視情報に対する対処の有無が設定される。対処の有無については、初期状態が「未対処」であり、対処が行われたときに、利用者の入力により「対処済」に変更される。
図12は、VMに保持される接続履歴情報ファイルの一例を示す図である。接続履歴情報ファイル211aには、監視サーバ100,100aからVM210への接続履歴情報が記録されている。接続履歴情報には、先頭から順に、監視サーバID、更新日時、IPアドレス、MACアドレス、およびホスト名が記録されている。
次に、第2の実施の形態におけるVMの監視処理について説明する。第2の実施の形態では、例えばVMが複製されることにより、同じ接続情報を有するVMが複数生成されても、各VMを区別することができる。
図13は、複製されたVMの区別例を示す図である。図13の例では、VMホスト200において、VM210を複製したVM220が生成されている。VM210,220は、それぞれ同じ接続情報(IPアドレス、MACアドレス、ホスト名)を有している。なお、接続情報が同一のVM210,220を、同時にネットワークに接続することはできない。図13の例では、VM220を生成時には、VM210がネットワークに接続されており、その後、VM210が停止されると共に、MACアドレスが「1」から「2」に変更されたVM220が起動されたものとする。さらにその後、VM220が停止されると共に、MACアドレスが「1」から「2」に変更されたVM210が起動されたものとする。
このようなVMホスト200におけるVM210,220の起動・停止が、監視サーバ100で監視される。例えば監視サーバ100の監視部130は、VM220が生成される前に、VM210から接続情報を受信する。受信したネットワーク情報に対して、監視部130は、監視サーバ100の時刻とユニークな監視サーバIDを付加した接続履歴情報61を作成する。例えば「[2014/01/01 00:00:00] [A][1][host1]」という接続履歴情報61が生成される。この接続履歴情報61は、更新日時、IPアドレス、MACアドレス、およびホスト名を並べたものである(図13の例では、監視サーバIDは省略されている)。接続履歴情報61に含まれる更新日時は、監視サーバ100の内部時計の時刻に基づいて設定される。
監視部130は、接続履歴情報を生成すると、VM210に対応するノード管理情報51を、構成管理DB110に格納する。また監視部130は、生成した接続履歴情報61をノード管理情報51に関連付け、構成管理DB110に格納する。また監視部130は、生成した接続履歴情報61をVM210に送信する。VM210では、接続履歴情報61の内容が、接続履歴情報ファイル211aに書き込まれる。
その後、監視部130は、接続履歴情報に含まれる接続情報と、現行の接続情報とが一致しないVMを検出すると、ノード管理情報52,53と接続履歴情報62,63とを新たに生成する。そして生成した接続履歴情報を、検出したVM210,220に送信して、接続履歴情報ファイル211a,221aを更新させることで、複製元のVM210と複製先のVM220とが区別可能となる。
例えばVM210が停止し、VM210から複製され、MACアドレスが「2」に変更されたVM220が起動されると、監視部130がVM220を検出する。すると監視部130は、VM220から接続履歴情報を取得する。このとき取得される履歴情報は、「[2014/01/01 00:00:00] [A][1][host1]」であり、MACアドレスがVM220のものと一致しない。そこでノード管理情報52と接続履歴情報62とが生成され構成管理DB110に格納されると共に、接続履歴情報62がVM220の接続履歴情報ファイル221aに書き込まれる。
なお、複製されたVM220が起動されたとき、複製元のVM210が動作中であり、MACアドレスによってVM210が動作中であることを確認できれば、監視サーバ100において、VM220が、VM210の複製であることを認識できる。この場合、監視サーバ100では、例えば、VM220が複製であることを、監視情報として監視情報DB120に記憶する。
その後、VM220が停止し、MACアドレスが「2」に変更された複製元のVM210が起動されると、監視部130がVM210を検出する。すると監視部130は、VM210から履歴情報を取得する。このとき取得される履歴情報は、「[2014/01/01 00:00:00] [A][1][host1]」であり、MACアドレスがVM210のものと一致しない。そこでノード管理情報53と接続履歴情報63とが生成され構成管理DB110に格納されると共に、接続履歴情報63がVM210の接続履歴情報ファイル211aに書き込まれる。
なお、MACアドレス変更後のVM210が起動されたとき、MACアドレス変更前の接続情報を有するVMは存在しないことを確認した監視サーバ100において、VM210に対するMACアドレスの変更が行われたことを認識できる。この場合、監視サーバ100では、例えば、VM210のMACアドレスが変更されたことを、監視情報として監視情報DB120に記憶する。
図13に示すように、複製されたVM220の接続履歴情報ファイル221aに記録された接続履歴情報と、設定変更されたVM210の接続履歴情報ファイル211aに記録された接続履歴情報とは異なる。そのため、接続履歴情報をキーに、複製されたVM220と設定変更されたVM210とを識別することができるようになる。しかも接続履歴情報群をツリー構造で管理し、ツリー構造を構成する各接続履歴情報にノード管理情報を関連付けることで、VMの複製・変更に関係なく、各々のVMを監視対象として区別することができる。
ここで、既存のVM210からの複製、または既存のVM210の接続情報の設定変更により、新たなノード管理情報を生成する場合、VM210のノード管理情報51がコピーされる。
図14は、ノード管理情報の生成例を示す図である。VM210を複製したVM220の接続情報223が変更されると、監視サーバ100は、接続履歴情報ファイル221aの内容が、VM210に対応するノード管理情報51と関連する接続履歴情報61に一致することを検出する。そして監視サーバ100は、VM210のノード管理情報51に基づいて、VM220に対応するノード管理情報52を生成する。例えば、監視サーバ100は、VM210に対応するノード管理情報51を複製し、MACアドレスを更新したものを、ノード管理情報52とする。
監視サーバ100は、新たに生成されたノード管理情報52を、VM220に接続した時刻を含む接続履歴情報62に関連付ける。接続履歴情報62は、VM220の接続履歴情報ファイル221aに追加される。
次に、監視サーバ100による、VM210,220の監視処理について詳細に説明する。なお、監視サーバ100の監視部130は、監視エージェント212を介して、例えば1分間隔でVM210,220の運用状態を監視する。また、監視部130は、同じタイミングで接続履歴情報の確認を行う。
図15は、監視処理の手順の一例を示すシーケンス図である。例えばVM210内の監視エージェント212が、ネットワークの接続情報を、監視部130に送信する(ステップS11)。例えば監視エージェント212は、1分間隔で、接続情報を送信する。また監視エージェント212は、接続履歴情報ファイル211aを読み込む(ステップS12)。そして監視エージェント212は、接続履歴情報ファイル211aに記載されている接続履歴情報を、監視部130に送信する(ステップS13)。
接続情報と接続履歴情報とを受信した監視部130は、VM210に接続履歴情報が存在しないか、あるいは最新の接続履歴情報内の接続情報と現在のVM210の接続情報とが一致しないかを判断する。何れかの要件が満たされる場合、監視部130は、監視サーバ100の時刻を付加した接続履歴情報を、監視エージェント212に送信する(ステップS14)。監視エージェント212は、受信した接続履歴情報を、接続履歴情報ファイル211aに書き込む(ステップS15)。
また監視部130は、ノード管理情報群111内の各ノード管理情報を読み込む(ステップS16)。次に監視部130は、接続履歴情報群112内の各接続履歴情報を読み込む(ステップS17)。
その後、監視部130は、VM210から取得した接続履歴情報と一致する接続履歴情報が、接続履歴情報群112内に存在しない場合、ノード管理情報群111内に、VM210に対応する新たなノード管理情報を追加する(ステップS18)。次に、監視部130は、追加したノード管理情報に対応付けて、取得した接続履歴情報を接続履歴情報群112に追加する(ステップS19)。
その後、監視エージェント212は、監視部130へ、VM210内の監視情報(イベントログなど)を送信する(ステップS20)。監視部130は、受信した監視情報に、VMに対応するノード管理情報のノードIDを付加して、監視情報群121に追加する(ステップS21)。
次に、監視部130における監視処理手順の詳細について説明する。
図16は、監視部における監視処理の手順の一例を示すフローチャートである。以下、図16に示す処理を、ステップ番号に沿って説明する。
[ステップS101]監視部130は、監視エージェント212を介して、VM210のネットワークの接続情報を取得する。
[ステップS102]監視部130は、監視エージェント212を介して、VM210の接続履歴情報を取得する。
[ステップS103]監視部130は、VM210に接続履歴情報ファイルが存在したか否かを確認する。例えば、新規に作成されたVM210を初めて監視対象とした場合、対応する接続履歴情報は存在しないこととなる。
[ステップS104]監視部130は、接続履歴情報ファイルが存在する場合、処理をステップS105に進める。また監視部130は、接続履歴情報ファイルが存在しない場合、処理をステップS107に進める。
[ステップS105]監視部130は、VMから取得した接続履歴情報のうちの時刻が最新の接続履歴情報における接続情報が、VM210の現在の接続情報と一致するか否かを確認する。
[ステップS106]監視部130は、接続情報が一致する場合、処理をステップS108に進める。また監視部130は、接続情報が一致しない場合、処理をステップS107に進める。
[ステップS107]監視部130は、監視サーバ100の内部時計が示す時刻を付加した接続履歴情報を、監視エージェント212に通知する。
[ステップS108]監視部130は、構成管理DB110内のノード管理情報群111と接続履歴情報群112とを読み込む。
[ステップS109]監視部130は、構成管理DB110内の接続履歴情報と、VM210から取得した接続履歴情報とを比較する。例えば監視部130は、図10に示すようなツリー構造から、VM210から取得した1以上の接続履歴情報の並びに沿って、始点40から順に、同じ接続履歴情報を探索する。VM210から取得したすべての接続履歴情報について、構成管理DB110内に対応する接続履歴情報があれば、構成管理DB110内の最後に見つかった接続履歴情報が、現在のVM210に対応する接続履歴情報となる。
[ステップS110]監視部130は、現在のVM210に対応する接続履歴情報が既に存在する場合、処理をステップS113に進める。また監視部130は、現在のVM210に対応する接続履歴情報が存在しない場合、処理をステップS111に進める。
[ステップS111]監視部130は、構成管理DB110のノード管理情報群111に、現在のVM210に対応するノード管理情報を追加する。例えば監視部130は、図10に示すツリー構造上で、接続履歴情報が分岐する元の接続履歴情報に対応するノード管理情報を複写する。分岐元が始点40の場合は、監視部130は、初期値が設定されたノード管理情報を生成する。そして監視部130は、複写または生成されたノード管理情報内の接続情報の値を、現在のVM210の接続情報の値に変更する。
[ステップS112]監視部130は、追加したノード管理情報に関連付けて、構成管理DB110の接続履歴情報群112に、接続履歴情報を追加する。追加される接続履歴情報の内容は、現在のVM210の接続履歴情報ファイル211aの最後にエントリされた接続履歴情報と同じである。
[ステップS113]監視部130は、VM210の監視エージェント212を介して、監視情報を取得する。
[ステップS114]監視部130は、取得した監視情報に、VM210に対応するノード管理情報のノードIDを付加し、監視情報DB120に格納する。例えば、異常が通知されている場合は、VM210のノード管理情報を示すノードIDと共に、異常内容が格納される。
なお監視部130は、ノード管理情報の追加および接続履歴情報の追加が行われた場合、監視対象のVM210が、他のVMの複製なのか、あるいは、既存のVMのアドレスを変更したものなのかを判断し、判断結果を監視情報に含めてもよい。例えば、監視部130は、構成管理DB110から、監視対象のVM210への接続履歴情報追加前の、そのVM210の接続履歴情報ファイル211a内の最後の接続履歴情報に対応するノード管理情報を探索する。そして監視部130は、該当するノード管理情報に対応するVMへの接続を試みる。接続できた場合、監視部130は、複製されたVMであると判断し、判断結果を、監視情報として監視情報DB120に格納する。接続できなかった場合、監視部130は、接続情報が変更されたVMであると判断し、判断結果を、監視情報として監視情報DB120に格納する。
[ステップS115]監視部130は、一定時間(例えば1分)待機する。
[ステップS116]監視部130は、監視処理が終了か否かを判断する。例えば監視部130は、監視処理の終了を示す入力が行われた場合、監視処理終了と判断する。終了であれば、処理が終了する。監視終了でなければ、処理がステップS101に進められる。
以上のようにして、各VMを適切に区別した監視が可能となる。以下、VMの状態について、起こり得る場合ごとに、VMを区別した監視例を説明する。起こり得る場合とは、「VMに変更がない場合」、「VMを新規に追加した場合」、「VMが複製された場合」、「VMの接続情報が変更された場合」、「接続履歴情報は異なるが接続情報は同じVMが交互に起動された場合」、「VMのスナップショットが戻された場合」、及び「他監視サーバ配下のVMが移設された場合」である。
<VMに変更がない場合について>
同じ運用状態が継続しており、VMの変更がない場合、図16のステップS104で、接続履歴情報ファイルが存在すると判断される。そして、図16のステップS106で、接続情報が一致すると判断される。例えばVM210の接続履歴情報ファイル211aの最後に登録された接続履歴情報に含まれる接続情報(IPアドレス、MACアドレス、ホスト名)と、VM210の現在の接続情報とが比較され、一致すると判断される。
その後、図16のステップS110において、構成管理DB110の接続履歴情報群に、VMから取得した接続履歴情報と一致する接続履歴情報が存在すると判断される。
図17は、接続履歴情報の存在の有無判断例を示す図である。例えばVM220の接続履歴情報ファイル221aに、「0001, 20140101000000, 192.168.0.1, 00-00-00-00-00-01, host1」と「0001, 20140101001000, 192.168.0.2, 00-00-00-00-00-02, host1」との接続履歴情報が書き込まれているものとする。構成管理DB110には、複数の接続履歴情報41〜46がツリー構造で接続されており、接続履歴情報41〜46それぞれは、ノード管理情報71〜76に関連付けられている。
監視部130は、構成管理DB110の接続履歴情報群を示すツリー構造の始点40から、接続履歴情報ファイル221aに含まれる接続履歴情報と一致する接続履歴情報を辿り、接続履歴情報ファイル221aと一致する接続履歴情報を確定する。例えば、始点40直下の接続履歴情報41〜43のうち、接続履歴情報ファイル221a内の最初の接続履歴情報「0001, 20140101000000, 192.168.0.1, 00-00-00-00-00-01, host1」と一致する接続履歴情報41が検出される。次に、接続履歴情報41直下の接続履歴情報44〜46のうち、接続履歴情報ファイル221a内の2番目の接続履歴情報「0001, 20140101001000, 192.168.0.2, 00-00-00-00-00-02, host1」と一致する接続履歴情報46が検出される。接続履歴情報46が、接続履歴情報ファイル221a内の接続履歴情報と一致する接続履歴情報として確定する。
そこで、監視部130は、接続履歴情報46に対応するノード管理情報76に示される監視設定に従って、VM220を監視する。
<VMを新規に追加した場合について>
次に、複製や設定変更ではない、新規のVMが生成された場合における、監視処理について説明する。
新規のVMが生成された場合、そのVMは接続履歴情報ファイルを有していない。そのため監視部130において、図16のステップS104で、接続履歴情報ファイルが存在しないと判断され、ステップS107で接続履歴情報が通知される。そして新規に作成されたVMにおいて接続履歴情報ファイルが作成される。
その後、図16のステップS110において、構成管理DB110内に、VMに通知した接続履歴情報と一致する接続履歴情報が存在しないと判断され、対応するノード管理情報と接続履歴情報とが、構成管理DB110に追加される。新規に作成されたVMに対応する接続履歴情報は、直前の履歴IDの欄(図9参照)が空欄であり、ツリー構造上は、始点40の直下に接続される。また新規に作成されたVMのノード管理情報における監視設定については、処理の初期値が設定される。利用者は、初期値が設定されたノード管理情報の監視設定を、任意に変更できる。そして、監視部130は、新たに生成したノード管理情報76に示される監視設定に従って、新規に追加されたVMを監視する。
<VMが複製された場合について>
次に、VMが複製された場合について説明する。既存のVMの複製は、例えば、複製元のVMと同じ構成のVMを、複製元のVMと同じ用途で利用するために行われる。複製されたVMは、ネットワークに接続するための接続情報を変更して起動されるものとする。
複製されたVMでは、接続履歴情報ファイルについても、接続元のものが複製される。そのため、複製されたVMが監視対象となると、図16のステップS104で、接続履歴情報ファイルが存在すると判断される。しかし、図16のステップS106において、接続情報が一致しないと判断され、現在の接続情報に基づく接続履歴情報が、監視対象のVMの接続履歴情報ファイルに追加される。
その後、図16のステップS110において、構成管理DB110内に、VMに通知した接続履歴情報と一致する接続履歴情報が存在しないと判断され、対応するノード管理情報と接続履歴情報とが、構成管理DB110に追加される(図14参照)。この際、追加されるノード管理情報は、複製元のVMに対応するノード管理情報を複写することで生成される。そして、監視部130は、追加されたノード管理情報に示される監視設定に従って、複製されたVMを監視する。
このようにして、複製されたVMに対応するノード管理情報が、監視サーバ100上に追加され、利用者は複製元のVMと同じ設定で、複製されたVMの監視が可能になる。
<VMの接続情報が変更された場合について>
次に、既存のVMの接続情報を変更された場合について説明する。
既存のVMの接続情報が変更され、その後、そのVMが監視対象になると、図16のステップS104で、接続履歴情報ファイルが存在すると判断される。しかし、図16のステップS106において、接続情報が一致しないと判断され、現在の接続情報に基づく接続履歴情報が、監視対象のVMの接続履歴情報ファイルに追加される。
その後、図16のステップS110において、構成管理DB110内に、VMに通知した接続履歴情報と一致する接続履歴情報が存在しないと判断され、対応するノード管理情報と接続履歴情報とが、構成管理DB110に追加される(図14参照)。この際、追加されるノード管理情報は、複製元のVMに対応するノード管理情報を複写することで生成される。そして、監視部130は、追加されたノード管理情報に示される監視設定に従って、接続情報が変更されたVMを監視する。
このようにして、設定変更したVMに対応するノード管理情報が、監視サーバ100上に追加されるため、利用者は、変更元のノード管理情報と同じ設定でVMを監視できる。
<接続履歴情報は異なるが接続情報は同じVMが、交互に起動された場合について>
既存の2つのVMにテンポラリの接続情報を割り当て、交互に使用する場合がある。例えば、一方のVMを使用している間、他方のVMのバックアップなどの保守作業を行う場合などがある。
図18は、接続履歴情報は異なるが接続情報は同じVMの例を示す図である。例えば、VM210からVM220が複製されたとき、VM220のMACアドレスが変更されたものとする。VM220が生成された時点では、VM220の接続履歴情報ファイル221aの内容は、VM210の接続履歴情報ファイル211aと同じである。VM220に対する最初の監視処理において、VM220の接続情報223と、接続履歴情報ファイル221a内の最新の接続履歴情報に含まれる接続情報とが相違するため、接続履歴情報ファイル221aが更新される。その後、VM220の接続情報223のMACアドレスとホスト名とが変更されると、再度、接続履歴情報ファイル221aが更新される。またVM210の接続情報213のホスト名が更新されると、その後の監視処理によって、接続履歴情報ファイル211aが更新される。その結果、VM210とVM220との接続情報213,223が同じになっている。
以後、VM210,220それぞれに対する監視処理では、図16のステップS104において、接続履歴情報ファイルが存在すると判断される。また、図16のステップS106において、ネットワークの接続情報が一致すると判断される。
そして図16のステップS110において、構成管理DB110内に、VM210,220それぞれの最新の接続履歴情報と一致する接続履歴情報が存在すると判断される。ただし、ステップS110における判定は、接続履歴情報ファイル211a,221aに登録された接続履歴情報の順に、構成管理DB110内の接続履歴情報群112のツリー構造を始点40から辿ることとなる。VM220の接続履歴情報ファイル221aには、VM210の接続履歴情報ファイル211aと異なる接続履歴情報「監視サーバID:0001 [2014/01/01 00:10:00][A][2][host1]」が含まれる。そのためVM210に対応する構成管理DB110内の接続履歴情報と、VM220に対応する構成管理DB110内の接続履歴情報とは別となる。その結果、監視サーバ100において、VM210とVM220とが別のVMであることが認識される。すなわち監視サーバ100上で、VM210とVM220とが、各々別のVMとして監視される。
このようにして、VMの複製や接続情報の変更により、接続情報が同じVMが複数生成され、交互に使用される場合でも、各VMを区別して監視することができる。
<VMのスナップショットが戻された場合について>
VMのスナップショットを作成した後、そのスナップショットを用いて、VMを過去の状態に戻す場合がある。この場合、ネットワークの接続情報も以前の状態で、VMが起動される。
以前の状態に戻されたVMが監視対象となった場合、図16のステップS104では、接続履歴情報ファイルが存在すると判断される。また、図16のステップS106では、接続情報が一致すると判断される。そして、図16のステップS110では、接続履歴情報ファイルに含まれる接続履歴情報に該当する接続履歴情報が、構成管理DB110内に存在すると判断される。
図19は、スナップショットが戻された場合の接続履歴情報の比較例を示す図である。例えばVM210の接続情報が一度変更された後、変更前に取得したスナップショットにより、VM210が過去の状態に戻されたものとする。その場合、VM210の接続履歴情報ファイル211aに含まれる接続履歴情報に沿って、構成管理DB110内の接続履歴情報群のツリー構造を辿ると、始点40直下の接続履歴情報41で探索が終了する。そして、その接続履歴情報41に対応するノード管理情報71が、現在のVM210に対応するノード管理情報71に決定される。その結果、ノード管理情報71に示される監視設定に従って、スナップショット作成当時と同じ設定で監視が行われる。
このように、スナップショットが戻されることで、VMが過去の状態に戻された場合、スナップショット作成当時の設定で、VMを監視することができる。
<他監視サーバ配下のVMが移設された場合について>
複数のVMホスト200,200aが、それぞれ別のネットワークシステムを構成している場合がある。この場合、各ネットワークシステムは、個別の監視サーバでVMが監視される。このとき、別のVMホストで監視されているネットワーク間で、VMを移設(マイグレーション)させることができる。テンポラリの接続情報を利用していると、VMを別のシステムに移設させることにより、接続情報が重複する複数のVMが、移設先のワークシステム上に同時に存在してしまう可能性がある。第2の実施の形態は、接続履歴情報に監視サーバのIDを付与するため、VMがネットワークシステムを跨がって移設されても、移設先のネットワークシステム上で、各VMを確実に識別できる。
図20は、他監視サーバ配下のVMが移設された場合の例を示す図である。図20の例は、監視サーバIDが「0002」の監視サーバ100aで監視されていたVM220が、監視サーバIDが「0001」の監視サーバ100の監視下に移設された場合を示している。監視サーバ100配下には、既にVM210が動作しており、VM210の接続情報213とVM220の接続情報223とが一致している。
この場合、移設されたVM220を監視対象として監視処理が行われると、図16のステップS104では、接続履歴情報ファイルが存在すると判断される。図16のステップS106では、接続情報が一致すると判断される。
新たに監視を開始した監視サーバ100においては、構成管理DB110で、VM220の接続履歴情報ファイル221aに示された、監視サーバID「0002」の接続履歴情報を管理してない。そのため、図16のステップS110では、対応する接続履歴情報が存在しないと判断される。その結果、構成管理DB110に、ノード管理情報と接続履歴情報とが追加される。その後、監視サーバ100に追加されたVM220に対応するノード管理情報に従って、移設されたVM220が監視される。
このように、他の監視サーバ100a配下のVM220が、監視サーバ100配下に移設されたとき、以前から監視サーバ100配下にあったVM210と接続情報が同じであっても、異なるVMとして監視することができる。
以上、実施の形態を例示したが、実施の形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。さらに、前述した実施の形態のうちの任意の2以上の構成(特徴)を組み合わせたものであってもよい。
1 物理マシン
1−1,1−2 VM
1a−1,1a−2 履歴情報
10 管理装置
11 記憶部
11a,11b,11c 識別情報
11d,11e,11f 管理情報
12 演算部

Claims (8)

  1. コンピュータに、
    ネットワーク接続のためのアドレスが設定された管理対象の複数の仮想マシンより、前記コンピュータの内部時刻に基づく識別情報を記憶しておらず、第1のアドレスが設定された第1の仮想マシンを検出したとき、該検出時における前記コンピュータの内部時刻に基づく第1の識別情報を、前記第1の仮想マシンに記憶させ、
    前記複数の仮想マシンのなかから、前記第1の識別情報を記憶していると共に、アドレスが前記第1のアドレスから第2のアドレスに変更されている前記第1の仮想マシン、または前記第1の識別情報を記憶した前記第1の仮想マシンの複製であり、前記第1の識別情報を記憶していると共に、アドレスが前記第1のアドレスから前記第2のアドレスに変更されている第2の仮想マシンを検出したとき、該検出時における前記コンピュータの内部時刻に基づく第2の識別情報を、検出した前記第1の仮想マシンまたは前記第2の仮想マシンに記憶させる、
    処理を実行させる管理プログラム。
  2. 前記コンピュータに、さらに、
    前記第1の仮想マシンと前記第2の仮想マシンそれぞれが記憶する前記第1または第2の識別情報に基づいて、前記第1の仮想マシンと前記第2の仮想マシンとを識別する、
    処理を実行させる請求項1記載の管理プログラム。
  3. 前記コンピュータに、さらに、
    前記第1の識別情報を記憶していると共に、アドレスが前記第1のアドレスから前記第2のアドレスに変更されている仮想マシンを検出した時点で、前記第1のアドレスにより、前記第1の識別情報を記憶している前記第1の仮想マシンに接続可能なとき、検出した該仮想マシンが、前記第1の仮想マシンの複製である前記第2の仮想マシンであると判断し、
    前記第1の識別情報を記憶していると共に、アドレスが前記第1のアドレスから前記第2のアドレスに変更されている仮想マシンを検出した時点で、前記第1のアドレスにより、前記第1の識別情報を記憶している前記第1の仮想マシンに接続できないとき、検出した該仮想マシンが、アドレス設定を変更した前記第1の仮想マシンであると判断する、
    処理を実行させる請求項2記載の管理プログラム。
  4. 前記コンピュータに、さらに、
    前記第1の仮想マシンに前記第1の識別情報を記憶させたとき、記憶させた前記第1の識別情報に対応付けて、前記第1の仮想マシンの管理に用いる第1の管理情報を、記憶装置に格納し、
    前記第2の仮想マシンに前記第2の識別情報を記憶させたとき、前記第2の仮想マシン検出時点で前記第2の仮想マシンが記憶する前記第1の識別情報に対応する前記第1の管理情報の複製を、前記第2の仮想マシンの管理に用いる第2の管理情報として、前記記憶装置に格納する、
    処理を実行させる請求項1乃至3のいずれかに記載の管理プログラム。
  5. 前記第1の識別情報を前記第1の仮想マシンに記憶させる際には、前記第1の仮想マシンに設定された前記第1のアドレスを、前記第1の識別情報に含め、
    前記第2の識別情報を前記第1の仮想マシンまたは前記第2の仮想マシンに記憶させる際には、記憶する前記第1の識別情報に含まれる前記第1のアドレスが、ネットワーク接続のために設定された現在のアドレスと異なる仮想マシンを、アドレスが前記第1のアドレスから前記第2のアドレスに変更されている前記第1の仮想マシンまたは前記第2の仮想マシンとして検出する、
    請求項1乃至4のいずれかに記載の管理プログラム。
  6. 前記第1の識別情報を前記第1の仮想マシンに記憶させる際には、前記コンピュータを識別する装置識別情報を、前記第1の識別情報に含め、
    前記第2の識別情報を前記第1の仮想マシンまたは前記第2の仮想マシンに記憶させる際には、前記コンピュータを識別する前記装置識別情報を、前記第2の識別情報に含める、
    請求項1乃至5のいずれかに記載の管理プログラム。
  7. コンピュータが、
    ネットワーク接続のためのアドレスが設定された管理対象の複数の仮想マシンのなかから、前記コンピュータの内部時刻に基づく識別情報を記憶しておらず、第1のアドレスが設定された第1の仮想マシンを検出したとき、該検出時における前記コンピュータの内部時刻に基づく第1の識別情報を、前記第1の仮想マシンに記憶させ、
    前記複数の仮想マシンのなかから、前記第1の識別情報を記憶していると共に、アドレスが前記第1のアドレスから第2のアドレスに変更されている前記第1の仮想マシン、または前記第1の識別情報を記憶した前記第1の仮想マシンの複製であり、前記第1の識別情報を記憶していると共に、アドレスが前記第1のアドレスから前記第2のアドレスに変更されている第2の仮想マシンを検出したとき、該検出時における前記コンピュータの内部時刻に基づく第2の識別情報を、検出した前記第1の仮想マシンまたは前記第2の仮想マシンに記憶させる、
    管理方法。
  8. 管理装置であって、
    演算部を有し、
    前記演算部は、
    ネットワーク接続のためのアドレスが設定された管理対象の複数の仮想マシンのなかから、前記管理装置の内部時刻に基づく識別情報を記憶しておらず、第1のアドレスが設定された第1の仮想マシンを検出したとき、該検出時における前記管理装置の内部時刻に基づく第1の識別情報を、前記第1の仮想マシンに記憶させ、
    前記複数の仮想マシンのなかから、前記第1の識別情報を記憶していると共に、アドレスが前記第1のアドレスから第2のアドレスに変更されている前記第1の仮想マシン、または前記第1の識別情報を記憶した前記第1の仮想マシンの複製であり、前記第1の識別情報を記憶していると共に、アドレスが前記第1のアドレスから前記第2のアドレスに変更されている第2の仮想マシンを検出したとき、該検出時における前記管理装置の内部時刻に基づく第2の識別情報を、検出した前記第1の仮想マシンまたは前記第2の仮想マシンに記憶させる、
    管理装置。
JP2015045788A 2015-03-09 2015-03-09 管理プログラム、管理方法、および管理装置 Expired - Fee Related JP6447258B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015045788A JP6447258B2 (ja) 2015-03-09 2015-03-09 管理プログラム、管理方法、および管理装置
US15/006,620 US10048978B2 (en) 2015-03-09 2016-01-26 Apparatus and method for identifying a virtual machine having changeable settings

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015045788A JP6447258B2 (ja) 2015-03-09 2015-03-09 管理プログラム、管理方法、および管理装置

Publications (2)

Publication Number Publication Date
JP2016167124A JP2016167124A (ja) 2016-09-15
JP6447258B2 true JP6447258B2 (ja) 2019-01-09

Family

ID=56887683

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015045788A Expired - Fee Related JP6447258B2 (ja) 2015-03-09 2015-03-09 管理プログラム、管理方法、および管理装置

Country Status (2)

Country Link
US (1) US10048978B2 (ja)
JP (1) JP6447258B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6447258B2 (ja) * 2015-03-09 2019-01-09 富士通株式会社 管理プログラム、管理方法、および管理装置
EP3255548A1 (en) 2016-06-09 2017-12-13 Mastercard International Incorporated Method and systems for monitoring changes for a server system
EP3255563A1 (en) * 2016-06-09 2017-12-13 Mastercard International Incorporated Method and systems for monitoring changes for a server system
CN106331150B (zh) * 2016-09-18 2018-05-18 北京百度网讯科技有限公司 用于调度云服务器的方法和装置
JP7030412B2 (ja) * 2017-01-24 2022-03-07 キヤノン株式会社 情報処理システム、及び制御方法
TW201941127A (zh) * 2018-03-20 2019-10-16 日商日本電氣股份有限公司 管理裝置、管理系統、管理方法及管理程式
CN110932845B (zh) * 2019-12-31 2021-12-03 山东英信计算机技术有限公司 一种代理端注册方法、系统及相关装置

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006079350A (ja) 2004-09-09 2006-03-23 Hitachi Software Eng Co Ltd Pcの物理的位置管理システム
US8949827B2 (en) * 2007-06-22 2015-02-03 Red Hat, Inc. Tracking a virtual machine
US8984504B2 (en) * 2007-06-22 2015-03-17 Red Hat, Inc. Method and system for determining a host machine by a virtual machine
US8966082B2 (en) * 2009-02-10 2015-02-24 Novell, Inc. Virtual machine address management
EP2482496B1 (en) * 2009-09-24 2018-11-28 Nec Corporation Identification system for inter-virtual-server communication and identification method for inter-virtual-server communication
US8705513B2 (en) * 2009-12-15 2014-04-22 At&T Intellectual Property I, L.P. Methods and apparatus to communicatively couple virtual private networks to virtual machines within distributive computing networks
JP5708937B2 (ja) * 2010-01-08 2015-04-30 日本電気株式会社 構成情報管理システム、構成情報管理方法、及び構成情報管理用プログラム
JP2011198299A (ja) * 2010-03-23 2011-10-06 Fujitsu Ltd プログラム、コンピュータ、通信装置および通信制御システム
US20140297597A1 (en) * 2010-09-27 2014-10-02 Hitachi, Ltd. Computer system and management method for the same
US8443365B2 (en) * 2010-11-03 2013-05-14 Hewlett-Packard Development Company, L.P. Methods and systems to clone a virtual machine instance
JP5568776B2 (ja) * 2010-11-05 2014-08-13 株式会社日立製作所 計算機のモニタリングシステム及びモニタリング方法
JP2012243255A (ja) * 2011-05-24 2012-12-10 Intelligent Willpower Corp バーチャルマシン提供システム
JP5725191B2 (ja) * 2011-09-22 2015-05-27 富士通株式会社 電源管理装置、電源管理方法および電源管理プログラム
JP2013114271A (ja) 2011-11-24 2013-06-10 Hitachi Ltd 計算機システムおよび計算機資源の管理方法
US8726277B2 (en) * 2012-01-24 2014-05-13 Microsoft Corporation Domain controller safety-features and cloning
JP5951274B2 (ja) 2012-02-15 2016-07-13 Kddi株式会社 重複macアドレスを特定するネットワーク監視システムおよび監視方法
US9069640B2 (en) * 2012-03-23 2015-06-30 Hitachi, Ltd. Patch applying method for virtual machine, storage system adopting patch applying method, and computer system
WO2013149343A1 (en) * 2012-04-03 2013-10-10 Gridcentric Inc. Method and system for memory oversubscription for virtual machines
US8782809B2 (en) * 2012-11-09 2014-07-15 International Business Machines Corporation Limiting information leakage and piracy due to virtual machine cloning
JP6079476B2 (ja) * 2013-06-26 2017-02-15 富士通株式会社 分析支援プログラム、分析支援装置、および分析支援方法
US9729660B2 (en) * 2013-07-24 2017-08-08 Netapp, Inc. Method and system for detecting virtual machine migration
CN104581652B (zh) * 2013-10-15 2018-12-07 华为技术有限公司 消息处理方法、选择mme的方法和装置
US9634948B2 (en) * 2013-11-07 2017-04-25 International Business Machines Corporation Management of addresses in virtual machines
US9787633B2 (en) * 2013-12-05 2017-10-10 Vmware, Inc. System and method for dynamically configuring a DHCP server in a virtual network environment
US10079797B2 (en) * 2014-10-29 2018-09-18 Vmware, Inc. Methods, systems and apparatus to remotely start a virtual machine
US9626221B2 (en) * 2015-02-24 2017-04-18 Red Hat Israel, Ltd. Dynamic guest virtual machine identifier allocation
JP6447258B2 (ja) * 2015-03-09 2019-01-09 富士通株式会社 管理プログラム、管理方法、および管理装置
US9305147B1 (en) * 2015-06-08 2016-04-05 Flexera Software Llc Preventing license exploitation using virtual namespace devices

Also Published As

Publication number Publication date
US10048978B2 (en) 2018-08-14
US20160266924A1 (en) 2016-09-15
JP2016167124A (ja) 2016-09-15

Similar Documents

Publication Publication Date Title
JP6447258B2 (ja) 管理プログラム、管理方法、および管理装置
CN114341792B (zh) 存储集群之间的数据分区切换
US9727273B1 (en) Scalable clusterwide de-duplication
US10949401B2 (en) Data replication in site recovery environment
US7644301B2 (en) Fault management system in multistage copy configuration
JP2017529628A (ja) マルチテナントアプリケーションサーバ環境においてパッチングをサポートするためのシステムおよび方法
JP2009288836A (ja) 仮想サーバのシステム障害回復方法及びそのシステム
JP2010009552A (ja) ソフトウェア構成要素をバックアップするためのコンピュータ・システム、並びにその方法及びコンピュータ・プログラム
CN112199356B (zh) 故障处理方法、装置、服务器以及存储介质
CN112214411A (zh) 一种容灾系统测试方法、装置、设备及存储介质
JP2014044553A (ja) プログラム、情報処理装置および情報処理システム
US11500854B2 (en) Selective data synchronization to troubleshoot production environment failures
US11281550B2 (en) Disaster recovery specific configurations, management, and application
US8112598B2 (en) Apparatus and method for controlling copying
JP6558037B2 (ja) 運用管理プログラム、運用管理方法、および運用管理装置
US11086649B2 (en) Minimizing downtime of highly available virtual machines
JP7492839B2 (ja) 構成管理装置、構成管理方法、及び、構成管理プログラム
US11537712B2 (en) Security system, storage medium storing computer program, and data diagnostic method
CN113986450A (zh) 一种虚拟机备份方法及装置
CN111090491B (zh) 虚拟机任务状态的恢复方法、装置及电子设备
CN108959604B (zh) 维护数据库集群的方法、装置及计算机可读存储介质
JP5466740B2 (ja) 仮想サーバのシステム障害回復方法及びそのシステム
US11847031B2 (en) Database recovery and database recovery testing
US20220229741A1 (en) Protecting databases in a clusterless availability group
CN118276783A (zh) 存储集群之间的数据分区切换

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180115

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180828

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180831

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181026

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181119

R150 Certificate of patent or registration of utility model

Ref document number: 6447258

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees