JP2010039730A - ネットワーク設定プログラム,ネットワーク設定方法及びネットワーク設定装置 - Google Patents

ネットワーク設定プログラム,ネットワーク設定方法及びネットワーク設定装置 Download PDF

Info

Publication number
JP2010039730A
JP2010039730A JP2008201433A JP2008201433A JP2010039730A JP 2010039730 A JP2010039730 A JP 2010039730A JP 2008201433 A JP2008201433 A JP 2008201433A JP 2008201433 A JP2008201433 A JP 2008201433A JP 2010039730 A JP2010039730 A JP 2010039730A
Authority
JP
Japan
Prior art keywords
server
operating system
migration
connection
destination server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2008201433A
Other languages
English (en)
Inventor
Yuji Imai
祐二 今井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2008201433A priority Critical patent/JP2010039730A/ja
Priority to US12/473,046 priority patent/US20100036913A1/en
Priority to GB0909310A priority patent/GB2462340A/en
Publication of JP2010039730A publication Critical patent/JP2010039730A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45537Provision of facilities of other operating environments, e.g. WINE
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration

Abstract

【課題】ゲストOSを移行したときにおける、ネットワーク設定作業の負担を軽減するようにする。
【解決手段】仮想OSとして、ホストOS及びゲストOSが動作可能な仮想マシン環境を有する複数のサーバに接続された管理マネージャ10が、次の処理を行う。即ち、移行元サーバから移行先サーバにゲストOSを移行させるオペレータ指示があったときに、移行元サーバの接続先サーバを特定するとともに、その接続先サーバと移行先サーバとの間で仮想ネットワーク接続を行うのに必要な接続情報を取得する。そして、ゲストOSの移行前に、接続先サーバにおいて、移行対象のゲストOSへの送信データをループバックさせるように設定する。また、ゲストOSの移行後に、移行先サーバ及び接続先サーバに対し、相互に仮想ネットワーク接続が可能になるようにネットワーク設定をする。
【選択図】 図8

Description

