JP5532874B2 - 情報処理装置 - Google Patents

情報処理装置 Download PDF

Info

Publication number
JP5532874B2
JP5532874B2 JP2009274679A JP2009274679A JP5532874B2 JP 5532874 B2 JP5532874 B2 JP 5532874B2 JP 2009274679 A JP2009274679 A JP 2009274679A JP 2009274679 A JP2009274679 A JP 2009274679A JP 5532874 B2 JP5532874 B2 JP 5532874B2
Authority
JP
Japan
Prior art keywords
service processor
firmware
controller
virtual machine
control unit
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
JP2009274679A
Other languages
English (en)
Other versions
JP2011118606A (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 JP2009274679A priority Critical patent/JP5532874B2/ja
Publication of JP2011118606A publication Critical patent/JP2011118606A/ja
Application granted granted Critical
Publication of JP5532874B2 publication Critical patent/JP5532874B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、24時間365日業務を停止することができないミッションクリティカル環境において、ファームウェアを更新する情報処理装置及びその制御方法に関する。
従来、ホストコンピュータから送信されるデータのディスクに対する入出力制御を行うディスク制御装置のコントローラのファームウェアを更新した場合、更新後の新しいファームウェアで動作させるためにディスク制御装置の各コントローラのリブートが必要になる。
このため、ホストコンピュータ及びディスク制御装置間のアクセスパスがシングルパス構成の場合、ディスク制御装置の各コントローラのリブート中にはI/O要求を処理することができず、業務を停止しなければならない。
ファームウェアを更新する方法としては、図21に示すように、I/O要求を発行するホストコンピュータ上にパス切替ドライバを導入し、さらにホストコンピュータ及びディスク制御装置の各コントローラ間を冗長パス構成とする方法がある。かかる構成では、ディスク制御装置の一方のコントローラのリブート時には、パス切替ドライバにて他方のコントローラがI/O要求を処理するようにアクセスパスを切り替えながら各コントローラのリブートを行うことで業務を停止することなくファームウェアの更新を行うことができる。
また、図22に示すように、冗長コントローラ構成において、ホストインタフェース及びコントローラ間に他系コントローラへの切替機構を備え、ディスク制御装置の一方のコントローラのリブート時には、他方のコントローラがI/O要求を処理するように切り替えながら各コントローラのリブートを行うことにより、ファームウェアの更新を行う方法がある。
さらに、ファームウェアを更新する方法としては、特許文献1に開示されている方法がある。特許文献1の方法では、クラスタソフト/クラスタサービスを基本技術として、これに加えてハイパーバイザと1つ以上のゲストオペレーティングシステムとを実行する。ハイパーバイザは、ゲストオペレーティングシステムによる装置の使用を禁止した後に、装置内のファームウェアを、受信されたファームウェアを使用してアップグレードする。ハイパーバイザは、ファームウェアがアップグレードされた後に、ゲストオペレーティングシステムの各々に対して、装置の使用を許可する。
特開2008−243183号公報
しかしながら、図21に示すファームウェア更新方法では、各ホストコンピュータにパス切替ドライバの導入と、各ホストコンピュータ及びディスク制御装置間を冗長パス構成とするためのハードウェアが必要となり導入コストが高くなる。また、パス切替ドライバによるアクセスパスの切り替え操作はホストコンピュータでの操作となることから、システム管理者による作業が必要となり、ディスク制御装置の保守員のみでは作業することができないというデメリットがある。さらに、ディスク制御装置に接続しているホストコンピュータが多数存在する場合は、すべてのホストコンピュータでのアクセスパスの切り替え操作が発生し、多大な手間と時間を要する困難な作業となる。
図22に示すファームウェア更新方法によれば、ホストコンピュータでのパス切り替え操作は不要であり、保守員のみで作業することができるというメリットがある。しかしながら、ディスク制御装置に切替機構を備える必要があり、ディスク制御装置の製造コストが高くなる。また、切替機構は、ディスク制御装置上のホストインタフェース搭載数に比例して必要になるため、ホストインタフェース搭載数の多い大型ディスク制御装置ではさらに製造コストを押し上げるというデメリットがある。さらに、シングルコントローラ構成では課題解決ができず、冗長コントローラ構成が必須であることからディスク制御装置の導入コストが高くなる。
また、特許文献1の方法は、クラスタソフト/クラスタサービスを基本技術とし、これに仮想化技術を組み合わせたものであり、稼動系の装置から待機系の装置へサービスを引き継ぐ際にサービスの中断が発生するため、業務無停止のサービスを提供することができないという問題がある。
本発明は以上の点を考慮してなされたものであり、ユーザの使い勝手を向上させ得る情報処理装置及びその制御方法を提案するものである。
かかる課題を解決するために本発明は、情報処理装置であって、コンピュータに仮想マシン環境を提供するハイパーバイザと、前記仮想マシン環境において動作する第1〜第3の仮想マシンとを備え、前記第1及び第2の仮想マシンは、ホストコンピュータから送信されるデータの入出力要求を処理する機能を備え、前記第3の仮想マシンは、第1及び第2の仮想マシンの一方を停止状態とし、第1及び第2の仮想マシンの他方を稼働状態とした後、前記一方の仮想マシンのファームウェアを更新するように指示し、前記一方の仮想マシンのファームウェアが更新され、前記他方の仮想マシンにおけるデータの入出力要求の処理が終了したときに、前記他方の仮想マシンを停止状態とし、前記一方の仮想マシンを稼働状態とする機能を備えることを特徴とする。
また、本発明は、情報処理装置であって、コンピュータに仮想マシン環境を提供するハイパーバイザと、前記仮想マシン環境において動作する第1及び第2の仮想マシンとを備え、前記第1及び第2の仮想マシンは、ホストコンピュータから送信されるデータの入出力要求を処理する機能と、第1及び第2の仮想マシンの他方を停止状態とし、自己を稼働状態とした後、前記他方の仮想マシンのファームウェアを更新するように指示し、前記他方の仮想マシンのファームウェアが更新され、自己のデータの入出力要求の処理が終了したときに、自己を停止状態とし、前記他方の仮想マシンを稼働状態とする機能とを備えることを特徴とする。
さらに、本発明は、コンピュータに仮想マシン環境を提供するハイパーバイザと、前記仮想マシン環境において動作する第1〜第3の仮想マシンを有する情報処理装置の制御方法であって、前記第1及び第2の仮想マシンが、ホストコンピュータから送信されるデータの入出力要求を処理する第1のステップと、前記第3の仮想マシンが、第1及び第2の仮想マシンの一方を停止状態とし、第1及び第2の仮想マシンの他方を稼働状態とする第2のステップと、前記第3の仮想マシンが、前記一方の仮想マシンのファームウェアを更新するように指示し、前記一方の仮想マシンのファームウェアが更新され、前記他方の仮想マシンにおけるデータの入出力要求の処理が終了したときに、前記他方の仮想マシンを停止状態とし、前記他方の仮想マシンを稼働状態とする第3のステップとを備えることを特徴とする。
従って、業務を停止することなくファームウェアを更新することができる。
本発明によれば、ユーザの使い勝手を向上させ得る情報処理装置及びその制御方法を実現することができる。
本実施形態のホストコンピュータ及びディスク制御装置の構成を示すブロック図の一例である。 第1実施形態のコントローラの構成を示すブロック図の一例である。 制御部をスタンバイ状態とする動作手順を示すフローチャートの一例である。 制御部をスタンバイ状態とする動作の説明に供する概念図の一例である。 制御部のファームウェアを更新する動作手順を示すフローチャートの一例である。 制御部のファームウェアを更新する動作の説明に供する概念図の一例である。 I/O要求を制御部において処理するための動作手順を示すフローチャートの一例である。 I/O要求を制御部において処理するための動作の説明に供する概念図の一例である。 第2実施形態のコントローラの構成を示すブロック図の一例である。 制御部及び指示部をスタンバイ状態とする動作手順を示すフローチャートの一例である。 制御部及び指示部をスタンバイ状態とする動作の説明に供する概念図の一例である。 指示部のファームウェアを更新する動作手順を示すフローチャートの一例である。 指示部のファームウェアを更新する動作の説明に供する概念図の一例である。 第3実施形態のコントローラの構成を示すブロック図の一例である。 制御部をスタンバイ状態とする動作手順を示すフローチャートの一例である。 制御部をスタンバイ状態とする動作の説明に供する概念図の一例である。 制御部のファームウェアを更新する動作手順を示すフローチャートの一例である。 制御部のファームウェアを更新する動作の説明に供する概念図の一例である。 I/O要求を制御部において処理するための動作手順を示すフローチャートの一例である。 I/O要求を制御部において処理するための動作の説明に供する概念図の一例である。 従来のホストコンピュータ及びディスク制御装置の構成を示すブロック図の一例である。 従来のホストコンピュータ及びディスク制御装置の構成を示すブロック図の一例である。
以下、本発明の一実施の形態を、図面を参照して詳細に説明する。なお、これにより本発明が限定されるものではない。
図1は、本実施形態におけるストレージシステム1を示す図である。ストレージシステム1は、ホストコンピュータ10及びディスク制御装置20(情報処理装置)を備えて構成されている。
ホストコンピュータ10は、例えば、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)などの通常のコンピュータ装置と同様のハードウェアを備えて構成されている。また、ホストコンピュータ10は、アプリケーション11、ファイルシステム12、上位ドライバ13、下位ドライバ14及びHBA(Host Bus Adapter)15を備えて構成されている。
ホストコンピュータ10は、アプリケーション11、ファイルシステム12、上位ドライバ13、下位ドライバ14を実行し、HBA15を介してディスク制御装置20に対するI/O要求及びI/O要求に対応するデータの送受信を行う。
ディスク制御装置20は、コントローラ21及びディスク装置22を備えて構成されている。ディスク制御装置20は、ホストコンピュータ10から送信されるI/O要求に基づいて、ホストコンピュータ10から送信されるI/O要求に対応するデータをディスク装置22に書き込み、I/O要求に対応するデータをディスク装置22から読み出してホストコンピュータ10に送信する。
(第1実施形態)
図2は、第1実施形態のコントローラ21の構成を示す図である。コントローラ21は、プロセッサ150、メモリ151、外部インタフェース制御回路152、ホストインタフェース制御回路153、ディスクインタフェース制御回路154及びコントローラ間通信制御回路155を備えたコンピュータとして構成されている。
プロセッサ150は、コンピュータ上でプログラムを動作させるためのハードウェアである。メモリ151は、プロセッサ150が解釈・実行するプログラムや各種制御データの記憶領域、作業領域、又はディスクアクセスに係るリードデータやライトデータの格納領域として使用される。
外部インタフェース制御回路152は、外部インタフェースを介してユーザインタフェースを提供する管理・監視端末と接続されており、管理・監視端末との間で相互に授受される各種制御情報(各種ハードウェアの制御情報や継続的な監視情報、ディスク制御装置20の操作情報、運用及び管理情報)の入出力制御を行う。
ホストインタフェース制御回路153は、ホストインタフェースを介してホストコンピュータ10と接続されており、ホストコンピュータ10から受信したディスクアクセスに係るI/O要求及びI/O要求に対応するデータ入出力の制御を行う。ディスクインタフェース制御回路154は、ディスクインタフェースを介してディスク装置22に接続されており、ディスク装置22に係る入出力制御を行う。
冗長コントローラ構成の場合には、コントローラ間通信制御回路155は、もう一方のコントローラ間通信制御回路とコントローラ間データバスを介して接続されており、各コントローラ間で共有する各種制御情報やデータなどの入出力制御を行う。
また、コントローラ21は、制御プログラム、指示プログラム及びハイパーバイザプログラムをメモリ151に備えて構成されている。コントローラ21のプロセッサ150は、ハイパーバイザプログラムを実行し、コンピュータ上に別のコンピュータ環境を用意する仮想マシン環境を実現する。ハイパーバイザプログラムが実行されることにより仮想マシンとして実現されるハイパーバイザ140は、仮想マシン環境を提供する機能手段である。
具体的に、コントローラ21は、仮想マシン環境上で、制御プログラムを実行することにより仮想マシンとして実現される制御部(以下、制御部110(第1の仮想マシン)及び130(第2の仮想マシン)と呼ぶ)及び指示プログラムを実行することにより仮想マシンとして実現される指示部(以下、指示部120(第3の仮想マシン)と呼ぶ)を備えて構成されている。
制御部110は、ディスク制御全般(例えば、ディスク装置22に対する読み書きなど)を司る機能手段であり、サービスプロセッサ111、機能ファームウェア112、ゲストOS(Operating System)113及び準仮想化ドライバ(PV driver(Para-Virtualized driver))114を備えて構成されている。制御部130は、制御部110と同様にディスク制御全般を司る機能手段であり、サービスプロセッサ131、機能ファームウェア132、ゲストOS133及び準仮想化ドライバ134を備えて構成されている。
指示部120は、制御部110、130と相互に通信を行い、制御部110、130に対して各種指示(例えば、制御部130に対してリブート実施など)を行う機能手段であり、サービスプロセッサ121、ゲストOS123及び準仮想化ドライバ124を備えて構成されている。
サービスプロセッサ111、121及び131は、各種ハードウェアの制御や継続的な監視、ディスク制御装置20の操作、運用及び管理の機能を提供する。機能ファームウェア112及び132は、各種ハードウェアを操作、制御し、ホストコンピュータから受信したディスクアクセスに係るI/O要求を処理する。ゲストOS113、123及び133は、コンピュータ上に別のコンピュータ環境を用意する仮想マシン環境において、仮想マシン環境上で動作するOS(例えば、VxWorksやLinux, Solarisなど)である。準仮想化ドライバ114、124及び134は、ハイパーバイザ140上で動作するゲストOS113、123又は133の動作パフォーマンスを、仮想化されていない物理ハードウェア上で動作させた場合のように、仮想化によるオーバーヘッドを最小限に抑えるためのハードウェア制御用ドライバである。
次に、第1実施形態のコントローラ21の動作について、図3−図8のフローチャート及び概念図を参照して説明する。なお、説明上の前提条件として下記の第1−第4の条件を定義する。
第1に、プロセッサ150は、コントローラ21の初回起動直後、ホストコンピュータ10から受信するI/O要求を制御部110によって処理し、制御部130をスタンバイ状態とする。この場合、プロセッサ150は、次回以降のコントローラ21の起動直後の状態については、前回のコントローラ21が停止する直前の状態で復帰する。第2に、プロセッサ150は、指示部120によって制御部130のファームウェアの更新を指示する。第3に、プロセッサ150は、ファームウェアの更新完了後、ホストコンピュータ10から受信するI/O要求を制御部130によって処理し、制御部110をスタンバイ状態とする。第4に、プロセッサ150は、外部インタフェースを介して接続した管理・監視端末から、外部インタフェース制御回路152を経由して更新用ファームウェアのバイナリをサービスプロセッサ121に事前に転送する。
まず、制御部130をスタンバイ状態とする動作について、図3及び図4のフローチャート及び概念図を参照して説明する。
サービスプロセッサ121は、コントローラ21の起動過程で、制御部130をスタンバイ状態とするために、サービスプロセッサ131に対して、スタンバイ(Standby)とする旨の指示を行う(S100)。続いて、サービスプロセッサ131は、スタンバイとする旨の指示を受信すると、制御部130をスタンバイ状態に移行させた後、サービスプロセッサ121に対して、スタンバイ状態となった旨の報告を行う(S110)。
続いて、サービスプロセッサ121は、制御部110をアクティブ状態とするために、サービスプロセッサ111に対して、アクティブ(Active)とする旨の指示を行う(S120)。続いて、サービスプロセッサ111は、アクティブとする旨の指示を受信すると、制御部110をアクティブ状態に移行させた後、サービスプロセッサ121に対して、アクティブ状態となった旨の報告を行う(S130)。
以上で、ホストコンピュータ10から受信するI/O要求は、制御部110が処理する状態となる(図4)。
次に、制御部130のファームウェアを更新する動作について、図5及び図6のフローチャート及び概念図を参照して説明する。
サービスプロセッサ121は、制御部130のファームウェア更新の準備として、サービスプロセッサ131に対して、バイナリ(Binary)(ファームウェア)の転送を行う(S140)。続いて、サービスプロセッサ131は、すべてのバイナリを受信すると、サービスプロセッサ121に対して、バイナリを受信した旨の報告を行う(S150)。
続いて、サービスプロセッサ121は、制御部130のファームウェア更新を行うために、サービスプロセッサ131に対してリブート(Reboot)を行う旨の指示を行う(S160)。続いて、サービスプロセッサ131は、リブートを行う旨の指示を受信すると、サービスプロセッサ121に対して、リブートを開始する旨の報告を行った後、制御部130のリブートを開始する(S170)。続いて、サービスプロセッサ131は、制御部130のリブートが完了すると、サービスプロセッサ121に対して、レディ(Ready)状態となった旨の報告を行う(S180)。
以上で、制御部130のファームウェアは、更新済みとなる。なお、サービスプロセッサ111は、S140からS180までの間、機能ファームウェア112を実行し、ホストインタフェース制御回路153を経由してデータの入出力制御を行う(図6)。
次に、I/O要求を制御部130において処理するための動作について、図7及び図8のフローチャート及び概念図を参照して説明する。
サービスプロセッサ121は、今後、ホストコンピュータ10から受信するI/O要求について、制御部130において処理するために、サービスプロセッサ131に対して、アクティブとする旨の指示を行う(S190)。続いて、サービスプロセッサ131は、アクティブとする旨の指示を受信すると、制御部130をアクティブ状態に移行させた後、サービスプロセッサ121に対して、アクティブ状態となった旨の報告を行う(S200)。以降、ホストコンピュータ10からのI/O要求は、制御部130において受信し、処理する。
続いて、サービスプロセッサ121は、制御部110をスタンバイ状態とするために、サービスプロセッサ111に対して、スタンバイとする旨の指示を行う(S210)。続いて、サービスプロセッサ111は、スタンバイとする旨の指示を受信すると、制御部110が既にホストコンピュータ10から受信したI/O要求がある場合には、サービスプロセッサ121に対して、受信済のI/O要求を処理中である旨の報告を行い(S220)、制御部110がすべての受信済のI/O要求の処理するまで当該I/O要求の処理を継続する。
続いて、サービスプロセッサ111は、制御部110がホストコンピュータ10から受信したI/O要求で未処理のものがなければ、制御部110をスタンバイ状態に移行させた後、サービスプロセッサ121に対して、スタンバイ状態となった旨の報告を行う(S230)。
なお、サービスプロセッサ111は、S190からS200までの間、機能ファームウェア112を実行し、ホストインタフェース制御回路153を経由してデータの入出力制御を行う(図8)。そして、サービスプロセッサ111は、S210以降、ホストコンピュータ10からの新規のI/O要求を受領せず、既に受領済みのI/O要求がゼロになるまで、処理を継続する。また、サービスプロセッサ131は、S200以降、直ちに機能ファームウェア132を実行し、ホストインタフェース制御回路153を経由してデータの入出力制御を行う(図8)。
以上のように、ディスク制御装置20は、ハイパーバイザ140上に、ゲストOS113、133を含む2つ以上の制御部110、130を備え、制御部110、130に機能ファームウェア112、132及びサービスプロセッサ111、131を備え、さらに、制御部110、130の機能ファームウェア112、132及びサービスプロセッサ111、131がハードウェアを操作するためにゲストOS上に準仮想化ドライバ114、134を備える。また、ディスク制御装置20は、ハイパーバイザ140上にゲストOS124を含む1つ以上の指示部120を備え、指示部120のサービスプロセッサ121がハードウェアを操作するためにゲストOS123上に準仮想化ドライバ124を備える。さらに、ディスク制御装置20は、制御部110、130と指示部120とが相互に通信する手段を備える。
かかる構成により、24時間365日業務を停止することができないミッションクリティカル環境におけるディスク制御装置20のファームウェアの更新を実現することができる。
また、ファームウェアの更新に係る一連の作業がコントローラ21の内部で完結するため、ホストコンピュータ10のシステム管理者による作業は不要となり、ディスク制御装置20の保守員のみでディスク制御装置20のファームウェアを更新することができる。さらに、ファームウェアの更新に係る一連の作業がコントローラ21の内部で完結するため、ディスク制御装置20を冗長コントローラ構成とする必要がなくなり、ディスク制御装置20がシングルコントローラ構成であっても、業務を停止することなくファームウェアを更新することができる。
さらに、ファームウェアの更新に係る一連の作業がコントローラ21の内部で完結するため、ホストコンピュータ10でのアクセスパスの切り替え操作が発生せず、ディスク制御装置に接続しているホストコンピュータ10が多数存在する場合でも、容易にディスク制御装置20のファームウェアを更新することができる。
さらに、各ホストコンピュータ10上にパス切替ドライバの導入や各ホストコンピュータ10とディスク制御装置20間を冗長パス構成とするためのハードウェアが不要となるため、導入コストを抑えることができる。さらに、ディスク制御装置20に切替機構を備える必要がなく、ホストインタフェース搭載数の多い大型ディスク制御装置であっても、ディスク制御装置20の製造コストを抑えることができる。
さらに、コントローラ21内には更新前のファームウェアを搭載した制御部110が存在するため、例えば、ファームウェアの更新後に何らかの障害が発生した場合にも、更新前のファームウェアに戻すことも容易である。
(第2実施形態)
図9は、第2実施形態におけるコントローラ21を示す図である。第2実施形態におけるコントローラ21は、指示部120に代えて指示部120A(第3の仮想マシン)及び120B(第4の仮想マシン)の2つの指示部を備える点を除いて同様に構成されている。
次に、第2実施形態のコントローラ21の動作について、図10−図13のフローチャート及び概念図を参照して説明する。なお、説明上の前提条件として下記の第1−第4の条件を定義する。
第1に、プロセッサ150は、コントローラ21の初回起動直後、ホストコンピュータ10から受信するI/O要求を制御部110によって処理し、制御部130をスタンバイ状態とすると共に、各指示を指示部120Aによって担当させ、指示部120Bをスタンバイ状態とする。この場合、プロセッサ150は、次回以降のコントローラ21の起動直後の状態については、前回のコントローラ21が停止する直前の状態で復帰する。第2に、プロセッサ150は、指示部120Aによって指示部120Bのファームウェアの更新を指示する。第3に、プロセッサ150は、ファームウェアの更新完了後の指示を、指示部120Bによって担当させ、指示部120Aをスタンバイ状態とする。第4に、プロセッサ150は、更新用ファームウェアのバイナリを、外部インタフェースを介して接続した管理・監視端末から、外部インタフェース制御回路152を経由してサービスプロセッサ120Aに事前に転送する。
まず、制御部130及び指示部120Bをスタンバイ状態とする動作について、図10及び図11のフローチャート及び概念図を参照して説明する。
サービスプロセッサ121Aは、コントローラ21の起動過程で、制御部130をスタンバイ状態とするために、サービスプロセッサ131に対して、スタンバイとする旨の指示を行う(S300)。続いて、サービスプロセッサ121Aは、指示部120Bをスタンバイ状態とするために、サービスプロセッサ121Bに対して、スタンバイとする旨の指示を行う(S310)。
続いて、サービスプロセッサ131は、スタンバイとする旨の指示を受信すると、制御部130をスタンバイ状態に移行させた後、サービスプロセッサ121Aに対して、スタンバイ状態となった旨の報告を行う(S320)。続いて、サービスプロセッサ121Bは、スタンバイとする旨の指示を受信すると、指示部120Bをスタンバイ状態に移行させた後、サービスプロセッサ121Aに対して、スタンバイ状態となった旨の報告を行う(S330)。
続いて、サービスプロセッサ121Aは、制御部110をアクティブ状態とするために、サービスプロセッサ111に対して、アクティブとする旨の指示を行う(S340)。続いて、サービスプロセッサ111は、アクティブとする旨の指示を受信すると、制御部110をアクティブ状態に移行させた後、サービスプロセッサ121Aに対して、アクティブ状態となった旨の報告を行う(S350)。
以上で、ホストコンピュータ10から受信するI/O要求は、制御部110が処理し、各指示は指示部120Aが担当する状態となる(図11)。
次に、指示部120Bのファームウェアを更新する動作について、図12及び図13のフローチャート及び概念図を参照して説明する。
サービスプロセッサ121Aは、指示部120Bのファームウェア更新の準備として、サービスプロセッサ121Bに対して、バイナリの転送を行う(S360)。続いて、サービスプロセッサ121Bは、すべてのバイナリを受信すると、サービスプロセッサ121Aに対して、バイナリを受信した旨の報告を行う(S370)。
続いて、サービスプロセッサ121Aは、指示部120Bのファームウェア更新を行うために、サービスプロセッサ121Bに対して、リブートを行う旨の指示を行う(S380)。続いて、サービスプロセッサ121Bは、リブートを行う旨の指示を受信すると、サービスプロセッサ121Aに対して、リブートを開始する旨の報告を行った後、指示部120Bのリブートを開始する(S390)。続いて、サービスプロセッサ121Bは、指示部120Bのリブートが完了すると、サービスプロセッサ121Aに対して、レディ状態となった旨の報告を行う(S400)。以上で、指示部120Bのファームウェアは更新済みとなる。
続いて、サービスプロセッサ121Aは、サービスプロセッサ121Bに対して、アクティブとする旨の指示を行う(S410)。続いて、サービスプロセッサ121Bは、アクティブとする旨の指示を受信すると、指示部120Bをアクティブ状態に移行させた後、サービスプロセッサ121Aに対して、アクティブ状態となった旨の報告を行う(S420)。以降、指示部120Bが指示を担当する。
続いて、サービスプロセッサ121Bは、指示部120Aをスタンバイ状態とするために、サービスプロセッサ121Aに対して、スタンバイとする旨の指示を行う(S430)。続いて、サービスプロセッサ121Aは、スタンバイとする旨の指示を受信すると、指示部120Aをスタンバイ状態に移行させた後、サービスプロセッサ121Bに対して、スタンバイ状態となった旨の報告を行う(S440)。
なお、サービスプロセッサ111は、S360からS440までの間、機能ファームウェア112を実行し、ホストインタフェース制御回路153を経由してデータの入出力制御を行う(図13)。
かかる構成により、第1実施形態と同様の効果を得ることに加え、指示部120A及び120Bについても業務を停止することなくファームウェアを更新することができる。
(第3実施形態)
図14は、第3実施形態におけるコントローラ21を示す図である。第3実施形態におけるコントローラ21は、制御部110(第1の仮想マシン)及び130(第2の仮想マシン)のサービスプロセッサ111及び131に、指示部120の機能を取り込んだ点を除いて同様に構成されている。
次に、第3実施形態のコントローラ21の動作について、図15−図20のフローチャート及び概念図を参照して説明する。なお、説明上の前提条件として下記の第1−第4の条件を定義する。
第1に、プロセッサ150は、コントローラ21の初回起動直後、ホストコンピュータ10から受信するI/O要求を制御部110によって処理し、制御部130をスタンバイ状態とする。この場合、プロセッサ150は、次回以降のコントローラ21の起動直後の状態については、前回のコントローラ21が停止する直前の状態で復帰する。第2に、プロセッサ150は、サービスプロセッサ111によって制御部130のファームウェアの更新を指示する。第3に、プロセッサ150は、ファームウェアの更新完了後、ホストコンピュータ10から受信するI/O要求を制御部130によって処理し、制御部110をスタンバイ状態とする。第4に、プロセッサ150は、外部インタフェースを介して接続した管理・監視端末から、外部インタフェース制御回路152を経由して更新用ファームウェアのバイナリをサービスプロセッサ111に事前に転送する。
まず、制御部130をスタンバイ状態とする動作について、図15及び図16のフローチャート及び概念図を参照して説明する。
サービスプロセッサ111は、コントローラ21の起動過程で、制御部130をスタンバイ状態とするために、サービスプロセッサ131に対して、スタンバイとする旨の指示を行う(S500)。続いて、サービスプロセッサ131は、スタンバイとする旨の指示を受信すると、制御部130をスタンバイ状態に移行させた後、サービスプロセッサ111に対して、スタンバイ状態となった旨の報告を行う(S510)。
以上で、ホストコンピュータ10から受信するI/O要求は、制御部110が処理する状態となる(図16)。
次に、制御部130のファームウェアを更新する動作について、図17及び図18のフローチャート及び概念図を参照して説明する。
サービスプロセッサ111は、制御部130のファームウェア更新の準備として、サービスプロセッサ131に対して、バイナリの転送を行う(S520)。続いて、サービスプロセッサ131は、すべてのバイナリを受信すると、サービスプロセッサ111に対して、バイナリを受信した旨の報告を行う(S530)。
続いて、サービスプロセッサ111は、制御部130のファームウェア更新を行うために、サービスプロセッサ131に対してリブートを行う旨の指示を行う(S540)。続いて、サービスプロセッサ131は、リブートを行う旨の指示を受信すると、サービスプロセッサ111に対して、リブートを開始する旨の報告を行った後、制御部130のリブートを開始する(S550)。続いて、サービスプロセッサ131は、制御部130のリブートが完了すると、サービスプロセッサ111に対して、レディ状態となった旨の報告を行う(S560)。
以上で、制御部130のファームウェアは、更新済みとなる。なお、サービスプロセッサ111は、S520からS560までの間、機能ファームウェア112を実行し、ホストインタフェース制御回路153を経由してデータの入出力制御を行う(図18)。
次に、I/O要求を制御部130において処理するための動作について、図19及び図20のフローチャート及び概念図を参照して説明する。
サービスプロセッサ111は、今後、ホストコンピュータ10から受信するI/O要求について、制御部130において処理するために、サービスプロセッサ131に対して、アクティブとする旨の指示を行う(S570)。続いて、サービスプロセッサ131は、アクティブとする旨の指示を受信すると、制御部130をアクティブ状態に移行させた後、サービスプロセッサ111に対して、アクティブ状態となった旨の報告を行う(S580)。以降、ホストコンピュータ10からのI/O要求は、制御部130において受信し、処理する。
続いて、サービスプロセッサ131は、制御部110をスタンバイ状態とするために、サービスプロセッサ111に対して、スタンバイとする旨の指示を行う(S590)。続いて、サービスプロセッサ111は、スタンバイとする旨の指示を受信すると、制御部110が既にホストコンピュータ10から受信したI/O要求がある場合には、サービスプロセッサ131に対して、受信済のI/O要求を処理中である旨の報告を行い(S600)、制御部110がすべての受信済のI/O要求の処理するまで当該I/O要求の処理を継続する。
続いて、サービスプロセッサ111は、制御部110がホストコンピュータ10から受信したI/O要求で未処理のものがなければ、制御部110をスタンバイ状態に移行させた後、サービスプロセッサ131に対して、スタンバイ状態となった旨の報告を行う(S610)。
なお、サービスプロセッサ111は、S570からS580までの間、機能ファームウェア112を実行し、ホストインタフェース制御回路153を経由してデータの入出力制御を行う(図20)。そして、サービスプロセッサ111は、S590以降、ホストコンピュータ10からの新規のI/O要求を受領せず、既に受領済みのI/O要求がゼロになるまで、処理を継続する。サービスプロセッサ131は、S580以降、直ちに機能ファームウェア132を実行し、ホストインタフェース制御回路153を経由してデータの入出力制御を行う(図20)。
かかる構成により、第1実施形態と同様の効果を得ることができる。
なお、本実施形態においては、コントローラ21のシングルコントローラ構成に適用した場合について述べたが、本発明はこれに限らず、例えば、図21、図22におけるディスク制御装置20、40のような冗長構成のコントローラに適用するようにしても良く、この他種々の形態のディスク制御装置に適用することができる。
本発明は、24時間365日業務を停止することができないミッションクリティカル環境において、ホストコンピュータから送信されるデータのディスクに対する入出力制御を行うディスク制御装置のほか、この他種々のミッションクリティカル環境において、ファームウェアを更新する情報処理装置やサーバ装置などのファームウェア組込み製品に適用することができる。
10……ホストコンピュータ、20……ディスク制御装置、21……コントローラ、22……ディスク、110、130……制御部、120、120A、120B……指示部、111、121、121A、121B、131……サービスプロセッサ、112、132……機能ファームウェア、113、123、123A、123B、133……ゲストOS、114、124、124A、124B、134……準仮想化ドライバ、140……ハイパーバイザ、150……プロセッサ、151……メモリ、152……外部インタフェース制御回路、153……ホストインタフェース制御回路、154……ディスクインタフェース制御回路、155……コントローラ間通信制御回路

