JP6961045B2 - System and its control method and program - Google Patents

System and its control method and program Download PDF

Info

Publication number
JP6961045B2
JP6961045B2 JP2020118474A JP2020118474A JP6961045B2 JP 6961045 B2 JP6961045 B2 JP 6961045B2 JP 2020118474 A JP2020118474 A JP 2020118474A JP 2020118474 A JP2020118474 A JP 2020118474A JP 6961045 B2 JP6961045 B2 JP 6961045B2
Authority
JP
Japan
Prior art keywords
node
storage
volume
control unit
storage node
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.)
Active
Application number
JP2020118474A
Other languages
Japanese (ja)
Other versions
JP2020191100A (en
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.)
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
Priority claimed from JP2017231216A external-priority patent/JP6734251B2/en
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2020118474A priority Critical patent/JP6961045B2/en
Publication of JP2020191100A publication Critical patent/JP2020191100A/en
Priority to JP2021167412A priority patent/JP7193602B2/en
Application granted granted Critical
Publication of JP6961045B2 publication Critical patent/JP6961045B2/en
Priority to JP2022196255A priority patent/JP2023036653A/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明はシステム及びその制御方法並びにプログラムに関し、例えば、それぞれ1又は複数のSDS(Software Defined Storage)が実装された複数のストレージノードを備える情報処理システムに適用して好適なものである。なお、以下において、SDSとは、ストレージ機能を有するソフトウェアを汎用のサーバ装置に実装することにより構築されるストレージ装置を指す。 The present invention relates to a system, a control method thereof, and a program, and is suitable for application to, for example, an information processing system including a plurality of storage nodes on which one or a plurality of SDSs (Software Defined Storage) are implemented. In the following, SDS refers to a storage device constructed by mounting software having a storage function on a general-purpose server device.

従来、ストレージ装置のコントローラに用いられている既存の制御ソフトウェア(ストレージ制御ソフトウェア)は、そのストレージ制御ソフトウェアが実装されるハードウェアに対応した専用品として構成されている。このため、このストレージ制御ソフトウェアをそのままベアメタルサーバにインストールするだけでは、アーキテクチャの違いからスケールアウトの構成を組むことが難しいという問題がある。 Conventionally, the existing control software (storage control software) used for the controller of the storage device is configured as a dedicated product corresponding to the hardware on which the storage control software is mounted. Therefore, there is a problem that it is difficult to construct a scale-out configuration due to the difference in architecture just by installing this storage control software on a bare metal server as it is.

これは、かかる既存のストレージ制御ソフトウェアが自ストレージ装置内で完結する処理のみを対象とした構成となっているためであり、このためかかる既存のストレージ制御ソフトウェアをスケールアウトした構成で利用することはできなかった。なお、下記特許文献1には、HA構成の2台のストレージ装置が連携してオフロードデータコピーを行うことが開示されてはいるものの、これも2台のストレージ装置の連携に留まるものであった。 This is because the existing storage control software is configured only for the processing that is completed in the own storage device. Therefore, it is not possible to use the existing storage control software in a scaled-out configuration. could not. Although Patent Document 1 below discloses that two storage devices having an HA configuration cooperate to perform offload data copying, this is also limited to the cooperation of the two storage devices. rice field.

また、かかる既存のストレージ制御ソフトウェアにより実行される共有メモリの処理がハードウェアに依存しているため、汎用のサーバ装置では同様の処理を実行させることができないという問題もあった。 Further, since the processing of the shared memory executed by the existing storage control software depends on the hardware, there is also a problem that the same processing cannot be executed by a general-purpose server device.

これに対して、近年では、汎用のサーバ装置にストレージ制御ソフトウェアを実装することにより構築されるSDSの開発が進められている。SDSは、専用のハードウェアを必要とせず、拡張性も高いことから、その需要も増加傾向にある。このようなSDSに関連する技術として、例えば、下記特許文献2には、SDS構成のサーバ間でI/O(Input/Output)を転送する技術が開示されている。 On the other hand, in recent years, the development of SDS constructed by implementing storage control software on a general-purpose server device has been promoted. Demand for SDS is on the rise because it does not require dedicated hardware and is highly expandable. As a technique related to such SDS, for example, Patent Document 2 below discloses a technique for transferring I / O (Input / Output) between servers having an SDS configuration.

米国特許出願公開第2017/0017433号明細書U.S. Patent Application Publication No. 2017/0017433 米国特許出願公開第2016/0173598号明細書U.S. Patent Application Publication No. 2016/0173598

ところで、近年、企業や官庁等において蓄積されるデータ量は増加の一途を辿っている。このような状況を考慮した場合、ストレージ装置は容易にスケールアウトできる構成であることが望ましい。 By the way, in recent years, the amount of data accumulated in companies and government offices has been steadily increasing. Considering this situation, it is desirable that the storage device has a configuration that can be easily scaled out.

またスケールアウト後も、上位装置がI/O要求の発行先とすべきストレージ装置を意識することなく所望するデータに容易にアクセスできるようにシステムを構築できれば、スケールアウト後の上位装置の設定が不要となり、システムの拡張性を向上できるものと考えられる。 In addition, if the system can be constructed so that the higher-level device can easily access the desired data without being aware of the storage device to which the I / O request is issued even after the scale-out, the setting of the higher-level device after the scale-out can be performed. It is considered that it becomes unnecessary and the expandability of the system can be improved.

本発明は以上の点を考慮してなされたもので、拡張性を向上させ得るシステム及びその制御方法並びにプログラムを提案しようとするものである。 The present invention has been made in consideration of the above points, and an object of the present invention is to propose a system capable of improving extensibility, a control method thereof, and a program.

かかる課題を解決するため本発明においては、複数のストレージノードから構成されるクラスタを含むシステムであって、前記各ストレージノードは、記憶装置と、前記記憶装置に対応する論理的な記憶領域と、を有し、管理装置からの要求に基づく論理ボリューム作成指示を受信すると、前記ストレージノードは、上位装置に提供されるデータを読み書きするためのホストボリュームと対応付けられた、前記クラスタ内で識別可能な仮想的なグローバルプールボリュームを自ノード内に作成し、自ノードにおける前記論理的な記憶領域と、自ノード内に作成された前記グローバルプールボリュームとを対応付けて、自ノード内で識別可能な仮想的な内部ボリュームを自ノード内に作成し、作成された前記グローバルプールボリュームと、当該グローバルプールボリュームが作成された前記ノードとの対応関係がマッピング情報として登録され、前記マッピング情報が前記クラスタにおける各前記ストレージノード間で同期して更新され、前記各ストレージノードは、前記上位装置からのI/O要求を受信すると、前記マッピング情報に基づき、前記I/O要求においてI/O先として指定された前記ホストボリュームと対応付けられた前記グローバルボリュームに対応する前記ストレージノードの情報から、I/O先の前記ストレージノードを特定し、特定した前記ストレージノードが自ノードである場合には当該I/O要求において指定されたI/O先の前記ホストボリュームのボリューム番号を対応する前記内部ボリュームのボリューム番号に書き換え、当該内部ボリュームに対してI/O処理を実行し、特定した前記ストレージノードが他の前記ストレージノードである場合には、当該ストレージノードに当該I/O要求を振り分けるようにした。 In order to solve such a problem, in the present invention, the system includes a cluster composed of a plurality of storage nodes, and each storage node includes a storage device, a logical storage area corresponding to the storage device, and the like. When receiving a logical volume creation instruction based on a request from the management device, the storage node can be identified in the cluster associated with a host volume for reading and writing data provided to a higher-level device. A virtual global pool volume is created in the local node, and the logical storage area in the local node can be associated with the global pool volume created in the local node so that the global pool volume can be identified in the local node. the virtual internal volume created in this node, is registered as the corresponding relationship Gama mappings information and the global pool volumes created, and the node to which the global pool volume was created, the mapping information is said cluster When each storage node receives an I / O request from the higher-level device, the storage node is designated as an I / O destination in the I / O request based on the mapping information. The storage node of the I / O destination is specified from the information of the storage node corresponding to the global volume associated with the host volume, and if the specified storage node is the own node, the I / O is specified. The volume number of the host volume of the I / O destination specified in the / O request is rewritten to the volume number of the corresponding internal volume, I / O processing is executed for the internal volume, and the specified storage node In the case of another storage node, the I / O request is distributed to the storage node.

また本発明においては、複数のストレージノードから構成されるクラスタを含むシステムにおいて、前記ストレージノードにより実行される方法であって、前記各ストレージノードは、記憶装置と、前記記憶装置に対応する論理的な記憶領域と、を有し、管理装置からの要求に基づく論理ボリューム作成指示を受信すると、前記ストレージノードは、上位装置に提供されるデータを読み書きするためのホストボリュームと対応付けられる、前記クラスタ内で識別可能な仮想的なグローバルプールボリュームを自ノード内に作成する第1のステップと、自ノードにおける前記論理的な記憶領域と、自ノード内に作成された前記グローバルプールボリュームとを対応付けて、自ノード内で識別可能な仮想的な内部ボリュームを自ノード内に作成する第2のステップと、作成した前記グローバルプールボリュームと、当該グローバルプールボリュームを作成した前記ノードとの対応関係をマッピング情報として登録し、前記マッピング情報を前記クラスタにおける各前記ストレージノード間で同期して更新する第3のステップとを設け、前記各ストレージノードが、前記上位装置からのI/O要求を受信すると、前記マッピング情報に基づき、前記I/O要求においてI/O先として指定された前記ホストボリュームと対応付けられた前記グローバルボリュームに対応する前記ストレージノードの情報から、I/O先の前記ストレージノードを特定し、特定した前記ストレージノードが自ノードである場合には当該I/O要求において指定されたI/O先の前記ホストボリュームのボリューム番号を対応する前記内部ボリュームのボリューム番号に書き換え、当該内部ボリュームに対してI/O処理を実行し、特定した前記ストレージノードが他の前記ストレージノードである場合には、当該ストレージノードに当該I/O要求を振り分けるようにした。 Further, in the present invention, in a system including a cluster composed of a plurality of storage nodes, the method is executed by the storage nodes, and each storage node is a storage device and a logical corresponding to the storage device. When a logical volume creation instruction based on a request from a management device is received, the storage node is associated with a host volume for reading and writing data provided to a higher-level device. The first step of creating a virtual global pool volume that can be identified in the own node is associated with the logical storage area in the own node and the global pool volume created in the own node. Te, a second step of creating a virtual internal volume that can be identified in the local node in the local node, and the global pool volumes created, a corresponding relationship between the node that created the global pool volume registered as mapping information, the mapping information provided and a third step of updating synchronously among the storage nodes in the cluster, each storage node, receives the I / O request from said host device Then, based on the mapping information, the storage of the I / O destination is based on the information of the storage node corresponding to the global volume associated with the host volume designated as the I / O destination in the I / O request. A node is specified, and if the specified storage node is its own node, the volume number of the host volume of the I / O destination specified in the I / O request is rewritten to the volume number of the corresponding internal volume. I / O processing is executed for the internal volume, and when the specified storage node is another storage node, the I / O request is distributed to the storage node.

さらに本発明においては、複数のストレージノードから構成されるクラスタを含むシステムにおいて、前記ストレージノードにより実行されるプログラムであって、前記各ストレージノードは、記憶装置と、前記記憶装置に対応する論理的な記憶領域と、を有し、管理装置からの要求に基づく論理ボリューム作成指示を受信すると、前記ストレージノードは、上位装置に提供されるデータを読み書きするためのホストボリュームと対応付けられる、前記クラスタ内で識別可能な仮想的なグローバルプールボリュームを自ノード内に作成する第1のステップと、自ノードにおける前記論理的な記憶領域と、自ノード内に作成された前記グローバルプールボリュームとを対応付けて、自ノード内で識別可能な仮想的な内部ボリュームを自ノード内に作成する第2のステップと、作成した前記グローバルプールボリュームと、当該グローバルプールボリュームを作成した前記ノードとの対応関係をマッピング情報として登録し、前記マッピング情報を前記クラスタにおける各前記ストレージノード間で同期して更新する第3のステップとを設け、前記各ストレージノードが、前記上位装置からのI/O要求を受信すると、前記マッピング情報に基づき、前記I/O要求においてI/O先として指定された前記ホストボリュームと対応付けられた前記グローバルボリュームに対応する前記ストレージノードの情報から、I/O先の前記ストレージノードを特定し、特定した前記ストレージノードが自ノードである場合には当該I/O要求において指定されたI/O先の前記ホストボリュームのボリューム番号を対応する前記内部ボリュームのボリューム番号に書き換え、当該内部ボリュームに対してI/O処理を実行し、特定した前記ストレージノードが他の前記ストレージノードである場合には、当該ストレージノードに当該I/O要求を振り分けるようにした。 Further, in the present invention, in a system including a cluster composed of a plurality of storage nodes, the program is executed by the storage nodes, and each storage node is a storage device and a logical corresponding to the storage device. When a logical volume creation instruction based on a request from a management device is received, the storage node is associated with a host volume for reading and writing data provided to a higher-level device. The first step of creating a virtual global pool volume that can be identified in the own node is associated with the logical storage area in the own node and the global pool volume created in the own node. Then, the second step of creating a virtual internal volume that can be identified in the own node in the own node, and the correspondence between the created global pool volume and the node that created the global pool volume are as follows . When a third step of registering as pping information and synchronously updating the mapping information between the storage nodes in the cluster is provided, and each storage node receives an I / O request from the higher-level device. , Based on the mapping information, from the information of the storage node corresponding to the global volume associated with the host volume designated as the I / O destination in the I / O request, the storage node of the I / O destination. If the specified storage node is its own node, the volume number of the host volume of the I / O destination specified in the I / O request is rewritten to the volume number of the corresponding internal volume, and the said. I / O processing is executed for the internal volume, and when the specified storage node is another storage node, the I / O request is distributed to the storage node.

本発明のシステム及びその制御方法並びにプログラムによれば、ストレージノードのスケールアウトの有無に関わりなく、上位装置がI/O要求の発行先のストレージノードを意識することなく、所望するデータの読み書きを行うことができる。 According to the system of the present invention, its control method, and the program, the host device can read and write desired data regardless of whether the storage node is scaled out or not without being aware of the storage node to which the I / O request is issued. It can be carried out.

本発明によれば、拡張性を向上させ得るシステム及びその制御方法並びにプログラムを実現できる。上記した以外の課題、構成及び効果は、以下の発明を実施するための形態の説明により明らかにされる。 According to the present invention, it is possible to realize a system capable of improving expandability, a control method thereof, and a program. Issues, configurations and effects other than those described above will be clarified by the following description of the embodiments for carrying out the invention.

本実施の形態による情報処理システムの全体構成を示すブロック図である。It is a block diagram which shows the whole structure of the information processing system by this embodiment. ストレージノードのハードウェア構成を示すブロック図である。It is a block diagram which shows the hardware configuration of a storage node. ストレージノードのソフトウェア構成を示すブロック図である。It is a block diagram which shows the software configuration of a storage node. ストレージノードにおける記憶領域の対応関係の説明に供するブロック図である。It is a block diagram which provides the explanation of the correspondence relation of the storage area in a storage node. ストレージ制御部ペアテーブルの構成例を示す図表である。It is a figure which shows the configuration example of the storage control part pair table. フロントエンドテーブルボリュームテーブルの構成例を示す図表である。Front-end table It is a figure which shows the configuration example of the volume table. マッピングテーブルの構成例を示す図表である。It is a figure which shows the configuration example of the mapping table. フロントエンドターゲットテーブルの構成例を示す図表である。It is a figure which shows the configuration example of the front-end target table. ストレージ制御部情報管理テーブルの構成例を示す図表である。It is a figure which shows the configuration example of the storage control part information management table. グローバルプールボリュームテーブルの構成例を示す図表である。It is a figure which shows the configuration example of a global pool volume table. 各テーブル間における情報の対応関係の説明に供する概念図である。It is a conceptual diagram provided to explain the correspondence relationship of information between each table. 内部ボリューム作成時における処理の流れを示すシーケンス図である。It is a sequence diagram which shows the flow of processing at the time of making an internal volume. クラスタ内のストレージノードに障害が発生した場合に当該クラスタにおいて実行される一連の処理の流れを示すシーケンス図である。It is a sequence diagram which shows the flow of a series of processing executed in the cluster when a failure occurs in the storage node in a cluster. クラスタにストレージノードが増設された場合に当該クラスタにおいて実行される一連の処理の流れを示すシーケンス図である。It is a sequence diagram which shows the flow of a series of processing executed in a cluster when a storage node is added to the cluster. 本情報処理システムにおいて実行されるライト処理の流れを示すシーケンス図である。It is a sequence diagram which shows the flow of the write processing executed in this information processing system. 本情報処理システムにおいて実行されるリード処理の流れを示すシーケンス図である。It is a sequence diagram which shows the flow of the read processing executed in this information processing system.

以下、図面を参照して、本発明の一実施の形態を詳述する。以下の記載及び図面は、本発明を説明するための例示であって、説明の明確化のため、適宜、省略及び簡略化がなされている。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。本発明が実施の形態に制限されることは無く、本発明の思想に合致するあらゆる応用例が本発明の技術的範囲に含まれる。本発明は、当業者であれば本発明の範囲内で様々な追加や変更等を行うことができる。本発明は、他の種々の形態でも実施する事が可能である。特に限定しない限り、各構成要素は複数でも単数でも構わない。 Hereinafter, an embodiment of the present invention will be described in detail with reference to the drawings. The following description and drawings are examples for explaining the present invention, and are appropriately omitted and simplified for the purpose of clarifying the description. Also, not all combinations of features described in the embodiments are essential to the means of solving the invention. The present invention is not limited to embodiments, and any application that fits the ideas of the present invention is included in the technical scope of the present invention. Those skilled in the art can make various additions and changes within the scope of the present invention. The present invention can also be implemented in various other forms. Unless otherwise specified, each component may be plural or singular.

以下の説明では、「テーブル」、「表」、「リスト」、「キュー」等の表現にて各種情報を説明することがあるが、各種情報は、これら以外のデータ構造で表現されていてもよい。データ構造に依存しないことを示すために「XXテーブル」、「XXリスト」等を「XX情報」と呼ぶことがある。各情報の内容を説明する際に、「識別情報」、「識別子」、「名」、「ID」、「番号」等の表現を用いるが、これらについてはお互いに置換が可能である。 In the following explanation, various information may be explained by expressions such as "table", "table", "list", and "queue", but various information may be expressed by data structures other than these. good. The "XX table", "XX list", etc. may be referred to as "XX information" to indicate that they do not depend on the data structure. When explaining the contents of each information, expressions such as "identification information", "identifier", "name", "ID", and "number" are used, but these can be replaced with each other.

また、以下の説明では、同種の要素を区別しないで説明する場合には、参照符号又は参照符号における共通番号を使用し、同種の要素を区別して説明する場合は、その要素の参照符号を使用又は参照符号に代えてその要素に割り振られたIDを使用することがある。 Further, in the following description, the reference code or the common number in the reference code is used when the same type of element is not distinguished, and the reference code of the element is used when the same type of element is described separately. Alternatively, the ID assigned to the element may be used instead of the reference code.

また、以下の説明では、プログラムを実行して行う処理を説明する場合があるが、プログラムは、少なくとも1以上のプロセッサ(例えばCPU)によって実行されることで、定められた処理を、適宜に記憶資源(例えばメモリ)及び/又はインターフェースデバイス(例えば通信ポート)等を用いながら行うため、処理の主体がプロセッサとされてもよい。同様に、プログラムを実行して行う処理の主体が、プロセッサを有するコントローラ、装置、システム、計算機、ノード、ストレージシステム、ストレージ装置、サーバ、管理計算機、クライアント、又はホストであってもよい。プログラムを実行して行う処理の主体(例えばプロセッサ)は、処理の一部又は全部を行うハードウェア回路を含んでもよい。例えば、プログラムを実行して行う処理の主体は、暗号化及び復号化、又は圧縮及び伸張を実行するハードウェア回路を含んでもよい。プロセッサは、プログラムに従って動作することによって、所定の機能を実現する機能部として動作する。プロセッサを含む装置及びシステムは、これらの機能部を含む装置及びシステムである。 Further, in the following description, a process performed by executing a program may be described, but the program is executed by at least one or more processors (for example, a CPU) to appropriately store a predetermined process. Since it is performed while using resources (for example, memory) and / or interface device (for example, communication port), the main body of processing may be a processor. Similarly, the subject of processing for executing a program may be a controller having a processor, a device, a system, a computer, a node, a storage system, a storage device, a server, a management computer, a client, or a host. The subject of processing performed by executing a program (for example, a processor) may include a hardware circuit that performs part or all of the processing. For example, the subject of processing performed by executing a program may include a hardware circuit that executes encryption and decryption, or compression and decompression. The processor operates as a functional unit that realizes a predetermined function by operating according to a program. A device and system including a processor is a device and system including these functional parts.

プログラムは、プログラムソースから計算機のような装置にインストールされてもよい。プログラムソースは、例えば、プログラム配布サーバ又は計算機が読み取り可能な記憶メディアであってもよい。プログラムソースがプログラム配布サーバの場合、プログラム配布サーバはプロセッサ(例えばCPU)と記憶資源を含み、記憶資源はさらに配布プログラムと配布対象であるプログラムとを記憶してよい。そして、プログラム配布サーバのプロセッサが配布プログラムを実行することで、プログラム配布サーバのプロセッサは配布対象のプログラムを他の計算機に配布してよい。また、以下の説明において、2以上のプログラムが1つのプログラムとして実現されてもよいし、1つのプログラムが2以上のプログラムとして実現されてもよい。 The program may be installed from the program source into a device such as a calculator. The program source may be, for example, a program distribution server or a storage medium readable by a computer. When the program source is a program distribution server, the program distribution server may include a processor (for example, a CPU) and a storage resource, and the storage resource may further store the distribution program and the program to be distributed. Then, when the processor of the program distribution server executes the distribution program, the processor of the program distribution server may distribute the program to be distributed to other computers. Further, in the following description, two or more programs may be realized as one program, or one program may be realized as two or more programs.

(1)本実施の形態による情報処理システムの構成
図1は、本実施の形態による情報処理システム1の構成を示す図である。この情報処理システム1は、複数のコンピュートノード2と、複数のストレージノード3と、管理ノード4とを備えて構成される。
(1) Configuration of Information Processing System According to the Present Embodiment FIG. 1 is a diagram showing a configuration of an information processing system 1 according to the present embodiment. The information processing system 1 includes a plurality of compute nodes 2, a plurality of storage nodes 3, and a management node 4.

コンピュートノード2、ストレージノード3及び管理ノード4間は、例えばファイバーチャネル(FC:Fibre Channel)、イーサネット(登録商標)、InfiniBand又は無線LAN(Local Area Network)などから構成されるストレージサービスネットワーク5を介して接続されている。また各ストレージノード3間は、イーサネット(登録商標)、InfiniBand又は無線LANなどから構成されるバックエンドネットワーク6を介して接続されている。 Between the compute node 2, the storage node 3, and the management node 4, for example, via a storage service network 5 composed of Fiber Channel (FC), Ethernet (registered trademark), InfiniBand, wireless LAN (Local Area Network), and the like. Is connected. Further, each storage node 3 is connected via a back-end network 6 composed of Ethernet (registered trademark), InfiniBand, wireless LAN, or the like.

ただし、ストレージサービスネットワーク5及びバックエンドネットワーク6が同一のネットワークにより構成されていてもよく、また各コンピュートノード2及び各ストレージノード3がストレージサービスネットワーク5やバックエンドネットワーク6以外の管理用ネットワークに接続されていてもよい。 However, the storage service network 5 and the back-end network 6 may be configured by the same network, and each compute node 2 and each storage node 3 are connected to a management network other than the storage service network 5 and the back-end network 6. It may have been done.

コンピュートノード2は、ストレージノード3に対してホスト(上位装置)として機能する汎用のコンピュータ装置である。コンピュートノード2は仮想マシンのような仮想的なコンピュータ装置であってもよい。コンピュートノード2は、ユーザ操作や実装されたアプリケーションプログラムからの要求に応じて、ストレージサービスネットワーク5を介してストレージノード3にリード要求又はライト要求(以下、適宜、これらをまとめてI/O(Input/Output)要求と呼ぶ)を送信する。 The compute node 2 is a general-purpose computer device that functions as a host (upper device) with respect to the storage node 3. The compute node 2 may be a virtual computer device such as a virtual machine. The compute node 2 makes a read request or a write request to the storage node 3 via the storage service network 5 in response to a user operation or a request from an implemented application program (hereinafter, as appropriate, these are collectively input / O (Input)). / Output) Send a request).

ストレージノード3は、コンピュートノード2に対してデータを読み書きするための記憶領域を提供する汎用の物理サーバ装置である。ストレージノード3は、図2に示すように、CPU(Central Processing Unit)10、メモリ11及び複数の記憶装置12と、第1及び第2の通信装置13,14とを備えて構成され、CPU10及び記憶装置12と、第1及び第2の通信装置13,14とが内部ネットワーク15を介して接続されている。各ストレージノード3は、CPU10、メモリ11、記憶装置12、第1及び第2の通信装置13,14を、それぞれ1以上備える。 The storage node 3 is a general-purpose physical server device that provides a storage area for reading and writing data to the compute node 2. As shown in FIG. 2, the storage node 3 includes a CPU (Central Processing Unit) 10, a memory 11, a plurality of storage devices 12, and first and second communication devices 13 and 14, and includes the CPU 10 and the storage node 3. The storage device 12 and the first and second communication devices 13 and 14 are connected to each other via the internal network 15. Each storage node 3 includes one or more CPU 10, a memory 11, a storage device 12, and first and second communication devices 13 and 14, respectively.

