(57)【要約】【課題】ストレージ装置を構成する部品に障害が発生した場合の保守作業の負担を軽減するストレージ装置を提案する。【解決手段】複数のディスクドライブとスペアディスクドライブと複数のコントローラとを備えるストレージ装置において、障害が発生した際に、スペアディスクドライブの動作状態情報に基いてストレージ装置としての動作継続可否を判断し、動作継続可能であれば部品交換の保守を行うことなく動作継続し不可能であれば他のストレージ装置にデータ移行を行う。  【選択図】  図１１
2008097318.tif 000002
【特許請求の範囲】
【請求項１】
ホスト計算機と接続され、
前記ホスト計算機から入出力要求を受信するコントローラと、
前記コントローラから送信されるデータを記憶する複数のディスクドライブと、
を備えるストレージ装置であって、
前記コントローラは、前記複数のディスクドライブの障害情報を記憶するメモリを備え、
前記複数のディスクドライブのいずれかに障害が発生した場合に、
前記障害情報に基づいて、ストレージ装置の交換を外部に通知するか否かを判断することを特徴とする、ストレージ装置。
【請求項２】
ホスト計算機と接続され、
前記ホスト計算機から入出力要求を受信するコントローラと、
前記コントローラから送信されるデータを記憶する複数のディスクドライブと、
を備えるストレージ装置であって、
前記コントローラは、前記複数のディスクドライブのいずれかに障害が発生した場合に、
障害の発生したディスクドライブの処理を引き継ぐディスクドライブの数が閾値以上であるときには、前記障害の発生したディスクドライブの引継ぎ処理を実行し、
前記障害の発生したディスクドライブの処理を引き継ぐディスクドライブの数が閾値を下回っているときには、ストレージ装置の交換を外部に通知することを特徴とする、ストレージ装置。
【請求項３】
請求項２記載のストレージ装置であって、
管理用コンピュータと接続され、
前記コントローラは、ストレージ装置の交換を前記管理用コンピュータに通知することを特徴とする、ストレージ装置。
【請求項４】
請求項２記載のストレージ装置であって、
前記閾値は１であることを特徴とするストレージ装置。
【請求項５】
請求項２記載のストレージ装置であって、
他のストレージ装置と接続される接続インタフェース部を備え、
前記コントローラと前記複数のディスクドライブとは第１経路で接続され、
前記接続インタフェース部と前記複数のディスクドライブとは第２経路で接続されていることを特徴とするストレージ装置。
【請求項６】
請求項２記載のストレージ装置であって、
前記コントローラを冷却する複数のファンを備え、
前記コントローラは、前記複数のファンのいずれかに障害が発生した場合に、
障害が発生しているファンの数に基づいて、ストレージ装置の交換を外部に通知することを特徴とする、ストレージ装置。
【請求項７】
請求項２記載のストレージ装置であって、
前記コントローラ及び前記複数のディスクドライブとを格納する筐体を備え、
前記筐体は、前記複数のディスクドライブの交換口を有していないことを特徴とするストレージ装置。
【請求項８】
ホスト計算機と接続され、
複数の第１ディスクドライブと、
前記複数の第１ディスクドライブの記憶領域に複数の論理ユニットを設定する第１コントローラと、を備える第１ストレージ装置と、
複数の第２ディスクドライブと第２コントローラとを備える第２ストレージと、
から成るシステムであって、
前記複数の第１ディスクドライブのいずれかに障害が発生した場合に、障害が発生した第１ディスクドライブの処理を引き継ぐ第１ディスクドライブの数に基づいてストレージ装置の交換を外部に通知し、
前記第２コントローラは、前記複数の第１ディスクドライブのデータを前記複数の第２ディスクドライブにコピーすることを特徴とするシステム。
【請求項９】
請求項８記載のシステムであって、
前記第１ストレージ装置は、
前記複数の第１ディスクデバイスの一部の第１ディスクデバイスは、所定の記憶領域に前記複数の論理ユニットと前記複数の第１ディスクデバイスとの関係を示す情報を含む構成情報を記憶し、
前記第２コントローラは、メモリを備え、前記メモリに予め設定された前記所定の記憶領域のアドレス情報に基づいて、前記構成情報を前記一部の第１ディスクデバイスから読み出し、前記構成情報に基づいて、前記複数の第１ディスクデバイスのデータを前記第２ディスクデバイスにコピーすることを特徴とするシステム。
【請求項１０】
請求項９記載のシステムであって、
ストレージ装置は管理部を備え、
前記管理部は、前記第１ストレージ装置と前記第２ストレージ装置との接続を検出した後、前記第１コントローラ及び前記第２コントローラから前記複数の第１ディスクドライブを識別する識別子である複数の第１論理デバイス番号を変更する、ことを特徴システム。
【請求項１１】
請求項９記載のシステムであって、
前記第１コントローラは、前記第２ストレージ装置と接続される第１接続インタフェース部を備え、
前記第１コントローラと前記複数の第１ディスクドライブとの経路と、前記第１接続インタフェース部と前記複数の第１ディスクドライブとの経路は異なっており、
前記第２コントローラは、前記第１ストレージ装置と接続される第２接続インタフェース部を備え、
前記第２コントローラと前記複数の第２ディスクドライブとの経路と、前記第２接続インタフェース部と前記複数の第２ディスクドライブとの経路は異なっていることを特徴とするシステム。
【請求項１２】
請求項９記載のシステムであって、
前記構成情報は、前記複数の第１ディスクデバイスの数及び容量を示すハードウェア情報を含み、
前記第２コントローラは、前記ハードウェア情報に基づいて、前記複数の第１ディスクドライブのデータを前記複数の第２ディスクドライブにコピーするか否かを判断するストレージ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はホスト計算機（以下単にホストという）からのデータを記憶する複数のディスクドライブを搭載したストレージ装置に関するものである。
【背景技術】
【０００２】
ストレージ装置として、例えば特許文献１に記載されているように、ディスクドライブ、コントローラ、電源ユニットが搭載されている。このような構成において、従来のストレージ装置は、障害が発生した場合には、部品単位に容易に交換可能なようにしている。
【０００３】
【特許文献１】特開２００４−３４８８７６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
このように、部品単位に容易に交換可能な構成を前提とした場合、障害が発生するたびに保守員が、現地で出向いて部品を交換する必要が生じる。ストレージ装置は、複数のディスクドライブ、コントローラ、電源ユニットといったように多数の部品が搭載されているが、各部品の寿命は一律ではないこともあり、保守員は何度も現地に出向く必要がある。
【０００５】
本発明は、上記課題に鑑みてなされたものであり、保守員の作業負荷を軽減するストレージ装置を提供することを目的とするものである。
【課題を解決するための手段】
【０００６】
かかる課題を解決するため本発明においては、複数のディスクドライブとスペアディスクドライブと複数のコントローラとを備えるストレージ装置において、障害が発生した際に、障害情報に基いてストレージ装置としての動作継続可否を判断し、動作継続可能であれば部品交換の保守を行うことなく動作継続し、不可能であればストレージ装置自体を交換する。ストレージ装置の交換においては、交換用のデータ移行先のストレージ装置が、障害の発生したデータ移行元ストレージ装置の構成情報を取得し、取得した構成情報を元にして論理構成を設定した上でデータ移行を実行し、処理を引継ぐ。
【発明の効果】
【０００７】
本発明によれば、保守員の作業負荷が軽減されるストレージ装置を提供することができる。
【発明を実施するための最良の形態】
【０００８】
以下、図面を用いて説明する。
本発明の第１の実施例においては、ストレージ装置はディスクドライブ、コントローラ、ファン、電源ユニットを備える。ディスクドライブは、例えばハードディスクドライブ（以下ＨＤＤという）、ＤＶＤドライブ又は磁気テープドライブを採用することが出来る。またディスクドライブに代えて、フラッシュメモリを採用することもできる。
ディスクドライブ、コントローラ、ファン、電源ユニットの各部品はそれぞれ、代替部品を備える構成とすることができる。代替部品とは、障害発生時まで動作せず、障害発生時に障害が発生した部品の代替として処理を引き継ぎ動作を始めるもの、及び障害発生時前にも動作し障害発生の後には障害発生時までに行っていた処理に加えて障害発生部品の処理をも行うものの両者を含むものとする。
具体的にはディスクドライブ障害時に動作するスペアディスクドライブを前者の代替部品とし、二重化されたコントローラ、ファン、電源ユニットを後者の代替部品とすることができる。以下この構成の具体例について述べる。
ストレージ措置は、ＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙ  ｏｆ  Ｉｎｅｘｐｅｎｓｉｖｅ  Ｄｉｓｋｓ）技術を適用してディスクドライブの記憶領域上に複数のＬＵ（Ｌｏｇｉｃａｌ  Ｕｎｉｔ）を設定する。ＬＵとはディスクドライブの物理的な記憶領域の上に設定される論理的な記憶領域であり、コントローラがホストに対して記憶領域の単位として提供することができる。ＲＡＩＤを適用してＬＵを設定する複数のディスクドライブをＲＡＩＤグループとする。ＲＡＩＤグループを構成するディスクドライブの中でいずれかのディスクドライブの障害時にはＲＡＩＤグループを構成する他のディスクドライブのデータを用いて障害ディスクドライブのデータを復元することができる。これによって、ディスクドライブの障害に対して信頼性を向上させる。復元したデータはスペアディスクドライブに格納される。
ストレージ装置は第１のコントローラと第２のコントローラとを備える構成をとることができる。例えば、第１コントローラ及び第２コントローラ夫々は、別のＬＵに関するデータ転送を担当している場合において、第１のコントローラと第２のコントローラとは障害が発生していないときはそれぞれのコントローラが担当するＬＵへのデータ転送を制御し、第１のコントローラに障害が発生したときには第２のコントローラが第１のコントローラの担当ＬＵ及び第２のＬＵの担当ＬＵの両方のＬＵのデータ転送を制御する。
ファン、電源ユニットについてもコントローラと同様に、障害発生時にはそれまで動作していた他のファンによって、障害発生部品の分の処理も行う構成とすることができる。
尚、上記構成は一例でありディスクドライブを後者の代替部品、即ち障害発生時前にも動作しており障害発生の後には障害発生時までに行っていた処理に加えて障害発生部品の処理をも行う構成とし、コントローラ、ファン、電源ユニットを前者の代替部品、即ち障害発生時までは動作しておらず障害発生時に障害が発生した部品の代替として処理を引き継ぎ動作を始めるものとする構成とすることもできる。ディスクドライブの代替部品を後者の代替部品とする場合には、障害ディスクドライブの記憶していたデータは、ＲＡＩＤグループによって復元された後に障害発生前から動作しているディスクドライブのデータ未格納領域に格納することとなる。
＜外観構成＞
図１はストレージ装置の構成の一例を示したものである。
図１（ａ）は立体図、図１（ｂ）は図１（ａ）のストレージ装置の断面図を示したものである。
ストレージ装置１００は、ＨＤＤ１２、ファン１３、電源ユニット１４、コントローラ１１０、ホストポート１５、ストレージ装置ポート１６を有し、これらが筐体１７によって覆われた構成となっている。なお、筐体１７は、部品交換が容易にできないようにする構成とするもので、必ずしも密封状態とする必要はなく、他装置との接続部分、スイッチ等の操作部分、冷却のための空気口といった部分が存在する。このように容易に部品交換をできないようにすることで、例えば規定以外のＨＤＤを誤って接続することを防止することができる。また、部品交換を前提としないことにより、部品配置の自由度が増加し、部品の搭載密度を従来よりも高くすることも可能となる。
【０００９】
図１（ｂ）は、ストレージ装置の断面図であり、前面から後面に対して、コントローラ１１０、ファン１３、ＨＤＤ１２、ＨＤＤ１２といった配列で基板の両面に実装した構成としている。ストレージ装置を小型化するために、ＨＤＤ１２を横置とし、更に、前面から後面に向かってＨＤＤを２列に配置することで、容量を稼ぐ構成としている。
一方、図１（ａ）に示すように、ＨＤＤを横置きにし、Ｘ方向に４台ならべた配置とすると、これまで３．５インチＨＤＤを縦置きでｘ方向に並べた標準的な寸法とほぼ一致させることができる。そのため、これまで利用していたストレージ装置を置くためのラックを同様に利用することができる。
また、ファン１３についても、冷却効率の良い箇所に配置することができ、冷却効率を高めることができる。本ストレージ装置では、図１（ｂ）に示すようにコントローラ１１０と、ＨＤＤ１２との間にファンを設ける構成とし、コントローラ１１０の熱をＨＤＤ側に送るようにしている。
なお、筐体１７で覆うことにより防塵効果を得ることができ、各部品の障害発生確率を下げることも可能になる。電源ユニット１４は、図１（ａ）に示すように２つの電源ユニット１４を搭載している。この２つの電源ユニット１４のうち、上側（プラスＺ方向）に配置される電源ユニット１４が、図１（ｂ）に示す、基板１０より上側にあるコントローラ１１０、ファン１３、ＨＤＤ１２、に電力を供給し、下側（マイナスＺ方向）に配置される電源ユニット１４が、基板１０の下側に配置されるコントローラ１２０、ファン１３、ＨＤＤ１２に電力を供給する。また、２つの電源ユニット１４は、それぞれ基板１０の上側／下側両方の第１コントローラ１１０、ファン１３、ＨＤＤ１２と接続されており、一方の電源ユニット１４に障害が発生した際にはもう一方の電源ユニット１４によって全てのコントローラ１１０、１２０、ファン１３、ＨＤＤ１２に電力を供給する。電源ユニット１４の配置は、図１（ａ）に示すように上下方向（ｚ方向）に並べて配置する構成の他に、前後方向（ｘ方向）に並べて配置することや図１（ｃ）に示す配置してもよい。図１（ａ）及び図１（ｃ）の配置とすることで、上側の部品配置と下側の部品配置とを対称となる構成となり、上下対称に配置されたファン１３によって上下同様に冷却することができ、同じファンを採用した場合に冷却効率を向上させることができる。また、上下対象とすることで、設計、製造も容易になる。一方、電源ユニットの上下方向の寸法が３．５インチのＨＤＤ１２を図１（ａ）のように２台上下並べた寸法と近く、前後方向（ｘ方向）の寸法が一般的なコントローラ１１０の前後方向の半分の寸法に近い場合には、電源ユニット１４を前後方向（ｘ方向）にならべた配置を取ることで、ストレージ装置を小型化することができる。
＜全体構成＞
図２（ａ）は、ストレージ装置を利用したシステム全体の構成を示したものである。本システムは、ストレージ装置１００、ホスト１９２ａ〜ｃ、管理端末１９８、管理サーバ１９７とを有し、ストレージ装置１００とホスト１９２ａ〜ｃが第１のネットワーク１９０、ストレージ装置１００と管理端末１９８、管理サーバ１９７、ホスト１９２ａ〜ｃが第２のネットワーク１９１で接続されている。第１、第２のネットワークは、どのようなネットワークでも良い。例えば、ＳＣＳＩ、ＩＰプロトコル等を利用したネットワークであってもよい。
【００１０】
ストレージ装置１００は、複数のコントローラ１１０、１２０、ディスクユニット１６５、構成要素管理部１８０ａ、１８０ｂ、バックエンドインタフェース（Ｉ／Ｆ）部１１７、マスタ／スレーブ切替スイッチ１８５を有している。
【００１１】
ディスクユニット１６５は複数のディスクドライブ１６０を備えている。各ディスクドライブ１６０は、図示しないディスクと、半導体メモリ１６７とを有している。
コントローラ１１０、１２０は、いずれも同じ構成であり、ここではコントローラ１１０を例に説明する。コントローラ１１０は、ホスト１９２から送られてくる書込み又は読み出しといったアクセス要求に対して、ホスト１９２とディスクドライブ間のデータ転送を制御する。コントローラ１１０は、ＣＰＵ１１２、複数のホストインタフェース（Ｉ／Ｆ）部１１４、１１６、ディスクインタフェース（Ｉ／Ｆ）部１１８、管理端末インタフェース部１１９並びにメモリ１０５を有し、これらが内部バス１１１を介して相互に通信可能に接続されている。ここでは、ストレージ装置１００が２つのコントローラを有している構成を示しているが、１つのコントローラを有する構成であっても、あるいは３つ以上のコントローラを有する構成であってもよい。
【００１２】
ＣＰＵ１１２は、メモリ１０５に格納されたプログラムを実行するものであり、これにより、ホストＩ／Ｆ部１１４、１１６、ディスクドライブ１６０、キャッシュ領域の間でのデータ転送を制御する。ここでは、１つのＣＰＵ１１２を有する構成を示しているが、複数のＣＰＵを設けたものであってもよい。また、ＣＰＵ１１２は、マルチコアといったように、ＣＰＵの中心となる処理部を複数有するものであっても良い。
【００１３】
ホストＩ／Ｆ部１１４、１１６は、いずれも、ネットワーク１９０と内部バス１１１とのインタフェースとして機能する。
【００１４】
ディスクＩ／Ｆ部１１８は、データを記憶するディスクドライブ１６０と通信可能に接続されて内部バス１１１とディスクドライブ１６０のインタフェースとして機能し、ディスクドライブ１６０へのデータ入出力を制御する。
管理端末Ｉ／Ｆ部１１９は、ストレージ装置１００と、管理端末１９８及びネットワーク１９１とのインタフェースとして機能する。
バックエンドインタフェース部１１７は、ディスクドライブ１６０と他のストレージ装置４００とのインタフェースとして機能する。コントローラ１１０、１２０内に配置されずにディスクドライブと接続されることで、ストレージ装置１００に障害が発生した場合に、構成情報１７０の読み出し、データ移行処理を実行することができる。
第１〜第３のホスト１９２ａ〜ｃは、ストレージ装置１００を利用するホストである。第１〜第３のホスト１９２ａ〜ｃはスイッチを介してストレージ装置１００に接続されても、スイッチを介さずにネットワーク１９０を介してストレージ装置１００に接続されても、ネットワーク１９０を介さずに、直接ストレージ装置１００に接続されても良い。
管理端末１９８は、例えばノート型パソコンにより構成され、論理ユニット作成やセキュリティの設定など、構成情報１４０の変更に関わる保守員の作業に必要なＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）やＣＬＩ（Ｃｏｍｍｏｎ  Ｌｉｎｅ  Ｉｎｔｅｒｆａｃｅ）等のユーザインタフェースを提供する。
管理サーバ１９７は第１〜第３のホスト１９２ａ〜ｃとネットワーク１９１を介して通信可能に接続され、ホストに対する設定作業を行う。
図２（ｂ）は、メモリ１０５が記憶する情報を示したものである。メモリ１０５には、プログラム１３０、ストレージ装置１００の構成情報１４０、障害情報テーブル１５５が格納されている。メモリ１０５には更にホスト１９２とディスクドライブ１６０間で転送されるキャッシュデータ１５０を一時的に保存するためのキャッシュ領域が設けられる。
【００１５】
プログラム１３０としては、ホスト１９２からのアクセス要求を処理する入出力処理プログラム１３２、構成情報１４０を管理する構成情報管理プログラム１３４、他のストレージ装置からデータ移行処理を実行するデータ移行プラグラム１３６等がある。
入出力処理プログラム１３２は、コントローラ１１０の基本機能を実行するためのプログラムであり、第１又は第２のホストインタフェース部１１４、１１６が受信したホスト１９２からのコマンドを解釈し、これが入出力に関するコマンドである場合には、このコマンドに応答するため、ディスクドライブ１６０に含まれる記憶媒体とキャッシュ領域との間のデータ転送や、キャッシュ領域とホスト１９２との間のデータ転送を実施する。
ホスト１９２からは、入出力要求の対象となるデータの格納場所が、ＬＵＮ（Ｌｏｇｉｃａｌ  Ｕｎｉｔ  Ｎｕｍｂｅｒ。以下ＬＵ番号ともいう）と論理ブロックアドレス（ＬＢＡ（ｌｏｇｉｃａｌ  Ｂｌｏｃｋ  Ａｄｒｅｓｓ））の組で指定されるのに対して、ディスクドライブ１６０に対する入出力はディスクドライブの識別子と当該記憶媒体内のＬＢＡで指定されるので、入出力処理プログラム１３２は構成情報１４０に含まれるＬＵ構成テーブル１４２に基づいてアドレスを変換する処理を行い、データ格納先のディスクドライブにアクセスを実行する。
構成情報管理プログラム１３４は上述した図２に記載の構成情報１４０を構成する各テーブルの管理・更新を行うプログラムである。
データ移行プログラム１３６は、後述するデータ移行を実行するプログラムである。このデータ移行プログラム１３６は、ストレージ装置の交換が必要となった際に、利用していたストレージ装置内に記憶されているデータ／構成情報を取得して記憶する処理を実行する。
構成情報１４０は、ＬＵ構成テーブル１４２の他、ホスト接続モードパラメータテーブル１４４、実装ディスクドライブテーブル１４６、実装コントローラテーブル１４７、稼動ディスクドライブテーブル１４８、稼動コントローラテーブル１４９、ディスクドライブ管理テーブル１４１、ストレージ装置交換要否設定テーブル１４３等から構成される。
【００１６】
複数のディスクドライブ１６０の中で、一部のディスクドライブ１６０はデータＬＵ１６２と、データＬＵ１６４との両方のＬＵを構成し、それ以外のディスクドライブ１６０はデータＬＵ１６４を構成する。システムＬＵ１６２は構成情報１４０のコピーである構成情報１７０、データ移行先／データ移行元を示すマスタ／スレーブ情報１７５を格納する。尚、マスタは、データ移行先ストレージ装置を示し、スレーブはデータ移行元ストレージ装置を示す。データＬＵはホスト１９２から送信されるデータ１６９を格納する。また、ディスクドライブ１６０は論理ドライブ番号１６８を記憶するメモリ１６７を備える。
構成要素管理部１８０は、基板１０上に配置されるＬＳＩ、メモリ１８１から構成され、ディスクドライブ１６０の閉塞処理、電源ユニット１４及びファン１３の制御などの、ストレージ装置の構成要素の管理を行う。論理ドライブ番号については、図１３−図１５を用いて後述する。
【００１７】
図２（ｃ）は、システムＬＵ１６２が記憶する構成情報１７０を示したものである。構成情報１７０には、メモリ１０５に記憶される構成情報１４０の各テーブルのコピーが格納される。
次に、各種テーブルついて説明する。
図３は、ＬＵ構成テーブルを示したものである。ＬＵ構成テーブル１４２には、ＬＵ毎に、ＬＵ番号、ＬＵサイズ、ＲＡＩＤグループ番号、ＬＵ設定順番、ＲＡＩＤレベル、物理ドライブ番号が設定される。ＬＵ番号は、ストレージ装置１００内のＬＵを一意に識別する番号である。ＬＵサイズはＬＵの容量を示す。ＲＡＩＤグループは、ＲＡＩＤを構成するためにグループ化された複数のディスクドライブであり、ＲＡＩＤグループ番号は、このグループに対して付された番号である。ＬＵ設定順番は、ＬＵが設定された順番を示す。ＲＡＩＤレベルは、各ＬＵに適用されているＲＡＩＤレベルを示す。物理ドライブ番号は、各ＬＵに記憶領域を提供しているディスクドライブの物理番号を示している。
図４は、ホスト接続モードパラメータテーブルを示したものである。コントローラ番号は第１コントローラ１１０と第２コントローラ１２０とを識別する番号である。ポート番号は、各コントローラの備えるホスト１９２ａ〜ｃと接続されるポートを識別する番号である。各ポート毎に、ＬＵが割り当てられているかどうかを示すＬＵ割当有無、割り当てられている場合にはＬＵ番号が管理される。夫々ホストＯＳ０、ホストＯＳ１、…は各ポートが、どの種類のホストＯＳに対応するモードに設定されているかを示す。
図５は、実装ディスクドライブテーブルを示したものである。実装ディスクドライブテーブル１４６は、ストレージ装置１００に備えられている各ディスクドライブを識別する物理ドライブ番号、容量、回転数が設定される。
図６は、実装コントローラテーブルを示したものである。実装コントローラテーブル１４７は、第１コントローラ１１０（例えばコントローラ番号０）及び第２コントローラ（例えばコントローラ番号１）毎に、備えるポートの数が設定される。
図７は、ディスクドライブ管理テーブルを示したものである。ディスクドライブ管理テーブル１４１は、図５等にて管理されるディスクドライブの識別子である物理ドライブ番号と、コントローラ１１０及び１２０からアクセスする最に指定される論理ドライブ番号とを対応付けて設定される。ディスクドライブ管理テーブル１４１において、自装置物理ドライブ番号は自装置内の物理ドライブ番号／論理ドライブ番号の対応付けを管理しているものであり、他装置物理ドライブ番号は他のストレージ装置からのデータ移行時に使用する管理領域である。詳細は、図１３―図１５に示すストレージ装置間バックエンド接続処理にて説明する。
図８は、ストレージ装置交換要否設定テーブルを示したものである。ストレージ装置交換要否設定テーブル１４３は、ストレージ装置１００を構成するコントローラ１１０及び１２０、ディスクドライブ１６０、スペアディスクドライブ、ファン、電源ユニットといった各部品に障害が発生した際に、動作継続するか、ストレージ装置の交換を行うかを各部品毎に設定する。尚、本実施例ではストレージ装置交換要否設定テーブル１４３にコントローラ、ディスクドライブ、スペアディスクドライブ、ファン、電源ユニット夫々に障害発生時にデータ移行要否を設定する例について記載しているが、例えばディスクドライブについてのみストレージ装置交換の要否を設定し、他の部品については管理せず、全てストレージ装置の交換を要とする例を取ることも可能である。
図９は、障害情報テーブル１５５を示したものである。
障害情報テーブル１５５は、コントローラ、ディスクドライブ、スペアディスクドライブ、ファン、電源ユニットの各部品の障害状況を設定するものである。障害が検出された際には、この障害情報テーブル１５５に検出された障害情報が追加される。図９では、第１コントローラ及び第２ディスクドライブに障害が発生しており、第１スペアディスクドライブが使用中であるとの状況を示している。
尚、稼動ディスクドライブテーブル１４８、稼動コントローラテーブル１４９については、図１８、１９を用いて後述する。
＜ストレージ装置交換処理＞
図１０（ａ）−（ｃ）は、本実施例におけるストレージ装置交換処理のイメージ図である。本実施例ではデータ移行元となるストレージ装置１００（以降、移行元ストレージ装置ともいう）と、移行先となるストレージ装置４００（以降、移行先ストレージともいう）が同じ構成のストレージ装置である場合について説明する。しかしながら、移行元ストレージ装置、移行先ストレージ装置の構成、性能が異なっていても、後述する処理が行えるＣＰＵや、インタフェースを備えていれば、同じようにデータ移行を行うことが可能である。
ここでは、ストレージ装置１００のコントローラ１２０に障害が発生した場合を例に説明する。図１０（ａ）−（ｃ）で示す処理内容は以下の通りである。（１）コントローラ１２０に障害が発生し、（２）コントローラ１２０からコントローラ１１０に引継ぎを行い、（３）コントローラ１１０がストレージ装置１００の交換要否を要と判断し、（４）移行元ストレージ装置１００と移行先ストレージ装置４００との間でバックエンド接続を行い、（５）移行先ストレージ装置４００のコントローラ４１０が移行元ストレージ装置１００のシステムＬＵから構成情報を取得・格納し、（６）移行先ストレージ装置４００が取得した構成情報を基にして移行先ストレージ装置４００のＬＵ（システムＬＵ・データＬＵ）に論理構成を設定し、（７）ホスト１９２のアクセス経路を移行元ストレージ装置から移行先ストレージ装置へと切り替え、（８）移行元ストレージ装置１００のＬＵから論理構成の設定された移行先ストレージ装置４００のＬＵにデータをコピーする。このように上記の処理では、移行先のストレージ装置４００によって、移行元ストレージ装置１００の構成情報を引継ぎ、論理構成の設定、更にデータコピーが行われるため、データ移行処理に掛かる保守員の負担を軽減させることができる。
尚、ホストアクセスに関しては、図１０（ａ）−（ｃ）で示す（２）の引継ぎ処理の後から（７）のアクセス経路切替処理の前までは、コントローラ１１０を介して、ディスクドライブ１６０から構成されるデータＬＵ１６４に対して行われ、（７）のアクセス経路切替後は、コントローラ４１０を介して、ディスクドライブ１６０から構成されるデータＬＵ１６４、ディスクドライブ４６０から構成されるデータＬＵ４６４に行われる。
図１１は図１０（ａ）−（ｃ）で示した、ストレージ装置に障害が発生した場合のストレージ装置交換処理の流れを示したものである。構成要素管理部１８０は、ディスクドライブ１６０、コントローラ１１０、１２０、ファン１３、電源ユニット１４等の部品の状態を監視し、状態に変化があった場合には障害と判断する。例えば、各部品から構成要素管理部１８０に対してハートビート信号を送るようにすれば、この信号が検知できなくなったときに障害と判断する。（Ｓ１００）。
構成要素管理部１８０は障害と判断した場合に障害が発生した旨の通知をＣＰＵ１１２に行い、ＣＰＵ１１２は当該障害に関する情報をメモリ１０５の障害情報テーブル１５５に設定する。尚、コントローラ１１０に障害が発生した場合には、コントローラ１２０のＣＰＵに障害が発生した旨の通知が為され、当該障害に関する情報はコントローラ１２０内のメモリ１２５の障害情報テーブルに格納される。この際、構成要素管理部１８０は、部品に障害が発生したことを認識し、該障害が発生した部品の代替部品があれば、代替部品による引継ぎ処理を実行する。図１０（ａ）に示すようにコントローラに障害が発生した場合には、処理を引き継ぐコントローラ及びホスト１９２との間で、ホストアクセス経路の切り替えが行われる（Ｓ２００）。この後、ストレージ装置１００のコントローラ１１０のＣＰＵ１１２（コントローラ１１０に障害が発生した場合においてはコントローラ１２０のＣＰＵ１２２）によって、ストレージ装置１００での運用が継続可能か否かが判断される。運用が継続不可能と判断された場合には、他のストレージ装置による運用、つまり、ストレージ装置の交換が必要であることを意味する。（Ｓ３００）。ストレージ装置交換が必要である場合には、コントローラ１１０若しくはコントローラ１２０から、管理サーバ１９７にその旨通知されて保守員に対して交換用のストレージ装置４００の接続が促される。尚、管理サーバ１９７に代えて管理端末１９８に通知しても良い（Ｓ４００）。通知にしたがってストレージ装置１００とストレージ装置４００が接続された後、バックエンド接続（Ｓ５００）、ストレージ装置４００による構成情報読み出し（Ｓ６００、７００）、セットアップ処理（Ｓ８００）が実行される。セットアップ処理が完了した後は、移行先ストレージ装置４００から管理サーバ１９７にセットアップが終了し、ホストからのＩＯコマンドの受領が可能である旨が通知され（Ｓ９００）、Ｓ９００通知の受領に基づいて管理サーバ１９７からホスト１９２に対してホストアクセス切替要求が送信される（Ｓ１０００）。ホスト１９２からは、移行先ストレージ装置ストレージ装置４００に対して接続確認コマンドが送信され（Ｓ１１００）、移行先ストレージ装置４００からの応答を受領すると（Ｓ１２００）、アクセス経路の切替が行われる（Ｓ１３００）。これでホスト１９２からＩＯコマンドが送信されるアクセス経路が移行元ストレージ装置１００から移行先ストレージ装置４００に切りかえられ、移行先ストレージ装置４００にＩＯコマンドが送信される（Ｓ１４００）。アクセス経路の切り替え後は、ストレージ装置４００によって、アクセス経路切替後ＩＯ処理が実行される（Ｓ１５００）。この後、ストレージ装置４００によって、ストレージ装置１００のデータをストレージ装置４００にコピーするデータ移行処理が実行される（Ｓ１６００）。尚、Ｓ１６００のデータ移行処理は、Ｓ９００−Ｓ１５００の処理と平行して実行することも可能であるし、Ｓ９００―Ｓ１５００の処理の間に実行することも可能である。例えば、Ｓ８００のセットアップ処理が終了した後、Ｓ９００に代えてすぐにＳ１６００の処理を実行しても良い。データ移行処理によって、ストレージ装置１００のデータのコピーが完了した後に、ストレージ装置４００がストレージ装置１００のデータを削除するデータ消去処理が実行される（Ｓ１７００）。
移行、Ｓ１００〜Ｓ１７００の処理について詳述する。先ず、Ｓ３００のストレージ装置交換の要否判断処理について詳述する。
【００１８】
＜ストレージ装置交換の要否判断＞
図１２はストレージ装置交換の要否判断の処理の詳細を示したものである。Ｓ３００のストレージ装置交換の要否判断では、先ず、障害情報テーブル１５５とストレージ装置交換要否設定テーブル１４３とに基づいて、ストレージ装置１００での運用が継続可能かが判断される（コントローラ１１０に障害が発生した場合においてはコントローラ１２０のＣＰＵ１２２によって、メモリ１２５内の障害情報テーブルとストレージ装置交換要否設定テーブルとに基づいて、ストレージ装置１００での運用が継続可能かどうかが判断される）。
図９の障害情報テーブル１５５と、図８のストレージ装置交換要否設定テーブル１４３より、コントローラ１２０に障害が発生しているので、ストレージ装置交換は必要と判断される（Ｓ３１０）。図９、図８の情報によってコントローラ１２０に障害が発生したため、ストレージ装置交換が必要と判断された場合にはコントローラ１１０のＣＰＵ１２２は、ストレージ装置の交換においてストレージ装置１００がデータの移行元となる様にシステムＬＵ１６２内のマスタ／スレーブ情報１７５に“スレーブ”と設定する。これによって、ストレージ装置１００はデータ移行元のストレージ装置となり、ストレージ装置４００と接続された際に、データ移行先のストレージ装置が行う処理を実行することがなくなる（Ｓ３２０）。
Ｓ３２０の処理が終わると、Ｓ３００のバックエンド接続処理は完了する。この後、ストレージ装置の交換が必要であれば、管理サーバ１９７にその旨通知された後、Ｓ５００のっ句エンド接続処理（Ｓ５００）が実行される。以下、Ｓ５００のバックエンド接続処理について詳述する。
＜バックエンド接続処理＞
図１３はバックエンド接続処理の詳細を示したものである。Ｓ５００のバックエンド接続処理は図１１のフローで示したＳ４００での通知に従って保守員によってストレージ装置１００とストレージ装置４００とが接続されたことを、ストレージ装置４００のコントローラ４１０のＣＰＵ４１２が検出する。この検出は、例えば、保守員によって移行先ストレージ装置４００にインタフェースケーブル８０が接続された後にバックエンドインタフェースケーブル４１７が接続先に対して信号を送信し、インタフェースケーブル８０が移行元ストレージ装置１００のバックエンドインタフェース部１１７と接続されることで応答が返ってきた場合に、その旨ＣＰＵ４１２に報告することで、ストレージ装置１００とストレージ装置４００とが接続したことを検出することとすれば良い（Ｓ５１０ａ）。Ｓ５１０ａと同様の処理が、移行元ストレージ装置１００でも行われて、ＣＰＵ１１２によってバックエンド接続が検出される（Ｓ５１０ｂ）。Ｓ５１０ｂの処理は、移行元ストレージ装置１００と移行先ストレージ装置４００とが同じ構成をとっている場合に、バックエンド接続によって移行元ストレージ装置１００にも発生する処理である。
移行先ストレージ装置４００のＣＰＵ４１２はＳ５１０の検出の後、システムＬＵ４６２のマスタ／スレーブ情報に“スレーブ”と設定されていない場合に  “マスタ”と設定する。移行元ストレージ装置１００のＣＰＵ１１２は、Ｓ３２０にて“スレーブ”と設定されているため、バックエンド接続を検出しても“マスタ”と設定しない（Ｓ５２０）。
この後、設定確認処理が行われる。ストレージ装置１００、４００は手動で切り替えるマスタ／スレーブ切り替えスイッチを備えており、保守員によってストレージ装置１００のマスタ／スレーブ切り替えスイッチは“スレーブ”に、ストレージ装置４００のマスタ／スレーブ切り替えスイッチは“マスタ”に切りかえられてから、インタフェースケーブル８０によってストレージ装置１００とストレージ装置４００とが接続される。Ｓ５２０のマスタ設定処理の後、ＣＰＵ４１２は、バックエンドインタフェース４１７を介してマスタ／スレーブ切り替えスイッチの切り替えと、Ｓ５２０で設定したシステムＬＵ４６２のマスタ／スレーブ情報とを比較し、一致していない場合には管理端末１９８に通知して保守員がマスタ／スレーブの切り替えスイッチの切り替えを確認するように表示させる（Ｓ５２５ａ）。このマスタ／スレーブの設定は誤って設定するとデータを失う危険性があるため、Ｓ３２０及びＳ５２０の処理と、マスタ／スレーブ切り替えスイッチによる手動の切り替えとで二重チェックする仕組みとなっている。尚、Ｓ５２０においてシステムＬＵ４６２のマスタ／スレーブ情報に“スレーブ”と設定されていない場合に“マスタ”と設定するようにする他、ＣＰＵ４１２がストレージ装置４００のメモリ４０５及び４２５内の構成情報を参照し、例えばＬＵ設定テーブルについて、設定されている情報がない場合に  “マスタ”と設定するようにしても良い。
【００１９】
次に、マスタに設定されている移行先ストレージ装置４００内の構成要素管理部４８０は、バックエンドインタフェース部１１７、４１７、及びインタフェースケーブル８０から成るバックエンドインタフェース上に障害が発生していないかどうかをチェックする（Ｓ５３０）。チェックの結果障害が発生していない場合には、構成要素管理部４８０がその旨を、スレーブに設定されている移行元ストレージ装置１００内の構成要素管理部１８０に通知する（Ｓ５３５）。通知を受領した後、構成要素管理部１８０は、移行元ストレージ装置１００の各ディスクドライブ１６０のメモリ１６７の論理ドライブ番号１６８をスレーブ設定時のものに変更する（Ｓ５４０）。論理ドライブ番号１６８は、ディスクドライブ１６０にディスクインタフェース部１１８からアクセスする際に、ディスクドライブ１６０を識別する為の識別子である。各ディスクドライブ１６０がＦＣループ（Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ  ｌｏｏｐ）で接続された構成をとる場合には、ディスクインタフェース部１１８は、ループ番号及び論理ドライブ番号を指定してアクセスする。
Ｓ５４０の処理の後、各ディスクドライブ１６０の論理ドライブ番号を管理する構成要素管理部１８０内のメモリ１８１のディスクドライブ管理テーブル１８２が、Ｓ５４０の変更内容に更新される。この後、構成要素管理部１８０は、ＣＰＵ１１２に通知してコントローラ１１０内のメモリ１０５のディスクドライブ管理テーブル１４１をディスクドライブ管理テーブル１８２と同じ内容に更新する（Ｓ５５０）。
また、Ｓ５５０の処理の後に構成要素管理部１８０は、構成要素管理部４８０に移行元ストレージ装置１００の各ディスクドライブ１６０の論理ドライブ番号を変更した旨を通知した後（Ｓ５５５）、更新後のメモリ１８１内のディスクドライブ管理テーブル１８２を提供する。構成要素管理部４８０、ＣＰＵ４１２及び４２２は、更新後のディスクドライブ管理テーブル１８２から各ディスクドライブ１６０の変更後の論理ドライブ番号を取得して、メモリ４８１、４０５及び４２５のディスクドライブ管理テーブルを更新する（Ｓ５６０）。このＳ５４０−Ｓ５６０の処理（以降、スレーブのディスクドライブ論理番号変更処理という）における、論理デバイス番号１６８の変更及びディスクドライブ管理テーブルの変更について図１４、図１５（ａ）、（ｂ）にて示す。
＜スレーブのディスクドライブ論理番号変更処理＞
図１４は、ディスクドライブ１６０の論理ドライブ番号１６８の変更前と変更後のイメージを示したブロック図である。
図１３のフローＳ５４０において、スレーブである移行元ストレージ装置１００の構成要素管理部１８０は、図１４に示す様に、各ディスクドライブ１６０のメモリ１６７の論理ドライブ番号１６８を変更する。具体的には、「０」「１」…などの数値で表されていたものを、「Ａ」「Ｂ」…などのアルファベットの表現に変更する。この変更によって、マスタである移行先ストレージ装置４００のディスクドライブの論理デバイス番号と、スレーブである移行元ストレージ装置１００のディスクドライブの論理デバイス番号とが重複することがなくなる。この変更によって、マスタである移行先ストレージ装置４００のコントローラ４１０、４２０は、各ディスクドライブ１６０、４６０の両方のディスクドライブを一意に指定してアクセスすることが可能となる。
【００２０】
図１５（ａ）は、マスタである移行先ストレージ装置４００のメモリ４０５、４２５、４８１内の、変更後のディスクドライブ管理テーブルを示したものである。図１５（ｂ）は、スレーブである移行元ストレージ装置１００のメモリ１０５、１８１内の、変更後のディスクドライブ管理テーブルを示したものである。Ｓ５５０、Ｓ５６０の処理によって図１５の様に変更される。尚、本実施例においてはコントローラ１２０に障害が発生した例について説明しているため、コントローラ１２０のメモリ１２５について述べていないが、ストレージ装置１００において他の部品に障害が発生した場合にはメモリ１２５内のディスクドライブ管理テーブルも変更される。マスタである移行先ストレージ装置４００は、図１５（ａ）に示すテーブルを用いて、ディスクドライブ１６０と４６０との両方のディスクドライブにアクセスし、スレーブである移行元ストレージ装置１００は図１５（ｂ）に示すディスクドライブ管理テーブルを用いて、ディスクドライブ１６０にアクセスする。
【００２１】
このＳ５４０−Ｓ５６０後、ＣＰＵ４１２は管理端末にバックエンド接続が成功した旨をメッセージ表示し、バックエンド接続処理Ｓ５００が完了する（Ｓ５７０）。
上述した処理によって、バックエンド接続処理Ｓ５００が完了した後は、図１１のフローで示した、Ｓ６００−Ｓ７００の処理（以降、構成情報参照処理という）が実行される。
以降、構成情報参照処理について詳述する。
＜構成情報参照処理＞
移行先ストレージ装置４００のＣＰＵ４１２は移行元ストレージ装置１００のディスクドライブ１６０のうち、システムＬＵ１６２を構成するディスクドライブにアクセスし、移行元ストレージ装置１００の構成情報１７０を読み出す（Ｓ６００、Ｓ７００）。移行元ストレージ装置１００の構成情報１７０は、例えば、システムＬＵ１６２を構成する５台のディスクドライブの所定の領域に５重に記憶された構成とすることができる。この５台のディスクドライブ１６０のスレーブ設定時の論理ドライブ番号と、構成情報１７０が格納された所定の領域とは予めコントローラ４１０内のメモリ４０５内のデータ移行プログラムに設定されており、ＣＰＵ４１２は移行元ストレージ装置のシステムＬＵを構成するディスクドライブにアクセスして構成情報１７０を読みだし、取得することができる。これによって構成情報参照処理が完了する。
【００２２】
読み出される構成情報１７０は、図２（ｃ）に示す、ＬＵ構成情報テーブル１７２、ホスト接続モードパラメータテーブル１７４、実装ディスクドライブテーブル１７６、実装コントローラテーブル１７７、稼動ディスクドライブテーブル１７８、稼動コントローラテーブル１７９、ストレージ装置交換要費設定テーブル１７３である。
【００２３】
上述のように、構成情報参照処理Ｓ６００−Ｓ７００が完了した後は、図１１のフローで示した、Ｓ８００のセットアップ処理が実行される。以降、セットアップ処理について詳述する。
＜セットアップ実施＞
図１６は、セットアップ処理を示したものである。コントローラ４１０は、Ｓ７００で取得した移行元ストレージ装置１００の構成情報１７０と移行先ストレージ装置４００の構成情報４４０とを比較し、移行先ストレージ装置が移行元ストレージ装置の移行先として十分なハードウェア構成を有しているか否かをチェックし、十分なハードウェア構成を有している場合にはＣＰＵ４１２は、ストレージ装置４００を移行先のデータストレージ装置として適切なものとし、チェック結果を“ＯＫ”に設定する。（Ｓ８１０）。Ｓ８１０の移行先ストレージ装置のハードウェア構成のチェック処理は、図１７（ａ）−（ｃ）を用いて後述する。
このＳ８１０のチェックの結果がＯＫであれば、（Ｓ８２０でＹ）ストレージ装置４００をストレージ装置１００の処理の引き継ぎ先とし、Ｓ７００で取得した構成情報１４０を基にして、ストレージ装置４００に論理構成を設定する。論理構成設定においては、ＬＵ構成テーブル１７２、ホスト接続モードパラメータテーブル１７４を使用して、ストレージ装置４００に、ストレージ装置１００と同じように、ＲＡＩＤ構成を含んだＬＵ構成の設定、各ＬＵと各Ｐｏｒｔとの論理経路設定、コントローラの各ホスト１９２（ａ）−（ｃ）毎のモード設定が行われる（Ｓ８３０）。この後、移行先ストレージ装置４００のＬＵフォーマット起動処理が行われる。この、ＬＵフォーマット起動処理はＳ８３０の処理完了後、自動的に実施される。（Ｓ８４０）。一方、Ｓ８３０のチェックで、チェック結果が“ＮＧ”だった場合には、管理端末にエラーメッセージにてその旨を通知する（Ｓ８５０）。これによって、セットアップ処理Ｓ８００が完了する。このセットアップ処理Ｓ８００の一部の処理である移行先ストレージ装置のハードウェア構成のチェック処理Ｓ８１０について、以下詳述する。
＜移行先ストレージ装置のハードウェア構成のチェック処理＞
図１７（ａ）は、移行先ストレージ装置のハードウェア構成のチェック処理について示したものである。このチェック処理は、上述のようにストレージ装置４００が、ストレージ装置１００のデータ移行先として十分なハードウェア構成を備えているかを判断するためのものである。先ず、移行先ストレージ装置４００のハードウェア構成を移行元ストレージ装置１００の全てのハードウェア構成と比較するか否かを判断する（Ｓ８１１）。このＳ８１１の処理では、移行先ストレージ装置４００のハードウェア構成のスペックが障害発生前のストレージ装置１００において稼動していたハードウェア構成のスペック以上であればストレージ装置の引継ぎ先として良いか、それとも移行先ストレージ装置４００のハードウェア構成のスペックが、移行元ストレージ装置１００において稼動していたディスクドライブ／コントローラ／ポート等のハードウェアも障害発生前に稼動していなかったハードウェアも含めた全てのハードウェア構成のスペック以上でなければ、ストレージ装置の引継ぎ先としては不十分とするか、を設定する。
移行元ストレージ装置１００と移行先ストレージ装置４００とのハードウェア構成のスペックの比較は、Ｓ７００にて移行先ストレージ装置４００が取得した構成情報１７０の中の、実装ディスクドライブテーブル１７６、実装コントローラテーブル１７７、稼動ディスクドライブテーブル１７８、稼動コントローラテーブル１７９の各テーブルと、メモリ４０５に設定されている移行先ストレージ装置４００の対応する各テーブル（移行先ストレージ装置４００の対応する各テーブルを実装ディスクドライブテーブル４４６、実装コントローラテーブル４４７、稼動ディスクドライブテーブル４４８、稼動コントローラテーブル４４９とする）とに基づいて、ディスクディスクドライブの数、容量、コントローラの数、ポートの数等の各値を比較することで行われる。
この判断は、ＣＰＵ４１２から、管理端末に問い合わせをメッセージ表示して、保守員から得た回答に基づいても良いし、ストレージ装置４００とストレージ装置１００との接続前に、予め管理端末からメモリ４０５、４２５に設定しておいても良い。Ｓ８１１にて、ＹＥＳと判断されると、図１７（ｂ）にて示す移行元ストレージ装置１００の全ハードウェア構成と、移行先ストレージ装置４００のハードウェア構成との比較処理（Ｓ８１２）が実行される。一方、Ｓ８１１にて、ＮＯと判断されると、図１７（ｃ）にて示す移行元ストレージ装置１００の稼動ハードウェア構成と移行先ストレージ装置４００のハードウェア構成との比較処理  （Ｓ８１３）が実行される。これによって、移行先ストレージ装置のハードウェア構成のチェック処理Ｓ８１０の処理が完了する。次に、移行先ストレージ装置のハードウェア構成のチェック処理Ｓ８１０の一部の処理である移行元ストレージ装置１００の全ハードウェア構成と移行先ストレージ装置４００のハードウェア構成との比較処理Ｓ８１２について、詳述する。
図１７（ｂ）は、移行元ストレージ装置１００の全ハードウェア構成と、移行先ストレージ装置４００のハードウェア構成との比較処理Ｓ８１２を示したものである。
Ｓ８１２の処理は、ストレージ装置４００に読み出された移行元ストレージ装置１００の実装ディスクドライブテーブル１７６及び実装コントローラテーブル１７７と、移行先ストレージ装置の実装ディスクドライブテーブルと実装コントローラテーブルとを比較することで為される。本処理では図５に示す内容の実装ディスクドライブテーブル１７６及び４４６のディスクドライブの数（物理ドライブ番号から比較）及び各ディスクドライブの容量、図６に示す内容の実装コントローラテーブル１７７及び４４７のコントローラ数（コントローラ番号から比較）、各コントローラにおけるｐｏｒｔ数のそれぞれについて比較し、実装ディスクドライブテーブル４４６のディスクドライブ数（物理ドライブ番号）、各ディスクドライブの容量、実装コントローラテーブル４４７のコントローラ数（コントローラ番号）、各コントローラのｐｏｒｔ数、の全ての要素が移行元ストレージ装置１００の実装ディスク装置テーブル１７６、実装コントローラテーブル１７７以上であれば、チェック結果を“ＯＫ”とし、そうでなければチェック結果を“ＮＧ”とする。以下ＣＰＵ４１２の処理について具体的に説明する。
先ず、ディスクドライブ数について比較する（Ｓ８１２−１）。先ず、実装ディスクドライブテーブル４４６のディスクドライブの数が実装ディスクドライブテーブル１７６のドライブ数よりも少ない場合にはＮと判断され、そうでない場合にはＹと判断される。
次に、ディスクドライブ容量について比較する（Ｓ８１２−２）。実装ディスクドライブテーブル４４６のドライブ数が実装ディスクドライブテーブル１７６のドライブ数以上の場合には、実装ディスク装置テーブル４４６と実装ディスク装置テーブル１４６との各ドライブとの対応付けにおいて、ドライブの容量が、実装ディスク装置テーブル４４６のドライブが実装ディスクドライブテーブル１７６のドライブ以上となるように対応付けられる場合にはディスクドライブについてＹと判断しこのように対応付けられない場合にはＮと判断する。
Ｓ８１２−２の処理の次に、コントローラ数について比較する（Ｓ８１２−３）。
ディスクドライブについてＹと判断された場合には、引き続いて実装コントローラテーブル４４７と実装コントローラテーブル１７７との比較作業が行われる。
実装コントローラテーブル１７７と実装コントローラテーブル４４７との比較作業においては、それぞれのテーブルのコントローラ数（コントローラ番号）の大小を比較し、実装コントローラテーブル４４７のコントローラ数が実装コントローラテーブル１７７のコントローラ数よりも少ない場合には、Ｎと判断される。そうでない場合にはＹと判断される。
次にポート数について比較する（Ｓ８１２−４）。
実装コントローラテーブル４４７のコントローラ数が実装コントローラテーブル１７７のコントローラ数以上である場合には引き続いて実装コントローラテーブル４４７と実装コントローラテーブル１７７との各コントローラとの対応付けにおいて、実装コントローラテーブル４４７のコントローラのｐｏｒｔ数が実装コントローラテーブル１７７のコントローラのｐｏｒｔ数以上となるように対応付けられる場合にはコントローラのＰｏｒｔ数についてＹと判断し、このように対応付けられない場合にはＮと判断する。
Ｓ８１２−４でもＹと判断された場合、Ｓ８１２−５にて、ＣＰＵ８１２はチェック結果を”ＯＫ”とする。一方、Ｓ８１２−１〜Ｓ８１２−４にて、Ｎと判断した場合には、チェック結果を”ＮＧ”とする。
尚、ディスクドライブの容量のみならずディスクドライブの回転数を判断のパラメータとしてこのＳ８１２−１〜Ｓ８１２−４の処理に加えても良い。この場合、ストレージ装置４００のディスクドライブについて、ディスクドライブ数及びディスクドライブ容量及びディスクドライブの回転数がストレージ装置１００を上回っている場合にのみ、Ｙと判断される。この場合、実装ドライブテーブル４４６と実装ドライブテーブル１７６との各ドライブの対応付けにおいて、ディスクドライブの容量及びディスクドライブの回転数ともに、実装ドライブテーブル４４６のドライブが実装ドライブテーブル１７６のドライブ以上となる組み合わせが存在するかどうかを確認し、存在する場合にはドライブについてＹと判断し、存在しない場合にはＮと判断する。これによって、移行元ストレージ装置１００の全ハードウェア構成と移行先ストレージ装置４００のハードウェア構成との比較処理Ｓ８１２が完了する。次に、移行先ストレージ装置４００のハードウェア構成を移行元ストレージ装置１００の全てのハードウェア構成と比較するかの判断処理Ｓ８１１にてＮＯと判断された場合の、移行元ストレージ装置１００の稼動ハードウェア構成と移行先ストレージ装置４００のハードウェア構成との比較処理  （Ｓ８１３）について詳述する。
図１７（ｃ）は、移行元ストレージ装置１００の稼動ハードウェア構成と、移行先ストレージ装置４００のハードウェア構成との比較処理Ｓ８１３を示したものである。
Ｓ８１３の処理においては、ＬＵ構成テーブル１４２及びホスト接続モードパラメータ設定テーブル１４４、実装ドライブテーブル１４６を元に設定されているテーブルである、図１９に示す内容の稼動ディスクドライブテーブル１７８、図２０に示す稼動コントローラテーブル１７９を用いて、比較処理がなされる。稼動ディスクドライブテーブル１７８のＬＵへの割当量は、ＬＵ構成テーブルのＬＵ容量及びＲＡＩＤレベルから算出される。Ｓ８１３−１〜Ｓ８１３−４の処理においては、ディスクドライブについては、上述したＳ８１２−１〜Ｓ８１２−４の処理における実装ドライブテーブル１７６の代わりに稼動ディスクドライブテーブル１７８と、ストレージ装置４００の実装ディスクドライブテーブル４４６とを比較する処理を行う。この稼動ディスクドライブテーブル１４８と実装ディスクドライブテーブル４４６との比較処理においては、稼動ディスクドライブテーブル１４８の、ドライブ番号と割当容量（回転数）について、Ｓ８１２にて行った実装ディスクドライブテーブル１７６と実装ディスクドライブテーブル４４６との比較処理と同様の処理を行う。コントローラ及びコントローラに備えられるｐｏｒｔ数についても実装コントローラテーブル１７７と実装コントローラテーブル４４７の比較処理と同様に、稼動コントローラテーブル１７９と実装コントローラテーブル４４７との比較処理を行う。この、Ｓ８１３−１〜Ｓ８１３−４の処理にて、Ｙと判断された場合には、チェック結果を“ＯＫ”とし（Ｓ８１３−５）、Ｎと判断された場合には、チェック結果を“ＮＧ”とする（Ｓ８１３−６）。  
上述の処理によって、移行先ストレージ装置４００は、移行元ストレージ装置１００の移行先として十分なハードウェア構成を備えているかどうかのチェックＳ８１０の処理が終了する。
【００２４】
なお、本実施例では、障害発生前のストレージ装置１００の稼動状況に拠らずに、移行先ストレージ装置４００のハードウェア構成のスペックが、移行元ストレージ装置１００のハードウェア構成のスペック以上であるか否か（ハードディスクの数、容量、コントローラの数、コントローラの備えるポート数といった各数値が移行先ストレージ装置４００が移行元ストレージ装置１００と同じ若しくは上回っているか否か）についての比較処理（Ｓ８１２）と、移行先ストレージ装置４００のハードウェア構成のスペックが、障害発生前に移行元ストレージ装置１００にて稼動していたハードウェア構成のスペック以上であるか否かについての比較処理（Ｓ８１３）とのいずれか、一方を選択する例について記載したが、先ず、Ｓ８１２の比較処理を行い、Ｓ８１２の比較処理の結果、“ＮＧ”となった場合に、Ｓ８１３で“ＯＫ”ならばストレージ装置４００を移行先ストレージとして良いか否か保守員に問い合わせを行った上で、Ｓ８１３を開始することとしても良い。
【００２５】
以上、セットアップ処理Ｓ８００について詳述した。セットアップ処理Ｓ８００が完了した後、移行先ストレージ装置４００のＣＰＵ４１２は、管理サーバ１９７にセットアップが終了し、ホストからのアクセスが受領可能である旨の通知を送信する（Ｓ９００）。通知を受信すると、管理サーバ１９７は管理している移行元ストレージ装置１００のホストポートのＷＷＮ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｎａｍｅ：ネットワーク上でポートを一意に識別する識別子）及び、移行先ストレージ装置のホストポートのＷＷＮとを対応付けてホスト１９２に通知し、ホスト１９２の備えるアクセス経路切替アプリケーションに、移行元ストレージ装置１００から移行先ストレージ装置４００へのアクセス経路の切替を促す（Ｓ１０００）。ホスト１９２のアクセス経路切替アプリケーションは、管理サーバ１９２から送信された移行元ストレージ装置１００のホストポートと対応付けられた移行先ストレージ装置４００のホストポートのＷＷＮを認識した後、接続が可能であるかを確認するために認識したＷＷＮを指定してネットワーク１９０を介して移行先ストレージ装置４００に接続確認コマンドを送信する（Ｓ１１００）。これに対して、ストレージ装置４００が応答することで（Ｓ１２００）、アクセス経路切替アプリケーションによって、アクセス経路の切替が実行される（Ｓ１３００）。
尚、Ｓ９００−Ｓ１３００の処理は、管理サーバ１９７及びホスト１９２内のアクセス経路アプリケーションを用いることなく、以下の方法で行うこともできる。Ｓ８００のセットアップ処理が終了した後、移行先ストレージ装置４００は管理端末に、セットアップ処理が終了して、ホストからのアクセス経路を受領可能である旨表示する。これを受けて、保守員が、ホスト１９２のＩＯ処理を一旦中断して、アクセス経路の設定を入力作業を行う。入力作業において、アクセス経路が、移行元ストレージ装置１００から移行先ストレージ装置に切替られ、この後ＩＯ処理が再開されるようにすれば良い。
この後、ＩＯコマンドは、移行先ストレージ装置４００に対して送信される（Ｓ１４００）。この後、ＩＯコマンドが移行先ストレージ装置４００に対して送信されたときのストレージ装置４００が実行するアクセス経路切替後ＩＯ処理Ｓ１５００について、以下詳述する。
＜アクセス経路切替後ＩＯ処理＞
図２０は、アクセス経路切替後のＩＯ処理について示したものである。
移行先ディスクアレイ装置４００は、切り替えられたアクセス経路を介して、ホスト１９２から送信されるＩＯコマンドを受領する（Ｓ１５１０）。ＣＰＵ４１２は受領したＩＯコマンドを解析して、ＩＯコマンドが読み出し要求であるか否かを判断する（Ｓ１５２０）。読み出し要求である場合には（Ｓ１５２０でＹ）、ＣＰＵ４１２は、バックエンド接続インタフェース部４１７を介して、ＩＯコマンドで指定されるＬＵ番号（及びＬＢＡ）に従って移行元ストレージ装置１００のデータＬＵ１６４を構成するディスクドライブ１６０からデータを読み出し（Ｓ１５３０）、ホスト１９２に送信する（Ｓ１５４０）。
一方、受領したＩＯコマンドが読み出し要求でなく、書き込み要求である場合には（Ｓ１５３０でＮ）、ＣＰＵ４１２は、ＩＯコマンドで指定されるＬＵ番号（及びＬＢＡ）にしたがって、自装置内のデータＬＵ４６４を構成するディスクドライブ４６０に書き込み処理を行うとともに、バックエンドインタフェース４１７を介して移行元ストレージ装置１００のデータＬＵ１６４を構成するディスクドライブ１６０に書き込み処理を行う（Ｓ１５５０）。書き込み処理が完了したら、ホスト１９２に対して完了通知を行う（Ｓ１５６０）。
尚、図１１のフローの説明にて記載したように、Ｓ１６００のデータ移行処理はＳ９００−Ｓ１５００の間に実行することもできる。この前提において、Ｓ１５３０の読み出し処理について移行元ストレージ装置１００のドライブから読み出しが行われる理由はストレージ装置間データ移行処理が既に為されたデータについての読み出し処理の場合には移行元ストレージ装置１００、移行先ストレージ装置４００のどちらのディスクドライブから読み出しても問題ないが、データ移行が未だ為されていないデータについての読み出し処理の場合には読み出し処理の要求するデータが移行先ストレージ装置４００のディスクドライブ４６０には存在せず、移行元ストレージ装置１００のディスクドライブ１６０にのみ存在するためである。
また、書き込み処理が移行元ストレージ装置１００及び移行先ストレージ装置４００の双方のディスクドライブに書き込まれる理由を下述する。移行元ストレージ装置のドライブに書き込まれる理由は、データ移行が完了されるまでの間、ホスト１９２からの読み出し処理はすべて移行元ストレージ装置のドライブに対して為されるため、ホスト１９２からの書き込みデータを反映している必要があるためである。また、移行先ストレージ装置４００のディスクドライブ４６０についても書き込まれる理由は、データ移行処理が為されていないデータについての書き込み処理であれば、移行元ストレージ装置１００のディスクドライブ１６０にのみ書き込み処理を行ったとしても、後に書き込み処理が反映されたデータが移行元ストレージ装置１００のディスクドライブ１６０から移行先ディスクドライブ４６０にコピーされるので問題ないが、データ移行が既に為されたデータについては、移行先ストレージ装置４００のディスクドライブ４６０に書き込まれない場合には書き込み処理が反映されたデータがコピーされない為、書き込み処理を反映したデータが移行先ストレージ装置４００のディスクドライブに存在しない事態が生じる為である。上記の事態を避ける為に、書き込み処理については移行元ストレージ装置１００、移行先ストレージ装置４００の両方のドライブに書き込み処理が実行される。上述した様に、読み出し処理については移行元ストレージ装置１００のディスクドライブから読み出しを行い、書き込み処理については移行元ストレージ装置１００のディスクドライブ１６０及び移行先ストレージ装置４００のディスクドライブ４６０の両方のドライブに書き込みを行うことで、データ移行処理Ｓ１６００の進捗によることなく、ホスト１９２からの読み出し要求及び書き込み要求を、漏れなく処理することができる。
尚、例えばデータ移行の進捗を所定領域ごとに管理するビットマップをメモリ４０５内に備え、書き込み処理を移行先ディスクアレイ装置４００のディスクドライブ４６０及び移行先ディスクアレイ装置１００のディスクドライブ１６０の両方に行うことなく、データ移行済みであれば移行元ストレージ１００と移行先ストレージ４００との両方のドライブに書き込み、データ移行が未だなされていない領域への書き込み処理であれば移行元ストレージ装置１００のディスクドライブ１６０にのみ書き込む構成とすることもできる。この場合、ストレージ装置間データ移行の進捗を管理する必要が生じるが、ストレージ装置４００におけるホストＩＯ処理にかかる処理負担を軽減することができる。
以上、アクセス経路切り替え後ＩＯ処理Ｓ１５００について詳述した。続いて、アクセス経路切り替え後ＩＯ処理１５００の後若しくはＳ９００―Ｓ１５００の処理の間に実行されるデータ移行処理Ｓ１６００について詳述する。
＜データ移行処理＞
図２１は、データ移行処理を示すものである。
【００２６】
移行先ストレージ装置４００のＣＰＵ４１２は、Ｓ７００で取得した構成情報１７０のＬＵ管理テーブルを元にデータコピーを行うデータＬＵ１６２を特定し、当該データＬＵ１６２を構成するディスクドライブ１６０の物理ドライブ番号を特定する。この後、セットアップ処理Ｓ８３０の論理設定において当該ＬＵに対応して論理設定した移行先ストレージ装置４００のＬＵを構成するディスクドライブの物理ドライブ番号を特定する。（Ｓ１６１０，Ｓ１６２０）。この後、メモリ１０５内のディスクドライブ管理テーブルに基づいて、当該ディスクドライブ１６０、４６０の論理ドライブ番号を特定する（Ｓ１６３０）。この後、ディスクドライブ１６０からデータを読み出し、ディスクドライブ４６０にデータを書き込む（ＳＳ１６３０、Ｓ１６４０）。このＳ１６１０−Ｓ１６４０の処理を、全てのＬＵが完了するまで実行し、全てのＬＵが完了したらデータ移行処理が完了する。
【００２７】
尚、例えば、ディスクドライブ１６０の障害によって、ＲＡＩＤグループによるコレクションコピーが必要な状況で、本データ移行処理が行われる場合には、ディスクドライブ１６０からデータを読み出して、コレクションコピーによってデータを復旧して、ディスクドライブ４６０に格納することもできる。
Ｓ１６００の処理完了を認識すると、移行先ストレージ装置４００のＣＰＵ４１２は移行元ストレージ装置１００の全ディスクドライブ１６０のデータを消去する。これは、移行元ストレージ装置１００が、ストレージ装置間処理完了時に、廃棄若しくは回収される場合に、データ漏洩が発生する危険を回避するためである。
以上、説明したように、本発明によれば、ディスクドライブ、コントローラ、ファン、電源ユニットといった各部品及び各部品の代替部品を備えるストレージ装置において、各部品に障害が発生しても、ストレージ装置間の交換が必要とされるときまで代替部品による障害部品の処理の引継ぎが行われ部品単位の交換が行われずに動作を継続し、ストレージ装置の交換が必要となったときには、他のストレージ装置に処理を引き継ぐことのできるストレージ装置を提供することができる。
本発明によれば、ストレージ装置の各部品（特にコントローラ）に障害が発生し、ストレージ装置として動作を継続できない状況においても、他のストレージ装置に簡易に処理を引き継ぐストレージ装置を提供することができる。尚、本発明のＳ５００以降の処理によれば、障害発生時に限らず保守員の負担を軽減して、データの移行処理を実現することができる。
かくして、本発明に拠れば、ストレージ装置を構成する部品に障害が発生した際にも、部品交換作業を行うことなく、長時間稼動し続けるストレージ装置を提供することができ、従来のものに比べて保守にかかる負担を軽減することができる。
尚、本実施例では、ディスクドライブ、コントローラ、ファン、電源ユニットの各部品は、それぞれ代替部品を含むものとしたが、必ずしも各部品全てが代替部品を含むものに限定されない。例えば、ファンは代替部品を備えていない構成とすることもできる。この場合、複数のファンのうち１つのファンに障害が発生したとき、障害が発生せず動作しているファンの数が所定数以上（例えば４つのファンを備えている場合に、所定数を３とする。）であれば、ＣＰＵ１１２は動作継続と判断し、更にもう１つのファンに障害が発生して、動作しているファンが所定数以下となった場合に、ストレージ装置の交換が必要と判断し（Ｓ３００）、管理サーバに通知（Ｓ４００）することもできる。尚、この場合にはストレージ装置の温度が所定温度以上に上昇した際にもＣＰＵ１１２がストレージ装置の交換を必要と判断するようにしても良い。
尚、本実施例では、例えば処理能力の高いサーバである管理サーバ１９７、例えばノートパソコンである管理端末１９８とを分けて記載したが、いずれにしても管理用コンピュータであり、例えば、管理端末１９８を備えず、管理端末１９８の処理を管理サーバ１９７が行うようにしても良いし、逆に管理サーバ１９７の処理を管理端末１９８が行うようにしても良い。
【図面の簡単な説明】
【００２８】
【図１】ストレージ装置の概観構成図である
【図２（ａ）】ストレージ装置を利用したシステムの構成を示した図である。
【図２（ｂ）】ストレージ装置を利用したシステムの構成を示した図である。
【図２（ｃ）】ストレージ装置を利用したシステムの構成を示した図である。
【図３】ＬＵ構成テーブルを説明するための図である。
【図４】ホスト接続モードパラメータテーブルを示した図である。
【図５】実装ディスクドライブテーブルを示した図である。
【図６】実装コントローラテーブルを示した図である。
【図７】ディスクドライブ管理テーブルを示した図である。
【図８】ストレージ装置交換要費設定テーブルを示した図である。
【図９】障害情報テーブルを示した図である。
【図１０（ａ）】データ移行処理を説明するための図である。
【図１０（ｂ）】データ移行処理を説明するための図である。
【図１０（ｃ）】データ移行処理を説明するための図である。
【図１１】ストレージ装置交換の処理のフローチャートである。
【図１２】ストレージ装置交換要否判断処理のフローチャートである、
【図１３】バックエンド接続処理のフローチャートである。
【図１４】論理ドライブ番号の変更処理を説明するための図である。
【図１５】スディスクドライブ管理テーブルの更新処理を説明するための図である。
【図１６】セットアップ処理を示すフローチャートである。
【図１７（ａ）】移行先ストレージのハードウェア構成チェック処理示すフローチャートである。
【図１７（ｂ）】移行先ストレージのハードウェア構成チェック処理示すフローチャートである。
【図１７（ｃ）】移行先ストレージのハードウェア構成チェック処理示すフローチャートである。
【図１８】稼動ディスクドライブテーブルを示した図である。
【図１９】稼動コントローラテーブルを示した図である。
【図２０】アクセス切替後ＩＯ処理を示すフローチャートである。
【図２１】データ移行処理を示すフローチャートである。
【符号の説明】
【００２９】
１……記憶システム、１０……基盤、１２……ＨＤＤ、１３……ファン、１５……ホストポート、１６……ストレージ装置ポート、１７……筐体、１４……電源ユニット、１００，４００……ストレージ装置、１１０，１２０，４１０、４２０……コントローラ、１１２、４１２……ＣＰＵ、１１１……内部バス、１１７、４１７……バックエンドインタフェース部、１１４、１１６……ホストインタフェース部、１１９……管理端末インタフェース部、１６０……ディスクドライブ、１８０、４８０……構成要素管理部、１９８……管理端末、１９２ａ〜ｃ……ホスト、１９０……ネットワーク、１９１…ネットワーク
【図１】
2008097318.tif 000003
【図２（ａ）】
2008097318.tif 000004
【図２（ｂ）】
2008097318.tif 000005
【図２（ｃ）】
2008097318.tif 000006
【図３】
2008097318.tif 000007
【図４】
2008097318.tif 000008
【図５】
2008097318.tif 000009
【図６】
2008097318.tif 000010
【図７】
2008097318.tif 000011
【図８】
2008097318.tif 000012
【図９】
2008097318.tif 000013
【図１０（ａ）】
2008097318.tif 000014
【図１０（ｂ）】
2008097318.tif 000015
【図１０（ｃ）】
2008097318.tif 000016
【図１１】
2008097318.tif 000017
【図１２】
2008097318.tif 000018
【図１３】
2008097318.tif 000019
【図１４】
2008097318.tif 000020
【図１５】
2008097318.tif 000021
【図１６】
2008097318.tif 000022
【図１７（ａ）】
2008097318.tif 000023
【図１７（ｂ）】
2008097318.tif 000024
【図１７（ｃ）】
2008097318.tif 000025
【図１８】
2008097318.tif 000026
【図１９】
2008097318.tif 000027
【図２０】
2008097318.tif 000028
【図２１】
2008097318.tif 000029