JP2023036653A - System, control method thereof, and program - Google Patents

System, control method thereof, and program Download PDF

Info

Publication number
JP2023036653A
JP2023036653A JP2022196255A JP2022196255A JP2023036653A JP 2023036653 A JP2023036653 A JP 2023036653A JP 2022196255 A JP2022196255 A JP 2022196255A JP 2022196255 A JP2022196255 A JP 2022196255A JP 2023036653 A JP2023036653 A JP 2023036653A
Authority
JP
Japan
Prior art keywords
storage
node
control unit
volume
request
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.)
Pending
Application number
JP2022196255A
Other languages
Japanese (ja)
Inventor
幸治 岩満
Koji Iwamitsu
拓也 大楠
Takuya Okusu
啓介 鈴木
Keisuke Suzuki
将幸 五明
Masayuki Gomei
真理 井上
Mari Inoue
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 JP2020118474A external-priority patent/JP6961045B2/en
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2022196255A priority Critical patent/JP2023036653A/en
Publication of JP2023036653A publication Critical patent/JP2023036653A/en
Pending legal-status Critical Current

Links

Images

Landscapes

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

Abstract

PROBLEM TO BE SOLVED: To provide a system for improving scalability, a control method thereof, and a program.
SOLUTION: In a system, each of storage nodes constituting a cluster includes a storage control unit that executes I/O processing in accordance with an I/O request. A storage node having received an instruction to generate a logical volume generates a first virtual logical volume identifiable in a cluster, to be provided to a host. The storage node associates the first logical volume with the storage control unit to generate, in the own node, a second virtual logical volume identifiable in the own node, and registers association between the generated first and second logical volumes as mapping information. A storage node having received an I/O request from the host identifies whether a second logical volume associated with a first logical volume designated in the I/O request has been arranged in the own node, based on the mapping information, to determine whether to process the I/O request in the own node.
SELECTED DRAWING: Figure 15
COPYRIGHT: (C)2023,JPO&INPIT

Description

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

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

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

また、かかる既存のストレージ制御ソフトウェアにより実行される共有メモリの処理がハードウェアに依存しているため、汎用のサーバ装置では同様の処理を実行させることができないという問題もあった。 In addition, since the shared memory processing executed by such existing storage control software depends on the hardware, there is also the problem that similar 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, development of an SDS constructed by installing storage control software in a general-purpose server device is underway. Since SDS does not require dedicated hardware and is highly expandable, its demand is on the rise. 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, government offices, etc. has been steadily increasing. Considering such a situation, it is desirable that the storage apparatus has a configuration that can be easily scaled out.

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

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

かかる課題を解決するため本発明においては、複数のストレージノードから構成されるクラスタを含むシステムであって、各前記ストレージノードは、上位装置からのI/O(Input/Output)要求に応じたI/O処理を実行するストレージ制御部を備え、管理装置からの要求に基づく論理ボリューム作成指示を受信した前記ストレージノードは前記クラスタ内で識別可能な仮想的な第1の論理ボリュームを作成し、前記第1の論理ボリュームと、前記ストレージ制御部とを対応付けて、自ノード内で識別可能な仮想的な第2の論理ボリュームを自ノード内に作成し、作成された前記第1及び第2の論理ボリューム間の対応関係がマッピング情報として登録され、前記上位装置からI/O要求を受信した前記ストレージノードは、前記マッピング情報に基づいて前記I/O要求において指定された前記第1の論理ボリュームを介して対応付けられた前記ストレージ制御部が自ノードに配置するか否かを特定することで、自ノードにて前記I/O要求を処理するか否かを特定するようにした。 In order to solve such a problem, the present invention provides a system including a cluster composed of a plurality of storage nodes, wherein each storage node responds to I/O (Input/Output) requests from a host device. The storage node having a storage control unit for executing /O processing and receiving a logical volume creation instruction based on a request from the management device creates a virtual first logical volume identifiable within the cluster, A first logical volume is associated with the storage control unit, a virtual second logical volume identifiable within the self node is created within the self node, and the created first and second Correspondence relationships between logical volumes are registered as mapping information, and the storage node that receives an I/O request from the host device stores the first logical volume specified in the I/O request based on the mapping information. By specifying whether or not the storage control unit associated via is arranged in the own node, it is specified whether or not the I/O request is processed in the own node.

また本発明においては、複数のストレージノードから構成されるクラスタを含むシステムの制御方法であって、各前記ストレージノードは、上位装置からのI/O(Input/Output)要求に応じたI/O処理を実行するストレージ制御部を備え、管理装置からの要求に基づく論理ボリューム作成指示を受信した前記ストレージノードは上位装置に提供される、前記クラスタ内で識別可能な仮想的な第1の論理ボリュームを作成する第1のステップと、前記第1の論理ボリュームと、前記ストレージ制御部とを対応付けて、自ノード内で識別可能な仮想的な第2の論理ボリュームを自ノード内に作成する第2のステップと、作成された前記第1及び第2の論理ボリューム間の対応関係がマッピング情報として登録される第3のステップとが実行されることにより、前記上位装置からI/O要求を受信した前記ストレージノードは、前記マッピング情報に基づいて前記I/O要求において指定された前記第1の論理ボリュームと対応付けられた前記第2の論理ボリュームが自ノードに配置するか否かを特定することで、自ノードにて前記I/O要求を処理するか否かを判定するようにした。 Further, in the present invention, there is provided a control method for a system including a cluster composed of a plurality of storage nodes, wherein each storage node responds to an I/O (Input/Output) request from a host device. A first virtual logical volume identifiable within the cluster, provided to a host device by said storage node having a storage control unit for executing processing and receiving a logical volume creation instruction based on a request from a management device. , the first logical volume, and the storage control unit are associated with each other to create a virtual second logical volume identifiable within the self node. 2 and a third step of registering the created correspondence relationship between the first and second logical volumes as mapping information, thereby receiving an I/O request from the host device. the storage node identifies whether or not the second logical volume associated with the first logical volume specified in the I/O request is to be allocated to the own node based on the mapping information. By doing so, it is determined whether or not the I/O request is to be processed by the own node.

さらに本発明においては、複数のストレージノードから構成されるクラスタを含むシステムにおける前記ストレージノードで実行されるプログラムであって、各前記ストレージノードは、上位装置からのI/O(Input/Output)要求に応じたI/O処理を実行するストレージ制御部を備え、管理装置からの要求に基づく論理ボリューム作成指示を受信した前記ストレージノードは上位装置に提供される、前記クラスタ内で識別可能な仮想的な第1の論理ボリュームを作成する第1のステップと、前記第1の論理ボリュームと、前記ストレージ制御部とを対応付けて、自ノード内で識別可能な仮想的な第2の論理ボリュームを自ノード内に作成する第2のステップと、作成された前記第1及び第2の論理ボリューム間の対応関係がマッピング情報として登録される第3のステップとを前記ストレージノードに実行させることにより、前記上位装置からI/O要求を受信した前記ストレージノードは、前記マッピング情報に基づいて前記I/O要求において指定された前記第1の論理ボリュームと対応付けられた前記第2の論理ボリュームが自ノードに配置するか否かを特定することで、自ノードにて前記I/O要求を処理するか否かを判定するようにした。 Further, according to the present invention, there is provided a program executed by the storage nodes in a system including a cluster composed of a plurality of storage nodes, wherein each storage node receives an I/O (Input/Output) request from a host device. a storage control unit that executes I/O processing in response to a request from a management device, and the storage node that receives a logical volume creation instruction based on a request from a management device is provided to a host device; A first step of creating a unique first logical volume, the first logical volume, and the storage control unit are associated with each other to automatically create a virtual second logical volume identifiable within its own node. By causing the storage node to execute a second step of creating in the node and a third step of registering the created correspondence relationship between the first and second logical volumes as mapping information, The storage node, which has received the I/O request from the host device, determines that the second logical volume associated with the first logical volume specified in the I/O request is the self node based on the mapping information. By specifying whether or not to place the I/O request in the own node, it is determined whether or not to process the I/O request.

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

本発明によれば、拡張性を向上させ得るシステム及びその制御方法並びにプログラムを実現できる。上記した以外の課題、構成及び効果は、以下の発明を実施するための形態の説明により明らかにされる。 ADVANTAGE OF THE INVENTION According to this invention, the system which can improve expandability, its control method, and a program can be implement|achieved. Problems, configurations, and effects other than those described above will be clarified by the following description of the mode for carrying out the invention.

本実施の形態による情報処理システムの全体構成を示すブロック図である。1 is a block diagram showing the overall configuration of an information processing system according to this embodiment; FIG. ストレージノードのハードウェア構成を示すブロック図である。3 is a block diagram showing the hardware configuration of a storage node; FIG. ストレージノードのソフトウェア構成を示すブロック図である。3 is a block diagram showing the software configuration of a storage node; FIG. ストレージノードにおける記憶領域の対応関係の説明に供するブロック図である。FIG. 3 is a block diagram for explaining correspondence relationships between storage areas in a storage node; FIG. ストレージ制御部ペアテーブルの構成例を示す図表である。FIG. 11 is a chart showing a configuration example of a storage control unit pair table; FIG. フロントエンドテーブルボリュームテーブルの構成例を示す図表である。FIG. 11 is a chart showing a configuration example of a front-end table volume table; FIG. マッピングテーブルの構成例を示す図表である。4 is a chart showing a configuration example of a mapping table; フロントエンドターゲットテーブルの構成例を示す図表である。4 is a chart showing a configuration example of a front-end target table; ストレージ制御部情報管理テーブルの構成例を示す図表である。4 is a chart showing a configuration example of a storage control unit information management table; グローバルプールボリュームテーブルの構成例を示す図表である。4 is a chart showing a configuration example of a global pool volume table; 各テーブル間における情報の対応関係の説明に供する概念図である。FIG. 4 is a conceptual diagram for explaining correspondence relationships of information between tables; 内部ボリューム作成時における処理の流れを示すシーケンス図である。FIG. 10 is a sequence diagram showing the flow of processing when creating an internal volume; クラスタ内のストレージノードに障害が発生した場合に当該クラスタにおいて実行される一連の処理の流れを示すシーケンス図である。FIG. 10 is a sequence diagram showing a series of processes executed in a cluster when a failure occurs in a storage node within the cluster; クラスタにストレージノードが増設された場合に当該クラスタにおいて実行される一連の処理の流れを示すシーケンス図である。FIG. 10 is a sequence diagram showing a series of processes executed in a cluster when a storage node is added to the cluster; 本情報処理システムにおいて実行されるライト処理の流れを示すシーケンス図である。4 is a sequence diagram showing the flow of write processing executed in this information processing system; FIG. 本情報処理システムにおいて実行されるリード処理の流れを示すシーケンス図である。4 is a sequence diagram showing the flow of read processing executed in the information processing system; FIG.

以下、図面を参照して、本発明の一実施の形態を詳述する。以下の記載及び図面は、本発明を説明するための例示であって、説明の明確化のため、適宜、省略及び簡略化がなされている。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。本発明が実施の形態に制限されることは無く、本発明の思想に合致するあらゆる応用例が本発明の技術的範囲に含まれる。本発明は、当業者であれば本発明の範囲内で様々な追加や変更等を行うことができる。本発明は、他の種々の形態でも実施する事が可能である。特に限定しない限り、各構成要素は複数でも単数でも構わない。 An embodiment of the present invention will be described in detail below with reference to the drawings. The following description and drawings are examples for explaining the present invention, and are appropriately omitted and simplified for clarity of explanation. Also, not all combinations of features described in the embodiments are essential for the solution of the invention. The present invention is not limited to the embodiments, and all applications consistent with the idea of the present invention are included in the technical scope of the present invention. A person skilled in the art can make various additions and modifications 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 singular or plural.

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

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