CPU10は、ストレージノード3全体の動作制御を司るプロセッサである。またメモリ11は、SRAM(Static RAM(Random Access Memory))やDRAM(Dynamic RAM)などの揮発性の半導体メモリから構成され、CPU10のワークメモリとして各種プログラムや必要なデータを一時的に保持するために利用される。メモリ11に格納されたプログラムを、少なくとも1以上のCPU10が実行することにより、後述のようなストレージノード3全体としての各種処理が実行される。 The CPU 10 is a processor that controls the operation of the entire storage node 3. Further, the memory 11 is composed of a volatile semiconductor memory such as SRAM (Static RAM (Random Access Memory)) and DRAM (Dynamic RAM), and is used as a work memory of the CPU 10 to temporarily hold various programs and necessary data. It is used for. When at least one or more CPUs 10 execute the program stored in the memory 11, various processes as a whole of the storage node 3 as described later are executed.

記憶装置12は、NVMe(Non-Volatile Memory)ドライブやSAS(Serial Attached SCSI(Small Computer System Interface))ドライブ、SATA(Serial ATA(Advanced Technology Attachment))、SSD(Solid State Drive)又はSCM(Storage Class Memory)などの大容量の不揮発性の記憶装置から構成され、コンピュートノード2に対してデータを読み書きするための記憶領域を提供する。 The storage device 12 includes an NVMe (Non-Volatile Memory) drive, a SAS (Serial Attached SCSI (Small Computer System Interface)) drive, a SATA (Serial ATA (Advanced Technology Attachment)), an SSD (Solid State Drive), or an SCM (Storage Class). It is composed of a large-capacity non-volatile storage device such as Memory), and provides a storage area for reading and writing data to the compute node 2.

第1の通信装置13は、ストレージノード3がストレージサービスネットワーク5を介してコンピュートノード2や管理ノード4と通信を行うためのインタフェースであり、例えばFCカードや無線LANカードなどから構成される。第1の通信装置13は、コンピュートノード2や管理ノードとの通信時におけるプロトコル制御を行う。 The first communication device 13 is an interface for the storage node 3 to communicate with the compute node 2 and the management node 4 via the storage service network 5, and is composed of, for example, an FC card or a wireless LAN card. The first communication device 13 controls the protocol at the time of communication with the compute node 2 and the management node.

第2の通信装置14は、ストレージノード3がバックエンドネットワーク6を介して他のストレージノード3と通信を行うためのインタフェースであり、例えばNIC(Network Interface Card)や無線LANカードなどから構成される。第2の通信装置14は、他のストレージノード3との通信時におけるプロトコル制御を行う。 The second communication device 14 is an interface for the storage node 3 to communicate with another storage node 3 via the back-end network 6, and is composed of, for example, a NIC (Network Interface Card) or a wireless LAN card. .. The second communication device 14 controls the protocol at the time of communication with the other storage node 3.

なお本実施の形態の場合、各ストレージノード3は、図1に示すように、他の1又は複数のストレージノード3と共にクラスタ7と呼ぶグループに纏められ、クラスタ7単位で管理される。図1の例では、クラスタ7が1つのみ設定された場合について例示しているが、情報処理システム1内に複数のクラスタ7を設定するようにしてもよい。クラスタ7は、分散ストレージシステムと呼ばれても良い。 In the case of the present embodiment, as shown in FIG. 1, each storage node 3 is grouped together with the other one or a plurality of storage nodes 3 into a group called a cluster 7, and is managed in units of the cluster 7. In the example of FIG. 1, the case where only one cluster 7 is set is illustrated, but a plurality of clusters 7 may be set in the information processing system 1. Cluster 7 may be referred to as a distributed storage system.

管理ノード4は、本情報処理システム1の管理者(以下、これをシステム管理者と呼ぶ)が、本情報処理システム1の構成管理や各種設定を行うために利用するコンピュータ装置である。管理ノード4は、システム管理者の操作に応じて、コンピュートノード2やストレージノード3に対して必要な指示を与える。 The management node 4 is a computer device used by the administrator of the information processing system 1 (hereinafter, referred to as a system administrator) to perform configuration management and various settings of the information processing system 1. The management node 4 gives necessary instructions to the compute node 2 and the storage node 3 according to the operation of the system administrator.

図3は、本実施の形態によるストレージノード3の論理構成を示す。この図3に示すように、各ストレージノード3は、フロントエンド部20、1又は複数のストレージ制御部21、容量制御部22並びにバックエンド部23を有するデータプレーン24と、クラスタ制御部25及びノード制御部26を有するコントロールプレーン27とを備えて構成される。データプレーン24は、データの読み書きに関するI/O処理を実行する機能部であり、コントロールプレーン27は、クラスタ7(図)全体や自ノードを制御する機能部である。 FIG. 3 shows the logical configuration of the storage node 3 according to the present embodiment. As shown in FIG. 3, each storage node 3 includes a data plane 24 having a front end unit 20, one or a plurality of storage control units 21, a capacity control unit 22, and a back end unit 23, and a cluster control unit 25 and a node. It is configured to include a control plane 27 having a control unit 26. The data plane 24 is a functional unit that executes I / O processing related to reading and writing data, and the control plane 27 is a functional unit that controls the entire cluster 7 (FIG.) and its own node.

フロントエンド部20は、ストレージノード3におけるスケールアウトに関するI/O処理のフロントエンドとして機能するソフトウェアである。例えば、フロントエンド部20は、コンピュートノード2からI/O要求が与えられた場合に、そのI/O要求を、当該I/O要求を実行すべき自ノード内のストレージ制御部21や、当該I/O要求を実行すべきストレージ制御部21が配置された他のストレージノード3に振り分ける。 The front end unit 20 is software that functions as a front end for I / O processing related to scale-out in the storage node 3. For example, when an I / O request is given from the compute node 2, the front-end unit 20 sends the I / O request to the storage control unit 21 in its own node that should execute the I / O request, or the storage control unit 21. The storage control unit 21 that should execute the I / O request is distributed to another storage node 3 in which the storage control unit 21 is arranged.

ストレージ制御部21は、SDS(Software Defined Storage)のコントローラとして機能するソフトウェアである。ストレージ制御部21は、ストレージ制御ソフトウェアや、ストレージ制御プログラムと呼ばれてもよい。ストレージ制御部21は、フロントエンド部20から与えられるコンピュートノード2からのI/O要求を受け付け、受け付けたI/O要求に応じたI/Oコマンドをバックエンド部23に発行する。 The storage control unit 21 is software that functions as a controller for SDS (Software Defined Storage). The storage control unit 21 may be called a storage control software or a storage control program. The storage control unit 21 receives the I / O request from the compute node 2 given from the front end unit 20, and issues an I / O command corresponding to the received I / O request to the back end unit 23.

ここで、本実施の形態の場合、ストレージノード3に実装された各ストレージ制御部21は、別のストレージノード3に配置された他のストレージ制御部21と共に冗長化構成を構成するペアに設定される。以下においては、このペアをストレージ制御部ペア28と呼ぶものとする。 Here, in the case of the present embodiment, each storage control unit 21 mounted on the storage node 3 is set as a pair forming a redundant configuration together with another storage control unit 21 arranged on another storage node 3. NS. In the following, this pair will be referred to as a storage control unit pair 28.

なお図3では、2つのストレージ制御部21により1つのストレージ制御部ペア28が構成される場合を示しており、以下においても、2つのストレージ制御部21によりストレージ制御部ペア28が構成されるものとして説明を進めるが、3つ以上のストレージ制御部21により1つの冗長化構成を形成するようにしてもよい。 Note that FIG. 3 shows a case where one storage control unit pair 28 is configured by the two storage control units 21, and also in the following, the storage control unit pair 28 is configured by the two storage control units 21. However, one redundant configuration may be formed by three or more storage control units 21.

ストレージ制御部ペア28では、一方のストレージ制御部21がコンピュートノード2からのI/O要求を受け付けることができる状態(現用系の状態であり、以下、これをアクティブモードと呼ぶ)に設定され、他方のストレージ制御部21がコンピュートノード2からのI/O要求を受け付けない状態(待機系の状態であり、以下、これをパッシブモードと呼ぶ)に設定される。 In the storage control unit pair 28, one storage control unit 21 is set to a state in which it can accept an I / O request from the compute node 2 (a state of the active system, hereinafter referred to as an active mode). The other storage control unit 21 is set to a state in which the I / O request from the compute node 2 is not accepted (a state of a standby system, hereinafter referred to as a passive mode).

そしてストレージ制御部ペア28では、アクティブモードに設定されたストレージ制御部(以下、適宜、これをアクティブストレージ制御部と呼ぶ)21やそのアクティブストレージ制御部21が配置されたストレージノード3に障害が発生した場合などに、それまでパッシブモードに設定されていたストレージ制御部(以下、適宜、これをパッシブストレージ制御部と呼ぶ)21の状態がアクティブモードに切り替えられる。これにより、アクティブストレージ制御部21が稼働し得なくなった場合に、当該アクティブストレージ制御部21が実行していたI/O処理を、同じストレージ制御部ペア28を構成するパッシブストレージ制御部21により引き継ぐことができる。 Then, in the storage control unit pair 28, a failure occurs in the storage control unit (hereinafter, appropriately referred to as an active storage control unit) 21 set in the active mode and the storage node 3 in which the active storage control unit 21 is arranged. In such a case, the state of the storage control unit (hereinafter, appropriately referred to as a passive storage control unit) 21 which has been set to the passive mode up to that point is switched to the active mode. As a result, when the active storage control unit 21 cannot operate, the passive storage control unit 21 constituting the same storage control unit pair 28 takes over the I / O processing executed by the active storage control unit 21. be able to.

容量制御部22は、自ノード内に配置されたアクティブストレージ制御部21が構成するストレージ制御部ペア28に対して、自ノード内又は他ノード内の記憶装置12(図2)が提供する物理的な記憶領域を割り当てる機能を有するソフトウェアである。容量制御部22は、容量制御ソフトウェアや、容量制御プログラムと呼ばれてもよい。 The capacity control unit 22 provides a physical storage device 12 (FIG. 2) in the own node or another node with respect to the storage control unit pair 28 configured by the active storage control unit 21 arranged in the own node. Software that has the function of allocating various storage areas. The capacity control unit 22 may be called a capacity control software or a capacity control program.

またバックエンド部23は、ストレージノード3におけるI/O処理のバックエンドとして機能するソフトウェアである。例えば、バックエンド部23は、アクティブストレージ制御部21から与えられる上述のI/Oコマンドに従って、そのアクティブストレージ制御部21が構成するストレージ制御部ペア28に対して容量制御部22が割り当てた記憶領域にデータを読み書きする。 The backend unit 23 is software that functions as a backend for I / O processing in the storage node 3. For example, the back-end unit 23 has a storage area allocated by the capacity control unit 22 to the storage control unit pair 28 configured by the active storage control unit 21 according to the above-mentioned I / O command given from the active storage control unit 21. Read and write data to.

一方、クラスタ制御部25は、クラスタ7全体に関する制御処理やクラスタ7のスケールアウトに関する制御処理を実行する機能を有するソフトウェアである。クラスタ制御部25は、クラスタ制御ソフトウェアや、クラスタ制御プログラムと呼ばれてもよい。本情報処理システム1では、クラスタ7内の各ストレージノード3にそれぞれ実装されたクラスタ制御部25のうちの1つのクラスタ制御部25がマスタに設定され、マスタに設定されたクラスタ制御部(以下、これをマスタクラスタ制御部と呼ぶ)25のみが、クラスタ7全体の整合性を保ちながら各種の制御処理を実行する。 On the other hand, the cluster control unit 25 is software having a function of executing control processing related to the entire cluster 7 and control processing related to scale-out of the cluster 7. The cluster control unit 25 may be called a cluster control software or a cluster control program. In the information processing system 1, one of the cluster control units 25 mounted on each storage node 3 in the cluster 7 is set to the master, and the cluster control unit 25 set to the master (hereinafter, hereinafter, Only 25 (which is called a master cluster control unit) executes various control processes while maintaining the consistency of the entire cluster 7.

例えば、マスタクラスタ制御部25は、管理ノード4からの要求に応じてクラスタ7内にストレージ制御部ペア28を設定し、設定したストレージ制御部ペア28を図5について後述するストレージ制御部ペアテーブル30に登録して管理する。 For example, the master cluster control unit 25 sets a storage control unit pair 28 in the cluster 7 in response to a request from the management node 4, and sets the storage control unit pair 28 in the storage control unit pair table 30 which will be described later with reference to FIG. Register and manage.

またマスタクラスタ制御部25以外のクラスタ制御部25は、マスタクラスタ制御部25の障害に備えて、ホットスタンバイ(Hot stand-by)モード又はワームスタンバイ(Warm stand-by)モードのいずれかの動作モードに設定される。 Further, the cluster control unit 25 other than the master cluster control unit 25 has an operation mode of either a hot standby (Hot stand-by) mode or a worm standby (Warm stand-by) mode in preparation for a failure of the master cluster control unit 25. Is set to.

ホットスタンバイモードは、マスタクラスタ制御部25や当該マスタクラスタ制御部25が実装されたストレージノード3に障害が発生したときなどに、それまでマスタクラスタ制御部25が実行していた処理を直ちに引き継げるよう起動したスタンバイ状態を維持する動作モードである。 In the hot standby mode, when a failure occurs in the master cluster control unit 25 or the storage node 3 on which the master cluster control unit 25 is mounted, the processing previously executed by the master cluster control unit 25 can be immediately taken over. This is the operation mode that maintains the activated standby state.

ホットスタンバイモードのクラスタ制御部25は、マスタクラスタ制御部25が実行していた処理を直ちに引き継げるよう、上述のストレージ制御部ペアテーブル30(図5)などのマスタクラスタ制御部25が管理するすべての管理情報と同じ内容の管理情報を保持している。 The cluster control unit 25 in the hot standby mode manages all the processes managed by the master cluster control unit 25 such as the storage control unit pair table 30 (FIG. 5) described above so that the processing executed by the master cluster control unit 25 can be immediately taken over. It holds the same management information as the management information.

そして、マスタクラスタ制御部25が保持する管理情報が更新された場合には、その更新前後の差分が差分データとしてマスタクラスタ制御部25からバックエンドネットワーク6を介してすべてのホットスタンバイモードのクラスタ制御部25に与えられ、当該差分データに基づいて、そのクラスタ制御部25が保持する管理情報が当該クラスタ制御部25によりマスタクラスタ制御部25が保持する管理情報と同様に更新される。 When the management information held by the master cluster control unit 25 is updated, the difference before and after the update is used as difference data for cluster control in all hot standby modes from the master cluster control unit 25 via the back-end network 6. Based on the difference data given to the unit 25, the management information held by the cluster control unit 25 is updated by the cluster control unit 25 in the same manner as the management information held by the master cluster control unit 25.

このようにホットスタンバイモードのクラスタ制御部25がマスタクラスタ制御部25と常に同一の管理情報を保持することにより、マスタクラスタ制御部25等に障害が発生し、それまでホットスタンバイモードであったクラスタ制御部25を「マスタ」に切り替えた場合にも、それまで元のマスタクラスタ制御部25が実行していた制御処理を「マスタ」に切り替えられたクラスタ制御部(マスタクラスタ制御部)25により引き継ぐことが可能となる。 In this way, the cluster control unit 25 in the hot standby mode always holds the same management information as the master cluster control unit 25, so that a failure occurs in the master cluster control unit 25 and the like, and the cluster that was in the hot standby mode until then. Even when the control unit 25 is switched to the "master", the control processing previously executed by the original master cluster control unit 25 is taken over by the cluster control unit (master cluster control unit) 25 that has been switched to the "master". It becomes possible.

またワームスタンバイモードは、起動を停止したスタンバイ状態にある動作モードである。ホットスタンバイモードに設定されたクラスタ制御部の数が予め設定された閾値以下となった場合に、ワームスタンバイモードに設定されたいずれかのクラスタ制御部25の状態がホットスタンバイモードに切り替えられる。 The worm standby mode is an operation mode in which the startup is stopped and is in a standby state. When the number of cluster control units set in the hot standby mode becomes equal to or less than a preset threshold value, the state of any of the cluster control units 25 set in the worm standby mode is switched to the hot standby mode.

なお、マスタクラスタ制御部25は、2つ以上のマスタクラスタ制御部25が存在する状態を防ぐため、3つ以上のクラスタ制御部25を稼働させ、これら稼働させたクラスタ制御部25の中から多数決により選定される。そして、稼働させた残りのクラスタ制御部25がホットスタンバイモードに設定される。 In addition, the master cluster control unit 25 operates three or more cluster control units 25 in order to prevent a state in which two or more master cluster control units 25 exist, and a majority vote is made from among these operated cluster control units 25. Is selected by. Then, the remaining cluster control unit 25 that has been operated is set to the hot standby mode.

ノード制御部26は、マスタクラスタ制御部25からの要求に応じて、自ノード内で完結する各種の制御処理を実行する機能を有するプログラムである。ノード制御部26は、ノード制御ソフトウェアや、ノード制御プログラムと呼ばれてもよい。実際上、マスタクラスタ制御部25は、自己に負荷が集中しないように、各ストレージノード3内で完結する処理についてはその実行を各ストレージノード3のノード制御部26に要求する。そしてノード制御部26は、かかる要求が与えられると、この要求に従って、自ノードのデータプレーン24に対する制御処理を実行する。 The node control unit 26 is a program having a function of executing various control processes completed within the own node in response to a request from the master cluster control unit 25. The node control unit 26 may be called a node control software or a node control program. In practice, the master cluster control unit 25 requests the node control unit 26 of each storage node 3 to execute the processing completed in each storage node 3 so that the load is not concentrated on itself. Then, when such a request is given, the node control unit 26 executes control processing for the data plane 24 of its own node in accordance with this request.

このように本情報処理システム1では、マスタクラスタ制御部25から各ストレージノード3内のフロントエンド部20やストレージ制御部21に対する指令や要求がそのストレージノード3のノード制御部26を介して与えられる。しかしながら、以下においては、理解の容易化のため、各ストレージノード3内のフロントエンド部20やストレージ制御部21に対するマスタクラスタ制御部25からの指令や要求が、マスタクラスタ制御部25からそのフロントエンド部20やストレージ制御部21に直接与えられるものとして説明する。 As described above, in the information processing system 1, commands and requests from the master cluster control unit 25 to the front end unit 20 and the storage control unit 21 in each storage node 3 are given via the node control unit 26 of the storage node 3. .. However, in the following, for ease of understanding, commands and requests from the master cluster control unit 25 to the front end unit 20 and the storage control unit 21 in each storage node 3 are sent from the master cluster control unit 25 to the front end. It will be described as being directly given to the unit 20 and the storage control unit 21.

図4は、本実施の形態の情報処理システム1における記憶領域の対応関係を示す。この図4に示すように、本実施の形態では、容量制御部22により、各ストレージノード3内の記憶装置12がそれぞれ提供する物理的な記憶領域がそれぞれ所定大きさの記憶領域(以下、これを物理チャンクと呼ぶ)PCに分割されて管理される。 FIG. 4 shows the correspondence between the storage areas in the information processing system 1 of the present embodiment. As shown in FIG. 4, in the present embodiment, the physical storage area provided by the storage device 12 in each storage node 3 by the capacity control unit 22 is a storage area of a predetermined size (hereinafter, this). Is called a physical chunk) It is divided into PCs and managed.

また容量制御部22は、異なるストレージノード3内の記憶装置12がそれぞれ提供する複数の物理チャンクPCを当該物理チャンクPCと同じ大きさの論理的な記憶領域(以下、これを論理チャンクと呼ぶ)LCと対応付け、この論理チャンクLCを外部ボリュームExtVOLを介して論理チャンクLCと同じ大きさのプールボリュームPLVOLと対応付ける。 Further, the capacity control unit 22 sets a plurality of physical chunk PCs provided by the storage devices 12 in different storage nodes 3 into a logical storage area having the same size as the physical chunk PC (hereinafter, this is referred to as a logical chunk). It is associated with LC, and this logical chunk LC is associated with a pool volume PLVOL having the same size as the logical chunk LC via an external volume ExtVOL.

さらに容量制御部22は、このようにして論理チャンクLCが対応付けられたプールボリュームPLVOLを複数纏めてプールPLを作成し、作成したプールPLを自ノードに配置されたアクティブストレージ制御部21が属するストレージ制御部ペア28(図3)に割り当てる。このようにして、容量制御部22は、各ストレージ制御部ペア28にそれぞれ専用の記憶領域となるプールPLを割り当てる。 Further, the capacity control unit 22 creates a pool PL by collecting a plurality of pool volume PLVOLs associated with the logical chunk LC in this way, and the active storage control unit 21 in which the created pool PL is arranged on the own node belongs to. It is assigned to the storage control unit pair 28 (FIG. 3). In this way, the capacity control unit 22 allocates a pool PL, which is a dedicated storage area, to each storage control unit pair 28.

また、これらのプールPL上には、管理ノード4を介したシステム管理者からの指示に応じて、1又は複数の仮想的な論理ボリュームである内部ボリュームIVOLが作成される。これらの内部ボリュームIVOLは、そのプールPLが対応付けられたストレージ制御部ペア28を構成する2つのストレージ制御部21のうちのアクティブストレージ制御部21が配置されたストレージノード3内に定義される。 Further, on these pool PLs, one or a plurality of virtual logical volumes, the internal volume IVOL, are created according to the instruction from the system administrator via the management node 4. These internal volume IVOLs are defined in the storage node 3 in which the active storage control unit 21 of the two storage control units 21 constituting the storage control unit pair 28 to which the pool PL is associated is arranged.

さらに、各内部ボリュームIVOLは、それぞれ対応するストレージ制御部ペア28(その内部ボリュームIVOLとプールPLを介して対応付けられたストレージ制御部ペア28)を構成するアクティブストレージ制御部21に定義された仮想的なポート(以下、これを仮想ポートと呼ぶ)VPTと、当該ストレージ制御部ペア28を構成するパッシブストレージ制御部21に定義された仮想ポートVPTとをそれぞれ介して、これらアクティブストレージ制御部21やパッシブストレージ制御部21が配置された各ストレージノード3内にそれぞれ定義された仮想的な論理ボリュームであるグローバルプールボリュームGVOLと1対1に対応付けられる。 Further, each internal volume IVOL is a virtual defined in the active storage control unit 21 that constitutes the corresponding storage control unit pair 28 (the storage control unit pair 28 associated with the internal volume IVOL via the pool PL). Active storage control unit 21 and the virtual port VPT defined in the passive storage control unit 21 constituting the storage control unit pair 28, respectively, via a typical port (hereinafter referred to as a virtual port) VPT. It is associated with the global pool volume GVOL, which is a virtual logical volume defined in each storage node 3 in which the passive storage control unit 21 is arranged, on a one-to-one basis.

そしてクラスタ7内の各グローバルプールボリュームGVOLは、すべて纏めてクラスタ7内のすべてのストレージノード3を横断する1つのプール(以下、これをグローバルプールと呼ぶ)GPLとして管理される。 Then, each global pool volume GVOL in the cluster 7 is collectively managed as one pool (hereinafter, referred to as a global pool) GPL that crosses all the storage nodes 3 in the cluster 7.

また各グローバルプールボリュームGVOLは、それぞれそのグローバルプールボリュームGVOLと内部ボリュームIVOLを介して対応付けられたストレージ制御部ペア28を構成するアクティブストレージ制御部21やパッシブストレージ制御部21が配置された各ストレージノード3内にそれぞれ定義された仮想的な論理ボリュームであるホストボリュームHVOLと1対Nに対応付けられる。このホストボリュームHVOLは、データを読み書きするための記憶領域としてコンピュートノードに提供されるボリュームである。 Further, each global pool volume GVOL is each storage in which the active storage control unit 21 and the passive storage control unit 21 that constitute the storage control unit pair 28 associated with the global pool volume GVOL via the internal volume IVOL are arranged. It is associated with the host volume HVOL, which is a virtual logical volume defined in each node 3, in a one-to-N manner. This host volume HVOL is a volume provided to the compute node as a storage area for reading and writing data.

さらに各ホストボリュームHVOLは、それぞれそのホストボリュームHVOLがグローバルプールボリュームGVOLを介して対応付けられた内部ボリュームIVOLに対応するストレージ制御部ペア28のアクティブストレージ制御部21が配置されたストレージノード3内に定義されたターゲットTGを介してそのストレージノード3の物理ポートPPTと1対1に対応付けられる。 Further, each host volume HVOL is located in a storage node 3 in which the active storage control unit 21 of the storage control unit pair 28 corresponding to the internal volume IVOL to which the host volume HVOL is associated via the global pool volume GVOL is arranged. It is associated one-to-one with the physical port PPT of the storage node 3 via the defined target TG.

なおグローバルプールボリュームGVOLは、管理ノード4を介したシステム管理者からの作成指示に応じてクラスタ7内で固有の識別番号が付与されて作成される。このとき、そのグローバルプールボリュームGVOLと併せて、そのグローバルプールボリュームGVOLと1対1で対応付けられる内部ボリュームIVOLが、指定されたストレージ制御部ペア28と対応付けて作成される。 The global pool volume GVOL is created by assigning a unique identification number in the cluster 7 in response to a creation instruction from the system administrator via the management node 4. At this time, together with the global pool volume GVOL, an internal volume IVOL associated with the global pool volume GVOL on a one-to-one basis is created in association with the designated storage control unit pair 28.

