Nothing Special   »   [go: up one dir, main page]

JP6905611B2 - Storage system and its control method - Google Patents

Storage system and its control method Download PDF

Info

Publication number
JP6905611B2
JP6905611B2 JP2020031069A JP2020031069A JP6905611B2 JP 6905611 B2 JP6905611 B2 JP 6905611B2 JP 2020031069 A JP2020031069 A JP 2020031069A JP 2020031069 A JP2020031069 A JP 2020031069A JP 6905611 B2 JP6905611 B2 JP 6905611B2
Authority
JP
Japan
Prior art keywords
storage
control unit
storage control
node
chunk
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2020031069A
Other languages
Japanese (ja)
Other versions
JP2020091901A (en
Inventor
晋太郎 伊藤
晋太郎 伊藤
松井 佑光
佑光 松井
匡邦 揚妻
匡邦 揚妻
秀雄 斎藤
秀雄 斎藤
武尊 千葉
武尊 千葉
貴大 山本
貴大 山本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from JP2017231219A external-priority patent/JP6668309B2/en
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2020031069A priority Critical patent/JP6905611B2/en
Publication of JP2020091901A publication Critical patent/JP2020091901A/en
Application granted granted Critical
Publication of JP6905611B2 publication Critical patent/JP6905611B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Description

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

従来、情報処理システムにおいて、複数のストレージサブシステム間で容量を融通し合う技術が提案されている。 Conventionally, in an information processing system, a technique for accommodating capacity among a plurality of storage subsystems has been proposed.

例えば、ホストから入出力コマンドを受信し、ホストに第1のボリュームを提供する第1のコントローラを含む第1のストレージシステムと、ホストから入出力コマンドを受信し、ホストに第2のボリュームを提供する第2のコントローラを含む第2のストレージシステムとを設け、第1のボリュームのうちの第1の記憶領域を第1のコントローラによって第1のプールから割り当て、第1のボリュームのうちの第2の記憶領域を第1のコントローラによって第2のプールから割り当て、第2のボリュームのうちの第3の記憶領域を第2のコントローラによって第1のプールから割り当て、第2のボリュームのうちの第4の記憶領域を第2のコントローラによって第2のプールから割り当てる技術がある。例えば、下記特許文献1に記載の技術がある。 For example, a first storage system that includes a first controller that receives I / O commands from the host and provides the host with a first volume, and a second volume that receives I / O commands from the host and provides the host with a second volume. A second storage system including a second controller is provided, the first storage area of the first volume is allocated from the first pool by the first controller, and the second of the first volumes. Storage area is allocated from the second pool by the first controller, the third storage area of the second volume is allocated from the first pool by the second controller, and the fourth of the second volumes. There is a technique for allocating the storage area of the above from the second pool by the second controller. For example, there is a technique described in Patent Document 1 below.

特開2012−043407号公報Japanese Unexamined Patent Publication No. 2012-043407

分散ストレージシステム全体としての可用性及び信頼性の向上を考えた場合、コントローラを冗長化しておくことが望ましい。またホストからストレージシステムに書き込まれたデータについても、システム内で冗長化して記憶しておくことが可用性及び信頼性の点からも望ましい。 Considering the improvement of availability and reliability of the distributed storage system as a whole, it is desirable to make the controller redundant. It is also desirable from the viewpoint of availability and reliability that the data written from the host to the storage system is also redundantly stored in the system.

ただし、コントローラ及びデータを冗長化するに際しては、複数のノードで構成される分散ストレージシステム全体としての応答性能やデータ保護の観点から、冗長化したデータを何処に配置すべきかを十分に検討する必要がある。 However, when making the controller and data redundant, it is necessary to carefully consider where to place the redundant data from the viewpoint of response performance and data protection of the distributed storage system consisting of multiple nodes as a whole. There is.

本発明は以上の点を考慮してなされたもので、システム全体としての応答性能の劣化を防止しながらデータ保護を行い得る記憶システム及びその制御方法を提案しようとするものである。 The present invention has been made in consideration of the above points, and an object of the present invention is to propose a storage system capable of protecting data while preventing deterioration of the response performance of the entire system and a control method thereof.

かかる課題を解決するため本発明においては、複数のストレージノードを有する記憶システムにおいて、各々の前記ストレージノードは、クラスタ内の複数の前記ストレージノードの各記憶デバイスがそれぞれ提供する容量を管理する容量制御部と、I/O要求を受け付け、受け付けた前記I/O要求に応じたコマンドを生成して前記容量制御部に送信するストレージ制御部と、を備え、前記記憶システムは、それぞれ異なる前記ストレージノードに配置された複数の前記ストレージ制御部が、ストレージ制御部グループを構成し、前記ストレージ制御部グループの第1の前記ストレージ制御部が前記I/O要求を処理する第1の状態に設定されると共に、前記ストレージ制御部グループの第2の前記ストレージ制御部が当該I/O要求を処理しない第2の状態に設定され、前記記憶デバイスに格納されるデータを、異なるストレージノードに格納される複数のデータを組みにしてデータ冗長化しており、前記容量制御部は、前記第1の状態の前記ストレージ制御部が配置された前記ストレージノード及び前記第2の状態の前記ストレージ制御部が配置された前記ストレージノードを少なくとも含む複数の前記ストレージノードの物理記憶領域を前記ストレージ制御部グループに割り当てるとともに、当該物理記憶領域を当該ストレージ制御部グループに割り当てる際に、前記第1の状態の前記ストレージ制御部が配置された前記ストレージノード及び前記第2の状態の前記ストレージ制御部が配置された前記ストレージノードの前記物理記憶領域を前記ストレージ制御部グループに優先的に割り当てるようにした。 In order to solve such a problem, in the present invention, in a storage system having a plurality of storage nodes, each storage node manages the capacity provided by each storage device of the plurality of storage nodes in the cluster. The storage system includes a unit and a storage control unit that receives an I / O request, generates a command corresponding to the received I / O request, and transmits the command to the capacity control unit. The storage system is a different storage node. A plurality of the storage control units arranged in the storage control unit form a storage control unit group, and the first storage control unit of the storage control unit group is set to the first state of processing the I / O request. At the same time, a plurality of data stored in the storage device are stored in different storage nodes by setting the second storage control unit of the storage control unit group to a second state in which the I / O request is not processed. Data is made redundant by combining the above data, and the capacity control unit is arranged with the storage node in which the storage control unit in the first state is arranged and the storage control unit in the second state. When allocating the physical storage area of a plurality of storage nodes including at least the storage node to the storage control unit group and allocating the physical storage area to the storage control unit group, the storage control unit in the first state is used. The physical storage area of the storage node in which the storage node and the storage control unit in the second state are arranged is preferentially allocated to the storage control unit group.

また本発明においては、複数のストレージノードを有する記憶システムの制御方法において、各々の前記ストレージノードは、クラスタ内の複数の前記ストレージノードの各記憶デバイスがそれぞれ提供する容量を管理する容量制御部と、I/O要求を受け付け、受け付けた前記I/O要求に応じたコマンドを生成して前記容量制御部に送信するストレージ制御部と、を有し、前記記憶システムでは、それぞれ異なる前記ストレージノードに配置された複数の前記ストレージ制御部が、ストレージ制御部グループを構成し、前記ストレージ制御部グループの第1の前記ストレージ制御部が前記I/O要求を処理する第1の状態に設定されると共に、前記ストレージ制御部グループの第2の前記ストレージ制御部が当該I/O要求を処理しない第2の状態に設定され、前記記憶デバイスに格納されるデータを、異なるストレージノードに格納される複数のデータを組みにしてデータ冗長化しており、前記容量制御部が、前記第1の状態の前記ストレージ制御部が配置された前記ストレージノード及び前記第2の状態の前記ストレージ制御部が配置された前記ストレージノードを少なくとも含む複数の前記ストレージノードの物理記憶領域を前記ストレージ制御部グループに割り当てるとともに、当該物理記憶領域を当該ストレージ制御部グループに割り当てる第1のステップと、前記容量制御部が、前記I/O要求に基づき前記第1の状態に設定された前記ストレージ制御部から送信される前記コマンドに応じて、当該ストレージ制御部が属する前記ストレージ制御部グループに割り当てた各前記物理記憶領域にデータをそれぞれライトし、又は、当該各物理記憶領域のうちの一の前記物理記憶領域からデータをリードする第2のステップとを備え、前記第1のステップでは、前記第1の状態の前記ストレージ制御部が配置された前記ストレージノード及び前記第2の状態の前記ストレージ制御部が配置された前記ストレージノードの前記物理記憶領域を前記ストレージ制御部グループに優先的に割り当てるようにした。 Further, in the present invention, in the control method of the storage system having a plurality of storage nodes, each of the storage nodes has a capacity control unit that manages the capacity provided by each storage device of the plurality of storage nodes in the cluster. , A storage control unit that receives an I / O request, generates a command corresponding to the received I / O request, and transmits the command to the capacity control unit. In the storage system, the storage nodes are different from each other. The plurality of arranged storage control units form a storage control unit group, and the first storage control unit of the storage control unit group is set to the first state of processing the I / O request. , The second storage control unit of the storage control unit group is set to a second state in which the I / O request is not processed, and the data stored in the storage device is stored in a plurality of different storage nodes. The data is made redundant by combining data, and the capacity control unit is such that the storage node in which the storage control unit in the first state is arranged and the storage control unit in the second state are arranged. The first step of allocating the physical storage area of a plurality of storage nodes including at least a storage node to the storage control unit group and allocating the physical storage area to the storage control unit group, and the capacity control unit of the I In response to the command transmitted from the storage control unit set to the first state based on the / O request, data is stored in each physical storage area assigned to the storage control unit group to which the storage control unit belongs. Each includes a second step of writing or reading data from the physical storage area of one of the physical storage areas, and in the first step, the storage control unit in the first state. The physical storage area of the storage node in which the data is arranged and the storage control unit in the second state is arranged is preferentially allocated to the storage control unit group.

本発明の記憶システム及び容量割当て方法によれば、ストレージ制御部グループに対して少なくとも2つの物理記憶領域が割り当てられ、これらの物理記憶領域にデータが冗長化されて格納されるためデータが保護される。また、ストレージ制御部グループに対しては、第1の状態に設定されたストレージ制御部が配置されたストレージノードの物理記憶領域と、第2の状態に設定されたストレージ制御部が配置されたストレージノードの物理記憶領域とを優先的に割り当てるため、これらの物理記憶領域に対するデータのリード/ライトを速やかに行うことができる。 According to the storage system and the capacity allocation method of the present invention, at least two physical storage areas are allocated to the storage control unit group, and the data is protected because the data is redundantly stored in these physical storage areas. NS. Further, for the storage control unit group, the physical storage area of the storage node in which the storage control unit set in the first state is arranged and the storage in which the storage control unit set in the second state is arranged. Since the physical storage areas of the nodes are preferentially allocated, data can be quickly read / written to these physical storage areas.

本発明によれば、システム全体としての応答性能の劣化を防止しながらデータ保護を行い得る記憶システム及びその制御方法を実現できる。上記した以外の課題、構成及び効果は、以下の発明を実施するための形態の説明により明らかにされる。 According to the present invention, it is possible to realize a storage system capable of protecting data while preventing deterioration of the response performance of the entire system and a control method thereof. Issues, configurations and effects other than those described above will be clarified by the following description of the embodiments for carrying out the invention.

第1の実施の形態による情報処理システムの全体構成を示すブロック図である。It is a block diagram which shows the whole structure of the information processing system by 1st Embodiment. ストレージノードのハードウェア構成を示すブロック図である。It is a block diagram which shows the hardware configuration of a storage node. ストレージノードの論理構成を示すブロック図である。It is a block diagram which shows the logical structure of a storage node. 本情報処理システムにおけるライト処理の流れの説明に供するブロック図である。It is a block diagram which provides the explanation of the flow of write processing in this information processing system. 容量制御部の詳細構成を示すブロック図である。It is a block diagram which shows the detailed structure of the capacity control part. ストレージノードのメモリ構成の説明に供するブロック図である。It is a block diagram which provides the explanation of the memory composition of a storage node. ストレージ制御部ペア管理テーブルの構成を示す図表である。It is a figure which shows the structure of the storage control part pair management table. 物理チャンク管理テーブルの構成を示す図表である。It is a figure which shows the structure of the physical chunk management table. 論理チャンク管理テーブルの構成を示す図表である。It is a figure which shows the structure of the logical chunk management table. 空き物理チャンク数管理テーブルの構成を示す図表である。It is a figure which shows the structure of the free physical chunk number management table. ライト処理の処理手順を示すフローチャートである。It is a flowchart which shows the processing procedure of a write process. リード処理の処理手順を示すフローチャートである。It is a flowchart which shows the processing procedure of a read process. 容量割当て処理の処理手順を示すフローチャートである。It is a flowchart which shows the processing procedure of capacity allocation processing. 物理チャンク選択処理の処理手順を示すフローチャートである。It is a flowchart which shows the processing procedure of the physical chunk selection process. フェイルオーバ処理の処理手順を示すフローチャートである。It is a flowchart which shows the process procedure of the failover process. 再冗長化処理の処理手順を示すフローチャートである。It is a flowchart which shows the processing procedure of the re-redundancy processing. 第2の実施の形態による情報処理システムの全体構成を示すブロック図である。It is a block diagram which shows the whole structure of the information processing system by 2nd Embodiment. フォールトセットを考慮したストレージ制御部ペアの構成例を示すブロック図である。It is a block diagram which shows the configuration example of the storage control part pair considering a fault set. 第2の実施の形態における論理チャンクと物理チャンクとの対応付けの説明に供するブロック図である。It is a block diagram which provides the explanation of the correspondence between the logical chunk and the physical chunk in the 2nd Embodiment. ノード管理テーブルの構成を示す図表である。It is a figure which shows the structure of a node management table. 第2の実施の形態による物理チャンク選択処理の処理手順を示すフローチャートである。It is a flowchart which shows the processing procedure of the physical chunk selection process by 2nd Embodiment. 第3の実施の形態による情報処理システムの全体構成を示すブロック図である。It is a block diagram which shows the whole structure of the information processing system by 3rd Embodiment. 第3の実施の形態の情報処理システムにおける階層制御機能の説明に供するブロック図である。It is a block diagram which provides the explanation of the hierarchical control function in the information processing system of 3rd Embodiment. 第3の実施の形態による物理チャンク管理テーブルの構成を示す図表である。It is a figure which shows the structure of the physical chunk management table by 3rd Embodiment. 第3の実施の形態による論理チャンク管理テーブルの構成を示す図表である。It is a figure which shows the structure of the logical chunk management table by 3rd Embodiment. 第3の実施の形態による空き物理チャンク数管理テーブルの構成を示す図表である。It is a figure which shows the structure of the free physical chunk number management table by 3rd Embodiment. 第3の実施の形態による容量制御部の詳細構成を示すブロック図である。It is a block diagram which shows the detailed structure of the capacity control part by 3rd Embodiment. 第3の実施の形態による容量割当て処理の処理手順を示すフローチャートである。It is a flowchart which shows the processing procedure of capacity allocation processing by 3rd Embodiment. 第3の実施の形態による物理チャンク選択処理の処理手順を示すフローチャートである。It is a flowchart which shows the processing procedure of the physical chunk selection process by 3rd Embodiment. 他の実施の形態による情報処理システムの全体構成を示すブロック図である。It is a block diagram which shows the whole structure of the information processing system by another embodiment. 他の実施の形態による容量割当て処理の処理手順を示すフローチャートである。It is a flowchart which shows the processing procedure of capacity allocation processing by another Embodiment. 他の実施の形態による物理チャンク選択処理の処理手順を示すフローチャートである。It is a flowchart which shows the processing procedure of the physical chunk selection process by another embodiment. 他の実施の形態による容量割当て処理の処理手順を示すフローチャートである。It is a flowchart which shows the processing procedure of capacity allocation processing by another Embodiment. 他の実施の形態による容量割当て処理の処理手順を示すフローチャートである。It is a flowchart which shows the processing procedure of capacity allocation processing by another Embodiment. 他の実施の形態による物理チャンク選択処理の処理手順を示すフローチャートである。It is a flowchart which shows the processing procedure of the physical chunk selection process by another embodiment. 仮想ボリューム管理テーブルの構成を示す図表である。It is a figure which shows the structure of a virtual volume management table.

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

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

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

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

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

(1)第1の実施の形態
(1−1)本実施の形態による情報処理システムの構成
図1は、本実施の形態による情報処理システム1の構成を示す図である。この情報処理システム1は、例えばファイバーチャネル(Fibre Channel)、イーサネット(登録商標)又はLAN(Local Area Network)などから構成されるネットワーク2を介して相互に接続された複数のホスト装置3と、複数のストレージノード4と、管理ノード5とを備えて構成されている。
(1) First Embodiment (1-1) Configuration of Information Processing System According to the Present Embodiment FIG. 1 is a diagram showing a configuration of an information processing system 1 according to the present embodiment. The information processing system 1 includes a plurality of host devices 3 and a plurality of host devices 3 connected to each other via a network 2 composed of, for example, Fiber Channel, Ethernet (registered trademark), or LAN (Local Area Network). The storage node 4 and the management node 5 of the above are provided.

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

ストレージノード4は、ホスト装置3に対してデータを読み書きするための記憶領域を提供する物理サーバ装置であり、図2に示すように、内部ネットワーク10を介して相互に接続されたCPU(Central Processing Unit)11、メモリ12、複数の記憶デバイス13及び通信装置14を備えて構成される。各ストレージノード4は、CPU11、メモリ12、記憶デバイス13、通信装置14を、それぞれ1以上備える。 The storage node 4 is a physical server device that provides a storage area for reading and writing data to the host device 3, and as shown in FIG. 2, CPUs (Central Processing) connected to each other via an internal network 10 It is configured to include a Unit) 11, a memory 12, a plurality of storage devices 13, and a communication device 14. Each storage node 4 includes one or more CPU 11, a memory 12, a storage device 13, and a communication device 14.

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

記憶デバイス13は、SSD(Solid State Drive)、SAS(Serial Attached SCSI(Small Computer System Interface))ハードディスクドライブ又はSATA(Serial ATA(Advanced Technology Attachment))ハードディスクドライブなどの1又は複数種類の大容量の不揮発性記憶装置から構成され、ホスト装置3(図1)からのI/O要求に応じてデータをリード/ライトするための物理的な記憶領域を提供する。 The storage device 13 is a large-capacity non-volatile one or a plurality of types such as an SSD (Solid State Drive), a SAS (Serial Attached SCSI (Small Computer System Interface)) hard disk drive, or a SATA (Serial ATA (Advanced Technology Attachment)) hard disk drive. It is composed of a sex storage device and provides a physical storage area for reading / writing data in response to an I / O request from the host device 3 (FIG. 1).

通信装置14は、ストレージノード4がネットワーク2(図1)を介してホスト装置3や、他のストレージノード4又は管理ノード5と通信を行うためのインタフェースであり、例えばNIC(Network Interface Card)やFC(Fibre Channel)カードなどから構成される。通信装置14は、ホスト装置3、他のストレージノード4又は管理ノード5との通信時におけるプロトコル制御を行う。 The communication device 14 is an interface for the storage node 4 to communicate with the host device 3 and other storage nodes 4 or the management node 5 via the network 2 (FIG. 1). For example, a NIC (Network Interface Card) or It consists of FC (Fibre Channel) cards and the like. The communication device 14 controls the protocol at the time of communication with the host device 3, another storage node 4, or the management node 5.

管理ノード5は、システム管理者が本情報処理システム1全体を管理するために利用するコンピュータ装置である。管理ノード5は、複数のストレージノード4をクラスタ6と呼ぶグループとして管理する。なお、図1では、クラスタ6が1つのみ設けられた例を示しているが、情報処理システム1内に複数のクラスタ6を設けるようにしてもよい。クラスタ6は、分散ストレージシステムと呼ばれてもよい。 The management node 5 is a computer device used by the system administrator to manage the entire information processing system 1. The management node 5 manages a plurality of storage nodes 4 as a group called a cluster 6. Although FIG. 1 shows an example in which only one cluster 6 is provided, a plurality of clusters 6 may be provided in the information processing system 1. Cluster 6 may be referred to as a distributed storage system.

図3は、本実施の形態によるストレージノード4の論理構成を示す。この図3に示すように、各ストレージノード4は、フロントエンドドライバ20及びバックエンドドライバ21と、1又は複数のストレージ制御部22と、容量制御部23とを備える。 FIG. 3 shows the logical configuration of the storage node 4 according to the present embodiment. As shown in FIG. 3, each storage node 4 includes a front-end driver 20, a back-end driver 21, one or more storage control units 22, and a capacity control unit 23.

フロントエンドドライバ20は、通信装置14(図2)を制御し、ストレージ制御部22に対してホスト装置3や、他のストレージノード4又は管理ノード5との通信時における抽象化したインタフェースをCPU11(図2)に提供する機能を有するソフトウェアである。またバックエンドドライバ21は、自ストレージノード4内の各記憶デバイス13(図2)を制御し、これら記憶デバイス13との通信時における抽象化したインタフェースをCPU11に提供する機能を有するソフトウェアである。 The front-end driver 20 controls the communication device 14 (FIG. 2), and provides the storage control unit 22 with an abstract interface during communication with the host device 3 and other storage nodes 4 or management nodes 5 (the CPU 11 (FIG. 2). It is software having a function provided in FIG. 2). Further, the back-end driver 21 is software having a function of controlling each storage device 13 (FIG. 2) in the own storage node 4 and providing the CPU 11 with an abstract interface at the time of communication with these storage devices 13.

ストレージ制御部22は、SDS(Software Defined Storage)のコントローラとして機能するソフトウェアである。ストレージ制御部22は、ストレージ制御ソフトウェアや、ストレージ制御プログラムと呼ばれてもよい。ストレージ制御部22は、ホスト装置3からのI/O要求を受け付け、当該I/O要求に応じたI/Oコマンドを容量制御部23に発行する。 The storage control unit 22 is software that functions as a controller for SDS (Software Defined Storage). The storage control unit 22 may be called a storage control software or a storage control program. The storage control unit 22 receives an I / O request from the host device 3 and issues an I / O command in response to the I / O request to the capacity control unit 23.

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

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

ストレージ制御部ペア25では、一方のストレージ制御部22がホスト装置3からのI/O要求を受け付けることができる状態(現用系の状態であり、以下、これをアクティブモードと呼ぶ)に設定され、他方のストレージ制御部22がホスト装置3からのリード要求やライト要求を受け付けない状態(待機系の状態であり、以下、これをパッシブモードと呼ぶ)に設定される。 In the storage control unit pair 25, one storage control unit 22 is set to a state in which it can receive an I / O request from the host device 3 (a state of the active system, hereinafter referred to as an active mode). The other storage control unit 22 is set to a state in which it does not accept a read request or a write request from the host device 3 (a state of a standby system, hereinafter referred to as a passive mode).

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

容量制御部23は、各ストレージ制御部ペア25に対して自ストレージノード4内又は他のストレージノード4内の記憶デバイス13が提供する物理的な記憶領域を割り当てると共に、ストレージ制御部22から与えられる上述のI/Oコマンドに従って、指定されたデータを対応する記憶デバイス13にリード/ライトする機能を有するソフトウェアである。容量制御部23は、容量制御ソフトウェアや、容量制御プログラムと呼ばれてもよい。 The capacity control unit 23 allocates a physical storage area provided by the storage device 13 in the own storage node 4 or another storage node 4 to each storage control unit pair 25, and is given by the storage control unit 22. The software has a function of reading / writing the specified data to the corresponding storage device 13 according to the above-mentioned I / O command. The capacity control unit 23 may be called a capacity control software or a capacity control program.

