(57)【要約】【課題】共有ディスク上のログファイルへのデータ記録を適正に行うことにより現用サーバと予備サーバの切替え時にエラーが発生しないようにする。【解決手段】クラスタシステムは、運用系のサーバ装置１０ａと待機系のサーバ装置１０ｂが共有ディスク３０を利用して動作を行うように構成されている。サーバ装置１０ａにおいてデータ転送機能を有するｓｙｓｌｏｇｄ１１ａが、クラスタサービス２０のアプリケーション２１のログメッセージをローカルディスク上の名前付きパイプ１３ａへ一時的に保存すると、ログアプリケーション１４ａが、名前付きパイプ１３ａに保存されたログメッセージを共有ディスク３０上のログファイル３１へ記録する。このとき、ログアプリケーション１４ａは、アプリケーション２１のログメッセージが名前付きパイプ１３ａへ保存されるタイミングで、ログファイル３１のオープン／書き込み／クローズの処理を行う。【選択図】図１
2012173752.tif 000002
【特許請求の範囲】
【請求項１】
運用系サーバと待機系サーバとが共有ディスクを利用して動作を行うクラスタシステムであって、
アプリケーションのログメッセージをローカルディスク上の名前付きパイプへ一時的に保存する保存手段と、
前記名前付きパイプへ一時的に保存された前記ログメッセージを前記共有ディスク上のログファイルへ記録する記録手段と、
前記記録手段がログメッセージを前記ログファイルへ記録するタイミングを設定するタイミング設定手段と、
を備えたことを特徴とするクラスタシステム。
【請求項２】
前記記録手段は、前記名前付きパイプを読み込むプログラムによって前記ログメッセージを前記ログファイルへ記録することを特徴とする請求項１に記載のクラスタシステム。
【請求項３】
前記記録手段は、前記運用系サーバ又は前記待機系サーバのローカルディスク上に存在する前記名前付きパイプを指定して、前記ログメッセージを前記ログファイルへ記録することを特徴とする請求項１又は２に記載のクラスタシステム。
【請求項４】
前記タイミング設定手段は、前記保存手段から前記名前付きパイプへ前記ログメッセージが出力されるタイミングで、前記ログファイルのオープン／書き込み／クローズの処理を行うことを特徴とする請求項１乃至３の何れかに記載のクラスタシステム。
【請求項５】
運用系サーバと待機系サーバとで構成されるクラスタシステムにおける共有ディスク上のログファイルへのデータ記録方法であって、
アプリケーションのログメッセージをローカルディスク上の名前付きパイプへ一時的に保存する第１のステップと、
前記名前付きパイプへ一時的に保存された前記ログメッセージを前記ログファイルへ記録するタイミングを設定する第２のステップと、
前記第２のステップで設定されたタイミングに基づいて、前記名前付きパイプへ一時的に保存された前記ログメッセージを前記共有ディスク上のログファイルへ記録する第３のステップと、
を含むことを特徴とするクラスタシステムにおける共有ディスク上のログファイルへのデータ記録方法。
【請求項６】
前記ログメッセージの前記ログファイルへの記録は、前記名前付きパイプを読み込むプログラムによって行われることを特徴とする請求項５に記載のクラスタシステムにおける共有ディスク上のログファイルへのデータ記録方法。
【請求項７】
前記ログメッセージの前記ログファイルへの記録は、前記運用系サーバ又は前記待機系サーバのローカルディスク上に存在する前記名前付きパイプを指定することによって行われることを特徴とする請求項５又は６に記載のクラスタシステムにおける共有ディスク上のログファイルへのデータ記録方法。
【請求項８】
前記アプリケーションのログメッセージが前記名前付きパイプへ保存されるタイミングで、前記ログファイルのオープン／書き込み／クローズの処理が行われることを特徴とする請求項５乃至７の何れかに記載のクラスタシステムにおける共有ディスク上のログファイルへのデータ記録方法。
【請求項９】
運用系サーバと待機系サーバとで構成されるクラスタシステムが共有ディスク上のログファイルへデータを記録するプログラムであって、
コンピュータを、
アプリケーションのログメッセージをローカルディスク上の名前付きパイプへ一時的に保存する保存手段、
前記名前付きパイプへ一時的に保存された前記ログメッセージを前記共有ディスク上のログファイルへ記録する記録手段、
前記記録手段がログメッセージを前記ログファイルへ記録するタイミングを設定するタイミング設定手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、運用系のサーバと待機系のサーバを連携構成して共有ディスクを利用するクラスタシステム、クラスタシステムにおける共有ディスク上のログファイルへデータ記録方法、及びプログラムに関する。
【背景技術】
【０００２】
一般的に、共有ディスクを使用したＡｃｔｉｖｅ−Ｓｔａｎｄｂｙ型（運用系と待機系）のクラスタシステムにおいては、ログメッセージの転送を行う機能を有するｓｙｓｌｏｇｄがログファイルへログメッセージを記録するときは次のような手順で行っている。すなわち、あるサーバがクラスタシステムのＡｃｔｉｖｅ側（運用系）として稼動している場合、そのサーバにおけるクラスタサービス上のアプリケーションがｓｙｓｌｏｇｄに対してメッセージを出力すると、そのｓｙｓｌｏｇｄはメッセージを読み込んでログファイルを書き込みモードでファイルオープンする。そして、ｓｙｓｌｏｇｄは読み込んだメッセージをそのログファイルへ出力し、そのメッセージの出力が完了するとログファイルをクローズにする。
【０００３】
図６は、一般的なＡｃｔｉｖｅ−Ｓｔａｎｄｂｙ型のクラスタシステムの構成を示すブロック図である。図６において、サーバ装置１１０ａがクラスタサービス１２０の機能を実現するアプリケーション１２１を起動した場合、アプリケーション１２１が転送機能を有するｓｙｓｌｏｇｄ１１１ａに対してメッセージを送信すると、ｓｙｓｌｏｇｄ１１１ａはそのメッセージをローカルディスク上のログファイル１１２ａ、１１３ａへ出力する。
【０００４】
次に、クラスタサービス１２０を実行する装置がサーバ装置１１０ａからサーバ装置１１０ｂ側に切り替わった場合は、クラスタサービス１２０の機能を実現するアプリケーション１２１は、サーバ装置１１０ｂ上のｓｙｓｌｏｇｄ１１１ｂを経由してログファイル１１２ｂ、１１３ｂに対してメッセージを出力する。このようにして、クラスタサービス１２０の機能を実現するアプリケーション１２１の動作に関するメッセージが、複数のサーバ（図６ではサーバ装置１１０ａとサーバ装置１１０ｂの２つのサーバ）で管理されるため、ログファイルの集計や障害調査などの場面において、複数のログファイル（例えば、ログファイル１１２ａとログファイル１１２ｂ）をマージ（統合）したり比較したりする必要がある。
【０００５】
なお、関連技術として、現用サーバと予備サーバとを備えたシステムにおいて、現用サーバに障害が発生したときは、共有ディスクに記録されたステータス情報に基づいて予備サーバへ迅速に切替えて継続運転を行うホットスタンバイシステムの技術が開示されている（例えば、特許文献１参照）。この技術によれば、現用サーバで障害が発生した時点までの情報を予備サーバにおいて自動的に再現することができる。また、障害の発生時において交互に現用サーバと予備サーバとを切替えることができる。
【０００６】
さらに、他の関連技術として、アプリケーションから出力されるログデータを、ファイル名を用いて確認されるメモリー・ベースのキュー（すなわち、ＦＩＦＯ：Ｆｉｒｓｔ  Ｉｎ  Ｆｉｒｓｔ  Ｏｕｔ）に相当する名前付きパイプに保存することにより、アプリケーションプログラムの出力データをリモート監視する技術が開示されている（例えば、特許文献２参照）。この技術によれば、名前付きパイプをオープンにしてキューの読出しを行うことにより、出力データを検索してアプリケーションプログラムの出力データをリモートで監視することができる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平１１−２５９３２６号公報
【特許文献２】特表２００９−５１９５０９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
一般的に、ＵＮＩＸ（登録商標）やＬｉｎｕｘ（登録商標）においてログ出力デーモン（メモリに常駐して様々なサービスを提供するソフトウエア）として使用されているログメッセージ転送用のｓｙｓｌｏｇｄは、ログメッセージを出力する転送先において共有ディスク上のログファイルを指定した場合は、図７で説明するような問題が発生する。
【０００９】
図７は、一般的なＡｃｔｉｖｅ−Ｓｔａｎｄｂｙ型のクラスタシステムが共有ディスク上にログファイルを指定するときの構成を示すブロック図である。図７において、Ａｃｔｉｖｅ−Ｓｔａｎｄｂｙ型のクラスタシステムを構成する２台のサーバ（すなわち、運用系のサーバ装置２１０ａと待機系のサーバ装置２１０ｂ）が起動すると、それぞれのサーバ装置に所属するログメッセージ転送用のｓｙｓｌｏｇｄ２１１ａとｓｙｓｌｏｇｄ２１１ｂが起動し、共有ディスク２３０上のログファイル２３１をオープンしようとする。しかし、サーバ装置２１０ａとサーバ装置２１０ｂは、何れも、共有ディスク２３１上のログファイル２３１が保存されている領域をマウント（認識）していない。そのため、共有ディスク２３０上のログファイル２３１のオープン処理はエラーとなってしまう。
【００１０】
この後、Ａｃｔｉｖｅ側のサーバ装置（サーバ装置２１０ａ）から共有ディスク２３０の領域がマウントされて、サーバ装置２１０ａのクラスタサービス２２０の機能を実現するアプリケーション２２１が起動するが、サーバ装置２１０ａのｓｙｓｌｏｇｄ２１１ａは、共有ディスク２３０のログファイル２３１をオープンしていないため、アプリケーション２２１が出力したメッセージは共有ディスク２３０のログファイル２３１には出力されない。アプリケーション２２１が出力したメッセージを共有ディスク２３０のログファイル２３１にログ出力するためには、Ａｃｔｉｖｅ側のサーバ装置（サーバ装置２１０ａ）が共有ディスク２３０の領域をマウント（認識）した後にサーバ装置２１０ａのｓｙｓｌｏｇｄ２１１ａを再起動する必要がある。
【００１１】
また、図７において、サーバ装置２１０ａ上のｓｙｓｌｏｇｄ２１１ａから共有ディスク２３０のログファイル２３１に対してログ出力が行われている状態で、クラスタサービス２２０がＡｃｔｉｖｅ側のサーバ（サーバ装置２１０ａ）からＳｔａｎｄｂｙ側のサーバ（サーバ装置２１０ｂ）へ切替えられると、サーバ装置２１０ａは共有ディスク２３０の領域に対するアンマウント処理（切り離し）を行おうとする。しかし、サーバ装置２１０ａ側のｓｙｓｌｏｇｄ２１１ａから共有ディスク２３０のログファイル２３１ａに対するファイルオープンが継続しているため、このアンマウント処理はエラーとなり、クラスタサービス２２０の切替え処理は失敗となる。あるいは、クラスタリングソフト（連携構成するためのソフト）によりＡｃｔｉｖｅ側（サーバ装置２１０ａ）のｓｙｓｌｏｇｄ２１１ａ自体が停止させられる。
【００１２】
なお、前述の特許文献１の技術は、共有ディスクを利用した現用サーバと予備サーバによるクラスタシステムにおいて、一時保存されたログメッセージを共有ディスク上のログファイルに記録することができるが、この技術では、共有ディスク上のログファイルのオープン処理においてエラーが発生する問題は依然として解消されない。
【００１３】
また、前述の特許文献２の技術は、アプリケーションから出力されたログデータを名前付きパイプに一時保存することにより、アプリケーションプログラムの出力データを監視することはできるが、この名前付きパイプの技術を利用してもクラスタシステムにおけるクラスタサービスの切替え処理に応用することは不可能である。さらに、前記の特許文献１の技術と前述の特許文献２の技術を組み合わせても、共有ディスク上のログファイルのファイルオープン／ファイルクローズのタイミングを考慮していないので、現用サーバと予備サーバの切替え時にエラーが発生してしまう問題は依然として解消されない。
【００１４】
本発明は、上述のような事情に鑑みてなされたものであり、共有ディスク上のログファイルへのデータ記録を適正に行うことにより現用サーバと予備サーバの切替え時にエラーが発生しないようなＡｃｔｉｖｅ−Ｓｔａｎｄｂｙ型のクラスタシステム、クラスタシステムにおける共有ディスク上のログファイルへのデータ記録方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１５】
本発明は上記の課題を解決するためになされたものであり、運用系サーバと待機系サーバとが共有ディスクを利用して動作を行うクラスタシステムであって、アプリケーションのログメッセージをローカルディスク上の名前付きパイプへ一時的に保存する保存手段と、前記名前付きパイプへ一時的に保存された前記ログメッセージを前記共有ディスク上のログファイルへ記録する記録手段と、前記記録手段がログメッセージを前記ログファイルへ記録するタイミングを設定するタイミング設定手段とを備えたことを特徴とするクラスタシステムを提供する。
【００１６】
また、本発明は、運用系サーバと待機系サーバとで構成されるクラスタシステムにおける共有ディスク上のログファイルへのデータ記録方法であって、アプリケーションのログメッセージをローカルディスク上の名前付きパイプへ一時的に保存する第１のステップと、前記名前付きパイプへ一時的に保存された前記ログメッセージを前記ログファイルへ記録するタイミングを設定する第２のステップと、前記第２のステップで設定されたタイミングに基づいて、前記名前付きパイプへ一時的に保存された前記ログメッセージを前記共有ディスク上のログファイルへ記録する第３のステップとを含むことを特徴とするクラスタシステムにおける共有ディスク上のログファイルへのデータ記録方法を提供する。
【００１７】
また、本発明は、運用系サーバと待機系サーバとで構成されるクラスタシステムが共有ディスク上のログファイルへデータを記録するプログラムであって、コンピュータを、アプリケーションのログメッセージをローカルディスク上の名前付きパイプへ一時的に保存する保存手段、前記名前付きパイプへ一時的に保存された前記ログメッセージを前記共有ディスク上のログファイルへ記録する記録手段、前記記録手段がログメッセージを前記ログファイルへ記録するタイミングを設定するタイミング設定手段、として機能させるためのプログラムを提供する。
【発明の効果】
【００１８】
本発明によれば、Ａｃｔｉｖｅ−Ｓｔａｎｄｂｙ型のクラスタシステムにおいて、名前付きパイプ（ＦＩＦＯ）を読み込むプログラムによって、ログメッセージ転送用のｓｙｓｌｏｇｄ経由で処理されるログメッセージを共有ディスク上のログファイルに保存することにより、ｓｙｓｌｏｇｄで処理されるメッセージを共有ディスク上のファイルへ適正に記録することが可能となる。これによって、Ａｃｔｉｖｅ側のサーバ（運用系の現用サーバ）に障害が発生してＳｔａｎｄｂｙ側のサーバ（待機系の予備サーバ）へ切替えるためのフェイルオーバが発生した際でも、Ｓｔａｎｄｂｙ側のサーバから共有ディスク上の同一のログファイルに対して継続してログを追記することができる。
【図面の簡単な説明】
【００１９】
【図１】本発明の実施形態に係るＡｃｔｉｖｅ−Ｓｔａｎｄｂｙ型のクラスタシステムが共有ディスク上にログファイルを指定するときの構成を示すブロック図である。
【図２】図１に示すクラスタシステムにおける起動処理の動作の流れを示すフローチャートである。
【図３】図１に示すクラスタシステムが起動した後に、共有ディスク上のログファイルに対してログメッセージを出力する処理の流れを示すフローチャートである。
【図４】図１に示すクラスタシステムにおける停止処理の動作の流れを示すフローチャートである。
【図５】図１に示すクラスタシステムのクラスタサービスをフェイルオーバするときの処理の流れを示すフローチャートである。
【図６】一般的なＡｃｔｉｖｅ−Ｓｔａｎｄｂｙ型のクラスタシステムの構成を示すブロック図である。
【図７】一般的なＡｃｔｉｖｅ−Ｓｔａｎｄｂｙ型のクラスタシステムが共有ディスク上にログファイルを指定するときの構成を示すブロック図である。
【発明を実施するための形態】
【００２０】
本発明の実施形態に係るクラスタシステムは、共有ディスクを利用したＡｃｔｉｖｅ−Ｓｔａｎｄｂｙ型のクラスタシステムであって、名前付きパイプ（ＦＩＦＯ）を読み込むプログラムによって、転送機能を有するｓｙｓｌｏｇｄ経由で処理されるメッセージを共有ディスク上のログファイルへ保存することを特徴としている。すなわち、本実施形態のＡｃｔｉｖｅ−Ｓｔａｎｄｂｙ型のクラスタシステムでは、ｓｙｓｌｏｇｄによって処理されるメッセージを共有ディスク上のログファイルに記録する場合、そのｓｙｓｌｏｇｄ側のログファイル出力先としてローカルディスク上の名前付きパイプ（ＦＩＦＯ）を指定する。これにより、ｓｙｓｌｏｇｄがオープンするログファイルはローカルディスク上に存在するため、共有ディスクがマウントされていない状態でもファイルオープンの処理は行われる。また、ｓｙｓｌｏｇｄを起動した状態でも共有ディスクのアンマウントが可能となる。
【００２１】
また、プログラム（ログアプリケーション）によって、ｓｙｓｌｏｇｄから名前付きパイプ（ＦＩＦＯ）に出力されたメッセージを読み込み、このメッセージを共有ディスク上のログファイルへ記録する。このプログラムは、ｓｙｓｌｏｇｄから名前付きパイプへメッセージが出力されるたびに、共有ディスク上のログファイルに対してオープン／書き込み／クローズの処理を行うため、共有ディスク上のログファイルが常にオープンされる状態にはならない。
【００２２】
以下、本発明に係るクラスタシステムにおける共有ディスク上のログファイルへの記録方法について、図面を参照しながら好適な実施形態について詳細に説明する。
【００２３】
《実施形態》
図１は、本発明の実施形態に係るＡｃｔｉｖｅ−Ｓｔａｎｄｂｙ型のクラスタシステムが共有ディスク上にログファイルを指定するときの構成を示すブロック図である。先ず、図１に示すクラスタシステムの構成について説明する。このクラスタシステムは、サーバ装置１０ａ、１０ｂ（以下、サーバ装置１０ａ、１０ｂを総称する場合、サーバ装置１０と呼ぶ）と共有ディスク３０とを備える。なお、本実施形態では、サーバ装置１０ａがＡｃｔｉｖｅ側（運用系）として機能し、サーバ装置１０ｂがＳｔａｎｄｂｙ側（待機系）として機能する。したがって、クラスタサービス２０の提供は、Ａｃｔｉｖｅ側であるサーバ装置１０ａによって行われる。
【００２４】
共有ディスク３０は、クラスタサービス２０を提供するために必要なデータなどを含んでおり、Ａｃｔｉｖｅ側のサーバ装置１０、すなわちサーバ装置１０ａからのみ使用される。また、データの転送機能を有するｓｙｓｌｏｇｄ１１（ｓｙｓｌｏｇｄ１１ａ、１１ｂ）はサーバ装置１０上で稼動し、ログファイル１２（ログファイル１２ａ、１２ｂ）及び名前付きパイプ１３（名前付きパイプ１３ａ、１３ｂ）に対してメッセージを送信する。
【００２５】
サーバ装置１０のログアプリケーション１４（ログアプリケーション１４ａ、１４ｂ）は、名前付きパイプ１３に対してｓｙｓｌｏｇｄ１１からの入力を待ち受け、ｓｙｓｌｏｇｄ１１から名前付きパイプ１３へ入力があったときには、共有ディスク３０上のログファイル３１に対して出力を行う。
【００２６】
なお、アプリケーション２１のログメッセージをローカルディスク上の名前付きパイプ１３へ一時的に保存する保存手段は、サーバ装置１０のｓｙｓｌｏｇｄ１１によって実現され、また、名前付きパイプ１３へ一時的に保存されたログメッセージを共有ディスク３０上のログファイル３１へ記録する記録手段、及びこの記録手段がログメッセージをログファイル３１へ記録するタイミングを設定するタイミング設定手段は、サーバ装置１０のログアプリケーション１４によって実現される。
【００２７】
次に、図１に示すクラスタシステムの基本的な動作の流れについてフローチャートを参照しながら説明する。最初に、クラスタシステムにおける起動処理の動作の流れについて説明する。図２は、図１に示すクラスタシステムにおける起動処理の動作の流れを示すフローチャートである。
【００２８】
先ず、サーバ装置１０のＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）が起動すると（ステップＳ１）、サーバ装置１０上でｓｙｓｌｏｇｄ１１が起動する（ステップＳ２）。このとき、サーバ装置１０は、ｓｙｓｌｏｇｄ１１が設定された名前付きパイプ１３を書き込みモードでオープンにする。次に、サーバ装置１０上でログアプリケーション１４が起動し、名前付きパイプ１３を読み取って専用モードでファイルオープンしてｓｙｓｌｏｇｄ１１からの入力を待ち受ける（ステップＳ３）。
【００２９】
そして、サーバ装置１０上で、それぞれのクラスタソフトが起動して通信が行われると（ステップＳ４）、サーバ装置１０ａとサーバ装置１０ｂのうち何れのサーバがＡｃｔｉｖｅ側（運用系）であるかが判定される。すなわち、サーバ装置１０は、自装置がＡｃｔｉｖｅ側であるか否かを判定する（ステップＳ５）。ここで、自装置がクラスタシステムのＡｃｔｉｖｅ側であると判定した場合（ステップＳ５でＹｅｓ）、サーバ装置１０は、共有ディスク３０の領域をマウント（認識）し（ステップＳ６）、その後にクラスタサービス２０の機能を実現するアプリケーション２１を起動して（ステップＳ７）、起動処理の動作を完了する（ステップＳ８）。図１の例においては、サーバ装置１０ａが該動作を実行することとなる。
他方、ステップＳ５において、自装置がＡｃｔｉｖｅ側でないと判定した場合（ステップＳ５でＮｏ）、サーバ装置１０は、アプリケーション２１の起動及び共有ディスク３０の領域のマウントを実行せずに、起動処理の動作を完了する（ステップＳ８）。図１の例においては、サーバ装置１０ｂが該動作を実行することとなる。
【００３０】
次に、クラスタシステムの起動後に共有ディスク上のログファイルに対してメッセージを出力する処理の流れを説明する。図３は、図１に示すクラスタシステムが起動した後に、共有ディスク上のログファイルに対してログメッセージを出力する処理の流れを示すフローチャートである。ここでは、図１に示すようにサーバ装置１０ａがクラスタシステムのＡｃｔｉｖｅ側として稼動している場合について説明する。
【００３１】
図３において、ログ出力の動作が開始されると（ステップＳ１１）、先ず、Ａｃｔｉｖｅ側のサーバ装置１０ａ上において、クラスタサービス２０を実現するためのアプリケーション２１がｓｙｓｌｏｇｄ１１ａに対してメッセージを出力する（ステップＳ１２）。次に、サーバ装置１０ａのログアプリケーション１４ａは、名前付きパイプ１３ａ経由で該メッセージを読み込み、共有ディスク３０のログファイル３１を書き込みモードでファイルオープンする（ステップＳ１３）。
【００３２】
次に、サーバ装置１０ａのログアプリケーション１４ａは、読み込んだメッセージを共有ディスク３０のログファイル３１に出力し（ステップＳ１４）、読み込んだメッセージの出力が完了すると共有ディスク３０のログファイル３１をファイルクローズにして（ステップＳ１５）、共有ディスク３０上のログファイル３１に対するメッセージの出力を完了する（ステップＳ１６）。
【００３３】
次に、クラスタシステムにける停止処理の動作の流れについて説明する。図４は、図１に示すクラスタシステムにおける停止処理の動作の流れを示すフローチャートである。図４において、クラスタシステムに対して停止命令が発行されて、停止処理が開始されると（ステップＳ２１）、サーバ装置１０は、自装置がＡｃｔｉｖｅ側のサーバであるか否かを判定する（ステップＳ２２）。自装置がＡｃｔｉｖｅ側のサーバである場合（ステップＳ２２でＹｅｓ）、サーバ装置１０のクラスタサービス２０の停止が開始されてアプリケーション２１が停止する（ステップＳ２３）。
【００３４】
そして、アプリケーション２１の停止後に共有ディスク３０の領域がアンマウント（切り離し）される（ステップＳ２４）。さらに、共有ディスク３０の領域がアンマウントされた後、サーバ装置１０はＯＳの停止処理としてクラスタソフトを停止する（ステップＳ２５）。
さらに、サーバ装置１０は、ログアプリケーション１４を停止させ（ステップＳ２６）、続いて、ｓｙｓｌｏｇｄ１１を停止させ（ステップＳ２７）、サーバ装置１０の停止処理を完了する（ステップＳ２８）。
【００３５】
なお、ステップＳ２２で、自装置がＡｃｔｉｖｅ側のサーバでない場合（ステップＳ２２でＮｏ）、サーバ装置１０は、ステップＳ２３とステップＳ２４をパスし、上記ステップＳ２５の処理を実行する。
【００３６】
次に、クラスタシステムのクラスタサービスを代替サーバにフェイルオーバ（切替処理）するときの動作の流れについて説明する。図５は、図１に示すクラスタシステムのクラスタサービスをフェイルオーバするときの処理の流れを示すフローチャートである。
【００３７】
先ず、クラスタシステムに対してクラスタサービスの切替命令が発行されてフェイルオーバが開始されると（ステップＳ３１）、サーバ装置１０は、自装置がＡｃｔｉｖｅ側のサーバであるか否かを判定する（ステップＳ３２）。自装置がＡｃｔｉｖｅ側のサーバである場合（ステップＳ３２でＹｅｓ）、自装置のクラスタサービス２０の停止が開始されてアプリケーション２１が停止する（ステップＳ３３）。
【００３８】
そして、アプリケーション２１の停止後に、共有ディスク３０の領域がアンマウント（切り離し）され（ステップＳ３４）、クラスタサービスのフェイルオーバ（切替処理）を完了する（ステップＳ３８）。
【００３９】
一方、ステップＳ３２において、自装置がＡｃｔｉｖｅ側のサーバでない場合（ステップＳ３２でＮｏ）、サーバ装置１０は、相手装置（自装置がサーバ装置１０である場合はサーバ装置１０ａ）の切替処理が完了しているか否かを判定し、切替処理が完了するのを待ち合わせる（ステップＳ３５）。
【００４０】
相手装置から自装置への切替えが完了した場合（ステップＳ３５でＹｅｓ）、Ｓｔａｎｄｂｙのサーバ装置は、共有ディスク３０の領域をマウントし（ステップＳ３６）、その後にクラスタサービス２０としてアプリケーション２１を起動し（ステップＳ３７）、クラスタサービスのフェイルオーバ（切替処理）を完了する（ステップＳ３８）。
【００４１】
以上、本発明に係るクラスタシステムの実施形態について図面を参照して詳述してきたが、この発明の具体的に構成はこれらの実施形態に限られるものではなく、この発明の趣旨を逸脱しない範囲の設計の変更等があってもそれらは本発明に含まれる。
【００４２】
なお、上述したサーバ装置１０の動作は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって上記の各処理が行われる。ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしてもよい。
【００４３】
また、上記のプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であってもよい。
【符号の説明】
【００４４】
１、１ａ、１ｂ  サーバ装置
１１、１１ａ、１１ｂ  ｓｙｓｌｏｇｄ（保存手段）
１２、１２ａ、１２ｂ、３１  ｌｏｇ（ログファイル）
１３、１３ａ、１３ｂ  名前付きパイプ
１４、１４ａ、１４ｂ  ログアプリケーション（記録手段、タイミング設定手段）
２０  クラスタサービス
２１  アプリケーション
３０  共有ディスク
【図１】
2012173752.tif 000003
【図２】
2012173752.tif 000004
【図３】
2012173752.tif 000005
【図４】
2012173752.tif 000006
【図５】
2012173752.tif 000007
【図６】
2012173752.tif 000008
【図７】
2012173752.tif 000009