また、以下の説明では、プログラムを実行して行う処理を説明する場合があるが、プログラムは、少なくとも1以上のプロセッサ(例えばCPU)によって実行されることで、定められた処理を、適宜に記憶資源(例えばメモリ)及び/又はインターフェースデバイス(例えば通信ポート)等を用いながら行うため、処理の主体がプロセッサとされてもよい。同様に、プログラムを実行して行う処理の主体が、プロセッサを有するコントローラ、装置、システム、計算機、ノード、ストレージシステム、ストレージ装置、サーバ、管理計算機、クライアント、又はホストであってもよい。プログラムを実行して行う処理の主体(例えばプロセッサ)は、処理の一部又は全部を行うハードウェア回路を含んでもよい。例えば、プログラムを実行して行う処理の主体は、暗号化及び復号化、又は圧縮及び伸張を実行するハードウェア回路を含んでもよい。プロセッサは、プログラムに従って動作することによって、所定の機能を実現する機能部として動作する。プロセッサを含む装置及びシステムは、これらの機能部を含む装置及びシステムである。 Further, in the following description, there are cases where processing performed by executing a program will be described. Since processing is performed using resources (eg, memory) and/or interface devices (eg, communication ports), etc., the subject of processing may be a processor. Similarly, the subject of processing performed by 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. A main body (for example, a processor) that performs processing by executing a program 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 performs encryption and decryption, or compression and decompression. A processor operates as a functional unit that implements a predetermined function by operating according to a program. Devices and systems that include processors are devices and systems that include these functional units.

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

(1)本実施の形態による情報処理システムの構成
図1は、本実施の形態による情報処理システム1の構成を示す図である。この情報処理システム1は、複数のコンピュートノード2と、複数のストレージノード3と、管理ノード4とを備えて構成される。
(1) Configuration of Information Processing System According to this Embodiment FIG. 1 is a diagram showing a configuration of an information processing system 1 according to this embodiment. This information processing system 1 comprises 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を介して接続されている。 The compute node 2, storage node 3, and management node 4 are connected via a storage service network 5 composed of, for example, Fiber Channel (FC), Ethernet (registered trademark), InfiniBand, or wireless LAN (Local Area Network). connected. The storage nodes 3 are connected via a backend 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 backend network 6 may be configured by the same network, and each compute node 2 and each storage node 3 is connected to a management network other than the storage service network 5 and the backend network 6. may have been

コンピュートノード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) for the storage node 3 . The compute node 2 may be a virtual computer device such as a virtual machine. The compute node 2 sends a read request or write request to the storage node 3 via the storage service network 5 in response to a user operation or a request from an installed application program. /Output) to 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 storage areas for reading and writing data to the compute node 2 . The storage node 3, as shown in FIG. A storage device 12 and first and second communication devices 13 and 14 are connected via an internal network 15 . Each storage node 3 includes one or more CPU 10, memory 11, 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 . The memory 11 is composed of a volatile semiconductor memory such as SRAM (Static RAM (Random Access Memory)) or DRAM (Dynamic RAM), and serves as a work memory for the CPU 10 to temporarily hold various programs and necessary data. used for At least one or more CPUs 10 execute programs stored in the memory 11 to execute various processes of the storage node 3 as a whole, which will be described later.

記憶装置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 is an NVMe (Non-Volatile Memory) drive, SAS (Serial Attached SCSI (Small Computer System Interface)) drive, SATA (Serial ATA (Advanced Technology Attachment)), SSD (Solid State Drive), or SCM (Storage Class 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 performs protocol control during 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 other storage nodes 3 via the backend network 6, and is composed of, for example, a NIC (Network Interface Card) or a wireless LAN card. . The second communication device 14 performs protocol control during communication with other storage nodes 3 .

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

管理ノード4は、本情報処理システム1の管理者(以下、これをシステム管理者と呼ぶ)が、本情報処理システム1の構成管理や各種設定を行うために利用するコンピュータ装置である。管理ノード4は、システム管理者の操作に応じて、コンピュートノード2やストレージノード3に対して必要な指示を与える。 The management node 4 is a computer device used by an administrator of the information processing system 1 (hereinafter referred to as a system administrator) to manage the configuration of the information processing system 1 and perform various settings. 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 this embodiment. As shown in FIG. 3, each storage node 3 includes a data plane 24 having a front end section 20, one or more storage control sections 21, a capacity control section 22 and a back end section 23, a cluster control section 25 and a node and 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 within its own node that should execute the I/O request, or the The I/O request is distributed to another storage node 3 where the storage control unit 21 to be executed 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 an SDS (Software Defined Storage) controller. The storage control unit 21 may be called storage control software or a storage control program. The storage control unit 21 receives an I/O request from the compute node 2 given from the front end unit 20 and issues an I/O command to the back end unit 23 in response to the received I/O request.

ここで、本実施の形態の場合、ストレージノード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. be. This pair is hereinafter referred to as a storage controller 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 two storage control units 21, and the storage control unit pair 28 is also configured by two storage control units 21 below. However, three or more storage control units 21 may form one redundant configuration.

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

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

容量制御部22は、自ノード内に配置されたアクティブストレージ制御部21が構成するストレージ制御部ペア28に対して、自ノード内又は他ノード内の記憶装置12(図2)が提供する物理的な記憶領域を割り当てる機能を有するソフトウェアである。容量制御部22は、容量制御ソフトウェアや、容量制御プログラムと呼ばれてもよい。 The capacity control unit 22 provides a physical capacity provided by the storage device 12 (FIG. 2) in the own node or another node to the storage control unit pair 28 configured by the active storage control unit 21 arranged in the own node. It is software that has the function of allocating various storage areas. The capacity control unit 22 may be called capacity control software or 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, according to the above-mentioned I/O command given from the active storage control unit 21, the storage area allocated by the capacity control unit 22 to the storage control unit pair 28 configured by 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 cluster control software or cluster control program. In the information processing system 1, one cluster control unit 25 among the cluster control units 25 mounted on each storage node 3 in the cluster 7 is set as the master, and the cluster control unit set as the master (hereinafter referred to as Only the master cluster control unit 25 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 the storage control unit pair 28 in the cluster 7 in response to a request from the management node 4, and stores the set storage control unit pair 28 in the storage control unit pair table 30 described later with reference to FIG. to register and manage.

またマスタクラスタ制御部25以外のクラスタ制御部25は、マスタクラスタ制御部25の障害に備えて、ホットスタンバイ(Hot stand-by)モード又はワームスタンバイ(Warm stand-by)モードのいずれかの動作モードに設定される。 In addition, the cluster control units 25 other than the master cluster control unit 25 operate in either a hot standby mode or a warm standby mode in preparation for 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 in the storage node 3 in which the master cluster control unit 25 is installed, the processing executed by the master cluster control unit 25 can be immediately taken over. This is an operation mode that maintains the activated standby state.

ホットスタンバイモードのクラスタ制御部25は、マスタクラスタ制御部25が実行していた処理を直ちに引き継げるよう、上述のストレージ制御部ペアテーブル30(図5)などのマスタクラスタ制御部25が管理するすべての管理情報と同じ内容の管理情報を保持している。 The cluster control unit 25 in the hot standby mode stores all the data managed by the master cluster control unit 25 such as the above-described storage control unit pair table 30 (FIG. 5) so that the processing that the master cluster control unit 25 was executing can be taken over immediately. It holds management information with the same content 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 sent from the master cluster control unit 25 via the backend network 6 as differential data to all hot standby mode cluster controls. Based on the differential data, 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により引き継ぐことが可能となる。 Since the cluster control unit 25 in hot standby mode always retains the same management information as the master cluster control unit 25 in this way, a failure occurs in the master cluster control unit 25 or the like, and the cluster that has been in hot standby mode until then fails. Even when the control unit 25 is switched to the "master", the cluster control unit (master cluster control unit) 25 switched to the "master" takes over the control processing that the original master cluster control unit 25 has been executing. becomes possible.

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

なお、マスタクラスタ制御部25は、2つ以上のマスタクラスタ制御部25が存在する状態を防ぐため、3つ以上のクラスタ制御部25を稼働させ、これら稼働させたクラスタ制御部25の中から多数決により選定される。そして、稼働させた残りのクラスタ制御部25がホットスタンバイモードに設定される。 In order to prevent a state in which two or more master cluster control units 25 exist, the master cluster control unit 25 activates three or more cluster control units 25, and the cluster control units 25 that are activated are selected by majority. Selected by Then, the remaining cluster control units 25 that are operated are 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 its own node in response to a request from the master cluster control unit 25 . The node control unit 26 may be called 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 processing completed within each storage node 3 so as not to concentrate the load on itself. When receiving such a request, the node control unit 26 executes control processing for the data plane 24 of its own node according to 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 to the front-end unit 20 and the storage control unit 21 in each storage node 3 are given from the master cluster control unit 25 through 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 transmitted from the master cluster control unit 25 to the front end unit. Description will be made assuming that the information is 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 storage areas in the information processing system 1 of this embodiment. As shown in FIG. 4, in the present embodiment, the capacity controller 22 controls the physical storage areas provided by the storage devices 12 in the storage nodes 3 to each have a predetermined size (hereinafter referred to as a storage area). are called physical chunks) are divided into PCs and managed.

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

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

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

さらに、各内部ボリュームIVOLは、それぞれ対応するストレージ制御部ペア28(その内部ボリュームIVOLとプールPLを介して対応付けられたストレージ制御部ペア28)を構成するアクティブストレージ制御部21に定義された仮想的なポート(以下、これを仮想ポートと呼ぶ)VPTと、当該ストレージ制御部ペア28を構成するパッシブストレージ制御部21に定義された仮想ポートVPTとをそれぞれ介して、これらアクティブストレージ制御部21やパッシブストレージ制御部21が配置された各ストレージノード3内にそれぞれ定義された仮想的な論理ボリュームであるグローバルプールボリュームGVOLと1対1に対応付けられる。 Furthermore, each internal volume IVOL is a virtual volume defined in the active storage control unit 21 that configures the corresponding storage control unit pair 28 (the storage control unit pair 28 that is associated with the internal volume IVOL via the pool PL). These active storage control units 21 and It is associated one-to-one 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.

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

また各グローバルプールボリュームGVOLは、それぞれそのグローバルプールボリュームGVOLと内部ボリュームIVOLを介して対応付けられたストレージ制御部ペア28を構成するアクティブストレージ制御部21やパッシブストレージ制御部21が配置された各ストレージノード3内にそれぞれ定義された仮想的な論理ボリュームであるホストボリュームHVOLと1対Nに対応付けられる。このホストボリュームHVOLは、データを読み書きするための記憶領域としてコンピュートノードに提供されるボリュームである。 In addition, each global pool volume GVOL is each storage in which the active storage control unit 21 and the passive storage control unit 21 constituting the storage control unit pair 28 associated via the global pool volume GVOL and the internal volume IVOL are arranged. Each host volume HVOL, which is a virtual logical volume defined in the node 3, is associated in a one-to-N correspondence. 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に対応付けられる。 Furthermore, each host volume HVOL is located in the storage node 3 where the active storage controller 21 of the storage controller pair 28 corresponding to the internal volume IVOL with which the host volume HVOL is associated via the global pool volume GVOL is arranged. It is associated with the physical port PPT of the storage node 3 on a one-to-one basis via the defined target TG.

なおグローバルプールボリュームGVOLは、管理ノード4を介したシステム管理者からの作成指示に応じてクラスタ7内で固有の識別番号が付与されて作成される。このとき、そのグローバルプールボリュームGVOLと併せて、そのグローバルプールボリュームGVOLと1対1で対応付けられる内部ボリュームIVOLが、指定されたストレージ制御部ペア28と対応付けて作成される。 The global pool volume GVOL is created with a unique identification number assigned within 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 corresponding to the global pool volume GVOL on a one-to-one basis is created in association with the designated storage controller pair 28 .

また、グローバルプールボリュームGVOLは、システム管理者が管理ノード4を介してストレージノード3内にターゲットTGを作成する際、そのターゲットTGにそのグローバルプールボリュームGVOLを登録することにより、当該ターゲットTGと対応付けられたホストボリュームHVOLと関連付けられる。 Also, 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 purpose of existence of the global pool volume GVOL is to avoid duplication of the identification number of the internal volume IVOL associated with the host volume HVOL within the cluster 7 . Actually, in this embodiment, the IVOL number of the internal volume IVOL associated with each storage controller pair 28 is unique within the storage node 3 but not within the cluster 7 . For this reason, in the present embodiment, a global pool volume GVOL having a unique GVOL number within the cluster 7 is interposed between the internal volume IVOL and the host volume HVOL, so that the correspondence relationship between the host volume HVOL and the internal volume IVOL is established. making it uniquely identifiable.

一方、コンピュートノード2側では、クラスタ7を構成する複数のストレージノード3が1つのストレージ装置に見えており、ホストボリュームHVOLをそのストレージ装置が自ノードに提供する記憶領域として認識する。 On the other hand, on the compute node 2 side, the plurality of storage nodes 3 that make up the cluster 7 appear 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 each compute node 2 can recognize is only the host volume HVOL set in that compute node 2 by the system administrator via the management node 4 . Therefore, the compute node 2 will recognize only the host volume HVOL set by the management node 4 as a storage area provided by such a storage device.

また各コンピュートノード2は、自ノードの物理ポート(図示せず)から、クラスタ7内のいずれかのストレージノード3内に定義されたターゲットTGまでのパスを管理している。そしてホストコンピュータ2は、所望するホストボリュームHVOLにデータをリード/ライトする場合には、リード/ライト先のホストボリュームHVOLと、当該ホストボリュームHVOL内のリード/ライト先の記憶領域と、対象とするデータのデータ長とを指定したI/O要求を、自ノードが認識するターゲットTGに向けて送信する。 Each compute node 2 also manages a path from its own physical port (not shown) to a target TG defined within any one of the storage nodes 3 within the cluster 7 . When the host computer 2 reads/writes data to a desired host volume HVOL, the host volume HVOL to be read/written and the storage area of the read/write destination within the host volume HVOL are targeted. It transmits an I/O request specifying the data length of the data to the target TG recognized by its 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) creates a front-end table volume table 31 described later with reference to FIG. 6, a mapping table 32 described later with reference to FIG. 7, and a global pool volume table 32 described later with reference to FIG. The 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 uses a management table (not shown) to manage the correspondence from the internal volume IVOL to the logical chunk LC. The capacity control unit 22 (FIG. 3) manages the correspondence relationship between the logical chunks LC and the physical chunks PC using a management table (not shown).