この場合、容量制御部23は、ストレージ制御部ペア25に対して他のストレージノード4内の記憶デバイス13が提供する物理的な記憶領域を割り当てたときには、当該他のストレージノード4に実装された容量制御部23と協働して、その容量制御部23との間でネットワーク2を介してデータをやり取りすることにより、そのストレージ制御部ペア25のアクティブストレージ制御部22から与えられたI/Oコマンドに従ってそのデータをその記憶領域にリード/ライトする。 In this case, when the capacity control unit 23 allocates the physical storage area provided by the storage device 13 in the other storage node 4 to the storage control unit pair 25, the capacity control unit 23 is mounted on the other storage node 4. I / O given from the active storage control unit 22 of the storage control unit pair 25 by exchanging data with the capacity control unit 23 via the network 2 in cooperation with the capacity control unit 23. Read / write the data to the storage area according to the command.

以上の構成を有する本情報処理システム1において、容量制御部23は、図4に示すように、各ストレージノード4内の記憶デバイス13がそれぞれ提供する物理的な記憶領域を、それぞれ所定大きさの物理記憶領域(以下、これを物理チャンクと呼ぶ)PCに分割して管理する。 In the information processing system 1 having the above configuration, as shown in FIG. 4, the capacity control unit 23 has a physical storage area provided by each storage device 13 in each storage node 4 having a predetermined size. It is managed by dividing it into physical storage areas (hereinafter referred to as physical chunks) PCs.

また容量制御部23は、各ストレージ制御部ペア25(図3)に対してそれぞれ専用のプールPLを対応付け、これらプールPLに物理チャンクPCと同じ大きさの論理的な記憶領域(以下、これを論理チャンク)LCを適宜割り当て、この論理チャンクLCに対して1又は複数の物理チャンクPCを対応付ける。 Further, the capacity control unit 23 associates a dedicated pool PL with each storage control unit pair 25 (FIG. 3), and associates these pool PLs with a logical storage area having the same size as the physical chunk PC (hereinafter, this). Is assigned as appropriate to the logical chunk LC, and one or more physical chunk PCs are associated with the logical chunk LC.

さらに各ストレージ制御部ペア25のプールPL上には1又は複数の仮想的な論理ボリューム(以下、これを仮想ボリュームと呼ぶ)VVOLが定義され、これらの仮想ボリュームVVOLがホスト装置3に提供される。 Further, one or a plurality of virtual logical volumes (hereinafter, referred to as virtual volumes) VVOLs are defined on the pool PL of each storage control unit pair 25, and these virtual volume VVOLs are provided to the host device 3. ..

そしてホスト装置3は、かかる仮想ボリュームVVOLにデータをライトする場合、そのデータのライト先の仮想ボリューム(以下、これをライト対象仮想ボリュームと呼ぶ)VVOLの識別子(LUN:Logical Unit Number)と、そのライト対象仮想ボリュームVVOLにおけるそのデータのライト先の領域(以下、これをライト先領域と呼ぶ)WARとを指定したライト要求を、対応するクラスタ6内のいずれかのストレージノード4に送信する。 When the host device 3 writes data to the virtual volume VVOL, the host device 3 has an identifier (LUN: Logical Unit Number) of the virtual volume (hereinafter, referred to as a write target virtual volume) VVOL to which the data is written, and its logical unit number. A write request specifying a write destination area (hereinafter, this is referred to as a write destination area) WAR of the data in the write target virtual volume VVOL is transmitted to any storage node 4 in the corresponding cluster 6.

このライト要求を受信したストレージノード4のフロントエンドドライバ20は、受信したライト要求において指定されたライト対象仮想ボリュームVVOLとプールPLを介して対応付けられたストレージ制御部ペア25(図3)のアクティブストレージ制御部22(図3)又はパッシブストレージ制御部22が配置されている各ストレージノード4のフロントエンドドライバ20にそのライト要求、及び、当該ライト要求と共にホスト装置3から送信されてきたライト対象のデータ(以下、これをライトデータと呼ぶ)を転送する。 The front-end driver 20 of the storage node 4 that has received this write request is the active of the storage control unit pair 25 (FIG. 3) associated with the write target virtual volume VVOL specified in the received write request via the pool PL. The write request to the front-end driver 20 of each storage node 4 in which the storage control unit 22 (FIG. 3) or the passive storage control unit 22 is arranged, and the write target transmitted from the host device 3 together with the write request. Data (hereinafter referred to as write data) is transferred.

また、このライト要求及びライトデータを受領したストレージノード4のフロントエンドドライバ20は、これらライト要求及びライトデータを、ライト要求において指定されたライト対象仮想ボリュームVVOLとプールPLを介して対応付けられたストレージ制御部ペア25のストレージ制御部22に引き渡す。 Further, the front-end driver 20 of the storage node 4 that has received the write request and the write data associates the write request and the write data with the write target virtual volume VVOL specified in the write request via the pool PL. It is delivered to the storage control unit 22 of the storage control unit pair 25.

そして、これらライト要求及びライトデータが引き渡されたストレージ制御部22のうちのアクティブストレージ制御部22は、ライト対象仮想ボリュームVVOL内のライト先領域WARに対して、当該ライト対象仮想ボリュームVVOLと対応付けられたプールPLを構成する論理チャンクLCから必要に応じて記憶領域(以下、これを論理領域と呼ぶ)を割り当てる。 Then, the active storage control unit 22 of the storage control units 22 to which the write request and the write data are delivered associates the write destination area WAR in the write target virtual volume VVOL with the write target virtual volume VVOL. A storage area (hereinafter, referred to as a logical area) is allocated from the logical chunk LC constituting the pool PL as needed.

また、かかるアクティブストレージ制御部22は、ライト要求において指定されたライト対象仮想ボリュームVVOL内のライト先領域WARのアドレスを、そのライト先領域WARに論理領域を割り当てた論理チャンクLCのチャンク番号と、当該論理領域のオフセット位置とに変換したI/Oコマンドを生成し、生成したI/Oコマンドをライトデータと共に自ストレージノード4内の容量制御部23に送信する。 Further, the active storage control unit 22 sets the address of the write destination area WAR in the write target virtual volume VVOL specified in the write request, the chunk number of the logical chunk LC in which the logical area is assigned to the write destination area WAR, and the chunk number of the logical chunk LC. An I / O command converted to the offset position of the logical area is generated, and the generated I / O command is transmitted to the capacity control unit 23 in the own storage node 4 together with the write data.

そして容量制御部23は、このI/Oコマンド及びライトデータを受信すると、当該I/Oコマンドで指定された論理チャンクLCに対応付けた各物理チャンクPCをそれぞれ提供する各記憶デバイス13内のかかるオフセット位置の記憶領域にデータをそれぞれ格納する。 Then, when the capacity control unit 23 receives the I / O command and the write data, the capacity control unit 23 receives the I / O command in each storage device 13 that provides each physical chunk PC associated with the logical chunk LC specified by the I / O command. Data is stored in the storage area at the offset position.

このようにして本情報処理システム1では、ホスト装置3からのデータが対応する論理チャンクLCに対応付けられた複数の物理チャンクPCに冗長化されて格納される。このため論理チャンクLCに割り当てられる物理チャンクPCの数は、その情報処理システム1における冗長化方式の設定内容によって決定される。 In this way, in the information processing system 1, the data from the host device 3 is redundantly stored in a plurality of physical chunk PCs associated with the corresponding logical chunk LCs. Therefore, the number of physical chunk PCs assigned to the logical chunk LC is determined by the setting contents of the redundancy method in the information processing system 1.

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

なお1つの論理チャンクLCに複数の物理チャンクPCが対応付けられ、これら複数の物理チャンクPCにデータを多重化して格納する場合、これら複数の物理チャンクPCの中から1つの物理チャンクPCが「マスタ」に設定され、残りの物理チャンクPCがすべて「ミラー」に設定される。そして、後述のように、物理チャンクPCからのデータリードは「マスタ」に設定された物理チャンクPCから行われる。またEC(Erasure Coding)の場合には、1つの論理チャンクLCに複数の物理チャンクPCが対応付けられ、これら複数の物理チャンクPCにマスタデータ及び冗長データが所定パターンで格納される。 When a plurality of physical chunk PCs are associated with one logical chunk LC and data is multiplexed and stored in the plurality of physical chunk PCs, one physical chunk PC from the plurality of physical chunk PCs is the "master". Is set, and all the remaining physical chunk PCs are set to "mirror". Then, as described later, the data read from the physical chunk PC is performed from the physical chunk PC set as the "master". Further, in the case of EC (Erasure Coding), a plurality of physical chunk PCs are associated with one logical chunk LC, and master data and redundant data are stored in these plurality of physical chunk PCs in a predetermined pattern.

一方、ホスト装置3は、仮想ボリュームVVOLからデータを読み出す場合、その仮想ボリューム(以下、これをリード対象仮想ボリュームと呼ぶ)VVOLのLUNと、そのリード対象仮想ボリュームVVOLにおけるそのデータのリード先の記憶領域(以下、これをリード先領域と呼ぶ)とを指定したリード要求をそのリード対象仮想ボリュームVVOLが含まれるクラスタ6内のいずれかのストレージノード4に送信する。 On the other hand, when the host device 3 reads data from the virtual volume VVOL, it stores the LUN of the virtual volume (hereinafter, this is referred to as a read target virtual volume) VVOL and the read destination of the data in the read target virtual volume VVOL. A read request for which an area (hereinafter, this is referred to as a read destination area) is specified is transmitted to any storage node 4 in the cluster 6 including the read target virtual volume VVOL.

このリード要求を受信したストレージノード4のフロントエンドドライバ20は、受信したリード要求において指定されたリード対象仮想ボリュームVVOLとプールPLを介して対応付けられたストレージ制御部ペア25のアクティブストレージ制御部22又はパッシブストレージ制御部22が配置された各ストレージノード4にそのリード要求をそれぞれ転送する。 The front-end driver 20 of the storage node 4 that has received this read request is the active storage control unit 22 of the storage control unit pair 25 that is associated with the read target virtual volume VVOL specified in the received read request via the pool PL. Alternatively, the read request is transferred to each storage node 4 in which the passive storage control unit 22 is arranged.

また、このリード要求を受領したかかるストレージノード4のフロントエンドドライバ20は、このリード要求を当該リード要求において指定されたリード対象仮想ボリュームVVOLとプールPLを介して対応付けられたストレージ制御部ペア25のストレージ制御部22に引き渡す。 Further, the front-end driver 20 of the storage node 4 that has received the read request associates the read request with the read target virtual volume VVOL specified in the read request via the pool PL, and the storage control unit pair 25. It is handed over to the storage control unit 22 of.

かくして、このリード要求が引き渡されたかかるストレージ制御部22のうちのアクティブストレージ制御部22は、リード対象仮想ボリュームVVOL内のリード先領域のアドレスを、当該リード先領域に論理領域を割り当てた論理チャンクLCのチャンク番号と、当該論理領域のオフセット位置とに変換したI/Oコマンドを生成し、生成したI/Oコマンドを自ストレージノード4内の容量制御部23に送信する。 Thus, the active storage control unit 22 of the storage control units 22 to which the read request is delivered assigns the address of the read destination area in the read target virtual volume VVOL to the logical chunk in which the logical area is assigned to the read destination area. The I / O command converted into the chunk number of the LC and the offset position of the logical area is generated, and the generated I / O command is transmitted to the capacity control unit 23 in the own storage node 4.

容量制御部23は、このI/Oコマンドを受信すると、当該I/Oコマンドで指定された論理チャンクLCと対応付けられた各物理チャンクPCのうち、「マスタ」に設定された物理チャンクPC内のI/Oコマンドで指定されたオフセット位置の記憶領域からデータを読み出し、読み出したデータをリードデータとしてI/Oコマンドの送信元のアクティブストレージ制御部22に転送する。かくして、このリードデータは、この後、かかるアクティブストレージ制御部22によりネットワーク2を介してかかるリード要求の送信元のホスト装置3に転送される。 When the capacity control unit 23 receives this I / O command, the capacity control unit 23 is in the physical chunk PC set as the “master” among the physical chunk PCs associated with the logical chunk LC specified by the I / O command. Data is read from the storage area at the offset position specified by the I / O command, and the read data is transferred as read data to the active storage control unit 22 of the source of the I / O command. Thus, the read data is then transferred by the active storage control unit 22 to the host device 3 that is the source of the read request via the network 2.

(1−2)論理チャンクに対する物理チャンクの割当て
ところで、上述のように1つの論理チャンクLCに複数の物理チャンクPCを対応付け、これらの物理チャンクPCにデータをそれぞれ格納することによりデータを冗長化する冗長化方式を採用する場合、データ保護の観点からも、1つの論理チャンクLCに対応付ける複数の物理チャンクPCをそれぞれ異なるストレージノード4が提供する物理チャンクPCから選択することが望ましい。これは、例えば、1つの論理チャンクLCに対して同じストレージノード4内の複数の物理チャンクPCを対応付けた場合、そのストレージノード4が障害等によりデータの読み出しを行えなくなったときにデータロストが発生することになるからである。
(1-2) Allocation of physical chunks to logical chunks By the way, as described above, a plurality of physical chunk PCs are associated with one logical chunk LC, and data is stored in each of these physical chunk PCs to make data redundant. When adopting the redundancy method, it is desirable to select a plurality of physical chunk PCs associated with one logical chunk LC from the physical chunk PCs provided by different storage nodes 4 from the viewpoint of data protection. This is because, for example, when a plurality of physical chunk PCs in the same storage node 4 are associated with one logical chunk LC, data lost occurs when the storage node 4 cannot read data due to a failure or the like. This is because it will occur.

そこで本情報処理システム1では、容量制御部23がストレージ制御部ペア25に論理チャンクLCを割り当て、その論理チャンクLCに複数の物理チャンクPCを対応付ける際に、これら複数の物理チャンクPCをそれぞれ互いに異なる複数のストレージノード4が提供する物理チャンクPCの中から選択することとしている。 Therefore, in the present information system 1, when the capacity control unit 23 assigns the logical chunk LC to the storage control unit pair 25 and associates a plurality of physical chunk PCs with the logical chunk LC, the plurality of physical chunk PCs are different from each other. It is decided to select from the physical chunk PCs provided by the plurality of storage nodes 4.

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

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

そこで本情報処理システム1では、容量制御部23がストレージ制御部ペア25に論理チャンクLCを割り当て、その論理チャンクLCに複数の物理チャンクPCを対応付ける際に、当該ストレージ制御部ペア25のアクティブストレージ制御部22が配置されたストレージノード4内の記憶デバイス13が提供する物理チャンクPCと、当該ストレージ制御部ペア25のパッシブストレージ制御部22が配置されたストレージノード4内の記憶デバイス13が提供する物理チャンクPCとを優先的にその論理チャンクLCに対応付ける容量優先割当て機能が容量制御部23に搭載されている。 Therefore, in the information processing system 1, when the capacity control unit 23 assigns the logical chunk LC to the storage control unit pair 25 and associates a plurality of physical chunk PCs with the logical chunk LC, the active storage control of the storage control unit pair 25 is performed. The physical chunk PC provided by the storage device 13 in the storage node 4 in which the unit 22 is arranged, and the physical provided by the storage device 13 in the storage node 4 in which the passive storage control unit 22 of the storage control unit pair 25 is arranged. The capacity control unit 23 is equipped with a capacity priority allocation function that preferentially associates a chunk PC with the logical chunk LC.

ただし、1つのストレージ制御部ペア25に割り当てられたプールPL内の論理チャンクLCに対して、そのストレージ制御部ペア25を構成するアクティブストレージ制御部22やパッシブストレージ制御部22が配置されたストレージノード4から物理チャンクPCを無制限に対応付けると、そのストレージノード4にアクティブストレージ制御部22やパッシブストレージ制御部22が配置された他のストレージ制御部ペア25の論理チャンクLCに対してそのストレージノード4内の記憶デバイス13から物理チャンクPCを対応付けられなくなるという問題がある。 However, for the logical chunk LC in the pool PL assigned to one storage control unit pair 25, the storage node in which the active storage control unit 22 and the passive storage control unit 22 constituting the storage control unit pair 25 are arranged. When the physical chunk PCs are associated with each other indefinitely from 4, the storage node 4 has the active storage control unit 22 and the passive storage control unit 22 arranged in the storage node 4 with respect to the logical chunk LC of the other storage control unit pair 25. There is a problem that the physical chunk PC cannot be associated with the storage device 13 of the above.

そこで、かかる容量優先割り当て機能には、ストレージ制御部ペア25に対し、当該ストレージ制御部ペア25のアクティブストレージ制御部22が配置されたストレージノード4や、当該ストレージ制御部ペア25のパッシブストレージ制御部22が配置されたストレージノード4から割り当てる物理チャンクPCの容量を抑制する機能も含まれている。 Therefore, such a capacity priority allocation function includes a storage node 4 in which the active storage control unit 22 of the storage control unit pair 25 is arranged with respect to the storage control unit pair 25, and a passive storage control unit of the storage control unit pair 25. It also includes a function of suppressing the capacity of the physical chunk PC allocated from the storage node 4 in which the 22 is arranged.

このような容量優先割当て機能を実現するための手段として、容量制御部23は、図5に示すように、容量割当て処理部30、物理チャンク選択処理部31、フェイルオーバ処理部32及び再冗長化処理部33を備えている。また図6に示すように、各ストレージノード4のメモリ12には、上述したフロントエンドドライバ20、バックエンドドライバ21、1又は複数のストレージ制御部22及び容量制御部23に加えて、ストレージ制御部ペア管理テーブル34、物理チャンク管理テーブル35、論理チャンク管理テーブル36、空き物理チャンク数管理テーブル37、仮想ボリューム管理テーブル70が格納されている。 As a means for realizing such a capacity priority allocation function, the capacity control unit 23 includes a capacity allocation processing unit 30, a physical chunk selection processing unit 31, a failover processing unit 32, and a re-redundancy processing, as shown in FIG. The unit 33 is provided. Further, as shown in FIG. 6, in the memory 12 of each storage node 4, in addition to the above-mentioned front-end driver 20, back-end driver 21, one or more storage control units 22 and capacity control unit 23, a storage control unit The pair management table 34, the physical chunk management table 35, the logical chunk management table 36, the free physical chunk number management table 37, and the virtual volume management table 70 are stored.

容量割当て処理部30は、ストレージ制御部ペア25に割り当てられる論理チャンクLCに対して物理チャンクPCを対応付ける機能を有するプログラムである。また物理チャンク選択処理部31は、例えば、容量割当て処理部30が論理チャンクLCに物理チャンクPCを対応付ける過程で呼び出され、当該論理チャンクLCに対応付ける物理チャンクPCを選択する機能を有するプログラムである。 The capacity allocation processing unit 30 is a program having a function of associating a physical chunk PC with a logical chunk LC assigned to the storage control unit pair 25. Further, the physical chunk selection processing unit 31 is, for example, a program that is called in the process of associating the physical chunk PC with the logical chunk LC by the capacity allocation processing unit 30 and has a function of selecting the physical chunk PC associated with the logical chunk LC.

またフェイルオーバ処理部32は、各ストレージ制御部ペア25について、アクティブストレージ制御部22が配置されたストレージノード4をそれぞれ監視し、そのストレージノード4に障害が発生した場合に、そのストレージ制御部ペア25のアクティブストレージ制御部22が実行していたI/O処理を当該ストレージ制御部ペア25のパッシブストレージ制御部22に引き継がせる機能を有するプログラムである。 Further, the failover processing unit 32 monitors each storage node 4 in which the active storage control unit 22 is arranged for each storage control unit pair 25, and when a failure occurs in the storage node 4, the storage control unit pair 25 is monitored. This is a program having a function of passing the I / O processing executed by the active storage control unit 22 of the storage control unit 22 to the passive storage control unit 22 of the storage control unit pair 25.

実際上、フェイルオーバ処理部32は、ストレージ制御部ペア25のアクティブストレージ制御部22が配置されたストレージノード4の障害を検出した場合、そのストレージ制御部ペア25のパッシブストレージ制御部22の状態をアクティブモードに切り替えることにより、そのストレージ制御部ペア25のアクティブストレージ制御部22が実行していたI/O処理を当該ストレージ制御部ペア25のパッシブストレージ制御部22に引き継がせる。 In practice, when the failover processing unit 32 detects a failure of the storage node 4 in which the active storage control unit 22 of the storage control unit pair 25 is arranged, the failover processing unit 32 activates the state of the passive storage control unit 22 of the storage control unit pair 25. By switching to the mode, the I / O processing executed by the active storage control unit 22 of the storage control unit pair 25 is taken over by the passive storage control unit 22 of the storage control unit pair 25.

さらに再冗長化処理部33は、各ストレージ制御部ペア25について、そのストレージ制御部ペア25に割り当てられた論理チャンクLCと対応付けられた各物理チャンクPCを提供する各ストレージノード4をそれぞれ監視し、いずれかのストレージノード4に障害が発生した場合に、当該ストレージノード4が提供する物理チャンクPCに代えて他のストレージノード4が提供する物理チャンクPCをその論理チャンクLCに対応付ける機能を有するプログラムである。この再冗長化処理部33の処理により、かかる論理チャンクLCに書き込まれたデータの格納先が再冗長化される。 Further, the re-redundation processing unit 33 monitors each storage node 4 that provides each physical chunk PC associated with the logical chunk LC assigned to the storage control unit pair 25 for each storage control unit pair 25. , A program having a function of associating a physical chunk PC provided by another storage node 4 with a logical chunk LC in place of the physical chunk PC provided by the storage node 4 when a failure occurs in any of the storage nodes 4. Is. By the processing of the re-redundancy processing unit 33, the storage destination of the data written in the logical chunk LC is re-redundant.

一方、ストレージ制御部ペア管理テーブル34は、容量制御部23が各ストレージ制御部ペア25の構成を管理するために利用するテーブルであり、図7に示すように、ストレージ制御部ペア番号欄34A、アクティブ側配置先ノード番号欄34B、パッシブ側配置先ノード番号欄34C、LUN欄34Dを備えて構成される。ストレージ制御部ペア管理テーブル34では、1つの行が1つのストレージ制御部ペア25に対応する。 On the other hand, the storage control unit pair management table 34 is a table used by the capacity control unit 23 to manage the configuration of each storage control unit pair 25, and as shown in FIG. 7, the storage control unit pair number column 34A, It is configured to include an active side placement destination node number field 34B, a passive side placement destination node number field 34C, and a LUN field 34D. In the storage control unit pair management table 34, one row corresponds to one storage control unit pair 25.

そしてストレージ制御部ペア番号欄34Aには、対応するクラスタ6内に定義された各ストレージ制御部ペア25にそれぞれ付与されたそのストレージ制御部ペア25に固有の番号(ペア番号)がすべて格納される。 Then, in the storage control unit pair number column 34A, all the numbers (pair numbers) unique to the storage control unit pair 25 assigned to each storage control unit pair 25 defined in the corresponding cluster 6 are stored. ..