本発明は、仮想化技術を適用したサーバに対してネットワークの自動設定を行う技術に関する。
近年、企業等の情報処理システムをアウトソーシングする需要が高まり、その市場が拡大してきている。かかるアウトソーシングを一括して請け負うデータセンタでは、複数のサーバで構成されるサーバノードプールを有する。そして、アウトソーシングが委託された顧客業務の処理を行う業務プログラムが、サーバノードプールを構成する複数のサーバに対し、その機能に応じて分散して配置されるとともに、これらのサーバが物理的にネットワーク接続されている。
かかるサーバノードプールでは、複数の顧客に係る業務を夫々分割して管理するべく、各サーバにおいて仮想マシン環境を設定する技術が一般化している。具体的には、各サーバにおいて、仮想オペレーティングシステム(以下、仮想OS(Operating System)という。他も同様)として、仮想マシン環境における基盤となるホストOSを動作させるとともに、業務プログラムを実行する環境としてのゲストOSを夫々動作させている。こうすることで、同一サーバ上で複数の顧客の業務プログラムを処理する場合にも、顧客の業務プログラムで処理されるデータが顧客間で混在することを回避することができる。また、かかるデータセンタでは、サーバ間の物理ネットワークを複数の顧客間で共有することとなるため、顧客間における情報漏洩や不正アクセス等を回避すべく、さらに次のような手法が採用されている。即ち、サーバ間における物理ネットワークを、VLAN(Virtual Local Area Network)技術を用いてL2(Layer-2)区分で区分したり、VPN(Virtual Private Network)を用いて区分したりするなどして仮想的にネットワークを分割し、顧客ごとに仮想イントラネットを構築している。
ここで、かかるシステムの運用を継続するうちに、システム構成の変更や再配備を行う必要が生じることがある。このような場合に、あるサーバで動作させていたゲストOSを別のサーバへの移行させること(マイグレーション)が行われる。このとき、それまで移行元サーバとの間で仮想ネットワーク接続されていた接続先サーバと、新たな移行先サーバと、の間で仮想ネットワーク接続をする必要がある。このため、移行先サーバ及び接続先サーバの両方について、改めて仮想ネットワークの設定を行う必要がある。
しかし、サーバノードプールの仮想ネットワーク構成は複雑であるため、移行先サーバ及び全ての接続先サーバに対する仮想ネットワークの設定作業には多大な負担がかかっており、かつ、長い時間を要していた。また、そもそも移行元のサーバがどのサーバと仮想ネットワーク接続されていたのかを把握するのは難しく、設定漏れ等のミスも発生しやすかった。さらに、ゲストOSの移行を行なっている間は、接続先サーバから移行対象のゲストOSに対して送信されたデータを正常に処理することができず、エラーが生じたものとして送信元たる接続先サーバに対して返信されてしまっていた。このため、かかるゲストOSの移行を行うごとに、顧客業務の処理が中断してしまい、顧客業務に支障が生じてしまっていた。
特表2004−503011号公報
以上のような従来の問題点に鑑み、ゲストOSを別のサーバに移行するときに、移行に伴う仮想ネットワークの設定作業を自動化するとともに、業務中断を生じさせないようにすることで、顧客業務に支障を生じさせずに円滑に移行を行うことを目的とする。
仮想OSとして、ホストOS及びゲストOSが動作可能な仮想マシン環境を有する複数のサーバに接続されたコンピュータが、次の処理を行う。即ち、移行元サーバから移行先サーバにゲストOSを移行させるオペレータ指示があったときに、移行元サーバの接続先サーバを特定するとともに、その接続先サーバと移行先サーバとの間で仮想ネットワーク接続を行うのに必要な接続情報を取得する。そして、ゲストOSの移行前に、接続先サーバにおいて、移行対象のゲストOSへの送信データをループバックさせるように設定をする。また、ゲストOSの移行後に、移行先サーバに対し、移行したゲストOSから接続先サーバで動作するゲストOSに対する送信データを送信するように仮想ネットワーク接続の設定をする。一方、接続先サーバに対し、ループバック設定に代えて、移行先サーバに移行された移行対象のゲストOSに送信データを送信するように仮想ネットワーク接続の設定をする。
移行対象のゲストOSが動作する移行元サーバと接続されていた接続先サーバが特定されるとともに、移行先サーバ及び接続先サーバの間における仮想ネットワーク接続の設定が自動で行われるため、設定に要する時間及び労力を大幅に軽減することができる。また、ゲストOSの移行前に、移行対象のゲストOSが動作する移行元サーバと接続されていた接続先サーバにおける移行対象のゲストOSへの送信データがループバックされる。このため、ゲストOSの移行中であっても、移行対象のゲストOSに対して送信されたデータが、送信元たる接続先サーバに対してエラーとして返信されず、業務プログラムの処理が中断されない。従って、顧客業務に支障を及ぼさずに円滑にゲストOSの移行を行うことが可能となる。
図1は、ネットワーク設定機構を具現化したシステムの全体構成を示す。このシステムは、複数の顧客業務を一括処理するデータセンタに設置されたサーバノードプールにおいて構築されたシステムであり、管理マネージャ10と、顧客業務を処理する複数のサーバ20と、がネットワーク接続されている。この管理マネージャ10は、サーバ20全体を総括して管理するとともに、サーバ20に対する各種設定を遠隔制御により行う。また、管理マネージャ10及びサーバ20は、いずれも、少なくともCPU(Central Processing Unit)及びメモリを備えたコンピュータで構成される。
サーバノードプールを構成する複数のサーバ20には、データセンタにアウトソーシングを委託した複数顧客の業務を処理する業務プログラムが配置されている。そして、各サーバ20では仮想OSを動作させることが可能な仮想マシン環境を備えている。さらに、仮想(私設)ネットワーク(VPN:Virtual Private Network)を用いてサーバ20同士をP2P(Peer to Peer)にVPN接続し、顧客ごとにシステムを分割して仮想イントラネットを構築している。なお、このように顧客ごとに分割された仮想イントラネットは、顧客の有する個々の自社システムに夫々接続されている。
次に、かかる仮想マシン環境を備えたサーバ20の構成及びサーバ20間におけるVPN接続の仕組みについて、図2を用いて説明する。
サーバ20では、仮想マシン環境が構築され、ホストOS30及びゲストOS40が、仮想OSとして動作している。これらのホストOS30及びゲストOS40は、OSの制御プログラムとして機能するハイパーバイザ上において制御されている。
また、サーバ20は、他のコンピュータとの間で通信を行うための物理NIC(Network Interface Card)50を備える。そして、サーバ20には、サーバノードプール内において一意に定まる物理IPアドレスが割り振られている。また、サーバ20内で動作するホストOS30及びゲストOS40は、夫々仮想NIC60を備え、この仮想NIC60を用いて同一サーバ内のホストOS30及びゲストOS40間において通信を行う。そして、サーバ内で動作するゲストOS40には、物理IPアドレスとは異なる独自のアドレスである仮想IPアドレスとしての、顧客IPアドレスが割り振られている。
そして、ホストOS30は、次の要素を含んで構成される。即ち、ゲストOS40から送信データを受け取ったとき、その送信データをVPN接続により送信するためのトンネル情報を特定するルーティング部30Aを含む。このルーティング部30Aは、図3(A)に示すような、送信先の顧客IPアドレス及びその送信先へのVPN接続において用いるトンネル情報が設定されたルーティング設定テーブルを備える。そして、このルーティング設定テーブルを参照し、送信データに付された顧客IPアドレスから、VPN通信に用いるトンネルを特定する。また、ホストOS30は、送信データに送信先の物理IPアドレスを付すとともに送信データをカプセル化し、トンネリングを行うトンネリング部30Bを含む。このトンネリング部30Bは、図3(B)に示すような、トンネル情報と、そのトンネルの送信先となる物理IPアドレスが設定されたトンネリング設定テーブルを備える。そして、トンネリング部30Bでは、このトンネリング設定テーブルに基づいて、トンネル情報から送信先の物理IPアドレスを特定する。さらに、ホストOS30は、送信データを暗号化する暗号化部30Cを含んで構成される。なお、他のサーバ20からデータを受信したときには、ホストOS30では、暗号化部30Cにおいて受信データを復号化し、トンネリング部30Bにおいてカプセル化を解除するとともに、ルーティング部30Aにより、受信データに付された顧客IPアドレスのゲストOS40にデータを送信することとなる。
一方、ゲストOS40は、業務プログラムを実行する顧客業務処理部40Aを含んで構成される。なお、かかる図2の例においては、ゲストOSが1つのみ動作しているが、複数のゲストOSが動作することもできる。
ここで、図2の例において、サーバαのゲストOS40の顧客業務処理部40Aにおいて実行される業務プログラムにより、サーバγのゲストOS40が備える顧客業務処理部40Aにおいて実行される業務プログラムに対してデータが送信される流れについて説明する。まず、サーバαの顧客業務処理部40Aにおいて実行される業務プログラムにより、サーバγのゲストOS40の顧客IPアドレス(192.167.0.3)を送信先として、データが送信される。このデータは、ゲストOS40の仮想NIC60(eth0)及びホストOS30の仮想NIC60(vif0)を介し、ホストOS30に対して送信される。そして、ホストOS30では、ルーティング部30Aにおいて、ルーティング設定テーブルを参照し、送信先の顧客IPアドレスに対応するトンネル情報を取得する。さらに、ホストOS30では、トンネリング部30Bにおいて、トンネリング設定テーブルを参照し、トンネル情報に対応する送信先サーバの物理IPアドレス(10.0.0.3)を取得する。そして、この物理IPアドレスを送信データに付した上で、カプセル化し、トンネリングを行う。また、暗号化部30Cにおいて、かかるカプセル化された送信データをIPsec等を適用してさらに暗号化する。これにより、サーバγとのVPN接続が可能となる。そして、送信データを、ホストOS30の仮想NIC60(eth0)からサーバαの物理NIC50(eth0)を経て、サーバγに送信する。一方、これを受信したサーバγのホストOS30では、受信したデータに付された顧客IPアドレスに基づいて、送信先となっている業務プログラムが実行されるゲストOS40に対し、受信データを送信することとなる。
このような構成を採用することで、業務プログラムにおいて他のサーバ20との間でデータの送受信を行う場合、ゲストOS40では、送信先の顧客IPアドレスを送信データに設定するだけでよく、物理IPアドレスの設定及びVPN接続はホストOS30が行う。このため、顧客がサーバにアクセスして業務プログラムを実行させる場合であって、他のサーバとの通信を行うときであっても、ホストOS30を直接制御することなしに、かかる通信が可能となる。従って、ホストOS30の制御権限を顧客に与えなくても、他のサーバとの通信が可能となり、ホストOS30の環境設定を顧客が誤って変更する等のトラブルを防ぐことができる。
次に、かかるサーバ20全体を管理する管理マネージャ10について説明する。
図4は、管理マネージャ10の構成図である。管理マネージャ10は、業務移行命令受付部10A,接続先特定部10B,接続情報取得部10C,ゲストOS移行部10D,ネットワーク設定部10E,業務管理テーブル10F,物理IPアドレステーブル10G及びインタフェース管理テーブル10Hを含んで構成される。
業務移行命令受付部10Aは、オペレータが操作可能な入力装置と接続されている。そして、オペレータにより入力された、サーバ20で動作するゲストOS40を他のサーバ20に移行させる業務移行命令を受け付ける。この業務移行命令では、移行対象のゲストOS及びそのゲストOSが動作している移行元サーバ、並びにそのゲストOSの移行先となる移行先サーバが指定される。
接続先特定部10Bは、移行元サーバとの間でVPN接続を行っている接続先サーバを特定する。なお、接続先特定部10Bが、接続先特定ステップ及び接続先特定手段として機能する。
接続情報取得部10Cは、接続先サーバと移行先サーバとの間でVPN接続を行うのに必要な接続情報を取得する。なお、接続情報取得部10Cが、接続情報取得ステップ及び接続情報取得手段として機能する。
ゲストOS移行部10Dは、各サーバ20にネットワーク接続されており、移行対象のゲストOSを、移行元サーバから移行先サーバへ移行させる。このとき、移行元サーバにおいて、ゲストOS上で実行されていた業務プログラムは、移行先サーバに移行されたゲストOS上で実行可能な状態となる。なお、かかるゲストOSの移行方法自体については既存技術であるため、本明細書においては具体的な説明を省略する。
ネットワーク設定部10Eは、各サーバ20にネットワーク接続されており、ゲストOSの移行前に、接続先サーバのホストOSのVPN設定をループバック状態にする。一方、ゲストOSの移行後に、接続先サーバのホストOS30及び移行先サーバのホストOS30に対し、接続情報を設定する。なお、ネットワーク設定部10Eが、第1の設定ステップ,第1の設定手段,第2の設定ステップ及び第2の設定手段として機能する。
業務管理テーブル10Fは、業務プログラムの機能に基づく業務プログラム種別ごとに、その種別に属する業務プログラムが実行されているサーバ20を示すテーブルである。そして、図5に示すように、業務プログラム種別,その業務プログラムを実行しているゲストOS40の顧客IPアドレス及びサーバが登録される。
物理IPアドレステーブル10Gは、サーバ20の物理IPアドレスを示すテーブルであり、図6に示すように、サーバ及びそのサーバの物理IPアドレスが登録される。
インタフェース管理テーブル10Hは、サーバ20間のVPN接続において用いられるトンネルを示すテーブルであり、図7に示すように、送信元サーバ及び送信先サーバ並びにトンネル情報を含んで構成される。
図8は、管理マネージャ10の業務移行命令受付部10A,接続先特定部10B,接続情報取得部10C,ゲストOS移行部10D,ネットワーク設定部10Eによるネットワーク設定処理を示す。この処理は、オペレータにより、移行対象のゲストOS及びそのゲストOSが動作している移行元サーバ、並びにそのゲストOSの移行先となる移行先サーバが指定された業務移行命令がなされたときに実行される。なお、移行対象のゲストOSは、その顧客IPアドレスにより指定される。また、移行元サーバ及び移行先サーバが指定されることにより、物理IPアドレステーブル10Gに基づき、移行元サーバ及び移行先サーバの物理IPアドレスが取得される。
ステップ1(図ではS1と略記する。以下同様)では、インタフェース管理テーブル10Hを参照する。そして、送信元サーバが移行元サーバと一致するレコードのうち、トンネル情報が登録されている送信先サーバを、移行元サーバとの接続がなされている接続先サーバとして特定する。また、そのトンネル情報を取得する。
ステップ2では、物理IPアドレステーブル10Gを参照し、接続先サーバの物理IPアドレスを取得する。
ステップ3では、業務管理テーブル10Fを参照し、接続先サーバのゲストOS40の顧客IPアドレスを取得する。
ステップ4では、接続先サーバのホストOSのルーティング設定テーブルに設定された移行対象のゲストOSの顧客IPアドレス宛てのトンネルをループバック(lo)に変更する。また、インタフェース管理テーブル10Hに設定された、接続先サーバを送信元サーバとし、移行元サーバを送信先サーバとするトンネル情報についても、同様にループバックになるように更新する。
ステップ5では、接続先サーバ及び移行元サーバのホストOSのトンネリング設定テーブルの両サーバ間のトンネル設定を消去する。また、インタフェース管理テーブル10Hに設定された、移行元サーバを送信元サーバとするトンネル情報を消去する。
ステップ6では、移行対象のゲストOSを、移行元サーバから移行先サーバへと移行する。なお、このとき、移行対象のゲストOSの顧客IPアドレスはそのまま維持する。
ステップ7では、移行先サーバのトンネリング部30Bにおいて、接続先サーバへのVPN接続を行う新たなトンネルを設定する。即ち、接続先サーバへのVPN接続を行うトンネルを決定し、移行先サーバのトンネリング部30Bのトンネリング設定テーブルに、そのトンネル情報及び接続先サーバの物理IPアドレスを設定する。また、同様に、接続先サーバから移行先サーバへのVPN接続に用いるトンネルを決定し、接続先サーバのトンネリング部30Bのトンネリング設定テーブルに、そのトンネル情報及び接続先サーバの物理IPアドレスを設定する。
ステップ8では、移行先サーバのルーティング部30Aのルーティング設定テーブルに、接続先サーバの顧客IPアドレス及び接続先サーバへのVPN接続に用いるトンネル情報を設定する。また、接続先サーバのルーティング部30Aのルーティング設定テーブルにおける、移行したゲストOSの顧客IPアドレスに対応するトンネル情報のループバック設定を解除し、代わりに、移行先サーバへのVPN接続に用いるトンネル情報を設定する。
ステップ9では、業務管理テーブル10F及びインタフェース管理テーブル10Hに、移行先サーバのゲストOSの情報を登録する。
なお、上記ステップ2〜9は、ステップ1において接続先サーバが複数決定されたときには、複数の接続先サーバの夫々について実行する。
ここで、かかる管理マネージャ10によるネットワーク設定処理について、具体例を示して説明する。本説明では、図9に示すようなサーバ構成の例を用いる。この例では、サーバαで業務プログラム種別Aの業務プログラムが実行されるゲストOSが、サーバγで業務プログラム種別Bの業務プログラムが実行されるゲストOSが、夫々動作している。そして、サーバαのゲストOSを、サーバβに移行させるように業務移行命令がなされたとする。なお、図9では、便宜上、管理マネージャ10及び各サーバ間の物理ネットワーク接続の表記、並びに各サーバの構成の一部の表記を省略する。また、サーバ間の実線矢印は、VPN接続がなされていることを示す。
また、この例において、管理マネージャ10の業務管理テーブル10F,物理IPアドレステーブル10G及びインタフェース管理テーブル10Hは、夫々、図10の(A)〜(C)のように設定されている。
さらに、この例において、サーバαのルーティング部30Aのルーティング設定テーブル及びトンネリング部30Bのトンネリング設定テーブルには、夫々図11(A)及び図11(B)のような設定がなされている。また、サーバγのルーティング部30Aの設定テーブル及びトンネリング部30Bの設定テーブルには、夫々図12(A)及び図12(B)のような設定がなされている。
そして、業務移行命令がなされたとき、管理マネージャ10は、図10(C)に示すインタフェース管理テーブル10Hを参照する。そして、送信元サーバが移行元サーバであるサーバαと一致するレコードのうち、トンネル情報が登録されている送信先サーバ、即ち、サーバγを、サーバαとの接続がなされている接続先サーバとして特定する。また、そのトンネル情報(tun0)を取得する(ステップ1)。さらに、物理IPアドレステーブル10Gを参照し、サーバγの物理IPアドレス(10.0.0.3)を取得する(ステップ2)。さらに、業務管理テーブル10Fを参照し、サーバγのゲストOS40の顧客IPアドレス(192.167.1.2)を取得する(ステップ3)。
ここで、図12(A)に示すサーバγのホストOSのルーティング設定テーブルに設定された、移行対象のゲストOS、即ち、サーバαのゲストOSの顧客IPアドレス宛てのトンネル(tun0)を、図13(A)に示すように、ループバックを示す「lo」に変更する。また、図13(B)に示すように、インタフェース管理テーブル10Hに設定された、サーバγを送信元サーバとし、サーバαを送信先サーバとするトンネル情報も、「lo」を設定して更新する(ステップ4)。さらに、サーバα及びサーバγのホストOSのトンネリング設定テーブルに設定された、両サーバ間のトンネル情報を消去するとともに、図13(B)に示すように、インタフェース管理テーブル10Hに設定された、サーバαを送信元サーバとするトンネル情報を消去する(ステップ5)。そして、移行対象のゲストOSを、サーバαからサーバγに移行する(ステップ6)。
さらに、サーバβからサーバγへのVPN接続のため、図14(A)に示すように、サーバβのトンネリング部30Bのトンネリング設定テーブルに、サーバγの物理IPアドレス(10.0.0.3)を指定して新たなトンネル(tun0)を設定する。一方、サーバγからサーバβへのVPN接続のため、図14(B)に示すように、サーバγのトンネリング部30Bのトンネリング設定テーブルに、サーバγの物理IPアドレス(10.0.0.2)を指定して新たなトンネル(tun0)を設定する(ステップ7)。
また、図15(A)に示すように、サーバβのルーティング部30Aのルーティング設定テーブルに、サーバγの顧客IPアドレス(192.167.0.2)及びトンネル情報(tun0)を設定する。また、図15(B)に示すように、サーバγのルーティング部30Aのルーティング設定テーブルにループバック(lo)が設定されている、サーバβの顧客IPアドレス(192.167.0.1)のトンネル情報のループバックを解除し、新たなトンネル情報(tun0)を設定する(ステップ8)。なお、かかる図15(B)に示したサーバγの設定における、移行対象となったゲストOSの顧客IPアドレスは、図12(A)及び図13(A)に示した、ゲストOSの移行前の状態と変わらない。これは、別のサーバに移行した後においても、移行前の移行対象のゲストOSの顧客IPアドレスが維持されるからである。
さらに、図16(A)及び(B)に夫々示すように、業務管理テーブル10F及びインタフェース管理テーブル10Hに、移行先サーバのゲストOSの情報を登録する(ステップ9)。
そして、これらの処理により、図9に示した処理前の構成から、図17に示すように、サーバαからサーバβにゲストOSが移行されるとともに、サーバγ及びサーバβの間でVPN接続がなされる。
かかるネットワーク設定処理によれば、管理マネージャ10のインタフェース管理テーブル10Hを参照することにより、移行対象のゲストOSが動作する移行元サーバと接続されていた接続先サーバが特定される。また、業務管理テーブル10F及び物理IPアドレステーブル10Gを参照することにより、移行先サーバから接続先サーバへのVPN接続に必要な情報、即ち、接続先サーバで動作するゲストOSの顧客IPアドレス及び接続先サーバの物理IPアドレスが取得される。そして、ゲストOSが移行元サーバから移行先サーバへと移行された後に、これらの接続情報と、移行対象のゲストOSの顧客IPアドレス及び移行先サーバの物理IPアドレスと、を用いて、移行先サーバ及び接続先サーバの両方のホストOSについて、相互にVPN接続が可能となるようにVPN接続設定がなされる。このように、移行先サーバ及び接続先サーバの間におけるVPN接続の設定が自動で行われることで、設定に要する時間及び労力を大幅に軽減することができる。また、設定作業におけるミスも防ぐことができる。
さらに、かかる処理において、ゲストOSの移行前に、移行対象のゲストOSが動作する移行元サーバと接続されていた接続先サーバから移行元サーバへのVPN接続の設定が、ループバックに変更される。その上で、ゲストOSが移行され、その後に、移行先サーバ及び接続先サーバの両方のホストOSにおいてVPN接続の設定がなされる。このため、ゲストOSの移行中に、移行対象のゲストOSに対して接続先サーバのゲストOSから送信されたデータは、送信元である接続先サーバに対してエラーとして返信されない。従って、データの送信元である接続先サーバのゲストOSで実行されている業務プログラムでは、データの再送信は行うものの、業務プログラムの処理自体をエラーとして即座に中断することはない。このため、ゲストOSの移行時に、業務プログラムの処理が中断されず、顧客業務の処理に支障を及ぼさずにかかる移行作業を行うことが可能となる。
ネットワーク設定機構を具現化したシステムの全体構成図である。 サーバ構成及び2サーバ間におけるデータ転送の仕組みの説明図である。 ネットワーク設定テーブルの説明図であり、(A)はルーティング部の設定テーブル、(B)はトンネリング部の設定テーブルである。 管理マネージャの構成図である。 業務管理テーブルの説明図である。 物理IPアドレステーブルの説明図である。 インタフェース管理テーブルの説明図である。 管理マネージャによるネットワーク設定処理のフローチャートである。 ネットワーク設定処理の具体例における、処理前のサーバ構成の説明図である。 ネットワーク設定処理の具体例における、処理前の管理マネージャのテーブルの説明図であり、(A)は業務管理テーブル、(B)は物理IPアドレステーブル、(C)はインタフェース管理テーブルである。 ネットワーク設定処理の具体例における、処理前のサーバαの設定テーブルの説明図であり、(A)はルーティング部の設定テーブル、(B)はトンネリング部の設定テーブルである。 ネットワーク設定処理の具体例における、処理前のサーバγの設定テーブルであり、(A)はルーティング部の設定テーブル、(B)はトンネリング部の設定テーブルである。 ネットワーク設定処理の具体例における、処理中のループバック設定対象テーブルであり、(A)はサーバγのルーティング部の設定テーブル、(B)は管理マネージャのインタフェース管理テーブルである。 ネットワーク設定処理の具体例における、処理後のサーバαの設定テーブルの説明図であり、(A)はトンネリング部の設定テーブル、(B)はトンネリング部の設定テーブルである。 ネットワーク設定処理の具体例における、処理後のサーバβ及びサーバγの設定テーブルであり、(A)はサーバβのルーティング部の設定テーブル、(B)はサーバγのルーティング部の設定テーブルである。 ネットワーク設定処理の具体例における、処理後の管理マネージャのテーブルの説明図であり、(A)は業務管理テーブル、(B)はインタフェース管理テーブルである。 ネットワーク設定処理の具体例における、処理後のサーバ構成の説明図である。
符号の説明
10 管理マネージャ
10A 業務移行命令受付部
10B 接続先特定部
10C 接続情報取得部
10D ゲストOS移行部
10E ネットワーク設定部
10F 業務管理テーブル
10G 物理IPアドレステーブル
10H インタフェース管理テーブル
20 サーバ
30 ホストOS
30A ルーティング部
30B トンネリング部
30C 暗号化部
40 ゲストOS
40A 顧客業務処理部
50 物理NIC
60 仮想NIC

