説明

ストレージクラスタシステム、データ処理方法、及びプログラム

【課題】効率的にルーティングするストレージクラスタシステムを実現する。
【解決手段】複数のストレージ装置12からなるストレージクラスタと、このストレージクラスタに第一の通信ネットワーク11によって接続されたホスト装置18とを備えたストレージクラスタシステムにおいて、各ストレージ装置12(#A,#B,#C)は、ホスト装置18から論理的にアクセスされることが可能な領域が分割されてなる複数のアクセス可能領域と、複数のアクセス可能領域のうち、ストレージ装置12が物理的に管理している領域である物理アクセス可能領域にアクセスするためのコントローラ14と、コントローラ14によって参照され、このコントローラ14が備えられているストレージ装置12から他のストレージ装置12へのアクセス優先順位を定義した優先順位情報とを備えている。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数のストレージ装置がネットワーク結合し、同一の論理ボリュームに対して、ホスト装置から複数のストレージ装置を経由してアクセスすることができるストレージクラスタシステム、このストレージクラスタシステムにおけるデータ処理方法、及びこのデータ処理方法を実現するプログラムに関する。
【背景技術】
【0002】
従来、複数のストレージ装置からなるストレージクラスタと、ストレージクラスタに通信ネットワークによって接続されたホスト装置とを備えたストレージクラスタシステムでは、ホスト装置がアクセスを行う、ストレージ装置の論理ボリュームと、その論理ボリュームを構成する1台以上のHDD等などから構成される物理記憶媒体との対応関係は固定的である。したがって、データを保持したまま対応関係を変更することはできず、例えば、ある物理デバイスにアクセスが集中し、他の別の物理デバイスにアクセスがほとんど発生していないといった、ストレージクラスタシステム内のHDD等の記憶デバイスを有効利用できていないという状況が発生しうる。
【0003】
特に、近年のディスクアレイサブシステムの規模の増大と、HDD単体の記憶容量の増加により、上記のようなアクセスの偏りの発生頻度は高まり、今後、その傾向はさらに顕著になっていくと考えられる。このような背景の下、例えば、非特許文献1に示されてるように、ディスクアレイサブシステム内の物理記憶リソースをある一定サイズの領域(エクステント)に区切り、それら1つ以上の組み合わせと論理ボリュームとの対応関係を動的に管理し、エクステント間のデータコピーを行うことによって、データを保持したまま、データの物理的存在位置を変更すること(これを、「エクステントマイグレーション」と呼ぶ)を可能とする、ディスクアレイサブシステムの仮想化技術の必要性が高まり、実用化されてきている。
【0004】
このような仮想化ディスクアレイサブシステムにおいても、ホスト装置からのアクセス手段としては、従来のSCSI仕様に基づく、論理ディスク番号(LUN:Logical Unit Number)と論理ブロックアドレス(LBA:Logical Block Address)との二つを用い、ディスクアレイサブシステム側でそれら指定されたLUNとLBAとの組み合わせが示す物理媒体の位置にホスト装置からのデータをライトしたり、ホスト装置へデータを送信(リード)を行う必要があり、ある論理ボリューム内をエクステントサイズで区切った、エクステントサイズ単位の論理ボリュームの一部を論理エクステントと呼ぶことにすると、論理エクステントと実際の記憶領域(以下「物理エクステント」と称する)との対応関係を示すテーブル(以下「論理−物理エクステントマッピングテーブル」と称する)を保持する必要がある。
【非特許文献1】http://www.linux.or.jp/JF/JFdocs/LVM-HOWTO-3.html
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかしながら、上記のような仮想化ディスクアレイサブシステム複数をネットワークで結合し、任意の物理エクステントに対して、ネットワーク結合された任意のディスクアレイ装置からのアクセスを可能とする、容量及び性能に関してスケーラブルな拡張性を備えたストレージクラスタシステム(以下「仮想化ストレージクラスタシステム」と称する)を考える場合、上述の論理−物理エクステントマッピングテーブルは、ネットワーク結合された他のディスクアレイ装置についてもルーティング転送用に保持する必要があり、他装置へのルーティング情報は、ストレージクラスタに参加する装置数に比例して増加し、テーブル検索時間の増加、テーブル保持用記憶領域の増加とともに、エクステントマイグレーション時の構成変更がストレージクラスタ全体に影響を及ぼす、といった問題が生じる。
【0006】
本発明はこのような事情に鑑みてなされたものであり、ストレージクラスタに参加するストレージ装置の数に比例してルーティング情報が増加することを回避し、テーブル検索時間の増加と、テーブル保持用記憶領域の増加とを抑制するとともに、エクステントマイグレーション時の構成変更も必要に応じて自動的に行い、もって、効率的なルーティングを実現することが可能なストレージクラスタシステム、データ処理方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
上記の目的を達成するために、本発明では、以下のような手段を講じる。
【0008】
すなわち、本発明の第1の局面は、複数のストレージ装置からなるストレージクラスタと、ストレージクラスタに第一の通信ネットワークによって接続されたホスト装置とを備えたストレージクラスタシステムに適用されるデータ処理方法、このデータ処理方法を適用したストレージクラスタシステム、及びこのデータ処理方法を実現するプログラムである。
【0009】
ここで、各ストレージ装置は、ホスト装置から論理的にアクセスされることが可能な領域が分割されてなる複数のアクセス可能領域と、複数のアクセス可能領域のうち、ストレージ装置が物理的に管理している領域である物理アクセス可能領域にアクセスするためのコントローラと、コントローラによって参照され、このコントローラが備えられたストレージ装置からの他のストレージ装置へのアクセス優先順位を定義した優先順位情報とを備えている。
【0010】
また、各ストレージ装置のコントローラ同士を第二の通信ネットワークによって接続することによって、各ストレージ装置が、コントローラを介して、他のストレージ装置の物理アクセス可能領域にアクセスできるようにしている。
【0011】
そして、自己のストレージ装置に存在しない物理アクセス可能領域に対する、ホスト装置からの処理要求が送られてきた場合には、自己のストレージ装置のコントローラは、優先順位情報で定義された優先順位に従って、処理要求が既に送られたストレージ装置を除いて最も優先順位が高いストレージ装置のコントローラに処理要求を送り、自己のストレージ装置に存在する物理アクセス可能領域に対する、ホスト装置からの処理要求が送られてきた場合には、自己のストレージ装置のコントローラは、処理要求に対応する処理を行い、この処理結果を、処理要求の送り元に送り、他のストレージ装置のコントローラから処理結果が送られてきた場合には、自己のストレージ装置のコントローラは、この処理結果に対応する処理要求を自己のストレージ装置に送った送り元に、処理結果を送ることによって、処理結果を、ホスト装置からの処理要求を受けたストレージ装置に送り、このストレージ装置は、送られた処理結果をホスト装置に送る。
【0012】
また、本発明の第2の局面は、複数のストレージ装置からなるストレージクラスタと、ストレージクラスタに第一の通信ネットワークによって接続されたホスト装置とを備えたストレージクラスタシステムに適用されるデータ処理方法、このデータ処理方法を適用したストレージクラスタシステム、及びこのデータ処理方法を実現するプログラムである。
【0013】
ここで、各ストレージ装置は、ホスト装置から論理的にアクセスされることが可能な領域が分割されてなる複数のアクセス可能領域と、複数のアクセス可能領域のうち、ストレージ装置が物理的に管理している領域である物理アクセス可能領域にアクセスするためのコントローラと、コントローラによって参照され、このコントローラが備えられたストレージ装置からの他のストレージ装置へのアクセス優先順位を定義した優先順位情報とを備えている。
【0014】
また、各ストレージ装置のコントローラ同士を第二の通信ネットワークによって接続することによって、各ストレージ装置が、コントローラを介して、他のストレージ装置の物理アクセス可能領域にアクセスできるようにしている。
【0015】
そして、ホスト装置から、自己に存在しない物理アクセス可能領域に対する処理要求が送られてきたストレージ装置は、処理要求から、処理要求に対応した特有のコマンドコードを取得するとともに、自己のストレージ装置の識別子を含むビットマップデータと、ホスト装置の識別子とをコマンドコード内に含め、ビットマップデータにおいて、自己のストレージ装置の識別子に対応するビット位置にビットを立て、コマンドコードを、優先順位情報に従って、処理要求が既に送られたストレージ装置を除いて最も優先順位が高いストレージ装置に送り、複数のストレージ装置のうちの何れかからコマンドコードが送られたストレージ装置のうち、このコマンドコードに対応する処理要求が、自己に存在しない物理アクセス可能領域に対する処理要求であるストレージ装置は、このコマンドコードに含まれるビットマップデータにおいて、自己の識別子に対応するビット位置にビットを立て、このコマンドコードを、優先順位情報に従って、処理要求が既に送られたストレージ装置を除いて最も優先順位が高いストレージ装置に送り、送られてきたコマンドコードに対応する処理要求が、自己に存在する物理アクセス可能領域に対する処理要求であるストレージ装置であって、送られてきたコマンドコード内にビットマップデータが含まれていない場合には、このストレージ装置は、コマンドコードに対応する処理要求に対応する処理を行い、処理結果をホスト装置に送り、送られてきたコマンドコード内にビットマップデータが含まれ、何れか一つのビット位置のビットが立てられている場合には、このストレージ装置は、コマンドコードに対応する処理要求に対応する処理を行い、処理結果を、このビットが立てられたビット位置に対応する識別子のストレージ装置に送り、送られてきたコマンドコード内にビットマップデータが含まれ、複数のビット位置のビットが立てられている場合には、このストレージ装置は、コマンドコードに対応する処理要求に対応する処理を行うとともに、ホスト装置から直接処理要求を受けたストレージ装置に対する応答を作成し、作成した応答を、ビットが立てられたビット位置に対応する識別子のストレージ装置を経由して、ホスト装置からの処理要求を受けたストレージ装置に送り、応答が送られたストレージ装置は、応答を作成したストレージ装置に対して、処理結果を送るように要求し、要求されたストレージ装置が、この処理結果を、要求元のストレージ装置に送ることによって、何れのストレージ装置においてなされた処理結果も、ホスト装置から直接処理要求を受けたストレージ装置に送られるようにしている。そして、ホスト装置から直接処理要求を受けたストレージ装置は、この処理結果をホスト装置に送る。
【0016】
本発明の第3の局面は、本発明の第1又は第2の局面において、優先順位情報で定義された優先順位に従って他のストレージ装置のコントローラに処理要求を送った場合であって、この送り先のコントローラが処理要求を受け付けない場合、このコントローラからエラー応答が戻された場合、又はこのコントローラから所定時間応答が無い場合には、処理要求が既に送られたストレージ装置を除いて、次に優先順位が高いストレージ装置のコントローラに処理要求を送り直す。
【0017】
本発明の第3の局面は、本発明の第1又は第2の局面において、複数のストレージ装置のうち、ホスト装置からアクセスされたストレージ装置は、各ストレージ装置が保持する物理アクセス可能領域の情報をホスト装置に通知し、ホスト装置は、通知された情報と、処理要求の内容とに基づいて、処理要求を送るストレージ装置を切り替える。
【0018】
本発明の第4の局面は、本発明の第1又は第2の局面において、各ストレージ装置が備えている複数のアクセス可能領域のうちの一つ、又は二つ以上の組み合わせから構成され、ホスト装置から認識可能な論理ボリュームの容量情報と、論理ボリュームへのアクセスが許可されたホスト装置を特定するホスト識別番号と、ホスト装置からアクセスされる物理アクセス可能領域を特定する物理アクセス可能領域識別番号との組み合わせを管理するデータテーブルを、ストレージクラスタの全てのストレージ装置に備えている。そして、論理ボリュームを構成するアクセス可能領域のうち、物理アクセス可能領域と、ホスト装置によって認識される領域である論理アクセス可能領域との対応関係を、この物理アクセス可能領域が存在するストレージ装置のみが保持し、ホスト装置から送られてきた処理要求のうち、ライト命令及びリード命令を含むメディアアクセス命令以外の処理要求に対しては、ホスト装置からアクセスされたストレージ装置がホスト装置に対して処理結果を送る。
【0019】
本発明の第5の局面は、本発明の第1又は第2の局面において、ストレージクラスタの管理を行う管理コンソールを更に備えている。そして、管理コンソールは、各ストレージ装置のうち任意のストレージ装置に対して、各ストレージ装置の情報とストレージクラスタの構築要求とを送信し、送信先のストレージ装置を、ストレージクラスタの構築処理に関してマスタの役割をする構築マスタとする。この構築マスタは、管理コンソールから送信された情報に対応する各ストレージ装置に対してテストメッセージを送信し、テストメッセージを受信した各ストレージ装置は、テストメッセージに対する応答を構築マスタに返信し、構築マスタは、各ストレージ装置から返信された応答から、テストメッセージに対する各ストレージ装置の応答時間を計測し、各ストレージ装置を、応答時間の短い順に優先順位付けすることにより優先順位情報を作成するとともに、各ストレージ装置に対して、ストレージクラスタに含まれるストレージ装置のリストを送信し、構築マスタ以外の各ストレージ装置は、送信されたリストに従って、自己以外のストレージ装置に対して、テストメッセージを送信し、テストメッセージを受信した各ストレージ装置は、このテストメッセージに対する応答を送信元のストレージ装置に返信し、構築マスタ以外の各ストレージ装置は、返信された応答から、このテストメッセージに対する各ストレージ装置の応答時間を計測し、各ストレージ装置を、この応答時間の短い順に優先順位付けすることにより優先順位情報を作成し、構築マスタに対して優先順位情報の構築完了応答を返信し、構築マスタは、この構築完了応答を受信すると、管理コンソールに対して、優先順位情報の構築完了応答を返信することによって、ストレージクラスタの構築処理を行う。
【0020】
本発明の第6の局面は、本発明の第1又は第2の局面において、動作中のストレージクラスタに新たなストレージ装置を追加する追加処理を行う管理コンソールを更に備えている。そして、管理コンソールは、各ストレージ装置のうち任意のストレージ装置に対して、新たなストレージ装置の追加要求と、この新たなストレージ装置の情報とを送信し、送信先のストレージ装置を、ストレージ装置の追加処理に関してマスタの役割をする追加マスタとする。そして、追加マスタは、管理コンソールから情報が送信された新たなストレージ装置に対してテストメッセージを送信し、この送信されたテストメッセージに対して新たなストレージ装置からなされた応答を確認し、新たなストレージ装置のアクセス優先順位を最下位の優先順位として優先順位情報に追加するとともに、優先順位情報にアクセス優先順位が既に定義されているストレージ装置に対して、新たなストレージ装置がストレージクラスタに追加された旨のメッセージと、新たなストレージ装置の情報とを送信し、追加マスタ及び新たなストレージ装置以外のストレージ装置は、自己の優先順位情報の優先順位最下位に新たなストレージ装置を追加し、追加マスタへ追加完了応答を返信し、追加マスタは、新たなストレージ装置に対して、ストレージクラスタに含まれるストレージ装置のリストを送信し、新たなストレージ装置は、リストに従って、自己以外のストレージ装置に対してテストメッセージを送信し、テストメッセージを受信した各ストレージ装置は、このテストメッセージに対する応答を新たなストレージ装置に返信し、新たなストレージ装置は、返信された応答から、このテストメッセージに対する各ストレージ装置の応答時間を計測し、各ストレージ装置を応答時間の短い順に優先順位付けすることによって優先順位情報を作成し、追加マスタに対して、優先順位情報の構築完了応答を返信し、追加マスタは、この構築完了応答及び追加完了応答を受信すると、管理コンソールに対して、新たなストレージ装置の追加完了応答を返信することによって、新たなストレージ装置の追加処理を行う。
【発明の効果】
【0021】
本発明によれば、ストレージクラスタに参加するストレージ装置の数に比例してルーティング情報が増加することを回避し、テーブル検索時間の増加と、テーブル保持用記憶領域の増加とを抑制するとともに、エクステントマイグレーション時の構成変更も必要に応じて自動的に行い、もって、効率的なルーティングを実現することが可能なストレージクラスタシステム、データ処理方法、及びプログラムを実現することができる。
【発明を実施するための最良の形態】
【0022】
以下に、本発明を実施するための最良の形態について図面を参照しながら説明する。
【0023】
(第1の実施の形態)
図1は、本発明の第1の実施の形態に係るデータ処理方法を適用したストレージクラスタシステムの構成例を示すブロック図である。
【0024】
すなわち、本実施の形態に係るストレージクラスタシステム10は、ファイバチャネル又はiSCSI等によるストレージエリアネットワーク11によって互いに接続された複数のストレージ装置12(#A,#B,#C)と、同様にストレージエリアネットワーク11に接続されたホスト装置18とを備えてなる。複数のストレージ装置12(#A,#B,#C)をまとめてストレージクラスタとも称する。
【0025】
またストレージ装置12はそれぞれコントローラ14と、メモリやHDD等のハードウェアからなる物理記憶媒体16とを備えている。なお、ストレージ装置12は、代表的に3つのみ図示しているが、3つに限られるものではない。
【0026】
物理記憶媒体16は、例えば図2に示すように、複数のエクステントEXTに分割されている。エクステントとは、ホスト装置18から論理的に連続してアクセスされる領域の単位のことである。図2は、3つのエクステントEXT(#0,#1,#2)からなる例を示しているが、もちろん3つのエクステントに限定されるものではない。更にエクステントは、ホスト装置18から認識される論理エクステントと、ストレージ装置12が物理的に管理する物理エクステントとに分類される。
【0027】
コントローラ14は、物理エクステントにアクセスするためのものである。このコントローラ14は、自己が備えられているストレージ装置12から他のストレージ装置12へのアクセス優先順位を定義した優先順位付ルーティングテーブルを保持している。
【0028】
各ストレージ装置12は、このコントローラ14同士をストレージエリアネットワーク11によって接続している。これによって、各ストレージ装置12が、コントローラ14を介して、他のストレージ装置12の物理記憶媒体16の物理エクステントにアクセスできるようにしている。
【0029】
コントローラ14は、ホスト装置18から、ストレージクラスタを構成する何れかのストレージ装置12に対して処理要求コマンドが送られてきた場合、以下のように動作する。
【0030】
ホスト装置18から、例えばストレージ装置12(#A)に処理要求コマンドが送られ、この処理が、ストレージ装置12(#A)の物理記憶媒体16(#A)に存在する物理エクステントにアクセスを要するのであれば、コントローラ14(#A)は、この処理要求コマンドに対応する処理を行い、この処理結果を、処理要求の送り元であるホスト装置18に返送する。
【0031】
一方、ホスト装置18から、ストレージ装置12(#A)に処理要求コマンドが送られ、この処理が、ストレージ装置12(#A)の物理記憶媒体16(#A)に存在しない物理エクステントに対するアクセスを要するのであれば、コントローラ14(#A)は、優先順位付ルーティングテーブルに定義されたアクセス優先順位に従って、上流のストレージ装置、すなわちこの処理要求コマンドが既に送られたストレージ装置を除いて最も優先順位が高い自己の次に優先順位が高いストレージ装置12のコントローラ14に処理要求コマンドを転送する。例えば、ストレージ装置12(#A)では、優先順位付ルーティングテーブルにおいてストレージ装置12(#B)の優先順位が最も高く、かつストレージ装置12(#B)がストレージ装置12(#A)の下流側にあるのであれば、コントローラ14(#A)は、コントローラ14(#B)に処理要求コマンドを転送する。
【0032】
このように、コントローラ14(#A)から、コントローラ14(#B)に処理要求コマンドが送られ、この処理が、物理記憶媒体16(#B)に存在する物理エクステントにアクセスを要するのであれば、コントローラ14(#B)は、この処理要求コマンドに対応する処理を行い、この処理結果を、処理要求コマンドの送り元であるコントローラ14(#A)に返送する。このように、コントローラ14(#B)から、コントローラ14(#A)に処理結果が返送されると、コントローラ14(#A)は、この処理結果を、処理要求の送り元であるホスト装置18に返送する。
【0033】
一方、コントローラ14(#A)から、コントローラ14(#B)に処理要求コマンドが送られ、この処理が、物理記憶媒体16(#B)に存在しない物理エクステントに対するアクセスを要するのであれば、コントローラ14(#B)は、優先順位付ルーティングテーブルに定義されたアクセス優先順位に従って、上流のストレージ装置を除いて最も優先順位が高いストレージ装置12のコントローラ14に処理要求コマンドを転送する。例えば、上流のストレージ装置を除いて、ストレージ装置12(#B)の次に優先順位が高いのがストレージ装置12(#C)であれば、コントローラ14(#B)は、コントローラ14(#C)に処理要求コマンドを転送する。
【0034】
このように、コントローラ14(#B)から、コントローラ14(#C)に処理要求コマンドが送られ、この処理が、物理記憶媒体16(#C)に存在する物理エクステントにアクセスを要するのであれば、コントローラ14(#C)は、この処理要求コマンドに対応する処理を行い、この処理結果を、処理要求コマンドの送り元であるコントローラ14(#B)に返送する。このように、コントローラ14(#C)から、コントローラ14(#B)に処理結果が返送されると、コントローラ14(#B)は、この処理結果を、処理要求コマンドの送り元であるコントローラ14(#A)に返送する。更に、このように、コントローラ14(#B)から、コントローラ14(#A)に処理結果が返送されると、コントローラ14(#A)は、この処理結果を、処理要求コマンドの送り元であるホスト装置18に返送する。
【0035】
一方、コントローラ14(#B)から、コントローラ14(#C)に処理要求コマンドが送られ、この処理が、物理記憶媒体16(#C)に存在しない物理エクステントに対するアクセスを要するのであれば、コントローラ14(#C)は、優先順位付ルーティングテーブルに定義されたアクセス優先順位に従って、上流のストレージ装置を除いて最も優先順位が高いストレージ装置12のコントローラ14に処理要求コマンドを転送する。
【0036】
ホスト装置18が、ストレージクラスタのうちの何れかのストレージ装置12に処理要求コマンドを送った場合、各ストレージ装置12の各コントローラ14が上述したように動作することによって、処理に必要な物理エクステントを持つストレージ装置12であるターゲットストレージ装置から順番に、上流側のストレージ装置12との間でライト及びリード等のデータ転送がなされ、最終的にホスト装置18に処理結果が返送されるようにしている。
【0037】
なお、以上のように構成されたストレージクラスタシステム10は、例えば磁気ディスク(フロッピー(登録商標)ディスク、ハードディスク等)、光ディスク(CD−ROM、DVD等)、半導体メモリ等の記録媒体に記録されたプログラムや、インターネット等の通信ネットワークを介してダウンロードされたプログラムをホスト装置18及びストレージ装置12に読み込み、ホスト装置18及びストレージ装置12が、このプログラムによって動作が制御されることによって実現される。また、この記録媒体に記録されたプログラムは、コンピュータに実行させるソフトウェア手段(実行プログラムのみならずテーブルやデータ構造も含む)をホスト装置18及びストレージ装置12内に構成させる設定プログラムをも含む。このプログラムは、記録媒体から、あるいは通信媒体からコンピュータに読み込まれると、このコンピュータを上記のように動作させる。
【0038】
以上のように構成した本実施の形態に係るストレージクラスタシステムにおける処理要求コマンドのルーティングを簡単に示すと図3のようになる。
【0039】
すなわち、ストレージ装置12に対して、ホスト装置18又は上流のストレージ装置12からコマンド要求が送られた場合(S1)、コントローラ14は、この処理が、自己の物理記憶媒体16に存在しない物理エクステントに対するアクセスを要するのであれば(S2:No)、優先順位付ルーティングテーブルに定義されたアクセス優先順位に従って、上流のストレージ装置を除いて最も優先順位が高いストレージ装置12のコントローラ14に処理要求コマンドを転送する(S3)。
【0040】
一方、ステップS2において、この処理が、自己の物理記憶媒体16に存在する物理エクステントに対するアクセスを要するのであれば(S2:Yes)、自己の物理記憶媒体16へのアクセスを行い、この処理要求コマンドに対応する処理を行う(S4)。
【0041】
上述したように、本実施の形態に係るストレージクラスタシステムにおいては、上記のような作用により、ホスト装置18が、ストレージクラスタのうちの何れかのストレージ装置12に処理要求コマンドを送った場合、処理に必要な物理エクステントを持つストレージ装置12であるターゲットストレージ装置から順番に、上流側のストレージ装置12との間でライト及びリード等のデータ転送がなされ、最終的にホスト装置18に処理結果が返送される。
【0042】
これによって、ストレージクラスタに参加するストレージ装置12の数に比例してルーティング情報が増加することが回避され、テーブル検索時間の増加と、テーブル保持用記憶領域の増加とを抑制するとともに、エクステントマイグレーション時の構成変更も必要に応じて行うことができる。その結果、効率的なルーティングを実現することが可能となる。
【0043】
(第2の実施の形態)
本発明の第2の実施の形態を用いて説明する。
【0044】
本発明の第2の実施の形態に係るデータ処理方法を適用したストレージクラスタシステムは、第1の実施の形態に係るデータ処理方法を適用したストレージクラスタシステムの変形例であり、コントローラ14の動作が異なるのみである。よって、ここでは、コントローラ14の動作のみ説明し、その他については重複説明を避ける。
【0045】
コントローラ14は、物理エクステントにアクセスするためのものである。このコントローラ14は、このコントローラ14が備えられたストレージ装置12からの他のストレージ装置12へのアクセス優先順位を定義した優先順位付ルーティングテーブルを保持している。
【0046】
各ストレージ装置12は、このコントローラ14同士をストレージエリアネットワーク11によって接続している。これによって、各ストレージ装置12が、コントローラ14を介して、他のストレージ装置12の物理記憶媒体16の物理エクステントにアクセスする。
【0047】
コントローラ14は、ホスト装置18から、ストレージクラスタを構成する何れかのストレージ装置12に対して処理要求コマンドが送られてきた場合、以下のように動作する。
【0048】
ホスト装置18から、例えばストレージ装置12(#A)に処理要求コマンドが送られ、この処理が、ストレージ装置12(#A)の物理記憶媒体16(#A)に存在する物理エクステントにアクセスを要するのであれば、コントローラ14(#A)は、この処理要求コマンドに対応する処理を行い、この処理結果を、処理要求の送り元であるホスト装置18に返送する。
【0049】
一方、ホスト装置18から、ストレージ装置12(#A)に処理要求コマンドが送られ、この処理が、ストレージ装置12(#A)の物理記憶媒体16(#A)に存在しない物理エクステントに対するアクセスを要するのであれば、コントローラ14(#A)は、この処理要求コマンドから、この処理要求コマンドに対応した特有のコマンドであるベンダユニークコマンドコードを取得するとともに、自己のストレージ装置12(#A)の識別子を含むビットマップデータと、ホスト装置18の識別子とをベンダユニークコマンドコード内に含める。そして、このビットマップデータにおいて、自己のストレージ装置12(#A)の識別子に対応するビット位置にビットを立て、このベンダユニークコマンドコードを、優先順位付ルーティングテーブルに定義されたアクセス優先順位に従って、上流のストレージ装置を除いて最も優先順位が高いストレージ装置12のコントローラ14に転送する。例えば、ストレージ装置12(#A)の次に、上流のストレージ装置を除いて最も優先順位が高いのがストレージ装置12(#B)であれば、コントローラ14(#A)は、コントローラ14(#B)にベンダユニークコマンドコードを転送する。
【0050】
このようにコントローラ14(#A)から、コントローラ14(#B)にベンダユニークコマンドコードが送られ、対応する処理が、物理記憶媒体16(#B)に存在する物理エクステントにアクセスを要する場合であれば、コントローラ14(#B)は、この処理を行い、処理結果を、ベンダユニークコマンドデータにおいて立てられたビット位置に対応する識別子のストレージ装置12のコントローラ14、すなわちストレージ装置12(#A)のコントローラ14(#A)に返送する。このように、コントローラ14(#B)から、コントローラ14(#A)に処理結果が返送されると、コントローラ14(#A)は、この処理結果を、処理要求コマンドの送り元であるホスト装置18に返送する。
【0051】
一方、コントローラ14(#A)から、コントローラ14(#B)にベンダユニークコマンドコードが送られ、このベンダユニークコマンドコードに対応する処理が、物理記憶媒体16(#B)に存在しない物理エクステントに対するアクセスを要するのであれば、コントローラ14(#B)は、このベンダユニークコマンドコードに含まれるビットマップデータにおいて、自己の識別子に対するビット位置にビットを立て、このベンダユニークコマンドコードを、優先順位付ルーティングテーブルに定義されたアクセス優先順位に従って、上流のストレージ装置を除いて最も優先順位が高いストレージ装置12のコントローラ14に転送する。例えば、上流のストレージ装置を除いて、ストレージ装置12(#B)の次に優先順位が高いのがストレージ装置12(#C)であれば、コントローラ14(#B)は、コントローラ14(#C)にベンダユニークコマンドコードを転送する。
【0052】
このように、コントローラ14(#B)から、コントローラ14(#C)にベンダユニークコマンドコードが送られ、対応する処理が、物理記憶媒体16(#C)に存在する物理エクステントにアクセスを要するのであれば、コントローラ14(#C)は、対応する処理を行うとともに、ホスト装置18から直接処理要求を受けたストレージ装置であるストレージ装置12(#A)に対する応答を作成し、作成した応答を、ビットが立てられたビット位置に対応する識別子のストレージ装置であるストレージ装置12(#B)を経由して、ストレージ装置12(#A)に送る。
【0053】
ストレージ装置12(#A)では、コントローラ14(#A)がこの応答を受け取ると、ストレージ装置12(#C)のコントローラ14(#C)に対して、処理結果を送るように要求する。
【0054】
すると、コントローラ14(#C)は、この要求に応じて、処理結果を、ストレージ装置12(#A)のコントローラ14(#A)に送る。コントローラ14(#A)は、この処理結果を受け取ると、ホスト装置18に送る。
【0055】
このようにすることによって、何れのストレージ装置12(#A,#B,#C)においてなされた処理結果であっても、ホスト装置18から直接処理要求を受けたストレージ装置12(#A)を介してホスト装置18へ送られる。しかしながら、ストレージ装置12(#C)の例を用いて説明したように、ホスト装置18から直接処理要求を受けたストレージ装置12(#A)と、処理を行うストレージ装置12(#C)との間に、処理を行わないストレージ装置12(#B)が介在する場合(この場合、ストレージ装置12(#B)は「中間ストレージ装置」と称される)には、ストレージ装置12(#C)でなされた処理結果は、ストレージ装置12(#B)を経由することなく、ストレージ装置12(#A)に直接送る。これによって、データを最短経路で、効率的に伝送するようにしている。
【0056】
次に、以上のように構成した本実施の形態に係るストレージクラスタシステムの動作例を図4に示すフローチャートを用いて説明する。
【0057】
ホスト装置18から、ストレージ装置12(#A)に処理要求コマンドが送られ(S11)、この処理が、ストレージ装置12(#A)の物理記憶媒体16(#A)に存在する物理エクステントにアクセスを要するのであれば(S12:Yes)、(S13:case3)、コントローラ14(#A)によって、この処理要求コマンドに対応する処理が行われ、この処理結果が、処理要求の送り元であるホスト装置18に返送される(S14)。
【0058】
一方、この処理が、ストレージ装置12(#A)の物理記憶媒体16(#A)に存在しない物理エクステントに対するアクセスを要するのであれば(S12:No),(S17:Yes(case2))、コントローラ14(#A)によって、この処理要求コマンドから、この処理要求コマンドに対応した特有のコマンドであるベンダユニークコマンドコードが取得されるとともに、ストレージ装置12(#A)の識別子を含むビットマップデータと、ホスト装置18の識別子とがベンダユニークコマンドコード内に含められる。そして、このビットマップデータにおいて、ストレージ装置12(#A)の識別子に対応するビット位置にビットが立てられ、このベンダユニークコマンドコードが、優先順位付ルーティングテーブルに定義されたアクセス優先順位に従って、上流のストレージ装置を除いて最も優先順位が高いストレージ装置12(#B)のコントローラ14(#B)にベンダユニークコマンドコードが転送される(S18)。
【0059】
このようにコントローラ14(#A)から、コントローラ14(#B)にベンダユニークコマンドコードが送られ(S11)、対応する処理が、物理記憶媒体16(#B)に存在する物理エクステントにアクセスを要する場合であれば(S12:Yes),(S13:case4)、コントローラ14(#B)によってこの処理が行われ、処理結果が、ベンダユニークコマンドデータにおいて立てられたビット位置に対応する識別子のストレージ装置12のコントローラ14、すなわちストレージ装置12(#A)のコントローラ14(#A)に返送される(S15)。このように、コントローラ14(#B)から、コントローラ14(#A)に処理結果が返送されると、コントローラ14(#A)によって、この処理結果が、処理要求コマンドの送り元であるホスト装置18に返送される。
【0060】
一方、コントローラ14(#A)から、コントローラ14(#B)にベンダユニークコマンドコードが送られ、このベンダユニークコマンドコードに対応する処理が、物理記憶媒体16(#B)に存在しない物理エクステントに対するアクセスを要するのであれば(S17:No(case1))、コントローラ14(#B)によって、このベンダユニークコマンドコードに含まれるビットマップデータにおいて、自己の識別子に対するビット位置にビットが立てられ、このベンダユニークコマンドコードが、優先順位付ルーティングテーブルで定義されたアクセス優先順位に従って、上流のストレージ装置を除いて最も優先順位が高いストレージ装置12のコントローラ14へ転送される。例えば、上流のストレージ装置を除いて、ストレージ装置12(#B)の次に優先順位が高いのがストレージ装置12(#C)であれば、コントローラ14(#B)によって、コントローラ14(#C)にベンダユニークコマンドコードが転送される(S19)。
【0061】
このように、コントローラ14(#B)から、コントローラ14(#C)にベンダユニークコマンドコードが送られ(S11)、対応する処理が、物理記憶媒体16(#C)に存在する物理エクステントにアクセスを要するのであれば(S12:Yes),(S13:case5)、コントローラ14(#C)によって、対応する処理が行われるとともに、ホスト装置18から直接処理要求を受けたストレージ装置であるストレージ装置12(#A)に対する応答であるセンスデータが作成され、作成されたセンスデータが、ストレージ装置12(#B)を経由して、ストレージ装置12(#A)に送られる(S16)。ストレージ装置12(#A)では、コントローラ14(#A)によってこのセンスデータが受け取られ、コントローラ14(#C)は、コントローラ14(#A)によって、処理結果を送るように要求される。すると、この要求に応じて、コントローラ14(#C)によって、処理結果が、ストレージ装置12(#A)のコントローラ14(#A)に送られる。この処理結果は、コントローラ14(#A)によって受け取られると、コントローラ14(#A)からホスト装置18へと送られる。
【0062】
図5は、上述したcase1乃至case5の相違点をまとめた表である。図5においてホストストレージ装置はストレージ装置12(#A)に相当し、中間ストレージ装置はストレージ装置12(#B)に相当し、ターゲットストレージ装置はストレージ装置12(#C)に相当する。
【0063】
図6は、上記case5の場合の処理の流れを示す図である。すなわち、ホスト装置18から、ストレージ装置12(#A)に処理要求コマンドが送られる(a1)が、この処理は、物理記憶媒体16(#C)に存在する物理エクステントにアクセスを要するものであるので、コントローラ14(#A)において、ストレージ装置12(#A)に対応するビットが立てられたビットマップデータを含むベンダユニークコマンドコードが生成されてコントローラ14(#B)に転送される(a2)。更にコントローラ14(#B)では、更にストレージ装置12(#B)に対応するビットが立てられて、ベンダユニークコマンドコードがコントローラ14(#C)に転送される(a3)。
【0064】
そして、コントローラ14(#C)によって、このベンダユニークコマンドコードに対応する処理がなされるとともに、ストレージ装置12(#A)に対する応答であるセンスデータが作成され、作成したセンスデータが、ストレージ装置12(#B)を経由して(a4)、ストレージ装置12(#A)に送られる(a5)。
【0065】
センスデータがストレージ装置12(#A)によって受け取られると、コントローラ14(#A)からコントローラ14(#C)に対して処理結果を送るよう要求がなされ(a6)、この要求に応じて、コントローラ14(#C)によって、処理結果が、ストレージ装置12(#A)のコントローラ14(#A)に送られる(a7)。この処理結果は、コントローラ14(#A)によって受け取られると、コントローラ14(#A)からホスト装置18へと送られる(a8)。
【0066】
上述したように、本実施の形態に係るストレージクラスタシステムにおいては、何れのストレージ装置12(#A,#B,#C)においてなされた処理結果であっても、ホスト装置18から直接処理要求を受けたストレージ装置12(#A)を介してホスト装置18へ返される。この場合、ストレージ装置12(#C)で処理が行われる場合のように、ホスト装置18から直接処理要求を受けたストレージ装置12(#A)と、処理を行うストレージ装置12(#C)との間に、処理を行わないストレージ装置12(#B)が介在する場合には、ストレージ装置12(#C)でなされた処理結果を、ストレージ装置12(#B)を経由することなく、ストレージ装置12(#A)に直接送ることができる。これによって、ホスト装置18から処理要求を受けたストレージ装置12において処理がなされない場合であっても、処理結果であるデータを最短経路で、効率的に伝送することが可能となる。
【0067】
(第3の実施の形態)
本発明の第3の実施の形態を用いて説明する。
【0068】
本発明の第3の実施の形態に係るデータ処理方法を適用したストレージクラスタシステムは、第1又は第2の実施の形態に係るデータ処理方法を適用したストレージクラスタシステムの変形例であり、コントローラ14の動作が異なるのみである。よって、ここでは、コントローラ14の動作のみ説明し、その他については重複説明を避ける。
【0069】
すなわち、本実施の形態に係るストレージクラスタシステムは、優先順位付ルーティングテーブルで定義された優先順位に従って上流のストレージ装置12を除く他のストレージ装置12のコントローラ14に処理要求を送った場合、送り先のストレージ装置12の故障等により、この送り先のストレージ装置12のコントローラ14が処理要求を受け付けない場合(転送不可)、送り先のコントローラ14からエラー応答があった場合、又は送り先のコントローラから所定時間応答が無くタイムアウトになった場合には、上流のストレージ装置12を除いて、優先順位が次に高いストレージ装置のコントローラに処理要求を送り直す。
【0070】
例えば、図7に示すように、ホスト装置18からなされた処理要求に対し、ストレージ装置12(#A)のコントローラ14(#A)が、優先順位付ルーティングテーブルで定義された優先順位に従ってストレージ装置12(#B)のコントローラ14(#B)に処理要求を送ったものとする(b1)。この場合、ストレージ装置12(#B)が正常に動作していれば、処理結果、あるいはセンスデータがコントローラ14(#B)から、ストレージ装置12(#A)のコントローラ14(#A)に返される筈である。しかしながら、ストレージ装置12(#B)が故障等により正常に動作しない場合には、コントローラ14(#B)が処理要求を受け付けなかったり(転送不可)、コントローラ14(#B)からエラー応答があったり、コントローラ(#B)から所定時間応答が無くコントローラ14(#A)によってタイムアウトと判定される(b2)。
【0071】
このような場合、コントローラ14(#A)は、コントローラ14(#B)に送った処理要求を、コントローラ14(#C)に送り直す(b3)。
【0072】
このように、正常に動作しないストレージ装置12を迂回し、別のストレージ装置12に処理要求を送ることによって、処理の中断を回避し、処理を継続することができる。
【0073】
(第4の実施の形態)
本発明の第4の実施の形態を用いて説明する。
【0074】
本発明の第4の実施の形態に係るデータ処理方法を適用したストレージクラスタシステムは、第1又は第2の実施の形態に係るデータ処理方法を適用したストレージクラスタシステムの変形例であり、第1又は第2の実施の形態で説明した機能に加えて、コントローラ14に以下に記載する通知機能を、ホスト装置18に以下に記載する切替機能をそれぞれ付加している。よって、ここでは、異なる点のみ説明し、その他については重複説明を避ける。
【0075】
すなわち、本実施の形態では、図8に示すように、ストレージ装置12(#A,#B,#C)のうち、ホスト装置18によってアクセスされるストレージ装置12(#A)は、各ストレージ装置12(#A,#B,#C)が保持する物理エクステントの情報をホスト装置18に同期的、又は一定周期毎のように非同期的に通知する機能を備えている。
【0076】
また、ホスト装置18は、ストレージ装置12(#A)の通知機能により通知された情報と、処理要求の内容とに基づいて、処理要求を送るストレージ装置12を切り替える機能を備えている。
【0077】
本実施の形態に係るストレージクラスタシステムは、上記のような構成により、ストレージ装置12(#A)を経由してストレージ装置12(#C)にアクセスする筈であった(c1)ホスト装置18に対して、ストレージ装置12(#A)が、各ストレージ装置12(#A,#B,#C)が保持する物理エクステントの情報をホスト装置18に通知する(c2)。
【0078】
するとホスト装置18は、処理要求に対応する物理エクステントがストレージ装置12(#C)に存在することを把握し、処理要求を送るストレージ装置12をストレージ装置12(#A)からストレージ装置12(#C)に切り替える(c3)。
【0079】
これによって、ホスト装置18からの処理要求の経路、およびこの処理要求に対する処理結果がホスト装置18に戻される経路を最短にすることができ、もって、効率的な伝送を実現することが可能となる。
【0080】
(第5の実施の形態)
本発明の第5の実施の形態を用いて説明する。
【0081】
本発明の第5の実施の形態に係るデータ処理方法を適用したストレージクラスタシステムは、第1又は第2の実施の形態に係るデータ処理方法を適用したストレージクラスタシステムの変形例であり、ストレージ装置12に、第1又は第2の実施の形態で説明した機能に加えて、以下に示すような新たな機能を付加した構成としている。よって、ここでは、異なる点のみ説明し、その他については重複説明を避ける。
【0082】
すなわち、本実施の形態に係るストレージクラスタシステムでは、各ストレージ装置12が、管理データテーブルを保持している。管理データテーブルは、ホスト装置18から認識可能であり、エクステントから構成される論理ボリュームの容量情報と、論理ボリュームへのアクセスが許可されたホスト装置18を特定するホスト識別番号と、ホスト装置18からアクセスされる物理エクステントを特定する物理アクセス可能領域識別番号との組み合わせを管理している。また、論理ボリュームを構成するエクステントのうち、物理エクストンと論理エクステントとの対応関係を、対応する物理エクステントが存在するストレージ装置12のみが保持している。
【0083】
そして、ホスト装置18から送られてきた処理要求のうち、ライト命令及びリード命令を含むメディアアクセス系命令以外の処理要求コマンド、例えばSCSIのInquiryコマンド、Read Capacityコマンド、Report LUNs等のコントロールコマンドに対しては、自己のコントローラ14に保持された優先順位付ルーティングテーブルによって、優先順位が最も高く定義されているストレージ装置12が、ホスト装置18に対して処理結果を送る。
【0084】
次に、以上のように構成した本実施の形態に係るストレージクラスタシステムの処理の流れを図9に示すフローチャートを用いて説明する。
【0085】
ホスト装置18からストレージクラスタに対して処理要求コマンドが送られると、この処理要求コマンドは、ストレージ装置12(#A)によって受信される(S21)。
【0086】
そして、この処理要求コマンドが、メディアアクセス系以外のコマンドである場合(S22:No)には、ストレージ装置12(#A)によって、処理がなされ、処理結果がホスト装置18に応答される(S23)。
【0087】
一方、この処理要求コマンドが、メディアアクセス系のコマンドである場合(S22:Yes)には、第1又は第2の実施の形態で説明したように動作することによって、最終的に処理結果が、ホスト装置18に送られる(S24)。
【0088】
これによって、処理要求コマンドが、メディアアクセス系以外のコマンドである場合には、無駄なルーティングを介することなく、効率的な伝送を実現することが可能となる。
【0089】
(第6の実施の形態)
本発明の第6の実施の形態を用いて説明する。
【0090】
本発明の第6の実施の形態に係るデータ処理方法を適用したストレージクラスタシステムは、第1又は第2の実施の形態に係るデータ処理方法を適用したストレージクラスタシステムの変形例であり、第1又は第2の実施の形態に係るデータ処理方法を適用したストレージクラスタシステムに、図10又は図11に示すように、更に管理コンソール20を備えた構成をしている。この管理コンソール20は、デフォルトの優先順位付ルーティングテーブルを構築するものである。したがって、ここでは、管理コンソール20について説明し、その他については重複説明を避ける。
【0091】
図10は、ストレージエリアネットワーク11に管理コンソール20を設けた構成例を示すブロック図であり、図11は、各ストレージ装置12(#A,#B,#C)をLAN22で接続し、このLAN22に管理コンソール20を設けた構成例を示すブロック図である。
【0092】
この管理コンソール20は、各ストレージ装置12(#A,#B,#C)のうち任意のストレージ装置12に対して、各ストレージ装置12(#A,#B,#C)の情報と、ストレージクラスタの構築要求とを送信し、送信先のストレージ装置12を、ストレージクラスタの構築処理に関してマスタの役割をする構築マスタとする。以下、ストレージ装置12(#A)が構築マスタとされたものとして説明する。
【0093】
構築マスタとされたストレージ装置12(#A)は、ストレージ装置12(#B)とストレージ装置12(#C)とに対してテストメッセージを送信する。
【0094】
すると、ストレージ装置12(#B)とストレージ装置12(#C)とは、このテストメッセージを受信し、このテストメッセージに対する応答を構築マスタであるストレージ装置12(#A)に返信する。
【0095】
構築マスタであるストレージ装置12(#A)は、各ストレージ装置12(#B,#C)から返信された応答から、テストメッセージに対する各ストレージ装置12(#B,#C)の応答時間を計測し、各ストレージ装置12(#B,#C)を、応答時間の短い順に優先順位付けすることによりアクセス優先順位を決定し、デフォルトの優先順位付ルーティングテーブルを作成するとともに、各ストレージ装置12(#B,#C)に対して、ストレージクラスタに含まれるストレージ装置12(#A,#B,#C)のリストを送信する。
【0096】
構築マスタ以外のストレージ装置12(#B,#C)は、送信されたリストに従って、自己以外のストレージ装置に対して、テストメッセージを送信する。例えば、ストレージ装置12(#B)は、ストレージ装置12(#A)及びストレージ装置12(#C)にテストメッセージを送信し、ストレージ装置12(#C)は、ストレージ装置12(#A)及びストレージ装置12(#B)にテストメッセージを送信する。一方、このテストメッセージを受信した各ストレージ装置12は、このテストメッセージに対する応答を送信元のストレージ装置12に返信する。
【0097】
構築マスタ以外の各ストレージ装置12(#B,#C)は、この返信された応答から、テストメッセージに対する各ストレージ装置12の応答時間を計測し、各ストレージ装置12を、この応答時間の短い順に優先順位付けすることによりアクセス優先順位を決定し、デフォルトの優先順位付ルーティングテーブルを作成するとともに、構築マスタであるストレージ装置12(#A)に対してアクセス優先順位の構築完了応答を返信する。
【0098】
構築マスタであるストレージ装置12(#A)は、この構築完了応答を受信すると、管理コンソール20に対して、アクセス優先順位の構築完了応答を返信することによって、ストレージクラスタの構築処理を行う。
【0099】
次に、以上のようなストレージクラスタの構築処理の流れを図12に示すフローチャートを用いて説明する。
【0100】
ストレージクラスタの構築処理が開始されると(S30)、管理コンソール20から、各ストレージ装置12(#A,#B,#C)のうち任意のストレージ装置12(ここでは、ストレージ装置12(#A)とする)に対して、各ストレージ装置12(#A,#B,#C)の情報と、ストレージクラスタの構築要求とが送信され、送信先のストレージ装置12(#A)が、ストレージクラスタの構築処理に関してマスタの役割をする構築マスタとされる(S31)。
【0101】
すると、構築マスタとされたストレージ装置12(#A)からは、ストレージ装置12(#B)とストレージ装置12(#C)とに対してテストメッセージが送信される(S32)。
【0102】
このテストメッセージは、各ストレージ装置12(#B,#C)で受信されると、各ストレージ装置12(#B,#C)では、このテストメッセージに対する応答が作成され、作成された応答が、構築マスタであるストレージ装置12(#A)に返信される(S33)。
【0103】
構築マスタであるストレージ装置12(#A)では、各ストレージ装置12(#B,#C)から返信された応答から、テストメッセージに対する各ストレージ装置12(#B,#C)の応答時間が計測され、各ストレージ装置12(#B,#C)を、応答時間の短い順に優先順位付けすることによりアクセス優先順位が決定され、優先順位付ルーティングテーブルが作成される(S34)。更に、各ストレージ装置12(#B,#C)に対して、ストレージクラスタに含まれるストレージ装置12(#A,#B,#C)のリストが送信される(S35)。
【0104】
送信されたリストに従って、構築マスタ以外のストレージ装置12(#B,#C)からは、自己以外のストレージ装置12に対して、テストメッセージが送信される。そして、このテストメッセージを受信した各ストレージ装置12からは、このテストメッセージに対する応答が送信元のストレージ装置12に返信される。そして、構築マスタ以外の各ストレージ装置12(#B,#C)では、この返信された応答から、テストメッセージに対する各ストレージ装置12の応答時間を計測され、各ストレージ装置12が、応答時間の短い順に優先順位付けされることによりアクセス優先順位が決定され、優先順位付ルーティングテーブルが生成される(S36)。しかる後に、構築マスタ以外のストレージ装置12(#B,#C)から、構築マスタであるストレージ装置12(#A)に対してアクセス優先順位の構築が完了したことを通知するために、優先順位付ルーティングテーブル作成完了応答が返信される(S37)。
【0105】
そして、この完了応答が、構築マスタであるストレージ装置12(#A)によって受信されると、構築マスタであるストレージ装置12(#A)から管理コンソール20に対して、アクセス優先順位の構築完了応答が返信され(S38)、ストレージクラスタの構築処理が完了する(S39)。
【0106】
本実施の形態に係るストレージクラスタシステムによれば、以上説明したようにして、優先順位付ルーティングテーブルを効率的に構築することができる。
【0107】
(第7の実施の形態)
本発明の第7の実施の形態を用いて説明する。
【0108】
本発明の第7の実施の形態に係るデータ処理方法を適用したストレージクラスタシステムは、第6の実施の形態に係るデータ処理方法を適用したストレージクラスタシステムの変形例であり、管理コンソール20が、動作中のストレージクラスタへの新たなストレージ装置12の追加処理を行う。よって、ここでは、このような追加処理を行う管理コンソール20について説明し、その他については重複説明を避ける。
【0109】
管理コンソール20は、例えば図13に示すように、動作中のストレージクラスタに、新たなストレージ装置12(#D)が追加される場合における追加処理を行う。図13は、各ストレージ装置12(#A,#B,#C,#D)に接続されたLAN22に管理コンソール20が接続された構成例を示しているが、管理コンソール20は、例えば図10に示すように、ストレージエリアネットワーク11に接続されていても良い。
【0110】
管理コンソール20は、動作中のストレージクラスタに、新たなストレージ装置12(#D)が追加される場合、既に動作中の各ストレージ装置12(#A,#B,#C)のうち任意のストレージ装置(ここでは、仮にストレージ装置12(#A)とする)に対して、新たなストレージ装置12(#D)の追加要求と、この新たなストレージ装置12(#D)の情報とを送信し、送信先のストレージ装置12(#A)を、ストレージ装置12(#D)の追加処理に関してマスタの役割をする追加マスタとする。以下、ストレージ装置12(#A)が追加マスタとされたものとして説明する。
【0111】
追加マスタとされたストレージ装置12(#A)は、新たなストレージ装置12(#D)に対してテストメッセージを送信する。このようにテストメッセージが送信されると、ストレージ装置12(#D)は、追加マスタであるストレージ装置12(#A)に対して応答する。
【0112】
追加マスタであるストレージ装置12(#A)は、この応答を受信することにより確認すると、ストレージ装置12(#D)のアクセス優先順位を最下位の優先順位として優先順位付ルーティングテーブルに追加する。また、優先順位付ルーティングテーブルにアクセス優先順位が既に定義されているストレージ装置12(#B,#C)に対して、新たなストレージ装置12(#D)がストレージクラスタに追加された旨のメッセージと、新たなストレージ装置12(#D)の情報とを送信する。
【0113】
追加マスタであるストレージ装置12(#A)、及び新たなストレージ装置12(#D)以外のストレージ装置12、すなわちストレージ装置12(#B)及びストレージ装置(#C)は、自己の優先順位付ルーティングテーブルの優先順位最下位に新たなストレージ装置12(#D)を追加し、追加マスタへ追加完了応答を返信する。
【0114】
次に、追加マスタであるストレージ装置12(#A)は、新たなストレージ装置12(#D)に対して、ストレージクラスタに含まれるストレージ装置のリストを送信する。これに対して、新たなストレージ装置12(#D)は、このリストに従って、自己以外のストレージ装置12、すなわちストレージ装置12(#A)、ストレージ装置(#B)、及びストレージ装置(#C)に対してテストメッセージを送信する。
【0115】
各ストレージ装置12(#A,#B,#C)は、このテストメッセージを受信し、このテストメッセージに対する応答を新たなストレージ装置12(#D)に返信する。
【0116】
新たなストレージ装置12(#D)は、返信された応答から、このテストメッセージに対する各ストレージ装置(#A,#B,#C)の応答時間を計測し、各ストレージ装置12(#A,#B,#C)を応答時間の短い順に優先順位付けすることによってアクセス優先順位を決定し、優先順位付ルーティングテーブルを作成する。そして、追加マスタであるストレージ装置12(#A)に対して、優先順位付ルーティングテーブル作成完了応答を返信する。
【0117】
追加マスタであるストレージ装置12(#A)は、ストレージ装置12(#B,#C)からの追加完了、及びストレージ装置12(#D)からの作成完了応答を受信し、管理コンソール20に対して、新たなストレージ装置12(#D)の追加完了応答を返信することによって、新たなストレージ装置12(#D)の追加処理を完了する。
【0118】
次に、以上のようなストレージクラスタにおける新たなストレージ装置の追加処理の流れを図14に示すフローチャートを用いて説明する。以下では、ストレージ装置12(#A)が追加マスタであるとして説明する。
【0119】
動作中のストレージクラスタに、新たなストレージ装置12(#D)が追加される場合、管理コンソール20によって、既に動作中の各ストレージ装置12(#A,#B,#C)のうち任意のストレージ装置(ここでは、ストレージ装置12(#A)とする)に対して、新たなストレージ装置12(#D)の追加要求と、この新たなストレージ装置12(#D)の情報とが送信される(S40)。送信された追加要求と情報とがストレージ装置12(#A)に受信されることにより、ストレージ装置12(#A)が、ストレージ装置12(#D)の追加処理に関してマスタの役割をする追加マスタとされる(S41)。
【0120】
追加マスタとされたストレージ装置12(#A)からは、新たなストレージ装置12(#D)に対して、テストメッセージが送信される(S42)。
【0121】
このように送信されたテストメッセージが、ストレージ装置12(#D)によって受信されると、ストレージ装置12(#D)から、追加マスタであるストレージ装置12(#A)に対して応答がなされる(S43)。
【0122】
この応答が、追加マスタであるストレージ装置12(#A)により受信され確認されると、ストレージ装置12(#A)では、ストレージ装置12(#D)のアクセス優先順位を最下位の優先順位として優先順位付ルーティングテーブルに追加される(S44)。更に、ストレージ装置12(#A)から、優先順位付ルーティングテーブルにアクセス優先順位が既に定義されているストレージ装置12(#B,#C)に対して、新たなストレージ装置12(#D)がストレージクラスタに追加された旨のメッセージと、新たなストレージ装置12(#D)の情報とが送信される(S45)。
【0123】
ストレージ装置12(#A)、ストレージ装置12(#B)及びストレージ装置(#C)では、それぞれの優先順位付ルーティングテーブルの優先順位最下位に、新たなストレージ装置12(#D)が追加される(S46)。しかる後、ストレージ装置12(#B)及びストレージ装置(#C)から追加マスタであるストレージ装置12(#A)へは、追加マスタへ追加完了応答が返信される(S47)。
【0124】
次に、追加マスタであるストレージ装置12(#A)から、新たなストレージ装置12(#D)に対して、ストレージクラスタに含まれるストレージ装置のリストが送信される(S48)。
【0125】
これに対して、新たなストレージ装置12(#D)からは、このリストに従って、自己以外のストレージ装置12、すなわちストレージ装置12(#A)、ストレージ装置(#B)、及びストレージ装置(#C)に対してテストメッセージが送信される(S49)。このテストメッセージが、各ストレージ装置12(#A,#B,#C)により受信されると、各ストレージ装置12(#A,#B,#C)からストレージ装置12(#D)に、このテストメッセージに対する応答が返信される。
【0126】
ストレージ装置12(#D)では、返信された応答から、このテストメッセージに対する各ストレージ装置(#A,#B,#C)の応答時間が計測され、各ストレージ装置12(#A,#B,#C)を応答時間の短い順に優先順位付けすることによってアクセス優先順位が決定され、優先順位付ルーティングテーブルが作成される(S50)。そして、追加マスタであるストレージ装置12(#A)に対して、優先順位付ルーティングテーブル作成完了応答が返信される(S51)。
【0127】
ストレージ装置12(#D)からの作成完了応答が、追加マスタであるストレージ装置12(#A)によって受信されると、ストレージ装置12(#A)から管理コンソール20に対して、新たなストレージ装置12(#D)の追加完了応答が返信される(S52)。これによって、新たなストレージ装置12(#D)の追加処理が完了する(S53)。
【0128】
本実施の形態に係るストレージクラスタシステムによれば、以上説明したようにして、新たなストレージ装置12(#D)の追加処理を効率的に行うことができる。
【0129】
(実施例)
ここでは、第1乃至第7の実施の形態で説明したストレージクラスタシステムの更なる具体例について説明する。
【0130】
まず、図15のような構成のストレージクラスタシステム10を用いて、第1、第2、及び第5の実施の形態における更なる具体例を説明する。
【0131】
図15のストレージクラスタシステム10を構成する各ストレージ装置12(#0,#1,#2)は、図2のように、各物理記憶媒体16(#1,#2,#3)内にそれぞれ1GBサイズの3つのエクステントEXT(#0,#1,#2)を3つ持ち、各物理記憶媒体16(#0,#1,#2)当たり3GBの総容量を持つ。図15に示す構成例のストレージクラスタには、ストレージ装置12が3つ存在するので、ストレージクラスタ全体の総容量は9GBとなる。
【0132】
一方、各論理エクステントLDISKと物理エクステントEXTとの対応関係は、図16に示すテーブルで定義されている。図16(a)のテーブルは、ストレージ装置12(#0)によって、図16(b)のテーブルは、ストレージ装置12(#1)によって、図16(c)のテーブルは、ストレージ装置12(#2)によって、それぞれ保持されている。
【0133】
また、図17に示すように、ホスト装置18の識別番号(Host ID)と、ホスト装置18の特定値(図15参照)と、論理エクステントLDISK番号と、LUN番号との関係を示すホスト装置−LUNマッピングテーブルを、各ストレージ装置12(#0,#1,#2)が共有している。
【0134】
また、ストレージ装置12(#0)は、第6の実施の形態で説明したように作成され、図18(a)に示すような優先順位付ルーティングテーブルを保持している。同様に、ストレージ装置12(#1)は、図18(b)に示すような優先順位付ルーティングテーブルを、ストレージ装置12(#2)は、図18(c)に示すような優先順位付ルーティングテーブルをそれぞれ保持している。
【0135】
このとき、ホスト装置18(#0)からストレージ装置12(#0)に対してなされた処理要求が、次のようなリード要求コマンドAであった場合のリード処理の流れについて以下に説明する。
コマンドA:
SCSI Command Code=28h(READ EXTENDED)
LUN=02h
LBA=400001h (≧2GB,<3GB)
Transfer Size=100h(128KB)
処理の流れ:
1)ホスト装置18(#0)が、ストレージ装置12(#0)にコマンドAを送信する。
【0136】
2)ストレージ装置12(#0)は、コマンドAのリクエストから、Host ID=0と特定し、ホスト装置18(#0)からアクセス可能な論理ボリュームへのアクセスかどうかを判定する。この場合、まず、コマンドAのアクセス論理エクステントLDISKを特定する。この場合、図17のマッピングテーブルが参照され、論理エクステントLDISK2へのアクセスであり、アクセス可能であると判定される。
【0137】
3)次に、ストレージ装置12(#0)は、コマンドAがどの論理エクステントLDISKへのアクセスであるかを判定する。コマンドAのLBAから、論理エクステントLDISK上の何番目の論理エクステントかが判定されるが、この場合、2GB≦LBA<3GBであるから、物理エクステントEXT(#2)へのアクセスと判定する。したがって、2)での結果と合わせて、論理エクステントLDISK(2,2)へのアクセスと判定される。
【0138】
4)ストレージ装置12(#0)は、論理エクステントLDISK(2,2)に対応する物理エクステントが自装置内に存在するかどうかを判定する。この場合、図16(a)に示すテーブルを参照し、自己の物理記憶媒体16(#0)内に論理エクステント(2,2)が存在しないと判定される。
【0139】
5)ストレージ装置12(#0)は、コマンドAが自己の物理記憶媒体16(#0)へのアクセスではないため、図18(a)の優先順位付ルーティングテーブルで定義された上流のストレージ装置を除く最高優先順位のストレージ装置、すなわち、ストレージ装置12(#1)へリクエストを転送する。このとき、第2の実施の形態におけるベンダユニークコマンドとして、下記コマンドBに示すようなベンダユニークコマンドにて送信する。なお、図19(a)は、送信元の装置別にリード及びライトのSCSIコマンドをまとめた表であり、図19(b)は、コマンドフォーマットの一例を示す表である。
【0140】
コマンドB(ストレージ装置12(#0)からストレージ装置12(#1)への転送):
SCSI Command Code=C8h(READ REDIRECT)
LUN=02h
LBA=400001h (≧2GB,<3GB)
Transfer Size=100h(128KB)
Host ID=00h
Unit ID Bitmap|=0×01(Bit0を立てる)(→Host ID Bitmap=0×01)
6)ストレージ装置12(#1)は、コマンドBを受信し、コマンドBに含まれるHost IDとLUNとの組から、2)〜4)と同様にして、論理エクステントLDISK(2,2)に対するアクセスと判定し、自己の物理記憶媒体16(#1)内に対応する物理エクステントEXTが存在するかどうかを判定する。この場合、図16(b)に示すテーブルを参照し、自己の物理記憶媒体16(#1)内に論理エクステントLDISK(2,2)が存在しないと判定される。
【0141】
7)ストレージ装置12(#1)は、コマンドAは自己の物理記憶媒体16(#1)へのアクセスでないため、図18(b)に示す優先順位付ルーティングテーブルで、Host ID Bitmapに存在している、上流側のストレージ装置を除いた、最高の優先順位のストレージ装置であるストレージ装置12(#2)へリクエストを転送する。このとき、第2の実施の形態におけるベンダユニークコマンドとして、下記コマンドCに示すようなベンダユニークコマンドとして、下記コマンドCに示すようなベンダユニークコマンドにて送信する。
【0142】
コマンドC(ストレージ装置12(#1)からストレージ装置12(#2)への転送):
SCSI Command Code=D8h(READ PASSTHRU)(ベンダユニーク)
LUN=02h
LBA=400001h (≧2GB,<3GB)
Transfer Size=100h(128KB)
Host ID=00h
Unit ID Bitmap|=0×02(Bit1を立てる)(→Host ID Bitmap=0×03)
8)ストレージ装置12(#2)は、コマンドCを受信し、コマンドCに含まれるHost IDとLUNとの組から、2)〜4)と同様にして、論理エクステントLDISK(2,2)に対するアクセスと判定し、自己の物理記憶媒体16(#2)内に対応する物理エクステントEXTが存在するかどうかを判定する。この場合、図16(c)に示すテーブルを参照し、自己の物理記憶媒体16(#2)内に論理エクステントLDISK(2,2)が存在し、物理エクステントEXT(2,2)に対応すると判定される。
【0143】
9)ストレージ装置12(#2)は、コマンドCのコマンドコードから、コマンドCは中間のストレージ装置12(#1)から転送されたものであると判定する。すなわち、ホスト装置18(#0)からストレージ装置12(#0)に送られたコマンドが、一旦ストレージ装置12(#1)を経由して転送されたものであると判定する。
【0144】
10)ストレージ装置12(#2)は、第2の実施の形態で説明したように、コマンドCの送信元であるストレージ装置12(#1)に対して、以下のレスポンスAに示すようなセンスデータが返信される。
【0145】
レスポンスA:
SCSI Status=Check Condition(02h)
Sense Key=Not Direct Transfer(C0h)(ベンダユニーク)
Sense Data=ストレージ装置12(#2)のHost ID(02h)
11)レスポンスAは、ストレージ装置12(#2)→ストレージ装置12(#1)→ストレージ装置12(#0)と、コマンドの逆順に転送され、ストレージ装置12(#1)及びストレージ装置12(#2)は、図20(a)及び図20(b)に示すように、アクセスが該当する論理エクステントLDISK(2,2)に対するエクステントルーティングテーブルを確保することで、次回、同じ論理エクステントLDISK(2,2)へのアクセスを受信した場合には、ストレージ装置12(#2)へ直接送信するように学習する。
【0146】
12)ホストであるストレージ装置12(#0)は、レスポンスAを受信後、11)で学習したエクステントルーティングテーブル(図20(a))に基づき、ストレージ装置12(#2)へ、以下に示すコマンドDを送信する。
【0147】
コマンドD:
LUN=02h
LBA=400001h (≧2GB,<3GB)
Transfer Size=100h(128KB)
Host ID=00h
Unit ID Bitmap|0×01(Bit0を立てる)(→Host ID Bitmap=0×01)
13)ストレージ装置12(#2)は、コマンドDを受信し、2)〜4)と同様にして、論理エクステントLDISK(2,2)に対するアクセスと判定し、自己の物理記憶媒体16(#2)に対応する物理エクステントEXTが存在するかどうかを判定する。この場合、図16(c)に示すテーブルを参照し、自己の物理記憶媒体16(#2)内に論理エクステントLDISK(2,2)が存在し、物理エクステントEXT(2,2)に対応すると判定される。
【0148】
14)ストレージ装置12(#2)は、コマンドDのコマンドコードから、コマンドDはホストストレージ装置、すなわちストレージ装置12(#0)から転送されたものであると判定する。
【0149】
15)ストレージ装置12(#2)は、物理エクステントEXT(2,2)に対してリードアクセスを実行し、ストレージ装置12(#0)との間で一連のデータ転送を行う。
【0150】
16)ストレージ装置12(#0)は、ストレージ装置12(#2)とのリード転送が完了次第、ホスト装置18(#0)に対してリード転送を実行し、処理を完了する。
【0151】
これによって、ストレージクラスタに参加するストレージ装置12の数に比例してルーティング情報が増加することが回避され、テーブル検索時間の増加と、テーブル保持用記憶領域の増加とを抑制するとともに、エクステントマイグレーション時の構成変更も必要に応じて行うことができる。その結果、効率的なルーティングを実現することが可能となる。
【0152】
以上、本発明を実施するための最良の形態について、添付図面を参照しながら説明したが、本発明はかかる構成に限定されない。特許請求の範囲の発明された技術的思想の範疇において、当業者であれば、各種の変更例及び修正例に想到し得るものであり、それら変更例及び修正例についても本発明の技術的範囲に属するものと了解される。
【図面の簡単な説明】
【0153】
【図1】第1の実施の形態に係るデータ処理方法を適用したストレージクラスタシステムの構成例を示すブロック図。
【図2】3つのエクステントに分割された物理記憶媒体の例を示す概念図。
【図3】第1の実施の形態に係るストレージクラスタシステムにおける処理要求コマンドのルーティングを示す簡略図。
【図4】第2の実施の形態に係るストレージクラスタシステムの動作例を示すフローチャート。
【図5】第2の実施の形態に係るストレージクラスタシステムの動作におけるcase1乃至case5の相違点をまとめた図。
【図6】第2の実施の形態に係るストレージクラスタシステムの動作におけるcase5の場合の処理の流れを示す図。
【図7】第3の実施の形態に係るストレージクラスタシステムの動作における処理の流れを示す図。
【図8】第4の実施の形態に係るストレージクラスタシステムの動作における処理の流れを示す図。
【図9】第5の実施の形態に係るストレージクラスタシステムの動作例を示すフローチャート。
【図10】管理コンソールが設けられたストレージクラスタシステムの構成例を示すブロック図。
【図11】管理コンソールが設けられたストレージクラスタシステムの他の構成例を示すブロック図。
【図12】第6の実施の形態に係るストレージクラスタシステムにおける優先順位付ルーティングテーブル構築処理の流れを示すフローチャート。
【図13】新たなストレージ装置が追加されたストレージクラスタシステムの構成零を示す図。
【図14】第7の実施の形態に係るストレージクラスタシステムにおける新たなストレージ装置の追加処理の流れを示すフローチャート。
【図15】実施例におけるストレージクラスタシステムの構成例を示す機能ブロック図。
【図16】論理エクステントと物理エクステントとの対応関係を示すテーブルの一例。
【図17】ホスト装置の識別番号と、ホスト装置の特定値と、論理エクステント番号と、LUN番号との関係を示すホスト装置−LUNマッピングテーブルの一例。
【図18】優先順位付ルーティングテーブルの一例。
【図19】送信元の装置別にリード及びライトのSCSIコマンドをまとめた図と、コマンドフォーマットの一例を示す図。
【図20】エクステントルーティングテーブルの一例を示す図。
【符号の説明】
【0154】
10…ストレージクラスタシステム、11…ストレージエリアネットワーク、12…ストレージ装置、14…コントローラ、16…物理記憶媒体、18…ホスト装置、20…管理コンソール、22…LAN

【特許請求の範囲】
【請求項1】
複数のストレージ装置からなるストレージクラスタと、前記ストレージクラスタに第一の通信ネットワークによって接続されたホスト装置とを備えたストレージクラスタシステムにおいて、
前記各ストレージ装置は、
前記ホスト装置から論理的にアクセスされることが可能な領域が分割されてなる複数のアクセス可能領域と、
前記複数のアクセス可能領域のうち、前記ストレージ装置が物理的に管理している領域である物理アクセス可能領域にアクセスするためのコントローラと、
前記コントローラによって参照され、このコントローラが備えられたストレージ装置から他のストレージ装置へのアクセス優先順位を定義した優先順位情報とを備え、
前記各ストレージ装置のコントローラ同士を第二の通信ネットワークによって接続することによって、前記各ストレージ装置が、前記コントローラを介して、他のストレージ装置の物理アクセス可能領域にアクセスできるようにしており、
自己のストレージ装置に存在しない物理アクセス可能領域に対する、前記ホスト装置からの処理要求が送られてきた場合には、前記自己のストレージ装置のコントローラは、前記優先順位情報で定義された優先順位に従って、前記処理要求が既に送られたストレージ装置を除いて最も優先順位が高いストレージ装置のコントローラに前記処理要求を送り、
自己のストレージ装置に存在する物理アクセス可能領域に対する、前記ホスト装置からの処理要求が送られてきた場合には、前記自己のストレージ装置のコントローラは、前記処理要求に対応する処理を行い、この処理結果を、前記処理要求の送り元に送り、
他のストレージ装置のコントローラから前記処理結果が送られてきた場合には、前記自己のストレージ装置のコントローラは、この処理結果に対応する処理要求を自己のストレージ装置に送った送り元に、前記処理結果を送ることによって、前記処理結果を、前記ホスト装置からの処理要求を受けたストレージ装置に送り、このストレージ装置は、送られた処理結果を前記ホスト装置に送るようにしたストレージクラスタシステム。
【請求項2】
複数のストレージ装置からなるストレージクラスタと、前記ストレージクラスタに第一の通信ネットワークによって接続されたホスト装置とを備えたストレージクラスタシステムにおいて、
前記各ストレージ装置は、
前記ホスト装置から論理的にアクセスされることが可能な領域が分割されてなる複数のアクセス可能領域と、
前記複数のアクセス可能領域のうち、前記ストレージ装置が物理的に管理している領域である物理アクセス可能領域にアクセスするためのコントローラと、
前記コントローラによって参照され、このコントローラが備えられたストレージ装置からの他のストレージ装置へのアクセス優先順位を定義した優先順位情報とを備え、
前記各ストレージ装置のコントローラ同士を第二の通信ネットワークによって接続することによって、前記各ストレージ装置が、前記コントローラを介して、他のストレージ装置の物理アクセス可能領域にアクセスできるようにしており、
前記ホスト装置から、自己に存在しない物理アクセス可能領域に対する処理要求が送られてきたストレージ装置は、前記処理要求から、前記処理要求に対応した特有のコマンドコードを取得するとともに、自己のストレージ装置の識別子を含むビットマップデータと、前記ホスト装置の識別子とを前記コマンドコード内に含め、前記ビットマップデータにおいて、前記自己のストレージ装置の識別子に対応するビット位置にビットを立て、前記コマンドコードを、前記優先順位情報に従って、前記処理要求が既に送られたストレージ装置を除いて最も優先順位が高いストレージ装置に送り、
前記複数のストレージ装置のうちの何れかから前記コマンドコードが送られたストレージ装置のうち、このコマンドコードに対応する処理要求が、自己に存在しない物理アクセス可能領域に対する処理要求であるストレージ装置は、このコマンドコードに含まれるビットマップデータにおいて、自己の識別子に対応するビット位置にビットを立て、このコマンドコードを、前記優先順位情報に従って、前記処理要求が既に送られたストレージ装置を除いて最も優先順位が高いストレージ装置に送り、
前記送られてきたコマンドコードに対応する処理要求が、自己に存在する物理アクセス可能領域に対する処理要求であるストレージ装置であって、
前記送られてきたコマンドコード内にビットマップデータが含まれていない場合には、このストレージ装置は、前記コマンドコードに対応する処理要求に対応する処理を行い、処理結果を前記ホスト装置に送り、
前記送られてきたコマンドコード内にビットマップデータが含まれ、何れか一つのビット位置のビットが立てられている場合には、このストレージ装置は、前記コマンドコードに対応する処理要求に対応する処理を行い、処理結果を、このビットが立てられたビット位置に対応する識別子のストレージ装置に送り、
前記送られてきたコマンドコード内にビットマップデータが含まれ、複数のビット位置のビットが立てられている場合には、このストレージ装置は、前記コマンドコードに対応する処理要求に対応する処理を行うとともに、前記ホスト装置から直接処理要求を受けたストレージ装置に対する応答を作成し、前記作成した応答を、ビットが立てられたビット位置に対応する識別子のストレージ装置を経由して、前記ホスト装置からの処理要求を受けたストレージ装置に送り、
前記応答が送られたストレージ装置は、前記応答を作成したストレージ装置に対して、処理結果を送るように要求し、
要求されたストレージ装置が、この処理結果を、要求元のストレージ装置に送ることによって、何れのストレージ装置においてなされた処理結果も、前記ホスト装置から直接処理要求を受けたストレージ装置に送られるようにし、
前記前記ホスト装置から直接処理要求を受けたストレージ装置は、この処理結果を前記ホスト装置に送るようにしたストレージクラスタシステム。
【請求項3】
請求項1又は請求項2に記載のストレージクラスタシステムにおいて、
前記優先順位情報で定義された優先順位に従って他のストレージ装置のコントローラに処理要求を送った場合であって、この送り先のコントローラが前記処理要求を受け付けない場合、このコントローラからエラー応答が戻された場合、又はこのコントローラから所定時間応答が無い場合には、前記処理要求が既に送られたストレージ装置を除いて、次に前記優先順位が高いストレージ装置のコントローラに処理要求を送り直すようにしたストレージクラスタシステム。
【請求項4】
請求項1又は請求項2に記載のストレージクラスタシステムにおいて、
前記複数のストレージ装置のうち、前記ホスト装置からアクセスされたストレージ装置に、前記各ストレージ装置が保持する物理アクセス可能領域の情報を前記ホスト装置に通知する通知手段を更に備え、
前記ホスト装置に、前記通知手段から通知された情報と、前記処理要求の内容とに基づいて、前記処理要求を送るストレージ装置を切り替える切替手段を備えたストレージクラスタシステム。
【請求項5】
請求項1又は請求項2に記載のストレージクラスタシステムにおいて、
前記各ストレージ装置が備えている前記複数のアクセス可能領域のうちの一つ、又は二つ以上の組み合わせから構成され、前記ホスト装置から認識可能な論理ボリュームの容量情報と、前記論理ボリュームへのアクセスが許可されたホスト装置を特定するホスト識別番号と、前記ホスト装置からアクセスされる前記物理アクセス可能領域を特定する物理アクセス可能領域識別番号との組み合わせを管理するデータテーブルを、前記ストレージクラスタの全てのストレージ装置に備え、
前記論理ボリュームを構成するアクセス可能領域のうち、前記物理アクセス可能領域と、前記ホスト装置によって認識される領域である論理アクセス可能領域との対応関係を、この物理アクセス可能領域が存在するストレージ装置のみが保持し、
前記ホスト装置から送られてきた処理要求のうち、ライト命令及びリード命令を含むメディアアクセス命令以外の処理要求に対しては、前記ホスト装置からアクセスされたストレージ装置が前記ホスト装置に対して処理結果を送るようにしたストレージクラスタシステム。
【請求項6】
請求項1又は請求項2に記載のストレージクラスタシステムにおいて、
前記ストレージクラスタの管理を行う管理コンソールを更に備え、
前記管理コンソールは、前記各ストレージ装置のうち任意のストレージ装置に対して、前記各ストレージ装置の情報と前記ストレージクラスタの構築要求とを送信し、送信先のストレージ装置を、前記ストレージクラスタの構築処理に関してマスタの役割をする構築マスタとし、
前記構築マスタは、前記管理コンソールから送信された前記情報に対応する各ストレージ装置に対してテストメッセージを送信し、
前記テストメッセージを受信した各ストレージ装置は、前記テストメッセージに対する応答を前記構築マスタに返信し、
前記構築マスタは、各ストレージ装置から返信された応答から、前記テストメッセージに対する各ストレージ装置の応答時間を計測し、各ストレージ装置を、応答時間の短い順に優先順位付けすることにより前記優先順位情報を作成するとともに、前記各ストレージ装置に対して、前記ストレージクラスタに含まれるストレージ装置のリストを送信し、
前記構築マスタ以外の各ストレージ装置は、前記送信されたリストに従って、自己以外のストレージ装置に対して、テストメッセージを送信し、
前記テストメッセージを受信した各ストレージ装置は、このテストメッセージに対する応答を送信元のストレージ装置に返信し、
前記構築マスタ以外の各ストレージ装置は、前記返信された応答から、このテストメッセージに対する各ストレージ装置の応答時間を計測し、各ストレージ装置を、この応答時間の短い順に優先順位付けすることにより前記優先順位情報を作成し、前記構築マスタに対して前記優先順位情報の構築完了応答を返信し、
前記構築マスタは、この構築完了応答を受信すると、前記管理コンソールに対して、前記優先順位情報の構築完了応答を返信することによって、前記ストレージクラスタの構築処理を行うようにしたストレージクラスタシステム。
【請求項7】
請求項1又は請求項2に記載のストレージクラスタシステムにおいて、
動作中のストレージクラスタに新たなストレージ装置を追加する追加処理を行う管理コンソールを更に備え、
前記管理コンソールは、前記各ストレージ装置のうち任意のストレージ装置に対して、新たなストレージ装置の追加要求と、この新たなストレージ装置の情報とを送信し、送信先のストレージ装置を、前記ストレージ装置の追加処理に関してマスタの役割をする追加マスタとし、
前記追加マスタは、前記管理コンソールから前記情報が送信された新たなストレージ装置に対してテストメッセージを送信し、この送信されたテストメッセージに対して前記新たなストレージ装置からなされた応答を確認し、前記新たなストレージ装置のアクセス優先順位を最下位の優先順位として前記優先順位情報に追加するとともに、前記優先順位情報にアクセス優先順位が既に定義されているストレージ装置に対して、前記新たなストレージ装置が前記ストレージクラスタに追加された旨のメッセージと、前記新たなストレージ装置の情報とを送信し、
前記追加マスタ及び前記新たなストレージ装置以外のストレージ装置は、自己の優先順位情報の優先順位最下位に前記新たなストレージ装置を追加し、前記追加マスタへ追加完了応答を返信し、
前記追加マスタは、前記新たなストレージ装置に対して、前記ストレージクラスタに含まれるストレージ装置のリストを送信し、
前記新たなストレージ装置は、前記リストに従って、自己以外のストレージ装置に対してテストメッセージを送信し、
前記テストメッセージを受信した各ストレージ装置は、このテストメッセージに対する応答を前記新たなストレージ装置に返信し、
前記新たなストレージ装置は、前記返信された応答から、このテストメッセージに対する各ストレージ装置の応答時間を計測し、各ストレージ装置を応答時間の短い順に優先順位付けすることによって前記優先順位情報を作成し、前記追加マスタに対して、前記優先順位情報の構築完了応答を返信し、
前記追加マスタは、この構築完了応答及び前記追加完了応答を受信すると、前記管理コンソールに対して、前記新たなストレージ装置の追加完了応答を返信することによって、前記新たなストレージ装置の追加処理を行うようにしたストレージクラスタシステム。
【請求項8】
複数のストレージ装置からなるストレージクラスタと、前記ストレージクラスタに第一の通信ネットワークによって接続されたホスト装置とを備えたストレージクラスタシステムに適用されるデータ処理方法おいて、
前記各ストレージ装置は、
前記ホスト装置から論理的にアクセスされることが可能な領域が分割されてなる複数のアクセス可能領域と、
前記複数のアクセス可能領域のうち、前記ストレージ装置が物理的に管理している領域である物理アクセス可能領域にアクセスするためのコントローラと、
前記コントローラによって参照され、このコントローラが備えられたストレージ装置からの他のストレージ装置へのアクセス優先順位を定義した優先順位情報とを備え、
前記各ストレージ装置のコントローラ同士を第二の通信ネットワークによって接続することによって、前記各ストレージ装置が、前記コントローラを介して、他のストレージ装置の物理アクセス可能領域にアクセスできるようにしており、
自己のストレージ装置に存在しない物理アクセス可能領域に対する、前記ホスト装置からの処理要求が送られてきた場合には、前記自己のストレージ装置のコントローラは、前記優先順位情報で定義された優先順位に従って、前記処理要求が既に送られたストレージ装置を除いて最も優先順位が高いストレージ装置のコントローラに前記処理要求を送り、
自己のストレージ装置に存在する物理アクセス可能領域に対する、前記ホスト装置からの処理要求が送られてきた場合には、前記自己のストレージ装置のコントローラは、前記処理要求に対応する処理を行い、この処理結果を、前記処理要求の送り元に送り、
他のストレージ装置のコントローラから前記処理結果が送られてきた場合には、前記自己のストレージ装置のコントローラは、この処理結果に対応する処理要求を自己のストレージ装置に送った送り元に、前記処理結果を送ることによって、前記処理結果を、前記ホスト装置からの処理要求を受けたストレージ装置に送り、このストレージ装置は、送られた処理結果を前記ホスト装置に送るようにしたデータ処理方法。
【請求項9】
複数のストレージ装置からなるストレージクラスタと、前記ストレージクラスタに第一の通信ネットワークによって接続されたホスト装置とを備えたストレージクラスタシステムに適用されるデータ処理方法において、
前記各ストレージ装置は、
前記ホスト装置から論理的にアクセスされることが可能な領域が分割されてなる複数のアクセス可能領域と、
前記複数のアクセス可能領域のうち、前記ストレージ装置が物理的に管理している領域である物理アクセス可能領域にアクセスするためのコントローラと、
前記コントローラによって参照され、このコントローラが備えられたストレージ装置からの他のストレージ装置へのアクセス優先順位を定義した優先順位情報とを備え、
前記各ストレージ装置のコントローラ同士を第二の通信ネットワークによって接続することによって、前記各ストレージ装置が、前記コントローラを介して、他のストレージ装置の物理アクセス可能領域にアクセスできるようにしており、
前記ホスト装置から、自己に存在しない物理アクセス可能領域に対する処理要求が送られてきたストレージ装置は、前記処理要求から、前記処理要求に対応した特有のコマンドコードを取得するとともに、自己のストレージ装置の識別子を含むビットマップデータと、前記ホスト装置の識別子とを前記コマンドコード内に含め、前記ビットマップデータにおいて、前記自己のストレージ装置の識別子に対応するビット位置にビットを立て、前記コマンドコードを、前記優先順位情報に従って、前記処理要求が既に送られたストレージ装置を除いて最も優先順位が高いストレージ装置に送り、
前記複数のストレージ装置のうちの何れかから前記コマンドコードが送られたストレージ装置のうち、このコマンドコードに対応する処理要求が、自己に存在しない物理アクセス可能領域に対する処理要求であるストレージ装置は、このコマンドコードに含まれるビットマップデータにおいて、自己の識別子に対応するビット位置にビットを立て、このコマンドコードを、前記優先順位情報に従って、前記処理要求が既に送られたストレージ装置を除いて最も優先順位が高いストレージ装置に送り、
前記送られてきたコマンドコードに対応する処理要求が、自己に存在する物理アクセス可能領域に対する処理要求であるストレージ装置であって、
前記送られてきたコマンドコード内にビットマップデータが含まれていない場合には、このストレージ装置は、前記コマンドコードに対応する処理要求に対応する処理を行い、処理結果を前記ホスト装置に送り、
前記送られてきたコマンドコード内にビットマップデータが含まれ、何れか一つのビット位置のビットが立てられている場合には、このストレージ装置は、前記コマンドコードに対応する処理要求に対応する処理を行い、処理結果を、このビットが立てられたビット位置に対応する識別子のストレージ装置に送り、
前記送られてきたコマンドコード内にビットマップデータが含まれ、複数のビット位置のビットが立てられている場合には、このストレージ装置は、前記コマンドコードに対応する処理要求に対応する処理を行うとともに、前記ホスト装置から直接処理要求を受けたストレージ装置に対する応答を作成し、前記作成した応答を、ビットが立てられたビット位置に対応する識別子のストレージ装置を経由して、前記ホスト装置からの処理要求を受けたストレージ装置に送り、
前記応答が送られたストレージ装置は、前記応答を作成したストレージ装置に対して、処理結果を送るように要求し、
要求されたストレージ装置が、この処理結果を、要求元のストレージ装置に送ることによって、何れのストレージ装置においてなされた処理結果も、前記ホスト装置から直接処理要求を受けたストレージ装置に送られるようにし、
前記前記ホスト装置から直接処理要求を受けたストレージ装置は、この処理結果を前記ホスト装置に送るようにしたデータ処理方法。
【請求項10】
請求項8又は請求項9に記載のデータ処理方法において、
前記優先順位情報で定義された優先順位に従って他のストレージ装置のコントローラに処理要求を送った場合であって、この送り先のコントローラが前記処理要求を受け付けない場合、このコントローラからエラー応答が戻された場合、又はこのコントローラから所定時間応答が無い場合には、前記処理要求が既に送られたストレージ装置を除いて、次に優先順位が高いストレージ装置のコントローラに処理要求を送り直すようにしたデータ処理方法。
【請求項11】
請求項8又は請求項9に記載のデータ処理方法において、
前記複数のストレージ装置のうち、前記ホスト装置からアクセスされたストレージ装置は、前記各ストレージ装置が保持する物理アクセス可能領域の情報を前記ホスト装置に通知し、
前記ホスト装置は、前記通知された情報と、前記処理要求の内容とに基づいて、前記処理要求を送るストレージ装置を切り替えるようにしたデータ処理方法。
【請求項12】
請求項8又は請求項9に記載のデータ処理方法において、
前記各ストレージ装置が備えている前記複数のアクセス可能領域のうちの一つ、又は二つ以上の組み合わせから構成され、前記ホスト装置から認識可能な論理ボリュームの容量情報と、前記論理ボリュームへのアクセスが許可されたホスト装置を特定するホスト識別番号と、前記ホスト装置からアクセスされる前記物理アクセス可能領域を特定する物理アクセス可能領域識別番号との組み合わせを管理するデータテーブルを、前記ストレージクラスタの全てのストレージ装置に備え、
前記論理ボリュームを構成するアクセス可能領域のうち、前記物理アクセス可能領域と、前記ホスト装置によって認識される領域である論理アクセス可能領域との対応関係を、この物理アクセス可能領域が存在するストレージ装置のみが保持し、
前記ホスト装置から送られてきた処理要求のうち、ライト命令及びリード命令を含むメディアアクセス命令以外の処理要求に対しては、前記ホスト装置からアクセスされたストレージ装置が前記ホスト装置に対して処理結果を送るようにしたデータ処理方法。
【請求項13】
請求項8又は請求項9に記載のデータ処理方法において、
前記ストレージクラスタの管理を行う管理コンソールを更に備え、
前記管理コンソールは、前記各ストレージ装置のうち任意のストレージ装置に対して、前記各ストレージ装置の情報と前記ストレージクラスタの構築要求とを送信し、送信先のストレージ装置を、前記ストレージクラスタの構築処理に関してマスタの役割をする構築マスタとし、
前記構築マスタは、前記管理コンソールから送信された前記情報に対応する各ストレージ装置に対してテストメッセージを送信し、
前記テストメッセージを受信した各ストレージ装置は、前記テストメッセージに対する応答を前記構築マスタに返信し、
前記構築マスタは、各ストレージ装置から返信された応答から、前記テストメッセージに対する各ストレージ装置の応答時間を計測し、各ストレージ装置を、応答時間の短い順に優先順位付けすることにより前記優先順位情報を作成するとともに、前記各ストレージ装置に対して、前記ストレージクラスタに含まれるストレージ装置のリストを送信し、
前記構築マスタ以外の各ストレージ装置は、前記送信されたリストに従って、自己以外のストレージ装置に対して、テストメッセージを送信し、
前記テストメッセージを受信した各ストレージ装置は、このテストメッセージに対する応答を送信元のストレージ装置に返信し、
前記構築マスタ以外の各ストレージ装置は、前記返信された応答から、このテストメッセージに対する各ストレージ装置の応答時間を計測し、各ストレージ装置を、この応答時間の短い順に優先順位付けすることにより前記優先順位情報を作成し、前記構築マスタに対して前記優先順位情報の構築完了応答を返信し、
前記構築マスタは、この構築完了応答を受信すると、前記管理コンソールに対して、前記優先順位情報の構築完了応答を返信することによって、前記ストレージクラスタの構築処理を行うようにしたデータ処理方法。
【請求項14】
請求項8又は請求項9に記載のデータ処理方法において、
動作中のストレージクラスタに新たなストレージ装置を追加する追加処理を行う管理コンソールを更に備え、
前記管理コンソールは、前記各ストレージ装置のうち任意のストレージ装置に対して、新たなストレージ装置の追加要求と、この新たなストレージ装置の情報とを送信し、送信先のストレージ装置を、前記ストレージ装置の追加処理に関してマスタの役割をする追加マスタとし、
前記追加マスタは、前記管理コンソールから前記情報が送信された新たなストレージ装置に対してテストメッセージを送信し、この送信されたテストメッセージに対して前記新たなストレージ装置からなされた応答を確認し、前記新たなストレージ装置のアクセス優先順位を最下位の優先順位として前記優先順位情報に追加するとともに、前記優先順位情報にアクセス優先順位が既に定義されているストレージ装置に対して、前記新たなストレージ装置が前記ストレージクラスタに追加された旨のメッセージと、前記新たなストレージ装置の情報とを送信し、
前記追加マスタ及び前記新たなストレージ装置以外のストレージ装置は、自己の優先順位情報の優先順位最下位に前記新たなストレージ装置を追加し、前記追加マスタへ追加完了応答を返信し、
前記追加マスタは、前記新たなストレージ装置に対して、前記ストレージクラスタに含まれるストレージ装置のリストを送信し、
前記新たなストレージ装置は、前記リストに従って、自己以外のストレージ装置に対してテストメッセージを送信し、
前記テストメッセージを受信した各ストレージ装置は、このテストメッセージに対する応答を前記新たなストレージ装置に返信し、
前記新たなストレージ装置は、前記返信された応答から、このテストメッセージに対する各ストレージ装置の応答時間を計測し、各ストレージ装置を応答時間の短い順に優先順位付けすることによって前記優先順位情報を作成し、前記追加マスタに対して、前記優先順位情報の構築完了応答を返信し、
前記追加マスタは、この構築完了応答及び前記追加完了応答を受信すると、前記管理コンソールに対して、前記新たなストレージ装置の追加完了応答を返信することによって、前記新たなストレージ装置の追加処理を行うようにしたデータ処理方法。
【請求項15】
複数のストレージ装置からなるストレージクラスタと、前記ストレージクラスタに第一の通信ネットワークによって接続されたホスト装置とを備えたストレージクラスタシステムに適用されるプログラムおいて、
前記各ストレージ装置は、前記ホスト装置から論理的にアクセスされることが可能な領域が分割されてなる複数のアクセス可能領域と、前記複数のアクセス可能領域のうち、前記ストレージ装置が物理的に管理している領域である物理アクセス可能領域にアクセスするためのコントローラと、前記コントローラによって参照され、このコントローラが備えられたストレージ装置からの他のストレージ装置へのアクセス優先順位を定義した優先順位情報とを備え、前記各ストレージ装置のコントローラ同士は、第二の通信ネットワークによって接続されており、
前記プログラムは、
前記各ストレージ装置が、前記コントローラを介して、他のストレージ装置の物理アクセス可能領域にアクセスする機能、
前記ストレージ装置に、自己に存在しない物理アクセス可能領域に対する、前記ホスト装置からの処理要求が送られてきた場合には、このストレージ装置のコントローラが、前記優先順位情報で定義された優先順位に従って、前記処理要求が既に送られたストレージ装置を除いて最も優先順位が高いストレージ装置のコントローラに前記処理要求を送る機能、
前記ストレージ装置に、自己に存在する物理アクセス可能領域に対する、前記ホスト装置からの処理要求が送られてきた場合には、このストレージ装置のコントローラが、前記処理要求に対応する処理を行い、この処理結果を、前記処理要求の送り元に送る機能、
前記ストレージ装置に、他のストレージ装置のコントローラから前記処理結果が送られてきた場合には、このストレージ装置のコントローラが、この処理結果に対応する処理要求を送ってきた送り元に、前記処理結果を送ることによって、前記処理結果を、前記ホスト装置からの処理要求を受けたストレージ装置に送る機能、
この処理結果を受けたストレージ装置が、この処理要求を前記ホスト装置に送る機能
をコンピュータに実現させるためのプログラム。
【請求項16】
複数のストレージ装置からなるストレージクラスタと、前記ストレージクラスタに第一の通信ネットワークによって接続されたホスト装置とを備えたストレージクラスタシステムに適用されるプログラムにおいて、
前記各ストレージ装置は、前記ホスト装置から論理的にアクセスされることが可能な領域が分割されてなる複数のアクセス可能領域と、前記複数のアクセス可能領域のうち、前記ストレージ装置が物理的に管理している領域である物理アクセス可能領域にアクセスするためのコントローラと、前記コントローラによって参照され、このコントローラが備えられたストレージ装置から他のストレージ装置へのアクセス優先順位を定義した優先順位情報とを備え、前記各ストレージ装置のコントローラ同士は、第二の通信ネットワークによって接続されており、
前記プログラムは、
前記各ストレージ装置が、前記コントローラを介して、他のストレージ装置の物理アクセス可能領域にアクセスする機能、
前記ホスト装置から、自己に存在しない物理アクセス可能領域に対する処理要求が送られてきたストレージ装置が、前記処理要求から、前記処理要求に対応した特有のコマンドコードを取得するとともに、自己のストレージ装置の識別子を含むビットマップデータと、前記ホスト装置の識別子とを前記コマンドコード内に含め、前記ビットマップデータにおいて、前記自己のストレージ装置の識別子に対応するビット位置にビットを立て、前記コマンドコードを、前記優先順位情報に従って、前記処理要求が既に送られたストレージ装置を除いて最も優先順位が高いストレージ装置に送る機能、
前記複数のストレージ装置のうちの何れかから前記コマンドコードが送られたストレージ装置のうち、このコマンドコードに対応する処理要求が、自己に存在しない物理アクセス可能領域に対する処理要求であるストレージ装置が、このコマンドコードに含まれるビットマップデータにおいて、自己の識別子に対応するビット位置にビットを立て、このコマンドコードを、前記優先順位情報に従って、前記処理要求が既に送られたストレージ装置を除いて最も優先順位が高いストレージ装置に送る機能、
前記送られてきたコマンドコードに対応する処理要求が、自己に存在する物理アクセス可能領域に対する処理要求であるストレージ装置であって、前記送られてきたコマンドコード内にビットマップデータが含まれていない場合、このストレージ装置が、前記コマンドコードに対応する処理要求に対応する処理を行い、処理結果を前記ホスト装置に送る機能、
前記送られてきたコマンドコードに対応する処理要求が、自己に存在する物理アクセス可能領域に対する処理要求であるストレージ装置であって、前記送られてきたコマンドコード内にビットマップデータが含まれ、何れか一つのビット位置のビットが立てられている場合、このストレージ装置が、前記コマンドコードに対応する処理要求に対応する処理を行い、処理結果を、このビットが立てられたビット位置に対応する識別子のストレージ装置に送る機能、
前記送られてきたコマンドコードに対応する処理要求が、自己に存在する物理アクセス可能領域に対する処理要求であるストレージ装置であって、前記送られてきたコマンドコード内にビットマップデータが含まれ、複数のビット位置のビットが立てられている場合、このストレージ装置が、前記コマンドコードに対応する処理要求に対応する処理を行うとともに、前記ホスト装置から直接処理要求を受けたストレージ装置に対する応答を作成し、前記作成した応答を、ビットが立てられたビット位置に対応する識別子のストレージ装置を経由して、前記ホスト装置からの処理要求を受けたストレージ装置に送る機能、
前記応答が送られたストレージ装置が、前記応答を作成したストレージ装置に対して、処理結果を送るように要求する機能、
前記要求されたストレージ装置が、この処理結果を、要求元のストレージ装置に送ることによって、何れのストレージ装置においてなされた処理結果も、前記ホスト装置から直接処理要求を受けたストレージ装置に送る機能、
前記前記ホスト装置から直接処理要求を受けたストレージ装置が、この処理結果を前記ホスト装置に送る機能
をコンピュータに実現させるためのプログラム。
【請求項17】
請求項15又は請求項16に記載のプログラムにおいて、
前記優先順位情報で定義された優先順位に従って他のストレージ装置のコントローラに処理要求を送った場合であって、この送り先のコントローラが前記処理要求を受け付けない場合、このコントローラからエラー応答が戻された場合、又はこのコントローラから所定時間応答が無い場合には、前記処理要求が既に送られたストレージ装置を除いて、次に優先順位が高いストレージ装置のコントローラに処理要求を送り直す機能
を更にコンピュータに実現させるためのプログラム。
【請求項18】
請求項15又は請求項16に記載のプログラムにおいて、
前記複数のストレージ装置のうち、前記ホスト装置からアクセスされたストレージ装置が、前記各ストレージ装置が保持する物理アクセス可能領域の情報を前記ホスト装置に通知する機能、
前記ホスト装置が、前記通知された情報と、前記処理要求の内容とに基づいて、前記処理要求を送るストレージ装置を切り替える機能
を更にコンピュータに実現させるためのプログラム。
【請求項19】
請求項15又は請求項16に記載のプログラムにおいて、
前記各ストレージ装置が備えている前記複数のアクセス可能領域のうちの一つ、又は二つ以上の組み合わせから構成され、前記ホスト装置から認識可能な論理ボリュームの容量情報と、前記論理ボリュームへのアクセスが許可されたホスト装置を特定するホスト識別番号と、前記ホスト装置からアクセスされる前記物理アクセス可能領域を特定する物理アクセス可能領域識別番号との組み合わせを管理するデータテーブルを、前記ストレージクラスタの全てのストレージ装置に備え、
前記論理ボリュームを構成するアクセス可能領域のうち、前記物理アクセス可能領域と、前記ホスト装置によって認識される領域である論理アクセス可能領域との対応関係を、この物理アクセス可能領域が存在するストレージ装置のみが保持しており、
前記プログラムは、
前記ホスト装置から送られてきた処理要求のうち、ライト命令及びリード命令を含むメディアアクセス命令以外の処理要求に対しては、前記ホスト装置からアクセスされたストレージ装置が前記ホスト装置に対して処理結果を送る機能
を更にコンピュータに実現させるためのプログラム。
【請求項20】
請求項15又は請求項16に記載のプログラムにおいて、
前記ストレージクラスタの管理を行う管理コンソールを更に備え、
前記管理コンソールが、前記各ストレージ装置のうち任意のストレージ装置に対して、前記各ストレージ装置の情報と前記ストレージクラスタの構築要求とを送信し、送信先のストレージ装置を、前記ストレージクラスタの構築処理に関してマスタの役割をする構築マスタする機能、
前記構築マスタが、前記管理コンソールから送信された前記情報に対応する各ストレージ装置に対してテストメッセージを送信する機能、
前記テストメッセージを受信した各ストレージ装置が、前記テストメッセージに対する応答を前記構築マスタに返信する機能、
前記構築マスタが、各ストレージ装置から返信された応答から、前記テストメッセージに対する各ストレージ装置の応答時間を計測し、各ストレージ装置を、応答時間の短い順に優先順位付けすることにより前記優先順位情報を作成するとともに、前記各ストレージ装置に対して、前記ストレージクラスタに含まれるストレージ装置のリストを送信する機能、
前記構築マスタ以外の各ストレージ装置が、前記送信されたリストに従って、自己以外のストレージ装置に対して、テストメッセージを送信する機能、
前記テストメッセージを受信した各ストレージ装置が、このテストメッセージに対する応答を送信元のストレージ装置に返信する機能、
前記構築マスタ以外の各ストレージ装置が、前記返信された応答から、このテストメッセージに対する各ストレージ装置の応答時間を計測し、各ストレージ装置を、この応答時間の短い順に優先順位付けすることにより前記優先順位情報を作成し、前記構築マスタに対して前記優先順位情報の構築完了応答を返信する機能、
前記構築マスタが、この構築完了応答を受信すると、前記管理コンソールに対して、前記優先順位情報の構築完了応答を返信することによって、前記ストレージクラスタの構築処理を行う機能
を更にコンピュータに実現させるためのプログラム。
【請求項21】
請求項15又は請求項16に記載のプログラムにおいて、
動作中のストレージクラスタに新たなストレージ装置を追加する追加処理を行う管理コンソールを更に備え、
前記管理コンソールが、前記各ストレージ装置のうち任意のストレージ装置に対して、新たなストレージ装置の追加要求と、この新たなストレージ装置の情報とを送信し、送信先のストレージ装置を、前記ストレージ装置の追加処理に関してマスタの役割をする追加マスタとする機能、
前記追加マスタが、前記管理コンソールから前記情報が送信された新たなストレージ装置に対してテストメッセージを送信し、この送信されたテストメッセージに対して前記新たなストレージ装置からなされた応答を確認し、前記新たなストレージ装置のアクセス優先順位を最下位の優先順位として前記優先順位情報に追加するとともに、前記優先順位情報にアクセス優先順位が既に定義されているストレージ装置に対して、前記新たなストレージ装置が前記ストレージクラスタに追加された旨のメッセージと、前記新たなストレージ装置の情報とを送信する機能、
前記追加マスタ及び前記新たなストレージ装置以外のストレージ装置が、自己の優先順位情報の優先順位最下位に前記新たなストレージ装置を追加し、前記追加マスタへ追加完了応答を返信する機能、
前記追加マスタが、前記新たなストレージ装置に対して、前記ストレージクラスタに含まれるストレージ装置のリストを送信する機能、
前記新たなストレージ装置が、前記リストに従って、自己以外のストレージ装置に対してテストメッセージを送信する機能、
前記テストメッセージを受信した各ストレージ装置が、このテストメッセージに対する応答を前記新たなストレージ装置に返信する機能、
前記新たなストレージ装置が、前記返信された応答から、このテストメッセージに対する各ストレージ装置の応答時間を計測し、各ストレージ装置を応答時間の短い順に優先順位付けすることによって前記優先順位情報を作成し、前記追加マスタに対して、前記優先順位情報の構築完了応答を返信する機能、
前記追加マスタが、この構築完了応答及び前記追加完了応答を受信すると、前記管理コンソールに対して、前記新たなストレージ装置の追加完了応答を返信することによって、前記新たなストレージ装置の追加処理を行う機能
を更にコンピュータに実現させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate


【公開番号】特開2007−272357(P2007−272357A)
【公開日】平成19年10月18日(2007.10.18)
【国際特許分類】
【出願番号】特願2006−94721(P2006−94721)
【出願日】平成18年3月30日(2006.3.30)
【出願人】(000003078)株式会社東芝 (54,554)
【出願人】(301063496)東芝ソリューション株式会社 (1,478)
【Fターム(参考)】