JP2011086077A - Storage device, storage system, method of controlling disk array, and program - Google Patents

Storage device, storage system, method of controlling disk array, and program Download PDF

Info

Publication number
JP2011086077A
JP2011086077A JP2009237667A JP2009237667A JP2011086077A JP 2011086077 A JP2011086077 A JP 2011086077A JP 2009237667 A JP2009237667 A JP 2009237667A JP 2009237667 A JP2009237667 A JP 2009237667A JP 2011086077 A JP2011086077 A JP 2011086077A
Authority
JP
Japan
Prior art keywords
extent
disk array
disk
policy
logical volume
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2009237667A
Other languages
Japanese (ja)
Inventor
Yosuke Mineshita
陽介 峯下
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2009237667A priority Critical patent/JP2011086077A/en
Publication of JP2011086077A publication Critical patent/JP2011086077A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a storage device, a storage system, a method of controlling a disk array, and a program, with which data efficiency can be improved in the storage area of the disk array while suppressing reduction of fault tolerance and performance. <P>SOLUTION: The storage device S-n includes: the disk arrays A-i to A-j; and a disk array control part DE-n which divides the storage area of each disk array to extents and allocates the extents to logical volumes. The disk array control part, if the load of the transfer destination does not satisfy set conditions, specifies the logical volume, collates the logical volume with a policy table in which policy for each logical volume is registered, specifies the policy, and detects a disk array selectable as the transfer destination of the data of the transfer source extent based on the policy. The policy includes the configuration of configurable disk arrays, the priority of data processing, and the logical volumes that could be shared loads. <P>COPYRIGHT: (C)2011,JPO&INPIT

Description

本発明は、論理ボリュームをホスト装置に認識させるストレージ装置、それを備えたストレージシステム、ストレージ装置内のディスクアレイを制御するための方法、及びプログラムに関する。   The present invention relates to a storage device that allows a host device to recognize a logical volume, a storage system including the storage device, a method for controlling a disk array in the storage device, and a program.

近年、ITの普及により、処理装置が使用するデータ量、及びデータ処理量は、年々増加している。それに伴い、記憶媒体は大容量化し、処理装置の処理速度は高速化されてきている。これに対して、磁気ディスクであるハードディスクドライブ(HDD)の処理時間の高速化は、他の処理装置の進歩と比較して、向上度合いが低いという状況にある。この結果、このHDDの処理時間がシステム全体のボトルネックとなり、システム全体の処理に影響を与えることがある。   In recent years, with the spread of IT, the amount of data used by processing devices and the amount of data processing have increased year by year. Accordingly, the capacity of storage media has been increased, and the processing speed of processing devices has been increased. On the other hand, speeding up of the processing time of a hard disk drive (HDD), which is a magnetic disk, is in a situation where the degree of improvement is low compared to the progress of other processing devices. As a result, the processing time of the HDD becomes a bottleneck of the entire system, which may affect the processing of the entire system.

このため、高速処理を必要とするシステムを運用する場合は、高性能なストレージ装置が用意される。通常、このような高性能なストレージ装置では、ストレージ内で複数のHDDがRAID(Redundant Arrays of Independent Disks、又はRedundant Arrays of Inexpensive Disks)を構成する。RAID構成により、HDDへの処理が分散されるので、高速化が図られると考えられる。   Therefore, when operating a system that requires high-speed processing, a high-performance storage device is prepared. Normally, in such a high-performance storage apparatus, a plurality of HDDs constitutes a RAID (Redundant Arrays of Independent Disks). Since the processing to the HDD is distributed by the RAID configuration, it is considered that the speed is increased.

しかしながら、HDDには、その構造的な理由、つまり、ヘッドの移動によるシーク時間等の短縮に限界があるために、連続してアクセスされる2以上のデータが互いに離れた位置に存在している場合に、処理に多くの時間がかかってしまうという問題がある。また、同時に同一のHDD内の複数の領域でそれぞれアクセス(以下「I/O」とする。)が発生した場合、同時には、これらI/Oを処理できず、一方の処理が終了するまで、他方の処理を待たなければならないという問題もある。   However, since there is a limit to shortening the seek time and the like due to the movement of the head in the HDD, two or more data that are successively accessed exist at positions apart from each other in the HDD. In this case, there is a problem that the processing takes a long time. In addition, when accesses (hereinafter referred to as “I / O”) occur in a plurality of areas in the same HDD at the same time, these I / Os cannot be processed at the same time until one of the processes ends. There is also a problem that the other process has to wait.

そして、このような背景の下、特許文献1は、HDDの記憶領域をある大きさに区切り、各部分での単位当りのデータ処理量に基づいて、記憶領域に記憶されているデータを最適化する方法を開示している。特許文献1に開示する方法によれば、HDDの利用効率が高められるため、上記の問題は解消すると考えられる。   Under such a background, Patent Document 1 divides the storage area of the HDD into a certain size and optimizes the data stored in the storage area based on the data processing amount per unit in each part. The method of doing is disclosed. According to the method disclosed in Patent Document 1, it is considered that the above problem is solved because the utilization efficiency of the HDD is increased.

ここで、特許文献1に開示の方法について具体的に説明する。特許文献1に開示の方法では、先ず、RAID構成をしているHDD群(ディスクアレイ)の記憶領域は、ある一定のサイズの領域(以下「エクステント」という。)に分けられる。次に、対象となるHDDについて、又は対象となるHDD内の複数のエクステントチャンクについてI/O存在率が求められ、このI/O存在率に基づいて、エクステント単位でデータの再配置が実行される。   Here, the method disclosed in Patent Document 1 will be specifically described. In the method disclosed in Patent Document 1, first, the storage area of a HDD group (disk array) having a RAID configuration is divided into areas of a certain size (hereinafter referred to as “extents”). Next, an I / O existence rate is obtained for the target HDD or a plurality of extent chunks in the target HDD, and data rearrangement is executed in units of extents based on this I / O existence rate. The

上記において、エクステントチャンクとは、あるエクステントをHDD毎に分割したときの、HDD単体における、エクステントの構成領域をいう。また、I/O存在率としては、「同時I/O存在率」、「エクステントチャンクI/O存在率」、「HDDI/O存在率」が用いられる。   In the above, an extent chunk refers to an extent configuration area in a single HDD when a certain extent is divided for each HDD. As the I / O presence rate, “simultaneous I / O presence rate”, “extent chunk I / O presence rate”, and “HDD I / O presence rate” are used.

このうち、同時I/O存在率は、あるHDD内の複数のエクステントチャンクにおいて、同時に実行中のI/Oが存在している確率であり、エクステントチャンク毎に算出される。また、I/Oが存在している確率の計算では、先ず、HDDアレイの中から選択された代表HDDのエクステントチャンク毎に、サンプリングの度に、同時に実行されるI/Oが存在すると、カウンタ値がインクリメント(+1)される。そして、サンプリング期間中のカウンタ値がサンプリング回数で除され、得られた値が、I/Oが存在している確率、即ち、同時I/O存在率となる。   Among these, the simultaneous I / O existence rate is a probability that a plurality of extent chunks in a certain HDD have I / O being executed at the same time, and is calculated for each extent chunk. Further, in the calculation of the probability that an I / O exists, first, if there is an I / O that is executed at the same time for each sampling for each extent chunk of the representative HDD selected from the HDD array, the counter The value is incremented (+1). Then, the counter value during the sampling period is divided by the number of samplings, and the obtained value becomes the probability that I / O exists, that is, the simultaneous I / O existence rate.

また、エクステントチャンクI/O存在率は、代表HDD内の任意のエクステントチャンクにおいて、実行中のI/Oが存在している確率である。エクステントチャンクI/O存在率もエクステントチャンク毎に算出される。この場合のI/Oが存在している確率の計算では、先ず、代表HDDのエクステントチャンク毎に、サンプリングの度に、1以上のI/Oが存在すると、カウンタ値がインクリメント(+1)される。そして、サンプリング期間中のカウンタ値がサンプリング回数で除され、得られた値が、I/Oが存在している確率、即ち、エクステントチャンクI/O存在率となる。   The extent chunk I / O existence ratio is a probability that an I / O being executed exists in an arbitrary extent chunk in the representative HDD. The extent chunk I / O existence rate is also calculated for each extent chunk. In the calculation of the probability that an I / O exists in this case, first, for each extent chunk of the representative HDD, the counter value is incremented (+1) when one or more I / Os exist at every sampling. . Then, the counter value during the sampling period is divided by the number of samplings, and the obtained value becomes the probability that I / O exists, that is, the extent chunk I / O existence rate.

更に、HDDI/O存在率は、代表HDDにおいて実行中のI/Oが少なくとも一つ存在している確率であり、代表HDD毎に算出される。この場合のI/Oが存在している確率の計算では、先ず、サンプリングの度に、代表HDDのいずれかのエクステントチャンクで少なくとも一つ以上のI/Oが存在すると、カウンタ値がインクリメント(+1)される。そして、サンプリング期間中のカウンタ値がサンプリング回数で除され、得られた値が、I/Oが存在している確率、即ち、HDDI/O存在率となる。   Furthermore, the HDD I / O existence ratio is a probability that at least one I / O being executed exists in the representative HDD, and is calculated for each representative HDD. In the calculation of the probability that I / O exists in this case, first, every time sampling, if at least one I / O exists in any extent chunk of the representative HDD, the counter value is incremented (+1). ) Then, the counter value during the sampling period is divided by the number of samplings, and the obtained value is the probability that I / O exists, that is, the HDD I / O existence rate.

このように、特許文献1の開示方法では、データの再配置は、主にエクステント単位で行われる。そして、再配置対象となるデータは、元のアレイのエクステントから、他のアレイのエクステントへと再配置され、最適化されるので、HDDにおける処理の高速化が図られる。   As described above, in the method disclosed in Patent Document 1, data rearrangement is performed mainly in units of extents. The data to be rearranged is rearranged from the extent of the original array to the extent of the other array and optimized, so that the processing speed in the HDD can be increased.

ところで、HDDが、I/Oを処理する場合、上述したようにシーケンシャルに処理を行う。そのため、一度に複数のI/Oの処理が要求されても、HDDは、これらを同時には、処理できず、一つずつ処理していくことになる。また、HDD内の同じ領域で実行されるI/Oが多く存在する場合であっても、HDDは、同様に一つずつI/Oを処理していく。   By the way, when the HDD processes I / O, the processing is performed sequentially as described above. For this reason, even if a plurality of I / O processes are requested at a time, the HDD cannot process them simultaneously, but processes them one by one. Even when there are many I / Os executed in the same area in the HDD, the HDD processes I / O one by one in the same manner.

このため、HDDが一つのI/Oを処理している間、処理を待っているI/Oが存在する。このとき、多くのI/Oが存在する領域が、別のHDDの領域に移転するように、データを再配置しても、その領域に存在するI/Oの数は同じであるため、結局I/Oの処理待ち(以下アイドル状態)は発生する。   For this reason, there is an I / O waiting for processing while the HDD is processing one I / O. At this time, even if the data is rearranged so that the area where many I / Os are transferred to another HDD area, the number of I / Os existing in that area remains the same. An I / O processing wait (hereinafter referred to as an idle state) occurs.

これに対して、特許文献1の開示方法では、記憶領域の利用効率を高めるためのデータの再配置が、同一のHDD内の異なる複数の領域で同時に実行されるI/Oの発生頻度に基づいて行われる。また、HDDにおける複数の領域で実行されるI/Oの総和が多い場合は、HDD内の同一領域での負荷が高い場合と同様に、アイドル状態が発生する。なお、各領域単独で見るとI/Oの数がそれほど多いわけではない。   On the other hand, in the method disclosed in Patent Document 1, data rearrangement for improving the use efficiency of the storage area is based on the frequency of I / O that is executed simultaneously in a plurality of different areas in the same HDD. Done. Further, when the total sum of I / O executed in a plurality of areas in the HDD is large, an idle state occurs as in the case where the load in the same area in the HDD is high. Note that the number of I / Os is not so large when viewed in each area alone.

従って、特許文献1の開示方法によって、データが、同時に実行されるI/Oの発生頻度が少ないHDDに再配置されれば、各I/Oのアイドル状態が減り、処理の高速化が達成される。また、特許文献1の開示方法によれば、単純なHDDへのアクセス頻度に基づいてデータの再配置が行われる場合と異なり、効果的な負荷分散が可能となる。更に、上述したように、エクステントと呼ばれる小さな領域に基づいて、データの再配置が可能であるため、再配置にかかる負荷が小さくなり、より細かいレベルでの負荷分散とアクセス速度向上の調整とが実行可能となる。   Therefore, if the data is rearranged in the HDD having a low frequency of I / O executed simultaneously by the method disclosed in Patent Document 1, the idle state of each I / O is reduced, and the processing speed is increased. The In addition, according to the disclosure method of Patent Document 1, unlike the case where data rearrangement is performed based on simple access frequency to the HDD, effective load distribution is possible. Furthermore, as described above, data can be rearranged based on a small area called an extent, so the load on the rearrangement is reduced, and load balancing at a finer level and adjustment of improvement in access speed can be performed. It becomes executable.

また、上述したようにI/Oの数の測定は、代表HDDについて行われるのに対して、データの再配置は、エクステント単位で行われているが、特に問題が生じることはない。これは、基本的に、RAIDを構成しているHDD群に対するI/Oは、ストライピングされるため、各HDDにおいて、I/Oの数はほぼ同じと考えることが出来るからである。よって、アレイ中から、一つのHDDを代表として選択し、これに対して測定を行った場合でも、全てのHDDを測定した場合のデータに近い値を求めることが出来る。   As described above, the number of I / Os is measured for the representative HDD, whereas the data rearrangement is performed in units of extents, but no particular problem occurs. This is because, basically, the I / O for the HDD group constituting the RAID is striped, so that the number of I / Os in each HDD can be considered to be substantially the same. Therefore, even when one HDD is selected as a representative from the array and measurement is performed on this, a value close to the data obtained when all HDDs are measured can be obtained.

更に、上述したように、各HDDへ分散してI/Oが発生し、実際の業務の処理の単位はエクステント単位になると考えられる。このため、特許文献1の開示方法によって、エクステント単位でデータを再配置しても大きな問題が生じることはない。   Furthermore, as described above, I / O is distributed to each HDD, and the actual processing unit of work is considered to be an extent unit. For this reason, even if the data is rearranged in units of extents by the method disclosed in Patent Document 1, no serious problem occurs.

特開2008−46763号公報JP 2008-46763 A

しかしながら、上記特許文献1に開示された方法には、以下に示す問題点が存在する。第1の問題点は、データ再配置の判断材料として用いられるのがI/O存在率だけであり、I/O存在率の大小のみに基づいてデータの再配置が行われるため、耐障害性が低下するという問題である。   However, the method disclosed in Patent Document 1 has the following problems. The first problem is that only the I / O presence rate is used as a data rearrangement judgment material, and data rearrangement is performed based only on the magnitude of the I / O presence rate. Is a problem that decreases.

一般に、わざわざHDDの容量効率を下げてまでRAID構成を使用する理由として、処理の高速化という点以外に、保存してあるデータの耐障害性の向上が挙げられる。そして、処理の高速化及び耐障害性は、構成されるRAIDの種類によって変化するが、求められる耐障害性は使用されるデータによって変化する。   In general, the reason why the RAID configuration is purposely used until the capacity efficiency of the HDD is lowered is to improve the fault tolerance of the stored data in addition to the high-speed processing. The processing speed and the fault tolerance change depending on the type of RAID configured, but the required fault tolerance changes depending on the data used.

このため、RAID構成は、初期の設計時において、使用されるデータの要件に応じて設計されている。このとき、例え性能が多少落ちてもデータ損失を防ぎたいと言う場合は、多少性能が悪くても冗長性が高いRAID構成とされる。これに対して、上記特許文献1に開示された方法では、データの再配置は、RAID構成の設計を考慮して行われないため、HDDアレイの障害発生時において、システム全体に大きな問題が発生する可能性があり、結果、耐障害性が低下してしまう。   For this reason, the RAID configuration is designed according to the requirements of the data used at the time of initial design. At this time, if it is desired to prevent data loss even if the performance is somewhat degraded, a RAID configuration with high redundancy is adopted even if the performance is somewhat degraded. On the other hand, in the method disclosed in Patent Document 1, since data relocation is not performed in consideration of the design of the RAID configuration, a large problem occurs in the entire system when a failure occurs in the HDD array. As a result, the fault tolerance is reduced.

第2の問題点は、データ再配置が実行されたときに、重要業務に影響がでる可能性がある点である。通常、基幹業務のデータベースのような常に最高のパフォーマンスを求められるシステムでは、処理性能の向上及び問題の発生の回避を図るため、あえてHDDの容量を全て使わない構成や、重要なデータが負荷の低い領域に配置された構成とされることがある。   The second problem is that important data may be affected when data relocation is executed. Normally, in a system that always requires the highest performance, such as a database for mission-critical business, a configuration that does not use all the capacity of the HDD or a load of important data is used to improve processing performance and avoid occurrence of problems. It may be configured to be arranged in a low region.

このとき、使用されていない又は負荷が低いという理由で、このような領域に、他のアレイのデータが再配置されたとする。この結果、基幹業務のデータベースの負荷が高くなったときに、再配置されたデータの処理により、データベースの処理に影響がでる可能性がある。また、この場合においても、システム全体に大きな問題が発生する可能性がある。   At this time, it is assumed that data of another array is rearranged in such an area because it is not used or the load is low. As a result, when the load on the database of the core business becomes high, the processing of the database may be affected by the processing of the rearranged data. Also in this case, a big problem may occur in the entire system.

第3の問題点は、データの再配置によって、逆に、システムの処理性能が低下する可能性がある点である。つまり、発生するI/Oの数が少ないアレイへとデータが再配置されても、この再配置先のアレイを構成するHDDの性能が低い場合、逆に、システムの処理性能が低下してしまう。   The third problem is that, on the contrary, there is a possibility that the processing performance of the system deteriorates due to the rearrangement of data. In other words, even if data is rearranged to an array that generates a small number of I / Os, if the performance of the HDDs that make up this rearranged array is low, the processing performance of the system decreases. .

例えば、データが、SAS(Serial Attached SCSI)ディスク、及びFC(Fibre Channel)ディスク等の高速ディスクから、SATA(Serial ATA)ディスクのような低速ディスクへ配置された場合が挙げられる。このように、データが、回転数が高いHDDから回転数の低いHDDへと再配置された場合、再配置によって処理速度が低下する可能性がある。   For example, there is a case where data is arranged from a high speed disk such as a SAS (Serial Attached SCSI) disk and a FC (Fibre Channel) disk to a low speed disk such as a SATA (Serial ATA) disk. As described above, when data is rearranged from an HDD with a high rotational speed to an HDD with a low rotational speed, the processing speed may decrease due to the rearrangement.

第4の問題点は、物理的に分散すべきデータが一箇所に集められてしまい、結果、耐障害性が低下してしまう可能性がある点である。この点についてデータベースを例に挙げて説明する。   The fourth problem is that data to be physically distributed is collected in one place, and as a result, fault tolerance may be reduced. This will be described by taking a database as an example.

例えば、データベースに物理障害が発生したときに、バックアップデータをリストアしたデータファイルが、障害が発生した直前のものではなかったとしても、ログファイルや制御ファイル等が、障害が発生する直前のものまであれば、それらを基にリカバリをすることで障害が発生した直前の状態までデータベースの復旧は可能である。一方、障害発生の直前までのログファイル等が存在していない場合は、バックアップデータをリストアした古いデータファイルに対してデータベースのリカバリを行うときに、障害が発生した直前までのログファイル等が存在しないこととなる。このため、存在しない分の間にあった更新情報等をデータベースに反映出来なくなり、障害が発生した直前の状態までデータベースの復旧を行うことは極めて難しくなる。   For example, even if the data file that restored the backup data was not the one immediately before the failure when the physical failure occurred in the database, the log file, control file, etc. If there is, it is possible to recover the database to the state immediately before the occurrence of the failure by performing recovery based on them. On the other hand, if there is no log file etc. up to just before the failure occurred, there will be a log file etc. up to just before the failure occurred when recovering the database for the old data file whose backup data was restored Will not. For this reason, it becomes impossible to reflect the update information and the like that existed in the minute to the database, and it is extremely difficult to restore the database to the state immediately before the occurrence of the failure.

よって、データベースでは、通常、ログファイルや制御ファイル等は、物理的な障害が発生しても、その使用が可能となるように、データファイルの保存領域とは物理的に別の領域に保持される。また、データベースでは、物理障害対策としてログファイル等を多重化させる場合もある。この場合は、多重化によって生成された各ファイルは、物理的に分けられた別々の保存領域で保持され、耐障害性が更に高められる。   Therefore, in a database, log files, control files, etc. are usually stored in a separate physical area from the data file storage area so that they can be used even if a physical failure occurs. The Also, in the database, log files or the like may be multiplexed as a measure against physical failure. In this case, each file generated by multiplexing is held in a separate storage area physically separated, and fault tolerance is further improved.