そして、フロントエンド部20は、コンピュートノード2からのI/O要求を受信した場合、かかるマッピングテーブル32及びグローバルプールボリュームテーブル35を参照して、このI/O要求において指定されたホストボリュームHVOLとグローバルプールボリュームGVOL及び内部ボリュームIVOLを順次介して対応付けられたアクティブストレージ制御部21が配置されたストレージノード3を特定する。 Then, when receiving an 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 to determine the host volume HVOL specified in this I/O request. Identify the storage node 3 in which the active storage controller 21 associated sequentially via the global pool volume GVOL and the internal volume IVOL is located.

そして、フロントエンド部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 assigns 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 to the volume number of the internal volume IVOL associated via GVOL, the I/O request is transferred to the active storage control unit 21 in its 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に転送する。 If the specified storage node 3 is another storage node 3, the front end unit 20 determines that the I/O request to the storage node 3 should be executed in the other storage node 3. , the I/O request is transferred to the identified storage node 3 via the backend network 6 . Thus, the front end unit 20 of the storage node 3 to which this I/O request has been transferred assigns the volume number of the read/write destination host volume HVOL included in this I/O request to the host volume HVOL and the global pool volume. After rewriting to the volume number of the internal volume IVOL associated via GVOL, the I/O request is transferred to the corresponding active storage control unit 21 within its own node.

そして、このI/O要求を受領したアクティブストレージ制御部21は、当該I/O要求において指定された内部ボリュームIVOL及び当該内部ボリュームIVOL内の記憶領域とプールPL及び外部ボリュームExtVOLを順次介して対応付けられた論理チャンクLC及び当該論理チャンクLC内の記憶領域を上述の図示しない管理テーブルを用いて特定する。 After receiving this I/O request, the active storage control unit 21 responds sequentially via the internal volume IVOL specified in the I/O request, the storage area within 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 identified using the above-described management table (not shown).

かくして、そのストレージノード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 backend unit 23 stores data in the corresponding storage areas of all the physical chunks PC associated with the logical chunk LC. are written respectively. If the I/O request is a read request, the backend unit 23 reads data from one physical chunk PC among the physical chunk PCs associated with the logical chunk LC. It is transferred to the compute node 2 that sent the read request.

なお、本実施の形態の場合、上述のようにコンピュートノード2からのデータは、I/O要求において指定されたホストボリュームHVOLとグローバルプールボリュームGVOL及び内部ボリュームIVOL等を順次介して対応する論理チャンクLCに対応付けられた複数の物理チャンクPCに冗長化されて格納される。このため容量制御部22により各論理チャンクLCにそれぞれ対応付けられる物理チャンクPCの数は、その情報処理システム1における冗長化方式の設定内容によって決定される。 In the case of this embodiment, as described above, the data from the compute node 2 is transferred to the corresponding logical chunks through the host volume HVOL, global pool volume GVOL, internal volume IVOL, etc. specified in the I/O request. It is redundantly stored in a plurality of physical chunk PCs associated with the LC. Therefore, the number of physical chunks PC to be associated with each logical chunk LC by the capacity control unit 22 is determined by the setting details 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 data to be duplicated and stored, two physical chunks PC are associated with one logical chunk LC, and data is set to be multiplexed and stored in triplicate or more. For example, three or more physical chunks PC 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 to be associated with the logical chunk LC is selected from the physical chunk PC in the storage node 3 different from the storage node 3 where the active storage control unit 21 is arranged, the active storage control When the capacity control unit 22 receives an I/O command from the unit 21 and reads/writes data from/to the physical chunk PC, communication with the storage node 3 that provides the physical chunk PC is required. Accordingly, the response performance of the system as a whole deteriorates. Therefore, when associating a plurality of physical chunk PCs with the logical chunk LC, one of the physical chunk PCs is assigned to the physical chunk PC provided by the storage device 12 in the storage node 3 where the active storage controller 21 is arranged. From the viewpoint of response performance of the entire system, it is desirable to select one of the following.

また、ストレージ制御部ペア28におけるアクティブストレージ制御部21が配置されたストレージノード3に障害が発生した場合に、パッシブストレージ制御部21がアクティブモードに切り替えられることを考慮すると、上述と同様の理由により、論理チャンクLCに対応付ける物理チャンクPCのうちの1つは、パッシブストレージ制御部21が配置されたストレージノード3内の記憶装置12が提供する物理チャンクPCの中から選択する方がシステム全体の応答性能の観点からも望ましい。 Considering that the passive storage control unit 21 is switched to the active mode when a failure occurs in the storage node 3 in the storage control unit pair 28 where the active storage control unit 21 is arranged, 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 a performance point of view.

そこで本情報処理システム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 allocates a logical chunk LC to the storage control unit pair 28, and when associating a plurality of physical chunks PC 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 controller 21 of the pair 28 is arranged, and the storage in the storage node 3 in which the passive storage controller 21 of the storage controller 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 used to manage the configuration of each storage control unit pair 28 and the correspondence between the host volume HVOL, global pool volume GVOL and internal volume IVOL as described above. An example of the configuration 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により管理される。 Of 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. The global pool volume 35 shown is managed by the front end unit 20 . Furthermore, the storage controller configuration information table 34 shown in FIG. 9 is managed by the storage controller 21 .

またストレージ制御部ペアテーブル30、フロントエンドテーブルボリュームテーブル31、マッピングテーブル32、フロントエンドターゲットテーブル33及びグローバルプールボリュームテーブル35は、クラスタ7内のいずれかのストレージノード3において更新された場合にこれと同期して他のすべてのストレージノード3において同様に更新され、これにより各ストレージノード3間で常に同一の内容に維持される。 Also, the storage controller 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 in any of the storage nodes 3 within the cluster 7. All the other storage nodes 3 are synchronized and updated in the same way, so that the same contents are always maintained 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. As shown in FIG. , a pair number column 30A, an active column 30B and a passive column 30C. In this storage controller pair table 30 , one row corresponds to one storage controller pair 28 , and all storage controller pairs 28 within cluster 7 are registered in this storage controller pair table 30 .

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

またアクティブ欄30Bは、ノード番号欄30BA及びストレージ制御部欄30BBに区分されている。そして、ノード番号欄30BAには、対応するストレージ制御部ペア28を構成する2つのストレージ制御部21のうちのアクティブストレージ制御部21が配置されたストレージノード3の識別番号(ノード番号)が格納され、ストレージ制御部番号欄30BBには、そのアクティブストレージ制御部21の識別番号(ストレージ制御部番号)が格納される。 The active column 30B is divided into a node number column 30BA and a storage controller column 30BB. The node number column 30BA stores 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 forming the corresponding storage control unit pair 28 is arranged. 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 controller number column 30CB. Then, the node number column 30CA stores the node number of the storage node 3 in which the passive storage control unit 21 of the two storage control units 21 forming the corresponding storage control unit pair 28 is arranged. 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 example of FIG. 5, the storage controller pair 28 with the pair number "1" is the active storage controller with the storage controller number "0" arranged in the storage node 3 with the node number "0". It is shown that it is composed of a storage control unit 21 and a passive storage control unit 21 with a storage control unit number of "1" arranged in the storage node 3 with a node number of "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 relationship between the host volume HVOL and the internal volume IVOL. As shown in FIG. 6, the front-end table volume table 31 includes a host volume ID column 31A, a UUID column 31B, a first node identification information column 31C, a second node identification information column 31D, and an active side node identification information column 31E. , a storage control unit number column 31F, a virtual port number column 31G and an internal volume number column 31H. In this front-end table volume table 31, one row corresponds to one host volume HVOL, and all host volumes HVOL within the cluster 7 are registered.

そしてボリューム番号欄31Aには、対応するホストボリュームHVOLに対して付与されたそのホストボリュームHVOLに固有のボリューム番号がそれぞれ格納される。このボリューム番号は、コンピュートノード2が認識するそのホストボリュームHVOLの識別番号(ボリューム番号)である。 The volume number column 31A stores a volume number unique to the host volume HVOL assigned to the corresponding host volume HVOL. This volume number is the 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のボリューム番号が格納される。 The UUID column 31B stores a UUID (Universally Unique Identifier) unique to the host volume HVOL assigned within the cluster 7 to the corresponding host volume HVOL, and the internal volume number column 31H stores the corresponding host volume HVOL. The volume number of internal volume IVOL associated with volume HVOL is stored.

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

