JP6255895B2 - ストレージ制御装置、およびプログラム - Google Patents

ストレージ制御装置、およびプログラム Download PDF

Info

Publication number
JP6255895B2
JP6255895B2 JP2013221651A JP2013221651A JP6255895B2 JP 6255895 B2 JP6255895 B2 JP 6255895B2 JP 2013221651 A JP2013221651 A JP 2013221651A JP 2013221651 A JP2013221651 A JP 2013221651A JP 6255895 B2 JP6255895 B2 JP 6255895B2
Authority
JP
Japan
Prior art keywords
access
bias
storage
configuration
storages
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.)
Expired - Fee Related
Application number
JP2013221651A
Other languages
English (en)
Other versions
JP2015082315A (ja
Inventor
智彦 室山
智彦 室山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2013221651A priority Critical patent/JP6255895B2/ja
Priority to US14/477,227 priority patent/US9830100B2/en
Publication of JP2015082315A publication Critical patent/JP2015082315A/ja
Application granted granted Critical
Publication of JP6255895B2 publication Critical patent/JP6255895B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0634Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0646Configuration or reconfiguration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device

Description

本発明は、ストレージ制御装置、制御方法、およびプログラムに関する。
従来、複数のストレージを有するストレージシステムの構成を変更する技術がある。たとえば、複数のストレージのいずれかのストレージにアクセスが集中した際に、ストレージシステムの構成を変更して、いずれかのストレージへのアクセスを分散させることがある。また、たとえば、複数のストレージを制御する複数のプロセッサのいずれかのプロセッサに負荷が集中した際に、ストレージシステムの構成を変更して、いずれかのプロセッサにかかる負荷を分散させることがある。
関連する先行技術として、たとえば、監視対象となっているストレージネットワーク構成要素から収集した性能情報をもとに、以後の情報収集の対象範囲もしくは程度を自動調整するものがある。また、第1の論理ディスクに割り当てられている物理エクステントに対するホスト装置からのアクセス頻度を示す統計情報に基づいて、第2の論理ディスクに割り当てる第2の物理エクステントに、第1の論理ディスクのコピーボリュームを作成する技術がある。また、外部マネージャが、ディスクアレイ制御装置群と通信し、それぞれが有する物理ドライブおよび論理ボリュームに関するアクセス情報、構成情報を収集、管理し、アクセス負荷を均衡化するための最適なデータ移行マイグレーション指示を生成する技術がある。また、ホスト装置が、ハードディスク装置から受信したパラメータ情報に基づいてハードディスク装置に対するコマンドの実行時間を予測して、予測結果に基づいて、コマンドの並び替えを行う技術がある。(たとえば、下記特許文献1〜4を参照。)
特開2005−157933号公報 特開2009−217700号公報 特開2001−337790号公報 特開2001−222380号公報
しかしながら、従来技術によれば、ストレージシステムの性能を劣化させる複数の要因が存在する際に、それぞれの要因を解消するためのそれぞれの構成変更を行っても期待通りの性能向上を得られない場合がある。
1つの側面では、本発明は、ストレージシステムの性能向上を効率的に行えるストレージ制御装置、制御方法、およびプログラムを提供することを目的とする。
本発明の一側面によれば、ストレージシステム内の複数のストレージへのアクセスを制御する複数のストレージ制御装置のいずれかのストレージ制御装置であって、ストレージシステムの構成を特定する構成情報を記憶する記憶部にアクセス可能であり、複数のストレージに含まれる複数の記憶領域へのアクセスの偏りの有無に応じて構成情報に基づき複数の記憶領域へのアクセスの偏りを補正する第1の構成変更を行った後で、複数のストレージへのアクセスの偏りの有無に応じて構成情報に基づき複数のストレージへのアクセスの偏りを補正する第2の構成変更を行う、または、複数のストレージ制御装置にかかる負荷の偏りの有無に応じて構成情報に基づき複数のストレージ制御装置にかかる負荷の偏りを補正する第3の構成変更を行う補正処理を実行するストレージ制御装置、制御方法、およびプログラムが提案される。
本発明の一態様によれば、ストレージシステムの性能向上を効率的に行うことができるという効果を奏する。
図1は、本実施の形態にかかるストレージ制御装置の動作例を示す説明図である。 図2は、ストレージシステムの接続例を示す説明図である。 図3は、CMのハードウェア構成例を示すブロック図である。 図4は、RAID構成におけるボリュームの関係を示す説明図である。 図5は、Thin Provisioningのボリュームの対応関係を示す説明図である。 図6は、Wide Stripingの説明図である。 図7は、CMの機能構成例を示す説明図である。 図8は、制御部の詳細な機能構成例を示す説明図である。 図9は、検出に用いる性能情報の一覧を示す説明図である。 図10は、偏りによる性能への影響度とRAID構成の最適化手法の一例を示す説明図である。 図11は、PLUアクセスの偏りの補正と特定SLUアクセスの偏りの補正の一例を示す説明図である。 図12は、クロスアクセスの偏りの補正の一例を示す説明図である。 図13は、偏り検出および補正処理手順の一例を示すフローチャート(その1)である。 図14は、偏り検出および補正処理手順の一例を示すフローチャート(その2)である。
以下に図面を参照して、開示のストレージ制御装置、制御方法、およびプログラムの実施の形態を詳細に説明する。
図1は、本実施の形態にかかるストレージ制御装置の動作例を示す説明図である。本実施の形態にかかるストレージシステム100は、ストレージ102#1〜#nを制御する複数のストレージ制御装置101#1、#2を含むシステムである。
ストレージシステム100は、ストレージシステム100の利用者に対してストレージ102#1〜#nの記憶領域を提供するシステムである。利用者のデータを紛失しないために、ストレージ制御装置101#1、#2は、ストレージ102#1〜#nを組み合わせてRAID(Redundant Arrays of Inexpensive Disks)を形成して、RAIDにより形成された仮想的なボリュームを利用者に提供する。ストレージシステム100は、ストレージシステム100の構成を特定する構成情報111を記憶する。構成情報111は、ストレージ102#1〜#nを組み合わせることにより形成されたRAIDグループの情報を記憶する。
RAIDグループの情報は、RAID構成を特定する情報と、該当のRAIDグループへのアクセスを担当するストレージ制御装置101を特定する情報とを含む。RAID構成は、RAIDレベルとストレージ102の個数とにより決定する。同一のRAID構成となるRAIDグループは、RAIDレベルが同一であり、かつ、ディスクの個数が同一となるRAIDグループである。RAIDレベルは、複数のレベルが定義されており、主に、RAID0からRAID6まで存在する。また、RAID0+1というように、RAIDレベルを組み合わせたレベルも存在する。
複数台のストレージ102にデータを分散してI/Oを高速化させる技術はストライピングと呼ばれ、データがXbyteずつ順番にRAIDグループを形成するボリュームに配置される。Xbyteの各データを、ストリップ(strip)と呼称する。また、RAIDグループを形成する各ストレージ102に配置されたストリップを横つながりに組み合わせた1つのデータセットを、ストライプ(stripe)と呼称する。
RAIDグループへのアクセスを担当するストレージ制御装置101は、たとえば、書き込み先のRAIDグループのRAIDレベルがRAID5であれば、書き込みデータからパリティを計算して、対応するストリップに書き込みデータ、またはパリティを書き込む。
RAIDを形成することにより、ストレージシステム100は、利用者にデータの冗長性による信頼性の高い記憶領域を提供できる。また、RAIDを形成することにより、アクセスが複数のストレージ102に分散することから、ストレージシステム100は、利用者にアクセス応答が高速な記憶領域を提供できる。
しかしながら、アクセスがRAIDグループを形成する複数のストレージ102の一つのストレージ102にアクセスが偏ると、RAIDグループのI/O性能が、単一のストレージ102のI/Oに依存してしまい、アクセスに対応する応答が遅延する。また、複数のストレージ102に含まれる複数の記憶領域のうち、単一の記憶領域にアクセスが偏ると、アクセスに対応する応答が遅延する。さらに、複数のストレージ制御装置101のうち、単一のストレージ制御装置101にかかる負荷が偏ると、アクセスに対応する応答が遅延する。
単一のストレージ102にアクセスが集中する例として、ファイルシステムや、アプリケーションソフトウェアなどが管理するメタデータは、あるタイミングで比較的小さなファイルサイズでRead/Writeが行われる場合がある。メタデータのアクセス特性によってはRAIDグループを形成するストレージ102の個数やストリップサイズの相性から、アクセスされるデータが1つのストレージ102に集中してしまう可能性がある。
より詳細には、たとえば、アプリケーションソフトウェアなどが管理するメタデータが複数のレコードを有するテーブル構造になっており、一レコードのサイズが1ストライプ分のデータサイズと一致するとする。そして、アプリケーションソフトウェアが、複数のレコードから、各レコードのあるフィールドの値がある条件を満たすレコードを検索する処理を行うとする。この場合、各レコードのあるフィールドが記憶される記憶領域は、RAIDグループを形成する複数のストレージ102のうち、ある1つのストレージ102に集中する可能性がある。
応答の遅延については、ストレージシステム100の構成を変更することにより解消する可能性があるが、ストレージシステム100の性能を引き出すためのチューニングには高度な知識が要求され、ストレージシステム100の管理者にかかる負荷が高い。具体的に、ストレージシステム100の管理者は、ストレージシステム100の性能が引き出せない原因の追究、性能を引き出すためのチューニングは、ストレージシステム100内から収集できる性能情報の詳細な調査を行うことになる。
また、単一のストレージ102へのアクセスの偏りの解消と、単一の記憶領域へのアクセスの偏りの解消と、単一のストレージ制御装置101にかかる負荷の偏りの解消と、のうちのいずれかを行うためにストレージシステム100の構成を変更したとする。このとき、ストレージシステム100の構成により、解消した偏り以外の偏りがより大きくなる可能性がある。そして、解消した偏りがストレージシステム100の性能に与える影響より、より大きくなった偏りがストレージシステム100の性能に与える影響の方が大きい場合、ストレージシステム100の性能が悪化することになる。
そこで、本実施の形態にかかるストレージ制御装置101は、複数のストレージ102の各記憶領域へのアクセスの偏りの補正後、複数のストレージへのアクセスの偏りまたは複数のストレージ制御装置101にかかる負荷の偏りを補正する。これにより、ストレージ制御装置101は、ストレージシステム100の性能に高影響の要因の補正が低影響の要因の補正で台無しになることを防ぐ。
図1の(A)は、ストレージ制御装置101#1、#2のいずれかが複数のストレージ102に含まれる複数の記憶領域へのアクセスの偏りの有無に応じて構成情報111に基づき複数の記憶領域へのアクセスの偏りを補正する第1の構成変更を行った後の図である。ストレージ制御装置101#1、#2のいずれかは、第1の構成変更を行うことにより、複数の記憶領域へのアクセスの偏りを補正することになる。複数の記憶領域へのアクセスの偏りを補正する第1の構成変更については、図10、図11で後述する。
図1の(A)における構成情報111は、RAIDグループ1がストレージ102#1〜#n−1により形成されており、RAIDレベルがRAID5であることを示す。また、図1の(A)における構成情報111は、RAIDグループ1にアクセスを担当するストレージ制御装置101がストレージ制御装置101#1であることを示す。図1の(A)、(B)における、ストレージ制御装置101#1、#2に入る矢印は、RAIDグループ1に対するアクセス量を示す。図1の(A)では、ストレージ制御装置101#1に依頼されるRAIDグループ1に対するアクセス量より、ストレージ制御装置101#2に依頼されるRAIDグループ1に対するアクセス量の方が大きいことを示す。結果、ストレージ制御装置101#1は、RAIDグループ1に対するアクセスの処理として、ストレージ制御装置101#1に直接依頼された分と、ストレージ制御装置101#2から依頼された分とを行うため、負荷が集中する。
また、図1の(A)に示すストレージシステム100は、アクセスがストレージ102#mに集中しており、アクセスに偏りが発生した状態である。図1の(A)、(B)における斜線が入った矩形121、122は、該当のストリップアクセスがあることを示す。具体的に、図1の(A)では、ストリップmに矩形121があるから、ストリップmにアクセスがあることを示し、また、ストリップn+mに矩形122があるから、ストリップn+mにアクセスがあることを示す。このように、複数の記憶領域へのアクセスの偏りを補正した結果、単一のストレージ102にアクセスが偏ってしまう可能性がある。
第1の構成変更を行った後、ストレージ制御装置101#1、#2のいずれかは、複数のストレージへのアクセスの偏りの有無に応じて構成情報111に基づき第2の構成変更を行う補正処理を実行する。または、第1の構成変更を行った後、ストレージ制御装置101#1、#2のいずれかは、複数のストレージ制御装置101にかかる負荷の偏りの有無に応じて構成情報111に基づき第3の構成変更を行う補正処理を実行する。
第2の構成変更は、複数のストレージへのアクセスの偏りを補正する構成変更である。ストレージ制御装置101#1、#2のいずれかは、第2の構成変更を行うことにより、複数のストレージへのアクセスの偏りを補正することになる。第2の構成変更については、図10、図11で後述する。
また、第3の構成変更は、複数のストレージ制御装置101にかかる負荷の偏りを補正する構成変更である。ストレージ制御装置101#1、#2のいずれかは、第3の構成変更を行うことにより、複数のストレージ制御装置101にかかる負荷の偏りを補正することになる。第3の構成変更については、図10、図12で後述する。
図1(B)に示すストレージシステム100は、第2の構成変更を行った場合の例を示す。図1の(B)における構成情報111は、RAIDグループ1のRAIDレベルとRAID担当ストレージ制御装置101については変更されておらず、RAIDグループ1に含まれるストレージの個数が変更されている。RAIDグループ1にストレージ102#nが加わったことにより、アクセスが、ストリップmを有するストレージ102#mと、ストリップn+mを有するストレージ102#m−1とに分散される。したがって、図1の(A)においてストレージ102#mに偏っていたアクセスが分散され、RAIDグループ1の性能が向上することになる。
図1には示していないが、ストレージ制御装置101#1、#2のいずれかは、第1の構成変更を行った後、第3の構成変更を行う補正処理を実行してもよい。第3の構成変更として、ストレージ制御装置101#1、#2のいずれかは、RAID担当ストレージ制御装置101を、ストレージ制御装置101#1からストレージ制御装置101#2に変更する。ストレージ制御装置101#1に依頼されるRAIDグループ1に対するアクセス量は小さいため、ストレージ制御装置101#1、#2にかかる負荷を分散することができ、ストレージシステム100の性能を向上させることができる。
次に、図2〜図14において、CM(Controller Module)を有するストレージシステム200について説明する。
図2は、ストレージシステムの接続例を示す説明図である。ストレージシステム200は、ホスト装置201と、FCスイッチ202と、CM203〜206と、DE(Drive Enclosure)207〜210と、を含む。ストレージ制御装置101は、CM203〜206に相当する。
ホスト装置201は、CA(Channel Adapter)211#1〜#4を含む。CM203〜206のハードウェア構成については、図3で後述する。DE207は、ストレージ212#1〜#9と、HS(Hot Spare)213とを含む。また、DE208は、ストレージ214#1〜#9と、HS215とを含む。同様に、DE209は、ストレージ216#1〜#9と、HS217とを含む。また、DE210は、ストレージ218#1〜#9と、HS219とを含む。
ホスト装置201は、ストレージ212#1〜#9、214#1〜#9、216#1〜#9、218#1〜#9が有する記憶領域を利用する装置である。FCスイッチ202は、ホスト装置201とCM203〜206とに接続する装置である。CM203〜206は、ストレージ212#1〜#9、214#1〜#9、216#1〜#9、218#1〜#9を制御する装置である。DE207〜210は、ストレージ212#1〜#9、214#1〜#9、216#1〜#9、218#1〜#9を搭載する筐体である。ストレージ212#1〜#9、214#1〜#9、216#1〜#9、218#1〜#9は、記憶領域を有する装置である。また、CM203〜206は、CE(Controller Enclosure)220に含まれる。CE220は、CM203〜206を搭載する筐体である。
CA211#1〜4は、FCスイッチ202を経由してCM203〜206に接続するアダプタである。ストレージ212#1〜#9、214#1〜#9、216#1〜#9、218#1〜#9は、たとえば、ハードディスクドライブや磁気テープドライブなどである。HS213、215、217、219は、ストレージ212#1〜#9、214#1〜#9、216#1〜#9、218#1〜#9に対して予備となる記憶領域を有する装置である。
図3は、CMのハードウェア構成例を示すブロック図である。図3では、CM203のハードウェア構成例を示す。CM204〜CM206のハードウェア構成については、CM203のハードウェア構成と同一になるため説明を省略する。
CM203は、CPU301#1、#2と、メモリ302と、CA303#1、#2と、DEへのアダプタ304#1、#2とを含む。CPU301#1、#2と、メモリ302とは、バス305により接続される。CA303#1、#2、DEへのアダプタ304#1、#2は、バス305に接続してもよいし、CPU301#1、#2に直接接続してもよい。
CPU301#1、#2は、CM203全体の制御を司る演算処理装置である。メモリ302は、ブートプログラムなどのプログラムを記憶する不揮発メモリである。CA303#1、#2は、FCスイッチ202を経由してホスト装置201と接続する装置である。DEへのアダプタ304#1、#2は、DE207〜210のそれぞれに格納されたストレージ212#1〜#9、214#1〜#9、216#1〜#9、218#1〜#9に接続する装置である。また、図3には図示していないが、CM203は、ブートプログラムなどのプログラムを記憶する不揮発性メモリを有する。
図3で示したように、CM203〜206それぞれは、複数のCPUを有する。したがって、CM203〜206に含まれる1つのCPUとメモリ302とを1つの装置として、図1に示したストレージ制御装置101に相当するとしてもよい。
図4は、RAID構成におけるボリュームの関係を示す説明図である。図4では、RLU(RAID Group Logical Unit)と、SLU(Shared Logical Unit)と、OLU(Open Logical Unit)と、DLU(virtual Device Logical Unit)と、PLU(Physical Logical Unit)とについて説明する。
RLUは、RAIDグループを示す。SLUは、RAIDグループの一部のボリューム、または全体のボリュームを示す。SLUは、ストレージシステム200内でボリュームを管理する最小単位である。OLUは、Open System用のボリュームを示す。OLUのボリュームタイプとしては、通常のボリューム、TPV(Thin Provisioning Volume)、FTV(Flexible Tier Volume)、図6で後述するWSV(Wide Striping Volume)がある。DLUは、仮想ディスクを示す。DLUは、RLUとPLUを関連付けるための概念である。PLUは、物理ディスクを示す。
図4では、RAID1+0におけるディスクおよびボリュームを示す。RLU401は、PLUが4台であり、RAIDレベルがRAID1+0のRAID構成である。RLU401は、DLU411、412を含む。DLU411は、PLU421、422を含む。また、DLU412は、PLU423、424を含む。PLU424は、OLU431、432、433を含む。OLU433は、SLU441、442、443を含む。OLUとSLUについて、OLUを最初に定義する際には、OLUとSLUとは同一の記憶領域を示す。OLUの定義後に、OLUの記憶領域を拡張する場合に、既存のOLUと別のSLUとによりOLUを再定義することにより、OLUの記憶領域を拡張することができる。
図5は、Thin Provisioningのボリュームの対応関係を示す説明図である。図5では、Thin Provisioningを適用しない場合と、Thin Provisioningを適用した場合のディスクおよびボリュームの対応関係について説明する。Thin Provisioningを適用した場合のディスクおよびボリュームの概念として、TPP(Thin Provisioning Pool)、TPPV(Thin Provisioning Pool Volume)、TPVがある。
TPPは、RAIDグループの集合体である。TPPVは、Thin Provisioningにおける物理ボリュームである。TPPVは、SLUに相当する。TPVは、Thin Provisioningにおける論理ボリュームである。TPVは、OLUに相当する。LBA変換テーブル501は、CM203内部で管理する情報である。
図6は、Wide Stripingの説明図である。RAIDの性能は、DISK性能に依るところが多い。特に、Randomライトの性能は、DISK性能に大きく影響する。したがって、LUNが複数のDISKを同時に使用できるRAID構成であれば、一般的に性能は向上する。Wide Stripingは、性能向上を目的として、複数のRAIDグループをStripingで連結する機能である。
Wide Stripingで形成されたボリュームは、WSVと呼称される。それぞれのRAIDグループにより、同容量のSLUが作成される。そして、SLUは、WSVの連結するサイズごとに分割される。分割された単位は、「WSV Unit」と呼称する。また、分割されたサイズは、「WSV Unit Size」と呼称する。
WSVのOLBAは、WSV Unit Size単位に SLUのWSV UnitがRAIDグループ順にラウンドロビンで割り当てられる。図6で示す例では、RLU#AにSLU#0が含まれており、RLU#BにSLU#1が含まれており、RLU#CにSLU#2が含まれており、RLU#DにSLU#3が含まれる。OLBA#0は、SLU#0内のWSV Unit#0に割り当てられる。次に、OLBA#1は、SLU#1内のWSV Unit#0に割り当てられる。続けて、OLBA#2は、SLU#2内のWSV Unit#0に割り当てられる。次に、OLBA#3は、SLU#3内のWSV Unit#0に割り当てられる。続けて、OLBA#4は、SLU#0内のWSV Unit#1に割り当てられる。このように、ラウンドロビンにしたがってSLUの記憶領域がOLUの記憶領域として割り当てられる。
図7は、CMの機能構成例を示す説明図である。CM203は、CA制御部701と、OS制御部702と、リソース制御部703と、キャッシュ制御部704と、RAID制御部705と、ストレージ制御部706と、制御部707とを含む。CA制御部701〜ストレージ制御部706は、CM204〜CM206も有する。また、制御部707は、CM204〜CM206のいずれかが有してもよい。本実施の形態では、CM203が、ストレージシステム200全体を制御する運用CMであるとして説明を行う。
また、CM203は、構成情報111にアクセス可能である。構成情報111は、メモリ302に記憶される。CA制御部701〜制御部707は、記憶装置に記憶されたストレージシステムの構成管理プログラムをCPU301#1が実行することにより、CA制御部701〜制御部707の機能を実現する。記憶装置とは、具体的には、たとえば、図3に示したメモリ302などである。CA制御部701〜制御部707の出力結果は、メモリ302に格納される。
CA制御部701は、ホスト装置201からコマンドを受け付けて、コマンドの応答を行う。OS制御部702は、CM203のOSの制御を行う。リソース制御部703は、ホスト装置201に対するI/Oの排他や監視を行う。キャッシュ制御部704は、メモリ302上のキャッシュ域の監視を行う。RAID制御部705は、ストレージ212#1〜#9、214#1〜#9、216#1〜#9、218#1〜#9により形成される複数のRAIDグループの制御を行う。ストレージ制御部706は、ストレージ212#1〜#9、214#1〜#9、216#1〜#9、218#1〜#9への書き込み制御を行う。
制御部707は、ストレージシステム200の構成を変更する。具体的に、制御部707は、構成情報111とCA制御部701〜ストレージ制御部706から収集した性能情報に基づいて、複数のRAIDグループの構成と、複数のRAIDグループの担当CPUを変更する。制御部707の詳細な機能構成例については、図8で説明する。
図8は、制御部の詳細な機能構成例を示す説明図である。制御部707は、第1の検出部801と、第1の補正部802と、第2の検出部803と、第2の補正部804と、第3の検出部805と、第3の補正部806と、を含む。
第1の検出部801は、複数のストレージに含まれる複数の記憶領域へのアクセスの偏りの有無を検出する。複数のストレージとは、複数のPLUである。複数の記憶領域とは、複数のSLUである。以下、複数の記憶領域へのアクセスの偏りを、「特定SLUアクセスの偏り」と呼称する。特定SLUアクセスの偏りの有無の検出に用いる性能情報については、図9で説明する。
第1の補正部802は、第1の検出部801が特定SLUアクセスの偏りが有ることを検出したことに応じて、構成情報に基づき特定SLUアクセスの偏りを補正する第1の構成変更を行う。たとえば、第1の補正部802は、第1の構成変更として、複数のSLUのうち相対的にアクセスが多いSLUが含まれるRAIDグループのRAIDレベルを変更する、または、前述のRAIDグループを形成するストレージの個数を変更する。特定SLUアクセスの偏りの補正例については、図11で説明する。
第2の検出部803は、第1の補正部802が第1の構成変更を行った後で、複数のストレージへのアクセスの偏りの有無を検出する。以下、複数のストレージへのアクセスの偏りを、「PLUアクセスの偏り」と呼称する。PLUアクセスの偏りの検出に用いる性能情報については、図9で説明する。
第2の補正部804は、第2の検出部803がPLUアクセスの偏りが有ることを検出したことに応じて、構成情報に基づきPLUアクセスの偏りを補正する第2の構成変更を行う。たとえば、第2の補正部804は、第2の構成変更として、構成情報に基づいて複数のPLUのうち相対的にアクセスが多いPLUが含まれるRAIDグループのRAIDレベルを変更する、または、前述のRAIDグループを形成するストレージの個数を変更する。PLUアクセスの偏りの補正例については、図11で説明する。
第3の検出部805は、第1の補正部802が第1の構成変更を行った後で、複数のCPUにかかる負荷の偏りの有無を検出する。複数のCPUにかかる負荷の偏りとしては、クロスアクセスの偏りと、CPUビジー率の偏りとがある。
ここで、クロスアクセスについて説明する。複数のRAIDグループには、複数のRAIDグループの各々のRAIDグループのアクセスを担当する各々のRAIDグループごとの担当CPUがある。そして、あるRAIDグループに対してあるCPUがアクセスを受け付けた際に、あるCPUがあるRAIDグループの担当CPUでない場合、あるCPUは、あるRAIDグループの担当CPUにアクセスを依頼する。これに対し、あるRAIDグループに対してあるCPUがアクセスを受け付けた際に、あるCPUがあるRAIDグループの担当CPUである場合、あるCPUは、あるRAIDグループにアクセスする。
担当CPUに依頼してアクセスすることを、「クロスアクセス」と呼称する。一方、アクセスを受け付けたCPUが担当CPUであり、直接アクセスすることを、「ストレートアクセス」と呼称する。また、担当CPUのことを、「RAID担当CPU」と呼称する場合がある。
第3の検出部805は、たとえば、第1の構成変更を行った後で、クロスアクセスの偏りの有無や、CPUビジー率の偏りの有無を検出する。クロスアクセスの偏りの有無の検出に用いる性能情報と、CPUビジー率の偏りの有無の検出に用いる性能情報とについては、図9で説明する。
第3の補正部806は、第3の検出部805がクロスアクセスの偏りが有ること、または、第3の検出部805がCPUビジー率の偏りが有ることを検出したことに応じて、構成情報に基づき第3の構成変更を行う。たとえば、第3の検出部805がクロスアクセスの偏りが有ることを検出したことに応じて、第3の補正部806は、第3の構成変更として、クロスアクセスの偏りを補正する。
また、たとえば、第3の検出部805がCPUビジー率の偏りが有ることを検出したことに応じて、第3の補正部806は、第3の構成変更として、CPUビジー率の偏りを補正する第3の構成変更を行う。クロスアクセスの偏りの補正例については、図12で説明する。また、CPUビジー率の偏りの補正例については、図12の説明の後で説明する。第1の構成変更と、第2の構成変更と、第3の構成変更と、をまとめて補正処理とする。
図9は、検出に用いる性能情報の一覧を示す説明図である。本実施の形態において、解析対象となるストレージシステム200の性能情報は、表901に記載された性能情報である。表901に記載された性能情報を用いて、CM203は、以下に示す4つの偏りを検出する。
1つ目の偏りの検出として、CM203は、レコード901−1が示すPLUアクセスの偏りの有無を判断する。1つ目の偏りを検出するために収集する性能情報は、RAID制御部705で収集する情報であり、具体的には、PLUが動作していた時間と、Readコマンド回数と、Writeコマンド回数と、Readブロック数と、Writeブロック数とである。1つ目の偏りを検出するために収集する性能情報の収集単位は、PLU単位である。
CM203は、コマンド回数またはブロック数に基づいて、PLUアクセスの偏りの有無を検出する。CM203は、検出に用いるReadコマンド回数を、下記(9−1−1)式を用いて算出する。
検出に用いるReadコマンド回数=Readコマンド回数−前回収集時におけるReadコマンド回数 …(9−1−1)
また、CM203は、検出に用いるWriteコマンド回数を、下記(9−1−2)式を用いて算出する。
検出に用いるWriteコマンド回数=Writeコマンド回数−前回収集時におけるWriteコマンド回数 …(9−1−2)
また、CM203は、検出に用いるReadブロック数を、下記(9−1−3)式を用いて算出する。
検出に用いるReadブロック数=Readブロック数−前回収集時におけるReadブロック数 …(9−1−3)
また、CM203は、検出に用いるWriteブロック数を、下記(9−1−4)式を用いて算出する。
検出に用いるWriteブロック数=Writeブロック数−前回収集時におけるWriteブロック数 …(9−1−4)
コマンド回数に基づいてPLUアクセスの偏りの有無を判断する場合、CM203は、下記(9−1−5)式を満たすPLUが1つだけある場合、PLUアクセスの偏りが有ると判断する。
あるPLUのコマンド回数>所定の閾値1A×他のPLUのコマンド回数 …(9−1−5)
ここで、コマンド回数は、たとえば、検出に用いるReadコマンド回数と検出に用いるWriteコマンド回数との和である。また、コマンド回数は、検出に用いるReadコマンド回数、検出に用いるWriteコマンド回数それぞれに重みをかけた値の和としてもよい。所定の閾値1Aは、ストレージシステム200の管理者によって指定される値である。たとえば、所定の閾値1Aは5である。
ブロック数に基づいてPLUアクセスの偏りの有無を判断する場合、CM203は、下記(9−1−6)式を満たすPLUが1つだけ有る場合、PLUアクセスに偏りが有ると判断する。
あるPLUのブロック数>所定の閾値1B×他のPLUのブロック数 …(9−1−6)
ここで、ブロック数は、たとえば、検出に用いるReadブロック数と検出に用いるWriteブロック数との和である。また、ブロック数は、検出に用いるReadブロック数、検出に用いるWriteブロック数それぞれに重みをかけた値の和としてもよい。所定の閾値1Bは、ストレージシステム200の管理者によって指定される値である。たとえば、所定の閾値1Bは5である。また、CM203は、ブロック数に基づいてPLUアクセスの偏りの有無を判断する場合に、所定の閾値1Bを用いずに所定の閾値1Aを用いてもよい。
2つ目の偏りの検出として、CM203は、レコード901−2が示すCPUビジー率の偏りの有無を判断する。2つ目の偏りを検出するために収集する性能情報は、OS制御部で収集する情報であり、具体的には、CPUビジー率に含まれるTotal CPU時間と、Idle CPU時間とである。2つ目の偏りを検出するために収集する性能情報の収集単位は、CPU単位である。具体的に、CM203は、検出に用いるCPUビジー率を、下記(9−2−1)式を用いて算出する。
検出に用いるCPUビジー率=((Total CPU時間−前回収集時におけるTotal CPU時間)−(Idle CPU時間−前回収集時におけるIdle CPU時間))÷(Total CPU時間−前回収集時におけるTotal CPU時間)×100 …(9−2−1)
CM203は、下記(9−2−2)式を満たすCPUが1つだけある場合、CPUビジー率に偏りが有ると判断する。
あるCPUにおける検出に用いるCPUビジー率>所定の閾値2×他のCPUにおける検出に用いるCPUビジー率 …(9−2−2)
所定の閾値2は、ストレージシステム200の管理者によって指定される値である。たとえば、所定の閾値2は5である。
3つ目の偏りとして、CM203は、レコード901−3が示すクロスアクセスの偏りの有無を判断する。3つ目の偏りを検出するために収集する性能情報は、リソース制御部703で収集する情報であり、具体的には、I/Oストレートアクセス回数と、I/Oクロスアクセス回数とである。3つ目の偏りを検出するために収集する性能情報の収集単位は、RLU単位である。具体的に、CM203は、検出に用いるストレートアクセス回数を、下記(9−3−1)式を用いて算出する。
検出に用いるストレートアクセス回数=I/Oストレートアクセス回数−前回収集時におけるI/Oストレートアクセス回数 …(9−3−1)
また、CM203は、検出に用いるクロスアクセス回数を、下記(9−3−2)式を用いて算出する。
検出に用いるクロスアクセス回数=I/Oクロスアクセス回数−前回収集時におけるI/Oクロスアクセス回数 …(9−3−2)
CM203は、あるRAIDグループが下記(9−3−3)式を満たす場合、該当のRAIDグループにおいてクロスアクセスに偏りが有ると判断する。
あるRAIDグループのクロスアクセス回数>あるRAIDグループのストレートアクセス回数 …(9−3−3)
4つ目の偏りとして、CM203は、レコード901−4が示す特定SLUアクセスの偏りの有無を判断する。4つ目の偏りを検出するために収集する性能情報は、キャッシュ制御部704で収集する情報であり、具体的には、コマンド回数と、シーケンシャルアクセス回数とである。4つ目の偏りを検出するために収集する性能情報の収集単位は、SLU単位である。具体的に、CM203は、検出に用いるReadコマンド回数を、下記(9−4−1)式を用いて算出する。
検出に用いるReadコマンド回数=Readコマンド回数−前回収集時におけるReadコマンド回数 …(9−4−1)
また、CM203は、検出に用いるWriteコマンド回数を、下記(9−4−2)式を用いて算出する。
検出に用いるWriteコマンド回数=Writeコマンド回数−前回収集時におけるWriteコマンド回数 …(9−4−2)
また、CM203は、検出に用いるシーケンシャルアクセスReadコマンド回数を、下記(9−4−3)式を用いて算出する。
検出に用いるシーケンシャルアクセスReadコマンド回数=シーケンシャルアクセスReadコマンド回数−前回収集時におけるシーケンシャルアクセスReadコマンド回数 …(9−4−3)
また、CM203は、検出に用いるシーケンシャルアクセスWriteコマンド回数を、下記(9−4−4)式を用いて算出する。
検出に用いるシーケンシャルアクセスWriteコマンド回数=シーケンシャルアクセスWriteコマンド回数−前回収集時におけるシーケンシャルアクセスWriteコマンド回数 …(9−4−4)
また、CM203は、検出に用いるランダムアクセスReadコマンド回数を、下記(9−4−5)式を用いて算出する。
検出に用いるランダムアクセスReadコマンド回数=(Readコマンド回数−前回収集時におけるReadコマンド回数)−(シーケンシャルアクセスReadコマンド回数−前回収集時におけるシーケンシャルアクセスReadコマンド回数) …(9−4−5)
また、CM203は、検出に用いるランダムアクセスWriteコマンド回数を、下記(9−4−6)式を用いて算出する。
検出に用いるランダムアクセスWriteコマンド回数=(Writeコマンド回数−前回収集時におけるWriteコマンド回数)−(シーケンシャルアクセスWriteコマンド回数−前回収集時におけるシーケンシャルアクセスWriteコマンド回数) …(9−4−6)
CM203は、あるOLUに含まれるSLU群のうち、下記(9−4−7)式、(9−4−8)式、(9−4−9)式を満たすSLUが1つだけある場合、SLUのアクセスに偏りが有ると判断する。そして、CM203は、OLUごとに特定SLUのアクセスに偏りが有るか否かを判断する。
あるSLUのコマンド回数>所定の閾値4A×他のSLUのコマンド回数 …(9−4−7)
あるSLUのシーケンシャルコマンド回数>所定の閾値4B×他のSLUのシーケンシャルコマンド回数 …(9−4−8)
あるSLUのランダムコマンド回数>所定の閾値4C×他のSLUのランダムコマンド回数 …(9−4−9)
ここで、SLUのコマンド回数は、検出に用いるReadコマンド回数と検出に用いるWriteコマンド回数との和である。同様に、SLUのシーケンシャルコマンド回数は、検出に用いるシーケンシャルアクセスReadコマンド回数と検出に用いるシーケンシャルアクセスWriteコマンド回数との和である。また、SLUのランダムコマンド回数は、検出に用いるランダムアクセスReadコマンド回数と検出に用いるランダムアクセスWriteコマンド回数との和である。また、所定の閾値4A〜所定の閾値4Cは、ストレージシステム200の管理者によって指定される値である。
(9−4−7)式〜(9−4−9)式について、CM203は、(9−4−7)式〜(9−4−9)式全てを満たすSLUが有る場合に、特定SLUのアクセスに偏りがあると判断する。また、CM203は、(9−4−7)式〜(9−4−9)式の少なくともいずれか一つの式を満たすSLUが1つだけ有る場合に、特定SLUのアクセスに偏りが有ると判断してもよい。
図10は、偏りによる性能への影響度とRAID構成の最適化手法の一例を示す説明図である。表1001には、図9で述べた4つの偏りに対する性能への影響度について示す。性能への影響度は、PLUアクセスの偏りが最も大きく、特定SLUアクセスの偏りが最も小さくなる。
PLUアクセスの偏りが、ストレージシステム200の性能に対して最も影響度が大きい理由として、RAIDは、複数のストレージにアクセスを分散することにより、アクセス応答の高速化を実現している。しかしながら、単一のPLUにアクセスが偏ると、アクセスが集中したPLUがボトルネックとなってしまい、RAIDが実現する高速化が行えなくなってしまうためである。
また、特定SLUアクセスの偏りが、ストレージシステム200の性能に対して最も影響度が小さい理由を説明する。理由として、RAIDにより、複数のストレージに記憶領域が分散されていることから、単一の記憶領域にアクセスが集中しても、他の偏りよりRAIDが実現する高速化に影響を与えないためである。
レコード1001−1が示すPLUアクセスの偏りは、性能への影響度が最も高く、影響する範囲は、特定のボリュームである。CM203が第2の構成変更を行うことにより、PLUアクセスの偏りが補正されることになる。
PLUアクセスの偏りを補正する最適化手法としては、RAIDグループにPLUを追加するという第1の方法と、異なるRAID構成を持つRAIDグループにマイグレーションを行うという第2の方法と、がある。CM203は、第1の方法と第2の方法とのいずれを選択してもよいし、第2の方法を選択した後、PLUアクセスの偏りが有るままであった場合に、第1の方法を選択してもよい。
第1の方法を選択した場合、CM203は、ストレージシステム200の管理者にPLUに相当するストレージの追加要求を通知する。たとえば、ストレージシステム200内に、HS213が存在する場合、CM203は、HS213をRAIDグループに追加するストレージとして設定するとともに、新たなHSを追加するように管理者に通知する。また、ストレージシステム200内に、HS213が存在しても、RAIDグループに追加するストレージを別に追加するように管理者に通知してもよい。第2の方法を選択した場合、ストレージシステム200の管理者への通知は不要である。
レコード1001−2が示すCPUビジー率の偏りは、PLUアクセスの偏りに次いで性能への影響度が高く、影響する範囲は、CM203〜206全体である。CM203が第3の構成変更に含まれる処理を実行することにより、CPUビジー率の偏りを補正することになる。
CPUビジー率の偏りを補正する最適化手法としては、RAID担当CPUの変更を行う方法がある。RAID担当CPUの変更を行った場合に、ストレージシステム200の管理者への通知は不要である。
レコード1001−3が示すクロスアクセスの偏りは、CPUビジー率の偏りに次いで性能への影響度が高く、影響する範囲は、特定のボリュームである。CM203が第3の構成変更に含まれる処理を実行することにより、クロスアクセスの偏りを補正することになる。
クロスアクセスの偏りを補正する最適化手法としては、RAID担当CPUの変更を行う方法がある。RAID担当CPUの変更を行った場合に、ストレージシステム200の管理者への通知は不要である。
レコード1001−4が示す特定SLUアクセスの偏りは、クロスアクセスの偏りに次いで性能への影響度が高く、影響する範囲は、特定のボリュームである。CM203がの第1の構成変更を実行することにより、特定SLUアクセスの偏りを補正することになる。
特定SLUアクセスの偏りを補正する最適化手法としては、異なるRAID構成を持つRAIDグループにマイグレーションを行う方法がある。マイグレーションを行った場合に、ストレージシステム200の管理者への通知は不要である。
以下、図11を用いてPLUアクセスの偏りの補正と特定SLUアクセスの偏りの補正について説明し、図12を用いてクロスアクセスの偏りの補正について説明する。CPUビジー率の偏りの補正については、クロスアクセスの偏りの補正の後に説明する。
図11は、PLUアクセスの偏りの補正と特定SLUアクセスの偏りの補正の一例を示す説明図である。
(PLUアクセスの偏りの補正)
PLUアクセスの偏りの補正には、RAIDグループにPLUを追加する第1の方法と、異なるRAID構成を持つRAIDグループにマイグレーションを行うという第2の方法とがある。第1の方法を選択した場合、CM203は、(9−1−5)式、または(9−1−6)式を用いて、PLUアクセスに偏りが有ると検出した場合、(9−1−5)式、または(9−1−6)式を満たしたPLUが含まれるRAIDグループにPLUを追加する。(9−1−5)式、または(9−1−6)式を満たしたPLUが含まれるRAIDグループについては、構成情報111を参照することにより特定することができる。
第2の方法を選択した場合、CM203は、(9−1−5)式、または(9−1−6)式を用いて、PLUアクセスに偏りが有ると検出した場合、(9−1−5)式、または(9−1−6)式を満たしたPLU内のOLUを移行対象とする。そして、移行対象となるOLUが所属するPool内のRLUとはRAID構成が異なるRLUに再割り当てを行い、TPPVを形成するTPPE(TPP Element)をコピーする。コピー完了後、CM203は、LBA変換テーブル501を更新し、OLUを形成するテーブルをコピー後のテーブルに書き換えを行い、コピー前の情報を無効化する。移行対象となるOLUが所属するPool内のRLUのRAID構成は、構成情報111を参照することにより特定できる。
(特定SLUアクセスの偏りの補正)
(9−4−7)式〜(9−4−9)式のいずれかを用いて、特定SLUアクセスに偏りが有ると検出した場合、CM203は、特定SLUが属するOLUを移行対象とする。以降の処理は、PLUアクセスの偏りの補正における第2の方法を選択した場合と同一であるので説明を省略する。
図11の例では、マイグレーションを行う例として、RAIDグループ1101にあるOLUを、RAIDグループ1102にマイグレーションした例を示す。RAIDグループ1101は、ストレージ1111#1〜#4で形成されており、RAIDレベルがRAID1+0である。ストレージ1111#1〜#4は、ストレージ212#1〜#9、214#1〜#9、216#1〜#9、218#1〜#9のいずれかである。RAIDグループ1101は、ストレージ1111#1、#2によりミラーリングセット1121を形成し、ストレージ1111#3、#4によりミラーリングセット1122を形成する。具体的に、ストレージ1111#1、#2は、移行対象となるOLUのストリップ01、03、05、…を有する。また、ストレージ1111#3、#4は、移行対象となるOLUのストリップ02、04、06、…を有する。
ここで、データの特性により、ストリップ02、04、06、…を有するストレージ1111#3にアクセスが集中しており、CM203が、PLUアクセスの偏りが有ることを検出して、移行対象となるOLUを移行したとする。移行先のRAIDグループは、RAIDグループ1102であるとする。
RAIDグループ1102は、ストレージ1131#1〜#4で形成されており、RAIDレベルがRAID5である。移行対象となるOLUが移行した後、ストレージ1131#1は、移行対象となるOLUのストリップ01、04、…、を有する。また、移行対象となるOLUが移行した後、ストレージ1131#2は、移行対象となるOLUのストリップ02、05、…、を有する。また、移行対象となるOLUが移行した後、ストレージ1131#3は、移行対象となるOLUのストリップ03、移行対象となるOLUのストリップ04〜06のパリティ、…、を有する。また、移行対象となるOLUが移行した後、ストレージ1131#4は、移行対象となるOLUのストリップ01〜03のパリティ、移行対象となるOLUのストリップ06、…、を有する。
移行対象となるOLUの移行後において、ストリップ02、04、06はストレージ1131#1、#2、#4に分散しており、移行対象となるOLUは、性能を向上することができる。
(クロスアクセスの偏りの補正)
図12は、クロスアクセスの偏りの補正の一例を示す説明図である。クロスアクセスの偏りの補正について、CM203は、クロスアクセスの偏りの補正に用いるIOPS単位のCPUビジー率を、下記(12−1)式を用いて算出する。
IOPS単位のCPUビジー率=CPUビジー率/(担当RLUにおけるストレートアクセス・クロスアクセスで重み付けたIOPS) …(12−1)
CPUビジー率は、該当のRAIDグループのRAID担当CPUに設定されたCPUビジー率である。RAIDグループに対応するRAID担当CPUを特定するには、構成情報111を参照することにより特定できる。CM203は、担当RLUにおけるストレートアクセス・クロスアクセスで重み付けたIOPSを、下記(12−2)式を用いて算出する。
担当RLUにおけるストレートアクセス・クロスアクセスで重み付けたIOPS=a×ストレートアクセス回数/(ストレートアクセス回数+クロスアクセス回数)×RLUのIOPSの和+b×クロスアクセス回数/(ストレートアクセス回数+クロスアクセス回数)×RLUのIOPSの和 …(12−2)
ここで、a、bは、ストレージシステム200の管理者によって指定される係数である。また、ストレートアクセス回数とクロスアクセス回数とは、(9−3−3)式で用いたRAIDグループのストレートアクセス回数と、RAIDグループのクロスアクセス回数とである。
また、RLUのIOPSの和について、CM203は、下記(12−3)式と下記(12−4)式とを用いてRLUのIOPSの和を求める。
ReadIOPS=(Readコマンド回数−前回収集時におけるReadコマンド回数)/性能情報収集間隔 …(12−3)
WriteIOPS=(Writeコマンド回数−前回収集時におけるWriteコマンド回数)/性能情報収集間隔 …(12−4)
(12−3)式と(12−4)式とは、SLU単位におけるReadIOPSとSLU単位におけるWriteIOPSを求める式である。したがって、CM203は、RLUに含まれるSLUごとに(12−3)式と(12−4)式を用いてReadIOPSとWriteIOPSとを算出し、算出したReadIOPSとWriteIOPSの合計を、RLUのIOPSの和とする。
CM203は、アクセス手法が最適になるようにRAID担当CPUの変更をすると仮定して、変更後のCPUビジー率を、下記(12−5)式を用いて算出する。以下、RAIDグループの担当CPUを変更したと仮定した後を、「仮定変更後」と称する。
仮定変更後のCPUビジー率=IOPS単位のCPUビジー率×仮定変更後のRLUにおけるストレートアクセス・クロスアクセスで重み付けたIOPS…(12−5)
CM203は、仮定変更後のRLUにおけるストレートアクセス・クロスアクセスで重み付けたIOPSを、下記(12−6)式を用いて算出する。
仮定変更後のRLUにおけるストレートアクセス・クロスアクセスで重み付けたIOPS=a×仮定変更後のストレートアクセス回数/(仮定変更後のストレートアクセス回数+仮定変更後のクロスアクセス回数)×RLUのIOPSの和+b×仮定変更後のクロスアクセス回数/(仮定変更後のストレートアクセス回数+仮定変更後のクロスアクセス回数)×RLUのIOPSの和 …(12−6)
CM203は、仮定変更後のCPUビジー率が最大となる値と仮定変更後のCPUビジー率が最小となる値との差分がある閾値以上か否かを判断する。差分がある閾値以上であると判断した場合、CM203は、CPUビジー率が最大となるCPUを担当CPUとして割り当てられているRAIDの担当CPUを、CPUビジー率が最小となるCPUに割り当てる。割り当て変更対象のRLUの選出において、CM203は、当該RLUの担当CPUの割り当ての変更を行った際に、各RLUに対するCPUビジー率を算出し、ある閾値/2に最も近いRLUを、割り当て変更対象のRLUとして選出する。そして、CM203は、仮定変更後のCPUビジー率が最大となる値と仮定変更後のCPUビジー率が最小となる値との差分がある閾値以下になるまで繰り返す。
図12では、ストレージシステム200が2CM、CPU#1、#2で形成される形態を用いて、クロスアクセスの補正例を説明する。表1201は、補正前の性能情報を示す。CM203は、CPU#1、#2について担当RLUにおけるストレートアクセス・クロスアクセスで重み付けたIOPSを、(12−2)式を用いて算出する。表1201によると、CPU#1はRAIDグループA、Bの担当CPUであり、CPU#2はRAIDグループCの担当CPUである。
CM203は、CPU#1が担当CPUであるRAIDグループA、Bにおけるストレートアクセス・クロスアクセスで重み付けたIOPSを、(12−2)式を用いて下記のように算出する。
RAIDグループA、Bにおけるストレートアクセス・クロスアクセスで重み付けたIOPS=a×(RAIDグループA、Bのストレートアクセス回数)/(RAIDグループA、Bのストレートアクセス回数+RAIDグループA、Bのクロスアクセス回数)×RAIDグループA、BのIOPSの和+b×(RAIDグループA、Bのクロスアクセス回数)/(RAIDグループA、Bのストレートアクセス回数+RAIDグループA、Bのクロスアクセス回数)×RAIDグループA、BのIOPSの和
⇔RAIDグループA、Bにおけるストレートアクセス・クロスアクセスで重み付けたIOPS=1×(20000+1000)/((20000+1000)+(10000+5000))×(6000+1000)+1.5×(10000+5000)/((20000+1000)+(10000+5000))×(6000+1000)=21000/36000×7000+1.5×15000/36000×7000=8458.3
そして、CM203は、CPU#1におけるIOPS単位のCPUビジー率を(12−1)式を用いて下記にように算出する。
CPU#1におけるIOPS単位のCPUビジー率=100/8458.3=0.01182
同様に、CM203は、CPU#2が担当CPUであるRAIDグループCにおけるストレートアクセス・クロスアクセスで重み付けたIOPSを、(12−2)式を用いて下記のように算出する。
RAIDグループCにおけるストレートアクセス・クロスアクセスで重み付けたIOPS=a×(RAIDグループCのストレートアクセス回数)/(RAIDグループCのストレートアクセス回数+RAIDグループCのクロスアクセス回数)×RAIDグループCのIOPSの和+b×(RAIDグループCのクロスアクセス回数)/(RAIDグループCのストレートアクセス回数+RAIDグループCのクロスアクセス回数)×RAIDグループCのIOPSの和
⇔RAIDグループCにおけるストレートアクセス・クロスアクセスで重み付けたIOPS=1×20000/(20000+4000)×7000+1.5×4000/(20000+4000)×7000=20000/24000×7000+1.5×4000/24000×7000=7583.3
そして、CM203は、CPU#2におけるIOPS単位のCPUビジー率を(12−1)式を用いて下記のように算出する。
CPU#2におけるIOPS単位のCPUビジー率=75/7583.3=0.00989
表1202は、RAIDグループBの担当CPUを、仮に、CPU#1からCPU#2に変更した場合の性能情報である。CM203は、CPU#1、#2について、仮定変更後のRLUにおけるストレートアクセス・クロスアクセスで重み付けたIOPSを、(12−6)式を用いて算出する。
CM203は、CPU#1が仮定変更後の担当CPUである、仮定変更後のRAIDグループAにおけるストレートアクセス・クロスアクセスで重み付けたIOPSを、(12−6)式を用いて下記のように算出する。
仮定変更後のRAIDグループAにおけるストレートアクセス・クロスアクセスで重み付けたIOPS=1×20000/(20000+10000)×6000+1.5×10000/(20000+10000)×6000=20000/30000×6000+1.5×10000/30000×6000=7000
そして、CM203は、仮定変更後のCPU#1におけるIOPS単位のCPUビジー率を(12−5)式を用いて下記のように算出する。
仮定変更後のCPU#1におけるIOPS単位のCPUビジー率=CPU#1におけるIOPS単位のCPUビジー率×仮定変更後のRAIDグループAにおけるストレートアクセス・クロスアクセスで重み付けたIOPS=0.01182×7000=82.74
同様に、CM203は、CPU#1が仮定変更後の担当CPUである、仮定変更後のRAIDグループB、Cにおけるストレートアクセス・クロスアクセスで重み付けたIOPSを、(12−6)式を用いて下記のように算出する。
仮定変更後のRAIDグループB、Cにおけるストレートアクセス・クロスアクセスで重み付けたIOPS=1×(5000+20000)/((5000+20000)+(1000+4000))×(1000+7000)+1.5×(1000+4000)/((5000+20000)+(1000+4000))×(1000+7000)=25000/30000×8000+1.5×5000/30000×8000=8666.7
そして、CM203は、仮定変更後のCPU#2におけるIOPS単位のCPUビジー率を(12−5)式を用いて下記のように算出する。
仮定変更後のCPU#2におけるIOPS単位のCPUビジー率=CPU#2におけるIOPS単位のCPUビジー率×仮定変更後のRAIDグループB、Cにおけるストレートアクセス・クロスアクセスで重み付けたIOPS=0.00989×8666.7=85.71
仮定変更後のIOPS単位のCPUビジー率が均等に近づくため、CM203は、変更を実施する。
(CPUビジー率の偏りの補正)
CPUビジー率の偏りの補正について、CM203は、CPUビジー率が最大となる値とCPUビジー率が最小となる値との差分がある閾値以上か否かを判断する。差分がある閾値以上であると判断した場合、CM203は、CPUビジー率が最大となるCPUを担当CPUとして割り当てられているRAIDの担当CPUを、CPUビジー率が最小となるCPUに割り当てる。割り当て変更対象のRLUの選出において、CM203は、当該RLUの担当CPUの割り当ての変更を行った際に、各RLUに対するCPUビジー率を算出し、ある閾値/2に最も近いRLUを、割り当て変更対象のRLUとして選出する。そして、CM203は、担当CPU変更後、再びCPUビジー率に偏りが有るかを判断する。CM203は、CPUビジー率に偏りが無いと判断するまで繰り返す。
次に、図13と図14とを用いて、偏り検出および補正処理手順の一例を示すフローチャートを示す。
図13は、偏り検出および補正処理手順の一例を示すフローチャート(その1)である。また、図14は、偏り検出および補正処理手順の一例を示すフローチャート(その2)である。偏り検出および補正処理は、図9に示した4つの偏りと、4つの偏りを補正する補正処理とを実行する処理である。偏り検出および補正処理の実行主体としては、CM203〜206のどのCPUが行ってもよいが、ここでは、CM203のCPU301#1が実行するものとする。また、以下の記載では、実行主体を、説明の簡便化のため、単にCM203と記載する。
CM203は、SLUアクセスに関する性能情報を収集する(ステップS1301)。次に、CM203は、SLUアクセスに関する性能情報の偏りを算出する(ステップS1302)。算出に用いる式の一例は、(9−4−1)式〜(9−4−6)式となる。続けて、CM203は、特定SLUアクセスの偏りが有るか否かを判断する(ステップS1303)。判断に用いる式の一例は、(9−4−7)式〜(9−1−9)式のいずれかとなる。特定SLUアクセスの偏りが有ると判断した場合(ステップS1303:Yes)、CM203は、特定SLUアクセスの偏りを補正する第1の構成変更を実行する(ステップS1304)。
ステップS1304の処理終了後、または、特定SLUアクセスの偏りが無いと判断した場合(ステップS1303:No)、CM203は、クロスアクセスに関する性能情報を収集する(ステップS1305)。次に、CM203は、クロスアクセスに関する性能情報の偏りを算出する(ステップS1306)。算出に用いる式の一例は、(9−3−1)式、(9−3−2)式となる。続けて、CM203は、クロスアクセスの偏りが有るか否かを判断する(ステップS1307)。判断に用いる式の一例は、(9−3−3)式となる。クロスアクセスの偏りが有ると判断した場合(ステップS1307:Yes)、CM203は、クロスアクセスの偏りを補正する第3の構成変更を実行する(ステップS1308)。
ステップS1308の処理終了後、または、クロスアクセスの偏りが無いと判断した場合(ステップS1307:No)、CM203は、CPUビジー率に関する性能情報を収集する(ステップS1401)。次に、CM203は、CPUビジー率に関する性能情報の偏りを算出する(ステップS1402)。算出に用いる式の一例は、(9−2−1)式となる。続けて、CM203は、CPUビジー率の偏りが有るか否かを判断する(ステップS1403)。判断に用いる式の一例は、(9−2−2)式となる。CPUビジー率の偏りが有ると判断した場合(ステップS1403:Yes)、CM203は、CPUビジー率の偏りを補正する第3の構成変更を実行する(ステップS1404)。
ステップS1404の処理終了後、または、CPUビジー率の偏りが無いと判断した場合(ステップS1403:No)、CM203は、PLUアクセスに関する性能情報を収集する(ステップS1405)。次に、CM203は、PLUアクセスに関する性能情報の偏りを算出する(ステップS1406)。算出に用いる式の一例は、(9−1−1)式〜(9−1−4)式となる。続けて、CM203は、PLUアクセスの偏りが有るか否かを判断する(ステップS1407)。判断に用いる式の一例は、(9−1−5)式、(9−1−6)式のいずれかとなる。PLUアクセスの偏りが有ると判断した場合(ステップS1407:Yes)、CM203は、PLUアクセスの偏りを補正する第2の構成変更を実行する(ステップS1408)。ステップS1408の処理終了後、または、PLUアクセスの偏りが無いと判断した場合(ステップS1407:No)、CM203は、偏り検出および補正処理を終了する。
偏り検出および補正処理を行うことにより、ストレージシステム100は、ホスト装置201からのアクセスに対する応答遅延を抑制することができる。ここで、クロスアクセスの偏りの補正と、CPUビジー率の偏りの補正とは、RAID担当CPUを変更するだけであり、アクセス先となるPLU、SLUが変更されることはない。したがって、クロスアクセスの偏りの補正とCPUビジー率の偏りの補正とは、PLUアクセスの偏りに影響を与えない。これにより、CM203は、ステップS1405〜ステップS1408の処理を、ステップS1304の処理終了後、または、ステップS1303:Noとなった後に実行してもよい。
以上説明したように、CM203によれば、PLUの各SLUへのアクセスの偏りの補正後、PLUへのアクセスの偏りまたはCPUにかかる負荷の偏りを補正する。これにより、CM203は、ストレージシステム200の性能に高影響の要因の補正が低影響の要因の補正で台無しになることを防ぐ。
また、CM203によれば、第1の構成変更を行った後で、複数のストレージへのアクセスの偏りが有ることを検出したことに応じて、第2の構成変更に含まれるRAIDグループのRAIDレベルの変更またはストレージの個数を変更する処理を実行してもよい。これにより、ストレージシステム200は、ストレージシステム200の性能の影響度が低い第1の構成変更を行った後、影響度の高い第2の構成変更を行うことになり、第2の構成変更による性能向上が台無しとなることがないため、効率的に構成変更を行える。また、RAIDグループのRAIDレベルの変更またはストレージの個数を変更することにより、ストレージシステム200は、アクセスの負荷を分散でき、性能遅延を抑制できる。
また、CM203によれば、第1の構成変更を行った後で、クロスアクセスの偏り、またはCPUにかかる負荷の偏りが有ることを検出したことに応じて、第3の構成変更を行ってもよい。これにより、ストレージシステム200は、ストレージシステム200の性能の影響度が低い第1の構成変更を行った後、影響度の高い第3の構成変更を行うことになり、第3の構成変更による性能向上が台無しとなることがないため、ストレージシステムの性能向上を効率的に行うことができる。
また、CM203によれば、特定SLUへのアクセスの偏りが有ることを検出したことに応じて、第1の構成変更に含まれるRAIDグループのRAIDレベルの変更またはストレージの個数を変更する処理後、第2の構成変更または第3の構成変更を行ってもよい。これにより、RAIDグループのRAIDレベルの変更またはストレージの個数を変更することにより、ストレージシステム200は、アクセスの負荷を分散でき、性能遅延を抑制できる。
また、ストレージシステム200が、内部の性能情報を解析し、設定の最適化または推奨構成/リソース追加を促すことにより、ホスト装置201からのアクセス特性が要因となる応答遅延を防ぐことができる。また、装置構成を自動的に最適化することにより、ストレージシステム200の性能の向上を見込むことができる。ストレージシステム200の管理者はシステム構成からストレージの詳細な設定を検討することなくストレージの性能を引き出すことができ、管理のための負担を軽減することができる。
なお、本実施の形態で説明した制御方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。ストレージ制御装置のプログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またストレージ制御装置のプログラムは、インターネット等のネットワークを介して配布してもよい。
上述した実施の形態に関し、さらに以下の付記を開示する。
(付記1)ストレージシステム内の複数のストレージへのアクセスを制御する複数のストレージ制御装置のいずれかのストレージ制御装置であって、
前記ストレージシステムの構成を特定する構成情報を記憶する記憶部と、
前記複数のストレージに含まれる複数の記憶領域へのアクセスの偏りの有無に応じて前記構成情報に基づき前記複数の記憶領域へのアクセスの偏りを補正する第1の構成変更を行った後で、前記複数のストレージへのアクセスの偏りの有無に応じて前記構成情報に基づき前記複数のストレージへのアクセスの偏りを補正する第2の構成変更を行う、または、前記複数のストレージ制御装置にかかる負荷の偏りの有無に応じて前記構成情報に基づき前記複数のストレージ制御装置にかかる負荷の偏りを補正する第3の構成変更を行う補正処理を実行する制御部と、
を有することを特徴とするストレージ制御装置。
(付記2)前記第2の構成変更は、
前記複数のストレージへのアクセスの偏りが有ることを検出したことに応じて、前記構成情報に基づき前記複数のストレージのうち相対的にアクセスが多いストレージが含まれるRAIDグループのRAIDレベルを変更する処理、または、前記構成情報に基づき当該RAIDグループを形成するストレージの個数を変更する処理を含むことを特徴とする付記1に記載のストレージ制御装置。
(付記3)前記第3の構成変更は、
前記複数のストレージ制御装置にかかる負荷の偏りが有ることを検出したことに応じて、前記構成情報に基づき前記複数のストレージによって形成される複数のRAIDグループの各々のRAIDグループのアクセスを担当する前記各々のRAIDグループごとの担当ストレージ制御装置のうち、相対的に負荷が高い担当ストレージ制御装置が担当するRAIDグループの担当を変更する処理を含むことを特徴とする付記1または2に記載のストレージ制御装置。
(付記4)前記第1の構成変更は、
前記複数の記憶領域へのアクセスの偏りが有ることを検出したことに応じて、前記構成情報に基づき前記複数の記憶領域のうち相対的にアクセスが多い記憶領域が含まれるRAIDグループのRAIDレベルを変更する処理、または、当該RAIDグループを形成するストレージの個数を変更する処理を含むことを特徴とする付記1〜3のいずれか一つに記載のストレージ制御装置。
(付記5)ストレージシステム内の複数のストレージへのアクセスを制御する複数のストレージ制御装置のいずれかのストレージ制御装置が、
前記複数のストレージに含まれる複数の記憶領域へのアクセスの偏りの有無に応じて前記ストレージシステムの構成を特定する構成情報に基づき前記複数の記憶領域へのアクセスの偏りを補正する第1の構成変更を行った後で、前記複数のストレージへのアクセスの偏りの有無に応じて前記構成情報に基づき前記複数のストレージへのアクセスの偏りを補正する第2の構成変更を行う、または、前記複数のストレージ制御装置にかかる負荷の偏りの有無に応じて前記構成情報に基づき前記複数のストレージ制御装置にかかる負荷の偏りを補正する第3の構成変更を行う補正処理を実行する、
処理を実行することを特徴とする制御方法。
(付記6)ストレージシステム内の複数のストレージへのアクセスを制御する複数のストレージ制御装置のいずれかのストレージ制御装置に、
前記複数のストレージに含まれる複数の記憶領域へのアクセスの偏りの有無に応じて前記ストレージシステムの構成を特定する構成情報に基づき前記複数の記憶領域へのアクセスの偏りを補正する第1の構成変更を行った後で、前記複数のストレージへのアクセスの偏りの有無に応じて前記構成情報に基づき前記複数のストレージへのアクセスの偏りを補正する第2の構成変更を行う、または、前記複数のストレージ制御装置にかかる負荷の偏りの有無に応じて前記構成情報に基づき前記複数のストレージ制御装置にかかる負荷の偏りを補正する第3の構成変更を行う補正処理を実行する、
処理を実行させることを特徴とするプログラム。
100、200 ストレージシステム
101 ストレージ制御装置
102、212、214、216、218 ストレージ
203〜206 CM
707 制御部
801 第1の検出部
802 第1の補正部
803 第2の検出部
804 第2の補正部
805 第3の検出部
806 第3の補正部

Claims (6)

  1. ストレージシステム内の複数のストレージへのアクセスを制御する複数のストレージ制御装置のいずれかのストレージ制御装置であって、
    前記ストレージシステムの構成を特定する構成情報を記憶する記憶部と、
    前記複数のストレージに含まれる複数の記憶領域へのアクセスの偏りの有無に応じて前記構成情報に基づき前記複数の記憶領域へのアクセスの偏りを補正する第1の構成変更を行った後で、前記複数のストレージ制御装置間で生じるクロスアクセスの偏りの有無に応じて前記構成情報に基づき前記複数のストレージ制御装置にかかるクロスアクセスの偏りを補正する第の構成変更を行う補正処理を実行する制御部と、
    を有することを特徴とするストレージ制御装置。
  2. 前記制御部は、
    前記複数のストレージによって形成される複数のRAIDグループの各々のRAIDグループのストレートアクセス回数およびクロスアクセス回数に基づき、クロスアクセス回数がストレートアクセス回数よりも多いRAIDグループがある場合に、前記複数のストレージ制御装置にかかるクロスアクセスの偏りが有ることを検出する、
    ことを特徴とする請求項1に記載のストレージ制御装置。
  3. 前記第の構成変更は、
    前記複数のストレージ制御装置にかかるクロスアクセスの偏りが有ることを検出したことに応じて、前記構成情報に基づき前記複数のストレージによって形成される複数のRAIDグループの各々のRAIDグループのアクセスを担当する前記各々のRAIDグループごとの担当ストレージ制御装置のうち、相対的に負荷が高い担当ストレージ制御装置が担当するRAIDグループの担当を変更する処理を含むことを特徴とする請求項1または2に記載のストレージ制御装置。
  4. ストレージシステム内の複数のストレージへのアクセスを制御する複数のストレージ制御装置のいずれかのストレージ制御装置であって、
    前記ストレージシステムの構成を特定する構成情報を記憶する記憶部と、
    前記複数のストレージに含まれる複数の記憶領域へのアクセスの偏りの有無に応じて前記構成情報に基づき前記複数の記憶領域へのアクセスの偏りを補正する第1の構成変更を行った後で、前記複数のストレージへのアクセスの偏りの有無に応じて前記構成情報に基づき前記複数のストレージへのアクセスの偏りを補正する第2の構成変更を行う、または、前記複数のストレージ制御装置にかかる負荷の偏りの有無に応じて前記構成情報に基づき前記複数のストレージ制御装置にかかる負荷の偏りを補正する第3の構成変更を行う補正処理を実行する制御部と、
    を有し、
    前記第1の構成変更は、
    前記複数の記憶領域へのアクセスの偏りが有ることを検出したことに応じて、前記構成情報に基づき前記複数の記憶領域のうち相対的にアクセスが多い記憶領域が含まれるRAIDグループのRAIDレベルを変更する処理、または、当該RAIDグループを形成するストレージの個数を変更する処理を含むことを特徴とするストレージ制御装置。
  5. ストレージシステム内の複数のストレージへのアクセスを制御する複数のストレージ制御装置のいずれかのストレージ制御装置に、
    前記複数のストレージに含まれる複数の記憶領域へのアクセスの偏りの有無に応じて前記ストレージシステムの構成を特定する構成情報に基づき前記複数の記憶領域へのアクセスの偏りを補正する第1の構成変更を行った後で、前記複数のストレージ制御装置間で生じるクロスアクセスの偏りの有無に応じて前記構成情報に基づき前記複数のストレージ制御装置にかかるクロスアクセスの偏りを補正する第2の構成変更を行う補正処理を実行する、
    処理を実行させることを特徴とするプログラム。
  6. ストレージシステム内の複数のストレージへのアクセスを制御する複数のストレージ制御装置のいずれかのストレージ制御装置に、
    前記複数のストレージに含まれる複数の記憶領域へのアクセスの偏りの有無に応じて前記ストレージシステムの構成を特定する構成情報に基づき前記複数の記憶領域へのアクセスの偏りを補正する第1の構成変更を行った後で、前記複数のストレージへのアクセスの偏りの有無に応じて前記構成情報に基づき前記複数のストレージへのアクセスの偏りを補正する第2の構成変更を行う、または、前記複数のストレージ制御装置にかかる負荷の偏りの有無に応じて前記構成情報に基づき前記複数のストレージ制御装置にかかる負荷の偏りを補正する第3の構成変更を行う補正処理を実行する、
    処理を実行させ、
    前記第1の構成変更は、
    前記複数の記憶領域へのアクセスの偏りが有ることを検出したことに応じて、前記構成情報に基づき前記複数の記憶領域のうち相対的にアクセスが多い記憶領域が含まれるRAIDグループのRAIDレベルを変更する処理、または、当該RAIDグループを形成するストレージの個数を変更する処理を含むことを特徴とするプログラム。
JP2013221651A 2013-10-24 2013-10-24 ストレージ制御装置、およびプログラム Expired - Fee Related JP6255895B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013221651A JP6255895B2 (ja) 2013-10-24 2013-10-24 ストレージ制御装置、およびプログラム
US14/477,227 US9830100B2 (en) 2013-10-24 2014-09-04 Storage control device and storage control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013221651A JP6255895B2 (ja) 2013-10-24 2013-10-24 ストレージ制御装置、およびプログラム

Publications (2)

Publication Number Publication Date
JP2015082315A JP2015082315A (ja) 2015-04-27
JP6255895B2 true JP6255895B2 (ja) 2018-01-10

Family

ID=52996792

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013221651A Expired - Fee Related JP6255895B2 (ja) 2013-10-24 2013-10-24 ストレージ制御装置、およびプログラム

Country Status (2)

Country Link
US (1) US9830100B2 (ja)
JP (1) JP6255895B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9946465B1 (en) * 2014-12-31 2018-04-17 EMC IP Holding Company LLC Adaptive learning techniques for determining expected service levels
WO2016174764A1 (ja) * 2015-04-30 2016-11-03 株式会社日立製作所 管理装置および管理方法
US20220244870A1 (en) * 2021-02-03 2022-08-04 Alibaba Group Holding Limited Dynamic memory coherency biasing techniques
US11604611B2 (en) * 2021-06-14 2023-03-14 EMC IP Holding Company LLC Variable sparing of disk drives in storage array

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001222380A (ja) 2000-02-07 2001-08-17 Hitachi Ltd 外部記憶装置とそれを備えた情報処理システム
JP2001337790A (ja) * 2000-05-24 2001-12-07 Hitachi Ltd 記憶システム及びその階層管理制御方法
JP4516306B2 (ja) 2003-11-28 2010-08-04 株式会社日立製作所 ストレージネットワークの性能情報を収集する方法
JP4391265B2 (ja) * 2004-02-26 2009-12-24 株式会社日立製作所 ストレージサブシステムおよび性能チューニング方法
JP2006024024A (ja) * 2004-07-08 2006-01-26 Toshiba Corp 論理ディスク管理方法及び装置
JP4901316B2 (ja) * 2006-06-06 2012-03-21 株式会社日立製作所 ストレージシステム及び記憶制御装置
JP2007328611A (ja) * 2006-06-08 2007-12-20 Hitachi Ltd ストレージ仮想化システム及び方法
JP4413899B2 (ja) * 2006-08-11 2010-02-10 株式会社東芝 ディスクアレイサブシステム及びプログラム
JP4373450B2 (ja) 2007-02-07 2009-11-25 富士通株式会社 Raid制御装置及びその制御方法
JP2009217700A (ja) 2008-03-12 2009-09-24 Toshiba Corp ディスクアレイ装置及び物理配置最適化方法
CN103080894A (zh) * 2010-12-28 2013-05-01 株式会社日立制作所 存储系统、存储系统的管理方法和程序
CN103080909A (zh) * 2011-02-24 2013-05-01 株式会社日立制作所 计算机系统及其管理方法以及程序
US9176670B2 (en) * 2011-04-26 2015-11-03 Taejin Info Tech Co., Ltd. System architecture based on asymmetric raid storage
US20140122825A1 (en) * 2012-10-30 2014-05-01 Hitachi, Ltd. Computer system and method for updating configuration information
WO2014087440A1 (en) * 2012-12-03 2014-06-12 Hitachi, Ltd. Storage system and method for managing configuration information thereof
US9626117B2 (en) * 2014-01-09 2017-04-18 Hitachi, Ltd. Computer system and management method for computer system

Also Published As

Publication number Publication date
US9830100B2 (en) 2017-11-28
JP2015082315A (ja) 2015-04-27
US20150121001A1 (en) 2015-04-30

Similar Documents

Publication Publication Date Title
US8850152B2 (en) Method of data migration and information storage system
US9104316B2 (en) Runtime dynamic performance skew elimination
US10082965B1 (en) Intelligent sparing of flash drives in data storage systems
US9542125B1 (en) Managing data relocation in storage systems
US9015434B2 (en) Storage system, and apparatus and method for controlling storage
US8380928B1 (en) Applying data access activity measurements
US7831792B2 (en) Computer system, data migration method and storage management server
US10353616B1 (en) Managing data relocation in storage systems
US9229870B1 (en) Managing cache systems of storage systems
US8495295B2 (en) Mass storage system and method of operating thereof
US20100235597A1 (en) Method and apparatus for conversion between conventional volumes and thin provisioning with automated tier management
US20120117320A1 (en) Latency reduction associated with a response to a request in a storage system
US9311207B1 (en) Data storage system optimizations in a multi-tiered environment
US10664182B2 (en) Storage system
JPWO2011092738A1 (ja) 性能の異なる実領域群で構成されたプールを有するストレージシステムの管理システム及び方法
US9916090B1 (en) Techniques for dynamically adjusting slice size
US9857994B2 (en) Storage controller, control method, and computer product
US20180314427A1 (en) System and method for storage system autotiering using adaptive granularity
US10860260B2 (en) Method, apparatus and computer program product for managing storage system
US9767021B1 (en) Optimizing destaging of data to physical storage devices
US20110191565A1 (en) Extent size optimization
JP6255895B2 (ja) ストレージ制御装置、およびプログラム
US11755224B2 (en) Storing data in slices of different sizes within different storage tiers
US20130019122A1 (en) Storage device and alternative storage medium selection method
US10684944B1 (en) Managing data accesses in storage systems

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160705

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170719

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170808

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171010

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20171107

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171120

R150 Certificate of patent or registration of utility model

Ref document number: 6255895

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees