JP5640480B2 - Data management program, storage system, and data management method - Google Patents

Data management program, storage system, and data management method Download PDF

Info

Publication number
JP5640480B2
JP5640480B2 JP2010133740A JP2010133740A JP5640480B2 JP 5640480 B2 JP5640480 B2 JP 5640480B2 JP 2010133740 A JP2010133740 A JP 2010133740A JP 2010133740 A JP2010133740 A JP 2010133740A JP 5640480 B2 JP5640480 B2 JP 5640480B2
Authority
JP
Japan
Prior art keywords
data
disk
metadata
node
slice
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2010133740A
Other languages
Japanese (ja)
Other versions
JP2011258103A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2010133740A priority Critical patent/JP5640480B2/en
Publication of JP2011258103A publication Critical patent/JP2011258103A/en
Application granted granted Critical
Publication of JP5640480B2 publication Critical patent/JP5640480B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Description

本発明は、ストレージ装置に格納されたデータを管理するデータ管理プログラム、ストレージシステム、およびデータ管理方法に関する。   The present invention relates to a data management program, a storage system, and a data management method for managing data stored in a storage apparatus.

大規模なコンピュータネットワークではデータの信頼性を確保するため、データを複数のストレージ装置に多重化して格納する場合がある。データを多重化させる手法の1つとして、データをネットワーク上の複数のノード(ディスクノード)それぞれに接続されたストレージ装置に、多重化させたデータを分散格納する方法がある。このように、ネットワーク上の複数のディスクノードでデータを分散管理するシステムを、マルチノードストレージシステムと呼ぶ。   In a large-scale computer network, data may be multiplexed and stored in a plurality of storage devices in order to ensure data reliability. As one of the methods for multiplexing data, there is a method for distributing and storing multiplexed data in storage devices connected to each of a plurality of nodes (disk nodes) on the network. A system in which data is distributed and managed by a plurality of disk nodes on the network is called a multi-node storage system.

マルチノードストレージシステムでは、アクセスを行うノード(アクセスノード)内に仮想ディスクを定義し、仮想ディスクを介してデータの入出力を行う。仮想ディスク内の記憶領域は複数のセグメントに分割され、各セグメントがストレージ装置の複数の記憶領域を対応付けられる。アプリケーションが仮想ディスクのセグメントを指定してデータの書き込みを行うと、書き込み対象のセグメントに対応付けられた複数のストレージ装置にデータが書き込まれる。このようにデータを多重化することで、データの信頼性を高めることができる。   In a multi-node storage system, a virtual disk is defined in an access node (access node), and data is input / output via the virtual disk. The storage area in the virtual disk is divided into a plurality of segments, and each segment is associated with a plurality of storage areas of the storage device. When an application designates a segment of a virtual disk and writes data, the data is written to a plurality of storage devices associated with the write target segment. By multiplexing the data in this way, the reliability of the data can be improved.

国際公開第2004/104845号International Publication No. 2004/104845

しかし、従来の技術では、マルチノードストレージシステムの仮想ディスク内のデータを他のシステムに移行する場合、仮想ディスク内のデータのコピー処理が1台のコンピュータで実行され、そのコンピュータに負荷がかかりすぎていた。   However, in the conventional technology, when data in a virtual disk of a multi-node storage system is migrated to another system, the copy process of data in the virtual disk is executed by one computer, and the computer is overloaded. It was.

例えば、既存の仮想ディスクのアクセスを止められない場合、以下の手順でデータが移行される。
[処理1]仮想ディスクのスナップショットを、仮想ディスクにアクセス可能なコンピュータが作成する。
[処理2]仮想ディスクにアクセス可能なコンピュータが、作成したスナップショットを他システムに接続されるストレージ装置にコピーする。
[処理3]仮想ディスクにアクセス可能なコンピュータが、仮想ディスクへのアクセスを停止して、処理2のコピー後に発生した仮想ディスク内のデータ更新内容を他システムのストレージ装置に反映する。
[処理4]他システム内のコンピュータが、移行先のストレージ装置へのアクセスを開始する。
For example, if access to an existing virtual disk cannot be stopped, data is migrated according to the following procedure.
[Process 1] A virtual disk snapshot is created by a computer that can access the virtual disk.
[Process 2] A computer that can access the virtual disk copies the created snapshot to a storage device connected to another system.
[Process 3] A computer that can access the virtual disk stops access to the virtual disk, and reflects the data update content in the virtual disk that has occurred after the copy in Process 2 to the storage device of the other system.
[Process 4] A computer in another system starts access to the migration destination storage apparatus.

このような手順で仮想ディスク内のデータを他のシステムのストレージ装置に移行した場合、処理1から処理3までを1台のコンピュータが行うこととなり、そのコンピュータの処理負荷が過大となる。   When the data in the virtual disk is transferred to the storage system of another system in such a procedure, one computer performs processing 1 to processing 3, and the processing load on the computer becomes excessive.

1つの側面では、データ移行時のコンピュータの処理負荷を軽減したデータ管理プログラム、ストレージシステム、およびデータ管理方法を提供することを目的とする。   An object of one aspect is to provide a data management program, a storage system, and a data management method that reduce the processing load on a computer during data migration.

1つの案としては、データ管理プログラムは、ネットワークを介して接続された複数のノードそれぞれが有する第1のストレージ装置にデータが分散して格納されている仮想ディスクに属するデータを、該複数のノードの1つとして用いられるコンピュータに管理させる。すなわち、データ管理プログラムは、コンピュータに以下の処理を実行させる。   As one proposal, the data management program stores data belonging to a virtual disk in which data is distributed and stored in a first storage device included in each of a plurality of nodes connected via a network. The computer used as one of the above is managed. That is, the data management program causes the computer to execute the following processing.

コンピュータは、第2のストレージ装置内の、仮想ディスクの記憶容量に相当する記憶領域を移行先記憶領域とし、該移行先記憶領域を仮想ディスク内の記憶領域に対応付ける。そして、コンピュータは、コンピュータが管理している仮想ディスクのデータを、該データの仮想ディスク内での位置に対応する移行先記憶領域内の位置へコピーする。   The computer uses a storage area corresponding to the storage capacity of the virtual disk in the second storage device as a migration destination storage area, and associates the migration destination storage area with a storage area in the virtual disk. Then, the computer copies the data of the virtual disk managed by the computer to a position in the migration destination storage area corresponding to the position of the data in the virtual disk.

また、1つの案として、ストレージシステムは、ネットワークを介して接続された複数のノードを有し、複数のノードそれぞれが有する第1のストレージ装置に、仮想ディスク内のデータを分散して格納する。複数のノードのうちの少なくとも1つのノードは、第2のストレージ装置内の、仮想ディスクの記憶容量に相当する記憶領域を移行先記憶領域とし、該移行先記憶領域を仮想ディスク内の記憶領域に対応付ける。そして、複数のノードは、それぞれ自己が管理している仮想ディスクのデータを、該データの仮想ディスク内での位置に対応する移行先記憶領域内の位置へコピーする。   As one proposal, the storage system has a plurality of nodes connected via a network, and stores the data in the virtual disk in a distributed manner in the first storage device of each of the plurality of nodes. At least one of the plurality of nodes has a storage area corresponding to the storage capacity of the virtual disk in the second storage device as a migration destination storage area, and the migration destination storage area is a storage area in the virtual disk. Associate. Each of the plurality of nodes copies the data of the virtual disk managed by each node to a position in the migration destination storage area corresponding to the position of the data in the virtual disk.

また、1つの案として、データ管理方法は、ネットワークを介して接続された複数のノードそれぞれが有する第1のストレージ装置にデータが分散して格納されている仮想ディスクに属するデータを、該複数のノードの1つとして用いられるコンピュータに管理させる。   Further, as one proposal, the data management method is configured to transfer data belonging to a virtual disk in which data is distributed and stored in a first storage device included in each of a plurality of nodes connected via a network. A computer used as one of the nodes is managed.

このデータ管理方法では、コンピュータが、第2のストレージ装置内の、仮想ディスクの記憶容量に相当する記憶領域を移行先記憶領域とし、該移行先記憶領域を仮想ディスク内の記憶領域に対応付ける。さらにコンピュータは、コンピュータが管理している仮想ディスクのデータを、該データの仮想ディスク内での位置に対応する移行先記憶領域内の位置へコピーする。   In this data management method, the computer uses a storage area corresponding to the storage capacity of the virtual disk in the second storage device as a migration destination storage area, and associates the migration destination storage area with a storage area in the virtual disk. Further, the computer copies the data of the virtual disk managed by the computer to a position in the migration destination storage area corresponding to the position of the data in the virtual disk.

データ移行時のコンピュータの処理負荷が軽減される。   The processing load on the computer during data migration is reduced.

第1の実施の形態の機能を示すブロック図である。It is a block diagram which shows the function of 1st Embodiment. 第2の実施の形態のマルチノードストレージシステム構成例を示す図である。It is a figure which shows the example of a multinode storage system structure of 2nd Embodiment. ディスクノードのハードウェア構成例を示す図である。It is a figure which shows the hardware structural example of a disk node. 仮想ディスクのデータ構造を示す図である。It is a figure which shows the data structure of a virtual disk. 第2の実施の形態に係るマルチノードストレージシステムの各装置の機能を示すブロック図である。It is a block diagram which shows the function of each apparatus of the multinode storage system which concerns on 2nd Embodiment. ストレージ装置のデータ構造例を示す図である。It is a figure which shows the example of a data structure of a storage apparatus. メタデータ記憶部のデータ構造の一例を示す図である。It is a figure which shows an example of the data structure of a metadata memory | storage part. 状態フラグで示される状態の種類を示す図である。It is a figure which shows the kind of state shown with a state flag. 仮想ディスクメタデータ記憶部のデータ構造の一例を示す図である。It is a figure which shows an example of the data structure of a virtual disk metadata storage part. データ移行に利用される各ノードの機能を示す図である。It is a figure which shows the function of each node utilized for data transfer. 第2の実施の形態におけるデータ移行処理の手順を示すシーケンス図である。It is a sequence diagram which shows the procedure of the data migration process in 2nd Embodiment. スライスコピー処理の手順を示すシーケンス図である。It is a sequence diagram which shows the procedure of a slice copy process. スライスコピー処理によるメタデータの内容の推移の一例を示す図である。It is a figure which shows an example of transition of the content of the metadata by a slice copy process. セカンダリ切り離し処理手順を示すシーケンス図である。It is a sequence diagram which shows a secondary separation process procedure. セカンダリ切り離し処理で更新されたメタデータの例を示す図である。It is a figure which shows the example of the metadata updated by the secondary separation process. データ移行後のメタデータ用ディスク内のメタデータの例を示す図である。It is a figure which shows the example of the metadata in the disk for metadata after data transfer. ノード故障時の制御ノードにおける処理手順を示すフローチャートである。It is a flowchart which shows the process sequence in the control node at the time of a node failure. シングルプライマリ化処理の手順を示すフローチャートである。It is a flowchart which shows the procedure of a single primary process. 再2重化処理の手順を示すフローチャートである。It is a flowchart which shows the procedure of a reduplication process. セグメントに割り当てられたスライスのメタデータの例を示す図である。It is a figure which shows the example of the metadata of the slice allocated to the segment. シングルプライマリへの変更例を示す図である。It is a figure which shows the example of a change to a single primary. 異常セグメントにリザーブスライス割り当て後のメタデータの例を示す図である。It is a figure which shows the example of the metadata after reserve slice allocation to an abnormal segment. 再2重化完了後のメタデータの例を示す図である。It is a figure which shows the example of the metadata after re-duplication completion. 第3の実施の形態のマルチノードストレージシステムの構成例を示す図である。It is a figure which shows the structural example of the multinode storage system of 3rd Embodiment. 第3の実施の形態に係るマルチノードストレージシステムの各装置の機能を示すブロック図である。It is a block diagram which shows the function of each apparatus of the multinode storage system which concerns on 3rd Embodiment. データ移行に利用される各ノードの機能を示す図である。It is a figure which shows the function of each node utilized for data transfer. 第3の実施の形態におけるデータ移行処理の手順を示すシーケンス図である。It is a sequence diagram which shows the procedure of the data migration process in 3rd Embodiment. ディスクノードへの担当領域の通知例を示す図である。It is a figure which shows the example of notification of the charge area to a disk node. 各ディスクノードが管理するスライスとメタデータ用ディスクとを示す図である。It is a figure which shows the slice and metadata disk which each disk node manages. 各メタデータ用ディスク内に格納されたメタデータの例を示す図である。It is a figure which shows the example of the metadata stored in each disc for metadata. 第4の実施の形態のマルチノードストレージシステムの構成例を示す図である。It is a figure which shows the structural example of the multi-node storage system of 4th Embodiment.

以下、本実施の形態について図面を参照して説明する。
〔第1の実施の形態〕
図1は、第1の実施の形態の機能を示すブロック図である。図1に示すストレージシステムは、ネットワークを介して接続された複数のノード5〜7を有する。複数のノード5〜7は、それぞれストレージ装置2〜4を有する。このストレージ装置2〜4に、仮想ディスク1のデータが分散して格納されている。
Hereinafter, the present embodiment will be described with reference to the drawings.
[First Embodiment]
FIG. 1 is a block diagram illustrating functions of the first embodiment. The storage system shown in FIG. 1 has a plurality of nodes 5 to 7 connected via a network. The plurality of nodes 5 to 7 have storage devices 2 to 4, respectively. The storage devices 2 to 4 store the data of the virtual disk 1 in a distributed manner.

このようなストレージシステムにおいて、仮想ディスク1のデータを、ストレージ装置8に移行させる場合がある。例えば、ストレージシステムで利用していた仮想ディスク1を、SAN(Storage Area Network)などの他のシステムに移行する場合である。なお、ストレージ装置8は、仮想ディスク1のデータを格納するストレージ装置2〜4とは別に設けられている。   In such a storage system, data of the virtual disk 1 may be migrated to the storage device 8. For example, the virtual disk 1 used in the storage system is transferred to another system such as a SAN (Storage Area Network). The storage device 8 is provided separately from the storage devices 2 to 4 that store the data of the virtual disk 1.

このように仮想ディスク1のデータをストレージ装置8に移行するために、ノード5は、対応付け手段5aとコピー手段5bとを有する。またノード6は、コピー手段6aを有する。さらにノード7は、コピー手段7aを有する。   Thus, in order to migrate the data of the virtual disk 1 to the storage device 8, the node 5 includes an association unit 5a and a copy unit 5b. The node 6 has a copy unit 6a. Further, the node 7 has a copy unit 7a.

ノード5の対応付け手段5aは、ストレージ装置8内の、仮想ディスク1の記憶容量に相当する記憶領域を移行先記憶領域8aとする。そして対応付け手段5aは、移行先記憶領域8aを仮想ディスク1内の記憶領域に対応付ける。例えば対応付け手段5aは、仮想ディスク1内の連続する記憶領域を、移行先記憶領域8a内の連続する記憶領域に対応付ける。   The association means 5a of the node 5 sets the storage area corresponding to the storage capacity of the virtual disk 1 in the storage device 8 as the migration destination storage area 8a. The association unit 5a associates the migration destination storage area 8a with the storage area in the virtual disk 1. For example, the association unit 5a associates continuous storage areas in the virtual disk 1 with continuous storage areas in the migration destination storage area 8a.

ノード5のコピー手段5bは、ノード5が管理している仮想ディスク1のデータをストレージ装置2から取り出し、そのデータの仮想ディスク1内での位置に対応する移行先記憶領域8a内の位置へコピーする。   The copy means 5b of the node 5 takes out the data of the virtual disk 1 managed by the node 5 from the storage device 2, and copies the data to the position in the migration destination storage area 8a corresponding to the position in the virtual disk 1 To do.

またノード6のコピー手段6aは、ノード6が管理している仮想ディスク1のデータをストレージ装置3から取り出し、そのデータの仮想ディスク1内での位置に対応する移行先記憶領域8a内の位置へコピーする。さらにノード7のコピー手段7aは、ノード7が管理している仮想ディスク1のデータをストレージ装置4から取り出し、そのデータの仮想ディスク1内での位置に対応する移行先記憶領域8a内の位置へコピーする。   The copy means 6a of the node 6 takes out the data of the virtual disk 1 managed by the node 6 from the storage device 3, and moves it to the position in the migration destination storage area 8a corresponding to the position of the data in the virtual disk 1. make a copy. Further, the copy means 7 a of the node 7 takes out the data of the virtual disk 1 managed by the node 7 from the storage device 4 and moves it to the position in the migration destination storage area 8 a corresponding to the position in the virtual disk 1. make a copy.

このように、各ノード5〜7は、仮想ディスク1内のデータのうち自己の管理するデータのみをコピーすればよく、1つのノードに負荷が集中せずにすむ。その結果、データ移行時の各ノードの負荷が軽減される。   In this way, each of the nodes 5 to 7 only needs to copy the data managed by itself among the data in the virtual disk 1, and the load is not concentrated on one node. As a result, the load on each node during data migration is reduced.

しかも、データをコピーしている間もコピー元の仮想ディスク1のデータにアクセス可能である。すなわち、データ移行中であっても、仮想ディスク1を用いたデータ管理サービスを継続して提供できる。そのため、データ移行に伴うサービス停止期間を低減できる。   In addition, the data of the copy source virtual disk 1 can be accessed while the data is being copied. That is, even during data migration, the data management service using the virtual disk 1 can be continuously provided. Therefore, the service stop period accompanying data migration can be reduced.

ところで、仮想ディスク1内の記憶領域と移行先記憶領域8aとの対応関係は、例えば制御ノード9を介して各ノード5〜7のコピー手段5b,6a,7aに通知される。この場合、制御ノード9は、ノード5の対応付け手段5aから、仮想ディスク1内の記憶領域と移行先記憶領域8aとの対応関係を示す情報を取得する。そして、制御ノード9は、各ノード5〜7に対して、仮想ディスク1内の記憶領域と移行先記憶領域8aとの対応関係を通知する。   By the way, the correspondence between the storage area in the virtual disk 1 and the migration destination storage area 8a is notified to the copy means 5b, 6a, 7a of each of the nodes 5-7 via the control node 9, for example. In this case, the control node 9 acquires information indicating the correspondence between the storage area in the virtual disk 1 and the migration destination storage area 8a from the association unit 5a of the node 5. Then, the control node 9 notifies each of the nodes 5 to 7 of the correspondence relationship between the storage area in the virtual disk 1 and the migration destination storage area 8a.

なお制御ノード9は、仮想ディスク1内の記憶領域と移行先記憶領域8aとの対応関係を通知と共に、コピー指示を行うことができる。その場合、各ノード5〜7のコピー手段5b,6a,7aは、コピー指示に従ってデータのコピーを行う。例えば制御ノード9は、仮想ディスク1内の単位記憶領域を、アドレスの小さい順に1つずつ選択する。そして、制御ノード9は、選択した単位記憶領域のデータを管理しているノードに対して、選択した単位記憶領域に対応する移行先記憶領域8a内の位置を通知すると共に、選択した単位記憶領域のデータのコピーを指示する。すると、コピーの指示を受けたノードによって、選択した単位記憶領域のデータが、移行先記憶領域8aにコピーされる。制御ノード9は、例えば、選択した単位記憶領域のコピーが完了するのを待って、次の単位記憶領域を選択する。これにより、データのコピーが順番に行われる。データのコピーが順番に行われることで、複数のノードにより、ストレージ装置8へのデータコピーが同時に行われることが抑制される。その結果、例えば、データ移行に伴うネットワーク上のデータ通信の輻輳の発生が抑制される。   The control node 9 can notify the correspondence relationship between the storage area in the virtual disk 1 and the migration destination storage area 8a and issue a copy instruction. In that case, the copy means 5b, 6a, and 7a of each of the nodes 5 to 7 copy data according to the copy instruction. For example, the control node 9 selects unit storage areas in the virtual disk 1 one by one in ascending order of addresses. The control node 9 notifies the node managing the data of the selected unit storage area of the position in the migration destination storage area 8a corresponding to the selected unit storage area, and also selects the selected unit storage area. Instruct to copy the data. Then, the data in the selected unit storage area is copied to the migration destination storage area 8a by the node receiving the copy instruction. For example, the control node 9 waits for the copy of the selected unit storage area to be completed, and then selects the next unit storage area. Thereby, data is copied in order. By copying data sequentially, it is possible to prevent data copying to the storage apparatus 8 from being simultaneously performed by a plurality of nodes. As a result, for example, congestion of data communication on the network accompanying data migration is suppressed.

なお各ノード5〜7は、自己の管理している仮想ディスク1のデータのコピーが完了すると、自己の管理している仮想ディスク1のデータが格納されていたストレージ装置2〜4の記憶領域を開放することができる。記憶領域の開放とは、その記憶領域に、現在記憶されているデータとは関連性のないデータを格納可能とすることである。   When the copying of the data of the virtual disk 1 managed by each of the nodes 5 to 7 is completed, the storage areas of the storage devices 2 to 4 in which the data of the virtual disk 1 managed by the nodes 5 to 7 are stored are stored. Can be opened. The release of the storage area means that data that is not related to the currently stored data can be stored in the storage area.

また、ストレージ装置8がノード5の直下に接続されている場合がある。このような場合、ノード5は、他のノード6,7が管理している仮想ディスク1の各データをノード6,7から受信すると、受信したデータを、そのデータの仮想ディスク内での位置に対応する移行先記憶領域8a内の位置へ書き込む。   In some cases, the storage apparatus 8 is connected directly below the node 5. In such a case, when the node 5 receives each data of the virtual disk 1 managed by the other nodes 6 and 7 from the nodes 6 and 7, the received data is placed at the position in the virtual disk of the data. Write to the corresponding location in the destination storage area 8a.

また、ノード5は、さらに、移行先記憶領域8aを有するストレージ装置8内に、移行先記憶領域8aに関する管理情報を格納することができる。管理情報には、例えば、移行先記憶領域8a内の単位記憶領域ごとの仮想ディスク内の記憶領域との対応関係、および移行先記憶領域8a内の単位記憶領域ごとのデータの有無が含まれる。管理情報をストレージ装置8に格納した場合、各ノード5〜7が仮想ディスク1のデータをコピーする際には、管理情報を参照する。そして各ノード5〜7は、管理情報に基づいてデータの仮想ディスク内での記憶領域に対応する移行先記憶領域8a内の単位記憶領域を特定し、特定した単位記憶領域に該データをコピーする。また各ノード5〜7は、仮想ディスク1のデータを移行先記憶領域8a内へコピーすると、データがコピーされた移行先記憶領域8a内の単位記憶領域にデータが格納されたことを、管理情報に設定する。   Further, the node 5 can further store management information related to the migration destination storage area 8a in the storage apparatus 8 having the migration destination storage area 8a. The management information includes, for example, the correspondence between each unit storage area in the migration destination storage area 8a and the storage area in the virtual disk, and the presence / absence of data for each unit storage area in the migration destination storage area 8a. When the management information is stored in the storage device 8, each node 5-7 refers to the management information when copying the data of the virtual disk 1. Then, each of the nodes 5 to 7 specifies a unit storage area in the migration destination storage area 8a corresponding to the storage area of the data in the virtual disk based on the management information, and copies the data to the specified unit storage area. . In addition, when each of the nodes 5 to 7 copies the data of the virtual disk 1 into the migration destination storage area 8a, the management information indicates that the data is stored in the unit storage area in the migration destination storage area 8a to which the data is copied. Set to.

このように、管理情報を用いて移行先記憶領域8a内のデータを管理することで、データ移行の途中で障害などが発生し、仮想ディスク1のデータが失われても、移行先記憶領域8a内のデータを用いた復旧が容易となる。すなわち、管理情報を参照すれば、仮想ディスク1内の失われたデータに対応する移行先記憶領域8a内の単位記憶領域が判別できる。その単位記憶領域内にデータが格納されていれば、そのデータを用いて仮想ディスク1内のデータを復旧できる。   In this way, by managing the data in the migration destination storage area 8a using the management information, even if a failure occurs during the data migration and the data in the virtual disk 1 is lost, the migration destination storage area 8a Recovery using internal data becomes easy. That is, by referring to the management information, the unit storage area in the migration destination storage area 8a corresponding to the lost data in the virtual disk 1 can be determined. If data is stored in the unit storage area, the data in the virtual disk 1 can be recovered using the data.

また、仮想ディスク1の記憶領域を複数に分割し、分割された記憶領域を、各ノード5〜7での担当領域とすることができる。この場合、各ノード5〜7は、自己の担当領域について、移行先記憶領域8aとの対応付けを行う。例えばノード5〜7は、仮想ディスク1内の全記憶領域のうちの自己の担当する担当領域に、移行先記憶領域8a内の少なくとも一部の記憶領域を対応付ける。この場合、移行先記憶領域8aへのコピーは、例えば、コピー先の位置の対応付けを行ったノードを介して行われる。すなわち、各ノード5〜7は、自己の管理している仮想ディスク1のデータのうち、自己の担当領域以外の記憶領域のデータを移行先記憶領域8aにコピーする場合がある。その場合、コピー対象のデータの仮想ディスク1内での位置の割り当てを担当したノードを介してデータのコピーを行う。具体的には、各ノード5〜7は、コピー対象のデータの仮想ディスク1内での位置の割り当てを担当したノードにデータを送信する。すると、そのデータを受信したノードが、そのデータに対応する移行先記憶領域8a内の位置へデータを格納する。   Further, the storage area of the virtual disk 1 can be divided into a plurality of areas, and the divided storage areas can be assigned to the respective areas 5-7. In this case, each of the nodes 5 to 7 associates its own area with the migration destination storage area 8a. For example, the nodes 5 to 7 associate at least a part of the storage area in the migration destination storage area 8 a with the assigned area in charge of the storage area in the virtual disk 1. In this case, copying to the migration destination storage area 8a is performed, for example, via a node that associates the location of the copy destination. That is, each of the nodes 5 to 7 may copy the data in the storage area other than its own area among the data of the virtual disk 1 managed by itself to the migration destination storage area 8a. In this case, the data is copied through the node that is responsible for assigning the position of the data to be copied in the virtual disk 1. Specifically, each of the nodes 5 to 7 transmits data to the node that is responsible for assigning the location of the data to be copied in the virtual disk 1. Then, the node that has received the data stores the data at a position in the migration destination storage area 8a corresponding to the data.

なお、ストレージシステムでは、仮想ディスク1のデータを2重化して複数のノードに分散格納することができる。その場合、2重化されたデータのうち、優先して参照される一方のデータを第1の属性、他方のデータを第2の属性と定義することができる。このようにデータが2重化された場合、各ノード5〜7のコピー手段5b,6a,7aは、仮想ディスク1のデータをコピーする際に、第2の属性のデータを、第2の属性のデータの仮想ディスク内での位置に対応する移行先記憶領域8a内の位置へコピーする。優先して参照される第1の属性のデータではなく、第2の属性のデータをコピーすることで、データ移行時における仮想ディスク1内のデータ参照時間の遅延を抑止できる。   In the storage system, the data of the virtual disk 1 can be duplicated and distributedly stored in a plurality of nodes. In that case, of the duplicated data, one data that is referred to with priority can be defined as a first attribute, and the other data can be defined as a second attribute. When the data is duplicated in this way, the copy means 5b, 6a, 7a of each of the nodes 5-7 use the second attribute data as the second attribute when copying the data of the virtual disk 1. Is copied to a position in the migration destination storage area 8a corresponding to the position in the virtual disk. By copying the data of the second attribute instead of the data of the first attribute that is referenced preferentially, the delay of the data reference time in the virtual disk 1 at the time of data migration can be suppressed.

〔第2の実施の形態〕
次に、第2の実施の形態の詳細を説明する。第2の実施の形態は、データを2重化して管理するマルチノードストレージシステムにおいて、データ移行を行うものである。
[Second Embodiment]
Next, details of the second embodiment will be described. The second embodiment performs data migration in a multi-node storage system that manages data by duplication.

図2は、第2の実施の形態のマルチノードストレージシステム構成例を示す図である。第2の実施の形態では、スイッチ10を介して、複数のディスクノード100,200,300、制御ノード500、アクセスノード30、および管理ノード400が接続されている。ディスクノード100には、ストレージ装置110,120が接続されている。ディスクノード200には、ストレージ装置210が接続されている。ディスクノード300には、ストレージ装置310が接続されている。   FIG. 2 is a diagram illustrating a configuration example of a multi-node storage system according to the second embodiment. In the second embodiment, a plurality of disk nodes 100, 200, 300, a control node 500, an access node 30, and a management node 400 are connected via the switch 10. Storage devices 110 and 120 are connected to the disk node 100. A storage device 210 is connected to the disk node 200. A storage device 310 is connected to the disk node 300.

なお、ディスクノード100に接続されているストレージ装置120は、マルチノードストレージシステム以外のシステムに移行するデータの記憶用に接続されている。マルチノードストレージシステム以外のシステムとしては、例えばSANがある。   The storage device 120 connected to the disk node 100 is connected for storing data to be transferred to a system other than the multi-node storage system. An example of a system other than the multi-node storage system is a SAN.

各ディスクノード100,200,300には、ディスクノードIDが付与されている。図2の例では、ディスクノード100のディスクノードIDは「DP1」、ディスクノード200のディスクノードIDは「DP2」、ディスクノード300のディスクノードIDは「DP3」である。各ディスクノード100,200,300に接続されたストレージ装置110,120,210,310は、ディスクノード100,200,300のディスクノードIDによってネットワーク上の位置が識別される。   Each disk node 100, 200, 300 is assigned a disk node ID. In the example of FIG. 2, the disk node ID of the disk node 100 is “DP1”, the disk node ID of the disk node 200 is “DP2”, and the disk node ID of the disk node 300 is “DP3”. The storage apparatuses 110, 120, 210, and 310 connected to the respective disk nodes 100, 200, and 300 are identified on the network by the disk node IDs of the disk nodes 100, 200, and 300.

ストレージ装置110には、複数のハードディスク装置(HDD)111,112,113,114が実装されている。ストレージ装置120には、複数のHDD121,122,123,124が実装されている。ストレージ装置210には、複数のHDD211,212,213,214が実装されている。ストレージ装置310には、複数のHDD311,312,313,314が実装されている。各ストレージ装置110,120,210,310は、内蔵するHDDを用いたRAIDシステムである。   A plurality of hard disk devices (HDDs) 111, 112, 113, and 114 are mounted on the storage device 110. A plurality of HDDs 121, 122, 123, and 124 are mounted on the storage device 120. A plurality of HDDs 211, 212, 213, and 214 are mounted on the storage device 210. A plurality of HDDs 311, 312, 313, and 314 are mounted on the storage device 310. Each storage device 110, 120, 210, 310 is a RAID system using a built-in HDD.

ディスクノード100,200,300は、例えば、IA(Intel Architecture)と呼ばれるアーキテクチャのコンピュータである。ディスクノード100,200,300は、接続されたストレージ装置110,120,210,310に格納されたデータを管理し、管理しているデータをスイッチ10経由で端末装置21,22,23に提供する。また、ディスクノード100,200,300は、冗長性を有するデータを管理している。すなわち、同一のデータが、少なくとも2つのディスクノードで管理されている。   The disk nodes 100, 200, and 300 are computers having an architecture called IA (Intel Architecture), for example. The disk nodes 100, 200, and 300 manage data stored in the connected storage apparatuses 110, 120, 210, and 310, and provide the managed data to the terminal apparatuses 21, 22, and 23 via the switch 10. . The disk nodes 100, 200, and 300 manage data having redundancy. That is, the same data is managed by at least two disk nodes.

制御ノード500は、ディスクノード100,200,300を管理する。例えば、制御ノード500は、ディスクノード100,200,300から新たなストレージ装置の接続通知を受け取ると、仮想ディスクを介して、接続されたストレージ装置に格納されていたデータにアクセスできるようにする。   The control node 500 manages the disk nodes 100, 200, and 300. For example, when the control node 500 receives a new storage device connection notification from the disk nodes 100, 200, and 300, the control node 500 can access the data stored in the connected storage device via the virtual disk.

アクセスノード30には、ネットワーク20を介して複数の端末装置21,22,23が接続されている。アクセスノード30には、仮想ディスクが定義されている。そして、アクセスノード30は、端末装置21,22,23からの仮想ディスク上でのデータのアクセス要求に応答して、ディスクノード100,200,300内の対応するデータへアクセスする。   A plurality of terminal devices 21, 22, and 23 are connected to the access node 30 via the network 20. A virtual disk is defined in the access node 30. The access node 30 accesses the corresponding data in the disk nodes 100, 200, and 300 in response to data access requests on the virtual disk from the terminal devices 21, 22, and 23.

管理ノード400は、管理者がマルチノードストレージシステムの運用を管理するために使用するコンピュータである。例えば、管理ノード400では、管理者からの操作入力に応答して、仮想ディスクのデータの移行先となるストレージ装置の接続指示をディスクノードに送信する。また、管理ノード400は、管理者からの操作入力に応答して、仮想ディスクのデータの移行指示を制御ノード500に送信する。   The management node 400 is a computer used by an administrator to manage the operation of the multi-node storage system. For example, in response to an operation input from the administrator, the management node 400 transmits a connection instruction for the storage device that is the migration destination of the virtual disk data to the disk node. In addition, the management node 400 transmits a virtual disk data migration instruction to the control node 500 in response to an operation input from the administrator.

図3は、ディスクノードのハードウェア構成例を示す図である。ディスクノード100は、CPU(Central Processing Unit)101によって装置全体が制御されている。CPU101には、バス109を介してRAM(Random Access Memory)102と複数の周辺機器が接続されている。   FIG. 3 is a diagram illustrating a hardware configuration example of the disk node. The entire disk node 100 is controlled by a CPU (Central Processing Unit) 101. A RAM (Random Access Memory) 102 and a plurality of peripheral devices are connected to the CPU 101 via a bus 109.

RAM102は、ディスクノード100の主記憶装置として使用される。RAM102には、CPU101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM102には、CPU101による処理に必要な各種データが格納される。   The RAM 102 is used as a main storage device of the disk node 100. The RAM 102 temporarily stores at least part of an OS (Operating System) program and application programs to be executed by the CPU 101. The RAM 102 stores various data necessary for processing by the CPU 101.

バス109に接続されている周辺機器としては、HDD103、グラフィック処理装置104、入力インタフェース105、光学ドライブ装置106、通信インタフェース107、およびストレージ装置インタフェース108がある。   Peripheral devices connected to the bus 109 include an HDD 103, a graphic processing device 104, an input interface 105, an optical drive device 106, a communication interface 107, and a storage device interface 108.

HDD103は、内蔵したディスクに対して、磁気的にデータの書き込みおよび読み出しを行う。HDD103は、制御ノード500の二次記憶装置として使用される。HDD103には、OSのプログラム、アプリケーションプログラム、および各種データが格納される。なお、二次記憶装置としては、フラッシュメモリなどの半導体記憶装置を使用することもできる。   The HDD 103 magnetically writes and reads data to and from the built-in disk. The HDD 103 is used as a secondary storage device of the control node 500. The HDD 103 stores an OS program, application programs, and various data. Note that a semiconductor storage device such as a flash memory can also be used as the secondary storage device.

グラフィック処理装置104には、モニタ11が接続されている。グラフィック処理装置104は、CPU101からの命令に従って、画像をモニタ11の画面に表示させる。モニタ11としては、CRT(Cathode Ray Tube)を用いた表示装置や液晶表示装置などがある。   A monitor 11 is connected to the graphic processing device 104. The graphic processing device 104 displays an image on the screen of the monitor 11 in accordance with a command from the CPU 101. Examples of the monitor 11 include a display device using a CRT (Cathode Ray Tube) and a liquid crystal display device.

入力インタフェース105には、キーボード12とマウス13とが接続されている。入力インタフェース105は、キーボード12やマウス13から送られてくる信号をCPU101に送信する。なお、マウス13は、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。   A keyboard 12 and a mouse 13 are connected to the input interface 105. The input interface 105 transmits a signal sent from the keyboard 12 or the mouse 13 to the CPU 101. The mouse 13 is an example of a pointing device, and other pointing devices can also be used. Examples of other pointing devices include a touch panel, a tablet, a touch pad, and a trackball.

光学ドライブ装置106は、レーザ光などを利用して、光ディスク14に記録されたデータの読み取りを行う。光ディスク14は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク14には、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。   The optical drive device 106 reads data recorded on the optical disk 14 using laser light or the like. The optical disk 14 is a portable recording medium on which data is recorded so that it can be read by reflection of light. The optical disk 14 includes a DVD (Digital Versatile Disc), a DVD-RAM, a CD-ROM (Compact Disc Read Only Memory), a CD-R (Recordable) / RW (ReWritable), and the like.

通信インタフェース107は、スイッチ10に接続されている。通信インタフェース107は、スイッチ10を介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。   The communication interface 107 is connected to the switch 10. The communication interface 107 transmits / receives data to / from another computer or communication device via the switch 10.

ストレージ装置インタフェース108は、外部接続されたストレージ装置110,120との間でデータ通信を行う。
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。なお、図3には、ディスクノード100のハードウェア構成を示しているが、他のディスクノード200,300、アクセスノード30、管理ノード400、および制御ノード500も同様のハードウェア構成で実現することができる。
The storage device interface 108 performs data communication with the externally connected storage devices 110 and 120.
With the hardware configuration as described above, the processing functions of the present embodiment can be realized. Although FIG. 3 shows the hardware configuration of the disk node 100, the other disk nodes 200 and 300, the access node 30, the management node 400, and the control node 500 are also realized with the same hardware configuration. Can do.

図4は、仮想ディスクのデータ構造を示す図である。本実施の形態では、仮想ディスク60には仮想ディスク識別子「LVOL1」が付与されている。ネットワーク経由で接続された3台のディスクノード100,200,300には、個々のノードの識別のためにそれぞれ「DP−1」、「DP−2」、「DP−3」というノード識別子が付与されている。そして、各ディスクノード100,200,300は、ノード識別子によってスイッチ10で一意に識別される。   FIG. 4 shows the data structure of the virtual disk. In the present embodiment, a virtual disk identifier “LVOL1” is assigned to the virtual disk 60. The three disk nodes 100, 200, and 300 connected via the network are assigned node identifiers “DP-1”, “DP-2”, and “DP-3”, respectively, for identifying individual nodes. Has been. Each disk node 100, 200, 300 is uniquely identified by the switch 10 by the node identifier.

各ディスクノード100,200,300が有するストレージ装置110,120,210,310それぞれにおいてRAID5のストレージシステムが構成されている。各ストレージ装置110,210,310内の記憶領域は、複数のスライス115a,115b,・・・,115n,215a,215b,・・・,215n,315a,315b,・・・,315nに分割して管理されている。   A RAID 5 storage system is configured in each of the storage devices 110, 120, 210, and 310 included in each of the disk nodes 100, 200, and 300. The storage area in each storage device 110, 210, 310 is divided into a plurality of slices 115a, 115b, ..., 115n, 215a, 215b, ..., 215n, 315a, 315b, ..., 315n. It is managed.

仮想ディスク60は、セグメント61〜64という単位で構成される。セグメント61〜64の記憶容量は、ストレージ装置110,210における管理単位であるスライスの記憶容量と同じである。例えば、スライスの記憶容量が1ギガバイトとするとセグメントの記憶容量も1ギガバイトである。仮想ディスク60の記憶容量はセグメント1つ当たりの記憶容量の整数倍である。セグメント61〜64は、それぞれプライマリスライス61a,62a,63a,64aとセカンダリスライス61b,62b,63b,64bとの組(スライスペア)で構成される。プライマリスライスは、データ参照やデータ書き込みにおいて、優先的にアクセスされる。すなわち、アクセスノード30から仮想ディスク60内のデータへのアクセスは、そのデータが属するセグメントに割り当てられたプライマリスライスに対して行われる。   The virtual disk 60 is configured in units of segments 61 to 64. The storage capacity of the segments 61 to 64 is the same as the storage capacity of a slice that is a management unit in the storage apparatuses 110 and 210. For example, if the storage capacity of the slice is 1 gigabyte, the storage capacity of the segment is also 1 gigabyte. The storage capacity of the virtual disk 60 is an integral multiple of the storage capacity per segment. Each of the segments 61 to 64 includes a set (slice pair) of primary slices 61a, 62a, 63a, and 64a and secondary slices 61b, 62b, 63b, and 64b. The primary slice is preferentially accessed in data reference and data writing. That is, access from the access node 30 to the data in the virtual disk 60 is performed on the primary slice assigned to the segment to which the data belongs.

同一セグメントに属する2つのスライスは別々のディスクノードに属する。個々のスライスを管理する領域には仮想ディスク識別子やセグメント情報や同じセグメントを構成するスライス情報の他にフラグがあり、そのフラグにはプライマリあるいはセカンダリなどを表す値が格納される。   Two slices belonging to the same segment belong to different disk nodes. In the area for managing individual slices, there are flags in addition to the virtual disk identifier, segment information, and slice information constituting the same segment, and a value representing primary or secondary is stored in the flag.

図4の例では、仮想ディスク60内のスライスの識別子を、「P」または「S」のアルファベットと数字との組合せで示している。「P」はプライマリスライスであることを示している。「S」はセカンダリスライスであることを示している。アルファベットに続く数字は、何番目のセグメントに属するのかを表している。例えば、1番目のセグメント61のプライマリスライスが「P1」で示され、セカンダリスライスが「S1」で示される。   In the example of FIG. 4, the identifier of the slice in the virtual disk 60 is indicated by a combination of “P” or “S” alphabets and numbers. “P” indicates a primary slice. “S” indicates a secondary slice. The number following the alphabet represents what number segment it belongs to. For example, the primary slice of the first segment 61 is indicated by “P1”, and the secondary slice is indicated by “S1”.

本実施の形態では、図4に示した仮想ディスク60内のデータを、ディスクノード100に接続されたストレージ装置120に移行するものとする。
図5は、第2の実施の形態に係るマルチノードストレージシステムの各装置の機能を示すブロック図である。アクセスノード30は、仮想ディスクアクセス制御部31を有している。仮想ディスクアクセス制御部31は、端末装置21,22,23からの仮想ディスク60内のデータを指定したアクセス要求に応じて、指定されたデータを管理するディスクノードに対してデータアクセスを行う。具体的には、仮想ディスクアクセス制御部31は、アクセス対象のデータが記憶された仮想ディスク60内のブロックを特定する。次に、仮想ディスクアクセス制御部31は、特定したブロックに対応するセグメントを特定する。さらに、仮想ディスクアクセス制御部31は、予め取得しているメタデータを参照し、セグメントを構成するプライマリスライスに対応するディスクノードおよびそのディスクノード内のスライスを特定する。メタデータは、各セグメントに割り当てられたスライスの管理情報である。メタデータには、セグメントに割り当てられたスライスの所在などが示されている。そして、仮想ディスクアクセス制御部31は、特定したディスクノードに対して、特定したスライスへのアクセス要求を出力する。
In this embodiment, the data in the virtual disk 60 shown in FIG. 4 is migrated to the storage device 120 connected to the disk node 100.
FIG. 5 is a block diagram illustrating functions of each device of the multi-node storage system according to the second embodiment. The access node 30 has a virtual disk access control unit 31. The virtual disk access control unit 31 performs data access to the disk node that manages the specified data in response to an access request specifying the data in the virtual disk 60 from the terminal devices 21, 22, and 23. Specifically, the virtual disk access control unit 31 specifies a block in the virtual disk 60 in which data to be accessed is stored. Next, the virtual disk access control unit 31 specifies a segment corresponding to the specified block. Furthermore, the virtual disk access control unit 31 refers to the metadata acquired in advance, and identifies the disk node corresponding to the primary slice constituting the segment and the slice in the disk node. The metadata is management information of slices assigned to each segment. The metadata indicates the location of the slice assigned to the segment. Then, the virtual disk access control unit 31 outputs an access request to the specified slice to the specified disk node.

制御ノード500は、仮想ディスク管理部510と仮想ディスクメタデータ記憶部520とを有している。
仮想ディスク管理部510は、ディスクノード100,200,300が有するストレージ装置110,120,210,310内のスライスを管理する。例えば、仮想ディスク管理部510は、システム起動時に、ディスクノード100,200,300に対してメタデータ取得要求を送信する。そして、仮想ディスク管理部510は、メタデータ取得要求に対して返信されたメタデータから仮想ディスクメタデータを生成し、仮想ディスクメタデータ記憶部520に格納する。
The control node 500 includes a virtual disk management unit 510 and a virtual disk metadata storage unit 520.
The virtual disk management unit 510 manages slices in the storage apparatuses 110, 120, 210, and 310 included in the disk nodes 100, 200, and 300. For example, the virtual disk management unit 510 transmits a metadata acquisition request to the disk nodes 100, 200, and 300 when the system is started. Then, the virtual disk management unit 510 generates virtual disk metadata from the metadata returned in response to the metadata acquisition request, and stores the virtual disk metadata in the virtual disk metadata storage unit 520.

また仮想ディスク管理部510は、管理ノード400から仮想ディスク内のデータの移行指示を受け取ると、指定された仮想ディスク内のデータの指定されたストレージ装置へのコピーを、その仮想ディスクのデータを管理するディスクノードに指示する。仮想ディスク管理部510は、移行指示に応じたデータのコピーが完了すると、管理ノード400に対して移行完了応答を送信する。   When the virtual disk management unit 510 receives an instruction to migrate data in the virtual disk from the management node 400, the virtual disk management unit 510 manages the copy of the data in the specified virtual disk to the specified storage device and manages the data in the virtual disk. Instruct the disk node to perform. When the data copy according to the migration instruction is completed, the virtual disk management unit 510 transmits a migration completion response to the management node 400.

仮想ディスクメタデータ記憶部520は、ディスクノード100,200,300から収集されたメタデータに基づいて生成された仮想ディスクメタデータを記憶する。例えば、制御ノード500内のRAM502の記憶領域の一部が仮想ディスクメタデータ記憶部520として使用される。   The virtual disk metadata storage unit 520 stores virtual disk metadata generated based on the metadata collected from the disk nodes 100, 200, and 300. For example, a part of the storage area of the RAM 502 in the control node 500 is used as the virtual disk metadata storage unit 520.

ディスクノード100は、データアクセス部130、データ管理部140、およびメタデータ記憶部150を有している。
データアクセス部130は、アクセスノード30からの要求に応答して、ストレージ装置110内のデータにアクセスする。具体的には、データアクセス部130は、アクセスノード30からデータのリード要求を受け取った場合、リード要求で指定されたデータをストレージ装置110から取得し、リード要求の送信元であるアクセスノードに返信する。また、データアクセス部130は、アクセスノード30からデータのライト要求を受け取った場合、ライト要求に含まれるデータをストレージ装置110内に格納する。
The disk node 100 includes a data access unit 130, a data management unit 140, and a metadata storage unit 150.
The data access unit 130 accesses data in the storage device 110 in response to a request from the access node 30. Specifically, when the data access unit 130 receives a data read request from the access node 30, the data access unit 130 acquires the data specified by the read request from the storage device 110 and returns it to the access node that is the source of the read request. To do. When the data access unit 130 receives a data write request from the access node 30, the data access unit 130 stores the data included in the write request in the storage apparatus 110.

データ管理部140は、ディスクノード100にストレージ装置120が物理接続された場合に、ストレージ装置120をマルチストレージシステム内の一ストレージ装置として論理的に接続する。すなわちデータ管理部140は、ストレージ装置120を、制御ノード500から認識できるようにする。   When the storage device 120 is physically connected to the disk node 100, the data management unit 140 logically connects the storage device 120 as one storage device in the multi-storage system. That is, the data management unit 140 enables the storage device 120 to be recognized from the control node 500.

またデータ管理部140は、データアクセス部130によってライト要求に基づくデータの書き込みが行われた場合、データが書き込まれたスライス(プライマリスライス)に対応するセカンダリスライス内のデータ更新を行う。セカンダリスライス内のデータ更新処理は、セカンダリスライスを管理するディスクノードのデータ管理部と連携動作によって実現される。すなわち、データ管理部140は、更新されたデータを、セカンダリスライスを管理するディスクノードに送信する。そのデータを受け取ったディスクノードのデータ管理部は、セカンダリスライスにそのデータを書き込む。これにより、2重化されたデータの一貫性が保たれる。   When the data access unit 130 writes data based on the write request, the data management unit 140 updates data in the secondary slice corresponding to the slice (primary slice) in which the data is written. The data update process in the secondary slice is realized by a cooperative operation with the data management unit of the disk node that manages the secondary slice. That is, the data management unit 140 transmits the updated data to the disk node that manages the secondary slice. The data management unit of the disk node that has received the data writes the data to the secondary slice. Thereby, the consistency of the duplicated data is maintained.

さらに、データ管理部140は、仮想ディスク管理部510からのメタデータ取得要求に応答して、メタデータ記憶部150に記憶されたメタデータを仮想ディスク管理部510に対して送信する。   Further, the data management unit 140 transmits the metadata stored in the metadata storage unit 150 to the virtual disk management unit 510 in response to the metadata acquisition request from the virtual disk management unit 510.

メタデータ記憶部150は、メタデータを記憶する。例えば、RAM内の記憶領域の一部がメタデータ記憶部150として使用される。なお、メタデータ記憶部150に格納されるメタデータは、システム停止時にはストレージ装置110内に格納され、システム起動時にメタデータ記憶部150に読み込まれる。   The metadata storage unit 150 stores metadata. For example, a part of the storage area in the RAM is used as the metadata storage unit 150. Note that the metadata stored in the metadata storage unit 150 is stored in the storage device 110 when the system is stopped, and is read into the metadata storage unit 150 when the system is started.

他のディスクノード200,300は、ディスクノード100と同様の機能を有している。すなわち、ディスクノード200は、データアクセス部220、データ管理部230、およびメタデータ記憶部240を有している。ディスクノード300は、データアクセス部320、データ管理部330、およびメタデータ記憶部340を有している。ディスクノード200,300内の各要素は、ディスクノード100内の同名の要素と同じ機能を有している。   The other disk nodes 200 and 300 have the same function as the disk node 100. That is, the disk node 200 includes a data access unit 220, a data management unit 230, and a metadata storage unit 240. The disk node 300 includes a data access unit 320, a data management unit 330, and a metadata storage unit 340. Each element in the disk nodes 200 and 300 has the same function as the element of the same name in the disk node 100.

管理ノード400は、管理者からの操作入力に応答して、マルチストレージシステムの管理用の指示を、各ノードに送信する。例えば、管理者は、ストレージ装置120とディスクノード100とをケーブルで接続(物理接続)した場合、管理ノード400に対してストレージ装置120の論理的な接続を指示する操作入力を行う。すると管理ノード400は、管理者からの操作入力に応答してディスクノード100に対して、新たに物理接続されたストレージ装置120の接続指示を送信する。その接続指示に基づいてディスクノード100がストレージ装置120内にメタデータの格納などの処理を行い、ストレージ装置120を制御ノード500において認識可能とする。接続指示に応じた処理が完了すると、ディスクノード100から管理ノード400へ接続完了応答が返される。   In response to the operation input from the administrator, the management node 400 transmits an instruction for managing the multi-storage system to each node. For example, when the storage apparatus 120 and the disk node 100 are connected by a cable (physical connection), the administrator inputs an operation to instruct the management node 400 to logically connect the storage apparatus 120. Then, the management node 400 transmits a connection instruction for the newly physically connected storage apparatus 120 to the disk node 100 in response to an operation input from the administrator. Based on the connection instruction, the disk node 100 performs processing such as storing metadata in the storage apparatus 120 so that the storage apparatus 120 can be recognized by the control node 500. When the process according to the connection instruction is completed, a connection completion response is returned from the disk node 100 to the management node 400.

また、管理ノード400は、管理者からの操作入力に応答して、仮想ディスクの移行指示を制御ノード500に送信する。例えば、仮想ディスク60内のデータのストレージ装置120への移行指示が送信される。この移行指示に応じて、制御ノード500が各ディスクノード100,200,300を制御し、データ移行を実現する。データの移行が完了すると、制御ノード500から管理ノード400へ移行完了応答が送信される。   Also, the management node 400 transmits a virtual disk migration instruction to the control node 500 in response to an operation input from the administrator. For example, an instruction to migrate the data in the virtual disk 60 to the storage device 120 is transmitted. In response to this migration instruction, the control node 500 controls each of the disk nodes 100, 200, 300 to realize data migration. When the data migration is completed, a migration completion response is transmitted from the control node 500 to the management node 400.

図5の例は、仮想ディスク60のデータをストレージ装置120に移行する場合を想定している。この場合、ストレージ装置120には、制御ノード500によって、移行先ディスク121とメタデータ用ディスク122とが設けられる。なお、移行先ディスク121とメタデータ用ディスク122とは、それぞれストレージ装置120内のHDDで構成されるRAID構成のディスクグループを複数分割することで得られる仮想的なディスクである。移行先ディスク121とメタデータ用ディスク122として使用される仮想的なディスクは、図4に示したマルチノードストレージシステムにおける仮想ディスク60とは異なり、1つのストレージ装置120内のHDDにより実現されている。移行先ディスク121とメタデータ用ディスク122とには、論理ユニット番号(LUN)が割り振られ、論理ユニット番号によってディスクノード100で識別される。   In the example of FIG. 5, it is assumed that data of the virtual disk 60 is migrated to the storage apparatus 120. In this case, the storage device 120 is provided with the migration destination disk 121 and the metadata disk 122 by the control node 500. Note that the migration destination disk 121 and the metadata disk 122 are virtual disks obtained by dividing a plurality of RAID-configured disk groups each composed of HDDs in the storage apparatus 120. Unlike the virtual disk 60 in the multi-node storage system shown in FIG. 4, the virtual disk used as the migration destination disk 121 and the metadata disk 122 is realized by an HDD in one storage device 120. . A logical unit number (LUN) is allocated to the migration destination disk 121 and the metadata disk 122 and is identified by the disk node 100 by the logical unit number.

作成される移行先ディスク121の記憶容量は、移行対象の仮想ディスク60と同じである。作成されるメタデータ用ディスク122の記憶容量は、仮想ディスク60のメタデータを格納可能な容量である。移行先ディスク121は、少なくともディスクノード100およびアクセスノード30からアクセス可能である。メタデータ用ディスク122は、少なくともディスクノード100からアクセス可能である。   The storage capacity of the created migration destination disk 121 is the same as that of the migration target virtual disk 60. The storage capacity of the created metadata disk 122 is a capacity capable of storing the metadata of the virtual disk 60. The migration destination disk 121 is accessible from at least the disk node 100 and the access node 30. The metadata disk 122 is accessible from at least the disk node 100.

次に、ストレージ装置110、移行先ディスク121、およびメタデータ用ディスク122内のデータ構造を詳細に説明する。ストレージ装置110には、複数のスライスとスライスごとのメタデータとが格納されている。移行先ディスク121とメタデータ用ディスク122とは、ストレージ装置120をディスクノード100に接続した直後は、内容がブランクである。ストレージ装置120接続後に、データ管理部140により、移行先ディスク121内の記憶領域がスライス単位に分割される。またストレージ装置120接続後に、データ管理部140により、メタデータ用ディスク122内にメタデータが格納される。   Next, the data structures in the storage device 110, the migration destination disk 121, and the metadata disk 122 will be described in detail. The storage device 110 stores a plurality of slices and metadata for each slice. The contents of the migration destination disk 121 and the metadata disk 122 are blank immediately after the storage apparatus 120 is connected to the disk node 100. After the storage device 120 is connected, the data management unit 140 divides the storage area in the migration destination disk 121 into slice units. After the storage device 120 is connected, the data management unit 140 stores the metadata in the metadata disk 122.

図6は、ストレージ装置のデータ構造例を示す図である。ストレージ装置110には、スライス115a,115b,・・・,115nとは別に、デバイス情報116と複数のメタデータ117a,117b,・・・,117nとが格納されている。移行先ディスク121内には、複数のスライス121a,121b,・・・,121nが設けられている。メタデータ用ディスク122内には、移行先ディスク121内のスライス121a,121b,・・・,121nそれぞれに対応するメタデータ122a,122b,・・・,122nと、デバイス情報122xとが格納されている。   FIG. 6 is a diagram illustrating an exemplary data structure of the storage apparatus. In addition to the slices 115a, 115b,..., 115n, the storage apparatus 110 stores device information 116 and a plurality of metadata 117a, 117b,. In the migration destination disk 121, a plurality of slices 121a, 121b,..., 121n are provided. In the metadata disk 122, metadata 122a, 122b,..., 122n corresponding to the slices 121a, 121b,..., 121n in the migration destination disk 121 and device information 122x are stored. Yes.

デバイス情報116,122xは、ストレージ装置110,120の管理に使用される情報である。例えば、デバイス情報116,122xには、ストレージ装置110,120がマルチノードストレージシステムに組み込まれていることを示す情報が含まれる。また、ストレージ装置120のデバイス情報122xには、マルチストレージシステム内の仮想ディスクのデータの移行先となるディスクであることを示す情報を含めることができる。   The device information 116 and 122x is information used for managing the storage apparatuses 110 and 120. For example, the device information 116 and 122x includes information indicating that the storage apparatuses 110 and 120 are incorporated in the multi-node storage system. In addition, the device information 122x of the storage apparatus 120 can include information indicating that the disk is a migration destination of data of the virtual disk in the multi-storage system.

さらに、デバイス情報116,122xには、メタデータ格納形式が含まれる。メタデータ格納形式は、各メタデータが対応するスライスと連続の記憶領域に格納されているのか、あるいはメタデータを一纏めにして、スライスとは個別の記憶領域に格納されているのかを示す情報である。本実施の形態では、各メタデータが対応するスライスと連続の記憶領域に格納されている場合のメタデータ格納形式を「type1」とする。また、メタデータを一纏めにして、スライスとは個別の記憶領域に格納されている場合のメタデータ格納形式を「type2」とする。   Further, the device information 116, 122x includes a metadata storage format. The metadata storage format is information indicating whether each metadata is stored in a continuous storage area with a corresponding slice, or whether metadata is stored together in a separate storage area. is there. In the present embodiment, the metadata storage format when each metadata is stored in a storage area continuous with the corresponding slice is assumed to be “type1”. Further, the metadata storage format when the metadata is collected together and stored in a separate storage area as the slice is “type 2”.

図6の例では、ストレージ装置110は、個々のスライスと連続の記憶領域に、そのスライスに対応するメタデータが格納されている。従って、ストレージ装置110のメタデータ格納形式は「type1」である。移行先ディスク121に対応するメタデータは一纏めにしてメタデータ用ディスク122に格納されるため、メタデータ格納形式は「type2」となる。なお、移行先ディスク121に対応するメタデータは、ディスクノード100から見た場合に移行先ディスク121とは別ディスクとなるメタデータ用ディスク122に格納される。そこで、スライスとメタデータを別ディスクに一纏めで格納する場合のメタデータ格納形式を「type3」とすることもできる。この場合、ストレージ装置120のデバイス情報122xに示されるデータ格納形式は「type3」となる。   In the example of FIG. 6, the storage apparatus 110 stores metadata corresponding to each slice in a storage area continuous with each slice. Therefore, the metadata storage format of the storage device 110 is “type1”. Since the metadata corresponding to the migration destination disk 121 is collectively stored in the metadata disk 122, the metadata storage format is “type2”. The metadata corresponding to the migration destination disk 121 is stored in a metadata disk 122 that is a different disk from the migration destination disk 121 when viewed from the disk node 100. Therefore, the metadata storage format in the case where slices and metadata are stored together on different disks can be set to “type3”. In this case, the data storage format indicated in the device information 122x of the storage apparatus 120 is “type3”.

ストレージ装置110に格納されたメタデータ117a,117b,・・・,117nは、ディスクノード100の起動時にデータ管理部140によって読み出され、メタデータ記憶部150に格納される。同様に、メタデータ用ディスク122に格納されたメタデータ122a,122b,・・・,122nも、ディスクノード100の起動時にデータ管理部140によって読み出され、メタデータ記憶部150に格納される。   The metadata 117 a, 117 b,..., 117 n stored in the storage device 110 are read by the data management unit 140 when the disk node 100 is started up and stored in the metadata storage unit 150. Similarly, the metadata 122 a, 122 b,..., 122 n stored in the metadata disk 122 is read by the data management unit 140 when the disk node 100 is activated and stored in the metadata storage unit 150.

次に、ディスクノード100内のメタデータ記憶部150のデータ構造について説明する。
図7は、メタデータ記憶部のデータ構造の一例を示す図である。メタデータ記憶部150には、メタデータテーブル151が格納されている。メタデータテーブル151には、ディスクノードID、スライスID、状態、仮想ディスクID、仮想ディスクアドレス、ペアのディスクノードID、およびペアのスライスIDの欄が設けられている。メタデータテーブル151内の横方向に並べられた情報同士が互いに関連付けられ、メタデータを示す1つのレコードとなる。
Next, the data structure of the metadata storage unit 150 in the disk node 100 will be described.
FIG. 7 is a diagram illustrating an example of a data structure of the metadata storage unit. A metadata table 151 is stored in the metadata storage unit 150. The metadata table 151 includes columns for a disk node ID, a slice ID, a state, a virtual disk ID, a virtual disk address, a paired disk node ID, and a paired slice ID. Information arranged in the horizontal direction in the metadata table 151 is associated with each other to form one record indicating metadata.

ディスクノードIDの欄には、ストレージ装置110,120を管理しているディスクノード100の識別情報(ディスクノードID)が設定される。
スライスIDの欄には、メタデータに対応するスライスのストレージ装置110,120内での識別情報(スライスID)が設定される。なお、スライスID「1」〜「1000」が、ストレージ装置110のスライスに割り当てられたスライスIDである。また、スライスID「1001」〜「1100」が、ストレージ装置120の移行先ディスク121のスライスに割り当てられたスライスIDである。ディスクノード100のデータアクセス部130は、スライスIDと、そのスライスIDに対応するスライスの所在(ストレージ装置110なのか移行先ディスク121なのか)を認識している。そして、データアクセス部130は、スライスIDに基づいて、どのストレージ装置にアクセスすべきかを判断できる。
In the disk node ID column, identification information (disk node ID) of the disk node 100 managing the storage apparatuses 110 and 120 is set.
In the slice ID column, identification information (slice ID) in the storage apparatuses 110 and 120 of the slice corresponding to the metadata is set. Note that slice IDs “1” to “1000” are slice IDs assigned to the slices of the storage apparatus 110. Slice IDs “1001” to “1100” are slice IDs assigned to the slices of the migration destination disk 121 of the storage apparatus 120. The data access unit 130 of the disk node 100 recognizes the slice ID and the location of the slice corresponding to the slice ID (whether it is the storage device 110 or the migration destination disk 121). Then, the data access unit 130 can determine which storage device to access based on the slice ID.

状態の欄には、スライスの状態を示す状態フラグが設定される。
図8は、状態フラグで示される状態の種類を示す図である。各スライスの状態を示す状態フラグには、「F」、「P」、「S」、「R」、「B」、および「SP」の何れかが設定される。
In the status column, a status flag indicating the status of the slice is set.
FIG. 8 is a diagram illustrating the types of states indicated by the state flags. One of “F”, “P”, “S”, “R”, “B”, and “SP” is set in the status flag indicating the status of each slice.

スライスが仮想ディスクのセグメントに割り当てられていない場合、状態フラグ「F」が設定される。スライスが仮想ディスクのセグメントのプライマリスライスに割り当てられている場合、状態フラグ「P」が設定される。スライスが仮想ディスクのセグメントのセカンダリスライスに割り当てられている場合、状態フラグ「S」が設定される。スライスを仮想ディスクのセグメントに割り当てることが決定したが、まだデータのコピーが行われていない場合、予約済を示す状態フラグ「R」が設定される。移行先ディスク121のスライスであるが、まだデータのコピーが行われていない場合、ブランクを示す状態フラグ「B」が設定される。スライスが仮想ディスクの冗長性が損なわれたセグメントに割り当てられている場合、シングルプライマリを示す状態フラグ「SP」が設定される。   If the slice is not assigned to a virtual disk segment, the status flag “F” is set. When the slice is assigned to the primary slice of the virtual disk segment, the status flag “P” is set. When the slice is assigned to the secondary slice of the virtual disk segment, the status flag “S” is set. When it is determined that the slice is assigned to the segment of the virtual disk, but the data has not yet been copied, the status flag “R” indicating the reserved state is set. If it is a slice of the migration destination disk 121 but data has not yet been copied, the status flag “B” indicating blank is set. When the slice is assigned to a segment in which the redundancy of the virtual disk is impaired, the status flag “SP” indicating the single primary is set.

状態フラグのうち、「P」、「S」、または「SP」が設定されている場合、対応するスライスにデータが格納されている。
以下、図7の説明に戻る。
When “P”, “S”, or “SP” is set among the status flags, data is stored in the corresponding slice.
Returning to the description of FIG.

仮想ディスクIDの欄には、スライスに対応するセグメントが属する仮想ディスクを識別するための識別情報(仮想ディスクID)が設定される。
仮想ディスクアドレスの欄には、スライスが割り当てられているセグメントの先頭を示す仮想ディスク内でのアドレスが設定される。
In the virtual disk ID column, identification information (virtual disk ID) for identifying the virtual disk to which the segment corresponding to the slice belongs is set.
In the virtual disk address column, an address in the virtual disk indicating the head of the segment to which the slice is assigned is set.

ペアのディスクノードIDの欄には、ペアのスライス(同じセグメントに属する別のスライス)を有するストレージ装置を管理するディスクノードの識別情報(ディスクノードID)が設定される。   In the paired disk node ID column, identification information (disk node ID) of a disk node that manages a storage device having a pair of slices (another slice belonging to the same segment) is set.

ペアのスライスIDの欄には、ペアのスライスを、そのスライスが属するストレージ装置内で識別するための識別情報(スライスID)が設定される。
図7では、ストレージ装置120がディスクノード100のOSで認識され、ストレージ装置120用のメタデータがメタデータテーブル151に登録された直後の状態が示されている。すなわち、データ移行のためのストレージ装置120へのデータのコピーは未実施である。そのため、ストレージ装置120(ディスクID「1001」〜「1100」)のスライスの状態フラグは、すべて「B」となっている。
In the pair slice ID column, identification information (slice ID) for identifying the pair slice within the storage apparatus to which the slice belongs is set.
FIG. 7 shows a state immediately after the storage apparatus 120 is recognized by the OS of the disk node 100 and the metadata for the storage apparatus 120 is registered in the metadata table 151. That is, copying of data to the storage apparatus 120 for data migration has not been performed. Therefore, the status flags of the slices of the storage apparatus 120 (disk IDs “1001” to “1100”) are all “B”.

また、移行先ディスク121内の各スライスは、仮想ディスクアドレスのセグメントに割り当てられている。なお、移行先ディスク121内のスライスのうち、スライスIDの値が小さいスライスほど、仮想ディスクアドレスの値が小さいセグメントに割り当てられている。これにより、データ移行後は、仮想ディスク60におけるデータ配列と同じ配列で、仮想ディスク60内のデータが移行先ディスク121内に格納されることとなる。   Each slice in the migration destination disk 121 is assigned to a segment of the virtual disk address. Of the slices in the migration destination disk 121, a slice with a smaller slice ID value is assigned to a segment with a smaller virtual disk address value. Thereby, after data migration, the data in the virtual disk 60 is stored in the migration destination disk 121 in the same arrangement as the data arrangement in the virtual disk 60.

各ディスクノード100,200,300のメタデータ記憶部150,240,340に格納されたメタデータは、制御ノード500からの要求に応じて制御ノード500に送信される。制御ノード500では、ディスクノード100,200,300から収集したメタデータを、仮想ディスクメタデータ記憶部520に格納する。   The metadata stored in the metadata storage units 150, 240, and 340 of the disk nodes 100, 200, and 300 is transmitted to the control node 500 in response to a request from the control node 500. In the control node 500, the metadata collected from the disk nodes 100, 200, and 300 is stored in the virtual disk metadata storage unit 520.

図9は、仮想ディスクメタデータ記憶部のデータ構造の一例を示す図である。図9に示すように、仮想ディスクメタデータ記憶部520には、各ディスクノード100,200,300が保持していたメタデータテーブル151,241,341に含まれるメタデータが格納される。   FIG. 9 is a diagram illustrating an example of the data structure of the virtual disk metadata storage unit. As shown in FIG. 9, the virtual disk metadata storage unit 520 stores metadata included in the metadata tables 151, 241, and 341 held by the disk nodes 100, 200, and 300.

なお、制御ノード500の仮想ディスク管理部510は、仮想ディスクが複数ある場合、ディスクノード100,200,300から収集したメタデータを、仮想ディスクIDによって分類してもよい。   Note that when there are a plurality of virtual disks, the virtual disk management unit 510 of the control node 500 may classify the metadata collected from the disk nodes 100, 200, and 300 according to the virtual disk ID.

次に、仮想ディスク60からストレージ装置120へのデータ移行の実施に利用される各ノードの機能について、詳細に説明する。
図10は、データ移行に利用される各ノードの機能を示す図である。制御ノード500の仮想ディスク管理部510は、仮想ディスクのデータ移行のために、スライス割り当て制御部511およびデータコピー指示部512を有する。
Next, the function of each node used for data migration from the virtual disk 60 to the storage apparatus 120 will be described in detail.
FIG. 10 is a diagram illustrating the function of each node used for data migration. The virtual disk management unit 510 of the control node 500 includes a slice allocation control unit 511 and a data copy instruction unit 512 for virtual disk data migration.

スライス割り当て制御部511は、システム起動時などに、各ディスクノード100,200,300に対してメタデータ照会要求を送信する。するとディスクノード100,200,300からメタデータが応答される。またスライス割り当て制御部511は、データコピー対象のスライスを選択し、該当スライスを管理しているディスクノードに対して、コピーの進行状況に応じてメタデータの更新を指示する。データコピー指示部512は、データコピーのコピー元となるスライスを管理するディスクノードに対して、移行先ディスク121への該当スライス内のデータの送信を指示する。   The slice allocation control unit 511 transmits a metadata inquiry request to each of the disk nodes 100, 200, and 300 when the system is started up. Then, metadata is returned from the disk nodes 100, 200, and 300. Also, the slice allocation control unit 511 selects a slice to be copied, and instructs the disk node that manages the slice to update metadata according to the progress of the copy. The data copy instruction unit 512 instructs the disk node that manages the copy source slice of the data copy to transmit the data in the corresponding slice to the migration destination disk 121.

ディスクノード100のデータ管理部140は、移行先ストレージ接続部141、メタデータ管理部142、およびデータコピー部143を有する。
移行先ストレージ接続部141は、ディスクノード100に接続されたストレージ装置120の存在を制御ノード500に認識させる。例えば、移行先ストレージ接続部141は、管理ノード400からの接続指示を受けると、ディスクノード100に接続されているストレージ装置のうち、未認識のストレージ装置120を検出する。移行先ストレージ接続部141は、検出したストレージ装置120をOSに認識させる。さらに移行先ストレージ接続部141は、検出したストレージ装置120内の1つの仮想的なディスクを移行先ディスク121とし、他の1つの仮想的なディスクをメタデータ用ディスク122とする。そして移行先ストレージ接続部141は、メタデータ用ディスク122に、移行先ディスク121内の記憶領域を分割して得られるスライスごとのメタデータを格納する。その後、移行先ストレージ接続部141は、接続完了応答を管理ノード400に送信する。
The data management unit 140 of the disk node 100 includes a migration destination storage connection unit 141, a metadata management unit 142, and a data copy unit 143.
The migration destination storage connection unit 141 causes the control node 500 to recognize the presence of the storage device 120 connected to the disk node 100. For example, when the migration destination storage connection unit 141 receives a connection instruction from the management node 400, the migration destination storage connection unit 141 detects the unrecognized storage device 120 among the storage devices connected to the disk node 100. The migration destination storage connection unit 141 causes the OS to recognize the detected storage device 120. Further, the migration destination storage connection unit 141 sets one detected virtual disk in the storage apparatus 120 as the migration destination disk 121 and the other one virtual disk as the metadata disk 122. The migration destination storage connection unit 141 stores the metadata for each slice obtained by dividing the storage area in the migration destination disk 121 in the metadata disk 122. Thereafter, the migration destination storage connection unit 141 transmits a connection completion response to the management node 400.

メタデータ管理部142は、制御ノード500からのメタデータ照会要求に応答して、メタデータ記憶部150内のメタデータを制御ノード500に送信する。また、メタデータ管理部142は、制御ノード500からの指示に従って、メタデータを更新する。   In response to the metadata inquiry request from the control node 500, the metadata management unit 142 transmits the metadata in the metadata storage unit 150 to the control node 500. Further, the metadata management unit 142 updates the metadata in accordance with an instruction from the control node 500.

データコピー部143は、制御ノード500からの指示に従って、仮想ディスク60のセグメントに割り当てられたスライス内のデータを、移行先ディスク121内のスライスにコピーする。また、データコピー部143は、他のディスクノード200,300から、移行先ディスク121内のスライスをコピー先としてデータを受信すると、受信したデータを、コピー先として指定されたスライスに格納する。   The data copy unit 143 copies the data in the slice allocated to the segment of the virtual disk 60 to the slice in the migration destination disk 121 according to the instruction from the control node 500. When the data copy unit 143 receives data from the other disk nodes 200 and 300 using the slice in the migration destination disk 121 as the copy destination, the data copy unit 143 stores the received data in the slice designated as the copy destination.

ディスクノード200のデータ管理部230は、メタデータ管理部231とデータコピー部232とを有する。メタデータ管理部231は、制御ノード500からの指示に従って、メタデータを更新する。データコピー部232は、制御ノード500からの指示に従って、仮想ディスク60のセグメントに割り当てられたスライス内のデータを、コピー先のスライスを指定して、ディスクノード100に送信する。   The data management unit 230 of the disk node 200 includes a metadata management unit 231 and a data copy unit 232. The metadata management unit 231 updates the metadata according to an instruction from the control node 500. The data copy unit 232 transmits the data in the slice assigned to the segment of the virtual disk 60 to the disk node 100 by designating the copy destination slice according to the instruction from the control node 500.

ディスクノード300のデータ管理部330は、メタデータ管理部331とデータコピー部332とを有する。メタデータ管理部331とデータコピー部332との機能は、それぞれディスクノード200のメタデータ管理部231とデータコピー部232との機能と同じである。   The data management unit 330 of the disk node 300 includes a metadata management unit 331 and a data copy unit 332. The functions of the metadata management unit 331 and the data copy unit 332 are the same as the functions of the metadata management unit 231 and the data copy unit 232 of the disk node 200, respectively.

次に、データ移行処理の手順について説明する。
図11は、第2の実施の形態におけるデータ移行処理の手順を示すシーケンス図である。以下、図11に示す処理を、ステップ番号に沿って説明する。
Next, a procedure for data migration processing will be described.
FIG. 11 is a sequence diagram illustrating a procedure of data migration processing according to the second embodiment. In the following, the process illustrated in FIG. 11 will be described in order of step number.

[ステップS11]管理ノード400からディスクノード100に接続指示が出される。例えば、管理者は管理ノード400に対して、データの移行を指示する。この指示では、例えば仮想ディスク60の仮想ディスクID、仮想ディスクのセグメント数(または仮想ディスク60のデータ容量)、および移行先のストレージ装置を接続したディスクノード100のディスクノードIDが指定される。管理ノード400は、指定されたディスクノード100に対して、仮想ディスク60の仮想ディスクIDと仮想ディスク60のセグメント数とを指定した接続指示を送信する。   [Step S11] A connection instruction is issued from the management node 400 to the disk node 100. For example, the administrator instructs the management node 400 to migrate data. In this instruction, for example, the virtual disk ID of the virtual disk 60, the number of segments of the virtual disk (or the data capacity of the virtual disk 60), and the disk node ID of the disk node 100 to which the migration destination storage apparatus is connected are specified. The management node 400 transmits a connection instruction specifying the virtual disk ID of the virtual disk 60 and the number of segments of the virtual disk 60 to the specified disk node 100.

ディスクノード100は、管理ノード400からの接続指示に応答して、データ移行先となるストレージ装置120をマルチノードストレージシステムの配下のストレージ装置として接続する。具体的には、ディスクノード100の移行先ストレージ接続部141は、ストレージ装置120内の1つのディスクを移行先ディスク121、他の1つのディスクをメタデータ用ディスク122として、ディスクノード100のOSに認識させる。この時点では、移行先ディスク121とメタデータ用ディスク122との内容はブランクである。その後、移行先ストレージ接続部141は、メタデータ用ディスク122にメタデータを格納する。なお、移行先ディスク121については、接続時には書き込みは行われない。   In response to the connection instruction from the management node 400, the disk node 100 connects the storage apparatus 120 that is the data migration destination as a storage apparatus under the multi-node storage system. Specifically, the migration destination storage connection unit 141 of the disk node 100 uses the one disk in the storage device 120 as the migration destination disk 121 and the other disk as the metadata disk 122 to the OS of the disk node 100. Recognize. At this time, the contents of the migration destination disk 121 and the metadata disk 122 are blank. Thereafter, the migration destination storage connection unit 141 stores the metadata in the metadata disk 122. The migration destination disk 121 is not written when connected.

メタデータ用ディスク122へ格納するメタデータの内容は、管理ノード400からの指示に従って行われる。例えば、管理ノード400からの接続指示において、データの移行を行う仮想ディスク60の仮想ディスクIDとセグメントの数が指定される。すると、移行先ストレージ接続部141は、仮想ディスクのセグメントの数分のスライスに対応するメタデータを作成し、そのメタデータの仮想ディスクIDの欄には、仮想ディスク60の仮想ディスクIDを設定する。そして、移行先ストレージ接続部141は、作成したメタデータと、メタデータの格納形式を示すデバイス情報とを、メタデータ用ディスク122に格納する。この際、移行先ストレージ接続部141は、メタデータ用ディスク122に格納したメタデータを、メタデータ記憶部150にも格納する。その後、移行先ストレージ接続部141は、管理ノード400に対して接続完了応答を送信する。   The content of the metadata stored in the metadata disk 122 is performed according to an instruction from the management node 400. For example, in the connection instruction from the management node 400, the virtual disk ID and the number of segments of the virtual disk 60 that performs data migration are specified. Then, the migration destination storage connection unit 141 creates metadata corresponding to slices corresponding to the number of segments of the virtual disk, and sets the virtual disk ID of the virtual disk 60 in the virtual disk ID column of the metadata. . Then, the migration destination storage connection unit 141 stores the created metadata and device information indicating the storage format of the metadata in the metadata disk 122. At this time, the migration destination storage connection unit 141 also stores the metadata stored in the metadata disk 122 in the metadata storage unit 150. Thereafter, the migration destination storage connection unit 141 transmits a connection completion response to the management node 400.

[ステップS12]管理ノード400から制御ノード500に移行指示が出される。例えば、移行指示には、データの移行先となるストレージ装置120を接続したディスクノード100のディスクノードIDが指定されている。制御ノード500のスライス割り当て制御部511は、移行指示で指定されたディスクノード100に対して、メタデータ照会要求を送信する。   [Step S12] A migration instruction is issued from the management node 400 to the control node 500. For example, the migration instruction specifies the disk node ID of the disk node 100 to which the storage device 120 that is the data migration destination is connected. The slice allocation control unit 511 of the control node 500 transmits a metadata inquiry request to the disk node 100 specified by the migration instruction.

[ステップS13]メタデータ照会要求を受け取ったディスクノード100では、メタデータ管理部142がメタデータ記憶部150からメタデータを取得し、制御ノード500に送信する。なお、メタデータ管理部142は、メタデータ記憶部150からストレージ装置120内のスライスのメタデータのみを取得し、取得したメタデータを制御ノード500に送信してもよい。   [Step S13] In the disk node 100 that has received the metadata inquiry request, the metadata management unit 142 acquires the metadata from the metadata storage unit 150 and transmits it to the control node 500. Note that the metadata management unit 142 may acquire only the metadata of the slice in the storage device 120 from the metadata storage unit 150 and transmit the acquired metadata to the control node 500.

[ステップS14]メタデータを受信した制御ノード500のスライス割り当て制御部511は、受信したメタデータにより仮想ディスクメタデータ記憶部520内のメタデータを更新する。そして、データコピー指示部512の制御の下、ディスクノード100,200,300によるスライス内のデータの移行先ディスク121へのコピー処理が行われる。   [Step S14] The slice allocation control unit 511 of the control node 500 that has received the metadata updates the metadata in the virtual disk metadata storage unit 520 with the received metadata. Then, under the control of the data copy instruction unit 512, the disk nodes 100, 200, and 300 copy data in the slice to the migration destination disk 121.

