(57)【要約】【課題】業務の停止を行うことなく、システムへの修正プログラムの適用と動作検証を実現する。【解決手段】プログラムに従ってＩＯデバイス５００の制御を行うメイン制御システム１００と、メイン制御システム１００を複製した環境であり、プログラムの修正モジュールを適用したメンテナンス制御システム２００と、メンテナンス制御システム２００の動作検証を実行し、検証の結果正常に動作する場合に、メイン制御システム１００からメンテナンス制御システム２００に、ＩＯデバイス５００の制御の実行環境を移行する修正モジュール管理マネージャー３００とを備える。【選択図】図１
2011221912.tif 000002
【特許請求の範囲】
【請求項１】
プログラムに従って装置の制御を行うメイン制御システムと、
前記メイン制御システムを複製した環境であり、前記プログラムの修正モジュールを適用したメンテナンス制御システムと、
前記メンテナンス制御システムの動作検証を実行し、検証の結果正常に動作する場合に、前記メイン制御システムから前記メンテナンス制御システムに、前記装置の制御の実行環境を移行する修正モジュール管理マネージャーと、を備えた計算機システム。
【請求項２】
請求項１に記載の計算機システムであって、
前記修正モジュール管理マネージャーは、前記装置の制御の実行環境を前記メンテナンス制御システムに移行したら、前記メイン制御システムの環境を世代管理メイン制御システムに保存し、
前記装置の制御の実行環境を前記メンテナンス制御システムへ移行した後に不正動作が発生した場合には、前記装置の制御の実行環境を前記世代管理メイン制御システムへ移行する、計算機システム。
【請求項３】
請求項１または２に記載の計算機システムであって、
前記修正モジュール管理マネージャーは、前記装置を用いて前記メンテナンス制御システムの動作検証を行う、計算機システム。
【請求項４】
請求項１から３のいずれかに記載の計算機システムであって、
前記装置として仮想デバイスを用いる、計算機システム。
【請求項５】
請求項１から３のいずれかに記載の計算機システムであって、
前記修正モジュール管理マネージャーは、前記装置の制御の実行環境で用いられている入力データまたはコマンドを前記動作検証に用い、前記メイン制御システムの処理結果と、前記メンテナンス制御システムの処理結果を比較することにより前記メンテナンス制御システムの動作を検証する、計算機システム。
【請求項６】
プログラムに従って装置の制御を行うメイン制御システムを複製した環境であるメンテナンス制御システムに、前記プログラムの修正モジュールを適用し、
前記メンテナンス制御システムの動作検証を実行し、
前記動作検証の結果、正常に動作する場合に、前記メイン制御システムから前記メンテナンス制御システムに、前記装置の制御の実行環境を移行する、計算機システム管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、計算機システム、及び計算機システム管理方法に関する。
【背景技術】
【０００２】
ディスクアレイ装置は、コンピュータシステムにおいて、データの管理と保管をつかさどる部分である。そのため、ディスクアレイ装置を停止することは業務そのものを停止することとなる。従って、ディスクアレイ装置は、障害が発生しても動作を継続させることが重要である。
【０００３】
また、装置に不具合が発生した場合や機能追加の目的で、装置を制御するプログラムに修正モジュールを適用する場合がある。装置の２重化（クラスタ構成）を行っている場合には、一方のクラスタに業務処理を集めてから、装置を停止して修正モジュールを適用することが可能であるが、装置が２重化されていない場合には、装置を停止すると業務も停止され、継続的な運用が困難であった。
【０００４】
また、修正モジュールによって不具合が解消されたか、あるいは他の不具合が発生していないかなどを最終的に判断するには、試験運用を行うか、業務運用を実際に行って動作検証を行う必要がある。しかし、本来の業務へ影響を与えないようにするため、試験運用期間中は本来の業務を実行することができず、業務を停止しなければならなかった。また、業務運用を実際に行って検証を行う場合には、仮に修正モジュールに不具合がある場合には、業務運用に障害が発生する可能性があった。
【０００５】
また、修正モジュールを適用した環境で不具合が発生した場合に、修正モジュールを適用する前の環境に戻したい場合があるが、そのような場合にも装置を停止することにより業務が停止され、継続的な運用が困難であった。
【０００６】
近年、ディスクアレイ装置などにおいては、従来のファームウェアのプログラムによる制御システムだけでなく、ハードウェアの仮想化技術が導入され、仮想制御システムとしてＯＳ上のプログラムによる制御も行われている。しかし、システムに不具合が発生した場合には修正モジュールを適用する必要があるため、装置を停止する必要があることはかわらない。
【０００７】
従来のプログラム修正方法の例として、特許文献１には、複数の論理計算機を有する計算機システムについて、稼動中の第１の論理計算機の制御下のプログラムとデータを記憶手段から記憶手段へコピーし、コピーされたプログラムを用いて待機中の第２の論理計算機を起動し、コピーされたプログラム中の修正プログラムを用いてコピーされたプログラムを修正し、第１の論理計算機の制御下のネットワークが第２の論理計算機の制御下になるように切り替えを行い、第１の論理計算機の稼動から修正されたプログラムを用いる第２の論理計算機の稼動に切り替える方法が記載されている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００２−３２８８１３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかし、特許文献１に記載された方法では、サービスを停止させることなくプログラムを修正することはできても、サービスを停止させることなく修正したプログラムの動作検証を行うことができなかった。このため、修正後のプログラムの環境で正常に動作することを確認するためには、サービスを停止させて検証を行わなければならなかった。
【００１０】
そこで、本発明の目的は、業務の停止を行うことなく、システムへの修正プログラムの適用と動作検証を実現することである。
【課題を解決するための手段】
【００１１】
本発明に係る計算機システムは、プログラムに従って装置の制御を行うメイン制御システムと、  前記メイン制御システムを複製した環境であり、前記プログラムの修正モジュールを適用したメンテナンス制御システムと、前記メンテナンス制御システムの動作検証を実行し、検証の結果正常に動作する場合に、前記メイン制御システムから前記メンテナンス制御システムに、前記装置の制御の実行環境を移行する修正モジュール管理マネージャーと、を備える。
【発明の効果】
【００１２】
本発明によれば、業務の停止を行うことなく、システムへの修正プログラムの適用と動作検証を実現することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施の形態１による装置システム（計算機システム）の構成を示すブロック図である。
【図２】実施の形態１によるメイン制御システムの動作のフローチャートである。
【図３】実施の形態１によるメンテナンス制御システムの動作のフローチャートである。
【図４】実施の形態１による動作検証を説明する図である。
【図５】実施の形態１による動作検証のフローチャートである。
【図６】実施の形態１によるロールバックの動作を説明する図である。
【図７】実施の形態１によるロールバックの動作のフローチャートである。
【図８】実施の形態２による装置システムの構成を示す図である。
【図９】実施の形態２による動作検証のフローチャートである。
【図１０】実施の形態３による装置システムの構成を示す図である。
【図１１】実施の形態３による動作検証のフローチャートである。
【図１２】実施の形態４による装置システムの構成を示す図である。
【発明を実施するための形態】
【００１４】
次に、本発明を実施するための最良の形態について、図面を参照して詳細に説明する。
実施の形態１．
図１は、本発明の実施の形態１による装置システム（計算機システム）１の構成を示すブロック図である。
図に示すように、装置システム１は、メイン制御システム１００、メンテナンス制御システム２００、修正モジュール管理マネージャー３００、世代管理メイン制御システム４００、及びＩＯデバイス５００を備えている。
【００１５】
メイン制御システム１００は、ＩＯデバイス５００を制御するプログラムである。ここでは、メイン制御システム１００はディスクアレイ装置の制御プログラムであり、ＩＯデバイス５００はハードディスクである。
【００１６】
メンテナンス制御システム２００は、修正モジュール管理マネージャー３００によって制御されており、メイン制御システム１００を複製したプログラム環境である。
【００１７】
修正モジュール管理マネージャー３００は、メイン制御システム１００及びメンテナンス制御システム２００を管理し、修正モジュールの適用を行う。また、メイン制御システム１００の複製作業及びメンテナンス制御システム２００の動作検証実行や世代管理メイン制御システム４００の管理も行う。
【００１８】
世代管理メイン制御システム４００は、修正モジュール適用前の環境や修正モジュール適用後の環境を保存している制御プログラム環境である。
【００１９】
ＩＯデバイス５００は、メイン制御システム１００に接続され、データの入出力、保管を実行するデバイスである。ＩＯデバイス５００は、メンテナンス制御システム２００とも接続され、動作検証の際にも使用される。
【００２０】
次に、装置システム１の動作について説明する。
図２は、メイン制御システム１００の動作のフローチャートである。
まず、メイン制御システム１００をメンテナンス制御システム２００へコピーし、実行動作を継続する（ステップＡ１）。
【００２１】
次に、メイン制御システム１００の実行動作をメンテナンス制御システム２００へ移行可能か確認する（ステップＡ２）。なお、後述するように、この時メンテナンス制御システム２００へ移行可能か否かは、動作検証（図３のステップＢ３）の結果により判断される。ステップＡ２で移行可能と判断された場合は、ステップＡ３へ進み、移行不可と判断された場合は処理を終了する。
【００２２】
ステップＡ３では、メイン制御システム１００での実行動作をメンテナンス制御システム２００へ移行する。プログラム間の実行動作移行については、既存の技術を用いることができる。例えば、ある仮想ＯＳでのクラスタ装置間での実行環境移行などのように同様な方法で行うことが可能である。
【００２３】
メンテナンス制御システム２００を用いて装置システム１の動作を開始した後、それまでのメイン制御システム１００の内容は、世代管理メンテナンス制御システム４００へ１世代前の環境として保存する（ステップＡ４）。
【００２４】
次に、図３を用いてメンテナンス制御システム２００の動作を説明する。
まず、メンテナンス制御システム２００に対して修正モジュールが適用される（ステップＢ１）。次に、メンテナンス制御システム２００を再起動し、修正モジュールを有効にする（ステップＢ２）。さらに、修正モジュールを適用したメンテナンス制御システム２００が正しく動作するか、動作検証を行う（ステップＢ３）。動作検証の詳細については後述する。最後に、実行動作をメイン制御システム１００から移行する（ステップＢ４）。
【００２５】
次に、図４及び図５を用いて、動作検証の詳細について説明する。
図４に示すように、ＩＯデバイス５００の内部には、ＩＯデバイスのテスト領域５１０が設けられている。なお、動作検証に関わる部分の説明に用いるため、図４においてはメンテナンス制御システム２００と修正モジュール管理マネージャー３００とＩＯデバイス５００のみを示している。
【００２６】
図５は、動作検証の手順のフローチャートである。
まず、修正モジュール管理マネージャー３００は、メンテナンス制御システム２００へテスト用のコマンド/データを入力する（ステップＣ１）。メンテナンス制御システム２００は、ＩＯデバイスのテスト領域５１０へ、リード/ライトを行う（ステップＣ２）。
【００２７】
修正モジュール管理マネージャー３００は、メンテナンス制御システム２００の応答を検証する（ステップＣ３，Ｃ４）。ステップＣ４で応答が正しいと判断された場合には正常動作となるため、メンテナンス制御システム２００への実行動作の移行が可能と判断する（ステップＣ５）。
【００２８】
一方、ステップＣ４で応答が不正と判断された場合には不正動作となるため、メンテナンス制御システム２００への実行動作の移行が不可能と判断され、実行動作の移行は行われない（ステップＣ６）。この場合は、修正モジュールを適用したメンテナンス制御システム２００は廃棄される。また、修正モジュール管理マネージャー３００において、修正モジュールを適用した動作検証において不正動作となったことが記録される。
【００２９】
動作検証によって正常動作が確認され、メンテナンス制御システム２００へ実行動作が移行された後、運用中に新たに不正動作が見つかると、修正モジュール適用前の環境に戻したい場合がある。その場合、ロールバックを行う必要がある。
【００３０】
図６及び図７を用いて、ロールバックを実行する場合の動作について説明する。
図６に示すように、ロールバックに関わるのは、メイン制御システム１００、修正モジュール管理マネージャー３００、及び世代管理メイン制御システム４００である。
【００３１】
図７は、ロールバックの動作のフローチャートである。
まず、実行動作をメイン制御システムから、世代管理メイン制御システム４００で管理される１世代前のメイン制御システムへ移行する（ステップＤ１）。１世代前のメイン制御システムは、修正モジュール適用前に動作していた環境であるため、動作検証を行わずに実行動作を移行することができる。
【００３２】
次に、現在のメイン制御システム１００を廃棄または保存する（ステップＤ２）。保存した場合には、修正モジュールの適用による動作の違いの調査、検証などに利用することができる。
【００３３】
以上のように、本実施形態によれば、メイン制御システム１００をコピーしたメンテナンス制御システム２００を構築し、メンテナンス制御システム２００への修正モジュール適用後にメイン制御システム１００の業務を引き継ぐようにしたため、業務停止を行うことなく、修正モジュールを適用することができる。
【００３４】
また、メイン制御システム１００をコピーしたメンテナンス制御システム２００での動作検証を行うようにしたため、業務停止を行うことなく、修正モジュール適用後の動作検証を行うことができる。
【００３５】
また、世代管理メイン制御システム４００に修正モジュール適用前の環境を保持するようにしたため、修正モジュール適用後の環境で不具合が発生した場合にも、業務停止を行うことなく、修正モジュール適用前の環境へ戻し、ロールバックを行うことができる。
【００３６】
実施の形態２．
図８は、実施の形態２による装置システム１の動作検証に関わる部分の構成を示した図である。実施の形態１では、ＩＯデバイス５００は実際のデバイスで構成していたが、図８に示すように、仮想ＩＯデバイス５２０で構成することもできる。仮想ＩＯデバイス５２０は、修正モジュール管理マネージャー３００が制御する。なお、ＩＯデバイス５００以外の構成は実施の形態１と同様である。
【００３７】
図９は、実施の形態２による動作検証の手順のフローチャートである。
まず、修正モジュール管理マネージャー３００は、メンテナンス制御システム２００へテスト用のコマンド/データを入力する（ステップＥ１）。メンテナンス制御システム２００は、仮想ＩＯデバイス５２０へ、リード/ライトを行う（ステップＥ２）。
【００３８】
修正モジュール管理マネージャー３００は、メンテナンス制御システム２００の応答を検証する（ステップＥ３，Ｅ４）。ステップＥ４で応答が正しいと判断された場合には正常動作となるため、メンテナンス制御システム２００への実行動作の移行が可能と判断する（ステップＥ５）。
【００３９】
一方、ステップＥ４で応答が不正と判断された場合には不正動作となるため、メンテナンス制御システム２００への実行動作の移行が不可能と判断され、実行動作の移行は行われない（ステップＥ６）。この場合は、修正モジュールを適用したメンテナンス制御システム２００は廃棄される。また、修正モジュール管理マネージャー３００において、修正モジュールを適用した動作検証において不正動作となったことが記録される。
【００４０】
実施の形態２によれば、仮想ＩＯデバイス５２０を修正モジュール管理マネージャー３００によって制御することから、メンテナンス制御システム２００が仮想ＩＯデバイス５２０へ行うリード/ライトのコマンド及びデータの記録及び検証を行うことも可能となる。
【００４１】
実施の形態３．
図１０は、実施の形態３による装置システム１の動作検証に関わる部分の構成を示した図である。実施の形態１では、ＩＯデバイス５００のテスト領域５１０を利用して動作検証を行ったが、実施の形態３では、図１０に示すように、実行動作を行っている、入力データ/コマンド１０を動作検証に利用し、メインス制御システム１００の処理結果である出力データ/コマンド２０とメンテナンス制御システム２００の処理結果である出力データ/コマンド２１を比較する。なお、図１０に示されていない構成は実施の形態１と同様である。
【００４２】
図１１は、実施の形態３による動作検証の手順のフローチャートである。
まず、メイン制御システム１００及びメンテナンス制御システム２００へ運用中の入力データ/コマンド１０を同時に入力する（ステップＦ１）。
【００４３】
次に、メンテナンス制御システム２００は、メイン制御システム１００の出力データである出力データ/コマンド２０とメンテナンス制御システム２００の出力データである出力データ/コマンド２１を比較する（ステップＦ２，Ｆ３）。
【００４４】
ステップＦ３で出力データが等しいと判断された場合には、正常動作となるため、メンテナンス制御システム２００への実行動作の移行が可能と判断する（ステップＦ４）。
【００４５】
一方、ステップＦ３で出力データが異なると判断された場合には、不正動作となるため、メンテナンス制御システム２００への実行動作の移行が不可能と判断され、実行動作の移行は行われない（ステップＦ５）。この場合は、修正モジュールを適用したメンテナンス制御システム２００は廃棄される。また、修正モジュール管理マネージャー３００において、修正モジュールを適用した動作検証において不正動作となったことが記録される。
【００４６】
実施の形態４．
図１２は、実施の形態４による装置システム１のロールバック処理に関わる部分の構成を示した図である。実施の形態４では、世代管理メイン制御システム４００が１世代前メイン制御システム４１０と２世代前以前のメイン制御システム４２０を有している。なお、図１２に示されていない構成は実施の形態１と同様である。
【００４７】
実施の形態４によれば、世代管理メイン制御システム４００に２世代以上前の環境も保持できるので、必要に応じて、業務停止を行うことなく、過去の任意の環境へ戻し、ロールバックを行うことができる。
【００４８】
本発明は、ディスクアレイ装置の制御システムの管理や障害時の動作検証に適用できる。また、組み込み装置における制御システムのプログラムに対する修正モジュールの適用及び評価にも有効に利用できる。
【００４９】
上記の実施の形態の一部または全部は、以下の付記のようにも記載されうるが、以下には限られない。
（付記１）プログラムに従って装置の制御を行うメイン制御システムと、
前記メイン制御システムを複製した環境であり、前記プログラムの修正モジュールを適用したメンテナンス制御システムと、
前記メンテナンス制御システムの動作検証を実行し、検証の結果正常に動作する場合に、前記メイン制御システムから前記メンテナンス制御システムに、前記装置の制御の実行環境を移行する修正モジュール管理マネージャーと、を備えた計算機システム。
【００５０】
（付記２）付記１に記載の計算機システムであって、
前記修正モジュール管理マネージャーは、前記装置の制御の実行環境を前記メンテナンス制御システムに移行したら、前記メイン制御システムの環境を世代管理メイン制御システムに保存し、
前記装置の制御の実行環境を前記メンテナンス制御システムへ移行した後に不正動作が発生した場合には、前記装置の制御の実行環境を前記世代管理メイン制御システムへ移行する、計算機システム。
【００５１】
（付記３）付記１または２に記載の計算機システムであって、
前記修正モジュール管理マネージャーは、前記装置を用いて前記メンテナンス制御システムの動作検証を行う、計算機システム。
【００５２】
（付記４）付記１から３のいずれかに記載の計算機システムであって、
前記装置として仮想デバイスを用いる、計算機システム。
【００５３】
（付記５）付記１から３のいずれかに記載の計算機システムであって、
前記修正モジュール管理マネージャーは、前記装置の制御の実行環境で用いられている入力データまたはコマンドを前記動作検証に用い、前記メイン制御システムの処理結果と、前記メンテナンス制御システムの処理結果を比較することにより前記メンテナンス制御システムの動作を検証する、計算機システム。
【００５４】
（付記６）プログラムに従って装置の制御を行うメイン制御システムを複製した環境であるメンテナンス制御システムに、前記プログラムの修正モジュールを適用し、
前記メンテナンス制御システムの動作検証を実行し、
前記動作検証の結果、正常に動作する場合に、前記メイン制御システムから前記メンテナンス制御システムに、前記装置の制御の実行環境を移行する、計算機システム管理方法。
【符号の説明】
【００５５】
１  装置システム、１０  入力データ/コマンド、２０  出力データ/コマンド、２１  出力データ/コマンド、１００  メイン制御システム、２００  メンテナンス制御システム、３００  修正モジュール管理マネージャー、４００  世代管理メイン制御システム、５００  ＩＯデバイス、５１０  ＩＯデバイスのテスト領域、（５２０  仮想ＩＯデバイス）、４１０  １世代前メイン制御システム、４２０  ２世代前以前のメイン制御システム
【図１】
2011221912.tif 000003
【図２】
2011221912.tif 000004
【図３】
2011221912.tif 000005
【図４】
2011221912.tif 000006
【図５】
2011221912.tif 000007
【図６】
2011221912.tif 000008
【図７】
2011221912.tif 000009
【図８】
2011221912.tif 000010
【図９】
2011221912.tif 000011
【図１０】
2011221912.tif 000012
【図１１】
2011221912.tif 000013
【図１２】
2011221912.tif 000014