JP4146412B2 - クラスタシステム及び同システムに適用される共有ストレージ装置の排他制御方法 - Google Patents

クラスタシステム及び同システムに適用される共有ストレージ装置の排他制御方法 Download PDF

Info

Publication number
JP4146412B2
JP4146412B2 JP2004288971A JP2004288971A JP4146412B2 JP 4146412 B2 JP4146412 B2 JP 4146412B2 JP 2004288971 A JP2004288971 A JP 2004288971A JP 2004288971 A JP2004288971 A JP 2004288971A JP 4146412 B2 JP4146412 B2 JP 4146412B2
Authority
JP
Japan
Prior art keywords
node
unit
mapping
logical
nodes
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2004288971A
Other languages
English (en)
Other versions
JP2006106864A (ja
Inventor
和樹 才藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Toshiba Digital Solutions Corp
Original Assignee
Toshiba Corp
Toshiba Solutions Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp, Toshiba Solutions Corp filed Critical Toshiba Corp
Priority to JP2004288971A priority Critical patent/JP4146412B2/ja
Publication of JP2006106864A publication Critical patent/JP2006106864A/ja
Application granted granted Critical
Publication of JP4146412B2 publication Critical patent/JP4146412B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、複数のノードから共有ストレージ装置内の論理ユニットを利用するのに好適なクラスタシステム及び同システムに適用される共有ストレージ装置の排他制御方法に関する。
複数のノード(サーバ、計算機)から共有使用されるストレージ装置は、共有ストレージ装置と呼ばれる。この種のストレージ装置はディスク装置により構成されるのが一般的である。この場合、ディスク装置は共有ディスク装置として用いられることになる。
共有ディスク装置を複数のノードが共有するためには、当該共有ディスク装置の排他制御が必要となる。この排他制御は、システムが動作するオペレーティングシステム(OS)やミドルウェアのソフトウェア機能を用いて実現されている(例えば、非特許文献1または2参照)。この非特許文献1または2に記載されたソフトウェア機能による排他制御は、クラスタシステムで適用されている。クラスタシステムは、稼働状態にあるノード(稼働系ノード)で障害が発生した場合に、その障害が発生したノードで実行されていたサービス(業務)を、システム内の他の計算機、例えば待機状態(ホットスイタンバイ状態)にある他の計算機(待機系計算機)に引き継がせる(フェイルオーバする)ことができる計算機システムとして知られている。ここでは、あるノードが共有ディスク装置をアクセスしている場合、他のノードからは当該共有ディスク装置をアクセスしないように、各ノード上のクラスタソフトウェアで制御される。
また、上記排他制御を、SCSI(Small Computer System Interface)規格上の機能を用いて実現することも可能である(例えば、特許文献1参照)。このSCSI規格上の機能による排他制御では、例えばクラスタシステム内のあるノードから共有ディスク装置に対して、SCSI規格に準拠したディスク占有命令(Reserveコマンド)が送信された場合に、この命令を送信したノードからのアクセスのみが当該共有ディスク装置によって有効とされる。これにより、ディスク占有命令を送信したノードは、共有ディスク装置を占有(排他使用)できる。この占有(Reserve)状態は、バスリセットまたはディスク解放命令(Releaseコマンド)により解除可能である。
さて、共有ディスク装置が複数のノードによって共有されるシステムでは、必ずしも共有ディスク装置全体が1つのノードで占有されるとは限らず、したがって排他制御も共有ディスク装置単位で行われるとは限らない。むしろ、共有ディスク装置単位ではなく、共有ディスク装置内の任意のディスク領域に構築される、論理ユニット(またはパーティション)と呼ばれる論理ボリューム単位で、排他制御が行われることが多い。この論理ユニット(論理ボリューム)単位の排他制御も、上述のソフトウェア機能またはSCSI規格上の機能により実現できる。
特開2000−163357号公報(段落0005、段落0025乃至0029) 金子哲夫、森良哉、「クラスタソフトウェア」、東芝レビュー、Vol.54 No.12(1999)、p.18-21(特に第4.2節) 生藤芳一、笹本亨一、「高性能・高信頼ディスクアレイ装置」、東芝レビュー、Vol.54 No.12(1999)、p.22-25(特に第5節)
上記したように、ソフトウェア機能による排他制御またはSCSI規格上の機能による排他制御においては、あるノードが共有ディスク装置内の論理ユニットを占有(排他使用)している場合、他のノードから当該論理ユニットをアクセスしないように制御される。但し、論理ユニットを排他使用していない他のノードから共有ディスク装置に対して、当該論理ディスクへのアクセスが誤って要求された場合、その要求は当該共有ディスク装置で受け付けられる可能性がある。つまり、論理ユニットを排他使用していないノードの誤動作などによって、当該論理ユニットを排他使用しているノードとの間の排他制御が正常に行われなくなると、この誤動作したノードからも当該論理ユニットをアクセスすることが可能となる。
例えば、ソフトウェア機能による排他制御においては、論理ユニットを共有するノードの間での相互確認などにより、システムの安全を保証することができる。ところが従来技術においては、障害発生などにより論理ユニットを共有するノードがシステムから孤立して誤動作して、その誤動作したノードから当該論理ユニットへのアクセスの要求が発行されると、その要求が共有ディスク装置で受け付けられる虞がある。この場合、論理ユニットを共有し得る他の正常に動作しているノードに影響を及ぼし、システムの安全を保つことが困難になる。特に重要になるのが、共有ディスク装置上のデータであり、誤動作により共有する論理ユニット上のデータが破損する等の影響を受けることになる。
また、SCSI規格上の機能による排他制御においても、「Reserve」状態が保持されている間はシステムの安全を保証することができる。しかし従来技術では、排他制御が正常に行われない状況において、バスリセットの発生または「Releaseコマンド」の発行などにより、誤って論理ユニットの「Reserve」状態が解除されると、システムの安全を保つことが困難になり、上述のソフトウェア機能による排他制御と同様の問題が生じる。
本発明は上記事情を考慮してなされたものでその目的は、共有ストレージ装置を共有する各ノード毎に、論理ユニット単位で当該ノードから論理的に切り離すかを設定することができ、これによりシステムの安全を確保することができるクラスタシステム及び同システムに適用される共有ストレージ装置の排他制御方法を提供することにある。
本発明の1つの観点によれば、論理ユニットが構築される記憶領域を有する共有ストレージ装置と、この共有ストレージ装置を共有する複数のノードとを備えたクラスタシステムが提供される。上記共有ストレージ装置は、上記複数のノードの各々を対象に、論理ユニットを割り当てることで当該ノードからの当該論理ユニットへのアクセスを可能とするマッピング設定と、論理ユニットの割り当てを解除することで当該ノードからのアクセスを不可能とするマッピング解除とを行うマッピング管理手段を有する。上記複数のノードの各々は、相互に通信を行うことで、上記複数のノードのいずれかで障害が発生した場合に当該障害が発生したノードで実行されていた業務を引き継ぐための制御を行うクラスタ制御手段であって、対応する上記ノードが、当該ノードに割り当てられた論理ユニットに関して稼働系をなす場合に、当該論理ユニットを排他使用するための排他制御を行う排他制御手段を含むクラスタ制御手段と、論理ユニットを排他使用していたノードで障害が発生したために、対応するノードが新たに稼働系となって当該論理ユニットを排他使用する場合、当該障害が発生したノードへの当該論理ユニットの割り当てを解除するように上記マッピング管理手段に要求するマッピング要求手段とを有する。
このような構成において、共有ストレージ装置に設けられたマッピング管理手段は、ノードへの論理ユニットの割り当てにより当該ノードからの当該論理ユニットへのアクセスを可能とするマッピング設定機能と、ノードへの論理ユニットの割り当てを解除することで当該ノードからのアクセスを不可能とするマッピング解除機能とを有する。そこで、論理ユニットを排他使用していたノードで障害が発生したために、新たに稼働系となって当該論理ユニットを排他使用しようとするノードは、当該障害が発生したノードへの当該論理ユニットの割り当てを解除するようにマッピング管理手段に要求する。するとマッピング管理手段は、障害が発生したノードへの当該論理ユニットの割り当てを解除する。つまりマッピング管理手段は、障害が発生したノードから、それまで当該ノードによってアクセスされていた論理ユニットを論理的に切り離す。これにより、障害が発生したノードが、例えば一過性の障害などのために直ちに復旧して、元の稼働系として動作しようとしても、割り当てを解除された論理ユニットにアクセスすることはできない。よってシステムの安全を確保することができる。
ここで、システム起動時に、任意の論理ユニットが、上記複数のノードのうち当該論理ユニットを共有可能な全てのノードにマッピング管理手段によって割り当てられる構成とするならば、当該論理ユニットが割り当てられたノードのうち稼働系となったノードは、他のノードとの排他制御により当該論理ユニットを占有できる。
また、通常は上記複数のノードのいずれに対してもマッピング設定が行われず、上記複数ノードのうち稼働系となったノードから論理ユニットの割り当てが要求された場合だけ、要求された論理ユニットがマッピング管理手段によって要求元のノードのみに割り当てられる構成とするならば、稼働系ノードに割り当てられた論理ユニットに、他のノードから不正にアクセスしようとしても、当該論理ユニットがアクセスされる虞はなく、システムの安全を確保できる。
本発明によれば、論理ユニットを排他使用していたノードで障害が発生したために、新たに稼働系となったノードからの要求により、障害が発生したノードから当該障害が発生したノードに割り当てられていた論理ユニットを切り離すマッピング解除操作が行われるため、障害が発生したノードがたとえ一過性の障害により直ちに復旧して、元の稼働系として動作しようとしても、マッピングが解除された論理ユニットにアクセスできず、当該論理ユニット上のデータが破損する危険を回避することができ、システムの安全を確保できる。
また本発明によれば、通常は論理ユニットの割り当てを行わず、新たに稼働系となったノードからの要求に応じて当該稼働系となったノードに論理ユニットが割り当てられる構成とすることにより、他のノードからの不正アクセスを防止してシステムの安全を保つことができる。
以下、本発明の実施の形態につき図面を参照して説明する。
図1は本発明の一実施形態に係るクラスタシステムの構成を示すブロック図である。図1のクラスタシステムは、2台のノード(サーバ計算機)N1及びN2から構成されている。ノードN1及びN2は、当該ノードN1及びN2間の通信に用いられるネットワーク等の通信路(内部通信路)10によって相互接続されている。図1では、ノードN1及びN2とクライアント端末との間の通信に用いられる通信路(外部通信路)は省略されている。クライアント端末からのサービスの実行要求は、この外部通信路を介して図1のクラスタシステムに送信される。クラスタシステム内のノードNi(i=1,2)は、クライアント端末からの要求で指定されたサービスを実行し、その実行結果を示す応答を外部通信路を介して要求元のクライアント端末に返す。なお、ノードN1及びN2間の通信と、ノードN1及びN2とクライアント端末との間の通信とが、同一の通信路を介して行われる構成であっても構わない。但し、通信路における通信トラフィックの増大を招く。
ノードN1及びN2は、共有ストレージ装置としての共有ディスク装置20を共有使用する。そのため、ノードN1及びN2は、それぞれ共有ディスク装置20と接続するためのポート11-1及び11-2を有している。また、共有ディスク装置20は、ノードN1及びN2とそれぞれ接続するためのポート21-1及び21-2を有している。ノードN1及びN2のポート11-1及び11-2は、それぞれSCSIケーブル或はファイバチャネルにより共有ディスク装置20のポート21-1及び21-2と接続されている。
共有ディスク装置20の記憶領域には、少なくとも1つの論理ユニット、例えば2つの論理ユニット22A(UNIT−A)及び22B(UNIT−B)が構築されている。ここでは、論理ユニット22A(UNIT−A)には論理ユニット番号0(LU#0)が、論理ユニット22B(UNIT−B)には論理ユニット番号1(LU#1)が、それぞれ割り当てられているものとする。共有ディスク装置20は、ノードN1及びN2からの当該共有ディスク装置20内の論理ユニットへのアクセスを制御するコントローラ23を有する。
コントローラ23はマッピング管理部230を有する。マッピング管理部230は、ノードNi(i=1,2)内の後述するマッピング要求部13-iからの要求(マッピング設定/解除要求)に応じて、論理ユニット及び論理ユニット番号の割り当て、または割り当ての解除を行う。マッピング管理部230は、マッピングテーブルTBLを含む。マッピングテーブルTBLは、共有ディスク装置20内の論理ユニット毎に、当該論理ユニットが割り当てられたノードのノード名と、当該論理ユニットに割り当てられた論理ユニット番号とを保持するのに用いられる。
図2は、マッピングテーブルTBLの一例を示す。図2の例では、論理ユニット22A(UNIT−A)及び22B(UNIT−A)は、いずれもノードN1及びN2の双方に割り当てられ、論理ユニット22A(UNIT−A)及び22B(UNIT−A)には、それぞれ論理ユニット番号0(LU#0)及び1(LU#1)が割り当てられている。この場合、ノードN1及びN2の双方は、論理ユニット22A及び22Bのいずれに対してもアクセス可能である。つまり、ノードN1またはN2から論理ユニット22Aまたは22Bへのアクセス要求が発行された場合、その要求は以下に述べるように受け付けられる。
マッピング管理部230は、ノードN1またはN2からのアクセス要求に対してマッピングテーブルTBLを参照し、当該ノードNまたはN2に割り当てられた論理ユニットへのアクセス要求の場合だけ、要求されたアクセスを許可する。つまりマッピング管理部230は、論理ユニットが割り当てられたノードに対してのみ、当該論理ユニットへのアクセスを許可する。図2のマッピングテーブルTBLの例では、論理ユニット22A(UNIT−A)へのアクセスと、論理ユニット22B(UNIT−B)へのアクセスとは、ノードN1及びN2のいずれからのアクセス要求に対しても許可される。但し、ノードN1及びN2の後述するディスク排他制御部120-1及び120-2による排他制御が正常に行われて、ノードN1及びN2の一方が論理ユニット22Aまたは22Bを排他使用している状態では、ノードN1及びN2の他方からは論理ユニット22Aまたは22Bへのアクセス要求が発行されることはない。
ノードN1及びN2では、それぞれクラスタ制御部12-1及び12-2が動作する。クラスタ制御部12-1及び12-2は、図1に示すように、通信路10を介して相互に通信100を行うことにより、障害が発生したノード(障害ノード)を検出する。ここでは、クラスタ制御部12-1及び12-2は、ハートビート信号と呼ばれる信号を相互に且つ定期的に送信する。クラスタ制御部12-1及び12-2は、ハートビート信号が予め定められた一定時間(タイムアウト時間)を超えて途絶えたことをもって、対応するクラスタ制御部が存在するノード(計算機)での障害発生を判断する。クラスタ制御部12-1及び12-2は、相互に通信100を行いながら同期して一体となって動作することにより、1つの仮想的なクラスタ制御システム120を構成する。このクラスタ制御システム120は、ノードN1及びN2にまたがって存在していると考えることができる。クラスタ制御システム120は、ノードN1及びN2上のクラスタ制御部12-1及び12-2が相互に通信40を行いながら同期して動作することにより、ノードの障害を迅速に検出することができる。クラスタ制御システム120は、障害が検出されたノード(つまり障害ノード)で実行されていたサービスを他のノードに引き継がせるための制御を行う。クラスタ制御部12-1及び12-2は、クラスタ制御用のプログラム(クラスタソフトウェア)を、それぞれノードN1及びN2が読み取り実行することにより実現される。このクラスタ制御用のプログラムは、ノードN1及びN2で読み取り可能な記憶媒体に予め格納して頒布可能である。また、このプログラムが、ネットワークを介してダウンロード(頒布)されても構わない。
クラスタ制御部12-1及び12-2は、それぞれディスク排他制御部120-1及び120-2を有する。ディスク排他制御部120-1及び120-2は、相互の通信により、共有ディスク装置20内の論理ユニットへのアクセスの排他制御を行う。ディスク排他制御部120-1及び120-2は、それぞれ排他制御テーブルTBL1及びTBL2を含む。排他制御テーブルTBL1及びTBL2は、対応するノードN1及びN2によって共有可能な全ての論理ユニットについて、対応するノードが当該論理ユニットにアクセスが可能か否か、或は対応するノードから当該論理ユニットが切り離されているかを示す状態情報を保持するのに用いられる。ここでは、共有ディスク装置20内の、論理ユニット番号が0(LU#0)の論理ユニット22A(UNIT−A)及び論理ユニット番号が1(LU#1)の論理ユニット22B(UNIT−B)は、共にノードN1及びN2によって共有可能である。この場合、排他制御テーブルTBL1及びTBL2の内容は同一となる。
図3は、排他制御テーブルTBL1及びTBL2の一例を示す。図3において、記号○で表される状態情報はアクセス可(占有可)状態を、記号△で表される状態情報は排他のためのアクセス不可状態を、それぞれ示す。図3の例では、ノードN1は、論理ユニット番号が0(LU#0)の論理ユニット22A(UNIT−A)と、論理ユニット番号が1(LU#1)の論理ユニット22B(UNIT−B)とに対して、いずれもアクセスが許可される状態にあることが分かる。これに対してノードN2は、論理ユニット番号が0(LU#0)の論理ユニット22A(UNIT−A)と、論理ユニット番号が1(LU#1)の論理ユニット22B(UNIT−B)とに対して、他のノード(ここではノードN1)との排他のために、いずれもアクセスが許可されない状態にあることが分かる。このことは、ノードN1が稼働系となり、ノードN2が待機系となっていることを示す。但し、本実施形態では上記の説明から明らかなように、共有ディスク装置20全体でなく、論理ユニット毎に稼働系のノードと待機系のノードを設定可能である。このため、図3の例では、論理ユニット22Aの使用に関して、ノードN1が稼働系、ノードN2が待機系となっており、論理ユニット22Bの使用に関しても、ノードN1が稼働系、ノードN2が待機系となっているといえる。本実施形態では、この他に、ノードから論理ユニットが切り離されている状態が設定可能である。この状態(切り離し状態)は、後述するように記号×で表される。
再び図1を参照すると、ノードN1及びN2では、それぞれマッピング要求部13-1及び13-が動作する。マッピング要求部13-1及び13-2は、それぞれディスク排他制御部120-1及び120-2の排他制御に応じ、共有ディスク装置20のマッピング管理部230に対してマッピングの設定または解除を要求する。
次に、本実施形態の動作について、従来技術と比較しながら、図4乃至図図7を参照して説明する。なお、図4はマッピング機能を利用した論理ユニットの排他制御を説明するための図、図5は図4の状態で稼働系のノードN1に障害が発生して、新たに稼働系となったノードN2からマッピング解除要求が発行された結果、図2の状態から更新されたマッピングテーブルTBLの一例を示す図、図6はマッピングテーブルTBLの更新に伴って、図3の状態から更新された排他制御テーブルTBL2の一例を示す図、図7はマッピング解除を利用した論理ユニットの排他制御を説明するための図である。
まず、図1のシステムでは、ノードN1及びN2は、共有ディスク装置20の論理ユニット22A及び22Bをいずれも共有可能に設定されている。通常は、ノードN1及びN2上で動作するクラスタ制御部12-1及び12-2が相互に通信100を行うことで、クラスタ制御部12-1内のディスク排他制御部120-1及びクラスタ制御部12-2内のディスク排他制御部120-2により、共有ディスク装置20へのアクセスに関する排他制御、更に詳細に述べるならば共有ディスク装置20の論理ユニット22A及び22Bへのアクセスに関する排他制御が実現されている。この排他制御により、論理ユニット22Aに関する待機系から当該論理ユニット22Aに対するアクセス要求が発行されるのが抑止され、論理ユニット22Bに関する待機系から当該論理ユニット22Bに対するアクセス要求が発行されるのが抑止される。
さて図1のシステムでは、論理ユニット22A(UNIT−A)及び22B(UNIT−B)に関し、いずれもノードN1が稼働系となり、ノードN2が待機系となるように設定されているものとする。この場合、稼働系のノードN1からは、図4において矢印41及び42で示すように、論理ユニット22A及び22Bのいずれにもアクセスできる。これに対し、待機系のノードN2からは、図4に示すノードN1及びN2のディスク排他制御部120-1及び120-2の排他制御43が正常に行われている限り、図4において矢印44及び45で示すように、論理ユニット22A及び22Bのいずれにもアクセスできない。この状態は、図3に示す排他制御テーブルTBL1及びTBL2に反映されている。
このような状態で、例えばノードN1に障害が発生したものとする。このノードN1の障害は、ノードN1のクラスタ制御部12-1及びノードN2のクラスタ制御部12-2の間の通信100により、クラスタ制御部12-2によって検出される。そして、クラスタ制御部12-2のクラスタ制御の機能により、ノードN2が新たに稼働系となって、共有ディスク装置20の論理ユニットについても当該ノードN2からアクセスできるように排他制御が行われる。
このため、ノードN1(元の稼働系のノード)が障害発生によって完全に利用不可能な状態に陥っている場合には、従来技術でも問題は発生しない。しかし、ノードN1の障害が一過性である場合、当該ノードN1が障害から復旧して、システムから孤立した状態で利用可能な状態にまで復帰すると、稼働系ノードが、現在稼働系となっているノードN2と元の稼働系のノードN1との2つ同時に存在することになる。この場合、従来技術では、共有ディスク装置20内の論理ユニットへのアクセスに関して排他制御が正常に行われなくなり、当該論理ユニットに対してノードN2とノードN1の両方からアクセスが可能な状態になる。この結果、ノードN2とノードN1の両方からの同時アクセスや不正データの書き込みなど、障害が発生したノードN1からの影響による不具合が発生し、システムの安全を確保できない。しかし本実施形態では、以下に述べるように、このような不具合の発生は防止される。
まず本実施形態では、図1のクラスタシステムの起動時に、ノードN1及びN2が、共有ディスク装置20の論理ユニット22A及び22Bを共有できる(アクセスし得る)ように、予め論理ユニット及び論理ユニット番号の割り当て(マッピング)が行われる。即ち、ノードN1には、論理ユニット22A(UNIT−A)及び22B(UNIT−B)が割り当てられる。また、ノードN2にも、論理ユニット22A(UNIT−A)及び22B(UNIT−B)が割り当てられる。論理ユニット22A(UNIT−A)及び22B(UNIT−B)には、それぞれ論理ユニット番号0(LU#0)及び1(LU#1)が割り当てられる。この割り当ては、ノードN1及びN2のうちの例えば稼働系となるノードN1のマッピング要求部13-2からの設定要求に応じて、共有ディスク装置20のマッピング管理部230によって行われる。
上述の割り当ての状態を示す情報は、図2のマッピングテーブルTBLに保持される。図2のマッピングテーブルTBLの例では、前記したように、論理ユニット22A(UNIT−A)へのアクセスと、論理ユニット22B(UNIT−B)へのアクセスとは、ノードN1及びN2のいずれからのアクセス要求に対しても許可される。但し、論理ユニット22Aまたは22Bへのアクセス要求は稼働系(ここではノードN1)からのみ発行されるように、ノードN1及びN2のディスク排他制御部120-1及び120-2による排他制御43(図4参照)が行われる。
本実施形態では、上述のように稼働系のノードN1に障害が発生した結果、ノードN2のクラスタ制御部12-2によりノードN2が新たに稼働系となる場合、当該稼働系となるノードN2のマッピング要求部13-2は、共有ディスク装置20のマッピング管理部230に対し、図7に示すマッピング解除要求71を発行する。このマッピング解除要求71により、障害が発生したノードN1に割り当てられていた、論理ユニット22A及び22Bに対するマッピングを解除することが要求される。
マッピング管理部230は、マッピング要求部13-2からのマッピング解除要求71を受け取ると、マッピングテーブルTBLの状態を、論理ユニット22A(UNIT−A)及び22B(UNIT−B)がノードN1及びN2の双方に割り当てられていることを示す状態から、図5に示すように、ノードN2のみに割り当てられていることを示す状態に変更する。つまりマッピング管理部230は、マッピングテーブルTBLを操作して、論理ユニット22A及び22BのノードN1への割り当てを解除する。これにより、論理ユニット22A及び22Bは図7において、×印72及び73で示されるように、ノードN1から切り離される。
マッピング要求部13-2は、論理ユニット22A及び22BのノードN1への割り当てが解除されたことを確認すると、その旨をディスク排他制御部120-2に通知する。これによりディスク排他制御部120-2は、排他制御テーブルTBL2を操作して、論理ユニット22A及び22Bに関し、図6に示すように、ノードN2はアクセス可(占有可)状態(記号○で表される状態)に、ノードN1は切り離し状態(記号×で示される状態)に変更する。ここで、ノードN1が排他のためのアクセス不可状態に変更されるのではないことに注意されたい。
このように、新たに稼働系となるノードN2のマッピング要求部13-2からの解除要求により、障害が発生した元の稼働系のノードN1に対する論理ユニット22A及び22Bのマッピングが解除されて、当該論理ユニット22A及び22BがノードN1から切り離される。これにより、ノードN1が一過性の障害から復旧して、共有ディスク装置20を利用可能な状態にまで復帰した結果、自身が元の稼働系のままであるとして、誤ってノードN1から論理ユニット22Aまたは22Bへのアクセス要求が発生したとしても、利用可能な論理ユニット22A及び22Bは既に当該ノードN1から切り離されていることから、そのアクセス要求が共有ディスク装置20で受け付けられる虞はない。よって、ノードN2とノードN1の両方からの同時アクセスや不正データの書き込みなど、障害が発生したノードN1からの悪影響を防止して、システムの安全を確保できる。一方、新たに稼働系となったノードN2は、図7において矢印74及び75で示すように、論理ユニット22A及び22Bのいずれにもアクセスできる。
さて、ノードN1が障害から復旧すると、当該ノードN1のクラスタ制御部12-1と現在の稼働系ノードN2のクラスタ制御部12-2との間で再び通信100が行われる。これにより、ノードN1上の排他制御テーブルTBL1が、ノードN2上の排他制御テーブルTBL2に一致させられるなど、両ノードの間で同期がとれるようになったものとする。この場合、ノードN1は待機系となる。すると、稼働系のノードN2のマッピング要求部13-2は、ノードN1に論理ユニット22A及び22Bを再び割り当てるためのマッピングの設定を要求する。マッピング管理部230は、マッピング要求部13-2からの設定要求を受け取ると、マッピングテーブルTBLの状態を、論理ユニット22A(UNIT−A)及び22B(UNIT−B)がノードN1及びN2の双方に割り当てられていることを示す状態(図2参照)に戻す。
[変形例]
次に上記実施形態の変形例について、図8乃至図11を参照して説明する。なお、図8はシステム立ち上げ時のマッピングテーブルTBLの一例を示す図、図9はマッピング設定後の、図8の状態から更新されたマッピングテーブルTBLの一例を示す図、図10はマッピング設定後の排他制御テーブルTBL1及びTBL2の一例を示す図、図11はマッピング設定を利用した論理ユニットの排他制御を説明するための図である。
まず上記実施形態では、従来技術における排他制御との互換性を考慮して、ノードN1及びN2の双方に、稼働系と待機系との区別をすることなく、論理ユニット22A及び22Bが予め(システムの起動時に)割り当てられる(つまりマッピングが行われる)構成を適用している。そして、排他制御が正常に行われなくなる虞のある、稼働系ノードの障害発生時のみ、その障害が発生したノードへの論理ユニットの割り当てを解除する構成を適用している。
これに対して、上記実施形態の変形例では、ノードN1及びN2に、論理ユニット22A及び22Bを割り当てるマッピングが予め行われない構成を適用する。この状態では、マッピングテーブルTBLの内容は図8のようになり、待機系ノード(ここではノードN1)からだけでなく、稼働系ノード(ここではノードN2)からも、論理ユニット22A及び22Bにアクセスできない。そこで本変形例では、図1のシステムの立ち上げ後に、ノードN1のクラスタ制御部12-1とノードN2のクラスタ制御部12-2との間の通信100で、例えばノードN1が稼働系として決定された段階で、稼働系ノードN1のマッピング要求部13-1から共有ディスク装置20のマッピング管理部230に次に述べるマッピング設定が要求される。
今、ノードN1が稼働系として決定された結果、図11に示すように、ノードN1のディスク排他制御部120-1とノードN2のディスク排他制御部120-2との間の排他制御111で、稼働系のノードN1が論理ユニット22A及び22Bを排他的に使用することとなったものとする。この場合、ノードN1のマッピング要求部13-1は、共有ディスク装置20のマッピング管理部230に対し、図11に示すマッピング設定要求112を発行する。このマッピング設定要求112により、ノードN1に論理ユニット22A及び22Bを割り当てて、当該論理ユニット22A及び22Bに任意の論理ユニット番号を割り当てることで、ノードN1のみに当該論理ユニット22A及び22Bへのアクセスを許可することができる、マッピングの設定が要求される。
するとマッピング管理部230は、マッピングテーブルTBLの状態を、論理ユニット22A(UNIT−A)及び22B(UNIT−B)がいずれのノードにも割り当てられていない図8に示す状態から、図9に示すように、当該論理ユニット22A(UNIT−A)及び22B(UNIT−B)がノードN1のみに割り当てられていることを示す状態に変更する。
これにより、稼働系のノードN1からは、図11において矢印113及び114で示すように、論理ユニット22A及び22Bのいずれにもアクセスできる。これに対し、稼働系ノードN1以外には論理ディスクの割り当ては行われず、論理ユニット22A及び22Bは、稼働系ノードN1以外のノード、つまり待機系のノードN2からは、図11において×印115及び116で示すように切り離されている。したがって、待機系ノードN2(稼働系ノードN1以外のノード)から論理ユニット22Aまたは22Bに対する不正アクセスを故意に試みたとしてもシステムの安全を確保できる。
さて、ノードN1のマッピング要求部13-1は、論理ユニット22A及び22Bが当該ノードN1に割り当てられたことを確認すると、その旨をディスク排他制御部120-1に通知する。これによりディスク排他制御部120-1は、排他制御テーブルTBL1を操作して、論理ユニット22A及び22Bに関し、図10に示すように、ノードN1はアクセス可(占有可)状態(記号○で表される状態)に、ノードN2は切り離し状態(記号×で示される状態)に変更(設定)する。すると、稼働系のノードN1のクラスタ制御部12-1と待機系のノードN2のクラスタ制御部12-2との間の通信100により、ノードN2上の排他制御テーブルTBL2が、図10に示すように、ノードN1上の排他制御テーブルTBL1に一致させられる。
この変形例において、ノードN1に障害が発生して、ノードN2が新たに稼働系となる場合には、ノードN2のマッピング要求部13-2からマッピング管理部230に対して、障害が発生したノードN1に対する論理ユニット22A及び22Bの当該ノードN1の割り当ての解除(マッピング解除)と、ノードN2への論理ユニット22A及び22Bの割り当て(マッピング設定)とを要求すれば良い。このような状況で、上記実施形態と同様にノードN1の障害が一過性の障害であり、その一過性の障害から当該ノードN1が復旧したものとする。この場合、ノードN1が元の稼働系のままであるとして動作することはあり得る。しかし、ノードN1が新たに稼働系となったわけではないため、ノードN2に対する論理ユニット22A及び22Bの割り当ての解除と、ノードN1への論理ユニット22A及び22Bの割り当てとを要求する虞はない。
また、上記実施形態では、共有ディスク装置20の論理ユニット22A及び22Bが共に、ノードN1及びN2の一方からのみアクセス可能である場合を想定している。しかし、例えば論理ユニット22AはノードN1からのみアクセス可能で、論理ユニット22BはノードN2からのみアクセス可能とする設定も可能である。この場合、論理ユニット22Aへのアクセスに関しては、ノードN1が稼働系で、ノードN2が待機系であり、論理ユニット22Bへのアクセスに関しては、ノードN1が待機系で、ノードN2が稼働系であるといえる。
なお、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。
本発明の一実施形態に係るクラスタシステムの構成を示すブロック図。 図1中のマッピングテーブルTBLの一例を示す図。 図1中の排他制御テーブルTBL1及びTBL2の一例を示す図。 同実施形態におけるマッピング機能を利用した論理ユニットの排他制御を説明するための図。 図4の状態で稼働系のノードN1に障害が発生して、新たに稼働系となったノードN2からマッピング解除要求が発行された結果、図2の状態から更新されたマッピングテーブルTBLの一例を示す図。 マッピングテーブルTBLの更新に伴って、図3の状態から更新された排他制御テーブルTBL2の一例を示す図。 同実施形態におけるマッピング解除を利用した論理ユニットの排他制御を説明するための図。 上記実施形態の変形例におけるシステム立ち上げ時のマッピングテーブルTBLの一例を示す図。 同変形例におけるマッピング設定後の、図8の状態から更新されたマッピングテーブルTBLの一例を示す図。 同変形例におけるマッピング設定後の排他制御テーブルTBL1及びTBL2の一例を示す図。 同変形例におけるマッピング設定を利用した論理ユニットの排他制御を説明するための図。
符号の説明
N1,N2…ノード(計算機)、TBL…マッピングテーブル、TBL1,TBL2…排他制御テーブル、10…通信路、12-1,12-2…クラスタ制御部、13-1,13-2…マッピング要求部、20…共有ディスク装置、22A,22B…論理ユニット、23…コントローラ、120-1,120-2…ディスク排他制御部、230…マッピング管理部。

Claims (1)

  1. 論理ユニットが構築される記憶領域を有する共有ストレージ装置と、
    前記共有ストレージ装置を共有する複数のノードであって、それぞれ、クラスタ制御手段及びマッピング要求手段を含む複数のノードとを具備し、
    前記共有ストレージ装置は、前記複数のノードの各々を対象に、論理ユニットを割り当てることで当該ノードからの当該論理ユニットへのアクセスを可能とするマッピング設定と、論理ユニットの割り当てを解除することで当該ノードからのアクセスを不可能とするマッピング解除とを行うマッピング管理手段であって、システム起動時に、前記共有ストレージ装置の任意の論理ユニットを、前記複数のノードのうち当該論理ユニットを共有可能な全てのノードに割り当てるマッピング管理手段を有し、
    前記複数のノードの前記クラスタ制御手段は、相互に通信を行うことで前記複数のノードのいずれかの障害を検出することにより、当該障害が発生したノードで実行されていた業務を引き継ぐための制御を行い、
    前記複数のノードの前記クラスタ制御手段は、当該クラスタ制御手段を有するノードが稼動系として動作している状態において、当該クラスタ制御手段を有するノードに割り当てられている論理ユニットを排他使用するための排他制御を行う排他制御手段を含み、
    前記複数のノードの前記マッピング要求手段は、当該マッピング要求手段を有するノードの前記クラスタ制御手段が稼動系として動作していたノードの障害を検出した結果、当該マッピング要求手段を有するノードが新たに稼動系となって当該障害が発生したノードに割り当てられていた論理ユニットを排他使用する場合、当該障害が発生したノードへの当該論理ユニットの割り当てを解除するように前記マッピング管理手段に要求し、当該マッピング要求手段を有するノードが前記稼動系として動作している状態で前記障害が発生したノードが当該障害から復旧したことが当該マッピング要求手段を有するノードの前記クラスタ制御手段によって検出された場合、前記障害が発生したノードへの割り当てが解除された前記論理ユニットを前記障害から復旧したノードに再割り当てするように前記マッピング管理手段に要求する
    ことを特徴とするクラスタシステム。
JP2004288971A 2004-09-30 2004-09-30 クラスタシステム及び同システムに適用される共有ストレージ装置の排他制御方法 Expired - Fee Related JP4146412B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004288971A JP4146412B2 (ja) 2004-09-30 2004-09-30 クラスタシステム及び同システムに適用される共有ストレージ装置の排他制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004288971A JP4146412B2 (ja) 2004-09-30 2004-09-30 クラスタシステム及び同システムに適用される共有ストレージ装置の排他制御方法

Publications (2)

Publication Number Publication Date
JP2006106864A JP2006106864A (ja) 2006-04-20
JP4146412B2 true JP4146412B2 (ja) 2008-09-10

Family

ID=36376572

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004288971A Expired - Fee Related JP4146412B2 (ja) 2004-09-30 2004-09-30 クラスタシステム及び同システムに適用される共有ストレージ装置の排他制御方法

Country Status (1)

Country Link
JP (1) JP4146412B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4693867B2 (ja) * 2008-05-22 2011-06-01 株式会社東芝 計算機システム

Also Published As

Publication number Publication date
JP2006106864A (ja) 2006-04-20

Similar Documents

Publication Publication Date Title
US9647933B1 (en) Port identifier management for path failover in cluster environments
JP4506594B2 (ja) 冗長パス制御方法
JP5142678B2 (ja) デプロイ方法およびシステム
JP4856864B2 (ja) クラスタ型ストレージエリアネットワークの論理ユニットセキュリティ
JP4681505B2 (ja) 計算機システム、管理計算機及びプログラム配布方法
US8271761B2 (en) Storage system and management method thereof
US7213115B2 (en) Storage system
US8209505B2 (en) Storage system and method of taking over logical unit in storage system
US11068367B2 (en) Storage system and storage system control method
US20130282887A1 (en) Computer system and virtual server migration control method for computer system
US8032786B2 (en) Information-processing equipment and system therefor with switching control for switchover operation
US20140143391A1 (en) Computer system and virtual server migration control method for computer system
US8489918B2 (en) Storage system and ownership control method for storage system
JP2007115019A (ja) ストレージのアクセス負荷を分散する計算機システム及びその制御方法
JP2008033704A (ja) リモートコピーを行うストレージシステム
US20140156815A1 (en) Storage system and method for managing configuration information thereof
US6356985B1 (en) Computer in multi-cluster system
JP4146412B2 (ja) クラスタシステム及び同システムに適用される共有ストレージ装置の排他制御方法
JP2005322181A (ja) コマンド多重数監視制御方式およびこのコマンド多重数監視制御方式を運用するコンピュータシステム
US8271772B2 (en) Boot control method of computer system
JP3614328B2 (ja) ミラーディスク制御装置
WO2014076736A1 (en) Storage system and control method for storage system
JP4708669B2 (ja) パス冗長化装置及び方法
JPWO2015037103A1 (ja) サーバシステム、計算機システム、サーバシステムの管理方法、及びコンピュータ読み取り可能な記憶媒体
JP5297250B2 (ja) ストレージシステム、および情報格納方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071113

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080110

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080318

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080502

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20080529

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080617

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080619

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110627

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees