JP2004046474A - Multi-os environmental computer system and program - Google Patents

Multi-os environmental computer system and program Download PDF

Info

Publication number
JP2004046474A
JP2004046474A JP2002202101A JP2002202101A JP2004046474A JP 2004046474 A JP2004046474 A JP 2004046474A JP 2002202101 A JP2002202101 A JP 2002202101A JP 2002202101 A JP2002202101 A JP 2002202101A JP 2004046474 A JP2004046474 A JP 2004046474A
Authority
JP
Japan
Prior art keywords
failure
application program
information
computer
processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2002202101A
Other languages
Japanese (ja)
Inventor
Manabu Chikada
近田 学
Sadaji Karasaki
唐崎 貞二
Koshin Mori
森 康臣
Yasuhiko Imai
今井 康彦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2002202101A priority Critical patent/JP2004046474A/en
Publication of JP2004046474A publication Critical patent/JP2004046474A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To construct a virtual cluster system preventing the stoppage of the system in the occurrence of an OS failure by use of one computer without adding exclusive hardware. <P>SOLUTION: In a multi-OS environmental computer comprising a first OS 26, a second OS 27 and a multi-OS control part 25, the multi-OS control part 25 gives an OS failure detection instruction to each OS 26 or 27, whereby each OS 26 or 27 performs OS failure detection by use of common disc areas in HDD 15-17 which are computer resources. In the occurrence of OS failure, the multi-OS control part 25 controls the OS so that an application program is operated on the normally operating OS. When the failed OS is restored, the multi-OS control part 25 controls the OS so as to return to the original processing state. <P>COPYRIGHT: (C)2004,JPO

Description

