(57)【要約】【課題】記憶装置のいずれかに障害が発生した場合であっても、人手を介することなく記憶システムを再構築する。【解決手段】冗長性のある記憶システムを構成する複数の記憶装置のいずれかにアクセスできない障害が発生した場合、前記記憶システムに通信回線を介して接続される予備記憶装置を前記記憶システムに組み込む記憶装置組込部と、障害の発生していない前記記憶装置と、組み込まれた前記予備記憶装置とにより前記冗長性のある記憶システムを再構成する記憶システム構成部と、を備えることを特徴とする管理装置。【選択図】図１
2016189140.tif 000002
【特許請求の範囲】
【請求項１】
冗長性のある記憶システムを構成する複数の記憶装置のいずれかにアクセスできない障害が発生した場合、前記記憶システムに通信回線を介して接続される予備記憶装置を前記記憶システムに組み込む記憶装置組込部と、
障害の発生していない前記記憶装置と、組み込まれた前記予備記憶装置とにより前記冗長性のある記憶システムを再構成する記憶システム構成部と、
を備えることを特徴とする管理装置。
【請求項２】
前記予備記憶装置が複数存在する場合、
前記記憶装置組込部は、
前記予備記憶装置の位置情報に基づいて、組み込む前記予備記憶装置を選択する
ことを特徴とする請求項１に記載の管理装置。
【請求項３】
前記予備記憶装置が複数存在する場合、
前記記憶装置組込部は、
前記予備記憶装置が前記通信回線に接続された順に基づいて、前記予備記憶装置を選択する
ことを特徴とする請求項１または２に記載の管理装置。
【請求項４】
前記記憶装置には識別情報が付与されており、
前記記憶システム構成部は、同一の前記識別情報が付与されている前記記憶装置によって前記冗長性のある記憶システムを構成し、
前記記憶装置組込部は、
当該記憶システムの構成する前記記憶装置と同一の識別情報を前記予備記憶装置に付与することにより、前記予備記憶装置を前記記憶システムに組み込む
ことを特徴とする請求項１から３のいずれか１つに記載の管理装置。
【請求項５】
前記複数の記憶装置にアクセスできるか否かの状態を問い合わせる状態問合部を備え、
前記状態問合部が、前記複数の記憶装置のいずれかにアクセスできないことを検出した場合、前記記憶装置組込部に、障害の発生を通知する
ことを特徴とする請求項１から４のいずれか１つに記載の管理装置。
【請求項６】
冗長性を有する記憶システムとして構成される複数の記憶装置と、
予備記憶装置と、
前記記憶システムと前記予備記憶装置とを接続する通信回線と、
前記複数の記憶装置のいずれかにアクセスできない障害が発生した場合、前記予備記憶装置を前記記憶システムに組み込む記憶装置組込部と、
障害の発生していない前記記憶装置と、組み込まれた前記予備記憶装置とにより前記冗長性のある記憶システムを再構成する記憶システム構成部と、
を備えたことを特徴とするストレージ復旧システム。
【請求項７】
前記記憶装置組込部と、前記記憶システム構成部とが、前記記憶システムと前記通信回線で接続される管理装置に備えられる
ことを特徴とする請求項６に記載のストレージ復旧システム。
【請求項８】
前記記憶システムは、前記冗長性のある記憶処理を行う制御部を備えており、
前記記憶装置組込部と、前記記憶システム構成部とが、前記制御部に備えられる
ことを特徴とする請求項６に記載のストレージ復旧システム。
【請求項９】
冗長性のある記憶システムを構成する複数の記憶装置のいずれかにアクセスできない障害が発生した場合、前記記憶システムに通信回線を介して接続される予備記憶装置を前記記憶システムに組み込み、
障害の発生していない前記記憶装置と、組み込まれた前記予備記憶装置とにより前記冗長性のある記憶システムを再構成する
ことを特徴とするストレージ復旧方法。
【請求項１０】
コンピュータに、
冗長性のある記憶システムを構成する複数の記憶装置のいずれかにアクセスできない障害が発生した場合、前記記憶システムに通信回線を介して接続される予備記憶装置を前記記憶システムに組み込む手順、
障害の発生していない前記記憶装置と、組み込まれた前記予備記憶装置とにより前記冗長性のある記憶システムを再構成する手順
を実行させるための管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、管理装置、ストレージ復旧システム、ストレージ復旧方法、及び管理プログラムに関する。
【背景技術】
【０００２】
複数のＨＤＤ（Hard Disk Drive）やＳＡＴＡ（Serial Advanced Technology Attachment）等の記憶装置を接続して、仮想的に１つのストレージを構成するＲＡＩＤ（Redundant Arrays of Inexpensive Disks）システムが知られている。図１１は、ＲＡＩＤ５の方式が適用された記憶システム２００の一例を示すブロック図である。記憶システム２００は、３つの記憶装置２０３−１〜２０３−３を備えており、記憶装置２０３−１〜２０３−３の各々の記憶領域は、一定の容量のブロックに論理的に分割されている。ＬＡＮ(Local Area Network)などの通信回線を通じて外部のコンピュータ等からデータの書き込み要求があると、ＣＰＵ(Central Processing Unit)を備えた制御部２０１とストレージコントローラ２０２が、データをブロック単位に分割し、分割したデータごとにパリティを生成する。制御部２０１とストレージコントローラ２０２は、分割したデータと生成したパリティを３つの記憶装置２０３−１〜２０３−３に分散して書き込む。
【０００３】
このように分散してデータとパリティを書き込むことで、例えば、記憶装置２０３−３に障害が発生しても、記憶装置２０３−１と記憶装置２０３−２とに書き込まれているデータ及びパリティにより記憶装置２０３−３に書き込まれていたデータを再構成して読み出すことができる。また、保守員が、障害が発生した記憶装置２０３−３をバックアップ用の予備記憶装置２０４に交換して、記憶装置２０３−３に記憶されていたデータを再構成して予備記憶装置２０４に書き込むことで元の記憶システム２００を復旧することができる。このような記憶システム２００では、更に冗長性を高めるため、特許文献１に示すような、パスに冗長性を持たせるような運用手法なども提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−１１５５８１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述したように、記憶システム２００では、保守員が物理的に障害の発生した記憶装置２０３−３を予備記憶装置２０４に交換する必要がある。そのため、交換するまでの間に残りの記憶装置２０３−１、２０３−２に障害が発生してしまうとデータを復旧できなくなってしまう。したがって、人手による交換に依存する以上、記憶システム２００には、不測の事態の発生により、データが失われる可能性がある無防備な状態が長時間継続してしまうという問題がある。
【０００６】
また、特許文献１に示す技術では、ストレージ装置までの経路に障害が発生した場合に、別のパスに切り替えることを可能としている。しかし、特許文献１に示す技術においても、ストレージ装置自体が故障してしまった場合に、前述した記憶システム２００と同様に保守員が物理的にストレージ装置を入れ替えないとシステムを復旧できないという問題がある。
【０００７】
本発明は、上記課題を解決することのできる管理装置、ストレージ復旧システム、ストレージ復旧方法、及び管理プログラムを提供することにある。
【課題を解決するための手段】
【０００８】
上記問題を解決するために、本発明の一態様は、冗長性のある記憶システムを構成する複数の記憶装置のいずれかにアクセスできない障害が発生した場合、前記記憶システムに通信回線を介して接続される予備記憶装置を前記記憶システムに組み込む記憶装置組込部と、障害の発生していない前記記憶装置と、組み込まれた前記予備記憶装置とにより前記冗長性のある記憶システムを再構成する記憶システム構成部と、を備えることを特徴とする管理装置である。
【０００９】
また、本発明の一態様は、冗長性を有する記憶システムとして構成される複数の記憶装置と、予備記憶装置と、前記記憶システムと前記予備記憶装置とを接続する通信回線と、前記複数の記憶装置のいずれかにアクセスできない障害が発生した場合、前記予備記憶装置を前記記憶システムに組み込む記憶装置組込部と、障害の発生していない前記記憶装置と、組み込まれた前記予備記憶装置とにより前記冗長性のある記憶システムを再構成する記憶システム構成部と、を備えたことを特徴とするストレージ復旧システムである。
【００１０】
また、本発明の一態様は、冗長性のある記憶システムを構成する複数の記憶装置のいずれかにアクセスできない障害が発生した場合、前記記憶システムに通信回線を介して接続される予備記憶装置を前記記憶システムに組み込み、障害の発生していない前記記憶装置と、組み込まれた前記予備記憶装置とにより前記冗長性のある記憶システムを再構成することを特徴とするストレージ復旧方法である。
【００１１】
また、本発明の一態様は、コンピュータに、冗長性のある記憶システムを構成する複数の記憶装置のいずれかにアクセスできない障害が発生した場合、前記記憶システムに通信回線を介して接続される予備記憶装置を前記記憶システムに組み込む手順、障害の発生していない前記記憶装置と、組み込まれた前記予備記憶装置とにより前記冗長性のある記憶システムを再構成する手順を実行させるための管理プログラムである。
【発明の効果】
【００１２】
この発明によれば、記憶装置のいずれかに障害が発生した場合であっても、人手を介することなく記憶システムを再構築することが可能となる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施形態によるストレージ復旧システムの構成を示すブロック図である。
【図２】同実施形態による管理装置の記憶部のデータ構成を示す図である。
【図３】同実施形態による正常時の動作を示すシーケンス図である。
【図４】同実施形態による障害発生時の動作を示すシーケンス図（その１）である。
【図５】同実施形態による障害発生時の動作を示すシーケンス図（その２）である。
【図６】同実施形態による障害発生時の動作を示すシーケンス図（その３）である。
【図７】同実施形態によるストレージ復旧の動作を示すシーケンス図である。
【図８】本発明による他の実施形態によるストレージ復旧システムの構成を示すブロック図である。
【図９】本発明による他の実施形態による管理装置の記憶部に記憶されるデータの構成（その１）を示す図である。
【図１０】本発明による他の実施形態による管理装置の記憶部に記憶されるデータの構成（その２）を示す図である。
【図１１】ＲＡＩＤ５による記憶システムの構成を示す図である。
【発明を実施するための形態】
【００１４】
以下、本発明の実施形態について図面を参照して説明する。図１は、本発明の実施形態によるストレージ復旧システム１００の構成を示す概略ブロック図である。ストレージ復旧システム１００は、記憶システム２０において障害が発生した場合に、記憶システム２０の復旧を行うシステムであり、管理装置１０、記憶システム２０、予備記憶システム３０、接続装置５０を備える。接続装置５０は、例えば、イーサネット（登録商標）スイッチであり、複数のポートを備えており、ポートに接続される装置間の通信の中継を行う。
【００１５】
記憶システム２０は、記憶装置２１−１，２１−２，２１−３、ストレージコントローラ２２−１，２２−２，２２−３、ＮＷ接続部２３−１，２３−２，２３−３，２３−４、制御部２４を備える。記憶装置２１−１，２１−２，２１−３は、例えば、ＨＤＤやＳＡＴＡ等のデータを記憶する記憶装置（以下、ストレージともいう）であり、内部の記憶領域は、一定の容量を有するブロックに論理的に分割されている。
【００１６】
ＮＷ接続部２３−１，２３−２，２３−３，２３−４は、例えば、コンピュータのＩ／Ｏ(Input/Output)シリアルインタフェースであるＰＣＩＥｘｐｒｅｓｓ（登録商標）バス等をイーサネット（登録商標）の通信回線により拡張するインタフェースである（なお、ＰＣＩは、Peripheral Component Interconnectの略である）。また、ＮＷ接続部２３−１，２３−２，２３−３，２３−４は、内部に記憶領域を備えており、管理者の操作を受けて記憶装置組込部１１によって、記憶システム２０に付与されるＧＩＤ（Group Identification）の値が当該記憶領域に書き込まれる。ここでＧＩＤとは、記憶システム２０を構成する機能部の集合を識別する識別情報であり、同一のＧＩＤが書き込まれることにより、ＮＷ接続部２３−１，２３−２，２３−３，２３−４の各々がＩ／Ｏインタフェースで接続された１つのコンピュータシステムとして構成される。また、ＧＩＤが書き込まれることにより、ＮＷ接続部２３−１，２３−２，２３−３，２３−４の配下に存在するストレージコントローラ２２−１，２２−２，２２−３、記憶装置２１−１，２１−２，２１−３、及び制御部２４にも間接的に当該ＧＩＤが付与されることになり、記憶システム２０を構成する機能部の集合に属することになる。ここでは、例えば、ＮＷ接続部２３−１，２３−２，２３−３，２３−４の記憶領域にＧＩＤの値として「１」が書き込まれるとする。ストレージコントローラ２２−１，２２−２，２２−３は、ＧＩＤに「１」が付与されたＮＷ接続部２３−４に接続される制御部２４、及び管理装置１０の記憶システム構成部１２と協働して、接続される記憶装置２１−１，２１−２，２１−３をＲＡＩＤ５の冗長性を有するシステムとして構成する処理を行う。
【００１７】
予備記憶システム３０は、予備記憶装置３１、ストレージコントローラ３２、ＮＷ接続部３３を備える。予備記憶装置３１は、例えば、ＨＤＤやＳＡＴＡ等のデータを記憶する記憶装置であり、内部の記憶領域は、記憶装置２１−１，２１−２，２１−３と同じく一定の容量を有するブロックに論理的に分割されている。ストレージコントローラ３２は、ストレージコントローラ２２−１，２２−２，２２−３と同一の機能を有し、ＮＷ接続部３３は、ＮＷ接続部２３−１，２３−２，２３−３，２３−４と同一の機能を有する。ＮＷ接続部３３を備えることにより、予備記憶システム３０のストレージコントローラ３２及び予備記憶装置３１は、記憶システム２０のＩ／Ｏインタフェースを拡張した形態で接続されるため、ＲＡＩＤ５を構成する記憶システム２０の一部として動作することが可能となる。なお、記憶システム２０に障害が発生する前の通常の運用状態では、ＮＷ接続部３３には、ＮＷ接続部２３−１，２３−２，２３−３とは異なる値のＧＩＤが、管理者の操作を受けて記憶装置組込部１１によって書き込まれる。ここでは、例えば、ＧＩＤの値として「１０」が書き込まれる。
【００１８】
管理装置１０は、記憶装置組込部１１、記憶システム構成部１２、状態問合部１３、記憶部１４、ＮＷインタフェース１５を備える。管理装置１０において、記憶装置組込部１１は、記憶システム２０のいずれか１つの記憶装置２１−１，２１−２，２１−３に障害が発生した場合、障害の発生した記憶装置２１−１，２１−２，２１−３を記憶システム２０から切り離す処理を行う。また、記憶装置組込部１１は、切り離した記憶装置２１−１，２１−２，２１−３に代えて予備記憶装置３１を記憶システム２０に組み込む処理を行う。記憶システム構成部１２は、記憶システム２０の制御部２４、及びストレージコントローラ２２−１，２２−２，２２−３と協働して記憶装置２１−１，２１−２，２１−３をＲＡＩＤ５の冗長性を有するシステムとして構成する処理を行う。状態問合部１３は、定期的にＫｅｅｐＡｌｉｖｅ要求信号を各々の記憶装置２１−１，２１−２，２１−３に対応するＮＷ接続部２３−１，２３−２，２３−３に対して送信し、ＮＷ接続部２３−１，２３−２，２３−３、ストレージコントローラ２２−１，２２−２，２２−３、記憶装置２１−１，２１−２，２１−３の状態を問い合わせる。また、状態問合部１３は、ＫｅｅｐＡｌｉｖｅ要求信号の送信に対するＫｅｅｐＡｌｉｖｅ応答信号を受信する。また、状態問合部１３は、受信したＫｅｅｐＡｌｉｖｅ応答信号に含まれる情報や、ＫｅｅｐＡｌｉｖｅ応答信号を受信しなかったことに基づいて、記憶システム２０における障害の発生を検出する。
【００１９】
記憶部１４は、例えば、図２に示すデータ構成を有しており、「ＮＷ接続部アドレス」の項目と、「ＧＩＤ」の項目と、「配下の種別」の項目を有し、記憶システム２０や予備記憶システム３０に関する情報を記憶する。「ＮＷアドレスの項目」には、ＮＷ接続部２３−１，２３−２，２３−３，２３−４，３３のアドレス情報が書き込まれ、「ＧＩＤの項目」には、各々のＮＷ接続部２３−１，２３−２，２３−３，２３−４，３３の記憶領域に書き込まれたＧＩＤの値が書き込まれる。「配下の種別」の項目には、各々のＮＷ接続部２３−１，２３−２，２３−３，２３−４，３３の配下に接続される機能部の種別、例えば、ストレージコントローラやＣＰＵといった情報が書き込まれる。なお、配下の種別の項目は、例えば、管理者の操作を受けた記憶装置組込部１１がＧＩＤの値を各ＮＷ接続部２３−１，２３−２，２３−３，２３−４，３３に書き込む処理を行う際に、各ＮＷ接続部２３−１，２３−２，２３−３，２３−４，３３が、配下に接続される機能部の種別を検出して応答することにより書き込まれる。
【００２０】
図２において、記憶システム２０に関する情報とは、例えば、ＧＩＤが「１」となっている情報であり、ＮＷ接続部アドレスの項目の（アドレス１）、（アドレス２）、（アドレス３）、（アドレス４）が、それぞれＮＷ接続部２３−１，２３−２，２３−３，２３−４のアドレス情報に対応する。また、予備記憶システム３０に関する情報とは、例えば、ＧＩＤが「１０」となっている情報であり、ＮＷ接続部アドレスの項目の（アドレス５）が、ＮＷ接続部３３のアドレス情報に対応する。なお、ＮＷ接続部２３−１，２３−２，２３−３，２３−４，３３のアドレス情報とは、例えば、ＭＡＣ(Media Access Control)アドレスである。ＮＷ(Network)インタフェース１５は、例えば、イーサネット（登録商標）のインタフェースであり、接続装置５０に通信回線を通じて接続される。
【００２１】
上述した、管理装置１０の記憶システム構成部１２、ストレージコントローラ２２−１，２２−２，２２−３及び制御部２４が協働して行うＲＡＩＤ５の冗長性を有するシステムを構成する処理とは、例えば、これらの３つの機能部によって行われる以下のような処理のことをいう。管理装置１０の記憶システム構成部１２は、記憶部１４を参照して、同じＧＩＤの値として「１」が付与されたＮＷ接続部２３−１，２３−２，２３−３，２３−４を検出し、配下の種別が、（ＣＰＵ）となっているＮＷ接続部２３−４に１つのＲＡＩＤ５のシステムを構成する指示信号を出力する。ＮＷ接続部２３−４に接続されている制御部２４は、当該指示信号に基づいて、ＧＩＤの値として「１」が付与されたＮＷ接続部２３−１，２３−２，２３−３に接続されるストレージコントローラ２２−１，２２−２，２２−３を検出する。制御部２４は、検出したストレージコントローラ２２−１，２２−２，２２−３に接続される記憶装置２１−１，２１−２，２１−３をＲＡＩＤ５方式の１つの仮想的なストレージとして構成する。
【００２２】
仮想的なストレージを構成した後、接続装置５０に接続される他のコンピュータからデータの書き込み要求があると、制御部２４、及びストレージコントローラ２２−１，２２−２，２２−３は、データをブロック単位に分割して、分割したデータのパリティを生成し、生成したパリティと分割したデータを記憶装置２１−１，２１−２，２１−３に分散して書き込む。また、いずれか１つ、例えば、記憶装置２１−３に障害が発生してデータを読み出すことができなくなった場合、制御部２４、及びストレージコントローラ２２−１，２２−２は、残りの記憶装置２１−１と記憶装置２１−２に記憶されているデータとパリティから記憶装置２１−３のデータを復活させる。また、記憶装置組込部１１によって、予備記憶装置３１が、記憶装置２１−３の代わりに記憶システム２０に組み込まれた場合、制御部２４、及びストレージコントローラ３２は、復活された記憶装置２１−３のデータを予備記憶装置３１に書き込む。
【００２３】
次に、図３から図７を参照しつつ、ストレージ復旧システム１００によって行われるストレージ復旧方法について説明する。図３は、記憶装置２１−１，２１−２，２１−３が正常に動作している場合の処理の流れを示すシーケンス図であり、図４から図６は、障害が発生した場合の処理の流れを示すシーケンス図である。また、図７は、障害が発生した場合に記憶システム２０を復旧させる復旧の流れを示すシーケンス図である。
【００２４】
（正常時の処理の流れ）
図３において、管理装置１０の状態問合部１３は、記憶部１４に記憶されているＧＩＤの値が「１」であって、配下の種別が「ストレージコントローラ」となっているＮＷ接続部２３−１，２３−２，２３−３に対してＫｅｅｐＡｌｉｖｅ要求信号を送信する。ここでは、一例として、記憶装置２１−３に対して送信した場合の処理の流れについて説明する。
【００２５】
管理装置１０の状態問合部１３が、記憶部１４から読み出したＮＷ接続部２３−３のアドレス情報を含むＫｅｅｐＡｌｉｖｅ要求信号をＮＷインタフェース１５を通じて送信する（ステップＳａ１）。当該ＫｅｅｐＡｌｉｖｅ要求信号は、接続装置５０により中継されて制御部２４に接続されるＮＷ接続部２３−４に到達する。ＮＷ接続部２３−４は、当該ＫｅｅｐＡｌｉｖｅ要求信号を中継してＮＷ接続部２３−３に対して送信する（ステップＳａ２）。当該ＫｅｅｐＡｌｉｖｅ要求信号は、再び接続装置５０によって中継され、ＮＷ接続部２３−３が当該ＫｅｅｐＡｌｉｖｅ要求信号を受信する。ＮＷ接続部２３−３は、当該ＫｅｅｐＡｌｉｖｅ要求信号を受信すると、状態問い合わせの要求をストレージコントローラ２２−３に出力する（ステップＳａ３）。ストレージコントローラ２２−３は、状態問い合わせの要求を受けると、記憶装置２１−３に対して状態問い合わせの要求を行う（ステップＳａ４）。
【００２６】
ここでは、記憶装置２１−３は、正常に動作しているので、ストレージコントローラ２２−３からの状態問い合わせの要求に対して「正常」を応答する（ステップＳａ５）。ストレージコントローラ２２−３は、記憶装置２１−３からの「正常」の応答を受けて、ＮＷ接続部２３−３に「正常」の応答を出力する（ステップＳａ６）。ＮＷ接続部２３−３は、ストレージコントローラ２２−３からの「正常」の応答を受けてＫｅｅｐＡｌｉｖｅ応答信号に「正常」を示す情報を含めて管理装置１０の状態問合部１３に対して送信する（ステップＳａ７）。当該ＫｅｅｐＡｌｉｖｅ応答信号は、接続装置５０に中継されてＮＷ接続部２３−４に到達し、更に、ＮＷ接続部２３−４が、状態問合部１３に送信する。状態問合部１３は、接続装置５０を介して到達する当該ＫｅｅｐＡｌｉｖｅ応答信号を受信する（ステップＳａ８）。状態問合部１３が、定期的にＫｅｅｐＡｌｉｖｅ要求信号を送信することで、上記のステップＳａ１〜Ｓａ８の処理が、定期的に行われる。また、ステップＳａ１〜Ｓａ８と同様の処理が、記憶装置２１−１，２１−２、及び予備記憶装置３１に対しても行われる。
【００２７】
（障害発生時の処理の流れ）
図４は、記憶装置２１−３において障害が発生した場合の処理の流れを示すシーケンス図である。ステップＳｂ１〜Ｓｂ４までは、図３のステップＳａ１〜Ｓａ４と同一の処理である。ステップＳｂ４において、ストレージコントローラ２２−３は、記憶装置２１−３に対して状態問い合わせの要求を行うが、障害発生のため記憶装置２１−３は応答しない。一定時間が経過すると、再び管理装置１０の状態問合部１３は、ＫｅｅｐＡｌｉｖｅ要求信号を送信し（ステップＳｂ５）、当該信号にしたがってストレージコントローラ２２−３が、再び記憶装置２１−３に状態問い合わせの要求を行う（ステップＳｂ８）。ストレージコントローラ２２−３は、予め定められた回数、状態問い合わせの要求を行っても記憶装置２１−３からの応答が得られない場合、記憶装置２１−３に障害が発生したと判定し、「障害通知」の応答をＮＷ接続部２３−３に送信する（ステップＳｂ９）。ＮＷ接続部２３−３は、ストレージコントローラ２２−３からの「障害通知」の応答を受けてＫｅｅｐＡｌｉｖｅ応答信号に「障害」を示す情報を含めて管理装置１０の状態問合部１３に送信する（ステップＳｂ１０）。当該ＫｅｅｐＡｌｉｖｅ応答信号は、接続装置５０に中継されてＮＷ接続部２３−４に到達し、更に、ＮＷ接続部２３−４が状態問合部１３に送信する。状態問合部１３は、接続装置５０を介して到達する当該ＫｅｅｐＡｌｉｖｅ応答信号を受信する（ステップＳｂ１１）。これにより、管理装置１０の状態問合部１３は、記憶装置２１−３において障害が発生し、記憶装置２１−３にアクセスできないと判定して、記憶部１４のＮＷ接続部２３−３のアドレス情報に対応するＧＩＤを未使用のＧＩＤに書き換える（ステップＳｂ１２）。ここで、未使用のＧＩＤとは、例えば、記憶部１４に記憶されていないＧＩＤであって、障害が発生したことを示す特定の値のＧＩＤである。
【００２８】
図５は、ストレージコントローラ２２−３において障害が発生した場合の処理の流れを示すシーケンス図である。ステップＳｃ１〜Ｓｃ３までは、図３のステップＳａ１〜Ｓａ３と同一の処理である。ステップＳｃ３において、ＮＷ接続部２３−３は、ストレージコントローラ２２−３に対して状態問い合わせの要求を行うが、障害発生のためストレージコントローラ２２−３は応答しない。一定時間が経過すると、再び管理装置１０の状態問合部１３は、ＫｅｅｐＡｌｉｖｅ要求信号を送信し（ステップＳｃ４）、当該信号にしたがってＮＷ接続部２３−３が、再びストレージコントローラ２２−３に状態問い合わせの要求を行う（ステップＳｃ６）。ＮＷ接続部２３−３は、予め定められた回数、状態問い合わせの要求を行ってもストレージコントローラ２２−３からの応答が得られない場合、ＫｅｅｐＡｌｉｖｅ応答信号に「障害」を示す情報を含めて管理装置１０の状態問合部１３に送信する（ステップＳｃ７）。当該ＫｅｅｐＡｌｉｖｅ応答信号は、接続装置５０に中継されてＮＷ接続部２３−４に到達し、更に、ＮＷ接続部２３−４が、状態問合部１３に送信する。状態問合部１３は、接続装置５０を介して到達する当該ＫｅｅｐＡｌｉｖｅ応答信号を受信する（ステップＳｃ８）。これにより、管理装置１０の状態問合部１３は、ストレージコントローラ２２−３において障害が発生し、記憶装置２１−３にアクセスできないと判定して、記憶部１４のＮＷ接続部２３−３のアドレス情報に対応するＧＩＤを未使用のＧＩＤに書き換える（ステップＳｃ９）。
【００２９】
図６は、ＮＷ接続部２３−３において障害が発生した場合の処理の流れを示すシーケンス図である。ステップＳｄ１，Ｓｄ２は、図３のステップＳａ１，Ｓａ２と同一の処理である。ステップＳｄ２において、ＮＷ接続部２３−３には障害が発生しているため、ＫｅｅｐＡｌｉｖｅ要求信号が、ＮＷ接続部２３−３に到達しても、ＮＷ接続部２３−３からＫｅｅｐＡｌｉｖｅ応答信号が送信されない。一定時間が経過すると、再び管理装置１０の状態問合部１３は、ＫｅｅｐＡｌｉｖｅ要求信号を送信するが、ＮＷ接続部２３−３からＫｅｅｐＡｌｉｖｅ応答信号が送信されることはない。管理装置１０の状態問合部１３は、予め定められた回数、ＫｅｅｐＡｌｉｖｅ応答信号を受信しない場合、ＮＷ接続部２３−３において障害が発生し、記憶装置２１−３にアクセスできないと判定して、記憶部１４のＮＷ接続部２３−３のアドレス情報に対応するＧＩＤを未使用のＧＩＤに書き換える（ステップＳｄ５）。
【００３０】
（復旧処理の流れ）
図７は、図４及び図５に示した障害が発生した場合に、予備記憶装置３１を用いて記憶システム２０を復旧する処理の流れを示すシーケンス図である。図７のステップＳｅ１は、図４のステップＳｂ１２及び図５のステップＳｃ９に対応する処理である。状態問合部１３は、記憶装置２１−３またはストレージコントローラ２２−３における障害の発生、すなわち記憶装置２１−３にアクセスすることができなくなったことを検出する（ステップＳｅ１）。状態問合部１３は、記憶装置２１−３において障害が発生した情報、例えば、記憶装置２１−３のアドレス情報を含む障害通知を記憶装置組込部１１に出力する。当該通知を受けると記憶装置組込部１１は、障害の発生したＮＷ接続部２３−３のアドレス情報に対応付けて記憶部１４に書き込まれている未使用のＧＩＤを読み出す。記憶装置組込部１１は、読み出した未使用のＧＩＤを含んだＩＤ書換要求を記憶装置２１−３に対応するＮＷ接続部２３−３に送信する（ステップＳｅ２，Ｓｅ３）。ここでは、仮に、当該未使用のＧＩＤの値を「１００」とする。ＮＷ接続部２３−３は、受信したＩＤ書換要求からＧＩＤの値を読み出して、ＧＩＤを「１」から「１００」に書き換える（ステップＳｅ４）。これにより、ＮＷ接続部２３−３は、記憶システム２０から切り離されることになる。ＮＷ接続部２３−３は、ＧＩＤの書き換えが終了すると、ＩＤ書換応答を管理装置１０の記憶装置組込部１１に送信する（ステップＳｅ５，Ｓｅ６）。
【００３１】
記憶装置組込部１１は、ＩＤ書換応答を受信すると、次に、予備記憶システム３０のＮＷ接続部３３のＧＩＤを復旧対象の記憶システム２０のＧＩＤ、すなわち「１」の値を含むＩＤ書換要求を送信する（ステップＳｅ１０）。予備記憶システム３０のＮＷ接続部３３は、受信したＩＤ書換要求からＧＩＤの値を読み出して、ＧＩＤの値を「１０」からを「１」に書き換える（ステップＳｅ１１）。ＮＷ接続部３３は、ＧＩＤの書換が終了すると、ＩＤ書換応答を管理装置１０の記憶装置組込部１１に送信する（ステップＳｅ１２）。記憶装置組込部１１は、当該ＩＤ書換応答を受信すると、記憶部１４のＧＩＤの値が「１０」となっているデータのＧＩＤの値を「１」に書き換えて、記憶システム２０のシステムを再構築する信号、例えば、ＧＩＤ＝１の情報を含む再構築指示信号を記憶システム構成部１２に出力する。記憶システム構成部１２、制御部２４、ストレージコントローラ２２−１，２２−２、及びストレージコントローラ３２は、協働して記憶装置２１−１，２１−２からデータ及びパリティを読み出し、記憶装置２１−３に記憶されていたデータを復活させて、予備記憶装置３１に書き込み、予備記憶システム３０を組み込んだ状態で記憶システム２０を復旧する（ステップＳｅ１３）。
【００３２】
なお、図６に示す障害の場合、ＮＷ接続部２３−３において障害が発生しており、応答がない状態であることから、既に記憶システム２０から切り離されている。そのため、ＮＷ接続部２３−３のＧＩＤを書き換える必要がなく、図７のステップＳｅ１０以降の処理が行われることになる。ただし、ＮＷ接続部２３−３において障害が発生している場合であっても、ＮＷ接続部２３−３のＧＩＤの書き換えが行える場合もあるため、図７のステップＳｅ２〜Ｓｅ６の処理が行われてもよい。
【００３３】
上記の実施形態の構成により、記憶システム２０に障害が発生して記憶装置２１−１，２１−２、２２−３のいずれか１つからデータが読み出せなくなった場合、記憶装置組込部１１が、予備記憶システム３０の予備記憶装置３１を通信回線を用いて記憶システム２０に組み込む。記憶システム構成部１２は、データの読み出しができる記憶装置２１−１，２１−２、２２−３に記憶されているデータとパリティに基づいてデータを復活させて、予備記憶装置３１に書き込んで、記憶システム２０を復旧する。これにより、保守員による交換のように人手によって記憶装置２１−１，２１−２、２２−３を交換するのではなく、通信回線を用いて予備記憶装置３１に交換することができるため、残りの記憶装置２１−１，２１−２、２２−３のいずれかに障害が発生してしまうとデータの復旧ができなくなる無防備な状態を短時間にすることができる。また、前述した記憶システム２００では、障害が発生した場合に、保守員がすみやかに障害に対処するためには、予備記憶装置２０４を記憶システム２００の近くに常備しておく必要がある。これに対して、本実施形態では、予備記憶装置３１を通信回線上に接続しておくことができるため、記憶システム２０ごとに予備記憶装置３１を備える必要がなく、予備記憶装置３１を効率的に利用することができる。
【００３４】
図８は、本発明の他の実施形態によるストレージ復旧システム１００ａを示す概略ブロック図である。図８に示すように、ストレージ復旧システム１００ａには、複数の記憶システム２０−１，２０−２，…が備えられていてもよく、また、複数の予備記憶システム３０−１，３０−２，…が備えられていてもよい。このとき、複数の記憶システム２０−１，２０−２，…には、それぞれ異なるＧＩＤが付与されることになる。複数の予備記憶システム３０−１，３０−２，…については、記憶システム２０−１，２０−２，…で使用されていないＧＩＤが付与されるが、そのＧＩＤの値は、予備記憶システム３０−１，３０−２，…ごとに異なっていてもよいし、同じであってもよい。当該実施形態においては、管理装置１０の記憶部１４は、記憶システム２０−１，２０−２，…のＧＩＤの情報、予備記憶システム３０−１，３０−２，…のＧＩＤの情報、及びそれぞれに備えられるＮＷ接続部のアドレス情報を記憶する。また、記憶システム２０−１，２０−２，…の記憶装置において障害が発生した場合、記憶装置組込部１１は、空き状態の予備記憶システム３０−１，３０−２，…を任意に選択して、障害が発生している記憶システム２０−１，２０−２，…に組み込む。
【００３５】
図９及び図１０は、本発明の他の実施形態による記憶部１４において、図２に示すデータとともに記憶されるデータの構成を示す図である。図８に示す他の実施形態では、複数の予備記憶システム３０−１，３０−２，…が存在する場合、記憶装置組込部１１が、空き状態の予備記憶システム３０−１，３０−２，…を任意に選択して障害が発生した記憶システム２０−１，２０−２，…に組み込むと説明した。このとき、単に空き状態の予備記憶システム３０−１，３０−２，…を選択するのではなく、例えば、記憶装置組込部１１が、図９に示す予備記憶システム３０−１，３０−２，…の位置情報を用いて選択する手法がある。
【００３６】
例えば、図１の記憶システム２０に対して、複数の予備記憶システム３０−１，３０−２，…が備えられているとする。図９のデータ構成の「位置情報」には、予めＧＰＳ(Global Positioning System)などを用いて取得された予備記憶システム３０−１，３０−２，…の位置情報が書き込まれる。また、記憶システム２０の位置情報は、予めＧＰＳなどにより取得され、記憶部１４に書き込まれていてもよいし、記憶システム２０の制御部２４がＧＰＳを備えており、障害が発生した際に自らの位置情報を取得して、管理装置１０に通知するようになっていてもよい。記憶システム２０において、記憶装置２１−１，２１−２，２１−３のいずれか１つに障害が発生した場合、記憶装置組込部１１は、記憶システム２０の位置情報と、図９の位置情報の項目を参照して、記憶システム２０の位置から最も離れた場所に存在する予備記憶システム３０−１，３０−２，…を選択する。このように、離れた位置に存在する予備記憶システム３０−１，３０−２，…の予備記憶装置を組み込むことで、例えば、地震などの天災に対して耐性を強くすることができる。
【００３７】
また、図１に示すストレージ復旧システム１００のように１つの記憶システム２０しか存在しない場合に、複数の予備記憶システム３０−１，３０−２，…が存在するとき、記憶システム２０の位置を基点に、近い順に、小さい数値となるように予備記憶システム３０−１，３０−２，…にＧＩＤを付与しておく。障害が発生した場合、記憶装置組込部１１は、ＧＩＤが大きい数値となっている予備記憶システム３０−１，３０−２，…から選択することで、離れた位置に存在する予備記憶システム３０−１，３０−２，…を選択する。このようにすることで、図９のようなデータを備えなくとも、同様の効果を奏する構成とすることができる。
【００３８】
また、図９のようなデータを備える代わりに、地域に対応した番号体系のＧＩＤを付与しておく構成とすることもできる。管理装置１０の記憶部１４において、ＧＩＤの数値と、位置情報を対応付けるテーブルを備えておき、例えば、記憶装置組込部１１は、障害が発生した記憶システム２０−１，２０−２，…のＧＩＤから記憶システム２０−１，２０−２，…の位置を検出する。記憶装置組込部１１は、検出した記憶システム２０−１，２０−２，…の位置から最も離れた地域に存在する予備記憶システム３０−１，３０−２，…を、予備記憶システム３０−１，３０−２，…のＧＩＤの値に基づいて選択する。このようにすることで、図９のデータを備える場合と、同様の効果を奏するようにすることができる。
【００３９】
次に、図１０のデータ構成において、「接続時情報」とは、予備記憶システム３０−１，３０−２，…が、接続装置５０に接続された日時の情報である。この情報は、例えば、管理装置１０において予備記憶システム３０−１，３０−２，…が接続装置５０に接続されたことを検出し、その際、管理装置１０に備えられる時計などの計時手段により時間の情報を取得して、管理装置１０が記憶部１４に書き込む。また、詳細な時刻まで必要としない場合、例えば、管理者の操作によって、年月日等の情報が記憶部１４に書き込まれてもよい。記憶装置組込部１１は、図１０に示す「接続時情報」、すなわち予備記憶システム３０−１，３０−２，…が、接続装置５０に接続された時の情報を参照し、最先に接続されている予備記憶システム３０−１，３０−２，…を選択して組み込む。長時間安定して動作し続けていた最先に接続された予備記憶システム３０−１，３０−２，…を選択することで、信頼性の高いシステムを構築することができる。
【００４０】
また、図１０のようなデータを設ける代わりに、接続のタイミングによって予備記憶システム３０−１，３０−２，…に付与するＧＩＤを分けるようにしてもよい。例えば、１年以内に接続装置５０に接続された予備記憶システム３０−１，３０−２，…については、ＧＩＤを１０番台にし、１年を超えて２年以内に接続装置５０に接続された予備記憶システム３０−１，３０−２，…については、ＧＩＤを２０番台にする。このとき１０番台は、１９から順に１０まで、２０番台は、２９から順に２０までＧＩＤを付与していくようにする。このようＧＩＤを付与していくことで、図１０に示すようなデータを設けることなく、記憶装置組込部１１は、予備記憶システム３０−１，３０−２，…のＧＩＤにおいて大きい番号のＧＩＤから選択することにより最先に接続されている予備記憶システム３０−１，３０−２，…から順に選択して組み込むことができる。
【００４１】
なお、上記の実施形態では、管理装置１０からＮＷ接続部２３−１，２３−２，２３−３に対して信号を送信する場合、接続装置５０及び制御部２４のＮＷ接続部２３−４が中継して送信するようになっているが、本発明は、当該実施の形態に限られるものではない。ＮＷ接続部２３−４を介さずに、接続装置５０を介して各々のＮＷ接続部２３−１，２３−２，２３−３に直接送信するようになっていてもよい。
【００４２】
また、上記の実施形態では、ＧＩＤを付与することで、同一の記憶システム２０を構成するＮＷ接続部２３−１，２３−２，２３−３，２３−４，３３であるか否かを検出するようにしているが、本発明は、当該実施の形態に限られるものではない。ＧＩＤを用いることなく、例えば、同じ記憶システム２０に属するＮＷ接続部２３−１，２３−２，２３−３，２３−４のアドレス情報をリストにして、各々のＮＷ接続部２３−１，２３−２，２３−３，２３−４が、当該リストを記憶して、接続制御するようにしてもよい。この場合、予備記憶システム３０を加える場合、ＮＷ接続部３３のアドレス情報を当該リストに加えつつ、切り離すＮＷ接続部２３−３のアドレス情報を削除することで接続制御を行うことができる。
【００４３】
また、状態問合部１３が、個別にＮＷ接続部２３−１，２３−２，２３−３に対してＫｅｅｐＡｌｉｖｅ信号を送信しない構成であってもよい。例えば、記憶システム２０の場合、制御部２４が接続されたＮＷ接続部２３−４にのみＫｅｅｐＡｌｉｖｅ信号を送信し、制御部２４が、運用中の記憶装置２１−１，２１−２，２１−３が配下に接続されているＮＷ接続部２３−１，２３−２，２３−３の各々に状態問い合わせを行う。制御部２４が、各々から応答として送信される状態問い合わせの結果の情報を各々に対応するＮＷ接続部２３−１，２３−２，２３−３のアドレス情報に対応付けてＫｅｅｐＡｌｉｖｅ応答の信号を状態問合部１３に送信するようにしてもよい。
【００４４】
また、状態問合部１３からのＫｅｅｐＡｌｉｖｅ信号や、制御部２４からの状態問い合わせによらず、記憶装置２１−１，２１−２，２１−３に接続されるストレージコントローラ２２−１，２２−２，２２−３、またはＮＷ接続部２３−１，２３−２，２３−３が自律的に状態問い合わせを定期的に行い、障害の発生を検出した場合に、管理装置１０に通知するようにしてもよい。この場合、ストレージコントローラ２２−１，２２−２，２２−３、またはＮＷ接続部２３−１，２３−２，２３−３が、状態問合部１３としての機能を有することになる。
【００４５】
また、上記の実施形態では、予備記憶システム３０のＮＷ接続部３３には予めＧＩＤが書き込まれる構成として説明したが、記憶装置組込部１１によるＩＤ書換要求を受信するまでは、ＧＩＤの値が書き込まれておらず、当該ＩＤ書換要求によって、初めてＮＷ接続部３３にＧＩＤが書き込まれる構成であってもよい。なお、この場合、記憶部１４には、ＧＩＤの書き込みが行われるまでは、ＮＷ接続部３３のアドレス情報のみが記憶される。
【００４６】
また、上記の実施形態では、記憶システム２０をＲＡＩＤ５方式のシステムとして説明したが、本発明は、ＲＡＩＤ５方式に限定されるものではなく、記憶システム２０は、他の冗長性の方式が適用されていてもよい。なお、その場合、記憶装置２１−１，…の台数は、４台以上であってもよく、４台以上存在するような場合は、２台以上の記憶装置２１−１，…に障害が発生した場合、障害が発生した台数分、予備記憶システム３０−１，…を、障害が発生した記憶システム２０に組み込むようにしてもよい。
【００４７】
上述した実施形態における管理装置１０をコンピュータで実現するようにしてもよい。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよく、ＦＰＧＡ（Field Programmable Gate Array）等のプログラマブルロジックデバイスを用いて実現されるものであってもよい。
【００４８】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【００４９】
１０  管理装置
１１  記憶装置組込部
１２  記憶システム構成部
１３  状態問合部
１４  記憶部
１５  ＮＷインタフェース
２０  記憶システム
２１−１，２１−２，２１−３  記憶装置
２２−１，２２−２，２２−３，３２  ストレージコントローラ
２３−１，２３−２，２３−３，２３−４，３３  ＮＷ接続部
２４  制御部
３０  予備記憶システム
３１  予備記憶装置
５０  接続装置
【図１】
2016189140.tif 000003
【図２】
2016189140.tif 000004
【図３】
2016189140.tif 000005
【図４】
2016189140.tif 000006
【図５】
2016189140.tif 000007
【図６】
2016189140.tif 000008
【図７】
2016189140.tif 000009
【図８】
2016189140.tif 000010
【図９】
2016189140.tif 000011
【図１０】
2016189140.tif 000012
【図１１】
2016189140.tif 000013