JPWO2013093994A1 - Storage system, data rebalancing program, and data rebalancing method - Google Patents
Storage system, data rebalancing program, and data rebalancing method Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0653—Monitoring storage devices or systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0617—Improving the reliability of storage systems in relation to availability
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0632—Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0635—Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
Abstract
ストレージシステムは、データを格納する複数の格納装置と、データを保持するキャッシュメモリと、情報処理端末から、対象データの読み込みまたは対象データの書込みのためのアクセス要求があった場合、いずれかの格納装置へアクセスすると共に、対象データをキャッシュメモリへ格納するアクセス制御部と、キャッシュメモリへ格納した対象データを、複数の格納装置のうち対象データが格納されていない格納装置へ書き込む書込部と、を含む。The storage system stores a plurality of storage devices that store data, a cache memory that stores data, and an information processing terminal that receives an access request for reading or writing target data. An access control unit for accessing the device and storing the target data in the cache memory; a writing unit for writing the target data stored in the cache memory to a storage device in which the target data is not stored among the plurality of storage devices; including.
Description
本明細書に記載の技術は、ストレージシステムに関する。 The technology described in this specification relates to a storage system.
ストレージシステムは、複数のストレージ装置と、それらを統括するサーバ装置とを含む。スケールアウト型ストレージシステムでは、ストレージ装置の追加時にデータの平準化を確保するため、ストレージ装置間でデータリバランス(データの再配置)処理が行われる。データリバランスは多くの場合、ストレージ装置において偏ったデータを別のストレージ装置にコピーする。そのため、データリバランスを行っている間は、ネットワーク帯域とシステムリソースが使用される。 The storage system includes a plurality of storage devices and a server device that controls them. In a scale-out storage system, data rebalancing (data rearrangement) processing is performed between storage devices in order to ensure data leveling when adding storage devices. In many cases, data rebalancing copies uneven data in a storage device to another storage device. Therefore, network bandwidth and system resources are used during data rebalancing.
論理ボリュームの負荷分散に関して、次の論理ボリューム負荷分散技術がある。ストレージ装置において、性能測定機構は、データ転送機構により転送されるデータ量およびコマンド処理量に基づいて、論理ボリュームの負荷状況を測定する。コピー機構は、性能測定機構の測定結果に基づいて、物理ボリュームに設定された論理ボリュームの内容を予備物理ボリュームに設定された論理ボリュームにコピーする。複数のコピーしたデータを持つことで、データアクセスの負荷分散を行う。 Regarding the logical volume load distribution, there are the following logical volume load distribution techniques. In the storage apparatus, the performance measurement mechanism measures the load status of the logical volume based on the data amount transferred by the data transfer mechanism and the command processing amount. The copy mechanism copies the contents of the logical volume set in the physical volume to the logical volume set in the spare physical volume based on the measurement result of the performance measurement mechanism. By having multiple copied data, load distribution of data access is performed.
通常行われるデータリバランシングでは、ストレージ装置に格納されているデータを、追加したストレージにコピーすることで、特定のストレージへのアクセス集中を回避することができる。このコピー処理には、ストレージ装置間のネットワーク帯域を使用する。したがって、ストレージ装置間でのデータのコピーは、ネットワークに負荷がかかるため、ストレージ装置の負荷が低い時間帯にコピーを行うことが考えられる。 In normal data rebalancing, data stored in the storage device can be copied to the added storage, thereby avoiding concentration of access to a specific storage. This copy processing uses a network bandwidth between storage devices. Therefore, copying data between storage devices places a load on the network, so it is conceivable that copying is performed during a time zone when the load on the storage device is low.
しかしながら、ストレージ統合を行ったストレージ装置の場合、そのストレージ装置は、複数のシステムから利用されるため、ネットワークが低負荷となる時間帯が確保できないケースも考えられる。また、データのコピー中は、ネットワークの帯域を一度に使用するため、そのコピーが、ストレージ装置とサーバ間の入出力のボトルネックとなる要因になる。 However, in the case of a storage device that has integrated storage, since the storage device is used by a plurality of systems, there may be a case where it is not possible to secure a time zone during which the network has a low load. In addition, since the network bandwidth is used at a time during data copying, the copying becomes a factor of input / output bottleneck between the storage apparatus and the server.
1つの側面では、本発明は、ストレージシステムにおけるデータリバランスの効率化を図る技術を提供する。 In one aspect, the present invention provides a technique for improving the efficiency of data rebalance in a storage system.
ストレージシステムは、複数の格納装置、キャッシュメモリ、アクセス制御部、書込部を含む。格納装置は、データを格納する。キャッシュメモリは、データを保持する。アクセス制御部は、情報処理端末から、対象データの読み込みまたは対象データの書込みのためのアクセス要求があった場合、いずれかの前記格納装置へアクセスすると共に、前記対象データを前記キャッシュメモリへ格納する。書込部は、前記キャッシュメモリへ格納した前記対象データを、前記複数の格納装置のうち該対象データが格納されていない格納装置へ書き込む。 The storage system includes a plurality of storage devices, a cache memory, an access control unit, and a writing unit. The storage device stores data. The cache memory holds data. When there is an access request for reading target data or writing target data from the information processing terminal, the access control unit accesses any of the storage devices and stores the target data in the cache memory . The writing unit writes the target data stored in the cache memory to a storage device in which the target data is not stored among the plurality of storage devices.
1実施形態によれば、ストレージシステムにおけるデータリバランスの効率化を図ることができる。 According to one embodiment, the efficiency of data rebalance in a storage system can be improved.
上述した論理ボリューム負荷分散技術では、アクセス頻度を分析し、レプリカおよび一部データの複製を独自に作成することで負荷分散を行っている。しかし、この場合、業務で用いる入出力(I/O)とは別にコピー用の帯域が必要となり、このコピーによる業務への影響も考えられる。また、論理ボリュームの性能を拡充することができるのは、論理ボリュームを定義する初期設定時のみであり、オンデマンドな性能拡充は行うことはできない。また、複数のミラーが作成され、そのミラーに書込みが行われる場合において、書込みによる負荷が増大した場合には、ミラーを解体する手法が用いられる。しかし、一時の負荷によりミラーを解体することが、返って性能劣化につながる問題もある。さらに、データの読込みの際、ネットワーク帯域を使用するため、ストレージ装置とクライアント間のネットワーク帯域を圧迫してしまう。そのため、上述した論理ボリューム負荷分散技術は、大規模なストレージシステムのでは使用することができない。 In the logical volume load distribution technique described above, load distribution is performed by analyzing the access frequency and independently creating a replica and a copy of some data. However, in this case, a bandwidth for copying is required in addition to the input / output (I / O) used in the business, and this copy may affect the business. Further, the performance of the logical volume can be enhanced only at the initial setting for defining the logical volume, and the on-demand performance enhancement cannot be performed. Further, when a plurality of mirrors are created and writing is performed on the mirrors, a method of disassembling the mirrors is used when the load due to writing increases. However, there is also a problem that disassembling the mirror due to a temporary load results in performance degradation. Furthermore, since the network bandwidth is used when reading data, the network bandwidth between the storage apparatus and the client is compressed. Therefore, the above-described logical volume load distribution technique cannot be used in a large-scale storage system.
そこで、ストレージ装置の追加時や運用中の負荷不均衡時に行うデータリバランスの効率化を図る。このとき、複数のストレージ装置へのデータの複製を作成する場合に、情報処理端末からのアクセス要求を効率的に利用することで、ストレージシステムの入出力の性能の向上を図る。 Therefore, the efficiency of data rebalancing that is performed when a storage device is added or when the load is not balanced during operation is improved. At this time, when replicating data to a plurality of storage devices, the access request from the information processing terminal is efficiently used to improve the input / output performance of the storage system.
図1は、本実施形態におけるストレージシステムの構成を示す。本実施形態におけるストレージシステム1は、複数の格納装置2、キャッシュメモリ3、アクセス制御部4、書込部5を含む。
FIG. 1 shows the configuration of a storage system in this embodiment. The
格納装置2は、データを格納する。格納装置2の一例は、ストレージ装置25である。キャッシュメモリ3は、データを保持する。キャッシュメモリ3の一例は、キャッシュメモリ18dの一例である。
The
アクセス制御部4は、情報処理端末9から、対象データの読み込みまたは対象データの書込みのためのアクセス要求があった場合、いずれかの格納装置2へアクセスすると共に、対象データをキャッシュメモリ3へ格納する。アクセス制御部4の一例は、I/Oサーバ18である。
When there is an access request for reading target data or writing target data from the information processing terminal 9, the
書込部5は、キャッシュメモリ3へ格納した対象データを、複数の格納装置2のうち対象データが格納されていない格納装置2へ書き込む。書込部5の一例は、I/Oサーバ18である。
The
このように構成することにより、ストレージ間のリバランシング処理の効率化を図ることができる。すなわち、ストレージ装置を追加した場合に、情報処理端末9からのアクセス要求を有効利用することで、ストレージ間のリバランシング処理を、ネットワークに負荷を掛けずに効率的に行うことができる。 With this configuration, it is possible to improve the efficiency of rebalancing processing between storages. That is, when a storage device is added, by effectively using an access request from the information processing terminal 9, rebalancing processing between storages can be performed efficiently without imposing a load on the network.
前記ストレージシステムは、さらに、負荷監視部6を含む。負荷監視部6は、格納装置2に対する、読み込みまたは書き込みによるアクセス負荷の監視を行う。負荷監視部6の一例は、負荷監視部17の一例である。
The storage system further includes a
アクセス制御部4は、情報処理端末9からアクセス要求があった場合、監視の結果に基づいて、格納装置2のうちアクセス負荷の最も少ない格納装置へアクセスすると共に、対象データをキャッシュメモリ3へ格納する。
When there is an access request from the information processing terminal 9, the
アクセス制御部4は、情報処理端末9から対象データへの読み込み要求があった場合、監視の結果に基づいて、対象データを格納する格納装置2のうちアクセス負荷の最も少ない格納装置から対象データを取得する。アクセス制御部4は、対象データをキャッシュメモリ3へ格納し、対象データを情報処理端末へ送信する。
When there is a read request to the target data from the information processing terminal 9, the
アクセス制御部4は、情報処理端末9から対象データの書き込み要求があった場合、監視の結果に基づいて、格納装置2のうちアクセス負荷の最も少ない格納装置に対象データを書き込み、対象データをキャッシュメモリ3へ格納する。
When there is a request for writing the target data from the information processing terminal 9, the
書込部5は、キャッシュメモリ3へ格納した対象データを、書込みを行った格納装置2以外の格納装置2へ書き込む。
The
このように構成することにより、監視の結果に基づいて、格納装置2のうちアクセス負荷の最も少ない格納装置に対象データを書き込むことができる。
With this configuration, the target data can be written to the storage device with the least access load among the
ストレージシステム1は、さらに、レプリカ削除部7を含む。レプリカ削除部7は、複数の格納装置2のボリュームを仮想化した仮想ボリュームのレプリカの書込みアクセス負荷が閾値を超えた場合、仮想ボリュームのレプリカが複数の格納装置2に3以上あれば、いずれかの格納装置2に格納されたレプリカを削除する。または、レプリカ削除部7は、レプリカの作成において格納装置2の空き容量が第1の閾値より少ない場合、仮想ボリュームのレプリカが複数の格納装置2に3以上あれば、いずれかの格納装置2に格納されたレプリカを削除する。
The
このように構成することにより、情報処理端末からの書込み要求が頻繁にある場合、またはストレージ装置の空き容量が少なくなった場合に、3以上のレプリカを有する仮想ボリュームのいずれかのレプリカを削除することができる。 With this configuration, when there are frequent write requests from the information processing terminal or when the free capacity of the storage device becomes low, one of the virtual volumes having three or more replicas is deleted. be able to.
レプリカ削除部7は、監視の結果に基づいて、レプリカを含む格納装置2のうちアクセス負荷の最も少ない格納装置2のレプリカを選択する。レプリカ削除部7は、時刻毎に集計した格納装置2に対するアクセス頻度を示すアクセス頻度情報に基づいて、選択したレプリカに対して、現時刻以降、第2の閾値を越えるアクセス頻度の読み込みアクセスがないと判定した場合、選択したレプリカを削除する。
The
このように構成することにより、書込み後に閾値を超えるアクセスが一定時間継続する場合には、その仮想ボリュームのレプリカを削除対象から除くことができる。 With this configuration, when access exceeding the threshold value continues for a certain time after writing, the replica of the virtual volume can be excluded from the deletion target.
ストレージシステム1は、さらに、レプリカ作成部8を含む。レプリカ作成部8は、いずれかの格納装置2に対する時刻毎のアクセス負荷のうちいずれかの時間帯のアクセス負荷と、全ての格納装置2に対する時間帯のアクセス負荷の平均との差分が第3の閾値を超えている場合、次の処理を行う。すなわち、レプリカ作成部8は、時間帯を細分化する。レプリカ作成部8は、細分化したいずれかの時間帯のうちいずれかの格納装置2のいずれかのディスクに対するアクセス負荷と、いずれかの格納装置2の全ディクスの該細分化したいずれかの時間帯のアクセス負荷の平均との差分が第4の閾値より小さいか判定する。その差分が第4の閾値より小さい場合、レプリカ作成部8は、細分化したいずれかの時間帯より前で、いずれかの格納装置のアクセス負荷が第5の閾値を超えていない時間に、最もアクセス負荷の多いディスクにレプリカを作成する。
The
このように構成することにより、各ディスクのアクセス負荷は低いが、ストレージ装置全体として高い負荷がかかっているストレージ装置について、最もアクセス負荷の多いディスクにレプリカを作成することができる。 With this configuration, it is possible to create a replica on a disk with the highest access load for a storage apparatus that has a low access load on each disk but is heavily loaded as a whole storage apparatus.
本実施形態におけるストレージシステムには、ストレージ装置が2台以上ある。以下では、ストレージ装置Aとストレージ装置Bの2台がある前提で説明する。ストレージ装置A内のディスクは、ストレージ装置Bのディスクとミラー状態(すなわちレプリカは2個である)を保っているものとする。この2つディスクは、I/Oサーバ内で1つの仮想ディスクとして見せている。 The storage system in this embodiment has two or more storage devices. The following description is based on the assumption that there are two storage apparatuses A and B. It is assumed that the disk in the storage apparatus A maintains a mirror state (that is, two replicas) with the disk in the storage apparatus B. These two disks are shown as one virtual disk in the I / O server.
ここでミラー状態を保つ理由は、ディスクやストレージ装置が故障した場合でも、データロストや、運用を停止しないためである。ストレージにアクセスを行うクライアント装置は、クラウドシステムのように複数存在するものとする。 Here, the reason for maintaining the mirror state is that even if a disk or storage device fails, data lost or operation is not stopped. Assume that there are a plurality of client devices that access the storage as in the cloud system.
図2は、本実施形態におけるシステムの全体構成図を示す。本実施形態におけるシステムは、クライアント装置11とストレージシステム14とがLAN(Local Area Network)13により接続されている。クライアント装置11は、通信インターフェース(以下、インターフェースを「IF」と称する。)12を介してLAN13と接続されている。なお、LAN13は、一例であって、インターネット、イントラネット、その他のネットワークであってよい。
FIG. 2 shows an overall configuration diagram of a system in the present embodiment. In the system according to this embodiment, a
ストレージシステム14は、ボリューム管理サーバ15、I/Oサーバ18、ストレージ装置25、管理用LAN27、I/O用LAN28を含む。
The
ボリューム管理サーバ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(ランダムアクセスメモリ)、ハードディスク、フラッシュメモリ等を用いることができる。
The
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と接続するための通信インターフェースである。
The I /
ストレージ装置25は、複数のディスク26を含む。ストレージ装置25は、管理用LAN27と、I/O用LAN28に接続されている。管理用LAN27は、ボリューム管理サーバ15、I/Oサーバ18、ストレージ装置25間で、命令や負荷の監視の監視等のために用いられるネットワークである。I/O用LAN28は、ストレージ装置25に格納されたデータまたはストレージ装置25へ格納するデータを転送するためのネットワークである。管理用LAN27と、I/O用LAN28は、LANに限定されず、たとえば、SAN(ストレージ・エリア・ネットワーク)等のネットワークであってもよい。
The
以下の実施形態で説明する処理を実現するプログラムは、プログラム提供者側からLAN13を介して、例えば記憶部15c,18bに格納されてもよい。また、以下の実施形態で説明する処理を実現するプログラムは、市販され、流通している可搬型記憶媒体に格納されていてもよい。この場合、この可搬型記憶媒体はストレージシステム14の読み取り装置(不図示)にセットされて、制御部15a,18bによってそのプログラムが読み出されて、実行されてもよい。可搬型記憶媒体としてはCD−ROM、フレキシブルディスク、光ディスク、光磁気ディスク、ICカード、USBメモリ装置など様々な形式の記憶媒体を使用することができる。このような記憶媒体に格納されたプログラムが読み取り装置によって読み取られる。
A program that realizes processing described in the following embodiment may be stored in the
図3は、ボリューム管理サーバ15とI/Oサーバ18のブロック図を示す。ボリューム管理サーバ15は、ボリューム管理部16、負荷監視部17を含む。ボリューム管理部16は、各I/Oサーバ18の仮想ボリューム21を管理する。負荷監視部17は、各ストレージ装置25の負荷情報及びストレージ装置25内のボリュームの負荷を監視する。
FIG. 3 shows a block diagram of the
ボリューム管理部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に格納されている。
The
I/Oサーバ18は、I/O管理部20、仮想ボリューム21を含む。I/O管理部20は、クライアント装置11から仮想ボリューム21へのアクセスや仮想ボリューム21からクライアント装置11への出力を制御する。仮想ボリューム21は、I/Oサーバ18に設けられた記憶部18cに格納されている。
The I /
I/O管理部20は、レプリカ完成度表36、ディスクI/O周期表37、read/write位置アクセス負荷対応表38を含む。レプリカ完成度表36、ディスクI/O周期表37、read/write位置アクセス負荷対応表38は、I/Oサーバ18の記憶部18cに格納されている。
The I /
図4は、レプリカ表31の一例を示す。レプリカ表31とは、仮想ボリューム21のレプリカがどのストレージ装置25に作成されているか、またはそのレプリカがどのような状態であるかを示す表である。
FIG. 4 shows an example of the replica table 31. The replica table 31 is a table indicating in which
レプリカ表31は、「仮想ボリューム ID」、「ストレージID 1」、「ストレージID 2」、・・・のデータ項目を含む。「仮想ボリューム ID」には、仮想ボリューム21を識別する識別情報が格納される。「ストレージID 1」、「ストレージID 2」・・・には、仮想ボリューム21に対応するストレージ装置25におけるレプリカの完成度が設定される。ここで、レプリカの完成度が100%の場合は、「Created」が設定される。レプリカの完成度が“0 < 完成度 < 100”の場合は、「Copying」が設定される。レプリカの完成度が0%の場合は、「None」が設定される。また、レプリカが削除中である場合は、「Deleting」が設定される。
The replica table 31 includes data items of “virtual volume ID”, “
図5は、書き込み保留表32の一例を示す。書き込み保留表32は、キャッシュ18dに保留した書込み対象のデータを管理する表である。書き込み保留表32は、「仮想ディスク ID」、「ストレージID」、「位置」、「日付」のデータ項目を含む。「仮想ディスク ID」には、仮想ボリューム21を識別する識別情報が格納される。「ストレージID」には、仮想ボリューム21に対応するストレージ装置25を識別する情報(ストレージID)が格納される。「位置」には、データの書き込みを行ったストレージ25における書き込み位置が格納される。「日付」には、書き込んだ日付が格納される。
FIG. 5 shows an example of the write hold table 32. The write hold table 32 is a table for managing write target data held in the
図6は、I/O周期表33の一例を示す。I/O周期表33は、単位時間当たりの各ストレージ装置25の各ディスクのアクセス(read/write)数を集計した表である。I/O周期表33は、ストレージ装置25のディスク毎に作成される。
FIG. 6 shows an example of the I / O periodic table 33. The I / O periodic table 33 is a table in which the number of accesses (read / write) of each disk of each
I/O周期表33は、「時刻」、「read」、「write」のデータ項目を含む。「時刻」には、一定間隔の時刻が格納される。「read」には、その時刻におけるreadアクセス数が格納される。「write」には、その時刻におけるwriteアクセス数が格納される。 The I / O periodic table 33 includes data items of “time”, “read”, and “write”. In “Time”, time at a predetermined interval is stored. “Read” stores the number of read accesses at that time. “Write” stores the number of write accesses at that time.
図7は、read/writeアクセス負荷対応表34の一例を示す。read/writeアクセス負荷対応表34は、read/writeディスクアクセス負荷対応表35のディスクIDとread/write位置アクセス負荷対応表38のディスクIDを関連付けさせた表である。read/writeディスクアクセス負荷対応表35、read/write位置アクセス負荷対応表38については後述する。 FIG. 7 shows an example of the read / write access load correspondence table 34. The read / write access load correspondence table 34 is a table in which the disk ID of the read / write disk access load correspondence table 35 is associated with the disk ID of the read / write position access load correspondence table 38. The read / write disk access load correspondence table 35 and the read / write position access load correspondence table 38 will be described later.
図8は、read/writeディスクアクセス負荷対応表35の一例を示す。read/writeディスクアクセス負荷対応表35は、全ストレージ25内に存在する各ディスクへのreadアクセスとwriteアクセスの回数をカウントする表である。
FIG. 8 shows an example of the read / write disk access load correspondence table 35. The read / write disk access load correspondence table 35 is a table for counting the number of times of read access and write access to each disk existing in all the
read/writeディスクアクセス負荷対応表35は、ストレージ装置単位であり、「ディスクID」、「Readアクセス頻度」、「Writeアクセス頻度」のデータ項目を含む。「ディスクID」には、ストレージ装置25内のディスク26を識別する識別情報が設定される。「Readアクセス頻度」には、そのディスクに対するReadアクセス頻度が設定される。「Writeアクセス頻度」には、そのディスクに対するWriteアクセス頻度が設定される。
The read / write disk access load correspondence table 35 is a storage device unit, and includes data items of “disk ID”, “Read access frequency”, and “Write access frequency”. In the “disk ID”, identification information for identifying the
図9は、レプリカ完成度表36の一例を示す。レプリカ完成度表36は、仮想ボリュームのストレージ装置25毎のレプリカの完成度を位置毎に示している表である。レプリカ完成度表36は、ストレージ装置25においてレプリカが格納されている「位置」、各ストレージ装置の「レプリカ完成度」、ストレージ装置25に格納されているレプリカの「状態」が格納される。
FIG. 9 shows an example of the replica completeness table 36. The replica completeness table 36 is a table showing the completeness of the replica for each
レプリカ完成度とは、どの程度レプリカが完成しているかを示す値である。レプリカの「状態」には、「None」、「Copying」、「Created」、「Deleting」の4つの状態が存在する。「None」は、レプリカが作成されていないことを示す。「Copying」は、レプリカ作成先にwrite処理を発行する前であることを示す。また、「Created」は、レプリカ作成が完了されていることを示す。「Deleting」は、レプリカの削除中であることを示す。 The replica completeness is a value indicating how much the replica is completed. The “state” of the replica has four states of “None”, “Copying”, “Created”, and “Deleting”. “None” indicates that a replica has not been created. “Copying” indicates that it is before issuing a write process to the replica creation destination. “Created” indicates that replica creation has been completed. “Deleting” indicates that the replica is being deleted.
図10は、ディスクI/O周期表37の一例を示す。単位時間当たりのストレージ25の各ディスクのアクセス数を集計した表である。ディスクI/O周期表37は、当該I/Oサーバが一定の時刻毎にストレージ装置25の各ディスク26にアクセスした回数を集計した表である。ディスクI/O周期表33は、ストレージ装置25のディスク毎に作成される。
FIG. 10 shows an example of the disk I / O periodic table 37. It is the table | surface which totaled the access count of each disk of the
ディスクI/O周期表33は、「時刻」、「read」、「write」のデータ項目を含む。「時刻」には、一定間隔の時刻が格納される。「read」には、その時刻におけるreadアクセス数が格納される。「write」には、その時刻におけるwriteアクセス数が格納される。 The disk I / O periodic table 33 includes data items of “time”, “read”, and “write”. In “Time”, time at a predetermined interval is stored. “Read” stores the number of read accesses at that time. “Write” stores the number of write accesses at that time.
図11は、read/write位置アクセス負荷対応表38の一例を示す。read/write位置アクセス負荷対応表38は、I/Oサーバ18がアクセスを行っているディスク26の位置毎にread/writeのアクセス負荷を管理している表である。ここで、ディスク26におけるread/writeする位置とは、データをread/writeするための、ディスク26の先頭位置に対する位置を示す。
FIG. 11 shows an example of the read / write position access load correspondence table 38. The read / write position access load correspondence table 38 is a table that manages the read / write access load for each position of the
read/write位置アクセス負荷対応表38は、ディスク単位に設けられ、「ディスクID」、「Readアクセス頻度」、「Writeアクセス頻度」のデータ項目を含む。「ディスクID」には、ストレージ装置25内のディスク26を識別する識別情報が設定される。「Readアクセス頻度」には、そのディスク26に対するReadアクセス頻度が設定される。「Writeアクセス頻度」には、そのディスク26に対するWriteアクセス頻度が設定される。
The read / write position access load correspondence table 38 is provided for each disk, and includes data items of “disk ID”, “Read access frequency”, and “Write access frequency”. In the “disk ID”, identification information for identifying the
図12は、ストレージ容量表39の一例を示す。ストレージ容量表39は、各ストレージ装置25の容量が格納された表である。ストレージ容量表39は、ボリューム管理サーバ15の負荷監視部17によって各ストレージ装置25から取得した、ストレージ装置が使用している容量を一覧にしたものである。
FIG. 12 shows an example of the storage capacity table 39. The storage capacity table 39 is a table in which the capacity of each
図13は、負荷統計情報40の一例を示す。負荷統計情報40は、ストレージ装置25毎の、単位時間当たりのread/write(I/O per second)、帯域使用率が格納された表である。ボリューム管理サーバ15は、負荷監視部17を用いて、各ストレージ装置25から負荷統計情報40を取得する。
FIG. 13 shows an example of the load
本実施形態において、ストレージ装置が追加されるストレージシステム14は、ストレージ装置が2台以上ある。例えば、ストレージシステム14は、ストレージ装置Aとストレージ装置Bの2台がある。ストレージ装置A内のディスクは、ストレージ装置Bのディスクとミラー状態(すなわちレプリカは2個である)を保っているものとする。ストレージシステム14に追加するストレージ装置をストレージ装置Cとする。
In this embodiment, the
(1)ストレージ装置Cをストレージシステム14に追加する。
(1) Add the storage device C to the
(2)クライアント11を用いて、ユーザがデータ読込み・書き込みを行う契機で以下の処理が実施される。
(2−1)負荷監視部17を利用して、負荷が少ないストレージ装置25を選択する。
(2−2)選択したストレージ装置25からデータの読込みを行う。
(2−3)読み込んだデータをクライアント11へ返す。(2) The following processing is performed when the user reads / writes data using the
(2-1) Using the
(2-2) Data is read from the selected
(2-3) Return the read data to the
(3)データ読み込み時のキャッシュに保持したデータを、ストレージ装置Cのネットワーク帯域が圧迫されていない時間に、ストレージ装置Cのディスクへ書込みを行う(この時点で、レプリカが3になる)。このように、負荷が少ないストレージ装置Cにデータが移動することで、次に読込む際の読込み性能が向上できる。 (3) The data held in the cache at the time of data reading is written to the disk of the storage device C at a time when the network bandwidth of the storage device C is not squeezed (at this time, the replica becomes 3). As described above, the data is moved to the storage device C with a small load, so that the reading performance in the next reading can be improved.
(4)readのみが高い頻度で行われ、かつ、いずれのレプリカも読込み性能が低下している場合、新たに追加されたストレージ装置があるならば、レプリカを作成する。 (4) If only read is performed at a high frequency and the read performance of any replica is degraded, a replica is created if there is a newly added storage device.
(5)ストレージ装置25の空き容量が少なく(ある閾値を設定。たとえば80%)となったら、レプリカが3以上のものに関して、削除することで空き容量を増やす。ここで、I/O周期表33を用いて、書込み後に大量の読込み期間が続くボリュームのレプリカは削除対象から外す。レプリカ数が3以上存在し、書き込み処理が頻繁に行われる場合は、少なくとも2つのレプリカを維持することを条件に、負荷の高いストレージ装置のレプリカを削除する。
(5) When the free capacity of the
以下では、本実施形態の詳細について説明する。
ストレージシステム14に追加するストレージ装置をストレージ装置C(25c)とする。本実施形態では、ストレージ装置25の新規追加の場面で説明をするが、運用開始後にも同様なアルゴリズムでリバランスをすることができる。Below, the detail of this embodiment is demonstrated.
A storage device to be added to the
(1)ストレージ装置C(25c)の追加
ストレージ装置C(25c)は、全てのクライアント11からアクセスできるように、ストレージシステム14内に設置され、I/O用LAN27と接続される。(1) Addition of Storage Device C (25c) The storage device C (25c) is installed in the
(2)データ読込み
図14は、本実施形態におけるデータ読み込みフローを示す。以下では、図14を用いて、ボリューム管理サーバ15とI/Oサーバ18の動作を説明する。(2) Data Reading FIG. 14 shows a data reading flow in this embodiment. Hereinafter, the operations of the
[読込みストレージの選択]
ボリューム管理サーバ15の負荷監視部17は、各ストレージ装置25の負荷状況・ストレージ装置内のボリュームの負荷を監視する(S11)。ここでは、負荷監視部17は、ストレージ装置25から送信された負荷統計情報40を取得する。[Select Read Storage]
The
ボリューム管理サーバ15は、I/Oサーバ18に対して、定期的に、ストレージ装置25から取得した負荷統計情報を送信する(S12)。
The
[読込みデータのキャッシュの保持]
クライアント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を選択する。[Retention of read data cache]
When there is a data read request from the
I/Oサーバ18は、S21で選択したストレージ装置25またはアクセス負荷が最も低いディスク26を有するストレージ装置25に対して、データの読込みを行う(S23)。このとき、I/Oサーバ18は、read/write位置アクセス負荷対応表38において、ディスク26を読み込んだ位置のreadアクセス頻度を更新する(S24)。
The I /
データの読込みの際、I/Oサーバ18は、同じデータの再読込み時の性能を上げるために、キャッシュ18dに、その読み込んだデータを保持する(S25)。I/Oサーバ18は、キャッシュ18dに保持したデータをクライアント11へ送信する(S26)。これにより、データの読込みが完了する。
When reading data, the I /
ストレージ装置25のファイルシステム上のファイルを読み込む場合には、I/Oサーバ18は、データの先読みを行い、その先読みしたデータをキャッシュ18dに保持する。
When reading a file on the file system of the
[読込みデータのキャッシュの利用]
I/Oサーバ18は、読込み時にキャッシュ18dに保持したデータ(存在するなら先読みデータも含む)を用いて、クライアント11からのデータ読込み要求のバックグランドで、追加したストレージ装置25cのレプリカに書込み要求を行う(S27)。このキャッシュ18dに保持したデータを使用することで、コピーのための読込みを行わないので、データのリバランスのデータコピーにかかるネットワーク負荷を1/2に抑えることができる。[Use read data cache]
The I /
ボリューム管理サーバ15からのレプリカ開始指示の前にキャッシュ18dにデータを保持している場合は、I/Oサーバ18は、次の処理を行う。I/Oサーバ18は、図16のS56以降で説明するように、仮想ボリューム21に新規に追加するレプリカ作成先が選択された時点で、レプリカ作成先にそのデータの書込みを行う。このように、このキャッシュ18dに保持したデータを利用することで、効率的なレプリカ作成ができる。
If data is held in the
(3)データ書き込み
図15は、本実施形態におけるデータ書込みフローを示す。以下では、図15を用いて、ボリューム管理サーバ15とI/Oサーバ18の動作を説明する。(3) Data Write FIG. 15 shows a data write flow in this embodiment. Hereinafter, the operations of the
クライアント11からデータの書込み要求があった場合、I/Oサーバ18は、仮想ボリューム21の実ディスク26に対して、データの書込み処理を開始する(S31)。このとき、I/Oサーバ18は、データの整合性を保つために、レプリカ完成度表36を読み出して(S33)、書き込み対象のレプリカの存在するストレージ装置(対象ストレージ装置)の情報を取得する(S32)。
When there is a data write request from the
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)。
The I /
[複数レプリカへの書き込み]
いずれかの対象ストレージ装置25の負荷が閾値より高い場合(S35で「No」)、I/Oサーバ18は、次を行う。すなわち、I/Oサーバ18は、負荷統計情報またはread/write位置アクセス負荷対応表38を用いて、書込み対象のデータを、負荷が最も低いストレージ装置25、または負荷が最も低いディスクへ書込む。1つの書込みが完了した時点で、I/Oサーバ18は、データ書込みが完了した旨を書き込み要求元のクライアント11へ通知する(S36)。[Write to multiple replicas]
If the load on any of the
[書込み保留したストレージへの対処]
I/Oサーバ18は、他へのストレージ装置25への書込みも必要になるが、高負荷時にデータを書き込むことで、性能劣化の要因となってしまう。そのため、I/Oサーバ18は、負荷の高さが閾値を超えI/Oの余裕がないストレージ装置25への書込みデータをキャッシュ18dに保持し、データの書き込みを一旦保留する。このキャッシュ18dに保持したデータは、破棄させない。これについて、以下に説明する。[Countermeasures for write pending storage]
The I /
ストレージ装置25への書込み対象のデータを保留した場合、I/Oサーバ18は、ボリューム管理サーバ15へ保留情報を通知する(S37)。保留情報は、書き込みを行わなかった対象ストレージ装置25のストレージID、ディスクID、ディスクの書込み位置、及び書き込みデータを含む。ボリューム管理サーバ15は、I/Oサーバ18から通知された保留情報を用いて、書込み保留表32を更新する(S38)。I/Oサーバ18は、書き込みデータをキャッシュ18dへ保持する(S39)。
When the data to be written to the
他I/Oサーバ18からのデータ読込み時は、他I/Oサーバ18は、書込み保留表32を参照して、最新データがある書込み完了したデータが存在するストレージ装置25へデータの読込み処理を行う。これにより、最新のデータの読込みができる。
At the time of reading data from the other I /
その後、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から同一データの読込みができる。
Thereafter, the I /
また、書込み対象のデータをキャッシュ18dに保留した状態でI/Oサーバ18がダウンした場合は、キャッシュ18dに保留した書込み対象のデータが失われるため、どのレプリカが最新であるか管理することができない。そのため、I/Oサーバ18のダウン後の起動時に、ボリューム管理サーバ15は、書込み保留表32の中にキャッシュ18dに書込み対象のデータがあるかどうかを調べ、必要に応じてレプリカ作成を行う。
In addition, when the I /
レプリカ作成を行っているストレージ装置25に対してキャッシュ18dに保留したデータのストレージ装置25への書込みが完了することで、ストレージ装置A,B、及び、追加したストレージ装置Cが同じデータを保持する。このとき、ストレージ装置Aとストレージ装置Bとは、ミラー状態が保たれている。また、ストレージ装置Cについては、書込みを行った部分のみのデータが書かれた状態になる。
The storage devices A and B and the added storage device C hold the same data by completing the writing of the data held in the
ここで、追加したストレージ装置Cにおいて、read/write処理でキャッシュ18dに保持したデータ(よくアクセスがあるデータ)に関しては、ミラー状態を保つことができるが、ディスク全体をミラー化することはできてはいない。したがって、この時点では、レプリカの元のディスク全体のデータ削除はできない。しかし、この場合、読込みがあるデータに関しては、ミラー状態を保っているので(レプリカができているので)、ストレージ装置25へのI/Oサーバ18のデータの読込みを分散させることができる。これにより、読み込み先となるストレージ装置へのアクセス(負荷)が1つに集中しないので、ストレージシステム14の性能を向上することができる。
Here, in the added storage device C, the data held in the
(4)レプリカ作成によるアクセス負荷分散方法
[レプリカ作成方法]
図16及び図17は、本実施形態におけるレプリカ作成処理フローを示す。以下では、図16及び図17を用いて、ボリューム管理サーバ15とI/Oサーバ18の動作を説明する。(4) Access load distribution method by replica creation [Replica creation method]
16 and 17 show a replica creation processing flow in the present embodiment. Hereinafter, the operations of the
ボリューム管理サーバ15は、負荷監視部17から得られる情報を、随時read/writeディスクアクセス負荷対応表35に反映する。さらに、ボリューム管理サーバ15は、read/writeディスクアクセス負荷対応表35と、定期的に全I/Oサーバ18から送付されるread/write位置アクセス負荷対応表38を用いて、read/writeアクセス負荷対応表34を作成する。
The
まず、ボリューム管理サーバ15は、read/writeアクセス負荷対応表34を用いて、ストレージ装置単位でアクセス負荷(read/writeアクセス頻度)が予め設定された閾値を超えているか否かを判定する(S51)。
First, the
アクセス負荷が閾値を超えていた場合(S51で「Yes」)、ボリューム管理サーバ15は、read/writeアクセス負荷対応表34のディスクのread/writeアクセス頻度を参照し、アクセス負荷の高いデータの位置を特定する(S52)。すなわち、ボリューム管理サーバ15は、read/writeアクセス負荷対応表34を用いて、アクセス負荷(read/writeアクセス頻度)が閾値を超えているストレージ装置25内のどのディスクのどの位置のデータに対して、read/writeが多いのかを判定する。
When the access load exceeds the threshold value (“Yes” in S51), the
さらに、ボリューム管理サーバ15は、read/writeアクセス負荷対応表34を用いて、レプリカの作成先を決定する(S53)。ここでは、ボリューム管理サーバ15は、read/writeアクセス負荷対応表34を用いて、アクセス負荷が最も低いストレージ装置25を選択する。さらに、ボリューム管理サーバ15は、その選択したストレージ装置25から、空き容量が最も多いストレージ装置をレプリカ作成先として選択する。
そして、ボリューム管理サーバ15は、I/Oサーバ18にレプリカ作成先を通知する(S54)。Furthermore, the
Then, the
I/Oサーバ18は、ボリューム管理サーバ15よりレプリカの作成先の通知を受けると、仮想ボリューム21についてのレプリカ完成度表36を作成する(S55)。なお、Read処理(図14)、write処理(図15)は、S55とS56との間で発生する。
Upon receiving notification of the replica creation destination from the
I/Oサーバ18は、レプリカ完成度表36を作成後、該当仮想ボリューム21の実ディスクの1つに、レプリカ作成先のディスクを追加する(S56)。I/Oサーバ18は、レプリカ作成先のディスクへのキャッシュに保持したデータの書込みを開始することをボリューム管理サーバ15に通知する(S57)。
After creating the replica completeness table 36, the I /
ボリューム管理サーバ15は、I/Oサーバ18から、レプリカ作成先のディスクへのキャッシュに保持したデータの書込みを開始する通知を受けると、レプリカ表31の該当箇所を「Copying」に更新する(S58)。
When the
[レプリカへのデータの書込み]
キャッシュ18dにレプリカ元のデータが存在する場合(S61で「Yes」)、I/Oサーバ18は、クライアント11からレプリカ元となるストレージ装置25へのデータの読込み処理に続いて、キャッシュ18dを利用し、レプリカ作成処理を開始する(S62)。また、さらに、ボリューム管理サーバ15からレプリカ作成依頼が来る前に、キャッシュ18dに保持していたデータについても、I/Oサーバ18は、レプリカ完成度表36の更新と、レプリカ作成対象のディスクに書込みを行う。キャッシュ18dに既に保持されているデータを利用することで、レプリカの更新処理を進めることができる。[Write data to replica]
If the replica source data exists in the
I/Oサーバ18は、ボリューム管理サーバ15より通知された情報(レプリカ作成先、書き込み時刻)を用いて、データ読み出し時のキャッシュ18dに保持したデータを、予め設定された時刻にレプリカ先に書き込む(S63)。書込み完了後、I/Oサーバ18は、レプリカ完成度表36において、書き込んだストレージ装置25のディスク26について「Created」と更新する(S64)。
The I /
レプリカ完成度表36において、レプリカ完成度が100%となったら、I/Oサーバ18は、ボリューム管理サーバ15に、レプリカ作成が完了した旨を通知する(S65)。ボリューム管理サーバ15は、レプリカ表31の該当箇所を「Created」に更新する(S66)。
In the replica completeness table 36, when the replica completeness reaches 100%, the I /
I/Oサーバ18は、キャッシュ18dに保持したデータをレプリカ作成先のディスクへ書き込む処理を開始することをボリューム管理サーバ15に通知する(S67)。
The I /
[レプリカ削除方法]
クライアント11からの書込み要求が頻繁にある場合は、全てのレプリカへの書込みが頻繁に起こるため、ネットワーク帯域の負荷が高くなってしまう。書込みが頻発する場合は、I/Oサーバ18は、以下の処理により、レプリカを削除するか否かを判断する。[Replica deletion method]
When there are frequent write requests from the
(i)I/Oサーバ18は、書込み対象のデータについてディスクI/O周期表37を用いて、データの読込み量・書込み量から、その後に、大量の読み込み期間があると判定した場合は、レプリカを削除しない。
(ii)I/Oサーバ18は、ディスクI/O周期表37を用いて、書込み期間が一定期間続くと判定した場合は、レプリカを削除する。(I) If the I /
(Ii) If the I /
図18及び図19は、本実施形態におけるレプリカ削除処理フローを示す。以下では、図18及び図19を用いて、ボリューム管理サーバ15とI/Oサーバ18の動作を説明する。
18 and 19 show a replica deletion processing flow in the present embodiment. Hereinafter, the operations of the
ボリューム管理サーバ15は、以下のいずれかの条件(S71,S72)に合致したと判定したときに、I/Oサーバ18にレプリカ削除処理開始を通知する(S73)。S71の条件は、ボリューム管理サーバ15が、read/writeアクセス負荷対応表34のwriteアクセス頻度から、いずれかの仮想ボリュームのレプリカ内のデータへのwriteアクセス頻度が閾値を超えたと判定することである。また、S72の条件は、ボリューム管理サーバ15がストレージ容量表39を用いて、いずれかの仮想ボリュームのレプリカ作成時にストレージ装置25の空き容量が閾値を下回ると判定することである。
When it is determined that any of the following conditions (S71, S72) is met, the
−−削除するレプリカの決定方法−−
レプリカ削除処理では、ボリューム管理サーバ15は、レプリカ表31を参照して、「Created」となっているいずれかの仮想ボリュームのレプリカ数が3以上存在するか判定する(S74)。レプリカ数が3未満である場合(S74で「No」)、ボリューム管理サーバ15は、レプリカ削除処理を実行しない。-Determination method of replica to be deleted-
In the replica deletion processing, the
レプリカ数が3以上存在する場合、ボリューム管理サーバ15は、read/writeアクセス負荷対応表34のwriteアクセス頻度項目を用いて、最も高いアクセス負荷がかかっているストレージ装置25内にあるレプリカを選択する(S75)。
When the number of replicas is 3 or more, the
ボリューム管理サーバ15は、read/writeアクセス負荷対応表34とI/O周期表33とを関係付けて、現時刻から所定の時間内に、選択したレプリカの存在するディスクに対して、閾値を超えるreadアクセスがあるか否かを判定する(S76)。
The
選択したレプリカに対して、現時刻から所定の時間内に、閾値を超えるreadアクセスがされないと判定した場合(S76で「Yes」)、ボリューム管理サーバ15は、その仮想ボリューム21についてのレプリカ削除処理を実行しない。このとき、ボリューム管理サーバ15は、他の仮想ボリューム21のレプリカを検索する(S78)。
When it is determined that read access exceeding the threshold is not made within a predetermined time from the current time for the selected replica (“Yes” in S76), the
他の仮想ボリュームのレプリカが存在する場合(S79で「Yes」)、ボリューム管理サーバ15は、当該他の仮想ボリュームについて、S73の処理以降の処理を行う。
他の仮想ボリュームのレプリカが存在しない場合(S79で「No」)、ボリューム管理サーバ15は、I/Oサーバ18に、S84で用いるレプリカ完成度の閾値を動的に所定値下げるように通知する(S80)。そして、ボリューム管理サーバ15は、当該仮想ボリュームについて、再びS73以降の処理を行う。I/Oサーバ18は、その通知を受信すると、S84で用いるレプリカ完成度の閾値を動的に所定値下げる。If there is a replica of another virtual volume (“Yes” in S79), the
When there is no replica of another virtual volume (“No” in S79), the
‐レプリカ削除の実行
選択したレプリカに対して、現時刻から所定の時間内に、閾値を超えるreadアクセスがされると判定した場合(S76で「No」)、ボリューム管理サーバ15は、レプリカ表31の該当箇所を「Deleting」に更新する。その後、ボリューム管理サーバ15は、選択したレプリカについての削除情報(仮想ボリュームID、データ配置場所)を該当レプリカへアクセスを行っているI/Oサーバ18に通知する(S77)。-Execution of replica deletion When it is determined that the read access exceeding the threshold is made within a predetermined time from the current time ("No" in S76), the
I/Oサーバ18は、選択したレプリカについての削除情報をボリューム管理サーバ15から受信する。I/Oサーバ18は、レプリカ完成度表36を用いて、通知された仮想ボリュームIDに関するレプリカ完成度100%のレプリカが3つ以上存在するか判定する(S81)。
The I /
レプリカ完成度表36において、レプリカ完成度100%であるレプリカが3つ以上存在しない場合(S81で「No」)、I/Oサーバ18は、作成中の状態にあるレプリカに対して、そのレプリカ作成を続行させる。レプリカ完成後、I/Oサーバ18は、S75で選択した負荷の高いストレージ装置25のレプリカを削除し(S83)、レプリカ削除処理を終了する。
In the replica completeness table 36, when three or more replicas having a replica completeness of 100% do not exist (“No” in S81), the I /
I/Oサーバ18は、レプリカ完成度表36において、通知された仮想ボリュームIDの全レプリカ完成度が所定の閾値以下であるかを判定する(S84)。通知された仮想ボリュームIDの全レプリカ完成度が所定の閾値(例えば80%)以下である場合(S84で「Yes」)、I/Oサーバ18は、ボリューム管理サーバ15に、他の仮想ボリュームのレプリカの削除対象の変更依頼を行う(S85)。
In the replica completeness table 36, the I /
他の仮想ボリュームのレプリカが存在する場合(S79で「Yes」)、ボリューム管理サーバ15は、当該他の仮想ボリュームについて、S73の処理以降の処理を行う。他の仮想ボリュームのレプリカが存在しない場合(S79で「No」)、ボリューム管理サーバ15は、I/Oサーバ18に、S84で用いるレプリカ完成度の閾値を動的に所定値下げるように通知する(S80)。そして、ボリューム管理サーバ15は、当該仮想ボリュームについて、再びS73以降の処理を行う。I/Oサーバ18は、その通知を受信すると、S84で用いるレプリカ完成度の閾値を動的に所定値下げる。これにより、ボリューム管理サーバ15は、再度、I/Oサーバ18へレプリカ削除依頼を行うことができる。
If there is a replica of another virtual volume (“Yes” in S79), the
通知された仮想ボリュームIDの全レプリカ完成度が所定の閾値(例えば80%)より高い場合(S84で「No」)、I/Oサーバ18は、次の処理を行う。すなわち、I/Oサーバ18は、S54でボリューム管理サーバ15より通知されたレプリカ作成先情報を用いて、データ読み込み時にキャッシュ18dに保持したデータをレプリカ作成先に書き込み、レプリカ完成度を100%にする(S86)。
If the completeness of all replicas of the notified virtual volume ID is higher than a predetermined threshold (for example, 80%) (“No” in S84), the I /
レプリカ完成度表36において、通知された仮想ボリュームIDに関係するレプリカ完成度100%のレプリカが3つ以上存在する場合(S81で「Yes」)、またはS86の処理完了後、I/Oサーバ18は、次の処理を行う。すなわち、I/Oサーバ18は、ストレージ装置25の空き容量が閾値を下回ったかを判定する(S87)。ストレージの空き容量が閾値を上回った場合(S87で「No」)、レプリカ削除処理を終了する。
In the replica completeness table 36, when there are three or more replicas having a replica completeness of 100% related to the notified virtual volume ID (“Yes” in S81), or after the processing of S86 is completed, the I /
ストレージ装置25の空き容量が下回った場合(S87で「Yes」)、I/Oサーバ18は、read/write位置アクセス負荷対応表38を用いて、レプリカ完成度100%のレプリカから、readアクセス頻度が閾値を下回っているレプリカを選択する(S88)。このとき、I/Oサーバ18は、レプリカ完成度100%であるレプリカを保持するストレージ装置25の中で、最も負荷が高いストレージ装置25のレプリカを選択する。I/Oサーバ18は、選択したレプリカを削除する(S89)。
When the free capacity of the
そして、I/Oサーバ18は、ボリューム管理サーバ15にレプリカ削除処理の完了を通知する(S90)。ボリューム管理サーバ15は、I/Oサーバ18からレプリカ削除処理の完了通知を受けると、レプリカ表31の該当箇所を「Deleting」から「None」に更新し(S91)、レプリカ削除処理を終了する。
The I /
[I/O周期表を利用した予測レプリカ作成処理]
上記「(4)レプリカ作成によるアクセス負荷分散方法」で捕捉しきれないアクセス負荷が低いディスクが多数存在する場合に、ストレージ装置単位でみると、負荷が高くなる場合がある。そこで、このような状況でのデータリバランスでは、I/O周期表を利用し、レプリカを作成することで負荷分散をさせる手法を用いる。[Predictive replica creation process using I / O periodic table]
When there are a large number of disks with low access loads that cannot be captured by “(4) Access load distribution method by replica creation”, the load may increase when viewed in units of storage devices. Therefore, in the data rebalancing in such a situation, a method of using the I / O periodic table and creating a replica to distribute the load is used.
図20は、I/O周期表を利用した予測レプリカ作成処理フローを示す。I/Oサーバ18は、ストレージ装置25内のディスク単位で、予め設定した期間で、一定間隔(周期)の入出力(I/O)(すなわちreadアクセス回数、writeアクセス回数)の集計を行い、ディスクI/O周期表37に記憶する。この一定間隔(周期)が1週間単位の業務の場合は、I/Oサーバ18は、1週間で集計をとることも可能である。なお、図20の処理は、図16のS54の処理において、実行させるようにしてもよい。
FIG. 20 shows a predicted replica creation processing flow using the I / O periodic table. The I /
ボリューム管理サーバ15は、所定の時刻に、全I/Oサーバ18からディスクI/O周期表37を収集する。ボリューム管理サーバ15は、収集した全ディスクI/O周期表37を用いて、ストレージ装置のディスクの時刻毎に、readアクセス回数、writeアクセス回数を集計して、I/O周期表33を作成する。
The
ボリューム管理サーバ15は、作成したI/O周期表33から、各ストレージ装置25に対する時刻あたりのI/O(readアクセス回数とwriteアクセス回数の合計)について一定周期で集計を行い、ストレージ装置25のアクセス負荷を計算する(S101)。例えば、ボリューム管理サーバ15は、1時間ごとのストレージ装置25のアクセス負荷を1日分計算する。ここで、アクセス負荷とは、readアクセス回数とwriteアクセス回数の合計をいう。
The
次に、ボリューム管理サーバ15は、全ストレージ装置25に対するアクセス負荷の平均値を計算する(S102)。その後、ボリューム管理サーバ15は、集計した時間帯において、平均値と各ストレージ装置25のアクセス負荷の差分が、予め設定した閾値を超えているかを判定する(S103)。そのサクセス負荷の差分が閾値を超えていない場合(S103で「No」)、ボリューム管理サーバ15は、予測処理を終了する。
Next, the
そのサクセス負荷の差分が閾値を超えている場合(S103で「Yes」)、ボリューム管理サーバ15は、次の処理を行う。すなわち、ボリューム管理サーバ15は、該当ストレージ装置25の該当時間に対して、より細かい時間単位でそのストレージ装置25に属する、各ディスク26のアクセス負荷と、全ディスク26のアクセス負荷の平均値の差分を求める。より細かい時間単位とは、例えば、1分単位である。
When the difference in the success load exceeds the threshold (“Yes” in S103), the
ボリューム管理サーバ15は、その差分が予め設定した閾値を下回っているか判定する(S104)。その差分が予め設定した閾値を下回っていれば(S104で「Yes」)、ボリューム管理サーバ15は、I/O周期表33を用いて、該当ストレージ装置25内のディスク26の中で、最もread処理が多いディスク16を選択する。ボリューム管理サーバ15は、該当時間より前、かつ、ストレージ装置25のアクセス負荷が予め設定している閾値を超えていない時間帯に、その選択したディスク26にレプリカを作成する(S105)。
The
以下では、I/O周期表33を用いた、ストレージ装置25単位でのアクセス負荷が高く、かつ、ディスク単位のアクセス負荷が低いデータに対する予測レプリカ作成処理の例を示す。まずは、図21−図24を用いて、図20のS101−S103の処理を説明する。
In the following, an example of predicted replica creation processing for data having a high access load in the
図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)を示す。 FIG. 21 shows a work table (A) in which access frequencies obtained by adding the read frequency and the write frequency of the I / O periodic table 33 for the storage device A are totaled every hour, and a graph (B) thereof. Show. FIG. 22 shows a work table (A) in which the access frequencies obtained by adding the read frequency and the write frequency of the I / O periodic table 33 for the storage apparatus B are counted every hour, and a graph (B) thereof. Show. FIG. 23 shows a work table (A) in which the access frequencies obtained by adding the read frequency and the write frequency of the I / O periodic table 33 for the storage device C are counted every hour, and a graph (B) thereof. Show. FIG. 24 shows an average value of the access frequency for each hour of the work table (A) shown in FIGS. 21 to 23 and a graph (B) thereof.
ボリューム管理サーバ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のアクセス負荷に着目して説明する。
The
図21に示すように、ストレージ装置Aのアクセス負荷は、545である。図22に示すように、ストレージ装置Bのアクセス負荷は、5435である。図23に示すように、ストレージ装置Cのアクセス負荷は、23である。図24に示すように、アクセス負荷の平均値は、2001となる。 As shown in FIG. 21, the access load of the storage apparatus A is 545. As shown in FIG. 22, the access load of the storage apparatus B is 5435. As shown in FIG. 23, the access load of the storage apparatus C is 23. As shown in FIG. 24, the average value of the access load is 2001.
ボリューム管理サーバ15は、各ストレージ装置25のアクセス負荷と平均値の差分を計算する。ここで、ストレージ装置Bと平均値の差分は、5435−2001=3434となる。予め設定していた閾値を2000とする。ストレージ装置Bのアクセス負荷と平均値の差分(3434)がその閾値(2000)を超えているため、ボリューム管理サーバ15は、図20のS104−S105の処理を実行する。これについて、図25−図28を用いて説明する。
The
図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)を示す。 FIG. 25 shows a work table (A) in which the access frequencies obtained by adding the read frequency and the write frequency of the I / O periodic table 33 for the disk B1 of the storage device B are counted every minute, and its graph ( B). FIG. 26 shows a work table (A) in which the access frequencies obtained by adding the read frequency and the write frequency of the I / O periodic table 33 for the disk B2 of the storage device B are counted every minute and its graph ( B). FIG. 27 shows a work table (A) in which the access frequencies obtained by adding the read frequency and the write frequency of the I / O periodic table 33 for the disk B3 of the storage apparatus B are counted every minute, and its graph ( B). FIG. 28 shows an average value of access frequencies per minute of the work table (A) shown in FIGS. 25 to 27 and a graph (B) thereof.
ボリューム管理サーバ15は、ストレージ装置25のアクセス負荷と平均値の差分が閾値を超えるストレージ装置25の該当時間(時間帯4:00〜5:00)に対して、次の処理を行う。すなわち、ボリューム管理サーバ15は、1分単位でそのストレージ装置25に属する各ディスクのアクセス負荷と、全ディスクのアクセス負荷の平均値の差分を求める。ここでは、ストレージ装置B内に3つのディスクB1,B2,B3があるとし、時間帯4:31〜4:32に着目して説明する。
The
まず、ストレージ装置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のアクセス負荷を分散させるためのリバランスを実施できない。 First, the average value of the access load of the storage device B per minute is 5435 / 60≈91. Furthermore, since there are three disks in the storage apparatus B, the average value of the access load for each minute of each disk is 91 / 3≈31. Here, the access loads of the disks B1, B2, and B3 in the time zone of 4:31 to 4:32 are 27, 24, and 29, respectively. The difference between the access load and the average value of the disks B1, B2, and B3 is 4, 7, and 2, respectively. If the preset threshold value is 10, the difference between the access load and the average value of the disks B1, B2, and B3 are all below the threshold value. In all other time zones, the difference between the access load and the average value of the disks B1, B2, and B3 is all below the threshold value. From this, it can be seen that the access load on the storage device B is high, but the access load on each disk B1, B2, B3 in the storage device is low. In this example, in the replica creation process, the storage apparatus B is excluded from the rebalance target, and the rebalance for distributing the access load of the storage apparatus B cannot be performed.
そのため、ボリューム管理サーバ15は、I/O周期表33を利用した予測レプリカ作成処理を用いて、ディスクB1,B2,B3のうち、最もread処理が多いディスクを選択する。ボリューム管理サーバ15は、その選択したディスク26にデータのレプリカを作成する胸の指示をI/Oサーバ18に行う。
Therefore, the
上記のようにストレージ装置間のリバランシングを行うことにより、ストレージ装置、または、ストレージ装置内のディスクに異常が発生した場合でも、データを失うことはない。例えば、ストレージ装置Aからストレージ装置Cへデータを移行している際に、ストレージ装置Bが故障した場合には、レプリカの冗長度が下がるが、データはストレージ装置Aとストレージ装置Cを合わせることで最新性を保証できる。また、ボリューム管理サーバ15は、レプリカの冗長度が下がったことを認識すると、強制的にレプリカ作成処理を行い、レプリカの冗長度を2になるようにする。
By performing rebalancing between storage apparatuses as described above, data is not lost even if an abnormality occurs in the storage apparatus or a disk in the storage apparatus. For example, if the storage device B fails when the data is transferred from the storage device A to the storage device C, the redundancy of the replica decreases, but the data can be obtained by combining the storage devices A and C. Can guarantee up-to-date. Further, when the
複数のストレージ装置25や、I/Oサーバ18がある大規模なクラウドのような環境では、I/Oサーバ18とストレージ装置25間の帯域が重要になっている。キャッシュに保持された、入力/出力要求に対応する読込み・書込みに必要なデータを有効的に利用することにより、ネットワーク帯域に負荷をかけずに、ストレージ装置25のリバランスを行うことができる。
In an environment such as a large-scale cloud having a plurality of
本実施形態によれば、ストレージ装置を追加した場合に、クライアント装置からのアクセス要求を有効利用することで、ストレージ間のリバランシング処理を、ネットワーク帯域に負荷を掛けずに効率的に行うことができる。また、ストレージシステムの入力/出力性能を最大限に活用することができる。そのため、本実施形態におけるストレージシステムを用いれば、業務に影響を与えずに、業務やサービスの効率を改善することができる。 According to the present embodiment, when a storage device is added, the rebalancing process between the storages can be efficiently performed without imposing a load on the network bandwidth by effectively using the access request from the client device. it can. In addition, the input / output performance of the storage system can be fully utilized. Therefore, if the storage system in this embodiment is used, the efficiency of business and services can be improved without affecting business.
また、本実施形態におけるストレージシステムに含まれるストレージ装置またはディスクに異常が発生した場合も、データは常に冗長されているために、データを失うことがなく業務を継続できる。 In addition, even when an abnormality occurs in a storage device or a disk included in the storage system in this embodiment, data is always redundant, so that business can be continued without losing data.
なお、本発明は、以上に述べた実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内で種々の構成または実施形態を取ることができる。 The present invention is not limited to the above-described embodiment, and various configurations or embodiments can be taken without departing from the gist of the present invention.
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位置アクセス負荷対応表DESCRIPTION OF
14
28 LAN for I / O
31 replica table 32 write pending table 33 I / O periodic table 34 read / write access load correspondence table 35 read / write disk access load correspondence table 36 replica completeness table 37 disk I / O periodic table 38 read / write position access load correspondence table
Claims (18)
データを保持するキャッシュメモリと、
情報処理端末から、対象データの読み込みまたは対象データの書込みのためのアクセス要求があった場合、いずれかの前記格納装置へアクセスすると共に、前記対象データを前記キャッシュメモリへ格納するアクセス制御部と、
前記キャッシュメモリへ格納した前記対象データを、前記複数の格納装置のうち該対象データが格納されていない格納装置へ書き込む書込部と、
を備えることを特徴とするストレージシステム。A plurality of storage devices for storing data;
Cache memory to hold data,
When there is an access request for reading target data or writing target data from an information processing terminal, an access control unit that accesses any of the storage devices and stores the target data in the cache memory;
A writing unit for writing the target data stored in the cache memory to a storage device in which the target data is not stored among the plurality of storage devices;
A storage system comprising:
前記格納装置に対する、読み込みまたは書き込みによるアクセス負荷の監視を行う負荷監視部を備え、
前記アクセス制御部は、前記情報処理端末から前記アクセス要求があった場合、前記監視の結果に基づいて、前記格納装置のうち前記アクセス負荷の最も少ない格納装置へアクセスすると共に、前記対象データをキャッシュメモリへ格納する
ことを特徴とする請求項1に記載のストレージシステム。The storage system further includes:
A load monitoring unit for monitoring an access load by reading or writing to the storage device;
The access control unit, when receiving the access request from the information processing terminal, accesses the storage device with the least access load among the storage devices based on the monitoring result, and caches the target data. The storage system according to claim 1, wherein the storage system is stored in a memory.
ことを特徴とする請求項2に記載のストレージシステム。When there is a read request to the target data from the information processing terminal, the access control unit is a storage device with the least access load among the storage devices that store the target data based on the monitoring result The storage system according to claim 2, wherein the target data is acquired from the storage, the target data is stored in the cache memory, and the target data is transmitted to the information processing terminal.
前記書込部は、前記キャッシュメモリへ格納した前記対象データを、前記書込みを行った格納装置以外の格納装置へ書き込む
ことを特徴とする請求項2に記載のストレージシステム。The access control unit writes the target data to the storage device with the least access load among the storage devices based on the monitoring result when there is a request to write the target data from the information processing terminal, Store the target data in the cache memory,
The storage system according to claim 2, wherein the writing unit writes the target data stored in the cache memory to a storage device other than the storage device that performed the writing.
前記複数の格納装置のボリュームを仮想化した仮想ボリュームのレプリカの書込みアクセス負荷が閾値を超えた場合、または、前記レプリカの作成において前記格納装置の空き容量が第1の閾値より少ない場合、前記仮想ボリュームのレプリカが前記複数の格納装置に3以上あれば、いずれかの格納装置に格納された前記レプリカを削除するレプリカ削除部
を備えることを特徴とする請求項1に記載のストレージシステム。The storage system further includes:
When the write access load of a replica of a virtual volume obtained by virtualizing the volumes of the plurality of storage devices exceeds a threshold value, or when the free capacity of the storage device is less than a first threshold value in the creation of the replica, the virtual 2. The storage system according to claim 1, further comprising: a replica deletion unit that deletes the replica stored in one of the storage devices when there are three or more replicas of the volume in the plurality of storage devices.
ことを特徴とする請求項5に記載のストレージシステム。The replica deletion unit selects the replica of the storage device with the least access load from the storage devices including the replica based on the monitoring result, and indicates the access frequency indicating the access frequency to the storage device that is aggregated at each time The selected replica is deleted when it is determined that there is no read access with an access frequency exceeding a second threshold after the current time on the selected replica based on frequency information. 6. The storage system according to 5.
いずれかの前記格納装置に対する時刻毎の前記アクセス負荷のうちいずれかの時間帯のアクセス負荷と、全ての前記格納装置に対する該時間帯の前記アクセス負荷の平均との差分が第3の閾値を超えている場合において、該時間帯を細分化し、該細分化したいずれかの時間帯のうち前記いずれかの格納装置のいずれかのディスクに対するアクセス負荷と、該いずれかの格納装置の全ディクスの該細分化したいずれかの時間帯のアクセス負荷の平均との差分が第4の閾値より小さい場合、該細分化したいずれかの時間帯より前で前記いずれかの格納装置のアクセス負荷が第5の閾値を超えていない時間に、最もアクセス負荷の多いディスクにレプリカを作成するレプリカ作成部
を備えることを特徴とする請求項1に記載のストレージシステム。The storage system further includes:
The difference between the access load in any time zone among the access loads for each time for any of the storage devices and the average of the access loads in the time zone for all the storage devices exceeds the third threshold The time zone is subdivided, the access load on any disk of the storage device in any one of the subdivided time zones, and the total disk of the storage device If the difference from the average access load of any of the subdivided time zones is smaller than the fourth threshold, the access load of any of the storage devices is the fifth before the subdivided time zone The storage system according to claim 1, further comprising: a replica creation unit that creates a replica on a disk having the highest access load during a time that does not exceed the threshold.
情報処理端末から、対象データの読み込みまたは対象データの書込みのためのアクセス要求があった場合、データを格納する複数の格納装置のうちいずれかの格納装置へアクセスすると共に、前記対象データをキャッシュメモリへ格納し、
前記キャッシュメモリへ格納した前記対象データを、前記複数の格納装置のうち該対象データが格納されていない格納装置へ書き込む
処理を実行させるデータリバランシングプログラム。On the computer,
When there is an access request for reading target data or writing target data from an information processing terminal, it accesses any one of a plurality of storage devices for storing the data, and stores the target data in a cache memory Stored in
A data rebalancing program for executing a process of writing the target data stored in the cache memory to a storage device in which the target data is not stored among the plurality of storage devices.
前記格納装置に対する、読み込みまたは書き込みによるアクセス負荷の監視を行う処理を実行させ、
前記情報処理端末から前記アクセス要求があった場合、前記監視の結果に基づいて、前記格納装置のうち前記アクセス負荷の最も少ない格納装置へアクセスすると共に、前記対象データをキャッシュメモリへ格納する
ことを特徴とする請求項8に記載のデータリバランシングプログラム。In addition to the computer,
A process of monitoring an access load by reading or writing on the storage device;
When there is an access request from the information processing terminal, based on the monitoring result, the storage device with the least access load is accessed among the storage devices, and the target data is stored in a cache memory. 9. The data rebalancing program according to claim 8, wherein
ことを特徴とする請求項9に記載のデータリバランシングプログラム。When there is a read request to the target data from the information processing terminal, the target data is acquired from the storage device with the least access load among the storage devices that store the target data based on the monitoring result The data rebalancing program according to claim 9, wherein the target data is stored in the cache memory, and the target data is transmitted to the information processing terminal.
前記キャッシュメモリへ格納した前記対象データを、前記書込みを行った格納装置以外の格納装置へ書き込む
ことを特徴とする請求項9に記載のデータリバランシングプログラム。When there is a request for writing target data from the information processing terminal, based on the monitoring result, the target data is written to the storage device with the least access load among the storage devices, and the target data is stored in the cache memory. Stored in
The data rebalancing program according to claim 9, wherein the target data stored in the cache memory is written to a storage device other than the storage device that performed the writing.
前記複数の格納装置のボリュームを仮想化した仮想ボリュームのレプリカの書込みアクセス負荷が閾値を超えた場合、または、前記レプリカの作成において前記格納装置の空き容量が第1の閾値より少ない場合、前記仮想ボリュームのレプリカが前記複数の格納装置に3以上あれば、いずれかの格納装置に格納された前記レプリカを削除する
処理を実行させる請求項8に記載のデータリバランシングプログラム。In addition to the computer,
When the write access load of a replica of a virtual volume obtained by virtualizing the volumes of the plurality of storage devices exceeds a threshold value, or when the free capacity of the storage device is less than a first threshold value in the creation of the replica, the virtual The data rebalancing program according to claim 8, wherein if there are three or more replicas of a volume in the plurality of storage devices, a process of deleting the replica stored in any of the storage devices is executed.
ことを特徴とする請求項12に記載のデータリバランシングプログラム。Based on the monitoring results, select the storage device replica with the least access load among the storage devices including the replica, and based on the access frequency information indicating the access frequency to the storage device counted for each time, The data replica according to claim 12, wherein if the selected replica is determined not to have read access with an access frequency exceeding a second threshold after the current time, the selected replica is deleted. Balancing program.
いずれかの前記格納装置に対する時刻毎の前記アクセス負荷のうちいずれかの時間帯のアクセス負荷と、全ての前記格納装置に対する該時間帯の前記アクセス負荷の平均との差分が第3の閾値を超えている場合において、該時間帯を細分化し、該細分化したいずれかの時間帯のうち前記いずれかの格納装置のいずれかのディスクに対するアクセス負荷と、該いずれかの格納装置の全ディクスの該細分化したいずれかの時間帯のアクセス負荷の平均との差分が第4の閾値より小さい場合、該細分化したいずれかの時間帯より前で前記いずれかの格納装置のアクセス負荷が第5の閾値を超えていない時間に、最もアクセス負荷の多いディスクにレプリカを作成する
処理を実行させる請求項8に記載のデータリバランシングプログラム。In addition to the computer,
The difference between the access load in any time zone among the access loads for each time for any of the storage devices and the average of the access loads in the time zone for all the storage devices exceeds the third threshold The time zone is subdivided, the access load on any disk of the storage device in any one of the subdivided time zones, and the total disk of the storage device If the difference from the average access load of any of the subdivided time zones is smaller than the fourth threshold, the access load of any of the storage devices is the fifth before the subdivided time zone The data rebalancing program according to claim 8, wherein a process of creating a replica on a disk having the largest access load is executed during a time when the threshold is not exceeded.
前記コンピュータは、
情報処理端末から、対象データの読み込みまたは対象データの書込みのためのアクセス要求があった場合、データを格納する複数の格納装置のうちいずれかの格納装置へアクセスすると共に、前記対象データをキャッシュメモリへ格納し、
前記キャッシュメモリへ格納した前記対象データを、前記複数の格納装置のうち該対象データが格納されていない格納装置へ書き込む
処理を実行するデータリバランシング方法。A method of rebalancing data between storage devices executed by a computer,
The computer
When there is an access request for reading target data or writing target data from an information processing terminal, it accesses any one of a plurality of storage devices for storing the data, and stores the target data in a cache memory Stored in
A data rebalancing method for executing processing for writing the target data stored in the cache memory to a storage device in which the target data is not stored among the plurality of storage devices.
前記格納装置に対する、読み込みまたは書き込みによるアクセス負荷の監視を行い、
前記情報処理端末から前記アクセス要求があった場合、前記監視の結果に基づいて、前記格納装置のうち前記アクセス負荷の最も少ない格納装置へアクセスすると共に、前記対象データをキャッシュメモリへ格納する
ことを特徴とする請求項15に記載のデータリバランシング方法。The computer further includes:
Monitor the access load by reading or writing to the storage device,
When there is an access request from the information processing terminal, based on the monitoring result, the storage device with the least access load is accessed among the storage devices, and the target data is stored in a cache memory. The data rebalancing method according to claim 15, characterized in that:
前記情報処理端末から前記対象データへの読み込み要求があった場合、前記監視の結果に基づいて、該対象データを格納する前記格納装置のうち前記アクセス負荷の最も少ない格納装置から該対象データを取得して、該対象データを前記キャッシュメモリへ格納し、該対象データを前記情報処理端末へ送信する
ことを特徴とする請求項16に記載のデータリバランシング方法。The computer
When there is a read request to the target data from the information processing terminal, the target data is acquired from the storage device with the least access load among the storage devices that store the target data based on the monitoring result The data rebalancing method according to claim 16, wherein the target data is stored in the cache memory, and the target data is transmitted to the information processing terminal.
前記情報処理端末から対象データの書き込み要求があった場合、前記監視の結果に基づいて、前記格納装置のうち前記アクセス負荷の最も少ない格納装置に前記対象データを書き込み、該対象データを前記キャッシュメモリへ格納し、
前記キャッシュメモリへ格納した前記対象データを、前記書込みを行った格納装置以外の格納装置へ書き込む
ことを特徴とする請求項16に記載のデータリバランシング方法。The computer
When there is a request for writing target data from the information processing terminal, based on the monitoring result, the target data is written to the storage device with the least access load among the storage devices, and the target data is stored in the cache memory. Stored in
The data rebalancing method according to claim 16, wherein the target data stored in the cache memory is written to a storage device other than the storage device that performed the writing.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2011/079365 WO2013093994A1 (en) | 2011-12-19 | 2011-12-19 | Storage system, data rebalancing program and data rebalancing method |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2013093994A1 true JPWO2013093994A1 (en) | 2015-04-27 |
JP6056769B2 JP6056769B2 (en) | 2017-01-11 |
Family
ID=48667925
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013549973A Active JP6056769B2 (en) | 2011-12-19 | 2011-12-19 | Storage system, data rebalancing program, and data rebalancing method |
Country Status (3)
Country | Link |
---|---|
US (1) | US9703504B2 (en) |
JP (1) | JP6056769B2 (en) |
WO (1) | WO2013093994A1 (en) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016099659A (en) * | 2014-11-18 | 2016-05-30 | 株式会社エヌ・ティ・ティ・データ | Management device, storage system, storage management method, and program |
CN106649401A (en) * | 2015-11-03 | 2017-05-10 | 阿里巴巴集团控股有限公司 | Data writing method and device of distributed file system |
JP6747018B2 (en) * | 2016-03-31 | 2020-08-26 | 日本電気株式会社 | Storage system, storage system control device, storage system control method and program |
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 |
US10866750B2 (en) | 2018-01-10 | 2020-12-15 | EMC IP Holding Company LLC | System and method for predicting data storage characteristics |
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 |
US10757188B1 (en) * | 2018-01-10 | 2020-08-25 | EMC IP Holding Company LLC | System and method for efficient data access for restores |
JP7048402B2 (en) * | 2018-04-24 | 2022-04-05 | 株式会社日立製作所 | Data store system and data store management method |
US10698719B2 (en) | 2018-04-27 | 2020-06-30 | EMC IP Holding Company LLC | System and method for virtual machine restoration |
US10572349B2 (en) | 2018-04-27 | 2020-02-25 | EMC IP Holding Company LLC | System and method for backup in a virtualized environment |
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 |
CN111400098A (en) * | 2020-03-16 | 2020-07-10 | 深信服科技股份有限公司 | Copy management method and device, electronic equipment and storage medium |
US11061571B1 (en) * | 2020-03-19 | 2021-07-13 | Nvidia Corporation | Techniques for efficiently organizing and accessing compressible data |
JP2022187285A (en) * | 2021-06-07 | 2022-12-19 | 富士通株式会社 | Management device, storage system and information processing method |
CN116048429B (en) * | 2023-04-03 | 2023-07-04 | 创云融达信息技术(天津)股份有限公司 | Multi-copy read-write method and device |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003296035A (en) * | 2002-04-08 | 2003-10-17 | Hitachi Ltd | Storage device and storage method |
JP2003339008A (en) * | 2002-05-20 | 2003-11-28 | Matsushita Electric Ind Co Ltd | Data processing system, data processing method, and data processing program |
JP2009187142A (en) * | 2008-02-04 | 2009-08-20 | Hitachi Ltd | Computer system and physical disk space collection method |
JP2010277342A (en) * | 2009-05-28 | 2010-12-09 | Fujitsu Ltd | Management program, management device, and management method |
JP4806089B1 (en) * | 2010-06-30 | 2011-11-02 | 株式会社東芝 | Information processing apparatus, RAID controller card, and mirroring method |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2564884B2 (en) | 1988-03-29 | 1996-12-18 | 日本電気株式会社 | Duplex file I / O load balancing method |
JPH10198526A (en) * | 1997-01-14 | 1998-07-31 | Fujitsu Ltd | Raid device and its access control method |
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 (en) | 2004-03-29 | 2008-09-10 | 東芝ソリューション株式会社 | Storage system, block rearrangement control method, and program |
JP2005338893A (en) * | 2004-05-24 | 2005-12-08 | Hitachi Ltd | Data processing system, disk access control method and processing program therefor |
US20060020691A1 (en) * | 2004-07-20 | 2006-01-26 | Hewlett-Packard Development Company, L.P. | Load balancing based on front-end utilization |
JP2006053601A (en) | 2004-08-09 | 2006-02-23 | Hitachi Ltd | Storage device |
JP4643395B2 (en) | 2004-08-30 | 2011-03-02 | 株式会社日立製作所 | Storage system and data migration method |
JP4842593B2 (en) | 2005-09-05 | 2011-12-21 | 株式会社日立製作所 | Device control takeover method for storage virtualization apparatus |
US7404036B2 (en) | 2005-11-23 | 2008-07-22 | International Business Machines Corporation | Rebalancing of striped disk data |
JP2007310715A (en) | 2006-05-19 | 2007-11-29 | Fujitsu Ltd | Dynamic load distribution storage method, dynamic load distribution storage system and dynamic load distribution storage information processing program |
JP2007328734A (en) | 2006-06-09 | 2007-12-20 | Hitachi Ltd | Storage device and control method for storage device |
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 |
-
2011
- 2011-12-19 WO PCT/JP2011/079365 patent/WO2013093994A1/en active Application Filing
- 2011-12-19 JP JP2013549973A patent/JP6056769B2/en active Active
-
2014
- 2014-06-13 US US14/303,886 patent/US9703504B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003296035A (en) * | 2002-04-08 | 2003-10-17 | Hitachi Ltd | Storage device and storage method |
JP2003339008A (en) * | 2002-05-20 | 2003-11-28 | Matsushita Electric Ind Co Ltd | Data processing system, data processing method, and data processing program |
JP2009187142A (en) * | 2008-02-04 | 2009-08-20 | Hitachi Ltd | Computer system and physical disk space collection method |
JP2010277342A (en) * | 2009-05-28 | 2010-12-09 | Fujitsu Ltd | Management program, management device, and management method |
JP4806089B1 (en) * | 2010-06-30 | 2011-11-02 | 株式会社東芝 | Information processing apparatus, RAID controller card, and mirroring method |
Also Published As
Publication number | Publication date |
---|---|
US20140297950A1 (en) | 2014-10-02 |
WO2013093994A1 (en) | 2013-06-27 |
JP6056769B2 (en) | 2017-01-11 |
US9703504B2 (en) | 2017-07-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6056769B2 (en) | Storage system, data rebalancing program, and data rebalancing method | |
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 (en) | Storage system and control software placement method | |
US10459657B2 (en) | Storage system with read cache-on-write buffer | |
US9658779B2 (en) | Computer system and control method for computer system | |
US10915813B2 (en) | Search acceleration for artificial intelligence | |
US10992533B1 (en) | Policy based path management | |
CN103763383A (en) | Integrated cloud storage system and storage method thereof | |
JP2005258847A (en) | Failover cluster system, and failover method | |
US20220261286A1 (en) | Scheduling Input/Output Operations For A Storage System | |
US10613755B1 (en) | Efficient repurposing of application data in storage environments | |
CN103455577A (en) | Multi-backup nearby storage and reading method and system of cloud host mirror image file | |
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 (en) | Storage device, storage system, and program | |
US10628379B1 (en) | Efficient local data protection of application data in storage environments | |
Alatorre et al. | Intelligent information lifecycle management in virtualized storage environments | |
JP7057408B2 (en) | Storage system and its control method | |
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 |