【0001】
【発明の属する技術分野】
本発明は、計算機システムのマルチOS制御に関し、特にOS障害監視およびOS障害発生時の処理と復旧のためのマルチOS環境の計算機システムおよびそのプログラムに関する。
【0002】
【従来の技術】
計算機のOSに障害が発生した場合、システム停止となり、業務続行は不能状態となる。従来より、計算機が停止しても業務プログラムを他の計算機で処理させ、システム停止を防ぐクラスタシステムがよく用いられている。クラスタシステムは、企業の基幹システムを動作させる場合のように、いかなる事態が発生しても停止することが許されない計算機を構築する際の手段である。通常、2台ないしそれ以上の同スペックのマシンを用意して、それらが常にメモリやハードディスクの内容を同期させながら動作する。動作中のマシンが障害などでダウンすると、他のマシンが自動的に動作を引き継ぐことになる。
このように、一般的なクラスタシステムは、計算機を複数台と共有ディスク装置で構成される。また、アプリケーションプログラムを各計算機で分散して処理を行い、各計算機の負荷分散を行う方法もよく用いられる手法である。
【0003】
一方、マルチOS環境を持つ計算機システムとしては、例えば、特開2001−101033公報で提案されている。これは、マルチOS環境を持つ計算機により、第1のOS、第2のOS、第2のOS上で動作する障害監視モニタおよびマルチOS制御部でOS障害を検出し、第1のOS障害と再起動によっても情報が保持される記憶領域に第1のOS上で動作しているアプリケーションプログラムのチェックポイント情報を保持し、再起動後はこのチェックポイント情報からアプリケーションプログラムを再開させるようにしたものである。
【0004】
【発明が解決しようとする課題】
しかしながら、複数の計算機と共通ディスク装置を用いてクラスタシステムを構築するためには、複数台の計算機を配置しなければならず、高価になる。
また、前記公報に記載のシステムでは、OS障害を検出し、その後障害発生したOSを再起動し、アプリケーションプログラムをチェックポイント情報から再開することが可能であるが、OS障害からOS再起動までの間はアプリケーションプログラムは停止し、業務自体は停止することになる。
【0005】
そこで、本発明の目的は、これら従来の課題を解決し、マルチOS環境の計算機1台だけで、専用ハードウェアを追加することなく、OS障害を検出することができ、OS障害発生時にアプリケーションプログラムの切り替えを意識せずに正常動作しているOSに引き継ぐことで、アプリケーションプログラムを停止させることなく、かつ障害発生したOSを復旧させる機能を有し、OS障害に対して信頼性の高いマルチOS環境の計算機システムおよびそのプログラムを提供することにある。
【0006】
【課題を解決するための手段】
上記目的を達成するため、本発明のマルチOS環境の計算機システムは、第1のOS、第2のOS、計算機資源を管理するマルチOS制御部から構成されるマルチOS環境の計算機にて、マルチOS制御部より第1のOS、第2のOSにOS障害監視命令を発行し、第1のOS、第2のOSは、共通ディスク領域への生存情報の書き込みと、この生存情報を確認することでOS障害の監視を行う。
【0007】
また、本発明のマルチOS環境の計算機システムは、マルチOS制御部がOS障害発生時に各OS上で動作していたアプリケーションプログラムを正常動作しているOSに引き継がせるように制御を行う。OS障害が発生したOSを予め設定した復旧方法により、OS障害の復旧を行い、OS障害発生していたOSが復旧したときには、本来動作していたOS上でアプリケーションプログラムを動作させるように制御を行う。
【0008】
これは、予め設定したアプリケーションプログラムの負荷を各OSで分散させていたものを、OS障害復旧時に再びアプリケーションプログラムの負荷を各OSに負荷分散させるためである。これにより、計算機1台でOS障害発生時にもシステム停止することがない、クラスタシステムを構築することができるので、信頼性の高いシステムを実現することができる。
【0009】
【発明の実施の形態】
以下、本発明の実施形態を、図面により詳細に説明する。
図1は、本発明の実施形態を示す計算機システムの構成図である。
図1に示すように、計算機は図1(a)に示すソフトウェア24と図1(b)に示すハードウェア11に分けられる。ハードウェア11は、CPU12、主メモリ13、SCSIアダプタ14、LANアダプタ19およびSCSIアダプタ14に接続されたハードディスク装置(HDD)15〜18から構成される。
なお、LANアダプタ19に接続されたLAN回線20には、複数の端末装置21〜23が接続される。
ソフトウェア24は、第1のOS26、第2のOS27、マルチOS制御部25、業務アプリケーションプログラム(以下、AP)(1)28、業務AP(2)30、業務AP(3)29、業務AP(4)31から構成されている。
【0010】
ソフトウェア24の全ては、ハードウェア11の主メモリ13に保存されている。なお、マルチOS制御部25は、▲1▼ハードウェア資源分割機能と、▲2▼AP制御機能と、▲3▼OS障害検出および回復機能とを有している。また、業務AP(1)〜(4)は、一般業務処理を行うプログラムである。ここでは、アプリケーションプログラムの数は、一例として4つにしているが、数に限定されるものではなく、さらに多くの業務APを保存することもできる。また、第1のOS26、第2のOS27上で動作させるアプリケーションについても、限定されるものではない。
【0011】
以下、マルチOS制御部25の3つの機能について説明する。
(1.ハードウェア資源分割機能)
ハードウェア11からの割り込みや、CPU処理時間、メモリなどの計算機資源を各OSに振り分け、仮想ハードウェアとして各OSに対して見せる。
また、各OSが利用する外部デバイスのI/O資源を予約する機能を有する。
【0012】
(2.アプリケーションプログラム制御機能)
アプリケーションプログラムを、OS障害発生時にOS障害が発生していない方のOSに引き渡す機能である。障害回復時には、正常動作していた時のように、各OSのアプリケーションプログラムの負荷を分散するために、アプリケーションプログラムを始め、動作していたOSの方に戻す機能も有する。
アプリケーションプログラムのインストール時に、アプリケーションプログラムの負荷を分散するために、どのOS上で動作させるかの情報を予め共通ディスク領域に設定しておく。
【0013】
(3.OS障害検出およびOS障害回復機能)
OS障害検出は、各OSにOS障害検出命令を発行し、OS障害が発生していたとき、各OSからの通知を受ける。OS障害回復時は各OSより生存情報の通知を受けることにより、システムが正常状態に回復したことを判断する。OS障害回復は、障害発生したOSを再起動することにより、OSの障害回復を行う機能を有する。
【0014】
(障害時の処理)
LAN回線20に接続されている端末装置21〜23は、計算機にアクセスして実業務を行う装置である。OS障害が発生すると、正常動作している方のOSから計算機にアクセスしたこれらの端末装置21〜23に対してOSに障害が発生したことの通知を受ける。
OS障害検出、OS障害時の処置、および障害復旧時の処置の概要について述べる。
マルチOS制御部25は、第1のOS26、第2のOS27に対してOS障害検出命令を発行する。命令を受けた第1のOS26および第2のOS27は、HDD15〜18に存在する共通ディスク領域に、ある周期をもって自OSが生存していることを書き込む。これが正常動作中の証明となり、この生存情報を確認すれば、どのOSに障害が発生したかが判別できる。
【0015】
その後、第1のOS26および第2のOS27は、書き込まれた生存情報を読み込み、生存情報が正しくない場合には、マルチOS制御部25にOS障害発生を通知する。このとき、LAN回線20に接続された端末装置21〜23にもOS障害が発生したことの通知を行う。マルチOS制御部25は、予め設定されたアプリケーションプログラム制御方法に従って、障害発生したOSで動作していたアプリケーションプログラムを正常動作している方のOS上で動作させるように命令を発行する。また、予め設定したOS障害回復方法に従って、障害が発生したOSを回復する。
【0016】
障害が発生したOSが回復された場合、マルチOS制御部25は各OSより生存情報を正しく受けたことにより、障害回復が正しく行われたことを判断して、OS障害発生した時点で正常動作していたOSへ引き継がれたアプリケーションプログラムを、予め設定していたOS上で動作させるように、各OSに命令を発行する。また、障害発生していたOSは、LAN回線20に接続されている端末装置21〜23に対して復旧されたことを通知する。
【0017】
(HDDの共通ディスク領域)
図2は、図1におけるHDD15〜18に存在する共通ディスク領域に記憶されているデータの図である。
ここでは、プログラム領域などは省略して、本発明に関する制御情報などについて示している。
生存情報確認領域41は、第1のOS26および第2のOS27からアクセスされる領域であり、生存情報が各OSより書き込まれる。生存情報には、書き込む時刻も同時に書き込まれる。OS障害検出開始時間42は、マルチOS制御部25が各OSにOS障害検出命令を発行する時間が限納される。OS障害検出時間43は、各OSがマルチOS制御部25よりOS障害検出命令を受けた後の、各OSの生存書き込み情報の許容時間である。すなわち、障害検出命令を受けた時刻からここで定められた時間内に各OSは生存情報を書き込む必要がある。
【0018】
OS障害情報44は、計算機の状態を示す情報である。計算機がOS障害により動作しなくなった箇所、あるいは計算機の現在の状況は正常か、異常かなどを示す。
アプリケーションプログラム制御情報45は、アプリケーションプログラムの制御情報であり、▲1▼各アプリケーションプログラムを動作させるOSの指定、▲2▼現在アプリケーションプログラムがどのOS上で動作しているのか、を示す情報、および▲3▼アプリケーションプログラムが動作していたOSに障害発生した時の引継先OSの情報が格納されている。アプリケーションプログラムインストール時に、各OSの負荷分散を行うために、動作させるOSの指定とOS障害が発生したときの引継先OSの設定を行う。これらの▲1▼▲2▼▲3▼の各情報は、業務AP(1)〜(4)毎に示されている。
OS復旧方法46には、第1のOS26、第2のOS27の障害発生時の復旧方法を示す情報が格納されている。これには、(a)メモリダンプなしのOS再起動、(b)メモリダンプ取得後のOS再起動、(c)OSの特定機能のみの再起動、などに区分される。これらの(a)(b)(c)の各情報は、OS毎に示されている。
【0019】
図3は、本発明における計算機の起動処理とOS障害検出の手順を示すフローチャートである。
ハードウェア11が起動された後、自動的な手続きの実行により第1のOS26、第2のOS27、マルチOS制御部25が起動すると、第1のOS26と第2のOS27が利用する計算機資源の割り当てが行われ、仮想ハードウェアとして各OSに見せる(ステップ101)。第1のOS26と第2のOS27が、OS障害検出時間43、OS復旧方法46、OS障害情報44を共有ディスク領域に設定する(ステップ102)。第1のOS26と第2のOS27は、共有ディスク領域内のアプリケーションプログラム制御情報45のどのOS上で動作させるのかを参照して、アプリケーションプログラムを開始させ、アプリケーションプログラム制御情報45の『現在どのOS上で動作しているか、』の欄にアプリケーションプログラムが動作しているOSを書き込む(ステップ103)。
【0020】
マルチOS制御部25は、OS障害検出開始時間42を設定する(ステップ104)。マルチOS制御部25は、第1のOS26と第2のOS27に対して、生存情報書き込みと確認の指示を発行する(ステップ105)。これにより、各OS26,27は、発行時刻からOS障害検出時間43(例えば、3分〜5分間隔)内に生存情報確認領域41に生存情報の書き込みを行う必要がある。
第1のOS26と第2のOS27は、共有ディスク領域の生存確認情報領域41に生存している情報を書き込む(ステップ106)。第1のOS26と第2のOS27は、OS障害情報44を確認する(ステップ107)。確認した結果がOS障害状態であった場合には、OS障害回復の確認処理と判断する(ステップ108)。第1のOS26と第2のOS27は、共有ディスク領域の生存情報確認領域41に書き込まれた生存情報を読み込み、生存情報が生存情報書き込みと確認指示を受けた時間からOS障害検出時間43以内であることを確認する(ステップ109)。
【0021】
第1のOS26は、第2のOS27の生存情報を読み込み、第2のOS27は逆に第1のOS26の生存情報を読み込む。第1のOS26と第2のOS27は、確認した結果から生存情報が正しい場合には、第1のOS26は、次回のOS障害検出開始時間42を設定する(ステップ111)。一方、生存情報を確認できなかった場合、生存情報が正しくない場合には、OS障害であるため、OS障害処理に移る(ステップ110)。この後は、ステップ105に戻り、OS障害検出を定期的に行う。
【0022】
図4は、本発明におけるOS障害発生時の処理の手順を示すフローチャートである。
OS障害が発生したとき、正常動作しているOSはマルチOS制御部25にOS障害発生を通知し、OS障害情報44にOS障害発生しているOSを書き込む(ステップ201)。正常動作しているOSは、LAN回線20に接続された端末装置21〜23にOS障害が発生していることを通知する(ステップ202)。
アプリケーションプログラムを正常動作しているOS上で動作させるように処置を行う(ステップ203)。これは、マルチOS制御部25がOS障害情報44を確認し、アプリケーションプログラム制御情報45の各アプリケーションプログラムの現在どのOS上で動作しているのかを参照し、OS障害が発生したOS上でアプリケーションプログラムが動作しているとき、アプリケーションプログラム制御情報45のOS障害時の引き継ぎ先情報に従って、アプリケーションプログラムを正常動作しているOS上で動作させるように、正常動作しているOSに命令を発行する。
【0023】
命令を受けたOSは、アプリケーションプログラム制御情報45のOS障害時の引き継ぎ先に従って、アプリケーションプログラムを引き継ぎ、アプリケーションプログラムを動作させる。また、アプリケーションプログラム制御情報45のアプリケーションプログラムの現在の状態に引き継がれたOSを書き込む。これにより、意識しないでアプリケーションプログラムを正常動作しているOSへ引き継ぐことができるので、業務が停止することはない。
OS障害の復旧処理(ステップ204)は、マルチOS制御部25がOS復旧方法46に従って、OS障害が発生したOSを復旧する。
【0024】
図5は、本発明において、障害発生したOSが回復したときの処理の手順を示すフローチャートである。
マルチOS制御部25は、OS障害検出開始時間42を設定し、第1のOS26および第2のOS27に対して、OS障害検出処理命令を発行する(ステップ301)。第1のOS26と第2のOS27は、共有ディスク領域の生存情報確認領域に生存していることを書き込む(ステップ302)。第1のOS26と第2のOS27は、OS障害情報44がOS障害発生状態であることを確認する(ステップ303)。第1のOS26と第2のOS27は、共有ディスク領域の生存情報確認領域に書き込まれた生存情報を読み込み、生存情報が生存情報書き込みと確認指示を受けた時間からOS障害検出時間43以内であることを確認する(ステップ304)。
【0025】
第1のOS26と第2のOS27は、確認した結果から生存情報が正しい場合、マルチOS制御部25にOSが復旧されたことを通知する(ステップ307)。一方、ステップ304において、生存情報が正しくない場合には、マルチOS制御部25にOS復旧されていないことを通知する(ステップ305)。マルチOS制御部25は、OS復旧方法46に従って、OS障害の復旧処理を行う(ステップ306)。OS障害から復旧されたOSは、LAN回線20に接続された端末装置21〜23にOS復旧されたことを通知する(ステップ308)。
【0026】
アプリケーションプログラムを元のOS上で動作させるように制御する(ステップ309)。すなわち、マルチOS制御部25は、アプリケーションプログラム制御情報45の『どのOS上で動作させるのか』の欄と『現在どのOS上で動作しているのか』の欄を参照し、参照した結果が異なるOSであったときには、OS障害が発生したときにアプリケーションプログラムが引き継がれたと判断する。その後、OS障害発生時に正常動作していたOSの方に引き継がれていたアプリケーションプログラムを、アプリケーションプログラム制御情報45の『どのOSで動作させるか』の欄に従って、本来動作していたOS上で動作させるように各OSに命令を発行する。
【0027】
命令を受けた第1のOS26、第2のOS27は、アプリケーションプログラム制御情報45の『どのOS上で動作させるのか』の欄に従って、アプリケーションプログラムを動作させ、アプリケーションプログラム制御情報45のアプリケーションプログラムの現在の状態にアプリケーションプログラムが動作しているOSを書き込む。これにより、正常動作していたときのように、各OSでのアプリケーションプログラムの負荷を分散することができる。
第1のOS26は、OS障害情報44に正常状態の設定と、OS障害検出開始時間42を設定する(ステップ310)。この後は、ステップ105に戻り、OS障害検出処理を定期的に行う。
【0028】
図6は、本発明の動作概要を示す説明図である。
構成上は、図1とほぼ同じであるが、図6では、第1のOS26をホストOS26と呼び、第2のOS27をゲストOS27と呼んでいる。また、図6では、システム装置内に、ハードウェアと一緒にソフトウェアも含ませて記載されている。ハードウェアとしては、CPU12,12Aが2台、主メモリ13,13Aが2台設けられ、VGA(Video Graphics Array)32も設けられている。VGA32は、グラフィック制御LSIの名称で知られており、横320×縦200ドットで16色を表示するものなどがある。
【0029】
マルチOS制御部25は、1つのシステム装置にホストOS26とゲストOS27をインストールすることが可能であり、各OS26,27はハードウェアを共有することができる。ホストOS26とゲストOS27は、各々ユーザ要求の処理を行い、ここではホストOS26がデータベ−ス処理やメール処理など33を担当し、ゲストOS27がプリンタ処理など34を担当する。いま、一方のOSがハングアップした場合、他方のOSに処理を引き継ぐ。ここでは、ホストOS26に障害が発生したので、データベース処理、メール処理など33をゲストOS27に引き継ぎ、ユーザには正常に処理できているように見せる。
【0030】
システム装置内のHDD18内に共通ディスク領域を準備しておき、ここにホストOS26とゲストOS27がそれぞれ正常時動作を書き込む。そして、ホストOS26とゲストOS27は、互いに監視し合い、書き込みがなかったとき、他のOSがハングアップしたものと判断する。OSがハングアップしたことを検出したならば、他方のOSへ処理を引き継ぐ処理を行う。また、管理クライアント端末21〜23にOSがハングアップしたことを通知する。また、OSがハングアップしたことを、リブートして復旧させるのかを共通ディスク領域に問い合わせる。ハングアップしたOSが復旧した場合には、ハングアップしていたOSが共通ディスク領域に書き込みが正常に行われたことを検出したときに、元の処理の状態に戻す。
【0031】
(むすび)
以上のように、本実施例によれば、マルチOS環境のシステム装置1台でOS障害が発生しても、アプリケーションプログラムの切り替えを意識しないで、正常動作しているOSへ引き継ぐことができるので、システム停止することのないクラスタシステムを構築することができる。また、マルチOS環境を用いることにより、アプリケーションプログラムの切り替えが従来のクラスタシステムより早くなる。また、OS障害が発生したとき自動的にOS障害を回復することが可能であり、かつ、OS障害回復時にはアプリケーションプログラムを元の動作していたOS上で動作させるようにするので、正常動作していた時のように、各OSの負荷分散を行うことが可能になる。
【0032】
(応用例)
本実施例では、第1のOS26と第2のOS27の両方のシステムを稼働していたが、第2のOS27は普通は動作させないで、第1のOS26の障害時に全ての処理を引き継ぐようなホットスペアの処理を行うことも可能である。
また、本実施例では、計算機へのOSの搭載数を2としたが、3つ以上のOSを組み込むことも可能であり、組み込むOSの数が多くなればシステム構築の幅も大きくなり、信頼性を高めることが可能である。
【0033】
【発明の効果】
以上説明したように、本発明によれば、マルチOS環境を利用してOS障害監視、OS障害発生時にアプリケーションプログラムを正常動作しているOSへの引き継ぎ、OS障害の復旧処理およびOS障害復旧後にアプリケーションプログラムを正常動作していたときのように、元のOS上で動作するように制御を行うので、システム装置1台で安価にクラスタシステムを構築することができ、その結果、OS障害に対して信頼性の高いシステム装置を構築することが可能となる。さらに、計算機内のハードウェア資源であるHDDを利用してOS障害監視を行っているため、専用ハードウェアを追加する必要はない。
【図面の簡単な説明】
【図1】本発明の実施形態を示すマルチOS環境の計算機システムのブロック図である。
【図2】図1におけるHDD内の共通ディスク領域に格納されたデータ構成図である。
【図3】本発明の実施形態を示す計算機の起動手順およびOS障害検出手順のフローチャートである。
【図4】本発明の実施形態を示すOS障害発生時の処理手順のフローチャートである。
【図5】本発明の実施形態を示すOS障害回復時の処理手順のフローチャートである。
【図6】本発明の動作概要を示す説明図である。
【符号の説明】
11…ハードウェア、12…CPU、13…主メモリ、14…SCSIアダプタ、15〜18…HDD、19…LANアダプタ、20…LAN回線、21〜23…端末装置、24…ソフトウェア、25…マルチOS制御部、26…第1のOS、27…第2のOS、28…業務AP(1)、29…業務AP(3)、30…業務AP(2)、31…業務AP(4)、32…VGA、33…データベース処理、メール処理など、34…プリンタ処理など、41…生存情報確認領域、42…OS障害検出開始時間、43…OS障害検出時間、44…OS障害情報、45…アプリケーションプログラム制御情報、46…OS復旧方法。
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to multi-OS control of a computer system, and more particularly to a multi-OS environment computer system for monitoring and recovering from an OS failure and processing when an OS failure occurs, and a program therefor.
[0002]
[Prior art]
If a failure occurs in the OS of the computer, the system is stopped and business continuation is disabled. 2. Description of the Related Art Conventionally, a cluster system that prevents a system stoppage by causing a business program to be processed by another computer even when the computer stops is often used. A cluster system is a means for constructing a computer that is not allowed to stop even if any situation occurs, such as when operating a core system of a company. Usually, two or more machines of the same specifications are prepared, and they always operate while synchronizing the contents of the memory and the hard disk. If the running machine goes down due to a failure or the like, another machine will automatically take over the operation.
As described above, a general cluster system includes a plurality of computers and a shared disk device. Also, a method of distributing the application programs among the computers and performing the processing, and distributing the load of the computers is also a commonly used method.
[0003]
On the other hand, a computer system having a multi-OS environment is proposed in, for example, JP-A-2001-101333. This is because a computer having a multi-OS environment detects an OS fault with a first OS, a second OS, a fault monitoring monitor operating on the second OS, and a multi-OS control unit. Checkpoint information of an application program running on the first OS is stored in a storage area in which information is retained even after a restart, and the application program is restarted from the checkpoint information after the restart. It is.
[0004]
[Problems to be solved by the invention]
However, in order to construct a cluster system using a plurality of computers and a common disk device, a plurality of computers must be arranged, which is expensive.
Further, in the system described in the above publication, it is possible to detect an OS failure, restart the OS in which the failure has occurred, and restart the application program from the checkpoint information. During this time, the application program stops, and the business itself stops.
[0005]
Therefore, an object of the present invention is to solve these conventional problems and to detect an OS failure with only one computer in a multi-OS environment without adding dedicated hardware. A multi-OS that has a function of restoring a failed OS without stopping application programs by taking over to an OS that is operating normally without being aware of the switching of the OS. An object of the present invention is to provide an environmental computer system and its program.
[0006]
[Means for Solving the Problems]
In order to achieve the above object, a computer system in a multi-OS environment according to the present invention uses a multi-OS environment computer comprising a first OS, a second OS, and a multi-OS control unit for managing computer resources. The OS control unit issues an OS failure monitoring instruction to the first OS and the second OS, and the first OS and the second OS write the survival information to the common disk area and confirm the survival information. Thus, the monitoring of the OS failure is performed.
[0007]
Further, the computer system in the multi-OS environment of the present invention controls the multi-OS control unit so that the application program running on each OS when the OS failure occurs can be taken over by the normally operating OS. The OS in which the OS failure has occurred is restored by a preset recovery method, and when the OS in which the OS failure has occurred is restored, control is performed so that the application program runs on the OS that originally operated. Do.
[0008]
This is for distributing the load of the application program to the respective OSs again when the OS failure is restored, while the load of the preset application program is distributed to the respective OSs. This makes it possible to construct a cluster system in which one computer does not stop even when an OS failure occurs, so that a highly reliable system can be realized.
[0009]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
FIG. 1 is a configuration diagram of a computer system showing an embodiment of the present invention.
As shown in FIG. 1, the computer is divided into software 24 shown in FIG. 1A and hardware 11 shown in FIG. 1B. The hardware 11 includes a CPU 12, a main memory 13, a SCSI adapter 14, a LAN adapter 19, and hard disk devices (HDDs) 15 to 18 connected to the SCSI adapter 14.
A plurality of terminal devices 21 to 23 are connected to a LAN line 20 connected to the LAN adapter 19.
The software 24 includes a first OS 26, a second OS 27, a multi-OS control unit 25, a business application program (hereinafter, AP) (1) 28, a business AP (2) 30, a business AP (3) 29, and a business AP ( 4) It is composed of 31.
[0010]
All of the software 24 is stored in the main memory 13 of the hardware 11. The multi-OS control unit 25 has (1) a hardware resource division function, (2) an AP control function, and (3) an OS failure detection and recovery function. The business APs (1) to (4) are programs for performing general business processing. Here, the number of application programs is four as an example. However, the number is not limited to four, and more business APs can be stored. Further, the applications operated on the first OS 26 and the second OS 27 are not limited.
[0011]
Hereinafter, three functions of the multi-OS control unit 25 will be described.
(1. Hardware resource division function)
Computer resources such as interrupts from the hardware 11, CPU processing time, and memory are allocated to each OS, and are presented to each OS as virtual hardware.
Further, it has a function of reserving I / O resources of an external device used by each OS.
[0012]
(2. Application program control function)
This is a function for transferring an application program to an OS in which no OS failure has occurred when an OS failure occurs. At the time of recovery from a failure, it also has a function of returning to the operating OS, starting with the application program, in order to distribute the load of the application program of each OS as in the case of normal operation.
At the time of installation of the application program, information on which OS to run on is set in advance in the common disk area in order to distribute the load of the application program.
[0013]
(3. OS failure detection and OS failure recovery function)
In the OS failure detection, an OS failure detection instruction is issued to each OS, and when an OS failure has occurred, a notification is received from each OS. At the time of OS failure recovery, it is determined that the system has recovered to a normal state by receiving notification of survival information from each OS. The OS failure recovery has a function of recovering the OS failure by restarting the failed OS.
[0014]
(Process at the time of failure)
The terminal devices 21 to 23 connected to the LAN line 20 are devices that access a computer and perform actual tasks. When an OS failure occurs, a notification that an OS failure has occurred is received from the normally operating OS to the terminal devices 21 to 23 that have accessed the computer.
An outline of OS failure detection, measures at the time of OS failure, and measures at the time of failure recovery will be described.
The multi-OS control unit 25 issues an OS failure detection command to the first OS 26 and the second OS 27. The first OS 26 and the second OS 27 that have received the command write that the own OS is alive with a certain period in the common disk area existing in the HDDs 15 to 18. This is a proof of normal operation, and if this survival information is confirmed, it is possible to determine which OS has failed.
[0015]
After that, the first OS 26 and the second OS 27 read the written survival information, and if the survival information is incorrect, notify the multi-OS control unit 25 of the occurrence of the OS failure. At this time, the terminal devices 21 to 23 connected to the LAN line 20 are also notified that an OS failure has occurred. The multi-OS control unit 25 issues a command to operate the application program that was running on the failed OS on the normally operating OS according to a preset application program control method. In addition, the failed OS is recovered according to a preset OS failure recovery method.
[0016]
When the failed OS is recovered, the multi-OS control unit 25 correctly receives the survival information from each OS, determines that the failure has been properly recovered, and operates normally when the OS failure occurs. An instruction is issued to each OS so that the application program taken over by the OS that has been set is operated on the OS set in advance. The OS in which the failure has occurred notifies the terminal devices 21 to 23 connected to the LAN line 20 that the OS has been restored.
[0017]
(Common disk area of HDD)
FIG. 2 is a diagram of data stored in a common disk area existing in the HDDs 15 to 18 in FIG.
Here, the program area and the like are omitted, and control information and the like relating to the present invention are shown.
The survival information confirmation area 41 is an area accessed from the first OS 26 and the second OS 27, and survival information is written from each OS. The writing time is also written in the survival information at the same time. As the OS failure detection start time 42, the time during which the multi-OS control unit 25 issues an OS failure detection command to each OS is limited. The OS failure detection time 43 is an allowable time of the live write information of each OS after each OS receives the OS failure detection command from the multi-OS control unit 25. That is, each OS needs to write the survival information within the time determined here from the time when the failure detection instruction is received.
[0018]
The OS failure information 44 is information indicating the state of the computer. This indicates the location where the computer has stopped operating due to the OS failure, or whether the current status of the computer is normal or abnormal.
The application program control information 45 is control information of the application program, and includes (1) designation of an OS for operating each application program, (2) information indicating on which OS the application program is currently running, and {Circle around (3)} Stores information of the takeover destination OS when a failure occurs in the OS on which the application program is running. At the time of application program installation, in order to distribute the load of each OS, an operating OS is specified and a takeover destination OS is set when an OS failure occurs. These pieces of information (1), (2) and (3) are shown for each of the business APs (1) to (4).
The OS recovery method 46 stores information indicating a recovery method when a failure occurs in the first OS 26 and the second OS 27. This includes (a) restarting the OS without memory dump, (b) restarting the OS after acquiring the memory dump, and (c) restarting only a specific function of the OS. These pieces of information (a), (b), and (c) are shown for each OS.
[0019]
FIG. 3 is a flowchart showing a procedure of computer startup processing and OS failure detection according to the present invention.
After the hardware 11 is started, when the first OS 26, the second OS 27, and the multi-OS control unit 25 are started by executing an automatic procedure, the computer resources used by the first OS 26 and the second OS 27 are used. The assignment is performed, and each OS is shown as virtual hardware (step 101). The first OS 26 and the second OS 27 set the OS failure detection time 43, the OS recovery method 46, and the OS failure information 44 in the shared disk area (Step 102). The first OS 26 and the second OS 27 start the application program by referring to which OS of the application program control information 45 in the shared disk area is to be operated, and execute the “current OS Is operating on the above ??? column is written (step 103).
[0020]
The multi-OS control unit 25 sets the OS failure detection start time 42 (Step 104). The multi-OS control unit 25 issues instructions for writing and confirming survival information to the first OS 26 and the second OS 27 (step 105). Accordingly, each of the OSs 26 and 27 needs to write the survival information in the survival information confirmation area 41 within the OS failure detection time 43 (for example, every 3 to 5 minutes) from the issue time.
The first OS 26 and the second OS 27 write the surviving information in the survival confirmation information area 41 of the shared disk area (Step 106). The first OS 26 and the second OS 27 confirm the OS failure information 44 (Step 107). If the result of the check is an OS failure state, it is determined that the OS failure recovery is to be confirmed (step 108). The first OS 26 and the second OS 27 read the survival information written in the survival information confirmation area 41 of the shared disk area, and within the OS failure detection time 43 from the time at which the survival information was written and the survival information was received and the confirmation instruction was received. Confirm that there is (step 109).
[0021]
The first OS 26 reads the survival information of the second OS 27, and the second OS 27 reads the survival information of the first OS 26 in reverse. The first OS 26 and the second OS 27 set the next OS failure detection start time 42 when the survival information is correct based on the result of the check (step 111). On the other hand, if the survival information cannot be confirmed, or if the survival information is incorrect, the process proceeds to the OS failure process because it is an OS failure (step 110). Thereafter, the process returns to step 105, and the OS failure detection is performed periodically.
[0022]
FIG. 4 is a flowchart illustrating a procedure of processing when an OS failure occurs in the present invention.
When an OS failure occurs, the normally operating OS notifies the multi-OS control unit 25 of the occurrence of the OS failure, and writes the OS in which the OS failure has occurred in the OS failure information 44 (step 201). The normally operating OS notifies the terminal devices 21 to 23 connected to the LAN line 20 that an OS failure has occurred (step 202).
A measure is taken so that the application program is operated on a normally operating OS (step 203). This is because the multi-OS control unit 25 checks the OS failure information 44, refers to which OS of each application program is currently running on the application program control information 45, and executes the application on the OS where the OS failure has occurred. When the program is running, an instruction is issued to the normally operating OS in accordance with the takeover destination information at the time of the OS failure in the application program control information 45 so that the application program runs on the normally operating OS. .
[0023]
The OS receiving the command takes over the application program according to the takeover destination at the time of the OS failure in the application program control information 45 and operates the application program. In addition, the OS that is taken over to the current state of the application program in the application program control information 45 is written. As a result, the application program can be taken over to the OS that is operating normally without being conscious, and the business will not be stopped.
In the OS failure recovery process (step 204), the multi-OS control unit 25 recovers the OS in which the OS failure has occurred according to the OS recovery method 46.
[0024]
FIG. 5 is a flowchart showing a procedure of processing when the failed OS is recovered in the present invention.
The multi-OS control unit 25 sets the OS failure detection start time 42 and issues an OS failure detection processing command to the first OS 26 and the second OS 27 (Step 301). The first OS 26 and the second OS 27 write that they are alive in the survival information confirmation area of the shared disk area (step 302). The first OS 26 and the second OS 27 confirm that the OS failure information 44 indicates that an OS failure has occurred (step 303). The first OS 26 and the second OS 27 read the survival information written in the survival information confirmation area of the shared disk area, and the survival information is within the OS failure detection time 43 from the time when the survival information was written and the confirmation instruction was received. Is confirmed (step 304).
[0025]
The first OS 26 and the second OS 27 notify the multi-OS control unit 25 that the OS has been restored if the survival information is correct based on the result of the check (step 307). On the other hand, if the survival information is not correct in step 304, the multi-OS control unit 25 is notified that the OS has not been restored (step 305). The multi-OS control unit 25 performs an OS failure recovery process according to the OS recovery method 46 (Step 306). The OS recovered from the OS failure notifies the terminal devices 21 to 23 connected to the LAN line 20 that the OS has been recovered (step 308).
[0026]
The application program is controlled to operate on the original OS (step 309). In other words, the multi-OS control unit 25 refers to the column of “which OS is to be operated on” in the application program control information 45 and the column of “which OS is currently being operated” in the application program control information 45, and the result of the reference is different. If it is an OS, it is determined that the application program has been taken over when an OS failure occurs. After that, the application program that was taken over by the OS that was operating normally at the time of the OS failure is operated on the OS that originally operated according to the column “Which OS is to be used” in the application program control information 45. An instruction is issued to each OS to cause the OS to operate.
[0027]
The first OS 26 and the second OS 27 that have received the command operate the application program in accordance with the column “On which OS to operate” of the application program control information 45, and execute the current operation of the application program in the application program control information 45. The OS on which the application program is running is written in the state. As a result, the load of the application program on each OS can be distributed as in the case of normal operation.
The first OS 26 sets the normal state and the OS failure detection start time 42 in the OS failure information 44 (Step 310). Thereafter, the process returns to step 105, and the OS failure detection processing is performed periodically.
[0028]
FIG. 6 is an explanatory diagram showing an operation outline of the present invention.
Although the configuration is almost the same as that of FIG. 1, in FIG. 6, the first OS 26 is called a host OS 26 and the second OS 27 is called a guest OS 27. In FIG. 6, software is included in the system device together with hardware. As hardware, two CPUs 12 and 12A, two main memories 13 and 13A are provided, and a VGA (Video Graphics Array) 32 is also provided. The VGA 32 is known by the name of a graphic control LSI, and includes a type that displays 16 colors with 320 × 200 dots.
[0029]
The multi-OS control unit 25 can install the host OS 26 and the guest OS 27 in one system device, and the OSs 26 and 27 can share hardware. The host OS 26 and the guest OS 27 respectively perform user request processing. In this case, the host OS 26 is in charge of 33 such as database processing and mail processing, and the guest OS 27 is in charge of 34 such as printer processing. If one OS hangs up, the other OS takes over the processing. Here, since a failure has occurred in the host OS 26, 33 such as database processing and mail processing is taken over by the guest OS 27, and the user is made to appear to be able to perform normal processing.
[0030]
A common disk area is prepared in the HDD 18 in the system device, and the host OS 26 and the guest OS 27 write the normal operation here. Then, the host OS 26 and the guest OS 27 monitor each other, and when there is no writing, determine that the other OS has hung up. If it is detected that the OS has hung up, a process of taking over the process to the other OS is performed. Further, it notifies the management client terminals 21 to 23 that the OS has hung up. In addition, it inquires of the common disk area whether the OS has hung up and is to be recovered by rebooting. When the hung up OS is recovered, when the hung up OS detects that the writing to the common disk area has been normally performed, the OS returns to the original processing state.
[0031]
(Conclusion)
As described above, according to the present embodiment, even if an OS failure occurs in one system device in a multi-OS environment, it is possible to take over to a normally operating OS without being aware of switching of application programs. Thus, it is possible to construct a cluster system without stopping the system. Also, by using the multi-OS environment, switching of application programs is faster than in a conventional cluster system. Further, when an OS failure occurs, the OS failure can be automatically recovered, and at the time of recovery from the OS failure, the application program is made to operate on the original operating OS. It is possible to distribute the load of each OS as in the case where the OS has been running.
[0032]
(Application example)
In the present embodiment, both systems of the first OS 26 and the second OS 27 are operated. It is also possible to perform hot spare processing.
In this embodiment, the number of OSs installed in the computer is two. However, it is possible to incorporate three or more OSs. Can be enhanced.
[0033]
【The invention's effect】
As described above, according to the present invention, an OS failure is monitored using a multi-OS environment, an application program is handed over to an OS that is operating normally when an OS failure occurs, OS failure recovery processing, and after OS failure recovery Since the control is performed so that the application program operates on the original OS as if it were operating normally, a cluster system can be constructed inexpensively with one system device. And a highly reliable system device can be constructed. Further, since OS failure monitoring is performed using the HDD which is a hardware resource in the computer, it is not necessary to add dedicated hardware.
[Brief description of the drawings]
FIG. 1 is a block diagram of a computer system in a multi-OS environment according to an embodiment of the present invention.
FIG. 2 is a diagram illustrating a data structure stored in a common disk area in an HDD in FIG. 1;
FIG. 3 is a flowchart of a computer startup procedure and an OS failure detection procedure according to the embodiment of the present invention.
FIG. 4 is a flowchart of a processing procedure when an OS failure occurs according to the embodiment of the present invention.
FIG. 5 is a flowchart of a processing procedure at the time of OS failure recovery according to the embodiment of the present invention.
FIG. 6 is an explanatory diagram showing an operation outline of the present invention.
[Explanation of symbols]
DESCRIPTION OF SYMBOLS 11 ... Hardware, 12 ... CPU, 13 ... Main memory, 14 ... SCSI adapter, 15-18 ... HDD, 19 ... LAN adapter, 20 ... LAN line, 21-23 ... Terminal device, 24 ... Software, 25 ... Multi OS Control unit, 26 first OS, 27 second OS, 28 business AP (1), 29 business AP (3), 30 business AP (2), 31 business AP (4), 32 ... VGA, 33 ... Database processing, mail processing, etc. 34 ... Printer processing, etc. 41 ... Survival information confirmation area, 42 ... OS failure detection start time, 43 ... OS failure detection time, 44 ... OS failure information, 45 ... Application program Control information, 46... OS recovery method.

