JP2016192170A - ストレージ制御装置、ストレージシステムおよびストレージ制御プログラム - Google Patents

ストレージ制御装置、ストレージシステムおよびストレージ制御プログラム Download PDF

Info

Publication number
JP2016192170A
JP2016192170A JP2015072986A JP2015072986A JP2016192170A JP 2016192170 A JP2016192170 A JP 2016192170A JP 2015072986 A JP2015072986 A JP 2015072986A JP 2015072986 A JP2015072986 A JP 2015072986A JP 2016192170 A JP2016192170 A JP 2016192170A
Authority
JP
Japan
Prior art keywords
storage
volume
divided data
migration
node
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2015072986A
Other languages
English (en)
Inventor
達史 高村
Tatsushi Takamura
達史 高村
池田 淳二
Junji Ikeda
淳二 池田
義起 寺井
Yoshiki Terai
義起 寺井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2015072986A priority Critical patent/JP2016192170A/ja
Priority to US15/062,713 priority patent/US20160291899A1/en
Publication of JP2016192170A publication Critical patent/JP2016192170A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD

Abstract

【課題】大容量のデータの効率的な移行を可能にする。
【解決手段】ストレージ制御装置は、受付部、決定部、及び、移行部を含む。受付部は、複数のストレージに分散して配置された複数の分割データを含む複数のボリュームのうち、移行元のストレージから移行先のストレージへ移行する対象ボリュームの指定を受け付ける。決定部は、移行元のストレージ内に配置可能な分割データの数と、対象ボリュームの分割データの数とに基づいて、移行元のストレージ内に配置する対象ボリュームの分割データのレイアウトを決定する。移行部は、決定したレイアウトに基づいて、対象ボリュームの分割データを移行元のストレージに配置して、配置した複数の分割データを一括して移行先のストレージへ移行する制御を行う。
【選択図】図1

Description

