(57)【要約】【課題】コールドスタンバイ方式のコンピュータの系切り替え時間を短縮する。【解決手段】現用系コンピュータで障害が発生した場合、メモリダンプをシステムディスクには格納せずに、サービスプロセッサを介して外部のコンピュータに格納する。これにより、現用系コンピュータのメモリダンプ処理開始前に待機系コンピュータからシステムディスクを利用可能とする。現用系コンピュータによるメモリダンプ処理の完了を待たずに待機系コンピュータを起動することで、系切り替え時間を短縮する。【選択図】図１
2012003511.tif 000002
【特許請求の範囲】
【請求項１】
ＯＳの起動ディスクを共有するコールドスタンバイ方式のコンピュータの系切り替え方式であって、現用系コンピュータのメモリダンプをサービスプロセッサを介して外部コンピュータに格納することで、現用系コンピュータのメモリダンプ処理開始前にＯＳの起動ディスクが利用可能となり、現用系コンピュータによるメモリダンプ処理の完了を待たずに待機系コンピュータを起動可能とすることを特徴としたコンピュータの系切り替え方式。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、冗長化されたコンピュータの系切り替え方式に関するものである。
【背景技術】
【０００２】
コンピュータシステムにおいて、システム全体の可用性を向上するための手法として、ハードウェアの冗長化が広く用いられている。
【０００３】
Ｎ＋１コールドスタンバイは、コンピュータシステムにおけるハードウェア冗長化手法の１つである。Ｎ＋１コールドスタンバイでは、Ｎ台の現用系コンピュータと１台の待機系コンピュータでシステムを構成する。通常時の運用においては、待機系コンピュータは稼動させず、Ｎ台の現用系コンピュータのみで業務アプリケーションを実行する。現用系コンピュータのいずれか１台で障害が発生した場合、待機系コンピュータが起動し、新たな現用系コンピュータの１台として、障害が発生したコンピュータが実行していた業務アプリケーションの処理を引き継ぐ。
【０００４】
Ｎ＋１コールドスタンバイの構成を組む場合、ＯＳのシステムディスクは現用系コンピュータで稼動するＮ台分のみが必要であり、待機系コンピュータのためのＯＳを別途用意する必要はない。Ｎ台分のＯＳイメージは、外部のＳＡＮに接続されたディスクアレイなどに格納し、Ｎ＋１台のコンピュータ全てから物理的にアクセスできるようにシステムを構成する。ＯＳイメージを格納するシステムディスクと各コンピュータとの対応は、論理的なマッピングを切り替えることで制御する。システムの通常稼動時は、現用系コンピュータにシステムディスクがマッピングされ、待機系コンピュータにはマッピングされない。現用系コンピュータのいずれか１台で障害が発生した場合、その現用系コンピュータに対応していたシステムディスクは、待機系コンピュータにマッピングが切り替えられる。待機系コンピュータは、そのシステムディスクに格納されたＯＳイメージを使用してＯＳを起動する。
【０００５】
Ｎ＋１コールドスタンバイにおける系切り替えは、次の手順で実行される。
(1) １台の現用系コンピュータで障害が発生する。
(2) 現用系コンピュータ上のＯＳは、メモリ内にあるファイルシステムのキャッシュをディスクにフラッシュする。
(3) 現用系コンピュータ上のＯＳは、メモリイメージをシステムディスクのダンプ領域にダンプする。ダンプデータは、後で障害の原因を解析するために必要となる。
(4) ダンプ完了後、現用系コンピュータはシャットダウンされる。
(5) システムディスクのマッピングが現用系コンピュータから待機系コンピュータに切り替えられる。
(6) 待機系コンピュータがシステムディスクからＯＳを起動する。
(7) 待機系コンピュータ上のＯＳは、ダンプ領域に格納されていたダンプデータを読み込み、ファイルシステム上にファイルとしてコピーする。
(8) 待機系コンピュータで業務アプリケーションが再開される。
【０００６】
このように、Ｎ＋１コールドスタンバイにおける系切り替えでは、待機系コンピュータが業務アプリケーションが再開するためには、上記(1)〜(7)までの処理の完了を待つ必要があった。特に、ダンプデータを扱う(3)、(7)は、コンピュータが搭載するメモリ容量が大きくなるにつれて時間がかかる傾向にあり、業務アプリケーションを迅速に再開するための妨げとなっていた。
【０００７】
また、通常、ダンプデータの解析は専門のサポートエンジニアが担当するが、セキュリティの観点から、サポートエンジニアは業務アプリケーションを実行するコンピュータのＯＳにはアクセスできないことが多い。そのため、サポートエンジニアはダンプ解析用のコンピュータを別に用意し、ダンプ解析はこのコンピュータ上で行われる。この場合、ダンプデータは、業務アプリケーションを実行しているコンピュータからダンプ解析用コンピュータに転送する必要がある。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２０１０−００９２９３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
コールドスタンバイ方式の系切り替えにおける課題は、切り替え中にダンプデータの処理完了を待つ必要があり、待機系コンピュータが迅速に業務アプリケーションを再開できないことである。
【課題を解決するための手段】
【００１０】
本発明では、メモリダンプをシステムディスクのダンプ領域には格納せず、サービスプロセッサを経由してダンプ解析用コンピュータに転送する。システムディスクのマッピングは、現用系コンピュータのメモリダンプ開始前に切り替えられる。待機系コンピュータは、現用系コンピュータによるメモリダンプの完了を待たずに直ちにＯＳを起動する。
【発明の効果】
【００１１】
本発明では、待機系コンピュータが業務アプリケーションを再開するために、現用系コンピュータのメモリダンプ処理完了を待つ必要がなく、また、待機系コンピュータ上のＯＳが、システムディスクのダンプ領域からダンプデータをファイルに変換する必要もない。そのため、現用系コンピュータで障害が発生してから、待機系コンピュータで業務アプリケーションが再開されるまでの時間を短縮でき、システム全体としての可用性を向上する効果がある。
【図面の簡単な説明】
【００１２】
【図１】コンピュータの系切り替え方式の実施例を示した図である。
【図２】コンピュータの系切り替え方式の処理手順である。
【図３】メモリダンプ処理で使用するＤＭＡ領域のフォーマットである。
【図４】現用系コンピュータのＣＰＵによるメモリダンプ処理手順である。
【図５】サービスプロセッサによるメモリダンプ処理手順である。
【発明を実施するための形態】
【００１３】
図１は、本発明の一実施例を示した図である。
【００１４】
現用系コンピュータ１０１は、システムの通常稼動時に業務アプリケーションを実行するためのコンピュータであり、ＣＰＵ１０３、メモリ１０４、ＩＯブリッジ１０５、ＨＢＡ１０６、及びサービスプロセッサ１０７を搭載する。ＣＰＵ１０３はメモリコントローラを内蔵し、メモリ１０４及びＩＯブリッジ１０５に接続される。ＨＢＡ１０６の先には、外部ストレージデバイスとしてディスクアレイ装置２０１が接続される。ＯＳ及び業務アプリケーションは、ディスクアレイ装置２０１が搭載するディスク２０２からメモリ１０４にロードされ、ＣＰＵ１０３上で実行される。
【００１５】
サービスプロセッサ１０７は、独自のＣＰＵ、メモリ、ＩＯデバイスを備える、現用系コンピュータ１０１とは独立したコンピュータであり、現用系コンピュータ１０１のメイン電源の制御などを行う。サービスプロセッサ１０７は現用系コンピュータ１０１のスタンバイ電源を利用するため、現用系コンピュータ１０１のメイン電源がＯｆｆの状態でも常に稼動している。また、サービスプロセッサ１０７はＩＯブリッジ１０５と接続されており、ＣＰＵ１０３のメモリコントローラを介してメモリ１０４にアクセスできる。
【００１６】
待機系コンピュータ１０２は、現用系コンピュータ１０１と同様のハードウェアを備えるコンピュータであり、現用系コンピュータ１０１で障害が発生した場合に業務アプリケーションの実行を継続する役割を担う。待機系コンピュータ１０２は、現用系コンピュータ１０１の稼働中は電源Ｏｆｆ状態で待機する。
【００１７】
ディスクアレイ装置２０１には、現用系コンピュータ１０１と待機系コンピュータ１０２のＨＢＡ１０６が物理的に接続される。コントローラ２０３はホストマッピング機能を有し、接続されるＨＢＡのＩＤに応じて入出力データのフローを制御できる。現用系コンピュータ１０１の稼働中は、現用系コンピュータ１０１のＨＢＡとディスクアレイ装置２０１を接続するパスが有効であり、待機系コンピュータ１０２のＨＢＡとディスクアレイ装置２０１を接続するパスは無効化されている。
【００１８】
管理サーバ３０１は、コールドスタンバイの系切り替えを制御するコンピュータである。管理サーバ３０１は、管理ネットワーク５０１を経由してサービスプロセッサ１０７及びディスクアレイ装置２０１と接続される。現用系コンピュータ１０１で障害が発生した場合、管理サーバ３０１は、ディスクアレイ装置２０１に対するＩ／Ｏパスの切り替え指示と、待機系コンピュータ１０２に対するメイン電源Ｏｎの指示を行う。
【００１９】
ダンプ解析用コンピュータ４０１は、現用系コンピュータ１０１のメモリダンプデータの格納・解析を行うためのコンピュータである。ダンプ解析用コンピュータ４０１は、ダンプ格納用ディスク４０２を備える。また、管理ネットワーク５０１を経由してサービスプロセッサ１０７と接続される。
【００２０】
本発明における、現用系コンピュータ１０１で障害が発生した場合の系切り替え処理を図２に示す。
【００２１】
現用系コンピュータ１０１で障害が発生すると、ＣＰＵ１０３に割り込みが上がり、業務アプリケーションの全ての処理が中断されてＯＳに処理が移行する。
【００２２】
現用系コンピュータ１０１上のＯＳは、ステップ１００１においてＣＰＵ１０３のコンテキスト情報をメモリ１０４に退避し、ステップ１００２においてメモリ内のファイルシステムのキャッシュをディスク２０２にフラッシュした後、ステップ１００３において、ＩＯブリッジ１０５を経由して、障害が発生したことをサービスプロセッサ１０７に通知する。
【００２３】
ステップ１００４において、サービスプロセッサ１０７は、管理サーバ３０１に対して、現用系コンピュータ１０１で障害が発生し、系切り替えする必要がある旨を通知する。管理サーバ３０１は、ステップ１００５で直ちにディスクアレイ装置２０１に対してＩ／Ｏパスの切り替えを指示する。ディスクアレイ装置２０１はこの指示を受け、ステップ１００６でディスク２０２に対するホストマッピングを現用系コンピュータ１０１から待機系コンピュータ１０２に切り替え、ステップ１００７で、Ｉ／Ｏパスの切り替えが完了したことを管理サーバ３０１に通知する。管理サーバ３０１は、ステップ１００８で待機系コンピュータ１０２のサービスプロセッサ１０７に対してメイン電源Ｏｎの指示を出す。待機系コンピュータ１０２のサービスプロセッサ１０７は、この指示を受け、ステップ１００９で待機系コンピュータ１０２のメイン電源を投入する。待機系コンピュータ１０２のＣＰＵ１０３は、ステップ１０１０でＯＳを待機系コンピュータ１０２のメモリ１０４にロードし、ステップ１０１１で業務アプリケーションの処理を再開する。
【００２４】
一方、現用系コンピュータ１０１側では、ステップ１００４の処理の後に、引き続きメモリダンプ処理２０００を開始する。
【００２５】
メモリダンプ処理では、ＣＰＵ１０３とサービスプロセッサ１０７とのデータ送受信のために、メモリ１０４上に確保されたＤＭＡ領域が使用される。このＤＭＡ領域は、現用系コンピュータ１０１の起動時にＣＰＵ１０３によって確保される。ＤＭＡ領域のフォーマットを図３に示す。データ領域９０１は、メモリダンプ処理において、ダンプ対象のメモリデータをバッファリングするための領域である。制御コード領域９０２は、メモリダンプ処理において、ＣＰＵ１０３とサービスプロセッサ１０７が使用する制御コードを格納するための領域である。制御コード領域９０２には、データ有効コード、データ無効コード、完了コードのいずれかが格納される。現用系コンピュータ１０１の起動時、ＣＰＵ１０３は制御コード領域９０２にデータ無効コードが格納する。
【００２６】
メモリダンプ処理は、現用系コンピュータ１０１のＣＰＵ１０３と、サービスプロセッサ１０７、及びダンプ解析用コンピュータ４０１により実行される。
【００２７】
ＣＰＵ１０３によるメモリダンプ処理の手順を図４に示す。ステップ２００１及びステップ２００２は、データ領域９０１が書き込み可能となることを待つ処理である。ステップ２００１において、ＣＰＵ１０３は制御コード領域９０２の値を読み出す。ステップ２００２において、ステップ２００１で読み出した値がデータ無効コードであった場合はステップ２００３に遷移し、そうでない場合はステップ２００１に戻る。ステップ２００３において、ダンプ対象データの内、まだ処理が完了していないデータの一部をデータ領域９０１にコピーする。ステップ２００４において、ステップ２００３で全てのダンプ対象データをデータ領域９０１にコピーし終えていた場合、ステップ２００６に遷移し、そうでない場合はステップ２００５に遷移する。ステップ２００５では、制御コード領域９０２にデータ有効コードを書き込み、ステップ２００１に戻る。一方、ステップ２００６では、制御コード領域９０２に完了コードを書き込み、メモリダンプ処理を終了する。
【００２８】
サービスプロセッサ１０７によるメモリダンプ処理の手順を図５に示す。まず、ステップ３００１においてダンプ解析用コンピュータ４０１に接続し、データ転送のためのセッションを確立する。ステップ３００２及びステップ３００３は、ＣＰＵ１０３によるデータ領域９０１の書き込み完了を待つ処理である。ステップ３００２において、制御コード領域９０２の値を読み出す。ステップ３００３において、ステップ３００２で読み出した値がデータ無効コードであった場合はステップ３００２に戻り、そうでない場合はステップ３００４に遷移する。ステップ３００４において、データ領域９０２からダンプデータの一部を読み込み、読み込んだデータを管理ネットワーク５０１を経由してダンプ解析用コンピュータ４０１に転送する。ステップ３００５において、制御コード領域９０２にデータ無効コードを書き込む。ステップ３００６において、ステップ３００２で読み出した制御コード領域９０２の値が完了コードであった場合はステップ３００７に遷移し、そうでない場合はステップ３００２に戻る。ステップ３００７において、現用系コンピュータ１０１の電源を落とす。ステップ３００８において、ダンプ解析用コンピュータとのセッションを閉じ、メモリダンプ処理を終了する。
【００２９】
ダンプ解析用コンピュータ４０１は、サービスプロセッサ１０７から転送されてくるダンプデータを、順次ダンプ格納用ディスク４０２に格納する。
【００３０】
以上のように、本発明によるコンピュータの系切り替え方式では、障害が発生した現用系コンピュータのメモリダンプをシステムディスクには格納せず、サービスプロセッサを介して外部のダンプ解析用コンピュータに格納する。そのため、現用系コンピュータは使用していたシステムディスクをメモリダンプダンプ処理開始前に解放可能であり、待機系コンピュータを即座に起動できる。これにより、業務アプリケーションの停止時間を短縮することができ、システム全体としての可用性を向上できる。
【００３１】
なお、本実施例では現用系コンピュータと待機系コンピュータが各々１台ずつ存在する場合を示したが、本発明によるコンピュータの切り替え方式は、現用系コンピュータと待機系コンピュータが複数存在する場合にも適用可能である。
【００３２】
また、本実施例ではメモリダンプ処理をＯＳが担当したが、ＯＳはファイルシステムをディスクにフラッシュしたらその時点で終了させ、メモリダンプ処理はシステムファームウェアが実施しても良い。
【符号の説明】
【００３３】
１０１…現用系コンピュータ、１０２…待機系コンピュータ、１０３…ＣＰＵ、１０４…メモリ、１０５…ＩＯブリッジ、１０６…ＨＢＡ、１０７…サービスプロセッサ、２０１…ディスクアレイ装置、２０２…ディスク、２０３…コントローラ、３０１…管理サーバ、４０１…ダンプ解析用コンピュータ、４０２…ダンプ格納用ディスク、５０１…管理ネットワーク。
【図１】
2012003511.tif 000003
【図２】
2012003511.tif 000004
【図３】
2012003511.tif 000005
【図４】
2012003511.tif 000006
【図５】
2012003511.tif 000007