JPWO2017061008A1 - ストレージシステム - Google Patents

ストレージシステム Download PDF

Info

Publication number
JPWO2017061008A1
JPWO2017061008A1 JP2017544132A JP2017544132A JPWO2017061008A1 JP WO2017061008 A1 JPWO2017061008 A1 JP WO2017061008A1 JP 2017544132 A JP2017544132 A JP 2017544132A JP 2017544132 A JP2017544132 A JP 2017544132A JP WO2017061008 A1 JPWO2017061008 A1 JP WO2017061008A1
Authority
JP
Japan
Prior art keywords
storage
distribution range
nodes
drive
volume
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.)
Granted
Application number
JP2017544132A
Other languages
English (en)
Other versions
JP6560759B2 (ja
Inventor
悠貴 坂下
悠貴 坂下
武尊 千葉
武尊 千葉
定広 杉本
定広 杉本
智大 川口
智大 川口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Publication of JPWO2017061008A1 publication Critical patent/JPWO2017061008A1/ja
Application granted granted Critical
Publication of JP6560759B2 publication Critical patent/JP6560759B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0635Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

ストレージシステムは、ネットワークにより接続され、ボリュームを提供する複数ノードと、複数のドライブユニットと、管理システムと、を含む。上記複数のドライブユニットのそれぞれは、複数の記憶ドライブからなり、上記複数ノードにおける1以上のノードから他のノードを介することなくアクセス可能である。上記管理システム又は上記複数ノードの一つは、第1ボリュームのアクセス頻度に基づいて、当該第1ボリュームのデータを配置する新たな分散範囲の記憶ドライブ数を決定する。

Description

本発明はストレージシステムに関する。
従来、ストレージシステムにおける複数の記憶デバイスにより、RAID(Redundant Array of Inexpensive Disks)グループを構成し、RAIDグループに基づいて作成された論理ボリュームを、ホストコンピュータへ提供することが行われている。
RAIDに関する技術として、特許文献1には、通常データと、通常データを復元するための冗長データとを含むストライプを、容量プールに記憶領域を提供する複数の記憶デバイスに分散させて管理する、所謂分散RAIDが開示されている。
具体的には、「ストレージ装置は、複数の記憶デバイスと、前記複数の記憶デバイスの所定の記憶領域を1つ以上の仮想ボリュームを含む仮想ボリューム群として前記ホスト計算機に提供する制御部と、を備え、前記制御部は、前記複数の記憶デバイスから1以上の冗長度を有する1つ以上のデータセットを構成し、前記複数のデータセットを含むストレージプールの記憶領域を前記仮想ボリュームの記憶領域の一部に提供し、前記仮想ボリュームに割り当てる前記データセットを構成する前記記憶デバイスの組み合わせを2以上の一定数の組み合わせに限定し、前記一定数の組み合わせで出現する前記記憶デバイスを前記ストレージプール内の記憶領域に均等に分散し、前記仮想ボリューム群単位で前記仮想ボリュームに割り当てる前記記憶デバイスの一定数の異なる組み合わせを用いる」(要約)ことが開示されている。
また、分散型ストレージシステムの一つとして、複数のサーバ(計算機)をネットワークにより接続しストレージプールを生成する、ServerSAN型ストレージシステムが、知られている。ServerSAN型ストレージシステムは、サーバノードそれぞれに直結されたローカル記憶デバイスを最終格納場所として使用し、ライトデータ及びその冗長データを複数サーバノードに分散させることでデータを保護する。
国際公開2014/115320号
冗長データを記憶するRAIDグループを構成するいずれかのドライブに故障が発生した場合には、冗長データ等を用い、故障が発生したドライブに格納されていたデータを、装置に備え付けられたスペアドライブに対してリビルドする。特許文献1に開示されるように、複数のストライプからなるストライプ列を、容量プールに記憶領域を提供する複数の記憶デバイスに分散させて管理し、記憶デバイスの並列度を上げることで、リビルドを高速化できる。
しかし、ServerSAN型ストレージシステムのように、ストライプ列を構成するライトデータとパリティが複数ノードに分散されている構成において、ライトミスのパリティ生成時に他ノードの記憶デバイスから旧データ/パリティをリードするためのノード間通信が発生する。このため、I/O性能が低下する。
本発明の代表的な一例は、ネットワークにより接続され、ボリュームを提供する複数ノードと、複数のドライブユニットと、管理システムと、を含むストレージシステムである。前記複数のドライブユニットのそれぞれは、複数の記憶ドライブからなり、前記複数ノードにおける1以上のノードから他のノードを介することなくアクセス可能である。前記管理システム又は前記複数ノードの一つは、第1ボリュームのアクセス頻度に基づいて、前記第1ボリュームのデータを配置する新たな分散範囲の記憶ドライブ数を決定する。
本発明の一態様によれば、複数のノードを含むストレージシステムにおいて、リビルドを高速化させつつ、I/O性能の低下を抑制できる。
計算機システムのハードウェア構成を示す。 バックエンド接続冗長構成の例を示す。 ストレージシステムにおけるデータ転送の例を示す。 ホストに提供されるボリュームと、ボリュームに割り当てられる物理記憶領域との関係例を示す。 VVOLのデータ構成と物理記憶領域に格納されるデータ構成との関係、及び物理記憶領域におけるデータ格納位置(データ格納記憶ドライブ)の例を示す。 計算機ノードそれぞれのメモリに格納されている管理情報を示す。 ボリューム管理テーブルの例を示す。 プール管理テーブルの例を示す。 スループット管理テーブルの例を示す。 割り当て済み容量管理テーブルの例を示す。 仮想ボリュームの分散範囲を変更する処理のフローチャートを示す。 図10における新たな分散ビットマップ作成ステップの詳細のフローチャートを示す。 パーセルを記憶ドライブの記憶領域に割り当てる処理のフローチャートを示す。
以下では、幾つかの実施例を、図面を参照して説明する。なお、以下に説明する実施例は特許請求の範囲にかかる発明を限定するものではなく、また実施例で説明されている諸要素及びその組み合わせの全てが発明の解決手段に必須であるとは限らない。
なお、以下の説明では、「aaaテーブル」の表現にて各種情報を説明することがあるが、各種情報は、テーブル以外のデータ構造で表現されていてもよい。データ構造に依存しないことを示すために「aaaテーブル」を「aaa情報」と呼ぶこともできる。
以下の説明では、「プログラム」を主語として処理を説明する場合があるが、プログラムは、プロセッサ(例えばCPU(Central Processing Unit))によって実行されることで、定められた処理を、適宜に記憶資源(例えばメモリ)及び/又は通信インタフェースデバイス(例えばポート)を用いながら行うため、処理の主語がプログラムとされてもよい。プログラムを主語として説明された処理は、プロセッサ又はそのプロセッサを有する計算機(例えば、管理計算機、ホスト計算機、ストレージ装置等)が行う処理としてもよい。
また、コントローラは、プロセッサそれ自体であってもよいし、コントローラが行う処理の一部又は全部を行うハードウェア回路を含んでもよい。プログラムは、プログラムソースから各コントローラにインストールされてもよい。プログラムソースは、例えば、プログラム配布サーバ又は記憶メディアであってもよい。
ストレージシステムを含む計算機システムの概要を説明する。図1は、計算機システムのハードウェア構成を示す。計算機システムは、1以上のホスト計算機(以下、ホストという)10A、10Bと、管理サーバ20と、ストレージシステム100とを含む。ホスト計算機10A、10Bと、管理サーバ20と、ストレージシステム100とは、ネットワーク40を介して接続されている。ネットワーク40は、ローカルエリアネットワーク(LAN:Local Area Network)であっても良く、ワイドエリアネットワーク(WAN:Wide Area Network)であってもよい。
ホスト計算機10A、10Bと、ストレージシステム100とは、ネットワーク30を介して接続されている。ネットワーク30は、データ通信用のネットワークであって、本構成においては、SAN(Storage Area Network)である。ネットワーク30は、データ通信用のネットワークであればSAN以外のネットワークでもよく、例えばIPネットワークでもよい。ネットワーク30、40は、同一のネットワークであってもよい。
ホスト10A、10Bは、例えば、アプリケーションを実行する計算機であり、ストレージシステム100からアプリケーションが利用するデータを読み出し、ストレージシステム100にアプリケーションが作成したデータを書き込む。管理サーバ20は、管理者により使用される管理システムである。図1の例において管理システムは1台の計算機であるが、複数台の計算機で構成されてもよい。管理サーバ20はいずれかの計算機ノードと一体でもよい。管理サーバ20は、入力デバイスに対する管理者の操作により、ストレージシステム100を設定し及び制御する。
ストレージシステム100は、複数の計算機ノード(以下、ノードともいう)110A〜110Dを含む。計算機ノード110A〜110Dはスイッチ150を介して接続されており、相互に通信する。図1の例において、計算機ノード110A〜110Dは同様の構成要素を含む。図1において、計算機ノード110C、110Dの内部要素は、省略されている。
計算機ノード110A〜110Dは、それぞれ、バスで接続された二つのコントローラ120A、120Bを含む。コントローラ120A、120Bは、同様の構成を有している。例えば、コントローラ120A、ホストインタフェース(I/F)121、管理I/F122、CPU123、メモリ124、スイッチI/F125、及びドライブI/F126を含む。これらは、内部バスを介して接続されている。コントローラ120A、120Bの構成要素の数は、一致していなくてもよい。
ホストI/F121は、ネットワーク30を介してホストとのインタフェースであり、管理I/F112は、ネットワーク40を介してストレージシステム100を、管理サーバ20と接続するためのインタフェースである。
計算機ノード110A〜110Dは、それぞれ、複数の記憶ドライブ180(単にドライブとも呼ぶ)を含んで構成されたドライブユニット(DU)とドライブI/F126を介して接続している。記憶ドライブ180は、物理記憶ドライブである。記憶ドライブ180は、不揮発性又は揮発性の記憶媒体を含み、例えば、磁気ディスク、フラッシュメモリ、及びその他半導体メモリを含む。
図1においては、計算機ノード110A、110Bそれぞれから直接アクセス可能なDU160A、160Bが例示されている。一つの計算機ノード(CPU)は、1又は複数のDUに直接アクセス可能である。他の計算機ノード110C、110Dも、不図示のDUがドライブI/F126に接続されている。
ここで、計算機ノード(CPU123)が直接アクセス可能なDUは、他の計算器ノードを介することなく当該計算機ノードがアクセス可能なDUであり、コマンド及びリード/ライトデータは、他の計算器ノードの要素を通過することなく、送受信される。計算機ノード110A〜110Dは、それぞれ、ドライブI/F126を介して、直接アクセス可能なDUと通信する。
計算機ノードから直接アクセス可能なDU及び記憶ドライブを、当該計算機ノードのローカルDU及びローカルドライブとも呼ぶ。計算機ノードから間接アクセス可能、つまり、他の計算器ノードを介してアクセス可能なDU及び記憶ドライブを、当該計算機ノードのリモートDU及びリモートドライブとも呼ぶ。
ドライブI/F126は、DUの記憶ドライブ180との間で各種コマンドや、ライトデータ、リードデータ等の通信を行う。ドライブI/F126は、転送バッファを含み、記憶ドライブ180から送信されたデータや、記憶ドライブ180へ送信するデータを一時的に格納する。
メモリ124は、各種プログラムや、各種情報を記憶する。メモリ124は、キャッシュ領域を含む。キャッシュ領域は、ホストから記憶ドライブ180等に書き込むデータ(ライトデータ)や、記憶ドライブ180から読み出したデータ(リードデータ)を一時的に格納する。
CPU123は、メモリ124に格納されたプログラムを実行して各種処理を実行する。CPU123は、ドライブI/F126を介して、各種コマンド(例えばSCSIにおけるREADコマンドやWRITEコマンドなど)をDUの記憶ドライブ180に送信する。また、CPU123は、スイッチI/F125を介して、各種コマンドを他の計算器ノード又は間接アクセス可能なDUに送信する。
図2は、バックエンド接続冗長構成の例を示す。図1において、一つのDUに対しては、一つの計算機ノードのみが直接アクセス可能である。図2のバックエンド接続構成において、複数の計算機ノードが同一のDUにアクセス可能である。具体的には、計算機ノード110A、110Bの双方は、ドライブI/F126においてDU160Aに接続されている。同様に、計算機ノード110A、110Bの双方は、ドライブI/F126においてDU160Bに接続されている。
また、図2の例においては、一つの計算機ノードが、複数のDUに直接アクセス可能である。具体的には、計算機ノード110Aは、ドライブI/F126においてDU160A、160Bに接続されている。同様に、計算機ノード110Bは、ドライブI/F126においてDU160A、160Bに接続されている。
図3は、ストレージシステム100におけるデータ転送の例を示す。ホストからのI/O要求を受信したオーナCPU123は、ドライブI/F126を介してローカルDUにアクセスする、又は、スイッチ150及び他の計算器ノードを介してリモートDUにアクセスする。
図3の例において、ノード110Aは、アクセスされたボリュームのオーナノードであり、そのCPU123Aは、オーナCPUである。オーナCPU123Aは、ボリュームをホストに提供する。オーナCPU123Aは、ボリュームに対するリード要求を受信し、指定されたリードデータをホストに返す。
図3の例において、オーナCPU123Aは、直接アクセス可能なDU160Aに格納されたデータDATA(1)67_1に対するリード要求を受信する。オーナCPU123Aは、データDATA(1)67_1のアドレス指定したリードコマンドを、計算機ノード110AのドライブI/F126Aに送信する。
ドライブI/F126Aは、DU160AからデータDATA(1)67_1を取得し、ノード110Aのメモリ124AにデータDATA(1)67_1を格納する。以上により、DU160AからデータDATA(1)67_1がステージングされる。
オーナCPU123Aは、リモートDU160Bに格納されたデータDATA(2)67_2に対するリード要求を受信する。オーナCPU123Aは、他の計算器ノード110Bを介してDU160Bにアクセス可能である。オーナCPU123Aは、データDATA(2)67_2のアドレス指定したリードコマンドを、スイッチI/F125A及びスイッチ150を介して、計算機ノード110Bに送信する。
計算機ノード110BのCPU123Bは、スイッチI/F125Bから受信したリードコマンドを、ノード110BのドライブI/F126Bに送信する。ドライブI/F126Bは、DU160BからデータDATA(2)67_2を取得し、計算機ノード110Bのメモリ124BにデータDATA(1)67_1を格納する。
計算機ノード110BのスイッチI/F125Bは、メモリ124BのデータDATA(2)67_2を、スイッチ150を介して、計算機ノード110Aに送信する。計算機ノード110AのスイッチI/F125Aは、受信したデータDATA(2)67_2を、ノード110Aのメモリ124Aに転送する。以上により、DU160BからデータDATA(2)67_2がステージングされる。
計算機ノード110BのCPU123Bに代わり、スイッチ150がノード110BのドライブI/F126Bにリードコマンドを送信してもよい。リードコマンドは、CPU123Bを介することなく、ドライブI/F126Bに書き込まれる。データDATA(2)67_2は、CPU123Bを介することなく、メモリ124Bに格納される。
図4Aは、ホストに提供されるボリュームと、ボリュームに割り当てられる物理記憶領域との関係例を示す。図4Aにおいて、複数の仮想ボリューム(VVOL)が提供されている。具体的には、四つのVVOL(1)401_1〜VVOL(4)401_4が1又は複数のホストに提供される。
仮想ボリュームは、仮想的な記憶デバイスであり、ホストから参照することができる。ストレージシステム100の管理者は、管理サーバ20を使用して、任意のサイズの仮想ボリュームを作成する。サイズは、実際の記憶ドライブ180の合計容量に依存しない。ホストから新たなライトアクセスがあった仮想的な記憶領域単位(VVOLページ)に対して、CPU123が複数記憶ドライブ180の記憶領域(物理記憶領域)を割り当てる。なお、本開示の技術は、ボリュームの容量が割り当てられている物理記憶容量と一致する論理ボリュームにも適用可能である。
VVOL(1)401_1〜VVOL(4)401_4に対して、容量プール(単にプールとも呼ぶ)167から記憶領域が割り当てられる。VVOL(1)401_1〜VVOL(4)401_4に対して、プール167のみから記憶領域が割り当てられる。プール167は、三つのDUの六つのパリティグループ(PG)の記憶領域で構成されている。PGは、記憶ドライブ180のグループである。
六つのPGは、具体的には、DU(1)160_1のPG(1)161_0及びPG(1)161_1、DU(2)160_2のPG(2)162_2及びPG(3)162_3、及びDU(3)160_3のPG(2)163_2及びPG(3)163_3である。DU(1)160_1〜DU(3)160_3は、それぞれ、図4Aに示すPG以外のPGを含む。
PGは、複数、例えば、8個の記憶ドライブ180で構成される。PGは、プールに対する増設・減設の単位である。本開示例において、一つのPG内の記憶ドライブ180は、全て同一のドライブ種別(同一性能及び同一容量)を有する。一つのプール内で、PGの記憶ドライブ数は共通でも異なっていてもよい。一つのDU内で、PGの記憶ドライブ数は共通でも異なっていてもよい。
図4Aに示すように、VVOL(1)401_1〜VVOL(4)401_4それぞれに対して、分散範囲166_1〜166_4が定義されている。分散範囲は、VVOLに記憶領域が割り当てられるPGを規定し、VVOLのデータは、対応する分散範囲内の記憶領域に格納される。
例えば、VVOL(1)401に対する分散範囲166_1は、DU(1)160_1の二つのPG(0)161_0及びPG(1)161_1で構成されている。本例において、分散範囲は、一つのプール内の1又は複数のDUで定義される。
図4Bは、VVOLのデータ構成と物理記憶領域に格納されるデータ構成との関係、及び物理記憶領域におけるデータ格納位置(データ格納記憶ドライブ)の例を示す。VVOL(1)401_1のVVOLページ421に、ライトデータ(ユーザデータ)が格納されている。VVOLページのサイズは規定値である。VVOLページ421は、複数のサブ領域423から構成されている。このサブ領域423をストライプと呼ぶ。
図4Bにおいて、VVOLページ421は、二つのストライプ列422で構成されている。ストライプ列422は、ライトデータのデータ単位を格納する。ホストから指定されたライト対象のデータは、所定サイズのデータ単位に分割されて、各データ単位が、複数のデータ要素に分割され、複数のデータ要素それぞれが、ストライプ423に書き込まれる。
ストライプ列422のサイズ及びVVOLページ421を構成するストライプ列422の数は規定値である。一つのストライプ列422を構成するストライプ423の数は、分散範囲166_1のRAID(Redundant Arrays of Independent Disks)構成に従う。
CPU123は、記憶ドライブ180に障害が発生した際にその障害により読み出せなくなったデータ要素を回復するためにパリティを生成する。CPU123は、例えば、RAID5で構成されたRAIDグループのデータ単位に対しては、データ単位を構成する複数のデータ要素の排他的論理和(XOR)をとることによってPパリティを生成する。
CPU123は、RAID6で構成されたRAIDグループのデータ単位に対しては、更に、データ単位を構成する複数のデータ要素に所定の係数を掛けた後、それぞれのデータの排他的論理和をとることによって、Qパリティを生成する。CPU123は、データ単位についての1以上のデータ要素(データ要素及び/又はパリティ)に基づいて、データ単位中のいずれかのデータ要素を復元する復元処理を行う。
なお、データの冗長化技術として、3重ミラー(Triplication)や、トリプルパリティ技術を使用してもよい。また、Reed−solomon符号やEVEN−ODD等、任意の冗長コード生成技術を使用できる。
図4Bの例において、分散範囲166_1のRAID構成は、7D1P構成である。そのため、VVOLページ421における一つのストライプ列422は、7つのストライプ423で構成されており、各ストライプ423にライトデータのデータ要素が格納される。
図4Bにおいて、1_D1、1_D2、1_D3、1_D4、1_D5、1_D6、1_Pのように、「_」の前の数字が共通するものが、同一のデータ単位(ストライプ列)におけるデータ要素及びパリティを示す。なお、データ要素及びパリティは、それぞれストライプ423のサイズとなっている。
VVOLページ421は、論理ページ441に対応づけられる。論理ページ441は、二つのストライプ列442で構成されている。ストライプ列442は、それぞれ、VVOLページ421のストライプ列422に対応する。
論理ページ441のストライプ列442は、ライトデータ要素を格納するストライプ443(D1〜D7で示されている)に加え、冗長コード(パリティ)を格納するストライプ443(Pで示されている)を含む。論理ページ441において、冗長コードがライトデータと同一のストライプ列442に格納される。
論理ページにおけるストライプ列でのデータ要素配列順序は、VVOLページのストライプ列のデータ要素配列順序と異なっていてもよい。図4Bの例において、データ単位2のストライプ列442(2で示されている)において、ライトデータ要素の配列順序が、対応するVVOLページ421のストライプ列422(2で示されている)と異なっている。
論理ページ441において、パーセル445が定義されている。パーセル445は、論理ページ441を構成するストライプ列442それぞれのストライプ443で構成されている。したがって、論理ページ441は、複数のパーセル445からなるパーセル列である。図4Bの例において、パーセル445は、二つのストライプ443で構成されているが、パーセル445は、1又は複数のストライプで構成することができる。
論理ページ441のデータは、分散範囲166_1(物理記憶領域)内において分散して配置される。図4Bの例において、論理ページ441のデータは、パーセル単位で記憶ドライブ180に格納される。CPU123は、予め定められたアルゴリズムに従って、パーセル445それぞれのデータを格納する記憶ドライブ180を、分散範囲166_1から選択する。パーセル445の分散配置(分散割当)のために任意のアルゴリズムが使用でき、その一例は後述される。
分散範囲166_1は、二つのPGで構成されており、本例において、PG(0)161_0及びPG(1)161_1は、それぞれ、7D1P構成に対応して、八つの記憶ドライブ180で構成されている。従って、16の記憶ドライブ180から、八つのパーセル445のデータを格納する記憶ドライブ180が選択される。選択される記憶ドライブ180の組み合わせは、論理ページ毎に決定される。
なお、VVOLページのアドレスと論理ページのアドレスとの関係、及び、論理ページのアドレスと分散範囲内のアドレスとの関係は、計算機ノードが格納する管理情報において管理されている。
このように、論理ページのパーセル数よりも多い記憶ドライブ180から、論理ページ毎に記憶ドライブの組み合わせを選択することで、記憶ドライブ障害時のリビルドにおける負荷を記憶ドライブ180の間で分散することができ、リビルド時間を短縮できる。リビルドの動作例を説明する。
例えば1台の記憶ドライブが故障すると、ストレージシステム100は、スペア領域に、故障した記憶ドライブに含まれているパーセルを配置し(管理情報の更新)、割り当てたスペア領域に対して、リビルド処理を実行する。
例えば、2つの3D+1P構成のRGがあり、8台の記憶ドライブ全てが分散範囲である場合、障害記憶ドライブ内の各パーセルと同一ストライプ列に属する3つの正常パーセルが存在し、これら3パーセルを正常記憶ドライブからリードすれば、故障記憶ドライブの喪失データを復元できる。
ストレージシステム100は、各パーセルが存在する7台の正常記憶ドライブの中から3台の正常記憶ドライブについて、全正常記憶ドライブ間の偏りが少なくなるように選択する。これにより、各正常記憶ドライブからの最大リード量を制限できる。これにより、従来RAID方式と比較し、リビルド性能を向上できる。
図5は、計算機ノードそれぞれのメモリ124に格納されている管理情報を示す。図5に示す情報は、メモリ124の共有領域(共有メモリ)に格納されており、計算機ノードそれぞれ同様の管理情報を保持している。メモリ124は、ボリューム管理テーブル241、プール管理テーブル243、スループット管理テーブル245、及び割り当て済み容量管理テーブル247を格納している。
図6は、ボリューム管理テーブル241の例を示す。ボリューム管理テーブル241は、仮想ボリュームを管理する。ボリューム番号欄411は、仮想ボリュームの識別子である、ボリューム番号を示す。オーナノード欄412は、仮想ボリュームをホストに提供するオーナノードの識別子を示す。
自動再配置欄413は、仮想ボリュームのデータの分散範囲を計算機ノードが自動的に変更してよいか否かを示す。「1」は、自動再配置可を示し、「0」は自動再配置不可を示す。自動再配置欄413の値は、管理者(ユーザ)により設定される。プール内のPGのRAID構成及びドライブ種別が全て同一のプールに対してのみ、「1」が設定可能である。
所属プール欄414は、仮想ボリュームが所属する、つまり、仮想ボリュームに記憶領域を提供するプールの識別子を示す。分散DU数欄415は、仮想ボリュームのデータを格納する分散範囲を構成するDUの数を示す。分散ビットマップ欄416は、分散範囲を構成するDUを示す。例えば、分散ビットマップ00000101は、DU(1)及びDU(3)を示し、分散ビットマップ11110000は、DU(5)、DU(6)、DU(7)、DU(8)を示す。
リビルド時間欄417は、一つの記憶ドライブが故障した時の、リビルドに係る時間の推定値を示す。I/Oアクセス数欄418は、仮想ボリュームに対する単位時間当たりの過去のI/Oアクセス数(アクセス頻度)を示す。各仮想ボリュームのアクセス頻度は、例えばオーナノードによって監視されている。I/Oアクセス数は、例えば、過去の所定期間の平均値であり、データ単位当たり又はデータ量に拠らないアクセス数である。I/Oアクセス数欄418は、例えばオーナノードによって、所定期間毎に更新される。
図7は、プール管理テーブル243の例を示す。プール管理テーブル243は、仮想ボリュームに物理記憶領域を提供するプールを管理する。プール番号欄431は、プールの識別子である、プール番号を示す。DU番号欄432は、プールに含まれるDUのDU番号を示す。PG番号欄433は、プールに含まれるPGのPG番号を示す。PG番号は、DU内で一意であるが、異なるDUの異なるPGは同一のPG番号を持ち得る。
接続ノード欄434は、PG(DU)に直接アクセス可能なノードの識別子を示す。ドライブ数欄435は、PGを構成する記憶ドライブの数を示す。RAID欄436は、PGが対応するRAID構成、つまり、当該PGに格納されるデータのRAID構成を示す。ドライブ種別欄437は、PGを構成する記憶ドライブの種別を示す。DU空き容量欄438は、プール内でのDUの空き容量を示す。つまり、DU内でプールに割り当てられているPGの総空き容量を示す。
図8は、スループット管理テーブル245の例を示す。スループット管理テーブル245は、異なる種類のデバイスそれぞれのスループットの値(仕様)を管理する。第1分類欄451は、装置の種類を示す。図8の例においては、HDD、SSD及びインタフェースが示されている。第2分類欄452は、各第1分類におけるサブ種類を示す。例えば、HDDは、容量とディスク回転速度の組によって分類されている。スループット欄453は、各デバイスのスループットの仕様値を示す。
図9は、割り当て済み容量管理テーブル247の例を示す。割り当て済み容量管理テーブル247は、各仮想ボリュームに対する各記憶ドライブの割り当て済み容量を管理する。図9は、VVOL(0)に対する各記憶ドライブの割り当て済み容量を示す。記憶ドライブは、DU番号、PG番号及びドライブ番号で識別される。DU番号はストレージシステム100内で一意、PG番号はDU内で一意、ドライブ番号はPG内で一意である。R(x、y、z)は、PG番号x、DU番y、ドライブ番号zの記憶ドライブから仮想ボリュームに割り当てられている容量を示す。
図10は、仮想ボリュームの分散範囲を変更する処理のフローチャートを示す。いずれかの計算機ノード、例えば、当該仮想ボリュームのオーナノードが、当該処理を実行する。管理サーバ20が当該処理を実行してもよい。当該処理は、例えば、定期的に実行される。ボリューム管理テーブル241における当該仮想ボリュームのI/Oアクセス数の更新と同期して実行されてもよい。
図10において、CPU123は、ボリューム管理テーブル241を参照し(S101)、当該仮想ボリュームの自動再配置欄413の値が、「1」であるか判定する(S102)。上述のように、「1」は、自動再配置可を示す。自動再配置欄413の値が「1」ではなく「0」である場合(S102:No)、CPU123は、分散範囲を変更することなく本処理を終了する。
自動再配置欄413の値が、「1」である場合(S102:Yes)、CPU123は、ボリューム管理テーブル241のI/Oアクセス数欄418から、当該仮想ボリュームのI/Oアクセス数を取得し、変数aに代入する。さらに、CPU123は、取得したI/Oアクセス数と、予め設定されている複数の閾値と、を比較して、取得したI/Oアクセス数が含まれる数値範囲を決定する(S103)。
I/Oアクセス数が閾値S2以上である場合(S103:S2<=a)、CPU123は、新分散範囲のDU数を1と決定する(S104)。I/Oアクセス数が閾値S1以上S2未満である場合(S103:S1<=a<S2)、CPU123は、新分散範囲のDU数を2と決定する(S105)。I/Oアクセス数が閾値S1未満である場合(S103:a<S1)、CPU123は、新分散範囲のDU数を3と決定する(S106)。これらDU数は一例である。
CPU123は、ボリューム管理テーブル241の分散DU数欄415から、当該仮想ボリュームの現在の分散範囲のDU数を取得し、新たに決定した分散範囲のDU数と比較する(S107)。現在の分散範囲のDU数と新たに決定した分散範囲のDU数が同一である場合(S107:Yes)、CPU123は、分散範囲を変更することなく本処理を終了する。
現在の分散範囲のDU数と新たに決定した分散範囲のDU数が異なる場合(S107:No)、CPU123は、新たな分散ビットマップを作成する(S108)。新たな分散ビットマップの作成の詳細は後述する。なお、ステップS108で分散ビットマップが作成されない場合、CPU123は、本処理を終了する。
CPU123は、新たに決定した分散範囲のリビルド時間の推定値を計算する(S109)。分散範囲のリビルド時間Tは、ボトルネックで決まる。記憶ドライブの性能又は計算機ノード間をつなぐインタフェースの性能が、ボトルネックとなり得る。従って、リビルド時間Tは、下記の数式で適切に計算できる。
Figure 2017061008
ここで、Nは分散範囲に含まれるDU数である。Cは、故障した記憶ドライブの容量である。Cが、記憶ドライブのトータル容量であるか、割り当て済領域の容量であるかは実装による。割り当て済み容量が使用される場合、定期的に値を確認する必要があり、割り当て済み容量管理テーブル247が参照される。
(n=0、…N−1)はDUのスループットであり、したがって、PはDUの記憶ドライブのスループットに等しい。Pは、インタフェーススループットである。デバイスのスループットの値は、スループット管理テーブル245から取得される。
CPU123は、当該仮想ボリュームの現在の分散範囲のDU数と、新たに決定した分散範囲のDU数と比較する(S110)。新たに決定した分散範囲のDU数が現在の分散範囲のDU数がよりも少ない場合(S110:Yes)、CPU123は、新たに作成した分散ビットマップ及び計算した新たなリビルド時間によって、ボリューム管理テーブル241において、当該仮想ボリュームの分散DU数欄415、分散ビットマップ欄416、及びリビルド時間欄417の値を更新し(S112)、本処理を終了する。
新たに決定した分散範囲のDU数が現在の分散範囲のDU数がより多い場合(S110:No)、CPU123は、ボリューム管理テーブル241のリビルド時間欄417から、当該仮想ボリュームの現在のリビルド時間を取得し、ステップS109で算出した新たなリビルド時間と比較する(S111)。
新たなリビルド時間が現在のリビルド時間以上である場合(S111:No)、CPU123は、分散範囲を変更することなく本処理を終了する。新たなリビルド時間が現在のリビルド時間よりも短い場合(S111:Yes)、CPU123は、新たに作成した分散ビットマップ及び計算した新たなリビルド時間によって、ボリューム管理テーブル241において、当該仮想ボリュームの分散DU数欄415、分散ビットマップ欄416、及びリビルド時間欄417の値を更新し(S112)、本処理を終了する。
上述のように、分散範囲の変更を、自動再配置が許可されている仮想ボリュームに対してのみ実行することで、ユーザ要求に即した制御を実現できる。仮想ボリュームへのアクセス数(アクセス頻度)に応じて分散範囲を動的に決定することで、適切に、リビルドを高速化させつつ、I/O性能の低下を抑制できる。
分散範囲のDU数をアクセス頻度が含まれる数値範囲に応じて決定することで、DU数決定の処理負荷を小さくでき、また、3以上の数値範囲数を定義することで、アクセス頻度に応じてより適切なDU数を決定できる。分散範囲のDUを増加させるとリビルド時間が増加する場合に、分散範囲の変更を中止することによって、システム構成に応じて適切に分散範囲を決定できる。
現在の分散範囲からDUを削除する場合、削除されるDUに格納されている当該仮想ボリュームのデータは、新たな分散範囲に残されるDUに再配置される。論理ページのデータは、パーセル単位で分散配置されている。例えば、当該仮想ボリュームのオーナノードは、図12を参照して後述する規則と同様の規則に従って、削除されるDUに格納されているデータの論理ページそれぞれのデータを、新たな分散範囲において再配置する。
図11は、図10における新たな分散ビットマップ作成ステップ(S108)の詳細のフローチャートを示す。CPU123は、ボリューム管理テーブル241を参照し、分散ビットマップ欄416から当該仮想ボリュームの現在の分散ビットマップを取得する(S131)。
CPU123は、取得した分散ビットマップから、当該仮想ボリュームの現在の分散範囲を構成するDUを同定する(S132)。当該仮想ボリュームの現在の分散範囲は、分散ビットマップが示すDUにおいて、当該仮想ボリュームが属するプール内のPGで構成される。
CPU123は、ステップS104、S105、S106のいずれかのステップで決定した新分散DU数と、現在の分散ビットマップが示す現在分散DU数とを比較する(S133)。
新分散DU数が現在の分散DU数よりも小さい場合(S133:No)、CPU123は、プール管理テーブル243を参照し(S134)、現在の分散範囲から削除するDUを選択する(S135)。CPU123は、現在分散範囲のDUにおいて、当該仮想ボリュームのオーナノードのリモートDU(直接アクセスできないDU)から、削除するDUを選択する。CPU123は、接続ノード欄434を参照して、現在分散範囲の各DUが、当該仮想ボリュームのオーナノードのリモートDUかローカルDUか判定する。
現在分散範囲が、当該仮想ボリュームのオーナノードのローカルDU(直接アクセス可能なDU)のみで構成されている場合、CPU123は、本ステップS135をスキップする。CPU123は、ローカルDUから削除するDUを選択してもよい。
現在分散範囲に含まれるリモートDUの数が、削除すべきDUの数に満たない場合、CPU123は、現在分散範囲から、ローカルDU以外の全てのリモートDUを選択する。CPU123は、現在分散範囲内の全てのリモートDUに加え、ローカルDUを選択してもよい。CPU123は、本ステップS135をスキップしてもよい。
このように、仮想ボリュームのオーナノードのリモートDUを優先して削除し、ローカルDUを優先して新しい分散範囲に残すことによって、新しい分散範囲におけるアクセス性能を高めることができる。
CPU123は、削除可能なDUから、空き容量の値が小さい順に削除するDUを選択する。CPU123は、DU空き容量欄438を参照することで、各DUの空き容量を知ることができる。これによって、新しい分散範囲での空き容量の枯渇の可能性を低減することができる。
ローカルDUとリモートDUが削除可能である場合、例えば、CPU123は、リモートDUを選択した後、不足している下図のローカルDUを空き容量の値に従って選択する。CPU123は、当該仮想ボリュームのオーナノードのリモートDUを優先して削除し、さらに、空き容量が小さいDUを優先して削除する。
オーナノードとDUの接続関係又は空き容量の一方のみが削除するDUの選択基準であってもよく、他の要素が選択基準に含まれてもよい。選択基準において、空き容量が、オーナノードとDUの接続関係より優先されてもよい。
新分散DU数が現在分散DU数よりも大きい場合(S133:Yes)、CPU123は、プール管理テーブル243を参照し(S136)、当該仮想ボリュームが属するプールの現在分散範囲外のDUから、追加するDUを選択する(S137)。CPU123は、現在分散範囲のDUと同一RAID構成かつ同一ドライブ種別のDUを選択する。CPU123は、RAID欄436及びドライブ種別欄437を参照して、各DUのRAID構成及びドライブ種別を同定する。
ここで、追加すべきDUとして選択されるDUの、当該プールにおける全てのPGのRAID構成及びドライブ種別は、同一である。プール内の全てのPGが同一のRAID構成及びドライブ種別を有するプールに属する仮想ボリュームのみが、自動再配置が許可されていてもよい(ボリューム管理テーブル241の自動再配置欄413)。
当該プール内に、現在分散範囲のDUと同一RAID構成及び同一ドライブ種別のDUが存在しない場合、CPU123は、本ステップS135をスキップする。現在分散範囲のDUと同一RAID構成及び同一ドライブ種別のDUの数が、追加すべきDUの数に満たない場合、CPU123は、現在分散範囲のDUとRAID構成及びドライブ種別が同一の全DUを追加するCPU123は、本ステップS135をスキップしてもよい。
当該プールにおいて、現在分散範囲のDUと同一RAID構成及び同一ドライブ種別のDUの数が、追加すべきDUの数以上である場合、CPU123は、空き容量の値が大きい順に、追加するDUを選択する。CPU123は、DU空き容量欄438を参照することで、各DUの空き容量を知ることができる。これによって、新しい分散範囲での空き容量の枯渇の可能性を低減することができる。
CPU123は、空き容量を参照する前に、DUが当該仮想ボリュームのオーナノードのローカルDUをリモートDUより優先して追加するDUを選択してもよい。これによって、新たな分散範囲のI/O性能の低下を抑制できる。
以上のように削除するDUを選択する(S135)又は追加するDUを選択した(S137)後、CPU123は、現在の分散範囲及び選択したDUに基づいて、新たな分散ビットマップを作成する(S138)。作成された新たな分散ビットマップは、図10のフローチャートにおけるステップS108の出力である。
上記例は、分散範囲のDU数をアクセス頻度に応じて動的に変更する。ストレージシステム100は、他の種類のドライブグループ、たとえば、PGの数をアクセス頻度に応じて動的に変更してもよい。分散範囲のDU数又はPG数を決定することは、結果的に、分散範囲の記憶ドライブ数を決定することと一致する。
図12は、パーセルを記憶ドライブの記憶領域に割り当てる処理のフローチャートを示す。以下に説明する割り当て方法は一例であって、他のアルゴリズムを使用することができる。CPU123は、仮想ボリュームに新たなライトアクセス、つまり、空きVVOLページにライトアクセスがあると、当該VVOLページに記憶ドライブの記憶領域を割り当てる。若しくは、CPU123は、論理ページの再配置において、当該論理ページに記憶ドライブの記憶領域を割り当てる。図4Bを参照して説明したように、パーセル単位で記憶ドライブの記憶領域が割り当てられる。
図12に示すように、CPU123は、ボリューム管理テーブル241を参照して(S151)、分散ビットマップ欄416からアクセス先の仮想ボリュームの分散ビットマップを取得し、分散範囲のDUを同定する(S152)。
次に、CPU123は、プール管理テーブル243を参照し(S153)、RAID欄436(又はドライブ数欄435)から、必要なパーセル数を決定する(S154)。例えば、7D1PのRAID構成のパーセル数は8である。
次に、CPU123は、割り当て済み容量管理テーブル247を参照し(S156)、当該仮想ボリュームのエントリから分散範囲に含まれるDUを選択し、さらに、選択したDUにおいて、割り当て済み容量が小さい順で、上記パーセル数の記憶ドライブを選択する(S156)。これにより、記憶ドライブに均等にデータが格納され、記憶ドライブの負荷を適切に分散できる。
次に、CPU123は、選択した記憶ドライブに対してパーセルのデータを格納した後、割り当て済み容量管理テーブル247の該当エントリの値に、パーセルの割り当て容量分可算して、更新する。以上により本フローチャートの処理が終了する。
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明したすべての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
また、上記の各構成・機能・処理部等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、ICカード、SDカード等の記録媒体に置くことができる。
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしもすべての制御線や情報線を示しているとは限らない。実際には殆どすべての構成が相互に接続されていると考えてもよい。

Claims (11)

  1. ネットワークにより接続され、ボリュームを提供する複数ノードと、
    複数のドライブユニットと、
    管理システムと、を含み、
    前記複数のドライブユニットのそれぞれは、複数の記憶ドライブからなり、前記複数ノードにおける1以上のノードから他のノードを介することなくアクセス可能であり、
    前記管理システム又は前記複数ノードの一つは、第1ボリュームのアクセス頻度に基づいて、前記第1ボリュームのデータを配置する新たな分散範囲の記憶ドライブ数を決定する、ストレージシステム。
  2. 請求項1に記載のストレージシステムであって、
    前記管理システム又は前記複数ノードの前記一つは、
    前記アクセス頻度が第1閾値以上である場合、前記新たな分散範囲を、前記第1ボリュームのオーナノードから他のノードを介することなくアクセス可能な記憶ドライブで構成すると決定する、ストレージシステム。
  3. 請求項1に記載のストレージシステムであって、
    前記管理システム又は前記複数ノードの前記一つは、前記新たな分散範囲のドライブユニット数を決定することによって、前記新たな分散範囲の記憶ドライブ数を決定する、ストレージシステム。
  4. 請求項1に記載のストレージシステムであって、
    前記管理システム又は前記複数ノードの前記一つは、
    前記アクセス頻度と複数の閾値との比較を行って、前記アクセス頻度が属する範囲を決定し、
    決定された前記範囲に対応する記憶ドライブ数を、前記新たな分散範囲のドライブユニット数と決定する、ストレージシステム。
  5. 請求項1に記載のストレージシステムであって、
    前記管理システム又は前記複数ノードの前記一つは、前記新たな分散範囲の記憶ドライブ数として、現在の分散範囲の記憶ドライブ数よりも少ない数を決定した場合、前記第1ボリュームを提供するオーナノードから他のノードを介することなくアクセス可能な記憶ドライブを優先して残す、ストレージシステム。
  6. 請求項1に記載のストレージシステムであって、
    前記管理システム又は前記複数ノードの前記一つは、前記第1ボリュームの現在の分散範囲を構成する記憶ドライブの空き容量に基づいて、前記現在の分散範囲から削除する記憶ドライブを決定する、ストレージシステム。
  7. 請求項1に記載のストレージシステムであって、
    前記管理システム又は前記複数ノードの前記一つは、前記新たな分散範囲の記憶ドライブ数として、現在の分散範囲の記憶ドライブ数よりも多くの数を決定した場合、前記現在の記憶ドライブ数及び前記多くの記憶ドライブ数におけるリビルド時間を推定し、
    前記多くの記憶ドライブ数における推定されたリビルド時間が前記現在の記憶ドライブ数における推定されたリビルド時間よりも長い場合、前記現在の分散範囲を維持すると決定する、ストレージシステム。
  8. 請求項7に記載のストレージシステムであって、
    前記リビルド時間の推定は、分散範囲の内の記憶ドライブのスループット及びノード間インタフェースのスループット、を参照する、ストレージシステム。
  9. 請求項1に記載のストレージシステムであって、
    前記管理システム又は前記複数ノードの前記一つは、前記第1ボリュームの現在の分散範囲外の記憶ドライブの空き容量に基づいて、前記現在の分散範囲に追加する記憶ドライブを決定する、ストレージシステム。
  10. 請求項1に記載のストレージシステムであって、
    前記管理システム又は前記複数ノードの前記一つは、
    前記アクセス頻度が第1閾値以上である場合、前記新たな分散範囲を、前記第1ボリュームのオーナノードから他のノードを介することなくアクセス可能な記憶ドライブで構成すると決定し、
    前記新たな分散範囲の記憶ドライブ数として、現在の分散範囲の記憶ドライブ数よりも多くの数を決定した場合、前記現在の記憶ドライブ数及び前記多くの記憶ドライブ数におけるリビルド時間を推定し、
    前記多くの記憶ドライブ数における推定されたリビルド時間が前記現在の記憶ドライブ数における推定されたリビルド時間よりも長い場合、前記現在の分散範囲を維持する、ストレージシステム。
  11. ネットワークにより接続され、ボリュームを提供する複数ノードと、複数のドライブユニットと、を含み、前記複数のドライブユニットのそれぞれが、複数の記憶ドライブからなり、前記複数ノードにおける1以上のノードから他のノードを介することなくアクセス可能であるストレージシステム、の制御方法であって
    第1ボリュームのアクセス頻度を監視し、
    前記アクセス頻度の監視結果に基づいて、前記第1ボリュームのデータを配置する新たな分散範囲の記憶ドライブ数を決定する、方法。
JP2017544132A 2015-10-08 2015-10-08 ストレージシステム Active JP6560759B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2015/078652 WO2017061008A1 (ja) 2015-10-08 2015-10-08 ストレージシステム

Publications (2)

Publication Number Publication Date
JPWO2017061008A1 true JPWO2017061008A1 (ja) 2018-07-12
JP6560759B2 JP6560759B2 (ja) 2019-08-14

Family

ID=58487325

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017544132A Active JP6560759B2 (ja) 2015-10-08 2015-10-08 ストレージシステム

Country Status (3)

Country Link
US (1) US10558383B2 (ja)
JP (1) JP6560759B2 (ja)
WO (1) WO2017061008A1 (ja)

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107526531B (zh) * 2016-06-21 2020-01-14 伊姆西公司 为映射独立盘冗余阵列(raid)选择raid级别的方法和设备
US10713117B2 (en) * 2017-06-15 2020-07-14 Hitachi, Ltd. Storage system and method for controlling storage system
US10540111B2 (en) * 2017-06-28 2020-01-21 International Business Machines Corporation Managing data container instances in a dispersed storage network
US10761743B1 (en) 2017-07-17 2020-09-01 EMC IP Holding Company LLC Establishing data reliability groups within a geographically distributed data storage environment
US10880040B1 (en) 2017-10-23 2020-12-29 EMC IP Holding Company LLC Scale-out distributed erasure coding
US10382554B1 (en) 2018-01-04 2019-08-13 Emc Corporation Handling deletes with distributed erasure coding
US10579297B2 (en) 2018-04-27 2020-03-03 EMC IP Holding Company LLC Scaling-in for geographically diverse storage
US10936196B2 (en) 2018-06-15 2021-03-02 EMC IP Holding Company LLC Data convolution for geographically diverse storage
US11023130B2 (en) 2018-06-15 2021-06-01 EMC IP Holding Company LLC Deleting data in a geographically diverse storage construct
US11436203B2 (en) 2018-11-02 2022-09-06 EMC IP Holding Company LLC Scaling out geographically diverse storage
US10901635B2 (en) 2018-12-04 2021-01-26 EMC IP Holding Company LLC Mapped redundant array of independent nodes for data storage with high performance using logical columns of the nodes with different widths and different positioning patterns
US11119683B2 (en) 2018-12-20 2021-09-14 EMC IP Holding Company LLC Logical compaction of a degraded chunk in a geographically diverse data storage system
US10931777B2 (en) 2018-12-20 2021-02-23 EMC IP Holding Company LLC Network efficient geographically diverse data storage system employing degraded chunks
US10892782B2 (en) 2018-12-21 2021-01-12 EMC IP Holding Company LLC Flexible system and method for combining erasure-coded protection sets
US11023331B2 (en) 2019-01-04 2021-06-01 EMC IP Holding Company LLC Fast recovery of data in a geographically distributed storage environment
US10942827B2 (en) 2019-01-22 2021-03-09 EMC IP Holding Company LLC Replication of data in a geographically distributed storage environment
US10936239B2 (en) 2019-01-29 2021-03-02 EMC IP Holding Company LLC Cluster contraction of a mapped redundant array of independent nodes
US10846003B2 (en) 2019-01-29 2020-11-24 EMC IP Holding Company LLC Doubly mapped redundant array of independent nodes for data storage
US10942825B2 (en) 2019-01-29 2021-03-09 EMC IP Holding Company LLC Mitigating real node failure in a mapped redundant array of independent nodes
US10866766B2 (en) 2019-01-29 2020-12-15 EMC IP Holding Company LLC Affinity sensitive data convolution for data storage systems
JP6884165B2 (ja) 2019-02-27 2021-06-09 株式会社日立製作所 複数のストレージノードを含むストレージシステム
TWI701552B (zh) * 2019-03-22 2020-08-11 群聯電子股份有限公司 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元
US11029865B2 (en) * 2019-04-03 2021-06-08 EMC IP Holding Company LLC Affinity sensitive storage of data corresponding to a mapped redundant array of independent nodes
US10944826B2 (en) 2019-04-03 2021-03-09 EMC IP Holding Company LLC Selective instantiation of a storage service for a mapped redundant array of independent nodes
CN111857537B (zh) * 2019-04-24 2024-04-12 伊姆西Ip控股有限责任公司 管理存储设备的方法、电子设备以及计算机可读介质
US11113146B2 (en) 2019-04-30 2021-09-07 EMC IP Holding Company LLC Chunk segment recovery via hierarchical erasure coding in a geographically diverse data storage system
US11121727B2 (en) 2019-04-30 2021-09-14 EMC IP Holding Company LLC Adaptive data storing for data storage systems employing erasure coding
US11119686B2 (en) 2019-04-30 2021-09-14 EMC IP Holding Company LLC Preservation of data during scaling of a geographically diverse data storage system
US11748004B2 (en) 2019-05-03 2023-09-05 EMC IP Holding Company LLC Data replication using active and passive data storage modes
US11209996B2 (en) 2019-07-15 2021-12-28 EMC IP Holding Company LLC Mapped cluster stretching for increasing workload in a data storage system
US11449399B2 (en) 2019-07-30 2022-09-20 EMC IP Holding Company LLC Mitigating real node failure of a doubly mapped redundant array of independent nodes
US11023145B2 (en) 2019-07-30 2021-06-01 EMC IP Holding Company LLC Hybrid mapped clusters for data storage
US11228322B2 (en) 2019-09-13 2022-01-18 EMC IP Holding Company LLC Rebalancing in a geographically diverse storage system employing erasure coding
US11449248B2 (en) 2019-09-26 2022-09-20 EMC IP Holding Company LLC Mapped redundant array of independent data storage regions
US11288139B2 (en) 2019-10-31 2022-03-29 EMC IP Holding Company LLC Two-step recovery employing erasure coding in a geographically diverse data storage system
US11435910B2 (en) 2019-10-31 2022-09-06 EMC IP Holding Company LLC Heterogeneous mapped redundant array of independent nodes for data storage
US11119690B2 (en) 2019-10-31 2021-09-14 EMC IP Holding Company LLC Consolidation of protection sets in a geographically diverse data storage environment
US11435957B2 (en) 2019-11-27 2022-09-06 EMC IP Holding Company LLC Selective instantiation of a storage service for a doubly mapped redundant array of independent nodes
US11144220B2 (en) * 2019-12-24 2021-10-12 EMC IP Holding Company LLC Affinity sensitive storage of data corresponding to a doubly mapped redundant array of independent nodes
US11231860B2 (en) 2020-01-17 2022-01-25 EMC IP Holding Company LLC Doubly mapped redundant array of independent nodes for data storage with high performance
US11507308B2 (en) 2020-03-30 2022-11-22 EMC IP Holding Company LLC Disk access event control for mapped nodes supported by a real cluster storage system
US11288229B2 (en) 2020-05-29 2022-03-29 EMC IP Holding Company LLC Verifiable intra-cluster migration for a chunk storage system
US11693983B2 (en) 2020-10-28 2023-07-04 EMC IP Holding Company LLC Data protection via commutative erasure coding in a geographically diverse data storage system
US11847141B2 (en) 2021-01-19 2023-12-19 EMC IP Holding Company LLC Mapped redundant array of independent nodes employing mapped reliability groups for data storage
US11625174B2 (en) 2021-01-20 2023-04-11 EMC IP Holding Company LLC Parity allocation for a virtual redundant array of independent disks
US11449234B1 (en) 2021-05-28 2022-09-20 EMC IP Holding Company LLC Efficient data access operations via a mapping layer instance for a doubly mapped redundant array of independent nodes
US11354191B1 (en) 2021-05-28 2022-06-07 EMC IP Holding Company LLC Erasure coding in a large geographically diverse data storage system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0736634A (ja) * 1993-07-16 1995-02-07 Toshiba Corp ディスクアレイ装置
JP2005284632A (ja) * 2004-03-29 2005-10-13 Toshiba Solutions Corp ストレージシステム、ブロック再配置制御方法及びプログラム
JP2014241117A (ja) * 2013-06-12 2014-12-25 富士通株式会社 ストレージシステム、運用管理方法及び運用管理プログラム
WO2015025363A1 (ja) * 2013-08-20 2015-02-26 株式会社日立製作所 ストレージ装置及びデータ入出力方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6862692B2 (en) * 2001-01-29 2005-03-01 Adaptec, Inc. Dynamic redistribution of parity groups
GB2524433B (en) 2013-01-25 2020-11-25 Hitachi Ltd Storage system and data management method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0736634A (ja) * 1993-07-16 1995-02-07 Toshiba Corp ディスクアレイ装置
JP2005284632A (ja) * 2004-03-29 2005-10-13 Toshiba Solutions Corp ストレージシステム、ブロック再配置制御方法及びプログラム
JP2014241117A (ja) * 2013-06-12 2014-12-25 富士通株式会社 ストレージシステム、運用管理方法及び運用管理プログラム
WO2015025363A1 (ja) * 2013-08-20 2015-02-26 株式会社日立製作所 ストレージ装置及びデータ入出力方法

Also Published As

Publication number Publication date
US20180246668A1 (en) 2018-08-30
WO2017061008A1 (ja) 2017-04-13
US10558383B2 (en) 2020-02-11
JP6560759B2 (ja) 2019-08-14

Similar Documents

Publication Publication Date Title
JP6560759B2 (ja) ストレージシステム
US11182258B2 (en) Data rebuild using dynamic peer work allocation
US9495110B2 (en) LUN management with distributed RAID controllers
US20170123976A1 (en) Apportioning namespace ranges in accordance with dispersed storage unit capacity
WO2011024239A1 (en) Storage system having plurality of flash packages
US11301137B2 (en) Storage system and data arrangement method of storage system
US8495295B2 (en) Mass storage system and method of operating thereof
US9652160B1 (en) Method and system for data migration between high performance computing entities and a data storage supported by a de-clustered raid (DCR) architecture with I/O activity dynamically controlled based on remaining health of data storage devices
US20180275894A1 (en) Storage system
WO2018131127A1 (ja) ストレージ装置及び分散ストレージシステム
WO2016142998A1 (ja) 計算機システム
JP6526235B2 (ja) データチェック方法および記憶システム
CN109725838B (zh) 用于管理多个盘的方法、装置以及计算机可读介质
US20170212705A1 (en) Dynamic Weighting for Distributed Parity Device Layouts
US11899533B2 (en) Stripe reassembling method in storage system and stripe server
US10846234B2 (en) Storage control system and storage control method
WO2015145617A1 (ja) ストレージシステム及び記憶制御方法
US11842074B2 (en) Striping in a storage system
US10713117B2 (en) Storage system and method for controlling storage system
US11467907B2 (en) Storage system with multiple storage devices to store data
US20230214134A1 (en) Storage device and control method therefor
US20240103731A1 (en) Non-volatile storage device offloading of host tasks
US20240103756A1 (en) Non-volatile storage device offloading of host tasks
US20240103765A1 (en) Non-volatile storage device offloading of host tasks
JP6605762B2 (ja) 記憶ドライブの故障により消失したデータを復元する装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180319

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190402

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20190529

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190703

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190719

R150 Certificate of patent or registration of utility model

Ref document number: 6560759

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150