(57)【要約】【課題】現実的な運用に適し、可用性を向上できるディスクシステム、データ保持装置、及びディスクデバイスを提供する。【解決手段】データアレイ１０内のディスクドライブ１２の故障を検出すると、故障が検出されたディスクドライブ１２と同じ容量、かつ現在使用されていないとの条件を満足するディスクドライブ２２の有無を、スペアデバイス２に問い合わせ、当該問い合わせに応答したスペアデバイス２から、条件を満足するディスクドライブ２２に関する情報を受け入れ、当該条件を満足するディスクドライブ２２を、故障を検出したディスクドライブ１２の代替としてマウントする。【選択図】図１
2013117922.tif 000002
【特許請求の範囲】
【請求項１】
データを保持し、ＲＡＩＤを構成する複数のディスクドライブをそれぞれ含むデータアレイを少なくとも一つ備えるデータ保持装置と、スペアとなるディスクドライブを少なくとも一つ含むスペアデバイスとを具備し、
前記データアレイ内のディスクドライブの故障を検出する手段と、
故障が検出されたディスクドライブと同じ容量、かつ現在使用されていないとの条件を満足するディスクドライブの有無を、前記スペアデバイスに問い合わせる手段と、
前記問い合わせに応答した前記スペアデバイスから、前記条件を満足するディスクドライブに関する情報を受け入れ、当該条件を満足するディスクドライブを、前記故障を検出したディスクドライブの代替としてマウントする手段と、
を含むディスクシステム。
【請求項２】
データを保持し、ＲＡＩＤを構成する複数のディスクドライブをそれぞれ含むデータアレイを少なくとも一つ備え、スペアとなるディスクドライブを少なくとも一つ含むスペアデバイスと通信可能に接続されるデータ保持装置であって、
前記データアレイ内のディスクドライブの故障を検出する手段と、
故障が検出されたディスクドライブと同じ容量、かつ現在使用されていないとの条件を満足するディスクドライブの有無を、前記スペアデバイスに問い合わせる手段と、
前記問い合わせに応答した前記スペアデバイスから、前記条件を満足するディスクドライブに関する情報を受け入れ、当該条件を満足するディスクドライブを、前記故障を検出したディスクドライブの代替としてマウントする手段と、
を含むデータ保持装置。
【請求項３】
データを保持し、ＲＡＩＤを構成する複数のディスクドライブをそれぞれ含むデータアレイを少なくとも一つ備えるデータ保持装置と通信可能に接続され、スペアとなるディスクドライブを少なくとも一つ含むディスクデバイスであって、
前記データ保持装置において、故障が検出されたディスクドライブと同じ容量、かつ現在使用されていないとの条件を満足するディスクドライブの有無の問い合わせを、前記データ保持装置から受け入れる手段と、
前記問い合わせに応答して、前記スペアとなるディスクドライブのうち、前記条件を満足するディスクドライブを検索する手段と、
前記条件を満足するディスクドライブが検索されると、当該検索によって見出されたディスクドライブをマウントするための情報を、前記問い合わせ元のデータ保持装置へ送信する手段と、
を含むディスクデバイス。
【請求項４】
請求項３記載のディスクデバイスであって、
前記検索によって見出されたディスクドライブのマウント先を表す情報を表示する表示手段をさらに含むディスクデバイス。
【請求項５】
請求項２に記載のデータ保持装置であって、
前記スペアデバイスとの間の通信は、
問い合わせ及びディスクドライブに関する情報を送受する制御情報通信手段と、
スペアとなるディスクドライブに記録するデータ、または当該スペアとなるディスクドライブから読み出されるデータを送信するデータ通信手段と、
を含む通信手段を介して行われるデータ保持装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ディスクシステム、データ保持装置、及びディスクデバイスに関する。
【背景技術】
【０００２】
ディジタルデータの重要性が増すに連れ、機器故障時のデータ保護が重要な課題となってきている。このような背景の下、複数のディスク装置を用いて冗長性のあるデータ保持機構を構成する方法として、ＲＡＩＤ（Redundant Arrays of Inexpensive Disks）と呼ばれるディスクシステムが考えられている（Patterson, David, Garth A. Gibson, Randy Katz (1988). "A Case for Redundant Arrays of Inexpensive Disks (RAID)". SIGMOD Conference. pp. 109-116.）。
【０００３】
このディスクシステムは、図７に例示するように、基本的にディスクコントローラ１１′と、複数ｎ台のディスクドライブ１２′ａ，ｂ，…１２′ｎとを備える。このディスクシステムにおいて例えばＲＡＩＤレベル５と呼ばれる技術を利用する場合の動作は次のようになる。
【０００４】
ディスクコントローラ１１′が書き込みの対象となるデータを受け入れ、当該受け入れたデータをデータブロックに分割する。ディスクコントローラ１１′は、分割して得られたｎ−１個ごとのデータブロックに対してパリティを演算し、ｎ−１個のデータブロックとパリティとの組を少なくとも一つ生成する。そしてディスクコントローラ１１′はこれらｎ−１個のデータブロックとパリティとの組をｎ台のディスク装置に分散して書き込む。この際、ｎ−１個のデータブロックとパリティとの組ごとに、パリティを格納するディスク装置を、ディスクドライブ１２′ａから１２′ｎまで順次切り替える。
【０００５】
このようにしておくと、仮に一つのディスクドライブ１２′ｘが故障したとしても、他のディスクドライブに格納されているデータブロック、ないしパリティから、元のデータブロックを再現できる。また、再現した元のデータブロックやパリティから、ｎ−１個のデータブロックとパリティとの組を再現できる（ＲＡＩＤの再構成）。
【０００６】
例えば特許文献１に開示された技術に係る装置は、すなわち複数のディスクユニットを備える。このディスクユニットのそれぞれが、複数のディスクドライブを備えて、これらでそれぞれＲＡＩＤを構成している。ここで、いずれかのディスクドライブに障害が発生した際、当該障害の発生したディスクドライブを障害ドライブとして、ユニットＩＤが障害ドライブと異なるユニットから、スペアとなっているドライブを検索し、検索されたならば、バックグラウンド処理にてＲＡＩＤグループのデータ再構築を実行する（００７５段落）、との技術が開示されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００５−２９３５４７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら上記従来の装置では、スペアとして設定されているディスク装置であれば必ずしも障害ドライブを代替できるとは限らないにも関わらず、代替可能性に関する条件が考慮されていない。つまり、ディスクユニットに含まれるディスク装置が互いにスペアとして働くことができるとの条件でユニットが構成されている必要がある。このような条件は、現実の運用においては、容易に満足させることができるものではない。
【０００９】
本発明は上記実情に鑑みてなされたもので、現実的な運用に適し、可用性を向上できるディスクシステム、データ保持装置、及びディスクデバイスを提供することを、その目的の一つとする。
【課題を解決するための手段】
【００１０】
上記従来例の問題点を解決するための本発明は、ディスクシステムであって、データを保持し、ＲＡＩＤを構成する複数のディスクドライブをそれぞれ含むデータアレイを少なくとも一つ備えるデータ保持装置と、スペアとなるディスクドライブを少なくとも一つ含むスペアデバイスとを具備し、前記データアレイ内のディスクドライブの故障を検出する手段と、故障が検出されたディスクドライブと同じ容量、かつ現在使用されていないとの条件を満足するディスクドライブの有無を、前記スペアデバイスに問い合わせる手段と、前記問い合わせに応答した前記スペアデバイスから、前記条件を満足するディスクドライブに関する情報を受け入れ、当該条件を満足するディスクドライブを、前記故障を検出したディスクドライブの代替としてマウントする手段と、を含むこととしたものである。
【００１１】
また本発明の一態様に係るデータ保持装置は、データを保持し、ＲＡＩＤを構成する複数のディスクドライブをそれぞれ含むデータアレイを少なくとも一つ備え、スペアとなるディスクドライブを少なくとも一つ含むスペアデバイスと通信可能に接続されるデータ保持装置であって、前記データアレイ内のディスクドライブの故障を検出する手段と、故障が検出されたディスクドライブと同じ容量、かつ現在使用されていないとの条件を満足するディスクドライブの有無を、前記スペアデバイスに問い合わせる手段と、前記問い合わせに応答した前記スペアデバイスから、前記条件を満足するディスクドライブに関する情報を受け入れ、当該条件を満足するディスクドライブを、前記故障を検出したディスクドライブの代替としてマウントする手段と、を含むこととしたものである。
【００１２】
さらに本発明の別の態様に係るディスクデバイスは、データを保持し、ＲＡＩＤを構成する複数のディスクドライブをそれぞれ含むデータアレイを少なくとも一つ備えるデータ保持装置と通信可能に接続され、スペアとなるディスクドライブを少なくとも一つ含むディスクデバイスであって、前記データ保持装置において、故障が検出されたディスクドライブと同じ容量、かつ現在使用されていないとの条件を満足するディスクドライブの有無の問い合わせを、前記データ保持装置から受け入れる手段と、前記問い合わせに応答して、前記スペアとなるディスクドライブのうち、前記条件を満足するディスクドライブを検索する手段と、前記条件を満足するディスクドライブが検索されると、当該検索によって見出されたディスクドライブをマウントするための情報を、前記問い合わせ元のデータ保持装置へ送信する手段と、を含むこととしたものである。このとき、前記検索によって見出されたディスクドライブのマウント先を表す情報を表示する表示手段をさらに含んでもよい。
【００１３】
また、上記データ保持装置にあっては、前記スペアデバイスとの間の通信が、問い合わせ及びディスクドライブに関する情報を送受する制御情報通信手段と、スペアとなるディスクドライブに記録するデータ、または当該スペアとなるディスクドライブから読み出されるデータを送信するデータ通信手段と、を含む通信手段を介して行われることとしてもよい。
【発明の効果】
【００１４】
本発明によると、現実的な運用にも適合し、可用性を向上できる。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施の形態に係るディスクシステムの構成例を表すブロック図である。
【図２】本発明の実施の形態に係るデータアレイのディスクコントローラの例を表す機能ブロック図である。
【図３】本発明の実施の形態に係るスペアデバイスのディスクコントローラの例を表す機能ブロック図である。
【図４】本発明の実施の形態に係るデータアレイでのデータの格納状況の例を表す説明図である。
【図５】本発明の実施の形態に係るディスクシステムの動作例を表す流れ図である。
【図６】本発明の実施の形態に係るスペアデバイスの他の例を表す構成ブロック図である。
【図７】一般的なデータアレイの構成例を表すブロック図である。
【発明を実施するための形態】
【００１６】
本発明の実施の形態に係るディスクシステムは、図１に例示するように、少なくとも一つのデータアレイ１０を備えたデータ保持装置１と、スペアとなるディスクドライブを少なくとも一つ含むスペアデバイス２とを含む。
【００１７】
データ保持装置１のデータアレイ１０はそれぞれ、ディスクコントローラ１１と、複数のディスクドライブ１２ａ，１２ｂ，…１２ｎと、通信部１３とを含んで構成される。またスペアデバイス２は、ディスクデバイスであって、ディスクコントローラ２１と、少なくとも一つのディスクドライブ２２（複数ある場合は２２ａ，２２ｂ，…２２ｎ）と、通信部２３とを含んで構成されている。
【００１８】
データアレイ１０及びスペアデバイス２の筐体内では、例えば図１にその概要を図示するようにディスクドライブ１２やディスクドライブ２２が、一列（またはｎ×ｍ台のマトリクス状でもよい）に配列されている。
【００１９】
データアレイ１０のディスクコントローラ１１は、例えばＣＰＵ等のプロセッサと、メモリ等の記憶部と、インテル社製の82801IB ICH9 RAID（ICH9R）等のＩ／Ｏコントローラ、その他の周辺回路（クロックジェネレータや電源マネージャ回路、ＵＳＢ（Universal
Serial Bus）インタフェース回路等）とを含む。
【００２０】
このディスクコントローラ１１は、その記憶部に格納されているプログラムに従ってプロセッサが動作することにより、次の機能を実現する。すなわちこのディスクコントローラ１１は、利用者からＲＡＩＤに構成するディスクの数や、ＲＡＩＤのレベルの指定を受け、当該指定された態様で、複数のディスクドライブ１２ａ，１２ｂ，…１２ｎをＲＡＩＤに構成する。また、このディスクコントローラ１１は、ディスクドライブ１２ａ，１２ｂ，…１２ｎの故障を検出する手段として機能する。そして、ディスクコントローラ１１は、いずれかのディスクドライブ１２の故障を検出すると、当該故障が検出されたディスクドライブ１２と同じ容量、かつ現在使用されていないとの条件を満足するディスクドライブ２２の有無を、スペアデバイス２に対して、通信部１３を介して問い合わせる。そして当該問い合わせに応答して、スペアデバイス２から、故障が検出されたディスクドライブ１２と同じ容量を備え、かつ現在使用されていないとの条件を満足するディスクドライブ２２に関する情報が通信部１３を介して受信されると、ディスクコントローラ１１は、当該条件を満足するディスクドライブ２２を、故障を検出したディスクドライブ１２の代替としてマウントし、改めて利用者から指定された態様に、ＲＡＩＤを再構成する。このディスクコントローラ１１の詳しい動作については、後に述べる。
【００２１】
通信部１３は、ディスクアレイ１０とスペアデバイス２との間で情報を授受する。この通信部１３の具体的構成は、ディスクアレイ１０とスペアデバイス２とがどのように配置されているかにより異なるが、例えばこれらが同じサーバラックに収納されている場合は、この通信部１３は、ＵＳＢインタフェースであってもよい。また、ディスクアレイ１０とスペアデバイス２とが互いにインターネット等のネットワーク通信回線を介して接続されている場合は、通信部１３はネットワークカードであってもよい。いずれの場合も通信の内容はＳＣＳＩ（Small Computer System Interface）に準拠した通信で構わない。なお、ネットワークを介してＳＣＳＩの通信を行う方法には、例えばｉＳＣＳＩ（RFC3720ほか）がある。ｉＳＣＳＩを利用する場合、ディスクアレイ１０側のディスクコントローラ１１は、イニシエータとして動作することになる。
【００２２】
スペアデバイス２は、データアレイ１０と同様の構成を備えるものであるが、ディスクコントローラ２１の動作が、データアレイ１０のディスクコントローラ１１におけるものと異なっている。すなわちこのディスクコントローラ２１もまた、例えばＣＰＵ等のプロセッサと、メモリ等の記憶部と、インテル社製の82801IB ICH9 RAID（ICH9R）等のＩ／Ｏコントローラ、その他の周辺回路（クロックジェネレータや電源マネージャ回路、ＵＳＢインタフェース回路等）とを含む。
【００２３】
このディスクコントローラ２１もその記憶部に格納されているプログラムに従ってプロセッサが動作する。そして、ディスクコントローラ２１は、データ保持装置１に含まれるデータアレイ１０のいずれかから、故障が検出されたディスクドライブ１２と同じ容量、かつ現在使用されていないとの条件を満足するディスクドライブ２２の有無の問い合わせを通信部２３を介して受け入れる。ディスクコントローラ２１は、当該問い合わせに応答して、スペアとなるディスクドライブ２２のうち、受け入れた条件を満足するディスクドライブ２２を検索する。
【００２４】
ここでディスクコントローラ２１が受け入れた条件を満足するディスクドライブ２２を見出すと、当該見出されたディスクドライブ２２をマウントするための情報を、問い合わせ元のデータ保持装置１のデータアレイ１０へ送信する。このディスクコントローラ２１の動作についても後に詳しく述べる。なお、ｉＳＣＳＩを利用する場合、このディスクコントローラ２１は、ターゲットとして動作する。
【００２５】
通信部２３は、ディスクアレイ１０との間で情報を授受する。この通信部２３についても、ディスクアレイ１０の通信部１３と同様、その具体的構成は、ディスクアレイ１０とスペアデバイス２とがどのように配置されているかにより、適宜ＵＳＢインタフェースやネットワークインタフェースなどとすることができる。
【００２６】
ここでデータアレイ１０のディスクコントローラ１１、並びにスペアデバイス２のディスクコントローラ２１の動作について説明する。各データアレイ１０のディスクコントローラ１１は、機能的には、図２に例示するように、データ処理部３１と、故障検出部３２と、問い合わせ部３３と、マウント制御部３４と、ＲＡＩＤ再構成部３５とを含んで構成される。また、ディスクコントローラ２１は、図３に例示するように、機能的には、問い合わせ受入部３６と、検索部３７と、情報提供部３８と、データ処理部３９とを含んで構成される。
【００２７】
各データアレイ１０のディスクコントローラ１１のデータ処理部３１は、利用者からの指示に従い、ＲＡＩＤに構成したディスクドライブ１２ａ，ｂ，…，ｎに対してアクセスし、データの読み出し・書き込みを実行する。
【００２８】
故障検出部３２は、データ処理部３１によるディスクドライブ１２へのデータ書き込み、あるいはディスクドライブ１２からのデータ読み出しの成否を調べる。故障検出部３２は、いずれかのディスクドライブ１２との間でのデータ書き込みあるいはデータの読み出しに失敗したことを検出すると、当該データ書き込みあるいはデータの読み出しに失敗したディスクドライブ１２について、当該ディスクドライブ１２が故障したことを表す情報（故障報知情報）を出力する。またこのとき故障検出部３２は、図示しないブザーを鳴動し、あるいはＬＥＤデバイスを明滅させるなどして利用者に対して故障を報知することとしてもよい。
【００２９】
問い合わせ部３３は、故障検出部３２が故障報知情報を出力すると、当該故障報知情報を参照して故障したディスクドライブ１２を故障ドライブとして特定する。問い合わせ部３３は、故障ドライブの容量を表す情報を取得する。一例として問い合わせ部３３は、故障ドライブに対して構成情報を問い合わせる信号を送信する。故障ドライブ側が、この信号に応答してセクタサイズと最大セクタアドレスとを含んだ情報を送信すると、問い合わせ部３３はこの情報を故障ドライブから受け入れて、これらから故障ドライブの容量を演算して取得できる。
【００３０】
問い合わせ部３３は、そして、通信部１３を介してスペアデバイス２に対して、この取得した故障ドライブの容量の情報とともに、未使用のディスクドライブ２２の有無の問い合わせを送出する。ここでスペアデバイス２のネットワークアドレスやＵＳＢのアドレス等は予め設定されているものとする。
【００３１】
問い合わせ部３３は、スペアデバイス２から要求した容量を備え、未使用であるとの条件を満足するディスクドライブ２２（以下スペアドライブと呼ぶ）に関する情報が受信されると、当該受信した情報をマウント制御部３４に出力する。この情報は具体的には、スペアドライブのマウントに必要な情報であり、ｉＳＣＳＩを利用する場合は、スペアデバイス２（ターゲット）側の登録ノードであるスペアドライブを特定する情報に相当する。
【００３２】
なお、問い合わせ部３３は、スペアデバイス２から予め定めた時間内に応答がないか、または要求した容量を備え、未使用であるスペアドライブに関する情報が受信されない場合は、さらに図示しないブザーを鳴動し、あるいはＬＥＤデバイスを明滅させるなどして利用者に対してスペアドライブがないことを報知する。
【００３３】
マウント制御部３４は、スペアドライブのマウントに必要な情報を受け入れると、当該情報を利用して、スペアデバイス２上のスペアドライブをマウントする。一例としてｉＳＣＳＩを利用し、マウントに必要な情報としてスペアドライブの登録ノードを特定する情報が入力された場合、マウント制御部３４は、当該登録ノードをマウントする処理を実行する。
【００３４】
ＲＡＩＤ再構成部３５は、故障ドライブの代替としてスペアドライブを利用し、故障ドライブに記録されている情報をスペアドライブ内に再現して書き込む。一例として当初ディスクドライブ１２ａ，ｂ，ｃ，ｄの４台でＲＡＩＤ５による運用を行っているとする。この状態では図４に例示するように、ディスクドライブ１２ａにはデータブロックＡ、Ｄ、Ｇが記録され、ディスクドライブ１２ｂにはデータブロックＢ、Ｅ及びデータブロックＧ，Ｈ，Ｉに係るパリティＰ3が記録され…といったようにデータが保持された状態にある。ここでディスクドライブ１２ｂが故障して故障ドライブとなった場合、ＲＡＩＤ再構成部３５は、ディスクドライブ１２ａ，ｃ，ｄに格納されているデータブロックＡ、Ｃ及びパリティＰ1よりデータブロックＢのデータを再現してスペアドライブとしてマウントされているスペアデバイスのディスクドライブ２２に格納する。また、ＲＡＩＤ再構成部３５は、故障ドライブに格納されていたデータブロックＥやパリティＰ3についても、他のディスクドライブ１２ａ，ｃ，ｄに格納されている情報から再現して、このマウントされたスペアドライブに格納していく。
【００３５】
これにより、ＲＡＩＤ再構成部３５は、ディスクドライブ１２ａ，ｃ，ｄ及びスペアドライブによるＲＡＩＤ５を構成する。以下、ディスクコントローラ１１は、利用者がディスクドライブ１２ｂを修理するか、これを新たなディスクドライブに置き換えるなどして、当該データアレイ１０内の故障ドライブが正常な状態に戻るまで、ディスクドライブ１２ａ，ｃ，ｄ及びスペアドライブによるＲＡＩＤ５での運用を継続する。
【００３６】
またディスクコントローラ１１は、利用者がディスクドライブ１２ｂを修理するか、これを別のディスクドライブに置き換えるなどして、当該データアレイ１０内の故障ドライブを、正常な状態に戻したことを検出すると（利用者が復帰のボタンを押下したことを検出することとしてもよい）、スペアドライブ内のデータを、正常な状態に戻ったディスクドライブ１２（先の例ではディスクドライブ１２ｂ）に複写し、スペアドライブをアンマウントする。そしてディスクコントローラ１１は、以下、データアレイ１０内のディスクドライブ１２によるＲＡＩＤ構成に戻して、データの書き込み・読み出し処理を継続する。
【００３７】
また、利用者は保守点検等の際に、スペアデバイス２からスペアドライブとなっているディスクドライブ２２を引き抜いて、物理的にデータアレイ１０の故障ドライブに置き換えることで運用を継続することとしてもよい。この場合、スペアデバイス２側のディスクコントローラ２１は、アンマウント時にもディスクドライブ２２をフォーマットしないように設定しておく。
【００３８】
この場合は、ディスクコントローラ１１は、正常な状態に戻したことを検出すると（利用者が復帰のボタンを押下したことを検出することとしてもよい）、スペアドライブとなっているディスクドライブ２２をそのまま、故障したディスクドライブ１２ｂの代替として（新たなディスクドライブ１２ｂとして）利用し、データアレイ１０内のディスクドライブ１２ａ，ｂ，ｃ，ｄによるＲＡＩＤ構成に戻して、データの書き込み・読み出し処理を継続する。
【００３９】
一方、スペアデバイス２側のディスクコントローラ２１の問い合わせ受入部３６は、データアレイ１０のいずれかから、例えば故障ドライブと同じ容量、かつ現在使用されていない、といった条件を満足するディスクドライブ２２の有無の問い合わせを通信部２３を介して受け入れる。そして問い合わせ受入部３６は、当該受け入れた問い合わせに含まれる条件を、検索部３７に出力する。
【００４０】
検索部３７は、条件に係る情報を受け入れる。そしてスペアデバイス２内のディスクドライブ２２のうち、受け入れた条件を満足するディスクドライブ２２を検索する。一例として、ここでの条件には、故障ドライブの容量に関する情報が含まれるので、検索部３７は、当該情報の表す容量と同じ容量のディスクドライブ２２であって、現在利用されていない（どこからもマウントされていない）ディスクドライブ２２を検索する。検索部３７は、受け入れた条件を満足するディスクドライブ２２を見出したならば、当該見出したディスクドライブ２２を特定する情報を情報提供部３８に出力する。また検索部３７は、受け入れた条件を満足するディスクドライブ２２を見出すことができなければ、エラーとして処理を終了してもよい。
【００４１】
情報提供部３８は、検索部３７から、検索部３７により見出されたディスクドライブ２２を特定する情報を受け入れる。そして情報提供部３８は、この情報で特定されるディスクドライブ２２を、データアレイ１０側でマウントするために必要な情報を生成する。情報提供部３８は、問い合わせ受入部３６にて受け入れた問い合わせの送信元であるデータアレイ１０宛に、当該生成した情報を送出する。
【００４２】
例えば、ｉＳＣＳＩを利用している場合、情報提供部３８は、検索部３７により見出されたディスクドライブ２２をターゲットとして定義する。この定義の際、情報提供部３８は、当該ディスクドライブ２２について固有の名称（target name）を設定する。そしてこの設定した名称を、マウントに必要な情報として、問い合わせの送信元であるデータアレイ１０宛に送出する。なお、アクセスコントロールリストへの登録等その他の必要な設定は行っておくものとする。
【００４３】
データ処理部３９は、ディスクドライブ２２のマウント先となっているデータアレイ１０から受信するデータの読み出し・書き込みの指示に従い、ディスクドライブ２２に対してアクセスして、データの読み出し・書き込みを実行する。
【００４４】
また、このデータ処理部３９は、ディスクドライブ２２がデータアレイ１０からアンマウントされると、当該アンマウントされたディスクドライブ２２をフォーマットして、未使用の状態としてもよい。
【００４５】
本実施の形態のディスクシステムは、以上の構成を備えてなり、次のように動作する。具体的に以下の例では、ディスクシステムに含まれるＮ台のデータアレイ１０は、ラックマウントタイプの装置であるとする。そしてこのデータアレイ１０をＮ台配したラックが組まれているものとする。また、以下の例では、スペアデバイス２もまた、データアレイ１０と同じ構成を備えた装置であり、データアレイ１０とともに同じラックに組み込まれ、ＵＳＢやネットワーク等の通信手段により接続されているものとする。
【００４６】
またここでは、一部のデータアレイ１０では内蔵するディスクドライブ１２の数は４台であり、容量はいずれも１ＴＢであるとし、その他のデータアレイ１０では内蔵されるディスクドライブ１２の数は４台であり、容量は２ＴＢであるとする。そしてスペアデバイス２には、ディスクドライブ２２ａ，ｂの２台が１ＴＢの容量であり、ディスクドライブ２２ｃ，ｄの２台が２ＴＢの容量を有し、いずれも当初は未使用であるものとする。さらに、以下の例では、各データアレイ１０ではＲＡＩＤ５が構成されているものとする。
【００４７】
図５に示すように、当初は、各データアレイ１０のディスクコントローラ１１は、利用者からの指示に従い、ＲＡＩＤに構成したディスクドライブ１２ａ，ｂ，ｃ，ｄに対してアクセスし、データの読み出し・書き込みを実行している（Ｓ１）。
【００４８】
ここで、データアレイ１０（ディスク容量１ＴＢとする）の一つにおいて、ディスクドライブ１２ｂが故障すると、当該データアレイ１０のディスクコントローラ１１がこのディスクドライブ１２ｂ（故障ドライブ）へのアクセス障害を検出し（Ｓ２）、故障報知情報を出力する（Ｓ３）。ディスクコントローラ１１は、故障ドライブの容量を表す情報を取得する（Ｓ４）。ここでの例ではディスクコントローラ１１は「１ＴＢ」の情報を取得することとなる。
【００４９】
ディスクコントローラ１１は、通信部１３を介して、スペアデバイス２に対して、この取得した故障ドライブの容量の情報（「１ＴＢ」）とともに、未使用のディスクドライブ２２の有無の問い合わせを送出する（Ｓ５）。
【００５０】
スペアデバイス２側のディスクコントローラ２１では、当該故障ドライブを含むデータアレイ１０から、故障ドライブの容量を表す情報とともに、当該容量と同じ容量を有し、かつ現在使用されていない、といった条件を満足するディスクドライブ２２の有無の問い合わせを、通信部２３を介して受け入れる。
【００５１】
スペアデバイス２のディスクコントローラ２１は、内蔵するディスクドライブ２２のうち、受け入れた条件を満足するディスクドライブ２２を検索する（Ｓ６）。ここでの例では、１ＴＢの未使用ディスクを検索することとなっているので、ディスクコントローラ２１は、ディスクドライブ２２ａを見出す。
【００５２】
ディスクコントローラ２１は、この見出したディスクドライブ２２ａを、データアレイ１０側でマウントするために必要な情報を生成する（Ｓ７）。具体的に、ディスクコントローラ２１は、ディスクドライブ２２ａをｉＳＣＳＩでマウントさせるために、ターゲットとしての定義を行い、例えばspare_1tb.no1.com.foo.barといった名称を設定する。そしてディスクコントローラ２１は、この設定した名称など、マウントに必要な情報を、問い合わせの送信元であるデータアレイ１０側へ送出する（Ｓ８）。なお、アクセスコントロールリストへの登録等その他の必要な設定は別途行っておく。
【００５３】
故障ドライブを含むデータアレイ１０のディスクコントローラ１１は、マウントに必要な情報が受信されると、当該情報で表されるターゲットのディスクドライブ２２ａをスペアドライブとしてマウントする処理を実行する（Ｓ９）。具体的に上述のように、ディスクコントローラ２１側で定義されたターゲットの名称を用いて、ディスクコントローラ１１は、ｉＳＣＳＩのイニシエータ側の処理としてこの名称のターゲット（登録ノード）に対してログインの処理を実行する。
【００５４】
ディスクコントローラ１１は、故障ドライブの代替としてスペアドライブを利用し、故障ドライブに記録されている情報をスペアドライブ内に再現して書き込んでＲＡＩＤ５を再構成する（Ｓ１０）。このとき、スペアドライブに対する書き込みや、スペアドライブ内のデータの読み出しは、通信部１３及び通信部２３を介して、スペアデバイス２側のディスクコントローラ２１に指示を行うことによって達成される。すなわちディスクコントローラ２１は、マウント先となっているデータアレイ１０から受信するデータの読み出し・書き込みの指示に従い、ディスクドライブ２２に対してアクセスして、データの読み出し・書き込みを実行することとなる。
【００５５】
これによりデータアレイ１０側では、ＲＡＩＤ構成を維持して運用を継続することが可能となる。また、データアレイ１０のそれぞれに１台ずつのスペアを設ける場合に比べ、本実施の形態では故障率に応じてスペアデバイス２を適宜設ければよいので、ディスクドライブの利用効率も向上できる。
【００５６】
なお、ここでの例では、スペアデバイス２が内蔵するディスクドライブ２２のうち、例えば受け入れた条件を満足するディスクドライブ２２が複数ある場合等に、ディスクコントローラ２１がどのディスクドライブ２２をスペアドライブとするかを選択する方法については特に定めておらず、条件を満足するならば、何番目のディスクドライブ２２がスペアドライブとなってもよいが、次のようにしてもよい。
【００５７】
すなわち、故障ドライブを含むデータアレイ１０のディスクコントローラ１１は、問い合わせの際に、故障ドライブがデータアレイ１０内のディスクドライブ１２のうち、何番目のディスクドライブであるかを表す情報（ディスク順序情報）を、スペアデバイス２側に伝達する。スペアデバイス２では、問い合わせに係る条件を満足するディスクドライブ２２を検索するとともに、検索によって見出したディスクドライブ２２のうちに、伝達されたディスク順序情報によって表される位置にあるディスクドライブがあるか否かを判断し、そのようなディスクドライブがあれば、他に条件を満足するディスクドライブがあっても、当該伝達されたディスク順序情報によって表される位置にあるディスクドライブをマウントさせるための情報をデータアレイ１０側へ送出することとしてもよい。
【００５８】
このようにしておくと、仮に、スペアデバイス２からスペアドライブとなっているディスクドライブ２２を引き抜いて、物理的にデータアレイ１０の故障ドライブに置き換えることで運用を継続する場合（既に述べたように、この場合はアンマウント時にもディスクドライブ２２をフォーマットしないように設定しておく）、引き抜くディスクドライブ２２の位置が、置き換えの対象となる故障ドライブの位置と可能な限り同じになるので、利用者にとって作業がわかりやすくなる利点がある。
【００５９】
さらに本実施の形態の一例では、既に述べたように、インターネット等のネットワーク通信回線を介してデータアレイ１０と、スペアデバイス２とが通信可能に接続されていてもよい。このようにスペアデバイス２を遠隔に配することが可能な場合、スペアデバイス２として機能する装置を複数配して、スペアデバイス２を利用させるサービスを提供することとしてもよい。
【００６０】
このように遠隔に配される場合は、スペアデバイス２側では、スペアドライブとなるディスクドライブ２２を２台以上用い、データの書き込みをミラーリングしてもよい。つまり、この場合は、図５のステップＳ６において、スペアデバイス２のディスクコントローラ２１は、内蔵するディスクドライブ２２のうち、受け入れた条件を満足するディスクドライブ２２を複数台検索する。
【００６１】
先の例では、１ＴＢの未使用ディスクを検索することとなっているので、ディスクコントローラ２１は、ディスクドライブ２２ａとディスクドライブ２２ｂとを見出すことになる。
【００６２】
そしてステップＳ７においてディスクコントローラ２１は、この見出したディスクドライブ２２ａ，ｂをミラーリングで使用するため、ディスクドライブ２２ａまたは２２ｂと同じ容量の論理ディスクドライブを形成し、この論理ディスクドライブを、データアレイ１０側でマウントするために必要な情報を生成する。論理ディスクドライブの形成等については広く知られているので、ここでの詳しい説明を省略する。
【００６３】
データアレイ１０側のディスクコントローラ１１が、故障ドライブの代替としてこの論理ディスクドライブをスペアドライブとしてマウントすると、以降、当該スペアドライブに対するデータの書き込みの指示に従い、ディスクコントローラ２１がディスクドライブ２２ａ，ｂに対して同じデータの書き込みを実行することとなる（ミラーリング）。
【００６４】
その後、運用を一時的に停止できるようになった段階で、ディスクコントローラ２１に対してミラーリングの制御を停止するように指示する。この指示に従ってディスクコントローラ２１がミラーリングの制御を停止すると、スペアデバイス２の管理者は、いずれか一方のディスクドライブ２２をスペアデバイス２から取り外して、故障ドライブを含んだデータアレイ１０の利用者側へ配送する。利用者側では当該配送したディスクドライブ２２を故障ドライブに置き換えてデータアレイ１０に装着し、運用を継続する。
【００６５】
なお、運用の停止中（ディスクドライブ２２の配送中）に、運用の必要が生じた場合は、先の論理ディスクドライブを、データアレイ１０側でマウントして運用を継続する。するとディスクコントローラ２１はミラーリングの制御を停止しているので、データアレイ１０側からのスペアドライブに対するデータの書き込み指示に従い、取り外されていないディスクドライブ２２（例えばディスクドライブ２２ａ）に対してデータを書き込むこととなる。またディスクコントローラ２１は、データアレイ１０側からのスペアドライブに対するデータの読み出し指示に従い、当該書き込み先となったディスクドライブ２２（この例ではディスクドライブ２２ａ）からデータを読み出して、データアレイ１０へ送信する。
【００６６】
この場合、利用者側では、当該配送されたディスクドライブ２２ｂを故障ドライブに置き換えてデータアレイ１０に装着したのち、マウントしているスペアドライブからリストアする。つまり、ディスクドライブ２２ａから配送されたディスクドライブ２２ｂへとデータをリストアする。このように、本実施の形態では、利用者側での運用の継続を容易にできる。
【００６７】
さらに本実施の形態のスペアデバイス２は、図６に例示するように、ディスクドライブ２２ごとに対応する液晶ディスプレイ等の表示部２４を備えてもよい。この表示部２４は、ディスクコントローラ２１から入力される指示に従って情報を表示する。本実施の形態のある例では、ディスクコントローラ２１は、データアレイ１０からマウントされたディスクドライブ２２に対応する表示部２４に、マウントに関する情報を表示する。
【００６８】
ここでマウントに関する情報は、例えばデータアレイ１０を特定する情報（データアレイ１０ごとに予め設定された識別情報や、ＩＰアドレス等のアドレス情報であってもよい）や、マウント先のディスクドライブの番号（故障ドライブの位置を表す情報に相当する）を含む。この表示は例えば、「データアレイ＃８ドライブ＃３、ＲＡＩＤ構成中」などといったものとなる。
【００６９】
またここまでの説明では、通信部１３及び通信部２３は、データアレイ１０からスペアデバイス２に対するスペアドライブとなり得るディスクドライブ２２の有無に関する問い合わせやそれに対する応答等ディスクドライブ２２に関する制御情報と、ディスクドライブ２２に書き込み、またはディスクドライブ２２から読み出されるデータとの通信経路は特に分離していなかったが、これらの通信経路を個別に設けてもよい。
【００７０】
例えば通信部１３及び通信部２３はいずれも、第１、第２の２つのＵＳＢポートを備えて、制御情報通信手段となる第１のＵＳＢポートを介して制御情報を授受し、データ通信手段となる第２のＵＳＢポートを介してデータを授受するようにしてもよい。また、通信部１３及び通信部２３がネットワークインタフェースである場合も同様に、第１、第２の２つのネットワークインタフェースを備えて、制御情報通信手段となる第１のネットワークインタフェースを介して制御情報を授受し、データ通信手段となる第２のネットワークインタフェースを介してデータを授受するようにしてもよい。
【００７１】
本実施の形態によると、容量の異なるディスクドライブが混在する現実的な運用環境にあっても、スペアとなるディスクドライブとして適切な、故障ドライブと容量の同じディスクドライブを選択して使用することとなり、利用可能性（可用性）を向上できる。
【符号の説明】
【００７２】
１  データ保持装置、２  スペアデバイス、１０  データアレイ、１１，２１  ディスクコントローラ、１２，２２  ディスクドライブ、１３，２３  通信部、２４  表示部、３１，３９  データ処理部、３２  故障検出部、３３  問い合わせ部、３４  マウント制御部、３５  ＲＡＩＤ再構成部、３６  問い合わせ受入部、３７  検索部、３８  情報提供部、３９  データ処理部。
【図１】
2013117922.tif 000003
【図２】
2013117922.tif 000004
【図３】
2013117922.tif 000005
【図４】
2013117922.tif 000006
【図５】
2013117922.tif 000007
【図６】
2013117922.tif 000008
【図７】
2013117922.tif 000009