Claims (5)

  1. 仮想オペレーティングシステムとして、他のサーバと仮想ネットワークを用いた通信を直接行うホストオペレーティングシステムと、顧客業務の処理を行う業務プログラムを実行するために起動され、ホストオペレーティングシステムを介してのみ他のサーバとの通信を行うゲストオペレーティングシステムと、が動作可能な仮想マシン環境を有する複数のサーバと接続されたコンピュータに、
    前記サーバのうちの1つを移行元サーバとするとともに他のサーバを移行先サーバとして、移行元サーバで動作するゲストオペレーティングシステムを移行先サーバに移行をさせるオペレータ指示があったときに、各サーバの仮想ネットワーク接続先である接続先サーバが設定されたテーブルを参照し、移行元サーバの接続先サーバを特定する接続先特定ステップと、
    前記接続先特定ステップにより特定された接続先サーバと移行先サーバとの間で仮想ネットワーク接続を行うのに必要な接続情報を取得する接続情報取得ステップと、
    ゲストオペレーティングシステムの移行前に、前記接続先特定ステップにより特定された接続先サーバのホストオペレーティングシステムにおいて、移行対象のゲストオペレーティングシステムへの送信データをループバックさせるように設定をする第1の設定ステップと、
    ゲストオペレーティングシステムの移行後に、前記接続情報取得ステップにより取得した接続情報に基づいて、移行先サーバで動作するホストオペレーティングシステムに対し、移行したゲストオペレーティングシステムから接続先サーバで動作するゲストオペレーティングシステムに対する送信データを送信するように仮想ネットワーク接続の設定をする一方、接続先サーバで動作するホストオペレーティングシステムに対し、前記第1の設定ステップによるループバック設定に代えて、移行先サーバに移行されたゲストオペレーティングシステムに送信データを送信するように仮想ネットワーク接続の設定をする第2の設定ステップと、
    を実現させることを特徴とするネットワーク設定プログラム。
  2. 前記サーバのゲストオペレーティングシステムには夫々仮想IPアドレスが割り振られ、前記サーバのホストオペレーティングシステムは、接続先となる他のサーバの物理IPアドレス,ゲストオペレーティングシステムの仮想IPアドレス及び当該他のサーバとの仮想ネットワーク接続に用いるトンネル情報を関連付けたネットワーク設定に基づいて、同一サーバ内のゲストオペレーティングシステムから他のサーバに対して送信されたデータに付された他のサーバのゲストオペレーティングシステムの仮想IPアドレスから送信先のサーバの物理IPアドレスを特定した上で、トンネル情報に従って当該データについてトンネリングを行って送信し、
    前記接続情報取得ステップは、各サーバとその物理IPアドレスが対応付けられたテーブル及び各サーバとそのサーバで動作するゲストオペレーティングシステムの仮想IPアドレスが対応付けられたテーブルを参照して、接続先サーバの物理IPアドレス及び接続先サーバで動作するゲストオペレーティングシステムの仮想IPアドレスを取得し、
    前記第2の設定ステップは、移行先サーバで動作するホストオペレーティングシステムに対し、取得した接続先サーバの物理IPアドレス及び接続先サーバで動作するゲストオペレーティングシステムの仮想IPアドレスを、移行先サーバから接続先サーバへの仮想ネットワーク接続に用いるトンネル情報に関連付けて設定をする一方、接続先サーバで動作するホストオペレーティングシステムに対し、移行先サーバの物理IPアドレス及び移行先サーバに移行されたゲストオペレーティングシステムの仮想IPアドレスを、接続先サーバから移行先サーバへの仮想ネットワーク接続に用いるトンネル情報に関連付けて設定をすることを特徴とする請求項1記載のネットワーク設定プログラム。
  3. 前記接続情報取得ステップ,前記第1の設定ステップ及び前記第2の設定ステップは、前記接続先特定ステップにより特定された接続先サーバが複数のときには、その複数の接続先サーバの全てについて処理を行うことを特徴とする請求項1又は請求項2に記載のネットワーク設定プログラム。
  4. 仮想オペレーティングシステムとして、他のサーバと仮想ネットワークを用いた通信を直接行うホストオペレーティングシステムと、顧客業務の処理を行う業務プログラムを実行するために起動され、ホストオペレーティングシステムを介してのみ他のサーバとの通信を行うゲストオペレーティングシステムと、が動作可能な仮想マシン環境を有する複数のサーバと接続されたコンピュータが、
    前記サーバのうちの1つを移行元サーバとするとともに他のサーバを移行先サーバとして、移行元サーバで動作するゲストオペレーティングシステムを移行先サーバに移行をさせるオペレータ指示があったときに、各サーバの仮想ネットワーク接続先である接続先サーバが設定されたテーブルを参照し、移行元サーバの接続先サーバを特定する接続先特定ステップと、
    前記接続先特定ステップにより特定された接続先サーバと移行先サーバとの間で仮想ネットワーク接続を行うのに必要な接続情報を取得する接続情報取得ステップと、
    ゲストオペレーティングシステムの移行前に、前記接続先特定ステップにより特定された接続先サーバのホストオペレーティングシステムにおいて、移行対象のゲストオペレーティングシステムへの送信データをループバックさせるように設定をする第1の設定ステップと、
    ゲストオペレーティングシステムの移行後に、前記接続情報取得ステップにより取得した接続情報に基づいて、移行先サーバで動作するホストオペレーティングシステムに対し、移行したゲストオペレーティングシステムから接続先サーバで動作するゲストオペレーティングシステムに対する送信データを送信するように仮想ネットワーク接続の設定をする一方、接続先サーバで動作するホストオペレーティングシステムに対し、前記第1の設定ステップによるループバック設定に代えて、移行先サーバに移行されたゲストオペレーティングシステムに送信データを送信するように仮想ネットワーク接続の設定をする第2の設定ステップと、
    を実行することを特徴とするネットワーク設定方法。
  5. 仮想オペレーティングシステムとして、他のサーバと仮想ネットワークを用いた通信を直接行うホストオペレーティングシステムと、顧客業務の処理を行う業務プログラムを実行するために起動され、ホストオペレーティングシステムを介してのみ他のサーバとの通信を行うゲストオペレーティングシステムと、が動作可能な仮想マシン環境を有する複数のサーバと接続されたネットワーク設定装置であって、
    前記サーバのうちの1つを移行元サーバとするとともに他のサーバを移行先サーバとして、移行元サーバで動作するゲストオペレーティングシステムを移行先サーバに移行をさせるオペレータ指示があったときに、各サーバの仮想ネットワーク接続先である接続先サーバが設定されたテーブルを参照し、移行元サーバの接続先サーバを特定する接続先特定手段と、
    前記接続先特定手段により特定された接続先サーバと移行先サーバとの間で仮想ネットワーク接続を行うのに必要な接続情報を取得する接続情報取得手段と、
    ゲストオペレーティングシステムの移行前に、前記接続先特定手段により特定された接続先サーバのホストオペレーティングシステムにおいて、移行対象のゲストオペレーティングシステムへの送信データをループバックさせるように設定をする第1の設定手段と、
    ゲストオペレーティングシステムの移行後に、前記接続情報取得手段により取得した接続情報に基づいて、移行先サーバで動作するホストオペレーティングシステムに対し、移行したゲストオペレーティングシステムから接続先サーバで動作するゲストオペレーティングシステムに対する送信データを送信するように仮想ネットワーク接続の設定をする一方、接続先サーバで動作するホストオペレーティングシステムに対し、前記第1の設定手段によるループバック設定に代えて、移行先サーバに移行されたゲストオペレーティングシステムに送信データを送信するように仮想ネットワーク接続の設定をする第2の設定手段と、
    を含んで構成されたことを特徴とするネットワーク設定装置。
