JP2009134397A - 仮想ボリュームに割り当て済みの全ての実記憶領域を解放するか否かを制御する計算機及び方法 - Google Patents

仮想ボリュームに割り当て済みの全ての実記憶領域を解放するか否かを制御する計算機及び方法 Download PDF

Info

Publication number
JP2009134397A
JP2009134397A JP2007308417A JP2007308417A JP2009134397A JP 2009134397 A JP2009134397 A JP 2009134397A JP 2007308417 A JP2007308417 A JP 2007308417A JP 2007308417 A JP2007308417 A JP 2007308417A JP 2009134397 A JP2009134397 A JP 2009134397A
Authority
JP
Japan
Prior art keywords
volume
virtual
release
real
virtual volume
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2007308417A
Other languages
English (en)
Inventor
Hiroyuki Tanaka
宏幸 田中
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2007308417A priority Critical patent/JP2009134397A/ja
Priority to US12/025,276 priority patent/US7953952B2/en
Publication of JP2009134397A publication Critical patent/JP2009134397A/ja
Withdrawn legal-status Critical Current

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/0631Configuration or reconfiguration of storage systems by allocating resources to 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • 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/0617Improving the reliability of storage systems in relation to availability
    • 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/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Abstract

【課題】アクセス性能の低下を防ぐことと、未割り当ての実記憶領域の不足を防ぐことの両方を行えるようにする。
【解決手段】管理サーバ111が、使用対象から未使用対象に切り替わった仮想ボリューム125Vに割り当てられている全ての実記憶領域を解放するか否かの解放/未解放選択を行う。管理サーバが、その解放/未解放選択の結果に従って、特定された仮想ボリュームに割り当てられている全ての実記憶領域を解放するか否かを制御する。
【選択図】図1

Description

本発明は、仮想ボリュームを構成する仮想記憶領域に実記憶領域を割り当てる機能を有したストレージシステムの制御に関する。
仮想的な論理ボリュームである仮想ボリュームを構成する仮想記憶領域に実記憶領域を動的に割り当てる技術が知られている(例えば特許文献1)。この技術は、Thin Provisioning技術と呼ばれることもあり、上記仮想ボリュームは、Thin Provisioning volumeと呼ばれることもある。Thin Provisioning技術によれば、ストレージシステムが、記憶領域プールを有する。記憶領域プールは、一又は複数の実ボリュームの集合であり、複数の実記憶領域で構成されている。各実記憶領域は、実ボリュームの構成要素である。実ボリュームは、ストレージシステムが備える一又は複数の物理的な記憶デバイス(例えばハードディスク或いはフラッシュメモリ)の記憶空間を基に形成された論理ボリュームである。ストレージシステムは、上位装置(例えばホスト計算機)から、仮想ボリュームにおける仮想記憶領域を指定した書込み要求を受けたときに、複数の未割り当ての実記憶領域から実記憶領域を選択し、選択した実記憶領域を、上記書込み要求で指定されている仮想記憶領域に割り当てる。また、ストレージシステムは、実記憶領域が割り当て済みの仮想記憶領域について、実記憶領域の割り当てが不要になった場合に、割り当て済みの実記憶領域を解放する。
特開2005-11316号公報
仮想ボリュームが使用対象から未使用対象に切り替わったからといって、直ちにその仮想ボリュームに割り当て済みの全ての実記憶領域を解放することは、アクセス性能について問題となることがある。問題となり得るケースとしては、例えば、仮想ボリュームをマイグレーション先とするケースや、仮想ボリュームを上位装置に割り当てるケースが考えられる。以下、各ケースについて、説明する。なお、以下の説明では、記憶領域プールの構成要素としての実体のある論理ボリュームを「実ボリューム」と言い、記憶領域プールの構成要素ではない実体のある論理ボリュームを「通常ボリューム」と言う。
(1)仮想ボリュームをマイグレーション先とするケース。
マイグレーションとは、プライマリの論理ボリューム(以下、PVOL)からセカンダリの論理ボリューム(以下、SVOL)に対するデータのマイグレーションのことである。PVOLがマイグレーション元であり、SVOLがマイグレーション先である。PVOLとSVOLは、別々のストレージシステムに存在しても良いし、一つのストレージシステムに存在しても良い。マイグレーションが行われると、上位装置とアクセス先とを結ぶアクセスパスが変わる。具体的には、マイグレーション実行前は、上位装置のアクセス先となる論理ボリュームは、PVOLであったが、マイグレーション完了後は、上位装置のアクセス先となる論理ボリュームは、SVOLである。つまり、データの移動だけでなく、アクセスパスの変更も、マイグレーションの処理に含まれる。
マイグレーション先(つまりSVOL)を、実記憶領域が一つも割り当てられていない仮想ボリュームとした場合、データ要素のマイグレーションする都度に、そのデータ要素のマイグレーション先となる仮想記憶領域に実記憶領域を割り当てる必要がある。このため、マイグレーション先が通常ボリュームであることに比べ、マイグレーションの際のアクセス性能(例えば速度)が低下するという問題がある。
この問題について、図25A乃至図25Cを参照して一例を説明すると、以下の通りである。例えば、図25Aに示すように、仮想ボリューム7102の仮想記憶領域(B)に、実ボリューム7103における実記憶領域(b)が既に割り当て済みである。この状態において、図25Bに示すように、仮想記憶領域(B)から通常ボリューム7104における記憶領域(C)へのデータのマイグレーションが完了した場合、実記憶領域(b)の仮想記憶領域(B)への割り当ては解除される(つまり、実記憶領域領域(b)が解放される)。その後、図25Cに示すように、通常ボリューム7105の記憶領域(D)に記憶されているデータ要素を仮想ボリューム7102の仮想記憶領域(B)にマイグレーションすることになった場合、仮想記憶領域(B)に割り当てられていた実記憶領域(b)は既に解放されているため、再度、仮想記憶領域(B)に未割り当ての実記憶領域を割り当てる必要がある。
(2)仮想ボリュームを上位装置に割り当てるケース。
上位装置に割り当てられる仮想ボリュームに実記憶領域が一つも割り当てられていない場合、上位装置からその仮想ボリュームを指定した書込み要求がある都度に、その書込み要求で指定されている仮想記憶領域に実記憶領域を割り当てる必要がある。このため、書込み性能(例えば速度)が低下するという問題がある。
この問題について、図26A及び図26Bを参照して一例を説明すると、以下の通りである。例えば、図26Aに示すように、第一のホスト7201に仮想ボリューム7202が割り当てられており、仮想ボリューム7202の仮想記憶領域(A)に、実ボリューム7203の実記憶領域(a)が割り当て済みである。ここで、図26Bに示すように、第一のホスト7201に対する仮想ボリューム7202の割り当てが解除された場合、ストレージシステムによって、実記憶領域(a)が解放される。その後、第二のホスト7204に仮想ボリューム7202が割り当てられたとする。仮想ボリューム7202には一つも実記憶領域が割り当てられていない。このため、ストレージシステムは、仮想記憶領域(A)を指定した書込み要求を第二のホスト7204から受けた場合には、再度、仮想記憶領域(A)に未割り当ての実記憶領域を割り当てる必要がある。
以上のように、仮想ボリュームが使用対象から未使用対象に切り替わったからといって、直ちにその仮想ボリュームに割り当て済みの全ての実記憶領域を解放することは、アクセス性能について問題となることがある。だからといって、未使用対象になった仮想ボリュームに実記憶領域をいつまでも割り当てたままにしておくと、未割り当ての実記憶領域が不足するおそれがある。
従って、本発明の目的は、アクセス性能の低下を防ぐことと、未割り当ての実記憶領域の不足を防ぐことの両方を行えるようにすることにある。
本発明の他の目的は、後の説明から明らかになるであろう。
使用対象から未使用対象に切り替わった仮想ボリュームに割り当てられている全ての実記憶領域を解放するか否かの解放/未解放選択を行う。その解放/未解放選択の結果に従って、特定された仮想ボリュームに割り当てられている全ての実記憶領域を解放するか否かを制御する。
実施形態1では、アクセス要求から特定された仮想記憶領域に実記憶領域を割り当てる機能を有したストレージシステムを管理する計算機が、特定部と、解放/未解放選択部と、解放/未解放指示部とを備える。前記アクセス要求から特定された仮想記憶領域は、仮想ボリュームを構成する複数の仮想記憶領域のうちの一つである。前記割り当てられた実記憶領域は、一又は複数の実ボリュームで構成された記憶領域プールを構成する複数の実記憶領域のうちの、どの仮想記憶領域にも割り当てられていない未割り当ての実記憶領域である。前記仮想ボリュームは、仮想的な論理ボリュームである。前記実ボリュームは、前記ストレージシステムが備える一又は複数の物理的な記憶デバイスの記憶空間を基に形成された論理ボリュームである。前記特定部は、使用対象から未使用対象に切り替わった仮想ボリュームを特定する。前記解放/未解放選択部は、特定された仮想ボリュームに割り当てられている全ての実記憶領域を解放するか否かの解放/未解放選択を行う。前記解放/未解放指示部は、前記解放/未解放選択の結果に従って、前記特定された仮想ボリュームに割り当てられている全ての実記憶領域を前記ストレージシステムが解放するか否かを制御するための解放/未解放指示を作成し、作成した解放/未解放指示を送信する。
「使用対象から未使用対象に切り替わった仮想ボリューム」としては、例えば、論理ボリューム間のデータのマイグレーションにおけるマイグレーション元の仮想ボリュームであって、マイグレーションが完了した場合の仮想ボリュームを採用することができる。また、例えば、上位装置に対する割り当てが解除された仮想ボリュームを採用することができる。上位装置としては、例えば、ホスト計算機や別のストレージシステムなどの種々の装置を採用することができる。
実施形態2では、実施形態1において、計算機が、仮想ボリューム選択部を更に備える。前記仮想ボリューム選択部は、全ての実記憶領域が解放されている仮想ボリュームであるか否かに基づいて、複数の仮想ボリュームから、割り当て対象とする仮想ボリュームを選択する。
実施形態3では、実施形態2において、前記割り当て対象とする仮想ボリュームは、以下の(A)又は(B)の仮想ボリュームである。
(A)マイグレーション元の論理ボリュームに記憶されているデータのマイグレーション先として割り当てる対象の仮想ボリューム、
(B)前記ストレージシステムにアクセス要求を発行する上位装置に対して割り当てる対象の仮想ボリューム。
実施形態4では、実施形態3において、前記(A)の仮想ボリュームとして選択される仮想ボリュームは、以下の(A1)及び(A2)の条件に適合する。
(A1)割り当て済みの全ての実記憶領域が解放されていない、
(A2)前記マイグレーション元の論理ボリュームの記憶容量以上の記憶容量を有する。
実施形態5では、実施形態4において、前記(A)の仮想ボリュームとして選択される仮想ボリュームは、更に、以下の(A3)及び/又は(A4)の条件に適合する。
(A3)前記マイグレーション元の論理ボリュームのボリューム性能になるべく近いボリューム性能を有する、
(A4)使用対象から未使用対象に切り替わった時刻が最も古い。
実施形態6では、実施形態5において、或る論理ボリュームについての前記ボリューム性能は、前記或る論理ボリュームについての複数のレスポンスタイムを基に算出された値(例えば、平均値、或いは、複数のレスポンスタイムを要素とした他の計算式によって算出された値)である。前記或る論理ボリュームについてのレスポンスタイムは、前記或る論理ボリュームを指定した要求を発行してから応答を受けるまでにかかった時間長である。
実施形態7では、実施形態3において、前記仮想ボリューム選択部は、アクセス頻度が低い上位装置に割り当てる仮想ボリュームを選択する場合、割り当て済みの全ての実記憶領域が解放されている仮想ボリュームを優先的に選択し、アクセス頻度が高い上位装置に割り当てる仮想ボリュームを選択する場合、割り当て済みの全ての実記憶領域が解放されていない仮想ボリュームを優先的に選択する。
実施形態8では、実施形態2乃至7のうちのいずれかにおいて、前記仮想ボリューム選択部は、自動選択かユーザ選択であるかを判断する。自動選択の場合、前記仮想ボリューム選択部は、全ての実記憶領域が解放されている仮想ボリュームであるか否かに基づいて、複数の仮想ボリュームから、割り当て対象とする仮想ボリュームを選択する。ユーザ選択の場合、前記仮想ボリューム選択部は、各仮想ボリュームについて全ての実記憶領域が解放されているか否かに関するステータスを表示し、前記各仮想ボリュームのステータスの表示に応答して管理者から指定された仮想ボリュームを、割り当て対象とする仮想ボリュームとして選択する。
実施形態9では、実施形態1乃至8のうちのいずれかにおいて、前記解放/未解放選択部は、前記特定された仮想ボリュームの未使用対象に切り替わる前における使用状況に基づいて、前記特定された仮想ボリュームに割り当てられている全ての実記憶領域を解放するか否かの解放/未解放選択を行う。
実施形態10では、実施形態1乃至9のうちのいずれかにおいて、前記解放/未解放選択部は、特定された仮想ボリュームに割り当てられている実記憶領域を有した実ボリュームの性能を基に、前記特定された仮想ボリュームに割り当てられている全ての実記憶領域を解放するか否かの解放/未解放選択を行う。
実施形態11では、実施形態1乃至10のうちのいずれかにおいて、前記解放/未解放選択部は、特定された仮想ボリュームの性能を基に、前記特定された仮想ボリュームに割り当てられている全ての実記憶領域を解放するか否かの解放/未解放選択を行う。
実施形態12では、実施形態1乃至11のうちのいずれかにおいて、前記解放/未解放選択部は、未割り当ての実記憶領域の数を基に、前記特定された仮想ボリュームに割り当てられている全ての実記憶領域を解放するか否かの解放/未解放選択を行う。
実施形態13では、ストレージシステムが、前記特定部と、前記解放/未解放選択部と、解放/未解放制御部とを備える。前記解放/未解放制御部は、前記解放/未解放選択の結果に従って、前記特定された仮想ボリュームに割り当てられている全ての実記憶領域を前記ストレージシステムが解放するか否かを制御する。
上述した特定部、解放/未解放選択部、解放/未解放指示部、仮想ボリューム選択部、及び解放/未解放制御部のうちの少なくとも一つは、ハードウェア、コンピュータプログラム又はそれらの組み合わせ(例えば一部をコンピュータプログラムにより実現し残りをハードウェアで実現すること)により構築することができる。コンピュータプログラムは、所定のプロセッサに読み込まれて実行される。また、コンピュータプログラムがプロセッサに読み込まれて行われる情報処理の際、適宜に、メモリ等のハードウェア資源上に存在する記憶領域が使用されてもよい。また、コンピュータプログラムは、CD−ROM等の記録媒体から計算機にインストールされてもよいし、通信ネットワークを介して計算機にダウンロードされてもよい。
以下、図面を参照しながら本発明の一実施例について詳細に説明する。その際、CPUがコンピュータプログラムを読み込んで実行することにより行われる処理の主体を、説明を分かりやすくするために、CPUではなくコンピュータプログラムとする場合がある。
図1は、本発明の一実施例に係る計算機システムの構成例を示す。
第一の通信ネットワーク、例えばSAN(Storage
Area Network)109に、複数(又は一つ)のホスト計算機101と、複数(又は一つ)のストレージシステム121が接続されている。また、第二の通信ネットワーク、例えばLAN(Local Area Network)131に、複数(又は一つ)のホスト計算機101と、複数(又は一つ)のストレージシステム121と、管理サーバ111とが接続されている。第一の通信ネットワークと第二の通信ネットワークのように別れておらず一体となっていても良い。
ホスト計算機101は、例えば、CPU(Central Processing Unit)103、メモリ105及びHBA(ホストバスアダプタ)107等の情報処理資源を備えたコンピュータ装置であり、例えば、パーソナルコンピュータ、ワークステーション、メインフレーム等として構成される。ホスト計算機101は、ストレージシステム121から提供される論理ボリュームを指定したアクセス要求(例えば書込み要求或いは読出し要求)を発行することで、その論理ボリュームにアクセスすることができる。
管理サーバ111は、例えば、CPU(Central Processing Unit)113及びメモリ115等の情報処理資源を備えたコンピュータ装置である。管理サーバ111は、仮想ボリュームに割り当てられている全ての実記憶領域を解除するか否かの指示(所望の仮想ボリュームを指定した指示)をストレージシステム121に送信することで、所望の仮想ボリュームに割り当てられている全ての実記憶領域を解除するか否かを制御することができる。また、管理サーバ111は、管理サーバ111が備える表示装置(図示せず)に情報を表示する、或いは、管理サーバ111と通信可能な遠隔の端末に情報を送信することでその情報をその遠隔の端末に表示させる等の方法で、所望の情報を表示することができる。
ストレージシステム121は、物理記憶デバイス群130と、ストレージコントローラ123とを備える。物理記憶デバイス群130は、複数の物理的な不揮発性の記憶デバイス(例えばハードディスクやフラッシュメモリ)の集合である。ストレージコントローラ123によって、物理記憶デバイス群130の記憶空間を基に形成された実体のある論理ボリューム、及び/又は、実体のない仮想的な論理ボリューム(仮想ボリューム)がホスト計算機101に提供される。以下、実体のある論理ボリュームのうち、記憶領域プール127を構成する論理ボリュームを、「実ボリューム」と呼び、記憶領域プール127を構成しない論理ボリュームを、「通常ボリューム」と呼ぶ。ストレージコントローラ123は、通常ボリューム125Nにおける記憶領域を指定した書込み要求をホスト計算機101から受けた場合、その記憶領域に、書込み対象のデータ要素を書込む。一方、ストレージコントローラ123は、仮想ボリューム125Vにおける仮想記憶領域を指定した書込み要求をホスト計算機101から受けた場合、図24Aを参照して説明する方法で、書込み対象のデータ要素の書込みを行う。
すなわち、ストレージコントローラ123は、記憶領域プール127に属している複数の実ボリューム129から、未割り当ての実記憶領域1129を選択し、選択した実記憶領域1129を、受信した書込み要求から特定される、仮想ボリューム125Vにおける仮想記憶領域1125に割り当てる。そして、ストレージコントローラ123は、割り当てた実記憶領域1129に、書込み対象のデータ要素を書込む。以下の説明では、便宜上、割り当て単位となる記憶領域を「ページ」と称する。具体的には、割り当て元である実記憶領域(実ボリューム129の構成要素)を、「実ページ」と称し、割り当て先である仮想記憶領域(仮想ボリューム125Vの構成要素)を、「仮想ページ」と称する。実ページと仮想ページはそれぞれ同じサイズであり、一つの仮想ページに対して一つの実ページが割り当てられる。
どの実ページがどの仮想ページに割り当てられているかを表すマッピングテーブル12335(図24B参照)が、ストレージコントローラ123によって、或る実ページを或る仮想ページに割り当てられたことを表す情報に更新されることにより、或る実ページが或る仮想ページに割り当てられたことになる。例えば、マッピングテーブル12335において、仮想ページID“VP#1”に、実ページID“RVOL#3,RP#12”が対応付けられた場合、仮想ページ(VP#1)に、実ボリューム(RVOL#3)における実ページ(RP#12)が割り当てられたことになる。
図2は、ストレージシステム121の構成例を示す。
ストレージコントローラ123は、CPU1231、メモリ1233、複数のポート1235及びNIC(Network Interface Card)1234等を備えた装置(例えば回路)である。
ポート1235は、SAN109を介してホスト計算機101或いは別のストレージシステム121と所定のプロトコル(例えばFC(Fibre Channel))で通信するための通信インタフェースである。
NIC1234は、LAN131に接続される通信インタフェースである。
メモリ1233は、実体のある論理ボリュームに対して読み書きされるデータ要素を一時的に記憶するキャッシュとして使用される。また、メモリ1233は、CPU1231に実行されるコンピュータプログラムとして、例えば、領域解放プログラム12331、マイグレーションプログラム12332、ボリューム初期割り当てプログラム12333、ボリューム切り離しプログラム12334、及び、アクセス要求処理プログラム12336を記憶する。また、メモリ1233は、仮想ボリューム125V毎に、前述したマッピングテーブル12335(図24B参照)を記憶する。
領域解放プログラム12331は、管理サーバ111から、対象とする仮想ボリュームの指定と共に呼び出された場合に、その指定された仮想ボリュームに割り当てられている全ての実ページを解放する。具体的には、領域解放プログラム12331は、指定された仮想ボリュームに対応したマッピングテーブル12335の実ページIDの全ての欄を、未割り当てを意味する値(例えば“Null”)に変更する。
マイグレーションプログラム12332は、論理ボリューム間のデータのマイグレーションを実行する。マイグレーション元の論理ボリューム(マイグレーション元ボリューム)及びマイグレーション先の論理ボリューム(マイグレーション先ボリューム)は、仮想ボリューム125Vであっても通常ボリューム125Nであっても良い。また、マイグレーション元ボリューム及びマイグレーション先ボリュームは、一つのストレージシステム121に存在しても良いし、別々のストレージシステム121に存在しても良い。
ボリューム初期割り当てプログラム12333は、管理サーバ111からのボリューム割り当て指示に従い、そのボリューム割り当て指示で指定されているホスト計算機101に対して、そのボリューム割り当て指示で指定されている論理ボリューム(仮想ボリューム125V或いは通常ボリューム125N)を割り当てる。
ボリューム切り離しプログラム12334は、管理サーバ111からのボリューム切り離し指示に従い、そのボリューム切り離し指示で指定されているホスト計算機101に対して、そのボリューム切り離し指示で指定されている論理ボリューム(仮想ボリューム125V或いは通常ボリューム125N)を切離す。
アクセス要求処理プログラム12336は、ホスト計算機101からのアクセス要求に従い、そのアクセス要求で指定されている論理ボリュームにアクセスする。例えば、アクセス要求が書込み要求であり、その書込み要求で指定されている論理ボリュームが仮想ボリューム125Vの場合、アクセス要求処理プログラム12336は、書込み対象のデータ要素をメモリ1233に一時記憶させ、仮想ページに対する実ページの割り当てを実行し(マッピングテーブル12335を更新し)、割り当てた実ページに、一時記憶させたデータ要素を書き込む。また、例えば、アクセス要求が読出し要求であり、その読出し要求で指定されている論理ボリュームが仮想ボリューム125Vの場合、アクセス要求処理プログラム12336は、マッピングテーブル12335を参照することで、その読出し要求から特定される仮想ページに割り当てられている実ページを特定する。そして、アクセス要求処理プログラム12336は、特定した実ページからデータ要素を読み出してメモリ1233に一時記憶させ、一時記憶されたデータ要素を、ホスト計算機101に送信する。
アクセス要求処理プログラム12336と同様の処理を、マイグレーションプログラム12332も行うことができる。具体的には、例えば、マイグレーションプログラム12332は、マイグレーション元の仮想ボリュームからデータ要素を読み出すときは、マッピングテーブル12335を参照することで各仮想ページに割り当てられている各実ページを特定し、特定された各実ページから各データ要素を読み出す。また、例えば、マイグレーションプログラム12332は、マイグレーション先の仮想ボリュームにデータ要素を書き込むときは、マイグレーション先の各仮想ページに各実ページを割り当て(マッピングテーブル12335を更新し)、割り当てた各実ページに、各データ要素を書き込む。
図3は、管理サーバ111の構成例を示す。
管理サーバ111のメモリ115には、CPU113に実行されるコンピュータプログラムとして、レスポンスタイムの計測を行うレスポンスタイム計測プログラム1151、アクセス頻度の計測を行うアクセス頻度計測プログラム1152、各種テーブルを管理サーバ111内の図示しない補助記憶装置(例えばHDD)に格納する入出力プログラム1153、実ページの解放/未解放の選択を行う領域解放判断プログラム1154、どの論理ボリュームを割り当てるかを判断するボリューム割り当て判断プログラム1155、マイグレーションを制御するマイグレーション制御プログラム1156、どの論理ボリュームを初めにホスト計算機101に割り当てるかを制御するボリューム初期割り当て制御プログラム1157、論理ボリュームの切り離しを制御するボリューム切り離し制御プログラム1158、或る時点からの時間を監視する時間監視サブプログラム1161、ストレージシステム121内の領域解放プログラム12331を呼び出すことで実ページの解放を実行させる領域解放制御サブプログラム1162、割り当て可能な論理ボリューム(例えば仮想ボリューム)を割り当て対象として選択する自動選択サブプログラム1163、割り当て可能なマイグレーション先ボリュームを選択するマイグレーション先選択サブプログラム1164、及び、初めに割り当て可能な論理ボリュームを選択するボリューム初期割り当て制御サブプログラム1165を記憶する。各コンピュータプログラム1151乃至1158及び1161乃至1165の動作については、後に、図12乃至図23を参照して詳細に説明する。
また、メモリ115には、各種テーブル1159、具体的には、図4乃至図11に示すように、ユーザによって設定された値を管理するためのユーザ設定値テーブル11591、各仮想ボリュームや各通常ボリュームを管理するためのボリューム管理テーブル11592、どの仮想ボリュームにどの実ボリュームが割り当たっているかを管理するための実ボリューム管理テーブル11593、各種計測の開始時刻及び終了時刻を管理するための計測時刻テーブル11594、アクセス頻度の履歴を蓄積するためのアクセス頻度蓄積テーブル11595、アクセス頻度平均値を管理するためのアクセス頻度テーブル11596、レスポンスタイムの履歴を蓄積するためのレスポンスタイム蓄積テーブル11597、及び、レスポンスタイム平均値を管理するためのレスポンスタイムテーブル11598が記憶される。以下、それらのテーブル11591乃至11598について説明する。なお、以下の説明では、識別子として、番号が使用されることがあるが、番号に限らず、符号やアルファベットなど他種のコードを使用することができる。
図4は、ユーザ設定値テーブル11591の構成例を示す。
ユーザ設定値テーブル11591には、仮想ボリューム毎に、ストレージシステム番号(仮想ボリュームを有するストレージシステムの番号)、ボリューム番号(仮想ボリュームの番号)、ユーザ設定ステータス及び解放時間を表す情報が記録される。
ユーザ設定ステータスとは、仮想ボリュームに割り当て済みの全ての実ページの解放の制御に関するステータスであって、ユーザによって設定されたステータスである。ステータスとして設定される値の種類としては、例えば、“即解放”、“一定時間後解放”、“再利用”及び“自動判断”の4種類がある。ユーザ設定ステータス“即解放”とは、仮想ボリュームが使用対象から未使用対象に切り替わったときに即座にその仮想ボリュームに割り当て済みの全ての実ページを解放することを意味するステータスである。ユーザ設定ステータス“一定時間後解放”とは、仮想ボリュームが使用対象から未使用対象に切り替わってから一定時間後にその仮想ボリュームに割り当て済みの全ての実ページを解放することを意味するステータスである。ここで、一定時間とは、固定値であっても良いし、解放時間としてユーザによって設定された時間(例えば10分後)であっても良い。ユーザ設定ステータス“再利用”とは、仮想ボリュームが使用対象から未使用対象に切り替わってもその仮想ボリュームに割り当て済みの全ての実ページを解放しない(実ページが割り当たっている状態を維持する)ことを意味するステータスである。従って、例えば、未使用対象から使用対象に切り替わった仮想ボリュームの、実ページが割り当てられている仮想ページが書込み先の場合、実ページをわざわざ割り当てる必要がなくなる。つまり、未使用対象に切り替わる前に割り当て済みであった実ページが、未使用対象から使用対象に切り替わった後に、再び、利用される。ユーザ設定ステータス“自動判断”とは、割り当て済みの実ページの解放/未解放をユーザが指定するのではなく、領域解放判断プログラム1154の判断にまかせることを意味するステータスである。
図5は、ボリューム管理テーブル11592の構成例を示す。
ボリューム管理テーブル11592には、仮想ボリュームや通常ボリューム毎に、ストレージシステム番号(論理ボリュームを有するストレージシステムの番号)、ボリューム番号(論理ボリュームの番号)、種別(論理ボリュームの種別)、容量(論理ボリュームの記憶容量)、要求時刻(領域解放判断プログラム1154が呼び出された時刻)、及びボリュームステータスが記録される。種別としては、例えば、仮想ボリュームを意味する“仮想”、及び、通常ボリュームを意味する“通常”がある。また、ボリュームステータスとしては、例えば、割り当て済みの全ての実ページが割り当てたままとされることを意味する“再利用”、割り当て可能であることを意味する“割り当て”、割り当て済みの全ての実ページが解放されることを意味する“解放”、マイグレーション先として割り当てられたことを意味する“マイグレーション”、ホスト計算機に初めに割り当てられたことを意味する“初期割り当て”、或る種の候補であること意味する“候補x”(xは整数、例えば1,2或いは3)がある。ユーザ設定ステータスとの違いを言えば、例えば、ユーザ設定ステータスでは、“再利用”、“即解放”、及び“一定時間後解放”があるのに対し、ボリュームステータスでは、“再利用”及び“解放”がある。つまり、ボリュームステータスでは、“即解放”及び“一定時間後解放”のように、解放に関して複数種類のステータスがあるわけではない(勿論、複数種類あっても差し支えない)。
図6は、実ボリューム管理テーブル11593の構成例を示す。
実ボリューム管理テーブル11593には、仮想ボリューム毎に、ストレージシステム番号(仮想ボリュームを有するストレージシステムの番号)、及び、ボリューム番号(仮想ボリュームの番号)、実ボリューム番号(仮想ボリュームに割り当てられている実ページを有する実ボリュームの番号)が記録される。仮想ボリュームに割り当てられた実ページを有する実ボリュームが、その仮想ボリュームに割り当て済みの実ページを有していない場合に、このテーブル11593において、その仮想ボリュームに対して、その実ボリュームの番号を記録したレコードが追加される。
図7は、計測時刻テーブル11594の構成例を示す。
計測時刻テーブル11594には、各種の計測対象について、種別(計測対象の種別)、開始(計測の開始時刻)、及び終了(計測の終了時刻)が記録される。種別としては、例えば、“レスポンスタイム”や“アクセス頻度”がある。レスポンスタイムとは、或るボリュームを指定したコマンドを発行してから応答が戻ってくるまでの時間長である。アクセス頻度とは、ホスト計算機が単位時間当たりに幾つのアクセス要求を発行したかである。
図8は、アクセス頻度蓄積テーブル11595の構成例を示す。
アクセス頻度蓄積テーブル11595は、ホスト計算機毎に用意されるテーブルである。アクセス頻度蓄積テーブル11595には、例えば、ホスト識別子(このテーブル11595に対応するホスト計算機の識別子)、及び、アクセス頻度(そのホスト計算機について計測されたアクセス頻度の履歴)が記録される。
図9は、アクセス頻度テーブル11596の構成例を示す。
アクセス頻度テーブル11596には、ホスト計算機101毎に、ホスト識別子(ホスト計算機101の識別子)、及びアクセス頻度平均値が記録される。
図10は、レスポンスタイム蓄積テーブル11597の構成例を示す。
レスポンスタイム蓄積テーブル11597は、仮想ボリューム125Vや通常ボリューム125N毎に用意されるテーブルである。レスポンスタイム蓄積テーブル11597には、例えば、ストレージシステム番号(このテーブル11597に対応する仮想ボリューム125V或いは通常ボリューム125Nを有するストレージシステムの番号)、ボリューム番号(その仮想ボリューム125V或いは通常ボリューム125Nの番号)、種別(その仮想ボリューム125V或いは通常ボリューム125Nの種別)、及びレスポンスタイム(その仮想ボリューム125V或いは通常ボリューム125Nについて計測されたレスポンスタイムの履歴)が記録される。
図11は、レスポンスタイムテーブル11598の構成例を示す。
レスポンスタイムテーブル11598には、仮想ボリューム125Vや通常ボリューム125N毎に、ストレージシステム番号、ボリューム番号、種別、及びレスポンスタイム平均値が記録される。
以下、本実施例で行われる処理の流れを説明する。その説明では、以下の2つのケース、
(ケース1)マイグレーション、
(ケース2)論理ボリュームの初期割り当て、
を代表的に例に採り説明する。また、各ケースでの処理の流れの説明において、各コンピュータプログラム1151乃至1158及び1161乃至1165の動作も説明する。
(ケース1)マイグレーション。
図12は、マイグレーション制御プログラム1156の動作のフローチャートである。言い換えれば、図12は、マイグレーションの処理の流れの概要を示す。
ステップ101で、マイグレーション制御プログラム1156が、一又は複数のストレージシステム121にある複数の仮想ボリューム125V及び/又は通常ボリューム125Nの中から、マイグレーション元ボリュームを決定する。マイグレーション元ボリュームは、手動と自動のどちらで決定されても良い。
ステップ102で、マイグレーション制御プログラム1156は、ボリューム割り当て判断プログラム1155を呼び出す。これにより、マイグレーション先ボリュームが選択される。
ステップ103で、マイグレーション制御プログラム1156は、マイグレーション先ボリュームを設定する。具体的には、マイグレーション制御プログラム1156が、マイグレーション元ボリュームからマイグレーション先ボリュームへのパスを設定する。
ステップ104で、マイグレーション制御プログラム1156が、マイグレーション元ボリューム(又はマイグレーション先ボリューム)を有するストレージシステム121に、マイグレーション元ボリュームの番号やマイグレーション先ボリュームの番号などを指定したマイグレーション指示を送信する。これにより、マイグレーション指示の送信先のストレージシステム121におけるマイグレーションプログラム12332によって、マイグレーション元ボリュームに記憶されている全てのデータ要素が、マイグレーション元ボリュームからマイグレーション先ボリュームにコピーされる。マイグレーションプログラム12332は、全てのデータ要素のコピーが完了したならば、完了を、管理サーバ111におけるマイグレーション制御プログラム1156に通知する。それにより、マイグレーション制御プログラム1156は、マイグレーション元ボリュームが使用対象から未使用対象に切り替わったことを認識することができる。
ステップ105で、マイグレーション制御プログラム1156は、ホスト計算機101からのアクセスパスによるアクセス先を、マイグレーション元ボリュームからマイグレーション先ボリュームに切り替える。これにより、以後、ホスト計算機101が、マイグレーション元ボリュームに代えてマイグレーション先ボリュームにアクセスすることになる。
ステップ106で、マイグレーション制御プログラム1156は、領域解放判断プログラム1154を呼び出す。その際、マイグレーション制御プログラム1156は、マイグレーション元ボリュームである仮想ボリューム125Vの番号を、呼び出した領域解放判断プログラム1154に通知する。これにより、マイグレーション元ボリュームが仮想ボリューム125Vである場合に、その仮想ボリューム125Vに割り当て済みの全ての実ページが、即座に解放されるか、一定時間後に解放されるか、或いは、一定時間経っても解放されずに割り当てられている状態が維持されるかが、決定される。
ステップ107で、マイグレーション制御プログラム1156が、マイグレーション元ボリュームをホスト計算機101から切離す。具体的には、マイグレーション制御プログラム1156は、マイグレーション元ボリュームを有するストレージシステム121に、ボリューム切り離し指示(例えば、ホスト計算機の識別子と、マイグレーション元ボリュームの番号とを含んだ指示)を送信する。これにより、そのストレージシステム121内のボリューム切り離しプログラム12334によって、ホスト計算機101からのマイグレーション元ボリュームの切り離しが行われる。この後、そのマイグレーション元ボリュームは、他の用途に割り当て可能となる。例えば、そのマイグレーション元ボリュームは、他のホスト計算機101に新規に割り当てられたり、マイグレーション先ボリュームとして選択されたりし得るようになる。
図20は、ボリューム割り当て判断プログラム1155の動作のフローチャートである。
ステップ161で、ボリューム割り当て判断プログラム1155は、ユーザ選択か自動選択か判断する。具体的には、例えば、ユーザ選択と自動選択のどちらにするかを表す情報が、管理サーバ111内の特定の記憶領域に記憶されており、その情報を参照することにより、ユーザ選択か自動選択かを判断することができる。ユーザ選択と自動選択のどちらにするかは、ストレージシステム121毎、ポート1235毎、或いはボリューム毎など、種々の単位で設定可能である。
ステップ161でユーザ選択と判断された場合、ステップ162が実行される。一方、ステップ161で自動選択と判断された場合、ステップ163が実行される。
ステップ162で、ボリューム割り当て判断プログラム1155は、仮想ボリュームリストを表示する。そのリストに記録されている複数のボリューム番号に対応した複数の仮想ボリュームのいずれかを、ユーザが選択することができる。なお、選択可能な各仮想ボリュームは、ボリューム管理テーブル11592においてボリュームステータスが“再利用”又は“解放”の仮想ボリュームである。
ステップ163で、ボリューム割り当て判断プログラム1155は、自動選択サブプログラム1163を呼び出す。その際、ボリューム割り当て判断プログラム1155は、ボリューム割り当て判断プログラム1155の呼び出し元のプログラムが何であったかを、自動選択サブプログラム1163に通知する。
図21は、自動選択サブプログラム1163の動作のフローチャートである。
ステップ191で、自動選択サブプログラム1163は、入出力プログラム1153を呼び出す。
ステップ192で、自動選択サブプログラム1163は、ボリューム割り当て判断プログラム1155の呼び出し元のプログラムがマイグレーション制御プログラム1156とボリューム初期割り当て制御プログラム1157のどちらであるかを判断する。ボリューム割り当て判断プログラム1155の呼び出し元のプログラムが、マイグレーション制御プログラム1156であれば、ステップ193が実行され、ボリューム初期割り当て制御プログラム1157であれば、ステップ195が実行される。本ケースは、マイグレーションなので、ここでは、ステップ193及び194について説明し、ステップ195及び196については、後述の「(ケース2)論理ボリュームの初期割り当て」で説明する。
ステップ193で、自動選択サブプログラム1163は、マイグレーション先選択サブプログラム1164を呼び出す。
ステップ194で、自動選択サブプログラム1163は、マイグレーション先選択サブプログラム1164によってボリュームステータスが“割り当て”とされた論理ボリュームを、マイグレーション先ボリュームに設定する。具体的には、自動選択サブプログラム1163は、その論理ボリュームのボリュームステータスを、“割り当て”から“マイグレーション先”に変更する。この論理ボリュームに対して、図12のステップ103で、マイグレーション元ボリュームからのパスが張られる。
この後、ステップ191で呼び出された入出力プログラム1153によって、更新後のボリューム管理テーブル11592が、管理サーバ111内の図示しない補助記憶装置に格納される。
図22は、マイグレーション先選択サブプログラム1164の動作のフローチャートである。
マイグレーション先選択サブプログラム1164は、ボリューム管理テーブル11592に記録されている各論理ボリュームについて、ステップ201乃至ステップ211の処理を行う。以下、図22の説明において、ボリューム管理テーブル11592における一レコードに対応した論理ボリュームを、「対象ボリューム」と言う。
ステップ201で、マイグレーション先選択サブプログラム1164は、マイグレーション元ボリュームの記憶容量と対象ボリュームの記憶容量が等しいかどうかを判断する。等しいとの判断になれば、ステップ202が実行され、等しくないとの判断になれば、ステップ206が実行される。
ステップ202で、マイグレーション先選択サブプログラム1164は、対象ボリュームのボリュームステータスが“再利用”か否かを判断する。“再利用”であると判断になれば、ステップ203が実行され、“再利用”ではないとの判断になれば、ステップ204が実行される。
ステップ203で、マイグレーション先選択サブプログラム1164は、対象ボリュームのボリュームステータスを“候補1”に設定する。
ステップ204で、マイグレーション先選択サブプログラム1164は、対象ボリュームのボリュームステータスが“解放”か否かを判断する。“解放”であると判断になれば、ステップ205が実行され、“解放”ではないとの判断になれば、ステップ211が実行される。
ステップ205で、マイグレーション先選択サブプログラム1164は、対象ボリュームのボリュームステータスを“候補3”に設定する。
ステップ206で、マイグレーション先選択サブプログラム1164は、マイグレーション元ボリュームの記憶容量よりも対象ボリュームの記憶容量が大きいかどうかを判断する。大きいとの判断になれば、ステップ207が実行され、大きくないとの判断になれば、ステップ211が実行される。
ステップ207で、マイグレーション先選択サブプログラム1164は、対象ボリュームのボリュームステータスが“再利用”か否かを判断する。“再利用”であると判断になれば、ステップ208が実行され、“再利用”ではないとの判断になれば、ステップ209が実行される。
ステップ208で、マイグレーション先選択サブプログラム1164は、対象ボリュームのボリュームステータスを“候補2”に設定する。
ステップ209で、マイグレーション先選択サブプログラム1164は、対象ボリュームのボリュームステータスが“解放”か否かを判断する。“解放”であると判断になれば、ステップ210が実行され、“解放”ではないとの判断になれば、ステップ211が実行される。
ステップ210で、マイグレーション先選択サブプログラム1164は、対象ボリュームのボリュームステータスを“候補3”に設定する。
ステップ211で、マイグレーション先選択サブプログラム1164は、未処理ボリューム、すなわち、ボリューム管理テーブル11592において未参照のレコードがあるかどうかを判断する。あるとの判断になれば、或る一つの未参照のレコードに対応した論理ボリュームについて、ステップ201が実行され、無いとの判断になれば、ステップ212が実行される。
以上の処理によれば、ボリュームステータス“候補1”、“候補2”及び“候補3”は、それぞれ、以下のことを意味している。
候補1:対象ボリュームの記憶容量が、マイグレーション元ボリュームの記憶容量と等しく、且つ、対象ボリュームのボリュームステータスが“再利用”であった。
候補2:対象ボリュームの記憶容量が、マイグレーション元ボリュームの記憶容量より大きく、且つ、対象ボリュームのボリュームステータスが“再利用”であった。
候補3:対象ボリュームの記憶容量が、マイグレーション元ボリュームの記憶容量と等しいかそれより大きいかに関わらず、対象ボリュームのボリュームステータスが“解放”であった。
ステップ212で、マイグレーション先選択サブプログラム1164は、ボリュームステータス“候補1”の論理ボリュームがあるかどうかを判断する。有るとの判断になれば、ステップ213が実行され、無いとの判断になれば、ステップ216が実行される。
ステップ213で、マイグレーション先選択サブプログラム1164は、マイグレーション元ボリュームとレスポンスタイム平均値が等しい、ボリュームステータス“候補1”の論理ボリュームがあるかどうかを判断する。有るとの判断になれば、ステップ214が実行され、無いとの判断になれば、ステップ215が実行される。
ステップ214で、マイグレーション先選択サブプログラム1164は、マイグレーション元ボリュームとレスポンスタイム平均値が等しく、且つ、“要求時刻”が最も古い、ボリュームステータス“候補1”の論理ボリュームについて、ボリュームステータスを、“候補1”から“割り当て”に変更する。
ステップ215で、マイグレーション先選択サブプログラム1164は、マイグレーション元ボリュームのレスポンスタイム平均値にレスポンスタイム平均値が最も近い、ボリュームステータス“候補1”の論理ボリュームについて、ボリュームステータスを、“候補1”から“割り当て”に変更する。
ステップ216で、マイグレーション先選択サブプログラム1164は、ボリュームステータス“候補2”の論理ボリュームがあるかどうかを判断する。有るとの判断になれば、ステップ217が実行され、無いとの判断になれば、ステップ218が実行される。
ステップ217で、マイグレーション先選択サブプログラム1164は、マイグレーション元ボリュームと記憶容量が最も近い、ボリュームステータス“候補2”の論理ボリュームについて、ボリュームステータスを、“候補2”から“割り当て”に変更する。
ステップ218で、マイグレーション先選択サブプログラム1164は、ボリュームステータス“候補3”の論理ボリュームがあるかどうかを判断する。有るとの判断になれば、ステップ219が実行され、無いとの判断になれば、ステップ220が実行される。
ステップ219で、マイグレーション先選択サブプログラム1164は、ボリュームステータス“候補3”の一つの論理ボリュームについて、ボリュームステータスを、“候補3”から“割り当て”に変更する。
ステップ220で、マイグレーション先選択サブプログラム1164は、ボリュームステータス“候補x”(ここでは、xは1、2、3のいずれかの整数)を、ボリューム管理テーブル11592から消去する。
図22のステップ214、215、217、又は219で、ボリュームステータス“割り当て”が設定された論理ボリュームについてのボリュームステータスが、図21のステップ194で、“割り当て”から“マイグレーション先”に変更される。
図17は、領域解放判断プログラム1154の動作のフローチャートである。
領域解放判断プログラム1154は、例えば、図12のステップ106、或いは、後述の図14のステップ121で呼び出される。その際、対象となる仮想ボリューム125Vの番号の通知を受ける。
ステップ151で、領域解放判断プログラム1154は、呼びだされた時刻を、通知されたボリューム番号に対応する“要求時刻”の欄(ボリューム管理テーブル11592における欄)に設定する。
ステップ152で、領域解放判断プログラム1154は、対象仮想ボリュームに対応するユーザ設定ステータスを参照する。
ステップ153で、領域解放判断プログラム1154は、対象仮想ボリュームについて、再利用、即解放及び一定時間後解放のいずれにするかを判断する。例えば、ユーザ設定ステータスが“再利用”、或いは、ユーザ設定ステータスが“自動選択”の場合に実行する自動選択処理で再利用が選択された場合、ステップ154が実行される。また、例えば、ユーザ設定ステータスが“即解放”、或いは、ユーザ設定ステータスが“自動選択”の場合に実行する自動選択処理で即解放が選択された場合、ステップ155が実行される。また、例えば、ユーザ設定ステータスが“一定時間後解放”、或いは、ユーザ設定ステータスが“自動選択”の場合に実行する自動選択処理で一定時間後解放が選択された場合、ステップ157が実行される。
ステップ154で、領域解放判断プログラム1154は、対象仮想ボリュームを有するストレージシステム121を、ボリューム管理テーブル11592を参照することにより特定する。そして、領域解放判断プログラム1154は、特定されたストレージシステム121に、対象仮想ボリュームの番号とステータス“再利用”とを通知する。また、領域解放判断プログラム1154は、対象仮想ボリュームのボリュームステータスを“再利用”に更新する。
なお、特定されたストレージシステム121が、対象仮想ボリュームの番号とステータス“再利用”とを受信した場合、そのストレージシステム121において、対象仮想ボリュームに割り当て済みの全ての実ページが、解放されず、割り当てられたままとなる。なぜなら、領域解放プログラム12331が呼び出されないためである。すなわち、対象仮想ボリュームに対応したマッピングテーブル12335における、実ページに対応した全ての欄に、未割り当てを意味する値が設定されないからである。その結果、例えば、そのマッピングテーブル12335が、図24Bに例示するテーブル12335である場合、図24Cに例示するような更新が行われることなく、図24Bに例示するテーブル12335が維持される。
ステップ155で、領域解放判断プログラム1154は、領域解放制御サブプログラム1162を呼び出す。その際、領域解放判断プログラム1154は、領域解放制御サブプログラム1162に、対象仮想ボリュームの番号を通知する。
ステップ156で、領域解放判断プログラム1154は、対象仮想ボリュームのボリュームステータスを“解放”に更新する。
ステップ157で、領域解放判断プログラム1154は、ステップ154と同じ処理を実行する。
ステップ158で、領域解放判断プログラム1154は、時間監視サブプログラム1161を呼び出す。
ところで、ユーザ設定ステータスが“自動選択”の場合に実行する自動選択処理では、例えば、以下の(A)乃至(D)のうちのいずれかの方法、又は、(A)乃至(D)のうちの二以上の組み合わせによる方法で、対象仮想ボリュームについて、再利用、即解放或いは一定時間後解放が決定される。
(A)未使用対象に切り替わる前までの対象仮想ボリューム(例えば、マイグレーション完了前)に対するアクセス頻度を基に、再利用、即解放、或いは一定時間後解放が選択される。例えば、アクセス頻度が大であれば、再利用が選択され、アクセス頻度が中であれば、一定時間後解放が選択され、アクセス頻度が小であれば、即解放が選択される。未使用対象に切り替わる前までの各仮想ボリュームのアクセス頻度は、アクセス頻度計測プログラム1152によって取得される。ここで言うアクセス頻度は、一つの仮想ボリュームについて、計測された複数のアクセス頻度のうちの代表的な一つのアクセス頻度であっても良いし、それら複数のアクセス頻度のうちの二以上のアクセス頻度を基に計算された値(例えば平均値)であっても良い。これは、この(A)に限らず、例えば、後述の図23についても、同様である。
(B)対象仮想ボリュームに割り当てられている実ボリュームの性能を基に、再利用、即解放、或いは一定時間後解放が選択される。例えば、割り当てられている実ボリュームの性能(複数の実ボリュームが割り当てられている場合には、どの実ボリュームから幾つの実ページが割り当てられているかと実ボリュームそれ自体の性能とを基に算出される値)が高であれば、再利用が選択され、割り当てられている実ボリュームの性能が中であれば、一定時間後解放が選択され、割り当てられている実ボリュームの性能が低であれば、即解放が選択される。実ボリュームの性能は、例えば、実ボリュームの基になっている物理記憶デバイスの種類(例えばFC(Fibre Channel)、ATA(Advanced
Technology Attachment))等から定まる。
(C)対象仮想ボリュームの性能を基に、再利用、即解放、或いは一定時間後解放が選択される。例えば、対象仮想ボリュームの性能が高であれば、再利用が選択され、対象仮想ボリュームの性能が中であれば、一定時間後解放が選択され、対象仮想ボリュームの性能が低であれば、即解放が選択される。対象仮想ボリュームの性能とは、例えば、レスポンスタイムである。ここで言うレスポンスタイムは、一つの仮想ボリュームについて、計測された複数のレスポンスタイムのうちの代表的な一つのアクセス頻度であっても良いし、それら複数のレスポンスタイムのうちの二以上のレスポンスタイムを基に計算された値(例えば平均値)であっても良い。これは、この(C)に限らず、例えば、図22のステップ214及び215の少なくとも一つについても、同様である。
(D)未割り当ての実ページの数(例えば、実ページの数に対する未割り当ての実ページの数の比率)を基に、再利用、即解放、或いは一定時間後解放が選択される。例えば、未割り当ての実ページの数が多であれば、再利用が選択され、未割り当ての実ページの数が中であれば、一定時間後解放が選択され、未割り当ての実ページの数が少であれば、即解放が選択される。
図18は、時間監視サブプログラム1161の動作のフローチャートである。
ステップ161では、時間監視サブプログラム1161は、ボリューム管理テーブル11592における“要求時刻”が表す時刻から現在時刻までの時間が、ユーザ設定値テーブル11591における“解放時間”が表す時間に達したか否かを判断する。達していないとの判断になれば、ステップ162が実行され、達した(或いは超えた)との判断になれば、ステップ163が実行される。
ステップ162では、時間監視サブプログラム1161は、所定のインターバルを待ってから、再び、ステップ161を実行する。
ステップ163では、時間監視サブプログラム1161は、領域解放制御サブプログラム1162を呼び出す。その際、時間監視サブプログラム1161は、領域解放制御サブプログラム1162に、“解放時間”が表す時間の経った仮想ボリュームの番号を通知する。
ステップ164では、時間監視サブプログラム1161は、“解放時間”が表す時間の経った仮想ボリュームのボリュームステータスを“解放”に設定する。
図19は、領域解放制御サブプログラム1162の動作のフローチャートである。
ステップ171で、領域解放制御サブプログラム1162は、通知された仮想ボリューム番号を実ボリューム管理テーブル11593から検索する。
ステップ172で、領域解放制御サブプログラム1162は、通知された仮想ボリューム番号に対応する実ボリューム番号欄を解放する(例えば実ボリューム番号欄の数をゼロとする)。また、領域解放制御サブプログラム1162は、通知された仮想ボリューム番号に対応する仮想ボリュームを有するストレージシステム121における領域解放プログラム12331を呼び出す。その際、領域解放制御サブプログラム1162は、通知された仮想ボリューム番号を、領域解放プログラム12331に通知する。これにより、ストレージシステム121における領域解放プログラム12331が、通知された仮想ボリューム番号に対応するマッピングテーブル12335に記録されている全ての実ページIDを消去する。
以上が、(ケース1)マイグレーションについての処理の説明である。この説明によれば、以下の(1)乃至(4)の項目、
(1)マイグレーション元ボリュームの記憶容量、
(2)マイグレーション元ボリュームの性能、
(3)要求時刻、
(4)ボリュームステータス、
に基づいて、マイグレーション先ボリュームが自動選択される。
また、上述の説明によれば、マイグレーションが完了したら、マイグレーション元の仮想ボリュームに割り当て済みの全ての実ページが直ぐに解放されるか、一定時間後に解放されるか、或いは解放されずに割り当たったままとなっているかが選択される。
(ケース2)論理ボリュームの初期割り当て。
図13は、ボリューム初期割り当て制御プログラム1157の動作のフローチャートである。言い換えれば、図13は、論理ボリュームの初期割り当ての流れの概要を示す。
ステップ111は、ボリューム初期割り当て制御プログラム1157は、ボリューム割り当て判断プログラム1155を呼び出す。これにより、割り当て先ホスト計算機101に初めに割り当てられる論理ボリューム(初期割り当てボリューム)が選択される。
ステップ112で、ボリューム初期割り当て制御プログラム1157は、初期割り当てボリュームを設定する。具体的には、ボリューム初期割り当て制御プログラム1157が、対象のホスト計算機101と初期割り当てボリュームとを結ぶパスを設定する。
ステップ111でボリューム割り当て判断プログラム1155が呼び出された場合、図20のフローが実行される。図20において、ステップ183が実行された場合、図21のフローが実行される。図21では、ステップ192の後、ステップ195及び196が実行される。
すなわち、ステップ195で、自動選択サブプログラム1163は、ボリューム初期割り当て制御サブプログラム1165を呼び出す。
ステップ196で、自動選択サブプログラム1163は、ボリューム初期割り当て制御サブプログラム1165によってボリュームステータスが“割り当て”とされた論理ボリュームを、初期割り当てボリュームに設定する。具体的には、自動選択サブプログラム1163は、その論理ボリュームのボリュームステータスを、“割り当て”から“初期割り当て”に変更する。この論理ボリュームに対して、図13のステップ112で、対象のホスト計算機101からのパスが張られる。
図23は、ボリューム初期割り当て制御サブプログラム1165の動作のフローチャートである。
ステップ221で、ボリューム初期割り当て制御サブプログラム1165は、アクセス頻度テーブル11596に記録されている複数のアクセス頻度平均値の平均を算出する。
ステップ222で、ボリューム初期割り当て制御サブプログラム1165は、割り当て先ホスト計算機101のアクセス頻度平均値の方がステップ221で算出された平均より低いか否かを判断する。低ければ、ステップ223が実行され、低くなければ、ステップ224が実行される。
ステップ223で、ボリューム初期割り当て制御サブプログラム1165は、ボリュームステータス“解放”の仮想ボリュームについて、ボリュームステータスを“解放”から“割り当て”に変更する。
ステップ224で、ボリューム初期割り当て制御サブプログラム1165は、ボリュームステータス“再利用”の仮想ボリュームについて、ボリュームステータスを“再利用”から“割り当て”に変更する。
割り当て済みの初期割り当てボリュームが使用対象から未使用対象とされる場合に、ボリューム切り離し制御プログラム1158が呼び出される。
図14は、ボリューム切り離し制御プログラム1158の動作を示す。
ステップ121で、ボリューム切り離し制御プログラム1158は、領域解放判断プログラム1154を呼び出す。その際、マイグレーション制御プログラム1156は、未使用対象の初期割り当てボリュームである仮想ボリューム125Vの番号を、呼び出した領域解放判断プログラム1154に通知する。これにより、未使用対象の初期割り当てボリュームが仮想ボリューム125Vである場合に、その仮想ボリューム125Vに割り当て済みの全ての実ページが、即座に解放されるか、一定時間後に解放されるか、或いは、一定時間経っても解放されずに割り当てられている状態が維持されるかが、決定される。
ステップ122で、ボリューム切り離し制御プログラム1158は、未使用対象の初期割り当てボリュームをホスト計算機101から切離す。具体的には、ボリューム切り離し制御プログラム1158は、その初期割り当てボリュームを有するストレージシステム121に、ボリューム切り離し指示(例えば、ホスト計算機の識別子と、初期割り当てボリュームの番号とを含んだ指示)を送信する。
以上が、(ケース2)論理ボリュームの初期割り当てについての説明である。
なお、上記(ケース1)では、マイグレーション先ボリュームの選択の際に、レスポンスタイムが参酌され、上記(ケース2)では、初期割り当てボリュームの選択の際に、割り当て先ホスト計算機のアクセス頻度が参酌される。以下、レスポンスタイムやアクセス頻度の計測について説明する。
図15は、レスポンスタイム計測プログラム1151の動作のフローチャートである。
レスポンスタイム計測プログラム1151によって、各仮想ボリュームや各通常ボリュームのレスポンスタイムが計測される。以下、レスポンスタイムの計測対象の論理ボリュームを、図15の説明において、「計測対象ボリューム」と言う。
ステップ131で、レスポンスタイム計測プログラム1151は、現在時刻が所定の開始時刻以降であるかどうかを判断する。現在時刻が開始時刻前であれば、ステップ132が実行され、開始時刻以降であれば、ステップ133が実行される。
ステップ132で、レスポンスタイム計測プログラム1151は、一定時間待つ。その後、再び、ステップ131を実行する。
ステップ133で、レスポンスタイム計測プログラム1151は、計測対象ボリュームのレスポンスタイムを計測する。具体的には、例えば、レスポンスタイム計測プログラム1151は、計測対象ボリュームを指定したコマンドを、計測対象ボリュームを有するストレージシステム121に送信してから、所定の応答を受信するまでの時間を計測する。
ステップ134で、レスポンスタイム計測プログラム1151は、計測されたレスポンスタイムを、レスポンスタイム蓄積テーブル11597に格納する。
ステップ135で、レスポンスタイム計測プログラム1151は、レスポンスタイムを未計測の仮想ボリューム又は通常ボリュームがあるかどうかを判断する。有るとの判断になれば、未計測の一つの仮想ボリューム又は通常ボリュームについて、ステップ133が実行される。無いとの判断になれば、ステップ136が実行される。
ステップ136で、レスポンスタイム計測プログラム1151は、現在時刻が所定の終了時刻前であるかどうかを判断する。現在時刻が終了時刻前であれば、ステップ137が実行され、終了時刻以降であれば、ステップ138が実行される。
ステップ137で、レスポンスタイム計測プログラム1151は、所定のインターバル待つ。その後、再び、ステップ133を実行する。
ステップ138で、レスポンスタイム計測プログラム1151は、各仮想ボリュームや各通常ボリュームについて、レスポンスタイム蓄積テーブル11597に記録されている複数のレスポンスタイムの平均を算出する。
ステップ139で、レスポンスタイム計測プログラム1151は、各仮想ボリュームや各通常ボリュームについて、計算されたレスポンスタイム平均値を、レスポンスタイムテーブル11598に格納する。
ステップ140で、レスポンスタイム計測プログラム1151は、入出力プログラム1153を呼び出す。これにより、更新後のレスポンスタイム蓄積テーブル11597やレスポンスタイムテーブル11598が、管理サーバ111内の図示しない補助記憶装置に格納される。
図16は、アクセス頻度計測プログラム1152の動作のフローチャートである。
アクセス頻度計測プログラム1152によって、各ホスト計算機からのアクセス頻度が計測される。以下、アクセス頻度の計測対象のホスト計算機を、図16の説明において、「計測対象ホスト」と言う。
ステップ141で、アクセス頻度計測プログラム1152は、現在時刻が所定の開始時刻以降であるかどうかを判断する。現在時刻が開始時刻前であれば、ステップ142が実行され、開始時刻以降であれば、ステップ143が実行される。
ステップ142で、アクセス頻度計測プログラム1152は、一定時間待つ。その後、再び、ステップ141を実行する。
ステップ143で、アクセス頻度計測プログラム1152は、計測対象ホストのアクセス頻度を計測する。
ステップ144で、アクセス頻度計測プログラム1152は、計測されたアクセス頻度を、アクセス頻度蓄積テーブル11595に格納する。
ステップ145で、アクセス頻度計測プログラム1152は、アクセス頻度を未計測のホスト計算機があるかどうかを判断する。有るとの判断になれば、未計測の一つのホスト計算機について、ステップ143が実行される。無いとの判断になれば、ステップ146が実行される。
ステップ146で、アクセス頻度計測プログラム1152は、現在時刻が所定の終了時刻前であるかどうかを判断する。現在時刻が終了時刻前であれば、ステップ147が実行され、終了時刻以降であれば、ステップ148が実行される。
ステップ147で、アクセス頻度計測プログラム1152は、所定のインターバル待つ。その後、再び、ステップ143を実行する。
ステップ148で、アクセス頻度計測プログラム1152は、各ホスト計算機について、アクセス頻度蓄積テーブル11595に記録されている複数のアクセス頻度の平均を算出する。
ステップ149で、アクセス頻度計測プログラム1152は、各ホスト計算機について、計算されたアクセス頻度平均値を、アクセス頻度テーブル11596に格納する。
ステップ150で、アクセス頻度計測プログラム1152は、入出力プログラム1153を呼び出す。これにより、更新後のアクセス頻度蓄積テーブル11595やアクセス頻度テーブル11596が、管理サーバ111内の図示しない補助記憶装置に格納される。
上述した本発明の実施例は、本発明の説明のための例示であり、本発明の範囲をその実施例にのみ限定する趣旨ではない。本発明は、その要旨を逸脱することなく、その他の様々な態様でも実施することができる。
例えば、図12乃至図23のうちの少なくとも一つの図に記載の処理流れは、本発明の理解及び実施に必要な程度で各処理の概要を示している。従って、いわゆる当業者であれば、本発明の範囲から逸脱しない程度に、ステップの順序を変更したり、ステップを別のステップに変更したり等することができる。
本発明の一実施例に係る計算機システムの構成例を示す。 ストレージシステムの構成例を示す。 管理サーバの構成例を示す。 管理サーバが記憶するユーザ設定値テーブルの構成例を示す。 管理サーバが記憶するボリューム管理テーブルの構成例を示す。 管理サーバが記憶する実ボリューム管理テーブルの構成例を示す。 管理サーバが記憶する計測時刻テーブルの構成例を示す。 管理サーバが記憶するアクセス頻度蓄積テーブルの構成例を示す。 管理サーバが記憶するアクセス頻度テーブルの構成例を示す。 管理サーバが記憶するレスポンスタイム蓄積テーブルの構成例を示す。 管理サーバが記憶するレスポンスタイムテーブルの構成例を示す。 マイグレーション制御プログラムの動作のフローチャート。 ボリューム初期割り当て制御プログラムの動作のフローチャート。 ボリューム切り離し制御プログラムの動作のフローチャート。 レスポンスタイム計測プログラムの動作のフローチャート。 アクセス頻度計測プログラムの動作のフローチャート。 領域解放判断プログラムの動作のフローチャート。 時間監視サブプログラムの動作のフローチャート。 領域解放制御サブプログラムの動作のフローチャート。 ボリューム割り当て判断プログラムの動作のフローチャート。 自動選択サブプログラムの動作のフローチャート。 マイグレーション先選択サブプログラムの動作のフローチャート。 ボリューム初期割り当て制御サブプログラムの動作のフローチャート。 図24Aは、実ページの動的割り当ての説明図である。図24Bは、仮想ボリュームに割り当て済みの実ページが解放されていない状態でのその仮想ボリュームに対応したマッピングテーブルの一例を示す。図24Cは、仮想ボリュームに割り当て済みの全ての実ページが解放された状態でのその仮想ボリュームに対応したマッピングテーブルの一例を示す。 図25Aは、実ボリュームにおける実記憶領域が仮想ボリュームに割り当てられている状態を示す。図25Bは、二つの仮想ボリュームのうちの一方の仮想ボリュームから通常ボリュームへのデータ要素のマイグレーションを示す。図25Cは、マイグレーション後に別の通常ボリュームから上記一方の仮想ボリュームへデータ要素がマイグレーションされることを示す。 図26Aは、第一のホストに仮想ボリュームが割り当てられていることを示す。図26Bは、第一のホストに対する仮想ボリュームの割り当てが解除された後にその仮想ボリュームが第二のホストに割り当てられたことを示す。
符号の説明
101…ホスト計算機 111…管理サーバ 121…ストレージシステム

Claims (15)

  1. アクセス要求から特定された仮想記憶領域に実記憶領域を割り当てる機能を有したストレージシステムを管理する計算機であって、
    前記アクセス要求から特定された仮想記憶領域は、仮想ボリュームを構成する複数の仮想記憶領域のうちの一つであり、
    前記割り当てられた実記憶領域は、一又は複数の実ボリュームで構成された記憶領域プールを構成する複数の実記憶領域のうちの、どの仮想記憶領域にも割り当てられていない未割り当ての実記憶領域であり、
    前記仮想ボリュームは、仮想的な論理ボリュームであり、
    前記実ボリュームは、前記ストレージシステムが備える一又は複数の物理的な記憶デバイスの記憶空間を基に形成された論理ボリュームであり、
    前記計算機が、
    使用対象から未使用対象に切り替わった仮想ボリュームを特定する特定部と、
    特定された仮想ボリュームに割り当てられている全ての実記憶領域を解放するか否かの解放/未解放選択を行う解放/未解放選択部と、
    前記解放/未解放選択の結果に従って、前記特定された仮想ボリュームに割り当てられている全ての実記憶領域を前記ストレージシステムが解放するか否かを制御するための解放/未解放指示を作成し、作成した解放/未解放指示を送信する解放/未解放指示部と
    を備える計算機。
  2. 全ての実記憶領域が解放されている仮想ボリュームであるか否かに基づいて、複数の仮想ボリュームから、割り当て対象とする仮想ボリュームを選択する仮想ボリューム選択部、を更に備える、
    請求項1記載の計算機。
  3. 前記割り当て対象とする仮想ボリュームは、以下の(A)又は(B)の仮想ボリュームである、
    (A)マイグレーション元の論理ボリュームに記憶されているデータのマイグレーション先として割り当てる対象の仮想ボリューム、
    (B)前記ストレージシステムにアクセス要求を発行する上位装置に対して割り当てる対象の仮想ボリューム、
    請求項2記載の計算機。
  4. 前記(A)の仮想ボリュームとして選択される仮想ボリュームは、以下の(A1)及び(A2)の条件に適合する、
    (A1)割り当て済みの全ての実記憶領域が解放されていない、
    (A2)前記マイグレーション元の論理ボリュームの記憶容量以上の記憶容量を有する、
    請求項3記載の計算機。
  5. 前記(A)の仮想ボリュームとして選択される仮想ボリュームは、更に、以下の(A3)及び/又は(A4)の条件に適合する、
    (A3)前記マイグレーション元の論理ボリュームのボリューム性能になるべく近いボリューム性能を有する、
    (A4)使用対象から未使用対象に切り替わった時刻が最も古い、
    請求項4記載の計算機。
  6. 或る論理ボリュームについての前記ボリューム性能は、前記或る論理ボリュームについての複数のレスポンスタイムを基に算出された値であり、
    前記或る論理ボリュームについてのレスポンスタイムは、前記或る論理ボリュームを指定した要求を発行してから応答を受けるまでにかかった時間長である、
    請求項5記載の計算機。
  7. 前記仮想ボリューム選択部は、アクセス頻度が低い上位装置に割り当てる仮想ボリュームを選択する場合、割り当て済みの全ての実記憶領域が解放されている仮想ボリュームを優先的に選択し、アクセス頻度が高い上位装置に割り当てる仮想ボリュームを選択する場合、割り当て済みの全ての実記憶領域が解放されていない仮想ボリュームを優先的に選択する、
    請求項3記載の計算機。
  8. 前記仮想ボリューム選択部は、自動選択かユーザ選択であるかを判断し、自動選択の場合、全ての実記憶領域が解放されている仮想ボリュームであるか否かに基づいて、複数の仮想ボリュームから、割り当て対象とする仮想ボリュームを選択し、ユーザ選択の場合、各仮想ボリュームについて全ての実記憶領域が解放されているか否かに関するステータスを表示し、前記各仮想ボリュームのステータスの表示に応答して管理者から指定された仮想ボリュームを、割り当て対象とする仮想ボリュームとして選択する、
    請求項2乃至7のうちのいずれか1項に記載の計算機。
  9. 前記解放/未解放選択部は、前記特定された仮想ボリュームの未使用対象に切り替わる前における使用状況に基づいて、前記特定された仮想ボリュームに割り当てられている全ての実記憶領域を解放するか否かの解放/未解放選択を行う、
    請求項1乃至8のうちのいずれかに1項に記載の計算機。
  10. 前記解放/未解放選択部は、特定された仮想ボリュームに割り当てられている実記憶領域を有した実ボリュームの性能を基に、前記特定された仮想ボリュームに割り当てられている全ての実記憶領域を解放するか否かの解放/未解放選択を行う、
    請求項1乃至9のうちのいずれかに1項に記載の計算機。
  11. 前記解放/未解放選択部は、特定された仮想ボリュームの性能を基に、前記特定された仮想ボリュームに割り当てられている全ての実記憶領域を解放するか否かの解放/未解放選択を行う、
    請求項1乃至10のうちのいずれかに1項に記載の計算機。
  12. 前記解放/未解放選択部は、未割り当ての実記憶領域の数を基に、前記特定された仮想ボリュームに割り当てられている全ての実記憶領域を解放するか否かの解放/未解放選択を行う、
    請求項1乃至11のうちのいずれかに1項に記載の計算機。
  13. アクセス要求から特定された仮想記憶領域に実記憶領域を割り当てる機能を有したストレージシステムの制御方法であって、
    前記アクセス要求から特定された仮想記憶領域は、仮想ボリュームを構成する複数の仮想記憶領域のうちの一つであり、
    前記割り当てられた実記憶領域は、一又は複数の実ボリュームで構成された記憶領域プールを構成する複数の実記憶領域のうちの、どの仮想記憶領域にも割り当てられていない未割り当ての実記憶領域であり、
    前記仮想ボリュームは、仮想的な論理ボリュームであり、
    前記実ボリュームは、前記ストレージシステムが備える一又は複数の物理的な記憶デバイスの記憶空間を基に形成された論理ボリュームであり、
    前記制御方法が、
    使用対象から未使用対象に切り替わった仮想ボリュームを特定し、
    特定された仮想ボリュームに割り当てられている全ての実記憶領域を解放するか否かの解放/未解放選択を行い、
    前記解放/未解放選択の結果に従って、前記特定された仮想ボリュームに割り当てられている全ての実記憶領域を前記ストレージシステムが解放するか否かを制御する、
    制御方法。
  14. アクセス要求から特定された仮想記憶領域に実記憶領域を割り当てる機能を有したストレージシステムを制御するためのコンピュータプログラムであって、
    前記アクセス要求から特定された仮想記憶領域は、仮想ボリュームを構成する複数の仮想記憶領域のうちの一つであり、
    前記割り当てられた実記憶領域は、一又は複数の実ボリュームで構成された記憶領域プールを構成する複数の実記憶領域のうちの、どの仮想記憶領域にも割り当てられていない未割り当ての実記憶領域であり、
    前記仮想ボリュームは、仮想的な論理ボリュームであり、
    前記実ボリュームは、前記ストレージシステムが備える一又は複数の物理的な記憶デバイスの記憶空間を基に形成された論理ボリュームであり、
    前記コンピュータプログラムが
    使用対象から未使用対象に切り替わった仮想ボリュームを特定し、
    特定された仮想ボリュームに割り当てられている全ての実記憶領域を解放するか否かの解放/未解放選択を行い、
    前記解放/未解放選択の結果に従って、前記特定された仮想ボリュームに割り当てられている全ての実記憶領域を前記ストレージシステムが解放するか否かを制御するための解放/未解放指示を作成し、作成した解放/未解放指示を送信する、
    ことをコンピュータに実行させる、
    コンピュータプログラム。
  15. アクセス要求から特定された仮想記憶領域に実記憶領域を割り当てる機能を有したストレージシステムであって、
    前記アクセス要求から特定された仮想記憶領域は、仮想ボリュームを構成する複数の仮想記憶領域のうちの一つであり、
    前記割り当てられた実記憶領域は、一又は複数の実ボリュームで構成された記憶領域プールを構成する複数の実記憶領域のうちの、どの仮想記憶領域にも割り当てられていない未割り当ての実記憶領域であり、
    前記仮想ボリュームは、仮想的な論理ボリュームであり、
    前記実ボリュームは、前記ストレージシステムが備える一又は複数の物理的な記憶デバイスの記憶空間を基に形成された論理ボリュームであり、
    前記ストレージシステムが、
    使用対象から未使用対象に切り替わった仮想ボリュームを特定する特定部と、
    特定された仮想ボリュームに割り当てられている全ての実記憶領域を解放するか否かの解放/未解放選択を行う解放/未解放選択部と、
    前記解放/未解放選択の結果に従って、前記特定された仮想ボリュームに割り当てられている全ての実記憶領域を前記ストレージシステムが解放するか否かを制御する解放/未解放制御部と
    を備えるストレージシステム。
JP2007308417A 2007-11-29 2007-11-29 仮想ボリュームに割り当て済みの全ての実記憶領域を解放するか否かを制御する計算機及び方法 Withdrawn JP2009134397A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007308417A JP2009134397A (ja) 2007-11-29 2007-11-29 仮想ボリュームに割り当て済みの全ての実記憶領域を解放するか否かを制御する計算機及び方法
US12/025,276 US7953952B2 (en) 2007-11-29 2008-02-04 Computer and method for controlling whether or not to release all real storage areas assigned to virtual volume

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007308417A JP2009134397A (ja) 2007-11-29 2007-11-29 仮想ボリュームに割り当て済みの全ての実記憶領域を解放するか否かを制御する計算機及び方法

Publications (1)

Publication Number Publication Date
JP2009134397A true JP2009134397A (ja) 2009-06-18

Family

ID=40677111

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007308417A Withdrawn JP2009134397A (ja) 2007-11-29 2007-11-29 仮想ボリュームに割り当て済みの全ての実記憶領域を解放するか否かを制御する計算機及び方法

Country Status (2)

Country Link
US (1) US7953952B2 (ja)
JP (1) JP2009134397A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011077490A1 (ja) * 2009-12-24 2011-06-30 株式会社日立製作所 仮想ボリュームを提供するストレージシステム
US8489844B2 (en) 2009-12-24 2013-07-16 Hitachi, Ltd. Storage system providing heterogeneous virtual volumes and storage area re-allocation
WO2014141466A1 (ja) * 2013-03-15 2014-09-18 株式会社日立製作所 計算機システム

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8392370B1 (en) * 2008-03-28 2013-03-05 Emc Corporation Managing data on data storage systems
US8595737B2 (en) * 2009-03-17 2013-11-26 Hitachi, Ltd. Method for migrating a virtual server to physical server according to a variation ratio, a reference execution time, a predetermined occupied resource amount and a occupancy amount
JPWO2011129006A1 (ja) * 2010-04-15 2013-07-11 株式会社日立製作所 ストレージ装置及びストレージ装置の制御方法
JP5378604B2 (ja) 2010-04-27 2013-12-25 株式会社日立製作所 ThinProvisioningが適用された、メインフレーム系のストレージ装置
US8521954B2 (en) * 2010-12-03 2013-08-27 Hitachi, Ltd. Management computer and volume configuration management method
JP5668151B2 (ja) * 2012-01-05 2015-02-12 株式会社日立製作所 計算機システムの管理装置及び管理方法
US8943270B2 (en) * 2012-07-24 2015-01-27 Hitachi, Ltd. Storage system, storage control method and storage control program
US9626110B2 (en) * 2013-02-22 2017-04-18 Hitachi, Ltd. Method for selecting a page for migration based on access path information and response performance information
JP6142599B2 (ja) * 2013-03-18 2017-06-07 富士通株式会社 ストレージシステム、ストレージ装置および制御プログラム
CN104346283B (zh) * 2013-08-01 2018-09-28 腾讯科技(北京)有限公司 网络媒介信息存储量的询量分配方法和装置
US11449419B2 (en) * 2020-08-17 2022-09-20 Micron Technology, Inc. Disassociating memory units with a host system
JP7253007B2 (ja) * 2021-05-28 2023-04-05 株式会社日立製作所 ストレージシステム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4438457B2 (ja) 2003-05-28 2010-03-24 株式会社日立製作所 記憶領域割当方法、システム及び仮想化装置
JP2005128771A (ja) * 2003-10-23 2005-05-19 Fujitsu Ltd データファイルシステム、データアクセスサーバ、およびデータアクセスプログラム
US7062624B2 (en) * 2004-09-29 2006-06-13 Hitachi, Ltd. Method for managing volume groups considering storage tiers
JP2008146574A (ja) * 2006-12-13 2008-06-26 Hitachi Ltd 記憶制御装置及び記憶制御方法

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011077490A1 (ja) * 2009-12-24 2011-06-30 株式会社日立製作所 仮想ボリュームを提供するストレージシステム
US8407417B2 (en) 2009-12-24 2013-03-26 Hitachi, Ltd. Storage system providing virtual volumes
US8489844B2 (en) 2009-12-24 2013-07-16 Hitachi, Ltd. Storage system providing heterogeneous virtual volumes and storage area re-allocation
US8527702B2 (en) 2009-12-24 2013-09-03 Hitachi, Ltd. Storage system providing virtual volumes
JP5555260B2 (ja) * 2009-12-24 2014-07-23 株式会社日立製作所 仮想ボリュームを提供するストレージシステム
US8862849B2 (en) 2009-12-24 2014-10-14 Hitachi, Ltd. Storage system providing virtual volumes
US9037829B2 (en) 2009-12-24 2015-05-19 Hitachi, Ltd. Storage system providing virtual volumes
WO2014141466A1 (ja) * 2013-03-15 2014-09-18 株式会社日立製作所 計算機システム
US9680933B2 (en) 2013-03-15 2017-06-13 Hitachi, Ltd. Computer system

Also Published As

Publication number Publication date
US7953952B2 (en) 2011-05-31
US20090144732A1 (en) 2009-06-04

Similar Documents

Publication Publication Date Title
JP2009134397A (ja) 仮想ボリュームに割り当て済みの全ての実記憶領域を解放するか否かを制御する計算機及び方法
US8984248B2 (en) Data migration system and data migration method
EP1837751B1 (en) Storage system, storage extent release method and storage apparatus
JP4890033B2 (ja) 記憶装置システム及び記憶制御方法
US8458424B2 (en) Storage system for reallocating data in virtual volumes and methods of the same
EP2239655B1 (en) Storage controller and storage control method
US8677080B2 (en) Method of controlling total capacity of virtual volumes associated with pool and storage apparatus
US8645655B2 (en) Computing device system and information managing method for rearrangement of data based on access characteristic related to a task
JP5073259B2 (ja) 仮想化システム及び領域割当て制御方法
US20090300283A1 (en) Method and apparatus for dissolving hot spots in storage systems
US9423966B2 (en) Computer system, storage management computer, and storage management method
US7689797B2 (en) Method for automatically configuring additional component to a storage subsystem
JP2007280319A (ja) 記憶領域動的割当方法
JP2011186794A (ja) ストレージシステム内のデータの配置を制御する管理システム、及び、データ配置制御方法
JP2007140728A (ja) 記憶装置システム及び記憶制御方法
JP2007102760A (ja) ストレージエリアネットワークにおけるボリュームの自動割り当て
JP2008065445A (ja) 同一データを纏める事で格納領域を節約する計算機システム、ストレージシステム及びそれらの制御方法
JP2011070345A (ja) 計算機システム、計算機システムの管理装置、計算機システムの管理方法
US9329788B2 (en) Computer system and method for allocating and recovering virtual volumes
JP2012504796A (ja) 複数のマイクロプロセッサを有するストレージシステム、及び、そのストレージシステムにおける処理分担方法
JP2019191886A (ja) 情報処理装置,情報処理方法およびプログラム
US20120254583A1 (en) Storage control system providing virtual logical volumes complying with thin provisioning
JP4871758B2 (ja) ボリューム割当方式
JP5335824B2 (ja) フォーマット又はシュレッディングを行う機能を有したストレージシステム
JP6657990B2 (ja) ストレージ装置、仮想ボリューム制御システム、仮想ボリューム制御方法および仮想ボリューム制御プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100205

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20110706