(57)【要約】【課題】停電により全ドメインがシャットダウンした後、電源が復旧した際に自動でドメインの電源投入を行って、停電前の状態に情報処理装置を戻すことである。【解決手段】  電源装置に接続された情報処理装置は、格納部と、停止制御部と、起動制御部とを有する。格納部は、停電発生の通知を受けたときに、情報処理装置内に実装されている仮想マシンの稼働状態を表す情報を取得して記憶部に格納する。停止制御部は、停電発生の通知を受けたときに、稼働中の仮想マシンを停止させ、その後、情報処理装置内のハードウェアへの電力の供給を停止する。起動制御部は、情報処理装置への電力の供給が開始されたときに、記憶部に格納されている情報に基づいて仮想マシンを起動する。【選択図】図２Ａ
2015035175.tif 000002
【特許請求の範囲】
【請求項１】
電源装置に接続された情報処理装置であって、
停電発生の通知を受けたときに、前記情報処理装置内に実装されている仮想マシンの稼働状態を表す情報を取得して記憶部に格納する格納部と、
前記停電発生の通知を受けたときに、稼働中の仮想マシンを停止させ、その後、前記情報処理装置内のハードウェアへの電力の供給を停止する停止制御部と、
前記情報処理装置への電力の供給が開始されたときに、前記記憶部に格納されている情報に基づいて前記仮想マシンを起動する起動制御部と、を有する
ことを特徴とする情報処理装置。
【請求項２】
前記格納部は、停電前の前記仮想マシンの稼動状態、停電前の前記情報処理装置内のハードウェアの稼動状態に関する情報及び、停電に関する情報をメモリに格納する
ことを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記格納部に格納されている情報に基づいて、前記情報処理装置内のハードウェアを起動する電源投入部を更に有する
ことを特徴とする請求項２記載の情報処理装置。
【請求項４】
前記停止制御部は、停電が発生すると、前記電源装置が電力を供給している間に、
稼動中の前記仮想マシンを一括して停止する
ことを特徴とする請求項１〜３の何れかに記載の情報処理装置。
【請求項５】
停電発生の通知を受けたときに、情報処理装置内に実装されている仮想マシンの稼働状態を表す情報を取得してメモリに格納し、
前記停電発生の通知を受けたときに、稼働中の仮想マシンを停止させ、その後、前記情報処理装置内のハードウェアへの電力の供給を停止し、
前記情報処理装置への電力の供給が開始されたときに、前記メモリに格納されている情報に基づいて前記仮想マシンを起動する
ことを特徴とする仮想マシン制御方法。
【請求項６】
前記メモリは、停電前の前記仮想マシンの稼動状態、停電前の前記情報処理装置内のハードウェアの稼動状態に関する情報及び、停電に関する情報を保持する
ことを特徴とする請求項５記載の仮想マシン制御方法。
【請求項７】
前記メモリに保持されている情報に基づいて、前記情報処理装置内のハードウェアを起動する
ことを特徴とする請求項６記載の仮想マシン制御方法。
【請求項８】
停電が発生すると、前記電源装置が電力を供給している間に、
稼動中の前記仮想マシンを一括して停止する
ことを特徴とする請求項５〜７の何れかに記載の仮想マシン制御方法。
【請求項９】
停電発生の通知を受けたときに、情報処理装置内に実装されている仮想マシンの稼働状態を表す情報を取得してメモリに格納し、
前記停電発生の通知を受けたときに、稼働中の仮想マシンを停止させ、その後、前記情報処理装置内のハードウェアへの電力の供給を停止し、
前記情報処理装置への電力の供給が開始されたときに、前記メモリに格納されている情報に基づいて前記仮想マシンを起動する
ことを特徴とする仮想マシン制御プログラム。
【請求項１０】
停電前の前記仮想マシンの稼動状態、停電前の前記情報処理装置内のハードウェアの稼動状態に関する情報及び、停電に関する情報を前記メモリに保持させる
ことを特徴とする請求項９記載の仮想マシン制御プログラム。
【請求項１１】
前記メモリに保持されている情報に基づいて、前記情報処理装置内のハードウェアを起動させる
ことを特徴とする請求項１０記載の仮想マシン制御プログラム。
【請求項１２】
停電が発生すると、前記電源装置が電力を供給している間に、
稼動中の前記仮想マシンを一括して停止させる
ことを特徴とする請求項９〜１１の何れかに記載の仮想マシン制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、仮想マシンの制御に関する。
【背景技術】
【０００２】
サーバは、所定の処理を踏まずに電源が切断されると、サーバ上のデータを正常に保持できないことがある。そのため、予期せぬ停電などの電源異常が発生した場合でも、所定の手順を踏んだ電源切断処理が完了するまでは、サーバに対して電源が供給され続けなければならない。これを実現する１つの方法として、サーバに対する給電を無停電電源装置（ＵＰＳ：Ｕｎｉｎｔｅｒｒｕｐｔｉｂｌｅ  Ｐｏｗｅｒ  Ｓｕｐｐｌｙ）経由とする方法がある。無停電電源装置は、停電等の電源異常を検知すると瞬時にサーバ等への出力電源のソースを内蔵バッテリーに切り替える。これにより、無停電電源装置は停電等の電源異常発生後も内蔵バッテリー電源が続く限りサーバ等に電力を供給し続けることができる。但し、内蔵バッテリーから電力を供給し続けられる時間には限りがあるため、停電が発生した際は、速やかにサーバの電源切断をする必要がある。
【０００３】
図１は、サーバの電源切断処理の例を説明する図である。図１において、サーバ１００とＵＰＳ１１０とは、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）ケーブルで接続されている。サーバ１００は、パーティション１０１−１〜１０１−ｎを含む。パーティションは、１台以上のシステムボードを有し、複数のドメインが動作する。パーティション内には、１つのコントロールドメイン１０２と複数のゲストドメイン１０３−１〜１０３―ｍとが含まれる。コントロールドメイン１０２は、ゲストドメイン１０３の生成及び管理をする。それぞれのドメインでは、ＯＳ（Ｏｐｅｒａｔｉｏｎ  Ｓｙｓｔｅｍ）が稼動しており、これにより仮想システムが提供される。コントロールドメイン１０２は、指示部１０４を有する。
【０００４】
停電が発生すると、ＵＰＳ１１０は、ＬＡＮケーブルを経由して、指示部１０４に停電が発生したことを通知する。指示部１０４は、予めユーザが作成したスクリプトを保持している。指示部１０４は、スクリプトを用いて、全ドメインへのシャットダウンの指示を発行する。シャットダウンの指示を受けた各ドメインは、動作を停止する。
【０００５】
関連する技術として、自動的に論理区画、サーバ、ハードウェア管理コンソールをこの順で停止するサーバ電源自動制御モジュールを実装することが知られている（例えば特許文献１参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００８−３７３５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上述した背景技術では以下のような問題がある。
電源復旧後にサーバを起動する際に、ユーザが手動で各ドメインの電源投入処理を行わなければならない。
【０００８】
１つの側面において、本発明の目的は、停電により全ドメインがシャットダウンした後、電源が復旧した際に自動でドメインの電源投入を行って、停電前の状態に情報処理装置を戻すことである。
【課題を解決するための手段】
【０００９】
電源装置に接続された情報処理装置は、格納部と、停止制御部と、起動制御部とを有する。格納部は、停電発生の通知を受けたときに、情報処理装置内に実装されている仮想マシンの稼働状態を表す情報を取得して記憶部に格納する。停止制御部は、停電発生の通知を受けたときに、稼働中の仮想マシンを停止させ、その後、情報処理装置内のハードウェアへの電力の供給を停止する。起動制御部は、情報処理装置への電力の供給が開始されたときに、記憶部に格納されている情報に基づいて仮想マシンを起動する。
【発明の効果】
【００１０】
停電により全ドメインがシャットダウンした後、電源が復旧した際に自動でドメインの電源投入を行って、停電前の状態に情報処理装置を戻すことができる。
【図面の簡単な説明】
【００１１】
【図１】サーバの電源切断処理の例を説明する図である。
【図２Ａ】仮想システムを一括して停止する処理の例を説明する図である。
【図２Ｂ】仮想システムを停電発生前の状態に戻す処理の例を説明する図である。
【図３】サーバのハードウェア構成の例である。
【図４】実施形態に係るサーバの構成例である。
【図５】エラーに関する情報の格納処理の例を説明する図である。
【図６】エラーに関する情報の実施例を説明する図である。
【図７】サーバの電源を切断する処理の例を説明する図である。
【図８】ドメインの稼動状態に関する情報の例を説明する図である。
【図９】サーバの電源投入処理の例を説明する図である。
【図１０】仮想システムを一括して停止する処理の例を説明するフローチャートである。
【図１１】仮想システムを停電発生前の状態に戻す処理の例を説明するフローチャートである。
【図１２】エラーに関する情報の格納処理の例を説明するフローチャートである。
【図１３】サーバの電源を切断する処理の例を説明するフローチャートである。
【図１４】サーバの電源投入処理の例を説明するフローチャートである。
【発明を実施するための形態】
【００１２】
以下、本実施形態について、図面を参照しながら詳細に説明する。
図２Ａおよび図２Ｂを参照して、本実施形態におけるサーバの停電時の処理及び復電時の処理の例を説明する。図２Ａは、仮想システムを一括して停止する処理の例を説明する図である。図２Ａにおいて、サーバ２００とＵＰＳ２１０とは、ＬＡＮケーブルで接続されている。サーバ２００は、パーティション２０１（２０１−１〜２０１−ｎ）及びＳＣＦ２２０を含む。パーティションは、１台以上のシステムボードを有し、複数のドメインを動作させる。ＳＣＦ２２０は、サービスプロセッサであり、電源投入や電源切断、ハードウェアの故障監視を行う。ＳＣＦ２２０は、データベース２２１、格納部２２２、制御部２２３を備える。データベース２２１は、パーティションの情報、ドメインの情報、エラーに関する情報を保持する。格納部２２２は、データベース２２１に対して各種情報を格納する処理を行う。制御部２２３は、パーティションの電源投入や電源切断の処理を制御する。パーティション内には、１つのコントロールドメイン２０２と複数のゲストドメイン２０３（２０３−１〜２０３―ｍ）と、Ｈｙｐｅｒｖｉｓｏｒ２０５とが含まれる。コントロールドメイン２０２は、指示部２０４を有する。Ｈｙｐｅｒｖｉｓｏｒ２０５は、パーティションのドメインの制御及び管理を行うファームウェアである。
【００１３】
以下に、停電発生時の仮想システムを一括停止する処理を順に説明する。
（１）停電が発生すると、ＵＰＳ２１０への電力供給が停止される。（停電）
（２）ＵＰＳ２１０は、サーバ２００の指示部２０４に対して停電が発生したことを通知する。（通知）
（３）指示部２０４は、停電が発生したことをＳＣＦ２２０に通知する。（通知）
（４）格納部２２２は、停電が発生したことを表すエラー情報をデータベース２２１に格納する。（格納）
（５）制御部２２３は、各パーティションのＨｙｐｅｒｖｉｓｏｒ２０５に対して全ドメインの稼動状態に関する情報の取得及び全ドメインへのシャットダウン要求を出力する。（シャットダウン）
（６）格納部２２２は、取得した全ドメインの稼動状態に関する情報をデータベース２２１に格納する。（格納）
（７）制御部２２３は、全パーティションの電源切断を実施する。（電源切断）
（８）一定時間経過後、ＵＰＳ２１０は、ＳＣＦ２２０への電力供給を停止する。（電力供給停止）
（９）電力供給の停止により、ＳＣＦ２２０は停止する。（停止）
【００１４】
図２Ａの（１）〜（９）の処理により、停電が発生しても、所定の手順を踏んだ電源切断処理が実行される。所定の手順を踏んだ電源の切断処理により、サーバ上のデータの破損や故障を防ぐことができる。なお、（８）における、一定時間は、（１）〜（７）の処理が完了するのに十分な時間であればよい。
【００１５】
図２Ｂは、仮想システムを停電発生前の状態に戻す処理の例を説明する図である。図２Ｂにおいて、図２Ａと同じものは、同一の番号を付している。図２Ｂは、停電が復旧後の処理について説明した図である。図２ＢのＳＣＦ２２０は、制御部２２３、判定部２３１、電源投入部２３２を備える。
【００１６】
以下に、仮想システムを停電発生前の状態に戻す処理の例を説明する。
（１）電力が復旧する。（電力復旧）
（２）ＵＰＳ２１０は、サーバ２００に対して電力供給を再開する。（電力供給）
（３）電源供給が再開されると、ＳＣＦ２２０は、起動処理を開始する。（起動）
（４）判定部２３１は、データベース２２１のエラーに関する情報が、停電によってサーバ２００の電源が切断されたことに係わる情報を含んでいるかを判定する。停電によって情報処理装置の電源が切断されていた場合に、取得部２３２は、データベース２２１から、停電時にどのパーティション・ドメインがシャットダウン処理したかの情報を取得する。（確認）
（５）電源投入部２３２は、停電によりシャットダウン処理が行われたパーティションの電源を投入する。（電源投入）
（６）制御部２２３は、各パーティションのＨｙｐｅｒｖｉｓｏｒ２０５に対して、停電によりシャットダウン処理が行われたドメインの起動を要求する。（起動要求）
（７）Ｈｙｐｅｒｖｉｓｏｒ２０５は、停電によりシャットダウン処理が行われたドメインのＯＳをブートして、停電前の状態に戻す。（起動）
【００１７】
図２Ｂの（１）〜（７）の処理を行うことにより、停電が起こっても、サーバ２００は、停電前のパーティション・ドメインと同じ状態に戻る。停電時のパーティション・ドメイン・エラーに関する情報を記憶するデータベース２２１は、記憶部であってもよい。図２Ａ、図２Ｂ共に、ＳＣＦ２２０と各パーティションとはＣＭＤ（ＣＯＭＡＮＤ）パスと呼ばれる通信パスで接続されており、双方向の通信を行う。
【００１８】
図３は、サーバのハードウェア構成の例を示す。サーバ２００は、プロセッサ１１、メモリ１２、バス１５、外部記憶装置１６、ネットワーク接続装置１９を備える。さらにオプションとして、サーバ２００は、入力装置１３、出力装置１４、媒体駆動装置１７を備えても良い。サーバ２００は、例えば、コンピュータなどで実現されることがある。
【００１９】
プロセッサ１１は、Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ（ＣＰＵ）を含む任意の処理回路とすることができる。プロセッサ１１は、指示部２０４、格納部２２２、制御部２２３、Ｈｙｐｅｒｖｉｓｏｒ２０５、判定部２３１、電源投入部２３２として動作することができる。なお、プロセッサ１１は、例えば、外部記憶装置１６に記憶されたプログラムを実行することができる。メモリ１２は、データベース２２１として動作し、パーティションの情報、ドメインの情報、エラーに関する情報を保持する。さらに、メモリ１２は、プロセッサ１１の動作により得られたデータや、プロセッサ１１の処理に用いられるデータも、適宜、記憶する。ネットワーク接続装置１９は、他の装置との通信に使用される。
【００２０】
入力装置１３は、例えば、ボタン、キーボード、マウス等として実現され、出力装置１４は、ディスプレイなどとして実現される。バス１５は、プロセッサ１１、メモリ１２、入力装置１３、出力装置１４、外部記憶装置１６、媒体駆動装置１７、ネットワーク接続装置１９の間を相互にデータの受け渡しが行えるように接続する。外部記憶装置１６は、プログラムやデータなどを格納し、格納している情報を、適宜、プロセッサ１１などに提供する。媒体駆動装置１７は、メモリ１２や外部記憶装置１６のデータを可搬記憶媒体１８に出力することができ、また、可搬記憶媒体１８からプログラムやデータ等を読み出すことができる。ここで、可搬記憶媒体１８は、フレキシブルディスク、Ｍａｇｎｅｔ−Ｏｐｔｉｃａｌ（ＭＯ）ディスク、Ｃｏｍｐａｃｔ  Ｄｉｓｃ  Ｒｅｃｏｒｄａｂｌｅ（ＣＤ−Ｒ）やＤｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ  Ｒｅｃｏｒｄａｂｌｅ（ＤＶＤ−Ｒ）を含む、持ち運びが可能な任意の記憶媒体とすることができる。
【００２１】
図４は、実施形態に係るサーバの構成例を示す。図４は、図２と同じものは、同一の番号を付している。サーバ２００は、複数のシステムボードを実装している。サーバ２００の各パーティション２０１（２０１−１〜２０１−ｎ）は、１台以上のシステムボード４０１（４０１−１〜４０１−ａ）を有し、システムボード４０１は各々が、ＣＰＵ、メモリ、Ｉ／Ｏポートを備える。システムボード４０１は、複数のドメイン２０２、２０３（２０３−１〜２０３−ｍ）、Ｈｙｐｅｒｖｉｓｏｒ２０５及び指示部２０４を動作させる。なお、ＳＣＦ２２０は、パーティションが有するシステムボード以外のＣＰＵ，メモリなどを使用して動作する。
【００２２】
図５は、エラーに関する情報の格納処理の例を説明する図である。図５は、図２Ａの（３）〜（４）の処理を説明する図である。また、図５は、図２と同じものは、同一の番号を付している。パーティション２０１は、指示部２０４を有する。パーティション２０１とＳＣＦ２２０とはＣＭＤパスで接続されており、双方向の通信を行う。ＳＣＦ２２０は、制御部２２３、格納部２２２、データベース２２１を有する。エラーに関する情報の格納処理では、まず、指示部２０４は、停電が発生したことを示すエラー情報の格納依頼を、制御部２２３の処理への割り込み情報として通知する。次に、制御部２２３は、割り込み情報を受信すると、格納部２２２に対して情報の解析を行う指示を出力する。格納部２２２は、エラー情報の内容や格納日時などを解析し、その後、データベース２２１にエラー情報を格納する。
【００２３】
図６は、エラーに関する情報の実施例を説明する図である。図６（ａ）は、エラーに関する情報の実施例であり、図６（ｂ）は、実施例を詳細に説明する図である。データベース２２１に格納されるエラーに関する情報は、図６（ｂ）のＤａｔｅ、Ｃｏｄｅ、Ｓｔａｔｕｓ、Ｏｃｃｕｒｅｄ、ＦＲＵ、Ｍｓｇのパラメータを有する。図６（ａ）の実施例におけるパラメータのＤａｔｅは、「Ｍａｒ  １９  １５：０５：１５  ＪＳＴ  ２０１３」である。Ｄａｔｅは、エラー情報が格納された日時である。実施例は、日本時間（ＪＳＴ）の２０１３年３月１９日１５時５分１５秒を示している。
【００２４】
図６（ａ）の実施例におけるパラメータのＣｏｄｅは、「２０−００３ｆ０１−４０８０−３２１５」である。Ｃｏｄｅは、エラー情報を示すコードである。実施例のＣｏｄｅの先頭にある「２０」は、エラーの深刻度を示す値である。一例として、Ｃｏｄｅの先頭の２０は、通知レベルである。停電は、故障ではないため、通知レベルに設定されるのが好ましい。Ｃｏｄｅの先頭は、デバイスの交換を推奨するレベルであるのか、又は、予防的に交換を推奨するレベルであるのかを示す情報を表してもよい。実施例のＣｏｄｅの「００３ｆ０１」は、部品の識別情報である。一例として、「００３ｆ０１」は、ＵＰＳを表している。これは、停電が発生したことの情報はＵＰＳから通知されるためである。
【００２５】
次に、実施例のＣｏｄｅの「４０８０」は、エラー情報に基づいて次にサーバに求めるリアクションに関する情報である。一例として「４０８０」の前２桁の「４０」は、パーティションの電源切断の実施命令を表す。図７で後述するが、停電が発生すると、エラー情報がデータベース２２１に格納後、パーティションの電源切断が、Ｃｏｄｅの情報に基づいて実行される。同様に、「４０」は別の数字でもよく、パーティションの強制電源切断の命令や、何ら命令をしないという情報であってもよい。「４０８０」の後ろ２桁の「８０」は、ユーザへの通報を行うかどうかを表す。「８０」は別の数字でもよく、ユーザへの通報を行わない情報であってもよい。
【００２６】
実施例のＣｏｄｅの「３２１５」は、エラーの事象を表す識別情報である。一例として、「３２１５」は、停電が発生したことを表す。「３２１５」は別の数字でもよく、他の故障や障害に関する情報であってもよい。
【００２７】
Ｓｔａｔｕｓ、ＦＲＵ、Ｍｓｇなどのパラメータは、実施例のＣｏｄｅが含む情報をユーザに分かりやすく表示するために用いられる。図６（ａ）の実施例におけるパラメータのＳｔａｔｕｓは、「Ｎｏｔｉｃｅ」である。Ｓｔａｔｕｓは、エラーの深刻度を表す。Ｓｔａｔｕｓは、実施例のＣｏｄｅの先頭にある「２０」をユーザに分かりやすく表示するために用いられる。ＳｔａｔｕｓのＮｏｔｉｃｅは、通知レベルを表している。
【００２８】
図６（ａ）の実施例におけるＯｃｃｕｒｒｅｄは、「Ｍａｒ  １９  １５：０５：０４．６１１  ＪＳＴ  ２０１３」である。Ｏｃｃｕｒｒｅｄは、エラーが発生した日時を表す。実施例は、日本時間（ＪＳＴ）の２０１３年３月１９日１５時５分４秒６１１を示している。
【００２９】
図６（ａ）の実施例におけるＦＲＵは、ＵＰＳである。ＦＲＵは、エラーが起こった部品を表す情報である。ＦＲＵは、実施例のＣｏｄｅの「００３ｆ０１」をユーザに分かりやすく表示するために用いられる。図６（ａ）の実施例におけるＭｓｇは、「Ｔｈｅ  Ｍａｃｈｉｎｅ  Ａｄｍｉｎｉｓｔｒａｔｉｏｎ  ｄｅｔｅｃｔｅｄ  ａ  ｐｏｗｅｒ  ｆａｉｌｕｒｅ．」である。Ｍｓｇは、エラーの内容を示す情報である。Ｍｓｇは、図６（ａ）の実施例の「３２１５」をユーザに分かりやすく表示するために用いられる。
【００３０】
Ｄａｔｅ、Ｃｏｄｅ、Ｓｔａｔｕｓ、Ｏｃｃｕｒｅｄ、ＦＲＵ、Ｍｓｇなどのパラメータは順番をエラー情報の順番を限定するものではない。また、パラメータに使用される番号やコードは、例示した内容に限定されない。
【００３１】
図７は、サーバの電源を切断する処理の例を説明する図である。図７は、図２と同じものは、同一の番号を付している。パーティション２０１は、Ｈｙｐｅｒｖｉｓｏｒ２０５及びシステムボード４０１を有する。パーティション２０１とＳＣＦ２２０とはＣＭＤパスで接続されており、双方向の通信を行う。ＳＣＦ２２０は、制御部２２３、ハード管理部２４１、判定部２３１、データベース２２１を有する。ハード管理部２４１は、システムボード４０１に故障がないかの確認処理、動作停止処理、電源切断処理、ＦＡＮの回転停止・温度・電圧監視を停止する処理を行う。サーバの電源を切断する処理は、図５に示したエラーに関する情報がデータベース２２１に格納された後に実行される。
【００３２】
サーバの電源を切断する処理では、まず判定部２３１は、データベース２２１に格納されたエラーに関する情報を解析する。判定部２３１は、エラーに関する情報に、パーティションの電源切断の実施を表すコードが含まれるかを判定する。パーティションの電源切断の実施を表すコードがエラーに関する情報に含まれていた場合、判定部２３１は、パーティションの電源切断を制御部２２３に指示する。制御部２２３は、各パーティションのＨｙｐｅｒｖｉｓｏｒ２０５に対して全ドメインの稼動状態に関する情報の取得を依頼し、併せて全ドメインへのシャットダウン要求を出力する。制御部２２２は、取得した全ドメインの稼動状態に関する情報をデータベース２２１に格納する。Ｈｙｐｅｒｖｉｓｏｒ２０５は、全ドメインのシャットダウンが完了すると、処理が終了したことを制御部２２３に通知する。全ドメインがシャットダウンすると、ハード管理部２４１は、システムボード４０１に故障がないかの確認処理を行い、システムボード４０１の動作及び電源の停止などの処理を行う。
【００３３】
図８は、ドメインの稼動状態に関する情報の例を説明する図である。ドメインの稼動状態に関する情報は、Ｐａｒｔｉｔｉｏｎ  ＩＤ、Ｓｔａｔｕｓ、Ｒｅｓｏｕｒｃｅのパラメータを有する。Ｐａｔｉｔｉｏｎ  ＩＤは、パーティション毎に割り当てられるシステム内で一意な識別情報である。Ｓｔａｔｕｓは、パーティション毎の稼動状態である。一例として、稼働中のパーティションはＯＮ、停止中のパーティションはＯＦＦと表される。Ｒｅｓｏｕｒｃｅは、パーティションに実装されているシステムボードの番号を示す。
【００３４】
更に、図８は、パーティション毎に、Ｄｏｍａｉｎ  ｎｕｍ、Ｄｏｍａｉｎ  Ｎａｍｅ、Ｄｏｍａｉｎ  Ｓｔａｔｕｓ、Ｄｏｍａｉｎ  Ｒｅｓｏｕｒｃｅのパラメータを有する。Ｄｏｍａｉｎ  ｎｕｍは、パーティション内のドメインの数である。Ｄｏｍａｉｎ  Ｎａｍｅは、ユーザが予め設定したドメイン名である。次に、Ｄｏｍａｉｎ  Ｓｔａｔｕｓは、ドメインの稼動状態である。一例として、稼動中のドメインはＯＮ、停止中のドメインはＯＦＦと表される。Ｄｏｍａｉｎ  Ｒｅｓｏｕｒｃｅは、ドメインに割り当てられているＣＰＵ、メモリ、Ｉ／Ｏ情報である。
【００３５】
なお、ドメインの稼動状態に関する情報は、Ｈｙｐｅｒｖｉｓｏｒ２０５によって収集される。Ｈｙｐｖｅｒｖｉｓｏｒ２０５は、制御部２２３からドメインの稼動状態に関する情報の取得する指示を受信すると、パーティションで稼動状態にあるドメインの情報を収集する。
【００３６】
図９は、サーバの電源投入処理の例を説明する図である。図９は、図２と同じものは、同一の番号を付している。パーティション２０１は、Ｈｙｐｅｒｖｉｓｏｒ２０５及びシステムボード４０１を有する。パーティション２０１とＳＣＦ２２０とはＣＭＤパスで接続されており、双方向の通信を行う。ＳＣＦ２２０は、制御部２２３、ハード管理部２４１、判定部２３１、データベース２２１、電源投入部２３２を有する。電源投入処理は、停電から復旧した後に実行される。
【００３７】
停電から復旧し、ＵＰＳ２１０に電力が供給されると、ＵＰＳ２１０は、電力供給を再開する。電力が供給されると、ＳＣＦ２２０は起動する。判定部２３１は、データベース２２１のエラーに関する情報に停電発生があったかを判定する。また、判定部２３１は、ドメインの稼動状態に関する情報を確認し、停電前にパーティション・ドメインが稼動中であったものを確認する。電源投入部２３２は、パーティションの電源投入処理として、まずシステムボード４０１の電源投入要求をハード管理部２４１に出力する。ハード管理部２４１は、システムボード４０１の電源を投入する。制御部２２３は、Ｈｙｐｅｒｖｉｓｏｒ２０５にドメインの起動要求を出力する。Ｈｙｐｅｒｖｉｓｏｒ２０５はドメインを起動する。
【００３８】
図１０は、仮想システムを一括して停止する処理の例を説明するフローチャートである。停電が発生して、ＵＰＳ２１０への電力供給が途絶えると、ＵＰＳ２１０は、内蔵バッテリーに蓄えた電力を使ってシステムへの電力供給をする（ステップＳ１０１）。ＵＰＳ２１０は、停電が発生したことを指示部２０４に通知する（ステップＳ１０２）。指示部２０４は、停電が発生したことをＳＣＦ２２０に通知する（ステップＳ１０３）。ＳＣＦ２２０の格納部２２２は、停電が発生したことを示すエラー情報をデータベース２２１に格納する（ステップＳ１０４）。
【００３９】
制御部２２３は、Ｈｙｐｅｒｖｉｓｏｒ２０５に対してドメインの稼動状態に関する情報の取得及び稼動中のドメインにシャットダウン要求を出力する（ステップＳ１０５）。制御部２２３は、パーティションの電源切断を実施する（ステップＳ１０６）。ＵＰＳ２１０は、一定時間経過後、ＳＣＦ２２０への電力供給を停止する（ステップＳ１０７）。
【００４０】
なお、Ｓ１０２に記載の停電が発生したという情報は、ＳＮＭＰ（Ｓｉｍｐｌｅ  Ｎｅｔｗｏｒｋ  Ｍａｎａｇｅｍｅｎｔ  Ｐｒｏｔｏｃｏｌ）トラップなどによりＬＡＮを使って通知される。Ｓ１０３に記載の停電が発生したという情報は、ＣＭＤパスを使って通知される。Ｓ１０５において、制御部２２３は、ＣＭＤパスを使ってＨｙｐｅｒｖｉｓｏｒ２０５に現在稼動しているドメインの情報の取得要求を出力する。制御部２２３は、取得した現在稼動しているドメインの情報を、データベース２２１に格納する。その後、制御部２２３は、ＣＭＤパスを使ってＨｙｐｅｒｖｉｓｏｒ２０５に、現在稼動しているドメインのシャットダウンを要求する。制御部２２３は、ＣＭＤパスを使ってＨｙｐｅｒｖｉｓｏｒ２０５と通信を行い、シャットダウンの完了を監視する。Ｓ１０６において、ＳＣＦ２２０は、稼動中のドメインのシャットダウンを確認後に、パーティションの電源切断処理を行う。
【００４１】
Ｓ１０４において、エラー情報がデータベース２２１に格納されると、ユーザに停電が発生したことを通知するようにしてもよい。Ｓ１０７において、ＵＰＳ２１０は、電力供給を停止する前に停電が復旧しても、ＳＣＦ２２０に対する電力供給を停止する。これは、停電処理を開始しているため、確実にＳＣＦ２２０を停止するのが好ましいためである。
【００４２】
図１１は、仮想システムを停電発生前の状態に戻す処理の例を説明するフローチャートである。電力が復旧する（ステップＳ２０１）。ＵＰＳ２１０は、サーバ２００に対して電力供給を再開する（ステップＳ２０２）。電源供給が再開されると、ＳＣＦ２２０は、起動処理を開始する（ステップＳ２０３）。判定部２３１は、データベース２２１のエラーに関する情報を確認する（ステップＳ２０４）。判定部２３１は、データベース２２１のエラーに関する情報から、停電が発生していたかを判定する（ステップＳ２０５）。電源投入部２３２は、停電によりシャットダウン処理が行われたパーティションの電源を投入する（ステップＳ２０６、ステップＳ２０５でＹＥＳ）。制御部２２３は、各パーティションのＨｙｐｅｒｖｉｓｏｒ２０５に対して、停電によりシャットダウン処理が行われたドメインの起動を要求する（ステップＳ２０７）。Ｈｙｐｅｒｖｉｓｏｒ２０５は、停電によりシャットダウン処理が行われたドメインのＯＳをブートして、停電前の状態に戻す（ステップＳ２０８）。サーバ２００は、仮想システムを停電発生前の状態に戻す処理を終了する。
【００４３】
Ｓ２０４において、判定部２３１は、停電が発生したことを示すエラー情報、停電前に稼動していたパーティションがあるか、停電前に稼動していたドメインがあるかを確認する。Ｓ２０６において、パーティションの電源投入が開始されると、ＳＣＦ２２０は、パーティションの動作に使用されるＣＰＵ、メモリ、Ｉ／Ｏの初期化をする。並列して、ＳＣＦ２２０は、パーティションの動作に使用されるＣＰＵ、メモリ、Ｉ／Ｏの正常性の診断を行う。Ｓ２０７において、ドメインの起動の要求は、ＣＭＤパスを使用して通知される。併せて、ＳＣＦ２２０は、パーティションの動作に使用されるＣＰＵ、メモリ、Ｉ／Ｏの初期化をする。また、ＳＣＦ２２０は、パーティションの動作に使用されるＣＰＵ、メモリ、Ｉ／Ｏの正常性の診断を行う。
【００４４】
図１２は、エラーに関する情報の格納処理の例を説明するフローチャートである。ＳＣＦ２２０の制御部２２３は、指示部２０４により発行される停電が発生したことを示すエラー情報の格納依頼を、割り込み情報として受信する（ステップＳ３０１）。制御部２２３は、割り込み情報を受信すると、格納部２２２に対して情報の解析を行う指示を出力する（ステップＳ３０２）。格納部２２２は、エラー情報の内容や格納日時などを解析する（ステップＳ３０３）。格納部２２２は、データベース２２１にエラー情報を格納する（ステップＳ３０４）。サーバ２００は、エラーに関する情報の格納処理を終了する。
【００４５】
図１３は、サーバの電源を切断する処理の例を説明するフローチャートである。図１３は、図１０のステップＳ１０５〜１０６を詳細に説明したフローチャートである。判定部２３１は、データベース２２１に格納されたエラーに関する情報を解析する（ステップＳ４０１）。判定部２３１は、エラーに関する情報に、パーティションの電源切断の実施を表すコードが含まれるかを判定する（ステップＳ４０２）。判定部２３１は、パーティションの電源切断を制御部２２３に指示する（ステップＳ４０３、ステップＳ４０２でＹＥＳ）。制御部２２３は、パーティションの電源切断処理を開始する（ステップＳ４０４）。制御部２２３は、各パーティションのＨｙｐｅｒｖｉｓｏｒ２０５に対して全ドメインの稼動状態に関する情報の取得を依頼し、併せて全ドメインへのシャットダウン要求を出力する。制御部２２２は、取得した全ドメインの稼動状態に関する情報をデータベース２２１に格納する。Ｈｙｐｅｒｖｉｓｏｒ２０５は、全ドメインのシャットダウンが完了すると、処理が終了したことを制御部２２３に通知する（ステップＳ４０５）。ハード管理部２４１は、システムボード４０１に故障がないかの確認処理を行い、システムボード４０１の動作及び電源の停止などの処理を行う（ステップＳ４０６）。サーバ２００は、サーバの電源を切断する処理を終了する。
【００４６】
図１４は、サーバの電源投入処理の例を説明するフローチャートである。図１４は、図１１の処理をより詳細に説明したフローチャートである。停電から復旧し、ＵＰＳ２１０に電力が供給されると、ＵＰＳ２１０は、電力供給を再開する（ステップＳ５０１）。電力が供給されると、ＳＣＦ２２０は起動する（ステップＳ５０２）。判定部２３１は、データベース２２１のエラーに関する情報を確認する（ステップＳ５０３）。判定部２３１は、データベース２２１のエラーに関する情報から、停電が発生していたかを判定する（ステップＳ５０４）。判定部２３１は、パーティションの電源投入の要求を電源投入部２３２に出力する（ステップＳ５０５、ステップＳ５０４でＹＥＳ）。電源投入部２３２は、パーティションの電源投入処理として、まずシステムボード４０１の電源投入要求をハード管理部２４１に出力する（ステップＳ５０６）。ハード管理部２４１は、システムボード４０１の電源を投入する（ステップＳ５０７）。制御部２２３は、Ｈｙｐｅｒｖｉｓｏｒ２０５にドメインの起動要求を出力する（ステップＳ５０８）。Ｈｙｐｅｒｖｉｓｏｒ２０５はドメインを起動する（ステップＳ５０９）。
【００４７】
Ｓ５０３において、判定部２３１は、停電が発生したことを示すエラー情報、停電前に稼動していたパーティションがあるか、停電前に稼動していたドメインがあるかを確認する。
【００４８】
以上、説明したように、実施形態にかかる方法では、サーバは、停電発生時に稼動状態にあったドメイン及びパーティションに関する情報をデータベースに保持する。停電から復旧すると、サーバは、停電発生時に稼動状態にあったドメイン及びパーティションを自動的に起動することができる。
【符号の説明】
【００４９】
１００  サーバ
１０１−１〜１０１−ｎ  パーティション
１０２  コントロールドメイン
１０３−１〜１０３−ｍ  ゲストドメイン
１０４  指示部
１１０  ＵＰＳ
２００  サーバ
２０１−１〜２０１−ｎ  パーティション
２０２  コントロールドメイン
２０３−１〜２０３−ｍ  ゲストドメイン
２０４  指示部
２０５  Ｈｙｐｅｒｖｉｓｏｒ
２１０  ＵＰＳ
２２０  ＳＣＦ
２２１  データベース
２２２  格納部
２２３  制御部
２３１  判定部
２３２  電源投入部
２４１  ハード管理部
４０１  システムボード
【図１】
2015035175.tif 000003
【図２Ａ】
2015035175.tif 000004
【図２Ｂ】
2015035175.tif 000005
【図３】
2015035175.tif 000006
【図４】
2015035175.tif 000007
【図５】
2015035175.tif 000008
【図６】
2015035175.tif 000009
【図７】
2015035175.tif 000010
【図８】
2015035175.tif 000011
【図９】
2015035175.tif 000012
【図１０】
2015035175.tif 000013
【図１１】
2015035175.tif 000014
【図１２】
2015035175.tif 000015
【図１３】
2015035175.tif 000016
【図１４】
2015035175.tif 000017