本発明は、ストレージ制御装置、ストレージシステムおよびストレージ制御プログラムに関する。
複数のストレージを連携させて1つのシステムとして稼動させる技術として、スケールアウト型ストレージと称される技術が知られている。また、入出力の負荷集中を抑制するために、複数のストレージにまたがってボリュームのセグメントを分散するワイドストライピングと称される技術が知られている。
スケールアウト型ストレージでは、容量または性能が不足した場合に、ストレージ(以下、ノードと称することもある)の交換を行う。また、保守期限が近づいている運用中のストレージを新規のストレージに交換する場合もある。ストレージの交換においては、データの移行が行われる。データ移行に関する技術として、以下の2つの技術が提案されている(例えば、特許文献1〜2参照)。
第1の技術として、上位装置と制御装置を有する記憶システムがある。上位装置は、第1のストレージ装置内の第1のボリュームに格納されたデータをファイル単位で第2のストレージ装置内の対応する第2のボリュームにコピーする。制御装置は、第1のボリュームに記憶されたデータを第2のボリュームにボリューム単位でコピーするように第1及び第2のストレージ装置を制御する。記憶システムは、データ移行対象の第1のボリュームに格納されたデータの状況に応じて、当該第1のボリュームに格納されたデータを、ボリューム単位及びファイル単位のいずれで移行するかを決定する。
第2技術として、上位装置と、制御装置と、データ移行制御部と、を備える記憶システムがある。上位装置は、第1のストレージ装置内の第1のボリュームに格納されたデータをファイル単位で第1のストレージ装置から読み出して第2のストレージ装置内の対応する第2のボリュームにコピーする。制御装置は、第1のボリュームに記憶されたデータを第2のボリュームにボリューム単位でコピーするように第1及び第2のストレージ装置を制御する。データ移行制御部は、第1のボリュームに格納されたデータの状況に応じて、第1のボリュームに格納されたデータを、ボリューム単位で移行する第1のデータ移行方法及びファイル単位で移行する第2のデータ移行方法のいずれの方法で移行するかを決定する。そしてデータ移行制御部は、決定した第1又は第2のデータ移行方法によりデータ移行を行なうように、必要な制御処理を実行する。
特開2009−211132号公報 特開2013−33515号公報
複数のストレージにデータが分散している状態で、運用中のストレージから新規のストレージにデータを移行する場合、移行する必要のないデータも移行される。このため、効率的なデータの移行を行うことが難しい。また、データの移行は、システムの運用を継続しながら行うことが望ましい。
そこで、1つの側面では、本発明は、大容量のデータの効率的な移行を可能にすることを目的とする。
一態様によるストレージ制御装置は、受付部、決定部、及び、移行部を含む。受付部は、複数のストレージに分散して配置された複数の分割データを含む複数のボリュームのうち、移行元のストレージから移行先のストレージへ移行する対象ボリュームの指定を受け付ける。決定部は、移行元のストレージ内に配置可能な分割データの数と、対象ボリュームの分割データの数とに基づいて、移行元のストレージ内に配置する対象ボリュームの分割データのレイアウトを決定する。移行部は、決定したレイアウトに基づいて、対象ボリュームの分割データを移行元のストレージに配置して、配置した複数の分割データを一括して移行先のストレージへ移行する制御を行う。
一態様によれば、大容量のデータの効率的な移行を可能にする。
実施形態に係るストレージ制御装置の機能ブロックの一例を示す。 ストレージシステムの一例を示す。 仮想化ストレージの最小物理構成の一例を示す。 スケールアウト型ストレージの構成の一例を示す。 新規のノードを追加したストレージシステムの一例を示す。 ワイドストライピングの一例を示す。 ボリューム管理マネージャが管理する分散配置情報の一例を示す。 新陳代謝マネージャの機能ブロックの一例を示す。 ボリューム再配置の一例を示す。 セグメントの再配置を行った後のストレージシステムの全体の一例を示す。 ボリュームの移行の説明図(その1)である。 ボリュームの移行の説明図(その2)である。 ボリュームの移行の説明図(その3)である。 再配置制御部の構成の詳細の一例を示す。 再配置処理前のセグメントの配置の一例を示す。 配置管理情報のデータ構造の一例を示す。 最適配置情報の説明図である。 移行対象外のボリュームのセグメントの追い出しの説明図である。 最適配置情報により示されるレイアウトに存在しないセグメントの後端への移動の説明図である。 最適配置情報により示されるレイアウトに存在するセグメントの移動の説明図である。 セグメント群の移行(1回目)の説明図である。 移行が未完了であるセグメントに対する最適配置情報の説明図である。 最適配置情報に基づいたセグメントの再配置(2回目)の説明図である。 セグメント群の移行(2回目)の説明図である。 実施形態に係るボリュームの移行処理の詳細を図解したフローチャートの一例である。 最適配置情報作成処理の詳細を図解したフローチャートの一例である。 比較例における再配置処理の説明図である。 実施形態における再配置処理の説明図である。 実施形態に係るコントローラのハードウェア構成の一例を示す。
図1は、実施形態に係るストレージ制御装置の機能ブロックの一例を示す。図1において、ストレージ制御装置101は、受付部102、決定部103、及び、移行部104を含む。
受付部102は、複数のストレージに分散して配置された複数の分割データを含む複数のボリュームのうち、移行元のストレージから移行先のストレージへ移行する対象ボリュームの指定を受け付ける。決定部103は、移行元のストレージ内に配置可能な分割データの数と、対象ボリュームの分割データの数とに基づいて、移行元のストレージ内に配置する対象ボリュームの分割データのレイアウトを決定する。移行部104は、決定したレイアウトに基づいて、対象ボリュームの分割データを移行元のストレージに配置(再配置)して、配置した複数の分割データを一括して移行先のストレージへ移行する制御を行う。
ストレージ制御装置101は、移行元のストレージ内に配置可能な分割データの数と、対象ボリュームの分割データの数とに基づいて決定されたレイアウトに応じて、分割データの配置を行い、その後配置したデータを一括して移行している。これにより、ストレージ制御装置101は、一括して移行できるデータ量を最大化することができる。また、ストレージ制御装置101は、移行のために通信される管理メッセージ量を削減できる。よって、ストレージ制御装置101では、移行における管理が容易になり、移行処理を効率的に行うことができる。
ストレージ制御装置101は、移行元のストレージ内に配置可能な分割データの数と、対象ボリュームの分割データの数とに基づいて、レイアウトを決定し、このレイアウトに基づいて配置を行っている。すなわち、配置前に決定した最適なレイアウトに基づいて、配置が行われる。これにより、ストレージ制御装置101は、配置において発生するノード内でのセグメントの移動(コピー)の回数を削減することができる。
また、決定部103は、対象ボリュームの分割データの数が、移行元のストレージに連続して配置可能な分割データの数を示す配置可能数よりも大きい場合、以下のようにレイアウトを決定する。すなわち、決定部103は、配置可能数分の分割データ毎に、対象ボリュームの分割データが、対象ボリュームにおける分割データのアドレスの順に、移行元のストレージの所定の記憶領域の一端から連続して配置されるようにレイアウトを決定する。そして、移行部104は、決定したレイアウトに基づいて、配置可能数分の分割データ毎に対象ボリュームの分割データを移行元のストレージに配置して、配置した分割データを一括して移行先のストレージへ移行する制御を行う。
ストレージ制御装置101は、配置可能数分の分割データ毎に、対象ボリュームにおける分割データのアドレスの順に、連続して配置されるようにレイアウトを決定している。これにより、ストレージ制御装置101は、移行元のノードにはいりきらない大容量ボリュームの移行であっても、効率的に移行を行うことができる。
また、決定部103は、対象ボリュームの分割データの数が配置可能数よりも大きい場合、記憶領域に存在する分割データのうち、アドレスの順が配置可能数より後である分割データが、記憶領域の他端から連続して配置されるように、レイアウトを変更する。そして、移行部104は、変更されたレイアウトに基づいて、分割データを配置し、アドレスの順が配置可能数以前の分割データを一括して移行する制御を行う。
ストレージ制御装置101は、記憶領域に存在する分割データのうち、アドレスの順が配置可能数より後である分割データが、記憶領域の他端から連続して配置されるように、レイアウトを変更している。これにより、ストレージ制御装置101は、移行元のストレージへの配置におけるストレージ間の通信量を抑制することができる。
また、移行部104は、記憶領域に存在する分割データのうちアドレスの順が配置可能数より後である分割データの数に応じて、配置可能数を変更する。これにより、ストレージ制御装置101は、移行元のストレージへの配置におけるストレージ間の通信量を抑制することができる。
また、受付部102は、移行元のストレージから移行先のストレージへ移行しない対象外ボリュームの指定を受け付ける。そして、移行部104は、記憶領域に存在する分割データのうち、対象外ボリュームに含まれる分割データを、移行元のストレージ以外のストレージに配置する。これにより、ストレージ制御装置101は、一括して移行できるデータ量を最大化することができる。
(システムの全体構成の一例)
以下、図面を参照して、実施形態について説明する。図2は、システム1の一例を示している。システム1は、サーバ2、スイッチ3、ノード4A〜ノード4Cおよびインターコネクト7を含む。システム1は、ストレージシステムの一例である。
サーバ2はホスト装置であり、所定の処理を行う。サーバ2は、業務サーバと称されることもある。スイッチ3は、サーバ2とノード4A〜4Cとの間の通信を切り替える。スイッチ3は、業務スイッチと称されることもある。
図2の例では、ノード4Aは「ノード#1」と示し、ノード4Bは「ノード#2」と示し、ノード4Cは「ノード#3」と示している。各ノード4A〜4Cは、ストレージの一例である。例えば、ストレージは、ストレージ筐体に内蔵される。
各ノード4A〜4C(総称してノード4と称することもある)は、コントローラ5A〜5C(総称してコントローラ5と称することもある)および記憶領域6A〜6C(総称して記憶領域6と称することもある)を含む。例えば、コントローラ5および記憶領域6も、上述したストレージ筐体に内蔵される。
記憶領域6はデータを記憶する。例えば、記憶領域6は、ディスク領域である。コントローラ5は、記憶領域6に記憶されているデータのリードやライト等の制御を行う。インターコネクト7は、各ノード4を接続する通信路である。図2の例では、各ノード4に記憶されているデータは、スイッチ3およびインターコネクト7を経由して、他のノード4に移行することができる。
(スケールアウト型ストレージの一例)
図2に示したストレージは、仮想化ストレージ装置である。仮想化ストレージ装置とは、物理的なストレージのディスク構成や容量に縛られることなく、自由な容量、構成を実現することのできるストレージ装置である。ストレージ装置内部に実ストレージ装置(以下、SU(Storage Unit)と称することもある)があり、SUのディスク領域をプールとして一元管理するプロセッサ装置(以下、PU(Processor Unit)と称することもある)により仮想的なボリュームを生成できる。コントローラ5はSUの一例である。記憶領域6はPUの一例である。
図3は、仮想化ストレージの最小物理構成の一例を示す。仮想化ストレージは、PU(PU#1、PU#2)、SW(SW#1、SW#2)、及びSU(SU#1)を含む。各PUは、各SWを介して、SUに接続する。SUは、LUN(Logical Unit Number)により識別される複数のストレージデバイス(以下、単にLUNと称することもある)を含む。PUでは、仮想化ソフトウェアが稼動し、仮想的なディスクを業務サーバに認識させる。仮想ディスクに対する入出力リクエストは、仮想化ソフトウェアが適切な対応付けまたは変換を行い、実ストレージデバイスへの入出力を制御する。
また、図2に示したシステム1は、スケールアウト型ストレージの形態を採用している。スケールアウト型ストレージは、PUとSUの組をノードとして、ノード単位でスケールアウトできる装置である。スケールアウトすることで、容量不足や処理性能不足を解消することができる。
図4は、スケールアウト型ストレージの構成の一例を示す。図4の例に示すように、スケールアウト型ストレージでは、各ノード4の記憶領域6はプール8として一元管理されている。従って、各ノード4が分離していたとしても、ユーザは各ノード4の記憶領域6を1つの仮想的な記憶領域として扱うことができる。
(ワイドストライピングの一例)
各ノード4はそれぞれボリュームという単位でデータを管理している。ボリュームは論理ボリュームと称されることもある。実施形態では、ボリューム自体はデータであり、ボリュームは複数に分割される。実施形態では、分割されたボリュームはセグメントと称される。セグメントは、分割データの一例である。
なお、実施形態では、上記のように、データはボリュームとして、分割データはセグメントとして説明するが、データはボリュームには限定されない。また、分割データはセグメントには限定されない。データは任意の情報であってもよく、分割データはデータを分割した情報であればよい。また、ボリュームはデータが格納された記憶領域でもよく、セグメントは分割データが格納された記憶領域であってもよい。
図4の例では、ノード4Aによって入出力が制御されるボリュームを「Vol_1」とし、ノード4Bによって入出力が制御されるボリュームを「Vol_2」とし、ノード4Cによって入出力が制御されるボリュームを「Vol_3」とした場合の例を示している。
各ノード4によって入出力が制御されるボリュームを分割したセグメントは、各ノード4の記憶領域6に分散配置される。この分散配置はワイドストライピングと称されることもある。ワイドストライピングでは、1つのノード4に入出力負荷が偏在しないように、セグメントを複数のノード4に分散配置する。ワイドストライピングを行うことで、システム1は安定した性能を発揮することができる。
図4の例では、各ノード4によって入出力が制御されるボリュームは3つに分割されて3つのセグメントとなる。そして、3つのセグメントは、それぞれ3つのノード4に分散配置されている。これにより、分割された3つのセグメントを均等に分散配置することができる。なお、ボリュームは任意の数のセグメントに分割してもよい。なお、図4では、各ノード4の記憶領域6は同一のプール8に含まれる例を示したが、幾つかのノード4の記憶領域6は、異なるプールに含まれるようにしてもよい。
例えば、図4において、各ノードに含まれる8つのLUNの容量が1TBとすると、仮想化ストレージでは、100GBのボリュームを240個や12TBのボリュームを2個などとして構成することができる。このように、仮想化ストレージでは、物理的なストレージのボリューム構成や容量に縛られることなく、自由な容量、構成を実現できる。
(新規ノードを追加した一例)
図5は、システム1において、新規のノードを追加した例を示している。図5に示すように、実施形態では、3種類のノード4がある。交換ノード4Aは、交換対象となるノードである。
既存ノード4Bは、既存のシステム1で運用されていたノード4のうち、交換対象とならないノードである。上述したワイドストライピングの例では、交換ノード4Aと1以上の既存ノード4とにセグメントが分散配置されている。
図5の例では、既存ノード4Bは1つを示しているが、例えば、図2で示したノード4Cが既存ノードであってもよい。既存ノードの数は1または2には限定されない。新規ノード4Dは、新規に追加されるノードである。交換ノード4Aが新規ノード4Dに交換される。
交換ノード4Aのコントローラ5Aについて説明する。コントローラ5Aは、入出力制御部10A、クラスタ制御11Aおよびボリューム管理エージェント12Aを含む。以降、図面では、ボリューム管理エージェントを「ボリューム管理Agt」と表記する。
入出力制御部10Aは、交換ノード4Aに対するデータの入出力制御を行う。
クラスタ制御11Aは複数のノード間のクラスタリングに関する制御を行う。システム1においては、複数のノード4のうちの一部または全部は冗長構成(クラスタ構成)をとってもよい。ボリューム管理エージェント12Aはボリュームを管理する。
既存ノード4Bのコントローラ5Bについて説明する。コントローラ5Bは、入出力制御部10B、クラスタ制御11B、GUI制御15およびボリューム管理マネージャ16を含む。以降、図面では、ボリューム管理マネージャを「ボリューム管理Mgr」と表記する。
入出力制御部10Bは、既存ノード4Bに対するデータの入出力制御を行う。クラスタ制御11Bは複数のノード間のクラスタリングに関する制御を行う。GUI制御15は、GUI(Graphical User Interface)の制御を行う。ボリューム管理マネージャ16は、交換ノード4Aと既存ノード4Bとに分散配置されているセグメントの管理を行う。
(ボリューム管理マネージャの一例)
ここで、ワイドストライピングに基づく、ボリューム管理マネージャ16の一例について説明する。
図6は、ワイドストライピングの一例を示している。図6に示すように、ボリュームは複数のセグメントに分割される。分割されたセグメントは、複数のLUNに分散配置される。実施形態では、LUNはストレージになる。
例えば、1つのボリュームが4つのセグメントに分割されるときに、1つのセグメントが256MBであるとすると、1つのボリュームは1024MBになる。尚、実施形態においては、各セグメントのサイズは所定の固定サイズとする。
ボリューム管理マネージャ16は、分散配置情報を有する。分散配置情報は、各ボリュームの各セグメントが格納されているLUNとそのLUNにおける格納領域を示す情報である。尚、分散配置情報は、所定の記憶領域に格納される。
図7は、ボリューム管理マネージャ16が管理する分散配置情報の一例である。図7において、分散配置情報は、「ボリュームインデックス」、「LUN ID」、「オフセット」、「ボリュームID」のデータ項目を含む。各データ項目は、レコード(行)毎に対応付けられる。「ボリュームインデックス」は、ボリュームにおけるセグメントの位置を示すインデックス番号を示す。すなわち「ボリュームインデックス」は、セグメントがボリュームの何番目の要素であるかを示す。「LUN ID」は、該当するセグメントが格納されているLUNの識別番号を示す。「オフセット」は、該当するセグメントが格納されている領域のLUN内のオフセットを示す。「ボリュームID」はボリュームの識別番号を示す。
図7の例では、「ボリュームID」が「1」のボリューム(ボリュームAと記す)についてのデータ構造を示している。このボリュームAは、複数のノードの複数のLUNに格納されたセグメントを含んでいる。例えば、ボリュームAの最初のセグメントは、ノード1のLUN1の0番地から255番地までの領域に格納されていることが示されている。また、ボリュームAの2番目のセグメントは、ノード2のLUN1の0番地から255番地までの領域に格納されていることが示されている。
(新陳代謝)
図5に示すように、新規ノード4Dのコントローラ5Dは、入出力制御部10D、クラスタ制御11D、ボリューム管理エージェント12Dおよび新陳代謝マネージャ13を含む。入出力制御部10Dは、新規ノード4Dに対するデータの入出力制御を行う。クラスタ制御11Dは複数のノード間のクラスタリングに関する制御を行う。ボリューム管理エージェント12Dはボリュームを管理する。
新陳代謝マネージャ13は、新陳代謝の制御を行う。新陳代謝マネージャ13は、ストレージ制御装置101の一例である。
新陳代謝について説明する。新陳代謝とは、複数のノード4を用いて運用されているシステム1で、例えば保守期限が近づいたノード4を新規のノード4に交換することである。この交換は、オンラインで、すなわち、業務サーバの運用を停止することなしに実施することが求められる。交換においては、交換するノードのデータが新規のノードに移行される。
新陳代謝をオンラインで実施する場合、データ移行中に更新されるデータも全て交換先ノードに移行される。これを実現するために、交換するボリュームのデータ更新をボリュームのセグメント単位で管理し、最初のコピー後に更新された領域を再度コピーするなどの処理が行われる。
ここで、スケールアウト型ストレージでは、ボリュームは、複数のノードのディスク領域に分散して配置された複数のデータを含んでいる。このような、分散して配置されたデータを含むボリュームを移行する場合、複数ノードにわたるデータの管理や制御が行われることとなる。
また、互換性のないノード間では、実データを分散して配置することはできない。これは、既存のノード群と新しいノード群でストレージの世代が異なるため仮想化ソフトウェアやインターコネクトが異なる場合などは、それぞれのノード群で独立したプール管理が行われるためである。このため、新規ノードと既存ノードの間に互換性がない場合に、移行途中のある時点において、新規ノードと既存ノードまたは交換ノードとに分散してデータが配置されると、そのボリュームは使用不可となり、業務が停止することとなる。
これらのことから、データの移行は、1つの移行元ノードからボリューム単位で一括して行うことが望ましい。そこで実施形態では、新陳代謝マネージャ13は、移行前に、先ず、各ノードに分散配置されていたセグメントを交換ノードに集めて配置するように制御する。そして、新陳代謝マネージャ13は、交換ノードに集められた移行するボリュームのセグメントを一括してボリューム単位で移行するように制御する。
図5の例では、新陳代謝を制御する新陳代謝マネージャ13は、新規ノード4Dのコントローラ5Dに含まれている。図8は、新陳代謝マネージャ13の機能ブロックの一例を示している。なお、以降の図面において、新陳代謝マネージャは「新陳代謝Mgr」と表記する。
図8の例の新陳代謝マネージャ13は、情報取得部21、互換性認識部22、リードライト要求認識部23、再配置制御部24、移行制御部25、入力情報認識部26、リスト記憶部27、及び、配置情報記憶部28を含む。
情報取得部21は、既存ノード4Bのボリューム管理マネージャ16から分散配置情報を取得する。例えば、情報取得部21は、新規ノード4Dの通信機能を用いて、スイッチ3またはインターコネクト7を経由して、既存ノード4Bから分散配置情報を取得する。
互換性認識部22は、インターコネクト7の互換性を認識する。互換性認識部22は、互換性のあるインターコネクト7に接続されるノード4の間で通信を行うことができる。リードライト要求認識部23は、サーバ2から入出力制御部10Dに対して、リード要求またはライト要求があったことを認識する。
再配置制御部24は、ワイドストライピングされている各セグメントの再配置を行う。交換ノード4Aのボリューム(Vol_1:以下、ボリュームV1とする)は、交換ノード4Aおよび1以上の既存ノードに分散配置されている。再配置制御部24は、ボリュームV1のセグメント(ボリュームV1を分割したセグメント)を交換ノード4Aの記憶領域6Aに再配置する制御を行う。また、再配置制御部24は、交換ノード4Aに配置されている移行対象外のボリュームのセグメントを他の1以上のノード4に配置する制御を行う。具体的には、再配置制御部24は、コントローラ5Bのボリューム管理マネージャ16に指示を送り、この指示を受信したボリューム管理マネージャ16がデータの再配置を制御する。尚、ボリューム管理マネージャ16は、受信した指示に応じて、コントローラ5Aのボリューム管理エージェント12Aに対して再配置の指示を送る。そして、この指示を受信したボリューム管理エージェント12Aが再配置を実行することにより、交換ノード4Aのセグメントの再配置を制御する。また、再配置制御部24は、交換ノード4Dに配置されているボリュームのセグメントを他の1以上のノード4に配置する制御を行う。また、再配置制御部24は、ワイドストライピングを行う。
移行制御部25は、交換ノード4Aの入出力制御部10Aを新規ノード4Dの入出力制御部10Dに移行する。例えば、移行制御部25は、入出力制御部10Aを入出力制御部10Dにコピーしてもよい。このとき例えば、交換ノード4Aに割り当てられていたアドレス(例えば仮想IP(Internet Protocol)アドレス)も新規ノード4Dに移行されてもよい。これにより、ボリュームV1の担当ノードが交換ノード4Aから新規ノード4Dに変更される。移行制御部25は、移行部104の一例である。
そして、移行制御部25は、入出力制御部10Aの移行を行った後に、交換ノード4Aの記憶領域6Aに記憶されているボリュームV1のセグメントを新規ノード4Dに移行する。つまり、移行制御部25は、ボリュームV1を交換ノード4Aから新規ノード4Dに移行する。
入力情報認識部26は、入力された情報を認識する。例えば、新規ノード4Dやシステム1を管理するコンピュータ(不図示)に設けられる入力手段(不図示)を用いて、ユーザが情報を入力した場合、ユーザが入力した情報を入力情報認識部26が認識する。
リスト記憶部27は、第1リスト31および第2リスト32を記憶する。第1リスト31は、移行するボリュームのリストである。第2リスト32は、移行を行わない移行対象外ボリュームのリストである。第1リスト31に含まれる移行するボリュームの識別情報は、入力情報認識部26を介してユーザから入力されてもよい。第1リスト32に含まれる移行対象外ボリュームの識別情報は、入力情報認識部26を介してユーザから入力されてもよい。
配置情報記憶部28は、最適配置情報33及び配置管理情報34を記憶する。最適配置情報33及び配置管理情報34はいずれも、再配置制御部24による再配置処理において用いられる情報である。最適配置情報33は、交換ノードの記憶領域に格納されるセグメントのレイアウトを示す情報であって、移行のための最適なレイアウト(配置)を示す情報である。最適な配置とは、具体的には、例えば、交換ノードの記憶領域のうちの所定の領域の一端からボリュームインデックスの順にセグメントが連続して配置された状態を指す。配置管理情報34は、交換ノードの記憶領域に格納されているセグメントを示す情報である。最適配置情報33及び配置管理情報34の詳細は、後述する。
(ボリューム再配置の一例)
図9(A)および図9(B)は、ボリューム再配置の一例を示している。図9(A)に示すように、交換ノード4Aに対応するボリュームV1がある。また、既存ノード4Bに対応するボリューム(Vol_2:以下、ボリュームV2とする)がある。また、既存ノード4Cに対応するボリューム(Vol_3:以下、ボリュームV3とする)がある。
ボリュームV1、V2およびV3はそれぞれ複数に分割されて複数のセグメントとなり、各ノード4に均等に分散配置されている。情報取得部21は、既存ノード4Bのボリューム管理マネージャ16から分散配置情報を取得する。
これにより、再配置制御部24は、交換ノード4Aと既存ノード4Bおよび4Cとに分散配置されているボリュームのセグメントに関する情報を認識できる。再配置制御部24は、分散配置情報に基づいて、ボリュームV1のセグメントを交換ノード4Aに再配置する制御を行う。
また、再配置制御部24は、分散配置情報に基づいて、交換ノード4Aに配置されているボリュームV1以外のボリュームV2およびV3のセグメントを既存ノード4Bまたは4Cに再配置する制御を行う。
図9(B)は、再配置制御部24がセグメントの再配置を行った後に、各ノード4に再配置されるセグメントの状態を示している。図9(B)に示すように、ボリュームV1のセグメントは全て交換ノード4Aに再配置されている。
図10は、図9(B)のようにセグメントの再配置を行った後のシステム1の全体の一例を示している。図9(B)および図10に示すように、交換ノード4AはボリュームV1だけのセグメントを記憶する。
ここで、再配置制御部24は、任意の1以上のボリュームのセグメントを交換ノード4Aに再配置してもよい。例えば、交換ノード4AにボリュームV2のセグメントが多く配置されている場合、再配置制御部24は、既存ノード4Bおよび4CからボリュームV2のセグメントを交換ノード4Aに再配置する。
(ボリュームの移行の一例)
次に、ボリュームの移行の一例について、図11〜図13を参照して説明する。図11〜図13は、ボリュームの移行の説明図である。上述したように、再配置制御部24は、1以上の既存のノード4から交換するノード4にボリュームのセグメントの再配置を行う。以下、交換するノード4は交換ノード4Aであり、1以上の既存のノード4は既存ノード4Bおよび4Cであるものとする。
再配置制御部24によるボリュームのセグメントの再配置を行うことにより、交換ノード4Aの記憶領域6Aにボリュームが再配置される。このボリュームを上述したボリュームV1とする。
図11に示すように、移行制御部25は、交換ノード4Aの入出力制御部10Aを新規ノード4Dに移行する。例えば、移行制御部25は、入出力制御部10Aの機能を新規ノード4Dの入出力制御部10Dにコピーする。これにより、ボリュームV1の担当は、交換ノード4Aから新規ノード4Dに変更される。
次に、図12に示すように、移行制御部25は、スイッチ3を経由して、交換ノード4Aの記憶領域6Aに再配置されているボリュームV1を新規ノード4Dの記憶領域6Dに移行する。尚、インターコネクト7Aとインターコネクト7Bの間に互換性があり、インターコネクトを介して、交換ノード4Aと新規ノード4Dの通信が可能である場合には、インターコネクトを経由して移行が行われてもよい。
以上のように、移行制御部25は、交換ノード4Aの入出力制御部10Aを新規ノード4Dに移行することで、移行するボリュームV1の担当は新規ノード4Dになる。その後に、移行制御部25は、ボリュームV1を交換ノード4Aから新規ノード4Dに移行するため、システム1の運用の継続性を維持しつつ、ノードの交換を行うことができる。また、サーバ2については設定変更を加えることなく、ノードの交換を行うことができる。
図13は、移行制御部25が交換ノード4Aをシステム1から切り離した状態を示している。交換ノード4Aが担当していたボリュームV1の担当は新規ノード4Dに変更されている。また、ボリュームV1は新規ノード4Dの記憶領域6Dに移行されている。
上述したように、再配置制御部24は、交換ノード4Aと既存ノード4Bおよび4Cとに分散配置されていたボリュームV1のセグメントを交換ノード4Aに再配置している。その後に、移行制御部25がボリュームV1を交換ノード4Aから新規ノード4Dに移行している。このため、移行制御部25は、交換ノード4Aに集められたボリュームV1のセグメントをそのまま新規ノード4Dに移行すればよいため、効率的なデータの移行を行うことができる。また、移行制御部25は、交換ノード4Aの入出力制御部10Aを新規ノード4Dに移行した後に、ボリュームV1の移行を行っている。従って、システム1の運用を継続しながら、データの移行を行うことができる。
(大容量ボリュームの再配置の一例)
移行するボリュームが大容量である場合、再配置の際に、交換ノードに大容量ボリュームを格納する領域を確保できない場合がある。この場合、移行するボリュームの再配置ができないため、大容量ボリュームのデータを一括して移行することはできない。これは、例えば図9等において、移行するボリュームV1の容量が、交換ノード4Aの記憶領域6Aよりも大きい場合などである。
そこで、移行するボリュームが大容量である場合には、セグメント単位で移行を行うことも考えられる。しかしながらセグメント単位での移行は、大量のセグメントに対して管理や更新を行いながらコピーを行うこととなるため、移行の効率が悪くなる。
また、新規ノードが使用するインターコネクトと既存ノードが使用するインターコネクトで規格の互換性が無い場合(例:Ethernet(登録商標)とInfinibandなど)、スイッチ3が属するネットワーク(以下、業務ネットワークとも称する)を経由して、メッセージ通信やデータの移行が行われる。この場合、業務ネットワークでは、移行のための大量の通信メッセージと実データがやりとりされることとなる。ここで、業務ネットワークでは、サーバ2からの業務I/Oによるデータも通信される。よって、業務ネットワークを介した移行を行うと、業務に影響が及ぶ場合もある。
実施形態においては、このような移行するボリュームが大容量である場合の移行に対応するために、移行するボリュームのセグメントを、交換ノードに配置可能なセグメントの総数(以下、配置可能数とも称する)毎に纏めて、データの移行を行う。ここで、一度に纏められるセグメント群は、ボリュームにおけるセグメントの位置(以下、ボリュームインデックスとも称する)が連続するセグメント群となるように纏められる。また、このようなセグメント群が移行される順番は、ボリュームにおけるセグメント群の位置に応じた順となるように制御される。配置可能数毎に一括してデータの移行を行うことで、大容量のボリュームであっても、効率的なデータの移行が可能となる。これにより、データの移行において、業務ネットワークにかかる負荷を軽減することができる。
移行するボリュームのセグメントを配置可能数分のセグメント群毎に纏めて移行できるように、実施形態においては、セグメントの再配置処理が適切に制御される。具体的には、再配置処理において、再配置制御部24は、最適配置情報33及び配置管理情報34を用いて、配置可能数毎に纏めるセグメント群を、交換ノードの記憶領域6Aに集めるための再配置処理を行う。このとき、再配置制御部24は、再配置後の記憶領域のレイアウトが、記憶領域の一端からボリュームインデックスの順にセグメントが連続して配置された状態となるように、再配置処理を行う。
このような、記憶領域の一端からボリュームインデックスの順にセグメントが連続して配置された状態となるように行われる再配置処理においては、セグメントのコピーが多発する可能性がある。そこで実施形態の再配置制御部24は、セグメントのコピー回数を抑制しつつ、データの再配置を行う。
以下、実施形態に係る再配置制御部24について詳細に説明する。
尚、再配置処理において、ノード間でデータが行き来するとそれだけ無駄なコストが発生する。そのため、再配置制御部24は、再配置処理前から交換ノード内に存在する移行するボリュームのセグメントについては、他の既存ノードに追い出さないように制御する。
図14は、再配置制御部24の構成の詳細の一例を示す。再配置制御部24は、取得部41、作成部42、及び再配置部43を含む。取得部41は、情報取得部21から分散配置情報を取得する。また、取得部41は、リスト記憶部27から第1リスト31及び第2リスト32を取得する。作成部42は、分散配置情報に基づいて、配置管理情報34を作成する。また、作成部42は、移行するボリュームのセグメント数と配置可能数とに応じて、最適配置情報33を作成する。再配置部43は、最適配置情報33と配置管理情報34を用いて、セグメントの再配置を行う。取得部41は、受付部102の一例である。作成部42は、決定部103の一例である。再配置部43は、移行部104の一例である。
以下、図15〜図20を参照して、大容量ボリュームの移行に対応した再配置処理の詳細を説明する。図15〜図20の説明において、移行するボリュームのボリュームA(ボリュームIDは「1」)、移行対象外のボリュームD(ボリュームIDは「D」)として説明する。
図15は、再配置処理前のセグメントの配置の一例を示す。図15において、各ノード4A〜4Cの記憶領域に、移行するボリューム及び移行対象外ボリュームのセグメントが分散して配置されている。移行するノード4Aの記憶領域は8つの分割領域を含む。8つの分割領域は、ノードインデックスにより識別される。図15においては、左上の分割領域から右上の分割領域にかけて、順にノードインデックスは「1」、「2」、「3」、「4」であり、左下の分割領域から右下の分割領域にかけて、順にノードインデックスは、「5」、「6」、「7」、「8」であるとして説明する。ノードインデックスが連続する領域同士は、物理的に連続しているものとする。すなわち、ノードインデックス「4」とノードインデックス「5」の分割領域も物理的に連続しているものとする。また、各分割領域のサイズは、セグメントサイズである。図15において、移行するボリュームAのセグメントに振られた数字は、ボリュームインデックスの値を示している。すなわち、移行するボリュームAは、ボリュームインデックスが「1」〜「10」のセグメントを含むボリュームである。よって、図15の例は、移行するボリュームAを交換ノード4Aの記憶領域に一度にすべてを格納することはできない例を示している。以下では、図15に示す状態からデータの再配置が行われる様子を例に説明する。
先ず、取得部41は、リスト記憶部27から第1リスト31及び第2リスト32を取得する。作成部42、及び再配置部43は、第1リスト31から移行するボリュームの識別情報を取得する。また、作成部42、及び再配置部43は、第2リスト32から移行対象外のボリュームの識別情報を取得する。
次に、取得部41は、情報取得部21から分散配置情報を取得する。この分散配置情報に基づいて、作成部42は、配置管理情報34を作成する。配置管理情報34は、交換ノード4Aの現在の記憶領域に格納されているセグメントの配置を示す情報である。
図16は、配置管理情報34のデータ構造の一例を示す。図16において、配置管理情報34は、「ノードインデックス」、「ボリュームID」、及び「ボリュームインデックス」のデータ項目を含む。各データ項目は、レコード(行)毎に対応付けられる。
「ノードインデックス」は、交換ノード4Aの記憶領域6Aをセグメントのサイズ毎に分割したときの各分割領域の識別情報を示す。尚、ノードインデックスが連続する分割領域同士は、それらの物理領域が連続することを示す。「ボリュームID」は、対応する「ノードインデックス」で示される分割領域に格納されているセグメントが属するボリュームの識別番号を示す。「ボリュームインデックス」は、対応する「ノードインデックス」で示される分割領域に格納されているセグメントの、ボリュームにおける位置を示すインデックス番号を示す。すなわち「ボリュームインデックス」は、セグメントがボリュームの何番目の要素であるかを示す。
図16に示す配置管理情報34は、図15に示す交換ノード4Aのセグメントの配置を示している。例えば、配置管理情報34の最初のレコードは、交換ノード4Aの「ノードインデックス」が「1」の分割領域に、「ボリュームID」が「1」のボリュームにおける「ボリュームインデックス」が「1」で示されるセグメントが格納されていることを示している。以下の説明では、「ノードインデックス」がx(xは正の整数)の分割領域を分割領域xと記し、「ボリュームインデックス」がy(yは正の整数)で示されるセグメントをセグメントyと記す場合がある。
次に、再配置制御部24は、交換ノード4Aの記憶領域6Aにおける再配置後のセグメントの最適な配置を示す最適配置情報33を作成する。最適な配置は、移行するボリュームの未だ移行されていないセグメントのうち、配置可能数と等しい数のセグメントもしくは未だ移行されていないセグメントの全てが、ボリュームインデックスの順に、記憶領域6Aの一端から連続して配置された状態である。未だ移行されていないセグメントの総数が配置可能数より大きい場合には、最適な配置は、配置可能数と等しい数のセグメントが記憶領域6Aの一端から連続して配置された状態となる。未だ移行されていないセグメントの総数が配置可能数以下の場合には、最適な配置は、未だ移行されていないセグメントの全てが、記憶領域6Aの一端から連続して配置された状態となる。尚、再配置処理は、配置可能数のセグメント毎に複数回繰り返される可能性があるが、最適配置情報33は、次回行われる再配置処理の最適配置を示す。
尚、移行するボリュームが複数ある場合には、最適な配置は、以下のようになる。すなわち、移行する複数のボリュームをボリュームXとボリュームYとした場合、最適な配置は、記憶領域6Aの一端からボリュームXの未移行のセグメントが、ボリュームインデックスの順に連続して配置された状態となる。そして、最適な配置は、ボリュームXの最後のセグメントが格納された分割領域の次の分割領域から、ボリュームYのセグメントが、ボリュームインデックスの順に連続して配置された状態となる。
図17は、最適配置情報33の説明図である。図17(A)は、最適配置情報33のデータ構造の一例を示す。最適配置情報33は、ノード内のインデックスとボリュームインデックスとの対応関係を示す。図17(A)において、最適配置情報33は、「ノードインデックス」、「ボリュームID」、及び「ボリュームインデックス」のデータ項目を含む。各データ項目は、レコード(行)毎に対応付けられる。
「ノードインデックス」は、交換ノード4Aの記憶領域6Aをセグメントのサイズ毎に分割したときの各分割領域の識別情報を示す。「ボリュームID」は、最適なレイアウトにおいて、対応する「ノードインデックス」で示される分割領域に格納されるセグメントが属するボリュームの識別番号を示す。「ボリュームインデックス」は、最適なレイアウトにおいて、対応する「ノードインデックス」で示される分割領域に格納されるセグメントのインデックス番号を示す。
図17(B)は、最適配置情報33により示される物理的な配置の説明図である。最適配置情報33において、各分割領域に格納されるセグメントはすべて、移行するボリュームである「ボリュームID」が「1」のボリュームAに属するセグメントとなっている。また、ノードインデックスが「1」〜「8」の分割領域には、それぞれ、「ボリュームインデックス」が「1」〜「8」のセグメントが格納されている。このように、図17(A)の最適配置情報33は、ボリュームAの未移行のセグメントのうち、ボリュームインデックスの小さい順に配置可能数(「8」)と等しい数のセグメント1〜8が、記憶領域6Aの一端から連続して配置された状態を示している。尚、以下の説明では、ノードインデックスが最小(「1」)の分割領域を前端と記し、ノードインデックスが配置可能数と等しい分割領域を後端と記す。
最適配置情報33の作成が完了すると、再配置部43は、移行対象外のボリュームDのセグメントを交換ノード4Aから既存ノード4Bおよび4Cに追い出す。図18は、移行対象外のボリュームのセグメントの追い出しの説明図である。図18(A)は、追い出しの様子を示す。図18(B)は、追い出し時の最適配置情報33を示す。図18(C)は、追い出し時の配置管理情報34の変化を示す。
図18(A)に示すように、再配置部43は、交換ノード4Aの記憶領域6Aに格納されているボリュームDのセグメントを、既存ノード4B及び4Cの空き領域に再配置する。追い出されたセグメントが格納されていた記憶領域6Aの領域は、空き領域となる。再配置部43は、追い出しとともに、配置管理情報34を更新する。
図18(C)に示すように、配置管理情報34において、「ボリュームID」が「D」のレコードの「ボリュームID」及び「ボリュームインデックス」の値が「null」に変更されている。尚、値が「null」のレコードは、空き領域を示すレコードである。
尚、既存ノードへの追い出し先が確保できないセグメントについては、交換ノードの後端に移動させるものとする。尚、この移動に伴って、最適配置において後端に格納されるセグメントの格納先が埋まってしまう。このため、再配置部43は、後端の分割領域へのデータの移動が不可能となったことを最適配置情報33に反映し、配置可能数をデクリメントする。これにより再配置部43は、重複してセグメントが格納されることを防ぐ。ただし、仮想ボリューム全体の容量には十分な余裕がある場合が多く、既存ノードへの追い出し先が確保できないケースが発生する確率は少ない。
追い出しが完了すると、再配置部43は、最適配置情報33に基づいて、移行するボリュームAのセグメントを交換ノード4Aに再配置する。すなわち、再配置部43は、最適配置情報33が示すレイアウトとなるように、移行するボリュームのセグメントの移動を行う。移動先の分割領域が空き領域でない場合には、再配置部43は、その領域に格納されているセグメントを、一時的に交換ノード4Aの別の空き領域に退避する。この退避においても、再配置部43は、最適配置情報33が示すレイアウトとなるように退避先を決める。移行するボリュームAのセグメントの再配置は、具体的には、以下の手順で行われる。
先ず、再配置部43は、交換ノード4Aに一度に収まりきらないセグメントを、記憶領域6Aの後端に移動させる。すなわち、再配置部43は、交換ノード4Aに存在するボリュームAのセグメントのうち、最適配置情報33により示されるレイアウトに存在しないセグメントを、記憶領域6Aの後端に移動させる。具体的には、再配置部43は、交換ノード4Aに存在するボリュームAのセグメントのうち、ボリュームインデックスが大きいセグメントから順に選択し、以下の追い出し処理を繰り返し行う。すなわち、再配置部43は、先ず、選択したセグメントのボリュームインデックスが、最適配置情報33の何れのレコードの「ボリュームインデックス」とも異なるか否かを判定し、異なると判定した場合には、選択したセグメントを記憶領域6Aの後端に移動させる。また、選択したセグメントの移動とともに、再配置部43は、最適配置情報33において、後端の分割領域に対応するレコードの「ボリュームインデックス」の値を、移動したセグメントのボリュームインデックスに更新する。また、再配置部43は、移動後の状態を配置管理情報34に反映する。その後、再配置部43は、配置可能数の値をデクリメント(−1)する。尚、このような追い出し処理は、追い出し処理において選択したセグメントのボリュームインデックスが、最適配置情報33の何れかのレコードの「ボリュームインデックス」と一致するまで繰り返し行われる。
図19は、最適配置情報33により示されるレイアウトに存在しないセグメントの後端への移動の説明図である。図19(A)は、後端への移動の様子を示す。図19(B)は、後端への移動時の最適配置情報33の変化を示す。図19(C)は、後端への移動時の配置管理情報34の変化を示す。
図19(B)に示すように、後端への移動前において、最適配置情報33のレコードの「ボリュームインデックス」の値は「1」〜「8」のいずれかであり、配置可能数は「8」である。図19(A)に示すように、後端への移動前において、記憶領域6Aに格納されているボリュームAのセグメントのうち、ボリュームインデックスが「1」〜「8」の何れとも異なるセグメントは、セグメント9及びセグメント10である。
よって、先ず、再配置部43は、ボリュームインデックスが最も大きいセグメント10を選択する。次に再配置部43は、セグメント10のボリュームインデックスは、最適配置情報33の何れのレコードの「ボリュームインデックス」とも異なると判定する。そして再配置部43は、セグメント10を後端、すなわち、分割領域8に移動する。それとともに再配置部43は、最適配置情報33の「ノードインデックス」が「8」のレコードの「ボリュームインデックス」の値を「10」に変更し、配置可能数の値を「8」から「7」に変更する。
次に、再配置部43は、ボリュームインデックスが「10」の次に大きいセグメント9を選択する。セグメント9についてもセグメント10と同様に、再配置部43は、後端への移動と、最適配置情報33及び配置可能数の変更を行う。
以上のようにして、再配置部43は、最適配置情報33により示されるレイアウトに存在しないセグメントを、記憶領域6Aの後端に移動させる。
次に、再配置部43は、最適配置情報33で示されるレイアウトとなるように、移行するボリュームのセグメントを移動する。すなわち、再配置部43は、最適配置情報33により示されるレイアウトに存在するセグメントを、記憶領域6Aの前端からの連続領域に移動させる。具体的には、再配置部43は、最適配置情報33のレコードの「ノードインデックス」の昇順にレコードを1つずつ選択する。そして、再配置部43は、選択したレコードの「ボリュームインデックス」で示されるセグメントを、「ノードインデックス」で示される分割領域に移動する。この選択と移動を、再配置部43は、配置可能数で示される回数繰り返す。また、再配置部43は、移動後の状態を配置管理情報34に反映する。
図20は、最適配置情報33により示されるレイアウトに存在するセグメントの移動の説明図である。図20(A)は、移動の様子を示す。図20(B)は、移動時の最適配置情報33を示す。図20(C)は、移動時の配置管理情報34の変化を示す。移動前において、配置可能数は「6」である。
図20(A)に示すように、先ず、再配置部43は、図20(B)の最適配置情報33から「ノードインデックス」の値が最も小さい「1」であるレコードを選択する。選択したレコードの「ボリュームインデックス」の値は「1」であるので、再配置部43は、セグメント1を分割領域1に配置する。図20(A)の場合には、既に配置済みとなっている。同様に、再配置部43は、「ノードインデックス」の値が「2」〜「6」のレコードを順に選択し、セグメント2〜セグメント6を、分割領域2〜分割領域6に配置する。そして、再配置部43は、図20(C)に示すように、移動後の記憶領域6Aの状態を配置管理情報34に反映する。
以上のようにして、再配置部43は、最適配置情報33により示されるレイアウトに存在するセグメントを、記憶領域6Aの前端からの連続領域に移動させる。
再配置部43は、上述した、移行対象外のボリュームのセグメントの追い出しと、移行するボリュームのセグメントの移動とを繰り返す。これにより、空き領域をさらに一時領域として確保し、交換ノードの前端からの連続領域に格納する移行するボリュームのセグメント数を増やしていく。
以上のようにして、セグメントの再配置が完了すると、移行制御部25は、配置管理情報34を用いて、記憶領域6Aの前端に格納されたセグメントからボリュームインデックスが連続するセグメント郡を纏めて、一括して新規ノード4Dに移行する。移行が完了すると、移行したセグメントが格納されていた記憶領域6Aの分割領域は空き領域となる。移行制御部25は、移行後の記憶領域6Aの状態を、配置管理情報34に反映する。
図21は、セグメント群の移行(1回目)の説明図である。図21(A)は、移行(1回目)の様子を示す。図21(B)は、移行(1回目)時の最適配置情報33を示す。図21(C)は、移行(1回目)時の配置管理情報34の変化を示す。
図21(A)に示すように、移行制御部25は、図21(B)の配置管理情報34を参照して、分割領域1に格納されているセグメント1からボリュームインデックスが連続するセグメント6までのセグメント郡を纏めて移行する。移行が完了すると、移行制御部25は、図21(C)に示すように、移行後の記憶領域6Aの状態を配置管理情報34に反映し、配置可能数を「8」に戻す。
以上のようにして、移行制御部25はセグメント群の移行を行う。尚、移行制御部25は、空き領域にセグメントの移動をさせようとしたが、使用できる空き領域がない場合は、連続領域に片寄せできた範囲でセグメント群を一括して移行する。
移行が完了すると、移行したセグメントが格納されていた記憶領域6Aの領域は空き領域となるので、その空き領域を用いて、再配置制御部24は、移行するボリュームのうち移行が未完了のセグメントに対して再配置処理を行う。すなわち、再配置制御部24は、上述した最適配置情報33の作成処理以降の処理を繰り返す。
図22は、移行が未完了であるセグメントに対する最適配置情報33の説明図である。図22(A)は、移行が未完了であるセグメントに対する最適配置情報33を示す。図22(B)は、最適配置情報33により示される記憶領域6Aのレイアウトを示す図である。
上述したように、最適配置情報33は、未だ移行されていないセグメントの総数が配置可能数以下の場合には、以下を示す。すなわち、この場合、最適配置情報33は、移行するボリュームの未だ移行されていないセグメントのうち、ボリュームインデックスの小さい順に、未だ移行されていないセグメントの全てが記憶領域6Aの一端から連続して配置された状態のレイアウトを示す。図21を参照して説明したように、セグメント1〜セグメント6の移行は既に完了しており、移行が完了していないセグメントはセグメント7〜セグメント10である。配置可能数は「8」である。よって、未だ移行されていないセグメントの数は配置可能数以下であるので、最適な配置は、未だ移行されていないセグメントの全てが記憶領域6Aの一端から連続して配置された状態となる。図22(A)の最適配置情報33を参照すると、「ノードインデックス」が「1」〜「4」のレコードの「ボリュームインデックス」にそれぞれ、「7」〜「10」が格納されている。すなわち、最適配置は、図22(B)に示すように、分割領域1〜分割領域4にそれぞれ、セグメント7〜セグメント10が格納された状態となる。尚、図22(A)の最適配置情報33では、「ノードインデックス」が「5」〜「8」のレコードも記載しているが、これらのレコードはなくてもよい。
最適配置情報33の作成が完了すると、再配置部43は、作成した最適配置情報33に基づいて、移行するボリュームAのセグメントを交換ノード4Aに再配置する。尚、交換ノードには移行対象外のボリュームのセグメントは存在しないので、追い出し処理はスキップされる。
図23は、最適配置情報33に基づいたセグメントの再配置(2回目)の説明図である。図23(A)は、再配置(2回目)の様子を示す。図23(B)は、再配置(2回目)時の最適配置情報33を示す。図23(C)は、再配置(2回目)時の配置管理情報34の変化を示す。配置可能数は「8」である。
図23(A)に示すように、分割領域1〜分割領域4にそれぞれ、セグメント7〜セグメント10が格納されるように再配置が行われる。また、図23(C)に示すように、配置管理情報34が更新される。
再配置が完了すると、移行制御部25は、配置管理情報34を用いて、記憶領域6Aの前端に格納されたセグメントからボリュームインデックスが連続するセグメント郡を纏めて、一括して新規ノード4Dの記憶領域6Dに移行する。
図24は、セグメント群の移行(2回目)の説明図である。図18(A)は、移行(2回目)の様子を示す。図24(B)は、移行(2回目)時の最適配置情報33を示す。図24(C)は、移行(2回目)時の配置管理情報34の変化を示す。
図24(A)に示すように、移行制御部25は、図24(C)の配置管理情報34を参照して、分割領域1に格納されているセグメント7からボリュームインデックスが連続するセグメント10までのセグメント郡を纏めて移行する。移行が完了すると、移行制御部25は、図24(C)に示すように、移行後の記憶領域6Aの状態を配置管理情報34に反映する。
以上のようにして、移行するボリュームのすべてのセグメントの移行を完了する。移行が完了した時点で、交換ノードに移行対象外のボリュームのセグメントが存在する場合は、再配置制御部24は、それらのセグメントを既存のノードへ追い出す。
次に、実施形態に係るボリュームの移行処理の動作フローを説明する。図25は、実施形態に係るボリュームの移行処理の詳細を図解したフローチャートの一例である。
図25において、先ず、取得部41は、第1リスト31を取得する(S101)。第1リスト31を参照することにより、作成部42及び再配置部43は、移行するボリュームの識別情報を取得する。
次に、取得部41は、第2リスト32を取得する(S102)。第2リスト32を参照することにより、作成部42及び再配置部43は、移行対象外のボリュームの識別情報を取得する。
次に、作成部42は、最適配置情報33を作成する(S103)。すなわち、作成部42は、配置可能数と、移行するボリュームのセグメントの数とに基づいて、最適配置情報33作成する。この処理の詳細は、後ほど図26を参照して説明する。
次に、再配置部43は、移行するノードの記憶領域に格納されている移行対象外のボリュームのセグメントを、既存ノードへ追い出す(S104)。
次に、再配置部43は、交換ノードに収まりきれないセグメントが存在するか否かを判定する(S105)。交換ノードに収まりきれないセグメントは存在しないと判定された場合(S105でNo)、処理は、S108に遷移する。一方、交換ノードに収まりきらないセグメントが存在すると判定した場合(S105でYes)、再配置部43は、収まりきらないセグメントを、交換ノードの記憶領域の後端へ移動する(S106)。交換ノードに収まりきらないセグメントとは、具体的には、そのセグメントのボリュームインデックスが、最適配置情報33の何れのレコードの「ボリュームインデックス」の値とも異なるセグメントである。
次に、再配置部43は、最適配置情報33において、後端の分割領域にS106で移動されたセグメントが格納される旨を反映する。そして、配置可能数の値を、後端へ移動したセグメントの数だけ減少させる(S107)。
次に、再配置部43は、最適配置情報33に基づいて、移行するボリュームのセグメントを交換ノードに再配置する(S108)。
次に、再配置部43は、交換ノードに移動できる領域があるか否かを判定する(S109)。交換ノードに移動できる領域があると判定された場合(S109でNo)、処理はS104に遷移する。一方、交換ノードに移動できる領域がないと判定された場合(S109でYes)、移行制御部25は、新規ノードへデータを移行する(S110)。データの移行においては、移行制御部25は、移行するノードの記憶領域の前端に格納されたセグメントからボリュームインデックスが連続するセグメント郡を纏めて、一括して新規ノードに移行する。
次に、移行制御部25は、移行する全てのボリュームのセグメントが全て移行済みか否かを判定する(S111)。移行するボリュームのセグメントのいずれかが移行済みでないと判定した場合(S111でNo)、処理はS103に遷移する。一方、移行する全てのボリュームのセグメントを全て移行済みであると判定した場合(S111でYes)、処理は終了する。
次に、最適配置情報33の作成処理のフローについて具体的に説明する。図26は、最適配置情報33作成処理の詳細を図解したフローチャートの一例である。
図26において、先ず、作成部42は、交換ノードの記憶領域の容量に基づいて、配置可能数を算出し、変数Sumに代入する(S201)。具体的には、例えば作成部42は、交換ノードの記憶領域の容量をセグメントサイズで割った値を、配置可能数として算出する。
次に、作成部42は、第1リスト31から1つボリュームを選択する(S202)。ここで選択したボリュームを、図26の以下の説明では、対象ボリュームと記す。次に、作成部42は、例えば分散配置情報に基づいて、対象ボリュームのセグメント数を算出し、変数Viに代入する(S203)。尚、対象ボリュームのうち移行済みのセグメントが存在する場合には、変数Viには、対象ボリュームのうち移行済みでないセグメントの数が代入される。
そして、作成部42は、対象ボリュームのセグメント数と配置可能数との差分をとり、結果を変数Sumに代入する(S204)。すなわち、作成部42は、(Sum = Sum - Vi)を計算する。
次に、作成部42は、算出結果に基づいて、対象ボリュームの全てのセグメントが一度に交換ノードに収まるか否かを判定する。言い換えると作成部42は、交換ノードに、対象ボリュームの全てのセグメントを格納することのできる記憶領域を一度に確保できるか否かを判定する。すなわち、作成部42は、Sumの値が0以上か否かを判定する(S205)。尚、Sumの値が0以上であるということは、交換ノードに、対象ボリュームの全てのセグメントを格納する記憶領域を一度に確保できることを示している。Sumの値が0未満であるということは、交換ノードに、対象ボリュームのセグメントの全てを格納する記憶領域を一度に確保できないことを示している。
記憶領域を確保できると判定した場合は(S205でYes)、S206及びS207において、作成部42は最適な配置を仮定したときに、対象ボリュームの各セグメントが格納される記憶領域にそれぞれ対応するレコードを最適配置情報33に追加する処理を行う。すなわち、先ず、作成部42は、対象ボリュームの移行されていないセグメントのうち、「ボリュームインデックス」の値が小さい順に1つずつセグメントを選択する(S206)。次に、作成部42は、最適配置情報33の新規のレコードを作成し、作成したレコードの各データ項目に対応する値を格納する(S207)。すなわち、作成部42は、作成したレコードの「ノードインデックス」に、最適配置情報33の既存のレコードの「ノードインデックス」の最大値に1加えた値を格納する。また、作成部42は、「ボリュームID」、「ボリュームインデックス」にそれぞれ、対象ボリュームの識別情報、S206で選択したセグメントのボリュームインデックスの値を格納する。
そして、作成部42は、S206において対象ボリュームのすべてのセグメントを選択済みか否かを判定する(S208)。対象ボリュームのいずれかのセグメントを選択済みでないと判定した場合(S208でNo)、作成部42は、処理をS206に遷移させ、未選択のセグメントのうち「ボリュームインデックス」の値が小さい順に1つセグメントを選択する。一方、対象ボリュームのすべてのセグメントを選択済みであると判定した場合(S208でYes)、作成部42は、処理をS202に遷移させ、再度、第1リスト31からボリュームを選択し、以降の処理を実行する。
記憶領域を確保できないと判定した場合は(S205でNo)、S209及びS210において、作成部42は最適な配置を仮定したときに、対象ボリュームの各セグメントが格納される記憶領域にそれぞれ対応するレコードを最適配置情報33に追加する処理を行う。尚、最適配置情報33のレコードの数は、最大で配置可能数と同じになる。すなわち、先ず、作成部42は、対象ボリュームの移行されていないセグメントのうち、「ボリュームインデックス」の値が小さい順に1つずつセグメントを選択する(S209)。次に、作成部42は、最適配置情報33の新規のレコードを作成し、作成したレコードの各データ項目に対応する値を格納する(S210)。すなわち、作成部42は、作成したレコードの「ノードインデックス」に、最適配置情報33の既存のレコードの「ノードインデックス」の最大値に1加えた値を格納する。また、作成部42は、「ボリュームID」、「ボリュームインデックス」にそれぞれ、対象ボリュームの識別情報、S209で選択したセグメントのボリュームインデックスの値を格納する。
そして、作成部42は、最適配置情報33のレコードの数が配置可能数以上か否かを判定する(S211)。最適配置情報33のレコードの数が配置可能数未満であると判定した場合(S211でNo)、作成部42は、処理をS209に遷移させ、未選択のセグメントのうち「ボリュームインデックス」の値が小さい順に1つずつセグメントを選択する。一方、最適配置情報33のレコードの数が配置可能数以上であると判定した場合(S211でYes)、作成部42は、処理を終了する。
以上説明したように、実施形態の再配置処理においては、先ず最適配置情報33を作成し、この情報に基づいてセグメントの再配置を行っている。このように再配置を行うことで、再配置におけるセグメントのコピー回数を削減することができる。ここで、このような実施形態の効果を説明するために、事前に最適配置の設計をせずに再配置を行う比較例と、実施形態とを比較する。
比較例では、再配置処理において、ボリュームインデックスが小さいセグメントから順に、交換ノードの記憶領域の前端へ動かされる。そして、移動先の分割領域が空き領域でない場合、移動先の領域に格納されていたセグメントは、空き領域のうちでノードインデックスが最も大きい分割領域へ追い出される。
図27は、比較例における、再配置処理の説明図である。ここでは、交換ノードの分割領域の総数が「8」であり、移行するボリュームのセグメントの総数は「9」以上であるものとする。図27においては、(A)〜(F)の順に再配置が行われる。
図27(A)に示すように、再配置処理前の初期配置では、ノードインデックスが「1」、「2」、「7」、「8」の分割領域に、それぞれ、ボリュームインデックスが「2」、「7」、「9」、「3」のセグメントが格納されている。このとき、比較例においては、先ず、セグメント1が分割領域1に格納される。分割領域1には、もともとセグメント2が格納されているので、セグメント1の移動前に、セグメント2を分割領域6に移動させる。このように、セグメント1の移動において、セグメント1とセグメント2がコピーされているため、コピー回数は「2」となる。
図27(B)では、セグメント2がセグメント1に格納される様子が示されている。セグメント1と同様にコピーが行われるので、コピー回数は「2」となる。同様にして、セグメント3〜セグメント6の移動の様子が、図27(C)〜(E)に示されている。
図27(E)のセグメント6の格納が終了した時点で、移動することが可能な領域がなくなったので、交換ノードは、最終的に図27(F)に示すようなレイアウトとなる。このように、比較例においては、交換ノードの記憶領域の前端に格納されたセグメントからボリュームインデックスが連続するセグメントの数は、「6」となり、このようなレイアウトになるまでにコピーされた回数は、「9」となる。
次に、図27と同じ初期配置からの再配置が、実施形態において実行される様子を説明する。図28は、実施形態における、再配置処理の説明図である。図28(X)は、交換ノードに収まらないセグメントを後端に移動した後(図25のS107の直後)の最適配置情報33を示している。図28においては、上述した点順で(A)〜(D)の順に再配置が行われる。
図28(A)において、先ず、交換ノードに収まりきらないセグメント9が後端に移動される。このとき、後端の分割領域8には、もともとセグメント3が格納されているので、セグメント3が最適配置情報33に基づいて、分割領域3に移動される。図28(A)におけるコピー回数は「2」である。
次に、図28(B)において、最適配置情報33に基づいて、セグメント1が分割領域1に移動される。このとき、分割領域1には、もともとセグメント2が格納されているので、セグメント2が最適配置情報33に基づいて、分割領域2に移動される。さらにこのとき、分割領域2には、もともとセグメント7が格納されているので、セグメント7も最適配置情報33に基づいて、分割領域7に移動される。図28(B)におけるコピー回数は「3」である。
次に、図28(C)において、セグメント4〜セグメント6が、それぞれ、分割領域4〜分割領域6に移動される。図28(C)におけるコピー回数は「3」である。最終的に、交換ノードは、図28(D)のレイアウトとなる。これは、図28(X)の最適配置情報33で示されるレイアウトと同様である。
図28に示すように事前に最適配置の設計を行うことによって、デフラグのような多段のコピーを許すものより効率的にデータの移動を行うことができる。
実施形態においては、交換ノードの記憶領域の前端に格納されたセグメントからボリュームインデックスが連続するセグメントの数は、「7」となり、このようなレイアウトになるまでにコピーされた回数は、「8」となる。
実施形態は、図27で説明した比較例と比べると、連続するセグメントの数及びコピー回数がともに改善されている。実施形態においては、連続するセグメントの数を大きくすることができるため、一回の移行処理で移行できるデータ量を増加させることができる。これにより効率的な移行が可能となる。また、実施形態においては、再配置におけるコピー回数を削減することができる。これにより、効率的な再配置が可能となる。
また、実施形態においては、再配置処理前から交換ノード内に存在する移行するボリュームのセグメントについては、他の既存ノードに追い出さないように制御される。これにより、再配置におけるノード間の通信量を抑制することができる。
(コントローラのハードウェア構成)
次に、コントローラ5のハードウェア構成について説明する。図29は、実施形態に係るコントローラ5のハードウェア構成の一例を示す。
図29において、コントローラ5は、CPU601、メモリ602、読取装置603、及び通信インターフェース604を含む。CPU601、メモリ602、読取装置603、及び通信インターフェース604はバス等を介して接続される。
CPU601は、メモリ602を利用して上述のフローチャートの手順を記述したプログラムを実行することにより、コントローラ5Dの新陳代謝マネージャ13のリスト記憶部27以外の各部の機能の一部または全部の機能を提供する。CPU601が実行するプログラムは、ストレージ制御プログラムであってよい。
メモリ602は、例えば半導体メモリであり、RAM(Random Access Memory)領域およびROM(Read Only Memory)領域を含んで構成される。メモリ602はリスト記憶部27、及び配置情報記憶部28の一部または全部の機能を提供する。
読取装置603は、CPU601の指示に従って着脱可能記憶媒体650にアクセスする。着脱可能記憶媒体650は、たとえば、半導体デバイス(USBメモリ等)、磁気的作用により情報が入出力される媒体(磁気ディスク等)、光学的作用により情報が入出力される媒体(CD−ROM、DVD等)などにより実現される。尚、読取装置603はコントローラ5Dに含まれなくてもよい。
さらに、実施形態のコントローラ5Dの一部は、ハードウェアで実現してもよい。或いは、実施形態のコントローラ5Dは、ソフトウェアおよびハードウェアの組合せで実現してもよい。
尚、セグメントの再配置処理は、再配置制御部24により制御されるが、上述したように、実際の動作は各ノードのボリューム管理マネージャ16またはボリューム管理エージェント12により実行される。すなわち、再配置制御部24の機能の一部または全部は、ボリューム管理マネージャ16またはボリューム管理エージェント12により実現されてもよい。
尚、本実施形態は、以上に述べた実施の形態に限定されるものではなく、本実施形態の要旨を逸脱しない範囲内で種々の構成または実施形態を取ることができる。
1 システム
2 サーバ
3 スイッチ
4 ノード
5 コントローラ
6 記憶領域
7 インターコネクト
10 入出力制御部
11 クラスタ制御
12 ボリューム管理エージェント
13 新陳代謝マネージャ
16 ボリューム管理マネージャ
22 互換性認識部
23 リードライト要求認識部
24 再配置制御部
25 移行制御部
26 入力情報認識部
27 リスト記憶部
28 配置情報記憶部
31 第1リスト
32 第2リスト
33 最適配置情報
34 配置管理情報
41 取得部
42 作成部
43 再配置部
601 CPU
602 メモリ
603 読取装置
604 通信インターフェース
650 着脱可能記憶媒体

Claims (7)

  1. 複数のストレージに分散して配置された複数の分割データを含む複数のボリュームのうち、移行元のストレージから移行先のストレージへ移行する対象ボリュームの指定を受け付ける受付部と、
    前記移行元のストレージ内に配置可能な分割データの数と、前記対象ボリュームの分割データの数とに基づいて、前記移行元のストレージ内に配置する前記対象ボリュームの分割データのレイアウトを決定する決定部と、
    該決定したレイアウトに基づいて、前記対象ボリュームの分割データを前記移行元のストレージに配置して、配置した該複数の分割データを一括して前記移行先のストレージへ移行する制御を行う移行部と、
    を備えることを特徴とするストレージ制御装置。
  2. 前記決定部は、前記対象ボリュームの分割データの数が、前記移行元のストレージに連続して配置可能な分割データの数を示す配置可能数よりも大きい場合、前記配置可能数分の分割データ毎に、前記対象ボリュームの分割データが、前記対象ボリュームにおける該分割データのアドレスの順に、前記移行元のストレージの所定の記憶領域の一端から連続して配置されるようにレイアウトを決定し、
    前記移行部は、該決定したレイアウトに基づいて、前記配置可能数分の分割データ毎に対象ボリュームの分割データを前記移行元のストレージに配置して、配置した該分割データを一括して前記移行先のストレージへ移行する制御を行う
    ことを特徴とする請求項1に記載のストレージ制御装置。
  3. 前記決定部は、前記対象ボリュームの分割データの数が前記配置可能数よりも大きい場合、前記記憶領域に存在する前記分割データのうち、前記アドレスの順が前記配置可能数より後である分割データが、前記記憶領域の他端から連続して配置されるように、前記レイアウトを変更し、
    前記移行部は、該変更したレイアウトに基づいて、前記分割データを前記移行元のストレージに配置し、前記アドレスの順が前記配置可能数以前の分割データを一括して前記移行先のストレージへ移行する制御を行う
    ことを特徴とする請求項1または2に記載のストレージ制御装置。
  4. 前記移行部は、前記記憶領域に存在する前記分割データのうち前記アドレスの順が前記配置可能数より後である分割データの数に応じて、前記配置可能数を変更する
    ことを特徴とする請求項3に記載のストレージ制御装置。
  5. 前記受け付け部は、移行元のストレージから移行先のストレージへ移行しない対象外ボリュームの指定を受け付け、
    前記移行部は、前記記憶領域に存在する前記分割データのうち、前記対象外ボリュームに含まれる分割データを、前記移行元のストレージ以外のストレージに配置する
    ことを特徴とする請求項1〜4のうちいずれか1項に記載のストレージ制御装置。
  6. 第1のストレージと、
    前記第1のストレージと交換される第2のストレージと、
    前記第1のストレージおよび前記第2のストレージ以外の1以上の他のストレージと、
    を備え、
    前記第2のストレージは、
    前記第1のストレージと前記他のストレージとに分散して配置された複数の分割データを含む複数のボリュームのうち、前記第1のストレージから前記第2のストレージへ移行する対象ボリュームの指定を受け付ける受付部と、
    前記第1のストレージ内に配置可能な分割データの数と、前記対象ボリュームの分割データの数とに基づいて、前記第1のストレージ内に配置する前記対象ボリュームの分割データのレイアウトを決定する決定部と、
    該決定したレイアウトに基づいて、前記対象ボリュームの分割データを前記第1のストレージに配置して、配置した該複数の分割データを一括して前記第2のストレージへ移行する制御を行う移行部と、
    を備えることを特徴とするストレージシステム。
  7. コンピュータに、
    複数のストレージに分散して配置された複数の分割データを含む複数のボリュームのうち、移行元のストレージから移行先のストレージへ移行する対象ボリュームの指定を受け付け、
    前記移行元のストレージ内に配置可能な分割データの数と、前記対象ボリュームの分割データの数とに基づいて、前記移行元のストレージ内に配置する前記対象ボリュームの分割データのレイアウトを決定し、
    該決定したレイアウトに基づいて、前記対象ボリュームの分割データを前記移行元のストレージに配置して、配置した該複数の分割データを一括して前記移行先のストレージへ移行する制御を行う、
    処理を実行させることを特徴とするストレージ制御プログラム。
JP2015072986A 2015-03-31 2015-03-31 ストレージ制御装置、ストレージシステムおよびストレージ制御プログラム Pending JP2016192170A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015072986A JP2016192170A (ja) 2015-03-31 2015-03-31 ストレージ制御装置、ストレージシステムおよびストレージ制御プログラム
US15/062,713 US20160291899A1 (en) 2015-03-31 2016-03-07 Storage control device and storage system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015072986A JP2016192170A (ja) 2015-03-31 2015-03-31 ストレージ制御装置、ストレージシステムおよびストレージ制御プログラム

Publications (1)

Publication Number Publication Date
JP2016192170A true JP2016192170A (ja) 2016-11-10

Family

ID=57015879

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015072986A Pending JP2016192170A (ja) 2015-03-31 2015-03-31 ストレージ制御装置、ストレージシステムおよびストレージ制御プログラム

Country Status (2)

Country Link
US (1) US20160291899A1 (ja)
JP (1) JP2016192170A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019016911A1 (ja) * 2017-07-20 2019-01-24 株式会社日立製作所 分散ストレージシステム及び分散ストレージ制御方法
JP2020060983A (ja) * 2018-10-10 2020-04-16 株式会社日立製作所 ストレージシステム及びストレージ制御方法
US11914868B2 (en) 2022-01-31 2024-02-27 Hitachi, Ltd. Storage system, method for moving drives, and non-transitory computer-readable medium

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114610232A (zh) * 2020-04-28 2022-06-10 华为技术有限公司 一种存储系统、内存管理方法和管理节点

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8862845B2 (en) * 2010-12-06 2014-10-14 Xiotech Corporation Application profiling in a data storage array
US9348517B2 (en) * 2014-08-28 2016-05-24 International Business Machines Corporation Using a migration threshold and a candidate list for cache management of sequential write storage

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019016911A1 (ja) * 2017-07-20 2019-01-24 株式会社日立製作所 分散ストレージシステム及び分散ストレージ制御方法
JP2020060983A (ja) * 2018-10-10 2020-04-16 株式会社日立製作所 ストレージシステム及びストレージ制御方法
US11740823B2 (en) 2018-10-10 2023-08-29 Hitachi, Ltd. Storage system and storage control method
US11914868B2 (en) 2022-01-31 2024-02-27 Hitachi, Ltd. Storage system, method for moving drives, and non-transitory computer-readable medium

Also Published As

Publication number Publication date
US20160291899A1 (en) 2016-10-06

Similar Documents

Publication Publication Date Title
US8463995B2 (en) Storage control apparatus and storage system comprising multiple storage control apparatuses
JP5981563B2 (ja) 情報記憶システム及び情報記憶システムの制御方法
US9658779B2 (en) Computer system and control method for computer system
CN106687911B (zh) 不损害数据完整性的在线数据移动
JP6067819B1 (ja) 階層化ストレージシステム、ストレージコントローラ、並びに重複排除及びストレージ階層化のための方法
US8918609B2 (en) Storage apparatus and data management method to determine whether to migrate data from a first storage device to a second storage device based on an access frequency of a particular logical area
JP5685676B2 (ja) 計算機システム及びデータ管理方法
JP5830599B2 (ja) 計算機システム及びその管理システム
JP2019008729A (ja) メモリシステムおよび制御方法
JP2016024563A (ja) ストレージ制御装置、ストレージシステムおよびストレージ制御プログラム
WO2014162586A1 (ja) ストレージシステムおよびストレージシステム制御方法
US8489845B2 (en) Storage system comprising multiple storage control apparatus
CN101976181A (zh) 一种存储资源的管理方法及管理装置
CN106682215A (zh) 一种数据处理方法和管理节点
JP2016192170A (ja) ストレージ制御装置、ストレージシステムおよびストレージ制御プログラム
JP2015087837A (ja) 計算機システム、及びデータ配置制御方法
JPWO2014199493A1 (ja) ストレージシステム及びストレージ制御方法
JP2020154587A (ja) 計算機システム及びデータ管理方法
JP6617461B2 (ja) 制御装置、制御プログラム、及び制御方法
CN107203479B (zh) 层级化存储系统、存储控制器及层级化控制方法
CN101997919A (zh) 一种存储资源的管理方法及管理装置
JP5978297B2 (ja) 管理システム及び管理方法
JP6019169B2 (ja) 情報記憶システム
JP2013196276A (ja) 情報処理装置、プログラムおよびデータ配置方法
JP2013088920A (ja) 計算機システム及びデータ管理方法