しかし、上記特許文献1に開示された方法をデータベースにそのまま適用した場合は、データベースでの負荷によっては、データファイルと、ログファイルや制御ファイル等が、同一の領域に保持されてしまう危険性がある。また、多重化によって生成されたファイル間でも同様の危険性がある。   However, when the method disclosed in Patent Document 1 is applied to a database as it is, there is a risk that a data file, a log file, a control file, and the like are held in the same area depending on the load on the database. is there. There is also a similar risk between files generated by multiplexing.

そして、これらが同一の領域に保持されてしまった場合は、物理障害が発生したときに、データベースを復旧することが困難となり、耐障害性が低下してしまう。また、データベースに限らず、幾つかのデータを同一の記憶領域に保持すべきではないシステムが存在する場合に、このシステムに、上記特許文献1に開示された方法を適用した場合も、システムの耐障害性は低下してしまう。   If these are held in the same area, it becomes difficult to recover the database when a physical failure occurs, and the fault tolerance is reduced. Further, when there is a system that is not limited to a database, and some data should not be stored in the same storage area, the system disclosed in Patent Document 1 is also applied to this system. Fault tolerance is reduced.

本発明の目的は、上記問題を解消し、耐障害性及び性能の低下を抑制しつつ、ディスクアレイの記憶領域におけるデータ効率の向上を図り得る、ストレージ装置、ストレージシステム、ディスクアレイ制御方法、及びプログラムを提供することにある。   An object of the present invention is to provide a storage device, a storage system, a disk array control method, and a storage device, a storage system, and a disk array control method, which can improve the data efficiency in the storage area of the disk array while solving the above problems and suppressing the fault tolerance and performance degradation To provide a program.

上記目的を達成するため、本発明におけるストレージ装置は、外部から認識可能な複数の論理ボリュームが構築されているストレージ装置であって、
複数のディスクアレイと、
前記複数のディスクアレイそれぞれの記憶領域を複数個のエクステントに物理的に分割し、一又は二以上の前記エクステントを前記複数の論理ボリュームのいずれかに割り当てて、前記記憶領域を管理する、ディスクアレイ制御部とを備え、
前記ディスクアレイ制御部は、いずれかのエクステントの負荷が設定された条件を満たさない場合に、当該エクステントを移転元エクステントとして、前記移転元エクステントが割り当てられている論理ボリュームを特定し、
そして、前記複数の論理ボリュームそれぞれ毎のポリシーが登録されているポリシーテーブルに、特定した論理ボリュームを照合して、そのポリシーを特定し、
特定したポリシーに基づいて、前記移転元エクステントに記憶されているデータの移転先として選択可能なディスクアレイを検出し、
前記複数の論理ボリュームそれぞれ毎のポリシーは、当該論理ボリュームを構築可能なディスクアレイの構成、当該論理ボリュームに格納されているデータにおける処理の優先度、及び当該論理ボリュームと同一のディスクアレイに存在することが許容されていない他の論理ボリュームの識別子を含む、
ことを特徴とする。
In order to achieve the above object, a storage apparatus according to the present invention is a storage apparatus in which a plurality of logical volumes recognizable from the outside are constructed,
Multiple disk arrays,
A disk array that physically divides a storage area of each of the plurality of disk arrays into a plurality of extents, assigns one or more extents to any of the plurality of logical volumes, and manages the storage areas A control unit,
When the extent of any extent does not satisfy the set condition, the disk array control unit specifies the logical volume to which the transfer source extent is assigned, using the extent as the transfer source extent,
Then, the policy table in which a policy for each of the plurality of logical volumes is registered is compared with the specified logical volume to specify the policy,
Based on the identified policy, a disk array that can be selected as a transfer destination of data stored in the transfer source extent is detected,
The policy for each of the plurality of logical volumes exists in the same disk array as the configuration of the disk array capable of constructing the logical volume, the priority of processing in the data stored in the logical volume, and the logical volume. Including identifiers of other logical volumes that are not allowed,
It is characterized by that.

上記目的を達成するため、本発明におけるストレージシステムは、ホスト装置と、前記ホスト装置から認識可能な複数の論理ボリュームが構築されているストレージ装置とを備え、
前記ストレージ装置は、複数のディスクアレイと、前記複数のディスクアレイそれぞれの記憶領域を複数個のエクステントに物理的に分割し、一又は二以上の前記エクステントを前記複数の論理ボリュームのいずれかに割り当てて、前記記憶領域を管理する、ディスクアレイ制御部とを備え、
前記ディスクアレイ制御部は、いずれかのエクステントの負荷が設定された条件を満たさない場合に、当該エクステントを移転元エクステントとして、前記移転元エクステントが割り当てられている論理ボリュームを特定し、
そして、前記複数の論理ボリュームそれぞれ毎のポリシーが登録されているポリシーテーブルに、特定した論理ボリュームを照合して、そのポリシーを特定し、
特定したポリシーに基づいて、前記移転元エクステントに記憶されているデータの移転先として選択可能なディスクアレイを検出し、
前記複数の論理ボリュームそれぞれ毎のポリシーは、少なくとも、当該論理ボリュームを構築可能なディスクアレイの構成、当該論理ボリュームに格納されているデータにおける処理の優先度、及び当該論理ボリュームと同一のディスクアレイに存在することが許容されていない他の論理ボリュームの識別子を含む、
ことを特徴とする。
In order to achieve the above object, a storage system according to the present invention comprises a host device and a storage device in which a plurality of logical volumes recognizable from the host device are constructed,
The storage device physically divides a plurality of disk arrays and a storage area of each of the plurality of disk arrays into a plurality of extents, and allocates one or more extents to any one of the plurality of logical volumes. And a disk array control unit for managing the storage area,
When the extent of any extent does not satisfy the set condition, the disk array control unit specifies the logical volume to which the transfer source extent is assigned, using the extent as the transfer source extent,
Then, the policy table in which a policy for each of the plurality of logical volumes is registered is compared with the specified logical volume to specify the policy,
Based on the identified policy, a disk array that can be selected as a transfer destination of data stored in the transfer source extent is detected,
The policy for each of the plurality of logical volumes includes at least the configuration of a disk array that can construct the logical volume, the priority of processing in the data stored in the logical volume, and the same disk array as the logical volume. Including identifiers of other logical volumes that are not allowed to exist,
It is characterized by that.

また、上記目的を達成するため、本発明におけるディスクアレイ制御方法は、外部から認識可能な複数の論理ボリュームが構築されたストレージ装置において、それに備えられた複数のディスクアレイを制御するための方法であって、
(a)前記複数のディスクアレイそれぞれの記憶領域を複数個のエクステントに物理的に分割し、一又は二以上の前記エクステントを前記複数の論理ボリュームのいずれかに割り当てる、ステップと、
(b)いずれかのエクステントの負荷が設定された条件を満たさない場合に、当該エクステントを移転元エクステントとして、前記移転元エクステントが割り当てられている論理ボリュームを特定する、ステップと、
(c)前記複数の論理ボリュームそれぞれ毎の、当該論理ボリュームを構築可能なディスクアレイの構成、当該論理ボリュームに格納されているデータにおける処理の優先度、及び当該論理ボリュームと同一のディスクアレイに存在することが許容されていない他の論理ボリュームの識別子含む、ポリシーが登録されているポリシーテーブルに、前記(b)のステップで特定した論理ボリュームを照合して、そのポリシーを特定する、ステップと、
(d)前記(c)のステップで特定したポリシーに基づいて、前記移転元エクステントに記憶されているデータの移転先として選択可能なディスクアレイを検出する、ステップと、を有することを特徴とする。
In order to achieve the above object, the disk array control method according to the present invention is a method for controlling a plurality of disk arrays provided in a storage apparatus in which a plurality of logical volumes recognizable from the outside are constructed. There,
(A) physically dividing a storage area of each of the plurality of disk arrays into a plurality of extents, and allocating one or two or more extents to any of the plurality of logical volumes;
(B) when the load of any extent does not satisfy the set condition, the logical volume to which the transfer source extent is allocated is specified using the extent as the transfer source extent; and
(C) For each of the plurality of logical volumes, the configuration of the disk array capable of constructing the logical volume, the priority of processing in the data stored in the logical volume, and the same logical disk as the logical volume Collating the logical volume identified in step (b) with a policy table in which a policy is registered, including identifiers of other logical volumes that are not allowed to be identified, and identifying the policy; and
And (d) detecting a disk array that can be selected as a transfer destination of data stored in the transfer source extent based on the policy specified in the step (c). .

更に、上記目的を達成するため、本発明におけるプログラムは、外部から認識可能な複数の論理ボリュームが構築された複数のディスクアレイを、コンピュータによって制御するためのプログラムであって、
前記コンピュータに、
(a)前記複数のディスクアレイそれぞれの記憶領域を複数個のエクステントに物理的に分割し、一又は二以上の前記エクステントを前記複数の論理ボリュームのいずれかに割り当てる、ステップと、
(b)いずれかのエクステントの負荷が設定された条件を満たさない場合に、当該エクステントを移転元エクステントとして、前記移転元エクステントが割り当てられている論理ボリュームを特定する、ステップと、
(c)前記複数の論理ボリュームそれぞれ毎の、当該論理ボリュームを構築可能なディスクアレイの構成、当該論理ボリュームに格納されているデータにおける処理の優先度、及び当該論理ボリュームと同一のディスクアレイに存在することが許容されていない他の論理ボリュームの識別子含む、ポリシーが登録されているポリシーテーブルに、前記(b)のステップで特定した論理ボリュームを照合して、そのポリシーを特定する、ステップと、
(d)前記(c)のステップで特定したポリシーに基づいて、前記移転元エクステントに記憶されているデータの移転先として選択可能なディスクアレイを検出する、ステップと、を実行させることを特徴とする。
Furthermore, in order to achieve the above object, a program in the present invention is a program for controlling a plurality of disk arrays in which a plurality of logical volumes recognizable from the outside are constructed by a computer,
In the computer,
(A) physically dividing a storage area of each of the plurality of disk arrays into a plurality of extents, and allocating one or two or more extents to any of the plurality of logical volumes;
(B) when the load of any extent does not satisfy the set condition, the logical volume to which the transfer source extent is allocated is specified using the extent as the transfer source extent; and
(C) For each of the plurality of logical volumes, the configuration of the disk array capable of constructing the logical volume, the priority of processing in the data stored in the logical volume, and the disk array that is the same as the logical volume Collating the logical volume identified in step (b) with a policy table in which a policy is registered, including identifiers of other logical volumes that are not allowed to be identified, and identifying the policy; and
And (d) detecting a disk array that can be selected as a transfer destination of data stored in the transfer source extent based on the policy specified in the step (c). To do.

以上の特徴により、本発明における、ストレージ装置、ストレージシステム、ディスクアレイ制御方法、及びプログラムによれば、耐障害性及び性能の低下を抑制しつつ、ディスクアレイの記憶領域におけるデータ効率の向上を図ることが可能となる。   As described above, according to the storage apparatus, storage system, disk array control method, and program of the present invention, the data efficiency in the storage area of the disk array is improved while suppressing the failure resistance and performance degradation. It becomes possible.

図1は、本発明の実施の形態におけるストレージ装置及びストレージシステムの概略構成を示すブロック図である。FIG. 1 is a block diagram showing a schematic configuration of a storage apparatus and a storage system in an embodiment of the present invention. 図2は、本発明の実施の形態で実行されるディスクアレイの管理を説明する図である。FIG. 2 is a diagram illustrating disk array management executed in the embodiment of the present invention. 図3は、本発明の実施の形態で実行されるデータの再配置(エクステント最適化処理)の一例を示す図である。FIG. 3 is a diagram showing an example of data rearrangement (extent optimization processing) executed in the embodiment of the present invention. 図4は、本発明の実施の形態におけるディスクアレイ制御部の構成を示すブロック図である。FIG. 4 is a block diagram showing a configuration of the disk array control unit in the embodiment of the present invention. 図5は、図4に示されたディスクコントローラの構成を示すブロック図である。FIG. 5 is a block diagram showing the configuration of the disk controller shown in FIG. 図6は、本発明の実施の形態で利用されるポリシーテーブルの一例を示す図である。FIG. 6 is a diagram showing an example of a policy table used in the embodiment of the present invention. 図7は、処理の優先度に基づく処理を示す図である。FIG. 7 is a diagram illustrating processing based on processing priority. 図8は、ディスク障害の回避のためのデータ配置の例を示す図である。FIG. 8 is a diagram illustrating an example of data arrangement for avoiding a disk failure. 図9は、本発明の実施の形態で利用されるRAID対応テーブルの一例を示す図である。FIG. 9 is a diagram showing an example of a RAID correspondence table used in the embodiment of the present invention. 図10は、本発明の実施の形態におけるストレージ装置を構成するディスクアレイ制御部が実行する処理を示すフロー図である。FIG. 10 is a flowchart showing processing executed by the disk array control unit constituting the storage apparatus according to the embodiment of the present invention. 図11は、図10に示されたステップF9以降のディスクアレイ制御部の処理を示すフロー図である。FIG. 11 is a flowchart showing processing of the disk array control unit after step F9 shown in FIG. 図12は、本発明の実施の形態におけるストレージ装置を構成するディスクアレイ制御部が実行するエラー処理を示すフロー図である。FIG. 12 is a flowchart showing error processing executed by the disk array control unit constituting the storage apparatus according to the embodiment of the present invention. 図13は、本発明の実施の形態における変形例を説明するための図である。FIG. 13 is a diagram for explaining a modification of the embodiment of the present invention. 図14は、本発明の実施の形態における変形例において、ストレージ装置を構成するディスクアレイ制御部が実行するエラー処理を示すフロー図である。FIG. 14 is a flowchart showing error processing executed by the disk array control unit constituting the storage apparatus in the modification of the embodiment of the present invention.

(発明の概要)
本発明は、ストレージ装置に適用される。また、本発明において、複数のHDDで構成されたディスクアレイの記憶領域は、連続した一つの領域として捉えられ、ある一定のサイズの領域(エクステント)に分けられて管理される。更に、あるエクステントをHDD毎に分割したときの、HDD単体における、エクステントの構成領域は、エクステントチャンクと呼ばれる。
(Summary of Invention)
The present invention is applied to a storage apparatus. In the present invention, the storage area of a disk array composed of a plurality of HDDs is regarded as one continuous area, and is managed by being divided into areas (extents) of a certain size. Furthermore, an extent configuration area in a single HDD when an extent is divided for each HDD is called an extent chunk.

そして、本発明においては、背景技術の欄で示した特許文献1に開示の発明と同様に、ディスクアレイの記憶領域に設定されたいずれかのエクステントの負荷が高くなった場合に、そのエクステントに記憶されているデータは、他の負荷の低いエクステントに移転され、再配置される。   In the present invention, as in the invention disclosed in Patent Document 1 shown in the background art section, when the load of any extent set in the storage area of the disk array becomes high, the extent is stored. Stored data is transferred and relocated to other less loaded extents.

具体的には、例えば、あるエクステントチャンクにおいて、ディスクアレイから取得されたI/O存在率が予め設定された基準値より高くなっている場合に、他のエクステントチャンクのI/O存在率が参照される。そして、I/O存在率が基準値より低いエクステントチャンクが検出され、その中から移転先のエクステントチャンクが選択される。その後、I/O存在率が基準値より高いエクステントチャンクと、I/O存在率が基準値より低いエクステントチャンクとの間で、データの交換(データマイグレーション)が実行される。   Specifically, for example, in a certain extent chunk, when the I / O existence rate acquired from the disk array is higher than a preset reference value, the I / O existence rates of other extent chunks are referred to. Is done. Then, extent chunks having an I / O presence rate lower than the reference value are detected, and a transfer destination extent chunk is selected from the extent chunks. Thereafter, data exchange (data migration) is performed between extent chunks having an I / O presence rate higher than a reference value and extent chunks having an I / O presence rate lower than a reference value.

また、本発明においても、特許文献1に開示の発明と同様に、判断の指標となるI/O存在率としては、上述した「同時I/O存在率」、「エクステントチャンクI/O存在率」、「HDDI/O存在率」を用いることができる。このように、本発明は、特許文献1に開示の発明と共通する部分を有している。   Also in the present invention, as in the invention disclosed in Patent Document 1, as the I / O existence ratio serving as a determination index, the above-mentioned “simultaneous I / O existence ratio” and “extent chunk I / O existence ratio” are used. And “HDD I / O presence rate” can be used. As described above, the present invention has portions in common with the invention disclosed in Patent Document 1.

しかしながら、本発明では、移転先のエクステント(エクステントチャンク)を決定する際に、特許文献1に開示の発明と異なり、更に、別の判断指標として、ポリシーテーブルが用いられる。その他、RAID対応テーブル、チャンク対応テーブル、エクステント対応テーブルを用いることもできる。   However, in the present invention, when determining a transfer destination extent (extent chunk), unlike the invention disclosed in Patent Document 1, a policy table is used as another determination index. In addition, a RAID correspondence table, a chunk correspondence table, and an extent correspondence table can also be used.

ポリシー対応テーブル(後述の図6参照)は、ストレージ装置に接続されているホスト装置(サーバ群)によって認識される論理ボリューム毎に、ポリシーを登録している。ここで、論理ボリュームとは、ディスクアレイを論理的に分割して構築された論理ユニット(LU)をいい、各論理ユニットには、識別のために論理ユニット番号(LUN:Logical Unit Number)が付与されている。   The policy correspondence table (see FIG. 6 described later) registers a policy for each logical volume recognized by the host device (server group) connected to the storage device. Here, a logical volume refers to a logical unit (LU) constructed by logically dividing a disk array. Each logical unit is assigned a logical unit number (LUN) for identification. Has been.

また、登録されているポリシーとして、例えば、論理ボリューム(LU)毎のデータを配置可能なディスクアレイの処理性能及び耐障害性(RAID構成)、論理ボリューム(LU)毎のストレージ装置全体における処理の優先度等が挙げられる。   In addition, as registered policies, for example, processing performance and fault tolerance (RAID configuration) of a disk array capable of arranging data for each logical volume (LU), processing of the entire storage device for each logical volume (LU) A priority etc. are mentioned.

また、RAID対応テーブル(後述の図9参照)は、ストレージ装置に備えられたディスクアレイ毎のRAID構成の種類及び性能を登録している。チャンク対応テーブルは、エクステントと、それに対応するエクステントチャンクとを紐付けしている。チャンク対応テーブルにより、各エクステントチャンクがどのエクステントに所属しているかを確認することが可能となる。   Further, the RAID correspondence table (see FIG. 9 described later) registers the type and performance of the RAID configuration for each disk array provided in the storage apparatus. The chunk correspondence table links extents and extent chunks corresponding to the extents. With the chunk correspondence table, it is possible to confirm to which extent each extent chunk belongs.

エクステント対応テーブルは、論理ボリューム内の論理エクステント(LE:Logical Extent)と、それに対応する物理エクステント(PE:Physical Extent)とを紐付けしている。エクステント対応テーブルによれば、各論理ボリュームの論理エクステントが、ディスクアレイ上のどの物理エクステントに対応しているかを確認することが可能となる。なお、本明細書において、単に「エクステント」と表記されている場合は、「物理エクステント」を意味している。上記のように、物理エクステントと、論理エクステントとを区別する必要がある場合は、「論理エクステント」又は「物理エクステント」と表記される。   The extent correspondence table associates a logical extent (LE) in a logical volume with a corresponding physical extent (PE). According to the extent correspondence table, it is possible to confirm which physical extent on the disk array corresponds to the logical extent of each logical volume. In this specification, when “extent” is simply written, it means “physical extent”. As described above, when it is necessary to distinguish between a physical extent and a logical extent, they are represented as “logical extent” or “physical extent”.

ここで、本発明における処理の例について具体的に説明する。先ず、前提として、ディスクアレイの記憶領域に設定されたいずれかのエクステントチャンクの負荷が高くなっているとする。次に、チャンク対応テーブルが参照され、負荷が高いエクステントチャンクが所属するエクステントの特定が行われる。この特定されたエクステントに格納されているデータが移転(再配置)の対象となる。また、この特定されたエクステントを、以下においては「移転元エクステント」という。次に、エクステント対応テーブルが参照され、移転元エクステントが割り当てられている論理ボリューム(LUN)の検索が行われる。   Here, an example of processing in the present invention will be specifically described. First, as a premise, it is assumed that the load of any extent chunk set in the storage area of the disk array is high. Next, the chunk correspondence table is referred to, and the extent to which the extent chunk having a high load belongs is specified. Data stored in the specified extent is a target for transfer (relocation). The specified extent is hereinafter referred to as “transfer source extent”. Next, the extent correspondence table is referred to, and the logical volume (LUN) to which the transfer source extent is allocated is searched.