Claims (1)

  1. コンピュータに仮想マシン環境を提供するハイパーバイザと、
    前記仮想マシン環境において動作する第1〜第の仮想マシンと
    を備え、
    前記第1及び第2の仮想マシンは、それぞれ、
    ホストコンピュータから送信されるデータの入出力要求を処理する機能
    を備え、
    前記第1及び前記第2の仮想マシンを管理する第3及び第4の仮想マシンは、それぞれ、
    第1及び第2の仮想マシンの一方を停止状態とし、第1及び第2の仮想マシンの他方を稼働状態とした後、前記第1及び前記第2の仮想マシンの前記一方の仮想マシンのファームウェアを更新するように指示し、前記第1及び前記第2の仮想マシンの前記一方の仮想マシンのファームウェアが更新され、前記第1及び前記第2の仮想マシンの前記他方の仮想マシンにおけるデータの入出力要求の処理が終了したときに、前記第1及び前記第2の仮想マシンの前記他方の仮想マシンを停止状態とし、前記第1及び前記第2の仮想マシンの前記一方の仮想マシンを稼働状態とする機能
    を備え、
    前記第3及び前記第4の仮想マシンの一方は、
    前記第3及び前記第4の仮想マシンの他方を停止状態とし、前記第3及び前記第4の仮想マシンの前記他方の仮想マシンのファームウェアを更新するように指示し、前記第3及び前記第4の仮想マシンの前記ファームウェアが更新されたときに、前記第3及び前記第4の仮想マシンの一方が、自己を停止状態とし、前記第3及び前記第4の仮想マシンの前記他方の仮想マシンを稼働状態とすることを特徴とする情報処理装置。
JP2009274679A 2009-12-02 2009-12-02 情報処理装置 Expired - Fee Related JP5532874B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009274679A JP5532874B2 (ja) 2009-12-02 2009-12-02 情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009274679A JP5532874B2 (ja) 2009-12-02 2009-12-02 情報処理装置

Publications (2)

Publication Number Publication Date
JP2011118606A JP2011118606A (ja) 2011-06-16
JP5532874B2 true JP5532874B2 (ja) 2014-06-25

Family

ID=44283862

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009274679A Expired - Fee Related JP5532874B2 (ja) 2009-12-02 2009-12-02 情報処理装置

Country Status (1)

Country Link
JP (1) JP5532874B2 (ja)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3655484B2 (ja) * 1999-03-05 2005-06-02 株式会社日立製作所 論理区画式計算機システム
JP4426736B2 (ja) * 2001-04-27 2010-03-03 株式会社日立製作所 プログラム修正方法およびプログラム
WO2004081791A1 (ja) * 2003-03-13 2004-09-23 Fujitsu Limited 仮想計算機システム、仮想計算機システムにおけるファームウェアアップデート方法
US20050060704A1 (en) * 2003-09-17 2005-03-17 International Business Machines Corporation Managing processing within computing environments including initiation of virtual machines
US20060184937A1 (en) * 2005-02-11 2006-08-17 Timothy Abels System and method for centralized software management in virtual machines
JP2008171076A (ja) * 2007-01-09 2008-07-24 Vision Arts Kk ジョブ実行装置及びその制御方法
JP4987555B2 (ja) * 2007-04-27 2012-07-25 株式会社東芝 情報処理装置、および情報処理システム

Also Published As

Publication number Publication date
JP2011118606A (ja) 2011-06-16

Similar Documents

Publication Publication Date Title
EP2624133B1 (en) Network topology-aware recovery automation
US9965304B2 (en) Delayed hardware upgrades in virtualization systems
EP2189901B1 (en) Method and system to enable fast platform restart
CN106201563B (zh) 启动参数的配置方法和装置、主板启动的方法和装置
JP4359609B2 (ja) 計算機システム、システムソフトウェア更新方法及び第1サーバ装置
US9063816B2 (en) Method and apparatus for updating firmware on a storage device
US9632813B2 (en) High availability for virtual machines in nested hypervisors
EP2624132B1 (en) Recovery automation in heterogeneous environments
US20160328229A1 (en) System and method of online firmware update for baseboard management controller (bmc) devices
CN102591675A (zh) 使用共享存储块管理多软件镜像的方法和系统
JP2012078893A (ja) 計算機システム、及び管理計算機
GB2529740A (en) Data processing systems
US11861357B2 (en) Selecting and sending subset of components to computing device prior to operating system install
JP6750605B2 (ja) 計算機システム、ベースボード管理コントローラ、osインストール方法、及びプログラム
CN115981685A (zh) 应用升级方法、装置、计算设备和芯片系统
KR20120068573A (ko) 심리스 애플리케이션 통합 장치 및 방법
JP4692912B2 (ja) リソース割り当てシステム、及びリソース割り当て方法
US10567239B2 (en) Techniques of providing data to screen saver of thin client
JP5532874B2 (ja) 情報処理装置
EP1645969B1 (en) Remote configuration management for data processing units
US20120284711A1 (en) Method and Arrangement for Configuring a Resource for a Virtual Runtime Environment
CN114115703A (zh) 裸金属服务器在线迁移方法以及系统
US10210004B2 (en) Method of providing at least one data carrier for a computer system and computer system including service processor independently operable from a main processor of the computer system
JP7318799B2 (ja) 情報処理装置、操作制御方法および操作制御プログラム
CN104285211A (zh) 硬件资源的周期性访问

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20121109

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130912

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130917

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

R150 Certificate of patent or registration of utility model

Ref document number: 5532874

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140414

LAPS Cancellation because of no payment of annual fees