また、グローバルプールボリュームGVOLは、システム管理者が管理ノード4を介してストレージノード3内にターゲットTGを作成する際、そのターゲットTGにそのグローバルプールボリュームGVOLを登録することにより、当該ターゲットTGと対応付けられたホストボリュームHVOLと関連付けられる。 Further, when the system administrator creates a target TG in the storage node 3 via the management node 4, the global pool volume GVOL corresponds to the target TG by registering the global pool volume GVOL in the target TG. Associated with the attached host volume HVOL.

因みに、グローバルプールボリュームGVOLの存在意図は、クラスタ7内でホストボリュームHVOLに対応付けられる内部ボリュームIVOLの識別番号を重複させないことにある。実際上、本実施の形態の場合、各ストレージ制御部ペア28にそれぞれ対応付けられる内部ボリュームIVOLのIVOL番号はストレージノード3内では固有であるが、クラスタ7内では固有とならない。このため本実施の形態においては、内部ボリュームIVOL及びホストボリュームHVOL間にクラスタ7内で固有のGVOL番号をもつグローバルプールボリュームGVOLを介在させることにより、ホストボリュームHVOL及び内部ボリュームIVOL間の対応関係を一意に特定できるようにしている。 Incidentally, the intention of the global pool volume GVOL is to not duplicate the identification number of the internal volume IVOL associated with the host volume HVOL in the cluster 7. In fact, in the case of the present embodiment, the IVOL number of the internal volume IVOL associated with each storage control unit pair 28 is unique in the storage node 3, but not unique in the cluster 7. Therefore, in the present embodiment, the correspondence between the host volume HVOL and the internal volume IVOL is established by interposing the global pool volume GVOL having a unique GVOL number in the cluster 7 between the internal volume IVOL and the host volume HVOL. It is designed to be uniquely identifiable.

一方、コンピュートノード2側では、クラスタ7を構成する複数のストレージノード3が1つのストレージ装置に見えており、ホストボリュームHVOLをそのストレージ装置が自ノードに提供する記憶領域として認識する。 On the other hand, on the compute node 2 side, a plurality of storage nodes 3 constituting the cluster 7 are seen as one storage device, and the host volume HVOL is recognized as a storage area provided by the storage device to its own node.

ただし、各コンピュートノード2が認識可能なホストボリュームHVOLは、管理ノード4を介してシステム管理者によりそのコンピュートノード2に設定されたホストボリュームHVOLのみである。従って、コンピュートノード2は、管理ノード4により設定されたホストボリュームHVOLのみをかかるストレージ装置から提供された記憶領域として認識することになる。 However, the host volume HVOL that can be recognized by each compute node 2 is only the host volume HVOL that is set in the compute node 2 by the system administrator via the management node 4. Therefore, the compute node 2 recognizes only the host volume HVOL set by the management node 4 as the storage area provided by the storage device.

また各コンピュートノード2は、自ノードの物理ポート(図示せず)から、クラスタ7内のいずれかのストレージノード3内に定義されたターゲットTGまでのパスを管理している。そしてホストコンピュータ2は、所望するホストボリュームHVOLにデータをリード/ライトする場合には、リード/ライト先のホストボリュームHVOLと、当該ホストボリュームHVOL内のリード/ライト先の記憶領域と、対象とするデータのデータ長とを指定したI/O要求を、自ノードが認識するターゲットTGに向けて送信する。 Further, each compute node 2 manages a path from the physical port (not shown) of its own node to the target TG defined in any storage node 3 in the cluster 7. When the host computer 2 reads / writes data to a desired host volume HVOL, the host computer 2 targets the read / write destination host volume HVOL and the read / write destination storage area in the host volume HVOL. An I / O request specifying the data length of the data is transmitted to the target TG recognized by the own node.

このとき各ストレージノード3では、フロントエンド部20(図3)が、図6について後述するフロントエンドテーブルボリュームテーブル31や、図7について後述するマッピングテーブル32、及び、図10について後述するグローバルプールボリュームテーブル35を用いてホストボリュームHVOL、グローバルプールボリュームGVOL及び内部ボリュームIVOL間の対応関係を管理し、ストレージ制御部21が、図示しない管理テーブルを用いて内部ボリュームIVOLから論理チャンクLCまでの対応関係を管理し、容量制御部22(図3)が、図示しない管理テーブルを用いて論理チャンクLC及び物理チャンクPC間の対応関係を管理している。 At this time, in each storage node 3, the front-end unit 20 (FIG. 3) has a front-end table volume table 31, which will be described later in FIG. 6, a mapping table 32, which will be described later in FIG. 7, and a global pool volume, which will be described later in FIG. Table 35 is used to manage the correspondence between the host volume HVOL, the global pool volume GVOL, and the internal volume IVOL, and the storage control unit 21 manages the correspondence from the internal volume IVOL to the logical chunk LC using a management table (not shown). The capacity control unit 22 (FIG. 3) manages the correspondence between the logical chunk LC and the physical chunk PC by using a management table (not shown).

そして、フロントエンド部20は、コンピュートノード2からのI/O要求を受信した場合、かかるマッピングテーブル32及びグローバルプールボリュームテーブル35を参照して、このI/O要求において指定されたホストボリュームHVOLとグローバルプールボリュームGVOL及び内部ボリュームIVOLを順次介して対応付けられたアクティブストレージ制御部21が配置されたストレージノード3を特定する。 Then, when the front end unit 20 receives the I / O request from the compute node 2, the front end unit 20 refers to the mapping table 32 and the global pool volume table 35 and sets the host volume HVOL specified in the I / O request. The storage node 3 in which the active storage control unit 21 associated with the global pool volume GVOL and the internal volume IVOL is arranged is specified.

そして、フロントエンド部20は、特定したストレージノード3が自ノードである場合には、そのI/O要求に含まれるリード/ライト先のホストボリュームHVOLのボリューム番号を当該ホストボリュームHVOLとグローバルプールボリュームGVOLを介して対応付けられた内部ボリュームIVOLのボリューム番号に書き換えた上で、そのI/O要求を自ノード内の当該アクティブストレージ制御部21に転送する。 Then, when the specified storage node 3 is its own node, the front end unit 20 sets the volume number of the read / write destination host volume HVOL included in the I / O request to the host volume HVOL and the global pool volume. After rewriting the volume number of the internal volume IVOL associated via the GVOL, the I / O request is transferred to the active storage control unit 21 in the own node.

またフロントエンド部20は、特定したストレージノード3が他のストレージノード3である場合には、当該ストレージノード3にそのI/O要求が他のストレージノード3において実行すべきものであると判定した場合には、そのI/O要求を、特定したストレージノード3にバックエンドネットワーク6を介して転送する。かくして、このI/O要求が転送されてきたストレージノード3のフロントエンド部20は、このI/O要求に含まれるリード/ライト先のホストボリュームHVOLのボリューム番号を当該ホストボリュームHVOLとグローバルプールボリュームGVOLを介して対応付けられた内部ボリュームIVOLのボリューム番号に書き換えた上で、そのI/O要求を自ノード内の対応するアクティブストレージ制御部21に転送する。 Further, when the front-end unit 20 determines that the specified storage node 3 is another storage node 3, the I / O request to the storage node 3 should be executed by the other storage node 3. Transfers the I / O request to the specified storage node 3 via the back-end network 6. Thus, the front end portion 20 of the storage node 3 to which the I / O request has been transferred sets the volume number of the read / write destination host volume HVOL included in the I / O request to the host volume HVOL and the global pool volume. After rewriting the volume number of the internal volume IVOL associated via the GVOL, the I / O request is transferred to the corresponding active storage control unit 21 in the own node.

そして、このI/O要求を受領したアクティブストレージ制御部21は、当該I/O要求において指定された内部ボリュームIVOL及び当該内部ボリュームIVOL内の記憶領域とプールPL及び外部ボリュームExtVOLを順次介して対応付けられた論理チャンクLC及び当該論理チャンクLC内の記憶領域を上述の図示しない管理テーブルを用いて特定する。 Then, the active storage control unit 21 that has received this I / O request sequentially responds to the internal volume IVOL specified in the I / O request, the storage area in the internal volume IVOL, the pool PL, and the external volume ExtVOL. The attached logical chunk LC and the storage area in the logical chunk LC are specified by using the management table (not shown above).

かくして、そのストレージノード3では、そのI/O要求がライト要求であった場合には、バックエンド部23により、その論理チャンクLCに対応付けられたすべての物理チャンクPCの対応する記憶領域にデータがそれぞれライトされる。また、そのI/O要求がリード要求であった場合には、バックエンド部23により、その論理チャンクLCに対応付けられた物理チャンクPCのうちの1つの物理チャンクPCからデータがリードされ、これがそのリード要求の送信元のコンピュートノード2に転送される。 Thus, in the storage node 3, when the I / O request is a write request, the back-end unit 23 stores data in the corresponding storage area of all the physical chunk PCs associated with the logical chunk LC. Are each lit. When the I / O request is a read request, the back-end unit 23 reads data from one of the physical chunk PCs associated with the logical chunk LC, which is It is transferred to the compute node 2 that is the source of the read request.

なお、本実施の形態の場合、上述のようにコンピュートノード2からのデータは、I/O要求において指定されたホストボリュームHVOLとグローバルプールボリュームGVOL及び内部ボリュームIVOL等を順次介して対応する論理チャンクLCに対応付けられた複数の物理チャンクPCに冗長化されて格納される。このため容量制御部22により各論理チャンクLCにそれぞれ対応付けられる物理チャンクPCの数は、その情報処理システム1における冗長化方式の設定内容によって決定される。 In the case of the present embodiment, as described above, the data from the compute node 2 is a logical chunk corresponding to the host volume HVOL specified in the I / O request, the global pool volume GVOL, the internal volume IVOL, and the like in sequence. It is redundantly stored in a plurality of physical chunk PCs associated with the LC. Therefore, the number of physical chunk PCs associated with each logical chunk LC by the capacity control unit 22 is determined by the setting content of the redundancy method in the information processing system 1.

例えば、データを二重化して記憶する設定の場合には、1つの論理チャンクLCに対して2つの物理チャンクPCが対応付けられ、データを三重化以上に多重化して記憶する設定がなされている場合などには、3つ以上の必要な数の物理チャンクPCが1つの論理チャンクLCに対応付けられる。 For example, in the case of setting to duplicate and store data, two physical chunk PCs are associated with one logical chunk LC, and the setting is made to multiplex and store data more than triplet. For example, three or more required number of physical chunk PCs are associated with one logical chunk LC.

この場合において、論理チャンクLCと対応付ける物理チャンクPCを、アクティブストレージ制御部21が配置されたストレージノード3とは別のストレージノード3内の物理チャンクPCから選択することとした場合、そのアクティブストレージ制御部21からのI/Oコマンドを受領した容量制御部22がその物理チャンクPCにデータをリード/ライトする際に、その物理チャンクPCを提供するストレージノード3との間の通信が必要となり、その分、システム全体としての応答性能が悪くなる。従って、論理チャンクLCに複数の物理チャンクPCを対応付けるに際しては、その物理チャンクPCのうちの1つを、アクティブストレージ制御部21が配置されたストレージノード3内の記憶装置12が提供する物理チャンクPCの中から選択する方がシステム全体の応答性能の観点からも望ましい。 In this case, if the physical chunk PC associated with the logical chunk LC is selected from the physical chunk PCs in the storage node 3 different from the storage node 3 in which the active storage control unit 21 is arranged, the active storage control thereof. When the capacity control unit 22 that has received the I / O command from the unit 21 reads / writes data to the physical chunk PC, communication with the storage node 3 that provides the physical chunk PC is required, and the communication is required. Therefore, the response performance of the entire system deteriorates. Therefore, when associating a plurality of physical chunk PCs with the logical chunk LC, one of the physical chunk PCs is provided by the storage device 12 in the storage node 3 in which the active storage control unit 21 is arranged. It is desirable to select from these from the viewpoint of the response performance of the entire system.

また、ストレージ制御部ペア28におけるアクティブストレージ制御部21が配置されたストレージノード3に障害が発生した場合に、パッシブストレージ制御部21がアクティブモードに切り替えられることを考慮すると、上述と同様の理由により、論理チャンクLCに対応付ける物理チャンクPCのうちの1つは、パッシブストレージ制御部21が配置されたストレージノード3内の記憶装置12が提供する物理チャンクPCの中から選択する方がシステム全体の応答性能の観点からも望ましい。 Further, considering that the passive storage control unit 21 is switched to the active mode when a failure occurs in the storage node 3 in which the active storage control unit 21 is arranged in the storage control unit pair 28, for the same reason as described above. , One of the physical chunk PCs associated with the logical chunk LC should be selected from the physical chunk PCs provided by the storage device 12 in the storage node 3 in which the passive storage control unit 21 is arranged. It is also desirable from the viewpoint of performance.

そこで本情報処理システム1において、各ストレージノード3の容量制御部22は、ストレージ制御部ペア28に論理チャンクLCを割り当て、その論理チャンクLCに複数の物理チャンクPCを対応付ける際に、そのストレージ制御部ペア28のアクティブストレージ制御部21が配置されたストレージノード3内の記憶装置12が提供する物理チャンクPCと、そのストレージ制御部ペア28のパッシブストレージ制御部21が配置されたストレージノード3内の記憶装置12が提供する物理チャンクPCとを優先的にその論理チャンクLCに対応付ける。 Therefore, in the information processing system 1, the capacity control unit 22 of each storage node 3 assigns a logical chunk LC to the storage control unit pair 28, and when associating a plurality of physical chunk PCs with the logical chunk LC, the storage control unit A physical chunk PC provided by the storage device 12 in the storage node 3 in which the active storage control unit 21 of the pair 28 is arranged, and a storage in the storage node 3 in which the passive storage control unit 21 of the storage control unit pair 28 is arranged. The physical chunk PC provided by the device 12 is preferentially associated with the logical chunk LC.

(2)各種テーブルの構成
図5〜図10は、各ストレージ制御部ペア28の構成や、上述のようなホストボリュームHVOL、グローバルプールボリュームGVOL及び内部ボリュームIVOL間の対応関係等を管理するために各ストレージノード2のメモリ11に保持されるデータベース(図示せず)に含まれる各種テーブルの構成例を示す。
(2) Configuration of various tables FIGS. 5 to 10 are for managing the configuration of each storage control unit pair 28 and the correspondence between the host volume HVOL, the global pool volume GVOL, and the internal volume IVOL as described above. A configuration example of various tables included in a database (not shown) held in the memory 11 of each storage node 2 is shown.

これらテーブルのうち、図5に示すストレージ制御部ペアテーブル30、図6に示すフロントエンドテーブルボリュームテーブル31、図7に示すマッピングテーブル32、図8に示すフロントエンドターゲットテーブル33、及び、図10に示すグローバルプールボリューム35は、フロントエンド部20により管理される。さらに図9に示すストレージ制御部構成情報テーブル34は、ストレージ制御部21により管理される。 Among these tables, the storage control unit pair table 30 shown in FIG. 5, the front-end table volume table 31 shown in FIG. 6, the mapping table 32 shown in FIG. 7, the front-end target table 33 shown in FIG. 8, and FIG. The indicated global pool volume 35 is managed by the front end unit 20. Further, the storage control unit configuration information table 34 shown in FIG. 9 is managed by the storage control unit 21.

またストレージ制御部ペアテーブル30、フロントエンドテーブルボリュームテーブル31、マッピングテーブル32、フロントエンドターゲットテーブル33及びグローバルプールボリュームテーブル35は、クラスタ7内のいずれかのストレージノード3において更新された場合にこれと同期して他のすべてのストレージノード3において同様に更新され、これにより各ストレージノード3間で常に同一の内容に維持される。 Further, the storage control unit pair table 30, the front-end table volume table 31, the mapping table 32, the front-end target table 33, and the global pool volume table 35 are updated when any of the storage nodes 3 in the cluster 7 is updated. It is similarly updated in all the other storage nodes 3 in synchronization, so that the contents are always kept the same among the storage nodes 3.

ストレージ制御部ペアテーブル30は、クラスタ7内に設定されたストレージ制御部ペア28(図3)をマスタクラスタ制御部25(図4)が管理するために利用するテーブルであり、図5に示すように、ペア番号欄30A、アクティブ欄30B及びパッシブ欄30Cを備えて構成される。このストレージ制御部ペアテーブル30では1つの行が1つのストレージ制御部ペア28に対応しており、クラスタ7内のすべてのストレージ制御部ペア28がこのストレージ制御部ペアテーブル30に登録される。 The storage control unit pair table 30 is a table used by the master cluster control unit 25 (FIG. 4) to manage the storage control unit pair 28 (FIG. 3) set in the cluster 7, and is as shown in FIG. In addition, a pair number column 30A, an active column 30B, and a passive column 30C are provided. In the storage control unit pair table 30, one row corresponds to one storage control unit pair 28, and all the storage control unit pairs 28 in the cluster 7 are registered in the storage control unit pair table 30.

そしてペア番号欄30Aには、対応するストレージ制御部ペア28に付与されたそのストレージ制御部ペア28に固有の識別番号(ペア番号)が格納される。 Then, in the pair number column 30A, an identification number (pair number) unique to the storage control unit pair 28 assigned to the corresponding storage control unit pair 28 is stored.

またアクティブ欄30Bは、ノード番号欄30BA及びストレージ制御部欄30BBに区分されている。そして、ノード番号欄30BAには、対応するストレージ制御部ペア28を構成する2つのストレージ制御部21のうちのアクティブストレージ制御部21が配置されたストレージノード3の識別番号(ノード番号)が格納され、ストレージ制御部番号欄30BBには、そのアクティブストレージ制御部21の識別番号(ストレージ制御部番号)が格納される。 Further, the active column 30B is divided into a node number column 30BA and a storage control unit column 30BB. Then, in the node number column 30BA, the identification number (node number) of the storage node 3 in which the active storage control unit 21 of the two storage control units 21 constituting the corresponding storage control unit pair 28 is arranged is stored. , The identification number (storage control unit number) of the active storage control unit 21 is stored in the storage control unit number column 30BB.

同様に、パッシブ欄30Cは、ノード番号欄30CA及びストレージ制御部番号欄30CBに区分されている。そして、ノード番号欄30CAには、対応するストレージ制御部ペア28を構成する2つのストレージ制御部21のうちのパッシブストレージ制御部21が配置されたストレージノード3のノード番号が格納され、ストレージ制御部番号欄30CBには、そのパッシブストレージ制御部21のストレージ制御部番号が格納される。 Similarly, the passive column 30C is divided into a node number column 30CA and a storage control unit number column 30CB. Then, in the node number column 30CA, the node number of the storage node 3 in which the passive storage control unit 21 of the two storage control units 21 constituting the corresponding storage control unit pair 28 is arranged is stored, and the storage control unit is stored. The storage control unit number of the passive storage control unit 21 is stored in the number column 30CB.

従って、図5の例の場合、「1」というペア番号が付与されたストレージ制御部ペア28は、「0」というノード番号のストレージノード3に配置された「0」というストレージ制御部番号のアクティブストレージ制御部21と、「1」というノード番号のストレージノード3に配置された「1」というストレージ制御部番号のパッシブストレージ制御部21とから構成されていることが示されている。 Therefore, in the case of the example of FIG. 5, the storage control unit pair 28 to which the pair number "1" is assigned is the active storage control unit number "0" arranged in the storage node 3 having the node number "0". It is shown that the storage control unit 21 is composed of a storage control unit 21 and a passive storage control unit 21 having a storage control unit number “1” arranged in the storage node 3 having a node number “1”.

一方、フロントエンドテーブルボリュームテーブル31は、ホストボリュームHVOL及び内部ボリュームIVOL間の対応関係を管理するために利用されるテーブルである。フロントエンドテーブルボリュームテーブル31は、図6に示すように、ホストボリュームID欄31A、UUID欄31B、第1のノード特定情報欄31C、第2のノード特定情報欄31D、アクティブ側ノード特定情報欄31E、ストレージ制御部番号欄31F、仮想ポート番号欄31G及び内部ボリューム番号欄31Hを備えて構成される。このフロントエンドテーブルボリュームテーブル31では、1つの行が1つのホストボリュームHVOLに対応し、クラスタ7内のすべてのホストボリュームHVOLが登録される。 On the other hand, the front-end table volume table 31 is a table used for managing the correspondence between the host volume HVOL and the internal volume IVOL. Front-end table As shown in FIG. 6, the volume table 31 has a host volume ID column 31A, a UUID column 31B, a first node specific information column 31C, a second node specific information column 31D, and an active node specific information column 31E. , Storage control unit number field 31F, virtual port number field 31G, and internal volume number field 31H. In this front-end table volume table 31, one row corresponds to one host volume HVOL, and all host volume HVOLs in the cluster 7 are registered.

そしてボリューム番号欄31Aには、対応するホストボリュームHVOLに対して付与されたそのホストボリュームHVOLに固有のボリューム番号がそれぞれ格納される。このボリューム番号は、コンピュートノード2が認識するそのホストボリュームHVOLの識別番号(ボリューム番号)である。 Then, in the volume number column 31A, a volume number unique to the host volume HVOL assigned to the corresponding host volume HVOL is stored. This volume number is an identification number (volume number) of the host volume HVOL recognized by the compute node 2.

またUUID欄31Bには、対応するホストボリュームHVOLに対してクラスタ7内で付与されたそのホストボリュームHVOLに固有のUUID(Universally Unique Identifier)が格納され、内部ボリューム番号欄31Hには、対応するホストボリュームHVOLに対応付けられた内部ボリュームIVOLのボリューム番号が格納される。 Further, the UUID (Universally Unique Identifier) unique to the host volume HVOL assigned to the corresponding host volume HVOL in the cluster 7 is stored in the UUID column 31B, and the corresponding host is stored in the internal volume number column 31H. The volume number of the internal volume IVOL associated with the volume HVOL is stored.

さらに第1のノード特定情報欄31Cには、対応する内部ボリュームIVOLと対応付けられたストレージ制御部ペア28のアクティブストレージ制御部21が配置されたストレージノード3を特定するための情報(以下、これをストレージノード特定情報と呼ぶ)が格納され、第2のノード特定情報欄31Dには、当該ストレージ制御部ペア28のパッシブストレージ制御部21が配置されたストレージノード3のストレージノード特定情報が格納される。本実施の形態においては、これらのストレージノード特定情報として、対応するストレージノード3のストレージサービスネットワーク5上のIP(Internet Protocol)アドレスが適用される。 Further, in the first node identification information column 31C, information for identifying the storage node 3 in which the active storage control unit 21 of the storage control unit pair 28 associated with the corresponding internal volume IVOL is arranged (hereinafter, this). Is called storage node specific information), and the storage node specific information of the storage node 3 in which the passive storage control unit 21 of the storage control unit pair 28 is arranged is stored in the second node specific information field 31D. NS. In the present embodiment, the IP (Internet Protocol) address on the storage service network 5 of the corresponding storage node 3 is applied as the storage node specific information.

さらにアクティブ側ノード特定情報欄31Eには、これら2つのストレージノード3のうち、アクティブストレージ制御部21が配置されたストレージノード3のストレージノード特定情報が格納される。またストレージ制御部番号欄31Fには、そのアクティブストレージ制御部21のストレージ制御部番号が格納され、仮想ポート番号欄31Gには、そのアクティブストレージ制御部21に定義された仮想ポートVPTのうち、対応するホストボリュームHVOL及び対応する内部ボリュームIVOLが接続された仮想ポートVPTの識別番号(ポート番号)が格納される。 Further, the storage node identification information of the storage node 3 in which the active storage control unit 21 is arranged is stored in the active side node identification information column 31E. Further, the storage control unit number of the active storage control unit 21 is stored in the storage control unit number column 31F, and the virtual port number column 31G corresponds to the virtual port VPT defined in the active storage control unit 21. The identification number (port number) of the virtual port VPT to which the host volume HVOL and the corresponding internal volume IVOL are connected is stored.

従って、図6の例の場合、「sn1」というノード特定情報のストレージノード3に配置されたストレージ制御部番号が「1」のアクティブストレージ制御部21と、「sn2」というノード特定情報のストレージノード3に配置されたパッシブストレージ制御部21とにより構成されるストレージ制御部ペア28に割り当てられたプールPL上に「1」というボリューム番号の内部ボリュームIVOLが定義され、この内部ボリュームIVOLが、そのアクティブストレージ制御部21に定義された「Cl1-a」というポート番号の仮想ポートVPTを介して「1」というボリューム番号のホストボリュームHVOLと対応付けられていることが示されている。また図6では、そのホストボリュームHVOLのクラスタ7内でのUUIDが「Xxxxxxxxxxx」であることも示されている。 Therefore, in the case of the example of FIG. 6, the active storage control unit 21 having the storage control unit number "1" arranged in the storage node 3 of the node specific information "sn1" and the storage node of the node specific information "sn2" An internal volume IVOL with a volume number of "1" is defined on the pool PL assigned to the storage control unit pair 28 composed of the passive storage control unit 21 arranged in 3, and this internal volume IVOL is its active. It is shown that the storage control unit 21 is associated with the host volume HVOL having the volume number "1" via the virtual port VPT having the port number "Cl1-a". FIG. 6 also shows that the UUID of the host volume HVOL in cluster 7 is "Xxxxxxxxxxx".