JP2008201433A 2008-08-05 2008-08-05 ネットワーク設定プログラム,ネットワーク設定方法及びネットワーク設定装置 Withdrawn JP2010039730A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2008201433A JP2010039730A (ja) 2008-08-05 2008-08-05 ネットワーク設定プログラム,ネットワーク設定方法及びネットワーク設定装置
US12/473,046 US20100036913A1 (en) 2008-08-05 2009-05-27 Network setting method and network setting apparatus
GB0909310A GB2462340A (en) 2008-08-05 2009-05-29 Prior to migrating a guest operating system (OS) from a first to a second server, transmissions to the guest OS are looped back

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008201433A JP2010039730A (ja) 2008-08-05 2008-08-05 ネットワーク設定プログラム,ネットワーク設定方法及びネットワーク設定装置

Publications (1)

Publication Number Publication Date
JP2010039730A true JP2010039730A (ja) 2010-02-18

Family

ID=40902334

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008201433A Withdrawn JP2010039730A (ja) 2008-08-05 2008-08-05 ネットワーク設定プログラム,ネットワーク設定方法及びネットワーク設定装置

Country Status (3)

Country Link
US (1) US20100036913A1 (ja)
JP (1) JP2010039730A (ja)
GB (1) GB2462340A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011186805A (ja) * 2010-03-09 2011-09-22 Kddi R & D Laboratories Inc 情報処理システムの構成方法および物理マシン
JP2012220977A (ja) * 2011-04-04 2012-11-12 Hitachi Ltd 仮想計算機の制御方法及び管理計算機
JP2015515683A (ja) * 2012-03-26 2015-05-28 オラクル・インターナショナル・コーポレイション ミドルウェアマシン環境内で仮想マシン移行用のスケーラブルなシグナリングメカニズムを提供するシステムおよび方法
US11740922B2 (en) 2015-03-06 2023-08-29 Oracle International Corporation System and method for providing an InfiniBand SR-IOV vSwitch architecture for a high performance cloud computing environment

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009104400A1 (ja) * 2008-02-22 2009-08-27 日本電気株式会社 情報処理装置、情報処理システム、設定プログラム送信方法及びサーバ設定プログラム
JP2010039626A (ja) * 2008-08-01 2010-02-18 Fujitsu Ltd ネットワーク設定プログラム,ネットワーク設定方法及びネットワーク設定装置
US8661434B1 (en) * 2009-08-05 2014-02-25 Trend Micro Incorporated Migration of computer security modules in a virtual machine environment
US9183046B2 (en) * 2010-10-27 2015-11-10 Red Hat Israel, Ltd. Network address retrieval for live migration of a guest system in a virtual machine system
US9397954B2 (en) 2012-03-26 2016-07-19 Oracle International Corporation System and method for supporting live migration of virtual machines in an infiniband network
US8997094B2 (en) * 2012-06-29 2015-03-31 Pulse Secure, Llc Migrating virtual machines between computing devices
US10230794B2 (en) 2013-03-15 2019-03-12 Oracle International Corporation System and method for efficient virtualization in lossless interconnection networks
US20150271268A1 (en) * 2014-03-20 2015-09-24 Cox Communications, Inc. Virtual customer networks and decomposition and virtualization of network communication layer functionality

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8346884B2 (en) * 2003-01-21 2013-01-01 Nextio Inc. Method and apparatus for a shared I/O network interface controller
US8209680B1 (en) * 2003-04-11 2012-06-26 Vmware, Inc. System and method for disk imaging on diverse computers
US7809976B2 (en) * 2007-04-30 2010-10-05 Netapp, Inc. System and method for failover of guest operating systems in a virtual machine environment
US7970903B2 (en) * 2007-08-20 2011-06-28 Hitachi, Ltd. Storage and server provisioning for virtualized and geographically dispersed data centers
JP4871850B2 (ja) * 2007-12-04 2012-02-08 株式会社日立製作所 仮想計算機システム及び仮想計算機移行制御方法
US8327355B2 (en) * 2008-07-15 2012-12-04 International Business Machines Corporation Method, computer program product, and hardware product for supporting virtual machine guest migration overcommit
US8805973B2 (en) * 2008-12-09 2014-08-12 Go Daddy Operating Company, LLC Using routing protocols to migrate a hosted account

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011186805A (ja) * 2010-03-09 2011-09-22 Kddi R & D Laboratories Inc 情報処理システムの構成方法および物理マシン
JP2012220977A (ja) * 2011-04-04 2012-11-12 Hitachi Ltd 仮想計算機の制御方法及び管理計算機
JP2015515683A (ja) * 2012-03-26 2015-05-28 オラクル・インターナショナル・コーポレイション ミドルウェアマシン環境内で仮想マシン移行用のスケーラブルなシグナリングメカニズムを提供するシステムおよび方法
US11740922B2 (en) 2015-03-06 2023-08-29 Oracle International Corporation System and method for providing an InfiniBand SR-IOV vSwitch architecture for a high performance cloud computing environment

