(57)【要約】      （修正有）【課題】小規模クラスタシステムにおいて、システム運用を停止することなくソフトウェアを更新する場合のユーザーの負担および誤操作を減らす。【解決手段】小規模クラスタシステム２０１の各ノード２０２、２０７が自ノードをシステムから切り離すＰｌａｎｎｅｄ  Ｆａｉｌｅｏｖｅｒ機能（以下、ＰＦ機能）を有し、入出力装置２２３を介して第１のノード２０２のソフトウェア自動更新処理とＰＦ機能の起動が指示されると、当該ノード２０２の管理ソフトウェア２１８は記憶装置制御部２０６にＰＦ機能の起動を指示し、ＰＦ機能の起動を指示された記憶装置制御部２０６は自ノードをシステムから切り離し、その後、前記管理ソフトウェア２１８はソフトウェア自動更新処理を行い、ソフトウェア自動更新処理の完了後に、前記記憶装置制御部２０６がＰＦ機能を解除することにより当該ノード２０２をシステムに復帰させる。【選択図】図２
2015138359.tif 000002
【特許請求の範囲】
【請求項１】
１つの筐体内に複数のノードと各ノード専用の個別記憶装置と共有の共有記憶装置を備え、各ノードは当該ノードを制御する管理ソフトウェアと前記個別記憶装置及び前記共有記憶装置を制御する記憶装置制御部を備えたクラスタシステムのソフトウェア更新方式において、各ノードは自ノードをシステムから切り離すＰｌａｎｎｅｄ  Ｆａｉｌｅｏｖｅｒ機能（以下、ＰＦ機能）を有し、入出力装置を介して第１のノードのソフトウェア自動更新処理とＰＦ機能の起動が指示されると、当該ノードの管理ソフトウェアは前記記憶装置制御部にＰＦ機能の起動を指示し、ＰＦ機能の起動を指示された前記記憶装置制御部は当該ノードをシステムから切り離し、その後、前記管理ソフトウェアは前記ソフトウェア自動更新処理を行い、ソフトウェア自動更新処理の完了後に、前記記憶装置制御部がＰＦ機能を解除することにより当該ノードをシステムに復帰させることを特徴とするクラスタシステムのソフトウェア更新方式。
【請求項２】
前記入出力装置を介してソフトウェア自動更新処理が指示されると、当該ノードの管理ソフトウェアは最新ソフトウェアを外部サーバからダウンロードして当該ノードの個別記憶装置に格納しておき、当該ノードがＰＦ機能によりシステムから切り離されている時に最新ソフトウェアの更新処理を行うことを特徴とする請求項１に記載のクラスタシステムのソフトウェア更新方式。
【請求項３】
前記クラスタシステムは各ノードの記憶装置制御部を接続する通信バスを備え、前記第１のノード以外の他のノードは前記通信バスを経由して前記第１のノードの状態信号を受信し、前記第１のノードがシステムに復帰後、他のノードは当該ノードのＰＦ機能の起動とソフトウェア自動更新処理を行うことを特徴とする請求項１又は２に記載のクラスタシステムのソフトウェア更新方式。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、小規模クラスタシステムにおけるソフトウェア更新方式に関するものである。
【背景技術】
【０００２】
クラスタシステムとは複数のコンピュータを論理的に１つのコンピュータとして認識させる技術であり、１つのコンピュータでは得られない性能の向上や、３６５日２４時間稼動のシステムを実現することを目的として使用されている。
このような中、クラスタシステムの１つとして、中小規模の顧客向けに低価格でクラスタシステムの構築が実現できる“Ｃｌｕｓｔｅｒ−Ｉｎ−ａ−Ｂｏｘ−Ｓｙｓｔｅｍ（ＣＩＢＳ）”と呼ばれる小規模クラスタシステムのハードウェア製品が製品化されている。“Ｃｌｕｓｔｅｒ−Ｉｎ−ａ−Ｂｏｘ−Ｓｙｓｔｅｍ”には、１つの筐体の中に、複数のノード、ノードが共有するストレージシステム、冗長電源といったコンポーネントが納められており、これらがハードウェア的に相互接続することによりクラスタシステムを実現することができる。
【０００３】
クラスタシステムにおいては、可用性を向上する機能の１つとして“Ｐｌａｎｎｅｄ  Ｆａｉｌｅｏｖｅｒ（ＰＦ）”呼ばれる技術がある。これは、システムの不具合対策、機能拡張等といった理由でクラスタシステムを構成するハードウェアのデバイスドライバ、マイクロプログラム（ファームウェア）といったソフトウェアを更新するために、意図的にユーザーがクラスタシステムから更新対象のノードを切り離す機能である。クラスタシステム自体は、切り離したノードとは別のノードにより継続動作が可能であり、この間にユーザーは並行して切り離したノードに対してソフトウェアの更新を行うことできる。以上のとおりクラスタシステムにおいては、システム運用を停止することなく、ソフトウェアを更新することが可能となる。
【０００４】
以上のとおり、クラスタシステムにおいてはシステム運用を停止することなく、ソフトウェアの更新を実現することが可能となるが、どうしても、ユーザー操作の介入が前提となってしまう。ソフトウェアの更新に際するユーザー操作は、『（１）更新対象のノードに対して“Ｐｌａｎｎｅｄ  Ｆａｉｌｏｖｅｒ”の実施』、『（２）更新対象のノードに対してソフトウェア更新を実施』、『（３）ソフトウェア更新が終わったノードに対して“Ｐｌａｎｎｅｄ  Ｆａｉｌｏｖｅｒ”を解除』、『（４）その他ノードに対して（１）〜（３）の作業を実施』といった作業が必要となるため、ユーザーの負担および誤操作を減らすためにも、如何にしてユーザーの介入を減らし、自律的にこれらの操作をできるかが求められる。システムのソフトウェア更新に対して、ユーザーの介入を減らすための、従来の技術では、特許文献１に開示されているように、１つのシステム装置に対して自動でソフトウェアを更新する技術がある。しかし、本手段は、あくまで『（２）更新対象のノードに対してソフトウェア更新を実施』を自律化したものであり、前述の（１）、（３）、（４）の処理はされないため、なお一層の自律化が必要となる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平７−２２５７２４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
クラスタシステムのソフトウェア更新処理において、如何にしてユーザーの介入を減らし、自律的にクラスタシステムのソフトウェア（ハードウェアのデバイスドライバ、マイクロプログラム）更新処理をできるかが求められる。本発明の目的は、ユーザーが介入すること無く、自動で小規模クラスタシステムを構成する全コンポーネントのソフトウェア更新処理が可能な方式を提供することにある。
【課題を解決するための手段】
【０００７】
小規模クラスタシステムの各ノードが自ノードをシステムから切り離すＰｌａｎｎｅｄ  Ｆａｉｌｅｏｖｅｒ機能（以下、ＰＦ機能）を有し、第１のノードのソフトウェア自動更新処理とＰＦ機能の起動が入出力装置を介して指示されると、当該ノードの管理ソフトウェアは記憶装置制御部にＰＦ機能の起動を指示し、ＰＦ機能の起動を指示された記憶装置制御部は自ノードをシステムから切り離し、その後、前記管理ソフトウェアはソフトウェア自動更新処理を行い、ソフトウェア自動更新処理の完了後に、前記記憶装置制御部がＰＦ機能を解除することにより当該ノードをシステムに復帰させる。
【発明の効果】
【０００８】
本発明により、小規模クラスタシステムにおいて、ユーザーが介入することなく、自律的に小規模クラスタシステムを構成する全コンポーネントのソフトウェア（ハードウェアのデバイスドライバ、マイクロプログラム）の更新処理が可能となる。
【図面の簡単な説明】
【０００９】
【図１】小規模クラスタシステムの概略図
【図２】本発明を実現する小規模クラスタシステムの概略図
【図３−（ａ）】管理ソフトウェアのブロック図
【図３−（ｂ）】管理ソフトウェアの設定プログラムの概略図（ｂ）
【図３−（ｃ）】管理ソフトウェアの設定プログラムの概略図（ｃ）
【図３−（ｄ）】管理ソフトウェアの設定プログラムの概略図（ｄ）
【図４】ディスクアレイコントローラのブロック図
【図５】ディスクアレイコントローラ 制御ファームウェアのブロック図
【図６】ディスクアレイコントローラ不揮発メモリ内の制御フラグ概略図
【図７】従来の一実施形態を示す概略フロー
【図８】本発明の一実施形態を示す概略フロー
【図９】処理８０２の詳細フロー
【図１０】手操作入力８０３の詳細フロー
【図１１】処理８０５の詳細フロー
【図１２】処理８０６の詳細フロー
【図１３】処理８０７の詳細フロー
【図１４】処理８０８の詳細フロー
【図１５−（ａ）】処理８１０の詳細フロー（ａ）
【図１５−（ｂ）】処理８１０の詳細フロー（ｂ）
【図１６】処理８１１の詳細フロー
【発明を実施するための形態】
【００１０】
以下、本発明の一例について図を用いて説明する。
【００１１】
図１には“Ｃｌｕｓｔｅｒ−Ｉｎ−ａ−Ｂｏｘ−Ｓｙｓｔｅｍ”（以下、小規模クラスタシステムと記載）の代表的な運用形態を示している。
【００１２】
小規模クラスタシステム１０１は、１つの筐体の中にノード−Ａ１０２とノード−Ｂ１０７の複数のノード、ノードが共有するストレージシステム１１３が納められており、１つの筐体内に納められた各コンポーネントがＳＡＳ（Ｓｅｒｉａｌ  Ａｔｔａｃｈｅｄ  ＳＣＳＩ）等のインターフェースにより相互に接続している。
【００１３】
ノード−Ａ１０２は、ノード−Ａ用ＣＰＵ１０３、ノード−Ａ用システムメモリ１０４、ノード−Ａ用ディスクアレイコントローラ１０６といったハードウェアを実装している。また、クラスタシステムを実現するためノード−Ａ用システムメモリ１０４内にクラスタソフトウェア−Ａ１０５が常駐している。ノード−Ｂについてもノード−Ａと同様に同じハードウェア構成とソフトウェア構成で稼働している。ノード−Ａ１０２、ノード−Ｂ１０７共にユーザーインターフェースとしてモニタ、マウス、キーボードといった入出力装置が接続可能であり、ノード−Ａ１０２の場合は入出力装置−Ａ１１８、ノード−Ｂ１０７の場合は入出力装置−Ｂ１１９より操作を行う。
【００１４】
ノード−Ａ１０２とノード−Ｂ１０７が共有するストレージシステム１１３内には、ノード−Ａ１０２のＯｐｅｒａｔｉｎｇ Ｓｙｓｔｅｍ（以下ＯＳ）・データが格納されたドライブ１１４、ノード−Ｂ１０７のＯｐｅｒａｔｉｎｇ Ｓｙｓｔｅｍ（以下ＯＳ）・データが格納されたドライブ１１６、ノード−Ａとノード−Ｂが共有するドライブ１１５が存在し、システムバックプレーン１１２を介して、ノード−Ａ１０２とノード−Ｂ１０７とストレージシステム１１３とが相互接続を行いデータのやり取りを実施している。
【００１５】
図１に示す小規模クラスタシステムは、ノード−Ａ１０２に搭載されるディスクアレイコントローラ−Ａ１０６とノード−Ｂ１０７に搭載されるディスクアレイコントローラ−Ｂ１１１とストレージシステム１１３とのハードウェア連携と小規模クラスタシステムの各ノードのクラスタソフトウェア−Ａ１０５とクラスタソフトウェア−Ｂ１１０とのソフトウェア連携をすることにより、クラスタシステムが実現されている。
【００１６】
以下、本発明について図を用いて説明する。
【００１７】
図２は小規模クラスタシステムにおいて本発明を適用した実施形態をブロック図として示したものである。図２の実施形態においては図１の小規模クラスタシステムより、管理ソフトウェア−Ａ２１８、管理ソフトウェア−Ｂ２１９、状態通信バス２２０、インターネット２２１、小規模クラスタシステム用ソフトウェア管理サーバ２２２が構成要素として追加されている。
【００１８】
管理ソフトウェア−Ａ２１８はノード−Ａ用システムメモリ２０４内に常駐するプログラムでありノード−Ａ２０２の制御を行うソフトウェアである。管理ソフトウェア−Ｂ２１９はノード−Ｂ用システムメモリ２０９内に常駐するプログラムでありノード−Ａ２０２の制御を行うソフトウェアである。これらのソフトウェアは管理対象のノードが違うだけで同じ機能を実装している。
【００１９】
図３（ａ）に管理ソフトウェアの制御ブロック図を示す。管理ソフトウェア３０１は、大きく分けて３０２、３０３、３０４、３０５、３０６、３０７の６種類の要素で構成されており、本発明において重要な要素は３０２、３０４、３０６、３０７となる。
【００２０】
ソフトウェア自動更新制御部３０２は、小規模クラスタシステム用ソフトウェア管理サーバ２２２よりインターネット２２１経由でダウンロードされた最新版ソフトウェアの自動更新処理を行う。最新版ソフトウェアの自動更新処理で必要な処理は当該制御部３０２にて全て実施され、例えば、自動更新処理で各ノードの再起動が必要とされる場合も当該制御部３０２において実施される。
【００２１】
最新版ソフトウェア入手制御部３０３は、小規模クラスタシステム用ソフトウェア管理サーバ２２２よりインターネット２２１経由で最新版ソフトウェアの入手（ダウンロード）を自動で行う。本制御の詳細は図８の処理８０２の詳細フロー図９にて示す。
【００２２】
状態フラグ監視・設定制御部３０４は各ノードのディスクアレイコントローラが管理するソフトウェア自動更新機能用制御フラグ６０２（図６に記載）の制御を行う。管理ソフトウェアの本制御部は定期的にソフトウェア自動更新機能用制御フラグ６０２を監視、または、管理ソフトウェアからの処理に応じて当該制御フラグ６０２を設定することでソフトウェア自動更新処理を補助する。
【００２３】
クラスタシステム設定制御部３０６では小規模クラスタシステム２０１を構成するノード−Ａ２０２またはノード−Ｂ２０７に対して“Ｐｌａｎｎｅｄ  Ｆａｉｌｏｖｅｒ” の起動／解除命令を行うことで、各ノードに搭載されるディスクアレイコントローラが本命令を受信。ディスクアレイコントローラ制御ファームウェア５０１のクラスタシステム制御部５０２（図５に記載）の制御により該当ノードのクラスタシステムからの切り離し／クラスタシステムへの復旧を、システム運用を停止することなく実施することができる。“Ｐｌａｎｎｅｄ  Ｆａｉｌｏｖｅｒ”の機能は前述のとおり、システムの不具合対策、機能拡張等といった理由で各ノードのソフトウェアを更新することを目的に設けられた機能である。
【００２４】
管理ソフトウェア設定プログラム３０７は管理ソフトウェア３０１の制御部３０２、３０３、３０６を設定するための設定プログラムである。本設定プログラム３０７の詳細は図３−（ｂ）、図３−（ｃ）、図３−（ｄ）に示す。管理ソフトウェア−Ａ２１８は、ノード−Ａに直接接続された入出力装置−Ａ２２３（モニタ、マウス、キーボード）、管理ソフトウェア−Ｂ２１９はノード−Ｂに直接接続された入出力装置−Ｂ２２４により、本管理ソフトウェア設定プログラム３０７を介して各種操作を行う。
【００２５】
図３−（ｂ）に管理ソフトウェア設定プログラム３０７の一例を示す。管理ソフトウェア設定プログラム３０７はＧｒａｐｈｉｃａｌ Ｕｓｅｒ Ｉｎｔｅｒｆａｃｅのソフトウェアであり、小規模クラスタシステムの状態表示、ノードの操作・設定、ノードが管理するドライブ情報の表示、管理ソフトウェアが検出したイベントの通知等を行う。ノード−Ａ２０２の操作・設定をする場合は管理ソフトウェア−Ａ２１８のソフトウェア設定プログラムより実施する。ノード−Ｂ２０７の操作・設定をする場合は管理ソフトウェア−Ｂ２１９のソフトウェア設定プログラムより実施する。（管理ソフトウェア−Ａ２１８のソフトウェア設定プログラムからノード−Ｂ２０７を操作・設定することはできない。）
ノード−Ａ２０２の管理ソフトウェア−Ａ２１８の管理ソフトウェア設定プログラムを操作することを前提に管理ソフトウェア設定プログラム３０７の概要を説明する。
【００２６】
小規模クラスタシステムの構成画面３０８よりノード−Ａ３１１をマウスで選択すると情報表示画面３０９にノード−Ａ２０２の情報が表示される。ストレージシステム３１３にはノード−Ａ２０２が管理するドライブのみが表示され、各ドライブをマウスで選択すると情報表示画面３０９に選択したドライブの情報が表示される。
【００２７】
イベント表示画面３１０にはディスクアレイコントローラ−Ａ２０６制御ファームウェアのイベント通知制御部５０６（図５に記載）により検出された様々なイベントが表示される。
【００２８】
管理ソフトウェア−Ａ２１８の管理ソフトウェア設定プログラム３０７のノード−Ｂ３１２では、ノード−Ｂ２０２の状態が表示される。ノード−Ｂがクラスタとして動作している場合は“Ａｃｔｉｖｅ”、クラスタから切り離されている場合は“Ｉｎａｃｔｉｖｅ”と表示される。
【００２９】
図３−（ｃ）にノード−Ａ２０２に対して“Ｐｌａｎｎｅｄ  Ｆａｉｌｏｖｅｒ”の発動／解除、ソフトウェア自動更新処理の設定を実施する際の、管理ソフトウェア設定プログラムの画面一例を示す。この場合、小規模クラスタシステムの構成画面３０８より、ユーザー操作でノード−Ａ３１１をマウスで右クリックすることで“Ｐｌａｎｎｅｄ  Ｆａｉｌｏｖｅｒ”の発動／解除、ソフトウェアの自動更新処理の設定が選択できるノード操作メニュー３１４を表示し必要な作業を実施できる形態をとっている。“Ｐｌａｎｎｅｄ  Ｆａｉｌｏｖｅｒ”をユーザー操作により発動する場合は”Ｐｌａｎｎｅｄ Ｆａｉｌｏｖｅｒを実施する”を選択。これにより管理ソフトウェア−Ａ２１８のクラスタシステム設定制御部３０６が動作しディスクアレイコントローラ−Ａ２０６が本命令を受信する。ディスクアレイコントローラ−Ａ２０６のファームウェア制御によりノード−Ａ２０２が切り離される。これ以後、小規模クラスタシステムはノード−Ｂ２０７でのみシステム運用される。“Ｐｌａｎｎｅｄ  Ｆａｉｌｏｖｅｒ”をユーザー操作により解除する場合は”Ｐｌａｎｎｅｄ Ｆａｉｌｏｖｅｒを解除する”を選択する。これにより管理ソフトウェア−Ａ２１８のクラスタシステム設定制御部３０６が動作しディスクアレイコントローラ−Ａ２０６が本命令を受信する。ディスクアレイコントローラ−Ａ２０６のファームウェア制御によりノード−Ａ２０２が小規模クラスタシステムに復帰する。これ以後、ノード−Ａとノード−Ｂのクラスタ構成にて小規模クラスタシステムがシステム運用される。
【００３０】
図３−（ｄ）にて本発明の発動条件を設定する場合は、”ソフトウェア自動更新処理の設定”を選択する。本設定を選択した場合に表示される画面を図３−（ｄ）に示す。ソフトウェア自動更新処理の設定画面３１５にて設定項目３１６を選択するとソフトウェアの自動更新処理が発動する条件となる。設定項目３１７を選択するとソフトウェアの自動更新処理は行われない。本発明の発動条件は、管理ソフトウェア設定プログラム３０７により実施される。管理ソフトウェア３０１は当該設定プログラム３０７により設定された設定値をディスクアレイコントローラに送信する。ディスクアレイコントローラは本設定値を受信しディスクアレイコントローラ制御ファームウェア５０１の状態フラグ設定制御部５０５（図５に記載）により、ソフトウェア自動更新機能用制御フラグ６０２のフラグ６０５“Ａｕｔｏ＿Ｕｐ＿Ｓｅｔ“（図６に記載）の値を設定する。”ノードのソフトウェア自動更新処理を実施する“を選択した場合は”１“、”ノードのソフトウェア自動更新処理を実施しない“を選択した場合は”０“が設定される。
【００３１】
小規模クラスタシステム用ソフトウェア管理サーバ２２２は、小規模クラスタシステムの最新版ソフトウェア（ファームウェア、デバイスドライバ等）が格納されたソフトウェア配信用の専用サーバであり、小規模クラスタシステムの販売元が用意するサーバである。販売元は不具合対策、機能拡張を目的に最新版ソフトウェアを提供する際、小規模クラスタシステム用ソフトウェア管理サーバ２２２に最新版ソフトウェアを格納しインターネット２２１を経由して小規模クラスタシステムの各ノードに対して最新版ソフトウェアを配信する。
【００３２】
状態通信バス２２０はノード−Ａ２０２内のディスクアレイコントローラ−Ａ２０６とノード−Ｂ２０７内のディスクアレイコントローラ−Ｂ２１１の間で、各ノードの“Ｐｌａｎｎｅｄ  Ｆａｉｌｏｖｅｒ”の発動／解除の状態遷移を連絡するための通信バスである。この情報を基に全ノードに対してソフトウェアの更新を自動実施する。
【００３３】
次に各ノードのシステムメモリに常駐する管理ソフトウェア−Ａ２１８、管理ソフトウェア−Ｂ２１９の設定プログラムについて説明する。管理ソフトウェアの設定プログラムは、ノード−Ａ２０２の場合はノード−Ａ管理のＯＳ・データドライブ２１４、ノード−Ｂ２０７の場合はノード−Ｂ管理のＯＳ・データドライブ２１６に格納されており、ユーザーが必要に応じて任意に起動する。
【００３４】
次にディスクアレイコントローラ−Ａ２０６、ディスクアレイコントローラ−Ｂ２１１のブロック図を図４に示す。ディスクアレイコントローラ４０１は、制御用ＣＰＵ４０２、ディスクアレイコントローラ用メモリ４０３、通信ポート４０４、不揮発メモリ４０５で構成され、これらのハードウェアと図５に示すディスクアレイコントローラ制御ファームウェア５０１により、本発明の制御だけでなくディスクアレイシステムの基本制御（データの入出力制御、各ＲＡＩＤレベルに応じたディスクアレイの制御等）が実施される。
【００３５】
ディスクアレイコントローラ−Ａ２０６、ディスクアレイコントローラ−Ｂ２１１に実装するファームウェア制御のブロック図を図５に示す。ディスクアレイシステムの制御ファームウェア５０１は、大きく分けて５０２、５０３、５０４、５０５、５０６の５種類の要素で構成されており、本発明において重要な要素は５０２、５０４、５０５、５０６となる。
【００３６】
クラスタシステム制御部５０２は小規模クラスタシステム２０１のクラスタ制御を行う部位である。”Ｐｌａｎｎｅｄ  Ｆａｉｌｏｖｅｒ”の起動／解除命令を受けて、クラスタシステムからのノードの切り離し／クラスタシステムへの復帰を制御するのは本制御部となる。管理ソフトウェア−Ａ２１８または管理ソフトウェア−Ｂ２１９のいずれかより”Ｐｌａｎｎｅｄ  Ｆａｉｌｏｖｅｒ”の起動／解除命令が発行された場合は、ディスクアレイコントローラが本命令を受け、クラスタシステム制御部５０２によりクラスタシステムからのノードの切り離し／クラスタシステムへの復帰を行う。
【００３７】
ディスクアレイ制御部５０３はストレージシステムに搭載された複数のドライブに対して各ディスクアレイのレベル（ＲＡＩＤ１、ＲＡＩＤ５等）に応じたディスクアレイの構築、処理を行う部位である。
【００３８】
状態通信バス制御部５０４は状態通信バス２２０を介して接続されるディスクアレイコントローラ−Ａ２０６とディスクアレイコントローラ−Ｂ２１１間の通信を行うための制御部位である。本制御を用いて互いのディスクアレイコントローラ間で各ノードの“Ｐｌａｎｎｅｄ  Ｆａｉｌｏｖｅｒ”の発動／解除の状態遷移を監視する。
【００３９】
状態フラグ制御部５０５は本発明の制御に必要なフラグを設定／解除するための制御部分である。状態フラグはディスクアレイコントローラ４０１の不揮発メモリ４０５内の制御フラグ格納領域４０７（図４）へ保存され本発明の制御に使用される。
【００４０】
イベント通知制御部５０６はディスクアレイコントローラで処理したイベントを不揮発メモリ４０５に記録する制御であり、イベントは不揮発メモリ４０５内のイベント格納領域４０６（図４）へ保存される。イベント格納領４０６に記録されたイベントは管理ソフトウェアの制御により定期的に監視されており（本発明での管理ソフトウェアによるイベントの監視間隔は１５秒程度とする）、検出されたイベントは図３の管理ソフトウェア設定プログラム３０７内イベント表示画面３１０にて通知される。
【００４１】
図６に状態フラグ制御部５０５で制御するフラグ情報を示す。
ソフトウェア自動更新機能用制御フラグとして使用するフラグは６０３、６０４、６０５、６０６となる。
【００４２】
制御フラグ６０３（Ｏｗｎ＿ＰＦ＿Ｏｎ）は管理ソフトウェア設定プログラム３０７から“Ｐｌａｎｎｅｄ  Ｆａｉｌｏｖｅｒ”の発動／解除を受けた時に設定するフラグである。“Ｐｌａｎｎｅｄ  Ｆａｉｌｏｖｅｒ”が起動した場合は“Ｏｗｎ＿ＰＦ＿Ｏｎ＝１”を設定する。その他の状態では“Ｏｗｎ＿ＰＦ＿Ｏｎ＝０”を設定する。”本制御フラグはディスクアレイコントローラ 制御ファームウェア５０１でのみ制御される。
【００４３】
制御フラグ６０４（Ｏｔｈｅｒ＿ＰＦ＿Ｏｎ）は自分自身とは別のディスクアレイコントローラで“Ｐｌａｎｎｅｄ  Ｆａｉｌｏｖｅｒ”が起動した履歴を管理するフラグである。状態通信バス２２０経由で情報を受け取り、自分自身とは別のディスクアレイコントローラで“Ｐｌａｎｎｅｄ  Ｆａｉｌｏｖｅｒ”が起動している時に“Ｏｔｈｅｒ＿ＰＦ＿Ｏｎ＝１”へ設定し履歴を残す。その他の状態では“Ｏｔｈｅｒ＿ＰＦ＿Ｏｎ＝０”を設定する。本制御フラグはディスクアレイコントローラ 制御ファームウェア５０１でのみ制御される。
【００４４】
制御フラグ６０５（Ａｕｔｏ＿Ｕｐ＿Ｓｅｔ）には管理ソフトウェア設定プログラム３０７のソフトウェア自動更新処理の設定画面３１５にて設定した値が反映される。ソフトウェア自動更新処理の設定画面３１５で“ノードのソフトウェア更新処理を実施する”３１６が設定されている場合は“Ａｕｔｏ＿Ｕｐ＿Ｓｅｔ＝１”を設定する。“ノードのソフトウェア自動更新処理を実施しない”３１７が設定されている場合は“Ａｕｔｏ＿Ｕｐ＿Ｓｅｔ＝０”を設定する。本制御フラグはディスクアレイコントローラ 制御ファームウェア５０１と管理ソフトウェア設定プログラム３０７の連携により制御される。
【００４５】
制御フラグ６０６（ＳＷ＿Ｕｐ＿Ｅｎｄ）は管理ソフトウェアにより制御されるソフトウェアの自動更新処理が正常終了したかを判定するフラグである。ソフトウェアの自動更新処理が完了した場合は“ＳＷ＿Ｕｐ＿Ｅｎｄ＝１”、自動更新処理が開始前または処理途中の場合はした場合は“ＳＷ＿Ｕｐ＿Ｅｎｄ＝０”が設定される。本制御フラグはディスクアレイコントローラ制御ファームウェア５０１と管理ソフトウェアで制御される。
【００４６】
次に従来の小規模クラスタシステムにおけるソフトウェアの更新方式と今回の発明により処理される動作の違いを示す。
【００４７】
図７に従来の小規模クラスタシステムにおけるソフトウェアの更新方式を示す。従来の方式では手操作入力７０１、７０３、７０４、７０６に見られるとおり、手操作で管理ソフトウェアの設定プログラム３０７により手動で“Ｐｌａｎｎｅｄ  Ｆａｉｌｏｖｅｒ”の発動／解除を実施した上、手操作処理７０２、７０５に見られるとおり小規模クラスタシステムを構成するノード−Ａ２０２、ノード−Ｂ２０７に対してユーザー手動でソフトウェアの更新作業を実施しなければならなかった。
【００４８】
図８に本発明（図２）の実施形態において処理される動作の全体像を示す。この動作はノード−Ａ２０２に対して“Ｐｌａｎｎｅｄ  Ｆａｉｌｏｖｅｒ”の起動したときのソフトウェア自動更新処理の全体像を示したものである。
【００４９】
処理８０１において、ユーザーは、ノード−Ａ２０２、ノード−Ｂ２０７それぞれに対してソフトウェアの自動更新処理を行うかを管理ソフトウェア設定プログラム３０７のソフトウェア自動更新処理の設定画面３１５より事前に設定しておく。設定方法は前述の図３（ｂ）、図３（ｃ）、図３（ｄ）の説明に準ずる。設定情報をもって、各ノードに対して、本発明のソフトウェア自動更新処理を起動する／しないを判定する。
【００５０】
処理８０２において、処理８０１でソフトウェア自動更新処理がＯｎのノードは小規模クラスタシステム用ソフトウェア管理サーバ２２２に定期的にアクセスし最新版のソフトウェアが無いかを検索する。最新版のソフトウェアが存在した場合はインターネット２２１を経由して最新版ソフトウェアを随時ダウンロードしておく。この最新版ソフトウェアの入手処理は最新版ソフトウェア入手制御部３０３により定期的に行われ、この説明においては１日おきに行われるものとする。
【００５１】
図９に処理８０２の詳細フローを示す。
【００５２】
定期処理９０１において各ノードの管理ソフトウェア−Ａ２１８と管理ソフトウェア−Ｂ２１９それぞれの最新版ソフトウェア入手制御部３０３が動作し最新版ソフトウェアの入手処理が開始される。
【００５３】
判定処理９０２において管理ソフトウェア−Ａ２１８と管理ソフトウェア−Ｂ２１９それぞれについて、図８の処理８０１で設定していたソフトウェア自動更新処理のＯｎ／Ｏｆｆ設定を確認。管理ソフトウェア自動更新処理がＯｎの場合は処理９０３へ遷移する。処理がＯｆｆの場合は本処理を終了する。
【００５４】
処理９０３において各ノードの管理ソフトウェア−Ａ２１８と管理ソフトウェア−Ｂ２１９それぞれのソフトウェア入手制御部３０３により、小規模クラスタシステム用ソフトウェア管理サーバ２２２へアクセスを行い最新版ソフトウェアの有無を確認する。
【００５５】
判定処理９０４により、小規模クラスタシステム用ソフトウェア管理サーバ２２２に最新版ソフトウェアが存在する場合は処理９０５へ遷移、最新版ソフトウェアが小規模クラスタシステム用ソフトウェア管理サーバ２２２に存在しない場合は定期処理９０１に戻り処理を継続する。
【００５６】
処理９０５において各ノードの管理ソフトウェア−Ａ２１８と管理ソフトウェア−Ｂ２１９それぞれの最新版ソフトウェア入手制御部３０３が動作し、最新版ソフトウェアをインターネット２２１経由で小規模クラスタシステム用ソフトウェア管理サーバ２２２よりダウンロードする。ダウンロードした後に最新版ソフトウェアを管理ソフトウェア−Ａ２１８と管理ソフトウェア−Ｂ２１９それぞれの最新版ソフトウェア入手制御部３０３によりストレージシステム２１３内の所定のドライブへ格納する。ノード−Ａ２０２の場合は管理ソフトウェア−Ａ２１８の制御によりノード−Ａ２０２が管理するＯＳ、データドライブ２１４へ、ノード−Ｂ２０７の場合は管理ソフトウェア−Ｂ２１９の制御によりノード−Ｂ２０７が管理するＯＳ、データドライブ２１６へ最新版ソフトウェアを格納する。
【００５７】
処理８０３において、ユーザーは最新版ソフトウェアへ更新することを目的に管理ソフトウェア設定プログラム３０７より“Ｐｌａｎｎｅｄ  Ｆａｉｌｏｖｅｒ”処理を起動する。
【００５８】
図１０に処理８０３の詳細フローを示す。
【００５９】
手操作入力１００１において管理ソフトウェア−Ａ２１８の管理ソフトウェア設定プログラムの小規模クラスタシステムの構成画面３０８よりノード−Ａ選択項目３１１をマウスで右クリックする。この後、ノード操作メニュー３１５が表示されるのでノード操作メニュー３１５より“Ｐｌａｎｎｅｄ  Ｆａｉｌｏｖｅｒを実施する”をマウスで選択する。手操作入力１００１がノード−Ａ２０２に対してＰｌａｎｎｅｄ  Ｆａｉｌｏｖｅｒを実施するトリガとなり、以後、全ての処理はユーザーが介入することなく自動で行われる。
【００６０】
処理１００２において管理ソフトウェア−Ａ２１８の状態フラグ監視・設定制御部３０４、クラスタシステム設定制御部３０６の制御により、ディスクアレイコントローラ−Ａ２０６に対して“Ｐｌａｎｎｅｄ  Ｆａｉｌｏｖｅｒ”の起動命令を発行。ディスクアレイコントローラ−Ａ２０６の制御ファームウェアが管理ソフトウェア−Ａ２１８からこれらの命令を受信する。
【００６１】
処理１００３においてディスクアレイコントローラ−Ａ２０６の制御ファームウェアのクラスタシステム制御部５０２は管理ソフトウェア−Ａ２１８のクラスタシステム設定制御部３０６により発行された“Ｐｌａｎｎｅｄ  Ｆａｉｌｏｖｅｒ”の起動命令をもとにノード−Ａ２０２を小規模クラスタシステム２０１より切り離す。この処理によりノード−Ａ２０２はクラスタ構成より切り離され、以後、ノード−Ａ２０２内の構成要素とストレージシステム２１３内のノード−Ａが管理するＯＳ、データドライブ２１４との相互接続によりノード−Ａ２０２が単独で動作する。この時、クラスタシステムはノード−Ｂ２０７内の構成要素とストレージシステム２１３内のノード−Ａおよびノード−Ｂが共有するドライブ２１５とノード−Ｂが管理するＯＳ、データドライブ２１６が相互接続することにより運用される。
【００６２】
処理１００４においてディスクアレイコントローラ−Ａ２０６の制御ファームウェアの状態フラグ制御部５０５により、ディスクアレイコントローラ−Ａ２０６の制御フラグ格納領域４０７で管理されているソフトウェア自動更新機能用制御フラグ６０２を設定する。この時、状態フラグ制御部５０５はフラグ情報６０３を“Ｏｗｎ＿ＰＦ＿Ｏｎ＝１”へセットする。
【００６３】
以上の図１０に示す処理により、ディスクアレイコントローラ−Ａ２０６の制御フラグ格納領域４０７で管理されているソフトウェア自動更新機能用制御フラグ６０２の情報は内部記憶１００５に示すとおりとなる。以上の処理の後、判定処理８０４へ遷移する。
【００６４】
判定処理８０４において、管理ソフトウェア−Ａ２１８の制御により処理８０１で設定していたソフトウェア自動更新処理のＯｎ／Ｏｆｆ設定を確認する。管理ソフトウェア−Ａ２０２で自動更新処理がＯｎの場合は処理８０５を継続し、処理がＯｆｆの場合は処理８１２へ遷移する。ディスクアレイコントローラ−Ａ２０６の不揮発メモリ４０５の制御フラグ格納領域６０１で管理するソフトウェア自動更新機能 制御フラグ６０２の特定フラグ（６０４，６０５，６０６）を初期値の“０”へ設定し処理を終了する。
【００６５】
処理８０５において、ディスクアレイコントローラ−Ａ２０６が管理する制御フラグ格納領域６０１のソフトウェア自動更新機能用制御フラグ６０２で２つのフラグ”Ｏｗｎ＿ＰＦ＿Ｏｎ＝１“（６０３）、”Ａｕｔｏ＿Ｕｐ＿Ｓｅｔ＝１”（６０５）になったことをトリガに、ディスクアレイコントローラＡ２０６制御ファームウェアの状態通信バス制御部５０４の制御により、状態通信バス２２０を経由して、ディスクアレイコントローラＢ２１１に対して制御信号が発信される。ディスクアレイコントローラ−Ｂ２１１は本制御信号の受信によりディスクアレイコントローラ−Ａ２０６で“Ｐｌａｎｎｅｄ  Ｆａｉｌｏｖｅｒが起動した”と認識する。ディスクアレイコントローラ−Ｂ２１１が管理する制御フラグ格納領域６０１のソフトウェア自動更新機能用制御フラグでフラグ”Ｏｔｈｅｒ＿ＰＦ＿Ｏｎ＝１“（６０４）へセットする。
【００６６】
図１１に処理８０５の詳細フローを示す。
【００６７】
内部記憶１１０１は本処理起動時におけるディスクアレイコントローラ−Ａ２０６の制御フラグ格納領域４０７で管理されているソフトウェア自動更新機能用制御フラグ６０２のフラグ情報一覧を示したものである。本処理起動時、ソフトウェア自動更新機能用制御フラグ６０２において、フラグ情報６０３は”Ｏｗｎ＿ＰＦ＿Ｏｎ＝１“、フラグ情報６０４は”Ｏｔｈｅｒ＿ＰＦ＿Ｏｎ＝０“、フラグ情報６０５は”Ａｕｔｏ＿Ｕｐ＿Ｓｅｔ＝１”フラグ情報６０６は“ＳＷ＿Ｕｐ＿Ｅｎｄ＝０”でセットされている。
【００６８】
処理１１０２において、ディスクアレイコントローラ−Ａ２０６の制御ファームウェアの状態通信バス制御部５０４が、フラグ情報６０３が”Ｏｗｎ＿ＰＦ＿Ｏｎ＝１“、フラグ情報６０４が”Ｏｔｈｅｒ＿ＰＦ＿Ｏｎ＝０“、フラグ情報６０５が”Ａｕｔｏ＿Ｕｐ＿Ｓｅｔ＝１”であることを検出。これをトリガに状態通信バス制御部５０４は状態通信バス２２１で制御する信号を発信する。この信号の発信により、ディスクアレイコントローラ−Ａ２０６で“Ｐｌａｎｎｅｄ  Ｆａｉｌｏｖｅｒ”が起動したことを、ディスクアレイコントローラ−Ｂ２１１へ通知する。
【００６９】
処理１１０３において、ディスクアレイコントローラ−Ｂ２１１の制御ファームウェアの状態通信バス制御部５０４が、ディスクアレイコントローラ−Ａ２０６の制御ファームウェアの状態通信バス制御部５０４から発信されている信号を状態通信バス２２０経由で受領する。
【００７０】
処理１１０４において、ディスクアレイコントローラ−Ｂ２１１の制御ファームウェアの状態通信バス制御部５０４による信号の受領後、ディスクアレイコントローラ−Ｂ２１１の制御ファームウェアの状態フラグ制御部５０５により、ディスクアレイコントローラ−Ｂ２１１の制御フラグ格納領域４０７で管理されているソフトウェア自動更新機能用制御フラグ６０２を設定する。この時、状態フラグ制御部５０５はフラグ情報６０４を“Ｏｔｈｅｒ＿ＰＦ＿Ｏｎ＝１”へセットする。
【００７１】
以上の図１１に示す処理により、ディスクアレイコントローラ−Ｂ２１１の制御フラグ格納領域４０７で管理されているソフトウェア自動更新機能用制御フラグ６０２の情報は内部記憶１１０５に示すとおりとなる。ディスクアレイコントローラ−Ａ２０６のソフトウェア自動更新機能用制御フラグ６０２の情報は内部記憶１１０１に示すものから変化はない。以上の処理の後、処理８０６へ遷移する。
【００７２】
処理８０６において、ディスクアレイコントローラ−Ａ２０６が管理する制御フラグ格納領域６０１のソフトウェア自動更新機能用制御フラグ６０２の情報、管理ソフトウェア３０１の状態フラグ監視・設定制御部３０４による状態フラグの定期監視処理、ソフトウェア自動更新処理３０２の処理によりソフトウェアの自動更新処理が実施される。
【００７３】
図１２に処理８０６の詳細フローを示す。
【００７４】
内部記憶１２０１は本処理起動時におけるディスクアレイコントローラ−Ａ２０６の制御フラグ格納領域４０７で管理されているソフトウェア自動更新機能用制御フラグ６０２のフラグ情報一覧を示したものである。ディスクアレイコントローラ−Ａ２０６のソフトウェア自動更新機能用制御フラグ６０２の情報は図１１の内部記憶１１０１に示すものから変化はない。
【００７５】
定期処理１２０２において、管理ソフトウェア−Ａ２１８の状態フラグ監視・設定制御部３０４によりソフトウェア自動更新機能用制御フラグ６０２の定期監視処理が随時行われている。この説明においては６０秒おきに定期監視処理が行われるものとする。
【００７６】
処理１２０３において、定期処理１２０２により管理ソフトウェア−Ａ２１８の状態フラグ監視・設定制御部３０４が、フラグ情報６０３が”Ｏｗｎ＿ＰＦ＿Ｏｎ＝１“、フラグ情報６０５が”Ａｕｔｏ＿Ｕｐ＿Ｓｅｔ＝１”であることを検出する。
【００７７】
処理１２０４において、処理１２０３をトリガに管理ソフトウェア−Ａ２１８のソフトウェア自動更新制御部３０２により最新ソフトウェアの自動更新処理が開始される。
【００７８】
処理１２０５において、管理ソフトウェア−Ａ２１８のソフトウェア自動更新制御部３０２による最新版ソフトウェアの有無確認が行われる。管理ソフトウェア−Ａ２１８のソフトウェア自動更新制御部３０２は、ノード−Ａが管理するＯＳ、データドライブ２１４へアクセスし、図９の処理により得られた最新版ソフトウェアの有無を確認する。
【００７９】
判定処理１２０６で、処理１２０５において最新版ソフトウェアが存在した場合は処理１２０７へ遷移する。最新版ソフトウェアが存在しない場合は最新ソフトウェアへの自動更新処理を実施せずに図８の処理８０７へ遷移する。
【００８０】
処理１２０７において、管理ソフトウェア−Ａ２１８のソフトウェア自動更新制御部３０２による最新版ソフトウェアの自動更新処理が行われ、クラスタシステムを構成するハードウェアのデバイスドライバ、マイクロプログラム（ファームウェア）といったソフトウェアが更新される。以上の処理の後、処理８０７へ遷移する。
【００８１】
処理８０７において、ディスクアレイコントローラ−Ａ２０６の制御ファームウェアのクラスタシステム制御部５０２の制御により“Ｐｌａｎｎｅｄ  Ｆａｉｌｏｖｅｒ” が自動で解除されノード−Ａ２０２を小規模クラスタシステム２０１へ復帰する。“Ｐｌａｎｎｅｄ  Ｆａｉｌｏｖｅｒ”が自動解除された後、 ディスクアレイコントローラ−Ａ２０６が管理する制御フラグ格納領域６０１のソフトウェア自動更新機能用制御フラグを”Ｏｗｎ＿ＰＦ＿Ｏｎ＝０“（６０３）、”ＳＷ＿Ｕｐ＿Ｅｎｄ＝０”（６０６）へ設定する。
【００８２】
図１３に処理８０７の詳細フローを示す。
【００８３】
内部記憶１３０１は本処理起動時におけるディスクアレイコントローラ−Ａ２０６の制御フラグ格納領域４０７で管理されているソフトウェア自動更新機能用制御フラグ６０２のフラグ情報一覧を示したものである。ディスクアレイコントローラ−Ａ２０６のソフトウェア自動更新機能用制御フラグ６０２の情報は図１１の内部記憶１１０１、図１２の内部記憶１２０１に示すものから変化はない。
【００８４】
処理１３０２において、管理ソフトウェア−Ａ２１８は処理８０６（図１２の処理）が完了したことを受けて、管理ソフトウェア−Ａ２１８の状態フラグ監視・設定制御部３０４によりソフトウェア自動更新機能用制御フラグ６０２の設定変更を行う。この設定変更命令を受けたディスクアレイコントローラ−Ａ２０６の制御ファームウェアの状態フラグ制御部５０５はディスクアレイコントローラ−Ａ２０６の制御フラグ格納領域４０７で管理されているソフトウェア自動更新機能用制御フラグ６０２を設定する。この時、状態フラグ制御部５０５はフラグ情報６０６を“ＳＷ＿Ｕｐ＿Ｅｎｄ＝１”へセットする。
【００８５】
内部記憶１３０３は、処理１３０２後の処理におけるディスクアレイコントローラ−Ａ２０６の制御フラグ格納領域４０７で管理されているソフトウェア自動更新機能用制御フラグ６０２のフラグ情報一覧を示したものである。この時、ソフトウェア自動更新機能用制御フラグ６０２において、フラグ情報６０３は”Ｏｗｎ＿ＰＦ＿Ｏｎ＝１“、フラグ情報６０４は”Ｏｔｈｅｒ＿ＰＦ＿Ｏｎ＝０“、フラグ情報６０５は”Ａｕｔｏ＿Ｕｐ＿Ｓｅｔ＝１”フラグ情報６０６は“ＳＷ＿Ｕｐ＿Ｅｎｄ＝１”でセットされている。
【００８６】
処理１３０４において、ディスクアレイコントローラ−Ａ２０６の制御ファームウェアのクラスタシステム制御部５０２が、フラグ情報６０６が”ＳＷ＿Ｕｐ＿Ｅｎｄ＝１“であることを検出。これをトリガにクラスタシステム制御部５０２は自動で”Ｐｌａｎｎｅｄ  Ｆａｉｌｏｖｅｒ“を解除する。
【００８７】
処理１３０５において、処理１３０４により“Ｐｌａｎｎｅｄ  Ｆａｉｌｏｖｅｒ”が自動で解除されたことでノード−Ａ２０２は小規模クラスタシステム２０１のクラスタ構成に復帰する。
【００８８】
処理１３０６において、処理１３０５によるノード−Ａのクラスタ構成復帰後、ディスクアレイコントローラ−Ａ２０６の制御ファームウェアの状態フラグ制御部５０５により、ディスクアレイコントローラ−Ａ２０６の制御フラグ格納領域４０７で管理されているソフトウェア自動更新機能用制御フラグ６０２を設定する。この時、状態フラグ制御部５０５はフラグ情報６０３、６０４、６０６を初期値の“Ｏｗｎ＿ＰＦ＿Ｏｎ＝０”、“Ｏｔｈｅｒ＿ＰＦ＿Ｏｎ＝０”、“ＳＷ＿Ｕｐ＿Ｅｎｄ＝０”へセットする。以上の処理の後、処理８０８へ遷移する。
【００８９】
処理８０８において、ディスクアレイコントローラ−Ａ２０６制御ファームウェアの状態通信バス制御部５０４、ディスクアレイコントローラ−Ｂ２１１制御ファームウェアの状態通信バス制御部５０４の制御により、ノード−Ｂへソフトウェア自動更新処理が遷移する。
【００９０】
図１４に処理８０８の詳細フローを示す。
【００９１】
内部記憶１４０１は本処理起動時におけるディスクアレイコントローラ−Ａ２０６とディスクアレイコントローラ−Ｂ２１１の制御フラグ格納領域４０７で管理されているソフトウェア自動更新機能用制御フラグ６０２のフラグ情報一覧を示したものである。ディスクアレイコントローラ−Ａ２０６のソフトウェア自動更新機能用制御フラグ６０２の情報において、フラグ情報６０３は”Ｏｗｎ＿ＰＦ＿Ｏｎ＝０“、フラグ情報６０４は”Ｏｔｈｅｒ＿ＰＦ＿Ｏｎ＝０“、フラグ情報６０５は”Ａｕｔｏ＿Ｕｐ＿Ｓｅｔ＝１”フラグ情報６０６は“ＳＷ＿Ｕｐ＿Ｅｎｄ＝０”でセットされている。ディスクアレイコントローラ−Ｂ２１１のソフトウェア自動更新機能用制御フラグ６０２の情報において、フラグ情報６０３は”Ｏｗｎ＿ＰＦ＿Ｏｎ＝０“、フラグ情報６０４は”Ｏｔｈｅｒ＿ＰＦ＿Ｏｎ＝１“、フラグ情報６０５は”Ａｕｔｏ＿Ｕｐ＿Ｓｅｔ＝０または１”フラグ情報６０６は“ＳＷ＿Ｕｐ＿Ｅｎｄ＝０”でセットされており、図１１の内部記憶１１０５に示すものから変化はない。
【００９２】
処理１４０２において、”Ｏｗｎ＿ＰＦ＿Ｏｎ＝０“となり、図１１の処理１１０２の処理条件から外れてしまうことにより、ディスクアレイコントローラ−Ａ２０６の制御ファームウェアの状態通信バス制御部５０４は状態通信バス２２１で制御する発信信号を停止する。
【００９３】
処理１４０３において、ディスクアレイコントローラ−Ｂ２１１の制御ファームウェアの状態通信バス制御部５０４に発信されていた信号が停止したことをトリガにノード−Ｂ２０７のソフトウェア自動更新処理へ遷移する。以上の処理の後、判定処理８０９へ遷移する。
【００９４】
判定処理８０９において、管理ソフトウェア−Ｂ２１９の制御により処理８０１で設定していたソフトウェア自動更新処理のＯｎ／Ｏｆｆ設定を確認する。管理ソフトウェア−Ｂ２１９で自動更新処理がＯｎの場合は処理８１０を継続し、処理がＯｆｆの場合は処理８１２へ遷移する。ディスクアレイコントローラ−Ｂ２１１の不揮発メモリ４０５の制御フラグ格納領域６０１で管理するソフトウェア自動更新機能用制御フラグ６０２の特定フラグ（６０４，６０５，６０６）を初期値の“０”へ設定し処理を終了する。
【００９５】
処理８１０において、ディスクアレイコントローラＡ２０６から状態通信バス２２０を経由してディスクアレイディスクアレイコントローラＢ２１１に対して発信されていた信号が停止されたこと（処理８０８で実施された処理）、ディスクアレイコントローラ−Ｂ２１１が管理する制御フラグ格納領域６０１のソフトウェア自動更新機能用制御フラグで”Ａｕｔｏ＿Ｕｐ＿Ｓｅｔ＝１”（６０５）になっていることをトリガに、ディスクアレイコントローラ−Ｂ２１１の制御ファームウェアのクラスタシステム制御部５０２の制御により“Ｐｌａｎｎｅｄ  Ｆａｉｌｏｖｅｒ” が自動で起動。ノード−Ｂ２０７を小規模クラスタシステム２０１より切り離す。またノード−Ｂ２０７を切り離し後、ディスクアレイコントローラ−Ｂ２１１が管理する制御フラグ格納領域６０１のソフトウェア自動更新機能用制御フラグ６０２の情報、管理ソフトウェア３０１の状態フラグ監視・設定制御部３０４による状態フラグの定期監視処理、ソフトウェア自動更新処理３０２の処理によりソフトウェアの自動更新処理が実施される。
【００９６】
図１５−（ａ）、図１５−（ｂ）に処理８１０の詳細フローを示す。
【００９７】
図１５−（ａ）の内部記憶１５０１は本処理開始時におけるディスクアレイコントローラ−Ｂ２１１の制御フラグ格納領域４０７で管理されているソフトウェア自動更新機能用制御フラグ６０２のフラグ情報一覧を示したものである。本処理開始時、ソフトウェア自動更新機能用制御フラグ６０２において、フラグ情報６０３は”Ｏｗｎ＿ＰＦ＿Ｏｎ＝０“、フラグ情報６０４は”Ｏｔｈｅｒ＿ＰＦ＿Ｏｎ＝１“、フラグ情報６０５は”Ａｕｔｏ＿Ｕｐ＿Ｓｅｔ＝１”フラグ情報６０６は“ＳＷ＿Ｕｐ＿Ｅｎｄ＝０”でセットされている。
【００９８】
処理１５０２において、ディスクアレイコントローラ−Ｂ２１１の制御ファームウェアのクラスタシステム制御部５０２が、状態通信バス２２０の信号が停止したことおよび、フラグ情報６０５が”Ａｕｔｏ＿Ｕｐ＿Ｓｅｔ＝１”であることを検出する。これをトリガにクラスタシステム制御部５０２は“Ｐｌａｎｎｅｄ  Ｆａｉｌｏｖｅｒ”を自動起動しノード−Ｂ２０７を小規模クラスタシステム２０１より切り離す。この処理によりノード−Ｂ２０７はクラスタ構成より切り離され、以後、ノード−Ｂ２０７内の構成要素とストレージシステム２１３内のノード−Ｂが管理するＯＳ、データドライブ２１６との相互接続によりノード−Ｂ２０７が単独で動作する。この時、クラスタシステムはノード−Ａ２０２内の構成要素とストレージシステム２１３内のノード−Ａが管理するＯＳ、データドライブ２１４とノード−Ａおよびノード−Ｂが共有するドライブ２１５が相互接続することにより運用される。
【００９９】
処理１５０３において、ディスクアレイコントローラ−Ｂ２１１の制御ファームウェアの状態フラグ制御部５０５により、ディスクアレイコントローラ−Ｂ２１１の制御フラグ格納領域４０７で管理されているソフトウェア自動更新機能用制御フラグ６０２を設定する。この時、状態フラグ制御部５０５はフラグ情報６０３を“Ｏｗｎ＿ＰＦ＿Ｏｎ＝１”へセットする。
【０１００】
内部記憶１５０４は、処理１５０３後の処理におけるディスクアレイコントローラ−Ｂ２１１の制御フラグ格納領域４０７で管理されているソフトウェア自動更新機能用制御フラグ６０２のフラグ情報一覧を示したものである。この時、ソフトウェア自動更新機能用制御フラグ６０２において、フラグ情報６０３は”Ｏｗｎ＿ＰＦ＿Ｏｎ＝１“、フラグ情報６０４は”Ｏｔｈｅｒ＿ＰＦ＿Ｏｎ＝１“、フラグ情報６０５は”Ａｕｔｏ＿Ｕｐ＿Ｓｅｔ＝１”フラグ情報６０６は“ＳＷ＿Ｕｐ＿Ｅｎｄ＝０”でセットされている。以上の処理の後、図１５−（ｂ）の処理へ遷移する。
【０１０１】
図１５−（ｂ）の定期処理１５０５において、管理ソフトウェア−Ｂ２１９の状態フラグ監視・設定制御部３０４によりソフトウェア自動更新機能用制御フラグ６０２の定期監視処理が随時行われている。この説明においては６０秒おきに定期監視処理が行われるものとする。
【０１０２】
処理１５０６において、定期処理１５０５により管理ソフトウェア−Ｂ２１９の状態フラグ監視・設定制御部３０４が、フラグ情報６０３が”Ｏｗｎ＿ＰＦ＿Ｏｎ＝１“、フラグ情報６０５が”Ａｕｔｏ＿Ｕｐ＿Ｓｅｔ＝１”であることを検出する。
【０１０３】
処理１５０７において、処理１５０６をトリガに管理ソフトウェア−Ｂ２１９のソフトウェア自動更新制御部３０２により最新ソフトウェアの自動更新処理が開始される。
【０１０４】
処理１５０８において、管理ソフトウェア−Ｂ２１９のソフトウェア自動更新制御部３０２による最新版ソフトウェアの有無確認が行われる。管理ソフトウェア−Ｂ２１９のソフトウェア自動更新制御部３０２は、ノード−Ｂが管理するＯＳ、データドライブ２１６へアクセスし、図９の処理により得られた最新版ソフトウェアの有無を確認する。
【０１０５】
判定処理１５０９で、処理１５０８において最新版ソフトウェアが存在した場合は処理１５１０へ遷移する。最新版ソフトウェアが存在しない場合は最新ソフトウェアへの自動更新処理を実施せずに図８の処理８１１へ遷移する。
【０１０６】
処理１５１０において、管理ソフトウェア−Ｂ２１９のソフトウェア自動更新制御部３０２による最新版ソフトウェアの自動更新処理が行われ、クラスタシステムを構成するハードウェアのデバイスドライバ、マイクロプログラム（ファームウェア）といったソフトウェアが更新される。以上の処理の後、処理８１１へ遷移する。
【０１０７】
処理８１１において、ディスクアレイコントローラ−Ｂ２１１の制御ファームウェアのクラスタシステム制御部５０２の制御により“Ｐｌａｎｎｅｄ  Ｆａｉｌｏｖｅｒ” が自動で解除されノード−Ｂ２０７を小規模クラスタシステム２０１へ復帰する。“Ｐｌａｎｎｅｄ  Ｆａｉｌｏｖｅｒ”が自動解除された後、 ディスクアレイコントローラ−Ｂ２１１が管理する制御フラグ格納領域６０１のソフトウェア自動更新機能用制御フラグを”Ｏｗｎ＿ＰＦ＿Ｏｎ＝０“（６０３）、”ＳＷ＿Ｕｐ＿Ｅｎｄ＝０”（６０６）へ設定する。
【０１０８】
図１６に処理８１１の詳細フローを示す。
【０１０９】
内部記憶１６０１は本処理起動時におけるディスクアレイコントローラ−Ｂ２１１の制御フラグ格納領域４０７で管理されているソフトウェア自動更新機能用制御フラグ６０２のフラグ情報一覧を示したものである。ディスクアレイコントローラ−Ｂ２１１のソフトウェア自動更新機能用制御フラグ６０２の情報は図１５−（ａ）の内部記憶１５０４に示すものから変化はない。
【０１１０】
処理１６０２において、管理ソフトウェア−Ｂ２１９は処理８１０（図１５−（ａ）、図１５−（ｂ）の処理）が完了したことを受けて、管理ソフトウェア−Ｂ２１９の状態フラグ監視・設定制御部３０４によりソフトウェア自動更新機能用制御フラグ６０２の設定変更を行う。この設定変更命令を受けたディスクアレイコントローラ−Ｂの制御ファームウェアの状態フラグ制御部５０５はディスクアレイコントローラ−Ｂ２１１の制御フラグ格納領域４０７で管理されているソフトウェア自動更新機能用制御フラグ６０２を設定する。この時、状態フラグ制御部５０５はフラグ情報６０６を“ＳＷ＿Ｕｐ＿Ｅｎｄ＝１”へセットする。
【０１１１】
内部記憶１６０３は、処理１６０２後の処理におけるディスクアレイコントローラ−Ｂ２１１の制御フラグ格納領域４０７で管理されているソフトウェア自動更新機能用制御フラグ６０２のフラグ情報一覧を示したものである。この時、ソフトウェア自動更新機能用制御フラグ６０２において、フラグ情報６０３は”Ｏｗｎ＿ＰＦ＿Ｏｎ＝１“、フラグ情報６０４は”Ｏｔｈｅｒ＿ＰＦ＿Ｏｎ＝１“、フラグ情報６０５は”Ａｕｔｏ＿Ｕｐ＿Ｓｅｔ＝１”フラグ情報６０６は“ＳＷ＿Ｕｐ＿Ｅｎｄ＝１”でセットされている。
【０１１２】
処理１６０４において、ディスクアレイコントローラ−Ｂ２１１の制御ファームウェアのクラスタシステム制御部５０２が、フラグ情報６０６が”ＳＷ＿Ｕｐ＿Ｅｎｄ＝１“であることを検出する。これをトリガにクラスタシステム制御部５０２は自動で”Ｐｌａｎｎｅｄ  Ｆａｉｌｏｖｅｒ“を解除する。
【０１１３】
処理１６０５において、処理１６０４により“Ｐｌａｎｎｅｄ  Ｆａｉｌｏｖｅｒ”が自動で解除されたことでノード−Ｂ２０７は小規模クラスタシステム２０１のクラスタ構成に復帰する。
【０１１４】
処理１６０６において、処理１６０５によるノード−Ｂのクラスタ構成復帰後、ディスクアレイコントローラ−Ｂ２１１の制御ファームウェアの状態フラグ制御部５０５により、ディスクアレイコントローラ−Ｂ２１１の制御フラグ格納領域４０７で管理されているソフトウェア自動更新機能用制御フラグ６０２を設定する。この時、状態フラグ制御部５０５はフラグ情報６０３、６０４、６０６を初期値の“Ｏｗｎ＿ＰＦ＿Ｏｎ＝０”、“Ｏｔｈｅｒ＿ＰＦ＿Ｏｎ＝０”、“ＳＷ＿Ｕｐ＿Ｅｎｄ＝０”とし、ディスクアレイコントローラ−Ｂ２１１の制御フラグ格納領域４０７で管理されているソフトウェア自動更新機能用制御フラグ６０２のフラグ情報を内部記憶１６０７に示す値へセットする。
【０１１５】
以上で処理は終了となる。以上のとおり本発明を適用することで、処理８０３の処理をトリガに以後、ユーザーが介入することなく小規模クラスタシステムの最新版ソフトウェアを自律的に適用することができる。また、本処理はシステムを停止することなく実現できるため、３６５日２４時間の稼働を目的として設計されているクラスタシステムにおいて有効な手段となる。
【符号の説明】
【０１１６】
１０１：従来の小規模クラスタシステム、１０２：ノード−Ａ、１０３：ノード−ＡのＣＰＵ、１０４：ノード−Ａのシステムメモリ−Ａ、１０５：システムメモリ−Ａに常駐するクラスタソフトウェア−Ａ、１０６：ノード−Ａのディスクアレイコントローラ−Ａ、１０７：ノード−Ｂ、１０８：ノード−ＢのＣＰＵ、１０９：ノード−Ｂのシステムメモリ−Ａ、１１０：システムメモリ−Ｂに常駐するクラスタソフトウェア−Ｂ、１１１：ノード−Ｂのディスクアレイコントローラ−Ｂ、１１２：システムバックプレーン、１１３：ストレージシステム、１１４：ノード−Ａが管理するＯＳ、データドライブ、１１５：ノード−Ａおよびノード−Ｂが共有するドライブ、１１６：ノード−Ｂが管理するＯＳ、データドライブ、１１７：小規模クラスタシステムがシェアするＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、１１８：ノード−Ａを操作する入出力装置−Ａ、１１９：ノード−Ｂを操作する入出力装置−Ｂ
２０１：本発明の小規模クラスタシステム、２０２：ノード−Ａ、２０３：ノード−ＡのＣＰＵ、２０４：ノード−Ａのシステムメモリ−Ａ、２０５：システムメモリ−Ａに常駐するクラスタソフトウェア−Ａ、２０６：ノード−Ａのディスクアレイコントローラ−Ａ、２０７：ノード−Ｂ、２０８：ノード−ＢのＣＰＵ、２０９：ノード−Ｂのシステムメモリ−Ａ、２１０：システムメモリ−Ｂに常駐するクラスタソフトウェア−Ｂ、２１１：ノード−Ｂのディスクアレイコントローラ−Ｂ、２１２：システムバックプレーン、２１３：ストレージシステム、２１４：ノード−Ａが管理するＯＳ、データドライブ、２１５：ノード−Ａおよびノード−Ｂが共有するドライブ、２１６：ノード−Ｂが管理するＯＳ、データドライブ、２１７：小規模クラスタシステムがシェアするＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、２１８：ノード−Ａを管理する管理ソフトウェア−Ａ、２１９：ノード−Ｂ管理ソフトウェア−Ｂ、２２０：状態通信バス、２２１：インターネット、２２２：小規模クラスタシステム用ソフトウェア管理サーバ、２２３：ノード−Ａを操作する入出力装置−Ａ、２２４：ノード−Ｂを操作する入出力装置−Ｂ
３０１：管理ソフトウェア、３０２：ソフトウェア自動更新制御部、３０３：最新版ソフトウェア入手制御部、３０４：状態フラグ監視・設定制御部、３０５：イベント監視制御部、３０６：クラスタシステム設定制御部、３０７：管理ソフトウェア設定プログラム、３０８：小規模クラスタシステムの構成画面、３０９：情報表示画面、３１０：イベント表示画面、３１１：ノード−Ａ選択項目、３１２：ノード−Ｂ選択項目、３１３：ストレージシステム選択項目、３１４：ノード操作メニュー、３１５：ソフトウェア自動更新処理の設定画面、３１６：ソフトウェア自動更新処理の設定画面の選択肢、３１７：ソフトウェア自動更新処理の設定画面の選択肢
４０１：ディスクアレイコントローラ、４０２：ディスクアレイコントローラ制御用ＣＰＵ、４０３：ディスクアレイコントローラ用メモリ、４０４：通信ポート、４０５：ディスクアレイコントローラ用不揮発メモリ、４０６：イベント格納領域、４０７：制御フラグ格納領域
５０１：ディスクアレイコントローラ制御ファームウェア、５０２：クラスタシステム制御部、５０３：ディスクアレイ制御部、５０４：状態通信バス制御部、５０５：状態フラグ制御部、５０６：イベント通知制御部
６０１：制御フラグ格納領域内で管理する制御フラグ、６０２：ソフトウェア自動更新機能用制御フラグ、６０３〜６０６：ソフトウェア自動更新機能用制御フラグの詳細項目、６０７：ディスクアレイコントローラがその他の制御で管理するフラグの格納領域
【図１】
2015138359.tif 000003
【図２】
2015138359.tif 000004
【図３−（ａ）】
2015138359.tif 000005
【図３−（ｂ）】
2015138359.tif 000006
【図３−（ｃ）】
2015138359.tif 000007
【図３−（ｄ）】
2015138359.tif 000008
【図４】
2015138359.tif 000009
【図５】
2015138359.tif 000010
【図６】
2015138359.tif 000011
【図７】
2015138359.tif 000012
【図８】
2015138359.tif 000013
【図９】
2015138359.tif 000014
【図１０】
2015138359.tif 000015
【図１１】
2015138359.tif 000016
【図１２】
2015138359.tif 000017
【図１３】
2015138359.tif 000018
【図１４】
2015138359.tif 000019
【図１５−（ａ）】
2015138359.tif 000020
【図１５−（ｂ）】
2015138359.tif 000021
【図１６】
2015138359.tif 000022