(57)【特許請求の範囲】
【請求項１】
複数の計算機、ストレージシステム、及び管理計算機を備える計算機システムにおける計算機切替方法であって、
前記複数の計算機の各々は、第１のプロセッサ、前記第１のプロセッサに接続される第１のメモリ、及び前記第１のプロセッサに接続される第１のＩ／Ｏデバイスを有し、
前記管理計算機は、第２のプロセッサ、前記第２のプロセッサに接続される第２のメモリ、及び前記第２のプロセッサに接続される第２のＩ／Ｏデバイスを有し、
前記ストレージシステムは、コントローラ、前記コントローラに接続される複数の記憶デバイス、及び前記コントローラに接続され、前記複数の計算機の各々を接続する複数のポートを有し、
前記複数の計算機は、業務を実行する複数の第１の計算機、及び、前記複数の第１の計算機の各々が実行する業務を引き継ぐ複数の第２の計算機を含み、
前記ストレージシステムは、前記複数の記憶デバイスの記憶領域を用いて生成された論理記憶デバイスを前記第１の計算機に提供し、
前記論理記憶デバイスは、前記業務に必要なデータを格納する記憶領域である第１の論理記憶デバイスを含み、
前記方法は、
前記管理計算機が、前記第１の計算機から前記第２の計算機への前記業務の切替契機を検出する第１のステップと、
前記管理計算機が、前記ストレージシステムに、前記第２の計算機に提供する仮想的な記憶領域である第２の論理記憶デバイスの生成を指示する第１の生成要求を送信する第２のステップと、
前記ストレージシステムが、前記第１の生成要求に基づいて、前記第２の計算機の前記第２の論理記憶デバイスを生成する第３のステップと、
前記管理計算機が、前記第１の計算機が実行する業務に必要なデータを格納する前記第１の論理記憶デバイスを、前記第２の計算機の第２の論理記憶デバイスにマッピングするための第１の変更情報を生成し、前記ストレージシステムに前記生成された第１の変更情報を含む第１の変更要求を送信する第４のステップと、
前記ストレージシステムが、前記第１の変更情報に基づいて、前記第１の計算機が実行する業務に必要なデータを格納する第１の論理記憶デバイスを、前記第２の計算機の第２の論理記憶デバイスにマッピングする第５のステップと、
前記管理計算機が、前記第２の計算機を起動する第６のステップと、
を含むことを特徴とする計算機切替方法。
【請求項２】
請求項１に記載の計算機切替方法であって、
前記ストレージシステムは、前記第１の論理記憶デバイス及び前記第２の論理記憶デバイスのマッピング関係を管理するためのマッピング管理情報を保持し、
前記管理計算機は、
前記複数の計算機の各々と、前記ストレージシステムとの間の接続経路を管理するための経路情報と、
前記複数の第１の計算機の各々に提供される前記論理記憶デバイスを管理するための記憶デバイス管理情報と、を保持し、
前記方法は、
前記管理計算機が、前記切替契機を検出した後に、前記経路情報及び前記記憶デバイス管理情報を参照して、前記第１の計算機に提供される前記論理記憶デバイスを特定する第７のステップと、
前記管理計算機が、前記特定された論理記憶デバイスが前記第１の論理記憶デバイスであるか否かを判定する第８のステップと、
前記管理計算機が、前記特定された論理記憶デバイスが前記第１の論理記憶デバイスであると判定された場合、前記ストレージシステムに、前記第１の計算機の前記第２の論理記憶デバイスの生成を指示する第２の生成要求を送信する第９のステップと、
前記ストレージシステムが、前記第２の生成要求に基づいて、前記第１の計算機の第２の論理記憶デバイスを生成する第１０のステップと、
前記管理計算機が、前記特定された第１の論理記憶デバイスを、前記第１の計算機の第２の論理記憶デバイスにマッピングするための第２の変更情報を生成し、前記ストレージシステムに前記生成された第２の変更情報を含む第２の変更要求を送信する第１１のステップと、
前記ストレージシステムが、前記第２の変更情報に基づいて、前記特定された第１の論理記憶デバイスを、前記第１の計算機の第２の論理記憶デバイスにマッピングする第１２のステップと、
を含み、
前記第４のステップでは、前記第１の計算機が実行する業務に必要なデータを格納する第１の論理記憶デバイスのマッピング先を、前記第１の計算機の第２の論理記憶デバイスから前記第２の計算機の第２の論理記憶デバイスに変更するための前記第１の変更情報を生成することを特徴とする計算機切替方法。
【請求項３】
請求項２に記載の計算機切替方法であって、
前記第２のステップは、
前記記憶デバイス管理情報を参照して、前記第１の計算機に提供される論理記憶デバイスの容量を特定するステップと、
前記第１の計算機に提供される論理記憶デバイスの容量を含む、前記第１の生成要求を送信するステップと、を含み、
前記第９のステップは、
前記記憶デバイス管理情報を参照して、前記第１の計算機に提供される前記第１の論理記憶デバイスの容量を特定するステップと、
前記第１の計算機に提供される第１の論理記憶デバイスの容量を含む、前記第２の生成要求を送信するステップと、を含むことを特徴とする計算機切替方法。
【請求項４】
請求項２に記載の計算機切替方法であって、
前記第５のステップは、前記第２の計算機の第２の論理記憶デバイスに、前記第１の計算機に提供される論理記憶デバイスに付与された識別情報を付与するステップを含み、
前記第１２のステップは、前記第１の計算機の第２の論理記憶デバイスに、前記第１の計算機に提供される第１の論理記憶デバイスに付与された識別情報を付与するステップを含むことを特徴とする計算機切替方法。
【請求項５】
請求項２に記載の計算機切替方法であって、
前記方法は、
前記管理計算機が、一つ以上の前記第１の計算機及び一つ以上の前記第２の計算機から構成されるグループの登録指示を受け付けた場合に、前記第１の計算機に提供される論理記憶デバイスを特定する第１３のステップと、
前記管理計算機が、前記特定された論理記憶デバイスが前記第１の論理記憶デバイスであるか否かを判定する第１４のステップと、
前記管理計算機が、前記特定された論理記憶デバイスが前記第１の論理記憶デバイスであると判定された場合、前記ストレージシステムに、前記第１の計算機の第２の論理記憶デバイスの生成を指示する第３の生成要求を送信する第１５のステップと、
前記ストレージシステムが、前記第３の生成要求に基づいて、前記第１の計算機の第２の論理記憶デバイスを生成する第１６のステップと、
前記管理計算機が、前記特定された第１の論理記憶デバイスを、前記第１の計算機の第２の論理記憶デバイスにマッピングするための第３の変更情報を生成し、前記ストレージシステムに前記生成された第３の変更情報を含む第３の変更要求を送信する第１７のステップと、
前記ストレージシステムが、前記第３の変更情報に基づいて、前記特定された第１の論理記憶デバイスを、前記第１の計算機の第２の論理記憶デバイスにマッピングする第１８のステップと、
前記管理計算機が、前記ストレージシステムに、前記第２の計算機の第２の論理記憶デバイスの生成を指示する第４の生成要求を送信する第１９のステップと、
前記ストレージシステムが、前記第４の生成要求に基づいて、前記第２の計算機の第２の論理記憶デバイスを生成する第２０のステップと、
を含むことを特徴とする計算機切替方法。
【請求項６】
請求項５に記載の計算機切替方法であって、
前記第１９のステップは、
前記管理計算機が、前記記憶デバイス管理情報に基づいて、前記グループに含まれる前記一つ以上の第１の計算機に提供される論理記憶デバイスの最大数、及び最大容量を算出するステップと、
前記管理計算機が、前記グループに含まれる一つ以上の第１の計算機に提供される論理記憶デバイスの最大数、及び前記算出された論理記憶デバイスの最大容量を含む前記第４の生成要求を送信するステップと、を含み、
前記第２０のステップは、前記ストレージシステムが、前記グループに含まれる一つ以上の第１の計算機に提供される論理記憶デバイスの最大容量と同一の容量の前記第２の論理記憶デバイスを、前記グループに含まれる一つ以上の第１の計算機に提供される論理記憶デバイスの最大数だけ生成するステップを含むことを特徴とする計算機切替方法。
【請求項７】
複数の計算機、ストレージシステム、及び管理計算機を備える計算機システムであって、
前記複数の計算機の各々は、第１のプロセッサ、前記第１のプロセッサに接続される第１のメモリ、及び前記第１のプロセッサに接続される第１のＩ／Ｏデバイスを有し、
前記管理計算機は、第２のプロセッサ、前記第２のプロセッサに接続される第２のメモリ、及び前記第２のプロセッサに接続される第２のＩ／Ｏデバイスを有し、
前記ストレージシステムは、コントローラ、前記コントローラに接続される複数の記憶デバイス、及び前記コントローラに接続され、前記複数の計算機の各々を接続する複数のポートを有し、
前記複数の計算機は、業務を実行する複数の第１の計算機、及び、前記複数の第１の計算機の各々が実行する業務を引き継ぐ複数の第２の計算機を含み、
前記ストレージシステムは、前記複数の記憶デバイスの記憶領域を用いて生成された論理記憶デバイスを前記第１の計算機に提供し、
前記論理記憶デバイスは、前記業務に必要なデータを格納する記憶領域である第１の論理記憶デバイスを含み、
前記計算機システムは、
前記第１の計算機から前記第２の計算機へ、前記業務を実行する計算機を切り替える切替処理部と、
前記第１の論理記憶デバイスと前記第２の計算機に提供する仮想的な記憶領域である第２の論理記憶デバイスとの間のマッピング関係を管理するマッピング処理部と、を備え、
前記切替処理部は、
前記第１の計算機から前記第２の計算機への前記業務の切替契機を検出し、
前記マッピング処理部に、前記第２の論理記憶デバイスの生成を指示する第１の生成要求を送信し、
前記第１の計算機が実行する業務に必要なデータを格納する前記第１の論理記憶デバイスを、前記第２の計算機の前記第２の論理記憶デバイスにマッピングするための第１の変更情報を生成し、
前記マッピング処理部に前記生成された第１の変更情報を含む第１の変更要求を送信し、
前記第１の計算機が実行する業務に必要なデータを格納する第１の論理記憶デバイスが、前記第２の計算機の第２の論理記憶デバイスにマッピングされた後、前記第２の計算機を起動し、
前記マッピング処理部は、
前記第１の生成要求に基づいて、前記第２の計算機の第２の論理記憶デバイスを生成し、
前記第１の変更情報に基づいて、前記第１の計算機が実行する業務に必要なデータを格納する第１の論理記憶デバイスを、前記第２の計算機の第２の論理記憶デバイスにマッピングすることを特徴とする計算機システム。
【請求項８】
請求項７に記載の計算機システムであって、
前記マッピング処理部は、前記第１の論理記憶デバイス及び前記第２の論理記憶デバイスのマッピング関係を管理するためのマッピング管理情報を保持し、
前記切替処理部は、
前記複数の計算機の各々と、前記ストレージシステムとの間の接続経路を管理するための経路情報と、
前記複数の第１の計算機の各々に提供される前記論理記憶デバイスを管理するための記憶デバイス管理情報と、を保持し、
前記切替処理部は、
前記切替契機を検出した後に、前記経路情報及び前記記憶デバイス管理情報を参照して、前記第１の計算機に提供される前記論理記憶デバイスを特定し、
前記特定された論理記憶デバイスが前記第１の論理記憶デバイスであるか否かを判定し、
前記特定された論理記憶デバイスが前記第１の論理記憶デバイスであると判定された場合、前記マッピング処理部に、前記第１の計算機の前記第２の論理記憶デバイスの生成を指示する第２の生成要求を送信し、
前記第１の計算機の第２の論理記憶デバイスに、前記特定された第１の論理記憶デバイスをマッピングするための第２の変更情報を生成し、
前記マッピング処理部に前記生成された第２の変更情報を含む第２の変更要求を送信し、
前記マッピング処理部は、
前記第２の生成要求に基づいて、前記第１の計算機の第２の論理記憶デバイスを生成し、
前記第２の変更情報に基づいて、前記特定された第１の論理記憶デバイスを、前記第１の計算機の第２の論理記憶デバイスにマッピングし、
前記第１の変更要求は、前記第１の計算機が実行する業務に必要なデータを格納する第１の論理記憶デバイスのマッピング先を、前記第１の計算機の第２の論理記憶デバイスから前記第２の計算機の第２の論理記憶デバイスに変更するための情報であることを特徴とする計算機システム。
【請求項９】
請求項８に記載の計算機システムであって、
前記切替処理部は、
前記記憶デバイス管理情報を参照することによって特定された前記第１の計算機に提供される論理記憶デバイスの容量が含まれる前記第１の生成要求を送信し、
前記記憶デバイス管理情報を参照することによって特定された前記第１の計算機に提供される前記第１の論理記憶デバイスの容量が含まれる前記第２の生成要求を送信することを特徴とする計算機システム。
【請求項１０】
請求項８に記載の計算機システムであって、
前記マッピング処理部は、
前記第１の変更要求を受信した場合に、前記第２の計算機の前記第２の論理記憶デバイスに、前記第１の計算機に提供される論理記憶デバイスに付与された識別情報を付与し、
前記第２の変更要求を受信した場合に、前記第１の計算機の前記第２の論理記憶デバイスに、前記第１の計算機に提供される第１の論理記憶デバイスに付与された識別情報を付与することを特徴とする計算機システム。
【請求項１１】
請求項８に記載の計算機システムであって、
前記切替処理部は、
一つ以上の前記第１の計算機及び一つ以上の前記第２の計算機から構成されるグループの登録指示を受け付けた場合に、前記第１の計算機に提供される論理記憶デバイスを特定し、
前記特定された論理記憶デバイスが前記第１の論理記憶デバイスであるか否かを判定し、
前記特定された論理記憶デバイスが前記第１の論理記憶デバイスであると判定された場合、前記ストレージシステムに、前記第１の計算機の第２の論理記憶デバイスの生成を指示する第３の生成要求を送信し、
前記特定された第１の論理記憶デバイスを、前記第１の計算機の第２の論理記憶デバイスにマッピングするための第３の変更情報を生成し、
前記マッピング処理部に前記生成された第３の変更情報を送信し、
前記マッピング処理部に前記第２の計算機の第２の論理記憶デバイスの生成を指示する第４の生成要求を送信し、
前記マッピング処理部は、
前記第３の生成要求に基づいて、前記第１の計算機の第２の論理記憶デバイスを生成し、
前記第３の変更情報に基づいて、前記特定された第１の論理記憶デバイスを、前記第１の計算機の第２の論理記憶デバイスにマッピングし、
前記第４の生成要求に基づいて、前記第２の計算機の第２の論理記憶デバイスを生成することを特徴とする計算機システム。
【請求項１２】
請求項１１に記載の計算機システムであって、
前記切替処理部は、
前記第４の生成要求を送信する場合に、前記記憶デバイス管理情報に基づいて、前記グループに含まれる前記一つ以上の第１の計算機に提供される論理記憶デバイスの最大数、及び最大容量を算出し、
前記グループに含まれる一つ以上の第１の計算機に提供される論理記憶デバイスの最大数、及び前記算出された論理記憶デバイスの最大容量を含む前記第４の生成要求を送信し、
前記マッピング処理部は、前記グループに含まれる一つ以上の第１の計算機に提供される論理記憶デバイスの最大容量と同一の容量の前記第２の論理記憶デバイスを、前記グループに含まれる一つ以上の第１の計算機に提供される論理記憶デバイスの最大数だけ生成することを特徴とする計算機システム。
【請求項１３】
ストレージシステムに接続される複数の計算機の切替処理を制御する管理計算機であって、
前記管理計算機は、プロセッサ、前記プロセッサに接続されるメモリ、及び前記プロセッサに接続されるＩ／Ｏデバイスを有し、
前記複数の計算機は、業務を実行する複数の第１の計算機、及び、前記複数の第１の計算機の各々が実行する業務を引き継ぐ複数の第２の計算機を含み、
前記ストレージシステムは、複数の記憶デバイスの記憶領域を用いて生成された論理記憶デバイスを前記第１の計算機に提供し、
前記論理記憶デバイスは、前記業務に必要なデータを格納する記憶領域である第１の論理記憶デバイスを含み、
前記管理計算機は、
前記第１の計算機から前記第２の計算機への前記業務の切替契機を検出し、
前記ストレージシステムに、前記第２の計算機に提供する仮想的な記憶領域である第２の論理記憶デバイスの生成を指示する第１の生成要求を送信し、
前記第１の計算機が実行する業務に必要なデータを格納する前記第１の論理記憶デバイスを、前記第２の計算機の前記第２の論理記憶デバイスにマッピングするための第１の変更情報を生成し、前記ストレージシステムに前記生成された第１の変更情報を含む第１の変更要求を送信し、
前記第２の計算機を起動することを特徴とする管理計算機。
【請求項１４】
請求項１３に記載の管理計算機であって、
前記管理計算機は、
前記複数の計算機の各々と、前記ストレージシステムとの間の接続経路を管理するための経路情報と、
前記複数の第１の計算機の各々に提供される前記論理記憶デバイスを管理するための記憶デバイス管理情報と、を保持し、
前記切替契機を検出した後に、前記経路情報及び前記記憶デバイス管理情報を参照して、前記第１の計算機に提供される前記論理記憶デバイスを特定し、
前記特定された論理記憶デバイスが前記第１の論理記憶デバイスであるか否かを判定し、
前記特定された論理記憶デバイスが前記第１の論理記憶デバイスであると判定された場合、前記ストレージシステムに、前記第１の計算機の前記第２の論理記憶デバイスの生成を指示する第２の生成要求を送信し、
前記第１の計算機の第２の論理記憶デバイスに、前記特定された第１の論理記憶デバイスをマッピングするための第２の変更情報を生成し、
前記ストレージシステムに前記生成された第２の変更情報を含む第２の変更要求を送信し、
前記第１の変更要求は、前記第１の計算機が実行する業務に必要なデータを格納する第１の論理記憶デバイスのマッピング先を、前記第１の計算機の第２の論理記憶デバイスから前記第２の計算機の第２の論理記憶デバイスに変更するための情報であることを特徴とする管理計算機。
【請求項１５】
請求項１４に記載の管理計算機であって、
前記記憶デバイス管理情報を参照することによって特定された前記第１の計算機に提供される論理記憶デバイスの容量が含まれる前記第１の生成要求を送信し、
前記記憶デバイス管理情報を参照することによって特定された前記第１の計算機に提供される前記第１の論理記憶デバイスの容量が含まれる前記第２の生成要求を送信することを特徴とする管理計算機。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の計算機を有する計算機システムにおいて、業務を実行する計算機の切替技術に関する。
【背景技術】
【０００２】
計算機システムにおいて、サーバに接続される外部のストレージ装置に格納される情報を用いて、サーバが業務を開始する起動方法が知られている。このような計算機システムでは、障害に対応するために、業務を実行する現用系サーバと業務を引き継ぐ予備系サーバとが予め設定された構成となっている。【０００３】
前述したような構成において、現用系サーバに障害が発生した場合、管理サーバ等が、予備系サーバのＨＢＡに、現用系サーバのＨＢＡに割り当てられているＷＷＮ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｎａｍｅ）を設定する（例えば、特許文献１参照）。これによって、現用系サーバから予備系サーバに切り替えられる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−１６４３０５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ストレージ装置には複数のサーバが接続されるため、ストレージ装置は、サーバのＨＢＡに割り当てられたＷＷＮとブートディスクとを対応づけて管理する。これによって、サーバがアクセス可能な記憶領域を適切に管理することができる。より具体的には、ストレージ装置は、現用系サーバと予備系サーバとを一つのホストグループとして管理し、ホストグループ毎にブートディスクを対応づける。【０００６】
しかし、特許文献１に記載の技術では、ストレージ装置のポート毎にホストグループを設定する必要があるため、現用系サーバ及び予備系サーバが同一のポートに接続されている必要があった。そのため、現用系サーバが接続されるポートとは異なるポートに接続されるサーバを予備系サーバとして設定することができなかった。したがって、一つのポートに多数のサーバが接続されることによってＩ／Ｏ負荷が増大するという問題があった。【０００７】
一方、現用系サーバが接続されるポートとは異なるポートに接続されるサーバを予備系サーバとして設定する場合、管理者は、予備系サーバに対して、複数の現用系サーバの経路情報等を反映した設定を行う必要がある。【０００８】
しかし、現用系サーバの数が非常に多い計算機システムでは、個々の現用系サーバの構成を把握するのは手間がかかるため、前述したような設定を行うのは困難である。【０００９】
本発明は、現用系サーバと異なるポートに接続されるサーバを予備系サーバとして自動的に設定し、現用系サーバから予備系サーバへの切り替えが可能な計算機システム、方法、及び装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、複数の計算機、ストレージシステム、及び管理計算機を備える計算機システムにおける計算機切替方法であって、複数の計算機の各々は、第１のプロセッサ、第１のプロセッサに接続される第１のメモリ、及び前記第１のプロセッサに接続される第１のＩ／Ｏデバイスを有し、管理計算機は、第２のプロセッサ、第２のプロセッサに接続される第２のメモリ、及び第２のプロセッサに接続される第２のＩ／Ｏデバイスを有し、前記ストレージシステムは、コントローラ、前記コントローラに接続される複数の記憶デバイス、及び前記コントローラに接続され、前記複数の計算機の各々を接続する複数のポートを有する。前記複数の計算機は、業務を実行する複数の第１の計算機、及び、前記複数の第１の計算機の各々が実行する業務を引き継ぐ複数の第２の計算機を含む。前記ストレージシステムは、前記複数の記憶デバイスの記憶領域を用いて生成された論理記憶デバイスを前記第１の計算機に提供する。前記論理記憶デバイスは、前記業務に必要なデータを格納する記憶領域である第１の論理記憶デバイスを含む。前記方法は、前記管理計算機が、第１の計算機から第２の計算機への前記業務の切替契機を検出する第１のステップと、前記管理計算機が、前記ストレージシステムに、前記第２の計算機に提供する仮想的な記憶領域である第２の論理記憶デバイスの生成を指示する第１の生成要求を送信する第２のステップと、前記ストレージシステムが、前記第１の生成要求に基づいて、前記第２の計算機の前記第２の論理記憶デバイスを生成する第３のステップと、前記管理計算機が、前記第１の計算機が実行する業務に必要なデータを格納する前記第１の論理記憶デバイスを、前記第２の計算機の第２の論理記憶デバイスにマッピングするための第１の変更情報を生成し、前記ストレージシステムに前記生成された第１の変更情報を含む第１の変更要求を送信する第４のステップと、前記ストレージシステムが、前記第１の変更情報に基づいて、前記第１の計算機が実行する業務に必要なデータを格納する第１の論理記憶デバイスを、前記第２の計算機の第２の論理記憶デバイスにマッピングする第５のステップと、前記管理計算機が、前記第２の計算機を起動する第６のステップと、を含むことを特徴とする。
【発明の効果】
【００１１】
本発明によれば、第１の計算機（現用系サーバ）とは異なるポートに接続される計算機を第２の計算機（予備系サーバ）として選択し、第２の計算機が第１の論理記憶デバイスにアクセスするための設定を自動的に行うことができる。これによって、第１の計算機から第２の計算機への切り替えが可能となる。【００１２】
前述した以外の課題、構成及び効果は、以下の実施形態の説明によって明らかにされる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施例１における計算機システムの構成を示すブロック図である。
【図２】本発明の実施例１におけるサーバのハードウェア構成の一例を示すブロック図である。
【図３】本発明の実施例１におけるストレージ装置のハードウェア構成及びソフトウェア構成の一例を示すブロック図である。
【図４】本発明の実施例１におけるサーバとストレージ装置との間の接続関係の一例を示す説明図である。
【図５】本発明の実施例１におけるサーバ管理テーブルの一例を示す説明図である。
【図６】本発明の実施例１における経路管理テーブルの一例を示す説明図である。
【図７】本発明の実施例１における記憶デバイス管理テーブルの一例を示す説明図である。
【図８】本発明の実施例１における仮想ＬＵマッピングテーブルの一例を示す説明図である。
【図９】本発明の実施例１におけるフェイルオーバ処理の流れを説明するシーケンス図である。
【図１０Ａ】本発明の実施例１の切替処理部が実行する処理を説明するフローチャートである。
【図１０Ｂ】本発明の実施例１の切替処理部が実行する処理を説明するフローチャートである。
【図１１】本発明の実施例１のサーバ検索部が実行する処理を説明するフローチャートである。
【図１２】本発明の実施例１のサーバ構成確認部が実行する処理を説明するフローチャートである。
【図１３】本発明の実施例１におけるＬＵ管理部が実行する処理を説明するフローチャートである。
【図１４】本発明の実施例１の仮想ＬＵマッピング処理部が実行する処理を説明するフローチャートである。
【図１５】本発明の実施例２における計算機システムの構成を示すブロック図である。
【図１６】本発明の実施例２におけるコールドスタンバイグループテーブルの一例を示す説明図である。
【図１７Ａ】本発明の実施例２における切替処理部がコールドスタンバイグループの設定時に実行する登録処理を説明するフローチャートである。
【図１７Ｂ】本発明の実施例２における切替処理部がコールドスタンバイグループの設定時に実行する登録処理を説明するフローチャートである。
【図１８】本発明の実施例２のサーバ構成確認部がコールドスタンバイグループの生成時に実行する処理を説明するフローチャートである。
【図１９】本発明の実施例２のサーバ構成確認部がフェイルオーバ時に実行する処理を説明するフローチャートである。
【図２０】本発明の実施例２のＬＵ管理部がフェイルオーバ時に実行する処理を説明するフローチャートである。
【図２１】本発明の実施例３における切替処理の流れを説明するシーケンス図である。
【図２２】本発明の実施例３の操作画面の一例を示す説明図である。
【図２３Ａ】本発明の実施例３の切替処理部が実行する処理を説明するフローチャートである。
【図２３Ｂ】本発明の実施例３の切替処理部が実行する処理を説明するフローチャートである。
【図２４Ａ】本発明の実施例３のサーバ構成確認部が実行する処理を説明するフローチャートである。
【図２４Ｂ】本発明の実施例３のサーバ構成確認部が実行する処理を説明するフローチャートである。
【発明を実施するための形態】
【００１４】
以下、実施例を、図面を用いて説明する。
【実施例１】
【００１５】
図１は、本発明の実施例１における計算機システムの構成を示すブロック図である。【００１６】
実施例１の計算機システムは、管理サーバ１００、複数のサーバ２００、ストレージ装置３００、及び管理端末４００から構成される。【００１７】
管理サーバ１００は、ネットワークを介して、複数のサーバ２００、ストレージ装置３００、及び管理端末４００と接続される。ネットワークとしては、ＷＡＮ（Ｗｉｄe  Ａｒｅａ  Ｎｅｔｗｏｒｋ）又はＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）が考えられる。なお、本発明はネットワークの接続形式に限定されない。【００１８】
また、複数のサーバ２００は、ネットワークを介して、ストレージ装置３００と接続される。ネットワークとしては、ＳＡＮ（Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）が考えられる。なお、本発明はネットワークの接続形式に限定されない。【００１９】
サーバ２００は、業務を実行する計算機である。本実施例では、現用系サーバ２００及び予備系サーバ２００が含まれる。現用系サーバ２００は、業務を実行するサーバであり、予備系サーバ２００は、現用系サーバ２００に障害が発生した場合に、業務を引き継ぐサーバである。また、本実施例では、予備系サーバ２００として設定されていないサーバ２００も含まれる。以下の説明では、予備系サーバ２００として設定されていないサーバ２００を候補サーバ２００とも記載する。【００２０】
現用系サーバ２００は、ストレージ装置３００によって提供されるＬＵ（Ｌｏｇｉｃａｌ  Ｕｎｉｔ）３３０を用いて、所定の業務を実行する。【００２１】
サーバ２００のハードウェア構成及びソフトウェア構成については、図２を用いて後述する。なお、現用系サーバ２００及び予備系サーバ２００は同一のハードウェア構成である。【００２２】
ストレージ装置３００は、現用系サーバ２００に記憶領域を提供する。本実施例では、ストレージ装置３００は、複数の記憶デバイス３０４（図３参照）を用いて複数のＬＵ３３０を生成し、各ＬＵ３３０を現用系サーバ２００に提供する。ストレージ装置３００のハードウェア構成及びソフトウェア構成については、図３を用いて後述する。【００２３】
なお、図１では、ストレージ装置３００は一つであるが、ストレージ装置３００が二つ以上あってもよい。【００２４】
管理端末４００は、計算機システムの管理者等が各種設定を行う場合に使用される計算機である。管理端末４００は、図示しないＣＰＵ、メモリ、及びＮＩＣを備える。また、管理端末４００は、キーボード及びマウス等の入力装置、並びにディスプレイ等の出力装置を備える。【００２５】
ここで、管理サーバ１００のハードウェア構成及びソフトウェア構成について説明する。【００２６】
管理サーバ１００は、複数のＣＰＵ１０１、メモリ１０２、記憶デバイス１０３、及び複数のＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）１０４を備える。なお、管理サーバ１００は、キーボード及びマウス等の入力装置、並びにディスプレイ等の出力装置を備えてもよい。【００２７】
ＣＰＵ１０１は、一つ以上のＣＰＵコアを含み、メモリ１０２に格納されるプログラムを実行する。ＣＰＵ１０１がプログラムを実行することによって、管理サーバ１００が備える機能を実現することができる。以下、プログラムを主体にして説明する場合、ＣＰＵ１０１によって当該プログラムが実行されていることを示す。【００２８】
メモリ１０２は、ＣＰＵ１０１によって実行されるプログラム及び当該プログラムの実行に必要な情報を格納する。メモリ１０２に格納されるプログラム及び情報については後述する。【００２９】
記憶デバイス１０３は、管理サーバ１００が管理する各種データを格納する。記憶デバイス１０３は、例えば、ＨＤＤ及びＳＳＤ等が考えられる。なお、メモリ１０２に格納されるプログラム及び情報は、記憶デバイス１０３に格納されてもよい。この場合、ＣＰＵ１０１が、記憶デバイス１０３からプログラム及び情報をメモリ１０２上にロードし、ロードされたプログラム及び情報を用いて所定の処理を実行する。【００３０】
ＮＩＣ１０４は、ネットワークを介して他の装置と通信するためのインタフェースである。本実施例では、管理サーバ１００は、管理用のネットワークに接続するためのＮＩＣ１０４及び業務用のネットワークに接続するためのＮＩＣ１０４を備える。【００３１】
次に、メモリ１０２に格納されるプログラム及び情報について説明する。【００３２】
メモリ１０２は、切替処理部１１０、サーバ検索部１２０、サーバ構成確認部１３０、及びＬＵ管理部１４０を実現するためのプログラムを格納する。また、メモリ１０２は、サーバ管理テーブル１６０、経路管理テーブル１７０、及び記憶デバイス管理テーブル１８０を格納する。【００３３】
切替処理部１１０は、現用系サーバ２００から予備系サーバ２００への切替処理を統括する。実施例１では、切替処理部１１０は、現用系サーバ２００の障害発生時に実行されるフェイルオーバ処理を統括する。【００３４】
サーバ検索部１２０は、現用系サーバ２００が実行する業務を引き継ぐための予備系サーバ２００を検索する。サーバ構成確認部１３０は、現用系サーバ２００及び予備系サーバ２００の構成に基づいて、仮想ＬＵ３３２（図４参照）の生成に必要な情報を生成する。【００３５】
ＬＵ管理部１４０は、ストレージ装置３００に対して、サーバ２００に提供する仮想ＬＵ３３２（図４参照）の生成を要求する。また、ＬＵ管理部１４０は、ストレージ装置３００に対して、現用系サーバ２００に提供するＬＵ３３０の変更を要求する。【００３６】
サーバ管理テーブル１６０は、サーバ２００の構成を管理するための情報を格納する。サーバ管理テーブル１６０の詳細については、図５を用いて後述する。経路管理テーブル１７０は、サーバ２００とストレージ装置３００との間を接続する経路に関する情報を格納する。経路管理テーブル１７０の詳細については、図６を用いて後述する。記憶デバイス管理テーブル１８０は、サーバ２００に提供されるＬＵ３３０に関する情報を格納する。記憶デバイス管理テーブル１８０の詳細については、図７を用いて後述する。【００３７】
図２は、本発明の実施例１におけるサーバ２００のハードウェア構成の一例を示すブロック図である。【００３８】
サーバ２００は、複数のＣＰＵ２０１、メモリ２０２、ディスク装置２０３、複数のＮＩＣ２０４、複数のＨＢＡ２０５、及びＢＭＣ（Ｂａｓｅｂｏａｒｄ  Ｍａｎａｇｅｍｅｎｔ  Ｃｏｎｔｒｏｌｌｅｒ）２０６を備える。なお、サーバ２００は、キーボード及びマウス等の入力装置、並びにディスプレイ等の出力装置を備えてもよい。【００３９】
ＣＰＵ２０１は、一つ以上のＣＰＵコアを備え、メモリ２０２に格納されるプログラムを実行する。ＣＰＵ２０１がプログラムを実行することによって、サーバ２００が備える機能を実現することができる。以下、プログラムを主体にして説明する場合、ＣＰＵ２０１によって当該プログラムが実行されていることを示す。【００４０】
メモリ２０２は、ＣＰＵ２０１によって実行されるプログラム及び当該プログラムの実行に必要な情報を格納する。本実施例では、現用系サーバ２００のメモリ２０２には、図示しないＯＳ、及びアプリケーション等のプログラムが格納される。一方、予備系サーバ２００及び候補サーバ２００は電源ＯＦＦの状態であるため、予備系サーバ２００及び候補サーバ２００のメモリ２０２には、前述したプログラムは格納されない。【００４１】
ＮＩＣ２０４は、ネットワークを介して、他の装置と通信するためのインタフェースである。本実施例では、サーバ２００は、管理用のネットワークに接続するためのＮＩＣ２０４及び業務用のネットワークに接続するためのＮＩＣ２０４を備える。【００４２】
ＨＢＡ２０５は、ストレージ装置３００にアクセスするためのインタフェースである。例えば、現用系サーバ２００は、起動時に用いられるデータを格納するＬＵにアクセスするためのＨＢＡ２０５と、アプリケーション用のデータを格納するＬＵにアクセスするためのＨＢＡ２０５とを備える。【００４３】
ＮＩＣ２０４には、固有の識別情報としてＭＡＣアドレスが付与され、また、ＨＢＡ２０５には、固有の識別情報としてＷＷＮが付与される。図２に示す例では、ＮＩＣ１にはＭＡＣ１が付与され、ＮＩＣ２にはＭＡＣ２が付与され、ＨＢＡ１にはＷＷＮ１が付与され、また、ＨＢＡ２にはＷＷＮ２が付与される。【００４４】
ディスク装置２０３は、業務の実行に必要な情報を格納する。例えば、アプリケーション等を実現するプログラムが格納される。【００４５】
ＢＭＣ２０６は、サーバ２００の状態を管理する。ＢＭＣ２０６は、サーバ２００の障害を監視する障害検出部２１０を含む。なお、ＢＭＣ２０６は、サーバ２００の電源を制御する電源制御部等も含む。【００４６】
障害検出部２１０は、サーバ２００の障害を検出した場合、管理サーバ１００に対して障害の発生を通知する。当該通知には、少なくともサーバ２００を特定するための識別情報が含まれる。【００４７】
図３は、本発明の実施例１におけるストレージ装置３００のハードウェア構成及びソフトウェア構成の一例を示すブロック図である。【００４８】
ストレージ装置３００は、コントローラ３０１、複数の記憶デバイス３０４、及び複数のポート３０５を備える。【００４９】
コントローラ３０１は、ストレージ装置３００全体の制御を行う。コントローラ３０１は、ＣＰＵ３０２及びメモリ３０３を含む。【００５０】
ＣＰＵ３０２は、一つ以上のＣＰＵコアを含み、メモリ３０３に格納されるプログラムを実行する。ＣＰＵ３０２がプログラムを実行することによって、管理サーバ１００が備える機能を実現することができる。以下、プログラムを主体にして説明する場合、ＣＰＵ３０２によって当該プログラムが実行されていることを示す。【００５１】
メモリ３０３は、ＣＰＵ３０２によって実行されるプログラム及び当該プログラムの実行に必要な情報を格納する。具体的には、メモリ３０３は、仮想ＬＵマッピング処理部３１０を実現するためのプログラム、及び仮想ＬＵマッピングテーブル３２０を備える。【００５２】
仮想ＬＵマッピング処理部３１０は、物理ＬＵ３３１（図４参照）と仮想ＬＵ３３２（図４参照）との間のマッピングを管理する。仮想ＬＵマッピングテーブル３２０は、物理ＬＵ３３１（図４参照）と仮想ＬＵ３３２（図４参照）との間のマッピング関係に関する情報を格納する。仮想ＬＵマッピングテーブル３２０の詳細については、図８を用いて後述する。【００５３】
記憶デバイス３０４は、サーバ２００に対して記憶領域を提供するために用いられる装置である。記憶デバイス３０４は、例えば、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）及びＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等が考えられる。本実施例では、複数の記憶デバイス３０４を用いてＲＡＩＤが構成される。【００５４】
ストレージ装置３００は、ＲＡＩＤボリュームを論理的に分割することによって、複数の物理ＬＵ３３１（図４参照）を生成する。物理ＬＵ３３１（図４参照）には、ＯＳ、アプリケーション等のプログラム、及び、各種データが格納される。また、ストレージ装置３００は、仮想的な記憶領域である仮想ＬＵ３３２（図４参照）を生成する。【００５５】
ポート３０５は、サーバ２００と接続するためのポートである。本実施例では、二つのポート３０５を図示しているが、ストレージ装置３００は、二つ以上のポート３０５を備えていてもよい。【００５６】
図４は、本発明の実施例１におけるサーバ２００とストレージ装置３００との間の接続関係の一例を示す説明図である。【００５７】
現用系サーバ１（２００−１）は、ＷＷＮ１が付与されたＨＢＡ１（２０５−１）を介してストレージ装置３００のポート１（３０５−１）に接続される。現用系サーバ２（２００−２）は、ＷＷＮ２が付与されたＨＢＡ２（２０５−２）を介してストレージ装置３００のポート１（３０５−１）に接続される。また、予備系サーバ２００−３は、ＷＷＮ３が付与されたＨＢＡ３（２０５−３）を介してストレージ装置３００のポート２（３０５−２）に接続される。【００５８】
本実施例のストレージ装置３００は、ポート３０５毎にホストグループを設定する。ホストグループとは、アクセス可能なＬＵ３３０を制御するためのグループである。ホストグループは、ポート３０５に接続されるサーバ２００のＷＷＮを一つ以上含む。【００５９】
図４に示す例では、ホストグループ１に含まれるサーバ２００は物理ＬＵ１（３３１−１）にアクセスするように設定され、ホストグループ２に含まれるサーバ２００は仮想ＬＵ１（３３２）にアクセスするように設定される。現用系サーバ１（２００−１）は、物理ＬＵ１（３３１−１）を記憶デバイスとして認識し、現用系サーバ２（２００−２）は、仮想ＬＵ１（３３２）を記憶デバイスとして認識する。【００６０】
ここで、ＬＵ３３０について説明する。本実施例では、ＬＵ３３０は、物理ＬＵ３３１及び仮想ＬＵ３３２を含む。【００６１】
物理ＬＵ３３１は、記憶デバイス３０４の記憶領域を論理的に分割することによって生成された記憶領域であり、ＯＳ（Ｏｐｅｒａｔｉｏｎｇ  Ｓｙｓｔｅｍ）及びアプリケーション等のプログラム及びプログラムの実行に必要な各種情報が格納される。仮想ＬＵ３３２は、仮想的な記憶領域であり、一つ以上の物理ＬＵ３３１と対応づけられる。すなわち、一つ以上の物理ＬＵ３３１が仮想ＬＵ３３２にマッピングされる。【００６２】
ストレージ装置３００は、仮想ＬＵ３３２と物理ＬＵ３３１との対応関係（マッピング関係）を仮想ＬＵマッピングテーブル３２０として管理する。したがって、ストレージ装置３００は、任意の仮想ＬＵ３３２へのアクセスを受け付けた場合、仮想ＬＵマッピングテーブル３２０を参照し、当該仮想ＬＵ３３２に対応づけられた物理ＬＵ３３１にアクセスする。【００６３】
物理ＬＵ３３１及び仮想ＬＵ３３２には、デバイスＩＤが付与される。サーバ２００は、デバイスＩＤに基づいて、ストレージ装置３００にアクセスする。本実施例では、物理ＬＵ３３１及び仮想ＬＵ３３２には同一種類のデバイスＩＤが付与されるため、現用系サーバ２００は、物理ＬＵ３３１及び仮想ＬＵ３３２のいずれも一つの記憶デバイスとして認識する。【００６４】
以下の説明では、物理ＬＵ３３１及び仮想ＬＵ３３２を区別しない場合、ＬＵ３３０と記載する。また、以下の説明では、現用系サーバ２００に提供される物理ＬＵ３３１又は仮想ＬＵ３３２を提供ＬＵとも記載する。【００６５】
図４に示す例は、現用系サーバ１（２００−１）は、ＨＢＡ１（２０５−１）、ポート１（３０５−１）を介して物理ＬＵ１（３３１−１）にアクセスし、現用系サーバ２（３０５−２）は、ＨＢＡ２（２０５−２）、ポート１（３０５−１）を介して仮想ＬＵ１（３３２）にアクセスする。また、ストレージ装置３００は、仮想ＬＵ１（３３２）に対するアクセスを受け付けると、物理ＬＵ２（３３１−２）にアクセスする。実施例１では、予備系サーバ２００−３には、ＬＵ３３０が提供されない。【００６６】
図５は、本発明の実施例１におけるサーバ管理テーブル１６０の一例を示す説明図である。【００６７】
サーバ管理テーブル１６０は、サーバＩＤ５０１、ＣＰＵ情報５０２、メモリ情報５０３、Ｉ／Ｏデバイス情報５０４、及び状態５０５を含む。【００６８】
サーバＩＤ５０１は、サーバ２００を一意に識別するための識別子を格納する。【００６９】
ＣＰＵ情報５０２は、サーバ２００が備えるＣＰＵ２０１に関する情報を格納する。ＣＰＵ情報５０２は、ＣＰＵ数５０６及び周波数５０７を含む。ＣＰＵ数５０６は、サーバ２００が備えるＣＰＵ２０１の数を格納する。周波数５０７は、サーバ２００が備えるＣＰＵ２０１の周波数を格納する。【００７０】
メモリ情報５０３は、サーバ２００が備えるメモリ２０２に関する情報を格納する。本実施例ではメモリ情報５０３には、メモリ２０２の容量を示す値が格納される。【００７１】
Ｉ／Ｏデバイス情報５０４は、サーバ２００が備えるＩ／Ｏデバイスに関する情報である。Ｉ／Ｏデバイス情報５０４は、ＮＩＣ５０８及びＨＢＡ５０９を含む。ＮＩＣ５０８は、サーバ２００が備えるＮＩＣ２０４のＭＡＣアドレスを格納する。ＨＢＡ５０９は、サーバ２００が備えるＨＢＡ２０５のＷＷＮを格納する。【００７２】
ＮＩＣ５０８には、サーバ２００が備えるＮＩＣ２０４の数だけＭＡＣアドレスが格納され、また、ＨＢＡ５０９には、サーバ２００が備えるＨＢＡ２０５の数だけＷＷＮが格納される。例えば、サーバ２００が二つのＮＩＣ２０４と三つのＨＢＡ２０５を備える場合、ＮＩＣ５０８には二つのＭＡＣアドレスが格納され、ＨＢＡ５０９には三つのＷＷＮが格納される。【００７３】
状態５０５は、サーバ２００が現用系サーバ２００又は予備系サーバ２００の何れであるかを示す情報を格納する。本実施例では、現用系サーバ２００に対応するエントリの状態５０５には「現用系」が格納され、予備系サーバ２００に対応するエントリの状態５０５には「予備系」が格納される。なお、候補サーバ２００に対応するエントリの状態５０５は空欄であるものとする。【００７４】
本実施例では、後述するように、候補サーバ２００の中から予備系サーバ２００が選択される。【００７５】
図６は、本発明の実施例１における経路管理テーブル１７０の一例を示す説明図である。【００７６】
経路管理テーブル１７０は、サーバＩＤ６０１、ＨＢＡ６０２、ストレージ装置ＩＤ６０３、ポート番号６０４、ホストグループＩＤ６０５、及びデバイスＩＤ６０６を含む。【００７７】
サーバＩＤ６０１は、サーバ２００を一意に識別するための識別子を格納する。サーバＩＤ６０１は、サーバＩＤ５０１と同一の情報である。ＨＢＡ６０２は、サーバ２００が備えるＨＢＡ２０５に関する情報を格納する。ＨＢＡ６０２は、ＨＢＡ５０９と同一の情報である。【００７８】
ストレージ装置ＩＤ６０３は、サーバ２００が接続するストレージ装置３００を一意に識別するための識別子を格納する。ポート番号６０４は、サーバ２００が接続されるポート３０５の識別番号を格納する。ホストグループＩＤ６０５は、ポート番号６０４に対応するポート３０５に対して設定されたホストグループの識別子を格納する。【００７９】
デバイスＩＤ６０６は、サーバ２００に提供されるＬＵ３３０、すなわち、提供ＬＵを一意に識別するための識別子を格納する。以下の説明では、ＬＵ３３０の識別子をデバイスＩＤとも記載する。【００８０】
実施例１では、予備系サーバ２００及び候補サーバ２００には、ＬＵ３３０が提供されないため、予備系サーバ２００に対応するエントリのホストグループＩＤ６０５及びデバイスＩＤ６０６は空欄となる。【００８１】
図７は、本発明の実施例１における記憶デバイス管理テーブル１８０の一例を示す説明図である。【００８２】
記憶デバイス管理テーブル１８０は、ストレージ装置ＩＤ７０１、デバイスＩＤ７０２、容量７０３、及び種別７０４を含む。【００８３】
ストレージ装置ＩＤ７０１は、ストレージ装置３００を一意に識別するための識別子を格納する。ストレージ装置ＩＤ７０１は、ストレージ装置ＩＤ６０３と同一の情報である。デバイスＩＤ７０２は、提供ＬＵを一意に識別するための識別子を格納する。デバイスＩＤ７０２は、デバイスＩＤ６０６と同一の情報である。【００８４】
容量７０３は、提供ＬＵの記憶容量を示す値を格納する。種別７０４は、提供ＬＵの種別を示す情報を格納する。本実施例では、提供ＬＵが物理ＬＵ３３１である場合、種別７０４には「物理」が格納され、提供ＬＵが仮想ＬＵ３３２である場合、種別７０４には「仮想」が格納される。【００８５】
図８は、本発明の実施例１における仮想ＬＵマッピングテーブル３２０の一例を示す説明図である。【００８６】
仮想ＬＵマッピングテーブル３２０は、物理デバイスＩＤ８０１及び仮想デバイスＩＤ８０２を含む。【００８７】
物理デバイスＩＤ８０１は、物理ＬＵ３３１のデバイスＩＤを格納する。仮想デバイスＩＤ８０２は、仮想ＬＵ３３２のデバイスＩＤを格納する。【００８８】
図９は、本発明の実施例１におけるフェイルオーバ処理の流れを説明するシーケンス図である。【００８９】
ＢＭＣ２０６の障害検出部２１０は、現用系サーバ２００の障害の発生を検出すると（ステップＳ９０１）、管理サーバ１００に障害発生を通知する（ステップＳ９０２）。当該通知には、現用系サーバ２００の識別子が含まれる。【００９０】
管理サーバ１００は、現用系サーバ２００から障害発生の通知を受信すると、現用系サーバ２００の障害として検出し（ステップＳ９０３）、予備系サーバ２００を検索する（ステップＳ９０４）。【００９１】
管理サーバ１００は、現用系サーバ２００に停止指示を送信する（ステップＳ９０５）。【００９２】
現用系サーバ２００は、停止指示を受信すると、現用系サーバ２００自身を停止する（ステップＳ９０６）。具体的には、ＢＭＣ２０６が、停止指示を受信し、現用系サーバ２００を電源ＯＦＦの状態に遷移させる。【００９３】
管理サーバ１００は、ストレージ装置３００に、現用系サーバ２００の仮想ＬＵ生成要求を送信する（ステップＳ９０７）。【００９４】
ストレージ装置３００は、現用系サーバ２００の仮想ＬＵ生成要求を受信すると、当該要求に基づいて仮想ＬＵ３３２を生成し（ステップＳ９０８）、管理サーバ１００に現用系サーバ２００の仮想ＬＵ３３２の生成が完了した旨を通知する（ステップＳ９０９）。以下の説明では、現用系サーバ２００の仮想ＬＵ３３２の生成が完了した旨の通知を第１の生成完了通知とも記載する。【００９５】
管理サーバ１００は、第１の生成完了通知を受信した後、ストレージ装置３００に、提供ＬＵの変更要求を送信する（ステップＳ９１０）。【００９６】
ストレージ装置３００は、提供ＬＵの変更要求を受信すると、現用系サーバ２００に生成された仮想ＬＵ３３２を提供し、物理ＬＵ３３１を仮想ＬＵ３３２にマッピングする（ステップＳ９１１）。【００９７】
管理サーバ１００は、現用系サーバ２００及び予備系サーバ２００の構成を確認し（ステップＳ９１２）、予備系サーバ２００の仮想ＬＵ生成要求を送信する（ステップＳ９１３）。【００９８】
ストレージ装置３００は、予備系サーバ２００の仮想ＬＵ生成要求を受信すると、当該要求に基づいて仮想ＬＵ３３２を生成し（ステップＳ９１４）、管理サーバ１００に予備系サーバ２００の仮想ＬＵ３３２の生成が完了した旨を通知する（ステップＳ９１５）。以下の説明では、予備系サーバ２００の仮想ＬＵ３３２の生成が完了した旨の通知を第２の生成完了通知とも記載する。【００９９】
管理サーバ１００は、第２の生成完了通知を受信した後、ストレージ装置３００に、マッピング変更要求を送信する（ステップＳ９１６）。【０１００】
ストレージ装置３００は、マッピング変更要求を受信すると、物理ＬＵ３３１がマッピングされる仮想ＬＵ３３２を変更する（ステップＳ９１７）。これによって、物理ＬＵ３３１のマッピング先が現用系サーバ２００の仮想ＬＵ３３２から予備系サーバ２００の仮想ＬＵ３３２に変更される。【０１０１】
その後、管理サーバ１００は、予備系サーバ２００に起動指示を送信する（ステップＳ９１８）。【０１０２】
予備系サーバ２００は、起動指示を受信すると、予備系サーバ２００を起動し（ステップＳ９１９）、新たな現用系サーバ２００として業務を再開する（ステップＳ９２０）。具体的には、ＢＭＣ２０６が、起動指示を受信し、予備系サーバ２００を電源ＯＮの状態に遷移させる。また、予備系サーバ２００は、提供ＬＵにアクセスしてＯＳ及びアプリケーション等のプログラムを読み出し、業務を再開する。【０１０３】
次に、管理サーバ１００及びストレージ装置３００が実行する処理の詳細について説明する。【０１０４】
図１０Ａ及び図１０Ｂは、本発明の実施例１の切替処理部１１０が実行する処理を説明するフローチャートである。【０１０５】
切替処理部１１０は、現用系サーバ２００の障害を検出する（ステップＳ１００１）。【０１０６】
具体的には、切替処理部１１０は、ＢＭＣ２０６の障害検出部２１０から、現用系サーバ２００の障害発生の通知を受信すると、現用系サーバ２００の障害として検出する。現用系サーバ２００の障害発生の通知には、当該現用系サーバ２００の識別子が含まれる。【０１０７】
切替処理部１１０は、サーバ検索部１２０を呼び出す（ステップＳ１００２）。このとき、切替処理部１１０は、サーバ検索部１２０に現用系サーバ２００の識別子を入力する。【０１０８】
切替処理部１１０は、サーバ検索部１２０から処理結果が出力されるまで待ち状態となる。なお、サーバ検索部１２０が実行する検索処理の詳細については、図１１を用いて後述する。【０１０９】
切替処理部１１０は、サーバ検索部１２０から出力された処理結果に基づいて、予備系サーバ２００となる候補サーバ２００が存在するか否かを判定する（ステップＳ１００３）。【０１１０】
本実施例では、処理結果にサーバ２００の識別子が含まれる場合、予備系サーバ２００となる候補サーバ２００が存在すると判定される。【０１１１】
予備系サーバ２００となる候補サーバ２００が存在しないと判定された場合、切替処理部１１０は、管理者に対してアラートを出力し（ステップＳ１００４）、処理を終了する。【０１１２】
予備系サーバ２００となる候補サーバ２００が存在すると判定された場合、切替処理部１１０は、現用系サーバ２００に停止指示を送信する（ステップＳ１００５）。【０１１３】
切替処理部１１０は、経路管理テーブル１７０及び記憶デバイス管理テーブル１８０を参照して、提供ＬＵが仮想ＬＵ３３２であるか否かを判定する（ステップＳ１００６）。具体的には、以下のような処理が実行される。【０１１４】
切替処理部１１０は、現用系サーバ２００の識別子に基づいて経路管理テーブル１７０を参照し、現用系サーバ２００に対応するエントリを検索する。切替処理部１１０は、検索されたエントリのデバイスＩＤ６０６から提供ＬＵのデバイスＩＤを取得する。【０１１５】
切替処理部１１０は、取得されたデバイスＩＤに基づいて記憶デバイス管理テーブル１８０を参照し、提供ＬＵに対応するエントリを検索する。切替処理部１１０は、検索されたエントリの種別７０４が「仮想」であるか否かを判定する。検索されたエントリの種別７０４が「仮想」であると判定された場合、切替処理部１１０は、提供ＬＵが仮想ＬＵ３３２であると判定する。【０１１６】
なお、現用系サーバ２００に複数の提供ＬＵが存在する場合、以下のような二つの処理が考えられる。【０１１７】
一つの方法は、現用系サーバ２００の全ての提供ＬＵについて判定する方法である。具体的には、切替処理部１１０は、経路管理テーブル１７０を参照し、全ての提供ＬＵのデバイスＩＤを取得する。切替処理部１１０は、記憶デバイス管理テーブル１８０を参照し、全ての提供ＬＵのエントリを検索し、検索された全てのエントリの種別７０４が「仮想」であるか否かを判定する。少なくとも一つのエントリの種別７０４が「仮想」でないと判定された場合、切替処理部１１０は、提供ＬＵが仮想ＬＵ３３２ではないと判定する。【０１１８】
他の方法は、現用系サーバ２００の起動ディスクに対応する提供ＬＵについて判定する方法である。具体的には、切替処理部１１０は、経路管理テーブル１７０を参照し、起動ディスクに対応する提供ＬＵのデバイスＩＤを取得する。切替処理部１１０は、記憶デバイス管理テーブル１８０を参照し、提供ＬＵのエントリを検索し、検索されたエントリの種別７０４が「仮想」であるか否かを判定する。検索されたエントリの種別７０４が「仮想」でないと判定された場合、切替処理部１１０は、提供ＬＵが仮想ＬＵ３３２ではないと判定する。【０１１９】
以上がステップＳ１００６の処理である。【０１２０】
提供ＬＵが仮想ＬＵ３３２であると判定された場合、切替処理部１１０は、ステップＳ１００８に進む。【０１２１】
提供ＬＵが仮想ＬＵ３３２でないと判定された場合、切替処理部１１０は、現用系サーバ２００に提供する仮想ＬＵ３３２を生成するために、ＬＵ管理部１４０を呼び出す（ステップＳ１００７）。このとき、切替処理部１１０は、ＬＵ管理部１４０に現用系サーバ２００の識別子、及び提供ＬＵ（物理ＬＵ３３１）のデバイスＩＤを入力する。【０１２２】
切替処理部１１０は、ＬＵ管理部１４０から処理完了が通知されるまで待ち状態となる。なお、ＬＵ管理部１４０が実行する処理の詳細については、図１３を用いて後述する。【０１２３】
切替処理部１１０は、ＬＵ管理部１４０から処理完了の通知を受け付けた後、サーバ構成確認部１３０を呼び出す（ステップＳ１００８）。このとき、切替処理部１１０は、サーバ構成確認部１３０に現用系サーバ２００の識別子及び予備系サーバ２００の識別子を入力する。【０１２４】
切替処理部１１０は、サーバ構成確認部１３０から処理結果が出力されるまで待ち状態となる。なお、サーバ構成確認部１３０が実行する処理の詳細については、図１２を用いて後述する。【０１２５】
切替処理部１１０は、予備系サーバ２００に提供する仮想ＬＵ３３２を生成するために、ＬＵ管理部１４０を呼び出す（ステップＳ１００９）。このとき、切替処理部１１０は、ＬＵ管理部１４０に、現用系サーバ２００の識別子、及びサーバ構成確認部１３０から出力された処理結果を入力する。なお、出力された処理結果には、後述するように、提供ＬＵの容量、予備系サーバ２００のＷＷＮ、及び予備系サーバ２００が接続されるポート３０５の識別子が含まれる。【０１２６】
切替処理部１１０は、ＬＵ管理部１４０から処理完了が通知されるまで待ち状態となる。なお、ＬＵ管理部１４０が実行する処理の詳細については、図１３を用いて後述する。【０１２７】
切替処理部１１０は、ＬＵ管理部１４０から処理完了の通知を受け付けた後、予備系サーバ２００に起動指示を送信し（ステップＳ１０１０）、処理を終了する。【０１２８】
本実施例では、ステップＳ１００７の処理によって、現用系サーバ２００に仮想ＬＵ３３２が提供される。フェイルバック処理が実行される場合、予め、現用系サーバ２００に仮想ＬＵ３３２を提供することによって、フェイルバック処理のオーバヘッドを低減できる効果がある。また、全ての現用系サーバ２００に仮想ＬＵ３３２を提供することによって、サーバの切替処理が容易となる。【０１２９】
なお、フェイルオーバ処理の効率を上げるために、ステップＳ１００６からステップＳ１００８の処理を省略してもよい。【０１３０】
図１１は、本発明の実施例１のサーバ検索部１２０が実行する処理を説明するフローチャートである。【０１３１】
サーバ検索部１２０は、切替処理部１１０から呼び出されると処理を開始する。なお、サーバ検索部１２０には、現用系サーバ２００の識別子が入力される。【０１３２】
サーバ検索部１２０は、現用系サーバ２００の構成情報及び経路情報を取得する（ステップＳ１１０１）。【０１３３】
具体的には、サーバ検索部１２０は、入力された現用系サーバ２００の識別子に基づいてサーバ管理テーブル１６０を参照して、現用系サーバ２００に対応するエントリを検索する。また、サーバ検索部１２０は、入力された現用系サーバ２００の識別子に基づいて経路管理テーブル１７０を参照して、現用系サーバ２００に対応するエントリを検索する。【０１３４】
サーバ検索部１２０は、取得された現用系サーバ２００の構成情報及び経路情報に基づいて、候補サーバ２００の中から現用系サーバ２００が実行する業務を継続可能なサーバ２００を検索する（ステップＳ１１０２）。具体的には、以下のような処理が実行される。【０１３５】
サーバ検索部１２０は、サーバ管理テーブル１６０を参照して、状態５０５が空欄のエントリ、すなわち、候補サーバ２００を抽出する。サーバ検索部１２０は、抽出されたエントリのサーバＩＤ５０１に基づいて経路管理テーブル１７０を参照して、候補サーバ２００の経路情報を取得する。【０１３６】
サーバ検索部１２０は、現用系サーバ２００の経路情報及び候補サーバ２００の経路情報に基づいて、現用系サーバ２００が接続されるストレージ装置３００と同一のストレージ装置３００に接続される候補サーバ２００を抽出する。すなわち、ストレージ装置ＩＤ６０３が、現用系サーバ２００が接続されるストレージ装置３００の識別子と一致するエントリが抽出される。【０１３７】
サーバ検索部１２０は、抽出されたエントリのサーバＩＤ６０１のリストを生成する。サーバ検索部１２０は、生成されたリストの中から一つの候補サーバ２００を選択する。【０１３８】
サーバ検索部１２０は、取得された現用系サーバの構成情報と、選択された候補サーバ２００の構成情報とを比較し、現用系サーバ２００と候補サーバ２００とが同一のハードウェア構成であるか否かを判定する。【０１３９】
現用系サーバ２００と候補サーバ２００とが同一のハードウェア構成である場合、サーバ検索部１２０は、選択された候補サーバ２００を、業務を継続可能なサーバ２００に決定する。【０１４０】
なお、前述した検索方法は一例であって、本発明はこれに限定されない。【０１４１】
次に、サーバ検索部１２０は、業務を継続可能なサーバ２００が存在するか否か判定する（ステップＳ１１０３）。【０１４２】
業務を継続可能なサーバ２００が存在しないと判定された場合、サーバ検索部１２０は、エラーを示す情報を含む処理結果を出力し（ステップＳ１１０５）、処理を終了する。【０１４３】
この場合、ステップＳ１００３において、切替処理部１１０は、予備系サーバ２００となる候補サーバ２００が存在しないと判定する。【０１４４】
業務を継続可能なサーバが存在すると判定された場合、サーバ検索部１２０は、検索されたサーバ２００を予備系サーバ２００に決定する（ステップＳ１１０４）。その後、サーバ検索部１２０は、予備系サーバ２００の識別子を含む処理結果を出力し（ステップＳ１１０５）、処理を終了する。【０１４５】
また、サーバ検索部１２０は、検索された候補サーバ２００に対応するエントリの状態５０５に「予備」を格納する。【０１４６】
図１２は、本発明の実施例１のサーバ構成確認部１３０が実行する処理を説明するフローチャートである。【０１４７】
サーバ構成確認部１３０は、切替処理部１１０から呼び出されると処理を開始する。なお、サーバ構成確認部１３０には、現用系サーバ２００の識別子及び予備系サーバ２００の識別子が入力される。【０１４８】
サーバ構成確認部１３０は、経路管理テーブル１７０を参照して、提供ＬＵを特定する（ステップＳ１２０１）。【０１４９】
具体的には、サーバ構成確認部１３０は、入力された現用系サーバ２００の識別子に基づいて経路管理テーブル１７０を参照し、現用系サーバ２００に対応するエントリを検索する。サーバ構成確認部１３０は、検索されたエントリのデバイスＩＤ６０６から提供ＬＵのデバイスＩＤを取得する。【０１５０】
サーバ構成確認部１３０は、記憶デバイス管理テーブル１８０を参照して、特定された提供ＬＵの情報を取得する（ステップＳ１２０２）。【０１５１】
具体的には、サーバ構成確認部１３０は、特定された提供ＬＵのデバイスＩＤに基づいて記憶デバイス管理テーブル１８０を参照し、提供ＬＵに対応するエントリを検索する。サーバ構成確認部１３０は、検索されたエントリの容量７０３に格納される値を取得する。【０１５２】
サーバ構成確認部１３０は、経路管理テーブル１７０を参照して、予備系サーバ２００の経路情報を取得する（ステップＳ１２０３）。【０１５３】
具体的には、サーバ構成確認部１３０は、入力された予備系サーバ２００の識別子に基づいて経路管理テーブル１７０を参照し、予備系サーバ２００に対応するエントリを検索する。サーバ構成確認部１３０は、検索されたエントリのＨＢＡ６０２及びポート番号６０４に格納される値を取得する。【０１５４】
サーバ構成確認部１３０は、切替処理部１１０に取得された情報を含む処理結果を出力し（ステップＳ１２０４）、処理を終了する。【０１５５】
処理結果には、提供ＬＵの容量、予備系サーバ２００のＷＷＮ、及び予備系サーバ２００が接続されるポート３０５の識別子が含まれる。【０１５６】
図１３は、本発明の実施例１におけるＬＵ管理部１４０が実行する処理を説明するフローチャートである。【０１５７】
ＬＵ管理部１４０は、切替処理部１１０から呼び出されると処理を開始する。なお、ＬＵ管理部１４０が実行する処理は、切替処理部１１０からの呼出契機の指示によって以下に示すように分岐する。【０１５８】
ＬＵ管理部１４０は、呼出契機の指示が現用系サーバ２００の仮想ＬＵ３３２の生成指示であるか否かを判定する（ステップＳ１３０１）。【０１５９】
具体的には、ＬＵ管理部１４０は、切替処理部１１０から入力された情報に基づいて、現用系サーバ２００の仮想ＬＵ生成要求に基づく処理であるか否かを判定する。現用系サーバの識別子、及び物理ＬＵ３３１のデバイスＩＤが入力された場合、ＬＵ管理部１４０は、現用系サーバ２００の仮想ＬＵ３３２の生成指示であると判定する。一方、現用系サーバ２００の識別子、提供ＬＵの容量、予備系サーバ２００のＷＷＮ、及び予備系サーバ２００が接続されるポート３０５の識別子が入力された場合、ＬＵ管理部１４０は、予備系サーバ２００の仮想ＬＵ３３２の生成指示であると判定する。【０１６０】
呼出契機の指示が現用系サーバ２００の仮想ＬＵ生成指示であると判定された場合、ＬＵ管理部１４０は、ストレージ装置３００に、現用系サーバ２００の仮想ＬＵ生成要求を送信する（ステップＳ１３０２）。【０１６１】
具体的には、ＬＵ管理部１４０は、入力された物理ＬＵ３３１のデバイスＩＤに基づいて記憶デバイス管理テーブル１８０を参照し、物理ＬＵ３３１に対応するエントリを検索する。ＬＵ管理部１４０は、検索されたエントリの容量７０３に格納される値を取得する。ＬＵ管理部１４０は、ストレージ装置３００に、取得された値が含まれる現用系サーバ２００の仮想ＬＵ生成要求を送信する。これによって、物理ＬＵ３３１と同一容量の仮想ＬＵ３３２が生成される。【０１６２】
ＬＵ管理部１４０は、ストレージ装置３００から生成完了通知を受信するまで待ち状態となる。【０１６３】
ＬＵ管理部１４０は、ストレージ装置３００から生成完了通知を受信した後、ＬＵ割当変更情報を生成する（ステップＳ１３０３）。具体的には、以下のような処理が実行される。【０１６４】
ＬＵ管理部１４０は、記憶デバイス管理テーブル１８０を参照し、物理ＬＵ３３１に新たに付与するデバイスＩＤを決定する。本実施例では、ＬＵ管理部１４０は、他のデバイスＩＤと重複しないように、デバイスＩＤを決定する。【０１６５】
ＬＵ管理部１４０は、入力された物理ＬＵ３３１のデバイスＩＤを生成された仮想ＬＵ３３２に付与し、決定された新たなデバイスＩＤを物理ＬＵ３３１に付与するための情報を生成する。当該情報が割当変更情報となる。【０１６６】
以上がステップＳ１３０３の処理である。【０１６７】
次に、ＬＵ管理部１４０は、ストレージ装置３００に生成された割当変更情報を含む提供ＬＵの変更要求を送信する（ステップＳ１３０４）。ＬＵ管理部１４０は、記憶デバイス管理テーブル１８０を更新し（ステップＳ１３０５）、切替処理部１１０に処理の完了を通知し、その後処理を終了する。【０１６８】
具体的には、ＬＵ管理部１４０は、入力された物理ＬＵ３３１のデバイスＩＤに基づいて記憶デバイス管理テーブル１８０を参照し、物理ＬＵ３３１に対応するエントリを検索する。ＬＵ管理部１４０は、検索されたエントリの種別７０４を「物理」から「仮想」に変更する。【０１６９】
ステップＳ１３０１において、呼出契機の指示が予備系サーバ２００の仮想ＬＵ３３２の生成指示であると判定された場合、ＬＵ管理部１４０は、ストレージ装置３００に、予備系サーバ２００の仮想ＬＵ生成要求を送信する（ステップＳ１３０６）。【０１７０】
具体的には、ＬＵ管理部１４０は、ストレージ装置３００に、入力された提供ＬＵの容量を示す値が含まれる予備系サーバ２００の仮想ＬＵ生成要求を送信する。【０１７１】
ＬＵ管理部１４０は、ストレージ装置３００から生成完了通知を受信するまで待ち状態となる。【０１７２】
ＬＵ管理部１４０は、ストレージ装置３００から生成完了通知を受信した後、マッピング変更情報を生成する（ステップＳ１３０７）。具体的には、以下のような処理が実行される。【０１７３】
ＬＵ管理部１４０は、記憶デバイス管理テーブル１８０を参照し、生成された予備系サーバ２００の仮想ＬＵ３３２に付与するデバイスＩＤを決定する。また、ＬＵ管理部１４０は、経路管理テーブル１７０を参照し、予備系サーバ２００が接続されるポート３０５に設定するホストグループの識別子を決定する。【０１７４】
ＬＵ管理部１４０は、入力された現用系サーバ２００の識別子に基づいて経路管理テーブル１７０を参照し、提供ＬＵのデバイスＩＤを取得する。【０１７５】
ＬＵ管理部１４０は、現用系サーバ２００の識別子、提供ＬＵのデバイスＩＤ、予備系サーバ２００の仮想ＬＵ３３２のデバイスＩＤ、予備系サーバ２００が接続されるポート３０５の識別子、当該ポート３０５に設定するホストグループの識別子、及び予備系サーバ２００のＷＷＮに基づいて、物理ＬＵ３３１のマッピング先を現用系サーバ２００の仮想ＬＵ３３２から予備系サーバ２００の仮想ＬＵ３３２に変更するための情報を生成する。当該情報がマッピング変更情報となる。【０１７６】
以上が、ステップＳ１３０７の処理である。【０１７７】
次に、ＬＵ管理部１４０は、ストレージ装置３００に生成されたマッピング変更情報を含むマッピング変更要求を送信する（ステップＳ１３０８）。ＬＵ管理部１４０は、経路管理テーブル１７０及び記憶デバイス管理テーブル１８０を更新し（ステップＳ１３０９）、切替処理部１１０に処理の完了を通知し、その後処理を終了する。具体的には、以下のような処理が実行される。【０１７８】
ＬＵ管理部１４０は、経路管理テーブル１７０を参照し、現用系サーバ２００、及び予備系サーバ２００に対応するエントリを検索する。なお、予備系サーバ２００に対応するエントリは、ＷＷＮ及びポート３０５の識別番号に基づいて検索される。【０１７９】
ＬＵ管理部１４０は、現用系サーバ２００に対応するエントリのホストグループＩＤ６０５及びデバイスＩＤ６０６に格納される値を削除する。ＬＵ管理部１４０は、予備系サーバ２００に対応するエントリのホストグループＩＤ６０５にステップＳ１３０７において決定されたホストグループの識別子を格納する。ＬＵ管理部１４０は、予備系サーバ２００に対応するエントリのデバイスＩＤ６０６にステップＳ１３０７において決定された仮想ＬＵ３３２のデバイスＩＤを格納する。【０１８０】
ＬＵ管理部１４０は、記憶デバイス管理テーブル１８０に、仮想ＬＵ３３２のエントリを追加する。当該エントリのデバイスＩＤ７０２には、ステップＳ１３０７において決定された仮想ＬＵ３３２のデバイスＩＤが格納され、容量７０３には、ステップＳ１３０６において取得された提供ＬＵの容量が格納され、種別７０４には、「仮想」が格納される。【０１８１】
以上がステップＳ１３０９の処理である。【０１８２】
図１４は、本発明の実施例１の仮想ＬＵマッピング処理部３１０が実行する処理を説明するフローチャートである。【０１８３】
仮想ＬＵマッピング処理部３１０は、現用系サーバ２００の仮想ＬＵ生成要求、又は、予備系サーバ２００の仮想ＬＵ生成要求を受信すると処理を開始する。【０１８４】
仮想ＬＵマッピング処理部３１０は、受信した仮想ＬＵ生成要求に基づいて、仮想ＬＵ３３２を生成する（ステップＳ１４０１）。【０１８５】
具体的には、仮想ＬＵマッピング処理部３１０は、仮想ＬＵ生成要求に含まれる提供ＬＵの容量に基づいて、当該提供ＬＵと同一容量の仮想ＬＵ３３２を生成する。仮想ＬＵマッピング処理部３１０は、仮想ＬＵ３３２の生成が完了した旨を通知する。その後、仮想ＬＵマッピング処理部３１０は、管理サーバ１００から要求を受信するまで待ち状態となる。【０１８６】
なお、仮想ＬＵ３３２の生成方法は公知の技術を用いればよいため詳細な説明は省略する。【０１８７】
仮想ＬＵマッピング処理部３１０は、管理サーバ１００から要求を受信した場合、受信した要求が提供ＬＵの変更要求であるか否かを判定する（ステップＳ１４０２）。【０１８８】
具体的には、仮想ＬＵマッピング処理部３１０は、受信した要求に割当変更情報が含まれるか否かを判定する。受信した要求に割当変更情報が含まれる場合、仮想ＬＵマッピング処理部３１０は、受信した要求が提供ＬＵの変更要求である判定する。一方、受信した要求にマッピング変更情報が含まれる場合、仮想ＬＵマッピング処理部３１０は、受信した要求がマッピング変更要求であると判定する。【０１８９】
受信した要求が提供ＬＵの変更要求であると判定された場合、仮想ＬＵマッピング処理部３１０は、物理ＬＵ３３１から生成された仮想ＬＵ３３２に、提供ＬＵを変更する（ステップＳ１４０３）。具体的には、以下のような処理が実行される。【０１９０】
仮想ＬＵマッピング処理部３１０は、割当変更情報に基づいて、現在、物理ＬＵ３３１に付与されているデバイスＩＤを生成された仮想ＬＵ３３２に付与する。仮想ＬＵマッピング処理部３１０は、割当変更情報に基づいて、物理ＬＵ３３１に新たなデバイスＩＤを付与する。さらに、仮想ＬＵマッピング処理部３１０は、割当変更情報に基づいて、物理ＬＵ３３１を生成された仮想ＬＵ３３２にマッピングする。【０１９１】
物理ＬＵ３３１に付与されているデバイスＩＤが生成された仮想ＬＵ３３２に付与することによって、現用系サーバ２００に影響を与えることなく提供ＬＵが物理ＬＵ３３１から仮想ＬＵ３３２に変更できる。【０１９２】
以上がステップＳ１４０３の処理である。【０１９３】
次に、仮想ＬＵマッピング処理部３１０は、提供ＬＵの変更結果に基づいて仮想ＬＵマッピングテーブル３２０を更新し（ステップＳ１４０４）、処理を終了する。【０１９４】
具体的には、仮想ＬＵマッピング処理部３１０は、仮想ＬＵマッピングテーブル３２０に新たなエントリを追加する。当該エントリの物理デバイスＩＤ８０１には物理ＬＵ３３１のデバイスＩＤが格納され、仮想デバイスＩＤ８０２には仮想ＬＵ３３２のデバイスＩＤが格納される。【０１９５】
ステップＳ１４０２において、受信した要求がマッピング変更要求であると判定された場合、仮想ＬＵマッピング処理部３１０は、物理ＬＵ３３１のマッピング先を現用系サーバ２００の仮想ＬＵ３３２から予備系サーバ２００の仮想ＬＵ３３２に変更する（ステップＳ１４０５）。具体的には、以下のような処理が実行される。【０１９６】
仮想ＬＵマッピング処理部３１０は、マッピング変更情報に基づいて、予備系サーバ２００が接続されるポート３０５に対してホストグループを設定する。より具体的には、仮想ＬＵマッピング処理部３１０は、ポート３０５の識別子、ホストグループの識別子、提供ＬＵのデバイスＩＤ、及び予備系サーバ２００のＷＷＮを対応づける。【０１９７】
仮想ＬＵマッピング処理部３１０は、マッピング変更情報に含まれる提供ＬＵのデバイスＩＤに基づいて仮想ＬＵマッピングテーブル３２０を参照し、現用系サーバ２００の仮想ＬＵ３３２にマッピングされる物理ＬＵ３３１を特定する。仮想ＬＵマッピング処理部３１０は、特定された物理ＬＵ３３１を予備系サーバ２００の仮想ＬＵ３３２にマッピングする。【０１９８】
以上がステップＳ１４０５の処理である。【０１９９】
次に、仮想ＬＵマッピング処理部３１０は、マッピング変更結果に基づいて仮想ＬＵマッピングテーブル３２０を更新し（ステップＳ１４０６）、処理を終了する。【０２００】
具体的には、仮想ＬＵマッピング処理部３１０は、提供ＬＵのデバイスＩＤに基づいて仮想ＬＵマッピングテーブル３２０を参照し、現用系サーバ２００の仮想ＬＵ３３２に対応するエントリを検索する。仮想ＬＵマッピング処理部３１０は、検索されたエントリの仮想デバイスＩＤ８０２に格納される現用系サーバ２００の仮想ＬＵ３３２のデバイスＩＤを、予備系サーバ２００の仮想ＬＵ３３２のデバイスＩＤに変更する。【０２０１】
実施例１によれば、ポート３０５の接続に依存することなく、自動的に予備系サーバ２００を設定することができる。【０２０２】
従来は、予備系サーバ２００は、現用系サーバ２００と同一のポートに接続されている必要があった。また、現用系サーバ２００と異なるポートに接続されるサーバ２００を予備系サーバ２００として設定する場合、現用系サーバ２００及び予備系サーバ２００に設定する情報が複雑になるという問題があった。【０２０３】
しかし、実施例１では、現用系サーバ２００が接続されるポート３０５に制限することなく予備系サーバ２００を選択することができる。したがって、運用管理の柔軟性が確保され、また、Ｉ／Ｏ負荷の分散が可能となる。また、単一障害の影響を低減することもできる。【０２０４】
（変形例１）
実施例１では、切替処理部１１０は、検索された予備系サーバ２００の経路情報を考慮することなく、仮想ＬＵ３３２を生成していたが、以下のような処理も考えられる。【０２０５】
ステップＳ１００３において、予備系サーバ２００となる候補サーバ２００が存在すると判定された場合、切替処理部１１０は、経路管理テーブル１７０を参照して、現用系サーバ２００及び予備系サーバ２００の経路情報を取得する。【０２０６】
切替処理部１１０は、取得された情報に基づいて、現用系サーバ２００が接続されるポート３０５と予備系サーバ２００が接続されるポート３０５とが同一であるか否かを判定する。【０２０７】
現用系サーバ２００が接続されるポート３０５と予備系サーバ２００が接続されるポート３０５が同一であると判定された場合、切替処理部１１０は、通常の切替処理を実行し、処理を終了する。すなわち、切替処理部１１０は、予備系サーバ２００のＨＢＡ２０５に、現用系サーバ２００のＨＢＡ２０５に付与されたＷＷＮを設定する。【０２０８】
一方、現用系サーバ２００が接続されるポート３０５と予備系サーバ２００が接続されるポート３０５とが同一でないと判定された場合、切替処理部１１０は、ステップＳ１００５に進む。【０２０９】
前述した処理によって、予備系サーバ２００が接続されるポート３０５毎に通常の処理と、実施例１に示した処理とを切り替えることができる。これによって、処理のオーバヘッドを低減することができる。【０２１０】
（変形例２）
実施例１では、管理サーバ１００が生成された仮想ＬＵ３３２のデバイスＩＤを決定していたが、ストレージ装置３００が仮想ＬＵ３３２のデバイスＩＤを決定してもよい。【０２１１】
この場合、ステップＳ１４０１において、仮想ＬＵマッピング処理部３１０は、仮想ＬＵマッピングテーブル３２０を参照して、生成された仮想ＬＵ３３２のデバイスＩＤを決定する。また、仮想ＬＵマッピング処理部３１０は、決定された仮想ＬＵ３３２のデバイスＩＤを含めて、仮想ＬＵの生成が完了した旨を通知する。【０２１２】
ステップＳ１３０３において、ＬＵ管理部１４０は、入力された物理ＬＵ３３１のデバイスＩＤを生成された仮想ＬＵ３３２に付与し、物理ＬＵ３３１にストレージ装置３００が決定した新たなデバイスＩＤを付与するための割当変更情報を生成する。【０２１３】
ステップＳ１３０７において、ＬＵ管理部１４０は、ＬＵ管理部１４０は、経路管理テーブル１７０を参照し、予備系サーバ２００が接続されるポート３０５に設定するホストグループの識別子を決定する。【０２１４】
ＬＵ管理部１４０は、入力された現用系サーバ２００の識別子に基づいて経路管理テーブル１７０を参照し、提供ＬＵのデバイスＩＤを取得する。また、ＬＵ管理部１４０は、入力された予備系サーバ２００の経路情報から、予備系サーバ２００のＷＷＮを取得する。【０２１５】
ＬＵ管理部１４０は、ストレージ装置３００が決定した仮想ＬＵ３３２のデバイスＩＤ、決定されたホストグループの識別子、提供ＬＵのデバイスＩＤ、及び予備系サーバ２００のＷＷＮに基づいて、物理ＬＵ３３１のマッピング先を現用系サーバ２００の仮想ＬＵ３３２から予備系サーバ２００の仮想ＬＵ３３２に変更するためのマッピング変更情報を生成する。
【実施例２】
【０２１６】
実施例２では、予め、予備系サーバ２００に仮想ＬＵ３３２が提供される。具体的には、予め、管理サーバ１００が、一つ以上の現用系サーバ２００と一つ以上の予備系サーバ２００とから構成されるコールドスタンバイグループを設定する。このとき、管理サーバ１００は予備系サーバ２００に提供する仮想ＬＵ３３２を生成する。【０２１７】
以下、実施例１との差異を中心に説明する。【０２１８】
図１５は、本発明の実施例２における計算機システムの構成を示すブロック図である。【０２１９】
実施例２では、管理サーバ１００が、コールドスタンバイグループテーブル１５００を備える点が異なる。その他の構成は実施例１と同一であるため説明を省略する。【０２２０】
コールドスタンバイグループテーブル１５００は、コールドスタンバイグループを管理するための情報を格納する。【０２２１】
図１６は、本発明の実施例２におけるコールドスタンバイグループテーブル１５００の一例を示す説明図である。【０２２２】
コールドスタンバイグループテーブル１５００は、コールドスタンバイグループＩＤ１６０１、現用系サーバＩＤ１６０２、及び予備系サーバＩＤ１６０３を含む。【０２２３】
コールドスタンバイグループＩＤ１６０１は、コールドスタンバイグループを一意に識別するための識別子を格納する。現用系サーバＩＤ１６０２は、コールドスタンバイグループに含まれる現用系サーバ２００の識別子を格納する。予備系サーバＩＤ１６０３は、コールドスタンバイグループに含まれる予備系サーバ２００の識別子を格納する。【０２２４】
なお、図１６に示す例では、一つのコールドスタンバイグループには一台の予備系サーバ２００が含まれているが、二台以上の予備系サーバ２００が含まれてもよい。【０２２５】
図１７Ａ及び図１７Ｂは、本発明の実施例２における切替処理部１１０がコールドスタンバイグループの設定時に実行する登録処理を説明するフローチャートである。【０２２６】
管理サーバ１００は、管理端末４００から、コールドスタンバイグループを登録するための生成指示を受け付けると以下の登録処理を開始する。【０２２７】
切替処理部１１０は、コールドスタンバイグループの生成指示を受け付ける（ステップ１７０１）。当該生成指示には、コールドスタンバイグループの識別子、及びコールドスタンバイグループに追加する現用系サーバ２００の識別子が含まれる。また、当該生成指示には、コールドスタンバイグループに追加する予備系サーバ２００の数が含まれる。【０２２８】
なお、生成指示に複数の現用系サーバ２００の識別子が含まれる場合、現用系サーバ２００毎に、ステップＳ１７０２からステップＳ１７１３の処理が実行される。【０２２９】
切替処理部１１０は、コールドスタンバイグループに追加予定の現用系サーバ２００の提供ＬＵに関する情報を取得する（ステップＳ１７０２）。具体的には、以下のような処理が実行される。【０２３０】
切替処理部１１０は、生成指示に含まれる現用系サーバ２００の識別子に基づいて経路管理テーブル１７０を参照し、追加予定の現用系サーバ２００に対応するエントリを検索する。【０２３１】
切替処理部１１０は、検索されたエントリのデバイスＩＤ６０６から、提供ＬＵのデバイスＩＤを取得する。切替処理部１１０は、取得された提供ＬＵのデバイスＩＤに基づいて、記憶デバイス管理テーブル１８０を参照し、提供ＬＵに対応するエントリを検索する。【０２３２】
以上がステップＳ１７０２の処理である。【０２３３】
切替処理部１１０は、提供ＬＵが仮想ＬＵ３３２であるか否かを判定する（ステップＳ１７０３）。【０２３４】
具体的には、切替処理部１１０は、ステップＳ１７０２において検索された提供ＬＵに対応するエントリの種別７０４が「仮想」であるか否かを判定する。種別７０４が「仮想」である場合、切替処理部１１０は、提供ＬＵが仮想ＬＵ３３２であると判定する。【０２３５】
提供ＬＵが仮想ＬＵ３３２であると判定された場合、切替処理部１１０は、ステップＳ１７０７に進む。【０２３６】
提供ＬＵが仮想ＬＵ３３２でないと判定された場合、切替処理部１１０は、現用系サーバ２００に停止指示を送信し（ステップＳ１７０４）、ＬＵ管理部１４０を呼び出す（ステップＳ１７０５）。このとき、切替処理部１１０は、ＬＵ管理部１４０に現用系サーバ２００の識別子、及び提供ＬＵのデバイスＩＤを入力する。【０２３７】
切替処理部１１０は、ＬＵ管理部１４０から処理完了が通知されるまで待ち状態となる。このとき、ＬＵ管理部１４０は、図１３に示すステップＳ１３０１からステップＳ１３０５の処理を実行する。【０２３８】
切替処理部１１０は、ＬＵ管理部１４０から処理完了の通知を受け付けた後、現用系サーバ２００に起動指示を送信する（ステップＳ１７０６）。【０２３９】
切替処理部１１０は、サーバ検索部１２０を呼び出す（ステップＳ１７０７）。このとき、切替処理部１１０は、サーバ検索部１２０に対して現用系サーバ２００の識別子及び予備系サーバ２００の数を入力する。【０２４０】
なお、呼び出されたサーバ検索部１２０は、図１１に示す処理にしたがって、候補サーバ２００の中から予備系サーバ２００を検索する。実施例２では、ステップＳ１１０２において、サーバ検索部１２０が、入力された予備系サーバ２００の数だけ予備系サーバ２００を検索する。その他の処理は実施例１と同一であるため説明を省略する。【０２４１】
切替処理部１１０は、サーバ検索部１２０から出力された処理結果に基づいて、予備系サーバ２００となる候補サーバ２００が存在するか否かを判定する（ステップＳ１７０８）。【０２４２】
本実施例では、処理結果に予備系サーバ２００の数だけ候補サーバ２００の識別子が含まれる場合、予備系サーバ２００となる候補サーバ２００が存在すると判定される。【０２４３】
予備系サーバ２００となる候補サーバ２００が存在しないと判定された場合、切替処理部１１０は、管理者に対してアラートを出力し（ステップＳ１７０９）、処理を終了する。【０２４４】
予備系サーバ２００となる候補サーバ２００が存在すると判定された場合、切替処理部１１０は、予備系サーバ２００の経路情報を取得する（ステップＳ１７１０）。具体的には、以下のような処理が実行される。【０２４５】
切替処理部１１０は、出力された予備系サーバ２００の識別子に基づいて経路管理テーブル１７０を参照し、予備系サーバ２００に対応するエントリを検索する。【０２４６】
切替処理部１１０は、検索されたエントリのデバイスＩＤ６０６に格納される値を取得する。すなわち、予備系サーバ２００に提供されるＬＵ３３０のデバイスＩＤが取得される。【０２４７】
切替処理部１１０は、取得された予備系サーバ２００の仮想ＬＵ３３２のデバイスＩＤに基づいて記憶デバイス管理テーブル１８０を参照し、予備系サーバ２００の仮想ＬＵ３３２に対応するエントリを検索する。【０２４８】
なお、処理結果に複数の予備系サーバ２００の識別子が含まれる場合、切替処理部１１０は、予備系サーバ２００の識別子毎に前述した処理を実行する。【０２４９】
以上がステップＳ１７１０の処理である。【０２５０】
切替処理部１１０は、取得された予備系サーバ２００の経路情報に基づいて、予備系サーバ２００に仮想ＬＵ３３２が提供されているか否かを判定する（ステップＳ１７１１）。具体的には、以下のような処理が実行される。【０２５１】
切替処理部１１０は、ステップＳ１７１０において検索されたエントリの種別７０４が「仮想」であるか否かを判定する。検索されたエントリの種別７０４が「仮想」であると判定された場合、切替処理部１１０は、予備系サーバ２００に仮想ＬＵ３３２が提供されていると判定する。【０２５２】
予備系サーバ２００に仮想ＬＵ３３２が提供されていると判定された場合、切替処理部１１０は、ステップＳ１７１４に進む。【０２５３】
予備系サーバ２００に仮想ＬＵ３３２が提供されていないと判定された場合、切替処理部１１０は、サーバ構成確認部１３０を呼び出す（ステップＳ１７１２）。このとき、切替処理部１１０は、サーバ構成確認部１３０に現用系サーバ２００の識別子及び予備系サーバ２００の識別子を入力する。【０２５４】
切替処理部１１０は、サーバ構成確認部１３０から処理結果が出力されるまで待ち状態となる。なお、サーバ構成確認部１３０が実行する処理の詳細については、図１８を用いて後述する。【０２５５】
切替処理部１１０は、予備系サーバ２００に提供する仮想ＬＵ３３２を生成するために、ＬＵ管理部１４０を呼び出す（ステップＳ１７１３）。このとき、切替処理部１１０は、ＬＵ管理部１４０から処理完了が通知されるまで待ち状態となる。呼び出されたＬＵ管理部１４０は、図１３のステップＳ１３０６の処理を実行する。なお、マッピングを変更する必要がないため、ステップＳ１３０７からステップＳ１３０９の処理は実行されない。【０２５６】
切替処理部１１０は、ＬＵ管理部１４０から処理完了の通知を受け付けた後、コールドスタンバイグループテーブル１５００を更新し（ステップＳ１７１４）、処理を終了する。具体的には、以下のような処理が実行される。【０２５７】
切替処理部１１０は、入力されたコールドスタンバイグループの識別子に基づいてコールドスタンバイグループテーブル１５００を参照し、コールドスタンバイグループに対応するエントリを検索する。【０２５８】
対応するエントリが存在する場合、切替処理部１１０は、対応するエントリの現用系サーバＩＤ１６０２に入力された現用系サーバ２００の識別子を追加する。また、切替処理部１１０は、対応するエントリの予備系サーバＩＤ１６０３に検索された予備系サーバ２００の識別子を追加する。【０２５９】
一方、対応するエントリが存在しない場合、切替処理部１１０は、新たにエントリを生成し、生成されたエントリのコールドスタンバイグループテーブルＩＤ１５０１に入力されたコールドスタンバイグループの識別子を格納する。切替処理部１１０は、追加されたエントリの現用系サーバＩＤ１６０２に入力された現用系サーバ２００の識別子を格納する。また、切替処理部１１０は、追加されたエントリの予備系サーバＩＤ１６０３に検索された予備系サーバ２００の識別子を格納する。【０２６０】
以上がステップＳ１７１４の処理である。【０２６１】
図１８は、本発明の実施例２のサーバ構成確認部１３０がコールドスタンバイグループの生成時に実行する処理を説明するフローチャートである。【０２６２】
サーバ構成確認部１３０は、切替処理部１１０から呼び出されると処理を開始する。なお、サーバ構成確認部１３０には、現用系サーバ２００の識別子及び予備系サーバ２００の識別子が入力される。【０２６３】
サーバ構成確認部１３０は、経路管理テーブル１７０を参照して、現用系サーバ２００の提供ＬＵを特定する（ステップＳ１８０１）。【０２６４】
ステップＳ１８０１の処理は、ステップＳ１２０１の処理と同一の処理である。【０２６５】
サーバ構成確認部１３０は、記憶デバイス管理テーブル１８０を参照して、特定された提供ＬＵの情報を取得する（ステップＳ１８０２）。【０２６６】
ステップＳ１８０２の処理は、ステップＳ１２０２の処理と同一の処理である。【０２６７】
なお、複数の現用系サーバ２００の識別子が入力された場合、現用系サーバ２００毎に、ステップＳ１８０１及びステップＳ１８０２の処理が実行される。【０２６８】
サーバ構成確認部１３０は、コールドスタンバイグループに含まれる現用系サーバ２００における提供ＬＵの最大数、及び提供ＬＵの最大容量を算出する（ステップＳ１８０３）。【０２６９】
図６及び図７に示す例では、現用系サーバの識別子「Ｓ１」、「Ｓ２」が入力された場合、提供ＬＵの最大数は「４」、提供ＬＵの最大容量は「１０ＧＢ」と算出される。【０２７０】
サーバ構成確認部１３０は、経路管理テーブル１７０を参照して、予備系サーバ２００の経路情報を取得する（ステップＳ１８０４）。【０２７１】
具体的には、サーバ構成確認部１３０は、入力された予備系サーバ２００の識別子に基づいて経路管理テーブル１７０を参照し、予備系サーバ２００に対応するエントリを検索する。サーバ構成確認部１３０は、検索されたエントリのＨＢＡ６０２及びポート番号６０４に格納される値を取得する。【０２７２】
サーバ構成確認部１３０は、切替処理部１１０に取得された情報を含む処理結果を出力し（ステップＳ１８０５）、処理を終了する。【０２７３】
処理結果には、提供ＬＵの最大数、提供ＬＵの最大容量、予備系サーバ２００のＷＷＮ、及び予備系サーバ２００が接続されるポート３０５の識別子が含まれる。【０２７４】
ここで、コールドスタンバイグループの生成時に、ＬＵ管理部１４０及び仮想ＬＵマッピング処理部３１０が実行する処理について説明する。【０２７５】
ＬＵ管理部１４０は、コールドスタンバイグループの生成時に切替処理部１１０から呼び出された場合、図１３に示す処理を実行する。ただし、以下のステップの処理内容が異なる。【０２７６】
ステップＳ１３０６において、ＬＵ管理部１４０は、提供ＬＵの最大数、提供ＬＵの最大容量、予備系サーバ２００のＷＷＮ、及び予備系サーバ２００を含む予備系サーバ２００の仮想ＬＵ生成要求をストレージ装置３００に送信する。【０２７７】
ステップＳ１３０７において、ＬＵ管理部１４０は、マッピング変更情報の代わりに、マッピング更新情報を生成する。マッピング更新情報には、生成された予備系サーバ２００の仮想ＬＵ３３２に付与するデバイスＩＤが含まれる。【０２７８】
ステップＳ１３０８において、ＬＵ管理部１４０は、マッピング更新情報を含む仮想ＬＵマッピングテーブル３２０の更新要求を送信する。【０２７９】
ステップＳ１３０９において、ＬＵ管理部１４０は、経路管理テーブル１７０及び記憶デバイス管理テーブル１８０を以下のように更新する。【０２８０】
ＬＵ管理部１４０は、経路管理テーブル１７０を参照し、予備系サーバ２００に対応するエントリを検索する。ＬＵ管理部１４０は、予備系サーバ２００に対応するエントリのホストグループＩＤ６０５にステップＳ１３０７において決定されたホストグループの識別子を格納する。【０２８１】
ＬＵ管理部１４０は、予備系サーバ２００に対応するエントリのデバイスＩＤ６０６にステップＳ１３０７において決定された仮想ＬＵ３３２のデバイスＩＤを格納する。【０２８２】
ＬＵ管理部１４０は、記憶デバイス管理テーブル１８０に、予備系サーバ２００の仮想ＬＵ３３２のエントリを追加する。当該エントリのデバイスＩＤ７０２には、ステップＳ１３０７において決定された仮想ＬＵ３３２のデバイスＩＤが格納され、容量７０３には、ステップＳ１３０６において取得された提供ＬＵの容量が格納され、種別７０４には、「仮想」が格納される。【０２８３】
以上がステップＳ１３０９の説明である。【０２８４】
次に、仮想ＬＵマッピング処理部３１０が実行する処理について説明する。【０２８５】
仮想ＬＵマッピング処理部３１０は、コールドスタンバイグループの生成時にＬＵ管理部１４０から呼び出された場合、図１４に示すステップＳ１４０１からステップＳ１４０４、及びステップＳ１４０６の処理を実行する。【０２８６】
ステップＳ１４０６では、仮想ＬＵマッピングテーブル３２０に、予備系サーバ２００の仮想ＬＵ３３２のエントリを追加する。当該エントリの仮想デバイスＩＤ８０２には、ＬＵマッピング更新情報に含まれる仮想ＬＵ３３２のデバイスＩＤが格納される。【０２８７】
また、実施例２のフェイルオーバ処理は、実施例１のフェイルオーバ処理と一部処理が異なる。【０２８８】
切替処理部１１０の処理は以下の点が異なる。【０２８９】
ステップＳ１００１では、切替処理部１１０は、コールドスタンバイグループテーブル１５００を参照し、障害が発生した現用系サーバ２００がコールドスタンバイグループに含まれるか否を判定する。【０２９０】
障害が発生した現用系サーバ２００がコールドスタンバイグループに含まれる場合、切替処理部１１０は、予備系サーバＩＤ１６０３に格納される識別子を一つ選択し、その後、ステップＳ１００５に進む。【０２９１】
一方、障害が発生した現用系サーバ２００がコールドスタンバイグループに含まれない場合、切替処理部１１０は、ステップＳ１００２に進む。【０２９２】
また、ステップＳ１００８において、サーバ構成確認部１３０から仮想ＬＵ３３２の変更が不要である旨の通知が出力された場合、切替処理部１１０は、マッピング変更指示をＬＵ管理部１４０に入力する。【０２９３】
図１９は、本発明の実施例２のサーバ構成確認部１３０がフェイルオーバ処理時に実行する処理を説明するフローチャートである。【０２９４】
サーバ構成確認部１３０は、切替処理部１１０から呼び出されると処理を開始する。なお、サーバ構成確認部１３０には、現用系サーバ２００の識別子及び予備系サーバ２００の識別子が入力される。【０２９５】
サーバ構成確認部１３０は、経路管理テーブル１７０を参照して、提供ＬＵ３３０を特定する（ステップＳ１９０１）。なお、ステップＳ１９０１の処理は、ステップＳ１１０１と同一の処理である。【０２９６】
サーバ構成確認部１３０は、記憶デバイス管理テーブル１８０を参照して、特定された提供ＬＵの情報を取得する（ステップＳ１９０２）。なお、ステップＳ１９０２の処理は、ステップＳ１１０２の処理と同一である。【０２９７】
サーバ構成確認部１３０は、経路管理テーブル１７０を参照して、予備系サーバ２００の経路情報を取得する（ステップＳ１９０３）。【０２９８】
具体的には、サーバ構成確認部１３０は、入力された予備系サーバ２００の識別子に基づいて経路管理テーブル１７０を参照し、予備系サーバ２００に対応するエントリを検索する。サーバ構成確認部１３０は、検索されたエントリのデバイスＩＤ６０６から、当該予備系サーバ２００の仮想ＬＵ３３２のデバイスＩＤを取得する。【０２９９】
サーバ構成確認部１３０は、記憶デバイス管理テーブル１８０を参照して、予備系サーバ２００の仮想ＬＵ３３２の情報を取得する（ステップＳ１９０４）。【０３００】
具体的には、サーバ構成確認部１３０は、取得された仮想ＬＵ３３２のデバイスＩＤに基づいて記憶デバイス管理テーブル１８０を参照し、仮想ＬＵ３３２に対応するエントリを検索する。サーバ構成確認部１３０は、検索されたエントリの容量７０３に格納される値を取得する。【０３０１】
サーバ構成確認部１３０は、予備系サーバ２００の仮想ＬＵ３３２を変更する必要があるか否かを判定する（ステップＳ１９０５）。具体的には、サーバ構成確認部１３０は、提供ＬＵの数と仮想ＬＵ３３２の数とが一致し、かつ、各提供ＬＵの容量と各仮想ＬＵ３３２の容量とが一致するか否かを判定する。いずれか一方の条件を満たさない場合、サーバ構成確認部１３０は、予備系サーバ２００の仮想ＬＵ３３２を変更する必要があると判定する。【０３０２】
予備系サーバ２００の仮想ＬＵ３３２を変更する必要がないと判定された場合、サーバ構成確認部１３０は、仮想ＬＵ３３２の変更が不要である旨の通知を出力し、処理を終了する。【０３０３】
予備系サーバ２００の仮想ＬＵ３３２を変更する必要があると判定された場合、サーバ構成確認部１３０は、切替処理部１１０に取得された情報を含む処理結果を出力し（ステップＳ１９０６）、処理を終了する。なお、ステップＳ１９０６の処理は、ステップＳ１２０４の処理と同一の処理である。【０３０４】
図２０は、本発明の実施例２のＬＵ管理部１４０がフェイルオーバ時に実行する処理を説明するフローチャートである。【０３０５】
ステップＳ２００１からステップＳ２００５の処理は、ステップＳ１３０１からステップＳ１３０５の処理と同一の処理である。なお、実施例２では、コールドスタンバイグループに含まれる現用系サーバ２００には、仮想ＬＵ３３２が提供されているためステップＳ２００１からステップＳ２００５の処理は実行されない。【０３０６】
ステップＳ１３０１において、呼出契機の指示が予備系サーバ２００の仮想ＬＵ３３２の生成指示であると判定された場合、ＬＵ管理部１４０は、予備系サーバ２００の仮想ＬＵ３３２の生成する必要があるか否かを判定する（ステップＳ２００６）。【０３０７】
具体的には、ＬＵ管理部１４０は、切替処理部１１０からマッピング変更指示が入力されたか否かを判定する。切替処理部１１０からマッピング変更指示が入力された場合、ＬＵ管理部１４０は、予備系サーバ２００の仮想ＬＵ３３２を生成する必要がないと判定する。これは、すでに適切な予備系サーバ２００の仮想ＬＵ３３２が生成されているためである。【０３０８】
予備系サーバ２００の仮想ＬＵを生成する必要がないと判定された場合、ＬＵ管理部１４０は、ステップＳ２００８に進む。この場合、ステップＳ２００８では、物理ＬＵ３３１のマッピング先を現用系サーバ２００の仮想ＬＵ３３２から予備系サーバ２００の仮想ＬＵ３３２に変更するためのマッピング変更情報が生成される。【０３０９】
予備系サーバ２００の仮想ＬＵを生成する必要があると判定された場合、ＬＵ管理部１４０は、ステップＳ２００７に進む。ステップＳ２００７の処理は、ステップＳ１３０６の処理と同一の処理である。【０３１０】
ステップＳ２００８からステップＳ２０１０の処理は、ステップＳ１３０７からステップＳ１３０９の処理と同一の処理である。【０３１１】
実施例２によれば、コールドスタンバイグループの生成時に、予め、予備系サーバ２００に仮想ＬＵ３３２が提供されているためフェイルオーバ処理時のオーバヘッドを低減することができる。
【実施例３】
【０３１２】
実施例３では、物理ＬＵ３３１のマッピングを変更するタイミングが異なる。具体的には、管理者又はユーザが指定したタイミングに基づいて、物理ＬＵ３３１のマッピングを変更する。以下、実施例１との差異を中心に実施例３について説明する。【０３１３】
実施例３の計算機システムの構成は、実施例１と同一であるため説明を省略する。実施例３では、切替処理部１１０が処理を実行する契機が異なる。その他の構成は実施例１と同一であるため説明を省略する。【０３１４】
実施例３では、切替処理部１１０は、切替指示にしたがって、現用系サーバ２００が使用する物理ＬＵ３３１のマッピング先を現用系サーバ２００の仮想ＬＵ３３２から予備系サーバ２００の仮想ＬＵ３３２に変更する。【０３１５】
図２１は、本発明の実施例３における切替処理の流れを説明するシーケンス図である。【０３１６】
切替処理部１１０は、管理端末４００から送信されるマッピング切替指示を検出すると（ステップＳ２１０１）、処理を開始する。【０３１７】
本実施例では、図２２に示すような操作画面を用いてマッピングの切替が指示される。【０３１８】
図２２は、本発明の実施例３の操作画面の一例を示す説明図である。【０３１９】
操作画面２２００は、現用系サーバ選択領域２２１０、予備系サーバ選択領域２２２０、追加ボタン２２３０、削除ボタン２２４０、切替対象表示領域２２５０、ＯＫボタン２２６０、及びキャンセルボタン２２７０を含む。【０３２０】
現用系サーバ選択領域２２１０は、切替処理の対象となる現用系サーバ２００を選択するための領域である。本実施例では、管理者等が現用系サーバ選択領域２２１０に表示される現用系サーバ２００のエントリを選択すると、選択されたエントリが強調表示される。【０３２１】
予備系サーバ選択領域２２２０は、切替処理の対象となる予備系サーバ２００を選択するための領域である。本実施例では、管理者等が予備系サーバ選択領域２２２０に表示される予備系サーバ２００のエントリを選択すると、選択されたエントリが強調表示される。【０３２２】
切替対象表示領域２２５０は、切替対象の現用系サーバ２００及び予備系サーバ２００のペアを表示する領域である。【０３２３】
追加ボタン２２３０は、現用系サーバ選択領域２２１０及び予備系サーバ選択領域２２２０において選択された現用系サーバ２００及び予備系サーバ２００のペアを処理対象として追加するためのボタンである。管理者等が追加ボタン２２３０を操作すると、切替対象表示領域２２５０に選択された現用系サーバ２００及び予備系サーバ２００のペアが表示される。【０３２４】
削除ボタン２２４０は、切替対象として追加された現用系サーバ２００及び予備系サーバ２００のペアを削除するためのボタンである。【０３２５】
ＯＫボタン２２６０は、切替処理を指示するためのボタンである。キャンセルボタン２２７０は、切替処理の実行を取り消すためのボタンである。【０３２６】
したがって、マッピング切替指示には、現用系サーバ２００の識別子及び予備系サーバ２００の識別子が含まれる。【０３２７】
図２１の説明に戻る。【０３２８】
管理サーバ１００は、現用系サーバ２００及び予備系サーバ２００の構成を確認する（ステップＳ２１０２）。【０３２９】
管理サーバ１００は、現用系サーバ２００に停止指示を送信する（ステップＳ２１０３）。【０３３０】
現用系サーバ２００は、停止指示を受信すると、現用系サーバ２００自身を停止する（ステップＳ２１０４）。【０３３１】
管理サーバ１００は、ストレージ装置３００に、現用系サーバ２００の仮想ＬＵ生成要求を送信する（ステップＳ２１０５）。【０３３２】
ストレージ装置３００は、現用系サーバ２００の仮想ＬＵ生成要求を受信すると、当該要求に基づいて仮想ＬＵ３３２を生成し（ステップＳ２１０６）、管理サーバ１００に第１の生成完了通知を送信する（ステップＳ２１０７）。【０３３３】
管理サーバ１００は、第１の生成完了通知を受信した後、ストレージ装置３００に、提供ＬＵの変更要求を送信する（ステップＳ２１０８）。【０３３４】
ストレージ装置３００は、提供ＬＵの変更要求を受信すると、現用系サーバ２００に仮想ＬＵ３３２を提供し、物理ＬＵ３３１を仮想ＬＵ３３２にマッピングする（ステップＳ２１０９）。【０３３５】
管理サーバ１００は、現用系サーバ２００及び予備系サーバ２００の構成を確認し（ステップＳ２１１０）、予備系サーバ２００の仮想ＬＵ生成要求を送信する（ステップＳ２１１１）。【０３３６】
ストレージ装置３００は、予備系サーバ２００の仮想ＬＵ生成要求を受信すると、当該要求に基づいて仮想ＬＵ３３２を生成し（ステップＳ２１１２）、管理サーバ１００に第２の生成完了通知を送信する（ステップＳ２１１３）。【０３３７】
管理サーバ１００は、第２の生成完了通知を受信した後、物理ＬＵ３３１と仮想ＬＵ３３２との間のマッピング関係を変更するために、マッピング変更要求を送信する（ステップＳ２１１４）。【０３３８】
ストレージ装置３００は、マッピング変更要求を受信すると、物理ＬＵ３３１がマッピングされる仮想ＬＵ３３２を変更する（ステップＳ２１１５）。【０３３９】
その後、管理サーバ１００は、予備系サーバ２００に起動指示を送信する（ステップＳ２１１６）。【０３４０】
予備系サーバ２００は、起動指示を受信すると、予備系サーバ２００を起動し（ステップＳ２１１７）、新たな現用系サーバ２００として業務を再開する（ステップＳ２１１８）。【０３４１】
なお、ステップＳ２１０５からステップＳ２１１８の処理は、ステップＳ９０７からステップＳ９２０の処理と同一の処理である。【０３４２】
図２３Ａ及び図２３Ｂは、本発明の実施例３の切替処理部１１０が実行する処理を説明するフローチャートである。【０３４３】
切替処理部１１０は、管理端末４００から送信された切替指示を検出する（ステップＳ２３０１）。【０３４４】
切替処理部１１０は、サーバ構成確認部１３０を呼び出す（ステップＳ２３０２）。このとき、切替処理部１１０は、サーバ構成確認部１３０に、マッピング切替指示に含まれる現用系サーバ２００の識別子及び予備系サーバ２００の識別子を入力する。さらに、切替処理部１１０は、構成確認指示を入力する。構成確認指示は、予備系サーバ２００の仮想ＬＵ２００の生成時の呼び出しと区別するための情報である。【０３４５】
切替処理部１１０は、サーバ構成確認部１３０から処理結果が出力されるまで待ち状態となる。なお、サーバ構成確認部１３０が実行する処理の詳細については、図２４Ａ及び図２４Ｂを用いて後述する。【０３４６】
切替処理部１１０は、サーバ構成確認部１３０から出力された処理結果に基づいて、物理ＬＵ３３１のマッピングを切り替えることができるか否かを判定する（ステップＳ２３０３）。【０３４７】
具体的には、切替処理部１１０は、処理結果が物理ＬＵ３３１のマッピングの切り替えが可能である旨を示す判定結果であるか否かが判定する。処理結果が物理ＬＵ３３１のマッピングの切り替えが可能である旨を示す判定結果である場合、切替処理部１１０は、物理ＬＵ３３１のマッピングを切り替えることができると判定する。【０３４８】
物理ＬＵ３３１のマッピングを切り替えることができないと判定された場合、切替処理部１１０は、管理者に対してアラートを出力し（ステップＳ２３０４）、処理を終了する。【０３４９】
物理ＬＵ３３１のマッピングを切り替えることができると判定された場合、切替処理部１１０は、現用系サーバ２００に停止指示を送信する（ステップＳ２３０５）。【０３５０】
切替処理部１１０は、経路管理テーブル１７０及び記憶デバイス管理テーブル１８０を参照して、提供ＬＵが仮想ＬＵ３３２であるか否かを判定する（ステップＳ２３０６）。ステップＳ２３０６の処理は、ステップＳ１００６と同一の処理である。【０３５１】
提供ＬＵが仮想ＬＵ３３２であると判定された場合、切替処理部１１０は、ステップＳ２３０８に進む。【０３５２】
提供ＬＵが仮想ＬＵ３３２でないと判定された場合、切替処理部１１０は、現用系サーバ２００に提供する仮想ＬＵ３３２を生成するために、ＬＵ管理部１４０を呼び出す（ステップＳ２３０７）。【０３５３】
切替処理部１１０は、ＬＵ管理部１４０から処理完了が通知されるまで待ち状態となる。なお、ＬＵ管理部１４０が実行する処理は、実施例１と同一の処理であるため説明を省略する。【０３５４】
切替処理部１１０は、ＬＵ管理部１４０から処理完了の通知を受け付けた後、サーバ構成確認部１３０を呼び出す（ステップＳ２３０８）。【０３５５】
切替処理部１１０は、サーバ構成確認部１３０から処理結果が通知されるまで待ち状態となる。なお、サーバ構成確認部１３０が実行する処理の詳細については、図２４Ａ及び図２４Ｂを用いて後述する。【０３５６】
切替処理部１１０は、予備系サーバ２００に提供する仮想ＬＵ３３２を生成するために、ＬＵ管理部１４０を呼び出す（ステップＳ２３０９）。【０３５７】
切替処理部１１０は、ＬＵ管理部１４０から処理完了が通知されるまで待ち状態となる。なお、ＬＵ管理部１４０が実行する処理は、実施例１と同一の処理であるため説明を省略する。【０３５８】
切替処理部１１０は、ＬＵ管理部１４０から処理完了の通知を受け付けた後、予備系サーバ２００に起動指示を送信し（ステップＳ２３１０）、処理を終了する。【０３５９】
なお、ステップＳ２３０７からステップＳ２３１０の処理は、ステップＳ１００７からステップＳ１０１０の処理と同一の処理である。【０３６０】
図２４Ａ及び図２４Ｂは、本発明の実施例３のサーバ構成確認部１３０が実行する処理を説明するフローチャートである。【０３６１】
サーバ構成確認部１３０は、切替処理部１１０から呼び出されると処理を開始する。なお、サーバ構成確認部１３０には、現用系サーバ２００の識別子及び予備系サーバ２００の識別子が入力される。【０３６２】
サーバ構成確認部１３０は、構成確認指示が入力されたか否かを判定する（ステップＳ２４０１）。【０３６３】
構成確認指示が入力されたと判定された場合、サーバ構成確認部１３０は、サーバ管理テーブル１６０を参照し、処理対象の現用系サーバ２００及び予備系サーバ２００の構成情報を取得する（ステップＳ２４０２）。【０３６４】
具体的には、サーバ構成確認部１３０は、入力された現用系サーバ２００の識別子に基づいてサーバ管理テーブル１６０を参照し、現用系サーバ２００に対応するエントリを検索する。また、サーバ構成確認部１３０は、入力された予備系サーバ２００の識別子に基づいてサーバ管理テーブル１６０を参照し、予備系サーバ２００に対応するエントリを検索する。【０３６５】
サーバ構成確認部１３０は、物理ＬＵ３３１のマッピングを現用系サーバ２００の仮想ＬＵ３３２から予備系サーバ２００の仮想ＬＵ３３２に切り替えることができるか否かを判定する（ステップＳ２４０３）。【０３６６】
具体的には、サーバ構成確認部１３０は、ステップＳ２５０２において取得された現用系サーバ２００の構成情報と予備系サーバ２００の構成情報とを比較し、現用系サーバ２００と同一のハードウェア構成であるか否かを判定する。現用系サーバ２００と同一のハードウェア構成である場合、サーバ構成確認部１３０は、物理ＬＵ３３１のマッピングを切り替えることができると判定する。【０３６７】
物理ＬＵ３３１のマッピングの切り替えが可能であると判定された場合、サーバ構成確認部１３０は、物理ＬＵ３３１のマッピングの切り替えが可能である旨を示す処理結果を出力し（ステップＳ２４０４）、処理を終了する。【０３６８】
物理ＬＵ３３１のマッピングの切り替えが可能でないと判定された場合、サーバ構成確認部１３０は、物理ＬＵ３３１のマッピングの切り替えが不可能である旨を示す処理結果を出力し（ステップＳ２４０５）、処理を終了する。【０３６９】
ステップＳ２４０１において、構成確認指示が入力されていないと判定された場合、サーバ構成確認部１３０は、経路管理テーブル１７０を参照して、提供ＬＵを特定する（ステップＳ２４０６）。サーバ構成確認部１３０は、記憶デバイス管理テーブル１８０を参照して、特定された提供ＬＵの情報を取得する（ステップＳ２４０７）。サーバ構成確認部１３０は、経路管理テーブル１７０を参照して、予備系サーバ２００の経路情報を取得する（ステップＳ２４０８）。サーバ構成確認部１３０は、切替処理部１１０に、取得された情報を含む処理結果を出力し（ステップＳ２４０９）、処理を終了する。【０３７０】
ステップＳ２４０６からステップＳ２４０９の処理は、ステップＳ１２０１からステップＳ１２０４の処理と同一の処理である。【０３７１】
実施例３によれば、任意のタイミングで物理ＬＵ３３１のマッピング先を現用系サーバ２００の仮想ＬＵ３３２から予備系サーバ２００の仮想ＬＵ３３２に切り替えることができる。これによって、適切なＩ／Ｏ負荷の分散が可能となる。【０３７２】
以上説明したように、本発明によれば、現用系サーバ２００が接続されるポート３０５と異なるポート３０５に接続されるサーバ２００を予備系サーバ２００として選択することができる。これによって、Ｉ／Ｏ負荷の分散が可能となる。【０３７３】
また、予備系サーバ２００に、予め、現用系サーバ２００の情報を反映した設定が必要ないため、計算機システムの管理が容易となる。【０３７４】
なお、本発明において説明したソフトウェア構成は、複数のモジュールに分解し、又は、一つのモジュールに統合してもよい。例えば、切替処理部１１０が、サーバ検索部１２０、サーバ構成確認部１３０、及びＬＵ管理部１４０が備える機能を有してもよい。【０３７５】
なお、本発明において説明した計算機等の構成、処理部及び処理手段等は、それらの一部又は全部を、専用のハードウェアによって実現してもよい。また、本実施例で例示した種々のソフトウェアは、電磁的、電子的及び光学式等の種々の記録媒体（例えば、非一時的な記憶媒体）に格納可能であり、インターネット等の通信網を通じて、コンピュータにダウンロード可能である。【０３７６】
また、本発明は前述した実施形態に限定されるものではなく、様々な変形例が含まれる。例えば、実施例１から実施例３を組み合わせた実施例であってもよい。
【図１】
0005903524.tif 000002
【図２】
0005903524.tif 000003
【図３】
0005903524.tif 000004
【図４】
0005903524.tif 000005
【図５】
0005903524.tif 000006
【図６】
0005903524.tif 000007
【図７】
0005903524.tif 000008
【図８】
0005903524.tif 000009
【図９】
0005903524.tif 000010
【図１０Ａ】
0005903524.tif 000011
【図１０Ｂ】
0005903524.tif 000012
【図１１】
0005903524.tif 000013
【図１２】
0005903524.tif 000014
【図１３】
0005903524.tif 000015
【図１４】
0005903524.tif 000016
【図１５】
0005903524.tif 000017
【図１６】
0005903524.tif 000018
【図１７Ａ】
0005903524.tif 000019
【図１７Ｂ】
0005903524.tif 000020
【図１８】
0005903524.tif 000021
【図１９】
0005903524.tif 000022
【図２０】
0005903524.tif 000023
【図２１】
0005903524.tif 000024
【図２２】
0005903524.tif 000025
【図２３Ａ】
0005903524.tif 000026
【図２３Ｂ】
0005903524.tif 000027
【図２４Ａ】
0005903524.tif 000028
【図２４Ｂ】
0005903524.tif 000029