JP2008269462A - ノードの管理装置及び方法 - Google Patents

ノードの管理装置及び方法 Download PDF

Info

Publication number
JP2008269462A
JP2008269462A JP2007114170A JP2007114170A JP2008269462A JP 2008269462 A JP2008269462 A JP 2008269462A JP 2007114170 A JP2007114170 A JP 2007114170A JP 2007114170 A JP2007114170 A JP 2007114170A JP 2008269462 A JP2008269462 A JP 2008269462A
Authority
JP
Japan
Prior art keywords
node
information
failure
resource
path
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.)
Withdrawn
Application number
JP2007114170A
Other languages
English (en)
Inventor
Atsushi Kondo
淳 近藤
Makoto Aoki
誠 青木
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2007114170A priority Critical patent/JP2008269462A/ja
Priority to US12/007,642 priority patent/US7921325B2/en
Publication of JP2008269462A publication Critical patent/JP2008269462A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/2028Failover techniques eliminating a faulty processor or activating a spare
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2041Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with more than one idle spare processing component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/22Alternate routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/28Routing or path finding of packets in data switching networks using route fault recovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2002Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant
    • G06F11/2007Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication media
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/2025Failover techniques using centralised failover control functionality

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Hardware Redundancy (AREA)

Abstract

【課題】クラスタシステムにおいて適切なノード切替を行えるようにする。
【解決手段】クラスタシステムを構成する三以上のノードの各々と通信可能に接続された装置が、三以上のノードの各々について、アプリケーションが利用するリソースに関する情報を示したリソース情報を保持する。その装置が、リソースに関する状況の変化を示すリソース状況情報を各ノードから受信し、受信したリソース状況情報に基づいて、リソース情報を更新し、更新後のリソース情報に基づいて、次の現用ノードを決定し、決定した次の現用ノードを、三以上のノードのうちの少なくとも一つのノードへ通知する。
【選択図】図1

Description

本発明は、クラスタシステムを構成するノードの切替に関する。
従来、ストレージ装置へのアクセスを制御するノードに関する技術として、特許文献1等が知られている。特許文献1では、ノードに発生した障害に対処するため、複数のノードが備えられ、それらによりクラスタシステムが構成される。クラスタシステムでは、複数のノードのうちの一つが現用系のノードとなってストレージ装置へのアクセスを制御する。そして、それ以外のノードが待機系のノードとなって、現用系のノードに障害が発生した場合に備えて待機する。これにより、現用系のノードに障害が発生した場合でも、待機系のノードのうちの一つが、障害が発生したノードの代わりに現用系のノードとなって、ストレージ装置へのアクセスを制御できるようになっている。
特開2006−260357号公報
一般に、クラスタシステムにおいては、障害が発生した場合のノードの切替は、予め定義されたノードの順序に従って行われる。そのため、待機系のノードにも障害が発生していた場合には、ノードの切替が無駄に行われることがある。
例えば、クラスタシステムが四つのノード(ノード1、ノード2、ノード3、ノード4)で構成され、それらの順序がノード1→ノード2→ノード3→ノード4で定義されていた場合は、障害の発生していないときには、順番が最先のノード1が現用系のノードとなり、それ以外のノード2、ノード3及びノード4が待機系のノードとなる。そして、ノード1に障害が発生すると、待機系のノードのうち順番が最先であるノード2が、現用系のノードに切替えられる。ここで、ノード2にも障害が発生していたならば、更にノードの切替が行われ、ノード2の次に順番が先であるノード3が、現用系のノードに切替えられる。つまり、ノード1に障害が発生した時点で、ノード2にも障害が発生していた場合は、ノード1からノード2へ切替えは無駄となる。このような無駄な切替が行われると、正常にストレージ装置へアクセスできるようになるまでに、余計に時間がかかってしまう。
そこで、本発明は、クラスタシステムにおいて適切なノード切替を行えるようにすることを目的とする。
クラスタシステムを構成する三以上のノードの各々と通信可能に接続された装置が、三以上のノードの各々について、アプリケーションが利用するリソースに関する情報を示したリソース情報を保持する。その装置が、各ノードから、リソースに関する状況の変化を示すリソース状況情報を受信し、受信したリソース状況情報に基づいて、リソース情報を更新し、更新後のリソース情報に基づいて、次の現用ノードを決定する。その装置は、決定した次の現用ノードを、三以上のノードのうちの少なくとも一つのノードへ通知する。
一つの実施形態では、クラスタシステムを構成する三以上のノードの各々と通信可能に接続された装置(例えば計算機)に、受信部と、更新部と、決定部と、通知部とを備えることで、ノード管理装置が構成される。ノード管理装置内の記憶資源に、リソース情報が記憶される。リソース情報は、三以上のノードの各々について、アプリケーションが利用するリソースに関する情報を示した情報である。受信部は、各ノードから、リソースに関する状況の変化を示すリソース状況情報を受信する。更新部は、受信部が受信したリソース状況情報に基づいて、リソース情報を更新する。決定部は、更新部が更新したリソース情報に基づいて、次の現用ノードを決定する。通知部は、決定部が決定した次の現用ノードを示す情報を三以上のノードのうちの少なくとも一つのノードへ通知する。
クラスタシステムでは、クラスタシステムを構成する三以上のノードのうちの一つが現用ノードとなってストレージ装置へのアクセスを制御するが、現用ノードに障害が発生した場合には、現用ノードの切替が行われる。次の現用ノードとは、現用ノードの切替によって新たに現用ノードとなるノードを指す。通知部は、例えば、決定部が決定した次の現用ノードを示す情報を、全てのノードへ通知してもよいし、現用のノードにだけ通知してもよい。
一つの実施形態では、リソース情報は、ノードごとに、アプリケーションが利用する複数のパスのうち有効なパスの数である有効パス数を含む。受信部が受信するリソース状況情報は、パスに障害が発生し又は障害が回復したことを示す障害情報と、障害の発生又は回復を検出したノードを特定するノード情報とを含む。更新部は、障害情報及びノード情報に基づいて、リソース情報における、ノード情報によって特定されるノードに対応する有効パス数を更新する。決定部は、更新部が更新したリソース情報に基づいて、現用ノード以外のノードのうち有効パス数が多いノードを次の現用ノードと決定する。
一つの実施形態では、更新部は、障害情報がパスに障害が発生したことを示すときは、リソース情報における、ノード情報によって特定されるノードに対応する有効パス数を減少させ、障害情報がパスに障害が回復したことを示すときは、リソース情報における、ノード情報によって特定されるノードに対応する有効パス数を増加させる。
一つの実施形態では、受信部が受信する障害情報は、パスに障害が発生し又は障害が回復したことを示す情報と、障害が発生し又は回復したパスの数である障害パス数とを含む。更新部は、障害情報がパスに障害が発生したことを示すときは、リソース情報における、ノード情報によって特定されるノードに対応する有効パス数を障害パス数だけ減少させ、障害情報がパスに障害が回復したことを示すときは、リソース情報における、ノード情報によって特定されるノードに対応する有効パス数を障害パス数だけ増加させる。
一つの実施形態では、決定部は、更新部が更新したリソース情報に基づいて、次の現用ノードの順番及びそれ以降の現用ノードの順番を表すノードの切替順序を決定する。通知部は、決定部が決定したノードの切替順序を三以上のノードのうちの少なくとも一つのノードへ通知する。
通知部は、例えば、決定部が決定したノードの切替順序を、全てのノードへ通知してもよいし、現用のノードにだけ通知してもよい。また、決定されるノード切替順序、及び/又は、通知されるノード切替順序は、例えば、三以上のノードの各々の識別情報(例えばノード名)とその順番とで構成される。
一つの実施形態では、リソース情報は、ノードごとに、アプリケーションが利用する複数のパスのうち有効なパスの数である有効パス数を含む。受信部が受信するリソース状況情報は、パスに障害が発生し又は障害が回復したことを示す障害情報と、障害の発生又は回復を検出したノードを特定するノード情報とを含む。更新部は、障害情報及びノード情報に基づいて、リソース情報における、ノード情報によって特定されるノードに対応する有効パス数を更新する。決定部は、更新部が更新したリソース情報に基づいて、前記有効パス数が多いノード程順番が先になるように、ノードの切替順序を決定する。
一つの実施形態では、ノードの切替順序を示したノード切替順序情報と、決定部が決定した第一のノードの切替順序とノード切替順序情報に示される第二のノードの切替順序と比較し、第一のノードの切替順序と第二のノードの切替順序とが異なる場合に、ノード切替順序情報が示すノードの切替順序を第一の切替順序に更新する第二の更新部とを更に備える。通知部は、ノード切替順序情報が更新された場合に、第一の切替順序をノードへ通知する。
一つの実施形態では、決定部は、更新部によって更新された有効パス数が所定の閾値以下となった場合に、更新部が更新したリソース情報に基づいて、有効パス数が多いノード程順番が先になるように、ノードの切替順序を決定する。
一つの実施形態では、三以上のノードの各々は、複数のアプリケーションを有する。リソース情報は、アプリケーションとアプリケーションを稼働するノードとの組合わせごとに、有効パス数を含む。受信部が受信するリソース状況情報は、障害情報及びノード情報に加えて、アプリケーションを特定するアプリケーション情報を含む。更新部は、障害情報、ノード情報及びアプリケーション情報に基づいて、リソース情報における、ノード情報によって特定されるノードとアプリケーション情報によって特定されるアプリケーションとの組合わせに対応する有効パス数を更新する。決定部は、更新部が更新したリソース情報に基づいて、アプリケーション情報によって特定されるアプリケーションを有する三以上のノードについて、現用ノード以外のノードのうち有効パス数が多いノードを次の現用ノードと決定する。
一つの実施形態では、リソース情報は、アプリケーションとアプリケーションを稼働するノードとの組合わせごとに、有効パス数とアプリケーションの負荷を示す負荷情報とを含む。決定部は、更新部が更新したリソース情報に基づいて、アプリケーション情報によって特定されるアプリケーションを有する三以上のノードについて、現用ノード以外のノードのうち有効パス数が多く、かつ、アプリケーションに対応する負荷情報が示す負荷が少ないノードを次の現用ノードと決定する。
上述した複数の実施形態のうちの二以上の実施形態を組み合わせることが可能である。また、前述した各部(例えば、受信部、更新部、決定部、及び通知部)は、ハードウェア、コンピュータプログラム又はそれらの組み合わせ(例えば一部をコンピュータプログラムにより実現し残りをハードウェアで実現すること)により構築することができる。コンピュータプログラムは、所定のプロセッサに読み込まれて実行される。また、コンピュータプログラムがプロセッサに読み込まれて行われる情報処理の際、適宜に、メモリ等のハードウェア資源上に存在する記憶域が使用されてもよい。また、コンピュータプログラムは、CD−ROM等の記録媒体から計算機にインストールされてもよいし、通信ネットワークを介して計算機にダウンロードされてもよい。
以下、本発明の一実施形態について図面を参照して説明する。尚、以下の説明では、コンピュータプログラムが主語になる場合は、実際にはそのコンピュータプログラムを実行するプロセッサ(CPU)によって処理が行われるものとする。
図1は、本実施形態に係る計算機システムの構成例を示した図である。
本実施形態に係る計算機システム(以下、「本システム」と呼ぶことがある)は、管理サーバ100と、クライアント200と、複数のノード400と、ストレージ装置600とを備える。管理サーバ100、クライアント200及び複数のノード400は、第一の通信ネットワーク300によって接続される。第一の通信ネットワーク300としては、LAN(Local Area Network)など、種々のネットワークを採用することができる。また、複数のノード400及びストレージ装置600は、第二の通信ネットワーク500によって接続される。第二の通信ネットワーク500としては、SAN(Storage Area Network)など、種々のネットワークを採用することができる。第一の通信ネットワークと第二の通信ネットワークとは、同一の通信ネットワークとして構成されることもできる。尚、本システムが備えるノード400の数は、三以上である。本実施形態では、四つのノード400(ノード400a、ノード400b、ノード400c及びノードd)が備えられているものとする。以下、ノード400a、ノード400b、ノード400c、ノードdをそれぞれ、ノード1、ノード2、ノード3、ノード4と呼ぶことがある。
ノード400は、所定のアプリケーション(以下、「AP」)を実行し、クライアント200からの要求に従って、ストレージ装置600のLU(Logical Unit)630に対して、I/O要求(書込み要求/読出し要求)を発行する計算機である。複数のノード400(ここでは、ノード1、ノード2、ノード3及びノード4)は、クラスタシステムを構成する。即ち、複数のノード400のうちのいずれか一つが、主ノードとなって、実際にAPを稼働してクライアント200からの要求を処理する。そして、主ノード以外の他のノード400は、待機ノードとなって、主ノードに障害が発生した場合に備えて待機する(待機中は、クライアント200からの要求を処理しない)。主ノードに障害が発生した場合は、予め定められた系切替順序(後述する)に従って選択された一の待機ノードが、主ノードとなって、APを起動し、クライアント200からの要求を処理する。
ノード400は、例えば、プロセッサ(CPU)410と、記憶資源(例えば、メモリ420)と、一又は複数のHBA(ホストバスアダプタ)440とを備える。
HBA440は、SAN500に接続するために、ノード400が持つハードウェアであり、例えば、FC(Fibre Channel)プロトコル、SCSIプロトコルをサポートするインタフェース装置である。
記憶資源としては、メモリやハードディスクなど種々の記憶資源を採用可能であるが、本実施形態では、メモリ420とする。これは、管理サーバ100についても同様である。メモリ420には、例えば、プロセッサ410によって実行されるコンピュータプログラムとして、AP421と、パス管理ドライバ430と、クラスタソフトウェア422と、ドライバUIPG(プログラムの略)424と、ドライバ管理PG425とが記録される。AP421は、複数備えられてもよく、本実施形態では、全てのノード400a、400b、400c、400dには、二つのAP(AP421a、AP421b)が、それぞれ備えられているものとする。以下、AP421a、AP421bをそれぞれAP1、AP2と呼ぶことがある。
ノード400の図示しないオペレーティングシステム(OS)によってLU630がマウントされることにより論理デバイス434が認識される。以下、認識された論理デバイス434を「dev434」と呼ぶことがある。AP421は、dev434に対してI/O要求を発行することができる。dev434に対して発行されたI/O要求は、dev434に対応したLU630に対するI/O要求として、ノード400からストレージ装置600に送信される。本実施形態では、それぞれのノード400a、400b、400c、400dには、二つのdev434(dev434a、dev434b)が備えられるものとする。そして、dev434aは、AP1によって利用され、dev434bは、AP2によって利用されるものとする。以下、dev434a、dev434bをそれぞれdev1、dev2と呼ぶことがある。
パス管理ドライバ430は、AP421がI/O要求を発行するために利用する、dev434からそのdev434に対応したLU630までのアクセス経路(以下、「パス」)の管理を行う。パスは、どのdev434からどのHBA440とどのCHA610とを経由してどのLU630に繋がるかで定義される。つまり、パスは、dev434、HBA440、CHA610及びLU630の組み合わせで定義される。通常、各ノード400のdev434ごとに、複数のパスが設けられる。パス管理ドライバ430は、例えば、サブプログラムとして、パス管理フィルタドライバ431と、パス選択ロジック432とを備える。また、パス管理ドライバ430は、パステーブル433を備える。
パス管理フィルタドライバ431は、パス選択ロジック432が選択したパスを利用して、ストレージ装置600のLU630に対してI/O要求を発行する。そして、パス管理フィルタドライバ431は、そのI/O要求に対する結果をAP421に通知する。また、パス管理フィルタドライバ431は、I/O要求に対する結果から、パスの障害(パスを構成する機器(HBA440やCHA610やケーブル等)における物理的な障害や、物理的な障害は発生していないが正常にリンクが確立できない等の論理的な障害のことをいい、以下、「パス障害」という)を検出することができる。
パス選択ロジック432は、パステーブル433を参照して、I/O要求の発行に利用するパスを選択する。また、パス選択ロジック432は、パス管理フィルタドライバ431がパス障害を検出した場合に、その障害のあるパスをパスの選択の候補から除外する。即ち、パス選択ロジック432は、パステーブル433において無効(Offline)となっているパスを選択しない。パステーブル433については、後述する。
クラスタソフトウェア422は、そのクラスタソフトウェア422を備えるノード400がクラスタシステムを構成する一のノード400として動作するように、当該ノード400を制御するソフトウェアである。例えば、クラスタソフトウェア422は、そのクラスタソフトウェア422を備えるノード400の動作を監視する。そして、クラスタソフトウェアは、主ノードであるノード400の障害を検出した場合には、他のノード400に備えられるクラスタソフトウェア422と連携して、後述する系切替順序に従って主ノードの切り替えを行う。クラスタソフトウェア422は、AP241ごとにAP定義ファイル423を有する。本実施形態では、クラスタシステム上で、AP1とAP2とが稼働されるので、クラスタソフトウェア422は、AP1に関するAP定義ファイル423とAP2に関するAP定義ファイル423とを有することになる。AP定義ファイル423については、後述する。
ドライバ管理PG425は、パス管理ドライバ430を監視し、パス管理ドライバ430がパス障害又はパス障害の回復(以下、「パス回復」)を検出した場合に、そのパス障害又はパス回復に関する情報(以下、「パス障害/回復情報」)を管理サーバ100へ通知するプログラムである。パス障害/回復情報には、例えば、パス障害かパス回復かを示す情報と、そのパス障害又はパス回復を検出したノード400(つまり、自分自身)のIDと、障害が発生したパス又は回復したパスに対応するdev434のIDとが含まれる。障害が発生したパス又は回復したパスに対応するdev434のIDは、パステーブル433が参照されることにより取得される。パス障害/回復情報の通知には、例えば、SNMP(Simple Network Management Protocol)Trapが利用される。また、ドライバ管理PG425は、パス管理ドライバ430が管理するパスの状態が、有効となっているか無効となっているかを定期的又は不定期的に確認する。以下、この確認処理を「ヘルスチェック処理」と呼ぶことがある。ドライバ管理PG425は、ヘルスチェック処理によってパスの状態が変更されたこと(つまり、パス障害又はパス回復が発生したこと)を検出したときは、そのパス障害/回復情報を管理サーバ100へ通知する。ドライバ管理PG425は、パス障害又はパス回復が検出されたときは、パス障害/回復情報に基づいて、パステーブル433における所定の情報を変更する。
ドライバUI PG 424は、管理者がドライバ管理PG425が実行する処理に関する所定の設定を行うためのユーザインタフェース(UI)を提供するプログラムである。例えば、管理者は、ドライバUIPG 424が提供するUIを利用して、ドライバ管理PG425がパス障害/パス回復情報の通知やヘルスチェック処理を行うか否かを、設定することができる。
管理サーバ100は、複数のノード400を管理するサーバマシンである。管理サーバ100は、例えば、プロセッサ(CPU)110や、メモリ120を備える。メモリ120には、プロセッサ110に読み込まれて実行されるコンピュータプログラムや、プロセッサ110に使用されるデータが記憶される。
コンピュータプログラムとしては、例えば、初期化PG121や、フェールオーバ更新PG122や、Trap受信PG123がある。Trap受信PG123は、パス障害/回復情報をノード400から受信するためのプログラムである。Trap受信PG123は、パス障害/回復情報を受信したときは、その情報をフェールオーバ更新PG122へ通知する。また、Trap受信PG123は、パス障害/回復情報を受信したときは、その情報に基づいてパス管理テーブル433の所定の情報を変更することもできる。Trap受信PG123以外のコンピュータプログラム121、122については、後述する。
データとしては、例えば、パス管理テーブル124や、リソーステーブル125や、系切替順序テーブル126がある。各種データ124、125、126については、後述する。
ストレージ装置600は、例えば、アレイ状に配列された多数のディスクを備えるRAID(Redundant Array of Independent (or Inexpensive) Disks)システムとすることができる。但し、これに限らず、ストレージ装置600を、通信ネットワークを構成するスイッチ、例えば、高機能化されたインテリジェント型のファイバチャネルスイッチとして構成することもできる。ストレージ装置600は、一又は複数のチャネルアダプタ(以下、「CHA」)610と、一又は複数のディスクアダプタ(以下、DKA)670と、キャッシュメモリ(CM)640と、接続部620と、複数のメディアドライブ(例えばハードディスクドライブ或いはフラッシュメモリドライブ)660とを備える。複数のメディアドライブ660の記憶空間を基に複数の論理ユニット(LU)630が形成されている。
CHA610は、ノード400とデータ通信を行う回路基板である。DKA670は、各メディアドライブ660とデータ通信を行う回路基板である。キャッシュメモリ640には、ノード400からLU630に書込まれるデータや、LU630から読み出されてノード400に送信されるデータが一時的に記憶される。接続部620は、例えばクロスバスイッチであり、CHA610、DKA670及びキャッシュメモリ640を相互に接続させる。CHA610、DKA670、キャッシュメモリ640及び接続部620の組合せに代えて、CPUやメモリなどが搭載された一又は複数の回路基板がストレージ装置600の制御部として機能しても良い。
CHA610がノード400からLUNを指定した書込み要求を受信した場合、CHA610が、該書込み要求に従うデータをキャッシュメモリ640に書込み、DKA670が、そのLUNに対応したLU630に、キャッシュメモリ640に記憶されているデータを書込む。CHA610がノード400からLUNを指定した読出し要求を受信した場合、DKA670が、CHA610からの指示に応答して、そのLUNに対応したLU630からデータを読み出してキャッシュメモリ640に書込み、CHA610が、キャッシュメモリ640からそのデータを読み出してノード400に送信する。
図2は、本実施形態に係るノード400とストレージ装置600との間のパスの構成例を示した図である。
同図に示されたように、本実施形態では、各ノード400ごとに、2個のHBA440が備えられる。また、ストレージ装置600には、8個のCHA610と、8個のLU630とが、それぞれ備えられる。そして、SAN500は、スイッチ510により構成されている。このような構成において、各ノード400は、利用するHBA440やCHA610を切替えることにより、dev434からLU630までのパスとして、複数のパスを利用することができる。例えば、ノード1は、dev1からLU1までのパスとして、HBA1とCHA1とを経由するパスや、HBA2とCHA2とを経由するパス等を利用することができる。このような各ノード400が利用することができるパスに関する情報は、それぞれのノード400が備えるパステーブル433に記録される。パステーブル433は、各ノード400に固有の情報である。
図3は、パステーブル433の一例を示した図である。
同図(a)、(b)、(c)、(d)は、それぞれノード1、ノード2、ノード3、ノード4のパステーブル433a、433b、433c、433dを示している。それぞれのパステーブル433の構成は同様なので、ノード1のパステーブル433aを例にとって説明する。
パステーブル433aには、ノード1が利用することができる、dev434からLU630までのパスに関する情報が記録される。パステーブル433aには、各パスごとに、パスID4331と、論理デバイスID4332と、HBAID 4333と、CHA ID 4334と、LU ID 4335と、パス状態4336とが記録される。パスID4331は、ノード1において当該パスを一意に特定するための識別子である。従って、パスID4331は、ノード1においてユニークな値(名前や数値等)であればよい。論理デバイスID4332は、devを一意に特定するための識別子である。HBAID 4333は、HBA440を一意に特定するための識別子である。CHA ID 4334は、CHA610を一意に特定するための識別子である。LU ID 4335は、LU630を一意に特定するための識別子である。当該パスの構成は、論理デバイスID4332、HBAID 4333、CHA ID 4334及びLU ID 4335の組み合わせによって示される。例えば、パステーブル433aでは、パスID4331が「0001」のパスは、dev1とHBA1とCHA1とLU1とから構成されている。従って、パスID4331が「0001」のパスは、dev1からLU1までのパスであり、HBA1とCHA1とを経由するパスであることがわかる。パス状態4336は、当該パスが有効(Online)か無効(Offline)かを表す情報である。例えば、CHA3に障害が発生したとすると、CHA3を経由するパス(パスIDが「0007」のパス)は利用できなくなるので、そのパスのパス状態4336は、「Offline」に設定される。パス状態4336の設定は、例えば、ドライバ管理PG425によって行われることができる。ドライバ管理PG425は、パス障害を検出した際には、当該パスのパス状態4336を「Offline」に設定し、パス回復を検出した際には、当該パスのパス状態4336を「Online」に設定することができる。
図4は、AP定義ファイル423の一例を示した図である。
AP定義ファイル423は、AP421に関する情報が記載されたファイルであり、AP421ごとに用意される。同図では、符号423aがAP1のAP定義ファイルを示しており、符号423bがAP2のAP定義ファイルを示している。AP定義ファイル423には、例えば、AP421が利用する論理デバイスの名称(論理デバイス名)と、系切替順序を示した情報とが記録される。本実施形態では、論理デバイス名として、論理デバイスIDが記録される。系切替順序は、ノードを切替えるためのノード400の順序、即ち、主ノードを決定するためのノード400の順序(優先順位の並び)である。AP423を稼働できる複数のノード400のうち、系切替順序における順番が最先のノード400が主ノードとされ、それ以外のノード400が待機ノードとされる。主ノードに障害が発生した場合には、待機ノードの中で系切替順序における順番が最先のノード400が選択され、その選択されたノード400が主ノードとされる。系切替順序は、例えば、同図に示すように、AP423を稼働できるノード400のノードIDを、上下に並べて記載することで定義される。このような定義方法の場合は、例えば、上に記載されたノード400程、順番が先のノード400又は順番が後のノード400であると定義される。本実施形態では、上に記載されたノード400程、順番が先のノード400であるとする。
AP1のAP定義ファイル423aの場合は、論理デバイス名として「dev1」が記載されている。このことから、AP1は、dev1を利用することがわかる。また、切替順序を示す情報として、上から順番に、「ND1」、「ND2」、「ND3」、「ND4」が記載されている。ここで、ND1、ND2、ND3、ND4は、それぞれノード1、ノード2、ノード3、ノード4の識別子である。従って、AP1における系切替順序は、ノード1が最先のノードであり、ノード1→ノード2→ノード3→ノード4となることがわかる。そして、通常時(障害が発生していないとき)は、ノード1が主ノードとなる。
一方、AP2のAP定義ファイル423bの場合は、論理デバイス名として「dev2」が記載されている。このことから、AP2は、dev2を利用することがわかる。また、切替順序を示す情報として、上から順番に、「ND2」、「ND3」、「ND4」、「ND1」が記載されている。従って、AP2における系切替順序は、ノード2が最先のノードであり、ノード2→ノード3→ノード4→ノード1となることがわかる。そして、通常時は、ノード2が主ノードとなる。
このように、系切替順序はAP421ごとに定義されるので、系切替順序は、全てのAP421において同一であってもよいし、AP421ごとに異なってもよい。従って、例えば、AP1とAP2のそれぞれの主ノードが同一のノード400である場合もあれば、AP1の待機ノードがAP2の主ノードとして稼働する場合もある。
図5は、パス管理テーブル124の一例を示した図である。
パス管理テーブル124は、本システムを構成する全てのノード400の各々が備えるパステーブル433を統合したものである。パス管理テーブル124は、例えば、後述の第二のリソーステーブル作成処理のために用意されるが、その処理を行わない場合には無くてもよい。パス管理テーブル124には、例えば、ノードID1241と、パスID1242と、論理デバイスID1243と、HBAID 1244と、CHA ID 1245と、LU ID 1256と、パス状態1247とが記録される。ノードID1241以外の情報(論理デバイスID1243、HBAID 1244、CHA ID 1245、LU ID 1256及びパス状態1247)は、パステーブル423と同じである。これらは、各ノード400が備えるパステーブル423に記録された値がそのまま設定される。ノードID1241は、ノードID1241以外の情報がどのノード400に関するものであるかを示す、ノードの識別子である。パス管理テーブル124は、例えば、初期化PG121によって作成される。また、Trap受信PG123がパス障害/回復情報を受信したときには、Trap受信PG123は、その情報に基づいてパス管理テーブル124の所定の情報(例えば、パス状態1247)を変更することができる。
図6は、リソーステーブル125の一例を示した図である。
リソーステーブル125は、本システムにおいて稼働されるAP421について、そのAP421を稼働するために必要とされるリソース(例えば、ノード400や、ノード400からストレージ装置600までのパス等)に関する情報を管理するためのテーブルである。例えば、リソーステーブル125には、AP241ごとに、AP241を一意に特定するための識別子であるAPID 1251と、当該AP241によって利用されるdev434の識別子である論理デバイスID1252と、当該AP241を稼働する複数のノード400のそれぞれの識別子である複数のノードID1253とが記録される。そして、APID 1251と論理デバイスID1252とノードID1253との組み合わせごとに、オンラインパス数1254と、パス総数1255と、主ノード1256とが記録される。オンラインパス数1254は、ノードID1253で特定されるノード400における、論理デバイスID1252で特定されるdev434に関するパスのうち、有効なパスの数である。パス総数1255は、ノードID1253で特定されるノード400における、論理デバイスID1252で特定されるdev434に対応するパスの総数である。主ノード1256は、ノードID1253で特定されるノード400が主ノードか否かを示す。例えば、当該ノード400が主ノードである場合には、主ノード1256は「True」と設定され、当該ノード400が待機ノードである場合には、主ノード1256は「False」と設定される。
リソーステーブル125は、初期化PG121によって作成され、所定のタイミングでフェールオーバ更新PG122によって一部の情報(例えば、オンラインパス数1254、主ノード1256)が更新される。尚、リソーステーブル125の一部の情報は、管理者による入力により設定されてもよい。
尚、リソーステーブル125の構成は、上述したものに限定されない。本テーブル125は、上述した情報要素のうちの一部で構成されてもよいし、他の新たな情報要素が追加された形で構成されてもよい。例えば、APID 1251と論理デバイスID1252とノードID1253との組み合わせごとに、AP ID 1251で特定されるAP421の負荷の状況を示す負荷情報(プロセッサ410やメモリ420の使用率、稼働しているAP421の数等)が更に記録されてもよい。また、パス総数1255、主ノード1256は、必ずしも記録されなくともよい。
図7は、系切替順序テーブル126の一例を示した図である。
系切替順序テーブル126には、本システムにおいて稼働されるAP421ごとに、そのAP421の系切替順序が記録される。即ち、本テーブル126は、ノード400がAP421ごとに備えるAP定義ファイル423のそれぞれに記載される系切替順序を示す情報を統合したものである。系切替順序テーブル126には、例えば、AP421ごとにAPID 1261と、系切替順序1262とが記録される。系切替順序1262には、例えば、同図に示すように、ノード400のIDが順番に並べられて記録される。同図の場合は、左に記録されたノード400程、順番が先のノード400であることを示している。従って、AP1の系切替順序は、ノード1が最先のノードであり、ノード1→ノード2→ノード3→ノード4となることがわかる。また、AP2の系切替順序は、ノード2が最先のノードであり、ノード2→ノード3→ノード4→ノード1となることがわかる。
系切替順序テーブル126は、初期化PG121によって作成され、所定のタイミングでフェールオーバ更新PG122によって系切替順序1262が更新される。初期化PG121は、ノード400がAP421ごとに備えるAP定義ファイル423に基づいて、系切替順序テーブル126を作成することができる。また、初期化PG121は、リソーステーブル125に基づいて、系切替順序テーブル126を作成することもできる。フェールオーバ更新PG122は、リソーステーブル125に基づいて、系切替順序1262を更新する。
系切替順序テーブル126における系切替順序1262が更新されると、その系切替順序1262は、対応するAPID 1261によって特定されるAP421を稼働するノード400の全部又は一部に通知される。通知を受けたノード400は、AP定義ファイル423に記載された系切替順序を示す情報を、通知された系切替順序1262に変更する。これによって、クラスタシステムにおける、対応するAP421の系切替順序が変更されることになる。
以下、本システムを構成する管理サーバ100の動作を説明する。
図8は、初期化PG121が実行する処理のフローチャートである。
まず、初期化PG121は、リソーステーブル125を作成する(S101)。リソーステーブル125を作成する処理(以下、「リソーステーブル作成処理」)については、後述する。
次に、初期化PG121は、系切替順序テーブル126を作成する(S102)。系切替順序テーブル126を作成する処理(以下、「系切替順序テーブル作成処理」)については、後述する。
以上が、初期化PG121が実行する処理のフローチャートの説明である。
リソーステーブル作成処理としては、例えば、以下の二つの処理が考えられる。以下、それぞれの処理を説明する。
図9は、第一のリソーステーブル作成処理のフローチャートである。
第一のリソーステーブル作成処理では、リソーステーブルに登録される全ての情報がノード400から取得される。
まず、初期化PG121は、本システムを構成する全て又は一部のノード400から、リソーステーブル125に登録される、APID 1251、論理デバイスID1252及びノードID1253の組み合わせの情報と、AP421ごとの現時点での主ノードを示す情報とを取得する(S201)。尚、リソーステーブル125に主ノード1256を記録しない場合には、初期化PG121は、AP421ごとの現時点での主ノードを示す情報を取得しなくともよい。初期化PG121は、ノード400におけるクラスタソフトウェア422と通信することで、クラスタソフトウェア422から、これらの情報を取得することができる。
クラスタソフトウェア422は、初期化PG121に通知する上記の組み合わせの情報を、例えば、自己が備えるAP定義ファイル423から取得することができる。例えば、クラスタソフトウェア422が図4に示したような二つのAP定義ファイル423a、423bを備えていれば、そのことから、本システムでは、二つのAP421(AP1、AP2)が稼働されることがわかる。また、AP1に関しては、上述したように、AP定義ファイル423aから、AP1がdev1を利用し、また、AP1の系切替順序がノード1→ノード2→ノード3→ノード4であることがわかる。つまり、AP1を稼働することができるノード400として、ノード1、ノード2、ノード3及びノード4が存在することがわかる。従って、この場合、AP1とdev1とノード1の組み合わせ、AP1とdev1とノード2との組み合わせ、AP1とdev1とノード3の組み合わせ、AP1とdev1とノード4の組み合わせの情報が、それぞれ初期化PG121に通知される。同様の方法で、AP2に関しても、リソーステーブル125に登録される組み合わせの情報が初期化PG121に通知される。
次に、初期化PG121は、S201で取得した情報に基づいて、リソーステーブル125に一部の情報、即ち、APID 1251、論理デバイスID1252、ノードID1253及び主ノード1256を登録する(S202)。
次に、初期化PG121は、リソーステーブル125に登録された、AP421、dev434及びノード400の組み合わせごとに、当該ノード400から、当該dev434に関するパスの総数と、当該dev434に関するパスであって有効なパスの数とを取得する(S203)。初期化PG121は、ノード400におけるパス管理ドライバ430と通信することで、パス管理ドライバ430から、これらの情報を取得することができる。
この取得要求を受けたパス管理ドライバ430は、自己が備えるパステーブル433から、パスの総数及び有効なパスの数を取得し、それらを管理サーバ100へ通知する。例えば、ノード1がdev1に関してこの取得要求を受けた場合は、ノード1のパステーブル433aが図3に示されたものであれば、dev1に関するパスの総数及び有効なパスの数は、次のようにして取得される。即ち、パステーブル433aに登録されているパスのうち、論理デバイスID4332が「dev1」であるパスの数が計算され、その数がパスの総数とされる。また、論理デバイスID4332がdev1であるパスのうち、パス状態433が「Online」であるパスの数が計算され、その数が有効なパスの数とされる。
その後、初期化PG121は、S203において取得した情報を、リソーステーブル125に登録する(S204)。即ち、S203において情報の取得の対象とされたAP421、dev434及びノード400の組み合わせについて、その組み合わせに対応するオンラインパス数1254とパス総数1255とには、S203で取得された有効なパスの数とパスの総数とが、それぞれ登録される。
リソーステーブル125に登録された、AP421、dev434及びノード400の組み合わせの全てについて、その組み合わせに対応するオンラインパス数1254とパス総数1255とが、全て登録されるまで、S203及びS204の処理が繰返される。
尚、この第一のリソーステーブル作成処理では、S202において登録される情報は、S201においてノード400から自動的に取得された情報に代えて、管理サーバ100が提供するUI(図示しない)を介して管理者によって入力される情報であってもよい。
以上が、第一のリソーステーブル作成処理のフローチャートの説明である。
図10は、第二のリソーステーブル作成処理のフローチャートである。
第二のリソーステーブル作成処理では、ノード400から、全てのノード400のパステーブル433と、全てのAP421に関するAP定義ファイル423とが取得される。そして、全てノード400のパステーブル433から、それらを統合したパス管理テーブル124が作成される。リソーステーブルは、パス管理テーブル124とAP定義ファイル423とを参照して作成される。
具体的には、まず、初期化PG121は、本システムを構成する全て又は一部のノード400から、本システムにおいて稼働される全てのAP421に関するAP定義ファイル423と、AP421ごとの現時点での主ノードを示す情報とを取得する(S301)。尚、第一のリソーステーブル作成処理と同様に、リソーステーブル125に主ノード1256を記録しない場合には、初期化PG121は、AP421ごとの現時点での主ノードを示す情報を取得しなくともよい。初期化PG121は、各ノード400と通信することで、クラスタソフトウェア422から、AP定義ファイル423を取得することができる。
次に、初期化PG121は、本システムを構成する全てのノード400から、各々のノード400が備えるパステーブル433を取得する(S302)。初期化PG121は、ノード400におけるパス管理ドライバ430と通信することで、パス管理ドライバ430から、パステーブル433を取得することができる。
その後、初期化PG121は、S302において取得した全てのパステーブル433を統合して、パス管理テーブル124を作成する(S303)。
その後、初期化PG121は、S301で取得したAP定義ファイル423及び主ノードを示す情報と、S303で作成されたパス管理テーブル124とを参照して、リソーステーブル125を作成する(S402)。AP定義ファイル423から、リソーステーブル125に登録される、APID 1251、論理デバイスID1252及びノードID1253の組み合わせの情報を取得する方法は、上述したとおりである。また、パス管理テーブル124から、リソーステーブル125に登録されるオンラインパス数1254及びパス総数1255を取得する方法は、上述した、各ノード400のパステーブル423から取得する方法と実質的に同じである。
以上が、第二のリソーステーブル作成処理のフローチャートである。
図11は、系切替順序テーブル作成処理のフローチャートである。
まず、初期化PG121は、本システムを構成する全て又は一部のノード400から、本システムにおいて稼働される全てのAP421に関するAP定義ファイル423を取得する(S401)。
次に、初期化PG121は、S401で取得したAP定義ファイル423を参照して、系切替順序テーブル126を作成する(S402)。具体的には、初期化PG121は、系切替順序テーブル126における、各AP421の系切替順序1262が、当該AP421に関するAP定義ファイル423に記載された系切替順序となるように、系切替順序テーブル126を作成する(S402)。
以上が、系切替順序テーブル作成処理のフローチャートである。
図12は、フェールオーバ更新PG122が実行する処理のフローチャートである。
本処理は、フェールオーバ更新PG122が、Trap受信PG123からパス障害/回復情報を通知されたときに、開始される。
まず、フェールオーバ更新PG122は、通知されたパス障害/回復情報から、パス障害かパス回復かを示す情報と、そのパス障害又はパス同復を検出したノード400のIDと、障害が発生したパス又は回復したパスに対応するdev434のIDとを取得する(S501)。
次に、フェールオーバ更新PG122は、S501で取得したノード400のIDとdev434のIDとをキーとして、それらの情報に対応するAPID 1251を、リソーステーブル125から取得する(S502)。対応するAP ID 1251が複数個ある場合には、一つのAP ID 1251が取得される。
これ以降の処理(S503〜S512)は、S502で取得されたAPID 1251によって特定されるAP421ごとに行われる。
まずS503において、S501で取得した、パス障害かパス回復かを示す情報に基づいて、このパス障害/回復情報の通知が、パス障害の通知であるかパス回復の通知であるかが判断される。フェールオーバPG122は、この判断結果に基づいて、リソーステーブル125を更新する。
即ち、パス障害の通知の場合は(S503:YES)、フェールオーバ更新PG122は、S501及びS502で取得したAPID 1251とノード400のIDとdev434のIDとの組み合わせに対応するオンラインパス数1254を一つ減らす(S504)。一方、パス回復の通知の場合は(S503:NO)、フェールオーバ更新PG122は、S501及びS502で取得したAPID 1251とノード400のIDとdev434のIDとの組み合わせに対応するオンラインパス数1254を一つ増やす(S505)。
次に、S504又はS505において変更されたオンラインパス数1254が、所定の閾値以下であるか否かが判断される(S506)。この閾値は、例えば、デフォルト値として所定の値(例えば、1)が設定されてもよいし、管理者により設定されてもよい。
当該オンラインパス数1254が、所定の閾値以下でない場合は(S506:NO)、当該AP241に関する処理は終了する。リソーステーブル125に他のAP241が登録されていれば、そのAP241に関する処理が行われる。
当該オンラインパス数1254が、所定の閾値以下である場合は(S506:YES)、当該AP241に関する系切替順序の見直しが行われる。即ち、フェールオーバ更新PG122は、当該AP241を示すAPID 1251に対応する全てのノード400の各々のオンラインパス数1254を比較し、オンラインパス数1254が降順になるように、ノード400の順序を決定する(S507)。そして、フェールオーバ更新PG122は、S507で決定したノード400の順序が、現在の系切替順序と異なるか否か、即ち、系切替順序テーブル126における、当該APを示すAPID 1261に対応する系切替順序1262と異なるか否かを判断する(S508)。
現在の系切替順序と同一である場合は(S508:NO)、当該AP241に関する処理は終了する。リソーステーブル125に他のAP241が登録されていれば、そのAP241に関する処理が行われる。
現在の系切替順序と異なる場合は(S508:YES)、フェールオーバ更新PG122は、系切替順序テーブル126における、当該APを示すAPID 1261に対応する系切替順序1262を、S507で決定したノード400の順序に変更する(S509)。その後、フェールオーバ更新PG122は、変更された系切替順序1262を、当該APを稼働するノード400の全部又は一部へ通知する(S510)。この通知は、ノード400におけるクラスタソフトウェア422に対して行われる。クラスタソフトウェア422は、通知された系切替順序に基づいて、AP定義ファイル423に記載されている、系切替順序を示す情報を変更する。
リソーステーブル125に登録されている全てのAP421について、S502からS510までの処理が行われる(S511)。
以上が、フェールオーバ更新PG122が実行する処理のフローチャートの説明である。
図13A及び13Bは、それぞれ、変更前の系切替順序テーブル126及びAP定義ファイル423の一例を示している。また、図14A及び図14Bは、それぞれ、変更後の系切替順序テーブル126及びAP定義ファイル423の一例を示している。
図13A、B及び図14A、Bに示されるように、管理サーバ100における系切替順序テーブル126が更新されると、その更新に対応して、ノード400のAP定義ファイルに記載される系切替順序を示す情報が変更される。即ち、図13A及び図14Aのように、系切替順序テーブル126における、AP1の系切替順序1262が、ノード1→ノード2→ノード3→ノード4からノード1→ノード4→ノード3→ノード2に変更されている。これに伴って、図13B及び図14Bのように、AP定義ファイル423における系切替順序を示す情報が、ノード1→ノード2→ノード3→ノード4からノード1→ノード4→ノード3→ノード2に変更される。また、AP2に関しては、系切替順序テーブル126において更新されていないため、AP定義ファイル423においても、その系切替順序を示す情報は変更されない。
以上、上述した実施形態によれば、無駄なノード400の切替を事前に防止することができ、適切なノード400の切替が行えるようになる。
以上、本発明の幾つかの実施形態を説明したが、これらは本発明の説明のための例示であって、本発明の範囲をこれらの実施形態にのみ限定する趣旨ではない。本発明は、他の種々の形態でも実施することが可能である。
例えば、管理サーバ100は、系切替順序テーブル126を利用せずに、系切替順序の変更を指示してもよい。即ち、管理サーバ100は、系切替順序が変更されたか否かに関係なく、リソーステーブル125が更新されたときに、ノード400へ系切替順序を通知することができる。この場合は、例えば、系切替順序の変更の通知を受けたクラスタソフトウェア422が、通知された系切替順序とAP定義ファイル423に記載されている元々の系切替順序とを比較して、AP定義ファイル423を更新するか否かを決定することができる。
また、管理サーバ100は、オンラインパス数1254に基づいて、系切替順序を決定したが、例えば、AP421の負荷の状況を示す負荷情報をも考慮して、系切替順序を決定することができる。この場合は、管理サーバ100は、例えば、オンラインパス数1254が多く、かつ、AP421に対応する負荷情報が示す負荷が少ないノード程、順番が先になるように、切替順序を決定することができる。
また、管理サーバ100は、系切替順序の代わりに、次の現用ノード(即ち、系切替順序における順番が最先のノード)を示す情報をノード400へ通知してもよい。
本実施形態に係る計算機システムの構成例を示した図である。 本実施形態に係るノードとストレージ装置との間のパスの構成例を示した図である。 パステーブルの一例を示した図である。 AP定義ファイルの一例を示した図である。 パス管理テーブルの一例を示した図である。 リソーステーブルの一例を示した図である。 系切替順序テーブルの一例を示した図である。 初期化PGが実行する処理のフローチャートである。 第一のリソーステーブル作成処理のフローチャートである。 第二のリソーステーブル作成処理のフローチャートである。 系切替順序テーブル作成処理のフローチャートである。 フェールオーバ更新PGが実行する処理のフローチャートである。 図13Aは、変更前の系切替順序テーブルの一例である。図13Bは、変更前のAP定義ファイルの一例である。 図14Aは、変更後の系切替順序テーブルの一例である。図14Bは、変更後のAP定義ファイルの一例である。
符号の説明
100…管理サーバ、200…クライアント、300…LAN、400…ノード、500…SAN、600…ストレージ装置