[ステップS15]データのコピーが完了すると、制御ノード500のスライス割り当て制御部511の制御の下、仮想ディスク60のセグメントに対するセカンダリスライスの切り離し(割り当て解除)処理が行われる。スライス割り当て制御部511は、セカンダリスライスの切り離し処理が完了すると、移行完了応答を管理ノード400に送信する。   [Step S15] When the data copy is completed, a secondary slice detachment (allocation) process for the segment of the virtual disk 60 is performed under the control of the slice allocation control unit 511 of the control node 500. When the secondary slice detachment process is completed, the slice assignment control unit 511 transmits a migration completion response to the management node 400.

このような手順で、仮想ディスク60内のデータが移行先ディスク121に移行される。次に、ステップS14に示したスライスコピー処理について詳細に説明する。
図12は、スライスコピー処理の手順を示すシーケンス図である。図12には、1つのセグメントに関するスライスコピー処理が示されている。以下、図12に示す処理をステップ番号に沿って説明する。
With this procedure, the data in the virtual disk 60 is migrated to the migration destination disk 121. Next, the slice copy process shown in step S14 will be described in detail.
FIG. 12 is a sequence diagram illustrating a procedure of slice copy processing. FIG. 12 shows slice copy processing for one segment. In the following, the process illustrated in FIG. 12 will be described in order of step number.

[ステップS21]制御ノード500のスライス割り当て制御部511は、移行対象の仮想ディスク60のセグメントのうち、スライスコピー処理を行っていないセグメントを1つ選択する。スライス割り当て制御部511は、選択したセグメントに割り当てられているスライスを管理しているディスクノードに対して、メタデータ変更要求を送信する。   [Step S21] The slice allocation control unit 511 of the control node 500 selects one of the segments of the migration target virtual disk 60 that has not been subjected to slice copy processing. The slice allocation control unit 511 transmits a metadata change request to the disk node that manages the slice allocated to the selected segment.

例えば、アドレス「A1」のセグメントが選択されたものとする。移行対象の仮想ディスク60内の冗長構成が保たれたセグメントであれば、選択されたセグメントには、状態がプライマリのスライス、状態がセカンダリのスライス、および状態がブランクのスライスが割り当てられている。そこでスライス割り当て制御部511は、図9に示したメタデータテーブル151,241,341を参照し、選択されたセグメントに割り当てられたブランクのスライスが、ディスクノード100で管理されていることを認識する。そして、スライス割り当て制御部511は、ディスクノード100に対して、選択したセグメントに割り当てられたブランクのスライスの状態をリザーブ「R」に変更することを指示するメタデータ変更要求を送信する。   For example, it is assumed that the segment having the address “A1” is selected. If the redundant configuration in the migration target virtual disk 60 is maintained, a slice whose status is primary, a slice whose status is secondary, and a slice whose status is blank are assigned to the selected segment. Therefore, the slice assignment control unit 511 refers to the metadata tables 151, 241, and 341 illustrated in FIG. 9 and recognizes that the blank slice assigned to the selected segment is managed by the disk node 100. . Then, the slice allocation control unit 511 transmits a metadata change request that instructs the disk node 100 to change the state of the blank slice allocated to the selected segment to the reserve “R”.

[ステップS22]ディスクノード100では、メタデータ管理部142がメタデータ変更要求を受信する。すると、メタデータ管理部142は、メタデータ変更要求に従い、メタデータ記憶部150内のメタデータ変更要求で指定されたスライスのメタデータを更新する。すなわち、メタデータ管理部142は、指定されたスライスのメタデータの状態の欄の状態フラグを「B」から「R」に変更する。さらにメタデータ管理部142は、メタデータ用ディスク122内のメタデータ変更要求で指定されたスライスのメタデータについても同様に更新する。メタデータ管理部142は、メタデータの更新が完了すると、変更完了応答を制御ノード500に送信する。   [Step S22] In the disk node 100, the metadata management unit 142 receives a metadata change request. Then, the metadata management unit 142 updates the metadata of the slice specified by the metadata change request in the metadata storage unit 150 in accordance with the metadata change request. That is, the metadata management unit 142 changes the status flag in the metadata status column of the designated slice from “B” to “R”. Further, the metadata management unit 142 similarly updates the metadata of the slice designated by the metadata change request in the metadata disk 122. When the metadata update is completed, the metadata management unit 142 transmits a change completion response to the control node 500.

[ステップS23]制御ノード500では、スライス割り当て制御部511が変更完了応答を受信する。すると、スライス割り当て制御部511は、仮想ディスクメタデータ記憶部520内のメタデータについても、メタデータ変更要求で指示した内容と同様に更新する。その後、制御ノード500のデータコピー指示部512が、選択したセグメントに割り当てられたセカンダリのスライスを管理するディスクノードに対して、スライスコピー指示を送信する。   [Step S23] In the control node 500, the slice allocation control unit 511 receives a change completion response. Then, the slice allocation control unit 511 updates the metadata in the virtual disk metadata storage unit 520 in the same manner as the content instructed by the metadata change request. Thereafter, the data copy instruction unit 512 of the control node 500 transmits a slice copy instruction to the disk node that manages the secondary slice assigned to the selected segment.

例えばアドレス「A1」のセグメントが選択された場合、データコピー指示部512は、図9に示したメタデータテーブル151,241,341を参照する。これによりデータコピー指示部512は、選択されたセグメントに割り当てられたセカンダリのスライスが、ディスクノード300で管理されていることを認識する。そしてデータコピー指示部512は、ディスクノード300に対して、選択したセグメントに割り当てられたセカンダリのスライス内のデータを、選択したセグメントに割り当てられたリザーブのスライスにコピーすべき旨のスライスコピー指示を送信する。スライスコピー指示には、例えば、選択したセグメントのセカンダリのスライスとリザーブのスライスとのそれぞれの、ディスクノードIDとスライスIDとが示される。   For example, when the segment with the address “A1” is selected, the data copy instruction unit 512 refers to the metadata tables 151, 241, and 341 shown in FIG. As a result, the data copy instruction unit 512 recognizes that the secondary slice assigned to the selected segment is managed by the disk node 300. The data copy instruction unit 512 then instructs the disk node 300 to copy the data in the secondary slice assigned to the selected segment to the reserved slice assigned to the selected segment. Send. The slice copy instruction indicates, for example, the disk node ID and slice ID of each of the secondary slice and reserved slice of the selected segment.

[ステップS24]ディスクノード300では、データコピー部332がスライスコピー指示を受信する。するとデータコピー部332は、スライスコピー指示で指定されたセカンダリのスライス内のデータを、リザーブのスライスを管理するディスクノード100に送信する。この際、送信したデータの格納先として、例えばスライスコピー指示で指定されたリザーブのスライスのスライスIDが指定される。   [Step S24] In the disk node 300, the data copy unit 332 receives the slice copy instruction. Then, the data copy unit 332 transmits the data in the secondary slice designated by the slice copy instruction to the disk node 100 that manages the reserved slice. At this time, for example, the slice ID of the reserved slice designated by the slice copy instruction is designated as the storage destination of the transmitted data.

[ステップS25]ディスクノード100では、ディスクノード300から送信されたデータをデータコピー部143が受信する。するとデータコピー部143は、移行先ディスク121内の指定されたスライスに対して、受信したデータを書き込む。データの書き込みが完了すると、データコピー部143は、書き込み完了応答をディスクノード300に送信する。   [Step S25] In the disk node 100, the data copy unit 143 receives the data transmitted from the disk node 300. Then, the data copy unit 143 writes the received data to the designated slice in the migration destination disk 121. When the data writing is completed, the data copy unit 143 transmits a write completion response to the disk node 300.

[ステップS26]ディスクノード300のデータコピー部332は、ディスクノード100から書き込み完了応答を受信すると、制御ノード500に対してコピー完了応答を送信する。   [Step S26] Upon receiving a write completion response from the disk node 100, the data copy unit 332 of the disk node 300 transmits a copy completion response to the control node 500.

[ステップS27]制御ノード500のデータコピー指示部512は、選択したセグメントに割り当てられた各スライスを管理するディスクノード100,200,300に対して、メタデータ変更要求を送信する。例えば、プライマリのスライスを管理するディスクノード200に対しては、選択したセグメントに割り当てられていたスライスのペアの相手を移行先ディスク121内のデータのコピー先となったスライスに変更することを示すメタデータ変更要求が送信される。セカンダリのスライスを管理するディスクノード300に対しては、選択したセグメントに割り当てられていたスライスの状態を、セカンダリ「S」からフリー「F」へ変更することを示すメタデータ変更要求が送信される。リザーブのスライスを管理するディスクノード100に対しては、選択したセグメントに割り当てられていたスライスの状態を、リザーブ「R」からセカンダリ「S」へ変更することを示すメタデータ変更要求が送信される。   [Step S27] The data copy instruction unit 512 of the control node 500 transmits a metadata change request to the disk nodes 100, 200, and 300 that manage each slice assigned to the selected segment. For example, for the disk node 200 that manages the primary slice, this indicates that the counterpart of the slice pair assigned to the selected segment is changed to the slice that is the data copy destination in the migration destination disk 121. A metadata change request is sent. A metadata change request indicating that the state of the slice assigned to the selected segment is changed from the secondary “S” to the free “F” is transmitted to the disk node 300 that manages the secondary slice. . A metadata change request indicating that the state of the slice assigned to the selected segment is to be changed from reserve “R” to secondary “S” is transmitted to the disk node 100 that manages the reserved slice. .

なお、図12の例では、セカンダリスライスをフリースライスに変更するようにメタデータ変更要求が出されているが、プライマリスライスをフリースライスに変更するようにしてもよい。その場合、セカンダリスライスをプライマリスライスに変更することとなる。   In the example of FIG. 12, a metadata change request is issued so as to change the secondary slice to a free slice, but the primary slice may be changed to a free slice. In that case, the secondary slice is changed to the primary slice.

[ステップS28]ディスクノード200では、メタデータ変更要求をメタデータ管理部231が受信する。メタデータ管理部231は、メタデータ変更要求に従って、メタデータ記憶部240内のメタデータを更新する。すなわちメタデータ管理部231は、選択されたセグメントに割り当てられたプライマリのスライスのメタデータに対し、ペアのディスクノードIDとして、移行先ディスク121が接続されたディスクノード100のディスクノードIDを設定する。またメタデータ管理部231は、選択されたセグメントに割り当てられたプライマリのスライスのメタデータに対し、ペアのスライスとして、移行先ディスク121内のデータのコピー先となったスライスのスライスIDを設定する。さらにメタデータ管理部231は、メタデータ記憶部240に対するメタデータ更新処理と同様のメタデータ更新処理を、ストレージ装置210内のメタデータに対しても行う。メタデータの更新が完了すると、メタデータ管理部231は、変更完了応答を制御ノード500に送信する。   [Step S28] In the disk node 200, the metadata management unit 231 receives the metadata change request. The metadata management unit 231 updates the metadata in the metadata storage unit 240 in accordance with the metadata change request. That is, the metadata management unit 231 sets the disk node ID of the disk node 100 to which the migration destination disk 121 is connected as the paired disk node ID for the metadata of the primary slice assigned to the selected segment. . Further, the metadata management unit 231 sets the slice ID of the slice that is the copy destination of the data in the migration destination disk 121 as a pair of slices for the metadata of the primary slice assigned to the selected segment. . Further, the metadata management unit 231 also performs the metadata update process similar to the metadata update process for the metadata storage unit 240 on the metadata in the storage apparatus 210. When the metadata update is completed, the metadata management unit 231 transmits a change completion response to the control node 500.

[ステップS29]ディスクノード300では、メタデータ変更要求をメタデータ管理部331が受信する。メタデータ管理部331は、メタデータ変更要求に従って、メタデータ記憶部340内のメタデータを更新する。すなわちメタデータ管理部331は、選択されたセグメントに割り当てられたセカンダリのスライスのメタデータの状態フラグを、セカンダリ「S」からフリー「F」に変更する。また、メタデータ管理部331は、状態フラグを変更したメタデータの、仮想ディスクID、仮想ディスクアドレス、ペアのディスクノードID、およびペアのスライスIDの各欄の設定内容を削除する。状態がフリーとなったスライスは、セグメントへの割り当てが解除され、他のセグメントへの割り当てが可能となる。すなわち、状態がフリーとなったスライスは、そのスライスの記憶領域が開放される。   [Step S29] In the disk node 300, the metadata management unit 331 receives the metadata change request. The metadata management unit 331 updates the metadata in the metadata storage unit 340 in accordance with the metadata change request. In other words, the metadata management unit 331 changes the metadata status flag of the secondary slice assigned to the selected segment from secondary “S” to free “F”. In addition, the metadata management unit 331 deletes the setting contents in the respective fields of the virtual disk ID, the virtual disk address, the paired disk node ID, and the paired slice ID of the metadata whose status flag has been changed. A slice whose state is free is released from allocation to a segment and can be allocated to another segment. That is, the slice storage area is released for a slice whose state is free.

さらにメタデータ管理部331は、メタデータ記憶部340に対するメタデータ更新処理と同様のメタデータ更新処理を、ストレージ装置310内のメタデータに対しても行う。メタデータの更新が完了すると、メタデータ管理部331は、変更完了応答を制御ノード500に送信する。   Further, the metadata management unit 331 also performs the metadata update process similar to the metadata update process for the metadata storage unit 340 on the metadata in the storage apparatus 310. When the update of metadata is completed, the metadata management unit 331 transmits a change completion response to the control node 500.

[ステップS30]ディスクノード100では、メタデータ変更要求をメタデータ管理部142が受信する。メタデータ管理部142は、メタデータ変更要求に従って、メタデータ記憶部150内のメタデータを更新する。すなわちメタデータ管理部142は、選択されたセグメントに割り当てられたリザーブのスライスのメタデータの状態フラグを、リザーブ「R」からセカンダリ「S」に変更する。また、メタデータ管理部142は、状態フラグを変更したメタデータのペアのディスクノードIDの欄に、プライマリスライスを管理するディスクノードのディスクノードIDを設定する。さらに、メタデータ管理部142は、状態フラグを変更したメタデータのペアのスライスIDの欄に、プライマリスライスのスライスIDを設定する。その後、メタデータ管理部142は、メタデータ記憶部150に対するメタデータ更新処理と同様のメタデータ更新処理を、メタデータ用ディスク122内のメタデータに対しても行う。メタデータの更新が完了すると、メタデータ管理部142は、変更完了応答を制御ノード500に送信する。   [Step S30] In the disk node 100, the metadata management unit 142 receives a metadata change request. The metadata management unit 142 updates the metadata in the metadata storage unit 150 in accordance with the metadata change request. In other words, the metadata management unit 142 changes the metadata status flag of the reserved slice assigned to the selected segment from the reserve “R” to the secondary “S”. Also, the metadata management unit 142 sets the disk node ID of the disk node that manages the primary slice in the column of the disk node ID of the metadata pair whose status flag has been changed. Further, the metadata management unit 142 sets the slice ID of the primary slice in the column of the slice ID of the metadata pair whose status flag has been changed. Thereafter, the metadata management unit 142 performs the same metadata update process as the metadata update process for the metadata storage unit 150 on the metadata in the metadata disk 122. When the metadata update is completed, the metadata management unit 142 transmits a change completion response to the control node 500.

[ステップS31]制御ノード500では、スライス割り当て制御部511が、各ディスクノード100,200,300から送信された変更完了応答を受信する。すると、スライス割り当て制御部511は、仮想ディスクメタデータ記憶部520内のメタデータについても、ステップS27においてメタデータ変更要求で指示した内容と同様に更新する。   [Step S31] In the control node 500, the slice allocation control unit 511 receives the change completion response transmitted from each of the disk nodes 100, 200, and 300. Then, the slice allocation control unit 511 updates the metadata in the virtual disk metadata storage unit 520 in the same manner as the content instructed by the metadata change request in step S27.

図12に示したスライスコピー処理が、移行対象の仮想ディスク60内のセグメントごとに実行される。例えば、制御ノード500のスライス割り当て制御部511は、ステップS31の処理が完了すると、仮想ディスク60内の未選択のセグメントの有無を判断する。未選択のセグメントがあれば、スライス割り当て制御部511は、図12に示したスライスコピー処理を、ステップS21から開始する。未選択のセグメントがなければ、図11に示すスライスコピー処理(ステップS14)が完了し、次のセカンダリ切り離し処理(ステップS15)が実行される。   The slice copy process shown in FIG. 12 is executed for each segment in the migration target virtual disk 60. For example, the slice allocation control unit 511 of the control node 500 determines whether there is an unselected segment in the virtual disk 60 when the process of step S31 is completed. If there is an unselected segment, the slice allocation control unit 511 starts the slice copy process shown in FIG. 12 from step S21. If there is no unselected segment, the slice copy process (step S14) shown in FIG. 11 is completed, and the next secondary disconnection process (step S15) is executed.

次に、スライスコピー処理によるメタデータの内容の推移について説明する。
図13は、スライスコピー処理によるメタデータの内容の推移の一例を示す図である。なお、図13には、仮想ディスクアドレス「A1」に対応するセグメントを選択して、スライスコピー処理を実行した場合の、該当セグメントに割り当てられているスライスのメタデータの内容の推移が示されている。
Next, transition of metadata contents by slice copy processing will be described.
FIG. 13 is a diagram illustrating an example of transition of metadata contents by slice copy processing. FIG. 13 shows the transition of the content of the metadata of the slice allocated to the segment when the segment corresponding to the virtual disk address “A1” is selected and the slice copy process is executed. Yes.

第1の状態は、セグメント選択(図12のステップS21)時点での、処理対象のスライスのメタデータの状態を示している。図13の例では、仮想ディスクアドレス「A1」のセグメントに対して、プライマリスライスとして、ディスクノード200(ディスクノードID「DP2」)のスライスID「スライス100」のスライスが割り当てられている。仮想ディスクアドレス「A1」のセグメントに対して、セカンダリスライスとして、ディスクノード300(ディスクノードID「DP3」)のスライスID「スライス200」のスライスが割り当てられている。   The first state shows the state of the metadata of the slice to be processed at the time of segment selection (step S21 in FIG. 12). In the example of FIG. 13, the slice with the slice ID “slice 100” of the disk node 200 (disk node ID “DP2”) is assigned as the primary slice to the segment with the virtual disk address “A1”. A slice with the slice ID “slice 200” of the disk node 300 (disk node ID “DP3”) is assigned as the secondary slice to the segment with the virtual disk address “A1”.

また、選択されたセグメントの仮想ディスクアドレスは、仮想ディスク60内の先頭のアドレスである。すなわち、仮想ディスク60内の先頭のセグメントが選択されている。そこで、ディスクノード100(ディスクノードID「DP1」)で管理される移行先ディスク121の先頭のスライスが、データコピー先のスライスとして選択される。移行先ディスク121の先頭のスライスのスライスIDは、「スライス1001」である。移行先ディスク121の先頭のスライスの状態は、ブランク「B」である。   The virtual disk address of the selected segment is the head address in the virtual disk 60. That is, the first segment in the virtual disk 60 is selected. Therefore, the first slice of the migration destination disk 121 managed by the disk node 100 (disk node ID “DP1”) is selected as the data copy destination slice. The slice ID of the first slice of the migration destination disk 121 is “slice 1001”. The state of the first slice of the migration destination disk 121 is blank “B”.

第2の状態は、移行先ディスク121内のスライスのセグメントへの割り当て処理(図12のステップS22)後の状態を示している。移行先ディスク121のスライスID「スライス1001」のスライスの状態は、ブランク「B」からリザーブ「R」に変更されている。   The second state shows a state after the process of assigning slices to segments in the migration destination disk 121 (step S22 in FIG. 12). The state of the slice with the slice ID “slice 1001” of the migration destination disk 121 is changed from the blank “B” to the reserve “R”.

第3の状態は、コピー完了後に行われるメタデータ変更処理(図12のステップS27〜S31)後の状態を示している。ディスクノード100(ディスクノードID「DP1」)のスライスID「スライス1001」のスライスのメタデータは、状態がセカンダリ「S」に変更されている。また、そのメタデータには、ペアのディスクノードIDとしてディスクノード200のディスクノードID「DP2」が設定され、ペアのスライスIDとして、選択されたセグメントのプライマリスライスのスライスID「スライス100」が設定されている。   The third state shows a state after the metadata change process (steps S27 to S31 in FIG. 12) performed after the copy is completed. The status of the metadata of the slice with the slice ID “slice 1001” of the disk node 100 (disk node ID “DP1”) is changed to the secondary “S”. In the metadata, the disk node ID “DP2” of the disk node 200 is set as the paired disk node ID, and the slice ID “slice 100” of the primary slice of the selected segment is set as the paired slice ID. Has been.

ディスクノード200(ディスクノードID「DP2」)のスライスID「スライス100」のスライスのメタデータには、ペアのディスクノードIDがディスクノード100のディスクノードID「DP1」に変更されている。さらに、そのメタデータのペアのスライスIDが、選択されたセグメントのセカンダリスライスのスライスID「スライス1001」に変更されている。   In the metadata of the slice of the slice ID “slice 100” of the disk node 200 (disk node ID “DP2”), the paired disk node ID is changed to the disk node ID “DP1” of the disk node 100. Further, the slice ID of the metadata pair is changed to the slice ID “slice 1001” of the secondary slice of the selected segment.

ディスクノード300(ディスクノードID「DP3」)のスライスID「スライス200」のスライスのメタデータは、状態がフリー「F」に変更されている。また、そのメタデータの仮想ディスクID、仮想ディスクアドレス、ペアのディスクノードID、およびペアのスライスIDの内容は、「NULL」に変更されている。これにより、ディスクノード300(ディスクノードID「DP3」)のスライスID「スライス200」のスライスは、仮想ディスクアドレス「A1」のセグメントから切り離されたこととなる。   The status of the metadata of the slice with the slice ID “slice 200” of the disk node 300 (disk node ID “DP3”) is changed to free “F”. In addition, the contents of the virtual disk ID, virtual disk address, paired disk node ID, and paired slice ID of the metadata are changed to “NULL”. As a result, the slice with the slice ID “slice 200” of the disk node 300 (disk node ID “DP3”) is disconnected from the segment with the virtual disk address “A1”.

次に、図11のステップS15に示したセカンダリ切り離し処理の詳細について説明する。
図14は、セカンダリ切り離し処理手順を示すシーケンス図である。以下、図14に示す処理をステップ番号に沿って説明する。
Next, the details of the secondary disconnection process shown in step S15 of FIG. 11 will be described.
FIG. 14 is a sequence diagram illustrating a secondary disconnection process procedure. In the following, the process illustrated in FIG. 14 will be described in order of step number.

[ステップS41]制御ノード500のスライス割り当て制御部511は、移行対象の仮想ディスク60のセグメントのうち、スライスコピー処理を行っていないセグメントを1つ選択する。データコピー指示部512は、選択したセグメントに割り当てられた各スライスを管理するディスクノード100,200に対して、メタデータ変更要求を送信する。   [Step S41] The slice allocation control unit 511 of the control node 500 selects one of the segments of the migration target virtual disk 60 that has not undergone slice copy processing. The data copy instruction unit 512 transmits a metadata change request to the disk nodes 100 and 200 that manage each slice assigned to the selected segment.

例えば、プライマリのスライスを管理するディスクノード200に対しては、選択したセグメントに割り当てられていたスライスの状態を、プライマリ「P」からフリー「F」に変更することを示すメタデータ変更要求が送信される。セカンダリのスライスを管理するディスクノード100に対しては、選択したセグメントに割り当てられていたスライスの状態を、セカンダリ「S」からプライマリ「P」へ変更することを示すメタデータ変更要求が送信される。   For example, a metadata change request indicating that the state of the slice assigned to the selected segment is changed from the primary “P” to the free “F” is transmitted to the disk node 200 that manages the primary slice. Is done. A metadata change request indicating that the state of the slice assigned to the selected segment is to be changed from the secondary “S” to the primary “P” is transmitted to the disk node 100 that manages the secondary slice. .

[ステップS42]ディスクノード200では、メタデータ変更要求をメタデータ管理部231が受信する。メタデータ管理部231は、メタデータ変更要求に従って、メタデータ記憶部240内のメタデータを更新する。すなわちメタデータ管理部231は、選択されたセグメントに割り当てられたセカンダリのスライスのメタデータの状態フラグを、プライマリ「P」からフリー「F」に変更する。また、メタデータ管理部231は、状態フラグを変更したメタデータの、仮想ディスクID、仮想ディスクアドレス、ペアのディスクノードID、およびペアのスライスIDの各欄の設定内容を削除する。さらにメタデータ管理部231は、メタデータ記憶部240に対するメタデータ更新処理と同様のメタデータ更新処理を、ストレージ装置210内のメタデータに対しても行う。メタデータの更新が完了すると、メタデータ管理部231は、変更完了応答を制御ノード500に送信する。   [Step S42] In the disk node 200, the metadata management unit 231 receives the metadata change request. The metadata management unit 231 updates the metadata in the metadata storage unit 240 in accordance with the metadata change request. In other words, the metadata management unit 231 changes the metadata status flag of the secondary slice assigned to the selected segment from primary “P” to free “F”. In addition, the metadata management unit 231 deletes the setting contents of each column of the virtual disk ID, the virtual disk address, the paired disk node ID, and the paired slice ID of the metadata whose status flag has been changed. Further, the metadata management unit 231 also performs the metadata update process similar to the metadata update process for the metadata storage unit 240 on the metadata in the storage apparatus 210. When the metadata update is completed, the metadata management unit 231 transmits a change completion response to the control node 500.

[ステップS43]ディスクノード100では、メタデータ変更要求をメタデータ管理部142が受信する。メタデータ管理部142は、メタデータ変更要求に従って、メタデータ記憶部150内のメタデータを更新する。すなわちメタデータ管理部142は、選択されたセグメントに割り当てられたセカンダリのスライスのメタデータの状態フラグを、セカンダリ「S」からプライマリ「P」に変更する。また、メタデータ管理部142は、状態フラグを変更したメタデータの、ペアのディスクノードID、およびペアのスライスIDの各欄の設定内容を削除する。さらにメタデータ管理部142は、メタデータ記憶部150に対するメタデータ更新処理と同様のメタデータ更新処理を、メタデータ用ディスク122内のメタデータに対しても行う。メタデータの更新が完了すると、メタデータ管理部142は、変更完了応答を制御ノード500に送信する。   [Step S43] In the disk node 100, the metadata management unit 142 receives a metadata change request. The metadata management unit 142 updates the metadata in the metadata storage unit 150 in accordance with the metadata change request. In other words, the metadata management unit 142 changes the metadata status flag of the secondary slice assigned to the selected segment from the secondary “S” to the primary “P”. Also, the metadata management unit 142 deletes the setting contents of each column of the paired disk node ID and the paired slice ID of the metadata whose status flag has been changed. Further, the metadata management unit 142 performs the metadata update process similar to the metadata update process for the metadata storage unit 150 on the metadata in the metadata disk 122. When the metadata update is completed, the metadata management unit 142 transmits a change completion response to the control node 500.

[ステップS44]制御ノード500では、スライス割り当て制御部511が、各ディスクノード100,200から送信された変更完了応答を受信する。すると、スライス割り当て制御部511は、仮想ディスクメタデータ記憶部520内のメタデータについても、ステップS41においてメタデータ変更要求で指示した内容と同様に更新する。   [Step S44] In the control node 500, the slice allocation control unit 511 receives the change completion response transmitted from each of the disk nodes 100 and 200. Then, the slice allocation control unit 511 updates the metadata in the virtual disk metadata storage unit 520 in the same manner as the content instructed in the metadata change request in step S41.

図14に示したセカンダリ切り離し処理が、移行対象の仮想ディスク60内のセグメントごとに実行される。例えば、制御ノード500のスライス割り当て制御部511は、ステップS44の処理が完了すると、仮想ディスク60内の未選択のセグメントの有無を判断する。未選択のセグメントがあれば、スライス割り当て制御部511は、図14に示したセカンダリ切り離し処理を、ステップS41から開始する。未選択のセグメントがなければ、図11に示すセカンダリ切り離し処理(ステップS15)が完了し、スライス割り当て制御部511から管理ノード400へ移行完了応答が送信される。   The secondary disconnection process shown in FIG. 14 is executed for each segment in the migration target virtual disk 60. For example, the slice allocation control unit 511 of the control node 500 determines whether or not there is an unselected segment in the virtual disk 60 when the process of step S44 is completed. If there is an unselected segment, the slice allocation control unit 511 starts the secondary disconnection process shown in FIG. 14 from step S41. If there is no unselected segment, the secondary disconnection process (step S15) shown in FIG. 11 is completed, and a migration completion response is transmitted from the slice allocation control unit 511 to the management node 400.

図15は、セカンダリ切り離し処理で更新されたメタデータの例を示す図である。図15には、セカンダリ切り離し処理後の状態が示されているディスクノード100(ディスクノードID「DP1」)のスライスID「スライス1001」のスライスのメタデータは、状態がプライマリ「P」に変更されている。また、そのメタデータには、ペアのディスクノードIDとペアのスライスIDとは、内容が削除され「NULL」に変更されている。   FIG. 15 is a diagram illustrating an example of metadata updated in the secondary detachment process. In FIG. 15, the status of the metadata of the slice with the slice ID “slice 1001” of the disk node 100 (disk node ID “DP1”) whose state after the secondary detachment processing is shown is changed to the primary “P”. ing. In the metadata, the contents of the paired disk node ID and the paired slice ID are deleted and changed to “NULL”.

ディスクノード200(ディスクノードID「DP2」)のスライスID「スライス100」のスライスのメタデータには、状態がフリー「F」に変更されている。また、そのメタデータの仮想ディスクID、仮想ディスクアドレス、ペアのディスクノードID、およびペアのスライスIDの内容は、「NULL」に変更されている。これにより、ディスクノード200(ディスクノードID「DP2」)のスライスID「スライス100」のスライスは、仮想ディスクアドレス「A1」のセグメントから切り離されたこととなる。   The status of the metadata of the slice with the slice ID “slice 100” of the disk node 200 (disk node ID “DP2”) is changed to free “F”. In addition, the contents of the virtual disk ID, virtual disk address, paired disk node ID, and paired slice ID of the metadata are changed to “NULL”. As a result, the slice with the slice ID “slice 100” of the disk node 200 (disk node ID “DP2”) is disconnected from the segment with the virtual disk address “A1”.

すべてのデータ移行処理が完了すると、移行先ディスク121内のスライスはすべてプライマリスライスとなる。
図16は、データ移行後のメタデータ用ディスク内のメタデータの例を示す図である。図16に示す用に、メタデータ用ディスク122内の各メタデータ122a,122b,・・・,122nは、状態がすべてプライマリ「P」となっている。
When all data migration processing is completed, all slices in the migration destination disk 121 become primary slices.
FIG. 16 is a diagram illustrating an example of metadata in the metadata disk after data migration. As shown in FIG. 16, the metadata 122a, 122b,..., 122n in the metadata disk 122 are all in the primary “P” state.

以上のようにして、仮想ディスク60内のデータが、移行先ディスク121に移行される。移行後は、仮想ディスク60における仮想ディスクアドレスの順に、移行先ディスク121の上位から順番のスライスにデータが移行される。データ移行後は、アクセスノード30から仮想ディスク60を指定したアクセスを停止すれば、移行先ディスク121をマルチノードストレージシステムから切り離すことができる。具体的には、移行先ディスク121を有するストレージ装置120を、ディスクノード100から切り離すことができる。そして、ストレージ装置120をSANシステムに接続することで、仮想ディスク60内のデータのシステム間の移行が完了する。   As described above, the data in the virtual disk 60 is migrated to the migration destination disk 121. After the migration, the data is migrated from the higher order of the migration destination disk 121 to the sequential slices in the order of the virtual disk addresses in the virtual disk 60. After the data migration, if the access specifying the virtual disk 60 from the access node 30 is stopped, the migration destination disk 121 can be disconnected from the multi-node storage system. Specifically, the storage apparatus 120 having the migration destination disk 121 can be disconnected from the disk node 100. Then, by connecting the storage device 120 to the SAN system, the migration of the data in the virtual disk 60 between the systems is completed.

ところで、第2の実施の形態では、仮想ディスク60内のデータの移行が完了するまで、メタデータ用ディスク122に格納されたメタデータを用いて、移行先ディスク121内のデータをマルチストレージシステムの管理下に置くことができる。そのため、例えばデータ移行中に何れかのノードに故障が発生した場合、データ移行処理を中止し、データの保守を行うことができる。   By the way, in the second embodiment, until the data migration in the virtual disk 60 is completed, the data stored in the metadata disk 122 is used to transfer the data in the migration destination disk 121 of the multi-storage system. Can be under control. Therefore, for example, when a failure occurs in any node during data migration, the data migration processing can be stopped and data maintenance can be performed.

図17は、ノード故障時の制御ノードにおける処理手順を示すフローチャートである。以下、図17に示す処理をステップ番号に沿って説明する。
[ステップS51]制御ノード500の仮想ディスク管理部510は、ディスクノードまたはストレージ装置の故障を検出する。例えば各ディスクノード100,200,300から定期的にハートビートが出力される場合、仮想ディスク管理部510は所定期間以上ハートビートが途絶えたディスクノードについて、故障したものと判定する。なお、ハートビートとは、ディスクノード自身が正常に稼動していることを制御ノード500に知らせるために、所定間隔で出力する信号である。また、ディスクノード100,200,300のデータ管理部140,230,330は、ストレージ装置の故障を検知すると、ストレージ装置が故障した旨の情報(故障通知メッセージ)を制御ノード500に送信することもできる。この場合、制御ノード500の仮想ディスク管理部510は、故障通知メッセージに基づいて、ストレージ装置の故障を認識する。
FIG. 17 is a flowchart illustrating a processing procedure in the control node when a node failure occurs. In the following, the process illustrated in FIG. 17 will be described in order of step number.
[Step S51] The virtual disk management unit 510 of the control node 500 detects a failure of a disk node or a storage device. For example, when a heartbeat is periodically output from each disk node 100, 200, 300, the virtual disk management unit 510 determines that a disk node whose heartbeat has been interrupted for a predetermined period or more has failed. The heartbeat is a signal output at a predetermined interval to notify the control node 500 that the disk node itself is operating normally. In addition, when the data management units 140, 230, and 330 of the disk nodes 100, 200, and 300 detect a failure of the storage device, the data management units 140, 230, and 330 may transmit information indicating that the storage device has failed (failure notification message) to the control node 500. it can. In this case, the virtual disk management unit 510 of the control node 500 recognizes the failure of the storage device based on the failure notification message.

[ステップS52]スライス割り当て制御部511は、データ移行処理を中止する。例えば、スライスコピー処理(図11のステップS14)やセカンダリ切り離し処理(図11のステップS15)の途中であった場合、スライス割り当て制御部511は、新たなセグメントの選択を行わずに、データ移行処理を終了する。   [Step S52] The slice allocation control unit 511 stops the data migration processing. For example, when the slice copy process (step S14 in FIG. 11) or the secondary detachment process (step S15 in FIG. 11) is in progress, the slice allocation control unit 511 performs the data migration process without selecting a new segment. Exit.

[ステップS53]スライス割り当て制御部511は、各ディスクノード100,200,300からスライス情報を取得する。例えばスライス割り当て制御部511は、各ディスクノード100,200,300に対して、メタデータ照会要求を送信する。故障せずに動作しているディスクノードのメタデータ管理部は、メタデータ照会要求に応答し、メタデータ記憶部内のメタデータを制御ノード500に送信する。スライス割り当て制御部511は、ディスクノードから送られたメタデータに基づいて、仮想ディスクメタデータ記憶部520内のメタデータを更新する。   [Step S53] The slice assignment control unit 511 acquires slice information from each of the disk nodes 100, 200, and 300. For example, the slice allocation control unit 511 transmits a metadata inquiry request to each of the disk nodes 100, 200, and 300. In response to the metadata inquiry request, the metadata management unit of the disk node operating without a failure transmits the metadata in the metadata storage unit to the control node 500. The slice allocation control unit 511 updates the metadata in the virtual disk metadata storage unit 520 based on the metadata sent from the disk node.

このとき、故障しているディスクノードからはメタデータが送られてこない。そのため、仮想ディスクメタデータ記憶部520内の更新後のメタデータに基づいて仮想ディスク60のセグメントへのスライスの割り当てを判断すると、プライマリとセカンダリとの一方しか割り当てられていないセグメントが生じ得る。   At this time, metadata is not sent from the failed disk node. For this reason, when the slice assignment to the segment of the virtual disk 60 is determined based on the updated metadata in the virtual disk metadata storage unit 520, a segment to which only one of the primary and secondary is assigned may be generated.

ストレージ装置の故障の場合、例えばディスクノードのメタデータ管理部において、故障したストレージ装置内のスライスに対応するメタデータを、制御ノード500に送信しないようにすることができる。また、制御ノード500のスライス割り当て制御部511が、故障したストレージ装置内のスライスに対応するメタデータについては、仮想ディスクメタデータ記憶部520に格納しないようにすることもできる。   In the case of a storage device failure, for example, in the metadata management unit of the disk node, metadata corresponding to the slice in the failed storage device can be prevented from being transmitted to the control node 500. Further, the slice allocation control unit 511 of the control node 500 may be configured not to store the metadata corresponding to the slice in the failed storage apparatus in the virtual disk metadata storage unit 520.

[ステップS54]スライス割り当て制御部511は、シングルプライマリ化の処理を行う。シングルプライマリ化処理とは、冗長性が損なわれたセグメントに割り当てられているスライスを、シングルプライマリの状態(状態フラグが「SP」)にする処理である。この処理の詳細は後述する(図18参照)。   [Step S54] The slice allocation control unit 511 performs single primary processing. The single primary processing is processing for setting a slice assigned to a segment whose redundancy has been lost to a single primary status (status flag is “SP”). Details of this processing will be described later (see FIG. 18).

[ステップS55]スライス割り当て制御部511は、再2重化処理を行う。再2重化処理では、冗長性が損なわれたセグメントのデータを2重化する処理である。この処理の詳細は後述する(図19参照)。   [Step S55] The slice allocation control unit 511 performs re-duplication processing. The re-duplication process is a process for duplicating the data of the segment whose redundancy is lost. Details of this processing will be described later (see FIG. 19).

このような手順で、データ移行の途中でディスクノードの故障が発生しても、冗長性が損なわれたセグメントの2重化を回復させることができる。すなわち、ディスクノード100のメタデータ管理部142は、メタデータ照会要求に応答し、移行先ディスク121内のスライスに対応するメタデータについても制御ノード500に送信する。これにより、例えばスライスコピー処理完了後、セカンダリ切り離し処理中にストレージ装置110以外のストレージ装置210,310が故障した場合でも、仮想ディスク60の2重化の復旧が可能となる。   With such a procedure, even if a disk node failure occurs during data migration, it is possible to recover the duplication of the segment whose redundancy has been lost. That is, the metadata management unit 142 of the disk node 100 responds to the metadata inquiry request and also transmits metadata corresponding to the slice in the migration destination disk 121 to the control node 500. As a result, for example, after the slice copy process is completed, even when the storage apparatuses 210 and 310 other than the storage apparatus 110 fail during the secondary detachment process, it is possible to restore the duplicated virtual disk 60.

図18は、シングルプライマリ化処理の手順を示すフローチャートである。以下、図18に示す処理をステップ番号に沿って説明する。
[ステップS61]スライス割り当て制御部511は、仮想ディスクメタデータ記憶部520内のメタデータを参照し、ステップS62において未選択の異常セグメントの有無を判断する。異常セグメントとは、プライマリスライスとセカンダリスライスとの何れか一方しか割り当てられていないセグメントである。例えばスライス割り当て制御部511は、仮想ディスク60の仮想ディスクアドレスが小さい順にセグメントを抽出する。そして、スライス割り当て制御部511は、抽出したセグメントに割り当てられたスライスを仮想ディスクメタデータ記憶部520から検索する。検索によりプライマリスライスとセカンダリスライスとの何れか一方しか見つからなければ、スライス割り当て制御部511は、抽出したセグメントを異常セグメントと判断する。
FIG. 18 is a flowchart showing the procedure of the single primary processing. In the following, the process illustrated in FIG. 18 will be described in order of step number.
[Step S61] The slice allocation control unit 511 refers to the metadata in the virtual disk metadata storage unit 520, and determines whether there is an unselected abnormal segment in step S62. An abnormal segment is a segment to which only one of a primary slice and a secondary slice is allocated. For example, the slice allocation control unit 511 extracts segments in ascending order of the virtual disk address of the virtual disk 60. Then, the slice assignment control unit 511 searches the virtual disk metadata storage unit 520 for a slice assigned to the extracted segment. If only one of the primary slice and the secondary slice is found by the search, the slice allocation control unit 511 determines that the extracted segment is an abnormal segment.

ステップS61で未選択の異常セグメントがある場合、処理がステップS62に進められる。ステップS61で未選択の異常セグメントがなければ、シングルプライマリ化の処理が終了する。   If there is an unselected abnormal segment in step S61, the process proceeds to step S62. If there is no unselected abnormal segment in step S61, the single primary processing ends.

[ステップS62]スライス割り当て制御部511は、ステップS61で検出した異常セグメントを1つ選択する。
[ステップS63]スライス割り当て制御部511は、選択した異常セグメントに割り当てられているスライスを管理しているディスクノードへ、該当スライスの状態をシングルプライマリ「SP」に変更することを指示するメタデータ変更要求を送信する。なお、選択した異常セグメントに割り当てられているスライスの状態は、プライマリスライス(状態「P」)の場合と、セカンダリスライス(状態「S」)の場合とがある。
[Step S62] The slice allocation control unit 511 selects one abnormal segment detected in step S61.
[Step S63] The slice allocation control unit 511 instructs the disk node that manages the slice allocated to the selected abnormal segment to change the status of the corresponding slice to the single primary “SP”. Send a request. Note that the state of the slice assigned to the selected abnormal segment may be the primary slice (state “P”) or the secondary slice (state “S”).

メタデータ変更要求を受信したディスクノードでは、異常セグメントに割り当てられているスライスの状態が、シングルプライマリ「SP」に変更される。スライス割り当て制御部511は、メタデータ変更要求を送信したディスクノードから変更完了応答を受信すると、処理をステップS61に進める。   In the disk node that has received the metadata change request, the state of the slice assigned to the abnormal segment is changed to the single primary “SP”. When the slice assignment control unit 511 receives a change completion response from the disk node that has transmitted the metadata change request, the slice assignment control unit 511 advances the process to step S61.

このようにして、冗長性が損なわれた異常セグメントに割り当てられているスライスの状態が、すべてシングルプライマリ「SP」に変更される。
図19は、再2重化処理の手順を示すフローチャートである。以下、図19に示す処理をステップ番号に沿って説明する。
In this way, the states of the slices assigned to the abnormal segment whose redundancy is lost are all changed to the single primary “SP”.
FIG. 19 is a flowchart showing the procedure of the re-duplication process. In the following, the process illustrated in FIG. 19 will be described in order of step number.

[ステップS71]スライス割り当て制御部511は、仮想ディスクメタデータ記憶部520内のメタデータを参照し、ステップS72において未選択の異常セグメントの有無を判断する。再2重化処理を実行時には、異常セグメントは、シングルプライマリスライスが割り当てられているセグメントである。例えばスライス割り当て制御部511は、仮想ディスク60の仮想ディスクアドレスが小さい順にセグメントを抽出する。そして、スライス割り当て制御部511は、抽出したセグメントに割り当てられたスライスを仮想ディスクメタデータ記憶部520から検索する。検索によりシングルプライマリスライスが見つかれば、スライス割り当て制御部511は、抽出したセグメントを異常セグメントと判断する。   [Step S71] The slice allocation control unit 511 refers to the metadata in the virtual disk metadata storage unit 520, and determines whether there is an unselected abnormal segment in step S72. When the re-duplication process is executed, the abnormal segment is a segment to which a single primary slice is allocated. For example, the slice allocation control unit 511 extracts segments in ascending order of the virtual disk address of the virtual disk 60. Then, the slice assignment control unit 511 searches the virtual disk metadata storage unit 520 for a slice assigned to the extracted segment. If a single primary slice is found by the search, the slice allocation control unit 511 determines that the extracted segment is an abnormal segment.

ステップS71で未選択の異常セグメントがある場合、処理がステップS72に進められる。ステップS71で未選択の異常セグメントがなければ、シングルプライマリ化の処理が終了する。   If there is an unselected abnormal segment in step S71, the process proceeds to step S72. If there is no unselected abnormal segment in step S71, the single primary processing ends.

[ステップS72]スライス割り当て制御部511は、ステップS71で検出した異常セグメントを1つ選択する。
[ステップS73]スライス割り当て制御部511は、仮想ディスクメタデータ記憶部520内のメタデータを参照し、プライマリスライスとは別のディスクノードで管理されているフリーのスライスを1つ選択する。
[Step S72] The slice allocation control unit 511 selects one abnormal segment detected in step S71.
[Step S73] The slice allocation control unit 511 refers to the metadata in the virtual disk metadata storage unit 520, and selects one free slice managed by a disk node different from the primary slice.

[ステップS74]スライス割り当て制御部511は、ステップS73で選択したスライスの状態をフリー「F」からリザーブ「R」に変更することを指示するメタデータ変更要求を、ステップS73で選択したスライスを管理するディスクノードに送信する。メタデータ変更要求では、ステップS73で選択したスライスを、ステップS72で選択したセグメントに割り当てることも示される。メタデータ変更要求を受信したディスクノードでは、メタデータ変更要求で指定されたスライスが、ステップS72で選択したセグメントに割り当てられ、状態がリザーブ「R」に変更される。   [Step S74] The slice allocation control unit 511 manages a metadata change request instructing to change the state of the slice selected in step S73 from free “F” to reserve “R”, and manages the slice selected in step S73. To the disk node The metadata change request also indicates that the slice selected in step S73 is assigned to the segment selected in step S72. In the disk node that has received the metadata change request, the slice specified in the metadata change request is assigned to the segment selected in step S72, and the state is changed to reserve “R”.

またスライス割り当て制御部511は、選択したセグメントのシングルプライマリスライスを管理するディスクノードに対して、シングルプライマリスライスからプライマリスライスへの状態の変更を指示するメタデータ変更要求を送信する。プライマリスライスへの変更を指示するメタデータ変更要求を受信したディスクノードでは、メタデータ変更要求に従ってメタデータが変更される。   In addition, the slice allocation control unit 511 transmits a metadata change request instructing change of the state from the single primary slice to the primary slice to the disk node that manages the single primary slice of the selected segment. In the disk node that has received the metadata change request instructing the change to the primary slice, the metadata is changed according to the metadata change request.

スライス割り当て制御部511は、メタデータ変更要求を送信した各ディスクノードから変更完了応答を受信すると、処理をステップS75に進める。
[ステップS75]データコピー指示部512は、ステップS72で選択したセグメントのシングルプライマリスライスを管理するディスクノードに対して、シングルプライマリスライス内のデータのコピー要求を送信する。コピー要求では、コピー先として、ステップS74でリザーブに変更したスライスが指定される。コピー要求を受信したディスクノードでは、指定されたシングルプライマリスライスのデータを、リザーブスライスを管理するディスクノードに送信する。リザーブスライスを管理するディスクノードは、シングルプライマリスライスのデータを受信し、リザーブスライスに書き込む。リザーブスライスを管理するディスクノードは、リザーブスライスへのデータの書き込みが完了すると、シングルプライマリスライスを管理するディスクノードへ書き込み完了応答を送信する。シングルプライマリスライスを管理するディスクノードは、書き込み完了応答を受信すると、制御ノード500に対してコピー完了応答を送信する。スライス割り当て制御部511は、コピー完了応答を受信すると、処理をステップS76に進める。
When the slice assignment control unit 511 receives a change completion response from each disk node that has transmitted the metadata change request, the slice assignment control unit 511 advances the process to step S75.
[Step S75] The data copy instruction unit 512 transmits a data copy request in the single primary slice to the disk node that manages the single primary slice of the segment selected in step S72. In the copy request, the slice changed to reserve in step S74 is specified as the copy destination. The disk node that has received the copy request transmits the data of the designated single primary slice to the disk node that manages the reserved slice. The disk node that manages the reserved slice receives the data of the single primary slice and writes it to the reserved slice. When the disk node that manages the reserved slice completes the writing of data to the reserved slice, the disk node transmits a write completion response to the disk node that manages the single primary slice. When the disk node that manages the single primary slice receives the write completion response, the disk node transmits a copy completion response to the control node 500. When the slice assignment control unit 511 receives the copy completion response, the slice assignment control unit 511 advances the process to step S76.

[ステップS76]スライス割り当て制御部511は、ステップS72で選択したセグメントに割り当てられたスライスを管理するディスクノードに対して、メタデータ変更要求を送信する。具体的には、スライス割り当て制御部511は、選択したセグメントのリザーブスライスを管理するディスクノードに対して、リザーブスライスからセカンダリスライスへの状態の変更を指示するメタデータ変更要求を送信する。   [Step S76] The slice assignment control unit 511 transmits a metadata change request to the disk node that manages the slice assigned to the segment selected in Step S72. Specifically, the slice allocation control unit 511 transmits a metadata change request instructing the change of the state from the reserved slice to the secondary slice to the disk node that manages the reserved slice of the selected segment.

メタデータ変更要求を受信した各ディスクノードでは、メタデータ変更要求に従ってメタデータが変更される。スライス割り当て制御部511は、メタデータ変更要求を送信したディスクノードから変更完了応答を受信すると、処理をステップS71に進める。   In each disk node that has received the metadata change request, the metadata is changed according to the metadata change request. When the slice assignment control unit 511 receives a change completion response from the disk node that has transmitted the metadata change request, the slice assignment control unit 511 advances the process to step S71.

次に、ノード故障時の処理を、具体例を用いて説明する。
まず、ステップS61における異常セグメントか否か判断内容を、具体例を用いて説明する。
Next, processing at the time of a node failure will be described using a specific example.
First, the contents of determination as to whether or not the segment is an abnormal segment in step S61 will be described using a specific example.

図20は、セグメントに割り当てられたスライスのメタデータの例を示す図である。図20には、セグメントに割り当てられたスライスのメタデータの例として、6つのパターンが示されている。なお、図20では、メタデータに含まれるペアのディスクノードIDとペアのスライスIDとの欄は省略されている。   FIG. 20 is a diagram illustrating an example of metadata of slices allocated to segments. FIG. 20 shows six patterns as examples of metadata of slices assigned to segments. In FIG. 20, the fields of the paired disk node ID and the paired slice ID included in the metadata are omitted.

第1のパターンは、判断対象のセグメントに対して、プライマリスライス、セカンダリスライス、およびブランクスライスが割り当てられている例である。この場合、スライス割り当て制御部511は、判断対象のセグメントを正常なセグメントと判定する。   The first pattern is an example in which a primary slice, a secondary slice, and a blank slice are assigned to a segment to be determined. In this case, the slice allocation control unit 511 determines that the determination target segment is a normal segment.

第2のパターンは、判断対象のセグメントに対して、プライマリスライスとセカンダリスライスとが割り当てられている例である。この場合、スライス割り当て制御部511は、判断対象のセグメントを正常なセグメントと判定する。   The second pattern is an example in which a primary slice and a secondary slice are assigned to a determination target segment. In this case, the slice allocation control unit 511 determines that the determination target segment is a normal segment.

第3のパターンは、判断対象のセグメントに対して、ブランクスライスとセカンダリスライスとが割り当てられている例である。この場合、スライス割り当て制御部511は、判断対象のセグメントを異常なセグメントと判定する。   The third pattern is an example in which a blank slice and a secondary slice are assigned to a segment to be determined. In this case, the slice allocation control unit 511 determines that the determination target segment is an abnormal segment.

第4のパターンは、判断対象のセグメントに対して、ブランクスライスとプライマリスライスとが割り当てられている例である。この場合、スライス割り当て制御部511は、判断対象のセグメントを異常なセグメントと判定する。   The fourth pattern is an example in which a blank slice and a primary slice are assigned to a segment to be determined. In this case, the slice allocation control unit 511 determines that the determination target segment is an abnormal segment.

第5のパターンは、判断対象のセグメントに対して、プライマリスライスのみが割り当てられている例である。この場合、スライス割り当て制御部511は、判断対象のセグメントを異常なセグメントと判定する。   The fifth pattern is an example in which only the primary slice is assigned to the determination target segment. In this case, the slice allocation control unit 511 determines that the determination target segment is an abnormal segment.

第6のパターンは、判断対象のセグメントに対して、セカンダリスライスのみが割り当てられている例である。この場合、スライス割り当て制御部511は、判断対象のセグメントを異常なセグメントと判定する。   The sixth pattern is an example in which only the secondary slice is assigned to the determination target segment. In this case, the slice allocation control unit 511 determines that the determination target segment is an abnormal segment.

このように図20に示した例では、第3から第6のパターンに該当するセグメントが異常と判定され、スライスのシングルプライマリへの変更が行われる。
図21は、シングルプライマリへの変更例を示す図である。図21に示すように、プライマリスライスとセカンダリスライスとが、シングルプライマリスライスに変更される。ブランクスライスについては、変更されない。
As described above, in the example shown in FIG. 20, the segment corresponding to the third to sixth patterns is determined to be abnormal, and the slice is changed to the single primary.
FIG. 21 is a diagram illustrating an example of changing to a single primary. As shown in FIG. 21, the primary slice and the secondary slice are changed to a single primary slice. Blank slices are not changed.

変更後のメタデータは、所定のタイミングでアクセスノード30に通知される。例えばアクセスノード30は、スライスへのアクセスを行いエラーが発生すると、制御ノード500に対して、該当スライスが割り当てられていたセグメントに関するメタデータ照会要求を送信する。すると、制御ノード500の仮想ディスク管理部510が、指定されたセグメントに割り当てられたスライスのメタデータを仮想ディスクメタデータ記憶部520から取得し、アクセスノード30に送信する。これにより、アクセスノード30は最新のメタデータを取得することができる。   The changed metadata is notified to the access node 30 at a predetermined timing. For example, when the access node 30 accesses the slice and an error occurs, the access node 30 transmits a metadata inquiry request regarding the segment to which the corresponding slice is assigned to the control node 500. Then, the virtual disk management unit 510 of the control node 500 acquires the metadata of the slice assigned to the designated segment from the virtual disk metadata storage unit 520 and transmits it to the access node 30. Thereby, the access node 30 can acquire the latest metadata.