またアクティブ側配置先ノード番号欄34Bには、対応するストレージ制御部ペア25のアクティブストレージ制御部22が配置されたストレージノード4に付与されたそのストレージノード4に固有の番号(ノード番号)が格納され、パッシブ側配置先ノード番号欄34Cには、そのストレージ制御部ペア25のパッシブストレージ制御部22が配置されたストレージノード4のノード番号が格納される。 Further, in the active side placement destination node number column 34B, a number (node number) unique to the storage node 4 assigned to the storage node 4 in which the active storage control unit 22 of the corresponding storage control unit pair 25 is placed is stored. Then, the node number of the storage node 4 in which the passive storage control unit 22 of the storage control unit pair 25 is arranged is stored in the passive side placement destination node number column 34C.

さらにLUN欄34Dには、ホスト3に提供される仮想ボリュームを識別する識別情報であるLUNが格納され、当該LUNで識別される仮想ボリュームを管理するストレージ制御部ペア番号、アクティブ側配置先ノード番号、パッシブ側配置先ノード番号と対応づけて管理される。 Further, in the LUN column 34D, the LUN which is the identification information for identifying the virtual volume provided to the host 3 is stored, and the storage control unit pair number and the active side allocation destination node number for managing the virtual volume identified by the LUN are stored. , It is managed in association with the passive side placement destination node number.

各ストレージノード4のフロントエンドドライバ20は、ホスト3からI/O要求(リード要求又はライト要求)を受領した際、I/O要求に含まれるLUNを取得し、ストレージ制御部ペア管理テーブル34を用いて当該LUNに対応付けられたストレージ制御部ペア番号、アクティブ側配置先ノード番号、パッシブ側配置先ノード番号を特定する。これにより、各ストレージノード4のフロントエンドドライバ20は、I/O要求先となる仮想ボリュームを管理するストレージ制御部ペアと、そのストレージ制御部ペアの配置先ノードを特定できる。 When the front-end driver 20 of each storage node 4 receives an I / O request (read request or write request) from the host 3, the front-end driver 20 acquires the LUN included in the I / O request and displays the storage control unit pair management table 34. The storage control unit pair number, the active side placement destination node number, and the passive side placement destination node number associated with the LUN are specified. As a result, the front-end driver 20 of each storage node 4 can specify the storage control unit pair that manages the virtual volume that is the I / O request destination and the placement destination node of the storage control unit pair.

従って、図7の例の場合、「1」というペア番号が付与されたストレージ制御部ペア25は、アクティブストレージ制御部22が「1」というノード番号が付与されたストレージノード4に配置され、パッシブストレージ制御部22が「2」というノード番号が付与されたストレージノード4に配置されていることが示されている。 Therefore, in the case of the example of FIG. 7, the storage control unit pair 25 to which the pair number "1" is assigned is passive because the active storage control unit 22 is arranged in the storage node 4 to which the node number "1" is assigned. It is shown that the storage control unit 22 is arranged in the storage node 4 to which the node number "2" is assigned.

物理チャンク管理テーブル35は、容量制御部23がクラスタ6内に定義された物理チャンクPCを管理するために利用するテーブルであり、図8に示すように、物理チャンク番号欄35A、所属ノード番号欄35B、ドライブ番号欄35C及びドライブ内オフセット欄35Dを備えて構成される。物理チャンク管理テーブル35では、1つの行が1つの物理チャンクPCに対応する。 The physical chunk management table 35 is a table used by the capacity control unit 23 to manage the physical chunk PCs defined in the cluster 6, and as shown in FIG. 8, the physical chunk number column 35A and the affiliation node number column It is configured to include 35B, a drive number field 35C, and an in-drive offset field 35D. In the physical chunk management table 35, one row corresponds to one physical chunk PC.

そして物理チャンク番号欄35Aには、クラスタ6内の各物理チャンクPCにそれぞれ付与されたその物理チャンクPCに固有の番号(物理チャンク番号)がすべて格納され、所属ノード番号欄35Bには、対応する物理チャンクPCを提供するストレージノード4のノード番号が格納される。 Then, in the physical chunk number column 35A, all the numbers (physical chunk numbers) unique to the physical chunk PC assigned to each physical chunk PC in the cluster 6 are stored, and the belonging node number column 35B corresponds to the corresponding. The node number of the storage node 4 that provides the physical chunk PC is stored.

またドライブ番号欄35Cには、対応する物理チャンクPCを提供するストレージノード4内のその物理チャンクPCを提供する記憶デバイス13に付与されたその記憶デバイス13に固有の番号(ドライブ番号)が格納される。さらにドライブ内オフセット欄35Dには、その記憶デバイス13が提供する記憶領域におけるその物理チャンクPCの当該記憶領域の先頭からのオフセット位置が格納される。 Further, in the drive number column 35C, a number (drive number) unique to the storage device 13 assigned to the storage device 13 that provides the physical chunk PC in the storage node 4 that provides the corresponding physical chunk PC is stored. NS. Further, the in-drive offset column 35D stores the offset position of the physical chunk PC in the storage area provided by the storage device 13 from the beginning of the storage area.

従って、図8の例の場合、物理チャンク番号が「0」の物理チャンクPCは、ストレージ番号が「0」のストレージノード4に搭載されたドライブ番号が「0」の記憶デバイス13における先頭から「0x00000」だけオフセットした位置から始まる所定大きさの記憶領域であることが示されている。 Therefore, in the case of the example of FIG. 8, the physical chunk PC having the physical chunk number “0” is “0” from the beginning of the storage device 13 having the drive number “0” mounted on the storage node 4 having the storage number “0”. It is shown that the storage area has a predetermined size starting from a position offset by "0x00000".

論理チャンク管理テーブル36は、容量制御部23がクラスタ6内に定義された論理チャンクLCを管理するために利用するテーブルであり、図9に示すように、論理チャンク番号欄36A、割当て先ストレージ制御部ペア番号欄36B、マスタ物理チャンク番号欄36C及びミラー物理チャンク番号欄36Dを備えて構成される。論理チャンク管理テーブル36では、1つの行が1つの論理チャンクLCに対応する。 The logical chunk management table 36 is a table used by the capacity control unit 23 to manage the logical chunk LC defined in the cluster 6, and as shown in FIG. 9, the logical chunk number column 36A and the allocation destination storage control. It is configured to include a unit pair number column 36B, a master physical chunk number column 36C, and a mirror physical chunk number column 36D. In the logical chunk management table 36, one row corresponds to one logical chunk LC.

そして論理チャンク番号欄36Aには、クラスタ6内の各論理チャンクLCにそれぞれ付与されたその論理チャンクLCに固有の番号(論理チャンク番号)が格納され、割当て先ストレージ制御部ペア番号欄36Bには、対応する論理チャンクLCが割り当てられたストレージ制御部ペア25のペア番号が格納される。 A number (logical chunk number) unique to each logical chunk LC assigned to each logical chunk LC in the cluster 6 is stored in the logical chunk number column 36A, and the allocation destination storage control unit pair number column 36B stores the unique number (logical chunk number). , The pair number of the storage control unit pair 25 to which the corresponding logical chunk LC is assigned is stored.

またマスタ物理チャンク番号欄36Cには、対応する論理チャンクLCと対応付けられた複数の物理チャンクPCのうち、「マスタ」に設定された物理チャンクPCの物理チャンク番号が格納され、ミラー物理チャンク番号欄36Dには、かかる複数の物理チャンクPCのうち、「ミラー」に設定された物理チャンクPCの物理チャンク番号が格納される。 Further, in the master physical chunk number column 36C, the physical chunk number of the physical chunk PC set as the "master" among the plurality of physical chunk PCs associated with the corresponding logical chunk LC is stored, and the mirror physical chunk number is stored. Among the plurality of physical chunk PCs, the physical chunk number of the physical chunk PC set in the "mirror" is stored in the column 36D.

従って、図9の例の場合、論理チャンク番号が「0」の論理チャンクLCは、ペア番号が「0」のストレージ制御部ペア25に割り当てられており、その論理チャンクLCには、「マスタ」に設定されたチャンク番号が「0」の物理チャンクPCと、「ミラー」に設定されたチャンク番号が「4」の物理チャンクPCとが対応付けられていることが示されている。 Therefore, in the case of the example of FIG. 9, the logical chunk LC having the logical chunk number “0” is assigned to the storage control unit pair 25 having the pair number “0”, and the logical chunk LC is assigned to the “master”. It is shown that the physical chunk PC having the chunk number set to "0" and the physical chunk PC having the chunk number set to "mirror" set to "4" are associated with each other.

図36は、仮想ボリューム管理テーブル70の構成を示す。仮想ボリューム管理テーブル70は、各仮想ボリュームの領域と当該領域に対応付けられた論理チャンクの対応関係を管理するために利用するテーブルであり、図36に示すように、LUN欄70A、VVOLアドレス欄70B、論理チャンク番号欄70C及び論理チャンクアドレス欄70Dを備えて構成される。 FIG. 36 shows the configuration of the virtual volume management table 70. The virtual volume management table 70 is a table used for managing the correspondence between the area of each virtual volume and the logical chunks associated with the area, and as shown in FIG. 36, the LUN column 70A and the VVOL address column. It is configured to include 70B, a logical chunk number field 70C, and a logical chunk address field 70D.

LUN欄70A及びVVOLアドレス欄70Bには、ホスト3に提供される仮想ボリュームを識別する識別情報であるLUNとその仮想ボリュームのアドレス(VVOLアドレス)がそれぞれ格納され、論理チャンク番号欄70C及び論理チャンクアドレス欄70Dには、当該LUNとVVOLアドレスで識別される仮想ボリュームの領域に割り当てられた論理チャンクの論理チャンク番号と当該論理チャンクのアドレス(論理チャンクアドレス)がそれぞれ格納される。LUN欄70A、VVOLアドレス欄70B、論理チャンク番号欄70C及び論理チャンクアドレス欄70Dの情報は、仮想ボリュームの領域ごとに対応付けて管理されている。 The LUN column 70A and the VVOL address column 70B store the LUN and the address (VVOL address) of the virtual volume, which are identification information for identifying the virtual volume provided to the host 3, respectively, and are stored in the logical chunk number column 70C and the logical chunk. In the address field 70D, the logical chunk number of the logical chunk assigned to the area of the virtual volume identified by the LUN and the VVOL address and the address (logical chunk address) of the logical chunk are stored, respectively. The information in the LUN column 70A, the VVOL address column 70B, the logical chunk number column 70C, and the logical chunk address column 70D is managed in association with each virtual volume area.

VVOLアドレス欄70Bには、例えば当該仮想ボリュームの領域を示すアドレスの範囲が格納されてもよいし、又は、当該仮想ボリュームの領域の先頭アドレスが格納されてもよい。同様に、論理チャンクアドレス欄70Dには、例えば当該論理チャンクの領域を示すアドレスの範囲が格納されてもよいし、又は、当該論理チャンクの領域の先頭アドレスが格納されてもよい。 In the VVOL address field 70B, for example, a range of addresses indicating the area of the virtual volume may be stored, or the start address of the area of the virtual volume may be stored. Similarly, the logical chunk address field 70D may store, for example, a range of addresses indicating the area of the logical chunk, or may store the start address of the area of the logical chunk.

各ストレージノード4のストレージ制御部22は、I/O要求(リード要求又はライト要求)を受領した際、I/O要求に含まれるLUNとVVOLアドレスを取得し、仮想ボリューム管理テーブル70を用いて当該LUN及びVVOLアドレスに対応づけられた論理チャンク番号及び論理チャンクアドレスを特定する。これにより、各ストレージノード4のストレージ制御部22は、I/O要求先となる仮想ボリュームの領域に割り当てられた論理チャンクの領域を特定できる。 When the storage control unit 22 of each storage node 4 receives the I / O request (read request or write request), the storage control unit 22 acquires the LUN and VVOL address included in the I / O request, and uses the virtual volume management table 70. The logical chunk number and the logical chunk address associated with the LUN and VVOL address are specified. As a result, the storage control unit 22 of each storage node 4 can specify the area of the logical chunk allocated to the area of the virtual volume that is the I / O request destination.

この仮想ボリューム管理テーブル70について、例えば当該クラスタ(分散ストレージシステム)6が提供する全仮想ボリュームに関する仮想ボリューム管理テーブル70を各ノードで共有してもよいし、例えばストレージ制御部ペア25毎に、当該ストレージ制御部ペア25が提供する仮想ボリュームに関する仮想ボリューム管理テーブル70を管理してもよい。 Regarding the virtual volume management table 70, for example, the virtual volume management table 70 for all virtual volumes provided by the cluster (distributed storage system) 6 may be shared by each node, and for example, for each storage control unit pair 25, the virtual volume management table 70 may be shared. The virtual volume management table 70 related to the virtual volume provided by the storage control unit pair 25 may be managed.

空き物理チャンク数管理テーブル37は、各ストレージノード4におけるいずれの論理チャンクLCにも未だ対応付けられていない未使用の物理チャンクPC(以下、これを空き物理チャンクPCと呼ぶ)の総数を容量制御部23が管理するために利用するテーブルであり、図10に示すように、ノード番号欄37A及び空き物理チャンク数欄37Bを備えて構成される。空き物理チャンク数管理テーブル37では、1つの行が1つのストレージノード4に対応する。 The free physical chunk number management table 37 capacity-controls the total number of unused physical chunk PCs (hereinafter, referred to as free physical chunk PCs) that are not yet associated with any logical chunk LC in each storage node 4. It is a table used for management by the unit 23, and is configured to include a node number column 37A and a free physical chunk number column 37B as shown in FIG. In the free physical chunk number management table 37, one row corresponds to one storage node 4.

そしてノード番号欄37Aには、クラスタ6内に存在するすべてのストレージノード4のノード番号がそれぞれ格納され、空き物理チャンク数欄37Bには、対応するストレージノード4内の空物理チャンクの総数が格納される。 The node number column 37A stores the node numbers of all the storage nodes 4 existing in the cluster 6, and the free physical chunk number column 37B stores the total number of empty physical chunks in the corresponding storage node 4. Will be done.

従って、図10の例の場合、ノード番号が「0」のストレージノード4には空き物理チャンクPCがなく(空き物理チャンク数が「0」)、ノード番号が「1」のストレージノード4には「10」個の空き物理チャンクPCが存在していることが示されている。 Therefore, in the case of the example of FIG. 10, the storage node 4 having the node number “0” has no free physical chunk PC (the number of free physical chunks is “0”), and the storage node 4 having the node number “1” has no free physical chunk PC. It is shown that there are "10" free physical chunk PCs.

(1−3)ストレージノードにおいて実行される各種処理
(1−3−1)ライト処理
図11は、ストレージ制御部ペア25のアクティブストレージ制御部22が、当該ストレージ制御部ペア25と対応付けられた仮想ボリュームVVOLをライト対象とするライト要求を受信した場合に実行されるライト処理の流れを示す。
(1-3) Various processes executed in the storage node (1-3-1) Write processing In FIG. 11, the active storage control unit 22 of the storage control unit pair 25 is associated with the storage control unit pair 25. The flow of write processing executed when a write request for writing a virtual volume VVOL is received is shown.

かかるライト要求をアクティブストレージ制御部22が受信すると、この図11に示すライト処理が開始され、まず、そのライト要求を受信したアクティブストレージ制御部22が、容量仮想化機能や、ローカルコピー機能及びリモートコピー機能等の必要な機能に関する必要な処理を実行する(S1)。 When the active storage control unit 22 receives such a write request, the write process shown in FIG. 11 is started. First, the active storage control unit 22 that has received the write request has a capacity virtualization function, a local copy function, and a remote. Execute necessary processing related to necessary functions such as copy function (S1).

この後、そのアクティブストレージ制御部22は、ライト対象の仮想ボリューム(ライト対象仮想ボリューム)VVOL内の当該ライト要求において指定されたライト先領域のアドレスを、対応する論理チャンクLCのチャンク番号と、当該論理チャンクLC内の対応する論理領域のオフセット位置とに変換したI/Oコマンドを生成し(S2)、生成したI/Oコマンドを自ストレージノード4内の容量制御部23に送信する(S3)。なお、以下においては、かかるライト要求において指定されたライト対象仮想ボリュームVVOLのライト先領域に対して既に論理チャンクLCから論理領域が割り当てられているものとする。 After that, the active storage control unit 22 sets the address of the write destination area specified in the write request in the write target virtual volume (write target virtual volume) VVOL with the chunk number of the corresponding logical chunk LC and the corresponding logical chunk LC. Generates an I / O command converted to the offset position of the corresponding logical area in the logical chunk LC (S2), and transmits the generated I / O command to the capacity control unit 23 in the own storage node 4 (S3). .. In the following, it is assumed that the logical area has already been allocated from the logical chunk LC to the write destination area of the write target virtual volume VVOL specified in the write request.

このI/Oコマンドを受領した容量制御部23は、ホスト装置3からのライト要求において指定されたライト対象仮想ボリュームVVOLにおけるライト先領域に論理領域を割り当てた論理チャンクLCと対応付けられているすべての物理チャンクPCをライト先物理チャンクPCとして選択する(S4)。 The capacity control unit 23 that has received this I / O command is associated with all the logical chunk LCs that allocate the logical area to the write destination area in the write target virtual volume VVOL specified in the write request from the host device 3. The physical chunk PC of is selected as the write destination physical chunk PC (S4).

続いて、容量制御部23は、選択したライト先物理チャンクPCのいずれかが、記憶デバイス13の障害等により閉塞されている状態(以下、この状態を「閉塞中」と呼ぶ)、又は、データのコピー中(以下、これを「リビルド中」と呼ぶ)であって、かかるライト要求において指定されたリード先領域に対応する記憶デバイス13内の記憶領域へのデータコピーが未だ完了していない状態のいずれかの状態にあるか否かを判定する(S5)。 Subsequently, the capacity control unit 23 is in a state where any of the selected physical chunk PCs to be written is blocked due to a failure of the storage device 13 or the like (hereinafter, this state is referred to as “blocking”), or data. Is being copied (hereinafter referred to as "rebuilding"), and data copying to the storage area in the storage device 13 corresponding to the read destination area specified in the write request has not been completed yet. It is determined whether or not it is in any of the above states (S5).

そして容量制御部23は、この判定で否定結果を得るとステップS7に進む。これに対して、容量制御部23は、ステップS5の判定で肯定結果を得ると、「閉塞中」のライト先物理チャンクPC又は「リビルド中」であって、かつライト先領域に対応する記憶領域へのデータコピーが未だ完了していない物理チャンクPCをライト先物理チャンクPCから除外し(S6)、この後、ステップS7に進む。 Then, when the capacity control unit 23 obtains a negative result in this determination, the capacity control unit 23 proceeds to step S7. On the other hand, when the capacity control unit 23 obtains an affirmative result in the determination in step S5, it is a "blocked" write-destination physical chunk PC or a "rebuilding" storage area corresponding to the write-destination area. The physical chunk PC whose data copy to is not yet completed is excluded from the write destination physical chunk PC (S6), and then the process proceeds to step S7.

また容量制御部23は、ステップS7に進むと、物理チャンク管理テーブル35(図8)を参照して、すべてのライト先物理チャンクPCについて、それぞれそのライト先物理チャンクPCを提供する記憶デバイス13のドライブ番号と、当該記憶デバイス13におけるそのライト先物理チャンクPCのオフセット位置とを取得する(S7)。 Further, when the capacity control unit 23 proceeds to step S7, the capacity control unit 23 refers to the physical chunk management table 35 (FIG. 8), and for all the write destination physical chunk PCs, the storage device 13 that provides the write destination physical chunk PCs, respectively. The drive number and the offset position of the write destination physical chunk PC in the storage device 13 are acquired (S7).

そして容量制御部23は、取得したこれらの情報に基づいて、そのときかかるアクティブストレージ制御部22がライト要求と共に受信したライトデータをすべてのライト先物理チャンクPC内の対応する記憶領域にそれぞれ格納する(S8)。以上により、このライト処理が終了する。 Then, the capacity control unit 23 stores the write data received by the active storage control unit 22 at that time together with the write request in the corresponding storage areas in all the write destination physical chunk PCs based on the acquired information. (S8). This completes this write process.

(1−3−2)リード処理
一方、図12は、ストレージ制御部ペア25のアクティブストレージ制御部22が、当該ストレージ制御部ペア25と対応付けられた仮想ボリュームVVOLをリード対象とするリード要求を受信した場合に実行される処理の流れを示す。
(1-3-2) Read processing On the other hand, in FIG. 12, the active storage control unit 22 of the storage control unit pair 25 makes a read request for reading the virtual volume VVOL associated with the storage control unit pair 25. The flow of processing executed when it is received is shown.

かかるリード要求をアクティブストレージ制御部22が受信すると、この図12に示すリード処理が開始され、まず、そのリード要求を受信したアクティブストレージ制御部22が、容量仮想化機能や、ローカルコピー機能及びリモートコピー機能等の必要な機能に関する必要な処理を実行する(S10)。 When the active storage control unit 22 receives such a read request, the read process shown in FIG. 12 is started. First, the active storage control unit 22 that has received the read request starts the capacity virtualization function, the local copy function, and the remote. Execute necessary processing related to necessary functions such as copy function (S10).

この後、そのアクティブストレージ制御部22は、リード対象の仮想ボリューム(リード対象仮想ボリューム)VVOL内の当該リード要求において指定されたリード先領域のアドレスを、対応する論理チャンクLCのチャンク番号と、当該論理チャンクLC内の対応する論理領域のオフセット位置とに変換したI/Oコマンドを生成し(S11)、生成したI/Oコマンドを自ストレージノード4内の容量制御部23に送信する(S12)。 After that, the active storage control unit 22 sets the address of the read destination area specified in the read request in the read target virtual volume (read target virtual volume) VVOL with the chunk number of the corresponding logical chunk LC and the corresponding logical chunk LC. Generates an I / O command converted to the offset position of the corresponding logical area in the logical chunk LC (S11), and transmits the generated I / O command to the capacity control unit 23 in the own storage node 4 (S12). ..

このI/Oコマンドを受領した容量制御部23は、ホスト装置3からのリード要求において指定されたリード対象仮想ボリュームVVOLにおける当該リード要求において指定されたリード先領域に論理領域を割り当てた論理チャンクLCと対応付けられているすべての物理チャンクPCのうち、「マスタ」に設定されている物理チャンクPCをリード先物理チャンクPCとして選択する(S13)。 Upon receiving this I / O command, the capacity control unit 23 allocates a logical area to the read destination area specified in the read request in the read target virtual volume VVOL specified in the read request from the host device 3, and the logical chunk LC. Of all the physical chunk PCs associated with, the physical chunk PC set as the “master” is selected as the read destination physical chunk PC (S13).

続いて、容量制御部23は、選択したリード先物理チャンクPCが「閉塞中」又は「リビルド中」のいずれかの状態にあるか否かを判定する(S14)。そして容量制御部23は、この判定で肯定結果を得ると、リード要求において指定されたリード対象仮想ボリュームVVOLのリード先領域に論理領域を割り当てた論理チャンクLCと対応付けられている物理チャンクPCのうち、未だステップS14の判定を行っていない物理チャンクPCを新たなリード先物理チャンクPCとして選択する(S15)。また容量制御部23は、ステップS14に戻り、この後ステップS14で否定結果を得るまでステップS14−ステップS15−ステップS14のループを繰り返す。 Subsequently, the capacity control unit 23 determines whether or not the selected read destination physical chunk PC is in either the “blocked” state or the “rebuilding” state (S14). Then, when the capacity control unit 23 obtains an affirmative result in this determination, the physical chunk PC associated with the logical chunk LC in which the logical area is allocated to the read destination area of the read target virtual volume VVOL specified in the read request. Among them, the physical chunk PC for which the determination in step S14 has not been performed is selected as the new read destination physical chunk PC (S15). Further, the capacitance control unit 23 returns to step S14, and then repeats the loop of step S14-step S15-step S14 until a negative result is obtained in step S14.

そして容量制御部23は、やがて条件に合致する物理チャンクPCを検出することによりステップS14で否定結果を得ると、リード先物理チャンクPCを提供する記憶デバイス13のドライブ番号と、当該記憶デバイス13におけるそのリード先物理チャンクPCのオフセット位置とを物理チャンク管理テーブル35(図8)から取得する(S16)。 Then, when the capacity control unit 23 eventually obtains a negative result in step S14 by detecting a physical chunk PC that matches the conditions, the drive number of the storage device 13 that provides the read destination physical chunk PC and the storage device 13 are used. The offset position of the lead destination physical chunk PC is acquired from the physical chunk management table 35 (FIG. 8) (S16).

また容量制御部23は、取得したこれらの情報に基づいて、ホスト装置3からのリード要求において指定されたデータをその記憶デバイス13から読み出し(S17)、読み出したリードデータを、かかるI/Oコマンドの送信元のアクティブストレージ制御部22に返信した後(S18)、このリード処理を終了する。なお、このリードデータを受領したアクティブストレージ制御部22は、この後、このリードデータをリード要求の送信元のホスト装置3に転送する。 Further, the capacity control unit 23 reads the data specified in the read request from the host device 3 from the storage device 13 (S17) based on the acquired information, and reads the read read data into the I / O command. After returning to the active storage control unit 22 of the transmission source of (S18), this read process is terminated. The active storage control unit 22 that has received the read data then transfers the read data to the host device 3 that is the source of the read request.

なお、データ対象のデータがEC(Erasure Coding)により冗長データと共に複数の物理チャンクPCに分散されて格納されている場合には、容量制御部23は、上述のステップS13において、これら複数のすべての物理チャンクPCをリード先物理チャンクPCとして選択する。 When the data to be data is distributed and stored in a plurality of physical chunk PCs together with redundant data by EC (Erasure Coding), the capacity control unit 23 performs all of these plurality in step S13 described above. Select the physical chunk PC as the lead destination physical chunk PC.

また容量制御部23は、ステップS14において、選択したリード先物理チャンクPCの少なくとも1つが「閉塞中」又は「リビルド中」のいずれかの状態にあるか否かを判定する。そして容量制御部23は、この判定で否定結果を得た場合には、各リード先物理チャンクPCについてステップS16及びステップS17を上述と同様に実行することによりこれらリード先物理チャンクPCからデータをそれぞれ読み出す。また容量制御部23は、読み出したこれらのデータに基づいて元のデータを生成した上で、ステップS18において、生成したデータをリードデータとしてかかるI/Oコマンドの送信元のアクティブストレージ制御部22に返信し、この後、このリード処理を終了する。 Further, in step S14, the capacity control unit 23 determines whether or not at least one of the selected read-destination physical chunk PCs is in either the “blocked” or “rebuilding” state. Then, when the capacity control unit 23 obtains a negative result in this determination, the capacity control unit 23 executes the steps S16 and S17 for each read destination physical chunk PC in the same manner as described above to obtain data from the read destination physical chunk PCs, respectively. read out. Further, the capacity control unit 23 generates the original data based on these read data, and in step S18, the generated data is used as read data in the active storage control unit 22 of the transmission source of the I / O command. Reply, and then end this read process.

これに対して、容量制御部23は、ステップS14において肯定結果を得た場合には、「閉塞中」又は「リビルド中」でない残りのリード先物理チャンクPCについてステップS16及びステップS17を上述と同様に実行することにより、これらのリード先物理チャンクPCからデータをそれぞれ読み出す。また容量制御部23は、読み出したこれらのデータに基づいて、「閉塞中」又は「リビルド中」のリード先物理チャンクPCに格納されているデータを復元し、復元したデータを用いて元のデータを生成した上で、ステップS18において、生成したデータをリードデータとしてかかるI/Oコマンドの送信元のアクティブストレージ制御部22に返信し、この後、このリード処理を終了する。 On the other hand, when the capacity control unit 23 obtains an affirmative result in step S14, the capacity control unit 23 performs steps S16 and S17 for the remaining read destination physical chunk PCs that are not “blocked” or “rebuilding” in the same manner as described above. Data is read from each of these read destination physical chunk PCs by executing the above. Further, the capacity control unit 23 restores the data stored in the read destination physical chunk PC "in blockage" or "rebuilding" based on these read data, and uses the restored data to obtain the original data. Is generated, and in step S18, the generated data is returned as read data to the active storage control unit 22 of the transmission source of the I / O command, and then the read process is terminated.

(1−3−3)容量割当て処理
一方、図13は、同一ストレージノード4内のアクティブストレージ制御部22から、当該アクティブストレージ制御部22が属するストレージ制御部ペア25に対する最初又は追加の記憶容量(物理チャンクPC)の割当てを要求された容量制御部23の容量割当て処理部30(図5)により実行される容量割当て処理の処理手順を示す。
(1-3-3) Capacity allocation process On the other hand, FIG. 13 shows the initial or additional storage capacity (1-3-3) from the active storage control unit 22 in the same storage node 4 to the storage control unit pair 25 to which the active storage control unit 22 belongs. The processing procedure of the capacity allocation processing executed by the capacity allocation processing unit 30 (FIG. 5) of the capacity control unit 23 requested to allocate the physical chunk PC) is shown.

容量割当て処理部30は、かかる要求が与えられると、この図13に示す容量割当て処理を開始し、まず、ストレージ制御部ペア管理テーブル34(図7)を参照して、記憶容量を割当てるべきストレージ制御部ペア25(以下、これを対象ストレージ制御部ペア25と呼ぶ)を構成する各ストレージ制御部22がそれぞれ配置されたストレージノード4のノード番号をすべて取得する(S20)。 When such a request is given, the capacity allocation processing unit 30 starts the capacity allocation process shown in FIG. 13, and first, referring to the storage control unit pair management table 34 (FIG. 7), the storage to which the storage capacity should be allocated is stored. All the node numbers of the storage nodes 4 in which the storage control units 22 constituting the control unit pair 25 (hereinafter, referred to as the target storage control unit pair 25) are arranged are acquired (S20).

続いて、容量割当て処理部30は、対象ストレージ制御部ペア25内のアクティブストレージ制御部22が配置されたストレージノード4を優先ノードに設定する(S21)。また容量割当て処理部30は、対象ストレージ制御部ペア25内のアクティブストレージ制御部22が配置されたストレージノード4における空き物理チャンクの合計容量の下限値をアクティブ用空き容量閾値として設定する(S22)。なお、このアクティブ用空き容量閾値の値は、本情報処理システム1の設置等の際にシステム管理者などが設定する形態であっても、また予めプログラム上の定数として指定されている形態あってもよい。 Subsequently, the capacity allocation processing unit 30 sets the storage node 4 in which the active storage control unit 22 in the target storage control unit pair 25 is arranged as the priority node (S21). Further, the capacity allocation processing unit 30 sets the lower limit of the total capacity of the free physical chunks in the storage node 4 in which the active storage control unit 22 in the target storage control unit pair 25 is arranged as the active free capacity threshold value (S22). .. It should be noted that the value of the free space threshold value for active use may be set as a constant in the program in advance even if it is set by a system administrator or the like when the information processing system 1 is installed. May be good.

次いで、容量割当て処理部30は、物理チャンク選択処理部31(図5)を呼び出し、対象ストレージ制御部ペア25に割り当てる論理チャンクLCに対応付けるべき物理チャンクPCの選択を依頼する(S23)。かくして、この依頼を受領した物理チャンク選択処理部31は、クラスタ6内の空き物理チャンクPCの中から対象ストレージ制御部ペア25の論理チャンクLCに割り当てるべき物理チャンクPCを、優先ノード(ここでは、アクティブストレージ制御部22が配置されたストレージノード4)内の空き物理チャンクPCから優先的に選択し、選択した空き物理チャンクPCのチャンク番号を容量割当て処理部30に通知する。 Next, the capacity allocation processing unit 30 calls the physical chunk selection processing unit 31 (FIG. 5) and requests the selection of the physical chunk PC to be associated with the logical chunk LC to be assigned to the target storage control unit pair 25 (S23). Thus, the physical chunk selection processing unit 31 that has received this request assigns the physical chunk PCs to be assigned to the logical chunk LC of the target storage control unit pair 25 from the free physical chunk PCs in the cluster 6 to the priority node (here, in this case). The free physical chunk PC in the storage node 4) in which the active storage control unit 22 is arranged is preferentially selected, and the chunk number of the selected free physical chunk PC is notified to the capacity allocation processing unit 30.

そして容量割当て処理部30は、かかる空き物理チャンクPCのチャンク番号が物理チャンク選択処理部31から通知されると、そのチャンク番号の物理チャンクPCを「マスタ」の物理チャンクPCとして確保する(S24)。 Then, when the chunk number of the free physical chunk PC is notified from the physical chunk selection processing unit 31, the capacity allocation processing unit 30 secures the physical chunk PC of the chunk number as the “master” physical chunk PC (S24). ..

次いで、容量割当て処理部30は、対象ストレージ制御部ペア25のパッシブストレージ制御部22が配置されたストレージノード4を優先ノードに設定する(S25)。また容量割当て処理部30は、対象ストレージ制御部ペア25内のパッシブストレージ制御部22が配置されたストレージノード4における空き物理チャンクPCの合計容量の下限値をパッシブ用空き容量閾値として設定する(S26)。なお、このパッシブ用空き容量閾値の値も、本情報処理システム1の設置等の際にシステム管理者などが設定する形態であっても、また予めプログラム上の定数として指定されている形態あってもよい。 Next, the capacity allocation processing unit 30 sets the storage node 4 in which the passive storage control unit 22 of the target storage control unit pair 25 is arranged as the priority node (S25). Further, the capacity allocation processing unit 30 sets the lower limit of the total capacity of the free physical chunk PCs in the storage node 4 in which the passive storage control unit 22 in the target storage control unit pair 25 is arranged as the passive free capacity threshold value (S26). ). It should be noted that the value of the free space threshold value for passive use may be set as a constant in the program in advance even if it is set by a system administrator or the like when the information processing system 1 is installed. May be good.

さらに容量割当て処理部30は、ステップS24で確保した、「マスタ」に設定された物理チャンクPCを提供するストレージノード4を除外ノードに設定する(S27)。 Further, the capacity allocation processing unit 30 sets the storage node 4 that provides the physical chunk PC set as the “master” secured in step S24 as the exclusion node (S27).

続いて、容量割当て処理部30は、物理チャンク選択処理部31(図5)を呼び出し、対象ストレージ制御部ペア25に割り当てる論理チャンクLCに対応付けるべき物理チャンクPCの選択を依頼する(S28)。かくして、この依頼を受領した物理チャンク選択処理部31は、クラスタ6内の空き物理チャンクPCの中から対象ストレージ制御部ペア25の論理チャンクLCに割り当てるべき物理チャンクPCを、優先ノード(ここでは、パッシブストレージ制御部22が配置されたストレージノード4)内の空き物理チャンクPCから優先的に選択し、選択した空き物理チャンクPCのチャンク番号を容量割当て処理部30に通知する。 Subsequently, the capacity allocation processing unit 30 calls the physical chunk selection processing unit 31 (FIG. 5) and requests the selection of the physical chunk PC to be associated with the logical chunk LC to be assigned to the target storage control unit pair 25 (S28). Thus, the physical chunk selection processing unit 31 that has received this request assigns the physical chunk PCs to be assigned to the logical chunk LC of the target storage control unit pair 25 from the free physical chunk PCs in the cluster 6 to the priority node (here, in this case). The passive storage control unit 22 is preferentially selected from the free physical chunk PCs in the storage node 4) in which the passive storage control unit 22 is arranged, and the chunk number of the selected free physical chunk PC is notified to the capacity allocation processing unit 30.

そして容量割当て処理部30は、かかる空き物理チャンクPCのチャンク番号が物理チャンク選択処理部31から通知されると、そのチャンク番号の物理チャンクPCを「ミラー」の物理チャンクPCとして確保する(S29)。 Then, when the chunk number of the free physical chunk PC is notified from the physical chunk selection processing unit 31, the capacity allocation processing unit 30 secures the physical chunk PC of the chunk number as the physical chunk PC of the “mirror” (S29). ..

続いて、容量割当て処理部30は、新たな論理チャンクLCを作成し、作成した論理チャンクLCに対して、ステップS24で確保した物理チャンクPCと、ステップS29で確保した物理チャンクPCとを対応付ける(S30)。また容量割当て処理部30は、ステップS30で作成した論理チャンクLCを対象ストレージ制御部ペア25のプールPLに割り当てる(S31)。 Subsequently, the capacity allocation processing unit 30 creates a new logical chunk LC, and associates the created logical chunk LC with the physical chunk PC secured in step S24 and the physical chunk PC secured in step S29 ( S30). Further, the capacity allocation processing unit 30 allocates the logical chunk LC created in step S30 to the pool PL of the target storage control unit pair 25 (S31).

そして容量割当て処理部30は、この後、この追加容量割当て処理を終了する。各ストレージノード4の容量割当て処理部30は、パッシブ用空き容量閾値とアクティブ用空き容量閾値を同じ値に設定してもよいし、異なる値に設定してもよい。また、パッシブ用空き容量閾値とアクティブ用空き容量閾値の其々について、ストレージノード4で共通の値でもよいし、ストレージノード4毎に異なる値でもよい。 Then, the capacity allocation processing unit 30 ends the additional capacity allocation processing after this. The capacity allocation processing unit 30 of each storage node 4 may set the passive free capacity threshold value and the active free capacity threshold value to the same value or may be set to different values. Further, each of the passive free space threshold value and the active free space threshold value may be a value common to the storage nodes 4 or may be a different value for each storage node 4.

ストレージノード4の容量割当て処理部30は、パッシブ用空き容量閾値をアクティブ用空き容量閾値より高い値に設定してもよい。この場合、当該ストレージノード4の空き容量がパッシブ用空き容量閾値を下回るがアクティブ用空き容量閾値を上回るとき、当該ストレージノードの記憶領域からパッシブストレージ制御部22のデータ用には新たにミラー物理チャンクの割り当てを行わないが、アクティブストレージ制御部22のデータ用には新たにマスタ物理チャンクの割り当てが可能となる。これにより、ストレージノード4において、アクティブストレージ制御部22からアクセスされるマスタ物理チャンクを、ミラー物理チャンクより優先的に割り当て可能となる。 The capacity allocation processing unit 30 of the storage node 4 may set the passive free capacity threshold value to a value higher than the active free capacity threshold value. In this case, when the free space of the storage node 4 is lower than the free space threshold for passive but exceeds the free space threshold for active, a new mirror physical chunk is used for the data of the passive storage control unit 22 from the storage area of the storage node. Is not assigned, but a new master physical chunk can be assigned for the data of the active storage control unit 22. As a result, in the storage node 4, the master physical chunk accessed from the active storage control unit 22 can be preferentially assigned to the mirror physical chunk.

(1−3−4)物理チャンク選択処理
図14は、上述の容量割当て処理のステップS23及びステップS28において容量割当て処理部30から対象ストレージ制御部ペア25に割り当てる論理チャンクに対応付ける物理チャンクPCを選択するよう依頼を受けた物理チャンク選択処理部31により実行される物理チャンク選択処理の処理内容を示す。
(1-3-4) Physical chunk selection process In FIG. 14, a physical chunk PC corresponding to a logical chunk to be assigned from the capacity allocation processing unit 30 to the target storage control unit pair 25 is selected from the capacity allocation processing unit 30 in steps S23 and S28 of the capacity allocation process described above. The processing content of the physical chunk selection processing executed by the physical chunk selection processing unit 31 requested to do so is shown.

物理チャンク選択処理部31は、かかる依頼が容量割当て処理部30から与えられると、この図14に示す物理チャンク選択処理を開始し、まず、かかる依頼と共に容量割当て処理部30から通知される優先ノードのノード番号を取得する(S40)。 When the request is given by the capacity allocation processing unit 30, the physical chunk selection processing unit 31 starts the physical chunk selection processing shown in FIG. 14, and first, the priority node notified from the capacity allocation processing unit 30 together with the request. Get the node number of (S40).

また物理チャンク選択処理部31は、除外ノードが設定されている場合に、かかる依頼と共に容量割当て処理部30から通知されるその除外ノードのノード番号も取得する(S41)。 Further, when the exclusion node is set, the physical chunk selection processing unit 31 also acquires the node number of the exclusion node notified from the capacity allocation processing unit 30 together with the request (S41).

さらに物理チャンク選択処理部31は、かかる依頼と共に容量割当て処理部30から通知されるアクティブ用空き容量閾値(ステップS23の依頼の場合)、又は、パッシブ用空き容量閾値(ステップS28の依頼の場合)を取得する(S42)。 Further, the physical chunk selection processing unit 31 notifies the active free capacity threshold value (in the case of the request in step S23) or the passive free space threshold value (in the case of the request in step S28) notified from the capacity allocation processing unit 30 together with the request. (S42).

続いて、物理チャンク選択処理部31は、優先ノードが除外ノードではなく、かつ優先ノードに合計容量がアクティブ用空き容量閾値(ステップS23の依頼の場合)、又は、パッシブ用空き容量閾値(ステップS28の依頼の場合)以上の空き物理チャンクPCが存在するか否かを判定する(S43)。なお、この判定は、空き物理チャンク数管理テーブル37(図10)を参照して行われる。 Subsequently, in the physical chunk selection processing unit 31, the priority node is not an exclusion node, and the total capacity of the priority node is the active free capacity threshold (in the case of the request in step S23) or the passive free capacity threshold (step S28). (In the case of the request) It is determined whether or not there are more free physical chunk PCs (S43). This determination is made with reference to the free physical chunk number management table 37 (FIG. 10).

そして物理チャンク選択処理部31は、この判定で肯定結果を得ると、物理チャンク管理テーブル35(図8)を参照して、優先ノード内の空き物理チャンクPCの中から空き物理チャンクPCを1つ選択し(S44)、選択した空き物理チャンクPCのチャンク番号を容量割当て処理部30に通知した後(S47)、この物理チャンク選択処理を終了する。 Then, when the physical chunk selection processing unit 31 obtains an affirmative result in this determination, it refers to the physical chunk management table 35 (FIG. 8) and selects one free physical chunk PC from the free physical chunk PCs in the priority node. After selecting (S44) and notifying the capacity allocation processing unit 30 of the chunk number of the selected free physical chunk PC (S47), the physical chunk selection process ends.

これに対して、物理チャンク選択処理部31は、ステップS43の判定で否定結果を得ると、クラスタ6内の優先ノード及び除外ノード以外のストレージノード4の中から1つのストレージノード4を選択する(S45)。このときのストレージノード4の選択方法としては、例えば、空き物理チャンク数管理テーブル37を参照して、空き物理チャンクPCの数が最も多いストレージノード4を選択する方法を適用することができる。 On the other hand, when the physical chunk selection processing unit 31 obtains a negative result in the determination in step S43, the physical chunk selection processing unit 31 selects one storage node 4 from the storage nodes 4 other than the priority node and the exclusion node in the cluster 6 ( S45). As a method of selecting the storage node 4 at this time, for example, a method of selecting the storage node 4 having the largest number of free physical chunk PCs can be applied by referring to the free physical chunk number management table 37.

続いて、物理チャンク選択処理部31は、ステップS45で選択したストレージノード4内の空き物理チャンクPCの中から1つの空き物理チャンクPCを選択する(S46)。また物理チャンク選択処理部31は、選択した空き物理チャンクPCのチャンク番号を容量割当て処理部30に通知し(S47)、この後、この物理チャンク選択処理を終了する。 Subsequently, the physical chunk selection processing unit 31 selects one free physical chunk PC from the free physical chunk PCs in the storage node 4 selected in step S45 (S46). Further, the physical chunk selection processing unit 31 notifies the capacity allocation processing unit 30 of the chunk number of the selected free physical chunk PC (S47), and then ends the physical chunk selection processing.

(1−3−5)フェイルオーバ処理
一方、図15は、容量制御部23のフェイルオーバ処理部32(図5)により定期的に実行されるフェイルオーバ処理の処理手順を示す。
(1-3-5) Failover Processing On the other hand, FIG. 15 shows a processing procedure of failover processing that is periodically executed by the failover processing unit 32 (FIG. 5) of the capacity control unit 23.

フェイルオーバ処理部32は、このフェイルオーバ処理を開始すると、まず、クラスタ6内のすべてのストレージ制御部ペア25についてステップS51以降の処理を実行し終えたか否かを判断する(S50)。 When the failover processing unit 32 starts this failover processing, it first determines whether or not the processing after step S51 has been executed for all the storage control unit pairs 25 in the cluster 6 (S50).

そしてフェイルオーバ処理部32は、この判断で否定結果を得ると、クラスタ6内の全ストレージ制御部ペア25の中からステップS51で未選択のストレージ制御部ペア25を1つ選択し(S51)、選択したストレージ制御部ペア25(以下、これを第1の選択ストレージ制御部ペア25と呼ぶ)のアクティブストレージ制御部22が配置されたストレージノード4に障害が発生しているか否かを判断する(S52)。 Then, when the failover processing unit 32 obtains a negative result in this determination, it selects one unselected storage control unit pair 25 from all the storage control unit pairs 25 in the cluster 6 in step S51 (S51) and selects it. It is determined whether or not a failure has occurred in the storage node 4 in which the active storage control unit 22 of the storage control unit pair 25 (hereinafter, this is referred to as the first selection storage control unit pair 25) is arranged (S52). ).

フェイルオーバ処理部32は、この判断で否定結果を得るとステップS50に戻り、この後、第1の選択ストレージ制御部ペア25を未処理の他のストレージ制御部ペア25に順次切り替えながら、ステップS50以降の処理を繰り返す。 When the failover processing unit 32 obtains a negative result in this determination, the failover processing unit 32 returns to step S50, and after that, the first selected storage control unit pair 25 is sequentially switched to another unprocessed storage control unit pair 25, and after step S50. Repeat the process of.

これに対して、フェイルオーバ処理部32は、ステップS52の判断で肯定結果を得ると、第1の選択ストレージ制御部ペア25のパッシブストレージ制御部22の状態をアクティブモードに切り替え、当該ストレージ制御部ペア25のアクティブストレージ制御部22の状態をパッシブモードに切り替える(S53)。 On the other hand, when the failover processing unit 32 obtains an affirmative result in the determination in step S52, the failover processing unit 32 switches the state of the passive storage control unit 22 of the first selected storage control unit pair 25 to the active mode, and the storage control unit pair. The state of the active storage control unit 22 of 25 is switched to the passive mode (S53).

続いて、フェイルオーバ処理部32は、論理チャンク管理テーブル36(図9)を参照して、第1の選択ストレージ制御部ペア25に割り当てられている論理チャンクLCがあるか否かを判断する(S54)。 Subsequently, the failover processing unit 32 refers to the logical chunk management table 36 (FIG. 9) and determines whether or not there is a logical chunk LC assigned to the first selected storage control unit pair 25 (S54). ).

そしてフェイルオーバ処理部32は、この判断で否定結果を得るとステップS50に戻り、この後、第1の選択ストレージ制御部ペア25を未処理の他のストレージ制御部ペア25に順次切り替えながらステップS50以降の処理を繰り返す。 Then, when the failover processing unit 32 obtains a negative result in this determination, it returns to step S50, and after that, the first selected storage control unit pair 25 is sequentially switched to the other unprocessed storage control unit pair 25, and after step S50. Repeat the process of.

これに対して、フェイルオーバ処理部32は、ステップS54の判断で肯定結果を得ると、第1の選択ストレージ制御部ペア25に割り当てられた論理チャンクLCに対応付けられている物理チャンクPCの「マスタ」及び「ミラー」の設定を切り替える(S55)。 On the other hand, when the failover processing unit 32 obtains an affirmative result in the determination in step S54, the failover processing unit 32 “masters” the physical chunk PC associated with the logical chunk LC assigned to the first selected storage control unit pair 25. And "Mirror" settings are switched (S55).

具体的に、フェイルオーバ処理部32は、ストレージ制御部ペア管理テーブル34(図7)における第1の選択ストレージ制御部ペア25に対応する行のアクティブ配置先ノード番号欄34B(図7)に格納されているノード番号と、その行のパッシブ配置先ノード番号欄34C(図7)に格納されているノード番号とを入れ替えるように、ストレージ制御部ペア管理テーブル34を更新する(S55)。 Specifically, the failover processing unit 32 is stored in the active placement destination node number column 34B (FIG. 7) of the row corresponding to the first selected storage control unit pair 25 in the storage control unit pair management table 34 (FIG. 7). The storage control unit pair management table 34 is updated so that the node number stored in the node number and the node number stored in the passive placement destination node number field 34C (FIG. 7) of the row are exchanged (S55).

次いで、フェイルオーバ処理部32は、ステップS50に戻り、この後、第1の選択ストレージ制御部ペア25を未処理の他のストレージ制御部ペア25に順次切り替えながらステップS50以降の処理を繰り返す。 Next, the failover processing unit 32 returns to step S50, and then repeats the processing after step S50 while sequentially switching the first selected storage control unit pair 25 to another unprocessed storage control unit pair 25.

そしてフェイルオーバ処理部32は、やがてクラスタ6内に定義されたすべてのストレージ制御部ペア25についてステップS52以降の処理を実行し終えることによりステップS50で肯定結果を得ると、このフェイルオーバ処理を終了する。 Then, when the failover processing unit 32 obtains an affirmative result in step S50 by completing the processing after step S52 for all the storage control unit pairs 25 defined in the cluster 6, the failover processing ends.

(1−3−6)再冗長化処理
他方、図16は、容量制御部23の再冗長化処理部33(図5)により定期的に実行される再冗長化処理の処理手順を示す。
(1-3-6) Re-redundancy processing On the other hand, FIG. 16 shows a processing procedure of the re-redundancy processing that is periodically executed by the re-redundancy processing unit 33 (FIG. 5) of the capacity control unit 23.

再冗長化処理部33は、この再冗長化処理を開始すると、まず、クラスタ6内のすべてのストレージ制御部ペア25についてステップS61以降の処理を実行し終えたか否かを判断する(S60)。 When the re-redundancy processing unit 33 starts this re-redundancy processing, it first determines whether or not the processing after step S61 has been executed for all the storage control unit pairs 25 in the cluster 6 (S60).

そして再冗長化処理部33は、この判断で否定結果を得ると、クラスタ6内の全ストレージ制御部ペア25の中から未だステップS61で未選択のストレージ制御部ペア25を1つ選択し(S61)、選択したストレージ制御部ペア(以下、これを第2の選択ストレージ制御部ペアと呼ぶ)25に割り当てられているいずれかの論理チャンクLCに対応付けられたいずれかの物理チャンクPCを提供する記憶デバイス13、又は、当該記憶デバイス13が搭載されたストレージノード4に障害が発生しているか否かを判断する(S62)。 Then, when the re-redundation processing unit 33 obtains a negative result in this determination, it selects one storage control unit pair 25 that has not yet been selected in step S61 from all the storage control unit pairs 25 in the cluster 6 (S61). ), Provide any physical chunk PC associated with any logical chunk LC assigned to the selected storage control unit pair (hereinafter, this is referred to as a second selected storage control unit pair) 25. It is determined whether or not the storage device 13 or the storage node 4 on which the storage device 13 is mounted has a failure (S62).

再冗長化処理部33は、この判断で否定結果を得るとステップS60に戻り、この後、第2の選択ストレージ制御部ペア25を未処理の他のストレージ制御部ペア25に順次切り替えながら、ステップS60以降の処理を繰り返す。 When the re-redundancy processing unit 33 obtains a negative result in this determination, the process returns to step S60, and then, while sequentially switching the second selected storage control unit pair 25 to another unprocessed storage control unit pair 25, the step The processing after S60 is repeated.

これに対して、再冗長化処理部33は、ステップS62の判断で肯定結果を得ると、かかる障害が発生したストレージノード4が提供する物理チャンク(以下、これを障害物理チャンクと呼ぶ)PCが「マスタ」に設定された物理チャンクPCであるか否かを判断する(S63)。 On the other hand, when the re-redundancy processing unit 33 obtains an affirmative result in the determination in step S62, the physical chunk PC provided by the storage node 4 in which the failure has occurred (hereinafter, this is referred to as a failure physical chunk) PC. It is determined whether or not the PC is a physical chunk PC set in the "master" (S63).

そして再冗長化処理部33は、この判断で肯定結果を得ると、第2の選択ストレージ制御部ペア25のアクティブストレージ制御部22が配置されたストレージノード4を優先ノードに設定する(S64)。また再冗長化処理部33は、ステップS63の判断で否定結果を得ると、第2の選択ストレージ制御部ペア25のパッシブストレージ制御部22が配置されたストレージノード4を優先ノードに設定する(S65)。 Then, when the re-redundancy processing unit 33 obtains an affirmative result in this determination, the re-redundancy processing unit 33 sets the storage node 4 in which the active storage control unit 22 of the second selected storage control unit pair 25 is arranged as the priority node (S64). Further, when the re-redundancy processing unit 33 obtains a negative result in the determination in step S63, the re-redundancy processing unit 33 sets the storage node 4 in which the passive storage control unit 22 of the second selection storage control unit pair 25 is arranged as the priority node (S65). ).

続いて、再冗長化処理部33は、第2の選択ストレージ制御部ペア25に割り当てられているいずれかの論理チャンクLCに対応付けられたいずれかの物理チャンクPCを提供するストレージノード4であって、障害が発生していないストレージノード4を除外ノードに設定する(S66)。 Subsequently, the re-redundancy processing unit 33 is a storage node 4 that provides any physical chunk PC associated with any logical chunk LC assigned to the second selection storage control unit pair 25. Then, the storage node 4 in which the failure has not occurred is set as the exclusion node (S66).

次いで、再冗長化処理部33は、物理チャンク選択処理部31(図5)を呼び出して図14について上述した物理チャンク選択処理を実行させることにより、ステップS62で検出した障害物理チャンクPCの代わりとなる物理チャンクPCを選択させる(S67)。 Next, the re-redundancy processing unit 33 calls the physical chunk selection processing unit 31 (FIG. 5) to execute the physical chunk selection process described above for FIG. 14, thereby replacing the fault physical chunk PC detected in step S62. The physical chunk PC is selected (S67).

そして再冗長化処理部33は、この後、ステップS67で物理チャンク選択処理部31により選択された物理チャンク(以下、これを被選択物理チャンクと呼ぶ)PCを、ステップS62で検出した障害物理チャンクPCに代えて第2の選択ストレージ制御部ペア25に割り当てられた対応する論理チャンク(以下、これを再冗長化対象論理チャンクと呼ぶ)LCに対応付ける(S68)。 Then, the re-redundancy processing unit 33 subsequently detects the physical chunk (hereinafter, this is referred to as a selected physical chunk) PC selected by the physical chunk selection processing unit 31 in step S67 as a fault physical chunk in step S62. It is associated with the corresponding logical chunk (hereinafter, this is referred to as a re-redundancy target logical chunk) LC assigned to the second selected storage control unit pair 25 instead of the PC (S68).

具体的に、再冗長化処理部33は、論理チャンク管理テーブル36(図9)における再冗長化対象論理チャンクPCに対応する行のマスタ物理チャンク番号欄36C(障害物理チャンクPCが「マスタ」の場合)又はミラー物理チャンク番号欄36D(障害物理チャンクPCが「ミラー」の場合)に格納されている障害物理チャンクPCのチャンク番号を被選択物理チャンクPCのチャンク番号に書き換える。 Specifically, the re-redundation processing unit 33 has the master physical chunk number column 36C of the row corresponding to the re-redundant target logical chunk PC in the logical chunk management table 36 (FIG. 9) (the fault physical chunk PC is the “master”). Case) or the chunk number of the fault physical chunk PC stored in the mirror physical chunk number field 36D (when the fault physical chunk PC is "mirror") is rewritten to the chunk number of the selected physical chunk PC.

また再冗長化処理部33は、このステップS68において、空き物理チャンク数管理テーブル37(図10)における被選択物理チャンクPCを提供するストレージノード4に対応する行の空き物理チャンク数欄37B(図10)に格納されている数値を「1」減少させた値に更新する。 Further, in step S68, the re-redundancy processing unit 33 has a free physical chunk number column 37B (FIG. 10) in the row corresponding to the storage node 4 that provides the selected physical chunk PC in the free physical chunk number management table 37 (FIG. 10). The numerical value stored in 10) is updated to a value reduced by "1".

さらに再冗長化処理部33は、障害物理チャンクPCが「マスタ」に設定された物理チャンクPCであった場合には、このステップS68において、障害物理チャンクPCと共に再冗長化対象論理チャンクLCに対応付けられていた物理チャンクPCであって「ミラー」に設定されていた物理チャンクPCのうち、アクティブストレージ制御部22が配置されたストレージノード4が提供する物理チャンクPCを「マスタ」に切り替える。具体的に、再冗長化処理部33は、論理チャンク管理テーブル36(図9)における再冗長化対象論理チャンクLCに対応する行のマスタ物理チャンク番号欄36C(図9)に格納されているチャンク番号と、その行のミラー物理チャンク番号欄36D(図9)に格納されているチャンク番号とを入れ替える。 Further, when the fault physical chunk PC is a physical chunk PC set as the “master”, the re-redundation processing unit 33 corresponds to the re-redundation target logical chunk LC together with the fault physical chunk PC in this step S68. Among the attached physical chunk PCs set in the "mirror", the physical chunk PC provided by the storage node 4 in which the active storage control unit 22 is arranged is switched to the "master". Specifically, the re-redundancy processing unit 33 is a chunk stored in the master physical chunk number column 36C (FIG. 9) of the row corresponding to the re-redundancy target logical chunk LC in the logical chunk management table 36 (FIG. 9). The number is replaced with the chunk number stored in the mirror physical chunk number column 36D (FIG. 9) of that line.

この後、再冗長化処理部33は、上述の被選択物理チャンクPCの状態を「リビルド中」に設定する(S69)。また再冗長化処理部33は、それまで障害物理チャンクPCに格納されていたデータをこの被選択物理チャンクPCに復元するリビルド処理を実行する(S70)。 After that, the re-redundancy processing unit 33 sets the state of the selected physical chunk PC described above to “rebuilding” (S69). Further, the re-redundancy processing unit 33 executes a rebuild process of restoring the data stored in the failed physical chunk PC to the selected physical chunk PC (S70).

具体的に、再冗長化処理部33は、障害物理チャンクPCに格納されていたデータが他の物理チャンクPCにミラーリングされている場合には、当該他の物理チャンクPCに格納されているデータを被選択物理チャンクPCにフルコピーする。また障害物理チャンクPCに格納されていたデータがErasure-Codingのデータの一部である場合には、そのデータを他のデータを利用して復元し、復元したデータを被選択物理チャンクPCに格納する。 Specifically, when the data stored in the fault physical chunk PC is mirrored to another physical chunk PC, the re-redundancy processing unit 33 transfers the data stored in the other physical chunk PC. Make a full copy to the selected physical chunk PC. If the data stored in the failed physical chunk PC is part of the Erasure-Coding data, the data is restored using other data, and the restored data is stored in the selected physical chunk PC. do.

そして再冗長化処理部33は、このリビルド処理が完了するとステップS60に戻り、この後、第2の選択ストレージ制御部ペア25を未処理の他のストレージ制御部ペア25に順次切り替えながらステップS60以降の処理を繰り返す。 Then, when the rebuilding process is completed, the re-redundancy processing unit 33 returns to step S60, and after that, the second selected storage control unit pair 25 is sequentially switched to another storage control unit pair 25 that has not been processed, and steps S60 and subsequent steps are performed. Repeat the process of.

そして再冗長化処理部33は、やがてクラスタ6内に定義されたすべてのストレージ制御部ペア25についてステップS61以降の処理を実行し終えることによりステップS60で肯定結果を得ると、この再冗長化処理を終了する。 Then, when the re-redundancy processing unit 33 eventually obtains an affirmative result in step S60 by completing the processing after step S61 for all the storage control unit pairs 25 defined in the cluster 6, this re-redundancy processing is performed. To finish.

(1−4)本実施の形態の効果
以上のように構成された本実施の形態の情報処理システム1では、ストレージ制御部ペア25に対して少なくとも2つの物理チャンクPCが割り当てられ、これらの物理チャンクPCにデータが二重化されて格納されるためデータが保護される。
(1-4) Effect of the present embodiment In the information processing system 1 of the present embodiment configured as described above, at least two physical chunk PCs are assigned to the storage control unit pair 25, and these physics are used. The data is protected because the data is duplicated and stored in the chunk PC.

また本情報処理システム1では、これら2つの物理チャンクPCとして、ストレージ制御部ペア25を構成するアクティブストレージ制御部22が配置されたストレージノード4内の記憶デバイス13が提供する物理チャンクPCと、当該ストレージ制御部ペア25を構成するパッシブストレージ制御部22が配置されたストレージノード4内の記憶デバイス13が提供する物理チャンクPCとが選定される。 Further, in the information processing system 1, as these two physical chunk PCs, the physical chunk PC provided by the storage device 13 in the storage node 4 in which the active storage control unit 22 constituting the storage control unit pair 25 is arranged, and the physical chunk PC. A physical chunk PC provided by the storage device 13 in the storage node 4 in which the passive storage control unit 22 constituting the storage control unit pair 25 is arranged is selected.

従って、かかるストレージ制御部ペア25を構成するアクティブストレージ制御部22や、アクティブモードに切り替えられたパッシブストレージ制御部22がこれらの物理チャンクPCのうちの対応する物理チャンクPCに迅速にアクセスすることができ、当該物理チャンクPCに対するデータのリード/ライトを速やかに行うことができる。 Therefore, the active storage control unit 22 constituting the storage control unit pair 25 and the passive storage control unit 22 switched to the active mode can quickly access the corresponding physical chunk PC among these physical chunk PCs. It is possible to quickly read / write data to the physical chunk PC.

よって、本情報処理システム1によれば、システム全体としての応答性能の劣化を防止しながらデータ保護を行うことができる。 Therefore, according to the present information processing system 1, data protection can be performed while preventing deterioration of the response performance of the entire system.

(2)第2の実施の形態
第1の実施の形態のようにストレージ制御部ペア25に論理チャンクLCを割り当て、その論理チャンクLCに複数の物理チャンクPCを対応付けることによりデータを冗長化する場合、論理チャンクLCに対応付ける物理チャンクPCを選択するに際しては、フォールトセット(Fault Set)についても考慮することが望ましい。ここで、「フォールトセット」とは、単一の電源障害によって障害が発生するおそれがあるストレージノード4のグループを意味する。
(2) Second Embodiment As in the first embodiment, a logical chunk LC is assigned to the storage control unit pair 25, and data is made redundant by associating a plurality of physical chunk PCs with the logical chunk LC. When selecting a physical chunk PC to be associated with a logical chunk LC, it is desirable to consider the fault set as well. Here, the "fault set" means a group of storage nodes 4 in which a failure may occur due to a single power failure.

例えば、1つのストレージノード4の障害によりデータロスト等が発生するのを防止すべく、1つの論理チャンクLCに対応付ける複数の物理チャンクPCを、それぞれ異なるストレージノード4が提供する物理チャンクPCの中から選択したとしても、これらのストレージノード4が同じ電源から電力を取得している場合には、その電源がダウンした段階でその論理チャンクLCに対応付けたすべての物理チャンクPCに対するデータのリード/ライトを行えなくなる。 For example, in order to prevent data loss or the like from occurring due to a failure of one storage node 4, a plurality of physical chunk PCs associated with one logical chunk LC are provided from among the physical chunk PCs provided by different storage nodes 4. Even if selected, if these storage nodes 4 are getting power from the same power supply, read / write data to all physical chunk PCs associated with the logical chunk LC when the power supply goes down. Cannot be done.

そこで本実施の形態においては、論理チャンクLCに複数の物理チャンクPCを対応付ける際に、フォールトセットを意識してその論理チャンクLCに対応付ける物理チャンクPCを選択する。具体的には、1つの論理チャンクLCに対応付ける物理チャンクPCとして、異なるフォールトセットに属するストレージノード4がそれぞれ提供する物理チャンクPCを選択するようにする。 Therefore, in the present embodiment, when associating a plurality of physical chunk PCs with the logical chunk LC, the physical chunk PCs associated with the logical chunk LC are selected in consideration of the fault set. Specifically, as the physical chunk PCs associated with one logical chunk LC, the physical chunk PCs provided by the storage nodes 4 belonging to different fault sets are selected.

また、このように1つの論理チャンクLCに対応付ける物理チャンクPCを異なるフォールトセットに属するストレージノード4がそれぞれ提供する物理チャンクPCを選択するようにしたとしても、かかる論理チャンクLCが割り当てられたストレージ制御部ペア25を構成する各ストレージノード4がそれぞれ配置されたストレージノード4が同じフォールトセットに属している場合には、そのフォールトセットに電源障害が発生した場合にホスト装置3からのI/O要求に対応できなくなる。 Further, even if the physical chunk PCs associated with one logical chunk LC are selected from the physical chunk PCs provided by the storage nodes 4 belonging to different fault sets in this way, the storage control to which the logical chunk LC is assigned is selected. When the storage nodes 4 in which the storage nodes 4 constituting the unit pair 25 are arranged belong to the same fault set, an I / O request from the host device 3 when a power failure occurs in the fault set. Can no longer be supported.

そこで本実施の形態においては、それぞれ異なるフォールトセットに属するストレージノード4に配置された2つのストレージ制御部22によりストレージ制御部ペア25を構成するようにする。 Therefore, in the present embodiment, the storage control unit pair 25 is configured by the two storage control units 22 arranged in the storage nodes 4 belonging to different fault sets.

図1との対応部分に同一符号を付して示す図17は、上述のような「フォールトセット」を意識した本実施の形態による情報処理システム40の概略構成例を示す。ここでは、「ストレージノード1」及び「ストレージノード2」という2つのストレージノード41が「フォールトセット1」というフォールトセット42に属し、「ストレージノード4」及び「ストレージノード4」というストレージノード41が「フォールトセット2」というフォールトセット42に属し、……「ストレージノード(2n−1)」及び「ストレージノード2n」というストレージノード41が「フォールトセットn」というフォールトセット42に属しているものとする。 FIG. 17, which is shown by assigning the same reference numerals to the portions corresponding to those in FIG. 1, shows a schematic configuration example of the information processing system 40 according to the present embodiment in which the above-mentioned “fault set” is conscious. Here, the two storage nodes 41 "storage node 1" and "storage node 2" belong to the fault set 42 "fault set 1", and the storage nodes 41 "storage node 4" and "storage node 4" are "fault set 1". It is assumed that the storage node 41 "storage node (2n-1)" and "storage node 2n" belongs to the fault set 42 "fault set 2" and belongs to the fault set 42 "fault set n".

なお各ストレージノード41のハードウェア構成は、第1の実施の形態のストレージノード4と同様であるため、ここでの説明は省略する。 Since the hardware configuration of each storage node 41 is the same as that of the storage node 4 of the first embodiment, the description thereof will be omitted here.

図3との対応部分に同一符号を付して示す図18は、本実施の形態の情報処理システム40に定義される各ストレージ制御部ペア25の構成例を示す。この図18に示すように、本実施の形態の場合、各ストレージ制御部ペア25は、それぞれ異なるフォールトセット42に属するストレージノード41にそれぞれ配置された2つのストレージ制御部22から構成される。 FIG. 18 is shown by assigning the same reference numerals to the portions corresponding to FIG. 3, and shows a configuration example of each storage control unit pair 25 defined in the information processing system 40 of the present embodiment. As shown in FIG. 18, in the case of the present embodiment, each storage control unit pair 25 is composed of two storage control units 22 arranged in storage nodes 41 belonging to different fault sets 42, respectively.

例えば、図18の例の場合、「ストレージ制御部ペア1(SCP1)」というストレージ制御部ペア25は、「フォールトセット1」というフォールトセットに属する「ストレージノード1」というストレージノード41に配置された「ストレージ制御部1」というストレージ制御部22と、「フォールトセット2」というフォールトセットに属する「ストレージノード3」というストレージノード41に配置された「ストレージ制御部2」というストレージ制御部22とから構成されている。 For example, in the case of the example of FIG. 18, the storage control unit pair 25 called “storage control unit pair 1 (SCP1)” is arranged in the storage node 41 called “storage node 1” belonging to the fault set called “fault set 1”. It is composed of a storage control unit 22 called "storage control unit 1" and a storage control unit 22 called "storage control unit 2" arranged in a storage node 41 called "storage node 3" belonging to a fault set called "fault set 2". Has been done.

また「ストレージ制御部ペア2(SCP2)」というストレージ制御部ペア25は、「フォールトセット2」というフォールトセットに属する「ストレージノード3」というストレージノード41に配置された「ストレージ制御部3」というストレージ制御部22と、「フォールトセット1」というフォールトセットに属する「ストレージノード2」というストレージノード41に配置された「ストレージ制御部4」というストレージ制御部22とから構成されている。 Further, the storage control unit pair 25 called "storage control unit pair 2 (SCP2)" is a storage called "storage control unit 3" arranged in the storage node 41 called "storage node 3" belonging to the fault set called "fault set 2". It is composed of a control unit 22 and a storage control unit 22 called “storage control unit 4” arranged in a storage node 41 called “storage node 2” belonging to a fault set called “fault set 1”.

このような各ストレージ制御部ペア25の構成設定は、例えば、システム管理者が各ストレージノード4のフォールトセットを把握した上で管理ノード5を介して各ストレージノード4に対して行うようにしてもよい。また、いずれかのストレージノード4(例えば、クラスタ6内で代表に選出されたストレージノード4)が、図20について後述するノード管理テーブル44を参照して、異なるフォールトセット42に属するストレージノード41にそれぞれ配置された2つのストレージ制御部22からストレージ制御部ペア25を構成するようにしてもよい。 For example, the system administrator may perform the configuration setting of each storage control unit pair 25 for each storage node 4 via the management node 5 after grasping the fault set of each storage node 4. good. Further, one of the storage nodes 4 (for example, the storage node 4 selected as a representative in the cluster 6) becomes a storage node 41 belonging to a different fault set 42 with reference to the node management table 44 described later with reference to FIG. 20. The storage control unit pair 25 may be configured from the two storage control units 22 arranged respectively.

図19は、本実施の形態の情報処理システム40において、1つの論理チャンクLCに2つの物理チャンクPCを対応付ける場合の例を示す。この図19に示すように、本実施の形態の場合、1つの論理チャンクLCに対しては、互いに異なるフォールトセットに属するストレージノード41内の記憶デバイス13が提供する物理チャンクPCがそれぞれ複数対応付けられる。 FIG. 19 shows an example in which two physical chunk PCs are associated with one logical chunk LC in the information processing system 40 of the present embodiment. As shown in FIG. 19, in the case of the present embodiment, a plurality of physical chunk PCs provided by the storage devices 13 in the storage nodes 41 belonging to different fault sets are associated with each logical chunk LC. Be done.

例えば、図19の例の場合、「A」という論理チャンクLCに対しては、「フォールトセット1」というフォールトセットに属する「ストレージノード3」というストレージノード41内の記憶デバイス13が提供する「A」という物理チャンクPCと、「フォールトセット3」というフォールトセットに属する「ストレージノード5」というストレージノード41内の記憶デバイス13が提供する「A」という物理チャンクPCとが対応付けられている。 For example, in the case of the example of FIG. 19, for the logical chunk LC "A", the storage device 13 in the storage node 41 called "storage node 3" belonging to the fault set "fault set 1" provides "A". The physical chunk PC "A" provided by the storage device 13 in the storage node 41 "storage node 5" belonging to the fault set "fault set 3" is associated with each other.

また「B」という論理チャンクLCに対しては、「フォールトセット1」というフォールトセットに属する「ストレージノード1」というストレージノード41内の記憶デバイス13が提供する「B」という物理チャンクPCと、「フォールトセット2」というフォールトセットに属する「ストレージノード3」というストレージノード41内の記憶デバイス13が提供する「B」という物理チャンクPCとが対応付けられている。 For the logical chunk LC "B", the physical chunk PC "B" provided by the storage device 13 in the storage node 41 "storage node 1" belonging to the fault set "fault set 1" and "B" It is associated with a physical chunk PC called "B" provided by the storage device 13 in the storage node 41 called "storage node 3" belonging to the fault set called "fault set 2".

図20は、図6〜図10等について上述した第1の実施の形態によるフロントエンドドライバ20、バックエンドドライバ21、1又は複数のストレージ制御部22、ストレージ制御部ペア管理テーブル34、物理チャンク管理テーブル35、論理チャンク管理テーブル36及び空き物理チャンク数管理テーブル37に加えて、本実施の形態の各ストレージノード41のメモリ12(図2)に格納されるノード管理テーブル44を示す。 20 shows a front-end driver 20, a back-end driver 21, one or more storage control units 22, a storage control unit pair management table 34, and physical chunk management according to the first embodiment described above for FIGS. 6 to 10 and the like. In addition to the table 35, the logical chunk management table 36, and the free physical chunk number management table 37, the node management table 44 stored in the memory 12 (FIG. 2) of each storage node 41 of the present embodiment is shown.

ノード管理テーブル44は、各ストレージノード41がそれぞれ属するフォールトセットを管理するために本実施の形態の容量制御部43(図18)が利用するテーブルであり、図20に示すように、ノード番号欄44A及びフォールトセット番号欄44Bを備えて構成される。 The node management table 44 is a table used by the capacity control unit 43 (FIG. 18) of the present embodiment to manage the fault set to which each storage node 41 belongs, and as shown in FIG. 20, the node number column. It is configured to include 44A and a fault set number field 44B.

そしてノード番号欄44Aには、クラスタ6内に存在する各ストレージノード4にそれぞれ付与されたノード番号がすべて格納され、フォールトセット番号欄44Bには、対応するストレージノード4が属するフォールトセットに付与されたそのフォールトセットに固有の番号(フォールトセット番号)が格納される。 Then, in the node number column 44A, all the node numbers assigned to each storage node 4 existing in the cluster 6 are stored, and in the fault set number column 44B, the fault set to which the corresponding storage node 4 belongs is assigned. A unique number (fault set number) is stored in the fault set.

従って、図20の例の場合、例えば、「1」というノード番号が付与されたストレージノード41及び「3」というノード番号が付与されたストレージノード41は、「1」というフォールトセット番号が付与されたフォールトセットに所属し、「2」というノード番号が付与されたストレージノード41及び「4」というノード番号が付与されたストレージノード41は、「2」というフォールトセット番号が付与されたフォールトセットに所属していることが示されている。 Therefore, in the case of the example of FIG. 20, for example, the storage node 41 to which the node number "1" is assigned and the storage node 41 to which the node number "3" is assigned are assigned the fault set number "1". The storage node 41, which belongs to the fault set and is given the node number "2", and the storage node 41, which is given the node number "4", are assigned to the fault set given the fault set number "2". It is shown to belong.

図21は、図14について上述した第1の実施の形態の容量制御部23の物理チャンク選択処理部31に代えて、本実施の形態の容量制御部43(図18)の物理チャンク選択処理部45(図5)により実行される本実施の形態による物理チャンク選択処理の処理手順を示す。なお、これ以外の容量制御部43の処理内容は第1の実施の形態の容量制御部23と同様であるため、ここでの説明は省略する。 In FIG. 21, instead of the physical chunk selection processing unit 31 of the capacity control unit 23 of the first embodiment described above with respect to FIG. 14, the physical chunk selection processing unit of the capacity control unit 43 (FIG. 18) of the present embodiment is shown. A processing procedure of the physical chunk selection processing according to the present embodiment executed by 45 (FIG. 5) is shown. Since the processing contents of the capacity control unit 43 other than this are the same as those of the capacity control unit 23 of the first embodiment, the description here will be omitted.

本実施の形態の容量制御部43の物理チャンク選択処理部45は、図13について上述した容量割当て処理のステップS23又はステップS28等において呼び出されると、この図21に示す物理チャンク選択処理を開始し、ステップS80〜ステップS83の処理を図14のステップS40〜ステップS43と同様に処理する。 When the physical chunk selection processing unit 45 of the capacity control unit 43 of the present embodiment is called in step S23 or step S28 of the capacity allocation processing described above with respect to FIG. 13, the physical chunk selection processing shown in FIG. 21 is started. , Steps S80 to S83 are processed in the same manner as steps S40 to S43 of FIG.

そして物理チャンク選択処理部45は、ステップS83の判断で肯定結果を得ると、図14について上述した容量割当て処理のステップS44及びステップS47と同様にしてステップS84及びステップS89をそれぞれ処理し、この後、この物理チャンク選択処理を終了する。 Then, when the physical chunk selection processing unit 45 obtains an affirmative result in the judgment of step S83, the physical chunk selection processing unit 45 processes steps S84 and S89, respectively, in the same manner as in steps S44 and S47 of the capacity allocation process described above for FIG. , Ends this physical chunk selection process.

これに対して、物理チャンク選択処理部45は、ステップS83の判断で否定結果を得ると、優先ノードと同一のフォールトセットに属する他のいずれかのストレージノード41であって、当該ストレージノード41が除外ノードではなく、かつ当該ストレージノード41内に合計容量がアクティブ用空き容量閾値(ステップS23の依頼の場合)、又は、パッシブ用空き容量閾値(ステップS28の依頼の場合)以上の空き物理チャンクPCがあるストレージノード41が存在するか否かを判断する(S85)。なお、この判定は、空き物理チャンク数管理テーブル37(図10)を参照して行われる。 On the other hand, when the physical chunk selection processing unit 45 obtains a negative result in the determination in step S83, the physical chunk selection processing unit 45 is any other storage node 41 belonging to the same fault set as the priority node, and the storage node 41 is A free physical chunk PC that is not an excluded node and whose total capacity in the storage node 41 is equal to or greater than the active free capacity threshold (in the case of the request in step S23) or the passive free capacity threshold (in the case of the request in step S28). It is determined whether or not a certain storage node 41 exists (S85). This determination is made with reference to the free physical chunk number management table 37 (FIG. 10).

そして物理チャンク選択処理部45は、この判断で肯定結果を得ると、ステップS83の条件を満たすストレージノード41の中から1つのストレージノード41を選択する(S87)。このときのストレージノード41の選択方法としては、例えば、空き物理チャンク数管理テーブル37を参照して、ステップS85の条件を満たすストレージノード41のうち、空き物理チャンクPCの数が最も多いストレージノード41を選択する方法を適用することができる。ただし、他の方法によりストレージノード41を選択するようにしてもよい。 Then, when the physical chunk selection processing unit 45 obtains an affirmative result in this determination, the physical chunk selection processing unit 45 selects one storage node 41 from the storage nodes 41 satisfying the condition of step S83 (S87). As a method of selecting the storage node 41 at this time, for example, referring to the free physical chunk number management table 37, the storage node 41 having the largest number of free physical chunk PCs among the storage nodes 41 satisfying the condition of step S85. The method of selecting is applicable. However, the storage node 41 may be selected by another method.

続いて、物理チャンク選択処理部45は、選択したストレージノード41内の空き物理チャンクPCの中から1つの空き物理チャンクPCを選択する(S88)。また物理チャンク選択処理部45は、ステップS88で選択した物理チャンクPCのチャンク番号を容量割当て処理部30(図5)に通知し(S89)、この後、この物理チャンク選択処理を終了する。 Subsequently, the physical chunk selection processing unit 45 selects one free physical chunk PC from the free physical chunk PCs in the selected storage node 41 (S88). Further, the physical chunk selection processing unit 45 notifies the capacity allocation processing unit 30 (FIG. 5) of the chunk number of the physical chunk PC selected in step S88 (S89), and then ends the physical chunk selection processing.

一方、物理チャンク選択処理部45は、ステップS85の判断で否定結果を得ると、空き物理チャンク数管理テーブル37を参照して、優先ノードとは別のフォールトセットに属するいずれかのストレージノードで41あって、当該ストレージノード41が除外ノードではなく、かつ当該ストレージノード41内に合計容量がアクティブ用空き容量閾値(ステップS23の依頼の場合)、又は、パッシブ用空き容量閾値(ステップS28の依頼の場合)以上の空き物理チャンクPCがあるストレージノード41を1つ選択する(S86)。 On the other hand, when the physical chunk selection processing unit 45 obtains a negative result in the determination in step S85, the physical chunk selection processing unit 45 refers to the free physical chunk number management table 37, and 41 in any storage node belonging to a fault set different from the priority node. Therefore, the storage node 41 is not an exclusion node, and the total capacity in the storage node 41 is the active free capacity threshold (in the case of the request in step S23) or the passive free capacity threshold (in the case of the request in step S28). Case) Select one storage node 41 having the above free physical chunk PCs (S86).

また物理チャンク選択処理部45は、ステップS86で選択したストレージノード41内の空き物理チャンクPCの中から1つの空き物理チャンクを選択する(S88)。さらに物理チャンク選択処理部45は、ステップS88で選択した物理チャンクPCのチャンク番号を容量割当て処理部30に通知し(S89)、この後、この物理チャンク選択処理を終了する。 Further, the physical chunk selection processing unit 45 selects one free physical chunk from the free physical chunk PCs in the storage node 41 selected in step S86 (S88). Further, the physical chunk selection processing unit 45 notifies the capacity allocation processing unit 30 of the chunk number of the physical chunk PC selected in step S88 (S89), and then ends the physical chunk selection processing.

以上のように本実施の形態の情報処理システム40では、第1の実施の形態の構成に加えてフォールトセットをも考慮して論理チャンクLCに対応付ける物理チャンクPCを選択するようにしているため、単一の電源障害によってストレージ制御部ペア25に対応付けられたすべての物理チャンクPCに対するデータのリード/ライトが行えなくなる事態の発生を確実に回避することができる。 As described above, in the information processing system 40 of the present embodiment, the physical chunk PC associated with the logical chunk LC is selected in consideration of the fault set in addition to the configuration of the first embodiment. It is possible to reliably avoid the occurrence of a situation in which data cannot be read / written to all the physical chunk PCs associated with the storage control unit pair 25 due to a single power failure.

従って、本実施の形態によれば、第1の実施の形態により得られる効果に加えて、より可用性及び信頼性の高い情報処理システムを構築することができるという効果をも得ることができる。 Therefore, according to the present embodiment, in addition to the effect obtained by the first embodiment, it is possible to obtain the effect that an information processing system having higher availability and reliability can be constructed.

(3)第3の実施の形態
図1との対応部分に同一符号を付して示す図22は、第3の実施の形態による情報処理システム50の全体構成を示す。本情報処理システム50は、階層制御機能と、これに応じた容量割当て機能とが各ストレージノード51にそれぞれ実装されている点が第1の実施の形態の情報処理システム1と相違する。本実施の形態の情報処理ステム50におけるこれ以外の機能は第1の実施の形態の情報処理システム1とほぼ同様であるため、ここでの説明は省略する。
(3) Third Embodiment FIG. 22 showing the corresponding portion with FIG. 1 with the same reference numerals shows the overall configuration of the information processing system 50 according to the third embodiment. The information processing system 50 is different from the information processing system 1 of the first embodiment in that a hierarchical control function and a capacity allocation function corresponding to the hierarchy control function are implemented in each storage node 51, respectively. Since the other functions of the information processing stem 50 of the present embodiment are substantially the same as those of the information processing system 1 of the first embodiment, the description thereof will be omitted here.

まず階層制御機能について説明する。階層制御機能は、記憶デバイス13が提供する記憶領域をその記憶デバイス13の応答速度に応じて複数の記憶階層(ティア:Tier)にグループ化し、よりアクセス頻度の高いデータについてはより応答速度が高い記憶階層の記憶領域に格納する機能である。 First, the hierarchical control function will be described. The layer control function groups the storage area provided by the storage device 13 into a plurality of storage layers (tiers) according to the response speed of the storage device 13, and the response speed is higher for more frequently accessed data. It is a function to store in the storage area of the storage hierarchy.

このため本実施の形態の場合、各ストレージノード51には、応答速度が異なる複数種類の記憶デバイス13がそれぞれ搭載され、同じ種類の記憶デバイス13が提供する物理チャンクPCが同じ記憶階層の記憶領域として管理される。 Therefore, in the case of the present embodiment, each storage node 51 is equipped with a plurality of types of storage devices 13 having different response speeds, and the physical chunk PCs provided by the same type of storage devices 13 have storage areas of the same storage hierarchy. It is managed as.

例えば、各ストレージノードにSSD、SASハードディスク装置及びSATAハードディスク装置の3種類の記憶デバイス13が搭載されている場合、最も応答速度が速いSSDが提供する物理チャンクPCが第1の記憶階層の記憶領域、次に応答速度が速いSASハードディスク装置が提供する物理チャンクPCが第2の記憶階層の記憶領域、最も応答速度が遅いSATAハードディスク装置が提供する物理チャンクPCが第3の記憶階層の記憶領域として管理される。 For example, when each storage node is equipped with three types of storage devices 13 of SSD, SAS hard disk device, and SATA hard disk device, the physical chunk PC provided by the SSD having the fastest response speed is the storage area of the first storage layer. The physical chunk PC provided by the SATA hard disk device, which has the next fastest response speed, is the storage area of the second storage layer, and the physical chunk PC provided by the SATA hard disk device, which has the slowest response speed, is the storage area of the third storage layer. Be managed.

そして各記憶階層の記憶領域にそれぞれ格納された各データは、それぞれそのアクセス頻度が管理され、アクセス頻度が最も多いデータを第1の記憶階層の記憶領域に移動し、次にアクセス頻度が多いデータを第2の記憶階層の記憶領域に移動し、アクセス頻度が最も低いデータを第3の記憶階層の記憶領域に移動する処理が定期的に実行される。 The access frequency of each data stored in the storage area of each storage layer is managed, the data having the highest access frequency is moved to the storage area of the first storage layer, and the data having the next highest access frequency. Is moved to the storage area of the second storage layer, and the process of moving the data having the lowest access frequency to the storage area of the third storage layer is periodically executed.

このような階層制御機能によれば、アクセス頻度が高いデータに対する応答性能を維持しながら、アクセス頻度が低いデータについてはコストが安い記憶デバイス13により記憶保持することができ、これによりシステム全体としてのコストを安価に抑えることができるという利点がある。 According to such a hierarchical control function, while maintaining the response performance to the frequently accessed data, the infrequently accessed data can be stored and held by the low-cost storage device 13, whereby the system as a whole can be stored and held. There is an advantage that the cost can be kept low.

本実施の形態の情報処理システム50では、このような階層制御機能に対応すべく、図23に示すように、各ストレージ制御部ペア25にそれぞれ割り当てられたプールPLに対して、それぞれ異なる記憶階層の物理チャンクPCが対応付けられた複数の論理チャンクLCが割り当てられている。なお以下においては、各ストレージ制御部ペア25に3つの記憶階層(第1〜第3の記憶階層)分の論理チャンクLCをそれぞれ対応付けるものとして説明を進めるが、ストレージ制御部ペア25に対応付ける論理チャンクLCの記憶階層数は3以外であってもよい。 In the information processing system 50 of the present embodiment, as shown in FIG. 23, different storage layers are used for the pool PLs assigned to the storage control unit pairs 25 in order to support such a layer control function. A plurality of logical chunk LCs associated with the physical chunk PCs of the above are assigned. In the following, the description will be made assuming that each storage control unit pair 25 is associated with logical chunk LCs for three storage layers (first to third storage layers), respectively, but the logical chunks associated with the storage control unit pair 25 will be described. The number of storage layers of LC may be other than 3.

そして各ストレージ制御部ペア25のアクティブストレージ制御部22は、自己が属するストレージ制御部ペア25と対応付けられた仮想ボリュームVVOLをライト対象仮想ボリュームVVOLとするライト要求が与えられた場合、そのライト要求において指定されたそのライト対象仮想ボリュームVVOL内のライト先領域に対して、当初は最も応答性能が高い第1の記憶階層の物理チャンクPCが対応付けられた論理チャンクLCの論理領域を割り当てる。 Then, when the active storage control unit 22 of each storage control unit pair 25 is given a write request to set the virtual volume VVOL associated with the storage control unit pair 25 to which it belongs as the write target virtual volume VVOL, the write request is given. Initially, the logical area of the logical chunk LC to which the physical chunk PC of the first storage layer having the highest response performance is associated is allocated to the write destination area in the write target virtual volume VVOL specified in.

またアクティブストレージ制御部22は、その後、かかるライト対象仮想ボリュームVVOLにライトされた各データのアクセス頻度を監視し、これらデータに対するアクセス頻度に応じて、最もアクセス頻度が高いデータについては、仮想ボリュームVVOLにおけるそのデータがライトされた記憶領域に対応付ける論理チャンクLCの論理領域を最も高い記憶階層に属する論理チャンクLC内の論理領域に必要に応じて切り替える。またアクティブストレージ制御部22は、これに応じて、切替え後の論理チャンクLCに対応付けられた物理チャンクPC内の対応する記憶領域にそのデータを移動させる。 Further, the active storage control unit 22 subsequently monitors the access frequency of each data written to the write target virtual volume VVOL, and according to the access frequency to these data, the most frequently accessed data is the virtual volume VVOL. The logical area of the logical chunk LC to which the data corresponds to the written storage area in is switched to the logical area in the logical chunk LC belonging to the highest storage hierarchy as needed. Further, the active storage control unit 22 moves the data to the corresponding storage area in the physical chunk PC associated with the logical chunk LC after switching accordingly.

またアクティブストレージ制御部22は、次にアクセス頻度が高いデータについては、仮想ボリュームVVOLにおけるそのデータがライトされた記憶領域に対応付ける論理チャンクLCの論理領域を次に高い記憶階層に属する論理チャンクLCの論理領域に切り替え、切替え後の論理チャンクLCに対応付けられた物理チャンクPC内の対応する記憶領域にそのデータを移動させる。 Further, for the data having the next highest access frequency, the active storage control unit 22 assigns the logical area of the logical chunk LC corresponding to the storage area to which the data is written in the virtual volume VVOL to the logical chunk LC belonging to the next highest storage hierarchy. The data is switched to the logical area, and the data is moved to the corresponding storage area in the physical chunk PC associated with the logical chunk LC after the switching.

さらにアクティブストレージ制御部22は、最もアクセス頻度が低いデータについては、仮想ボリュームVVOLにおけるそのデータがライトされた記憶領域に対応付ける論理チャンクLCの論理領域を最も低い記憶階層に属する論理チャンクLCの論理領域に切り替え、切替え後の論理チャンクLCに対応付けられた物理チャンクPCの対応する記憶領域にそのデータを移動させる。 Further, the active storage control unit 22 sets the logical area of the logical chunk LC corresponding to the storage area in which the data is written in the virtual volume VVOL to the logical area of the logical chunk LC belonging to the lowest storage layer for the data having the lowest access frequency. The data is moved to the corresponding storage area of the physical chunk PC associated with the logical chunk LC after switching to.

このような本実施の形態の容量割当て機能を実現するための手段として、本実施の形態の各ストレージノード51のメモリ12(図2)には、図8について上述した物理チャンク管理テーブル35に代えて図24に示す物理チャンク管理テーブル52が格納されると共に、図9について上述した論理チャンク管理テーブル36に代えて図25に示す論理チャンク管理テーブル53が格納され、さらに図10について上述した空き物理チャンク数管理テーブル37に代えて図26に示す空き物理チャンク数管理テーブル54が格納されている。 As a means for realizing the capacity allocation function of the present embodiment, the memory 12 (FIG. 2) of each storage node 51 of the present embodiment is replaced with the physical chunk management table 35 described above with respect to FIG. The physical chunk management table 52 shown in FIG. 24 is stored, and the logical chunk management table 53 shown in FIG. 25 is stored in place of the logical chunk management table 36 described above in FIG. 9, and the free physics described above in FIG. 10 is further stored. Instead of the chunk number management table 37, the free physical chunk number management table 54 shown in FIG. 26 is stored.

そして本実施の形態の物理チャンク管理テーブル52には、図8について上述した物理チャンク管理テーブル35の物理チャンク番号欄35A、所属ノード番号欄35B、ドライブ番号欄35C及びドライブ内オフセット欄35Dとそれぞれ同様の情報が格納される物理チャンク番号欄52A、所属ノード番号欄52B、ドライブ番号欄52D及びドライブ内オフセット欄52Eに加えて、メディアタイプ欄52Cが設けられている。そしてメディアタイプ欄52Cには、対応する物理チャンクPCを提供する記憶デバイス13のメディアタイプ(SSD、SAS又はSATAなど)が格納される。 The physical chunk management table 52 of the present embodiment is the same as the physical chunk number column 35A, the affiliation node number column 35B, the drive number column 35C, and the in-drive offset column 35D of the physical chunk management table 35 described above with respect to FIG. In addition to the physical chunk number column 52A, the affiliation node number column 52B, the drive number column 52D, and the in-drive offset column 52E in which the information of the above is stored, a media type column 52C is provided. The media type column 52C stores the media type (SSD, SAS, SATA, etc.) of the storage device 13 that provides the corresponding physical chunk PC.

従って、図24の例の場合、物理チャンク番号が「0」〜「2」、「4」又は「5」の物理チャンクPCはメディアタイプが「SSD」の記憶デバイス13が提供する物理チャンクであり、物理チャンク番号が「3」の物理チャンクPCはメディアタイプが「SAS」の記憶デバイス13が提供する物理チャンクであり、物理チャンク番号が「6」及び「7」の物理チャンクPCはメディアタイプが「SATA」の記憶デバイス13が提供する物理チャンクであることが示されている。 Therefore, in the case of the example of FIG. 24, the physical chunk PC having the physical chunk numbers "0" to "2", "4", or "5" is the physical chunk provided by the storage device 13 having the media type "SSD". , The physical chunk PC having the physical chunk number "3" is the physical chunk provided by the storage device 13 having the media type "SAS", and the physical chunk PC having the physical chunk numbers "6" and "7" has the media type. It is shown to be a physical chunk provided by the storage device 13 of "SATA".

また本実施の形態の論理チャンク管理テーブル53には、図9について上述した論理チャンク管理テーブル36の論理チャンク番号欄36A、割当て先ストレージ制御部ペア番号欄36B、マスタ物理チャンク番号欄36C及びミラー物理チャンク番号欄36Dとそれぞれ同様の情報が格納される論理チャンク番号欄53A、割当て先ストレージ制御部ペア番号欄53B、マスタ物理チャンク番号欄53D及びミラー物理チャンク番号欄53Eに加えて、メディアタイプ欄53Cが設けられている。そしてメディアタイプ欄53Cには、対応する論理チャンクLCに対応付けられた物理チャンクPCを提供する記憶デバイス13のメディアタイプが格納される。 Further, in the logical chunk management table 53 of the present embodiment, the logical chunk number column 36A of the logical chunk management table 36 described above with respect to FIG. 9, the allocation destination storage control unit pair number column 36B, the master physical chunk number column 36C, and the mirror physical In addition to the logical chunk number column 53A in which the same information as the chunk number column 36D is stored, the allocation destination storage control unit pair number column 53B, the master physical chunk number column 53D, and the mirror physical chunk number column 53E, the media type column 53C Is provided. The media type column 53C stores the media type of the storage device 13 that provides the physical chunk PC associated with the corresponding logical chunk LC.

従って、図25の例の場合、論理チャンク番号が「0」又は「1」の論理チャンクLCは、いずれもメディアタイプが「SSD」の記憶デバイス13が提供する物理チャンクPCが対応付けられた論理チャンクであり、論理チャンク番号が「2」の論理チャンクLCは、メディアタイプが「SAS」の記憶デバイス13が提供する物理チャンクPCが対応付けられた論理チャンクであることが示されている。 Therefore, in the case of the example of FIG. 25, the logical chunk LC having the logical chunk number "0" or "1" is the logic associated with the physical chunk PC provided by the storage device 13 having the media type "SSD". It is shown that the logical chunk LC which is a chunk and has the logical chunk number “2” is the logical chunk associated with the physical chunk PC provided by the storage device 13 having the media type “SAS”.

さらに本実施の形態の空き物理チャンク数管理テーブル54には、図10について上述した空き物理チャンク数管理テーブル37のノード番号欄37A及び空き物理チャンク数欄37Bとそれぞれ同様の情報が格納されるノード番号欄54A及び空き物理チャンク数欄54Bに加えて、各記憶階層にそれぞれ対応させた空き物理チャンク数欄54C,54D,54Eが設けられている。そして、これら空き物理チャンク数欄54C〜54Eには、それぞれ対応する記憶階層を構成するメディアタイプの記憶デバイス13が提供する物理チャンクPCのうちの空き物理チャンクPCの数が格納される。 Further, in the free physical chunk number management table 54 of the present embodiment, the same information as the node number column 37A and the free physical chunk number column 37B of the free physical chunk number management table 37 described above with respect to FIG. 10 is stored. In addition to the number column 54A and the free physical chunk number column 54B, the free physical chunk number columns 54C, 54D, and 54E corresponding to each storage hierarchy are provided. Then, in these free physical chunk number columns 54C to 54E, the number of free physical chunk PCs among the physical chunk PCs provided by the media type storage device 13 constituting the corresponding storage hierarchy is stored.

従って、図26の例の場合、例えば、ノード番号が「1」のストレージノード51内には、現時点において、第1の記憶階層を構成する「SSD」というメディアタイプの記憶デバイス13が提供する空き物理チャンクPCが「5」つ存在し、第2の記憶階層を構成する「SAS」というメディアタイプの記憶デバイス13が提供する空き物理チャンクPCが「2」つ存在し、第3の記憶階層を構成する「SATA」というメディアタイプの記憶デバイス13が提供する空き物理チャンクPCが「3」つ存在することが示されている。なお、上述のようにどのメディアタイプの記憶デバイス13がどの記憶階層に属するかは予め定められているものとする。 Therefore, in the case of the example of FIG. 26, for example, in the storage node 51 having the node number "1", the space provided by the storage device 13 of the media type "SSD" constituting the first storage hierarchy at present is provided. There are "5" physical chunk PCs, and there are "2" free physical chunk PCs provided by the media type storage device 13 called "SAS" that constitutes the second storage hierarchy, and the third storage hierarchy is used. It is shown that there are "3" free physical chunk PCs provided by the constituent "SATA" media type storage device 13. As described above, it is assumed that which media type storage device 13 belongs to which storage layer is predetermined.

図5との対応部分に同一符号を付して示す図27は、本実施の形態の容量制御部55の構成を示す。本実施の形態の容量制御部55は、容量割当て処理部56及び物理チャンク選択処理部57の処理内容が異なる点を除いて、第1の実施の形態の容量制御部23(図5)と同様に構成されている。 FIG. 27, which is shown by assigning the same reference numerals to the portions corresponding to those in FIG. 5, shows the configuration of the capacitance control unit 55 of the present embodiment. The capacity control unit 55 of the present embodiment is the same as the capacity control unit 23 (FIG. 5) of the first embodiment, except that the processing contents of the capacity allocation processing unit 56 and the physical chunk selection processing unit 57 are different. It is configured in.

図28は、同じストレージノード51内のアクティブストレージ制御部22から、当該アクティブストレージ制御部22が属するストレージ制御部ペア25に対する最初又は追加の記憶容量の割当てを要求された本実施の形態の容量制御部55の容量割当て処理部56(図27)により実行される容量割当て処理の処理手順を示す。なお本実施の形態の場合、アクティブストレージ制御部22は、記憶階層を指定して記憶容量の割当てを容量制御部55に要求する。 FIG. 28 shows the capacity control of the present embodiment in which the active storage control unit 22 in the same storage node 51 requests the allocation of the first or additional storage capacity to the storage control unit pair 25 to which the active storage control unit 22 belongs. The processing procedure of the capacity allocation processing executed by the capacity allocation processing unit 56 (FIG. 27) of unit 55 is shown. In the case of the present embodiment, the active storage control unit 22 requests the capacity control unit 55 to allocate the storage capacity by designating the storage hierarchy.

容量割当て処理部56は、かかる要求が与えられると、この図28に示す容量割当て処理を開始し、まず、指定された記憶階層を確認し(S90)、この後、ステップS91〜ステップS93を図13について上述した第1の実施の形態の容量割当て処理のステップS20〜ステップS22と同様に処理する。 When such a request is given, the capacity allocation processing unit 56 starts the capacity allocation process shown in FIG. 28, first confirms the designated storage hierarchy (S90), and then steps S91 to S93. No. 13 is processed in the same manner as in steps S20 to S22 of the capacity allocation process of the first embodiment described above.

続いて、容量割当て処理部56は、物理チャンク選択処理部57(図27)を呼び出し、ステップS90で確認した対象ストレージ制御部ペア25に割り当てる記憶階層の論理チャンクLCに対応付けるべき物理チャンクPCの選択を依頼する(S94)。かくして、この依頼を受領した物理チャンク選択処理部57は、クラスタ6内の空き物理チャンクPCの中から対象ストレージ制御部ペア25の指定された記憶階層の論理チャンクLCに割り当てるべき物理チャンクPCを、優先ノード(ここでは、アクティブストレージ制御部22が配置されたストレージノード51)内の空き物理チャンクPCから優先的に選択し、選択した空き物理チャンクPCのチャンク番号を容量割当て処理部56に通知する。 Subsequently, the capacity allocation processing unit 56 calls the physical chunk selection processing unit 57 (FIG. 27) and selects a physical chunk PC to be associated with the logical chunk LC of the storage hierarchy to be assigned to the target storage control unit pair 25 confirmed in step S90. (S94). Thus, the physical chunk selection processing unit 57 that has received this request assigns the physical chunk PCs to be assigned to the logical chunk LC of the designated storage hierarchy of the target storage control unit pair 25 from the free physical chunk PCs in the cluster 6. Priority is selected from the free physical chunk PCs in the priority node (here, the storage node 51 in which the active storage control unit 22 is arranged), and the chunk number of the selected free physical chunk PC is notified to the capacity allocation processing unit 56. ..

次いで、容量割当て処理部56は、ステップS95〜ステップS98を、図13について上述した第1の実施の形態の容量割当て処理のステップS24〜ステップS27と同様に処理する。また容量割当て処理部56は、この後、物理チャンク選択処理部57(図27)を呼び出し、ステップS90で確認した対象ストレージ制御部ペア25に割り当てる記憶階層の論理チャンクLCに対応付けるべき物理チャンクPCの選択を依頼する(S99)。かくして、この依頼を受領した物理チャンク選択処理部57は、クラスタ6内の空き物理チャンクPCの中から対象ストレージ制御部ペア25の指定された記憶階層の論理チャンクLCに割り当てるべき物理チャンクPCを、優先ノード(ここでは、パッシブストレージ制御部22が配置されたストレージノード51)内の空き物理チャンクPCから優先的に選択し、選択した空き物理チャンクPCのチャンク番号を容量割当て処理部56に通知する。 Next, the capacity allocation processing unit 56 processes steps S95 to S98 in the same manner as steps S24 to S27 of the capacity allocation processing of the first embodiment described above with respect to FIG. 13. After that, the capacity allocation processing unit 56 calls the physical chunk selection processing unit 57 (FIG. 27), and the physical chunk PC to be associated with the logical chunk LC of the storage hierarchy to be assigned to the target storage control unit pair 25 confirmed in step S90. Request selection (S99). Thus, the physical chunk selection processing unit 57 that has received this request assigns the physical chunk PCs to be assigned to the logical chunk LC of the designated storage hierarchy of the target storage control unit pair 25 from the free physical chunk PCs in the cluster 6. Priority is selected from the free physical chunk PCs in the priority node (here, the storage node 51 in which the passive storage control unit 22 is arranged), and the chunk number of the selected free physical chunk PC is notified to the capacity allocation processing unit 56. ..

続いて、容量割当て処理部56は、ステップS100〜ステップS102を、図13について上述した容量割当て処理のステップS29〜ステップS31と同様に処理し、この後、この容量割当て処理を終了する。 Subsequently, the capacity allocation processing unit 56 processes steps S100 to S102 in the same manner as steps S29 to S31 of the capacity allocation process described above for FIG. 13, and then ends the capacity allocation process.

他方、図29は、図28について上述した本実施の形態の容量割当て処理のステップS94又はステップS99において容量割当て処理部56から対象ストレージ制御部ペア25に割り当てる論理チャンクLCに対応付ける物理チャンクPCを選択するよう依頼を受けた物理チャンク選択処理部57により実行される物理チャンク選択処理の処理内容を示す。 On the other hand, FIG. 29 selects a physical chunk PC associated with the logical chunk LC to be assigned from the capacity allocation processing unit 56 to the target storage control unit pair 25 in step S94 or step S99 of the capacity allocation processing of the present embodiment described above with respect to FIG. The processing content of the physical chunk selection processing executed by the physical chunk selection processing unit 57 requested to do so is shown.

物理チャンク選択処理部57は、かかる依頼が容量割当て処理部56から与えられると、この図29に示す物理チャンク選択処理を開始し、まず、ステップS110〜ステップS112を図14について上述した第1の実施の形態の物理チャンク選択処理のステップS40〜ステップS42と同様に処理する。 When the request is given by the capacity allocation processing unit 56, the physical chunk selection processing unit 57 starts the physical chunk selection processing shown in FIG. 29. First, steps S110 to S112 are described in FIG. The same process as in steps S40 to S42 of the physical chunk selection process of the embodiment is performed.

続いて、物理チャンク選択処理部57は、優先ノードが除外ノードではなく、かつ優先ノード内の指定された階層の記憶デバイスに合計容量がアクティブ用空き容量閾値(ステップS93の依頼の場合)、又は、パッシブ用空き容量閾値(ステップS99の依頼の場合)以上の空き物理チャンクPCが存在するか否かを判定する(S113)。なお、この判定は、空き物理チャンク数管理テーブル54(図26)を参照して行われる。 Subsequently, in the physical chunk selection processing unit 57, the priority node is not an exclusion node, and the total capacity of the storage device of the specified hierarchy in the priority node is the active free space threshold (in the case of the request in step S93), or , It is determined whether or not there is a free physical chunk PC equal to or higher than the passive free space threshold value (in the case of the request in step S99) (S113). This determination is made with reference to the free physical chunk number management table 54 (FIG. 26).

そして物理チャンク選択処理部57は、この判定で肯定結果を得ると、物理チャンク管理テーブル52(図24)を参照して、優先ノード内の指定された記憶階層の記憶デバイス13が提供する空き物理チャンクPCの中から空き物理チャンクPCを1つ選択し(S114)、選択した空き物理チャンクPCのチャンク番号を容量割当て処理部56に通知した後(S117)、この物理チャンク選択処理を終了する。 When the physical chunk selection processing unit 57 obtains an affirmative result in this determination, the physical chunk selection processing unit 57 refers to the physical chunk management table 52 (FIG. 24), and refers to the free physical provided by the storage device 13 of the designated storage hierarchy in the priority node. After selecting one free physical chunk PC from the chunk PCs (S114) and notifying the capacity allocation processing unit 56 of the chunk number of the selected free physical chunk PC (S117), the physical chunk selection process ends.

これに対して、物理チャンク選択処理部57は、ステップS113の判定で否定結果を得ると、クラスタ6内の優先ノード及び除外ノード以外のストレージノード51の中から1つのストレージノード51を選択する(S115)。このときのストレージノード51の選択方法としては、例えば、空き物理チャンク数管理テーブル37を参照して、指定された記憶階層の記憶デバイス13が提供する物理チャンクPCのうちの空き物理チャンクPCの数が最も多いストレージノード51を選択する方法を適用することができる。ただし、他の方法によりストレージノード51を選択するようにしてもよい。 On the other hand, when the physical chunk selection processing unit 57 obtains a negative result in the determination in step S113, the physical chunk selection processing unit 57 selects one storage node 51 from the storage nodes 51 other than the priority node and the exclusion node in the cluster 6 ( S115). As a method of selecting the storage node 51 at this time, for example, the number of free physical chunk PCs among the physical chunk PCs provided by the storage device 13 of the designated storage hierarchy is referred to by referring to the free physical chunk number management table 37. The method of selecting the storage node 51 having the largest number can be applied. However, the storage node 51 may be selected by another method.

続いて、物理チャンク選択処理部57は、ステップS115で選択したストレージノード51内の指定された記憶階層の記憶デバイス13が提供する空き物理チャンクPCの中から1つの空き物理チャンクPCを選択する(S116)。また物理チャンク選択処理部57は、選択した空き物理チャンクPCのチャンク番号を容量割当て処理部56に通知し(S117)、この後、この物理チャンク選択処理を終了する。 Subsequently, the physical chunk selection processing unit 57 selects one free physical chunk PC from the free physical chunk PCs provided by the storage device 13 of the designated storage hierarchy in the storage node 51 selected in step S115 ( S116). Further, the physical chunk selection processing unit 57 notifies the capacity allocation processing unit 56 of the chunk number of the selected free physical chunk PC (S117), and then ends the physical chunk selection processing.

以上のように本実施の形態によれば、階層制御機能が搭載された情報処理システム50についても第1の実施の形態と同様の効果を得ることができる。 As described above, according to the present embodiment, the same effect as that of the first embodiment can be obtained for the information processing system 50 equipped with the hierarchical control function.

(4)他の実施の形態
なお上述の第1〜第3の実施の形態においては、図1、図17及び図22のように、ホスト装置に物理的な記憶領域を提供する記憶デバイス13を各ストレージノード4,41,51に搭載するようにした場合について述べたが、本発明はこれに限らず、例えば、図1との対応部分に同一符号を付した図30に示すように、かかる記憶デバイス13を各ストレージノード60に搭載せず、これらストレージノード60にかかる記憶デバイス13が搭載された外部ストレージ装置61を接続するようにしてもよい。
(4) Other Embodiments In the first to third embodiments described above, as shown in FIGS. 1, 17, and 22, the storage device 13 that provides the host device with a physical storage area is provided. Although the case where the storage nodes 4, 41 and 51 are mounted is described, the present invention is not limited to this, and for example, as shown in FIG. 30 in which the corresponding portions corresponding to those in FIG. 1 are designated by the same reference numerals. The storage device 13 may not be mounted on each storage node 60, and an external storage device 61 on which the storage device 13 related to the storage node 60 is mounted may be connected.

この場合、各ストレージノード60のハードウェア構成は、図2から記憶デバイス13を除去した構成とし、これら各ストレージノード60の論理構成は、図3について構成したストレージノード4の論理構成と同様とすればよい。なお、このようにした場合におけるフロントエンドドライバ20、バックエンドドライバ21、ストレージ制御部22及び容量制御部23の制御内容は、第1の実施の形態と同様である。 In this case, the hardware configuration of each storage node 60 is such that the storage device 13 is removed from FIG. 2, and the logical configuration of each storage node 60 is the same as the logical configuration of the storage node 4 configured with respect to FIG. Just do it. In this case, the control contents of the front-end driver 20, the back-end driver 21, the storage control unit 22, and the capacity control unit 23 are the same as those in the first embodiment.

従って、この例の場合、各ストレージ制御部ペア25に対しては、そのストレージ制御部ペア25を構成するアクティブストレージ制御部22が配置されたストレージノード60と接続された外部ストレージ装置61に搭載された記憶デバイス13が提供する物理チャンクPCと、当該ストレージ制御部ペア25を構成するパッシブストレージ制御部22が配置されたストレージノード60と接続された外部ストレージ装置61に搭載された記憶デバイス13が提供する物理チャンクPCとが対応付けられた論理チャンクLCが割り当てられることになる。 Therefore, in the case of this example, each storage control unit pair 25 is mounted on the external storage device 61 connected to the storage node 60 in which the active storage control unit 22 constituting the storage control unit pair 25 is arranged. The storage device 13 provided by the physical chunk PC provided by the storage device 13 and the external storage device 61 connected to the storage node 60 in which the passive storage control unit 22 constituting the storage control unit pair 25 is arranged is provided. A logical chunk LC associated with the physical chunk PC to be used is assigned.

また上述の第1〜第3の実施の形態においては、図14について上述した物理チャンク選択処理のステップS45及びS46や、図21について上述した物理チャンク選択処理のステップS87及びS88、並びに、図29について上述した物理チャンク選択処理のステップS115及びS116において、空き物理チャンクPCの数が最も多いストレージノード4内の空き物理チャンクPCの中からストレージ制御部ペア25に割り当てる論理チャンクLCに対応付ける物理チャンクPCを選択するようにした場合について述べたが、本発明はこれに限らず、ストレージ制御部ペア25を構成するアクティブストレージ制御部22やパッシブストレージ制御部22の配置先近傍の物理チャンクPCを優先的にそのストレージ制御部ペア25に割り当てる論理チャンクLCに対応付けるようにしてもよい。 Further, in the above-described first to third embodiments, the above-mentioned physical chunk selection processing steps S45 and S46 for FIG. 14, the above-mentioned physical chunk selection processing steps S87 and S88 for FIG. 21, and FIG. 29. In steps S115 and S116 of the physical chunk selection process described above, the physical chunk PCs associated with the logical chunk LC assigned to the storage control unit pair 25 from among the free physical chunk PCs in the storage node 4 having the largest number of free physical chunk PCs. However, the present invention is not limited to this, and priority is given to physical chunk PCs in the vicinity of the active storage control unit 22 and the passive storage control unit 22 that constitute the storage control unit pair 25. May be associated with the logical chunk LC assigned to the storage control unit pair 25.

なお「ストレージ制御部22の配置先近傍の物理チャンクPC」とは、そのストレージ制御部22がその物理チャンクPCにアクセスする際に経由するスイッチ等のネットワークデバイスが少ない物理チャンクPCを指す。従って、ストレージ制御部22の配置先の最も近傍の物理チャンクPCは、そのストレージ制御部22が配置されたストレージノード4内の物理チャンクPCということになる。 The “physical chunk PC near the location of the storage control unit 22” refers to a physical chunk PC having few network devices such as switches that the storage control unit 22 passes through when accessing the physical chunk PC. Therefore, the nearest physical chunk PC to which the storage control unit 22 is arranged is the physical chunk PC in the storage node 4 in which the storage control unit 22 is arranged.

このようにストレージ制御部ペア25を構成するアクティブストレージ制御部22やパッシブストレージ制御部22の配置先近傍の物理チャンクPCを優先的にそのストレージ制御部ペア25に割り当てる論理チャンクLCに対応付けるようにしても、アクティブストレージ制御部22やパッシブストレージ制御部22が迅速にその物理チャンクPCにアクセスすることができ、当該物理チャンクPCに対するデータのリード/ライトを速やかに行うことができる。 In this way, the physical chunk PCs in the vicinity of the active storage control unit 22 and the passive storage control unit 22 that constitute the storage control unit pair 25 are associated with the logical chunk LC that is preferentially assigned to the storage control unit pair 25. However, the active storage control unit 22 and the passive storage control unit 22 can quickly access the physical chunk PC, and can quickly read / write data to the physical chunk PC.

さらに上述の第1の実施の形態においては、図13及び図14について上述したように、ストレージ制御部ペア25のアクティブストレージ制御部22が配置されたストレージノード4や、当該ストレージ制御部ペア25のパッシブストレージ制御部22が配置されたストレージノード4を優先ノードに設定(図13のステップS21及びステップS25を参照)することにより、物理チャンク選択処理部31がこれらのストレージノード4の空き物理チャンクPCを優先的にそのストレージ制御部ペア25に割り当てる論理チャンクLCに対応付ける物理チャンクPCとして選択するようにした場合について述べたが、本発明はこれに限らず、物理チャンク選択処理部31が、クラスタ6内の各ストレージノード4の空き物理チャンクPCの数にのみ基づいてかかる論理チャンクLCに対応付ける空き物理チャンクPCを選択するようにしてもよい。 Further, in the above-described first embodiment, as described above with respect to FIGS. 13 and 14, the storage node 4 in which the active storage control unit 22 of the storage control unit pair 25 is arranged and the storage control unit pair 25. By setting the storage node 4 in which the passive storage control unit 22 is arranged as the priority node (see step S21 and step S25 in FIG. 13), the physical chunk selection processing unit 31 can be used as a free physical chunk PC of these storage nodes 4. Has been described in the case where is preferentially selected as the physical chunk PC associated with the logical chunk LC to be assigned to the storage control unit pair 25, but the present invention is not limited to this, and the physical chunk selection processing unit 31 is the cluster 6 The free physical chunk PCs associated with such a logical chunk LC may be selected based only on the number of free physical chunk PCs of each storage node 4 in the storage node 4.

