(57)【要約】【課題】  障害LUがバックアップLUとして使用可能になるまでの時間を短縮することができるストレージ装置を提供することである。【解決手段】  同じRAIDレベルのHDDの集合であるRAIDグループを論理的に分割した記憶構成要素１６を組み合わせてマスタLU１３およびバックアップLU１４を構成し、マスタLU１３の中の記憶構成要素１６ａ２に障害が発生したときはその障害状態の記憶構成要素１６ａ２のみをストレージプール１５の記憶構成要素１６ｃ２と交換し、バックアップLU１４の記憶構成要素１６ｂ２と同期させる。これにより、障害LUがバックアップLUとして使用可能になるまでの時間を短縮する。【選択図】  図１
2007087109.tif 000002
【特許請求の範囲】
【請求項１】
ホスト計算機からのデータを記憶するストレージ装置において、同じRAIDレベルのHDDの集合であるRAIDグループを論理的に分割した記憶構成要素を組み合わせてマスタLUおよびバックアップLUを構成し、マスタLUの中の記憶構成要素に障害が発生したときはその障害状態の記憶構成要素のみをストレージプールの記憶構成要素と交換し、バックアップLUの記憶構成要素と同期させることを特徴とするストレージ装置。
【請求項２】
ホスト計算機からのデータを記憶するストレージ装置において、同じRAIDレベルのHDDの集合であるRAIDグループを論理的に分割した記憶構成要素を組み合わせてマスタLUおよびバックアップLUを構成し、バックアップLUの中の記憶構成要素に障害が発生したときはその障害状態の記憶構成要素のみをストレージプールの記憶構成要素と交換し、マスタLUの記憶構成要素と同期させることを特徴とするストレージ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ホスト計算機からのデータを記憶するストレージ装置に関する。
【背景技術】
【０００２】
ホスト計算機からのデータを記憶するストレージ装置として、同じRAID(Redundant array of inexpensive disks)レベルのHDD(Hard disk drive)の集合であるRAIDグループを論理的に分割し、その分割した記憶構成要素を組み合わせてLU(Logical Unit)を構成したものがある。
【０００３】
そして、コントローラを多重化し、マルチパスソフトウェアを使用するなどによって、LUへの経路の冗長化が行われている。この場合、LU自体が障害状態になると、LUへの経路の冗長化が行われていても、ホスト計算機はそのLUへのアクセスを継続できない。
【０００４】
そのため、一つのLU(Logical Unit)をマスタLUとして、そのマスタLUと常に同期を取る一つまたは複数のバックアップLUを用意し、マスタLUの障害時にはバックアップLUの一つに切り替えて、新しいマスタLUとしてアクセスを継続している。
【０００５】
ディスクシステムにおいてプライマリ・ディスクに障害が起こった場合に、複数のセカンダリ・ディスクの中から適当な代替となるディスクを選択することができ、ディスクシステムに重大な遅延を生じさせることなく、ホストシステムの処理を実行することができるようにしたものがある（例えば、特許文献１参照）。
【０００６】
すなわち、ストレージ装置のメモリ内に収められるデータがマスタLU(プライマリ・ボリューム)と１ないし複数のバックアップLU(セカンダリ・ボリューム)という編成を記録しており、マスタLUに障害が発生すると、バックアップLUを選択するためにこのデータが参照される。
【特許文献１】特開２００２−１８２８６２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかし、障害LUを再びバックアップLUとして利用するためには、障害復旧後に全領域の同期を行う必要があり、再びバックアップLUとして利用するまでには時間がかかる。これは、LU全体を障害とみなすことにより、差分同期のためのテーブルを無効とみなすことによる。
【０００８】
すなわち、従来のものでは、LUが障害状態となると障害LU全体を使用不可であるとみなすため、差分同期のためのテーブルは失われる。そのため、障害状態のLUをバックアップLUとして使用可能にするためには、障害復旧後にその時のマスタLUからの全領域の同期が必要となっている。従って、再びバックアップLUとして利用するまでには時間がかかる。
【０００９】
本発明の目的は、障害LUがバックアップLUとして使用可能になるまでの時間を短縮することができるストレージ装置を提供することである。
【課題を解決するための手段】
【００１０】
請求項１の発明に係わるストレージ装置は、ホスト計算機からのデータを記憶するストレージ装置において、同じRAIDレベルのHDDの集合であるRAIDグループを論理的に分割した記憶構成要素を組み合わせてマスタLUおよびバックアップLUを構成し、マスタLUの中の記憶構成要素に障害が発生したときはその障害状態の記憶構成要素のみをストレージプールの記憶構成要素と交換し、バックアップLUの記憶構成要素と同期させることを特徴とする。
【００１１】
請求項２の発明に係わるストレージ装置は、ホスト計算機からのデータを記憶するストレージ装置において、同じRAIDレベルのHDDの集合であるRAIDグループを論理的に分割した記憶構成要素を組み合わせてマスタLUおよびバックアップLUを構成し、バックアップLUの中の記憶構成要素に障害が発生したときはその障害状態の記憶構成要素のみをストレージプールの記憶構成要素と交換し、マスタLUの記憶構成要素と同期させることを特徴とする。
【発明の効果】
【００１２】
本発明によれば、マスタLUの中で障害状態の記憶構成要素のみをストレージプールの記憶構成要素と交換し、バックアップLUの記憶構成要素と同期させるので、障害LUがバックアップLUとして使用可能になるまでの時間が短縮できる。同様に、バックアップLUが障害となった場合でも、障害状態の記憶構成要素のみ交換し、マスタLUの記憶構成要素と同期を行うので、使用可能になるまでの時間が短縮できる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の実施の形態を説明する。図１は本発明の第１の実施の形態に係わるストレージ装置の構成図である。第１の実施の形態ではホスト計算機１１からストレージ装置１２のマスタLU１３へのアクセス中に、マスタLU１３に障害が起こった場合を示している。
【００１４】
図１において、マスタLU１３に対して一つのバックアップLU１４を有し、またストレージプール１５を有している。マスタLU１３とバックアップLU１４は、記憶構成要素１６ごとに同期しているとする。すなわち、記憶構成要素１６ａ１、１６ｂ１、記憶構成要素１６ａ２、１６ｂ２、記憶構成要素１６ａ３、１６ｂ３はそれぞれ同期している。
【００１５】
バックアップLU１４には、マスタLU１３の障害前に完了したトランザクションの結果まで同期が取れているとする。これは、マスタLU１３へのアクセス中に、マスタLU１３のある記憶構成要素１６ａ２で障害が起こっても、バックアップLU１４でアクセスが継続できることを意味する。
【００１６】
図１のように、マスタLU１３のある記憶構成要素１６ａ２が障害となった場合に、マスタLU１３へのアクセスは従来どおりバックアップLU１４に引き継がれる。すなわち、バックアップLU１４が新マスタLU１７になり、障害が発生した記憶構成要素１６ａ２のみをストレージプール１５の記憶構成要素１６ｃ２と交換し、マスタLU１３が新バックアップLU１８となる。
【００１７】
第１の実施の形態によれば、マスタLU１３の中で障害状態の記憶構成要素１６ａ２のみをストレージプール１５の記憶構成要素１６ｃ２と交換し、バックアップLU１４の記憶構成要素１６ｂ２と同期させるので、障害LU１３がバックアップLU１８として使用可能になるまでの時間が短縮できる。
【００１８】
図２は本発明の第２の実施の形態に係わるストレージ装置の構成図である。この第２の実施の形態ではホスト計算機１１からストレージ装置１２のマスタLU１３へのアクセス中に、バックアップLU１４に障害が起こった場合を示している。
【００１９】
図２において、マスタLU１３に対して一つのバックアップLU１４を有し、またストレージプール１５を有している。マスタLU１３とバックアップLU１４は、記憶構成要素１６ごとに同期しているとする。すなわち、記憶構成要素１６ａ１、１６ｂ１、記憶構成要素１６ａ２、１６ｂ２、記憶構成要素１６ａ３、１６ｂ３はそれぞれ同期している。
【００２０】
図２のように、バックアップLU１４のある記憶構成要素１６ｂ２が障害となった場合には、マスタLU１３へのアクセスに影響はない。マスタLU１３へのアクセスは継続できる。一方、バックアップLU１４が新バックアップLU１８になり、障害が発生した記憶構成要素１６ｂ２のみをストレージプール１５の記憶構成要素１６ｃ２と交換する。この場合、マスタLU１３の記憶構成要素１６ａ２を記憶構成要素１６ｃ２にコピーする。
【００２１】
第２の実施の形態によれば、バックアップLU１４が障害となった場合でも、障害状態の記憶構成要素１６ｂ２のみを交換し、マスタLU１３の記憶構成要素１６ａ２と同期を行うので、使用可能になるまでの時間が短縮できる。
【００２２】
すなわち、本発明では、障害の起こった記憶構成要素のみに対して同期の切り離しが行われるので、障害でない記憶構成要素の同期は継続される。また、障害の起こった記憶構成要素をストレージプール１５にある同容量の記憶構成要素と交換するので、バックアップが可能である。そして、交換されて新バックアップLUに移動した記憶構成要素は、新マスタLUの中で対応する記憶構成要素と同期する。なお、障害状態の記憶構成要素は、物理的な修復を待ち、その修復が行われれば、ストレージプール１５に所属することになる。以上のように、本発明では障害LUがバックアップLUとして使用可能になるまでの時間をLUの全領域を同期するよりも短縮できる。
【００２３】
図３は、本発明のストレージ装置１２の仕組みを実現するための構成図である。ホスト計算機１１は、レプリケーション制御コマンド１９、ユーティリティコマンド２０、I/O制御ドライバ２１を有し、ストレージ装置１２は、マスタLU１３、バックアップLU１４、ストレージプール１５、コントローラ２２、ファームウェア２３を有している。
【００２４】
ストレージ装置１２にあるファームウェア２３は、次の４つの処理を行う。
【００２５】
(1)記憶構成要素単位の同期・切り離し処理
(2)記憶構成要素の障害の検出処理
(3)LUの中の障害状態の記憶構成要素をストレージプールにある同容量の記憶構成要素と入れ替えてLU再構成する処理
(4)マスタLUとバックアップLUとを切り替える処理
また、ファームウェア２３がこれらを行うために、以下のデータD1〜D4はストレージ装置のメモリに存在する。
【００２６】
（D1)一つの記憶構成要素とそれを同期する一つまたは複数の記憶構成要素の編成
（D2)記憶構成要素のデータの有効性(障害中、および復旧後の同期が未完了の場合は無効となる。)
（D3）一つのLU、及びストレージプールを構成する記憶構成要素の編成
（D4）マスタLUとそれに対応する一つまたは複数のバックアップLUの編成
ホスト計算機１１のレプリケーション制御コマンド１９は、記憶構成要素の同期・切り離し、および、マスタLUとバックアップLUの切り替えを制御する。ユーティリティコマンド２０は、LUを構成する記憶構成要素の入れ替えを制御する。I/O制御ドライバ２１は、主にI/Oのキューイングとリトライを行う。ドライバがI/Oをストレージ装置１２に発行した時に、障害状態の記憶構成要素をファームウェアが検出して、I/Oがエラーで返却されると、それ以降の同じLUへのI/Oをキューイングする。その後、I/Oの送り先として、マスタLUからバックアップLUに切り替わったら、キューイングされたI/Oをリトライする。
【００２７】
次に、本発明のストレージ装置１２の実施手順を説明する。
【００２８】
(a)．運用前のシステム構築時に、ストレージ装置１２の各RAIDグループに、以下の2種類の記憶構成要素を同一の容量で用意する。
【００２９】
・LUを構成する記憶構成要素
・障害状態の記憶構成要素と入れ替えるために、LUに所属させない記憶構成要素
(b)．レプリケーション制御コマンドで、マスタLUとバックアップLUの各記憶構成要素の同期を開始する。
【００３０】
(c)．運用時に、ファームウェア２３は記憶構成要素の障害を検出する。障害の検出には、以下の2種類の場合がある。
【００３１】
(c-1)．ホスト計算機１１からのI/Oを記憶構成要素に発行してエラーで返却された場合
(c-2)．記憶構成要素を監視して、障害を検出した場合
以下、(c-1)の場合は手順(d)〜(j)と(l)を、(c-2)の場合は手順(k)〜(l)を行う。
【００３２】
(d)．(c-1)の場合、つまり、ホスト計算機１１がマスタLUに対してI/Oを発行し、マスタLUの記憶構成要素でI/Oエラーとなった場合、ファームウェア２３はI/OエラーをI/O制御ドライバに返却する。
【００３３】
(e)．I/Oエラーが返ってきたら、I/O制御ドライバ２１は、エラー返却されたI/Oと、同じLUへのそれ以降I/OをマスタLUとバックアップLUの切り替えが完了するまでキューイングする。
【００３４】
(f)．I/O制御ドライバは、障害中の記憶構成要素の同期を切り離すため、レプリケーション制御コマンドを発行する。切り離しはファームウェアが行う。
【００３５】
(g)．I/O制御ドライバは、マスタLUとバックアップLUを切り替えるため、レプリケーション制御コマンドを発行する。切り替えはファームウェアが行う。切り替えが完了したらI/O制御ドライバに通知する。
【００３６】
(h)．I/O制御ドライバは、マスタLUとバックアップLUの切り替えが完了した通知を受け取ったら、キューイングしていたI/Oをリトライする。
【００３７】
(i)．I/O制御ドライバは、障害中の記憶構成要素を、LUに含まれない記憶構成要素と入れ替えて、LUを再構成するため、ユーティリティコマンドを発行する。入れ替えはファームウェアが行う。その際、該当する記憶構成要素のデータが有効なバックアップLUを選択する。入れ替えが完了したらI/O制御ドライバに通知する。
【００３８】
(j)．I/O制御ドライバは、記憶構成要素の入れ替えが完了した通知を受け取ったら、入れ替えた記憶構成要素の同期(新しいマスタLUの記憶構成要素からのコピー)を行うため、レプリケーション制御コマンドを発行する。同期はファームウェアが行う。同期が完了したら、その記憶構成要素のデータは有効とみなされる。
【００３９】
(k)．(c-2)の場合、つまり、マスタLUやバックアップLUの記憶構成要素を定期的に監視して、障害が検出された場合は、I/O制御ドライバを経ることなく、以下を行う。
【００４０】
・障害中の記憶構成要素の同期の切り離し
・LUに所属しない記憶構成要素との入れ替え
・データが有効な記憶構成要素との同期
(l)．入れ替え後の障害記憶構成要素は、物理的な復旧を待つ。復旧されれば、もとのRAIDグループで、LUに所属しない記憶構成要素として、再度入れ替え可能となる。
【図面の簡単な説明】
【００４１】
【図１】本発明の第１の実施の形態に係わるストレージ装置の構成図。
【図２】本発明の第２の実施の形態に係わるストレージ装置の構成図。
【図３】本発明のストレージ装置１２の仕組みを実現するための構成図。
【符号の説明】
【００４２】
１１…ホスト計算機、１２…ストレージ装置、１３…マスタLU、１４…バックアップLU、１５…ストレージプール、１６…記憶構成要素、１７…新マスタLU、１８…新バックアップLU、１９…レプリケーション制御コマンド、２０…ユーティリティコマンド、２１…I/O制御ドライバ、２２…コントローラ、２３…ファームウェア
【図１】
2007087109.tif 000003
【図２】
2007087109.tif 000004
【図３】
2007087109.tif 000005