アクセスノード30は、セグメント内のデータにアクセスする場合、そのセグメントに割り当てられたプライマリスライスまたはシングルプライマリスライスにアクセスする。そのため、図21に示すようにシングルプライマリ化を行うことで、アクセスノード30から異常セグメント内のデータへのアクセスが可能となる。   When accessing data in a segment, the access node 30 accesses a primary slice or a single primary slice assigned to that segment. Therefore, by performing single primary as shown in FIG. 21, the access node 30 can access data in the abnormal segment.

シングルプライマリ化が完了すると、スライス割り当て制御部511は、フリースライスを選択して、異常セグメントのリザーブスライスとする。
図22は、異常セグメントにリザーブスライス割り当て後のメタデータの例を示す図である。図22に示すように、リザーブスライスは、シングルプライマリスライスを管理しているディスクノードとは別のディスクノードが管理するスライスから選択される。この際、シングルプライマリスライスは、プライマリスライスに変更される。また、ブランクスライスについては、変更されない。
When the single primary is completed, the slice allocation control unit 511 selects a free slice and sets it as a reserved slice of an abnormal segment.
FIG. 22 is a diagram illustrating an example of metadata after a reserved slice is assigned to an abnormal segment. As shown in FIG. 22, the reserved slice is selected from slices managed by a disk node different from the disk node that manages the single primary slice. At this time, the single primary slice is changed to the primary slice. Also, blank slices are not changed.

その後、プライマリスライスからリザーブスライスへのデータのコピーが行われ、リザーブスライスがセカンダリスライスに変更される。
図23は、再2重化完了後のメタデータの例を示す図である。図23に示すように、再2重化が完了することで、異常セグメントであったセグメントには、プライマリスライスとセカンダリスライスとが割り当てられ、冗長性が確保される。
Thereafter, data is copied from the primary slice to the reserved slice, and the reserved slice is changed to the secondary slice.
FIG. 23 is a diagram illustrating an example of metadata after completion of re-duplication. As shown in FIG. 23, when the re-duplication is completed, the primary slice and the secondary slice are allocated to the segment that is an abnormal segment, and redundancy is ensured.

以上説明したように、マルチノードストレージシステムにおけるストレージ装置に分散配置されているデータを、各データを管理するディスクノードから移行先ディスク121にコピーするようにしたため、データ移行処理の負荷が1つのノードに集中せずにすむ。その結果、マルチノードストレージシステムの運用を安定的に継続しながら、仮想ディスク60内のデータの他のシステムで利用するストレージ装置120への移行を実行できる。   As described above, since the data distributed in the storage device in the multi-node storage system is copied from the disk node that manages each data to the migration destination disk 121, the load of data migration processing is one node. You don't have to concentrate on it. As a result, while the operation of the multi-node storage system is stably continued, the data in the virtual disk 60 can be migrated to the storage device 120 used in another system.

しかも、SANなどのマルチノードストレージシステム以外のシステムに接続して使用する予定のストレージ装置120にデータを安全に移行することができる。すなわち、データ移行が完了するまではストレージ装置120内のデータを制御ノード500の管理下に置き、マルチノードストレージシステムによる高い信頼性を確保することができる。例えば、移行先ディスク121とは別にメタデータ用ディスク122を設けたことで、データ移行が完了するまでは、移行先ディスク121もマルチストレージシステム管理下の1つのストレージ装置として扱うことができる。そのため、データ移行中に障害などが発生しても、メタデータ用ディスク122内のメタデータを利用して、適切な復旧処理が可能となる。   In addition, data can be safely migrated to the storage apparatus 120 that is scheduled to be connected to a system other than a multi-node storage system such as SAN. That is, until the data migration is completed, the data in the storage apparatus 120 can be placed under the control of the control node 500, and high reliability by the multi-node storage system can be secured. For example, by providing the metadata disk 122 separately from the migration destination disk 121, the migration destination disk 121 can be handled as one storage device under the management of the multi-storage system until the data migration is completed. Therefore, even if a failure or the like occurs during data migration, an appropriate recovery process can be performed using the metadata in the metadata disk 122.

さらに、セカンダリスライスのデータを、移行先ディスク121にコピーするようにしたことで、アクセスノード30からプライマリスライスへのアクセスに影響を与えずに、データコピーを行うことができる。   Furthermore, by copying the data of the secondary slice to the migration destination disk 121, data copy can be performed without affecting the access from the access node 30 to the primary slice.

〔第3の実施の形態〕
次に第3の実施の形態について説明する。第3の実施の形態は、移行先ディスクに対して複数のディスクノードからアクセス可能としたものである。これにより、複数のディスクノードから並行して移行先ディスクにデータをコピーすることができ、データ移行に要する時間を短縮することができる。
[Third Embodiment]
Next, a third embodiment will be described. In the third embodiment, the migration destination disk can be accessed from a plurality of disk nodes. As a result, data can be copied from a plurality of disk nodes to the migration destination disk in parallel, and the time required for data migration can be shortened.

図24は、第3の実施の形態のマルチノードストレージシステムの構成例を示す図である。図24において、図2に示した第2の実施の形態の構成における要素と同じ要素には同じ符号を付し、説明を省略する。   FIG. 24 is a diagram illustrating a configuration example of a multi-node storage system according to the third embodiment. In FIG. 24, the same elements as those in the configuration of the second embodiment shown in FIG.

第3の実施の形態では、スイッチ10を介して、複数のディスクノード100a,200a,300a,制御ノード500a、アクセスノード30、管理ノード400a、およびストレージ装置600が接続されている。ストレージ装置600は、例えばiSCSI(Internet Small Computer System Interface)によってスイッチ10に接続されている。   In the third embodiment, a plurality of disk nodes 100a, 200a, and 300a, a control node 500a, an access node 30, a management node 400a, and a storage device 600 are connected via the switch 10. The storage device 600 is connected to the switch 10 by, for example, iSCSI (Internet Small Computer System Interface).

ディスクノード100aには、ストレージ装置110が接続されている。ディスクノード200aには、ストレージ装置210が接続されている。ディスクノード300aには、ストレージ装置310が接続されている。   A storage device 110 is connected to the disk node 100a. A storage device 210 is connected to the disk node 200a. A storage device 310 is connected to the disk node 300a.

ストレージ装置600には、複数のHDD601,602,603,604が実装されている。ストレージ装置600は、内蔵するHDDを用いたRAIDシステムである。
ディスクノード100a,200a,300aは、接続されたストレージ装置110,210,310に格納されたデータを管理し、管理しているデータをスイッチ10経由で端末装置21,22,23に提供する。またディスクノード100a,200a,300aは、ストレージ装置600を論理的に接続することができる。論理的に接続するとは、ストレージ装置600に対して、直接接続されたストレージ装置と同様にアクセス可能とすることである。
A plurality of HDDs 601, 602, 603, and 604 are mounted on the storage apparatus 600. The storage device 600 is a RAID system using a built-in HDD.
The disk nodes 100a, 200a, and 300a manage data stored in the connected storage apparatuses 110, 210, and 310, and provide the managed data to the terminal apparatuses 21, 22, and 23 via the switch 10. The disk nodes 100a, 200a, and 300a can logically connect the storage apparatus 600. The logical connection means that the storage apparatus 600 can be accessed in the same manner as a directly connected storage apparatus.

制御ノード500aは、ディスクノード100a,200a,300aを管理する。例えば、制御ノード500aは、ディスクノード100a,200a,300aから新たなストレージ装置の接続通知を受け取ると、仮想ディスク60を介して、接続されたストレージ装置に格納されていたデータにアクセスできるようにする。   The control node 500a manages the disk nodes 100a, 200a, and 300a. For example, when the control node 500a receives a new storage device connection notification from the disk nodes 100a, 200a, and 300a, the control node 500a can access the data stored in the connected storage device via the virtual disk 60. .

なお、ディスクノード100a,200a,300aと制御ノード500aとは、図3に示したディスクノード100と同様のハードウェア構成で実現できる。
図25は、第3の実施の形態に係るマルチノードストレージシステムの各装置の機能を示すブロック図である。
The disk nodes 100a, 200a, 300a and the control node 500a can be realized with the same hardware configuration as the disk node 100 shown in FIG.
FIG. 25 is a block diagram illustrating functions of each device of the multi-node storage system according to the third embodiment.

制御ノード500aは、仮想ディスク管理部510aと仮想ディスクメタデータ記憶部520aとを有している。
仮想ディスク管理部510aは、ディスクノード100a,200a,300aが有するストレージ装置110,210,310,600内のスライスを管理する。例えば、仮想ディスク管理部510aは、システム起動時に、ディスクノード100a,200a,300aに対してメタデータ取得要求を送信する。そして、仮想ディスク管理部510aは、メタデータ取得要求に対して返信されたメタデータから仮想ディスクメタデータを生成し、仮想ディスクメタデータ記憶部520aに格納する。
The control node 500a includes a virtual disk management unit 510a and a virtual disk metadata storage unit 520a.
The virtual disk management unit 510a manages slices in the storage apparatuses 110, 210, 310, and 600 included in the disk nodes 100a, 200a, and 300a. For example, the virtual disk management unit 510a transmits a metadata acquisition request to the disk nodes 100a, 200a, and 300a when the system is started. Then, the virtual disk management unit 510a generates virtual disk metadata from the metadata returned in response to the metadata acquisition request, and stores the virtual disk metadata in the virtual disk metadata storage unit 520a.

また仮想ディスク管理部510aは、管理ノード400aから仮想ディスク内のデータの移行指示を受け取ると、指定された仮想ディスク内のデータの指定されたストレージ装置へのコピーを、その仮想ディスクのデータを管理するディスクノードに指示する。仮想ディスク管理部510aは、移行指示に応じたデータのコピーが完了すると、管理ノード400aに対して移行完了応答を送信する。   When the virtual disk management unit 510a receives an instruction to migrate data in the virtual disk from the management node 400a, the virtual disk management unit 510a manages the copy of the data in the specified virtual disk to the specified storage device and manages the data in the virtual disk. Instruct the disk node to perform. When the data copy according to the migration instruction is completed, the virtual disk management unit 510a transmits a migration completion response to the management node 400a.

仮想ディスクメタデータ記憶部520aは、ディスクノード100a,200a,300aから収集されたメタデータに基づいて生成された仮想ディスクメタデータを記憶する。例えば、制御ノード500a内のRAMの記憶領域の一部が仮想ディスクメタデータ記憶部520aとして使用される。   The virtual disk metadata storage unit 520a stores virtual disk metadata generated based on the metadata collected from the disk nodes 100a, 200a, and 300a. For example, a part of the RAM storage area in the control node 500a is used as the virtual disk metadata storage unit 520a.

ディスクノード100aは、データアクセス部130a、データ管理部140a、およびメタデータ記憶部150aを有している。
データアクセス部130aは、アクセスノード30からの要求に応答して、ストレージ装置110内のデータにアクセスする。データ管理部140aは、スイッチ10にストレージ装置600が物理接続された場合に、ストレージ装置600をマルチストレージシステム内の一ストレージ装置として論理的に接続する。すなわちデータ管理部140aは、ストレージ装置600を、ディスクノード100a経由で制御ノード500aから認識できるようにする。
The disk node 100a includes a data access unit 130a, a data management unit 140a, and a metadata storage unit 150a.
The data access unit 130a accesses data in the storage device 110 in response to a request from the access node 30. When the storage apparatus 600 is physically connected to the switch 10, the data management unit 140a logically connects the storage apparatus 600 as one storage apparatus in the multi-storage system. That is, the data management unit 140a enables the storage device 600 to be recognized from the control node 500a via the disk node 100a.

またデータ管理部140aは、データアクセス部130aによってライト要求に基づくデータの書き込みが行われた場合、データが書き込まれたスライス(プライマリスライス)に対応するセカンダリスライス内のデータを更新する。すなわち、データ管理部140aは、更新されたデータを、セカンダリスライスを管理するディスクノードに送信する。そのデータを受け取ったディスクノードのデータ管理部は、セカンダリスライスにそのデータを書き込む。これにより、2重化されたデータの一貫性が保たれる。   In addition, when data is written based on the write request by the data access unit 130a, the data management unit 140a updates the data in the secondary slice corresponding to the slice (primary slice) in which the data is written. That is, the data management unit 140a transmits the updated data to the disk node that manages the secondary slice. The data management unit of the disk node that has received the data writes the data to the secondary slice. Thereby, the consistency of the duplicated data is maintained.

さらに、データ管理部140aは、仮想ディスク管理部510aからのメタデータ取得要求に応答して、メタデータ記憶部150aに記憶されたメタデータを仮想ディスク管理部510aに対して送信する。   Furthermore, the data management unit 140a transmits the metadata stored in the metadata storage unit 150a to the virtual disk management unit 510a in response to the metadata acquisition request from the virtual disk management unit 510a.

メタデータ記憶部150aは、メタデータを記憶する。例えば、RAM内の記憶領域の一部がメタデータ記憶部150aとして使用される。なお、メタデータ記憶部150aに格納されるメタデータは、システム停止時にはストレージ装置110内に格納され、システム起動時にメタデータ記憶部150aに読み込まれる。   The metadata storage unit 150a stores metadata. For example, a part of the storage area in the RAM is used as the metadata storage unit 150a. The metadata stored in the metadata storage unit 150a is stored in the storage device 110 when the system is stopped, and is read into the metadata storage unit 150a when the system is started.

他のディスクノード200a,300aは、ディスクノード100aと同様の機能を有している。すなわち、ディスクノード200aは、データアクセス部220a、データ管理部230a、およびメタデータ記憶部240aを有している。ディスクノード300aは、データアクセス部320a、データ管理部330a、およびメタデータ記憶部340aを有している。ディスクノード200a,300a内の各要素は、ディスクノード100a内の同名の要素と同じ機能を有している。   The other disk nodes 200a and 300a have the same function as the disk node 100a. That is, the disk node 200a has a data access unit 220a, a data management unit 230a, and a metadata storage unit 240a. The disk node 300a includes a data access unit 320a, a data management unit 330a, and a metadata storage unit 340a. Each element in the disk nodes 200a and 300a has the same function as the element of the same name in the disk node 100a.

管理ノード400aは、管理者からの操作入力に応答して、マルチストレージシステムの管理用の指示を、各ノードに送信する。例えば、管理者は、ストレージ装置600とスイッチ10とをケーブルで接続(物理接続)した場合、管理ノード400aに対してストレージ装置600の論理的な接続を指示する操作入力を行う。すると管理ノード400aは、管理者からの操作入力に応答して各ディスクノード100a,200a,300aに対して、新たに物理接続されたストレージ装置600の接続指示を送信する。その接続指示に基づいてディスクノード100a,200a,300aがストレージ装置600内にメタデータの格納などの処理を行い、ストレージ装置600を制御ノード500aにおいて認識可能とする。接続指示に応じた処理が完了すると、ディスクノード100a,200a,300aから管理ノード400aへ接続完了応答が返される。   In response to an operation input from the administrator, the management node 400a transmits an instruction for managing the multi-storage system to each node. For example, when the storage apparatus 600 and the switch 10 are connected with a cable (physical connection), the administrator performs an operation input for instructing the logical connection of the storage apparatus 600 to the management node 400a. Then, in response to an operation input from the administrator, the management node 400a transmits a connection instruction for the newly physically connected storage apparatus 600 to each of the disk nodes 100a, 200a, and 300a. Based on the connection instruction, the disk nodes 100a, 200a, and 300a perform processing such as storing metadata in the storage apparatus 600 so that the storage node 600 can be recognized by the control node 500a. When the processing according to the connection instruction is completed, a connection completion response is returned from the disk nodes 100a, 200a, 300a to the management node 400a.

図25の例は、仮想ディスク60のデータをストレージ装置600に移行する場合を想定している。この場合、ストレージ装置600には、制御ノード500aによって、移行先ディスク611と複数のメタデータ用ディスク612〜614とが設けられる。なお、移行先ディスク611とメタデータ用ディスク612〜614とは、それぞれストレージ装置600内のHDDで構成されるRAID構成のディスクグループを複数分割することで得られる仮想的なディスクである。移行先ディスク611とメタデータ用ディスク612〜614として使用される仮想的なディスクは、図4に示したマルチノードストレージシステムにおける仮想ディスク60とは異なり、1つのストレージ装置600内のHDDにより実現されている。移行先ディスク611とメタデータ用ディスク612〜614とには、論理ユニット番号(LUN)などの識別子が割り振られ、識別子によってディスクノード100a,200a,300aで識別される。図25の例では、移行先ディスク611には、識別子「LU」のディスクが使用されている。メタデータ用ディスク612には、識別子「LU1」のディスクが使用されている。メタデータ用ディスク613には、識別子「LU2」のディスクが使用されている。メタデータ用ディスク614には、識別子「LU3」のディスクが使用されている。   In the example of FIG. 25, it is assumed that data of the virtual disk 60 is migrated to the storage apparatus 600. In this case, the storage device 600 is provided with a migration destination disk 611 and a plurality of metadata disks 612 to 614 by the control node 500a. Note that the migration destination disk 611 and the metadata disks 612 to 614 are virtual disks obtained by dividing a plurality of RAID-configured disk groups each composed of HDDs in the storage apparatus 600. Unlike the virtual disk 60 in the multi-node storage system shown in FIG. 4, the virtual disks used as the migration destination disk 611 and the metadata disks 612 to 614 are realized by HDDs in one storage device 600. ing. An identifier such as a logical unit number (LUN) is assigned to the migration destination disk 611 and the metadata disks 612 to 614, and is identified by the disk nodes 100a, 200a, and 300a by the identifier. In the example of FIG. 25, a disk with the identifier “LU” is used as the migration destination disk 611. As the metadata disk 612, a disk with the identifier “LU1” is used. As the metadata disk 613, a disk with the identifier “LU2” is used. As the metadata disk 614, a disk with the identifier “LU3” is used.

3つのメタデータ用ディスク612〜614は、それぞれディスクノード100a,200a,300aに対応する。各ディスクノード100a,200a,300aは、対応するメタデータ用ディスクに、移行先ディスク611内の自己の管理するスライスのメタデータを格納する。   The three metadata disks 612 to 614 correspond to the disk nodes 100a, 200a, and 300a, respectively. Each of the disk nodes 100a, 200a, and 300a stores the metadata of the slice managed by itself in the migration destination disk 611 in the corresponding metadata disk.

次に、仮想ディスク60からストレージ装置600へのデータ移行の実施に利用される各ノードの機能について、詳細に説明する。
図26は、データ移行に利用される各ノードの機能を示す図である。制御ノード500aの仮想ディスク管理部510aは、仮想ディスクのデータ移行のために、スライス割り当て制御部511aおよびデータコピー指示部512aを有する。
Next, the function of each node used for performing data migration from the virtual disk 60 to the storage apparatus 600 will be described in detail.
FIG. 26 is a diagram illustrating the function of each node used for data migration. The virtual disk management unit 510a of the control node 500a has a slice allocation control unit 511a and a data copy instruction unit 512a for data migration of the virtual disk.

スライス割り当て制御部511aは、システム起動時などに、各ディスクノード100a,200a,300aに対してメタデータ照会要求を送信する。するとディスクノード100a,200a,300aからメタデータが応答される。またスライス割り当て制御部511aは、データコピー対象のスライスを選択し、該当スライスを管理しているディスクノードに対して、コピーの進行状況に応じてメタデータの更新を指示する。データコピー指示部512aは、データコピーのコピー元となるスライスを管理するディスクノードに対して、移行先ディスク611aへの該当スライス内のデータの送信を指示する。   The slice allocation control unit 511a transmits a metadata inquiry request to each of the disk nodes 100a, 200a, and 300a when the system is activated. Then, metadata is returned from the disk nodes 100a, 200a, and 300a. The slice allocation control unit 511a selects a slice to be copied, and instructs the disk node that manages the slice to update metadata according to the progress of copying. The data copy instruction unit 512a instructs the disk node that manages the copy source slice of the data copy to transmit the data in the corresponding slice to the migration destination disk 611a.

ディスクノード100aのデータ管理部140aは、移行先ストレージ接続部141a、メタデータ管理部142a、およびデータコピー部143aを有する。
移行先ストレージ接続部141aは、スイッチ10に接続されたストレージ装置600の存在を制御ノード500aに認識させる。例えば、移行先ストレージ接続部141aは、管理ノード400aからの接続指示を受けると、スイッチ10を介して接続されているストレージ装置の探索を行い、未認識のストレージ装置600を検出する。移行先ストレージ接続部141aは、検出したストレージ装置600をOSに認識させる。さらに移行先ストレージ接続部141aは、検出したストレージ装置600内の1つの仮想的なディスクを移行先ディスク611とし、他の1つの仮想的なディスクを、自己の管理するメタデータ用ディスク612とする。そして移行先ストレージ接続部141aは、メタデータ用ディスク612に、移行先ディスク611内の記憶領域を分割して得られるスライスのうち、ディスクノード100aが管理するスライスのメタデータを格納する。その後、移行先ストレージ接続部141aは、接続完了応答を管理ノード400aに送信する。
The data management unit 140a of the disk node 100a includes a migration destination storage connection unit 141a, a metadata management unit 142a, and a data copy unit 143a.
The migration destination storage connection unit 141a makes the control node 500a recognize the presence of the storage device 600 connected to the switch 10. For example, upon receiving a connection instruction from the management node 400a, the migration destination storage connection unit 141a searches for a storage device connected via the switch 10 and detects an unrecognized storage device 600. The migration destination storage connection unit 141a makes the OS recognize the detected storage device 600. Further, the migration destination storage connection unit 141a designates one detected virtual disk in the storage apparatus 600 as the migration destination disk 611 and the other one virtual disk as the metadata disk 612 managed by itself. . Then, the migration destination storage connection unit 141a stores, in the metadata disk 612, metadata of slices managed by the disk node 100a among slices obtained by dividing the storage area in the migration destination disk 611. Thereafter, the migration destination storage connection unit 141a transmits a connection completion response to the management node 400a.

メタデータ管理部142aは、制御ノード500aからのメタデータ照会要求に応答して、メタデータ記憶部150a内のメタデータを制御ノード500aに送信する。また、メタデータ管理部142aは、制御ノード500aからの指示に従って、メタデータを更新する。   In response to the metadata inquiry request from the control node 500a, the metadata management unit 142a transmits the metadata in the metadata storage unit 150a to the control node 500a. Further, the metadata management unit 142a updates the metadata in accordance with an instruction from the control node 500a.

データコピー部143aは、制御ノード500aからの指示に従って、仮想ディスク60のセグメントに割り当てられたスライス内のデータを、移行先ディスク611内のスライスにコピーする。また、データコピー部143aは、他のディスクノード200a,300aから、移行先ディスク611内のスライスをコピー先としてデータを受信すると、受信したデータを、コピー先として指定されたスライスに格納する。   The data copy unit 143a copies the data in the slice assigned to the segment of the virtual disk 60 to the slice in the migration destination disk 611 according to the instruction from the control node 500a. When the data copy unit 143a receives data from the other disk nodes 200a and 300a using the slice in the migration destination disk 611 as a copy destination, the data copy unit 143a stores the received data in the slice designated as the copy destination.

ディスクノード200aのデータ管理部230aは、移行先ストレージ接続部231a、メタデータ管理部232a、およびデータコピー部233aを有する。移行先ストレージ接続部231a、メタデータ管理部232a、およびデータコピー部233aの機能は、それぞれディスクノード100aの移行先ストレージ接続部141a、メタデータ管理部142a、およびデータコピー部143aと同じである。ただし、移行先ストレージ接続部231aは、管理ノード400aから接続指示を受けた場合、管理するメタデータ用ディスク612とは別の仮想的なディスクを、自己の管理するメタデータ用ディスク613とする。   The data management unit 230a of the disk node 200a includes a migration destination storage connection unit 231a, a metadata management unit 232a, and a data copy unit 233a. The functions of the migration destination storage connection unit 231a, metadata management unit 232a, and data copy unit 233a are the same as those of the migration destination storage connection unit 141a, metadata management unit 142a, and data copy unit 143a of the disk node 100a, respectively. However, when receiving a connection instruction from the management node 400a, the migration destination storage connection unit 231a sets a virtual disk different from the metadata disk 612 to be managed as the metadata disk 613 managed by itself.

ディスクノード300aのデータ管理部330aは、移行先ストレージ接続部331a、メタデータ管理部332a、およびデータコピー部333aを有する。移行先ストレージ接続部331a、メタデータ管理部332a、およびデータコピー部333aの機能は、それぞれディスクノード100aの移行先ストレージ接続部141a、メタデータ管理部142a、およびデータコピー部143aと同じである。ただし、移行先ストレージ接続部331aは、管理ノード400aから接続指示を受けた場合、管理するメタデータ用ディスク612,613とは別の仮想的なディスクを、自己の管理するメタデータ用ディスク614とする。   The data management unit 330a of the disk node 300a includes a migration destination storage connection unit 331a, a metadata management unit 332a, and a data copy unit 333a. The functions of the migration destination storage connection unit 331a, metadata management unit 332a, and data copy unit 333a are the same as those of the migration destination storage connection unit 141a, metadata management unit 142a, and data copy unit 143a of the disk node 100a, respectively. However, when the migration destination storage connection unit 331a receives a connection instruction from the management node 400a, the migration destination storage connection unit 331a uses a virtual disk different from the metadata disks 612 and 613 to be managed as the metadata disk 614 that it manages. To do.

次に、データ移行処理の手順について説明する。
図27は、第3の実施の形態におけるデータ移行処理の手順を示すシーケンス図である。以下、図27に示す処理を、ステップ番号に沿って説明する。
Next, a procedure for data migration processing will be described.
FIG. 27 is a sequence diagram illustrating a procedure of data migration processing according to the third embodiment. In the following, the process illustrated in FIG. 27 will be described in order of step number.

[ステップS81]管理ノード400aからディスクノード100a,200a,300aに接続指示が出される。例えば、管理者は管理ノード400aに対して、データの移行を指示する。管理ノード400aは、指定されたディスクノード100a,200a,300aに対して、仮想ディスク60の仮想ディスクID、仮想ディスク60のセグメント数を指定した接続指示を送信する。第3の実施の形態では、接続指示に、各ディスクノード100a,200a,300aが管理を担当する仮想ディスク60内の領域を示す担当領域情報が含まれる。   [Step S81] A connection instruction is issued from the management node 400a to the disk nodes 100a, 200a, and 300a. For example, the administrator instructs the management node 400a to transfer data. The management node 400a transmits a connection instruction specifying the virtual disk ID of the virtual disk 60 and the number of segments of the virtual disk 60 to the specified disk nodes 100a, 200a, and 300a. In the third embodiment, the connection instruction includes assigned area information indicating an area in the virtual disk 60 managed by each of the disk nodes 100a, 200a, and 300a.

また管理ノード400aは、例えば、移行先ディスク611、仮想ディスク、メタデータ用ディスク612〜614とするストレージ装置600内の仮想ディスクの識別番号(例えば、RAIDのLUN)を接続指示に含めることができる。これにより、各ディスクノード100a,200a,300aは、移行先ディスク611と、自己の管理するメタデータを格納するメタデータ用ディスク612〜614とを認識できる。   Further, the management node 400a can include, for example, the identification number (for example, RAID LUN) of the virtual disk in the storage apparatus 600 as the migration destination disk 611, virtual disk, and metadata disks 612 to 614 in the connection instruction. . As a result, each of the disk nodes 100a, 200a, and 300a can recognize the migration destination disk 611 and the metadata disks 612 to 614 that store the metadata managed by the disk nodes 100a, 200a, and 300a.

ディスクノード100aは、管理ノード400aからの接続指示に応答して、データ移行先となるストレージ装置600をマルチノードストレージシステムの配下のストレージ装置として接続する。例えば、ディスクノード100aの移行先ストレージ接続部141aは、スイッチ10を介して接続されている未認識のストレージ装置を検索することで、ストレージ装置600を認識する。そして移行先ストレージ接続部141aは、ストレージ装置600内の1つの仮想的なディスクを移行先ディスク611、他の1つのディスクをメタデータ用ディスク612として、ディスクノード100aのOSに認識させる。この時点では、移行先ディスク611とメタデータ用ディスク612との内容はブランクである。その後、移行先ストレージ接続部141aは、メタデータ用ディスク612にメタデータを格納する。なお、移行先ディスク611については、接続時には書き込みは行われない。   In response to the connection instruction from the management node 400a, the disk node 100a connects the storage device 600 as the data migration destination as a storage device under the multi-node storage system. For example, the migration destination storage connection unit 141a of the disk node 100a recognizes the storage device 600 by searching for an unrecognized storage device connected via the switch 10. Then, the migration destination storage connection unit 141a causes the OS of the disk node 100a to recognize one virtual disk in the storage apparatus 600 as the migration destination disk 611 and the other one as the metadata disk 612. At this time, the contents of the migration destination disk 611 and the metadata disk 612 are blank. Thereafter, the migration destination storage connection unit 141 a stores the metadata in the metadata disk 612. The migration destination disk 611 is not written when connected.

メタデータ用ディスク612へ格納するメタデータの内容は、管理ノード400aからの指示に従って行われる。例えば、管理ノード400aからの接続指示において、データの移行を行う仮想ディスク60の仮想ディスクIDと、仮想ディスク60内の担当領域が指定される。担当領域は、ディスクノード100aが管理を担当するセグメントである。移行先ストレージ接続部141aは、仮想ディスク60の担当するセグメントに割り当てるスライスに対応するメタデータを作成し、そのメタデータの仮想ディスクIDの欄には、仮想ディスク60の仮想ディスクIDを設定する。そして移行先ストレージ接続部141aは、作成したメタデータと、メタデータの格納形式を示すデバイス情報とを、メタデータ用ディスク612に格納する。この際、移行先ストレージ接続部141aは、メタデータ用ディスク612に格納したメタデータを、メタデータ記憶部150aにも格納する。その後、移行先ストレージ接続部141aは、管理ノード400aに対して接続完了応答を送信する。   The content of the metadata stored in the metadata disk 612 is performed in accordance with an instruction from the management node 400a. For example, in the connection instruction from the management node 400a, the virtual disk ID of the virtual disk 60 to which data is migrated and the assigned area in the virtual disk 60 are specified. The assigned area is a segment in which the disk node 100a is in charge of management. The migration destination storage connection unit 141a creates metadata corresponding to the slice to be assigned to the segment in charge of the virtual disk 60, and sets the virtual disk ID of the virtual disk 60 in the virtual disk ID column of the metadata. Then, the migration destination storage connection unit 141 a stores the created metadata and device information indicating the storage format of the metadata in the metadata disk 612. At this time, the migration destination storage connection unit 141a also stores the metadata stored in the metadata disk 612 in the metadata storage unit 150a. Thereafter, the migration destination storage connection unit 141a transmits a connection completion response to the management node 400a.

[ステップS82]ディスクノード200aの移行先ストレージ接続部231aは、ディスクノード100aと同様に、管理ノード400aからの接続指示に従って、移行先ディスク611とメタデータ用ディスク613を認識する。そして移行先ストレージ接続部231aは、メタデータ用ディスク613内に、ディスクノード200aが管理を担当するセグメントに割り当てるスライスに対応するメタデータを作成し、メタデータ用ディスク613に格納する。その後、移行先ストレージ接続部231aは、管理ノード400aに接続完了応答を送信する。   [Step S82] As with the disk node 100a, the migration destination storage connection unit 231a of the disk node 200a recognizes the migration destination disk 611 and the metadata disk 613 according to the connection instruction from the management node 400a. Then, the migration destination storage connection unit 231a creates metadata corresponding to the slice assigned to the segment that the disk node 200a is in charge of in the metadata disk 613, and stores it in the metadata disk 613. Thereafter, the migration destination storage connection unit 231a transmits a connection completion response to the management node 400a.

[ステップS83]ディスクノード300aの移行先ストレージ接続部331aは、ディスクノード100aと同様に、管理ノード400aからの接続指示に従って、移行先ディスク611とメタデータ用ディスク614を認識する。そして移行先ストレージ接続部331aは、メタデータ用ディスク614内に、ディスクノード300aが管理を担当するセグメントに割り当てるスライスに対応するメタデータを作成し、メタデータ用ディスク614に格納する。その後、移行先ストレージ接続部331aは、管理ノード400aに接続完了応答を送信する。   [Step S83] Similarly to the disk node 100a, the migration destination storage connection unit 331a of the disk node 300a recognizes the migration destination disk 611 and the metadata disk 614 according to the connection instruction from the management node 400a. Then, the migration destination storage connection unit 331a creates metadata corresponding to the slice assigned to the segment managed by the disk node 300a in the metadata disk 614, and stores it in the metadata disk 614. Thereafter, the migration destination storage connection unit 331a transmits a connection completion response to the management node 400a.

[ステップS84]管理ノード400aから制御ノード500aに移行指示が出される。例えば、移行指示には、データの移行先となるストレージ装置600を接続したディスクノード100a,200a,300aのディスクノードIDが指定されている。制御ノード500aのスライス割り当て制御部511aは、移行指示で指定されたディスクノード100a,200a,300aに対して、メタデータ照会要求を送信する。   [Step S84] A transition instruction is issued from the management node 400a to the control node 500a. For example, in the migration instruction, the disk node IDs of the disk nodes 100a, 200a, and 300a connected to the storage apparatus 600 that is the data migration destination are specified. The slice allocation control unit 511a of the control node 500a transmits a metadata inquiry request to the disk nodes 100a, 200a, and 300a specified by the migration instruction.

[ステップS85]メタデータ照会要求を受け取ったディスクノード100aでは、メタデータ管理部142aがメタデータ記憶部150aからメタデータを取得し、制御ノード500aに送信する。なお、メタデータ管理部142aは、メタデータ記憶部150aからストレージ装置600内のスライスのメタデータのみを取得し、取得したメタデータを制御ノード500aに送信してもよい。   [Step S85] In the disk node 100a that has received the metadata inquiry request, the metadata management unit 142a acquires the metadata from the metadata storage unit 150a and transmits it to the control node 500a. Note that the metadata management unit 142a may acquire only the metadata of the slice in the storage device 600 from the metadata storage unit 150a, and may transmit the acquired metadata to the control node 500a.

[ステップS86]メタデータ照会要求を受け取ったディスクノード200aでは、メタデータ管理部232aがメタデータ記憶部240aからメタデータを取得し、制御ノード500aに送信する。なお、メタデータ管理部232aは、メタデータ記憶部240aからストレージ装置600内のスライスのメタデータのみを取得し、取得したメタデータを制御ノード500aに送信してもよい。   [Step S86] In the disk node 200a that has received the metadata inquiry request, the metadata management unit 232a acquires the metadata from the metadata storage unit 240a and transmits it to the control node 500a. Note that the metadata management unit 232a may acquire only the metadata of the slice in the storage apparatus 600 from the metadata storage unit 240a and transmit the acquired metadata to the control node 500a.

[ステップS87]メタデータ照会要求を受け取ったディスクノード300aでは、メタデータ管理部332aがメタデータ記憶部340aからメタデータを取得し、制御ノード500aに送信する。なお、メタデータ管理部332aは、メタデータ記憶部340aからストレージ装置600内のスライスのメタデータのみを取得し、取得したメタデータを制御ノード500aに送信してもよい。   [Step S87] In the disk node 300a that has received the metadata inquiry request, the metadata management unit 332a acquires the metadata from the metadata storage unit 340a and transmits it to the control node 500a. Note that the metadata management unit 332a may acquire only the metadata of the slice in the storage device 600 from the metadata storage unit 340a and transmit the acquired metadata to the control node 500a.

[ステップS88]メタデータを受信した制御ノード500aのスライス割り当て制御部511aは、受信したメタデータにより仮想ディスクメタデータ記憶部520a内のメタデータを更新する。そして、データコピー指示部512aの制御の下、ディスクノード100a,200a,300aによるスライス内のデータの移行先ディスク611へのコピー処理が行われる。   [Step S88] The slice allocation control unit 511a of the control node 500a that has received the metadata updates the metadata in the virtual disk metadata storage unit 520a with the received metadata. Then, under the control of the data copy instruction unit 512a, the disk nodes 100a, 200a, and 300a perform processing of copying data in the slice to the migration destination disk 611.

[ステップS89]データのコピーが完了すると、制御ノード500aのスライス割り当て制御部511aの制御の下、仮想ディスク60のセグメントに対するセカンダリスライスの切り離し(割り当て解除)処理が行われる。スライス割り当て制御部511aは、セカンダリスライスの切り離し処理が完了すると、移行完了応答を管理ノード400aに送信する。   [Step S89] When the data copy is completed, a secondary slice detachment (allocation) process for the segment of the virtual disk 60 is performed under the control of the slice allocation control unit 511a of the control node 500a. When the secondary slice detachment process is completed, the slice allocation control unit 511a transmits a migration completion response to the management node 400a.

このような手順で、仮想ディスク60内のデータが移行先ディスク611に移行される。
第3の実施の形態における第2の実施の形態との相違点として、複数のディスクノード100a,200a,300aで分担して移行先ディスク611を管理することがある。各ディスクノード100a,200a,300aには、接続指示の際に、それぞれが担当する仮想ディスク60内のセグメントが通知される。各ディスクノード100a,200a,300aは、担当するセグメントに対応する移行先ディスク611内のスライスを管理する。
With this procedure, data in the virtual disk 60 is migrated to the migration destination disk 611.
A difference between the third embodiment and the second embodiment is that the plurality of disk nodes 100a, 200a, 300a share the management of the migration destination disk 611. Each disk node 100a, 200a, 300a is notified of the segment in the virtual disk 60 that it is in charge of when connecting. Each disk node 100a, 200a, 300a manages a slice in the migration destination disk 611 corresponding to the segment in charge.

図28は、ディスクノードへの担当領域の通知例を示す図である。例えば、管理ノード400aは、担当領域情報71,72,73を含む接続指示を、ディスクノード100a,200a,300aに送信する。   FIG. 28 is a diagram showing a notification example of the assigned area to the disk node. For example, the management node 400a transmits a connection instruction including the assigned area information 71, 72, 73 to the disk nodes 100a, 200a, 300a.

担当領域情報71,72,73には、移行先ディスクID、メタデータ用ディスクID、仮想ディスクID、仮想ディスク開始アドレス、および仮想ディスク終了アドレスのフィールドが設けられている。移行先ディスクIDのフィールドには、移行先ディスク611として使用するストレージ装置600内の仮想的なディスクの識別子が設定される。メタデータ用ディスクIDのフィールドには、管理を担当するスライスのメタデータの格納に使用するメタデータ用ディスクとして使用するストレージ装置600内の仮想的なディスクの識別子が設定される。仮想ディスクIDのフィールドには、移行対象の仮想ディスク60の仮想ディスクIDが設定される。仮想ディスク開始アドレスのフィールドには、管理を担当する複数のセグメントのうちの先頭のセグメントを示すアドレスが設定される。仮想ディスク終了アドレスのフィールドには、管理を担当する複数のセグメントのうちの最後部のセグメントを示すアドレスが設定される。   The assigned area information 71, 72, 73 includes fields for a migration destination disk ID, a metadata disk ID, a virtual disk ID, a virtual disk start address, and a virtual disk end address. An identifier of a virtual disk in the storage apparatus 600 used as the migration destination disk 611 is set in the migration destination disk ID field. In the metadata disk ID field, an identifier of a virtual disk in the storage apparatus 600 used as a metadata disk used for storing metadata of a slice in charge of management is set. The virtual disk ID of the migration target virtual disk 60 is set in the virtual disk ID field. In the virtual disk start address field, an address indicating the first segment among a plurality of segments in charge of management is set. In the virtual disk end address field, an address indicating the last segment among a plurality of segments in charge of management is set.

例えばディスクノード100aには、担当領域情報71が送信されている。この担当領域情報71には、移行先ディスクID「LU」、メタデータ用ディスクID「LU1」、仮想ディスクID「LVOL1」、仮想ディスク開始アドレス「A1」、仮想ディスク終了アドレス「A10」が設定されている。   For example, assigned area information 71 is transmitted to the disk node 100a. In the assigned area information 71, a migration destination disk ID “LU”, a metadata disk ID “LU1”, a virtual disk ID “LVOL1”, a virtual disk start address “A1”, and a virtual disk end address “A10” are set. ing.

このような担当領域情報71,72,73に基づいて、各ディスクノード100a,200a,300aは、自己の管理するセグメントを認識する。なお、移行先ディスク611内のスライスは、アドレスが小さい方から順に、アドレスの小さいセグメントに割り当てられるものとする。この場合、各ディスクノード100a,200a,300aは、自己の管理するセグメントを認識することで、そのセグメントのデータを格納するための移行先ディスク611内のスライスも一意に特定できる。   Based on such assigned area information 71, 72, 73, each disk node 100a, 200a, 300a recognizes a segment managed by itself. Note that slices in the migration destination disk 611 are assigned to segments with smaller addresses in order from the smallest address. In this case, each disk node 100a, 200a, 300a can uniquely identify a slice in the migration destination disk 611 for storing data of the segment by recognizing the segment managed by itself.

図29は、各ディスクノードが管理するスライスとメタデータ用ディスクとを示す図である。ディスクノード100aに対して通知される担当領域情報71(図28参照)では、移行先ディスクID「LU」、仮想ディスク開始アドレス「A1」、および仮想ディスク終了アドレス「A10」が示されている。そこで、ディスクノード100aは、識別子「LU」の移行先ディスク611内の先頭のスライスID「スライス1001」のスライスから、スライスID「スライス1010」のスライスまでの10個のスライスを、自己の管理対象と認識する。またディスクノード100aに対して通知される担当領域情報71(図28参照)では、メタデータ用ディスクID「LU1」が示されている。そこで、ディスクノード100aは、識別子「LU1」のメタデータ用ディスク612内に、自己の管理するスライスのメタデータを格納する。   FIG. 29 is a diagram showing slices and metadata disks managed by each disk node. The assigned area information 71 (see FIG. 28) notified to the disk node 100a indicates the migration destination disk ID “LU”, the virtual disk start address “A1”, and the virtual disk end address “A10”. Therefore, the disk node 100a manages its own 10 slices from the slice with the slice ID “slice 1010” to the slice with the slice ID “slice 1010” in the migration destination disk 611 with the identifier “LU”. Recognize. In addition, the assigned area information 71 (see FIG. 28) notified to the disk node 100a indicates the metadata disk ID “LU1”. Therefore, the disk node 100a stores the metadata of the slice managed by itself in the metadata disk 612 with the identifier “LU1”.

ディスクノード200aに対して通知される担当領域情報72(図28参照)では、移行先ディスクID「LU」、仮想ディスク開始アドレス「A11」、および仮想ディスク終了アドレス「A20」が示されている。そこで、ディスクノード200aは、識別子「LU」の移行先ディスク611内のスライスID「スライス1011」のスライスから、スライスID「スライス1020」のスライスまでの10個のスライスを、自己の管理対象と認識する。またディスクノード200aに対して通知される担当領域情報72(図28参照)では、メタデータ用ディスクID「LU2」が示されている。そこで、ディスクノード200aは、識別子「LU2」のメタデータ用ディスク613内に、自己の管理するスライスのメタデータを格納する。   The assigned area information 72 (see FIG. 28) notified to the disk node 200a indicates the migration destination disk ID “LU”, the virtual disk start address “A11”, and the virtual disk end address “A20”. Therefore, the disk node 200a recognizes 10 slices from the slice with the slice ID “slice 1011” to the slice with the slice ID “slice 1020” in the migration destination disk 611 with the identifier “LU” as self management targets. To do. Further, in the assigned area information 72 (see FIG. 28) notified to the disk node 200a, the metadata disk ID “LU2” is indicated. Therefore, the disk node 200a stores the metadata of the slice managed by itself in the metadata disk 613 with the identifier “LU2”.

ディスクノード300aに対して通知される担当領域情報73(図28参照)では、移行先ディスクID「LU」、仮想ディスク開始アドレス「A21」、および仮想ディスク終了アドレス「A30」が示されている。そこで、ディスクノード300aは、識別子「LU」の移行先ディスク611内のスライスID「スライス1021」のスライスから、スライスID「スライス1030」のスライスまでの10個のスライスを、自己の管理対象と認識する。またディスクノード300aに対して通知される担当領域情報73(図28参照)では、メタデータ用ディスクID「LU3」が示されている。そこで、ディスクノード300aは、識別子「LU3」のメタデータ用ディスク614内に、自己の管理するスライスのメタデータを格納する。   The assigned area information 73 (see FIG. 28) notified to the disk node 300a indicates the migration destination disk ID “LU”, the virtual disk start address “A21”, and the virtual disk end address “A30”. Therefore, the disk node 300a recognizes 10 slices from the slice with the slice ID “slice 1021” to the slice with the slice ID “slice 1030” in the migration destination disk 611 with the identifier “LU” as self management targets. To do. In addition, the assigned area information 73 (see FIG. 28) notified to the disk node 300a indicates the metadata disk ID “LU3”. Therefore, the disk node 300a stores the metadata of the slice managed by itself in the metadata disk 614 with the identifier “LU3”.

図30は、各メタデータ用ディスク内に格納されたメタデータの例を示す図である。図30の例では、スライスコピー処理(図27のステップS88)の実行前のメタデータを示している。   FIG. 30 is a diagram illustrating an example of metadata stored in each metadata disk. In the example of FIG. 30, metadata before execution of the slice copy process (step S88 of FIG. 27) is shown.

メタデータ用ディスク612には、ディスクノード100aが管理するスライスのメタデータが格納されている。そのためディスクノードIDの欄には、ディスクノード100aのディスクノードID「DP1」が設定されている。またメタデータ用ディスク612には、スライスIDが「スライス1001」〜「スライス1010」の各スライスに対応するメタデータが格納されている。スライスIDが「スライス1001」〜「スライス1010」の各スライスは、仮想ディスク60の仮想ディスクアドレス「A1」〜「A10」の各セグメントに割り当てられている。   The metadata disk 612 stores metadata of slices managed by the disk node 100a. Therefore, the disk node ID “DP1” of the disk node 100a is set in the disk node ID column. The metadata disk 612 stores metadata corresponding to slices having slice IDs “slice 1001” to “slice 1010”. Each slice having slice IDs “slice 1001” to “slice 1010” is assigned to each segment of virtual disk addresses “A1” to “A10” of the virtual disk 60.

メタデータ用ディスク613には、ディスクノード200aが管理するスライスのメタデータが格納されている。そのためディスクノードIDの欄には、ディスクノード200aのディスクノードID「DP2」が設定されている。またメタデータ用ディスク613には、スライスIDが「スライス1011」〜「スライス1020」の各スライスに対応するメタデータが格納されている。スライスIDが「スライス1011」〜「スライス1020」の各スライスは、仮想ディスク60の仮想ディスクアドレス「A11」〜「A20」の各セグメントに割り当てられている。   The metadata disk 613 stores metadata of slices managed by the disk node 200a. Therefore, the disk node ID “DP2” of the disk node 200a is set in the disk node ID column. The metadata disk 613 stores metadata corresponding to slices having slice IDs “slice 1011” to “slice 1020”. Each slice having slice IDs “slice 1011” to “slice 1020” is assigned to each segment of virtual disk addresses “A11” to “A20” of the virtual disk 60.

メタデータ用ディスク614には、ディスクノード300aが管理するスライスのメタデータが格納されている。そのためディスクノードIDの欄には、ディスクノード300aのディスクノードID「DP3」が設定されている。またメタデータ用ディスク614には、スライスIDが「スライス1021」〜「スライス1030」の各スライスに対応するメタデータが格納されている。スライスIDが「スライス1021」〜「スライス1030」の各スライスは、仮想ディスク60の仮想ディスクアドレス「A21」〜「A30」の各セグメントに割り当てられている。   The metadata disk 614 stores slice metadata managed by the disk node 300a. Therefore, the disk node ID “DP3” of the disk node 300a is set in the disk node ID column. The metadata disk 614 stores metadata corresponding to slices having slice IDs “slice 1021” to “slice 1030”. Each slice having slice IDs “slice 1021” to “slice 1030” is assigned to each segment of virtual disk addresses “A21” to “A30” of the virtual disk 60.

なお図30の例では、移行先ディスク611の各スライスのスライスIDは全ディスクノードで一意になるようにしているが、スライスIDは個々のディスクノード内で一意であればよい。すなわち、異なるディスクノードでスライスIDが重複しても、各メタデータのディスクノードIDとの組み合わせによってスライスを一意に識別可能である。   In the example of FIG. 30, the slice ID of each slice of the migration destination disk 611 is unique among all the disk nodes, but the slice ID may be unique within each disk node. That is, even if slice IDs overlap in different disk nodes, slices can be uniquely identified by combinations with the disk node IDs of the respective metadata.

図30に示すように、各メタデータ用ディスク612〜614内にメタデータが格納された後、スライスコピー処理(ステップS88)とセカンダリ切り離し処理(ステップS89)とが行われる。スライスコピー処理とセカンダリ切り離し処理の詳細は、移行先ディスク611を管理するディスクノードが複数あること以外は、第2の実施の形態と同様である。すなわち、制御ノード500aは、移行先ディスク610のスライスのメタデータ変更要求を送信する場合、該当スライスを管理しているディスクノードを判断し、該当ディスクノードに対してメタデータ変更要求を送信する。なお、移行先ディスク610のスライスをどのディスクノードが管理しているのかは、各ディスクノード100a,200a,300aから収集したメタデータのディスクノードIDの欄を参照することで判断できる。   As shown in FIG. 30, after metadata is stored in each of the metadata disks 612 to 614, slice copy processing (step S88) and secondary disconnection processing (step S89) are performed. The details of the slice copy process and the secondary detachment process are the same as in the second embodiment except that there are a plurality of disk nodes that manage the migration destination disk 611. That is, when transmitting a metadata change request for a slice of the migration destination disk 610, the control node 500a determines a disk node that manages the slice and transmits a metadata change request to the corresponding disk node. Note that which disk node manages the slice of the migration destination disk 610 can be determined by referring to the column of the disk node ID of the metadata collected from each of the disk nodes 100a, 200a, and 300a.

このように、移行先ディスク610のスライスの管理を複数のディスクノードで行うことで、データ移行の処理効率が向上する。また、移行先ディスク610のスライスのメタデータの変更などの処理が1つのディスクに集中せずにすみ、データ移行に関する処理でディスクノードの負荷が過大となることを抑制できる。   In this way, by managing the slices of the migration destination disk 610 with a plurality of disk nodes, the data migration processing efficiency is improved. Also, processing such as changing the metadata of the slice of the migration destination disk 610 does not have to be concentrated on one disk, and it is possible to suppress an excessive load on the disk node in the data migration processing.

〔第4の実施の形態〕
次に、第4の実施の形態について説明する。第4の実施の形態は、移行先ディスクが設けられたストレージ装置とは別のストレージ装置に、メタデータ用ディスクを設けるようにしたものである。
[Fourth Embodiment]
Next, a fourth embodiment will be described. In the fourth embodiment, the metadata disk is provided in a storage device different from the storage device provided with the migration destination disk.

図31は、第4の実施の形態のマルチノードストレージシステムの構成例を示す図である。図31において、図5に示した第2の実施の形態の構成における要素を同じ要素には同じ符号を付し、説明を省略する。   FIG. 31 is a diagram illustrating a configuration example of a multi-node storage system according to the fourth embodiment. In FIG. 31, the same components as those in the configuration of the second embodiment shown in FIG.

第4の実施の形態では、図2に示した第2の実施の形態におけるストレージ装置120に代えて、2台のストレージ装置710,720がディスクノード100に接続されている。ストレージ装置710には、移行先ディスク711が設けられている。またストレージ装置720には、メタデータ用ディスク721が設けられている。   In the fourth embodiment, two storage devices 710 and 720 are connected to the disk node 100 instead of the storage device 120 in the second embodiment shown in FIG. The storage device 710 is provided with a migration destination disk 711. The storage device 720 is provided with a metadata disk 721.

移行先ディスク711に格納される情報は、第2の実施の形態における移行先ディスク121に格納される情報と同様である。メタデータ用ディスク721に格納される情報は、第2の実施の形態におけるメタデータ用ディスク122に格納される情報と同様である。すなわち、第2の実施の形態において1台のストレージ装置120内に設けられていた移行先ディスク121とメタデータ用ディスク122とのそれぞれに対応する情報が、第4の実施の形態では、複数のストレージ装置710,720に別個に格納されている。ディスクノード100は、スライスのデータを移行先ディスク711に格納し、各スライスのメタデータをメタデータ用ディスク721に格納する。   The information stored in the migration destination disk 711 is the same as the information stored in the migration destination disk 121 in the second embodiment. The information stored in the metadata disk 721 is the same as the information stored in the metadata disk 122 in the second embodiment. That is, in the fourth embodiment, information corresponding to each of the migration destination disk 121 and the metadata disk 122 provided in one storage apparatus 120 in the second embodiment includes a plurality of information. The storage devices 710 and 720 are separately stored. The disk node 100 stores the slice data in the migration destination disk 711 and stores the metadata of each slice in the metadata disk 721.