Claims (3)

ユーザ要求の処理を行い、他のOSに障害が発生した場合には、該他のOSの処理を引き継ぐ第1のOSと、
ユーザ要求の処理を行い、他のOSに障害が発生した場合には、該他のOSの処理を引き継ぐ第2のOSと、
計算機資源を各OSに振り分け、各OSにOS障害検出命令を発行し、障害が発生したときには、アプリケーションプログラムを正常動作中のOSに引き渡し、該障害が回復したときには、該アプリケーションプログラムを元のOSに戻すように制御するマルチOS制御手段と、
該第1のOSおよび該第2のOSにより生存を確認するための情報が書き込まれ、かつ該第1および第2のOSにより書き込まれた該生存を確認するための情報が読み込まれる共通ディスク領域を備えた記憶手段とを有することを特徴とするマルチOS環境の計算機システム。
A first OS that takes over the processing of the other OS when a user request is processed and a failure occurs in the other OS;
A second OS taking over the processing of the user request and taking over the processing of the other OS when a failure occurs in the other OS;
The computer resources are distributed to each OS, an OS failure detection instruction is issued to each OS, and when a failure occurs, the application program is delivered to a normally operating OS. When the failure is recovered, the application program is restored to the original OS. Multi-OS control means for controlling to return to
A common disk area in which information for confirming existence is written by the first OS and the second OS, and information for confirming existence written by the first and second OSs is read. A computer system in a multi-OS environment, comprising: storage means provided with:
請求項1記載のマルチOS環境の計算機システムにおいて、前記他のOSの処理を引き継ぐためのOSが3つ以上存在し、かつ、アプリケーションプログラムの負荷を各OSに分散させるように予め設定しておくことを特徴とするマルチOS環境の計算機システム。2. The computer system in a multi-OS environment according to claim 1, wherein three or more OSs for taking over the processing of the other OS exist, and the load of the application program is set in advance to be distributed to each OS. A computer system in a multi-OS environment. マルチOS環境の計算機を、第1のOSおよび第2のOSが共通ディスク領域へ生存を確認するための情報の書き込みおよび読み込み手段と、マルチOS制御部が一方のOS障害が発生したOS上で動作中のアプリケーションプログラムを正常動作中のOS上で動作させ、OSの障害が復旧したとき、該アプリケーションプログラムを元のOS上で動作させるように制御する手段として機能させるためのプログラム。A computer in a multi-OS environment is provided with a means for writing and reading information for the first OS and the second OS to confirm survival in the common disk area, and a multi-OS control unit on one OS in which an OS failure has occurred. A program for operating an operating application program on a normally operating OS and, when the OS failure is recovered, a function for controlling the application program to operate on the original OS.
JP2002202101A 2002-07-11 2002-07-11 Multi-os environmental computer system and program Pending JP2004046474A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002202101A JP2004046474A (en) 2002-07-11 2002-07-11 Multi-os environmental computer system and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002202101A JP2004046474A (en) 2002-07-11 2002-07-11 Multi-os environmental computer system and program

