説明

計算機システム

【課題】 計算機のOSによるストレージ装置の認識に依存せず、ストレージ装置内の論理ユニットを一意に特定することを可能とする。
【解決手段】 Key登録用計算機10は、ストレージ装置30の装置番号を取得する。Key登録用計算機10は、ストレージ装置30が有するLUを識別するためのLUNを認識する。Key登録用計算機10は、LUに固有のKeyを作成する。Key登録用計算機10は、作成されたKeyをLUに登録する。Key登録用計算機10は、作成されたキーを装置番号及びLUNに対応付けてKeyリストに登録する。Key登録用計算機10は、作成されたKeyが登録されたKeyリストをクラスタ計算機20に配布する。クラスタ計算機20は、ユーザによって指定されたLUに固有のKeyをKeyリストから取得する。クラスタ計算機20は、取得されたKeyが登録されているLUを特定する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ストレージ装置が有する論理ユニットを特定する計算機システムに関する。
【背景技術】
【0002】
近年、例えば複数の計算機及び少なくとも1つ以上のストレージ装置から構成されるクラスタシステム(計算機システム)が知られている。このクラスタシステムを構成するストレージ装置は、各種データが格納される論理ユニット(LU:Logical Unit)を有する。
【0003】
このクラスタシステムを構成する計算機は、当該クラスタシステム構築前に、当該クラスタシステムを構成する計算機によって使用される論理ユニットが属するストレージ装置のVendor ID、Product ID、SCSI(Small Computer System Interface)アドレス、論理ユニット番号(LUN:Logical Unit Number)等を含む識別情報を当該ストレージ装置から取得し、リスト化して当該計算機のデータベース(DB)に保存する。この識別情報は、ストレージ装置が有する論理ユニットの各々を識別する。識別情報は、計算機のオペレーティングシステム(OS:Operating System)が当該計算機とストレージ装置との接続を認識した際に取得される。
【0004】
なお、同一のストレージ装置が複数の論理ユニットを有する場合、当該複数の論理ユニットを識別するための識別情報に含まれるVendor ID、Product ID及びSCSIアドレスは同一であるが、LUNは当該論理ユニット毎に異なる。これにより、同一のストレージ装置が有する論理ユニットであっても識別される。
【0005】
クラスタシステムが構築された後に、例えばユーザによって指定された論理ユニットを計算機が使用する場合には、当該計算機のデータベースに保存されている当該論理ユニットを識別するための識別情報と一致する論理ユニットをストレージ装置内から検索する。このとき、ユーザによって指定された論理ユニットを識別するための識別情報と一致する論理ユニットがストレージ装置内に存在すれば、当該論理ユニットがユーザによって指定された論理ユニットであると識別できる。これにより、計算機は、ユーザによって指定された論理ユニットを使用することができる。
【0006】
上記したストレージ装置が有する論理ユニットを特定(識別)する技術に関連して、例えばディスク装置本体に計算機の識別情報(WWN:World Wide Name)と当該装置内の論理ユニット番号(LUN:Logical Unit Number)の対応を保存しておき、計算機からLUを使用する要求を受けると、対応するLUNを計算機に返却することで、LUを排他管理する技術(以下、先行技術1と表記)が開示されている(例えば、特許文献1を参照)。
【0007】
また、例えば発行するコマンドに識別子を付加し、当該発行されたコマンドが既に補助記憶装置に対して発行されている場合には、「使用中」の応答を返し、そうでない場合は「使用許可」の応答を返すことで補助記憶装置の排他管理を行う技術(以下、先行技術2と表記)が開示されている(例えば、特許文献2を参照)。
【0008】
また、例えば上位装置の識別情報(ID情報)と上位装置固有の識別情報(WWN)を保持し、記憶装置内部の論理ボリュームと対応付け、上位装置から論理ボリュームの使用要求を受けた場合、上位装置と対応付けた論理ボリュームに対してアクセス処理を行うことで排他管理を行う技術(以下、先行技術3と表記)が開示されている(例えば、特許文献3を参照)。
【特許文献1】特開2000−322369号公報
【特許文献2】特開平2−10424号公報
【特許文献3】特開2001−249769号公報
【発明の開示】
【発明が解決しようとする課題】
【0009】
ところで、上記したクラスタシステムを構成する計算機に障害が発生した場合、またはストレージ装置に故障が生じた場合には、当該クラスタシステムを構成する計算機のOSは、ストレージ装置との接続を再認識する必要がある。この場合、クラスタシステムを構成するストレージ装置が有する論理ユニット(ストレージ装置内の論理ユニット)は同一であるにもかかわらず、計算機の障害等の発生前とは異なる識別情報が取得される可能性がある。
【0010】
具体的には、同一のストレージ装置であれば、当該ストレージ装置内の論理ユニットを識別するための識別情報に含まれるVendor ID、Product ID及びSCSIアドレスは同一であるが、OSによるストレージ装置の再認識によっては、計算機の障害等が発生する前のLUNとは異なるLUNとして認識されることがある。これにより、同一の論理ユニットであっても、異なる識別情報が取得されてしまう。
【0011】
また、例えばクラスタシステムにおいて計算機に複数の同一種類のストレージ装置が接続されている場合、上記したようなOSによるストレージ装置の再認識の際に、当該複数のストレージ装置の認識順序が変わる可能性がある。この場合にも、クラスタシステムを構成するストレージ装置が有する論理ユニットは同一であるにもかかわらず、計算機の障害等の発生前とは異なる識別情報が取得される可能性がある。
【0012】
具体的には、計算機の障害等の発生前のストレージ装置の認識順と異なる順番でOSの再認識が行われた場合には、例えば識別情報に含まれるVendor ID、Product ID及びLUNは同一となるもののSCSIアドレスが異なって認識される可能性がある。また、ストレージ装置の故障が発生した場合には、LUNが異なって認識される場合もある。
【0013】
上記したような場合、同一の論理ユニットであるにもかかわらず、計算機のデータベースに保存されている論理ユニットの識別情報とストレージ装置が有する当該論理ユニットの識別情報が一致しない可能性がある。また、計算機のデータベースに保存されている論理ユニットの識別情報が、当該論理ユニット以外の論理ユニットの識別情報と一致してしまう可能性も考えられる。その結果、本来計算機が使用すべき論理ユニットを特定することができないために、当該論理ユニットを使用できないといった事態が発生し得る。
【0014】
なお、ここで説明したようなことは、上記した先行技術1〜先行技術3においても発生し得る。
【0015】
そこで、本発明の目的は、計算機のOSによるストレージ装置の認識に依存せず、ストレージ装置内の論理ユニットを一意に特定することが可能な計算機システムを提供することにある。
【課題を解決するための手段】
【0016】
本発明の1つの態様によれば、第1の計算機及び当該第1の計算機と接続された第2の計算機を含む複数の計算機と、前記複数の計算機の各々と接続された少なくとも1つのストレージ装置とを備える計算機システムにおいて、前記ストレージ装置は、論理ユニットを有し、前記第1の計算機は、前記第1の計算機が前記ストレージ装置接続された際に、当該ストレージ装置を識別するための装置番号を取得する第1の取得手段と、前記第1の計算機と接続された前記ストレージ装置が有する論理ユニットを識別するための論理ユニット番号を認識する認識手段と、前記取得された装置番号及び前記認識された論理ユニット番号に応じて、当該論理ユニット番号によって識別される論理ユニットに固有のキーを作成するキー作成手段と、前記作成されたキーを、前記ストレージ装置が有する前記論理ユニット番号によって識別される論理ユニットに登録する第1の登録手段と、前記作成されたキーを、前記取得された装置番号及び前記認識された論理ユニット番号に対応づけてキーリストに登録する第2の登録手段と、前記作成されたキーが登録されたキーリストを前記第2の計算機に配布する配布手段とを含み、前記第2の計算機は、前記配布されたキーリストを保存するキーリスト保存手段と、前記第2の計算機を利用する第2のユーザによって指定された論理ユニットを識別するための論理ユニット番号に対応付けて前記キーリスト保存手段に保存されているキーリストに登録されているキーを、当該キーリストから取得する第2の取得手段と、前記取得されたキーが登録されている前記ストレージ装置が有する論理ユニットを特定する特定手段とを含むことを特徴とする計算機システムが提供される。
【発明の効果】
【0017】
本発明によれば、計算機のOSによるストレージ装置の認識に依存せず、ストレージ装置内の論理ユニットを一意に特定することを可能とする。
【発明を実施するための最良の形態】
【0018】
以下、図面を参照して、本発明の実施形態について説明する。
【0019】
図1は、本発明の実施形態に係る計算機システムのハードウェア構成を示す図である。図1に示す計算機システムは、Key登録用計算機(第1の計算機)10、クラスタ計算機(第2の計算機)20及びストレージ装置30から構成される。
【0020】
Key登録用計算機10及びクラスタ計算機20は、例えばLAN(Local Area Network)を介して通信可能に接続されている。Key登録用計算機10及びストレージ装置30は、例えばSAN(Storage Area Network)を介して通信可能に接続されている。同様に、クラスタ計算機20及びストレージ装置30は、SANを介して通信可能に接続されている。また、クラスタ計算機20及びストレージ装置30は、クラスタシステムを構成する。なお、クラスタシステムを構成するクラスタ計算機は複数存在するが、図1では、クラスタ計算機20以外のクラスタ計算機は省略されている。また、図1では、計算機システムが1つのストレージ装置30を備える構成であるが、複数のストレージ装置30を備える構成であっても構わない。
【0021】
Key登録用計算機10は、CPU11、メモリ12、LANアダプタ13及びホストバスアダプタ(HBA)14を備える。
【0022】
CPU11は、Key登録用計算機10の動作を制御するために設けられたプロセッサである。CPU11は、例えばメモリ12にロードされる各種アプリケーションプログラムを実行する。
【0023】
LANアダプタ13は、Key登録用計算機10及びクラスタ計算機20を接続するためのアダプタである。ホストバスアダプタ14は、Key登録用計算機10及びストレージ装置30を接続するためのアダプタである。
【0024】
クラスタ計算機20は、CPU21、メモリ22、LANアダプタ23及びホストバスアダプタ24を備える。
【0025】
CPU21は、クラスタ計算機20の動作を制御するために設けられたプロセッサである。CPU21は、例えばメモリ22にロードされる各種アプリケーションプログラムを実行する。
【0026】
LANアダプタ23は、Key登録用計算機10及びクラスタ計算機20を接続するためのアダプタである。ホストバスアダプタ24は、クラスタ計算機20及びストレージ装置30を接続するためのアダプタである。
【0027】
ストレージ装置30は、コントローラ31及びハードディスクドライブ(HDD)32を備える。ストレージ装置30は、複数のハードディスクドライブを備えるが、図1では、ハードディスクドライブ32以外のハードディスクドライブは省略されている。
【0028】
コントローラ31は、例えばハードディスクドライブ32と接続されている。コントローラ13は、例えばクラスタ計算機20からのデータの読み出し/書き込み要求(IO要求)に応じて、複数のハードディスクドライブ32を制御し、当該データの読み出し/書き込み処理を実行する。また、コントローラ31は、例えばKey登録用計算機10及びクラスタ計算機20とSANを介してデータの送受信を行う。このデータの送受信は、例えばSCSI(Small Computer System Interface)を介して行われる。
【0029】
ハードディスクドライブ32は、各種データを格納する機能を有する。また、ハードディスクドライブ32を含む複数のハードディスクドライブは、例えば複数の論理ユニット(LU:Logical Unit)を構成する。つまり、ストレージ装置30は、複数のLUを有する。
【0030】
図2は、図1に示すKey登録用計算機10の主として機能構成を示すブロック図である。Key登録用計算機10は、LU存在判定部101、Key作成部102、Key登録部103及びKeyリスト登録部104を含む。なお、これらの各部101乃至104は、例えばKey登録用計算機10が備えるCPU11がメモリ12にロードされたプログラムを実行することにより実現される。また、Key登録用計算機10は、Keyリスト保存部105を含む。このKeyリスト保存部105は、例えばKey登録用計算機10が備えるメモリ12内にその領域が確保されている。
【0031】
ここで、Key登録用計算機10は、当該Key登録用計算機10がストレージ装置30と接続された際に、当該ストレージ装置30のVendor ID、Product ID及びSCSIアドレスを当該ストレージ装置30のコントローラ31から取得する。Key登録用計算機10は、取得されたストレージ装置30のVendor ID、Product ID及びSCSIアドレスに応じて、当該ストレージ装置30を一意に識別するための装置番号を設定する。これにより、Key登録用計算機10は、装置番号を取得する。
【0032】
また、Key登録用計算機10は、当該Key登録用計算機10がストレージ装置30と接続されると、当該ストレージ装置30が有するLUを識別するための論理ユニット番号(LUN:Logical Unit Number)を認識する。この場合、Key登録用計算機10は、ストレージ装置30側でLUに付与されたLUNを当該ストレージ装置30から取得することによって当該LUNを認識する。このLUは、ストレージ装置30に備えられるハードディスクドライブ32によって構成される。
【0033】
LU存在判定部101は、上記したようにKey登録用計算機10によってLUNが認識されるか否かによって当該Key登録用計算機10と接続されたストレージ装置30にLUが存在するか否かを判定する。
【0034】
Key作成部102は、Key登録用計算機10によって取得された装置番号及び認識されたLUNに応じて、当該LUNによって識別されるLUに固有のKey(キー)を作成する。Keyは、Key登録用計算機10によって取得された装置番号及び認識されたLUNの組み合わせによって固有性が担保される。
【0035】
このKeyは、例えばKey登録用計算機10に備えられるホストバスアダプタ14のポートとストレージ装置30に備えられるコントローラ31のポートを対応付ける(紐付ける)役割を有するSCSI−3規格のPersistent Reservation-Keyである。Keyは、例えばSCSI機器間を識別するための8Byte長の値である。Keyは、後述する装置識別番号が割り当てられる装置識別番号割り当て部及びLU識別番号が割り当てられるLU識別番号割り当て部から構成される。
【0036】
Key登録部103は、Key作成部102によって作成されたKeyをKey登録用計算機10によって認識されたLUに登録する。このとき、例えばSCSIの規格に応じてKeyがKey登録部103によりストレージ装置30に送信されることによって、当該ストレージ装置30側で当該Keyが登録される。LUに対して登録されたKeyは、ストレージ装置30において管理される。
【0037】
Keyリスト登録部104は、Key作成部102によって作成されたKeyを、Key登録用計算機10によって取得された装置番号及び認識されたLUNに対応付けてKeyリスト(キーリスト)に登録する。Keyリスト登録部104によってKeyが登録されたKeyリストは、Keyリスト保存部105に保存される。
【0038】
なお、Key登録用計算機10は、Keyリスト保存部105に保存されたKeyリストを、クラスタシステムを構成するクラスタ計算機20にLANアダプタ13を介して配布(送信)する。また、クラスタシステムを構成するクラスタ計算機20が複数存在する場合には、当該複数のクラスタ計算機20の各々に対してKeyリストが配布される。
【0039】
図3は、図1に示すクラスタ計算機20の主として機能構成を示すブロック図である。クラスタ計算機20は、Keyリスト保存部201を含む。このKeyリスト保存部105は、例えばクラスタ計算機20が備えるメモリ22内にその領域が確保されている。Keyリスト保存部201には、Key登録用計算機10によって配布されたKeyリストが保存される。なお、Keyリスト保存部201に保存されるKeyリストは、例えばクラスタ計算機20が備えるLANアダプタ23を介して受信される。
【0040】
また、クラスタ計算機20は、Key取得部202、装置番号参照部203、装置識別番号判定部204及びLU識別番号判定部205を含む。なお、これらの各部202乃至205は、例えばクラスタ計算機20が備えるCPU21がメモリ22にロードされたプログラムを実行することにより実現される。
【0041】
Key取得部202は、クラスタ計算機20を利用するユーザによって指定(選択)されたLUを識別するためのLUNに対応付けてKeyリストに登録されているKeyを取得する。Key取得部202は、Keyリスト保存部201に保存されているKeyリストからKeyを取得する。なお、クラスタ計算機20を利用するユーザは、Keyリスト保存部201に保存されているKeyリストから例えば使用したいLUを識別するためのLUNを指定することによって、当該LUを選択する。
【0042】
装置識別番号参照部203は、Key取得部202によって取得されたKeyを構成する装置識別番号割り当て部に割り当てられている装置識別番号(以下、第1の装置識別番号と表記)を参照する。また、装置識別番号参照部203は、クラスタ計算機20に接続されているストレージ装置30が有するLUのうち、例えば先頭LU(LUN=0)に登録されているKeyを構成する装置識別番号割り当て部に割り当てられている装置識別番号(以下、第2の装置識別番号と表記)を参照する。
【0043】
装置識別番号判定部204は、装置識別番号参照部203によって参照された第1の装置識別番号及び第2の装置識別番号を比較する。装置識別番号判定部204は、比較結果により、第1の装置識別番号及び第2の装置識別番号が一致するか否かを判定する。
【0044】
LU識別番号判定部205は、Key取得部202によって取得されたKeyを構成するLU識別番号割り当て部に割り当てられているLU識別番号(以下、第1のLU識別番号と表記)を参照する。LU識別番号判定部205は、ストレージ装置30が有するLUに登録されているKeyを構成するLU識別番号割り当て部に割り当てられているLU識別番号(以下、第2のLU識別番号と表記)を参照する。LU識別番号判定部205は、参照された第1のLU識別番号及び第2のLU識別番号を比較することにより、当該第1のLU識別番号及び第2のLU識別番号が一致するか否かを判定する。LU識別番号判定部205は、ストレージ装置30が有するLUに登録されているKeyの第2のLU識別番号の全てについて判定処理を繰り返すことにより、第1のLU識別番号と一致する第2のLU識別番号が割り当てられているKeyを、ストレージ装置30が有するLUに登録されているKeyの中から検索する。
【0045】
これにより、クラスタ計算機20は、LU識別番号判定部205によって検索されたKeyが登録されているLUが当該クラスタ計算機20を利用するユーザによって選択されたLUであるものとして特定する。
【0046】
図4は、Keyリスト保存部105(または、Keyリスト保存部201)に保存されているKeyリストのデータ構造の一例を示す。
【0047】
図4に示すように、Keyリストには、登録番号に対応付けて装置番号、LUN及びKeyが登録されている。装置番号は、Key登録用計算機10及びクラスタ計算機20に接続されているストレージ装置30を一意に識別するための番号である。LUNは、装置番号によって識別されるストレージ装置30が有するLUを一意に識別するための番号である。Keyは、装置番号によって識別されるストレージ装置30が有するLUであって、LUNによって識別されるLUに登録されているKeyである。
【0048】
図4に示す例では、Keyリストには、登録番号「1」に対応付けて装置番号「1」、LUN「0」及びKey「0100000000000001」が登録されている。Keyリストには、登録番号「2」に対応付けて装置番号「1」、LUN「1」及びKey「0100000000000002」が登録されている。これによれば、装置番号「1」によって識別されるストレージ装置30はLUN「0」によって識別されるLU(LU0)及びLUN「1」によって識別されるLU(LU1)を有し、当該LU0にはKey「0100000000000001」が登録されており、当該LU1にはKey「0100000000000002」が登録されていることが示されている。
【0049】
また、Keyリストには、登録番号「3」に対応付けて装置番号「2」、LUN「0」及びKey「0200000000000001」が登録されている。Keyリストには、登録番号「4」に対応付けて装置番号「2」、LUN「1」及びKey「0200000000000002」が登録されている。これによれば、装置番号「2」によって識別されるストレージ装置30はLUN「0」によって識別されるLU(LU0)及びLUN「1」によって識別されるLU(LU1)を有し、当該LU0にはKey「0200000000000001」が登録されており、当該LU1にはKey「0200000000000002」が登録されていることが示されている。
【0050】
次に、図5を参照して、ストレージ装置30が有するLUに登録されているKey(Keyリストに登録されているKey)のデータ構造の一例について説明する。
【0051】
図5では、例えば装置番号「1」によって識別されるストレージ装置30はLU0(LUN=0)及びLU1(LUN=1)を有し、装置番号「2」によって識別されるストレージ装置30はLU0(LUN=0)及びLU1(LUN=1)を有する場合を想定している。
【0052】
図5に示すように、装置番号「1」によって識別されるストレージ装置30が有するLU0にはKey301が登録されている。装置番号「1」によって識別されるストレージ装置30が有するLU1にはKey302が登録されている。また、装置番号「2」によって識別されるストレージ装置30が有するLU0にはKey303が登録されている。装置番号「2」によって識別されるストレージ装置30が有するLU1にはKey304が登録されている。
【0053】
ここで、上記したようにKey301〜Key304は、8Byte長の値である。図5に示す例では、Key301〜Key304は、16進数表記で8Byte長が表されている。また、Key301〜Key304は、それぞれ前述した装置識別番号割り当て部及びLU識別番号割り当て部から構成される。Key301〜Key304においては、8Byteのうち上位1Byteが装置識別番号割り当て部であり、下位7ByteがLU識別番号割り当て部である。
【0054】
例えばKey301は、装置識別番号割り当て部(Key301の上位1Byte)301a及びLU識別番号割り当て部(Key301の下位7Byte)301bから構成される。装置識別番号割り当て部301aには、装置番号に応じて装置識別番号が割り当てられている。ここでは、装置番号「1」に応じて装置識別番号「01」が割り当てられている。LU識別番号割り当て部301bには、Key301が登録されているLU0を識別するためのLUN(ここでは、LUN=0)に応じたLU識別番号が割り当てられている。ここでは、LUN=0に応じてLU識別番号「00000000000001」が割り当てられている。したがって、装置番号「1」によって識別されるストレージ装置30が有するLU0には、Key301として「0100000000000001」が登録されている。
【0055】
同様に、Key302は、装置識別番号割り当て部(Key302の上位1Byte)302a及びLU識別番号割り当て部(Key302の下位7Byte)302bから構成される。装置識別番号割り当て部302aには、装置番号「1」に応じて装置識別番号「01」が割り当てられている。LU識別番号割り当て部302bには、Key302が登録されているLU1を識別するためのLUN(ここでは、LUN=1)に応じたLU識別番号が割り当てられている。ここでは、LUN=1に応じてLU識別番号「0000000000000002」が割り当てられている。したがって、装置番号「1」によって識別されるストレージ装置30が有するLU1には、Key302として「010000000000000002」が登録されている。
【0056】
Key303は、装置識別番号割り当て部(Key303の上位1Byte)303a及びLU識別番号割り当て部(Key303の下位7Byte)302bから構成される。装置識別番号割り当て部303aには、装置番号「2」に応じて装置識別番号「02」が割り当てられている。LU識別番号割り当て部303bには、Key303が登録されているLU0を識別するためのLUN(ここでは、LUN=1)に応じたLU識別番号が割り当てられている。ここでは、LUN=1に応じてLU識別番号「0000000000000001」が割り当てられている。したがって、装置番号「2」によって識別されるストレージ装置30が有するLU0には、Key302として「020000000000000001」が登録されている。
【0057】
また、Key304は、装置識別番号割り当て部(Key304の上位1Byte)304a及びLU識別番号割り当て部(Key304の下位7Byte)304bから構成される。装置識別番号割り当て部304aには、装置番号「2」に応じて装置識別番号「02」が割り当てられている。LU識別番号割り当て部304bには、Key304が登録されているLU1を識別するためのLUN(ここでは、LUN=1)に応じたLU識別番号が割り当てられている。ここでは、LUN=1に応じてLU識別番号「0000000000000002」が割り当てられている。したがって、装置番号「2」によって識別されるストレージ装置30が有するLU1には、Key304として「020000000000000002」が登録されている。
【0058】
次に、図6のフローチャートを参照して、Key登録用計算機10の処理手順について説明する。
【0059】
Key登録用計算機10は、当該Key登録用計算機10がストレージ装置30と接続されると、当該ストレージ装置30を一意に識別するための装置番号を取得する。なお、Key登録用計算機10は、当該Key登録用計算機10と複数のストレージ装置30が接続された場合には、当該ストレージ装置30内のLUのSCSIアドレス(Port番号、Bus番号、ターゲット番号)からストレージ装置30の区別を行う。つまり、ストレージ装置30と接続された際に取得されるSCSIアドレスが異なる場合には異なるストレージ装置であるものとして扱われる。したがって、Key登録用計算機10と複数のストレージ装置30とが接続された場合には、当該複数のストレージ装置30の各々を識別するための装置番号が取得される。この場合、Key登録用計算機10は、SCSIアドレスに対応する装置番号を、ストレージ装置30を識別するための装置番号として設定する。
【0060】
また、Key登録用計算機10は、当該Key登録用計算機10がストレージ装置30と接続されると、当該ストレージ装置30が有するLUを識別するためのLUNを認識する。
【0061】
なお、以下に説明するKey登録用計算機10の処理は、例えばクラスタ計算機20及びストレージ装置30によって構成されるクラスタシステムの構築前に、例えば当該Key登録用計算機10を利用するユーザの要求に応じて実行される。
【0062】
まず、LU存在判定部101は、Key登録用計算機10が接続されたストレージ装置(Key登録用計算機10によって取得された装置番号によって識別されるストレージ装置)30内にLUが存在するか否かを判定する(ステップS1)。LU存在判定部101は、Key登録用計算機10によってLUNが認識された場合には、当該LUNによって識別されるLUが存在すると判定する。このとき、LU存在判定部101は、ストレージ装置30からLUNを取得することによって当該LUNの認識処理を実行する。
【0063】
LUが存在すると判定された場合(ステップS1のYES)、Key作成部102は、当該LUに固有のKeyを作成する。Key作成部102は、LU存在判定部101によって存在すると判定されたLUを有するストレージ装置30を識別するための装置番号に応じて、Keyの装置識別番号割り当て部(Keyの上位1Byte)に装置識別番号を割り当てる(ステップS2)。この装置番号は、上記したようにストレージ装置30と接続された際にKey登録用計算機10よって取得された装置番号である。
【0064】
次に、Key作成部102は、ステップS1においてLU存在判定部101によって存在すると判定されたLUを識別するためのLUNに応じてKeyのLU識別番号割り当て部(Keyの下位7Byte)にLU識別番号を割り当てる(ステップS3)。このLUNは、上記したようにKey登録用計算機10がストレージ装置30と接続された際に当該Key登録用計算機10によって認識される。
【0065】
このように、Key作成部102は、ステップS2及びステップS3の処理によってKeyを作成する。このKey作成部102によって作成されたKeyは、例えばSCSI−3規格のPersistent Reservation-Keyである。
【0066】
Key登録部103は、Key作成部102によって作成されたKeyをLU存在判定部101によって存在すると判定されたLUに登録する(ステップS4)。このLUに登録されたKeyは、当該LUを有するストレージ装置30において管理される。なお、Key登録部103によってLUに登録されたKeyは、例えばストレージ装置30と接続されている計算機の障害等によって当該ストレージ装置30との接続の再認識が行われた場合であっても当該再認識に依存することなく不変である。
【0067】
次に、Keyリスト登録部104は、Key作成部102によって作成されたKeyを、LU存在判定部101によって存在すると判定されたLUを有するストレージ装置を識別するための装置番号及び当該LUを識別するためのLUNに対応付けてKeyリストに登録する(ステップS5)。Keyリスト登録部104によってKeyが登録されたKeyリストは、Keyリスト保存部105に保存される。なお、このKeyリストの内容(Key等)は、例えばKey登録用計算機10を含む計算機の障害やストレージ装置の故障等によって当該ストレージ装置30との接続の再認識が当該計算機のOSにより行われた場合であっても、当該再認識に依存することなく不変である。
【0068】
ステップS5の処理が実行されると、ステップS1に戻って処理が繰り返される。ステップS1において、Key登録用計算機10が接続されたストレージ装置30内に(上記したステップS2〜ステップS5の処理を実行していない)LUが存在しないと判定された場合、処理は終了される。つまり、例えばKey登録用計算機10が複数のストレージ装置30と接続された場合には、当該複数のストレージ装置30の各々が有するLUの全てについて上記したステップS2〜ステップS5の処理が実行される。この場合、例えばストレージ装置30毎に、当該ストレージ装置30が有するLUを識別するためのLUNの順に処理が実行される。つまり、Key登録用計算機10と接続された複数のストレージ装置30が有するLUの全てについてKeyの登録処理が実行される。
【0069】
なお、同一のストレージ装置30内に複数のLUが存在する場合には、上記したステップS2においては、当該複数のLUに登録されるKeyの装置識別番号割り当て部には同一の装置識別番号が割り当てられる。
【0070】
次に、図7を参照して、Key登録用計算機10の動作について具体的に説明する。
【0071】
図7に示すように、Key登録用計算機10は、ストレージ装置30a及びストレージ装置30bと接続されている場合を想定する。ストレージ装置30aを識別するための装置番号は「1」であるものとし、ストレージ装置30bを識別するための装置番号は「2」であるものとする。また、ストレージ装置30aはLU0及びLU1を有し、ストレージ装置30bはLU0及びLU1を有するものとする。なお、LU0のLUNは0であり、LU1のLUNは1であるものとする。
【0072】
Key登録用計算機10は、当該Key登録用計算機10がストレージ装置30a及び30bと接続されると、当該ストレージ装置30aの装置番号「1」及びストレージ装置30bの装置番号「2」を取得する。また、Key登録用計算機10は、当該Key登録用計算機10がストレージ装置30aと接続されると、当該ストレージ装置30aが有するLU0及びLU1を識別するLUN「0」及び「1」を認識する。同様に、Key登録用計算機10は、当該Key登録用計算機10がストレージ装置30bと接続されると、当該ストレージ装置30bが有するLU0及びLU1を識別するLUN「0」及び「1」を認識する。
【0073】
まず、LU存在判定部101は、例えばKey登録用計算機10が接続されたストレージ装置30a内にLUが存在するか否かを判定する。LU存在判定部101は、Key登録用計算機10がLUNを認識したか否かにより判定する。この場合、LU存在判定部101は、ストレージ装置30a内にLU0が存在すると判定する。
【0074】
次に、Key作成部102は、LU存在判定部101によって存在すると判定されたストレージ装置30a内のLU0に固有のKeyを作成する。この場合、Key作成部102は、ストレージ装置30aを識別するための装置番号「1」に応じて、Keyの装置識別番号割り当て部(Keyの上位1Byte)に装置識別番号(ここでは、「01」)を割り当てる。また、Key作成部102は、LU存在判定部101によって存在すると判定されたLU0のLUN(LUN=0)に応じて、KeyのLU識別番号割り当て部(Keyの下位7Byte)にLU識別番号(ここでは、「00000000000001」)を割り当てる。これにより、Key作成部102は、ストレージ装置30a内のLU0に固有のKeyとして、「010000000000000001」を作成する。
【0075】
Key登録部103は、Key作成部102によって作成されたKey「010000000000000001」をストレージ装置30a内のLU0に登録する(ステップS11)。
【0076】
Keyリスト登録部104は、Key作成部102によって作成されたKey「010000000000000001」を、例えば図7に示すKeyリスト400に登録する(ステップS12)。このとき、Keyリスト登録部104は、ストレージ装置30aを識別するための装置番号「1」及び当該ストレージ装置30a内のLU0を識別するためのLUN「0」に対応付けてKey「010000000000000001」を登録する。
【0077】
ここでは、ストレージ装置30a内のLU0に固有のKeyが作成される場合について説明したが、以下、ストレージ装置30a内のLU1、ストレージ装置30b内のLU0及びLU1についても同様にして固有のKeyの作成処理が実行される。作成されたKeyは、それぞれKey登録部103によってLUに登録され、Keyリスト登録部104によってKeyリスト400に登録される。この各Keyが登録されたKeyリスト400は、Keyリスト保存部105に保存される。
【0078】
次に、図8のフローチャートを参照して、クラスタ計算機20がLUを特定する際の処理手順について説明する。クラスタ計算機20は、例えばストレージ装置30と共にクラスタシステムを構成する。
【0079】
なお、例えばクラスタシステムが構築されると、Key登録用計算機10のKeyリスト保存部105に保存されているKeyリストが当該クラスタシステムを構築するクラスタ装置20に配布される。Key登録用計算機10によって配布されたKeyリストは、クラスタ装置20に含まれるKeyリスト保存部201に保存される。
【0080】
まず、Key取得部202は、クラスタ計算機20を利用するユーザによって指定(選択)されたLUを識別するためのLUNに対応付けてKeyリストに登録されているKeyを取得する(ステップS21)。Key取得部202は、Keyリスト保存部201に格納されているKeyリストからKeyを取得する。クラスタ計算機20を利用するユーザは、Keyリスト保存部201に保存されているKeyリストから例えば使用したいLUを選択する。
【0081】
装置識別番号参照部203は、上記した第1の装置識別番号及び第2の装置識別番号を参照する(ステップS22)。ここで、第1の装置識別番号は、Key取得部202によって取得されたKeyを構成する装置識別番号割り当て部に割り当てられている装置識別番号である。また、第2の装置識別番号は、例えばクラスタ装置20が接続されているストレージ装置30が有するLUのうちの先頭LUに登録されているKeyを構成する装置識別番号割り当て部に割り当てられている装置識別番号である。
【0082】
装置識別番号判定部204は、装置識別番号参照部203によって参照された第1の装置識別番号及び第2の装置識別番号が一致するか否かを判定する(ステップS23)。これにより、ユーザによって指定されたLUを有するストレージ装置を特定する。
【0083】
第1の装置識別番号及び第2の装置識別番号が一致すると判定された場合(ステップS23のYES)、LU識別番号判定部205は、第1のLU識別番号及び第2のLU識別番号を参照する。第1のLU識別番号は、Key取得部202によって取得されたKeyを構成するLU識別番号割り当て部に割り当てられているLU識別番号である。また、第2のLU識別番号は、第2の装置識別番号によって識別されるストレージ装置30が有するLUに登録されているKeyを構成するLU識別番号割り当て部に割り当てられているLU識別番号である。
【0084】
LU識別番号判定部205は、参照された第1のLU識別番号及び第2のLU識別番号が一致するか否かを判定する(ステップS25)。これにより、LU識別番号判定部205は、第1のLU識別番号と一致する第2のLU識別番号がLU識別番号割り当て部に割り当てられているKeyを、上記した第1の装置識別番号と一致する第2の装置識別番号によって識別されるストレージ装置30が有するLUに登録されているKeyから検索する。つまり、上記したステップS23及びステップS25の処理により、ステップS21において取得されたKeyと同一のKeyを検索する。
【0085】
第1のLU識別番号及び第2のLU識別番号が一致するとLU識別子判定部205によって判定された場合(ステップS25のYES)、クラスタ計算機20は、当該第2のLU識別番号がLU識別番号割り当て部に割り当てられているKeyが登録されているLUを、上記したステップS21においてユーザによって指定されたLUであるものとして特定する(ステップS26)。ここで特定されたLUは、Key取得部202によって取得されたKeyを構成する装置識別番号割り当て部に割り当てられている装置識別番号に基づいて特定されたストレージ装置30が有するLUである。
【0086】
上記したようにLUが特定されると、クラスタ計算機20は、当該特定されたLUに対してアクセスすることが可能となる。
【0087】
一方、上記したステップS23において第1の装置識別番号及び第2の装置識別番号が一致しないと判定された場合、ステップS22及びステップS23の処理が実行されていないストレージ装置30について当該ステップS22に戻って処理が繰り返される。
【0088】
また、ステップS25において第1のLU識別番号及び第2のLU識別番号が一致しないと判定された場合、上記したステップS23において一致すると判定された第2の装置識別番号によって識別されるストレージ装置30が有するLUについて、上記したステップS25に戻って処理が繰り返される。
【0089】
次に、図9を参照して、クラスタ計算機20がLUを特定する際の動作について具体的に説明する。なお、クラスタ計算機20には、クラスタシステムの構築の際にKey登録用計算機10によって図9に示すようなKeyリスト400が配布されているものとする。
【0090】
図9に示すように、クラスタ計算機20にはストレージ装置30a及びストレージ装置30bが接続されているものとする。このクラスタ計算機20、ストレージ装置30a及びストレージ装置30bは、クラスタシステムを構成する。
【0091】
また、ストレージ装置30aを識別するための装置番号は「1」であるものとし、ストレージ装置30bを識別するための装置番号は「2」であるものとする。また、ストレージ装置30aはLU0及びLU1を有し、ストレージ装置30bはLU0及びLU1を有するものとする。なお、LU0のLUNは0であり、LU1のLUNは1であるものとする。
【0092】
また、図示されていないが、ストレージ装置30aが有するLU0には、Key「0100000000000001」が登録されているものとする。また、ストレージ装置30aが有するLU1には、Key「0100000000000002」が登録されているものとする。同様に、ストレージ装置30bが有するLU0には、Key「0200000000000001」が登録されているものとする。ストレージ装置30bが有するLU1には、Key「0200000000000002」が登録されているものとする。
【0093】
図9に示すように、Keyリスト400には、登録番号「1」、装置番号「1」、LUN「0」に対応付けてKey「0100000000000001」が登録されている。同様に、Keyリスト400には、登録番号「2」、装置番号「1」、LUN「1」に対応付けてKey「0100000000000002」が登録されている。Keyリスト400には、登録番号「3」、装置番号「2」、LUN「0」に対応付けてKey「0200000000000001」が登録されている。また、Keyリスト400には、登録番号「4」、装置番号「2」、LUN「1」に対応付けてKey「0200000000000002」が登録されている。
【0094】
ここで、クラスタ計算機20を利用するユーザによって、当該ユーザが使用したいLUとしてストレージ装置30b内のLU1が選択された場合を想定する。この場合、ユーザは、Keyリスト400から使用したLUを選択することができる。なお、上記したKeyリスト400の内容は、例えばクラスタ計算機20においてストレージ装置30a及び30bの再認識が行われた場合であっても、当該再認識に依存することなく不変である。したがって、クラスタ計算機20を利用するユーザは、ストレージ装置30a及び30bの再認識が行われた場合であっても、当該再認識を意識することなく再認識前と同様にKeyリスト400からLUを選択することができる。
【0095】
Key取得部202は、クラスタ計算機20を利用するユーザによって選択されたストレージ装置30b内のLU1を識別するためのLUNに対応付けてKeyリスト400に登録されているKeyを取得する。この場合、Key取得部202は、ストレージ装置30bを識別するための装置番号「2」及びLU1を識別するためのLUN「1」に対応付けてKeyリスト400に登録されているKey「0200000000000002」を取得する(ステップS31)。
【0096】
次に、装置識別番号参照部203は、Key取得部202によって取得されたKeyを構成する装置識別番号割り当て部に割り当てられている装置識別番号(第1の装置識別番号)を参照する。装置識別番号割り当て部はKeyの上位1Byteであるため、第1の装置識別番号は「02」である。
【0097】
また、装置識別番号参照部203は、例えばクラスタ装置20が接続されているストレージ30aが有する先頭LU(ここでは、LU0)に登録されているKeyを構成する装置識別番号割り当て部に割り当てられている装置識別番号(第2の装置識別番号)を参照する。この場合、ストレージ装置30aが有するLU0に登録されているKeyは、「0100000000000001」であるため、第2の装置識別番号は当該Keyの上位1Byteに該当する「01」である。
【0098】
装置識別番号判定部204は、装置識別番号参照部203によって参照された第1の装置識別番号及び第2の装置識別番号が一致するか否かを判定する。この場合、上記したように第1の装置識別番号は「02」であり、第2の装置識別番号は「01」であるため、装置識別番号判定部204は、第1の装置識別番号及び第2の装置識別番号は一致しないと判定する。
【0099】
次に、装置識別番号参照部203は、例えばクラスタ装置20が接続されているストレージ30bが有する先頭LU(ここでは、LU0)に登録されているKeyを構成する装置識別番号割り当て部に割り当てられている装置識別番号(第2の装置識別番号)を参照する。この場合、ストレージ装置30bが有するLU0に登録されているKeyは、「0200000000000001」であるため、第2の装置識別番号は当該Keyの上位1Byteである「02」である。
【0100】
装置識別番号判定部204は、装置識別番号参照部203によって参照された第1の装置識別番号(ここでは、「02」)及び第2の装置識別番号(ここでは、「02」)が一致するか否かを判定する。この場合、第1の装置識別番号及び第2の装置識別番号は一致すると判定される。
【0101】
第1の装置識別番号及び第2の装置識別番号が一致すると判定された場合、LU識別番号判定部205は、Key取得部202によって取得されたKeyを構成するLU識別番号割り当て部に割り当てられているLU識別番号(第1のLU識別番号)を参照する。LU識別番号割り当て部はKeyの下位7Byteであるため、第1のLU識別番号は「00000000000002」である。
【0102】
また、LU識別番号判定部205は、上記した第1の装置識別番号と一致すると装置番号判定部204によって判定された第2の装置識別番号によって識別されるストレージ装置30b内の例えばLU0に登録されているKeyを構成する(LU識別番号割り当て部に割り当てられている)LU識別番号(第2のLU識別番号)を参照する。この場合、ストレージ装置30bが有するLU0に登録されているKeyは、「02000000000000001」であるため、第2のLU識別番号は当該Keyの下位7Byteに該当する「00000000000001」である。
【0103】
LU識別番号判定部205は、参照された第1のLU識別番号及び第2のLU識別番号が一致するか否かを判定する。この場合、上記したように第1のLU識別番号は「00000000000001」であり、第2のLU識別番号は「00000000000002」であるため、LU識別番号判定部204は、第1のLU識別番号及び第2のLU識別番号が一致しないと判定する。
【0104】
次に、LU識別番号判定部205は、例えばストレージ装置30b内のLU(ここでは、LU1)に登録されているKeyを構成するLU識別番号(第2のLU識別番号)を参照する。この場合、ストレージ装置30bが有するLU1に登録されているKeyは、「0200000000000002」であるため、第2のLU識別番号は当該Keyの下位7Byteである「00000000000002」である。
【0105】
LU識別番号判定部205は、参照された第1のLU識別番号(ここでは、「00000000000002」)及び第2のLU識別番号(ここでは、「00000000000002」)が一致するか否かを判定する。この場合、第1のLU識別番号及び第2のLU識別番号は一致すると判定される。
【0106】
第1のLU識別番号及び第2のLU識別番号が一致するとLU識別判定部205によって判定された場合、クラスタ計算機20は、ストレージ装置30b内において当該第2のLU識別番号がLU識別番号割り当て部に割り当てられているKeyが登録されているLUを、上記したユーザによって選択されたLUであるものとして特定する。この場合、クラスタ計算機20は、ストレージ装置30b内のLU1を特定する(ステップS32)。つまり、クラスタ計算機20は、Key取得部202によって取得されたKeyと同一のKeyが登録されているLUを特定する。
【0107】
上記したような処理が完了すると、クラスタ計算機20は、特定されたストレージ装置30b内のLU1に対してアクセスすることが可能となる。
【0108】
上記したように本実施形態においては、Key登録用計算機10がストレージ装置30内のLUに固有のKeyを登録することにより、例えば計算機システムを構成する計算機等に障害が発生し、当該計算機のOSによる再認識があった場合であっても、例えばクラスタシステムを構成するクラスタ計算機20は当該ストレージ装置30が有するLUを一意に特定することが可能となる。
【0109】
また、本実施形態においては、計算機システムに複数のストレージ装置30が存在する場合においても、例えばOSのストレージ装置の認識順序の変更によるSCSIアドレス等の差異に影響を受けることなくLUを特定することができる。
【0110】
また、本実施形態においては、ストレージ装置30が有するLUに登録されたKeyは削除操作を行わない限り登録され続ける(不変である)ため、例えばストレージ装置30に故障が発生した場合であってもKeyは消去されず、クラスタ計算機20はストレージ装置30の故障前と変わらずLUを特定することができる。
【0111】
また、本実施形態においては、Keyの登録時に当該Keyを装置識別番号割り当て部及びLU識別番号割り当て部に分割することにより、クラスタ計算機20は、LUの検索時にストレージ装置30の先頭LUを検索し、Keyを構成する装置識別番号割り当て部に割り当てられている装置識別番号を参照する。これにより、例えばクラスタ計算機20に接続されているストレージ装置30が有するLUに登録されている全てのKeyを参照する必要がなく、迅速にストレージ装置30内のLUの特定することが可能となる。
【0112】
なお、本願発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。
【図面の簡単な説明】
【0113】
【図1】本発明の実施形態に係る計算機システムのハードウェア構成を示す図。
【図2】図1に示すKey登録用計算機10の主として機能構成を示すブロック図。
【図3】図1に示すクラスタ計算機20の主として機能構成を示すブロック図。
【図4】Keyリスト保存部105に保存されているKeyリストのデータ構造の一例を示す図。
【図5】ストレージ装置30が有するLUに登録されているKeyのデータ構造の一例について説明するための図。
【図6】Key登録用計算機10の処理手順を示すフローチャート。
【図7】Key登録用計算機10の動作を具体的に説明するための図。
【図8】クラスタ計算機20がLUを特定する際の処理手順を示すフローチャート。
【図9】クラスタ計算機20がLUを特定する際の動作について具体的に説明するための図。
【符号の説明】
【0114】
10…Key登録用計算機(第1の計算機)、11…CPU、12…メモリ、13…LANアダプタ、14…ホストバスアダプタ、20…クラスタ計算機(第2の計算機)、21…CPU、22…メモリ、23…LANアダプタ、24…ホストバスアダプタ、30…ストレージ装置、31…コントローラ、32…ハードディスクドライブ、101…LU存在判定部、102…Key作成部、103…Key登録部(第1の登録手段)、104…Keyリスト登録部(第2の登録手段)、105…Keyリスト保存部、201…Keyリスト保存部、202…Key取得部、203…装置識別番号参照部、204…装置識別番号判定部、205…LU識別番号判定部。

