[情報処理システムの構成(概要)]
初めに、情報処理システム10の構成について説明を行う。図1は、情報処理システム10の構成を示す図である。図1に示す情報処理システム10は、複数の電子装置と、管理装置(以下、管理サーバ50という)と、を有する。具体的には、複数の電子装置は、仮想サーバをそれぞれ実行する複数の情報処理装置(以下、物理サーバ20A、20Bという)と、物理サーバ20A、20Bから共有可能なストレージ装置40と、物理サーバ20A、20Bと接続可能な通信装置(以下、ネットワークスイッチ装置30という)と、を含む。以下、物理サーバ20Aの物理サーバ名がHW001、物理サーバ20Bの物理サーバ名がHW002、ストレージ装置40のストレージ装置名がET200-1、ネットワークスイッチ装置30のスイッチ名がNex2であるものとして説明を行う。
なお、以下、情報処理システム10が物理サーバ20Aと物理サーバ20Bとを有する場合について説明を行うが、情報処理システム10は、3台以上の物理サーバを有するものであってもよい。その際、物理サーバとストレージ装置40とを、直接接続してもよいし、図示しないが、FCスイッチやネットワークスイッチ(例えば、iSCSI)を介して接続してもよい。これにより、より多くの物理サーバをストレージ装置40に接続することができる。
また、以下、情報処理システム10がストレージ装置40を有する場合について説明を行うが、情報処理システム10は、2台以上のストレージ装置を有するものであってもよい。また、以下、情報処理システム10がネットワークスイッチ装置30を有する場合について説明を行うが、情報処理システム10は、2台以上のネットワークスイッチ装置を有するものであってもよい。例えば、高速通信用のネットワークスイッチ装置と低速通信用のネットワークスイッチ装置をネットワークNWに接続してもよい。
物理サーバ20A、20B、ストレージ装置40、ネットワークスイッチ装置30、及び、管理サーバ50は、LAN等のネットワークNWに接続されており、ネットワークNWを介して相互に通信可能である。なお、図1中、省略されているが、実際には、物理サーバ20Aと管理サーバ50とはネットワークNWで接続されている。
図1に示すように、物理サーバ20A、20Bは、ハイパーバイザ21A、21B(仮想化環境を生成する専用のソフトウェア)をハードウェア上で動作させる。ハイパーバイザ21A、21Bにより、少なくとも1つの仮想サーバ22A、22Bが生成される。以下、仮想サーバ22Aの仮想サーバ名がDom0001、仮想サーバ22Bの仮想サーバ名がDom0002であるものとして説明を行う。なお、物理サーバは、物理マシンとも呼ばれる。また、仮想サーバは、仮想マシンとも呼ばれる。
仮想サーバ22A、22Bは、ハイパーバイザ21A、21Bにより生成される仮想的なハードウェアであり、一般的なハードウェアと同様に仮想サーバ22A、22B上でOS(ゲストOS)やアプリケーションプログラムを動作させることができる。仮想サーバ22A、22Bは、ハイパーバイザ21A、21Bによって、ベースとなる物理サーバ20A、20Bから分離されるため、CPU、メモリ、ストレージ、ネットワーク等のリソースを、動的かつ柔軟に割り当てることができる。
物理サーバ20A、20B、ストレージ装置40、ネットワークスイッチ装置30は、それぞれ、処理部23A、23B、43、31(以下、SVP23A、23B、43、31という)を有する。SVPは、サービスプロセッサ(Service Processor)の略称である。ハイパーバイザ21A、21B(又はSVP23A、23B)、SVP43、SVP31は、それぞれ、管理サーバ50から受信した制御情報(以下、命令ともいう)に基づいて、例えば、自身が内蔵される装置の構成変更を行う。
以下、物理サーバ20A、20Bを特に区別しない場合、物理サーバ20と記載する。また、ハイパーバイザ21A、21Bを特に区別しない場合、ハイパーバイザ21と記載する。また、仮想サーバ22A、22Bを特に区別しない場合、仮想サーバ22と記載する。また、SVP23A、23Bを特に区別しない場合、SVP23と記載する。
管理サーバ50は、マスターテーブルMTとワークテーブルWTとを備える。マスターテーブルMTとワークテーブルWTは、例えば、管理サーバ50に接続された記憶部(以下、データベース56という)に記憶される。なお、データベース56は、管理サーバ50が備えるストレージ53(図3参照)に格納されていてもよい。
マスターテーブルMTには、情報処理システム10の現在の構成(論理的な構成)を表す情報が登録される。ワークテーブルWTには、情報処理システム10の現在の構成(論理的な構成)を変更する情報(構成定義情報)が登録される。
管理サーバ50は、マスターテーブルMTとワークテーブルWTとの差分である差分情報に基づいて物理サーバ20(ハイパーバイザ21又はSVP23)、ストレージ装置40(SVP43)及びネットワークスイッチ装置30(SVP31)が実行する命令(制御情報又は制御ファイル)を生成する。命令は、例えば、ファイル(制御ファイル)の形式で生成される。そして、管理サーバ50は、生成した命令を物理サーバ20、ストレージ装置40及びネットワークスイッチ装置30にネットワークNWを介して送信する。
物理サーバ20、ストレージ装置40及びネットワークスイッチ装置30は、ネットワークNWを介して、それぞれ、管理サーバ50から送信される命令を受信する。
そして、物理サーバ20A(ハイパーバイザ21又はSVP23A)は、ネットワークNWを介して、管理サーバ50から送信される命令を受信すると、SVP23Aが備えるメモリに格納された仮想サーバ定義テーブルT1Aに該当データを登録する。これとともに、物理サーバ20A(ハイパーバイザ21A又はSVP23A)は、受信した命令を実行する。同様に、物理サーバ20B(ハイパーバイザ21B又はSVP23B)は、ネットワークNWを介して、管理サーバ50から送信される命令を受信すると、SVP23Bが備えるメモリ(図示せず)に格納された仮想サーバ定義テーブルT1Bに該当データを登録する。これとともに、物理サーバ20B(ハイパーバイザ21B又はSVP23B)は、受信した命令を実行する。以下、仮想サーバ定義テーブルT1A、T1Bを特に区別しない場合、仮想サーバ定義テーブルT1と記載する。
なお、管理サーバ50から送信される命令の受信は、物理サーバ20のSVP23が行ってもよいし、SVP23とは別の、ネットワークインターフェース回路20d(図2参照)が行ってもよい。また、受信した命令の実行は、物理サーバ20のSVP23が行ってもよいし、SVP23とは別の、例えばハイパーバイザ21が行ってもよい。以下、管理サーバ50から送信される命令の受信をネットワークインターフェース回路20dが行い、受信した命令の実行を、ハイパーバイザ21が行うものとして説明する。
一方、ストレージ装置40(SVP43)は、ネットワークNWを介して、管理サーバ50から送信される命令を受信すると、SVP43が備えるメモリ(図示せず)に格納されたディスクとサーバ接続定義テーブルT2に該当データを登録する。これとともに、ストレージ装置40(SVP43)は、受信した命令を実行する。
また、ネットワークスイッチ装置30(SVP31)は、ネットワークNWを介して、管理サーバ50から送信される命令を受信すると、SVP31が備えるメモリ(図示せず)に格納された仮想ネットワーク定義テーブルT3に該当データを登録する。これとともに、ネットワークスイッチ装置30(SVP31)は、受信した命令を実行する。
以上のように、仮想サーバ定義テーブルT1、ディスクとサーバ接続定義テーブルT2、及び、仮想ネットワーク定義テーブルT3に該当データが登録され、かつ、物理サーバ20(ハイパーバイザ21)、ストレージ装置40(SVP43)及びネットワークスイッチ装置30(SVP31)がそれぞれ、管理サーバ50から送信される命令を実行することで、例えば、図22に示すように、物理サーバ20A、20Bにおいて仮想サーバ22A、22Bを生成し、かつ、仮想サーバ22A、22Bがストレージ装置40に共有接続するための環境を構築することができる。
[物理サーバ]
次に、物理サーバ20ついて説明する。図2は、物理サーバ20のハードウェア構成を示す図である。
物理サーバ20は、例えば、デスクトップコンピュータ、ラップトップコンピュータ、又は、サーバコンピュータである。
図2に示すように、物理サーバ20は、CPU20aと、入出力装置インタフェース回路20bと、メモリ20cと、ネットワークインターフェース回路20dと、ストレージ20eと、SVP23と、を備える。
CPU20aは、内部バス20fを介して、メモリ20cや入出力装置インタフェース回路20b等の各インタフェース回路にアクセスする。CPU20aは、Central Processing Unit(CPU)、Micro-Processing Unit(MPU)等のプロセッサの電子部品である。CPU20aは、1つであってもよいし、複数であってもよい。CPU20aは、ストレージ20eに格納されたプログラムやデータをメモリ20cに読み出して、仮想化環境に関連するプログラム処理、及び、仮想サーバ22で実行されるアプリケーションプログラム等を実行する。
入出力装置インタフェース回路20bは、不図示のマウスやキーボード等のデバイスを含む周辺デバイスへの入出力を制御するための回路である。
メモリ20cは、RAM(Random Access Memory)等の記憶デバイスである。メモリ20cは、1つであってもよいし、複数であってもよい。
ネットワークインターフェース回路20dは、ネットワークNWを介して他の装置(管理サーバ50等)と通信を行うためのインタフェース回路で、例えば、NIC(Network Interface Card)である。ネットワークインターフェース回路20d(以下、NIC20dともいう)は、管理サーバ50からネットワークNWを介して送信される命令を受信する。そして、ハイパーバイザ21は、SVP23が備えるメモリ(図示せず)に記憶された仮想サーバ定義テーブルT1に該当データをSVP23に登録させる処理、管理サーバ50から受信した命令を実行する処理等を実行する。
ストレージ20eには、物理サーバ20が実行するOSやアプリケーションプログラム、アプリケーションプログラムが用いるデータ等が記憶される。
SVP23は、図示しないが、CPU、RAM等のメモリ、NIC等を備える。SVP23が備えるメモリには、当該SVP23が処理に用いるプログラムやデータ、仮想サーバ定義テーブルT1が格納される。
SVP23は、仮想サーバ22に割り当てられるCPU20a等とは別個の独立したシステムであり、物理サーバ20自体の管理を行う。SVP23は、物理サーバ20本体のネットワークインターフェース回路20dとは別個のネットワークインターフェース回路(NIC)を持つ。SVP23は、ネットワークNWを介して他の装置(管理サーバ50等)と通信を行う。SVP23は、例えば、ハイパーバイザ21からの制御に従って、SVP23が備えるメモリに記憶された仮想サーバ定義テーブルT1に該当データを登録する処理等を実行する。
[ネットワークスイッチ装置]
次に、ネットワークスイッチ装置について説明する。
ネットワークスイッチ装置30は、例えば、レイヤ2スイッチで、図1に示すように、SVP31等を備える。
SVP31は、ネットワークスイッチ装置30を管理するための装置で、図示しないが、CPU、RAM等のメモリ、NIC等を備える。SVP31が備えるメモリには、当該SVP31が処理に用いるプログラムやデータ、仮想ネットワーク定義テーブルT3が格納される。
SVP31は、ネットワークNWを介して他の装置(管理サーバ50等)と通信を行う。SVP31は、管理サーバ50からネットワークNWを介して送信される命令を受信する処理、SVP31が備えるメモリに記憶された仮想ネットワーク定義テーブルT3に該当データを登録する処理、管理サーバ50から受信した命令を実行する処理等を実行する。
[ストレージ装置]
図1に示すように、ストレージ装置40は、RAID(Redundant Arrays of Inexpensive Disks)グループ41に分割された複数の物理ディスク42、SVP43等を備える。なお、物理ディスク42は、回転ディスクであってもよいし、固体ディスクであってもよい。LUN44(Logical Unit Number)は、ボリューム識別子である。LUN44には、物理ストレージ空間が動的に割り当てられる。
SVP43は、ストレージ装置40を管理するための装置で、図示しないが、CPU、RAM等のメモリ、NIC等を備える。SVP43が備えるメモリには、当該SVP43が処理に用いるプログラムやデータ、ディスクとサーバ接続定義テーブルT2が格納される。
SVP43は、ネットワークNWを介して他の装置(管理サーバ50等)と通信を行う。SVP43は、管理サーバ50からネットワークNWを介して送信される命令を受信する処理、SVP43が備えるメモリに記憶されたディスクとサーバ接続定義テーブルT2に該当データを登録する処理、管理サーバ50から受信した命令を実行してボリュームを作成する処理等を実行する。
[管理サーバ]
次に、管理サーバについて説明する。図3は、管理サーバ50のハードウェア構成を示す図である。
図3に示すように、管理サーバ50は、CPU51と、メモリ52と、ストレージ53と、I/Oユニット54(外部インターフェース)と、ネットワークインターフェース回路55と、データベース56と、を有する。各部は、バス61を介して互いに接続される。
CPU51は、ストレージ53からメモリ52に読み出された所定プログラムを実行することで、図4に示すように、入力処理部57、命令生成処理部58、直接制御部59、収集部60等を実現する。メモリ52は、RAM等の記憶デバイスである。ストレージ53には、管理サーバ50が実行するOSやアプリケーションプログラム、アプリケーションプログラムが用いるデータ等が記憶される。I/Oユニット54は、例えば、データベース56と通信を行う。ネットワークインターフェース回路55は、ネットワークNWを介して他の装置(物理サーバ20等)と通信を行うためのインタフェース回路で、例えば、NICである。
[管理サーバの機能]
次に、管理サーバの主要機能について説明する。図4は、管理サーバ50の主要機能を説明するための図である。
図4に示すように、管理サーバ50は、入力処理部57、命令生成処理部58、直接制御部59、収集部60、データベース56等を備える。これらの各機能は、管理サーバ50(CPU51)がストレージ53からメモリ52に読み出された所定プログラムを実行することで実現される。なお、図4中、「構成情報」は収集部60が命令生成処理部58に送信するワークテーブルWTの内容を表し、「状態情報」は収集部60が命令生成処理部58に送信するマスターテーブルMTの内容を表す。
入力処理部57は、主に、ユーザが入力した構成定義情報D1〜D3を受信(取得)する処理を実行する。
命令生成処理部58は、主に、ワークテーブルWTとマスターテーブルMTとを比較し、ワークテーブルWTとマスターテーブルMTとの差分である差分情報を抽出する処理、抽出した差分情報に基づいて物理サーバ20(ハイパーバイザ21)、ストレージ装置40(SVP43)及びネットワークスイッチ装置30(SVP31)が実行する命令を生成する処理を実行する。命令生成処理部58が、本発明の制御情報生成部に相当する。
例えば、命令生成処理部58は、物理サーバ20A、20Bがストレージ装置40を共有して接続させる旨の命令(例えば、i1〜i10)を生成してもよい。物理サーバ20A、20Bが共有して接続しているストレージ装置40の共有状態を解除させる旨の制御情報(例えば、後述のi11〜i19)を生成してもよい。この命令は、例えば、命令生成処理部58(又は直接制御部59)が、上記抽出した差分情報に基づき、物理サーバ20A、20Bがストレージ装置40と共有するかに関して判断した結果に応じて生成してもよい。
また例えば、命令生成処理部58は、物理サーバ20A、20Bがネットワークスイッチ装置30に割り当てられた仮想スイッチを介して接続される旨の命令(例えば、i1〜i10)を生成してもよい。この命令は、例えば、命令生成処理部58(又は直接制御部59)が、上記抽出した差分情報に基づき、物理サーバ20A、20Bがネットワークスイッチ装置30を介して接続されるかについて判断した結果に応じて生成してもよい。
直接制御部59は、主に、命令生成処理部58が生成した命令を物理サーバ20、ストレージ装置40及びネットワークスイッチ装置30にネットワークNWを介して送信する処理を実行する。直接制御部59が、本発明の制御部に相当する。
収集部60は、主に、データベース56からワークテーブルWTとマスターテーブルMTの内容を読み込む処理を実行する。収集部60は、情報処理システム10の現在の構成情報を複数の電子装置(物理サーバ20、ストレージ装置40及びネットワークスイッチ装置30)から収集してもよい。この場合、収集部60が収集する構成情報に基づいて情報処理システム10の現在の構成を表す第1の構成定義情報(マスターテーブルMT)と、入力される情報処理システム10の変更後の構成を表す第2の構成定義情報(ワークテーブルWT)とをデータベース56に登録してもよい。
データベース56には、主に、ワークテーブルWTとマスターテーブルMTが記憶される。
なお、図4に示す各機能の詳細については、後述する(図11〜図17参照)。
[構成定義情報]
次に、構成定義情報の具体例について説明を行う。図5は、構成定義情報の具体例である。
図5に示す構成定義情報は、物理サーバ20A(物理サーバ名:HW001)、物理サーバ20B(物理サーバ名:HW002)において仮想サーバ22A(仮想サーバ名:Dom0001)、仮想サーバ22B(仮想サーバ名:Dom0002)を生成し、かつ、仮想サーバ22A、22Bがストレージ装置40(ボリューム名:vd-1101)に共有接続するための環境を構築するための情報である。
図5に示すように、構成定義情報は、サーバ構成定義情報D1、ネットワーク構成定義情報D2、ストレージ構成定義情報D3を含む。構成定義情報D1〜D3は、仮想サーバ22A、22Bと物理サーバ20A、20Bとの対応関係、仮想サーバ22A、22Bとストレージ装置40との対応関係、及び、仮想サーバ22A、22Bとネットワークスイッチ装置30との対応関係を含む。
サーバ構成定義情報D1は、「ユーザ」、「仮想サーバ」、「仮想ディスク」、及び、「仮想ネットワーク」等の項目を含む。
「ユーザ」は、「ユーザ名」、「ユーザID」等の項目を含む。「ユーザ名」には、「AA株式会社」のようにユーザ名が設定される。「ユーザID」には、「0001」のようにユーザを識別するための識別情報が設定される。図22に示すように、2つの仮想サーバ22A、22Bを含むクラスタシステムを構成する場合、サーバ構成定義情報D1は、「ユーザ名」(例えば、「AA株式会社」)に対応づけられた2行のサーバ構成定義情報を含む。なお、3つ以上の仮想サーバを含むクラスタシステムを構成する場合、サーバ構成定義情報D1は、「ユーザ名」に対応づけられた3行以上のサーバ構成定義情報を含む。ネットワーク構成定義情報D2、ストレージ構成定義情報D3についても同様である。
「仮想サーバ」は、「ステータス」、「ホスト名」、「仮想サーバ名」、「物理サーバ名」、「クラスタグループ」、「タイプ」、「サーバタイプ」、「OS_type」等の項目を含む。「ステータス」には、「仮想サーバ名」の仮想サーバの可動状態を表す内容(例えば、「新規」又は「稼働中」が設定される。「ホスト名」には、「AAA」のようにホスト名が設定される。「仮想サーバ名」には、「Dom0001」のように仮想サーバ名が設定される。「物理サーバ名」には、「HW001」のように物理サーバ20の名称が設定される。「クラスタグループ」には、例えば、「A」又は「B」が設定される。例えば、「A」が設定された場合、当該「A」を含む行に直上の行の内容(一部又は全部)がコピーされる。「タイプ」には、「冗長」又は「シングル」が設定される。「サーバタイプ」には、マスターテーブルMT8(図6参照)中の「タイプ」が設定される。「OS_type」には、仮想サーバ22上で動作させるOSのタイプが記憶される。
「仮想ディスク」は、「ID」、「Disk名」、「Disk_type」等の項目を含む。「ID」には、「1101」のように仮想ディスクの識別情報が設定される。「Disk名」には、「vd−1101」のように仮想ディスク名が設定される。「Disk_type」には、「共有」又は「シングル」が設定される。例えば、「共有」が設定された場合、当該「共有」を含む行に直上の行の内容(一部又は全部)がコピーされる。
「仮想ネットワーク」は、「Port」、「仮想ネットワークスイッチ名」、「VLAN」等の項目を含む。「Port」には、「Vnet001」のように仮想ネットワークのポートが設定される。「仮想ネットワークスイッチ名」には、「vNex2」のように仮想ネットワークスイッチ名が設定される。「VLAN」には、「1101」のようにVLANの識別番号が設定される。
ネットワーク構成定義情報D2は、「ユーザ」、「ステータス」、「ネットワークスイッチ装置名」、「Port」、「接続先サーバ」、「Type」、及び、「VLAN」等の項目を含む。
「ユーザ」は、「ユーザ名」、「ユーザID」等の項目を含む。「ユーザ名」、「ユーザID」、「ステータス」には、サーバ構成定義情報D1と同じ内容が設定される。「ネットワークスイッチ装置名」には、「Nex2」のようにネットワークスイッチ装置30の名称が設定される。「Port」には、ネットワークスイッチ装置30のポート番号が設定される。「接続先サーバ」には、「HW001」のように接続先の物理サーバ名が設定される。「Type」には、「Port」の種別(Tag又はPort)が設定される。「VLAN」には、「1101」のようにVLANの識別番号が設定される。
ストレージ構成定義情報D3は、「ユーザ」、「ステータス」、「ストレージ装置名」、「LUN」、及び、「volume」等の項目を含む。
「ユーザ」は、「ユーザ名」、「ユーザID」等の項目を含む。「ユーザ名」、「ユーザID」、「ステータス」には、サーバ構成定義情報D1と同じ内容が設定される。「ストレージ装置名」には、「ET200−1」のようにストレージ装置40の名称が設定される。
「LUN」は、「LUNグループ」、「Lun番号」等の項目を含む。「LUNグループ」には、「Dom0001」のようにサーバ構成定義情報D1中の「仮想サーバ名」と同じ内容が設定される。「Lun番号」には、「1101」のようにLUN番号が設定される。
「volume」は、「RAIDグループ」、「Vol番号」、「Vol名」、「サイズ」等の項目を含む。「RAIDグループ」には、「RG#020」のようにRAIDグループが設定される。「Vol番号」には、「1101」のようにVol番号が設定される。「Vol名」には、「vd−1101」のようにVol名(ボリューム名)が設定される。「サイズ」には、「1TB」のようにボリュームのサイズが設定される。
[マスターテーブル]
次に、マスターテーブルの具体例について説明を行う。図6は、マスターテーブルの具体例である。
マスターテーブルMTには、情報処理システム10の現在の構成(論理的な構成)を表す情報が登録される。マスターテーブルMTが、本発明の第1の構成定義情報に相当する。以下、マスターテーブルMTに、情報処理システム10の現在の構成(論理的な構成)を表す情報として、図6に示す内容が登録されているものとして説明する。
図6に示すように、マスターテーブルMTは、ユーザテーブルMT1、仮想サーバテーブルMT2、仮想ディスクテーブルMT3、仮想ネットワークテーブルMT4、LUNテーブルMT5、ネットワーク構成定義テーブルMT6、volumeテーブルMT7、マシンタイプテーブルMT8を含む。マスターテーブルMT(MT1〜MT7)中の各項目は、構成定義情報D1〜D3中の各項目と同様であるため、その説明を省略する。
[ワークテーブル]
次に、ワークテーブルの具体例について説明を行う。図7は、ワークテーブルの具体例である。
ワークテーブルWTには、情報処理システム10の現在の構成(論理的な構成)を変更する情報が登録される。ワークテーブルWTが、本発明の第2の構成定義情報に相当する。以下、情報処理システム10の現在の構成(論理的な構成)を変更する情報として、ワークテーブルWTに、物理サーバ20A(物理サーバ名:HW001)、物理サーバ20B(物理サーバ名:HW002)において仮想サーバ22A(仮想サーバ名:Dom0001)、仮想サーバ22B(仮想サーバ名:Dom0002)を生成し、かつ、仮想サーバ22A、22Bがストレージ装置40(ボリューム名:vd-1101)に共有接続するための環境を構築するための情報が登録されているものとして説明を行う。
図7に示すように、ワークテーブルWTは、ユーザテーブルWT1、仮想サーバテーブルWT2、仮想ディスクテーブルWT3、仮想ネットワークテーブルWT4、LUNテーブルWT5、ネットワーク構成定義テーブルWT6、volumeテーブルWT7を含む。ワークテーブルWT(WT1〜WT7)は、図5に示す構成定義情報D1〜D3を、仮想サーバ、仮想ストレージ、仮想ネットワーク、ネットワーク、ストレージ等のカテゴリごとに分割したものである。ワークテーブルWT(WT1〜WT7)中の各項目は、構成定義情報D1〜D3中の各項目と同様であるため、その説明を省略する。
[管理サーバ(命令生成処理部)が生成する命令]
次に、管理サーバ50(命令生成処理部58)が生成する命令の具体例について説明を行う。図8〜図10は、管理サーバ50が生成する命令の具体例である。
管理サーバ50が生成する命令には、主に、仮想サーバ作成に関する命令(図8参照)、ボリューム作成に関する命令(図9参照)、VLAN作成に関する命令(図10参照)がある。
図8に示すように、仮想サーバ作成に関する命令には、仮想サーバ作成命令i1、CPU追加命令i2、Memory追加命令i3、仮想ディスク追加命令i4、仮想ネットワーク追加命令i5、マルチパスドライバ追加命令i6がある。仮想サーバ作成に関する命令i1〜i6は、管理サーバ50がネットワークNWを介して物理サーバ20A、20Bにそれぞれ送信する。
図9に示すように、ボリューム作成に関する命令には、ボリューム作成命令i7、LUNグループマッピング命令i8がある。ボリューム作成に関する命令i7〜i8は、管理サーバ50がネットワークNWを介してストレージ装置40にそれぞれ送信する。
図10に示すように、VLAN作成に関する命令には、VLAN作成命令i9、VLAN追加命令i10がある。VLAN作成に関する命令i9〜i10は、管理サーバ50がネットワークNWを介してネットワークスイッチ装置30にそれぞれ送信する。
なお、図8〜図10に示す各命令i1〜i10の詳細については、後述する。
[管理サーバの動作例1(仮想サーバの作成処理)]
次に、管理サーバ50の動作例1(仮想サーバの作成処理)について説明する。図11〜図13は、管理サーバ50の動作例1(仮想サーバの作成処理)を説明するためのフローチャートである。
図11に示すように、まず、ユーザが、構成定義情報D1〜D3(図5参照)を管理サーバ50にそれぞれ配置する(ステップS11)。具体的には、ユーザは、ネットワークNWに接続された端末(図示せず)等から構成定義情報D1〜D3をそれぞれ入力する。入力された構成定義情報D1〜D3は、ネットワークNWを介して管理サーバ50にそれぞれ送信され、管理サーバ50(入力処理部57)がそれぞれ受信(取得)する。
次に、入力処理部57が、構成定義情報D1〜D3から「ステータス」が「新規」の内容(行)を抽出し、仮想サーバ、仮想ストレージ、仮想ネットワーク、ネットワーク、ストレージ等のカテゴリごとに分割する(ステップS12)。
次に、入力処理部57が、分割された構成定義情報D1〜D3をデータベース56(ワークテーブルWT1〜WT7)にそれぞれ登録するように直接制御部59に指示する(ステップS13)。
次に、直接制御部59が、分割された構成定義情報D1〜D3をデータベース56(ワークテーブルWT1〜WT7)にそれぞれ登録する(ステップS14)。これにより、ワークテーブルWT1〜WT7に、図7に示す内容が登録される。
次に、収集部60が、データベース56からワークテーブルWT1〜WT7とマスターテーブルMT1〜MT7の内容をそれぞれ読み込み、命令生成処理部58に送信する(ステップS15)。
次に、命令生成処理部58が、ワークテーブルWT1〜WT7とマスターテーブルMT1〜MT7とをそれぞれ比較する(ステップS16)。その結果、ワークテーブルWT1〜WT7の内容がマスターテーブルMT1〜MT7に含まれる場合(ステップS17:Yes)、処理を終了する。
一方、ワークテーブルWT1〜WT7の内容がマスターテーブルMT1〜MT7に含まれない場合(ステップS17:No)、命令生成処理部58が、データベース56(ワークテーブルWT1〜WT7)から、ワークテーブルWT1〜WT7とマスターテーブルMT1〜MT7との差分である差分情報(例えば、volume、LUNの情報)をそれぞれ抽出する(ステップS18)。
次に、命令生成処理部58が、抽出した差分情報に基づいて、ボリューム作成命令i7を生成し、直接制御部59に送信する(ステップS19)。
次に、直接制御部59が、ストレージ装置40にアクセスし、ボリューム作成命令i7を実行してボリュームを作成する(ステップS20)。具体的には、直接制御部59が、ネットワークNWを介して、ボリューム作成命令i7をストレージ装置40に送信する。ストレージ装置40(SVP43)は、当該ボリューム作成命令i7を受信し、これを実行することでボリュームを作成する。
ボリューム作成が完了すると(ステップS21:Yes)、命令生成処理部58が、抽出した差分情報に基づいて、ボリュームをサーバ接続と連携するためのLUNグループマッピング命令i8を生成し、直接制御部59に送信する(ステップS22)。
次に、直接制御部59が、ストレージ装置40にアクセスし、LUNグループマッピング命令i8を実行する(ステップS23)。具体的には、直接制御部59が、ネットワークNWを介して、LUNグループマッピング命令i8をストレージ装置40に送信する。ストレージ装置40(SVP43)は、当該LUNグループマッピング命令i8を受信し、これを実行することでLUNグループを作成(物理サーバ20との接続を構成)する。
次に、管理サーバ50が物理サーバ20のマルチパスドライバの有無を判定し(ステップS24)、マルチパスドライバが有る場合(ステップS24:有り)、命令生成処理部58が、物理サーバ20のマルチパスドライバ追加命令i6を生成し、直接制御部59に送信する(ステップS25)。
次に、直接制御部59が、物理サーバ20にアクセスし、マルチパスドライバ追加命令i6を実行する(ステップS26)。具体的には、直接制御部59が、ネットワークNWを介して、マルチパスドライバ追加命令i6を物理サーバ20に送信する。物理サーバ20は、当該マルチパスドライバ追加命令i6を受信し(例えば、NIC20dが受信し)、これを実行(例えば、ハイパーバイザ21が実行)することで、LUをマルチパスドライバに組み込む。
次に、命令生成処理部58が、データベース56(ワークテーブルWT1〜WT7)から、ワークテーブルWT1〜WT7とマスターテーブルMT1〜MT7との差分である差分情報(例えば、ネットワークの情報)を抽出する(ステップS27)。
次に、命令生成処理部58が、抽出した差分情報に基づいて、ネットワークスイッチ装置30のネットワークポートのVLAN作成命令i9、VLAN追加命令i10を生成し、直接制御部59に送信する(ステップS28)。
次に、直接制御部59が、ネットワークスイッチ装置30にアクセスし、VLAN作成命令i9、VLAN追加命令i10を実行する(ステップS29)。具体的には、直接制御部59が、ネットワークNWを介して、VLAN作成命令i9、VLAN追加命令i10をネットワークスイッチ装置30にそれぞれ送信する。ネットワークスイッチ装置30(SVP31)は、当該VLAN作成命令i9、VLAN追加命令i10をそれぞれ受信し、これを実行することでVLANを追加する。
次に、命令生成処理部58が、データベース56(ワークテーブルWT1〜WT7)から、ワークテーブルWT1〜WT7とマスターテーブルMT1〜MT7との差分である差分情報(例えば、仮想サーバの情報)をそれぞれ抽出する(ステップS30)。
次に、命令生成処理部58が、抽出した差分情報に基づいて、仮想サーバ作成命令i1、CPU追加命令i2、Memory追加命令i3、仮想ディスク追加命令i4、仮想ネットワーク追加命令i5を生成し、直接制御部59にそれぞれ送信する(ステップS31)。
次に、直接制御部59が、物理サーバ20にアクセスし、仮想サーバ作成命令i1、CPU追加命令i2、Memory追加命令i3、仮想ディスク追加命令i4、仮想ネットワーク追加命令i5を実行する(ステップS32)。具体的には、直接制御部59が、ネットワークNWを介して、仮想サーバ作成命令i1、CPU追加命令i2、Memory追加命令i3、仮想ディスク追加命令i4、仮想ネットワーク追加命令i5を物理サーバ20にそれぞれ送信する。物理サーバ20は、当該仮想サーバ作成命令i1、CPU追加命令i2、Memory追加命令i3、仮想ディスク追加命令i4、仮想ネットワーク追加命令i5をそれぞれ受信し(例えば、NIC20dが受信し)、これらを実行(例えば、ハイパーバイザ21が実行)することで仮想サーバ22を作成する。
そして、全ての仮想サーバ22の作成が完了すると(ステップS33:Yes)、命令生成処理部58が、ワークテーブルWT1〜WT7の内容をマスターテーブルMT1〜MT7にそれぞれ挿入(登録)する(ステップS34)。
[情報処理システムの動作例1]
次に、情報処理システム10の動作例1について説明する。図14〜図17は、情報処理システム10の動作例1を説明するためのシーケンス図である。
以下、情報処理システム10の動作例1として、図18に示す状態から、図22に示すように、物理サーバ20A(物理サーバ名:HW001)、物理サーバ20B(物理サーバ名:HW002)において仮想サーバ22A(仮想サーバ名:Dom0001)、仮想サーバ22B(仮想サーバ名:Dom0002)を生成し、かつ、仮想サーバ22A、22Bがストレージ装置40(ボリューム名:vd-1101)に共有接続するための環境を構築する処理を説明する。なお、図18は、物理サーバ20A(物理サーバ名:HW001)、物理サーバ20B(物理サーバ名:HW002)において仮想サーバ22A(仮想サーバ名:Dom0001)、仮想サーバ22B(仮想サーバ名:Dom0002)が生成されておらず、かつ、仮想サーバ22A、22Bがストレージ装置40(ボリューム名:vd-1101)に共有接続するための環境が構築されていない状態を表す。
図14に示すように、まず、ユーザが、構成定義情報D1〜D3(図5参照)を入力する(ステップS40)。具体的には、ユーザは、ネットワークNWに接続された端末(図示せず)等から構成定義情報D1〜D3を入力する。構成定義情報D1〜D3は、端末に接続されたキーボード等から入力してもよいし、構成定義情報D1〜D3を含むファイルを端末に読み込ませることで入力してもよい。入力された構成定義情報D1〜D3は、ネットワークNWを介して管理サーバ50に送信され、管理サーバ50(入力処理部57)が受信(取得)する。
次に、入力処理部57が、構成定義情報D1〜D3を分割する(ステップS41)。具体的には、入力処理部57は、構成定義情報D1〜D3から「ステータス」が「新規」の内容(行)を抽出し、抽出した「新規」の内容を仮想サーバ、仮想ストレージ、仮想ネットワーク、ネットワーク、ストレージ等のカテゴリごとに分割する。
次に、入力処理部57が、命令生成処理部58に対して、分割された構成定義情報D1〜D3をデータベース56(ワークテーブルWT1〜WT7)にそれぞれ登録するための命令生成を指示する(ステップS42)。
次に、命令生成処理部58が、分割された構成定義情報D1〜D3をデータベース56(ワークテーブルWT1〜WT7)にそれぞれ登録するための命令を生成し、当該命令を直接制御部59に送信する(ステップS43)。
次に、直接制御部59が、入力処理部57から、分割された構成定義情報D1〜D3をそれぞれ読み込む(ステップS44)。
次に、直接制御部59が、読み込んだ分割された構成定義情報D1〜D3をデータベース56(ワークテーブルWT1〜WT7)にそれぞれ登録する(ステップS45)。これにより、ワークテーブルWT1〜WT7に、図7に示す内容がそれぞれ登録される。
次に、収集部60が、データベース56からワークテーブルWT1〜WT7とマスターテーブルMT1〜MT7の内容をそれぞれ読み込み、命令生成処理部58に送信する(ステップS46)。
次に、命令生成処理部58が、ワークテーブルWT1〜WT7とマスターテーブルMT1〜MT7とをそれぞれ比較する(ステップS47)。その結果、ワークテーブルMT1〜MT7の内容がマスターテーブルMT1〜MT7に含まれない場合、命令生成処理部58は、ワークテーブルWT1〜WT7とマスターテーブルMT1〜MT7との差分情報(ここでは、ワークテーブルWT1〜WT7の内容)に基づいて、命令i1〜i10をそれぞれ生成する(ステップS48)。すなわち、命令生成処理部58は、ワークテーブルWT1〜WT7とマスターテーブルMT1〜MT7との差分情報(ここでは、ワークテーブルWTの内容)を設定(反映)した命令i1〜i10をそれぞれ生成する。命令i1〜i10の具体例については後述する。
[ボリューム作成命令i7の具体例]
まず、命令生成処理部58が、データベース56(ワークテーブルWT1〜WT7)から、ワークテーブルWT1〜WT7とマスターテーブルMT1〜MT7との差分である差分情報(例えば、volume、LUNの情報)をそれぞれ抽出し、抽出した差分情報に基づいて、ボリューム作成命令i7をそれぞれ生成する。
図9を参照して、ボリューム作成命令i7の具体例を説明する。
図9に示すように、ボリューム作成命令i7は、先頭に配置された文字列「ssh」、「<管理ユーザ>」、「<ストレージ装置名>」、コマンド「create volume -name」、「<ボリューム名>」、「<RAIDグループ名>」、「<サイズ>」、「<ボリューム番号>」を含む。
「管理ユーザ」の部分には、ストレージ装置40の管理ユーザ名(例えば、root)が設定される。「ストレージ装置名」の部分には、volumeテーブルWT7中の「筐体名(ET200-1)」が設定される。「ボリューム名」の部分には、volumeテーブルWT7中の「vol名(vd-1101)」が設定される。「RAIDグループ名」の部分には、volumeテーブルWT7中の「RAIDグループ(RG#020)」が設定される。「サイズ」の部分には、volumeテーブルWT7中の「サイズ(1TB)」が設定される。「ボリューム番号」の部分には、volumeテーブルWT7中の「vol番号(1101)」が設定される。
その結果、ボリューム作成命令i7として、次の命令が生成される。
ssh <root>@<ET200-1> create volume -name <vd-1101> <RG#020>-size <1TB> -volume-number <1101>
次に、図15に示すように、命令生成処理部58は、生成したボリューム作成命令i7を直接制御部59に送信する(ステップS49)。
次に、直接制御部59が、ストレージ装置40にアクセスし、ボリューム作成命令i7を実行する(ステップS50)。具体的には、直接制御部59は、ボリューム作成命令i7中の「ストレージ装置名(ET200-1)」に対応づけられたIPアドレスを用いて、ボリューム作成命令i7をストレージ装置40に送信する。なお、IPアドレスは、例えば、管理サーバ50のストレージ53が保持する「ストレージ装置名」とIPアドレスとの対応関係(図示せず)を参照することで取得することができる。なお、「ストレージ装置名」とIPアドレスは、例えば、収集部60がストレージ装置40(SVP43)から取得し、両者を対応づけた状態で管理サーバ50のストレージ53に格納される。
次に、ストレージ装置40(SVP43)は、管理サーバ50からネットワークNWを介して送信されるボリューム作成命令i7を受信する処理、SVP43が備えるメモリに記憶されたディスクとサーバ接続定義テーブルT2に該当データを登録する処理(ステップS51)を実行する。具体的には、ディスクとサーバ接続定義テーブルT2(図23参照)中の「ストレージ装置名」、「Vol名」に、それぞれ、ボリューム作成命令i7中の「ストレージ装置名(ET200-1)」、「ボリューム名(vd-1101)」を登録する。また、ディスクとサーバ接続定義テーブルT2中の「状態」に、ディスクとサーバ接続の状態を登録する。
また、ストレージ装置40(SVP43)は、管理サーバ50から受信したボリューム作成命令i7を実行することで、図19に示すように、ボリューム(ボリューム名:vd-1101)を作成する(ステップS52)。図19は、図18に示す状態に対して、ボリューム(ボリューム名:vd-1101)が作成された状態を表す。
そして、ボリューム作成が完了すると、ストレージ装置40(SVP43)は、直接制御部59に対して、ボリューム作成完了を通知する(ステップS53)。
[LUNグループマッピング命令i8の具体例]
次に、命令生成処理部58が、上記抽出した差分情報に基づいて、LUNグループマッピング命令i8を生成し、直接制御部59に送信する(ステップS54)。
図9を参照して、LUNグループマッピング命令i8の具体例を説明する。
図9に示すように、LUNグループマッピング命令i8は、先頭に配置された文字列「ssh」、「<管理ユーザ>」、「<ストレージ装置名>」、コマンド「set lun-group -lg-name」、「<LUNグループ名>」、「<ボリューム名>」、「<lun番号>」を含む。
「管理ユーザ」の部分には、ストレージ装置40の管理ユーザ名(例えば、root)が設定される。「ストレージ装置名」の部分には、LUNテーブルWT5中の「ストレージ装置名(ET200-1)」が設定される。「LUNグループ名」の部分には、LUNテーブルWT5中の「LUNグループ名(Dom0001、Dom0002)」が設定される。「ボリューム名」の部分には、LUNテーブルWT5中の「Vol名(vd-1101)」が設定される。「lun番号」の部分には、LUNテーブルWT5中の「LUN番号(1101)」が設定される。
その結果、LUNグループマッピング命令i8として、次の2つの命令が生成される。
(1)ssh <root>@<ET200-1> set lun-group -lg-name <Dom0001> -volume-name<vd-1101> -lun <1101>、(2)ssh <root>@<ET200-1> set lun-group -lg-name <Dom0002> -volume-name<vd-1101> -lun <1101>
次に、図15に戻って、直接制御部59が、ストレージ装置40にアクセスし、LUNグループマッピング命令i8を実行する(ステップS55)。具体的には、直接制御部59は、LUNグループマッピング命令i8中の「ストレージ装置名(ET200-1)」に対応づけられたIPアドレスを用いて、LUNグループマッピング命令i8をストレージ装置40に送信する。
次に、ストレージ装置40(SVP43)は、管理サーバ50からネットワークNWを介して送信されたLUNグループマッピング命令i8を受信する処理、SVP43が備えるメモリに記憶されたディスクとサーバ接続定義テーブルT2に該当データを登録する処理(ステップS56)を実行する。具体的には、ディスクとサーバ接続定義テーブルT2(図23参照)中の「接続サーバ名」に、LUNグループマッピング命令i8中の「LUNグループ名(Dom0001)」を登録する。
また、ストレージ装置40(SVP43)は、管理サーバ50から受信したLUNグループマッピング命令i8を実行することで、図20に示すように、LUNグループ(LUNグループ名:Dom0001、Dom0002)を作成(物理サーバ20との接続を構成)する(ステップS57)。図20は、図19に示す状態に対して、LUNグループ(LUNグループ名:Dom0001、Dom0002)が作成(物理サーバ20との接続を構成)された状態を表す。
[VLAN作成命令i9の具体例]
次に、図16に示すように、命令生成処理部58が、VLAN作成に関する命令(VLAN作成命令i9、VLAN追加命令i10)を生成し、当該VLAN作成に関する命令i9、i10を直接制御部59に送信する(ステップS58)。
図10を参照して、VLAN作成命令i9の具体例を説明する。
図10に示すように、VLAN作成命令i9は、先頭に配置された文字列「ssh」、「<管理ユーザ>」、「<ネットワークスイッチ名>」、コマンド「vlan」、「<VLAN ID>」を含む。「管理ユーザ」の部分には、ネットワークスイッチ装置30の管理ユーザ名(例えば、root)が設定される。「ネットワークスイッチ名」の部分には、ネットワーク構成定義テーブルWT6中の「スイッチ名(Nex2)」が設定される。「VLAN ID」の部分には、ネットワーク構成定義テーブルWT6中の「VLAN(1101)」が設定される。
その結果、VLAN作成命令i9として、次の命令が生成される。
ssh <root>@<Nex2> vlan <1101>
[VLAN追加命令i10の具体例]
図10を参照して、VLAN追加命令i10の具体例を説明する。
図10に示すように、VLAN追加命令i10は、先頭に配置された文字列「ssh」、「<管理ユーザ>」、「<ネットワークスイッチ名>」、コマンド「interface」、「<ポート>」を含む。また、VLAN追加命令i10は、先頭に配置された文字列「ssh」、「<管理ユーザ>」、「<ネットワークスイッチ名> 」、コマンド「switch mode trunk」を含む。また、VLAN追加命令i10は、先頭に配置された文字列「ssh」、「<管理ユーザ>」、「<ネットワークスイッチ名>」、コマンド「switch trunk allowed vlan add」、「<VLAN ID>」を含む。「管理ユーザ」の部分には、ネットワークスイッチ装置30の管理ユーザ名(例えば、root)が設定される。「ネットワークスイッチ名」の部分には、ネットワーク構成定義テーブルWT6中の「スイッチ名(Nex2)」が設定される。「ポート」の部分には、ネットワーク構成定義テーブルWT6中の「port(010、011)」が設定される。「VLAN ID」の部分には、ネットワーク構成定義テーブルWT6中の「VLAN(1101)」が設定される。
その結果、VLAN追加命令i10として、次の4つの命令が生成される。
(1)ssh <root>@<Nex2> interface <010>、(2)ssh <root>@<Nex2> interface <011>、(3)ssh <root>@<Nex2> switch mode trunk、(4)ssh <root >@<Nex2> switch trunk allowed vlan add <1101>
次に、図16に戻って、直接制御部59が、ネットワークスイッチ装置30にアクセスし、VLAN作成に関する命令i9、i10を実行する(ステップS59)。具体的には、直接制御部59は、VLAN作成に関する命令i9、i10中の「ネットワークスイッチ名(Nex2)」に対応づけられたIPアドレスを用いて、VLAN作成に関する命令i9、i10をネットワークスイッチ装置30に送信する。なお、IPアドレスは、例えば、管理サーバ50のストレージ53が保持する「ネットワークスイッチ名」とIPアドレスとの対応関係(図示せず)を参照することで取得することができる。なお、「ネットワークスイッチ名」とIPアドレスは、例えば、収集部60がネットワークスイッチ装置30(SVP31)から取得し、両者を対応づけた状態で管理サーバ50のストレージ53に格納される。
次に、ネットワークスイッチ装置30(SVP31)は、管理サーバ50からネットワークNWを介して送信されるVLAN作成に関する命令i9、i10を受信する処理、SVP31が備えるメモリに記憶された仮想ネットワーク定義テーブルT3に該当データを登録する処理(ステップS60)を実行する。具体的には、仮想ネットワーク定義テーブルT3(図23参照)中の「Port」「VLAN」に、それぞれ、VLAN作成に関する命令i9、i10中の「ポート(010、011)」、「VLAN ID(1101)」を登録する。また、VLAN追加命令i10がコマンド「trunk(tagの意)」を含む場合、仮想ネットワーク定義テーブルT3(図23参照)中の「Type」に「Tag」を登録する。また、仮想ネットワーク定義テーブルT3中の「状態」に、仮想ネットワークの状態を登録する。
また、ネットワークスイッチ装置30(SVP31)は、管理サーバ50から受信したVLAN作成に関する命令i9、i10を実行することで、図21に示すように、VLAN(VLAN名:1101)を作成(物理サーバ20との接続を構成)する(ステップS61)。図21は、図20に示す状態に対して、VLAN(VLAN名:1101)が作成(物理サーバ20との接続を構成)された状態を表す。
[マルチパスドライバ追加命令i6の具体例]
次に、物理サーバ20にマルチパスドライバが有る場合、命令生成処理部58が、物理サーバ20のマルチパスドライバ追加命令i6を生成し、直接制御部59に送信する(ステップS62)。
図8を参照して、マルチパスドライバ追加命令i6の具体例を説明する。
図8に示すように、マルチパスドライバ追加命令i6は、先頭に配置された文字列「ssh」、「<管理ユーザ>」、「<物理サーバ名>」、コマンド「grmpdautoconf」を含む。「管理ユーザ」の部分には、物理サーバ20の管理ユーザ名(例えば、root)が設定される。「物理サーバ名」の部分には、仮想サーバテーブルWT2中の「物理サーバ名(HW001、HW002)」が設定される。
その結果、マルチパスドライバ追加命令i6として、次の2つの命令が生成される。
(1)ssh <root>@<HW001> grmpdautoconf、(2)ssh <root>@<HW002> grmpdautoconf
次に、直接制御部59が、物理サーバ20にアクセスし、マルチパスドライバ追加命令i6を実行する(ステップS63)。具体的には、直接制御部59は、マルチパスドライバ追加命令i6中の「物理サーバ名(HW001、HW002)」に対応づけられたIPアドレスを用いて、マルチパスドライバ追加命令i6を物理サーバ20に送信する。なお、「物理サーバ名」とIPアドレスは、例えば、収集部60が物理サーバ20(例えば、NIC20d)から取得し、両者を対応づけた状態で管理サーバ50のストレージ53に格納される。
次に、物理サーバ20は、管理サーバ50からネットワークNWを介して送信されたマルチパスドライバ追加命令i6を例えば、NIC20dが受信する処理、SVP23が備えるメモリ(図示せず)に記憶された仮想サーバ定義テーブルT1に該当データを例えば、ハイパーバイザ21がSVP23に登録させる処理(ステップS64)を実行する。具体的には、仮想サーバ定義テーブルT1(図23参照)中の「マルチパス」に、物理サーバ20にマルチパスドライバが有る場合に「有」を登録する。
また、物理サーバ20は、管理サーバ50から受信したマルチパスドライバ追加命令i6を例えば、ハイパーバイザ21が実行することで、LUをマルチパスドライバに組み込む(ステップS65)。
次に、命令生成処理部58が、仮想サーバ作成に関する命令(仮想サーバ作成命令i1、CPU追加命令i2、Memory追加命令i3、仮想ディスク追加命令i4、仮想ネットワーク追加命令i5)を生成し、当該仮想サーバ作成に関する命令i1〜i5を直接制御部59に送信する(ステップS66)。
[仮想サーバ作成命令i1の具体例]
図8を参照して、仮想サーバ作成命令i1の具体例を説明する。
図8に示すように、仮想サーバ作成命令i1は、先頭に配置された文字列「ssh」、「<管理ユーザ>」、「<物理サーバ名>」、コマンド「ldm add-domain」、「<仮想サーバ名>」を含む。「管理ユーザ」の部分には、物理サーバ20の管理ユーザ名(例えば、root)が設定される。「物理サーバ名」の部分には、仮想サーバテーブルWT2中の「物理サーバ名(HW001、HW002)」が設定される。「仮想サーバ名」の部分には、仮想サーバテーブルWT2中の「仮想サーバ名(Dom0001、Dom0002)」が設定される。
その結果、仮想サーバ作成命令i1として、次の2つの命令が生成される。
(1)ssh <root>@<HW001> ldm add-domain <Dom0001>、(2)ssh <root>@<HW002> ldm add-domain <Dom0002>
[CPU追加命令i2の具体例]
図8を参照して、CPU追加命令i2の具体例を説明する。
図8に示すように、CPU追加命令i2は、先頭に配置された文字列「ssh」、「<管理ユーザ>」、「<物理サーバ名>」、コマンド「ldm set-core」、「<コア数>」、「<仮想サーバ名>」を含む。「管理ユーザ」の部分には、物理サーバ20の管理ユーザ名(例えば、root)が設定される。「物理サーバ名」の部分には、仮想サーバテーブルWT2中の「物理サーバ名(HW001、HW002)」が設定される。「コア数」の部分には、仮想サーバテーブルWT2中の「マシンタイプ」と同じ「タイプ」が対応するマシンタイプテーブルMT8中の「CPU数」が設定される。例えば、図7に示すように、ワークテーブルWT2中の「マシンタイプ」が2である場合、「コア数」には、仮想サーバテーブルWT2中の「マシンタイプ(ここでは2)」と同じ「タイプ(ここでは2)」が対応するマシンタイプテーブルMT8中の「CPU数(ここでは4)」が設定される。「仮想サーバ名」の部分には、仮想サーバテーブルWT2中の「仮想サーバ名(Dom0001、Dom0002)」が設定される。
その結果、CPU追加命令i2として、次の2つの命令が生成される。
(1)ssh <root>@<HW001> ldm set-core <4> <Dom0001>、(2)ssh <root>@<HW002> ldm set-core <4> <Dom0002>
[Memory追加命令i3の具体例]
図8を参照して、Memory追加命令i3の具体例を説明する。
図8に示すように、Memory追加命令i3は、先頭に配置された文字列「ssh」、「<管理ユーザ>」、「<物理サーバ名>」、コマンド「ldm set-memory」、「<容量>」、「<仮想サーバ名>」を含む。「管理ユーザ」の部分には、物理サーバ20の管理ユーザ名(例えば、root)が設定される。「物理サーバ名」の部分には、仮想サーバテーブルWT2中の「物理サーバ名(HW001、HW002)」が設定される。「容量」の部分には、仮想サーバテーブルWT2中の「マシンタイプ」と同じ「タイプ」が対応するマシンタイプテーブルMT8中の「Memory容量」が設定される。例えば、図7に示すように、ワークテーブルWT2中の「マシンタイプ」が2である場合、「容量」の部分には、仮想サーバテーブルWT2中の「マシンタイプ(ここでは2)」と同じ「タイプ(ここでは2)」が対応するマシンタイプテーブルMT8中の「Memory容量(ここでは64GB)」が設定される。「仮想サーバ名」の部分には、仮想サーバテーブルWT2中の「仮想サーバ名(Dom0001、Dom0002)」が設定される。
その結果、Memory追加命令i3として、次の2つの命令が生成される。
(1)ssh <root>@<HW001> ldm set-memory <4> <Dom0001>、(2)ssh <root>@<HW002> ldm set-memory <4> <Dom0002>
[仮想ディスク追加命令i4の具体例]
図8を参照して、仮想ディスク追加命令i4の具体例を説明する。
図8に示すように、仮想ディスク追加命令i4は、先頭に配置された文字列「ssh」、「<管理ユーザ>」、「<物理サーバ名>」、コマンド「ldm add-vdsdev」、「<LUN>」、「<仮想ディスク名>」、「<仮想ディスクサービス名>」を含む。また、仮想ディスク追加命令i4は、先頭に配置された文字列「ssh」、「<管理ユーザ>」、「<物理サーバ名>」、コマンド「ldm add-vdisk」、「<仮想ディスク名>」、「<仮想ディスクサービス名>」「<仮想サーバ名>」を含む。「管理ユーザ」の部分には、物理サーバ20の管理ユーザ名(例えば、root)が設定される。「物理サーバ名」の部分には、仮想サーバテーブルWT2中の「物理サーバ名(HW001、HW002)」が設定される。「LUN」の部分には、仮想ディスクテーブルWT3中の「Lun番号(1101)」が設定される。「仮想ディスク名」の部分には、仮想ディスクテーブルWT3中の「Disk名(vd-1101)」が設定される。「仮想ディスクサービス名」の部分には、デフォルト名が設定される。「仮想サーバ名」の部分には、仮想ディスクテーブルWT3中の「仮想サーバ名(Dom0001、Dom0002)」が設定される。
その結果、仮想ディスク追加命令i4として、次の4つの命令が生成される。
(1)ssh <root>@<HW001> ldm add-vdsdev <1101> <vd-1101 >@<デフォルト名>、(2)ssh <root>@<HW002> ldm add-vdsdev <1101> <vd-1101>@<デフォルト名>、(3)ssh <root>@<HW001> ldm add-vdisk <vd-1101> <vd-1101>@<デフォルト名> <Dom0001>、(4)ssh <root>@<HW002> ldm add-vdisk <vd-1101> <vd-1101>@<デフォルト名> <Dom0002>
[仮想ネットワーク追加命令i5の具体例]
図8を参照して、仮想ネットワーク追加命令i5の具体例を説明する。
図8に示すように、仮想ネットワーク追加命令i5は、先頭に配置された文字列「ssh」、「<管理ユーザ>」、「<物理サーバ名>」、コマンド「ldm add-vnet pvid=」、「<VLAN ID>」、「<仮想ネットワークポート名>」、「<仮想スイッチ名>」、「<仮想サーバ名>」を含む。「管理ユーザ」の部分には、物理サーバ20の管理ユーザ名(例えば、root)が設定される。「物理サーバ名」の部分には、仮想サーバテーブルWT2中の「物理サーバ名(HW001、HW002)」が設定される。「VLAN ID」の部分には、仮想ネットワークテーブルWT4中の「VLAN(1101)」が設定される。「仮想ネットワークポート名」の部分には、仮想ネットワークテーブルWT4中の「port名(Vnet001)」が設定される。「仮想スイッチ名」の部分には、ネットワーク構成定義テーブルWT6中の「仮想スイッチ名(VNex2)」が設定される。「仮想サーバ名」の部分には、仮想ネットワークテーブルWT4中の「仮想サーバ名(Dom0001、Dom0002)」が設定される。
その結果、仮想ネットワーク追加命令i5として、次の2つの命令が生成される。
(1)ssh <root>@<HW001> ldm add-vnet pvid=<1101> <Vnet001><VNex2> <Dom0001>、(2)ssh <root>@<HW002> ldm add-vnet pvid=<1101> <Vnet001><VNex2> <Dom0002>
次に、図17に戻って、直接制御部59が、物理サーバ20にアクセスし、仮想サーバ作成に関する命令i1〜i5を実行する(ステップS67)。具体的には、直接制御部59は、仮想サーバ作成に関する命令i1〜i5中の「物理サーバ名(HM001、HM002)」に対応づけられたIPアドレスを用いて、仮想サーバ作成に関する命令i1〜i5を物理サーバ20に送信する。なお、IPアドレスは、例えば、管理サーバ50のストレージ53が保持する「物理サーバ名」とIPアドレスとの対応関係(図示せず)を参照することで取得することができる。
次に、物理サーバ20は、管理サーバ50からネットワークNWを介して送信された仮想サーバ作成に関する命令i1〜i5を例えば、NIC20dが受信する処理、SVP23が備えるメモリ(図示せず)に記憶された仮想サーバ定義テーブルT1に該当データを例えば、ハイパーバイザ21がSVP23に登録させる処理(ステップS68)を実行する。具体的には、仮想サーバ定義テーブルT1(図23参照)中の「仮想サーバ名」、「CPU数」、「Memory容量」、「Disk名」、「port名」、「仮想スイッチ名」、「VLAN」には、それぞれ、仮想サーバ作成命令i1中の「仮想サーバ名」、CPU追加命令i2中の「コア数」、Memory追加命令i3中の「容量」、仮想ディスク追加命令i4中の「仮想ディスク名」、仮想ネットワーク追加命令i5中の「仮想ネットワークポート名」、仮想ネットワーク追加命令i5中の「仮想スイッチ名」、仮想ネットワーク追加命令i5中の「VLAN ID」が登録される。また、仮想サーバ定義テーブルT1中の「物理ポート」には、「専用スイッチ」のように物理ポートの種別が登録される。また、仮想サーバ定義テーブルT1中の「状態」には、仮想サーバの状態が登録される。
また、物理サーバ20(ハイパーバイザ21)は、管理サーバ50から受信した仮想サーバ作成に関する命令i1〜i5を実行することで、図22に示すように、仮想サーバ22(仮想CPU、メモリ、仮想ディスク、仮想ネットワーク等)を作成する(ステップS69〜S72)。図22は、図21に示す状態に対して、仮想サーバ22(仮想CPU、メモリ、仮想ディスク、仮想ネットワーク等)が作成された状態を表す。
そして、仮想サーバ作成が完了すると、物理サーバ20(ハイパーバイザ21又はSVP23)は、直接制御部59に対して、仮想サーバ作成完了を通知する(ステップS73)。
次に、命令生成処理部58が、直接制御部59の指示(ステップS74)に従って、データベース56にアクセスし、ワークテーブルWT1〜WT7の内容をマスターテーブルMT1〜MT7へ挿入する(ステップS75)。図26は、この挿入後のマスターテーブルMT(MT1A〜MT7A)を表している。
以上説明したように、本実施形態の動作例1によれば、動的にシステム構成を生成することができる情報処理システムにおいて、システム構成変更前後で一致する構成についても生成するという無駄が生ずるのを抑制することができる情報処理システム、管理装置、及び、情報処理システムの制御方法を提供することができる。
これは、ワークテーブルWT1〜WTAとマスターテーブルMT1〜MT7との差分である差分情報(例えば、ワークテーブルWT1〜WT7の内容)に基づいて、仮想サーバ等の作成命令i1〜i10を生成していることによるものである。
また、本実施形態の動作例1によれば、ワークテーブルWT1〜WTAとマスターテーブルMT1〜MT7との差分である差分情報(例えば、ワークテーブルWT1〜WT7の内容)に基づいて、仮想サーバ等の作成命令i1〜i10を生成し、当該作成した仮想サーバ等の作成命令i1〜i10を物理サーバ20(例えば、ハイパーバイザ)、ネットワークスイッチ30(SVP31)、ストレージ装置40(SVP43)に送信することで、仮想サーバ22を生成し、かつ、仮想サーバ22がストレージ装置40(ボリューム)に共有接続するための環境を構築することができる。
[管理サーバの動作例2(仮想サーバの削除処理)]
[構成定義情報]
まず、動作例2で用いる構成定義情報の具体例について説明を行う。図24は、動作例2で用いる構成定義情報の具体例である。
図24に示す構成定義情報は、図22に示すように物理サーバ20A(物理サーバ名:HW001)、物理サーバ20B(物理サーバ名:HW002)において仮想サーバ22A(仮想サーバ名:Dom0001)、仮想サーバ22B(仮想サーバ名:Dom0002)が生成され、かつ、仮想サーバ22A、22Bがストレージ装置40(ボリューム名:vd-1101)に共有接続するための環境が構築されている場合に、仮想サーバ22A(仮想サーバ名:Dom0001)、仮想サーバ22B(仮想サーバ名:Dom0002)を削除し、かつ、仮想サーバ22A、22Bがストレージ装置40(ボリューム名:vd-1101)に共有接続するための環境を削除するための情報である。
図24に示すように、構成定義情報は、サーバ構成定義情報D4、ネットワーク構成定義情報D5、ストレージ構成定義情報D6を含む。構成定義情報D4〜D6は、構成定義情報D1〜D3中の「ステータス」の「新規」を「削除」に置き換えたものに相当する。構成定義情報D4〜D6中の各項目は、構成定義情報D1〜D3中の各項目と同様であるため、その説明を省略する。
[マスターテーブル]
次に、動作例2で用いるマスターテーブルの具体例について説明を行う。図25は、動作例2で用いるマスターテーブルの具体例である。
以下、マスターテーブルMTに、情報処理システム10の現在の構成(論理的な構成)を表す情報として、ワークテーブルWT1〜WT7(図6参照)の内容が登録されているものとして説明する。
図25に示すように、マスターテーブルMTは、ユーザテーブルMT1A、仮想サーバテーブルMT2A、仮想ディスクテーブルMT3A、仮想ネットワークテーブルMT4A、LUNテーブルMT5A、ネットワーク構成定義テーブルMT6A、volumeテーブルMT7A、マシンタイプテーブルMT8Aを含む。マスターテーブルMT(MT1A〜MT7A)中の各項目は、構成定義情報D4〜D6中の各項目と同様であるため、その説明を省略する。
[ワークテーブル]
次に、動作例2で用いるワークテーブルの具体例について説明を行う。図26は、動作例2で用いるワークテーブルの具体例である。
ワークテーブルWTには、情報処理システム10の現在の構成(論理的な構成)を変更(削除)する情報が登録される。以下、情報処理システム10の現在の構成(論理的な構成)を変更(削除)する情報として、ワークテーブルWTに、仮想サーバ22A(仮想サーバ名:Dom0001)、仮想サーバ22B(仮想サーバ名:Dom0002)を削除し、かつ、仮想サーバ22A、22Bがストレージ装置40(ボリューム名:vd-1101)に共有接続するための環境を削除するための情報が登録されているものとして説明を行う。
図26に示すように、ワークテーブルWTは、ユーザテーブルWT1A、仮想サーバテーブルWT2A、仮想ディスクテーブルWT3A、仮想ネットワークテーブルWT4A、LUNテーブルWT5A、ネットワーク構成定義テーブルWT6A、volumeテーブルWT7Aを含む。ワークテーブルWT(WT1A〜WT7A)は、図24に示す構成定義情報D4〜D6を、仮想サーバ、仮想ストレージ、仮想ネットワーク、ネットワーク、ストレージ等のカテゴリごとに分割したものである。ワークテーブルWT(WT1A〜WT7A)中の各項目は、構成定義情報D4〜D6中の各項目と同様であるため、その説明を省略する。
[管理サーバが生成する命令]
次に、動作例2で管理サーバ50が生成する命令の具体例について説明を行う。図27〜図29は、動作例2で管理サーバ50が生成する命令の具体例である。
管理サーバ50が生成する命令には、主に、仮想サーバ削除に関する命令(図27参照)、ボリューム削除に関する命令(図28参照)、VLAN削除に関する命令(図29参照)がある。
図27に示すように、仮想サーバ削除に関する命令には、仮想サーバ停止命令i11、仮想サーバ削除命令i12、仮想ディスク削除命令i13、仮想ネットワーク削除命令i14、マルチパスドライバ削除命令i15がある。仮想サーバ削除に関する命令i11〜i15は、管理サーバ50がネットワークNWを介して物理サーバ20A、20Bに送信する。
図28に示すように、ボリューム削除に関する命令には、ボリューム削除命令i16、LUNグループマッピング解除命令i17がある。ボリューム削除に関する命令i16〜i17は、管理サーバ50がネットワークNWを介してストレージ装置40に送信する。
図29に示すように、VLAN削除に関する命令には、VLAN削除命令i18、VLAN削除命令i19がある。VLAN削除に関する命令i18〜i19は、管理サーバ50がネットワークNWを介してネットワークスイッチ装置30に送信する。
なお、図27〜図29に示す各命令i11〜i19の詳細については、後述する。
次に、管理サーバ50の動作例2(仮想サーバの削除処理)について説明する。図30〜図32は、管理サーバ50の動作例2(仮想サーバの削除処理)を説明するためのフローチャートである。
図30に示すように、まず、ユーザが、構成定義情報D4〜D6(図24参照)を管理サーバ50に配置する(ステップS81)。具体的には、ユーザは、ネットワークNWに接続された端末(図示せず)等から構成定義情報D4〜D6を入力する。入力された構成定義情報D4〜D6は、ネットワークNWを介して管理サーバ50に送信され、管理サーバ50(入力処理部57)が受信(取得)する。
次に、入力処理部57が、構成定義情報D4〜D6から「ステータス」が「削除」の内容(行)を抽出し、仮想サーバ、仮想ストレージ、仮想ネットワーク、ネットワーク、ストレージ等のカテゴリごとに分割する(ステップS82)。
次に、入力処理部57が、分割された構成定義情報D4〜D6をデータベース56(ワークテーブルWT1A〜WT7A)に登録するように直接制御部59に指示する(ステップS83)。
次に、直接制御部59が、分割された構成定義情報D4〜D6をデータベース56(ワークテーブルWT1A〜WT7A)に登録する(ステップS84)。これにより、ワークテーブルWT1A〜WT7Aに、図26に示す内容が登録される。
次に、収集部60が、データベース56からワークテーブルWT1A〜WT7AとマスターテーブルMT1A〜MT7Aの内容をそれぞれ読み込み、命令生成処理部58に送信する(ステップS85)。
次に、命令生成処理部58が、ワークテーブルWT1A〜WT7AとマスターテーブルMT1A〜MT7Aとをそれぞれ比較する(ステップS86)。その結果、ワークテーブルWT1A〜WT7Aの内容がマスターテーブルMT1A〜MT7Aに含まれない場合(ステップS87:No)、処理を終了する。
一方、ワークテーブルWT1A〜WT7Aの内容がマスターテーブルMT1A〜MT7Aに含まれる場合(ステップS87:Yes)、命令生成処理部58が、データベース56(ワークテーブルWT1A〜WT7A)から、ワークテーブルWT1A〜WT7AとマスターテーブルMT1A〜MT7Aとの一致情報(例えば、仮想サーバの情報)をそれぞれ抽出する(ステップS88)。
次に、命令生成処理部58が、抽出した一致情報に基づいて、仮想サーバ削除に関する命令i11〜i14(仮想サーバ停止命令i11、仮想サーバ削除命令i12、仮想ディスク削除命令i13、仮想ネットワーク削除命令i14)をそれぞれ生成し、直接制御部59に送信する(ステップS89)。
次に、直接制御部59が、物理サーバ20にアクセスし、仮想サーバ削除に関する命令i11〜i14を実行する(ステップS90)。具体的には、直接制御部59が、ネットワークNWを介して、仮想サーバ削除に関する命令i11〜i14を物理サーバ20にそれぞれ送信する。物理サーバ20は、当該仮想サーバ削除に関する命令i11〜i14をそれぞれ受信し、これらを実行することで仮想サーバ22を削除する。
そして、全ての仮想サーバ22の削除が完了すると(ステップS91:Yes)、命令生成処理部58が、データベース56(ワークテーブルWT1A〜WT7A)から、ワークテーブルWT1A〜WT7AとマスターテーブルMT1A〜MT7Aとの一致情報(例えば、ネットワークの情報)をそれぞれ抽出する(ステップS92)。
次に、命令生成処理部58が、抽出した一致情報に基づいて、ネットワークスイッチ装置30のネットワークポートのVLAN削除に関する命令i18〜i19(VLAN削除命令i18、VLAN削除命令i19)をそれぞれ生成し、直接制御部59に送信する(ステップS93)。
次に、直接制御部59が、ネットワークスイッチ装置30にアクセスし、VLAN削除に関する命令i18〜i19をそれぞれ実行する(ステップS94)。具体的には、直接制御部59が、ネットワークNWを介して、VLAN削除に関する命令i18〜i19をネットワークスイッチ装置30にそれぞれ送信する。ネットワークスイッチ装置30は、当該VLAN削除に関する命令i18〜i19をそれぞれ受信し、これらを実行することでVLANを削除する。
次に、命令生成処理部58が、ワークテーブルWT1A〜WT7AとマスターテーブルMT1A〜MT7Aとの一致情報に基づいて、LUNグループマッピング解除命令i17を生成し、直接制御部59に送信する(ステップS95)。
次に、直接制御部59が、ストレージ装置40にアクセスし、LUNグループマッピング解除命令i17を実行する(ステップS96)。具体的には、直接制御部59が、ネットワークNWを介して、LUNグループマッピング解除命令i17をストレージ装置40に送信する。ストレージ装置40は、当該LUNグループマッピング解除命令i17を受信し、これを実行することでLUNグループマッピングを解除する。
次に、管理サーバ50が物理サーバ20のマルチパスドライバの有無を判定し(ステップS97)、マルチパスドライバが有る場合(ステップS94:有り)、命令生成処理部58が、ワークテーブルWT1A〜WT7AとマスターテーブルMT1A〜MT7Aとの一致情報に基づいて、マルチパスドライバ削除命令i15を生成し、直接制御部59に送信する(ステップS98)。
次に、直接制御部59が、物理サーバ20にアクセスし、マルチパスドライバ削除命令i15を実行する(ステップS99)。具体的には、直接制御部59が、マルチパスドライバ削除命令i15をネットワークNWを介して物理サーバ20に送信する。物理サーバ20は、当該マルチパスドライバ削除命令i15を受信し、これを実行することで、LUをマルチパスドライバから削除する。
次に、命令生成処理部58が、データベース56(ワークテーブルWT1〜WT7)から、ワークテーブルWT1A〜WT7AとマスターテーブルMT1A〜MT7Aとの一致情報(例えば、volume、LUNの情報)を抽出し(ステップS100)、抽出した一致情報に基づいて、ボリューム削除命令i16を生成し、直接制御部59に送信する(ステップS101)。
次に、直接制御部59が、ストレージ装置40にアクセスし、ボリューム削除命令i16を実行することでボリュームを削除する(ステップS102)。具体的には、直接制御部59が、ネットワークNWを介して、ボリューム削除命令i16をストレージ装置40に送信する。ストレージ装置40は、当該ボリューム削除命令i16を受信し、これを実行することでボリュームを削除する。
そして、ボリューム削除が完了した場合(ステップS103:Yes)、命令生成処理部58が、データベース56にアクセスし、ワークテーブルWT1A〜WT7Aの内容をマスターテーブルMT1A〜MT7Aから削除する(ステップS104)。
[情報処理システムの動作例2]
次に、情報処理システム10の動作例2について説明する。図33〜図35は、情報処理システム10の動作例2を説明するためのシーケンス図である。
以下、情報処理システム10の動作例2として、図22に示す状態から、図18に示すように、仮想サーバ22A(仮想サーバ名:Dom0001)、仮想サーバ22B(仮想サーバ名:Dom0002)を削除し、かつ、仮想サーバ22A、22Bがストレージ装置40(ボリューム名:vd-1101)に共有接続するための環境を削除する処理を説明する。
図33に示すように、まず、ユーザが、構成定義情報D4〜D6(図24参照)を入力する(ステップS110)。具体的には、ユーザは、ネットワークNWに接続された端末(図示せず)等から構成定義情報D4〜D6を入力する。構成定義情報D4〜D6は、端末に接続されたキーボード等から入力してもよいし、構成定義情報D4〜D6を含むファイルを端末に読み込ませることで入力してもよい。入力された構成定義情報D4〜D6は、端末からネットワークNWを介して管理サーバ50に送信され、管理サーバ50(入力処理部57)が受信(取得)する。
次に、入力処理部57が、構成定義情報D4〜D6を分割する(ステップS111)。具体的には、入力処理部57は、構成定義情報D4〜D6から「ステータス」が「削除」の内容を抽出し、仮想サーバ、仮想ストレージ、仮想ネットワーク、ネットワーク、ストレージ等のカテゴリごとに分割する。
次に、入力処理部57が、命令生成処理部58に対して、分割された構成定義情報D4〜D6をデータベース56(ワークテーブルWT1A〜WT7A)に登録するための命令生成を指示する(ステップS112)。
次に、命令生成処理部58が、分割された構成定義情報D4〜D6をデータベース56(ワークテーブルWT1A〜WT7A)に登録するための命令を生成し、当該命令を直接制御部59に送信する(ステップS113)。
次に、直接制御部59が、入力処理部57から、分割された構成定義情報D4〜D6を読み込む(ステップS114)。
次に、直接制御部59が、読み込んだ分割された構成定義情報D4〜D6をデータベース56(ワークテーブルWT1A〜WT7A)に登録する(ステップS115)。これにより、ワークテーブルWT1A〜WT7Aに、図26に示す内容が登録される。
次に、収集部60が、データベース56からワークテーブルWT1A〜WT7AとマスターテーブルMT1A〜MT7Aの内容を読み込み、命令生成処理部58に送信する(ステップS116)。
次に、命令生成処理部58が、ワークテーブルWT1A〜WT7AとマスターテーブルMT1A〜MT7Aとを比較する(ステップS117)。その結果、ワークテーブルWT1A〜WT7Aの内容がマスターテーブルMT1A〜MT7Aに含まれる場合、命令生成処理部58は、ワークテーブルWT1A〜WT7AとマスターテーブルMT1A〜MT7Aとの一致情報(ここでは、ワークテーブルWT1A〜WT7Aの内容)に基づいて、命令i11〜i19を生成する(ステップS118)。すなわち、命令生成処理部58は、ワークテーブルWT1A〜WT7AとマスターテーブルMT1A〜MT7Aとの一致情報(ここでは、ワークテーブルWT1A〜WT7Aの内容)を設定(反映)した命令i11〜i19を生成する。命令i11〜i19の具体例については後述する。
[仮想サーバ停止命令i11の具体例]
まず、命令生成処理部58が、データベース56(ワークテーブルWT1A〜WT7A)から、ワークテーブルWT1A〜WT7AとマスターテーブルMT1A〜MT7Aとの一致情報(例えば、仮想サーバの情報)を抽出し、抽出した一致情報に基づいて、仮想サーバ削除に関する命令(仮想サーバ停止命令i11、仮想サーバ削除命令i12、仮想ディスク削除命令i13、仮想ネットワーク削除命令i14)を生成する。
図27を参照して、仮想サーバ停止命令i11の具体例を説明する。
図27に示すように、仮想サーバ停止命令i11は、先頭に配置された文字列「ssh」、「<管理ユーザ>」、「<物理サーバ名>」、コマンド「ldm stop-domain」、「<仮想サーバ名>」を含む。「管理ユーザ」の部分には、物理サーバ20の管理ユーザ名(例えば、root)が設定される。「物理サーバ名」の部分には、仮想サーバテーブルWT2A中の「物理サーバ名(HW001、HW002)」が設定される。「仮想サーバ名」の部分には、仮想サーバテーブルWT2A中の「仮想サーバ名(Dom0001, Dom0002)」が設定される。
その結果、仮想サーバ停止命令i11として、次の2つの命令が生成される。
(1)ssh <root>@<HW001> ldm stop-domain <Dom0001>、(2)ssh <root>@<HW002> ldm stop-domain <Dom0002>
[仮想サーバ削除命令i12の具体例]
図27を参照して、仮想サーバ削除命令i12の具体例を説明する。
図27に示すように、仮想サーバ削除命令i12は、先頭に配置された文字列「ssh」、「<管理ユーザ>」、「<物理サーバ名>」、コマンド「ldm remove-domain」、「<仮想サーバ名>」を含む。「管理ユーザ」の部分には、物理サーバ20の管理ユーザ名(例えば、root)が設定される。「物理サーバ名」の部分には、仮想サーバテーブルWT2A中の「物理サーバ名(HW001、HW002)」が設定される。「仮想サーバ名」の部分には、仮想サーバテーブルWT2A中の「仮想サーバ名(Dom0001, Dom0002)」が設定される。
その結果、仮想サーバ削除命令i12として、次の2つの命令が生成される。
(1)ssh <root>@<HW001> ldm remove-domain <Dom0001>、(2)ssh <root>@<HW002> ldm remove-domain <Dom0002>
[仮想ディスク削除命令i13の具体例]
図27を参照して、仮想ディスク削除命令i13の具体例を説明する。
図27に示すように、仮想ディスク削除命令i13は、先頭に配置された文字列「ssh」、「<管理ユーザ>」、「<物理サーバ名>」、コマンド「ldm remove-vdsdev」、「<仮想ディスク名>」、「<仮想ディスクサービス名>」を含む。「管理ユーザ」の部分には、物理サーバ20の管理ユーザ名(例えば、root)が設定される。「物理サーバ名」の部分には、仮想サーバテーブルWT2A中の「物理サーバ名(HW001、HW002)」が設定される。「仮想ディスク名」の部分には、仮想ディスクテーブルWT3A中の「Disk名(vd-1101、vd-1101)」が設定される。「仮想ディスクサービス名」の部分には、デフォルト名が設定される。
その結果、仮想ディスク削除命令i13として、次の2つの命令が生成される。
(1)ssh <root>@<HW001> ldm remove-vdsdev <vd-1101>@<デフォルト名>、(2)ssh <root>@<HW002> ldm remove-vdsdev <vd-1101>@<デフォルト名>
[仮想ネットワーク削除命令i14の具体例]
図27を参照して、仮想ネットワーク削除命令i14の具体例を説明する。
図27に示すように、仮想ネットワーク削除命令i14は、先頭に配置された文字列「ssh」、「<管理ユーザ>」、「<物理サーバ名>」、コマンド「ldm remove-vnet」、「<仮想ネットワークポート名>」、「<仮想サーバ名>」を含む。「管理ユーザ」の部分には、物理サーバ20の管理ユーザ名(例えば、root)が設定される。「物理サーバ名」の部分には、仮想サーバテーブルWT2A中の「物理サーバ名(HW001、HW002)」が設定される。「仮想ネットワークポート名」の部分には、仮想ネットワークテーブルWT4A中の「port名(Vnet001、Vnet001)」が設定される。「仮想サーバ名」の部分には、仮想サーバテーブルWT2A中の「仮想サーバ名(Dom0001, Dom0002)」が設定される。
その結果、仮想ネットワーク削除命令i14として、次の2つの命令が生成される。
(1)ssh <root>@<HW001> ldm remove-vnet <Vnet001> <Dom0001>、(2)ssh <root>@<HW002> ldm remove-vnet <Vnet001> <Dom0002>
次に、図34に示すように、命令生成処理部58は、生成した仮想サーバ削除に関する命令i11〜i14を直接制御部59に送信する(ステップS119)。
次に、直接制御部59が、物理サーバ20にアクセスし、仮想サーバ削除に関する命令i11〜i14を実行する(ステップS120)。具体的には、直接制御部59は、仮想サーバ削除に関する命令i11〜i14中の「物理サーバ名(HM001、HM002)」に対応づけられたIPアドレスを用いて、仮想サーバ削除に関する命令i11〜i14を物理サーバ20に送信する。
次に、物理サーバ20(NIC20d)が、管理サーバ50からネットワークNWを介して送信された仮想サーバ削除に関する命令i11〜i14を受信する。そして、物理サーバ20(ハイパーバイザ21)が、管理サーバ50から受信した仮想サーバ削除に関する命令i1〜i4を実行することで、仮想サーバ22を停止する処理(ステップS121)、仮想ディスクを削除する処理(ステップS122)、仮想ネットワークを削除する処理(ステップS123)、仮想サーバを削除する処理(ステップS124)を実行する。さらに、物理サーバ20(ハイパーバイザ21)は、SVP23が備えるメモリに記憶された仮想サーバ定義テーブルT1を削除する処理を実行してもよい。
[VLAN削除命令i18の具体例]
次に、図35に示すように、命令生成処理部58が、VLAN削除に関する命令(VLAN削除命令i18、VLAN削除命令i19)を生成し、当該VLAN削除に関する命令i18、i19を直接制御部59に送信する(ステップS125)。
図29を参照して、VLAN削除命令i18の具体例を説明する。
図29に示すように、VLAN削除命令i18は、先頭に配置された文字列「ssh」、「<管理ユーザ>」、「<ネットワークスイッチ名>」、コマンド「no vlan」、「<VLAN ID>」を含む。「管理ユーザ」の部分には、ネットワークスイッチ装置30の管理ユーザ名(例えば、root)が設定される。「ネットワークスイッチ名」の部分には、ネットワーク構成定義テーブルWT6A中の「スイッチ名(Nex2)」が設定される。「VLAN ID」の部分には、ネットワーク構成定義テーブルWT6A中の「VLAN(1101)」が設定される。
その結果、VLAN削除命令i18として、次の命令が生成される。
ssh <root>@<Nex2> no vlan <1101>
[VLAN削除命令i19の具体例]
図29を参照して、VLAN削除命令i19の具体例を説明する。
図29に示すように、VLAN削除命令i19は、先頭に配置された文字列「ssh」、「<管理ユーザ>」、「<ネットワークスイッチ名>」、コマンド「interface」、「<ポート>」を含む。また、VLAN削除命令i19は、先頭に配置された文字列「ssh」、「<管理ユーザ>」、「<ネットワークスイッチ名>」、コマンド「switch mode trunk」を含む。また、VLAN削除命令i19は、先頭に配置された文字列「ssh」、「<管理ユーザ>」、「<ネットワークスイッチ名>」、コマンド「switch trunk allowed vlan remove」、「<VLAN ID>」を含む。「管理ユーザ」の部分には、ネットワークスイッチ装置30の管理ユーザ名(例えば、root)が設定される。「ネットワークスイッチ名」の部分には、ネットワーク構成定義テーブルWT6A中の「スイッチ名(Nex2)」が設定される。「ポート」の部分には、ネットワーク構成定義テーブルWT6A中の「port(010、011)」が設定される。「VLAN ID」の部分には、ネットワーク構成定義テーブルWT6A中の「VLAN(1101)」が設定される。
その結果、VLAN削除命令i19として、次の4つの命令が生成される。
(1)ssh <root>@<Nex2> interface <010>、(2)ssh <root>@<Nex2> interface <011>、(3)ssh <root>@<Nex2> switch mode trunk、(4)ssh <root>@<Nex2> switch trunk allowed vlan remove <1101>
次に、図35に戻って、直接制御部59が、ネットワークスイッチ装置30にアクセスし、VLAN削除に関する命令i18、i19を実行する(ステップS126)。具体的には、直接制御部59は、VLAN削除に関する命令i18、i19中の「ネットワークスイッチ名(Nex2)」に対応づけられたIPアドレスを用いて、VLAN削除に関する命令i18、i19をネットワークスイッチ装置30に送信する。
次に、ネットワークスイッチ装置30(SVP31)は、管理サーバ50からネットワークNWを介して送信されたVLAN削除に関する命令i18、i19を受信し、受信したVLAN削除に関する命令i18、i19を実行することで、VLANを削除する(ステップS127)。さらに、ネットワークスイッチ装置30は、(SVP31)は、SVP31が備えるメモリに記憶された仮想ネットワーク定義テーブルT3を削除する処理を実行してもよい。
[LUNグループマッピング解除命令i17の具体例]
次に、命令生成処理部58が、LUNグループマッピング解除命令i17を生成し、直接制御部59に送信する(ステップS128)。
図28を参照して、LUNグループマッピング解除命令i17の具体例を説明する。
図28に示すように、LUNグループマッピング解除命令i17は、先頭に配置された文字列「ssh」、「<管理ユーザ>」、「<ストレージ装置名>」、コマンド「delete lun-group -lg-name」、「<LUNグループ名>」、「<lun番号>」を含む。「管理ユーザ」の部分には、ストレージ装置40の管理ユーザ名(例えば、root)が設定される。「ストレージ装置名」の部分には、volumeテーブルWT7A中の「筐体名(ET200-1)」が設定される。「LUNグループ名」の部分には、LUNテーブルWT5A中の「LUNグループ名(Dom0001、Dom0002)」が設定される。「lun番号」の部分には、LUNテーブルWT5A中の「LUN番号(1101)」が設定される。
その結果、LUNグループマッピング解除命令i17として、次の2つの命令が生成される。
(1)ssh <root>@<ET200-1> delete lun-group ?lg-name <Dom0001> -lun<1101>、(2)ssh <root>@<ET200-1> delete lun-group ?lg-name <Dom0002> -lun<1101>
次に、図35に戻って、直接制御部59が、ストレージ装置40にアクセスし、LUNグループマッピング解除命令i17を実行する(ステップS129)。具体的には、直接制御部59は、LUNグループマッピング解除命令i17中の「ストレージ装置名(ET200-1)」に対応づけられたIPアドレスを用いて、LUNグループマッピング解除命令i17をストレージ装置40に送信する。
次に、ストレージ装置40(SVP43)は、管理サーバ50からネットワークNWを介して送信されたLUNグループマッピング解除命令i17を受信し、受信したLUNグループマッピング解除命令i17を実行することで、LUNグループを解除する(ステップS130)。さらに、ストレージ装置40(SVP43)は、SVP43が備えるメモリに記憶されたディスクとサーバ接続定義テーブルT2を削除する処理を実行してもよい。
[マルチパスドライバ削除命令i15の具体例]
次に、命令生成処理部58が、マルチパスドライバ削除命令i15を生成し、直接制御部59に送信する(ステップS130)。
図27を参照して、マルチパスドライバ削除命令i15の具体例を説明する。
図27に示すように、マルチパスドライバ削除命令i15は、先頭に配置された文字列「ssh」、「<管理ユーザ>」、「<物理サーバ名>」、コマンド「grmpdautoconf」を含む。「管理ユーザ」の部分には、物理サーバ20の管理ユーザ名(例えば、root)が設定される。「物理サーバ名」の部分には、仮想サーバテーブルWT2A中の「物理サーバ名(HW001、HW002)」が設定される。
その結果、マルチパスドライバ削除命令i15として、次の2つの命令が生成される。
(1)ssh <root>@<HW001> grmpdautoconf、(2) ssh <root>@<HW002> grmpdautoconf
次に、図35に戻って、直接制御部59が、物理サーバ20にアクセスし、マルチパスドライバ削除命令i15を実行する(ステップS131)。具体的には、直接制御部59は、マルチパスドライバ削除命令i15中の「物理サーバ名(HW001、HW002)」に対応づけられたIPアドレスを用いて、マルチパスドライバ削除命令i15を物理サーバ20に送信する。
次に、物理サーバ20は、管理サーバ50からネットワークNWを介して送信されたマルチパスドライバ削除命令i15を受信し、受信したマルチパスドライバ削除命令i15を実行することで、LUをマルチパスドライバから削除する(ステップS132)。
[ボリューム削除命令i16の具体例]
次に、命令生成処理部58が、ボリューム削除命令i16を生成し、直接制御部59に送信する(ステップS133)。
図28を参照して、ボリューム削除命令i16の具体例を説明する。
図28に示すように、ボリューム削除命令i16は、先頭に配置された文字列「ssh」、「<管理ユーザ>」、「<ストレージ装置名>」、コマンド「delete volume -volume-number」、「<ボリューム番号>」を含む。「管理ユーザ」の部分には、ストレージ装置40の管理ユーザ名(例えば、root)が設定される。「ストレージ装置名」の部分には、volumeテーブルWT7A中の「筐体名(ET200-1)」が設定される。「ボリューム番号」の部分には、volumeテーブルWT7A中の「vol番号(1101)」が設定される。
その結果、ボリューム削除命令i16として、次の命令が生成される。
ssh <root>@<ET200-1> delete volume -volume-number <1101>
次に、図35に戻って、直接制御部59が、ストレージ装置40にアクセスし、ボリューム削除命令i16を実行する(ステップS134)。具体的には、直接制御部59は、ボリューム削除命令i16中の「ストレージ装置名(ET200-1)」に対応づけられたIPアドレスを用いて、ボリューム削除命令i16をストレージ装置40に送信する。
次に、ストレージ装置40(SVP43)は、管理サーバ50からネットワークNWを介して送信されたボリューム削除命令i16を受信し、受信したボリューム削除命令i16を実行することで、ボリュームを削除する(ステップS135)。さらに、ストレージ装置40(SVP43)は、SVP43が備えるメモリに記憶されたディスクとサーバ接続定義テーブルT2を削除する処理を実行してもよい。
以上説明したように、動作例2によれば、ワークテーブルWT1A〜WT7AとマスターテーブルMT1A〜MT7Aとの一致情報(例えば、ワークテーブルWT1A〜WT7Aの内容)に基づいて、仮想サーバ等の削除命令i11〜i17を生成し、当該作成した仮想サーバ等の削除命令i11〜i17を物理サーバ20(例えば、ハイパーバイザ)、ネットワークスイッチ30(SVP31)、ストレージ装置40(SVP43)に送信することで、仮想サーバ22を削除し、かつ、仮想サーバ22がストレージ装置40に共有接続するための環境を削除することができる。
[管理サーバの動作例3(仮想サーバの移動処理)]
[構成定義情報]
まず、動作例3で用いる構成定義情報の具体例について説明を行う。図36は、動作例3で用いる構成定義情報の具体例である。
図36に示す構成定義情報は、図49に示すように物理サーバ20A(物理サーバ名:HW001)、物理サーバ20B(物理サーバ名:HW002)において仮想サーバ22A(仮想サーバ名:Dom0001)、仮想サーバ22B(仮想サーバ名:Dom0002)が生成され、かつ、仮想サーバ22A、22Bがストレージ装置40(ボリューム名:vd-1101)に共有接続するための環境が構築されている場合に、図50に示すように仮想サーバ22B(仮想サーバ名:Dom0002)を削除し、図51に示すように物理サーバ20C(物理サーバ名:HW004)において仮想サーバ22B(仮想サーバ名:Dom0002)を生成し、かつ、仮想サーバ22A、22Bがストレージ装置40(ボリューム名:vd-1101)に共有接続するための環境を構築するための情報である。
なお、動作例3では、図49に示すように、図1に示す構成に対して、さらに物理サーバ20Cが追加されている。
図36に示すように、構成定義情報は、サーバ構成定義情報D7、ネットワーク構成定義情報D8、ストレージ構成定義情報D9を含む。構成定義情報D7〜D9は、構成定義情報D1〜D3中の「ステータス」の「新規」を「変更」に置き換え、サーバ構成定義情報D7中の「物理サーバ名」の「HW0001」を「HW0004」に置き換え、ネットワーク構成定義情報D8中の「Port」の「011」を「013」に置き換え、ネットワーク構成定義情報D8中の「接続先サーバ」の「HW0002」を「HW0004」に置き換え、さらに、「LUNグループ」の「Dom0002」を「Dom0004」に置き換えたものに相当する。
[マスターテーブル]
次に、動作例3で用いるマスターテーブルの具体例について説明を行う。図37は、動作例3で用いるマスターテーブルの具体例である。
以下、マスターテーブルMTに、情報処理システム10の現在の構成(論理的な構成)を表す情報として、ワークテーブルWT1〜WT7(図7参照)の内容が登録されているものとして説明する。
図37に示すように、マスターテーブルMTは、ユーザテーブルMT1B、仮想サーバテーブルMT2B、仮想ディスクテーブルMT3B、仮想ネットワークテーブルMT4B、LUNテーブルMT5B、ネットワーク構成定義テーブルMT6B、volumeテーブルMT7B、マシンタイプテーブルMT8Bを含む。マスターテーブルMT(MT1B〜MT7B)中の各項目は、構成定義情報D7〜D9中の各項目と同様であるため、その説明を省略する。
[ワークテーブル]
次に、動作例3で用いるワークテーブルの具体例について説明を行う。図38は、動作例3で用いるワークテーブルの具体例である。
ワークテーブルWTには、情報処理システム10の現在の構成(論理的な構成)を変更(削除等)する情報が登録される。以下、情報処理システム10の現在の構成(論理的な構成)を変更(削除等)する情報として、ワークテーブルWTに、図50に示すように仮想サーバ22B(仮想サーバ名:Dom0002)を削除し、図51に示すように物理サーバ20C(物理サーバ名:HW004)において仮想サーバ22B(仮想サーバ名:Dom0002)を生成し、かつ、仮想サーバ22A、22Bがストレージ装置40(ボリューム名:vd-1101)に共有接続するための環境を削除するための情報が登録されているものとして説明を行う。
図37に示すように、ワークテーブルWTは、ユーザテーブルWT1B、仮想サーバテーブルWT2B、仮想ディスクテーブルWT3B、仮想ネットワークテーブルWT4B、LUNテーブルWT5B、ネットワーク構成定義テーブルWT6B、volumeテーブルWT7Bを含む。ワークテーブルWT(WT1B〜WT7B)は、図36に示す構成定義情報D7〜D9を、仮想サーバ、仮想ストレージ、仮想ネットワーク、ネットワーク、ストレージ等のカテゴリごとに分割したものである。ワークテーブルWT(WT1B〜WT7B)中の各項目は、構成定義情報D7〜D8中の各項目と同様であるため、その説明を省略する。
[動作例3で管理サーバが生成する命令]
動作例3で管理サーバ50が生成する命令には、動作例1で説明した命令i1〜i10(図8〜図10)、動作例2で説明した命令i11〜i19(図27〜図29)がある。
次に、管理サーバ50の動作例3(仮想サーバの移動処理)について説明する。図39〜図43は、管理サーバ50の動作例3(仮想サーバの移動処理)を説明するためのフローチャートである。
図39に示すように、まず、ユーザが、構成定義情報D7〜D9(図36参照)を管理サーバ50に配置する(ステップS141)。具体的には、ユーザは、ネットワークNWに接続された端末(図示せず)等から構成定義情報D7〜D9を入力する。入力された構成定義情報D7〜D9は、ネットワークNWを介して管理サーバ50に送信され、管理サーバ50(入力処理部57)が受信(取得)する。
次に、入力処理部57が、構成定義情報D7〜D9から「ステータス」が「変更」の内容(行)を抽出し、仮想サーバ、仮想ストレージ、仮想ネットワーク、ネットワーク、ストレージ等のカテゴリごとに分割する(ステップS142)。
次に、入力処理部57が、分割された構成定義情報D7〜D9をデータベース56(ワークテーブルWT1B〜WT7B)に登録するように直接制御部59に指示する(ステップS143)。
次に、直接制御部59が、分割された構成定義情報D7〜D9をデータベース56(ワークテーブルWT1B〜WT7B)に登録する(ステップS144)。これにより、ワークテーブルWT1B〜WT7Bに、図38に示す内容が登録される。
次に、収集部60が、データベース56からワークテーブルWT1B〜WT7BとマスターテーブルMT1B〜MT7Bの内容を読み込み、命令生成処理部58に送信する(ステップS145)。
次に、命令生成処理部58が、ワークテーブルWT1B〜WT7BとマスターテーブルMT1B〜MT7Bとを比較する(ステップS146)。その結果、ワークテーブルWT1B〜WT7Bの仮想サーバ(仮想サーバ名:Dom0002)がマスターテーブルMT1B〜MT7Bに含まれない場合(ステップS147:No)、処理を終了する。
一方、ワークテーブルWT1B〜WT7Bの仮想サーバ(仮想サーバ名:Dom0002)がマスターテーブルMT1B〜MT7Bに含まれる場合(ステップS147:Yes)、命令生成処理部58が、データベース56(マスターテーブルMT1B〜MT7B)からワークテーブルWT1B〜WT7Bの仮想サーバ(仮想サーバ名:Dom0002)に該当する行に含まれる仮想サーバの情報を抽出する(ステップS148)。
次に、仮想サーバ(仮想サーバ名:Dom0002)を削除するために、命令生成処理部58が、抽出した情報に基づいて、仮想サーバ削除に関する命令i11〜i14(仮想サーバ停止命令i11、仮想サーバ削除命令i12、仮想ディスク削除命令i13、仮想ネットワーク削除命令i14)を生成し、生成した仮想サーバ削除に関する命令i11〜i14を直接制御部59に送信する(ステップS149)。
次に、直接制御部59が、物理サーバ20B(物理サーバ名:HW002)にアクセスし、仮想サーバ削除に関する命令i11〜i14を実行する(ステップS150)。具体的には、直接制御部59が、仮想サーバ削除に関する命令i11〜i14をネットワークNWを介して物理サーバ20Bに送信する。物理サーバ20Bは、当該仮想サーバ削除に関する命令i11〜i14を受信し、これを実行することで仮想サーバ22B(仮想サーバ名:Dom0002)を削除する。
そして、全ての仮想サーバ22の削除が完了すると(ステップS151:Yes)、命令生成処理部58が、データベース56(マスターテーブルMT1B〜MT7B)からワークテーブルWT1B〜WT7Bの仮想サーバ(仮想サーバ名:Dom0002)に該当する行に含まれるネットワークの情報を抽出する(ステップS152)。
次に、命令生成処理部58が、抽出した情報に基づいて、ネットワークスイッチ装置30のネットワークポートのVLAN削除に関する命令i18〜i19を生成し、直接制御部59に送信する(ステップS153)。
次に、直接制御部59が、ネットワークスイッチ装置30にアクセスし、VLAN削除に関する命令i18〜i19を実行する(ステップS154)。具体的には、直接制御部59が、ネットワークNWを介して、VLAN削除に関する命令i18〜i19をネットワークスイッチ装置30にそれぞれ送信する。ネットワークスイッチ装置30(SVP31)は、当該VLAN削除に関する命令i18〜i19をそれぞれ受信し、これを実行することでVLANを削除する。
次に、命令生成処理部58が、ステップS152で抽出した情報に基づいて、LUNグループマッピング解除命令i17を生成し、直接制御部59に送信する(ステップS155)。
次に、直接制御部59が、ストレージ装置40にアクセスし、LUNグループマッピング解除命令i17を実行する(ステップS156)。具体的には、直接制御部59が、LUNグループマッピング解除命令i17をネットワークNWを介してストレージ装置40に送信する。ストレージ装置40(SVP43)は、当該LUNグループマッピング解除命令i17を受信し、これを実行することでLUNグループマッピングを解除する。
次に、管理サーバ50が物理サーバ20Bのマルチパスドライバの有無を判定し(ステップS157)、マルチパスドライバが有る場合(ステップS157:有り)、命令生成処理部58が、ステップS152で抽出した情報に基づいて、マルチパスドライバ削除命令i15を生成し、直接制御部59に送信する(ステップS158)。
次に、直接制御部59が、物理サーバ20Bにアクセスし、マルチパスドライバ削除命令i15を実行する(ステップS159)。具体的には、直接制御部59が、ネットワークNWを介して、マルチパスドライバ削除命令i15を物理サーバ20Bにそれぞれ送信する。物理サーバ20Bは、当該マルチパスドライバ削除命令i15を受信し、これを実行することで、LUをマルチパスドライバから削除する。
次に、命令生成処理部58が、データベース56にアクセスし、ワークテーブルWT1A〜WT7Aの内容をマスターテーブルMT1B〜MT7Bから削除する(ステップS160)。
次に、命令生成処理部58が、データベース56(ワークテーブルWT1B〜WT7B)からストレージの情報を抽出する(ステップS161)。
次に、命令生成処理部58が、抽出した情報に基づいて、ボリュームをサーバ接続と連携するためのLUNグループマッピング命令i8を生成し、直接制御部59に送信する(ステップS162)。
次に、直接制御部59が、ストレージ装置40にアクセスし、LUNグループマッピング命令i8を実行する(ステップS163)。具体的には、直接制御部59が、ネットワークNWを介して、LUNグループマッピング命令i8をストレージ装置40に送信する。ストレージ装置40(SVP43)は、当該LUNグループマッピング命令i8を受信し、これを実行することでLUNグループを作成(物理サーバ20C(物理サーバ名:HW004)との接続を構成)する。
次に、管理サーバ50が物理サーバ20Cのマルチパスドライバの有無を判定し(ステップS164)、マルチパスドライバが有る場合(ステップS164:有り)、命令生成処理部58が、物理サーバ20Cのマルチパスドライバ追加命令i6を生成し、直接制御部59に送信する(ステップS165)。
次に、直接制御部59が、物理サーバ20Cにアクセスし、マルチパスドライバ追加命令i6を実行する(ステップS166)。具体的には、直接制御部59が、ネットワークNWを介して、マルチパスドライバ追加命令i6を物理サーバ20Cに送信する。物理サーバ20Cは、当該マルチパスドライバ追加命令i6を受信し、これを実行することで、LUをマルチパスドライバに組み込む。
次に、命令生成処理部58が、データベース56(ワークテーブルWT1B〜WT7B)からネットワークの情報を抽出する(ステップS167)。
次に、命令生成処理部58が、抽出した情報に基づいて、ネットワークスイッチ装置30のネットワークポートのVLAN作成命令i9、VLAN追加命令i10を生成し、直接制御部59に送信する(ステップS168)。
次に、直接制御部59が、ネットワークスイッチ装置30にアクセスし、VLAN作成命令i9、VLAN追加命令i10を実行する(ステップS169)。具体的には、直接制御部59が、ネットワークNWを介して、VLAN作成命令i9、VLAN追加命令i10をネットワークスイッチ装置30にそれぞれ送信する。ネットワークスイッチ装置30(SVP31)は、当該VLAN作成命令i9、VLAN追加命令i10をそれぞれ受信し、これらを実行することでVLANを追加する。
次に、命令生成処理部58が、データベース56(ワークテーブルWT1B〜WT7B)から仮想サーバの情報を抽出する(ステップS170)。
次に、命令生成処理部58が、抽出した情報に基づいて、仮想サーバ作成命令i1、CPU追加命令i2、Memory追加命令i3、仮想ディスク追加命令i4、仮想ネットワーク追加命令i5を生成し、直接制御部59に送信する(ステップS171)。
次に、直接制御部59が、物理サーバ20Cにアクセスし、仮想サーバ作成命令i1、CPU追加命令i2、Memory追加命令i3、仮想ディスク追加命令i4、仮想ネットワーク追加命令i5を実行する(ステップS172)。具体的には、直接制御部59が、ネットワークNWを介して、仮想サーバ作成命令i1、CPU追加命令i2、Memory追加命令i3、仮想ディスク追加命令i4、仮想ネットワーク追加命令i5をサーバ20Cにそれぞれ送信する。物理サーバ20Cは、当該仮想サーバ作成命令i1、CPU追加命令i2、Memory追加命令i3、仮想ディスク追加命令i4、仮想ネットワーク追加命令i5をそれぞれ受信し、これらを実行することで仮想サーバ22Bを追加する。
そして、全ての仮想サーバ22の作成が完了すると(ステップS173:Yes)、命令生成処理部58が、データベース56にアクセスし、ワークテーブルWT1B〜WT7Bの内容をマスターテーブルMT1B〜MT7Bに挿入(登録)する(ステップS174)。
[情報処理システムの動作例3]
次に、情報処理システム10の動作例3について説明する。図44〜図48は、情報処理システム10の動作例3を説明するためのシーケンス図である。
以下、情報処理システム10の動作例3として、物理サーバ20B上の仮想サーバ22B(図49参照)を、図51に示すように、物理サーバ20Bから物理サーバ20Cに移動する処理を説明する。
図44に示すように、まず、ユーザが、構成定義情報D7〜D9(図36参照)を入力する(ステップS180)。具体的には、ユーザは、ネットワークNWに接続された端末(図示せず)等から構成定義情報D7〜D9を入力する。構成定義情報D7〜D9は、端末に接続されたキーボード等から入力してもよいし、構成定義情報D7〜D9を含むファイルを端末に読み込ませることで入力してもよい。入力された構成定義情報D7〜D9は、端末からネットワークNWを介して管理サーバ50にそれぞれ送信され、管理サーバ50(入力処理部57)がそれぞれ受信(取得)する。
次に、入力処理部57が、構成定義情報D7〜D9を分割する(ステップS181)。具体的には、入力処理部57は、構成定義情報D7〜D9から「ステータス」が「変更」の内容を抽出し、仮想サーバ、仮想ストレージ、仮想ネットワーク、ネットワーク、ストレージ等のカテゴリごとに分割する。
次に、入力処理部57が、命令生成処理部58に対して、分割された構成定義情報D7〜D9をデータベース56(ワークテーブルWT1B〜WT7B)に登録するための命令生成を指示する(ステップS182)。
次に、命令生成処理部58が、分割された構成定義情報D7〜D9をデータベース56(ワークテーブルWT1B〜WT7B)に登録するための命令を生成し、当該命令を直接制御部59に送信する(ステップS183)。
次に、直接制御部59が、入力処理部57から、分割された構成定義情報D7〜D9を読み込む(ステップS184)。
次に、直接制御部59が、読み込んだ分割された構成定義情報D7〜D9をデータベース56(ワークテーブルWT1B〜WT7B)に登録する(ステップS185)。これにより、ワークテーブルWT1B〜WT7Bに、図38に示す内容が登録される。
次に、収集部60が、データベース56からワークテーブルWT1B〜WT7BとマスターテーブルMT1B〜MT7Bの内容を読み込み、命令生成処理部58に送信する(ステップS186)。
次に、命令生成処理部58が、ワークテーブルWT1B〜WT7BとマスターテーブルMT1B〜MT7Bとを比較する(ステップS187)。その結果、ワークテーブルWT1B〜WT7Bの仮想サーバ(仮想サーバ名:Dom0002)がマスターテーブルMT1B〜MT7Bに含まれる場合、命令生成処理部58は、マスターテーブルMT1B〜MT7Bの内容(マスターテーブルMT1B〜MT7Bの仮想サーバ(仮想サーバ名:Dom0002)に該当する行の内容)に基づいて、命令i11〜i19を生成する(ステップS188)。すなわち、命令生成処理部58は、マスターテーブルMT1B〜MT7Bの内容(マスターテーブルMT1B〜MT7Bの仮想サーバ(仮想サーバ名:Dom0002)に該当する行の内容)を反映した命令i11〜i19を生成する。
[仮想サーバ停止命令i11の具体例]
まず、命令生成処理部58が、マスターテーブルMT1B〜MT7Bの内容(マスターテーブルMT1B〜MT7Bの仮想サーバ(仮想サーバ名:Dom0002)に該当する行の内容)に基づいて、仮想サーバ削除に関する命令(仮想サーバ停止命令i11、仮想サーバ削除命令i12、仮想ディスク削除命令i13、仮想ネットワーク削除命令i14)を生成する。
仮想サーバ停止命令i11(図27参照)中の「管理ユーザ」の部分には、管理サーバ50の管理ユーザ名(例えば、root)が設定される。「物理サーバ名」の部分には、仮想サーバテーブルMT2B中の「物理サーバ名(HW0002)」が設定される。「仮想サーバ名」の部分には、仮想サーバテーブルMT2B中の「仮想サーバ名(Dom0002)」が設定される。
その結果、仮想サーバ停止命令i11として、次の命令が生成される。
ssh <root>@<HW002> ldm stop-domain <Dom0002>
[仮想サーバ削除命令i12の具体例]
仮想サーバ削除命令i12(図27参照)中の「管理ユーザ」の部分、「物理サーバ名」の部分、「仮想サーバ名」の部分には、仮想サーバ停止命令i11で説明したのと同様の内容が設定される。
その結果、仮想サーバ削除命令i12として、次の命令が生成される。
ssh <root>@<HW002> ldm remove-domain <Dom0002>
[仮想ディスク削除命令i13の具体例]
仮想ディスク削除命令i13(図27参照)中の「管理ユーザ」の部分、「物理サーバ名」の部分には、仮想サーバ停止命令i11で説明したのと同様の内容が設定される。「仮想ディスク名」の部分には、仮想ディスクテーブルMT3B中の「Disk名(vd-1101)」が設定される。「仮想ディスクサービス名」の部分には、デフォルト名が設定される。
その結果、仮想ディスク削除命令i13として、次の命令が生成される。
ssh <root>@<HW002> ldm remove-vdsdev <vd-1101>@<デフォルト名>
[仮想ネットワーク削除命令i14の具体例]
仮想ネットワーク削除命令i14(図27参照)中の「管理ユーザ」の部分、「物理サーバ名」の部分、「仮想サーバ名」の部分には、仮想サーバ停止命令i11で説明したのと同様の内容が設定される。「仮想ネットワークポート名」の部分には、仮想ネットワークテーブルMT4B中の「port名(Vnet001)」が設定される。
その結果、仮想ネットワーク削除命令i14として、次の命令が生成される。
ssh <root>@<HW002> ldm remove-vnet <Vnet001> <Dom0002>
次に、図45に示すように、命令生成処理部58は、生成した仮想サーバ削除に関する命令i11〜i14を直接制御部59に送信する(ステップS189)。
次に、直接制御部59が、物理サーバ20Bにアクセスし、仮想サーバ削除に関する命令i11〜i14を実行する(ステップS190)。具体的には、直接制御部59は、仮想サーバ削除に関する命令i11〜i14中の「物理サーバ名(HM002)」に対応づけられたIPアドレスを用いて、仮想サーバ削除に関する命令i11〜i14を物理サーバ20Bにそれぞれ送信する。
次に、物理サーバ20B(NIC20d)が、管理サーバ50からネットワークNWを介して送信された仮想サーバ削除に関する命令i11〜i14をそれぞれ受信する。そして、物理サーバ20(ハイパーバイザ21B)が、管理サーバ50から受信した仮想サーバ作成に関する命令i1〜i4を実行することで、仮想サーバ22を停止する処理(ステップS191)、仮想ディスクを削除する処理(ステップS192)、仮想ネットワークを削除する処理(ステップS193)、仮想サーバを削除する処理(ステップS194)を実行する。さらに、物理サーバ20B(ハイパーバイザ21B)は、SVP23Bが備えるメモリに記憶された仮想サーバ定義テーブルT1を削除する処理を実行してもよい。
[VLAN削除命令i18の具体例]
次に、図46に示すように、命令生成処理部58が、マスターテーブルMT1B〜MT7Bの内容(ワークテーブルWT1B〜WT7Bの仮想サーバ(仮想サーバ名:Dom0002)に該当する行の内容)に基づいて、VLAN削除に関する命令(VLAN削除命令i18、VLAN削除命令i19)を生成し、当該VLAN削除に関する命令i18、i19を直接制御部59に送信する(ステップS195)。
VLAN削除命令i18(図29参照)中の「管理ユーザ」には、ネットワークスイッチ装置30の管理ユーザ名(例えば、root)が設定される。「ネットワークスイッチ名」の部分には、ネットワーク構成定義テーブルMT6B中の「スイッチ名(Nex2)」が設定される。「VLAN ID」の部分には、ネットワーク構成定義テーブルMT6B中の「VLAN(1101)」が設定される。
その結果、VLAN削除命令i18として、次の命令が生成される。
ssh <root>@<Nex2> no vlan <1101>
[VLAN削除命令i19の具体例]
VLAN削除命令i19(図29参照)中の「管理ユーザ」の部分、「ネットワークスイッチ名」の部分、「VLAN ID」の部分には、VLAN削除命令i18で説明したのと同様の内容が設定される。「ポート」の部分には、ネットワーク構成定義テーブルMT6B中の「port(011)」が設定される。
その結果、VLAN削除命令i19として、次の3つの命令が生成される。
(1)ssh <root>@<Nex2> interface <011>、(2)ssh <root>@<Nex2> switch mode trunk、(3)ssh <root>@<Nex2> switch trunk allowed vlan remove <1101>
次に、図46に戻って、直接制御部59が、ネットワークスイッチ装置30にアクセスし、VLAN削除に関する命令i18、i19を実行する(ステップS196)。具体的には、直接制御部59は、VLAN削除に関する命令i18、i19中の「ネットワークスイッチ名(Nex2)」に対応づけられたIPアドレスを用いて、VLAN削除に関する命令i18、i19をネットワークスイッチ装置30に送信する。
次に、ネットワークスイッチ装置30(SVP31)は、管理サーバ50からネットワークNWを介して送信されたVLAN削除に関する命令i18、i19をそれぞれ受信し、受信したVLAN削除に関する命令i18、i19をそれぞれ実行することで、VLANを削除する(ステップS197)。さらに、ネットワークスイッチ装置30(SVP31)は、SVP31が備えるメモリに記憶された仮想ネットワーク定義テーブルT3を削除する処理を実行してもよい。
[LUNグループマッピング解除命令i17の具体例]
次に、命令生成処理部58が、LUNグループマッピング解除命令i17を生成し、直接制御部59に送信する(ステップS198)。
LUNグループマッピング解除命令i17(図28参照)中の「管理ユーザ」の部分、「ストレージ装置名」には、ボリューム削除命令i16で説明したのと同様の内容が設定される。「LUNグループ名」の部分には、LUNテーブルMT5B中の「LUNグループ名(Dom0003)」が設定される。「lun番号」の部分には、LUNテーブルMT5B中の「LUN番号(1101)」が設定される。
その結果、LUNグループマッピング解除命令i17として、次の命令が生成される。
ssh <root>@<ET200-1> delete lun-group ?lg-name <Dom0003> -lun<1101>
次に、図46に戻って、直接制御部59が、ストレージ装置40にアクセスし、LUNグループマッピング解除命令i17を実行する(ステップS199)。具体的には、直接制御部59は、LUNグループマッピング解除命令i17中の「ストレージ装置名(ET200-1)」に対応づけられたIPアドレスを用いて、LUNグループマッピング解除命令i17をストレージ装置40に送信する。
次に、ストレージ装置40(SVP43)は、管理サーバ50からネットワークNWを介して送信されたLUNグループマッピング解除命令i17を受信し、受信したLUNグループマッピング解除命令i17を実行することで、LUNグループを解除する(ステップS200)。さらに、ストレージ装置40(SVP43)は、SVP43が備えるメモリに記憶されたディスクとサーバ接続定義テーブルT2を削除する処理を実行してもよい。
[マルチパスドライバ削除命令i15の具体例]
次に、命令生成処理部58が、マルチパスドライバ削除命令i15を生成し、直接制御部59に送信する(ステップS201)。
マルチパスドライバ削除命令i15(図27参照)中の「管理ユーザ」の部分、「物理サーバ名」の部分には、仮想サーバ停止命令i11で説明したのと同様の内容が設定される。
その結果、マルチパスドライバ削除命令i15として、次の命令が生成される。
ssh <root>@<HW002> grmpdautoconf
次に、図46に戻って、直接制御部59が、物理サーバ20にアクセスし、マルチパスドライバ削除命令i15を実行する(ステップS202)。具体的には、直接制御部59は、マルチパスドライバ削除命令i15中の「物理サーバ名(HM002)」に対応づけられたIPアドレスを用いて、マルチパスドライバ削除命令i15を物理サーバ20Bに送信する。
次に、物理サーバ20Bは、管理サーバ50からネットワークNWを介して送信されたマルチパスドライバ削除命令i15を受信し、受信したマルチパスドライバ削除命令i15を実行することで、LU(又はLUN)をマルチパスドライバから削除する(ステップS203)。
次に、命令生成処理部58は、ワークテーブルWT1B〜WT7Bの内容に基づいて、命令i11〜i19を生成する(ステップS204)。すなわち、命令生成処理部58は、ワークテーブルWT1B〜WT7Bの内容を設定(反映)した命令i11〜i19を生成する。
[LUNグループマッピング命令i8の具体例]
次に、命令生成処理部58が、LUNグループマッピング命令i8を生成し、直接制御部59に送信する(ステップS205)。
LUNグループマッピング命令i8(図9参照)中の「管理ユーザ」の部分には、ストレージ装置40の管理ユーザ名(例えば、root)が設定される。「ストレージ装置名」の部分には、volumeテーブルWT7B中の「筐体名(ET200-1)」が設定される。「LUNグループ名」の部分には、LUNテーブルWT5B中の「LUNグループ名(Dom0003)」が設定される。「ボリューム名」の部分には、LUNテーブルWT5B中の「vol名(vd-1101)」が設定される。「lun番号」の部分には、LUNテーブルWT5B中の「LUN番号(1101)」が設定される。
その結果、LUNグループマッピング命令i8として、次の命令が生成される。
ssh <root>@<ET200-1> set lun-group -lg-name <Dom0003> -volume-name<vd-1101> -lun <1101>
次に、図47に戻って、直接制御部59が、ストレージ装置40にアクセスし、LUNグループマッピング命令i8を実行する(ステップS206)。具体的には、直接制御部59は、LUNグループマッピング命令i8中の「ストレージ装置名(ET200-1)」に対応づけられたIPアドレスを用いて、LUNグループマッピング命令i8をストレージ装置40に送信する。
次に、ストレージ装置40(SVP43)は、管理サーバ50からネットワークNWを介して送信されたLUNグループマッピング命令i8を受信する処理、SVP43が備えるメモリに記憶されたディスクとサーバ接続定義テーブルT2に該当データを登録する処理を実行する。
また、ストレージ装置40(SVP43)は、管理サーバ50から受信したLUNグループマッピング命令i8を実行することで、LUNグループ(LUNグループ名:Dom0003)を作成(物理サーバ20Cとの接続を構成)する(ステップS207)。
[VLAN作成命令i9の具体例]
次に、命令生成処理部58が、VLAN作成に関する命令(VLAN作成命令i9、VLAN追加命令i10)を生成し、当該VLAN作成に関する命令i9、i10を直接制御部59に送信する(ステップS208)。
VLAN作成命令i9(図10参照)中の「管理ユーザ」の部分には、ネットワークスイッチ装置30の管理ユーザ名(例えば、root)が設定される。「ネットワークスイッチ名」の部分には、ネットワーク構成定義テーブルWT6B中の「スイッチ名(Nex2)」が設定される。「「VLAN ID」の部分には、ネットワーク構成定義テーブルWT6B中の「VLAN(1101)」が設定される。
その結果、VLAN作成命令i9として、次の命令が生成される。
ssh <root>@<Nex2> vlan <1101>
[VLAN追加命令i10の具体例]
VLAN作成命令i9(図10参照)中の「管理ユーザ」の部分、「ネットワークスイッチ名」の部分には、VLAN作成命令i9で説明したのと同様の内容が設定される。また、「ポート」の部分には、ネットワーク構成定義テーブルWT6B中の「port(013)」が設定される。
その結果、VLAN追加命令i10として、次の3つの命令が生成される。
(1)ssh <root>@<Nex2> interface <013>、(2)ssh <root>@<Nex2> switch mode trunk、(3) ssh <root>@<Nex2> switch trunk allowed vlan add <1101>
次に、図47に戻って、直接制御部59が、ネットワークスイッチ装置30にアクセスし、VLAN作成に関する命令i9、i10を実行する(ステップS209)。具体的には、直接制御部59は、VLAN作成に関する命令i9、i10中の「ネットワークスイッチ名(Nex2)」に対応づけられたIPアドレスを用いて、VLAN作成に関する命令i9、i10をネットワークスイッチ装置30に送信する。
次に、ネットワークスイッチ装置30(SVP31)は、管理サーバ50からネットワークNWを介して送信されたVLAN作成に関する命令i9、i10を受信する処理、SVP31が備えるメモリに記憶された仮想ネットワーク定義テーブルT3に該当データを登録する処理(ステップS210)を実行する。
また、ネットワークスイッチ装置30(SVP31)は、管理サーバ50から受信したVLAN作成に関する命令i9、i10を実行することで、VLANを作成(物理サーバ20Cとの接続を構成)する(ステップS211)。
[マルチパスドライバ追加命令i6の具体例]
次に、物理サーバ20Cにマルチパスドライバが有る場合、命令生成処理部58が、物理サーバ20Cのマルチパスドライバ追加命令i6を生成し、直接制御部59に送信する(ステップS212)。
マルチパスドライバ追加命令i6(図8参照)中の「管理ユーザ」の部分には、物理サーバ20の管理ユーザ名(例えば、root)が設定される。「物理サーバ名」の部分には、仮想サーバテーブルWT2B中の「物理サーバ名(HM004)」が設定される。
その結果、マルチパスドライバ追加命令i6として、次の命令が生成される。
ssh <root>@<HM004> grmpdautoconf
次に、図47に戻って、直接制御部59が、物理サーバ20Cにアクセスし、マルチパスドライバ追加命令i6を実行する(ステップS213)。具体的には、直接制御部59は、マルチパスドライバ追加命令i6中の「物理サーバ名(HM004)」に対応づけられたIPアドレスを用いて、マルチパスドライバ追加命令i6を物理サーバ20Cに送信する。
次に、物理サーバ20Cは、管理サーバ50からネットワークNWを介して送信されたマルチパスドライバ追加命令i6を例えば、NIC20dが受信する処理、SVP23が備えるメモリに記憶された仮想サーバ定義テーブルT1に該当データを例えば、ハイパーバイザ21がSVP23に登録させる処理(ステップS64)を実行する。具体的には、仮想サーバ定義テーブルT1(図23参照)中の「マルチパス」に、物理サーバ20Cにマルチパスドライバが有る場合に「有」を登録する。
また、物理サーバ20Cは、管理サーバ50から受信したマルチパスドライバ追加命令i6を例えば、ハイパーバイザ21が実行することで、LUをマルチパスドライバに組み込む(ステップS214)。
次に、図48に示すように、命令生成処理部58が、仮想サーバ作成に関する命令(仮想サーバ作成命令i1、CPU追加命令i2、Memory追加命令i3、仮想ディスク追加命令i4、仮想ネットワーク追加命令i5)を生成し、当該仮想サーバ作成に関する命令i1〜i5を直接制御部59に送信する(ステップS215)。
[仮想サーバ作成命令i1の具体例]
仮想サーバ作成命令i1(図8参照)中の「管理ユーザ」の部分には、管理サーバ50の管理ユーザ名(例えば、root)が設定される。「物理サーバ名」の部分には、仮想サーバテーブルWT2B中の「物理サーバ名(HM004)」が設定される。「仮想サーバ名」の部分には、仮想サーバテーブルWT2B中の「仮想サーバ名(Dom0002)」が設定される。
その結果、仮想サーバ作成命令i1として、次の命令が生成される。
ssh <root>@<HW004> ldm add-domain <Dom0002>
[CPU追加命令i2の具体例]
仮想サーバ作成命令i1(図8参照)中の「管理ユーザ」の部分には、管理サーバ50の管理ユーザ名(例えば、root)が設定される。「物理サーバ名」の部分には、仮想サーバテーブルWT2B中の「物理サーバ名(HM004)」が設定される。「仮想サーバ名」の部分には、仮想サーバテーブルWT2B中の「仮想サーバ名(Dom0002)」が設定される。また、「コア数」の部分には、仮想サーバテーブルWT2B中の「マシンタイプ」と同じ「タイプ」が対応するマシンタイプテーブルMT8B中の「CPU数」が設定される。例えば、図38に示すように、ワークテーブルWT2B中の「マシンタイプ」が2である場合、「コア数」には、仮想サーバテーブルWT2B中の「マシンタイプ(ここでは2)」と同じ「タイプ(ここでは2)」が対応するマシンタイプテーブルMT8B中の「CPU数(ここでは4)」が設定される。
その結果、CPU追加命令i2として、次の命令が生成される。
ssh <root>@<HW004> ldm set-core <4> <Dom0002>
[Memory追加命令i3の具体例]
Memory追加命令i3(図8参照)中の「管理ユーザ」の部分には、管理サーバ50の管理ユーザ名(例えば、root)が設定される。「物理サーバ名」の部分には、仮想サーバテーブルWT2B中の「物理サーバ名(HM004)」が設定される。「容量」の部分には、仮想サーバテーブルWT2B中の「マシンタイプ」と同じ「タイプ」が対応するマシンタイプテーブルMT8B中の「Memory容量」が設定される。例えば、図6に示すように、ワークテーブルWT2B中の「マシンタイプ」が2である場合、「容量」の部分には、仮想サーバテーブルWT2B中の「マシンタイプ(ここでは2)」と同じ「タイプ(ここでは2)」が対応するマシンタイプテーブルMT8B中の「Memory容量(ここでは64GB)」が設定される。「仮想サーバ名」の部分には、仮想サーバテーブルWT2B中の「仮想サーバ名(Dom0002)」が設定される。
その結果、Memory追加命令i3として、次の命令が生成される。
ssh <root>@<HW004> ldm set-memory <4> <Dom0002>
[仮想ディスク追加命令i4の具体例]
仮想ディスク追加命令i4(図8参照)中の「管理ユーザ」の部分には、管理サーバ50の管理ユーザ名(例えば、root)が設定される。「物理サーバ名」の部分には、仮想サーバテーブルWT2中の「物理サーバ名(HM004)」が設定される。「LUN」の部分には、仮想ディスクテーブルWT3中の「Lun番号(1101)」が設定される。「仮想ディスク名」の部分には、仮想ディスクテーブルWT3中の「Disk名(vd-1101)」が設定される。「仮想ディスクサービス名」の部分には、デフォルト名が設定される。「仮想サーバ名」の部分には、仮想ディスクテーブルWT3中の「仮想サーバ名(Dom0002)」が設定される。
その結果、仮想ディスク追加命令i4として、次の2つの命令が生成される。
(1)ssh <root>@<HW004> ldm add-vdsdev <1101> <vd-1101>@<デフォルト名>、(2)ssh <root>@<HW004> ldm add-vdisk <vd-1101> <vd-1101>@<デフォルト名> <Dom0002>
[仮想ネットワーク追加命令i5の具体例]
仮想ネットワーク追加命令i5(図8参照)中の「管理ユーザ」の部分には、物理サーバ20Cの管理ユーザ名(例えば、root)が設定される。「物理サーバ名」の部分には、仮想サーバテーブルWT2B中の「物理サーバ名(HW004)」が設定される。「VLAN ID」の部分には、仮想ネットワークテーブルWT4B中の「VLAN(1101)」が設定される。「仮想ネットワークポート名」の部分には、仮想ネットワークテーブルWT4B中の「port名(Vnet001)」が設定される。「仮想スイッチ名」の部分には、ネットワーク構成定義テーブルWT6B中の「仮想スイッチ名(VNex2)」が設定される。「仮想サーバ名」の部分には、仮想ネットワークテーブルWT4中の「仮想サーバ名(Dom0002)」が設定される。
その結果、仮想ネットワーク追加命令i5として、次の命令が生成される。
ssh <root>@<HW004> ldm add-vnet pvid=<1101> <Vnet001><VNex2> <Dom0002>
次に、図48に戻って、直接制御部59が、物理サーバ20Cにアクセスし、仮想サーバ作成に関する命令i1〜i5を実行する(ステップS216)。具体的には、直接制御部59は、仮想サーバ作成に関する命令i1〜i5中の「物理サーバ名(HW004)」に対応づけられたIPアドレスを用いて、仮想サーバ作成に関する命令i1〜i5を物理サーバ20Cに送信する。
次に、物理サーバ20Cは、管理サーバ50からネットワークNWを介して送信された仮想サーバ作成に関する命令i1〜i5を例えば、NIC20dが受信する処理、SVP23が備えるメモリに記憶された仮想サーバ定義テーブルT1に該当データを例えば、ハイパーバイザ21がSVP23に登録させる処理(ステップS217)を実行する。
また、物理サーバ20(ハイパーバイザ21)は、管理サーバ50から受信した仮想サーバ作成に関する命令i1〜i5を実行することで、仮想サーバ22(仮想CPU、メモリ、仮想ディスク、仮想ネットワーク等)を作成する(ステップS218〜S221)。
そして、仮想サーバ作成が完了すると、物理サーバ20C(ハイパーバイザ21又はSVP23)は、直接制御部59に対して、仮想サーバ作成完了を通知する(ステップS222)。
次に、命令生成処理部58が、直接制御部59の指示(ステップS223)に従って、データベース56にアクセスし、ワークテーブルWT1B〜WT7Bの内容をマスターテーブルMT1B〜MT7Bへ挿入する(ステップS224)。
以上説明したように、動作例3によれば、仮想サーバ等の作成命令i1〜i10、仮想サーバ等の削除命令i11〜i17により、仮想サーバ22をある物理サーバから別の物理サーバに移動することができる。その際、ボリュームは削除されないため(図51参照)、物理サーバ間の移動を迅速に行うことができる。
以上説明したように、本実施形態によれば、動的にシステム構成を変更することができる情報処理システムにおいて、システム構成変更前と変更後で一致する構成についてはこれを変更するという無駄が生ずるのを抑制することができる情報処理システム、管理装置、及び、情報処理システムの制御方法を提供することができる。
これは、ワークテーブルWT1〜WTAとマスターテーブルMT1〜MT7との差分である差分情報(例えば、ワークテーブルWT1〜WT7の内容)に基づいて、仮想サーバ等の作成命令i1〜i10を生成していることによるものである。
また、本実施形態によれば、物理装置(物理サーバ、ストレージ装置、ネットワークスイッチ装置)のリソースと接続構成を関係付けて管理することにより、物理装置のリソースと接続構成の内容を反映した仮想リソースのシステムを組むことができる。これにより、以下のようなことが実現できる。
第1に、各装置とリソースの配置や接続構成を直接制御できるので、クラスタシステムで必要な複数仮想サーバの分散配置や共有ディスク接続構成、専用インターコネクトネットワーク構成を組むことができる。
第2に、他のシステムのサーバ、ストレージ、ネットワークと独立したシステムを構築して提供できる。その結果、構築するシステムのサーバリソースが動作するサーバ装置と他のサーバとの独立性を確立でき、サーバ装置毎に依存したソフトウェアライセンスの管理ができる。
以上の実施の形態をまとめると、以下の付記のとおりである。
(付記1)
受信した制御情報に基づいて自身が内蔵される装置の構成変更を行う処理部をそれぞれ備える複数の電子装置と、前記複数の電子装置を管理する管理装置とを有する情報処理システムにおいて、
前記管理装置は、
前記情報処理システムの現在の構成情報を前記複数の電子装置から収集する収集部と、
前記収集部が収集する構成情報に基づいて前記情報処理システムの現在の構成を表す第1の構成定義情報と、入力される前記情報処理システムの変更後の構成を表す第2の構成定義情報とをそれぞれ記憶する記憶部と、
前記第1の構成定義情報と前記第2の構成定義情報との差分である差分情報に基づいて制御情報を生成し、生成した制御情報を前記複数の電子装置がそれぞれ備える処理部に送信する制御部とを有する情報処理システム。
(付記2)
付記1において、
前記複数の電子装置は、
仮想マシンをそれぞれ実行する複数の情報処理装置と、前記複数の情報処理装置から共有可能なストレージ装置とを含み、
前記制御部は、
前記差分情報に基づき、前記複数の仮想マシンが前記ストレージ装置と共有するかに関して判断した結果に応じて、前記複数の情報処理装置が前記ストレージ装置を共有して接続させる旨の制御情報、又は、前記複数の情報処理装置が共有して接続している前記ストレージ装置の共有状態を解除させる旨の制御情報を生成し、生成した制御情報を前記複数の情報処理装置がそれぞれ備える処理部と前記ストレージ装置が備える処理部とに送信する情報処理システム。
(付記3)
付記1又は2において、
前記複数の電子装置は、
仮想マシンをそれぞれ実行する複数の情報処理装置と、前記複数の情報処理装置と接続可能な通信装置とを含み、
前記制御部は、
前記差分情報に基づき、前記複数の仮想マシンが前記通信装置を介して接続されるかについて判断した結果に応じて、前記複数の情報処理装置が前記通信装置に割り当てられた仮想スイッチを介して接続される旨の制御情報を生成し、生成した制御情報を前記複数の情報処理装置がそれぞれ備える処理部と前記通信装置が備える処理部とに送信する情報処理システム。
(付記4)
受信した制御情報に基づいて自身が内蔵される装置の構成変更を行う処理部をそれぞれ備える複数の電子装置と、前記複数の電子装置を管理する管理装置とを有する情報処理システムにおいて、
前記管理装置は、
前記情報処理システムの現在の構成を表す第1の構成定義情報と、前記情報処理システムの変更後の構成を表す第2の構成定義情報とをそれぞれ記憶する記憶部と、
前記第1の構成定義情報と前記第2の構成定義情報との差分である差分情報に基づいて前記複数の電子装置それぞれに対応した制御情報を生成する制御情報生成部と、
前記制御情報生成部が生成した制御情報を前記複数の電子装置がそれぞれ備える処理部に送信する制御部とを有する情報処理システム。
(付記5)
付記4において、
前記複数の電子装置は、
仮想マシンをそれぞれ実行する複数の情報処理装置と、前記複数の情報処理装置がそれぞれ実行する仮想マシンから共有可能なストレージ装置とを含み、
前記制御情報生成部は、前記差分情報に基づき、前記複数の情報処理装置がそれぞれ実行する仮想マシンが前記ストレージ装置を共有して接続させる旨の制御情報、又は、前記複数の情報処理装置がそれぞれ実行する仮想マシンが共有して接続している前記ストレージ装置の共有状態を解除させる旨の制御情報を生成し、
前記処理部は、前記制御情報生成部が生成した制御情報を前記複数の情報処理装置がそれぞれ備える処理部と前記ストレージ装置が備える処理部とに送信する情報処理システム。
(付記6)
付記4又は5において、
前記複数の電子装置は、
仮想マシンをそれぞれ実行する複数の情報処理装置と、前記複数の情報処理装置と接続可能な通信装置とを含み、
前記制御情報生成部は、前記差分情報に基づき、前記複数の情報処理装置がそれぞれ実行する仮想マシンが仮想スイッチを介して接続される旨の制御情報を生成し、
前記制御部は、前記制御情報生成部が生成した制御情報を前記複数の情報処理装置がそれぞれ備える処理部と前記通信装置が備える処理部とに送信する情報処理システム。
(付記7)
付記1又は4において、
前記生成した制御情報は、前記情報処理システムの変更後の構成のうち前記差分情報が表す構成を生成するための制御情報である情報処理システム。
(付記8)
受信した制御情報に基づいて自身が内蔵される装置の構成変更を行う処理部をそれぞれ備える複数の電子装置と、前記複数の電子装置を管理する管理装置とを有する情報処理システムにおいて、
前記管理装置は、
前記情報処理システムの現在の構成を表す第1の構成定義情報と、前記情報処理システムの変更後の構成を表す第2の構成定義情報とをそれぞれ記憶する記憶部と、
前記第1の構成定義情報と前記第2の構成定義情報との一致情報に基づいて前記複数の電子装置それぞれに対応した制御情報を生成する制御情報生成部と、
前記制御情報生成部が生成した制御情報を前記複数の電子装置がそれぞれ備える処理部に送信する制御部とを有する情報処理システム。
(付記9)
付記8において、
前記生成した制御情報は、前記情報処理システムの現在の構成のうち前記一致情報が表す構成を削除するための制御情報である情報処理システム。
(付記10)
付記8又は9において、
前記複数の電子装置は、第1の仮想サーバが動作する第1の物理サーバと、第2の仮想サーバが動作する第2の物理サーバと、ストレージ装置と、ネットワークスイッチ装置と、管理サーバと、を含み、
前記制御情報生成部は、前記制御情報として、前記第1の仮想サーバ及び前記第2の仮想サーバを作成し、かつ、前記第1の仮想サーバ及び前記第2の仮想サーバが前記ストレージ装置に共有接続するための環境を構築するための制御情報を生成する情報処理システム。
(付記11)
付記10において、
前記第2の構成定義情報は、前記第1の仮想サーバと前記第1の物理サーバとの対応関係、前記第2の仮想サーバと前記第2の物理サーバとの対応関係、前記第1及び第2の仮想マシンと前記ストレージ装置との対応関係、前記第1及び第2の仮想マシンと前記ネットワークスイッチとの対応関係を含む情報処理システム。
(付記12)
受信した制御情報に基づいて自身が内蔵される装置の構成変更を行う処理部をそれぞれ備える複数の電子装置を有する情報処理システムにおいて用いられ、前記複数の電子装置を管理する管理装置において、
前記情報処理システムの現在の構成情報を前記複数の電子装置から収集する収集部と、
前記収集部が収集する構成情報に基づいて前記情報処理システムの現在の構成を表す第1の構成定義情報と、入力される前記情報処理システムの変更後の構成を表す第2の構成定義情報とをそれぞれ記憶する記憶部と、
前記第1の構成定義情報と前記第2の構成定義情報との差分である差分情報に基づいて制御情報を生成し、生成した制御情報を前記複数の電子装置がそれぞれ備える処理部に送信する制御部とを有する管理装置。
(付記13)
受信した制御情報に基づいて自身が内蔵される装置の構成変更を行う処理部をそれぞれ備える複数の電子装置と、前記複数の電子装置を管理する管理装置とを有する情報処理システムの現在の構成情報を前記複数の電子装置から収集し、
前記収集した構成情報に基づいて前記情報処理システムの現在の構成を表す第1の構成定義情報と、入力される前記情報処理システムの変更後の構成を表す第2の構成定義情報とを記憶部に記憶し、
前記第1の構成定義情報と前記第2の構成定義情報との差分である差分情報に基づいて制御情報を生成し、生成した制御情報を前記複数の電子装置がそれぞれ備える処理部に送信する情報処理システムの制御方法。