Claims (20)

  1. アプリケーションを稼働しストレージ装置にI/O要求を発行する三以上のノードの各々について、前記アプリケーションが利用するリソースに関する情報を示したリソース情報と、
    前記各ノードから前記リソースに関する状況の変化を示すリソース状況情報を受信する受信部と、
    前記受信部が受信した前記リソース状況情報に基づいて、前記リソース情報を更新する更新部と、
    前記更新部が更新した前記リソース情報に基づいて、次の現用ノードを決定する決定部と、
    前記決定部が決定した次の現用ノードを示す情報を前記三以上のノードのうちの少なくとも一つのノードへ通知する通知部と、
    を備えるノード管理装置。
  2. 前記リソース情報は、前記ノードごとに、前記アプリケーションが利用する複数のパスのうち有効なパスの数である有効パス数を含み、
    前記受信部が受信するリソース状況情報は、前記パスに障害が発生し又は障害が回復したことを示す障害情報と、前記障害の発生又は回復を検出したノードを特定するノード情報とを含み、
    前記更新部は、前記障害情報及びノード情報に基づいて、前記リソース情報における、前記ノード情報によって特定されるノードに対応する有効パス数を更新し、
    前記決定部は、前記更新部が更新した前記リソース情報に基づいて、現用ノード以外のノードのうち前記有効パス数が多いノードを次の現用ノードと決定する、
    請求項1記載のノード管理装置。
  3. 前記更新部は、前記障害情報が前記パスに障害が発生したことを示すときは、前記リソース情報における、前記ノード情報によって特定されるノードに対応する有効パス数を減少させ、前記障害情報が前記パスに障害が回復したことを示すときは、前記リソース情報における、前記ノード情報によって特定されるノードに対応する有効パス数を増加させる、
    請求項2記載のノード管理装置。
  4. 前記受信部が受信する障害情報は、前記パスに障害が発生し又は障害が回復したことを示す情報と、前記障害が発生し又は回復したパスの数である障害パス数とを含み、
    前記更新部は、前記障害情報が前記パスに障害が発生したことを示すときは、前記リソース情報における、前記ノード情報によって特定されるノードに対応する有効パス数を前記障害パス数だけ減少させ、前記障害情報が前記パスに障害が回復したことを示すときは、前記リソース情報における、前記ノード情報によって特定されるノードに対応する有効パス数を前記障害パス数だけ増加させる、
    請求項3記載のノード管理装置。
  5. 前記決定部は、前記更新部が更新した前記リソース情報に基づいて、次の現用ノードの順番及びそれ以降の現用ノードの順番を表すノードの切替順序を決定し、
    前記通知部は、前記決定部が決定したノードの切替順序を前記三以上のノードのうちの少なくとも一つのノードへ通知する、
    請求項1記載のノード管理装置。
  6. 前記リソース情報は、前記ノードごとに、前記アプリケーションが利用する複数のパスのうち有効なパスの数である有効パス数を含み、
    前記受信部が受信するリソース状況情報は、前記パスに障害が発生し又は障害が回復したことを示す障害情報と、前記障害の発生又は回復を検出したノードを特定するノード情報とを含み、
    前記更新部は、前記障害情報及びノード情報に基づいて、前記リソース情報における、前記ノード情報によって特定されるノードに対応する有効パス数を更新し、
    前記決定部は、前記更新部が更新した前記リソース情報に基づいて、前記有効パス数が多いノード程順番が先になるように、ノードの切替順序を決定する、
    請求項5記載のノード管理装置。
  7. ノードの切替順序を示したノード切替順序情報と、
    前記決定部が決定した第一のノードの切替順序と前記ノード切替順序情報に示される第二のノードの切替順序と比較し、前記第一のノードの切替順序と前記第二のノードの切替順序とが異なる場合に、前記ノード切替順序情報が示すノードの切替順序を前記第一の切替順序に更新する第二の更新部と、を更に備え、
    前記通知部は、前記ノード切替順序情報が更新された場合に、前記第一の切替順序を前記ノードへ通知する、
    請求項6記載のノード管理装置。
  8. 前記決定部は、前記更新部によって更新された有効パス数が所定の閾値以下となった場合に、前記更新部が更新した前記リソース情報に基づいて、前記有効パス数が多いノード程順番が先になるように、ノードの切替順序を決定する、
    請求項6記載のノード管理装置。
  9. 前記三以上のノードの各々は、複数のアプリケーションを有し、
    前記リソース情報は、前記アプリケーションと前記アプリケーションを稼働するノードとの組合わせごとに、前記有効パス数を含み、
    前記受信部が受信するリソース状況情報は、前記障害情報及びノード情報に加えて、前記アプリケーションを特定するアプリケーション情報を含み、
    前記更新部は、前記障害情報、ノード情報及びアプリケーション情報に基づいて、前記リソース情報における、前記ノード情報によって特定されるノードと前記アプリケーション情報によって特定されるアプリケーションとの組合わせに対応する前記有効パス数を更新し、
    前記決定部は、前記更新部が更新した前記リソース情報に基づいて、前記アプリケーション情報によって特定されるアプリケーションを有する三以上のノードについて、現用ノード以外のノードのうち前記有効パス数が多いノードを次の現用ノードと決定する、
    請求項2記載のノード管理装置。
  10. 前記リソース情報は、前記アプリケーションと前記アプリケーションを稼働するノードとの組合わせごとに、前記有効パス数と前記アプリケーションの負荷を示す負荷情報とを含み、
    前記決定部は、前記更新部が更新した前記リソース情報に基づいて、前記アプリケーション情報によって特定されるアプリケーションを有する三以上のノードについて、現用ノード以外のノードのうち前記有効パス数が多く、かつ、前記アプリケーションに対応する負荷情報が示す負荷が少ないノードを次の現用ノードと決定する、
    請求項9記載のノード管理装置。
  11. アプリケーションを稼働しストレージ装置にI/O要求を発行する三以上のノードの各々のノードから、前記アプリケーションが利用するリソースに関する状況の変化を示すリソース状況情報を受信し、
    前記リソース状況情報に基づいて、前記三以上のノードの各々について前記アプリケーションが利用するリソースに関する情報を示したリソース情報を更新し、
    前記更新された前記リソース情報に基づいて、次の現用ノードを決定し、
    前記決定された次の現用ノードを示す情報を前記三以上のノードのうちの少なくとも一つのノードへ通知する、
    ノード管理方法。
  12. 前記リソース情報は、前記ノードごとに、前記アプリケーションが利用する複数のパスのうち有効なパスの数である有効パス数を含み、
    前記リソース状況情報は、前記ノードから前記パスに障害が発生し又は障害が回復したことを示す障害情報と、前記障害の発生又は回復を検出したノードを特定するノード情報とを含み、
    前記リソース情報の更新では、前記障害情報及びノード情報に基づいて、前記リソース情報における、前記ノード情報によって特定されるノードに対応する有効パス数を更新し、
    前記次の現用ノードの決定では、前記更新された前記リソース情報に基づいて、現用ノード以外のノードのうち前記有効パス数が多いノードを次の現用ノードと決定する、
    請求項11記載のノード管理方法。
  13. 前記リソース情報の更新では、前記障害情報が前記パスに障害が発生したことを示すときは、前記リソース情報における、前記ノード情報によって特定されるノードに対応する有効パス数を減少させ、前記障害情報が前記パスに障害が回復したことを示すときは、前記リソース情報における、前記ノード情報によって特定されるノードに対応する有効パス数を増加させる、
    請求項12記載のノード管理方法。
  14. 前記障害情報は、前記パスに障害が発生し又は障害が回復したことを示す情報と、前記障害が発生し又は回復したパスの数である障害パス数とを含み、
    前記リソース情報の更新では、前記障害情報が前記パスに障害が発生したことを示すときは、前記リソース情報における、前記ノード情報によって特定されるノードに対応する有効パス数を前記障害パス数だけ減少させ、前記障害情報が前記パスに障害が回復したことを示すときは、前記リソース情報における、前記ノード情報によって特定されるノードに対応する有効パス数を前記障害パス数だけ増加させる、
    請求項13記載のノード管理方法。
  15. 前記次の現用ノードの決定では、前記更新された前記リソース情報に基づいて、次の現用ノードの順番及びそれ以降の現用ノードの順番を表すノードの切替順序を決定し、
    前記ノードへの通知では、前記決定されたノードの切替順序を前記三以上のノードのうちの少なくとも一つのノードへ通知する、
    請求項11記載のノード管理方法。
  16. 前記リソース情報は、前記ノードごとに、前記アプリケーションが利用する複数のパスのうち有効なパスの数である有効パス数を含み、
    前記リソース状況情報は、前記ノードから前記パスに障害が発生し又は障害が回復したことを示す障害情報と、前記障害の発生又は回復を検出したノードを特定するノード情報とを含み、
    前記リソース情報の更新では、前記障害情報及びノード情報に基づいて、前記リソース情報における、前記ノード情報によって特定されるノードに対応する有効パス数を更新し、
    前記次の現用ノードの決定では、前記更新された前記リソース情報に基づいて、前記有効パス数が多いノード程順番が先になるように、ノードの切替順序を決定する、
    請求項15記載のノード管理方法。
  17. 前記更新された前記リソース情報に基づいて決定された第一のノードの切替順序とノードの切替順序を示したノード切替順序情報に示される第二のノードの切替順序と比較し、前記第一のノードの切替順序と前記第二のノードの切替順序とが異なる場合に、前記ノード切替順序情報が示すノードの切替順序を前記第一の切替順序に更新し、
    前記ノードへの通知では、前記ノード切替順序情報が更新された場合に、前記第一の切替順序を前記三以上のノードのうちの少なくとも一つのノードへ通知する、
    請求項16記載のノード管理方法。
  18. 前記次の現用ノードの決定では、前記更新された有効パス数が所定の閾値以下となった場合に、前記更新された前記リソース情報に基づいて、前記有効パス数が多いノード程順番が先になるように、ノードの切替順序を決定する、
    請求項16記載のノード管理方法。
  19. 前記三以上のノードの各々は、複数のアプリケーションを有し、
    前記リソース情報は、前記アプリケーションと前記アプリケーションを稼働するノードとの組合わせごとに、前記有効パス数を含み、
    前記リソース状況情報は、前記障害情報及びノード情報に加えて、前記アプリケーションを特定するアプリケーション情報を含み、
    前記リソース情報の更新では、前記障害情報、ノード情報及びアプリケーション情報に基づいて、前記リソース情報における、前記ノード情報によって特定されるノードと前記アプリケーション情報によって特定されるアプリケーションとの組合わせに対応する前記有効パス数を更新し、
    前記次の現用ノードの決定では、前記更新された前記リソース情報に基づいて、前記アプリケーション情報によって特定されるアプリケーションを有する三以上のノードについて、現用ノード以外のノードのうち前記有効パス数が多いノードを次の現用ノードと決定する、
    請求項12記載のノード管理方法。
  20. 前記リソース情報は、前記アプリケーションと前記アプリケーションを稼働するノードとの組合わせごとに、前記有効パス数と前記アプリケーションの負荷を示す負荷情報とを含み、
    前記次の現用ノードの決定では、前記更新された前記リソース情報に基づいて、前記アプリケーション情報によって特定されるアプリケーションを有する三以上のノードについて、現用ノード以外のノードのうち前記有効パス数が多く、かつ、前記アプリケーションに対応する負荷情報が示す負荷が少ないノードを次の現用ノードと決定する、
    請求項19記載のノード管理方法。
