Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP4448878B2 - 障害回復環境の設定方法 - Google Patents
[go: Go Back, main page]

JP4448878B2 - 障害回復環境の設定方法 - Google Patents

障害回復環境の設定方法 Download PDF

Info

Publication number
JP4448878B2
JP4448878B2 JP2007315343A JP2007315343A JP4448878B2 JP 4448878 B2 JP4448878 B2 JP 4448878B2 JP 2007315343 A JP2007315343 A JP 2007315343A JP 2007315343 A JP2007315343 A JP 2007315343A JP 4448878 B2 JP4448878 B2 JP 4448878B2
Authority
JP
Japan
Prior art keywords
computer
hardware
management
unit
configuration information
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
JP2007315343A
Other languages
English (en)
Other versions
JP2009140194A (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.)
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 JP2007315343A priority Critical patent/JP4448878B2/ja
Priority to US12/043,580 priority patent/US7953831B2/en
Publication of JP2009140194A publication Critical patent/JP2009140194A/ja
Application granted granted Critical
Publication of JP4448878B2 publication Critical patent/JP4448878B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0876Aspects of the degree of configuration automation
    • H04L41/0883Semiautomatic configuration, e.g. proposals from system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0806Configuration setting for initial configuration or provisioning, e.g. plug-and-play

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Automation & Control Theory (AREA)
  • Hardware Redundancy (AREA)

Description