さらにアクティブ側ノード特定情報欄31Eには、これら2つのストレージノード3のうち、アクティブストレージ制御部21が配置されたストレージノード3のストレージノード特定情報が格納される。またストレージ制御部番号欄31Fには、そのアクティブストレージ制御部21のストレージ制御部番号が格納され、仮想ポート番号欄31Gには、そのアクティブストレージ制御部21に定義された仮想ポートVPTのうち、対応するホストボリュームHVOL及び対応する内部ボリュームIVOLが接続された仮想ポートVPTの識別番号(ポート番号)が格納される。 Further, the active side node identification information column 31E stores the storage node identification information of the storage node 3 in which the active storage control unit 21 is arranged among these two storage nodes 3 . 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 VPT defined in the active storage control unit 21 is stored in the virtual port number column 31G. The identification number (port number) of the virtual port VPT to which the corresponding 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 controller 21 with the storage controller number "1" arranged in the storage node 3 with the node identification information "sn1" and the storage node with the node identification 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 configured by the passive storage control unit 21 arranged in 3, and this internal volume IVOL is the active storage control unit 21. It is shown that it is associated with the host volume HVOL with the volume number "1" through the virtual port VPT with the port number "Cl1-a" defined in the storage control unit 21. FIG. FIG. 6 also shows that the UUID within the cluster 7 of the host volume HVOL 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 to manage the correspondence between global pool volume GVOL and internal volume IVOL. The mapping table 32, as shown in FIG. 7, comprises 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 controller number column 32E. In the mapping table 32, one row corresponds to one global pool volume GVOL, and all global pool volumes GVOL within the cluster 7 are registered.

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

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

さらにストレージ制御部番号欄32Eには、その内部ボリュームIVOLと対応付けられたストレージ制御部ペア28(割り当てられたプールPL上にその内部ボリュームIVOLが定義されたストレージ制御部ペア28)を構成する2つのストレージ制御部21のうち、アクティブストレージ制御部21のストレージ制御部番号が格納される。 Furthermore, in the storage control unit number column 32E, the storage control unit pair 28 associated with the internal volume IVOL (storage control unit pair 28 in which the internal volume IVOL is defined on the allocated pool PL)2 Among 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 with the volume number "1" is given a UUID of "Xxxxxxxxxxxxx" in the cluster 7, and the active storage controller 21 with the storage controller number "1" is It is indicated that it is associated with the internal volume IVOL with the volume number "1" defined in the allocated storage node 3 with the 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 on a one-to-one basis for each physical port PPT (FIG. 4) of the storage node 3 and the host volume HVOL. table that is used. The front-end target table 33, as shown in FIG. 8, comprises 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 within the cluster 7 are registered.

そしてターゲット番号欄33Aには、対応するターゲットTGに付与されたそのターゲットTGに固有の識別番号(ターゲット番号)が格納され、ターゲット名欄33Bには、対応するターゲットTGに付与された名称(ターゲット名)が格納される。このターゲット名は、ユーザ又は管理ノード4により付与された名称である。 The target number column 33A stores an identification number (target number) unique to the target TG given to the corresponding target TG, and the target name column 33B stores the name given to the corresponding target TG (target 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アドレスが格納される。 The UUID column 33C stores the UUID of the target TG within the cluster 7 assigned to the corresponding target TG. Furthermore, the target IP column 33D stores the IP address on the storage service network 5 of the physical port PPT to which the target TG is set.

さらにホストボリューム番号リスト欄33Eには、対応するターゲットTGと対応付けられたすべてのホストボリュームHVOLのボリューム番号が格納され、イニシエータ名欄33Fには、対応するターゲットTGにログイン可能なコンピュートノード2の名称(イニシエータ名)が格納される。 Furthermore, the host volume number list column 33E stores the volume numbers of all host volumes HVOL associated with the corresponding target TG, and the initiator name column 33F stores the names of the compute nodes 2 that can log in to the corresponding target TG. A 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, a target TG with a target name of "AAAA" assigned a target number of "1" is assigned a UUID of "Xxxxxxxxxxxxx" in 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 volume numbers "1", "2", ... "N" are given to the target TGs. It shows that a plurality of host volumes HVOL are associated, and that the compute node 2 with the initiator name "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 to manage the correspondence relationship between the virtual port VPT and the internal volume IVOL, and as shown in FIG. configured with. This storage controller configuration information table 34 is created for each storage controller 21 and managed by the corresponding storage controller 21 .

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

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

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

従って、図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 at least the host volume HVOL assigned the volume number "1". A target TG assigned a target number of "1" and a target TG assigned a target number of "2" are associated with each other (see FIG. 4).

なお、フロントエンドテーブルボリュームテーブル31、マッピングテーブル32、フロントエンドターゲットテーブル33、ストレージ制御部構成情報テーブル34及びグローバルプールボリューム35間における情報の対応関係を図11に示す。 FIG. 11 shows the information 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. As shown in FIG.

この図11に示すように、フロントエンドテーブルボリュームテーブル31の仮想ポート番号欄31G(図6)及び内部ボリューム番号欄31H(図6)にそれぞれ格納された仮想ポート番号及びボリューム番号が、それぞれその仮想ポート番号が付与された仮想ポートVPT(図4)を備えるストレージ制御部21が管理するストレージ制御部構成情報管理テーブル34の仮想ポート番号欄34A(図9)及び内部ボリューム番号欄34B(図9)にそれぞれ格納されている仮想ポート番号やボリューム番号と対応する。 As shown in FIG. 11, the virtual port number and volume number respectively 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 correspond to the respective virtual A virtual port number column 34A (FIG. 9) and an 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) assigned a port number corresponds to the virtual port number and volume number stored in the respective.

従って、フロントエンドテーブルボリュームテーブル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 key is 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. Correspondence between lines can be recognized.

またマッピングテーブル32のグローバルプールボリューム番号欄32A(図7)に格納されたボリューム番号は、グローバルプールボリュームテーブル35のグローバルプールボリューム番号欄35Aに格納されたボリューム番号と対応する。従って、マッピングテーブル32及びグローバルプールボリュームテーブル35間では、グローバルプールボリュームGVOLのボリューム番号をキーとして、行同士の対応関係を認識することができる。 Also, the volume numbers stored in the global pool volume number column 32A (FIG. 7) of the mapping table 32 correspond to the volume numbers stored in the global pool volume number column 35A of the global pool volume table 35. FIG. Therefore, between the mapping table 32 and the global pool volume table 35, the correspondence between rows can be recognized 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のボリューム番号をキーとして、行同士の対応関係を認識することができる。 Furthermore, the volume number stored in the internal volume number column 32C (FIG. 7) of the mapping table 32 is storage control unit configuration information managed by the active storage control unit 21 that provides the internal volume IVOL (FIG. 4) of that internal volume number. It corresponds to the volume number stored in the internal volume number column 34B (FIG. 9) of the management table 34. FIG. Therefore, between the mapping table 33 and the storage control unit configuration information management table 34, the correspondence between rows can be recognized using the volume number of the internal volume IVOL as a key.

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

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

本情報処理システム1において、システム管理者は、コンピュートノード2に提供する新たなホストボリュームHVOLを作成する場合、管理ノード4を操作することにより、そのとき作成しようとするホストボリュームHVOLと対応付けるグローバルプールボリュームGVOLの作成要求(以下、これをグローバルプールボリューム作成要求)をマスタクラスタ制御部25が配置されたストレージノード3に送信する(S1)。 In this information processing system 1, when creating a new host volume HVOL to be provided to the compute node 2, the system administrator operates the management node 4 to create a global pool associated with the host volume HVOL to be created at that time. A volume GVOL creation request (hereinafter referred to as a global pool volume creation request) is sent to the storage node 3 where 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. At that time, the optimum storage control unit pair 28 (FIG. 3) for associating the global pool volume GVOL to be created is selected (S3). For example, the master cluster controller 25 selects the storage controller pair 28 in which the active storage controller 21 is arranged in the storage node 3 with the lowest load in step S3.