このように、移行先ディスク711とメタデータ用ディスク721とをそれぞれ別個のストレージ装置710,720に設けることで、ストレージ装置710をSANなどの他のシステムに接続する際の処理が容易となる。すなわち、メタデータ用ディスク721は、データ移行中の信頼性確保のために設けられている。そのため移行先ディスク711を他のシステムに移行後は、メタデータ用ディスク721は使用されない。第2の実施の形態のように1つのストレージ装置120内に移行先ディスク121とメタデータ用ディスク122とを設けた場合、移行先ディスク121へのデータ移行完了後、メタデータ用ディスク122の削除処理が行われる。これは、使用する予定のないメタデータ用ディスク122がストレージ装置120内に残存していたのでは、資源の使用効率が低下するためである。一方、移行先ディスク711が設けられたストレージ装置710とは別のストレージ装置720にメタデータ用ディスク721を設けておけば、メタデータ用ディスク721の削除処理を行わずに、ストレージ装置720を他のシステムに接続できる。その結果、データ移行の作業効率が向上する。   As described above, by providing the migration destination disk 711 and the metadata disk 721 in separate storage apparatuses 710 and 720, processing when the storage apparatus 710 is connected to another system such as a SAN becomes easy. That is, the metadata disk 721 is provided to ensure reliability during data migration. Therefore, after the migration destination disk 711 is migrated to another system, the metadata disk 721 is not used. When the migration destination disk 121 and the metadata disk 122 are provided in one storage device 120 as in the second embodiment, the metadata disk 122 is deleted after the data migration to the migration destination disk 121 is completed. Processing is performed. This is because if the metadata disk 122 that is not scheduled to be used remains in the storage apparatus 120, the resource use efficiency decreases. On the other hand, if the metadata disk 721 is provided in a storage device 720 different from the storage device 710 in which the migration destination disk 711 is provided, the storage device 720 can be moved to another storage device without performing the deletion process of the metadata disk 721. Can be connected to other systems. As a result, the work efficiency of data migration is improved.

なお、ストレージ装置720に設けられたメタデータ用ディスク721は、移行先ディスク711へのデータ移行を行った仮想ディスクとは別の仮想ディスクのデータ移行を行うときに利用できる。そのため、メタデータ用ディスク721の削除処理は行わなくともよい。   Note that the metadata disk 721 provided in the storage device 720 can be used when performing data migration of a virtual disk different from the virtual disk that has undergone data migration to the migration destination disk 711. Therefore, it is not necessary to delete the metadata disk 721.

なお、図25に示した第3の実施の形態の例においても、メタデータ用ディスク612,613,614を、ストレージ装置600とは別のストレージ装置に設けることができる。   In the example of the third embodiment shown in FIG. 25, the metadata disks 612, 613, and 614 can be provided in a storage device different from the storage device 600.

〔その他の応用例〕
第2の実施の形態では、移行先ディスク121を有するストレージ装置120が、ディスクノード100に直接接続されているが、ストレージ装置120をスイッチ10経由でディスクノード100に接続してもよい。
[Other application examples]
In the second embodiment, the storage apparatus 120 having the migration destination disk 121 is directly connected to the disk node 100, but the storage apparatus 120 may be connected to the disk node 100 via the switch 10.

なお、上記の処理機能は、コンピュータによって実現することができる。その場合、管理ノード、制御ノード、ディスクノードなどが有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープなどがある。光ディスクには、DVD、DVD−RAM、CD−ROM/RWなどがある。光磁気記録媒体には、MO(Magneto-Optical disc)などがある。   The above processing functions can be realized by a computer. In that case, a program describing processing contents of functions that the management node, control node, disk node, and the like should have is provided. By executing the program on a computer, the above processing functions are realized on the computer. The program describing the processing contents can be recorded on a computer-readable recording medium. Examples of the computer-readable recording medium include a magnetic storage device, an optical disk, a magneto-optical recording medium, and a semiconductor memory. Examples of the magnetic storage device include a hard disk device (HDD), a flexible disk (FD), and a magnetic tape. Optical discs include DVD, DVD-RAM, CD-ROM / RW, and the like. Magneto-optical recording media include MO (Magneto-Optical disc).

プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。   When distributing the program, for example, a portable recording medium such as a DVD or a CD-ROM in which the program is recorded is sold. It is also possible to store the program in a storage device of a server computer and transfer the program from the server computer to another computer via a network.

プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。   The computer that executes the program stores, for example, the program recorded on the portable recording medium or the program transferred from the server computer in its own storage device. Then, the computer reads the program from its own storage device and executes processing according to the program. The computer can also read the program directly from the portable recording medium and execute processing according to the program. Further, each time the program is transferred from the server computer, the computer can sequentially execute processing according to the received program.

また、上記の処理機能の少なくとも一部を、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)などの電子回路で実現することもできる。   In addition, at least a part of the above processing functions can be realized by an electronic circuit such as a DSP (Digital Signal Processor), an ASIC (Application Specific Integrated Circuit), or a PLD (Programmable Logic Device).

以上、実施の形態を例示したが、実施の形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。さらに、前述した実施の形態のうちの任意の2以上の構成(特徴)を組み合わせたものであってもよい。   As mentioned above, although embodiment was illustrated, the structure of each part shown by embodiment can be substituted by the other thing which has the same function. Moreover, other arbitrary structures and processes may be added. Further, any two or more configurations (features) of the above-described embodiments may be combined.

以上の実施の形態に開示された技術には、以下の付記に示す技術が含まれる。
(付記1) ネットワークを介して接続された複数のノードそれぞれが有する第1のストレージ装置にデータが分散して格納されている仮想ディスクに属するデータを、該複数のノードの1つとして用いられるコンピュータに管理させるデータ管理プログラムにおいて、
前記コンピュータに、
第2のストレージ装置内の、前記仮想ディスクの記憶容量に相当する記憶領域を移行先記憶領域とし、該移行先記憶領域を前記仮想ディスク内の記憶領域に対応付け、
前記コンピュータが管理している前記仮想ディスクのデータを、該データの前記仮想ディスク内での位置に対応する前記移行先記憶領域内の位置へコピーする、
処理を実行させるためのデータ管理プログラム。
The techniques disclosed in the above embodiments include the techniques shown in the following supplementary notes.
(Supplementary note 1) A computer that uses data belonging to a virtual disk in which data is distributed and stored in a first storage device of each of a plurality of nodes connected via a network as one of the plurality of nodes. In the data management program to be managed by
In the computer,
A storage area corresponding to the storage capacity of the virtual disk in the second storage device is set as a migration destination storage area, and the migration destination storage area is associated with a storage area in the virtual disk,
Copying the data of the virtual disk managed by the computer to a position in the migration destination storage area corresponding to the position of the data in the virtual disk;
Data management program for executing processing.

(付記2) 前記コンピュータに、さらに、
前記コンピュータが管理している前記仮想ディスクのデータのコピーが完了すると、前記コンピュータが管理している前記仮想ディスクのデータが格納されていた前記コンピュータが有する前記第1のストレージ装置の記憶領域を開放する、
処理を実行させることを特徴とする付記1記載のデータ管理プログラム。
(Appendix 2) In addition to the computer,
When copying of the data of the virtual disk managed by the computer is completed, the storage area of the first storage device of the computer storing the data of the virtual disk managed by the computer is released. To
The data management program according to appendix 1, characterized in that the process is executed.

(付記3) 前記コンピュータに、さらに、
前記コンピュータ以外のノードが管理している前記仮想ディスクの各データを該ノードから受信すると、受信した該データを、該データの前記仮想ディスク内での位置に対応する前記移行先記憶領域内の位置へ書き込む、
処理を実行させることを特徴とする付記1または2のいずれかに記載のデータ管理プログラム。
(Appendix 3) In addition to the computer,
When each data of the virtual disk managed by a node other than the computer is received from the node, the received data is a position in the migration destination storage area corresponding to the position of the data in the virtual disk. Write to
The data management program according to any one of appendix 1 or 2, wherein the processing is executed.

(付記4) 前記コンピュータに、さらに、
第3のストレージ装置内に、前記移行先記憶領域内の単位記憶領域ごとの前記仮想ディスク内の記憶領域との対応関係、および前記移行先記憶領域内の単位記憶領域ごとのデータの有無を管理する管理情報を格納し、
前記仮想ディスクのデータをコピーする際には、前記管理情報を参照して、該データの前記仮想ディスク内での記憶領域に対応する前記移行先記憶領域内の単位記憶領域を特定し、特定した該単位記憶領域に該データをコピーし、
前記仮想ディスクのデータを前記移行先記憶領域へコピーすると、データがコピーされた前記移行先記憶領域内の単位記憶領域にデータが格納されたことを、前記管理情報に設定する、
処理を実行させることを特徴とする付記1乃至3のいずれかに記載のデータ管理プログラム。
(Appendix 4) In addition to the computer,
In the third storage device, the correspondence between each unit storage area in the migration destination storage area and the storage area in the virtual disk, and the presence / absence of data for each unit storage area in the migration destination storage area are managed. Management information to store,
When copying the virtual disk data, the management information is referenced to identify and identify the unit storage area in the migration destination storage area corresponding to the storage area of the data in the virtual disk Copy the data to the unit storage area,
When the data of the virtual disk is copied to the migration destination storage area, the fact that the data is stored in the unit storage area in the migration destination storage area where the data is copied is set in the management information.
4. The data management program according to any one of appendices 1 to 3, wherein the processing is executed.

(付記5) 前記コンピュータに、さらに、
前記移行先記憶領域の前記仮想ディスク内の記憶領域との対応付けの際には、前記仮想ディスク内の全記憶領域のうちの前記コンピュータが前記移行先記憶領域との対応付けを担当する担当領域に、前記移行先記憶領域内の少なくとも一部の記憶領域を対応付け、
前記仮想ディスクのデータをコピーする際には、前記コンピュータが管理している前記仮想ディスクのデータのうち、前記担当領域以外の記憶領域のデータを、該データの前記仮想ディスク内での位置の前記移行先記憶領域との対応付けを担当するノードを介して、該データに対応する前記移行先記憶領域へコピーする、
処理を実行させることを特徴とする付記1乃至4のいずれかに記載のデータ管理プログラム。
(Appendix 5) In addition to the computer,
When the migration destination storage area is associated with the storage area in the virtual disk, the computer in charge of the association of the migration destination storage area with the computer among all the storage areas in the virtual disk To at least a part of the storage area in the migration destination storage area,
When copying the data of the virtual disk, the data of the storage area other than the assigned area among the data of the virtual disk managed by the computer is changed to the position of the data in the virtual disk. Copying to the migration destination storage area corresponding to the data via a node in charge of association with the migration destination storage area;
The data management program according to any one of appendices 1 to 4, wherein the data management program is executed.

(付記6) 前記仮想ディスクは、データが2重化して前記複数のノードに分散格納されており、2重化されたデータのうち、優先して参照される一方のデータが第1の属性、他方のデータが第2の属性と定義されており、
前記コンピュータに、さらに、
前記仮想ディスクのデータをコピーする際には、前記第2の属性のデータを、該第2の属性のデータの前記仮想ディスク内での位置に対応する前記移行先記憶領域内の位置へコピーする処理を実行させることを特徴とする付記1乃至5のいずれかに記載のデータ管理プログラム。
(Supplementary Note 6) The virtual disk has data duplicated and distributedly stored in the plurality of nodes, and one of the duplicated data that is preferentially referenced has a first attribute, The other data is defined as the second attribute,
In addition to the computer,
When copying the data of the virtual disk, the data of the second attribute is copied to a position in the migration destination storage area corresponding to the position of the data of the second attribute in the virtual disk. 6. The data management program according to any one of appendices 1 to 5, wherein the processing is executed.

(付記7) 前記コンピュータに、さらに、
前記仮想ディスクのデータをコピーする際には、前記第2の属性データのコピー後、該第2の属性のデータを、優先して参照される前記第1の属性のデータに変更する処理を実行させることを特徴とする付記6記載のデータ管理プログラム。
(Appendix 7) In addition to the computer,
When copying the data of the virtual disk, after copying the second attribute data, a process of changing the data of the second attribute to the data of the first attribute referenced with priority is executed. The data management program according to appendix 6, characterized in that:

(付記8) ネットワークを介して接続された複数のノードを有し、前記複数のノードそれぞれが有する第1のストレージ装置に、仮想ディスク内のデータを分散して格納するストレージシステムにおいて、
前記複数のノードのうちの少なくとも1つのノードは、第2のストレージ装置内の、前記仮想ディスクの記憶容量に相当する記憶領域を移行先記憶領域とし、該移行先記憶領域を前記仮想ディスク内の記憶領域に対応付け、
前記複数のノードは、それぞれ自己が管理している前記仮想ディスクのデータを、該データの前記仮想ディスク内での位置に対応する前記移行先記憶領域内の位置へコピーする、
ことを特徴とするストレージシステム。
(Supplementary note 8) In a storage system having a plurality of nodes connected via a network and storing data in a virtual disk in a distributed manner in a first storage device of each of the plurality of nodes.
At least one of the plurality of nodes has a storage area corresponding to the storage capacity of the virtual disk in the second storage device as a migration destination storage area, and the migration destination storage area is in the virtual disk. Map to storage area,
Each of the plurality of nodes copies the data of the virtual disk managed by the plurality of nodes to a position in the migration destination storage area corresponding to a position of the data in the virtual disk;
A storage system characterized by that.

(付記9) 前記仮想ディスク内の単位記憶領域を順番に選択し、選択した該単位記憶領域のデータを管理するノードに対して、該データの前記移行先記憶領域へのコピーを指示する制御ノードをさらに有し、
前記ディスクノードは、前記制御ノードからの指示に応じて、自己が管理している前記仮想ディスクのデータを、該データの前記仮想ディスク内での位置に対応する前記移行先記憶領域内の位置へコピーする、
ことを特徴とする付記8記載のストレージシステム。
(Supplementary Note 9) A control node that sequentially selects unit storage areas in the virtual disk and instructs a node that manages data in the selected unit storage area to copy the data to the migration destination storage area Further comprising
In response to an instruction from the control node, the disk node transfers the data of the virtual disk managed by itself to a position in the migration destination storage area corresponding to the position of the data in the virtual disk. make a copy,
The storage system according to appendix 8, wherein

(付記10) ネットワークを介して接続された複数のノードそれぞれが有する第1のストレージ装置にデータが分散して格納されている仮想ディスクに属するデータを、該複数のノードの1つとして用いられるコンピュータに管理させるデータ管理方法において、
前記コンピュータが、
第2のストレージ装置内の、前記仮想ディスクの記憶容量に相当する記憶領域を移行先記憶領域とし、該移行先記憶領域を前記仮想ディスク内の記憶領域に対応付け、
前記コンピュータが管理している前記仮想ディスクのデータを、該データの前記仮想ディスク内での位置に対応する前記移行先記憶領域内の位置へコピーする、
ことを特徴とするデータ管理方法。
(Appendix 10) A computer that uses data belonging to a virtual disk in which data is distributed and stored in a first storage device of each of a plurality of nodes connected via a network as one of the plurality of nodes. In the data management method to let you manage,
The computer is
A storage area corresponding to the storage capacity of the virtual disk in the second storage device is set as a migration destination storage area, and the migration destination storage area is associated with a storage area in the virtual disk,
Copying the data of the virtual disk managed by the computer to a position in the migration destination storage area corresponding to the position of the data in the virtual disk;
A data management method characterized by the above.

1 仮想ディスク
2〜4,8 ストレージ装置
5〜7 ノード
5a 対応付け手段
5b,6a,7a コピー手段
8a 移行先記憶領域
DESCRIPTION OF SYMBOLS 1 Virtual disk 2-4, 8 Storage apparatus 5-7 Node 5a Corresponding means 5b, 6a, 7a Copy means 8a Migration destination storage area

Claims (6)

ネットワークを介して接続された複数のノードそれぞれが有する第1のストレージ装置にデータが分散して格納されている仮想ディスクに属するデータを、該複数のノードの1つとして用いられるコンピュータに管理させるデータ管理プログラムにおいて、
前記コンピュータに、
記仮想ディスクの記憶容量に相当する第2のストレージ装置内の記憶領域が、移行先記憶領域とされたとき前記仮想ディスク内の記憶領域のうちの、前記コンピュータが前記移行先記憶領域との対応付けを担当する担当領域に、前記移行先記憶領域内の一部の記憶領域を対応付け
前記コンピュータが管理している前記仮想ディスクのデータのうち、前記担当領域のデータを、該データの前記仮想ディスク内での位置に対応する前記移行先記憶領域内の位置へコピーし、前記コンピュータが管理している前記仮想ディスクのデータのうち、前記担当領域以外の記憶領域のデータを、該データの前記仮想ディスク内での位置の前記移行先記憶領域との対応付けを担当するノードを介して、該データに対応する前記移行先記憶領域へコピーする、
処理を実行させるデータ管理プログラム。
Data that causes a computer used as one of the plurality of nodes to manage data belonging to a virtual disk in which data is distributed and stored in the first storage device of each of the plurality of nodes connected via the network In the management program,
In the computer,
Storage area of the second storage in the device that corresponds to the storage capacity before Symbol virtual disk, when the migration destination storage area, and wherein one of the storage areas in the virtual disk, the computer the migration destination storage area A part of the storage area in the migration destination storage area is associated with the area in charge of the association of
Of the data on the virtual disk managed by the computer, the data in the assigned area is copied to a position in the migration destination storage area corresponding to the position in the virtual disk of the data, and the computer Among the data of the virtual disk being managed, the data in the storage area other than the area in charge is passed through the node in charge of associating the position of the data in the virtual disk with the migration destination storage area , Copy to the migration destination storage area corresponding to the data ,
Lud over data management program to execute the process.
前記コンピュータに、さらに、
前記コンピュータが管理している前記仮想ディスクのデータのコピーが完了すると、前記コンピュータが管理している前記仮想ディスクのデータが格納されていた前記コンピュータが有する前記第1のストレージ装置の記憶領域を開放する、
処理を実行させることを特徴とする請求項1記載のデータ管理プログラム。
In addition to the computer,
When copying of the data of the virtual disk managed by the computer is completed, the storage area of the first storage device of the computer storing the data of the virtual disk managed by the computer is released. To
The data management program according to claim 1, wherein processing is executed.
前記コンピュータに、さらに、
第3のストレージ装置内に、前記移行先記憶領域内の単位記憶領域ごとの前記仮想ディスク内の記憶領域との対応関係、および前記移行先記憶領域内の単位記憶領域ごとのデータの有無を管理する管理情報を格納し、
前記仮想ディスクのデータをコピーする際には、前記管理情報を参照して、該データの前記仮想ディスク内での記憶領域に対応する前記移行先記憶領域内の単位記憶領域を特定し、特定した該単位記憶領域に該データをコピーし、
前記仮想ディスクのデータを前記移行先記憶領域へコピーすると、データがコピーされた前記移行先記憶領域内の単位記憶領域にデータが格納されたことを、前記管理情報に設定する、
処理を実行させることを特徴とする請求項1または2のいずれかに記載のデータ管理プログラム。
In addition to the computer,
In the third storage device, the correspondence between each unit storage area in the migration destination storage area and the storage area in the virtual disk, and the presence / absence of data for each unit storage area in the migration destination storage area are managed. Management information to store,
When copying the virtual disk data, the management information is referenced to identify and identify the unit storage area in the migration destination storage area corresponding to the storage area of the data in the virtual disk Copy the data to the unit storage area,
When the data of the virtual disk is copied to the migration destination storage area, the fact that the data is stored in the unit storage area in the migration destination storage area where the data is copied is set in the management information.
The data management program according to claim 1, wherein the process is executed.
前記仮想ディスクは、データが2重化して前記複数のノードに分散格納されており、2重化されたデータのうち、優先して参照される一方のデータが第1の属性、他方のデータが第2の属性と定義されており、
前記コンピュータに、さらに、
前記仮想ディスクのデータをコピーする際には、前記第2の属性のデータを、該第2の属性のデータの前記仮想ディスク内での位置に対応する前記移行先記憶領域内の位置へコピーする処理を実行させることを特徴とする請求項1乃至のいずれかに記載のデータ管理プログラム。
In the virtual disk, data is duplicated and distributedly stored in the plurality of nodes. Among the duplicated data, one of the data that is referred to preferentially has a first attribute, and the other data has Defined as the second attribute,
In addition to the computer,
When copying the data of the virtual disk, the data of the second attribute is copied to a position in the migration destination storage area corresponding to the position of the data of the second attribute in the virtual disk. The data management program according to any one of claims 1 to 3, wherein a process is executed.
ネットワークを介して接続された複数のノードを有し、前記複数のノードそれぞれが有する第1のストレージ装置に、仮想ディスク内のデータを分散して格納するストレージシステムにおいて、
前記複数のノードそれぞれは、前記仮想ディスクの記憶容量に相当する第2のストレージ装置内の記憶領域が、移行先記憶領域とされたとき前記仮想ディスク内の記憶領域のうちの、ノード自身が前記移行先記憶領域との対応付けを担当する担当領域に、前記移行先記憶領域内の一部の記憶領域を対応付け
前記複数のノードそれぞれは、ノード自身が管理している前記仮想ディスクのデータのうち、該ノードの担当領域のデータを、該データの前記仮想ディスク内での位置に対応する前記移行先記憶領域内の位置へコピーし、該ノードが管理している前記仮想ディスクのデータのうち、前記担当領域以外の記憶領域のデータを、該データの前記仮想ディスク内での位置の前記移行先記憶領域との対応付けを担当するノードを介して、該データに対応する前記移行先記憶領域へコピーする、
ことを特徴とするストレージシステム。
In a storage system that has a plurality of nodes connected via a network and stores data in a virtual disk in a distributed manner in a first storage device of each of the plurality of nodes.
Each of the plurality of nodes, the storage area in the second storage device corresponding to the storage capacity of the virtual disk, when the migration destination storage area, among the storage areas in the virtual disk, the node itself A part of the storage area in the migration destination storage area is associated with the area in charge of the association with the migration destination storage area ,
Wherein the plurality of nodes respectively, of the data of the virtual disk that node itself is managing data in the coverage area of the node, the migration destination storage area corresponding to the position in the virtual disk of the data Of the data of the virtual disk managed by the node and the data in the storage area other than the area in charge with the migration destination storage area at the position in the virtual disk of the data. Copy to the migration destination storage area corresponding to the data via the node in charge of the association ,
A storage system characterized by that.
ネットワークを介して接続された複数のノードそれぞれが有する第1のストレージ装置にデータが分散して格納されている仮想ディスクに属するデータを、該複数のノードの1つとして用いられるコンピュータに管理させるデータ管理方法において、
前記コンピュータが、
記仮想ディスクの記憶容量に相当する第2のストレージ装置内の記憶領域が、移行先記憶領域とされたとき前記仮想ディスク内の記憶領域のうちの、前記コンピュータが前記移行先記憶領域との対応付けを担当する担当領域に、前記移行先記憶領域内の一部の記憶領域を対応付け
前記コンピュータが管理している前記仮想ディスクのデータのうち、前記担当領域のデータを、該データの前記仮想ディスク内での位置に対応する前記移行先記憶領域内の位置へコピーし、前記コンピュータが管理している前記仮想ディスクのデータのうち、前記担当領域以外の記憶領域のデータを、該データの前記仮想ディスク内での位置の前記移行先記憶領域との対応付けを担当するノードを介して、該データに対応する前記移行先記憶領域へコピーする、
ことを特徴とするデータ管理方法。
Data that causes a computer used as one of the plurality of nodes to manage data belonging to a virtual disk in which data is distributed and stored in the first storage device of each of the plurality of nodes connected via the network In the management method,
The computer is
Storage area of the second storage in the device that corresponds to the storage capacity before Symbol virtual disk, when the migration destination storage area, and wherein one of the storage areas in the virtual disk, the computer the migration destination storage area A part of the storage area in the migration destination storage area is associated with the area in charge of the association of
Of the data on the virtual disk managed by the computer, the data in the assigned area is copied to a position in the migration destination storage area corresponding to the position in the virtual disk of the data, and the computer Among the data of the virtual disk being managed, the data in the storage area other than the area in charge is passed through the node in charge of associating the position of the data in the virtual disk with the migration destination storage area , Copy to the migration destination storage area corresponding to the data ,
A data management method characterized by the above.
JP2010133740A 2010-06-11 2010-06-11 Data management program, storage system, and data management method Expired - Fee Related JP5640480B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010133740A JP5640480B2 (en) 2010-06-11 2010-06-11 Data management program, storage system, and data management method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010133740A JP5640480B2 (en) 2010-06-11 2010-06-11 Data management program, storage system, and data management method

Publications (2)

Publication Number Publication Date
JP2011258103A JP2011258103A (en) 2011-12-22
JP5640480B2 true JP5640480B2 (en) 2014-12-17

Family

ID=45474187

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010133740A Expired - Fee Related JP5640480B2 (en) 2010-06-11 2010-06-11 Data management program, storage system, and data management method

Country Status (1)

Country Link
JP (1) JP5640480B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9870232B2 (en) * 2012-05-29 2018-01-16 Fujitsu Limited Extensible method and system for storage metadata
JP6089527B2 (en) * 2012-09-18 2017-03-08 富士通株式会社 Storage control system, recovery program, and method
JP7460594B2 (en) 2021-12-13 2024-04-02 株式会社日立製作所 Management system, data rebalancing management method, and data rebalancing management program - Patents.com

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004102815A (en) * 2002-09-11 2004-04-02 Toshiba Corp Method for copying data between logical disks, program for copying data between logical disks, and disk controller
US20090204775A1 (en) * 2008-02-12 2009-08-13 Fujitsu Limited Data copying method
JP5218284B2 (en) * 2008-08-20 2013-06-26 富士通株式会社 Virtual disk management program, storage device management program, multi-node storage system, and virtual disk management method

Also Published As

Publication number Publication date
JP2011258103A (en) 2011-12-22

Similar Documents

Publication Publication Date Title
JP5396836B2 (en) Data distribution control program, storage management program, control node, and disk node
JP5412882B2 (en) Logical volume configuration information providing program, logical volume configuration information providing method, and logical volume configuration information providing apparatus
JP2011128917A (en) Data allocation control program, data allocation control method, and data allocation control apparatus
JP5158074B2 (en) Storage management program, storage management method, storage management device, and storage system
US8458398B2 (en) Computer-readable medium storing data management program, computer-readable medium storing storage diagnosis program, and multinode storage system
JP5218284B2 (en) Virtual disk management program, storage device management program, multi-node storage system, and virtual disk management method
JP4519179B2 (en) Logical volume management program, logical volume management apparatus, logical volume management method, and distributed storage system
JP4671738B2 (en) Storage system and storage area allocation method
JP5968554B2 (en) Disaster recovery virtualization method and apparatus
US20090094483A1 (en) Method of maintaining task sequence within a task domain across error recovery
JP5699852B2 (en) Information processing apparatus, storage control method, and program
JP2005018510A (en) Data center system and its control method
JP2005242403A (en) Computer system
JP2009140153A (en) Storage management device, storage system control device, storage management program, and storage system
JP2010039986A (en) Computer system and method for managing backup of data
JP2008299481A (en) Storage system and data copy method between several base points
JP2006011874A (en) System and method for supplying volume
JP2008250458A (en) Storage system, and method for managing storage system
JP5640480B2 (en) Data management program, storage system, and data management method
JP6569476B2 (en) Storage device, storage system, and storage control program
JP5348300B2 (en) Data management program and multi-node storage system
JP2008276281A (en) Data synchronization system, method, and program
JP2013161383A (en) Information processing device, information processing method, program and information processing system
JP2010072974A (en) Program, device and method for update control
JP5309816B2 (en) Data management program, data management apparatus, and data management method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130403

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140204

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140403

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141013

R150 Certificate of patent or registration of utility model

Ref document number: 5640480

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees