JP5640480B2 - Data management program, storage system, and data management method - Google Patents
Data management program, storage system, and data management method Download PDFInfo
- 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
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.
しかし、従来の技術では、マルチノードストレージシステムの仮想ディスク内のデータを他のシステムに移行する場合、仮想ディスク内のデータのコピー処理が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 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
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の実施の形態〕
図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
このようなストレージシステムにおいて、仮想ディスク1のデータを、ストレージ装置8に移行させる場合がある。例えば、ストレージシステムで利用していた仮想ディスク1を、SAN(Storage Area Network)などの他のシステムに移行する場合である。なお、ストレージ装置8は、仮想ディスク1のデータを格納するストレージ装置2〜4とは別に設けられている。
In such a storage system, data of the
このように仮想ディスク1のデータをストレージ装置8に移行するために、ノード5は、対応付け手段5aとコピー手段5bとを有する。またノード6は、コピー手段6aを有する。さらにノード7は、コピー手段7aを有する。
Thus, in order to migrate the data of the
ノード5の対応付け手段5aは、ストレージ装置8内の、仮想ディスク1の記憶容量に相当する記憶領域を移行先記憶領域8aとする。そして対応付け手段5aは、移行先記憶領域8aを仮想ディスク1内の記憶領域に対応付ける。例えば対応付け手段5aは、仮想ディスク1内の連続する記憶領域を、移行先記憶領域8a内の連続する記憶領域に対応付ける。
The association means 5a of the
ノード5のコピー手段5bは、ノード5が管理している仮想ディスク1のデータをストレージ装置2から取り出し、そのデータの仮想ディスク1内での位置に対応する移行先記憶領域8a内の位置へコピーする。
The copy means 5b of the
またノード6のコピー手段6aは、ノード6が管理している仮想ディスク1のデータをストレージ装置3から取り出し、そのデータの仮想ディスク1内での位置に対応する移行先記憶領域8a内の位置へコピーする。さらにノード7のコピー手段7aは、ノード7が管理している仮想ディスク1のデータをストレージ装置4から取り出し、そのデータの仮想ディスク1内での位置に対応する移行先記憶領域8a内の位置へコピーする。
The copy means 6a of the
このように、各ノード5〜7は、仮想ディスク1内のデータのうち自己の管理するデータのみをコピーすればよく、1つのノードに負荷が集中せずにすむ。その結果、データ移行時の各ノードの負荷が軽減される。
In this way, each of the
しかも、データをコピーしている間もコピー元の仮想ディスク1のデータにアクセス可能である。すなわち、データ移行中であっても、仮想ディスク1を用いたデータ管理サービスを継続して提供できる。そのため、データ移行に伴うサービス停止期間を低減できる。
In addition, the data of the copy source
ところで、仮想ディスク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
なお制御ノード9は、仮想ディスク1内の記憶領域と移行先記憶領域8aとの対応関係を通知と共に、コピー指示を行うことができる。その場合、各ノード5〜7のコピー手段5b,6a,7aは、コピー指示に従ってデータのコピーを行う。例えば制御ノード9は、仮想ディスク1内の単位記憶領域を、アドレスの小さい順に1つずつ選択する。そして、制御ノード9は、選択した単位記憶領域のデータを管理しているノードに対して、選択した単位記憶領域に対応する移行先記憶領域8a内の位置を通知すると共に、選択した単位記憶領域のデータのコピーを指示する。すると、コピーの指示を受けたノードによって、選択した単位記憶領域のデータが、移行先記憶領域8aにコピーされる。制御ノード9は、例えば、選択した単位記憶領域のコピーが完了するのを待って、次の単位記憶領域を選択する。これにより、データのコピーが順番に行われる。データのコピーが順番に行われることで、複数のノードにより、ストレージ装置8へのデータコピーが同時に行われることが抑制される。その結果、例えば、データ移行に伴うネットワーク上のデータ通信の輻輳の発生が抑制される。
The
なお各ノード5〜7は、自己の管理している仮想ディスク1のデータのコピーが完了すると、自己の管理している仮想ディスク1のデータが格納されていたストレージ装置2〜4の記憶領域を開放することができる。記憶領域の開放とは、その記憶領域に、現在記憶されているデータとは関連性のないデータを格納可能とすることである。
When the copying of the data of the
また、ストレージ装置8がノード5の直下に接続されている場合がある。このような場合、ノード5は、他のノード6,7が管理している仮想ディスク1の各データをノード6,7から受信すると、受信したデータを、そのデータの仮想ディスク内での位置に対応する移行先記憶領域8a内の位置へ書き込む。
In some cases, the storage apparatus 8 is connected directly below the
また、ノード5は、さらに、移行先記憶領域8aを有するストレージ装置8内に、移行先記憶領域8aに関する管理情報を格納することができる。管理情報には、例えば、移行先記憶領域8a内の単位記憶領域ごとの仮想ディスク内の記憶領域との対応関係、および移行先記憶領域8a内の単位記憶領域ごとのデータの有無が含まれる。管理情報をストレージ装置8に格納した場合、各ノード5〜7が仮想ディスク1のデータをコピーする際には、管理情報を参照する。そして各ノード5〜7は、管理情報に基づいてデータの仮想ディスク内での記憶領域に対応する移行先記憶領域8a内の単位記憶領域を特定し、特定した単位記憶領域に該データをコピーする。また各ノード5〜7は、仮想ディスク1のデータを移行先記憶領域8a内へコピーすると、データがコピーされた移行先記憶領域8a内の単位記憶領域にデータが格納されたことを、管理情報に設定する。
Further, the
このように、管理情報を用いて移行先記憶領域8a内のデータを管理することで、データ移行の途中で障害などが発生し、仮想ディスク1のデータが失われても、移行先記憶領域8a内のデータを用いた復旧が容易となる。すなわち、管理情報を参照すれば、仮想ディスク1内の失われたデータに対応する移行先記憶領域8a内の単位記憶領域が判別できる。その単位記憶領域内にデータが格納されていれば、そのデータを用いて仮想ディスク1内のデータを復旧できる。
In this way, by managing the data in the migration
また、仮想ディスク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
なお、ストレージシステムでは、仮想ディスク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
〔第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
なお、ディスクノード100に接続されているストレージ装置120は、マルチノードストレージシステム以外のシステムに移行するデータの記憶用に接続されている。マルチノードストレージシステム以外のシステムとしては、例えばSANがある。
The
各ディスクノード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
ストレージ装置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
ディスクノード100,200,300は、例えば、IA(Intel Architecture)と呼ばれるアーキテクチャのコンピュータである。ディスクノード100,200,300は、接続されたストレージ装置110,120,210,310に格納されたデータを管理し、管理しているデータをスイッチ10経由で端末装置21,22,23に提供する。また、ディスクノード100,200,300は、冗長性を有するデータを管理している。すなわち、同一のデータが、少なくとも2つのディスクノードで管理されている。
The
制御ノード500は、ディスクノード100,200,300を管理する。例えば、制御ノード500は、ディスクノード100,200,300から新たなストレージ装置の接続通知を受け取ると、仮想ディスクを介して、接続されたストレージ装置に格納されていたデータにアクセスできるようにする。
The
アクセスノード30には、ネットワーク20を介して複数の端末装置21,22,23が接続されている。アクセスノード30には、仮想ディスクが定義されている。そして、アクセスノード30は、端末装置21,22,23からの仮想ディスク上でのデータのアクセス要求に応答して、ディスクノード100,200,300内の対応するデータへアクセスする。
A plurality of
管理ノード400は、管理者がマルチノードストレージシステムの運用を管理するために使用するコンピュータである。例えば、管理ノード400では、管理者からの操作入力に応答して、仮想ディスクのデータの移行先となるストレージ装置の接続指示をディスクノードに送信する。また、管理ノード400は、管理者からの操作入力に応答して、仮想ディスクのデータの移行指示を制御ノード500に送信する。
The
図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
RAM102は、ディスクノード100の主記憶装置として使用される。RAM102には、CPU101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM102には、CPU101による処理に必要な各種データが格納される。
The
バス109に接続されている周辺機器としては、HDD103、グラフィック処理装置104、入力インタフェース105、光学ドライブ装置106、通信インタフェース107、およびストレージ装置インタフェース108がある。
Peripheral devices connected to the
HDD103は、内蔵したディスクに対して、磁気的にデータの書き込みおよび読み出しを行う。HDD103は、制御ノード500の二次記憶装置として使用される。HDD103には、OSのプログラム、アプリケーションプログラム、および各種データが格納される。なお、二次記憶装置としては、フラッシュメモリなどの半導体記憶装置を使用することもできる。
The
グラフィック処理装置104には、モニタ11が接続されている。グラフィック処理装置104は、CPU101からの命令に従って、画像をモニタ11の画面に表示させる。モニタ11としては、CRT(Cathode Ray Tube)を用いた表示装置や液晶表示装置などがある。
A monitor 11 is connected to the
入力インタフェース105には、キーボード12とマウス13とが接続されている。入力インタフェース105は、キーボード12やマウス13から送られてくる信号をCPU101に送信する。なお、マウス13は、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
A keyboard 12 and a mouse 13 are connected to the
光学ドライブ装置106は、レーザ光などを利用して、光ディスク14に記録されたデータの読み取りを行う。光ディスク14は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク14には、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。
The
通信インタフェース107は、スイッチ10に接続されている。通信インタフェース107は、スイッチ10を介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。
The
ストレージ装置インタフェース108は、外部接続されたストレージ装置110,120との間でデータ通信を行う。
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。なお、図3には、ディスクノード100のハードウェア構成を示しているが、他のディスクノード200,300、アクセスノード30、管理ノード400、および制御ノード500も同様のハードウェア構成で実現することができる。
The
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
図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
各ディスクノード100,200,300が有するストレージ装置110,120,210,310それぞれにおいてRAID5のストレージシステムが構成されている。各ストレージ装置110,210,310内の記憶領域は、複数のスライス115a,115b,・・・,115n,215a,215b,・・・,215n,315a,315b,・・・,315nに分割して管理されている。
A
仮想ディスク60は、セグメント61〜64という単位で構成される。セグメント61〜64の記憶容量は、ストレージ装置110,210における管理単位であるスライスの記憶容量と同じである。例えば、スライスの記憶容量が1ギガバイトとするとセグメントの記憶容量も1ギガバイトである。仮想ディスク60の記憶容量はセグメント1つ当たりの記憶容量の整数倍である。セグメント61〜64は、それぞれプライマリスライス61a,62a,63a,64aとセカンダリスライス61b,62b,63b,64bとの組(スライスペア)で構成される。プライマリスライスは、データ参照やデータ書き込みにおいて、優先的にアクセスされる。すなわち、アクセスノード30から仮想ディスク60内のデータへのアクセスは、そのデータが属するセグメントに割り当てられたプライマリスライスに対して行われる。
The
同一セグメントに属する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
本実施の形態では、図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
FIG. 5 is a block diagram illustrating functions of each device of the multi-node storage system according to the second embodiment. The
制御ノード500は、仮想ディスク管理部510と仮想ディスクメタデータ記憶部520とを有している。
仮想ディスク管理部510は、ディスクノード100,200,300が有するストレージ装置110,120,210,310内のスライスを管理する。例えば、仮想ディスク管理部510は、システム起動時に、ディスクノード100,200,300に対してメタデータ取得要求を送信する。そして、仮想ディスク管理部510は、メタデータ取得要求に対して返信されたメタデータから仮想ディスクメタデータを生成し、仮想ディスクメタデータ記憶部520に格納する。
The
The virtual
また仮想ディスク管理部510は、管理ノード400から仮想ディスク内のデータの移行指示を受け取ると、指定された仮想ディスク内のデータの指定されたストレージ装置へのコピーを、その仮想ディスクのデータを管理するディスクノードに指示する。仮想ディスク管理部510は、移行指示に応じたデータのコピーが完了すると、管理ノード400に対して移行完了応答を送信する。
When the virtual
仮想ディスクメタデータ記憶部520は、ディスクノード100,200,300から収集されたメタデータに基づいて生成された仮想ディスクメタデータを記憶する。例えば、制御ノード500内のRAM502の記憶領域の一部が仮想ディスクメタデータ記憶部520として使用される。
The virtual disk
ディスクノード100は、データアクセス部130、データ管理部140、およびメタデータ記憶部150を有している。
データアクセス部130は、アクセスノード30からの要求に応答して、ストレージ装置110内のデータにアクセスする。具体的には、データアクセス部130は、アクセスノード30からデータのリード要求を受け取った場合、リード要求で指定されたデータをストレージ装置110から取得し、リード要求の送信元であるアクセスノードに返信する。また、データアクセス部130は、アクセスノード30からデータのライト要求を受け取った場合、ライト要求に含まれるデータをストレージ装置110内に格納する。
The
The
データ管理部140は、ディスクノード100にストレージ装置120が物理接続された場合に、ストレージ装置120をマルチストレージシステム内の一ストレージ装置として論理的に接続する。すなわちデータ管理部140は、ストレージ装置120を、制御ノード500から認識できるようにする。
When the
またデータ管理部140は、データアクセス部130によってライト要求に基づくデータの書き込みが行われた場合、データが書き込まれたスライス(プライマリスライス)に対応するセカンダリスライス内のデータ更新を行う。セカンダリスライス内のデータ更新処理は、セカンダリスライスを管理するディスクノードのデータ管理部と連携動作によって実現される。すなわち、データ管理部140は、更新されたデータを、セカンダリスライスを管理するディスクノードに送信する。そのデータを受け取ったディスクノードのデータ管理部は、セカンダリスライスにそのデータを書き込む。これにより、2重化されたデータの一貫性が保たれる。
When the
さらに、データ管理部140は、仮想ディスク管理部510からのメタデータ取得要求に応答して、メタデータ記憶部150に記憶されたメタデータを仮想ディスク管理部510に対して送信する。
Further, the
メタデータ記憶部150は、メタデータを記憶する。例えば、RAM内の記憶領域の一部がメタデータ記憶部150として使用される。なお、メタデータ記憶部150に格納されるメタデータは、システム停止時にはストレージ装置110内に格納され、システム起動時にメタデータ記憶部150に読み込まれる。
The
他のディスクノード200,300は、ディスクノード100と同様の機能を有している。すなわち、ディスクノード200は、データアクセス部220、データ管理部230、およびメタデータ記憶部240を有している。ディスクノード300は、データアクセス部320、データ管理部330、およびメタデータ記憶部340を有している。ディスクノード200,300内の各要素は、ディスクノード100内の同名の要素と同じ機能を有している。
The
管理ノード400は、管理者からの操作入力に応答して、マルチストレージシステムの管理用の指示を、各ノードに送信する。例えば、管理者は、ストレージ装置120とディスクノード100とをケーブルで接続(物理接続)した場合、管理ノード400に対してストレージ装置120の論理的な接続を指示する操作入力を行う。すると管理ノード400は、管理者からの操作入力に応答してディスクノード100に対して、新たに物理接続されたストレージ装置120の接続指示を送信する。その接続指示に基づいてディスクノード100がストレージ装置120内にメタデータの格納などの処理を行い、ストレージ装置120を制御ノード500において認識可能とする。接続指示に応じた処理が完了すると、ディスクノード100から管理ノード400へ接続完了応答が返される。
In response to the operation input from the administrator, the
また、管理ノード400は、管理者からの操作入力に応答して、仮想ディスクの移行指示を制御ノード500に送信する。例えば、仮想ディスク60内のデータのストレージ装置120への移行指示が送信される。この移行指示に応じて、制御ノード500が各ディスクノード100,200,300を制御し、データ移行を実現する。データの移行が完了すると、制御ノード500から管理ノード400へ移行完了応答が送信される。
Also, the
図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
作成される移行先ディスク121の記憶容量は、移行対象の仮想ディスク60と同じである。作成されるメタデータ用ディスク122の記憶容量は、仮想ディスク60のメタデータを格納可能な容量である。移行先ディスク121は、少なくともディスクノード100およびアクセスノード30からアクセス可能である。メタデータ用ディスク122は、少なくともディスクノード100からアクセス可能である。
The storage capacity of the created
次に、ストレージ装置110、移行先ディスク121、およびメタデータ用ディスク122内のデータ構造を詳細に説明する。ストレージ装置110には、複数のスライスとスライスごとのメタデータとが格納されている。移行先ディスク121とメタデータ用ディスク122とは、ストレージ装置120をディスクノード100に接続した直後は、内容がブランクである。ストレージ装置120接続後に、データ管理部140により、移行先ディスク121内の記憶領域がスライス単位に分割される。またストレージ装置120接続後に、データ管理部140により、メタデータ用ディスク122内にメタデータが格納される。
Next, the data structures in the
図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
デバイス情報116,122xは、ストレージ装置110,120の管理に使用される情報である。例えば、デバイス情報116,122xには、ストレージ装置110,120がマルチノードストレージシステムに組み込まれていることを示す情報が含まれる。また、ストレージ装置120のデバイス情報122xには、マルチストレージシステム内の仮想ディスクのデータの移行先となるディスクであることを示す情報を含めることができる。
The
さらに、デバイス情報116,122xには、メタデータ格納形式が含まれる。メタデータ格納形式は、各メタデータが対応するスライスと連続の記憶領域に格納されているのか、あるいはメタデータを一纏めにして、スライスとは個別の記憶領域に格納されているのかを示す情報である。本実施の形態では、各メタデータが対応するスライスと連続の記憶領域に格納されている場合のメタデータ格納形式を「type1」とする。また、メタデータを一纏めにして、スライスとは個別の記憶領域に格納されている場合のメタデータ格納形式を「type2」とする。
Further, the
図6の例では、ストレージ装置110は、個々のスライスと連続の記憶領域に、そのスライスに対応するメタデータが格納されている。従って、ストレージ装置110のメタデータ格納形式は「type1」である。移行先ディスク121に対応するメタデータは一纏めにしてメタデータ用ディスク122に格納されるため、メタデータ格納形式は「type2」となる。なお、移行先ディスク121に対応するメタデータは、ディスクノード100から見た場合に移行先ディスク121とは別ディスクとなるメタデータ用ディスク122に格納される。そこで、スライスとメタデータを別ディスクに一纏めで格納する場合のメタデータ格納形式を「type3」とすることもできる。この場合、ストレージ装置120のデバイス情報122xに示されるデータ格納形式は「type3」となる。
In the example of FIG. 6, the
ストレージ装置110に格納されたメタデータ117a,117b,・・・,117nは、ディスクノード100の起動時にデータ管理部140によって読み出され、メタデータ記憶部150に格納される。同様に、メタデータ用ディスク122に格納されたメタデータ122a,122b,・・・,122nも、ディスクノード100の起動時にデータ管理部140によって読み出され、メタデータ記憶部150に格納される。
The
次に、ディスクノード100内のメタデータ記憶部150のデータ構造について説明する。
図7は、メタデータ記憶部のデータ構造の一例を示す図である。メタデータ記憶部150には、メタデータテーブル151が格納されている。メタデータテーブル151には、ディスクノードID、スライスID、状態、仮想ディスクID、仮想ディスクアドレス、ペアのディスクノードID、およびペアのスライスIDの欄が設けられている。メタデータテーブル151内の横方向に並べられた情報同士が互いに関連付けられ、メタデータを示す1つのレコードとなる。
Next, the data structure of the
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
ディスクノード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
In the slice ID column, identification information (slice ID) in the
状態の欄には、スライスの状態を示す状態フラグが設定される。
図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
状態フラグのうち、「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
また、移行先ディスク121内の各スライスは、仮想ディスクアドレスのセグメントに割り当てられている。なお、移行先ディスク121内のスライスのうち、スライスIDの値が小さいスライスほど、仮想ディスクアドレスの値が小さいセグメントに割り当てられている。これにより、データ移行後は、仮想ディスク60におけるデータ配列と同じ配列で、仮想ディスク60内のデータが移行先ディスク121内に格納されることとなる。
Each slice in the
各ディスクノード100,200,300のメタデータ記憶部150,240,340に格納されたメタデータは、制御ノード500からの要求に応じて制御ノード500に送信される。制御ノード500では、ディスクノード100,200,300から収集したメタデータを、仮想ディスクメタデータ記憶部520に格納する。
The metadata stored in the
図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
なお、制御ノード500の仮想ディスク管理部510は、仮想ディスクが複数ある場合、ディスクノード100,200,300から収集したメタデータを、仮想ディスクIDによって分類してもよい。
Note that when there are a plurality of virtual disks, the virtual
次に、仮想ディスク60からストレージ装置120へのデータ移行の実施に利用される各ノードの機能について、詳細に説明する。
図10は、データ移行に利用される各ノードの機能を示す図である。制御ノード500の仮想ディスク管理部510は、仮想ディスクのデータ移行のために、スライス割り当て制御部511およびデータコピー指示部512を有する。
Next, the function of each node used for data migration from the
FIG. 10 is a diagram illustrating the function of each node used for data migration. The virtual
スライス割り当て制御部511は、システム起動時などに、各ディスクノード100,200,300に対してメタデータ照会要求を送信する。するとディスクノード100,200,300からメタデータが応答される。またスライス割り当て制御部511は、データコピー対象のスライスを選択し、該当スライスを管理しているディスクノードに対して、コピーの進行状況に応じてメタデータの更新を指示する。データコピー指示部512は、データコピーのコピー元となるスライスを管理するディスクノードに対して、移行先ディスク121への該当スライス内のデータの送信を指示する。
The slice
ディスクノード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
The migration destination
メタデータ管理部142は、制御ノード500からのメタデータ照会要求に応答して、メタデータ記憶部150内のメタデータを制御ノード500に送信する。また、メタデータ管理部142は、制御ノード500からの指示に従って、メタデータを更新する。
In response to the metadata inquiry request from the
データコピー部143は、制御ノード500からの指示に従って、仮想ディスク60のセグメントに割り当てられたスライス内のデータを、移行先ディスク121内のスライスにコピーする。また、データコピー部143は、他のディスクノード200,300から、移行先ディスク121内のスライスをコピー先としてデータを受信すると、受信したデータを、コピー先として指定されたスライスに格納する。
The data copy
ディスクノード200のデータ管理部230は、メタデータ管理部231とデータコピー部232とを有する。メタデータ管理部231は、制御ノード500からの指示に従って、メタデータを更新する。データコピー部232は、制御ノード500からの指示に従って、仮想ディスク60のセグメントに割り当てられたスライス内のデータを、コピー先のスライスを指定して、ディスクノード100に送信する。
The
ディスクノード300のデータ管理部330は、メタデータ管理部331とデータコピー部332とを有する。メタデータ管理部331とデータコピー部332との機能は、それぞれディスクノード200のメタデータ管理部231とデータコピー部232との機能と同じである。
The
次に、データ移行処理の手順について説明する。
図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
ディスクノード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
メタデータ用ディスク122へ格納するメタデータの内容は、管理ノード400からの指示に従って行われる。例えば、管理ノード400からの接続指示において、データの移行を行う仮想ディスク60の仮想ディスクIDとセグメントの数が指定される。すると、移行先ストレージ接続部141は、仮想ディスクのセグメントの数分のスライスに対応するメタデータを作成し、そのメタデータの仮想ディスクIDの欄には、仮想ディスク60の仮想ディスクIDを設定する。そして、移行先ストレージ接続部141は、作成したメタデータと、メタデータの格納形式を示すデバイス情報とを、メタデータ用ディスク122に格納する。この際、移行先ストレージ接続部141は、メタデータ用ディスク122に格納したメタデータを、メタデータ記憶部150にも格納する。その後、移行先ストレージ接続部141は、管理ノード400に対して接続完了応答を送信する。
The content of the metadata stored in the
[ステップS12]管理ノード400から制御ノード500に移行指示が出される。例えば、移行指示には、データの移行先となるストレージ装置120を接続したディスクノード100のディスクノードIDが指定されている。制御ノード500のスライス割り当て制御部511は、移行指示で指定されたディスクノード100に対して、メタデータ照会要求を送信する。
[Step S12] A migration instruction is issued from the
[ステップS13]メタデータ照会要求を受け取ったディスクノード100では、メタデータ管理部142がメタデータ記憶部150からメタデータを取得し、制御ノード500に送信する。なお、メタデータ管理部142は、メタデータ記憶部150からストレージ装置120内のスライスのメタデータのみを取得し、取得したメタデータを制御ノード500に送信してもよい。
[Step S13] In the
[ステップS14]メタデータを受信した制御ノード500のスライス割り当て制御部511は、受信したメタデータにより仮想ディスクメタデータ記憶部520内のメタデータを更新する。そして、データコピー指示部512の制御の下、ディスクノード100,200,300によるスライス内のデータの移行先ディスク121へのコピー処理が行われる。
[Step S14] The slice
[ステップ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
このような手順で、仮想ディスク60内のデータが移行先ディスク121に移行される。次に、ステップS14に示したスライスコピー処理について詳細に説明する。
図12は、スライスコピー処理の手順を示すシーケンス図である。図12には、1つのセグメントに関するスライスコピー処理が示されている。以下、図12に示す処理をステップ番号に沿って説明する。
With this procedure, the data in the
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
例えば、アドレス「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
[ステップS22]ディスクノード100では、メタデータ管理部142がメタデータ変更要求を受信する。すると、メタデータ管理部142は、メタデータ変更要求に従い、メタデータ記憶部150内のメタデータ変更要求で指定されたスライスのメタデータを更新する。すなわち、メタデータ管理部142は、指定されたスライスのメタデータの状態の欄の状態フラグを「B」から「R」に変更する。さらにメタデータ管理部142は、メタデータ用ディスク122内のメタデータ変更要求で指定されたスライスのメタデータについても同様に更新する。メタデータ管理部142は、メタデータの更新が完了すると、変更完了応答を制御ノード500に送信する。
[Step S22] In the
[ステップS23]制御ノード500では、スライス割り当て制御部511が変更完了応答を受信する。すると、スライス割り当て制御部511は、仮想ディスクメタデータ記憶部520内のメタデータについても、メタデータ変更要求で指示した内容と同様に更新する。その後、制御ノード500のデータコピー指示部512が、選択したセグメントに割り当てられたセカンダリのスライスを管理するディスクノードに対して、スライスコピー指示を送信する。
[Step S23] In the
例えばアドレス「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
[ステップS24]ディスクノード300では、データコピー部332がスライスコピー指示を受信する。するとデータコピー部332は、スライスコピー指示で指定されたセカンダリのスライス内のデータを、リザーブのスライスを管理するディスクノード100に送信する。この際、送信したデータの格納先として、例えばスライスコピー指示で指定されたリザーブのスライスのスライスIDが指定される。
[Step S24] In the
[ステップS25]ディスクノード100では、ディスクノード300から送信されたデータをデータコピー部143が受信する。するとデータコピー部143は、移行先ディスク121内の指定されたスライスに対して、受信したデータを書き込む。データの書き込みが完了すると、データコピー部143は、書き込み完了応答をディスクノード300に送信する。
[Step S25] In the
[ステップS26]ディスクノード300のデータコピー部332は、ディスクノード100から書き込み完了応答を受信すると、制御ノード500に対してコピー完了応答を送信する。
[Step S26] Upon receiving a write completion response from the
[ステップS27]制御ノード500のデータコピー指示部512は、選択したセグメントに割り当てられた各スライスを管理するディスクノード100,200,300に対して、メタデータ変更要求を送信する。例えば、プライマリのスライスを管理するディスクノード200に対しては、選択したセグメントに割り当てられていたスライスのペアの相手を移行先ディスク121内のデータのコピー先となったスライスに変更することを示すメタデータ変更要求が送信される。セカンダリのスライスを管理するディスクノード300に対しては、選択したセグメントに割り当てられていたスライスの状態を、セカンダリ「S」からフリー「F」へ変更することを示すメタデータ変更要求が送信される。リザーブのスライスを管理するディスクノード100に対しては、選択したセグメントに割り当てられていたスライスの状態を、リザーブ「R」からセカンダリ「S」へ変更することを示すメタデータ変更要求が送信される。
[Step S27] The data copy
なお、図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
[ステップS29]ディスクノード300では、メタデータ変更要求をメタデータ管理部331が受信する。メタデータ管理部331は、メタデータ変更要求に従って、メタデータ記憶部340内のメタデータを更新する。すなわちメタデータ管理部331は、選択されたセグメントに割り当てられたセカンダリのスライスのメタデータの状態フラグを、セカンダリ「S」からフリー「F」に変更する。また、メタデータ管理部331は、状態フラグを変更したメタデータの、仮想ディスクID、仮想ディスクアドレス、ペアのディスクノードID、およびペアのスライスIDの各欄の設定内容を削除する。状態がフリーとなったスライスは、セグメントへの割り当てが解除され、他のセグメントへの割り当てが可能となる。すなわち、状態がフリーとなったスライスは、そのスライスの記憶領域が開放される。
[Step S29] In the
さらにメタデータ管理部331は、メタデータ記憶部340に対するメタデータ更新処理と同様のメタデータ更新処理を、ストレージ装置310内のメタデータに対しても行う。メタデータの更新が完了すると、メタデータ管理部331は、変更完了応答を制御ノード500に送信する。
Further, the
[ステップS30]ディスクノード100では、メタデータ変更要求をメタデータ管理部142が受信する。メタデータ管理部142は、メタデータ変更要求に従って、メタデータ記憶部150内のメタデータを更新する。すなわちメタデータ管理部142は、選択されたセグメントに割り当てられたリザーブのスライスのメタデータの状態フラグを、リザーブ「R」からセカンダリ「S」に変更する。また、メタデータ管理部142は、状態フラグを変更したメタデータのペアのディスクノードIDの欄に、プライマリスライスを管理するディスクノードのディスクノードIDを設定する。さらに、メタデータ管理部142は、状態フラグを変更したメタデータのペアのスライスIDの欄に、プライマリスライスのスライスIDを設定する。その後、メタデータ管理部142は、メタデータ記憶部150に対するメタデータ更新処理と同様のメタデータ更新処理を、メタデータ用ディスク122内のメタデータに対しても行う。メタデータの更新が完了すると、メタデータ管理部142は、変更完了応答を制御ノード500に送信する。
[Step S30] In the
[ステップS31]制御ノード500では、スライス割り当て制御部511が、各ディスクノード100,200,300から送信された変更完了応答を受信する。すると、スライス割り当て制御部511は、仮想ディスクメタデータ記憶部520内のメタデータについても、ステップS27においてメタデータ変更要求で指示した内容と同様に更新する。
[Step S31] In the
図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
次に、スライスコピー処理によるメタデータの内容の推移について説明する。
図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 “
また、選択されたセグメントの仮想ディスクアドレスは、仮想ディスク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
第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
第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
ディスクノード200(ディスクノードID「DP2」)のスライスID「スライス100」のスライスのメタデータには、ペアのディスクノードIDがディスクノード100のディスクノードID「DP1」に変更されている。さらに、そのメタデータのペアのスライスIDが、選択されたセグメントのセカンダリスライスのスライスID「スライス1001」に変更されている。
In the metadata of the slice of the slice ID “
ディスクノード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 “
次に、図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
例えば、プライマリのスライスを管理するディスクノード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
[ステップS42]ディスクノード200では、メタデータ変更要求をメタデータ管理部231が受信する。メタデータ管理部231は、メタデータ変更要求に従って、メタデータ記憶部240内のメタデータを更新する。すなわちメタデータ管理部231は、選択されたセグメントに割り当てられたセカンダリのスライスのメタデータの状態フラグを、プライマリ「P」からフリー「F」に変更する。また、メタデータ管理部231は、状態フラグを変更したメタデータの、仮想ディスクID、仮想ディスクアドレス、ペアのディスクノードID、およびペアのスライスIDの各欄の設定内容を削除する。さらにメタデータ管理部231は、メタデータ記憶部240に対するメタデータ更新処理と同様のメタデータ更新処理を、ストレージ装置210内のメタデータに対しても行う。メタデータの更新が完了すると、メタデータ管理部231は、変更完了応答を制御ノード500に送信する。
[Step S42] In the
[ステップS43]ディスクノード100では、メタデータ変更要求をメタデータ管理部142が受信する。メタデータ管理部142は、メタデータ変更要求に従って、メタデータ記憶部150内のメタデータを更新する。すなわちメタデータ管理部142は、選択されたセグメントに割り当てられたセカンダリのスライスのメタデータの状態フラグを、セカンダリ「S」からプライマリ「P」に変更する。また、メタデータ管理部142は、状態フラグを変更したメタデータの、ペアのディスクノードID、およびペアのスライスIDの各欄の設定内容を削除する。さらにメタデータ管理部142は、メタデータ記憶部150に対するメタデータ更新処理と同様のメタデータ更新処理を、メタデータ用ディスク122内のメタデータに対しても行う。メタデータの更新が完了すると、メタデータ管理部142は、変更完了応答を制御ノード500に送信する。
[Step S43] In the
[ステップS44]制御ノード500では、スライス割り当て制御部511が、各ディスクノード100,200から送信された変更完了応答を受信する。すると、スライス割り当て制御部511は、仮想ディスクメタデータ記憶部520内のメタデータについても、ステップS41においてメタデータ変更要求で指示した内容と同様に更新する。
[Step S44] In the
図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
図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 “
すべてのデータ移行処理が完了すると、移行先ディスク121内のスライスはすべてプライマリスライスとなる。
図16は、データ移行後のメタデータ用ディスク内のメタデータの例を示す図である。図16に示す用に、メタデータ用ディスク122内の各メタデータ122a,122b,・・・,122nは、状態がすべてプライマリ「P」となっている。
When all data migration processing is completed, all slices in the
FIG. 16 is a diagram illustrating an example of metadata in the metadata disk after data migration. As shown in FIG. 16, the
以上のようにして、仮想ディスク60内のデータが、移行先ディスク121に移行される。移行後は、仮想ディスク60における仮想ディスクアドレスの順に、移行先ディスク121の上位から順番のスライスにデータが移行される。データ移行後は、アクセスノード30から仮想ディスク60を指定したアクセスを停止すれば、移行先ディスク121をマルチノードストレージシステムから切り離すことができる。具体的には、移行先ディスク121を有するストレージ装置120を、ディスクノード100から切り離すことができる。そして、ストレージ装置120をSANシステムに接続することで、仮想ディスク60内のデータのシステム間の移行が完了する。
As described above, the data in the
ところで、第2の実施の形態では、仮想ディスク60内のデータの移行が完了するまで、メタデータ用ディスク122に格納されたメタデータを用いて、移行先ディスク121内のデータをマルチストレージシステムの管理下に置くことができる。そのため、例えばデータ移行中に何れかのノードに故障が発生した場合、データ移行処理を中止し、データの保守を行うことができる。
By the way, in the second embodiment, until the data migration in the
図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
[ステップS52]スライス割り当て制御部511は、データ移行処理を中止する。例えば、スライスコピー処理(図11のステップS14)やセカンダリ切り離し処理(図11のステップS15)の途中であった場合、スライス割り当て制御部511は、新たなセグメントの選択を行わずに、データ移行処理を終了する。
[Step S52] The slice
[ステップS53]スライス割り当て制御部511は、各ディスクノード100,200,300からスライス情報を取得する。例えばスライス割り当て制御部511は、各ディスクノード100,200,300に対して、メタデータ照会要求を送信する。故障せずに動作しているディスクノードのメタデータ管理部は、メタデータ照会要求に応答し、メタデータ記憶部内のメタデータを制御ノード500に送信する。スライス割り当て制御部511は、ディスクノードから送られたメタデータに基づいて、仮想ディスクメタデータ記憶部520内のメタデータを更新する。
[Step S53] The slice
このとき、故障しているディスクノードからはメタデータが送られてこない。そのため、仮想ディスクメタデータ記憶部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
ストレージ装置の故障の場合、例えばディスクノードのメタデータ管理部において、故障したストレージ装置内のスライスに対応するメタデータを、制御ノード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
[ステップS54]スライス割り当て制御部511は、シングルプライマリ化の処理を行う。シングルプライマリ化処理とは、冗長性が損なわれたセグメントに割り当てられているスライスを、シングルプライマリの状態(状態フラグが「SP」)にする処理である。この処理の詳細は後述する(図18参照)。
[Step S54] The slice
[ステップS55]スライス割り当て制御部511は、再2重化処理を行う。再2重化処理では、冗長性が損なわれたセグメントのデータを2重化する処理である。この処理の詳細は後述する(図19参照)。
[Step S55] The slice
このような手順で、データ移行の途中でディスクノードの故障が発生しても、冗長性が損なわれたセグメントの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
図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
ステップ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
[Step S63] The slice
メタデータ変更要求を受信したディスクノードでは、異常セグメントに割り当てられているスライスの状態が、シングルプライマリ「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
このようにして、冗長性が損なわれた異常セグメントに割り当てられているスライスの状態が、すべてシングルプライマリ「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
ステップ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
[Step S73] The slice
[ステップS74]スライス割り当て制御部511は、ステップS73で選択したスライスの状態をフリー「F」からリザーブ「R」に変更することを指示するメタデータ変更要求を、ステップS73で選択したスライスを管理するディスクノードに送信する。メタデータ変更要求では、ステップS73で選択したスライスを、ステップS72で選択したセグメントに割り当てることも示される。メタデータ変更要求を受信したディスクノードでは、メタデータ変更要求で指定されたスライスが、ステップS72で選択したセグメントに割り当てられ、状態がリザーブ「R」に変更される。
[Step S74] The slice
またスライス割り当て制御部511は、選択したセグメントのシングルプライマリスライスを管理するディスクノードに対して、シングルプライマリスライスからプライマリスライスへの状態の変更を指示するメタデータ変更要求を送信する。プライマリスライスへの変更を指示するメタデータ変更要求を受信したディスクノードでは、メタデータ変更要求に従ってメタデータが変更される。
In addition, the slice
スライス割り当て制御部511は、メタデータ変更要求を送信した各ディスクノードから変更完了応答を受信すると、処理をステップS75に進める。
[ステップS75]データコピー指示部512は、ステップS72で選択したセグメントのシングルプライマリスライスを管理するディスクノードに対して、シングルプライマリスライス内のデータのコピー要求を送信する。コピー要求では、コピー先として、ステップS74でリザーブに変更したスライスが指定される。コピー要求を受信したディスクノードでは、指定されたシングルプライマリスライスのデータを、リザーブスライスを管理するディスクノードに送信する。リザーブスライスを管理するディスクノードは、シングルプライマリスライスのデータを受信し、リザーブスライスに書き込む。リザーブスライスを管理するディスクノードは、リザーブスライスへのデータの書き込みが完了すると、シングルプライマリスライスを管理するディスクノードへ書き込み完了応答を送信する。シングルプライマリスライスを管理するディスクノードは、書き込み完了応答を受信すると、制御ノード500に対してコピー完了応答を送信する。スライス割り当て制御部511は、コピー完了応答を受信すると、処理をステップS76に進める。
When the slice
[Step S75] The data copy
[ステップS76]スライス割り当て制御部511は、ステップS72で選択したセグメントに割り当てられたスライスを管理するディスクノードに対して、メタデータ変更要求を送信する。具体的には、スライス割り当て制御部511は、選択したセグメントのリザーブスライスを管理するディスクノードに対して、リザーブスライスからセカンダリスライスへの状態の変更を指示するメタデータ変更要求を送信する。
[Step S76] The slice
メタデータ変更要求を受信した各ディスクノードでは、メタデータ変更要求に従ってメタデータが変更される。スライス割り当て制御部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
次に、ノード故障時の処理を、具体例を用いて説明する。
まず、ステップ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
第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
第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
第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
第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
第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
このように図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
アクセスノード30は、セグメント内のデータにアクセスする場合、そのセグメントに割り当てられたプライマリスライスまたはシングルプライマリスライスにアクセスする。そのため、図21に示すようにシングルプライマリ化を行うことで、アクセスノード30から異常セグメント内のデータへのアクセスが可能となる。
When accessing data in a segment, the
シングルプライマリ化が完了すると、スライス割り当て制御部511は、フリースライスを選択して、異常セグメントのリザーブスライスとする。
図22は、異常セグメントにリザーブスライス割り当て後のメタデータの例を示す図である。図22に示すように、リザーブスライスは、シングルプライマリスライスを管理しているディスクノードとは別のディスクノードが管理するスライスから選択される。この際、シングルプライマリスライスは、プライマリスライスに変更される。また、ブランクスライスについては、変更されない。
When the single primary is completed, the slice
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
しかも、SANなどのマルチノードストレージシステム以外のシステムに接続して使用する予定のストレージ装置120にデータを安全に移行することができる。すなわち、データ移行が完了するまではストレージ装置120内のデータを制御ノード500の管理下に置き、マルチノードストレージシステムによる高い信頼性を確保することができる。例えば、移行先ディスク121とは別にメタデータ用ディスク122を設けたことで、データ移行が完了するまでは、移行先ディスク121もマルチストレージシステム管理下の1つのストレージ装置として扱うことができる。そのため、データ移行中に障害などが発生しても、メタデータ用ディスク122内のメタデータを利用して、適切な復旧処理が可能となる。
In addition, data can be safely migrated to the
さらに、セカンダリスライスのデータを、移行先ディスク121にコピーするようにしたことで、アクセスノード30からプライマリスライスへのアクセスに影響を与えずに、データコピーを行うことができる。
Furthermore, by copying the data of the secondary slice to the
〔第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
ディスクノード100aには、ストレージ装置110が接続されている。ディスクノード200aには、ストレージ装置210が接続されている。ディスクノード300aには、ストレージ装置310が接続されている。
A
ストレージ装置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
The
制御ノード500aは、ディスクノード100a,200a,300aを管理する。例えば、制御ノード500aは、ディスクノード100a,200a,300aから新たなストレージ装置の接続通知を受け取ると、仮想ディスク60を介して、接続されたストレージ装置に格納されていたデータにアクセスできるようにする。
The
なお、ディスクノード100a,200a,300aと制御ノード500aとは、図3に示したディスクノード100と同様のハードウェア構成で実現できる。
図25は、第3の実施の形態に係るマルチノードストレージシステムの各装置の機能を示すブロック図である。
The
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
The virtual
また仮想ディスク管理部510aは、管理ノード400aから仮想ディスク内のデータの移行指示を受け取ると、指定された仮想ディスク内のデータの指定されたストレージ装置へのコピーを、その仮想ディスクのデータを管理するディスクノードに指示する。仮想ディスク管理部510aは、移行指示に応じたデータのコピーが完了すると、管理ノード400aに対して移行完了応答を送信する。
When the virtual
仮想ディスクメタデータ記憶部520aは、ディスクノード100a,200a,300aから収集されたメタデータに基づいて生成された仮想ディスクメタデータを記憶する。例えば、制御ノード500a内のRAMの記憶領域の一部が仮想ディスクメタデータ記憶部520aとして使用される。
The virtual disk
ディスクノード100aは、データアクセス部130a、データ管理部140a、およびメタデータ記憶部150aを有している。
データアクセス部130aは、アクセスノード30からの要求に応答して、ストレージ装置110内のデータにアクセスする。データ管理部140aは、スイッチ10にストレージ装置600が物理接続された場合に、ストレージ装置600をマルチストレージシステム内の一ストレージ装置として論理的に接続する。すなわちデータ管理部140aは、ストレージ装置600を、ディスクノード100a経由で制御ノード500aから認識できるようにする。
The
The
またデータ管理部140aは、データアクセス部130aによってライト要求に基づくデータの書き込みが行われた場合、データが書き込まれたスライス(プライマリスライス)に対応するセカンダリスライス内のデータを更新する。すなわち、データ管理部140aは、更新されたデータを、セカンダリスライスを管理するディスクノードに送信する。そのデータを受け取ったディスクノードのデータ管理部は、セカンダリスライスにそのデータを書き込む。これにより、2重化されたデータの一貫性が保たれる。
In addition, when data is written based on the write request by the
さらに、データ管理部140aは、仮想ディスク管理部510aからのメタデータ取得要求に応答して、メタデータ記憶部150aに記憶されたメタデータを仮想ディスク管理部510aに対して送信する。
Furthermore, the
メタデータ記憶部150aは、メタデータを記憶する。例えば、RAM内の記憶領域の一部がメタデータ記憶部150aとして使用される。なお、メタデータ記憶部150aに格納されるメタデータは、システム停止時にはストレージ装置110内に格納され、システム起動時にメタデータ記憶部150aに読み込まれる。
The
他のディスクノード200a,300aは、ディスクノード100aと同様の機能を有している。すなわち、ディスクノード200aは、データアクセス部220a、データ管理部230a、およびメタデータ記憶部240aを有している。ディスクノード300aは、データアクセス部320a、データ管理部330a、およびメタデータ記憶部340aを有している。ディスクノード200a,300a内の各要素は、ディスクノード100a内の同名の要素と同じ機能を有している。
The
管理ノード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
図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
3つのメタデータ用ディスク612〜614は、それぞれディスクノード100a,200a,300aに対応する。各ディスクノード100a,200a,300aは、対応するメタデータ用ディスクに、移行先ディスク611内の自己の管理するスライスのメタデータを格納する。
The three
次に、仮想ディスク60からストレージ装置600へのデータ移行の実施に利用される各ノードの機能について、詳細に説明する。
図26は、データ移行に利用される各ノードの機能を示す図である。制御ノード500aの仮想ディスク管理部510aは、仮想ディスクのデータ移行のために、スライス割り当て制御部511aおよびデータコピー指示部512aを有する。
Next, the function of each node used for performing data migration from the
FIG. 26 is a diagram illustrating the function of each node used for data migration. The virtual
スライス割り当て制御部511aは、システム起動時などに、各ディスクノード100a,200a,300aに対してメタデータ照会要求を送信する。するとディスクノード100a,200a,300aからメタデータが応答される。またスライス割り当て制御部511aは、データコピー対象のスライスを選択し、該当スライスを管理しているディスクノードに対して、コピーの進行状況に応じてメタデータの更新を指示する。データコピー指示部512aは、データコピーのコピー元となるスライスを管理するディスクノードに対して、移行先ディスク611aへの該当スライス内のデータの送信を指示する。
The slice
ディスクノード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
The migration destination
メタデータ管理部142aは、制御ノード500aからのメタデータ照会要求に応答して、メタデータ記憶部150a内のメタデータを制御ノード500aに送信する。また、メタデータ管理部142aは、制御ノード500aからの指示に従って、メタデータを更新する。
In response to the metadata inquiry request from the
データコピー部143aは、制御ノード500aからの指示に従って、仮想ディスク60のセグメントに割り当てられたスライス内のデータを、移行先ディスク611内のスライスにコピーする。また、データコピー部143aは、他のディスクノード200a,300aから、移行先ディスク611内のスライスをコピー先としてデータを受信すると、受信したデータを、コピー先として指定されたスライスに格納する。
The data copy
ディスクノード200aのデータ管理部230aは、移行先ストレージ接続部231a、メタデータ管理部232a、およびデータコピー部233aを有する。移行先ストレージ接続部231a、メタデータ管理部232a、およびデータコピー部233aの機能は、それぞれディスクノード100aの移行先ストレージ接続部141a、メタデータ管理部142a、およびデータコピー部143aと同じである。ただし、移行先ストレージ接続部231aは、管理ノード400aから接続指示を受けた場合、管理するメタデータ用ディスク612とは別の仮想的なディスクを、自己の管理するメタデータ用ディスク613とする。
The data management unit 230a of the
ディスクノード300aのデータ管理部330aは、移行先ストレージ接続部331a、メタデータ管理部332a、およびデータコピー部333aを有する。移行先ストレージ接続部331a、メタデータ管理部332a、およびデータコピー部333aの機能は、それぞれディスクノード100aの移行先ストレージ接続部141a、メタデータ管理部142a、およびデータコピー部143aと同じである。ただし、移行先ストレージ接続部331aは、管理ノード400aから接続指示を受けた場合、管理するメタデータ用ディスク612,613とは別の仮想的なディスクを、自己の管理するメタデータ用ディスク614とする。
The
次に、データ移行処理の手順について説明する。
図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
また管理ノード400aは、例えば、移行先ディスク611、仮想ディスク、メタデータ用ディスク612〜614とするストレージ装置600内の仮想ディスクの識別番号(例えば、RAIDのLUN)を接続指示に含めることができる。これにより、各ディスクノード100a,200a,300aは、移行先ディスク611と、自己の管理するメタデータを格納するメタデータ用ディスク612〜614とを認識できる。
Further, the
ディスクノード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
メタデータ用ディスク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
[ステップS82]ディスクノード200aの移行先ストレージ接続部231aは、ディスクノード100aと同様に、管理ノード400aからの接続指示に従って、移行先ディスク611とメタデータ用ディスク613を認識する。そして移行先ストレージ接続部231aは、メタデータ用ディスク613内に、ディスクノード200aが管理を担当するセグメントに割り当てるスライスに対応するメタデータを作成し、メタデータ用ディスク613に格納する。その後、移行先ストレージ接続部231aは、管理ノード400aに接続完了応答を送信する。
[Step S82] As with the
[ステップS83]ディスクノード300aの移行先ストレージ接続部331aは、ディスクノード100aと同様に、管理ノード400aからの接続指示に従って、移行先ディスク611とメタデータ用ディスク614を認識する。そして移行先ストレージ接続部331aは、メタデータ用ディスク614内に、ディスクノード300aが管理を担当するセグメントに割り当てるスライスに対応するメタデータを作成し、メタデータ用ディスク614に格納する。その後、移行先ストレージ接続部331aは、管理ノード400aに接続完了応答を送信する。
[Step S83] Similarly to the
[ステップS84]管理ノード400aから制御ノード500aに移行指示が出される。例えば、移行指示には、データの移行先となるストレージ装置600を接続したディスクノード100a,200a,300aのディスクノードIDが指定されている。制御ノード500aのスライス割り当て制御部511aは、移行指示で指定されたディスクノード100a,200a,300aに対して、メタデータ照会要求を送信する。
[Step S84] A transition instruction is issued from the
[ステップS85]メタデータ照会要求を受け取ったディスクノード100aでは、メタデータ管理部142aがメタデータ記憶部150aからメタデータを取得し、制御ノード500aに送信する。なお、メタデータ管理部142aは、メタデータ記憶部150aからストレージ装置600内のスライスのメタデータのみを取得し、取得したメタデータを制御ノード500aに送信してもよい。
[Step S85] In the
[ステップS86]メタデータ照会要求を受け取ったディスクノード200aでは、メタデータ管理部232aがメタデータ記憶部240aからメタデータを取得し、制御ノード500aに送信する。なお、メタデータ管理部232aは、メタデータ記憶部240aからストレージ装置600内のスライスのメタデータのみを取得し、取得したメタデータを制御ノード500aに送信してもよい。
[Step S86] In the
[ステップS87]メタデータ照会要求を受け取ったディスクノード300aでは、メタデータ管理部332aがメタデータ記憶部340aからメタデータを取得し、制御ノード500aに送信する。なお、メタデータ管理部332aは、メタデータ記憶部340aからストレージ装置600内のスライスのメタデータのみを取得し、取得したメタデータを制御ノード500aに送信してもよい。
[Step S87] In the
[ステップS88]メタデータを受信した制御ノード500aのスライス割り当て制御部511aは、受信したメタデータにより仮想ディスクメタデータ記憶部520a内のメタデータを更新する。そして、データコピー指示部512aの制御の下、ディスクノード100a,200a,300aによるスライス内のデータの移行先ディスク611へのコピー処理が行われる。
[Step S88] The slice
[ステップ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
このような手順で、仮想ディスク60内のデータが移行先ディスク611に移行される。
第3の実施の形態における第2の実施の形態との相違点として、複数のディスクノード100a,200a,300aで分担して移行先ディスク611を管理することがある。各ディスクノード100a,200a,300aには、接続指示の際に、それぞれが担当する仮想ディスク60内のセグメントが通知される。各ディスクノード100a,200a,300aは、担当するセグメントに対応する移行先ディスク611内のスライスを管理する。
With this procedure, data in the
A difference between the third embodiment and the second embodiment is that the plurality of
図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
担当領域情報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
例えばディスクノード100aには、担当領域情報71が送信されている。この担当領域情報71には、移行先ディスクID「LU」、メタデータ用ディスクID「LU1」、仮想ディスクID「LVOL1」、仮想ディスク開始アドレス「A1」、仮想ディスク終了アドレス「A10」が設定されている。
For example, assigned area information 71 is transmitted to the
このような担当領域情報71,72,73に基づいて、各ディスクノード100a,200a,300aは、自己の管理するセグメントを認識する。なお、移行先ディスク611内のスライスは、アドレスが小さい方から順に、アドレスの小さいセグメントに割り当てられるものとする。この場合、各ディスクノード100a,200a,300aは、自己の管理するセグメントを認識することで、そのセグメントのデータを格納するための移行先ディスク611内のスライスも一意に特定できる。
Based on such assigned area information 71, 72, 73, each
図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
ディスクノード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
ディスクノード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
図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
メタデータ用ディスク613には、ディスクノード200aが管理するスライスのメタデータが格納されている。そのためディスクノードIDの欄には、ディスクノード200aのディスクノードID「DP2」が設定されている。またメタデータ用ディスク613には、スライスIDが「スライス1011」〜「スライス1020」の各スライスに対応するメタデータが格納されている。スライスIDが「スライス1011」〜「スライス1020」の各スライスは、仮想ディスク60の仮想ディスクアドレス「A11」〜「A20」の各セグメントに割り当てられている。
The
メタデータ用ディスク614には、ディスクノード300aが管理するスライスのメタデータが格納されている。そのためディスクノードIDの欄には、ディスクノード300aのディスクノードID「DP3」が設定されている。またメタデータ用ディスク614には、スライスIDが「スライス1021」〜「スライス1030」の各スライスに対応するメタデータが格納されている。スライスIDが「スライス1021」〜「スライス1030」の各スライスは、仮想ディスク60の仮想ディスクアドレス「A21」〜「A30」の各セグメントに割り当てられている。
The
なお図30の例では、移行先ディスク611の各スライスのスライスIDは全ディスクノードで一意になるようにしているが、スライスIDは個々のディスクノード内で一意であればよい。すなわち、異なるディスクノードでスライスIDが重複しても、各メタデータのディスクノードIDとの組み合わせによってスライスを一意に識別可能である。
In the example of FIG. 30, the slice ID of each slice of the
図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
このように、移行先ディスク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
移行先ディスク711に格納される情報は、第2の実施の形態における移行先ディスク121に格納される情報と同様である。メタデータ用ディスク721に格納される情報は、第2の実施の形態におけるメタデータ用ディスク122に格納される情報と同様である。すなわち、第2の実施の形態において1台のストレージ装置120内に設けられていた移行先ディスク121とメタデータ用ディスク122とのそれぞれに対応する情報が、第4の実施の形態では、複数のストレージ装置710,720に別個に格納されている。ディスクノード100は、スライスのデータを移行先ディスク711に格納し、各スライスのメタデータをメタデータ用ディスク721に格納する。
The information stored in the
このように、移行先ディスク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
なお、ストレージ装置720に設けられたメタデータ用ディスク721は、移行先ディスク711へのデータ移行を行った仮想ディスクとは別の仮想ディスクのデータ移行を行うときに利用できる。そのため、メタデータ用ディスク721の削除処理は行わなくともよい。
Note that the
なお、図25に示した第3の実施の形態の例においても、メタデータ用ディスク612,613,614を、ストレージ装置600とは別のストレージ装置に設けることができる。
In the example of the third embodiment shown in FIG. 25, the
〔その他の応用例〕
第2の実施の形態では、移行先ディスク121を有するストレージ装置120が、ディスクノード100に直接接続されているが、ストレージ装置120をスイッチ10経由でディスクノード100に接続してもよい。
[Other application examples]
In the second embodiment, the
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、管理ノード、制御ノード、ディスクノードなどが有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置(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
(付記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
(付記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
(付記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
(付記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
(付記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
(付記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
Claims (6)
前記コンピュータに、
前記仮想ディスクの記憶容量に相当する第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乃至3のいずれかに記載のデータ管理プログラム。 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.
前記複数のノードそれぞれは、前記仮想ディスクの記憶容量に相当する第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.
前記コンピュータが、
前記仮想ディスクの記憶容量に相当する第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.
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)
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)
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 |
-
2010
- 2010-06-11 JP JP2010133740A patent/JP5640480B2/en not_active Expired - Fee Related
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 |