またマスタクラスタ制御部25は、ステップS3で選択したストレージ制御部ペア28を構成するストレージ制御部21のうち、アクティブストレージ制御部21が配置されたストレージノード3に対して、グローバルプールボリュームGVOLを作成すべき旨の指示(以下、これをグローバルプールボリューム作成指示と呼ぶ)と、内部ボリュームIVOLを作成すべき旨の指示(以下、これを内部ボリューム作成指示と呼ぶ)とをバックエンドネットワーク6を介して送信する(S4A,S4B)。 In addition, the master cluster control unit 25 creates a global pool volume GVOL for the storage node 3 where the active storage control unit 21 is arranged among the storage control units 21 configuring the storage control unit pair 28 selected in step S3. (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) via the backend 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 a global pool volume GVOL within its own node (S5A). In addition, the active storage control unit 21 of the storage node 3, according to the internal volume creation instruction, creates a pool PL (FIG. 4) allocated to the storage control unit pair 28 configured by the own storage control unit 21 within the own node. and the global pool volume GVOL created in step S5A to create an internal volume IVOL (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 do not have entities, the creation of these global pool volumes GVOL and internal volume IVOL is performed by using the information in the global pool volume table 35 (FIG. 10) and the This is done by registering in the corresponding storage controller 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 self-managed global pool volume table 35 (FIG. 10), and fills the global pool volume number column 35A (FIG. 10) of the row with the global pool volume Stores the volume number assigned to the GVOL.

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

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

そして、このアクティブストレージ制御部21は、この後、このようにして作成した内部ボリュームIVOLのボリューム番号と、その内部ボリュームIVOLと対応付けた仮想ポートVPTのポート番号とを含む完了通知を、バックエンドネットワーク6を介してマスタクラスタ制御部25に通知する(S6B)。 After that, the active storage control unit 21 sends a completion notification including the volume number of the internal volume IVOL thus created and the port number of the virtual port VPT associated with the internal volume IVOL to the backend. The master cluster control unit 25 is notified 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, upon receiving these completion notifications, the master cluster control unit 25 stores the global pool volume GVOL and the internal volume IVOL in the front end table volume table 31 (FIG. 6), mapping table 32 (FIG. 7) and It instructs the front end unit 20 in its own node to register in the global pool volume table 35 (FIG. 10). Thus, the front-end unit 20 that received this instruction stores these data in 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 its own node. The global pool volume GVOL and its internal volume IVOL are registered (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 its own node, and fills the first node-specific information column 31C in 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. In addition, 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 identification information column 31D (FIG. 6) of that row. Storage node identification information of node 3 is stored.

またフロントエンド部20は、その行のアクティブ側ノード特定情報欄31E(図6)に、かかるストレージ制御部ペア28を構成する2つのストレージ制御部21のうちのアクティブストレージ制御部21が配置されたストレージノード3のストレージノード特定情報を格納すると共に、その行のストレージ制御部番号欄31F(図6)に、そのアクティブストレージ制御部21のストレージ制御部番号を格納する。 In the front end unit 20, the active storage control unit 21 of the two storage control units 21 forming the storage control unit pair 28 is arranged in the active side node identification information column 31E (FIG. 6) of that row. The storage node identification information of the storage node 3 is stored, and the storage controller number of the active storage controller 21 is stored in the storage controller number column 31F (FIG. 6) of that 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 sent from the corresponding storage control unit 21 received in step S7 in the virtual port number column 31G (FIG. 6) of that row. At the same time, the volume number of the internal volume included in the completion notice is stored in the internal volume number column 31H (FIG. 6) of that row.

同様に、フロントエンド部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 the UUID column 32B (FIG. 7) of the row respectively with 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 that global pool volume GVOL is stored in the internal volume number column 32C (FIG. 7) of that row.

またフロントエンド部20は、その行のノード番号欄32D(図7)に、ステップS3で選択したストレージ制御部ペア28のアクティブストレージ制御部21が配置されているストレージノード3のノード番号を格納すると共に、その行のストレージ制御部番号欄32E(図7)に、当該アクティブストレージ制御部21のストレージ制御部番号を格納する。 Also, 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 that row. Along with this, 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 row.

さらにフロントエンド部20は、グローバルプールボリュームテーブル35(図10)に新たな行を追加し、その行のグローバルプールボリューム番号欄35A(図10)に、そのとき作成したグローバルプールボリュームGVOLのボリューム番号を格納する。 Furthermore, the front-end unit 20 adds a new row to the global pool volume table 35 (FIG. 10), and fills the global pool volume number column 35A (FIG. 10) of that row with 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)。 As described above, the master cluster control unit 25 allows the front-end unit 20 within its own node to map the global pool volume GVOL and internal volume IVOL to the front-end table volume table 31, mapping table 32, and global pool volume within its own node. After the registration in the table 35 is completed, the differences between the front end table volume table 31, the mapping table 32 and the global pool volume table 35 before and after the update are used as difference data, respectively, via the back end network 6 to the nodes other than the own node in the cluster 7. to each storage node 3 (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 this differential data updates the front-end table volume table 31, mapping table 32, and global pool volume table 35 within its own node to the master cluster based on the differential data. The front end table volume table 31, the mapping table 32 and the global pool volume table 35 in the storage node 3 where the control unit 25 is arranged are updated (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 synchronously updated, and these front-end table volume table 31, mapping table 32 and global pool volume table 35 are always maintained in the same state among the storage nodes 3 within the cluster 7 .

また、これらのフロントエンド部20は、このようにして自ノード内のフロントエンドテーブルボリュームテーブル31、マッピングテーブル32及びグローバルプールボリュームテーブル35を更新し終えると、その旨の完了通知をバックエンドネットワーク6を介してマスタクラスタ制御部25に送信する(S10)。 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 their own nodes in this way, the back-end network 6 notifies the completion to that effect. to the master cluster control unit 25 (S10).

そしてマスタクラスタ制御部25は、クラスタ7内の自ノード以外のすべてのストレージノード3のフロントエンド部20から上述したステップS10の完了通知が与えられると、要求されたグローバルプールボリュームGVOLを作成し終えた旨の完了通知を管理ノード4に送信する(S11)。 When the master cluster control unit 25 receives the completion notification of step S10 from the front end units 20 of all the storage nodes 3 other than its own node in the cluster 7, the master cluster control unit 25 finishes creating the requested global pool volume GVOL. A completion notice to that effect is sent 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 management node 4 receives the completion notification of step S11 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 referred to as , which is called a target creation request) to the master cluster control unit 25 via the storage service network 5 (S12). This 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 creates the requested targets in the two storage nodes 3 in which the storage control units 21 constituting the storage control unit pair 28 selected in step S3 are respectively arranged. An instruction is given to the front-end unit 20 within the own node to create each TG (S13). However, since these target TGs are imaginary, they are created 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 receiving 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 its own node, The target name column 33B (FIG. 8), target IP column 33D (FIG. 8), and host volume number column 33E (FIG. 8) of these lines are specified in the target creation request given from the management node 4 in step S12. The corresponding information among the target name and network IP of the new target TG and the volume number of the host volume HVOL are stored respectively. The front-end unit 20 also stores unique UUIDs within the cluster 7 given to the corresponding target TGs in the UUID columns 33C (FIG. 8) of these rows.

また、マスタクラスタ制御部28は、この後、ステップS5Aで作成したグローバルプールボリュームGVOLと、ステップS5Bで作成した内部ボリュームIVOLと、そのとき作成しようとするホストボリュームHVOLとをマッピングするよう自ノード内のフロントエンド部20に指示を与える(S14)。 Further, the master cluster control unit 28 thereafter performs the following operations within its 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. (S14).

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

また、かかるフロントエンド部20は、上述と同様にして、ステップS7で自ノード内のグローバルプールボリュームテーブル35(図10)に新たに追加した行のターゲット番号欄35Bに、ターゲット作成要求において指定されたそのとき作成した各ターゲットTGのターゲット番号を格納すると共に、その行の各ホストボリューム番号欄35Cに、そのとき作成しようとするホストボリュームHVOLのボリューム番号を格納する。 Also, in the same manner as described above, the front-end unit 20 is specified 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) within its own node in step S7. 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 row.

そしてマスタクラスタ制御部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 requested target TG 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 compared. Each of them is transmitted as differential data to each storage node 3 other than its own node in the cluster 7 via the backend 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 this differential data updates the front-end target table 33, front-end table volume table 31, and global pool volume table 35 within its own node based on the differential data. are updated in the same way 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 where the master cluster controller 25 is arranged (S16).

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

そしてマスタクラスタ制御部25は、クラスタ7内の自ノード以外のすべてのストレージノード3のフロントエンド部20から上述したステップS17の完了通知が与えられると、要求されたターゲットTGを作成し終えた旨の完了通知を管理ノード4に送信する(S18)。 When the master cluster control unit 25 receives the completion notification of step S17 from the front end units 20 of all the storage nodes 3 other than its own node in the cluster 7, the master cluster control unit 25 completes the creation of the requested target TG. 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 management node 4 receives the completion notification of step S18 from the master cluster control unit 25, the target TG created by the processing of steps S12 to S18 and the host volume HVOL associated with the target TG. to the master cluster control unit 25 (S19). This initiator registration request contains 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のノード名を格納する。 Upon receiving this initiator registration request, the master cluster control unit 25 registers 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 has received this instruction registers the compute node 2 as an initiator that can access the target TG (S20). Specifically, the front-end unit 20 stores 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 its own node. stores the node name of

そしてマスタクラスタ部25は、以上のようにしてかかるターゲットTGにアクセス可能なイニシエータとしてかかるコンピュートノード2を登録し終えると、そのフロントエンドターゲットテーブル33の更新前後の差分を差分データとして、バックエンドネットワーク6を介してクラスタ7内の自ノード以外の各ストレージノード3にそれぞれ送信する(S21)。 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 master cluster unit 25 stores the difference between before and after updating the front-end target table 33 as difference data, 6 to each storage node 3 other than its own node in the cluster 7 (S21).

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

また、これらのフロントエンド部20は、このようにして自ノード内のフロントエンドターゲットテーブル33を更新し終えると、その旨の完了通知をバックエンドネットワーク6を介してマスタクラスタ制御部25に送信する(S23)。 In addition, when these front-end units 20 finish updating the front-end target table 33 in their own nodes in this manner, 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)。以上により、この一連の処理が完了する。 When the master cluster control unit 25 receives the above-mentioned completion notification of step S23 from the front end units 20 of all the storage nodes 3 other than its own node in the cluster 7, the master cluster control unit 25 notifies the master cluster control unit 25 that the registration of the requested initiator has been completed. A completion notification is sent to the management node 4 (S24). This completes the series of processes.

(4)ストレージノードの障害発生時や増設時における処理の流れ
次に、本情報処理システム1において、クラスタ7を構成するいずれかのストレージノード3に障害が発生した場合や、クラスタ7にストレージノード3が増設された場合における処理の流れについて説明する。
(4) Flow of Processing When Storage Node Failure Occurs or Expansion 3 is added, the flow of processing will be described.

(4-1)ストレージノード障害発生時の処理の流れ
図13は、クラスタ7を構成するいずれかのストレージノード3に障害が発生した場合に、クラスタ7内で実行される一連の処理の流れを示す。
(4-1) Flow of Processing when Storage Node Failure Occurs FIG. 13 shows the flow of a series of processing executed within the cluster 7 when a failure occurs in any of the storage nodes 3 that make up 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 periodically performs health checks on each storage node 3 . When the master cluster control unit 25 detects that a failure has occurred in one of the storage nodes 3 during the health check, the failed storage node (hereinafter referred to as a failed storage node) 3 The other storage control unit (passive storage control unit) 21 that formed the same storage control unit pair 28 as the arranged active storage control unit 21 is identified (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) (FIG. 5), the row in which the node number of the failed storage node 3 is stored is specified, and 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 obtained.

続いて、マスタクラスタ制御部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 identified in step S30 to active mode (S31). Specifically, the master cluster control unit 25 adds the node number column 30BA (FIG. 5) and the storage control unit number of the active column 30B (FIG. 5) of the row identified in step S30 among the rows of the storage control unit pair table 30. The column 30BB (FIG. 5) stores the corresponding numbers of the node number and the storage control unit number obtained in step S30. Further, the master cluster control unit 25 transmits the difference data of the difference before and after updating the storage control unit pair table 30 thus updated to each of the storage nodes 3 in the cluster 7 other than the own node. The storage controller pair table 30 in the storage node 3 is similarly updated.

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

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

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

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

そしてフロントエンド部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 that row to the node identification information of its own node, and also updates the storage control unit number column 31F of that row. is updated to the storage control unit number of the storage control unit 21 switched to the active mode in step S31. Also, the front-end unit 20 changes the port number stored in the virtual port number column 31G (FIG. 6) of that row to the virtual port VPT (FIG. 4) of the storage control unit 21 switched to the active mode in step S31. , and updated to the port number of the virtual port VPT associated with the corresponding host volume HVOL.

また、かかるフロントエンド部20は、自ノード内のマッピングテーブル32(図7)について、まず、それまで自ストレージ制御部21とストレージ制御部ペア28を構成していたアクティブストレージ制御部21のストレージ制御部番号がストレージ制御部番号欄32E(図6)に格納されている行を特定する。そしてフロントエンド部20は、その行のノード番号欄32D(図6)に格納されているノード番号を自ノードのノード番号に書き換える。また、かかるフロントエンド部20は、その行のストレージ制御部番号欄32Eに格納されているストレージ制御部番号を、ステップS31でアクティブモードに切り替えたストレージ制御部21のストレージ制御部番号に書き換える。 In addition, the front-end unit 20 first performs storage control of the active storage control unit 21 that has formed the storage control unit pair 28 with the self-storage control unit 21 for 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 column 32E (FIG. 6) is identified. Then, the front end unit 20 rewrites the node number stored in the node number column 32D (FIG. 6) of that row to the node number of its own node. Also, the front end unit 20 rewrites the storage control unit number stored in the storage control unit number column 32E of that row 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アドレスに書き換える。 Furthermore, the front-end unit 20 stores the volume number of the host volume HVOL associated with the corresponding internal volume IVOL defined in the faulty storage node 3 in the front-end target table 33 (FIG. 8) in the host volume number list. Identify the row stored in column 33E. Then, the front-end unit 20 assigns the IP address stored in the target ID column 33D of that row to the physical port PPT (FIG. 4) within its own node, which 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 before and after updating the front-end table volume table 31, the mapping table 32, and the front-end target table 33 which have been updated in this way. By transmitting to the front-end unit 20 of the node 3 respectively, the front-end table volume table 31, the mapping table 32 and the front-end target table 33 in each storage node 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 failed storage node 3 with the processing of steps S31 and S32, and performs the processing of step S32. selects a storage control unit 21 to form a new storage control unit pair 28 together with the storage control unit 21 switched to the active mode.

このようなストレージ制御部21は、クラスタ7内の障害ストレージノード3以外のいずれかのストレージノード3に配置されたそのとき未使用のストレージ制御部21(いずれのストレージ制御部21ともストレージ制御部ペア28に設定されていないストレージ制御部21)のうち、ステップS32でアクティブモードに切り替えられたストレージ制御部21が配置されたストレージノード3以外のストレージノード3に配置されたストレージ制御部21の中から選択される。 Such a storage control unit 21 is an unused storage control unit 21 (a storage control unit pair with any storage control unit 21) arranged in any storage node 3 other than the failed storage node 3 in the cluster 7. 28, among the storage control units 21 arranged in the storage nodes 3 other than the storage node 3 where the storage control unit 21 switched to the active mode in step S32 is arranged 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 to a new storage control unit pair 28. 30 (FIG. 5) and front end table volume table 31 (FIG. 6).

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

またマスタクラスタ制御部25は、フロントエンドテーブルボリュームテーブル31については、自ノード内のフロントエンド部20を介して、対応する行の第1及び第2のノード特定情報欄31C,31Dのいずれかに格納されている障害ストレージノード3のノード番号を、上述のようにして選択したストレージ制御部21が配置されたストレージノード3のノード番号に書き換える。 In addition, the master cluster control unit 25, for the front-end table volume table 31, writes to one of the first and second node identification information columns 31C and 31D of the corresponding row via the front-end unit 20 within its own node. The stored node number of the failed 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 difference before and after updating the storage control unit pair table 30 and the front end table volume table 31 thus updated to the storage nodes 3 other than the own node in the cluster 7. By sending these respectively, the storage controller pair table 30 and the front end table volume table 31 in these storage nodes 3 are similarly updated.

(4-2)ストレージノード増設時の処理の流れ
一方、図14は、クラスタ7内にストレージノード3が増設された場合にそのクラスタ7内で実行される一連の処理の流れを示す。
(4-2) Flow of Processing when Adding Storage Node On the other hand, FIG. 14 shows a flow of a series of processing executed within the cluster 7 when the storage node 3 is added within 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 of this through the management node 4 . Upon receiving this notification, the master cluster control unit 25 distributes the load among the storage nodes 3, so that the storage control unit (the This is hereinafter referred to as a migration 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 in the storage node 3 with the highest load among the storage control units 21 in the cluster 7 as the migration target storage control unit 21 described above.

そしてマスタクラスタ制御部25は、この後、増設ストレージノード3に配置されたそのとき未使用のいずれか1つのストレージ制御部21と、ステップS40で選択した移動対象ストレージ制御部21とを入れ替えるための処理を実行する(S41~S45)。 After that, the master cluster control unit 25 replaces any one unused storage control unit 21 arranged in the additional storage node 3 with the migration target storage control unit 21 selected in step S40. Processing 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 additional storage node 3 (S41), and controls the selected storage. The unit 21 is caused to execute a predetermined expansion process for taking over the processing that the migration target storage control unit 21 has been executing (S42).

またマスタクラスタ制御部25は、当該移動対象ストレージ制御部21がそれまで実行していた処理を選択ストレージ制御部21に引き継がせるための所定の増設時処理を移動対象ストレージ制御部21に実行させる(S41,S42)。なお、この増設時処理には、ストレージ制御部ペアテーブル30(図5)、フロントエンドテーブルボリュームテーブル31(図6)、マッピングテーブル32(図7)、フロントエンドターゲットテーブル33(図8)及びグローバルプールボリュームテーブル35(図10)の各データを増設ストレージノード3のフロントエンド部20に転送する処理も含まれる。 In addition, the master cluster control unit 25 causes the migration target storage control unit 21 to execute a predetermined expansion process for allowing the selected storage control unit 21 to take over the processing that the migration target storage control unit 21 has been executing ( S41, S42). Note that this expansion processing includes 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 unit 20 of the additional storage node 3 is also included.

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

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

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

またフロントエンド部20は、フロントエンドテーブルボリュームテーブル31については、まず、移動対象ストレージ制御部21のストレージ制御部番号がストレージ制御部番号欄31F(図6)に格納されている行を特定する。 Further, the front-end unit 20 first identifies a row in the front-end table volume table 31 in which the storage control unit number of the migration target storage control unit 21 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 selects the storage node 3 where the migration target storage control unit 21 is located, which is stored in either of the first and second node identification information columns 31C and 31D (FIG. 6) of that 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 to the node identification information of the additional storage node 3 respectively.

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

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

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

そして、マスタクラスタ制御部25は、このようにしてストレージ制御部ペアテーブル30、フロントエンドテーブルボリュームテーブル31、マッピングテーブル32及びフロントエンドターゲットテーブル33の更新が完了すると、更新されたこれらストレージ制御部ペアテーブル30、フロントエンドテーブルボリュームテーブル31、マッピングテーブル32)及びフロントエンドターゲットテーブル33の更新前後の差分の差分データをクラスタ7内の自ノード以外のストレージノード3にそれぞれ送信することにより、これらストレージ制御部ペアテーブル30、フロントエンドテーブルボリュームテーブル31、マッピングテーブル32及びフロントエンドターゲットテーブル33を同様に更新させる。 When the updating 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 is completed in this way, the master cluster control unit 25 updates these updated storage control unit pairs. Table 30, front-end table volume table 31, mapping table 32) and front-end target table 33) are transmitted to the storage nodes 3 other than the own node in the cluster 7, respectively, to control these storages. The partial pair table 30, the front-end table volume table 31, the mapping table 32 and the front-end target table 33 are similarly updated.

またマスタクラスタ制御部25は、選択ストレージ制御部21にアクセスして、当該選択ストレージ制御部21が保持するストレージ制御部構成情報テーブル34の仮想ポート番号欄34A(図9)及び内部ボリューム番号欄34B(図9)に、自ノード内のフロントエンドテーブルボリュームテーブル31の仮想ポート番号欄31G(図6)及び内部ボリューム番号欄31H(図6)にそれぞれ格納されている値と同じ値を格納する。 Also, the master cluster control unit 25 accesses the selected storage control unit 21 and accesses 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の環境と同じに設定される。 Through the above processing, the environment of the selected storage control unit 21 in the additional storage node 3 is set to be the same as the environment of the migration target storage control unit 21 in the storage node 3 where the migration target storage control unit 21 is arranged.

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

そして増設ストレージノード3のフロントエンド部20は、このログイン要求を受信すると、当該ログイン要求に応じたログイン処理を実行し(S48)、その処理結果をログイン要求の送信元のコンピュートノード2に送信する(S49)。 Upon receiving this login request, the front-end unit 20 of the additional storage node 3 executes login processing in response to the login request (S48), and transmits the processing result to the compute node 2 that sent 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 the flow of write processing executed within the cluster 7 when a write request is given from the compute node 2 to one of the storage nodes 3 forming the cluster 7 . Hereinafter, the storage node 3 that has received the write request within the cluster 7 will be referred to as a "write request receiving node" as appropriate.

なお、ライト要求では、上述のようにライト先のホストボリュームHVOLのボリューム番号と、そのホストボリュームHVOLにおけるライト先の記憶領域の先頭アドレスと、ライト対象のデータ(以下、これをライトデータと呼ぶ)のデータ長とが指定される。 As described above, the write request includes the volume number of the write destination host volume HVOL, the start address of the write destination storage area in the host volume HVOL, and the data to be written (hereinafter referred to as write data). 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 such a write request (S50), it transfers the received write request to the front end unit 20 within its own node (S51). In addition, the front-end unit 20 secures a buffer area of the required capacity on the memory 11 (FIG. 2) based on the transferred write request (S52), and then completes the securing of the buffer area. A notification is sent to the compute node 2 that sent the write request via the first communication device 13 (S53, S54).

また「ライト要求受信ノード」の第1の通信装置13は、この後、かかるコンピュートノード2からライトデータが転送されてくると(S55)、このライトデータを自ノード内のフロントエンド部20に転送する(S56)。 When write data is subsequently 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 within its own node. (S56).

