説明

マルチテナント型情報処理システム、管理サーバ及び構成管理方法

【課題】マルチテナント型情報処理システムにおいて、テナントの新規構成時に、テナントを構成する機器群において機器毎にテナントに依存する設計項目を特定し、設計項目に対する設計値を他のテナントと重なりなく算出する。
【解決手段】テナント設計項目管理テーブル350には、テナントを構成する機器毎に、機器に設定される設計項目と、該設計項目がテナント依存か否かを示す情報が予め記憶される。設計アルゴリズム管理テーブル352には、設計項目に対応して、設計項目の設計値をテナント毎に異なる値になるようにする算出式が記憶される。テナント設計部340は、テナントの初期構築時に、テナント設計項目管理テーブル350を参照して、該テナントを構成する機器に対応する設計項目のうちテナント依存の設計項目を特定し、テナント依存の設計項目に対して、設計アルゴリズム管理テーブル352の算出式に従って設計値を算出し格納する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、マルチテナント型情報処理システム、管理サーバ及び構成管理方法に係り、特に、複数の業務システム(いわゆるテナント)を単一のシステムに集約するマルチテナント型情報処理システムにおいて、テナントの初期構築(新規構成)時、テナントが利用するネットワーク機器に設定する設計項目をテナント間の重なりがないように自動で算出することで、テナントおよび機器間の設定の独立性を保障するマルチテナント型情報処理システム、管理サーバ及び構成管理方法に関する。
【背景技術】
【0002】
近年、データセンタ(DC)へのクラウドコンピューティング(クラウド)適用が進展し、活発化している。一般的なクラウドでは、DC事業者がサーバ・ストレージ・ネットワークからなる情報処理システム上に、複数の企業ITシステムや企業内の複数の業務システムを仮想化して構築する。クラウドは、仮想化技術がベースであるため、物理システムと比較して拡張性に優れる反面、複数の企業ITシステムを単一の情報処理システムに統合するため、複数のITシステムが混在し、複雑化している。なお、例えばクラウドに統合された、顧客ごとの仮想化されたITシステムあるいは仮想化された業務システムをテナントと呼ぶ。
構成の複雑化を回避するため、現在提供されているクラウドの例では、顧客に提供するITシステム構成のうち、仮想化されたサーバリソースや仮想化されたストレージリソースのカスタマイズは可能であるが、ネットワークの接続構成が固定化されている。このため、企業ITシステムのクラウド適用は限定的である。
一方、ネットワークの接続構成を柔軟にできるクラウドも提供されてきている。このようなクラウドでは、テナントの初期構築にあたり、台帳などを用いてテナント間の独立性を保障できるように、仮想化されたネットワークリソースの管理を行っている。近年仮想化されたサーバリソースや仮想化されたストレージリソースはプール化されてきているが、仮想化されたネットワークリソースはプール化されておらず、管理者が仮想ネットワークを識別するための番号(例えばVLAN番号やIPアドレスなど)を決めたのち、設定を行う作業プロセスを用いている。これはネットワークリソースの仮想化に当たっては、様々な機器や種類を考慮する必要があり、単一のリソース管理方法を用いることができないことが原因の一つとなっている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2004−272908号公報
【特許文献2】特開2004−40374号公報
【非特許文献】
【0004】
【非特許文献1】「サーバ仮想化環境における管理コストを低減するネットワーク]管理システムEasyLayeringの実装および評価」、電子情報通信学会技術研究報告、NS、ネットワークシステム109(273)、p.71−76、2009年11月
【発明の概要】
【発明が解決しようとする課題】
【0005】
従来のマルチテナント型情報処理システムにおけるテナントの初期構築では、次の点が課題となっている。
第一の課題は、マルチテナント型情報処理システムを構成する各種ネットワーク機器について、テナントに依存する設計項目を特定することが困難である。例えば、マルチテナント型情報処理システムにおけるレイヤ3のスイッチの設計においては、テナント間の独立性を保障するため、レイヤ3の仮想ネットワーク識別子(例えばVRF(Virtual Routing and Forwarding)識別子)やレイヤ2の仮想ネットワーク識別子(例えばVLAN(Virtual LAN)識別子)はテナント毎に決定される(テナントに依存する)が、レイヤ3スイッチの設定に必要なその他の設計項目、例えばネットマスク値等、はテナントに依存しない値として管理されることが多い。また、ファイヤウォールの設定項目のうち、例えば、仮想ルータの識別子や、サブインタフェースの識別子、VLAN識別子、サーバ識別子、ポリシー識別子等はテナント毎に決定されるが、その他の設計項目、例えばネットマスク値等は、テナントには依存しない値として管理される。さらにテナント毎に決定される設計項目の中には、テナント毎に設計値を算出する必要がある項目と、一度算出した設計値を参照する項目が存在する。このように、従来のマルチテナント型情報処理システムにおけるテナントの初期構築では、機器の設計項目ごとにテナントに依存する設計項目を特定することが困難である。
第二の課題は、テナントを初期構築する場合に、テナントが様々なネットワーク構成をとりうるため、テナントを構成する機器を特定するのが難しい点である。例えば、ひとつのテナントがファイヤウォールとレイヤ3のスイッチを使ってWeb三階層を構成する場合もあれば、別のテナントが計算サーバのみをレイヤ3スイッチで接続する構成をとる場合もある。あるいは、別のテナントが、ネットワークストレージを接続した業務システム構成をとる場合もある。このように、従来のマルチテナント型情報処理システムでは、テナントによって、利用する機器群が異なるため、テナントを構成する機器群を特定するのは困難である。
第三の課題は、たとえ機器を特定できて、テナントに依存する設計項目を特定できたとしても、その設計項目の設計値の決定方法が不明瞭な点である。例えば、テナントの初期構築において、スイッチのVLAN設計を行う場合に、当該テナントに対して、VLAN識別子として何番を利用すべきか、より具体的には、VLANのIDとして何番を使うべきか、を特定することが難しい。あるいは、ファイヤウォールの設計時に、仮想ルータを利用する場合には、仮想ルータ識別子として何を利用すべきかを特定することが難しい。これらの値は、テナント間の独立性を保障するように決定する必要がある。
これらの課題を解決するために、上述のマルチテナント型情報処理システムにおいて、テナントの初期構築時に、テナントを構成する機器においてテナントに依存する設計項目を特定し、特定した設計項目に対する設計値を他のテナントと重なりなく迅速に算出することが課題となる。
【0006】
なお、従来技術として以下の技術が開示されている。
特許文献1には、例えば、システムの設計、展開、管理のフェーズを統合する方法が開示されている(関連技術1)。データセンタでは、複数のアプリケーションをホストすることが求められているが、分散アプリケーションは複雑なネットワーキング要件を有する場合が多く、アプリ要件に適合するように物理ネットワークのトポロジを構築する作業は時間のかかるプロセスになる可能性が高い。また、このプロセスは、人為的ミスをこうむりやすい。この課題を解決するため、関連技術1には、システム定義モデルを使用して、システムを設計し、システム定義モデルを利用してシステムを一つまたは複数のコンピューティングデバイス上に展開する方法が開示されている。
特許文献2には、仮想ネットワーク設計装置およびサブネットワーク設計装置および仮想ネットワーク設計方法が開示されている(関連技術2)。関連技術2では、仮想ネットワークの設計およびメンテナンスを短時間で正確に完了させるため、物理ネットワークと仮想ネットワークの情報を並列に表示する。それにより、IPアドレスに関して、ユーザ間の重なりがないかどうかをGUI上で確認できるため、設計コストを削減できる。
非特許文献1には、例えば、サーバ・ネットワーク機器の物理および論理接続構成を管理し、VLAN設定作業を容易化する技術が開示されている(関連技術3)。テナントの仮想サーバの増設時に、仮想サーバを接続するVLANの識別子を入力すると、そのVLAN識別子に関連する複数スイッチの接続構成を検索し、関連するスイッチ群を特定して、複数スイッチのVLAN設定を自動的に行う。
上述の関連技術1は、テナントの初期構築時に、システム定義モデルを利用してテナントが構成する機器群を特定できる。しかしながら、以下の点で本発明が対象とする課題を解決できない。例えば、テナントを構成する機器を特定したのち、機器に設定すべき項目がテナントに依存する項目か、依存しない項目であるかを特定することは困難である。また、各設計項目に対して設定する設計値を算出することが困難である。
関連技術2では、仮想ネットワークの設計およびメンテナンスを短時間で正確に完了させるために、物理ネットワークと仮想ネットワークの情報を並列に表示するが、以下の点で本発明が対象とする課題を解決できない。例えば、テナントを構成する機器に設定する項目がテナントに依存する項目であるか、依存しない項目であるかを特定することが困難である。また、テナントを構成する機器を特定することも困難である。さらに、テナントを構成する機器と設計項目を特定したのち、各設計項目に対して設定する設計値を算出することは困難である。
関連技術3では、テナントを構成する機器がルータおよびスイッチである場合には、管理者が決定したVLANの設計値に基づき、そのVLANの設計値を設定すべき構成機器を特定して、その機器に対するVLANの設定を自動でできる。しかしながら、以下の点で本発明が対象とする課題を解決できない。たとえば、テナントを構成する機器を特定することが困難である。また、特定した機器に設定する設計項目のうちテナントに依存する設計項目を特定することも困難である。さらに、各設計項目に対して機器に設定する設計値を算出することも困難である。
本発明は、以上の点に鑑み、マルチテナント型情報処理システムにおいて、テナントの初期構築時に、テナントを構成する機器からテナントに依存する設計項目を特定し、設計項目に対する設計値を、他テナントとの重なりなく迅速に算出することを目的の一つとする。
【課題を解決するための手段】
【0007】
本発明では、このようなマルチテナント型情報処理システムにおいて、テナントの初期構築時に、テナントを構成する機器においてテナントに依存する設計項目を特定し、設計項目に対する設計値を他のテナントと重なりなく迅速に算出する。
例えば、テナントを構成する機器に設定する項目のうち、テナントに依存する設計項目を特定する課題に対しては、機器毎に、テナント依存の設計項目、テナント非依存の設計項目にあらかじめ分類し、テナント依存の設計項目をさらに、算出すべき項目と参照すべき項目に分類する。
また、テナントの初期構築時に、テナントを構成する機器群を特定する課題に対しては、テナントがどの機器で構成されるかを示す構成パターンを複数種類、事前に用意することにより使用機器を静的に決定する。
さらに、特定したテナント依存の設計項目に対して、設計値の算出方法を明確化する課題に対しては、テナント依存の設計項目の算出項目ごとにテナント間でオーバラップさせない算出アルゴリズムを静的に管理する。
【0008】
本発明の第1の解決手段によると、
複数種のネットワーク機器とサーバ装置とストレージ装置と管理サーバとを備え、クライアント毎に、前記ネットワーク機器のうち所望のネットワーク機器と前記サーバ装置による仮想サーバと前記ストレージ装置による仮想ストレージを含む仮想的なシステムであるテナントを構成し、複数のテナントを収容するマルチテナント型情報処理システムにおける前記管理サーバであって、
テナントを構成する機器毎に、機器に設定される設計項目と、設計項目それぞれがテナントに依存するか否かを示す情報が予め記憶されたテナント設計項目記憶領域と、
設計項目に対応して、設計項目の設計値をテナント毎に異なる値になるように算出するための算出規則が予め記憶された設計アルゴリズム記憶領域と、
テナントの初期構築時に、前記テナント設計項目記憶領域を参照して、該テナントを構成する機器に対する設計項目のうち、テナント依存の設計項目を特定し、特定したテナント依存の設計項目に対して、前記設計アルゴリズム記憶領域の算出規則に従って設計項目の設計値を算出して記憶するテナント設計部と
を備えた前記管理サーバが提供される。
【0009】
本発明の第2の解決手段によると、
複数種のネットワーク機器とサーバ装置とストレージ装置と管理サーバとを備え、クライアント毎に、前記ネットワーク機器のうち所望のネットワーク機器と前記サーバ装置による仮想サーバと前記ストレージ装置による仮想ストレージを含む仮想的なシステムであるテナントを構成し、複数のテナントを収容するマルチテナント型情報処理システムであって、
前記管理サーバは、
テナントを構成する機器毎に、機器に設定される設計項目と、設計項目それぞれがテナントに依存するか否かを示す情報が予め記憶されたテナント設計項目記憶領域と、
設計項目に対応して、設計項目の設計値をテナント毎に異なる値になるように算出するための算出規則が予め記憶された設計アルゴリズム記憶領域と、
テナントの初期構築時に、前記テナント設計項目記憶領域を参照して、該テナントを構成する機器に対する設計項目のうち、テナント依存の設計項目を特定し、特定したテナント依存の設計項目に対して、前記設計アルゴリズム記憶領域の算出規則に従って設計項目の設計値を算出して記憶するテナント設計部と
を備えたマルチテナント型情報処理システムが提供される。
【0010】
本発明の第3の解決手段によると、
複数種のネットワーク機器とサーバ装置とストレージ装置と管理サーバとを備え、クライアント毎に、前記ネットワーク機器のうち所望のネットワーク機器と前記サーバ装置による仮想サーバと前記ストレージ装置による仮想ストレージを含む仮想的なシステムであるテナントを構成し、複数のテナントを収容するマルチテナント型情報処理システムにおいて、テナントの新規構成時に、テナントを構成する機器に設定する設計値を求めるための構成管理方法であって、
前記管理サーバは、
テナントを構成する機器毎に、機器に設定される設計項目と、設計項目それぞれがテナントに依存するか否かを示す情報をテナント設計項目記憶領域に記憶し、
設計項目に対して、設計項目の設計値をテナント毎に異なる値になるように算出するための算出規則を設計アルゴリズム記憶領域に記憶し、
テナントの初期構築時に、テナント設計項目記憶領域を参照して、該テナントを構成する機器に対応する設計項目のうち、テナント依存の設計項目を特定し、特定したテナント依存の設計項目に対して、設計アルゴリズム記憶領域の算出規則に従って設計項目の設計値を算出して記憶する前記構成管理方法が提供される。
【発明の効果】
【0011】
本発明によると、マルチテナント型情報処理システムにおいて、テナントの初期構築時に、テナントを構成する機器からテナントに依存する設計項目を特定し、設計項目に対する設計値を、他テナントとの重なりなく迅速に算出することができる。
【図面の簡単な説明】
【0012】
【図1】本発明の実施の形態におけるシステム構成を示す図である。
【図2】本発明の実施の形態におけるサーバ110aの構成例である。
【図3】本発明の実施の形態における管理サーバ116の構成例である。
【図4】本発明の実施の形態における設計算出部362の構成例である。
【図5】テナント設計項目管理テーブル350の構成例である。
【図6】構成テンプレート351の構成例である。
【図7】設定アルゴリズム管理テーブル352の構成例である。
【図8】テナント設計値管理テーブル353aの構成例である。
【図9】テナント設計値管理テーブル353bの構成例である。
【図10】テナント非依存項目管理テーブル354の構成例である。
【図11】テナントシステム構成管理フローを示す図である。
【図12】テナント新規構成フローを示す図である。
【図13】設計値算出フローを示す図である。
【図14】本発明の実施の形態におけるテナントの構成例である。
【図15】本発明の第二の実施の形態におけるテナント新規構成フローを示す図である。
【図16】テナントパタン管理テーブル358の構成例である。
【図17】コマンドパタン管理テーブル359の構成例である。
【図18】設定生成フローを示す図である。
【図19】リソース管理テーブル355の構成例である。
【図20】リソース管理部309の構成例である。
【発明を実施するための形態】
【0013】
1.第1の実施の形態
図1は、本実施の形態におけるシステム構成を示す図である。
データセンタ100は、例えば、広域ネットワーク105a、105b、専用線ネットワーク106等の適宜のネットワークを介して顧客拠点101a、101bの装置と通信する。データセンタ100は、顧客へサービスを提供するサーバ110と、ストレージエリアネットワーク(SAN)114と、ストレージエリアネットワーク114を介してサーバ110に接続するストレージ111と、サービスネットワーク113と、管理用スイッチ120と、管理サーバ116と、構成管理I/F180bを有する管理端末135aとを備える。ストレージエリアネットワーク114は、一つ以上のSANスイッチ112a、112bで構成され、ファイバチャネルプロトコル等のストレージ接続プロトコルが用いられる。ストレージ111は一つ以上の仮想ストレージ111a、111b、111cで構成される。仮想ストレージは例えばLU(論理ユニット)と呼ばれる。管理用スイッチ120は、例えば、データセンタ100内の各機器(物理装置)と接続され、管理ネットワーク115を介して管理サーバ116に接続される。また、データセンタ100の管理サーバ116は、管理用広域ネットワーク107を介して構成管理インタフェース(I/F)180aを有する管理端末135bと通信する。サーバ110や管理スイッチ120は、ひとつに限らず複数備えることができる。
管理サーバ116は、管理端末135からテナント構成管理要求を入力として受け取り、その要求に付加される情報を利用してテナントを構成する機器毎の設計項目を特定する。
サービスネットワーク113は、例えば、ルータ131、ファイヤウォール141、ロードバランサ151、スイッチ161等の物理装置を、それぞれひとつ又は複数含む。顧客の要件に応じて、複数のルータ131、ファイヤウォール141、ロードバランサ151、スイッチ161、SANスイッチ112a等の機器が選択的に利用され、テナントを構成する。ここで、テナントとは、顧客毎の仮想的に構成されたシステムをいう。
ルータ131、ファイヤウォール141、ロードバランサ151は、物理装置としては1つであるが、仮想的に複数のルータやファイヤウォール、ロードバランサを提供する機能を備えていてもよい。この場合、例えば一つのテナントが必要に応じて物理ルータのうちの一つの仮想ルータ機能を利用するようにしてもよい。あるいは、近年ルータ、ロードバランサ、ファイヤウォールの機能を一つの物理装置に搭載する統合型のネットワーク装置を備えてもよい。さらに、近年ルータ131、ファイヤウォール141、ロードバランサ151の機能をソフトウェア化し、仮想サーバ上に搭載する仮想ネットワークアプライアンスも登場してきている。したがって、構成管理対象のサービスネットワーク113の中には、物理装置だけでなく、仮想ネットワークアプライアンス装置を備えてもよい。これら物理装置、統合型ネットワーク装置、仮想ネットワークアプライアンス装置、又は適宜の装置であり、ルータ131、ファイヤウォール141、ロードバランサ151、スイッチ161、SANスイッチ112等の機能を提供する装置を、本実施の形態ではネットワーク機器と称する。このような統合型ネットワーク装置や各仮想ネットワークアプライアンス装置をサービスネットワークに備える場合は、サービスネットワーク113内部の機器間の物理的な接続関係のみ異なり、機器に設定する項目は、従来型の物理装置の場合と同じであり、本実施の形態では図示せず、物理装置を利用した場合の構成管理方法について説明する。
【0014】
図14に、マルチテナントシステムの構成例を示す。
データセンタ100内では、各物理装置を用いて、顧客毎の仮想化サービスネットワークを構成している。仮想化サービスネットワークには、SANスイッチを用いたストレージエリアネットワークも含む。テナントにより仮想化サービスネットワークを構成する物理装置が異なる。各物理装置、サーバは、複数の仮想化サービスネットワークに用いられる。
例えば、テナント1(1401)は、ルータ131a、ファイヤウォール141a、スイッチ161a、ファイヤウォール141c、スイッチ161c、161d、SANスイッチ112a、LU111aを含む。サーバ110は、複数のセグメントに配置されている。図14のテナント1は、例えば、セグメントA〜Dを有する。セグメントは、例えば一般に非武装地帯(DMZ:DeMilirarized Zone)と称される、インターネットなどの外部との通信に利用されるサーバ群(例えばWebサーバやメールサーバなど)を配置する部分を区切るものや(例えば、図14のセグメントC及びD)、ファイヤウォール141cを介して社内ネットワークなどの内部にある業務サーバ等を配置するセグメント(例えば、図14のセグメントA及びB)がある。
テナント2(1402)は、例えばルータ131a、ファイヤウォール141a、スイッチ161a、スイッチ161b、SANスイッチ112b、LU111bを含む。また、サーバを配置するセグメントとしてセグメントE、Fを含む。
テナント3(1403)は、例えば、スイッチ161d、ロードバランサ151b、スイッチ161c、SANスイッチ112a、LU111cを含む。また、サーバを配置するセグメントとして、セグメントG、Hを含む。テナント3のような構成は、顧客の拠点とテナントとを専用線ネットワークを介してアクセスさせるようなケースで利用される。テナントの構成は、これらに限らず適宜の構成をとることができる。
図14では、それぞれのテナントがSANスイッチを介して独立したLUをもつ例をしめしているが、各テナントが一つ以上のLUを持ってもよい。また各テナントが一つのLUを共有してもよい。また、各テナントが信頼性を向上するために複数のSANスイッチを介して独立したLUと接続していてもよい。
【0015】
図2は、本実施の形態におけるサーバ110aの構成例である。他のサーバ110b〜110hの構成も同様であるので、サーバ110aについて説明し、他の説明は省略する。
サーバ110aは、物理的なハードウェア201を有する。ハードウェア201は、物理CPU210と、物理メモリ211と、物理NIC(Network Interface Card)212と、物理HBA(Host Bus Adapter)213を含む。物理NICと物理HBAの機能を統合した統合型ネットワークアダプタCNA(Convverged Network Adapter)214を含んでもよい。統合型ネットワークアダプタとしては、例えばInfiniBandやFCoEに対応したものがある。一般に、CNAは従来のファイバチャネルカードとしても、ネットワークカードとしても利用できる。また、CNAを利用する場合には、CNAの先に接続するスイッチとして、統合型ネットワークプロトコルに対応したスイッチを利用する(非図示)。
サーバ110aは、仮想化されており、仮想化部202と、仮想サーバ203a、203bを有する。仮想化部202は、仮想サーバ制御部220と、仮想化スイッチ部230とを有する。仮想サーバ制御部220は、仮想CPU制御部221a及び221bと、物理CPU制御部222とを有し、物理CPU210と連携して動作して、仮想サーバ203に対する仮想的なCPU資源を割り当てる。仮想化スイッチ部230は、仮想NIC制御部231a及び231bと、物理NIC制御部232と、仮想NIC構成管理部233と、仮想化スイッチ構成管理部234とを有する。仮想NIC制御部231a及び231bと、物理NIC制御部232は、仮想サーバ制御部220と同様に、物理NIC212と連携して動作して、仮想サーバ203に対する仮想的なインタフェース資源を割り当てる。仮想NIC構成管理部233は、仮想NICの容量・帯域を設定する。仮想化スイッチ構成管理部234は、仮想サーバ間で通信する際のスイッチを管理する。
仮想サーバ203aは、業務アプリケーション241aと、OS(Operating System)242と、仮想NIC243を含む。図示していないが、仮想HBAや仮想CNAも含んでもよい。仮想サーバ203bも同様である。
なお、サーバ110は、仮想化部202にVMwareやHyper−V、Xenを利用してもよい。
【0016】
図3は、本実施の形態における管理サーバ116の構成例である。
管理サーバ116は、例えば、構成管理要求受付部301と、テーブル生成部302と、テナント新規構成部303と、テナント構成変更部304と、テナント構成削除部3055と、テナント管理テーブル306、テーブル更新部307、テナント表示部308、リソース管理部309とを有する。
構成管理要求受付部301は、管理端末135a、135bから構成管理要求を入力し、構成管理要求の内容を調査し、テナント新規構成部303、テナント構成変更部304、テナント構成削除部305、テーブル生成部302、テナント表示部308、及び、リソース管理部309のいずれかに転送する。構成管理要求は、テナントの新規構成要求、テナントの構成変更要求、テナントの構成削除要求、テナントの設定コマンド作成要求、テナントの表示要求、テーブル作成要求、リソース初期化要求等を含む。このうち、テナントの設定コマンド作成要求は、テナントの新規構成要求、構成変更要求、構成削除要求に基づき、テナント設計値管理テーブル353を用いて、機器毎に設定するコマンドを生成するための要求である。この要求には、テナントを識別するための情報を含む。テナントの表示要求は、生成済のテナントの構成を管理端末135に表示するための要求である。テナントの表示要求も、表示対象のテナントに関する識別情報を含む。リソース初期化要求は、テナントの構成管理に先立ち、テナントの構成に利用する各種リソースを管理するテーブルを初期化するための要求である。もちろん、これら以外の要求を必要に応じて備えてもよい。
テーブル生成部302は、テナント管理テーブル306で管理する各種テーブルを生成し、情報を登録する。
テナント新規構成部303は、テナントを初期構築する際に、機器毎の設計項目を特定し、特定した設計項目の設計値を算出する。テナント新規構成部303は、例えば、要求分析部330と、仮想ストレージ構成部331と、仮想サーバ構成部332と、ネットワーク構成部333とを有する。ネットワーク構成部333は、例えば、テナント設計部340と、設定作成部341と、機器設定部342とを有する。また、テナント設計部340は、構成機器特定部360と、設計項目特定部361と、設計値算出部362とを有する。
テナント構成変更部304は、テナントの構成変更を行う。これは、テナント管理テーブル306から該当する項目を特定し、テーブル更新部307を介して特定した項目を変更する。テナント構成変更部304には記載していないが、テナント新規構成部304と同様に、テナント設計部、設定作成部、機器設定部を含む。
テナント構成削除部305は、テナントの構成削除を行う。これはテナント構成変更部304での処理に加えて、テナント管理テーブル306から該当する項目を削除する。テナント構成削除部305には記載していないが、テナント新規構成部304と同様に、テナント設計部、設定作成部、機器設定部を含む。
【0017】
テナント管理テーブル306は、例えば、テナント設計項目管理テーブル350と、構成テンプレート351と、設計アルゴリズム管理テーブル352と、テナント設計値管理テーブル353と、テナント非依存項目管理テーブル354と、リソース管理テーブル355と、リソース閾値管理テーブル356と、エラーフラグ357と、テナントパタン管理テーブル358と、コマンドパタン管理テーブル359と、アドレス管理テーブル370とを有する。各テーブルについては後述する。なお、各テーブルは、テーブル構成以外にも適宜の記憶形態の記憶領域でもよい。
テーブル更新部307は、テナント新規構成部303、テナント構成変更部304、テナント構成削除部305からの指示により、テナント管理テーブル306の該当する項目を追加、変更、削除する。
テナント表示部308は、HTML生成部380と、GUI生成部381を含む。HTML生成部380は、構成管理要求受付部301を介してテナントの表示要求を受け付けると、テナント設計値管理テーブル353に設定された情報に従って、例えば、HTML形式のファイルを生成する。GUI生成部381は、構成管理要求受付部301を介してテナントの表示要求を受け付けると、テナント設計値管理テーブル353に設定された情報にしたがって、管理端末135上に、例えばGUIで表示する。HTML形式で表示させる、あるいはGUI表示させるかは要求の引数で認識できるようにすることができる。本実施の形態では、HTML生成部380、GUI生成部381を示しているが、テキスト形式で表示してもよい。あるいは、管理者が所望の形式で設計値を表示させてよい。
リソース管理部309は、構成管理要求受付部301を介して入力された構成管理要求に従い、リソース管理テーブル355の内容を初期化する。また、テナント新規構成部303、テナント構成変更部304、テナント構成削除部305からの入力に従い、リソース管理テーブル355の内容を更新する。さらに、構成管理要求受付部301を介して入力された要求に従い、リソース閾値管理テーブル356の内容を設定する。
【0018】
テナント新規構成部303の要求分析部330は、例えば、構成管理要求受付部301から入力した構成管理要求が、テナントの仮想サーバの構成要求か、テナントの仮想ストレージの構成要求か、テナントのネットワーク構成要求か等を分析する。仮想ストレージ構成部331は、要求分析結果に基づき、テナントを構成するのに必要な複数ストレージ装置におけるLUを構成するのに必要な設定を生成する。例えば、仮想ストレージ構成部331は、ストレージ111にアクセスし、生成した設定を用いてLUを生成する。仮想サーバ構成部332は、要求分析結果に基づき、テナントを構成するのに必要な複数サーバ装置における設定を生成する。例えば、仮想サーバ構成部332は、仮想NICの設定や、NICに割り当てるVLANの設定などを行う。なお、仮想ストレージ構成部331の処理と、仮想サーバ構成部332の処理は、公知の技術を用いることができる。ネットワーク構成部333は、サービスネットワーク113およびストレージエリアネットワーク114を構成する機器群における設定を生成する。
ネットワーク構成部333は、上述のように、例えばテナント設計部340と、設定作成部341と、機器設定部342を有する。ネットワーク構成部333は、テナント構成変更部304、テナント構成削除部305にも含まれるが、同様の構成であるため、図面上は省略する。
テナント設計部340は、例えば、構成管理要求受付部301から入力した構成管理要求が、テナントのネットワーク構成管理要求である場合に、テナントを構成する機器を特定し、特定した機器に設定する設計項目を特定し、設計項目に設定する設計値を算出する。設定作成部341は、テナント設計部340が設計した設計値に基づき、テナントを構成する各機器に設定する設定コマンド列を生成する。機器設定部342は、設定作成部341が生成した設定コマンド列を対象となる機器に設定する。
テナント設計部340は、構成機器特定部360と、設計項目特定部361と、設計値算出部362を有する。構成機器特定部360は、構成管理要求受付部301から入力した構成管理要求が、テナントのネットワーク構成管理要求である場合に、テナントを構成する機器を特定する。例えば、テナントのネットワーク構成管理要求に、テナントの構成要件(構成パターン識別子)が含まれている場合には、その構成要件を抽出し、テナント管理テーブル306の該当するテーブルとして構成テンプレート351に設定された機器を特定する。設計項目特定部361は、構成機器特定部360により特定された機器それぞれに対する設計項目を特定する。例えば、設計項目のうち、テナントに依存する設計項目と、テナントに依存しない設計項目を分類して特定する。設計値算出部362は、設計項目特定部361で特定したテナント構成に依存する設計項目それぞれについて、テナント管理テーブル306中の設計アルゴリズム管理テーブル352を用いて設計値を算出する。そして算出後に、テナント管理テーブル306のテナント設計値管理テーブル353に算出した設計値を反映する。
【0019】
次に、テナント管理テーブル306の各テーブルについて説明する。なお、いくつかのテーブルについては後にさらに詳細な構成例を示す。
テナント設計項目管理テーブル350は、マルチテナント型情報処理システムを構成する機器毎に、テナントを設計するのに必要な設計項目を管理する。また、それぞれの設計項目が、テナントに依存した設計項目か、テナントに依存しない設計項目であるかを管理する。これらの設計項目は、どのようにテナントを設計すべきかといったテナントの設計方針により決定されうるため、テーブル生成部302を介して、テナント設計に先立ち設定する。さらに、テナントに依存した設計項目の場合には、その項目の設計値を新たに算出する必要があるか、それとも既に算出された値を参照するかを管理する。テナント設計項目管理テーブル350は、機器毎に存在する。
構成テンプレート351は、テナントの構成パターンを管理する。マルチテナント型情報処理システムでは、様々な構成のテナントが混在するため、テナントがとりうる構成パターンを管理する。例えば、マルチテナント型情報処理システムの一つのテナントがWeb3階層システムのような構成をとる場合、あるいは別のテナントがグリッドコンピューティングのような計算サーバのみを持つ場合等のパターンにより、テナントが利用する機器は異なる。
設計アルゴリズム管理テーブル352は、テナントを構成する機器を特定し、特定した機器の設計項目を特定し、設計項目がテナントに依存する場合に、設計項目に対して適用する設計値の算出式を管理する。この設計値の算出式も、テナント設計項目管理テーブル350の設計項目と同様に、テナントの設計方針により決定されるため、テナント設計に先立ち、テーブル生成部302を介して設定される。なお、算出式に限らず、適宜の形式の算出規則が記憶されてもよい。
テナント設計値管理テーブル353は、テナント設計部340により設計された設計値を保持するテーブルであり、テナント毎に存在する。テナント設計部340は、構成機器特定部360により機器を特定し、設計項目特定部361により機器の設計項目のうちテナントに依存する項目を特定し、設計値算出部362によりテナントに依存する設計項目の設計値を算出した結果をテナント設計値管理テーブル353に反映する。
テナント非依存項目管理テーブル354は、設計項目特定部361により、機器の設計項目がテナントに依存しない場合に参照される。テナント非依存項目管理テーブル354も、テナント設計項目管理テーブル350、および設計アルゴリズム管理テーブル352と同様に、テナントの設計方針により決定されるため、テナント設計に先立ち、例えば管理端末135等からテーブル生成部302を介して設定される。
リソース管理テーブル355は、設計値算出部362が、設計値を算出する場合に、リソースの残量を確認するために利用する。設計値算出部362により参照され、テーブル更新部307(又はリソース管理部309)により更新される。例えば、リソース残量(利用可能なリソース)が記憶される。リソース管理テーブル355は、管理対象のリソースの種類に応じて用意する。
【0020】
リソース閾値管理テーブル356は、設計値算出部362が設計値を算出する場合に、リソースの残量を確認するために利用する。設計値算出部362により参照され、テーブル生成部302あるいはテーブル更新部307(又はリソース管理部309)により更新される。リソース閾値管理テーブル356も管理対象のリソースの種類に応じて用意し、利用可能なリソースが一定の値を下回ったかどうかを確認するための閾値が記憶される。
エラーフラグ357は、設計値算出部362でリソース残量を確認した場合に、リソースが不足する場合に、設定される。また、リソース管理テーブル355やリソース閾値管理テーブル356が更新され、リソース不足が解消された場合に、リセットされる。
テナントパタン管理テーブル358は、テナントの識別子と構成パタンを管理する(第1の対応情報)。テナントの新規構築時に設定される。また、設定作成部341により参照される。
コマンドパタン管理テーブル359は、構成パタンに含まれる機器とその機器に設定するコマンドテンプレートを管理する(第2の対応情報)。コマンドテンプレートとは、テナントの新規構築、構成変更、構成削除にあたって、各機器の設定に必要なコマンド列を管理する。本テーブルは、構成パタンおよび管理要求の種類毎に事前に用意する。
アドレス管理テーブル370は、テナントが利用するIPアドレスとそのアドレスを利用するテナントの識別子を管理する。
図4は、設計値算出部362の構成例である。
設計値算出部362は、リソース残量確認部401と、算出部402と、エラー生成部403とを備える。リソース残量確認部401は、リソース管理テーブル355およびリソース閾値管理テーブル356の該当する項目を参照し、テナントを初期構築する場合のリソース残量を確認する。リソース残量が不足する場合には、エラー生成部403でエラー処理を行う。リソース残量が十分である場合には、算出部402の処理を行う。算出部402は、対象とする設計項目について設計アルゴリズム管理テーブル352の算出式を用いて設計値を生成する。エラー生成部403は、リソース残量確認部401の処理の結果、リソース不足が発生する場合に、テナント管理テーブル306のエラーフラグ357を設定する。
【0021】
図5は、テナント設計項目管理テーブル350の構成例である。図5にはFW2(ファイヤウォール)の構成例を示す。
テナント設計項目管理テーブル350は、テナントの新規構成前にあらかじめ、管理者の操作等による管理端末からの管理要求によりテーブル生成部302を介して作成される。テナント設計項目管理テーブル350は、テナントを構成するのに必要な設計項目を機器毎に管理するのに利用される。またテナントを構成するのに必要な機器毎に設定した設計項目それぞれに対して、テナントに依存する設計項目か、テナントに非依存の設計項目であるかを管理する。さらに、テナントに依存する設計項目である場合には、その項目の設計値を算出しなければならない項目であるか、参照するのでよい項目であるかを管理する。さらに、テナント設計項目管理テーブル350は、例えば、設計値を算出あるいは参照する場合には算出するのに利用するテーブルあるいは参照先のテーブルへのポインタを保持する。
より具体的な例としては、テナント設計項目管理テーブル350は、設計情報501と、設計情報の小項目502と、テナント依存か非依存を示す項目503と、算出か参照かを示す分類情報504と、アクセス先のポインタ505と、参照先の識別子506を有する。設計情報501は、例えば、機器毎に設計に必要な項目を管理する。小項目502は、例えば、設計情報501毎に設計に必要な項目を管理する。例えば、設計情報501と、設計情報の小項目502とで具体的な設計項目が特定される。例えば図5の例では、仮想ルータという設計情報に対してゾーン識別子と仮想ルータ識別子の2つを管理する。テナント依存503は、それぞれの設計項目が、テナントを構成する場合にテナントに依存した情報であるか、テナントには依存しない情報であるかを管理する。図示の例では、例えばゾーン識別子や仮想ルータ識別子はテナントに依存する項目であるため「○」が、サブインタフェースのネットマスクはテナントには依存しない項目であるため「×」が記載されている。なお、データ上は「○」「×」に相当する識別情報、フラグを用いることがきる。分類504は、それぞれの項目に対して設計値を算出すべきか、参照すべきかを示す。例えば、ゾーン識別子など同じものを用いる場合は、ひとつを算出とし、他を参照として別々のものが算出されないようにする。また計算量も削減できる。算出すると記載された項目は、設計アルゴリズム管理テーブル352に記載された算出式を用いて設計値を算出する。参照すると記載された項目は、アクセス先ポインタ505に記載されたテーブルの、参照先識別子506で特定される情報参照して設計値を求める。アクセス先ポインタ505は、項目ごとに、設計値を特定するのに利用するテーブルへのポインタを保持する。参照先識別子506は、設計値を特定するのに利用するテーブルの中のどの部分をみたら特定できるかを示す。
【0022】
図6は、構成テンプレート351の構成例である。構成テンプレート351は、テナントを構成する典型的な構成のパタンを管理する。具体的には、パタン毎にマルチテナント型情報処理システムを構成する機器群のどの機器を利用するかを管理する。例えば、マルチテナント型情報処理システムにおいて、Web3階層のテナントを構成する場合には、複数のスイッチと複数のファイヤウォールを利用するが、例えば、グリッドコンピューティングを実現するための計算サーバのみを構成する場合には、単一のスイッチと複数のサーバを利用する。図6に示す構成パタンでは、ネットワーク機器のみを管理しているが、サーバおよびストレージ装置も管理してもよい。構成テンプレート351は、テナント設計前に管理者によりテーブル生成部302を介して設定される。マルチテナント型情報処理システムの各テナントの構成が同じである場合には、構成テンプレート351をもつ必要はない。テナントを構成する機器を特定できるのであればどのような方法で管理してもよい。
構成テンプレート351は、構成パタン識別子601と、構成機器602を有する。構成パタン識別子601は、パタンを一意に特定するための識別子である。構成機器602は、構成パタン毎にそのパタンを構成するのに利用する機器の識別子を管理する。
図7は、設計アルゴリズム管理テーブルの構成例である。設計アルゴリズム管理テーブル352は、テナントに依存する設計項目それぞれに対して、どのような方法で設計値を決定するかを定義するテーブルである。マルチテナント型情報処理システムの管理サーバ116に少なくとも一つ以上を有する。設計アルゴリズム管理テーブル352は、識別子701と、算出式702を含む。識別子701は、設計アルゴリズム管理テーブル352で管理される設計項目に一意な値である。算出式は、設計項目ごとに設計値を算出するための計算式である。例えば、識別子T1−1は、テナント設計項目管理テーブル350aの仮想ルータのゾーン識別子に対応するが、設計アルゴリズム管理テーブル352の算出式では、ゾーン識別子を、生成済テナント識別子の最大値に1を加算するという算出式を用いて決定する。なお、テナント識別子は、例えばテナント新規構成時に割り当てられ、後述するテナントパタン管理テーブル358のテナント識別子1601に対応する。また、T1−2はテナント設計項目管理テーブル350abの仮想ルータの仮想ルータ識別子に対応するが、設計アルゴリズム管理テーブル352の算出式を用いて、仮想ルータ識別子を、生成済みテナント識別子の最大値に1を加算する算出式を用いて決定する。
【0023】
図8は、テナント設計値管理テーブル353の構成例である。テナント設計値管理テーブル353は、テナント設計部340により設計した設計値を保持し、例えばテナント毎に存在する。本実施の形態では、テナント毎に本テーブルを持つが、テナント毎に設計値を管理できる方法であればどのような方法でもよい。テナント設計値管理テーブル353は、テナント識別子801、機器識別子802、識別子803、設計情報804、小項目805、設計値806、参照先807を含む。
テナント識別子801は、マルチテナント型情報処理システム内に構成されるテナントを一意に識別する。機器802は、各テナントを構成する機器の識別子である。識別子803は、テナント設計値管理テーブル353で管理する各設計項目を一意に特定するための識別子である。設計情報804、小項目805はそれぞれ、テナント設計項目管理テーブル350の設計情報501、小項目502と同義である。設計値806は、テナントの新規構成により生成した値を設計項目ごとに保持する。参照先807は、生成した設計項目のうち、既に算出した項目を参照する項目である場合に設定される。例えば、識別子803「7」に設定される小項目805「ゾーン識別子」の設計値806「Zone1」は、参照先807が「1−FW2−1」となっているが、これはテナント設計値管理テーブル353のテナント識別子「1」の機器識別子「FW2」の識別子「1」に設定される情報を参照することを意味する。もちろん、テナント設計値管理テーブル353のテナント識別子「1」の機器識別子「FW2」の識別子「1」を設定するときに、同時に識別子「7」「11」「15」に対応する各情報も設定されるようにしてもよい。
図9は、テナント設計値管理テーブル353のスイッチ部分の構成例である。図9のテーブルの各項目は、図8に示すテーブルと同様な構成であるため、詳細説明を省略するが、図9ではスイッチに設定する設計項目を管理している。図8および図9を含めて単一のテーブルで管理してもよい。
図10は、テナント非依存項目管理テーブル354の構成例である。テナント非依存管理テーブル354は、テナントに依存しない設計項目を管理するテーブルであり、マルチテナント型情報処理システムに少なくとも一つあればよい。テナント非依存項目管理テーブル354は、識別子1001と、設計値1002を含む。識別子1001はテナント非依存項目管理テーブル354で管理される項目を一意に特定するための識別子である。設計値1002は、それぞれの識別子に対して設計値として用いる値を設定する。これらの設計値1002は、テナントの新規構成前にあらかじめ管理者が、テーブル生成部302を介して設定することが望ましい。
【0024】
図16は、テナントパタン管理テーブル358の構成例である。テナントパタン管理テーブル358は、構成済テナントを管理するテーブルであり、マルチテナント型情報処理システムに少なくとも一つあればよい。テナントパタン管理テーブル358は、テナント識別子1601、パタン識別子1602、テナント名1603、履歴識別子1604を含む。テナント識別子1601は、テナントを識別するために一意に設定された整数である。新規構成時に、例えば昇順に設定される。なお、昇順以外でもよいが、この場合設計アルゴリズム管理テーブル352の算出式702により算出される設定値が、テナント間で重ならないように算出式702を適宜定める。パタン識別子1602は、構成されたテナントが構成テンプレート351のいずれの構成であるかを識別する。テナント名1603は、テナントをわかりやすくするために付加する名前情報である。履歴識別子1604は、テナントの構成履歴を管理するための識別子であり、テナント新規構成時に設定され、テナントの構成を削除する場合に、リセットされる。例えば、テナント生成時に1を設定し、削除時に0に設定する。テナントを削除したことを管理する必要がない場合には、履歴識別子1604は不要である。
図17は、コマンドパタン管理テーブル359の構成例である。コマンドパタン管理テーブル359は、構成テンプレートと、構成管理要求のタイプ毎に用意される。例えば、構成テンプレートが4つあり、構成管理要求が3種類ある場合には、12通り存在する。コマンドパタン管理テーブル359は、機器識別子1701と、コマンド列1702を含む。設定作成部341は、テナントの新規構成要求の分析結果が、コマンド生成要求である場合に、コマンド生成要求に含まれるテナント識別子に基づき、テナントパタン管理テーブル358と、コマンドパタン管理テーブル359と、テナント設計値管理テーブル353を参照して、機器毎に設定する設定コマンド列を生成する。
【0025】
図19は、リソース管理テーブル355の構成例である。リソース管理テーブル355は、VRFの利用状況を管理するリソース管理テーブル355a、VLANの利用状況を管理するリソース管理テーブル355b、仮想ルータの利用状況を管理するリソース管理テーブル355cを含む。リソース管理テーブル355は、リソース単位に、その識別子毎に、リソース利用状況とそのリソースを利用しているテナントの識別情報を管理する。例えば、リソース管理テーブル355aは、識別子1901、利用状況1902、テナント識別子1903を含む。識別子1901は、VRFとして利用可能な識別子を管理する。また、リソース管理テーブル355bは、VLAN番号として利用可能な識別子1921と、利用状況1922と、テナント識別子1923とを管理する。さらに、リソース管理テーブル355cは、仮想ルータ番号として利用可能な識別子1941と、利用状況1942と、利用しているテナント識別子の識別情報1943を管理する。図19に示すテーブル以外にも管理対象のリソースが存在する場合には、そのリソースについてのテーブルをもってもよい。また、リソースは、対応関係が管理できれば、いずれの方法で管理してもよい。
図20は、リソース管理部309の構成例である。リソース管理部309は、例えば初期化部2001、リソース変更部2002、閾値制御部2003を含む。初期化部2001は、構成管理要求受付部301から受け付けた初期化要求に従い、リソース管理テーブル355を初期化する。例えば、新しいネットワーク機器の導入により、管理対象のリソースが増える場合、初期化部2001によりテーブルを生成し、テーブル内容を初期化する。新規にリソースを追加する場合には、すべてのリソースを利用可能として登録する。あるいは、すでに機器が導入されており、既存の設定がある環境において、リソース管理を新たに行う場合には、既存の設定済リソースを利用不可として登録する。リソース変更部2002は、テナント新規構成部303、テナント構成変更部304、テナント構成削除部305からの入力を受け、リソース管理テーブル355の対象のリソースの利用状況を更新する。例えば、テナント新規構成部303からの入力の場合は、新規テナントがリソースを消費することになるため、該当するリソースの識別子に対応して、「利用済」であることを登録し、合わせてテナントの識別子を登録する。テナントの構成変更部304からの入力では、いずれかの登録済のリソースを削除して新たにリソースを確保する場合には、登録済のリソースの対応する識別子部分の情報をクリアし、新たに確保するリソースの識別子の利用状態を「利用済」とし、利用するテナント識別子を登録する。テナント構成削除部305からの入力では、削除対象のテナントが利用しているリソースを利用可能状態にするために登録内容を末梢し、「利用可」とする。例えば、削除対象のテナントが、VRFとVLANと仮想ルータを利用している場合には、リソース管理テーブル355a、355b、356cのすべてのテーブルの該当する欄の登録を末梢する。
【0026】
図11は、テナントシステム構成管理フローを示す図である。
構成管理要求受付部301は、管理端末135a、135bからテナント構成管理要求を受け付ける(S1101)。テナント構成管理要求は、例えば、テナントの新規構成の要求(A)と、構成変更の要求(B)と、構成削除の要求(C)と、テナント管理テーブル設定要求(D)、テナント表示要求(E)、リソース管理要求(F)等がある。これらを識別するための情報が、テナント構成管理要求に含まれてもよい。構成管理要求受付部301は、テナント構成管理要求が、テーブル設定要求か、新規構成か、構成変更か、構成削除か、テナント表示、リソース管理かを識別し、新規構成の場合は、テナント構成管理要求をテナント新規構成部303に出力する。一方、構成変更の場合は、テナント構成管理要求をテナント構成変更部304に出力する。さらに、構成削除の場合には、テナント構成管理要求をテナント構成削除部305に出力する。あるいはテナント設計用の各種テーブルを生成するテーブル設定要求の場合には、当該要求をテーブル生成部302に出力する。
ここで、テナント構成管理要求が新規構成の要求(新規構成要求)の場合、新規構成要求は、例えば、テナントがどのような構成であるかを示す構成パタン識別子と、サーバのリソース数に関する情報、ストレージのリソース数に関する情報を含む。
受信したテナント構成管理要求がテナント管理テーブル306への設定要求(D)である場合には、テーブル生成部302は、テナント管理テーブル306の設計項目、あるいは設計アルゴリズム管理テーブル352の算出式を生成する(S1103)。各テーブルの設定は、適宜の手法を用いることができる。例えば、機器に応じた設定項目ファイルが予め作成され、それをテナント管理テーブル306の該当する項目に設定してもよい。また、ユーザインターフェース等を用いて逐次設定してもよい。
受信したテナント構成管理要求が構成変更要求(B)の場合には、テナント構成変更部304は、構成変更要求の内容を分析し、例えば、構成変更要求が、仮想サーバ追加、削除、移動のいずれであるかを特定し、特定した内容に従い、仮想サーバの設定を変更し、サービスネットワークおよびストレージエリアネットワークの設定変更を行い、テナント設計値管理テーブル353の登録内容を更新する(S1130)。
【0027】
受信したテナント構成管理要求が構成削除要求(C)の場合には、テナント構成削除部305は、削除対象のテナントの仮想サーバおよび仮想ストレージ、サービスネットワーク、ストレージエリアネットワークの構成に従い、リソース管理テーブル355の各項目を削除し、テナント設計値管理テーブル353から登録内容を削除する(S1140)。
受信したテナント構成管理要求が新規構成要求(A)の場合、テナント新規構成部303は、テナントの新規構成を行う。まず、要求分析部330が、新規構成要求を分析する(S1110)。続いて新規構成要求を分析の結果を受け、仮想ストレージ構成部331は、テナントを構成する仮想ストレージを新規構成する(S1111)。仮想ストレージの新規構成では、新規構成要求に含まれる仮想ストレージ数に従って、例えばLUを生成する。LUの生成は、従来の同様の手法を用いることができる。数だけではなく、性能やサイズも要求に含まれる場合には、含まれた情報に従ってLUを生成する。仮想ストレージとしてLU以外のストレージを生成してもよい。たとえば、iSCSIストレージ、ファイルストレージなどを構成してもよい。これらのストレージの生成方法は、従来と同様の手法を用いることができる。仮想サーバ構成332は、新規構成要求に含まれるサーバ数に従って、テナントを構成する仮想サーバを新規構成する(S1112)。仮想サーバの新規構成では、例えば仮想マシンを生成する。仮想マシンの生成は、従来と同様の手法を用いることができる。続いて、ネットワーク構成部333のテナント設計部340は、テナントを構成するネットワーク機器の設計項目ごとに設計値を生成する(S1113)。その後、設定作成部341は、テナント設計部340が生成した設計値に基づき、設定コマンドを生成する(S1114)。機器設定部342は、設定作成部341が生成した設定コマンドを対象となる機器に設定する(S1115)。
【0028】
図12は、テナントの設計フローS1113を示す図である。
テナント設計フローでは、テナント設計部340は、まず新規構成要求から構成パタン識別子を抽出する(S1202)。新規構成要求に含まれてもよいし、管理端末135から別に設定させてもよい。次に、テナント設計部340は、構成テンプレート351を参照し、構成パタン識別子に対応するテンプレートを特定し、テンプレートで使用する機器602を特定する(S1203)。例えば、新規構成要求に含まれる構成テンプレート識別子が構成パタン1の場合は、構成テンプレート351の構成パタン識別子601の該当欄を参照し、構成機器602がスイッチ1およびFW1等であると特定する。また、テナント設計部340は、テナントパタン管理テーブル358にテナント識別子1601、パタン識別子1602、テナント名1603、履歴識別子1604を記憶する。
次に、テナント設計部340は、構成機器602の中から一つを選択する(S1204)。そしてテナント設計部340は、選択した機器に対応するテナント設計項目管理テーブル350を参照し、設計項目502のうち一つを選択する(S1205)。テナント設計部340は、テナント依存情報503に従い、選択した設計項目がテナントに依存するのかあるいは依存しない(非依存)かを判定する(S1206)。テナントに依存する項目の場合はステップS1207に移り、テナントに依存しない項目の場合はステップS1221に移る。テナントに依存する項目の場合、テナント設計部340は、分類情報504に従い、選択した設計項目が設計値を算出すべき項目であるか、設計値を参照すべき項目であるかを判定する(S1207)。算出すべき項目の場合は、ステップS1208に移り、参照すべき項目の場合は、ステップS12011に移る。算出すべき項目の場合、テナント設計部340は、設計アルゴリズム管理テーブル352を参照し、識別子506、701に対応する算出式702に基づき設計値を算出し、テナント設計値管理テーブル353に仮登録し(S1208)、その後ステップS1209へ移る。なお、ステップS1208については後に、より詳細に説明する。
【0029】
一方、ステップ1206において選択した設計項目がテナントに依存しない場合には、テナント設計部340は、アクセス先ポインタ505と参照先識別子506に従い、テナント非依存項目管理テーブル354の該当する識別子1001に対応する設計値1002を読み出し、テナント設計値管理テーブル353に仮登録して、次のステップS1209に移行する。
ステップ1207において、選択した設計項目が参照項目である場合には、テナント設計部340は、アクセス先ポインタ505と参照先識別子506に従い、テナント設計値管理テーブル353のテナント識別子801、機器802及び識別子803を検索して、参照先識別子506に該当するエントリを特定し、対応する設計値806を参照する。参照した設計値を自設計項目の設計値として仮登録して、次のステップS1209に移行する。
ステップS1209では、テナント設計部340は、設計項目が残っているかを判定し、残っている場合には、ステップS1205に戻る。選択すべき設計項目が残っていない場合には、次のステップに移行する(S1209)。すべての設計項目の設計を終えたら、テナント設計部340は、未設計機器があるかどうかを判定する。未設計機器がある場合には、ステップS1204に戻り、未設計機器がない場合には、次のステップに移行する(S1210)。次に、テナント設計部340は、エラーフラグが設定されているかどうかを判定する(S1211)。エラーフラグは設計値を算出する場合に、マルチテナント型情報処理システム内でテナントに割り当てるリソースが不足している場合に設定される。エラーフラグが設定されている場合には、ステップS1231の処理を行い、エラーフラグが設定されていない場合には、問題なく設計できているため、テナント設計部340は、テナント設計値管理テーブル353に仮登録された内容を確定し、また、リソース管理テーブル355のリソース利用状況を更新する(S1212)。そしてテナント設計フローを完了する。
【0030】
また、ステップ1211において、エラーフラグが設定されている場合には、テナント設計部340は、テナント設計値管理テーブルの仮登録内容を削除し、エラーメッセージを生成して管理端末135に送出する(S1231)。
図13は、テナント設計フローのうち設計値算出フローS1208を示す図である。本フローでは、テナント設計部340は、まずリソース管理テーブル355を参照して、対象の設計項目に対するリソース残量を確認する(S1301)。続いてテナント設計部340は、リソース閾値管理テーブル356を参照して、対象の設計項目に対するリソース残量が閾値より大きいかどうかを判定する(S1302)。リソース残量が閾値より大きい場合には、テナントを設計可能であるため、次のステップS1303の処理に移る。一方、リソース残量が閾値以下の場合には、ステップS1311の処理に移る。S1303では、テナント設計部340は、アクセス先ポインタ505と参照先識別子506に従い、設計アルゴリズム管理テーブル352の識別子701が参照先識別子506に該当するエントリを特定して対応する対象項目の算出式702を参照して設計値を算出する(S1303)。なお、生成済みテナント識別子の最大値は、適宜記憶・更新されてもよい。本実施の形態では、テナントパタン管理テーブル358のテナント識別子1601のうちの最大値を参照する。その他、算出式で必要となる各情報は、テーブル、構成管理要求等から抽出できる。算出後S1209のフローに戻る。
S1302においてリソース残量が閾値以下の場合には、テナント設計部340は、エラーフラグ357を設定する。エラーフラグ357を設定するのは、一部のリソースが確保できない場合にはテナントを新規構成することができないため、設計を無効化する必要があるためである。例えば、テナント構成のためのあるリソースが確保できない場合は、そのテナントについて仮登録されている情報がエラーフラグに従いクリアされる。
図18は、テナント設計部340で生成した設計値を用いて機器毎の設定コマンドを生成するフローS1114を示す図である。本フローでは、要求分析部330の処理の結果、管理端末135からの要求が設定作成処理である場合に、設定作成部341が、要求から、テナントの識別子と、要求の種類(新規構築等)を特定する(S1801)。本要求は、管理端末135から入力する以外にも、上述の新規構成や構成変更等の要求に対し、設計値の算出が終了することでテナント設計部340から設定作成部341に発行されてもよい、次に、テナント設計部340は、テナントパタン管理テーブル358を参照し、特定したテナントの識別子に対応する構成パタン識別子を特定する(S1802)。そして、テナント設計部340は、特定した構成パタン識別子と、要求の種類に対応するコマンドパタン管理テーブル359を特定する(S1803)。特定したコマンドパタン管理テーブル359の機器識別子1701欄に登録された機器群から一つ選択し、テナント設計値管理テーブル353に設定された内容(設計値)に基づき、コマンドパタン1702の参照部分に値を設定しコマンド列を生成する(S1804)。具体的には、コマンドパタン管理テーブル359の機器としてSW1を選択した場合には、コマンドパタン欄を参照し、<VLAN識別子>、<ゲートウェイ識別子>、<ネットマスク>を、テナント設計値管理テーブル353の該当する欄から読み出し、その情報を追加してコマンド列を生成する。生成したコマンド列は機器毎に画面に表示する形式でもよいし、機器毎にファイル形式で保持してもよい。管理者の所望の形式で管理されてよい。そして、コマンドパタン管理テーブル358に登録された機器すべてについて設定すべきコマンド列を生成しおわるまで処理を繰り返す(S1805)。その後、機器設定部342が、各コマンドパタンを対応する機器に送信して設定させる。管理者の確認が不要な場合には、テナント設計部340で設計した設計値に基づき、コマンド列を生成した結果を、機器設定部342がテナントを構成する機器に自動で設定してもよい。
【0031】
本実施の形態によると、テナントの初期構築時に、テナントを構成する機器群に設定する設計項目の中の、テナントに依存する設計項目を迅速かつ容易に特定できる。
また、特定したテナントに依存する設計項目の設計値を、他のテナントとの重なりなく算出することで、テナント間の設定の独立性を保障しながら、迅速なテナントの初期構築を実現し設計効率を向上できる。
従来技術と比較して、本実施の形態では複雑化したシステムにおいて、テナントの初期構築時、テナントを構成する機器に対応する設計項目のうち、テナントに依存する設計項目を迅速かつ簡単に特定し、特定した設計項目の設計値をテナント間の重なりがないように算出することで、テナント間の独立性を容易に保障できる。
【0032】
2.第2の実施の形態
第2の実施の形態では、マルチテナント型情報処理システムに構成される各テナントの構成が同じである場合に、機器の設定項目のうち、テナントに依存する設計項目を特定し、特定した設計項目に対して設計値を算出する。
本発明の第2の実施の形態における、システム構成は第1の実施の形態と同じであるため、図示を省略する。なお、構成テンプレート351を省略できる。テナントの設計フローは一部変更になる。
図15は、テナントの設計フローの変形例である。マルチテナント型情報処理システムに構成される各テナントの構成が同じである場合には、構成テンプレート351によりテナントの構成を特定する処理は不要であるため、図12のS1202およびS1203の処理は不要である。その代りにマルチテナント型情報処理システムが利用する機器を特定する手段を用いて、機器を選択する(S1501)。どの機器を利用しているかを特定できればどのような方法を用いてもよい。
【0033】
3.その他
本実施の形態のマルチテナント型情報処理システム、管理サーバ及び構成管理方法は、その各手順をコンピュータに実行させるための構成管理プログラム、構成管理プログラムを記録したコンピュータ読み取り可能な記録媒体、構成管理プログラムを含みコンピュータの内部メモリにロード可能なプログラム製品、そのプログラムを含むサーバ等のコンピュータ、等により提供されることができる。
【産業上の利用可能性】
【0034】
本発明は、例えばマルチテナント型情報処理システムに利用可能である。
【符号の説明】
【0035】
100 データセンタ
101a、101b 顧客拠点
105a、105b 広域ネットワーク
106 専用線ネットワーク
107 管理用広域ネットワーク
110 サーバ
111 ストレージ
112 SANスイッチ
113 サービスネットワーク
114 ストレージエリアネットワーク
115 管理ネットワーク
116 管理サーバ
120 管理用スイッチ
135a、135b 管理端末
131 ルータ
141 ファイヤウォール
151 ロードバランサ
161 スイッチ
201 ハードウェア
202 仮想化部
203a、203b 仮想サーバ
301 構成管理要求受付部
302 テーブル生成部
303 テナント新規構成部
304 テナント構成変更部
305 テナント構成削除部
306 テナント管理テーブル
307 テーブル更新部
308 テナント表示部
309 リソース管理部
330 要求分析部
331 仮想ストレージ構成部
332 仮想サーバ構成部
333 ネットワーク構成部
340 テナント設計部
341 設定作成部
342 機器設定部
350 テナント設計項目管理テーブル
351 構成テンプレート
352 設計アルゴリズム管理テーブル
353 テナント設計値管理テーブル
354 テナント非依存項目管理テーブル
355 リソース管理テーブル
356 リソース閾値管理テーブル
357 エラーフラグ
358 テナントパタン管理テーブル
359 コマンドパタン管理テーブル
360 構成機器特定部
361 設計項目特定部
362 設計値算出部
380 表示部
401 リソース残量確認部
402 算出部
403 エラー生成部
2001 初期化部
2002 リソース変更部
2003 閾値制御部