他方、マッピングテーブル32は、グローバルプールボリュームGVOL及び内部ボリュームIVOL間の対応関係を管理するために利用されるテーブルである。マッピングテーブル32は、図7に示すように、グローバルプールボリューム番号欄32A、UUID欄32B、内部ボリューム番号欄32C、ノード番号欄32D及びストレージ制御部番号欄32Eを備えて構成される。マッピングテーブル32では、1つの行が1つのグローバルプールボリュームGVOLに対応し、クラスタ7内のすべてのグローバルプールボリュームGVOLが登録される。 On the other hand, the mapping table 32 is a table used for managing the correspondence between the global pool volume GVOL and the internal volume IVOL. As shown in FIG. 7, the mapping table 32 includes a global pool volume number column 32A, a UUID column 32B, an internal volume number column 32C, a node number column 32D, and a storage control unit number column 32E. In the mapping table 32, one row corresponds to one global pool volume GVOL, and all global pool volume GVOLs in the cluster 7 are registered.

そしてグローバルプールボリューム番号欄32Aには、対応するグローバルプールボリュームGVOLのボリューム番号が格納され、UUID欄32Bには、そのグローバルプールボリュームGVOLのクラスタ7内におけるUUIDが格納される。 The volume number of the corresponding global pool volume GVOL is stored in the global pool volume number column 32A, and the UUID in the cluster 7 of the global pool volume GVOL is stored in the UUID column 32B.

また内部ボリューム番号欄32Cには、そのグローバルプールボリュームGVOLと対応付けられた内部ボリュームIVOLに付与されたその内部ボリュームIVOLのボリューム番号が格納される。またノード番号欄32Dには、その内部ボリュームIVOLが存在するストレージノード3(通常は、対応するアクティブストレージ制御部21が配置されたストレージノード3)のノード番号が格納される。 Further, in the internal volume number column 32C, the volume number of the internal volume IVOL assigned to the internal volume IVOL associated with the global pool volume GVOL is stored. Further, the node number column 32D stores the node number of the storage node 3 in which the internal volume IVOL exists (usually, the storage node 3 in which the corresponding active storage control unit 21 is arranged).

さらにストレージ制御部番号欄32Eには、その内部ボリュームIVOLと対応付けられたストレージ制御部ペア28(割り当てられたプールPL上にその内部ボリュームIVOLが定義されたストレージ制御部ペア28)を構成する2つのストレージ制御部21のうち、アクティブストレージ制御部21のストレージ制御部番号が格納される。 Further, the storage control unit number column 32E constitutes a storage control unit pair 28 (a storage control unit pair 28 in which the internal volume IVOL is defined on the allocated pool PL) associated with the internal volume IVOL. Of the two storage control units 21, the storage control unit number of the active storage control unit 21 is stored.

従って、図7の例の場合、「1」というボリューム番号のグローバルプールボリュームGVOLは、クラスタ7内において「Xxxxxxxxxxxx」というUUIDが付与され、「1」というストレージ制御部番号のアクティブストレージ制御部21が配置された「2」というノード番号のストレージノード3内に定義された「1」というボリューム番号の内部ボリュームIVOLと対応付けられていることが示されている。 Therefore, in the case of the example of FIG. 7, the global pool volume GVOL having the volume number "1" is given the UUID "Xxxxxxxxxxxx" in the cluster 7, and the active storage control unit 21 having the storage control unit number "1" is assigned. It is shown that it is associated with the internal volume IVOL of the volume number "1" defined in the storage node 3 of the arranged node number "2".

フロントエンドターゲットテーブル33は、ストレージノード3の各物理ポートPPT(図4)に対してそれぞれ1対1で設定されたターゲットTG(図4)と、ホストボリュームHVOLとの対応関係を管理するために利用されるテーブルである。フロントエンドターゲットテーブル33は、図8に示すように、ターゲット番号欄33A、ターゲット名欄33B、UUID欄33C、ターゲットIP欄33D、ホストボリューム番号リスト欄33E及びイニシエータ名欄33Fを備えて構成される。このフロントエンドターゲットテーブル33では、1つの行が1つのターゲットTGに対応し、クラスタ7内に定義されたすべてのターゲットTGが登録される。 The front-end target table 33 is used to manage the correspondence between the target TG (FIG. 4) set 1: 1 for each physical port PPT (FIG. 4) of the storage node 3 and the host volume HVOL. This is the table used. As shown in FIG. 8, the front-end target table 33 includes a target number column 33A, a target name column 33B, a UUID column 33C, a target IP column 33D, a host volume number list column 33E, and an initiator name column 33F. .. In this front-end target table 33, one row corresponds to one target TG, and all target TGs defined in the cluster 7 are registered.

そしてターゲット番号欄33Aには、対応するターゲットTGに付与されたそのターゲットTGに固有の識別番号(ターゲット番号)が格納され、ターゲット名欄33Bには、対応するターゲットTGに付与された名称(ターゲット名)が格納される。このターゲット名は、ユーザ又は管理ノード4により付与された名称である。 Then, the target number column 33A stores the identification number (target number) unique to the target TG assigned to the corresponding target TG, and the target name column 33B stores the name (target) assigned to the corresponding target TG. First name) is stored. This target name is a name given by the user or the management node 4.

またUUID欄33Cには、対応するターゲットTGに付与されたクラスタ7内におけるそのターゲットTGのUUIDが格納される。さらにターゲットIP欄33Dには、そのターゲットTGが設定された物理ポートPPTのストレージサービスネットワーク5上のIPアドレスが格納される。 Further, the UUID column 33C stores the UUID of the target TG in the cluster 7 assigned to the corresponding target TG. Further, in the target IP column 33D, the IP address on the storage service network 5 of the physical port PPT in which the target TG is set is stored.

さらにホストボリューム番号リスト欄33Eには、対応するターゲットTGと対応付けられたすべてのホストボリュームHVOLのボリューム番号が格納され、イニシエータ名欄33Fには、対応するターゲットTGにログイン可能なコンピュートノード2の名称(イニシエータ名)が格納される。 Further, the volume numbers of all the host volumes HVOL associated with the corresponding target TG are stored in the host volume number list column 33E, and the initiator name column 33F is the compute node 2 capable of logging in to the corresponding target TG. The name (initiator name) is stored.

従って、図8の例の場合、「1」というターゲット番号が付与された「AAAA」というターゲット名のターゲットTGにはクラスタ7内で「Xxxxxxxxxxxx」というUUIDが付与され、そのターゲットTGが設定された物理ポートPPTのストレージサービスネットワーク5上のIPアドレスは「xx.xx.xx.xx」であり、そのターゲットTGに「1」,「2」,……「N」というボリューム番号がそれぞれ付与された複数のホストボリュームHVOLが対応付けられ、そのターゲットTGに「lqn.xxxx.xxx」というイニシエータ名のコンピュートノード2がログイン可能に設定されていることが示されている。 Therefore, in the case of the example of FIG. 8, the target TG with the target name "AAAA" given the target number "1" is given the UUID "Xxxxxxxxxxxx" in the cluster 7, and the target TG is set. The IP address on the storage service network 5 of the physical port PPT is "xx.xx.xx.xx", and the target TGs are assigned volume numbers "1", "2", ... "N", respectively. It is shown that a plurality of host volumes HVOL are associated with each other, and the compute node 2 having an initiator name of "lqn.xxxx.xxx" is set to be able to log in to the target TG.

ストレージ制御部構成情報テーブル34は、仮想ポートVPT及び内部ボリュームIVOLの対応関係を管理するために利用されるテーブルであり、図9に示すように、仮想ポート番号欄34A及び内部ボリューム番号欄34Bを備えて構成される。このストレージ制御部構成情報テーブル34は、ストレージ制御部21ごとに作成され、対応するストレージ制御部21により管理される。 The storage control unit configuration information table 34 is a table used for managing the correspondence between the virtual port VPT and the internal volume IVOL, and as shown in FIG. 9, the virtual port number column 34A and the internal volume number column 34B are displayed. Be prepared. The storage control unit configuration information table 34 is created for each storage control unit 21 and is managed by the corresponding storage control unit 21.

そして仮想ポート番号欄34Aには、対応するストレージ制御部21に定義された仮想ポートVPTのポート番号が格納され、内部ボリューム番号欄34Bには、その仮想ポートVPTに接続された内部ボリュームIVOLのボリューム番号が格納される。 The virtual port number field 34A stores the port number of the virtual port VPT defined in the corresponding storage control unit 21, and the internal volume number field 34B stores the volume of the internal volume IVOL connected to the virtual port VPT. The number is stored.

従って、図9の例の場合、対応するストレージ制御部21の「Cl1-a」という仮想ポートVPTには「1」というボリューム番号の内部ボリュームIVOLが接続されていることが示されている。 Therefore, in the case of the example of FIG. 9, it is shown that the internal volume IVOL of the volume number “1” is connected to the virtual port VPT “Cl1-a” of the corresponding storage control unit 21.

グローバルプールボリュームテーブル35は、クラスタ7内に定義されたグローバルプールボリュームGVOLを管理するために利用されるテーブルであり、図10に示すように、グローバルプールボリューム番号欄35A,ターゲット番号欄35B及びホストボリューム番号欄35Cを備えて構成される。このグローバルプールボリュームテーブル35では、1つの行が1つのグローバルプールボリュームGVOLに対応し、クラスタ7内に定義されたすべてのグローバルプールボリュームGVOLが登録される。 The global pool volume table 35 is a table used for managing the global pool volume GVOL defined in the cluster 7, and as shown in FIG. 10, the global pool volume number column 35A, the target number column 35B, and the host It is configured to include a volume number field 35C. In this global pool volume table 35, one row corresponds to one global pool volume GVOL, and all global pool volume GVOLs defined in the cluster 7 are registered.

そしてグローバルプールボリューム番号欄35Aには、対応するグローバルプールボリュームGVOLに付与されたそのグローバルプールボリュームGVOLに固有の識別番号(ボリューム番号)が格納され、ホストボリューム番号欄35Cには、対応するグローバルプールボリュームGVOLと対応付けられたすべてのホストボリュームHVOLのボリューム番号が格納される。またターゲット番号欄35Bには、対応するホストボリュームHVOLと対応付けられたターゲットTGのターゲット番号が格納される。 The global pool volume number column 35A stores an identification number (volume number) unique to the global pool volume GVOL assigned to the corresponding global pool volume GVOL, and the host volume number column 35C stores the corresponding global pool. The volume numbers of all host volumes HVOL associated with the volume GVOL are stored. Further, in the target number column 35B, the target number of the target TG associated with the corresponding host volume HVOL is stored.

従って、図10の場合、「1」というボリューム番号が付与されたグローバルターゲットボリュームGVOLには、少なくともそれぞれ「1」というボリューム番号が付与されたホストボリュームHVOLが対応付けられ、このホストボリュームHVOLは、「1」というターゲット番号が付与されたターゲットTGと、「2」というターゲット番号が付与されたターゲットTGとに対応付けられていることが示されている(図4参照)。 Therefore, in the case of FIG. 10, the global target volume GVOL assigned the volume number "1" is associated with the host volume HVOL assigned at least the volume number "1", and the host volume HVOL is associated with the host volume HVOL. It is shown that the target TG to which the target number "1" is assigned is associated with the target TG to which the target number "2" is assigned (see FIG. 4).

なお、フロントエンドテーブルボリュームテーブル31、マッピングテーブル32、フロントエンドターゲットテーブル33、ストレージ制御部構成情報テーブル34及びグローバルプールボリューム35間における情報の対応関係を図11に示す。 FIG. 11 shows the correspondence between the front-end table volume table 31, the mapping table 32, the front-end target table 33, the storage control unit configuration information table 34, and the global pool volume 35.

この図11に示すように、フロントエンドテーブルボリュームテーブル31の仮想ポート番号欄31G(図6)及び内部ボリューム番号欄31H(図6)にそれぞれ格納された仮想ポート番号及びボリューム番号が、それぞれその仮想ポート番号が付与された仮想ポートVPT(図4)を備えるストレージ制御部21が管理するストレージ制御部構成情報管理テーブル34の仮想ポート番号欄34A(図9)及び内部ボリューム番号欄34B(図9)にそれぞれ格納されている仮想ポート番号やボリューム番号と対応する。 As shown in FIG. 11, the virtual port numbers and volume numbers stored in the virtual port number column 31G (FIG. 6) and the internal volume number column 31H (FIG. 6) of the front-end table volume table 31, respectively, are virtual. Virtual port number column 34A (FIG. 9) and internal volume number column 34B (FIG. 9) of the storage control unit configuration information management table 34 managed by the storage control unit 21 having a virtual port VPT (FIG. 4) to which a port number is assigned. Corresponds to the virtual port number and volume number stored in each.

従って、フロントエンドテーブルボリュームテーブル31及びストレージ制御部構成情報管理テーブル34間では、仮想ポートVPTのポート番号と、当該仮想ポートVPTに対応付けられた内部ボリュームIVOLのボリューム番号との組合せをキーとして、行同士の対応関係を認識することができる。 Therefore, between the front-end table volume table 31 and the storage control unit configuration information management table 34, the combination of the port number of the virtual port VPT and the volume number of the internal volume IVOL associated with the virtual port VPT is used as a key. It is possible to recognize the correspondence between rows.

またマッピングテーブル32のグローバルプールボリューム番号欄32A(図7)に格納されたボリューム番号は、グローバルプールボリュームテーブル35のグローバルプールボリューム番号欄35Aに格納されたボリューム番号と対応する。従って、マッピングテーブル32及びグローバルプールボリュームテーブル35間では、グローバルプールボリュームGVOLのボリューム番号をキーとして、行同士の対応関係を認識することができる。 The volume number stored in the global pool volume number column 32A (FIG. 7) of the mapping table 32 corresponds to the volume number stored in the global pool volume number column 35A of the global pool volume table 35. Therefore, between the mapping table 32 and the global pool volume table 35, the correspondence relationship between the rows can be recognized by using the volume number of the global pool volume GVOL as a key.

さらにマッピングテーブル32の内部ボリューム番号欄32C(図7)に格納されたボリューム番号は、その内部ボリューム番号の内部ボリュームIVOL(図4)を提供するアクティブストレージ制御部21が管理するストレージ制御部構成情報管理テーブル34の内部ボリューム番号欄34B(図9)に格納されたボリューム番号と対応する。従って、マッピングテーブル33及びストレージ制御部構成情報管理テーブル34間では、内部ボリュームIVOLのボリューム番号をキーとして、行同士の対応関係を認識することができる。 Further, the volume number stored in the internal volume number column 32C (FIG. 7) of the mapping table 32 is the storage control unit configuration information managed by the active storage control unit 21 that provides the internal volume IVOL (FIG. 4) of the internal volume number. It corresponds to the volume number stored in the internal volume number column 34B (FIG. 9) of the management table 34. Therefore, between the mapping table 33 and the storage control unit configuration information management table 34, the correspondence relationship between the rows can be recognized by using the volume number of the internal volume IVOL as a key.

さらにグローバルプールボリュームテーブル35のターゲット番号欄35B(図10)に格納されたターゲット番号は、フロントエンドターゲットテーブル33(図8)のターゲット番号欄33Aに格納されたターゲット番号と対応する。従って、グローバルプールボリュームテーブル35及びフロントエンドターゲットテーブル33間では、ターゲット番号をキーとして、行同士の対応関係を認識することができる。 Further, the target number stored in the target number column 35B (FIG. 10) of the global pool volume table 35 corresponds to the target number stored in the target number column 33A of the front-end target table 33 (FIG. 8). Therefore, between the global pool volume table 35 and the front-end target table 33, the correspondence between the rows can be recognized by using the target number as a key.

(3)内部ボリューム作成の流れ
次に、図4について上述した内部ボリュームIVOLをクラスタ7内に作成してホストボリュームHVOLと対応付け、その内部ボリュームIVOLに関する各種設定を行う一連の処理の流れについて、図12を参照して説明する。
(3) Flow of creating an internal volume Next, regarding the flow of a series of processes for creating the above-mentioned internal volume IVOL in the cluster 7 in FIG. 4, associating it with the host volume HVOL, and making various settings related to the internal volume IVOL. This will be described with reference to FIG.

本情報処理システム1において、システム管理者は、コンピュートノード2に提供する新たなホストボリュームHVOLを作成する場合、管理ノード4を操作することにより、そのとき作成しようとするホストボリュームHVOLと対応付けるグローバルプールボリュームGVOLの作成要求(以下、これをグローバルプールボリューム作成要求)をマスタクラスタ制御部25が配置されたストレージノード3に送信する(S1)。 In the information processing system 1, when the system administrator creates a new host volume HVOL to be provided to the compute node 2, the system administrator operates the management node 4 to associate the global pool with the host volume HVOL to be created at that time. A volume GVOL creation request (hereinafter, a global pool volume creation request) is transmitted to the storage node 3 in which the master cluster control unit 25 is arranged (S1).

このグローバルプールボリューム作成要求を受信したマスタクラスタ制御部25は、まず、受信したコマンド(グローバルプールボリューム作成要求)を解析し(S2)、このコマンドがグローバルプールボリューム作成要求であることを認識すると、そのとき作成すべきグローバルプールボリュームGVOLを対応付けるのに最適なストレージ制御部ペア28(図3)を選択する(S3)。例えば、マスタクラスタ制御部25は、最も負荷が低いストレージノード3にアクティブストレージ制御部21が配置されているストレージ制御部ペア28をこのステップS3において選択する。 Upon receiving this global pool volume creation request, the master cluster control unit 25 first analyzes the received command (global pool volume creation request) (S2), and recognizes that this command is a global pool volume creation request. The optimum storage control unit pair 28 (FIG. 3) for associating the global pool volume GVOL to be created at that time is selected (S3). For example, the master cluster control unit 25 selects the storage control unit pair 28 in which the active storage control unit 21 is arranged on the storage node 3 having the lowest load in this step S3.

またマスタクラスタ制御部25は、ステップS3で選択したストレージ制御部ペア28を構成するストレージ制御部21のうち、アクティブストレージ制御部21が配置されたストレージノード3に対して、グローバルプールボリュームGVOLを作成すべき旨の指示(以下、これをグローバルプールボリューム作成指示と呼ぶ)と、内部ボリュームIVOLを作成すべき旨の指示(以下、これを内部ボリューム作成指示と呼ぶ)とをバックエンドネットワーク6を介して送信する(S4A,S4B)。 Further, the master cluster control unit 25 creates a global pool volume GVOL for the storage node 3 in which the active storage control unit 21 is arranged among the storage control units 21 constituting the storage control unit pair 28 selected in step S3. An instruction to the effect (hereinafter referred to as a global pool volume creation instruction) and an instruction to create an internal volume IVOL (hereinafter referred to as an internal volume creation instruction) are given via the back-end network 6. (S4A, S4B).

かくして、かかるグローバルプールボリューム作成指示を受信したストレージノード3のフロントエンド部20は、自ノード内にグローバルプールボリュームGVOLを作成する(S5A)。また、かかるストレージノード3のかかるアクティブストレージ制御部21は、その内部ボリューム作成指示に従って、自ノード内に、自ストレージ制御部21が構成するストレージ制御部ペア28に割り当てられたプールPL(図4)と、ステップS5Aで作成されたグローバルプールボリュームGVOLとに対応付けて内部ボリュームIVOLを作成する(S5B)。 Thus, the front end unit 20 of the storage node 3 that has received the global pool volume creation instruction creates the global pool volume GVOL in its own node (S5A). Further, the active storage control unit 21 of the storage node 3 is assigned to the pool PL (FIG. 4) in the own node to the storage control unit pair 28 configured by the local storage control unit 21 according to the internal volume creation instruction (FIG. 4). And the internal volume IVOL are created in association with the global pool volume GVOL created in step S5A (S5B).

なおグローバルプールボリュームGVOL及び内部ボリュームIVOLは実体を有さない仮想的な論理ボリュームであるため、これらグローバルプールボリュームGVOLや内部ボリュームIVOLの作成は、その情報をグローバルプールボリュームテーブル35(図10)や対応するストレージ制御部構成情報テーブル34(図9)に登録することにより行われる。 Since the global pool volume GVOL and the internal volume IVOL are virtual logical volumes that have no substance, the information of the global pool volume GVOL and the internal volume IVOL is used in the global pool volume table 35 (FIG. 10). This is performed by registering in the corresponding storage control unit configuration information table 34 (FIG. 9).

実際上、そのフロントエンド部20は、自己が管理するグローバルプールボリュームテーブル35(図10)に新たな行を追加し、その行のグローバルプールボリューム番号欄35A(図10)に、そのグローバルプールボリュームGVOLに付与したボリューム番号を格納する。 In practice, the front-end unit 20 adds a new row to the global pool volume table 35 (FIG. 10) that it manages, and the global pool volume in the global pool volume number column 35A (FIG. 10) of that row. Stores the volume number assigned to GVOL.

そして、このフロントエンド部20は、この後、このようにして作成したグローバルプールボリュームGVOLのボリューム番号と、そのグローバルプールボリュームGVOLと対応付けた内部ボリュームIVOLのボリューム番号とを、バックエンドネットワーク6を介してマスタクラスタ制御部25に通知する(S6A)。 Then, the front-end unit 20 subsequently sets the volume number of the global pool volume GVOL created in this way and the volume number of the internal volume IVOL associated with the global pool volume GVOL to the back-end network 6. Notify the master cluster control unit 25 via (S6A).

また、かかるアクティブストレージ制御部21は、自己が管理するストレージ制御部構成情報テーブル34(図9)に新たな行を追加し、その行の内部ボリューム番号欄34B(図9)に、そのとき作成すべき内部ボリュームIVOLのボリューム番号を格納すると共に、その行の仮想ポート番号欄34A(図9)に、その内部ボリュームIVOLと対応付ける自ストレージ制御部21の仮想ポートVPT(図4)のポート番号を格納する。 Further, the active storage control unit 21 adds a new row to the storage control unit configuration information table 34 (FIG. 9) managed by itself, and creates a new row in the internal volume number column 34B (FIG. 9) of that row at that time. The volume number of the internal volume IVOL to be to be stored is stored, and the port number of the virtual port VPT (FIG. 4) of the own storage control unit 21 associated with the internal volume IVOL is entered in the virtual port number column 34A (FIG. 9) of that line. Store.

そして、このアクティブストレージ制御部21は、この後、このようにして作成した内部ボリュームIVOLのボリューム番号と、その内部ボリュームIVOLと対応付けた仮想ポートVPTのポート番号とを含む完了通知を、バックエンドネットワーク6を介してマスタクラスタ制御部25に通知する(S6B)。 Then, the active storage control unit 21 then backends a completion notification including the volume number of the internal volume IVOL created in this way and the port number of the virtual port VPT associated with the internal volume IVOL. Notify the master cluster control unit 25 via the network 6 (S6B).

一方、これらの完了通知を受信したマスタクラスタ制御部25は、そのグローバルプールボリュームGVOLやその内部ボリュームIVOLを自ノード内のフロントエンドテーブルボリュームテーブル31(図6)、マッピングテーブル32(図7)及びグローバルプールボリュームテーブル35(図10)に登録するよう自ノード内のフロントエンド部20に指示を与える。かくして、この指示を受けたフロントエンド部20は、自ノードのメモリ11(図2)に格納されているフロントエンドテーブルボリュームテーブル31、マッピングテーブル32及びグローバルプールボリュームテーブル35(図10)にこれらのグローバルプールボリュームGVOLやその内部ボリュームIVOLを登録する(S7)。 On the other hand, the master cluster control unit 25 that has received these completion notifications sets the global pool volume GVOL and its internal volume IVOL in the front-end table volume table 31 (FIG. 6), mapping table 32 (FIG. 7), and mapping table 32 (FIG. 7) in the own node. Instruct the front end unit 20 in the own node to register in the global pool volume table 35 (FIG. 10). Thus, the front-end unit 20 that receives this instruction displays the front-end table volume table 31, the mapping table 32, and the global pool volume table 35 (FIG. 10) stored in the memory 11 (FIG. 2) of the own node. Register the global pool volume GVOL and its internal volume IVOL (S7).

具体的に、かかるフロントエンド部20は、自ノードのメモリ11(図2)に格納されているフロントエンドテーブルボリュームテーブル31に新たな行を追加し、その行の第1のノード特定情報欄31C(図6)に、ステップS3で選択したストレージ制御部ペア28を構成する一方のストレージ制御部21が配置されたストレージノード3のストレージノード特定情報を格納する。また、そのフロントエンド部20は、その行の第2のノード特定情報欄31D(図6)に、ステップS3で選択したストレージ制御部ペア28を構成する他方のストレージ制御部21が配置されたストレージノード3のストレージノード特定情報を格納する。 Specifically, the front-end unit 20 adds a new row to the front-end table volume table 31 stored in the memory 11 (FIG. 2) of the own node, and the first node specific information column 31C of that row. FIG. 6 stores the storage node identification information of the storage node 3 in which one of the storage control units 21 constituting the storage control unit pair 28 selected in step S3 is arranged. Further, the front end unit 20 is a storage in which the other storage control unit 21 constituting the storage control unit pair 28 selected in step S3 is arranged in the second node specific information field 31D (FIG. 6) of the row. Storage of node 3 Stores node specific information.

またフロントエンド部20は、その行のアクティブ側ノード特定情報欄31E(図6)に、かかるストレージ制御部ペア28を構成する2つのストレージ制御部21のうちのアクティブストレージ制御部21が配置されたストレージノード3のストレージノード特定情報を格納すると共に、その行のストレージ制御部番号欄31F(図6)に、そのアクティブストレージ制御部21のストレージ制御部番号を格納する。 Further, in the front end unit 20, the active storage control unit 21 of the two storage control units 21 constituting the storage control unit pair 28 is arranged in the active side node identification information column 31E (FIG. 6) of the row. The storage node specific information of the storage node 3 is stored, and the storage control unit number of the active storage control unit 21 is stored in the storage control unit number column 31F (FIG. 6) of the row.