このライトデータを受領したフロントエンド部20は、受領したライトデータをステップS52で確保したバッファ領域に格納し(S57)、この後、そのライト要求に従ったライト処理が自ノードにおいて実行されるべき処理であるか否かを判定する(S58)。 The front-end unit 20 that has received this write data stores the received write data in the buffer area secured in step S52 (S57), and thereafter write processing according to the write request is to be executed in its own node. It is determined whether or not it is processing (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 column 32D is the node number of its own node, the front-end unit 20 should perform write processing in accordance with the write request in its own node. It is judged to be processed. Further, when the node number stored in the node number column 32D is the node number of another storage node 3, the front end unit 20 executes write processing based on the write request in 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のボリューム番号に書き換える。 When the front-end unit 20 determines in step S58 that the write process corresponding to the write request should be executed in its own node, the write request in the mapping table 32 in its own node designates the write destination as the write destination. 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 obtained is obtained, and the storage control unit (active storage 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 write destination host volume HVOL 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)。 Also, the storage control unit 21 that receives this write request refers to a management table (not shown) to refer to the internal volume IVOL specified as the write destination in the write request and the storage area associated with the internal volume IVOL. A logical chunk LC (FIG. 4) and a storage area within the logical chunk LC are specified. Then, the storage control unit 21 generates an I/O command designating 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 sends it to the backend in its 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 receipt of this I/O command, the backend unit 23 refers to a management table (not shown), and each physical chunk PC (FIG. 4) associated with the logical chunk LC specified in the I/O command. Identify the storage device 12 (FIG. 2) to be provided. Further, when one of the specified storage devices 12 exists in its own node, the backend unit 23 selects the logical chunk LC specified by the I/O command and the logical chunk LC in the storage device 12. The write data is written 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 backend unit 23 transmits a write completion notification to that effect to the storage control unit (active storage control unit) 21 of its own node (S62).

またバックエンド部23は、ステップS61の処理と併せて、かかる論理チャンクLCに対応付けた残りの物理チャンクPCを提供する記憶装置12が存在するストレージノード3(以下、適宜、これを「他ノード2」と呼ぶ)内の対応するバックエンド部23に対して、かかるI/Oコマンド及びライトデータをバックエンドネットワーク6を介して転送する(S63)。この結果、そのストレージノード3(「他ノード2」)においてステップS61と同様のライト処理が実行され(S64)、当該ライト処理が完了すると、その旨のライト完了通知がバックエンドネットワーク6を介して「ライト要求受信ノード」のストレージ制御部21に与えられる。 In addition to the processing of step S61, the back-end unit 23 performs the storage node 3 (hereinafter referred to as "other node 2”) is transferred via the backend network 6 to the corresponding backend unit 23 (S63). As a result, the storage node 3 (“other node 2”) executes write processing similar to step S61 (S64). 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 storage control unit 21 of the "write request receiving node" receives the write completion notification from the backend unit 23 of its own node and the write completion notification from the backend units 23 of all other necessary storage nodes 3. Upon receipt, the front-end section 20 is notified of the completion of the requested write processing (S76). In addition, the front-end unit 20 that has received this completion notification sends a completion notification to the effect that the write processing corresponding to the write request has been completed via the first communication device 13 and the storage service network 5 to the source of the write request. It is transmitted to the compute node 2 (S77, S78). As described above, 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 determined in step S58 that the write process corresponding to the write request is a process to be executed in another storage node 3. In this case, the storage node 3 (hereinafter referred to as , appropriately referred to as "other node 1") (S66). Transfer of this write request is performed via the backend network 6 .

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

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

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

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

これに対して、かかる「ライト要求受信ノード」のフロントエンド部20は、「他ノード1」のフロントエンド部20が必要な容量のバッファ領域をメモリ11上に確保できた場合には、バックエンドネットワーク6を介して「他ノード1」にライトデータを転送する(S72)。 On the other hand, the front-end unit 20 of the "write request receiving node", when the front-end unit 20 of the "other node 1" can secure the necessary capacity of the buffer area 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)。 Also, the front end unit 20 of the "other node 1" that has received this write data stores the received write data in the buffer area secured in step S67 (S73). Thereafter, in the "other node 1", data write processing similar to the data write processing described above with respect to steps S59 to S61 and steps S63 to S64 is executed (S74). 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 "other node 1" and the write completion notification from the backend units 23 of all other necessary storage nodes 3. Upon receipt of the write completion notification, it notifies the front end unit 20 of its own node of the completion notification that the requested write processing has been completed (S76). In addition, the front-end unit 20 that has received this completion notification sends a completion notification to the effect that the write processing corresponding to the write request has been completed via the first communication device 13 and the storage service network 5 to the source of the write request. It is transmitted to the compute node 2 (S77, S78). As described above, 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. It shows the flow of processing. Hereinafter, the storage node 3 that has received the read request within the cluster 7 will be referred to as a "read request receiving node" as appropriate.

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

そして「リード要求受信ノード」の第1の通信装置13は、かかるリード要求を受信すると(S80)、受信したリード要求を自ノード内のフロントエンド部20に転送する(S81)。またフロントエンド部20は、転送されてきたリード要求を解析して、そのリード要求に従ったリード処理が自ノードにおいて実行されるべき処理であるか否かを判定する(S82)。 When the first communication device 13 of the "read request receiving node" receives such a read request (S80), it transfers the received read request to the front end unit 20 within its own node (S81). The front-end unit 20 also analyzes the transferred read request and determines whether or not the read processing according to the read request should be executed in its 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 column 32D is the node number of its own node, the front-end unit 20 should execute read processing in accordance with the read request at its own node. It is judged to be processed. When the node number stored in the node number column is the node number of another storage node 3, the front end unit 20 executes read processing based on the read request in the other storage node 3. It is determined that the processing should be performed.

そしてフロントエンド部20は、ステップS82において、そのリード要求に応じたリード処理が自ノードにおいて実行されるべきと判定した場合には、自ノードのメモリ11(図2)に格納されているマッピングテーブル32(図7)におけるリード要求においてリード先として指定されたホストボリュームHVOLに対応する行のストレージ制御部番号欄32E(図7)に格納されたストレージ制御部番号を取得し、そのストレージ制御部番号が付与された自ノード内のストレージ制御部(アクティブストレージ制御部)21にそのリード要求を転送する(S83)。なおフロントエンド部20は、この際、そのリード要求に含まれるリード先のホストボリュームHVOLのボリューム番号を、当該ホストボリュームHVOLと対応付けられた内部ボリュームIVOLのボリューム番号に書き換える。 If the front-end unit 20 determines in step S82 that the read process corresponding to the read request should be executed in its own node, the mapping table stored in the memory 11 (FIG. 2) of its 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 (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)。 In addition, the storage control unit 21 that has received this read request refers to a management table (not shown) to refer to the internal volume IVOL specified as the read destination in the read request and the storage area associated with the internal volume IVOL. A logical chunk LC and a storage area within the logical chunk LC are specified. Then, the storage control unit 21 generates an I/O command designating the specified read destination logical chunk LC and the storage area in the logical chunk LC, and sends it to the backend unit 23 in its own node. Send (S84).

バックエンド部23は、このI/Oコマンドを受領すると、図示しない管理テーブルを参照して、当該I/Oコマンドにおいて指定された論理チャンクLCに対応付けた各物理チャンクPCの中から1つの物理チャンクPCを提供する記憶装置12を特定する。ここでは、選択された物理チャンクPCが、「リード要求受信ノード」に搭載された記憶装置12により提供されているものとする。そしてバックエンド部23は、特定した記憶装置12内の、I/Oコマンドで指定された論理チャンクLC及び当該論理チャンクLC内の記憶領域に対応する物理チャンクPCの記憶領域に格納されているデータを読み出す(S85)。そしてバックエンド部23は、読み出したデータ(リードデータ)を自ノードのストレージ制御部21に送信する(S86)。 Upon receipt of this I/O command, the backend unit 23 refers to a management table (not shown) and selects one physical chunk PC from among the physical chunks 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 installed in the "read request receiving node". Then, the backend unit 23 retrieves the data stored in the storage area of the physical chunk PC corresponding to the storage area in the logical chunk LC and the storage area in the logical chunk LC specified by the I/O command in the specified storage device 12. (S85). The backend unit 23 then transmits the read data (read data) to the storage control unit 21 of its own node (S86).

このリードデータを受信したストレージ制御部21は、このリードデータを自ノードのフロントエンド部20に転送する(S87)。また、このリードデータを受領したフロントエンド部20は、そのリードデータを、第1の通信装置13及びストレージサービスネットワーク5を介してリード要求の送信元のコンピュートノード2に送信する(S93,S94)。以上により、かかるリード要求に応じた一連のリード処理が終了する。 The storage control unit 21 that has received this read data transfers this read data to the front end unit 20 of its own node (S87). Also, the front-end unit 20 that has received this read data transmits the read data to the compute node 2 that sent the read request via the first communication device 13 and the storage service network 5 (S93, S94). . As described above, 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, the front-end unit 20 of the "read request receiving node" has determined in step S82 that the read processing corresponding to the read request should be executed in another storage node 3. In this case, the storage node 3 (hereinafter referred to as , appropriately called "other node") (S88). Transfer of this read request is performed via 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 contents of the received read request (S89). The front end unit 20 also refers to the mapping table 32 stored in the memory 11 of its 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. Acquire the storage control unit number stored in the control unit number column 32E (FIG. 7), and transfer the read request to the storage control unit (active storage control unit) 21 within 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)。 Thereafter, in the "other node", data read processing similar to steps S84 to S86 is executed (S91), and the data (read data) read from the corresponding storage device 12 by this data read processing becomes " 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 this read data transfers this read data to the compute node 2 that has sent the read request via the first communication device 13 and storage service network 6. (S93, S94). As described above, a series of read processing corresponding to the read request is completed.

(6)本実施の形態の効果
以上のように本実施の形態の情報処理システム1では、各ストレージノード3にそれぞれ配置されたストレージ制御部21と対応付けて内部ボリュームIVOLを作成すると共に、作成した内部ボリュームIVOLを、データをリード/ライトするための記憶領域としてコンピュートノード2に提供されるホストボリューム2と対応付ける。
(6) Effect of this embodiment As described above, in the information processing system 1 of this embodiment, the internal volume IVOL is created in association with the storage control unit 21 arranged in each storage node 3, and The resulting 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 unit 20 of the storage node 3 is set as the read/write destination in the I/O request. Identify the storage node 3 where the internal volume IVOL associated with the specified host volume HVOL is located, and if the identified storage node 3 is the self node, send the I/O request to the 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, regardless of whether the storage node 3 is scaled out or not, the compute node 2 can access desired data without being aware of the storage node 3 to which the I/O request is issued. can be done. Therefore, according to the present embodiment, the information processing system 1 with high expandability can be realized.

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

(7)他の実施の形態
なお上述の実施の形態においては、内部ボリュームIVOLとホストボリュームHVOLとを1対1で対応付けるようにした場合について述べたが、本発明はこれに限らず、1つの内部ボリュームIVOLに対して複数のホストボリュームHVOLを対応付けるようにしてもよい。
(7) Other Embodiments In the above-described embodiments, the internal volume IVOL and the host volume HVOL are associated one-to-one, but the present invention is not limited to this. A plurality of host volumes HVOL may be associated with an 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. It can be widely applied to information processing systems.

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

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

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

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

本発明は、複数のストレージノードを含む種々の構成のシステムに広く適用することができる。 The present invention can be widely applied to systems with various configurations including multiple 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 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 (12)