Publications (1)

Publication Number Publication Date
JP2004046474A true JP2004046474A (en) 2004-02-12

Family

ID=31708383

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002202101A Pending JP2004046474A (en) 2002-07-11 2002-07-11 Multi-os environmental computer system and program

Country Status (1)

Country Link
JP (1) JP2004046474A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009116699A (en) * 2007-11-07 2009-05-28 Toyota Motor Corp Information processing system
US11853175B2 (en) 2022-01-17 2023-12-26 Hitachi, Ltd. Cluster system and restoration method that performs failover control

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009116699A (en) * 2007-11-07 2009-05-28 Toyota Motor Corp Information processing system
US11853175B2 (en) 2022-01-17 2023-12-26 Hitachi, Ltd. Cluster system and restoration method that performs failover control

Similar Documents

Publication Publication Date Title
US7716520B2 (en) Multi-CPU computer and method of restarting system
JP4001877B2 (en) Automatic recovery from hardware errors in the I / O fabric
US8132057B2 (en) Automated transition to a recovery kernel via firmware-assisted-dump flows providing automated operating system diagnosis and repair
JP3954088B2 (en) Mechanism for safely executing system firmware update on logically partitioned (LPAR) computers
US7062676B2 (en) Method and system for installing program in multiple system
US7802128B2 (en) Method to avoid continuous application failovers in a cluster
US8135985B2 (en) High availability support for virtual machines
US8219851B2 (en) System RAS protection for UMA style memory
US20100228960A1 (en) Virtual memory over baseboard management controller
US8245077B2 (en) Failover method and computer system
JP2011060055A (en) Virtual computer system, recovery processing method and of virtual machine, and program therefor
US20090300414A1 (en) Method and computer system for making a computer have high availability
JP2004318885A (en) Method, medium and system for replacing fault processor
JP5392594B2 (en) Virtual machine redundancy system, computer system, virtual machine redundancy method, and program
EP2518627B1 (en) Partial fault processing method in computer system
JP2003323306A (en) Method, computer program, and data processing system for handling errors or events in a logical partition data processing system
JP2004252591A (en) Computer system, i/o device and virtual sharing method of i/o device
JP2007219757A (en) Program for making virtual computer system function
JP2008052407A (en) Cluster system
JP2007133544A (en) Failure information analysis method and its implementation device
JP4182948B2 (en) Fault tolerant computer system and interrupt control method therefor
US20030065861A1 (en) Dual system masters
US9342451B2 (en) Processor management method
US20140025903A1 (en) Multi-core processor system
JP6124644B2 (en) Information processing apparatus and information processing system