(57)【特許請求の範囲】
【請求項１】
管理サーバとサーバが、ネットワークスイッチを介して、外部ディスク装置と接続され、該サーバは該外部ディスク装置からオペレーティングシステムをブートすることで起動可能になる計算機システムにおいて、
前記サーバは、第一サーバと第二サーバとを含み、
前記外部ディスク装置は、第一ディスクと第二ディスクとを含み、
前記管理サーバは、
前記外部ディスク装置に対し、前記第一サーバがブートに利用する前記第一ディスクの内容と前記第二ディスクの内容とを同期させる同期開始の要求をする同期ステップと、
前記第二サーバのブートプログラムの設定を前記第二ディスクからブートするように変更するブートプログラム設定変更ステップと、
前記第二ディスクの内容を、前記第二ディスクが保持するソフトウェアが前記第二ディスクを利用して起動するように変更するディスク内容変更ステップとを有し、
前記ディスク内容変更ステップにおいて、
さらに前記第二サーバを起動し、前記第二サーバがネットワークブートにより前記管理サーバからエージェントを受け取って実行し、
前記管理サーバが、前記第一サーバと前記第二サーバのブート関連情報を比較して、更新すべき情報をブートデバイス更新情報として前記エージェントへ通知し、
前記エージェントが、前記ブートデバイス更新情報に基づき、前記第二ディスクに保持されているブートローダ設定およびマウント設定におけるデバイスパスを、前記第二サーバに対する前記第二ディスクのデバイスパスに変更することを特徴とするブート構成変更方法。 
【請求項２】
前記同期ステップにおいて、前記外部ディスク装置が前記第一ディスクに書き込まれる情報を前記第二ディスクに対して書き込むことで、ディスクの内容を同期することを特徴とする請求項１のブート構成変更方法。
【請求項３】
前記ブートプログラム設定変更ステップにおいて、さらに前記第二サーバを起動し、前記第二サーバがネットワークブートにより前記管理サーバから前記エージェントを受け取って実行し、前記エージェントが前記サーバの前記ブートプログラム設定を変更することを特徴とする請求項１のブート構成変更方法。
【請求項４】
前記ネットワークスイッチは、前記第二サーバの識別情報を利用して、前記外部ディスク装置の前記第二ディスクへのアクセス可否を制御するセキュリティ機構を有し、
前記管理サーバは、さらに、前記第二サーバから前記第二ディスクへのアクセスを許可するように前記外部ディスク装置に要求することを特徴とする請求項１のブート構成変更方法。
【請求項５】
管理サーバとサーバが、ネットワークスイッチを介して、第一ディスクと第二ディスクとを含む外部ディスク装置と接続され、
該サーバは該外部ディスク装置からオペレーティングシステムをブートすることで起動可能になる計算機システムにおいて、
前記管理サーバは、
前記外部ディスク装置に対し、前記サーバに含まれる第一サーバがブートに利用する前記第一ディスクの内容と前記第二ディスクの内容とを同期させる同期開始の要求をする同期手段と、
前記サーバに含まれる第二サーバのブートプログラムの設定を前記第二ディスクからブートするように変更するブートプログラム設定変更手段と、
前記第二ディスクの内容を、前記第二ディスクが保持するソフトウェアが前記第二ディスクを利用して起動するように変更するディスク内容変更手段とを有し、
前記ディスク内容変更手段は、
さらに前記第二サーバを起動し、前記第二サーバにネットワークブートを要求してエージェントを送信し、
前記第一サーバと前記第二サーバのブート関連情報を比較して、更新すべき情報をブートデバイス更新情報として前記エージェントへ通知し、
前記エージェントに、前記ブートデバイス更新情報に基づき、前記第二ディスクに保持されているブートローダ設定およびマウント設定におけるデバイスパスを、前記第二サーバに対する前記第二ディスクのデバイスパスに変更するよう要求することを特徴とする管理サーバ。 
【請求項６】
前記同期手段は、前記第一ディスクに書き込まれる情報を前記第二ディスクに対して書き込むことで、ディスクの内容を同期するよう、前記外部ディスク装置に要求することを特徴とする請求項５の管理サーバ。
【請求項７】
前記ブートプログラム設定変更手段は、さらに前記第二サーバを起動し、前記第二サーバにネットワークブートを要求して前記エージェントを送信し、前記エージェントに前記サーバの前記ブートプログラム設定の変更を要求することを特徴とする請求項５の管理サーバ。
【請求項８】
前記第二サーバの識別情報を利用して前記外部ディスク装置の前記第二ディスクへのアクセス可否を制御する前記ネットワークスイッチのセキュリティ機構に対し、前記第二サーバから前記第二ディスクへのアクセスを許可するように要求することを特徴とする請求項５の管理サーバ。
【請求項９】
管理サーバとサーバが、ネットワークスイッチを介して、外部ディスク装置と接続され、該サーバは該外部ディスク装置からオペレーティングシステムをブートすることで起動可能になる計算機システムにおいて、
前記サーバは、第一サーバと第二サーバとを含み、
前記外部ディスク装置は、第一ディスクと第二ディスクとを含み、
前記計算機システムは、
前記外部ディスク装置に対し、前記第一サーバがブートに利用する前記第一ディスクの内容と前記第二ディスクの内容とを同期させる同期開始の要求をする同期手段と、
前記第二サーバのブートプログラムの設定を前記第二ディスクからブートするように変更するブートプログラム設定変更手段と、
前記第二ディスクの内容を、前記第二ディスクが保持するソフトウェアが前記第二ディスクを利用して起動するように変更するディスク内容変更手段とを有し、
前記ディスク内容変更手段は、
さらに前記第二サーバを起動し、前記第二サーバがネットワークブートにより前記管理サーバからエージェントを受け取って実行し、
前記管理サーバが、前記第一サーバと前記第二サーバのブート関連情報を比較して、更新すべき情報をブートデバイス更新情報として前記エージェントへ通知し、
前記エージェントが、前記ブートデバイス更新情報に基づき、前記第二ディスクに保持されているブートローダ設定およびマウント設定におけるデバイスパスを、前記第二サーバに対する前記第二ディスクのデバイスパスに変更することを特徴とする計算機システム。
【請求項１０】
前記同期手段は、前記外部ディスク装置が前記第一ディスクに書き込まれる情報を前記第二ディスクに対して書き込むことで、ディスクの内容を同期するよう、前記外部ディスク装置に要求することを特徴とする請求項９の計算機システム。
【請求項１１】
前記ブートプログラム設定変更手段は、さらに前記第二サーバを起動し、前記第二サーバがネットワークブートにより前記管理サーバから前記エージェントを受け取って実行し、前記エージェントが前記サーバの前記ブートプログラム設定を変更することを特徴とする請求項９の計算機システム。
【請求項１２】
前記ネットワークスイッチは、前記第二サーバの識別情報を利用して、前記外部ディスク装置の前記第二ディスクへのアクセス可否を制御するセキュリティ機構を有し、
前記管理サーバは、さらに、前記第二サーバから前記第二ディスクへのアクセスを許可するように前記外部ディスク装置に要求することを特徴とする請求項９の計算機システム。
【請求項１３】
管理サーバとサーバが、ネットワークスイッチを介して、第一ディスクと第二ディスクとを含む外部ディスク装置と接続され、該サーバは該外部ディスク装置からオペレーティングシステムをブートすることで起動可能になる計算機システムにおいて、
前記管理サーバに、
前記外部ディスク装置に対し、前記サーバに含まれる第一サーバがブートに利用する前記第一ディスクの内容と前記第二ディスクの内容とを同期させる同期開始の要求をする同期手順と、
前記サーバに含まれる第二サーバのブートプログラムの設定を前記第二ディスクからブートするように変更するブートプログラム設定変更手順と、
前記第二ディスクの内容を、前記第二ディスクが保持するソフトウェアが前記第二ディスクを利用して起動するように変更するディスク内容変更手順と、を実行させ、
前記ディスク内容変更手順において、
前記第一サーバと前記第二サーバのブート関連情報を比較して、更新すべき情報をブートデバイス更新情報として前記エージェントへ通知し、
前記ブートデバイス更新情報に基づき、前記第二ディスクに保持されているブートローダ設定およびマウント設定におけるデバイスパスを、前記第二サーバに対する前記第二ディスクのデバイスパスに変更するよう前記エージェントに要求させることを特徴とするブート構成変更プログラム。
【請求項１４】
前記同期手順において、前記外部ディスク装置が前記第一ディスクに書き込まれる情報を前記第二ディスクに対して書き込むことで、ディスクの内容を同期させるよう、前記外部ディスク装置に要求させることを特徴とする請求項１３のブート構成変更プログラム。
【請求項１５】
前記ブートプログラム設定変更手順において、さらに前記第二サーバを起動させ、前記第二サーバにネットワークブートを要求して前記エージェントを送信し、前記サーバの前記ブートプログラム設定の変更を前記エージェントに要求させることを特徴とする請求項１３のブート構成変更プログラム。
【請求項１６】
前記管理サーバに、前記第二サーバの識別情報を利用して前記外部ディスク装置の前記第二ディスクへのアクセス可否を制御する、前記ネットワークスイッチのセキュリティ機構に対し、前記第二サーバから前記第二ディスクへのアクセスを許可するように要求させることを特徴とする請求項１３のブート構成変更プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバがブートに利用するディスクを変更するブート構成変更方法に関する。
【背景技術】
【０００２】
一般に、サーバは内蔵のディスク装置にインストールされたOSをブートする。しかし、サーバが利用するディスク容量が増大し、ディスク装置の容量が不足した場合には、サーバの内蔵ディスクを交換する必要がある。さらに、ディスク装置のバックアップ作業は各サーバでバックアップソフトウェアなどを稼動させて実施する必要があるため、手間がかかる。また、サーバ台数が増大すると、多数のサーバのディスク装置を交換する作業や、バックアップする手間は大変大きくなる。
【０００３】
これに対して、サーバがネットワークを介して、ディスク装置として外部ディスク装置のディスクを利用してブートする形態がある。この構成では、ディスクの容量が不足した場合にも、外部ディスク装置内にディスクを簡単に増設できるため、作業を省力化できる。さらに、バックアップは外部ディスク装置内の複数のディスク間でコピーすることができるため、サーバでソフトウェアを稼動させる手間を省力化できる。また、複数のサーバが外部ディスク装置のディスクからブートする計算機システムでは、１台の外部ディスク装置に全てのサーバのディスクを集約できるため、ディスクの増設やバックアップ作業を１台の外部ディスク装置に対して実施でき、サーバ台数が増大した場合の手間を省力化できる。また、この構成では、ネットワークやネットワークスイッチを介して計算機システムの複数のサーバと接続することができるため、外部ディスク装置に接続されたあるサーバのブートディスクは、別のサーバから参照可能である。このため、この構成では、業務を実行中の現用サーバで障害が発生した場合、そのサーバのブートディスクを利用して別のサーバが起動することで業務を引き継ぐことができる。
【０００４】
このような背景から、ディスクの増設やバックアップ作業の省力化、およびサーバで障害が発生した場合のディスク引き継ぎによる業務引き継ぎを可能とするため、内蔵ディスクからブートするサーバから成る計算機システムを、外部ディスク装置からブートする構成へと移行する方法が望まれている。しかし、これを実現するには、サーバのデータ部分を外部ディスク装置にコピーし、サーバのOSやアプリケーションソフトウェアなどのシステム部分を再構築する作業を行う必要があるため、計算機システムの規模が大きくなると、作業量が増大してしまう問題があった。
【０００５】
また、外部ディスク装置からブートするサーバから成る計算機システムにおいて、たとえばテスト環境で構築したあるサーバの業務を、本番環境である別のサーバへと移行する方法が望まれている。これを実現する方法として、テスト環境のサーバが利用する外部ディスク装置のディスクから移行先のサーバをブートする必要がある。しかし、これを実現するには、移行先のサーバが、テスト環境のサーバが利用していた外部ディスク装置のディスクからブートできるように、移行先のサーバのブートプログラムの設定変更の作業が必要となる。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明が解決しようとする課題は、サーバがブートに利用するディスクを変更する方法において、サーバのOSやアプリケーションの再構築作業およびサーバのブートプログラムの設定を不要とすることで、サーバのブート用ディスクの変更作業を省力化することである。
【０００７】
内蔵ディスクを利用してブートするサーバを外部のディスク装置からブートする構成へと移行する場合、ソフトウェアの再構築が必要となるため、大規模な計算機システムでは多大な作業量を要していた。
【０００８】
また、外部ディスク装置のディスクからサーバがブートする計算機システムにおいて、あるサーバの業務を別のサーバへと移行するには、移行先となるサーバが移行元であるサーバの利用していた外部ディスクのディスクからブート可能とするために、ブートプログラムの設定変更作業が必要であった。
【課題を解決するための手段】
【０００９】
少なくとも１台のサーバがネットワーク上の外部ディスク装置に接続され、サーバは外部ディスク装置からオペレーションシステム（OS)をブートできる計算機システムにおいて、サーバがブートに利用していたディスクとは別に移行先ディスクを持ち、前記サーバまたは前記計算機システムの別のサーバがブートに利用するディスクを前記移行先ディスクへと変更する方法において、前記ブート用のディスクと前記移行先のディスクの内容を同期し、前記移行先ディスクの内容を変更して前記移行先ディスクにインストールされているOSおよびアプリケーションが前記移行先ディスクから起動することを可能とし、さらに該サーバのブートプログラムの設定を変更して前記移行先ディスクからブート可能とすることで、該サーバのブートに利用するディスクの変更を実現する。
【発明の効果】
【００１０】
本発明が解決しようとする課題は、サーバがブートに利用するディスクを変更する方法において、サーバのOSやアプリケーションの再構築を不要とし、サーバのブートプログラムの設定を不要とすることで、サーバのブートに利用するディスクの変更作業の省力化を実現する。
【図面の簡単な説明】
【００１１】
【図１】本発明の全体構成図を示す。（実施例１）
【図２】サーバの構成図を示す。
【図３】管理サーバの構成図を示す。
【図４】サーバ管理テーブルを示す。
【図５】ディスクマッピングテーブルを示す。
【図６】ディスク同期テーブルを示す。
【図７】ディスクマッピング機構の構成を示す。
【図８】サーバへのディスクマッピング構成の例を示す。
【図９】ディスク同期の例を示す。
【図１０】本発明のシーケンス図を示す。
【図１１】サーバ障害検出機能の処理フローを示す。
【図１２】サーバ障害管理機能とストレージ管理機能のシーケンス図を示す。
【図１３】本発明の全体構成図を示す。（実施例２）
【図１４】セキュリティ機構の構成を示す。（実施例２）
【図１５】ネットワークスイッチのセキュリティ設定の例を示す。（実施例２）
【図１６】サーバ管理テーブルを示す。（（実施例２）
【図１７】本発明のシーケンス図を示す。（実施例２）
【図１８】サーバ障害検出機能とストレージ管理機能のシーケンス図を示す。（実施例２）
【図１９】本発明のシーケンス図を示す。（実施例２）
【図２０】サーバの構成図を示す。（実施例３）
【図２１】ミラーリング機構による同期構成の例を示す。（実施例３）
【図２２】本発明のシーケンス図を示す。（実施例３）
【図２３】サーバ障害管理機能とストレージ管理機能のシーケンス図を示す。（実施例３）
【図２４】本発明の全体構成図を示す。（実施例４）
【図２５】サーバの構成図を示す。（実施例４）
【図２６】バックアップ機構によるバックアップ構成の例を示す。（実施例４）
【図２７】本発明のシーケンス図を示す。（実施例４）
【図２８】共有ディスク構成の例を示す。（実施例４）
【図２９】本発明のシーケンス図を示す。（実施例５）
【図３０】本発明の全体構成図を示す。（実施例６）
【図３１】本発明のシーケンス図を示す。（実施例６）
【図３２】サーバ障害管理機能とストレージ管理機能のシーケンス図を示す。（実施例６）
【図３３】現用系サーバのブートプログラムとネットワークブート機能とエージェントとブート管理機能のシーケンス図を示す。（実施例６）
【図３４】ブート構成テーブルを示す。（実施例１）
【図３５】予備系サーバのブートプログラムとネットワークブート機能とエージェントとブート管理機能のシーケンス図を示す。（実施例１）
【発明を実施するための形態】
【実施例１】
【００１２】
図１は、本発明における実施例の全体図を示している。本実施例のシステムは複数のサーバ１０２を備える。各サーバは、ネットワークインターフェースカード（ＮＩＣ）１２１およびネットワークアダプタ（Adaptor）１２０を介してネットワークスイッチ（ＮＷ  ＳＷ）１０４に接続されている。ここでネットワークスイッチはIPプロトコルを取り扱うスイッチであっても、ファイバチャネルのスイッチであっても良い。また、Adaptor１２０の接続先ネットワークスイッチは、NIC１２１とは別のスイッチであっても良い。また、ネットワークスイッチ１０４は外部ディスク装置１０３に接続され、サーバ１０２からアクセスできる。さらに、ネットワークスイッチ１０４は、システムを管理する管理サーバ１０１にも接続されている。また、サーバ１０２の各々にはＢＭＣ（Baseboard Management Controller）１２２が内蔵されておいる。ＢＣＭ１２２はネットワークを介して管理サーバ１０１に接続される。これにより各サーバのハードウェアの状態監視や、電源制御が可能となる。また、外部ディスク装置には外部ディスク装置を制御する外部ディスク装置コントローラ１３０を搭載し、外部ディスク装置コントローラ１３０には、ディスクマッピング機構１３１とディスク同期機構１３２を持つ。ディスクマッピング機構１３１は外部ディスク装置１０３に接続されたサーバ１０２からアクセス可能とするディスク１３３を管理している。また、ディスク同期機構１３２は、外部ディスク装置内のディスク１３３の内容を予備ディスク１３４と同期するように制御する。管理サーバ１０１には、サーバで障害が発生した場合に、障害が発生したサーバの業務を別のサーバへと業務を引き継ぐフェイルオーバ機構１１０と、サーバのブート構成を変更するブート構成変更機能１２０から構成される。
【００１３】
図２は、本実施例におけるサーバ１０２の詳細な構成を示している。サーバ１０２にはプログラムやデータを格納するメモリ２０１と、メモリ内のプログラムを実行するCPU２０２と、Adaptor１２０と、NIC１２１と、ＢＭＣ１２２から構成されている。CPU上で稼動するブートプログラム２２０を備える。Adaptor１２０にはユニークなデバイス識別子(ID)２０４がメモリに格納されている。このID２０４は、たとえばネットワークアダプタの場合はMACアドレスであり、ファイバチャネルのホストバスアダプタの場合はWWNである。ＢＭＣ１２２は、主にサーバ１０２のハードウェアの監視や制御を行う。サーバ１０２のハードウェアに異常が発生した場合は障害検出機構２０５が検知して外部に通知可能である。また、BMC１２２を通じて遠隔からサーバ１０２の電源のＯＮ／ＯＦＦが可能である。ブートプログラム２２０は、たとえばSystem BIOSやEFIなどのプログラムであり、サーバ１０２が電源ONしたときに、あらかじめ不揮発メモリ２０３に登録されているブートに利用するデバイスからサーバ１０２がブートするように動作する。また、ブートプログラム２２０は、Adaptor１２０がネットワークから受信したOSからもブートできる。
【００１４】
図３は本実施例において、図１における管理サーバ１０１を構成するフェイルオーバ機構１１０とブート構成変更機構１２０の詳細を示している。フェイルオーバ機構１１０は、サーバの障害状態の監視を行うサーバ障害検出機能３０１と、サーバ障害発生時のフェイルオーバ動作の実行やサーバ電源制御を行うサーバ障害管理機能３０２と、サーバのハードウェアの物理位置や業務グループ、業務の稼動状態およびサーバの利用状態を格納するサーバ管理テーブル３０３と、サーバの利用するディスクのマッピングや同期処理を制御するストレージ管理機能３０４と、ディスクのマッピング状態を管理するディスクマッピングテーブル３０５と、ディスクの同期処理の状態を管理するディスク同期テーブル３０６から構成される。ブート構成変更機構１２０は、サーバをネットワークからブート可能とするネットワークブート機能３０７と、サーバのブート構成を変更するブート管理機能３０８と、サーバのブートデバイスの状態を示すブート構成テーブル３０９から構成される。ネットワークブート機能３０７は、ネットワークを介してサーバ１０２にエージェント３３０を送付し、サーバ１０２は送付されたエージェント３３０を起動する。ネットワークブート機能３０７は、たとえばサーバ１０２をPXEプロトコルでブート可能とするDHCPサーバ機能に相当する。
【００１５】
図４は、図３におけるサーバ管理テーブル３０３の詳細を示している。サーバ管理テーブル３０３は、フェイルオーバ機能１１０が管理対象としているサーバの一覧と、各サーバの物理位置情報、業務の稼動情報、および状態が格納されている。テーブルのカラム４０１は、サーバの識別子が格納されている。サーバ識別子４０１は、サーバが特定できる情報であれば良い。サーバのシリアル番号や、ブレードサーバであれば、ブレード番号などである。カラム４０２はサーバの物理位置情報を示している、サーバの障害発生時などに、障害発生部位に当たるサーバを特定するためなどに使用する。カラム４０３はサーバの業務グループを示している。業務グループには業務を稼動中である１つ以上の現用サーバと、業務を稼動していない予備サーバとで構成される。業務グループに属する現用サーバで障害が発生した場合には、おなじ業務グループに属する予備サーバへとフェイルオーバを実施することになる。カラム４０４はサーバの業務稼動状態を示している。業務を稼動中であれば現用サーバであり、稼動していなければ予備サーバである。カラム４０５はサーバの状態を示している。サーバが正常に運用中であるか、障害発生状態にあるか、またはフェイルオーバが実行された状態にあるかなどを示す。この情報をもとに、フェイルオーバが必要なサーバが存在するかを確認でき、かつフェイルオーバ先として選択可能なサーバが存在するかを特定できる。カラム４０６はサーバのフェイルオーバ状態を示す。フェイルオーバが実行されたサーバに対しては、そのサーバのフェイルオーバ先のサーバ識別子と物理位置情報などを示す。また、フェイルオーバによって業務を引き継いだサーバは、フェイルオーバ前にもともと業務が稼動していたサーバに識別子と物理位置情報などを示す。カラム４０６の情報を元に、サーバをフェイルオーバ状態から復旧することができる。
【００１６】
図５は、図３におけるディスクマッピングテーブル３０５の詳細を示している。カラム５０１はサーバの識別子を示す。この識別子は、図４のカラム４０１と同じである。カラム５０２はサーバ搭載のAdaptor１２０のID情報を示している。たとえば、Adaptor１２０がネットワークカードであればMACアドレスを示し、Adaptor１２０がファイバチャネルのホストバスアダプタであればWWNを示す。カラム５０３は、カラム５０１で示すサーバのブートディスクが存在する外部ディスク装置の識別子を示している。カラム５０４は、カラム５０３の外部ディスク装置に存在するブートディスクの識別子を示す。カラム５０４のブートディスクは、カラム５０５は、カラム５０１で示すサーバの予備ディスクが存在する外部ディスク装置の識別子を示している。カラム５０６は、カラム５０５の外部ディスク装置に存在する予備ディスクの識別子を示す。ここで、カラム５０６の予備ディスクは、サーバで障害が発生した場合のフェイルオーバ時に、業務の引き継ぎ先となる予備サーバがブートに利用するディスクのことである。なお、カラム５０４のディスクは必ずしもブートディスクの情報だけでなく、サーバがデータ用ディスクを外部ディスクに持つ場合は、そのデータディスクの情報も追加される。同様にカラム５０６の予備ディスクも、データディスクに対する予備ディスクも追加される。
【００１７】
図６は、図３におけるディスク同期テーブル３０６の詳細を示している。カラム６０１は、外部ディスク装置の識別子を示している。カラム６０２はカラム６０１に示す外部ディスク装置に存在するディスクを示す。カラム６０３は、カラム６０２のディスクの内容を同期するサブディスクを示す。カラム６０４は、カラム６０２で示すディスクの内容と、カラム６０３で示すディスクの内容が同期状態にあるか、分離された状態にあるかを示す。同期状態にある場合は、カラム６０２で示すディスクへの変更は、同時にカラム６０３で示すサブディスクへと反映される。分離状態である場合は、カラム６０２で示すディスクとカラム６０３で示すサブディスクは独立して更新される。なお、本実施例の図５に示したディスクマッピングテーブルのカラム５０４のディスクとカラム５０６の予備ディスクのペアと、ディスク同期テーブルのカラム６０２の主ディスクとカラム６０３のサブディスクのペアは同一としている。
【００１８】
図７は、図１における外部ディスク装置１０３内のディスクマッピング機能１３１の詳細を示している。ディスクマッピング機能１３１は外部ディスク装置１０３のディスク１３３と、ディスクアレイ装置１０３にネットワークスイッチ１０４経由で接続されているサーバ１０２に搭載のAdaptor１２０の持つIDとののマッピングを実施する。このマッピング関係にないIDを持つサーバからはディスクを参照できない。これにより、あるディスクをあるサーバからのみアクセス可能とするセキュリティ設定が可能である。このセキュリティ設定のため、本実施例ではディスクマッピング機能１３０は図７に示すアクセス許可テーブルを持つ。カラム７０１はアクセスを許可するIDを示す。カラム７０２はカラム７０１のIDがアクセス可能なディスクの識別子を示す。
【００１９】
図３４は、図３におけるブート構成テーブル３０９の詳細を示している。カラム５１０１はサーバの識別子を示す。カラム５１０２は、サーバがブートに利用しているデバイスを示す。たとえば、内蔵ディスクからブートするサーバの場合はIDEやSCSIなどであり、ファイバチャネルやiSCSIからブートするサーバの場合はiSCSI、SANなどである。また、サーバがブートに利用Adaptor１２０が複数存在する場合には、このブートデバイス情報でデバイスを識別できる。ここで、カラム５１０１の同じサーバの識別子が複数存在するのは、同じサーバで異なるブートデバイスからブートするための情報を示している。カラム５１０３は、サーバのブートデバイスのデバイスパスを示す。デバイスパスとは、たとえば、Linux（登録商標）の場合には、I/Oデバイスを示すスペシャルデバイス/dev/sda1などである。LinuxのブートローダであるGRUBやLILOなどは、このデバイスパスを用いてブートするデバイスを特定する。また、このデバイスパスは、LinuxのEXT3などのファイルシステムがマウントするデバイスがファイル/etc/fstabなどに設定されており、この設定ファイルに記述されているマウントするデバイスの情報に相当する。また、デバイスパスは、Windows（登録商標）の場合にはboot.iniファイルに設定されているブートローダのブートデバイスmulti(0)disk(0)rdisk(0)partiotn(1)のセットアップパラメータに相当する。カラム５１０４は、ブートデバイスのターゲットWWNを示す。たとえば、ターゲットデバイスが外部ディスク装置の場合は、外部ディスク装置のブートに利用するポートのWWNである。カラム５１０５は、ブートデバイスのターゲットLUN番号を示す。LUN番号は、外部ディスク装置のディスクの論理的な識別番号である。カラム５１０４およびカラム５１０５の情報は、たとえばサーバ１０２に搭載のAdaptor１２０がファイバチャネルのHBAの場合には、HBAのBIOSがブートに利用するターゲットデバイスの情報に相当する。カラム５１０６は、ブートプログラム２２０がブートに利用するブート設定情報である。ここで、ブートプログラム設定情報とは、たとえば、ブートプログラム２２０がEFIの場合には、ブートに利用するAdaptor１２０のPCIのバス番号やデバイス番号、EFIのパーティション毎に持つUUIDなどである。
【００２０】
図８は、本実施例におけるディスクマッピング変更例を示している。サーバ１（８０１）に搭載のAdaptor８１０はWWN１（８１１）を持ち、サーバ２（８０２）に搭載のAdaptor８２０はWWN２（８２１）を持つ。これらはネットワークスイッチ１０４を経由して外部ディスクイ装置１０３に接続されている。ディスクのマッピングはディスクマッピング機構１３１によって制御されており、ディスク８３１、８３３がサーバ１（８０１）のWWN１（８１１）にマッピングされ、ディスク８３２はサーバ２（８０２）のWWN２（８２１）にマッピングされている。ディスク８３１と８３３はサーバ１（８０１）からのみアクセス可能であり、ディスク８３２はサーバ２（８０２）からのみアクセス可能である。また、ディスク８３１、８３２、８３３にはOSや業務アプリケーションがインストールされているブートディスクを含んでいる。
【００２１】
図９は、本実施例におけるディスク同期の例を示している。現用サーバ（９０１）に搭載のAdaptor９１０はWWN１（９１１）を持ち、予備サーバ（９０２）に搭載のAdaptor９２０はWWN２（９２１）を持つ。これらはネットワークスイッチ１０４を経由して外部ディスクイ装置１０３に接続されている。ディスクの同期処理はディスク同期機構１３２によって制御されており、ディスク８３１への変更内容は、同時にディスク９３１へと反映される。これによりディスク８３１とディスク９３１の内容は同期される。この図の例では、ディスク８３１はディスクマッピング機構によって現用サーバ（９０１）のWWN１（９１１）にマッピングされている。現用サーバ（９０１）で障害が発生した場合には、直ちにディスク８３１とディスク９３１を分離して同期処理を解除し、ディスク９３１を予備サーバ（９０２）のWWN２（９２１）へとマッピングして、予備サーバ（９０２）をブートすることにより、現用サーバ（９０１）はディスク８３１にアクセス可能なまま、予備サーバ（９０２）が現用サーバ（９０１）の稼動していた業務を引き継ぐことができる。
【００２２】
図１０は、本発明における実施例の動作シーケンスを示している。図示するシーケンスは、現用サーバ１００１、予備サーバ１００２、フェイルオーバ機構１００３、ディスク同期機構１００４、ディスクマッピング機能１００５、ブート構成変更機構１００６である。ステップ１０３０は、フェイルオーバ機構１００３のディスク同期開始要求を示す。この要求を受けて、ステップ１０４０でディスク同期機構１００４がディスクの同期を開始する。ここで同期するディスクは、図６に示したディスク同期テーブルに存在する現用サーバ１００１の主ディスクとそのサブディスクである。同期処理を開始すると、ステップ１０１０にて現用サーバの運用を開始する。これにより、現用サーバ１００１の業務が開始される。ステップ１０１１は、運用中の現用サーバ１００１で障害が発生したことを示す。ステップ１０３１でフェイルオーバ機構１００３が障害の発生を検知する、これと同時にステップ１０１２で障害が発生した現用サーバ１００１の障害原因解析作業が行われる。この作業はOSメモリのディスクダンプなどである。このステップ１０１２と並行して、フェイルオーバ機構１００３はステップ１０３２で障害発生サーバが現用サーバ１００１であることを特定する。ステップ１０３２の結果を受けて、ステップ１０３３で現用サーバ１００１の主ディスクとサブディスクの同期の解除をディスク同期機構１００４へと要求する。ステップ１０４１にて、ディスク同期機構１００４は現用サーバ１００１の主ディスクとサブディスクの同期解除を実行する。同期解除が完了すると、ステップ１０３４でフェイルオーバ機構１００３は現用サーバ１００１に対する予備サーバ１００２を検索する、この検索には図４に示したサーバ管理テーブルを利用する。ステップ１０３５にてディスクマッピング機構１００５へ予備サーバ１００２に現用サーバ１００１のサブディスクをマッピングするように指示する。ステップ１０５０でディスクマッピング機構１００５は、予備サーバ１００２へ現用サーバ１００１のサブディスクをマッピングする。マッピングが完了すると、ステップ１０３６にて予備サーバ１００２の起動を要求する。ステップ１０２０で予備サーバ１００２が起動し、ブートプログラムがネットワークに起動したことを示す情報を送信する。この情報とは、たとえば、PXEブートを実行するために、ネットワークにブロードキャストするマジックパケットなどである。ブート構成変更機構１００６は、ステップ１０２０で送信された情報を受信し、ステップ１０６１でネットワークブートを予備サーバ１００２に要求する。予備サーバ１００２はステップ１０２２でネットワークブートし、ブートしたエージェント３７０がブート構成変更機構１００６と通信を開始する。ブート構成変更機構１００６は、ステップ１０６２で予備サーバ１００２のブートプログラム設定の変更要求をエージェント３７０へ通知する。エージェント３７０は、ステップ１０２３にて予備サーバのブートプログラムの設定を変更する。ここで設定を変更するのは、たとえば予備サーバのSystem BIOSやEFIのブートプライオリティやブートデバイスの設定、およびHBAなどのAdaptor１２０のブートのターゲットデバイスなどである。ステッ���１０２４で、エージェント３７０は予備サーバをリブートする。ステップ１０２１では、予備サーバ１００２はマッピングされたサブディスクを利用してブートし、ステップ１０２１にて現用サーバの業務を引き継いで再開する。この予備サーバ１００２が業務を引き継いだ後も、現用サーバ１００１は障害原因解析作業を続行可能である。障害原因解析作業が完了すると、ステップ１０１２にて現用サーバ１００１を停止する。
【００２３】
以下では、図１０におけるシーケンスをより詳細に説明する。図１１は、サーバ障害管理検出機能３０１の動作フローを示している。ステップ１１０１は、サーバ障害発生時にサーバの障害報告通知をネットワーク等を通じて受信したことを示す。図１に示すサーバ１０２のBMC１２２が障害を検出すると、サーバ１０２の障害をサーバ障害検出機構３０１に通知する、これを受信するとステップ１１０１にてサーバ障害報告通知を受信する。ステップ１１０２では、障害報告通知の情報に存在する障害が発生したサーバの物理位置情報などの情報をもとに、障害発生サーバの識別子を特定する。次にステップ１１０３では、障害報告通知の情報に存在する障害の種類の情報をもとに、発生した障害の種類を特定する。ステップ１１０４では、サーバ障害管理機能３０２に、障害が発生したサーバの情報と、障害の種類を通知する。
【００２４】
図１２はサーバ障害管理機能３０２と、ストレージ管理機能３０４の処理シーケンスの詳細を示している。ステップ１２０１では、図１１のステップ１１０４に示した障害発生サーバの識別子と、発生した障害の種類を通知を受けたことを示す。ステップ１２０２では、ストレージ管理機能３０４に障害が発生したサーバのディスク同期処理を解除するように要求する。このとき要求には、障害発生サーバの識別子の情報を含む。ステップ１２０３では、障害発生サーバの識別子をもとに図５に示したディスクマッピングテーブルを参照し、障害発生サーバの使用ディスクを検索する。ステップ１２０４では、ステップ１２０３で検索の結果発見したディスクの情報をもとに、図６に示したディスク同期テーブルを参照してサブディスクを検索する。ステップ１２０５では、ステップ１２０４の結果発見したサブディスクと主ディスクの組み合わせの同期処理を解除するように、図１に示すディスク同期機構１３２に要求する。ディスク同期機構１３２がディスク同期の解除を完了すると、ステップ１２０６で同期処理解除の完了通知を受ける。ステップ１２０７では、図４に示したサーバ管理テーブルを参照して、障害発生サーバに対するフェイルオーバ先となる予備サーバを検索する。ステップ１２０８では、ステップ１２０７の結果発見した予備サーバに対して、障害発生サーバの予備ディスクをマッピングするように要求する。このとき、要求には障害発生サーバの識別子の情報を含む。ステップ１２０９では、障害発生サーバの予備ディスクを、予備サーバへとマッピングするように図１に示したディスクマッピング機構１３１に要求する。本実施例では、図５に示すディスクマッピングテーブルの予備ディスクと、図６に示すディスク同期テーブルのサブディスクは一致しているので、このディスクマッピング要求により、予備サーバにはステップ１２０５で同期処理の解除を要求したサブディスクがマッピングされることになる。ディスクマッピング機構１３１でマッピングの処理が完了すると、ステップ１２１０でディスクマッピング完了の通知を受ける。ステップ１２１１では、予備サーバを起動する。これにより、障害発生サーバのサブディスクを利用して予備サーバが起動する。
【００２５】
図３５はネットワークブート機能３０７と、ブート管理機能３０８、およびエージェント３７０の処理シーケンスの詳細を示している。ステップ５２１１は、予備サーバが起動された後に起動するブートプログラム５２００が、ネットワークブート情報を送信することを示す。ここでネットワークブート情報とは、たとえばPXEブートを実行するためにDHCPサーバへ送付するマジックパケットなどである。ステップ５２１２では、ネットワークブート機能３０７が、ステップ５２１１で送信されたネットワークブート情報を受信する。ステップ５２１３は、ネットワークブート情報を受けて、予備サーバへとネットワークブートプログラムとして、エージェント３７０を送付することを示す。ステップ５２１４では、予備サーバのブートプログラム５２００が、ネットワークブート機能３０７から受信したエージェント３７０を起動する。ステップ５２１５では、ステップ５２１４で起動したエージェント３７０がブートデバイスの更新情報をブート管理機能３０８に要求する。ステップ５２１６では、ブート管理機能３０８がブート構成テーブル３０９を参照して、移行元である現用サーバがブートに利用していた情報と、予備サーバが予備ディスク１３４からブートするために必要となる情報を取得する。ステップ５２１７では、ステップ５２１６で取得した現用サーバと予備サーバのブートデバイス情報を比較して、予備サーバのブートプログラム２２０およびAdaptor１２０のブート設定情報、予備ディスク１３４にインストールオされているペレーティングシステムおよびアプリケーションプログラムが利用するブートデバイスおよびマウントポイントの情報のうち、更新すべき情報があるかを調査し、更新すべき情報をブートデバイス更新情報として作成する。ステップ５２１８では、ステップ５２１７で作成したブートデバイス更新情報をエージェント３７０へ通知する。ステップ５２１９では、エージェント３７０がブートデバイス更新情報を受信し、ブートプログラム２２０およびAdaptor１２０のブート設定情報の変更が必要であれば、不揮発メモリ２０３に記録されている設定情報を更新する。ここで、不揮発メモリ２０３は、Adaptor１２０がたとえばPCIカードであった場合には、PCIカード搭載の不揮発メモリも含む。更新する内容は、たとえばブートプログラムがEFIの場合には、EFIのブートデバイスパスとしてブート構成テーブル３０９のブートプログラム設定情報５１０６の情報を登録する。また、Adaptor１２０の更新内容としては、たとえばAdaptor１２０がファイバチャネルのHBAの場合には、HBA-BIOSに設定するブートのターゲットデバイスであるターゲットのWWNとターゲットのLUNなどである。ステップ５２２０では、ブートデバイス更新情報を参照して、予備ディスクの内容を更新する必要があれば、予備ディスクの内容を更新する。ここで予備ディスクを更新する内容としては、たとえば予備ディスクにオペレーティングシステムとしてLinuxがインストールされている場合には、Linuxのブートローダのブートデバイス情報と、デバイスのマウント情報などである。ステップ５２２１では、エージェントが予備サーバをリブートする。リブート後は予備サーバはネットワークブートはせず、予備ディスクを利用してブートする。
【実施例２】
【００２６】
本発明における実施例２では、実施例１で示した外部ディスク装置コントローラ１３０に存在するディスクマッピング機構１３１は存在しなくても良い方法を示す。
【００２７】
図１３は、本発明における実施例２の全体図を示している。実施例１と異なるのは、ネットワークスイッチ１０４のネットワークスイッチコントローラ１４０で動作するセキュリティ機構１４１を有することである。また、外部ディスク装置コントローラ１３０に存在するディスクマッピング機構１３１は存在しなくても良い。セキュリティ機構１４１はネットワークスイッチに接続されているサーバ１０２や外部ディスク装置１０３などの機器間で通信可能な機器を制限するセキュリティ機能である。ネットワークスイッチ１０４の典型的なセキュリティ機能の例は、VLANやゾーニングなどである。
【００２８】
図１４は、図１で示したセキュリティ機構１４１の詳細を示している。セキュリティ機構１４１はセキュリティテーブル１４００を持つ。カラム１４０１はネットワークスイッチ１４０のポートの物理位置を示すIDのリストを示す。カラム１４０２はポートのIDが属するセキュリティグループを示している。セキュリティ機構１４１はセキュリティグループが同じポートの接続されている機器間は通信可能とする。なお、カラム１４０１のポートのIDは、ポートに接続されている機器のadaptor１２０の固有IDであるWWNやMACアドレスなどを用いても良い。
【００２９】
図１５は、本実施例のセキュリティ設定の変更例を示している。ここでは外部ディスク装置１３０のディスクマッピング機構１３１を利用せず、外部ディスクの全てのディスク（８３１、８３２、８３３）がアクセス可能であるとしている。ネットワークスイッチ１０４にセキュリティ機構１４１が存在しない場合は、サーバ１（８０１）とサーバ２（８０２）の両方からディスク８３１、８３２、８３３がアクセス可能である。セキュリティ機構１４１がネットワークスイッチ１０４のポート１とポート６を同一グループにするようセキュリティ設定が実施されている場合は、ポート１に接続しているサーバ１（８０１）は、ポート６に接続している外部ディスク装置１０３へとアクセス可能とし、ポート２に接続しているサーバ２（８０２）からポート６へはアクセス許可をしないことで、サーバ２（８０２）からはディスク８３１、８３２、８３３はアクセスできない。セキュリティ機構１４１のセキュリティ設定を変更し、ポート２とポート６を同一グループに設定することで、サーバ２（８０２）からディスク８３１、８３２、８３３をアクセス可能となる。
【００３０】
図１６は、本実施例において、図４で示したサーバ管理テーブル３０３へと追加される情報の例である。カラム１６０１とカラム１６０２、カラム１６０３が追加情報である。カラム１６０１はカラム５０１に示すサーバに搭載のadaptorのIDを示し、これは図５に示したディスクマッピングテーブルのカラム５０２と同様である。カラム１６０２はカラム１６０１のID情報を持つadaptorが接続されているネットワークスイッチ１０４を識別する接続先ネットワークスイッチIDを示している。カラム１６０３はカラム５０２のID情報を持つadaptorが接続されているネットワークスイッチ１０４のポートの位置を示す識別情報である接続先ネットワークスイッチポートIDを示している。この情報を利用して、フェイルオーバ機構１１０はサーバ１０２の接続先となるネットワークスイッチ１０４とポート位置を取得可能である。
【００３１】
図１７は、本実施例の動作シーケンスを示している。図示するシーケンスは、現用サーバ１００１、予備サーバ１００２、フェイルオーバ機構１００３、ディスク同期機構１００４、ブート構成変更機構１００６、セキュリティ機構１７０５である。実施例１と異なるのは、ステップ１７５０である。ステップ１７５０では、セキュリティ機構１４１のセキュリティ設定を変更し、予備サーバから現用サーバの予備ディスク１３４をアクセス可能となるように変更する。これにより、予備サーバはアクセス可能となった予備ディスク１３４を利用して起動することができる。
【００３２】
図１８は、本実施例におけるサーバ障害管理機能３０２と、ストレージ管理機能３０４の処理シーケンスの詳細を示している。実施例１と異なるのは、ステップ１８０９とステップ１８１０である。ステップ１８０９は、ストレージ管理機能３０４がステップ１２０５で同期処理を解除したディスクを予備サーバからアクセス可能とするようにセキュリティ機構１４１に要求する。ステップ１８１０では、ストレージ管理機能３０４が、セキュリティ機構１４１からステップ１８０９で要求したセキュリティ設定変更処理の完了通知を受信する。これにより、予備サーバから現用サーバの予備ディスク１３４を予備サーバがアクセス可能となる。
【００３３】
図１９は、本実施例の別の動作シーケンスを示している。図示するシーケンスは、現用サーバ１００１、予備サーバ１００２、フェイルオーバ機構１００３、ディスク同期機構１００４、ブート構成変更機構１００６、セキュリティ機構１７０５である。図１７と異なるのは、ステップ１９００とステップ１９０１である。ステップ１９００では、セキュリティ機構１４１に対して、現用サーバのNICが接続しているネットワークスイッチ１０４のポートを利用不可能として、現用サーバをネットワークから隔離するように要求する。ステップ１９０１では、ネットワークスイッチ１０４のセキュリティ機構１４１が、現用サーバ１００１のNICが接続しているネットワークスイッチ１０４のポートを利用不可能とする。これにより、現用サーバ１００１のNICからネットワークに出力される情報の流れを止めることで、たとえばIPアドレスなどの情報がステップ１０２０で起動した予備サーバ１００２とでネットワーク上で競合しないように回避する。また、ネットワークを隔離する別の方法として、現用サーバ１００１のNICが接続されているネットワークスイッチ１４０のポートのグループIDを、ネットワークスイッチ１４０のどのポートも属さないグループIDに変更する方法もある。
【実施例３】
【００３４】
本発明における実施例３では、実施例１と異なり、図１で示した外部ディスク装置１０３にディスク同期機構１３２が存在しなくても、外部ディスク装置１０３のディスク１３３と予備ディスク１３４とでディスクの内容の同期を取る。本実施例では、実施例１に対して、図２に示したサーバ１０２の構成が異なる。
図２０は、本実施例のサーバ１０２の詳細を示している。実施例１の図２と異なるのは、ミラーリング機構２０００が存在することである。ミラーリング機構２０００はCPU２０２で動作するプログラムであり、サーバ１０２が外部ディスク装置１０３のディスク１３３へと出力する全ての情報を、予備ディスク１３４へも同時に出力する機能を提供する。  
【００３５】
図２１は、本実施例のミラーリング機構２０００によるディスク同期の例を示している。サーバ１０２から発行されるディスク２１０１への書き込み命令２１００は、ミラーリング機構２０００によって、外部ディスク装置１０３のディスク２１０１と予備ディスク２１０２の両方に同じ内容を書き込む処理へと変換される。これにより、ディスク２１０１と予備ディスク２１０２の内容を同期することができる。また、サーバ１０２に内蔵ディスクが存在する場合には、ミラーリング機構２０００により、内蔵ディスクと外部ディスク装置１０３のディスク２１０１または予備ディスク２１０２とに同じ内容を書き込むことで、内容を同期することもできる。
【００３６】
図２２は、本実施例の動作シーケンスを示している。図示するシーケンスは、現用サーバ１００１、予備サーバ１００２、フェイルオーバ機構１００３、ディスクマッピング機構１００５、ブート構成変更機構１００６である。実施例１と異なるのは、ステップ２２０１が存在し、ディスク同期機構１００４のシーケンスが存在せず、かつディスク同期機構１００４に関するステップが削減されていることである。ステップ２２０１では、サーバ１０２で稼動するミラーリング機構２０００により、図２１で示したディスク２１０１と予備ディスク２１０２の内容を同期が開始されることを示している。これにより、ディスク同期機構１００４が存在しなくても、複数のディスクで内容の同期が可能となる。
【００３７】
図２３は、本実施例におけるサーバ障害管理機能３０２と、ストレージ管理機能３０４の処理シーケンスの詳細を示している。実施例１と異なるのは、ステップ２３００と、ディスク同期機構に関するステップが削減されていることである。ステップ２３００では、図２１で示した現用サーバの予備ディスク２１０２を予備サーバへとマッピングするようにディスクマッピング機構へと要求する。
【実施例４】
【００３８】
本発明における実施例４では、実施例１で示した図１のディスク１３３が存在しない場合に、サーバ１０２がローカルディスクを持つ方法である。本実施例では、現用サーバはローカルディスクを利用して業務を運用しているとする。
【００３９】
図２４は、本実施例の全体図を示す。実施例１の図１と異なるのは、外部ディスク装置１０３にディスク１３３とディスク同期機構１３２が存在せず、サーバ１０２にローカルディスク１２３が存在することと、管理サーバ１０１にバックアップ機構２４００が存在することである。なお、予備サーバとなるサーバ１０２は、ローカルディスク１２３を持たなくても良い。
【００４０】
図２５は、本実施例におけるサーバ１０２の詳細を示す。実施例１の図２と異なるのは、ローカルディスク１２３を持つことである。
【００４１】
図２６は、本実施例のバックアップ機構２４００の動作の詳細を示す。バックアップ機構２４００は、ネットワークスイッチ１０４経由でサーバ１０２のローカルディスク１２３の内容を読み取り、外部ディスク装置１０３の予備ディスク１３４にコピーする。図２７は、本実施例の動作シーケンスを示している。図示するシーケンスは、現用サーバ１００１、予備サーバ１００２、フェイルオーバ機構１００３、バックアップ機構２７００、ディスクマッピング機構１００５、ブート構成変更機構１００６である。実施例１と異なるのは、ステップ１０３３が存在しないことと、バックアップ機構２７００の存在と、ステップ２７０１とステップ２７０２である。ステップ２７０１では、フェイルオーバ機構１００３が現用サーバ１００１のローカルディスク１２３の内容を外部ディスク装置の予備ディスクにバックアップするように要求する。ステップ２７０２は、バックアップ機構２７００が、フェイルオーバ機構１００３のバックアップ要求を受けて、現用サーバ１００１のローカルディスクの内容を、外部ディスク装置の予備ディスクへとコピーする。
【００４２】
図２８は、本実施例におけるサーバと外部ディスク装置のディスクの構成例を示す。図２８では、現用サーバ２８０１と予備サーバ２８０２とで共有ディスク２８０３を持つ。この共有ディスク２８０３に現用サーバ２８０１で動作していたアプリケーションの設定データやログなどを共有データ２８０４に書き込むことで、予備サーバ２８０２がブートに利用する予備ディスク１３４の内容と、現用サーバ２８０１のローカルディスク２８１０とで、内容が不一致となっても、予備サーバ２８０２が現用サーバ２８０１とアプリケーションの設定が一致した状態で起動することができる。
【実施例５】
【００４３】
本発明における実施例５では、実施例１で示したディスク同期処理を常に実行しない方法である。
【００４４】
図２９は、本実施例の動作シーケンスを示している。図示するシーケンスは、現用サーバ１００１、予備サーバ１００２、フェイルオーバ機構１００３、ディスク同期機構１００４、ディスクマッピング機構１００５、ブート構成変更機構１００６である。実施例１と異なるのは、ステップ１０３３が存在しないことと、ステップ２９０１とステップ２９０２とステップ２９０３である。ステップ２９０１では、ステップ１０１０において現用サーバ１００１で業務運用が開始された後に、フェイルオーバ機構１００３が現用サーバ１００１の利用するディスクの内容を外部ディスク装置の予備ディスクと同期するように要求する。ステップ２９０２は、ディスク同期機構１００４が、現用サーバ１００１の利用するディスクの内容と、外部ディスク装置の予備ディスクとを同期する。ステップ２９０３では、ステップ２９０２でディスクの内容が一致した時点で同期を解除する。これにより、この後ステップ１０１１で現用サーバ１００１で障害が発生し、現用サーバ１００１の利用するディスクの内容が破壊されても、予備サーバ１００２の利用する予備ディスクの内容は破壊されない。
【実施例６】
【００４５】
本発明における実施例６では、実施例４において、サーバを移行するのではなく、サーバ１台のブートするディスクを別のディスクへと変更する例である。実施例４では、サーバの障害を契機にサーバのブート構成の変更へと移っていたが、本実施例では、サーバのブート構成変更契機は何でも良い。よって、本実施例では、実施例４のフェイルオーバ機構１１０のサーバ障害検出機構３０１は存在しなくても良い。なお、本実施例は内蔵ディスクからブートするサーバを外部ディスク装置からブートするように変更しているが、外部ディスク装置からブートするサーバを内蔵ディスクからブートするように変更することも可能である。
【００４６】
図３０は、本発明における別の実施例の全体図を示している。実施例４の図２４と異なるのは、本実施例のシステムは１台のサーバ１０２を備えることとである。ただし、複数のサーバが存在しても良い。
【００４７】
図３１は、本実施例のシーケンスを示している。実施例４の図２７と異なるのは、予備サーバが存在しないことと、現用サーバに関するステップと、障害発生を契機とせず、ステップ３１０１によるブート構成変更開始が契機となることである。ステップ３１０２は、フェイルオーバ機構１００３が現用サーバ１００１を起動する。ステップ３１０３で現用サーバが起動し、ステップ３１０４でネットワークブートを開始する。ステップ３１０５で現用サーバのブートプログラム更新が実施され、ステップ３１０６で現用サーバをリブートする。ステップ３１０７で現用サーバが予備ディスクを利用してブートし、業務を再開する。なお、本実施例において、ネットワークブート機能３０７が存在しなくても、たとえばエージェント３７０が現用サーバのディスク１２３にインストールされていれば、ステップ３１０１を契機に現用サーバでエージェント３７０が稼動し、ステップ３１０５からのシーケンスを単に実行すればよい。
【００４８】
図３２は、本実施例におけるフェイルオーバ機構１１０のサーバ障害管理機能３０２およびストレージ管理機能３０４の詳細シーケンスを示す。ステップ３２０１では、ブート構成変更要求を受け付ける。この要求は、計算機システムの管理者が手動で要求しても、他のソフトウェアから自動で要求されても良い。ステップ３２０２では、現用サーバへの予備ディスクのマッピングをストレージ管理機能３０４に指示する。ステップ３２０３では、ストレージ管理機能３０４は、予備ディスクを現用サーバへとマッピングするようにディスクマッピング機能へと要求する。ステップ３２０４では、ディスクマッピング機構からステップ３２０３のディスクマッピング要求の完了通知を受ける。ステップ３２０５では、サーバ障害管理機能３０２が現用サーバを起動する。
【００４９】
図３３は、本実施例におけるはネットワークブート機能３０７と、ブート管理機能３０８、およびエージェント３７０の処理シーケンスの詳細を示している。図３５に示した実施例１の処理シーケンスとの違いは、予備サーバが現用サーバへと変わることと、ステップ３３１６である。ステップ３３１６では、ブート構成テーブルから、現用サーバの予備ディスクのブートデバイスに対する情報を取得する。たとえば、現用サーバのブートデバイスをIDEからSANに変更する場合は図３４のカラム５１０２のブートデバイスにおいて、IDEからSANに変更することになる。
【００５０】
本実施例のディスクマッピング機能１３１が存在しない場合であっても、実施例１に対する実施例２と同様に図１３のセキュリティ機構１４１に代替可能である。また、本実施例のバックアップ機能２４００が存在しない場合であっても、実施例３の図２０に示すミラーリング機構２０００で代替が可能である。
【産業上の利用可能性】
【００５１】
本特許のブート構成変更方法は、あるサーバで稼動中の業務を、別のサーバへと引き継ぐ方法として利用可能である。また、一方のサーバである業務を稼動中に、もう一方のサーバでソフトウェアおよびハードウェアのアップデートや入れ替え作業、およびテスト作業を並行して実施できる。
【符号の説明】
【００５２】
１０１    管理サーバ
１０２    サーバ
１０３    外部ディスク装置
１０４    ネットワークスイッチ
１１０    フェイルオーバ機構
１２０    ブート構成変更機構
１２０    Adaptor
１２１    ＮＩＣ
１２２    ＢＭＣ
１２３    ローカルディスク
１３０    外部ディスク装置コントローラ
１３１    ディスクマッピング機構
１３４    予備ディスク
２４００  バックアップ機構。
【図１】
0005423855.tif 000002
【図２】
0005423855.tif 000003
【図３】
0005423855.tif 000004
【図４】
0005423855.tif 000005
【図５】
0005423855.tif 000006
【図６】
0005423855.tif 000007
【図７】
0005423855.tif 000008
【図８】
0005423855.tif 000009
【図９】
0005423855.tif 000010
【図１０】
0005423855.tif 000011
【図１１】
0005423855.tif 000012
【図１２】
0005423855.tif 000013
【図１３】
0005423855.tif 000014
【図１４】
0005423855.tif 000015
【図１５】
0005423855.tif 000016
【図１６】
0005423855.tif 000017
【図１７】
0005423855.tif 000018
【図１８】
0005423855.tif 000019
【図１９】
0005423855.tif 000020
【図２０】
0005423855.tif 000021
【図２１】
0005423855.tif 000022
【図２２】
0005423855.tif 000023
【図２３】
0005423855.tif 000024
【図２４】
0005423855.tif 000025
【図２５】
0005423855.tif 000026
【図２６】
0005423855.tif 000027
【図２７】
0005423855.tif 000028
【図２８】
0005423855.tif 000029
【図２９】
0005423855.tif 000030
【図３０】
0005423855.tif 000031
【図３１】
0005423855.tif 000032
【図３２】
0005423855.tif 000033
【図３３】
0005423855.tif 000034
【図３４】
0005423855.tif 000035
【図３５】
0005423855.tif 000036