【特許請求の範囲】
【請求項1】
複数種のネットワーク機器とサーバ装置とストレージ装置と管理サーバとを備え、クライアント毎に、前記ネットワーク機器のうち所望のネットワーク機器と前記サーバ装置による仮想サーバと前記ストレージ装置による仮想ストレージを含む仮想的なシステムであるテナントを構成し、複数のテナントを収容するマルチテナント型情報処理システムにおける前記管理サーバであって、
テナントを構成する機器毎に、機器に設定される設計項目と、設計項目それぞれがテナントに依存するか否かを示す情報が予め記憶されたテナント設計項目記憶領域と、
設計項目に対応して、設計項目の設計値をテナント毎に異なる値になるように算出するための算出規則が予め記憶された設計アルゴリズム記憶領域と、
テナントの初期構築時に、前記テナント設計項目記憶領域を参照して、該テナントを構成する機器に対する設計項目のうち、テナント依存の設計項目を特定し、特定したテナント依存の設計項目に対して、前記設計アルゴリズム記憶領域の算出規則に従って設計項目の設計値を算出して記憶するテナント設計部と
を備えた前記管理サーバ。
【請求項2】
前記管理サーバは、テナント毎に、テナントの初期構築時にテナントを構成する機器に設定する設計項目の設計値を記憶するテナント設計値記憶領域
をさらに備え、
前記テナント設計部は、算出した設計項目の設計値を前記テナント設計値記憶領域に記憶する請求項1に記載の管理サーバ。
【請求項3】
前記管理サーバは、構成パタン識別子に対応して、テナントを構成する機器の識別情報が予め記憶される構成テンプレート
をさらに備え、
前記テナント設計部は、初期構築するテナントについて、入力される構成パタン識別子に基づき前記構成テンプレートを参照して、テナントを構成する機器を特定する請求項1に記載の管理サーバ。
【請求項4】
前記管理サーバは、テナントの初期構築よりも前に、前記テナント設計項目記憶領域と、前記設計アルゴリズム記憶領域に各情報を予め登録する請求項1に記載の管理サーバ。
【請求項5】
前記管理サーバは、テナントの初期構築よりも前に、前記構成テンプレートに各情報を予め登録する請求項3に記載の管理サーバ。
【請求項6】
前記テナント設計項目記憶領域はさらに、設計項目がテナントに依存する場合に、前記設計項目では前記算出規則に従い新たな値を算出するか、既に算出された値を参照するかを示す分類情報を含み、
前記テナント設計部は、該分類情報が新たな値を算出することを示す設計項目に対して、前記算出規則に従い設計値を新たに算出して記憶することを特徴とする請求項1に記載の管理サーバ。
【請求項7】
前記テナント設計項目記憶領域は、参照先情報をさらに含み、
前記テナント設計部は、該分類情報が既に算出された値を参照することを示す設計項目に対し、参照先情報に従い、既に算出され記憶された設計値を読み出して、該設計項目に対する設計値として記憶する請求項6に記載の管理サーバ。
【請求項8】
前記管理サーバは、
前記複数種のネットワーク機器のリソースを管理するリソース記憶領域
をさらに備え、
前記設計項目の設計値を算出するときに、前記リソース記憶領域を参照して、リソース不足か否かを判定することを特徴とする請求項1に記載の管理サーバ。
【請求項9】
前記管理サーバは、
構築したテナントを一意に識別する識別情報と、該テナントがどの機器を使用して構成されているかを示すテナントの構成機器情報が対応した第1の対応情報と、
テナントの構成機器情報と、該当する機器に設定するコマンド列とが対応した第2の対応情報と
を管理し、
入力される構成管理要求に含まれるテナントの識別情報に基づき、前記第1の対応情報と、前記第2の対応情報を用いて機器毎に設定するコマンド列を作成する設定作成部
をさらに備えることを特徴とする請求項1に記載の管理サーバ。
【請求項10】
前記設定作成部は、前記第2の対応情報のコマンド列に、前記テナント設計値記憶領域に記憶された、対応する機器の設計値を組み込んで、機器毎に設定するコマンド列を作成する請求項9に記載の管理サーバ。
【請求項11】
前記管理サーバは、作成されたコマンド列を、対応する機器に送信して設定させる機器設定部をさらに備える請求項9に記載の管理サーバ。
【請求項12】
複数種のネットワーク機器とサーバ装置とストレージ装置と管理サーバとを備え、クライアント毎に、前記ネットワーク機器のうち所望のネットワーク機器と前記サーバ装置による仮想サーバと前記ストレージ装置による仮想ストレージを含む仮想的なシステムであるテナントを構成し、複数のテナントを収容するマルチテナント型情報処理システムであって、
前記管理サーバは、
テナントを構成する機器毎に、機器に設定される設計項目と、設計項目それぞれがテナントに依存するか否かを示す情報が予め記憶されたテナント設計項目記憶領域と、
設計項目に対応して、設計項目の設計値をテナント毎に異なる値になるように算出するための算出規則が予め記憶された設計アルゴリズム記憶領域と、
テナントの初期構築時に、前記テナント設計項目記憶領域を参照して、該テナントを構成する機器に対する設計項目のうち、テナント依存の設計項目を特定し、特定したテナント依存の設計項目に対して、前記設計アルゴリズム記憶領域の算出規則に従って設計項目の設計値を算出して記憶するテナント設計部と
を備えたマルチテナント型情報処理システム。
【請求項13】
前記管理サーバは、前記設計値に基づき、機器毎の設定コマンドを作成し、テナントを構成する機器に対して前記設定コマンドを出力してテナントを新規に構成する請求項12に記載のマルチテナント型情報処理システム。
【請求項14】
複数種のネットワーク機器とサーバ装置とストレージ装置と管理サーバとを備え、クライアント毎に、前記ネットワーク機器のうち所望のネットワーク機器と前記サーバ装置による仮想サーバと前記ストレージ装置による仮想ストレージを含む仮想的なシステムであるテナントを構成し、複数のテナントを収容するマルチテナント型情報処理システムにおいて、テナントの新規構成時に、テナントを構成する機器に設定する設計値を求めるための構成管理方法であって、
前記管理サーバは、
テナントを構成する機器毎に、機器に設定される設計項目と、設計項目それぞれがテナントに依存するか否かを示す情報をテナント設計項目記憶領域に記憶し、
設計項目に対して、設計項目の設計値をテナント毎に異なる値になるように算出するための算出規則を設計アルゴリズム記憶領域に記憶し、
テナントの初期構築時に、テナント設計項目記憶領域を参照して、該テナントを構成する機器に対応する設計項目のうち、テナント依存の設計項目を特定し、特定したテナント依存の設計項目に対して、設計アルゴリズム記憶領域の算出規則に従って設計項目の設計値を算出して記憶する前記構成管理方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate