WO2012169027A1 - 計算機システム及びストレージシステム管理方法 - Google Patents
計算機システム及びストレージシステム管理方法 Download PDFInfo
- Publication number
- WO2012169027A1 WO2012169027A1 PCT/JP2011/063165 JP2011063165W WO2012169027A1 WO 2012169027 A1 WO2012169027 A1 WO 2012169027A1 JP 2011063165 W JP2011063165 W JP 2011063165W WO 2012169027 A1 WO2012169027 A1 WO 2012169027A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- pool
- performance
- data
- predicted
- resource
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
- G06F3/0649—Lifecycle management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0605—Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0653—Monitoring storage devices or systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0662—Virtualisation aspects
- G06F3/0665—Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
Definitions
- the host server 300 is a computer that accesses the resources of the storage system 340 and performs business.
- the host server 300 includes a host bus adapter (HBA) 303 that is a network interface, a processor 301, a memory 302 that is a main storage device, and an auxiliary storage device 305.
- HBA host bus adapter
- Each field of the Tier column 1105 stores the type of the hierarchy in which the page of each record is stored. This value is updated in data evacuation and inter-tier relocation for resource movement.
- FIG. 12 shows an example of the time zone average IOPS information table 519.
- the time zone average IOPS information table 519 includes a pool ID column 1201, a time zone column 1202, a time zone average IOPS column 1203, and an update count column 1204.
- the time zone average IOPS is an average value of measured values of IOPS in each time zone (a time zone of 10 minutes in this example) as described in S602 of the flowchart in FIG.
- the information collection function 501 updates this value. The update is performed in a monitoring period cycle.
- the performance management function 502 determines whether or not a performance problem has occurred in response to the result of the performance monitoring process performed in S1701 (S1702). If a performance problem has occurred (S1702: YES), the performance management function 502 executes S1703. If no performance problem has occurred in S1701 (S1702: NO), the performance management function 502 ends the process.
- the performance management function 502 immediately adds unused resources to the dangerous pool, predicts the page arrangement after page rebalancing (page rearrangement within the hierarchy) in the dangerous pool, Along with the history information, the response time of the danger pool in each time zone after adding the resource is predicted. Rebalancing will be described in the description of S1707.
- the release of the pool volume from the pool will fail. Since the data in the Tier is distributed and arranged in the pool volumes constituting the Tier, the save page is also distributed and written among the free pool volumes.
- the performance management function 502 repeats S1801 to S1805 for each virtual volume.
- the performance management function 502 calculates a performance surplus rate for the virtual volume (S1802).
- the performance management function 502 refers to the virtual volume information table 522, and calculates the performance surplus rate from the latest response time of the virtual volume and the request response time upper limit of the virtual volume by the following formula.
- Virtual volume performance surplus rate (%) (100-(latest response time / requested response time upper limit) x 100)
- the performance management function 502 determines that the pool whose performance surplus rate is lower than the lower threshold in S1802 is a dangerous pool, and stores information on the risk pool (pool ID and virtual volume performance surplus rate) in the risk pool group table. Add to 518.
- the performance management function 502 repeats S2302 to S2307 for each pool other than the dangerous pool.
- the performance management function 502 calculates the estimated time required for resource release. Specifically, the performance management function 502 calculates the transfer data amount for each transfer route, obtains the transfer rate for each transfer route, and determines the resource based on the transfer data amount for each transfer route and the transfer rate for each transfer route. Calculate the estimated time required for release.
- the transfer path is a transfer path between Tiers in the pool.
- the management system can use a value different from the response time as an index of the performance requirement that the pool should satisfy. For example, transfer rate (MB / s), throughput (Max-IOPS), and other indicators can be used.
- the management system performs a simulation for performance prediction based on the historical information of the storage system that is periodically acquired. Thus, more accurate performance prediction can be performed. Depending on the design, performance prediction may be performed using certain preset data.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Debugging And Monitoring (AREA)
Abstract
本発明の一実施形態において、ストレージシステムは、それぞれが複数の記憶リソースを含みアクセス性能が異なる複数の階層に分けられた、複数のプールを含む。管理システムは、上記複数のプールのアクセス性能を監視し、予め定められたアクセス性能要求を満たさなくなることが予測される危険プールを検知する。上記管理システムは、上記複数のプールの1以上の候補プールのそれぞれについて、記憶リソースを上記危険プールに移動する場合のアクセス性能を、上記記憶リソースの上記移動のために上記記憶リソースに格納されているデータを同一プール内で退避することによるプール内データ配置の変動に基づくシミュレーションにより予測する。上記管理システムは、上記予測したアクセス性能が予め定められた性能要求を満たす提供元プールから上記記憶リソースを上記危険プールに移動することを決定する。
Description
本発明は、計算機システム及びストレージシステム管理方法に関し、特に、ストレージシステムにおけるリソースの再割り当てに関する。
ストレージシステムからホストに対してボリュームを提供する際、ストレージシステム内の性能の異なる複数のメディアから階層化されたプールを構成し、そのプールから構築した仮想ボリュームをホストに割り当てる運用が知られている(例えば、特許文献1を参照)。
ストレージシステムは、仮想ボリュームに対するホストからのI/O(Input/Output)負荷を分析し、I/O負荷の高いページを、性能の高い高価なディスクで構成されたリソースから成る上位階層に、そうでないページを性能の低い安価なディスクで構成されたリソースから成る下位階層に自動配置する。これにより、少ないTCO(Total Cost of Ownership)で、効率的に要求性能を満たすことが出来る。
複数ホストに同じストレージシステムからボリュームを提供する場合、それぞれのI/Oの競合を避けるため、プールを分ける場合がある。従来技術は、プール毎にTierの配分を決めて運用するため、プール毎のI/O負荷に偏りが生じた場合に、ホストの要求性能を満たせなくなる危険度にプール間でのバラつきが生じる。
ホストの要求性能を満たせなくなる可能性の高いプール(危険プール)がある場合、速やかにそのプールの性能を改善する必要がある。そのため、管理者は、細やかに各プールの性能を監視しなければならず、管理コストが増大する。また、従来技術においては、危険プールの性能を改善するにあたり、使用されていないリソースを危険プールに追加する必要がある。これに伴い、ストレージシステム内にリソースを待機させておく必要が生じ、システムコストが増大する。
ストレージシステムにおいて、管理コストを抑えつつ、各プールがホストの要求性能を満たせることを保証することが要求される。これに加えて、システムコストを抑えるために、ストレージシステム内で使われていないリソースの量を削減することが重要である。
本発明の一態様の計算機システムは、ストレージシステムと、上記ストレージシステムとネットワークを介して接続し前記ストレージシステムを管理する管理システムとを含む。上記ストレージシステムは、それぞれが複数の記憶リソースを含みアクセス性能が異なる複数の階層に分けられた、複数のプールを含む。上記管理システムは、上記複数のプールのアクセス性能を監視し、予め定められたアクセス性能要求を満たさなくなることが予測される危険プールを検知する。上記管理システムは、上記複数のプールの1以上の候補プールのそれぞれについて、記憶リソースを上記危険プールに移動する場合のアクセス性能を、上記記憶リソースの上記移動のために上記記憶リソースに格納されているデータを同一プール内で退避することによるプール内データ配置の変動に基づくシミュレーションにより予測する。上記管理システムは、上記予測したアクセス性能が予め定められた性能要求を満たす提供元プールから上記記憶リソースを上記危険プールに移動することを決定する。
本発明の一態様によれば、効率的にストレージシステムの各プールの要求性能を満たすことができる。
以下、図面を参照しつつ、本発明を実施するための形態を説明する。説明の明確化のため、以下の記載及び図面は、適宜、省略及び簡略化がなされている。又、各図面において、同一要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略されている。
本実施形態は、プール間のリソース(記憶リソース)の再割り当てに関する。図1及び図2を参照して、本実施形態の概要を説明する。本実施形態のストレージシステムは、図1に示すように、複数のプールボリューム(実ボリューム)からなるプール100を構築する。プール100はアクセス性能によって階層化されており、複数の階層、本例において3つの階層を有する。Tier0のボリュームのアクセス性能が最も高く、Tier2のボリュームのアクセス性能が最も低い。
各階層は、複数の実ボリュームで構成されており、本例において、Tier0がプールボリューム101、102からなり、Tier1がプールボリューム111、112からなり、Tier2がプールボリューム121、122からなる。各プールボリュームは複数ページに分割され、各ページにデータが格納される。図1において、ページ内の数字は、そのページの所定期間におけるI/O(Input/Output)量を示す。
ストレージシステム内で構築した複数のプールから、複数のホストサーバに対してボリュームを提供している環境において、プールの性能がホストサーバの性能要件(サービス要求項目:SLO)を満たせなくなる場合がある。本実施形態のシステムは、この兆候を検知した場合、性能に余裕のある別のプール(以下において提供元プール)から、プールを構成する記憶リソース(実ボリューム)を、SLOを満たせなくなる可能性が高いプール(以下において危険プール)に移動することによって、危険プールの性能を改善する。
本実施形態のシステムは、各プールのアクセス性能を監視する。監視される典型的なアクセス性能の指標は、レスポンスタイムである。いずれかのプールのアクセス性能がそのプールに対する要求性能を満たすことができない可能性があると判定すると、自動的に、他のプールから記憶リソースであるプールボリュームを解除し、そのプールボリュームを上記の危険プールに追加する。
これにより、アクセス性能が低下しているプールの性能を上げる。さらに、管理者の負担を軽減し、管理コストを削減できるとともに、ストレージシステム内に待機させておく必要のあるリソース量を低減でき、システムコストを削減できる。
[規則91に基づく訂正 25.07.2011]
図1の例は、プールボリューム102のページ(格納データ)を同一プール100内のプールボリューム122に退避し、プールボリューム102をプール100から解除する。プールボリューム102は、それを必要とする他の危険プールに追加される。プールボリューム102が追加された階層においては、ページのI/O量を均一化するように、ページが再配置(リバランス)される。
図1の例は、プールボリューム102のページ(格納データ)を同一プール100内のプールボリューム122に退避し、プールボリューム102をプール100から解除する。プールボリューム102は、それを必要とする他の危険プールに追加される。プールボリューム102が追加された階層においては、ページのI/O量を均一化するように、ページが再配置(リバランス)される。
図1において、高負荷なページ、つまり、所定期間のI/O量が大きいページが低速なTier2に退避されている。本実施形態のシステムは、プールボリューム102を解除した後、提供元プール100内のページ(データ)を階層間再配置する。これにより、I/O量の多いページを高性能の階層に格納することで、プールのアクセス性能を向上する。システムは、予め設定されている定期的な階層間再配置及び/又は、定期的な階層間再配置とは異なる時刻での階層間再配置を行う。
この階層間再配置の実行中、プールのアクセス性能が低下する。上述のように、プールの仮想ボリュームに対しては、予めホストサーバからの要求性能が存在している。各仮想ボリューム(各プール)は、この要求性能を常に満たすことが要求される。ボリュームを追加されたプールの性能は向上するが、プールボリュームを解除されたプールの性能は低下する。従って、ボリューム解除後も要求性能を満たすことができるプールから、プールボリュームを移動することが必要となる。
さらに、プール内でのページの階層間移動は、プール(仮想ボリューム)のアクセス性能を低下させる。これは、ページ移動の負荷が、ストレージシステムの仮想ボリュームへのアクセスの処理能力を低下させるからである。アクセス性能の低下は、プールボリューム移動のためのプール内でのページ退避(図1を参照)及び各ページのアクセス性能の向上のためのページの階層間再配置において発生する。
図2は、プールボリュームの提供元プールのレスポンスタイムの時間変化の一例を模式的に示している。図2において、Y軸はレスポンスタイム、X軸は時刻を示す。実線はボリューム移動前のレスポンスタイムを示し、一点鎖線はボリューム移動後のレスポンスタイム予測値を示し、破線はSLOで要求されているレスポンスタイムである。
時刻T21において、提供元プールからプールボリュームを解除するために、プール内でのページ移動(データ退避)が開始する。レスポンスタイム予測値のラインが示すように、ページ移動の負荷により、レスポンスタイムが大きく増加する。ページが性能の低い階層に移動するため(図1を参照)、移動開始T21からレスポンスタイムが徐々に増加する。時刻T22において、ページ退避のための移動が終了する。ページ移動の負荷がなくなるため、レスポンスタイムが大幅に短くなる。
高性能の階層に格納されていたページが低性能の階層に移動しているため、ページ退避後のレスポンスタイムは、リソース移動前(実線で示されている)のレスポンスタイムよりも遅い。時刻T23において定期的階層間再配置が開始し、時刻T24において終了する。これにより、プール内のページ配置が最適化される。階層間再配置は、監視期間中に記録したプール内の各ページのI/O量を基に、I/O量の多かったページから順に上位Tierに再配置する。階層間再配置はプール単位で実行される。
階層間再配置におけるページ移動処理の負荷のため、時刻T23から時刻T24において、レスポンスタイムが大きく増加している。階層間再配置により、相対的にI/O量が多いページが高性能の階層に移動するため、レスポンスタイムが時刻T23から時刻T24において徐々に減少する。時刻T24において階層間再配置が終了すると、レスポンスタイムが大きく低下する。
危険プールでSLO違反が発生する高い可能性を察知した場合、速やかにリソースを追加することにより性能を改善する必要がある。図1及び図2を参照して説明したように、提供元プールからリソース(プールボリューム)を移動するためには、そのリソースを提供元プールから解除する必要があり、解除するリソースに格納されているデータをプール内の他のリソース(プールボリューム)に退避しなければならない。
これにより、提供元プール内の最適ページ配置が損なわれ、階層間再配置によりページ配置が最適化されるまでは、性能が劣化した状態が維持される。ページ配置最適化のための階層間再配置は、任意のタイミングで実行できるが、多くの場合は、定期的に特定の時間帯に実施されるよう設定されている。そのため、プール内でのデータ退避の開始(リソース解除の開始)から階層間再配置の完了までの期間に、提供元プールの性能がSLO違反を起こさないことを保証することが要求される。
上述のように、プール間のプールボリューム移動及び定期的なページ階層間再配置のためのプール内ページ移動の間、プールのアクセス性能は大きく劣化し、レスポンスタイムは大幅に長くなる。そのため、プール内ページ移動の間において、プールはSLOのアクセス性能要求を満たしていることが必要である。
本実施の形態のシステムは、プール間のリソース移動の計画を立てる。リソース移動は、提供元プールからリソースを解除し、それを危険プールへ追加する。計画立案において、システムは、リソース移動後、プール内ページの階層間再配置を実施した後の危険プール及び提供元プール候補のアクセス性能を予測する。予測結果を基にリソースの提供元プールと、移動するリソースの種類、容量を決定する。
好ましい構成において、本実施形態のシステムは、リソースの提供元プールを選択する際に、リソース提供による提供元プールの性能劣化を、履歴データを基にしたシミュレーションにより予測する。そして、提供元プール(の仮想ボリューム)の性能がSLOを満たせるかどうかを予測し、提供元プールとなりえるプールの候補を特定する。
性能予測は、リソース解除のためのプール内でのページ移動による性能劣化、そして階層間再配置におけるプール内での階層間ページ移動による性能劣化を予測する。好ましい構成において、本実施形態のシステムは、提供元プールからのリソース移動後、提供元プールの階層間再配置を即時実行する場合と、即時階層間再配置を実行しない場合の、双方のプール性能を予測する。
性能劣化の予測は、リソース移動(データ退避)の開始時刻に依存する。本実施形態のシステムは、予測対象のプールについて、リソース移動開始時刻を変化させながらその性能を予測する。
危険プールの性能は早期に改善することが重要である。そのため、好ましい構成において、システムは、提供元プールの候補のうち、リソース提供可能時刻(プール内データ退避完了時刻)が最も早いプールを選択し、そのプールから危険プールにリソースを移動する。これにより、早期に危険プールの性能を改善しつつ、ストレージシステム全体においてSLOを満たせなくなる可能性を低減できる。
以下において、本実施形態の計算機システム及びその動作を、図面を参照して説明する。図3は、本実施形態の計算機システムの概略構成を模式的に示すブロック図である。本計算機システムは、複数のホストサーバ300、管理サーバ320、複数のストレージシステム340を含む。複数のホストサーバ300はそれぞれ同様の構成を有し、複数のストレージシステム340は、それぞれ同様の構成を有する。計算機システムが含みえるホストサーバ300、管理サーバ320、ストレージシステム340の数は、1以上の任意の数である。
ホストサーバ300、管理サーバ320、及びストレージシステム340は、管理ネットワーク370により、通信可能に接続されている。本構成においては、IPネットワークである。なお、管理ネットワーク370は、データ通信用のネットワークであればIPネットワーク以外のネットワークでもよい。
ホストサーバ300及びストレージシステム300は、データネットワーク360により接続されている。データネットワーク360はデータ通信用のネットワークであって、本構成においては、SAN(Storage Area Network)である。データネットワーク360は、データ通信用のネッットワークであれば、SANと異なるネットワークでもよい。
ホストサーバ300はストレージシステム340のリソースにアクセスし、業務を行う計算機である。ホストサーバ300は、ネットワークインタフェースであるホストバスアダプタ(HBA)303、プロセッサ301、主記憶デバイスであるメモリ302及び補助記憶デバイス305を有している。
ホストサーバ300のデバイスは、バスにより通信可能に接続されている。プロセッサ301は、メモリ302に記憶されているプログラムを実行することによってホストサーバ300の所定の機能を実現する。メモリ302は、プロセッサ301によって実行されるプログラム及びプログラムの実行に必要なデータを記憶する。プログラムは、不図示のOSの他、アプリケーション304を含む。
典型的には、プログラムは、補助記憶デバイス305からメモリ302にロードされる。補助記憶デバイス305は、ホストサーバ300の所定の機能を実現するために必要なプログラム及びデータを格納する、不揮発性の非一時的記憶媒体を備える記憶装置である。補助記憶デバイス305は、ネットワークを介して接続された外部の記憶デバイスでもよい。
図3は、一つのアプリケーション304を例示するが、複数のアプリケーションが、ホストサーバ300において動作していてもよい。アプリケーション304は、例えば、グループウェア/電子メールサーバプログラムやデータベース管理システムである。ストレージシステム340は、アプリケーション304に対して、一つ又は複数のボリュームを提供する。
管理サーバ320は、ネットワークインタフェースであるLANポート325、プロセッサ321、主記憶デバイスであるメモリ322、補助記憶デバイス323、入出力デバイス324を含む。管理サーバ320は、管理プログラム326を実行し、それに従って動作する。管理サーバ320のデバイスは、バスにより通信可能に接続されている。
入出力デバイス324は、ディスプレイ、ポインタ又はキーボード等のデバイスの一つ又は複数のデバイスを含む。管理者は、これら入出力デバイス324により、管理サーバ320を操作することができるほか、ネットワークを介して接続するクライアント計算機から管理サーバ320にアクセスしてもよい。クライアント計算機は、管理サーバ320と共に管理システムに含まれる。
管理者は、入力デバイス(例えばマウス及びキーボード)により必要な情報を入力し、表示デバイスにより必要な情報を視認することができる。管理システムは、一つの管理サーバ320で構成されていてもよく、それぞれが管理サーバ320の機能の一部又は全部を備える複数のサーバを含むことができる。
プロセッサ321は、メモリ322に記憶されているプログラムを実行することによって管理サーバ320の所定の機能を実現する。メモリ322は、プロセッサ321よって実行されるプログラム及びプログラムの実行に必要なデータを記憶する。プログラムは、不図示のOSの他、管理プログラム326を含む。管理プログラム326の詳細は後述する。
典型的には、プログラムは、補助記憶デバイス323からメモリ322にロードされる。補助記憶デバイス323は、管理サーバ320の所定の機能を実現するために必要なプログラム及びデータを格納する、不揮発性の非一時的記憶媒体を備える記憶装置である。補助記憶デバイス323は、ネットワークを介して接続された外部の記憶装置でもよい。
ストレージシステム340は、コントローラ341、SSD(Solid State Drive)群346、SAS(Serial Attached SCSI)ドライブ群347、SATA(Serial ATA)ドライブ群348を含む。これらは、内部ネットワークにより接続されている。
コントローラ341は、プロセッサ342、主記憶デバイスであるメモリ343、データ通信インタフェースであるSANポート344を含む。プロセッサ342(コントローラ341)は、ストレージ制御プログラム345及び必要な他のプログラムを実行することで、ホストサーバ300からのI/Oの制御及びストレージシステム340のプール及びボリュームの管理制御を含む所定の機能を実現する。典型的には、プログラムは、いずれかのディスクからメモリ343にロードされる。本実施形態で説明するコントローラ341の機能の少なくとも一部は、ハードウェアによって実現されてもよい。
本計算機システムにおいて、プログラムは、プロセッサによって実行されることで、定められた処理を記憶デバイス及び通信インタフェースを用いながら行う。従って、本実施形態においてプログラム、例えば、管理プログラム326やストレージ制御プログラム345を主語とする説明は、プロセッサを主語とした説明でもよい。若しくは、プログラムが実行する処理は、そのプログラムが動作する装置及びシステムが行う処理である。
プロセッサは、プログラムに従って動作することによって、所定の機能を実現する機能部として動作する。例えば、プロセッサ321は、管理プログラム326に従って動作することでストレージシステムの管理部として機能し、プロセッサ342は、ストレージ制御プログラム345に従って動作することでストレージ制御部として機能する。他のプログラム、プロセッサ及び装置についても同様である。プロセッサは、各プログラムが実行する複数の処理のそれぞれを実現する機能部としても動作する。プロセッサ及びプログラムを含む装置及びシステムは、これらの機能部を含む装置及びシステムである。
図4は、ストレージシステム340がホストサーバ300に提供するボリュームの論理構成及びボリュームとドライブ群346~348との関係を模式的に示している。ストレージシステム340のコントローラ341(ストレージ制御プログラム345)は、複数の実ボリューム(プールボリューム)からなるプール402を構築する。図4に示すように、コントローラ341は複数のプール402を構築する。さらに、コントローラ341は、プール内の記憶領域が動的に割り当てられる仮想ボリューム401を構築する。ホストサーバ300は、仮想ボリューム401が提供される。
[規則91に基づく訂正 25.07.2011]
コントローラ341は、ドライブ群346~348が与える実記憶領域により構成される複数の実ボリュームを構築する。本構成例において、コントローラ341は、ドライブの種類に応じて、3種類のボリュームを構築する。具体的には、SSD群346はSSDボリューム群406を与え、SASドライブ群347はSASボリューム群407を与え、SATAドライブ群348はSATAボリューム群408を与える。
コントローラ341は、ドライブ群346~348が与える実記憶領域により構成される複数の実ボリュームを構築する。本構成例において、コントローラ341は、ドライブの種類に応じて、3種類のボリュームを構築する。具体的には、SSD群346はSSDボリューム群406を与え、SASドライブ群347はSASボリューム群407を与え、SATAドライブ群348はSATAボリューム群408を与える。
上記3種類のドライブのアクセス性能は異なり、SSDの性能が最も高くSATAドライブの性能が最も低い。アクセス性能は、レスポンスタイムやスループットといった指標で表される。本構成例においては、同一種類のドライブは同一のアクセス性能を有するとする。典型的には、複数のドライブから構成されたRAID(Redundant Arrays of Inexpensive Disks)が複数のボリューム(リソース)を与える。
プール402の複数ボリューム(プールボリューム)は、階層化されている。本構成例において、プール402は、Tier0~Tier2の3つの階層403~405を有している。階層はそれぞれ異なるボリューム群で構成されている。Tier0はSSDボリューム群406で構成され、Tier1はSASボリューム群407で構成され、Tier2はSATAボリューム群408で構成されている。Tier0のアクセス性能が最も高く、Tier2のアクセス性能が最も低い。
プール402において、各プールボリュームは複数ページに分割される。プール402は、ページ単位で管理される。ホストサーバ300に提供されるボリュームは、仮想ボリュームであって、その容量は仮想化されている。仮想ボリューム401にホストサーバ300から書き込みがありデータ格納領域が必要になる度に、ストレージ制御プログラム345は、ページを仮想ボリューム401に割り当てる。
ストレージシステム340は、ホストサーバ300により認識される仮想ボリューム401の容量を、仮想ボリューム401に割り当てられている実容量(全ページの容量)よりも大きくすることができ、ホストサーバ300に割り当てられる容量を実現するために必要な実容量を、それよりも小さくすることができる(ダイナミックプロビジョニング)。ストレージシステム340は、プール内のページから構成され実容量とホストサーバ300により認識される容量が一致するボリュームを、ホストサーバ300に提供してもよい。
好ましい本構成例において、ストレージ制御プログラム345は、仮想ボリューム401に対するホストサーバ300からの書き込みがあった場合、プール402の最上位のTier0(403)のページから、必要容量のページを新たに仮想ボリューム401に割り当てる。ストレージ制御プログラム345は、これと異なる方法により、書き込むページを決定してもよい。
ストレージ制御プログラム345は、所定期間(監視期間)、ストレージシステム340内の階層化された各プール402に関して、プール402内の全てのページに対するI/O量(本例でリードコマンド及びライトコマンドの合計数)を監視し、記憶する。監視期間中のプール402内の各ページのI/O量を基に、ストレージ制御プログラム345は、I/O量の多かったページから順に上位階層に再配置する(階層間再配置)。ストレージ制御プログラム345は、階層間再配置をプール単位で行う。階層間再配置は公知の技術であり、本実施形態において必要な範囲で説明を行う。
図5は、管理サーバ320の管理プログラム326の構成及び管理サーバ320が使用する情報を模式的に示している。メモリ322は、管理プログラム326を格納しており、管理プログラム326は、情報収集機能501及び性能管理機能502を有する。図5は、便宜的に、管理プログラム326及びテーブル511~523をメモリ322内に図示しているが、これらデータは、典型的に、補助記憶デバイス323からメモリ322に格納される。
管理プログラム326の情報収集機能501は、ストレージシステム340からのデータの収集及び各テーブルへの情報格納を行う機能である。また、情報収集機能501は、各テーブルの初期設定を行う。情報管理機能502は、定期的に各仮想ボリュームの性能を監視する。ホストサーバ300の要求性能(SLO)を満たせなくなる可能性のある仮想ボリューム(危険仮想ボリューム)を検知した場合、情報管理機能502は、性能改善処理を実施する。
具体的には、情報管理機能502は、他のプールから危険プールへの記憶リソース移動の計画を立案し、リソース移動にともなう、提供元プールでのSLO違反の発生を防ぐ。なお、管理プログラム326の有する各機能は、必ずしも一つのプログラムの機能である必要は無く、それぞれが別々のプログラムコードであってもよい。管理プログラム326の機能及び動作の詳細は後述する。
図5に示すように、メモリ322は、プール情報テーブル511、プールボリューム情報テーブル512、プール内Tier情報テーブル513、ページ情報テーブル514、リソース移動計画候補テーブル515、リソース移動計画テーブル516、Tier定義テーブル517、危険プール群テーブル518、時間帯平均IOPS(Input Output Per Second)情報テーブル519を格納している。IOPSは、単位時間(1秒)当たりのI/O量である。
メモリ322は、さらに、I/O履歴情報テーブル520、IOPS対レスポンスタイム相関情報テーブル521、仮想ボリューム情報テーブル522、プール内Tier性能情報テーブル523を格納している。各テーブルの詳細は後述する。図5は、便宜的に、テーブルをメモリ322内に図示しているが、管理サーバ320の処理において必要とされるデータは、典型的に、補助記憶装置323からメモリ322に格納される。各情報(を表すデータ)は、メモリ322、補助記憶装置323における記憶領域内に格納される。
図5の例において、管理プログラム326が使用する情報(データ)は、テーブルに格納されている。本実施形態のシステムが使用する、データ記憶領域に格納される情報は、データ構造に依存せず、どのようなデータ構造で表現されていてもよい。例えば、テーブル、リスト、データベースあるいはキューから適切に選択したデータ構造体が、情報を格納することができる。
管理プログラム326は、その情報収集機能501により、危険プールの監視とプール間のリソース再配置のため、ストレージシステム340の情報を収集する。図6は、この情報収集の一例を示すフローチャートである。情報収集機能501は、定期的に(本例では10分に一度とする)、ストレージシステム340のコントローラ341から、各種情報を収集し、対応するテーブルに格納する(S601)。
収集する情報の種類及びそれを格納するテーブルは、以下における各テーブルの説明で言及する。管理者が予め設定する情報及び収集した情報から得られる情報以外の情報は、情報収集機能501により収集される。
情報収集機能501は、プール情報テーブル511のリアルタイムIOPSカラム806(図8を参照)から、ストレージシステム340内の各プール402における最新のIOPSを取得し、時間帯平均IOPS情報テーブル519(図12を参照)の、当該プールID及び時刻に対応するレコードの時間帯平均IOPSカラム1203及び更新回数カラム1204を更新する(S602)。
時間帯平均IOPSカラム1203の値を更新する際は、情報収集機能501は、当該レコードの時間帯平均IOPSカラム1203に格納されている値に、当該レコードの更新回数カラム1204に格納されている値を掛け合わせ、その結果に上記取得した最新のIOPSを足し合わせる。さらに、その結果を、当該レコードの更新回数カラム1204に格納されている値に1を足した値で割り、その結果で当該レコードの時間帯平均IOPSカラム1203の値を更新する。
情報収集機能501は、さらに、前記算出した当該レコードの更新回数カラム1204に格納されている値に1を足した値で、当該レコードの更新回数カラム1204の値を更新する。
次に情報収集機能501は、IOPS対レスポンスタイム相関情報テーブル更新処理を実施する(S603)。情報収集機能501は、S601でストレージシステム340のコントローラ341から取得した情報を基に、IOPS対レスポンスタイム相関情報テーブル521(図16を参照)を更新する。IOPS対レスポンスタイム相関情報テーブル更新処理の詳細は、後ほど図14を用いて説明する。
図7は、仮想ボリューム情報テーブル522の一例を示す。仮想ボリューム情報テーブル522は、各仮想ボリュームの所属プールとレスポンスタイムに関する情報を格納する。具体的には、仮想ボリュームIDのカラム701、プールIDのカラム702、要求レスポンスタイム上限のカラム703、最新レスポンスタイムのカラム704を有する。
プールIDのカラム702、仮想ボリュームIDのカラム701は、それぞれ、プールの識別情報及び仮想ボリュームの識別情報を格納する。本明細書において、要素を識別する情報の呼び名は、ID、名前、番号等、任意であり、これらは置換可能である。この点は、他の識別情報について同様である。
仮想ボリューム情報テーブル522は、各仮想ボリュームの要求レスポンスタイムと最新の実際のレスポンスタイムを格納している。管理者は、仮想ボリュームの作成時に、提供先ホストサーバから要求されているレスポンスタイムの上限を設定し、その値が、要求レスポンスタイム上限カラム703に格納される。
その値が設定されない場合は、デフォルト値として、充分に大きな値(例えば100ms)が設定される。情報収集機能は、情報収集処理にて、各仮想ボリュームの最新のレスポンスタイムをストレージシステム340のコントローラ341から取得し、最新レスポンスタイムカラム704に格納する。
図8は、プール情報テーブル511の一例を示す。プール情報テーブル511は、プールIDで同定されるプールの監視期間、定期階層間配置、IOPSそして性能余剰率についての情報を格納する。具体的には、このテーブル511は、プールIDのカラム801、監視期間開始時刻のカラム802、監視期間終了時刻のカラム803、監視期間周期のカラム804、実行モードのカラム805、リアルタイムIOPSのカラム806、性能余剰率一日平均のカラム807を有する。性能余剰率については後述する。
情報収集機能501は、所定期間(監視期間)、ストレージシステム340内の階層化された各プールに関して、プール内の全てのページに対するI/O量を監視し、その値を記憶する(例えば、ページ情報テーブル514参照)。この監視期間の周期は、デフォルト値の0:00から24時間おきの他、2時間おき、4時間おき、8時間おきの何れかを管理者が選択できる。監視期間周期と監視期間長の数値は一致する。管理者は、監視期間の周期を設定する代わりに、監視期間の開始時刻(カラム802)と終了時刻(カラム803)を指定することもできる。
監視期間開始時刻及び監視期間終了時刻は、それぞれ、プール内ページへのI/O量を収集する監視期間の開始及び終了時刻である。周期のデフォルト(24時間)に対応する開始時刻は0:00、終了時刻は翌0:00である。0:00丁度は、開始時刻に含まれる。デフォルトの開始時刻と終了時刻は、それぞれの周期に対応して決められている。これらは、管理者により指定することも可能である。
リアルタイムIOPSは、情報収集機能501がストレージシステム340のコントローラ341から情報を収集した時点のプールへのIOPSである。この値は、定期的にストレージシステム340のコントローラ341から収集するタイミングでの更新の他に、図17が示す性能管理処理によるリソース移動計画を基にしたリソース移動(S1705)の際及びその他のタイミングで、必要に応じて取得してもよい。
実行モードのカラム805は、定期的な階層間再配置の実行モードを示すデータを格納する。管理者は、実行モードのカラム805に、"自動"又は"手動"を設定する。本実施形態の階層間再配置は、監視期間中に記録したプール内の各ページのI/O量を基に、I/O量の多かったページから順に上位Tierに再配置する。
自動実行モードにおいて、ストレージシステム340のコントローラ341は、階層間再配置を監視期間後即時に実行する。自動実行モードで実行される階層間再配置を、定期階層間再配置と呼ぶ。手動実行モードにおいて、階層間再配置は、管理者が指示した任意のタイミングで行われる。手動実行モードの場合は、監視期間の開始時刻、終了時刻及び周期は、全て未設定である。管理者は、監視期間の開始及び終了を任意のタイミングで指示する。
図9は、プールボリューム情報テーブル512の一例を示し、各プールボリュームの構成情報を格納する。プールボリューム情報テーブル512は、プールボリュームIDのカラム901、Tierのカラム902、プールボリューム容量のカラム903、プールボリューム空き容量のカラム904、プールIDのカラム905を有する。
プールボリュームIDは、プールボリュームの識別情報である。Tierのカラム902は、プール内での階層の識別情報(階層種別の識別情報)を格納する。本例において、全てのプールボリューム(リソース)の容量は同一であるが、容量はプールボリューム毎に異なってもよい。
図10は、プール内Tier情報テーブル513の一例を示す。プール内Tier情報テーブル513は、各プールにおける各階層の構成情報を格納する。プール内Tier情報テーブル513は、プールIDのカラム1001、Tierのカラム1002、構成リソース数のカラム1003、Tier容量のカラム1004を有する。構成リソース数は、階層内のプールボリューム数である。
図11は、ページ情報テーブル514の一例を示す。ページ情報テーブル514は、各ページの所属ボリューム及びI/O量に関する情報を格納する。具体的には、ページ情報テーブル514は、プールIDのカラム1101、ページIDのカラム1102、仮想ボリュームIDのカラム1103、プールボリュームIDのカラム1104、Tierのカラム1105、前回監視期間I/O量のカラム1106を有する。
Tierのカラム1105の各フィールドは、各レコードのページが格納されている階層の種別を格納する。この値は、リソース移動のためのデータ退避及び階層間再配置において更新される。
前回監視期間I/O量のカラム1106は、前回の監視期間で計測したページへのI/O量を格納する。情報収集機能501は、ストレージシステム340のコントローラ341からその値を取得し、ページ情報テーブル514に格納する。
図12は、時間帯平均IOPS情報テーブル519の一例を示す。時間帯平均IOPS情報テーブル519は、プールIDのカラム1201、時間帯のカラム1202、時間帯平均IOPSのカラム1203、更新回数のカラム1204を有する。時間帯平均IOPSは、図6におけるフローチャートのS602で説明したように、各時間帯(本例において10分の時間帯)におけるIOPSの測定値の平均値である。情報収集機能501が、この値を更新する。更新は監視期間周期で行われる。
図13は、I/O履歴情報テーブル520の一例を示す。I/O履歴情報テーブル520は、各プールについて、直近48時間以内の定期的な(本例では10分間隔)IOPSの履歴を格納するテーブルである。I/O履歴情報テーブル520は、プールIDのカラム1301、日時のカラム1302、IOPSのカラム1303を有する。日時のカラム1302のフィールドは、該当レコードのプールIDが示すプールにおける、IOPS測定期間を示す時刻を格納する。情報収集機能501は、各プールのIOPSをストレージシステム340のコントローラ341から取得する。
次に、図14のフローチャートを参照して、IOPS対レスポンスタイム相関情報テーブル521の更新処理(図6におけるS603)を説明する。この処理の流れを説明する前に、本処理が使用するプール内Tier性能情報テーブル523及びIOPS対レスポンスタイム相関情報テーブル521を説明する。
図15は、プール内Tier性能情報テーブル523の一例を示している。プール内Tier性能情報テーブル523は、各プールの各Tierのアクセス性能情報、本例において、レスポンスタイムを格納している。
図15に示すように、プール内Tier性能情報テーブル523は、プールIDのカラム1501、Tierのカラム1502、日時のカラム1503、レスポンスタイムのカラム1504を有する。情報収集機能501は、各プールの各Tierを構成するリソースのレスポンスタイムを、ストレージシステム340のコントローラ341から取得し、Tierのレスポンスタイムとして、レスポンスタイムのカラム1504に格納する。
図16は、IOPS対レスポンスタイム相関情報テーブル521の一例を示す。IOPS対レスポンスタイム相関情報テーブル521は、ストレージシステム内の各TierのIOPSとレスポンスタイムの相関関係を示す情報を格納し、IOPSをレスポンスタイムに換算するために参照される。
このテーブル521は、ストレージシステム340内の全てのプールに共通である。IOPS対レスポンスタイム相関情報テーブル521は、Tierのカラム1601、IOPS帯のカラム1602、IOPS帯平均レスポンスタイムのカラム1603、累計I/O量のカラム1604を有する。
IOPS帯平均レスポンスタイムのカラム1603は、各IOPS帯の過去のレスポンスタイム測定値の平均値を格納する。本例において、この平均値は、I/O量の加重平均である。累計I/O量のカラム1604は、各IOPS帯での、過去の監視測定におけるI/O量の累計を格納する。
図14に戻って、IOPS対レスポンスタイム相関情報テーブル521の更新処理は、情報収集処理において行われる。情報収集機能501は、この更新処理において、S1401とS1411の間のステップをプール毎に繰り返す。
まず、情報収集機能501は、I/O履歴情報テーブル520を参照し、該当プールの最新のIOPSを取得する(S1402)。情報収集機能501は、ページ情報テーブル514を参照し、Tierカラム1105の値が同一の前回監視期間I/O量カラム1106の値を合算し、Tier毎のI/O量合計を算出する(S1403)。情報収集機能501は、さらに、同一プール内のTierのI/O量合計を合算し、プールのI/O量合計を算出する(S1404)。
情報収集機能501は、S1405とS1410の間のステップをプールのTier毎に繰り返す。まず、情報収集機能501は、S1403で算出した該当TierのI/O量合計を、S1404で算出したプールのI/O量合計で割り、該当TierのI/O比率を算出する(S1406)。情報収集機能501は、S1402で取得したプールのIOPSに、ステップS1404で算出した該当TierのI/O比率を掛け合わせ、該当TierのIOPSを算出する(S1407)。
情報収集機能501は、プール内Tier性能情報テーブル523を参照し、該当Tierの最新のレスポンスタイムを取得する(S1408)。情報収集機能501は、S1408で取得した該当Tierのレスポンスタイムと、S1407で算出した該当TierのIOPSを基に、IOPS対レスポンスタイム相関情報テーブル521の、IOPS帯平均レスポンスタイムカラム1603の値を更新する(S1409)。さらに、情報収集機能501は、累計I/O量カラム1604を更新する。
具体的には、情報収集機能501は、IOPS対レスポンスタイム相関情報テーブル521のTierカラム1601とIOPS帯カラム1602を参照して、該当Tierの識別情報及び該当TierのIOPSをキーに、IOPS対レスポンスタイム相関情報テーブル521から該当レコードを選択する。
情報収集機能501は、該当レコードのIOPS帯平均レスポンスタイムのカラム(フィールド)1603に格納されている値に、上記当該レコードの累計I/O量カラム(フィールド)1604に格納されている累計I/O量を掛け合わせる(積算値1)。さらに、情報収集機能501は、S1408で取得した該当Tierの最新レスポンスタイムとS1403で算出した該当TierのI/O量合計を掛け合わせる(積算値2)。
情報収集機能501は、上記積算値1と積算値2を加算する(加算値1)。さらに、当該レコードの上記累計I/O量とS1403で取得した該当TierのI/O量合計とを加算する(加算値2)。この加算値2は、累計I/O量の新しい更新値である。
情報収集機能501は加算値1を加算値2で割り、この計算結果が、IOPS帯平均レスポンスタイムの新しい更新値であり、レスポンスタイムのI/O量の加重平均である。情報収集機能501は、更新値を、当該レコードのIOPS帯平均レスポンスタイムのカラム1603に格納する。情報収集機能501は、当該レコードの上記累計I/O量とS1406で取得した該当TierのIOPSとの加算値(加算値2)を、当該レコードの累計I/O量カラム1604に格納する。
以下において、管理サーバ320による性能管理処理を説明する。管理プログラム326の性能管理機能502は、情報収集機能501により収集された情報を使用して、性能管理処理を実行する。図17は、性能管理処理例のフローチャートを示す。図17のフローチャートを参照して説明する前に、性能管理機能502の処理の概略を説明する。
性能管理機能502は定期的に、ストレージシステム340内のプールの性能使用率をチェックし、性能が不足しているプール(危険プール)が存在しているかチェックする。性能管理機能502は危険プールを検知した場合、危険プールの性能を回復するための処理を実施する。
具体的には、性能管理機能502は、追加する必要のあるリソース(プールボリューム)の種別及び量を算出する。性能管理機能502は、算出したリソースを解除し、階層間再配置を行った後にSLO違反を起こさない見込みのプールを、シミュレーションにより特定する。性能管理機能502は、SLOを違反せずにリソース解除が可能と判断されたプールを提供元プール候補に追加する。
全てのプールに関して上記処理を実施したら、好ましくは、性能管理機能502は、提供元プール候補の中から、リソース解除完了時刻(危険プールへのリソース追加時刻)が最も早いプールを提供元プールに決定する。通常、リソース解除完了時刻はデータ退避完了時刻と一致する。最も早い時刻にリソース解除完了可能なプールが複数ある場合、その中から階層間再配置後の性能劣化度合いが最も低いプールを採用することが好ましい。
具体的には、性能管理機能502は、提供元プール候補のそれぞれに関して、プールからリソースを解除した後に即時に階層間再配置を行う場合と、即時の階層間再配置を行わない場合の両方について、リソース移動開始(データ退避開始)から階層間再配置完了までの期間にSLOを違反しない、リソース移動開始時刻及びリソース解除完了時刻(データ退避完了時刻)を算出する。
両方の提供パターンでSLOを違反しないリソース解除開始時刻及びリソース解除完了時刻が見つかった場合、より早いリソース解除完了時刻(危険プールへのリソース追加可能時刻)を持つパターンを、そのプールからの提供パターンとする。
性能管理機能502は、最も早いリソース解除完了時刻の提供パターンの提供元プールから、その提供パターンにおけるリソース解除開始時刻に、リソース移動(リソース解除及び危険プールへの追加)を開始する。好ましい構成において、性能管理機能502は、データ退避中に、リアルタイムのI/O情報を取得する。I/O量が予測に反して多く、SLO違反が発生する危険性を性能管理機能502が検知した場合は、リソース移動を中断する。性能管理機能502はリアルタイムのI/Oの監視を行わなくともよい。
性能管理機能502は、危険プールに関しても、移動元プールと同様の方法でSLO違反が発生するか否かを予測する。SLO違反が発生する可能性が高い場合、性能管理機能502は、いずれのプールにも属していないボリュームを危険プールに追加した場合にSLO違反を回避できるかをシミュレーションにより判定する。
SLO違反が回避可能と判定した場合、性能管理機能502は、いずれのプールにも属していない不使用ボリュームを危険プールに追加する。SLO違反が回避不可能と判定した場合は、性能管理機能502は、危険プールにおいてSLO違反発生の可能性が高く、プールへのボリューム追加では回避不可能であることを入出力デバイス324の画面に表示し、管理者に通知する。
図17を参照して、性能管理処理を説明する。性能管理機能502は、性能監視処理を行う(S1701)。具体的には、性能管理機能502は、ストレージシステム340内の各仮想ボリューム401及び各プール402の性能を確認し、性能問題が発生している仮想ボリューム401を検知する。性能管理機能502は、当該仮想ボリューム401が属するプール(危険プール)のID及び性能余剰率を、危険プール群テーブル518に追加する。性能余剰率及び性能監視処理(S1701)の詳細は、後ほど図18を用いて説明する。
図19は、危険プール群テーブル518の一例を示している。危険プール群テーブル518は、危険プールIDのカラム1901、仮想ボリューム性能余剰率のカラム1902を有する。危険プールIDのカラム1901は、性能監視処理で危険プールと判定されたプールのIDを格納し、仮想ボリューム性能余剰率のカラム1902は、各プール(の仮想ボリューム)の性能余剰率を格納する。
図17に戻って、性能管理機能502は、S1701で実施した性能監視処理の結果を受けて、性能問題が発生していたか否かを判定する(S1702)。性能問題が発生していた場合(S1702:YES)、性能管理機能502は、S1703を実行する。S1701において性能問題が発生していない場合(S1702:NO)、性能管理機能502は、処理を終了する。
S1703において、性能管理機能502は、性能問題改善計画処理を行い、S1701で検知した性能問題の発生しているプールの性能を改善する計画を立てる。具体的には、性能管理機能502は、ストレージシステム340内の他のプールからリソース(実ボリューム)を危険プールに移動する計画の候補を作成し、リソース移動計画候補テーブル515に格納する。性能問題改善計画処理(S1703)の詳細は、後ほど図20を用いて説明する。リソース移動計画候補テーブル515の詳細は、後ほど図24を用いて説明する。
性能管理機能502は、S1703で実行した性能問題改善計画処理の結果を受けて、S1701で検知した危険プールの性能問題が、プール間のリソース移動で解決可能かどうかを判定する(S1704)。危険プールの性能問題が解決可能な場合(S1704:YES)、性能管理機能502は、S1705を実行する。危険プールの性能問題が解決可能でない場合(S1704:NO)、性能管理機能502は、S1706を実行する。
S1706において、性能管理機能502は、即時にストレージシステム340内の不使用リソースを危険プールに追加することにより、危険プールでのSLO違反発生を回避できるかを判定する。SLO違反発生を回避出来ると判定した場合(S1706:YES)、性能管理機能502は、S1707を実行する。SLO違反発生を回避出来ないと判定した場合(S1706:NO)、性能管理機能502は、S1708を実行する。
上記S1706における判定において、性能管理機能502は、性能問題改善計画処理(S1703)で呼ばれるリソース移動計画作成処理(図20及び図23のS2003を参照)と同様の方法を、危険プールに適用することができる。
具体的には、性能管理機能502は、危険プールに即時に不使用リソースを追加し、危険プール内でページのリバランス(階層内ページ再配置)が行われた後のページ配置を予測し、履歴情報と併せて、リソース追加後の各時間帯における危険プールのレスポンスタイムを予測する。リバランスについてはS1707の説明で述べる。
この予測は、提供元プールのリソース移動後のレスポンスタイムの予測と同様の方法でよい。性能管理機能502は、レスポンスタイムの予測値を基に、危険プールがSLO違反を起こさないかどうかを確認する。リソース移動計画作成処理(S2003)の詳細は後述する。
S1707において、性能管理機能502は、危険プールにストレージシステム340内のリソースを即時追加する。そして、性能管理機能502は、各Tierにおいて、ページのリバランス処理を実行する。リバランス処理は、配置されているページのI/O量が、Tier内のリソース(プールボリューム)間で均一となる様に、Tier内でページを再配置する。
S1708において、性能管理機能502は、危険プールの性能が危険プールへのリソース追加では解決困難であることを伝えるアラートを、管理プログラムの画面表示にて管理者に通知する。
上述のように、プール間のリソース移動により危険プールの性能問題が解決可能な場合(S1704:YES)、性能管理機能502は、S1705を実行する。性能管理機能502は、S1703で作成したリソース移動計画を基に、リソースの移動を実行する。具体的には、性能管理機能502は、リソース移動計画テーブル516を参照し、リソース移動計画テーブル516のレコードに従ってリソースを移動する。
性能管理機能502は、ストレージシステム340のコントローラ341にリソース移動を指示し、コントローラ341が、その指示に応じて転送元プールから危険プールにリソースを移動する。コントローラ341は、性能管理機能502からの指示に従って、転送元プールにおいて移動リソースから空きリソースにデータを退避し、さらに、リソースを転送元プールから危険プールに追加する。コントローラ341は、必要により、転送元プールにおけるリソース解除後の階層間再配置及び定期階層間再配置を実行する。
図27は、リソース移動計画テーブル516の例を示している。リソース移動計画テーブル516は、図23を参照して後述するリソース移動計画作成処理(S2004)にて、リソース移動計画候補から採用されたリソース移動計画を格納するテーブルである。リソース移動計画テーブル516の情報を基に、性能管理機能502がリソース移動を実行する。リソース移動計画テーブル516の詳細は後述する。
リソース移動に伴い、性能管理機能502は、移動するリソースからのデータ退避を含む移動するリソースの提供元プールからの解除、移動するリソースの危険プールへの追加、危険プールのリソースが追加されたTier内でのリバランス(階層内ページ再配置)、転送元プールでの階層間再配置、を実行する。
本例において、プールからプールボリューム(リソース)を解除する際、性能管理機能502は、プールから解除するプールボリュームに配置されているページを、プール内の別のプールボリュームに退避する。具体的には、性能管理機能502は、解除対象プールボリュームの属するTierのプールボリュームの空き領域に、退避ページを退避する。
同一Tier内のプールボリュームに、充分な空きが無い場合、性能管理機能502は、一つ上のTierのプールボリュームの空き領域に残りの退避ページを退避する。一つ上のTierが存在しない場合、つまり解除対象のプールボリュームが最上位Tierに属している場合、もしくは、一つ上のTier内のプールボリュームに充分な空きが無い場合、性能管理機能502は、一つ下のTierに属するプールボリュームに残りの退避ページを退避する。
一つ下のTier内のプールボリュームに充分な空きが無い場合、性能管理機能502は、さらに一つ下のTier(存在すれば)に属するプールボリュームに残りの退避ページを退避する。性能管理機能502は、この方法による退避先検索を繰り返す。
プール内に、全退避ページを退避するための充分な空き容量が無い場合、プールからのプールボリュームの解除は失敗する。Tier内のデータは、そのTierを構成するプールボリュームに分散して配置されているため、退避ページも空きプールボリューム間で分散して書き込まれる。
なお、本構成例では、退避ページの退避される順番は、監視期間中に計測したI/O量の高いページから順に退避されることとする。より正確な性能予測のために、ページ退避の規則が決まっていることが必要であるが、そのページ退避方法は、上記方法と異なっていてもよい。
リソースを移動している間(データ退避中)、性能管理機能502は、プール情報テーブル511を参照し、提供元プールへのリアルタイムIOPSを一定時間おきに監視する。性能管理機能502は、リアルタイムIOPSがS1703の性能問題改善計画処理で予測した提供元プールへのIOPSよりも多く、SLO違反を引き起こす可能性が高いと判定した場合、リソース移動の実行を中止する。性能管理機能502は、その旨を管理者に伝えるために、管理サーバ320の表示画面にアラートを表示する。
性能管理機能502は、提供元プールのリアルタイムIOPSが予測に反して高く、SLO違反を引き起こす可能性が高いか否かの判定を、例えば、以下の方法で行う。性能管理機能502は、一定間隔のリアルタイムIOPSの近似直線を最小二乗法により算出する。性能管理機能502は、その近似直線の一定間隔毎の値と、近似直線よりも低い値であるIOPS予測値との乖離を算出する。
乖離が増加傾向にあり、IOPSのピーク予測値と現在の乖離との和と、SLOの要求レスポンスタイムに対応するIOPSとの差が、所定閾値より小さい場合、性能管理機能502は、提供元プールがSLO違反を起こす可能性が高いと判定する。
図18のフローチャートを参照して、性能管理処理で呼ばれる性能監視処理(S1701)の例を説明する。性能管理機能502は、S1801からS1805を仮想ボリューム毎に繰り返す。性能管理機能502は、仮想ボリュームについて、性能余剰率を算出する(S1802)。具体的には、性能管理機能502は、仮想ボリューム情報テーブル522を参照し、当該仮想ボリュームの最新レスポンスタイムと、当該仮想ボリュームの要求レスポンスタイム上限から、以下の式により性能余剰率を算出する。
仮想ボリュームの性能余剰率(%)=(100-(最新レスポンスタイム/要求レスポンスタイム上限)×100)
仮想ボリュームの性能余剰率(%)=(100-(最新レスポンスタイム/要求レスポンスタイム上限)×100)
次に、性能管理機能502は、S1802で算出した仮想ボリュームの性能余剰率が、管理者の設定した性能余剰率の下限閾値を下回っているか判定する(S1803)。性能余剰率が閾値よりも小さい場合(S1803:YES)、性能管理機能502は、ステップS1804を実行する。性能余剰率が閾値以上である場合(S1803:NO)、性能管理機能502は、該当仮想ボリュームについての処理を終了する。
S1804において、性能管理機能502は、S1802で性能余剰率が下限閾値を下回っているプールを危険プールと判定し、その危険プールの情報(プールID及び仮想ボリュームの性能余剰率)を危険プール群テーブル518に追加する。
図20のフローチャートを参照して、性能問題改善計画処理(S1703)の例を説明する。性能問題改善計画処理(S1703)は、性能管理処理(図17参照)で呼ばれる。
性能管理機能502は、危険プール群テーブル518を参照し、性能余剰率が低い危険プールから順に、S2001からS2005を繰り返し実行する。S2002において、性能管理機能502は、危険プールの性能を改善するための追加リソース算出処理を行う。これは、危険プールのどの階層にどれだけのリソースを追加する必要があるかを算出する。追加リソース算出処理(S2002)の詳細は、図21を用いて後ほど説明する。
次に、性能管理機能502は、危険プール以外のプールに関して、性能余剰率一日平均及び、リソース移動後性能余剰率一日平均を算出し、リソース移動計画候補テーブル515を更新する(S2003)。リソース移動計画候補テーブル515は、危険プールの性能を回復するためのリソース移動計画の候補一覧を格納する。
図24は、リソース移動計画候補テーブル515の一例を示す。リソース移動計画候補テーブル515は、提供元プールIDのカラム2101、即時階層間再配置有無のカラム2102、リソース移動開始時刻のカラム2103、リソース解除完了見込み時刻のカラム2104、性能余剰率一日平均のカラム2105、リソース解除後性能余剰率のカラム2106を有する。
図20に戻って、性能管理機能502は、S2003において、まず、該当プール(危険プール以外のプール)のレスポンスタイム一日平均を算出する。性能管理機能502は、プール内Tier性能情報テーブル523を参照し、該当時間帯から24時間前の時間帯までの各Tierのレスポンスタイムを取得し、その平均値を算出する。
また、ページ情報テーブル514の前回監視期間I/O量カラム1106から、プールの各Tier内の全てのページのI/O量の合計を算出する。この値は、各TierのI/O量合計である。性能管理機能502は、これらの値を使用し、以下の式によりプールのレスポンスタイム一日平均を算出する。
プールのレスポンスタイム一日平均=(Σ(TierのI/O量合計×Tierのレスポンスタイム一日平均))/プールのI/O量合計
プールのレスポンスタイム一日平均=(Σ(TierのI/O量合計×Tierのレスポンスタイム一日平均))/プールのI/O量合計
性能管理機能502は、次に、プールのレスポンスタイム一日平均を基に、以下の式によりプールの性能余剰率一日平均を算出する。要求レスポンスタイム上限値は、例えば、該当プールの全ての仮想ボリュームに対して定義された要求レスポンスタイム上限値の内の最小値である。
プールの性能余剰率一日平均(%)=100-(プールのレスポンスタイム一日平均/要求レスポンスタイム上限)×100
プールの性能余剰率一日平均(%)=100-(プールのレスポンスタイム一日平均/要求レスポンスタイム上限)×100
性能管理機能502は、プールID及び算出した性能余剰率一日平均を、リソース移動計画候補テーブル515に追加する。また、プール情報テーブル511の該当プールのレコードの性能余剰率一日平均カラム807の値を更新する。
次に、性能管理機能502は、リソース解除後のプールのレスポンスタイム一日平均を算出する。性能管理機能502は、S2001で算出した危険プールに追加するリソースをプールから解除して、階層間再配置を実行した後のページ配置を予測する。性能管理機能502は、そのページ配置を基に、プールの各TierのI/O量合計予測値を算出する。そして、以下の式により、リソース解除後のプールのレスポンスタイム一日平均を予測する。
プールのレスポンスタイム一日平均予測値=(Σ(TierのI/O量合計予測値×Tierのレスポンスタイム一日平均))/プールのI/O量合計
プールのレスポンスタイム一日平均予測値=(Σ(TierのI/O量合計予測値×Tierのレスポンスタイム一日平均))/プールのI/O量合計
次に、性能管理機能502は、プールのレスポンスタイム一日平均を基に、以下の式によりプールの性能余剰率一日平均を算出する。
リソース解除後性能余剰率一日平均(%)=100-(プールのレスポンスタイム一日平均予測値/要求レスポンスタイム上限)×100
リソース解除後性能余剰率一日平均(%)=100-(プールのレスポンスタイム一日平均予測値/要求レスポンスタイム上限)×100
さらに、性能管理機能502は、リソース移動計画候補テーブル515の該当プールのレコードのリソース移動後性能余剰率一日平均カラム2406を更新する。S2004において、性能管理機能502は、リソース移動計画作成処理を行う。リソース移動計画作成処理の詳細は、後ほど図23を用いて説明する。
次に、図21を参照して、追加リソース算出処理(S2002)の例を説明する。この処理は、危険プールに追加する必要のあるリソースを算出する。性能管理機能502は、追加コストを1から危険プールの総コストまで1ずつ増やしながら、S2101からS2111を繰り返す。
追加コストは、危険プールに追加するリソースの合計コストである。Tier定義テーブル517は、各ドライブ種別のコストを格納している。コストは、例えば、単位容量当たりのドライブの価格から算出される。図22はTier定義テーブル517の一例を示す。Tier定義テーブル517は、Tier毎の構成ドライブ種別、及びプールボリューム(リソース)一つあたりのコスト、Tierを構成するドライブの転送性能を格納する。
つまり、Tier定義テーブル517は、Tierのレベルを格納するカラム2201、ドライブ種別のカラム2202、コストのカラム2203、そして転送性能のカラム2204を有する。本実施例では、各プールボリュームの容量を同一としているため、Tier定義テーブル517はプールボリューム(リソース)あたりのコストを格納するが、特定容量あたりのコストを格納してもよい。本テーブル517が格納する各値は、管理者があらかじめ設定する。
危険プールが必要とする性能を、最も少ない追加コスト(提供元プールから危険プールに移動するプールボリュームの総コスト)で回復することが好ましい。そこで、本例において、性能管理機能502は、追加コストを上げながら、追加コストで追加できるボリュームパターン(リソースパターン)を算出し、パターンのボリュームを危険プールに追加した場合の危険プールの性能をチェックする。危険プールの性能がSLOを満たす場合、性能管理機能502は、そのボリューム追加パターンを採用する。
設計によっては、追加コストに拠らず、ボリューム追加パターンを決定してもよい。例えば、性能管理機能502は、性能が高いボリューム又は性能が低いボリュームから順次選択して、危険プールの性能がSLOを満たすボリューム追加パターンを決定してもよい。
ボリューム追加パターンは、危険プールの各Tierに追加するプールボリューム(リソース)の数を示すパターンである。つまり、危険プールのどのTierにどれだけのプールボリューム(リソース)を追加するかを示す。例えば、パターンの一例は、Tier0の追加ボリューム数が0、Tier1の追加ボリューム数が1、そしてTier2の追加ボリューム数が2である。
図21に戻って、性能管理機能502は、追加リソース数を(追加コスト/最下位Tierコスト)から(追加コスト/最上位Tierコスト)まで1ずつ減らしながら、S2102からS2110を繰り返す。性能管理機能502は、さらに、最下位リソース数を(追加コスト/最下位Tierコスト)から0まで1ずつ減らしながら、S2103からS2105を繰り返す。このように、本例は、より下位のTierのプールボリューム数(リソース数)がより多いボリューム追加パターンから試す。
S2104において、性能管理機能502は、追加コストと追加リソース数に合致するリソースの追加パターンをリストに追加する。性能管理機能502は、S2106からS2109を、上記追加パターンのリストの先頭から繰り返す。S2107において、性能管理機能502は、追加パターン適用時の性能余剰率をチェックする。
S2108において、性能管理機能502は、ボリューム追加後の性能余剰率と下限閾値とを比較する。性能余剰率が下限閾値以上である場合(S2108:NO)、性能管理機能502は、その追加パターンを採用する。性能余剰率が下限閾値より小さい場合(S2108:YES)、性能管理機能502は、ループを繰り返す。
S2107における性能余剰率のチェックにおいて、性能管理機能502は、リソース移動計画作成処理(図20及び図23のS2003を参照)と同様の方法を、危険プールに適用することができる。
具体的には、性能管理機能502は、危険プールに追加パターンに従ったプールボリュームを追加し、危険プール内でページのリバランス(階層内ページ再配置)が行われた後のページ配置を予測する。さらに、その予測と履歴情報と併せて、プールボリューム追加後の各時間帯における危険プールのレスポンスタイムを予測する。この予測は、提供元プールのリソース移動後のレスポンスタイムの予測と同様の方法でよい。性能管理機能502は、レスポンスタイムの予測値を基に、危険プールがSLO違反を起こさないかどうかをチェックする。
上記追加リソースパターンの決定方法は一例であって、性能管理機能502は、これと異なる方法を使用することができる。例えば、性能管理機能502は、最上位リソースの数が最も多くなるように、追加リソースパターンを決定してもよい。
図23を参照して、リソース移動計画作成処理(S2004)の例を説明する。図23のフローチャートにおいて、性能管理機能502は、S2301からS2309を、リソース移動開始時刻(転送元プールにおけるデータ退避開始時刻)を、本処理の実行時刻からシミュレーション終了時刻まで所定時間間隔ずつ進めながら繰り返す。時間間隔は例えば10分であり、典型的には一定である。
本例において、シミュレーション終了時刻は、本処理の実行時刻、即ち、危険プールを検知した時刻より、24時間後の時刻とする。これは、仮想ボリュームへのI/O負荷の変動周期は24時間であるという仮定に基づく。24時間後の時刻の代わりに、24時間から危険プールの階層間再配置見込み所要時間を引いた時間が経過した後の時刻としてもよい。
性能管理機能502は、階層間再配置にかかる時間を、下に説明するリソース解除見込み所要時間算出(S2303)と同様の方法で算出する。
性能管理機能502は、S2302からS2307を、危険プール以外のプール毎に繰り返す。性能管理機能502は、S2303において、リソース解除見込所要時間を算出する。具体的には、性能管理機能502は、転送経路毎の転送データ量を算出し、転送経路毎の転送速度を得て、転送経路毎の転送データ量及び転送経路毎の転送速度を基にリソース解除の見込み所要時間を算出する。転送経路は、プール内のTier間の転送経路である。
転送経路毎の転送データ量の算出において、性能管理機能502は、プールボリューム情報テーブル512を参照し、解除対象のリソースのプールボリュームIDをキーに、プールボリューム容量及び空き領域を取得し、プールボリュームの使用容量を算出する。そして、同一プールに属するプールボリュームのうち、空き領域のあるプールボリュームを検索する。
性能管理機能502は、各退避ページの退避先Tierを決定する。S1705で説明したプールからのリソース解除時のページ退避手順により、各退避ページの退避先Tierが決まる。性能管理機能502は、ページの転送元Tier(解除対象リソース(プールボリューム)が属するTier)と各転送先Tierの組み合わせ(転送経路)毎の転送データ量を求める。
さらに、性能管理機能502は、プール内Tier間でデータを転送する際の転送速度を、転送経路毎に求める。特定の転送経路の転送速度を求める際は、性能管理機能502は、Tier定義テーブル517を参照し、データの転送元Tier及び転送先Tierの転送性能を取得する。性能管理機能502は、より低速な転送性能の値を、該当転送経路の転送速度として使用する。
性能管理機能502は、転送経路毎の転送データ量及び転送経路毎の転送速度を基に、以下の式によりリソース解除の見込み所要時間を算出する。
リソース解除見込み所要時間=Σ[転送経路毎](転送経路の転送データ量/転送経路の転送速度)
リソース解除見込み所要時間=Σ[転送経路毎](転送経路の転送データ量/転送経路の転送速度)
次に、性能管理機能502は、データ退避中性能チェック処理を行う(S2304)。データ退避中性能チェック処理については、図25を参照して、後に詳述する。さらに、性能管理機能502は、データ退避後性能チェック処理を行う(S2305)。データ退避後性能チェック処理については、図26を参照して、後に詳述する。
データ退避中性能チェック処理(S2304)及びデータ退避後性能チェック処理(S2305)の結果を受けて、性能管理機能502は、SLO違反の発生の有無を判定する(S2306)。SLO違反が発生していない場合(S2306:NO)、性能管理機能502は、リソース移動計画候補テーブル515の当該プールのレコードを更新し(S2308)、S2307に進む。SLO違反が発生している場合(S2306:YES)、性能管理機能502は、S2307に進む。
上記二重ループを抜けた後、S2310において、性能管理機能502は、採用するリソース移動計画を決定する。具体的には、性能管理機能502は、リソース移動計画候補テーブル515を参照し、リソース解除完了見込み時刻(データ退避完了見込み時刻)が最も早いレコード(リソース移動計画)を探す。それが一意に決まる場合、性能管理機能502は、そのリソース移動計画を採用する。
同一解除完了見込み時刻の複数のリソース移動計画がヒットした場合、性能管理機能502は、その中からリソース解除後(リソース移動後)のプールの性能余剰率が最も高いリソース移動計画を探す。それが一意に決まる場合、性能管理機能502は、そのリソース移動計画を採用する。
同一性能余剰率の複数のレコードがヒットした場合(提供元プールは決定している見込)、性能管理機能502は、即時階層間再配置有無カラム2402のフィールドの値が「無」であるリソース移動計画を採用する。
性能管理機能502は、採用したリソース移動計画を基に、リソース移動計画テーブル516を更新する。図27は、リソース移動計画テーブル516の例を示している。リソース移動計画テーブル516は、提供元プールIDのカラム2701、提供先プールIDのカラム2702、移動リソースIDのカラム2703、即時階層間再配置有無のカラム2704、移動開始時刻のカラム2705を有する。
性能管理機能502は、リソース移動計画テーブル516の移動リソースIDのカラム(フィールド)2703に入る値を、プール情報テーブル511から取得する。具体的には、性能管理機能502は、プール情報テーブル511を参照し、提供元プールを構成するリソース(プールボリューム)から、図21の追加リソース算出処理(S2002)で算出した危険プールに追加するリソースと合致するものを検索し、その値を格納する。
リソース移動計画の選択は、上記方法に従うことが好ましいが、性能管理機能502は、これと異なる方法によって複数のリソース移動計画候補の中から適切なリソース移動計画を選択することができる。選択基準の優先度の順序は、上記順序と異なっていてもよく、リソース移動開始時刻が同一の計画候補から任意に一つの計画を選択してもよい。
以下において、データ退避中性能チェック処理(S2034)及びデータ退避後性能チェック処理(S2305)を説明する。図28A及び図28Bは、性能予測グラフの一例を模式的に示している。図28Aは、IOPSの時間変化を示す。図28Bは、図28のIOPSのグラフに対応する、レスポンスタイムのグラフである。
図28Bのグラフは、図23を参照して説明したリソース移動計画作成処理(S2004)における、データ退避中性能チェック処理(S2304)及びデータ退避後性能チェック処理(S2305)が算出する提供元プールのレスポンスタイムを示す概念図である。この概念図は、データ退避後の即時階層間再配置を行う場合と行わない場合の双方を示す。
図28Aにおいて、実線2801は提供元プールのIOPS平均値、破線2802は時刻T81でリソース移動(データ退避)開始したときのIOPS予測値、そして一点鎖線2803は時刻T82でリソース移動開始したときのIOPS予測値を示している。
図28Bにおいて、実線2804は提供元プールのレスポンスタイム平均値、破線2805は時刻T81でリソース移動開始した時のレスポンスタイム予測値、一点鎖線2806は時刻T82でリソース移動開始したときのレスポンスタイム予測値、そして二点鎖線2807は、SLOで規定されたレスポンスタイム上限値を示している。
図28Bのグラフは、時刻T81でリソースの移動を開始した場合は、リソース解除による負荷で提供元プールがSLO違反を起こすが、時刻T82で移動を開始した場合は提供元プールがSLO違反を起こさないことを表す。性能管理機能502は、SLO違反を起こさないリソース移動計画を、リソース移動計画候補テーブル515に追加する。
図25のフローチャートを参照して、データ退避中性能チェック処理(S2304)の例を説明する。データ退避中性能チェック処理において、性能管理機能502は、提供元プールに関して、Tier間のデータ転送速度及びTier毎のIOPSとレスポンスタイムの相関関係モデルを基に、ページ移動による追加IOPSを予測する。
さらに、性能管理機能502は、この追加IOPS予測値とリソース解除に伴うデータ退避中のプール内ページ配置の変動予測とを併せて、ページ退避中の各TierのIOPS増加量を予測する。これを基にデータ退避中の各Tierの性能を予測する。
性能管理機能502は、データ退避中の提供元プールの性能を、プール内のページ配置とTier間のデータ転送速度情報を基に予測する。性能管理機能502は、この予測値を基に、データ退避中に提供元プールがSLO違反を起こすかどうかを予測する。
図25に示すように、性能管理機能502は、S2501からS2504を、リソース移動開始時刻(データ退避開始時刻)からデータ退避完了見込時刻まで、所定時間間隔ずつ進めながら繰り返す。つまり、性能管理機能502は、データ退避開始からデータ退避完了までの各選択時刻において、SLO違反が発生するか否かを予測する。所定時間は、例えば10分であり、時間間隔は一定でなくともよい。これは、図26のフローチャートにおいて同様である。
S2502において、性能管理機能502は、データ退避中のIOPSを算出する。具体的には、性能管理機能502は、まず、時間帯平均IOPS情報テーブル519を参照し、該当時間帯におけるプールの時間帯平均IOPSを取得する。次に、性能管理機能502は、データ退避中の該当時刻(該当時間帯)における、提供元プールのページ配置を予測する。
ページ配置予測において、図17を参照して説明したように、データ退避において、ページは一つずつ、前回監視期間のI/O量が多いものから順にプール内の空き領域に移動されると仮定する。上述のように、ページ移動方法の規則が決まっていれば、これと異なる方法でページを移動してもよい。
さらに、性能管理機能502は、Tier間のデータ転送速度を求める。この方法は、図23を参照して説明したリソース移動計画作成処理(S2004)において転送経路毎の転送速度を求めた方法と同様である。性能管理機能502は、上記ページ移動方法の規則とTier間のデータ転送速度とから、該当時刻におけるページ配置を予測することができる。
次に、性能管理機能502は、データ退避で転送するデータ量と、リソース解除見込所要時間(図23のリソース移動計画作成処理のS2303で算出済)から、プールの平均転送速度(プール内データ移動における平均転送速度)を以下の数式に従って算出する。
プールの平均転送速度=転送するデータ量/リソース解除見込み所要時間
プールの平均転送速度=転送するデータ量/リソース解除見込み所要時間
性能管理機能502は、転送速度(MB/s)と1I/Oで処理可能なデータ量(MBperI/O)とから、データ退避に伴う追加IOPS(追加IOPSに相当する値)を、以下の数式に従って算出(推測)する。なお、1I/Oで処理可能なデータ量は固定値(例えば4KB)でもよいが、実測値を用いて動的に変更してもよい。
データ退避に伴う追加IOPS=プールの平均転送速度/1I/Oで処理可能なデータ量
データ退避に伴う追加IOPS=プールの平均転送速度/1I/Oで処理可能なデータ量
性能管理機能502は、プール内の各TierのI/O比率を算出する。算出方法は、図14を参照して説明したIOPS対レスポンスタイム相関情報テーブル更新処理(S603)における算出方法と同様である。つまり、性能管理機能502は、時間帯平均IOPS情報テーブル519から取得したプール平均IOPSから、プール内各TierのI/O比率を基に、プール内各TierのIOPSを算出する。プール平均IOPSにTierのI/O比率を掛けた値が、当該TierのIOPSである。
性能管理機能502は、上述のように算出した追加IOPSを、データ退避元Tierとデータ退避先TierのIOPSに加算する。これにより、プール内の各TierのIOPS予測値を得る。
次に、S2503において、性能管理機能502は、性能余剰率予測値を算出する。具体的には、性能管理機能502は、IOPS対レスポンスタイム相関情報テーブル521を参照し、S2502で算出したデータ退避中の各TierのIOPSとTierの種別をキーに、IOPS帯平均レスポンスタイムのカラム1603から、各Tierのレスポンスタイム予測値を取得する。
さらに、性能管理機能502は、ページ情報テーブル514の前回監視期間I/O量カラム1106から、プールの各Tier内の全てのページのI/O量の合計を算出する。この値は、各TierのI/O量合計である。
性能管理機能502は、これらの値を使用し、以下の式によりプールのレスポンスタイム予測値を算出する。これは、TierのレスポンスタイムのI/O量加重平均である。
プールのレスポンスタイム予測値=(Σ(TierのI/O量合計×Tierのレスポンスタイム予測値))/プールのI/O量合計
プールのレスポンスタイム予測値=(Σ(TierのI/O量合計×Tierのレスポンスタイム予測値))/プールのI/O量合計
性能管理機能502は、算出したプールのレスポンスタイム予測値を基に、プールの性能余剰率予測値を算出する。図20に示す性能問題改善計画処理で求めたプールの性能余剰率は、プールのレスポンスタイム一日平均を基に算出された。プールの性能余剰率予測値は、プールのレスポンスタイム予測値を基に以下のように算出される。要求レスポンスタイム上限の値は、例えば、プールのレスポンスタイム一日平均と同様の基準で決定される。
性能余剰率予測値(%)=100-(プールのレスポンスタイム予測値/要求レスポンスタイム上限)×100
性能余剰率予測値(%)=100-(プールのレスポンスタイム予測値/要求レスポンスタイム上限)×100
次に、S2504において、性能管理機能502は、算出した性能余剰率予測値と管理者によって予め設定されている下限閾値とを比較する。性能余剰率予測値が下限閾値以下である場合(S2504:NO)、性能管理機能502は、SLO違反があると判定し(S2507)、処理を終了する。性能余剰率予測値が下限閾値より大きい場合(S2504:YES)、性能管理機能502はS2505に進む。データ退避完了見込み時刻まで性能余剰率予測値が下限閾値より常に大きい場合、性能管理機能502はSLO違反がないと判定し(S2506)、処理を終了する。
次に、図26のフローチャートを参照して、データ退避後性能チェック処理(S2305)の例を説明する。この例において、性能管理機能502は、データ退避完了後、即時に階層間再配置を実施する場合と、即時階層間再配置を実施せず、定期的に予定されている階層間再配置まで待つ場合の二つのパターンに関して、提供元プールの性能及びSLO違反の有無を予測する。
性能管理機能502は、図23を参照して説明したように、各選択時刻でのページ配置を予測し、そのページ配置におけるIOPS及びレスポンスタイムを予測することができる。さらに、階層間再配置における追加IOPSの予測は、図23を参照して説明したデータ退避における追加IOPSの予測と同様の方法を使用することができる。
図26のフローチャートにおいて、性能管理機能502は、S2601からS2609を、データ退避後の即時階層間再配置有りと無しの両方のパターンに関して繰り返す。つまり、性能管理機能502は、即時階層間再配置を行う場合と即時階層間再配置を行わない場合の双方の提供元プールの性能予測を行う。
性能管理機能502は、S2602からS2606を、データ退避完了見込時刻から定期階層間再配置開始時刻まで一定時間間隔ずつ進めながら繰り返す。つまり、性能管理機能502は、データ退避完了から定期階層間再配置開始までの期間から選択した各時刻において、性能及びSLO違反の有無を予測する。
性能予測を行う提供元プールに対する定期階層間再配置が設定されていない場合(プール情報テーブル511において実行モードが"手動"の場合)、性能管理機能502は、データ退避完了から24時間後までの期間における性能予測及びSLO違反の有無のチェックを行う。
S2603において、性能管理機能502は、該当時刻のIOPSを算出する。IOPSの算出方法は、即時階層間再配置を行う場合と、即時階層間再配置を行う場合とで異なる。即時階層間再配置を行わない場合、性能管理機能502は、データ退避完了時のページ配置から、各TierのIOPSを算出する。この算出方法は、図23に示すデータ退避中の性能チェックにおける方法と同様である。
即時階層間再配置を行う場合、性能管理機能502は、階層間再配置行っている間において、ページ移動に伴うページ移動元及びページ移動先のTierでの追加IOPSを算出する。さらに、性能管理機能502は、該当時刻でのページ配置と上記算出した追加のIOPSから、該当時刻での各TierのIOPSを算出する。この算出方法は、図23に示すデータ退避中の性能チェックにおける方法と同様である。
即時階層間再配置完了から定期階層間再配置開始までの期間におけるIOPSの算出は不要である。算出する場合、性能管理機能502は、即時階層間再配置完了時のページ配置から、該当時刻での各TierのIOPSを算出する。この算出方法は、即時階層間再配置を行わない場合と同様である。即時階層間再配置後のページ配置は、ページ退避完了後に即時階層間再配置を行わない場合のページ配置とは異なる。
次に、S2604において、性能管理機能502は、性能余剰率予測値を算出する。この算出方法は、図25のデータ退避中性能チェックのフローチャートにおけるS2503と同様である。
S2605において、性能管理機能502は、算出した性能余剰率予測値と管理者によって予め設定されている下限閾値とを比較する。性能余剰率予測値が下限閾値以下である場合(S2605:NO)、性能管理機能502は、SLO違反があると判定し(S2608)、S2609に進む。性能余剰率予測値が下限閾値より大きい場合(S2605:YES)、性能管理機能502はSLO違反がないと判定し(S2607)、S2609に進む。
図26を参照して説明した上記例は、定期階層間再配置の間のプール性能及びSLO違反の予測を行わないが、性能管理機能502は、その期間におけるプール性能及びSLO違反の予測も行ってもよい。
以上のように、本実施形態によれば、TCOを低く抑えつつ、ストレージシステム全体で、ボリューム提供先ホストの要求する性能を確保することができる。また、そのための管理者の負担を大きく低減することができる。SLO違反の可能性が低くかつ早期にリソース解除完了可能な提供元プールを特定とすることによって、SLO違反発生の確率を低減することができる。
以上、本発明を添付の図面を参照して詳細に説明したが、本発明はこのような具体的構成に限定されるものではなく、添付した請求の範囲の趣旨内における様々な変更及び同等の構成を含むものである。プログラムの少なくとも一部は、専用ハードウェアによって実現されてもよい。プログラムは、プログラム配布サーバや、計算機読み取り可能な非一時的記憶媒体によって計算機にインストールすることができ、計算機の不揮発性記憶装置に格納することができる。
本実施形態において入出力デバイスを介して管理者により行われた設定処理の少なくとも一部は、プログラムにより実行されてもよい。上記構成において、プール間の移動リソースは移動元の1以上のプールボリュームであるが、プール間移動リソースは、移動元プールボリュームの一部の実記憶領域であってもよい。
管理システムは、プールが満たすべき性能要求の指標として、レスポンスタイムと異なる値を使用することができる。例えば、トランスファレート(MB/s)、スループット(Max-IOPS)、その他の指標を使用することができる。
上述のように、より早いリソース移動を実現するため、管理システムは、データ退避後に即時階層間再配置を行う場合と行わない場合の双方の性能予測を行うことが好ましいが、それらの内の一方のみの性能予測を行ってもよい。
上記構成例は、リソース提供元プールにおけるデータ退避後、即時に、階層間再配置を行う。これと異なり、管理システムは、データ退避完了から所定時間経過後、定期階層間再配置前に、階層間再配置を行ってもよい。管理システムは、データ退避と階層間再配置とを分離して、シミュレーションを行うことができる。
管理システムは、データ退避中の性能予測(シミュレーション)を行った後、階層間再配置の開始時刻をデータ退避完了時刻から所定時間ずつ進めながら、階層間再配置中及びその後の性能予測(シミュレーション)を行う。これにより、SLO違反を起こさない、より早いデータ退避完了時刻のリソース移動計画を得る可能性が高まる。
上述のように、管理システムは、定期的に取得していているストレージシステムの履歴情報に基づいて、性能予測のためのシミュレーションを行うことが好ましい。これによって、より正確な性能予測を行うことができる。設計によっては、予め設定されている一定のデータを使用して、性能予測を行ってもよい。
管理システムは、プール内データ移動を行わない期間において、シミュレーションによる性能予測を行わなくともよい。例えば、管理システムは、データ退避中の性能及び、行う場合には即時階層間再配置の期間の性能を予測し、その結果によってSLO違反の有無を予測する。
上記構成例は、性能余剰率により危険プールの判定及び転送元プールの選択を行うが、これと異なる指標によりこれらを行ってもよい。上述のように、危険プールへのリソース追加見込み時刻が最も早い移動計画を選択することが好ましいが、設計によっては、これと異なる基準で移動計画を選択してもよい。例えば、転送元プールのリソース移動後性能余剰率を最優先の基準として使用してもよい。
上述のように、階層間再配置を行った後にSLOを満たすと予想されるプールについて、詳細なシミュレーションによる性能予測を行うことが効率的であるが、全てのプールについて、データ退避開始からの詳細なシミュレーションを行ってもよい。
Claims (15)
- ストレージシステムと、前記ストレージシステムとネットワークを介して接続し前記ストレージシステムを管理する管理システムと、を含み、
前記ストレージシステムは、それぞれが複数の記憶リソースを含みアクセス性能が異なる複数の階層に分けられた、複数のプールを含み、
前記管理システムは、前記複数のプールのアクセス性能を監視し、予め定められたアクセス性能要求を満たさなくなることが予測される危険プールを検知し、
前記管理システムは、前記複数のプールの1以上の候補プールのそれぞれについて、記憶リソースを前記危険プールに移動する場合のアクセス性能を、前記記憶リソースの前記移動のために前記記憶リソースに格納されているデータを同一プール内で退避することによるプール内データ配置の変動、に基づくシミュレーションにより予測し、
前記管理システムは、前記予測したアクセス性能が予め定められた性能要求を満たす提供元プールから前記記憶リソースを前記危険プールに移動することを決定する、計算機システム。 - 前記管理システムは、前記データ退避中の期間において、前記記憶リソースのデータ移動により変化するデータ配置の予測配置と、前記記憶リソースのデータ移動による追加の予測負荷と、を使用して、前記候補プールの前記アクセス性能を予測する、請求項1に記載の計算機システム。
- 前記管理システムは、前記アクセス性能の時間変化のシミュレーションによる予測において、
前記候補プール内でのデータ移動が発生しない期間において、前記候補プール内の予測データ配置を使用して、前記候補プールの前記アクセス性能を予測し、
前記候補プール内でのデータ移動が発生する期間において、前記候補プール内の予測データ配置に加えて、前記候補プール内のデータ移動による追加の予測負荷を使用して、前記候補プールの前記アクセス性能を予測する、請求項2に記載の計算機システム。 - 前記管理システムは、前記データ退避の開始時刻を進めながら前記候補プールの前記アクセス性能の予測を繰り返し、前記予測アクセス性能が前記候補プールの前記予め定められた性能要求を満たすデータ退避開始時刻を探す、請求項3に記載の計算機システム。
- 前記管理システムは、前記予測したアクセス性能が予め定められた性能要求を満たす複数の候補プールにおいて、データ退避完了予測時刻が最も早い候補プールを、前記提供元プールとして選択する、請求項4に記載の計算機システム。
- 前記管理システムは、前記ストレージシステムから収集した前記候補プールへのアクセスの履歴情報と前記候補プールの各階層のアクセス性能に関する情報とを記憶しており、
前記管理システムは、前記データ退避中及び前記データ退避完了後の期間において、前記アクセスの履歴情報と前記アクセス性能関する情報を使用して、前記候補プールのアクセス性能を予測する、請求項5に記載の計算機システム。 - 前記管理システムは、前記シミュレーションが前記記憶リソースのデータ退避完了後の階層間再配置を含む場合、前記データ退避完了後の階層間再配置中の前記候補プールのアクセス性能を、前記候補プール内のデータ階層間移動により変化するデータ配置の予測配置と、データ階層間移動による予測追加負荷と、を使用して予測する、請求項6に記載の計算機システム。
- 前記管理システムは、前記記憶リソースのデータ退避後の即時階層間再配置を行う場合と行わない場合の双方の、前記候補プールのアクセス性能を予測する、請求項7に記載の計算機システム。
- 前記管理システムは、前記提供元プールから前記危険プールに前記記憶リソースを移動する間において、前記提供元プールへのアクセスを監視し、
前記管理システムは、前記監視している前記提供元プールへのアクセスと前記提供元プールの予測性能とに基づき前記リソースの移動を中止するか否かを判定する、請求項8に記載の計算機システム。 - それぞれが複数の記憶リソースを含みアクセス性能が異なる複数の階層に分けられた複数のプールを含むストレージシステムと、前記ストレージシステムとネットワークを介して接続し前記ストレージシステムを管理する管理システムと、を含む計算機システムにおいて、前記ストレージシステムを管理する方法であって、
前記管理システムが、前記複数のプールのアクセス性能を監視し、予め定められたアクセス性能要求を満たさなくなることが予測される危険プールを検知し、
前記管理システムが、前記複数のプールの1以上の候補プールのそれぞれについて、記憶リソースを前記危険プールに移動する場合のアクセス性能を、前記記憶リソースの前記移動のために前記記憶リソースに格納されているデータを同一プール内で退避することによるプール内データ配置の変動、に基づくシミュレーションにより予測し、
前記管理システムが、前記予測したアクセス性能が予め定められた性能要求を満たす提供元プールから前記記憶リソースを前記危険プールに移動することを決定する、ストレージシステム管理方法。 - 前記管理システムが、前記データ退避中の期間において、前記記憶リソースのデータ移動により変化するデータ配置の予測配置と、前記記憶リソースのデータ移動による追加の予測負荷と、を使用して、前記候補プールの前記アクセス性能を予測する、請求項10に記載のストレージシステム管理方法。
- 前記管理システムが、前記データ退避の開始時刻を進めながら前記候補プールの前記アクセス性能の予測を繰り返し、前記予測アクセス性能が前記候補プールの前記予め定められた性能要求を満たすデータ退避開始時刻を探し、
前記管理システムが、前記予測したアクセス性能が予め定められた性能要求を満たす複数の候補プールにおいて、データ退避完了予測時刻が最も早い候補プールを、前記提供元プールとして選択する、請求項10に記載のストレージシステム管理方法。 - 前記管理システムが、前記ストレージシステムから収集した前記候補プールへのアクセスの履歴情報と前記候補プールの各階層のアクセス性能に関する情報とを記憶し、
前記管理システムが、前記データ退避中及び前記データ退避完了後の期間において、前記アクセスの履歴情報と前記アクセス性能関する情報を使用して、前記候補プールのアクセス性能を予測する、請求項10に記載のストレージシステム管理方法。 - 前記管理システムが、前記シミュレーションが前記記憶リソースのデータ退避完了後の階層間再配置を含む場合、前記データ退避完了後の階層間再配置中の前記候補プールのアクセス性能を、前記候補プール内のデータ階層間移動により変化するデータ配置の予測配置と、データ階層間移動による予測追加負荷と、を使用して予測する、請求項10に記載のストレージシステム管理方法。
- 前記管理システムが、前記記憶リソースのデータ退避後の即時階層間再配置を行う場合と行わない場合の双方の、前記候補プールのアクセス性能を予測する、請求項14に記載のストレージシステム管理方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2011/063165 WO2012169027A1 (ja) | 2011-06-08 | 2011-06-08 | 計算機システム及びストレージシステム管理方法 |
US13/384,910 US8683162B2 (en) | 2011-06-08 | 2011-06-08 | Computer system and method of managing storage system monitoring access performance for risky pool detection |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2011/063165 WO2012169027A1 (ja) | 2011-06-08 | 2011-06-08 | 計算機システム及びストレージシステム管理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2012169027A1 true WO2012169027A1 (ja) | 2012-12-13 |
Family
ID=47294150
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2011/063165 WO2012169027A1 (ja) | 2011-06-08 | 2011-06-08 | 計算機システム及びストレージシステム管理方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8683162B2 (ja) |
WO (1) | WO2012169027A1 (ja) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014112104A1 (ja) * | 2013-01-18 | 2014-07-24 | 株式会社日立製作所 | 計算機システム、データ管理方法、及びホスト計算機 |
WO2014118874A1 (ja) * | 2013-01-29 | 2014-08-07 | 株式会社 日立製作所 | ストレージシステム |
WO2014128910A1 (ja) * | 2013-02-22 | 2014-08-28 | 株式会社日立製作所 | ストレージシステム、管理計算機、及び仮想論理ボリューム管理方法 |
WO2014147816A1 (ja) * | 2013-03-22 | 2014-09-25 | 株式会社 日立製作所 | ストレージ装置及び記憶領域検証方法 |
WO2014167716A1 (ja) * | 2013-04-12 | 2014-10-16 | 株式会社日立製作所 | 計算機システムの管理システム及び管理方法 |
WO2015194033A1 (ja) * | 2014-06-20 | 2015-12-23 | 株式会社日立製作所 | 計算機システム |
US20160142335A1 (en) | 2014-11-19 | 2016-05-19 | Fujitsu Limited | Storage management device, storage management method, and computer-readable recording medium |
JP2016099761A (ja) * | 2014-11-20 | 2016-05-30 | 富士通株式会社 | ストレージ管理装置、性能調整方法及び性能調整プログラム |
JP2017010196A (ja) * | 2015-06-19 | 2017-01-12 | 富士通株式会社 | ストレージ制御装置、ストレージ制御プログラム、及びストレージ制御方法 |
WO2017085792A1 (ja) * | 2015-11-17 | 2017-05-26 | 株式会社日立製作所 | ストレージシステム、及びストレージシステムの制御方法 |
US9990313B2 (en) | 2014-06-19 | 2018-06-05 | Hitachi, Ltd. | Storage apparatus and interface apparatus |
JP2018101440A (ja) * | 2018-02-08 | 2018-06-28 | 株式会社日立製作所 | 計算機システム |
US10037162B2 (en) | 2015-06-15 | 2018-07-31 | Fujitsu Limited | Storage management device, storage management method, and computer-readable recording medium |
JP2020042651A (ja) * | 2018-09-12 | 2020-03-19 | 株式会社日立製作所 | リソース割当ての最適化を支援するシステム及び方法 |
JP2022538028A (ja) * | 2019-06-26 | 2022-08-31 | インターナショナル・ビジネス・マシーンズ・コーポレーション | ストレージ・ドライブの動的パフォーマンス・クラス調節 |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9542125B1 (en) * | 2012-09-25 | 2017-01-10 | EMC IP Holding Company LLC | Managing data relocation in storage systems |
US9658983B1 (en) * | 2012-12-14 | 2017-05-23 | Amazon Technologies, Inc. | Lifecycle support for storage objects having multiple durability levels specifying different numbers of versions |
US9514162B2 (en) * | 2013-06-07 | 2016-12-06 | Internation Business Machines Corporation | Smart polling frequency |
CN104750538B (zh) * | 2013-12-27 | 2020-03-03 | 伊姆西Ip控股有限责任公司 | 用于为目标应用提供虚拟存储池的方法和系统 |
US9542346B2 (en) * | 2014-01-14 | 2017-01-10 | Netapp, Inc. | Method and system for monitoring and analyzing quality of service in a storage system |
US9547445B2 (en) | 2014-01-14 | 2017-01-17 | Netapp, Inc. | Method and system for monitoring and analyzing quality of service in a storage system |
US9542103B2 (en) | 2014-01-14 | 2017-01-10 | Netapp, Inc. | Method and system for monitoring and analyzing quality of service in a storage system |
US9584599B2 (en) * | 2014-01-14 | 2017-02-28 | Netapp, Inc. | Method and system for presenting storage in a cloud computing environment |
US9658778B2 (en) | 2014-01-14 | 2017-05-23 | Netapp, Inc. | Method and system for monitoring and analyzing quality of service in a metro-cluster |
US9411834B2 (en) | 2014-01-14 | 2016-08-09 | Netapp, Inc. | Method and system for monitoring and analyzing quality of service in a storage system |
WO2015140931A1 (ja) * | 2014-03-18 | 2015-09-24 | 株式会社 東芝 | トライアル領域を備えた階層化ストレージシステム、ストレージコントローラ及びプログラム |
GB2533405A (en) | 2014-12-19 | 2016-06-22 | Ibm | Data storage resource assignment |
JP6279816B2 (ja) * | 2015-07-28 | 2018-02-14 | 株式会社日立製作所 | ストレージ監視システムおよびその監視方法 |
US20170031600A1 (en) * | 2015-07-30 | 2017-02-02 | Netapp Inc. | Real-time analysis for dynamic storage |
US11853656B1 (en) * | 2015-09-30 | 2023-12-26 | EMC IP Holding Company LLC | Data storage system modeling using application service level objectives and specified workload limits for storage tiers |
JP6747018B2 (ja) * | 2016-03-31 | 2020-08-26 | 日本電気株式会社 | 記憶システム、記憶システム制御装置、記憶システム制御方法及びプログラム |
JP6946716B2 (ja) * | 2017-04-28 | 2021-10-06 | 富士通株式会社 | ストレージ制御装置,ストレージ制御プログラムおよびストレージ制御方法 |
WO2019017947A1 (en) | 2017-07-20 | 2019-01-24 | Hewlett-Packard Development Company, L.P. | PERFORMANCE PREDICTION OF A COMPUTER SYSTEM |
US11113090B1 (en) | 2017-08-09 | 2021-09-07 | United Services Automobile Association (Usaa) | Systems and methods for container management |
US10614012B2 (en) * | 2018-01-09 | 2020-04-07 | Microsemi Storage Solutions, Inc. | System and method for controlling the performance of serial attached SCSI (SAS) target devices |
US10503672B2 (en) * | 2018-04-26 | 2019-12-10 | EMC IP Holding Company LLC | Time dependent service level objectives |
US10884778B1 (en) * | 2018-09-28 | 2021-01-05 | Amazon Technologies, Inc. | Adjusting dynamically scalable instance hosting based on compute resource usage |
US10877786B1 (en) | 2018-09-28 | 2020-12-29 | Amazon Technologies, Inc. | Managing compute resource usage based on prior usage |
US11010091B2 (en) * | 2019-08-29 | 2021-05-18 | International Business Machines Corporation | Multi-tier storage |
US11169716B2 (en) * | 2020-03-31 | 2021-11-09 | EMC IP Holding Company LLC | Prediction of maintenance window of a storage system |
JP2023015664A (ja) * | 2021-07-20 | 2023-02-01 | 株式会社日立製作所 | 管理システム、QoS違反検知方法、及びQoS違反検知プログラム |
US20230168934A1 (en) * | 2021-12-01 | 2023-06-01 | Fungible, Inc. | Predictable and adaptive quality of service for storage |
US11621882B1 (en) * | 2022-01-28 | 2023-04-04 | United Services Automobile Association (Usaa) | Automated remedial actions for service level objective thresholds |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009238114A (ja) * | 2008-03-28 | 2009-10-15 | Hitachi Ltd | ストレージ管理方法、ストレージ管理プログラム、ストレージ管理装置およびストレージ管理システム |
JP2009252106A (ja) * | 2008-04-09 | 2009-10-29 | Nec Corp | ディスクアレイ制御方法及びディスクアレイ装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1668486A2 (en) | 2003-08-14 | 2006-06-14 | Compellent Technologies | Virtual disk drive system and method |
US8543778B2 (en) * | 2010-01-28 | 2013-09-24 | Hitachi, Ltd. | Management system and methods of storage system comprising pool configured of actual area groups of different performances |
US8543786B2 (en) * | 2010-09-29 | 2013-09-24 | Hitachi, Ltd. | Computer system and computer system management method for adding an unused real volume to a pool |
US9348515B2 (en) * | 2011-01-17 | 2016-05-24 | Hitachi, Ltd. | Computer system, management computer and storage management method for managing data configuration based on statistical information |
-
2011
- 2011-06-08 US US13/384,910 patent/US8683162B2/en not_active Expired - Fee Related
- 2011-06-08 WO PCT/JP2011/063165 patent/WO2012169027A1/ja active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009238114A (ja) * | 2008-03-28 | 2009-10-15 | Hitachi Ltd | ストレージ管理方法、ストレージ管理プログラム、ストレージ管理装置およびストレージ管理システム |
JP2009252106A (ja) * | 2008-04-09 | 2009-10-29 | Nec Corp | ディスクアレイ制御方法及びディスクアレイ装置 |
Cited By (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9619154B2 (en) | 2013-01-18 | 2017-04-11 | Hitachi, Ltd. | Computer system, data management method, and host computer |
WO2014112104A1 (ja) * | 2013-01-18 | 2014-07-24 | 株式会社日立製作所 | 計算機システム、データ管理方法、及びホスト計算機 |
WO2014118874A1 (ja) * | 2013-01-29 | 2014-08-07 | 株式会社 日立製作所 | ストレージシステム |
US8886888B2 (en) | 2013-01-29 | 2014-11-11 | Hitachi, Ltd. | Storage system |
WO2014128910A1 (ja) * | 2013-02-22 | 2014-08-28 | 株式会社日立製作所 | ストレージシステム、管理計算機、及び仮想論理ボリューム管理方法 |
US9626110B2 (en) | 2013-02-22 | 2017-04-18 | Hitachi, Ltd. | Method for selecting a page for migration based on access path information and response performance information |
US9459973B2 (en) | 2013-03-22 | 2016-10-04 | Hitachi, Ltd. | Storage subsystem, and method for verifying storage area |
WO2014147816A1 (ja) * | 2013-03-22 | 2014-09-25 | 株式会社 日立製作所 | ストレージ装置及び記憶領域検証方法 |
WO2014167716A1 (ja) * | 2013-04-12 | 2014-10-16 | 株式会社日立製作所 | 計算機システムの管理システム及び管理方法 |
US9442765B2 (en) | 2013-04-12 | 2016-09-13 | Hitachi, Ltd. | Identifying shared physical storage resources having possibility to be simultaneously used by two jobs when reaching a high load |
US9990313B2 (en) | 2014-06-19 | 2018-06-05 | Hitachi, Ltd. | Storage apparatus and interface apparatus |
WO2015194033A1 (ja) * | 2014-06-20 | 2015-12-23 | 株式会社日立製作所 | 計算機システム |
JPWO2015194033A1 (ja) * | 2014-06-20 | 2017-04-20 | 株式会社日立製作所 | 計算機システム |
JP2016099746A (ja) * | 2014-11-19 | 2016-05-30 | 富士通株式会社 | ストレージ管理装置、ストレージ管理方法及びストレージ管理プログラム |
US20160142335A1 (en) | 2014-11-19 | 2016-05-19 | Fujitsu Limited | Storage management device, storage management method, and computer-readable recording medium |
US10277676B2 (en) | 2014-11-19 | 2019-04-30 | Fujitsu Limited | Storage management device, storage management method, and computer-readable recording medium |
JP2016099761A (ja) * | 2014-11-20 | 2016-05-30 | 富士通株式会社 | ストレージ管理装置、性能調整方法及び性能調整プログラム |
US10037162B2 (en) | 2015-06-15 | 2018-07-31 | Fujitsu Limited | Storage management device, storage management method, and computer-readable recording medium |
JP2017010196A (ja) * | 2015-06-19 | 2017-01-12 | 富士通株式会社 | ストレージ制御装置、ストレージ制御プログラム、及びストレージ制御方法 |
WO2017085792A1 (ja) * | 2015-11-17 | 2017-05-26 | 株式会社日立製作所 | ストレージシステム、及びストレージシステムの制御方法 |
JP2018101440A (ja) * | 2018-02-08 | 2018-06-28 | 株式会社日立製作所 | 計算機システム |
JP2020042651A (ja) * | 2018-09-12 | 2020-03-19 | 株式会社日立製作所 | リソース割当ての最適化を支援するシステム及び方法 |
US10977082B2 (en) | 2018-09-12 | 2021-04-13 | Hitachi, Ltd. | Resource allocation optimization support system and resource allocation optimization support method |
JP2022538028A (ja) * | 2019-06-26 | 2022-08-31 | インターナショナル・ビジネス・マシーンズ・コーポレーション | ストレージ・ドライブの動的パフォーマンス・クラス調節 |
JP7558208B2 (ja) | 2019-06-26 | 2024-09-30 | インターナショナル・ビジネス・マシーンズ・コーポレーション | ストレージ・ドライブの動的パフォーマンス・クラス調節 |
Also Published As
Publication number | Publication date |
---|---|
US8683162B2 (en) | 2014-03-25 |
US20120317358A1 (en) | 2012-12-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2012169027A1 (ja) | 計算機システム及びストレージシステム管理方法 | |
US9477407B1 (en) | Intelligent migration of a virtual storage unit to another data storage system | |
US10754573B2 (en) | Optimized auto-tiering, wherein subset of data movements are selected, utilizing workload skew point, from a list that ranks data movements based on criteria other than I/O workload | |
US8566546B1 (en) | Techniques for enforcing capacity restrictions of an allocation policy | |
US10095425B1 (en) | Techniques for storing data | |
US9021203B2 (en) | Enhancing tiering storage performance | |
US8850152B2 (en) | Method of data migration and information storage system | |
US9665630B1 (en) | Techniques for providing storage hints for use in connection with data movement optimizations | |
US8122116B2 (en) | Storage management method and management server | |
JP4914173B2 (ja) | 再配置システムおよび再配置方法 | |
US10013170B1 (en) | Intelligent data compression | |
US9043571B2 (en) | Management apparatus and management method | |
GB2496807B (en) | Computer system, management method of the computer system, and program | |
WO2012140730A1 (ja) | 管理システム、それを有する計算機システム、及び管理方法 | |
JP5668151B2 (ja) | 計算機システムの管理装置及び管理方法 | |
CN107092442B (zh) | 存储系统资源分配方法及装置 | |
US8402214B2 (en) | Dynamic page reallocation storage system management | |
JP6035991B2 (ja) | ストレージ制御方法、およびストレージ制御装置 | |
US9323682B1 (en) | Non-intrusive automated storage tiering using information of front end storage activities | |
WO2014002213A1 (ja) | 管理システム及び管理方法 | |
US8954381B1 (en) | Determining data movements in a multi-tiered storage environment | |
WO2010099992A1 (en) | Method, system and computer program product for managing the placement of storage data in a multi tier virtualized storage infrastructure | |
WO2013098960A1 (ja) | 計算機システム、ファイル管理方法及び記憶媒体 | |
US20140372720A1 (en) | Storage system and operation management method of storage system | |
US20180314427A1 (en) | System and method for storage system autotiering using adaptive granularity |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WWE | Wipo information: entry into national phase |
Ref document number: 13384910 Country of ref document: US |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 11867241 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 11867241 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: JP |