JP2011248658A - 仮想サーバデプロイ管理装置及び方法、そのプログラム - Google Patents
仮想サーバデプロイ管理装置及び方法、そのプログラム Download PDFInfo
- Publication number
- JP2011248658A JP2011248658A JP2010121591A JP2010121591A JP2011248658A JP 2011248658 A JP2011248658 A JP 2011248658A JP 2010121591 A JP2010121591 A JP 2010121591A JP 2010121591 A JP2010121591 A JP 2010121591A JP 2011248658 A JP2011248658 A JP 2011248658A
- Authority
- JP
- Japan
- Prior art keywords
- information
- virtual server
- program
- failure
- server
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Abstract
【課題】イメージファイルから仮想サーバをデプロイする際に発生する可能性がある障害を列挙し、障害の影響範囲を特定する。
【解決手段】仮想サーバ101、102、111,112を計算機システム10,11にデプロイする際に、イメージファイル151、152からOSに適用されているパッチとインストールされているプログラムの設定ファイルの内容を読み取り、予め管理しているシステムの構成情報147、適用済みのOSのパッチ、プログラムの設定情報146、および障害情報145から、仮想サーバの未適用のパッチや現環境と異なるプログラム設定によって発生する可能性のある障害とその影響範囲を管理者に表示する。
【選択図】図1
【解決手段】仮想サーバ101、102、111,112を計算機システム10,11にデプロイする際に、イメージファイル151、152からOSに適用されているパッチとインストールされているプログラムの設定ファイルの内容を読み取り、予め管理しているシステムの構成情報147、適用済みのOSのパッチ、プログラムの設定情報146、および障害情報145から、仮想サーバの未適用のパッチや現環境と異なるプログラム設定によって発生する可能性のある障害とその影響範囲を管理者に表示する。
【選択図】図1
Description
本発明は、仮想サーバデプロイ管理装置及び方法、そのプログラムに係り、特に、仮想化システムおいてイメージファイルから仮想サーバをデプロイする際に発生する可能性があるシステム障害とその影響範囲を特定する技術に関する。
近年、計算機システム内で稼働する計算機資源(リソース)の有効活用、及びシステム構築・構成変更の作業量軽減を目的として、サーバ仮想化技術を使用した仮想化システムが盛んに導入されている。仮想化システムは、物理サーバが有するCPUやメモリ等のリソースを複数台の仮想サーバに割振って使用することができ、物理サーバの台数を削減してもシステムを運用することが可能となる。
物理サーバ上で稼働する仮想サーバはイメージファイルとして保存されており、バックアップや置換、資源の割り当て変更等が容易であるため、稼働中の仮想サーバのイメージファイルのバックアップを取得しておけば、障害発生時にもシステム停止時間を大幅に短縮することができる。例えば、特許文献1には、物理サーバの負荷が低い時間帯に仮想サーバのバックアップを作成することで、仮想環境の二重化を効率的に行う方法が開示されている。
また、計算機システム内で発生する障害の影響範囲を特定するため、従来から様々な技術が提案されている。最近では、仮想化システムの普及に従い、障害発生時には物理サーバだけでなく仮想サーバへの影響も考慮する必要が生じてきている。特許文献2には、物理デバイスと仮想デバイス間の接続情報と各デバイスの障害情報から、障害発生時の仮想サーバへの影響範囲を自動的に特定する技術が開示されている。
特許文献1及び2に記載の仮想化技術は、いずれもシステム内で既に稼働実績のある仮想サーバのみを対象としたものであり、他の仮想化システムからインポートされて内部の仮想サーバの状態が不明なイメージファイルを扱う場合に、そのイメージファイルからデプロイする仮想サーバがシステムに対してどのような影響与えるかについては考慮されていない。このため、仮想サーバをイメージファイルで扱うことによる利点を十分に発揮できない。
システム内で稼働実績のないイメージファイルから仮想サーバをデプロイする場合には、最新のOSやアプリケーションのパッチや設定が適用されておらず、ウイルス感染や稼働中のシステム内の他のプログラムとのバージョンの互換がとれない、或いは稼働中のシステムに適さない設定で動作する、といった原因でシステム障害が発生する可能性がある。また、仮想サーバが他のどのサーバにアクセスするかが不明なため、障害が発生した場合の既存システムへの影響範囲を特定することが困難である。
そのため、従来の仮想化システムの運用では、仮想サーバをイメージファイルから既存のシステムにデプロイする際に、一旦検疫用ネットワークに仮想サーバをデプロイし、各種パッチ・設定情報収集用のプログラムをインストール、または外部から情報収集可能な状態に設定変更してから状態を確認する必要がある。これでは手順が煩雑であり、確認作業に時間を要する。
本発明は、上記のような課題を解決するものであり、仮想化システムにおいてイメージファイルから仮想サーバをデプロイする際に発生する可能性がある障害を列挙し、障害の影響範囲を特定することが可能とすることにある。
本発明に係る仮想サーバのデプロイ管理装置は、好ましくは、あるOSの基で動作する物理サーバ上に構築される仮想サーバを含む計算機システムにおける仮想サーバのデプロイ管理装置であって、
仮想サーバのテンプレートとして作成されたイメージファイルから適用済みの該OSのパッチ、プログラムの設定情報を取得する仮想サーバイメージ取得部と、該計算機システムに存在する該物理サーバや該仮想サーバの構成情報を管理するシステム構成情報管理部と、該計算機システムに発生した障害の原因と影響範囲を管理する障害情報管理部と、前記仮想サーバイメージ読取部から取得した該パッチや該設定情報と、前記構成情報管理部から取得した該計算機システムが要求する該パッチや該設定情報との差分を求め、該差分に基づいて前記障害情報管理部から取得したシステムの障害情報を検索して、仮想サーバをデプロイする時に発生し得る障害の影響範囲を特定する影響範囲導出部と、を有することを特徴とする仮想サーバデプロイ管理装置として構成される。
仮想サーバのテンプレートとして作成されたイメージファイルから適用済みの該OSのパッチ、プログラムの設定情報を取得する仮想サーバイメージ取得部と、該計算機システムに存在する該物理サーバや該仮想サーバの構成情報を管理するシステム構成情報管理部と、該計算機システムに発生した障害の原因と影響範囲を管理する障害情報管理部と、前記仮想サーバイメージ読取部から取得した該パッチや該設定情報と、前記構成情報管理部から取得した該計算機システムが要求する該パッチや該設定情報との差分を求め、該差分に基づいて前記障害情報管理部から取得したシステムの障害情報を検索して、仮想サーバをデプロイする時に発生し得る障害の影響範囲を特定する影響範囲導出部と、を有することを特徴とする仮想サーバデプロイ管理装置として構成される。
好ましい例では、前記仮想サーバデプロイ管理装置は、前記イメージファイルを管理すると共に、該イメージファイルを基に仮想サーバをデプロイする仮想化管理プログラムを有し、前記仮想サーバイメージ読取部は、該仮想化管理プログラムが管理する仮想サーバのイメージファイルから、仮想サーバを起動することなくファイルの内容を直接読み込んで情報を収集する。
また、好ましくは、前記システム構成情報管理部は、前記仮想化管理プログラムと該計算機システム内の管理対象のサーバや各種プログラムと通信してシステム構成情報を収集し、トポロジーを作成して管理者用の表示装置に表示する。
また、好ましくは、前記障害情報管理部は、該計算機システム内の管理対象のサーバや各種プログラムと通信して第1の障害情報を収集し、又は管理者によって入力装置から入力された、該計算機システムの外部で発生した第2の障害情報を収集して管理し、前記影響範囲導出部は該第1及び第2の障害情報を用いて前記影響範囲を特定する。
また、好ましくは、前記影響範囲導出部は、仮想サーバをデプロイする時に、仮想サーバイメージ読取部が提供するOSに適用済のパッチと各種プログラム設定の情報を基に、前記障害情報管理部が収集した前記第1及び第2の障害情報を検索し、前記システム構成情報管理部が提供するシステム構成情報に対して障害の影響を受けるサーバや各種プログラムを特定する。
また、一例では、該計算機システムを構成する、物理サーバや仮想サーバのノードの識別子、ノードの種別、ノードの名称、ノードのIPアドレス、メモリ容量、OSの種別、OSのバージョン、プログラム情報、上位ノードの識別子の情報を管理するシステム構成情報テーブルと、
計算機システム内又はその外で発生する障害の種別、発生したノードの識別子、発生日時、現象、原因プログラムの名称とバージョン及びその詳細、原因の種別及び説明、障害の影響先に関する情報を管理する障害情報テーブルと、
イメージファイルを含むファイルシステム中に格納されるデータからOS種別を判定するためのファイルの格納先と、パッチやプログラムの一覧情報、各プログラムの設定情報の取得先を管理するOS・パッチ・プログラム収集先テーブルとを有し、
前記システム構成情報管理部は、関連する情報を収集して、前記システム構成情報テーブルに記憶して管理し、
前記障害情報管理部は、関連する障害情報を収集して、前記障害情報テーブルに記憶して管理し、
前記影響範囲導出部は、前記OS・パッチ・プログラム収集先テーブルを参照して、該パッチや該設定情報を取得する。
また、好ましくは、前記システム構成情報管理部は、前記仮想化管理プログラムと該計算機システム内の管理対象のサーバや各種プログラムと通信してシステム構成情報を収集し、トポロジーを作成して管理者用の表示装置に表示する。
また、好ましくは、前記障害情報管理部は、該計算機システム内の管理対象のサーバや各種プログラムと通信して第1の障害情報を収集し、又は管理者によって入力装置から入力された、該計算機システムの外部で発生した第2の障害情報を収集して管理し、前記影響範囲導出部は該第1及び第2の障害情報を用いて前記影響範囲を特定する。
また、好ましくは、前記影響範囲導出部は、仮想サーバをデプロイする時に、仮想サーバイメージ読取部が提供するOSに適用済のパッチと各種プログラム設定の情報を基に、前記障害情報管理部が収集した前記第1及び第2の障害情報を検索し、前記システム構成情報管理部が提供するシステム構成情報に対して障害の影響を受けるサーバや各種プログラムを特定する。
また、一例では、該計算機システムを構成する、物理サーバや仮想サーバのノードの識別子、ノードの種別、ノードの名称、ノードのIPアドレス、メモリ容量、OSの種別、OSのバージョン、プログラム情報、上位ノードの識別子の情報を管理するシステム構成情報テーブルと、
計算機システム内又はその外で発生する障害の種別、発生したノードの識別子、発生日時、現象、原因プログラムの名称とバージョン及びその詳細、原因の種別及び説明、障害の影響先に関する情報を管理する障害情報テーブルと、
イメージファイルを含むファイルシステム中に格納されるデータからOS種別を判定するためのファイルの格納先と、パッチやプログラムの一覧情報、各プログラムの設定情報の取得先を管理するOS・パッチ・プログラム収集先テーブルとを有し、
前記システム構成情報管理部は、関連する情報を収集して、前記システム構成情報テーブルに記憶して管理し、
前記障害情報管理部は、関連する障害情報を収集して、前記障害情報テーブルに記憶して管理し、
前記影響範囲導出部は、前記OS・パッチ・プログラム収集先テーブルを参照して、該パッチや該設定情報を取得する。
本発明に係る仮想サーバのデプロイ管理方法は、好ましくは、あるOSの基で動作する物理サーバ上に構築される仮想サーバを含む計算機システムにおける仮想サーバのデプロイ管理方法であって、該仮想サーバを計算機システムにデプロイするときに、仮想サーバのテンプレートとして作成されたイメージファイルから該OSに適用されているパッチとインストールされているプログラムの設定ファイルの内容を読み取り、予め記憶手段に保持していたシステムの構成情報と障害情報を参照して、デプロイ対象の仮想サーバに適用されていないパッチやプログラムの設定変更の差分が存在するかを判定し、デプロイ対象の該仮想サーバに未適用のパッチや現環境と異なるプログラム設定によって発生する可能性のある障害とその影響範囲を求めることを特徴とするデプロイ管理方法として構成される。
好ましくは、仮想サーバのデプロイを管理する管理サーバが有する仮想サーバイメージ取得部によって、仮想サーバのテンプレートとして作成されたイメージファイルから適用済みの該OSのパッチ、プログラムの設定情報を取得し、
該管理サーバが有する構成情報管理部によって、該計算機システムに存在する該物理サーバや該仮想サーバの構成情報を管理し、
該管理サーバが有する障害情報管理部によって、該計算機システムに発生した障害の原因と影響範囲を管理し、
該管理サーバが有する影響範囲導出部によって、
前記仮想サーバイメージ読取部から取得した該パッチや該設定情報と、前記構成情報管理部から取得したシステムが要求する該パッチや該設定情報との差分を求めて、該差分に基づいて前記障害情報管理部から取得したシステムの障害情報を検索して、仮想サーバをデプロイする時に発生し得る障害の影響範囲を特定する。
該管理サーバが有する構成情報管理部によって、該計算機システムに存在する該物理サーバや該仮想サーバの構成情報を管理し、
該管理サーバが有する障害情報管理部によって、該計算機システムに発生した障害の原因と影響範囲を管理し、
該管理サーバが有する影響範囲導出部によって、
前記仮想サーバイメージ読取部から取得した該パッチや該設定情報と、前記構成情報管理部から取得したシステムが要求する該パッチや該設定情報との差分を求めて、該差分に基づいて前記障害情報管理部から取得したシステムの障害情報を検索して、仮想サーバをデプロイする時に発生し得る障害の影響範囲を特定する。
本発明に係る仮想サーバデプロイ管理用プログラムは、好ましくは、あるOSの基で動作する物理サーバ上に構築される仮想サーバを含む計算機システムにおいて仮想サーバをデプロイする管理サーバで実行される仮想サーバデプロイ管理用プログラムであって、該仮想サーバを計算機システムにデプロイするときに、仮想サーバのテンプレートとして作成されたイメージファイルからOSに適用されているパッチとインストールされているプログラムの設定ファイルの内容を読み取り、予め記憶手段に保持していたシステムの構成情報と障害情報を参照して、デプロイ対象の仮想サーバに適用されていないパッチやプログラムの設定変更の差分が存在するかを判定し、デプロイ対象の該仮想サーバに未適用のパッチや現環境と異なるプログラム設定によって発生する可能性のある障害とその影響範囲を求める、ことを特徴とする仮想サーバデプロイ用プログラムとして構成される。
本発明によれば、計算機システムにおいてイメージファイルから仮想サーバをデプロイする際に発生する可能性がある障害を列挙し、障害の影響範囲を特定することが可能となる。より具体的には、仮想サーバのデプロイ時にイメージファイル中に格納されている仮想サーバに、計算機システムに必要なOSやプログラムのパッチや各種設定が適用されているかを判定し、仮想サーバをデプロイする場合に既存の計算機システムに与える影響を特定することが可能となる。
以下、本発明の実施形態を、図面を用いて説明する。
図1は一実施による計算機システムの構成を示す。この計算機システムは、複数の物理サーバ10、11と、ストレージ装置12と、管理サーバ14が、ネットワークスイッチ13を介して接続されて構成される。
図1は一実施による計算機システムの構成を示す。この計算機システムは、複数の物理サーバ10、11と、ストレージ装置12と、管理サーバ14が、ネットワークスイッチ13を介して接続されて構成される。
物理サーバ10,11及び管理サーバ14は、例えばPC(パーソナルコンピュータ)或いはワークステーションで構成される。なお、各サーバ間及びそれらとストレージ装置12の間の接続は、図示のネットワークスイッチ13に限らず、LANで直接接続することも可能である。また、図示のストレージ装置12は必須ではなく、OSや業務プログラムが格納され、システム内からアクセスが可能であれば、単純なディスク装置等の記憶手段でもよい。
物理サーバ10,11は、それぞれOS(図示せず)、及び仮想サーバを制御するためのハイパーバイザ103、113を有する。ハイパーバイザは、VMM(VIRTUAL Machine Monitor)或いは仮想化機構と呼ばれることがある。ハイパーバイザ103、113は、専用OSタイプのものやOS上で通常のプログラムとして動作するタイプもののいずれも動作可能である。ハイパーバイザ103、113がOS上で動作するタイプの場合は、物理サーバ10,11に備えられたOSが動作する。ハイパーバイザ103、113は、管理サーバ14の仮想化管理プログラム150と通信し、仮想化管理プログラム150から仮想サーバのデプロイ、起動、停止、アンデプロイ、マイグレーション等の各種操作命令を受け付け、自身が管理する仮想サーバ101、102、111、112に対してそれらの命令を実行する。
ハイパーバイザ103上には仮想サーバ101、102が構築され、ハイパーバイザ113上には、仮想サーバ111、112が構築され。それぞれの仮想サーバ101及び102、111及び112は、仮想化管理プログラム150が有する仮想サーバイメージファイル151、152を基にハイパーバイザ103及び113によって作成される。仮想サーバ101〜112は、物理サーバ10,11と同様に、OS、各種業務プログラムを備え、物理サーバ10,11のCPUやメモリ等のリソースを使用して動作する。また、物理サーバ10,11上のネットワークインターフェイスを介して、システム内の他の装置と通信する。
管理サーバ14は、仮想化管理プログラム150、影響範囲導出部141、障害情報管理部142、システム構成情報管理部143、仮想サーバイメージ読取部144、障害情報テーブル145、OS・パッチ・プログラム情報収集先テーブル146、システム構成情報テーブル147を有する。なお、OS・パッチ・プログラム情報収集先テーブル146は便宜上の表現であり、これは後述する、OS情報収集先テーブル1461、パッチ情報収集先テーブル1462、ログラム情報収集先テーブル1463をそれぞれ指す。
仮想化管理プログラム150は、システム管理者がシステム内のハイパーバイザ、仮想サーバを統合管理するためのプログラムであり、前述した仮想サーバに対する各種操作を受け付け、ハイパーバイザに対して命令を送信する。また、仮想サーバが稼働しているハイパーバイザや物理サーバの情報を保持しており、仮想サーバ、ハイパーバイザ、物理サーバのトポロジー情報を提供する。さらに、仮想サーバのバックアップやテンプレートとしてのイメージファイル151、152を管理する。システム管理者は必要に応じて、このイメージファイルを基に仮想サーバをデプロイする。イメージファイルは、OSの他のファイルと同様のものであり、システム間で容易にインポート・エクスポートすることができる。
システム構成情報管理部143は、仮想化管理プログラム150と連携してシステム内で稼働する物理サーバ、仮想サーバ、ストレージ装置の情報を収集し、トポロジーを作成して、システム構成情報管理テーブル147に書き込む。また、システム管理者や影響範囲導出部141からの要求に応じて、システム構成情報管理テーブル147の情報を読み出す。ここで、システム管理者というときには、システム管理者が入出力装置(図示せず)を介して必要な入動作を行うこと、又は入出力装置にシステム管理者のための必要な情報を表示、出力することをいう。
障害情報管理部142は、システム内の物理サーバ10、11、仮想サーバ101〜112、ストレージ装置12、及びそれらの上で稼働するOSや各種プログラムの障害情報を収集し、障害情報管理テーブル145に書き込む。また、システム管理者や影響範囲導出部からの要求に応じて、障害情報管理テーブル145の情報を読み出す。
仮想サーバイメージ読取部144は、影響範囲導出部141からの要求に応じ、仮想化管理プログラム150が管理する仮想サーバのイメージファイル152から、仮想サーバが持つファイルの内容を読み取る。
仮想サーバイメージ読取部144は、影響範囲導出部141からの要求に応じ、仮想化管理プログラム150が管理する仮想サーバのイメージファイル152から、仮想サーバが持つファイルの内容を読み取る。
影響範囲導出部141は、システム管理者又は仮想化管理プログラム150が仮想サーバをイメージファイルからデプロイする際に、障害情報管理部142、システム構成情報管理部143、仮想サーバイメージ読取部144を制御し、イメージファイル中の仮想サーバに適用されているOSのパッチ情報、設定ファイルの内容を読み取り、未適用パッチや設定ファイルの内容によって発生する可能性がある障害の一覧と、それらの影響範囲を特定する。
なお、計算機システムを構成する各機器のハードウェアは図示していないが、物理サーバ及び管理サーバは、それぞれプロセッサ、メモリ、ハードディスク(HD)のような外部記憶装置、及び入出力装置を有しており、プロセッサで所定のプログラムが実行されることで、上記した各部の機能及び後述するフローチャートによる処理を実現する。また、各種テーブルは、メモリ又はハードディスク等の記憶部に保管して管理される。
図2はシステム構成情報テーブルを示す。
システム構成情報テーブル147は、計算機システムを構成する各要素の情報を管理するものであり、ノードID(識別子)200、ノード種別201、名称202、CPU203、IPアドレス204、メモリ容量205、HD(ハードディスク)容量206、OS情報207として種別210、Ver(バージョン)211、プログラム情報208として名称212、Ver(バージョン)213、インストール先214、上位ノードID209、等の情報を保管して管理する。
システム構成情報テーブル147は、計算機システムを構成する各要素の情報を管理するものであり、ノードID(識別子)200、ノード種別201、名称202、CPU203、IPアドレス204、メモリ容量205、HD(ハードディスク)容量206、OS情報207として種別210、Ver(バージョン)211、プログラム情報208として名称212、Ver(バージョン)213、インストール先214、上位ノードID209、等の情報を保管して管理する。
ノードID200は各サーバやプログラムを一意に識別するための文字列であり、システム構成情報管理部143が自動的に採番する。ノード種別201は、各サーバ又はプログラムの種別に応じて、「物理サーバ」、「ハイパーバイザ」、「仮想サーバ」等の値を設定する。名称202、CPU203、IPアドレス204、メモリ容量205、HD容量206には、それぞれのサーバから収集した項目の値を設定する。OS情報207には、同様に収集したOSの種別とバージョンを、プログラム情報208には、同様に収集したプログラムの名称とバージョン、インストール先の一覧を設定する。上位ノードID209は、ハイパーバイザがどの物理サーバで動作しているか、仮想サーバがどのハイパーバイザで動作しているか、といった階層関係を表すものであり、仮想化管理プログラム150から収集した情報を基に上位のノードのノードID200を設定する。
図3は、システム構成情報テーブル147から作成されたトポロジーイメージの例示である。
このトポロジーイメージは、システム構成情報管理部143の制御によりシステム構成情報テーブル147の情報を用いて作成される。システム構成情報テーブル147中のノードと、そのノードの上位ノードID、プログラム情報等を抽出して、それらの関係をツリー図として作成する。システム管理者に既存のシステム構成を提示する場合、このようなトポロジーイメージの表示が管理者に理解し易い。
このトポロジーイメージは、システム構成情報管理部143の制御によりシステム構成情報テーブル147の情報を用いて作成される。システム構成情報テーブル147中のノードと、そのノードの上位ノードID、プログラム情報等を抽出して、それらの関係をツリー図として作成する。システム管理者に既存のシステム構成を提示する場合、このようなトポロジーイメージの表示が管理者に理解し易い。
図4は障害情報テーブルを示す。
障害情報テーブル145は、障害の現象や原因を記録するためのものであり、登録種別400、発生ノードID401、発生日時402、現象403、原因プログラム404として名称407とVer(バージョン)408、詳細409、原因405として種別410、説明411、影響先406、等の情報を保管して管理する。
障害情報テーブル145は、障害の現象や原因を記録するためのものであり、登録種別400、発生ノードID401、発生日時402、現象403、原因プログラム404として名称407とVer(バージョン)408、詳細409、原因405として種別410、説明411、影響先406、等の情報を保管して管理する。
登録種別400は、「発生」又は、「情報」等の値を指定する。このテーブルには、この計算機システム内で発生した障害だけでなく、外部で発生した障害情報も入力することができる。登録種別400はこれらを区別するための情報である。外部とは、当該管理サーバ14が管理する当該計算機システム以外のサーバや計算機システムをいう。「発生」は自システム内で発生した障害、「情報」は外部から提供される障害情報を意味する。外部から提供される情報は、管理者が手動で登録するか、各種OSやプログラムのベンダ、セキュリティソフトウェアベンダ、ITシステムの問題点管理システム等の第三者から提供される情報をプログラム等で自動登録する。これにより、自システム内で発生した障害だけでなく、他のシステムからインポートして稼働させる仮想サーバにインストールされているOSやプログラムに対しても障害情報の検索を可能にする。
発生ノードID401には、障害が発生した物理サーバや仮想サーバのノード401を設定する。登録種別400が「情報」の場合で、該当するノードが存在しない場合は空欄になる。発生日時402には障害が発生した日時を設定し、現象403には障害の現象を設定する。原因プログラム404には、障害の原因となったプログラムの名称407及びそのバージョン408、詳細409を設定する。詳細409には、障害を引き起こす直接の原因となったファイルのパスと、ファイル中の設定項目が記載されている行数を設定する。詳細409には、複数のファイル名と該当部分の行数を記録することができる。原因405の種別410には、「設定誤り」「バージョンアップ」等の原因を分類するための情報を、説明411には、原因405の説明を設定する。影響先406には、障害によって影響を受けたノードのノードID200を設定し、また登録種別400が「情報」の場合で、該当するノードが存在しない場合は影響を受けるノードの種別を設定する。
次に、図5〜図7を参照して、OS・パッチ・プログラム情報収集先テーブルについて説明する。
OS・パッチ・プログラム情報収集先テーブル146は、イメージファイルを含むファイルシステム中に格納されるデータからOS種別を判定するためのファイルの格納先と、パッチやプログラムの一覧情報、各プログラムの設定情報の取得先を管理する。例えば、ファイルシステムがNTFSでOSの種別がWindows(マイクロソフト社の登録商標)の場合、適用済のパッチ情報はレジストリに記録されており、レジストリはファイルとして保存されているため、プログラムを用いて読み取ることができる。これらの情報をOSやプログラムごとにこのテーブルに格納しておき、デプロイ時に仮想サーバのイメージファイルから、これらのファイルを検索してパッチや設定の適用状態の情報を収集する。この検索処理については後述する。
OS・パッチ・プログラム情報収集先テーブル146は、イメージファイルを含むファイルシステム中に格納されるデータからOS種別を判定するためのファイルの格納先と、パッチやプログラムの一覧情報、各プログラムの設定情報の取得先を管理する。例えば、ファイルシステムがNTFSでOSの種別がWindows(マイクロソフト社の登録商標)の場合、適用済のパッチ情報はレジストリに記録されており、レジストリはファイルとして保存されているため、プログラムを用いて読み取ることができる。これらの情報をOSやプログラムごとにこのテーブルに格納しておき、デプロイ時に仮想サーバのイメージファイルから、これらのファイルを検索してパッチや設定の適用状態の情報を収集する。この検索処理については後述する。
図5はOS情報収集先テーブルを示す。
OS情報収集先テーブル1461は、ファイルシステムの種別ごとのOS情報の格納先を管理し、ファイルシステム中に格納されるデータからOS種別を判定するための情報、具体的にはファイルシステム種別500と、OS情報格納先501の情報を保管して管理する。OS情報格納先501には、ファイルシステムが備える形式に従って、データ中のどの位置にOS種別を判定することができるファイルが格納されているかを設定する。
OS情報収集先テーブル1461は、ファイルシステムの種別ごとのOS情報の格納先を管理し、ファイルシステム中に格納されるデータからOS種別を判定するための情報、具体的にはファイルシステム種別500と、OS情報格納先501の情報を保管して管理する。OS情報格納先501には、ファイルシステムが備える形式に従って、データ中のどの位置にOS種別を判定することができるファイルが格納されているかを設定する。
図6はパッチ情報収集先テーブルを示す。
パッチ情報収集先テーブル1462は、OSごとのパッチ情報格納先、プログラム一覧情報格納先を管理し、OS種別502、OSバージョン503、パッチ情報格納先504、プログラム一覧情報格納先505の情報を管理する。OS種別502、OSバージョン503にはそれぞれOSの種別とバージョンを、パッチ情報格納先504にはOSごとにパッチ情報が記録されたファイルやディレクトリの名称を、またプログラム一覧情報格納先505にはOSごとにインストールされているプログラムの一覧情報を収集するためのファイルやディレクトリの名称を、それぞれ設定する。
パッチ情報収集先テーブル1462は、OSごとのパッチ情報格納先、プログラム一覧情報格納先を管理し、OS種別502、OSバージョン503、パッチ情報格納先504、プログラム一覧情報格納先505の情報を管理する。OS種別502、OSバージョン503にはそれぞれOSの種別とバージョンを、パッチ情報格納先504にはOSごとにパッチ情報が記録されたファイルやディレクトリの名称を、またプログラム一覧情報格納先505にはOSごとにインストールされているプログラムの一覧情報を収集するためのファイルやディレクトリの名称を、それぞれ設定する。
図7はプログラム情報収集先テーブルを示す。
プログラム情報収集先テーブル1463はプログラムごとの設定ファイル格納先を管理し、プログラム506、バージョン507、OS種別508、OSバージョン509、設定ファイル格納先510の情報を管理する。プログラム506、バージョン507には設定ファイル収集対象のプログラムとそのバージョンを、またOS種別508、OSバージョン509には、そのプログラムの動作OSの情報を設定する。設定ファイル格納先510には、インストールされたプログラムを構成するファイルの内、設定ファイルとしてプログラムの振る舞いを規定する情報が記載されているもののパスを設定する。
プログラム情報収集先テーブル1463はプログラムごとの設定ファイル格納先を管理し、プログラム506、バージョン507、OS種別508、OSバージョン509、設定ファイル格納先510の情報を管理する。プログラム506、バージョン507には設定ファイル収集対象のプログラムとそのバージョンを、またOS種別508、OSバージョン509には、そのプログラムの動作OSの情報を設定する。設定ファイル格納先510には、インストールされたプログラムを構成するファイルの内、設定ファイルとしてプログラムの振る舞いを規定する情報が記載されているもののパスを設定する。
図8は、仮想サーバイメージファイルの適用済パッチ・設定ファイル一覧テーブルを示す。
このテーブルは、仮想サーバのイメージファイル内を検索して収集するパッチ情報、設定ファイル内容を管理する。即ち、種別600、名称601、設定ファイル情報602の名称603、格納先604、ファイル内容605の情報を格納する。このテーブルは、管理サーバ14には保存されず、後述する、仮想サーバデプロイ時の影響範囲検索処理の実行時に(図8)、仮想サーバのイメージファイルを読み込む処理の結果として生成される。
種別600には「パッチ」又は「プログラム」を設定し、名称601にはパッチの名称、又はプログラムの名称を設定する。設定ファイル情報602について、種別が「プログラム」の場合は、名称603、格納先604、ファイル内容605には、それぞれイメージファイルから検索した設定ファイルの名称と格納先、ファイルの内容を設定する。
このテーブルは、仮想サーバのイメージファイル内を検索して収集するパッチ情報、設定ファイル内容を管理する。即ち、種別600、名称601、設定ファイル情報602の名称603、格納先604、ファイル内容605の情報を格納する。このテーブルは、管理サーバ14には保存されず、後述する、仮想サーバデプロイ時の影響範囲検索処理の実行時に(図8)、仮想サーバのイメージファイルを読み込む処理の結果として生成される。
種別600には「パッチ」又は「プログラム」を設定し、名称601にはパッチの名称、又はプログラムの名称を設定する。設定ファイル情報602について、種別が「プログラム」の場合は、名称603、格納先604、ファイル内容605には、それぞれイメージファイルから検索した設定ファイルの名称と格納先、ファイルの内容を設定する。
次に、図9を参照して、システム構成情報収集処理について説明する。
この処理は、システム立ち上げ時に、システム構成情報管理部147が、仮想化管理プログラム150やシステム内の各サーバ10,11、101〜112、ストレージ装置12、ネットワークスイッチ13と通信して関係する情報を収集して、システム構成情報テーブル147及びトポロジーイメージ(図3)を作成する処理である。
まず、システム構成情報管理部147は、仮想化管理プログラム150と通信し、仮想化管理プログラム150が管理する物理サーバ10,11と、その物理サーバ上で動作するハイパーバイザ103,113、及び仮想サーバ101〜112等の情報を収集し、システム構成情報テーブル147のノードID200やノード種別201、各種設定情報と上位ノード209を設定する(S100)。
その後、情報を得た稼働中の各サーバと通信して、インストールされているプログラム等の情報を収集して、システム構成情報テーブルに書き込んだサーバ情報にプログラム等の情報も追加する(S101)。その後、前述の処理で得た情報を基に、システムのトポロジー(図3)を作成する(S102)。
この処理は、システム立ち上げ時に、システム構成情報管理部147が、仮想化管理プログラム150やシステム内の各サーバ10,11、101〜112、ストレージ装置12、ネットワークスイッチ13と通信して関係する情報を収集して、システム構成情報テーブル147及びトポロジーイメージ(図3)を作成する処理である。
まず、システム構成情報管理部147は、仮想化管理プログラム150と通信し、仮想化管理プログラム150が管理する物理サーバ10,11と、その物理サーバ上で動作するハイパーバイザ103,113、及び仮想サーバ101〜112等の情報を収集し、システム構成情報テーブル147のノードID200やノード種別201、各種設定情報と上位ノード209を設定する(S100)。
その後、情報を得た稼働中の各サーバと通信して、インストールされているプログラム等の情報を収集して、システム構成情報テーブルに書き込んだサーバ情報にプログラム等の情報も追加する(S101)。その後、前述の処理で得た情報を基に、システムのトポロジー(図3)を作成する(S102)。
次に、図10を参照して、イメージファイルから仮想サーバをデプロイし、デプロイによる影響範囲を特定してシステム管理者に表示する処理について説明する。
この処理は、影響範囲導出部141の制御により実行される。影響範囲導出部141によってデプロイ対象の仮想サーバイメージが指定されると、仮想サーバイメージ読取部144は、指定された仮想サーバイメージファイルから、仮想サーバのOS種別とインストールされているプログラムの一覧、OSパッチと各プログラムの設定情報を読み取り、適用済パッチ・設定ファイル一覧テーブル(図8)を生成する(S200)。この処理の詳細は図11を用いて後述する。
この処理は、影響範囲導出部141の制御により実行される。影響範囲導出部141によってデプロイ対象の仮想サーバイメージが指定されると、仮想サーバイメージ読取部144は、指定された仮想サーバイメージファイルから、仮想サーバのOS種別とインストールされているプログラムの一覧、OSパッチと各プログラムの設定情報を読み取り、適用済パッチ・設定ファイル一覧テーブル(図8)を生成する(S200)。この処理の詳細は図11を用いて後述する。
次に、デプロイの種別を判定する(S201)。デプロイには、既存の仮想サーバのホスト名やIPアドレス等を引き継いで置換するものと、新規のものを追加するものがある。S201の処理によってこれを判定し、その結果、置換の場合はS202へ進み、新規の場合はS205へ進む。
S202では、仮想サーバイメージ読取部が稼働中の置換対象の仮想サーバイメージから、S200の処理と同様に、仮想サーバのOS種別とインストールされているプログラムの一覧、OSパッチと各プログラムの設定情報を読み取り、適用済みパッチと設定ファイル一覧を生成する(S202)。
S202では、仮想サーバイメージ読取部が稼働中の置換対象の仮想サーバイメージから、S200の処理と同様に、仮想サーバのOS種別とインストールされているプログラムの一覧、OSパッチと各プログラムの設定情報を読み取り、適用済みパッチと設定ファイル一覧を生成する(S202)。
次に、S200とS202の処理で取得した仮想サーバのOS種別とプログラム一覧、OSのパッチ情報、各プログラムの設定情報を比較して(S203)、デプロイ対象の仮想サーバに適用されていないパッチや各プログラムの設定変更の差分が存在しないかどうかを判定する(S204)。この判定の結果、差分が存在しない場合は、デプロイ対象と置換対象が同じ状態であるため、そのままデプロイ可能である旨をシステム管理者に表示する(S206)。
一方、S201で新規デプロイと判定された場合、またはS204で差分情報が存在すると判定された場合は、パッチ・設定情報を入力として、影響情報の検索処理を実行する(S205)。この影響情報検索処理については、図16を参照して後述する。S205の処理で、影響情報が存在する場合、システム管理者に対して、図17に示すような、デプロイによってシステム内に起こり得る障害と、その影響範囲を表示する。
図11は、仮想サーバのイメージファイルから、仮想サーバのOS種別とプログラム一覧、OSのパッチ情報、各プログラムの設定情報を収集する仮想サーバイメージ読取処理の流れ(処理S200の詳細)を示す。
本来、OS種別、プログラム一覧、OSのパッチ情報、各プログラムの設定情報といった情報は、全て当該OSが管理するファイルに記憶されている。通常、OSが稼働する環境下でこれらの情報を取得する場合は、直接ファイルやレジストリにアクセスして読み出せばよい。しかし、仮想サーバのイメージファイルからこれらのファイルを参照する場合は、仮想サーバイメージファイルから当該ファイルの格納先を特定する必要がある。
本来、OS種別、プログラム一覧、OSのパッチ情報、各プログラムの設定情報といった情報は、全て当該OSが管理するファイルに記憶されている。通常、OSが稼働する環境下でこれらの情報を取得する場合は、直接ファイルやレジストリにアクセスして読み出せばよい。しかし、仮想サーバのイメージファイルからこれらのファイルを参照する場合は、仮想サーバイメージファイルから当該ファイルの格納先を特定する必要がある。
仮想サーバが取り扱うイメージファイルは、通常のOSが外部記憶装置に格納するHDイメージと同じ形式を有しているので、ファイルの格納先を示す情報をイメージファイルから探索して特定すればよい。しかし、OSが指定するファイルシステムごとにこれらの情報の格納方法等が異なるので、どのファイルシステムを使用しているかを事前に認識しなければならない。
本実施例では、後述の図12と図13に、現在の計算機システムで使用されている代表的なファイルシステムであるEXT2ファイルシステムとNTFSファイルシステムとにおける格納フォーマットを例示する。イメージファイルからどのファイルシステムにするかをまず特定し、各々のファイルシステムに応じてファイルの格納先の情報を探索する。そして目的とするファイルに格納された情報を読み出すことでOSに関する情報を取得する。
以降では、この処理を表した仮想サーバイメージ読取処理について記述する。この仮想サーバイメージ読取処理は、仮想サーバイメージ読取部144によって、図10のS200とS202で実行される。
仮想サーバイメージファイルは、各仮想化プログラムのベンダが規定する仮想ハードディスク形式で保存されているため、まずそれらの種別を判定する(S300、S301)。この判定は、仮想サーバイメージファイル中の仮想サーバのハードディスク構成等を記載した設定ファイルを読み取る、またはイメージファイルの拡張子を判定することで行う。判定の結果、外部からインポートしたイメージファイル等で、現環境の仮想化管理プログラムでサポートされていない形式(即ち対象外)であれば、処理を終了する。
仮想サーバイメージファイルは、各仮想化プログラムのベンダが規定する仮想ハードディスク形式で保存されているため、まずそれらの種別を判定する(S300、S301)。この判定は、仮想サーバイメージファイル中の仮想サーバのハードディスク構成等を記載した設定ファイルを読み取る、またはイメージファイルの拡張子を判定することで行う。判定の結果、外部からインポートしたイメージファイル等で、現環境の仮想化管理プログラムでサポートされていない形式(即ち対象外)であれば、処理を終了する。
一方、サポートされている仮想ハードディスク形式(即ちサポート対象)であれば、その形式用の読み込みモジュールを使用して読み込みを開始する(S302、S303)。仮想ハードディスク形式は、各ベンダから仕様が公開されており、実際のHD(ハードディスク)形式で読み取るためのインターフェイスが提供されている場合もあるため、それらに則った仮想ハードディスクの読み取りモジュールを作成することで、HD形式のデータを取得することができる。
HD形式のデータは、最初の512バイト中に、記録されているブートストラップローダとパーティショニングテーブルが格納されている。そのため、パーティショニングテーブルを読み込み(S302)、HD内のパーティションから起動可能なOSが格納されているパーティションを検索する。その後、当該パーティションのブートセクタを読み込み、ファイルシステムを判定する(S303)。なお、ブートセクタで判定できないファイルシステムであれば、必要に応じてそれ以外の領域も読み込む。ファイルシステムが当該システムでサポートしていない読み込み不可能なもの(対象外)の場合は処理を終了する(S304)。このHD形式のデータの概要は後述のファイルシステムからのファイルの読み取り処理の際に、図12、図13を用いて説明する。
HD形式のデータは、最初の512バイト中に、記録されているブートストラップローダとパーティショニングテーブルが格納されている。そのため、パーティショニングテーブルを読み込み(S302)、HD内のパーティションから起動可能なOSが格納されているパーティションを検索する。その後、当該パーティションのブートセクタを読み込み、ファイルシステムを判定する(S303)。なお、ブートセクタで判定できないファイルシステムであれば、必要に応じてそれ以外の領域も読み込む。ファイルシステムが当該システムでサポートしていない読み込み不可能なもの(対象外)の場合は処理を終了する(S304)。このHD形式のデータの概要は後述のファイルシステムからのファイルの読み取り処理の際に、図12、図13を用いて説明する。
一方、ファイルシステムがサポートしているもの(サポート対象)であれば、管理サーバ14上で動作するOSが、S303で判定したファイルシステムをマウントできるかどうかを判定する(S305)。判定の結果、マウント機能を持つOSであれば、読み込んだHD形式のデータをマウントし、通常のOSのファイルと同様にアクセスすることができるため、この機能を利用してイメージファイル内のファイルをOS上のファイルと同じように読み取ることができる。そのため、マウント可能と判断した場合には、以降のS307、S309、S312の処理を実行して、イメージファイルから読み込むファイルを、OSの提供するファイル読込機能を用いて読み込む。
S305の判定で、マウント不可能な形式のファイルシステムであると判定された場合は、以降のS307、S309、S312の処理で読み込むファイルは、図14、図15に従い、後述するファイルシステムからのファイル読込処理を経るものとする。
S305の判定で、マウント不可能な形式のファイルシステムであると判定された場合は、以降のS307、S309、S312の処理で読み込むファイルは、図14、図15に従い、後述するファイルシステムからのファイル読込処理を経るものとする。
次に、ファイルシステムのデータからOS種別を判定するため、OS情報収集先テーブル(図5)を読み込み(S306)、そのファイルの内容を読み込んで解析し、OS種別を取得する(S307)。そして、パッチ情報収集先テーブル(図6)を読み込み(S308)、それらのファイル、ディレクトリの内容を解析して、イメージファイル中の仮想サーバに適用されているパッチとインストールされているプログラムの一覧を取得する(S309)。次に、プログラム情報収集先テーブル(図7)からS309で取得したプログラムの一覧の設定ファイル格納先を読み込み(S310)、それらのファイルの内容を読み込む(S311〜S313)。
以上の処理により、仮想サーバイメージファイルから、OS種別とインストールプログラムの一覧、さらに図8に示したパッチ・設定情報ファイルの一覧を作成することができる。
なお、S307で示した、ファイルシステムからファイルの直接読み込み処理は、ファイルシステムごとに処理が異なる。そのため、本実施例ではEXT2とNTFSの概要を示し、それぞれのファイルシステムでのファイル内容の読み込み処理の例を記述する。
以上の処理により、仮想サーバイメージファイルから、OS種別とインストールプログラムの一覧、さらに図8に示したパッチ・設定情報ファイルの一覧を作成することができる。
なお、S307で示した、ファイルシステムからファイルの直接読み込み処理は、ファイルシステムごとに処理が異なる。そのため、本実施例ではEXT2とNTFSの概要を示し、それぞれのファイルシステムでのファイル内容の読み込み処理の例を記述する。
図12はEXT2の概要イメージを示す。
仮想サーバイメージファイルの内容の全体像を説明するため、図11のS302とS303で示した、仮想サーバイメージファイルとHDイメージの内容についても記載している。仮想サーバイメージファイルは、前述のように、仮想化製品ごとのフォーマットで記録されている。また、HDイメージはデータの先頭から順に、ブートストラップローダ701、パーティショニングテーブル702、各パーティション703、704という形式で記録されている。前述のように、図11のS302でHDイメージを読み込み、S307で、パーティション内のファイル・ディレクトリの読み込みを開始する。
仮想サーバイメージファイルの内容の全体像を説明するため、図11のS302とS303で示した、仮想サーバイメージファイルとHDイメージの内容についても記載している。仮想サーバイメージファイルは、前述のように、仮想化製品ごとのフォーマットで記録されている。また、HDイメージはデータの先頭から順に、ブートストラップローダ701、パーティショニングテーブル702、各パーティション703、704という形式で記録されている。前述のように、図11のS302でHDイメージを読み込み、S307で、パーティション内のファイル・ディレクトリの読み込みを開始する。
図14は、EXT2形式のパーティションからのファイル・ディレクトリ内容の読み取り処理の概要イメージを示す。以下、図12も参照しながら、図14の処理動作を説明する。
EXT2のパーティションは、データの先頭から順に、ブートセクタ705、ブロックグループ0(706)、ブロックグループ1(707)、…という領域に分かれている。ブートセクタ705はサイズが固定されており、OSを起動させるプログラム等が格納されている。ブロックグループ0(706)はOSの使用するファイルの情報のために予約されており、これを読み込むことによりファイル・ディレクトリの情報を取得することができる。そこでまず、ブートセクタ705を読み飛ばし、ブロックグループ0(706)を読み込む(S400)。ブロックグループ0(706)は、先頭から順に、スーパーブロック709、グループディスクリプタ710、データブロックビットマップ711、inodeビットマップ712、inodeテーブル713、データブロック716という領域に分かれており、各領域の大きさはスーパーブロック709に記録されている。このうち、ファイル・ディレクトリの情報はinodeテーブル713中のinode714、715に記録さており、ファイル・ディレクトリの実体となるデータ717、718はデータブロック716に記録されている。
EXT2のパーティションは、データの先頭から順に、ブートセクタ705、ブロックグループ0(706)、ブロックグループ1(707)、…という領域に分かれている。ブートセクタ705はサイズが固定されており、OSを起動させるプログラム等が格納されている。ブロックグループ0(706)はOSの使用するファイルの情報のために予約されており、これを読み込むことによりファイル・ディレクトリの情報を取得することができる。そこでまず、ブートセクタ705を読み飛ばし、ブロックグループ0(706)を読み込む(S400)。ブロックグループ0(706)は、先頭から順に、スーパーブロック709、グループディスクリプタ710、データブロックビットマップ711、inodeビットマップ712、inodeテーブル713、データブロック716という領域に分かれており、各領域の大きさはスーパーブロック709に記録されている。このうち、ファイル・ディレクトリの情報はinodeテーブル713中のinode714、715に記録さており、ファイル・ディレクトリの実体となるデータ717、718はデータブロック716に記録されている。
inode714は先頭から順に区分719、inode番号720、ユーザーID721等と、実データへのインデックス722から構成され、その大きさはスーパーブロック709に記録されている。inode714にはディレクトリを表すものとファイルを表すものの2種類が存在する。ディレクトリのinodeはデータ部分にディレクトリ内に存在する子ディレクトリやファイルのinodeの位置を記録しているため、inodeを親ディレクトリから順に読み出していくことで所定のファイルに辿りつくことができる。ファイルのinodeはデータ部分にファイル内容を記録している。
inodeテーブル713の開始位置はスーパーブロック709に記録されているため、スーパーブロック709を読み込み(S401)、その後、inodeテーブル713の開始位置を読み込み(S402)、inodeテーブル内に存在するルートディレクトリのinodeを起点として、ファイルパス中のディレクトリの読み込みを開始する(S403)。
その後、ルートディレクトリから順にディレクトリのinodeを読み込み(S405〜S407)、指定したファイルのinodeとそのinodeのインデックス722が示す実際のファイルのデータ717を読み込む(S408、S409)。
以上の手順によりEXT2形式のファイルシステムから指定したファイルの内容を読み取ることができる。
その後、ルートディレクトリから順にディレクトリのinodeを読み込み(S405〜S407)、指定したファイルのinodeとそのinodeのインデックス722が示す実際のファイルのデータ717を読み込む(S408、S409)。
以上の手順によりEXT2形式のファイルシステムから指定したファイルの内容を読み取ることができる。
図13はNTFSファイルシステムのデータ概要イメージを示す。
仮想サーバイメージファイルとHDイメージについては、図12と同様であるため説明は省略する。また、図15は、NTFS形式のパーティションからのファイル・ディレクトリ内容の読み取り処理の概要を示している。以下、図13も参照しながら、図15の処理動作を説明する。
NTFSのパーティションは、図13に示すように、データの先頭から順に、ブートセクタ805、MFT(Master File Table)806、データ領域810という領域に分かれている。ブートセクタ805はEXT2と同様にサイズが固定されており、OSを起動させるプログラム等が格納されている。MFT806はレコード807と呼ばれる1キロバイトから4キロバイトのサイズを持った領域に分割されている。レコード807は、一つがフォルダやファイルの情報に相当しており、先頭から順に、フォルダやファイルの基本情報814、名称815、アクセス権816、等が記録され、最後にデータ又はデータへのインデックス817を持つ。もしファイルサイズが小さい場合は、データの領域817にそのままデータを格納して、そのあとに未使用領域818が作成される。データのサイズが大きい場合は、データはデータ領域810に格納される。そのため、フォルダのレコードを順に読み込んでから、ファイルのレコードを読み込みデータ又はデータへのインデックス817を読み込むことで、ファイル内容の読み出しが可能になる。
仮想サーバイメージファイルとHDイメージについては、図12と同様であるため説明は省略する。また、図15は、NTFS形式のパーティションからのファイル・ディレクトリ内容の読み取り処理の概要を示している。以下、図13も参照しながら、図15の処理動作を説明する。
NTFSのパーティションは、図13に示すように、データの先頭から順に、ブートセクタ805、MFT(Master File Table)806、データ領域810という領域に分かれている。ブートセクタ805はEXT2と同様にサイズが固定されており、OSを起動させるプログラム等が格納されている。MFT806はレコード807と呼ばれる1キロバイトから4キロバイトのサイズを持った領域に分割されている。レコード807は、一つがフォルダやファイルの情報に相当しており、先頭から順に、フォルダやファイルの基本情報814、名称815、アクセス権816、等が記録され、最後にデータ又はデータへのインデックス817を持つ。もしファイルサイズが小さい場合は、データの領域817にそのままデータを格納して、そのあとに未使用領域818が作成される。データのサイズが大きい場合は、データはデータ領域810に格納される。そのため、フォルダのレコードを順に読み込んでから、ファイルのレコードを読み込みデータ又はデータへのインデックス817を読み込むことで、ファイル内容の読み出しが可能になる。
図15において、まず、ブートセクタ805を読み飛ばしてMFT806の読み込みを開始する(S450)。MFT806では、始めにOSのレコードが記載されており、この中でルートディレクトリを示すグローバル領域のレコードを読み込む(S451)。その後、ファイルごとに、ルートディレクトリから順にディレクトリのレコードを読み込み(S453〜S455)、指定したファイルのレコードとそのレコードが持つデータ又はデータのインデックス817が示すファイルのデータ811を読み込む(S456、S457)。
以上の手順によりNTFS形式のファイルシステムから指定したファイルの内容を読み取ることができる。
以上の手順によりNTFS形式のファイルシステムから指定したファイルの内容を読み取ることができる。
図16は影響範囲導出処理のフローチャートを示す。
この処理は、デプロイ対象の仮想サーバイメージに適用されていないパッチによって引き起こされる可能性がある障害、及び仮想サーバイメージのプログラムの設定が稼働中のシステムのものと異なっているために引き起こされる可能性がある障害を検索する影響情報の検索処理である。この影響情報検索処理は、S205(図10)の処理として実行される。
この処理は、デプロイ対象の仮想サーバイメージに適用されていないパッチによって引き起こされる可能性がある障害、及び仮想サーバイメージのプログラムの設定が稼働中のシステムのものと異なっているために引き起こされる可能性がある障害を検索する影響情報の検索処理である。この影響情報検索処理は、S205(図10)の処理として実行される。
図16において、まず、S200の処理(図10)で取得したデプロイ予定の仮想サーバのOS種別とプログラム一覧、S203(図10)で取得した未適用パッチ、未更新の設定項目の情報を入力として、これらの入力が該当する障害情報が存在するかを検索する(S500)。この検索は、障害情報テーブル145の原因種別410に「パッチ未適用」、「プログラムバージョン」、「設定変更」、「設定誤り」等のOSのパッチに関するものやプログラムのバージョンや設定に関するものが設定されており、原因プログラムの詳細409に該当のOS、プログラムのバージョンや未適用パッチ、未更新の設定項目の値が設定されているものを収集する。
次に、障害情報の有無を判定し(S501)、その結果、該当する障害情報が存在しなければ、デプロイによって障害が発生する可能性はないため、処理を終了する。一方、障害情報が存在する場合は、障害情報の導出の処理を実行する(S502)。即ち、システム構成情報管理部143が管理するシステム構成情報テーブル147を基に、障害が発生したノードとそのノードが関連するノードを列挙し、画面900(図17)を管理サーバ14の表示装置に表示して、デプロイを実行しようとした管理者に対して結果を提示する。
図17に示すように、画面900には、デプロイ対象の仮想サーバと、置換対象の稼働中のサーバとの差分情報901と、デプロイした場合に発生する可能性がある障害内容904、その障害によって影響を受ける他のノード902、903が表示される。
以上の処理により、計算機システムにおいてイメージファイルから仮想サーバをデプロイする際に発生する可能性がある障害を列挙し、障害の影響範囲を特定することが可能となる。
以上の処理により、計算機システムにおいてイメージファイルから仮想サーバをデプロイする際に発生する可能性がある障害を列挙し、障害の影響範囲を特定することが可能となる。
10、11:物理サーバ 101,102,111,112:仮想サーバ 103,113:ハイパーバイザ 12:ストレージ装置 121,122:ボリューム 13:ネットワークスイッチ
14:管理サーバ 141:影響範囲導出部 142:障害情報管理部 143:システム構成情報管理部 144:仮想サーバイメージ読取部 145:障害情報テーブル
146:OS・パッチ・プログラム情報収集先テーブル 1461:OS情報収集先テーブル 1462:パッチ情報収集先テーブル 1463:プログラム情報収集先テーブル
147:システム構成情報テーブル 150:仮想化管理プログラム 151:仮想サーバイメージファイル 152:仮想サーバイメージファイル。
14:管理サーバ 141:影響範囲導出部 142:障害情報管理部 143:システム構成情報管理部 144:仮想サーバイメージ読取部 145:障害情報テーブル
146:OS・パッチ・プログラム情報収集先テーブル 1461:OS情報収集先テーブル 1462:パッチ情報収集先テーブル 1463:プログラム情報収集先テーブル
147:システム構成情報テーブル 150:仮想化管理プログラム 151:仮想サーバイメージファイル 152:仮想サーバイメージファイル。
Claims (9)
- あるOSの基で動作する物理サーバ上に構築される仮想サーバを含む計算機システムにおける仮想サーバのデプロイ管理装置であって、
仮想サーバのテンプレートとして作成されたイメージファイルから適用済みの該OSのパッチ、プログラムの設定情報を取得する仮想サーバイメージ取得部と、
該計算機システムに存在する該物理サーバや該仮想サーバの構成情報を管理するシステム構成情報管理部と、
該計算機システムに発生した障害の原因と影響範囲を管理する障害情報管理部と、
前記仮想サーバイメージ読取部から取得した該パッチや該設定情報と、前記構成情報管理部から取得した該計算機システムが要求する該パッチや該設定情報との差分を求め、該差分に基づいて前記障害情報管理部から取得したシステムの障害情報を検索して、仮想サーバをデプロイする時に発生し得る障害の影響範囲を特定する影響範囲導出部と、を有することを特徴とする仮想サーバデプロイ管理装置。 - 前記仮想サーバデプロイ管理装置は、前記イメージファイルを管理すると共に、該イメージファイルを基に仮想サーバをデプロイする仮想化管理プログラムを有し、
前記仮想サーバイメージ読取部は、該仮想化管理プログラムが管理する仮想サーバのイメージファイルから、仮想サーバを起動することなくファイルの内容を直接読み込んで情報を収集することを特徴とする請求項1に記載の仮想サーバデプロイ管理装置。 - 前記システム構成情報管理部は、前記仮想化管理プログラムと該計算機システム内の管理対象のサーバや各種プログラムと通信してシステム構成情報を収集し、トポロジーを作成して管理者用の表示装置に表示することを特徴とする請求項2に記載の仮想サーバデプロイ管理装置。
- 前記障害情報管理部は、該計算機システム内の管理対象のサーバや各種プログラムと通信して第1の障害情報を収集し、又は管理者によって入力装置から入力された、該計算機システムの外部で発生した第2の障害情報を収集して管理し、前記影響範囲導出部は該第1及び第2の障害情報を用いて前記影響範囲を特定することを特徴とする請求項1に記載の仮想サーバデプロイ管理装置。
- 前記影響範囲導出部は、仮想サーバをデプロイする時に、仮想サーバイメージ読取部が提供するOSに適用済のパッチと各種プログラム設定の情報を基に、前記障害情報管理部が収集した前記第1及び第2の障害情報を検索し、前記システム構成情報管理部が提供するシステム構成情報に対して障害の影響を受けるサーバや各種プログラムを特定することを特徴とする請求項1に記載の仮想サーバデプロイ管理装置。
- 該計算機システムを構成する、物理サーバや仮想サーバのノードの識別子、ノードの種別、ノードの名称、ノードのIPアドレス、メモリ容量、OSの種別、OSのバージョン、プログラム情報、上位ノードの識別子の情報を管理するシステム構成情報テーブルと、
計算機システム内又はその外で発生する障害の種別、発生したノードの識別子、発生日時、現象、原因プログラムの名称とバージョン及びその詳細、原因の種別及び説明、障害の影響先に関する情報を管理する障害情報テーブルと、
イメージファイルを含むファイルシステム中に格納されるデータからOS種別を判定するためのファイルの格納先と、パッチやプログラムの一覧情報、各プログラムの設定情報の取得先を管理するOS・パッチ・プログラム収集先テーブルとを有し、
前記システム構成情報管理部は、関連する情報を収集して、前記システム構成情報テーブルに記憶して管理し、
前記障害情報管理部は、関連する障害情報を収集して、前記障害情報テーブルに記憶して管理し、
前記影響範囲導出部は、前記OS・パッチ・プログラム収集先テーブルを参照して、該パッチや該設定情報を取得することを特徴とする請求項1乃至5のいずれかの項に記載の仮想サーバデプロイ管理装置。 - あるOSの基で動作する物理サーバ上に構築される仮想サーバを含む計算機システムにおける仮想サーバのデプロイ管理方法であって、
該仮想サーバを計算機システムにデプロイするときに、仮想サーバのテンプレートとして作成されたイメージファイルから該OSに適用されているパッチとインストールされているプログラムの設定ファイルの内容を読み取り、予め記憶手段に保持していたシステムの構成情報と障害情報を参照して、デプロイ対象の仮想サーバに適用されていないパッチやプログラムの設定変更の差分が存在するかを判定し、デプロイ対象の該仮想サーバに未適用のパッチや現環境と異なるプログラム設定によって発生する可能性のある障害とその影響範囲を求めることを特徴とするデプロイ管理方法。 - 仮想サーバのデプロイを管理する管理サーバが有する仮想サーバイメージ取得部によって、仮想サーバのテンプレートとして作成されたイメージファイルから適用済みの該OSのパッチ、プログラムの設定情報を取得し、
該管理サーバが有する構成情報管理部によって、該計算機システムに存在する該物理サーバや該仮想サーバの構成情報を管理し、
該管理サーバが有する障害情報管理部によって、該計算機システムに発生した障害の原因と影響範囲を管理し、
該管理サーバが有する影響範囲導出部によって、
前記仮想サーバイメージ読取部から取得した該パッチや該設定情報と、前記構成情報管理部から取得したシステムが要求する該パッチや該設定情報との差分を求めて、該差分に基づいて前記障害情報管理部から取得したシステムの障害情報を検索して、仮想サーバをデプロイする時に発生し得る障害の影響範囲を特定することを特徴とする請求項7のデプロイ管理方法。 - あるOSの基で動作する物理サーバ上に構築される仮想サーバを含む計算機システムにおいて仮想サーバをデプロイする管理サーバで実行される仮想サーバデプロイ管理用プログラムであって、
該仮想サーバを計算機システムにデプロイするときに、仮想サーバのテンプレートとして作成されたイメージファイルからOSに適用されているパッチとインストールされているプログラムの設定ファイルの内容を読み取り、予め記憶手段に保持していたシステムの構成情報と障害情報を参照して、デプロイ対象の仮想サーバに適用されていないパッチやプログラムの設定変更の差分が存在するかを判定し、デプロイ対象の該仮想サーバに未適用のパッチや現環境と異なるプログラム設定によって発生する可能性のある障害とその影響範囲を求める、ことを特徴とする仮想サーバデプロイ管理用プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010121591A JP2011248658A (ja) | 2010-05-27 | 2010-05-27 | 仮想サーバデプロイ管理装置及び方法、そのプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010121591A JP2011248658A (ja) | 2010-05-27 | 2010-05-27 | 仮想サーバデプロイ管理装置及び方法、そのプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011248658A true JP2011248658A (ja) | 2011-12-08 |
Family
ID=45413837
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010121591A Pending JP2011248658A (ja) | 2010-05-27 | 2010-05-27 | 仮想サーバデプロイ管理装置及び方法、そのプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2011248658A (ja) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014006739A1 (ja) * | 2012-07-06 | 2014-01-09 | 株式会社日立製作所 | 管理計算機、基盤提供方法及びプログラム |
JP2015007842A (ja) * | 2013-06-24 | 2015-01-15 | 富士通株式会社 | ソフトウェア修正パッチ抽出プログラム、ソフトウェア修正パッチ抽出方法および情報処理装置 |
KR20160100399A (ko) * | 2013-12-24 | 2016-08-23 | 후아웨이 디바이스 컴퍼니 리미티드 | 지능형 단말기의 하드웨어가 비정상적으로 작동하는지 여부를 검사하는 방법 및 지능형 단말기 |
KR101812676B1 (ko) | 2016-03-16 | 2017-12-27 | (주)엔키아 | 가상화 통합관리 장치 |
US10146823B2 (en) | 2015-01-30 | 2018-12-04 | Fujitsu Limited | Relevant-information providing method, relevant-information providing apparatus, and relevant-information providing program |
CN115086143A (zh) * | 2022-04-28 | 2022-09-20 | 阿里巴巴(中国)有限公司 | 故障预警方法及装置 |
CN115357256A (zh) * | 2022-10-18 | 2022-11-18 | 安徽华云安科技有限公司 | 一种cdh集群部署方法和系统 |
-
2010
- 2010-05-27 JP JP2010121591A patent/JP2011248658A/ja active Pending
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014006739A1 (ja) * | 2012-07-06 | 2014-01-09 | 株式会社日立製作所 | 管理計算機、基盤提供方法及びプログラム |
JP2015007842A (ja) * | 2013-06-24 | 2015-01-15 | 富士通株式会社 | ソフトウェア修正パッチ抽出プログラム、ソフトウェア修正パッチ抽出方法および情報処理装置 |
KR20160100399A (ko) * | 2013-12-24 | 2016-08-23 | 후아웨이 디바이스 컴퍼니 리미티드 | 지능형 단말기의 하드웨어가 비정상적으로 작동하는지 여부를 검사하는 방법 및 지능형 단말기 |
JP2017506774A (ja) * | 2013-12-24 | 2017-03-09 | ▲華▼▲為▼▲終▼端有限公司 | インテリジェント端末のハードウェアが異常動作しているかどうかをチェックするための方法およびインテリジェント端末 |
US10055273B2 (en) | 2013-12-24 | 2018-08-21 | Huawei Device (Dongguan) Co., Ltd. | Method for checking whether hardware of intelligent terminal runs abnormally and intelligent terminal |
KR101944873B1 (ko) * | 2013-12-24 | 2019-04-17 | 후아웨이 디바이스 컴퍼니 리미티드 | 지능형 단말기의 하드웨어가 비정상적으로 작동하는지 여부를 검사하는 방법 및 지능형 단말기 |
US10146823B2 (en) | 2015-01-30 | 2018-12-04 | Fujitsu Limited | Relevant-information providing method, relevant-information providing apparatus, and relevant-information providing program |
KR101812676B1 (ko) | 2016-03-16 | 2017-12-27 | (주)엔키아 | 가상화 통합관리 장치 |
CN115086143A (zh) * | 2022-04-28 | 2022-09-20 | 阿里巴巴(中国)有限公司 | 故障预警方法及装置 |
CN115357256A (zh) * | 2022-10-18 | 2022-11-18 | 安徽华云安科技有限公司 | 一种cdh集群部署方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11924034B2 (en) | Migration of an existing computing system to new hardware | |
US9940330B2 (en) | System and method for converting a physical disk to a virtual disk | |
US8161047B2 (en) | Managing configuration items | |
US8819190B2 (en) | Management of file images in a virtual environment | |
JP5239075B2 (ja) | 複数のサービスステップを含むサービスプロセスを管理するためのコンピュータ・システム、並びにその方法及びコンピュータ・プログラム | |
CN110088733A (zh) | 虚拟机迁移的基于存储层的编排 | |
JP2011248658A (ja) | 仮想サーバデプロイ管理装置及び方法、そのプログラム | |
US20120246645A1 (en) | Method for managing virtual machine, information processing apparatus, and medium for virtual machine management program | |
JP5263696B2 (ja) | ソフトウェア構成要素をバックアップするためのコンピュータ・システム、並びにその方法及びコンピュータ・プログラム | |
KR20110050452A (ko) | 가상 디스크를 포함하는 컴퓨터의 복구 | |
US20110264879A1 (en) | Making Automated Use of Data Volume Copy Service Targets | |
JP6623692B2 (ja) | ログ情報採取システム、ログ情報採取プログラムおよびログ情報採取方法 | |
WO2015057188A1 (en) | Package dependency maps for distributed computing | |
US11138028B1 (en) | Hot growing a cloud hosted block device | |
US9461884B2 (en) | Information management device and computer-readable medium recorded therein information management program | |
JP2007133544A (ja) | 障害情報解析方法及びその実施装置 | |
US20110060884A1 (en) | Systems and methods for collapsing a derivative version of a primary storage volume | |
US20210049001A1 (en) | Application execution device, application execution method, and recording medium | |
US10235005B2 (en) | Method of generating display name of objects to be managed | |
JP6393612B2 (ja) | システムのバックアップ装置及びバックアップ方法 | |
JP4759941B2 (ja) | 起動イメージ提供システム及び方法、ブートノード装置、ブートサーバ装置並びにプログラム | |
CN114830085A (zh) | 用于文件系统虚拟化环境中的操作系统引导的分层复合引导设备和文件系统 | |
US20130159252A1 (en) | Customizable File-Type Aware Cache Mechanism | |
JP2011081579A (ja) | Itシステム仮想化における仮想リソースのシステム運用管理方法およびシステム | |
WO2018028321A1 (zh) | 一种虚拟外置存储设备的管理方法、装置及终端 |