サーバ移行時の動作検証方法及びシステム
【課題】
複数サーバを第一のネットワークシステムから第二のネットワークシステムへ移行すると、動作検証におけるエラー原因の特定が煩雑である。
【解決手段】
本発明は、外部システムに含まれる第1の物理サーバによって提供される互いに通信を実行する複数の仮想サーバを、外部システムにネットワークを介して接続し第2の物理サーバを含むシステムに移行する際の動作検証方法であって、複数の仮想サーバの一部である第1の仮想サーバを第2の物理サーバに移行し、移行された第1の仮想サーバにより実行される第1のソフトウェアの設定を変更し、第2の物理サーバへ移行された第1の仮想サーバから、複数の仮想サーバの一部である第2の仮想サーバへ第1のパケットを発行し、第1のパケットを確認することにより第1のソフトウェアの設定の変更に誤りがないかを判断する、ことを特徴とする動作検証方法である。
複数サーバを第一のネットワークシステムから第二のネットワークシステムへ移行すると、動作検証におけるエラー原因の特定が煩雑である。
【解決手段】
本発明は、外部システムに含まれる第1の物理サーバによって提供される互いに通信を実行する複数の仮想サーバを、外部システムにネットワークを介して接続し第2の物理サーバを含むシステムに移行する際の動作検証方法であって、複数の仮想サーバの一部である第1の仮想サーバを第2の物理サーバに移行し、移行された第1の仮想サーバにより実行される第1のソフトウェアの設定を変更し、第2の物理サーバへ移行された第1の仮想サーバから、複数の仮想サーバの一部である第2の仮想サーバへ第1のパケットを発行し、第1のパケットを確認することにより第1のソフトウェアの設定の変更に誤りがないかを判断する、ことを特徴とする動作検証方法である。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、サーバを環境の異なるシステムに移行する際の動作検証方法及びサーバの動作検証を実行するサーバの移行先システムに関する。
【背景技術】
【0002】
ハードウェアの保守期限切れや、機器コスト、運用コスト最適化などの理由により、情報システムを構成する複数のサーバを、現在稼働中のシステム(例えば、データセンタ)から環境の異なるシステム(例えば、他のデータセンタ)へ移行する場合がある。サーバの移行先は同じ組織のデータセンタであるとは限らない。例えば、ホスティングサービスやクラウドコンピューティングなどの利用により、外部のデータセンタにサーバを置いて基盤の運用をアウトソースすることも多い。この場合、サーバの設置されたシステムを管理する主体が移行の前後で変わることになる。そのために、特にIPアドレス等に関しては、各サーバについて多くの設定変更と、設定変更に伴う動作検証が必要となる。例えば、移行前の第一のネットワークシステム(第一のデータセンタ)で利用していた第一のIPアドレスは、移行後の第二のネットワークシステム(第二のデータセンタ)では利用できず、代わりに第二のネットワークシステムの管理者から与えられた第二のIPアドレスを利用する。従って、移行対象のシステムを構成する全てのサーバにおいて、OSやアプリケーションに対するIPアドレスの設定変更と動作検証を実施しなければならない。
【0003】
特許文献1には、モバイル端末機の移動性を支援する方法であって、モバイル端末機が他のサブネットに移動することを認識した場合に、移動後のサブネットに対するネットワークプリフィックス(prefix)と同じプリフィックスを持つIPアドレスをモバイル端末機に割り当てることが開示されている。
【0004】
特許文献2には、音声通信システムの制御サーバを第一のサーバから第二のサーバに移行する手法が開示されている。特許文献2では、アドレス変換手段を持つ第一のサーバが、受信したパケットのアドレスを変換して第二のサーバにパケットを転送することにより、音声通信システムの制御サーバを第一のサーバから第二のサーバへ移行している。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2005−130512
【特許文献2】特開2008−236374
【発明の概要】
【発明が解決しようとする課題】
【0006】
従来技術においては、複数のサーバを環境の異なるシステムへ移動する際に、OS等のアドレスを変更する方法については開示されていない。従って、サーバを、第一のネットワークシステムから、IPアドレス等の異なる第二のネットワークシステムへ移行する場合の移行手順は、従来技術においては、はじめに第一のネットワークシステムで実行する全てのサーバを第二のネットワークシステムに移動し、次に全てのサーバのIPアドレス設定を第二のネットワークシステムに合わせた設定に変更し、その後全てのサーバの動作検証を実施する。動作検証でエラーが発生したときは、エラーの原因となった設定を特定し、正しい設定に変更して再び動作検証を実施する。このような設定変更と動作検証をエラーが発生しなくなるまで繰り返すことで、サーバの移行が完了する。
【0007】
つまり、従来技術においては、動作検証においてエラーが発生した場合に、エラーの原因となり得る設定変更の数がサーバの数に比例して多くなり、それに伴いエラー発生原因を特定する切り分け作業が煩雑になる点が課題である。
【課題を解決するための手段】
【0008】
上記課題を解決するための動作検証方法は、外部システムに含まれる第1の物理サーバによって提供される互いに通信を実行する複数の仮想サーバを、前記外部システムにネットワークを介して接続し第2の物理サーバを含むシステムに移行する際の動作検証方法であって、前記互いに通信を実行する複数の仮想サーバの一部である第1の仮想サーバを前記システムに含まれる前記第2の物理サーバに移行し、前記第1の仮想サーバにより実行される第1のソフトウェアの設定を変更し、前記システムに含まれる前記第2の物理サーバへ移行された前記第1の仮想サーバから、前記外部システムの前記第1の物理サーバにより提供され前記互いに通信を実行する複数の仮想サーバの一部である第2の仮想サーバへ第1のパケットを発行し、前記第1のパケットを確認することにより前記第1のソフトウェアの設定の変更に誤りがないかを判断する、ことを特徴とする動作検証方法である。
【0009】
さらに上記課題を解決するためのシステムは、互いに通信を実行する複数の仮想サーバを提供する第1の物理サーバを含む外部システムとネットワークを介して接続するシステムであって、第2の物理サーバと、前記第2の物理サーバに接続する動作検証サーバと、前記第2の物理サーバに接続する管理サーバと、を含み、前記管理サーバ又は前記動作検証サーバは、前記互いに通信を実行する複数の仮想サーバの一部である第1の仮想サーバを前記第1の物理サーバから前記システムに含まれる前記第2の物理サーバに移行する指示を出し、前記管理サーバは、前記第2の物理サーバに移行された前記第1の仮想サーバにより実行される第1のソフトウェアの設定を変更し、前記動作検証サーバは、前記システムに含まれる前記第2の物理サーバへ移行された前記第1の仮想サーバに、前記外部システムの前記第1の物理サーバにより提供され前記互いに通信を実行する複数の仮想サーバの一部である第2の仮想サーバへ第1のパケットを発行する指示を出し、前記動作検証サーバは、前記第1のパケットを確認することにより前記第1のソフトウェアの設定の変更に誤りがないかを判断する、ことを特徴とするシステムである。
【発明の効果】
【0010】
本発明により、複数の互いに通信をするサーバを、異なるネットワークシステムに移行する処理において、段階的にサーバ移行及び動作検証を行うことによりエラー発生原因の特定が容易であるという効果を有する。
【図面の簡単な説明】
【0011】
【図1】実施例におけるサーバ移行システムの構成図の一例を示す図である。
【図2】実施例における動作検証サーバの詳細を示す構成図の一例を示す図である。
【図3】実施例における管理サーバの詳細を示す構成図の一例を示す図である。
【図4】実施例における物理サーバの構成図の一例を示す図である。
【図5】実施例において仮想サーバを提供することのできる物理サーバの構成図の一例を示す図である。
【図6】実施例におけるアドレス変換情報の一例を示す図である。
【図7】実施例におけるシステム情報管理情報の一例を示す図である。
【図8】実施例における移行状況管理情報の一例を示す図である。
【図9】実施例における移行ログの一例を示す図である。
【図10】実施例におけるサーバ移行手順の一例を示すフローチャートである。
【図11】実施例において、第二のネットワークシステムに移行されたサーバが送信するパケット構成の一例を示す図である。
【図12】実施例における、動作検証サーバの動作検証処理の一例を示すフローチャートである。
【図13】本実施例における検証環境から本番環境への移行方法の一例を示すフローチャートである。
【図14】本実施例における検証環境から本番環境への移行方法の一例を示すフローチャートである。
【発明を実施するための形態】
【0012】
本発明の実施例について図面を参照しながら説明する。実施例では、サーバで実行するOSやアプリケーションのIPアドレスの設定を変換し動作検証を行う動作検証サーバと、移行作業の状況を記録し動作検証サーバに変換内容を指示する管理サーバとの連携によって、互いにパケット通信等の通信を実行する複数のサーバを第一のネットワークシステムから第二のネットワークシステムへ段階的に移行する装置の構成、および、方法を示す。以降「物理サーバ」「仮想サーバ」と明記しない「サーバ」は、「物理サーバ」「仮想サーバ」のいずれも含むものとする。
【0013】
図1は、実施例におけるサーバ移行システムの構成図の一例を示す図である。実施例における第二のネットワークシステム110は、サーバの移行元である第一のネットワークシステム100に、外部ネットワーク300を介して接続する。
第一のネットワークシステム100においては、複数の物理サーバ102、物理サーバ103、及び物理サーバ104が、一般的なネットワークスイッチ装置であるスイッチ101に接続し、スイッチ101は、外部ネットワーク300に接続する。スイッチ101は特定のポートを通過するパケットを複製するポートミラーリングの機能により、サーバが送受信する全てのパケットを受信し、受信したパケットの複製を作成し、作成したパケットの複製を外部ネットワーク300とコアスイッチ111を介して動作検証サーバ120に受け渡す。
【0014】
また、互いに通信を実行するサーバを第一のネットワークシステムから第二のネットワークシステムに移行する前には、スイッチを介して接続されたクライアント160がサーバにネットワーク経由で通信し、データ処理を実施する。
【0015】
ここで、外部ネットワークは、例えばデータセンタ間の専用通信回線や、通信事業者が提供する閉域IP網、インターネットなどが挙げられる。
第二のネットワークシステム110は、外部ネットワーク300に接続する一般的なネットワークスイッチ装置であるコアスイッチ111、動作検証サーバ120、管理サーバ130、サブシステム1 140、サブシステム2 150により構成される。サブシステム1 140は、スイッチ141と、物理サーバ142と、物理サーバ143とにより構成される。サブシステム2 150は、スイッチ151と、物理サーバ152と、物理サーバ153とにより構成する。また、スイッチ141及びスイッチ151は動作検証サーバ120に接続し、特定のポートを通過するパケットを複製するポートミラーリングの機能により、サーバが送受信する全てのパケットを受信し、受信したパケットの複製を作成し、作成したパケットの複製を動作検証サーバ120に受け渡す。
なお、実施例においては、動作検証サーバ120と管理サーバ130とを分離した構成としているが、これに限定されるものではなく、動作検証サーバと管理サーバとを同一のサーバとしてもよい。また、管理サーバ130が動作検証サーバ120を介さずにコアスイッチ111やスイッチ141に接続さてもよい。また、サブシステム1内(スイッチ141の内側)やサブシステム2内(スイッチ151の内側)に動作検証サーバ120が設置されてもよい。にまた、図1においてシステムは複数示しているが、1以上であればよい。また、移行対象のサーバの数に応じて、スイッチの数を増やしてもよい。
第一のネットワークシステム100は、例えば第一のデータセンタである。第二のネットワークシステム110は、例えば第一のデータセンタとIPアドレスの設定といったネットワーク環境が異なる第二のデータセンタである。
【0016】
実施例においては、第1のネットワークシステムから第二のネットワークシステムに「互いに通信を実行する複数のサーバ」を移行する。サーバ間の通信とは、一例として、サーバ間でパケットを送受信し合うことなどを指す。互いに通信を実行するサーバ群とは、例えば、1つのシステムに属するウェブサーバ、アプリケーションサーバ、データベースサーバにより構成されるサーバ群を指す。さらに、互いに通信を実行する複数のサーバとは、ある特定の組織のクライアントにより使用される複数のサーバであってもよい。但し、互いに通信を行う複数のサーバであればよく、これに限定されるものではない。
また、移行対象となるサーバは、上述の通り、物理サーバであっても仮想サーバであってもよい。そして、移行先において、物理サーバ又は仮想サーバに変換されてもよい。つまり、移行形態として、以下の形態が含まれる。
(1)移行元のサーバが物理サーバであり、移行先のサーバが物理サーバである場合。
(2)移行元のサーバが仮想サーバであり、移行先のサーバが物理サーバである場合。
(3)移行元のサーバが物理サーバであり、移行先のサーバが仮想サーバである場合。
(4)移行元のサーバが仮想サーバであり、移行先のサーバが仮想サーバである場合。
以下、「移行対象のサーバ」「移行対象のサーバ群」と記述する場合には、物理サーバであるか仮想サーバであるかを問わない。
【0017】
図2は、実施例における動作検証サーバ120の詳細を示す構成図の一例を示す図である。動作検証サーバ120は、ネットワークを介してコアスイッチ111、スイッチ141、スイッチ151に接続するネットワークアダプタ1201、ネットワークを介して管理サーバ130に接続するネットワークアダプタ1202、メモリ1203、メモリに格納されるプログラムや情報を参照して処理を実行するプロセッサ1204、により構成する。
ネットワークアダプタ1201及び1202は、スイッチ141又はスイッチ151のポートミラーリングで複製されたパケットを受信し、それぞれのネットワークシステムにパケットを送信できるように構成される。
メモリ1203は、パケット送受信プログラム121、アドレス変換プログラム122、動作検証プログラム125、ログ記録プログラム123、アドレス変換情報124、を格納する。これらは、予め記録媒体(例えば、ハードディスク)に記録され、この記録媒体から読み出されてメモリ1203に格納される。
【0018】
以降、各プログラムを主語にして、実行される処理を説明するが、実際にはプロセッサ1204がメモリ1203から各プログラムや情報を読み出し、各処理を実行することを意味する。
【0019】
動作検証プログラム125は、第一のネットワークシステムに含まれる移行対象の相互に通信を実行する複数のサーバを段階的に第二のネットワークに移行される場合に、複数のサーバの一部が移行されるごとに動作検証を実行する。パケット送受信プログラム121は、第一のネットワークシステム100のサーバ(仮想サーバも含む)および第二のネットワークシステム110のサーバ(仮想サーバも含む)との間でパケットの送受信を制御する。アドレス変換プログラム122は、第一のネットワークシステムから第二のネットワークシステムへ既に移行したサーバと未だ移行していないサーバとの間で通信を行うために、受信したパケット内のIPアドレスを変換する。ログ記録プログラム123は、アドレス変換時にIPアドレスの内容を検証した結果を、以下に説明する管理サーバ130の移行ログ135に記録する。アドレス変換情報124は、アドレス変換プログラム122におけるIPアドレスの変換ルールを格納する。
そして、各プログラムは以下のように連携して動作する。動作検証サーバ120のパケット送受信プログラム121は、移行対象の全てのサーバが送信する全てのパケットを動作検証サーバ120が備えるネットワークアダプタ1201を介して受信する。そして、受信したパケットをアドレス変換プログラム122に引き渡す。アドレス変換プログラム122は、受信したパケットに対してアドレス変換処理を実施し、変換後のパケットをパケット送受信プログラム121に引き渡す。パケット送受信プログラム121は、アドレス変換後のパケットの送信先に従って、コアスイッチ111を介してパケットを送信する。
各プログラムによる動作の詳細と、各情報の詳細は、後述する。
【0020】
図3は、実施例における管理サーバ130の詳細を示す構成図の一例を示す図である。動作検証サーバ120とネットワークを介して接続するネットワークアダプタ1301、メモリ1302、メモリに格納されるプログラムや情報を参照して処理を実行するプロセッサ1303、入出力装置1304、により構成する。
メモリ1302は、サーバ設定管理プログラム131、情報更新プログラム132、システム情報管理情報133、移行状況管理情報134、移行ログ135、本番環境移行プログラム136、サーバ移行プログラム137、を格納する。これらは、予め記録媒体(例えば、ハードディスク)に記録され、この記録媒体から読み出されてメモリ1302に格納される。
管理サーバ130のサーバ設定管理プログラム131は、サーバで実行するOSやアプリケーションの設定を管理する。例えば、サーバ設定管理プログラム131はサーバで実行するOSやアプリケーションのIPアドレスの設定を変更する。サーバで実行するOS207やアプリケーションの208に設定された情報を取得するほか、サーバにおいて実施された設定変更を検知し、設定の変更内容を管理サーバの移行ログ135に記録する。
管理サーバ130の情報更新プログラム132は、移行対象の互いに通信を実行する複数のサーバの第一のネットワークシステム100から第二のネットワークシステム110への移動に合わせて実行される動作検証において、動作検証サーバ120のアドレス変換情報124や、管理サーバ130の移行状況管理情報134、移行ログ135を更新する。
各プログラムによる動作の詳細と、各情報の詳細は、後述する。以降、各プログラムを主語にして、実行される処理を説明するが、実際にはプロセッサ1303がメモリ1302から各プログラムや情報を読み出し、各処理を実行することを意味する。
【0021】
図4は、実施例における物理サーバの構成図の一例を示す図である。物理サーバは、プロセッサ201、メモリ202、ネットワークに接続するネットワークアダプタ203、ディスクに接続するディスクアダプタ204、キーボードやディスプレイといった入出力装置205により構成され、各構成要素がシステムバス206により接続された一般的な構成の物理サーバである。
図示するように、プロセッサ201は、記録媒体から予めメモリ202にOS207とアプリケーション208を読み込み、それらのプログラムを実行することにより、OS207やアプリケーション208の処理を実現する。
【0022】
図5は、実施例において仮想サーバを提供することのできる物理サーバの構成図の一例を示す図である。本実施例においては、サーバ102等は、図4の構成であっても図5の構成であってもよい。以下、図4との差異点のみ説明する。
プロセッサ201は、メモリ202に仮想サーバ制御プログラム2001を読み込み、OS207やアプリケーション208を実行する仮想サーバ2002をメモリ202に作成する。仮想サーバ2002は、複数作成されてもよい。
【0023】
図6は、実施例におけるアドレス変換情報124の一例を示す図である。なお、図6に記載のアドレス変換情報124のフォーマットは一例であって、図6に示したフォーマットに限定されるものではない。
アドレス変換情報124は、サーバが、第一のネットワークシステム100および第二のネットワークシステム110において利用するIPアドレスを保持する。また、サーバが現在実行するシステムのIDも同時に記録する。
具体的には、サーバを一意に識別するサーバID301、サーバが第一のネットワークシステム100で利用している第一のIPアドレス302と第一のMACアドレス305、サーバが第二のネットワークシステム110で利用する予定である第二のIPアドレス303と第二のMACアドレス306、サーバが現在実行されているシステムを識別する実行システムID304とを記録する。ここで、システム1とは、サーバが第一のネットワークシステムにて動作していることを示し、システム2とは、サーバが第二のネットワークシステムにて動作していることを示す。第一のIPアドレス302と第一のMACアドレス305は、管理サーバ130のサーバ設定管理プログラム131が、第一のネットワークシステム100で実行するサーバから取得したIPアドレスである。サーバID301は、サーバ設定管理プログラム131が第一のIPアドレス302を記録するときに、サーバを一意に識別するようにサーバ設定管理プログラム131が自動で付与した値である。第二のIPアドレス303と第二のMACアドレス306は、サーバ設定管理プログラムにより設定されたIPアドレスである。なお、入出力装置1304を介して移行作業者が登録したIPアドレスであってもよい。実行システムID304は、サーバの移動による、サーバの実行されるシステムの変更に伴い、管理サーバ130の情報更新プログラム132によって更新される。
【0024】
図7は、実施例におけるシステム情報管理情報133の一例を示す図である。なお、図7に記載のシステム情報管理情報133のフォーマットは一例であって、図7に示したフォーマットに限定されるものではない。
システム情報管理情報133には、移行対象であり、相互に通信を実行する複数のサーバを提供するネットワークシステムの情報を格納する。システム情報管理情報133には、システムを一意に識別するシステムID401、各システムでサーバが利用するIPアドレスの範囲を表すサブネット402、各システムでサーバが実行するときのサーバ実行形態403とを記録する。サーバ実行形態403は、各システムにおいて、移行対象のサーバが計算機上で直接実行する物理サーバであるか、計算機上で実行する仮想サーバ制御プログラム上で実行する仮想サーバであるかを表す。サーバが仮想サーバである場合、仮想サーバ実行の互換性を確認するために仮想サーバ制御プログラムの種類も記録する。また、IPアドレスの範囲を示すサブネット402は、IPアドレスのサブネットでなくともよく、2つのIPアドレスで表現される範囲であってもよい。
【0025】
図8は、実施例における移行状況管理情報134の一例を示す図である。なお、図8に記載の移行状況管理情報134のフォーマットは一例であって、図8に示したフォーマットに限定されるものではない。
移行状況管理情報134は、移行対象のサーバの移行の段階を示すサーバ移行状況を記録する。サーバの移行状況とは、移行の各段階での各サーバが実行されるネットワークシステムを示す。ここで、システム1とは、第一のネットワークシステムにおいてサーバが実行されていることを指し、システム2とは、第二のネットワークシステムにおいてサーバが実行されていることを指す。移行状況管理情報134には、サーバの移行状況を一意に識別する移行状況ID501と、移行対象の複数のサーバが実行されるネットワークシステムを表すサーバ移行状況502と、を記録する。移行状況ID501とサーバ移行状況502は、移行対象のサーバを新しいシステムに移行した際に、更新される。図8に示した例では、サーバ1だけを第二のネットワークシステムに移行した状況1、サーバ1とサーバ2を第二のネットワークシステムに移行した状況2、サーバ1とサーバ2とサーバ3とを第二のネットワークシステムに移行した状況3、として、移行の各段階の移行状況を示している。
【0026】
図9は、実施例における移行ログ135の一例を示す図である。なお、図9に記載の移行ログのフォーマットは一例であって、図9に示したフォーマットに限定されるものではない。
具体的には、移行ログ135は、移行作業時に実施した動作検証の内容や、動作検証中に発生したエラー内容を記録する。移行ログ135には、移行ログ135を一意に識別するログID601と、ログ内容602を記録する。ログ内容602には、移行作業時に移行対象のサーバに対して実施した設定変更の内容や、サーバを異なるシステムに移行した履歴を記録する。また、ログ記録プログラム123が出力するエラー内容を記録する。なお、ログID601は、ログ内容602を記録するたびに、サーバ設定管理プログラム131やログ記録プログラム123が一意なIDを自動的に付与する。
図6に示した例では、ログ1において、サーバ1のIPアドレスを10.0.0.101から192.168.0.11に変更した結果、ログ内容602のサーバIDにサーバ1のID、設定項目にIPアドレス、変更前設定値に10.0.0.101、変更後設定値に192.168.0.11が記録されたことを示す。
また、ログ2において、動作検証中にサーバ2が送信したパケット内の宛先IPアドレスに矛盾が見つかり、設定ミスが起きたことを示す。動作検証プログラム125は、エラー発生以前のログを参考にして、エラー発生原因の特定作業をすることができる。
【0027】
動作検証サーバ120のログ記録プログラム123は、アドレス変換プログラム122よりアドレス変換処理の際に発生したエラーの内容を受け取り、管理サーバ130に接続して前記エラー内容を移行ログ135に記録する。
【0028】
次に、実施例において、第一のネットワークシステム100で実行し、互いに通信を実行する複数のサーバを、第二のネットワークシステム110へと移行する作業の手順を、フローチャートに基づいて説明する。
【0029】
図10は、サーバ移行手順の一例を示すフローチャートである。
なお、本処理は、例えば、管理サーバ130のサーバ移行プログラム137が互いに通信を実行する複数のサーバ移行指示を生成し、第1のネットワークシステムにサーバ移行開始指示を発行し、そして、サーバ移行指示を受領した第1のネットワークシステムは、移行対象である互いに通信を行う複数のサーバに関する情報を第二のネットワークシステム110の管理サーバに送信したことを契機に実行される。
ステップ700において、管理サーバ130のサーバ設定管理プログラム131は、移行対象となる第一のネットワークシステムに属する複数のサーバを、第二のネットワークシステムのどのサブシステムに移行するかを決定する。まず、通常は、検証用サブシステムに複数のサーバが移行されるが、これに限定されるものではない。
ステップ701において、管理サーバ130のサーバ設定管理プログラム131は、互いに通信を実行する複数のサーバの移行元の第一のネットワークシステム100および複数のサーバの移行先の第二のネットワークシステム110の情報を各ネットワークシステムより取得し、管理サーバ130のシステム情報管理情報133を作成する。
ステップ702において、管理サーバ130のサーバ設定管理プログラム131は、第一のネットワークシステムより、第一のネットワークシステム100で実行する移行対象の複数のサーバのIPアドレス及びMACアドレスを取得する。サーバ設定管理プログラム131は、それぞれのサーバに対してIDを付与する。管理サーバ130の情報更新プログラム132は、付与したIDをアドレス変換情報124のサーバID301に、移行対象のサーバの第一のネットワークシステム100でのIPアドレスを第一のIPアドレス302に、移行対象のサーバの第一のネットワークシステム100でのMACアドレスを第一のMACアドレス305に記録する。
続いて、管理サーバ130のサーバ設定管理プログラム131は、移行対象である互いに通信を実行する複数のサーバが第二のネットワークシステム110において利用するIPアドレスを、生成する。また、管理サーバ130のサーバ設定管理プログラム131は、移行対象である互いに通信を実行する複数のサーバの移行先のMACアドレスを取得する。なお、移行対象である互いに通信を実行する複数のサーバが第二のネットワークシステム110において利用するIPアドレスは、移行作業者により入力装置を介して入力されてもよい。そして、管理サーバ130の情報更新プログラム132は、作成/取得したIPアドレスをアドレス変換情報124の第二のIPアドレス303に記録し、取得したMACアドレスをアドレス変換情報124の第二のMACアドレス306に記録する。
また、初期状態として、管理サーバ130の情報更新プログラム132は、アドレス変換情報124の実行システムID304には第一のネットワークシステム100のIDを記録する。移行作業前であるため、移行対象の複数のサーバは全て移行元のネットワークシステムにあるためである。
【0030】
ステップ703において、移行対象である互いに通信を実行する複数のサーバの一部を第一のネットワークシステム100から第二のネットワークシステム110のステップ700で決定した移行先サブシステムへ移行する。このとき、移行するサーバの数は一つだけでも良いし、複数のサーバのうちの一部を同時に移行してもよい。ただし、移行対象である複数のサーバの全部を同時には移行しない。
【0031】
実施例における複数のサーバの移行処理は以下の一例として以下のように開始される。
【0032】
まず、移行対象である互いに通信を行う複数のサーバに関する情報を受信した第2のネットワークシステムの管理サーバ130は、サーバ移行プログラム137により、移行対象である複数のサーバの一部を選択する。例として、ウェブサーバ、アプリケーションサーバ、データベースサーバにより構成されるサーバ群を移行する場合、ウェブサーバのみを選択し移行する、などが挙げられる。
そして、サーバ移行プログラム137は、第1のネットワークシステムに選択したサーバに関する情報と、選択したサーバの移行を指示する情報を送信する。
そして、選択した一部のサーバに関する情報と移行指示に関する情報を受領した第1のネットワークシステムは、選択した一部のサーバの第2のネットワークシステムへの移行を開始する。
【0033】
ここで、移行対象のサーバの、移行元と移行先でのサーバの形態は上記のように複数あり、各形態により移行作業が異なる。各形態による移行作業は以下の通りである。
【0034】
(1)移行元のサーバが物理サーバであり、移行先のサーバが物理サーバである場合。
管理サーバが、移行元の物理サーバのディスクに保存されており、移行元の物理サーバにより使用されるファイル(設定情報なども含む)を、外部ネットワークを通して受信し、ステップ700−703で指定されたサブシステムに含まれる物理サーバのディスクに保存する。
あるいは、移行元の物理サーバを第一のネットワークシステム110の所在地からステップ700−703で指定されたサブシステムの所在地へ運搬し、前記サブシステムに物理サーバを接続する。
【0035】
(2)移行元のサーバが仮想サーバであり、移行先のサーバが物理サーバである場合。
管理サーバが、移行元の仮想サーバの使用するファイル(設定情報なども含む)を、外部ネットワークを通して受信し、受信したファイルを物理サーバにより使用できる形態に変換し、ステップ700−703で指定されたサブシステムに含まれる物理サーバのディスクに変換されたファイルを保存する。
【0036】
(3)移行元のサーバが物理サーバであり、移行先のサーバが仮想サーバである場合。
管理サーバが移行元の物理サーバのディスクに保存されており、移行元の物理サーバにより使用されるファイル(設定情報なども含む)を、外部ネットワークを通して受信し、受信したファイルを仮想サーバにより使用できる形態に変換し、ステップ700−703で指定されたサブシステムに含まれる物理サーバに受信したファイルを用いて仮想サーバを構築する。
【0037】
(4)移行元のサーバが仮想サーバであり、移行先のサーバが仮想サーバである場合。
管理サーバが、移行元の仮想サーバの使用するファイル(設定情報なども含む)を、外部ネットワークを通して受信し、ステップ700−703で指定されたサブシステムに含まれる物理サーバに受信したファイルを用いて仮想サーバを構築する。
【0038】
管理サーバ130の情報更新プログラム132は、移行完了後、図8の移行状況管理情報134に新しい状況を登録する。具体的には、管理サーバ130の情報更新プログラム132は、状況ID501に新規のIDを付与し、第一のネットワークシステム100から第二のネットワークシステム110へ移動したサーのサーバ移行状況502として、第二のネットワークシステム110のシステムIDを記録する。管理サーバ130の情報更新プログラム132は、システムIDを、システム情報管理情報133より取得する。移行対象となる複数のサーバの内、移動しない残りのサーバに関しては、サーバ移行状況502は直前のものを引き継いで記録する。同時に、管理サーバ130の情報更新プログラム132は、移行したサーバのサーバIDと、移行したシステムのシステムIDを移行ログ135に記録する。
【0039】
ステップ704において、管理サーバ130のサーバ設定管理プログラム131は、ステップ703で移行したサーバと通信を接続し、移行したサーバで実行するOS207やアプリケーション208等のソフトウェアのIPアドレスに関する設定を、第二のIPアドレスへ設定変更する。例えば、OS207やアプリケーション208等のソフトウェアのプログラムコード中の第一のIPアドレスをアドレス変換情報124を参照して第一のIPアドレスに対応する第二のIPアドレスに書き換える処理である。
例えば、移行したサーバで実行されるOS207やアプリケーション208等のソフトウェアにおいて、移行されたサーバ自身のIPアドレスを、第一のネットワークシステムで利用するIPアドレスから第二のネットワークシステムで利用するIPアドレスへ設定変更する。また、移行されたサーバの通信先としてOSやアプリケーションに設定されている、移行されていない他のサーバのIPアドレスも同様に第一のネットワークシステムで利用するIPアドレスから第二のネットワークシステム110のIPアドレスに設定変更する。このとき実施された設定変更は、管理サーバ130のサーバ設定管理プログラム131を通し、変更の内容を移行ログ135に記録する。
【0040】
ステップ705において、動作検証サーバ120の動作検証プログラム125が移行したサーバの動作を検証するため、移行したサーバのアプリケーションを実行し動作検証を行う。ここで、上記のように、移行対象となる複数のサーバは、第1のネットワークシステムと第二のネットワークシステムに分かれて設置されている場合であってもアプリケーションなどによって相互に通信を実行する必要がある。したがって、ステップ705において第二のネットワークシステムに移行したサーバの動作検証を実行する際には、移行対象となる複数のサーバのうち、ステップ703において第二のネットワークシステムに移行したサーバと、第二のネットワークシステムに移行しておらず第一のネットワークシステムにて実行されるサーバと、の間の通信が必要となる。具体的には、第二のネットワークシステムに移行したサーバのアプリケーションの動作検証により、パケットを生成し、第一のネットワークシステムに含まれ移行されてないサーバ又は、第二のネットワークシステムに既に移行されたサーバにパケットを発行する。
そこで、動作検証サーバ120のパケット送受信プログラム121がパケットを受信した場合、動作検証サーバ120のアドレス変換プログラム122は、移行したサーバが送受信するパケットに含まれるIPアドレスを、移行対象である複数のサーバを実行するシステムに応じて変換する。つまり、パケットの送信先サーバが未だに移行されておらず、第一のネットワークシステムに設置されている場合には、アドレス変換プログラム122によりパケットに含まれるアドレスを変更する。一方、パケットの送信先サーバが既に移行されており、第二のネットワークシステムに設置されている場合には、パケットに含まれるアドレスは変更されない。動作検証サーバのアドレス変換プログラム122により、移行対象の複数のサーバが第一のネットワークシステム100と第二のネットワークシステム110に分かれて実行する場合に、第二のネットワークシステムに移行したサーバの動作検証を実行する際、サーバ間の相互通信が可能とする。また、動作検証サーバ120は、前述のIPアドレス変換の実行に加え、パケットの内容を解析することにより前記サーバで実施された設定変更の正当性を検証する。このときのパケットの内容の正当性を検証する処理と、アドレス変換処理の詳細は図12に示す。動作検証の実行結果は、管理サーバの移行ログに格納される。
【0041】
ステップ706において、動作検証サーバ120の動作検証プログラム125は管理サーバ130を通し、移行ログ135を確認する。このとき、移行ログ135にステップ705で発生したエラーが記録されていない場合、続いてステップ707の処理を実行する。エラーが記録されている場合、ステップ704にて設定を修正し、再びステップ705を行う。ステップ704の再設定においては、移行作業者は移行ログ135を参照してエラー発生原因を特定し、サーバの設定を修正する。
【0042】
ステップ707において、サーバ設定管理プログラム131は、管理サーバ130の移行状況管理情報134を参照し、現在のサーバ移行状況502を確認する。移行対象の複数のサーバのうち、いまだ第一のネットワークシステムで実行するサーバがある場合、移行は完了していないため、ステップ703以降の作業を繰り返す。ステップ703の再実行においては、第一のネットワークシステム100で実行するサーバを、第二のネットワークシステムに移動する。移行対象の複数のサーバが全て第二のネットワークシステムで実行する場合、移行作業を終了する。
【0043】
このように、互いに通信を実行する複数のサーバを第一のネットワークシステム(第一のデータセンタ)からIPアドレス等のネットワーク環境の異なる第二のネットワークシステム(第二のデータセンタ)に移行する際に、複数のサーバの一部を移行して他のサーバとの通信も含めた動作確認を実行する。そして、動作確認後に移行されていないサーバを移行し、他のサーバとの通信も含めた動作確認を実行する。本実施例の移行方法により、互いに通信を実行する複数のサーバの移行時に段階的に動作確認することができ、エラー発生原因の特定が容易であるという効果を有する。
さらに、動作検証サーバ120にアドレス変換プログラム122を備えることにより、互いに通信を実行する複数のサーバの一部を第二のネットワークシステムに移行する場合であっても、異なるネットワークシステム環境で実行されるサーバの間の動作検証を実施することができるという効果を有する。
【0044】
次に、ステップ705の動作検証時に行うアドレス変換の詳細について説明する。以下、動作検証時に第二のネットワークシステム110に移行されたサーバが、第一のネットワークシステムで実行する移行されていないサーバに対してパケットを送信する場合を例に説明する。
図11は、実施例において、第二のネットワークシステム110に移行されたサーバが送信するパケット構成の一例を示す図である。パケット800は、移行対象となる複数のサーバ間で通信するためのパケットであって、宛先のサーバのMACアドレスを表す宛先MACアドレス804と、送信元サーバのMACアドレスを表す送信元MACアドレス805と、宛先のサーバのIPアドレスを表す宛先IPアドレス801と、送信元サーバのIPアドレスを表す送信元IPアドレス802と、パケット800のデータ803からなる。送信元サーバのMACアドレスを表す送信元MACアドレス805は、サーバからのパケット送信時に付与されるため正しいMACアドレスである。一方、宛先のサーバのMACアドレスを表す宛先MACアドレス804は、宛先のサーバのIPアドレスより求められる。第二のネットワークシステム110で実行される移行されたサーバが発行するパケットは、ステップ704にて実行される設定変更が正常に終了している場合には、図11のパケット800に示すように、宛先IPアドレス801として第一のネットワークシステム100で実行されているサーバの第二のIPアドレス192.168.0.12が、送信元IPアドレス802として第二のネットワークシステム110で実行するサーバの第二のIPアドレス192.168.0.11が記述される。
【0045】
一方、もし、サーバ移行に伴い、ステップ704にて実行されるOSやアプリケーション等のソフトウェアの設定変更が正常に終了していない場合には、パケット810に示すように、宛先IPアドレス811(又は、送信元IPアドレス812)が、移行先である第二のネットワークシステムにおいて使用されるIPアドレスではなく、移行元である第一のネットワークシステム100において使用される第一のIPアドレスとして設定され変更されていないパケットが発行される。
送信元サーバが実行する第二のネットワークシステム110には、サーバが発行するパケットの宛先IPアドレスに記述された第一のIPアドレスに対し、そのIPアドレスを持つサーバが存在しないため、サーバ間で通信ができない。
【0046】
そこで、動作検証サーバ120のパケット送受信プログラム121が、パケット800を受信した場合には、アドレス変換プログラム122が、パケットに記述された宛先IPアドレス192.168.0.12を、サーバが実行するシステムのIPアドレス10.0.0.102にする。そして、パケット送受信プログラム121が、変換されたパケットを第一のネットワークシステム100に向けて再送信する。これにより、異なるネットワークシステムに分かれて実行するサーバ102とサーバ103との間の通信を実現し、動作検証を可能とする。
【0047】
図12は、動作検証サーバ120における動作検証の処理の一例を示すフローチャートである。
【0048】
スイッチ101又はスイッチ141又はスイッチ151のポートミラーリング機能によりパケットが複製された場合に、操作検証サーバ120が複製されたパケットを受信して、下記の処理を開始する。
【0049】
ステップ901において、動作検証サーバ120のパケット送受信プログラム121が、第二のネットワークシステム110に移行したサーバの動作検証を実行するためのパケットを受信した場合には、アドレス変換プログラム122に引き渡す。
次に、ステップ902において、動作検証サーバ120のアドレス変換プログラム122は、パケット内の送信元IPアドレスと、宛先IPアドレスと、送信元MACアドレスを取得する。パケット800の場合には、送信元IPアドレスとして192.168.0.11を、宛先IPアドレスとして192.168.0.12を、送信元MACアドレスとして11:11:11:00:00:01を取得する。パケット810の場合には、送信元IPアドレスとして10.0.0.102を、宛先IPアドレスとして192.168.0.12を、送信元MACアドレスとして11:11:11:00:00:01を取得する。
【0050】
まず、ステップ903からステップ905において、パケット内の送信元IPアドレスが正しいか否かを判断し、間違っている場合には正しい送信元IPアドレスに修正する。
【0051】
ステップ903においては、アドレス変換プログラム122は、ステップ902で取得した送信元MACアドレスを元に、アドレス変換情報124を検索し、サーバの実行システムID304を取得する。なお、パケットの送信元サーバは第二のネットワークシステム110に属するため、サーバの実行システムID304は第二のネットワークシステムに関する。その後、アドレス変換プログラム122は、アドレス変換情報124から、実行システムID304を元にサーバが現在実行する第二のネットワークシステムで利用する第二のIPアドレスを取得する。
例えば、アドレス変換プログラム122は、送信元MACアドレスが11:11:11:00:00:01である場合、第二のネットワークシステムにおいて実行されているため、サーバ1の第二のIPアドレスである192.168.0.11を取得する。
【0052】
ここで、アドレス変換プログラム122は、取得したIPアドレスと、ステップ902で取得したパケット内の送信元IPアドレスを比較する。上述のように、送信元MACアドレスは、パケット送信時に付与されるサーバに一意な識別子であるため正しい。従って、送信元MACアドレスにより送信元IPアドレスが正しいか否かを判断する。
取得したIPアドレスと、ステップ902で取得したパケット内の送信元IPアドレスが同じ場合、送信元IPアドレスの設定は正しいため、ステップ903へ移る。
取得したIPアドレスと、ステップ902で取得したパケット内の送信元IPアドレスが違う場合、送信元IPアドレスの設定は間違いのため、ステップ904へ移る。
【0053】
上述の例でパケット800において、パケット内の送信元IPアドレスが10.0.0.101であった場合、本来ならば送信元IPアドレスは第二のIPアドレスの192.168.0.11でなければならず、設定に誤りがある。
つまり、ステップ903により、移行したサーバで実行するOS207やアプリケーション208の送信元IPアドレスに関する設定が第1のネットワークシステム100で使用されるIPアドレスから第2のネットワークシステム110で使用される正しいIPアドレスに変更されているか否かを確認することができる。
【0054】
ステップ904においては、アドレス変換プログラム122が、ログ記録プログラム123に対しエラー発生を通知する。通知するエラーの内容は、送信元IPアドレスが間違っていることである。通知を受領したログ記録プログラム123は、移行ログ125にエラー内容を書き込む。
【0055】
ステップ905においては、アドレス変換プログラム122は、アドレス変換情報124において、送信元MACアドレスを保持する行を検索し、正しい送信元IPアドレスを取得する。アドレス変換プログラム122は、パケット内の送信元IPアドレスを正しい送信元IPアドレスに修正する。ログ記録プログラム123は、移行ログ135に修正内容を書き込む。
【0056】
ステップ906からステップ908において、パケット内の宛先IPアドレスが正しいか否かを判断し、間違っている場合には正しい宛先IPアドレスに修正する。ここで、ステップ903からステップ905において、既に送信元IPアドレスは正しく設定されている。
【0057】
ステップ906において、動作検証サーバ120のアドレス変換プログラム122は、アドレス変換情報124において、ステップ902で取得した宛先IPアドレスに対応する欄を検索して、宛先IPアドレスが使用されるネットワークシステムを取得する。その後、送信元IPアドレスが使用されるネットワークシステムと、宛先IPアドレスが使用されるネットワークシステムを比較する。具体的には、送信元IPアドレスが使用されるシステムは、第二のネットワークシステムであるため、宛先IPアドレスが使用されるネットワークシステムが第二のネットワークシステムであるかを判断する。
移行時の設定が正しくされており、送信元と宛先のシステムが同じである場合は、エラー処理を行わずステップ909の処理を行う。
送信元と宛先のシステムが異なる場合は、移行時の設定に間違いがあったと判定し、ステップ907以降でエラー処理を行う。
例えばパケット810のように、宛先IPアドレスが第一のIPアドレス10.0.0.102であった場合、サーバ102は本来ならば第二のIPアドレスを利用しなければならないため、設定に問題があると言える。本ステップではこのようなエラーを検証する。
【0058】
つまり、ステップ906により、移行したサーバで実行するOS207やアプリケーション208の宛先IPアドレスに関する設定が第1のネットワークシステムで使用されるIPアドレスから第2のネットワークで使用されるIPアドレスに変更されているか否かを確認することができる。
【0059】
ステップ907において、アドレス変換プログラム122はログ記録プログラム123に対し、エラー発生を通知する。エラーの内容は、宛先IPアドレスが使用されるネットワークシステムが送信元IPアドレスが使用されるネットワークシステムと矛盾することを示すものである。ログ記録プログラム123は、管理サーバ130に接続し、移行ログ135にエラー内容を書き込む。その後、ステップ908の処理を実行する。
【0060】
ステップ908において、アドレス変換プログラム122は、アドレス変換情報124にてステップ906でエラーと判定した宛先IPアドレスを保持する行を検索して、正しい設定である、送信元IPアドレスと同じネットワークシステムのIPアドレスを取得する。その後、アドレス変換プログラム122は、パケット内の宛先IPアドレスを、アドレス変換情報124を検索して取得したIPアドレスに修正する。ログ記録プログラム123は、管理サーバ130に接続し、移行ログ135に修正内容を書き込む。宛先IPアドレス修正後、ステップ909の処理を実行する。例として、宛先IPアドレスが10.0.0.102であり、それが第一のIPアドレスであるためにエラーと判定された場合、アドレス変換情報124を用いて、宛先IPアドレスを第一のIPアドレスから第二のIPアドレス192.168.0.12へ修正する。
以上で、パケット内の送信元IPアドレスと宛先IPアドレスを正しいアドレスに修正し、移行したサーバで実行するOS207やアプリケーション208のIPアドレスに関する設定変更の誤り部分を、移行ログ135を元に特定することが容易になる。
【0061】
ステップ909において、アドレス変換プログラム122は、アドレス変換情報124にて宛先IPアドレスを保持する行を検索して、実行システムID304の欄から、宛先IPアドレスに対応するサーバが現在実行するネットワークシステムを取得する。その後、前記ネットワークシステムと、送信元IPアドレスが使用されるネットワークシステム(上述の例では第二のネットワークシステム)を比較し、送信元のサーバと宛先のサーバが同じネットワークシステムで実行しているか否かを確認する。
【0062】
比較の結果、両ネットワークシステムが同じである場合には、ステップ912の処理を実行する。
比較の結果、両ネットワークシステムが異なる場合、送信元サーバと宛先サーバの間で通信を行うためにはIPアドレス変換が必要であるため、続いてステップ910の処理を実行する。パケット800の場合では、送信元IPアドレス192.168.10.11に対応するサーバ102は第二のネットワークシステムで、宛先IPアドレス192.168.0.12に対応するサーバ103は第一のネットワークシステムで実行しているため、両システムは異なっている。
【0063】
ステップ910においては、アドレス変換プログラム122は、パケット内の送信元IPアドレスと宛先IPアドレスを、アドレス変換情報124に基づき、宛先サーバの稼動するネットワークシステムに対応したIPアドレスへ変換する。例の場合では、宛先IPアドレスを第二のIPアドレス192.168.0.12から第一のIPアドレス10.0.0.102に変換し、同様に送信元IPアドレスも192.168.0.11から10.0.0.101に変換する。アドレス変換の実行後、ステップ911の処理を実行する。
【0064】
ステップ912においては、ステップ905又はステップ908において、送信元IPアドレス又は宛先IPアドレスが修正されたか否かを判断する。
送信元IPアドレス又は宛先IPアドレスが修正されている場合には、宛先となるサーバが送信元のサーバと同じネットワークシステムで稼動していたとしても、パケットが正しく届いておらず破棄されている。したがって、送信元IPアドレス又は宛先IPアドレスを修正したパケットを再送する必要があるため、ステップ911の処理を実行する。
送信元IPアドレス又は宛先IPアドレスが修正されていない場合には、パケットが正しく届いているため処理を終了する。
【0065】
ステップ911において、アドレス変換プログラム122は、パケットをパケット送受信プログラム121に受け渡す。パケット送受信部121は、受け取った前記パケットから宛先IPアドレスを取得し、宛先IPアドレスに対して前記パケットの送信処理を実施する。これにより、一連の動作検証処理を終了する。
【0066】
以上のように、第一のネットワークシステムと第二のネットワークシステムの間に動作検証サーバ120を設置することにより、同時に移行するサーバの数を1つあるいは1つ以上の任意の数に制限しながら、移行作業を完了できる。
【0067】
以下、図10の動作検証が終了した後、検証環境を本番環境に切り替える処理について図13及び図14の例を説明する。
【0068】
図13は、本実施例における検証環境から本番環境への移行方法の一例を示すフローチャートである。図13の例では、サブシステム1 140が検証用サブシステムであり、サブシステム2 150が本番用サブシステムである。つまり、互いに通信を実行する複数のサーバを、第1のネットワークシステム100から第二のネットワークシステム110に移行する際には、まずサブシステム1 140に移行して動作検証を実行する。その後、動作検証が終了した後の互いに通信を実行する複数のサーバを、本番環境であるサブシステム2 150にコピーする。図13の方式では、本番環境にサーバを直接移行せず、検証環境を挟んで移行を行うことで、本番環境に与える影響を最小限にすることができる。
【0069】
図13に、第一のネットワークシステム100から第二のネットワークシステム110内の検証用サブシステム140へ移行が完了し動作検証を実行した後、本番用サブシステム150へサーバをコピーする手順を示す。コピーを行う場合、検証用サブシステム140内に本番用と同じサーバが残るため、残ったサーバを本番用サブシステムにおいて障害が発生した時の予備として使用することができる。
【0070】
ステップ1401において、管理サーバ130の本番環境移行プログラム136は、本番用サブシステム2 150内のサーバ152、153が、管理サーバ130とのみ通信を行えるよう、コアスイッチ111とスイッチ151に対して設定を行う。
ステップ1402において、管理サーバ130の本番環境移行プログラム136は、移行対象の全てのサーバを検証用サブシステム140から本番用サブシステム150へコピーする。このとき、検証用サブシステム140内の移行対象のサーバ142、143を構成するファイルを、ネットワーク経由で管理サーバ130に送信する。その後、管理サーバに保存されたファイルを本番用サブシステム150内のサーバ152、153へ送信し、サーバのディスクに保存する。
【0071】
ステップ1403において、管理サーバ130の本番環境移行プログラム136は、検証用サブシステム140内のサーバ142、143が、他のサーバと通信を行えないよう、コアスイッチ111とスイッチ141に対して設定を行う。
ステップ1404において、管理サーバ130の本番環境移行プログラム136は、本番用サブシステム150内のサーバ152、153が、任意のサーバと通信を行えるよう、コアスイッチ111とスイッチ151に対して設定を行う。
サーバを検証環境から本番環境へコピーする場合には、同一のサーバが複数存在するため、常に一方のサブシステムをネットワークから遮断しておく必要がある。
【0072】
図14は、本実施例における検証環境から本番環境への移行方法の一例を示すフローチャートである。図14の例では、サブシステム1 140が検証用サブシステムであり、サブシステム2 150が本番用サブシステムである。つまり、互いに通信を実行する複数のサーバを、第1のネットワークシステム100から第二のネットワークシステム110に移行する際には、まずサブシステム1 140に移行して動作検証を実行する。その後、動作検証が終了した後の互いに通信を実行する複数のサーバを、本番環境であるサブシステム2に移動する。移動する際には、サブシステム1内のデータを削除する。
【0073】
ステップ1501において、管理サーバ130の本番環境移行プログラム136は、本番用サブシステム150内のサーバ152、153が、管理サーバ130と検証用サブシステム140内のサーバ142、143を含む任意のサーバと通信を行えるよう、コアスイッチ111とスイッチ151とスイッチ141に対して設定を行う。
【0074】
ステップ1502において、管理サーバ130の本番環境移行プログラム136は、移行対象のすべてのサーバを検証用サブシステム140から本番用サブシステム150へ移動する。このとき、検証用サブシステム140内の移行対象のサーバ142、143を構成するファイルを、ネットワーク経由で本番用サブシステム150内のサーバ152、153へ送信し、サーバのディスクに保存する。
【0075】
ステップ1503において、管理サーバ130の本番環境移行プログラム136は、検証用サブシステム140内のサーバ142、143が、他のサーバと通信を行えないよう、コアスイッチ111とスイッチ141に対して設定を行う。
【0076】
さらに図13と図14以外の例では、サブシステム1 140の設定を検証用サブシステムの設定から本番用サブシステムへ設定変更することもできる。つまり、互いに通信を実行する複数のサーバを、第1のネットワークシステムから第二のネットワークシステムに移行する際には、まず検証用サブシステムとして設定されたサブシステム1に移行して動作検証を実行する。その後、サブシステム1の設定を本番用サブシステムの設定へ変更する。本方式では、サブシステムの設定を変更するだけで、容易に移行対象のサーバを使用し始めることができるという効果を有する。
【符号の説明】
【0077】
100 第一のネットワークシステム、101 スイッチ、102及び104 物理サーバ、110 第二のネットワークシステム、111 コアスイッチ、120 動作検証サーバ、130 管理サーバ、140及び150 サブシステム、141及び151 スイッチ、142、143、152、153 物理サーバ、200 計算機、201 プロセッサ、202 メモリ、203 ネットワークアダプタ、204 ディスクアダプタ、205 入出力装置、206 システムバス
【技術分野】
【0001】
本発明は、サーバを環境の異なるシステムに移行する際の動作検証方法及びサーバの動作検証を実行するサーバの移行先システムに関する。
【背景技術】
【0002】
ハードウェアの保守期限切れや、機器コスト、運用コスト最適化などの理由により、情報システムを構成する複数のサーバを、現在稼働中のシステム(例えば、データセンタ)から環境の異なるシステム(例えば、他のデータセンタ)へ移行する場合がある。サーバの移行先は同じ組織のデータセンタであるとは限らない。例えば、ホスティングサービスやクラウドコンピューティングなどの利用により、外部のデータセンタにサーバを置いて基盤の運用をアウトソースすることも多い。この場合、サーバの設置されたシステムを管理する主体が移行の前後で変わることになる。そのために、特にIPアドレス等に関しては、各サーバについて多くの設定変更と、設定変更に伴う動作検証が必要となる。例えば、移行前の第一のネットワークシステム(第一のデータセンタ)で利用していた第一のIPアドレスは、移行後の第二のネットワークシステム(第二のデータセンタ)では利用できず、代わりに第二のネットワークシステムの管理者から与えられた第二のIPアドレスを利用する。従って、移行対象のシステムを構成する全てのサーバにおいて、OSやアプリケーションに対するIPアドレスの設定変更と動作検証を実施しなければならない。
【0003】
特許文献1には、モバイル端末機の移動性を支援する方法であって、モバイル端末機が他のサブネットに移動することを認識した場合に、移動後のサブネットに対するネットワークプリフィックス(prefix)と同じプリフィックスを持つIPアドレスをモバイル端末機に割り当てることが開示されている。
【0004】
特許文献2には、音声通信システムの制御サーバを第一のサーバから第二のサーバに移行する手法が開示されている。特許文献2では、アドレス変換手段を持つ第一のサーバが、受信したパケットのアドレスを変換して第二のサーバにパケットを転送することにより、音声通信システムの制御サーバを第一のサーバから第二のサーバへ移行している。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2005−130512
【特許文献2】特開2008−236374
【発明の概要】
【発明が解決しようとする課題】
【0006】
従来技術においては、複数のサーバを環境の異なるシステムへ移動する際に、OS等のアドレスを変更する方法については開示されていない。従って、サーバを、第一のネットワークシステムから、IPアドレス等の異なる第二のネットワークシステムへ移行する場合の移行手順は、従来技術においては、はじめに第一のネットワークシステムで実行する全てのサーバを第二のネットワークシステムに移動し、次に全てのサーバのIPアドレス設定を第二のネットワークシステムに合わせた設定に変更し、その後全てのサーバの動作検証を実施する。動作検証でエラーが発生したときは、エラーの原因となった設定を特定し、正しい設定に変更して再び動作検証を実施する。このような設定変更と動作検証をエラーが発生しなくなるまで繰り返すことで、サーバの移行が完了する。
【0007】
つまり、従来技術においては、動作検証においてエラーが発生した場合に、エラーの原因となり得る設定変更の数がサーバの数に比例して多くなり、それに伴いエラー発生原因を特定する切り分け作業が煩雑になる点が課題である。
【課題を解決するための手段】
【0008】
上記課題を解決するための動作検証方法は、外部システムに含まれる第1の物理サーバによって提供される互いに通信を実行する複数の仮想サーバを、前記外部システムにネットワークを介して接続し第2の物理サーバを含むシステムに移行する際の動作検証方法であって、前記互いに通信を実行する複数の仮想サーバの一部である第1の仮想サーバを前記システムに含まれる前記第2の物理サーバに移行し、前記第1の仮想サーバにより実行される第1のソフトウェアの設定を変更し、前記システムに含まれる前記第2の物理サーバへ移行された前記第1の仮想サーバから、前記外部システムの前記第1の物理サーバにより提供され前記互いに通信を実行する複数の仮想サーバの一部である第2の仮想サーバへ第1のパケットを発行し、前記第1のパケットを確認することにより前記第1のソフトウェアの設定の変更に誤りがないかを判断する、ことを特徴とする動作検証方法である。
【0009】
さらに上記課題を解決するためのシステムは、互いに通信を実行する複数の仮想サーバを提供する第1の物理サーバを含む外部システムとネットワークを介して接続するシステムであって、第2の物理サーバと、前記第2の物理サーバに接続する動作検証サーバと、前記第2の物理サーバに接続する管理サーバと、を含み、前記管理サーバ又は前記動作検証サーバは、前記互いに通信を実行する複数の仮想サーバの一部である第1の仮想サーバを前記第1の物理サーバから前記システムに含まれる前記第2の物理サーバに移行する指示を出し、前記管理サーバは、前記第2の物理サーバに移行された前記第1の仮想サーバにより実行される第1のソフトウェアの設定を変更し、前記動作検証サーバは、前記システムに含まれる前記第2の物理サーバへ移行された前記第1の仮想サーバに、前記外部システムの前記第1の物理サーバにより提供され前記互いに通信を実行する複数の仮想サーバの一部である第2の仮想サーバへ第1のパケットを発行する指示を出し、前記動作検証サーバは、前記第1のパケットを確認することにより前記第1のソフトウェアの設定の変更に誤りがないかを判断する、ことを特徴とするシステムである。
【発明の効果】
【0010】
本発明により、複数の互いに通信をするサーバを、異なるネットワークシステムに移行する処理において、段階的にサーバ移行及び動作検証を行うことによりエラー発生原因の特定が容易であるという効果を有する。
【図面の簡単な説明】
【0011】
【図1】実施例におけるサーバ移行システムの構成図の一例を示す図である。
【図2】実施例における動作検証サーバの詳細を示す構成図の一例を示す図である。
【図3】実施例における管理サーバの詳細を示す構成図の一例を示す図である。
【図4】実施例における物理サーバの構成図の一例を示す図である。
【図5】実施例において仮想サーバを提供することのできる物理サーバの構成図の一例を示す図である。
【図6】実施例におけるアドレス変換情報の一例を示す図である。
【図7】実施例におけるシステム情報管理情報の一例を示す図である。
【図8】実施例における移行状況管理情報の一例を示す図である。
【図9】実施例における移行ログの一例を示す図である。
【図10】実施例におけるサーバ移行手順の一例を示すフローチャートである。
【図11】実施例において、第二のネットワークシステムに移行されたサーバが送信するパケット構成の一例を示す図である。
【図12】実施例における、動作検証サーバの動作検証処理の一例を示すフローチャートである。
【図13】本実施例における検証環境から本番環境への移行方法の一例を示すフローチャートである。
【図14】本実施例における検証環境から本番環境への移行方法の一例を示すフローチャートである。
【発明を実施するための形態】
【0012】
本発明の実施例について図面を参照しながら説明する。実施例では、サーバで実行するOSやアプリケーションのIPアドレスの設定を変換し動作検証を行う動作検証サーバと、移行作業の状況を記録し動作検証サーバに変換内容を指示する管理サーバとの連携によって、互いにパケット通信等の通信を実行する複数のサーバを第一のネットワークシステムから第二のネットワークシステムへ段階的に移行する装置の構成、および、方法を示す。以降「物理サーバ」「仮想サーバ」と明記しない「サーバ」は、「物理サーバ」「仮想サーバ」のいずれも含むものとする。
【0013】
図1は、実施例におけるサーバ移行システムの構成図の一例を示す図である。実施例における第二のネットワークシステム110は、サーバの移行元である第一のネットワークシステム100に、外部ネットワーク300を介して接続する。
第一のネットワークシステム100においては、複数の物理サーバ102、物理サーバ103、及び物理サーバ104が、一般的なネットワークスイッチ装置であるスイッチ101に接続し、スイッチ101は、外部ネットワーク300に接続する。スイッチ101は特定のポートを通過するパケットを複製するポートミラーリングの機能により、サーバが送受信する全てのパケットを受信し、受信したパケットの複製を作成し、作成したパケットの複製を外部ネットワーク300とコアスイッチ111を介して動作検証サーバ120に受け渡す。
【0014】
また、互いに通信を実行するサーバを第一のネットワークシステムから第二のネットワークシステムに移行する前には、スイッチを介して接続されたクライアント160がサーバにネットワーク経由で通信し、データ処理を実施する。
【0015】
ここで、外部ネットワークは、例えばデータセンタ間の専用通信回線や、通信事業者が提供する閉域IP網、インターネットなどが挙げられる。
第二のネットワークシステム110は、外部ネットワーク300に接続する一般的なネットワークスイッチ装置であるコアスイッチ111、動作検証サーバ120、管理サーバ130、サブシステム1 140、サブシステム2 150により構成される。サブシステム1 140は、スイッチ141と、物理サーバ142と、物理サーバ143とにより構成される。サブシステム2 150は、スイッチ151と、物理サーバ152と、物理サーバ153とにより構成する。また、スイッチ141及びスイッチ151は動作検証サーバ120に接続し、特定のポートを通過するパケットを複製するポートミラーリングの機能により、サーバが送受信する全てのパケットを受信し、受信したパケットの複製を作成し、作成したパケットの複製を動作検証サーバ120に受け渡す。
なお、実施例においては、動作検証サーバ120と管理サーバ130とを分離した構成としているが、これに限定されるものではなく、動作検証サーバと管理サーバとを同一のサーバとしてもよい。また、管理サーバ130が動作検証サーバ120を介さずにコアスイッチ111やスイッチ141に接続さてもよい。また、サブシステム1内(スイッチ141の内側)やサブシステム2内(スイッチ151の内側)に動作検証サーバ120が設置されてもよい。にまた、図1においてシステムは複数示しているが、1以上であればよい。また、移行対象のサーバの数に応じて、スイッチの数を増やしてもよい。
第一のネットワークシステム100は、例えば第一のデータセンタである。第二のネットワークシステム110は、例えば第一のデータセンタとIPアドレスの設定といったネットワーク環境が異なる第二のデータセンタである。
【0016】
実施例においては、第1のネットワークシステムから第二のネットワークシステムに「互いに通信を実行する複数のサーバ」を移行する。サーバ間の通信とは、一例として、サーバ間でパケットを送受信し合うことなどを指す。互いに通信を実行するサーバ群とは、例えば、1つのシステムに属するウェブサーバ、アプリケーションサーバ、データベースサーバにより構成されるサーバ群を指す。さらに、互いに通信を実行する複数のサーバとは、ある特定の組織のクライアントにより使用される複数のサーバであってもよい。但し、互いに通信を行う複数のサーバであればよく、これに限定されるものではない。
また、移行対象となるサーバは、上述の通り、物理サーバであっても仮想サーバであってもよい。そして、移行先において、物理サーバ又は仮想サーバに変換されてもよい。つまり、移行形態として、以下の形態が含まれる。
(1)移行元のサーバが物理サーバであり、移行先のサーバが物理サーバである場合。
(2)移行元のサーバが仮想サーバであり、移行先のサーバが物理サーバである場合。
(3)移行元のサーバが物理サーバであり、移行先のサーバが仮想サーバである場合。
(4)移行元のサーバが仮想サーバであり、移行先のサーバが仮想サーバである場合。
以下、「移行対象のサーバ」「移行対象のサーバ群」と記述する場合には、物理サーバであるか仮想サーバであるかを問わない。
【0017】
図2は、実施例における動作検証サーバ120の詳細を示す構成図の一例を示す図である。動作検証サーバ120は、ネットワークを介してコアスイッチ111、スイッチ141、スイッチ151に接続するネットワークアダプタ1201、ネットワークを介して管理サーバ130に接続するネットワークアダプタ1202、メモリ1203、メモリに格納されるプログラムや情報を参照して処理を実行するプロセッサ1204、により構成する。
ネットワークアダプタ1201及び1202は、スイッチ141又はスイッチ151のポートミラーリングで複製されたパケットを受信し、それぞれのネットワークシステムにパケットを送信できるように構成される。
メモリ1203は、パケット送受信プログラム121、アドレス変換プログラム122、動作検証プログラム125、ログ記録プログラム123、アドレス変換情報124、を格納する。これらは、予め記録媒体(例えば、ハードディスク)に記録され、この記録媒体から読み出されてメモリ1203に格納される。
【0018】
以降、各プログラムを主語にして、実行される処理を説明するが、実際にはプロセッサ1204がメモリ1203から各プログラムや情報を読み出し、各処理を実行することを意味する。
【0019】
動作検証プログラム125は、第一のネットワークシステムに含まれる移行対象の相互に通信を実行する複数のサーバを段階的に第二のネットワークに移行される場合に、複数のサーバの一部が移行されるごとに動作検証を実行する。パケット送受信プログラム121は、第一のネットワークシステム100のサーバ(仮想サーバも含む)および第二のネットワークシステム110のサーバ(仮想サーバも含む)との間でパケットの送受信を制御する。アドレス変換プログラム122は、第一のネットワークシステムから第二のネットワークシステムへ既に移行したサーバと未だ移行していないサーバとの間で通信を行うために、受信したパケット内のIPアドレスを変換する。ログ記録プログラム123は、アドレス変換時にIPアドレスの内容を検証した結果を、以下に説明する管理サーバ130の移行ログ135に記録する。アドレス変換情報124は、アドレス変換プログラム122におけるIPアドレスの変換ルールを格納する。
そして、各プログラムは以下のように連携して動作する。動作検証サーバ120のパケット送受信プログラム121は、移行対象の全てのサーバが送信する全てのパケットを動作検証サーバ120が備えるネットワークアダプタ1201を介して受信する。そして、受信したパケットをアドレス変換プログラム122に引き渡す。アドレス変換プログラム122は、受信したパケットに対してアドレス変換処理を実施し、変換後のパケットをパケット送受信プログラム121に引き渡す。パケット送受信プログラム121は、アドレス変換後のパケットの送信先に従って、コアスイッチ111を介してパケットを送信する。
各プログラムによる動作の詳細と、各情報の詳細は、後述する。
【0020】
図3は、実施例における管理サーバ130の詳細を示す構成図の一例を示す図である。動作検証サーバ120とネットワークを介して接続するネットワークアダプタ1301、メモリ1302、メモリに格納されるプログラムや情報を参照して処理を実行するプロセッサ1303、入出力装置1304、により構成する。
メモリ1302は、サーバ設定管理プログラム131、情報更新プログラム132、システム情報管理情報133、移行状況管理情報134、移行ログ135、本番環境移行プログラム136、サーバ移行プログラム137、を格納する。これらは、予め記録媒体(例えば、ハードディスク)に記録され、この記録媒体から読み出されてメモリ1302に格納される。
管理サーバ130のサーバ設定管理プログラム131は、サーバで実行するOSやアプリケーションの設定を管理する。例えば、サーバ設定管理プログラム131はサーバで実行するOSやアプリケーションのIPアドレスの設定を変更する。サーバで実行するOS207やアプリケーションの208に設定された情報を取得するほか、サーバにおいて実施された設定変更を検知し、設定の変更内容を管理サーバの移行ログ135に記録する。
管理サーバ130の情報更新プログラム132は、移行対象の互いに通信を実行する複数のサーバの第一のネットワークシステム100から第二のネットワークシステム110への移動に合わせて実行される動作検証において、動作検証サーバ120のアドレス変換情報124や、管理サーバ130の移行状況管理情報134、移行ログ135を更新する。
各プログラムによる動作の詳細と、各情報の詳細は、後述する。以降、各プログラムを主語にして、実行される処理を説明するが、実際にはプロセッサ1303がメモリ1302から各プログラムや情報を読み出し、各処理を実行することを意味する。
【0021】
図4は、実施例における物理サーバの構成図の一例を示す図である。物理サーバは、プロセッサ201、メモリ202、ネットワークに接続するネットワークアダプタ203、ディスクに接続するディスクアダプタ204、キーボードやディスプレイといった入出力装置205により構成され、各構成要素がシステムバス206により接続された一般的な構成の物理サーバである。
図示するように、プロセッサ201は、記録媒体から予めメモリ202にOS207とアプリケーション208を読み込み、それらのプログラムを実行することにより、OS207やアプリケーション208の処理を実現する。
【0022】
図5は、実施例において仮想サーバを提供することのできる物理サーバの構成図の一例を示す図である。本実施例においては、サーバ102等は、図4の構成であっても図5の構成であってもよい。以下、図4との差異点のみ説明する。
プロセッサ201は、メモリ202に仮想サーバ制御プログラム2001を読み込み、OS207やアプリケーション208を実行する仮想サーバ2002をメモリ202に作成する。仮想サーバ2002は、複数作成されてもよい。
【0023】
図6は、実施例におけるアドレス変換情報124の一例を示す図である。なお、図6に記載のアドレス変換情報124のフォーマットは一例であって、図6に示したフォーマットに限定されるものではない。
アドレス変換情報124は、サーバが、第一のネットワークシステム100および第二のネットワークシステム110において利用するIPアドレスを保持する。また、サーバが現在実行するシステムのIDも同時に記録する。
具体的には、サーバを一意に識別するサーバID301、サーバが第一のネットワークシステム100で利用している第一のIPアドレス302と第一のMACアドレス305、サーバが第二のネットワークシステム110で利用する予定である第二のIPアドレス303と第二のMACアドレス306、サーバが現在実行されているシステムを識別する実行システムID304とを記録する。ここで、システム1とは、サーバが第一のネットワークシステムにて動作していることを示し、システム2とは、サーバが第二のネットワークシステムにて動作していることを示す。第一のIPアドレス302と第一のMACアドレス305は、管理サーバ130のサーバ設定管理プログラム131が、第一のネットワークシステム100で実行するサーバから取得したIPアドレスである。サーバID301は、サーバ設定管理プログラム131が第一のIPアドレス302を記録するときに、サーバを一意に識別するようにサーバ設定管理プログラム131が自動で付与した値である。第二のIPアドレス303と第二のMACアドレス306は、サーバ設定管理プログラムにより設定されたIPアドレスである。なお、入出力装置1304を介して移行作業者が登録したIPアドレスであってもよい。実行システムID304は、サーバの移動による、サーバの実行されるシステムの変更に伴い、管理サーバ130の情報更新プログラム132によって更新される。
【0024】
図7は、実施例におけるシステム情報管理情報133の一例を示す図である。なお、図7に記載のシステム情報管理情報133のフォーマットは一例であって、図7に示したフォーマットに限定されるものではない。
システム情報管理情報133には、移行対象であり、相互に通信を実行する複数のサーバを提供するネットワークシステムの情報を格納する。システム情報管理情報133には、システムを一意に識別するシステムID401、各システムでサーバが利用するIPアドレスの範囲を表すサブネット402、各システムでサーバが実行するときのサーバ実行形態403とを記録する。サーバ実行形態403は、各システムにおいて、移行対象のサーバが計算機上で直接実行する物理サーバであるか、計算機上で実行する仮想サーバ制御プログラム上で実行する仮想サーバであるかを表す。サーバが仮想サーバである場合、仮想サーバ実行の互換性を確認するために仮想サーバ制御プログラムの種類も記録する。また、IPアドレスの範囲を示すサブネット402は、IPアドレスのサブネットでなくともよく、2つのIPアドレスで表現される範囲であってもよい。
【0025】
図8は、実施例における移行状況管理情報134の一例を示す図である。なお、図8に記載の移行状況管理情報134のフォーマットは一例であって、図8に示したフォーマットに限定されるものではない。
移行状況管理情報134は、移行対象のサーバの移行の段階を示すサーバ移行状況を記録する。サーバの移行状況とは、移行の各段階での各サーバが実行されるネットワークシステムを示す。ここで、システム1とは、第一のネットワークシステムにおいてサーバが実行されていることを指し、システム2とは、第二のネットワークシステムにおいてサーバが実行されていることを指す。移行状況管理情報134には、サーバの移行状況を一意に識別する移行状況ID501と、移行対象の複数のサーバが実行されるネットワークシステムを表すサーバ移行状況502と、を記録する。移行状況ID501とサーバ移行状況502は、移行対象のサーバを新しいシステムに移行した際に、更新される。図8に示した例では、サーバ1だけを第二のネットワークシステムに移行した状況1、サーバ1とサーバ2を第二のネットワークシステムに移行した状況2、サーバ1とサーバ2とサーバ3とを第二のネットワークシステムに移行した状況3、として、移行の各段階の移行状況を示している。
【0026】
図9は、実施例における移行ログ135の一例を示す図である。なお、図9に記載の移行ログのフォーマットは一例であって、図9に示したフォーマットに限定されるものではない。
具体的には、移行ログ135は、移行作業時に実施した動作検証の内容や、動作検証中に発生したエラー内容を記録する。移行ログ135には、移行ログ135を一意に識別するログID601と、ログ内容602を記録する。ログ内容602には、移行作業時に移行対象のサーバに対して実施した設定変更の内容や、サーバを異なるシステムに移行した履歴を記録する。また、ログ記録プログラム123が出力するエラー内容を記録する。なお、ログID601は、ログ内容602を記録するたびに、サーバ設定管理プログラム131やログ記録プログラム123が一意なIDを自動的に付与する。
図6に示した例では、ログ1において、サーバ1のIPアドレスを10.0.0.101から192.168.0.11に変更した結果、ログ内容602のサーバIDにサーバ1のID、設定項目にIPアドレス、変更前設定値に10.0.0.101、変更後設定値に192.168.0.11が記録されたことを示す。
また、ログ2において、動作検証中にサーバ2が送信したパケット内の宛先IPアドレスに矛盾が見つかり、設定ミスが起きたことを示す。動作検証プログラム125は、エラー発生以前のログを参考にして、エラー発生原因の特定作業をすることができる。
【0027】
動作検証サーバ120のログ記録プログラム123は、アドレス変換プログラム122よりアドレス変換処理の際に発生したエラーの内容を受け取り、管理サーバ130に接続して前記エラー内容を移行ログ135に記録する。
【0028】
次に、実施例において、第一のネットワークシステム100で実行し、互いに通信を実行する複数のサーバを、第二のネットワークシステム110へと移行する作業の手順を、フローチャートに基づいて説明する。
【0029】
図10は、サーバ移行手順の一例を示すフローチャートである。
なお、本処理は、例えば、管理サーバ130のサーバ移行プログラム137が互いに通信を実行する複数のサーバ移行指示を生成し、第1のネットワークシステムにサーバ移行開始指示を発行し、そして、サーバ移行指示を受領した第1のネットワークシステムは、移行対象である互いに通信を行う複数のサーバに関する情報を第二のネットワークシステム110の管理サーバに送信したことを契機に実行される。
ステップ700において、管理サーバ130のサーバ設定管理プログラム131は、移行対象となる第一のネットワークシステムに属する複数のサーバを、第二のネットワークシステムのどのサブシステムに移行するかを決定する。まず、通常は、検証用サブシステムに複数のサーバが移行されるが、これに限定されるものではない。
ステップ701において、管理サーバ130のサーバ設定管理プログラム131は、互いに通信を実行する複数のサーバの移行元の第一のネットワークシステム100および複数のサーバの移行先の第二のネットワークシステム110の情報を各ネットワークシステムより取得し、管理サーバ130のシステム情報管理情報133を作成する。
ステップ702において、管理サーバ130のサーバ設定管理プログラム131は、第一のネットワークシステムより、第一のネットワークシステム100で実行する移行対象の複数のサーバのIPアドレス及びMACアドレスを取得する。サーバ設定管理プログラム131は、それぞれのサーバに対してIDを付与する。管理サーバ130の情報更新プログラム132は、付与したIDをアドレス変換情報124のサーバID301に、移行対象のサーバの第一のネットワークシステム100でのIPアドレスを第一のIPアドレス302に、移行対象のサーバの第一のネットワークシステム100でのMACアドレスを第一のMACアドレス305に記録する。
続いて、管理サーバ130のサーバ設定管理プログラム131は、移行対象である互いに通信を実行する複数のサーバが第二のネットワークシステム110において利用するIPアドレスを、生成する。また、管理サーバ130のサーバ設定管理プログラム131は、移行対象である互いに通信を実行する複数のサーバの移行先のMACアドレスを取得する。なお、移行対象である互いに通信を実行する複数のサーバが第二のネットワークシステム110において利用するIPアドレスは、移行作業者により入力装置を介して入力されてもよい。そして、管理サーバ130の情報更新プログラム132は、作成/取得したIPアドレスをアドレス変換情報124の第二のIPアドレス303に記録し、取得したMACアドレスをアドレス変換情報124の第二のMACアドレス306に記録する。
また、初期状態として、管理サーバ130の情報更新プログラム132は、アドレス変換情報124の実行システムID304には第一のネットワークシステム100のIDを記録する。移行作業前であるため、移行対象の複数のサーバは全て移行元のネットワークシステムにあるためである。
【0030】
ステップ703において、移行対象である互いに通信を実行する複数のサーバの一部を第一のネットワークシステム100から第二のネットワークシステム110のステップ700で決定した移行先サブシステムへ移行する。このとき、移行するサーバの数は一つだけでも良いし、複数のサーバのうちの一部を同時に移行してもよい。ただし、移行対象である複数のサーバの全部を同時には移行しない。
【0031】
実施例における複数のサーバの移行処理は以下の一例として以下のように開始される。
【0032】
まず、移行対象である互いに通信を行う複数のサーバに関する情報を受信した第2のネットワークシステムの管理サーバ130は、サーバ移行プログラム137により、移行対象である複数のサーバの一部を選択する。例として、ウェブサーバ、アプリケーションサーバ、データベースサーバにより構成されるサーバ群を移行する場合、ウェブサーバのみを選択し移行する、などが挙げられる。
そして、サーバ移行プログラム137は、第1のネットワークシステムに選択したサーバに関する情報と、選択したサーバの移行を指示する情報を送信する。
そして、選択した一部のサーバに関する情報と移行指示に関する情報を受領した第1のネットワークシステムは、選択した一部のサーバの第2のネットワークシステムへの移行を開始する。
【0033】
ここで、移行対象のサーバの、移行元と移行先でのサーバの形態は上記のように複数あり、各形態により移行作業が異なる。各形態による移行作業は以下の通りである。
【0034】
(1)移行元のサーバが物理サーバであり、移行先のサーバが物理サーバである場合。
管理サーバが、移行元の物理サーバのディスクに保存されており、移行元の物理サーバにより使用されるファイル(設定情報なども含む)を、外部ネットワークを通して受信し、ステップ700−703で指定されたサブシステムに含まれる物理サーバのディスクに保存する。
あるいは、移行元の物理サーバを第一のネットワークシステム110の所在地からステップ700−703で指定されたサブシステムの所在地へ運搬し、前記サブシステムに物理サーバを接続する。
【0035】
(2)移行元のサーバが仮想サーバであり、移行先のサーバが物理サーバである場合。
管理サーバが、移行元の仮想サーバの使用するファイル(設定情報なども含む)を、外部ネットワークを通して受信し、受信したファイルを物理サーバにより使用できる形態に変換し、ステップ700−703で指定されたサブシステムに含まれる物理サーバのディスクに変換されたファイルを保存する。
【0036】
(3)移行元のサーバが物理サーバであり、移行先のサーバが仮想サーバである場合。
管理サーバが移行元の物理サーバのディスクに保存されており、移行元の物理サーバにより使用されるファイル(設定情報なども含む)を、外部ネットワークを通して受信し、受信したファイルを仮想サーバにより使用できる形態に変換し、ステップ700−703で指定されたサブシステムに含まれる物理サーバに受信したファイルを用いて仮想サーバを構築する。
【0037】
(4)移行元のサーバが仮想サーバであり、移行先のサーバが仮想サーバである場合。
管理サーバが、移行元の仮想サーバの使用するファイル(設定情報なども含む)を、外部ネットワークを通して受信し、ステップ700−703で指定されたサブシステムに含まれる物理サーバに受信したファイルを用いて仮想サーバを構築する。
【0038】
管理サーバ130の情報更新プログラム132は、移行完了後、図8の移行状況管理情報134に新しい状況を登録する。具体的には、管理サーバ130の情報更新プログラム132は、状況ID501に新規のIDを付与し、第一のネットワークシステム100から第二のネットワークシステム110へ移動したサーのサーバ移行状況502として、第二のネットワークシステム110のシステムIDを記録する。管理サーバ130の情報更新プログラム132は、システムIDを、システム情報管理情報133より取得する。移行対象となる複数のサーバの内、移動しない残りのサーバに関しては、サーバ移行状況502は直前のものを引き継いで記録する。同時に、管理サーバ130の情報更新プログラム132は、移行したサーバのサーバIDと、移行したシステムのシステムIDを移行ログ135に記録する。
【0039】
ステップ704において、管理サーバ130のサーバ設定管理プログラム131は、ステップ703で移行したサーバと通信を接続し、移行したサーバで実行するOS207やアプリケーション208等のソフトウェアのIPアドレスに関する設定を、第二のIPアドレスへ設定変更する。例えば、OS207やアプリケーション208等のソフトウェアのプログラムコード中の第一のIPアドレスをアドレス変換情報124を参照して第一のIPアドレスに対応する第二のIPアドレスに書き換える処理である。
例えば、移行したサーバで実行されるOS207やアプリケーション208等のソフトウェアにおいて、移行されたサーバ自身のIPアドレスを、第一のネットワークシステムで利用するIPアドレスから第二のネットワークシステムで利用するIPアドレスへ設定変更する。また、移行されたサーバの通信先としてOSやアプリケーションに設定されている、移行されていない他のサーバのIPアドレスも同様に第一のネットワークシステムで利用するIPアドレスから第二のネットワークシステム110のIPアドレスに設定変更する。このとき実施された設定変更は、管理サーバ130のサーバ設定管理プログラム131を通し、変更の内容を移行ログ135に記録する。
【0040】
ステップ705において、動作検証サーバ120の動作検証プログラム125が移行したサーバの動作を検証するため、移行したサーバのアプリケーションを実行し動作検証を行う。ここで、上記のように、移行対象となる複数のサーバは、第1のネットワークシステムと第二のネットワークシステムに分かれて設置されている場合であってもアプリケーションなどによって相互に通信を実行する必要がある。したがって、ステップ705において第二のネットワークシステムに移行したサーバの動作検証を実行する際には、移行対象となる複数のサーバのうち、ステップ703において第二のネットワークシステムに移行したサーバと、第二のネットワークシステムに移行しておらず第一のネットワークシステムにて実行されるサーバと、の間の通信が必要となる。具体的には、第二のネットワークシステムに移行したサーバのアプリケーションの動作検証により、パケットを生成し、第一のネットワークシステムに含まれ移行されてないサーバ又は、第二のネットワークシステムに既に移行されたサーバにパケットを発行する。
そこで、動作検証サーバ120のパケット送受信プログラム121がパケットを受信した場合、動作検証サーバ120のアドレス変換プログラム122は、移行したサーバが送受信するパケットに含まれるIPアドレスを、移行対象である複数のサーバを実行するシステムに応じて変換する。つまり、パケットの送信先サーバが未だに移行されておらず、第一のネットワークシステムに設置されている場合には、アドレス変換プログラム122によりパケットに含まれるアドレスを変更する。一方、パケットの送信先サーバが既に移行されており、第二のネットワークシステムに設置されている場合には、パケットに含まれるアドレスは変更されない。動作検証サーバのアドレス変換プログラム122により、移行対象の複数のサーバが第一のネットワークシステム100と第二のネットワークシステム110に分かれて実行する場合に、第二のネットワークシステムに移行したサーバの動作検証を実行する際、サーバ間の相互通信が可能とする。また、動作検証サーバ120は、前述のIPアドレス変換の実行に加え、パケットの内容を解析することにより前記サーバで実施された設定変更の正当性を検証する。このときのパケットの内容の正当性を検証する処理と、アドレス変換処理の詳細は図12に示す。動作検証の実行結果は、管理サーバの移行ログに格納される。
【0041】
ステップ706において、動作検証サーバ120の動作検証プログラム125は管理サーバ130を通し、移行ログ135を確認する。このとき、移行ログ135にステップ705で発生したエラーが記録されていない場合、続いてステップ707の処理を実行する。エラーが記録されている場合、ステップ704にて設定を修正し、再びステップ705を行う。ステップ704の再設定においては、移行作業者は移行ログ135を参照してエラー発生原因を特定し、サーバの設定を修正する。
【0042】
ステップ707において、サーバ設定管理プログラム131は、管理サーバ130の移行状況管理情報134を参照し、現在のサーバ移行状況502を確認する。移行対象の複数のサーバのうち、いまだ第一のネットワークシステムで実行するサーバがある場合、移行は完了していないため、ステップ703以降の作業を繰り返す。ステップ703の再実行においては、第一のネットワークシステム100で実行するサーバを、第二のネットワークシステムに移動する。移行対象の複数のサーバが全て第二のネットワークシステムで実行する場合、移行作業を終了する。
【0043】
このように、互いに通信を実行する複数のサーバを第一のネットワークシステム(第一のデータセンタ)からIPアドレス等のネットワーク環境の異なる第二のネットワークシステム(第二のデータセンタ)に移行する際に、複数のサーバの一部を移行して他のサーバとの通信も含めた動作確認を実行する。そして、動作確認後に移行されていないサーバを移行し、他のサーバとの通信も含めた動作確認を実行する。本実施例の移行方法により、互いに通信を実行する複数のサーバの移行時に段階的に動作確認することができ、エラー発生原因の特定が容易であるという効果を有する。
さらに、動作検証サーバ120にアドレス変換プログラム122を備えることにより、互いに通信を実行する複数のサーバの一部を第二のネットワークシステムに移行する場合であっても、異なるネットワークシステム環境で実行されるサーバの間の動作検証を実施することができるという効果を有する。
【0044】
次に、ステップ705の動作検証時に行うアドレス変換の詳細について説明する。以下、動作検証時に第二のネットワークシステム110に移行されたサーバが、第一のネットワークシステムで実行する移行されていないサーバに対してパケットを送信する場合を例に説明する。
図11は、実施例において、第二のネットワークシステム110に移行されたサーバが送信するパケット構成の一例を示す図である。パケット800は、移行対象となる複数のサーバ間で通信するためのパケットであって、宛先のサーバのMACアドレスを表す宛先MACアドレス804と、送信元サーバのMACアドレスを表す送信元MACアドレス805と、宛先のサーバのIPアドレスを表す宛先IPアドレス801と、送信元サーバのIPアドレスを表す送信元IPアドレス802と、パケット800のデータ803からなる。送信元サーバのMACアドレスを表す送信元MACアドレス805は、サーバからのパケット送信時に付与されるため正しいMACアドレスである。一方、宛先のサーバのMACアドレスを表す宛先MACアドレス804は、宛先のサーバのIPアドレスより求められる。第二のネットワークシステム110で実行される移行されたサーバが発行するパケットは、ステップ704にて実行される設定変更が正常に終了している場合には、図11のパケット800に示すように、宛先IPアドレス801として第一のネットワークシステム100で実行されているサーバの第二のIPアドレス192.168.0.12が、送信元IPアドレス802として第二のネットワークシステム110で実行するサーバの第二のIPアドレス192.168.0.11が記述される。
【0045】
一方、もし、サーバ移行に伴い、ステップ704にて実行されるOSやアプリケーション等のソフトウェアの設定変更が正常に終了していない場合には、パケット810に示すように、宛先IPアドレス811(又は、送信元IPアドレス812)が、移行先である第二のネットワークシステムにおいて使用されるIPアドレスではなく、移行元である第一のネットワークシステム100において使用される第一のIPアドレスとして設定され変更されていないパケットが発行される。
送信元サーバが実行する第二のネットワークシステム110には、サーバが発行するパケットの宛先IPアドレスに記述された第一のIPアドレスに対し、そのIPアドレスを持つサーバが存在しないため、サーバ間で通信ができない。
【0046】
そこで、動作検証サーバ120のパケット送受信プログラム121が、パケット800を受信した場合には、アドレス変換プログラム122が、パケットに記述された宛先IPアドレス192.168.0.12を、サーバが実行するシステムのIPアドレス10.0.0.102にする。そして、パケット送受信プログラム121が、変換されたパケットを第一のネットワークシステム100に向けて再送信する。これにより、異なるネットワークシステムに分かれて実行するサーバ102とサーバ103との間の通信を実現し、動作検証を可能とする。
【0047】
図12は、動作検証サーバ120における動作検証の処理の一例を示すフローチャートである。
【0048】
スイッチ101又はスイッチ141又はスイッチ151のポートミラーリング機能によりパケットが複製された場合に、操作検証サーバ120が複製されたパケットを受信して、下記の処理を開始する。
【0049】
ステップ901において、動作検証サーバ120のパケット送受信プログラム121が、第二のネットワークシステム110に移行したサーバの動作検証を実行するためのパケットを受信した場合には、アドレス変換プログラム122に引き渡す。
次に、ステップ902において、動作検証サーバ120のアドレス変換プログラム122は、パケット内の送信元IPアドレスと、宛先IPアドレスと、送信元MACアドレスを取得する。パケット800の場合には、送信元IPアドレスとして192.168.0.11を、宛先IPアドレスとして192.168.0.12を、送信元MACアドレスとして11:11:11:00:00:01を取得する。パケット810の場合には、送信元IPアドレスとして10.0.0.102を、宛先IPアドレスとして192.168.0.12を、送信元MACアドレスとして11:11:11:00:00:01を取得する。
【0050】
まず、ステップ903からステップ905において、パケット内の送信元IPアドレスが正しいか否かを判断し、間違っている場合には正しい送信元IPアドレスに修正する。
【0051】
ステップ903においては、アドレス変換プログラム122は、ステップ902で取得した送信元MACアドレスを元に、アドレス変換情報124を検索し、サーバの実行システムID304を取得する。なお、パケットの送信元サーバは第二のネットワークシステム110に属するため、サーバの実行システムID304は第二のネットワークシステムに関する。その後、アドレス変換プログラム122は、アドレス変換情報124から、実行システムID304を元にサーバが現在実行する第二のネットワークシステムで利用する第二のIPアドレスを取得する。
例えば、アドレス変換プログラム122は、送信元MACアドレスが11:11:11:00:00:01である場合、第二のネットワークシステムにおいて実行されているため、サーバ1の第二のIPアドレスである192.168.0.11を取得する。
【0052】
ここで、アドレス変換プログラム122は、取得したIPアドレスと、ステップ902で取得したパケット内の送信元IPアドレスを比較する。上述のように、送信元MACアドレスは、パケット送信時に付与されるサーバに一意な識別子であるため正しい。従って、送信元MACアドレスにより送信元IPアドレスが正しいか否かを判断する。
取得したIPアドレスと、ステップ902で取得したパケット内の送信元IPアドレスが同じ場合、送信元IPアドレスの設定は正しいため、ステップ903へ移る。
取得したIPアドレスと、ステップ902で取得したパケット内の送信元IPアドレスが違う場合、送信元IPアドレスの設定は間違いのため、ステップ904へ移る。
【0053】
上述の例でパケット800において、パケット内の送信元IPアドレスが10.0.0.101であった場合、本来ならば送信元IPアドレスは第二のIPアドレスの192.168.0.11でなければならず、設定に誤りがある。
つまり、ステップ903により、移行したサーバで実行するOS207やアプリケーション208の送信元IPアドレスに関する設定が第1のネットワークシステム100で使用されるIPアドレスから第2のネットワークシステム110で使用される正しいIPアドレスに変更されているか否かを確認することができる。
【0054】
ステップ904においては、アドレス変換プログラム122が、ログ記録プログラム123に対しエラー発生を通知する。通知するエラーの内容は、送信元IPアドレスが間違っていることである。通知を受領したログ記録プログラム123は、移行ログ125にエラー内容を書き込む。
【0055】
ステップ905においては、アドレス変換プログラム122は、アドレス変換情報124において、送信元MACアドレスを保持する行を検索し、正しい送信元IPアドレスを取得する。アドレス変換プログラム122は、パケット内の送信元IPアドレスを正しい送信元IPアドレスに修正する。ログ記録プログラム123は、移行ログ135に修正内容を書き込む。
【0056】
ステップ906からステップ908において、パケット内の宛先IPアドレスが正しいか否かを判断し、間違っている場合には正しい宛先IPアドレスに修正する。ここで、ステップ903からステップ905において、既に送信元IPアドレスは正しく設定されている。
【0057】
ステップ906において、動作検証サーバ120のアドレス変換プログラム122は、アドレス変換情報124において、ステップ902で取得した宛先IPアドレスに対応する欄を検索して、宛先IPアドレスが使用されるネットワークシステムを取得する。その後、送信元IPアドレスが使用されるネットワークシステムと、宛先IPアドレスが使用されるネットワークシステムを比較する。具体的には、送信元IPアドレスが使用されるシステムは、第二のネットワークシステムであるため、宛先IPアドレスが使用されるネットワークシステムが第二のネットワークシステムであるかを判断する。
移行時の設定が正しくされており、送信元と宛先のシステムが同じである場合は、エラー処理を行わずステップ909の処理を行う。
送信元と宛先のシステムが異なる場合は、移行時の設定に間違いがあったと判定し、ステップ907以降でエラー処理を行う。
例えばパケット810のように、宛先IPアドレスが第一のIPアドレス10.0.0.102であった場合、サーバ102は本来ならば第二のIPアドレスを利用しなければならないため、設定に問題があると言える。本ステップではこのようなエラーを検証する。
【0058】
つまり、ステップ906により、移行したサーバで実行するOS207やアプリケーション208の宛先IPアドレスに関する設定が第1のネットワークシステムで使用されるIPアドレスから第2のネットワークで使用されるIPアドレスに変更されているか否かを確認することができる。
【0059】
ステップ907において、アドレス変換プログラム122はログ記録プログラム123に対し、エラー発生を通知する。エラーの内容は、宛先IPアドレスが使用されるネットワークシステムが送信元IPアドレスが使用されるネットワークシステムと矛盾することを示すものである。ログ記録プログラム123は、管理サーバ130に接続し、移行ログ135にエラー内容を書き込む。その後、ステップ908の処理を実行する。
【0060】
ステップ908において、アドレス変換プログラム122は、アドレス変換情報124にてステップ906でエラーと判定した宛先IPアドレスを保持する行を検索して、正しい設定である、送信元IPアドレスと同じネットワークシステムのIPアドレスを取得する。その後、アドレス変換プログラム122は、パケット内の宛先IPアドレスを、アドレス変換情報124を検索して取得したIPアドレスに修正する。ログ記録プログラム123は、管理サーバ130に接続し、移行ログ135に修正内容を書き込む。宛先IPアドレス修正後、ステップ909の処理を実行する。例として、宛先IPアドレスが10.0.0.102であり、それが第一のIPアドレスであるためにエラーと判定された場合、アドレス変換情報124を用いて、宛先IPアドレスを第一のIPアドレスから第二のIPアドレス192.168.0.12へ修正する。
以上で、パケット内の送信元IPアドレスと宛先IPアドレスを正しいアドレスに修正し、移行したサーバで実行するOS207やアプリケーション208のIPアドレスに関する設定変更の誤り部分を、移行ログ135を元に特定することが容易になる。
【0061】
ステップ909において、アドレス変換プログラム122は、アドレス変換情報124にて宛先IPアドレスを保持する行を検索して、実行システムID304の欄から、宛先IPアドレスに対応するサーバが現在実行するネットワークシステムを取得する。その後、前記ネットワークシステムと、送信元IPアドレスが使用されるネットワークシステム(上述の例では第二のネットワークシステム)を比較し、送信元のサーバと宛先のサーバが同じネットワークシステムで実行しているか否かを確認する。
【0062】
比較の結果、両ネットワークシステムが同じである場合には、ステップ912の処理を実行する。
比較の結果、両ネットワークシステムが異なる場合、送信元サーバと宛先サーバの間で通信を行うためにはIPアドレス変換が必要であるため、続いてステップ910の処理を実行する。パケット800の場合では、送信元IPアドレス192.168.10.11に対応するサーバ102は第二のネットワークシステムで、宛先IPアドレス192.168.0.12に対応するサーバ103は第一のネットワークシステムで実行しているため、両システムは異なっている。
【0063】
ステップ910においては、アドレス変換プログラム122は、パケット内の送信元IPアドレスと宛先IPアドレスを、アドレス変換情報124に基づき、宛先サーバの稼動するネットワークシステムに対応したIPアドレスへ変換する。例の場合では、宛先IPアドレスを第二のIPアドレス192.168.0.12から第一のIPアドレス10.0.0.102に変換し、同様に送信元IPアドレスも192.168.0.11から10.0.0.101に変換する。アドレス変換の実行後、ステップ911の処理を実行する。
【0064】
ステップ912においては、ステップ905又はステップ908において、送信元IPアドレス又は宛先IPアドレスが修正されたか否かを判断する。
送信元IPアドレス又は宛先IPアドレスが修正されている場合には、宛先となるサーバが送信元のサーバと同じネットワークシステムで稼動していたとしても、パケットが正しく届いておらず破棄されている。したがって、送信元IPアドレス又は宛先IPアドレスを修正したパケットを再送する必要があるため、ステップ911の処理を実行する。
送信元IPアドレス又は宛先IPアドレスが修正されていない場合には、パケットが正しく届いているため処理を終了する。
【0065】
ステップ911において、アドレス変換プログラム122は、パケットをパケット送受信プログラム121に受け渡す。パケット送受信部121は、受け取った前記パケットから宛先IPアドレスを取得し、宛先IPアドレスに対して前記パケットの送信処理を実施する。これにより、一連の動作検証処理を終了する。
【0066】
以上のように、第一のネットワークシステムと第二のネットワークシステムの間に動作検証サーバ120を設置することにより、同時に移行するサーバの数を1つあるいは1つ以上の任意の数に制限しながら、移行作業を完了できる。
【0067】
以下、図10の動作検証が終了した後、検証環境を本番環境に切り替える処理について図13及び図14の例を説明する。
【0068】
図13は、本実施例における検証環境から本番環境への移行方法の一例を示すフローチャートである。図13の例では、サブシステム1 140が検証用サブシステムであり、サブシステム2 150が本番用サブシステムである。つまり、互いに通信を実行する複数のサーバを、第1のネットワークシステム100から第二のネットワークシステム110に移行する際には、まずサブシステム1 140に移行して動作検証を実行する。その後、動作検証が終了した後の互いに通信を実行する複数のサーバを、本番環境であるサブシステム2 150にコピーする。図13の方式では、本番環境にサーバを直接移行せず、検証環境を挟んで移行を行うことで、本番環境に与える影響を最小限にすることができる。
【0069】
図13に、第一のネットワークシステム100から第二のネットワークシステム110内の検証用サブシステム140へ移行が完了し動作検証を実行した後、本番用サブシステム150へサーバをコピーする手順を示す。コピーを行う場合、検証用サブシステム140内に本番用と同じサーバが残るため、残ったサーバを本番用サブシステムにおいて障害が発生した時の予備として使用することができる。
【0070】
ステップ1401において、管理サーバ130の本番環境移行プログラム136は、本番用サブシステム2 150内のサーバ152、153が、管理サーバ130とのみ通信を行えるよう、コアスイッチ111とスイッチ151に対して設定を行う。
ステップ1402において、管理サーバ130の本番環境移行プログラム136は、移行対象の全てのサーバを検証用サブシステム140から本番用サブシステム150へコピーする。このとき、検証用サブシステム140内の移行対象のサーバ142、143を構成するファイルを、ネットワーク経由で管理サーバ130に送信する。その後、管理サーバに保存されたファイルを本番用サブシステム150内のサーバ152、153へ送信し、サーバのディスクに保存する。
【0071】
ステップ1403において、管理サーバ130の本番環境移行プログラム136は、検証用サブシステム140内のサーバ142、143が、他のサーバと通信を行えないよう、コアスイッチ111とスイッチ141に対して設定を行う。
ステップ1404において、管理サーバ130の本番環境移行プログラム136は、本番用サブシステム150内のサーバ152、153が、任意のサーバと通信を行えるよう、コアスイッチ111とスイッチ151に対して設定を行う。
サーバを検証環境から本番環境へコピーする場合には、同一のサーバが複数存在するため、常に一方のサブシステムをネットワークから遮断しておく必要がある。
【0072】
図14は、本実施例における検証環境から本番環境への移行方法の一例を示すフローチャートである。図14の例では、サブシステム1 140が検証用サブシステムであり、サブシステム2 150が本番用サブシステムである。つまり、互いに通信を実行する複数のサーバを、第1のネットワークシステム100から第二のネットワークシステム110に移行する際には、まずサブシステム1 140に移行して動作検証を実行する。その後、動作検証が終了した後の互いに通信を実行する複数のサーバを、本番環境であるサブシステム2に移動する。移動する際には、サブシステム1内のデータを削除する。
【0073】
ステップ1501において、管理サーバ130の本番環境移行プログラム136は、本番用サブシステム150内のサーバ152、153が、管理サーバ130と検証用サブシステム140内のサーバ142、143を含む任意のサーバと通信を行えるよう、コアスイッチ111とスイッチ151とスイッチ141に対して設定を行う。
【0074】
ステップ1502において、管理サーバ130の本番環境移行プログラム136は、移行対象のすべてのサーバを検証用サブシステム140から本番用サブシステム150へ移動する。このとき、検証用サブシステム140内の移行対象のサーバ142、143を構成するファイルを、ネットワーク経由で本番用サブシステム150内のサーバ152、153へ送信し、サーバのディスクに保存する。
【0075】
ステップ1503において、管理サーバ130の本番環境移行プログラム136は、検証用サブシステム140内のサーバ142、143が、他のサーバと通信を行えないよう、コアスイッチ111とスイッチ141に対して設定を行う。
【0076】
さらに図13と図14以外の例では、サブシステム1 140の設定を検証用サブシステムの設定から本番用サブシステムへ設定変更することもできる。つまり、互いに通信を実行する複数のサーバを、第1のネットワークシステムから第二のネットワークシステムに移行する際には、まず検証用サブシステムとして設定されたサブシステム1に移行して動作検証を実行する。その後、サブシステム1の設定を本番用サブシステムの設定へ変更する。本方式では、サブシステムの設定を変更するだけで、容易に移行対象のサーバを使用し始めることができるという効果を有する。
【符号の説明】
【0077】
100 第一のネットワークシステム、101 スイッチ、102及び104 物理サーバ、110 第二のネットワークシステム、111 コアスイッチ、120 動作検証サーバ、130 管理サーバ、140及び150 サブシステム、141及び151 スイッチ、142、143、152、153 物理サーバ、200 計算機、201 プロセッサ、202 メモリ、203 ネットワークアダプタ、204 ディスクアダプタ、205 入出力装置、206 システムバス
【特許請求の範囲】
【請求項1】
外部システムに含まれる第1の物理サーバによって提供される互いに通信を実行する複数の仮想サーバを、前記外部システムにネットワークを介して接続し第2の物理サーバを含むシステムに移行する際の動作検証方法であって、
前記互いに通信を実行する複数の仮想サーバの一部である第1の仮想サーバを前記システムに含まれる前記第2の物理サーバに移行し、
前記第1の仮想サーバにより実行される第1のソフトウェアの設定を変更し、
前記システムに含まれる前記第2の物理サーバへ移行された前記第1の仮想サーバから、前記外部システムの前記第1の物理サーバにより提供され前記互いに通信を実行する複数の仮想サーバの一部である第2の仮想サーバへ第1のパケットを発行し、
前記第1のパケットを確認することにより前記第1のソフトウェアの設定の変更に誤りがないかを判断する、
ことを特徴とする動作検証方法。
【請求項2】
請求項1に記載の動作検証方法であって、前記第1のソフトウェアの設定変更に誤りがないかを判断した後、さらに、
前記第2の仮想サーバを前記システムに含まれる前記第2の物理サーバに移行し、
前記第2の仮想サーバにより実行される第2のソフトウェアの設定を変更し、
前記システムに含まれる前記第2の物理サーバへ移行された前記第2の仮想サーバから、前記システムに含まれる前記第2の物理サーバへ既に移行されている前記第1の仮想サーバへ第2のパケットを発行し、
前記第2のパケットを確認することにより前記第2のソフトウェアの設定の変更に誤りがないかを判断する、
ことを特徴とする動作検証方法。
【請求項3】
請求項2に記載の動作検証方法であって、
前記外部システムにて前記複数の仮想サーバを認識する第1のアドレスと、前記システムにて前記複数の仮想サーバを認識するための第2のアドレスと、は異なり、
前記第1の仮想サーバにより実行される前記第1のソフトウェアの設定を変更する際に、前記第1のソフトウェアにおける前記複数の仮想サーバを認識するアドレスを、前記第1のアドレスから前記第2のアドレスに変更する、ことを特徴とする動作検証方法。
【請求項4】
請求項3に記載の動作検証方法であって、
前記第2の仮想サーバにより実行される前記第2のソフトウェアの設定を変更する際に、前記第2のソフトウェアにおける前記複数の仮想サーバを認識するアドレスを、前記第1のアドレスから前記第2のアドレスに変更する、ことを特徴とする動作検証方法。
【請求項5】
請求項4に記載の動作検証方法であって、
前記第1のアドレスは第1のIPアドレスであり、前記第2のアドレスは第2のIPアドレスである、ことを特徴とする動作検証方法。
【請求項6】
請求項5に記載の動作検証方法であって、
前記第1のパケットは、前記第1の仮想サーバのMACアドレスと、前記第1の仮想サーバのIPアドレスと、前記第2の仮想サーバのIPアドレスと、を含み、
前記第1のパケットを確認することにより前記第1のソフトウェアの設定の変更に誤りがないかを判断する際に、
前記第1のパケットに含まれる前記MACアドレスをもとに前記第1の仮想サーバの前記第1のIPアドレスを取得し、
前記取得した前記第1の仮想サーバの前記第1のIPアドレスと、前記第1のパケットに含まれる前記第1の仮想サーバのIPアドレスとが同じ場合には、前記第1のソフトウェアの設定の変更に誤りがないと判断する、ことを特徴とする動作検証方法。
【請求項7】
請求項6に記載の動作検証方法であって、
前記取得した前記第1の仮想サーバの前記第1のIPアドレスと、前記第1のパケットに含まれる前記第1の仮想サーバのIPアドレスとが異なる場合には、前記第1のソフトウェアの設定の変更に誤りがあると判断する、ことを特徴とする動作検証方法。
【請求項8】
請求項7に記載の動作検証方法であって、
前記第1のソフトウェアの設定の変更に誤りがあると判断した場合には、
前記第1のソフトウェアの設定に誤りがある旨を記録し、
前記第1のパケットに含まれる前記第1の仮想サーバのIPアドレスを、前記取得した前記第1の仮想サーバの前記第1のIPアドレスに書き換える、ことを特徴とする動作検証方法。
【請求項9】
請求項8に記載の動作検証方法であって、
前記第1のパケットを確認することにより前記第1のソフトウェアの設定の変更に誤りがないかを判断する際に、さらに、
前記第1のパケットに含まれる、前記第1の仮想サーバのIPアドレスが使用されるシステムと、前記第2の仮想サーバのIPアドレスが使用されるシステムと、を比較し、
前記第1の仮想サーバのIPアドレスが使用されるシステムと、前記第2の仮想サーバのIPアドレスが使用されるシステムと、が同じである場合には、前記第1のソフトウェアの設定の変更に誤りがないと判断する、ことを特徴とする動作検証方法。
【請求項10】
請求項9に記載の動作検証方法であって、
前記第1の仮想サーバのIPアドレスが使用されるシステムと、前記第2の仮想サーバのIPアドレスが使用されるシステムと、が異なる場合には、前記第1のソフトウェアの設定の変更に誤りがあると判断する、ことを特徴とする動作検証方法。
【請求項11】
請求項10に記載の動作検証方法であって、
前記第1のソフトウェアの設定の変更に誤りがあると判断した場合には、
前記第1のソフトウェアの設定に誤りがある旨を記録し、
前記第1のパケットに含まれる前記第2の仮想サーバのIPアドレスを、前記第1の仮想サーバのIPアドレスが使用されるシステムと同じシステムで使用されるIPアドレスに書き換える、ことを特徴とする動作検証方法。
【請求項12】
請求項11に記載の動作検証方法であって、
前記第1のパケットを確認することにより前記第1のソフトウェアの設定の変更に誤りがないかを判断した後に、
前記第1のパケットに含まれる、前記第1の仮想サーバが実行されるシステムと、前記第2の仮想サーバが実行されるシステムと、を比較し、
前記第1の仮想サーバが実行されるシステムと、前記第2の仮想サーバが実行されるシステムと、が異なる場合には、
前記第1のパケットに含まれる、前記第1の仮想サーバのIPアドレスと、前記第2の仮想サーバのIPアドレスと、を前記第2のIPアドレスに変更し、
前記第1のパケットを前記第2の仮想サーバに対しパケットを送信する、ことを特徴とする動作検証方法。
【請求項13】
請求項12に記載の動作検証方法であって、
前記第1のパケットに含まれる、前記第1の仮想サーバが実行されるシステムと、前記第2の仮想サーバが実行されるシステムと、が同じである場合には、
前記第1のパケットに含まれる、前記第1の仮想サーバのIPアドレス又は前記第2の仮想サーバのIPアドレスが書き換えられたか否かを確認し、
前記第1の仮想サーバのIPアドレス又は前記第2の仮想サーバのIPアドレスが書き換えられた場合には、前記第2の仮想サーバに対しパケットを送信する、ことを特徴とする動作検証方法。
【請求項14】
請求項11に記載の動作検証方法であって、
前記システムは、さらに前記第2の物理サーバと第1のスイッチを含む検証用サブシステムと、第3のサーバと第2のスイッチを含む本番用サブシステムと、を含み、
前記第2のパケットを確認することにより前記第2のソフトウェアの設定の変更に誤りがないかを判断した後、さらに、
前記移行された複数の仮想サーバを、前記第2の物理サーバから前記第3の物理サーバにコピーし、前記検証用サブシステムの前記第1のスイッチを遮断し、前記本番用サブシステムの前記第2のスイッチを接続する、ことを特徴とする動作検証方法。
【請求項15】
請求項11に記載の動作検証方法であって、
前記システムは、さらに前記第2の物理サーバとスイッチを含むサブシステムを含み、
前記第2のパケットを確認することにより前記第2のソフトウェアの設定の変更に誤りがないかを判断した後、さらに、
前記サブシステムを本番用サブシステムとするために、前記スイッチの設定を変更する、ことを特徴とする動作検証方法。
【請求項16】
互いに通信を実行する複数の仮想サーバを提供する第1の物理サーバを含む外部システムとネットワークを介して接続するシステムであって、
第2の物理サーバと、
前記第2の物理サーバに接続する動作検証サーバと、
前記第2の物理サーバに接続する管理サーバと、を含み、
前記管理サーバ又は前記動作検証サーバは、前記互いに通信を実行する複数の仮想サーバの一部である第1の仮想サーバを前記第1の物理サーバから前記システムに含まれる前記第2の物理サーバに移行する指示を出し、
前記管理サーバは、前記第2の物理サーバに移行された前記第1の仮想サーバにより実行される第1のソフトウェアの設定を変更し、
前記動作検証サーバは、前記システムに含まれる前記第2の物理サーバへ移行された前記第1の仮想サーバに、前記外部システムの前記第1の物理サーバにより提供され前記互いに通信を実行する複数の仮想サーバの一部である第2の仮想サーバへ第1のパケットを発行する指示を出し、
前記動作検証サーバは、前記第1のパケットを確認することにより前記第1のソフトウェアの設定の変更に誤りがないかを判断する、ことを特徴とするシステム。
【請求項17】
請求項16に記載のシステムであって、
前記動作検証サーバが前記第1のソフトウェアの設定変更に誤りがないかを判断した後、
前記管理サーバ又は前記動作検証サーバは、前記第2の仮想サーバを前記システムに含まれる前記第2の物理サーバに移行する指示を出し、
前記管理サーバは、前記第2の物理サーバに移行された前記第2の仮想サーバにより実行される第2のソフトウェアの設定を変更し、
前記動作検証サーバは、前記システムに含まれる前記第2の物理サーバへ移行された前記第2の仮想サーバへ、前記システムに含まれる前記第2の物理サーバへ既に移行されている前記第1の仮想サーバへ第2のパケットを発行する指示を出し、
前記動作検証サーバは、前記第2のパケットを確認することにより前記第2のソフトウェアの設定の変更に誤りがないかを判断する、ことを特徴とするシステム。
【請求項1】
外部システムに含まれる第1の物理サーバによって提供される互いに通信を実行する複数の仮想サーバを、前記外部システムにネットワークを介して接続し第2の物理サーバを含むシステムに移行する際の動作検証方法であって、
前記互いに通信を実行する複数の仮想サーバの一部である第1の仮想サーバを前記システムに含まれる前記第2の物理サーバに移行し、
前記第1の仮想サーバにより実行される第1のソフトウェアの設定を変更し、
前記システムに含まれる前記第2の物理サーバへ移行された前記第1の仮想サーバから、前記外部システムの前記第1の物理サーバにより提供され前記互いに通信を実行する複数の仮想サーバの一部である第2の仮想サーバへ第1のパケットを発行し、
前記第1のパケットを確認することにより前記第1のソフトウェアの設定の変更に誤りがないかを判断する、
ことを特徴とする動作検証方法。
【請求項2】
請求項1に記載の動作検証方法であって、前記第1のソフトウェアの設定変更に誤りがないかを判断した後、さらに、
前記第2の仮想サーバを前記システムに含まれる前記第2の物理サーバに移行し、
前記第2の仮想サーバにより実行される第2のソフトウェアの設定を変更し、
前記システムに含まれる前記第2の物理サーバへ移行された前記第2の仮想サーバから、前記システムに含まれる前記第2の物理サーバへ既に移行されている前記第1の仮想サーバへ第2のパケットを発行し、
前記第2のパケットを確認することにより前記第2のソフトウェアの設定の変更に誤りがないかを判断する、
ことを特徴とする動作検証方法。
【請求項3】
請求項2に記載の動作検証方法であって、
前記外部システムにて前記複数の仮想サーバを認識する第1のアドレスと、前記システムにて前記複数の仮想サーバを認識するための第2のアドレスと、は異なり、
前記第1の仮想サーバにより実行される前記第1のソフトウェアの設定を変更する際に、前記第1のソフトウェアにおける前記複数の仮想サーバを認識するアドレスを、前記第1のアドレスから前記第2のアドレスに変更する、ことを特徴とする動作検証方法。
【請求項4】
請求項3に記載の動作検証方法であって、
前記第2の仮想サーバにより実行される前記第2のソフトウェアの設定を変更する際に、前記第2のソフトウェアにおける前記複数の仮想サーバを認識するアドレスを、前記第1のアドレスから前記第2のアドレスに変更する、ことを特徴とする動作検証方法。
【請求項5】
請求項4に記載の動作検証方法であって、
前記第1のアドレスは第1のIPアドレスであり、前記第2のアドレスは第2のIPアドレスである、ことを特徴とする動作検証方法。
【請求項6】
請求項5に記載の動作検証方法であって、
前記第1のパケットは、前記第1の仮想サーバのMACアドレスと、前記第1の仮想サーバのIPアドレスと、前記第2の仮想サーバのIPアドレスと、を含み、
前記第1のパケットを確認することにより前記第1のソフトウェアの設定の変更に誤りがないかを判断する際に、
前記第1のパケットに含まれる前記MACアドレスをもとに前記第1の仮想サーバの前記第1のIPアドレスを取得し、
前記取得した前記第1の仮想サーバの前記第1のIPアドレスと、前記第1のパケットに含まれる前記第1の仮想サーバのIPアドレスとが同じ場合には、前記第1のソフトウェアの設定の変更に誤りがないと判断する、ことを特徴とする動作検証方法。
【請求項7】
請求項6に記載の動作検証方法であって、
前記取得した前記第1の仮想サーバの前記第1のIPアドレスと、前記第1のパケットに含まれる前記第1の仮想サーバのIPアドレスとが異なる場合には、前記第1のソフトウェアの設定の変更に誤りがあると判断する、ことを特徴とする動作検証方法。
【請求項8】
請求項7に記載の動作検証方法であって、
前記第1のソフトウェアの設定の変更に誤りがあると判断した場合には、
前記第1のソフトウェアの設定に誤りがある旨を記録し、
前記第1のパケットに含まれる前記第1の仮想サーバのIPアドレスを、前記取得した前記第1の仮想サーバの前記第1のIPアドレスに書き換える、ことを特徴とする動作検証方法。
【請求項9】
請求項8に記載の動作検証方法であって、
前記第1のパケットを確認することにより前記第1のソフトウェアの設定の変更に誤りがないかを判断する際に、さらに、
前記第1のパケットに含まれる、前記第1の仮想サーバのIPアドレスが使用されるシステムと、前記第2の仮想サーバのIPアドレスが使用されるシステムと、を比較し、
前記第1の仮想サーバのIPアドレスが使用されるシステムと、前記第2の仮想サーバのIPアドレスが使用されるシステムと、が同じである場合には、前記第1のソフトウェアの設定の変更に誤りがないと判断する、ことを特徴とする動作検証方法。
【請求項10】
請求項9に記載の動作検証方法であって、
前記第1の仮想サーバのIPアドレスが使用されるシステムと、前記第2の仮想サーバのIPアドレスが使用されるシステムと、が異なる場合には、前記第1のソフトウェアの設定の変更に誤りがあると判断する、ことを特徴とする動作検証方法。
【請求項11】
請求項10に記載の動作検証方法であって、
前記第1のソフトウェアの設定の変更に誤りがあると判断した場合には、
前記第1のソフトウェアの設定に誤りがある旨を記録し、
前記第1のパケットに含まれる前記第2の仮想サーバのIPアドレスを、前記第1の仮想サーバのIPアドレスが使用されるシステムと同じシステムで使用されるIPアドレスに書き換える、ことを特徴とする動作検証方法。
【請求項12】
請求項11に記載の動作検証方法であって、
前記第1のパケットを確認することにより前記第1のソフトウェアの設定の変更に誤りがないかを判断した後に、
前記第1のパケットに含まれる、前記第1の仮想サーバが実行されるシステムと、前記第2の仮想サーバが実行されるシステムと、を比較し、
前記第1の仮想サーバが実行されるシステムと、前記第2の仮想サーバが実行されるシステムと、が異なる場合には、
前記第1のパケットに含まれる、前記第1の仮想サーバのIPアドレスと、前記第2の仮想サーバのIPアドレスと、を前記第2のIPアドレスに変更し、
前記第1のパケットを前記第2の仮想サーバに対しパケットを送信する、ことを特徴とする動作検証方法。
【請求項13】
請求項12に記載の動作検証方法であって、
前記第1のパケットに含まれる、前記第1の仮想サーバが実行されるシステムと、前記第2の仮想サーバが実行されるシステムと、が同じである場合には、
前記第1のパケットに含まれる、前記第1の仮想サーバのIPアドレス又は前記第2の仮想サーバのIPアドレスが書き換えられたか否かを確認し、
前記第1の仮想サーバのIPアドレス又は前記第2の仮想サーバのIPアドレスが書き換えられた場合には、前記第2の仮想サーバに対しパケットを送信する、ことを特徴とする動作検証方法。
【請求項14】
請求項11に記載の動作検証方法であって、
前記システムは、さらに前記第2の物理サーバと第1のスイッチを含む検証用サブシステムと、第3のサーバと第2のスイッチを含む本番用サブシステムと、を含み、
前記第2のパケットを確認することにより前記第2のソフトウェアの設定の変更に誤りがないかを判断した後、さらに、
前記移行された複数の仮想サーバを、前記第2の物理サーバから前記第3の物理サーバにコピーし、前記検証用サブシステムの前記第1のスイッチを遮断し、前記本番用サブシステムの前記第2のスイッチを接続する、ことを特徴とする動作検証方法。
【請求項15】
請求項11に記載の動作検証方法であって、
前記システムは、さらに前記第2の物理サーバとスイッチを含むサブシステムを含み、
前記第2のパケットを確認することにより前記第2のソフトウェアの設定の変更に誤りがないかを判断した後、さらに、
前記サブシステムを本番用サブシステムとするために、前記スイッチの設定を変更する、ことを特徴とする動作検証方法。
【請求項16】
互いに通信を実行する複数の仮想サーバを提供する第1の物理サーバを含む外部システムとネットワークを介して接続するシステムであって、
第2の物理サーバと、
前記第2の物理サーバに接続する動作検証サーバと、
前記第2の物理サーバに接続する管理サーバと、を含み、
前記管理サーバ又は前記動作検証サーバは、前記互いに通信を実行する複数の仮想サーバの一部である第1の仮想サーバを前記第1の物理サーバから前記システムに含まれる前記第2の物理サーバに移行する指示を出し、
前記管理サーバは、前記第2の物理サーバに移行された前記第1の仮想サーバにより実行される第1のソフトウェアの設定を変更し、
前記動作検証サーバは、前記システムに含まれる前記第2の物理サーバへ移行された前記第1の仮想サーバに、前記外部システムの前記第1の物理サーバにより提供され前記互いに通信を実行する複数の仮想サーバの一部である第2の仮想サーバへ第1のパケットを発行する指示を出し、
前記動作検証サーバは、前記第1のパケットを確認することにより前記第1のソフトウェアの設定の変更に誤りがないかを判断する、ことを特徴とするシステム。
【請求項17】
請求項16に記載のシステムであって、
前記動作検証サーバが前記第1のソフトウェアの設定変更に誤りがないかを判断した後、
前記管理サーバ又は前記動作検証サーバは、前記第2の仮想サーバを前記システムに含まれる前記第2の物理サーバに移行する指示を出し、
前記管理サーバは、前記第2の物理サーバに移行された前記第2の仮想サーバにより実行される第2のソフトウェアの設定を変更し、
前記動作検証サーバは、前記システムに含まれる前記第2の物理サーバへ移行された前記第2の仮想サーバへ、前記システムに含まれる前記第2の物理サーバへ既に移行されている前記第1の仮想サーバへ第2のパケットを発行する指示を出し、
前記動作検証サーバは、前記第2のパケットを確認することにより前記第2のソフトウェアの設定の変更に誤りがないかを判断する、ことを特徴とするシステム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【公開番号】特開2011−192098(P2011−192098A)
【公開日】平成23年9月29日(2011.9.29)
【国際特許分類】
【出願番号】特願2010−58619(P2010−58619)
【出願日】平成22年3月16日(2010.3.16)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】
【公開日】平成23年9月29日(2011.9.29)
【国際特許分類】
【出願日】平成22年3月16日(2010.3.16)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】
[ Back to top ]