さらにフロントエンド部20は、その行の仮想ポート番号欄31G(図6)に、ステップS7で受信した対応するストレージ制御部21から送信されてきた完了通知に含まれる仮想ポートVPTのポート番号を格納すると共に、その行の内部ボリューム番号欄31H(図6)に、当該完了通知に含まれる内部ボリュームのボリューム番号を格納する。 Further, the front end unit 20 stores the port number of the virtual port VPT included in the completion notification transmitted from the corresponding storage control unit 21 received in step S7 in the virtual port number column 31G (FIG. 6) of the line. At the same time, the volume number of the internal volume included in the completion notification is stored in the internal volume number column 31H (FIG. 6) of the line.

同様に、フロントエンド部20は、マッピングテーブル32(図7)に新たな行を追加し、その行のグローバルプールボリューム番号欄32A(図7)及びUUID欄32B(図7)に、それぞれそのとき作成したグローバルプールボリュームGVOLのボリューム番号やUUIDを格納すると共に、その行の内部ボリューム番号欄32C(図7)に、そのグローバルプールボリュームGVOLと対応付けた内部ボリュームIVOLのボリューム番号を格納する。 Similarly, the front end unit 20 adds a new row to the mapping table 32 (FIG. 7) and fills the global pool volume number column 32A (FIG. 7) and UUID column 32B (FIG. 7) of that row, respectively. The volume number and UUID of the created global pool volume GVOL are stored, and the volume number of the internal volume IVOL associated with the global pool volume GVOL is stored in the internal volume number column 32C (FIG. 7) of the line.

またフロントエンド部20は、その行のノード番号欄32D(図7)に、ステップS3で選択したストレージ制御部ペア28のアクティブストレージ制御部21が配置されているストレージノード3のノード番号を格納すると共に、その行のストレージ制御部番号欄32E(図7)に、当該アクティブストレージ制御部21のストレージ制御部番号を格納する。 Further, the front end unit 20 stores the node number of the storage node 3 in which the active storage control unit 21 of the storage control unit pair 28 selected in step S3 is arranged in the node number column 32D (FIG. 7) of the row. At the same time, the storage control unit number of the active storage control unit 21 is stored in the storage control unit number column 32E (FIG. 7) of that line.

さらにフロントエンド部20は、グローバルプールボリュームテーブル35(図10)に新たな行を追加し、その行のグローバルプールボリューム番号欄35A(図10)に、そのとき作成したグローバルプールボリュームGVOLのボリューム番号を格納する。 Further, the front end unit 20 adds a new row to the global pool volume table 35 (FIG. 10), and in the global pool volume number column 35A (FIG. 10) of that row, the volume number of the global pool volume GVOL created at that time. To store.

そしてマスタクラスタ制御部25は、以上のようにして自ノード内のフロントエンド部20がそのグローバルプールボリュームGVOLや内部ボリュームIVOLを自ノード内のフロントエンドテーブルボリュームテーブル31、マッピングテーブル32及びグローバルプールボリュームテーブル35に登録し終えると、これらフロントエンドテーブルボリュームテーブル31、マッピングテーブル32及びグローバルプールボリュームテーブル35の更新前後の差分をそれぞれ差分データとして、バックエンドネットワーク6を介してクラスタ7内の自ノード以外の各ストレージノード3にそれぞれ送信する(S8)。 Then, in the master cluster control unit 25, as described above, the front end unit 20 in the own node sets the global pool volume GVOL and the internal volume IVOL in the front end table volume table 31, the mapping table 32 and the global pool volume in the own node. When the registration in the table 35 is completed, the differences before and after the update of the front-end table volume table 31, the mapping table 32, and the global pool volume table 35 are used as difference data, except for the local node in the cluster 7 via the back-end network 6. It is transmitted to each storage node 3 of (S8).

かくして、この差分データを受信した各ストレージノード3のフロントエンド部20は、当該差分データに基づいて、自ノード内のフロントエンドテーブルボリュームテーブル31、マッピングテーブル32及びグローバルプールボリュームテーブル35を、マスタクラスタ制御部25が配置されたストレージノード3内のフロントエンドテーブルボリュームテーブル31、マッピングテーブル32及びグローバルプールボリュームテーブル35と同様にそれぞれ更新する(S9)。このようにして各ストレージノード3内のフロントエンドテーブルボリュームテーブル31、マッピングテーブル32及びグローバルプールボリュームテーブル35が同期して更新され、これらのフロントエンドテーブルボリュームテーブル31、マッピングテーブル32及びグローバルプールボリュームテーブル35の内容がクラスタ7内の各ストレージノード3間で常に同一の状態に維持される。 Thus, the front-end unit 20 of each storage node 3 that has received the difference data sets the front-end table volume table 31, the mapping table 32, and the global pool volume table 35 in the own node as the master cluster based on the difference data. The front-end table volume table 31, the mapping table 32, and the global pool volume table 35 in the storage node 3 in which the control unit 25 is arranged are updated in the same manner (S9). In this way, the front-end table volume table 31, mapping table 32, and global pool volume table 35 in each storage node 3 are updated synchronously, and these front-end table volume table 31, mapping table 32, and global pool volume table are updated. The contents of 35 are always maintained in the same state among the storage nodes 3 in the cluster 7.

また、これらのフロントエンド部20は、このようにして自ノード内のフロントエンドテーブルボリュームテーブル31、マッピングテーブル32及びグローバルプールボリュームテーブル35を更新し終えると、その旨の完了通知をバックエンドネットワーク6を介してマスタクラスタ制御部25に送信する(S10)。 Further, when these front-end units 20 finish updating the front-end table volume table 31, the mapping table 32, and the global pool volume table 35 in the own node in this way, the back-end network 6 notifies the completion to that effect. Is transmitted to the master cluster control unit 25 via (S10).

そしてマスタクラスタ制御部25は、クラスタ7内の自ノード以外のすべてのストレージノード3のフロントエンド部20から上述したステップS10の完了通知が与えられると、要求されたグローバルプールボリュームGVOLを作成し終えた旨の完了通知を管理ノード4に送信する(S11)。 Then, when the front end unit 20 of all the storage nodes 3 other than the own node in the cluster 7 gives the completion notification of step S10 described above, the master cluster control unit 25 finishes creating the requested global pool volume GVOL. A completion notification to that effect is transmitted to the management node 4 (S11).

一方、管理ノード4は、かかるステップS11の完了通知がマスタクラスタ制御部25から与えられると、そのとき作成しようとするホストボリュームHVOLと対応付けるターゲットTG(図4)を作成すべき旨の要求(以下、これをターゲット作成要求と呼ぶ)を、ストレージサービスネットワーク5を介してマスタクラスタ制御部25に送信する(S12)。なお、このターゲット作成要求には、そのとき作成すべきターゲットTGのターゲット名と、そのターゲットTGに対応付けるホストボリュームHVOLのボリューム番号と、そのターゲットTGのIPアドレスとが含まれる。 On the other hand, when the completion notification of step S11 is given from the master cluster control unit 25, the management node 4 requests to create a target TG (FIG. 4) associated with the host volume HVOL to be created at that time (hereinafter, , This is called a target creation request) is transmitted to the master cluster control unit 25 via the storage service network 5 (S12). The target creation request includes the target name of the target TG to be created at that time, the volume number of the host volume HVOL associated with the target TG, and the IP address of the target TG.

そしてマスタクラスタ制御部25は、このターゲット作成要求を受信すると、ステップS3で選択したストレージ制御部ペア28を構成する各ストレージ制御部21がそれぞれ配置された2つのストレージノード3内に要求されたターゲットTGをそれぞれ作成するよう自ノード内のフロントエンド部20に指示を与える(S13)。ただし、これらのターゲットTGは実体を有さない仮想的なものであるため、これらターゲットTGの作成は、フロントエンドターゲットテーブル33(図8)にこれらターゲットTGの情報を新規登録することにより行われる。 When the master cluster control unit 25 receives this target creation request, the master cluster control unit 25 receives the target creation request, and the target requested in the two storage nodes 3 in which each storage control unit 21 constituting the storage control unit pair 28 selected in step S3 is arranged. Instruct the front end unit 20 in the own node to create each TG (S13). However, since these target TGs are virtual ones having no substance, the creation of these target TGs is performed by newly registering the information of these target TGs in the front-end target table 33 (FIG. 8). ..

実際上、マスタクラスタ制御部28からのかかる指示を受けたフロントエンド部20は、自ノードのメモリ11に格納されているフロントエンドターゲットテーブル33(図8)に新たな2つの行を追加し、これらの行のターゲット名欄33B(図8)、ターゲットIP欄33D(図8)及びホストボリューム番号欄33E(図8)に、それぞれステップS12で管理ノード4から与えられたターゲット作成要求において指定された新たなターゲットTGのターゲット名及びネットワークIP並びにホストボリュームHVOLのボリューム番号のうちの対応する情報をそれぞれ格納する。またフロントエンド部20は、これらの行のUUID欄33C(図8)に、それぞれ対応するターゲットTGに対して付与したクラスタ7内で固有のUUIDを格納する。 In practice, the front-end unit 20 that receives such an instruction from the master cluster control unit 28 adds two new rows to the front-end target table 33 (FIG. 8) stored in the memory 11 of the own node. The target name column 33B (FIG. 8), the target IP column 33D (FIG. 8), and the host volume number column 33E (FIG. 8) of these lines are each specified in the target creation request given by the management node 4 in step S12. The corresponding information of the target name and network IP of the new target TG and the volume number of the host volume HVOL is stored respectively. Further, the front end unit 20 stores the UUID unique to the cluster 7 assigned to the corresponding target TG in the UUID column 33C (FIG. 8) of these rows.

また、マスタクラスタ制御部28は、この後、ステップS5Aで作成したグローバルプールボリュームGVOLと、ステップS5Bで作成した内部ボリュームIVOLと、そのとき作成しようとするホストボリュームHVOLとをマッピングするよう自ノード内のフロントエンド部20に指示を与える(S14)。 After that, the master cluster control unit 28 in the own node so as to map the global pool volume GVOL created in step S5A, the internal volume IVOL created in step S5B, and the host volume HVOL to be created at that time. An instruction is given to the front end portion 20 of the above (S14).

かくして、この指示を受けたフロントエンド部20は、ステップS7で自ノード内のフロントエンドテーブルボリュームテーブル31(図6)に新たに追加した行のボリューム番号欄31A(図6)に、ターゲット作成要求において指定されたそのとき作成しようとするホストボリュームHVOLのボリューム番号を格納する。また、かかるフロントエンド部20は、そのホストボリュームHVOLにクラスタ7内で固有のUUIDを付与し、付与したUUIDをその行のUUID欄31B(図6)に格納する。 Thus, the front-end unit 20 that receives this instruction requests the target creation in the volume number column 31A (FIG. 6) of the row newly added to the front-end table volume table 31 (FIG. 6) in the own node in step S7. Stores the volume number of the host volume HVOL to be created at that time specified in. Further, the front end unit 20 assigns a unique UUID in the cluster 7 to the host volume HVOL, and stores the assigned UUID in the UUID column 31B (FIG. 6) of the row.

また、かかるフロントエンド部20は、上述と同様にして、ステップS7で自ノード内のグローバルプールボリュームテーブル35(図10)に新たに追加した行のターゲット番号欄35Bに、ターゲット作成要求において指定されたそのとき作成した各ターゲットTGのターゲット番号を格納すると共に、その行の各ホストボリューム番号欄35Cに、そのとき作成しようとするホストボリュームHVOLのボリューム番号を格納する。 Further, the front end unit 20 is designated in the target creation request in the target number column 35B of the row newly added to the global pool volume table 35 (FIG. 10) in the own node in step S7 in the same manner as described above. In addition to storing the target number of each target TG created at that time, the volume number of the host volume HVOL to be created at that time is stored in each host volume number column 35C of that line.

そしてマスタクラスタ制御部25は、上述のようにして要求されたターゲットTGの作成と、ステップS5Aで作成したグローバルプールボリュームGVOLと、ステップS5Bで作成した内部ボリュームIVOLと、そのとき作成しようとするホストボリュームHVOLとのマッピングを完了すると、ステップS13で更新したフロントエンドターゲットテーブル33の更新前後の差分と、ステップS14で更新したフロントエンドテーブルボリュームテーブル31及びグローバルプールボリュームテーブル35の更新前後の差分とをそれぞれ差分データとして、バックエンドネットワーク6を介してクラスタ7内の自ノード以外の各ストレージノード3にそれぞれ送信する(S15)。 Then, the master cluster control unit 25 creates the target TG requested as described above, the global pool volume GVOL created in step S5A, the internal volume IVOL created in step S5B, and the host to be created at that time. When the mapping with the volume HVOL is completed, the difference before and after the update of the front end target table 33 updated in step S13 and the difference before and after the update of the front end table volume table 31 and the global pool volume table 35 updated in step S14 are displayed. The difference data is transmitted to each storage node 3 other than the own node in the cluster 7 via the back-end network 6 (S15).

かくして、この差分データを受信した各ストレージノード3のフロントエンド部20は、当該差分データに基づいて、自ノード内のフロントエンドターゲットテーブル33と、フロントエンドテーブルボリュームテーブル31及びグローバルプールボリュームテーブル35とを、それぞれマスタクラスタ制御部25が配置されたストレージノード3内のフロントエンドターゲットテーブル33や、フロントエンドテーブルボリュームテーブル31及びグローバルプールボリュームテーブル35と同様に更新する(S16)。 Thus, the front-end unit 20 of each storage node 3 that has received the difference data includes the front-end target table 33 in the own node, the front-end table volume table 31, and the global pool volume table 35 based on the difference data. Is updated in the same manner as the front-end target table 33, the front-end table volume table 31, and the global pool volume table 35 in the storage node 3 in which the master cluster control unit 25 is arranged (S16).

また、これらのフロントエンド部20は、このようにして自ノード内のフロントエンドターゲットテーブル33や、フロントエンドテーブルボリュームテーブル31及びグローバルプールボリュームテーブル35を更新し終えると、その旨の完了通知をバックエンドネットワーク6を介してマスタクラスタ制御部25に送信する(S17)。 Further, when these front-end units 20 finish updating the front-end target table 33, the front-end table volume table 31, and the global pool volume table 35 in the own node in this way, they back up a completion notification to that effect. It is transmitted to the master cluster control unit 25 via the end network 6 (S17).

そしてマスタクラスタ制御部25は、クラスタ7内の自ノード以外のすべてのストレージノード3のフロントエンド部20から上述したステップS17の完了通知が与えられると、要求されたターゲットTGを作成し終えた旨の完了通知を管理ノード4に送信する(S18)。 Then, when the front end unit 20 of all the storage nodes 3 other than the own node in the cluster 7 gives the completion notification of step S17 described above, the master cluster control unit 25 has completed creating the requested target TG. The completion notification of is transmitted to the management node 4 (S18).

他方、管理ノード4は、かかるステップS18の完了通知がマスタクラスタ制御部25から与えられると、ステップS12〜ステップS18の処理により作成したターゲットTGと、そのターゲットTGに対応付けられたホストボリュームHVOLへのアクセスを許可するコンピュートノード2(イニシエータ)とを対応付けるべき旨のイニシエータ登録要求をマスタクラスタ制御部25に送信する(S19)。なお、このイニシエータ登録要求には、かかるコンピュートノード19のノード名と、かかるターゲットTGのターゲット名とが含まれる。 On the other hand, when the completion notification of step S18 is given from the master cluster control unit 25, the management node 4 sends the target TG created by the processes of steps S12 to S18 and the host volume HVOL associated with the target TG. A request for registering an initiator to the effect that it should be associated with the compute node 2 (initiator) that is allowed to access the above is transmitted to the master cluster control unit 25 (S19). The initiator registration request includes the node name of the compute node 19 and the target name of the target TG.

そしてマスタクラスタ制御部25は、このイニシエータ登録要求を受信すると、ステップS13で作成したターゲットTGにアクセス可能なイニシエータとしてイニシエータ登録要求において指定されたコンピュートノード2を登録するよう自ノード内のフロントエンド部20に指示を与える。かくして、この指示を受けたフロントエンド部20は、かかるターゲットTGにアクセス可能なイニシエータとして、かかるコンピュートノード2を登録する(S20)。具体的に、かかるフロントエンド部20は、自ノードのメモリ11(図2)に格納されているフロントエンドターゲットテーブル33のイニシエータ欄33F(図8)に、イニシエータ登録要求において指定されたコンピュートノード2のノード名を格納する。 Then, when the master cluster control unit 25 receives the initiator registration request, the master cluster control unit 25 is a front end unit in its own node so as to register the compute node 2 specified in the initiator registration request as an initiator that can access the target TG created in step S13. Give instructions to 20. Thus, the front-end unit 20 that receives this instruction registers the compute node 2 as an initiator that can access the target TG (S20). Specifically, the front-end unit 20 is the compute node 2 specified in the initiator registration request in the initiator column 33F (FIG. 8) of the front-end target table 33 stored in the memory 11 (FIG. 2) of the own node. Stores the node name of.

そしてマスタクラスタ部25は、以上のようにしてかかるターゲットTGにアクセス可能なイニシエータとしてかかるコンピュートノード2を登録し終えると、そのフロントエンドターゲットテーブル33の更新前後の差分を差分データとして、バックエンドネットワーク6を介してクラスタ7内の自ノード以外の各ストレージノード3にそれぞれ送信する(S21)。 Then, when the master cluster unit 25 finishes registering the compute node 2 as an initiator that can access the target TG as described above, the difference before and after the update of the front-end target table 33 is used as the difference data in the back-end network. It is transmitted to each storage node 3 other than the own node in the cluster 7 via 6 (S21).

かくして、この差分データを受信した各ストレージノード3のフロントエンド部20は、当該差分データに基づいて、自ノード内のフロントエンドターゲットテーブル33をマスタクラスタ制御部25が配置されたストレージノード3内のフロントエンドターゲットテーブル33と同様に更新する(S22)。 Thus, the front-end unit 20 of each storage node 3 that has received the difference data sets the front-end target table 33 in its own node in the storage node 3 in which the master cluster control unit 25 is arranged based on the difference data. It is updated in the same manner as the front end target table 33 (S22).

また、これらのフロントエンド部20は、このようにして自ノード内のフロントエンドターゲットテーブル33を更新し終えると、その旨の完了通知をバックエンドネットワーク6を介してマスタクラスタ制御部25に送信する(S23)。 Further, when these front-end units 20 finish updating the front-end target table 33 in the own node in this way, they transmit a completion notification to that effect to the master cluster control unit 25 via the back-end network 6. (S23).

そしてマスタクラスタ制御部25は、クラスタ7内の自ノード以外のすべてのストレージノード3のフロントエンド部20から上述したステップS23の完了通知が与えられると、要求されたイニシエータの登録が完了した旨の完了通知を管理ノード4に送信する(S24)。以上により、この一連の処理が完了する。 Then, when the front end unit 20 of all the storage nodes 3 other than the own node in the cluster 7 gives the completion notification of step S23 described above, the master cluster control unit 25 indicates that the registration of the requested initiator has been completed. The completion notification is transmitted to the management node 4 (S24). As described above, this series of processing is completed.

(4)ストレージノードの障害発生時や増設時における処理の流れ
次に、本情報処理システム1において、クラスタ7を構成するいずれかのストレージノード3に障害が発生した場合や、クラスタ7にストレージノード3が増設された場合における処理の流れについて説明する。
(4) Flow of processing when a failure of a storage node occurs or when an expansion occurs Next, in the information processing system 1, when a failure occurs in any of the storage nodes 3 constituting the cluster 7, or a storage node in the cluster 7. The flow of processing when 3 is added will be described.

(4−1)ストレージノード障害発生時の処理の流れ
図13は、クラスタ7を構成するいずれかのストレージノード3に障害が発生した場合に、クラスタ7内で実行される一連の処理の流れを示す。
(4-1) Flow of processing when a storage node failure occurs FIG. 13 shows a series of processing flows executed in the cluster 7 when a failure occurs in any of the storage nodes 3 constituting the cluster 7. show.

本実施の形態の場合、マスタクラスタ制御部25は、各ストレージノード3に対する定期的なヘルスチェックを実行している。そして、マスタクラスタ制御部25は、かかるヘルスチェックの際にいずれかのストレージノード3に障害が発生したことを検出すると、障害が発生したストレージノード(以下、これを障害ストレージノードと呼ぶ)3に配置されていたアクティブストレージ制御部21と同じストレージ制御部ペア28を構成していた他方のストレージ制御部(パッシブストレージ制御部)21を特定する(S30)。 In the case of this embodiment, the master cluster control unit 25 executes a periodic health check for each storage node 3. Then, when the master cluster control unit 25 detects that a failure has occurred in any of the storage nodes 3 during such a health check, the master cluster control unit 25 determines the failed storage node (hereinafter, this is referred to as a failed storage node) 3. The other storage control unit (passive storage control unit) 21 that constitutes the same storage control unit pair 28 as the arranged active storage control unit 21 is specified (S30).

具体的に、マスタクラスタ制御部25は、ストレージ制御部ペアテーブル30(図5)を参照して、当該ストレージ制御部ペアテーブル30の各行のうち、アクティブ欄30B(図5)のノード番号欄30BA(図5)に障害ストレージノード3のノード番号が格納されている行を特定し、その行におけるパッシブ欄30C(図5)のストレージ制御部番号欄30CB(図5)に格納されているストレージ制御部番号と、当該パッシブ欄30Cのノード番号欄30CA(図5)に格納されているノード番号とを取得する。 Specifically, the master cluster control unit 25 refers to the storage control unit pair table 30 (FIG. 5), and among the rows of the storage control unit pair table 30, the node number column 30BA of the active column 30B (FIG. 5). A row in which the node number of the failed storage node 3 is stored is specified in (FIG. 5), and the storage control stored in the storage control unit number column 30CB (FIG. 5) of the passive column 30C (FIG. 5) in that row is specified. The part number and the node number stored in the node number column 30CA (FIG. 5) of the passive column 30C are acquired.

続いて、マスタクラスタ制御部25は、ステップS30で特定したストレージ制御部21の状態をアクティブモードに切り替える(S31)。具体的に、マスタクラスタ制御部25は、ストレージ制御部ペアテーブル30の各行のうち、ステップS30で特定した行のアクティブ欄30B(図5)のノード番号欄30BA(図5)及びストレージ制御部番号欄30BB(図5)に、ステップS30で取得したノード番号及びストレージ制御部番号のうちの対応する番号をそれぞれ格納する。またマスタクラスタ制御部25は、このようにして更新したストレージ制御部ペアテーブル30の更新前後の差分の差分データをクラスタ7内の自ノード以外の各ストレージノード3にそれぞれ送信することにより、これら各ストレージノード3内のストレージ制御部ペアテーブル30を同様に更新させる。 Subsequently, the master cluster control unit 25 switches the state of the storage control unit 21 specified in step S30 to the active mode (S31). Specifically, the master cluster control unit 25 has the node number column 30BA (FIG. 5) and the storage control unit number of the active column 30B (FIG. 5) of the row specified in step S30 among the rows of the storage control unit pair table 30. The corresponding number of the node number and the storage control unit number acquired in step S30 is stored in the column 30BB (FIG. 5). Further, the master cluster control unit 25 transmits the difference data of the difference before and after the update of the storage control unit pair table 30 updated in this way to each storage node 3 other than the own node in the cluster 7, respectively. The storage control unit pair table 30 in the storage node 3 is updated in the same manner.

さらにマスタクラスタ制御部25は、ステップS30で取得したノード番号が付与されたストレージノード3内の上述のようにして取得したストレージ制御部番号が付与されたストレージ制御部21を起動し(S32)、そのストレージ制御部21に必要な障害時処理を実行させる(S33)。 Further, the master cluster control unit 25 activates the storage control unit 21 to which the storage control unit number acquired as described above is assigned in the storage node 3 to which the node number acquired in step S30 is assigned (S32). The storage control unit 21 is made to execute the necessary failure processing (S33).

一方、マスタクラスタ制御部25は、ステップS30で特定したノード番号のストレージノード3に実装されたフロントエンド部20に対しても、ステップS31の障害時処理実行指示と同様の障害時処理実行指示をバックエンドネットワーク6を介して送信する(S34)。 On the other hand, the master cluster control unit 25 also issues a failure processing execution instruction similar to the failure processing execution instruction in step S31 to the front end unit 20 mounted on the storage node 3 having the node number specified in step S30. It is transmitted via the back-end network 6 (S34).

そして、この障害時処理実行指示を受信したフロントエンド部20は、ステップS32でアクティブモードに切り替えられたストレージ制御部21と対応付けられていた内部ボリュームIVOLの対応先を、ステップS32でアクティブモードに切り替えられたストレージ制御部21に切り替えるための障害時処理を実行する(S35)。 Then, the front end unit 20 that has received the failure processing execution instruction changes the corresponding destination of the internal volume IVOL associated with the storage control unit 21 that was switched to the active mode in step S32 to the active mode in step S32. A failure time process for switching to the switched storage control unit 21 is executed (S35).

具体的に、かかるフロントエンド部20は、自ノード内のフロントエンドテーブルボリュームテーブル31について、まず、それまで自ストレージ制御部21とストレージ制御部ペア28を構成していたアクティブストレージ制御部21のストレージ制御部番号がストレージ制御部番号欄31F(図6)に格納されている行を特定する。 Specifically, regarding the front-end table volume table 31 in the own node, the front-end unit 20 first stores the storage of the active storage control unit 21 which has previously configured the own storage control unit 21 and the storage control unit pair 28. The line in which the control unit number is stored in the storage control unit number column 31F (FIG. 6) is specified.

そしてフロントエンド部20は、その行のアクティブ側ノード特定情報欄31E(図6)に格納されているノード特定情報を自ノードのノード特定情報に更新すると共に、その行のストレージ制御部番号欄31Fに格納されているストレージ制御部番号をステップS31でアクティブモードに切り替えたストレージ制御部21のストレージ制御部番号に更新する。また、かかるフロントエンド部20は、その行の仮想ポート番号欄31G(図6)に格納されているポート番号を、ステップS31でアクティブモードに切り替えたストレージ制御部21の仮想ポートVPT(図4)であって、対応するホストボリュームHVOLと対応付けられた仮想ポートVPTのポート番号に更新する。 Then, the front-end unit 20 updates the node identification information stored in the active side node identification information column 31E (FIG. 6) of the row to the node identification information of its own node, and at the same time, updates the storage control unit number column 31F of that row. The storage control unit number stored in is updated to the storage control unit number of the storage control unit 21 whose active mode is switched in step S31. Further, the front-end unit 20 switches the port number stored in the virtual port number column 31G (FIG. 6) of the row to the active mode in step S31, and the virtual port VPT of the storage control unit 21 (FIG. 4). The port number of the virtual port VPT associated with the corresponding host volume HVOL is updated.

また、かかるフロントエンド部20は、自ノード内のマッピングテーブル32(図7)について、まず、それまで自ストレージ制御部21とストレージ制御部ペア28を構成していたアクティブストレージ制御部21のストレージ制御部番号がストレージ制御部番号欄32E(図6)に格納されている行を特定する。そしてフロントエンド部20は、その行のノード番号欄32D(図6)に格納されているノード番号を自ノードのノード番号に書き換える。また、かかるフロントエンド部20は、その行のストレージ制御部番号欄32Eに格納されているストレージ制御部番号を、ステップS31でアクティブモードに切り替えたストレージ制御部21のストレージ制御部番号に書き換える。 Further, the front-end unit 20 first controls the storage of the active storage control unit 21 which has previously configured the storage control unit 21 and the storage control unit pair 28 with respect to the mapping table 32 (FIG. 7) in the own node. The line in which the unit number is stored in the storage control unit number field 32E (FIG. 6) is specified. Then, the front end unit 20 rewrites the node number stored in the node number column 32D (FIG. 6) of that line to the node number of its own node. Further, the front-end unit 20 rewrites the storage control unit number stored in the storage control unit number column 32E of that line to the storage control unit number of the storage control unit 21 switched to the active mode in step S31.

さらに、かかるフロントエンド部20は、フロントエンドターゲットテーブル33(図8)について、障害ストレージノード3内に定義された対応する内部ボリュームIVOLと対応付けられたホストボリュームHVOLのボリューム番号がホストボリューム番号リスト欄33Eに格納されている行を特定する。そしてフロントエンド部20は、その行のターゲットID欄33Dに格納されているIPアドレスを、自ノード内の物理ポートPPT(図4)であって、かかるホストボリュームHVOLと対応付けられた物理ポートPPTのIPアドレスに書き換える。 Further, in the front-end unit 20, the volume number of the host volume HVOL associated with the corresponding internal volume IVOL defined in the fault storage node 3 is the host volume number list of the front-end target table 33 (FIG. 8). Identify the line stored in column 33E. Then, the front-end unit 20 sets the IP address stored in the target ID column 33D of that line to the physical port PPT (FIG. 4) in the own node and is associated with the host volume HVOL. Rewrite to the IP address of.

そしてマスタクラスタ制御部25は、このようにして更新されたフロントエンドテーブルボリュームテーブル31、マッピングテーブル32及びフロントエンドターゲットテーブル33の更新前後の差分の差分データをクラスタ7内の自ノード以外の各ストレージノード3のフロントエンド部20にそれぞれ送信することにより、これら各ストレージノード3内のフロントエンドテーブルボリュームテーブル31、マッピングテーブル32及びフロントエンドターゲットテーブル33を同様に更新させる。 Then, the master cluster control unit 25 stores the difference data of the differences before and after the update of the front-end table volume table 31, the mapping table 32, and the front-end target table 33 updated in this way for each storage other than the own node in the cluster 7. By transmitting to the front-end unit 20 of the node 3, the front-end table volume table 31, the mapping table 32, and the front-end target table 33 in each of the storage nodes 3 are similarly updated.

なお、図13には示されていないが、マスタクラスタ制御部25は、ステップS31及びステップS32の処理と併せて、障害ストレージノード3に配置されていたアクティブストレージ制御部21に代えて、ステップS32でアクティブモードに切り替えたストレージ制御部21と共に新たにストレージ制御部ペア28を構成すべきストレージ制御部21を選択する。 Although not shown in FIG. 13, the master cluster control unit 25 replaces the active storage control unit 21 arranged in the failure storage node 3 with the processing of steps S31 and S32 in step S32. Select the storage control unit 21 to newly configure the storage control unit pair 28 together with the storage control unit 21 switched to the active mode in.

このようなストレージ制御部21は、クラスタ7内の障害ストレージノード3以外のいずれかのストレージノード3に配置されたそのとき未使用のストレージ制御部21(いずれのストレージ制御部21ともストレージ制御部ペア28に設定されていないストレージ制御部21)のうち、ステップS32でアクティブモードに切り替えられたストレージ制御部21が配置されたストレージノード3以外のストレージノード3に配置されたストレージ制御部21の中から選択される。 Such a storage control unit 21 is arranged in any storage node 3 other than the failed storage node 3 in the cluster 7, and is a storage control unit 21 that is unused at that time (both storage control units 21 are paired with the storage control unit 21). Among the storage control units 21) not set in 28, among the storage control units 21 arranged in the storage node 3 other than the storage node 3 in which the storage control unit 21 switched to the active mode in step S32 is arranged. Be selected.

そしてマスタクラスタ制御部25は、このようにして選択したストレージ制御部21と、ステップS32でアクティブモードに切り替えたストレージ制御部21とを新たなストレージ制御部ペア28に設定すべくストレージ制御部ペアテーブル30(図5)及びフロントエンドテーブルボリュームテーブル31(図6)を更新する。 Then, the master cluster control unit 25 sets the storage control unit 21 selected in this way and the storage control unit 21 switched to the active mode in step S32 as a new storage control unit pair 28 in the storage control unit pair table. 30 (FIG. 5) and front-end table volume table 31 (FIG. 6) are updated.

具体的に、マスタクラスタ制御部25は、ストレージ制御部ペアテーブル30については、アクティブ欄30B(図5)のノード番号欄30BA(図5)及びストレージ制御部番号欄30BB(図5)にそれぞれステップS30で取得したノード番号及びストレージ制御部番号がそれぞれ格納されている行を特定し、その行のパッシブ欄30C(図5)のストレージ制御部番号欄30CB(図5)に格納されたストレージ制御部番号を、上述のようにして選択したストレージ制御部21のストレージ制御部番号に書き換えると共に、そのパッシブ欄30Cのノード番号欄30CA(図5)に格納されたノード番号を、そのストレージ制御部21が配置されたストレージノード3のノード番号に書き換える。 Specifically, the master cluster control unit 25 steps the storage control unit pair table 30 into the node number column 30BA (FIG. 5) and the storage control unit number column 30BB (FIG. 5) of the active column 30B (FIG. 5), respectively. The row in which the node number and the storage control unit number acquired in S30 are stored is specified, and the storage control unit stored in the storage control unit number column 30CB (FIG. 5) of the passive column 30C (FIG. 5) of that row is specified. The number is rewritten to the storage control unit number of the storage control unit 21 selected as described above, and the storage control unit 21 replaces the node number stored in the node number column 30CA (FIG. 5) of the passive column 30C with the storage control unit number. Rewrite with the node number of the arranged storage node 3.

またマスタクラスタ制御部25は、フロントエンドテーブルボリュームテーブル31については、自ノード内のフロントエンド部20を介して、対応する行の第1及び第2のノード特定情報欄31C,31Dのいずれかに格納されている障害ストレージノード3のノード番号を、上述のようにして選択したストレージ制御部21が配置されたストレージノード3のノード番号に書き換える。 Further, the master cluster control unit 25 sets the front-end table volume table 31 to either the first or second node specific information fields 31C or 31D of the corresponding row via the front-end unit 20 in the own node. The node number of the stored fault storage node 3 is rewritten to the node number of the storage node 3 in which the storage control unit 21 selected as described above is arranged.

そして、マスタクラスタ制御部25は、このようにして更新されたストレージ制御部ペアテーブル30及びフロントエンドテーブルボリュームテーブル31の更新前後の差分の差分データをクラスタ7内の自ノード以外のストレージノード3にそれぞれ送信することにより、これらストレージノード3内のストレージ制御部ペアテーブル30及びフロントエンドテーブルボリュームテーブル31を同様に更新させる。 Then, the master cluster control unit 25 transfers the difference data of the differences before and after the update of the storage control unit pair table 30 and the front end table volume table 31 updated in this way to the storage nodes 3 other than the own node in the cluster 7. By transmitting each of them, the storage control unit pair table 30 and the front-end table volume table 31 in the storage node 3 are similarly updated.

(4−2)ストレージノード増設時の処理の流れ
一方、図14は、クラスタ7内にストレージノード3が増設された場合にそのクラスタ7内で実行される一連の処理の流れを示す。
(4-2) Flow of processing at the time of adding a storage node On the other hand, FIG. 14 shows a flow of a series of processing executed in the cluster 7 when the storage node 3 is added to the cluster 7.

クラスタ7にストレージノード3を増設した場合、システム管理者は、これを管理ノード4を介してマスタクラスタ制御部25に通知する。そして、この通知を受信したマスタクラスタ制御部25は、ストレージノード3間の負荷を分散させるため、増設されたストレージノード(以下、これを増設ストレージノードと呼ぶ)3に移動させるべきストレージ制御部(以下、これを移動対象ストレージ制御部と呼ぶ)21を選択する(S40)。 When the storage node 3 is added to the cluster 7, the system administrator notifies the master cluster control unit 25 via the management node 4. Then, the master cluster control unit 25 that has received this notification should move the storage control unit (hereinafter, referred to as an additional storage node) 3 to the added storage node 3 in order to distribute the load between the storage nodes 3 (hereinafter, this is referred to as an additional storage node). Hereinafter, this is referred to as a movement target storage control unit) 21 is selected (S40).

例えば、マスタクラスタ制御部24は、クラスタ7内のストレージ制御部21のうち、最も負荷が高いストレージノード3に配置されたアクティブストレージ制御部21を上述の移動対象ストレージ制御部21として選択する。 For example, the master cluster control unit 24 selects the active storage control unit 21 arranged on the storage node 3 having the highest load among the storage control units 21 in the cluster 7 as the storage target storage control unit 21 described above.

そしてマスタクラスタ制御部25は、この後、増設ストレージノード3に配置されたそのとき未使用のいずれか1つのストレージ制御部21と、ステップS40で選択した移動対象ストレージ制御部21とを入れ替えるための処理を実行する(S41〜S45)。 Then, the master cluster control unit 25 then replaces any one of the storage control units 21 that is unused at that time, which is arranged in the expansion storage node 3, with the movement target storage control unit 21 selected in step S40. The process is executed (S41 to S45).

具体的に、マスタクラスタ制御部25は、まず、増設ストレージノード3のステップS40で選択したストレージ制御部(以下、これを選択ストレージ制御部と呼ぶ)21を起動し(S41)、その選択ストレージ制御部21に、移動対象ストレージ制御部21がそれまで実行していた処理を引き継がせるための所定の増設時処理を実行させる(S42)。 Specifically, the master cluster control unit 25 first activates the storage control unit (hereinafter, referred to as the selected storage control unit) 21 selected in step S40 of the expansion storage node 3 (S41), and controls the selected storage. (S42) causes the unit 21 to execute a predetermined expansion processing for taking over the processing previously executed by the movement target storage control unit 21 (S42).

またマスタクラスタ制御部25は、当該移動対象ストレージ制御部21がそれまで実行していた処理を選択ストレージ制御部21に引き継がせるための所定の増設時処理を移動対象ストレージ制御部21に実行させる(S41,S42)。なお、この増設時処理には、ストレージ制御部ペアテーブル30(図5)、フロントエンドテーブルボリュームテーブル31(図6)、マッピングテーブル32(図7)、フロントエンドターゲットテーブル33(図8)及びグローバルプールボリュームテーブル35(図10)の各データを増設ストレージノード3のフロントエンド部20に転送する処理も含まれる。 Further, the master cluster control unit 25 causes the movement target storage control unit 21 to execute a predetermined expansion processing for allowing the selection storage control unit 21 to take over the processing previously executed by the movement target storage control unit 21 (the movement target storage control unit 21). S41, S42). For this expansion processing, the storage control unit pair table 30 (FIG. 5), the front-end table volume table 31 (FIG. 6), the mapping table 32 (FIG. 7), the front-end target table 33 (FIG. 8), and the global A process of transferring each data of the pool volume table 35 (FIG. 10) to the front end portion 20 of the expansion storage node 3 is also included.

この後、マスタクラスタ制御部25は、自ノード内のフロントエンド部20に対して、移動対象ストレージ制御部21と対応付けられていた内部ボリュームIVOLの対応先を選択ストレージ制御部21に切り替えることを含めて、増設ストレージノード3における選択ストレージ制御部21の環境を、移動対象ストレージ制御部21が配置されたストレージノード3における当該移動対象ストレージ制御部21の環境と同じに設定するよう指示を与える(S43)。 After that, the master cluster control unit 25 switches the correspondence destination of the internal volume IVOL associated with the movement target storage control unit 21 to the selection storage control unit 21 for the front end unit 20 in the own node. Including, an instruction is given to set the environment of the selected storage control unit 21 in the expansion storage node 3 to be the same as the environment of the movement target storage control unit 21 in the storage node 3 in which the movement target storage control unit 21 is arranged ( S43).

かくしてこの指示を受けたフロントエンド部20は、自ノードのメモリ11(図2)に格納されているストレージ制御部ペアテーブル30(図5)、フロントエンドテーブルボリュームテーブル31(図6)、マッピングテーブル32(図7)、フロントエンドターゲットテーブル33(図8)及びグローバルプールボリュームテーブル35(図10)を、必要に応じてそのように更新する(S44)。 The front-end unit 20 that receives this instruction thus receives the storage control unit pair table 30 (FIG. 5), the front-end table volume table 31 (FIG. 6), and the mapping table stored in the memory 11 (FIG. 2) of the own node. 32 (FIG. 7), the front-end target table 33 (FIG. 8), and the global pool volume table 35 (FIG. 10) are updated as necessary (S44).

具体的に、かかるフロントエンド部20は、ストレージ制御部ペアテーブル30については、まず、移動対象ストレージ制御部21のストレージ制御部番号がアクティブ欄30B(図5)のストレージ制御部番号欄30BB(図5)に格納されている行を特定する。そして、かかるフロントエンド部20は、その行のアクティブ欄30Bのノード番号欄30BA(図5)に格納されているノード番号を、増設ストレージノード3のノード番号に書き換えると共に、当該アクティブ欄30Bのストレージ制御部番号欄30BB(図5)に格納されているストレージ制御部番号を、選択ストレージ制御部21のストレージ制御部番号に書き換える。 Specifically, regarding the storage control unit pair table 30, the front-end unit 20 first has a storage control unit number column 30BB (FIG. 5) in which the storage control unit number of the storage control unit 21 to be moved is the active column 30B (FIG. 5). Identify the line stored in 5). Then, the front-end unit 20 rewrites the node number stored in the node number column 30BA (FIG. 5) of the active column 30B of the row to the node number of the additional storage node 3 and stores the active column 30B. The storage control unit number stored in the control unit number field 30BB (FIG. 5) is rewritten with the storage control unit number of the selected storage control unit 21.

またフロントエンド部20は、フロントエンドテーブルボリュームテーブル31については、まず、移動対象ストレージ制御部21のストレージ制御部番号がストレージ制御部番号欄31F(図6)に格納されている行を特定する。 Further, regarding the front end table volume table 31, the front end unit 20 first identifies a row in which the storage control unit number of the storage control unit 21 to be moved is stored in the storage control unit number column 31F (FIG. 6).

そしてフロントエンド部20は、その行の第1及び第2のノード特定情報欄31C,31D(図6)のいずれかに格納されている、移動対象ストレージ制御部21が配置されたストレージノード3のノード特定情報と、アクティブ側ノード特定情報欄31E(図6)に格納されている当該ストレージノード3のノード特定情報とを、それぞれ増設ストレージノード3のノード特定情報に書き換える。 Then, the front end unit 20 is a storage node 3 in which the storage target storage control unit 21 to be moved is arranged, which is stored in any of the first and second node specific information fields 31C and 31D (FIG. 6) of the row. The node identification information and the node identification information of the storage node 3 stored in the active side node identification information column 31E (FIG. 6) are rewritten into the node identification information of the additional storage node 3, respectively.

またフロントエンド部20は、その行のストレージ制御部番号欄31Fに格納されているストレージ制御部番号を、選択ストレージ制御部21のストレージ制御部番号に書き換える。さらにフロントエンド部20は、その行の仮想ポート番号欄31G(図6)に格納されている仮想ポート番号を、それまで移動対象ストレージ制御部21が対応付けられていた対応するホストボリュームHVOLに対応させて選択ストレージ制御部21に定義した仮想ポートVPT(図4)の仮想ポート番号に書き換える。 Further, the front end unit 20 rewrites the storage control unit number stored in the storage control unit number field 31F of the line to the storage control unit number of the selected storage control unit 21. Further, the front-end unit 20 corresponds to the virtual port number stored in the virtual port number column 31G (FIG. 6) of the row to the corresponding host volume HVOL to which the storage control unit 21 to be moved has been associated. Then, the virtual port number of the virtual port VPT (FIG. 4) defined in the selected storage control unit 21 is rewritten.

さらに、かかるフロントエンド部20は、マッピングテーブル32については、まず、移動対象ストレージ制御部21のストレージ制御部番号がストレージ制御部番号欄32E(図7)に格納されている行を特定する。そしてフロントエンド部20は、その行のそのストレージ制御部番号欄32Eに格納されているストレージ制御部番号を、選択ストレージ制御部番号に書き換える。またフロントエンド部20は、その行のノード番号欄32D(図7)に格納されているノード番号を、増設ストレージノード3のノード番号に書き換える。 Further, in the mapping table 32, the front end unit 20 first identifies a row in which the storage control unit number of the storage control unit 21 to be moved is stored in the storage control unit number column 32E (FIG. 7). Then, the front end unit 20 rewrites the storage control unit number stored in the storage control unit number field 32E of the line to the selected storage control unit number. Further, the front end unit 20 rewrites the node number stored in the node number column 32D (FIG. 7) of that line to the node number of the additional storage node 3.

さらに、かかるフロントエンド部20は、フロントエンドターゲットテーブル33については、まず、ホストボリューム番号リスト欄33E(図8)に対応するホストボリュームHVOLのボリューム番号が格納されている行を特定する。なお、かかるボリューム番号は、例えば、上述のようにしてマッピングテーブル32で特定した行のホストボリューム番号欄32A格納されたボリューム番号として取得することができる。 Further, in the front-end target table 33, the front-end unit 20 first identifies a row in which the volume number of the host volume HVOL corresponding to the host volume number list column 33E (FIG. 8) is stored. The volume number can be obtained, for example, as the volume number stored in the host volume number column 32A of the row specified in the mapping table 32 as described above.

そしてフロントエンド部20は、その行のターゲットIP欄33Dに格納されているIPアドレスを、増設ストレージノード3においてかかる対応するホストボリュームHVOLと対応付ける物理ポートPPT(図4)のストレージサービスネットワーク5(図1)上のIPアドレスに書き換える。 Then, the front end unit 20 associates the IP address stored in the target IP column 33D of that line with the corresponding host volume HVOL in the expansion storage node 3 and stores the storage service network 5 (FIG. 4) of the physical port PPT (FIG. 4). 1) Rewrite to the above IP address.

そして、マスタクラスタ制御部25は、このようにしてストレージ制御部ペアテーブル30、フロントエンドテーブルボリュームテーブル31、マッピングテーブル32及びフロントエンドターゲットテーブル33の更新が完了すると、更新されたこれらストレージ制御部ペアテーブル30、フロントエンドテーブルボリュームテーブル31、マッピングテーブル32)及びフロントエンドターゲットテーブル33の更新前後の差分の差分データをクラスタ7内の自ノード以外のストレージノード3にそれぞれ送信することにより、これらストレージ制御部ペアテーブル30、フロントエンドテーブルボリュームテーブル31、マッピングテーブル32及びフロントエンドターゲットテーブル33を同様に更新させる。 Then, when the master cluster control unit 25 completes the update of the storage control unit pair table 30, the front-end table volume table 31, the mapping table 32, and the front-end target table 33 in this way, the updated storage control unit pair Storage control by transmitting the difference data of the difference before and after the update of the table 30, the front-end table volume table 31, the mapping table 32) and the front-end target table 33 to the storage nodes 3 other than the own node in the cluster 7, respectively. The part pair table 30, the front-end table volume table 31, the mapping table 32, and the front-end target table 33 are updated in the same manner.

またマスタクラスタ制御部25は、選択ストレージ制御部21にアクセスして、当該選択ストレージ制御部21が保持するストレージ制御部構成情報テーブル34の仮想ポート番号欄34A(図9)及び内部ボリューム番号欄34B(図9)に、自ノード内のフロントエンドテーブルボリュームテーブル31の仮想ポート番号欄31G(図6)及び内部ボリューム番号欄31H(図6)にそれぞれ格納されている値と同じ値を格納する。 Further, the master cluster control unit 25 accesses the selected storage control unit 21 and holds the virtual port number column 34A (FIG. 9) and the internal volume number column 34B of the storage control unit configuration information table 34 held by the selected storage control unit 21. (FIG. 9) stores the same values as those stored in the virtual port number column 31G (FIG. 6) and the internal volume number column 31H (FIG. 6) of the front-end table volume table 31 in the own node.

以上の処理により、増設ストレージノード3における選択ストレージ制御部21の環境が、移動対象ストレージ制御部21が配置されたストレージノード3における当該移動対象ストレージ制御部21の環境と同じに設定される。 By the above processing, the environment of the selected storage control unit 21 in the expansion storage node 3 is set to be the same as the environment of the movement target storage control unit 21 in the storage node 3 in which the movement target storage control unit 21 is arranged.

一方、コンピュートノード2は、この後、システム管理者の操作入力に基づいて管理ノード4から与えられる指示に応じて、自ノードからステップS44の増設処理で増設ストレージノード3内に定義された対応するターゲットTGまでのパスを設定するパス増設処理を実行する(S46)。またコンピュートノード2は、このようにして設定したパスを経由して、増設ストレージノード3のフロントエンド部20に対してそのターゲットTGにログインしたい旨のログイン要求を送信する(S47)。 On the other hand, after that, the compute node 2 responds to the instruction given from the management node 4 based on the operation input of the system administrator, and corresponds to the corresponding definition defined in the expansion storage node 3 by the expansion process in step S44 from the own node. The path expansion process for setting the path to the target TG is executed (S46). Further, the compute node 2 transmits a login request to the front end unit 20 of the additional storage node 3 to log in to the target TG via the path set in this way (S47).

そして増設ストレージノード3のフロントエンド部20は、このログイン要求を受信すると、当該ログイン要求に応じたログイン処理を実行し(S48)、その処理結果をログイン要求の送信元のコンピュートノード2に送信する(S49)。 When the front-end unit 20 of the additional storage node 3 receives this login request, it executes a login process according to the login request (S48), and transmits the processing result to the compute node 2 that is the source of the login request. (S49).

(5)本情報処理システムにおけるライト処理及びリード処理の流れ
(5−1)ライト処理の流れ
次に本情報処理システム1におけるライト処理の流れについて説明する。図15は、コンピュートノード2からクラスタ7を構成するいずれかのストレージノード3に対してライト要求が与えられた場合に当該クラスタ7内で実行されるライト処理の流れを示す。以下においては、クラスタ7内でライト要求を受信したストレージノード3を、適宜、「ライト要求受信ノード」と呼ぶものとする。
(5) Flow of write processing and read processing in this information processing system (5-1) Flow of write processing Next, the flow of write processing in this information processing system 1 will be described. FIG. 15 shows a flow of write processing executed in the cluster 7 when a write request is given to any storage node 3 constituting the cluster 7 from the compute node 2. In the following, the storage node 3 that has received the write request in the cluster 7 will be appropriately referred to as a “write request receiving node”.

なお、ライト要求では、上述のようにライト先のホストボリュームHVOLのボリューム番号と、そのホストボリュームHVOLにおけるライト先の記憶領域の先頭アドレスと、ライト対象のデータ(以下、これをライトデータと呼ぶ)のデータ長とが指定される。 In the write request, as described above, the volume number of the host volume HVOL of the write destination, the start address of the storage area of the write destination in the host volume HVOL, and the data to be written (hereinafter, this is referred to as write data). The data length of is specified.

そして、「ライト要求受信ノード」の第1の通信装置13は、かかるライト要求を受信すると(S50)、受信したライト要求を自ノード内のフロントエンド部20に転送する(S51)。またフロントエンド部20は、転送されてきたライト要求に基づいて、必要な容量のバッファ領域をメモリ11(図2)上に確保し(S52)、その後、バッファ領域を確保し終えた旨の完了通知を第1の通信装置13を介してライト要求の送信元のコンピュートノード2に送信する(S53,S54)。 Then, when the first communication device 13 of the "write request receiving node" receives the write request (S50), the first communication device 13 transfers the received write request to the front end unit 20 in the own node (S51). Further, the front end unit 20 secures a buffer area having a required capacity on the memory 11 (FIG. 2) based on the transferred write request (S52), and then completes the process of securing the buffer area. The notification is transmitted to the compute node 2 that is the source of the write request via the first communication device 13 (S53, S54).

また「ライト要求受信ノード」の第1の通信装置13は、この後、かかるコンピュートノード2からライトデータが転送されてくると(S55)、このライトデータを自ノード内のフロントエンド部20に転送する(S56)。 Further, when the write data is transferred from the compute node 2 (S55), the first communication device 13 of the "write request receiving node" transfers the write data to the front end unit 20 in the own node. (S56).

このライトデータを受領したフロントエンド部20は、受領したライトデータをステップS52で確保したバッファ領域に格納し(S57)、この後、そのライト要求に従ったライト処理が自ノードにおいて実行されるべき処理であるか否かを判定する(S58)。 The front end unit 20 that has received the write data stores the received write data in the buffer area secured in step S52 (S57), and after that, the write process according to the write request should be executed in the own node. It is determined whether or not it is a process (S58).

この判断は、マッピングテーブル32(図7)の各行のうち、ライト要求においてライト先として指定されたホストボリュームHVOLに対応する行のノード番号欄32D(図7)を参照して行われる。具体的に、フロントエンド部20は、かかるノード番号欄32Dに格納されたノード番号が自ノードのノード番号であった場合には、そのライト要求に従ったライト処理が自ノードにおいて実行されるべき処理であると判定する。またフロントエンド部20は、かかるノード番号欄32Dに格納されたノード番号が他のストレージノード3のノード番号であった場合には、そのライト要求に基づくライト処理が当該他のストレージノード3において実行されるべき処理であると判定する。 This determination is made by referring to the node number column 32D (FIG. 7) of the row corresponding to the host volume HVOL specified as the write destination in the write request among the rows of the mapping table 32 (FIG. 7). Specifically, when the node number stored in the node number field 32D is the node number of the own node, the front end unit 20 should execute the write process according to the write request in the own node. Judge that it is a process. Further, when the node number stored in the node number field 32D is the node number of the other storage node 3, the front end unit 20 executes the write process based on the write request on the other storage node 3. It is determined that the process should be performed.

そしてフロントエンド部20は、ステップS58において、そのライト要求に応じたライト処理が自ノードにおいて実行されるべきと判定した場合には、自ノード内のマッピングテーブル32におけるライト要求においてライト先として指定されたホストボリュームHVOLに対応する行のストレージ制御部番号欄32E(図7)に格納されたストレージ制御部番号を取得し、そのストレージ制御部番号が付与された自ノード内のストレージ制御部(アクティブストレージ制御部)21にそのライト要求を転送する(S59)。なおフロントエンド部20は、この際、そのライト要求に含まれるライト先のホストボリュームHVOLのボリューム番号を、当該ホストボリュームHVOLと対応付けられた内部ボリュームIVOLのボリューム番号に書き換える。 Then, when it is determined in step S58 that the write process corresponding to the write request should be executed in the own node, the front end unit 20 is designated as the write destination in the write request in the mapping table 32 in the own node. The storage control unit number stored in the storage control unit number field 32E (FIG. 7) of the row corresponding to the host volume HVOL is acquired, and the storage control unit number (active storage) in the own node to which the storage control unit number is assigned is acquired. The write request is transferred to the control unit) 21 (S59). At this time, the front end unit 20 rewrites the volume number of the host volume HVOL of the write destination included in the write request to the volume number of the internal volume IVOL associated with the host volume HVOL.

また、このライト要求を受領したストレージ制御部21は、図示しない管理テーブルを参照して、そのライト要求においてライト先として指定された内部ボリュームIVOL及び当該内部ボリュームIVOL内の記憶領域に対応付けられた論理チャンクLC(図4)及び当該論理チャンクLC内の記憶領域を特定する。そしてストレージ制御部21は、このようにして特定したライトデータのライト先の論理チャンクLC及び当該論理チャンクLC内の記憶領域を指定したI/Oコマンドを生成し、これを自ノード内のバックエンド部23に送信する(S60)。 Further, the storage control unit 21 that has received the write request is associated with the internal volume IVOL designated as the write destination in the write request and the storage area in the internal volume IVOL with reference to a management table (not shown). The logical chunk LC (FIG. 4) and the storage area in the logical chunk LC are specified. Then, the storage control unit 21 generates an I / O command that specifies the logical chunk LC of the write destination of the write data specified in this way and the storage area in the logical chunk LC, and uses this as the back end in the own node. It is transmitted to the unit 23 (S60).

バックエンド部23は、このI/Oコマンドを受領すると、図示しない管理テーブルを参照して、当該I/Oコマンドにおいて指定された論理チャンクLCに対応付けた各物理チャンクPC(図4)をそれぞれ提供する記憶装置12(図2)を特定する。またバックエンド部23は、特定した記憶装置12の1つが自ノード内に存在する場合には、その記憶装置12内の、I/Oコマンドで指定された論理チャンクLC及び当該論理チャンクLC内の記憶領域に対応する物理チャンクPCの記憶領域にライトデータを書き込む(S61)。そしてバックエンド部23は、このライトデータの記憶装置12への書込みが完了すると、その旨のライト完了通知を自ノードのストレージ制御部(アクティブストレージ制御部)21に送信する(S62)。 Upon receiving this I / O command, the back-end unit 23 refers to a management table (not shown) and sets each physical chunk PC (FIG. 4) associated with the logical chunk LC specified in the I / O command. The storage device 12 (FIG. 2) to be provided is specified. Further, when one of the specified storage devices 12 exists in the own node, the back-end unit 23 includes the logical chunk LC specified by the I / O command in the storage device 12 and the logical chunk LC in the logical chunk LC. Write data to the storage area of the physical chunk PC corresponding to the storage area (S61). Then, when the writing of the write data to the storage device 12 is completed, the back-end unit 23 transmits a write completion notification to that effect to the storage control unit (active storage control unit) 21 of the own node (S62).

またバックエンド部23は、ステップS61の処理と併せて、かかる論理チャンクLCに対応付けた残りの物理チャンクPCを提供する記憶装置12が存在するストレージノード3(以下、適宜、これを「他ノード2」と呼ぶ)内の対応するバックエンド部23に対して、かかるI/Oコマンド及びライトデータをバックエンドネットワーク6を介して転送する(S63)。この結果、そのストレージノード3(「他ノード2」)においてステップS61と同様のライト処理が実行され(S64)、当該ライト処理が完了すると、その旨のライト完了通知がバックエンドネットワーク6を介して「ライト要求受信ノード」のストレージ制御部21に与えられる。 Further, the back-end unit 23 includes a storage node 3 in which a storage device 12 that provides the remaining physical chunk PCs associated with the logical chunk LC is present in addition to the processing in step S61 (hereinafter, appropriately referred to as “another node”. The I / O command and write data are transferred to the corresponding back-end unit 23 in (referred to as "2") via the back-end network 6 (S63). As a result, the same write process as in step S61 is executed in the storage node 3 (“other node 2”) (S64), and when the write process is completed, a write completion notification to that effect is sent via the back-end network 6. It is given to the storage control unit 21 of the “write request receiving node”.

「ライト要求受信ノード」のトレージ制御部21は、自ノードのバックエンド部23からのかかるライト完了通知と、必要なすべての他のストレージノード3のバックエンド部23からのかかるライト完了通知とを受領すると、要求されたライト処理が完了した旨の完了通知をフロントエンド部20に通知する(S76)。また、この完了通知を受領したフロントエンド部20は、ライト要求に応じたライト処理が完了した旨の完了通知を第1の通信装置13及びストレージサービスネットワーク5を介して当該ライト要求の送信元のコンピュートノード2に送信する(S77,S78)。以上により、かかるライト要求に応じた一連のライト処理が終了する。 The ledge control unit 21 of the “write request receiving node” sends such a write completion notification from the backend unit 23 of its own node and such a write completion notification from the backend unit 23 of all other necessary storage nodes 3. Upon receipt, the front end unit 20 is notified of the completion of the requested write processing (S76). Further, the front-end unit 20 that has received the completion notification sends a completion notification to the effect that the write processing corresponding to the write request is completed to the sender of the write request via the first communication device 13 and the storage service network 5. It is transmitted to the compute node 2 (S77, S78). As a result, a series of write processing corresponding to the write request is completed.

一方、「ライト要求受信ノード」のフロントエンド部20は、ステップS58の判定において、そのライト要求に応じたライト処理は他のストレージノード3において実行されるべき処理であるとの判定が得られた場合、マッピングテーブル32(図7)におけるライト要求においてライト先として指定されたホストボリュームHVOLに対応する行のノード番号欄32D(図7)に格納されたノード番号が付与されたストレージノード3(以下、適宜、これを「他ノード1」と呼ぶ)にライト要求を転送する(S66)。このライト要求の転送は、バックエンドネットワーク6を介して行われる。 On the other hand, the front end unit 20 of the "write request receiving node" has obtained a determination in step S58 that the write process corresponding to the write request should be executed in the other storage node 3. In this case, the storage node 3 (hereinafter referred to as the storage node 3) to which the node number stored in the node number column 32D (FIG. 7) of the row corresponding to the host volume HVOL specified as the write destination in the write request in the mapping table 32 (FIG. 7) is assigned. , As appropriate, this is referred to as "another node 1") to transfer the write request (S66). This write request transfer is done over the backend network 6.

そして、このライト要求を受信した「他ノード1」のフロントエンド部20は、受信したライト要求に基づいて、必要な容量のバッファ領域を自ノード内のメモリ11(図2)上に確保する(S67)。 Then, the front end portion 20 of the "other node 1" that has received the write request secures a buffer area having a required capacity on the memory 11 (FIG. 2) in the own node based on the received write request (FIG. 2). S67).

また、かかるフロントエンド部20は、この後、自ノード内のメモリ11に格納されているマッピングテーブル32を参照して、そのマッピングテーブル32におけるライト要求においてライト先として指定されたホストボリュームHVOLに対応する行のストレージ制御部番号欄32E(図7)に格納されたストレージ制御部番号を取得し、そのストレージ制御部番号が付与された自ノード内のストレージ制御部(アクティブストレージ制御部)21にそのライト要求を転送する(S68)。この際、フロントエンド部20は、ステップS67において必要な容量のバッファ領域を確保できたか否かの情報(以下、これをバッファ確保正否情報と呼ぶ)も併せてそのストレージ制御部21に通知する。 Further, the front end unit 20 then refers to the mapping table 32 stored in the memory 11 in the own node, and corresponds to the host volume HVOL specified as the write destination in the write request in the mapping table 32. The storage control unit number stored in the storage control unit number column 32E (FIG. 7) of the row to be stored is acquired, and the storage control unit number (active storage control unit) 21 in the own node to which the storage control unit number is assigned is assigned. Transfer the write request (S68). At this time, the front end unit 20 also notifies the storage control unit 21 of information on whether or not the buffer area having the required capacity has been secured in step S67 (hereinafter, this is referred to as buffer reservation correctness information).

そして、このライト要求を受領したストレージ制御部88は、上述のようにこのライト要求と共にフロントエンド部20から与えられたバッファ確保正否情報に基づいて、バッファ領域を確保できたか否かを判定し(S69)、その判定結果を自ノードのフロントエンド部20に送信する(S70)。かくして、この完了通知を受領したフロントエンド部20は、ステップS67で必要な容量のバッファ領域をメモリ11上に確保できたか否かの応答を、バックエンドネットワーク6を介して、「ライト要求受信ノード」のフロントエンド部20に送信する(S71)。 Then, the storage control unit 88 that has received this write request determines whether or not the buffer area can be secured based on the buffer reservation correctness / rejection information given from the front end unit 20 together with this write request as described above. S69), the determination result is transmitted to the front end unit 20 of the own node (S70). Thus, the front-end unit 20 that has received this completion notification responds via the back-end network 6 whether or not the buffer area of the required capacity can be secured on the memory 11 in step S67. Is transmitted to the front end unit 20 (S71).

この応答を受領した「ライト要求受信ノード」のフロントエンド部20は、「他ノード1」のフロントエンド部20が必要な容量のバッファ領域をメモリ11上に確保できなかった場合には、その旨のエラー通知を第1の通信装置13を介してライト要求の送信元のコンピュートノード2に送信し、この一連のライト処理を終了する。 If the front-end unit 20 of the "write request receiving node" that has received this response cannot secure a buffer area of the required capacity on the memory 11 by the front-end unit 20 of the "other node 1", that effect. Error notification is transmitted to the compute node 2 that is the source of the write request via the first communication device 13, and this series of write processing is completed.

これに対して、かかる「ライト要求受信ノード」のフロントエンド部20は、「他ノード1」のフロントエンド部20が必要な容量のバッファ領域をメモリ11上に確保できた場合には、バックエンドネットワーク6を介して「他ノード1」にライトデータを転送する(S72)。 On the other hand, the front end portion 20 of the "write request receiving node" is a back end when the front end portion 20 of the "other node 1" can secure a buffer area having a required capacity on the memory 11. The write data is transferred to the "other node 1" via the network 6 (S72).

また、このライトデータを受信した「他ノード1」のフロントエンド部20は、受信したライトデータをステップS67で確保したバッファ領域に格納する(S73)。この後、「他ノード1」において、ステップS59〜ステップS61、ステップS63〜ステップS64について上述したデータライト処理と同様のデータライト処理が実行され(S74)、このデータライト処理が完了すると、その旨のライト完了通知が「他ノード1」のフロントエンド部20からバックエンドネットワーク6を介して「ライト要求受信ノード」のストレージ制御部21に送信される(S75)。 Further, the front end unit 20 of the "other node 1" that has received the write data stores the received write data in the buffer area secured in step S67 (S73). After that, in the "other node 1", the same data write processing as the above-mentioned data write processing is executed for steps S59 to S61 and steps S63 to S64 (S74), and when this data write processing is completed, that fact is achieved. The write completion notification is transmitted from the front end unit 20 of the “other node 1” to the storage control unit 21 of the “write request receiving node” via the back end network 6 (S75).

かくして、このとき「ライト要求受信ノード」のストレージ制御部21は、「他ノード1」のバックエンド部23からのライト完了通知と、必要なすべての他のストレージノード3のバックエンド部23からのライト完了通知とを受領すると、要求されたライト処理が完了した旨の完了通知を自ノードのフロントエンド部20に通知する(S76)。また、この完了通知を受領したフロントエンド部20は、ライト要求に応じたライト処理が完了した旨の完了通知を第1の通信装置13及びストレージサービスネットワーク5を介して当該ライト要求の送信元のコンピュートノード2に送信する(S77,S78)。以上により、かかるライト要求に応じた一連のライト処理が終了する。 Thus, at this time, the storage control unit 21 of the "write request receiving node" receives the write completion notification from the backend unit 23 of the "other node 1" and the backend unit 23 of all the other storage nodes 3 required. Upon receiving the write completion notification, the front end unit 20 of the own node is notified of the completion notification that the requested write processing is completed (S76). Further, the front-end unit 20 that has received the completion notification sends a completion notification to the effect that the write processing corresponding to the write request is completed to the sender of the write request via the first communication device 13 and the storage service network 5. It is transmitted to the compute node 2 (S77, S78). As a result, a series of write processing corresponding to the write request is completed.

(5−2)リード処理の流れ
一方、図16は、コンピュートノード2からクラスタ7を構成するいずれかのストレージノード3に対してリード要求が与えられた場合に当該クラスタ7内で実行されるリード処理の流れを示す。以下においては、クラスタ7内でリード要求を受信したストレージノード3を、適宜、「リード要求受信ノード」と呼ぶものとする。
(5-2) Flow of Read Processing On the other hand, FIG. 16 shows a read executed in the cluster 7 when a read request is given to any storage node 3 constituting the cluster 7 from the compute node 2. The processing flow is shown. In the following, the storage node 3 that has received the read request in the cluster 7 will be appropriately referred to as a “read request receiving node”.

なお、リード要求では、リード先のホストボリュームHVOLのボリューム番号と、そのホストボリュームHVOLにおけるリード先の記憶領域の先頭アドレスと、リード対象のデータ(以下、これをリードデータと呼ぶ)のデータ長とが指定される。 In the read request, the volume number of the host volume HVOL of the read destination, the start address of the storage area of the read destination in the host volume HVOL, and the data length of the data to be read (hereinafter, this is referred to as read data). Is specified.

そして「リード要求受信ノード」の第1の通信装置13は、かかるリード要求を受信すると(S80)、受信したリード要求を自ノード内のフロントエンド部20に転送する(S81)。またフロントエンド部20は、転送されてきたリード要求を解析して、そのリード要求に従ったリード処理が自ノードにおいて実行されるべき処理であるか否かを判定する(S82)。 Then, when the first communication device 13 of the "read request receiving node" receives the read request (S80), the first communication device 13 transfers the received read request to the front end unit 20 in the own node (S81). Further, the front end unit 20 analyzes the transferred read request and determines whether or not the read process according to the read request is a process to be executed in the own node (S82).

この判断は、マッピングテーブル33(図7)の各行のうち、リード要求においてリード先として指定されたホストボリュームHVOLに対応する行のノード番号欄32D(図7)を参照して行われる。具体的に、フロントエンド部20は、かかるノード番号欄32Dに格納されたノード番号が自ノードのノード番号であった場合には、そのリード要求に従ったリード処理が自ノードにおいて実行されるべき処理であると判定する。またフロントエンド部20は、かかるノード番号欄に格納されたノード番号が他のストレージノード3のノード番号であった場合には、そのリード要求に基づくリード処理が当該他のストレージノード3において実行されるべき処理であると判定する。 This determination is made by referring to the node number column 32D (FIG. 7) of the row corresponding to the host volume HVOL specified as the read destination in the read request among the rows of the mapping table 33 (FIG. 7). Specifically, when the node number stored in the node number field 32D is the node number of the own node, the front end unit 20 should execute the read process according to the read request in the own node. Judge that it is a process. Further, when the node number stored in the node number column is the node number of the other storage node 3, the front end unit 20 executes read processing based on the read request in the other storage node 3. Judge that it is a process to be performed.

そしてフロントエンド部20は、ステップS82において、そのリード要求に応じたリード処理が自ノードにおいて実行されるべきと判定した場合には、自ノードのメモリ11(図2)に格納されているマッピングテーブル32(図7)におけるリード要求においてリード先として指定されたホストボリュームHVOLに対応する行のストレージ制御部番号欄32E(図7)に格納されたストレージ制御部番号を取得し、そのストレージ制御部番号が付与された自ノード内のストレージ制御部(アクティブストレージ制御部)21にそのリード要求を転送する(S83)。なおフロントエンド部20は、この際、そのリード要求に含まれるリード先のホストボリュームHVOLのボリューム番号を、当該ホストボリュームHVOLと対応付けられた内部ボリュームIVOLのボリューム番号に書き換える。 Then, when the front end unit 20 determines in step S82 that the read process corresponding to the read request should be executed in the own node, the front end unit 20 stores the mapping table in the memory 11 (FIG. 2) of the own node. Acquires the storage control unit number stored in the storage control unit number column 32E (FIG. 7) of the row corresponding to the host volume HVOL specified as the read destination in the read request in 32 (FIG. 7), and obtains the storage control unit number. The read request is transferred to the storage control unit (active storage control unit) 21 in the local node to which is assigned (S83). At this time, the front end unit 20 rewrites the volume number of the read destination host volume HVOL included in the read request to the volume number of the internal volume IVOL associated with the host volume HVOL.

また、このリード要求を受領したストレージ制御部21は、図示しない管理テーブルを参照して、そのリード要求においてリード先として指定された内部ボリュームIVOL及び当該内部ボリュームIVOL内の記憶領域に対応付けられた論理チャンクLC及び当該論理チャンクLC内の記憶領域を特定する。そしてストレージ制御部21は、このようにして特定したリード先の論理チャンクLC及び当該論理チャンクLC内の記憶領域を指定したI/Oコマンドを生成し、これを自ノード内のバックエンド部23に送信する(S84)。 Further, the storage control unit 21 that has received the read request is associated with the internal volume IVOL designated as the read destination in the read request and the storage area in the internal volume IVOL with reference to a management table (not shown). The logical chunk LC and the storage area in the logical chunk LC are specified. Then, the storage control unit 21 generates an I / O command that specifies the logical chunk LC of the read destination specified in this way and the storage area in the logical chunk LC, and sends this to the back end unit 23 in the own node. Transmit (S84).

バックエンド部23は、このI/Oコマンドを受領すると、図示しない管理テーブルを参照して、当該I/Oコマンドにおいて指定された論理チャンクLCに対応付けた各物理チャンクPCの中から1つの物理チャンクPCを提供する記憶装置12を特定する。ここでは、選択された物理チャンクPCが、「リード要求受信ノード」に搭載された記憶装置12により提供されているものとする。そしてバックエンド部23は、特定した記憶装置12内の、I/Oコマンドで指定された論理チャンクLC及び当該論理チャンクLC内の記憶領域に対応する物理チャンクPCの記憶領域に格納されているデータを読み出す(S85)。そしてバックエンド部23は、読み出したデータ(リードデータ)を自ノードのストレージ制御部21に送信する(S86)。 When the back-end unit 23 receives this I / O command, it refers to a management table (not shown) and refers to one physical unit from each physical chunk PC associated with the logical chunk LC specified in the I / O command. Identify the storage device 12 that provides the chunk PC. Here, it is assumed that the selected physical chunk PC is provided by the storage device 12 mounted on the “read request receiving node”. Then, the back-end unit 23 is stored in the storage area of the logical chunk LC specified by the I / O command and the storage area of the physical chunk PC corresponding to the storage area in the logical chunk LC in the specified storage device 12. Is read (S85). Then, the back-end unit 23 transmits the read data (read data) to the storage control unit 21 of the own node (S86).

このリードデータを受信したストレージ制御部21は、このリードデータを自ノードのフロントエンド部20に転送する(S87)。また、このリードデータを受領したフロントエンド部20は、そのリードデータを、第1の通信装置13を及びストレージサービスネットワーク5を介してリード要求の送信元のコンピュートノード2に送信する(S93,S94)。以上により、かかるリード要求に応じた一連のリード処理が終了する。 The storage control unit 21 that has received the read data transfers the read data to the front end unit 20 of its own node (S87). Further, the front-end unit 20 that has received the read data transmits the read data to the compute node 2 that is the source of the read request via the first communication device 13 and the storage service network 5 (S93, S94). ). As a result, a series of read processing corresponding to the read request is completed.

一方、「リード要求受信ノード」のフロントエンド部20は、ステップS82の判定において、そのリード要求に応じたリード処理は他のストレージノード3において実行されるべき処理であるとの判定が得られた場合、マッピングテーブル32(図7)におけるリード要求においてリード先として指定されたホストボリュームHVOLに対応する行のノード番号欄32D(図7)に格納されたノード番号が付与されたストレージノード3(以下、適宜、これを「他ノード」と呼ぶ)にそのリード要求を転送する(S88)。このリード要求の転送は、バックエンドネットワーク6を介して行われる。 On the other hand, in the determination in step S82, the front-end unit 20 of the "read request receiving node" has obtained a determination that the read process corresponding to the read request is a process to be executed in the other storage node 3. In this case, the storage node 3 (hereinafter referred to as the storage node 3) to which the node number stored in the node number column 32D (FIG. 7) of the row corresponding to the host volume HVOL specified as the read destination in the read request in the mapping table 32 (FIG. 7) is assigned. , As appropriate, this is referred to as an "other node") to transfer the read request (S88). This read request transfer is done over the backend network 6.

そして、このリード要求を受信した「他ノード」のフロントエンド部20は、受信したリード要求の内容を解析する(S89)。また、かかるフロントエンド部20は、自ノードのメモリ11に格納されているマッピングテーブル32を参照して、そのマッピングテーブル32におけるリード要求においてリード先として指定されたホストボリュームHVOLに対応する行のストレージ制御部番号欄32E(図7)に格納されたストレージ制御部番号を取得し、そのストレージ制御部番号が付与された自ノード内のストレージ制御部(アクティブストレージ制御部)21にそのリード要求を転送する(S90)。この際、そのリード要求に含まれるリード先のホストボリュームHVOLのボリューム番号を、当該ホストボリュームHVOLと対応付けられた内部ボリュームIVOLのボリューム番号に書き換える。 Then, the front end unit 20 of the "other node" that has received this read request analyzes the content of the received read request (S89). Further, the front end unit 20 refers to the mapping table 32 stored in the memory 11 of the own node, and stores the row corresponding to the host volume HVOL specified as the read destination in the read request in the mapping table 32. Acquires the storage control unit number stored in the control unit number field 32E (FIG. 7), and transfers the read request to the storage control unit (active storage control unit) 21 in the own node to which the storage control unit number is assigned. (S90). At this time, the volume number of the read destination host volume HVOL included in the read request is rewritten to the volume number of the internal volume IVOL associated with the host volume HVOL.

この後、その「他ノード」において、ステップS84〜ステップS86と同様のデータリード処理が実行され(S91)、このデータリード処理により対応する記憶装置12から読み出されたデータ(リードデータ)が「他ノード」のフロントエンド部20からバックエンドネットワーク6を介して「リード要求受信ノード」のフロントエンド部20に送信される(S92)。 After that, in the "other node", the same data read processing as in steps S84 to S86 is executed (S91), and the data (read data) read from the corresponding storage device 12 by this data read processing is "read data". It is transmitted from the front-end unit 20 of the "other node" to the front-end unit 20 of the "read request receiving node" via the back-end network 6 (S92).

そして、このリードデータを受信した「リード要求受信ノード」のフロントエンド部20は、このリードデータを第1の通信装置13及びストレージサービスネットワーク6を介してリード要求の送信元のコンピュートノード2に転送する(S93,S94)。以上により、かかるリード要求に応じた一連のリード処理が終了する。 Then, the front end unit 20 of the "read request receiving node" that has received the read data transfers the read data to the compute node 2 that is the source of the read request via the first communication device 13 and the storage service network 6. (S93, S94). As a result, a series of read processing corresponding to the read request is completed.

(6)本実施の形態の効果
以上のように本実施の形態の情報処理システム1では、各ストレージノード3にそれぞれ配置されたストレージ制御部21と対応付けて内部ボリュームIVOLを作成すると共に、作成した内部ボリュームIVOLを、データをリード/ライトするための記憶領域としてコンピュートノード2に提供されるホストボリューム2と対応付ける。
(6) Effect of the present embodiment As described above, in the information processing system 1 of the present embodiment, the internal volume IVOL is created and created in association with the storage control unit 21 arranged in each storage node 3. The internal volume IVOL is associated with the host volume 2 provided to the compute node 2 as a storage area for reading / writing data.

また本情報処理システム1では、コンピュートノード2からのI/O要求がストレージノード3に与えられた場合に、そのストレージノード3のフロントエンド部20が、そのI/O要求においてリード/ライト先として指定されたホストボリュームHVOLと対応付けられた内部ボリュームIVOLが配置されたストレージノード3を特定し、特定したストレージノード3が自ノードであった場合には、当該I/O要求を自ノード内の対応するストレージ制御部21に転送し、特定したストレージノード3が他のストレージノード3であった場合には、そのI/O要求をそのストレージノード3に転送する。 Further, in the information processing system 1, when an I / O request from the compute node 2 is given to the storage node 3, the front end portion 20 of the storage node 3 serves as a read / write destination in the I / O request. The storage node 3 in which the internal volume IVOL associated with the specified host volume HVOL is located is specified, and if the specified storage node 3 is the own node, the I / O request is made in the own node. Transfer to the corresponding storage control unit 21, and if the specified storage node 3 is another storage node 3, the I / O request is transferred to the storage node 3.

従って、本情報処理システム1によれば、ストレージノード3のスケールアウトの有無に関わりなく、コンピュートノード2はI/O要求の発行先のストレージノード3を意識することなく所望するデータにアクセスすることができる。よって、本実施の形態によれば、拡張性の高い本情報処理システム1を実現できる。 Therefore, according to the information processing system 1, the compute node 2 accesses the desired data without being aware of the storage node 3 to which the I / O request is issued, regardless of whether the storage node 3 is scaled out or not. Can be done. Therefore, according to the present embodiment, the highly expandable information processing system 1 can be realized.

また本情報処理システム1によれば、スケールアウトに関連する処理はすべてフロントエンド部20が担当し、ストレージ制御部21は自ノード内で完結する処理のみを実行するため、ストレージ制御部21として既存のストレージ装置で利用していた制御ソフトウェアを転用することもできる。 Further, according to the information processing system 1, the front end unit 20 is in charge of all the processing related to scale-out, and the storage control unit 21 executes only the processing completed in its own node, so that it already exists as the storage control unit 21. It is also possible to divert the control software used in the storage device of.

(7)他の実施の形態
なお上述の実施の形態においては、内部ボリュームIVOLとホストボリュームHVOLとを1対1で対応付けるようにした場合について述べたが、本発明はこれに限らず、1つの内部ボリュームIVOLに対して複数のホストボリュームHVOLを対応付けるようにしてもよい。
(7) Other Embodiments In the above-described embodiment, the case where the internal volume IVOL and the host volume HVOL are associated with each other on a one-to-one basis has been described, but the present invention is not limited to this. A plurality of host volumes HVOL may be associated with the internal volume IVOL.

また上述の実施の形態においては、本発明を図1のように構成された情報処理システム1に適用するようにした場合について述べたが、本発明はこれに限らず、この他種々の構成の情報処理システムに広く適用することができる。 Further, in the above-described embodiment, the case where the present invention is applied to the information processing system 1 configured as shown in FIG. 1 has been described, but the present invention is not limited to this and has various other configurations. It can be widely applied to information processing systems.

さらに上述の実施の形態においては、各ストレージノード2内のフロントエンド部20、ストレージ制御部21及びバックエンド部23等をソフトウェア構成とするようにした場合について述べたが、本発明はこれに限らず、これらをハードウェア構成とするようにしてもよい。 Further, in the above-described embodiment, the case where the front end unit 20, the storage control unit 21, the back end unit 23, and the like in each storage node 2 are configured as software has been described, but the present invention is not limited to this. Instead, these may be configured as hardware.

さらに上述の実施の形態においては、各ストレージノード3内にクラスタ制御部25をそれぞれ配置し、その中の1つのクラスタ制御部25をマスタクラスタ制御部25に選出して、当該マスタクラスタ制御部25に上述した各種処理を実行させるようにした場合について述べたが、本発明はこれに限らず、各ストレージノード3内にクラスタ制御部25を配置せず、かかるマスタクラスタ制御部25としての機能を有するサーバ装置等をストレージノード3とは別個に設けるようにしてもよい。 Further, in the above-described embodiment, the cluster control unit 25 is arranged in each storage node 3, one of the cluster control units 25 is selected as the master cluster control unit 25, and the master cluster control unit 25 is selected. However, the present invention is not limited to this, and the cluster control unit 25 is not arranged in each storage node 3, and the function as the master cluster control unit 25 is provided. The server device or the like may be provided separately from the storage node 3.

また、サーバ上でハイパーバイザが動作し、ハイパーバイザ上で1又は複数の仮想計算機が稼働し、その仮想計算機上で、図3に示す各種プログラムが動作してもよい。すなわち、各種プログラム(制御ソフト20、冗長化部22、クラスタ制御部23)は、物理計算機のハードウェア上で動作することもあれば、仮想計算機上で動作しても良い。同様に、コンピュートノード2は、仮想計算機上で動作するアプリケーションプログラム(ホストプログラム)であってもよいし、物理的なホスト計算機(ホストコンピュータ)であっても良い。情報処理システム1が複数のサーバを有するとき、サーバの一部が異なるサイトにあっても良い。また、情報処理システム1のサーバの一部又は全部がクラウド上にあって、ネットワークを介して、ユーザにサービスが提供されてもよい。 Further, the hypervisor may be operated on the server, one or a plurality of virtual machines may be operated on the hypervisor, and various programs shown in FIG. 3 may be operated on the virtual computer. That is, various programs (control software 20, redundancy unit 22, cluster control unit 23) may operate on the hardware of the physical computer or may operate on the virtual computer. Similarly, the compute node 2 may be an application program (host program) running on a virtual computer or a physical host computer (host computer). When the information processing system 1 has a plurality of servers, some of the servers may be located at different sites. Further, a part or all of the server of the information processing system 1 may be on the cloud and the service may be provided to the user via the network.

各種プログラム(制御ソフト20、冗長化部22、クラスタ制御部23)が動作する仮想計算機と、ホストプログラムが動作する仮想計算機とが、同一のサーバ(ノード)上にある構成(ハイパーコンバージドインフラストラクチャ)であっても、ネットワークを介して接続する異なるサーバ上にある構成であってもよい。 A configuration (hyper-converged infrastructure) in which a virtual computer on which various programs (control software 20, redundancy unit 22, cluster control unit 23) operates and a virtual computer on which a host program operates are on the same server (node). However, the configuration may be on different servers connected via a network.

本発明は、複数のストレージノードを含む種々の構成のシステムに広く適用することができる。 The present invention can be widely applied to systems having various configurations including a plurality of storage nodes.

1……情報処理システム、2……コンピュートノード、3……ストレージノード、4……管理ノード、5……ストレージサービスネットワーク、6……バックエンドネットワーク、7……クラスタ、10……CPU、12……記憶装置、20……フロントエンド部、21……ストレージ制御部、22……容量制御部、23……バックエンド部、25……クラスタ制御部、28……ストレージ制御部ペア、30……ストレージ制御部ペアテーブル、31……フロントエンドテーブルボリュームテーブル、32……マッピングテーブル、33……フロントエンドターゲットテーブル、34……ストレージ制御部構成情報管理テーブル、35……グローバルプールボリュームテーブル、GVOL……グローバルプールボリューム、HVOL……ホストボリューム、IVOL……内部ボリューム、LC……論理チャンク、PC……物理チャンク、PPT……物理ポート、TG……ターゲット、VPT……仮想ポート。 1 ... Information processing system, 2 ... Compute node, 3 ... Storage node, 4 ... Management node, 5 ... Storage service network, 6 ... Backend network, 7 ... Cluster, 10 ... CPU, 12 Storage device, 20 ... Front-end unit, 21 ... Storage control unit, 22 ... Capacity control unit, 23 ... Back-end unit, 25 ... Cluster control unit, 28 ... Storage control unit pair, 30 ... … Storage control unit pair table, 31 …… front-end table volume table, 32 …… mapping table, 33 …… front-end target table, 34 …… storage control unit configuration information management table, 35 …… global pool volume table, GVOL …… Global pool volume, HVOL …… Host volume, IVOL …… Internal volume, LC …… Logical chunk, PC …… Physical chunk, PPT …… Physical port, TG …… Target, VPT …… Virtual port.

Claims (9)

複数のストレージノードから構成されるクラスタを含むシステムであって、
前記各ストレージノードは、
記憶装置と、前記記憶装置に対応する論理的な記憶領域と、を有し、
管理装置からの要求に基づく論理ボリューム作成指示を受信すると、前記ストレージノードは、上位装置に提供されるデータを読み書きするためのホストボリュームと対応付けられる、前記クラスタ内で識別可能な仮想的なグローバルプールボリュームを自ノード内に作成し、
自ノードにおける前記論理的な記憶領域と、自ノード内に作成された前記グローバルプールボリュームとを対応付けて、自ノード内で識別可能な仮想的な内部ボリュームを自ノード内に作成し、
作成された前記グローバルプールボリュームと、当該グローバルプールボリュームが作成された前記ストレージノードとの対応関係がマッピング情報として登録され、前記マッピング情報が前記クラスタにおける各前記ストレージノード間で同期して更新され、
前記各ストレージノードは、前記上位装置からのI/O要求を受信すると、前記マッピング情報に基づき、前記I/O要求においてI/O先として指定された前記ホストボリュームと対応付けられた前記グローバルプールボリュームに対応する前記ストレージノードの情報から、I/O先の前記ストレージノードを特定し、特定した前記ストレージノードが自ノードである場合には当該I/O要求において指定されたI/O先の前記ホストボリュームのボリューム番号を対応する前記内部ボリュームのボリューム番号に書き換え、当該内部ボリュームに対してI/O処理を実行し、特定した前記ストレージノードが他の前記ストレージノードである場合には、当該ストレージノードに当該I/O要求を振り分ける
ことを特徴とするシステム。
A system that includes a cluster consisting of multiple storage nodes
Each storage node mentioned above
It has a storage device and a logical storage area corresponding to the storage device.
Upon receiving a logical volume creation instruction based on a request from the management device, the storage node is associated with a host volume for reading and writing data provided to a higher-level device, which is a virtual global identifiable within the cluster. Create a pool volume in your node and
By associating the logical storage area in the local node with the global pool volume created in the local node, a virtual internal volume that can be identified in the local node is created in the local node.
And said global pool volumes created, is registered as the corresponding relationship Gama mappings information with the storage node to which the global pool volume was created, the mapping information is updated in synchronization among the storage nodes in the cluster ,
When each storage node receives an I / O request from the higher-level device, the global pool is associated with the host volume designated as the I / O destination in the I / O request based on the mapping information. The storage node of the I / O destination is specified from the information of the storage node corresponding to the volume, and if the specified storage node is the own node, the I / O destination specified in the I / O request is used. When the volume number of the host volume is rewritten to the volume number of the corresponding internal volume, I / O processing is executed on the internal volume, and the specified storage node is another storage node, the relevant storage node is concerned. A system characterized in distributing the I / O request to a storage node.
各前記グローバルプールボリュームは、
前記クラスタを構成する各前記ストレージノードを横断する1つのプールとして管理される
ことを特徴とする請求項1に記載のシステム。
Each said global pool volume
The system according to claim 1, wherein the system is managed as one pool that traverses each storage node that constitutes the cluster.
前記各ストレージノードは、前記上位装置からのI/O要求処理を実行するストレージ制御部を備え
前記ストレージ制御部は、自ノードとは異なる他の前記ストレージノードに配置された前記ストレージ制御部とストレージ制御部ペアに設定され、
前記ストレージ制御部ペアを構成する一方の前記ストレージ制御部が現用系に設定されると共に、他方の前記ストレージ制御部が待機系に設定され、
現用系に設定された前記ストレージ制御部を有する前記ストレージノードにて前記内部ボリュームが作成される
ことを特徴とする請求項1に記載のシステム。
Each storage node includes a storage control unit that executes I / O request processing from the higher-level device, and the storage control unit is a storage control unit and storage arranged in another storage node different from the own node. Set in the control unit pair,
One of the storage control units constituting the storage control unit pair is set to the active system, and the other storage control unit is set to the standby system.
The system according to claim 1, wherein the internal volume is created by the storage node having the storage control unit set in the working system.
前記ストレージ制御部ペアに属する各前記ストレージノードの前記論理的な記憶領域が1つのプールとして管理され、前記内部ボリュームが当該プールに対応付けられて作成される
ことを特徴とする請求項3に記載のシステム。
The third aspect of claim 3, wherein the logical storage area of each storage node belonging to the storage control unit pair is managed as one pool, and the internal volume is created in association with the pool. System.
さらに前記クラスタ全体の制御処理を行うマスタクラスタ制御装置を備え、
前記マスタクラスタ制御装置は、前記管理装置から前記グローバルプールボリュームの作成要求を受信すると、前記グローバルプールボリュームの作成に適した前記ストレージ制御部ペアを選択し、当該ストレージ制御部ペアに属するいずれか1つの前記ストレージノードに論理ボリューム作成指示を出力し、
前記論理ボリューム作成指示を受けた前記ストレージノードは、作成した前記グローバルプールボリュームの識別情報を前記マスタクラスタ制御装置に送信する、
ことを特徴とする請求項4に記載のシステム。
Further, it is provided with a master cluster control device that controls the entire cluster.
When the master cluster control device receives a request for creating the global pool volume from the management device, the master cluster control device selects the storage control unit pair suitable for creating the global pool volume, and any one belonging to the storage control unit pair. Outputs a logical volume creation instruction to the two storage nodes,
Wherein the storage node that received the logical volume creation instruction, transmits the identification information of the global pool volumes created on the master cluster controller,
The system according to claim 4, wherein the system is characterized by the above.
前記マスタクラスタ制御装置は、最も負荷の低い前記ストレージノードが現用系に設定されている前記ストレージ制御部ペアを選択し、当該ストレージノードに前記論理ボリューム作成指示を出力する
ことを特徴とする請求項5に記載のシステム。
The master cluster control device is characterized in that the storage node having the lowest load selects the storage control unit pair set in the active system and outputs the logical volume creation instruction to the storage node. The system according to 5.
前記マスタクラスタ制御装置は、前記論理ボリューム作成指示を出力した前記ストレージノードから送信された前記グローバルプールボリュームの識別情報を受信すると、当該識別情報及び当該ストレージノードを対応付けてマッピング情報として登録すると共に、更新前後のマッピング情報の差分データを前記クラスタにおける各前記ストレージノードに送信し、
各前記ストレージノードは、受信した前記差分データに基づいて自ノードにおけるマッピング情報を更新する、
ことを特徴とする請求項5に記載のシステム。
The master cluster controller receives the global pool volume identification information beam transmitted from the storage node to output the logical volume creation command is registered as the mapping information in association with the identification information and the storage node At the same time, the difference data of the mapping information before and after the update is transmitted to each storage node in the cluster.
Each storage node updates the mapping information in its own node based on the received difference data.
The system according to claim 5, wherein the system is characterized by the above.
複数のストレージノードから構成されるクラスタを含むシステムにおいて、前記ストレージノードにより実行される方法であって、
前記各ストレージノードは、
記憶装置と、前記記憶装置に対応する論理的な記憶領域と、を有し、
管理装置からの要求に基づく論理ボリューム作成指示を受信すると、前記ストレージノードは、上位装置に提供されるデータを読み書きするためのホストボリュームと対応付けられる、前記クラスタ内で識別可能な仮想的なグローバルプールボリュームを自ノード内に作成する第1のステップと、
自ノードにおける前記論理的な記憶領域と、自ノード内に作成された前記グローバルプールボリュームとを対応付けて、自ノード内で識別可能な仮想的な内部ボリュームを自ノード内に作成する第2のステップと、
作成した前記グローバルプールボリュームと、当該グローバルプールボリュームを作成した前記ストレージノードとの対応関係をマッピング情報として登録し、前記マッピング情報を前記クラスタにおける各前記ストレージノード間で同期して更新する第3のステップと
を備え、
前記各ストレージノードが、前記上位装置からのI/O要求を受信すると、前記マッピング情報に基づき、前記I/O要求においてI/O先として指定された前記ホストボリュームと対応付けられた前記グローバルプールボリュームに対応する前記ストレージノードの情報から、I/O先の前記ストレージノードを特定し、特定した前記ストレージノードが自ノードである場合には当該I/O要求において指定されたI/O先の前記ホストボリュームのボリューム番号を対応する前記内部ボリュームのボリューム番号に書き換え、当該内部ボリュームに対してI/O処理を実行し、特定した前記ストレージノードが他の前記ストレージノードである場合には、当該ストレージノードに当該I/O要求を振り分ける
ことを特徴とするシステムの制御方法。
A method executed by the storage node in a system including a cluster composed of a plurality of storage nodes.
Each storage node mentioned above
It has a storage device and a logical storage area corresponding to the storage device.
Upon receiving a logical volume creation instruction based on a request from the management device, the storage node is associated with a host volume for reading and writing data provided to a higher-level device, which is a virtual global identifiable within the cluster. The first step to create a pool volume in your node,
In association with the logical storage area in the local node, and the global pool volume that is created in this node, the second to create a virtual internal volume that can be identified in this node in the local node Steps and
And said global pool volumes created, third to register the correspondence between the storage node that created the global pool volume as mapping information, updating the mapping information in synchronization among the storage nodes in the cluster With steps and
When each storage node receives an I / O request from the host device, the global pool associated with the host volume designated as the I / O destination in the I / O request based on the mapping information. The storage node of the I / O destination is specified from the information of the storage node corresponding to the volume, and if the specified storage node is the own node, the I / O destination specified in the I / O request is used. When the volume number of the host volume is rewritten to the volume number of the corresponding internal volume, I / O processing is executed on the internal volume, and the specified storage node is another storage node, the relevant storage node is concerned. A system control method characterized by distributing the I / O request to a storage node.
複数のストレージノードから構成されるクラスタを含むシステムにおいて、前記ストレージノードにより実行されるプログラムであって、
前記各ストレージノードは、
記憶装置と、前記記憶装置に対応する論理的な記憶領域と、を有し、
管理装置からの要求に基づく論理ボリューム作成指示を受信すると、前記ストレージノードは、上位装置に提供されるデータを読み書きするためのホストボリュームと対応付けられる、前記クラスタ内で識別可能な仮想的なグローバルプールボリュームを自ノード内に作成する第1のステップと、
自ノードにおける前記論理的な記憶領域と、自ノード内に作成された前記グローバルプールボリュームとを対応付けて、自ノード内で識別可能な仮想的な内部ボリュームを自ノード内に作成する第2のステップと、
作成した前記グローバルプールボリュームと、当該グローバルプールボリュームを作成した前記ストレージノードとの対応関係をマッピング情報として登録し、前記マッピング情報を前記クラスタにおける各前記ストレージノード間で同期して更新する第3のステップと
を備え、
前記各ストレージノードが、前記上位装置からのI/O要求を受信すると、前記マッピング情報に基づき、前記I/O要求においてI/O先として指定された前記ホストボリュームと対応付けられた前記グローバルプールボリュームに対応する前記ストレージノードの情報から、I/O先の前記ストレージノードを特定し、特定した前記ストレージノードが自ノードである場合には当該I/O要求において指定されたI/O先の前記ホストボリュームのボリューム番号を対応する前記内部ボリュームのボリューム番号に書き換え、当該内部ボリュームに対してI/O処理を実行し、特定した前記ストレージノードが他の前記ストレージノードである場合には、当該ストレージノードに当該I/O要求を振り分ける処理を前記ストレージノードに実行させることを特徴とするプログラム。
A program executed by the storage node in a system including a cluster composed of a plurality of storage nodes.
Each storage node mentioned above
It has a storage device and a logical storage area corresponding to the storage device.
Upon receiving a logical volume creation instruction based on a request from the management device, the storage node is associated with a host volume for reading and writing data provided to a higher-level device, which is a virtual global identifiable within the cluster. The first step to create a pool volume in your node,
A second that creates a virtual internal volume that can be identified in the local node by associating the logical storage area in the local node with the global pool volume created in the local node. Steps and
And said global pool volumes created, third to register the correspondence between the storage node that created the global pool volume as mapping information, updating the mapping information in synchronization among the storage nodes in the cluster With steps and
When each storage node receives an I / O request from the host device, the global pool associated with the host volume designated as the I / O destination in the I / O request based on the mapping information. The storage node of the I / O destination is specified from the information of the storage node corresponding to the volume, and if the specified storage node is the own node, the I / O destination specified in the I / O request is used. When the volume number of the host volume is rewritten to the volume number of the corresponding internal volume, I / O processing is executed on the internal volume, and the specified storage node is another storage node, the relevant storage node is concerned. A program characterized in that the storage node executes a process of distributing the I / O request to the storage node.
JP2020118474A 2017-11-30 2020-07-09 System and its control method and program Active JP6961045B2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2020118474A JP6961045B2 (en) 2017-11-30 2020-07-09 System and its control method and program
JP2021167412A JP7193602B2 (en) 2020-07-09 2021-10-12 System and its control method and program
JP2022196255A JP2023036653A (en) 2020-07-09 2022-12-08 System, control method thereof, and program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017231216A JP6734251B2 (en) 2017-11-30 2017-11-30 System, control method thereof, and program
JP2020118474A JP6961045B2 (en) 2017-11-30 2020-07-09 System and its control method and program

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2017231216A Division JP6734251B2 (en) 2017-11-30 2017-11-30 System, control method thereof, and program

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2021167412A Division JP7193602B2 (en) 2020-07-09 2021-10-12 System and its control method and program

Publications (2)

Publication Number Publication Date
JP2020191100A JP2020191100A (en) 2020-11-26
JP6961045B2 true JP6961045B2 (en) 2021-11-05

Family

ID=73453840

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020118474A Active JP6961045B2 (en) 2017-11-30 2020-07-09 System and its control method and program

Country Status (1)

Country Link
JP (1) JP6961045B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2022107687A1 (en) 2020-11-17 2022-05-27
JP2022191854A (en) * 2021-06-16 2022-12-28 株式会社日立製作所 Storage system and data processing method

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100423491C (en) * 2006-03-08 2008-10-01 杭州华三通信技术有限公司 Virtual network storing system and network storing equipment thereof
US9098212B2 (en) * 2011-04-26 2015-08-04 Hitachi, Ltd. Computer system with storage apparatuses including physical and virtual logical storage areas and control method of the computer system
JP5488841B2 (en) * 2011-09-20 2014-05-14 日本電気株式会社 Storage device
US9075530B2 (en) * 2013-08-27 2015-07-07 Hitachi, Ltd. Storage system and the storage system management method
US20170199694A1 (en) * 2016-01-07 2017-07-13 Dell Products L.P. Systems and methods for dynamic storage allocation among storage servers

Also Published As

Publication number Publication date
JP2020191100A (en) 2020-11-26

Similar Documents

Publication Publication Date Title
JP6734251B2 (en) System, control method thereof, and program
CN109857445B (en) Storage system and control software configuration method
JP6814764B2 (en) Information processing system and path management method
US8244924B2 (en) Discovery and configuration of device configurations
US9817721B1 (en) High availability management techniques for cluster resources
JP6961045B2 (en) System and its control method and program
CN112083889A (en) Data migration method, device, equipment and readable storage medium
JP2019191951A (en) Information processing system and volume allocation method
JP2021051532A (en) Computer system
US11392329B1 (en) Uniform host attachment
JP6751423B2 (en) Storage device and control method thereof
US10001939B1 (en) Method and apparatus for highly available storage management using storage providers
US20220283745A1 (en) Storage system, path management method, and recording medium
JP7193602B2 (en) System and its control method and program
KR20120063946A (en) Memory apparatus for collective volume memory and metadate managing method thereof
JP6244496B2 (en) Server storage system management system and management method
US20220179672A1 (en) Method and system for composing systems using resource sets
JP7057408B2 (en) Storage system and its control method
US20240037026A1 (en) Memory pooling, provisioning, and sharing
JP6381492B2 (en) Computer system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200709

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210326

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210427

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210623

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210706

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210902

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: 20210914

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211012

R150 Certificate of patent or registration of utility model

Ref document number: 6961045

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150