JP2007114170A 2007-04-24 2007-04-24 ノードの管理装置及び方法 Withdrawn JP2008269462A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007114170A JP2008269462A (ja) 2007-04-24 2007-04-24 ノードの管理装置及び方法
US12/007,642 US7921325B2 (en) 2007-04-24 2008-01-14 Node management device and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007114170A JP2008269462A (ja) 2007-04-24 2007-04-24 ノードの管理装置及び方法

Publications (1)

Publication Number Publication Date
JP2008269462A true JP2008269462A (ja) 2008-11-06

Family

ID=39888464

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007114170A Withdrawn JP2008269462A (ja) 2007-04-24 2007-04-24 ノードの管理装置及び方法

Country Status (2)

Country Link
US (1) US7921325B2 (ja)
JP (1) JP2008269462A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011099380A1 (ja) * 2010-02-10 2011-08-18 三菱電機株式会社 必須データ管理システム及び計算機及び必須データ管理プログラム及び記録媒体及び通信方法
JP2012528382A (ja) * 2009-05-25 2012-11-12 アリババ・グループ・ホールディング・リミテッド キャッシュクラスタを構成可能モードで用いるキャッシュデータ処理

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8671265B2 (en) 2010-03-05 2014-03-11 Solidfire, Inc. Distributed data storage system providing de-duplication of data using block identifiers
EP2717169B1 (en) * 2011-05-23 2017-01-04 Fujitsu Limited Administration device, information processing device, and data transfer method
US9838269B2 (en) 2011-12-27 2017-12-05 Netapp, Inc. Proportional quality of service based on client usage and system metrics
US9054992B2 (en) 2011-12-27 2015-06-09 Solidfire, Inc. Quality of service policy sets
US9032385B2 (en) 2011-12-28 2015-05-12 Lg Electronics Inc. Mobile terminal and control method thereof
US8938639B1 (en) * 2012-02-24 2015-01-20 Symantec Corporation Systems and methods for performing fast failovers
US9544223B2 (en) 2012-11-16 2017-01-10 Nec Corporation Communication system, control apparatus, method for controlling same, and program
CN103580915B (zh) * 2013-09-26 2017-01-11 东软集团股份有限公司 集群系统中确定主控节点的方法及装置
US20150244795A1 (en) 2014-02-21 2015-08-27 Solidfire, Inc. Data syncing in a distributed system
US9836229B2 (en) 2014-11-18 2017-12-05 Netapp, Inc. N-way merge technique for updating volume metadata in a storage I/O stack
US9720601B2 (en) 2015-02-11 2017-08-01 Netapp, Inc. Load balancing technique for a storage array
US9762460B2 (en) 2015-03-24 2017-09-12 Netapp, Inc. Providing continuous context for operational information of a storage system
US9740566B2 (en) 2015-07-31 2017-08-22 Netapp, Inc. Snapshot creation workflow
US9785525B2 (en) 2015-09-24 2017-10-10 Netapp, Inc. High availability failover manager
US10929022B2 (en) 2016-04-25 2021-02-23 Netapp. Inc. Space savings reporting for storage system supporting snapshot and clones
US10642763B2 (en) 2016-09-20 2020-05-05 Netapp, Inc. Quality of service policy sets
US10698957B1 (en) * 2016-12-01 2020-06-30 Amdocs Development Limited System, method, and computer program for managing collaborative distributed document stores with merge capabilities, versioning capabilities, high availability, context aware search, and geo redundancy
CN109150570B (zh) * 2017-06-27 2022-04-08 阿里巴巴集团控股有限公司 更新方法、系统、端节点及电子设备
CN109962938B (zh) * 2017-12-14 2021-02-05 亿度慧达教育科技(北京)有限公司 数据更新及访问方法及其装置、集群系统

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6145089A (en) * 1997-11-10 2000-11-07 Legato Systems, Inc. Server fail-over system
US6990606B2 (en) * 2000-07-28 2006-01-24 International Business Machines Corporation Cascading failover of a data management application for shared disk file systems in loosely coupled node clusters
US6922791B2 (en) * 2001-08-09 2005-07-26 Dell Products L.P. Failover system and method for cluster environment
US7234073B1 (en) * 2003-09-30 2007-06-19 Emc Corporation System and methods for failover management of manageable entity agents
JP4012498B2 (ja) * 2003-11-18 2007-11-21 株式会社日立製作所 情報処理システム、情報処理装置、情報処理装置の制御方法及びプログラム
JP2005301442A (ja) * 2004-04-07 2005-10-27 Hitachi Ltd ストレージ装置
JP4353005B2 (ja) * 2004-06-29 2009-10-28 株式会社日立製作所 クラスタ構成コンピュータシステムの系切替方法
US20060015773A1 (en) * 2004-07-16 2006-01-19 Dell Products L.P. System and method for failure recovery and load balancing in a cluster network
US7606986B1 (en) * 2004-08-30 2009-10-20 Symantec Operating Corporation System and method for resolving SAN fabric partitions
US7451347B2 (en) * 2004-10-08 2008-11-11 Microsoft Corporation Failover scopes for nodes of a computer cluster
US7409586B1 (en) * 2004-12-09 2008-08-05 Symantec Operating Corporation System and method for handling a storage resource error condition based on priority information
JP4516458B2 (ja) 2005-03-18 2010-08-04 株式会社日立製作所 フェイルオーバークラスタシステム及びフェイルオーバー方法
JP4920391B2 (ja) * 2006-01-06 2012-04-18 株式会社日立製作所 計算機システムの管理方法、管理サーバ、計算機システム及びプログラム
JP2007279890A (ja) * 2006-04-04 2007-10-25 Hitachi Ltd バックアップシステム及びバックアップ方法
JP5068056B2 (ja) * 2006-10-11 2012-11-07 株式会社日立製作所 障害回復方法、計算機システム及び管理サーバ
JP5032191B2 (ja) * 2007-04-20 2012-09-26 株式会社日立製作所 サーバ仮想化環境におけるクラスタシステム構成方法及びクラスタシステム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012528382A (ja) * 2009-05-25 2012-11-12 アリババ・グループ・ホールディング・リミテッド キャッシュクラスタを構成可能モードで用いるキャッシュデータ処理
WO2011099380A1 (ja) * 2010-02-10 2011-08-18 三菱電機株式会社 必須データ管理システム及び計算機及び必須データ管理プログラム及び記録媒体及び通信方法
JP5355725B2 (ja) * 2010-02-10 2013-11-27 三菱電機株式会社 必須データ管理システム及び計算機及び必須データ管理プログラム及び記録媒体及び通信方法

