JP2005115506A - ストレージシステム - Google Patents

ストレージシステム Download PDF

Info

Publication number
JP2005115506A
JP2005115506A JP2003346608A JP2003346608A JP2005115506A JP 2005115506 A JP2005115506 A JP 2005115506A JP 2003346608 A JP2003346608 A JP 2003346608A JP 2003346608 A JP2003346608 A JP 2003346608A JP 2005115506 A JP2005115506 A JP 2005115506A
Authority
JP
Japan
Prior art keywords
virtualization
input
storage
configuration
output
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2003346608A
Other languages
English (en)
Inventor
Hajime Serizawa
一 芹沢
Norio Shimozono
紀夫 下薗
Yasutomo Yamamoto
康友 山本
Naoko Iwami
直子 岩見
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 JP2003346608A priority Critical patent/JP2005115506A/ja
Priority to US10/735,155 priority patent/US7203814B2/en
Priority to EP04023371A priority patent/EP1533688A3/en
Publication of JP2005115506A publication Critical patent/JP2005115506A/ja
Priority to US11/590,425 priority patent/US7334106B2/en
Priority to US12/014,456 priority patent/US7590818B2/en
Pending 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/0635Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/004Error avoidance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • 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/0662Virtualisation aspects
    • G06F3/0664Virtualisation aspects at device level, e.g. emulation of a storage device or system
    • 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/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • 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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1443Transmit or communication errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2089Redundant storage control functionality

Abstract

【課題】
冗長構成の仮想化装置を有するストレージシステムにおいて、システムの稼動中にデータ破壊や入出力障害を回避して、ストレージ仮想化装置の構成情報を変更する。
【解決手段】
ストレージ装置が持つある記憶領域を割当てて複数の仮想ボリュームを形成すると共に、ある仮想ボリュームに対するホストプロセッサからの入出力を処理する複数の仮想化装置を有するストレージシステムにおいて、複数の仮想化装置に対し、ホストプロセッサからの受け付けている処理中の入出力を全て完了させ、以降受け付ける入出力の処理を一時保留させるための要求を発行し、この要求に対する処理中の入出力の処理の完了報告を複数の仮想化装置から受け、要求を発した全ての仮想化装置から完了報告を受けた場合、全ての仮想化装置に対してストレージ装置の記憶領域の割り当て変更の指示を送り、全ての仮想化装置からの割当ての変更の完了報告を受けた場合、一時保留された入出力の状態を解除するための指示を全ての仮想化装置に送ることにより仮想ボリュームに対してストレージ装置の記憶領域の割り当てる。
【選択図】図1

Description

本発明はストレージシステムに係り、特に冗長構成の仮想化装置を有するストレージシステムにおける仮想ボリュームに対する実ストレージ領域の割り当ての変更に関する。
所謂SAN(Storage Area Network)において、ストレージ装置の記憶領域に関連して仮想的な複数のボリュームを設定し、ホストプロセッサからネットワークを介してそれらのボリュームを使用するシステムが知られている。
ネットワークを介して接続されたストレージ装置を仮想化してホストプロセッサからの入出力を可能にするストレージ仮想化装置に関しては、例えば特開2000−242434号公報(特許文献1)に開示されているようなシステムがある。この技術によれば、記憶装置システム1とホスト30との間にスイッチ装置20を設け、このスイッチ装置20でホスト30に提供される仮想的な記憶装置システムの仮想化の設定を変更することにより、ホストに提供される仮想的な記憶領域が割り当てられているストレージ装置を変更する。
特開2000−242434号公報
特許文献1に示されるストレージ仮想化装置(例えばディスクアレイスイッチ)群の構成情報は、各ストレージ仮想化装置ごとに独立に管理されている。
このようなストレージ仮想化システムにおいて、システムの稼動中に構成情報を変更することは、入出力の処理中にその宛先が変更されることとなり、データの破壊や入出力障害を招く。そのために、構成変更中に同時に稼動するストレージ仮想化装置を1台のみに縮退する方法も考えられるが、負荷の集中や耐障害性が低下するという問題が生じる。上記特許文献1には、記憶装置システムが稼動中に、あるボリュームを他のボリュームに移行すると言った構成情報の変更については言及されていない。
本発明の目的は、冗長構成の仮想化装置を有するストレージシステムにおいて、システムの稼動中にデータ破壊や入出力障害を回避して、ストレージ仮想化装置の構成情報を変更することにある。
本発明は、仮想ボリュームに対するホストプロセッサからの入出力を処理する複数の仮想化装置において、複数の仮想化装置に対し、ある時点以降ホストプロセッサから受け付ける入出力の処理を一時保留させるための要求を発し、この要求に対して処理中の入出力の処理が完了した旨の報告を各仮想化装置から受けたことを条件に、各仮想化装置に対してストレージ装置の記憶領域の割り当て変更を行わせ、各仮想化装置からの割当ての変更の完了報告を受けた後、一時保留させていた入出力の状態を解除するように構成する。
ストレージシステムに関する好ましい例では、複数の記憶領域が規定され得るストレージ装置と、このストレージ装置が持つある記憶領域を割当てて複数の仮想ボリュームを形成すると共に、ある仮想ボリュームに対するホストプロセッサからの入出力を処理する複数の仮想化装置とを有するストレージシステムにおいて、仮想ボリュームに対するストレージ装置の記憶領域の割り当ての構成を変更するための構成変更制御装置とを有し、構成変更制御装置は、全ての仮想化装置に対し、構成変更の前に入出力の一時保留を要求する手段と、この要求を受けた全ての仮想化装置は処理中の入出力の完了すると共に、以降ホストプロセッサからの入出力要求を一時保留する状態に遷移して、構成変更制御装置に完了報告を返す手段と、構成変更制御装置は、要求を発した先の複数の仮想化装置からの完了報告を受けた場合に、その仮想化装置に対して、仮想ボリュームに対するストレージ装置の記憶領域の割り当ての変更を指示する手段とを有して構成される。
更に、複数の仮想化装置に関する好ましい例としては、仮想ボリュームとストレージ装置の実領域となる記憶領域を対応付けの構成を変更するための構成変更制御プログラムと、構成変更制御プログラムを実行する第一のプロセッサとを有し、この構成変更制御プログラムは、仮想ボリュームとストレージ装置の実領域となる記憶領域を対応付けの構成を変更する前に、入出力の一時保留を他の仮想化装置に対して要求する手段と、要求を受けた他の仮想化装置は処理中の入出力の完了すると共に、以降ホストプロセッサからの入出力要求を一時保留する状態に遷移して、完了報告を返す手段と、他の仮想化装置からの完了報告を受けた場合に、他の仮想化装置に対して、仮想ボリュームに対するストレージ装置の記憶領域の割り当ての変更を指示する手段と、他の仮想化装置からの割当ての変更の完了報告を受ける手段と、一時保留にされた該入出力の状態を解除するための指示を他の仮想化装置に送る手段とを有して構成される。
更にまた、ストレージ装置に関する構成の例として、実記憶領域を提供するための複数の記憶領域と、この記憶領域を割当てて複数の仮想ボリュームを形成すると共に、ある仮想ボリュームに対するホストプロセッサからの入出力を処理する仮想化装置を有するストレージ装置であって、この仮想化装置は、仮想ボリュームとストレージ装置の実領域となる記憶領域を対応付けの構成を変更する前に、入出力の一時保留を他の仮想化装置に対して要求する手段と、要求を受けた他の仮想化装置は処理中の入出力の完了すると共に、以降ホストプロセッサからの入出力要求を一時保留する状態に遷移して、完了報告を返す手段と、他の仮想化装置からの完了報告を受けた場合に、該他の仮想化装置に対して、仮想ボリュームに対する記憶領域の割り当ての変更を指示する手段と、他の仮想化装置からの割当ての変更の完了報告を受ける手段と、一時保留にされた該入出力の状態を解除するための指示を他の仮想化装置に送る手段とを有するストレージ装置として構成される。
更に好ましい例では、構成情報の変更と同期して、ストレージ装置間でデータのコピーを行うことにより、システムの稼動中に一方のストレージ装置から他方のストレージ装置にデータを移行することができる。また、構成変更制御の機能および上記コピー処理機能をストレージ装置で行うことにより、コピー機能を持たない仮想化装置でもデータ移行を可能にする。
本発明によれば、システムの稼動中に、入出力の一時保留の影響を極力回避して、仮想ボリュームの構成情報の変更を行うことができる。これより、システムの稼動中に一方のストレージ装置のデータを他方のストレージ装置にデータを移行することができる。さらにコピー機能を持たない仮想化装置でもデータ移行が可能になる。冗長構成で稼動中に、仮想ボリュームの割当て先を変更可能なストレージ装置を実現できる。
以下、本発明の実施の形態を、図面を用いて説明する。
まず、図1から図8を用いて第一の実施形態について説明する。
図1は、ストレージシステムの全体の構成を示す図である。
システムは、少なくとも1台のホストプロセッサ12、複数のストレージ装置13、複数の仮想化スイッチ11、構成変更制御装置16及び管理コンソール14が、LANのようなネットワーク15に接続されて構成される。
ホストプロセッサ12は、ストレージ装置13に格納されるデータを使用する計算機である。ホストプロセッサ12は、仮想化スイッチ11が提供する記憶領域を仮想化スイッチ11に接続されていない他の計算機に提供する機能を有するファイルサーバでも良い。
ストレージ装置13は、記憶装置13a又は記憶装置システム13bにより構成される。ここで、記憶装置13aは、例えばハードディスクドライブやDVDドライブ等の単体の記憶装置であり、記憶装置システム13bは、複数の記憶装置13a及びこれらを制御する制御装置1301を有するストレージサブシステムである。記憶装置131は、記憶装置13aの記憶領域を論理ユニット(以下「LU」と言う)131として構成する。LU131は、論理的な記憶領域であり、ホストプロセッサ12などストレージ装置13に接続される装置には、論理的に独立した1つのストレージ装置として認識される。
また、論理ユニット131は、複数の部分的な論理的記憶領域(以下「実領域」)132から構成される。各実領域132も、ストレージ装置13が有する物理的な記憶領域に対応する。実領域132のサイズは任意であり、その範囲は、連続したアドレスをもつ領域である。
仮想化スイッチ11は、図示するように通信線やスイッチによって他の装置と接続されており、他の装置と通信することができる装置である。また、仮想化スイッチ11は、仮想化スイッチ11自身に接続されている複数のストレージ装置13が有する記憶領域をまとめて一つまたは複数の記憶領域とする(所謂、仮想化する)仮想化装置である。そして、仮想化スイッチ11は、仮想化した記憶領域を、仮想化スイッチ11に接続されるホストプロセッサ12に提供する。仮想化スイッチ11がホストプロセッサ12に対して提供する仮想的な記憶領域を以下、仮想ボリューム100と称する。
仮想化スイッチ11とホストプロセッサ12との間および仮想化スイッチ11とストレージ装置13との間で使用される通信線やスイッチでは、ファイバチャネル等のプロトコルが使用される。ここで、使用される通信線やプロトコルはローカルエリアネットワーク等で使用される通信線やプロトコルでも良い。仮想化スイッチ11は、ホストプロセッサ12とストレージ装置13との間に接続され、ホストプロセッサ12が発行するコマンドをストレージ装置13側に転送する機能を有する。
仮想ボリューム100は、少なくとも1つの実領域132から構成される仮想化された記憶領域である。仮想化スイッチ11は、少なくとも1つの仮想ボリューム100をホストプロセッサ12に提供することができる。各々の仮想ボリューム100には、仮想ボリュームを特定するための仮想化スイッチ11内で一意の識別子(以下「仮想ボリューム識別子」)が付与される。また、個々の仮想ボリューム100の記憶領域には連続したアドレスが付されている。ホストプロセッサ12は、ストレージ装置13のLU131内の実領域132を直接指定しないで、仮想ボリューム識別子及び仮想ボリューム100内の場所を示すアドレスを指定して、ストレージ装置13に格納されたデータをアクセスする。
管理コンソール14は、仮想ボリューム100を作成するためにシステム管理者によって使用されるパーソナルコンピュータPCのような計算機であり、表示装置や入力装置、及びメモリ等を備える。管理コンソール14は、LAN15を介して仮想化スイッチ11と接続され、互いに通信することができる。
構成変更制御装置16は、仮想化スイッチ11を制御して構成情報、即ち仮想ボリューム100と実領域132との対応付けの変更を制御する装置である。構成変更制御装置16は、例えば、PCやサーバによって構成することができ、LAN15を介して仮想化スイッチ11と接続され、互いに通信することができる。
図2は、図1の仮想化スイッチ11の内部構成を示す。
仮想化スイッチ11は、入力ポート240、出力ポート250、転送部230、プロセッサ210、メモリ220、バス270および通信部260から構成される。転送部230、プロセッサ210、メモリ220および通信部260は全てバス270に接続され、互いにデータを送受信する。
入力ポート240は、仮想化スイッチ11がホストプロセッサ12と通信するための通信線を接続するポートである。出力ポート250は、仮想化スイッチ11がストレージ装置13と通信するための通信線を接続するポートである。尚、入力ポート240及び出力ポート250を構成する要素は、共通の場所にあっても良い。この場合、どのポートを入力ポートあるいは出力ポートとして使用するかは、使用者が選択する。
転送部230は内部メモリを有し、そのメモリに転送情報テーブル231を保持する。転送情報テーブル231には、各入力ポート240を介して仮想化スイッチ11と通信可能なホストプロセッサ12、及び各出力ポート250を介して仮想化スイッチ11と通信可能なストレージ装置13との間の対応関係についての情報が格納される。
転送部230は、転送情報テーブル231を参照し、入力ポート240でホストプロセッサ12から受信した入出力要求を、要求先のストレージ装置13と仮想化スイッチ11との間の通信に使用される出力ポート250へ転送する。また、転送部230は、出力ポート250でストレージ装置13から受信した応答情報やデータを、受信すべきホストプロセッサ12と仮想化スイッチ11の間の通信に使用される入力ポート240へ転送する。ただし、ホストプロセッサ12から受け取った入出力要求が仮想ボリューム100に対する入出力要求である場合には、転送部230は、後述する入力キュー241にその入出力要求をエンキューし、プロセッサ210にその処理を依頼する。また、後述する出力キュー251に積まれた入出力要求を、出力ポートを介してストレージ装置13へ転送する。
プロセッサ210はメモリ220上に格納されたプログラムを実行し、ホストプロセッサ12から仮想ボリューム100宛ての入出力の処理や構成情報の変更処理を行う。
メモリ220は、プロセッサ210が実行するプログラムやその実行に必要な情報を格納する。メモリ220が格納するプログラムおよびデータには、構成管理プログラム211、IO処理プログラム213、入力キュー241、出力キュー251、保留中キュー242、処理中キュー252、構成情報221および構成情報差分222が含まれる。
構成管理プログラム211は、構成変更制御装置16からの要求を受けて、入出力の一時保留および再開処理や構成情報の変更処理を行うためのプログラムである。
IO処理プログラム213は、ホストプロセッサ12からの仮想ボリューム100宛ての入出力の処理、即ち入出力をストレージ装置13宛ての入出力へ変換して転送する処理のためのプログラムである。
入力キュー241は転送部230が仮想ボリューム100宛ての入出力要求を積むためのキューである。出力キュー251はIO処理プログラム213が処理したストレージ装置宛ての入出力要求を積むためのキューである。入力キュー241および出力キュー251の数は任意である。
保留中キュー242は、仮想化スイッチ11が入出力の処理を一時的に保留している状態(IO一時保留状態)のときに受け付けた仮想ボリューム100宛ての入出力要求を記憶しておくためのキューである。処理中キュー252は、仮想スイッチ11が処理してストレージ装置13宛てに転送した仮想ボリューム100宛ての入出力要求を、該入出力が完了するまで記憶しておくためのキューである。
構成情報221とは、仮想ボリューム100と実領域132との対応付けの表である。構成情報差分222とは、構成情報221を変更する際の変更前後の差分を記録するバッファである。
なお本実施形態では、保留中キュー242、処理中キュー252、構成情報221および構成情報差分222は仮想化スイッチ11ごとに1個づつである。
通信部260はプロセッサ210がLAN15を介して、構成変更制御装置16および管理コンソール14と通信可能にする。
図3は、図1の構成変更制御装置16の内部構成を示す。
構成変更制御装置16は、例えば管理サーバのような装置であり、プロセッサ161、メモリ162、バス270および通信部260から構成される。プロセッサ161、メモリ162および通信部260は全てバス270に接続され、互いにデータを送受信する。
プロセッサ161はメモリ162上に格納されたプログラムを実行し、仮想化スイッチ11の構成変更を制御する。
メモリ162は、プロセッサ161が実行するプログラムやその実行に必要な情報を格納する。メモリ162が格納するプログラムおよびデータには、構成変更制御プログラム212、構成情報221および構成情報差分222が含まれる。
構成変更制御プログラム212は、仮想化スイッチ11の構成変更を制御するためのプログラムである。
図4は、ストレージシステムにおける構成情報221のテーブルを示す図である。構成情報のテーブル221は、仮想化スイッチ11及び構成変更制御装置16内に備えられる。
構成情報221は、仮想ボリュームのアドレス41、オフセット42、サイズ43、LUのアドレス44、及びオフセット45を含むエントリにより構成される。各エントリは、実領域132および実領域132が割当てられている仮想ボリューム100上の部分領域に対応付けられている。LUのアドレス4はエントリと対応する実領域132が含まれるLU131を仮想化スイッチ11が識別するための情報を示し、オフセット45は実領域132のLU131上の開始アドレスを示し、サイズ43は実領域132のサイズを示す。
仮想ボリュームのアドレス41は、ホストプロセッサ12が仮想ボリューム100を識別するための情報、オフセット42は、そのエントリに対応する部分領域の仮想ボリューム100上の開始アドレスを示す。なお、仮想ボリュームのアドレス41およびLUのアドレス44は、具体的にはファイバチャネルのWWN(World Wide Name)またはポートID、およびLUN(logical Unit Number)との組を使用する。
次に、図5を参照して、このストレージシステムにおける構成変更について概略説明する。図5は、ストレージシステムおける構成変更制御装置16と仮想化スイッチ11との通信手順を示す図である。
管理コンソール14から構成情報の変更要求の指示が入力されると、それは構成変更制御装置16に伝えられる(501)。そしてステップ502から505の処理を実行して、ホストプロセッサ12が発行した入出力の処理を一時保留する。これは構成変更の前後で処理中の入出力が存在すると矛盾が生じるためである。もしこのように入出力処理中に構成情報が変更されると、その入出力は正しい実領域132と対応付けが出来なくなり、データ破壊を生じる可能性がある。このデータ破壊は以下の処理により防止される。
すなわち、構成変更の指示を受けた構成変更制御装置16は、全仮想化スイッチ11に対して入出力処理を一時保留する要求(IO一時保留要求)を発行する(502)。この保留要求を受けた仮想化スイッチ11は、処理中の入出力及び以後の入出力処理を一時保留して、処理中の入出力の実行完了を待つ(503)。実行完了後、構成変更制御装置16に対し、ステップ503の完了の報告(IO一時保留完了報告)をする(504)。その後、構成変更制御装置16は全ての仮想化スイッチ11からの完了報告を待つ(505)。
以上の処理で構成情報の変更が可能になった。そして次に、ステップ506から509が実行され、全ての仮想化スイッチ11の構成情報を一括して変更する。これは仮想化スイッチ11が持つ構成情報の一貫性が取れていないと、処理する仮想化スイッチ11により、同じ仮想ボリュームに対応する入出力が異なる実領域132と対応付けられることでデータ破壊を生じる可能性があるためである。
構成変更制御装置16は、全ての仮想化スイッチ11に構成情報の差分とその差分を用いた構成情報の変更要求を送信する(506)。要求を受けた仮想化スイッチ11は、構成情報を変更する(507)。そして構成変更が完了した後、構成変更制御装置16に対し、構成情報変更の完了を報告する(508)。その後構成変更制御装置16は全ての仮想化スイッチ11からの完了報告を待つ(509)。
最後にステップ510から513を実行し、ステップ503で一時保留した入出力を再開する。
構成変更制御装置16は、全ての仮想化スイッチ11に対し一時保留している入出力の処理を再開する要求(IO再開要求)を発行する(510)。要求を受けた仮想化スイッチ11は、一時保留中の入出力を再開する(511)。そして構成変更制御装置16に対し、再開処理の完了を報告する(512)。その後、構成変更制御装置16は全ての仮想化スイッチ11からの完了報告を待ち(513)、管理コンソールへ完了報告を行う(514)。
このようにして、入出力処理中(即ちシステムの稼動中)の構成情報の矛盾や複数の仮想化スイッチ11の間での構成情報の矛盾を発生させずに、構成変更が可能になる。
次に、図6を参照して、構成変更制御装置16における構成変更制御プログラム212の処理動作について説明する。
まず、プロセッサ161は、全ての仮想化スイッチ11に対し、IO一時保留要求を発行し、全ての仮想化スイッチ11からの完了報告を待つ(601)。待ち合わせが正常に完了した場合(602“Y”)、構成情報221の変更が可能になる。この場合、プロセッサ161は全ての仮想化スイッチ11に対し、構成変更要求と構成情報差分222を送信して構成情報221を変更させる。そして全ての仮想化スイッチ11からの完了報告を待つ(603)。待ち合わせが正常に完了した場合(604“Y”)、構成情報221が正常に変更されたので、保留中の入出力を再開するために、プロセッサ161は全ての仮想化スイッチ11に対し、IO再開要求を送信し、全ての仮想化スイッチ11からの完了報告を待つ(605)。待ち合わせが正常に完了した場合(606“Y”)、全ての変更処理が成功したと判断して、管理コンソール14に成功した旨を示すメッセージを返す(607)。以上が構成変更制御プログラム212の正常処理の流れである。
一方、仮想化スイッチ11がIO一時保留要求を正常に完了しなかった場合(602“N”)、以後の処理を続行するか否かを判断する(608)。
本実施形態では、成功の応答を返した仮想化スイッチ11が2台以上ある場合、処理を続行し(608“Y”)、成功の応答を返さなかった仮想化スイッチ11は使用しないようにするために、制御対象から外し(611)、ステップ603から処理を継続する。なおステップ611で、仮想化スイッチ11のいくつかを制御対象から外した場合、これらの仮想化スイッチ11の入出力を誤って再開してしまうと不正な構成情報221で運用されてしまうことになるので、プロセッサ161はステップ607で、管理コンソール14に対して制御対象から外した仮想化スイッチ11を報告し、「構成変更の際に入出力の一時保留の同期に失敗して構成を変更できなかったため仮想化スイッチのいくつかを停止した」旨のメッセージを管理コンソール14の表示装置に表示する。
また、処理を続行しない場合(608“N”)、プロセッサ161はまず全ての仮想化スイッチ11に対してIO再開要求を送信し、全ての仮想化スイッチ11からの完了報告を待ち(609)、ステップ601以降を再試行するか否かを判定する(610)。ここで、ステップ602における異常がタイムアウトであった場合、このタイムアウトは仮想化スイッチ11が多数の入出力を処理中のためにそれらの完了を待ちきれないことに起因すると考えられる。従って、再試行によりこの完了待ちが成功する可能性があるため、他に異常がない場合は、本実施形態では一定回数に限り再試行する(610“Y”)。ステップ610“Y”以降、プロセッサ161はステップ601から処理を繰り返す。
一方、再試行しない場合(610“N”)には、ステップ609で成功が返らなかった仮想化スイッチ11が有れば、これを制御対象から外す(617)。そして、管理コンソール14に対してエラーの発生とその要因を報告し、「仮想化スイッチの入出力完了待ちに失敗した」旨のメッセージを表示する(616)。より望ましくは、管理コンソール14は、「ホストプロセッサ12から仮想ボリューム100への入出力頻度が低いときに構成変更の再試行せよ」と、管理者に促す旨のメッセージを表示する。
さらに、ステップ604で異常検出、即ち構成情報221の変更に失敗した場合は、プロセッサ161は元の構成情報221に戻して(612、613)入出力を再開させた(614、615)後に、管理コンソール14に対してエラーの発生とその要因を報告し、例えば「管理者が指定した構成情報への変更に失敗した」という旨のメッセージを表示する(616)。
なお、ステップ613および615で異常を検出した場合(“N”の場合)は、以降の処理を続行できないので、プロセッサ161は成功の応答が返らなかった仮想化スイッチ11を制御の対象から外し(617)、ステップ616の処理を行い、例えば「管理者が指定した構成情報への変更に失敗しリカバリ処理にも失敗した」旨のメッセージを表示する。以上の様に、プロセッサ161は構成情報221の変更を制御する。
次に、図7を参照して、仮想化スイッチ11における構成管理プログラム211の処理動作について説明する。
構成管理プログラム211が呼び出される要因は、仮想化スイッチ11が構成変更制御装置16から、IO一時保留要求、IO再開要求、構成情報変更要求のいずれかを受領した場合である。まず、IO一時保留要求を受領した場合(701“Y”)、プロセッサ210は、IO処理プログラム213を呼び出してIO一時保留状態にする(702)。そして一時保留状態への遷移に成功した場合(703“Y”)、プロセッサ210は、構成変更プログラム212を実行するプロセッサ161に対して成功の応答を返す(704)。
次に、構成情報変更要求を受領した場合(705“Y”)、プロセッサ210は、IO一時保留状態であることを確認する(706)。これは誤って入出力の処理中に構成情報221を変更しないためである。さらにプロセッサ210は構成情報221を変更する(707)。その結果、正常に変更できた場合には(708“Y”)、ステップ704を実行する。
また、IO再開要求を受領した場合(709“Y”)、プロセッサ210は、IO一時保留状態であることを確認する(710)。その結果、保留状態であれば(710“Y”)、IO処理プログラム213を呼び出してIO一時保留状態を解除して入出力を再開する(711)。正常に変更できた場合(712“Y”)、ステップ704を実行する。以上が構成管理プログラム211の正常パスである。
一方、異常パスは、ステップ703、706、708、710、712で、否(“N”)になった場合であり、いずれの場合もエラーとその要因をプロセッサ161に返す(713)。
このように、プロセッサ210は構成管理プログラム211を実行することで、構成変更制御装置16の指示に従って構成情報221を変更できる。
次に、図8を参照して、仮想化スイッチ11におけるIO処理プログラム213の処理動作について説明する。
IO処理プログラム213が呼び出される要因は、入力キュー241に入出力要求がエンキューされたとき、処理中キュー252の入出力要求が完了したとき、構成管理プログラム211の処理により、IO一時保留状態に遷移するときおよびIO再開要求により、IO一時保留状態を解除するときである。
入力キュー241に入出力要求がエンキューされたとき(801)は、プロセッサ210は、IO一時保留状態でない場合(802“N”)、その入出力要求を処理する。即ち構成情報221を参照して仮想ボリューム100のアドレスからLU131のアドレスへの変換を行って、出力キュー251にエンキュー(以下、入出力要求を処理したと言う)した後、その入出力要求を処理中キュー252にエンキューする(803)。その後プロセッサ210はイベント待ち(804)を実行し、次の起動要因を待つ。
一方、IO一時保留状態にある場合(802“Y”)、プロセッサ210はその入出力要求を保留中キュー242にエンキューし(805)、ステップ804以降の処理を実行する。
処理中キュー252の入出力要求が完了したとき(807“Y”)、プロセッサ210は、処理中キュー252から入出力要求をデキューする(808)。そしてIO一時保留状態か否かを確認する(809)。もし、IO一時保留状態でない場合は(809“N”)、プロセッサ210はステップ804以降の処理を実行する。
一方、IO一時保留状態である場合は(809“Y”)、プロセッサ210は処理中キュー252を検査ずる(810)。検査の結果、空になっていた場合(810“Y”)には、構成管理プログラム211にIO保留状態への遷移完了を報告し(811)、処理を完了する。これに対して処理中キュー252が空でない場合(810“N”)には、プロセッサ210はステップ804からの処理を繰り返す。
IO一時保留状態に遷移するとき(812“Y”)は、プロセッサ210はIO一時保留状態になったことを記憶し(813,814)、ステップ810から処理を継続する。
また、IO再開要求を受けた場合には(815“Y”)、IO一時保留状態にあるか否かを確認する(816)。確認の結果、保留状態にあれば、IO一時保留状態を解除し、保留中キュー242の入出力要求を処理して、処理中キュー252へエンキューする(817)。そして正常にエンキューできた場合には(818“Y”)、ステップ811の処理(即ち完了報告)を実行する。以上が、IO処理プログラム213が正常に実行された場合の処理である。
これに対して、IO処理プログラム213の処理が正常でない場合には、ステップ814、816、818で否(“N”)となった場合である。これらの場合には、何れも処理を継続できないので構成管理プログラム211にエラーとその要因を返す(819)。
この実施形態においては、構成変更制御プログラム212の実行時のステップ610によりデータ破壊の原因となる構成情報221の変更中の入出力処理を回避し、さらにステップ603により同様にデータ破壊の原因となる仮想化スイッチ11間の構成情報221の矛盾を回避する。
次に、図9から図11を用いて第二の実施形態について説明する。
図9は、ストレージシステムにおける仮想化スイッチ11の内部構成を示す。
図2に示す仮想化スイッチ11と相違する点は、バス270に接続されたプロセッサ161を備え、メモリ220に構成変更制御プログラム212が格納され、この構成変更制御プログラム212をプロセッサ161が実行することである。ここでプロセッサ161はタイマ165を備え、このタイマ165によりプロセッサ161で構成変更制御プログラム212の処理が周期的に起動される。なお、タイマ165はソフトウェアで実現したタイマであっても良い。
本実施形態によれば、仮想化スイッチ11に構成変更制御プログラム212及びプロセッサ161を内蔵することにより、仮想化スイッチ11を構成変更制御装置16として機能させることができる(以下、このように機能付けられ仮想化スイッチ11も構成変更制御装置16と呼ぶ)。仮想化スイッチ11が複数在る場合、それら全てに上記のような構成を備えて、構成変更制御装置16としての機能付けを行うことができる。この様に全ての仮想化スイッチ11に構成変更制御プログラム212及びプロセッサ161が備えられれば、図1に示すシステムにおける構成変更制御装置16は不要となる。
なお、仮想化スイッチ11に設けられるプロセッサ210に、プロセッサ161の機能を兼用させることもできる。
図10は、第二の実施形態における構成変更制御プログラム212の処理を示す。図10の処理動作で、調停処理600を含む点が、図6と相違する。その調停処理600の詳細な処理フローを図11に示す。
調停処理600は、複数の仮想化スイッチ11に対応する複数のプロセッサ161のうち、ステップ601以降の処理を実行するプロセッサ(以下、マスタ権を持つプロセッサという)を1個に限定させる役目をする。本実施形態では、構成変更制御プログラム212は、管理コンソール14からの構成変更の要求以外に、他の構成変更制御装置(仮想化スイッチ11に内臓の)16からの監視パケットの受信およびタイマ165によっても起動される。
図11のフローチャートにおいて、まず、プロセッサ161は、監視パケットを受信した場合(1101“Y”)、この監視パケットを送信した構成変更制御装置16へ応答パケットを返し(1102)、調停処理を完了し、構成変更制御プログラム212の処理も完了する(1110)。
監視パケットおよび応答パケットは、送信した構成変更制御装置16のID、マスタ権を持つプロセッサを内蔵する構成変更制御装置16のID(以下、マスタ権を持つ装置のID)を含む。これらのIDは、構成変更制御装置16を識別するための識別子であり、例えば通信部260が持つIPアドレスである。プロセッサ161が管理コンソールから構成変更の要求を受けた場合(1103“Y”)、プロセッサ161は他の構成変更制御装置16にマスタ権を主張する、即ち、自装置16のIDを、マスタ権を持つ装置のIDとして記録した監視パケットを全ての構成変更制御装置16に送信して応答を待つ(1104)。正常終了、即ち自装置16以外のIDを、マスタ権を持つ装置のIDとして持つ応答パケットを受信しなかった場合(1105“Y”)、処理を完了して構成変更制御プログラム212のステップ601に移る(1106)。
ステップ1103において、タイマ165の契機で呼び出された場合、プロセッサ161は他の構成変更制御装置16を監視する、即ち監視パケットを、マスタ権を持つ装置に送信する(1107)。正常終了、即ちマスタ権を持つ装置からその装置のIDを、マスタ権を持つ装置のIDとして持つ応答パケットを受信した場合(1108“Y”)、ステップ1110へ進み、処理を完了する。以上が調停処理の正常な場合である。
これに対して、異常な処理の場合、即ちステップ1105、1108で否(“N”)の場合には、マスタ権を持つ装置が他にあるため、管理コンソール14にその旨を報告して(1109)、ステップ1110へ進み、処理を完了する。
その他の処理動作は、前述した第一の実施形態と同様なので、説明を省略する。
このように、第二の実施形態によれば、ステップ1104、1102の処理動作により、マスタ権を持つ装置が、最初に管理コンソール14から構成変更の要求を受けた装置16のみに限定される。即ち、システム中で複数のプロセッサ161が構成変更制御プログラム212を実行しても矛盾を生じさせずに構成情報221を変更することができる。
なお、ステップ1107、1102により、システムの管理者はマスタ権を持つ装置16に障害が発生した場合に、管理コンソール14を通じてこれを知ることができる。
次に、図12から図18を用いて第三の実施形態を説明する。
図12は、ストレージシステムにおける仮想化スイッチ11の内部構成を示す。
図9に示す仮想化スイッチ11と比べて、一時保留制御表223を備える点、複数の処理中キュー252を持つ点、及び2面の構成情報221a,221bを持つ点が相違する。尚、プロセッサ210はタイマ215を備える。
一時保留制御表223は、構成情報221の各エントリと処理中キュー252との対応付けを記憶することで、入出力を一時保留するか否かを制御する。複数の処理中キュー252を持つ理由は、入出力の宛先のアドレスにより処理中キュー252を分けることにより、完了待ちおよび一時保留する入出力を限定するためである。構成情報221を二面持つのは、構成情報221の面の切替えを行うことにより、IO一時保留状態での処理時間を短縮するためである。また、タイマ215はIO処理プログラム213の処理でプロセッサ210がセットし、IO一時保留状態のタイムアウトを検出するために設けられる。
図13は、第三の実施形態における、構成変更制御装置16と仮想化スイッチ11との通信手順を示す。
この実施形態では、複数の仮想化スイッチ11の中で構成変更制御の機能が有効となる仮想化スイッチは1台のみであるので、構成変更制御機能が有効である仮想化スイッチ11と、その機能が有効でない仮想化スイッチ11との間で通信が必要となる。その通信の手順が図13に示す例である。また、同じ仮想化スイッチ11の中でも同様の通信が行われる。そこで、図13に示す「構成変更制御機能」は、図12のプロセッサ161又はそこで実行される構成変更制御プログラム212を指し、「仮想化スイッチ11」は自他の仮想化スイッチ11におけるプロセッサ210又はそこで実行される構成管理プログラム211を指すもの想定して参照願いたい。
図13について図5に示す通信手順との相違点は、ステップ501と502の間に、ステップ531〜533が追加されている。また、図5のステップ506〜508で、構成情報変更要求を送信することに代わり、構成情報切替要求を送信する。
さて、ステップ530で、プロセッサ161は全ての仮想化スイッチ11に構成情報差分222を送信する(530)。全仮想化スイッチ11では構成情報の差分を格納し、構成情報221を作成する(531)。仮想化スイッチ11は構成情報221のうち、IO処理プログラム213で使用していない面(ここでは221bとする)を作成する。その後、仮想化スイッチ11は構成情報差分受信完了報告を構成変更制御装置16へ返す(532,533)。
またステップ507´で、仮想化スイッチ11は構成情報221aから構成情報221bへの切替を行う。このようにIO一時保留状態の間(ステップ503から511の間)での処理が、ステップ507´による構成情報221の面切替えだけで済むようになるため、処理時間を短縮できる。
図14は、図12における一時保留制御表223の一例を示す。
一時保留制御表223は複数のエントリからなり、それぞれのエントリは一時保留の状態2231および処理中キューIDの2232を持つ。一時保留の状態2231と処理中キューのID2232は、共に完了待ちおよび一時保留する入出力を限定するために備えられる。なお、一時保留の状態2231および処理中キューのID2232の初期値は、仮想化スイッチ11の初期化時または仮想ボリューム100の作成時にプロセッサ210が、それぞれ一時保留でない状態および空いている(一時保留制御表223と対応付けられていない)処理中キュー252のIDを格納することにより行う。なお、空いている処理中キュー252が無い場合には、プロセッサ210が新規に処理中キュー252を作成し、そのIDをID2232に格納する。
図15は、図12における構成情報221を示す図である。
図15は、図4に示すテーブルに比べ、制御表223のインデクス411を備えたことが相違する。インデクス411は一時保留制御表223のエントリを指している。構成情報221のエントリ即ち仮想ボリューム100上のアドレス範囲が、一時保留制御表223のエントリを通して、一時保留の状態2231と処理中キュー252と対応付けられていることにより、アドレス範囲ごとに入出力を一時保留するか否かを制御することができる。
図16は、図12に示す仮想化スイッチ11における構成変更制御プログラム212の処理を示す。
図10に比べて相違する点は、調停処理(ステップ600)の後に、ステップ625及び626が挿入され、ステップ602の後にステップ627が挿入されている。また、ステップ603及び612の代わりにステップ603´及び612´を含んでいる。
ステップ625とステップ626の処理は、図13の手順530、533と同じである。ステップ627において、プロセッサ161は、プロセッサ210がIO処理プログラム213の処理中にIO一時保留状態のタイムアウトを検出した場合(627“Y”)に、一旦IO再開要求を出し(609)、ステップ601以降を再試行させる。
このステップ627により、ホストプロセッサ12による入出力のタイムアウトに先んじてIO一時保留状態を解除することができる。またステップ603´および612´は構成情報221を書き換える代わりに、構成情報を221aから221bへ切り替える処理を仮想化スイッチ11に依頼する。構成情報221の切り替え処理は、メモリに構成情報を書き換えるよりも短時間で済むため、結果IO一時保留状態の時間を短縮する事が可能になる。
図17は、図12の仮想化スイッチ11における構成管理プログラム211の処理を示す。
図7に示すフローチャートとの相違する点は、ステップ709“N”の後にステップ714から718が加わったことである。ステップ707では構成情報221のうち、IO処理プログラム213が使っていない面(221bとする)の更新を行っている。ステップ714“Y”から704までの処理は、図13の手順507´、508´と同じである。
構成管理プログラム211が呼び出される要因は、IO一時保留要求・再開要求、構成情報更新要求・構成情報切替要求の他に、IO処理プログラム213からの要求があり、この要求がある場合ステップ601“N”へ進む。次にプロセッサ210は、IO処理プログラム213の要求を構成変更制御装置16へ伝える(718)。この処理により、IO一時停止状態のタイムアウトを契機に、構成変更制御プログラム212での処理を再試行することができる。
さらにステップ705からステップ704の処理は、図13の手順531、532と同じである。
図18は、図12におけるIO処理プログラム213の処理を示す。
図18は図8のフローチャートに比べて、ステップ802、803、805,808,809,810,813,816,817の処理内容が相違する。
ステップ802´、809´、816´では、プロセッサ210はIO一時保留状態であるか否かの判定に、構成情報221中のインデクス411が指すエントリの一時保留の状態2231を検査することで行う。これにより、入出力の宛先となっている仮想ボリューム100のアドレス範囲ごとに入出力を一時保留するか否かを制御することができる。
さらに、ステップ803´および808´では、プロセッサ210は処理中キュー252として、構成情報221中のインデクス411が指すエントリの処理中キューのID2232で特定される処理中キュー252を使用する。
また、ステップ813´において、プロセッサ210は、構成情報差分222の内容により定義されている仮想ボリューム100上の領域に対する入出力に限り、IO一時保留状態になるように状態を変更する。具体的には、プロセッサ210は構成情報差分222に登録されている全エントリに対応する、構成情報221aのインデクス411をリストアップし、これらのインデクス411に対応するエントリの一時保留の状態2231を全て一時保留中に変更する。既に述べたように、ステップ802´ではこの一時保留の状態2231を検査している。従って、この一時保留の状態2231に対応する入出力要求、即ち構成情報差分222により影響を受ける入出力要求のみが保留されることになる。
ステップ810´において、プロセッサ210は、構成情報差分222に登録されている全エントリに対応する、構成情報221aのインデクス411をリストアップし、これらのインデクス411に対応するエントリの処理中キューのID2232が指す処理中キュー252を全て検査し、空になっているか否かを判定する。
ステップ805´において、プロセッサ210は、処理中キューID2232に示された処理中キュー252にエンキューし、タイマ215をセットし、ステップ817´において、プロセッサ210はタイマ215をリセットして、ステップ813´で保留中にした一時保留の状態2231を一時保留でない状態にリセットし、保留中キュー242にエンキューされている入出力を処理し、処理中キューID2232に示された処理中キュー252にエンキューする。
ステップ820“Y”では、プロセッサ210が、タイマ215のタイムアウトを契機にIO処理プログラム213の処理を開始する場合である。この場合、プロセッサ210はステップ819を実行して、構成管理プログラムへエラーを返し、プロセッサ210はステップ818を処理する。
その他は第二の実施形態と同様なので説明を省略する。
このように第三の実施形態では、ステップ625と60´により、IO一時保留状態の時間を短縮することができ、ステップ805´、820、627により、IO一時保留状態を解除し再試行することでIO一時保留状態の時間を限定できる。これにより、ホストプロセッサ12における入出力のタイムアウトまたは性能低下を防止できる。
さらに本実施形態では、ステップ813´と802´により一時保留する入出力を構成変更の影響を受ける範囲に限定することができる。これにより構成変更による性能低下を防止できる。
なお、本実施形態の変形例として、上記した2面の構成情報221を持たず、ステップ625を実行しない方法もある。例えば、ステップ603´即ち構成情報221を切り替える処理の代わりにステップ603の処理(第一の実施形態における構成情報221の書き換え)を行っても良い。その場合、IO一時保留状態の時間は長くなるが、メモリ220の容量を小さく抑えることができる。
次に、図19から図26を用いて第四の実施形態を説明する。
図19は、第四の実施形態における仮想化スイッチ11の内部構成を示す。
図12に示す構成と比べて、コピー処理プログラム214とコピー進捗表224が追加され、1面から成る構成情報221を持つ点が異なる。
コピー処理プログラム214は、プロセッサ210で実行され、仮想ボリューム100が対応するLU1311を別のLU1312へ変更するときに、LU1311からLU1312へデータをコピーする処理を行う。コピー進捗表224は、コピー処理プログラム214の中で、コピー処理がどこまで進んだかを管理するために使用する表であり、複数のエントリからなる。各エントリはLU131を構成する実領域132に対応する。本実施形態では、IO一時停止中に構成情報差分222を生成する。そのため構成情報221は1面しか持たない。その他の構成は図12と同様である。
図20は、図19の仮想化スイッチ11における構成情報221の例を示す。
図15に比較して、LUのアドレスとオフセットの組は、Readコマンド用に44と45、Writeコマンド用に46と47、及び48と49の2組からなる、計3組を持つ。本実施形態ではコピー処理プログラム214の進捗により、仮想ボリューム100の対応がRead及びWriteで異なる。さらに、Writeの場合、LU1311とLU1312へ二重書きをする場合もあるため、Write用のアドレスとオフセットの組は2組用意する。
図21は、図19の仮想化スイッチ11における構成変更制御プログラム212の処理を示す。
図16のフローチャートに比べて、ステップ627と603の間に、ステップ631〜633および635が追加され、ステップ606と607の間にステップ634が追加されている。また、ステップ603´、612´の代わりにステップ603、612の処理が行われる。
コピー処理631において、プロセッサ161は、コピー処理プログラム214の起動を行う。コピーが異常無しに行われた場合(632“Y”)、プロセッサ210はコピー進捗表224を参照して、構成情報差分222を作成する。尚、差分の作成についての詳細は図26を参照して後で説明する。
ステップ634において、プロセッサ161はLU1311からLU1212へのコピーが全て完了したか否かを、コピー進捗表224を検査して判断する。コピーが完了している場合(634“Y”)、ステップ607を実行して処理を完了する。一方、コピーが完了していない場合(634“N”)には、プロセッサ161はステップ601から処理を繰り返す。
コピーが異常終了した場合(632“N”)、プロセッサ161は回復処理を行う(635)。具体的には、構成変更制御プログラム212を実行する以前の構成情報221に戻すように差分222を作成し、全ての仮想化スイッチ11に構成変更要求を発行して完了を待つ。さらにプロセッサ161はステップ614以降の処理を実行し、管理コンソールへエラーを報告して処理を完了する。
図22は、図21のフローチャートに示すコピー処理631の詳細な処理動作を示す。
まずプロセッサ161は、構成変更制御プログラム212を起動してから最初のコピー処理6311が起動された場合(6311“Y”)、プロセッサ210に対しCOPY開始要求を送信し、コピー処理プログラム214を起動する(6312)。COPY開始要求に伴い、今回のコピー処理プログラム214の起動でコピーを行うアドレス範囲もプロセッサ210に指示する。
一方、最初の起動でない場合(6311“N”)、プロセッサ210に対しCOPY再起動要求を送信し、コピー処理プログラム214を起動する(6313)。この場合も今回のコピー処理プログラム214の起動でコピーを行うアドレス範囲をプロセッサ210に指示する。いずれの場合も、プロセッサ161は次にイベント待ち状態となる(6314)。ここで、プロセッサ161が待つイベントは、コピー処理プログラム214の完了、後述するステップ718による、コピー優先要求またはコピー中断要求の受信である。コピー処理プログラム214の処理が完了した場合(6315“N”、6316“N”)、プロセッサ161はステップ632へ移る。
コピー中断要求の場合(6315“Y”)、プロセッサ210に対しCOPY中断要求を送信し、コピー処理プログラム214を起動する(6317)。コピー優先要求の場合は、一旦コピー中断としてステップ6315“Y”から処理を行い、次にコピー処理を再起動する必要があるためプロセッサ161はステップ6316“Y”を実行して、ステップ6313以降の処理を繰り返す。その際、優先してコピーするアドレスがプロセッサ210から渡されるため、そのアドレスを含む範囲をステップ6313で指定する。
ステップ6312および6313の通り、コピー処理プログラム214の起動は複数回に分けて行われる。さらにステップ6317ではコピーを一度中断させている。これにより入出力を一時保留する時間を短縮できる。
図23は、図19の仮想化スイッチ11における構成管理プログラム211の処理を示す。
本実施形態では、IO一時保留状態の間に構成情報221の面切替えを行わないため、構成管理プログラム211の処理は第一の実施形態に示したものに近い。そこで、図23を図7のフローチャートと比較するに、図7と相違する点は、ステップ718を追加したところにある。
本実施形態では、構成管理プログラム211が呼び出される契機は、図7の場合に加え、IO処理プログラム213からのコピー優先要求またはコピー中断要求による。いずれの場合も、プロセッサ210はステップ709Nと判断することになり、さらにプロセッサ161に対し、コピー優先要求またはコピー中断要求を行う(718)。ただし、コピー優先要求の場合、優先してコピーするアドレスがIO処理プログラム213から渡されるので、そのアドレスもプロセッサ161に渡す。
このように、ステップ718の処理により構成管理プログラム211はIO処理プログラム213の処理による要求を構成変更制御プログラム212の処理へ反映する働きをする。
図24は、図19の仮想化スイッチ11におけるIO処理プログラム213の処理を示す。
図18に示すフローチャートに比べて、ステップ805´の後にステップ806が追加され、ステップ820の後にステップ821が追加されている。
ステップ806において、プロセッサ210は、構成管理プログラム211を呼び出し、受け付けた入出力がWriteの場合はコピー優先要求を行う。その際、Writeの場合は受け付けた入出力でWriteされるアドレス範囲を構成管理プログラム211に渡す。
本実施形態において、タイマ215のタイムアウト(820“Y”)はコピー処理によるので、ステップ821において、プロセッサ210は構成管理プログラム211を呼び出してコピー中断要求を行う。
ステップ806および821の処理によって、一時保留した入出力によるコピー処理を中断または優先させることで、その入出力が保留されている時間を短縮できる。
なお、ステップ806において、受け付けた入出力がReadの場合はコピー中断要求を行うことにすると、さらに入出力を一時保留する時間を短縮することができる。(この場合、ステップ821は不要になる)。但し、その分コピー処理は遅くなる。
図25は、図19の仮想化スイッチ11におけるコピー処理プログラム214の処理を示す。
コピー処理プログラム214が起動する契機は、構成変更制御プログラム212からのCOPY開始要求およびCOPY再起動要求、COPY中断要求と、データを実際にコピーする入出力の完了のタイミングである。コピー開始要求があった場合(901“Y”)、プロセッサ210はコピー進捗表224の全エントリを、未コピー状態を示す値(この例では「0」)に初期化する(902)。そして構成変更制御プログラム212から渡されたアドレス範囲に対応するコピー進捗表のエントリを、コピー中を示す値(この例では「1」)にセットする(903)。
さらに、プロセッサ210はコピー進捗表224で「1」(コピー中)にセットした領域に対するコピーを行う入出力命令(以下、COPY IO)を発行する(904)。具体的には、コピーを行う入出力要求を生成し、出力キュー251へエンキューする。さらにプロセッサ210はイベント待ちを行って(905)、コピー処理プログラム214の起動契機のうち、COPY開始要求以外のものを待ち、ステップ906以降の処理を実行する。また、コピー再起動要求があった場合(906“Y”)、プロセッサ210はステップ903以降の処理を繰り返す。
COPY IOが完了した時(907“Y”)、プロセッサ210はこの入出力の結果が正常終了であることを確認し(908“Y”)、コピー進捗表224を更新する(909)。具体的には、COPY IOが終了した領域に対するエントリにコピー済みを示す値(この例では「4」)をセットし、コピー中断を示す値(この例では「2」)が格納されているエントリに「0」(未コピー)をセットする。さらに、コピー進捗表224のエントリで、「1」(コピー中)がセットされているエントリが無い場合(910“Y”)、プロセッサ210は構成変更制御プログラム212成功を返して処理を完了する(911)。コピー中のエントリがある場合(910“N”)、プロセッサ210はステップ904から処理を繰り返す。
COPY中断要求を受けた場合(912“Y”)、プロセッサ210は、コピー進捗表224の「1」(コピー中)がセットされている全エントリへ「2」(コピー中断)をセットし(913)、ステップ905から繰り返す。
COPY IOが異常終了した場合には(908“N”)、プロセッサ210は、コピー進捗表224の「1」(コピー中)および「2」(コピー中断)がセットされている全エントリに「0」(未コピー)をセットする(914)。そして、構成変更制御プログラム212にエラーとその要因を返して、終了する(915)。
このように、コピー処理プログラム214ではステップ904のCOPY IOの処理によってデータのコピーを行うことができる。
図26を参照して、第四の実施形態によるデータ移行の動作原理を説明する。
図26(A)は、コピー処理631中における仮想ボリューム100と実領域132との対応関係、およびコピー進捗表224との対応関係を示す。
実領域132から仮想ボリューム100への矢印は、仮想ボリューム100に対するRead要求での対応関係を表しており、仮想ボリューム100から実領域132への矢印は、仮想ボリューム100に対するWrite要求での対応関係を表している。点線になっている矢印は、これに対する入出力が保留されていることを示している。
なお、仮想ボリューム上の領域1001から実領域13211と実領域13221へ矢印が出ているが、これは1001にWrite要求があったとき、2個の実領域13211、13221に同じデータが二重に書き込まれることを意味している。
さらに、実領域13212、13213から実領域13222、13223への矢印はこの方向でコピーが行われていることを示している。コピー進捗表の2241a、2242a、2243a、2244aは、仮想ボリューム上の領域1001、1002、1003、1004に対応している。
図26(A)では、2241aはコピー済み「4」になっており、領域100−1について実領域13211から実領域13221へのコピーが完了していることを示している。コピー済みの領域に関しては、Readは、移行先即ち1311から、Writeは移行元および移行先の両方、即ち1311と1312の両方へ書き込まれる。これは、LU1312への移行が途中で失敗した場合でも、最新のデータがLU1311に残るようにするためである。
また、2242a〜2244aはコピー中「1」になっており、現在これらに対応する実領域13212〜13214から実領域13222〜13224へのデータのコピーが行われていることを示している。2245aは未コピー「0」となっており、実領域13215から実領域13225へのコピーは未着手であることを示している。
図26(B)は、領域1004に対し、ホストプロセッサ12がWrite要求を発行した後のコピー進捗表224を示している。コピー中の領域に対するWriteを受信すると、IO処理プログラム213のステップ806(図24)によりプロセッサ210はコピー優先要求を行う。すると、プロセッサ161はまずコピー処理631のコピー中断処理6317を行うため、その結果プロセッサ210がコピー処理プログラム214のステップ912を実行することにより、コピー進捗表224のコピー中「1」の領域にコピー中断の印「2」をセットするため、表224bの状態になる。
次にプロセッサ210はCOPY IOの完了を待って、ステップ909を実行し、コピー進捗表224を更新する。ここで、実領域13222へのコピーのみが完了しているとすると、これに対応するエントリ2242bはコピー中断「2」からコピー済み「4」へ、さらにその他のエントリはコピー中断の印「2」から未コピーの印「0」へ更新されることになる。さらにプロセッサ161はコピー処理631におけるステップ6313の処理を行い、領域1004に対する実領域13214のアドレスを指定してプロセッサ210がコピー処理プログラム213のステップ906以降の処理を行わせるため、領域1004に対応する2244bにコピー中の印「1」をセットする。このようにして図26(C)の状態になる。つまり、プロセッサ210は実領域13214から13224へのコピーを優先して行う。
尚、その他の処理は、第三の実施形態と同様なので説明を省略する。
以上に述べたように、システムの稼動中に仮想ボリューム100の割当て先を、一方のLU1311から他方のLU1312に移行することが可能になる。
次に、図27から図28を用いて、第五の実施形態によるを説明する。
図27はストレージシステムの全体構成を示す図である。
図1に示したシステムに比べて、独立した構成変更制御装置16が無くなり、代わって各仮想化スイッチ11内に構成変更制御プログラム16´を備える。また、ストレージ装置135はコピー制御部136を備える。
ストレージ装置135はストレージ装置13と異なり、通信部260を備えてLAN15と接続しており、さらにコピー制御部136を備える。これにより自装置135内のLU131aから別のLU131cへデータをコピーすることができる。ストレージ装置135にあるコピー制御部136は、コピー元LU131へのホストプロセッサ12からの入出力を許可したままコピー処理を行えること(以下、オンライン中にコピー可能という)が望ましい。勿論オンライン中にコピー可能でなくても良い。このオンライン中にコピー可能でない場合、入出力を一時保留している時間が長くなることになる。
なお、どのLU131からどのLU131へコピー処理を行うか、例えばLU131aからLU131bへコピーする、の指定およびコピー処理の開始、完了の要求は、コピー制御部136が通信部260を経由して、構成変更制御装置16または管理コンソール14から受け取る。
図28は、第五の実施形態における構成変更制御プログラム212の処理を示すフローチャートである。
図16に比べ、ステップ627の後に、ステップ640の処理が挿入されたことが相違する。
ステップ640の処理で、プロセッサ161は、コピー制御部136に対し、LU131aからLU131bへのコピー処理の完了を依頼し、その完了報告を待つ。オンライン中にコピー可能な場合は、ステップ640の前なら任意の時点で、システム管理者がコピー開始の依頼を行うことができる。なお、オンライン中にコピー可能でない場合、ステップ640でプロセッサ161はコピー制御部136に対し、コピー処理の開始の依頼を、完了の依頼に先立ち行う。コピー開始の依頼を早めておくことで、ステップ640で待つ完了報告が早く返ってくることが期待できる。
尚、プロセッサ161及び210は第三の実施形態と同様の処理を行い、仮想ボリューム100を、LU131aからLU131bに対応するように構成を変更する。その他の処理は第三の実施形態と同様なので説明を省略する。
第五の実施形態によれば、ストレージ装置135が持つコピー機能を利用することにより、仮想化スイッチ11にLU131をコピーする機能がなくても、システムの稼動中に仮想ボリューム100の割当て先を、一方のLU131aから他方のLU131bに移行することができる。
次に、図29を用いてストレージシステムの更に他の例(第六の実施形態)を説明する。
この例は、ストレージ装置137が仮想化機能を備えたものである。各ストレージ装置137は、図27に示すストレージ装置13、及びコピー制御部136、通信部260を有し、更に仮想化スイッチ11を備えている。各仮想化スイッチ11は、前述の図27と同様に構成変更制御プログラム16´を内蔵して、構成変更制御の機能を実現している。その他の構成は、前記第五の実施形態と同様であるので、説明を省略する。
この例によれば、冗長構成の仮想化スイッチによるシステムの稼動中に、仮想ボリューム100の割当て先を、一方のLU131aから他方のLU131bに移行することが可能なストレージ装置を実現できる。
以上、いくつかの実施形態について説明したが、本発明は上記の例に限定されずに、種々変形して実施し得る。例えば、図12及び図19の例において、プロセッサ161または210のいずれか一方を省略し、残る他方のプロセッサで、プログラムの処理等を兼用することができる。
第一の実施形態によるストレージシステム全体の構成を示す図。 図1の仮想化スイッチ11の内部構成を示す図。 図1の構成変更制御装置16の内部構成を示す図。 ストレージシステムにおける構成情報221のテーブルを示す図。 図1のストレージシステムにおける構成変更制御装置16と仮想化スイッチ11との通信手順を示す図。 構成変更制御装置16における構成変更制御プログラム212の処理を示すフローチャート。 仮想化スイッチ11における構成管理プログラム211の処理を示すフローチャート。 仮想化スイッチ11におけるIO処理プログラム213の処理を示すフローチャート。 第二の実施形態による仮想化スイッチ11の内部構成を示す図。 第二の実施形態における構成変更制御プログラム212の処理を示すフローチャート。 図10における調停処理600の処理動作を示すフローチャート。 第三の実施形態による仮想化スイッチ11の内部構成を示す図。 第三の実施形態における構成変更制御装置16と仮想化スイッチ11との通信手順を示す図。 図12における一時保留制御表223の一例を示す図。 図12における構成情報221のテーブルを示す図。 図12における構成変更制御プログラム212の処理を示すフローチャート。 図12における構成管理プログラム211の処理を示すフローチャート。 図12におけるIO処理プログラム213の処理を示すフローチャート。 第四の実施形態における仮想化スイッチ11の内部構成を示す図。 図19における構成情報221のテーブルを示す図。 図19における構成変更制御プログラム212の処理を示すフローチャート。 図21のフローチャートにおけるコピー処理631の詳細を示すフローチャート。 図19における構成管理プログラム211の処理を示すフローチャート。 図19におけるIO処理プログラム213の処理を示すフローチャート。 図19におけるコピー処理プログラム214の処理を示すフローチャート。 第四の実施形態におけるデータ移行の動作原理を説明する図。 第五の実施形態によるストレージシステムの全体構成を示す図。 第五の実施形態における構成変更制御プログラム212の処理を示すフローチャート。 第六の実施形態によるストレージシステムの全体構成を示す図。
符号の説明
11 仮想化スイッチ、 12 ホストプロセッサ
13 ストレージ装置、 131 LU
14 管理コンソール、 16 構成変更制御装置
161、210 プロセッサ、 211 構成管理プログラム
212 構成変更制御プログラム、 213 IO処理プログラム
214 コピー処理プログラム、 221 構成情報
242 保留中キュー、 252 処理中キュー

Claims (20)

  1. ストレージ装置が持つある記憶領域を割当てて複数の仮想ボリュームを形成すると共に、ある仮想ボリュームに対するホストプロセッサからの入出力を処理する複数の仮想化装置を有するストレージシステムにおける仮想ボリュームに対するストレージ装置の記憶領域の割り当て方法であって、
    複数の仮想化装置に対し、ホストプロセッサから受け付けている処理中の入出力を全て完了させ、以降受け付ける入出力の処理を一時保留させるための要求を発行するステップと、
    該要求に対する処理中の入出力の処理の完了報告を、複数の仮想化装置から受けるステップと、
    該要求を発した全ての仮想化装置から該完了報告を受けた場合、全ての仮想化装置に対してストレージ装置の記憶領域の割り当て変更の指示を送るステップと、
    全ての仮想化装置からの該割当ての変更の完了報告を受けるステップと、
    一時保留にされた該入出力の状態を解除するための指示を全ての仮想化装置に送るステップと、
    を有することを特徴とする記憶領域の割り当て方法。
  2. 前記仮想ボリュームと、該ストレージ装置の実領域となる記憶領域を対応付けする構成情報を格納するテーブルを予めメモリに用意し、
    前記記憶領域の割当て変更の指示を送るに際して、構成情報の差分情報を送信し、該仮想化装置は、該テーブルの該当するエントリの構成情報を変更することを特徴とする請求項1記載の記憶領域の割り当て方法。
  3. 前記入出力処理の完了報告を受取らなかった仮想化装置を制御の対象から外して、記憶領域の割当て変更を行わないことを特徴とする請求項1記載の記憶領域の割り当て方法。
  4. 該仮想ボリューム上で割り当てが変更される箇所を含むアドレス範囲を対象として、該入出力を一時保留するか否かを制御することを特徴とする請求項1記載の記憶領域の割り当て方法。
  5. 該記憶領域の割り当て変更の指示を送る前に、既に仮想ボリュームが割当てられたストレージ装置の記憶領域から、新たに仮想ボリュームが割当てられるストレージ装置の記憶領域へデータをコピーするステップと有することを特徴とする請求項1記載の記憶領域の割り当て方法。
  6. 複数の記憶領域が規定され得るストレージ装置と、該ストレージ装置が持つある記憶領域を割当てて複数の仮想ボリュームを形成すると共に、ある仮想ボリュームに対するホストプロセッサからの入出力を処理する複数の仮想化装置と、該仮想ボリュームに対する該ストレージ装置の記憶領域の割り当ての構成を変更するための構成変更制御装置とを有し、
    該構成変更制御装置は、全ての仮想化装置に対して、該入出力の一時保留を要求する手段と、
    該要求を受けた該仮想化装置は処理中の入出力を完了すると共に、以降ホストプロセッサからの入出力要求を一時保留する状態にして、該構成変更制御装置に該入出力の処理の完了報告を返す手段と、
    該構成変更制御装置は、要求を発した先の全ての仮想化装置からの該完了報告を受けた場合に、該仮想化装置に対して、仮想ボリュームに対するストレージ装置の記憶領域の割り当ての変更を指示する手段と、
    を有することを特徴とするストレージシステム。
  7. 前記構成変更制御装置は、
    前記要求手段、該仮想化装置からの完了報告を受領する手段、及び該変更指示手段を有する構成変更制御プログラムと、
    該構成変更制御プログラムを実行するプロセッサと、
    該仮想ボリュームと該ストレージ装置の実領域となる記憶領域を対応付けする構成情報を登録する構成情報テーブルと、該構成情報の変更前後の差分を記録する差分情報テーブルを格納するメモリとを有し、
    前記仮想化装置は、
    構成変更の処理を行う構成管理プログラムと、
    該構成管理プログラムを実行するプロセッサと、
    該仮想ボリュームと該ストレージ装置の実領域となる記憶領域を対応付けする構成情報を登録する構成情報テーブルと、該構成情報の変更前後の差分を記録する差分情報テーブルを格納するメモリを有し、
    該構成変更制御装置は、記憶領域の割当て変更の指示を送るに際して、該差分情報テーブルを参照して構成情報の差分情報を該仮想化装置に送信し、該仮想化装置は、該構成管理プログラムを該プロセッサで実行して、受信した差分情報に従って自らの該構成情報テーブルの該当するエントリの構成情報を変更することを特徴とする請求項6記載のストレージシステム。
  8. 更に、該構成変更制御装置に対して構成情報の変更の要求を入力する入力部及び構成変更の状況を表示する表示部を有する管理コンソールを含むことを特徴とする請求項6記載のストレージシステム。
  9. ストレージ装置が有するある記憶領域を割当てて複数の仮想ボリュームを形成すると共に、ある仮想ボリュームに対するホストプロセッサからの入出力を処理する複数の仮想化装置において、
    仮想ボリュームとストレージ装置の実領域となる記憶領域を対応付けの構成を変更するための構成変更制御プログラムと、
    該構成変更制御プログラムを実行する第一のプロセッサとを有し、
    該プログラムは、
    仮想ボリュームとストレージ装置の実領域となる記憶領域を対応付けの構成を変更する前に、入出力の一時保留を他の仮想化装置に対して要求する手段と、
    該要求を受けた他の仮想化装置は処理中の入出力の完了すると共に、以降ホストプロセッサからの入出力要求を一時保留する状態に遷移して、完了報告を返す手段と、
    他の仮想化装置からの完了報告を受けた場合に、該他の仮想化装置に対して、仮想ボリュームに対するストレージ装置の記憶領域の割り当ての変更を指示する手段と、
    他の仮想化装置からの割当ての変更の完了報告を受ける手段と、
    一時保留にされた該入出力の状態を解除するための指示を他の仮想化装置に送る手段と、を有することを特徴とする仮想化装置。
  10. 更に、仮想ボリュームとストレージ装置の実領域となる記憶領域を対応付けする構成情報を登録する構成情報テーブル、及び該構成情報の変更前後の差分を記録する差分情報テーブルを格納するメモリと、
    該構成変更制御プログラムをからの要求を受けて、入出力の一時保留、構成情報の変更を行うための構成管理プログラムと、
    該構成管理プログラムを実行する第二のプロセッサを有し、
    該第二のプロセッサで構成管理プログラムの実行することにより、該構成情報テーブルの内容を更新することを特徴とする請求項9記載の仮想化装置。
  11. 前記第一のプロセッサと該第二のプロセッサとは、同じプロセッサにより構成されることを特徴とする請求項10記載の仮想化装置。
  12. 前記構成変更制御プログラムは、更に前記構成変更制御プログラムの各手段を実行させる該第一のプロセッサを限定するための調停処理を行う手段を有する請求項9記載の仮想化装置。
  13. 複数面から成る前記構成情報テーブルが用意され、夫々の面のテーブルが切替えられて使用されることを特徴とする請求項10記載の仮想化装置。
  14. 更に、該仮想ボリュームが対応するある記憶領域から他の記憶領域に構成の変更をする場合、該他の記憶領域にデータをコピー処理するためのコピー処理プログラムと、該コピー処理プログラムによるデータのコピー処理の進捗状況を管理するコピー進捗テーブルを有することを特徴とする請求項9乃至13のいずれかに記載の仮想化装置。
  15. 実記憶領域を提供するための複数の記憶領域と、該記憶領域を割当てて複数の仮想ボリュームを形成すると共に、ある仮想ボリュームに対するホストプロセッサからの入出力を処理する仮想化装置を有するストレージ装置であって、該仮想化装置は、
    仮想ボリュームとストレージ装置の実領域となる記憶領域を対応付けの構成を変更する前に、入出力の一時保留を他の仮想化装置に対して要求する手段と、
    該要求を受けた他の仮想化装置は処理中の入出力の完了すると共に、以降ホストプロセッサからの入出力要求を一時保留する状態に遷移して、完了報告を返す手段と、
    他の仮想化装置からの完了報告を受けた場合に、該他の仮想化装置に対して、仮想ボリュームに対する記憶領域の割り当ての変更を指示する手段と、
    他の仮想化装置からの割当ての変更の完了報告を受ける手段と、
    一時保留にされた該入出力の状態を解除するための指示を他の仮想化装置に送る手段と、を有することを特徴とするストレージ装置。
  16. 上記各手段を実現するための構成変更制御プログラムと、該プログラムを実行するプロセッサを有することを特徴とする請求項15記載のストレージ装置。
  17. 該仮想ボリュームに対する割当ての対象となるある記憶領域から他の記憶領域に構成の変更をする場合、ある記憶領域から他の記憶領域にデータをコピーするためのコピー制御部を有することを特徴とする請求項15又は16記載のストレージ装置。
  18. 仮想ボリュームに対するホストプロセッサからの入出力を処理する複数の仮想化装置における仮想ボリュームに対するストレージ装置の記憶領域の割り当てを変更する方法において、
    複数の仮想化装置に対し、ある時点以降ホストプロセッサから受け付ける入出力の処理を一時保留させるための要求を発し、
    該要求に対して処理中の入出力の処理が完了した旨の報告を各仮想化装置から受けたことを条件に、各仮想化装置に対してストレージ装置の記憶領域の割り当て変更を行わせ、
    各仮想化装置からの割当ての変更の完了報告を受けた後、一時保留させていた該入出力の状態を解除することを特徴とする変更方法。
  19. 管理コンソールから構成変更の指示を入力するステップを含み、該入力指示に従って前記一時保留させるための要求が発せられることを特徴とする請求項18記載の変更方法。
  20. ストレージ装置が持つある記憶領域を割当てて複数の仮想ボリュームを形成すると共に、ある仮想ボリュームに対するホストプロセッサからの入出力を処理する複数の仮想化装置を含むストレージシステムにおける仮想ボリュームに対するストレージ装置の記憶領域の割り当ての変更を行うプログラムにおいて、
    複数の仮想化装置に対し、ホストプロセッサからの受け付けている処理中の入出力を完了させ、以降受け付ける入出力の処理を一時保留させるための要求を発行する手段と、
    該要求に対する処理中の入出力の処理が完了した旨の報告を、複数の仮想化装置から受ける手段と、
    該要求を発した先の全ての仮想化装置から該完了報告を受けた場合、全ての仮想化装置に対してストレージ装置の記憶領域の割り当て変更を指示する手段と、
    全ての仮想化装置からの該割当ての変更の完了報告を受ける手段と、
    一時保留にされた該入出力の状態を解除するための指示を全ての仮想化装置に送る手段と、を有する構成変更のためのプログラム。


JP2003346608A 2003-10-06 2003-10-06 ストレージシステム Pending JP2005115506A (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2003346608A JP2005115506A (ja) 2003-10-06 2003-10-06 ストレージシステム
US10/735,155 US7203814B2 (en) 2003-10-06 2003-12-12 Storage system
EP04023371A EP1533688A3 (en) 2003-10-06 2004-09-30 Storage system
US11/590,425 US7334106B2 (en) 2003-10-06 2006-10-30 Storage system
US12/014,456 US7590818B2 (en) 2003-10-06 2008-01-15 Storage system having a plurality of virtualization apparatuses that allocate a storage area, form a plurality of virtual volumes, and process input-output from a host processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003346608A JP2005115506A (ja) 2003-10-06 2003-10-06 ストレージシステム

Publications (1)

Publication Number Publication Date
JP2005115506A true JP2005115506A (ja) 2005-04-28

Family

ID=34386376

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003346608A Pending JP2005115506A (ja) 2003-10-06 2003-10-06 ストレージシステム

Country Status (3)

Country Link
US (3) US7203814B2 (ja)
EP (1) EP1533688A3 (ja)
JP (1) JP2005115506A (ja)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1785831A2 (en) 2005-10-28 2007-05-16 Hitachi, Ltd. Method of inheriting information identifying virtual volume and storage system using the same
JP2008027437A (ja) * 2006-06-29 2008-02-07 Seagate Technology Llc 広域予備化した分散記憶システム
JP2008112399A (ja) * 2006-10-31 2008-05-15 Fujitsu Ltd ストレージ仮想化スイッチおよびコンピュータシステム
JP2008165379A (ja) * 2006-12-27 2008-07-17 Nec Corp ストレージシステムとプログラム並びに方法
US7475213B2 (en) 2005-10-18 2009-01-06 Hitachi, Ltd. Storage control system and storage control method
JP2009205614A (ja) * 2008-02-29 2009-09-10 Fujitsu Ltd ストレージシステムの制御方法、スイッチ装置およびストレージシステム
JP2010033379A (ja) * 2008-07-29 2010-02-12 Fujitsu Ltd 仮想化システム及び仮想化の復旧方法
JP2011054152A (ja) * 2009-09-01 2011-03-17 Lsi Corp Scsii/oリファーラルを利用したイニシエータ及びストレージクラスタ間の通信方法及びシステム
US8099522B2 (en) 2008-06-09 2012-01-17 International Business Machines Corporation Arrangements for I/O control in a virtualized system
US8510517B2 (en) 2008-09-09 2013-08-13 Hitachi, Ltd. Storage device and control method for managing resources of a storage system
CN109857445A (zh) * 2017-11-30 2019-06-07 株式会社日立制作所 存储系统和控制软件配置方法

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8032701B1 (en) * 2004-03-26 2011-10-04 Emc Corporation System and method for managing provisioning of storage resources in a network with virtualization of resources in such a network
JP2005267501A (ja) * 2004-03-22 2005-09-29 Hitachi Ltd ストレージ管理方法及びシステム
US20050223180A1 (en) * 2004-03-31 2005-10-06 Philip Derbeko Accelerating the execution of I/O operations in a storage system
JP2006134021A (ja) * 2004-11-05 2006-05-25 Hitachi Ltd ストレージシステム及びストレージシステムの構成管理方法
US7409495B1 (en) * 2004-12-22 2008-08-05 Symantec Operating Corporation Method and apparatus for providing a temporal storage appliance with block virtualization in storage networks
US20060195848A1 (en) * 2005-02-25 2006-08-31 International Business Machines Corporation System and method of virtual resource modification on a physical adapter that supports virtual resources
US7546386B2 (en) * 2005-02-25 2009-06-09 International Business Machines Corporation Method for virtual resource initialization on a physical adapter that supports virtual resources
US7870301B2 (en) * 2005-02-25 2011-01-11 International Business Machines Corporation System and method for modification of virtual adapter resources in a logically partitioned data processing system
US7398328B2 (en) * 2005-02-25 2008-07-08 International Business Machines Corporation Native virtualization on a partially trusted adapter using PCI host bus, device, and function number for identification
US20060193327A1 (en) * 2005-02-25 2006-08-31 International Business Machines Corporation System and method for providing quality of service in a virtual adapter
US20060195617A1 (en) * 2005-02-25 2006-08-31 International Business Machines Corporation Method and system for native virtualization on a partially trusted adapter using adapter bus, device and function number for identification
US7386637B2 (en) * 2005-02-25 2008-06-10 International Business Machines Corporation System, method, and computer program product for a fully trusted adapter validation of incoming memory mapped I/O operations on a physical adapter that supports virtual adapters or virtual resources
US7543084B2 (en) * 2005-02-25 2009-06-02 International Business Machines Corporation Method for destroying virtual resources in a logically partitioned data processing system
US7480742B2 (en) * 2005-02-25 2009-01-20 International Business Machines Corporation Method for virtual adapter destruction on a physical adapter that supports virtual adapters
US20060212870A1 (en) * 2005-02-25 2006-09-21 International Business Machines Corporation Association of memory access through protection attributes that are associated to an access control level on a PCI adapter that supports virtualization
US7464191B2 (en) * 2005-02-25 2008-12-09 International Business Machines Corporation System and method for host initialization for an adapter that supports virtualization
US7376770B2 (en) * 2005-02-25 2008-05-20 International Business Machines Corporation System and method for virtual adapter resource allocation matrix that defines the amount of resources of a physical I/O adapter
US7685335B2 (en) * 2005-02-25 2010-03-23 International Business Machines Corporation Virtualized fibre channel adapter for a multi-processor data processing system
US7493425B2 (en) * 2005-02-25 2009-02-17 International Business Machines Corporation Method, system and program product for differentiating between virtual hosts on bus transactions and associating allowable memory access for an input/output adapter that supports virtualization
US7308551B2 (en) * 2005-02-25 2007-12-11 International Business Machines Corporation System and method for managing metrics table per virtual port in a logically partitioned data processing system
US20060195663A1 (en) * 2005-02-25 2006-08-31 International Business Machines Corporation Virtualized I/O adapter for a multi-processor data processing system
US7398337B2 (en) * 2005-02-25 2008-07-08 International Business Machines Corporation Association of host translations that are associated to an access control level on a PCI bridge that supports virtualization
US20060195618A1 (en) * 2005-02-25 2006-08-31 International Business Machines Corporation Data processing system, method, and computer program product for creation and initialization of a virtual adapter on a physical adapter that supports virtual adapter level virtualization
US20060195623A1 (en) * 2005-02-25 2006-08-31 International Business Machines Corporation Native virtualization on a partially trusted adapter using PCI host memory mapped input/output memory address for identification
US7496790B2 (en) * 2005-02-25 2009-02-24 International Business Machines Corporation Method, apparatus, and computer program product for coordinating error reporting and reset utilizing an I/O adapter that supports virtualization
US7475166B2 (en) * 2005-02-28 2009-01-06 International Business Machines Corporation Method and system for fully trusted adapter validation of addresses referenced in a virtual host transfer request
US20070136554A1 (en) * 2005-12-12 2007-06-14 Giora Biran Memory operations in a virtualized system
JP4474356B2 (ja) * 2005-12-27 2010-06-02 富士通株式会社 コンピュータシステムおよびストレージ仮想化装置
CN100423491C (zh) * 2006-03-08 2008-10-01 杭州华三通信技术有限公司 虚拟化网络存储系统及其网络存储设备
JP2007328611A (ja) * 2006-06-08 2007-12-20 Hitachi Ltd ストレージ仮想化システム及び方法
US7587564B2 (en) * 2006-09-26 2009-09-08 International Business Machines Corporation System, method and computer program product for managing data versions
JP5042660B2 (ja) * 2007-02-15 2012-10-03 株式会社日立製作所 ストレージシステム
JP5018252B2 (ja) * 2007-06-06 2012-09-05 株式会社日立製作所 デバイス割り当て変更方法
US20090089498A1 (en) * 2007-10-02 2009-04-02 Michael Cameron Hay Transparently migrating ongoing I/O to virtualized storage
JP5222651B2 (ja) * 2008-07-30 2013-06-26 株式会社日立製作所 仮想計算機システムおよび仮想計算機システムの制御方法
JP4843075B2 (ja) * 2009-06-25 2011-12-21 富士通株式会社 複写制御方法及びストレージ制御装置
US20110029864A1 (en) * 2009-07-30 2011-02-03 Aaron Michael Stewart Touch-Optimized Approach for Controlling Computer Function Using Touch Sensitive Tiles
US8656314B2 (en) * 2009-07-30 2014-02-18 Lenovo (Singapore) Pte. Ltd. Finger touch gesture for joining and unjoining discrete touch objects
US8762886B2 (en) * 2009-07-30 2014-06-24 Lenovo (Singapore) Pte. Ltd. Emulating fundamental forces of physics on a virtual, touchable object
US8984031B1 (en) * 2010-09-29 2015-03-17 Emc Corporation Managing data storage for databases based on application awareness
US20120311111A1 (en) * 2011-06-03 2012-12-06 Microsoft Corporation Dynamic reconfiguration of cloud resources
US20130151769A1 (en) * 2011-12-13 2013-06-13 Philip Lee Childs Hard Disk Drive Reliability In Server Environment Using Forced Hot Swapping
US9122418B2 (en) 2012-08-07 2015-09-01 Xyratex Technology Limited—A Seagate Company Method of controlling the capacity of a virtual storage system, and a virtual storage system
US10481805B1 (en) * 2015-06-30 2019-11-19 EMC IP Holding Company LLC Preventing I/O request timeouts for cloud-based storage systems
US10365980B1 (en) * 2017-10-31 2019-07-30 EMC IP Holding Company LLC Storage system with selectable cached and cacheless modes of operation for distributed storage virtualization
US10474545B1 (en) * 2017-10-31 2019-11-12 EMC IP Holding Company LLC Storage system with distributed input-output sequencing
US10983885B2 (en) * 2018-11-29 2021-04-20 International Business Machines Corporation Recovering storage devices in a storage array having errors
US11698867B2 (en) * 2021-08-26 2023-07-11 Micron Technology, Inc. Using P2L mapping table to manage move operation

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH083810B2 (ja) 1987-10-21 1996-01-17 株式会社日立製作所 資源の共用排他制御方法
JP3641872B2 (ja) * 1996-04-08 2005-04-27 株式会社日立製作所 記憶装置システム
JP3726484B2 (ja) 1998-04-10 2005-12-14 株式会社日立製作所 記憶サブシステム
US6161191A (en) * 1998-05-12 2000-12-12 Sun Microsystems, Inc. Mechanism for reliable update of virtual disk device mappings without corrupting data
US6526492B1 (en) * 1998-06-30 2003-02-25 International Business Machines Corporation Method of allowing a volume manager to release and regain reserve
JP2000242434A (ja) 1998-12-22 2000-09-08 Hitachi Ltd 記憶装置システム
US6542961B1 (en) 1998-12-22 2003-04-01 Hitachi, Ltd. Disk storage system including a switch
JP3796645B2 (ja) 1999-10-08 2006-07-12 横河電機株式会社 入出力モジュールのオンラインメンテナンス方法
JP2001228981A (ja) 2000-02-16 2001-08-24 Hitachi Electronics Eng Co Ltd 記憶媒体ライブラリアレイ装置
US6718404B2 (en) * 2000-06-02 2004-04-06 Hewlett-Packard Development Company, L.P. Data migration using parallel, distributed table driven I/O mapping
JP4115093B2 (ja) 2000-07-06 2008-07-09 株式会社日立製作所 計算機システム
US6766430B2 (en) 2000-07-06 2004-07-20 Hitachi, Ltd. Data reallocation among storage systems
JP4105398B2 (ja) * 2001-02-28 2008-06-25 株式会社日立製作所 情報処理システム
AU2002366270A1 (en) * 2001-12-10 2003-09-09 Incipient, Inc. Fast path for performing data operations

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7475213B2 (en) 2005-10-18 2009-01-06 Hitachi, Ltd. Storage control system and storage control method
US7844794B2 (en) 2005-10-18 2010-11-30 Hitachi, Ltd. Storage system with cache threshold control
EP1785831A2 (en) 2005-10-28 2007-05-16 Hitachi, Ltd. Method of inheriting information identifying virtual volume and storage system using the same
US7596676B2 (en) 2005-10-28 2009-09-29 Hitachi, Ltd. Method of inheriting information identifying virtual volume and storage system using the same
JP4530372B2 (ja) * 2006-06-29 2010-08-25 シーゲイト テクノロジー エルエルシー 広域予備化した分散記憶システム
JP2008027437A (ja) * 2006-06-29 2008-02-07 Seagate Technology Llc 広域予備化した分散記憶システム
JP2008112399A (ja) * 2006-10-31 2008-05-15 Fujitsu Ltd ストレージ仮想化スイッチおよびコンピュータシステム
JP2008165379A (ja) * 2006-12-27 2008-07-17 Nec Corp ストレージシステムとプログラム並びに方法
JP2009205614A (ja) * 2008-02-29 2009-09-10 Fujitsu Ltd ストレージシステムの制御方法、スイッチ装置およびストレージシステム
US8099522B2 (en) 2008-06-09 2012-01-17 International Business Machines Corporation Arrangements for I/O control in a virtualized system
JP2010033379A (ja) * 2008-07-29 2010-02-12 Fujitsu Ltd 仮想化システム及び仮想化の復旧方法
US8510517B2 (en) 2008-09-09 2013-08-13 Hitachi, Ltd. Storage device and control method for managing resources of a storage system
JP2011054152A (ja) * 2009-09-01 2011-03-17 Lsi Corp Scsii/oリファーラルを利用したイニシエータ及びストレージクラスタ間の通信方法及びシステム
CN109857445A (zh) * 2017-11-30 2019-06-07 株式会社日立制作所 存储系统和控制软件配置方法
JP2019101703A (ja) * 2017-11-30 2019-06-24 株式会社日立製作所 記憶システム及び制御ソフトウェア配置方法
CN109857445B (zh) * 2017-11-30 2022-06-10 株式会社日立制作所 存储系统和控制软件配置方法

Also Published As

Publication number Publication date
US20050076157A1 (en) 2005-04-07
EP1533688A2 (en) 2005-05-25
US7590818B2 (en) 2009-09-15
US7203814B2 (en) 2007-04-10
US20080140906A1 (en) 2008-06-12
EP1533688A3 (en) 2008-10-22
US7334106B2 (en) 2008-02-19
US20070043925A1 (en) 2007-02-22

Similar Documents

Publication Publication Date Title
JP2005115506A (ja) ストレージシステム
US8886906B2 (en) System for data migration using a migration policy involving access frequency and virtual logical volumes
JP5352132B2 (ja) 計算機システム及びそのi/o構成変更方法
US6598174B1 (en) Method and apparatus for storage unit replacement in non-redundant array
JP4295184B2 (ja) 仮想計算機システム
US8370592B1 (en) Multi-machine atomic seamless migration
JP4382602B2 (ja) リモートコピーシステム
US8301811B1 (en) Techniques for performing online data migration while effectively migrating SCSI reservations between source and target arrays
US20060236050A1 (en) Computer system, computer, and remote copy processing method
JP4852298B2 (ja) 仮想ボリュームを識別する情報を引き継ぐ方法及びその方法を用いたストレージシステム
US8285824B2 (en) Storage system and data replication method that refuses one or more requests for changing the first logical configuration information until the first storage apparatus and second storage apparatus are synchronized
JP4606711B2 (ja) 仮想化制御装置およびデータ移行制御方法
US8868819B2 (en) Storage system group including scale-out storage system and management method therefor
US8751878B1 (en) Automatic failover during online data migration
JP2007011673A (ja) ホスト間データ転送方法、プログラム及びシステム
JP2007226400A (ja) 計算機管理方法、計算機管理プログラム、実行サーバの構成を管理する待機サーバ及び計算機システム
JP2009146106A (ja) 物理的な通信ポートに付加される仮想的な通信ポートを移行する機能を有したストレージシステム
JP2005182222A (ja) リモートコピーシステム
WO2014174570A1 (ja) ストレージ管理計算機、ストレージ管理方法、およびストレージシステム
US8392753B1 (en) Automatic failover during online data migration
US8949562B2 (en) Storage system and method of controlling storage system
JP4629342B2 (ja) ストレージ装置およびその制御方法
US7711978B1 (en) Proactive utilization of fabric events in a network virtualization environment
JP2008033704A (ja) リモートコピーを行うストレージシステム
JP2008210031A (ja) ストレージシステムの記憶領域管理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060124

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20060124

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081203

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081209

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090206

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090519