複数のストレージノードから構成されるクラスタを含むシステムであって、
各前記ストレージノードは、上位装置からのI/O(Input/Output)要求に応じたI/O処理を実行するストレージ制御部を備え、
管理装置からの要求に基づく論理ボリューム作成指示を受信した前記ストレージノードは前記クラスタ内で識別可能な仮想的な第1の論理ボリュームを作成し、
前記第1の論理ボリュームと、前記ストレージ制御部とを対応付けて、自ノード内で識別可能な仮想的な第2の論理ボリュームを自ノード内に作成し、
作成された前記第1及び第2の論理ボリューム間の対応関係がマッピング情報として登録され、
前記上位装置からI/O要求を受信した前記ストレージノードは、前記マッピング情報に基づいて前記I/O要求において指定された前記第1の論理ボリュームを介して対応付けられた前記ストレージ制御部が自ノードに配置するか否かを特定することで、自ノードにて前記I/O要求を処理するか否かを特定する、
ことを特徴とするシステム。
A system including a cluster consisting of multiple storage nodes,
Each storage node comprises a storage control unit that executes I/O processing in response to an I/O (Input/Output) request from a host device,
The storage node that has received the logical volume creation instruction based on the request from the management device creates a virtual first logical volume identifiable within the cluster;
creating in the node a virtual second logical volume identifiable in the node by associating the first logical volume with the storage control unit;
a correspondence relationship between the created first and second logical volumes is registered as mapping information;
The storage node, which has received the I/O request from the host device, automatically causes the storage control unit associated via the first logical volume specified in the I/O request based on the mapping information. Identify whether to process the I/O request in its own node by identifying whether to place it in the node;
A system characterized by:
各前記第1の論理ボリュームは、
前記クラスタを構成する各前記ストレージノードを横断する1つのプールとして管理される
ことを特徴とする請求項1に記載のシステム。
each said first logical volume,
2. The system according to claim 1, managed as one pool that traverses each of said storage nodes that constitute said cluster.
各前記ストレージノード間で前記マッピング情報が同期して更新され、
前記上位装置からI/O要求を受信した前記ストレージノードは、前記マッピング情報に基づきI/O先として指定された前記第1の論理ボリュームを介して対応付けられた前記ストレージ制御部が配置された前記ストレージノードを特定し、特定した前記ストレージノードが自ノードである場合には自ノード内の前記ストレージ制御部へ当該I/O要求を転送し、特定した前記ストレージノードが他の前記ストレージノードである場合には当該ストレージノードに当該I/O要求を振り分ける
ことを特徴とする請求項1に記載のシステム。
the mapping information is synchronously updated between each of the storage nodes;
The storage node that receives the I/O request from the host device is arranged with the storage control unit associated via the first logical volume designated as the I/O destination based on the mapping information. specifying the storage node, transferring the I/O request to the storage control unit in the own node when the specified storage node is the own node, and determining the specified storage node as another storage node 2. The system of claim 1, wherein in some cases, the I/O request is distributed to the storage node.
前記第1の論理ボリュームは、データを読み書きするための記憶領域として前記上位装置に提供される仮想的なホストボリュームと対応付けられて作成され、前記ホストボリュームと共に前記第2の論理ボリュームとの対応関係が前記マッピング情報として登録され、
前記上位装置からのI/O要求には、当該上位装置に対応する前記ホストボリュームに関する情報が含まれ、前記各ストレージノードは、当該情報および前記マッピング情報に基づきI/O先の前記論理的な記憶領域を特定する、
ことを特徴とする請求項1に記載のシステム。
The first logical volume is created in association with a virtual host volume provided to the host device as a storage area for reading and writing data, and is associated with the second logical volume together with the host volume. a relationship is registered as the mapping information;
The I/O request from the host device includes information about the host volume corresponding to the host device, and each storage node determines the logical I/O destination based on the information and the mapping information. identify a storage area,
2. The system of claim 1, wherein:
前記ホストボリュームが、前記ストレージノードの物理ポートに関連づけられたターゲット情報と、前記ターゲット情報にアクセス可能な前記上位装置の識別情報とに対応付けられたテーブルとして登録され、
前記各ストレージノードは、前記テーブルに基づいてI/O要求のあった上位装置を特定する、
ことを特徴とする請求項4に記載のシステム。
the host volume is registered as a table in which target information associated with the physical port of the storage node and identification information of the host device that can access the target information are associated with each other;
each storage node identifies a host device that has issued an I/O request based on the table;
5. The system of claim 4, wherein:
前記ストレージ制御部は、自ノードとは異なる他の前記ストレージノードに配置された前記ストレージ制御部とストレージ制御部ペアに設定され、
前記ストレージ制御部ペアを構成する一方の前記ストレージ制御部が現用系に設定されると共に、他方の前記ストレージ制御部が待機系に設定され、
現用系に設定された前記ストレージ制御部を有する前記ストレージノードにて前記第2の論理ボリュームが作成される
ことを特徴とする請求項1に記載のシステム。
The storage control unit is set to a storage control unit pair with the storage control unit arranged in another storage node different from the own node,
one of the storage control units constituting the storage control unit pair is set as an active system, and the other storage control unit is set as a standby system;
2. The system according to claim 1, wherein said second logical volume is created in said storage node having said storage control unit set as an active system.
さらに前記クラスタ全体の制御処理を行うマスタクラスタ制御装置を備え、
前記マスタクラスタ制御装置は、前記管理装置から前記論理ボリュームの作成要求を受信すると、前記第1の論理ボリュームの作成に適した前記ストレージ制御部ペアを選択し、当該ストレージ制御部ペアに属するいずれか1つの前記ストレージノードに前記論理ボリューム作成指示を出力し、
前記論理ボリューム作成指示を受けた前記ストレージノードは、作成した前記第1の論理ボリュームおよび前記第2の論理ボリュームのそれぞれの識別情報を前記マスタクラスタ制御装置に送信する、
ことを特徴とする請求項6に記載のシステム。
Further comprising a master cluster control device that performs control processing for the entire cluster,
When the master cluster control device receives the logical volume creation request from the management device, the master cluster control device selects the storage control unit pair suitable for creating the first logical volume, and selects one of the storage control unit pairs belonging to the storage control unit pair. outputting the logical volume creation instruction to one of the storage nodes;
The storage node that has received the logical volume creation instruction transmits identification information of each of the created first logical volume and the second logical volume to the master cluster control device.
7. The system of claim 6, wherein:
前記マスタクラスタ制御装置は、最も負荷の低い前記ストレージノードが現用系に設定されている前記ストレージ制御部ペアを選択し、当該ストレージノードに前記論理ボリューム作成指示を出力する
ことを特徴とする請求項7に記載のシステム。
3. The master cluster control device selects the storage control unit pair in which the storage node with the lowest load is set as the active system, and outputs the logical volume creation instruction to the storage node. 7. The system according to 7.
各前記ストレージノードの前記ストレージ制御部は、1又は複数の記憶装置に対応した自ノードにおける論理的な記憶領域をI/O要求の処理先として管理し、
前記ストレージ制御部ペアに属する各前記ストレージノードの前記論理的な記憶領域が1つのプールとして管理され、前記第2の論理ボリュームが当該プールに対応付けられて作成され、
前記ストレージ制御部ペアにおける現用系のストレージノードはI/O要求としてのデータライト要求を処理すると共に、前記ストレージ制御部ペアにおける待機系のストレージノードに対し対応するライトデータ要求を転送する
ことを特徴とする請求項6に記載のシステム。
The storage control unit of each storage node manages a logical storage area in its own node corresponding to one or more storage devices as an I/O request processing destination,
the logical storage areas of each of the storage nodes belonging to the storage control unit pair are managed as one pool, and the second logical volume is created in association with the pool;
The active storage node in the storage controller pair processes a data write request as an I/O request, and transfers the corresponding write data request to the standby storage node in the storage controller pair. 7. The system of claim 6, wherein
前記ストレージノードの一部またはすべてがクラウド上に配置され、ネットワークを介して前記上位装置との間でのI/O要求又はその結果通知の通信を行う
ことを特徴とする請求項1に記載のシステム。
2. The storage node according to claim 1, wherein some or all of said storage nodes are arranged on a cloud and perform communication of I/O requests or result notifications with said host device via a network. system.
複数のストレージノードから構成されるクラスタを含むシステムの制御方法であって、
各前記ストレージノードは、上位装置からのI/O(Input/Output)要求に応じたI/O処理を実行するストレージ制御部を備え、
管理装置からの要求に基づく論理ボリューム作成指示を受信した前記ストレージノードは上位装置に提供される、前記クラスタ内で識別可能な仮想的な第1の論理ボリュームを作成する第1のステップと、
前記第1の論理ボリュームと、前記ストレージ制御部とを対応付けて、自ノード内で識別可能な仮想的な第2の論理ボリュームを自ノード内に作成する第2のステップと、
作成された前記第1及び第2の論理ボリューム間の対応関係がマッピング情報として登録される第3のステップとが実行されることにより、
前記上位装置からI/O要求を受信した前記ストレージノードは、前記マッピング情報に基づいて前記I/O要求において指定された前記第1の論理ボリュームと対応付けられた前記第2の論理ボリュームが自ノードに配置するか否かを特定することで、自ノードにて前記I/O要求を処理するか否かを判定する、
ことを特徴とするシステムの制御方法。
A method of controlling a system including a cluster composed of a plurality of storage nodes, comprising:
Each storage node comprises a storage control unit that executes I/O processing in response to an I/O (Input/Output) request from a host device,
a first step of creating a virtual first logical volume identifiable within the cluster, the storage node receiving a logical volume creation instruction based on a request from a management device, provided to a host device;
a second step of associating the first logical volume with the storage control unit to create a virtual second logical volume within the node that is identifiable within the node;
and a third step of registering the correspondence relationship between the created first and second logical volumes as mapping information,
Upon receiving an I/O request from the host device, the storage node automatically creates the second logical volume associated with the first logical volume specified in the I/O request based on the mapping information. Determining whether to process the I/O request in its own node by specifying whether to place it in the node;
A system control method characterized by:
複数のストレージノードから構成されるクラスタを含むシステムにおける前記ストレージノードで実行されるプログラムであって、
各前記ストレージノードは、上位装置からのI/O(Input/Output)要求に応じたI/O処理を実行するストレージ制御部を備え、
管理装置からの要求に基づく論理ボリューム作成指示を受信した前記ストレージノードは上位装置に提供される、前記クラスタ内で識別可能な仮想的な第1の論理ボリュームを作成する第1のステップと、
前記第1の論理ボリュームと、前記ストレージ制御部とを対応付けて、自ノード内で識別可能な仮想的な第2の論理ボリュームを自ノード内に作成する第2のステップと、
作成された前記第1及び第2の論理ボリューム間の対応関係がマッピング情報として登録される第3のステップとを前記ストレージノードに実行させることにより、
前記上位装置からI/O要求を受信した前記ストレージノードは、前記マッピング情報に基づいて前記I/O要求において指定された前記第1の論理ボリュームと対応付けられた前記第2の論理ボリュームが自ノードに配置するか否かを特定することで、自ノードにて前記I/O要求を処理するか否かを判定する、
ことを特徴とするプログラム。
A program executed by a storage node in a system including a cluster consisting of a plurality of storage nodes,
Each storage node comprises a storage control unit that executes I/O processing in response to an I/O (Input/Output) request from a host device,
a first step of creating a virtual first logical volume identifiable within the cluster, the storage node receiving a logical volume creation instruction based on a request from a management device, provided to a host device;
a second step of associating the first logical volume with the storage control unit to create a virtual second logical volume within the node that is identifiable within the node;
and causing the storage node to execute a third step of registering the correspondence relationship between the created first and second logical volumes as mapping information,
Upon receiving an I/O request from the host device, the storage node automatically creates the second logical volume associated with the first logical volume specified in the I/O request based on the mapping information. Determining whether to process the I/O request in its own node by specifying whether to place it in the node;
A program characterized by
JP2022196255A 2020-07-09 2022-12-08 System, control method thereof, and program Pending JP2023036653A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2022196255A JP2023036653A (en) 2020-07-09 2022-12-08 System, control method thereof, and program

Applications Claiming Priority (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

Related Parent 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 (1)

Publication Number Publication Date
JP2023036653A true JP2023036653A (en) 2023-03-14

Family

ID=79246983

Family Applications (2)

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

Family Applications Before (1)

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

Country Status (1)

Country Link
JP (2) JP7193602B2 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008542887A (en) * 2006-03-08 2008-11-27 ハンジョウ エイチ3シー テクノロジーズ コーポレイション、 リミテッド Virtualization network storage system, network storage apparatus and virtualization method thereof
JP2009181402A (en) * 2008-01-31 2009-08-13 Hitachi Ltd Storage system equipped with two or more controller modules
JP2012203865A (en) * 2011-03-28 2012-10-22 Digital Arts Inc Retrieval device, retrieval system, method, and program

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4224077B2 (en) 2006-04-04 2009-02-12 株式会社東芝 Storage system
JP5971660B2 (en) 2012-09-11 2016-08-17 株式会社日立製作所 Management apparatus and management method
WO2015198412A1 (en) 2014-06-25 2015-12-30 株式会社日立製作所 Storage system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008542887A (en) * 2006-03-08 2008-11-27 ハンジョウ エイチ3シー テクノロジーズ コーポレイション、 リミテッド Virtualization network storage system, network storage apparatus and virtualization method thereof
JP2009181402A (en) * 2008-01-31 2009-08-13 Hitachi Ltd Storage system equipped with two or more controller modules
JP2012203865A (en) * 2011-03-28 2012-10-22 Digital Arts Inc Retrieval device, retrieval system, method, and program

Also Published As

Publication number Publication date
JP7193602B2 (en) 2022-12-20
JP2022003589A (en) 2022-01-11

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
RU2427891C2 (en) Virtual network system of information storage, network storage device and virtual method
JP6668309B2 (en) Storage system and control method thereof
US9817721B1 (en) High availability management techniques for cluster resources
US9098466B2 (en) Switching between mirrored volumes
JP2005267327A (en) Storage system
JP7012010B2 (en) Information processing system and control method of information processing system
JP6961045B2 (en) System and its control method and program
JP2019191951A (en) Information processing system and volume allocation method
US7634595B1 (en) Method for suspending a discovery process, saving the state of the discovery process, and resuming the discovery process during a distributed copy operation
US11392329B1 (en) Uniform host attachment
US10782889B2 (en) Fibre channel scale-out with physical path discovery and volume move
JP6602983B2 (en) Storage management server, storage management server control method, and computer system
US7707331B1 (en) Path determination using preferred paths or randomly selecting source and target ports
JP6751423B2 (en) Storage device and control method thereof
JP7193602B2 (en) System and its control method and program
US11971835B2 (en) Techniques for creating connections in a network fabric
KR20120063946A (en) Memory apparatus for collective volume memory and metadate managing method thereof
US20190332293A1 (en) Methods for managing group objects with different service level objectives for an application and devices thereof
JP7057408B2 (en) Storage system and its control method
JP6381492B2 (en) Computer system
JP2023151189A (en) Storage system and method for controlling the same
JP2023163298A (en) Storage system and failure handling method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20221208

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230927

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231031

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20231228

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240229