(57)【要約】【課題】  複数サーバを第一のネットワークシステムから第二のネットワークシステムへ移行すると、動作検証におけるエラー原因の特定が煩雑である。【解決手段】  本発明は、外部システムに含まれる第１の物理サーバによって提供される互いに通信を実行する複数の仮想サーバを、外部システムにネットワークを介して接続し第２の物理サーバを含むシステムに移行する際の動作検証方法であって、複数の仮想サーバの一部である第１の仮想サーバを第２の物理サーバに移行し、移行された第１の仮想サーバにより実行される第１のソフトウェアの設定を変更し、第２の物理サーバへ移行された第１の仮想サーバから、複数の仮想サーバの一部である第２の仮想サーバへ第１のパケットを発行し、第１のパケットを確認することにより第１のソフトウェアの設定の変更に誤りがないかを判断する、ことを特徴とする動作検証方法である。【選択図】  図１
2011192098.tif 000002
【特許請求の範囲】
【請求項１】
外部システムに含まれる第１の物理サーバによって提供される互いに通信を実行する複数の仮想サーバを、前記外部システムにネットワークを介して接続し第２の物理サーバを含むシステムに移行する際の動作検証方法であって、
前記互いに通信を実行する複数の仮想サーバの一部である第１の仮想サーバを前記システムに含まれる前記第２の物理サーバに移行し、
前記第１の仮想サーバにより実行される第１のソフトウェアの設定を変更し、
前記システムに含まれる前記第２の物理サーバへ移行された前記第１の仮想サーバから、前記外部システムの前記第１の物理サーバにより提供され前記互いに通信を実行する複数の仮想サーバの一部である第２の仮想サーバへ第１のパケットを発行し、
前記第１のパケットを確認することにより前記第１のソフトウェアの設定の変更に誤りがないかを判断する、
ことを特徴とする動作検証方法。
【請求項２】
請求項１に記載の動作検証方法であって、前記第１のソフトウェアの設定変更に誤りがないかを判断した後、さらに、
前記第２の仮想サーバを前記システムに含まれる前記第２の物理サーバに移行し、
前記第２の仮想サーバにより実行される第２のソフトウェアの設定を変更し、
前記システムに含まれる前記第２の物理サーバへ移行された前記第２の仮想サーバから、前記システムに含まれる前記第２の物理サーバへ既に移行されている前記第１の仮想サーバへ第２のパケットを発行し、
前記第２のパケットを確認することにより前記第２のソフトウェアの設定の変更に誤りがないかを判断する、
ことを特徴とする動作検証方法。
【請求項３】
請求項２に記載の動作検証方法であって、
前記外部システムにて前記複数の仮想サーバを認識する第１のアドレスと、前記システムにて前記複数の仮想サーバを認識するための第２のアドレスと、は異なり、
前記第１の仮想サーバにより実行される前記第１のソフトウェアの設定を変更する際に、前記第１のソフトウェアにおける前記複数の仮想サーバを認識するアドレスを、前記第１のアドレスから前記第２のアドレスに変更する、ことを特徴とする動作検証方法。
【請求項４】
請求項３に記載の動作検証方法であって、
前記第２の仮想サーバにより実行される前記第２のソフトウェアの設定を変更する際に、前記第２のソフトウェアにおける前記複数の仮想サーバを認識するアドレスを、前記第１のアドレスから前記第２のアドレスに変更する、ことを特徴とする動作検証方法。
【請求項５】
請求項４に記載の動作検証方法であって、
前記第１のアドレスは第１のＩＰアドレスであり、前記第２のアドレスは第２のＩＰアドレスである、ことを特徴とする動作検証方法。
【請求項６】
請求項５に記載の動作検証方法であって、
前記第１のパケットは、前記第１の仮想サーバのＭＡＣアドレスと、前記第１の仮想サーバのＩＰアドレスと、前記第２の仮想サーバのＩＰアドレスと、を含み、
前記第１のパケットを確認することにより前記第１のソフトウェアの設定の変更に誤りがないかを判断する際に、
前記第１のパケットに含まれる前記ＭＡＣアドレスをもとに前記第１の仮想サーバの前記第１のＩＰアドレスを取得し、
前記取得した前記第１の仮想サーバの前記第１のＩＰアドレスと、前記第１のパケットに含まれる前記第１の仮想サーバのＩＰアドレスとが同じ場合には、前記第１のソフトウェアの設定の変更に誤りがないと判断する、ことを特徴とする動作検証方法。
【請求項７】
請求項６に記載の動作検証方法であって、
前記取得した前記第１の仮想サーバの前記第１のＩＰアドレスと、前記第１のパケットに含まれる前記第１の仮想サーバのＩＰアドレスとが異なる場合には、前記第１のソフトウェアの設定の変更に誤りがあると判断する、ことを特徴とする動作検証方法。
【請求項８】
請求項７に記載の動作検証方法であって、
前記第１のソフトウェアの設定の変更に誤りがあると判断した場合には、
前記第１のソフトウェアの設定に誤りがある旨を記録し、
前記第１のパケットに含まれる前記第１の仮想サーバのＩＰアドレスを、前記取得した前記第１の仮想サーバの前記第１のＩＰアドレスに書き換える、ことを特徴とする動作検証方法。
【請求項９】
請求項８に記載の動作検証方法であって、
前記第１のパケットを確認することにより前記第１のソフトウェアの設定の変更に誤りがないかを判断する際に、さらに、
前記第１のパケットに含まれる、前記第１の仮想サーバのＩＰアドレスが使用されるシステムと、前記第２の仮想サーバのＩＰアドレスが使用されるシステムと、を比較し、
前記第１の仮想サーバのＩＰアドレスが使用されるシステムと、前記第２の仮想サーバのＩＰアドレスが使用されるシステムと、が同じである場合には、前記第１のソフトウェアの設定の変更に誤りがないと判断する、ことを特徴とする動作検証方法。
【請求項１０】
請求項９に記載の動作検証方法であって、
前記第１の仮想サーバのＩＰアドレスが使用されるシステムと、前記第２の仮想サーバのＩＰアドレスが使用されるシステムと、が異なる場合には、前記第１のソフトウェアの設定の変更に誤りがあると判断する、ことを特徴とする動作検証方法。
【請求項１１】
請求項１０に記載の動作検証方法であって、
前記第１のソフトウェアの設定の変更に誤りがあると判断した場合には、
前記第１のソフトウェアの設定に誤りがある旨を記録し、
前記第１のパケットに含まれる前記第２の仮想サーバのＩＰアドレスを、前記第１の仮想サーバのＩＰアドレスが使用されるシステムと同じシステムで使用されるＩＰアドレスに書き換える、ことを特徴とする動作検証方法。
【請求項１２】
請求項１１に記載の動作検証方法であって、
前記第１のパケットを確認することにより前記第１のソフトウェアの設定の変更に誤りがないかを判断した後に、
前記第１のパケットに含まれる、前記第１の仮想サーバが実行されるシステムと、前記第２の仮想サーバが実行されるシステムと、を比較し、
前記第１の仮想サーバが実行されるシステムと、前記第２の仮想サーバが実行されるシステムと、が異なる場合には、
前記第１のパケットに含まれる、前記第１の仮想サーバのＩＰアドレスと、前記第２の仮想サーバのＩＰアドレスと、を前記第２のＩＰアドレスに変更し、
前記第１のパケットを前記第２の仮想サーバに対しパケットを送信する、ことを特徴とする動作検証方法。
【請求項１３】
請求項１２に記載の動作検証方法であって、
前記第１のパケットに含まれる、前記第１の仮想サーバが実行されるシステムと、前記第２の仮想サーバが実行されるシステムと、が同じである場合には、
前記第１のパケットに含まれる、前記第１の仮想サーバのＩＰアドレス又は前記第２の仮想サーバのＩＰアドレスが書き換えられたか否かを確認し、
前記第１の仮想サーバのＩＰアドレス又は前記第２の仮想サーバのＩＰアドレスが書き換えられた場合には、前記第２の仮想サーバに対しパケットを送信する、ことを特徴とする動作検証方法。
【請求項１４】
請求項１１に記載の動作検証方法であって、
前記システムは、さらに前記第２の物理サーバと第１のスイッチを含む検証用サブシステムと、第３のサーバと第２のスイッチを含む本番用サブシステムと、を含み、
前記第２のパケットを確認することにより前記第２のソフトウェアの設定の変更に誤りがないかを判断した後、さらに、
前記移行された複数の仮想サーバを、前記第２の物理サーバから前記第３の物理サーバにコピーし、前記検証用サブシステムの前記第１のスイッチを遮断し、前記本番用サブシステムの前記第２のスイッチを接続する、ことを特徴とする動作検証方法。
【請求項１５】
請求項１１に記載の動作検証方法であって、
前記システムは、さらに前記第２の物理サーバとスイッチを含むサブシステムを含み、
前記第２のパケットを確認することにより前記第２のソフトウェアの設定の変更に誤りがないかを判断した後、さらに、
前記サブシステムを本番用サブシステムとするために、前記スイッチの設定を変更する、ことを特徴とする動作検証方法。
【請求項１６】
互いに通信を実行する複数の仮想サーバを提供する第１の物理サーバを含む外部システムとネットワークを介して接続するシステムであって、
第２の物理サーバと、
前記第２の物理サーバに接続する動作検証サーバと、
前記第２の物理サーバに接続する管理サーバと、を含み、
前記管理サーバ又は前記動作検証サーバは、前記互いに通信を実行する複数の仮想サーバの一部である第１の仮想サーバを前記第１の物理サーバから前記システムに含まれる前記第２の物理サーバに移行する指示を出し、
前記管理サーバは、前記第２の物理サーバに移行された前記第１の仮想サーバにより実行される第１のソフトウェアの設定を変更し、
前記動作検証サーバは、前記システムに含まれる前記第２の物理サーバへ移行された前記第１の仮想サーバに、前記外部システムの前記第１の物理サーバにより提供され前記互いに通信を実行する複数の仮想サーバの一部である第２の仮想サーバへ第１のパケットを発行する指示を出し、
前記動作検証サーバは、前記第１のパケットを確認することにより前記第１のソフトウェアの設定の変更に誤りがないかを判断する、ことを特徴とするシステム。
【請求項１７】
請求項１６に記載のシステムであって、
前記動作検証サーバが前記第１のソフトウェアの設定変更に誤りがないかを判断した後、
前記管理サーバ又は前記動作検証サーバは、前記第２の仮想サーバを前記システムに含まれる前記第２の物理サーバに移行する指示を出し、
前記管理サーバは、前記第２の物理サーバに移行された前記第２の仮想サーバにより実行される第２のソフトウェアの設定を変更し、
前記動作検証サーバは、前記システムに含まれる前記第２の物理サーバへ移行された前記第２の仮想サーバへ、前記システムに含まれる前記第２の物理サーバへ既に移行されている前記第１の仮想サーバへ第２のパケットを発行する指示を出し、
前記動作検証サーバは、前記第２のパケットを確認することにより前記第２のソフトウェアの設定の変更に誤りがないかを判断する、ことを特徴とするシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバを環境の異なるシステムに移行する際の動作検証方法及びサーバの動作検証を実行するサーバの移行先システムに関する。
【背景技術】
【０００２】
ハードウェアの保守期限切れや、機器コスト、運用コスト最適化などの理由により、情報システムを構成する複数のサーバを、現在稼働中のシステム（例えば、データセンタ）から環境の異なるシステム（例えば、他のデータセンタ）へ移行する場合がある。サーバの移行先は同じ組織のデータセンタであるとは限らない。例えば、ホスティングサービスやクラウドコンピューティングなどの利用により、外部のデータセンタにサーバを置いて基盤の運用をアウトソースすることも多い。この場合、サーバの設置されたシステムを管理する主体が移行の前後で変わることになる。そのために、特にＩＰアドレス等に関しては、各サーバについて多くの設定変更と、設定変更に伴う動作検証が必要となる。例えば、移行前の第一のネットワークシステム（第一のデータセンタ）で利用していた第一のＩＰアドレスは、移行後の第二のネットワークシステム（第二のデータセンタ）では利用できず、代わりに第二のネットワークシステムの管理者から与えられた第二のＩＰアドレスを利用する。従って、移行対象のシステムを構成する全てのサーバにおいて、ＯＳやアプリケーションに対するＩＰアドレスの設定変更と動作検証を実施しなければならない。
【０００３】
特許文献１には、モバイル端末機の移動性を支援する方法であって、モバイル端末機が他のサブネットに移動することを認識した場合に、移動後のサブネットに対するネットワークプリフィックス（ｐｒｅｆｉｘ)と同じプリフィックスを持つＩＰアドレスをモバイル端末機に割り当てることが開示されている。
【０００４】
特許文献２には、音声通信システムの制御サーバを第一のサーバから第二のサーバに移行する手法が開示されている。特許文献２では、アドレス変換手段を持つ第一のサーバが、受信したパケットのアドレスを変換して第二のサーバにパケットを転送することにより、音声通信システムの制御サーバを第一のサーバから第二のサーバへ移行している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００５−１３０５１２
【特許文献２】特開２００８−２３６３７４
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従来技術においては、複数のサーバを環境の異なるシステムへ移動する際に、ＯＳ等のアドレスを変更する方法については開示されていない。従って、サーバを、第一のネットワークシステムから、ＩＰアドレス等の異なる第二のネットワークシステムへ移行する場合の移行手順は、従来技術においては、はじめに第一のネットワークシステムで実行する全てのサーバを第二のネットワークシステムに移動し、次に全てのサーバのＩＰアドレス設定を第二のネットワークシステムに合わせた設定に変更し、その後全てのサーバの動作検証を実施する。動作検証でエラーが発生したときは、エラーの原因となった設定を特定し、正しい設定に変更して再び動作検証を実施する。このような設定変更と動作検証をエラーが発生しなくなるまで繰り返すことで、サーバの移行が完了する。
【０００７】
つまり、従来技術においては、動作検証においてエラーが発生した場合に、エラーの原因となり得る設定変更の数がサーバの数に比例して多くなり、それに伴いエラー発生原因を特定する切り分け作業が煩雑になる点が課題である。
【課題を解決するための手段】
【０００８】
上記課題を解決するための動作検証方法は、外部システムに含まれる第１の物理サーバによって提供される互いに通信を実行する複数の仮想サーバを、前記外部システムにネットワークを介して接続し第２の物理サーバを含むシステムに移行する際の動作検証方法であって、前記互いに通信を実行する複数の仮想サーバの一部である第１の仮想サーバを前記システムに含まれる前記第２の物理サーバに移行し、前記第１の仮想サーバにより実行される第１のソフトウェアの設定を変更し、前記システムに含まれる前記第２の物理サーバへ移行された前記第１の仮想サーバから、前記外部システムの前記第１の物理サーバにより提供され前記互いに通信を実行する複数の仮想サーバの一部である第２の仮想サーバへ第１のパケットを発行し、前記第１のパケットを確認することにより前記第１のソフトウェアの設定の変更に誤りがないかを判断する、ことを特徴とする動作検証方法である。
【０００９】
さらに上記課題を解決するためのシステムは、互いに通信を実行する複数の仮想サーバを提供する第１の物理サーバを含む外部システムとネットワークを介して接続するシステムであって、第２の物理サーバと、前記第２の物理サーバに接続する動作検証サーバと、前記第２の物理サーバに接続する管理サーバと、を含み、前記管理サーバ又は前記動作検証サーバは、前記互いに通信を実行する複数の仮想サーバの一部である第１の仮想サーバを前記第１の物理サーバから前記システムに含まれる前記第２の物理サーバに移行する指示を出し、前記管理サーバは、前記第２の物理サーバに移行された前記第１の仮想サーバにより実行される第１のソフトウェアの設定を変更し、前記動作検証サーバは、前記システムに含まれる前記第２の物理サーバへ移行された前記第１の仮想サーバに、前記外部システムの前記第１の物理サーバにより提供され前記互いに通信を実行する複数の仮想サーバの一部である第２の仮想サーバへ第１のパケットを発行する指示を出し、前記動作検証サーバは、前記第１のパケットを確認することにより前記第１のソフトウェアの設定の変更に誤りがないかを判断する、ことを特徴とするシステムである。
【発明の効果】
【００１０】
本発明により、複数の互いに通信をするサーバを、異なるネットワークシステムに移行する処理において、段階的にサーバ移行及び動作検証を行うことによりエラー発生原因の特定が容易であるという効果を有する。
【図面の簡単な説明】
【００１１】
【図１】実施例におけるサーバ移行システムの構成図の一例を示す図である。
【図２】実施例における動作検証サーバの詳細を示す構成図の一例を示す図である。
【図３】実施例における管理サーバの詳細を示す構成図の一例を示す図である。
【図４】実施例における物理サーバの構成図の一例を示す図である。
【図５】実施例において仮想サーバを提供することのできる物理サーバの構成図の一例を示す図である。
【図６】実施例におけるアドレス変換情報の一例を示す図である。
【図７】実施例におけるシステム情報管理情報の一例を示す図である。
【図８】実施例における移行状況管理情報の一例を示す図である。
【図９】実施例における移行ログの一例を示す図である。
【図１０】実施例におけるサーバ移行手順の一例を示すフローチャートである。
【図１１】実施例において、第二のネットワークシステムに移行されたサーバが送信するパケット構成の一例を示す図である。
【図１２】実施例における、動作検証サーバの動作検証処理の一例を示すフローチャートである。
【図１３】本実施例における検証環境から本番環境への移行方法の一例を示すフローチャートである。
【図１４】本実施例における検証環境から本番環境への移行方法の一例を示すフローチャートである。
【発明を実施するための形態】
【００１２】
本発明の実施例について図面を参照しながら説明する。実施例では、サーバで実行するＯＳやアプリケーションのＩＰアドレスの設定を変換し動作検証を行う動作検証サーバと、移行作業の状況を記録し動作検証サーバに変換内容を指示する管理サーバとの連携によって、互いにパケット通信等の通信を実行する複数のサーバを第一のネットワークシステムから第二のネットワークシステムへ段階的に移行する装置の構成、および、方法を示す。以降「物理サーバ」「仮想サーバ」と明記しない「サーバ」は、「物理サーバ」「仮想サーバ」のいずれも含むものとする。
【００１３】
図１は、実施例におけるサーバ移行システムの構成図の一例を示す図である。実施例における第二のネットワークシステム１１０は、サーバの移行元である第一のネットワークシステム１００に、外部ネットワーク３００を介して接続する。
第一のネットワークシステム１００においては、複数の物理サーバ１０２、物理サーバ１０３、及び物理サーバ１０４が、一般的なネットワークスイッチ装置であるスイッチ１０１に接続し、スイッチ１０１は、外部ネットワーク３００に接続する。スイッチ１０１は特定のポートを通過するパケットを複製するポートミラーリングの機能により、サーバが送受信する全てのパケットを受信し、受信したパケットの複製を作成し、作成したパケットの複製を外部ネットワーク３００とコアスイッチ１１１を介して動作検証サーバ１２０に受け渡す。
【００１４】
また、互いに通信を実行するサーバを第一のネットワークシステムから第二のネットワークシステムに移行する前には、スイッチを介して接続されたクライアント１６０がサーバにネットワーク経由で通信し、データ処理を実施する。
【００１５】
ここで、外部ネットワークは、例えばデータセンタ間の専用通信回線や、通信事業者が提供する閉域IP網、インターネットなどが挙げられる。
第二のネットワークシステム１１０は、外部ネットワーク３００に接続する一般的なネットワークスイッチ装置であるコアスイッチ１１１、動作検証サーバ１２０、管理サーバ１３０、サブシステム１  １４０、サブシステム２  １５０により構成される。サブシステム１  １４０は、スイッチ１４１と、物理サーバ１４２と、物理サーバ１４３とにより構成される。サブシステム２  １５０は、スイッチ１５１と、物理サーバ１５２と、物理サーバ１５３とにより構成する。また、スイッチ１４１及びスイッチ１５１は動作検証サーバ１２０に接続し、特定のポートを通過するパケットを複製するポートミラーリングの機能により、サーバが送受信する全てのパケットを受信し、受信したパケットの複製を作成し、作成したパケットの複製を動作検証サーバ１２０に受け渡す。
なお、実施例においては、動作検証サーバ１２０と管理サーバ１３０とを分離した構成としているが、これに限定されるものではなく、動作検証サーバと管理サーバとを同一のサーバとしてもよい。また、管理サーバ１３０が動作検証サーバ１２０を介さずにコアスイッチ１１１やスイッチ１４１に接続さてもよい。また、サブシステム１内（スイッチ１４１の内側）やサブシステム２内（スイッチ１５１の内側）に動作検証サーバ１２０が設置されてもよい。にまた、図１においてシステムは複数示しているが、１以上であればよい。また、移行対象のサーバの数に応じて、スイッチの数を増やしてもよい。
第一のネットワークシステム１００は、例えば第一のデータセンタである。第二のネットワークシステム１１０は、例えば第一のデータセンタとＩＰアドレスの設定といったネットワーク環境が異なる第二のデータセンタである。
【００１６】
実施例においては、第１のネットワークシステムから第二のネットワークシステムに「互いに通信を実行する複数のサーバ」を移行する。サーバ間の通信とは、一例として、サーバ間でパケットを送受信し合うことなどを指す。互いに通信を実行するサーバ群とは、例えば、１つのシステムに属するウェブサーバ、アプリケーションサーバ、データベースサーバにより構成されるサーバ群を指す。さらに、互いに通信を実行する複数のサーバとは、ある特定の組織のクライアントにより使用される複数のサーバであってもよい。但し、互いに通信を行う複数のサーバであればよく、これに限定されるものではない。
また、移行対象となるサーバは、上述の通り、物理サーバであっても仮想サーバであってもよい。そして、移行先において、物理サーバ又は仮想サーバに変換されてもよい。つまり、移行形態として、以下の形態が含まれる。
（１）移行元のサーバが物理サーバであり、移行先のサーバが物理サーバである場合。
（２）移行元のサーバが仮想サーバであり、移行先のサーバが物理サーバである場合。
（３）移行元のサーバが物理サーバであり、移行先のサーバが仮想サーバである場合。
（４）移行元のサーバが仮想サーバであり、移行先のサーバが仮想サーバである場合。
以下、「移行対象のサーバ」「移行対象のサーバ群」と記述する場合には、物理サーバであるか仮想サーバであるかを問わない。
【００１７】
図２は、実施例における動作検証サーバ１２０の詳細を示す構成図の一例を示す図である。動作検証サーバ１２０は、ネットワークを介してコアスイッチ１１１、スイッチ１４１、スイッチ１５１に接続するネットワークアダプタ１２０１、ネットワークを介して管理サーバ１３０に接続するネットワークアダプタ１２０２、メモリ１２０３、メモリに格納されるプログラムや情報を参照して処理を実行するプロセッサ１２０４、により構成する。
ネットワークアダプタ１２０１及び１２０２は、スイッチ１４１又はスイッチ１５１のポートミラーリングで複製されたパケットを受信し、それぞれのネットワークシステムにパケットを送信できるように構成される。
メモリ１２０３は、パケット送受信プログラム１２１、アドレス変換プログラム１２２、動作検証プログラム１２５、ログ記録プログラム１２３、アドレス変換情報１２４、を格納する。これらは、予め記録媒体（例えば、ハードディスク）に記録され、この記録媒体から読み出されてメモリ１２０３に格納される。
【００１８】
以降、各プログラムを主語にして、実行される処理を説明するが、実際にはプロセッサ１２０４がメモリ１２０３から各プログラムや情報を読み出し、各処理を実行することを意味する。
【００１９】
動作検証プログラム１２５は、第一のネットワークシステムに含まれる移行対象の相互に通信を実行する複数のサーバを段階的に第二のネットワークに移行される場合に、複数のサーバの一部が移行されるごとに動作検証を実行する。パケット送受信プログラム１２１は、第一のネットワークシステム１００のサーバ（仮想サーバも含む）および第二のネットワークシステム１１０のサーバ（仮想サーバも含む）との間でパケットの送受信を制御する。アドレス変換プログラム１２２は、第一のネットワークシステムから第二のネットワークシステムへ既に移行したサーバと未だ移行していないサーバとの間で通信を行うために、受信したパケット内のＩＰアドレスを変換する。ログ記録プログラム１２３は、アドレス変換時にＩＰアドレスの内容を検証した結果を、以下に説明する管理サーバ１３０の移行ログ１３５に記録する。アドレス変換情報１２４は、アドレス変換プログラム１２２におけるＩＰアドレスの変換ルールを格納する。
そして、各プログラムは以下のように連携して動作する。動作検証サーバ１２０のパケット送受信プログラム１２１は、移行対象の全てのサーバが送信する全てのパケットを動作検証サーバ１２０が備えるネットワークアダプタ１２０１を介して受信する。そして、受信したパケットをアドレス変換プログラム１２２に引き渡す。アドレス変換プログラム１２２は、受信したパケットに対してアドレス変換処理を実施し、変換後のパケットをパケット送受信プログラム１２１に引き渡す。パケット送受信プログラム１２１は、アドレス変換後のパケットの送信先に従って、コアスイッチ１１１を介してパケットを送信する。
各プログラムによる動作の詳細と、各情報の詳細は、後述する。
【００２０】
図３は、実施例における管理サーバ１３０の詳細を示す構成図の一例を示す図である。動作検証サーバ１２０とネットワークを介して接続するネットワークアダプタ１３０１、メモリ１３０２、メモリに格納されるプログラムや情報を参照して処理を実行するプロセッサ１３０３、入出力装置１３０４、により構成する。
メモリ１３０２は、サーバ設定管理プログラム１３１、情報更新プログラム１３２、システム情報管理情報１３３、移行状況管理情報１３４、移行ログ１３５、本番環境移行プログラム１３６、サーバ移行プログラム１３７、を格納する。これらは、予め記録媒体（例えば、ハードディスク）に記録され、この記録媒体から読み出されてメモリ１３０２に格納される。
管理サーバ１３０のサーバ設定管理プログラム１３１は、サーバで実行するＯＳやアプリケーションの設定を管理する。例えば、サーバ設定管理プログラム１３１はサーバで実行するＯＳやアプリケーションのＩＰアドレスの設定を変更する。サーバで実行するＯＳ２０７やアプリケーションの２０８に設定された情報を取得するほか、サーバにおいて実施された設定変更を検知し、設定の変更内容を管理サーバの移行ログ１３５に記録する。
管理サーバ１３０の情報更新プログラム１３２は、移行対象の互いに通信を実行する複数のサーバの第一のネットワークシステム１００から第二のネットワークシステム１１０への移動に合わせて実行される動作検証において、動作検証サーバ１２０のアドレス変換情報１２４や、管理サーバ１３０の移行状況管理情報１３４、移行ログ１３５を更新する。
各プログラムによる動作の詳細と、各情報の詳細は、後述する。以降、各プログラムを主語にして、実行される処理を説明するが、実際にはプロセッサ１３０３がメモリ１３０２から各プログラムや情報を読み出し、各処理を実行することを意味する。
【００２１】
図４は、実施例における物理サーバの構成図の一例を示す図である。物理サーバは、プロセッサ２０１、メモリ２０２、ネットワークに接続するネットワークアダプタ２０３、ディスクに接続するディスクアダプタ２０４、キーボードやディスプレイといった入出力装置２０５により構成され、各構成要素がシステムバス２０６により接続された一般的な構成の物理サーバである。
図示するように、プロセッサ２０１は、記録媒体から予めメモリ２０２にＯＳ２０７とアプリケーション２０８を読み込み、それらのプログラムを実行することにより、ＯＳ２０７やアプリケーション２０８の処理を実現する。
【００２２】
図５は、実施例において仮想サーバを提供することのできる物理サーバの構成図の一例を示す図である。本実施例においては、サーバ１０２等は、図４の構成であっても図５の構成であってもよい。以下、図４との差異点のみ説明する。
プロセッサ２０１は、メモリ２０２に仮想サーバ制御プログラム２００１を読み込み、ＯＳ２０７やアプリケーション２０８を実行する仮想サーバ２００２をメモリ２０２に作成する。仮想サーバ２００２は、複数作成されてもよい。
【００２３】
図６は、実施例におけるアドレス変換情報１２４の一例を示す図である。なお、図６に記載のアドレス変換情報１２４のフォーマットは一例であって、図６に示したフォーマットに限定されるものではない。
アドレス変換情報１２４は、サーバが、第一のネットワークシステム１００および第二のネットワークシステム１１０において利用するＩＰアドレスを保持する。また、サーバが現在実行するシステムのＩＤも同時に記録する。
具体的には、サーバを一意に識別するサーバＩＤ３０１、サーバが第一のネットワークシステム１００で利用している第一のＩＰアドレス３０２と第一のＭＡＣアドレス３０５、サーバが第二のネットワークシステム１１０で利用する予定である第二のＩＰアドレス３０３と第二のＭＡＣアドレス３０６、サーバが現在実行されているシステムを識別する実行システムＩＤ３０４とを記録する。ここで、システム１とは、サーバが第一のネットワークシステムにて動作していることを示し、システム２とは、サーバが第二のネットワークシステムにて動作していることを示す。第一のＩＰアドレス３０２と第一のＭＡＣアドレス３０５は、管理サーバ１３０のサーバ設定管理プログラム１３１が、第一のネットワークシステム１００で実行するサーバから取得したＩＰアドレスである。サーバＩＤ３０１は、サーバ設定管理プログラム１３１が第一のＩＰアドレス３０２を記録するときに、サーバを一意に識別するようにサーバ設定管理プログラム１３１が自動で付与した値である。第二のＩＰアドレス３０３と第二のＭＡＣアドレス３０６は、サーバ設定管理プログラムにより設定されたＩＰアドレスである。なお、入出力装置１３０４を介して移行作業者が登録したＩＰアドレスであってもよい。実行システムＩＤ３０４は、サーバの移動による、サーバの実行されるシステムの変更に伴い、管理サーバ１３０の情報更新プログラム１３２によって更新される。
【００２４】
図７は、実施例におけるシステム情報管理情報１３３の一例を示す図である。なお、図７に記載のシステム情報管理情報１３３のフォーマットは一例であって、図７に示したフォーマットに限定されるものではない。
システム情報管理情報１３３には、移行対象であり、相互に通信を実行する複数のサーバを提供するネットワークシステムの情報を格納する。システム情報管理情報１３３には、システムを一意に識別するシステムＩＤ４０１、各システムでサーバが利用するＩＰアドレスの範囲を表すサブネット４０２、各システムでサーバが実行するときのサーバ実行形態４０３とを記録する。サーバ実行形態４０３は、各システムにおいて、移行対象のサーバが計算機上で直接実行する物理サーバであるか、計算機上で実行する仮想サーバ制御プログラム上で実行する仮想サーバであるかを表す。サーバが仮想サーバである場合、仮想サーバ実行の互換性を確認するために仮想サーバ制御プログラムの種類も記録する。また、ＩＰアドレスの範囲を示すサブネット４０２は、ＩＰアドレスのサブネットでなくともよく、２つのＩＰアドレスで表現される範囲であってもよい。
【００２５】
図８は、実施例における移行状況管理情報１３４の一例を示す図である。なお、図８に記載の移行状況管理情報１３４のフォーマットは一例であって、図８に示したフォーマットに限定されるものではない。
移行状況管理情報１３４は、移行対象のサーバの移行の段階を示すサーバ移行状況を記録する。サーバの移行状況とは、移行の各段階での各サーバが実行されるネットワークシステムを示す。ここで、システム１とは、第一のネットワークシステムにおいてサーバが実行されていることを指し、システム２とは、第二のネットワークシステムにおいてサーバが実行されていることを指す。移行状況管理情報１３４には、サーバの移行状況を一意に識別する移行状況ＩＤ５０１と、移行対象の複数のサーバが実行されるネットワークシステムを表すサーバ移行状況５０２と、を記録する。移行状況ＩＤ５０１とサーバ移行状況５０２は、移行対象のサーバを新しいシステムに移行した際に、更新される。図８に示した例では、サーバ１だけを第二のネットワークシステムに移行した状況１、サーバ１とサーバ２を第二のネットワークシステムに移行した状況２、サーバ１とサーバ２とサーバ３とを第二のネットワークシステムに移行した状況３、として、移行の各段階の移行状況を示している。
【００２６】
図９は、実施例における移行ログ１３５の一例を示す図である。なお、図９に記載の移行ログのフォーマットは一例であって、図９に示したフォーマットに限定されるものではない。
具体的には、移行ログ１３５は、移行作業時に実施した動作検証の内容や、動作検証中に発生したエラー内容を記録する。移行ログ１３５には、移行ログ１３５を一意に識別するログＩＤ６０１と、ログ内容６０２を記録する。ログ内容６０２には、移行作業時に移行対象のサーバに対して実施した設定変更の内容や、サーバを異なるシステムに移行した履歴を記録する。また、ログ記録プログラム１２３が出力するエラー内容を記録する。なお、ログＩＤ６０１は、ログ内容６０２を記録するたびに、サーバ設定管理プログラム１３１やログ記録プログラム１２３が一意なＩＤを自動的に付与する。
図６に示した例では、ログ１において、サーバ１のＩＰアドレスを１０．０．０．１０１から１９２．１６８．０．１１に変更した結果、ログ内容６０２のサーバＩＤにサーバ１のＩＤ、設定項目にＩＰアドレス、変更前設定値に１０．０．０．１０１、変更後設定値に１９２．１６８．０．１１が記録されたことを示す。
また、ログ２において、動作検証中にサーバ２が送信したパケット内の宛先ＩＰアドレスに矛盾が見つかり、設定ミスが起きたことを示す。動作検証プログラム１２５は、エラー発生以前のログを参考にして、エラー発生原因の特定作業をすることができる。
【００２７】
動作検証サーバ１２０のログ記録プログラム１２３は、アドレス変換プログラム１２２よりアドレス変換処理の際に発生したエラーの内容を受け取り、管理サーバ１３０に接続して前記エラー内容を移行ログ１３５に記録する。
【００２８】
次に、実施例において、第一のネットワークシステム１００で実行し、互いに通信を実行する複数のサーバを、第二のネットワークシステム１１０へと移行する作業の手順を、フローチャートに基づいて説明する。
【００２９】
図１０は、サーバ移行手順の一例を示すフローチャートである。
なお、本処理は、例えば、管理サーバ１３０のサーバ移行プログラム１３７が互いに通信を実行する複数のサーバ移行指示を生成し、第１のネットワークシステムにサーバ移行開始指示を発行し、そして、サーバ移行指示を受領した第１のネットワークシステムは、移行対象である互いに通信を行う複数のサーバに関する情報を第二のネットワークシステム１１０の管理サーバに送信したことを契機に実行される。
ステップ７００において、管理サーバ１３０のサーバ設定管理プログラム１３１は、移行対象となる第一のネットワークシステムに属する複数のサーバを、第二のネットワークシステムのどのサブシステムに移行するかを決定する。まず、通常は、検証用サブシステムに複数のサーバが移行されるが、これに限定されるものではない。
ステップ７０１において、管理サーバ１３０のサーバ設定管理プログラム１３１は、互いに通信を実行する複数のサーバの移行元の第一のネットワークシステム１００および複数のサーバの移行先の第二のネットワークシステム１１０の情報を各ネットワークシステムより取得し、管理サーバ１３０のシステム情報管理情報１３３を作成する。
ステップ７０２において、管理サーバ１３０のサーバ設定管理プログラム１３１は、第一のネットワークシステムより、第一のネットワークシステム１００で実行する移行対象の複数のサーバのＩＰアドレス及びＭＡＣアドレスを取得する。サーバ設定管理プログラム１３１は、それぞれのサーバに対してＩＤを付与する。管理サーバ１３０の情報更新プログラム１３２は、付与したＩＤをアドレス変換情報１２４のサーバＩＤ３０１に、移行対象のサーバの第一のネットワークシステム１００でのＩＰアドレスを第一のＩＰアドレス３０２に、移行対象のサーバの第一のネットワークシステム１００でのＭＡＣアドレスを第一のＭＡＣアドレス３０５に記録する。
続いて、管理サーバ１３０のサーバ設定管理プログラム１３１は、移行対象である互いに通信を実行する複数のサーバが第二のネットワークシステム１１０において利用するＩＰアドレスを、生成する。また、管理サーバ１３０のサーバ設定管理プログラム１３１は、移行対象である互いに通信を実行する複数のサーバの移行先のＭＡＣアドレスを取得する。なお、移行対象である互いに通信を実行する複数のサーバが第二のネットワークシステム１１０において利用するＩＰアドレスは、移行作業者により入力装置を介して入力されてもよい。そして、管理サーバ１３０の情報更新プログラム１３２は、作成／取得したＩＰアドレスをアドレス変換情報１２４の第二のＩＰアドレス３０３に記録し、取得したＭＡＣアドレスをアドレス変換情報１２４の第二のＭＡＣアドレス３０６に記録する。
また、初期状態として、管理サーバ１３０の情報更新プログラム１３２は、アドレス変換情報１２４の実行システムＩＤ３０４には第一のネットワークシステム１００のＩＤを記録する。移行作業前であるため、移行対象の複数のサーバは全て移行元のネットワークシステムにあるためである。
【００３０】
ステップ７０３において、移行対象である互いに通信を実行する複数のサーバの一部を第一のネットワークシステム１００から第二のネットワークシステム１１０のステップ７００で決定した移行先サブシステムへ移行する。このとき、移行するサーバの数は一つだけでも良いし、複数のサーバのうちの一部を同時に移行してもよい。ただし、移行対象である複数のサーバの全部を同時には移行しない。
【００３１】
実施例における複数のサーバの移行処理は以下の一例として以下のように開始される。
【００３２】
まず、移行対象である互いに通信を行う複数のサーバに関する情報を受信した第２のネットワークシステムの管理サーバ１３０は、サーバ移行プログラム１３７により、移行対象である複数のサーバの一部を選択する。例として、ウェブサーバ、アプリケーションサーバ、データベースサーバにより構成されるサーバ群を移行する場合、ウェブサーバのみを選択し移行する、などが挙げられる。
そして、サーバ移行プログラム１３７は、第１のネットワークシステムに選択したサーバに関する情報と、選択したサーバの移行を指示する情報を送信する。
そして、選択した一部のサーバに関する情報と移行指示に関する情報を受領した第１のネットワークシステムは、選択した一部のサーバの第２のネットワークシステムへの移行を開始する。
【００３３】
ここで、移行対象のサーバの、移行元と移行先でのサーバの形態は上記のように複数あり、各形態により移行作業が異なる。各形態による移行作業は以下の通りである。
【００３４】
（１）移行元のサーバが物理サーバであり、移行先のサーバが物理サーバである場合。
管理サーバが、移行元の物理サーバのディスクに保存されており、移行元の物理サーバにより使用されるファイル（設定情報なども含む）を、外部ネットワークを通して受信し、ステップ７００−７０３で指定されたサブシステムに含まれる物理サーバのディスクに保存する。
あるいは、移行元の物理サーバを第一のネットワークシステム１１０の所在地からステップ７００−７０３で指定されたサブシステムの所在地へ運搬し、前記サブシステムに物理サーバを接続する。
【００３５】
（２）移行元のサーバが仮想サーバであり、移行先のサーバが物理サーバである場合。
管理サーバが、移行元の仮想サーバの使用するファイル（設定情報なども含む）を、外部ネットワークを通して受信し、受信したファイルを物理サーバにより使用できる形態に変換し、ステップ７００−７０３で指定されたサブシステムに含まれる物理サーバのディスクに変換されたファイルを保存する。
【００３６】
（３）移行元のサーバが物理サーバであり、移行先のサーバが仮想サーバである場合。
管理サーバが移行元の物理サーバのディスクに保存されており、移行元の物理サーバにより使用されるファイル（設定情報なども含む）を、外部ネットワークを通して受信し、受信したファイルを仮想サーバにより使用できる形態に変換し、ステップ７００−７０３で指定されたサブシステムに含まれる物理サーバに受信したファイルを用いて仮想サーバを構築する。
【００３７】
（４）移行元のサーバが仮想サーバであり、移行先のサーバが仮想サーバである場合。
管理サーバが、移行元の仮想サーバの使用するファイル（設定情報なども含む）を、外部ネットワークを通して受信し、ステップ７００−７０３で指定されたサブシステムに含まれる物理サーバに受信したファイルを用いて仮想サーバを構築する。
【００３８】
管理サーバ１３０の情報更新プログラム１３２は、移行完了後、図８の移行状況管理情報１３４に新しい状況を登録する。具体的には、管理サーバ１３０の情報更新プログラム１３２は、状況ＩＤ５０１に新規のＩＤを付与し、第一のネットワークシステム１００から第二のネットワークシステム１１０へ移動したサーのサーバ移行状況５０２として、第二のネットワークシステム１１０のシステムＩＤを記録する。管理サーバ１３０の情報更新プログラム１３２は、システムＩＤを、システム情報管理情報１３３より取得する。移行対象となる複数のサーバの内、移動しない残りのサーバに関しては、サーバ移行状況５０２は直前のものを引き継いで記録する。同時に、管理サーバ１３０の情報更新プログラム１３２は、移行したサーバのサーバＩＤと、移行したシステムのシステムＩＤを移行ログ１３５に記録する。
【００３９】
ステップ７０４において、管理サーバ１３０のサーバ設定管理プログラム１３１は、ステップ７０３で移行したサーバと通信を接続し、移行したサーバで実行するＯＳ２０７やアプリケーション２０８等のソフトウェアのＩＰアドレスに関する設定を、第二のＩＰアドレスへ設定変更する。例えば、ＯＳ２０７やアプリケーション２０８等のソフトウェアのプログラムコード中の第一のＩＰアドレスをアドレス変換情報１２４を参照して第一のＩＰアドレスに対応する第二のＩＰアドレスに書き換える処理である。
例えば、移行したサーバで実行されるＯＳ２０７やアプリケーション２０８等のソフトウェアにおいて、移行されたサーバ自身のＩＰアドレスを、第一のネットワークシステムで利用するＩＰアドレスから第二のネットワークシステムで利用するＩＰアドレスへ設定変更する。また、移行されたサーバの通信先としてＯＳやアプリケーションに設定されている、移行されていない他のサーバのＩＰアドレスも同様に第一のネットワークシステムで利用するＩＰアドレスから第二のネットワークシステム１１０のＩＰアドレスに設定変更する。このとき実施された設定変更は、管理サーバ１３０のサーバ設定管理プログラム１３１を通し、変更の内容を移行ログ１３５に記録する。
【００４０】
ステップ７０５において、動作検証サーバ１２０の動作検証プログラム１２５が移行したサーバの動作を検証するため、移行したサーバのアプリケーションを実行し動作検証を行う。ここで、上記のように、移行対象となる複数のサーバは、第１のネットワークシステムと第二のネットワークシステムに分かれて設置されている場合であってもアプリケーションなどによって相互に通信を実行する必要がある。したがって、ステップ７０５において第二のネットワークシステムに移行したサーバの動作検証を実行する際には、移行対象となる複数のサーバのうち、ステップ７０３において第二のネットワークシステムに移行したサーバと、第二のネットワークシステムに移行しておらず第一のネットワークシステムにて実行されるサーバと、の間の通信が必要となる。具体的には、第二のネットワークシステムに移行したサーバのアプリケーションの動作検証により、パケットを生成し、第一のネットワークシステムに含まれ移行されてないサーバ又は、第二のネットワークシステムに既に移行されたサーバにパケットを発行する。
そこで、動作検証サーバ１２０のパケット送受信プログラム１２１がパケットを受信した場合、動作検証サーバ１２０のアドレス変換プログラム１２２は、移行したサーバが送受信するパケットに含まれるＩＰアドレスを、移行対象である複数のサーバを実行するシステムに応じて変換する。つまり、パケットの送信先サーバが未だに移行されておらず、第一のネットワークシステムに設置されている場合には、アドレス変換プログラム１２２によりパケットに含まれるアドレスを変更する。一方、パケットの送信先サーバが既に移行されており、第二のネットワークシステムに設置されている場合には、パケットに含まれるアドレスは変更されない。動作検証サーバのアドレス変換プログラム１２２により、移行対象の複数のサーバが第一のネットワークシステム１００と第二のネットワークシステム１１０に分かれて実行する場合に、第二のネットワークシステムに移行したサーバの動作検証を実行する際、サーバ間の相互通信が可能とする。また、動作検証サーバ１２０は、前述のＩＰアドレス変換の実行に加え、パケットの内容を解析することにより前記サーバで実施された設定変更の正当性を検証する。このときのパケットの内容の正当性を検証する処理と、アドレス変換処理の詳細は図１２に示す。動作検証の実行結果は、管理サーバの移行ログに格納される。
【００４１】
ステップ７０６において、動作検証サーバ１２０の動作検証プログラム１２５は管理サーバ１３０を通し、移行ログ１３５を確認する。このとき、移行ログ１３５にステップ７０５で発生したエラーが記録されていない場合、続いてステップ７０７の処理を実行する。エラーが記録されている場合、ステップ７０４にて設定を修正し、再びステップ７０５を行う。ステップ７０４の再設定においては、移行作業者は移行ログ１３５を参照してエラー発生原因を特定し、サーバの設定を修正する。
【００４２】
ステップ７０７において、サーバ設定管理プログラム１３１は、管理サーバ１３０の移行状況管理情報１３４を参照し、現在のサーバ移行状況５０２を確認する。移行対象の複数のサーバのうち、いまだ第一のネットワークシステムで実行するサーバがある場合、移行は完了していないため、ステップ７０３以降の作業を繰り返す。ステップ７０３の再実行においては、第一のネットワークシステム１００で実行するサーバを、第二のネットワークシステムに移動する。移行対象の複数のサーバが全て第二のネットワークシステムで実行する場合、移行作業を終了する。
【００４３】
このように、互いに通信を実行する複数のサーバを第一のネットワークシステム（第一のデータセンタ）からＩＰアドレス等のネットワーク環境の異なる第二のネットワークシステム（第二のデータセンタ）に移行する際に、複数のサーバの一部を移行して他のサーバとの通信も含めた動作確認を実行する。そして、動作確認後に移行されていないサーバを移行し、他のサーバとの通信も含めた動作確認を実行する。本実施例の移行方法により、互いに通信を実行する複数のサーバの移行時に段階的に動作確認することができ、エラー発生原因の特定が容易であるという効果を有する。
さらに、動作検証サーバ１２０にアドレス変換プログラム１２２を備えることにより、互いに通信を実行する複数のサーバの一部を第二のネットワークシステムに移行する場合であっても、異なるネットワークシステム環境で実行されるサーバの間の動作検証を実施することができるという効果を有する。
【００４４】
次に、ステップ７０５の動作検証時に行うアドレス変換の詳細について説明する。以下、動作検証時に第二のネットワークシステム１１０に移行されたサーバが、第一のネットワークシステムで実行する移行されていないサーバに対してパケットを送信する場合を例に説明する。
図１１は、実施例において、第二のネットワークシステム１１０に移行されたサーバが送信するパケット構成の一例を示す図である。パケット８００は、移行対象となる複数のサーバ間で通信するためのパケットであって、宛先のサーバのＭＡＣアドレスを表す宛先ＭＡＣアドレス８０４と、送信元サーバのＭＡＣアドレスを表す送信元ＭＡＣアドレス８０５と、宛先のサーバのＩＰアドレスを表す宛先ＩＰアドレス８０１と、送信元サーバのＩＰアドレスを表す送信元ＩＰアドレス８０２と、パケット８００のデータ８０３からなる。送信元サーバのＭＡＣアドレスを表す送信元ＭＡＣアドレス８０５は、サーバからのパケット送信時に付与されるため正しいＭＡＣアドレスである。一方、宛先のサーバのＭＡＣアドレスを表す宛先ＭＡＣアドレス８０４は、宛先のサーバのＩＰアドレスより求められる。第二のネットワークシステム１１０で実行される移行されたサーバが発行するパケットは、ステップ７０４にて実行される設定変更が正常に終了している場合には、図１１のパケット８００に示すように、宛先ＩＰアドレス８０１として第一のネットワークシステム１００で実行されているサーバの第二のＩＰアドレス１９２．１６８．０．１２が、送信元ＩＰアドレス８０２として第二のネットワークシステム１１０で実行するサーバの第二のＩＰアドレス１９２．１６８．０．１１が記述される。
【００４５】
一方、もし、サーバ移行に伴い、ステップ７０４にて実行されるＯＳやアプリケーション等のソフトウェアの設定変更が正常に終了していない場合には、パケット８１０に示すように、宛先ＩＰアドレス８１１（又は、送信元ＩＰアドレス８１２）が、移行先である第二のネットワークシステムにおいて使用されるＩＰアドレスではなく、移行元である第一のネットワークシステム１００において使用される第一のＩＰアドレスとして設定され変更されていないパケットが発行される。
送信元サーバが実行する第二のネットワークシステム１１０には、サーバが発行するパケットの宛先ＩＰアドレスに記述された第一のＩＰアドレスに対し、そのＩＰアドレスを持つサーバが存在しないため、サーバ間で通信ができない。
【００４６】
そこで、動作検証サーバ１２０のパケット送受信プログラム１２１が、パケット８００を受信した場合には、アドレス変換プログラム１２２が、パケットに記述された宛先ＩＰアドレス１９２．１６８．０．１２を、サーバが実行するシステムのＩＰアドレス１０．０．０．１０２にする。そして、パケット送受信プログラム１２１が、変換されたパケットを第一のネットワークシステム１００に向けて再送信する。これにより、異なるネットワークシステムに分かれて実行するサーバ１０２とサーバ１０３との間の通信を実現し、動作検証を可能とする。
【００４７】
図１２は、動作検証サーバ１２０における動作検証の処理の一例を示すフローチャートである。
【００４８】
スイッチ１０１又はスイッチ１４１又はスイッチ１５１のポートミラーリング機能によりパケットが複製された場合に、操作検証サーバ１２０が複製されたパケットを受信して、下記の処理を開始する。
【００４９】
ステップ９０１において、動作検証サーバ１２０のパケット送受信プログラム１２１が、第二のネットワークシステム１１０に移行したサーバの動作検証を実行するためのパケットを受信した場合には、アドレス変換プログラム１２２に引き渡す。
次に、ステップ９０２において、動作検証サーバ１２０のアドレス変換プログラム１２２は、パケット内の送信元ＩＰアドレスと、宛先ＩＰアドレスと、送信元ＭＡＣアドレスを取得する。パケット８００の場合には、送信元ＩＰアドレスとして１９２．１６８．０．１１を、宛先ＩＰアドレスとして１９２．１６８．０．１２を、送信元ＭＡＣアドレスとして１１：１１：１１：００：００：０１を取得する。パケット８１０の場合には、送信元ＩＰアドレスとして１０．０．０．１０２を、宛先ＩＰアドレスとして１９２．１６８．０．１２を、送信元ＭＡＣアドレスとして１１：１１：１１：００：００：０１を取得する。
【００５０】
まず、ステップ９０３からステップ９０５において、パケット内の送信元ＩＰアドレスが正しいか否かを判断し、間違っている場合には正しい送信元ＩＰアドレスに修正する。
【００５１】
ステップ９０３においては、アドレス変換プログラム１２２は、ステップ９０２で取得した送信元ＭＡＣアドレスを元に、アドレス変換情報１２４を検索し、サーバの実行システムＩＤ３０４を取得する。なお、パケットの送信元サーバは第二のネットワークシステム１１０に属するため、サーバの実行システムＩＤ３０４は第二のネットワークシステムに関する。その後、アドレス変換プログラム１２２は、アドレス変換情報１２４から、実行システムＩＤ３０４を元にサーバが現在実行する第二のネットワークシステムで利用する第二のＩＰアドレスを取得する。
例えば、アドレス変換プログラム１２２は、送信元ＭＡＣアドレスが１１：１１：１１：００：００：０１である場合、第二のネットワークシステムにおいて実行されているため、サーバ１の第二のＩＰアドレスである１９２．１６８．０．１１を取得する。
【００５２】
ここで、アドレス変換プログラム１２２は、取得したＩＰアドレスと、ステップ９０２で取得したパケット内の送信元ＩＰアドレスを比較する。上述のように、送信元ＭＡＣアドレスは、パケット送信時に付与されるサーバに一意な識別子であるため正しい。従って、送信元ＭＡＣアドレスにより送信元ＩＰアドレスが正しいか否かを判断する。
取得したＩＰアドレスと、ステップ９０２で取得したパケット内の送信元ＩＰアドレスが同じ場合、送信元ＩＰアドレスの設定は正しいため、ステップ９０３へ移る。
取得したＩＰアドレスと、ステップ９０２で取得したパケット内の送信元ＩＰアドレスが違う場合、送信元ＩＰアドレスの設定は間違いのため、ステップ９０４へ移る。
【００５３】
上述の例でパケット８００において、パケット内の送信元ＩＰアドレスが１０．０．０．１０１であった場合、本来ならば送信元ＩＰアドレスは第二のＩＰアドレスの１９２．１６８．０．１１でなければならず、設定に誤りがある。
つまり、ステップ９０３により、移行したサーバで実行するＯＳ２０７やアプリケーション２０８の送信元ＩＰアドレスに関する設定が第１のネットワークシステム１００で使用されるＩＰアドレスから第２のネットワークシステム１１０で使用される正しいＩＰアドレスに変更されているか否かを確認することができる。
【００５４】
ステップ９０４においては、アドレス変換プログラム１２２が、ログ記録プログラム１２３に対しエラー発生を通知する。通知するエラーの内容は、送信元ＩＰアドレスが間違っていることである。通知を受領したログ記録プログラム１２３は、移行ログ１２５にエラー内容を書き込む。
【００５５】
ステップ９０５においては、アドレス変換プログラム１２２は、アドレス変換情報１２４において、送信元ＭＡＣアドレスを保持する行を検索し、正しい送信元ＩＰアドレスを取得する。アドレス変換プログラム１２２は、パケット内の送信元ＩＰアドレスを正しい送信元ＩＰアドレスに修正する。ログ記録プログラム１２３は、移行ログ１３５に修正内容を書き込む。
【００５６】
ステップ９０６からステップ９０８において、パケット内の宛先ＩＰアドレスが正しいか否かを判断し、間違っている場合には正しい宛先ＩＰアドレスに修正する。ここで、ステップ９０３からステップ９０５において、既に送信元ＩＰアドレスは正しく設定されている。
【００５７】
ステップ９０６において、動作検証サーバ１２０のアドレス変換プログラム１２２は、アドレス変換情報１２４において、ステップ９０２で取得した宛先ＩＰアドレスに対応する欄を検索して、宛先ＩＰアドレスが使用されるネットワークシステムを取得する。その後、送信元ＩＰアドレスが使用されるネットワークシステムと、宛先ＩＰアドレスが使用されるネットワークシステムを比較する。具体的には、送信元ＩＰアドレスが使用されるシステムは、第二のネットワークシステムであるため、宛先ＩＰアドレスが使用されるネットワークシステムが第二のネットワークシステムであるかを判断する。
移行時の設定が正しくされており、送信元と宛先のシステムが同じである場合は、エラー処理を行わずステップ９０９の処理を行う。
送信元と宛先のシステムが異なる場合は、移行時の設定に間違いがあったと判定し、ステップ９０７以降でエラー処理を行う。
例えばパケット８１０のように、宛先ＩＰアドレスが第一のＩＰアドレス１０．０．０．１０２であった場合、サーバ１０２は本来ならば第二のＩＰアドレスを利用しなければならないため、設定に問題があると言える。本ステップではこのようなエラーを検証する。
【００５８】
つまり、ステップ９０６により、移行したサーバで実行するＯＳ２０７やアプリケーション２０８の宛先ＩＰアドレスに関する設定が第１のネットワークシステムで使用されるＩＰアドレスから第２のネットワークで使用されるＩＰアドレスに変更されているか否かを確認することができる。
【００５９】
ステップ９０７において、アドレス変換プログラム１２２はログ記録プログラム１２３に対し、エラー発生を通知する。エラーの内容は、宛先ＩＰアドレスが使用されるネットワークシステムが送信元ＩＰアドレスが使用されるネットワークシステムと矛盾することを示すものである。ログ記録プログラム１２３は、管理サーバ１３０に接続し、移行ログ１３５にエラー内容を書き込む。その後、ステップ９０８の処理を実行する。
【００６０】
ステップ９０８において、アドレス変換プログラム１２２は、アドレス変換情報１２４にてステップ９０６でエラーと判定した宛先ＩＰアドレスを保持する行を検索して、正しい設定である、送信元ＩＰアドレスと同じネットワークシステムのＩＰアドレスを取得する。その後、アドレス変換プログラム１２２は、パケット内の宛先ＩＰアドレスを、アドレス変換情報１２４を検索して取得したＩＰアドレスに修正する。ログ記録プログラム１２３は、管理サーバ１３０に接続し、移行ログ１３５に修正内容を書き込む。宛先ＩＰアドレス修正後、ステップ９０９の処理を実行する。例として、宛先ＩＰアドレスが１０．０．０．１０２であり、それが第一のＩＰアドレスであるためにエラーと判定された場合、アドレス変換情報１２４を用いて、宛先ＩＰアドレスを第一のＩＰアドレスから第二のＩＰアドレス１９２．１６８．０．１２へ修正する。
以上で、パケット内の送信元ＩＰアドレスと宛先ＩＰアドレスを正しいアドレスに修正し、移行したサーバで実行するＯＳ２０７やアプリケーション２０８のＩＰアドレスに関する設定変更の誤り部分を、移行ログ１３５を元に特定することが容易になる。
【００６１】
ステップ９０９において、アドレス変換プログラム１２２は、アドレス変換情報１２４にて宛先ＩＰアドレスを保持する行を検索して、実行システムＩＤ３０４の欄から、宛先ＩＰアドレスに対応するサーバが現在実行するネットワークシステムを取得する。その後、前記ネットワークシステムと、送信元ＩＰアドレスが使用されるネットワークシステム（上述の例では第二のネットワークシステム）を比較し、送信元のサーバと宛先のサーバが同じネットワークシステムで実行しているか否かを確認する。
【００６２】
比較の結果、両ネットワークシステムが同じである場合には、ステップ９１２の処理を実行する。
比較の結果、両ネットワークシステムが異なる場合、送信元サーバと宛先サーバの間で通信を行うためにはＩＰアドレス変換が必要であるため、続いてステップ９１０の処理を実行する。パケット８００の場合では、送信元ＩＰアドレス１９２．１６８．１０．１１に対応するサーバ１０２は第二のネットワークシステムで、宛先ＩＰアドレス１９２．１６８．０．１２に対応するサーバ１０３は第一のネットワークシステムで実行しているため、両システムは異なっている。
【００６３】
ステップ９１０においては、アドレス変換プログラム１２２は、パケット内の送信元ＩＰアドレスと宛先ＩＰアドレスを、アドレス変換情報１２４に基づき、宛先サーバの稼動するネットワークシステムに対応したＩＰアドレスへ変換する。例の場合では、宛先ＩＰアドレスを第二のＩＰアドレス１９２．１６８．０．１２から第一のＩＰアドレス１０．０．０．１０２に変換し、同様に送信元ＩＰアドレスも１９２．１６８．０．１１から１０．０．０．１０１に変換する。アドレス変換の実行後、ステップ９１１の処理を実行する。
【００６４】
ステップ９１２においては、ステップ９０５又はステップ９０８において、送信元ＩＰアドレス又は宛先ＩＰアドレスが修正されたか否かを判断する。
送信元ＩＰアドレス又は宛先ＩＰアドレスが修正されている場合には、宛先となるサーバが送信元のサーバと同じネットワークシステムで稼動していたとしても、パケットが正しく届いておらず破棄されている。したがって、送信元ＩＰアドレス又は宛先ＩＰアドレスを修正したパケットを再送する必要があるため、ステップ９１１の処理を実行する。
送信元ＩＰアドレス又は宛先ＩＰアドレスが修正されていない場合には、パケットが正しく届いているため処理を終了する。
【００６５】
ステップ９１１において、アドレス変換プログラム１２２は、パケットをパケット送受信プログラム１２１に受け渡す。パケット送受信部１２１は、受け取った前記パケットから宛先ＩＰアドレスを取得し、宛先ＩＰアドレスに対して前記パケットの送信処理を実施する。これにより、一連の動作検証処理を終了する。
【００６６】
以上のように、第一のネットワークシステムと第二のネットワークシステムの間に動作検証サーバ１２０を設置することにより、同時に移行するサーバの数を１つあるいは１つ以上の任意の数に制限しながら、移行作業を完了できる。
【００６７】
以下、図１０の動作検証が終了した後、検証環境を本番環境に切り替える処理について図１３及び図１４の例を説明する。
【００６８】
図１３は、本実施例における検証環境から本番環境への移行方法の一例を示すフローチャートである。図１３の例では、サブシステム１  １４０が検証用サブシステムであり、サブシステム２  １５０が本番用サブシステムである。つまり、互いに通信を実行する複数のサーバを、第１のネットワークシステム１００から第二のネットワークシステム１１０に移行する際には、まずサブシステム１  １４０に移行して動作検証を実行する。その後、動作検証が終了した後の互いに通信を実行する複数のサーバを、本番環境であるサブシステム２  １５０にコピーする。図１３の方式では、本番環境にサーバを直接移行せず、検証環境を挟んで移行を行うことで、本番環境に与える影響を最小限にすることができる。
【００６９】
図１３に、第一のネットワークシステム１００から第二のネットワークシステム１１０内の検証用サブシステム１４０へ移行が完了し動作検証を実行した後、本番用サブシステム１５０へサーバをコピーする手順を示す。コピーを行う場合、検証用サブシステム１４０内に本番用と同じサーバが残るため、残ったサーバを本番用サブシステムにおいて障害が発生した時の予備として使用することができる。
【００７０】
ステップ１４０１において、管理サーバ１３０の本番環境移行プログラム１３６は、本番用サブシステム２  １５０内のサーバ１５２、１５３が、管理サーバ１３０とのみ通信を行えるよう、コアスイッチ１１１とスイッチ１５１に対して設定を行う。
ステップ１４０２において、管理サーバ１３０の本番環境移行プログラム１３６は、移行対象の全てのサーバを検証用サブシステム１４０から本番用サブシステム１５０へコピーする。このとき、検証用サブシステム１４０内の移行対象のサーバ１４２、１４３を構成するファイルを、ネットワーク経由で管理サーバ１３０に送信する。その後、管理サーバに保存されたファイルを本番用サブシステム１５０内のサーバ１５２、１５３へ送信し、サーバのディスクに保存する。
【００７１】
ステップ１４０３において、管理サーバ１３０の本番環境移行プログラム１３６は、検証用サブシステム１４０内のサーバ１４２、１４３が、他のサーバと通信を行えないよう、コアスイッチ１１１とスイッチ１４１に対して設定を行う。
ステップ１４０４において、管理サーバ１３０の本番環境移行プログラム１３６は、本番用サブシステム１５０内のサーバ１５２、１５３が、任意のサーバと通信を行えるよう、コアスイッチ１１１とスイッチ１５１に対して設定を行う。
サーバを検証環境から本番環境へコピーする場合には、同一のサーバが複数存在するため、常に一方のサブシステムをネットワークから遮断しておく必要がある。
【００７２】
図１４は、本実施例における検証環境から本番環境への移行方法の一例を示すフローチャートである。図１４の例では、サブシステム１  １４０が検証用サブシステムであり、サブシステム２  １５０が本番用サブシステムである。つまり、互いに通信を実行する複数のサーバを、第１のネットワークシステム１００から第二のネットワークシステム１１０に移行する際には、まずサブシステム１  １４０に移行して動作検証を実行する。その後、動作検証が終了した後の互いに通信を実行する複数のサーバを、本番環境であるサブシステム２に移動する。移動する際には、サブシステム１内のデータを削除する。
【００７３】
ステップ１５０１において、管理サーバ１３０の本番環境移行プログラム１３６は、本番用サブシステム１５０内のサーバ１５２、１５３が、管理サーバ１３０と検証用サブシステム１４０内のサーバ１４２、１４３を含む任意のサーバと通信を行えるよう、コアスイッチ１１１とスイッチ１５１とスイッチ１４１に対して設定を行う。
【００７４】
ステップ１５０２において、管理サーバ１３０の本番環境移行プログラム１３６は、移行対象のすべてのサーバを検証用サブシステム１４０から本番用サブシステム１５０へ移動する。このとき、検証用サブシステム１４０内の移行対象のサーバ１４２、１４３を構成するファイルを、ネットワーク経由で本番用サブシステム１５０内のサーバ１５２、１５３へ送信し、サーバのディスクに保存する。
【００７５】
ステップ１５０３において、管理サーバ１３０の本番環境移行プログラム１３６は、検証用サブシステム１４０内のサーバ１４２、１４３が、他のサーバと通信を行えないよう、コアスイッチ１１１とスイッチ１４１に対して設定を行う。
【００７６】
さらに図１３と図１４以外の例では、サブシステム１  １４０の設定を検証用サブシステムの設定から本番用サブシステムへ設定変更することもできる。つまり、互いに通信を実行する複数のサーバを、第１のネットワークシステムから第二のネットワークシステムに移行する際には、まず検証用サブシステムとして設定されたサブシステム１に移行して動作検証を実行する。その後、サブシステム１の設定を本番用サブシステムの設定へ変更する。本方式では、サブシステムの設定を変更するだけで、容易に移行対象のサーバを使用し始めることができるという効果を有する。
【符号の説明】
【００７７】
１００  第一のネットワークシステム、１０１  スイッチ、１０２及び１０４  物理サーバ、１１０  第二のネットワークシステム、１１１  コアスイッチ、１２０  動作検証サーバ、１３０  管理サーバ、１４０及び１５０  サブシステム、１４１及び１５１  スイッチ、１４２、１４３、１５２、１５３  物理サーバ、２００  計算機、２０１  プロセッサ、２０２  メモリ、２０３  ネットワークアダプタ、２０４  ディスクアダプタ、２０５  入出力装置、２０６  システムバス
【図１】
2011192098.tif 000003
【図２】
2011192098.tif 000004
【図３】
2011192098.tif 000005
【図４】
2011192098.tif 000006
【図５】
2011192098.tif 000007
【図６】
2011192098.tif 000008
【図７】
2011192098.tif 000009
【図８】
2011192098.tif 000010
【図９】
2011192098.tif 000011
【図１０】
2011192098.tif 000012
【図１１】
2011192098.tif 000013
【図１２】
2011192098.tif 000014
【図１３】
2011192098.tif 000015
【図１４】
2011192098.tif 000016