Also Published As

Publication number Publication date
US20080270820A1 (en) 2008-10-30
US7921325B2 (en) 2011-04-05

Similar Documents

Publication Publication Date Title
JP2008269462A (ja) ノードの管理装置及び方法
EP2638469B1 (en) Detection and handling of alua preferences and state transitions by host
JP4813385B2 (ja) ストレージシステムの複数の論理リソースを制御する制御装置
US7650446B2 (en) Storage system for back-end communications with other storage system
US8572417B2 (en) Storage system and power consumption reduction method for the same
JP4671738B2 (ja) ストレージシステム及び記憶領域割当て方法
JP4566874B2 (ja) Ipネットワークにおけるストレージアクセス管理機能及びシステム
US9262087B2 (en) Non-disruptive configuration of a virtualization controller in a data storage system
JP2007072571A (ja) 計算機システム及び管理計算機ならびにアクセスパス管理方法
JP2007115019A (ja) ストレージのアクセス負荷を分散する計算機システム及びその制御方法
JP2006011874A (ja) ボリューム提供システム及び方法
US20070192553A1 (en) Backup apparatus and backup method
JP2009199584A (ja) 階層型ストレージシステムにおけるhddのスピンダウンとスピンアップを管理する方法及び装置
JP4731420B2 (ja) 複数の仮想計算機からのテープ媒体へのアクセスを制御する方法及びシステム
US7886186B2 (en) Storage system and management method for the same
JP2004318741A (ja) ネットワーク管理プログラム、管理計算機及び管理方法
JP2009026091A (ja) 接続管理プログラム、接続管理方法および情報処理装置
JP6179119B2 (ja) 管理装置、管理方法、及び管理プログラム
JP2008210031A (ja) ストレージシステムの記憶領域管理方法
JP4275700B2 (ja) リソース交換処理プログラムおよびリソース交換処理方法
JP2007072672A (ja) 計算機システムおよび記憶領域の割当て方法
JP2007286975A (ja) 計算機システム及びストレージシステム並びにボリューム割り当て方法
JPWO2006043309A1 (ja) 運用管理プログラム、運用管理方法および運用管理装置
JP5182162B2 (ja) 計算機システム及びi/o制御方法
JP2009151677A (ja) ストレージ制御装置、ストレージ制御プログラムおよびストレージ制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100120

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110609

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20110706