JPWO2013093994A1 - ストレージシステム、データリバランシングプログラム及びデータリバランシング方法 - Google Patents

ストレージシステム、データリバランシングプログラム及びデータリバランシング方法 Download PDF

Info

Publication number
JPWO2013093994A1
JPWO2013093994A1 JP2013549973A JP2013549973A JPWO2013093994A1 JP WO2013093994 A1 JPWO2013093994 A1 JP WO2013093994A1 JP 2013549973 A JP2013549973 A JP 2013549973A JP 2013549973 A JP2013549973 A JP 2013549973A JP WO2013093994 A1 JPWO2013093994 A1 JP WO2013093994A1
Authority
JP
Japan
Prior art keywords
storage device
access
target data
replica
data
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
JP2013549973A
Other languages
English (en)
Other versions
JP6056769B2 (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.)
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
Publication of JPWO2013093994A1 publication Critical patent/JPWO2013093994A1/ja
Application granted granted Critical
Publication of JP6056769B2 publication Critical patent/JP6056769B2/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/0653Monitoring 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/0614Improving the reliability of storage systems
    • G06F3/0617Improving the reliability of storage systems in relation to availability
    • 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/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • 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/0632Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage 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/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/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD

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)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Debugging And Monitoring (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

ストレージシステムは、データを格納する複数の格納装置と、データを保持するキャッシュメモリと、情報処理端末から、対象データの読み込みまたは対象データの書込みのためのアクセス要求があった場合、いずれかの格納装置へアクセスすると共に、対象データをキャッシュメモリへ格納するアクセス制御部と、キャッシュメモリへ格納した対象データを、複数の格納装置のうち対象データが格納されていない格納装置へ書き込む書込部と、を含む。

Description

本明細書に記載の技術は、ストレージシステムに関する。
ストレージシステムは、複数のストレージ装置と、それらを統括するサーバ装置とを含む。スケールアウト型ストレージシステムでは、ストレージ装置の追加時にデータの平準化を確保するため、ストレージ装置間でデータリバランス(データの再配置)処理が行われる。データリバランスは多くの場合、ストレージ装置において偏ったデータを別のストレージ装置にコピーする。そのため、データリバランスを行っている間は、ネットワーク帯域とシステムリソースが使用される。
論理ボリュームの負荷分散に関して、次の論理ボリューム負荷分散技術がある。ストレージ装置において、性能測定機構は、データ転送機構により転送されるデータ量およびコマンド処理量に基づいて、論理ボリュームの負荷状況を測定する。コピー機構は、性能測定機構の測定結果に基づいて、物理ボリュームに設定された論理ボリュームの内容を予備物理ボリュームに設定された論理ボリュームにコピーする。複数のコピーしたデータを持つことで、データアクセスの負荷分散を行う。
特開2006−053601号公報 特開2007−149068号公報 特開2005−284632号公報 特開2006−99748号公報 特開2004−5634号公報 特開2007−72538号公報
通常行われるデータリバランシングでは、ストレージ装置に格納されているデータを、追加したストレージにコピーすることで、特定のストレージへのアクセス集中を回避することができる。このコピー処理には、ストレージ装置間のネットワーク帯域を使用する。したがって、ストレージ装置間でのデータのコピーは、ネットワークに負荷がかかるため、ストレージ装置の負荷が低い時間帯にコピーを行うことが考えられる。
しかしながら、ストレージ統合を行ったストレージ装置の場合、そのストレージ装置は、複数のシステムから利用されるため、ネットワークが低負荷となる時間帯が確保できないケースも考えられる。また、データのコピー中は、ネットワークの帯域を一度に使用するため、そのコピーが、ストレージ装置とサーバ間の入出力のボトルネックとなる要因になる。
1つの側面では、本発明は、ストレージシステムにおけるデータリバランスの効率化を図る技術を提供する。
ストレージシステムは、複数の格納装置、キャッシュメモリ、アクセス制御部、書込部を含む。格納装置は、データを格納する。キャッシュメモリは、データを保持する。アクセス制御部は、情報処理端末から、対象データの読み込みまたは対象データの書込みのためのアクセス要求があった場合、いずれかの前記格納装置へアクセスすると共に、前記対象データを前記キャッシュメモリへ格納する。書込部は、前記キャッシュメモリへ格納した前記対象データを、前記複数の格納装置のうち該対象データが格納されていない格納装置へ書き込む。
1実施形態によれば、ストレージシステムにおけるデータリバランスの効率化を図ることができる。
本実施形態におけるストレージシステムの構成を示す。 本実施形態におけるシステムの全体構成図を示す。 ボリューム管理サーバ15とI/Oサーバ18のブロック図を示す。 レプリカ表31の一例を示す。 書き込み保留表32の一例を示す。 I/O周期表33の一例を示す。 read/writeアクセス負荷対応表34の一例を示す。 read/writeディスクアクセス負荷対応表35の一例を示す。 レプリカ完成度表36の一例を示す。 ディスクI/O周期表37の一例を示す。 read/write位置アクセス負荷対応表38の一例を示す。 ストレージ容量表39の一例を示す。 負荷統計情報40の一例を示す。 本実施形態におけるデータ読み込みフローを示す。 本実施形態におけるデータ書込みフローを示す。 本実施形態におけるレプリカ作成処理フロー(その1)を示す。 本実施形態におけるレプリカ作成処理フロー(その2)を示す。 本実施形態におけるレプリカ削除処理フロー(その1)を示す。 本実施形態におけるレプリカ削除処理フロー(その2)を示す。 I/O周期表を利用した予測レプリカ作成処理フローを示す。 ストレージ装置AについてのI/O周期表33のread頻度とwrite頻度とを加算して得られるアクセス頻度を1時間毎に集計した作業表(A)と、そのグラフ(B)を示す。 ストレージ装置BについてのI/O周期表33のread頻度とwrite頻度とを加算して得られるアクセス頻度を1時間毎に集計した作業表(A)と、そのグラフ(B)を示す。 ストレージ装置CについてのI/O周期表33のread頻度とwrite頻度とを加算して得られるアクセス頻度を1時間毎に集計した作業表(A)と、そのグラフ(B)を示す。 図21−図23で示す作業表(A)の1時間毎のアクセス頻度の平均値と、そのグラフ(B)を示す。 ストレージ装置BのディスクB1についてのI/O周期表33のread頻度とwrite頻度とを加算して得られるアクセス頻度を1分毎に集計した作業表(A)と、そのグラフ(B)を示す。 ストレージ装置BのディスクB2についてのI/O周期表33のread頻度とwrite頻度とを加算して得られるアクセス頻度を1分毎に集計した作業表(A)と、そのグラフ(B)を示す。 ストレージ装置BのディスクB3についてのI/O周期表33のread頻度とwrite頻度とを加算して得られるアクセス頻度を1分毎に集計した作業表(A)と、そのグラフ(B)を示す。 図25−図27で示す作業表(A)の1分毎のアクセス頻度の平均値と、そのグラフ(B)を示す。
上述した論理ボリューム負荷分散技術では、アクセス頻度を分析し、レプリカおよび一部データの複製を独自に作成することで負荷分散を行っている。しかし、この場合、業務で用いる入出力(I/O)とは別にコピー用の帯域が必要となり、このコピーによる業務への影響も考えられる。また、論理ボリュームの性能を拡充することができるのは、論理ボリュームを定義する初期設定時のみであり、オンデマンドな性能拡充は行うことはできない。また、複数のミラーが作成され、そのミラーに書込みが行われる場合において、書込みによる負荷が増大した場合には、ミラーを解体する手法が用いられる。しかし、一時の負荷によりミラーを解体することが、返って性能劣化につながる問題もある。さらに、データの読込みの際、ネットワーク帯域を使用するため、ストレージ装置とクライアント間のネットワーク帯域を圧迫してしまう。そのため、上述した論理ボリューム負荷分散技術は、大規模なストレージシステムのでは使用することができない。
そこで、ストレージ装置の追加時や運用中の負荷不均衡時に行うデータリバランスの効率化を図る。このとき、複数のストレージ装置へのデータの複製を作成する場合に、情報処理端末からのアクセス要求を効率的に利用することで、ストレージシステムの入出力の性能の向上を図る。
図1は、本実施形態におけるストレージシステムの構成を示す。本実施形態におけるストレージシステム1は、複数の格納装置2、キャッシュメモリ3、アクセス制御部4、書込部5を含む。
格納装置2は、データを格納する。格納装置2の一例は、ストレージ装置25である。キャッシュメモリ3は、データを保持する。キャッシュメモリ3の一例は、キャッシュメモリ18dの一例である。
アクセス制御部4は、情報処理端末9から、対象データの読み込みまたは対象データの書込みのためのアクセス要求があった場合、いずれかの格納装置2へアクセスすると共に、対象データをキャッシュメモリ3へ格納する。アクセス制御部4の一例は、I/Oサーバ18である。
書込部5は、キャッシュメモリ3へ格納した対象データを、複数の格納装置2のうち対象データが格納されていない格納装置2へ書き込む。書込部5の一例は、I/Oサーバ18である。
このように構成することにより、ストレージ間のリバランシング処理の効率化を図ることができる。すなわち、ストレージ装置を追加した場合に、情報処理端末9からのアクセス要求を有効利用することで、ストレージ間のリバランシング処理を、ネットワークに負荷を掛けずに効率的に行うことができる。
前記ストレージシステムは、さらに、負荷監視部6を含む。負荷監視部6は、格納装置2に対する、読み込みまたは書き込みによるアクセス負荷の監視を行う。負荷監視部6の一例は、負荷監視部17の一例である。
アクセス制御部4は、情報処理端末9からアクセス要求があった場合、監視の結果に基づいて、格納装置2のうちアクセス負荷の最も少ない格納装置へアクセスすると共に、対象データをキャッシュメモリ3へ格納する。
アクセス制御部4は、情報処理端末9から対象データへの読み込み要求があった場合、監視の結果に基づいて、対象データを格納する格納装置2のうちアクセス負荷の最も少ない格納装置から対象データを取得する。アクセス制御部4は、対象データをキャッシュメモリ3へ格納し、対象データを情報処理端末へ送信する。
アクセス制御部4は、情報処理端末9から対象データの書き込み要求があった場合、監視の結果に基づいて、格納装置2のうちアクセス負荷の最も少ない格納装置に対象データを書き込み、対象データをキャッシュメモリ3へ格納する。
書込部5は、キャッシュメモリ3へ格納した対象データを、書込みを行った格納装置2以外の格納装置2へ書き込む。
このように構成することにより、監視の結果に基づいて、格納装置2のうちアクセス負荷の最も少ない格納装置に対象データを書き込むことができる。
ストレージシステム1は、さらに、レプリカ削除部7を含む。レプリカ削除部7は、複数の格納装置2のボリュームを仮想化した仮想ボリュームのレプリカの書込みアクセス負荷が閾値を超えた場合、仮想ボリュームのレプリカが複数の格納装置2に3以上あれば、いずれかの格納装置2に格納されたレプリカを削除する。または、レプリカ削除部7は、レプリカの作成において格納装置2の空き容量が第1の閾値より少ない場合、仮想ボリュームのレプリカが複数の格納装置2に3以上あれば、いずれかの格納装置2に格納されたレプリカを削除する。
このように構成することにより、情報処理端末からの書込み要求が頻繁にある場合、またはストレージ装置の空き容量が少なくなった場合に、3以上のレプリカを有する仮想ボリュームのいずれかのレプリカを削除することができる。
レプリカ削除部7は、監視の結果に基づいて、レプリカを含む格納装置2のうちアクセス負荷の最も少ない格納装置2のレプリカを選択する。レプリカ削除部7は、時刻毎に集計した格納装置2に対するアクセス頻度を示すアクセス頻度情報に基づいて、選択したレプリカに対して、現時刻以降、第2の閾値を越えるアクセス頻度の読み込みアクセスがないと判定した場合、選択したレプリカを削除する。
このように構成することにより、書込み後に閾値を超えるアクセスが一定時間継続する場合には、その仮想ボリュームのレプリカを削除対象から除くことができる。
ストレージシステム1は、さらに、レプリカ作成部8を含む。レプリカ作成部8は、いずれかの格納装置2に対する時刻毎のアクセス負荷のうちいずれかの時間帯のアクセス負荷と、全ての格納装置2に対する時間帯のアクセス負荷の平均との差分が第3の閾値を超えている場合、次の処理を行う。すなわち、レプリカ作成部8は、時間帯を細分化する。レプリカ作成部8は、細分化したいずれかの時間帯のうちいずれかの格納装置2のいずれかのディスクに対するアクセス負荷と、いずれかの格納装置2の全ディクスの該細分化したいずれかの時間帯のアクセス負荷の平均との差分が第4の閾値より小さいか判定する。その差分が第4の閾値より小さい場合、レプリカ作成部8は、細分化したいずれかの時間帯より前で、いずれかの格納装置のアクセス負荷が第5の閾値を超えていない時間に、最もアクセス負荷の多いディスクにレプリカを作成する。
このように構成することにより、各ディスクのアクセス負荷は低いが、ストレージ装置全体として高い負荷がかかっているストレージ装置について、最もアクセス負荷の多いディスクにレプリカを作成することができる。
本実施形態におけるストレージシステムには、ストレージ装置が2台以上ある。以下では、ストレージ装置Aとストレージ装置Bの2台がある前提で説明する。ストレージ装置A内のディスクは、ストレージ装置Bのディスクとミラー状態(すなわちレプリカは2個である)を保っているものとする。この2つディスクは、I/Oサーバ内で1つの仮想ディスクとして見せている。
ここでミラー状態を保つ理由は、ディスクやストレージ装置が故障した場合でも、データロストや、運用を停止しないためである。ストレージにアクセスを行うクライアント装置は、クラウドシステムのように複数存在するものとする。
図2は、本実施形態におけるシステムの全体構成図を示す。本実施形態におけるシステムは、クライアント装置11とストレージシステム14とがLAN(Local Area Network)13により接続されている。クライアント装置11は、通信インターフェース(以下、インターフェースを「IF」と称する。)12を介してLAN13と接続されている。なお、LAN13は、一例であって、インターネット、イントラネット、その他のネットワークであってよい。
ストレージシステム14は、ボリューム管理サーバ15、I/Oサーバ18、ストレージ装置25、管理用LAN27、I/O用LAN28を含む。
ボリューム管理サーバ15は、ストレージシステム14全体を制御し、I/Oサーバ18で用いる仮想ボリューム21を管理する。ボリューム管理サーバ15は、制御部15a、管理用LAN IF15b、記憶部15cを含む。制御部15aは、ボリューム管理サーバ15の動作を制御するものであって、例えば、CPU(central processing unit)である。管理用LAN IF15bは、管理用LAN27と接続するための通信インターフェースである。記憶部15cには、制御部15aを動作させるプログラム、本実施形態にかかるプログラム及び後述する表等が格納されている。記憶部15cは、例えば、ROM(リードオンリメモリ)、RAM(ランダムアクセスメモリ)、ハードディスク、フラッシュメモリ等を用いることができる。
I/Oサーバ18は、クライアント装置11からの入力やクライアント装置11への出力を制御する。I/Oサーバ18は、外部用通信IF18a、制御部18b、記憶部28c、キャッシュメモリ(以下、「キャッシュ」と称する)18d、ストレージ用通信IF18e、管理用LAN IF18fを含む。外部用通信IF18aは、LAN13と接続するための通信インターフェースである。制御部18bは、I/Oサーバ18の動作を制御し、ストレージのディスクを仮想化した仮想ボリュームを制御するものであって、例えば、CPU(central processing unit)である。記憶部18cには、制御部18bを動作させるプログラム、本実施形態にかかるプログラム及び後述する表、仮想ボリューム等が格納されている。記憶部18bは、例えば、ROM(リードオンリメモリ)、RAM(ランダムアクセスメモリ)、ハードディスク、フラッシュメモリ等を用いることができる。ストレージ用通信IF18eは、I/O用LAN28と接続するための通信インターフェースである。管理用LAN IF18fは、管理用LAN27と接続するための通信インターフェースである。
ストレージ装置25は、複数のディスク26を含む。ストレージ装置25は、管理用LAN27と、I/O用LAN28に接続されている。管理用LAN27は、ボリューム管理サーバ15、I/Oサーバ18、ストレージ装置25間で、命令や負荷の監視の監視等のために用いられるネットワークである。I/O用LAN28は、ストレージ装置25に格納されたデータまたはストレージ装置25へ格納するデータを転送するためのネットワークである。管理用LAN27と、I/O用LAN28は、LANに限定されず、たとえば、SAN(ストレージ・エリア・ネットワーク)等のネットワークであってもよい。
以下の実施形態で説明する処理を実現するプログラムは、プログラム提供者側からLAN13を介して、例えば記憶部15c,18bに格納されてもよい。また、以下の実施形態で説明する処理を実現するプログラムは、市販され、流通している可搬型記憶媒体に格納されていてもよい。この場合、この可搬型記憶媒体はストレージシステム14の読み取り装置(不図示)にセットされて、制御部15a,18bによってそのプログラムが読み出されて、実行されてもよい。可搬型記憶媒体としてはCD−ROM、フレキシブルディスク、光ディスク、光磁気ディスク、ICカード、USBメモリ装置など様々な形式の記憶媒体を使用することができる。このような記憶媒体に格納されたプログラムが読み取り装置によって読み取られる。
図3は、ボリューム管理サーバ15とI/Oサーバ18のブロック図を示す。ボリューム管理サーバ15は、ボリューム管理部16、負荷監視部17を含む。ボリューム管理部16は、各I/Oサーバ18の仮想ボリューム21を管理する。負荷監視部17は、各ストレージ装置25の負荷情報及びストレージ装置25内のボリュームの負荷を監視する。
ボリューム管理部16は、レプリカ表31、書き込み保留表32、I/O周期表33、read/writeアクセス負荷対応表34、read/writeディスクアクセス負荷対応表35を含む。レプリカ表31、書き込み保留表32、I/O周期表33、read/writeアクセス負荷対応表34、read/writeディスクアクセス負荷対応表35は、ボリューム管理サーバ15の記憶部15cに格納されている。
I/Oサーバ18は、I/O管理部20、仮想ボリューム21を含む。I/O管理部20は、クライアント装置11から仮想ボリューム21へのアクセスや仮想ボリューム21からクライアント装置11への出力を制御する。仮想ボリューム21は、I/Oサーバ18に設けられた記憶部18cに格納されている。
I/O管理部20は、レプリカ完成度表36、ディスクI/O周期表37、read/write位置アクセス負荷対応表38を含む。レプリカ完成度表36、ディスクI/O周期表37、read/write位置アクセス負荷対応表38は、I/Oサーバ18の記憶部18cに格納されている。
図4は、レプリカ表31の一例を示す。レプリカ表31とは、仮想ボリューム21のレプリカがどのストレージ装置25に作成されているか、またはそのレプリカがどのような状態であるかを示す表である。
レプリカ表31は、「仮想ボリューム ID」、「ストレージID 1」、「ストレージID 2」、・・・のデータ項目を含む。「仮想ボリューム ID」には、仮想ボリューム21を識別する識別情報が格納される。「ストレージID 1」、「ストレージID 2」・・・には、仮想ボリューム21に対応するストレージ装置25におけるレプリカの完成度が設定される。ここで、レプリカの完成度が100%の場合は、「Created」が設定される。レプリカの完成度が“0 < 完成度 < 100”の場合は、「Copying」が設定される。レプリカの完成度が0%の場合は、「None」が設定される。また、レプリカが削除中である場合は、「Deleting」が設定される。
図5は、書き込み保留表32の一例を示す。書き込み保留表32は、キャッシュ18dに保留した書込み対象のデータを管理する表である。書き込み保留表32は、「仮想ディスク ID」、「ストレージID」、「位置」、「日付」のデータ項目を含む。「仮想ディスク ID」には、仮想ボリューム21を識別する識別情報が格納される。「ストレージID」には、仮想ボリューム21に対応するストレージ装置25を識別する情報(ストレージID)が格納される。「位置」には、データの書き込みを行ったストレージ25における書き込み位置が格納される。「日付」には、書き込んだ日付が格納される。
図6は、I/O周期表33の一例を示す。I/O周期表33は、単位時間当たりの各ストレージ装置25の各ディスクのアクセス(read/write)数を集計した表である。I/O周期表33は、ストレージ装置25のディスク毎に作成される。
I/O周期表33は、「時刻」、「read」、「write」のデータ項目を含む。「時刻」には、一定間隔の時刻が格納される。「read」には、その時刻におけるreadアクセス数が格納される。「write」には、その時刻におけるwriteアクセス数が格納される。
図7は、read/writeアクセス負荷対応表34の一例を示す。read/writeアクセス負荷対応表34は、read/writeディスクアクセス負荷対応表35のディスクIDとread/write位置アクセス負荷対応表38のディスクIDを関連付けさせた表である。read/writeディスクアクセス負荷対応表35、read/write位置アクセス負荷対応表38については後述する。
図8は、read/writeディスクアクセス負荷対応表35の一例を示す。read/writeディスクアクセス負荷対応表35は、全ストレージ25内に存在する各ディスクへのreadアクセスとwriteアクセスの回数をカウントする表である。
read/writeディスクアクセス負荷対応表35は、ストレージ装置単位であり、「ディスクID」、「Readアクセス頻度」、「Writeアクセス頻度」のデータ項目を含む。「ディスクID」には、ストレージ装置25内のディスク26を識別する識別情報が設定される。「Readアクセス頻度」には、そのディスクに対するReadアクセス頻度が設定される。「Writeアクセス頻度」には、そのディスクに対するWriteアクセス頻度が設定される。
図9は、レプリカ完成度表36の一例を示す。レプリカ完成度表36は、仮想ボリュームのストレージ装置25毎のレプリカの完成度を位置毎に示している表である。レプリカ完成度表36は、ストレージ装置25においてレプリカが格納されている「位置」、各ストレージ装置の「レプリカ完成度」、ストレージ装置25に格納されているレプリカの「状態」が格納される。
レプリカ完成度とは、どの程度レプリカが完成しているかを示す値である。レプリカの「状態」には、「None」、「Copying」、「Created」、「Deleting」の4つの状態が存在する。「None」は、レプリカが作成されていないことを示す。「Copying」は、レプリカ作成先にwrite処理を発行する前であることを示す。また、「Created」は、レプリカ作成が完了されていることを示す。「Deleting」は、レプリカの削除中であることを示す。
図10は、ディスクI/O周期表37の一例を示す。単位時間当たりのストレージ25の各ディスクのアクセス数を集計した表である。ディスクI/O周期表37は、当該I/Oサーバが一定の時刻毎にストレージ装置25の各ディスク26にアクセスした回数を集計した表である。ディスクI/O周期表33は、ストレージ装置25のディスク毎に作成される。
ディスクI/O周期表33は、「時刻」、「read」、「write」のデータ項目を含む。「時刻」には、一定間隔の時刻が格納される。「read」には、その時刻におけるreadアクセス数が格納される。「write」には、その時刻におけるwriteアクセス数が格納される。
図11は、read/write位置アクセス負荷対応表38の一例を示す。read/write位置アクセス負荷対応表38は、I/Oサーバ18がアクセスを行っているディスク26の位置毎にread/writeのアクセス負荷を管理している表である。ここで、ディスク26におけるread/writeする位置とは、データをread/writeするための、ディスク26の先頭位置に対する位置を示す。
read/write位置アクセス負荷対応表38は、ディスク単位に設けられ、「ディスクID」、「Readアクセス頻度」、「Writeアクセス頻度」のデータ項目を含む。「ディスクID」には、ストレージ装置25内のディスク26を識別する識別情報が設定される。「Readアクセス頻度」には、そのディスク26に対するReadアクセス頻度が設定される。「Writeアクセス頻度」には、そのディスク26に対するWriteアクセス頻度が設定される。
図12は、ストレージ容量表39の一例を示す。ストレージ容量表39は、各ストレージ装置25の容量が格納された表である。ストレージ容量表39は、ボリューム管理サーバ15の負荷監視部17によって各ストレージ装置25から取得した、ストレージ装置が使用している容量を一覧にしたものである。
図13は、負荷統計情報40の一例を示す。負荷統計情報40は、ストレージ装置25毎の、単位時間当たりのread/write(I/O per second)、帯域使用率が格納された表である。ボリューム管理サーバ15は、負荷監視部17を用いて、各ストレージ装置25から負荷統計情報40を取得する。
本実施形態において、ストレージ装置が追加されるストレージシステム14は、ストレージ装置が2台以上ある。例えば、ストレージシステム14は、ストレージ装置Aとストレージ装置Bの2台がある。ストレージ装置A内のディスクは、ストレージ装置Bのディスクとミラー状態(すなわちレプリカは2個である)を保っているものとする。ストレージシステム14に追加するストレージ装置をストレージ装置Cとする。
(1)ストレージ装置Cをストレージシステム14に追加する。
(2)クライアント11を用いて、ユーザがデータ読込み・書き込みを行う契機で以下の処理が実施される。
(2−1)負荷監視部17を利用して、負荷が少ないストレージ装置25を選択する。
(2−2)選択したストレージ装置25からデータの読込みを行う。
(2−3)読み込んだデータをクライアント11へ返す。
(3)データ読み込み時のキャッシュに保持したデータを、ストレージ装置Cのネットワーク帯域が圧迫されていない時間に、ストレージ装置Cのディスクへ書込みを行う(この時点で、レプリカが3になる)。このように、負荷が少ないストレージ装置Cにデータが移動することで、次に読込む際の読込み性能が向上できる。
(4)readのみが高い頻度で行われ、かつ、いずれのレプリカも読込み性能が低下している場合、新たに追加されたストレージ装置があるならば、レプリカを作成する。
(5)ストレージ装置25の空き容量が少なく(ある閾値を設定。たとえば80%)となったら、レプリカが3以上のものに関して、削除することで空き容量を増やす。ここで、I/O周期表33を用いて、書込み後に大量の読込み期間が続くボリュームのレプリカは削除対象から外す。レプリカ数が3以上存在し、書き込み処理が頻繁に行われる場合は、少なくとも2つのレプリカを維持することを条件に、負荷の高いストレージ装置のレプリカを削除する。
以下では、本実施形態の詳細について説明する。
ストレージシステム14に追加するストレージ装置をストレージ装置C(25c)とする。本実施形態では、ストレージ装置25の新規追加の場面で説明をするが、運用開始後にも同様なアルゴリズムでリバランスをすることができる。
(1)ストレージ装置C(25c)の追加
ストレージ装置C(25c)は、全てのクライアント11からアクセスできるように、ストレージシステム14内に設置され、I/O用LAN27と接続される。
(2)データ読込み
図14は、本実施形態におけるデータ読み込みフローを示す。以下では、図14を用いて、ボリューム管理サーバ15とI/Oサーバ18の動作を説明する。
[読込みストレージの選択]
ボリューム管理サーバ15の負荷監視部17は、各ストレージ装置25の負荷状況・ストレージ装置内のボリュームの負荷を監視する(S11)。ここでは、負荷監視部17は、ストレージ装置25から送信された負荷統計情報40を取得する。
ボリューム管理サーバ15は、I/Oサーバ18に対して、定期的に、ストレージ装置25から取得した負荷統計情報を送信する(S12)。
[読込みデータのキャッシュの保持]
クライアント11からデータの読込み要求があると、I/Oサーバ18は、ストレージ装置25内のディスク26よりデータの読み込みを行う(S21)。レプリカ完成度表36を参照して複数のレプリカが存在すると判定した場合、I/Oサーバ18は、アクセス負荷が最も低いストレージ装置25またはアクセス負荷が最も低いディスク26を有するストレージ装置25を選択する(S22)。例えば、I/Oサーバ18は、ボリューム管理サーバ15から受信した負荷統計情報の帯域使用率またはI/Opsを用いて、アクセス負荷が最も低いストレージ装置25を選択する。またはI/Oサーバ18は、read/write位置アクセス負荷対応表38を用いて、アクセス負荷が最も低いディスク26を有するストレージ装置25を選択する。
I/Oサーバ18は、S21で選択したストレージ装置25またはアクセス負荷が最も低いディスク26を有するストレージ装置25に対して、データの読込みを行う(S23)。このとき、I/Oサーバ18は、read/write位置アクセス負荷対応表38において、ディスク26を読み込んだ位置のreadアクセス頻度を更新する(S24)。
データの読込みの際、I/Oサーバ18は、同じデータの再読込み時の性能を上げるために、キャッシュ18dに、その読み込んだデータを保持する(S25)。I/Oサーバ18は、キャッシュ18dに保持したデータをクライアント11へ送信する(S26)。これにより、データの読込みが完了する。
ストレージ装置25のファイルシステム上のファイルを読み込む場合には、I/Oサーバ18は、データの先読みを行い、その先読みしたデータをキャッシュ18dに保持する。
[読込みデータのキャッシュの利用]
I/Oサーバ18は、読込み時にキャッシュ18dに保持したデータ(存在するなら先読みデータも含む)を用いて、クライアント11からのデータ読込み要求のバックグランドで、追加したストレージ装置25cのレプリカに書込み要求を行う(S27)。このキャッシュ18dに保持したデータを使用することで、コピーのための読込みを行わないので、データのリバランスのデータコピーにかかるネットワーク負荷を1/2に抑えることができる。
ボリューム管理サーバ15からのレプリカ開始指示の前にキャッシュ18dにデータを保持している場合は、I/Oサーバ18は、次の処理を行う。I/Oサーバ18は、図16のS56以降で説明するように、仮想ボリューム21に新規に追加するレプリカ作成先が選択された時点で、レプリカ作成先にそのデータの書込みを行う。このように、このキャッシュ18dに保持したデータを利用することで、効率的なレプリカ作成ができる。
(3)データ書き込み
図15は、本実施形態におけるデータ書込みフローを示す。以下では、図15を用いて、ボリューム管理サーバ15とI/Oサーバ18の動作を説明する。
クライアント11からデータの書込み要求があった場合、I/Oサーバ18は、仮想ボリューム21の実ディスク26に対して、データの書込み処理を開始する(S31)。このとき、I/Oサーバ18は、データの整合性を保つために、レプリカ完成度表36を読み出して(S33)、書き込み対象のレプリカの存在するストレージ装置(対象ストレージ装置)の情報を取得する(S32)。
I/Oサーバ18は、S12においてボリューム管理サーバ15から受信した負荷統計情報を用いて、対象ストレージ装置25の負荷状況を確認する(S34)。I/Oサーバ18は、負荷統計情報を用いて、全ての対象ストレージ装置25に負荷がないか、すなわち、全ての対象ストレージ装置25の帯域使用率が閾値より低いかを判定する(S35)。全ての対象ストレージ装置25の帯域使用率が閾値より低い場合(S35で「Yes」)、I/Oサーバ18は、全ての対象ストレージ装置25へデータの書き込みを行う(S42)。I/Oサーバ18は、データの書き込みを行った対象ストレージ装置25についてのread/write位置アクセス負荷対応表34を更新する(S43)。I/Oサーバ18は、データ書込みが完了した旨を書き込み要求元のクライアント11へ通知する(S44)。
[複数レプリカへの書き込み]
いずれかの対象ストレージ装置25の負荷が閾値より高い場合(S35で「No」)、I/Oサーバ18は、次を行う。すなわち、I/Oサーバ18は、負荷統計情報またはread/write位置アクセス負荷対応表38を用いて、書込み対象のデータを、負荷が最も低いストレージ装置25、または負荷が最も低いディスクへ書込む。1つの書込みが完了した時点で、I/Oサーバ18は、データ書込みが完了した旨を書き込み要求元のクライアント11へ通知する(S36)。
[書込み保留したストレージへの対処]
I/Oサーバ18は、他へのストレージ装置25への書込みも必要になるが、高負荷時にデータを書き込むことで、性能劣化の要因となってしまう。そのため、I/Oサーバ18は、負荷の高さが閾値を超えI/Oの余裕がないストレージ装置25への書込みデータをキャッシュ18dに保持し、データの書き込みを一旦保留する。このキャッシュ18dに保持したデータは、破棄させない。これについて、以下に説明する。
ストレージ装置25への書込み対象のデータを保留した場合、I/Oサーバ18は、ボリューム管理サーバ15へ保留情報を通知する(S37)。保留情報は、書き込みを行わなかった対象ストレージ装置25のストレージID、ディスクID、ディスクの書込み位置、及び書き込みデータを含む。ボリューム管理サーバ15は、I/Oサーバ18から通知された保留情報を用いて、書込み保留表32を更新する(S38)。I/Oサーバ18は、書き込みデータをキャッシュ18dへ保持する(S39)。
他I/Oサーバ18からのデータ読込み時は、他I/Oサーバ18は、書込み保留表32を参照して、最新データがある書込み完了したデータが存在するストレージ装置25へデータの読込み処理を行う。これにより、最新のデータの読込みができる。
その後、I/Oサーバ18は、I/Oサーバ18は、負荷統計情報またはread/write位置アクセス負荷対応表38を用いて、ストレージ装置25の負荷が閾値より下がった時点で、キャッシュ18dに保持したデータをそのストレージ装置25へ書込む(S40)。このとき、I/Oサーバ18は、read/write位置アクセス負荷対応表38において、ストレージ装置25のディスク26に書き込んだ位置のwriteアクセス頻度を更新する(S41)。ストレージ装置25への書込みが完了した時点で、I/Oサーバ18は、ボリューム管理サーバ15へ完了通知を出す。これにより、すべてのストレージ装置25から同一データの読込みができる。
また、書込み対象のデータをキャッシュ18dに保留した状態でI/Oサーバ18がダウンした場合は、キャッシュ18dに保留した書込み対象のデータが失われるため、どのレプリカが最新であるか管理することができない。そのため、I/Oサーバ18のダウン後の起動時に、ボリューム管理サーバ15は、書込み保留表32の中にキャッシュ18dに書込み対象のデータがあるかどうかを調べ、必要に応じてレプリカ作成を行う。
レプリカ作成を行っているストレージ装置25に対してキャッシュ18dに保留したデータのストレージ装置25への書込みが完了することで、ストレージ装置A,B、及び、追加したストレージ装置Cが同じデータを保持する。このとき、ストレージ装置Aとストレージ装置Bとは、ミラー状態が保たれている。また、ストレージ装置Cについては、書込みを行った部分のみのデータが書かれた状態になる。
ここで、追加したストレージ装置Cにおいて、read/write処理でキャッシュ18dに保持したデータ(よくアクセスがあるデータ)に関しては、ミラー状態を保つことができるが、ディスク全体をミラー化することはできてはいない。したがって、この時点では、レプリカの元のディスク全体のデータ削除はできない。しかし、この場合、読込みがあるデータに関しては、ミラー状態を保っているので(レプリカができているので)、ストレージ装置25へのI/Oサーバ18のデータの読込みを分散させることができる。これにより、読み込み先となるストレージ装置へのアクセス(負荷)が1つに集中しないので、ストレージシステム14の性能を向上することができる。
(4)レプリカ作成によるアクセス負荷分散方法
[レプリカ作成方法]
図16及び図17は、本実施形態におけるレプリカ作成処理フローを示す。以下では、図16及び図17を用いて、ボリューム管理サーバ15とI/Oサーバ18の動作を説明する。
ボリューム管理サーバ15は、負荷監視部17から得られる情報を、随時read/writeディスクアクセス負荷対応表35に反映する。さらに、ボリューム管理サーバ15は、read/writeディスクアクセス負荷対応表35と、定期的に全I/Oサーバ18から送付されるread/write位置アクセス負荷対応表38を用いて、read/writeアクセス負荷対応表34を作成する。
まず、ボリューム管理サーバ15は、read/writeアクセス負荷対応表34を用いて、ストレージ装置単位でアクセス負荷(read/writeアクセス頻度)が予め設定された閾値を超えているか否かを判定する(S51)。
アクセス負荷が閾値を超えていた場合(S51で「Yes」)、ボリューム管理サーバ15は、read/writeアクセス負荷対応表34のディスクのread/writeアクセス頻度を参照し、アクセス負荷の高いデータの位置を特定する(S52)。すなわち、ボリューム管理サーバ15は、read/writeアクセス負荷対応表34を用いて、アクセス負荷(read/writeアクセス頻度)が閾値を超えているストレージ装置25内のどのディスクのどの位置のデータに対して、read/writeが多いのかを判定する。
さらに、ボリューム管理サーバ15は、read/writeアクセス負荷対応表34を用いて、レプリカの作成先を決定する(S53)。ここでは、ボリューム管理サーバ15は、read/writeアクセス負荷対応表34を用いて、アクセス負荷が最も低いストレージ装置25を選択する。さらに、ボリューム管理サーバ15は、その選択したストレージ装置25から、空き容量が最も多いストレージ装置をレプリカ作成先として選択する。
そして、ボリューム管理サーバ15は、I/Oサーバ18にレプリカ作成先を通知する(S54)。
I/Oサーバ18は、ボリューム管理サーバ15よりレプリカの作成先の通知を受けると、仮想ボリューム21についてのレプリカ完成度表36を作成する(S55)。なお、Read処理(図14)、write処理(図15)は、S55とS56との間で発生する。
I/Oサーバ18は、レプリカ完成度表36を作成後、該当仮想ボリューム21の実ディスクの1つに、レプリカ作成先のディスクを追加する(S56)。I/Oサーバ18は、レプリカ作成先のディスクへのキャッシュに保持したデータの書込みを開始することをボリューム管理サーバ15に通知する(S57)。
ボリューム管理サーバ15は、I/Oサーバ18から、レプリカ作成先のディスクへのキャッシュに保持したデータの書込みを開始する通知を受けると、レプリカ表31の該当箇所を「Copying」に更新する(S58)。
[レプリカへのデータの書込み]
キャッシュ18dにレプリカ元のデータが存在する場合(S61で「Yes」)、I/Oサーバ18は、クライアント11からレプリカ元となるストレージ装置25へのデータの読込み処理に続いて、キャッシュ18dを利用し、レプリカ作成処理を開始する(S62)。また、さらに、ボリューム管理サーバ15からレプリカ作成依頼が来る前に、キャッシュ18dに保持していたデータについても、I/Oサーバ18は、レプリカ完成度表36の更新と、レプリカ作成対象のディスクに書込みを行う。キャッシュ18dに既に保持されているデータを利用することで、レプリカの更新処理を進めることができる。
I/Oサーバ18は、ボリューム管理サーバ15より通知された情報(レプリカ作成先、書き込み時刻)を用いて、データ読み出し時のキャッシュ18dに保持したデータを、予め設定された時刻にレプリカ先に書き込む(S63)。書込み完了後、I/Oサーバ18は、レプリカ完成度表36において、書き込んだストレージ装置25のディスク26について「Created」と更新する(S64)。
レプリカ完成度表36において、レプリカ完成度が100%となったら、I/Oサーバ18は、ボリューム管理サーバ15に、レプリカ作成が完了した旨を通知する(S65)。ボリューム管理サーバ15は、レプリカ表31の該当箇所を「Created」に更新する(S66)。
I/Oサーバ18は、キャッシュ18dに保持したデータをレプリカ作成先のディスクへ書き込む処理を開始することをボリューム管理サーバ15に通知する(S67)。
[レプリカ削除方法]
クライアント11からの書込み要求が頻繁にある場合は、全てのレプリカへの書込みが頻繁に起こるため、ネットワーク帯域の負荷が高くなってしまう。書込みが頻発する場合は、I/Oサーバ18は、以下の処理により、レプリカを削除するか否かを判断する。
(i)I/Oサーバ18は、書込み対象のデータについてディスクI/O周期表37を用いて、データの読込み量・書込み量から、その後に、大量の読み込み期間があると判定した場合は、レプリカを削除しない。
(ii)I/Oサーバ18は、ディスクI/O周期表37を用いて、書込み期間が一定期間続くと判定した場合は、レプリカを削除する。
図18及び図19は、本実施形態におけるレプリカ削除処理フローを示す。以下では、図18及び図19を用いて、ボリューム管理サーバ15とI/Oサーバ18の動作を説明する。
ボリューム管理サーバ15は、以下のいずれかの条件(S71,S72)に合致したと判定したときに、I/Oサーバ18にレプリカ削除処理開始を通知する(S73)。S71の条件は、ボリューム管理サーバ15が、read/writeアクセス負荷対応表34のwriteアクセス頻度から、いずれかの仮想ボリュームのレプリカ内のデータへのwriteアクセス頻度が閾値を超えたと判定することである。また、S72の条件は、ボリューム管理サーバ15がストレージ容量表39を用いて、いずれかの仮想ボリュームのレプリカ作成時にストレージ装置25の空き容量が閾値を下回ると判定することである。
−−削除するレプリカの決定方法−−
レプリカ削除処理では、ボリューム管理サーバ15は、レプリカ表31を参照して、「Created」となっているいずれかの仮想ボリュームのレプリカ数が3以上存在するか判定する(S74)。レプリカ数が3未満である場合(S74で「No」)、ボリューム管理サーバ15は、レプリカ削除処理を実行しない。
レプリカ数が3以上存在する場合、ボリューム管理サーバ15は、read/writeアクセス負荷対応表34のwriteアクセス頻度項目を用いて、最も高いアクセス負荷がかかっているストレージ装置25内にあるレプリカを選択する(S75)。
ボリューム管理サーバ15は、read/writeアクセス負荷対応表34とI/O周期表33とを関係付けて、現時刻から所定の時間内に、選択したレプリカの存在するディスクに対して、閾値を超えるreadアクセスがあるか否かを判定する(S76)。
選択したレプリカに対して、現時刻から所定の時間内に、閾値を超えるreadアクセスがされないと判定した場合(S76で「Yes」)、ボリューム管理サーバ15は、その仮想ボリューム21についてのレプリカ削除処理を実行しない。このとき、ボリューム管理サーバ15は、他の仮想ボリューム21のレプリカを検索する(S78)。
他の仮想ボリュームのレプリカが存在する場合(S79で「Yes」)、ボリューム管理サーバ15は、当該他の仮想ボリュームについて、S73の処理以降の処理を行う。
他の仮想ボリュームのレプリカが存在しない場合(S79で「No」)、ボリューム管理サーバ15は、I/Oサーバ18に、S84で用いるレプリカ完成度の閾値を動的に所定値下げるように通知する(S80)。そして、ボリューム管理サーバ15は、当該仮想ボリュームについて、再びS73以降の処理を行う。I/Oサーバ18は、その通知を受信すると、S84で用いるレプリカ完成度の閾値を動的に所定値下げる。
‐レプリカ削除の実行
選択したレプリカに対して、現時刻から所定の時間内に、閾値を超えるreadアクセスがされると判定した場合(S76で「No」)、ボリューム管理サーバ15は、レプリカ表31の該当箇所を「Deleting」に更新する。その後、ボリューム管理サーバ15は、選択したレプリカについての削除情報(仮想ボリュームID、データ配置場所)を該当レプリカへアクセスを行っているI/Oサーバ18に通知する(S77)。
I/Oサーバ18は、選択したレプリカについての削除情報をボリューム管理サーバ15から受信する。I/Oサーバ18は、レプリカ完成度表36を用いて、通知された仮想ボリュームIDに関するレプリカ完成度100%のレプリカが3つ以上存在するか判定する(S81)。
レプリカ完成度表36において、レプリカ完成度100%であるレプリカが3つ以上存在しない場合(S81で「No」)、I/Oサーバ18は、作成中の状態にあるレプリカに対して、そのレプリカ作成を続行させる。レプリカ完成後、I/Oサーバ18は、S75で選択した負荷の高いストレージ装置25のレプリカを削除し(S83)、レプリカ削除処理を終了する。
I/Oサーバ18は、レプリカ完成度表36において、通知された仮想ボリュームIDの全レプリカ完成度が所定の閾値以下であるかを判定する(S84)。通知された仮想ボリュームIDの全レプリカ完成度が所定の閾値(例えば80%)以下である場合(S84で「Yes」)、I/Oサーバ18は、ボリューム管理サーバ15に、他の仮想ボリュームのレプリカの削除対象の変更依頼を行う(S85)。
他の仮想ボリュームのレプリカが存在する場合(S79で「Yes」)、ボリューム管理サーバ15は、当該他の仮想ボリュームについて、S73の処理以降の処理を行う。他の仮想ボリュームのレプリカが存在しない場合(S79で「No」)、ボリューム管理サーバ15は、I/Oサーバ18に、S84で用いるレプリカ完成度の閾値を動的に所定値下げるように通知する(S80)。そして、ボリューム管理サーバ15は、当該仮想ボリュームについて、再びS73以降の処理を行う。I/Oサーバ18は、その通知を受信すると、S84で用いるレプリカ完成度の閾値を動的に所定値下げる。これにより、ボリューム管理サーバ15は、再度、I/Oサーバ18へレプリカ削除依頼を行うことができる。
通知された仮想ボリュームIDの全レプリカ完成度が所定の閾値(例えば80%)より高い場合(S84で「No」)、I/Oサーバ18は、次の処理を行う。すなわち、I/Oサーバ18は、S54でボリューム管理サーバ15より通知されたレプリカ作成先情報を用いて、データ読み込み時にキャッシュ18dに保持したデータをレプリカ作成先に書き込み、レプリカ完成度を100%にする(S86)。
レプリカ完成度表36において、通知された仮想ボリュームIDに関係するレプリカ完成度100%のレプリカが3つ以上存在する場合(S81で「Yes」)、またはS86の処理完了後、I/Oサーバ18は、次の処理を行う。すなわち、I/Oサーバ18は、ストレージ装置25の空き容量が閾値を下回ったかを判定する(S87)。ストレージの空き容量が閾値を上回った場合(S87で「No」)、レプリカ削除処理を終了する。
ストレージ装置25の空き容量が下回った場合(S87で「Yes」)、I/Oサーバ18は、read/write位置アクセス負荷対応表38を用いて、レプリカ完成度100%のレプリカから、readアクセス頻度が閾値を下回っているレプリカを選択する(S88)。このとき、I/Oサーバ18は、レプリカ完成度100%であるレプリカを保持するストレージ装置25の中で、最も負荷が高いストレージ装置25のレプリカを選択する。I/Oサーバ18は、選択したレプリカを削除する(S89)。
そして、I/Oサーバ18は、ボリューム管理サーバ15にレプリカ削除処理の完了を通知する(S90)。ボリューム管理サーバ15は、I/Oサーバ18からレプリカ削除処理の完了通知を受けると、レプリカ表31の該当箇所を「Deleting」から「None」に更新し(S91)、レプリカ削除処理を終了する。
[I/O周期表を利用した予測レプリカ作成処理]
上記「(4)レプリカ作成によるアクセス負荷分散方法」で捕捉しきれないアクセス負荷が低いディスクが多数存在する場合に、ストレージ装置単位でみると、負荷が高くなる場合がある。そこで、このような状況でのデータリバランスでは、I/O周期表を利用し、レプリカを作成することで負荷分散をさせる手法を用いる。
図20は、I/O周期表を利用した予測レプリカ作成処理フローを示す。I/Oサーバ18は、ストレージ装置25内のディスク単位で、予め設定した期間で、一定間隔(周期)の入出力(I/O)(すなわちreadアクセス回数、writeアクセス回数)の集計を行い、ディスクI/O周期表37に記憶する。この一定間隔(周期)が1週間単位の業務の場合は、I/Oサーバ18は、1週間で集計をとることも可能である。なお、図20の処理は、図16のS54の処理において、実行させるようにしてもよい。
ボリューム管理サーバ15は、所定の時刻に、全I/Oサーバ18からディスクI/O周期表37を収集する。ボリューム管理サーバ15は、収集した全ディスクI/O周期表37を用いて、ストレージ装置のディスクの時刻毎に、readアクセス回数、writeアクセス回数を集計して、I/O周期表33を作成する。
ボリューム管理サーバ15は、作成したI/O周期表33から、各ストレージ装置25に対する時刻あたりのI/O(readアクセス回数とwriteアクセス回数の合計)について一定周期で集計を行い、ストレージ装置25のアクセス負荷を計算する(S101)。例えば、ボリューム管理サーバ15は、1時間ごとのストレージ装置25のアクセス負荷を1日分計算する。ここで、アクセス負荷とは、readアクセス回数とwriteアクセス回数の合計をいう。
次に、ボリューム管理サーバ15は、全ストレージ装置25に対するアクセス負荷の平均値を計算する(S102)。その後、ボリューム管理サーバ15は、集計した時間帯において、平均値と各ストレージ装置25のアクセス負荷の差分が、予め設定した閾値を超えているかを判定する(S103)。そのサクセス負荷の差分が閾値を超えていない場合(S103で「No」)、ボリューム管理サーバ15は、予測処理を終了する。
そのサクセス負荷の差分が閾値を超えている場合(S103で「Yes」)、ボリューム管理サーバ15は、次の処理を行う。すなわち、ボリューム管理サーバ15は、該当ストレージ装置25の該当時間に対して、より細かい時間単位でそのストレージ装置25に属する、各ディスク26のアクセス負荷と、全ディスク26のアクセス負荷の平均値の差分を求める。より細かい時間単位とは、例えば、1分単位である。
ボリューム管理サーバ15は、その差分が予め設定した閾値を下回っているか判定する(S104)。その差分が予め設定した閾値を下回っていれば(S104で「Yes」)、ボリューム管理サーバ15は、I/O周期表33を用いて、該当ストレージ装置25内のディスク26の中で、最もread処理が多いディスク16を選択する。ボリューム管理サーバ15は、該当時間より前、かつ、ストレージ装置25のアクセス負荷が予め設定している閾値を超えていない時間帯に、その選択したディスク26にレプリカを作成する(S105)。
以下では、I/O周期表33を用いた、ストレージ装置25単位でのアクセス負荷が高く、かつ、ディスク単位のアクセス負荷が低いデータに対する予測レプリカ作成処理の例を示す。まずは、図21−図24を用いて、図20のS101−S103の処理を説明する。
図21は、ストレージ装置AについてのI/O周期表33のread頻度とwrite頻度とを加算して得られるアクセス頻度を1時間毎に集計した作業表(A)と、そのグラフ(B)を示す。図22は、ストレージ装置BについてのI/O周期表33のread頻度とwrite頻度とを加算して得られるアクセス頻度を1時間毎に集計した作業表(A)と、そのグラフ(B)を示す。図23は、ストレージ装置CについてのI/O周期表33のread頻度とwrite頻度とを加算して得られるアクセス頻度を1時間毎に集計した作業表(A)と、そのグラフ(B)を示す。図24は、図21−図23で示す作業表(A)の1時間毎のアクセス頻度の平均値と、そのグラフ(B)を示す。
ボリューム管理サーバ15は、全てのI/Oサーバ18からディスクI/O周期表37を収集してI/O周期表33を作成後、図21−図23に示すように、3つのストレージ装置A,B,Cのアクセス負荷を算出する。アクセス負荷の算出後、ボリューム管理サーバ15は、図24に示すように、3つのストレージ装置A,B,Cに対するアクセス負荷の平均値を計算する。ここでは、時間帯4:00〜5:00のアクセス負荷に着目して説明する。
図21に示すように、ストレージ装置Aのアクセス負荷は、545である。図22に示すように、ストレージ装置Bのアクセス負荷は、5435である。図23に示すように、ストレージ装置Cのアクセス負荷は、23である。図24に示すように、アクセス負荷の平均値は、2001となる。
ボリューム管理サーバ15は、各ストレージ装置25のアクセス負荷と平均値の差分を計算する。ここで、ストレージ装置Bと平均値の差分は、5435−2001=3434となる。予め設定していた閾値を2000とする。ストレージ装置Bのアクセス負荷と平均値の差分(3434)がその閾値(2000)を超えているため、ボリューム管理サーバ15は、図20のS104−S105の処理を実行する。これについて、図25−図28を用いて説明する。
図25は、ストレージ装置BのディスクB1についてのI/O周期表33のread頻度とwrite頻度とを加算して得られるアクセス頻度を1分毎に集計した作業表(A)と、そのグラフ(B)を示す。図26は、ストレージ装置BのディスクB2についてのI/O周期表33のread頻度とwrite頻度とを加算して得られるアクセス頻度を1分毎に集計した作業表(A)と、そのグラフ(B)を示す。図27は、ストレージ装置BのディスクB3についてのI/O周期表33のread頻度とwrite頻度とを加算して得られるアクセス頻度を1分毎に集計した作業表(A)と、そのグラフ(B)を示す。図28は、図25−図27で示す作業表(A)の1分毎のアクセス頻度の平均値と、そのグラフ(B)を示す。
ボリューム管理サーバ15は、ストレージ装置25のアクセス負荷と平均値の差分が閾値を超えるストレージ装置25の該当時間(時間帯4:00〜5:00)に対して、次の処理を行う。すなわち、ボリューム管理サーバ15は、1分単位でそのストレージ装置25に属する各ディスクのアクセス負荷と、全ディスクのアクセス負荷の平均値の差分を求める。ここでは、ストレージ装置B内に3つのディスクB1,B2,B3があるとし、時間帯4:31〜4:32に着目して説明する。
まず、ストレージ装置Bの1分単位のアクセス負荷の平均値は、5435/60≒91となる。さらにストレージ装置B内のディスクが3つのため、各ディスクの1分単位のアクセス負荷の平均値は、91/3≒31となる。ここで、ディスクB1,B2,B3の4:31〜4:32の時間帯でのアクセス負荷はそれぞれ、27、24、29である。ディスクB1,B2,B3のアクセス負荷と平均値との差分はそれぞれ、4、7、2となる。予め設定した閾値が10とすると、ディスクB1,B2,B3のアクセス負荷と平均値との差分はいずれも、閾値を下回っている。他の時間帯も全て、ディスクB1,B2,B3のアクセス負荷と平均値との差分はいずれも、閾値を下回っている。このことから、ストレージ装置Bに対するアクセス負荷は高いが、ストレージ装置内の各ディスクB1,B2,B3へのアクセス負荷が低いことがわかる。本例において、レプリカ作成処理では、ストレージ装置Bはリバランスの対象から外れてしまい、ストレージ装置Bのアクセス負荷を分散させるためのリバランスを実施できない。
そのため、ボリューム管理サーバ15は、I/O周期表33を利用した予測レプリカ作成処理を用いて、ディスクB1,B2,B3のうち、最もread処理が多いディスクを選択する。ボリューム管理サーバ15は、その選択したディスク26にデータのレプリカを作成する胸の指示をI/Oサーバ18に行う。
上記のようにストレージ装置間のリバランシングを行うことにより、ストレージ装置、または、ストレージ装置内のディスクに異常が発生した場合でも、データを失うことはない。例えば、ストレージ装置Aからストレージ装置Cへデータを移行している際に、ストレージ装置Bが故障した場合には、レプリカの冗長度が下がるが、データはストレージ装置Aとストレージ装置Cを合わせることで最新性を保証できる。また、ボリューム管理サーバ15は、レプリカの冗長度が下がったことを認識すると、強制的にレプリカ作成処理を行い、レプリカの冗長度を2になるようにする。
複数のストレージ装置25や、I/Oサーバ18がある大規模なクラウドのような環境では、I/Oサーバ18とストレージ装置25間の帯域が重要になっている。キャッシュに保持された、入力/出力要求に対応する読込み・書込みに必要なデータを有効的に利用することにより、ネットワーク帯域に負荷をかけずに、ストレージ装置25のリバランスを行うことができる。
本実施形態によれば、ストレージ装置を追加した場合に、クライアント装置からのアクセス要求を有効利用することで、ストレージ間のリバランシング処理を、ネットワーク帯域に負荷を掛けずに効率的に行うことができる。また、ストレージシステムの入力/出力性能を最大限に活用することができる。そのため、本実施形態におけるストレージシステムを用いれば、業務に影響を与えずに、業務やサービスの効率を改善することができる。
また、本実施形態におけるストレージシステムに含まれるストレージ装置またはディスクに異常が発生した場合も、データは常に冗長されているために、データを失うことがなく業務を継続できる。
なお、本発明は、以上に述べた実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内で種々の構成または実施形態を取ることができる。
1 ストレージシステム
2 格納装置
3 キャッシュメモリ
4 アクセス制御部
5 書込部
6 負荷監視部
7 レプリカ削除部
8 レプリカ作成部
9 情報処理端末
11 クライアント装置
12 通信インターフェース
13 LAN
14 ストレージシステム
15 ボリューム管理サーバ
16 ボリューム管理部
17 負荷監視部
18 I/Oサーバ
18d キャッシュメモリ
20 I/O管理部
21 仮想ボリューム
25 ストレージ装置
26 ディスク
27 管理用LAN
28 I/O用LAN
31 レプリカ表
32 書き込み保留表
33 I/O周期表
34 read/writeアクセス負荷対応表
35 read/writeディスクアクセス負荷対応表
36 レプリカ完成度表
37 ディスクI/O周期表
38 read/write位置アクセス負荷対応表

Claims (18)

  1. データを格納する複数の格納装置と、
    データを保持するキャッシュメモリと、
    情報処理端末から、対象データの読み込みまたは対象データの書込みのためのアクセス要求があった場合、いずれかの前記格納装置へアクセスすると共に、前記対象データを前記キャッシュメモリへ格納するアクセス制御部と、
    前記キャッシュメモリへ格納した前記対象データを、前記複数の格納装置のうち該対象データが格納されていない格納装置へ書き込む書込部と、
    を備えることを特徴とするストレージシステム。
  2. 前記ストレージシステムは、さらに、
    前記格納装置に対する、読み込みまたは書き込みによるアクセス負荷の監視を行う負荷監視部を備え、
    前記アクセス制御部は、前記情報処理端末から前記アクセス要求があった場合、前記監視の結果に基づいて、前記格納装置のうち前記アクセス負荷の最も少ない格納装置へアクセスすると共に、前記対象データをキャッシュメモリへ格納する
    ことを特徴とする請求項1に記載のストレージシステム。
  3. 前記アクセス制御部は、前記情報処理端末から前記対象データへの読み込み要求があった場合、前記監視の結果に基づいて、該対象データを格納する前記格納装置のうち前記アクセス負荷の最も少ない格納装置から該対象データを取得して、該対象データを前記キャッシュメモリへ格納し、該対象データを前記情報処理端末へ送信する
    ことを特徴とする請求項2に記載のストレージシステム。
  4. 前記アクセス制御部は、前記情報処理端末から対象データの書き込み要求があった場合、前記監視の結果に基づいて、前記格納装置のうち前記アクセス負荷の最も少ない格納装置に前記対象データを書き込み、該対象データを前記キャッシュメモリへ格納し、
    前記書込部は、前記キャッシュメモリへ格納した前記対象データを、前記書込みを行った格納装置以外の格納装置へ書き込む
    ことを特徴とする請求項2に記載のストレージシステム。
  5. 前記ストレージシステムは、さらに、
    前記複数の格納装置のボリュームを仮想化した仮想ボリュームのレプリカの書込みアクセス負荷が閾値を超えた場合、または、前記レプリカの作成において前記格納装置の空き容量が第1の閾値より少ない場合、前記仮想ボリュームのレプリカが前記複数の格納装置に3以上あれば、いずれかの格納装置に格納された前記レプリカを削除するレプリカ削除部
    を備えることを特徴とする請求項1に記載のストレージシステム。
  6. 前記レプリカ削除部は、前記監視の結果に基づいて、前記レプリカを含む格納装置のうち前記アクセス負荷の最も少ない格納装置のレプリカを選択し、時刻毎に集計した前記格納装置に対するアクセス頻度を示すアクセス頻度情報に基づいて、前記選択したレプリカに対して、現時刻以降、第2の閾値を越えるアクセス頻度の読み込みアクセスがないと判定した場合、前記選択したレプリカを削除する
    ことを特徴とする請求項5に記載のストレージシステム。
  7. 前記ストレージシステムは、さらに、
    いずれかの前記格納装置に対する時刻毎の前記アクセス負荷のうちいずれかの時間帯のアクセス負荷と、全ての前記格納装置に対する該時間帯の前記アクセス負荷の平均との差分が第3の閾値を超えている場合において、該時間帯を細分化し、該細分化したいずれかの時間帯のうち前記いずれかの格納装置のいずれかのディスクに対するアクセス負荷と、該いずれかの格納装置の全ディクスの該細分化したいずれかの時間帯のアクセス負荷の平均との差分が第4の閾値より小さい場合、該細分化したいずれかの時間帯より前で前記いずれかの格納装置のアクセス負荷が第5の閾値を超えていない時間に、最もアクセス負荷の多いディスクにレプリカを作成するレプリカ作成部
    を備えることを特徴とする請求項1に記載のストレージシステム。
  8. コンピュータに、
    情報処理端末から、対象データの読み込みまたは対象データの書込みのためのアクセス要求があった場合、データを格納する複数の格納装置のうちいずれかの格納装置へアクセスすると共に、前記対象データをキャッシュメモリへ格納し、
    前記キャッシュメモリへ格納した前記対象データを、前記複数の格納装置のうち該対象データが格納されていない格納装置へ書き込む
    処理を実行させるデータリバランシングプログラム。
  9. 前記コンピュータに、さらに、
    前記格納装置に対する、読み込みまたは書き込みによるアクセス負荷の監視を行う処理を実行させ、
    前記情報処理端末から前記アクセス要求があった場合、前記監視の結果に基づいて、前記格納装置のうち前記アクセス負荷の最も少ない格納装置へアクセスすると共に、前記対象データをキャッシュメモリへ格納する
    ことを特徴とする請求項8に記載のデータリバランシングプログラム。
  10. 前記情報処理端末から前記対象データへの読み込み要求があった場合、前記監視の結果に基づいて、該対象データを格納する前記格納装置のうち前記アクセス負荷の最も少ない格納装置から該対象データを取得して、該対象データを前記キャッシュメモリへ格納し、該対象データを前記情報処理端末へ送信する
    ことを特徴とする請求項9に記載のデータリバランシングプログラム。
  11. 前記情報処理端末から対象データの書き込み要求があった場合、前記監視の結果に基づいて、前記格納装置のうち前記アクセス負荷の最も少ない格納装置に前記対象データを書き込み、該対象データを前記キャッシュメモリへ格納し、
    前記キャッシュメモリへ格納した前記対象データを、前記書込みを行った格納装置以外の格納装置へ書き込む
    ことを特徴とする請求項9に記載のデータリバランシングプログラム。
  12. 前記コンピュータに、さらに、
    前記複数の格納装置のボリュームを仮想化した仮想ボリュームのレプリカの書込みアクセス負荷が閾値を超えた場合、または、前記レプリカの作成において前記格納装置の空き容量が第1の閾値より少ない場合、前記仮想ボリュームのレプリカが前記複数の格納装置に3以上あれば、いずれかの格納装置に格納された前記レプリカを削除する
    処理を実行させる請求項8に記載のデータリバランシングプログラム。
  13. 前記監視の結果に基づいて、前記レプリカを含む格納装置のうち前記アクセス負荷の最も少ない格納装置のレプリカを選択し、時刻毎に集計した前記格納装置に対するアクセス頻度を示すアクセス頻度情報に基づいて、前記選択したレプリカに対して、現時刻以降、第2の閾値を越えるアクセス頻度の読み込みアクセスがないと判定した場合、前記選択したレプリカを削除する
    ことを特徴とする請求項12に記載のデータリバランシングプログラム。
  14. 前記コンピュータに、さらに、
    いずれかの前記格納装置に対する時刻毎の前記アクセス負荷のうちいずれかの時間帯のアクセス負荷と、全ての前記格納装置に対する該時間帯の前記アクセス負荷の平均との差分が第3の閾値を超えている場合において、該時間帯を細分化し、該細分化したいずれかの時間帯のうち前記いずれかの格納装置のいずれかのディスクに対するアクセス負荷と、該いずれかの格納装置の全ディクスの該細分化したいずれかの時間帯のアクセス負荷の平均との差分が第4の閾値より小さい場合、該細分化したいずれかの時間帯より前で前記いずれかの格納装置のアクセス負荷が第5の閾値を超えていない時間に、最もアクセス負荷の多いディスクにレプリカを作成する
    処理を実行させる請求項8に記載のデータリバランシングプログラム。
  15. コンピュータにより実行される、格納装置間のデータのリバランシング方法であって、
    前記コンピュータは、
    情報処理端末から、対象データの読み込みまたは対象データの書込みのためのアクセス要求があった場合、データを格納する複数の格納装置のうちいずれかの格納装置へアクセスすると共に、前記対象データをキャッシュメモリへ格納し、
    前記キャッシュメモリへ格納した前記対象データを、前記複数の格納装置のうち該対象データが格納されていない格納装置へ書き込む
    処理を実行するデータリバランシング方法。
  16. 前記コンピュータは、さらに、
    前記格納装置に対する、読み込みまたは書き込みによるアクセス負荷の監視を行い、
    前記情報処理端末から前記アクセス要求があった場合、前記監視の結果に基づいて、前記格納装置のうち前記アクセス負荷の最も少ない格納装置へアクセスすると共に、前記対象データをキャッシュメモリへ格納する
    ことを特徴とする請求項15に記載のデータリバランシング方法。
  17. 前記コンピュータは、
    前記情報処理端末から前記対象データへの読み込み要求があった場合、前記監視の結果に基づいて、該対象データを格納する前記格納装置のうち前記アクセス負荷の最も少ない格納装置から該対象データを取得して、該対象データを前記キャッシュメモリへ格納し、該対象データを前記情報処理端末へ送信する
    ことを特徴とする請求項16に記載のデータリバランシング方法。
  18. 前記コンピュータは、
    前記情報処理端末から対象データの書き込み要求があった場合、前記監視の結果に基づいて、前記格納装置のうち前記アクセス負荷の最も少ない格納装置に前記対象データを書き込み、該対象データを前記キャッシュメモリへ格納し、
    前記キャッシュメモリへ格納した前記対象データを、前記書込みを行った格納装置以外の格納装置へ書き込む
    ことを特徴とする請求項16に記載のデータリバランシング方法。
JP2013549973A 2011-12-19 2011-12-19 ストレージシステム、データリバランシングプログラム及びデータリバランシング方法 Active JP6056769B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2011/079365 WO2013093994A1 (ja) 2011-12-19 2011-12-19 ストレージシステム、データリバランシングプログラム及びデータリバランシング方法

Publications (2)

Publication Number Publication Date
JPWO2013093994A1 true JPWO2013093994A1 (ja) 2015-04-27
JP6056769B2 JP6056769B2 (ja) 2017-01-11

Family

ID=48667925

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013549973A Active JP6056769B2 (ja) 2011-12-19 2011-12-19 ストレージシステム、データリバランシングプログラム及びデータリバランシング方法

Country Status (3)

Country Link
US (1) US9703504B2 (ja)
JP (1) JP6056769B2 (ja)
WO (1) WO2013093994A1 (ja)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016099659A (ja) * 2014-11-18 2016-05-30 株式会社エヌ・ティ・ティ・データ 管理装置、ストレージシステム、ストレージ管理方法、及びプログラム
CN106649401A (zh) * 2015-11-03 2017-05-10 阿里巴巴集团控股有限公司 分布式文件系统中的数据写入方法和装置
JP6747018B2 (ja) * 2016-03-31 2020-08-26 日本電気株式会社 記憶システム、記憶システム制御装置、記憶システム制御方法及びプログラム
US11112996B2 (en) * 2016-11-07 2021-09-07 Hitachi, Ltd. Computer, computer system, and data quantity restriction method
US20190163371A1 (en) * 2017-11-30 2019-05-30 Cisco Technology, Inc. Next generation storage controller in hybrid environments
US10542087B1 (en) 2018-01-10 2020-01-21 EMC IP Holding Company LLC System and method for managing storage tier migration
US10671311B1 (en) 2018-01-10 2020-06-02 EMC IP Holding Company LLC System and method for dynamic data migration
US11082492B2 (en) 2018-01-10 2021-08-03 EMC IP Holding Company LLC System and method for dynamic backup sessions
US10866750B2 (en) 2018-01-10 2020-12-15 EMC IP Holding Company LLC System and method for predicting data storage characteristics
US10757188B1 (en) * 2018-01-10 2020-08-25 EMC IP Holding Company LLC System and method for efficient data access for restores
JP7048402B2 (ja) * 2018-04-24 2022-04-05 株式会社日立製作所 データストアシステム及びデータストア管理方法
US10572349B2 (en) 2018-04-27 2020-02-25 EMC IP Holding Company LLC System and method for backup in a virtualized environment
US10698719B2 (en) 2018-04-27 2020-06-30 EMC IP Holding Company LLC System and method for virtual machine restoration
US10503428B2 (en) 2018-04-27 2019-12-10 EMC IP Holding Company LLC System and method for concurrent multipoint backup
US10656869B1 (en) * 2018-06-28 2020-05-19 Amazon Technologies, Inc. Performance-based volume replica migration
US11409666B2 (en) * 2019-11-22 2022-08-09 EMC IP Holding Company LLC Techniques for providing I/O hints using I/O flags
CN111400098B (zh) * 2020-03-16 2024-05-28 深信服科技股份有限公司 一种副本管理方法、装置、电子设备及存储介质
US11061571B1 (en) * 2020-03-19 2021-07-13 Nvidia Corporation Techniques for efficiently organizing and accessing compressible data
JP2022187285A (ja) * 2021-06-07 2022-12-19 富士通株式会社 管理装置,ストレージシステム及び情報処理方法
CN116048429B (zh) * 2023-04-03 2023-07-04 创云融达信息技术(天津)股份有限公司 一种多副本读写方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003296035A (ja) * 2002-04-08 2003-10-17 Hitachi Ltd ストレージ装置及びストレージ方法
JP2003339008A (ja) * 2002-05-20 2003-11-28 Matsushita Electric Ind Co Ltd データ処理システム、データ処理方法およびデータ処理プログラム
JP2009187142A (ja) * 2008-02-04 2009-08-20 Hitachi Ltd コンピュータシステム及び物理ディスク回収方法
JP2010277342A (ja) * 2009-05-28 2010-12-09 Fujitsu Ltd 管理プログラム、管理装置および管理方法
JP4806089B1 (ja) * 2010-06-30 2011-11-02 株式会社東芝 情報処理装置、raidコントローラカード、およびミラーリング方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2564884B2 (ja) 1988-03-29 1996-12-18 日本電気株式会社 二重化ファイル入出力負荷分散方式
JPH10198526A (ja) * 1997-01-14 1998-07-31 Fujitsu Ltd Raid装置及びそのアクセス制御方法
US6912635B2 (en) 2002-05-08 2005-06-28 Hewlett-Packard Development Company, L.P. Distributing workload evenly across storage media in a storage array
US20050154697A1 (en) * 2004-01-14 2005-07-14 International Business Machines Corporation Adjusting a number of database replicas based on a defined threshold value
JP4146380B2 (ja) 2004-03-29 2008-09-10 東芝ソリューション株式会社 ストレージシステム、ブロック再配置制御方法及びプログラム
JP2005338893A (ja) * 2004-05-24 2005-12-08 Hitachi Ltd データ処理システムおよびディスクアクセス制御方法並びにその処理プログラム
US20060020691A1 (en) * 2004-07-20 2006-01-26 Hewlett-Packard Development Company, L.P. Load balancing based on front-end utilization
JP2006053601A (ja) 2004-08-09 2006-02-23 Hitachi Ltd ストレージ装置
JP4643395B2 (ja) 2004-08-30 2011-03-02 株式会社日立製作所 ストレージシステム及びデータの移動方法
JP4842593B2 (ja) 2005-09-05 2011-12-21 株式会社日立製作所 ストレージ仮想化装置のデバイス制御引継ぎ方法
US7404036B2 (en) 2005-11-23 2008-07-22 International Business Machines Corporation Rebalancing of striped disk data
JP2007310715A (ja) 2006-05-19 2007-11-29 Fujitsu Ltd 動的負荷分散ストレージ方法、動的負荷分散ストレージシステムおよび動的負荷分散ストレージ情報処理プログラム
JP2007328734A (ja) 2006-06-09 2007-12-20 Hitachi Ltd ストレージ装置及びストレージ装置の制御方法
US7885928B2 (en) * 2007-03-08 2011-02-08 Xerox Corporation Decentralized adaptive management of distributed resource replicas in a peer-to-peer network based on QoS

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003296035A (ja) * 2002-04-08 2003-10-17 Hitachi Ltd ストレージ装置及びストレージ方法
JP2003339008A (ja) * 2002-05-20 2003-11-28 Matsushita Electric Ind Co Ltd データ処理システム、データ処理方法およびデータ処理プログラム
JP2009187142A (ja) * 2008-02-04 2009-08-20 Hitachi Ltd コンピュータシステム及び物理ディスク回収方法
JP2010277342A (ja) * 2009-05-28 2010-12-09 Fujitsu Ltd 管理プログラム、管理装置および管理方法
JP4806089B1 (ja) * 2010-06-30 2011-11-02 株式会社東芝 情報処理装置、raidコントローラカード、およびミラーリング方法

Also Published As

Publication number Publication date
WO2013093994A1 (ja) 2013-06-27
US20140297950A1 (en) 2014-10-02
US9703504B2 (en) 2017-07-11
JP6056769B2 (ja) 2017-01-11

Similar Documents

Publication Publication Date Title
JP6056769B2 (ja) ストレージシステム、データリバランシングプログラム及びデータリバランシング方法
US11687423B2 (en) Prioritizing highly performant storage systems for servicing a synchronously replicated dataset
US10331370B2 (en) Tuning a storage system in dependence upon workload access patterns
US11803492B2 (en) System resource management using time-independent scheduling
US11112989B2 (en) Utilizing a decentralized storage network for data storage
JP6791834B2 (ja) 記憶システム及び制御ソフトウェア配置方法
US10459657B2 (en) Storage system with read cache-on-write buffer
US9658779B2 (en) Computer system and control method for computer system
US11086898B2 (en) Token-based admission control for replicated writes
US11296944B2 (en) Updating path selection as paths between a computing device and a storage system change
US10915813B2 (en) Search acceleration for artificial intelligence
CN103763383A (zh) 一体化云存储系统及其存储方法
JP2005258847A (ja) フェイルオーバクラスタシステム及びフェイルオーバ方法
US10613755B1 (en) Efficient repurposing of application data in storage environments
CN103455577A (zh) 云主机镜像文件的多备份就近存储和读取方法及系统
US11789780B1 (en) Preserving quality-of-service (‘QOS’) to storage system workloads
US20230138462A1 (en) Migrating Similar Data To A Single Data Reduction Pool
US20230205591A1 (en) System Having Dynamic Power Management
WO2018075790A1 (en) Performance tuning in a storage system that includes one or more storage devices
JP2020177274A (ja) ストレージ装置、ストレージシステムおよびプログラム
US10628379B1 (en) Efficient local data protection of application data in storage environments
Alatorre et al. Intelligent information lifecycle management in virtualized storage environments
JP7057408B2 (ja) 記憶システム及びその制御方法
US11861423B1 (en) Accelerating artificial intelligence (‘AI’) workflows
EP3485365A1 (en) Performance tuning in a storage system that includes one or more storage devices

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150707

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160329

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161121

R150 Certificate of patent or registration of utility model

Ref document number: 6056769

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150