【特許請求の範囲】
【請求項1】
第1の計算機及び当該第1の計算機と接続された第2の計算機を含む複数の計算機と、前記複数の計算機の各々と接続された少なくとも1つのストレージ装置とを備える計算機システムにおいて、
前記ストレージ装置は、論理ユニットを有し、
前記第1の計算機は、
前記第1の計算機が前記ストレージ装置と接続された際に、当該ストレージ装置を識別するための装置番号を取得する第1の取得手段と、
前記第1の計算機と接続された前記ストレージ装置が有する論理ユニットを識別するための論理ユニット番号を認識する認識手段と、
前記取得された装置番号及び前記認識された論理ユニット番号に応じて、当該論理ユニット番号によって識別される論理ユニットに固有のキーを作成するキー作成手段と、
前記作成されたキーを、前記ストレージ装置が有する前記論理ユニット番号によって識別される論理ユニットに登録する第1の登録手段と、
前記作成されたキーを、前記取得された装置番号及び前記認識された論理ユニット番号に対応付けてキーリストに登録する第2の登録手段と、
前記作成されたキーが登録されたキーリストを前記第2の計算機に配布する配布手段と
を含み、
前記第2の計算機は、
前記配布されたキーリストを保存するキーリスト保存手段と、
前記第2の計算機を利用するユーザによって指定された論理ユニットを識別するための論理ユニット番号に対応付けて前記キーリスト保存手段に保存されているキーリストに登録されているキーを、当該キーリストから取得する第2の取得手段と、
前記取得されたキーが登録されている前記ストレージ装置が有する論理ユニットを特定する特定手段と
を含む
ことを特徴とする計算機システム。
【請求項2】
前記キー作成手段は、装置識別番号割り当て部及び論理ユニット識別番号割り当て部から構成されるキーであって、当該装置識別番号割り当て部には前記取得された装置番号に応じた装置識別番号を、当該論理ユニット識別番号割り当て部には前記認識された論理ユニット番号に応じた論理ユニット識別番号を割り当てることによってキーを作成し、
前記特定手段は、前記取得されたキーを構成する装置識別番号割り当て部に割り当てられている装置識別番号に基づいて前記ユーザによって指定された論理ユニットを有するストレージ装置を特定し、前記取得されたキーを構成する論理ユニット識別番号割り当て部に割り当てられた論理ユニット識別番号に基づいて当該特定されたストレージ装置が有する論理ユニットを特定する
ことを特徴とする請求項1記載の計算機システム。
【請求項3】
前記キー作成手段は、前記論理ユニットに固有のキーとして、SCSI(Small Computer System Interface)−3規格のPersistent Reservation-Keyを作成することを特徴とする請求項1または2記載の計算機システム。
【請求項4】
前記第2の計算機及び前記ストレージ装置は、クラスタシステムを構成し、
前記配布手段は、前記クラスタシステム構築時に前記作成されたキーが登録されたキーリストを前記第2の計算機に配布する
ことを特徴とする請求項1記載の計算機システム。

【図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


【公開番号】特開2009−211544(P2009−211544A)
【公開日】平成21年9月17日(2009.9.17)
【国際特許分類】
【出願番号】特願2008−55365(P2008−55365)
【出願日】平成20年3月5日(2008.3.5)
【出願人】(000003078)株式会社東芝 (54,554)
【出願人】(301063496)東芝ソリューション株式会社 (1,478)
【Fターム(参考)】