本発明は、フェイルオーバー機構を備える計算機のシステム構築簡単化方法に関する。
サーバ装置は複数の異なる種類の外部装置と接続するためのインターフェースを有している。外部装置の例として、ネットワーク装置やストレージ装置等がある。インターフェースの例として、ストレージ装置に接続するためのHBA(Host Bus Adapter)やネットワークに接続するためのNIC(Network Interface Card)などがある。また、これらのインターフェースは、インターフェースを製造したメーカーやインターフェースの種類に対応してドライバが提供される。
ドライバは、サーバ装置で稼動するオペレーティングシステム(OS)にインストールされ、サーバ装置の起動時に行われるOSの初期化処理において、ドライバによってディスク装置やネットワークなどの外部装置との接続が確立される。ドライバによって外部装置との接続が確立された後は、アプリケーションプログラムからの入出力要求をOSが受け付け、その要求を必要なドライバに転送することでアプリケーションプログラムは外部装置との入出力を行うことができる。
サーバ装置の障害に備えて、現用系サーバ装置と待機系サーバ装置を設け、現用系サーバ装置に障害が発生した場合に、待機系に切り替えて処理を継続するフェイルオーバーを実現する方法がある。例えば、現用系サーバ装置と待機系サーバ装置でディスク装置を共有し、現用系サーバ装置に障害が発生した場合は、ディスク装置内の現用系サーバ装置が使用していたOSが格納されたブートディスクを待機系サーバ装置に切り替えることで処理を引き継ぐ方法がある。
この方法では、現用系サーバ装置のインターフェースと待機系サーバ装置のインターフェースは切り替えに備えて同じ外部装置に接続されている。現用系サーバ装置が稼動している間は、待機系サーバ装置は電源がOFFの状態で待機している。現用系サーバに障害が発生し待機系サーバに切り替わる際に、待機系サーバ装置の電源がONされると、前述のOSの初期化処理によって待機系サーバ装置のインターフェースが初期化され、外部装置との接続が確立される。これらのプロセスによって、現用系サーバ装置から待機系サーバ装置への切り替えが完了する。
特開2006−163963号公報
一般に、前述のようなフェイルオーバーを行うシステムを構築する場合、現用系サーバ装置と待機系サーバ装置のハードウェアの構成を同一にする。例えば、サーバ装置が有するメモリ容量やプロセッサの種類や数である。これらは、切り替え後も切り替え前と同じ性能を維持するために必要となる。
一方、現用系サーバ装置と待機系サーバ装置が有するインターフェースも同一にしておく必要がある。これは、ドライバとインターフェースとの対応付けを保ち、サーバ装置の切り替え後も切り替え前と同じ外部装置と接続するためである。
ドライバとインターフェースとの対応付けが切り替え前と切り替え後で同じ場合は、切り替え後も切り替え前と同じようにシステムが正常に動作する。しかし、現用系サーバ装置のインターフェースと待機系サーバ装置のインターフェースの構成が異なっている場合は、切り替え後に正常に動作しないことがある。
正常に動作しない例の一つは、種類が異なっている場合である。ここで、種類とはHBAやNICといった接続対象が異なる機能を持つインターフェースを指す。この場合は、現用系サーバ装置で接続していた外部装置が、待機系サーバ装置では接続できなくなるため正常に動作しない。このケースは、現用系サーバ装置と待機系サーバ装置が物理的に同じ外部装置に接続されていない事が原因であり、同じ種類のインターフェースを現用系と待機系のサーバ装置に設ける必要がある。
しかし、同じ種類のインターフェースであってもインターフェースを製造したメーカーが異なる場合は、切り替え後に必要なインターフェースのドライバがインストールされていないため正常に動作しない。つまり、インターフェースに対応するドライバが無いため、OSの初期化時に正常に外部装置と接続できず切り替え前と同じ環境にならないため処理を継続することができなくなる。
さらに、同じ種類、同じメーカーであっても、インターフェース内に格納されたファームウェアのバージョン等の違いでも同じ現象になる可能性がある。ファームウェアは、インターフェースに新たな機能を追加する際にバージョンアップされることが多い。こういった場合、新しい機能に対応したドライバをOSにインストールしなければ正常に動作しないことがある。
そのため、フェイルオーバー環境を構築する際は、インターフェースの種類の違いやファームウェアのバージョンが違っても正常に動作するように、あらかじめOSに所定のドライバをインストールする作業を行う。しかし、この作業は現用系と待機系の全てのサーバに対して構成の違いやインストール作業が必要になるため、煩雑で時間がかかる。
例えば、現用系サーバ装置をN台、待機系サーバ装置をM台として、N台のいずれかの現用系サーバ装置に障害が発生すると、M台のいずれかの待機系サーバ装置に処理を引き継ぐ環境を構築する場合は、N+M台のサーバ構成情報の取得、およびN×M回のドライバインストール作業が必要になる。従って、NとMの台数が多くなるほど、フェイルオーバー環境の初期構築のための時間と作業が煩雑である。またそのためミスが増加する課題がある。
待機系サーバ装置に対して構成情報を取得するプログラムを転送し構成情報を取得し、前記待機系サーバ装置の構成情報と前記構成管理テーブルとを比較し、構成情報が異なっていた場合に、サーバ構成を模擬する手段を用いて現用系サーバ装置に不足する構成を模擬して前記現用系サーバ装置を起動し、前記不足する構成に対応するドライバをインストールする。
本発明によれば、フェイルオーバー機構のサーバ構築の時間を短縮し、簡単化することができる。
以下、図面を用いて本願発明の実施の形態を説明する。
図1は、本実施例の全体図の一例を示している。管理サーバ(管理コンピュータ)101は、障害管理部102と初期構築管理部103と各種テーブル(104〜107)から構成される。管理サーバ101は、ネットワークスイッチ108を介して、サーバ装置(コンピュータ装置)109、SVP(Service Processor)110に接続される。SVP110は全てのサーバ装置109と接続されている。
サーバ装置109はI/O仮想化部111と仮想サーバ(仮想コンピュータ)112を構成することができる。各サーバ装置109はストレージ装置113内のパス切り替え部114によって割り当てられたディスク115と接続され、サーバ装置109からディスク115にアクセスすることができる。
管理サーバ101は、サーバ装置109の障害を検知し回復する機能を有する。I/Oデバイス管理テーブル105は、I/Oデバイスとドライバの対応付け情報を格納する。I/F管理テーブル106はI/OデバイスのHBAとインターフェースの対応付け情報を格納する。構成管理テーブル104はサーバ装置109の構成情報や状態などが格納される。なお、I/Fとはインターフェースのことである。I/Oとは入出力のことである。
サーバ切り替え管理テーブル107は、サーバ装置109に障害が発生した場合の、交代用のサーバ装置109が定義され、切り替えのための初期構築設定状態が格納されている。本実施例では、管理サーバ101が、サーバ装置109の障害発生時の切り替えを行うための初期構築を簡単化する一実施例を示す。
図2は、管理サーバ101の構成の一例を示す。管理サーバ101は、メモリ201とプロセッサ202とディスクインターフェース203とネットワークインターフェース204から構成される。
メモリ201内には、障害管理部102、初期構築管理部103、構成管理テーブル104、I/Oデバイス管理テーブル105、I/F管理テーブル106、サーバ切り替え管理テーブル107が格納される。メモリ内の障害管理部102、初期構築管理部103、テーブル(104〜107)は、プロセッサ202に読み込まれ処理される。ディスクインターフェース203は、管理サーバ101を起動するためのプログラムが格納されたディスクに接続される。ネットワークインターフェース204は、ネットワークに接続され各装置の障害情報などが転送される。ネットワークはLAN(Local Area Network)やWAN(Wide Area Network)など様々なネットワークが適用可能である。
障害管理部102や初期構築管理部103はプログラムであり、これらのプログラムをプロセッサ202で実行することにより各処理を実現する。しかし、障害管理部102や初期構築管理部103はマイクロチップに集積回路化するなどしてハードウェアで実現することも可能である。
図3は、障害管理部102の構成の一例を示す。障害管理部102は、障害検出部301、サーバ切り替え部302から構成される。障害検出部102は、サーバ装置109の障害を検知する機能を有する。実施例1では、障害の管理対象となるサーバ装置109は複数存在する。
障害検出部102は、複数のサーバ装置109から発行された障害イベントの内容から、障害が発生したサーバ装置109の特定や、障害の種類などを特定する機能を有する。サーバ切り替え部302は、サーバ装置109に障害が発生した場合に、交代用のサーバ装置109に切り替える機能を有する。実施例1では、複数のサーバ装置109の障害に対して、複数の交代用のサーバ装置109を設けることができる。
サーバ切り替え部302は、障害検出部102によって複数のサーバ装置109の中から障害が発生したサーバ装置109が特定されると、特定されたサーバ装置109から交代用として設けられたサーバ装置109に切り替える機能を有する。後で詳細は説明するが、ここで切り替えとは障害が発生したサーバ装置109が使用していたシステムが格納された起動用のディスクや、システムが動作するために必要なデータディスクが交代用のサーバ装置109に切り替えられる。これにより、障害が発生したサーバ装置109に換わって、交代用のサーバ装置109で処理を継続することができるようになる。
図4は、初期構築管理部103の構成の一例を示す。初期構築管理部103は、図3にて述べたサーバ装置109の障害時の切り替えを実現するための前処理を行う。初期構築管理部103は、一般にはサーバ装置109を導入してから、実際の業務を開始する前の段階で実行される。
サーバ装置109の障害時に、交代用のサーバ装置109への切り替えを行うことで業務やサービスを継続することができるが、障害が発生したサーバ装置109と交代用のサーバ装置109の構成が異なっていると切り替えが正常に行われない可能性がある。例えば、ディスクインターフェース203、ネットワークインターフェース204の種類や数、あるいはインターフェース内のファームウェアバージョンなどの違いから、切り替え後に正常に動作しないなどの可能性がある。特に、障害管理の対象となるサーバ装置109と、交代用のサーバ装置109がそれぞれ複数存在すると、構成を完全に一致させることは非常に困難である。従って、初期構築管理部103は、こういった構成の違いを吸収し、切り替えが行われた後でも正常に動作することを保証する役割を有する。
初期構築管理部103は、構築管理部401、構成比較部402、構成情報取得部403、ドライバ管理部404、初期化部405、I/O仮想化管理部406から構成される。
構成管理部401はフェイルオーバー機能のサーバを構築するメインルーチンで、初期構築全体を管理する。構成比較部402は現用系サーバ装置601と待機系サーバ装置602の構成を比較する。構成情報取得部403はミニOSの起動や管理を行い、待機系サーバ装置602の構成情報を取得する。ドライバ管理部404はI/Oデバイスに対して適合するドライバを管理する。初期化部405はサーバ装置109に対してフェイルオーバーの初期構築開始を指示する。I/O仮想化管理部406はI/O仮想化部111に対して、現用系物理サーバ601の持つI/F模擬の指示を行う。
障害検出部301、サーバ切り替え部302、構築管理部401、構成比較部402、構成情報取得部403、ドライバ管理部404、初期化部405、I/O仮想化管理部406はプログラムであり、これらのプログラムをプロセッサ202で実行することにより各処理を実現する。しかし、障害検出部301、サーバ切り替え部302、構築管理部401、構成比較部402、構成情報取得部403、ドライバ管理部404、初期化部405、I/O仮想化管理部406はマイクロチップに集積回路化するなどしてハードウェアで実現することも可能である。
以下説明を簡略化するため、各種プログラムである各処理部を各処理の主体として説明する。なお各処理部をハードウェアで実現した場合にはその各処理部が主体となって各処理を行う。
図5はサーバ装置109の構成の一例を示す。サーバ装置109は、メモリ501、プロセッサ502、I/Oインタフェース503、BMC(Base board Management Controller)504から構成される。メモリ501には、サーバ装置109で処理されるプログラムが格納され、それらはプロセッサ502で実行される。
BMC504は、SVP110と接続され、構成情報の転送や障害の通知を行う。なお、BMC504は、プロセッサ502とは独立に動作でき、プロセッサ502に障害が発生し動作できなくなった場合にも、障害をSVP110に通知することができる。BMC504は、外部からの要求に従い電源管理をおこなうことができる。またBMC504は、サーバ109内に設置された温度センサや電圧センサの信号を監視して異常を監視しており、外部からの問い合わせに対して異常の有無を返信する機能を有する。なおBMC504はサーバ装置109とは別の、図には示していない補助電源から給電されるため、サーバ装置109の電源がオフの状態であっても常時機能する。
インターフェース503は、I/Oデバイスインターフェースに接続されストレージ装置113やネットワークスイッチ108などと接続する。一つのサーバ装置109に対して、複数のインターフェース503があっても良い。例えば、ストレージ装置113やネットワーク503に接続するケースや、高信頼化のために複数の同じ種類のインターフェース503を有するケースなどが考えられる。
サーバ起動部116は、SVP110や管理サーバ101からの要求を受け、ストレージ装置113に格納されたOSを取得し、取得したOS702を用いてサーバ装置109を起動する。また、SVP110や管理サーバ101からの要求を受け、仮想サーバ112やI/O仮想化部111を起動する。
BMC504は、サーバ装置109内のハードウェアに障害が発生した場合に、ネットワークを介して障害を通知する機能や電源のON/OFFを受け付ける機能を有する。
BMC504は障害の発生箇所とは独立に動作できるため、メモリ501やプロセッサ502に障害が発生したとしてもネットワークを介して障害通知を転送することができる。
メモリ501では仮想サーバ112とI/O仮想化部111を構成することが可能である。仮想サーバ112にはアプリケーション環境管理部603を構成する。アプリケーション環境管理部603とは、サーバ装置で稼動させたい業務システムを意味する。I/O仮想化部111にはI/F模擬部508を構成する。
I/F模擬部508は、サーバ装置109が有するインターフェース503を異なるファームウェアバージョン、異なる機能、異なるメーカー、異なる種類といった、当該サーバ装置109が有しないインターフェース503を模擬する機能を有する。なお、このI/F模擬部はアプリケーション環境管理部603に対して、異なるインターフェース503を提供することができる。
I/F模擬とは、より具体的には、仮想サーバ内で処理されるアプリケーション環境管理部603に対して、異なるI/Fを有すると見せかける事を意味する。後で詳細に説明するが、アプリケーション環境管理部603はOS702とアプリケーションプログラム701を管理する。アプリケーション環境管理部603に対する処理は、OS702やアプリケーションプログラム701等のアプリケーション環境に対する処理となる。I/Fの模擬の対象はOS702に対して行う。OS702は、新しいI/Fを発見するとドライバのインストールを試みる。そのため、新しいI/FのドライバをインストールするためにはOS702に対して新しいI/Fが発見されたことを示す必要がある。そのためのI/F模擬にはいくつかの方法が考えられる。
一つは、I/Fが接続された位置を模擬することである。一般にI/Fはサーバ装置109に設けられたバスなどに接続される。OS702は、I/Fとバスに接続された位置を対としてドライバを管理しており、I/Fの位置が変わったことでもドライバをインストールする必要がある。そのため、I/Fの位置を模擬し必要であればドライバをインストールすることが考えられる。I/Fの位置の模擬は、OS702の起動時に行われる初期化時に、I/F模擬部508がOS702に対して所定の位置情報をOSに返答することで実現できる。
また、他の模擬の方法として、種類が異なるI/Fの模擬がある。OS702は種類が異なるI/FかどうかをI/F自身が有する識別子から判断する。識別子は、OS702の初期化時にI/Fが接続されたバスを全て検索し、I/Fが発見されると所定のプロトコルにてI/Fの識別子の返答を要求される。その際に、I/F模擬部508は、模擬したい識別子を返答することで、OS702に対して新しいI/Fが接続されたことを示すことができる。I/Fを模擬した後は、模擬したI/Fと実際の物理的なI/Fとの間のI/Oを相互に変換する。
また、他の方法として、I/Fが有する機能を模擬する方法が考えられる。I/Fは、一般に機能を実現するための処理機構が搭載されている。例えば、処理機構は集積回路として搭載される。OS702から見たI/Fの機能とは、OS702から発行されたディスクのREAD/WRITE要求を処理することである。I/Fの処理機構とOS702とは、一般に処理機構が有する制御レジスタなどを使用して要求の受け付けを行う。
例えば、制御レジスタは、要求の形式やパラメタの順序などが決められており、これに従って処理が行われる。従って、I/Fの機能の模擬は、前述のI/Fの識別子と、OS702が発行するI/Fに対する制御レジスタの挙動をあらかじめI/F模擬部に登録しておき、I/Fの識別子の模擬の要求に対して、対応する制御レジスタの挙動を同じにすることで実現できる。
仮想サーバ112は、I/O仮想化部111からCPU時間やメモリを割り当てられ、OSから見たI/Fを模擬(エミュレート)した模擬I/Fを割り当てられた、論理的なハードウェア装置である。したがって、仮想サーバ112上のOSからも、仮想サーバ112の外側からも仮想サーバ112は物理的なハードウェアを持つサーバ装置と同じものとして認識される。
I/Fとの入出力の際には、仮想サーバ112とサーバ装置109の実デバイスとの間にI/O仮想化部111が入ってそれぞれからの入出力を変換する。I/F模擬部はこの入出力の変換によってOSから見た物理的なデバイスを模擬するものである。具体的には、I/O仮想化部111が,サーバ装置109の実デバイスからの入力を、仮想サーバ112に割り当てられた模擬I/Fで処理可能な情報に変換し、仮想サーバ112に入力する。またI/O仮想化部111は、仮想サーバ112からの出力を、サーバ装置109の実デバイス(I/F)で処理可能な情報に変換し、サーバ装置109の実デバイスに出力する。変換の方法を変えることにより,I/O仮想化部111は様々な種類の物理デバイスを模擬したり,任意の数のデバイスとして模擬した仮想デバイスを,仮想サーバに割り当てることが可能である。
このようにI/F模擬では、仮想サーバ内で処理されるアプリケーション環境管理部603に対して、異なるI/Fを有すると見せかけ、その異なるI/Fと実際の物理I/Fとの間で入出力を変換する。
仮想サーバ112やI/O仮想化部111、アプリケーション環境管理部603、I/F模擬部508、サーバ起動部116はプログラムであり、これらをプロセッサ202で実行することにより各処理を実現するが、仮想サーバ112やI/O仮想化部111、アプリケーション環境管理部603、I/F模擬部508、サーバ起動部116は、マイクロチップに集積回路化するなどしてハードウェアで実現することも可能である。
図6は、本実施例におけるサーバ装置109障害時の切り替え動作の概要を示す一例である。図6では、現用系サーバ装置(現用系コンピュータ)601のいずれかに障害が発生した場合に、待機系サーバ装置(待機系コンピュータ)602を使用して回復する動作を行う。現用系サーバ装置601とストレージ装置113のディスク115を接続しアプリケーション環境管理部603を実現する。現用系サーバ装置601に障害が発生すると、障害検出部301がその障害を検出する。そしてサーバ切り替え部302がストレージ装置のパス切り替え部114に対して、サーバの切り替えを要求する。
要求を受けたパス切り替え部114は、ディスク115と現用系サーバ装置601との間の接続経路を、待機系サーバ装置602に変更する。これにより、現用系サーバ装置601の障害時に、待機系サーバ装置602に処理を引き継ぐことができるようになる。ここで待機系サーバ装置602に引き継ぐディスク115には、アプリケーション環境そのものが格納されたシステム用のディスクや、アプリケーション環境が使用するデータ用のディスクなどがある。
図7はアプリケーション環境管理部とインターフェース(705、706)の関係を示す例である。サーバ装置109はインターフェースA703やインターフェースB704など複数のインターフェースを構成している。サーバ装置109のアプリケーション環境管理部603はOS702とOS702上のアプリケーションプログラム701から構成されるアプリケーション環境を管理する。このサーバ装置109にOS702を起動するためには、サーバ装置109のインターフェース(705、706)に適合したインターフェース用ドライバ(703、704)を、OS702にインストールしてある必要がある。
一般に、アプリケーション環境管理部603は、オペレーティングシステム(OS)702とアプリケーションプログラム701から構成されるアプリケーション環境を管理する。OS702には、サーバ装置109が有するインターフェース(705、706)の動作を制御し、外部とのデータ入出力を行うドライバ(703、704)が含まれる。アプリケーション環境管理部603はプログラムであり、これらをプロセッサ502で実行することにより各処理を実現するが、アプリケーション環境管理部603は、マイクロチップに集積回路化するなどしてハードウェアで実現することも可能である。
ドライバ(703、704)は、インターフェース(705、706)のそれぞれに対応して用意する必要がある。例えば、インターフェースA705のためにはインターフェースA用ドライバ703、インターフェースB706のためにはインターフェースB用ドライバ704のように、インターフェースが異なればそれに対応したドライバをOS702にインストールしておく必要がある。もし、新たなインターフェース(図示せず)をサーバ装置109に設ける場合は、事前にOS702に対してドライバをインストールする必要がある。
図8は従来の技術に対して初期構築の必要性を説明する一例を示している。図8では、現用系物理サーバ601と待機系物理サーバ602のインターフェースが異なっている場合を示している。インターフェースA705はストレージ装置113のブートディスク801に接続され、インターフェースB706はデータディスク802に接続されている例を示している。この環境において、現用系のサーバ装置601に障害が発生した場合、待機系サーバ装置602のそれぞれインターフェースC801に接続されることになる。
しかし、アプリケーション環境603には、インターフェースC用のドライバが存在しないため、論理的にはブートディスク801とデータディスク802が待機系サーバ装置602に切り替わったとしてもインターフェースCを制御できるドライバが存在しないため、動作することはできない。
切り替え後に正常な動作を行うためには、切り替え前に事前にインターフェースに合わせたドライバをOS603にインストールする必要がある。そのために、従来は、初期構築時において、事前に切り替えの組み合わせの回数だけ切り替えを実施し、必要なドライバをインストールしておく必要があった。
図9はドライバのインストール方法の一例を示している。
待機系サーバ装置602でOS603を起動させるために、I/F C801に適合したC用ドライバ901をインストールする必要がある。従来の初期構築は、待機系サーバ装置602でOS603が持っているドライバ(705〜706)に合わせてI/Fを選びOS603を起動させる。そして、待機系サーバ装置602にI/F C708を用意しC用ドライバ901をインストールする。以上の手順を踏んで、待機系サーバ装置602でI/Fに適応したドライバをインストールし動作環境を整える必要があった。
図10は本実施例における動作概要の一例を示している。現用系サーバ装置601でI/O仮想化部111と仮想サーバ112を立ち上げる。待機系サーバ装置602が有するインターフェースを事前に検出し、I/O仮想化部111ではI/F C508を模擬することによってOS603に対してI/F C801があるように見え、C用ドライバ901をOS603にインストールが可能となる。
各現用系サーバ装置601に対して、複数台で同時にI/O仮想化部111と仮想サーバ112を立ち上げることができる。そのため初期構築の時間を短縮することが可能となる。また待機系サーバ装置602に適合するドライバのインストールまで行うことが可能である。
つまり、従来技術では、待機系サーバ装置602が有するインターフェースは、実際に現用系のサーバ装置601から切り替えるまでOS603は知ることができなかった。そのため、現用系サーバ装置601と、待機系サーバ装置602の組み合わせの回数だけ切り替えて、必要に応じてドライバをインストールする作業を順次行う必要があった。
実施例1では、事前に待機系サーバ装置602のインターフェースを検出し、それに対応したI/Fを模擬することで、切り替えによる初期構築を行う必要がなくなる。従って、より高速に環境を構築することが出来ると共に、複雑な切り替え作業をプログラムで行うので、構築のミスを大幅に低減することができるようになる。
図11は構成管理テーブル104の一例を示す。カラム1101は、サーバ装置識別子を示す。カラム1102はサーバ装置の電源状態を示す。例えば、電源のON/OFF状態などが格納される。カラム1103は、I/O仮想化部起動状態が格納される。サーバ装置109でI/O仮想化部111が起動している場合にON、起動していない場合にOFFFが格納される。
カラム1104はサーバ装置109のI/Oデバイス(入出力デバイス)を示す。カラム1104はI/Oデバイスの種類1105と模擬1106の有無で構成される。カラム1105のI/Oデバイスの種類には、サーバ識別子1101に示されるサーバ装置109に接続されている全てのデバイスが格納される。
カラム1106にはそのI/Oデバイスが模擬されているデバイスであるかどうかを示す。カラム1107はサーバ装置の割当てディスクを示す。I/Oデバイスの中から、HBA(Host Bus Adapter)に関しては、ストレージ装置113の割り当てディスク115が格納される。
なお、カラム1107には、図10で示したブートディスク801とデータディスク802を示す情報を付加しても良い。ブートディスク801とデータディスク802の情報を付加する方法として、例えば管理者が入力しても良いし、OS702が発見したディスクの順番を記載しても良い。最初に発見されたディスクがブートディスク801であることが多いためである。
カラム1108はサーバ装置のインストール済みドライバを示す。カラム1109はサーバ装置の状態を示す。サーバ装置管理テーブル108によって、サーバ装置109に割り当てられたI/Oデバイスやインストール済みドライバを管理することができるようになる。
図12は、I/Oデバイス管理テーブル105の一例を示す。I/Oデバイス管理テーブル105は、I/OデバイスのI/Fと、HBAなどのI/Oデバイスの種類の対応づけを示す。カラム1201は、I/Oデバイス情報である、I/OデバイスのI/F1202と、I/Oデバイスの種類1203と、ファームウェアバージョン1204をまとめて格納する。
カラム1202は、I/OデバイスのI/Fが格納される。カラム1203は、I/OデバイスのI/Fに適合するI/Oデバイスの種類が格納される。I/Oデバイスの種類には、例えば、HBAの種類や型といった情報が格納される。一つのI/OデバイスのI/Fに複数のI/Oデバイスの種類が対応する場合もある。カラム1204は、I/Oデバイスの種類に対するドライバ情報およびファームウェアバージョンを格納する。一つのI/Oデバイスの種類に、複数のファームウェアバージョンを持つことが可能であり、I/Oデバイスの種類が持つことのできるファームウェアバージョンを全て格納できる。このI/Oデバイス管理テーブル105の情報は、管理サーバ内で持つ定義ファイルから取得できる。管理サーバは、この定義ファイルをベンダーからネットワーク経由で取得する。
図13は、I/F管理テーブル106の一例を示す。I/F管理テーブル106は、I/OデバイスのI/F毎にOSの動作に必要となるドライバを管理するためのテーブルである。カラム1301はI/OデバイスのI/Fが格納される。カラム1302は、I/OデバイスのI/Fに適合したI/Fドライバの名称が格納される。このI/F管理テーブル106の情報は、管理サーバ内で持つ定義ファイルから取得できる。この定義ファイルはベンダーが各管理サーバにネットワーク経由で提供する。そのため、I/F管理テーブル106によって、I/OデバイスのI/Fに適合したI/Fドライバの情報が取得できる。
図14はサーバ切り替え管理テーブル107の一例を示す。カラム1401はサーバ装置識別子が格納される。電源状態がOFFでもSVP110からサーバ識別子を取得することが可能である。カラム1402は現用系サーバ装置障害時の切り替えサーバ識別子(待機系サーバ装置602)が格納される。一つの切り替えサーバに複数の現用系サーバ装置601が対応することが可能である。
カラム1403はフェイルオーバーの初期構築の状態を表す。初期構築状態が未設定、設定中、設定済みの情報を格納する。
図15は障害検出部103の処理フローの一例を示す。障害検出部103は、サーバ装置109、あるいはSVP110などから発行された障害通知を契機に処理を開始し、障害を回復するためにサーバの切り替えを行う。障害発生通知受信部は、障害発生通知を受信する(ステップ1501)。障害発生通知は障害が発生した装置から管理サーバ101に転送される。サーバ装置109内やSVP110内や、ストレージ装置113内や管理サーバ101自身の障害を検知することが可能である。
障害検出部103は、サーバ装置109の障害がどうかを判定する(ステップ1502)。サーバ装置109の障害の場合は、障害管理部102は、サーバ切り替え部を呼び出す(ステップ1503)。呼び出し時には、パラメタとして、障害が発生したサーバ装置109の識別子や障害の部位、障害の重要度などを有する障害発生メッセージがサーバの切り替えのための情報として転送される。ネットワーク装置やストレージ装置などのその他で起きた障害の場合は、サーバ装置109を切り替えることなく終了する。この処理フローによって、どのサーバ装置109で障害が発生しているかを判断し、現用系サーバ装置601と待機系サーバ装置602とをサーバ切り替え部302によって切り替える(ステップ1503)。
図16はサーバ切り替え部302の処理フローの一例を示す。最初に、障害発生メッセージから障害が発生したサーバ装置109の識別子を取得する(ステップ1601)。障害発生メッセージによって、切り替えを行うか行わないかの設定をすることが可能である。次に、障害が発生したサーバ装置を停止する(ステップ1602)。これは、障害が発生したサーバ装置109によって不要なI/Oの発行を防ぐ目的と、サーバ装置114に割り当てられたI/Oデバイス117を解放する目的がある。
次に、サーバ切り替え管理テーブル107を検索し、フェイルオーバーの初期設定構築状態を取得する(ステップ1603)。サーバ切り替え部302は、ステップ1603で取得した設定状態の情報を判定し、フェイルオーバーの初期構築設定が設定済みであればステップ1605に進む(ステップ1604)。初期構築設定が未設定や設定中の場合はサーバ切り替えを行わず終了する。サーバ切り替え管理テーブル107のサーバ障害時切り替えサーバ1402を取得し、切り替え先の待機系サーバ装置602を特定する。
次に、構成管理テーブル104を検索し、障害が発生したサーバ装置109が接続されたストレージのディスク情報を取得する(ステップ1605)。これは、現用系サーバ装置と繋がっていたディスクを待機系サーバ装置602に切り替えるためである。そして、構成管理テーブル104を検索し、障害が発生したサーバ装置に割り当てられたI/Oデバイスを取得する(ステップ1606)。どのサーバ装置109のI/F705を繋ぎかえるか判定する。切り替え先の待機系サーバ装置602のI/Oデバイスも構成管理テーブル104から取得することができる。
次に、パス切り替え部114に命令し、待機系サーバ装置602のI/Oデバイスと、障害が発生したサーバのI/Oデバイスのパスを交換する(ステップ1607)。最後に、待機系サーバ装置602を起動する(ステップ1608)。現用系サーバ装置601と繋がっていたディスク115が、待機系サーバ装置602に切り替わっているため、ディスク115を切り替え前の状態で使うことが可能である。このフローによって、サーバ装置109に障害が発生した場合に、障害が発生したサーバ装置109が使用していたディスク115を待機用のサーバ装置109に引き継ぐことができる。
図17は構築管理部401のフローの一例を示す。構成管理部401は、サーバ切り替え管理テーブル107のフェイルオーバー設定状態1403を検索し、初期設定状態の設定済み、設定中、未設定を判定する(ステップ1702)。未設定の場合ステップ1703に移る。設定中や設定済みの場合は終了する。
現用系サーバの構成管理部401は、構成管理テーブル104を検索し、現用系サーバ装置601が停止しているかを判定する(ステップ1703)。停止していない場合はステップ1705に移る。停止している場合はステップ1704に移る。
構成管理部401はサバー起動部にサーバ装置601の起動を指示する。サーバ起動部116は、特定の現用系サーバ装置601を起動する(ステップ1704)。
構成管理部401はドライバ管理部404を呼び出す(ステップ1705)。
ドライバ管理部404は、現用系サーバ装置601と繋がるディスク115にインストールされたドライバ情報を取得し、構成管理テーブル104のカラム1108が呼び出され、インストール済みドライバ1108が格納される(ステップ1705)。
次に、構成管理部401は構成情報取得部403を呼び出す。構成情報取得部403は、サーバ切り替え管理テーブル107で特定した待機系サーバ装置装置602のI/O情報を、ミニOS部2003を介して取得する(ステップ1706)。取得した情報は構成管理テーブル104のI/Oデバイスの種類1105に格納される。
次に、構成管理部401は、構成比較部402を呼び出す。構成比較部402は、現用系サーバ装置601と繋がるディスク115のドライバと待機系サーバ装置602のI/Fの情報を比較する(ステップ1707)。比較した後、新たにドライバのインストールが必要であるかどうかの情報を結果としてステップ1708に引き継ぐ。
構成管理部401は、ステップ1707で呼び出した比較情報の結果により、現用系サーバ装置601と待機系サーバ装置602を切り替えた後、待機系サーバ装置602でディスク115を継続して使用可能であるかを判定する(ステップ1708)。その結果、使用可能であれば初期構築の必要がないと判定し、ステップ1710へ移る。使用不可能であれば初期構築の必要があると判定し、初期化部405を呼び出す(ステップ1709)。なお、ステップ1707で新たにドライバのインストールが必要である判定された場合は、初期構築の必要がある。
次に、構成管理部401は、初期化部405を呼び出す。初期化部401は、現用系サーバ装置601に対し、フェイルオーバーの初期構築を開始する(ステップ1709)。この処理フローによって、フェイルオーバーの初期構築を行うことができる。
最後に、構成管理部401は、サーバ切り替え管理テーブル107のフェイルオーバー設定状態1403を“完了”に更新する(ステップ1710)。
図18はドライバ管理部404の処理フローの一例を示す。ドライバ管理部404は構築管理部401から呼び出される。ドライバ管理部404は、現用系サーバ装置601のOS702からインストールされたドライバの情報を取得する(ステップ1801)。ドライバ管理部404は、ステップ1801で取得したドライバの情報を構成管理テーブル104のカラム1108に格納し更新する(ステップ1802)。
このフローによって、インストールされたドライバ情報を取得し、その情報を構成管理テーブル104に設定できる。ドライバ管理部404はOS702が起動するたびに呼び出され、ドライバ情報を取得することができる。また、ドライバ更新の時や新たにインストールした時も、ドライバ管理部404が呼び出しドライバ情報を取得できる。
図19は構成情報取得部403の処理フローの一例を示す。構成情報取得部403は、構築管理部401から呼び出される(ステップ1706)。まず、構成情報取得部403はサーバ切り替え管理テーブル107から検索後、対象の待機系サーバ装置602でネットワークを介してミニオペレーティングシステムを起動させるようSVP110に命令する(ステップ1901)。この命令をうけてSVP110は、待機系サーバ装置602でミニオペレーティングシステムをネットワークブートさせる。なお、ミニOSは予め待機系サーバ装置602が有していてもよいし、構成情報取得部403またはSVP111がミニOSを待機系サーバ装置602に配布してもよい。
次に、起動したミニオペレーティングシステム(ミニOS)は、待機系サーバ装置602のI/F情報やサーバ構成情報を取得する(ステップ1902)。そして、構成情報取得部403は、ミニOSがステップ1902で取得した情報を構成管理テーブル104のカラム1105に格納し更新する(ステップ1903)。この処理フローによって、待機系サーバ装置602のI/F情報を取得する。
図20は、構成情報取得部403の動作概要の一例を示している。待機系サーバ装置602のI/F情報を取得するための動作方法を示している。SVP110はミニOS格納部2001を持つ。ミニOS格納部2001は、初期構築管理部103で呼び出した構成情報取得部403から指示を受け、特定の待機系サーバ装置602のミニOS部2003を起動させる。ミニOS部は予め待機系サーバ装置602が有していてもよいし、構成情報取得部403またはSVP111がミニOSを待機系サーバ装置602に配布してもよい。
ミニOS部2003は、待機系サーバ装置602のメモリ501内で起動する。ミニOS部2003の物理デバイス情報取得部2002によりI/F情報を取得し、構成情報取得部403に提供する。ミニOS部2003は待機系サーバ装置601のハードウェア構成情報やネットワーク情報を取得可能である。ミニOS部2003は、取得したハードウェア構成情報やネットワーク情報を、構成情報取得部403に送信する。また、ミニOS部2003は、取得したハードウェア構成情報やネットワーク情報をSVP110に送信し、SVP110が構成情報取得部403にそれを送信することもできる。構成情報取得部403は取得したI/F情報を構成管理テーブルに保存する。
ミニOS格納部2001、ミニOS部2003、物理デバイス情報取得部2002、はプログラムである。しかし、ミニOS格納部2001、ミニOS部2003、物理デバイス情報取得部2002は、マイクロチップに集積回路化するなどしてハードウェアで実現することも可能である。
図21は構成比較部402の処理フローの一例を示す。構成比較部402は、構築管理部401から呼び出される(ステップ1707)。構成比較部402は、サーバ切り替え管理テーブル107のサーバ障害時切り替えサーバ1402の情報を取得する(ステップ2101)。そして、現用系サーバ装置601と待機系サーバ装置602の対応と設定状態を取得する。構成比較部402は、構成管理テーブル104で現用系サーバ装置601と待機系サーバ装置602のサーバ構成情報を取得する(ステップ2102)。
ここでは、サーバ装置109のI/Oデバイス情報1104を取得する。そして、構成比較部402は、現用系サーバ装置601と待機系サーバ装置602のI/Oデバイスが同種類であるか比較する(ステップ2103)。異なる種類の場合は、ステップ2104に移る。同じ種類の場合は、ドライバインストールの必要がないと判定し、構成比較部402を終了する。
ステップ2104では、構成比較部402が待機系サーバ装置602のI/Oデバイスと現用系にインストールされているドライバが一致するか比較する(ステップ2104)。一致しない場合、インストールが必要という結果を保持する(ステップ2105)。一致する場合は、ドライバインストールの必要がないと判定し、構成比較部402を終了する。
インストールドライバが現用系のI/Oと一致しない場合、待機系サーバ装置602のドライバを現用系サーバ装置601にインストールする必要があるという結果を保持し終了する(ステップ2105)。このフローによって、初期構築が必要であるかどうかを判定しその結果を保持し、呼び出し元の構築管理部401のステップ1708に引き継ぐことができる。
図22は、初期化部405の処理フローの一例を示す。初期化部405は構築管理部401から呼び出される(ステップ1709)。初期化部405は、サーバ切り替え管理テーブル107のフェイルオーバー設定状態1403を「設定中」に更新する(ステップ2201)。次に、I/O仮想化管理部406を呼び出し、ドライバが必要と判定された場合、待機系サーバ装置602のI/Fを模擬する(ステップ2202)。これによりドライバをインストールする環境を現用系サーバ装置601で実現する。
初期化部405は、I/O仮想化部111で新たにI/Fが模擬されているかを判定する(ステップ2203)。I/Fが模擬されている場合は、ステップ2204へ移る。I/Fが模擬されていない場合は、ステップ2208へ移る。
初期化部405は、I/Oデバイス管理テーブル105の1204から、模擬されたI/Fに対応するドライバの情報を取得し、どのドライバをインストールすればよいか判定する(ステップ2204)。I/Oデバイス管理テーブル105の1204には、ドライバ情報およびそのファームウェアバージョンが格納されている。初期化部405は、ステップ2204で判定された、待機系サーバ装置602のI/Fに適合するドライバを管理サーバからネットワーク経由で現用系サーバ装置601に配信し、現用系サーバ装置601のOS702にインストールする。
OS702は、模擬された新しいI/Fを発見するとドライバのインストールを試み、配信されたドライバをインストールする。OS702はドライバのインストール時に、模擬されたI/Fとの通信を行い、ドライバが正常にインストールされたか確認する。
本実施例では、待機系サーバ装置602のI/Fを現用系サーバ装置601で模擬し、OS702に新たなデバイスが検出させることで、OS702に対し新たなドライバをインストールするトリガを与え、待機系サーバ装置602のI/Fに対応するドライバをインストールする。
初期化部405は、インストールしたドライバの情報を構成管理テーブル104のカラム1108に追加する(ステップ2206)。また、現用系サーバ装置601にインストールされたドライバと待機系サーバ装置602のI/Fを比較し、インストール済みドライバと未対応のI/Fが残っていないかを検索する。
初期化部405は、インストールが必要なドライバが他に存在しないかを判定し、存在する場合は、ステップ2202に戻る(ステップ2207)。インストールするドライバが無くなるまで、ステップ2202〜ステップ2204を繰り返す。初期化部405は、ステップ2204でインストールするスドライバが見つからない場合、ステップ2208に移る。
初期化部405は、SVP110に指示し、仮想化サーバ112とI/O仮想化部111を撤去する(ステップ2208)。このフローでは、待機系サーバ装置602とディスク115を繋ぎかえること無く、現用系サーバ装置601に繋がるディスク115に待機系サーバ装置602のI/F用ドライバをインストールすることができる。
なお、本実施例1では、待機系サーバ602に切り替えることなくドライバをインストールする方法について記載しているが、実施例1における方法と待機系サーバ602に切り替える方法とを混在させても良い。例えば、I/F管理テーブル106に格納されていないI/Fを待機系サーバ装置602が有していると判断された場合は、I/Fを模擬してドライバをインストールする方法を用いずに待機系サーバ装置602に切り替えてドライバをインストールしても良い。これにより、さらにフェイルオーバー環境の構築が容易になる。
図23は、I/O仮想化管理部406の処理フローの一例を示す。I/O仮想化管理部406は、初期化部405のから呼び出される(ステップ2202)。I/O仮想化管理部406は、構成管理テーブル104を呼び出し、構成管理テーブル104のI/O仮想化部起動状態1103の情報を取得する(ステップ2301)。次に、ステップ2301で呼び出した構成管理テーブル104から、該当する現用系サーバ装置601のI/O仮想化部起動状態1103を検索し、起動しているかどうか判定する(ステップ2302)。起動していない場合はステップ2303に移る。起動している場合は、ステップ2304に移る。
I/O仮想化管理部406は、SVP110を介して、現用系サーバ装置601のサーバ起動部116に起動命令を送信する。起動命令を受信したサーバ起動部116は、仮想サーバ112とI/O仮想化部111を起動する(ステップ2303)。I/O仮想化管理部406は、構成管理テーブル104のI/O仮想化部起動状態1103をONに更新する(ステップ2304)。次に、構成管理テーブル104から待機系サーバ装置602のI/Oデバイス情報を取得する(ステップ2305)。そして、待機系サーバ装置602のI/Oデバイス情報をもとにI/Oデバイス管理テーブル105から対応するI/Fを取得し、模擬するI/Fを特定する(ステップ2306)。
I/O仮想化管理部406の最後に、ステップ2306で特定したI/Fの模擬をI/O仮想化部111に指示する(ステップ2307)。このフローによって、I/O仮想化部111で待機系物理サーバ装置602の持つI/Fを、現用系物理サーバ装置601で模擬することができる。
図24は、I/O仮想化管理部406の動作概要の一例を示している。I/F A2401とI/F B2402はI/O仮想化部111によって作り出されたI/Fである。I/O仮想化部111は部分的に仮想化することも可能である。例えば、I/F A2401やI/F B2402はI/O仮想化部を通しOS702と繋がっているが、I/O仮想化部111を通さず直接現用系サーバ装置602のI/F A705とA用ドライバ703をI/F B706とB用ドライバ704を繋げることができる。I/F C24032のみ模擬しI/Fを作り出すことが可能である。
OS702はI/F A2401とA用ドライバ703、I/F B2402とB用ドライバ704がそれぞれ適合することで起動が可能となる。I/O仮想化部111のI/F模擬部508によって仮想I/F C2403を作ることによって、OS702は現用物理サーバ601にI/F Cが存在しているように見える。I/F Cの模擬によってOS702にI/F Cを認識させることによって、OS702はC用ドライバ901のインストールを開始する。また、OS702はドライバのインストール時に、模擬されたI/Fとの通信を行い、ドライバが正常にインストールされたか確認する。
図25は第2の実施例についての、初期構築の不必要性を説明している。図25では、現用系サーバ装置601と待機系サーバ装置602のインターフェースが異なっている場合を示している。初期構築をしていないときの、待機系サーバ装置602でOS702を起動させる構成例を示している。I/F A2501とI/F B2502はI/O仮想化部111によって模擬されたI/Fである。
図26は第2の実施例について示している。図26では、待機系サーバ装置602にてOS702を起動させる場合の構成を示す。現用系サーバ装置601と待機系サーバ装置602のI/Fが異なる場合、切り替え先である待機系サーバ装置602でI/O仮想化部111を立ち上げる。I/O仮想化部111はI/F CをI/F A2501とI/F B2502に模擬する。I/F模擬部508は、例えば、I/Fの識別子と、OS702が発行するI/Fに対する制御レジスタの挙動をあらかじめI/F模擬部に登録しておき、I/Fの識別子の模擬の要求に対して、対応する制御レジスタの挙動を同じにすることでI/F A2501とI/F B2502とが有する機能を模擬する。
I/F Cに対する入出力を、I/F A2501とI/F B2502への入出力に変換する。この場合、I/F Cに対する処理をI/F A2501とI/F B2502への処理に振り分けてもよいし、すべての処理をI/F A2501またはI/F B2502の片方に振り分けてもよい。
模擬されたI/F A2501はA用ドライバに、I/F B2502はB用ドライバによってOS702が起動する。その後、起動したOS702にC用ドライバをインストールする。I/O仮想化部111を取り去る時にはC用ドライバによってOS702が起動される。OS702でインストールされているドライバに適合するI/FをI/O仮想化部111で模擬することによって、現用系サーバ装置601と構成が異なった待機系サーバ装置602にOS702を起動させることができる。初期設定完了後に構成変更が行われた場合でも、フェイルオーバーが可能となる。
図27は実施例2のサーバ切り替え部302の処理フローを示す。ステップ2701〜2708は、図16のステップ1601〜1608と同様の処理である。ステップ2709は待機系サーバ装置602を起動した後に構成管理部401を呼び出し、待機系サーバ装置602にてI/O仮想化部111を立ち上げる。この場合、初期設定の状態に関わらず、待機系サーバ装置でOS702が起動することが可能である。また、初期設定から待機系サーバ装置の構成が変わっていなければ、本来のフェイルオーバー機能で現用系サーバ装置と切り替えることが可能である。
なお、本実施例2では現用系サーバ装置601の障害時に、任意の待機系サーバ装置602を選択し、必要に応じてドライバのインストールを行う方法について述べている。他の方法として、任意の待機系サーバ装置602を選択するのではなく、ドライバのインストールができるだけ不要になる待機系サーバ602を選択する方法も考えられる。例えば、サーバ切り替え管理テーブル107のサーバ障害時切り替えサーバ1402のカラムに記載された待機系サーバ装置602について構成管理テーブル104を検索し、最も構成が似ている待機系サーバ装置602を選択するなどの方法が考えられる。
ここで、構成が似ているとは、できるだけ障害が発生した現用系サーバ装置601が有するI/Fと同じI/Fを有する待機系サーバ装置602を選択する方法が考えられる。
また、他の方法として、障害が発生した現用系サーバ装置601が有するI/Fの種類と待機系サーバ装置602が有するI/Fの種類ができるだけ同じ待機系サーバ装置602を選択する方法が考えられる。これは、現用系サーバ装置601と待機系サーバ装置602が有するI/Fの種類に違いが多いと、本来必要ではないドライバをインストールすることになり、インストールの時間がかかることや、不要なドライバがインストールされることでシステムの安定性が低下する可能性を排除する目的がある。
また、ドライバのインストールが必要なI/Fがブートディスク801とデータディスク802かによって、ドライバのインストール方法を変えても良い。例えば、待機系サーバ装置602が有する複数のI/Fの内、ブートディスク801に接続されたI/Fのドライバが既にインストールされて起動可能である場合は、I/O仮想化部を用いずに待機系サーバ装置602を起動した後に、他の不足するI/Fのドライバをインストールする制御を行っても良い。
ブートディスク801に接続されたI/Fのドライバが既にインストールされているかどうかは、構成管理テーブル104の割り当てディスク1107からブートディスクかどうかを判定し、ブートディスクに接続されたI/Oデバイスの種類1105が、現用系サーバ装置601と待機系サーバ装置602で一致しているかどうかで判定することができる。
また、他の方法として、ブートディスク801を用いてブート可能な待機系サーバ装置602を検索し、切り替える方法も考えられる。例えば障害が発生した現用系サーバ装置601に接続されたブートディスク801と対応するI/Fを構成管理テーブル104のディスク1107とブートディスクに接続されたI/Oデバイスの種類1105から検索し、I/Oデバイスの種類1105と同じI/Fを有する待機系サーバ装置602を検索することで実現できる。
これらの方法により、I/O仮想化部111が必要ない場合はI/O仮想化部111を起動する必要がなくなるため、構築に要する時間をさらに短縮することができる。
本発明の全体構成図を示す。 管理サーバの構成図を示す。 障害管理部の構成図を示す。 初期構築管理部の構成図を示す。 サーバ装置の構成図を示す。 サーバ装置障害時の回復方法の概要を示す。 サーバ装置とアプリケーション環境の構成図を示す。 現用系サーバ装置と待機系サーバ装置の構成が異なった場合の概要を示す。 従来のフェイルオーバー初期構築方法を示す。 本発明のフェイルオーバー初期構築方法を示す。 構成管理テーブルを示す。 I/Oデバイス管理テーブルを示す。 I/F管理テーブルを示す。 サーバ切り替え管理テーブルを示す。 障害検出部のフローチャートを示す。 サーバ切り替え部のフローチャートを示す。 構成管理部のフローチャートを示す。 ドライバ管理部のフローチャートを示す。 構成情報取得部のフローチャートを示す。 構成情報取得の実施例を示す。 構成比各部のフローチャートを示す。 初期化部のフローチャートを示す。 I/O仮想化管理部のフローチャートを示す。 I/O仮想化の実施例を示す。 本発明の実施例2を示す。 I/O仮想化の実施例2を示す。 実施例2のサーバ切り替え部のフローチャートを示す。
符号の説明
101 管理サーバ
102 障害管理部
103 初期構築管理部
104 構成管理テーブル
105 I/Oデバイス管理テーブル
106 I/F管理手^ブル
107 サーバ切り替え管理テーブル
108 ネットワークスイッチ
109 サーバ装置
110 SVP
111 I/O仮想化部
112 仮想サーバ
113 ストレージ装置
114 パス切り替え部
115 ディスク

