JP4349837B2 - 情報処理システム - Google Patents

情報処理システム Download PDF

Info

Publication number
JP4349837B2
JP4349837B2 JP2003119808A JP2003119808A JP4349837B2 JP 4349837 B2 JP4349837 B2 JP 4349837B2 JP 2003119808 A JP2003119808 A JP 2003119808A JP 2003119808 A JP2003119808 A JP 2003119808A JP 4349837 B2 JP4349837 B2 JP 4349837B2
Authority
JP
Japan
Prior art keywords
information
boot
disk device
variable
processing system
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.)
Expired - Fee Related
Application number
JP2003119808A
Other languages
English (en)
Other versions
JP2004326409A (ja
Inventor
幸雄 小熊
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2003119808A priority Critical patent/JP4349837B2/ja
Priority to US10/786,054 priority patent/US7434042B2/en
Publication of JP2004326409A publication Critical patent/JP2004326409A/ja
Application granted granted Critical
Publication of JP4349837B2 publication Critical patent/JP4349837B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • G06F9/4408Boot device selection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2284Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing by power-on test, e.g. power-on self test [POST]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、オペレーティングシステムを格納したブート対象装置を多重化して備えた情報処理システムに関し、特に、ブート対象装置の多重化のためのシステムソフトウエアと連携することにより、主系のブート対象装置で起動できなかった場合に、強制的に従系のブート対象装置に切り換えて、次回のブート処理で従系のブート対象装置から起動できる情報処理システムに関する。
【0002】
【従来の技術】
一般に、コンピュータなどの情報処理システムにおいては、起動信号の発生に応答してハードディスクなどのブート対象装置からオペレーティングシステムを起動するように構成されている。このような構成の場合、ブート対象デバイスが壊れたときには、オペレーティングシステムを起動できなくなる。特に、このような障害が、コンピュータで発生すると、特に、このコンピュータがネットワーク上で他のコンピュータに接続されているような場合には、他のコンピュータに対する全てのサービスが停止されてしまうという問題が発生する。
【0003】
一方、最近では、情報処理システムの耐障害性を高める一つの技術として、複数のハードディスクを、RAID(Redundant Arrays of Inexpensive Disks)構成にして冗長化することが行われている。しかし、このRAID構成は、ミラーリングやストライピングによって、読み出しデータの信頼性を高める技術であり、システム起動に関わる動作の信頼性を高めるものではない。
【0004】
そこで、ブート対象の装置であるディスク装置を多重化、例えば、2重化した情報処理システムにおいて、いずれかのディスク装置が破壊されたことを検出したとき、スイッチ操作によって、システムに備えられた複数のディスク装置の中から、ブート対象ディスク装置を切り換えるようにして、コンピュータのシステム起動が行われる情報処理システムが開発されている。しかし、この情報処理システムでは、その切り換えのためのスイッチ操作は、管理者などによる手動操作で行われるものであり、しかも、システム起動が、正常に行われたか、失敗したかの判断についても人手によって行われていた。
【0005】
このような情報処理システムでは、ディスク装置が破壊された場合に、再度システムを立ち上げるのに、時間を費やし、システム運用に支障をきたすことになるので、2重化されてディスクの一方が破壊されても、他方のディスクに自動的に切り換えることが行われている。そこで、システム起動に関わる動作の信頼性を十分に高めた情報処理システムが提案されている。
【0006】
この情報処理システムにおいては、図6の構成概念図に示されるように、制御装置1に、OSを格納したディスク装置D1及びD2が2重化して備えられ、制御装置1は、CPUを有する制御部2、不揮発性メモリ3、メインメモリ4を含んでいる。さらに、制御部2には、キーボード、モニタ装置などの周辺装置5が接続される。
【0007】
このような情報処理システムにおける2重化されたディスク装置に対する切り換えの仕方の一例として、情報処理システムのOSを備えた制御部が、ディスク装置のいずれかが破壊されたことを検出したとき、システムに備えられた不揮発性メモリに、イニシャル・マイクロプログラム・ロード(IMPL)ディスク情報と、イニシャル・プログラム・ロード(IPL)ディスク装置情報とを自動的に格納するようにしたものがある(例えば、特許文献1を参照)。この例では、不揮発性メモリにIMPLディスク情報とIPLディスク装置情報が自動的に格納されるので、制御部は、次に格納すべきディスク装置情報を知ることができ、自動的に他の正常なディスク装置に切り換えることができる。
【0008】
また、他の例として、個々にOSを格納し2重化されたディスク装置において、該ディスク装置に障害が発生したときに、ディスク装置の障害発生から復旧までの時間を短くしようとした情報処理システムがある(例えば、特許文献2を参照)。この例による情報処理システムでは、一方のディスク装置が破壊された場合、システムを一旦終了させ、再立ち上げ前に、他方の破壊されていないディスク装置がマスタとなり、破壊された方のディスク装置がスレーブとなるように、切り換え制御がされ、システム登録がなされる。これにより、システムが再立ち上げされたとき、マスタである破壊されていない方のディスク装置のIPLにより、OSが起動され、そして、システムが立ち上がるというものである。
【0009】
さらに、別の例として、OSを個々に格納し2重化されたディスク装置を有し、OSを起動する手段と、該OSの起動完了を検出する手段とを有し、該OSを起動するための起動信号が発生されてからの経過時間を計時し、該起動信号が発生されてから所定の経過時間内に、該OSの起動完了が検出されたか否かに基づいて、OSの起動対象となるブート対象ディスク装置の切り換えを制御するようにした情報処理システムがある(例えば、特許文献3を参照)
この情報処理システムにおいては、OSの起動完了を自動検出でき、起動信号が発生されてからの所定の経過時間内にOSの起動完了が検出されたか否かに基づいて、OSの起動対象となるブート対象ディスク装置の切り換えが自動的に制御されるため、人手を介在せずとも、OSを正常に起動できたか否かの判断、および別のブートディスク装置からのOSの再起動を全て自動的に行うことが可能となる。
【0010】
一方、これらのような情報処理システムにおける2重化されたブート対象のディスク装置の夫々には、ディスク装置を起動するための種々のプログラムが格納されている。個々のディスク装置において、例えば、ディスクの先頭から、ブート・ブロック・プログラム、OSローダ、OS、システムソフトウエアが、格納され、それ以後に、データが格納されている。
【0011】
情報処理システムの立ち上げ時においては、システム内の不揮発性メモリに格納されていたブートファームウエアがメインメモリに展開され、このブートファームウエアの動作により、ブート対象のディスク装置が選択され、当該ディスク装置に格納されているブート・ブロック・プログラムを読み出し、メインメモリに展開する。このブート・ブロック・プログラムが、ブート対象ディスク装置に格納されたOSローダをメインメモリに展開する。次いで、OSローダがOSをメインメモリに読み出すと、OSが、ブート対象ディスク装置に格納されているシステムソフトウエアをメインメモリに展開させる。このシステムソフトウエアが2重化されたディスク装置の主系と従系のどちらで立ち上がっているかをチェックし、2重化の制御を実行する。このシステムソフトウエアの起動により、OSの通常運用時において、2重化されたディスク装置に対する以降の切り換え処理が実施される。
【0012】
【特許文献1】
特開平3−229331号公報
【特許文献2】
特開2000−81978号公報
【特許文献3】
特開2002−259130号公報
【0013】
【発明が解決しようとする課題】
従来の情報処理システムにおいては、システム構成装置を2重化することにより、運用時にシステム構成装置にアクセスするときに発生するハードエラーに対して冗長性をもたせて、信頼性を高めている。システム構成装置であるブート対象ディスク装置に格納されたシステムソフトウエアの処理によって冗長性を実現している。そのため、システムの立ち上げ処理において、一度、システムソフトウエアの起動まで処理が進んだ後は、以降の処理では、2重化しているシステムディスク装置へのアクセスにおいてエラーが発生しても、エラーの発生していない方のデータを用いて継続運用が可能となっている。
【0014】
また、2重化されたうちの主系のシステムディスク装置でエラーが多発した場合には、主系のディスク装置を切り離し、その後は、従系のシステムディスク装置からシステムをブートすることも可能である。しかし、システムの立ち上げ処理においては、ブート可能なディスク装置を2重化しても、その切り換えは、主系のディスク装置の異常を検出した場合をトリガにしている。そのため、主系のディスク装置に格納されたシステムソフトウエアの起動が進む前に、主系のシステムディスク装置で異常が発生した場合には、2重化の制御を行うシステムソフトウエアを動作させることができない。従って、システムディスク装置が二重化されていても、主系のシステムディスク装置に異常が発生すると、従系のシステムディスク装置に切り換えることができないため、システムを立ち上げることができないという問題が発生していた。
【0015】
そこで、本発明は、システムソフトウエアが起動後の装置異常の検出によるブート対象装置の切り換え処理という従来の機能に加えて、システムソフトウエアの起動前に装置異常が発生した場合にも、ブート対象装置を切り換えることができる機能を持たせた情報処理システムを提供し、更に、装置の異常検出とは、無関係に、ブート処理ごとに、強制的にブート対象装置を切り換える機能と、システムソフトウエアが起動時に強制的に切り換えられたブート対象装置を元に戻す処理を行う機能を有する情報処理システムを提供することを目的とする。
【0016】
【課題を解決するための手段】
伊所の課題を解決するため、本発明では、オペレーションシステムを格納する多重化された複数のディスク装置と、前記複数のディスク装置のいずれかから選択したブート対象ディスク装置から読み出したオペレーションシステムを起動してシステムを立ち上げる制御手段とを備えた情報処理システムにおいて、前記制御手段は、前記複数のディスク装置からブート対象ディスク装置を設定する環境情報として、ブート対象ディスク装置の候補となるディスク装置を示す装置設定情報が設定された第1変数情報と、前記第1変数情報に設定された装置設定情報のいずれかを示すインデックス情報が設定された第2変数情報とを格納する第1の格納手段を備え前記制御手段が、前記インデックス情報が示す装置設定情報に対応するディスク装置を、ブート対象ディスク装置として選択して、選択したブート対象ディスク装置をアクセスし、前記第2変数情報に、選択したブート対象ディスク装置以外のディスク装置に対応する装置設定情報を示すインデックス情報を設定して更新し、前記選択したブート対象ディスク装置が正常に動作しない場合、更新したインデックス情報が示す装置設定情報に対応するディスク装置を選択して、新たなブート対象ディスク装置としてブート対象ディスク装置を切り換え、切り換えられた新たなブート対象ディスク装置をアクセスすることとした。
【0017】
そして、前記第1変数情報には、複数のディスク装置に対応した複数の装置設定情報が設定され、前記インデックス情報には、前記第1変数情報内の装置設定情報の順番を示す値が設定され、前記制御手段は、ブート対象ディスク装置の選択時、前記インデックス情報が示す順番に対応する装置設定情報が示すディスク装置をブート対象ディスク装置として選択することとした。
【0018】
さらに、前記制御手段は、前記インデックス情報を更新する場合、前記第2変数情報に設定された値をインクリメントすることとし、ブート処理が正常に行われた場合、前記インデックス情報を初期値に更新することとした。
【0019】
さらに、前記制御手段は、ブート処理が正常に行われた場合、前記インデックス情報を、最後にブートが成功したディスク装置に対応する装置設定情報を示す値に設定することとした。
【0020】
また、前記制御手段はさらに、アクセスした前記ブート対象ディスク装置からオペレーションシステムを読み出し、読み出したオペレーションシステムを第2の格納手段に格納し、前記第2の格納手段に格納したオペレーションシステムを起動することとした。
【0021】
さらに、前記第1の格納手段は、ブート対象ディスク装置の切り換えが有効又は無効かを示す第3変数情報をさらに格納し、前記第1変数情報には、複数のディスク装置に対応する装置設定情報が順番に設定されており、前記制御手段は、前記第3変数情報に切り換えの有効が設定されている場合、前記第2変数情報に設定されたインデックス情報が指定するディスク装置にアクセスし、前記第3変数情報に切り換えの無効が設定されている場合、前記第1変数情報において最初に設定された装置設定情報に対応するディスク装置にアクセスすることとした。
【0022】
前記制御手段は、システムの電源投入時に前記インデックス情報をクリアし、前記第1変数情報における設定順番が最初の装置設定情報にインデックス情報を該第2変数情報に設定することとし、さらには、前記第3変数情報に切り換えの有効が設定されており、且つ前記第2変数情報に設定されたインデックス情報が、前記第1変数情報における設定順番が最初の装置設定情報を示していない場合に、前記第1変数情報における設定順番が最初の装置設定情報に対応するディスク装置に異常が発生していることを示すメッセージを出力することとした。
【0023】
【発明の実施の形態】
以下において、本発明による情報処理システムの実施形態について、図を参照しながら説明する。しかし、本実施形態の情報処理システムを説明する前に、本実施形態における特徴と効果を明確なものとするために、本実施形態の情報処理システムの基礎となる従来技術による情報処理システムについて説明する。
【0024】
図7に、ブート・ブロック・プログラムとシステムソフトウエアとが独立にブート対象ディスク装置を切り換える従来技術による情報処理システムを示した。なお、同図は、情報処理システムの立ち上げに関連する部分を中心にして、その概略を示している。同図中において、図6に示した情報処理システムと同じ部分には、同じ符号が付されている。
【0025】
図7の情報処理システムでは、制御装置1に2重化されたディスク装置D1とD2が接続されている。このディスク装置D1とD2の夫々には、ディスクの先頭から、順に、ブート・ブロック・プログラム、OSローダ、OS、システムソフトウエアが格納されている。各ディスク装置には、図示していないが、これらに続いて、データが格納されている。
【0026】
制御装置1には、不揮発性メモリNMとメインメモリMとが備えられているが、図では、システム立ち上げ時に関連する部分が代表的に示されている。不揮発性メモリNMには、自己診断ファームウエアNM1、ブートファームウエア環境変数NM2が格納されている。図示していないが、この他にも、ブートファームウエアのバイナリデータが格納されている。ブートファームウエア環境変数NM2には、ブートファームウエアの環境情報が格納されており、図では、ディスク装置D1とD2とで2重化されているので、その環境変数として、「boot-device=disk0, disk1」が格納されている。この環境変数において、「disk0」は、ディスク装置D1に、そして、「disk1」は、ディスク装置D2に対応付けられ、ブート対象が、ディスク装置D1とD2であり、立ち上げ時には、ディスク装置D1から起動処理が行われることを表している。
【0027】
また、メインメモリMには、システム立ち上げ前においては、何も格納されていないが、図においては、システム立ち上げ時にブート対象ディスク装置から読み込まれたソフトウエアの展開状況が示されている。ブートファームウエアM1は、不揮発性メモリNMに格納されていたブートファームウエアのデータを読み込んだものであり、ブート・ブロック・プログラム、OSローダM3、OSM4、システムソフトウエアM5は、ブート対象ディスク装置に格納されていたものが、システム立ち上げ時にメインメモリM内に読み込まれたものである。
【0028】
そこで、図7に示された情報処理システムにおいて、ブートファームウエアM1とシステムソフトウエアM5とが独立にブート対象ディスク装置を切り換える動作の概要を、次に示す。
【0029】
先ず、電源投入されて、システムの立ち上げ処理が開始されると、自己診断ファームウエアNM1が起動され、システムチェックが実行される。そして、不揮発性メモリNMに格納されているブートファームウエアのデータをメインメモリMに読み込み、ブートファームウエアM1とする。ブートファームウエア環境変数NM2に用意されているブート制御用の環境変数は、「boot-device=disk0, disk1」であるので、ブートファームウエアM1は、この環境変数に設定されたディスク装置を順番にアクセスし、最初に正常にアクセスできた装置をブート対象装置に決定する。ここで、ブート対象装置を決定すると、以降は、ブートファームウエアM1は、積極的にブート対象ディスク装置を変更することはしない。
【0030】
次いで、ブートファームウエアM1は、上で選択したブート対象ディスク装置にアクセスし、その先頭のブロックに書き込まれているブート・ブロック・プログラムをメインメモリに読み込み、ブート・ブロック・プログラムM2を展開する。ブートファームウエアM1は、読み込んだブート・ブロック・プログラムM2に制御を移す。
【0031】
ブート・ブロック・プログラムM2が起動すると、ブート・ブロック・プログラムM2は、自身が格納されていたディスク装置、図示の例では、ディスク装置D1内に格納されているOSローダをメインメモリに読み込み、OSローダM3に制御を移す。
【0032】
そこで、OSローダM3が起動すると、OSローダM3は、自身が格納されていたディスク装置D1に格納されているOSをメインメモリに読み込み、OSM4に制御を渡す。
【0033】
さらに、OSM4が起動すると、OSM4は、自身が格納されていたディスク装置D1に格納されているシステムソフトウエアをメインメモリM内に読み込み、システムソフトウエアM5を展開し、システムソフトウエアM5を起動する。ここで、システムソフトウエアM5が正常に起動した場合には、そのまま運用動作に移る。
【0034】
以上のように、図7に示された情報処理システムでは、ブートファームウエアM1とシステムソフトウエアM5とが独立にブート対象ディスク装置を切り換える動作を行っている。
【0035】
システムソフトウエアM5が正常に運用動作に移行できた場合には、システムソフトウエアM5が切り換え制御を実行できるため、ブート対象ディスク装置D1の異常を検出すると、ディスク装置D1を切り離すことができる。その場合には、次のリブートで、ブート対象ディスク装置D1を切り換えるため、システムソフトウエアM5が不揮発性メモリNMにあるブートファームウエア環境変数NM2の環境情報を書き換える。
【0036】
しかしながら、この様にブートファームウエアM1とシステムソフトウエアM5が独立して処理を進めているため、ブートファームウエアM1が、ブートファームウエアの環境情報に従って、ブート対象ディスク装置を選択した以後であって、システムソフトウエアM5に制御が移行する前の処理中に、何らかの異常が発生して、処理を継続できなかった場合には、システムソフトウエアM5が未だ起動していないので、ブートファームウエア環境変数NM2の環境情報を書き換えることができない。そのため、次のリブートでも、ブート対象ディスク装置を異常のない他のディスク装置に変更できないことになり、その結果、システムを立ち上げることができない。
【0037】
この様に、従来技術による情報処理システムでは、システムソフトウエアM5の起動による制御が行われる以前の処理中に何らかの異常が発生したとき、ブート対象ディスク装置を冗長化しているにも関わらず、システムが立ち上がらないという問題があった。
【0038】
更に、従来技術の情報処理システムでは、ディスク装置の異常を検出したモジュールが、個々にブートファームウエア環境変数の環境情報「boot-device」を書き換える処理によって、ブート対象のディスク装置を切り換えようとすると、ブート・ブロック・プログラム、OSローダ、OSの初期化処理のすべてにわたって、ブート対象のディスク装置の冗長構成を意識した変更が必要になるが、一般的に、ブート・ブロック・プログラム、OSローダ、OSの初期化部は、特定の冗長構成システムを意識した変更を適用することが困難であるという問題があった。
【0039】
そこで、本実施形態の情報処理システムでは、従来の情報処理システムに備えられた切り換え機構による以下の2つの要件をそのまま継承できるようにする。つまり、一つの要件は、ブートファームウエアは、環境情報「boot-device」に設定されたディスク装置を順番にアクセスし、最初に正常にアクセスできたディスク装置をブート対象ディスク装置に決定することであり、二つ目の要件は、システムソフトウエアが正常に運用動作に移行できた場合には、該システムソフトウエアが切り換え制御でき、ディスク装置の異常を検出すると、ブート対象ディスク装置を切り離すことができることである。
【0040】
以上の様な要求を満たす情報処理システムとするため、本実施形態では、不揮発性メモリ内にあるブートファームウエア環境変数に格納される環境情報として、ブート対象となるデバイス情報を設定できる第1変数「「boot-device」、ブート対象の順番情報を示す第2変数「boot-device-index」、そして、ディスク装置を順番にアクセスして、最初に正常にアクセスできたディスク装置をブート対象とする決定機能が有効であるかどうかを示す第3変数「boot-device-index-available」を用意した。
【0041】
第1変数「「boot-device」は、冗長化されたディスク装置が、例えば、3つある場合には、「boot-device=disk0, disk1, disk5」のように設定される。また、第2変数「boot-device-index」については、例えば、第1変数が上記のようであれば、「disk0」のインデックス番号は、初期値0であり、「disk1」のインデックス番号は、1であり、「disk5」のインデックス番号は、2となり、次回のブートで、ブート対象とするディスク装置を指定する。第3変数「boot-device-index-available」は、「true」と「false」の値を有しており、この値が選択されて、上述の2重化による切換機能が有効のときには、「true」が設定され、否のときには、「false」が設定される。
【0042】
以上のような3つの環境情報からなるブートファームウエア環境変数が不揮発性メモリに用意された本実施形態の情報処理システムの構成を図1に示した。図1では、図7に示した従来技術による情報処理システムの構成と同様の部分には、同じ符号が付されている。なお、図1においても、図7と同様に、情報処理システムの構成の中で、システム立ち上げに関連する構成を中心に示してある。
【0043】
図1の情報処理システムが、図7の情報処理システムと大きく異なることは、不揮発性メモリNMに格納されているブートファームウエア環境変数に用意されている内容である。図7の従来技術による情報処理システムに用意されているブートファームウエア環境変数NM2は、環境情報として、「boot-device」だけであったが、図1の本実施形態の情報処理システムでは、ブートファームウエア環境変数NM21に、環境情報として、第1変数「「boot-device」、第2変数「boot-device-index」、そして、第3変数「boot-device-index-available」が用意されていることである。
【0044】
そこで、図1に示された本実施形態の情報処理システムは、ブートファームウエアとシステムソフトウエアによりブート対象ディスク装置を切り換える場合の概略構成を示し、2重化されたデバイスであるディスク装置を切り換える場合を例にしている。図2の処理手順のフロー図を参照しながら、その切り換え処理を以下に説明する。
【0045】
先ず、システムが、電源投入され、或いは、リブートリセットされたとき(ステップS101)、システムは、不揮発性メモリNM、例えば、フラッシュメモリ内に格納された、自身のハードウエア診断を実行するための自己診断ファームウエア(POST)NM1を起動させ、電源投入直後やリブートリセット直後にシステムが正常に立ち上がることを保証するために、ハードウエアの自己診断を実施する(ステップS102)。
【0046】
自己診断ファームウエアNM1は、メインメモリMを含めたシステムの診断を実行するため、通常は、フラッシュメモリ上のコードでそのまま動作する。ただし、メインメモリMの診断後は、メインメモリMにコードを展開して、メインメモリ上で動作する場合もある。また、CPUのキャッシュメモリの診断後に、キャッシュメモリに実行コードを展開して動作する場合もある。自己診断ファームウエアNM1は、ハードウエアを診断した結果として、ハードウエアの構成情報を作成し、その情報を、後述のブートファームウエアM1に引き渡す。
【0047】
自己診断ファームウエアNM1による診断が終了するとブートファームウエアM1に制御を移す(ステップS103)。ブートファームウエアM1のコードは、通常、不揮発性メモリNM、例えば、フラッシュメモリなどに格納され、メインメモリMに実行コードが展開され、メインメモリM上で動作する。また、そのコードが、フラッシュメモリに格納されてなく、自己診断ファームウエアNM1により、外部からメインメモリMにダウンロードされる場合もある。
【0048】
ブートファームウエアM1は、自己診断ファームウエアNM1により作成されたハードウエア構成情報に基づいて、ブート対象プログラムであるブート・ブロック・プログラム、OSローダ、OSがブート処理を行えるように、ディスクドライバ、コンソールドライバなどブートドライバを初期化する(ステップS103)。また、ブートファームウエアM1は、ブート対象プログラムが動作されるように、メモリ環境などの環境を構築する。
【0049】
次いで、ブートファームウエアM1は、初期化処理の一環で、リセット要因をチェックし、リセット要因が、電源投入であった場合には、不揮発性メモリNMのブートファームウエア環境変数NM21に保存されている第2変数「boot-device-index」を0クリアする。リセット要因が、電源投入でないリブートである場合には、第2変数の値は、変更されない。
【0050】
ブート処理に進めるまで処理が進むと、ブートファームウエアM1は、ブートファームウエア環境変数NM21に保存されている3つの変数、第1変数「boot-device」、第2変数「boot-device-index」、第3変数「boot-device-index-available 」の値に応じて、ブート対象ディスク装置を選択する(ステップS104)。
【0051】
ブートファームウエアM1は、選択したブート対象ディスク装置にアクセスして、ディスクの構成情報を読み込み、正常にディスクが動作することを確認する。選択したディスクが正常に動作できない場合には、ブート対象ディスク装置を次の候補のものに変更する。その際、第2変数「boot-device-index」の値を更新する。また、選択したブート対象ディスク装置が、正常に動作できた場合も、システムソフトウエアM5が正常に起動できずに、再度のブート処理されるときに備えるものとして、強制的に次の候補に切り換えるために、第2変数「boot-device-index」の値を更新する。
【0052】
なお、ブートファームウエア環境変数NM21に保存されている3つの変数「boot-device」、「boot-device-index」、「boot-device-index-available」の値から対象ディスクを選択する際に、選択できる対象ディスク装置がなかった場合、或いは、対象ディスク装置を次の候補のものに変更しようとしたときに、選択できる対象ディスク装置がなかった場合には、エラーメッセージを通知して、処理を停止する。
【0053】
ブートファームウエアM1は、ブート対象として選択されたのがディスク装置D1である場合には、該ディスク装置D1における先頭のブロックに書き込まれているブート・ブロック・プログラムをメインメモリMに読み込み、読み込んだブート・ブロック・プログラムM2に制御を移す(ステップS105)。
【0054】
ブート・ブロック・プログラムM2が起動すると、ブート・ブロック・プログラムM2は、自身が格納されていたディスク装置D1内に格納されているOSローダをメインメモリMに読み込み、OSローダM3に制御を移す(ステップS106)。
【0055】
OSローダM3が起動すると、OSローダM3は、自身が格納されていたディスク装置D1に格納されているOSをメインメモリMに読み込み、OSM4に制御が渡される(ステップS107)。
【0056】
そこで、OSM4の初期化処理が実施され、OSM4が起動すると(ステップS108)、OSM4は、自身が格納されていたディスク装置D1に格納されているシステムソフトウエアをメインメモリMに読み込み、システムソフトウエアM5を起動する(ステップS109)。
【0057】
そして、システムソフトウエアM5が正常に起動した場合には、システムソフトウエアM5が、ブートファームウエア環境変数NM21に記録された第2変数「boot-disk-unit-index」を0クリアする。この処理により、次回のリブート処理でも、再度同じディスク装置D1から上述のブート処理が実行される。主系又は従系のどちらのディスク装置で立ち上がったかをチェックし、従系のディスク装置で立ち上がったと認識した場合には、エラーメッセージを通知するようにする(ステップS110)。以降のディスク装置の切り換え処理は、システムソフトウエアM5によって実施される(ステップS111)。
【0058】
ここで、システムソフトウエアM5が正常に起動できなかった場合には、ブートファームウエア環境変数NM21に記録された第2変数「boot-device-index」は、上述のステップS104における処理により、更新されたままの状態であるため、次回のリブート時には、強制的に、次の候補のディスク装置がブート対象装置となる。また、ステップS104における処理で選択されたディスク装置に異常が検出され、その分余分に第2変数「boot-device-index」を更新済みであるため、次回のリブート時には、強制的に、次の候補のディスク装置がブート対象となる。
【0059】
なお、ステップS4において、ブート対象ディスク装置のオープン処理で、該ディスク装置の異常を検出した場合には、上述したように、従来技術の情報処理システムと同様に、異常が検出された当該ディスク装置を切り離し処理が行われる。
【0060】
そして、システムソフトウエアM5の初期化処理に到達する以前のステップS105乃至S109の処理期間中に、ディスク装置に異常などが発生し、パニック状態にあるとき、従来技術の情報処理システムでは、システムソフトウエアM5が起動することがないため、ディスク装置の切り換え処理が実行されなかった。しかし、本実施形態の情報処理システムでは、システムソフトウエアM5が正常に起動できていないことを認識でき、強制的にディスク装置を切り換えることができる。2重化されたうちの主系のシステムディスク装置で異常が発生した場合、2重化の制御を行うシステムソフトウエアが動作していないため、従系のシステムディスク装置に切り替えることができずにシステムを立ち上げることができないという問題を回避できる。
【0061】
このように、図1に示された情報処理システムにおいて、2重化されたディスク装置に対して、ブートファームウエアとシステムソフトウエアによりブート対象ディスク装置を切り換える処理手順が説明された。次いで、図3及び図4を参照して、図1の本実施形態の情報処理システムにおけるブートファームウエアM5の詳細構成と、ブートファームウエアM5によるブート対象ディスク装置の切り換え処理の手順を、以下に説明する。
【0062】
図3は、図1に示された本実施形態の情報処理システムの制御装置1内に備えられた不揮発性メモリNMの格納状況と、メインメモリM内に読み込まれたブートファームウエアM1の構成の具体例を示している。図3において、図1と同様の部分には、同じ符号が付されている。
【0063】
制御装置1内に備えられた不揮発性メモリNMには、自己診断ファームウエア(POST)NM1、ブートファーストウエアの圧縮データNM3、ハードウエア構成情報NM4が格納されているが、これらは、従来技術の情報処理システムの不揮発性メモリNMにおいても、用意されているものである。従来のものにおける不揮発性メモリNMに格納されていたブートファームウエア環境変数NM2の変わりに、図3のブートファームウエア環境変数NM21には、環境情報として、第1変数「boot-device」、第2変数「boot-device-index」、第3変数「boot-device-index-available 」が用意されている。
【0064】
一方、ブートファームウエアM1は、従来技術によるブートファームウエアM1の構成と同様であり、初期化処理部M11、トラップ処理部M12、メモリ処理部M13、モニタ処理部M14、各種ライブラリ部M15、クライアントサービス処理部M16、ブート処理部M17、そしてドライバ処理部M18のモジュールから構成される。これらのモジュール構成を有するブートファームウエアM1は、システムの自己診断完了後において、ブートファームウエアのデータNM3からメインメモリM内に読み込まれ、圧縮されて保存されていたものを伸張されて展開される。ブートファームウエアM1は、メインメモリM上で動作する。これらの各部は、次のようである。
【0065】
初期化処理部M11は、ブートファームウエアM1の各モジュールの初期化を行う。不揮発性メモリNMのブートファームウエア環境変数NM21に格納された環境情報において、初期化の必要なものは、ここで初期化される。
【0066】
トラップ処理部M12は、ブートファームウエアM1の動作環境で発生するトラップの処理を実行する。トラップ処理のなかには、ハードウエアの障害が原因で発生するものもあれば、メモリ管理ユニット(MMU)におけるミス処理のように、通常処理の一部として発生するものもある。また、OSのブート処理の過程で、メインメモリM上に展開されて動作するブート・ブロック・プログラムM2、OSローダM3は、トラップベクタがブートファームウエアM1の環境で動作するため、それらの動作時に発生するトラップの処理も、トラップ処理部M12が行う。また、メインメモリMに展開されたOSM4についても、初期のトラップベクタ変更前までのトラップ処理は、トラップ処理部M12によって行われる。
【0067】
メモリ管理部M13は、不揮発性メモリNMのハードウエア構成情報NM4で通知された物理メモリの構成から論理アドレスの割り当てを行う。また、MMUのミス処理に伴う動的なメモリの割り当てを行う。また、物理メモリ、論理メモリの動的な獲得/解放処理を行う。
【0068】
モニタ処理部M14は、ブートファームウエアM1のマン・マシン・インタフェースであるコマンド入力画面をサポートし、各種ライブラリ部M15は、いろいろなサポートモジュールである。
【0069】
クライアントサービス処理部M16は、メインメモリM上に展開されたブート・ブロック・プログラムM2や、OSローダM3や、OSM4などのクライアント・プログラムに対する動的なメモリ空間の割り当てや、ディスク装置へのアクセスなどのサービスを提供するインタフェースの役割を有している。各クライアント・プログラムは、クライアントサービス処理部M16を通して、ブートファームウエアM1の有する機能を利用することができる。この機能を利用して、ブート対象ディスク装置に格納されているブート・ブロック・プログラム、OSローダ、OSを読み出し、ブート処理が可能になる。
【0070】
ブート処理部M17は、ブート処理をサポートするモジュールである。不揮発性メモリNMのブートファームウエア環境変数NM21に格納された環境情報の値に応じて、ブート対象ディスク装置を決定し、ブート対象ディスク装置の先頭ブロックに格納されているブート・ブロック・プログラムをメインメモリMに展開し、制御を渡す機能を持つ。本実施形態の特徴であるステップS104の処理を行うモジュールである。
【0071】
ドライバ処理部M18は、ブートファームウエアM1がサポートするI/Oを制御するものである。これには、ディスクドライバやSCSIドライバ、コンソールドライバなどが含まれる。
【0072】
以上のような各種モジュールからなるブートファームウエアM1がメインメモリM上での動作について、図4の処理フローを参照して説明する。
【0073】
先ず、システムは、電源投入直後又はリブートリセット直後は(ステップS201)、不揮発性メモリであるフラッシュメモリに書き込まれた自己診断ファームウエア(POST)を起動する(ステップS202)。
【0074】
自己診断ファームウエアNM1は、システムが正常に立ち上がることを保証するためのハードウエア診断を実行する。そして、診断の結果として、ハードウエアの構成情報を作成し(ステップS203)、不揮発性メモリNMのハードウエア構成情報NM4に記録する(ステップS204)。この構成情報は、その後のブートファームウエアM1でのハードウエア構成認識に使用される。
【0075】
ブートファームウエアM1は、自己診断ファームウエアNM1によるハードウエア診断の後で、メインメモリMを診断した後で起動するプログラムであるため、メインメモリM上で動作することができる。ブートファームウエアM1のバイナリデータは、通常は、システム内のフラッシュメモリに圧縮された形式で格納されており、POSTの診断後に、POSTによりメインメモリM上に伸張して展開される(ステップS205)。或いは、ブートファームウエアM1のデータについては、システム内のフラッシュメモリに格納せず、外部からPOSTにより圧縮されたデータをメインメモリM上に伸張してダウンロードするようにしてもよい。
【0076】
そして、図2に示されたステップS103の処理と同様に、ブートファームウエアM1の各モジュールM11乃至M18の初期化を実行し、さらに、初期化処理部M11が、ハードウエア構成情報NM4に従って、ブートファームウエア環境変数NM21に従う初期化を実行する(ステップS206)。
【0077】
ブート処理部M17が、ブートファームウエア環境変数NM21の環境情報に従って、ブート対象ディスク装置を決定する(ステップS207)。そこで、ブート処理部M17は、決定したブート対象のディスク装置にアクセスし、当該ディスク装置の先頭ブロックに格納されているブート・ブロック・プログラムを読み出し、メインメモリM上に展開する(ステップS208)。ブート・ブロック・プログラムM2は、OSローダをメインメモリに展開して制御を渡す機能を持つ。
【0078】
次いで、メインメモリM上に読み込まれたブート・ブロック・プログラムM2は、クライアントサービス処理部M16の機能を利用して、ブート対象ディスク装置の先頭にあるブート・ブロック・プログラムの次に格納されているOSローダを読み出し、メインメモリM上に展開する(ステップS209)。OSローダM3は、OSのファイルシステムを解釈できる機能を持ち、ブート対象ディスク装置に格納されたOSプログラムをメインメモリに展開して制御を渡す機能を持つ。
【0079】
さらに、メインメモリM上に読み込まれたOSローダM3は、クライアントサービス処理部M16の機能を利用して、ブート対象ディスク装置に格納されたOSローダの次のOS読み出し、メインメモリM上に展開する(ステップS210)。この処理は、図2に示した処理フローのステップS108と同様であり、ステップS210以降の処理は、ステップS109以降の処理に同じである。
【0080】
以上では、本実施形態の情報処理システムにおけるブートファームウエアM5の詳細構成と、ブートファームウエアM5によるブート対象ディスク装置の切り換え処理の手順について説明したが、次に、図5のフローチャートを参照して、本実施形態の情報処理システムにおける制御装置1内のメインメモリMに、ブート対象のディスク装置に格納されているシステムソフトウエアが読み出されて展開された以降におけるディスク装置の切り換え処理について、説明する。
【0081】
先ず、メインメモリM上に読み込まれたシステムソフトウエアM5が、ステップS110で説明されたように、初期化処理されて起動される(ステップS301)。
【0082】
次いで、システムソフトウエアM5は、不揮発性メモリNMのブートファームウエア環境変数NM21を調べ、第3変数「boot-device-index-available」が存在するかチェックする(ステップS302)。
【0083】
ここで、本実施形態を実施する以前の、従来技術の情報処理システムの構成によるブートファームウエアM5でブート処理を実行した場合には、図7で示したように、ブートファームウエア環境変数NM2には、第3変数「boot-device-index-available」は、存在していないので(ステップS302のN)、図7で示した従来技術のシステム構成の範囲内で動作するため、直ちに、OSの通常運用処理に移行する(ステップS305)。
【0084】
本実施形態を実施している場合には、ステップS302の処理において、第3変数「boot-device-index-available」が存在し(Y)、現在ブート対象ディスク装置の冗長運用機能が設定されているかどうか確認する(ステップS303)。システムソフトウエアM5は、ブート対象ディスク装置を冗長運用することにより信頼性を高めるソフトウエアであるが、設定によりこの機能を無効にする場合が有り得るので、現在の設定を、ここで確認する。
【0085】
ステップS303における冗長運用機能に係る設定の確認により、システムソフトウエアM5がブート対象ディスク装置を冗長運用するように設定されていた場合には(Y)、ブートファームウエア環境変数NM21の第3変数「boot-device-index-available」に値「true」を設定する(ステップS306)。この第3変数「boot-device-index-available」 は、最初のディフォルトの状態では、値「false」に設定されている。この場合には、ブートファームウエアM1での強制ディスク切り換え機能は働かない。
【0086】
しかし、一度、値が「true」に設定されると、この第3変数は不揮発性メモリNMのブートファームウエア環境変数NM21に記録されているため、誰かが意図的に変更しなければ、その値は変わらない。もし、システムソフトウエアM5がインストールされていないときに、第3変数に「true」が設定されてしまうと、ブートファームウエアM1によるブート時に、強制的にブート対象ディスク装置を切り換えても、もとに戻すものがなくなってしまう。そのため、リブート処理に失敗することとなる。それを避けるため、第3変数の値を「true」にする設定は、システムソフトウエアM5で行うようになっている。
【0087】
システムソフトウエアM5がインストールされ、運用されているときには、一度、第3変数の値が「true」に設定されると、第3変数の値は、不揮発性メモリNMのブートファームウエア環境変数NM21に保持されるため、冗長運用の機能が有効となる。なお、この処理フローでは、システムソフトウエアM5の起動処理で、ブート対象ディスク装置の冗長運用状態をチェックして、必ず、第3変数を変更するとしているが、ここでは、変更を行わずに、システムソフトウエアM5のインストール時に設定するようにし、或いは、通常動作状態に入ってから、システムソフトウエアM5のメニューから、冗長運用状態をチェックし、設定してもいい。システムソフトウエアM5が、唯一、第3変数の値を「true」に設定するということが重要である。
【0088】
ステップS303における確認処理により、システムソフトウエアM5は、ブート対象ディスク装置が冗長運用するように設定されていなかった場合には(N)、ブートファームウエア環境変数NM21の第3変数「boot-device-index-available」 に値「false」 を設定する(ステップS304)。
【0089】
次に、ブートファームウエア環境変数NM21の第2変数「boot-device-index」が0かどうかを調べる(ステップS307)。図面2でのフローで示したように、第2変数の値が0というのは、ブートファームウエアM1の動作時に、第3変数「boot-device-index-available」の値が「false」であった場合だけである。ブートファームウエアM1の動作時に、第3変数「boot-disk-unit-index-available」の値が「true」であった場合には、ブート処理の実行で、必ず、第2変数「boot-device-index」の値は更新(インクリメント)されている。従って、第2変数の値が0の場合には(ステップS307のY)、本実施形態による切り換え機能は有効となっていないので、直ちに、通常運用に移行する(ステップS305)。
【0090】
一方、第2変数「boot-device-index」の値が0でない場合は(ステップS307のN)、ブートファームウエアM1の動作時に、第3変数「boot-device-index-available」の値が「true」であったことを示している。この場合に、第1変数「boot-device」の設定をチェックし(ステップS308)、実際にブート処理が実施されたディスク装置が、主系のものであるか従系のものであるかをチェックする(ステップS309)。
【0091】
一般には、第2変数「boot-device-index」の値が1の場合には、主系で立ち上がっており、2以上の場合には、従系で立ち上がっていることを示している。システムの設定によっては、第1変数「boot-device」への設定で、同一のディスク装置を別名で複数設定する場合もある。その場合は、第2変数「boot-device-index」の値が2でも、主系の装置を示している場合もある。ここでは、そのような状態も考慮して確認する。
【0092】
ステップS309の処理における確認の結果、ブートしたディスク装置が主系でないと認識できた場合には(N)、主系のディスク装置の起動で、何らかの異常が発生しているため、それを通知する警告メッセージを表示する(ステップS310)。
【0093】
ブート起動した装置が主系であろうと従系であろうと、システムソフトウエアM5が正常に起動したことを示し、次回のリブート処理では、再度、正常にブート処理が実行できるように、第2変数「boot-device-index」の値を0クリアして(ステップS311)、通常運用に移行する(ステップS305)。なお、ここでは、0クリアとしているが、デクリメントして、最後にブートが成功した装置を示すようにしてもよい。
【0094】
ステップS305において、通常運用に移行するが、通常運用の処理中に、ディスク装置の異常が検出された場合には、システムソフトウエアM5により、ブート対象ディスク装置が切り離され、次回のブートでも、ブート対象ディスク装置を切り換えるために、システムソフトウエアM5が、環境情報の第2変数「boot-device-index」の値を、直接書き換える。この処理は、従来技術の場合と同様である。なお、このときに、ステップS311において、第2変数「boot-device-index」の値を0クリアせずに、デクリメントしていた場合には、第1変数「boot-device」の変更に合わせて、第2変数「boot-device-index」の値も書き換えるか、或いは、0クリアすることになる。
【0095】
以上のように、本実施形態による情報処理システムによれば、オペレーティングシステムを格納したシステムディスク装置であるブート対象とできるデバイス装置を2重化し、運用時のシステムディスク装置のアクセスで発生するハードエラーに対して冗長性を持たせて信頼性を向上できたコンピュータシステムとすることができ、ブートファームウエアと、ディスク装置の2重化処理のためのシステムソフトウエアとを連携させることにより、主系のブート対象デバイス装置に格納されたシステムソフトウエアが起動できなかった場合に、次回のブートファームウエアによるブート処理において、ブート対象デバイス装置を強制的に従系のブートデバイス装置に切り換えることにより、従系のブートデバイス装置からのシステムソフトウエアの起動を可能とすることができた。
【0096】
以下に、本発明による情報処理システムに関する実施態様を示す。
(付記1)
多重化された複数の装置から選択して読み出されたオペレーションシステムが起動されてシステムが立ち上げられる情報処理システムにおいて、
前記複数の装置からブート対象を設定する環境情報を格納する格納手段と、
前記環境情報の設定に基づいてブート対象装置を決定し、該ブート対象装置に格納された前記オペレーションシステムを起動させるブート制御手段と、
前記複数の装置の多重化制御を実施する制御手段と、を有し、
前記制御手段は、前記ブート対象装置に異常が検出されたとき、前記環境情報の設定を変更して、他の前記装置に切り換え制御することを特徴とする情報処理システム。
(付記2)
前記環境情報は、
前記複数の装置についてブート対象候補とする装置設定情報を含む第1変数情報と、
前記装置設定情報に基づいてブート対象装置を指定するインデックス情報を含む第2変数情報と、
前記多重化が有効か否かの2値が設定される第3変数情報と、
を含むことを特徴とする付記1に記載の情報処理システム。
(付記3)
前記ブート制御手段は、システムの電源投入時において、前記インデックス情報を初期値にクリアし、前記装置設定情報に最初に設定された前記装置をブート対象として選択することを特徴とする付記2に記載の情報処理システム。
(付記4)
前記ブート制御手段は、第3変数情報に有効が設定されている場合に、前記インデックス情報により指定されたブート対象装置を選択し、否が設定されている場合には、前記装置設定情報において最初に設定された装置をブート対象として選定することを特徴とする付記2に記載の情報処理システム。
(付記5)
前記ブート制御手段は、第3変数情報に有効が設定されている場合に、前記インデックス情報におけるインデックスを更新することを特徴とする付記4に記載の情報処理システム。
(付記6)
前記ブート制御手段は、前記環境情報に設定されたブート対象装置を選定し、該ブート対象装置に格納されている前記オペレーションシステムを読み込み、起動させることを特徴とする付記2乃至5のいずれか一項に記載の情報処理システム。
(付記7)
前記制御手段は、第3変数情報に有効が設定され、前記インデックス情報が初期値ではない場合には、第1変数情報における設定を参照して、従系のブート対象装置で立ち上がっていることを認識することを特徴とする付記2に記載の情報処理システム。
(付記8)
前記制御手段は、従系のブート対象装置で立ち上がっていることを認識した場合には、主系の前記装置に異常が発生していることを示す警告メッセージを通知することを特徴とする付記7に記載の情報処理システム。
(付記9)
前記制御手段は、第3変数情報が存在し、第2変数情報が0でない場合には、第2変数情報を初期値にクリアすることを特徴とする付記7又は8に記載の情報処理システム。
(付記10)
前記制御手段は、第3変数情報が前記格納手段内に存在する場合であって、前記複数の装置に関して冗長運用の設定がないときには、第3変数情報を否に設定することを特徴とする付記2に記載の情報処理システム。
(付記11)
前記制御手段は、第3変数情報が前記格納手段内に存在するかどうかに関係なく、前記ブート対象装置に異常の発生を検出したとき、当該ブート対象装置を切り離し、第1変数情報の前記ブート対象候補とする装置の設定情報を書き換えることを特徴とする付記2に記載の情報処理システム。
(付記12)
前記格納手段は、不揮発性メモリであり、前記ブート制御手段及び前記制御手段によって、該格納手段に格納された第2変数情報及び第3変数情報における設定が書き換えられることを特徴とする付記2に記載の情報処理システム。
(付記13)
前記ブート制御手段は、前記格納手段に格納されたブートファームウエアによってブート処理を実行することを特徴とする付記1又は2に記載の情報処理システム。
(付記14)
前記制御手段は、前記ブート対象装置に格納されたシステムソフトウエアが読み込まれ、多重化制御を実行することを特徴とする付記1又は2に記載の情報処理システム。
【0097】
【発明の効果】
以上のように、本発明の情報処理システムでは、ブート対象装置であるシステムディスク装置を多重にして備え冗長化を向上させるシステムにおいて、多重化を制御するシステムソフトウエアが起動する前に、ブートファームウエアによって選択された主系のシステムディスク装置で異常が発生した場合でも、ブート対象装置を従系のシステムディスク装置に切り換えて運用することが可能となる。
【0098】
また、ブート対象装置の多重化制御をするシステムソフトウエアは、ブート対象装置内に格納されたOSが起動した後に、OS配下で動作するソフトウエアであり、OS自体は、ブートローダにより起動される。本発明の情報処理システムでは、システムの不揮発性メモリに格納されるブートファームウエア環境情報の設定の仕方を工夫することによって、多重化を制御するシステムソフトウエアが起動する前に、主系のシステムディスク装置で異常が発生した場合でも、ブート対象装置を従系のシステムディスク装置に切り換えられるようにした。そのため、特に、OSやブートローダの変更が許されない場合でも、このOSとブートローダには、一切変更を加えないで、ブート対象装置の切り換えが実現できた。
【図面の簡単な説明】
【図1】2重化されたブート対象デバイスを有する本実施形態による情報処理システムに係る主要部の概略ブロック構成を説明する図である。
【図2】本実施形態の情報処理システムのシステム起動時における処理手順を説明するフロー図である。
【図3】本実施形態による情報処理システムのシステム起動時におけるメインメモリへのブートファームウエアの展開を説明する図である。
【図4】本実施形態の情報処理システムのシステム起動時におけるブートファームウエアによる処理手順を説明するフロー図である。
【図5】本実施形態の情報処理システムのシステム起動時におけるシステムソフトウエアによる処理手順を説明するフローチャートである。
【図6】従来技術による情報処理システムの概略ブロック構成を説明する図である。
【図7】2重化されたブート対象デバイスを有する従来技術による情報処理システムに係る主要部の概略ブロック構成を説明する図である。
【符号の説明】
1…制御装置
2…制御部
3…不揮発性メモリ
4…メインメモリ
5…周辺装置
D1、D2…ディスク装置

Claims (9)

  1. オペレーションシステムを格納する多重化された複数のディスク装置と、前記複数のディスク装置のいずれかから選択したブート対象ディスク装置から読み出したオペレーションシステムを起動してシステムを立ち上げる制御手段とを備えた情報処理システムにおいて、
    前記制御手段は、
    前記複数のディスク装置からブート対象ディスク装置を設定する環境情報として、ブート対象ディスク装置の候補となるディスク装置を示す装置設定情報が設定された第1変数情報と、前記第1変数情報に設定された装置設定情報のいずれかを示すインデックス情報が設定された第2変数情報とを格納する第1の格納手段を備え
    前記制御手段が、
    前記インデックス情報が示す装置設定情報に対応するディスク装置を、ブート対象ディスク装置として選択して、選択したブート対象ディスク装置をアクセスし、
    前記第2変数情報に、選択したブート対象ディスク装置以外のディスク装置に対応する装置設定情報を示すインデックス情報を設定して更新し、
    前記選択したブート対象ディスク装置が正常に動作しない場合、更新したインデックス情報が示す装置設定情報に対応するディスク装置を選択して、新たなブート対象ディスク装置としてブート対象ディスク装置を切り換え、
    切り換えられた新たなブート対象ディスク装置をアクセスすることを特徴とする情報処理システム。
  2. 前記第1変数情報には、複数のディスク装置に対応した複数の装置設定情報が設定され、
    前記インデックス情報には、前記第1変数情報内の装置設定情報の順番を示す値が設定され、
    前記制御手段は、ブート対象ディスク装置の選択時、前記インデックス情報が示す順番に対応する装置設定情報が示すディスク装置をブート対象ディスク装置として選択することを特徴とする請求項1に記載の情報処理システム。
  3. 前記制御手段は、前記インデックス情報を更新する場合、前記第2変数情報に設定された値をインクリメントすることを特徴とする請求項2に記載の情報処理システム。
  4. 前記制御手段は、ブート処理が正常に行われた場合、前記インデックス情報を初期値に更新することを特徴とする請求項1又は2に記載の情報処理システム。
  5. 前記制御手段は、ブート処理が正常に行われた場合、前記インデックス情報を、最後にブートが成功したディスク装置に対応する装置設定情報を示す値に設定することを特徴とする請求項1又は2に記載の情報処理システム。
  6. 前記制御手段はさらに、
    アクセスした前記ブート対象ディスク装置からオペレーションシステムを読み出し、
    読み出したオペレーションシステムを第2の格納手段に格納し、
    前記第2の格納手段に格納したオペレーションシステムを起動することを特徴とする請求項1に記載の情報処理システム。
  7. 前記第1の格納手段は、ブート対象ディスク装置の切り換えが有効又は無効かを示す第3変数情報をさらに格納し、
    前記第1変数情報には、複数のディスク装置に対応する装置設定情報が順番に設定されており、
    前記制御手段は、前記第3変数情報に切り換えの有効が設定されている場合、前記第2変数情報に設定されたインデックス情報が指定するディスク装置にアクセスし、前記第3変数情報に切り換えの無効が設定されている場合、前記第1変数情報において最初に設定された装置設定情報に対応するディスク装置にアクセスすることを特徴とする請求項1に記載の情報処理システム。
  8. 前記制御手段は、システムの電源投入時に前記インデックス情報をクリアし、前記第1変数情報における設定順番が最初の装置設定情報にインデックス情報を前記第2変数情報に設定することを特徴とする請求項7に記載の情報処理システム。
  9. 前記制御手段は、前記第3変数情報に切り換えの有効が設定されており、且つ前記第2変数情報に設定されたインデックス情報が、前記第1変数情報における設定順番が最初の装置設定情報を示していない場合に、前記第1変数情報における設定順番が最初の装置設定情報に対応するディスク装置に異常が発生していることを示すメッセージを出力することを特徴とする請求項7又は8に記載の情報処理システム。
JP2003119808A 2003-04-24 2003-04-24 情報処理システム Expired - Fee Related JP4349837B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2003119808A JP4349837B2 (ja) 2003-04-24 2003-04-24 情報処理システム
US10/786,054 US7434042B2 (en) 2003-04-24 2004-02-26 Apparatus, method and recording medium for starting up data processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003119808A JP4349837B2 (ja) 2003-04-24 2003-04-24 情報処理システム

Publications (2)

Publication Number Publication Date
JP2004326409A JP2004326409A (ja) 2004-11-18
JP4349837B2 true JP4349837B2 (ja) 2009-10-21

Family

ID=33296445

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003119808A Expired - Fee Related JP4349837B2 (ja) 2003-04-24 2003-04-24 情報処理システム

Country Status (2)

Country Link
US (1) US7434042B2 (ja)
JP (1) JP4349837B2 (ja)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI294098B (en) * 2004-08-06 2008-03-01 Via Tech Inc Fast boot method and system
US7356680B2 (en) * 2005-01-22 2008-04-08 Telefonaktiebolaget L M Ericsson (Publ) Method of loading information into a slave processor in a multi-processor system using an operating-system-friendly boot loader
US7330965B2 (en) * 2005-02-09 2008-02-12 International Business Machines Corporation Multi-tiered boot list
US8255108B2 (en) * 2005-08-31 2012-08-28 Spx Corporation Dynamic file system creation for scan tools
JP2007102349A (ja) * 2005-09-30 2007-04-19 Tokiko Techno Kk データ処理装置
JPWO2007096956A1 (ja) * 2006-02-22 2009-07-09 富士通株式会社 中央処理装置
US7886140B2 (en) * 2007-08-16 2011-02-08 International Business Machines Corporation Booting a computer using a boot list when a non-volatile memory on the computer does not contain the boot list
JP5083019B2 (ja) * 2008-04-30 2012-11-28 ブラザー工業株式会社 コンピュータシステム、プログラム
JP5343489B2 (ja) * 2008-09-29 2013-11-13 日本電気株式会社 コンピュータシステム、およびレガシーアプリケーション実行方法、およびプログラム
JP5293062B2 (ja) * 2008-10-03 2013-09-18 富士通株式会社 コンピュータ装置、メモリ診断方法、及びメモリ診断制御プログラム
US7966484B1 (en) * 2009-01-14 2011-06-21 Cms Products, Inc. Automatic alternating bootable storage devices between different kinds of boot files
US8386757B1 (en) * 2009-02-13 2013-02-26 Unidesk Corporation Managed desktop system
US8788801B2 (en) * 2009-08-18 2014-07-22 Ca, Inc. Backup and recovery of systems by restoring a backup boot configuration data (BCD) with installation files from an operating system install disk
US8762699B1 (en) * 2009-12-05 2014-06-24 Cms Products Inc. System, apparatus, and method for initiating a reboot of a personal computer system by pressing a button on an attached storage device and causing the operating system on the attached storage device to be booted
US8918630B1 (en) * 2009-12-16 2014-12-23 Cms Products Inc System, apparatus, and method for initiating a reboot of a personal computer system by pressing a button on an attached storage device and causing the operating system on the attached storage device to be booted
JP5279041B2 (ja) * 2010-09-15 2013-09-04 Necシステムテクノロジー株式会社 情報処理装置及びその制御方法
JP2012256364A (ja) * 2012-08-31 2012-12-27 Toshiba Corp 情報処理装置及びそのブート制御方法
US9280359B2 (en) * 2012-12-11 2016-03-08 Cisco Technology, Inc. System and method for selecting a least cost path for performing a network boot in a data center network environment
US9213611B2 (en) * 2013-07-24 2015-12-15 Western Digital Technologies, Inc. Automatic raid mirroring when adding a second boot drive
US10223217B2 (en) * 2015-11-24 2019-03-05 Ricoh Company, Ltd. Information processing device, method for booting information processing device, and non-transitory recording medium
US20190138407A1 (en) * 2017-11-07 2019-05-09 Microsoft Technology Licensing, Llc Systems and methods of deploying an operating system from a resilient virtual drive
CN111124517B (zh) * 2019-12-23 2023-01-20 湖南国科微电子股份有限公司 嵌入式芯片引导启动方法、装置、计算机设备和存储介质
CN114063913A (zh) * 2021-11-03 2022-02-18 东风汽车集团股份有限公司 Emmc分区存储方法及结构

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03229331A (ja) 1990-02-02 1991-10-11 Fujitsu Ltd 情報処理装置
JP3001470B2 (ja) 1997-08-07 2000-01-24 米沢日本電気株式会社 パーソナルコンピュータのブート不良検出システム
GB2332541B (en) * 1997-12-20 2002-12-04 Ibm Boot failure recovery system and method
US6105130A (en) * 1997-12-23 2000-08-15 Adaptec, Inc. Method for selectively booting from a desired peripheral device
JP3512627B2 (ja) 1998-03-13 2004-03-31 日本電気株式会社 Iplにおける代替パスおよび二重化によるロードボリュームi/o制御管理方式
JP2000081978A (ja) 1998-09-04 2000-03-21 Nec Corp ディスク装置およびディスクの二重化方法、並びに記録媒体
JP3714119B2 (ja) * 2000-06-13 2005-11-09 日本電気株式会社 Biosプリブート環境を利用したユーザ認証型ネットワークosブート方法及びシステム
US6754818B1 (en) * 2000-08-31 2004-06-22 Sun Microsystems, Inc. Method and system for bootstrapping from a different boot image when computer system is turned on or reset
JP2002259130A (ja) 2001-03-02 2002-09-13 Toshiba Corp 情報処理システムおよびその起動制御方法
US7234051B2 (en) * 2002-08-09 2007-06-19 Intel Corporation Method and apparatus for booting from a selection of multiple boot images

Also Published As

Publication number Publication date
US7434042B2 (en) 2008-10-07
JP2004326409A (ja) 2004-11-18
US20040215952A1 (en) 2004-10-28

Similar Documents

Publication Publication Date Title
JP4349837B2 (ja) 情報処理システム
JP5431111B2 (ja) 情報処理装置及びシステム設定方法
JP6198876B2 (ja) セキュア・リカバリ装置及び方法
JP5211837B2 (ja) 制御方法、計算機システム及び制御プログラム
US6205558B1 (en) Recovery of file systems after modification failure
KR100532413B1 (ko) 플래시 메모리 보호 장치 및 방법
JP4448878B2 (ja) 障害回復環境の設定方法
US20020053044A1 (en) Self-repairing operating system for computer entities
JP2001522088A (ja) 取り外し可能大容量媒体を使用したコンピュータ回復用システム
JP2004038931A (ja) コンピュータ・ハードディスクにおけるデータのバックアップと回復とを実現する方法
US20060036832A1 (en) Virtual computer system and firmware updating method in virtual computer system
JP4677214B2 (ja) パニックダンプ採取のためのプログラム、方法、及び機構
JP6740789B2 (ja) ストレージ制御装置および記憶装置管理プログラム
JPWO2006104197A1 (ja) 処理装置、プログラムおよび記憶媒体
JP6102235B2 (ja) Bios復旧制御装置及びその復旧制御方法、情報処理装置、並びにコンピュータ・プログラム
JP5314731B2 (ja) データ処理装置間の基本入出力プログラムの同期化方法及びコンピュータシステム
JP2000148467A (ja) 情報処理装置、情報処理装置の基本システムプログラム書換方法及び情報処理装置の基本システムプログラム書換プログラムを記録した記録媒体
JP2003099146A (ja) 計算機システムの起動制御方式
US20050262334A1 (en) Computer restoration apparatus
JP4963167B2 (ja) システム起動方法、及びプログラム
JP5949540B2 (ja) 情報処理装置、及び記憶情報解析方法
JP2002049509A (ja) データ処理システム
CN112817642A (zh) X86平台使用固件自动切换启动efi操作系统的方法、装置
JP2011054212A (ja) パニックダンプ採取のためのプログラム、方法、機構
JP4165423B2 (ja) コアi/oカードを実装したシステムボード

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060223

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080527

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090324

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090522

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090623

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090721

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120731

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4349837

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120731

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130731

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees