JP5395959B2 - 計算機システムの管理方法、及び管理システム - Google Patents
計算機システムの管理方法、及び管理システム Download PDFInfo
- Publication number
- JP5395959B2 JP5395959B2 JP2012528530A JP2012528530A JP5395959B2 JP 5395959 B2 JP5395959 B2 JP 5395959B2 JP 2012528530 A JP2012528530 A JP 2012528530A JP 2012528530 A JP2012528530 A JP 2012528530A JP 5395959 B2 JP5395959 B2 JP 5395959B2
- Authority
- JP
- Japan
- Prior art keywords
- area
- virtual
- time zone
- hierarchy
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- 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/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/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/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]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Debugging And Monitoring (AREA)
Description
本発明は、計算機システムの管理方法、及び管理システムに関し、例えば、ストレージサブシステム内の記憶領域を、複数の階層に分割して管理する方法、およびそのような管理を実行する管理システムに関する。
最近、仮想化技術とThin Provisioning技術とを組み合わせることにより、論理ボリュームよりも細かい単位でのストレージ階層管理することが考えられている(ストレージ階層管理技術)。
このストレージ階層管理技術では、Thin Provisioningに従う仮想的な論理ボリューム(以下、仮想ボリューム)の記憶領域を、複数の部分的な領域(以下、「仮想領域」という)に分割し、仮想領域の単位で、どの階層に属する記憶デバイスから実体的な記憶領域(以下、実領域)を割り当てるかが選択される。例えば、特許文献1によれば、仮想ボリュームの記憶領域と物理記憶デバイスの記憶領域を、それぞれ2つ以上の仮想領域および実領域に分割し、その各仮想領域に、実領域を1つ割り当てる。また、実領域ごとに、ホスト計算機からのアクセス数とアクセス数の許容範囲を記録し、許容範囲を超えたアクセス数の実領域のデータを、アクセス状況に応じた記憶デバイスの実領域に移行する。
上記特許文献1記載の技術では、データの過去のアクセス履歴から当該データを格納するのに適した特性を持つデバイスを特定し、そのデバイスにデータを移行する。
しかしながら、特許文献1に記載されるような従来のストレージ階層管理技術では、単にアクセス数に基づいてデータ移行を実行しているだけなので、データ移行に必要な時間又は性能負荷に代表されるコストを考慮して効率良くデータの移行を実現することが困難であった。
本発明はこのような状況に鑑みてなされたものであり、より効率の良いデータ移行を実現するための技術を提供するものである。
上記課題を解決するために、本発明では、管理システムが、ストレージサブシステムの仮想ボリュームにおいてホットスポットとなる仮想領域の位置変化を示す負荷集中領域変化情報(アクセス分布の変化量)を取得する。そして、当該管理システムが、負荷集中領域変化情報に基づいて、ホットスポットとなる仮想領域の位置が不変となる時間帯(ホットスポットの位置が安定した時間帯)を示す負荷位置不変時間帯を特定し、それを表示デバイスに表示する。
さらなる本発明の特徴は、以下本発明を実施するための形態および添付図面によって明らかになるものである。
本発明によれば、管理者は、実領域の再配置処理を効率よく実行できる時間帯を知る(予測)ことができるようになる。
本発明は、Thin Provisioningに従う仮想的な論理ボリュームに対する実体的な記憶領域割り当ての見直し時間帯を制御するための技術に関するものである。下記実施形態では、仮想ボリューム毎に、ホスト計算機からのアクセスの、ボリューム内の仮想領域への分布に関するデータを収集する。その値を分析することで、仮想ボリュームごとに、アクセス分布が変化しない時間帯を特定する。仮想ボリュームごとに、アクセス分布が変化しない時間帯に合わせて、当該仮想ボリューム内の仮想領域への、割当実領域の見直し処理(以下、再配置処理)を行う。これにより、計算機システムの管理者は、仮想ボリュームに対してアクセス分布が変化しない時間帯を特定するための閾値を設定するだけで、再配置処理を行う時間帯を、その効果が長期間にわたって得られると予想される場合に限定することができ、効果が低い再配置処理を行うことによる性能の低下やストレージサブシステムの運用コストの増大を防ぐことができる。
以下、添付図面を参照して本発明の実施形態について説明する。ただし、本実施形態は本発明を実現するための一例に過ぎず、本発明の技術的範囲を限定するものではないことに注意すべきである。また、各図において共通の構成については同一の参照番号が付されている。
なお、以後の説明では「aaa表」という表現にて本発明の各種情報を説明するが、これら情報は必ずしも表によるデータ構造で表現されていなくても良く、リスト、DB、キュー等のデータ構造やそれ以外で表現されていても良い。そのため、データ構造に依存しないことを示すために「aaa表」、「aaaリスト」、「aaaDB」、「aaaキュー」等について「aaa情報」と呼ぶことがある。
また、各情報の内容を説明する際に、「識別情報」、「識別子」、「名」、「名前」、「ID」という表現を用いることが可能であり、これらについてはお互いに置換が可能である。
さらに、以後の説明では「プログラム」を主語として説明を行うこともあるが、プログラムはプロセッサによって実行されることで定められた処理をメモリ及び通信ポート(通信制御装置)を用いながら行うため、プロセッサを主語とした説明としてもよい。また、プログラムを主語として開示された処理は管理サーバ等の計算機、情報処理装置が行う処理としてもよい。プログラムの一部または全ては専用ハードウェアで実現してもよく、また、モジュール化されていても良い。各種プログラムはプログラム配布サーバや記憶メディアによって各計算機にインストールされてもよい。
(1)第1の実施形態
<特徴的処理の概要説明>
本実施形態による計算機システムの構成及び動作を詳細に説明する前に、まず当該計算機システムの特徴的処理の概要について説明する。計算機システムは、ストレージサブシステムにホスト計算機および管理システムを有する。管理システムは、ストレージサブシステムを管理する。管理システムは、ストレージサブシステムまたはホスト計算機に含まれても良い。ストレージサブシステムは、プールと、複数の仮想ボリュームとを提供する。
<特徴的処理の概要説明>
本実施形態による計算機システムの構成及び動作を詳細に説明する前に、まず当該計算機システムの特徴的処理の概要について説明する。計算機システムは、ストレージサブシステムにホスト計算機および管理システムを有する。管理システムは、ストレージサブシステムを管理する。管理システムは、ストレージサブシステムまたはホスト計算機に含まれても良い。ストレージサブシステムは、プールと、複数の仮想ボリュームとを提供する。
プールは、複数の階層で構成されている。階層は、同じ性能を有する実領域の集合である。階層は例えば性能を表す特定の値によって定義され、その値が表す性能と同じ性能を有する実領域を内包する。階層は、他の階層と比較した高低の概念を持つ。階層の高さは、階層の性能の高さに依存する。なお、ここで言う「性能」とは、例えばアクセス性能である。アクセス性能としては、例えばレスポンスタイム、あるいはデータ転送速度、IOPS(単位時間当たりに処理したアクセス要求の数)がある。アクセス要求の一例としてはライト要求又はリード要求がある。
各階層は、2以上の実領域で構成されている。したがって、プールは複数の実領域で構成されているとも言える。実領域は、物理記憶デバイスまたは/およびRAIDグループの記憶領域の一部である。階層の性能は、階層を構成する実領域の性能に依存する。実領域の性能は、例えば、当該実領域を有する物理記憶デバイスの種別、RAIDグループのRAIDレベル、または/およびRAIDグループに参加する記憶デバイスの数に依存する。物理記憶デバイスの種別として、例えば、SSDと、SAS−HDD、およびSATA−HDDがある。
仮想ボリュームは、複数の仮想領域(仮想的な記憶領域)で構成されている。各仮想領域には、それぞれ一つ以下の実領域が割り当てられている。なお、仮想領域には、実領域が割り当てられていなくてもよい。ストレージサブシステムは、そのような仮想領域(未割当の仮想領域)に対するライト要求をホスト計算機から受けた時、いずれの仮想領域にも割り当てられていない実領域(未割当の実領域)を、当該仮想領域に割り当てる。
以下で、本実施形態において実行される処理の概要を説明する。本実施形態において実行される処理には、例えば、(i)アクセス分布変化量計算処理と、(ii)再配置時間帯計算処理と、(iii)再配置処理とがある。これらの概要について以下簡単に説明する。
(i)アクセス分布変化量計算処理
管理システムは、ストレージサブシステムが有する各仮想ボリュームのアクセス分布の変化量を計算し、記録する。ここで、仮想ボリュームのアクセス分布とは、例えば、ホスト計算機から当該仮想ボリューム内の各仮想領域へアクセスした数の集合である。これにより、仮想ボリューム全体のアクセス量のうちどの位の割合が各仮想領域にあるかが分かり、よって、ある時点でのホットスポット(負荷が掛かっている仮想領域)の位置が分かる。また、仮想ボリュームのアクセス分布の変化量とは、仮想ボリューム内において時間経過と共にどのようにホットスポットとなる仮想領域の位置が変化したかを示す指標(負荷集中領域変化指標)となるものである。例えば、「アクセス分布の変化量が多い」とは、1つの仮想ボリュームにおいて、アクセスされる仮想領域が激しく変化していることを意味し、「アクセス分布の変化量が少ない」とは、1つの仮想ボリュームにおいて、アクセス数に関係なく、アクセスされる仮想領域の変化が少ない(ホットスポットの位置に動きが少ない)ことを意味している。
管理システムは、ストレージサブシステムが有する各仮想ボリュームのアクセス分布の変化量を計算し、記録する。ここで、仮想ボリュームのアクセス分布とは、例えば、ホスト計算機から当該仮想ボリューム内の各仮想領域へアクセスした数の集合である。これにより、仮想ボリューム全体のアクセス量のうちどの位の割合が各仮想領域にあるかが分かり、よって、ある時点でのホットスポット(負荷が掛かっている仮想領域)の位置が分かる。また、仮想ボリュームのアクセス分布の変化量とは、仮想ボリューム内において時間経過と共にどのようにホットスポットとなる仮想領域の位置が変化したかを示す指標(負荷集中領域変化指標)となるものである。例えば、「アクセス分布の変化量が多い」とは、1つの仮想ボリュームにおいて、アクセスされる仮想領域が激しく変化していることを意味し、「アクセス分布の変化量が少ない」とは、1つの仮想ボリュームにおいて、アクセス数に関係なく、アクセスされる仮想領域の変化が少ない(ホットスポットの位置に動きが少ない)ことを意味している。
なお、「仮想領域へのアクセス数」とは対象仮想領域の全てまたは一部をアドレス範囲として指定し、処理が完了した(または処理中も含めても良い)アクセス要求の数を指す。例えば、アクセス要求のアドレス範囲がある仮想領域の一部または全てである(言い方を変えれば、仮想領域がアドレス範囲を含んでしまう)場合、当該要求の数だけ当該仮想領域のアクセス数を増加させる。他の例として、アクセス要求のアドレス範囲が複数の仮想領域それぞれの一部または全てを含む場合は、当該要求の数だけ、仮想領域それぞれのアクセス数を増加させる。なお、仮想領域のサイズが大きい場合は後者のようなケースはあまり発生しないため、アクセス要求で指定したアドレス範囲の先頭を含む仮想領域のカウント数だけ増やしても良い。
仮想ボリュームのアクセス分布の変化量は、例えば、過去のある時点での当該仮想ボリュームのアクセス分布に関する情報と、現在の当該仮想ボリュームのアクセス分布に関する情報から計算できる。管理システムは、例えば定期的または繰り返し(周期的でなくても良く、取得間隔に多少の時間のずれがあっても良い)、ストレージサブシステムから各仮想ボリュームのアクセス分布に関する情報を取得し、前回取得した情報と合わせて当該仮想ボリュームのアクセス分布の変化量を計算し、時系列に記録する。この場合、仮想ボリュームのアクセス分布に関する情報は、前回取得した情報のみ記録すればよく、仮想ボリュームのアクセス分布に関する情報を時系列に記録する場合と比べて、管理システムがアクセス分布の変化量の計算に使用する情報を記録するために必要な記憶領域を少なくすることができる。
(ii)再配置時間帯計算処理
管理システムは、各仮想ボリュームのアクセス分布の変化量の時系列データを分析し、各仮想ボリューム内の仮想領域に対する実領域の割当状況を見直す時間帯(以下、再配置時間帯)を計算して記録する。例えば、各仮想ボリュームに対して、1日を1時間ごとに区切った各時間帯(例えば、9:00-10:00、10:00-11:00など)におけるアクセス分布の変化量の平均値を、直近1週間の当該仮想ボリュームのアクセス分布の変化量データから計算し、その平均値がある閾値よりも小さい時間帯を、当該仮想ボリュームの再配置時間帯として記録する。
管理システムは、各仮想ボリュームのアクセス分布の変化量の時系列データを分析し、各仮想ボリューム内の仮想領域に対する実領域の割当状況を見直す時間帯(以下、再配置時間帯)を計算して記録する。例えば、各仮想ボリュームに対して、1日を1時間ごとに区切った各時間帯(例えば、9:00-10:00、10:00-11:00など)におけるアクセス分布の変化量の平均値を、直近1週間の当該仮想ボリュームのアクセス分布の変化量データから計算し、その平均値がある閾値よりも小さい時間帯を、当該仮想ボリュームの再配置時間帯として記録する。
本処理は「仮想ボリュームのアクセス分布の変化量が小さい時間帯では、当該仮想ボリューム内の各仮想領域に対するアクセス状況の変化も小さく、各仮想領域に割り当てるべき物理記憶デバイスまたは/およびRAIDグループも変化しない可能性が高い。したがって、当該時間帯の初期に当該仮想ボリューム内の仮想領域に対する実領域の割り当て状況を見直せば、当該時間帯の末尾の時刻までは割り当て状況を変更しなくてもよい可能性が高い」という考えに基づいている。
なお、アクセス分布の変化量の平均値を計算する単位である時間帯の長さ(上記処理では1時間)は、例えば10分や3時間でもよい。また、平均値を計算する期間(上記処理では1週間)は、例えば3日間や1ヶ月間でもよい。さらに、再配置時間帯は、例えば日付や曜日の情報を含んでもよい。そのように時間帯以外の情報を含む場合、時間帯の情報を含まなくてもよい。時間帯の情報を含まない場合、管理システムは、再配置時間帯が示す日付または/および曜日の特定の時刻に、ストレージサブシステムに再配置処理の実行を指示する。
(iii)再配置処理
再配置時間帯計算処理によって、ホットスポットの動きが少ない(ほとんどない)時間帯が得られるが、この時間帯におけるホットスポットの位置は得られない。ホットスポットの位置に合わせて再配置処理を実行するには、当該時間帯における各仮想領域へのアクセス数を一定時間観測する必要がある。
再配置時間帯計算処理によって、ホットスポットの動きが少ない(ほとんどない)時間帯が得られるが、この時間帯におけるホットスポットの位置は得られない。ホットスポットの位置に合わせて再配置処理を実行するには、当該時間帯における各仮想領域へのアクセス数を一定時間観測する必要がある。
そこで、管理システムは、再配置時間帯計算処理において計算し、記録した仮想ボリュームの再配置時間帯の先頭時刻から一定期間後、例えば30分後に、当該仮想ボリューム内の仮想領域に対する実領域の割当状況を見直す。例えば、管理システムは、当該仮想ボリューム内の各仮想領域について、仮想領域へのアクセス数が、当該仮想領域に割り当てられている実領域を有する階層に対応したアクセス数範囲を超えているか否かを判断する。管理システムは上記の判断の結果、範囲外であると判断した仮想領域に対して、当該仮想領域に割り当てられている実領域(以下、移行元の実領域)に代えて、当該仮想領域へのアクセス数が収まるアクセス数範囲に対応する階層内の実領域(以下、移行先の実領域)を割り当てる。具体的には、管理システムはストレージサブシステムに、移行元の実領域のデータを移行先の実領域に移行するよう指示する。
<計算機システムの構成>
図1は、本発明の実施形態に係わる計算機システム10の概略構成を示す図である。計算機システム10においては、ホスト計算機101とストレージサブシステム102とが、ストレージエリアネットワーク105によって接続されている。また、管理システム107とストレージサブシステム102とが、管理用ネットワーク106によって接続されている。管理システム107とホスト計算機101が管理用ネットワーク106を介して接続されていても良い。管理システム107は、管理計算機103とWebブラウズ用計算機104を含んでいる。
図1は、本発明の実施形態に係わる計算機システム10の概略構成を示す図である。計算機システム10においては、ホスト計算機101とストレージサブシステム102とが、ストレージエリアネットワーク105によって接続されている。また、管理システム107とストレージサブシステム102とが、管理用ネットワーク106によって接続されている。管理システム107とホスト計算機101が管理用ネットワーク106を介して接続されていても良い。管理システム107は、管理計算機103とWebブラウズ用計算機104を含んでいる。
なお、管理計算機103とWebブラウズ用計算機104とは、同じ計算機でもよく、また、それぞれ複数の計算機で同等の機能を実現していてもよい。つまり、計算機システム10を管理し、本発明の表示用情報を表示する1つ以上の計算機の集合を管理システムと呼ぶことがある。管理計算機103が表示用情報を表示する場合は管理計算機103が管理システムであり、また、図1に示されるように、管理計算機103と表示用計算機(Webブラウズ用計算機)104の組み合わせも管理システム107である。また、管理処理の高速化や高信頼化のために複数の計算機で管理計算機と同等の処理を実現してもよく、この場合は当該複数の計算機(表示を表示用計算機が行う場合は表示用計算機も含め)が管理システムである。
また、ストレージエリアネットワーク105と管理用ネットワーク106とは、同じネットワークであってもよい。
ホスト計算機101は、ストレージサブシステム102にアクセス要求を送信する。ストレージサブシステム102は、ホスト計算機101からストレージエリアネットワーク105を介してアクセス要求を受信し、そのアクセス要求を処理する。
管理システム107は、ストレージサブシステム102に制御要求(例えば、再配置処理の実行要求)を送信する。ストレージサブシステム102は、管理システム107から管理ネットワーク106を介して制御要求を受信し、制御要求に従う処理を行う。
なお、計算機システム10は、複数のホスト計算機101を含んでもよい。同様に、計算機システム10は、複数のストレージサブシステム102を含んでもよい。
<ホスト計算機の構成>
図2は、ホスト計算機101の内部構成を示すブロック図である。ホスト計算機101は、ストレージエリアネットワーク105との接続を実現するためのSANポート203と、メモリ202と、メモリ202およびSANポート203に接続されたCPU201と、を有する。
図2は、ホスト計算機101の内部構成を示すブロック図である。ホスト計算機101は、ストレージエリアネットワーク105との接続を実現するためのSANポート203と、メモリ202と、メモリ202およびSANポート203に接続されたCPU201と、を有する。
SANポート203は、ストレージエリアネットワーク105に接続されている。
メモリ202には、1つ以上のアプリケーションプログラム204が格納されている。各アプリケーションプログラム204は、CPU201によって実行され、SANポート203およびストレージエリアネットワーク105を介して、ストレージサブシステム102にアクセス要求を送信する。
<ストレージサブシステムの構成>
図3は、ストレージサブシステム102の内部構成を示すブロック図である。ストレージサブシステム102は、性能の異なる複数の物理記憶デバイス305と、コントローラ312を有し、これらは内部バス等の回路を介して相互に接続されている。同種の物理記憶デバイス305が複数ある場合、それらはRAID構成を組んでいてもよい。RAID構成を組んでいる複数の物理記憶デバイス305は、RAIDグループ306を構成する。
図3は、ストレージサブシステム102の内部構成を示すブロック図である。ストレージサブシステム102は、性能の異なる複数の物理記憶デバイス305と、コントローラ312を有し、これらは内部バス等の回路を介して相互に接続されている。同種の物理記憶デバイス305が複数ある場合、それらはRAID構成を組んでいてもよい。RAID構成を組んでいる複数の物理記憶デバイス305は、RAIDグループ306を構成する。
コントローラ312は、ストレージエリアネットワーク105に接続するためのSANポート302と、管理ネットワーク106に接続するためのLANポート303と、メモリ304と、それらに接続されたCPU301とを有する。
SANポート302は、ストレージエリアネットワーク105に接続されるポートである。SANポート302は、ホスト計算機101からのアクセス要求を受信する。
LANポート303は、管理ネットワーク106に接続されるポートである。LANポート303は、管理システム107からの制御要求を受信する。
メモリ304には、ストレージ制御プログラム307と、RAIDグループ管理表308と、実領域管理表309と、階層管理表310と、VVOL管理表311が格納されている。ストレージ制御プログラム307は、CPU301で実行されることにより、アクセス制御処理および再配置処理を行う。
<RAIDグループ管理表308>
図4は、ストレージサブシステム102が有するRAIDグループ管理表308の構成を示す図である。RAIDグループ管理表308は、RAIDグループ306の性能に関する情報を有する。
図4は、ストレージサブシステム102が有するRAIDグループ管理表308の構成を示す図である。RAIDグループ管理表308は、RAIDグループ306の性能に関する情報を有する。
例えば、RAIDグループ管理表は、RAIDグループの識別子を表すRAIDグループID401と、RAIDグループを構成する物理記憶デバイスの種類を表すデバイス種別402と、RAIDグループのRAIDレベルおよびコンビネーションを表すRAIDレベル403と、RAIDグループを構成する物理記憶デバイスの識別子を表すPDEV_ID404と、を構成項目として含んでいる。なお、情報401〜404のうちの少なくとも1つに代えてまたは加えて、他種の情報が含まれていてもよい。
<実領域管理表309>
図5は、ストレージサブシステム102が有する実領域管理表309の構成を示す図である。実領域管理表309は、各RAIDグループ306が持つ実領域が、仮想ボリュームに割当済か否かの情報を有する。
図5は、ストレージサブシステム102が有する実領域管理表309の構成を示す図である。実領域管理表309は、各RAIDグループ306が持つ実領域が、仮想ボリュームに割当済か否かの情報を有する。
例えば、実領域管理表309は、実領域を持つRAIDグループの識別子を表すRAIDグループID501と、実領域の識別子を表す実領域ID502と、実領域に対応するRAIDグループのLBA範囲を表すRG_LBA範囲503と、実領域が割当済か否かを表す割当状況504と、を構成項目として含んでいる。
<VVOL(仮想ボリューム)管理表311>
図6は、ストレージサブシステム102が有するVVOL管理表311の構成を示す図である。VVOL管理表311は、仮想ボリューム内の各仮想領域と、その仮想領域に割り当てられている実領域に関する情報を有する。
図6は、ストレージサブシステム102が有するVVOL管理表311の構成を示す図である。VVOL管理表311は、仮想ボリューム内の各仮想領域と、その仮想領域に割り当てられている実領域に関する情報を有する。
例えば、VVOL管理表311は、仮想ボリュームの識別子を表すVVOL_ID601と、仮想ボリューム内の仮想領域に対応するLBA範囲を表すVVOL_LBA範囲602と、仮想ボリューム内の仮想領域に割り当てられている実領域を表す実領域ID603と、仮想ボリューム内の仮想領域に対する、ホスト計算機からのアクセス数(累計のI/O数)を表すアクセス数604と、再配置処理において仮想ボリューム内の仮想領域にその階層内の実領域を割り当てるべきであると判定された、当該階層の識別子を表す再配置判定結果605と、を構成項目として含んでいる。
上記VVOL管理表311において、VVOL_ID601は、ホスト計算機101から指定される識別子ではなく、ストレージサブシステム102の内部で認識される識別子である。アクセス数604は、当該仮想領域に対するアクセス回数の値を持っており、ストレージサブシステム102は一定期間、例えば24時間ごとに、アクセス数604の値を0にリセットする。また、再配置判定結果605には、例えば最近行われた再配置処理における判定結果が格納される。
<階層定義表310>
図7は、ストレージサブシステム102が有する階層定義表310の構成を示す図である。階層定義表310は、階層の性能及び許容するアクセス数の範囲に関する情報を有する。
図7は、ストレージサブシステム102が有する階層定義表310の構成を示す図である。階層定義表310は、階層の性能及び許容するアクセス数の範囲に関する情報を有する。
例えば、階層定義表310は、階層毎に、階層の識別子を表す階層ID701と、階層の性能要件を表す性能要件702と、階層に対応した、単位時間当たりの許容アクセス数の範囲を表す許容IOPS範囲703と、を構成項目として含んでいる。階層定義表310において、階層の性能要件702は、例えば、物理記憶デバイスの種別と、RAIDグループのRAIDレベルとで定義される。
階層IDで特定される各階層701は、性能要件702を満たす物理記憶デバイスまたは/およびRAIDグループに属する実領域を要素に持っている。なお、階層定義表310は、例えばストレージ管理者からの要求に応じて更新される。
<管理計算機の構成>
図8は、管理計算機103の内部構成を示すブロック図である。管理計算機103は、管理ネットワーク106に接続するためのLANポート802と、構成管理プログラム804を実行するCPU801と、CPU801が用いるメモリ803とを有し、これらは内部バス等の回路を介して相互に接続されている。
図8は、管理計算機103の内部構成を示すブロック図である。管理計算機103は、管理ネットワーク106に接続するためのLANポート802と、構成管理プログラム804を実行するCPU801と、CPU801が用いるメモリ803とを有し、これらは内部バス等の回路を介して相互に接続されている。
メモリ803は、構成管理プログラム804と、アクセス分布変化履歴表805と、再配置時間帯管理表806と、管理側RAIDグループ管理表807と、管理側実領域管理表808と、管理側階層管理表809と、管理側VVOL管理表810と、を格納している。
管理表807〜810は、ストレージサブシステム102の管理表308〜311に対応しており、管理計算機103がストレージサブシステム102から構成情報を取得した際に、その情報を格納するために用いられる。
構成管理プログラム804は、CPU801によって実行されることで、以下の処理を行う。即ち、構成管理プログラム804は、定期的または繰り返しストレージサブシステム102から各表308〜311が有する情報を取得し、その情報を基に、アクセス分布変化履歴表805を更新する。また、構成管理プログラム804は、定期的または繰り返し、アクセス分布変化履歴表805を基に、再配置時間帯計算処理を行う。そして、構成管理プログラム804は、その計算した結果を、ユーザ(例えば、管理者)に提示し、ユーザからの承認を受けた時に、あるいはユーザに提示することなく、再配置時間帯管理表806に反映する。なお、上記情報取得及び再配置時間帯計算処理は、必ずしも等時間間隔で行われる必要はなく、繰り返し行われれば処理時間間隔に多少のずれがあっても良い。さらに、構成管理プログラム804は、各仮想ボリューム毎に、再配置時間帯管理表806に記載された、当該仮想ボリュームに対応する再配置時間帯に入るたび、当該仮想ボリュームの再配置処理を実行する。
<アクセス分布変化履歴表805>
図9は、管理計算機103が有するアクセス分布変化履歴表805の構成を示す図である。アクセス分布変化履歴表805は、仮想ボリューム毎に、アクセス分布の変化量の時系列情報を有する。
図9は、管理計算機103が有するアクセス分布変化履歴表805の構成を示す図である。アクセス分布変化履歴表805は、仮想ボリューム毎に、アクセス分布の変化量の時系列情報を有する。
例えば、アクセス分布変化履歴表805は、仮想ボリュームの識別子を表すVVOL_ID901と、仮想ボリュームのアクセス分布の変化量を観測した時間帯を表す観測時間902と、仮想ボリュームのアクセス分布の変化量を表すアクセス分布変化量903と、仮想ボリュームに対するホスト計算機からのアクセス数の平均値を表すアクセス平均904と、を構成項目として含んでいる。なお、観測時間は、例えば日付と時間帯の組で表される。また、上記アクセス平均904の単位は、例えばIOPS(1秒あたりのアクセス(I/O)の回数)である。アクセス分布変化量903の演算については図17を用いて後述する。
<配置時間帯管理表806>
図10は、再配置時間帯管理表806の構成を示す図である。再配置時間帯管理表806は、仮想ボリューム毎に、当該仮想ボリュームに対して再配置処理を実施する時間帯に関する情報を有する。
図10は、再配置時間帯管理表806の構成を示す図である。再配置時間帯管理表806は、仮想ボリューム毎に、当該仮想ボリュームに対して再配置処理を実施する時間帯に関する情報を有する。
例えば、再配置時間帯管理表806は、仮想ボリュームの識別子を表すVVOL_ID1001と、仮想ボリュームに対して再配置処理を実施する時間帯を決定するための、仮想ボリュームのアクセス分布の変化量に対する閾値を表す分布変化閾値1002と、ホットスポットの動きが少ない時間帯であって、仮想ボリュームに対して再配置処理を実施する時間帯を表す再配置時間帯1003と、を構成項目として含んでいる。
<管理側RAIDグループ管理表807>
図11は、管理計算機103が有する管理側RAIDグループ管理表807の構成を示す図である。管理側RAIDグループ管理表807は、ストレージサブシステム102が有するRAIDグループ管理表308に対応し、RAIDグループ管理表308が有する情報を格納するために用いられる。ただし、管理側RAIDグループ管理表807が有する情報は、RAIDグループ管理表308が有する情報と完全に一致している必要はなく、RAIDグループ管理表308の一部の情報を、管理側RAIDグループ管理表807に格納しなくてもよい。
図11は、管理計算機103が有する管理側RAIDグループ管理表807の構成を示す図である。管理側RAIDグループ管理表807は、ストレージサブシステム102が有するRAIDグループ管理表308に対応し、RAIDグループ管理表308が有する情報を格納するために用いられる。ただし、管理側RAIDグループ管理表807が有する情報は、RAIDグループ管理表308が有する情報と完全に一致している必要はなく、RAIDグループ管理表308の一部の情報を、管理側RAIDグループ管理表807に格納しなくてもよい。
例えば、管理側RAIDグループ管理表807は、RAIDグループの識別子を表すRAIDグループID1101と、RAIDグループを構成する物理記憶デバイスの種類を表すデバイス種別1102と、RAIDグループのRAIDレベルおよびコンビネーションを表すRAIDレベル1103と、を構成項目として含んでいる。
なお、以降で説明する各表808〜810についても、それらが有する情報は、ストレージサブシステム102の対応する表309〜311が有する情報と完全に一致している必要はない。
<管理側実領域管理表808>
図12は、管理側計算機103が有する管理側実領域管理表808の構成を示す図である。管理側実領域管理表808は、ストレージサブシステム102が有する実領域管理表309に対応する。
図12は、管理側計算機103が有する管理側実領域管理表808の構成を示す図である。管理側実領域管理表808は、ストレージサブシステム102が有する実領域管理表309に対応する。
例えば、管理側実領域管理表808は、実領域を持つRAIDグループの識別子を表すRAIDグループID1201と、実領域の識別子を表す実領域ID1202と、実領域に対応するRAIDグループのLBA範囲を表すRG_LBA範囲1203と、実領域が割当済か否かを表す割当状況1204と、を構成項目として含んでいる。
<管理側VVOL管理表810>
図13は、管理側計算機103が有する管理側VVOL管理表810の構成を示す図である。管理側VVOL管理表810は、ストレージサブシステム102が有するVVOL管理表311に対応する。
図13は、管理側計算機103が有する管理側VVOL管理表810の構成を示す図である。管理側VVOL管理表810は、ストレージサブシステム102が有するVVOL管理表311に対応する。
例えば、管理側VVOL管理表810は、仮想ボリュームの識別子を表すVVOL_ID1301と、仮想ボリューム内の仮想領域に対応するLBA範囲を表すVVOL_LBA範囲1302と、仮想ボリューム内の仮想領域に割り当てられている実領域を表す実領域ID1303と、仮想ボリューム内の仮想領域に対する、ホスト計算機からのアクセス数を表すアクセス数1304と、再配置処理において、仮想ボリューム内の仮想領域にその階層内の実領域を割り当てるべきであると判定された、当該階層の識別子を表す再配置判定結果1305と、を構成項目として含んでいる。
なお、VVOL管理表311のアクセス数604には、当該仮想領域に対するアクセス回数を記録するのに対して、管理側VVOL管理表810のアクセス数1304には、管理計算機103が行う各処理において使用する、アクセス数に関連する値が記録される。例えば、アクセス数1304には、アクセス分布変化量計算処理にて使用する、前回アクセス分布変化量計算処理を行った時のアクセス数604の値(前回処理時のアクセス数)1306と、前回処理時に計算した当該仮想領域のアクセス数の平均値(前回処理時の平均値)1307が記録される。さらに、アクセス数1304には、例えば再配置処理にて使用する、再配置時間帯の先頭時刻におけるアクセス数604の値(先頭時刻でのアクセス数)1308と、再配置処理にて計算したアクセス数の平均値(平均値)1309が記録される。この場合、アクセス数の平均値を表す1307および1309の単位は、例えばIOPSである。
また、例えば、カラム1307に記録する平均値を計算するための計測期間と、カラム1309に記録する平均値を計算するための計測期間が等しい場合には、カラム1306と1308、およびカラム1307と1309はそれぞれ片方のみであってもよい。さらに、アクセス分布変化量計算処理にて使う値として、カラム1306または/および1307に代えて、或いは加えて、他の値を記録するようにしてもよいし、再配置処理にて使う値として、カラム1308または/および1309に代えて、或いは加えて、他の値を記録するようにしてもよい。
<管理側階層定義表809>
図14は、管理側計算機103が具備する管理側階層定義表809の構成を示す図である。管理側階層定義表809は、ストレージサブシステム102が有する階層定義表310(図7)に対応する。図14の情報は管理者が定義しても良いが、図7の情報と同期が取られている必要がある。
図14は、管理側計算機103が具備する管理側階層定義表809の構成を示す図である。管理側階層定義表809は、ストレージサブシステム102が有する階層定義表310(図7)に対応する。図14の情報は管理者が定義しても良いが、図7の情報と同期が取られている必要がある。
例えば、階層定義表809は、階層毎に、階層の識別子を表す階層ID1401と、階層の性能要件を表す性能要件1402と、階層に対応した、単位時間当たりの許容アクセス数範囲を表す許容IPOS範囲1403と、を構成項目として含んでいる。
<計算機システム内における処理の内容>
本実施形態によるストレージサブシステム102が行う処理として、(i)リード処理、(ii)ライト処理、および(iii)アクセス数計算処理がある。また、本実施形態による管理計算機103が行う処理として、(iv)アクセス分布変化量計算処理、(v)再配置時間帯計算処理、及び(vi)再配置処理がある。以下、これらについて詳細に説明する。
本実施形態によるストレージサブシステム102が行う処理として、(i)リード処理、(ii)ライト処理、および(iii)アクセス数計算処理がある。また、本実施形態による管理計算機103が行う処理として、(iv)アクセス分布変化量計算処理、(v)再配置時間帯計算処理、及び(vi)再配置処理がある。以下、これらについて詳細に説明する。
(A)ストレージサブシステム102における処理
リード処理、ライト処理、及びそれらの処理終了時のアクセス数計算処理に関し、ホスト計算機101は、ストレージサブシステム102に記録したデータにアクセスするために、ストレージサブシステム102にアクセス要求を送信する。そして、ストレージサブシステム102は、ホスト計算機101からアクセス要求を受信し、受信した要求に応じた処理を行う。以下で、アクセス要求の一例としてリード要求を受信した場合の処理と、ライト要求を受信した場合の処理をそれぞれ説明する。なお、(iii)アクセス数計算処理は(i)リード処理及び(ii)ライト処理のそれぞれの最後の処理として含まれている。
リード処理、ライト処理、及びそれらの処理終了時のアクセス数計算処理に関し、ホスト計算機101は、ストレージサブシステム102に記録したデータにアクセスするために、ストレージサブシステム102にアクセス要求を送信する。そして、ストレージサブシステム102は、ホスト計算機101からアクセス要求を受信し、受信した要求に応じた処理を行う。以下で、アクセス要求の一例としてリード要求を受信した場合の処理と、ライト要求を受信した場合の処理をそれぞれ説明する。なお、(iii)アクセス数計算処理は(i)リード処理及び(ii)ライト処理のそれぞれの最後の処理として含まれている。
(i)リード処理
図15は、ストレージサブシステム102におけるリード処理を説明するためのフローチャートである。ホスト計算機101からリード要求が送信された場合、例えば下記の処理が行われる。
図15は、ストレージサブシステム102におけるリード処理を説明するためのフローチャートである。ホスト計算機101からリード要求が送信された場合、例えば下記の処理が行われる。
ストレージ制御プログラム307は、リード要求をホスト計算機101から受信する(ステップ1501)。そして、ストレージ制御プログラム307は、リード要求が有するアクセス先情報を基に、データを読み出す元の仮想領域(以下、リード元仮想領域)を特定する(ステップ1502)。
次に、ストレージ制御プログラム307は、リード対象のデータがキャッシュメモリ領域に残っているか否かを判断する(ステップ1503)。
対象データがキャッシュにある場合(ステップ1503でYesの場合)、ストレージ制御プログラム307は、キャッシュメモリ領域のリード対象データを、ホスト計算機101に送信する(ステップ1504)。
対象データがキャッシュにない場合(ステップ1503でNoの場合)、ストレージ制御プログラム307は、VVOL管理表311を基に、1502で特定されたリード元仮想領域に割り当てられている実領域(以下、リード元実領域)を特定する(ステップ1505)。続いて、ストレージ制御プログラム307は、リード元実領域からデータを読み出し、そのデータをキャッシュメモリ領域に書き込み、かつホスト計算機101に送信する(ステップ1506)。
最後に、ストレージ制御プログラム307は、リード元仮想領域に対応するアクセス数604の値を更新する(ステップ1507)。この時、ステップ1507の直前に実行した処理がステップ1504であった場合には、ストレージ制御プログラム307は、リード元仮想領域に対応するアクセス数604の値を更新しなくてもよい。
(ii)ライト処理
図16は、ストレージサブシステム102におけるライト処理を説明するためのフローチャートである。ホスト計算機101からライト要求が送信された場合、例えば下記の処理が行われる。
図16は、ストレージサブシステム102におけるライト処理を説明するためのフローチャートである。ホスト計算機101からライト要求が送信された場合、例えば下記の処理が行われる。
ストレージ制御プログラム307は、ライト要求をホスト計算機101から受信する(ステップ1601)。そして、ストレージ制御プログラム307は、ライト要求が有するアクセス先情報を基に、データを書き込む先の仮想領域(以下、ライト先仮想領域)を特定する(ステップ1602)。
次に、ストレージ制御プログラム307は、ライト先仮想領域に実領域が割り当てられているか否かを判断する(ステップ1603)。具体的には、ライト先仮想領域がVVOL管理表311に登録されているか否かを判断する。
ライト先仮想領域に実領域が割り当てられている場合(ステップ1603でYesの場合)、ストレージ制御プログラム307は、ライト対象データをライト先仮想領域に割り当てられている実領域に書き込む(ステップ1604)。
ライト先仮想領域に実領域が割り当てられていない場合(ステップ1603でNoの場合)、ストレージ制御プログラム307は、ライト先仮想領域に割り当てられる未割当の実領域が存在するか否かを判断する(ステップ1605)。具体的には、ストレージ制御プログラム307は、実領域管理表309の割当状況504が「未割当」である実領域が存在するか否かを判断する。
ライト先仮想領域に未割当の実領域が存在する場合(ステップ1605でYesの場合)、ストレージ制御プログラム307は、ライト先仮想領域に未割当の実領域を割り当てて、ライト対象データを当該実領域に書き込む(ステップ1606)。
ライト先仮想領域に未割当の実領域が存在しない場合(ステップ1605でNoの場合)、ストレージ制御プログラム307は、ホスト計算機101にエラーを送信する(ステップ1607)。
最後に、ストレージ制御プログラム307は、ライト元仮想領域に対応するアクセス数604の値を更新する(ステップ1608)。
(B)管理計算機103における処理
(iv)アクセス分布変化量計算処理
図17は、アクセス分布変化量計算処理の詳細を説明するためのフローチャートである。アクセス分布変化量計算処理は、一定の時間間隔、例えば1時間毎に定期的・繰り返しに行われる。この時間間隔は、正確な間隔でなくてもよく、多少の時間のずれがあっても良い。
(iv)アクセス分布変化量計算処理
図17は、アクセス分布変化量計算処理の詳細を説明するためのフローチャートである。アクセス分布変化量計算処理は、一定の時間間隔、例えば1時間毎に定期的・繰り返しに行われる。この時間間隔は、正確な間隔でなくてもよく、多少の時間のずれがあっても良い。
構成管理プログラム804は、管理側VVOL管理表810に登録されている全ての仮想ボリュームに対して、以降の1701〜1704の処理を行う。以下、1つの仮想ボリューム(以下、図17の説明において「対象VVOL」という)を例にして、以降の処理を説明する。
(ステップ1701の処理内容)
構成管理プログラム804は、対象VVOL内の各仮想領域に対応するアクセス数の情報を、ストレージサブシステム102から取得する。具体的には、構成管理プログラム804は、ストレージサブシステム102に対して、対象VVOL内の各仮想領域に対応するアクセス数の情報を要求するリクエストを送信する。リクエストは、例えば対象VVOLの識別子であるVVOL_IDの情報を有する。
構成管理プログラム804は、対象VVOL内の各仮想領域に対応するアクセス数の情報を、ストレージサブシステム102から取得する。具体的には、構成管理プログラム804は、ストレージサブシステム102に対して、対象VVOL内の各仮想領域に対応するアクセス数の情報を要求するリクエストを送信する。リクエストは、例えば対象VVOLの識別子であるVVOL_IDの情報を有する。
ストレージサブシステム102はリクエストを受信し、リクエストが有するVVOL_IDで特定される仮想ボリューム内の各仮想領域について、VVOL管理表311の当該仮想領域に対応するVVOL_LBA範囲602の値とアクセス数604の値を、例えば2つ組にして、管理計算機103に送信する。なお、この時ストレージサブシステム102が管理計算機103に送信する情報は、仮想領域の識別情報とアクセス数の情報の対応が分かれば、どのような形式であってもよい。
(ステップ1702の処理内容)
構成管理プログラム804は、前回処理時から現在までの期間における、対象VVOLに対するアクセス数の平均値(IOPS)を計算する。具体的には、対象VVOL内のすべての仮想領域に対して、ステップ1701で取得したアクセス数604の値と前回処理時のアクセス数1306の値との差分を求め、その差分値の総和を計算する。差分を求めるのは本実施形態ではアクセス数カウントにインクリメントカウンタを用いているからであり、差分の総和によって、当該期間におけるアクセス総数(累計値)が算出される。ただし、この時、前回処理時のアクセス数1306には、前回アクセス分布変化量計算処理を行った時に取得した、各仮想領域のアクセス数604の値が記録されているものとする。
構成管理プログラム804は、前回処理時から現在までの期間における、対象VVOLに対するアクセス数の平均値(IOPS)を計算する。具体的には、対象VVOL内のすべての仮想領域に対して、ステップ1701で取得したアクセス数604の値と前回処理時のアクセス数1306の値との差分を求め、その差分値の総和を計算する。差分を求めるのは本実施形態ではアクセス数カウントにインクリメントカウンタを用いているからであり、差分の総和によって、当該期間におけるアクセス総数(累計値)が算出される。ただし、この時、前回処理時のアクセス数1306には、前回アクセス分布変化量計算処理を行った時に取得した、各仮想領域のアクセス数604の値が記録されているものとする。
構成管理プログラム804は算出した総和の値を基に、前回処理時から現在までの期間における対象VVOLのアクセス数の単位時間平均値(例えばIOPS)を求める(以下、図17の説明において「VVOLアクセス平均」という)。
(ステップ1703の処理内容)
構成管理プログラム804は、対象VVOLに対するアクセス分布の、前回処理時から現在までの期間における変化量を計算する。具体的には、まず、構成管理プログラム804は、対象VVOL内のすべての仮想領域に対して、ステップ1701で取得したアクセス数604の値と前回処理時のアクセス数1306の値との差分を基に、前回処理時から現在までの期間における、当該仮想領域に対するアクセス数の単位時間平均(例えばIOPS)を求める(以下、図17の説明において「仮想領域アクセス平均」という)。
構成管理プログラム804は、対象VVOLに対するアクセス分布の、前回処理時から現在までの期間における変化量を計算する。具体的には、まず、構成管理プログラム804は、対象VVOL内のすべての仮想領域に対して、ステップ1701で取得したアクセス数604の値と前回処理時のアクセス数1306の値との差分を基に、前回処理時から現在までの期間における、当該仮想領域に対するアクセス数の単位時間平均(例えばIOPS)を求める(以下、図17の説明において「仮想領域アクセス平均」という)。
次に構成管理プログラム804は、対象VVOL内のすべての仮想領域に対して、当該仮想領域の仮想領域アクセス平均をVVOLアクセス平均で割った値と、当該仮想領域に対応する前回処理時の平均値1307を対象VVOLに対応するアクセス平均904の値で割った値との差分を計算する。ただし、この時前回処理時の平均値1307には、前回処理時に計算した仮想領域アクセス平均の値が記録されているものとする。ここで計算した差分の値は、当該仮想領域へのアクセス数の、対象VVOLへのアクセス数に対する割合が、前回処理時からどれだけ変化したかを表している。
構成管理プログラム804は、例えば対象VVOL内のすべての仮想領域に対する上記差分の二乗合計の平方根を計算し、対象VVOLに対応するアクセス分布の変化量903として、アクセス分布変化履歴表805に記録する。この時、アクセス分布変化履歴表805の観測日時902には、前回のアクセス分布変化量計算処理を実行した時刻から、現在の時刻までの時間帯を記録する。また、アクセス分布変化履歴表805のアクセス平均904には、ステップ1702で計算したVVOLアクセス平均を記録する。
上記処理にて計算したアクセス分布変化量903の値を分析することで、対象VVOL内のホットスポット(その仮想領域に対するアクセス数が、同じ仮想ボリューム内の他の仮想領域に対するアクセス数よりも高い仮想領域)の位置が、その時間帯において変化したことを検知することができる。
ここで、「その指標の分析により検知できる情報」という観点で、上記処理の計算値であるアクセス分布変化量と他の指標を比較する。例えば、対象VVOLへのアクセス数を指標に用いた場合、個々の仮想領域へのアクセス数が指標に現れないため、「対象VVOLへのアクセス数は変化していないが、対象VVOLのホットスポットの位置は変化した」ような場合を検知できない。ホットスポットの位置の変化を検知するには、対象VVOLのアクセス分布の変化に着目すればよい。そこで、対象VVOL内の各仮想領域に対するアクセス数の差分を取り、その統計値を指標とすることが考えられる。しかし、この値を用いると、ホットスポットの位置の変化以外にも、例えば「対象VVOL内の各仮想領域へのアクセス数が、平均的に増加した」ような場合(以下、図17の説明において「全体増加ケース」という)も検知してしまう。
本発明は、個々の仮想ボリュームごとにその内部の各仮想領域に対する最適な実領域割り当てを実現するものであり、全体増加ケースに対する解決策ではないため、ホットスポットの位置が変化した場合と全体増加ケースを切り分ける必要がある。そこで、上記処理の計算値のような、対象VVOL内の各仮想領域に対するアクセス数を正規化した値の統計値を指標とする。正規化を行うことで、全体増加ケースにおいては指標が変化しないため検知せずに済む。これにより、ホットスポットの位置が変化したケースに的を絞って検知を行うことができる。
なお、前述の全体増加ケースに対する解決策としては、従来の定期的かつ仮想ボリューム横断(プール単位)で行う再配置処理が適切である。本発明と従来技術を組み合わせて用いることで、論理ボリュームよりも細かい領域単位での再配置処理を、より効果的に利用することができる。ただし、本発明と従来技術を組み合わせる場合には、再配置を実施する時間が衝突しないように、例えば再配置処理を行ってから一定期間(例えば1時間)以内には再配置処理を行わないようにしたり、本特許による再配置処理と従来技術による再配置処理の優先順を決定したりするなどの制御を行う必要がある。
また、上述のアクセス分布の変化量の計算方法は一例であり、他の計算方法を用いてもよい。
(ステップ1704の処理内容)
構成管理プログラム804は、対象VVOL内のすべての仮想領域に対して、ステップ1701で取得した各仮想領域に対するアクセス数604の値をカラム1306に記録し、ステップ1703で計算した各仮想領域に対する仮想領域アクセス平均の値をカラム1307に記録する。
構成管理プログラム804は、対象VVOL内のすべての仮想領域に対して、ステップ1701で取得した各仮想領域に対するアクセス数604の値をカラム1306に記録し、ステップ1703で計算した各仮想領域に対する仮想領域アクセス平均の値をカラム1307に記録する。
なお、対象VVOL内の仮想領域の中に、ストレージサブシステム102のVVOL管理表311には登録されているが、管理側VVOL管理表810には登録されていないものがあった場合、構成管理プログラム804は、上記ステップ1701〜1703の処理において、当該仮想領域に対応するアクセス数に関する値1306〜1309を、例えば全て0として計算する。また、構成管理プログラム804は、上記ステップ1704の処理において、当該仮想領域を管理側VVOL管理表810に登録した後、対応するカラム1306および1307の値を更新する。
(v)再配置時間帯計算処理
図18は、再配置時間帯計算処理の詳細を説明するためのフローチャートである。再配置時間帯計算処理は、例えば定期的・繰り返し行われる。ただし、周期的に実行する必要はなく、実行時間間隔に多少のバラツキがあっても構わない。
図18は、再配置時間帯計算処理の詳細を説明するためのフローチャートである。再配置時間帯計算処理は、例えば定期的・繰り返し行われる。ただし、周期的に実行する必要はなく、実行時間間隔に多少のバラツキがあっても構わない。
(ステップ1801の処理内容)
管理計算機103内の構成管理プログラム804は、再配置時間帯管理表806における再配置時間帯1003の値をクリアする。
管理計算機103内の構成管理プログラム804は、再配置時間帯管理表806における再配置時間帯1003の値をクリアする。
次に、構成管理プログラム804は、管理側VVOL管理表810に登録されているすべての仮想ボリュームに対して、以降ステップ1802〜1805の処理を行う。以下、1つの仮想ボリューム(以下、図18の説明において「対象VVOL」という)を例にして説明する。
構成管理プログラム804は、例えば1日を1時間毎に区切った各時間帯(以下、対象時間帯)に対して、以降ステップ1802〜1804の処理を行う。
(ステップ1802の処理内容)
構成管理プログラム804は、アクセス分布変化履歴表805を基に、対象VVOLの対象時間帯におけるアクセス分布変化量903の平均値、例えば直近1週間のアクセス分布変化量903の平均値を計算する。なお、平均値を計算する期間は、例えば2日間や1ヶ月間でもよい。
構成管理プログラム804は、アクセス分布変化履歴表805を基に、対象VVOLの対象時間帯におけるアクセス分布変化量903の平均値、例えば直近1週間のアクセス分布変化量903の平均値を計算する。なお、平均値を計算する期間は、例えば2日間や1ヶ月間でもよい。
また、ストレージ管理者が、平均値を計算する期間を設定できるようにしてもよい。その場合、構成管理プログラム804は、例えばストレージ管理者からの指示に応じて、平均値を計算する期間を設定する画面をWebブラウズ用計算機104に表示する。さらに、平均値を計算する期間は、仮想ボリュームごとに異なってもよいし、複数の仮想ボリュームで共有してもよい。
(ステップ1803の処理内容)
構成管理プログラム804は、計算したアクセス分布変化量903の平均値(以下、分布変化平均という)が再配置時間帯管理表806の対象VVOLに対応する分布変化閾値1002より小さいか否かを判定する。なお、分布変化閾値1002の値は、1803の処理が実行される段階で設定しても良いし、それより前に設定されていてもよい。分布変化閾値1002の設定の詳細に関しては、後述する。
構成管理プログラム804は、計算したアクセス分布変化量903の平均値(以下、分布変化平均という)が再配置時間帯管理表806の対象VVOLに対応する分布変化閾値1002より小さいか否かを判定する。なお、分布変化閾値1002の値は、1803の処理が実行される段階で設定しても良いし、それより前に設定されていてもよい。分布変化閾値1002の設定の詳細に関しては、後述する。
(ステップ1804の処理内容)
分布変化平均が分布変化閾値1002よりも小さい場合(ステップ1803でYesの場合)、構成管理プログラム804は、対象時間帯を再配置時間帯管理表806に登録する。分布変化平均が分布変化閾値1002以上の場合(ステップ1803でNoの場合)、構成管理プログラム804は、次の時間帯について処理(ステップ1802〜1804)を継続する。以上の処理を、各時間帯に対して繰り返し行う。
分布変化平均が分布変化閾値1002よりも小さい場合(ステップ1803でYesの場合)、構成管理プログラム804は、対象時間帯を再配置時間帯管理表806に登録する。分布変化平均が分布変化閾値1002以上の場合(ステップ1803でNoの場合)、構成管理プログラム804は、次の時間帯について処理(ステップ1802〜1804)を継続する。以上の処理を、各時間帯に対して繰り返し行う。
(ステップ1805の処理内容)
構成管理プログラム804は、再配置時間帯管理表806の対象VVOLに対応する再配置時間帯1003に対して、連続する時間帯を1つにまとめるという処理を行う。具体的には、構成管理プログラム804は、対象VVOLのVVOL_IDと、VVOL_IDが一致するレコードを、再配置時間帯管理表806から特定する。2以上のレコードが特定された場合、構成管理プログラム804は特定された2以上のレコードの、2以上の再配置時間帯が連続していれば、それらを1つにまとめる。例えば、再配置時間帯が9:00-10:00、10:00-11:00、11:00-12:00のように連続していれば、9:00-10:00、10:00-11:00、11:00-12:00を、1つの時間帯9:00-12:00にまとめる。構成管理プログラム804は、再配置時間帯をまとめられた2以上のレコードをすべて削除し、まとめた後の時間帯を登録する。
構成管理プログラム804は、再配置時間帯管理表806の対象VVOLに対応する再配置時間帯1003に対して、連続する時間帯を1つにまとめるという処理を行う。具体的には、構成管理プログラム804は、対象VVOLのVVOL_IDと、VVOL_IDが一致するレコードを、再配置時間帯管理表806から特定する。2以上のレコードが特定された場合、構成管理プログラム804は特定された2以上のレコードの、2以上の再配置時間帯が連続していれば、それらを1つにまとめる。例えば、再配置時間帯が9:00-10:00、10:00-11:00、11:00-12:00のように連続していれば、9:00-10:00、10:00-11:00、11:00-12:00を、1つの時間帯9:00-12:00にまとめる。構成管理プログラム804は、再配置時間帯をまとめられた2以上のレコードをすべて削除し、まとめた後の時間帯を登録する。
(上述の再配置時間帯計算処理の変形例について)
以上が再配置時間帯計算処理の説明であるが、構成管理プログラム804は、再配置時間帯計算処理において、対象時間帯を再配置時間帯管理表806に登録するか否かの判定時に、アクセス分布変化量に加えて対象VVOLの対象時間帯におけるアクセス数の情報を考慮してもよい。具体的には、ステップ1802において、構成管理プログラム804はアクセス分布変化履歴表805を基に、対象VVOLの対象時間帯におけるアクセス数904の平均値を計算する。
以上が再配置時間帯計算処理の説明であるが、構成管理プログラム804は、再配置時間帯計算処理において、対象時間帯を再配置時間帯管理表806に登録するか否かの判定時に、アクセス分布変化量に加えて対象VVOLの対象時間帯におけるアクセス数の情報を考慮してもよい。具体的には、ステップ1802において、構成管理プログラム804はアクセス分布変化履歴表805を基に、対象VVOLの対象時間帯におけるアクセス数904の平均値を計算する。
ステップ1803において、構成管理プログラム804は、例えば、分布変化平均が分布変化閾値1002よりも小さくかつアクセス数904の平均値が一定値(例えば、分布変化閾値1002とは別に設定または/および計算した閾値)よりも小さい場合にのみ、対象時間帯を再配置時間帯管理表806に登録すると判定してもよい。
(分布変化閾値について)
ステップ1803で使用する分布変化閾値1002は、ストレージ管理者が入力してもよく、管理計算機103が計算しても良い。ここでは一例として、ストレージ管理者が入力する形態について説明する。
ステップ1803で使用する分布変化閾値1002は、ストレージ管理者が入力してもよく、管理計算機103が計算しても良い。ここでは一例として、ストレージ管理者が入力する形態について説明する。
構成管理プログラム804は、上記の再配置時間帯計算処理において、Webブラウズ用計算機104に、図19に示す分布変化閾値入力画面1901を表示する。画面1901は、分布変化閾値の設定対象である仮想ボリュームを選択するための領域(仮想ボリューム選択領域)1904と、選択された仮想ボリュームに設定する分布変化閾値を入力するための領域(閾値入力領域)1906を有する。
仮想ボリューム選択領域1904には、例えば再配置時間帯管理表806に登録されている各仮想ボリュームに対応するVVOL_ID1001の一覧が表示される。ストレージ管理者は仮想ボリュームのIDの一覧から、例えば1つを選択可能である。
閾値入力領域1906には、例えば分布変化閾値を入力するためのテキストボックスが表示される。テキストボックスには、選択されたIDで識別される仮想ボリュームに対応する分布変化閾値の入力が可能である。
ストレージ管理者が、画面1901を用いて分布変化閾値を入力し、適用ボタン1902を押すと、構成管理プログラム804は入力された値を、画面1901で選択されている仮想ボリュームのIDに対応する分布変化閾値1002に格納し、上記再配置時間帯計算処理の1803以降を実行することになる。
なお、画面1901には、ストレージ管理者が分布変化閾値を決定するための判断材料となる情報を表示する領域(管理者判断材料表示領域)1905があっても良い。例えば、画面1901には、上述の再配置時間帯計算処理のステップ1802で計算した、1日を1時間に区切った時間帯毎のアクセス分布変化量の平均値を表示しても良い。表示の方法は、例えば図19の管理者判断材料表示領域1905のような表形式でもよく、図20のような時系列のグラフ形式で表示してもよい。図20のようにグラフで表示した場合には、管理者は視覚でアクセス分布の変化を捉えることができ、感覚的な理解が得られやすいという効果がある。
また、構成管理プログラム804は、分布変化閾値が入力された時に、入力された閾値を用いて計算される再配置時間帯を、再配置時間帯管理表806に登録する前に画面1901に表示し、それらの時間帯を再配置時間帯管理表に登録するか否かを、ストレージ管理者に選択させてもよい。この場合、画面1901は計算した再配置時間帯を表示するための領域(再配置時間帯表示領域)1907を持つ。具体的には、構成管理プログラム804は、上記再配置時間帯計算処理の開始時に、メモリ803上に中間表を準備する。ストレージ管理者は画面1901において、分布変化閾値を閾値入力領域1906に入力した後、例えば適用ボタン1902の代わりに時間帯計算ボタン1908を押す。
時間帯計算ボタン1908が押されると、構成管理プログラム804は、選択されている仮想ボリュームに対応する分布変化閾値1002の代わりに、閾値入力領域1906に入力されている値を用いて、ステップ1803〜1805の処理を行う。この場合、構成管理プログラム804は、ステップ1804および1805で計算した再配置時間帯を、再配置時間帯管理表806ではなく中間表に記録する。構成管理プログラム804は、中間表に記録した再配置時間帯の情報を画面1901の再配置時間帯表示領域1907に表示する。ストレージ管理者は分布変化閾値を入力し直し、再度時間帯計算ボタン1908を押してもよい。
構成管理プログラム804は、ストレージ管理者が分布変化閾値を入力し直すたびに、新しく入力された閾値を用いて再配置時間帯を計算し、中間表に記録して再配置時間帯表示領域1907に表示する。ストレージ管理者が適用ボタン1902を押下すると、構成管理プログラム804は、閾値入力領域1906に入力された値を分布変化閾値1002に格納し、また中間表に記録されている再配置時間帯の情報を再配置時間帯管理表806に登録し、中間表をメモリ803から削除して再配置時間帯計算処理を終了する。
さらに、ストレージ管理者が構成管理プログラム804に指示することで、再配置時間帯計算処理を実行する前に、分布変化閾値を入力しても良い。その場合、再配置時間帯計算処理の間では、ストレージ管理者に分布変化閾値の入力を求めなくても良い。ストレージ管理者が構成管理プログラム804に、分布変化閾値の入力を指示した場合、構成管理プログラム804はWebブラウズ用計算機104に画面1901を表示する。
また、ストレージ管理者が構成管理プログラム804に指示することで、分布変化閾値を入力するのではなく、アクセス分布に関する情報を閲覧するための画面を表示できてもよい。この場合構成管理プログラム804は、例えば画面1901に仮想ボリューム選択領域1904と管理者判断材料表示領域1905のみを表示する。
さらに、構成管理プログラム804は、分布変化閾値を自動的に計算しても良い。その場合、ストレージ管理者に分布変化閾値の入力を求めなくても良い。例えば、ストレージ管理者は分布変化閾値の代わりに、1日の間で行う再配置処理の上限数を入力する。構成管理プログラム804は、入力された上限数を超えない数の再配置時間帯が登録されるような分布変化閾値を計算する。分布変化閾値を、構成管理プログラムに計算させるか、自分で入力するかは、ストレージ管理者が選択できて良い。
(vi)再配置処理
図21は、再配置処理の詳細を説明するためのフローチャートである。再配置処理は、再配置時間帯管理表806に再配置時間帯1003が登録されている仮想ボリューム(以下、図21の説明において対象VVOL)に対して、対象VVOLに対応する再配置時間帯1003毎に行う処理である。再配置処理は、例えば、上述の(v)再配置時間帯計算処理によって、再配置時間帯管理表806に登録された各再配置時間帯の先頭時刻から一定期間後、例えば30分後に行われる。
図21は、再配置処理の詳細を説明するためのフローチャートである。再配置処理は、再配置時間帯管理表806に再配置時間帯1003が登録されている仮想ボリューム(以下、図21の説明において対象VVOL)に対して、対象VVOLに対応する再配置時間帯1003毎に行う処理である。再配置処理は、例えば、上述の(v)再配置時間帯計算処理によって、再配置時間帯管理表806に登録された各再配置時間帯の先頭時刻から一定期間後、例えば30分後に行われる。
(ステップ2100の処理内容)
管理計算機103の構成管理プログラム804は、ストレージサブシステム102から対象VVOL内のすべての仮想領域に対するアクセス数604の値を取得し、管理側VVOL管理表810の先頭時刻でのアクセス数1308に記録する。
管理計算機103の構成管理プログラム804は、ストレージサブシステム102から対象VVOL内のすべての仮想領域に対するアクセス数604の値を取得し、管理側VVOL管理表810の先頭時刻でのアクセス数1308に記録する。
構成管理プログラム804はステップ2100を実行した後、所定時間(例えば30分)が経過するまで待機する。なお、構成管理プログラム804は、待機中に、他の処理を行ってもよい。即ち、ステップ2100を行った後の所定時間経過後にステップ2101の処理を行うことができれば、当該待機時間内にどのような処理を何回行っても構わない。
(ステップ2101の処理内容)
構成管理プログラム804は、ストレージサブシステム102から対象VVOL内のすべての仮想領域に対するアクセス数604の値を取得し、各仮想領域の例えば過去30分間におけるアクセス数の平均値を計算して平均値1309に記録する。具体的には、構成管理プログラム804は、次の(式1)にしたがってアクセス数の平均値を計算し、平均値1309に記録する。
構成管理プログラム804は、ストレージサブシステム102から対象VVOL内のすべての仮想領域に対するアクセス数604の値を取得し、各仮想領域の例えば過去30分間におけるアクセス数の平均値を計算して平均値1309に記録する。具体的には、構成管理プログラム804は、次の(式1)にしたがってアクセス数の平均値を計算し、平均値1309に記録する。
(アクセス数604−先頭時刻でのアクセス数1308)/計測期間の秒数 (式1)
例えば、VVOL_IDがVolume1であり、VVOL_LBA範囲が0−999である仮想領域に対する図6および図13の値を例に取り、また計測期間を30分間として上記(式1)に当てはめて計算すると、(792000 - 621000) / (30 × 60) = 95となる。
例えば、VVOL_IDがVolume1であり、VVOL_LBA範囲が0−999である仮想領域に対する図6および図13の値を例に取り、また計測期間を30分間として上記(式1)に当てはめて計算すると、(792000 - 621000) / (30 × 60) = 95となる。
このように、再配置時間帯の先頭時刻から一定期間(例えば30分間)のアクセス数の情報を基に再配置処理を行うことで、当該仮想ボリュームの、アクセス分布が変化しない時間帯のアクセス数の情報に基づいた再配置処理を行うことができる。
また、構成管理プログラム804は、ストレージサブシステム102から各表308〜310の情報を取得し、取得した情報を基に管理計算機103の各表807〜809の情報を更新する。
(ステップ2102の処理内容)
次に、構成管理プログラム804は、管理側VVOL管理表810に登録されている、対象VVOL内のすべての仮想領域に対して、対象仮想領域に割り当てるべき階層を特定する。具体的には、構成管理プログラム804は、対象仮想領域に対応するアクセス数の平均値1309の値を含むアクセス数範囲を表す許容IOPS範囲1403を管理側階層定義表809から特定し、その許容アクセス数範囲1403に対応する階層ID1401を、対象仮想領域の再配置判定結果1305の値として記録する。この結果、記録された階層IDは、当該仮想領域に割り当てられている実領域を含む階層の階層IDと同じであることもあれば異なることもある。なお、アクセス数1304に、再配置処理にて再配置判定結果の階層を特定するために用いる値として複数の種類の値を記録している場合には、許容IOPS範囲1403を特定するために用いる値として、どれか1つを選択してもよいし、計算により導出してもよい。また、許容IOPS範囲1403を特定する際に複数の値の組を用いてもよい。その場合、階層定義表310および管理側階層定義表809の許容IOPS範囲703および1403には、複数の値の組を設定する。
次に、構成管理プログラム804は、管理側VVOL管理表810に登録されている、対象VVOL内のすべての仮想領域に対して、対象仮想領域に割り当てるべき階層を特定する。具体的には、構成管理プログラム804は、対象仮想領域に対応するアクセス数の平均値1309の値を含むアクセス数範囲を表す許容IOPS範囲1403を管理側階層定義表809から特定し、その許容アクセス数範囲1403に対応する階層ID1401を、対象仮想領域の再配置判定結果1305の値として記録する。この結果、記録された階層IDは、当該仮想領域に割り当てられている実領域を含む階層の階層IDと同じであることもあれば異なることもある。なお、アクセス数1304に、再配置処理にて再配置判定結果の階層を特定するために用いる値として複数の種類の値を記録している場合には、許容IOPS範囲1403を特定するために用いる値として、どれか1つを選択してもよいし、計算により導出してもよい。また、許容IOPS範囲1403を特定する際に複数の値の組を用いてもよい。その場合、階層定義表310および管理側階層定義表809の許容IOPS範囲703および1403には、複数の値の組を設定する。
(繰り返し処理)
次に、構成管理プログラム804は、管理側VVOL管理表810に登録されている、対象VVOL内のすべての仮想領域に対してステップ2103〜2108の処理を実行する。ただし、ここで構成管理プログラム804は、例えば、各仮想領域を、対応するアクセス数の平均値1309の値が高い順に処理する。以下、1つの仮想領域(「対象仮想領域」という)を例にして、以降のステップ2103〜2108の処理について説明する。
次に、構成管理プログラム804は、管理側VVOL管理表810に登録されている、対象VVOL内のすべての仮想領域に対してステップ2103〜2108の処理を実行する。ただし、ここで構成管理プログラム804は、例えば、各仮想領域を、対応するアクセス数の平均値1309の値が高い順に処理する。以下、1つの仮想領域(「対象仮想領域」という)を例にして、以降のステップ2103〜2108の処理について説明する。
(ステップ2103の処理内容)
構成管理プログラム804は、現在対象仮想領域に割り当てられている実領域に対応する階層(「対象領域配置元階層」という)のIDと対象仮想領域に対応する再配置判定結果1305の値とが一致するか否かを判定する。具体的には、構成管理プログラム804は、対象仮想領域に割り当てられている実領域のID1303を基に、その実領域を含むRAIDグループのID1201を特定し、そのRAIDグループに対応するデバイス種別1102または/およびRAIDレベル1103が適合する性能要件1402に対応する階層ID1401を特定する。特定した階層ID1401と、再配置判定結果1305の値が一致するか否かを判定する。
構成管理プログラム804は、現在対象仮想領域に割り当てられている実領域に対応する階層(「対象領域配置元階層」という)のIDと対象仮想領域に対応する再配置判定結果1305の値とが一致するか否かを判定する。具体的には、構成管理プログラム804は、対象仮想領域に割り当てられている実領域のID1303を基に、その実領域を含むRAIDグループのID1201を特定し、そのRAIDグループに対応するデバイス種別1102または/およびRAIDレベル1103が適合する性能要件1402に対応する階層ID1401を特定する。特定した階層ID1401と、再配置判定結果1305の値が一致するか否かを判定する。
対象領域配置元階層が配置されるべき階層の場合(ステップ2103でYesの場合)、対象の仮想領域のデータ移行は不要のため、対象の仮想領域に対する処理は終了する。一方、対象領域配置元階層が配置されるべき階層でない場合(ステップ2103でNoの場合)、処理はステップ2104に移行する。
(ステップ2104の処理内容)
構成管理プログラム804は、管理側実領域管理表808を基に対象仮想領域に対応する再配置判定結果1305の階層IDによって示される階層(「対象領域配置先階層」という)内に、未割当の実領域が存在するか否かを判定する。
構成管理プログラム804は、管理側実領域管理表808を基に対象仮想領域に対応する再配置判定結果1305の階層IDによって示される階層(「対象領域配置先階層」という)内に、未割当の実領域が存在するか否かを判定する。
配置されるべき階層に空きがある場合(ステップ2104でYesの場合)、処理はステップ2106に移行し、配置されるべき階層に空きがない場合(ステップ2104でNoの場合)、処理はステップ2105に移行する。
(ステップ2106の処理内容)
構成管理プログラム804は、対象仮想領域に現在割り当てられている実領域(「データ移行元実領域」という)に代えて、対象領域配置先階層内の未割当の実領域(「データ移行先実領域」という)を割り当てる。具体的には、構成管理プログラム804は、管理側実領域管理表808の、データ移行元実領域に対応する割り当て状況1204の値を未割当に更新し、データ移行先実領域に対応する割り当て状況1204の値を割当済みに更新する。なお、本実施形態では、例えば、実領域と仮想領域は同じ容量で区切られるように管理され、移行元と移行先の容量を考慮する必要がないようになっている。
構成管理プログラム804は、対象仮想領域に現在割り当てられている実領域(「データ移行元実領域」という)に代えて、対象領域配置先階層内の未割当の実領域(「データ移行先実領域」という)を割り当てる。具体的には、構成管理プログラム804は、管理側実領域管理表808の、データ移行元実領域に対応する割り当て状況1204の値を未割当に更新し、データ移行先実領域に対応する割り当て状況1204の値を割当済みに更新する。なお、本実施形態では、例えば、実領域と仮想領域は同じ容量で区切られるように管理され、移行元と移行先の容量を考慮する必要がないようになっている。
また、構成管理プログラム804は、管理側VVOL管理表810の、対象仮想領域に対応する実領域ID1303の値を、データ移行先実領域のIDに更新する。また、構成管理プログラム804は、データ移行元実領域からデータ移行先実領域にデータを移行するようにストレージサブシステム102に指示する。ストレージサブシステム102のストレージ制御プログラム307は、構成管理プログラム804からの指示を受信し、データ移行元実領域からデータ移行先実領域にデータを移行する。
なお、ステップ2106の処理を行うと、他の仮想ボリュームの性能に影響を及ぼす場合がある。例えば、ある仮想ボリュームの再配置処理において、ステップ2106の処理を行った結果、性能が高い階層内の未割当実領域を全て使い切ってしまう場合がある。この場合、この後に再配置処理を行う仮想ボリューム内の仮想領域には、当該階層内の未割当実領域を割り当てることができない。したがって、当該階層内の実領域を割り当てるべきと判定された仮想領域が存在する場合、後述するステップ2107および2108の処理のように、当該階層内の実領域が割り当てられている他の仮想領域と割り当て状況およびデータを入れ替えたり、性能が近い他の階層の実領域を割り当てたりすることとなり、性能に影響を及ぼす場合がある。本事象に対処するためには、例えば、再配置処理において、対象VVOLの仮想領域に未割当の実領域を割り当てることは行わず、常に対象VVOL内の他の仮想領域との入れ替えのみによって、対象VVOL内仮想領域への実領域割り当て状況の最適化を実現する方法が考えられる。再配置処理において未割当の実領域を使用するか否かは、例えば、各階層内の未割当の実領域の個数または/および割合によって、構成管理プログラム804が判断する。具体的には、構成管理プログラム804は、ステップ2104の処理において、対象領域配置先階層内に未割当実領域が存在したとしても、その個数が対象領域配置先階層内の全実領域数の1割よりも少ない場合は、ステップ2106の処理ではなくステップ2105の処理に移行する。
(ステップ2105の処理内容)
構成管理プログラム804は、対象仮想領域に割り当てられている実領域と、データを入れ替え可能な実領域が存在するか否かを判定する。具体的には、構成管理プログラム804は、対象領域配置先階層内の割当済の実領域の中で、その実領域が割り当てられている仮想領域に対応する再配置判定結果1305の階層IDが、対象領域配置元階層の階層IDと一致するものが存在するか否かを判定する。
構成管理プログラム804は、対象仮想領域に割り当てられている実領域と、データを入れ替え可能な実領域が存在するか否かを判定する。具体的には、構成管理プログラム804は、対象領域配置先階層内の割当済の実領域の中で、その実領域が割り当てられている仮想領域に対応する再配置判定結果1305の階層IDが、対象領域配置元階層の階層IDと一致するものが存在するか否かを判定する。
入れ替え可能な実領域が存在する場合(ステップ2105でYesの場合)、処理はステップ2107に移行し、入れ替え可能な実領域が存在しない場合(ステップ2105でNoの場合)、処理はステップ2108に移行する。
(ステップ2107の処理内容)
構成管理プログラム804は、対象仮想領域に割り当てられている実領域(以下、ステップ2107の説明において「対象実領域1」という)と、対象領域配置先階層が有する割当済実領域(以下、ステップ2107の説明において「対象実領域2」という)との間で、仮想領域への割り当て状況を入れ替える。具体的には、構成管理プログラム804は、管理側VVOL管理表810の実領域ID1303において、対象実領域1のIDが格納されている箇所に対象実領域2のIDを格納し、対象実領域2のIDが格納されている箇所に対象実領域1のIDを格納する。また、構成管理プログラム804は、対象実領域1と対象実領域2の間のデータの入れ替えを行うよう、ストレージサブシステム102に指示する。ストレージサブシステム102のストレージ制御プログラム307は、構成管理プログラム804からの指示を受信し、実領域間のデータの入れ替えを行う。
構成管理プログラム804は、対象仮想領域に割り当てられている実領域(以下、ステップ2107の説明において「対象実領域1」という)と、対象領域配置先階層が有する割当済実領域(以下、ステップ2107の説明において「対象実領域2」という)との間で、仮想領域への割り当て状況を入れ替える。具体的には、構成管理プログラム804は、管理側VVOL管理表810の実領域ID1303において、対象実領域1のIDが格納されている箇所に対象実領域2のIDを格納し、対象実領域2のIDが格納されている箇所に対象実領域1のIDを格納する。また、構成管理プログラム804は、対象実領域1と対象実領域2の間のデータの入れ替えを行うよう、ストレージサブシステム102に指示する。ストレージサブシステム102のストレージ制御プログラム307は、構成管理プログラム804からの指示を受信し、実領域間のデータの入れ替えを行う。
例えば、ストレージ制御プログラム307は、下記の処理を行うことによりデータの入れ替えを実現する。なお、下記処理におけるキャッシュメモリ領域は、ストレージサブシステム102が有する未割当実領域でもよい。
手順1:ストレージ制御プログラム307は、対象実領域1内のデータをキャッシュメモリ領域に書く。
手順2:ストレージ制御プログラム307は、対象実領域2内のデータをキャッシュメモリ領域に書く。
手順3:ストレージ制御プログラム307は、対象実領域1のデータをキャッシュメモリ領域から対象実領域2に書き込む。
手順4:ストレージ制御プログラム307は、対象実領域2のデータをキャッシュメモリ領域から対象実領域1に書き込む。
(ステップ2108の処理内容)
構成管理プログラム804は、対象階層に性能が最も近い階層内の未割当の実領域に、対象仮想領域に割り当てられている実領域内のデータを移行する。また、構成管理プログラム804は、管理側VVOL管理表810と管理側実領域管理表808を更新する。
構成管理プログラム804は、対象階層に性能が最も近い階層内の未割当の実領域に、対象仮想領域に割り当てられている実領域内のデータを移行する。また、構成管理プログラム804は、管理側VVOL管理表810と管理側実領域管理表808を更新する。
(ステップ2109の処理内容)
構成管理プログラム804は、ストレージサブシステム102に、上記の再配置処理によって更新された各表の情報を取得し、ストレージサブシステム102の各表の情報を更新するよう指示する。
構成管理プログラム804は、ストレージサブシステム102に、上記の再配置処理によって更新された各表の情報を取得し、ストレージサブシステム102の各表の情報を更新するよう指示する。
ストレージサブシステム102のストレージ制御プログラム307は、構成管理プログラム804からの指示を受信し、管理計算機103の各表807〜809の情報を取得し、取得した情報を基にストレージサブシステム102の各表308〜310の情報を更新する。
(2)第2の実施形態
第2の実施形態では、仮想領域に割り当てられた実領域にゼロデータ(すべてのビットがゼロであるデータ)が格納された場合に、ストレージサブシステムが当該仮想領域を未割当の仮想領域に変更する(以下で、このような仮想領域を「ゼロデータ仮想領域」という)。より具体的には、実領域の全てのデータがゼロとなった場合、対応する仮想領域に対してNULL_Pointer(何も割り当てられていないことを示すポインタ)が付与され、当該仮想領域が未割当の仮想領域となる。ストレージサブシステムは、ホスト計算機から未割当の仮想領域に対するリード要求を受信した場合、エラーではなくゼロデータを送信する。このような技術を「ゼロリクラメーション」という。図24は、このゼロインクラメーションの概念を示す図である。
第2の実施形態では、仮想領域に割り当てられた実領域にゼロデータ(すべてのビットがゼロであるデータ)が格納された場合に、ストレージサブシステムが当該仮想領域を未割当の仮想領域に変更する(以下で、このような仮想領域を「ゼロデータ仮想領域」という)。より具体的には、実領域の全てのデータがゼロとなった場合、対応する仮想領域に対してNULL_Pointer(何も割り当てられていないことを示すポインタ)が付与され、当該仮想領域が未割当の仮想領域となる。ストレージサブシステムは、ホスト計算機から未割当の仮想領域に対するリード要求を受信した場合、エラーではなくゼロデータを送信する。このような技術を「ゼロリクラメーション」という。図24は、このゼロインクラメーションの概念を示す図である。
この場合、ストレージサブシステムは未割当の仮想領域の内、ゼロデータ仮想領域に対しては例えば割当済仮想領域と同様にアクセス数を計測する。
<システム及び装置の構成、並びに、管理情報について>
第2の実施形態において、計算機システム、ホスト装置、ストレージサブシステム、及び管理システムの構成は、第1の実施形態のそれらと同様であるが、第1の実施形態の構成と比較して、VVOL管理表311および管理側VVOL管理表810が有する情報が異なる。以下では、第1の実施形態と異なる部分のみ説明する。
第2の実施形態において、計算機システム、ホスト装置、ストレージサブシステム、及び管理システムの構成は、第1の実施形態のそれらと同様であるが、第1の実施形態の構成と比較して、VVOL管理表311および管理側VVOL管理表810が有する情報が異なる。以下では、第1の実施形態と異なる部分のみ説明する。
図22は、第2の実施形態におけるVVOL管理表311の構成を示す図である。図23は、第2の実施形態における管理側VVOL管理表810の構成を示す図である。
第2の実施形態のVVOL管理表311および管理側VVOL管理表810は、実領域ID2203および2303、および再配置判定結果2205および2305に対して、値が存在しないことを示すNULL値(ゼロ値)を格納することにより、未割当の仮想領域に対応する情報を格納することができる点で、第1の実施形態のVVOL管理表311および管理側VVOL管理表810と異なる。このように、ゼロデータ仮想領域に対応する実領域にはNULL値を格納しておき、当該仮想領域に対するアクセスについては、常にゼロデータが返されることになる。
第2の実施形態では、ゼロデータ仮想領域についてはそれが未割当の仮想領域であっても、VVOL管理表311および管理側VVOL管理表810に、当該仮想領域に対応する情報を登録したままにする。こうすることにより、アクセス分布変化量計算処理において、ゼロデータ仮想領域に対するアクセス数の情報を含めて、仮想ボリュームのアクセス分布変化量を正確に計算することができる。また、再配置時間帯計算処理において、ゼロデータ仮想領域に対するアクセス数の情報を含めて計算した仮想ボリュームのアクセス分布変化量の情報に基づいて、仮想ボリュームの再配置時間帯を計算することができる。
なお、上述のように、第2の実施形態では、ゼロデータが格納された仮想領域を未割当にしているが、その代わりに、ストレージシステムが管理する所定の実領域(以下で、基底実領域という)を当該仮想領域に割り当てても良い。ストレージサブシステムはホスト計算機から当該仮想領域へのリード要求を受信した時、当該仮想領域を未割当にしていた場合は、上述のように「未割当の仮想領域に対するリード要求にはゼロデータを返す」という規則に従い、ゼロデータを生成して返す必要がある。しかし、基底実領域がある場合は、事前にゼロデータを基底実領域に格納しておけば、ホスト計算機に返すデータは他の割当済みの仮想領域と同様の処理で取得可能である。
<処理内容>
次に、第2の実施形態において行われる処理について説明する。第2の実施形態において行われる処理は第1の実施形態の処理と比較して、以下の処理が異なる。
次に、第2の実施形態において行われる処理について説明する。第2の実施形態において行われる処理は第1の実施形態の処理と比較して、以下の処理が異なる。
(i)ストレージ制御プログラム307は、ホスト計算機101が送信したリード要求を受信した時、リード対象の仮想領域がVVOL管理表311に登録されていなかった場合は、ホスト計算機101に対してエラーを送信する。また、リード対象の仮想領域はVVOL管理表311に登録されているが、当該仮想領域に対応する実領域ID2203がNULL値だった(当該仮想領域がゼロデータ仮想領域だった)場合、ストレージ制御プログラム307はホスト計算機101に、実領域内のデータに代えてゼロデータを送信する。
(ii)ストレージ制御プログラム307は、ホスト計算機101が送信したライト要求を受信した時、ライト対象データがゼロデータだった場合は、ライト対象の仮想領域に対応する実領域ID2203で識別される実領域に対して、実領域管理表309の当該実領域に対応する割当状況504に未割当の値を格納する。また、ライト対象の仮想領域に対応する実領域ID2203および再配置判定結果2205にNULL値を格納する。
(iii)再配置処理において、VVOL管理表311および管理側VVOL管理表810に登録されている仮想領域の内、未割当の仮想領域に対しては、再配置判定処理を行わない。以下では、再配置処理のみ詳細に説明する。
<再配置処理の詳細>
図25は、第2の実施形態における再配置処理の詳細について説明するためのフローチャートである。当該再配置処理は、管理側VVOL管理表810に登録されている仮想領域の内、割当済の仮想領域のみに対してステップ2502〜2509の処理を行う。具体的には、構成管理プログラム804は、管理側VVOL管理表810の実領域ID2303または/および再配置判定結果2305がNULL値のみが割り当てられている仮想領域に対しては、ステップ2502〜2509の処理を行わず、次の仮想領域の処理に移る。
図25は、第2の実施形態における再配置処理の詳細について説明するためのフローチャートである。当該再配置処理は、管理側VVOL管理表810に登録されている仮想領域の内、割当済の仮想領域のみに対してステップ2502〜2509の処理を行う。具体的には、構成管理プログラム804は、管理側VVOL管理表810の実領域ID2303または/および再配置判定結果2305がNULL値のみが割り当てられている仮想領域に対しては、ステップ2502〜2509の処理を行わず、次の仮想領域の処理に移る。
(3)まとめ
(i)上述したように、特許文献1では、データのアクセス数に応じて記憶デバイスの移行処理を実行している。これは、データへのアクセス要求に求められるストレージデバイスの性能を保ち、かつストレージサブシステム内の物理記憶デバイスを効率的に利用するためである。各データが、そのアクセス状況に応じたデバイスに配置されている時間が長いほど、ストレージサブシステム内の物理記憶デバイスを効率的に利用していると言える。したがって、移行した後のデータへのアクセス状況は、なるべく長い期間移行先のデバイスの特性に適した状況であることが期待される。
(i)上述したように、特許文献1では、データのアクセス数に応じて記憶デバイスの移行処理を実行している。これは、データへのアクセス要求に求められるストレージデバイスの性能を保ち、かつストレージサブシステム内の物理記憶デバイスを効率的に利用するためである。各データが、そのアクセス状況に応じたデバイスに配置されている時間が長いほど、ストレージサブシステム内の物理記憶デバイスを効率的に利用していると言える。したがって、移行した後のデータへのアクセス状況は、なるべく長い期間移行先のデバイスの特性に適した状況であることが期待される。
しかしながら、仮想領域へのアクセス状況は、必ずしも一定ではない。例えば、オンライン処理アプリケーションは、多くのリクエストを高速に処理するため、オンライン処理アプリケーションに処理されるリクエストが短い時間間隔で切り替わる場合がある。そのような場合、リクエストによって、処理中にアクセスするデータは異なるため、オンライン処理アプリケーションがアクセスするデータは、短い時間間隔で変化する。したがって、オンライン処理アプリケーションがアクセスする、ストレージサブシステム内の仮想領域も、短い時間間隔で変化するため、ストレージサブシステム内の各仮想領域へのアクセス頻度も、短い時間間隔で変化すると考えられる。
このような時に、特許文献1にあるように、データの過去のアクセス履歴から当該データを格納するのに適した特性を持つデバイスを特定し、そのデバイスにデータを移行しても、データのアクセス状況がすぐに変化し、データが不適切なデバイスに格納された状態になってしまう。また、アクセス状況が変化するたびに、それに合わせてデータを移行すると、データ移行が頻繁に発生し、ストレージサブシステム全体の性能に影響を及ぼす恐れがある。
そこで、本発明は、仮想ボリューム内のホットスポットの仮想領域の位置の変化を捉え、変化量が設定閾値よりも小さい時間帯をデータ移行時間帯候補として管理者に提示するようにしている。そして、データを移行する際には、長期間にわたってその効果が得られると予想される場合に限り、データのアクセス履歴(アクセス分布変化量)に基づいて、当該データの記録により適したデバイス内の実領域へのデータ移行を実施するようにしている。
(ii)これを実現するために、本発明の第1の実施形態では、管理システムが、各仮想ボリューム内でホットスポットとなる仮想領域の位置変化を示すアクセス分布変化量(負荷集中領域変化情報)を演算する。そして、アクセス分布変化量に基づいて、ホットスポットとなる仮想領域の位置が不変(位置変化が少ない、或いはホットスポットが安定している)となる時間帯を示す負荷位置不変時間帯を特定し、それを表示デバイスに表示する。このようにすることにより、管理者は、各仮想ボリューム内の各仮想領域に対応する実領域の割当状況を見直す時間帯(再配置時間帯)の候補を知ることができるようになる。
より具体的には、管理システムは、仮想ボリュームの複数の仮想領域に対するホスト計算機からのアクセス負荷量を、複数のタイミング(定期的に繰り返して:ただし、必ずしも周期的なタイミングである必要はない)において取得する。そして、複数の仮想領域のそれぞれについて、複数のタイミングのうち隣り合う異なるタイミングにおけるアクセス負荷量の差分値をそれぞれ計算し、その差分値を統計処理することにより、アクセス変化量の情報を演算する(図17参照)。このようにすることにより、ホットスポットとなる仮想領域の変化を定量的に測定することができるようになる。
また、上記管理システムは、一日を複数の時間帯に区切り、各時間帯について、設定された期間におけるアクセス分布変化量の平均値を算出し、当該平均値が設定された閾値(管理者が設定可能)より小さいか判定する。そして、閾値よりも小さい平均値に対応する時間帯が連続する場合には、当該連続する時間帯を結合して負荷不変時間帯とする。このようにすることにより、アクセス分布変化量に幅を持たせてホットスポットとなる仮想領域の位置が不変となる時間帯を特定することができ、また、アクセスに対応する処理の種類(例えば、昼間のアプリケーションによる処理や夜間のバッチ処理等)によって負荷位置不変時間帯にばらつきがある場合(比較的短時間であったり、ある程度長時間に亘る場合であったり)にも柔軟に対応して再配置時間帯を特定することができるようになる。
さらに、管理システムは、負荷位置不変時間帯に、実領域に格納されたデータの配置変更を実行する。具他的には、管理システムは、負荷位置不変時間帯が開始した後の所定時間内(例えば、30分間)におけるアクセス数の平均値を算出する。そして、アクセス数の平均値とストレージサブシステムの構成情報から、対象の仮想領域に対応する実領域のデータが配置されるべき階層を特定する。さらに、管理システムは、対象の仮想領域に対応する実領域のデータが配置された現在の階層が特定された階層と異なる場合に、対象に対応する実領域の仮想領域のデータを現在の階層とは異なる階層(特定された階層)に移行する。このようにすることにより、ホットスポットの位置が安定した状態で、アクセス数が多い仮想領域に対応する実領域を本来配置されるべき階層の記憶デバイスに移行することが可能となる。なお、特定された階層に空き領域がない場合には、当該特定された階層に格納されたデータと対象の仮想領域に対応する実領域のデータとを入れ替えることにより、データの配置変更を実行するようにしても良い。このように階層レベルを下げても比較的影響の少ない実領域にホットスポットでアクセス数が多い仮想領域に対応する実領域のデータを移行することにより、容量に余裕がないストレージサブシステムであっても効率的に運用することが可能となる。
以上のように、第1の実施形態によれば、ストレージ管理者はホスト計算機から仮想ボリュームへのアクセス状況を継続的に監視することなく、定期的にアクセス分布変化量閾値を入力するだけで、移行による効率性が高く得られる時間帯に再配置処理を行うことができ、ストレージサブシステム内の物理記憶デバイスを効率的に利用することができる。
(iii)本発明の第2の実施形態では、管理システムは、仮想ボリュームにおいて、データが未割り当ての仮想領域にゼロデータを割り当てて、それをゼロデータ仮想領域として管理している。このようにすることにより、未割当ての仮想領域に対するアクセス数もカウントすることができ、より正確にアクセス分布及びその変化量をモニタリングすることができるようになる。
そして、管理システムは、データの配置変更を実行する際に、仮想ボリュームのゼロデータ仮想領域を除く仮想領域について、再配置時間帯(負荷位置不変時間帯)開始後の所定時間内(例えば、30分間)におけるアクセス数の平均値を取得する。そして、管理システムは、アクセス数の平均値とストレージサブシステムの構成情報から、対象の仮想領域に対応する実領域のデータが配置されるべき階層を特定し、対象の仮想領域のデータが配置された現在の階層が特定された階層と異なる場合に、対象の仮想領域に対応する実領域のデータを特定された階層に移行する。このようにすることにより、ゼロデータ仮想領域を再配置処理の対象から除くことができ、効率的に再配置処理が実行できる。また、ホットスポットの位置が安定した状態で、アクセス数が多い仮想領域に対応する実領域を本来配置されるべき階層の記憶デバイスに移行することが可能となる。第2の実施形態でも、特定された階層に空き領域がない場合には、当該特定された階層に格納されたデータと対象の仮想領域に対応する実領域のデータとを入れ替えることにより、データの配置変更を実行するようにしても良い。
以上のように、第2の実施形態では、管理側VVOL管理表810に未割当の仮想領域が登録されている場合があるが、未割当の仮想領域は、割り当てられている実領域が存在しないため、実領域間のデータ移行を行うことができない。そのため、上記のように未割当の実領域には再配置判定を行わないようにしている。
(iv)第1及び第2の実施形態では、アクセス数をカウントする場合に、ストレージサブシステム102内の各仮想ボリュームのLBA範囲に対するI/O数をカウントするようにしているが、アクセス数をカウントする方法はこれに限られるものではない。例えば、ホスト計算機101にエージェントを設け、エージェントがホスト計算機の例えばアプリケーションから発行されるI/O要求をキャッチし、それを管理計算機103に通知する。そして、管理計算機103が、自身が保持している管理側実領域管理表808及び管理側VVOL管理表810と通知されたI/O要求とを照合して、どの仮想領域へのアクセスかを検知し、アクセス数をカウントするようにしても良い。この場合、図において、管理計算機103とホスト計算機101はネットワークを介して接続されるようにするのが好ましい。
(v)なお、本発明は、実施形態の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をシステム或は装置に提供し、そのシステム或は装置のコンピュータ(又はCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、CD−ROM、DVD−ROM、ハードディスク、光ディスク、光磁気ディスク、CD−R、磁気テープ、不揮発性のメモリカード、ROMなどが用いられる。
また、プログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)などが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現されるようにしてもよい。さらに、記憶媒体から読み出されたプログラムコードが、コンピュータ上のメモリに書きこまれた後、そのプログラムコードの指示に基づき、コンピュータのCPUなどが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現されるようにしてもよい。
また、実施の形態の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することにより、それをシステム又は装置のハードディスクやメモリ等の記憶手段又はCD−RW、CD−R等の記憶媒体に格納し、使用時にそのシステム又は装置のコンピュータ(又はCPUやMPU)が当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしても良い。
10…計算機システム
101…ホスト計算機
102…ストレージサブシステム
103…管理計算機
104…Webブラウズ用計算機
105…ストレージエリアネットワーク
106…管理用ネットワーク
107…管理システム
101…ホスト計算機
102…ストレージサブシステム
103…管理計算機
104…Webブラウズ用計算機
105…ストレージエリアネットワーク
106…管理用ネットワーク
107…管理システム
Claims (15)
- ホスト計算機と、実体的な記憶領域である実領域とそれに関連付けられる仮想ボリュームを有するストレージサブシステムと、当該ストレージサブシステムを管理する管理システムと、を有し、前記ストレージサブシステムが前記仮想ボリュームを複数の部分的な領域に分割して構成される複数の仮想領域を含む、計算機システムの管理方法であって、
前記管理システムが、前記仮想ボリュームにおいてホットスポットとなる仮想領域の位置変化を示す負荷集中領域変化情報を取得し、
前記管理システムが、前記負荷集中領域変化情報に基づいて、前記ホットスポットとなる仮想領域の位置が不変となる時間帯を示す負荷位置不変時間帯を特定し、
前記管理システムが、前記特定された負荷位置不変時間帯を表示デバイスに表示する、
ことを特徴とする管理方法。 - 請求項1において、
前記管理システムは、前記負荷集中領域変化情報を取得する際に、
前記仮想ボリュームの前記複数の仮想領域に対する前記ホスト計算機からのアクセス負荷量を複数の時間において取得し、
前記複数の仮想領域のそれぞれについて、前記複数の時間のうち異なる時間における前記アクセス負荷量の差分値をそれぞれ計算し、
前記各差分値を統計処理して前記負荷集中領域変化情報を算出する、
ことを特徴とする管理方法。 - 請求項2において、
前記管理システムは、前記負荷位置不変時間帯を特定する際に、
一日を複数の時間帯に区切り、各時間帯について、設定された期間における前記負荷集中領域変化情報の平均値を算出し、
前記平均値が設定された閾値より小さいか判定し、
前記閾値よりも小さい前記平均値に対応する時間帯が連続する場合には、当該連続する時間帯を結合して前記負荷不変時間帯とする、
ことを特徴とする管理方法。 - 請求項1において、
さらに、前記管理システムが、前記負荷位置不変時間帯に、前記実領域に格納されたデータの配置変更を実行することを特徴とする管理方法。 - 請求項4において、
前記管理システムは、前記データの配置変更を実行する際に、
前記負荷位置不変時間帯におけるアクセス数の情報を取得し、
前記アクセス数の情報と前記ストレージサブシステムの構成情報から、対象の仮想領域に対応する実領域のデータが配置されるべき階層を特定し、
前記対象の仮想領域に対応する実領域のデータが配置された現在の階層が前記特定された階層と異なる場合に、前記対象の仮想領域に対応する実領域のデータを前記現在の階層とは異なる階層に移行する、
ことを特徴とする管理方法。 - 請求項5において、
前記管理システムは、前記特定された階層に空き領域がない場合には、当該特定された階層に格納されたデータと前記対象の仮想領域に対応する実領域のデータとを入れ替えることにより、データの配置変更を実行することを特徴とする管理方法。 - 請求項4において、
前記管理システムは、前記仮想ボリュームにおいて、データが未割り当ての仮想領域にゼロデータを割り当てて、それをゼロデータ仮想領域として管理しており、
前記管理システムは、前記データの配置変更を実行する際に、前記仮想ボリュームの前記ゼロデータ仮想領域を除く仮想領域について、
前記負荷位置不変時間帯におけるアクセス数の情報を取得し、
前記アクセス数の情報と前記ストレージサブシステムの構成情報から、対象の仮想領域に対応する実領域のデータが配置されるべき階層を特定し、
前記対象の仮想領域に対応する実領域のデータが配置された現在の階層が前記特定された階層と異なる場合に、前記対象の仮想領域に対応する実領域のデータを前記現在の階層とは異なる階層に移行する、
ことを特徴とする管理方法。 - 請求項1において、
i)前記管理システムは、前記負荷集中領域変化情報を取得する際に、
前記仮想ボリュームの前記複数の仮想領域に対する前記ホスト計算機からのアクセス負荷量を複数の時間において取得し、
前記複数の仮想領域のそれぞれについて、前記複数の時間のうち異なる時間における前記アクセス負荷量の差分値をそれぞれ計算し、
前記各差分値を統計処理して前記負荷集中領域変化情報を算出し、
ii)前記管理システムは、前記負荷位置不変時間帯を特定する際に、
一日を複数の時間帯に区切り、各時間帯について、設定された期間における前記負荷集中領域変化情報の平均値を算出し、
前記平均値が設定された閾値より小さいか判定し、
前記閾値よりも小さい前記平均値に対応する時間帯が連続する場合には、当該連続する時間帯を結合して前記負荷不変時間帯とし、
iii)前記管理方法は、さらに、
前記負荷位置不変時間帯開始から所定時間内におけるアクセス数の平均値を算出し、
前記アクセス数の平均値と前記ストレージサブシステムの構成情報から、対象の仮想領域に対応する実領域のデータが配置されるべき階層を特定し、
前記対象の仮想領域に対応する実領域のデータが配置された現在の階層が前記特定された階層と異なる場合に、前記対象の仮想領域のデータを前記現在の階層とは異なる階層に移行し、
配置変更後の前記ストレージサブシステムの構成情報を更新する、
ことを特徴とする管理方法。 - 実体的な記憶領域である実領域とそれに関連付けられる仮想ボリュームを有するストレージサブシステムを管理する管理システムであって、
演算を実行するプロセッサと、
情報を格納するメモリと、
前記ストレージサブシステムと通信を行うための通信ポートと、を有し、
前記プロセッサは、前記仮想ボリュームにおいてホットスポットとなる仮想領域の位置変化を示す負荷集中領域変化情報を取得し、
前記負荷集中領域変化情報に基づいて、前記ホットスポットとなる仮想領域の位置が不変となる時間帯を示す負荷位置不変時間帯を特定し、
前記特定された負荷位置不変時間帯を前記メモリに格納し、表示デバイスに表示する、
ことを特徴とする管理システム。 - 請求項9において、
前記プロセッサは、前記負荷集中領域変化情報を取得する際に、
前記仮想ボリュームの前記複数の仮想領域に対する前記ホスト計算機からのアクセス負荷量を複数の時間において取得し、
前記複数の仮想領域のそれぞれについて、前記複数の時間のうち異なる時間における前記アクセス負荷量の差分値をそれぞれ計算し、
前記各差分値を統計処理して前記負荷集中領域変化情報を算出する、
ことを特徴とする管理システム。 - 請求項10において、
前記プロセッサは、前記負荷位置不変時間帯を特定する際に、
一日を複数の時間帯に区切り、各時間帯について、設定された期間における前記負荷集中領域変化情報の平均値を算出し、
前記平均値が設定された閾値より小さいか判定し、
前記閾値よりも小さい前記平均値に対応する時間帯が連続する場合には、当該連続する時間帯を結合して前記負荷不変時間帯とする、
ことを特徴とする管理システム。 - 請求項9において、
前記プロセッサは、
前記負荷位置不変時間帯におけるアクセス数の情報を取得し、
前記アクセス数の情報と前記ストレージサブシステムの構成情報から、対象の仮想領域に対応する実領域のデータが配置されるべき階層を特定し、
前記対象の仮想領域に対応する実領域のデータが配置された現在の階層が前記特定された階層と異なる場合に、前記対象の仮想領域に対応する実領域のデータを前記現在の階層とは異なる階層に移行する、
ことを特徴とする管理システム。 - 請求項12において、
前記プロセッサは、前記特定された階層に空き領域がない場合には、当該特定された階層に格納されたデータと前記対象の仮想領域に対応する実領域のデータとを入れ替えることにより、データの配置変更を実行することを特徴とする管理方法。 - 請求項9において、
前記プロセッサは、前記仮想ボリュームにおいて、データが未割り当ての仮想領域にゼロデータを割り当てて、それをゼロデータ仮想領域として管理しており、
前記プロセッサは、前記仮想ボリュームの前記ゼロデータ仮想領域を除く仮想領域について、
前記負荷位置不変時間帯におけるアクセス数の情報を取得し、
前記アクセス数の情報と前記ストレージサブシステムの構成情報から、対象の仮想領域に対応する実領域のデータが配置されるべき階層を特定し、
前記対象の仮想領域に対応する実領域のデータが配置された現在の階層が前記特定された階層と異なる場合に、前記対象の仮想領域に対応する実領域のデータを前記現在の階層とは異なる階層に移行する、
ことを特徴とする管理システム。 - 請求項9において、
前記プロセッサは、
i)前記負荷集中領域変化情報を取得する際に、
前記仮想ボリュームの前記複数の仮想領域に対する前記ホスト計算機からのアクセス負荷量を複数の時間において取得し、
前記複数の仮想領域のそれぞれについて、前記複数の時間のうち異なる時間における前記アクセス負荷量の差分値をそれぞれ計算し、
前記各差分値を統計処理して前記負荷集中領域変化情報を算出し、
ii)前記負荷位置不変時間帯を特定する際に、
一日を複数の時間帯に区切り、各時間帯について、設定された期間における前記負荷集中領域変化情報の平均値を算出し、
前記平均値が設定された閾値より小さいか判定し、
前記閾値よりも小さい前記平均値に対応する時間帯が連続する場合には、当該連続する時間帯を結合して前記負荷不変時間帯とし、
iii)さらに、
前記負荷位置不変時間帯開始から所定時間内におけるアクセス数の平均値を算出し、
前記アクセス数の平均値と前記ストレージサブシステムの構成情報から、対象の仮想領域に対応する実領域のデータが配置されるべき階層を特定し、
前記対象の仮想領域に対応する実領域のデータが配置された現在の階層が前記特定された階層と異なる場合に、前記対象の仮想領域のデータを前記現在の階層とは異なる階層に移行し、
配置変更後の前記ストレージサブシステムの構成情報を更新する、
ことを特徴とする管理システム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2010/063512 WO2012020471A1 (ja) | 2010-08-10 | 2010-08-10 | 計算機システムの管理方法、及び管理システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2012020471A1 JPWO2012020471A1 (ja) | 2013-10-28 |
JP5395959B2 true JP5395959B2 (ja) | 2014-01-22 |
Family
ID=45565618
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012528530A Expired - Fee Related JP5395959B2 (ja) | 2010-08-10 | 2010-08-10 | 計算機システムの管理方法、及び管理システム |
Country Status (4)
Country | Link |
---|---|
US (2) | US8386711B2 (ja) |
JP (1) | JP5395959B2 (ja) |
CN (1) | CN102959522B (ja) |
WO (1) | WO2012020471A1 (ja) |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102959522B (zh) * | 2010-08-10 | 2016-01-13 | 株式会社日立制作所 | 计算机***的管理方法和管理*** |
KR101725098B1 (ko) * | 2010-10-12 | 2017-04-26 | 삼성전자주식회사 | 전력 관리 장치 및 그 제어 방법 |
CN103080894A (zh) * | 2010-12-28 | 2013-05-01 | 株式会社日立制作所 | 存储***、存储***的管理方法和程序 |
JP5543668B2 (ja) * | 2011-03-25 | 2014-07-09 | 株式会社日立製作所 | ストレージシステム及び記憶領域の割当方法 |
EP2735971A4 (en) | 2011-11-21 | 2015-04-01 | Hitachi Ltd | ADMINISTRATIVE APPARATUS AND ADMINISTRATIVE PROCEDURE FOR A MEMORY DEVICE |
KR101737246B1 (ko) * | 2012-10-12 | 2017-05-17 | 에이나인.컴, 인크. | 네트워크에서의 검색가능 데이터에 대한 인덱스 구성 |
WO2014068607A1 (en) * | 2012-10-30 | 2014-05-08 | Hitachi, Ltd. | Computer system and method for updating configuration information |
WO2014073045A1 (ja) * | 2012-11-07 | 2014-05-15 | 株式会社日立製作所 | 計算機システム、ストレージ管理計算機及びストレージ管理方法 |
US9448740B2 (en) | 2012-11-27 | 2016-09-20 | Hitachi, Ltd. | Storage apparatus and hierarchy control method |
US9529629B2 (en) | 2012-12-20 | 2016-12-27 | Bank Of America Corporation | Computing resource inventory system |
US9189644B2 (en) | 2012-12-20 | 2015-11-17 | Bank Of America Corporation | Access requests at IAM system implementing IAM data model |
US9542433B2 (en) | 2012-12-20 | 2017-01-10 | Bank Of America Corporation | Quality assurance checks of access rights in a computing system |
US9537892B2 (en) | 2012-12-20 | 2017-01-03 | Bank Of America Corporation | Facilitating separation-of-duties when provisioning access rights in a computing system |
US9477838B2 (en) | 2012-12-20 | 2016-10-25 | Bank Of America Corporation | Reconciliation of access rights in a computing system |
US9639594B2 (en) | 2012-12-20 | 2017-05-02 | Bank Of America Corporation | Common data model for identity access management data |
US9817766B1 (en) * | 2012-12-28 | 2017-11-14 | EMC IP Holding Company LLC | Managing relocation of slices in storage systems |
US9571368B2 (en) * | 2013-02-04 | 2017-02-14 | International Business Machines Corporation | Analysis of variance in network page access |
WO2015015592A1 (ja) * | 2013-07-31 | 2015-02-05 | 株式会社日立製作所 | 計算機システム及び計算機システム制御方法 |
CN104750538B (zh) * | 2013-12-27 | 2020-03-03 | 伊姆西Ip控股有限责任公司 | 用于为目标应用提供虚拟存储池的方法和*** |
JP6280062B2 (ja) * | 2015-02-17 | 2018-02-14 | 日本電信電話株式会社 | 加入者情報収容装置と加入者情報収容方法 |
CN106612619B (zh) * | 2015-08-25 | 2019-05-21 | 株式会社东芝 | 分级存储***、利用分级存储装置的计算机及校正对文件的访问计数的计算机 |
WO2017094194A1 (ja) * | 2015-12-04 | 2017-06-08 | 株式会社日立製作所 | 計算機システム、及び、装置の管理方法 |
CN107870916A (zh) * | 2016-09-23 | 2018-04-03 | 伊姆西Ip控股有限责任公司 | 存储管理方法及设备 |
CN107463337A (zh) * | 2017-08-14 | 2017-12-12 | 郑州云海信息技术有限公司 | 一种避免块存储iops过载的方法 |
US10915262B2 (en) * | 2018-03-13 | 2021-02-09 | Seagate Technology Llc | Hybrid storage device partitions with storage tiers |
US20210405913A1 (en) * | 2020-06-26 | 2021-12-30 | Micron Technology, Inc. | Host access tracking in a memory sub-system |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006277723A (ja) * | 2005-03-29 | 2006-10-12 | Hitachi Ltd | 少量配備システムにおけるデータコピーの方法と装置 |
JP2007066259A (ja) * | 2005-09-02 | 2007-03-15 | Hitachi Ltd | 計算機システムとストレージシステム並びにボリューム容量拡張方法 |
JP2010026919A (ja) * | 2008-07-23 | 2010-02-04 | Hitachi Ltd | ストレージシステム内の論理ユニットを論理ボリュームに割り当てる方法及び記憶制御装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4818812B2 (ja) * | 2006-05-31 | 2011-11-16 | 株式会社日立製作所 | フラッシュメモリストレージシステム |
JP2004259079A (ja) * | 2003-02-27 | 2004-09-16 | Hitachi Ltd | データ処理システム |
EP1668486A2 (en) | 2003-08-14 | 2006-06-14 | Compellent Technologies | Virtual disk drive system and method |
CN102959522B (zh) * | 2010-08-10 | 2016-01-13 | 株式会社日立制作所 | 计算机***的管理方法和管理*** |
-
2010
- 2010-08-10 CN CN201080067462.5A patent/CN102959522B/zh not_active Expired - Fee Related
- 2010-08-10 WO PCT/JP2010/063512 patent/WO2012020471A1/ja active Application Filing
- 2010-08-10 JP JP2012528530A patent/JP5395959B2/ja not_active Expired - Fee Related
- 2010-08-10 US US12/936,472 patent/US8386711B2/en not_active Expired - Fee Related
-
2013
- 2013-01-24 US US13/749,168 patent/US9086947B2/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006277723A (ja) * | 2005-03-29 | 2006-10-12 | Hitachi Ltd | 少量配備システムにおけるデータコピーの方法と装置 |
JP2007066259A (ja) * | 2005-09-02 | 2007-03-15 | Hitachi Ltd | 計算機システムとストレージシステム並びにボリューム容量拡張方法 |
JP2010026919A (ja) * | 2008-07-23 | 2010-02-04 | Hitachi Ltd | ストレージシステム内の論理ユニットを論理ボリュームに割り当てる方法及び記憶制御装置 |
Also Published As
Publication number | Publication date |
---|---|
US8386711B2 (en) | 2013-02-26 |
US20130138899A1 (en) | 2013-05-30 |
CN102959522A (zh) | 2013-03-06 |
JPWO2012020471A1 (ja) | 2013-10-28 |
WO2012020471A1 (ja) | 2012-02-16 |
US9086947B2 (en) | 2015-07-21 |
US20120042124A1 (en) | 2012-02-16 |
CN102959522B (zh) | 2016-01-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5395959B2 (ja) | 計算機システムの管理方法、及び管理システム | |
JP5123641B2 (ja) | 性能履歴の管理方法および性能履歴の管理システム | |
US8549528B2 (en) | Arrangements identifying related resources having correlation with selected resource based upon a detected performance status | |
US8285963B2 (en) | Method for controlling data write to virtual logical volume conforming to thin provisioning, and storage apparatus | |
US9477407B1 (en) | Intelligent migration of a virtual storage unit to another data storage system | |
JP5706531B2 (ja) | 計算機システム、及び情報管理方法 | |
JP5668151B2 (ja) | 計算機システムの管理装置及び管理方法 | |
US20110320754A1 (en) | Management system for storage system and method for managing storage system | |
EP2302500A2 (en) | Application and tier configuration management in dynamic page realloction storage system | |
US8402214B2 (en) | Dynamic page reallocation storage system management | |
GB2496807B (en) | Computer system, management method of the computer system, and program | |
US9448740B2 (en) | Storage apparatus and hierarchy control method | |
US20130036286A1 (en) | First storage control apparatus and first storage control apparatus control method | |
JP6462116B2 (ja) | 管理装置および管理方法 | |
US9317224B1 (en) | Quantifying utilization of a data storage system by a virtual storage unit | |
WO2019022631A1 (en) | STORING DATA IN DIFFERENTLY SIZED WAFERS WITHIN DIFFERENT STORAGE LEVELS | |
JP6100404B2 (ja) | 計算機システムおよびその階層記憶の制御方法 | |
US10168944B2 (en) | Information processing apparatus and method executed by an information processing apparatus | |
US8572318B2 (en) | Method and system for distributing multiple storage devices to multiple tiers in a storage apparatus | |
JP6035363B2 (ja) | 管理計算機、計算機システム、及び管理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130830 |
|
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: 20131001 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20131018 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 5395959 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
LAPS | Cancellation because of no payment of annual fees |