Claims (20)

  1. コンピュータシステムにおける構成情報管理方法であって、
    管理コンピュータは、
    待機系コンピュータからハードウェア構成情報を取得し、
    前記取得したハードウェア構成情報と現用系コンピュータのハードウェア構成情報と比較し、
    ハードウェア構成情報が異なっている場合に、前記異なるハードウェアを模擬する要求を前記現用系コンピュータに送信し、
    前記要求を受信した前記現用系コンピュータは、
    前記異なるハードウェアを模擬し、
    前記模擬したハードウェアを検知した前記現用系コンピュータのオペレーティングシステムは、前記模擬したハードウェアに対応するドライバをインストールする
    ことを特徴とする構成情報管理方法。
  2. 請求項1に記載の構成情報管理方法であって、
    前記現用系コンピュータは、前記ドライバをインストールした後、前記模擬したハードウェアが前記ドライバにより使用できるかどうかを確認する
    ことを特徴とする構成情報管理方法。
  3. 請求項1に記載の構成情報管理方法であって、
    前記管理コンピュータは、前記ドライバをインストールした前記現用系コンピュータの前記オペレーティングシステムが格納された記憶装置と前記待機系コンピュータのハードウェアとを対応付け、
    前記現用系コンピュータは、前記記憶装置に格納されたオペレーティングシステムを用いて前記待機系コンピュータを起動する
    ことを特徴とする構成情報管理方法。
  4. 請求項3に記載の構成情報管理方法であって、
    前記管理コンピュータは、前記現用系コンピュータの障害を検知した場合に、前記ハードウェアの対応付けを行う
    ことを特徴とする構成情報管理方法。
  5. 請求項1に記載の構成情報管理方法であって、
    前記管理コンピュータは、
    前記ハードウェア構成情報を取得するプログラムを前記待機系コンピュータに送信し、
    前記プログラムによって前記待機系コンピュータの前記ハードウェア構成情報を取得する
    ことを特徴とする構成情報管理方法。
  6. 請求項1に記載の構成情報管理方法であって、
    前記管理コンピュータは、
    ハードウェアとドライバとを対応づけたデバイス管理情報を有し、
    前記デバイス管理情報に基づいて、前記模擬したハードウェアに対応するドライバを取得し、
    前記ドライバをインストールする
    ことを特徴とする構成情報管理方法。
  7. 請求項1に記載の構成情報管理方法であって、
    前記現用系コンピュータは、
    前記異なるハードウェアが複数存在する場合、前記複数の異なるハードウェアを模擬し、
    前記模擬した複数のハードウェアを検知した前記現用系コンピュータの前記オペレーティングシステムは、前記模擬した複数のハードウェアに対応する複数のドライバをインストールする
    ことを特徴とする構成情報管理方法。
  8. コンピュータシステムであって、
    待機系コンピュータからハードウェア構成情報を取得する構成情報取得部と、
    前記取得したハードウェア構成情報と現用系コンピュータのハードウェア構成情報と比較する構成比較部と、
    ハードウェア構成情報が異なっている場合に、前記異なるハードウェアを模擬する要求を前記現用系コンピュータに送信する初期化部と、
    を有する管理コンピュータと、
    前記異なるハードウェアを模擬する仮想化部と、
    前記模擬したハードウェアを検知した場合に、前記模擬したハードウェアに対応するドライバをインストールするオペレーティングシステムを管理するアプリケーション環境管理部と、
    を有する前記現用系コンピュータと、
    を有することを特徴とするコンピュータシステム。
  9. 請求項8に記載のコンピュータシステムであって、
    前記現用系コンピュータの前記アプリケーション管理部は、前記ドライバをインストールした後、前記模擬したハードウェアが前記ドライバにより使用できるかどうかを確認する
    ことを特徴とするコンピュータシステム。
  10. 請求項8に記載のコンピュータシステムであって、
    前記管理コンピュータは、前記ドライバをインストールした前記現用系コンピュータの前記オペレーティングシステムが格納された記憶装置と前記待機系コンピュータのハードウェアとを対応付ける切り替え部を有し、
    前記現用系コンピュータは、前記記憶装置に格納されたオペレーティングシステムを用いて前記待機系コンピュータを起動する起動部を有する、
    ことを特徴とするコンピュータシステム。
  11. 請求項10に記載のコンピュータシステムであって、
    前記管理コンピュータの前記切り替え部は、前記現用系コンピュータの障害を検知した場合に、前記ハードウェアの対応付けを行う
    ことを特徴とするコンピュータシステム。
  12. 請求項8に記載のコンピュータシステムであって、
    前記管理コンピュータの前記構成取得部は、
    前記ハードウェア構成情報を取得するプログラムを前記待機系コンピュータに送信し、
    前記プログラムによって前記待機系コンピュータの前記ハードウェア構成情報を取得する
    ことを特徴とするコンピュータシステム。
  13. 請求項8に記載のコンピュータシステムであって、
    前記管理コンピュータは、ハードウェアとドライバとを対応づけたデバイス管理情報を有し、
    前記管理コンピュータの前記アプリケーション環境管理部は、前記デバイス管理情報に基づいて、前記模擬したハードウェアに対応するドライバを取得し、前記オペレーションシステムに前記ドライバをインストールする
    ことを特徴とするコンピュータシステム。
  14. 請求項8に記載のコンピュータシステムであって、
    前記現用系コンピュータの前記仮想化部は、前記異なるハードウェアが複数存在する場合、前記複数の異なるハードウェアを模擬し、
    前記模擬した複数のハードウェアを検知した場合に、前記オペレーティングシステムは、前記模擬した複数のハードウェアに対応する複数のドライバをインストールする
    ことを特徴とするコンピュータシステム。
  15. 管理コンピュータであって、
    待機系コンピュータからハードウェア構成情報を取得する構成情報取得部と、
    前記取得したハードウェア構成情報と現用系コンピュータのハードウェア構成情報と比較する構成比較部と、
    ハードウェア構成情報が異なっている場合に、前記異なるハードウェアを模擬する仮想化部と、前記模擬したハードウェアを検知した場合に前記模擬したハードウェアに対応するドライバをインストールするオペレーティングシステムを管理するアプリケーション環境管理部と、を有する前記現用系コンピュータに対して、前記異なるハードウェアを模擬する要求を送信する初期化部と、
    を有することを特徴とする管理コンピュータ。
  16. 請求項15に記載の管理コンピュータであって、
    前記現用系コンピュータの前記アプリケーション管理部は、前記ドライバをインストールした後、前記模擬したハードウェアが前記ドライバにより使用できるかどうかを確認する
    ことを特徴とする管理コンピュータ。
  17. 請求項15に記載の管理コンピュータであって、
    前記管理コンピュータは、前記ドライバをインストールした前記現用系コンピュータの前記オペレーティングシステムが格納された記憶装置と前記待機系コンピュータのハードウェアとを対応付ける切り替え部を有し、
    前記現用系コンピュータは、前記記憶装置に格納されたオペレーティングシステムを用いて前記待機系コンピュータを起動する起動部を有する、
    ことを特徴とする管理コンピュータ。
  18. 請求項17に記載の管理コンピュータであって、
    前記管理コンピュータの前記切り替え部は、前記現用系コンピュータの障害を検知した場合に、前記ハードウェアの対応付けを行う
    ことを特徴とする管理コンピュータ。
  19. 請求項15に記載の管理コンピュータであって、
    前記管理コンピュータの前記構成取得部は、
    前記ハードウェア構成情報を取得するプログラムを前記待機系コンピュータに送信し、
    前記プログラムによって前記待機系コンピュータの前記ハードウェア構成情報を取得する
    ことを特徴とする管理コンピュータ。
  20. 請求項15に記載の管理コンピュータであって、
    前記管理コンピュータは、ハードウェアとドライバとを対応づけたデバイス管理情報を有し、
    前記管理コンピュータの前記アプリケーション環境管理部は、前記デバイス管理情報に基づいて、前記模擬したハードウェアに対応するドライバを取得し、前記オペレーションシステムに前記ドライバをインストールする
    ことを特徴とする管理コンピュータ。
