JP6428047B2 - 情報処理システム、管理制御方法および管理制御プログラム - Google Patents

情報処理システム、管理制御方法および管理制御プログラム Download PDF

Info

Publication number
JP6428047B2
JP6428047B2 JP2014170081A JP2014170081A JP6428047B2 JP 6428047 B2 JP6428047 B2 JP 6428047B2 JP 2014170081 A JP2014170081 A JP 2014170081A JP 2014170081 A JP2014170081 A JP 2014170081A JP 6428047 B2 JP6428047 B2 JP 6428047B2
Authority
JP
Japan
Prior art keywords
boot
information processing
processing system
option
boot option
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.)
Active
Application number
JP2014170081A
Other languages
English (en)
Other versions
JP2016045750A (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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2014170081A priority Critical patent/JP6428047B2/ja
Publication of JP2016045750A publication Critical patent/JP2016045750A/ja
Application granted granted Critical
Publication of JP6428047B2 publication Critical patent/JP6428047B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Description

本発明は、オペレーティングシステムを切り替えることができる情報処理システム、管理制御方法および管理制御プログラムに関する。特に、外部から起動オプションを指定してオペレーティングシステムを起動することができる情報処理システム、管理制御方法および管理制御プログラムに関する。
近年、サーバシステムは、ユーザニーズの多様化によって、様々なオペレーティングシステム(以下、OS)をサポートしている(OS:Operating System)。また、サーバシステム資源を有効活用するために、同一のサーバシステムにおいて時間帯によって異なる業務を行うことがある。この場合、実施する業務によっては、OSを変更することが必要となる。また、サーバシステムの評価を行う場合にも、限られた資源で様々な評価を行うために、同一のサーバシステムにおいて、複数のOSを入れ替えて起動しなければならない場面がある。
特許文献1には、一つのBIOSで複数のOSインターフェースを実現可能なBIOS制御方式について開示されている(BIOS:Basic Input/Output System)。特許文献1のBIOS制御方式は、パーティションの構成をサービスプロセッサから変更可能とし、パーティション毎に異なるOSの運用が可能な情報処理システムに適用される。特許文献1のBIOS制御方式においては、システム起動前にあらかじめ人手により起動OSに必要なDIPSWの設定を行うことによって、OSに依存した設定を行う(DIPSW:Dual In−line Package Switch)。特許文献1のBIOS制御方式では、複数のビットを組み合わせるDIPSWのような複雑な設定を必要とし、起動しようとするOSと設定値の対応付けをユーザが手動で行う必要がある。
特許文献2には、個々のOS固有のハードウェア環境をOS毎に設定して記録しておくことによって、BIOS Setup(以下、BIOSセットアップ)することなしにOSを切り替えて運用できるBIOSセットアップシステムについて開示されている。特許文献2のBIOSセットアップシステムにおいても、特許文献1と同じように、ユーザが手動で設定値を変更する必要が生じ得る。
特許文献3には、ユーザが起動しようとするOSを特定することを可能とするOS種別自動特定装置について開示されている。特許文献3のOS種別自動特定装置は、複数のOSを搭載したプロセッサシステムにおいて起動すべきOSが選択されると、選択されたOSに対応するOS識別データを取得し、取得したOS識別データと対応するOS種別特定用データを検索する。そして、OS種別自動特定装置は、検索されたOS種別特定用データに含まれるOS種別データを抽出することによって起動すべきOSとして選択されたOSの種別を特定する。さらに、OS種別自動特定装置は、特定されたOSと対応する情報を取得し、取得した情報からインターフェース情報を作成し、その後、起動すべきOSとして特定されたOSを起動する。
特許文献4には、コンピュータシステム全体を管理するシステム管理機構からブート対象のOSのイメージの指定をリモートで行えるリモートブート方法について開示されている。特許文献4のリモートブート方法は、コンピュータシステム全体を監視する機構とブートファームウェアのブートに関する設定値を同期し、UEFIブートを利用する(UEFI:Unified Extensible Firmware Interface)。その結果、BMC等のコンピュータシステム全体を監視する機構からブート対象のイメージの指定を可能とする(BMC:Baseborad Management Controller)。
特開2006−268519号公報 特開平11−143691号公報 特開2008−217440号公報 特開2011−154732号公報
昨今のBIOSセットアップには、OSに依存した設定値が存在する。そのため、OSを切り替える際には、BIOSセットアップを起動し、手動操作による設定値の変更が必要となる。起動するOSに対して、変更した設定値が間違ってしまった場合、OSが正常に起動しないことや、OSが正常に動作しないことがある。OSに依存した設定値が間違ってしまった場合は、再度BIOSセットアップを起動し、設定値を正しい値に変更し直さなければならない。特許文献1〜3の手法においては、OSを切り替える際に設定値を手動で変更する必要が生じうる。
特許文献3のOS種別自動特定装置では、BIOSのBoot管理メニューから、ユーザがBootパス名や起動プログラム名を参照して起動すべきOSを選択する。そして、BIOSは、ユーザが起動しようとするOSを識別し、識別したOSに依存した設定を行い、OSを起動することができる。しかしながら、Boot管理メニューを起動するまでに行なわなくてはならない設定変更や、BIOSが起動する前のBMCによるハードウェア構成変更をすることはできない。また、Bootパス名や起動プログラム名が同一でありながら異なるOS種別が対応付けられている場合、正しい設定を自動的にすることはできない。
特許文献4のリモートブート方法では、OS毎にBIOSセットアップ設定値を変更する機構が備わっていないため、BIOSがブート対象のOSの種類を判別してBIOSセットアップ設定値を切り替えることができない。そのため、OSイメージの指定を変更する場合は、BIOSセットアップを起動し、手動によるBIOSセットアップ設定値の変更が必要となる。また、オペレーディングシステムローダのファイル位置やファイル名が同一のOSが存在すると、特許文献4の方法では、BIOSがOSの種類を判別してBIOSセットアップ設定値を切り替えることもできない。したがって、特許文献4のリモートブート方法では、OSイメージの指定を変更する場合、BIOSセットアップを起動し、手動によるBIOSセットアップ設定値の変更が必要となる。
本発明の目的は、オペレーティングシステムを切り替えることが可能な情報処理システムを起動する際に、ユーザによる追加の設定変更をせずに目的とするオペレーティングシステムを起動することができる情報処理システムを提供することである。
本発明の情報処理システムは、複数のOS(Operating System)を起動することができる情報処理システムであって、少なくとも一つのOSを格納する補助記憶手段と、OSの種類に対応した設定を記録する設定値テーブルを格納し、情報処理システムの起動時にBIOS(Basic Input/Output System)処理を実行する管理制御機能を含む第1の記憶手段と、ブートオプションごとに一意に付される識別子とOSの種類とを対応付ける対応テーブルと、ブートオプションの表示名および起動プログラムを識別子と対応付けるブートオプションテーブルと、情報処理システムの起動後に管理制御機能によって実行される起動プログラムの起動順番を記録したブートオーダーリストと、OSを起動するために事前に設定されるBIOSセットアップ設定値とを含む第2の記憶手段と、ブートオプションを含むOSに関する情報を含み、情報処理システムの状態を常に監視するとともに、情報処理システムの状態に応じて情報処理システムを制御する監視制御手段とを備える。
本発明の管理制御方法は、複数のOS(Operating System)を起動することができる情報処理システムの管理制御方法であって、ブートオプションごとに一意に付される識別子を取得し、OSの種類に対応した設定を記録する設定値テーブルに基づいて情報処理システムを構成する機器の設定をするとともに、設定値テーブルによって得られなかった情報処理システムを構成する機器の設定を、OSを起動するために事前に設定されるBIOSセットアップ設定値に従って設定することによって初期化し、起動対象となるOSに関する識別子に対応する起動プログラムを、ブートオプションの表示名および起動プログラムを識別子と対応付けるブートオプションテーブルに基づいて起動し、起動された起動プログラムを実行することによって起動対象となるOSを起動する。
本発明の管理制御プログラムは、複数のOS(Operating System)を起動することができる情報処理システムの管理制御プログラムであって、ブートオプションごとに一意に付される識別子を取得する処理と、OSの種類に対応した設定を記録する設定値テーブルに基づいて情報処理システムを構成する機器の設定をするとともに、設定値テーブルによって得られなかった情報処理システムを構成する機器の設定を、OSを起動するために事前に設定されるBIOSセットアップ設定値に従って設定することによって初期化する処理と、起動対象となるOSに関する識別子に対応する起動プログラムを、ブートオプションの表示名および起動プログラムを識別子と対応付けるブートオプションテーブルに基づいて起動する処理と、起動された起動プログラムを実行することによって起動対象となるOSを起動するする処理とをコンピュータに実行させる。
本発明によれば、オペレーティングシステムを切り替えることが可能な情報処理システムを起動する際に、ユーザによる追加の設定変更をせずに目的とするオペレーティングシステムを起動することが可能となる。
本発明の第1の実施形態に係る情報処理システムの機能構成を示すブロック図である。 本発明の第2の実施形態に係るサーバシステムの構成を示す概念図である。 本発明の第2の実施形態に係るサーバシステムで用いられるBIOSセットアップ設定値テーブルの一例である。 本発明の第2の実施形態に係るサーバシステムで用いられるブートオプション識別子・OS種類対応テーブルの一例である。 本発明の第2の実施形態に係るサーバシステムで用いられるブートオプションテーブルの一例である。 本発明の第2の実施形態に係るサーバシステムで用いられるBIOSセットアップ設定値をテーブルとしてまとめた一例である。 本発明の第2の実施形態に係るサーバシステムで用いられる起動オプション選択肢テーブルの一例である。 本発明の第2の実施形態に係るサーバシステムにおけるOS情報追加処理を説明するためのフローチャートである。 本発明の第2の実施形態に係るサーバシステムにおけるOS情報削除処理を説明するためのフローチャートである。 本発明の第2の実施形態に係るサーバシステムにおけるサーバシステム起動処理を説明するためのフローチャートである。
以下に、本発明を実施するための形態について図面を用いて説明する。ただし、以下に述べる実施形態には、本発明を実施するために技術的に好ましい限定がされているが、発明の範囲を以下に限定するものではない。
(第1の実施形態)
本発明の第1の実施形態に係る情報処理システム1について、図1を参照しながら説明する。図1においては、CPUやメモリなどの構成要素は省略し、本実施形態に係る情報処理システム1を実現するための構成を抽象化して図示している(CPU:Central Processing Unit)。
図1のように、第1の実施形態に係る情報処理システム1は、補助記憶手段3、第1の記憶手段4、第2の記憶手段5、監視制御手段6を備える。情報処理システム1に備えられた各構成要素は、互いにバス7によって接続される。また、情報処理システム1は、ネットワーク8を介して端末9と接続される。
<補助記憶手段>
補助記憶手段3は、少なくとも一つのオペレーティングシステム(以下、OS)を格納する記憶手段である(OS:Operating System)。補助記憶手段3は、例えばハードディスクドライブ(以下、HDD)などによって実現される(HDD:Hard Disk Drive)。
図1の例では、OS31およびOS33が補助記憶手段3に格納されている。なお、図1には二つのOSしか図示していないが、補助記憶手段3は、三つ以上のOSを格納するように構成してもよいし、複数のOSを格納する必要が無い場合は単一のOSを格納するように構成してもよい。
OS31はOS種類通知手段32を有し、OS33はOS種類通知手段34を有する。OS種類通知手段32および34は、管理制御機能41からの問い合わせに応じて、管理制御機能41に自身のOS種類を通知する手段である。なお、補助記憶手段3が三つ以上のOSを格納する場合は、それぞれのOSがOS種類通知手段を持つ。
<第1の記憶手段>
第1の記憶手段4は、管理制御機能41を格納する記憶手段である。第1の記憶手段4は、例えばROMなどの読み出し専用メモリによって実現される(ROM:Read Only Memory)。
図1において、第1の記憶手段4の管理制御機能41は、設定値テーブル43、OS識別手段45およびOS情報変更手段47を含む。
管理制御機能41は、情報処理システム1の起動時にBIOS処理を実行する(BIOS:Basic Input/Output System)。管理制御機能41は、例えばROMに搭載されたBIOSによって実現され、システムの内部構成やシステムに接続された周辺機器を管理・制御する。本実施形態においては、管理制御機能41がBIOSとして実現されるものとして説明する。
設定値テーブル43は、各OSを起動する際に、事前に設定をしなければならないセットアップ設定値57を格納するテーブルである。
OS識別手段45は、起動対象となるOS31(33)のOS種類通知手段32(34)に問い合わせて、起動するOSのOS種類を識別する。
OS情報変更手段47は、ブートオプションの識別子(以下、ブートオプション識別子)および表示名(以下、ブートオプション表示名)を含むOSに関する情報(以下、OS情報)を、後述する監視制御手段6の起動オプション選択肢61に追加・削除する。なお、ブートオプション識別子は、ブートオプションごとに一意に付される識別子である。また、ブートオプション表示名とは、BIOSセットアップに表示されるブートオプションの表示名である。
<第2の記憶手段>
第2の記憶手段5は、ブートオプションやBIOS、OSに関する情報を記憶する記憶手段である。第2の記憶手段5は、例えばNVRAMなどの不揮発性メモリによって実現される(NVRAM:Non−Volatile Random Access Memory)。
図1の例では、対応テーブル51、ブートオプションテーブル53、ブートオーダーリスト55およびセットアップ設定値57が第2の記憶手段5に格納されている。
ブートオプションテーブル53は、起動されるOSに対応してBIOSセットアップに表示される表示名や起動プログラムなどといったOS起動に必要な情報を、ブートオプション識別子と対応させて格納するテーブルである。
対応テーブル51は、ブートオプション識別子がどの種類のOSに対応するのかを示すテーブルである。
ブートオーダーリスト55(Boot Order List)は、ブートオプション識別子のリストである。ブートオーダーリスト55は、情報処理システム1の起動後に、管理制御機能41によって実行される起動プログラムの起動順番を記録したものである。
セットアップ設定値57は、BIOSセットアップに関する設定値である。セットアップ設定値57は、各OSを起動するために事前に設定できる設定値であり、BIOSの持つBIOSセットアッププログラムにより手動操作によって変更が可能である。セットアップ設定値57は、情報処理システム1を構成する機器に関する設定を含む。
<監視制御手段>
監視制御手段6は、情報処理システム1の状態を監視するとともに、情報処理システム1を制御する機能を有する。監視制御手段6は、例えばBMCによって実現される(BMC:Baseboard Management Controller)。本実施形態においては、監視制御手段6がBMCによって実現されるものとして説明する。
監視制御手段6は、例えば、情報処理システム1を構成する装置(CPUやメモリ、ファンなどの各種ハードウェア)や温度・電圧などの環境状態を監視する機能を有する。監視制御手段6は、情報処理システム1やOSがシャットダウンしているときも、常に動作し続ける。そのため、監視制御手段6を介して、端末9などの外部装置から情報処理システム1の状態を監視・制御することができる。なお、監視制御手段6は、情報処理システムの状態監視および制御のみならず、一般的なBMCが有する他の機能をも有する。
監視制御手段6をBMCによって実現する場合、BMCの機能は情報処理システム1のハードウェアを搭載するマザーボード上のチップとして提供される。BMCは、情報処理システム1を運用管理するソフトウェアによって、情報処理システム1のハードウェア(機器)の一括管理を可能とする。
図1の例では、監視制御手段6は、起動オプション選択肢61、ネットワークインターフェース63を有する。
起動オプション選択肢61は、少なくとも一つのOS情報を起動オプションとして含む選択肢である。起動オプション選択肢61は、例えばブートオプション表示名とブートオプション識別子とを対応付けるテーブル形式で与えられる。
ネットワークインターフェース63は、各種周辺機器とのインターフェースとして機能するとともに、ネットワーク8を介してユーザの端末9と接続されるインターフェースとして機能する。
ネットワーク8は、情報処理システム1と端末9とを接続する通信網である。ネットワーク8は、例えば、インターネットやLAN、WANなどとして構築される通信網である(LAN:Local Area Network、WAN:Wide Area Network、)。なお、ネットワーク8は、上述の通信網以外の構成を利用してもよい。
端末9は、ユーザの操作を受け付ける情報処理端末である。端末9は、デスクトップPCやノートPC、タブレット、スマートフォン、携帯電話端末などの機器によって実現される(PC:Personal Computer)。なお、端末9の形態はここであげた限りではなく、ユーザの操作を情報処理システム1に反映させることができる装置や機器であればよい。
以上が、本発明の第1の実施形態に係る情報処理システムの構成に関する説明である。なお、本実施形態に係る情報処理システムの動作については、後述する第2の実施形態に係るサーバシステムに関する説明において明らかにする。また、本実施形態に係る情報処理システムによって得られる効果は、後述する第2の実施形態に係るサーバシステムによって得られる効果と同様のものである。
(第2の実施形態)
次に、本発明の第2の実施形態に係るサーバシステム2について説明する。第2の実施形態に係るサーバシステム2は、第1の実施形態に係る情報処理システム1を具体化したシステムである。
図2は、本発明の第2の実施形態に係るサーバシステム2の構成を示すブロック図である。
サーバシステム2は、CPU10、メモリ20、二次記憶装置30、ROM40、NVRAM50、BMC60を備える。サーバシステム2に備えられた各構成要素は、互いにバス70によって接続される。また、サーバシステム2は、LAN80を介してコンピュータシステム90に接続される。
CPU10は、サーバシステム2を制御するプログラムのコードを実行する中央演算処理装置である。
メモリ20は、ROM40からプログラムが展開される主記憶装置である。
二次記憶装置30は、第1の実施形態に係る情報処理システム1が備える補助記憶手段3に相当する。二次記憶装置30は、OS301とOS303とを格納する。二次記憶装置30が格納する各OSは、それぞれOS種類通知機能を持つ。すなわち、OS301はOS種類通知機能302を有し、OS303はOS種類通知機能304を有する。
ROM40は、第1の実施形態に係る情報処理システム1が備える第1の記憶手段4に相当する。ROM40は、BIOS400を格納する。
BIOS400は、第1の実施形態に係る情報処理システム1が備える管理制御機能41に相当する。BIOS400は、BIOSセットアップ設定値テーブル403、OS識別機能405、OS情報追加機能407およびOS情報削除機能408を含む。
BIOSセットアップ設定値テーブル403は、第1の実施形態に係る情報処理システム1が備える第1の記憶手段4の管理制御機能41に含まれる設定値テーブル43に相当する。BIOSセットアップ設定値テーブル403は、各OSを起動する際に事前に設定をしなければならないBIOSセットアップ設定値を格納するテーブルである。
BIOSセットアップ設定値テーブル403の一例を図3に示す。BIOSセットアップ設定値テーブル403には、各OS種類(TypeA、B、C)に関して、設定1〜3が有効(Enabled)であるのか、無効(Disabled)であるのかが記録される。
図3のBIOSセットアップ設定値テーブル403によると、TypeAでは、設定1〜3が無効(Disabled)となる。また、TypeBでは、設定1および設定2が有効(Enabled)となり、設定3が無効(Disabled)となる。また、TypeCでは、設定1〜3が有効(Enabled)となる。
設定1〜3の設定値は、通常、ユーザによって選択されるものであるが、本実施形態に係るサーバシステム2によれば自動的に設定される。例えば、OS種類がTypeAと判別されたとき、各設定値は自動的にBIOSセットアップ設定値テーブル403の値(設定1〜3の全てがDisabled)に設定される。
OS識別機能405は、第1の実施形態に係る情報処理システム1が備える第1の記憶手段4の管理制御機能41に含まれるOS識別手段45に相当する。OS識別機能405は、起動対象となる各OSのOS種類通知機能に問い合わせて、起動するOSのOS種類を識別する機能である。
OS情報追加機能407およびOS情報削除機能408は、第1の実施形態に係る情報処理システム1の第1の記憶手段4に格納される管理制御機能41に含まれるOS情報変更手段47の機能である。
OS情報追加機能407は、第1の実施形態のOS情報変更手段47によるOS情報の追加機能を発揮する。すなわち、OS情報追加機能407は、BMCの起動オプション選択肢601にOS情報(ブートオプション識別子およびブートオプション表示名)を追加する機能である。
OS情報削除機能408は、第1の実施形態のOS情報変更手段47によるOS情報の削除機能を発揮する。OS情報削除機能408は、BMCの起動オプション選択肢601からOS情報を削除する機能である。
NVRAM50は、第1の実施形態に係る情報処理システム1が備える第2の記憶手段5に相当する。
NVRAM50は、ブートオプション識別子・OS種類対応テーブル501(以下、対応テーブル501と記載)、ブートオプションテーブル503、ブートオーダーリスト505、BIOSセットアップ設定値507を格納する。第1の実施形態に係る情報処理システム1との対応をみると、対応テーブル501は対応テーブル51に相当する。同様に、ブートオプションテーブル503はブートオプションテーブル53に相当し、ブートオーダーリスト505はブートオーダーリスト55に相当し、BIOSセットアップ設定値507はセットアップ設定値57に相当する。
ここで、NVRAM50に格納される各テーブルについて個別に説明する。
対応テーブル501は、ブートオプション毎に振られる一意の値であるブートオプション識別子が、どの種類のOSに対応するのかを示すテーブルである。
対応テーブル501の一例を図4に示す。図4の対応テーブル501には、ブートオプション識別子が1のブートオプションのOS種類はTypeAであり、ブートオプション識別子が2のブートオプションのOS種類はTypeBであることが記録されている。
ブートオプションテーブル503は、サーバシステム2で起動可能なブートオプションを格納する。なお、ブートオプションには、BIOSセットアップに表示される表示名や起動プログラムなどといったOS起動に必要な情報が含まれる。
ブートオプションテーブル503の一例を図5に示す。図5のブートオプションテーブル503によると、ブートオプション識別子が1の場合、BIOSセットアップに「Operating System1」と表示され、「¥¥aaa¥bbb¥ccc.efi」が起動プログラムとして実行される。また、ブートオプション識別子が2の場合、BIOSセットアップに「Operating System2」と表示され、「¥¥ddd¥eee¥fff.efi」が起動プログラムとして実行される。
ブートオーダーリスト505は、ブートオプション識別子を起動順に並べたリスト(図示しない)である。サーバシステム2の起動後、BIOS400は、ブートオーダーリスト505の順番で起動プログラムを実行する。
BIOSセットアップ設定値507は、BIOSセットアップに関する設定値であり、各OSを起動するために事前に設定できる設定値である。BIOSセットアップ設定値507は、図6のように、各設定に対応する設定値をまとめたテーブル形式で提供することができる。
BMC60は、第1の実施形態に係る情報処理システム1が備える監視制御手段6に相当する。BMC60は、起動オプション選択肢601とネットワークインターフェース603とを有する。BMC60は、サーバシステム2がシャットダウンしているときも、常に動作し続けている。
起動オプション選択肢601は、第1の実施形態に係る情報処理システム1が備える監視制御手段6に含まれる起動オプション選択肢61に相当する。起動オプション選択肢601には、起動オプションの選択肢として、ブートオプション識別子とブートオプション表示名とを含むOS情報が追加・削除される。
図7には、起動オプション選択肢601をまとめた起動オプション選択肢テーブル610の一例を示した。起動オプション選択肢テーブル610は、ブートオプション表示名と、ブートオプション識別子とを対応させたテーブルである。
ネットワークインターフェース603は、第1の実施形態に係る情報処理システム1が備える監視制御手段6に含まれるネットワークインターフェース63に相当する。ネットワークインターフェース603は、LAN80を介してコンピュータシステム90と接続される。
LAN80は、第1の実施形態に係る情報処理システム1が接続されるネットワーク8の一形態である。
コンピュータシステム90は、ユーザの操作を受け付け、起動オプション選択肢601から起動オプションを一つ選択し、サーバシステム2に起動の指示を出力する。
以上が、第2の実施形態に係るサーバシステム2の構成に関する説明である。
(動作)
次に、図8〜図10を参照しながら、本発明の第2の実施形態に係るサーバシステム2の動作について説明する。
<OS情報追加処理>
まず、図8のフローチャートを用いて、BMC60の起動オプション選択肢601にOS情報を追加するOS情報追加処理のBIOS処理フローについて説明する。なお、図8のフローの事前準備として、ユーザは、OS起動するためのBIOSセットアップを設定しておく。
図8において、まず、サーバシステム2の起動後、BIOS400は、BIOSセットアップ設定値507に従ってPOST(Power On Self Test)を実行し、ハードウェアの初期化を行う(ステップS11)。なお、POSTとは、電源投入された際に、ブートの前に行われる処理を指す。
POST完了後、BIOS400は、ブートオーダーリスト505の中で優先順位の高いブートオプション識別子から順番に、ブートオプションテーブル503を参照しながら起動プログラムを実行する(ステップS12)。
BIOS400は、実行した起動プログラムのブートオプション識別子を保持する(ステップS13)。
OS起動時に、BIOS400のOS識別機能405は、起動対象となるOS(301または303)のOS種類通知機能(302または304)に問い合わせ、起動するOSのOS種類を識別する(ステップS14)。
ここで、BIOS400は、ステップS13で保持したブートオプション識別子が対応テーブル501に記録されているか否かを判定する(ステップS15)。
OS起動時(ステップS13)に保持したブートオプション識別子が対応テーブル501に記録されていなかった場合(ステップS15でNo)、BIOS400は、ブートオプション識別子とOS種類とを対応させて対応テーブル501に保存する。すなわち、BIOS400は、対応テーブル501に記録されていなかったブートオプション識別子と、対応するOS種類とを関連付けて対応テーブル501に追加する(ステップS16)。
一方、OS起動時(ステップS13)に保持したブートオプション識別子が対応テーブル501に記録されていた場合(ステップS15でYes)、対応テーブル501には何も追加せずに、図8の処理フローを終了となる。
ステップS16の後、BIOS400のOS情報追加機能407は、BMC60の起動オプション選択肢テーブル610に、ステップS16で追加されたブートオプション識別子のOS情報を起動オプション選択肢601として追加する(ステップS17)。
以上が、BMC60の起動オプション選択肢601にOS情報を追加するOS情報追加処理のBIOS処理フローに関する説明である。
<OS情報削除処理>
次に、図9のフローチャートを用いて、BMC60の起動オプション選択肢601から、削除対象のOS情報を削除するOS情報削除処理のBIOS処理フローについて説明する。なお、図9のBIOS処理フローは、無効なブートオプションが対応テーブル501に格納されているときの処理フローとなる。
図9において、まず、サーバシステム2の起動後、BIOS400は、BIOSセットアップ設定値507に従ってPOSTを実行し、ハードウェアの初期化を行う(ステップS21)。ただし、ここでいうハードウェアは、情報処理装置を構成する機器とみなす。
ここで、BIOS400は、ブートオーダーリスト505の中で優先度の高いブートオプション識別子から順番に、ブートオプションテーブル503を参照してプログラムを実行しようとする。しかしながら、対応テーブル501には無効なブートオプションが格納されているため、BIOS400は、ブートオプションの起動プログラムの実行に失敗する(ステップS22)。
このとき、BIOS400は、ブートオプションが無効と判断し、無効と判断されたブートオプション識別子の項目を対応テーブル501から削除する(ステップS23)。
また、BIOS400のOS情報削除機能408は、無効と判断されたブートオプション識別子のOS情報に関するBMC60の起動オプション選択肢601を、起動オプション選択肢テーブル610から削除する(ステップS24)。
以上が、BMC60の起動オプション選択肢601から、削除対象のOS情報を削除するOS情報削除処理のBIOS処理フローに関する説明である。
<サーバシステム起動処理>
次に、図10のフローチャートを用いて、BMC60の起動オプション選択肢601から起動オプションとしてOS情報を指定してサーバシステム2を起動したときのBIOS処理フローについて説明する。
まず、サーバシステム2の起動後、BIOS400は、BMC60からブートオプション識別子を取得する(ステップS31)。
BIOS400は、対応テーブル501を確認し、取得したブートオプション識別子に対応するOS種類を特定する(ステップS32)。
次に、BIOS400は、ハードウェアの初期化を行う(ステップS33)。なお、ハードウェアの初期化においては、BIOSセットアップ設定値テーブル403中の設定項目についてはステップS32で特定されたOS種類の設定値に従い、残りの設定項目についてはBIOSセットアップ設定値507に従ってPOSTが実行される。
ハードウェアの初期化が完了した後、BIOS400は、ブートオプションテーブル503を参照し、ステップS31で取得したブートオプション識別子の起動プログラムを実行し、起動対象となるOSを起動する(ステップS34)。
以上がサーバシステム2の起動に関するBIOS処理についての説明である。
(効果)
本発明の第2の実施形態に係るサーバシステムによれば、OSを切り替える際にユーザが行なわなければならなかったBIOSセットアップ変更を自動的に行うことが可能となる。その結果、OSを切り替える際に、ユーザによる手作業を削減することができるという第一の効果が得られる。その理由は、BMCから起動するブートオプションを指定してサーバシステムを起動すると、BIOSは、各テーブルを参照し、起動対象となるOSを起動するために必要な設定値を判断することができるからである。
特許文献1(特開2006−268519号公報)の方法では、OS毎に異なるBIOSの設定をするために、サーバシステムの起動前に手動でDIPSWを設定する必要があった(DIPSW:Dual In−line Package Switch)。それに対し、本発明の実施形態では、複数のビットを組み合わせるDIPSWのような複雑な設定を必要としない。なお、特許文献1では複数のパーティションで別々のOSを運用することを想定しているが、本実施形態では単一のパーティション内で複数のOSを切り替えるシステムを運用することを想定しているという相違点がある。
また、本発明の第2の実施形態に係るサーバシステムによれば、ユーザによるBIOSセットアップの設定ミスの回避できるという第二の効果が得られる。その理由は、上述した第一の効果により、OSを切り替える場合に、ユーザによってBIOSセットアップから設定値を変更する必要がないからである。
また、本発明の第2の実施形態に係るサーバシステムによれば、OS切り替え完了までの時間が削減されるという第三の効果が得られる。その理由は、上述した第一の効果により、OS起動に先立ってBIOSセットアップを起動する必要がなくなるためである。
(関連技術)
ここで、一般的なサーバシステムの起動について説明する。
一般に、サーバシステムの起動後には、BIOSによってサーバシステムのハードウェア初期化が行われる。ハードウェア初期化の設定値は、BIOSセットアップと呼ばれる設定画面から変更することができる。BIOSセットアップで設定値を変更すると、設定値の変更をハードウェアに反映させるために、サーバシステムの再起動が必要となる場合がある。BIOSセットアップの設定値の中には、OSがサポートするCPU機能の違いや、それぞれのOSに対応したBIOSの作り込みのため、起動するOSに依存して値が決まっているものもある。通常、起動するOSを切り替える前には、BIOSセットアップを起動し、手動操作による設定値の変更が必要となる。
一般に、サーバシステムが起動され、ハードウェアが初期化された後に、BIOSは、BIOSセットアップで設定可能なBoot Option(以下、ブートオプション)の優先順位に従って、二次記憶装置からOSを起動する。OSブートの方式として、LagacyブートやUEFIブートを挙げることができる(UEFI:Unified Extensible Firmware Interface)。Legacyブートは、MBRを利用したOSブートである(MBR:Master Boot Record)。Legacyブートでは、IPLによってHDD内の起動パーティションが決まっている(IPL:Initial Program Loader)。それに対し、GPTを利用したOSブートであるUEFIブートでは、BIOSがOSを選択して起動することが可能である(GPT:Globally Unique Identifier Partition Table)。
そして、BIOSは、POSTを実行し、ブートオーダーリストに従って、BIOSセットアップに表示されるブートオプションの中で優先順位の高いブートオプションに対応する起動プログラムを実行することによってOSを起動する。
また、BIOS起動中にBMCに設定した起動デバイスを取得する「Get System Boot Options」というIPMIコマンドが仕様として存在する。Get System Boot Optionsは、ユーザがBMCに指定したデバイスからのサーバシステム起動を可能とするコマンドである。ユーザがBMCとして指定するデバイスには、例えばHDD、CD/DVD等がある(CD:Compact Disk、DVD:Digital Versataile Disk)。
特開2011−154732号公報(以下、特許文献4)には、コンピュータシステム全体を管理するシステム管理機構からブート対象のOSのイメージの指定をリモートで行えるリモートブート方法について開示されている。特許文献4のリモートブート方法は、コンピュータシステム全体を監視する機構とブートファームウェアのブートに関する設定値を同期し、UEFIブートを利用する(UEFI:Unified Extensible Firmware Interface)。その結果、コンピュータシステム全体を監視する機構(BMC等)からブート対象のイメージの指定を可能とする。
特許文献4のリモートブート方法では、OS毎にBIOSセットアップ設定を変更する機構が備わっていないため、BIOSがブート対象のOSの種類を判別してBIOSセットアップ設定値を切り替えることができない。そのため、OSイメージの指定を変更する場合は、BIOSセットアップを起動し、手動によるBIOSセットアップ設定値の変更が必要となる。また、オペレーディングシステムローダのファイル位置やファイル名が同一のOSが存在すると、特許文献4の方法では、BIOSがOSの種類を判別してBIOSセットアップ設定値を切り替えることもできない。オペレーディングシステムローダのファイル名が同一のOSの例としては、Windows(登録商標) Server 2008 R2と、Windows Server 2012とを挙げることができる。したがって、特許文献4のリモートブート方法では、OSイメージの指定を変更する場合、BIOSセットアップを起動し、手動によるBIOSセットアップ設定値の変更が必要となるという問題点がある。
1 情報処理システム
2 サーバシステム
3 補助記憶手段
4 第1の記憶手段
5 第2の記憶手段
6 監視制御手段
7 バス
8 ネットワーク
9 端末
10 CPU
20 メモリ
30 二次記憶装置
31、33 OS
32、34 OS種類通知手段
40 ROM
41 管理制御機能
43 設定値テーブル
45 OS識別手段
47 OS情報変更手段
50 NVRAM
51 対応テーブル
53 ブートオプションテーブル
55 ブートオーダーリスト
57 セットアップ設定値
60 BMC
61 起動オプション選択肢
63 ネットワークインターフェース
70 バス
80 LAN
90 コンピュータシステム
301、303 OS
302、304 OS種類通知機能
400 BIOS
403 BIOSセットアップ設定値テーブル
405 OS識別機能
407 OS情報追加機能
408 OS情報削除機能
501 ブートオプション識別子・OS種類対応テーブル
503 ブートオプションテーブル
505 ブートオーダーリスト
507 BIOSセットアップ設定値
601 起動オプション選択肢
603 ネットワークインターフェース
610 起動オプション選択肢テーブル

Claims (10)

  1. 複数のOS(Operating System)を起動することができる情報処理システムであって、
    少なくとも一つのOSを格納する補助記憶手段と、
    前記OSの種類に対応した設定を記録する設定値テーブルを格納し、前記情報処理システムの起動時にBIOS(Basic Input/Output System)処理を実行するプロセッサを管理制御機能として動作させるプログラムを含む第1の記憶手段と、
    ブートオプションごとに一意に付されるブートオプション識別子と前記OSの種類とを対応付ける対応テーブルと、前記ブートオプションの表示名および起動プログラムを前記ブートオプション識別子と対応付けるブートオプションテーブルと、前記情報処理システムの起動後に前記管理制御機能によって実行される前記起動プログラムの起動順番を記録したブートオーダーリストと、前記OSを起動するために事前に設定されるBIOSセットアップ設定値とを含む第2の記憶手段と、
    前記ブートオプションの表示名と前記ブートオプション識別子とを対応付ける起動オプション選択肢テーブルを格納し、前記情報処理システムの状態を常に監視するとともに、前記情報処理システムの状態に応じて前記情報処理システムを制御する監視制御手段とを備える情報処理システム。
  2. 前記管理制御機能は、
    前記監視制御手段から起動対象となる前記OSに関する前記ブートオプション識別子を取得すると、
    前記ブートオプション識別子に対応する前記OSの種類を前記対応テーブルに基づいて特定し、
    前記設定値テーブルに基づいて前記情報処理システムを構成する機器の設定をするとともに、前記設定値テーブルによって得られなかった前記情報処理システムを構成する機器の設定を前記BIOSセットアップ設定値に従って設定することによって初期化し、
    起動対象となる前記OSに関する前記ブートオプション識別子に対応する前記起動プログラムを前記ブートオプションテーブルに基づいて起動し、起動された前記起動プログラムを実行することによって起動対象となる前記OSを起動する請求項1に記載の情報処理システム。
  3. 前記監視制御手段は、
    BMC(Baseboard Management Controlである請求項1または2に記載の情報処理システム。
  4. 前記OSは、
    前記管理制御機能からの問い合わせに応じて、前記OSの種類を前記管理制御機能に通知するOS種類通知手段を含み、
    前記管理制御機能は、
    起動対象となる前記OSの前記OS種類通知手段に問い合わせ、起動する前記OSの種類を識別するOS識別手段を含む請求項1乃至3のいずれか一項に記載の情報処理システム。
  5. 前記管理制御機能は、
    前記起動オプション選択肢テーブルに前記OSに関する情報を追加するOS情報追加機能と、
    前記起動オプション選択肢テーブルから前記OSに関する情報を削除するOS情報削除機能とを含む請求項1乃至4のいずれか一項に記載の情報処理システム。
  6. 前記情報処理システムが起動されると、
    前記管理制御機能は、
    前記BIOSセットアップ設定値に従ってPOST(Power On Self Test)を実行して前記情報処理システムを構成する機器を初期化し、
    前記ブートオーダーリストに記録された優先順位に従って前記ブートオプションテーブルに基づいて前記起動プログラムを実行して起動対象の前記OSを起動するとともに、実行した前記起動プログラムの前記ブートオプション識別子を保持し、
    前記OS識別手段は、
    起動対象となる前記OSの前記OS種類通知手段に問い合わせて起動する前記OSの種類を識別し、
    前記管理制御機能は、
    保持している前記ブートオプション識別子が前記対応テーブルに記録されているか否かを判定し、
    保持している前記ブートオプション識別子が前記対応テーブルに記録されていなかった場合、
    保持している前記ブートオプション識別子と、保持している前記ブートオプション識別子に対応する前記OSの種類とを前記対応テーブルに追加するとともに、追加された前記ブートオプション識別子を含むOS情報を前記監視制御手段の前記起動オプション選択肢テーブルに追加する請求項4に記載の情報処理システム。
  7. 前記情報処理システムが起動されると、
    前記管理制御機能は、
    前記BIOSセットアップ設定値に従ってPOST(Power On Self Test)を実行して前記情報処理システムを構成する機器を初期化し、
    前記ブートオーダーリストに記録された優先順位に従って前記ブートオプションテーブルに基づいて前記起動プログラムを実行した際に、前記ブートオプションテーブルに含まれる前記ブートオプションの前記起動プログラムの実行ができなかった場合、
    実行できなかった前記ブートオプションが無効であると判断し、前記無効と判断されたブートオプションと、前記無効と判断されたブートオプションに対応する前記OSの種類とを前記対応テーブルから削除するとともに、前記無効と判断されたブートオプションを含むOS情報を前記監視制御手段の前記起動オプション選択肢テーブルから削除する請求項4乃至6のいずれか一項に記載の情報処理システム。
  8. ネットワークを介して前記監視制御手段と接続され、ユーザによって設定された前記BIOSセットアップ設定値に基づいて前記情報処理システムを起動する指示を出力する端末を備える請求項1乃至7のいずれか一項に記載の情報処理システム。
  9. 複数のOS(Operating System)を起動することができる情報処理システムの管理制御方法であって、
    ブートオプションごとに一意に付されるブートオプション識別子を取得し、
    前記OSの種類に対応した設定を記録する設定値テーブルに基づいて前記情報処理システムを構成する機器の設定をするとともに、前記設定値テーブルによって得られなかった前記情報処理システムを構成する機器の設定を、前記OSを起動するために事前に設定されるBIOSセットアップ設定値に従って設定することによって初期化し、
    起動対象となる前記OSに関する前記ブートオプション識別子に対応する起動プログラムを、前記ブートオプションの表示名および前記起動プログラムを前記ブートオプション識別子と対応付けるブートオプションテーブルに基づいて起動し、
    起動された前記起動プログラムを実行することによって起動対象となる前記OSを起動する管理制御方法。
  10. 複数のOS(Operating System)を起動することができる情報処理システムの管理制御プログラムであって、
    ブートオプションごとに一意に付されるブートオプション識別子を取得する処理と、
    前記OSの種類に対応した設定を記録する設定値テーブルに基づいて前記情報処理システムを構成する機器の設定をするとともに、前記設定値テーブルによって得られなかった前記情報処理システムを構成する機器の設定を、前記OSを起動するために事前に設定されるBIOSセットアップ設定値に従って設定することによって初期化する処理と、
    起動対象となる前記OSに関する前記ブートオプション識別子に対応する起動プログラムを、前記ブートオプションの表示名および前記起動プログラムを前記ブートオプション識別子と対応付けるブートオプションテーブルに基づいて起動する処理と、
    起動された前記起動プログラムを実行することによって起動対象となる前記OSを起動する処理とをコンピュータに実行させる管理制御プログラム。
JP2014170081A 2014-08-25 2014-08-25 情報処理システム、管理制御方法および管理制御プログラム Active JP6428047B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014170081A JP6428047B2 (ja) 2014-08-25 2014-08-25 情報処理システム、管理制御方法および管理制御プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014170081A JP6428047B2 (ja) 2014-08-25 2014-08-25 情報処理システム、管理制御方法および管理制御プログラム

Publications (2)

Publication Number Publication Date
JP2016045750A JP2016045750A (ja) 2016-04-04
JP6428047B2 true JP6428047B2 (ja) 2018-11-28

Family

ID=55636250

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014170081A Active JP6428047B2 (ja) 2014-08-25 2014-08-25 情報処理システム、管理制御方法および管理制御プログラム

Country Status (1)

Country Link
JP (1) JP6428047B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107918580A (zh) * 2016-10-11 2018-04-17 英业达科技有限公司 用于计算机的开机侦测系统与开机侦测方法
JP7084160B2 (ja) * 2018-03-02 2022-06-14 Necプラットフォームズ株式会社 起動制御装置、起動制御システム、起動制御方法、及び、起動制御プログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002259130A (ja) * 2001-03-02 2002-09-13 Toshiba Corp 情報処理システムおよびその起動制御方法
JP5066946B2 (ja) * 2007-03-05 2012-11-07 日本電気株式会社 Os種別自動特定装置、os自動起動装置、プロセッサシステム、os種別自動特定方法、os自動起動方法、プログラム、及び記憶媒体
DE102012100738A1 (de) * 2012-01-30 2013-08-01 Fujitsu Technology Solutions Intellectual Property Gmbh Verfahren zur Konfiguration eines BIOS in einem Computersystem sowie Computerprogrammprodukt

Also Published As

Publication number Publication date
JP2016045750A (ja) 2016-04-04

Similar Documents

Publication Publication Date Title
TWI578233B (zh) 統一韌體管理系統、非揮發電腦可讀取媒體以及統一韌體管理方法
TWI534708B (zh) 用於管理電腦系統中之基本輸入輸出系統組態之方法、管理裝置、及電腦可讀取媒體
US8751783B2 (en) Booting computing devices with EFI aware operating systems
US8930769B2 (en) Managing operating system deployment failure
TW201706869A (zh) 主機板及其非暫態電腦可讀取儲存裝置
JP2010526388A (ja) ホストコンピュータに対して露出するためのusb対応周辺装置のための代替usb構成を自動的に提供する方法、装置及び記憶媒体
JP6366726B2 (ja) テンプレートベースのプラットフォームとインフラをプロビジョニングするための方法とその装置
JP6089065B2 (ja) アップデート方法及びコンピュータシステム
CN102135893A (zh) 将操作系统集成到bios芯片及启动服务器上操作系统的方法
US20140244822A1 (en) Management apparatus and method of managing server node
US11030047B2 (en) Information handling system and method to restore system firmware to a selected restore point
US8335891B2 (en) Method and system for configuring a storage array
US20110113227A1 (en) Electronic equipment and boot method, storage medium thereof
US11175860B2 (en) Virtual memories to load operating systems
CN106325563B (zh) 用于标识电子设备的数据存储设备及相应的方法
US20150324209A1 (en) Operating System Switching Method and Dual-Operating System Electronic Device Using the Same
JP4759941B2 (ja) 起動イメージ提供システム及び方法、ブートノード装置、ブートサーバ装置並びにプログラム
JP2017062537A (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム
JP6428047B2 (ja) 情報処理システム、管理制御方法および管理制御プログラム
JP2001306327A (ja) Os起動前のアプリケーション実行方法及びデータ処理システム
TWI520063B (zh) 多重作業環境服務的管理系統及管理方法
TWI750215B (zh) Bios切換裝置
US20140136777A1 (en) Method and system for configuring a storage array
JP2003296263A (ja) コンピュータシステムにおけるpci拡張カードの自動隠蔽方法、およびそのシステム
JP6331505B2 (ja) 起動制御装置、起動制御方法、及び起動制御プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170718

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180307

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180320

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180507

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: 20181002

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181015

R150 Certificate of patent or registration of utility model

Ref document number: 6428047

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150