具体的には、図13との対応部分に同一符号を付した図31に示すように、容量割当て処理部30が、図13のステップS21及びステップS25を省略することにより、対象ストレージ制御部ペア25のアクティブストレージ制御部22や、パッシブストレージ制御部22が配置されたストレージノード4を優先ノードに設定しないようにする。また図14との対応部分に同一符号を付した図32に示すように、物理チャンク選択処理部31が、ステップS42の後で優先ノードが設定されているか否かを判定し(S120)、否定結果を得た場合にはステップS43に進み、肯定結果を得た場合にはステップS45に進むようにすればよい。 Specifically, as shown in FIG. 31, in which the corresponding portions corresponding to those in FIG. 13 are designated by the same reference numerals, the capacity allocation processing unit 30 omits steps S21 and S25 in FIG. The active storage control unit 22 of the 25 and the storage node 4 in which the passive storage control unit 22 is arranged are not set as priority nodes. Further, as shown in FIG. 32 in which the corresponding portions corresponding to those in FIG. 14 are designated by the same reference numerals, the physical chunk selection processing unit 31 determines whether or not the priority node is set after step S42 (S120), and negates. If a result is obtained, the process proceeds to step S43, and if a positive result is obtained, the process proceeds to step S45.

ただし、ストレージ制御部ペア25に割り当てる論理チャンクLCに対応付ける物理チャンクPCとして、そのストレージ制御部ペア25のアクティブストレージ制御部22が配置されたストレージノード4内の空き物理チャンクPCを選択した方が通常時におけるシステム全体としての応答性能が良いため、図13との対応部分に同一符号を付した図33に示すように、ステップS21については実行し、図13のステップS25については処理を省略するように容量割当て処理部30を構成するようにしてもよい。この場合においても、図32のフローチャートの処理を実行するように物理チャンク選択処理部31を構築すればよい。 However, it is usually better to select a free physical chunk PC in the storage node 4 in which the active storage control unit 22 of the storage control unit pair 25 is arranged as the physical chunk PC associated with the logical chunk LC assigned to the storage control unit pair 25. Since the response performance of the system as a whole at the time is good, step S21 is executed and processing is omitted for step S25 of FIG. 13 as shown in FIG. 33 in which the corresponding portions corresponding to those of FIG. 13 are designated by the same reference numerals. The capacity allocation processing unit 30 may be configured in the above. Even in this case, the physical chunk selection processing unit 31 may be constructed so as to execute the processing of the flowchart of FIG. 32.

さらに上述の第3の実施の形態においては、図28及び図29について上述したように、容量制御部55(図27)の容量割当て処理部56(図27)が、すべての階層について、ストレージ制御部ペア25のアクティブストレージ制御部22が配置されたストレージノード4や、当該ストレージ制御部ペア25のパッシブストレージ制御部22が配置されたストレージノード4を優先ノードに設定(図13のステップS21及びステップS25を参照)することにより、物理チャンク選択処理部57(図27)がこれらのストレージノード4の空き物理チャンクPCを優先的にそのストレージ制御部ペア25に割り当てる論理チャンクLCに対応付ける物理チャンクPCとして選択するようにした場合について述べたが、本発明はこれに限らず、指定された記憶階層が最上位の記憶階層のときにのみ、物理チャンク選択処理部57が、クラスタ6内の各ストレージノード4の空き物理チャンクPCの数にのみ基づいてかかる論理チャンクLCに対応付ける空き物理チャンクPCを選択するようにしてもよい。 Further, in the third embodiment described above, as described above with respect to FIGS. 28 and 29, the capacity allocation processing unit 56 (FIG. 27) of the capacity control unit 55 (FIG. 27) controls storage for all layers. The storage node 4 in which the active storage control unit 22 of the unit pair 25 is arranged and the storage node 4 in which the passive storage control unit 22 of the storage control unit pair 25 is arranged are set as priority nodes (steps S21 and step of FIG. 13). By (see S25), the physical chunk selection processing unit 57 (FIG. 27) preferentially allocates the free physical chunk PCs of these storage nodes 4 to the storage control unit pair 25 as physical chunk PCs associated with the logical chunk LC. The case where the selection is made has been described, but the present invention is not limited to this, and only when the designated storage hierarchy is the highest storage hierarchy, the physical chunk selection processing unit 57 causes each storage node in the cluster 6 to be selected. The free physical chunk PCs associated with such a logical chunk LC may be selected based only on the number of 4 free physical chunk PCs.

この場合、図28との対応部分に同一符号を付した図34に示すように、容量割当て処理部56は、ステップS91の処理実行後にステップS90で確認した記憶階層が最上位の記憶階層であるか否かを判断し(S130)し、否定結果を得た場合には対象ストレージ制御部ペア25内のアクティブストレージ制御部22が配置されたストレージノード4を優先ノードに設定することなくステップS93に進む。また容量割当て処理部56は、ステップS95の処理実行後にステップS90で確認した記憶階層が最上位の記憶階層であるか否かを判断し(S131)し、否定結果を得た場合には対象ストレージ制御部ペア25内のアクティブストレージ制御部22が配置されたストレージノード4を優先ノードに設定することなくステップS97に進む。 In this case, as shown in FIG. 34 in which the corresponding portions corresponding to those in FIG. 28 are designated by the same reference numerals, the storage layer confirmed in step S90 after the processing in step S91 is executed is the highest storage layer in the capacity allocation processing unit 56. Whether or not it is determined (S130), and if a negative result is obtained, the storage node 4 in which the active storage control unit 22 in the target storage control unit pair 25 is arranged is not set as the priority node, and the step S93 is performed. move on. Further, the capacity allocation processing unit 56 determines whether or not the storage layer confirmed in step S90 after executing the process in step S95 is the highest storage layer (S131), and if a negative result is obtained, the target storage. The process proceeds to step S97 without setting the storage node 4 in which the active storage control unit 22 in the control unit pair 25 is arranged as the priority node.

また、この場合、図29との対応部分に同一符号を付した図35に示すように、物理チャンク選択処理部31は、ステップS112の後で優先ノードが設定されているか否かを判定し(S132)、否定結果を得た場合にはステップS115に進み、肯定結果を得た場合にはステップS114に進むようにすればよい。 Further, in this case, as shown in FIG. 35 in which the corresponding portions corresponding to those in FIG. 29 are designated by the same reference numerals, the physical chunk selection processing unit 31 determines whether or not the priority node is set after step S112 ( S132) If a negative result is obtained, the process proceeds to step S115, and if a positive result is obtained, the process proceeds to step S114.

このようにすることにより、応答性能が要求される最上位の記憶階層については、自ノードから記憶領域を割り当て、これ以外の記憶階層については、各ストレージノード4から均等に記憶領域を割り当てることができる。 By doing so, the storage area can be allocated from the own node for the highest storage layer that requires response performance, and the storage area can be evenly allocated from each storage node 4 for the other storage layers. can.

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

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

本発明は、1又は複数のSDSが実装された複数のストレージノードを備える情報処理システムに適用することができる。 The present invention can be applied to an information processing system including a plurality of storage nodes on which one or more SDSs are mounted.

1,40,50……情報処理システム、3……ホスト装置、4,41,51,60……ストレージノード、6……クラスタ、11……CPU、13……記憶デバイス、22……ストレージ制御部、23,43,55……容量制御部、25……ストレージ制御部ペア、30,56……容量割当て処理部、31,45,57……物理チャンク選択処理部、32……フェイルオーバ処理部、33……再冗長化処理部、34……ストレージ制御部ペア管理テーブル、35,52……物理チャンク管理テーブル、36,53……論理チャンク管理テーブル、37,54……空き物理チャンク数管理テーブル、42……フォールトセット、44……ノード管理テーブル、61……外部ストレージ装置、LC……論理チャンク、LP……プール、PC……物理チャンク、VVOL……仮想ボリューム。 1,40,50 ... Information processing system, 3 ... Host device, 4,41,51,60 ... Storage node, 6 ... Cluster, 11 ... CPU, 13 ... Storage device, 22 ... Storage control Units, 23, 43, 55 ... Capacity control unit, 25 ... Storage control unit pair, 30, 56 ... Capacity allocation processing unit, 31, 45, 57 ... Physical chunk selection processing unit, 32 ... Failover processing unit , 33 ... Redundancy processing unit, 34 ... Storage control unit Pair management table, 35, 52 ... Physical chunk management table, 36, 53 ... Logical chunk management table, 37, 54 ... Free physical chunk number management Table, 42 ... fault set, 44 ... node management table, 61 ... external storage device, LC ... logical chunk, LP ... pool, PC ... physical chunk, VVOL ... virtual volume.

Claims (13)

複数のストレージノードを有する記憶システムにおいて、
各々の前記ストレージノードは、
クラスタ内の複数の前記ストレージノードの各記憶デバイスがそれぞれ提供する容量を管理する容量制御部と、
I/O要求を受け付け、受け付けた前記I/O要求に応じたコマンドを生成して前記容量制御部に送信するストレージ制御部と、
を備え、
前記記憶システムは、
それぞれ異なる前記ストレージノードに配置された複数の前記ストレージ制御部が、ストレージ制御部グループを構成し、
前記ストレージ制御部グループの第1の前記ストレージ制御部が前記I/O要求を処理する第1の状態に設定されると共に、前記ストレージ制御部グループの第2の前記ストレージ制御部が当該I/O要求を処理しない第2の状態に設定され、
前記記憶デバイスに格納されるデータを、異なるストレージノードに格納される複数のデータを組みにしてデータ冗長化しており、
前記容量制御部は、
前記第1の状態の前記ストレージ制御部が配置された前記ストレージノード及び前記第2の状態の前記ストレージ制御部が配置された前記ストレージノードを少なくとも含む複数の前記ストレージノードの物理記憶領域を前記ストレージ制御部グループに割り当てるとともに、当該物理記憶領域を当該ストレージ制御部グループに割り当てる際に、前記第1の状態の前記ストレージ制御部が配置された前記ストレージノード及び前記第2の状態の前記ストレージ制御部が配置された前記ストレージノードの前記物理記憶領域を前記ストレージ制御部グループに優先的に割り当てる
ことを特徴とする記憶システム。
In a storage system with multiple storage nodes
Each of the storage nodes
A capacity control unit that manages the capacity provided by each storage device of the plurality of storage nodes in the cluster, and
A storage control unit that accepts an I / O request, generates a command corresponding to the received I / O request, and transmits the command to the capacity control unit.
With
The storage system
A plurality of the storage control units arranged in the different storage nodes form a storage control unit group.
The first storage control unit of the storage control unit group is set to the first state for processing the I / O request, and the second storage control unit of the storage control unit group is set to the I / O. Set to a second state that does not process the request,
The data stored in the storage device is made redundant by combining a plurality of data stored in different storage nodes.
The capacity control unit
The physical storage area of a plurality of storage nodes including at least the storage node in which the storage control unit in the first state is arranged and the storage node in which the storage control unit in the second state is arranged is stored. When allocating to the control unit group and allocating the physical storage area to the storage control unit group, the storage node in which the storage control unit in the first state is arranged and the storage control unit in the second state A storage system characterized in that the physical storage area of the storage node in which is arranged is preferentially allocated to the storage control unit group.
一の前記ストレージノードに複数の前記ストレージ制御部グループを稼働させることが可能であり、
前記ストレージノードでは、前記ストレージ制御部グループごとに物理記憶領域が割り当てられる
ことを特徴とする請求項1に記載の記憶システム。
It is possible to operate a plurality of the storage control unit groups on one storage node.
The storage system according to claim 1, wherein a physical storage area is allocated to each storage control unit group in the storage node.
前記第1の状態の前記ストレージ制御部が配置された前記ストレージノードに障害が発生した場合に、前記第2の状態の前記ストレージ制御部を前記第1の状態に変更する
ことを特徴とする請求項1に記載の記憶システム。
A claim characterized in that, when a failure occurs in the storage node in which the storage control unit in the first state is arranged, the storage control unit in the second state is changed to the first state. Item 1. The storage system according to item 1.
前記障害の発生前に、前記第1の状態の前記ストレージ制御部が配置された前記ストレージノードを含む前記ストレージノードの前記物理記憶領域にマスタデータを格納し、前記第2の状態の前記ストレージ制御部が配置された前記ストレージノードを含む前記ストレージノードの前記物理記憶領域にミラーデータを格納し、
前記障害の発生後に、前記ミラーデータをマスタデータに切り替える
ことを特徴とする請求項3に記載の記憶システム。
Prior to the occurrence of the failure, the master data is stored in the physical storage area of the storage node including the storage node in which the storage control unit in the first state is arranged, and the storage control in the second state is performed. Mirror data is stored in the physical storage area of the storage node including the storage node in which the unit is arranged.
The storage system according to claim 3, wherein the mirror data is switched to master data after the failure occurs.
前記第2の状態の前記ストレージ制御部が配置された前記ストレージノードの前記物理記憶領域よりも前記第1の状態の前記ストレージ制御部が配置された前記ストレージノードの前記物理記憶領域をより優先的に割り当てる
ことを特徴とする請求項1に記載の記憶システム。
The physical storage area of the storage node in which the storage control unit in the first state is arranged has priority over the physical storage area of the storage node in which the storage control unit in the second state is arranged. The storage system according to claim 1, wherein the storage system is assigned to.
同じデータを複数の前記ストレージノードに格納することによりデータ冗長化を行い、前記データには前記第1の状態の前記ストレージ制御部がライトを行うマスタデータとミラーデータが含まれており、
前記第1の状態の前記ストレージ制御部が配置された前記ストレージノードに前記第1の状態のストレージ制御部がリードを行うマスタデータを格納し、前記第2の状態の前記ストレージ制御部が配置された前記ストレージノードに前記第1の状態のストレージ制御部がリードを行わないミラーデータを格納する
ことを特徴とする請求項2に記載の記憶システム。
Data redundancy is performed by storing the same data in a plurality of the storage nodes, and the data includes master data and mirror data that the storage control unit in the first state writes.
The storage node in which the storage control unit in the first state is arranged stores master data to be read by the storage control unit in the first state, and the storage control unit in the second state is arranged. The storage system according to claim 2, wherein the storage control unit in the first state stores mirror data that is not read in the storage node.
前記容量制御部は、前記第1の状態の前記ストレージ制御部が配置された前記ストレージノード及び前記第2の状態の前記ストレージ制御部が配置された前記ストレージノードの前記物理記憶領域を前記ストレージ制御部グループに優先して割り当て、
前記第1の状態の前記ストレージ制御部が配置された前記ストレージノード及び前記第2の状態の前記ストレージ制御部が配置された前記ストレージノードの前記物理記憶領域の空き容量が所定の閾値よりも小さくなった場合に、前記第1又は第2の状態の前記ストレージ制御部が配置された前記ストレージノード以外の前記ストレージノードの物理記憶領域を割り当てる
ことを特徴とする請求項1に記載の記憶システム。
The capacity control unit controls the physical storage area of the storage node in which the storage control unit in the first state is arranged and the storage node in which the storage control unit in the second state is arranged. Assign preferentially to department groups,
The free capacity of the physical storage area of the storage node in which the storage control unit in the first state is arranged and the storage node in which the storage control unit in the second state is arranged is smaller than a predetermined threshold value. The storage system according to claim 1, further comprising allocating a physical storage area of the storage node other than the storage node in which the storage control unit in the first or second state is arranged.
前記第1の状態の前記ストレージ制御部が配置された前記ストレージノードの前記閾値は、前記第2の状態の前記ストレージ制御部が配置された前記ストレージノードの前記閾値よりも小さい
ことを特徴とする請求項7に記載の記憶システム。
The threshold value of the storage node in which the storage control unit in the first state is arranged is smaller than the threshold value of the storage node in which the storage control unit in the second state is arranged. The storage system according to claim 7.
前記容量制御部は、
他の前記ストレージノードの前記物理記憶領域を前記ストレージ制御部グループに割り当てる場合に、前記データ冗長化したデータの組みの他のデータと同じ前記ストレージノードに格納されないように他の前記ストレージノードを選択して割り当てる
ことを特徴とする請求項1に記載の記憶システム。
The capacity control unit
When allocating the physical storage area of the other storage node to the storage control unit group, the other storage node is selected so as not to be stored in the same storage node as other data of the data redundant data set. The storage system according to claim 1, wherein the storage system is assigned.
前記データ冗長化は、同じデータを複数のストレージノードに格納することにより行う
ことを特徴とする請求項9に記載の記憶システム。
The storage system according to claim 9, wherein the data redundancy is performed by storing the same data in a plurality of storage nodes.
データの冗長化は、前記データから冗長コードを生成して、前記データが格納される前記ストレージノードとは異なる前記ストレージノードに当該冗長コードを格納することにより行う
ことを特徴とする請求項1に記載の記憶システム。
The first aspect of claim 1 is that data redundancy is performed by generating a redundant code from the data and storing the redundant code in the storage node different from the storage node in which the data is stored. Described storage system.
前記ストレージ制御部グループが複数設けられ、
異なる前記ストレージ制御部グループをそれぞれ構成する複数の前記ストレージ制御部が、同一の前記ストレージノードに配置された
ことを特徴とする請求項1に記載の記憶システム。
A plurality of storage control unit groups are provided, and the storage control unit groups are provided.
The storage system according to claim 1, wherein a plurality of the storage control units constituting different storage control unit groups are arranged on the same storage node.
複数のストレージノードを有する記憶システムの制御方法において、
各々の前記ストレージノードは、
クラスタ内の複数の前記ストレージノードの各記憶デバイスがそれぞれ提供する容量を管理する容量制御部と、
I/O要求を受け付け、受け付けた前記I/O要求に応じたコマンドを生成して前記容量制御部に送信するストレージ制御部と、
を有し、
前記記憶システムでは、
それぞれ異なる前記ストレージノードに配置された複数の前記ストレージ制御部が、ストレージ制御部グループを構成し、
前記ストレージ制御部グループの第1の前記ストレージ制御部が前記I/O要求を処理する第1の状態に設定されると共に、前記ストレージ制御部グループの第2の前記ストレージ制御部が当該I/O要求を処理しない第2の状態に設定され、
前記記憶デバイスに格納されるデータを、異なるストレージノードに格納される複数のデータを組みにしてデータ冗長化しており、
前記容量制御部が、前記第1の状態の前記ストレージ制御部が配置された前記ストレージノード及び前記第2の状態の前記ストレージ制御部が配置された前記ストレージノードを少なくとも含む複数の前記ストレージノードの物理記憶領域を前記ストレージ制御部グループに割り当てるとともに、当該物理記憶領域を当該ストレージ制御部グループに割り当てる際に、前記第1の状態の前記ストレージ制御部が配置された前記ストレージノード及び前記第2の状態の前記ストレージ制御部が配置された前記ストレージノードの前記物理記憶領域を前記ストレージ制御部グループに優先的に割り当てる第1のステップと、
前記容量制御部が、前記I/O要求に基づき前記第1の状態に設定された前記ストレージ制御部から送信される前記コマンドに応じて、当該ストレージ制御部が属する前記ストレージ制御部グループに割り当てた各前記物理記憶領域にデータをそれぞれライトし、又は、当該各物理記憶領域のうちの一の前記物理記憶領域からデータをリードする第2のステップと
を備え、
前記第1のステップでは、
前記第1の状態の前記ストレージ制御部が配置された前記ストレージノード及び前記第2の状態の前記ストレージ制御部が配置された前記ストレージノードの前記物理記憶領域を前記ストレージ制御部グループに優先的に割り当てる
ことを特徴とする記憶システムの制御方法。
In the control method of a storage system having multiple storage nodes,
Each of the storage nodes
A capacity control unit that manages the capacity provided by each storage device of the plurality of storage nodes in the cluster, and
A storage control unit that accepts an I / O request, generates a command corresponding to the received I / O request, and transmits the command to the capacity control unit.
Have,
In the storage system
A plurality of the storage control units arranged in the different storage nodes form a storage control unit group.
The first storage control unit of the storage control unit group is set to the first state for processing the I / O request, and the second storage control unit of the storage control unit group is set to the I / O. Set to a second state that does not process the request,
The data stored in the storage device is made redundant by combining a plurality of data stored in different storage nodes.
The capacity control unit includes at least the storage node in which the storage control unit in the first state is arranged and the storage node in which the storage control unit in the second state is arranged. When allocating the physical storage area to the storage control unit group and allocating the physical storage area to the storage control unit group, the storage node in which the storage control unit in the first state is arranged and the second A first step of preferentially allocating the physical storage area of the storage node in which the storage control unit in the state is arranged to the storage control unit group, and
The capacity control unit is assigned to the storage control unit group to which the storage control unit belongs in response to the command transmitted from the storage control unit set to the first state based on the I / O request. Each of the physical storage areas is provided with a second step of writing data to each of the physical storage areas or reading data from the physical storage area of one of the physical storage areas.
In the first step,
The physical storage area of the storage node in which the storage control unit in the first state is arranged and the storage node in which the storage control unit in the second state is arranged is given priority to the storage control unit group. A method of controlling a storage system, characterized in that it is assigned.
JP2020031069A 2017-11-30 2020-02-26 Storage system and its control method Active JP6905611B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020031069A JP6905611B2 (en) 2017-11-30 2020-02-26 Storage system and its control method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017231219A JP6668309B2 (en) 2017-11-30 2017-11-30 Storage system and control method thereof
JP2020031069A JP6905611B2 (en) 2017-11-30 2020-02-26 Storage system and its control method

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2017231219A Division JP6668309B2 (en) 2017-11-30 2017-11-30 Storage system and control method thereof

Publications (2)

Publication Number Publication Date
JP2020091901A JP2020091901A (en) 2020-06-11
JP6905611B2 true JP6905611B2 (en) 2021-07-21

Family

ID=71012993

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020031069A Active JP6905611B2 (en) 2017-11-30 2020-02-26 Storage system and its control method

Country Status (1)

Country Link
JP (1) JP6905611B2 (en)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007206931A (en) * 2006-02-01 2007-08-16 Hitachi Ltd Storage system, data processing method and storage device
JP5158074B2 (en) * 2007-03-20 2013-03-06 富士通株式会社 Storage management program, storage management method, storage management device, and storage system
WO2016051512A1 (en) * 2014-09-30 2016-04-07 株式会社日立製作所 Distributed storage system
JP6668309B2 (en) * 2017-11-30 2020-03-18 株式会社日立製作所 Storage system and control method thereof

Also Published As

Publication number Publication date
JP2020091901A (en) 2020-06-11

Similar Documents

Publication Publication Date Title
JP6668309B2 (en) Storage system and control method thereof
US11886288B2 (en) Optimize data protection layouts based on distributed flash wear leveling
US11074016B2 (en) Using flash storage devices with different sized erase blocks
JP6791834B2 (en) Storage system and control software placement method
US11068367B2 (en) Storage system and storage system control method
JP4890033B2 (en) Storage device system and storage control method
US10467107B1 (en) Maintaining metadata resiliency among storage device failures
JP5124551B2 (en) Computer system for managing volume allocation and volume allocation management method
CN113448502B (en) Distributed storage system and storage control method
US20180074951A1 (en) Storage system with elective garbage collection to reduce flash contention
US11592985B2 (en) Mapping LUNs in a storage memory
JP7419456B2 (en) Storage system and its control method
JP2020047215A (en) Storage system and storage control method
US10719265B1 (en) Centralized, quorum-aware handling of device reservation requests in a storage system
CN116974462A (en) Storage system and obstacle handling method
JP6905611B2 (en) Storage system and its control method
US11467913B1 (en) Snapshots with crash consistency in a storage system
WO2019043815A1 (en) Storage system
JP7057408B2 (en) Storage system and its control method
JP2023151189A (en) Storage system and method for controlling the same
WO2017017775A1 (en) Computer system and volume allocation control method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200226

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201221

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210105

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210219

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210518

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210603

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210615

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210625

R150 Certificate of patent or registration of utility model

Ref document number: 6905611

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350