Also Published As

Publication number Publication date
GB2462340A (en) 2010-02-10
GB0909310D0 (en) 2009-07-15
US20100036913A1 (en) 2010-02-11

Similar Documents

Publication Publication Date Title
JP2010039730A (ja) ネットワーク設定プログラム,ネットワーク設定方法及びネットワーク設定装置
JP2010039626A (ja) ネットワーク設定プログラム,ネットワーク設定方法及びネットワーク設定装置
JP2010062738A (ja) ネットワーク設定プログラム,ネットワーク設定方法及びネットワーク設定装置
US20210058301A1 (en) Extension resource groups of provider network services
US20100057898A1 (en) Load balancer setting method and load balancer setting apparatus
US10826723B1 (en) Virtual network address space auto-migration
US11539552B1 (en) Data caching in provider network substrate extensions
US11620081B1 (en) Virtualized block storage servers in cloud provider substrate extension
CN111355604A (zh) 在软件定义网络上的用户定制和自动化操作的系统和方法
US11659058B2 (en) Provider network connectivity management for provider network substrate extensions
US11064017B2 (en) Peripheral device enabling virtualized computing service extensions
US9686237B2 (en) Secure communication channel using a blade server
US20130014106A1 (en) Information processing apparatus, computer-readable medium storing information processing program, and management method
US11431497B1 (en) Storage expansion devices for provider network substrate extensions
US11520530B2 (en) Peripheral device for configuring compute instances at client-selected servers
US10949131B2 (en) Control plane for block storage service distributed across a cloud provider substrate and a substrate extension
US20150372854A1 (en) Communication control device, communication control program, and communication control method
CN114026826B (zh) 提供商网络底层扩展的提供商网络连接管理
US11374789B2 (en) Provider network connectivity to provider network substrate extensions
JP6013980B2 (ja) アドレス割当装置およびアドレス割当プログラム
JP7437408B2 (ja) 設定装置、通信システム、設定方法、及びプログラム
JP7212158B2 (ja) プロバイダネットワークサービス拡張
CN116010035A (zh) 云提供者底层扩展部分中的虚拟化的块存储服务器
KR20190059485A (ko) 보안 보증 서비스 제공 장치 및 방법

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20111101