そして、検索の結果、割り当てられている論理ボリューム(LUN)が判明すると、予め作成されているポリシー対応テーブルが参照され、判明した論理ボリューム(LUN)のポリシーが求められる。次に、求められたポリシーがRAID対応テーブルに当てはめられ、データを再配置できるディスクアレイが存在するかどうかの判定が実行される。   If the assigned logical volume (LUN) is found as a result of the search, a policy correspondence table created in advance is referred to and the policy of the found logical volume (LUN) is obtained. Next, the obtained policy is applied to the RAID correspondence table, and a determination is made as to whether or not there is a disk array to which data can be rearranged.

判定の結果、ポリシーに適合するディスクアレイが存在しない場合は、データの再配置は行われない。データの再配置が行われない場合は、処理は終了する。また、再配置が行われることなく、処理が終了した場合は、ストレージ装置と接続されている管理用の端末装置に対して、再配置が実行できなかった旨と実行できなかった理由とが記述されたエラーメッセージが送信される。なお、以後の操作において、再配置が実行されることなく処理が終了した場合も、同様のエラーメッセージが管理用の端末装置に送信される。   As a result of the determination, if there is no disk array that conforms to the policy, data rearrangement is not performed. If the data is not rearranged, the process ends. In addition, when processing is completed without relocation, the fact that relocation could not be executed and the reason why it could not be executed are described for the management terminal connected to the storage device Error message is sent. Note that, in the subsequent operation, when the processing is completed without executing the rearrangement, a similar error message is transmitted to the management terminal device.

一方、判定の結果、ポリシーに適合するディスクアレイが存在する場合は、これら再配置が可能となる各ディスクアレイに対して、エクステントの負荷状況の調査が行われる。そして、調査の結果、ディスクアレイの全ての領域で、負荷が規定値以上の場合は、データの再配置は行われず、処理が終了する。これに対して、調査の結果、ディスクアレイのいずれかの記憶領域で負荷が規定値以下の場合は、続いて次の処理が行われる。   On the other hand, if there is a disk array that conforms to the policy as a result of the determination, the extent load status of each disk array that can be rearranged is checked. As a result of the investigation, if the load is greater than or equal to the specified value in all areas of the disk array, data rearrangement is not performed, and the process ends. On the other hand, if the result of the investigation shows that the load is below the specified value in any storage area of the disk array, the following processing is subsequently performed.

この場合は、先ず、ディスクアレイの記憶領域において最も負荷の低い記憶領域の検出が行われる。続いて、検出された記憶領域の中で、最も負荷の低いエクステントチャンクの検出が行われる。そして、チャンク対応テーブルが参照されて、検出されたエクステントチャンクが所属するエクステントが検出される。この検出されたエクステントは、移転先の候補となるエクステント(移転先候補エクステント)である。   In this case, first, the storage area with the lowest load is detected in the storage area of the disk array. Subsequently, the extent chunk with the lowest load is detected in the detected storage area. Then, referring to the chunk correspondence table, the extent to which the detected extent chunk belongs is detected. The detected extent is an extent that is a transfer destination candidate (transfer destination candidate extent).

続いて、エクステント対応テーブルが参照されて、移転先候補エクステントが割り当てられている論理ボリューム(LUN)が検出される。更に、ポリシー対応テーブルが参照されて、検出されたエクステントが割り当てられている論理ボリュームのポリシーが特定される。   Subsequently, the extent correspondence table is referenced to detect the logical volume (LUN) to which the transfer destination candidate extent is allocated. Further, referring to the policy correspondence table, the policy of the logical volume to which the detected extent is allocated is specified.

なお、移転先候補エクステントが、いずれの論理ボリュームにも割り当てられていない、つまり、未使用の領域である場合は、当該エクステントに対応するポリシーは存在しない。このため、その場合は、未使用領域に対して専用に設定されたポリシーを用いることができる。   If the transfer destination candidate extent is not allocated to any logical volume, that is, is an unused area, there is no policy corresponding to the extent. Therefore, in that case, a policy set exclusively for the unused area can be used.

次に、移転先候補エクステントが割り当てられている論理ボリュームのポリシーが判明した場合は、この判明したポリシーと、先に特定された、移転元エクステントが割り当てられた論理ボリュームのポリシーとが比較される。   Next, when the policy of the logical volume to which the transfer destination candidate extent is assigned is found, the found policy is compared with the policy of the logical volume to which the transfer source extent assigned earlier is assigned. .

上記比較では、例えば、移転元エクステントのデータを移転先候補エクステントが存在するディスクアレイに再配置可能かどうか等が検討される。そして、移転元エクステントのデータを、移転先候補エクステントの負荷の最も低いエクステントチャンクに移転できるどうかが判断される。   In the above comparison, for example, whether or not the data of the transfer source extent can be relocated to the disk array in which the transfer destination candidate extent exists is examined. Then, it is determined whether the data of the transfer source extent can be transferred to the extent chunk having the lowest load of the transfer destination candidate extent.

比較の結果、データの移転による再配置が不可能である場合は、次に負荷の低いエクステントチャンクについて、同様の判断が再度行われる。このとき、データの移転による再配置が不可能と判断されたエクステントチャンクは判断の対象から外される。   As a result of the comparison, if relocation by data transfer is impossible, the same determination is performed again for the extent chunk with the next lowest load. At this time, extent chunks determined to be impossible to be rearranged by data transfer are excluded from the determination.

一方、比較の結果、データの移転による再配置が可能となった場合は、この移転先候補エクステントが設定されているディスクアレイの領域について、割り当てられている全ての論理ボリュームを特定する。論理ボリュームの特定は、チャンク対応テーブル、エクステント対応テーブル、ポリシー対応テーブルを使用することによって、上述した方法を用いて行われる。   On the other hand, as a result of the comparison, when relocation by data transfer becomes possible, all the allocated logical volumes are specified for the area of the disk array in which this transfer destination candidate extent is set. The logical volume is specified by using the method described above by using the chunk correspondence table, extent correspondence table, and policy correspondence table.

そして、割り当てられている全ての論理ボリュームについて、ポリシーが判明すると、各ポリシーと、移転元エクステントの負荷状況とが、比較される。例えば、この比較では、既にディスクアレイの領域を使用している論理ボリュームでの処理が圧迫されないかどうか等が検討される。   When the policies are found for all the allocated logical volumes, the respective policies are compared with the load status of the transfer source extent. For example, in this comparison, it is examined whether processing in a logical volume that already uses a disk array area is not under pressure.

比較の結果、データの移転による再配置が不可能である場合は、この比較対象となった移転先候補エクステントのディスクアレイへのデータの移転は不可能であるので、次に負荷の低い別のエクステントチャンクを特定する。そして、再度、対応する論理ボリュームのポリシーの特定、ポリシーの比較等の上述の処理が行われる。   As a result of the comparison, if relocation by data transfer is impossible, it is impossible to transfer data to the disk array of the transfer destination candidate extent that is the comparison target. Identify extent chunks. Then, the above-described processes such as specifying the policy of the corresponding logical volume and comparing the policies are performed again.

一方、データの移転による再配置が可能である場合は、データの再配置を実行するモジュール等によって、データの移転が行われ、再配置が実行される。そして、再配置の終了後、エクステントテーブル及びチャンク対応テーブルは更新される。   On the other hand, when rearrangement by data transfer is possible, data transfer is performed by a module or the like that executes data rearrangement, and the rearrangement is executed. Then, after the rearrangement is completed, the extent table and the chunk correspondence table are updated.

なお、移転先候補エクステントが存在するディスクアレイの全ての領域で、データの移転による再配置ができない場合は、データの再配置は行われず、処理は終了される。このような処理とすることで、データの再配置を原因とした、ディスクアレイの耐障害性の低下、及び優先すべき処理の圧迫といった弊害が防止される。   If relocation by data transfer is not possible in all areas of the disk array in which the transfer destination candidate extent exists, data relocation is not performed and the process ends. By performing such processing, it is possible to prevent adverse effects such as a decrease in fault tolerance of the disk array and pressure on processing to be prioritized due to data rearrangement.

(本発明と特許文献1に開示の発明との比較)
特許文献1に開示の発明では、エクステント内のデータは、必ずしも同じ論理ボリュームに属しているとは限られていない。これに対して、本発明では、論理ボリュームのポリシーを使用することによって、データの再配置が実行されるので、一つのエクステント内のデータは全て同一の論理ボリュームに所属させることができる。
(Comparison between the present invention and the invention disclosed in Patent Document 1)
In the invention disclosed in Patent Document 1, the data in an extent does not necessarily belong to the same logical volume. On the other hand, in the present invention, data rearrangement is executed by using the logical volume policy, so that all data in one extent can belong to the same logical volume.

また、エクステント内のデータの単一論理ボリュームへの所属は、次のようにして行うことができる。先ず、各論理ボリュームへの書き込みが発生した場合、ディスクアレイへのI/Oはシーケンシャルに(即ち、一つずつ)行われる。そのため、例えば、各論理ボリュームへの書き込みを、規定値になるまで、ストレージ装置のキャッシュ上に、論理ボリューム毎に纏めておき、規定値に達してからHDDに書き込むようにすれば良い。   Also, the data in the extent can be assigned to a single logical volume as follows. First, when writing to each logical volume occurs, I / O to the disk array is performed sequentially (that is, one by one). Therefore, for example, the writing to each logical volume may be collected for each logical volume on the storage device cache until the specified value is reached, and written to the HDD after reaching the specified value.

また、詳細は後述するが、本発明では、データの再配置は、RAID構成の異なるディスクアレイ間でも実行可能である。但し、ディスクアレイを構成するRAID構成によってHDDの数が違い、また、エクステントの容量が変化するため、エクステントチャンク単位で移転されるデータの容量が設定されていると、エクステント間でのデータの再配置は困難となる。   Although details will be described later, in the present invention, data rearrangement can be executed between disk arrays having different RAID configurations. However, since the number of HDDs differs depending on the RAID configuration that constitutes the disk array, and the extent capacity changes, if the capacity of data transferred in units of extent chunks is set, the data can be regenerated between extents. Placement becomes difficult.

そこで、本発明では、エクステント単位で、移転されるデータの容量を設定できる。これにより、HDD一つ当たりに割り当てられているデータ量は、各ディスクアレイで異なるが、エクステントのデータ量はすべてのディスクアレイで同一容量となる。   Therefore, in the present invention, the capacity of data to be transferred can be set in units of extents. As a result, the amount of data allocated to each HDD is different for each disk array, but the extent data amount is the same for all disk arrays.

(実施の形態)
以下、本発明の実施の形態におけるストレージ装置、ストレージシステム、ディスクアレイ制御方法、及びプログラムについて、図1〜図12を参照しながら説明する。最初に、図1を用いて、本実施の形態におけるストレージ装置及びストレージシステムの構成について説明する。図1は、本発明の実施の形態におけるストレージ装置及びストレージシステムの概略構成を示すブロック図である。
(Embodiment)
Hereinafter, a storage apparatus, a storage system, a disk array control method, and a program according to an embodiment of the present invention will be described with reference to FIGS. First, the configuration of the storage apparatus and the storage system in this embodiment will be described with reference to FIG. FIG. 1 is a block diagram showing a schematic configuration of a storage apparatus and a storage system in an embodiment of the present invention.

図1に示すように、ストレージシステム1は、自律データ再配置型のシステムであり、ホスト装置10と、ストレージ装置S−1及びS−2とを備えている。ストレージ装置S−1及びS−2それぞれには、ホスト装置10から認識可能な複数の論理ボリュームが構築されている。ホスト装置10、ストレージ装置S−1、及びストレージ装置S−2は、ネットワーク20を介して互いに接続されている。   As shown in FIG. 1, the storage system 1 is an autonomous data rearrangement system, and includes a host device 10 and storage devices S-1 and S-2. In each of the storage devices S-1 and S-2, a plurality of logical volumes recognizable from the host device 10 are constructed. The host device 10, the storage device S-1, and the storage device S-2 are connected to each other via the network 20.

本実施の形態では、図1には、ストレージ装置S−1及びS−2の2台のみが図示されているが、ストレージ装置の数は特に限定されるものではない。ストレージシステム1は、1台以上のストレージ装置を備えていれば良い。また、ネットワーク20の具体例としては、ファイバチャネル(Fibre Channel:FC)、インターネットSCSI(Internet SCSI(iSCSI))等が挙げられる。   In the present embodiment, only two storage devices S-1 and S-2 are shown in FIG. 1, but the number of storage devices is not particularly limited. The storage system 1 only needs to include one or more storage devices. Specific examples of the network 20 include Fiber Channel (FC) and Internet SCSI (iSCSI).

更に、図1に示すように、ストレージ装置S−1及びS−2それぞれは、複数のディスクアレイA−i〜A−jと、ディスクアレイ制御部DE−nとを備えている。ディスクアレイ制御部DE−nは、ホスト装置10からの要求に応じて各ディスクアレイに対してアクセスを行うアレイコントローラである。なお、i、jは、それぞれ自然数であり、i<jの関係にある。nは、自然数であって、ストレージ装置に符号として付された数字に対応している。   Further, as shown in FIG. 1, each of the storage apparatuses S-1 and S-2 includes a plurality of disk arrays A-i to A-j and a disk array control unit DE-n. The disk array control unit DE-n is an array controller that accesses each disk array in response to a request from the host device 10. Note that i and j are natural numbers, and i <j. n is a natural number and corresponds to a number assigned as a code to the storage device.

また、本実施の形態では、図1に示すように、ストレージ装置S−1は、3つのディスクアレイA−1、A−2及びA−3を備えている。一方、ストレージ装置S−2は、3つのディスクアレイA−4、A−5及びA−6を備えている。また、ディスクアレイA−1、A−2、A−3、A−4、A−5及びA−6には、それぞれ識別番号#1、#2、#3、#4、#5、#6が付与されている。なお、各ストレージ装置において、ディスクアレイの数は複数であれば良く、特に限定されるものではない。以降の説明では、ディスクアレイは、単に「アレイ」と記載する。   Further, in the present embodiment, as shown in FIG. 1, the storage apparatus S-1 includes three disk arrays A-1, A-2, and A-3. On the other hand, the storage apparatus S-2 includes three disk arrays A-4, A-5, and A-6. The disk arrays A-1, A-2, A-3, A-4, A-5, and A-6 have identification numbers # 1, # 2, # 3, # 4, # 5, and # 6, respectively. Is granted. In each storage apparatus, the number of disk arrays may be plural, and is not particularly limited. In the following description, the disk array is simply referred to as “array”.

また、各アレイは、少なくとも1台のHDD(ディスク装置)を備えていれば良く、各アレイが備えるHDDの数は特に限定されるものではない。本実施の形態では、図1に示すように、ストレージ装置S−1のアレイA−1及びA−2、及びストレージ装置S−2のアレイA−4及びA−5は、例えば4台のHDD100を備えている。アレイA−3及びA−6は3台のHDD100を備えている。更に、図示されていないが、ストレージ装置S−1及びS−2において、各HDD100には、当該ストレージ装置S−1及びS−2内で固有の識別番号(HDD番号)が割り当てられている。   Each array only needs to include at least one HDD (disk device), and the number of HDDs included in each array is not particularly limited. In this embodiment, as shown in FIG. 1, the arrays A-1 and A-2 of the storage device S-1 and the arrays A-4 and A-5 of the storage device S-2 are, for example, four HDDs 100. It has. The arrays A-3 and A-6 include three HDDs 100. Further, although not shown, in the storage apparatuses S-1 and S-2, each HDD 100 is assigned a unique identification number (HDD number) in the storage apparatuses S-1 and S-2.

また、本実施の形態では、アレイA−1〜A−6それぞれは、例えば、RAID5又はRAID10が適用されたRAID構成を備えている。各アレイの記憶領域は、当該アレイA−iを構成するHDD100の組み合わせによって構築され、各HDD100の記憶領域を連続した1つの記憶領域として捉えることで定義される。   In this embodiment, each of the arrays A-1 to A-6 has a RAID configuration to which, for example, RAID5 or RAID10 is applied. The storage area of each array is constructed by combining the HDDs 100 that constitute the array A-i, and is defined by taking the storage area of each HDD 100 as one continuous storage area.

そして、ストレージ装置S−1において、ディスクアレイ制御部DE−1は、アレイA−1〜A−3それぞれの記憶領域を複数個のエクステントに物理的に分割し、一又は二以上のエクステントをいずれかの論理ボリュームに割り当てる。ディスクアレイ制御部DE−1は、アレイA−1〜A−3それぞれの記憶領域をエクステント単位で管理している。   In the storage apparatus S-1, the disk array control unit DE-1 physically divides each storage area of the arrays A-1 to A-3 into a plurality of extents, and either one or two or more extents. Assign to one of these logical volumes. The disk array control unit DE-1 manages the storage areas of the arrays A-1 to A-3 in extent units.

同様に、ストレージ装置S−2では、ディスクアレイ制御部DE−2は、アレイA−4〜A−6それぞれの記憶領域を複数個のエクステントに物理的に分割し、一又は二以上のエクステントをいずれかの論理ボリュームに割り当てる。ディスクアレイ制御部DE−2も、アレイA−4〜A−6それぞれの記憶領域をエクステント単位で管理している。   Similarly, in the storage apparatus S-2, the disk array control unit DE-2 physically divides each storage area of the arrays A-4 to A-6 into a plurality of extents, and one or more extents are allocated. Assign to one of the logical volumes. The disk array control unit DE-2 also manages the storage areas of the arrays A-4 to A-6 in extent units.

具体的には、ディスクアレイ制御部DE−1及びDE−2がアレイの記憶領域を物理的に分割して設定するエクステントは、物理エクステントである。ディスクアレイ制御部DE−1及びDE−2は、論理ボリュームを構成する各論理エクステントに、各物理エクステンを割り付けている。なお、論理エクステントの数は、物理エクステンとの数と一致している。   Specifically, the extents that the disk array control units DE-1 and DE-2 set by physically dividing the storage area of the array are physical extents. The disk array control units DE-1 and DE-2 assign each physical extent to each logical extent that constitutes the logical volume. Note that the number of logical extents matches the number of physical extents.

また、本実施の形態では、論理エクステントと物理エクステントとは、エクステントテーブルによって対応付けられている。エクステントテーブルは、マッピングテーブルによって管理されている。ここで、論理エクステントをLEとし、各LEには、LE1、LE2、・・・のように識別番号が付されているとする。同様に、物理エクステントをPEとし、各PEには、PE1、PE2、・・・のように識別番号が付されているとする。   In the present embodiment, the logical extent and the physical extent are associated with each other by the extent table. The extent table is managed by a mapping table. Here, it is assumed that the logical extent is LE, and each LE is assigned an identification number such as LE1, LE2,. Similarly, it is assumed that the physical extent is a PE, and each PE is assigned an identification number such as PE1, PE2,.

例えば、LE1に対応付けられるPEが、PE1からPE2に変更されるとする。この場合、マッピングテーブルにおいて、LE1とPE1との対応を表すマッピング情報は、LE1とPE2との対応を表すマッピング情報に更新される。これにより、エクステントテーブルも更新される。なお、既に述べているが、PEとLEとを区別する必要がある場合を除き、PEは単に「エクステント」と表記する。   For example, assume that the PE associated with LE1 is changed from PE1 to PE2. In this case, in the mapping table, the mapping information indicating the correspondence between LE1 and PE1 is updated to the mapping information indicating the correspondence between LE1 and PE2. As a result, the extent table is also updated. Although already described, PE is simply expressed as “extent” unless it is necessary to distinguish between PE and LE.

また、ディスクアレイ制御部DE−1及びDE−2は、いずれかのエクステントの負荷が設定された条件を満たさない場合に、当該エクステントを移転元エクステントとして、移転元エクステントが割り当てられている論理ボリュームを特定する。そして、ディスクアレイ制御部DE−1及びDE−2は、論理ボリューム毎のポリシーが登録されているポリシーテーブル(後述の図6参照)に、特定した論理ボリュームを照合して、そのポリシーを特定する。その後、ディスクアレイ制御部DE−1及びDE−2は、特定したポリシーに基づいて、移転元エクステントに記憶されているデータの移転先として選択可能なディスクアレイを検出する。   Also, the disk array control units DE-1 and DE-2 are logical volumes to which a transfer source extent is assigned using the extent as a transfer source extent when the load of any extent does not satisfy the set condition. Is identified. Then, the disk array control units DE-1 and DE-2 identify the policy by collating the identified logical volume with a policy table (see FIG. 6 described later) in which a policy for each logical volume is registered. . Thereafter, the disk array control units DE-1 and DE-2 detect a disk array that can be selected as a transfer destination of data stored in the transfer source extent based on the identified policy.

論理ボリューム毎のポリシーには、当該論理ボリュームを構築可能なディスクアレイの構成、当該論理ボリュームに格納されているデータにおける処理の優先度、及び当該論理ボリュームと同一のアレイに存在することが許容されていない他の論理ボリュームの識別子が少なくとも含まれている。なお、論理ボリュームの識別子は、上述した論理ユニット番号(LUN)を意味する。   The policy for each logical volume is permitted to exist in the same array as the logical volume, the configuration of the disk array in which the logical volume can be constructed, the processing priority of the data stored in the logical volume, and so on. It contains at least the identifiers of other logical volumes that are not. The logical volume identifier means the logical unit number (LUN) described above.