JP2007315343A 2007-12-06 2007-12-06 障害回復環境の設定方法 Expired - Fee Related JP4448878B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007315343A JP4448878B2 (ja) 2007-12-06 2007-12-06 障害回復環境の設定方法
US12/043,580 US7953831B2 (en) 2007-12-06 2008-03-06 Method for setting up failure recovery environment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007315343A JP4448878B2 (ja) 2007-12-06 2007-12-06 障害回復環境の設定方法

Publications (2)

Publication Number Publication Date
JP2009140194A JP2009140194A (ja) 2009-06-25
JP4448878B2 true JP4448878B2 (ja) 2010-04-14

Family

ID=40722797

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007315343A Expired - Fee Related JP4448878B2 (ja) 2007-12-06 2007-12-06 障害回復環境の設定方法

Country Status (2)

Country Link
US (1) US7953831B2 (ja)
JP (1) JP4448878B2 (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7698487B2 (en) * 2004-06-30 2010-04-13 Intel Corporation Share resources and increase reliability in a server environment
US8099522B2 (en) * 2008-06-09 2012-01-17 International Business Machines Corporation Arrangements for I/O control in a virtualized system
JP5282046B2 (ja) * 2010-01-05 2013-09-04 株式会社日立製作所 計算機システム及びその可用化方法
US8799592B2 (en) * 2011-04-20 2014-08-05 International Business Machines Corporation Direct memory access-like data transfer between guest operating systems
WO2013042271A1 (ja) * 2011-09-22 2013-03-28 富士通株式会社 電子計算機システム及び仮想マシン配置方法
CN102495773B (zh) * 2011-11-25 2013-06-19 清华大学 一种实时设备驱动恢复方法
JP2013156963A (ja) * 2012-01-31 2013-08-15 Fujitsu Ltd 制御プログラム、制御方法、情報処理装置、制御システム
TWI610166B (zh) * 2012-06-04 2018-01-01 飛康國際網路科技股份有限公司 自動災難復原和資料遷移系統及方法
JP5955977B2 (ja) * 2012-11-02 2016-07-20 株式会社日立製作所 システム冗長化確認方法及び計算機システム
JP6179101B2 (ja) * 2013-01-16 2017-08-16 日本電気株式会社 管理装置、管理方法、および管理プログラム
JP6063576B2 (ja) * 2013-09-12 2017-01-18 株式会社日立製作所 サーバシステム、計算機システム、サーバシステムの管理方法、及びコンピュータ読み取り可能な記憶媒体
US9626324B2 (en) 2014-07-08 2017-04-18 Dell Products L.P. Input/output acceleration in virtualized information handling systems
US9262197B2 (en) * 2014-07-16 2016-02-16 Dell Products L.P. System and method for input/output acceleration device having storage virtual appliance (SVA) using root of PCI-E endpoint
JP2017045084A (ja) * 2015-08-24 2017-03-02 日本電信電話株式会社 障害検知装置及び障害検知方法
US10454773B2 (en) * 2016-11-28 2019-10-22 Nutanix, Inc. Virtual machine mobility
JP6654662B2 (ja) * 2018-05-09 2020-02-26 Necプラットフォームズ株式会社 サーバ装置およびサーバシステム
US10896266B1 (en) * 2018-07-12 2021-01-19 Amazon Technologies, Inc. Computer hardware attestation
US11429682B2 (en) 2019-06-25 2022-08-30 Sap Portals Israel Ltd. Artificial crowd intelligence via networking recommendation engines

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6324656B1 (en) * 1998-06-30 2001-11-27 Cisco Technology, Inc. System and method for rules-driven multi-phase network vulnerability assessment
US6389459B1 (en) * 1998-12-09 2002-05-14 Ncr Corporation Virtualized storage devices for network disk mirroring applications
GB0112781D0 (en) * 2001-05-25 2001-07-18 Global Continuity Plc Method for rapid recovery from a network file server failure
US7490207B2 (en) * 2004-11-08 2009-02-10 Commvault Systems, Inc. System and method for performing auxillary storage operations
JP4462024B2 (ja) 2004-12-09 2010-05-12 株式会社日立製作所 ディスク引き継ぎによるフェイルオーバ方法
US7657780B2 (en) * 2005-02-07 2010-02-02 Mimosa Systems, Inc. Enterprise service availability through identity preservation
US20070294337A1 (en) * 2006-03-31 2007-12-20 Maria Gaos Client-side information processing system, apparatus and methods

Also Published As

Publication number Publication date
US7953831B2 (en) 2011-05-31
US20090150528A1 (en) 2009-06-11
JP2009140194A (ja) 2009-06-25

Similar Documents

Publication Publication Date Title
JP4448878B2 (ja) 障害回復環境の設定方法
US7930371B2 (en) Deployment method and system
JP4701929B2 (ja) ブート構成変更方法、管理サーバ、及び計算機システム
US8788636B2 (en) Boot controlling method of managed computer
JP4870915B2 (ja) ストレージ装置
JP4572250B2 (ja) 計算機切り替え方法、計算機切り替えプログラム及び計算機システム
US8069368B2 (en) Failover method through disk takeover and computer system having failover function
JP4939102B2 (ja) ネットワークブート計算機システムの高信頼化方法
US7657786B2 (en) Storage switch system, storage switch method, management server, management method, and management program
US9298566B2 (en) Automatic cluster-based failover handling
JP5216336B2 (ja) 計算機システム、管理サーバ、および、不一致接続構成検知方法
US20060095702A1 (en) Apparatus, system, and method for facilitating management of logical nodes through a single management module
US11119872B1 (en) Log management for a multi-node data processing system
JP2008310489A (ja) I/oデバイス切り替え方法
JP4359609B2 (ja) 計算機システム、システムソフトウェア更新方法及び第1サーバ装置
JP5131336B2 (ja) ブート構成変更方法
US10193752B2 (en) Storage system upgrade
KR101564144B1 (ko) 펌웨어 관리 장치 및 방법
JP5423855B2 (ja) ブート構成変更方法
JP4877368B2 (ja) ディスク引き継ぎによるフェイルオーバ方法
JP2010033379A (ja) 仮想化システム及び仮想化の復旧方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090811

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

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

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

Free format text: PAYMENT UNTIL: 20130129

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140129

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees