以下、実施形態を、図面を参照して詳細に説明する。
図1は、通信システムを示す構成図である。通信システムは、ネットワーク管理装置1と、サーバ管理装置2と、管理用ネットワーク3と、コアスイッチ4(4aおよび4b)と、サーバ接続スイッチ5(5aおよび5b)と、サーバ装置6(6aおよび6b)と、スイッチ間ネットワーク9と、サーバ・スイッチ間ネットワーク10を含んで構成される。
管理用ネットワーク3は、ネットワーク管理装置1と、サーバ管理装置2と、コアスイッチ4と、サーバ接続スイッチ5と、サーバ装置6とを接続するネットワークであり、主に管理装置1がコアスイッチ4と、サーバ接続スイッチ5を管理するためのデータ、管理装置2がサーバ装置6を管理するためのデータが流通する。
尚、管理用ネットワーク3を複数に分け、例えば、第1の管理用ネットワーク3−1でネットワーク管理装置1とコアスイッチ4とサーバ接続スイッチ5とサーバ管理装置2とを接続し、第2の管理用ネットワーク3−2でネットワーク管理装置1とサーバ管理装置2とサーバ装置6とを接続しても良い。
コアスイッチ4は、サーバ接続スイッチ5と接続し、サーバ装置6とは接続していないスイッチである。
サーバ接続スイッチ5は、コアスイッチ4と、サーバ装置6と接続するスイッチである。
なお、以下の説明において、コアスイッチ4とサーバ接続スイッチ5とをスイッチ(4、5)とまとめて表記することがある。
サーバ装置6は、vSW7(7aおよび7b)と、VM8(8a、8b、8c、8d)を導入している。
vSW7は、サーバ装置6の機能により論理的に実現されるスイッチであり、VM8と接続される。
VM8は、サーバ装置6の機能により論理的に実現されるサーバであり、vSW7と接続される。
スイッチ間ネットワーク9は、コアスイッチ4とサーバ接続スイッチ5が接続されるデータ通信用のネットワークであり、サーバ装置6同士のデータ通信用フレーム、通信システムの外部のネットワーク(図示せず)との通信用フレームなどが流通する。
サーバ・スイッチ間ネットワーク10は、サーバ装置6とサーバ接続スイッチ5が接続されるデータ通信用のネットワークであり、スイッチ間ネットワーク9と同様のフレームが流通する。
図2は、図1で示したコアスイッチ4と、サーバ接続スイッチ5と、サーバ装置6の詳細な構成図である。サーバ装置6にはVM8、vSW7が構成される。また、vSW7aと、vSW7bは、サーバ管理装置2の機能により、論理的に一台のスイッチである分散仮想スイッチ24を構成する。尚、管理用ネットワーク3は、コアスイッチ4、サーバ接続スイッチ5、サーバ装置6の詳細な構成に関与しないため、図示を省略する。
サーバ装置6aは、vSW7aと、VM8a、8b、8cと、NIC(Network Interface Card)(23a、23b)とを備える。vSW7aは、仮想通信ポート1、10、11、12(22a、22b、22e、22f)を備え、仮想通信ポート10(22d)、11(22e)にはネットワークポリシー100が適用されており、仮想通信ポート12(22f)にはネットワークポリシー101が適用されている。尚、ネットワークポリシーは、ポートグループ、ポートポリシーなどと呼ばれることもある。VM8aは、仮想通信ポート10(22d)と、VM8bは、仮想通信ポート11(22e)と、VM8cは、仮想通信ポート12(22f)と接続される。
仮想通信ポート1(22a)は、NIC23aを介してサーバ接続スイッチ5aに接続され、NIC23bを介してサーバ接続スイッチスイッチ5bに接続される。以下、このようなサーバ接続スイッチ5と接続される仮想通信ポート22を、アップリンクポートと呼ぶこともある。
サーバ装置6bは、vSW7bと、VM8dと、NIC(23c、23d)とを備える。vSW7bは、仮想通信ポート2、13(22b、22g)を備え、仮想通信ポート13(22g)にはネットワークポリシー101が適用されている。VM8dは、仮想通信ポート13(22g)と接続される。
仮想通信ポート2(22b)は、NIC23cを介してサーバ接続スイッチ5aに接続され、NIC23dを介してサーバ接続スイッチ5bに接続される。
コアスイッチ4aは、スイッチ間ネットワーク9に接続される通信ポート1−8(21a)と、9−16(21b)とを備える。
コアスイッチ4bは、スイッチ間ネットワーク9に接続される通信ポート1−8(21c)と、9−16(21d)とを備える。
サーバ接続スイッチ5aは、サーバ・スイッチ間ネットワーク10に接続される通信ポート5(21j)、6(21i)と、スイッチ間ネットワーク9に接続される16−24(21e)、16−32(21f)を備える。
サーバ接続スイッチ5bは、サーバ・スイッチ間ネットワーク10に接続される通信ポート1(21k)、2(21l)と、スイッチ間ネットワーク9に接続される16−24(21g)、25−32(21h)を備える。
尚、通信ポート21a、21b、21c、21dは、1−8、9−16と表記している。これは、通信ポート5(21i)のようなひとつの物理的な通信ポートを複数個まとめた表記であり、ひとつの物理的な通信ポートが、複数の通信ポートの役割を担うことを意味していない。
コアスイッチ4aは、通信ポート1−8(21a)が、サーバ接続スイッチ5aの通信ポート16−24(21e)と接続され、通信ポート9−16(21b)が、サーバ接続スイッチ5bの通信ポート16−24(21g)と接続される。
コアスイッチ4bは、通信ポート1−8(21c)が、サーバ接続スイッチ5aの通信ポート25−32(21f)と接続され、通信ポート9−16(21d)が、サーバ接続スイッチ5bの通信ポート16−24(21h)と接続される。
サーバ接続スイッチ5aは、通信ポート5(21i)が、サーバ装置6aのNIC23aと接続され、通信ポート6(21j)が、サーバ装置6bのNIC23cと接続される。
サーバ接続スイッチ5bは、通信ポート1(21k)が、サーバ装置6aのNIC23bと接続され、通信ポート6(21l)が、サーバ装置6bのNIC23dと接続される。
サーバ接続スイッチ5は、論理的にひとつの中継装置として稼働できてもよい。
図3は、図1で示したサーバ管理装置2の内部構成図である。
サーバ管理装置2は、入力部31、CPU(Central Processing Unit)32、出力部33、メモリ34、補助記憶装置35、ネットワークインタフェイス38、バス37とを備えるコンピュータ上に実現される。
入力部31は、例えば、キーボードやマウスといった装置が接続され、サーバ管理装置2のユーザ(以下、管理者と称す)の入力をCPU32に送る。
CPU32は、補助記憶装置35に格納されているプログラムを読み込んで実行し、以下説明する各種処理部を実現する。その際、プログラム実行時の計算の途中結果、完了結果などを、メモリ34に記憶させながら行う。
出力部33は、例えば、ディスプレイのような装置が接続され、管理装置2の管理者にプログラムの実行結果などを通知する。
ネットワークインタフェイス38は、例えば、NICのような装置で構成され、通信ケーブル39が接続され、管理用ネットワーク3を介して、ネットワーク管理装置1、スイッチ(4、5)、サーバ装置6と接続している。通信ケーブル39は、装置間を物理的に接続する通信線である。
バス37は、入力部31、CPU32、出力部33、メモリ34、補助記憶装置35、ネットワークインタフェイス38の入出力信号を伝達するバスなどの伝送路であり、バスと総称する。
補助記憶装置35は、例えば、フラッシュメモリ、HDD(Hard Disc Drive)のような記憶装置である。補助記憶装置35は、OS(Operating System)(図示せず)、仮想装置管理部36を実現するプログラム、各種テーブル(T31、T32、T33、T34、T35)などを記憶する。
仮想装置管理部36を実現するプログラムは、例えば、仮想装置を制御するソフトウェアである。具体的には、vSW、VMの配置、削除、移動(配置と削除)といった仮想装置の操作の指示を、サーバ装置6へ伝達したり、vSW7を分散仮想スイッチ24として扱う機能などを持ち、管理装置2の管理者の入力に従って実行する。
各種テーブルT31、T32、T33、T34、T35)は、管理者のサーバ管理装置2の操作の結果を格納するテーブルであり、操作時に仮想装置管理部36が生成や更新を行う。
図4は、サーバ装置アップリンクテーブルT31の構成である。サーバ装置アップリンクテーブルT31は、サーバ装置6のアップリンクポートを示すテーブルであり、サーバ装置フィールドT311、NICフィールドT312、アップリンクポートフィールドT313を含む。サーバ装置フィールドT311は、サーバ装置6の識別子が格納され、NICフィールドT312は、サーバ装置6のNICの識別子が格納され、アップリンクポートフィールドT313は、サーバ装置6のアップリンクポートが格納される。
図5は、サーバ装置VM構成テーブルT32の構成である。サーバ装置VM構成テーブルT32は、サーバ装置6に配置されているVM8の構成を示し、サーバ装置フィールドT311、VMフィールドT322を含む。サーバ装置フィールドT311は、サーバ装置6の識別子が格納され、VMフィールドT322は、VM8の識別子が格納される。
図6は、仮想通信ポート・ネットワークポリシーテーブルT33の構成である。仮想通信ポート・ネットワークポリシーテーブルT33は、分散仮想スイッチ24の仮想通信ポート22に適用されているネットワークポリシーを示す。vSWフィールドT331、仮想通信ポートフィールドT332、ネットワークポリシーフィールドT333を含む。vSWフィールドT331は、分散仮想スイッチ24の識別子が格納され、仮想通信ポートフィールドT332は、分散仮想スイッチ24の仮想通信ポート22の識別子が格納され、ネットワークポリシーフィールドT333は、仮想通信ポート22に適用されているネットワークポリシーの識別子が格納される。
図7は、VM・ネットワークポリシーテーブルT34の構成である。VM・ネットワークポリシーテーブルT34は、VM8に適用されているネットワークポリシーを示し、VMフィールドT322、ネットワークポリシーフィールドT342を含む。VMフィールドT322は、VM8の識別子が格納され、ネットワークポリシーフィールドT342は、VM8に適用されているネットワークポリシーの識別子が格納される。
図8は、ネットワークポリシーテーブルT35の構成である。ネットワークポリシーテーブルT35は、ネットワークポリシーの具体的なパラメータを示し、VLANフィールドT352、QoS(Quality of Service)フィールドT353を含む。VLANフィールドT352には、ネットワークを論理的に分割するための識別子(VLAN ID)が格納され、QoSフィールドT353には、通信品質を示すためのデータ、即ち、通信の優先度を示す識別子、利用可能な通信帯域を示す数値などが格納される。
図9は、コアスイッチ4およびサーバ接続スイッチ5の内部構成である。図2では、省略したが、コアスイッチ4およびサーバ接続スイッチ5は、スイッチ間ネットワーク9、あるいはサーバ・スイッチ間ネットワーク10と接続される通信ポート21の他に、CPU91、メモリ92、スイッチングデバイス93、補助記憶装置94、バス95、スイッチ間ネットワーク10と接続される管理用通信ポート96、とを備えるコンピュータ上に実現される。
通信ポート21は、通信ケーブル39が接続され、通信ケーブル39を介し、サーバ装置6、他のスイッチ5またはスイッチ4と接続する通信ポートである。
CPU91、メモリ92については、前述のCPU32、メモリ34と同様である。
スイッチングデバイス93は、各通信ポート21、管理用通信ポート96からフレームを受信したり、各通信ポート21へ送信したり、フレームの送受信などを制御する機能を備えるLSIなどの装置である。例えば、スイッチングデバイス93は、IEEE 802.1などが規定するLLDP(Link Layer Discovery Protocol)、DCBX(Data Center Bridging eXchange)といった各種通信プロトコルの制御を実行できる。また、複数のスイッチを論理的に一台に扱うための制御が可能であってもよい。さらに、スイッチングデバイス93は、解析できないフレームを、破棄したり、CPU91へ渡したりする機能も備える。また、スイッチングデバイス93は、通信ポート制御部98を備える。
通信ポート制御部98は、ネットワーク管理装置1から受ける設定制御メッセージ180(詳細は後述する)を参照し、各通信ポート21に対応するネットワークポリシーに基づいて、通信ポート21で送受信するフレームのVLANIDの解析、挿入などの処理や、フレーム送受信量の調整などの処理を行う。尚、通信ポート制御部98は、補助記憶装置94に格納されたプログラムをCPU91が実行することによって実現されてもよい。 管理用通信ポート96は、通信ケーブル39に接続され、管理用ネットワーク3を介して、ネットワーク管理装置1、サーバ管理装置2、他のスイッチ5またはスイッチ4、サーバ装置6と接続している。
補助記憶装置94は、前記補助記憶装置35と同様であるが、備えるテーブル、機能がスイッチ向けである点が異なり、通信ポート管理テーブルT91、装置管理OS97を備える。
バス95は、CPU91、メモリ92、スイッチングデバイス93、補助記憶装置94、管理用通信ポート96、通信ポート21の入出力信号を伝達する伝送路である。
装置管理OS97は、スイッチ(4、5)のユーザ(以下、明確に区別しない限り、上記のサーバ管理装置2のユーザと同様に管理者と称す)に対し、CLI(Command Line Interface)といったスイッチ(4、5)を制御する機能を提供する。また、前述のスイッチングデバイス93が備えている、スイッチを論理的に一台に扱うための機能や、各種通信プロトコルの制御は装置管理OS97が担ってもよい。
図10は、通信ポート管理テーブルT91の構成である。
通信ポート管理テーブルT91は、スイッチ(4、5)の通信ポート21と、対向装置や、対向装置の通信ポートあるいは仮想通信ポートの接続構成を示し、通信ポートフィールドT911、対向装置フィールドT912、対向通信ポートフィールドT913を含む。
通信ポートフィールドT911は、通信ポート21の識別子を格納する。通信ポートフィールドT911は、スイッチ(4、5)の全通信ポートの分があらかじめ格納されていることが一般的である。
接続装置フィールドT912は、通信ポート21が接続する装置の識別子を格納する。対向装置フィールドT912は、スイッチングデバイス93、あるいは装置管理OS97が、LLDP、DCBXなどの通信プロトコルを介して、通信ポート21に接続している装置から取得して格納する。
対向通信ポートフィールドT913は、通信ポート21が接続する対向装置の通信ポートあるいは仮想通信ポートの識別子を格納する。対向通信ポートフィールドT913は、前記接続装置フィールドT912と同様に、スイッチングデバイス93、あるいは装置管理OS97によって格納される。
尚、図10は、図2におけるサーバ接続スイッチ5aが備える通信ポート管理テーブルであり、他装置との接続構成を示している。他のスイッチ(4a、4b、5b)も同様に、他装置との接続構成を示す通信ポート管理テーブルを備える。
図11は、図1で示したサーバ装置6の内部構成図である。
サーバ装置6は、入力部1101、CPU1102、出力部1103、メモリ1104、補助記憶装置1105、バス1109、ネットワークインタフェイス1110とを備えるコンピュータ上に実現されるが、補助記憶装置1105が記憶する内容を除き、前記サーバ管理装置2の入力部31、CPU32、出力部33、メモリ34、補助記憶装置35、ネットワークインタフェイス38、バス37と同様である。
補助記憶装置1105は、仮想マシン部1106、仮想スイッチ部1107、ハイパーバイザー部1108を実現するプログラムを記憶する。
仮想マシン部1106は、VM8を実現する機能を備え、ハイパーバイザー部1108の指示に従い、VM8を生成、削除したりする。
仮想スイッチ部1107は、vSW7を実現する機能を備え、ハイパーバイザ−部1108の指示に従い、vSW7を生成、削除したり、仮想通信ポート21にネットワークポリシーを割当てたりする。
ハイパーバイザー部1108は、仮想マシン部1106、仮想スイッチ部1107を制御する機能を備え、サーバ管理装置2の仮想装置管理部36の指示に従い、VM8の生成、削除を仮想マシン部1106に指示したり、vSW7の生成、削除を仮想スイッチ部1107に指示したりする。
図12は、ネットワーク管理装置1の内部構成である。
ネットワーク管理装置1は、入力部1201、CPU1202、出力部1203、メモリ1204、バス1205、補助記憶装置1206、ネットワークインタフェイス1210、とを備えるコンピュータ上に実現されるが、補助記憶装置1206の記憶内容を除き、前記サーバ管理装置2にて説明したものと同様である。
補助記憶装置126は、スイッチ連携部1207、サーバ管理装置連携部1208、構成特定部1209のそれぞれを実現するプログラム、仮想・物理構成情報テーブルT121、vSW識別子変換テーブルT122、スイッチ管理テーブルT123を記憶する。
スイッチ連携部1207は、スイッチ(4、5)から、通信ポート管理テーブルT91を取得する機能、構成特定部1209の指示に従い、設定制御メッセージ180(詳細は後述する)をスイッチ(4、5)に送信する機能を備える。例えば、IEEE 802.11、各種RFC(Request For Comment)(1157、1901−1908、3411−3418)などが規定するSNMP(Simple Network Management protocol)を用いて通信ポート管理テーブルT91を取得したり、設定制御メッセージ180を送信したりする。
サーバ管理装置連携部1208は、サーバ管理装置2から、各種テーブル(T31、T32、T33、T34、T35)を取得したり、VM移動の通知を取得したりする。例えば、サーバ管理装置2の仮想装置管理部36の持つ、情報を提供する機能を用いて取得する。
構成特定部1209は、スイッチ管理テーブルT123、仮想・物理構成情報テーブルT121の生成、vSW識別子変換テーブルT122を用いたvSW識別子の記述形式を変換する機能を備え、スイッチ(4、5)へ設定するVM8のネットワークポリシーの特定と、スイッチ(4、5)とVM8との接続構成を把握する。さらに、接続構成を管理画面1300に出力したり、構成管理表ファイルに出力する機能、前記管理者あるいはネットワーク管理装置の管理者が設計した構成仕様(本来あるべき構成)と接続構成を照合する機能を備える。また、VM移動時には、ネットワークポリシーを変更するスイッチ(4、5)を特定し、ネットワークポリシーの設定を変更する機能も備える。詳細は後述する。
図13は、構成特定部1209が生成して出力する管理画面例である。管理画面1300は、全体構成1301、照合結果1302とを含む。
全体構成1301は、スイッチ(4、5)の接続構成と、サーバ接続スイッチ5とVM8との接続構成を統合した全体構成図である。尚、分散仮想スイッチ24、vSW7も構成図に含むこともできる。
照合結果1302は、構成仕様と、仮想・物理構成情報テーブルT121とを照合した結果を示す。図13では、異常がない、即ち、構成仕様の通りの全体構成となっていることが示されているが、異常がある場合は、不一致がある構成要素を表示する。
尚、全体構成1301の出力、構成仕様との照合および照合結果1302の出力は、管理者の操作によって実行してもよいし、後述する構成特定、VM移動後に実施してもよい。
図14は、仮想・物理構成情報テーブルT121の構成を示す。
仮想・物理構成情報テーブルT121は、コアスイッチ4と、サーバ接続スイッチ5と、サーバ装置6と、vSW7と、VM8との接続構成を示す。仮想・物理構成情報テーブルT121は、コアスイッチフィールドT1211、コアスイッチポートフィールドT1212、サーバ接続スイッチポート(アップリンク)フィールドT1213、サーバ接続スイッチフィールドT1214、サーバ接続スイッチポート(ダウンリンク)フィールドT1215、サーバ装置フィールドT311、NICフィールドT312、アップリンクポートフィールドT313、vSWフィールドT331、仮想通信ポートフィールドT332、ネットワークポリシーフィールドT333、VMフィールドT322により構成される。
コアスイッチフィールドT1211は、コアスイッチ4の識別子が格納される。
コアスイッチポートフィールドT1212は、コアスイッチ4の通信ポート21の識別子が格納される。
サーバ接続スイッチポート(アップリンク)フィールドT1213は、サーバ接続スイッチ5の通信ポートのうち、コアスイッチ4と接続する通信ポート21の識別子が格納される。
サーバ接続スイッチフィールドT1214は、サーバ接続スイッチ5の識別子が格納される。
サーバ接続スイッチポート(ダウンリンク)フィールドT1215、サーバ接続スイッチ5の通信ポート21のうち、サーバ装置6と接続する通信ポート21の識別子が格納される。
T311、T312、T313、T331、T322、T333、T322フィールドは、上記説明済みの各フィールドと同様であるが、T1211、T1212、T1213、T1214、T1215と関連付けられるため、格納値が重複する点が異なる。
仮想・物理構成情報テーブルT121の操作は、構成特定部1209が行う。詳細は後述する。
図15は、vSW識別子変換テーブルT122の構成を示す。
vSW識別子変換テーブルT122は、通信ポート管理テーブルT91の対向装置フィールドT912と、仮想通信ポート・ネットワークポリシーテーブルT33のvSWフィールドT331の記述形式を、同一の記述形式に変換するために用いる。vSW識別子変換テーブルT122は、情報取得元フィールドT1221と、vSWフィールドT1222と、変換後vSW名フィールドT1223によって構成される。情報取得元フィールドT1221は、vSW識別子を取得した装置の種別を示す。vSWフィールドT1222は、情報取得元フィールドT1221に示す装置から取得したvSW識別子を示す。変換後vSW名フィールドT1223は、vSWフィールドT1222のvSW識別子を変換した後のvSW識別子を示す。例えば、サーバ接続スイッチ5のvSWフィールドT331から、「分散仮想スイッチ024」という識別子を抽出した場合、「分散仮想スイッチ24」という識別子に変換される。
図16は、スイッチ管理テーブルT123の構成を示す。
スイッチ管理テーブルT123は、スイッチ(4、5)の通信ポート21の接続構成と、各通信ポートのネットワークポリシーを記録するテーブルである。
スイッチ管理テーブルT123は、スイッチフィールドT1231、通信ポートフィールドT911、ネットワークポリシーフィールドT1232、対向装置フィールドT912、対向通信ポートフィールドT913により構成される。T911、T912、T913は、通信ポート管理テーブルT91のフィールドと同義である。スイッチフィールドT1231は、スイッチ(4、5)の識別子が格納され、ネットワークポリシーフィールドT1232には、通信ポートに適用するネットワークポリシーの識別子が格納される。スイッチ管理テーブルT123の操作は、構成特定部1209が行う。詳細は後述する。
図17は、図1で示したネットワーク管理装置1が全体構成を把握する時の、システム構成要素全体のシーケンスである。ネットワーク管理装置1を中心に各構成要素は連携し、スイッチ(4、5)の動的なネットワークポリシーの設定を実現する。
S10:管理者がネットワーク管理装置1に対し、vSW識別子変換テーブルT122を登録する。vSW識別子変換テーブルT122は、他の形式のテーブルを複数入力してもよい。
S11:サーバ装置6は、LLDPなどを用いて、自装置のvSW、仮想通信ポートの識別子を、自装置と接続するサーバ接続スイッチ5に対して送信する。サーバ接続スイッチ5は、受信した情報を、通信ポート管理テーブルT91に格納する。
S12:ネットワーク管理装置1は、スイッチ(4、5)に対し、SNMPなどを利用して通信ポート管理テーブルT91の取得を要求する。
S13:要求を受けたスイッチ(4、5)は、ネットワーク管理装置1に対し、自装置の通信ポート管理テーブルT91を送信する。
S14:ネットワーク管理装置1は、サーバ管理装置2に対し、各種テーブル(T31〜T35)の取得を要求する。これは、サーバ管理装置2の仮想装置管理部36が備える、各種テーブルを提供する機能にアクセスするといった方法を用いる。
S15:要求を受けたサーバ管理装置2は、ネットワーク管理装置1に対し、各種テーブル(T31〜T35)を送信する。
S16:ネットワーク管理装置1の構成特定部1209が、全体の構成把握、スイッチ(4、5)に設定するネットワークポリシーの特定を行う。詳細は後述する。
S17:ネットワーク管理装置1は、設定制御メッセージ180をスイッチ(4、5)に送信することで、S16において特定したネットワークポリシーを、設定する。
以上により、構成把握時の全体シーケンスが完了する。尚、変換テーブルを入力するシーケンス(S10)と、ネットワーク管理装置1がスイッチ(4、5)から情報を取得するシーケンス(S11、S12、S13)と、サーバ管理装置2からテーブルを取得するシーケンス(S14、S15)は、図17の実行順に必ずしも限定されない。S13の前にS12を、S15の前にS14を実行すればよく、S10、S12、S14の実行順は限定されない。
図18は、設定制御メッセージ180の構成である。
設定制御メッセージ180は、宛先1801、送り元1802、コマンド1803、通信ポート1804、ネットワークポリシー1805を含む。
宛先1801は、設定制御メッセージ180の宛先となるスイッチの識別子が格納される。送り元1802は、設定制御メッセージ180を送信する装置の識別子、即ち「ネットワーク管理装置1」が格納される。コマンド1803は、設定の追加、削除といった、1805に格納されるネットワークポリシーの制御が格納される。通信ポート1804は、1805に格納されるネットワークポリシーを、コマンド1803の内容に従って制御を行う対象の通信ポート識別子が格納される。ネットワークポリシー1805は、ネットワークポリシーを示す識別子が格納される。あるいはネットワークポリシーテーブルT35の、ネットワークポリシーフィールドT342に格納されている識別子に対応する、VLANフィールドT352に格納されているVLAN ID、QosフィールドT353に格納されている識別子、パラメータ値のいずれかひとつ以上が格納される。
設定制御メッセージ180は、構成特定部1209が生成し、スイッチ連携部1207を通して、各スイッチ(4、5)に送信される。各スイッチ(4、5)は、設定制御メッセージ180を受信すると、通信ポート制御部98が、設定制御メッセージ180を参照し、通信ポート1804に格納されている識別子が示す通信ポート21のネットワークポリシーが、ネットワークポリシー1805の格納されているポリシーであることを把握する。そして、コマンド1803が、追加を示していれば、把握したネットワークポリシーに従って通信ポート21を制御し、削除を示していれば、把握したネットワークポリシーに従った制御を中止する。
図19は、図1で示したネットワーク管理装置1がVMの移動に伴い、スイッチ(4、5)のネットワークポリシーを変更する時の、システム構成要素全体のシーケンスである。
S21:管理者がサーバ管理装置2に対し、VM8の移動操作を行う。
S22:サーバ管理装置2は、管理者のVMの移動操作に従い、VM8を他のサーバ装置6へ移動するよう、移動元サーバ装置および移動先サーバ装置に対して指示する。移動により、移動元サーバ装置はVM8を削除し、移動先サーバ装置はVM8を生成する。
S23:サーバ管理装置2は、ネットワーク管理装置1に対し、移動するVM8(以下、移動VMと称す)と、移動元および移動先サーバ装置を通知する。あるいは、図17のS15のように、各種テーブル(T31〜T35)を送信してもよい。また、移動元サーバ装置は必ずしも通知しなくともよい。
S24:ネットワーク管理装置1は、サーバ管理装置2からのVM移動通知を受け、VM8の移動によって変わる、VM8とサーバ接続スイッチ5との接続構成を把握し、各スイッチ(4、5)の変更するネットワークポリシーを特定する。詳細は後述する。尚、サーバ管理装置2から、各種テーブル(T31〜T35)を取得した場合、図17に示した処理を行えばよい。
S17については、図17で示したものと同様である。
図20は、ネットワーク管理装置1が、ネットワークの構成変更に伴い、スイッチ(4、5)のネットワークポリシーを変更する時の、システム構成要素全体のシーケンスである。
S31:管理者がスイッチ(4、5)の増設あるいは減設を行う。
S32:管理者がスイッチ(4、5)を増減設したことをネットワーク管理装置1に登録する。あるいは、スイッチ(4、5)から、スイッチが増減設したことを通知されてもよい。
ネットワーク管理装置1は、増減設の登録あるいは通知を受け、スイッチ(4、5)に設定するネットワークポリシーを変更するために、S12〜S17を行う。
図21は、図17で示したS16に関する構成特定部1209の詳細な動作を示すフローチャートである。
F101:各スイッチ(4、5)から取得した通信ポート管理テーブルT91を、スイッチ連携部1207より取得し、スイッチ管理テーブルT123を生成する。
まず、通信ポート管理テーブルT91の取得先であるスイッチ名を、スイッチフィールドT1231に格納する。そして、T911、T912、T913を通信ポート管理テーブルT91からコピーする。以上により、スイッチ管理テーブルT123は、ネットワークポリシーフィールドT1232を除くフィールドに値が格納される。
F102:スイッチ管理テーブルT123の対向通信ポートフィールドT913に格納されている対向通信ポートの識別子を検索キーとして、サーバ装置アップリンクテーブルT31のアップリンクポートフィールドT313を検索し、一致するサーバ装置6の識別子を抽出する。この時点で、サーバ接続スイッチ5が、どのサーバ装置6と接続しているか判明する。
F103:F102で抽出したサーバ装置6の識別子を検索キーとして、サーバ装置VM構成テーブルT32のサーバ装置フィールドT311を検索し、対応するサーバ装置6が配置しているVM8の識別子をVMフィールドT322から抽出する。
F104:F103で抽出したVM8の識別子を検索キーとして、VM・ネットワークポリシーテーブルT34のVMフィールドT322を検索し、対応するVM8に設定されているネットワークポリシーの識別子をネットワークポリシーフィールドT342から抽出する。
F105:スイッチ管理テーブルT123の対向装置フィールドT912のvSW識別子を検索キーとして、仮想通信ポート・ネットワークポリシーテーブルT33のvSWフィールドT331を検索する。
F106:F105で検索したT123とT331に、一致するvSW識別子があるかで処理が分岐する。一致するvSW識別子がある場合(F106でYes)、処理F107へ進む。一致するvSW識別子がない場合(F106でNo)、処理F111へ進む。 F107:F104で抽出したネットワークポリシーの識別子と、F105で検索したvSW識別子が持つネットワークポリシーを照合、一致するネットワークポリシーの識別子を、スイッチ管理テーブルT123の、F101で検索キーとした対向通信ポートのネットワークポリシーフィールドT1232に格納する。
以上で、サーバ接続スイッチ5のサーバ装置6と接続する通信ポートに設定するネットワークポリシーの特定が完了する。次に、サーバ接続スイッチ5の、コアスイッチ4と接続する通信ポートに設定するネットワークポリシーを特定する。
F108:スイッチ管理テーブルT123の対向装置フィールドT912にコアスイッチ4の識別子を格納している、サーバ接続スイッチ5の識別子をスイッチフィールドT1231から抽出する。抽出したサーバ接続スイッチ5と接続しているvSWを対向装置フィールドT912から特定し、特定したvSWと接続している通信ポート(T911)に対応するネットワークポリシーの識別子を、ネットワークポリシーフィールドT1232から全て抽出する。そして、抽出した全てのネットワークポリシーの識別子を、コアスイッチ4と接続する通信ポートのネットワークポリシーフィールドT1232に格納する。 ただし、ネットワークポリシーフィールドT1232に格納するネットワークポリシーの識別子は抽出した全てではなく、一つ以上任意の組み合わせであっても良い。
以上により、サーバ接続スイッチ5のコアスイッチ4と接続する通信ポートに設定するネットワークポリシーの特定が完了する。次に、コアスイッチ4のサーバ接続スイッチ5と接続する通信ポートに設定するネットワークポリシーを特定する。
F109:スイッチ管理テーブルT123の対向装置フィールドT912に、サーバ接続スイッチ5の識別子を格納しているコアスイッチ4の識別子を特定し、特定したコアスイッチ4の対向装置フィールドT912に格納されているサーバ接続スイッチ5の識別子を抽出する。これは、コアスイッチ4に接続しているサーバ接続スイッチ5を特定することを意味する。
次に、抽出したサーバ接続スイッチ5の、特定したコアスイッチ4と接続する通信ポートのネットワークポリシーの識別子を、ネットワークポリシーフィールドT1232から全て抽出する。そして、抽出した全てのネットワークポリシーの識別子を、ネットワークポリシーを抽出したサーバ接続スイッチ5と接続する、特定したコアスイッチ4の通信ポートのネットワークポリシーフィールドT1232に格納する。
ただし、ネットワークポリシーフィールドT1232に格納するネットワークポリシーの識別子は抽出した全てではなく、一つ以上任意の組み合わせであっても良い。
F110:設定制御メッセージ180を生成し、スイッチ(4、5)に対して送信、ネットワークポリシーを通信ポート制御部98に設定する。
F111:スイッチ管理テーブルT123の対向装置フィールドT912のvSW識別子と、仮想通信ポート・ネットワークポリシーテーブルT33のスイッチフィールドT331のvSW識別子は、必ずしも記述形式が一致するとは限らない。例えば、スイッチ管理テーブルT123の対向装置フィールドT912のvSWの識別子が、分散仮想スイッチ024であり、仮想通信ポート・ネットワークポリシーテーブルT33のスイッチフィールドT331のvSW識別子が分散仮想スイッチ0024である場合について、共通の記述形式に変換する処理を説明する。共通にするには、vSW識別子変換テーブルT122を用いる。先に抽出したvSWの識別子は、サーバ接続スイッチ5から取得したものであるため、T1222の一行目と照合され、変換後vSW名フィールドT1223の一行目の分散仮想スイッチ24に変換される。そして、後に抽出したvSW識別子は、サーバ管理装置2から取得したものであるため、変換テーブルT1222の二行目と照合され、変換後vSW名フィールドT1223の二行目の分散仮想スイッチ24に変換される。以上により、vSW識別子は共通の記述形式に統一される。
F112:仮想・物理構成情報テーブルT121を生成する。T121は、スイッチ管理テーブルT123と、サーバ管理装置2の各種テーブル(T31〜T35)を関連付けし、全体構成としてまとめるテーブルである。各フィールドへの格納について個別に説明する。
T1211:スイッチ管理テーブルT123のスイッチフィールドT1231から、コアスイッチ4の識別子を抽出して格納。
T1212:スイッチ管理テーブルT123のコアスイッチ4の通信ポートフィールドT911から、サーバ接続スイッチ5と接続する通信ポート21の識別子を抽出して格納。
T1213:T1212に格納した識別子が示す通信ポート21と接続する、サーバ接続スイッチ5のコアスイッチ4と接続する通信ポート21の識別子を、スイッチ管理テーブルT123の通信ポートフィールドT911から抽出して格納。
T1214:T1211に格納した識別子が示すコアスイッチ4と接続するサーバ接続スイッチ5の識別子を、スイッチ管理テーブルT123のスイッチフィールドT1231から抽出して格納。
T1215:T1214に格納した識別子が示すサーバ接続スイッチ5の、vSWと接続する通信ポートの識別子を、スイッチ管理テーブルT123の通信ポートフィールドT911から抽出して格納。
T311:T313に格納したアップリンクポートの識別子が示す仮想通信ポートを持つサーバ装置6の識別子を、サーバ装置アップリンクテーブルT31の、サーバ装置フィールドT311から抽出して格納。
T312:T311に格納したサーバ装置6が持つNIC23の識別子を、サーバ装置アップリンクテーブルT31の、NICフィールドT312から抽出して格納。
T313:T1215に格納した、サーバ接続スイッチ5のvSWと接続する通信ポート21の対向であるvSWの仮想通信ポート22の識別子を、スイッチ管理テーブルT123の対向通信ポートフィールドT913から抽出して格納。
T331:T332に格納した識別子が示す仮想通信ポートを持つvSWの識別子を、仮想通信ポート・ネットワークポリシーテーブルT33のvSWフィールドT331から抽出して格納。
T332:T331に格納した識別子が示すvSWの、ネットワークポリシーが設定されている仮想通信ポート22の識別子を、仮想通信ポート・ネットワークポリシーテーブルT33の、仮想通信ポートフィールドT332から抽出して格納。
T333:T322に格納した識別子が示すVM8のネットワークポリシーの識別子を、VM・ネットワークポリシーテーブルT34の、ネットワークポリシーフィールドT342から抽出して格納。
T322:T311に格納した識別子が示すサーバ装置6が持つVM8の識別子を、サーバ装置VM構成テーブルT32のVMフィールドT322から抽出して格納。
図22は、図19で示したVM移動時に、構成特定部1209が、VM移動によって変更が必要な、スイッチ(4、5)のネットワークポリシーを特定するフローチャートである。
F201:サーバ管理装置連携部1208より、VM移動通知を受け、通知から移動VM、移動元サーバ装置、移動先サーバ装置、移動VMが接続しているvSWの識別子を、それぞれ検索キーとして抽出する。尚、移動元サーバ装置の識別子が、VM移動通知に含まれない場合、仮想・物理構成情報テーブルT121を、移動VMを検索キーとして検索し、対応するサーバ装置6の識別子を移動元サーバ装置の識別子と抽出する。また、移動VMが接続しているvSWの識別子が、VM移動通知に含まれない場合、仮想・物理構成情報テーブルT121を、移動VMを検索キーとして検索し、対応するvSWの識別子を抽出する。
F202:仮想・物理構成情報テーブルT121の、移動VM、移動元サーバ装置、移動VMが接続しているvSW識別子が、全て一致する行のネットワークポリシーの識別子(以下、移動ポリシーと称す)を、ネットワークポリシーフィールドT333から抽出する。これは、移動VMに設定されているネットワークポリシーを特定したことを意味する。そして、VMが移動する前の構成情報は不要となるため、移動ポリシーを抽出した行を削除する。
F203:移動ポリシーが、移動VMと同じアップリンクポートに接続する他のVMに設定されているかを特定する。設定されていない場合には、アップリンクポートの識別子を削除キーとして抽出する。例えば、移動VMがVM8aである場合、VM8aはネットワークポリシー100が設定されている(仮想・物理構成情報テーブルT121の一行目)。そして、VM8aが接続するアップリンクポートである仮想通信ポート1に接続される他のVMは、VM8bと、VM8cがある。このとき、VM8bには、移動VMと同じネットワークポリシー100が設定されていることがわかる(仮想・物理構成情報テーブルT121の二行目)。この場合は、移動ポリシーが、移動VMと同じアップリンクポートに接続する他のVMに設定されているため、削除キーを抽出しない。VM8bにネットワークポリシー101が設定されているような場合には、削除キーとしてアップリンクポートである仮想通信ポートの識別子、即ち、ポート1を抽出する。
F204:仮想・物理構成情報テーブルT121における、サーバ装置フィールドT311が移動先サーバ装置の識別子と一致する行の、アップリンクポートの識別子をアップリンクポートフィールドT313から抽出する。これは、移動VMが移動後に接続するアップリンクポート(以下、移動後アップリンクポートと称す)を特定したことを意味する。
F205:移動後アップリンクポートを検索キーとして、スイッチ管理テーブルT123の対向通信ポートフィールドT913を検索し、一致する行のネットワークポリシーフィールドT1232に、F202で抽出した移動ポリシーを格納する。これは、移動後アップリンクポートに接続しているサーバ接続スイッチ5の通信ポート21に、移動ポリシーが関連付けられることを意味し、移動VMのネットワークポリシーがサーバ接続スイッチ5の通信ポート21に関連付けられたことも意味する。
F206:仮想・物理構成情報テーブルT121に、VM移動後の構成情報を格納する。仮想・物理構成情報テーブルT121における、サーバ装置フィールドT311が移動先サーバ装置の識別子と一致する箇所を検索し、一致する箇所に対して新たな行を追加し、VMフィールドT322に、移動VMの識別子を格納する。ネットワークポリシーフィールドには、移動ポリシーを格納する。このとき、仮想通信ポートフィールドT332には、移動前の通信ポート識別子を格納してもよいし、移動後の新たな通信ポート識別子を格納してもよい。
F207:削除キーが抽出されているかで処理が分岐する。削除キーが抽出されていない場合(F207でYes)、F108の処理に進む。削除キーが抽出されている場合(F207でNo)、F208の処理に進む。
F208:スイッチ管理テーブルT123の対向通信ポートフィールドT913と、削除キーを照合し、削除キーが示すアップリンクポートと接続するサーバ接続スイッチ5の通信ポートを特定し、特定した通信ポートに対応するネットワークポリシーフィールドT1232から、移動ポリシーを削除する。
以降のF108〜F110は、図21で示した内容と同様である。
以上に説明した本実施形態では、ネットワーク管理装置1は、スイッチ(4、5)から通信ポート管理テーブルT91と、サーバ管理装置2の各種テーブル(T31〜T35)とを収集する。それらテーブルを、vSW識別子、サーバ接続スイッチの対向のvSWの仮想通信ポートの識別子を検索キーとして照合し、vSW(分散仮想スイッチ24)と、サーバ装置6と、VM8の接続構成と、スイッチ(4、5)を含んで構成されるネットワークの接続構成とを統合した全体構成を把握し、サーバ接続スイッチ5のvSWと接続する通信ポート21に、vSWを介して接続しているVM8のネットワークポリシーを特定し、スイッチ管理テーブルT123を生成し設定を行う。そして、サーバ接続スイッチ5のコアスイッチ4と接続する通信ポート21、コアスイッチ4のサーバ接続スイッチ5と接続する通信ポート21に対し、VM8のネットワークポリシーを設定する。また、全体構成をまとめた仮想・物理構成情報テーブルT121を生成する。さらに、VM移動時は、VM移動によって、変更する必要があるスイッチ(4、5)のネットワークポリシーを、移動VM、移動元サーバ装置、移動先サーバ装置、移動VMが接続するvSWの識別子を、スイッチ管理テーブルT123、仮想・物理構成情報テーブルT121と照合することで、特定し、スイッチ(4、5)のネットワークポリシーの設定を変更する。
これにより、管理者が接続構成を考慮したネットワークポリシーをスイッチ(4、5)に設定する必要がなくなり、さらには、VM移動を行った時、スイッチ(4、5)に対して、ネットワークポリシーの設定変更を実施する必要がなくなる。これらにより、運用作業コストを削減することができる。