このように、本実施の形態では、いずれかのエクステントの負荷が高くなり、データの移転が必要となった場合に、移転元エクステントが割り当てられた論理ボリュームのポリシーが特定され、ポリシーに基づいて移転先のアレイが選択される。そして、ポリシーには、移転先のアレイに求められる構成が含まれるため、耐障害性の低下が抑制される。また、データ処理の優先度も含まれるため、移転先での処理性能の低下も抑制される。更に、ポリシーには、同一のアレイに構築できない論理ボリュームのLUNも含まれているため、物理的に別々の領域に保存すべきデータが同一のアレイに保存されることが回避され、この点でも耐障害性の低下が抑制される。   As described above, in this embodiment, when the load of any extent becomes high and data transfer becomes necessary, the policy of the logical volume to which the transfer source extent is allocated is specified, and the policy is based on the policy. The destination array is selected. Since the policy includes a configuration required for the array at the transfer destination, a reduction in fault tolerance is suppressed. In addition, since the priority of data processing is included, a decrease in processing performance at the transfer destination is also suppressed. Furthermore, since the policy includes LUNs of logical volumes that cannot be constructed in the same array, it is avoided that data to be physically stored in separate areas is stored in the same array. A decrease in fault tolerance is suppressed.

これらの点から、ストレージ装置DE−1及びDE−2、更に、ストレージシステム1によれば、耐障害性及び性能の低下を抑制しつつ、アレイの記憶領域におけるデータ効率の向上を図ることが可能となる。   From these points, according to the storage devices DE-1 and DE-2 and the storage system 1, it is possible to improve the data efficiency in the storage area of the array while suppressing the failure tolerance and the performance degradation. It becomes.

ここで、ストレージ装置DE−1、ストレージ装置DE−2、及びストレージシステム1の構成について、図2〜図7を用いて更に具体的に説明する。先ず、図2に基づいて、ディスクアレイの記憶領域のエクステントを用いた管理について説明する。図2は、本発明の実施の形態で実行されるディスクアレイの管理を説明する図である。   Here, the configurations of the storage device DE-1, the storage device DE-2, and the storage system 1 will be described more specifically with reference to FIGS. First, the management using the extent of the storage area of the disk array will be described with reference to FIG. FIG. 2 is a diagram illustrating disk array management executed in the embodiment of the present invention.

図2に示すように、複数のHDD100で構成されたアレイの記憶領域は、複数個のエクステントに分割されて管理される。またあるエクステントをHDD毎に分割したときの、HDD単体における、エクステントの構成領域が、エクステントチャンクとなる。   As shown in FIG. 2, the storage area of the array composed of a plurality of HDDs 100 is divided into a plurality of extents and managed. In addition, when an extent is divided for each HDD, the extent configuration area in the single HDD is an extent chunk.

ディスクアレイ制御部DE−1及びDE−2は、上述したように、ホスト装置10からの指示に応じて、アレイA−iに構築された論理ボリュームにアクセスする。そして、ディスクアレイ制御部DE−1及びDE−2は、エクステントテーブルによって、論理ボリュームとそれを構成するLEとの対応関係、及び各LEと当該LEがマッピングされるPEとの対応関係を管理する。   As described above, the disk array control units DE-1 and DE-2 access the logical volume constructed in the array A-i in response to an instruction from the host device 10. Then, the disk array control units DE-1 and DE-2 manage the correspondence relationship between the logical volume and the LEs constituting the logical volume and the correspondence relationship between each LE and the PE to which the LE is mapped, using the extent table. .

また、ディスクアレイ制御部DE−1及びDE−2は、各エクステントに付与されたエクステント番号と、各HDDに付与されたHDD番号との組み合わせにより、特定のエクステントチャンクを、ストレージ装置SE−n内で一意に認識することが出来る。   In addition, the disk array control units DE-1 and DE-2 assign specific extent chunks in the storage device SE-n by combining the extent number assigned to each extent and the HDD number assigned to each HDD. Can be recognized uniquely.

更に、ディスクアレイ制御部DE−1及びDE−2は、データの自律的な再配置を実行する。つまり、ディスクアレイ制御部DE−1及びDE−2は、当該ディスクアレイ制御部が対応するストレージ装置内のアレイ間において、又は他のディスクアレイ制御部が対応するストレージ装置のアレイとの間において(ストレージ装置を跨って)データを移動させる。   Further, the disk array control units DE-1 and DE-2 execute autonomous rearrangement of data. In other words, the disk array control units DE-1 and DE-2 are connected between arrays in a storage device supported by the disk array control unit, or between storage device arrays supported by other disk array control units ( Move data (across storage devices).

具体的には、ディスクアレイ制御部DE−1及びDE−2は、二つのエクステントのデータのコピーを行い、これらコピーしたデータの保存先のPEを、ストレージ装置内で、又はストレージ装置間を跨って入れ替え、これらコピーしたデータを再配置する。   Specifically, the disk array control units DE-1 and DE-2 copy data of two extents, and the storage destination PE of the copied data is stored within the storage apparatus or across the storage apparatuses. And replace these copied data.

このようなデータの再配置は、一般に最適化と呼ばれている。但し、本発明では、データが格納されるエクステントが入れ替えられて、データの再配置が行われるため、「エクステント最適化」と呼ぶことにする。   Such data rearrangement is generally called optimization. However, in the present invention, since extents in which data is stored are replaced and data rearrangement is performed, this is referred to as “extent optimization”.

次に、図3を用いて、ディスクアレイ制御部DE−1又はDE−2が、上述のエクステント最適化を、あるアレイ内のエクステントと、別のアレイ内のエクステントとの間で実行する例について説明する。図3は、本発明の実施の形態で実行されるデータの再配置(エクステント最適化処理)の一例を示す図である。   Next, referring to FIG. 3, an example in which the disk array control unit DE-1 or DE-2 executes the above extent optimization between an extent in one array and an extent in another array. explain. FIG. 3 is a diagram showing an example of data rearrangement (extent optimization processing) executed in the embodiment of the present invention.

図3に示すように、アレイ(#X1)においては、同時I/O存在率が予め設定された基準値よりも高いエクステントが存在している。そして、このエクステントを構成するエクステントチャンクのうち、最も待機中のI/Oが存在する度合いが高いのが、アレイ(#X1)を構成するHDD100aのエクステントチャンクAである。つまり、エクステントチャンクAは、HDD100aの中で最も負荷の高いエクステントチャンクである。   As shown in FIG. 3, in the array (# X1), there is an extent whose simultaneous I / O existence rate is higher than a preset reference value. Of the extent chunks constituting this extent, the extent chunk A of the HDD 100a constituting the array (# X1) has the highest degree of existence of the waiting I / O. That is, extent chunk A is the extent chunk with the highest load in HDD 100a.

また、図3に示すように、アレイ(#X2)においては、同時I/O存在率が予め設定された基準値よりも低いエクステントが多く存在している。そして、このエクステントを構成するエクステントチャンクのうち、最も待機中のI/Oが存在する度合いが低いのが、アレイ(#X2)を構成するHDD100bのエクステントチャンクBである。つまり、エクステントチャンクBは、HDD100bの中で最も負荷の低いエクステントチャンクである。   Also, as shown in FIG. 3, in the array (# X2), there are many extents whose simultaneous I / O existence ratio is lower than a preset reference value. Of the extent chunks constituting this extent, the extent chunk B of the HDD 100b constituting the array (# X2) has the lowest degree of existence of the waiting I / O. That is, extent chunk B is the extent chunk with the lowest load in HDD 100b.

図3の例では、エクステントチャンクAとエクステントチャンクBとの二つのエクステント間で、エクステント最適化が実行される。この結果、HDD100a及びHDDbにおいて、記憶領域の利用効率が向上し、更に、HDDにおける処理性能も向上することとなる。   In the example of FIG. 3, extent optimization is performed between two extents of extent chunk A and extent chunk B. As a result, in the HDD 100a and the HDDb, the use efficiency of the storage area is improved, and the processing performance in the HDD is also improved.

次に、図4を用いて、ディスクアレイ制御部の構成について具体的に説明する。図4は、本発明の実施の形態におけるディスクアレイ制御部の構成を示すブロック図である。但し、本実施の形態では、ディスクアレイ制御部DE−1及びDE−2は、同一の構成を備えている。更に、本実施の形態において、ストレージ装置が増加した場合は、ディスクアレイ制御部DE−1及びDE−2と同一の構成を備えたディスクアレイ制御部が増加することとなる。よって、以下においては、ディスクアレイ制御部DE−nを例として挙げて説明を行う。なお、nは上述したように自然数である。   Next, the configuration of the disk array control unit will be specifically described with reference to FIG. FIG. 4 is a block diagram showing a configuration of the disk array control unit in the embodiment of the present invention. However, in this embodiment, the disk array control units DE-1 and DE-2 have the same configuration. Furthermore, in this embodiment, when the number of storage devices increases, the number of disk array control units having the same configuration as the disk array control units DE-1 and DE-2 increases. Therefore, in the following description, the disk array control unit DE-n is taken as an example. Note that n is a natural number as described above.

図4に示すように、本実施の形態において、ディスクアレイ制御部DE−nは、ホストコントローラC1と、メインコントローラC2と、ディスクコントローラC3と、キャッシュメモリC4と、メモリC5とを備えている。   As shown in FIG. 4, in this embodiment, the disk array controller DE-n includes a host controller C1, a main controller C2, a disk controller C3, a cache memory C4, and a memory C5.

ホストコントローラC1は、ホスト装置10(図1参照)にネットワーク20(図4において図示せず)を介して接続され、ホスト装置10との間で通信処理を実行する。具体的には、ホストコントローラC1は、ホスト装置10との間でデータを送受信するポートと、データ及びコマンドの管理及び処理を行うコントローラ(ドライバ)を有している。   The host controller C1 is connected to the host device 10 (see FIG. 1) via the network 20 (not shown in FIG. 4), and executes communication processing with the host device 10. Specifically, the host controller C1 has a port for transmitting and receiving data to and from the host device 10, and a controller (driver) that manages and processes data and commands.

メインコントローラC2は、ディスクアレイ制御部DE−n全体を管理している。具体的には、メインコントローラC2は、キャッシュ制御、ディスクのレプリケーション等のストレージ機能の制御を行っている。   The main controller C2 manages the entire disk array control unit DE-n. Specifically, the main controller C2 controls storage functions such as cache control and disk replication.

キャッシュC4は、メインコントローラC2によって処理された各データ、例えば、ホスト装置10と各アレイとの間でのI/Oで発生したデータを一時的に格納し、処理の高速化を促進している。   The cache C4 temporarily stores each data processed by the main controller C2, for example, data generated by I / O between the host device 10 and each array, and accelerates the processing speed. .

ディスクコントローラC3は、アレイを構成している各HDD100との間で通信処理を行い、最適化処理を実行する。具体的には、ディスクコントローラC3は、RAID制御、各HDD100に接続される接続ポートの制御等を行っている。また、ディスクコントローラC3は、エクステント対応テーブル、チャンク対応テーブルといった各テーブルの管理も行っている。   The disk controller C3 performs communication processing with each HDD 100 constituting the array and executes optimization processing. Specifically, the disk controller C3 performs RAID control, control of connection ports connected to each HDD 100, and the like. The disk controller C3 also manages each table such as an extent correspondence table and a chunk correspondence table.

また、ディスクコントローラC3は、各HDDの待機I/Oを検出し、上述した、同時I/O存在率、HDDI/O存在率及びエクステントチャンクI/O存在率を算出する。更に、ディスクコントローラC3は、これらの存在率に基づいて上述のエクステント最適化を実行する。また、ディスクコントローラC3による処理は、メモリ5C上で行われる。メモリC5は、ディスクコントローラC3が実行する最適化処理で扱われるデータを記憶する。   Further, the disk controller C3 detects the standby I / O of each HDD, and calculates the above-described simultaneous I / O presence rate, HDD I / O presence rate, and extent chunk I / O presence rate. Further, the disk controller C3 performs the extent optimization described above based on these existence rates. The processing by the disk controller C3 is performed on the memory 5C. The memory C5 stores data handled in the optimization process executed by the disk controller C3.

また、本実施の形態では、ディスクアレイ制御部DE−nは、後述する本実施の形態におけるプログラムをコンピュータに実行させることによって実現できる。この場合、コンピュータのCPU(Central Processing Unit)が、ホストコントローラC1、メインコントローラC2、及びディスクコントローラC3として機能する。また、コンピュータに備えられたメモリが、キャッシュメモリC4及びメモリC5として機能する。   In the present embodiment, the disk array control unit DE-n can be realized by causing a computer to execute a program in the present embodiment to be described later. In this case, a CPU (Central Processing Unit) of the computer functions as a host controller C1, a main controller C2, and a disk controller C3. Further, the memory provided in the computer functions as the cache memory C4 and the memory C5.

次に、図5〜図9を用いて、図4に示したディスクコントローラC3の構成及び機能を具体的に説明する。図5は、図4に示されたディスクコントローラの構成を示すブロック図である。   Next, the configuration and functions of the disk controller C3 shown in FIG. 4 will be specifically described with reference to FIGS. FIG. 5 is a block diagram showing the configuration of the disk controller shown in FIG.

図5に示すように、ディスクコントローラC3は、自律最適化制御エンジンD2と、I/O情報採取モジュールD3と、チャンク対応テーブルD4と、エクステント対応テーブルD5と、ポリシー対応テーブルD6と、RAID対応テーブルD7と、エクステント再配置実行モジュールD8とを備えている。また、ディスクコントローラC3は、外部から入力されたデータを受け付ける入力モジュールD1と、メモリC5と、アレイを構成する各HDD100とに接続されている。   As shown in FIG. 5, the disk controller C3 includes an autonomous optimization control engine D2, an I / O information collection module D3, a chunk correspondence table D4, an extent correspondence table D5, a policy correspondence table D6, and a RAID correspondence table. D7 and an extent relocation execution module D8. Further, the disk controller C3 is connected to an input module D1 that receives data input from the outside, a memory C5, and each HDD 100 that constitutes the array.

また、図示していないが、各HDD100には、その記憶領域で発生したI/Oの数を計測するHDDドライバが備えられている。HDDドライバは、計測したI/Oの数をメモリC5に記憶させる。I/O情報採取モジュールD3は、メモリC5に記憶されている各HDDのI/O数を採取し、設定された周期でサンプリングを行ってI/O存在率を算出する。   Although not shown, each HDD 100 is provided with an HDD driver that measures the number of I / Os generated in the storage area. The HDD driver stores the measured number of I / Os in the memory C5. The I / O information collection module D3 collects the number of I / Os of each HDD stored in the memory C5, performs sampling at a set cycle, and calculates the I / O existence rate.

自律最適化制御エンジンD2は、I/O情報採取モジュールD3によって算出されたI/O存在率等に基づいて、エクステント最適化が必要かどうかを判定する。判定の結果、必要である場合は、自立最適化制御エンジンD2は、チャンク対応テーブルD4、エクステント対応テーブルD5、ポリシー対応テーブルD6、RAID対応テーブルD7を参照し、エクステント最適化が可能かどうかを判定する。   The autonomous optimization control engine D2 determines whether or not extent optimization is necessary based on the I / O presence rate calculated by the I / O information collection module D3. As a result of the determination, if necessary, the independent optimization control engine D2 refers to the chunk correspondence table D4, the extent correspondence table D5, the policy correspondence table D6, and the RAID correspondence table D7, and determines whether extent optimization is possible. To do.

また、エクステント最適化が可能であると判定された場合は、自律最適化制御エンジンD2は、エクステント最適化に関する情報を、エクステント再配置実行モジュールD8に渡す。エクステント再配置実行モジュールD8は、渡された情報に基づいて、エクステント最適化を実行する。   When it is determined that extent optimization is possible, the autonomous optimization control engine D2 passes information on extent optimization to the extent relocation execution module D8. The extent rearrangement execution module D8 executes extent optimization based on the passed information.

また、本実施の形態では、自律最適化制御エンジンD2での判定に用いられる基準値、及びポリシー対応テーブルD6は、入力モジュールD1によって入力される。入力モジュールD1は、ディスアレイ制御部DE−nにおいて、外部とデータのやり取りを行うモジュールであり、例えば、ストレージ管理ソフトといったアプリケーションソフトウェアによって実現できる。   In the present embodiment, the reference value used for determination by the autonomous optimization control engine D2 and the policy correspondence table D6 are input by the input module D1. The input module D1 is a module that exchanges data with the outside in the disarray control unit DE-n, and can be realized by application software such as storage management software, for example.

更に、本実施の形態で用いられるテーブルのうち、チャンク対応テーブルD4と、エクステント対応テーブルD5とは、マッピングテーブルによって実現される。ポリシー対応テーブルD6については、図6を用いて説明する。また、RAID対応テーブルD7については、図9を用いて説明する。   Further, among the tables used in the present embodiment, the chunk correspondence table D4 and the extent correspondence table D5 are realized by a mapping table. The policy correspondence table D6 will be described with reference to FIG. The RAID correspondence table D7 will be described with reference to FIG.

図6は、本発明の実施の形態で利用されるポリシーテーブルの一例を示す図である。図6に示すように、ポリシー対応テーブルには、論理ボリューム毎のポリシーが登録されている。図6の例では、各論理ボリュームは、LUN(論理ユニット番号)によって区別されている。LUNは、上述しているように、ストレージ装置内の論理ボリュームに一意に割り当てられている番号であり、LUNにより各論理ボリュームの識別が可能となる。また、ポリシーとして、「許容アレイ構成」、「許容性能」、「処理の優先度」、「共有不可LUN」、及び「許容業務負荷レベル」が記述されている。   FIG. 6 is a diagram showing an example of a policy table used in the embodiment of the present invention. As shown in FIG. 6, a policy for each logical volume is registered in the policy correspondence table. In the example of FIG. 6, each logical volume is distinguished by a LUN (logical unit number). As described above, the LUN is a number uniquely assigned to the logical volume in the storage apparatus, and each logical volume can be identified by the LUN. In addition, “allowable array configuration”, “allowable performance”, “processing priority”, “non-sharable LUN”, and “allowable work load level” are described as policies.

許容アレイ構成は、対応する論理ボリュームを構築可能なディスクアレイの構成、具体的にはRAID構成を示している。言い換えると、許容アレイ構成に記述されたアレイ構成とすれば、対応する論理ボリュームのデータを保持することが可能となる。そして、許容アレイ構成として記述されている構成を持ったアレイを、移転先のアレイとして選択すれば、再配置後において耐障害性(冗長性)及び性能を確保できる。また、記述されている構成以外の構成を持ったアレイを移転先として選択しないことにより、最適化による耐障害性(冗長性)及び性能の劣化を防ぐことが出来る。   The allowed array configuration indicates a configuration of a disk array that can construct a corresponding logical volume, specifically, a RAID configuration. In other words, if the array configuration described in the allowable array configuration is used, the data of the corresponding logical volume can be held. If an array having a configuration described as an allowable array configuration is selected as the transfer destination array, fault tolerance (redundancy) and performance can be ensured after rearrangement. Further, by not selecting an array having a configuration other than the described configuration as a transfer destination, it is possible to prevent fault tolerance (redundancy) and performance degradation due to optimization.

「許容性能」は、対応する論理ボリュームを構築可能なアレイの性能を示す指標を示している。「許容アレイ構成」によってもアレイの性能は判断されるが、「許容性能」によって、より細かくアレイの性能は判断される。更に、許容性能として記述されている指標を参照することにより、移転先のアレイに、移転元のエクステントのデータを再配置することが可能かどうかを判断できる。   “Allowable performance” indicates an index indicating the performance of the array capable of constructing the corresponding logical volume. The performance of the array is also judged by “allowable array configuration”, but the performance of the array is judged more finely by “allowable performance”. Furthermore, by referring to the index described as the allowable performance, it can be determined whether or not the data of the extent of the transfer source can be rearranged in the transfer destination array.

そして、許容性能に示されているレベル以上の性能を持ったアレイを、移転先のアレイとして選択して、エクステント最適化を実行すれば、最適化による性能の劣化をより確実に防ぐことが出来る。具体的には、移転元のエクステントが対応するLUNの行の許容性能がBであるとすると、移転先のアレイとしては、許容性能がB以上、つまりA又はBのアレイが選択されれば良い。なお、図6の例では、A、B、Cの順に性能が高くなっている。また、以後、同様の指標が用いられている場合も、同様の順で上位から下位が示されるものとする。   If an array with performance exceeding the level indicated in the permissible performance is selected as the destination array and extent optimization is performed, performance degradation due to optimization can be prevented more reliably. . Specifically, if the allowable performance of the LUN row corresponding to the transfer source extent is B, an array having an allowable performance of B or higher, that is, an array of A or B may be selected as the transfer destination array. . In the example of FIG. 6, the performance increases in the order of A, B, and C. In addition, hereinafter, even when the same index is used, it is assumed that the lower order is shown in the same order.

「処理の優先度」は、対応する論理ボリュームに格納されているデータにおける処理の優先度を示している。言い換えると、処理の優先度は、対象のLUNの論理ボリュームを使用している業務の優先度を示している。処理の優先度を参照すれば、移転先のエクステントと、移転元のエクステントとについて、処理の優先度を比較することができる。そして、比較の結果から、移転元のエクステントの優先度が移転先のエクステントの優先度より低い場合は、エクステント最適化を実行しないようにするのが良い。   “Processing priority” indicates the processing priority in the data stored in the corresponding logical volume. In other words, the processing priority indicates the priority of the business using the logical volume of the target LUN. By referring to the processing priority, the processing priority can be compared between the transfer destination extent and the transfer source extent. Then, as a result of the comparison, when the priority of the transfer source extent is lower than the priority of the transfer destination extent, it is preferable not to execute extent optimization.

ここで、図7を用いて処理の優先度について説明する。図7は、処理の優先度に基づく処理を示す図である。具体的には、図7に示すように、移転元のエクステントが割り当てられている論理ボリュームY2の処理の優先度がBであるとする。この場合、移転先のアレイとしては、処理の優先度がA以上の論理ボリュームに割り当てられているエクステントが選択されないようにするのが良い。   Here, the priority of processing will be described with reference to FIG. FIG. 7 is a diagram illustrating processing based on processing priority. Specifically, as shown in FIG. 7, it is assumed that the priority of processing of the logical volume Y2 to which the transfer source extent is allocated is B. In this case, it is preferable not to select an extent allocated to a logical volume whose processing priority is A or higher as the transfer destination array.

つまり、優先度がAの論理ボリュームY1が割り当てられたエクステントではなく、優先度がBの論理ボリュームY3が割り当てられたエクステントが選択され、これに対してデータの再配置(エクステント最適化)が実行される。これにより、重要な業務の処理に余計な負荷が与えられてしまう事態を回避することが可能となる。   In other words, not the extent to which the logical volume Y1 with the priority A is allocated, but the extent to which the logical volume Y3 with the priority B is allocated is selected, and data rearrangement (extent optimization) is performed on this extent. Is done. As a result, it is possible to avoid a situation in which an excessive load is applied to the processing of important work.

「共有不可LUN」は、対応する論理ボリュームと同一のアレイに存在することが許容されていない他の論理ボリュームの識別子を示している。つまり、共有不可LUNには、同一のアレイに配置できないLUNが記述されている。例えば、使用されているデータの中には、ある二つのデータがディスク障害を想定して同じディスクに存在してはいけない場合がある。この点について図8を用いて説明する。図8は、ディスク障害の回避のためのデータ配置の例を示す図である。   “Non-sharable LUN” indicates an identifier of another logical volume that is not allowed to exist in the same array as the corresponding logical volume. That is, the LUN that cannot be arranged in the same array is described in the non-sharable LUN. For example, among the data used, there are cases where two pieces of data should not exist on the same disk assuming a disk failure. This point will be described with reference to FIG. FIG. 8 is a diagram illustrating an example of data arrangement for avoiding a disk failure.

図8に示すように、データベースサーバH−1、ファイルサーバH−2、及びファイルサーバH−3のデータがストレージ装置S−nに格納されているとする。そして、データベースサーバH−1が使用する、データファイル、ログ1、ログ2は、それぞれ同一のアレイに格納できないデータであるため、それぞれアレイL−1、L−2、L−3に格納されている。これは、一般に、データベースでは、ログファイルは冗長化されるが、耐障害性の確保のため、冗長化させたログファイルと、データファイルとは、通常、別々のアレイに配置する必要があるからである。   As shown in FIG. 8, it is assumed that data of the database server H-1, the file server H-2, and the file server H-3 are stored in the storage device Sn. Since the data file, log 1 and log 2 used by the database server H-1 cannot be stored in the same array, they are stored in the arrays L-1, L-2 and L-3, respectively. Yes. This is because, in general, log files are made redundant in databases, but in order to ensure fault tolerance, redundant log files and data files usually need to be placed in separate arrays. It is.

また、ファイルサーバH−2が使用する、ファイル領域A及びファイル領域Bも、それぞれ同一のアレイに格納できないデータであるため、それぞれアレイL−4、L−5に格納されている。更に、ファイルサーバH−3が使用する、ファイル領域C及びファイル領域Dも、それぞれ同一のアレイに格納できないデータであるため、それぞれアレイL−6、L−7に格納されている。   Also, the file area A and the file area B used by the file server H-2 are data that cannot be stored in the same array, and are therefore stored in the arrays L-4 and L-5, respectively. Furthermore, since the file area C and the file area D used by the file server H-3 cannot be stored in the same array, they are stored in the arrays L-6 and L-7, respectively.

「共有不可LUN」は、図7に示された同一のアレイに格納できないデータが、エクステント最適化によって、同一のアレイに格納されてしまうのを防止している。つまり、ストレージ装置から見ると、ディスク障害はアレイ単位で判断される。よって、この共有不可LUNが参照されることにより、ここに記述されているLUNが再配置先にある場合は、最適化は実行されない。これにより、同じアレイにあってはいけない論理ボリュームが、エクステント最適化によって同じアレイに配置されてしまう事態が回避される。この結果、システムの耐障害性の低下が防止される。   “Unshareable LUN” prevents data that cannot be stored in the same array shown in FIG. 7 from being stored in the same array by extent optimization. That is, when viewed from the storage device, the disk failure is determined in units of arrays. Therefore, when this unshareable LUN is referred to and the LUN described here is in the relocation destination, the optimization is not executed. This avoids a situation in which logical volumes that should not be in the same array are placed in the same array due to extent optimization. As a result, a reduction in the fault tolerance of the system is prevented.

「許容業務負荷レベル」は、対応する論理ボリュームが構築されているアレイが他の論理ボリュームに対して許容することができる許容負荷を示している。つまり、許容業務負荷レベルには、他のアレイから移転されてくるエクステントの負荷の許容レベルが記述されている。許容業務負荷レベルは、あるエクステントは最適化の対象ではないが、同じアレイに設定されている別のエクステントが最適化の対象となっている場合に使用され、前者のエクステントにおける処理が最適化によって圧迫されてしまうのを抑制する。   “Allowable work load level” indicates an allowable load that an array in which a corresponding logical volume is constructed can be allowed for another logical volume. In other words, the allowable workload level describes the allowable load level of extents transferred from other arrays. The allowable workload level is used when one extent is not subject to optimization, but another extent configured in the same array is subject to optimization, and processing in the former extent is optimized. Suppresses being pressed.

つまり、負荷の高いエクステントが移転されてくると、既存のエクステントの処理が圧迫される可能性がある。このため、許容業務負荷レベルにより、移転元のエクステントの負荷が、移転先の論理ボリュームの許容業務負荷レベルより大きい場合は、最適化が行われないようにされる。これにより、重要な業務の処理が圧迫される事態が回避される。   In other words, if an extent with a high load is transferred, the processing of the existing extent may be under pressure. For this reason, when the load of the transfer source extent is larger than the allowable work load level of the transfer destination logical volume due to the allowable work load level, optimization is not performed. As a result, a situation in which processing of important work is compressed is avoided.

例えば、移転元のエクステントが割り当てられた論理ボリュームの許容業務負荷レベルがBであるとする。この場合、移転先のエクステントとアレイが同一の別エクステントの論理ボリュームが特定され、その論理ボリュームの許容業務負荷レベルがCであれば、再配置が実行される。   For example, it is assumed that the allowable work load level of the logical volume to which the transfer source extent is allocated is B. In this case, if a logical volume of another extent having the same array as the transfer destination extent is specified and the allowable work load level of the logical volume is C, relocation is executed.

このように「許容業務負荷レベル」は、先に述べた「処理の優先度」とは異なる指標である。例えば、処理性能の低下を防止するために、あえて負荷の小さい論理ボリュームが配置されているアレイに配置されている、論理ボリュームが存在しているとする。このような場合に、このアレイに、負荷が高いエクステントを再配置すると、折角、処理性能を落とさないように配置された論理ボリュームの処理が圧迫される可能性がある。   Thus, the “allowable work load level” is an index different from the “processing priority” described above. For example, it is assumed that there is a logical volume arranged in an array in which a logical volume with a small load is arranged in order to prevent a decrease in processing performance. In such a case, if an extent with a high load is rearranged in this array, there is a possibility that the processing of the logical volume arranged so as not to degrade the processing performance is compressed.

「処理の優先度」だけでは、重要度の低いエクステントや、使用されていないアレイの領域に対して、最適化が実行されるため、上記の圧迫の回避は困難であるが、「許容業務負荷レベル」を用いた場合は、上記の圧迫の回避が容易となる。よって、「許容業務負荷レベル」を使用することで、最適化対象以外の論理ボリュームの業務に余計な負荷が与えられないようになり、より細かい業務負荷の制御が可能になる。   With “processing priority” alone, it is difficult to avoid the above-mentioned pressure because optimization is performed on extents with low importance and unused areas of the array. When “level” is used, it is easy to avoid the above compression. Therefore, by using the “allowable work load level”, an extra load is not applied to the work of the logical volume other than the optimization target, and a finer control of the work load becomes possible.

なお、アレイの記憶領域には、論理ボリュームが構築されていない記憶領域(未使用領域)も存在する。図6に示すように、ポリシー対応テーブルには、未使用領域についてのポリシーが登録されていても良い。なお、未使用領域の各項目には、何ら制限が存在しないようにして、どのようなエクステントも再配置可能としても良いし、必要なら制限を設定しても良い。   In the storage area of the array, there is also a storage area (unused area) in which no logical volume is constructed. As shown in FIG. 6, a policy for an unused area may be registered in the policy correspondence table. It should be noted that any extent may be rearranged so that there is no restriction on each item of the unused area, and a restriction may be set if necessary.

図9は、本発明の実施の形態で利用されるRAID対応テーブルの一例を示す図である。図9に示すように、RAID対応テーブルは、アレイ番号毎に、当該アレイが有するRAID構成の種類、当該アレイの性能、更には構成HDDの数を登録している。アレイ番号は、RAID対応テーブルにおいて、各アレイを特定する識別番号であり、ストレージ装置内のアレイに一意に割り当てられている。アレイ番号により、各アレイが判別される。なお、アレイの性能は、指標によって表わされている。   FIG. 9 is a diagram showing an example of a RAID correspondence table used in the embodiment of the present invention. As shown in FIG. 9, the RAID correspondence table registers the type of RAID configuration of the array, the performance of the array, and the number of constituent HDDs for each array number. The array number is an identification number for identifying each array in the RAID correspondence table, and is uniquely assigned to the array in the storage apparatus. Each array is identified by the array number. Note that the performance of the array is represented by an index.

次に、上述したディスクアレイ制御部DE−nの動作について図10及び図11を用いて説明する。図10は、本発明の実施の形態におけるストレージ装置を構成するディスクアレイ制御部が実行する処理を示すフロー図である。図11は、図10に示されたステップF9以降のディスクアレイ制御部の処理を示すフロー図である。   Next, the operation of the disk array control unit DE-n described above will be described with reference to FIGS. FIG. 10 is a flowchart showing processing executed by the disk array control unit constituting the storage apparatus according to the embodiment of the present invention. FIG. 11 is a flowchart showing processing of the disk array control unit after step F9 shown in FIG.

また、本実施の形態では、ディスクアレイ制御部DE−nを動作させることによって、ディスクアレイ制御方法が実施される。よって、本実施の形態におけるディスクアレイ制御方法の説明は、以下のディスクアレイ制御部DE−nの動作説明に代える。また、適宜、図1〜図9を参酌する。   In the present embodiment, the disk array control method is implemented by operating the disk array control unit DE-n. Therefore, the description of the disk array control method in the present embodiment is replaced with the following description of the operation of the disk array control unit DE-n. In addition, FIGS. 1 to 9 are referred to as appropriate.

図10に示すように、先ず、ディスクアレイ制御部DE−nにおいて、ディスクコントローラC3の自律最適化制御エンジンD2が、基準値より負荷の高いエクステントチャンクが存在するかどうかを判定する(ステップF1)。なお、ステップF1における判定は、特許文献1に開示された発明と同様に、I/O存在率に基づいて行うことができる。   As shown in FIG. 10, first, in the disk array control unit DE-n, the autonomous optimization control engine D2 of the disk controller C3 determines whether or not there is an extent chunk whose load is higher than the reference value (step F1). . Note that the determination in Step F1 can be performed based on the I / O existence ratio, as in the invention disclosed in Patent Document 1.

ステップF1での判定の結果、基準値より負荷の高いエクステントチャンクが存在しない場合は、ディスクアレイ制御部DE−nでの処理は終了する。一方、ステップF1での判定の結果、基準値より負荷の高いエクステントチャンクが存在する場合は、自律最適化制御エンジンD2は、最適化対象とする負荷の高いエクステントチャンクを検出する(ステップF2)。   If the result of determination in step F1 is that there is no extent chunk having a higher load than the reference value, the processing in the disk array control unit DE-n ends. On the other hand, if the result of determination in step F1 is that there is an extent chunk with a higher load than the reference value, the autonomous optimization control engine D2 detects an extent chunk with a higher load to be optimized (step F2).

次に、自律最適化制御エンジンD2は、負荷の高いエクステントチャンクを検出すると、チャンク対応テーブルD4を参照し、ステップF2で検出されたエクステントチャンクが属するエクステントを検出する(ステップF3)。次に、自律最適化制御エンジンD2は、所属するエクステントが判明したら、エクステント対応テーブルD5を参照し、エクステントが所属している論理ボリュームのLUNを検出する(ステップF4)。   Next, when detecting an extent chunk with a high load, the autonomous optimization control engine D2 refers to the chunk correspondence table D4 and detects the extent to which the extent chunk detected in step F2 belongs (step F3). Next, when the extent to which the autonomous optimization control engine D2 is found is found, the autonomous optimization control engine D2 refers to the extent correspondence table D5 and detects the LUN of the logical volume to which the extent belongs (step F4).

次に、自律最適化制御エンジンD2は、LUNを検出すると、ポリシー対応テーブル(図6参照)を参照し、検出したLUNに対応するポリシーを検出する(ステップF5)。更に、自律最適化制御エンジンD2は、ポリシーを検出すると、RAID対応テーブルD7(図9参照)を参照し、検出したポリシーに対応できるアレイを検出する(ステップF6)。   Next, when detecting the LUN, the autonomous optimization control engine D2 refers to the policy correspondence table (see FIG. 6), and detects a policy corresponding to the detected LUN (step F5). Furthermore, when detecting the policy, the autonomous optimization control engine D2 refers to the RAID correspondence table D7 (see FIG. 9) and detects an array that can correspond to the detected policy (step F6).

次に、自律最適化制御エンジンD2は、ステップF6で検出したアレイの中に、ステップF2で検出されたエクステントチャンクにおけるデータの移転先として選択可能なアレイが存在しているかどうかを判定する(ステップF7)。具体的には、ステップF7では、ポリシー対応テーブル(図6参照)の「許容アレイ構成」及び「許容性能」と、RAID対応テーブル(図9参照)の「RAID構成」及び「アレイ性能」とが比較される。そして、比較結果から、自律最適化制御エンジンD2は、データの移転先として選択可能なアレイ(移転可能なアレイ)かどうかを判定する。   Next, the autonomous optimization control engine D2 determines whether there is an array that can be selected as a data transfer destination in the extent chunk detected in Step F2 among the arrays detected in Step F6 (Step S6). F7). Specifically, in step F7, “allowable array configuration” and “allowable performance” in the policy correspondence table (see FIG. 6) and “RAID configuration” and “array performance” in the RAID correspondence table (see FIG. 9) are obtained. To be compared. Then, from the comparison result, the autonomous optimization control engine D2 determines whether the array is selectable as a data transfer destination (transferable array).

ステップF7の判定の結果、移転先として選択可能なアレイが存在しない場合は、ディスクアレイ制御部DE−nでの処理は終了する。一方、移転先として選択可能なアレイが存在する場合は、自律最適化制御エンジンD2は、I/O情報採取モジュールD3によって算出されたI/O存在率を取得し、ステップF7で移転可能と判断されたアレイの記憶領域の負荷状況を検出する(ステップF8)。   If the result of determination in step F7 is that there is no array that can be selected as the transfer destination, the processing in the disk array control unit DE-n ends. On the other hand, if there is an array that can be selected as the transfer destination, the autonomous optimization control engine D2 acquires the I / O existence rate calculated by the I / O information collection module D3 and determines that the transfer is possible in step F7. The load status of the storage area of the array thus detected is detected (step F8).

次に、自律最適化制御エンジンD2は、取得したI/O存在率を用いて、ステップF7で選択可能と判定されたアレイの中に、記憶領域の負荷が基準値以下となるアレイが存在しているかどうかを判定する(ステップF9)。   Next, the autonomous optimization control engine D2 uses the acquired I / O existence rate, and among the arrays determined to be selectable in step F7, there is an array whose storage area load is equal to or less than the reference value. (Step F9).

ステップF9の判定の結果、記憶領域の負荷が基準値以下となるアレイが存在していない場合は、ディスクアレイ制御部DE−nでの処理は終了する。一方、ステップF9の判定の結果、記憶領域の負荷が基準値以下となるアレイが存在している場合は、自律最適化制御エンジンD2は、ステップF10(図11参照)を実行する。   As a result of the determination in step F9, when there is no array whose storage area load is equal to or less than the reference value, the processing in the disk array control unit DE-n is ended. On the other hand, if the result of determination in step F9 is that there is an array in which the load on the storage area is below the reference value, the autonomous optimization control engine D2 executes step F10 (see FIG. 11).

図11に示すように、ステップF10では、自律最適化制御エンジンD2は、記憶領域の負荷が最も低いアレイを検出する。また、自律最適化制御エンジンD2は、ステップF10においても、I/O情報採取モジュールD3によって算出されたI/O存在率を用いて検出を実行する。   As shown in FIG. 11, in step F10, the autonomous optimization control engine D2 detects an array with the lowest load in the storage area. The autonomous optimization control engine D2 also performs detection using the I / O presence rate calculated by the I / O information collection module D3 in step F10.

次に、自律最適化制御エンジンD2は、記憶領域の負荷が最も低いアレイを検出すると、検出したアレイの記憶領域において最も負荷の低いエクステントチャンクを検出する(ステップF11)。続いて、自律最適化制御エンジンD2は、エクステントの検出(ステップF12)、LUNの検出(ステップF13)、LUNに対応するポリシーの検出(ステップF14)を実行する。なお、ステップF12、F13、F14は、それぞれ、ステップF3、F4、F5と同様のステップである。   Next, when the autonomous optimization control engine D2 detects an array having the lowest load in the storage area, the autonomous optimization control engine D2 detects an extent chunk having the lowest load in the storage area of the detected array (step F11). Subsequently, the autonomous optimization control engine D2 executes extent detection (step F12), LUN detection (step F13), and policy detection corresponding to the LUN (step F14). Steps F12, F13, and F14 are the same as steps F3, F4, and F5, respectively.

次に、自律最適化制御エンジンD2は、ステップF5で検出した移転元のLUNのポリシーと、ステップF14で検出した移転先候補となるLUNのポリシーとを比較する(ステップF15)。次に、自律最適化制御エンジンD2は、比較の結果に基づいて、移転元のデータを、ステップF12で検出したエクステントに移転して再配置することが可能かどうかを判定する(ステップF16)。   Next, the autonomous optimization control engine D2 compares the transfer source LUN policy detected in step F5 with the transfer destination candidate LUN policy detected in step F14 (step F15). Next, the autonomous optimization control engine D2 determines whether or not the transfer source data can be transferred to the extent detected in step F12 and rearranged based on the comparison result (step F16).

具体的には、ステップF15では、ポリシー対応テーブル(図6参照)の「許容アレイ構成」、「許容性能」、「処理の優先度」及び「共有不可LUN」が比較のために参照される。そして、ステップF16では、先ず、「許容アレイ構成」及び「許容性能」の点から、移転先候補のアレイが、移転元のエクステンに対応できるかどうかが判定される。   Specifically, in step F15, “allowable array configuration”, “allowable performance”, “processing priority”, and “non-sharable LUN” in the policy correspondence table (see FIG. 6) are referred to for comparison. In step F16, it is first determined whether the transfer destination candidate array can accommodate the transfer source extent from the viewpoints of “allowable array configuration” and “allowable performance”.

ステップF16の上記判定で、対応できないと判定された場合は、再配置不可能であるとして処理が行われる。一方、対応できると判定された場合は、更に、「処理の優先度」及び「共有負荷LUN」の点で、移転先候補のアレイが、移転元のエクステンに対応できるかどうかが判定される。   If it is determined in the above-described determination in step F16 that it is not possible to handle, processing is performed assuming that relocation is impossible. On the other hand, if it is determined that it can be handled, it is further determined whether or not the transfer destination candidate array can support the transfer source extent in terms of “processing priority” and “shared load LUN”.

そして、移転先のエクステントに対応する優先度の方が、移転元のエクステントに対応する優先度よりも高い場合は、再配置不可能であるとして処理が行われる。また、「共有不可LUN」より、移転元のエクステントが割り当てられた論理ボリュームと、移転先のエクステントが割り当てられた論理ボリュームとが、同一のアレイの記憶領域に構築できない場合も、再配置不可能であるとして処理が行われる。   Then, if the priority corresponding to the extent of the transfer destination is higher than the priority corresponding to the extent of the transfer source, processing is performed assuming that relocation is impossible. In addition, if the logical volume to which the transfer source extent is assigned and the logical volume to which the transfer destination extent is assigned cannot be constructed in the storage area of the same array, the relocation is not possible. The processing is performed assuming that

次に、ステップF16の判定の結果、再配置が不可能である場合は、自律最適化制御エンジンD2は、ステップF10で検出されたアレイの記憶領域から、次に負荷の低いエクステントチャンクを検出する(ステップF17)。このとき、ステップF17では、ステップF15でのポリシーの比較対象となった論理ボリュームが割り当てられているエクステントチャンク(先のステップF11で検出されたエクステントチャンク)は、検出対象から除外される。   Next, when the rearrangement is impossible as a result of the determination in step F16, the autonomous optimization control engine D2 detects the extent chunk having the next lowest load from the storage area of the array detected in step F10. (Step F17). At this time, in step F17, the extent chunk to which the logical volume that is the comparison target of the policy in step F15 is allocated (the extent chunk detected in the previous step F11) is excluded from the detection target.

次に、自律最適化制御エンジンD2は、ステップF17で検出されたエクステントチャンクについて、それが割り当てられた論理ボリュームが存在するかどうかを判定する(ステップF18)。つまり、ステップF18では、先のステップF8で検出されたアレイの記憶領域に、移転先として利用できる論理ボリューム(LU)が存在しているかどうかが判定される。ステップF18の判定の結果、論理ボリュームが存在している場合は、ステップF11以降が再度実行される。一方、論理ボリュームが存在していない場合は、後述するステップF23が実行される。   Next, the autonomous optimization control engine D2 determines whether there is a logical volume to which the extent chunk detected in step F17 is allocated (step F18). That is, in step F18, it is determined whether or not a logical volume (LU) that can be used as a transfer destination exists in the storage area of the array detected in the previous step F8. If the result of determination in step F18 is that a logical volume exists, step F11 and subsequent steps are executed again. On the other hand, when the logical volume does not exist, Step F23 described later is executed.

また、ステップF16の判定の結果、再配置が可能である場合は、自律最適化制御エンジンD2は、エクステント対応テーブルD5を参照し、移転先候補となるアレイに構築されている全論理ボリュームを検出する(ステップF19)。また、ステップF19では、ステップF15で使用された移転先候補の論理ボリュームは除外される。このため、後述のステップF21において、既にポリシーの比較が行われた論理ボリュームについて再度比較が行われるという無駄な処理が発生するのが抑制される。   If the result of determination in step F16 shows that relocation is possible, the autonomous optimization control engine D2 refers to the extent correspondence table D5 and detects all logical volumes built in the array that is the transfer destination candidate. (Step F19). In step F19, the transfer destination candidate logical volume used in step F15 is excluded. For this reason, in step F21 to be described later, it is possible to suppress a useless process in which a comparison is performed again for a logical volume that has already been compared.

次に、自律最適化制御エンジンD2は、ポリシー対応テーブルを参照し、ステップF19で検出された各論理ボリュームのポリシーを検出する(ステップF20)。続いて、自律最適化制御エンジンD2は、ステップF20で検出された全てのポリシーと、移転元のエクステントの負荷とを比較する(ステップF21)。更に、自律最適化制御エンジンD2は、ステップF21における比較の結果に基づいて、移転による再配置が可能かどうかを判断する(ステップF22)。   Next, the autonomous optimization control engine D2 refers to the policy correspondence table and detects the policy of each logical volume detected in step F19 (step F20). Subsequently, the autonomous optimization control engine D2 compares all the policies detected in step F20 with the load of the transfer source extent (step F21). Further, the autonomous optimization control engine D2 determines whether relocation by relocation is possible based on the comparison result in step F21 (step F22).

具体的には、ステップF21では、ポリシー対応テーブル(図6参照)中の「共有不可LUN」及び「許容業務負荷レベル」が用いられて比較が行われる。また、ステップF22では、移転元エクステントが割り当てられた論理ボリュームとの関係で共有不可能な論理ボリュームが存在した場合は、再配置不可能として処理が行われる。更に、ステップF22では、移転元エクステントの負荷が、移転先候補のアレイに構築された論理ボリュームの許容業務負荷レベルより大きい場合も、再配置不可能として処理が行われる。   Specifically, in step F21, the comparison is performed using the “non-shareable LUN” and the “allowable work load level” in the policy correspondence table (see FIG. 6). In step F22, if there is a logical volume that cannot be shared due to the relationship with the logical volume to which the transfer source extent is allocated, the processing is performed assuming that relocation is impossible. Furthermore, in step F22, even when the load of the transfer source extent is larger than the allowable work load level of the logical volume constructed in the transfer destination candidate array, the processing is performed as being impossible to relocate.

共有不可能なLUNがなく、負荷も許容レベルであった場合は再配置可能として処理が行われる。不可能な場合はステップF23が行われる。ステップF23では他に再配置可能なアレイがあるかどうかが判断され、アレイがない場合は、処理は終了する。   If there is no LUN that cannot be shared and the load is also at an allowable level, the processing is performed as relocation possible. If not possible, step F23 is performed. In step F23, it is determined whether there is any other relocatable array. If there is no array, the process ends.

ステップF22の判定において移転が可能である場合は、自律最適化制御エンジンD2は、データの再配置(エクステント最適化)に関する情報を、エクステント再配置実行モジュールD8に渡す。これにより、エクステント再配置実行モジュールD8が、データの再配置(エクステント最適化)を実行する(ステップF25)。その後、ディスクアレイ制御部DE−nでの処理は終了する。   If transfer is possible in the determination in step F22, the autonomous optimization control engine D2 passes information on data rearrangement (extent optimization) to the extent rearrangement execution module D8. As a result, the extent rearrangement execution module D8 executes data rearrangement (extent optimization) (step F25). Thereafter, the processing in the disk array control unit DE-n ends.

一方、ステップF22の判定において移転が不可能である場合は、自律最適化制御エンジンD2は、ステップF23を実行する。ステップF23では、自律最適化制御エンジンD2は、ステップF9の結果を参照し、データの移転先として選択可能なアレイが他に存在しているかどうかを判定する。   On the other hand, when transfer is not possible in the determination in step F22, the autonomous optimization control engine D2 executes step F23. In step F23, the autonomous optimization control engine D2 refers to the result of step F9 and determines whether there is another array that can be selected as a data transfer destination.

ステップF23の判定の結果、他にアレイが存在している場合は、自律最適化制御エンジンD2は、直近のステップF10で検出されたアレイがデータの移転先の候補とならないように、これを候補から除去する(ステップF24)。そして、自律最適化制御エンジンD2は、再度、ステップF10から処理を実行する。   If there is another array as a result of the determination in step F23, the autonomous optimization control engine D2 selects this so that the array detected in the latest step F10 does not become a data transfer destination candidate. (Step F24). Then, the autonomous optimization control engine D2 executes the process from Step F10 again.

図10及び図11に示したステップF1〜F24の実行により、データの移転が可能な場合は、データの移転による再配置が実行され、エクステント最適化が行われる。一方、データの移転が不可能な場合は、データの移転による再配置が実行されずに、ディスクアレイ制御部DE−nでの処理が終了する。   When data transfer is possible by executing Steps F1 to F24 shown in FIGS. 10 and 11, rearrangement by data transfer is executed, and extent optimization is performed. On the other hand, when the data transfer is impossible, the rearrangement by the data transfer is not executed, and the processing in the disk array control unit DE-n is finished.

ここで、図10又は図11に示した処理において、データの移転が行われずに処理が終了した場合のストレージ装置での処理について、図12を用いて説明する。図12は、本発明の実施の形態におけるストレージ装置を構成するディスクアレイ制御部が実行するエラー処理を示すフロー図であり、エラー処理を示している。   Here, in the processing shown in FIG. 10 or FIG. 11, processing in the storage apparatus when the processing ends without transferring data will be described with reference to FIG. 12. FIG. 12 is a flowchart showing error processing executed by the disk array control unit constituting the storage apparatus according to the embodiment of the present invention, and shows error processing.

図12に示すように、先ず、ディスクアレイ制御部DE−nにおいて、メインコントローラC2は、データの再配置が行われずに処理が終了すると、データの再配置ができなかった旨と、データの再配置ができなかった理由とを含むエラーメッセージを作成する(ステップER1)。   As shown in FIG. 12, first, in the disk array control unit DE-n, when the main controller C2 finishes the process without performing the data rearrangement, it indicates that the data rearrangement could not be performed and the data rearrangement. An error message including the reason why the arrangement could not be made is created (step ER1).

次に、メインコントローラC2は、ストレージ装置を管理している管理用の端末装置の検出処理を実行する(ステップER2)。続いて、メインコントローラC2は、検出した端末装置に、ステップER1で作成したエラーメッセージを送信する(ステップER3)。   Next, the main controller C2 executes detection processing for a management terminal device that manages the storage device (step ER2). Subsequently, the main controller C2 transmits the error message created in step ER1 to the detected terminal device (step ER3).

その後、メインコントローラC2は、再配置することができなかったエクステントを、エクステント最適化の対象から除外する(ステップER4)。ステップER4の実行により、エラー処理は終了する。   Thereafter, the main controller C2 excludes extents that could not be rearranged from extent optimization targets (step ER4). By executing step ER4, the error processing ends.

なお、ステップER3では、送信先は管理用の端末装置であるが、このとき送信先はこれに限定されるものではない。本実施の形態では、システムの管理サーバが送信先になっていても良い。また、本実施の形態では、ストレージ装置の管理者は、エラーメッセージを取得した場合に、再配置できなかったエクステントの負荷情報を参照し、許容範囲内かどうかを判断することができる。そして、管理者は、許容範囲内と判断した場合は、ストレージ装置において、そのまま処理を継続させることができる。   In step ER3, the transmission destination is a management terminal device, but the transmission destination is not limited to this. In the present embodiment, the management server of the system may be the transmission destination. Further, in this embodiment, when an error message is acquired, the administrator of the storage apparatus can determine whether it is within an allowable range by referring to the load information of extents that could not be relocated. If the administrator determines that the value is within the allowable range, the storage device can continue the processing as it is.

また、再配置できなかったエクステントは、ステップER4で最適化対象から除外されているため、手動で最適化の対象に新たに加えない限り、これに対して、再び最適化処理が実行されることはなく、エラーも出力されない。よって、管理者は、再配置が必要であると判断した場合は、ポリシーを変更して再配置可能となるようにするか、又はHDDを追加して負荷を軽減するような手段をとる必要がある。   In addition, since the extent that could not be rearranged is excluded from the optimization target in step ER4, the optimization process is executed again unless it is newly added to the optimization target manually. No error is output. Therefore, if the administrator determines that relocation is necessary, the administrator needs to change the policy so that relocation is possible, or take measures to reduce the load by adding HDDs. is there.

また、本発明の実施の形態におけるプログラムは、コンピュータに、図10に示すステップF1〜F9、図11に示すステップF10〜F24を実行させるプログラムであれば良い。このプログラムをコンピュータにインストールし、実行することによって、本実施の形態におけるディスクアレイ制御部DE−nと、ディスクアレイ制御方法とを実現することができる。また、プログラムは、更に、図12に示すステップER1〜ER4を実行可能なものであっても良い。   Further, the program in the embodiment of the present invention may be a program that causes a computer to execute steps F1 to F9 shown in FIG. 10 and steps F10 to F24 shown in FIG. By installing and executing this program on a computer, the disk array control unit DE-n and the disk array control method in the present embodiment can be realized. Further, the program may further be capable of executing steps ER1 to ER4 shown in FIG.

上記のプログラムをコンピュータで実行させると、コンピュータのCPU(Central Processing Unit)は、上述したように、ホストコントローラC1、メインコントローラC2、及びディスクコントローラC3として機能する(図4参照)。また、コンピュータに備えられたメモリが、キャッシュメモリC4及びメモリC5として機能する。   When the above program is executed by a computer, the CPU (Central Processing Unit) of the computer functions as the host controller C1, the main controller C2, and the disk controller C3 as described above (see FIG. 4). Further, the memory provided in the computer functions as the cache memory C4 and the memory C5.

以上の説明から分かるように、本実施の形態によれば、データの耐障害性の低下、及び優先すべき業務の処理の圧迫を抑制しつつ、HDDの各領域の負荷を分散することができ、これによりストレージ装置の性能向上が実現される。これは、上述したように、本実施の形態では、ポリシー対応テーブルを用いて、移転先のアレイ、更には移転先のエクステントが特定されるからである。   As can be seen from the above description, according to the present embodiment, it is possible to distribute the load on each area of the HDD while suppressing the deterioration of the fault tolerance of the data and the pressure on the processing of the business to be prioritized. As a result, the performance of the storage apparatus is improved. This is because, as described above, in the present embodiment, the transfer destination array and further the transfer destination extent are specified using the policy correspondence table.

つまり、ポリシー対応テーブルに基づいて、データの再配置時に移動対象となるデータが格納されている論理ボリュームと、移動先の論理ボリュームとが、対比される。そして、移動元のデータが格納されている論理ボリュームに求められる移動先の領域の耐障害性及び性能が、移転後に満たされるかどうかが判定される。このため、負荷又は使用頻度のみを基準にしてデータの最適化を行う場合と比べて、最適化対象となるデータの再配置先をより細かく設定することが出来る。この結果、上述した効果を得ることが可能となる。   That is, based on the policy correspondence table, the logical volume in which the data to be migrated is stored at the time of data relocation is compared with the logical volume of the migration destination. Then, it is determined whether or not the fault tolerance and performance of the migration destination area required for the logical volume storing the migration source data are satisfied after the migration. For this reason, it is possible to set the relocation destination of the data to be optimized more finely than in the case where the data is optimized based only on the load or the use frequency. As a result, the above-described effect can be obtained.

また、本実施の形態では、論理ボリューム毎にポリシーが設定されているため、業務毎の重要度に応じて適切なデータ最適化を実施することが可能となる。これは、一般に、各業務で使用されるデータは、業務内容、又はその重要性に応じて、論理ボリューム単位で区切られることが多いためである。   In the present embodiment, since a policy is set for each logical volume, it is possible to perform appropriate data optimization according to the importance for each business. This is because, in general, data used in each business is often divided in units of logical volumes according to the business content or its importance.

(変形例)
ここで、図10又は図11に示した処理において、データの移転(再配置)が行われずに処理が終了した場合のストレージ装置での処理の変形例について、図13及び図14を用いて説明する。図13は、本発明の実施の形態における変形例を説明するための図である。
(Modification)
Here, in the processing shown in FIG. 10 or FIG. 11, a modified example of processing in the storage apparatus when the processing ends without transferring (rearranging) data will be described using FIG. 13 and FIG. 14. To do. FIG. 13 is a diagram for explaining a modification of the embodiment of the present invention.

図13に示すように、本変形例では、アレイは、それを構成するHDD100に障害があったときに使用するホットスペアディスクHS−1を備えている。ホットスペアディスクは、予備ディスクであり、RAID構成を備えたアレイを構成するHDDのいずれかに障害が発生した場合に、その障害が発生したHDDの代わりとして機能する。ホットスペアディスクを用いることにより、RAID構成の性能劣化の防止及び冗長性の確保が保証される。   As shown in FIG. 13, in this modification, the array includes a hot spare disk HS-1 that is used when a failure occurs in the HDD 100 constituting the array. The hot spare disk is a spare disk, and functions as a substitute for the failed HDD when a failure occurs in any of the HDDs constituting the array having the RAID configuration. By using the hot spare disk, it is possible to prevent the performance degradation of the RAID configuration and to ensure the redundancy.

また、通常、ホットスペアディスクは、RAID構成に障害が発生していない場合は、ストレージ装置内でデータの書き込み等には一切使用されない状態で保持されている。つまり、ホットスペアディスクの記憶領域には、業務によるI/Oの負荷も全く発生していない。   Usually, the hot spare disk is held in a state where it is not used at all for data writing or the like in the storage apparatus when no failure has occurred in the RAID configuration. In other words, no I / O load is generated in the storage area of the hot spare disk.

これに対して、本変形例では、ホットスペアディスクの記憶領域が、データの再配置が実行できなかった場合の再配置先として使用される。つまり、再配置先として選択可能なアレイ中のエクステントの中に、ホットスペアディスクの記憶領域に設定されるエクステントが含められ、これらのエクステントの中から移転先候補エクステントが選択される。このため、優先度が低いためにデータの再配置が認められない業務においても、確実に、高負荷による処理の遅延を防ぐことが可能となる。   On the other hand, in this modification, the storage area of the hot spare disk is used as a relocation destination when data relocation cannot be executed. In other words, the extent set in the storage area of the hot spare disk is included in the extents in the array that can be selected as the relocation destination, and the transfer destination candidate extent is selected from these extents. For this reason, it is possible to reliably prevent a delay in processing due to a high load even in an operation where data relocation is not permitted due to low priority.

また、本変形例では、通常、あまり使用されないホットスペアディスクを使用することができるので、ストレージ装置全体としての資源の有効活用が図られる。但し、図13に示すように、複数のエクステントチャンクで構成されたエクステントのデータは、ホットスペアディスクを構成する一台のHDDに格納されるので、複数のHDDに跨っていた記憶領域は一台のHDDに纏められる。よって、この場合は、負荷分散はできない状態となる。   Further, in this modification, a hot spare disk that is not often used can be used normally, so that the resources of the entire storage apparatus can be effectively used. However, as shown in FIG. 13, since the extent data composed of a plurality of extent chunks is stored in one HDD constituting the hot spare disk, the storage area spanning the plurality of HDDs is one. Collected in HDD. Therefore, in this case, the load cannot be distributed.

しかし、データは負荷の全く無い領域に再配置されているため、元々高負荷で処理の遅延が発生していた領域と比較すると、ホットスペアディスクに纏められた領域での性能は、向上する。   However, since the data is rearranged in an area where there is no load, the performance in the area grouped in the hot spare disk is improved as compared with the area where the processing delay originally occurred due to high load.

なお、ホットスペアディスクの記憶領域へのデータの再配置は、永続的なものではなく、一時的なものであるのが好ましい。これは、全てのデータが同一のHDDに格納されるため、データの冗長性が全く無くなり、耐障害性が低下するからである。   Note that the relocation of data to the storage area of the hot spare disk is preferably not temporary but temporary. This is because all data is stored in the same HDD, so that data redundancy is completely eliminated and fault tolerance is reduced.

そのため、データに対して、損失を防ぐための冗長性を付与する必要性が高い場合は、ホットスペアディスクの記憶領域へのデータの再配置は極力実行しないようにするのが好ましい。よって、ホットスペアディスクの記憶領域へのデータの再配置は、他のアレイの記憶領域への再配置ができない場合、又は移転元のエクステントでの負荷があまりにも高く許容できる値の範囲を超えた場合に実行されるのが良い。   For this reason, when it is highly necessary to provide redundancy to prevent loss of data, it is preferable to avoid relocation of data to the storage area of the hot spare disk as much as possible. Therefore, the relocation of data to the storage area of the hot spare disk cannot be relocated to the storage area of another array, or the load on the transfer source extent is too high and exceeds the allowable value range. Good to be executed.

なお、許容できる値の範囲の指標としては、例えば、負荷の高いエクステントでの応答時間挙げられる。また、管理者は、ホットスペアディスクの記憶領域へのデータの再配置が実行された場合は、論理ボリュームの設計の修正、又はアレイを構成するHDDの追加等を検討する必要がある。   In addition, as an index of an allowable value range, for example, a response time in an extent with a high load can be cited. In addition, when relocation of data to the storage area of the hot spare disk is executed, the administrator needs to consider modification of the design of the logical volume or addition of HDDs constituting the array.

ここで、ホットスペアディスクの記憶領域へのデータの再配置が行われた後、処理が終了した場合のストレージ装置での処理について図14を用いて説明する。図14は、本発明の実施の形態における変形例において、ストレージ装置を構成するディスクアレイ制御部が実行するエラー処理を示すフロー図である。   Here, the processing in the storage apparatus when the processing is completed after the data is rearranged in the storage area of the hot spare disk will be described with reference to FIG. FIG. 14 is a flowchart showing error processing executed by the disk array control unit constituting the storage apparatus in the modification of the embodiment of the present invention.

図14に示すように、データがホットスペアディスクの記憶領域に再配置されているため、先ず、ディスクアレイ制御部DE−nにおいて、メインコントローラC2は、HSにデータを再配置したことを示すエラーメッセージを作成する(ステップER11)。   As shown in FIG. 14, since the data is rearranged in the storage area of the hot spare disk, first, in the disk array control unit DE-n, the main controller C2 shows an error message indicating that the data has been rearranged in the HS. Is created (step ER11).

次に、メインコントローラC2は、ストレージ装置を管理している管理用の端末装置の検出処理を実行する(ステップER12)。続いて、メインコントローラC2は、検出した端末装置に、ステップER11で作成したエラーメッセージを送信する(ステップER13)。なお、ステップER12及びER13は、それぞれ図12に示したステップER2及びER3と同様のステップである。ステップER13の実行により、エラー処理は終了する。   Next, the main controller C2 executes a process of detecting a management terminal device that manages the storage device (step ER12). Subsequently, the main controller C2 transmits the error message created in step ER11 to the detected terminal device (step ER13). Steps ER12 and ER13 are the same steps as steps ER2 and ER3 shown in FIG. 12, respectively. Execution of step ER13 ends the error processing.

ステップER11〜13の実行により、ホットスペアディスクの記憶領域にデータの再配置が行われた場合も、管理者用の端末装置に、通常のエラーと同様にエラーメッセージを送信でき、管理者に状況を伝えることができる。また、この結果、ホットスペアディスクの記憶領域に再配置されたデータを、別のアレイの記憶領域に再配置するように管理者に警告することも出来る。   Even when data is rearranged in the storage area of the hot spare disk by executing steps ER11 to ER13, an error message can be sent to the terminal device for the administrator in the same way as a normal error, and the status is notified to the administrator. I can tell you. As a result, the administrator can be warned to relocate the data rearranged in the storage area of the hot spare disk to the storage area of another array.

なお、上記の変形例を含めた本実施の形態では、エクステント(又はエクステントチャンク)の負荷が高いかどうかの判断は、特許文献1に開示のI/O存在率を基準にして行われているが、本発明は、これに限定されるものではない。本発明においては、負荷が高いかどうかの判断の基準としては、例えば、エクステント又はHDDでの単純なI/O発生率、具体的にはアクセス頻度等を使用することも出来る。また、従来から良く行われている、論理ボリューム単位でのデータの最適化が実行される場合においても、本発明で用いられるポリシー対応テーブルを応用することが出来る。   In the present embodiment including the above-described modification, it is determined whether the extent (or extent chunk) load is high based on the I / O existence rate disclosed in Patent Document 1. However, the present invention is not limited to this. In the present invention, as a criterion for determining whether the load is high, for example, a simple I / O occurrence rate in an extent or HDD, specifically, an access frequency or the like can be used. Further, the policy correspondence table used in the present invention can be applied even when the optimization of data in units of logical volumes, which is often performed conventionally, is executed.

本発明は、RAIDを構成しているディスクアレイのデータ配置を最適化するストレージ装置に有用である。本発明によれば、データのポリシーを満たした状態でのデータ配置の最適化を実現することができ、データの耐障害性を向上及び性能の劣化の抑制を図ることができる。   The present invention is useful for a storage apparatus that optimizes the data arrangement of a disk array constituting a RAID. According to the present invention, it is possible to optimize the data arrangement in a state where the data policy is satisfied, thereby improving the fault tolerance of the data and suppressing the deterioration of the performance.

1 ストレージシステム
10 ホスト装置
20 ネットワーク
100 HDD
A−1、A−2、・・・A−i ディスクアレイ(アレイ)
S−1、S−2、・・・S−n ストレージ装置
DE−1、DE−2、・・・DE−n ディスクアレイ制御部
C1 ホストコントローラ
C2 メインコントローラ
C3 ディスクコントローラ
C4 キャッシュメモリ
C5 メモリ
D1 入力モジュール
D2 自律最適化制御エンジン
D3 I/O情報採取モジュール
D4 チャンク対応テーブル
D5 エクステント対応テーブル
D6 ポリシー対応テーブル
D7 RAID対応テーブル
D8 エクステント再配置実行モジュール
H−1 データベースサーバ
H−2 ファイルサーバ
H−3 ファイルサーバ
HS−1 ホットスペアディスク
L−1、L−2、L−3、L−4、L−5、L−6、L−7 ディスクアレイ(アレイ)
1 Storage system 10 Host device 20 Network 100 HDD
A-1, A-2, ... A-i Disk array (array)
S-1, S-2, ... Sn Storage device DE-1, DE-2, ... DE-n Disk array controller C1 Host controller C2 Main controller C3 Disk controller C4 Cache memory C5 Memory D1 Input Module D2 Autonomous optimization control engine D3 I / O information collection module D4 Chunk correspondence table D5 Extent correspondence table D6 Policy correspondence table D7 RAID correspondence table D8 Extent relocation execution module H-1 Database server H-2 File server H-3 File Server HS-1 Hot spare disk L-1, L-2, L-3, L-4, L-5, L-6, L-7 Disk array (array)

Claims (32)

外部から認識可能な複数の論理ボリュームが構築されているストレージ装置であって、
複数のディスクアレイと、
前記複数のディスクアレイそれぞれの記憶領域を複数個のエクステントに物理的に分割し、一又は二以上の前記エクステントを前記複数の論理ボリュームのいずれかに割り当てて、前記記憶領域を管理する、ディスクアレイ制御部とを備え、
前記ディスクアレイ制御部は、いずれかのエクステントの負荷が設定された条件を満たさない場合に、当該エクステントを移転元エクステントとして、前記移転元エクステントが割り当てられている論理ボリュームを特定し、
そして、前記複数の論理ボリュームそれぞれ毎のポリシーが登録されているポリシーテーブルに、特定した論理ボリュームを照合して、そのポリシーを特定し、
特定したポリシーに基づいて、前記移転元エクステントに記憶されているデータの移転先として選択可能なディスクアレイを検出し、
前記複数の論理ボリュームそれぞれ毎のポリシーは、当該論理ボリュームを構築可能なディスクアレイの構成、当該論理ボリュームに格納されているデータにおける処理の優先度、及び当該論理ボリュームと同一のディスクアレイに存在することが許容されていない他の論理ボリュームの識別子を含む、
ことを特徴とするストレージ装置。
A storage device in which multiple logical volumes that can be recognized from the outside are constructed,
Multiple disk arrays,
A disk array that physically divides a storage area of each of the plurality of disk arrays into a plurality of extents, assigns one or more extents to any of the plurality of logical volumes, and manages the storage areas A control unit,
When the extent of any extent does not satisfy the set condition, the disk array control unit specifies the logical volume to which the transfer source extent is assigned, using the extent as the transfer source extent,
Then, the policy table in which a policy for each of the plurality of logical volumes is registered is compared with the specified logical volume to specify the policy,
Based on the identified policy, a disk array that can be selected as a transfer destination of data stored in the transfer source extent is detected,
The policy for each of the plurality of logical volumes exists in the same disk array as the configuration of the disk array capable of constructing the logical volume, the priority of processing in the data stored in the logical volume, and the logical volume. Including identifiers of other logical volumes that are not allowed,
A storage device.
前記複数のディスクアレイそれぞれが、RAID構成を有し、
前記ポリシーが、当該論理ボリュームを構築可能なディスクアレイの構成として、当該論理ボリュームを構築可能なRAID構成を含み、
前記ディスクアレイ制御部が、更に、前記複数のディスクアレイそれぞれ毎に、当該ディスクアレイが有するRAID構成の種類と、当該ディスクアレイの性能とが登録されたRAID対応テーブルを用いて、前記選択可能なディスクアレイを検出する、請求項1に記載のストレージ装置。
Each of the plurality of disk arrays has a RAID configuration;
The policy includes a RAID configuration capable of constructing the logical volume as a configuration of the disk array capable of constructing the logical volume,
The disk array control unit can further select each of the plurality of disk arrays using a RAID correspondence table in which the type of RAID configuration of the disk array and the performance of the disk array are registered. The storage apparatus according to claim 1, wherein the storage apparatus detects a disk array.
前記ポリシーが、更に、前記複数の論理ボリュームそれぞれ毎に、当該論理ボリュームを構築可能なディスクアレイの性能を示す指標を含み、
前記ディスクアレイ制御部が、更に、
前記選択可能なディスクアレイ中のエクステントの中から、負荷が設定された条件を満たすエクステントを移転先候補エクステントとして選択し、
前記ポリシーテーブルを用いて、前記移転先候補エクステントが割り当てられている論理ボリュームのポリシーを特定し、
前記移転先候補エクステントが割り当てられている論理ボリュームのポリシーと、前記移転元エクステントが割り当てられている論理ボリュームのポリシーとを対比して、前記移転元エクステントのデータを前記移転先候補エクステントに移転可能かどうかを判定する、請求項1または2に記載のストレージ装置。
The policy further includes, for each of the plurality of logical volumes, an index indicating the performance of a disk array capable of constructing the logical volume,
The disk array control unit further includes:
From the extents in the selectable disk array, select an extent satisfying a load setting condition as a transfer destination candidate extent,
Using the policy table, specify the policy of the logical volume to which the transfer destination candidate extent is allocated,
The data of the transfer source extent can be transferred to the transfer destination candidate extent by comparing the policy of the logical volume to which the transfer destination candidate extent is assigned with the policy of the logical volume to which the transfer source extent is assigned. The storage apparatus according to claim 1, wherein the storage apparatus determines whether or not.
前記ポリシーが、更に、前記複数の論理ボリュームそれぞれ毎に、当該論理ボリュームが構築されているディスクアレイが他の論理ボリュームに対して許容することができる許容負荷を含み、
前記ディスクアレイ制御部が、更に、前記移転先候補エクステントに移転可能と判定した場合に、
前記移転先候補エクステントを含むディスクアレイ中の他のエクステントについて、割り当てられている論理ボリュームのポリシーを特定し、
前記他のエクステントが割り当てられている論理ボリュームのポリシーと、前記移転元エクステントの負荷とを対比して、再度、前記移転元エクステントのデータを前記移転先候補エクステントに移転可能かどうかを判定する、請求項3に記載のストレージ装置。
The policy further includes, for each of the plurality of logical volumes, an allowable load that the disk array in which the logical volume is constructed can allow the other logical volumes;
When the disk array control unit further determines that transfer to the transfer destination candidate extent is possible,
Identify the logical volume policy assigned to other extents in the disk array containing the transfer destination candidate extents,
The policy of the logical volume to which the other extent is allocated is compared with the load of the transfer source extent, and it is determined again whether the data of the transfer source extent can be transferred to the transfer destination candidate extent. The storage device according to claim 3.
前記ディスクアレイ制御部が、前記移転元エクステントのデータを前記移転先候補エクステントに移転不可能であると判定した場合に、外部に、前記データの移転が不可能である旨を通知する、請求項3または4に記載のストレージ装置。   The disk array control unit notifies the outside that the data cannot be transferred when it is determined that the data of the transfer source extent cannot be transferred to the transfer destination candidate extent. The storage apparatus according to 3 or 4. 前記複数のディスクアレイの全部又は一部が、予備のディスクを備えており、
前記ディスクアレイ制御部が、前記選択可能なディスクアレイとして、前記予備のディスクを備えたディスクアレイを検出した場合に、前記予備ディスクの記憶領域に設定されるエクステントを含めた、前記選択可能なディスクアレイ中のエクステントの中から、前記移転先候補エクステントを選択する、請求項3〜5のいずれかに記載のストレージ装置。
All or a part of the plurality of disk arrays includes a spare disk,
The selectable disk including an extent set in the storage area of the spare disk when the disk array control unit detects a disk array having the spare disk as the selectable disk array. The storage apparatus according to any one of claims 3 to 5, wherein the transfer destination candidate extent is selected from extents in the array.
前記ディスクアレイ制御部が、前記移転先候補エクステントとして、前記予備ディスクの記憶領域に設定されるエクステントを選択し、そして、前記移転元エクステントのデータを前記予備ディスクの記憶領域に設定されるエクステントに移転可能であると判定し、その後、前記移転元エクステントのデータが前記予備ディスクの記憶領域に設定されるエクステントに移転された場合に、
外部に、前記予備ディスクが使用されている旨を通知する、請求項6に記載のストレージ装置。
The disk array control unit selects an extent set in the storage area of the spare disk as the transfer destination candidate extent, and sets the data of the transfer source extent as an extent set in the storage area of the spare disk. When it is determined that transfer is possible, and then the data of the transfer source extent is transferred to an extent set in the storage area of the spare disk,
The storage device according to claim 6, which notifies the outside that the spare disk is being used.
当該ストレージ装置が、複数のディスクアレイを備える他のストレージ装置にネットワークを介して接続されている場合に、
前記ディスクアレイ制御部が、当該ストレージ装置が備えるディスクアレイに設定されたエクステントと、前記他のストレージ装置が備えるディスクアレイに設定されたエクステントとの中から、前記選択可能なディスクアレイを検出する、請求項1〜7のいずれかに記載のストレージ装置。
When the storage device is connected to another storage device having a plurality of disk arrays via a network,
The disk array control unit detects the selectable disk array from the extent set in the disk array included in the storage device and the extent set in the disk array included in the other storage device; The storage device according to any one of claims 1 to 7.
ホスト装置と、前記ホスト装置から認識可能な複数の論理ボリュームが構築されているストレージ装置とを備え、
前記ストレージ装置は、複数のディスクアレイと、前記複数のディスクアレイそれぞれの記憶領域を複数個のエクステントに物理的に分割し、一又は二以上の前記エクステントを前記複数の論理ボリュームのいずれかに割り当てて、前記記憶領域を管理する、ディスクアレイ制御部とを備え、
前記ディスクアレイ制御部は、いずれかのエクステントの負荷が設定された条件を満たさない場合に、当該エクステントを移転元エクステントとして、前記移転元エクステントが割り当てられている論理ボリュームを特定し、
そして、前記複数の論理ボリュームそれぞれ毎のポリシーが登録されているポリシーテーブルに、特定した論理ボリュームを照合して、そのポリシーを特定し、
特定したポリシーに基づいて、前記移転元エクステントに記憶されているデータの移転先として選択可能なディスクアレイを検出し、
前記複数の論理ボリュームそれぞれ毎のポリシーは、少なくとも、当該論理ボリュームを構築可能なディスクアレイの構成、当該論理ボリュームに格納されているデータにおける処理の優先度、及び当該論理ボリュームと同一のディスクアレイに存在することが許容されていない他の論理ボリュームの識別子を含む、
ことを特徴とするストレージシステム。
A host device and a storage device in which a plurality of logical volumes recognizable from the host device are constructed,
The storage device physically divides a plurality of disk arrays and a storage area of each of the plurality of disk arrays into a plurality of extents, and allocates one or more extents to any one of the plurality of logical volumes. And a disk array control unit for managing the storage area,
When the extent of any extent does not satisfy the set condition, the disk array control unit specifies the logical volume to which the transfer source extent is assigned, using the extent as the transfer source extent,
Then, the policy table in which a policy for each of the plurality of logical volumes is registered is compared with the specified logical volume to specify the policy,
Based on the identified policy, a disk array that can be selected as a transfer destination of data stored in the transfer source extent is detected,
The policy for each of the plurality of logical volumes includes at least the configuration of a disk array that can construct the logical volume, the priority of processing in the data stored in the logical volume, and the same disk array as the logical volume. Including identifiers of other logical volumes that are not allowed to exist,
A storage system characterized by that.
前記複数のディスクアレイそれぞれが、RAID構成を有し、
前記ポリシーが、当該論理ボリュームを構築可能なディスクアレイの構成として、当該論理ボリュームを構築可能なRAID構成を含み、
前記ディスクアレイ制御部が、更に、前記複数のディスクアレイそれぞれ毎に、当該ディスクアレイが有するRAID構成の種類と、当該ディスクアレイの性能とが登録されたRAID対応テーブルを用いて、前記選択可能なディスクアレイを検出する、請求項9に記載のストレージシステム。
Each of the plurality of disk arrays has a RAID configuration;
The policy includes a RAID configuration capable of constructing the logical volume as a configuration of the disk array capable of constructing the logical volume,
The disk array control unit can further select each of the plurality of disk arrays using a RAID correspondence table in which the type of RAID configuration of the disk array and the performance of the disk array are registered. The storage system according to claim 9, wherein a disk array is detected.
前記ポリシーが、更に、前記複数の論理ボリュームそれぞれ毎に、当該論理ボリュームを構築可能なディスクアレイの性能を示す指標を含み、
前記ディスクアレイ制御部が、更に、
前記選択可能なディスクアレイ中のエクステントの中から、負荷が設定された条件を満たすエクステントを移転先候補エクステントとして選択し、
前記ポリシーテーブルを用いて、前記移転先候補エクステントが割り当てられている論理ボリュームのポリシーを特定し、
前記移転先候補エクステントが割り当てられている論理ボリュームのポリシーと、前記移転元エクステントが割り当てられている論理ボリュームのポリシーとを対比して、前記移転元エクステントのデータを前記移転先候補エクステントに移転可能かどうかを判定する、請求項9または10に記載のストレージシステム。
The policy further includes, for each of the plurality of logical volumes, an index indicating the performance of a disk array capable of constructing the logical volume,
The disk array control unit further includes:
From the extents in the selectable disk array, select an extent satisfying a load setting condition as a transfer destination candidate extent,
Using the policy table, specify the policy of the logical volume to which the transfer destination candidate extent is allocated,
The data of the transfer source extent can be transferred to the transfer destination candidate extent by comparing the policy of the logical volume to which the transfer destination candidate extent is assigned with the policy of the logical volume to which the transfer source extent is assigned. The storage system according to claim 9 or 10, wherein it is determined whether or not.
前記ポリシーが、更に、前記複数の論理ボリュームそれぞれ毎に、当該論理ボリュームが構築されているディスクアレイが他の論理ボリュームに対して許容することができる許容負荷を含み、
前記ディスクアレイ制御部が、更に、前記移転先候補エクステントに移転可能と判定した場合に、
前記移転先候補エクステントを含むディスクアレイ中の他のエクステントについて、割り当てられている論理ボリュームのポリシーを特定し、
前記他のエクステントが割り当てられている論理ボリュームのポリシーと、前記移転元エクステントの負荷とを対比して、再度、前記移転元エクステントのデータを前記移転先候補エクステントに移転可能かどうかを判定する、請求項11に記載のストレージシステム。
The policy further includes, for each of the plurality of logical volumes, an allowable load that the disk array in which the logical volume is constructed can allow the other logical volumes;
When the disk array control unit further determines that transfer to the transfer destination candidate extent is possible,
Identify the logical volume policy assigned to other extents in the disk array containing the transfer destination candidate extents,
The policy of the logical volume to which the other extent is allocated is compared with the load of the transfer source extent, and it is determined again whether the data of the transfer source extent can be transferred to the transfer destination candidate extent. The storage system according to claim 11.
前記ディスクアレイ制御部が、前記移転元エクステントのデータを前記移転先候補エクステントに移転不可能であると判定した場合に、外部に、前記データの移転が不可能である旨を通知する、請求項11または12に記載のストレージシステム。   The disk array control unit notifies the outside that the data cannot be transferred when it is determined that the data of the transfer source extent cannot be transferred to the transfer destination candidate extent. The storage system according to 11 or 12. 前記複数のディスクアレイの全部又は一部が、予備のディスクを備えており、
前記ディスクアレイ制御部が、前記選択可能なディスクアレイとして、前記予備のディスクを備えたディスクアレイを検出した場合に、前記予備ディスクの記憶領域に設定されるエクステントを含めた、前記選択可能なディスクアレイ中のエクステントの中から、前記移転先候補エクステントを選択する、請求項11〜13のいずれかに記載のストレージシステム。
All or a part of the plurality of disk arrays includes a spare disk,
The selectable disk including an extent set in the storage area of the spare disk when the disk array control unit detects a disk array having the spare disk as the selectable disk array. The storage system according to any one of claims 11 to 13, wherein the transfer destination candidate extent is selected from the extents in the array.
前記ディスクアレイ制御部が、前記移転先候補エクステントとして、前記予備ディスクの記憶領域に設定されるエクステントを選択し、そして、前記移転元エクステントのデータを前記予備ディスクの記憶領域に設定されるエクステントに移転可能であると判定し、その後、前記移転元エクステントのデータが前記予備ディスクの記憶領域に設定されるエクステントに移転された場合に、
前記ホスト装置に、前記予備ディスクが使用されている旨を通知する、請求項14に記載のストレージシステム。
The disk array control unit selects an extent set in the storage area of the spare disk as the transfer destination candidate extent, and sets the data of the transfer source extent as an extent set in the storage area of the spare disk. When it is determined that transfer is possible, and then the data of the transfer source extent is transferred to an extent set in the storage area of the spare disk,
The storage system according to claim 14, wherein the storage system notifies the host device that the spare disk is being used.
前記ストレージ装置が複数備えられており、前記ストレージ装置それぞれは、互いに、ネットワークを介して接続されており、
前記ストレージ装置それぞれにおいて、前記ディスクアレイ制御部が、それが備えられたストレージ装置が備えるディスクアレイに設定されたエクステントと、他のストレージ装置が備えるディスクアレイに設定されたエクステントとの中から、前記選択可能なディスクアレイを検出する、請求項9〜15のいずれかに記載のストレージシステム。
A plurality of the storage devices are provided, and each of the storage devices is connected to each other via a network,
In each of the storage devices, the disk array control unit includes the extent set in the disk array included in the storage device provided with the storage device and the extent set in the disk array included in the other storage device. The storage system according to any one of claims 9 to 15, wherein a selectable disk array is detected.
外部から認識可能な複数の論理ボリュームが構築されたストレージ装置において、それに備えられた複数のディスクアレイを制御するための方法であって、
(a)前記複数のディスクアレイそれぞれの記憶領域を複数個のエクステントに物理的に分割し、一又は二以上の前記エクステントを前記複数の論理ボリュームのいずれかに割り当てる、ステップと、
(b)いずれかのエクステントの負荷が設定された条件を満たさない場合に、当該エクステントを移転元エクステントとして、前記移転元エクステントが割り当てられている論理ボリュームを特定する、ステップと、
(c)前記複数の論理ボリュームそれぞれ毎の、当該論理ボリュームを構築可能なディスクアレイの構成、当該論理ボリュームに格納されているデータにおける処理の優先度、及び当該論理ボリュームと同一のディスクアレイに存在することが許容されていない他の論理ボリュームの識別子含む、ポリシーが登録されているポリシーテーブルに、前記(b)のステップで特定した論理ボリュームを照合して、そのポリシーを特定する、ステップと、
(d)前記(c)のステップで特定したポリシーに基づいて、前記移転元エクステントに記憶されているデータの移転先として選択可能なディスクアレイを検出する、ステップと、を有することを特徴とするディスクアレイ制御方法。
In a storage apparatus in which a plurality of logical volumes recognizable from the outside are constructed, a method for controlling a plurality of disk arrays provided therein,
(A) physically dividing a storage area of each of the plurality of disk arrays into a plurality of extents, and allocating one or two or more extents to any of the plurality of logical volumes;
(B) when the load of any extent does not satisfy the set condition, the logical volume to which the transfer source extent is assigned is determined using the extent as the transfer source extent; and
(C) For each of the plurality of logical volumes, the configuration of the disk array capable of constructing the logical volume, the priority of processing in the data stored in the logical volume, and the disk array that is the same as the logical volume Collating the logical volume identified in step (b) with a policy table in which a policy is registered, including identifiers of other logical volumes that are not allowed to be identified, and identifying the policy; and
And (d) detecting a disk array that can be selected as a transfer destination of data stored in the transfer source extent based on the policy specified in the step (c). Disk array control method.
前記複数のディスクアレイそれぞれが、RAID構成を有しており、
前記(c)のステップにおいて、前記ポリシーが、当該論理ボリュームを構築可能なディスクアレイの構成として、当該論理ボリュームを構築可能なRAID構成を含み、
前記(d)のステップにおいて、前記複数のディスクアレイそれぞれ毎に、当該ディスクアレイが有するRAID構成の種類と、当該ディスクアレイの性能とが登録されたRAID対応テーブルを用いて、前記選択可能なディスクアレイを検出する、請求項17に記載のディスクアレイ制御方法。
Each of the plurality of disk arrays has a RAID configuration;
In the step (c), the policy includes a RAID configuration capable of constructing the logical volume as a configuration of a disk array capable of constructing the logical volume, and
In the step (d), for each of the plurality of disk arrays, the selectable disk can be selected using a RAID correspondence table in which the type of RAID configuration of the disk array and the performance of the disk array are registered. The disk array control method according to claim 17, wherein the array is detected.
前記(c)のステップにおいて、前記ポリシーが、更に、前記複数の論理ボリュームそれぞれ毎に、当該論理ボリュームを構築可能なディスクアレイの性能を示す指標を含み、(e)前記選択可能なディスクアレイ中のエクステントの中から、負荷が設定された条件を満たすエクステントを移転先候補エクステントとして選択し、前記ポリシーテーブルを用いて、前記移転先候補エクステントが割り当てられている論理ボリュームのポリシーを特定する、ステップと、
(f)前記移転先候補エクステントが割り当てられている論理ボリュームのポリシーと、前記移転元エクステントが割り当てられている論理ボリュームのポリシーとを対比して、前記移転元エクステントのデータを前記移転先候補エクステントに移転可能かどうかを判定する、ステップとを更に有する、請求項17または18に記載のディスクアレイ制御方法。
In the step (c), the policy further includes, for each of the plurality of logical volumes, an index indicating the performance of the disk array capable of constructing the logical volume, and (e) in the selectable disk array Selecting an extent satisfying a set load condition as a transfer destination candidate extent from among the extents of the file, and using the policy table, identifying a policy of a logical volume to which the transfer destination candidate extent is allocated, When,
(F) By comparing the policy of the logical volume to which the transfer destination candidate extent is allocated with the policy of the logical volume to which the transfer source extent is allocated, the data of the transfer source extent is converted to the transfer destination candidate extent. 19. The disk array control method according to claim 17 or 18, further comprising the step of determining whether or not transfer is possible.
前記(c)のステップにおいて、前記ポリシーが、更に、前記複数の論理ボリュームそれぞれ毎に、当該論理ボリュームが構築されているディスクアレイが他の論理ボリュームに対して許容することができる許容負荷を含み、
(g)前記(f)のステップで、前記移転先候補エクステントに移転可能と判定した場合に、前記移転先候補エクステントを含むディスクアレイ中の他のエクステントについて、割り当てられている論理ボリュームのポリシーを特定する、ステップと、
(h)前記(g)のステップの実行後に、前記他のエクステントが割り当てられている論理ボリュームのポリシーと、前記移転元エクステントの負荷とを対比して、再度、前記移転元エクステントのデータを前記移転先候補エクステントに移転可能かどうかを判定する、ステップとを更に有する、請求項19に記載のディスクアレイ制御方法。
In the step (c), the policy further includes, for each of the plurality of logical volumes, an allowable load that the disk array in which the logical volume is constructed can permit the other logical volumes. ,
(G) When it is determined in the step (f) that transfer to the transfer destination candidate extent is possible, the policy of the logical volume allocated to other extents in the disk array including the transfer destination candidate extent is changed. Identify, step,
(H) After the execution of the step (g), the policy of the logical volume to which the other extent is allocated is compared with the load of the transfer source extent, and the data of the transfer source extent is stored again. The disk array control method according to claim 19, further comprising the step of determining whether or not transfer to a transfer destination candidate extent is possible.
(i)前記移転元エクステントのデータを前記移転先候補エクステントに移転不可能であると判定した場合に、外部に、前記データの移転が不可能である旨を通知する、ステップを更に有している、請求項19または20に記載のディスクアレイ制御方法。 (I) When it is determined that the data of the transfer source extent cannot be transferred to the transfer destination candidate extent, the step of notifying the outside that the data cannot be transferred is further included. The disk array control method according to claim 19 or 20. 前記複数のディスクアレイの全部又は一部が、予備のディスクを備えており、
前記(d)のステップにおいて、前記選択可能なディスクアレイとして、前記予備のディスクを備えたディスクアレイを検出した場合に、前記(e)のステップにおいて、前記予備ディスクの記憶領域に設定されるエクステントを含めた、前記選択可能なディスクアレイ中のエクステントの中から、前記移転先候補エクステントを選択する、請求項19〜21のいずれかに記載のディスクアレイ制御方法。
All or a part of the plurality of disk arrays includes a spare disk,
When a disk array having the spare disk is detected as the selectable disk array in the step (d), the extent set in the storage area of the spare disk in the step (e) The disk array control method according to any one of claims 19 to 21, wherein the transfer destination candidate extent is selected from among the extents in the selectable disk array including.
(j)前記(e)のステップにおいて、前記移転先候補エクステントとして、前記予備ディスクの記憶領域に設定されるエクステントを選択し、そして、前記(f)のステップにおいて、前記移転元エクステントのデータを前記予備ディスクの記憶領域に設定されるエクステントに移転可能であると判定し、その後、前記移転元エクステントのデータが前記予備ディスクの記憶領域に設定されるエクステントに移転された場合に、
外部に、前記予備ディスクが使用されている旨を通知する、ステップを更に有する、請求項22に記載のディスクアレイ制御方法。
(J) In the step (e), an extent set in the storage area of the spare disk is selected as the transfer destination candidate extent, and in the step (f), the data of the transfer source extent is selected. When it is determined that the data can be transferred to the extent set in the storage area of the spare disk, and then the data of the transfer source extent is transferred to the extent set in the storage area of the spare disk,
23. The disk array control method according to claim 22, further comprising a step of notifying the outside that the spare disk is being used.
前記ストレージ装置が複数存在し、前記ストレージ装置それぞれが、互いに、ネットワークを介して接続されている場合に、
前記(d)のステップにおいて、複数の前記ストレージ装置が備えるディスクアレイに設定されたエクステントの中から、前記選択可能なディスクアレイを検出する、請求項17〜23のいずれかに記載のディスクアレイ制御方法。
When there are a plurality of the storage devices and each of the storage devices is connected to each other via a network,
The disk array control according to any one of claims 17 to 23, wherein in the step (d), the selectable disk array is detected from extents set in the disk arrays included in the plurality of storage devices. Method.
外部から認識可能な複数の論理ボリュームが構築された複数のディスクアレイを、コンピュータによって制御するためのプログラムであって、
前記コンピュータに、
(a)前記複数のディスクアレイそれぞれの記憶領域を複数個のエクステントに物理的に分割し、一又は二以上の前記エクステントを前記複数の論理ボリュームのいずれかに割り当てる、ステップと、
(b)いずれかのエクステントの負荷が設定された条件を満たさない場合に、当該エクステントを移転元エクステントとして、前記移転元エクステントが割り当てられている論理ボリュームを特定する、ステップと、
(c)前記複数の論理ボリュームそれぞれ毎の、当該論理ボリュームを構築可能なディスクアレイの構成、当該論理ボリュームに格納されているデータにおける処理の優先度、及び当該論理ボリュームと同一のディスクアレイに存在することが許容されていない他の論理ボリュームの識別子含む、ポリシーが登録されているポリシーテーブルに、前記(b)のステップで特定した論理ボリュームを照合して、そのポリシーを特定する、ステップと、
(d)前記(c)のステップで特定したポリシーに基づいて、前記移転元エクステントに記憶されているデータの移転先として選択可能なディスクアレイを検出する、ステップと、を実行させることを特徴とするプログラム。
A program for controlling, by a computer, a plurality of disk arrays in which a plurality of logical volumes recognizable from the outside are constructed,
In the computer,
(A) physically dividing a storage area of each of the plurality of disk arrays into a plurality of extents, and allocating one or two or more extents to any of the plurality of logical volumes;
(B) when the load of any extent does not satisfy the set condition, the logical volume to which the transfer source extent is allocated is specified using the extent as the transfer source extent; and
(C) For each of the plurality of logical volumes, the configuration of the disk array capable of constructing the logical volume, the priority of processing in the data stored in the logical volume, and the disk array that is the same as the logical volume Collating the logical volume identified in step (b) with a policy table in which a policy is registered, including identifiers of other logical volumes that are not allowed to be identified, and identifying the policy; and
And (d) detecting a disk array that can be selected as a transfer destination of data stored in the transfer source extent based on the policy specified in the step (c). Program to do.
前記複数のディスクアレイそれぞれが、RAID構成を有しており、
前記(c)のステップにおいて、前記ポリシーが、当該論理ボリュームを構築可能なディスクアレイの構成として、当該論理ボリュームを構築可能なRAID構成を含み、
前記(d)のステップにおいて、前記複数のディスクアレイそれぞれ毎に、当該ディスクアレイが有するRAID構成の種類と、当該ディスクアレイの性能とが登録されたRAID対応テーブルを用いて、前記選択可能なディスクアレイを検出する、請求項25に記載のプログラム。
Each of the plurality of disk arrays has a RAID configuration;
In the step (c), the policy includes a RAID configuration capable of constructing the logical volume as a configuration of a disk array capable of constructing the logical volume, and
In the step (d), for each of the plurality of disk arrays, the selectable disk can be selected using a RAID correspondence table in which the type of RAID configuration of the disk array and the performance of the disk array are registered. The program according to claim 25, wherein the program detects an array.
前記(c)のステップにおいて、前記ポリシーが、更に、前記複数の論理ボリュームそれぞれ毎に、当該論理ボリュームを構築可能なディスクアレイの性能を示す指標を含み、(e)前記選択可能なディスクアレイ中のエクステントの中から、負荷が設定された条件を満たすエクステントを移転先候補エクステントとして選択し、前記ポリシーテーブルを用いて、前記移転先候補エクステントが割り当てられている論理ボリュームのポリシーを特定する、ステップと、
(f)前記移転先候補エクステントが割り当てられている論理ボリュームのポリシーと、前記移転元エクステントが割り当てられている論理ボリュームのポリシーとを対比して、前記移転元エクステントのデータを前記移転先候補エクステントに移転可能かどうかを判定する、ステップとを、更に前記コンピュータに実行させる、請求項25または26に記載のプログラム。
In the step (c), the policy further includes, for each of the plurality of logical volumes, an index indicating the performance of the disk array capable of constructing the logical volume, and (e) in the selectable disk array Selecting an extent satisfying a set load condition as a transfer destination candidate extent from among the extents of the file, and using the policy table, identifying a policy of a logical volume to which the transfer destination candidate extent is allocated, When,
(F) By comparing the policy of the logical volume to which the transfer destination candidate extent is allocated with the policy of the logical volume to which the transfer source extent is allocated, the data of the transfer source extent is converted to the transfer destination candidate extent. 27. The program according to claim 25 or 26, further comprising: causing the computer to execute a step of determining whether or not transfer is possible.
前記(c)のステップにおいて、前記ポリシーが、更に、前記複数の論理ボリュームそれぞれ毎に、当該論理ボリュームが構築されているディスクアレイが他の論理ボリュームに対して許容することができる許容負荷を含み、
(g)前記(f)のステップで、前記移転先候補エクステントに移転可能と判定した場合に、前記移転先候補エクステントを含むディスクアレイ中の他のエクステントについて、割り当てられている論理ボリュームのポリシーを特定する、ステップと、
(h)前記(g)のステップの実行後に、前記他のエクステントが割り当てられている論理ボリュームのポリシーと、前記移転元エクステントの負荷とを対比して、再度、前記移転元エクステントのデータを前記移転先候補エクステントに移転可能かどうかを判定する、ステップとを、更に前記コンピュータに実行させる、請求項27に記載のプログラム。
In the step (c), the policy further includes, for each of the plurality of logical volumes, an allowable load that the disk array in which the logical volume is constructed can permit the other logical volumes. ,
(G) When it is determined in the step (f) that transfer to the transfer destination candidate extent is possible, the policy of the logical volume allocated to other extents in the disk array including the transfer destination candidate extent is changed. Identify, step,
(H) After the execution of the step (g), the policy of the logical volume to which the other extent is allocated is compared with the load of the transfer source extent, and the data of the transfer source extent is stored again. 28. The program according to claim 27, further causing the computer to execute a step of determining whether or not transfer to a transfer destination candidate extent is possible.
(i)前記移転元エクステントのデータを前記移転先候補エクステントに移転不可能であると判定した場合に、外部に、前記データの移転が不可能である旨を通知する、ステップを、更に前記コンピュータに実行させる、請求項27または28に記載のプログラム。 (I) when it is determined that the data of the transfer source extent cannot be transferred to the transfer destination candidate extent, the step of notifying the outside that the data cannot be transferred is further included in the computer The program according to claim 27 or 28, wherein the program is executed. 前記複数のディスクアレイの全部又は一部が、予備のディスクを備えており、
前記(d)のステップにおいて、前記選択可能なディスクアレイとして、前記予備のディスクを備えたディスクアレイを検出した場合に、前記(e)のステップにおいて、前記予備ディスクの記憶領域に設定されるエクステントを含めた、前記選択可能なディスクアレイ中のエクステントの中から、前記移転先候補エクステントを選択する、請求項27〜29のいずれかに記載のプログラム。
All or a part of the plurality of disk arrays includes a spare disk,
When a disk array having the spare disk is detected as the selectable disk array in the step (d), the extent set in the storage area of the spare disk in the step (e) 30. The program according to any one of claims 27 to 29, wherein the transfer destination candidate extent is selected from the extents in the selectable disk array.
(j)前記(e)のステップにおいて、前記移転先候補エクステントとして、前記予備ディスクの記憶領域に設定されるエクステントを選択し、そして、前記(f)のステップにおいて、前記移転元エクステントのデータを前記予備ディスクの記憶領域に設定されるエクステントに移転可能であると判定し、その後、前記移転元エクステントのデータが前記予備ディスクの記憶領域に設定されるエクステントに移転された場合に、
外部に、前記予備ディスクが使用されている旨を通知する、ステップを、更に前記コンピュータに実行させる、請求項30に記載のプログラム。
(J) In the step (e), an extent set in the storage area of the spare disk is selected as the transfer destination candidate extent, and in the step (f), the data of the transfer source extent is selected. When it is determined that the data can be transferred to the extent set in the storage area of the spare disk, and then the data of the transfer source extent is transferred to the extent set in the storage area of the spare disk,
The program according to claim 30, further causing the computer to further execute a step of notifying that the spare disk is being used.
前記ストレージ装置が複数存在し、前記ストレージ装置それぞれが、互いに、ネットワークを介して接続されている場合に、
前記(d)のステップにおいて、複数の前記ストレージ装置が備えるディスクアレイに設定されたエクステントの中から、前記選択可能なディスクアレイを検出する、請求項25〜31のいずれかに記載のプログラム。
When there are a plurality of the storage devices and each of the storage devices is connected to each other via a network,
The program according to any one of claims 25 to 31, wherein in the step (d), the selectable disk array is detected from extents set in the disk arrays included in the plurality of storage devices.
JP2009237667A 2009-10-14 2009-10-14 Storage device, storage system, method of controlling disk array, and program Pending JP2011086077A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009237667A JP2011086077A (en) 2009-10-14 2009-10-14 Storage device, storage system, method of controlling disk array, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009237667A JP2011086077A (en) 2009-10-14 2009-10-14 Storage device, storage system, method of controlling disk array, and program

Publications (1)

Publication Number Publication Date
JP2011086077A true JP2011086077A (en) 2011-04-28

Family

ID=44078980

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009237667A Pending JP2011086077A (en) 2009-10-14 2009-10-14 Storage device, storage system, method of controlling disk array, and program

Country Status (1)

Country Link
JP (1) JP2011086077A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013111297A1 (en) * 2012-01-26 2013-08-01 株式会社日立製作所 Information storage system administration system and administration method thereof
JP2013171305A (en) * 2012-02-17 2013-09-02 Fujitsu Ltd Storage device, storage system, storage management method and storage management program
KR101536070B1 (en) * 2013-09-24 2015-07-24 가부시끼가이샤 도시바 Storage system

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013111297A1 (en) * 2012-01-26 2013-08-01 株式会社日立製作所 Information storage system administration system and administration method thereof
JP2013171305A (en) * 2012-02-17 2013-09-02 Fujitsu Ltd Storage device, storage system, storage management method and storage management program
US9218276B2 (en) 2012-02-17 2015-12-22 Fujitsu Limited Storage pool-type storage system, method, and computer-readable storage medium for peak load storage management
KR101536070B1 (en) * 2013-09-24 2015-07-24 가부시끼가이샤 도시바 Storage system

Similar Documents

Publication Publication Date Title
US11372710B2 (en) Preemptive relocation of failing data
JP4183443B2 (en) Data relocation method and apparatus
US9697087B2 (en) Storage controller to perform rebuilding while copying, and storage system, and control method thereof
US9449011B1 (en) Managing data deduplication in storage systems
US8364858B1 (en) Normalizing capacity utilization within virtual storage pools
JP5068081B2 (en) Management apparatus and management method
US10289336B1 (en) Relocating data from an end of life storage drive based on storage drive loads in a data storage system using mapped RAID (redundant array of independent disks) technology
US20150153961A1 (en) Method for assigning storage area and computer system using the same
US20070245114A1 (en) Storage system and control method for the same
JP5583775B2 (en) Storage system and ownership control method in storage system
US8495295B2 (en) Mass storage system and method of operating thereof
US20110283062A1 (en) Storage apparatus and data retaining method for storage apparatus
JP6434131B2 (en) Distributed processing system, task processing method, storage medium
US10664182B2 (en) Storage system
GB2513377A (en) Controlling data storage in an array of storage devices
US8489918B2 (en) Storage system and ownership control method for storage system
US8972656B1 (en) Managing accesses to active-active mapped logical volumes
JP2007087039A (en) Disk array system and control method
US8386837B2 (en) Storage control device, storage control method and storage control program
US20120297156A1 (en) Storage system and controlling method of the same
US8972657B1 (en) Managing active—active mapped logical volumes
US20100100677A1 (en) Power and performance management using MAIDx and adaptive data placement
WO2015114643A1 (en) Data storage system rebuild
JPH10333838A (en) Data multiplexing storage sub-system
JP2011086077A (en) Storage device, storage system, method of controlling disk array, and program