JPWO2015189925A1 - ストレージシステム、ストレージ装置及びデータ移行方法 - Google Patents

ストレージシステム、ストレージ装置及びデータ移行方法 Download PDF

Info

Publication number
JPWO2015189925A1
JPWO2015189925A1 JP2016527539A JP2016527539A JPWO2015189925A1 JP WO2015189925 A1 JPWO2015189925 A1 JP WO2015189925A1 JP 2016527539 A JP2016527539 A JP 2016527539A JP 2016527539 A JP2016527539 A JP 2016527539A JP WO2015189925 A1 JPWO2015189925 A1 JP WO2015189925A1
Authority
JP
Japan
Prior art keywords
vol
volume
copy
storage
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2016527539A
Other languages
English (en)
Other versions
JP6279731B2 (ja
Inventor
陽平 石川
陽平 石川
秀雄 斎藤
秀雄 斎藤
智大 川口
智大 川口
憲 所
憲 所
圭史 田村
圭史 田村
アビシェク ジョーリ
アビシェク ジョーリ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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
Publication of JPWO2015189925A1 publication Critical patent/JPWO2015189925A1/ja
Application granted granted Critical
Publication of JP6279731B2 publication Critical patent/JP6279731B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/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
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • 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
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

HAペア構成としているストレージ装置間でのオフロードデータコピーを実現するストレージシステムを提供する。そのために、第1ストレージ装置の第1ボリュームと第2ストレージ装置の第2ボリュームとがそれぞれ同じ仮想IDをホストに応答するHAペア構成において、第1又は第2のストレージ装置が、仮想IDをコピー先として指定したオフロードデータコピーの指示をホスト計算機から受領すると、コピー先ボリュームの位置に応じて第1ボリュームまたは第2ボリュームのいずれをコピー元ボリュームとして選択し、当該選択したコピー元ボリュームからコピー先ボリュームにデータをコピーする。

Description

本発明は、ストレージシステム、ストレージ装置及びデータ移行方法に関する。
ストレージシステムでは、記憶デバイスとして、例えば、HDD(Hard Disk Drive)やSSD(Solid State Drive)を用いるストレージ装置を1つ以上備える。そのストレージ装置を含むストレージシステムが、ストレージエリアネットワーク(Storage Area Network(SAN))やローカルネットワーク(Local Area Network(LAN))経由で、複数の上位装置(例えば、ホスト計算機)からアクセスされる。一般的にストレージ装置では、RAID(Redundant Array of Independent (or Inexpensive) Disks)技術に従う高信頼化方法を用いることで、信頼性を向上している。
特許文献1には、オフロードデータ転送機能に対応して、コピー制御の効率を改善すること、すなわち、ホスト計算機側が行うデータのコピー機能をストレージ装置にオフロードすることが記載されている。
特許文献2には、可用性を向上させることができる情報システムが開示されており、第1のストレージの第1のボリュームと、第2のストレージの第2のボリュームと、を同一のボリュームとして上位装置に提供することが記載されている。ホスト計算機からは第1のボリュームと第2のボリュームはパスが異なる同一のボリュームとして認識される。
米国特許出願公開第2014/0068233号明細書 米国特許出願公開第2009/0271582号明細書
特許文献2のような、ストレージ装置がホスト計算機に仮想的なボリュームを提供している環境において、特許文献1記載のオフロードデータコピーをホスト計算機が指示するとき、ホスト計算機側から認識している仮想的なボリュームがコピー元として指定される。このような場合、コピー元となる仮想ボリュームの実体は第1のボリュームと第2のボリュームとで2つあり、それぞれ同一のデータが格納されているため、複数のコピー経路が存在する。そのため、ストレージ装置は、オフロードデータコピーの指示に対して最適な経路を選択する必要がある。
上記課題を解決するために、本発明の一実施形態であるストレージシステムでは、第1ストレージ装置の第1ボリュームと第2ストレージ装置の第2ボリュームとがそれぞれ同じ仮想IDをホストに応答するHAペア構成において、第1ストレージ装置又は第2ストレージ装置が、仮想IDをコピー先として指定したオフロードデータコピーの指示をホスト計算機から受領すると、コピー先ボリュームが存在するストレージ装置に応じて、第1ボリュームまたは第2ボリュームのいずれをコピー元ボリュームとして選択し、当該選択したコピー元ボリュームからコピー先ボリュームにデータをコピーする。
本発明のストレージシステムでは、ストレージ装置全体がダウンしてもシステムが稼働させることのできるHAペア構成による高い信頼性を実現しながら、データ処理時間の削減・ホスト計算機の負荷の減少といった高性能化及びリソース効率化を実現したオフロードデータコピーを可能とする。前述以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
図1は、HAペア構成の概念を示す図である。 図2は、ストレージシステムの全体構成図である。 図3は、VOL管理テーブルの構成例を示す図である。 図4は、VOL管理テーブルの構成例を示す図である。 図5は、第1のオフロードデータコピー動作を示す図である。 図6は、第2のオフロードデータコピー動作を示す図である。 図7は、第3のオフロードデータコピー動作を示す図である。 図8は、第4のオフロードデータコピー動作を示す図である。 図9は、第1から第4でのオフロードデータコピー動作におけるメイン処理を示すフローチャートである。 図10は、転送されたオフロードデータコピー命令(SCOPY命令)を受領したボリューム側でのオフロードデータコピー処理を示すフローチャートである。 図11は、ボリュームサーチ処理を示すフローチャートである。 図12は、ボリュームからのデータ読み出し処理を示すフローチャートである。 図13は、ボリュームへのデータ書き込み処理を示すフローチャートである。 図14は、第5のオフロードデータコピー動作を示す図である。 図15は、第6のオフロードデータコピー動作を示す図である。 図16は、第7のオフロードデータコピー動作を示す図である。 図17は、第8のオフロードデータコピー動作を示す図である。 図18は、第5から第8でのオフロードデータコピー動作におけるメイン処理を示すフローチャートである。 図19は、転送されたオフロードデータコピー命令(TCOPY命令)を受領したボリューム側でのオフロードデータコピー処理を示すフローチャートである。 図20は、トークン取得命令を受領したボリューム側でのトークンへの処理を示すフローチャートである。 図21は、第9のオフロードデータコピー動作(コピー元ボリュームとコピー先ボリュームが別ストレージ装置に存在)を示す図である。
以下、図面を参照しながら実施の形態を説明する。なお、以下の説明では、「管理テーブル」等の表現にて各種情報を説明することがあるが、各種情報は、テーブル以外のデータ構造で表現されていてもよい。また、データ構造に依存しないことを示すために「管理テーブル」を「管理情報」と呼ぶことができる。
また、「プログラム」を主語として処理を説明する場合がある。そのプログラムは、プロセッサ、例えば、MP(Micro Processor)やCPU(Central Processing Unit)によって実行されるもので、定められた処理をするものである。なお、プロセッサは、適宜に記憶資源(例えばメモリ)及び通信インターフェース装置(例えば、通信ポート)を用いながら処理を行うため、処理の主語がプロセッサとされてもよい。プロセッサは、CPUの他に専用ハードウェアを有していても良い。コンピュータプログラムは、プログラムソースから各コンピュータにインストールされても良い。プログラムソースは、例えば、プログラム配布サーバ又は記憶メディアなどで提供されるものであっても良い。
また、各要素、例えば、コントローラは番号などで識別可能であるが、各要素を識別可能な情報であれば、名前など他種の識別情報が用いられても良い。本実施例の図及び説明において同一部分には同一符号を付与しているが、本発明が本実施例に制限されることは無く、本発明の思想に合致するあらゆる応用例が本発明の技術的範囲に含まれる。また、特に限定しない限り、各構成要素は複数でも単数でも構わない。
<HAペア構成>
図1は、HAペア構成の概念を示す図である。ストレージシステムは、ホスト計算機16がアクセスするストレージ装置1 11と、ストレージ装置2 12、ストレージ装置1 11とストレージ装置2 12を管理する管理計算機(図示せず)を備える。各ストレージ装置は、1つ以上の物理ボリュームを装置内に構成し、A1−VOL(PVOL(Primary Volume):正ボリューム)1171と、A2−VOL(SVOL(Secondary Volume:副ボリューム))1272をホスト計算機16へ仮想VOL−Aとして提供する。
また、HAペア構成のストレージ装置では、
(HA1)2つの物理ボリューム(VOL−A1(PVOL)1171及びVOL−A2(SVOL)1272)でデータを同期的に複製する。
(HA2)VOL−A1(PVOL)1171とVOL−A2(SVOL)1272との双方にアクセスを可能とすることで、両方のVOLが同時にI/O処理を担当するActive−Active構成を実現する。
(HA3)ホスト計算機16からのInquary コマンドに対して、VOL−A1(PVOL)1171とVOL−A2(SVOL)1272とは、どちらも同じ仮想装置の製番(製造番号)ないし装置を一意に識別する装置ID、と仮想VOL名(図1では“仮想VOL−A”)ないし仮想ボリュームを一意に識別する仮想VOL−ID(仮想IDとも表す)を応答する。そのため、ホスト計算機16は、1組のHAペア構成のVOLに割り当てられた仮想装置製番、仮想VOL名(図1では“仮想VOL−A”)を指定することで、ストレージ装置1 11のVOL−A1 1272とストレージ装置2 12のVOL−A2とのどちらのHAペア構成のVOLにもアクセスできる。
(HA4)ホスト計算機16側からは、VOL−A1(PVOL)1171もVOL−A2(SVOL)1272も、同じAというVOL名でアクセスする。ライトの際は、最初に、VOL−A1(PVOL)1171にデータを書き込み、次に、VOL−A2(SVOL)1272にデータを書き込む。
という構成とし、ホスト計算機16からのI/Oを処理する。
<ストレージシステム>
図2は、ストレージシステムの全体構成図である。ストレージシステムは、ホスト計算機16、複数のストレージ装置11から15と、ストレージ装置11から15を管理する管理計算機17を備える。
ホスト計算機16は、装置全体を制御するCPU161、装置の制御情報や制御プログラム等を格納するメモリ、ストレージ装置とのI/Fを行うFE(Front End)−PORT163を備える。管理計算機17もホスト計算機16と同様の構成である。
ストレージ装置11から15は、ホスト計算機16とのI/Fを行うFE−PORT111、管理計算機17との通信を行うネットワークI/F112、ストレージ装置間での通信を行うためのPORT113、装置全体を制御する複数のMPPK(Micro Processor Package)114、ホスト計算機16からの/へのデータ及びHDD117からの/へのデータを一時的に格納するCMPK(Cache Memory Package)115、HDD117とのデータ送受信を制御するBE(Back End)−PORT116の構成要素を備え、更に各構成用を接続する内部ネットワーク119を備える。また、MPPK114は、複数のプロセッサコア1141と、各プロセッサコアで使用される制御プログラムや制御データを格納するローカルメモリ1142を有する。
また、ストレージ装置11から15は、複数のHDD117を用いて論理ボリュームを構成し、構成された論理ボリュームを、他のストレージ装置の論理ボリュームへ、PORT113及び接続線1131(Fibre ChannelプロトコルやLANなど)を用いてオフロードデータコピーを行う。なお、オフロードデータコピー処理は、各論理ボリュームへのアクセス担当するオーナ権を有するMPPK114ないしMPPK114内のプロセッサコア1141が行う。
<オフロードデータコピー>
オフロードデータコピーとは、本来はホスト計算機16が行う処理である複製(コピー)やマイグレーション機能(コピー及び削除)を、ホスト計算機16ではなくストレージ装置間で実行する機能である。このオフロードデータコピー機能によりホスト計算機16は、コピー対象データの入出力をすることなく、コピー処理を実行できる。これにより、ホスト計算機16の使用リソース(CPUやメモリ)削減効果、ホスト計算機16とストレージ装置間の通信量削減による処理時間短縮が見込める。
オフロードデータコピーとして、主に下記(1)及び(2)の2方式がある。
(1)一命令(Single)オフロードデータコピー(以下、SCOPY命令と称す)
SCOPY命令は、コピー元仮想ボリューム名(以下、コピー元ボリューム)、コピー先仮想ボリューム名(以下、コピー先ボリューム)、コピー元ボリュームでのコピーデータ格納元、コピー先ボリュームでのコピーデータ格納先の情報から構成される。コピーデータ格納元及びコピーデータ格納先には、例えば、格納開始LBA(Logical Block Address)と格納ブロック数で表されたアドレス範囲が格納される。なお、SCOPY命令でコピー元仮想ボリューム名ないしコピー先仮想ボリューム名の代わりに、仮想ボリュームを一意に識別するコピー元仮想ボリュームID(コピー元VOL−ID)ないしコピー先仮想ボリュームID(コピー先VOL−ID)を用いることもできる。
ホスト計算機16がコピー元ボリューム(VOL−A)からコピー先ボリューム(VOL−B)へのオフロードコピー命令(SCOPY命令)をストレージ装置1 11に発行し、発行された命令をストレージ装置1 11は受領する。そして、コピー元ボリューム(VOL−A)へのI/O処理を担当するMPPK−A(オーナ権MPPKとも呼ぶ)は、コピー元ボリューム(VOL−A)からデータをリードする。また、コピー先ボリューム(VOL−B)へのI/O処理を担当するMPPK−Bは、コピー元ボリューム(VOL−A)からリードされたデータをMPPK−Aから受領し、コピー先ボリューム(VOL−B)にライトする。なお、SCOPY命令は、コピー元ボリュームとコピー先ボリュームとが、同一ストレージ装置内のボリュームであれば、どのボリュームでも受け取ることができる。コピー先ボリューム(VOL−B)がSCOPY命令を受信し、コピー元ボリューム(VOL−A)との間でオフロードデータコピーを行うこともできる。
更に、コピー元ボリューム(VOL−A)でもコピー先ボリューム(VOL−B)でもない第3のVOL−CがSCOPY命令を受領して、オフロードデータコピーを制御することができる。その場合、SCOPY命令を受領したMPPK−C(VOL−C)は、MPPK−A(VOL−A)にリード命令を、MPPK−B(VOL−B)にライト命令を発行しデータコピーを行わせる。これにより、コピー元ボリューム(VOL−A)でリードが実行され、コピー先ボリューム(VOL−B)にリードされたデータのライトが実行される。SCOPY命令を受け取るボリュームに依ってSCOPY命令によるオフロードデータコピー処理に差はない。そのため、本実施例ではコピー元ボリューム(VOL−A)がSCOPY命令を受領するケースを中心に説明する。
(2)二命令(Multi)コピー(トークン方式、以下、TCOPY命令と称す)
まず、ホスト計算機16は、コピー元仮想ボリューム名、コピー元仮想ボリュームでのコピーデータ格納元の情報で構成されるトークン取得命令を、ストレージ装置1 11(例えば、VOL−A)に発行する。トークン取得命令を受領したストレージ装置1 11は、コピー元仮想ボリューム名およびコピー元仮想ボリュームでのコピーデータ格納元の情報に、トークンを一意に示すトークンIDを付加したトークンを生成し、ホスト計算機16に返信する。
次に、ホスト計算機16は、コピー先仮想ボリューム名、コピー元仮想ボリュームでのコピーデータ格納先、受領したトークンで構成されるTCOPY命令をストレージ装置1 11のコピー先ボリュームへ送信する。TCOPY命令を受領したストレージ装置1 11は、VOL−AからVOL−Bへのオフロードデータコピーを行う。 なお、TCOPY命令では、トークンを送付するホスト計算機は、トークン取得命令を発行したホスト計算機でもよいし、トークン取得命令を実行したホスト計算機からトークンの複製を受領した別のホスト計算機でもよい。また、TCOPY命令でもSCOPY命令と同様、コピー元仮想ボリューム名ないしコピー先仮想ボリューム名の代わりに、仮想ボリュームを一意に識別するコピー元仮想ボリュームID(コピー元VOL−ID)ないしコピー先仮想ボリュームID(コピー先VOL−ID)を用いることもできる。
<オフロードデータコピーパターン>
本実施例では、ホスト計算機16から指定されたオフロードデータコピーのコピー元(VOL−A)が実ボリュームVOL−A1(PVOL)とVOL−A2(SVOL)とから構成されるHA構成の仮想ボリュームであり、ホスト計算機16から指定されたオフロードデータコピーのコピー先(VOL−B)が実ボリュームVOL−B1(PVOL)とVOL−B2(SVOL)とから構成されるHA構成の仮想ボリュームである場合を考える。この場合、VOL−A、VOL−Bを構成する実ボリュームのストレージ装置における配置とオフロードデータコピーの方式により、以下のようなケースが存在する。
・ケース1(C01):VOL−A1とVOL−B1が同一装置内(SCOPY命令)
・ケース2(C02):VOL−A1とVOL−B2が同一装置内(SCOPY命令)
・ケース3(C03):VOL−A2とVOL−B1が同一装置内(SCOPY命令)
・ケース4(C04):VOL−A2とVOL−B2が同一装置内(SCOPY命令)
・ケース5(C05):VOL−A1とVOL−B1が同一装置内(TCOPY命令)
・ケース6(C06):VOL−A1とVOL−B2が同一装置内(TCOPY命令)
・ケース7(C07):VOL−A2とVOL−B1が同一装置内(TCOPY命令)
・ケース8(C08):VOL−A2とVOL−B2が同一装置内(TCOPY命令)
・ケース11(C11)VOL−A1とVOL−B1が異なる(別の)装置
・ケース12(C12)VOL−A1とVOL−B2が異なる(別の)装置
・ケース13(C13)VOL−A2とVOL−B1が異なる(別の)装置
・ケース14(C14)VOL−A2とVOL−B2が異なる(別の)装置
なお、ケース11(C11)からケース14(C14)の異なる(別の)装置でのコピー動作については、同一装置内のケースでの“同一装置内コピー(ローカルコピー)”の代わりに、“別装置へのコピー(リモートコピー)”を使用する。また、“同一装置内ボリュームのサーチ”の代わりに“接続装置内ボリュームのサーチ”を実行する。以降の説明では、VOL−A1(PVOL)、VOL−A2(SVOL)、VOL−B1(PVOL)、VOL−B2(SVOL)と表記し、VOL−A1(PVOL)とVOL−A2(SVOL)とはHAペア構成であるコピー元VOL、VOL−B1(PVOL)とVOL−B2(SVOL)ともHAペア構成であるコピー先VOLとする。また、VOL−AとはVOL−A1とVOL−A2を指す仮想VOL名で、VOL−Bは、VOL−B1とVOL−B2を指す仮想VOL名とする。なお、本実施例では、コピー元VOLないしコピー先VOLがHAペア構成でなくてもよく、どちらか一方がHAペア構成としてればよい。
<VOL管理テーブル>
図3及び図4は、VOL管理テーブルの構成例を示す図である。VOL管理テーブル1は、(C01)、(C05)、(C02)、(C06)でのボリューム管理テーブルである。ストレージ装置1 11(ストレージ1)用テーブルがVOL管理テーブル31、ストレージ装置2 12(ストレージ2)用テーブルがVOL管理テーブル32、ストレージ装置3 13(ストレージ3)用テーブルがVOL管理テーブル33である。VOL管理テーブル1は、実VOL名311、仮想VOL名312、VOL種別313、HAペアVOL格納先314を備える。なお、VOL管理テーブル31/VOL管理テーブル32/VOL管理テーブル33は、ストレージ1 11/ストレージ2 12/ストレージ3 13のローカルメモリ1142それぞれに格納されるが、3つのVOL管理テーブル全てを各ストレージ装置のローカルメモリ1142に格納することもできる。
なお、VOL管理テーブル31及びVOL管理テーブル33の実VOL名311とHAペアVOL格納先314の括弧内の表記が(C02)、(C06)の場合で、それ以外は、4つのケース共に同じである。
例えば、VOL管理テーブル31の実VOL名311が“B1(B2)”とあるのは、(C01)、(C05)の場合が“B1”で、(C02)、(C06)の場合が“B2”である。また、HAペアVOL格納先314が“ストレージ3のB2(B1)”とあるのは、(C01)、(C05)の場合が“ストレージ3のB2”で、(C02)、(C06)の場合が“ストレージ3のB1”である。なお、どのケースも仮想VOL名312は“B”で、VOL種別313は“HA−PVOL”である。
同じく、VOL管理テーブル33の実VOL名311が“B2(B1)”とあるのは、(C01)、(C05)の場合が“B2”で、(C02)、(C06)の場合が“B1”である。また、HAペアVOL格納先314が“ストレージ1のB1(B2)”とあるのは、(C01)、(C05)の場合が“ストレージ1のB1”で、(C02)、(C06)の場合が“ストレージ1のB2”である。なお、どのケースも仮想VOL名312は“B”で、VOL種別313は“HA−SVOL”である。
VOL管理テーブル1は、このように各ストレージ装置のボリュームを管理し、MPPK114がVOL管理テーブル1を検索することで、必要なボリュームがどのストレージ装置に存在するか、また、このVOL管理テーブル1におり、どのボリュームが単一(Simplex)か、HAペア構成となっているかが分かる。
また、VOL管理テーブル2は、(C04)、(C08)、(C03)、(C07)でのボリューム管理テーブルである。ストレージ1 11用テーブルがVOL管理テーブル41、ストレージ装置2 12(ストレージ2)用テーブルがVOL管理テーブル42、ストレージ装置3 13(ストレージ3)用テーブルがVOL管理テーブル43である。VOL管理テーブル2は、VOL管理テーブル1と同様、実VOL名311、仮想VOL名312、VOL種別313、HAペアVOL格納先314を備える。また、VOL管理テーブル1とVOL管理テーブル2を合わせて、VOL管理テーブルと呼ぶことがある。
なお、VOL管理テーブル42及びVOL管理テーブル43の実VOL名311とHAペアVOL格納先314の括弧内の表記が(C03)、(C07)の場合で、それ以外は、4つのケース共に同じである。
例えば、VOL管理テーブル42の実VOL名311が“B2(B1)”とあるのは、(C04)、(C08)の場合が“B2”で、(C03)、(C07)の場合が“B1”である。また、HAペアVOL格納先314が“ストレージ3のB1(B2)”とあるのは、(C04)、(C08)の場合が“ストレージ3のB1”で、(C03)、(C07)の場合が“ストレージ3のB2”である。なお、どのケースも仮想VOL名312は“B”で、VOL種別313は“HA−SVOL”である。
同じく、VOL管理テーブル43の実VOL名311が“B1(B2)”とあるのは、(C04)、(C08)の場合が“B1”で、(C03)、(C07)の場合が“B2”である。また、HAペアVOL格納先314が“ストレージ2のB2(B1)”とあるのは、(C04)、(C08)の場合が“ストレージ2のB2”で、(C03)、(C07)の場合が“ストレージ2のB1”である。なお、どのケースも仮想VOL名312は“B”で、VOL種別313は“HA−PVOL”である。
VOL管理テーブル1と同様、MPPK114がVOL管理テーブル2を検索して、ストレージ装置内のボリュームの構成を特定する。
次に、SCOPY命令でのオフロードデータコピー動作について、ケース毎に説明する。
<C01:VOL−A1、VOL−B1が同一装置内(SCOPY)>
SCOPY命令のコピー元ボリューム名に“VOL−A”と、コピー先ボリューム名に“VOL−B”、コピーデータ格納元およびコピーデータ格納先には、それぞれアドレス情報が格納されている。図5は、第1のオフロードデータコピー動作を示す図である。このケースでは、VOL−A1(PVOL)1171、VOL−B1(PVOL)1181がストレージ1 11という同一装置内にあるものとする。
S011で、ホスト計算機16がコピー元VOL−Aからコピー先VOL−Bへのオフロードコピー命令(SCOPY命令)を、ストレージ1 11のVOL−A1(PVOL)1171担当MPPK114に送信する。S012で、ストレージ1 11のVOL−A1(PVOL)1171担当MPPK114は、VOL−A1(PVOL)1171へのSCOPY命令を受領する。S013で、VOL−A1(PVOL)1171担当MPPK114は、VOL−A1(PVOL)1171が存在する同一ストレージ(ストレージ1 11)内のボリュームをVOL管理テーブル31で検索する。検索の結果、VOL−A1(PVOL)1171担当MPPK114は、VOL−A(VOL−A1(PVOL)1171)とVOL−B(VOL−B1(PVOL)1181)をストレージ1 11内に発見する。また、VOL−A1(PVOL)1171担当MPPK114は、VOL管理テーブル31のHAペアVOL格納先314から、VOL−A1(PVOL)1171とストレージ2 12のVOL−A2(SVOL)1272とがHAペア構成、VOL−B1(PVOL)1181とストレージ3 13のVOL−B2(SVOL)1382とがHAペア構成であると判断する。この検索により、SCOPY命令でのコピー元ボリュームとコピー先ボリュームとが、どのストレージ装置に存在するかを特定できると共にHAペア構成の状態も認識できる。
S014で、VOL−A1(PVOL)1171担当MPPK114は、VOL−A1(PVOL)1171からコピーデータ格納元の情報で指定されたコピー対象データをリードし、CMPK115のキャッシュメモリにリードデータをライトする。S015で、VOL−B1(PVOL)1181担当MPPK114は、VOL−B1(PVOL)1181でのコピーデータ格納先に、キャッシュメモリからリードしたコピー対象データをライトする。
S016で、VOL−B1(PVOL)1181担当MPPK114は、VOL管理テーブル31の検索結果より、VOL−B2(SVOL)1382とVOL−B1(PVOL)1181とがHAペア構成すると判断し、VOL−B2(SVOL)1382へのコピー対象データのライト命令を、ストレージ3 13のMPPK114に転送する。S017で、ストレージ3 13のVOL−B2(SVOL)1382担当MPPK114が、ライト命令を受信する。S018で、VOL−B2(SVOL)1382担当MPPK114は、VOL−B2(SVOL)1382にコピー対象データをライトする。
なお、VOL−A1(PVOL)1171がHAペア構成でない単一ボリューム(Simplex)の場合と、HAペア構成のボリューム(HA−PVOL)である2ケースがある。また、VOL−B1(PVOL)1181もHAペア構成でない単一ボリュームの場合と、HAペア構成のボリュームである2ケースがある。VOL−B1(PVOL)1181がVOL−B2(SVOL)1382とのHAペア構成の場合、コピー対象データをVOL−B1(PVOL)1181、VOL−B2(SVOL)1382の順番でライトする。
また、前述のように、SCOPY命令を受け取るボリュームは、VOL−A1(PVOL)1171と同一装置内のボリュームであればよい。VOL−A1(PVOL)1171以外のボリュームのI/O処理を担当するMPPK114が受信したSCOPY命令をVOL−A1(PVOL)1171担当MPPK114に処理を転送する。そのため、SCOPY命令転送後の処理は、上記S011からS018の処理と同じになる。また、VOL−A1がSVOLで、VOL−A2がPVOLの場合でも、処理内容は同じである。なお、VOL−A2(SVOL)がSCOPY命令を受信した場合の処理は、後述する(C03)でVOL−AのPVOLとSVOLを入れ替えた場合の処理と同じである。
以上のように、オフロードデータコピー命令(SCOPY命令)を受領したVOL−A1(PVOL)1171が、VOL−B1(PVOL)1181と、HAペア構成をするVOL−B2(SVOL)1382へのコピー対象データを書き込むことができる。そのため、従来ホスト計算機16が行っていたHAペア構成のボリューム間のデータコピーを、ストレージ装置間だけで行うことができるので、ホスト計算機16でのデータ処理時間の削減・負荷の減少といった高性能化及びリソース効率化が図れる。
<C02:VOL−A1、VOL−B2が同一装置内(SCOPY)>
図6は、第2のオフロードデータコピー動作を示す図である。このケースでは、VOL−A1(PVOL)1171、VOL−B2(SVOL)1182がストレージ1 11という同一装置内にあるものとする。
S021で、ホスト計算機16がコピー元VOL−Aからコピー先VOL−BへのSCOPY命令を、ストレージ1 11のVOL−A1(PVOL)1171担当MPPK114に送信する。S022で、ストレージ1 11のVOL−A1(PVOL)1171担当MPPK114は、SCOPY命令を受領する。S023で、VOL−A1(PVOL)1171担当MPPK114は、VOL−A1(PVOL)1171が存在する同一ストレージ装置(ストレージ1 11)内のボリュームをVOL管理テーブル31で検索する。検索の結果、VOL−A1(PVOL)1171担当MPPK114は、VOL−A(VOL−A1(PVOL)1171)とVOL−B(VOL−B2(SVOL)1182)を発見する。また、VOL−A1(PVOL)1171担当MPPK114は、VOL管理テーブル31のHAペアVOL格納先314から、VOL−A1(PVOL)1171とストレージ装置2 12のVOL−A2(SVOL)1272とがHAペア構成、VOL−B2(SVOL)1182とストレージ3 13のVOL−B1(PVOL)1381とがHAペア構成であると判断する。
S024で、VOL−A1(PVOL)1171担当MPPK114は、VOL−A1(PVOL)1171からコピー対象データをリードし、CMPK115のキャッシュメモリにリードデータをライトする。S025で、VOL−A1(PVOL)1171担当MPPK114は、VOL管理テーブル31の検索結果より、VOL−B2(SVOL)1182とVOL−B1(PVOL)1381とがHAペア構成すると判断し、コピー対象データのライト命令をストレージ3 13のVOL−B1(PVOL)1381担当MPPK114に転送する。
S026で、VOL−B1(PVOL)1381担当MPPK114は、コピー対象データのライト命令を受信する。S027で、VOL−B1(PVOL)1381担当MPPK114は、VOL−B1(PVOL)1381にコピー対象データをライトする。そして、VOL−B1(PVOL)1381担当MPPK114はライト完了報告を、VOL−B2(SVOL)1182担当MPPK114に送信する。S028で、ストレージ1 11のVOL−B2(SVOL)1182担当MPPK114は、ライト完了報告受領後にVOL−B2(SVOL)1182へコピー対象データをライトする。以上のようにホスト計算機16は、ストレージ装置にSCOPY命令を発行するだけで、オフロードデータコピーをストレージ間のみで実行できる。
また、VOL−A1がSVOLで、VOL−A2がPVOLの場合でも、処理内容は同じである。なお、VOL−A2(SVOL)がSCOPY命令を受信した場合の処理は、後述する(C04)でVOL−AのPVOLとSVOLを入れ替えた場合の処理と同じである。HAペア構成の場合、リードするデータはPVOLまたはSVOLのどちらからでも可能であるが、ライトの場合は必ずPVOLにライトした後にSVOLにライトして、HAペア構成とするボリューム間でのデータを同期させる。そのため、VOL−Bにおいて、SVOLが最初にライト命令を受信した場合はPVOLにライト命令を転送しPVOLにデータライトが完了した後にSVOLへのライトを実行する。このケースでも(C01)と同様の効果を得られる。
<C03:VOL−A2、VOL−B1が同一装置内(SCOPY)>
図7は、第3のオフロードデータコピー動作を示す図である。このケースでは、VOL−A2(SVOL)1272、VOL−B1(PVOL)1281がストレージ2 12という同一装置内にあるものとする。
S031で、ホスト計算機16がコピー元VOL−Aからコピー先VOL−BへのSCOPY命令を、ストレージ1 11のVOL−A1(PVOL)1171担当MPPK114に送信する。S032で、VOL−A1(PVOL)1171担当MPPK114が、SCOPY命令を受領する。S033で、MPPK114は、VOL−A1(PVOL)1171が存在する同一ストレージ1 11内のボリュームをVOL管理テーブル41で検索する。検索の結果、MPPK114は、VOL−A(VOL−A1(PVOL)1171)を発見するが、VOL−Bは発見できない(未発見)。また、MPPK114は、VOL−A1(PVOL)1171とHAペア構成するVOL−A2(SVOL)1272を、ストレージ2 12内に発見する。
S034で、VOL−A1(PVOL)1171担当MPPK114は、SCOPY命令をストレージ2 12に転送する。S035で、VOL−A2(SVOL)1272担当MPPK114は、SCOPY命令を受領しVOL管理テーブル42を検索する。その結果、ストレージ2 12内にVOL−A2(SVOL)1272と、VOL−B1(PVOL)1281を発見する。更に、MPPK114は、VOL管理テーブル42から、VOL−B1(PVOL)1281とHAペア構成するVOL−B2(SVOL)1382がストレージ3 13に存在することを認識する。
S036で、VOL−A2(SVOL)1272担当MPPK114は、VOL−A2(SVOL)1272からコピー対象データをリードし、CMPK115のキャッシュメモリにリードデータをライトする。S037で、VOL−B1(PVOL)1281担当MPPK114は、VOL−B1(PVOL)1281にキャッシュメモリからリードしたコピー対象データをライトする。
S038で、VOL−B1(PVOL)1281担当MPPK114は、VOL−B1(PVOL)1281とHAペア構成するVOL−B2(SVOL)1382へのコピー対象データのライト命令を、ストレージ3 13のVOL−B2(SVOL)1382担当MPPK114に転送する。S039で、VOL−B2(SVOL)1382担当MPPK114が、ライト命令を受信する。S03aで、VOL−B2(SVOL)1382担当MPPK114は、VOL−B2(SVOL)1382にコピー対象データをライトする。以上のようにホスト計算機16は、ストレージ装置にSCOPY命令を発行するだけで、オフロードデータコピーをストレージ間のみで実行できる。
なお、VOL−B1(PVOL)1281がHAペア構成でない単一ボリュームの場合と、HAペア構成のボリュームである2ケースがある。また、VOL−A1がSVOLで、VOL−A2がPVOLの場合でも、処理内容は同じである。なお、VOL−A2(SVOL)がSCOPY命令を受信した場合の処理は、前述の(C01)でVOL−AのPVOLとSVOLを入れ替えた場合の処理と同じである。
<C04:VOL−A2、VOL−B2が同一装置内(SCOPY)>
図8は、第4のオフロードデータコピー動作を示す図である。このケースでは、VOL−A2(SVOL)1272、VOL−B2(SVOL)1282がストレージ2 12という同一装置内にあるものとする。
S041で、ホスト計算機16がコピー元VOL−Aからコピー先VOL−BへのSCOPY命令を、ストレージ1 11のVOL−A1(PVOL)1171担当MPPK114に送信する。S042で、VOL−A1(PVOL)1171担当MPPK114は、SCOPY命令を受領する。S043で、VOL−A1(PVOL)1171担当MPPK114は、VOL−A1(PVOL)1171が存在する同一ストレージ1 11内のボリュームをVOL管理テーブル41で検索する。検索の結果、VOL−A1(PVOL)1171担当MPPK114は、VOL−A(VOL−A1(PVOL)1171)を発見するが、VOL−Bは発見できない(未発見)。また、VOL−A1(PVOL)1171担当MPPK114は、VOL−A1(PVOL)1171とHAペア構成するVOL−A2(SVOL)1272を、ストレージ2 12内に発見する。
S044で、VOL−A1(PVOL)1171担当MPPK114は、オフロードデータコピー命令(SCOPY命令)を、ストレージ2 12のVOL−A2(SVOL)1272担当MPPK114に転送する。S045で、SCOPY命令を受領したVOL−A2(SVOL)1272担当MPPK114は、VOL管理テーブル42を検索する。その結果、ストレージ2 12内にVOL−A2(SVOL)1272と、VOL−B2(SVOL)1282を発見する。更に、MPPK114は、VOL管理テーブル42から、VOL−B2(SVOL)1282とHAペア構成するVOL−B1(PVOL)1381がストレージ3 13に存在することを認識する。
S046で、VOL−A2(SVOL)1272担当MPPK114は、VOL−A2(SVOL)1272からコピー対象データをリードし、CMPK115のキャッシュメモリにリードデータをライトする。そして、VOL−A2(SVOL)1272担当MPPK114はライト命令をVOL−B2(SVOL)1282担当MPPK114に送信する。S047で、VOL−B2(SVOL)1282担当MPPK114は、VOL管理テーブル31の検索結果で認識したHAペア構成するVOL−B1(PVOL)1381担当MPPK114へコピー対象データのライト命令を転送する。S048で、ストレージ3 13のVOL−B1(PVOL)1381担当MPPK114が、ライト命令を受信する。S049で、VOL−B1(PVOL)1381担当MPPK114は、VOL−B1(PVOL)1381にコピー対象データをライトする。そして、VOL−B1(PVOL)1381担当MPPK114は、VOL−B2(SVOL)1282担当MPPK1にVOL−B1(PVOL)1381でのライト完了報告を送信する。S03aで、VOL−B2(SVOL)1282担当MPPK114は、VOL−B2(SVOL)1282にコピー対象データをライトする。以上のようにホスト計算機16は、ストレージ装置にSCOPY命令を発行するだけで、オフロードデータコピーをストレージ間のみで実行できる。
また、VOL−A1がSVOLで、VOL−A2がPVOLの場合でも、処理内容は同じである。なお、VOL−A2(SVOL)がSCOPY命令を受信した場合の処理は、前述の(C02)でVOL−AのPVOLとSVOLを入れ替えた場合の処理と同じである。
<SCOPY命令のメイン処理>
図9は、第1から第4でのオフロードデータコピー動作におけるメイン処理を示すフローチャートである。説明を簡便にするため、処理の主体を単純にMPPK114とする。
S900で、MPPK114は、ホスト計算機16からSCOPY命令(コピー元VOL名、コピー先VOL名、コピーデータ格納元、コピーデータ格納先)を受領する。S901で、MPPK114は、VOL管理テーブル31/41を検索してコピー元VOL名を見つけ出す。S902で、MPPK114は、コピー元VOLを発見したかを判断する。コピー元VOLを発見した場合(Yes)、MPPK114はS902を実行する。未発見の場合(No)、MPPK114はS903を実行し、コピー元VOLが存在しないというエラー報告をホスト計算機16に送信する。なお、S901及びS902の処理を、SCOPY命令を受領したストレージ装置に接続されている全てのストレージ装置に対し実行しコピー元VOLを探し出すようにしてもよい。
S904で、MPPK114は、VOL管理テーブル31/41を検索してコピー先VOL名を見つけ出す。S905で、MPPK114は、コピー先VOLを発見したかを判断する。コピー先VOLを発見した場合(Yes)、MPPK114は自装置内でのオフロードデータコピーが可能と判断しS906を実行する。このケースは、前述の(C01)及び(C02)である。未発見の場合(No)、MPPK114は自装置内でのオフロードデータコピーが不可能と判断しS908を実行する。
S906で、MPPK114は、コピー元VOLからコピーデータ格納元で指定されたコピー対象データをリードし、CMPK115のキャッシュメモリのリードしたコピー対象データをライトする。S907で、MPPK114は、CMPK115のキャッシュメモリに格納したコピー対象データをリードし、コピー先VOLでのコピーデータ格納先にリードしたコピー対象データをライトする。そして、MPPK114は、全てのコピー対象データをコピーした後、SCOPY命令のメイン処理を終了し、コピー完了報告をホスト計算機16に送信する。
S908で、MPPK114は、コピー元VOL種別がHA−PVOLまたはHA−SVOLであるかをVOL管理テーブル31/41のVOL種別313で判断する。HAペア構成であれば(Yes)、MPPK114はS910を実行する。HAペア構成でなければ(No)、MPPK114はS909を実行し、コピー先VOLが存在しないというエラー報告をホスト計算機16に送信する。
S910で、MPPK114は、コピー元VOLのHAペアVOLが存在するストレージ装置にSCOPY命令を転送する。SCOPY命令を転送されたストレージ装置での処理は、図10で説明する。そして、MPPK114はSCOPY命令の実行を終了する。なお、コピー対象データのリード開始からライト終了までの間(S906及びS907、S910)は、コピー対象データはライトロックして、他処理で変更されないようにする。
<SCOPY命令を受領したストレージ装置側でのメイン処理>
図10は、転送されたオフロードデータコピー命令(SCOPY命令)を受領したストレージ装置側でのオフロードデータコピー処理を示すフローチャートである。本処理は、(C03)、(C04)での転送SCOPY命令をストレージ装置が受領したことを契機に開始される。
S1000で、MPPK114は、他のストレージ装置から転送されたSCOPY命令を受領する。S1001で、MPPK114は、VOL管理テーブル31/41を検索してSCOPY命令で指定されたコピー元VOL名を見つけ出す。S1002で、MPPK114は、コピー元VOLを発見したかを判断する。コピー元VOLを発見した場合(Yes)、MPPK114はS1004を実行する。未発見の場合(No)、MPPK114はS1003を実行し、コピー元VOLが存在しないというエラー報告をホスト計算機16に送信する。なお、S1001及びS1002の処理を、転送されたSCOPY命令を受領したストレージ装置に接続されている全てのストレージ装置に実行しコピー元VOLを探し出すようにしてもよい。
S1004で、MPPK114は、VOL管理テーブル31/41を検索してSCOPY命令で指定されたコピー先仮想VOL名(コピー先VOL)を見つけ出す。S1005で、MPPK114は、コピー先VOLを発見したかを判断する。コピー先VOLを発見した場合(Yes)、MPPK114はS1007を実行する。未発見の場合(No)、MPPK114はS1006を実行し、コピー先VOLが存在しないというエラー報告をホスト計算機16に送信する。なお、S1004及びS1005の処理を、転送されたSCOPY命令を受領したストレージ装置に接続されている全てのストレージ装置に対し実行しコピー先VOLを探し出すようにしてもよい。
S1007で、MPPK114は、コピー元VOLにおいてSCOPY命令で指定されたコピーデータ格納元からコピー対象データをリードし、CMPK115のキャッシュメモリのリードしたコピー対象データをライトする。S1008で、MPPK114は、MPK115のキャッシュメモリに格納したコピー対象データをリードし、コピー先VOLにおいてSCOPY命令で指定されたコピーデータ格納先へリードしたコピー対象データをライトする。S1008の処理を完了した後、処理を図9のS910に戻す。なお、前述のS901、S904、S1001、S1004でのVOLサーチ処理は図11で説明する。
<サーチ処理>
図11は、ボリュームサーチ処理を示すフローチャートである。S1100で、MPPK114は、VOLサーチ処理(VOL名の検索)を開始する。S1101で、MPPK114は、自VOLがあるストレージ装置のVOL管理テーブルの仮想VOL名312から、引数(コピー元VOL名ないしコピー先VOL名)に該当する仮想VOL名を探す。MPPK114は探し出した仮想VOL名に対応する実VOL名を、VOL管理テーブルの実VOL名311から取得する。MPPK114は、取得した実VOL名を本処理のコールルーチンに渡し、処理を終了する。なお、該当する実VOLが存在しない場合は、エラー報告ないしNULL(空白)などの情報をコールルーチンに渡す。
<VOLリード処理>
図12は、ボリュームからのデータ読み出し処理を示すフローチャートである。S1200で、MPPK114は、引数で指定されたVOL名(コピー元VOL名)に該当するボリュームからコピー対象データをリードする処理を開始する。S1201で、MPPK114は、コピー元ボリュームから読み出し、読み出したコピー対象データをCMPK115のキャッシュメモリに書き出す。なお、リード処理は、ボリュームが単体VOL(VOL種別313が“Simplex”)/PVOL/SVOLの何れであるかは関係なく、単純にボリュームからコピー対象データを読み出す処理である。
<VOLライト処理>
図13は、ボリュームへのデータ書き込み処理を示すフローチャートである。S1300で、MPPK114は、引数で指定されたVOL名(コピー先VOL名)に該当するボリュームにコピー対象データをライトする処理を開始する。
S1301で、MPPK114は、コピー先VOLがHAペア構成かを判断する。HAペア構成でない場合(No)、MPPK114は、コピー先VOLが単一VOLで、その単一VOLへコピー対象データをライトするため、S1302を実行する。HAペア構成である場合(Yes)、MPPK114は、S1303を実行する。S1302で、MPPK114は、図12のリード処理でCMPK115のキャッシュメモリに格納したコピー対象データを読み出し、読み出したコピー対象データをコピー先VOLに書き出す。
S1303で、MPPK114は、コピー先VOLがPVOLであるかを判断する。PVOLである場合(Yes)、MPPK114は、コピー先PVOLへコピー対象データを書き込むため、S1304以降の処理を実行する。なお、このコピー先PVOLへのライトは、(C01)、(C03)、(C05)、(C07)の4ケースである。コピー先VOLがPVOLでなくSVOLである場合(No)、MPPK114は、コピー先SVOLへコピー対象データを書き込むため、S1307以降の処理を実行する。なお、このコピー先SVOLへのライトは、(C02)、(C04)、(C06)、(C08)の4ケースである。
S1304で、MPPK114は、CMPK115のキャッシュメモリに格納したコピー対象データを読み出し、読み出したコピー対象データをコピー先VOL(PVOL)に書き出す。S1305で、MPPK114は、コピー対象データのライト命令をHAペア構成としているSVOL担当MPPK114に転送する。S1306で、MPPK114は、SVOLにコピー対象データをライトする。そして、PVOL担当MPPKへ処理を返し、VOLライト処理を終了する。
S1307で、MPPK114は、コピー対象データのライト命令をPVOL担当MPPK114に転送する。VOLへのライト処理では、PVOLとSVOL間でのデータ一致性を保証するため、最初にPVOLへライトした後にSVOLへライトする。S1308で、PVOL担当MPPK114は、PVOLにコピー対象データをライトして、SVOL担当MPPK114に処理を返す。S1309で、SVOL担当MPPK114は、CMPK115のキャッシュメモリから読み出したコピー対象データをコピー先VOL(SVOL)に書き出す。
次に、TCOPY命令でのオフロードデータコピー動作について説明する。
<HAペア構成でのトークン取り扱い>
HAペア構成の場合、コピー元(トークン発行元)として仮想VOL名を使用する。HAペア構成ではPVOLもPVOLとペア構成するSVOLも仮想VOL名は同じであるから、コピー元としてどちらのVOLも使用することができる。そのため、トークンを発行したボリュームがVOL−A1(PVOL)であっても、トークン発行元のHAペアであるVOL−A2(SVOL)のどちらもコピー元として使用できる。この場合、VOL−A1(PVOL)で発行されたトークンは、VOL−A2(SVOL)でコピーされ二重化される。次に、トークン方式の命令(TCOPY命令)でのオフロードデータコピー動作を説明する。
<C05:VOL−A1、VOL−B1が同一装置内(TCOPY)>
図14は、第5のオフロードデータコピー動作を示す図である。TCOPY命令のコピー元ボリューム名に“VOL−A”と、コピー先ボリューム名に“VOL−B”、コピーデータ格納元およびコピーデータ格納先には、それぞれアドレス情報が格納されている。このケースでは、VOL−A1(PVOL)1171、VOL−B1(PVOL)1181がストレージ1 11という同一装置内にあるものとする。
S051で、ホスト計算機16からストレージ1 11のVOL−A1(PVOL)1171へトークン取得命令が発行され、VOL−A1(PVOL)1171担当MPPK114がそのトークン取得命令を受領する。VOL−A1(PVOL)1171担当MPPK114は、生成したコピー元VOL−Aに関するトークンをホスト計算機16に送信し、ホスト計算機16はそのトークンを取得する。S052で、ホスト計算機16は、VOL−B1(PVOL)1181に発行元のコピー元VOL−Aのトークンを含むTCOPY命令を送信し、VOL−B1(PVOL)1181担当MPPK114が受信する。
S053で、VOL−B1(PVOL)1181担当MPPK114は、ストレージ1 11内VOLをVOL管理テーブル31でサーチする。サーチした結果、MPPK114は、VOL−A1(PVOL)1171とVOL−B1(PVOL)1181を発見する。S054で、VOL−A1(PVOL)1171担当MPPK114は、VOL−A1(PVOL)1171からコピー対象データをリードし、CMPK115のキャッシュメモリにリードデータをライトする。S055で、VOL−B1(PVOL)1181担当MPPK114は、VOL−B1(PVOL)1181にキャッシュメモリからリードしたコピー対象データをライトする。
S056で、VOL−B1(PVOL)1181担当MPPK114は、VOL管理テーブル31の検索結果より認識したHAペア構成するVOL−B2(SVOL)1382へのコピー対象データのライト命令を、VOL−B2(SVOL)1382担当MPPK114に転送する。S057で、VOL−B2(SVOL)1382担当MPPK114が、ライト命令を受信する。S058で、VOL−B2(SVOL)1382担当MPPK114は、VOL−B2(SVOL)1382にコピー対象データをライトする。
なお、VOL−A1(PVOL)1171がHAペア構成でない単一ボリュームの場合と、HAペア構成のボリュームである2ケースがある。また、VOL−B1(PVOL)1181もHAペア構成でない単一ボリュームの場合と、HAペア構成のボリュームである2ケースがある。VOL−B1(PVOL)1181がVOL−B2(SVOL)1382とのHAペア構成の場合、コピー対象データをVOL−B1(PVOL)1181、VOL−B2(SVOL)1382の順番でライトする。
また、VOL−A1がSVOLで、VOL−A2がPVOLの場合でも、処理内容は同じである。なお、VOL−A2(SVOL)がTCOPY命令を受信した場合の処理は、後述する(C07)でVOL−AのPVOLとSVOLを入れ替えた場合の処理と同じである。トークン取得時にトークンの二重化処理を行うため、VOL−A2がトークンの取得命令を受けた場合も、VOL−A1でトークンの複製と二重化が行われる。このトークンの複製と二重化処理は、(C06)、(C07)、(C08)でも同じ処理が実行される。
以上のように、オフロードデータコピー命令(TCOPY命令)を受領したコピー先VOLであるVOL−B1(PVOL)がコピー元VOLを検索し、検索したコピー元VOLのコピー対象データをVOL−B1(PVOL)と、HAペア構成をするVOL−B2(SVOL)1171にコピー対象データを書き込むことができる。そのため、従来では、ホスト計算機16が行っていたHAペア構成のボリューム間のデータコピーを、ストレージ装置間だけで行うことができるので、ホスト計算機16でのデータ処理時間の削減・負荷の減少という高性能化及びリソース効率化が図れる。
<C06:VOL−A1、VOL−B2が同一装置内(TCOPY)>
図15は、第6のオフロードデータコピー動作を示す図である。
S061で、ホスト計算機16からストレージ1 11のVOL−A1(PVOL)1171へトークン取得命令が発行され、VOL−A1(PVOL)1171担当MPPK114がそのトークン取得命令を受領する。VOL−A1(PVOL)1171担当MPPK114は、生成したコピー元VOL−Aに関するトークンをホスト計算機16に送信し、ホスト計算機16はそのトークンを取得する。S062で、ホスト計算機16は、ストレージ3 13のVOL−B1(PVOL)1381に発行元のコピー元VOL−Aのトークンを含むTCOPY命令を送信し、VOL−B1(PVOL)1381担当MPPK114が受信する。
S063で、VOL−B1(PVOL)1381担当MPPK114は、ストレージ3 13内VOLをVOL管理テーブル33でサーチする。サーチした結果、VOL−B1(PVOL)1381担当MPPK114は、VOL−B1(PVOL)1381だけを発見し、コピー元VOL−Aは発見できない。なお、このサーチ処理で、VOL−B1(PVOL)1381とHAペア構成するVOL−B2(SVOL)1182がストレージ1 11内に存在することを認識する。S064で、VOL−B1(PVOL)1381担当MPPK114は、VOL−B2(SVOL)1182にコピー元VOL−Aのトークンを含むTCOPY命令を転送する。
S065で、VOL−B2(SVOL)1182担当MPPK114は、ストレージ1 11内VOLをVOL管理テーブルでサーチする。サーチした結果、VOL−B2(SVOL)1182担当MPPK114は、VOL−A1(PVOL)1171とVOL−B2(SVOL)1182を発見する。S066で、VOL−A1(PVOL)1171担当MPPK114は、VOL−A1(PVOL)1171からコピー対象データをリードし、CMPK115のキャッシュメモリにリードデータをライトする。S067で、VOL−B2(SVOL)1182担当MPPK114は、VOL−B1(PVOL)1381担当MPPK114にキャッシュメモリからリードしたコピー対象データとライト命令を転送する。S068で、VOL−B1(PVOL)1381担当MPPK114は、コピー対象データとライト命令を受領する。S069で、VOL−B1(PVOL)1381担当MPPK114は、VOL−B1(PVOL)1381にコピー対象データを書き込む。書き込み完了後に、VOL−B1(PVOL)1381担当MPPK114は、書き込み完了報告を、VOL−B2(SVOL)1182担当MPPK114へ送る。S06aで、書き込み完了報告を受信したVOL−B2(SVOL)1182担当MPPK114は、VOL−B2(SVOL)1182にコピー対象データを書き込む。
図15の構成で、VOL−A2(SVOL)がTCOPY命令を受けた場合は、(C08)で仮想VOL−AのPVOLとSVOLを入れ替えた場合に該当する。
<C07:VOL−A2、VOL−B1が同一装置内(TCOPY)>
図16は、第7のオフロードデータコピー動作を示す図である。
S071で、ホスト計算機16からストレージ1 11のVOL−A1(PVOL)1171へトークン取得命令が発行され、VOL−A1(PVOL)1171担当MPPK114がそのトークン取得命令を受領する。VOL−A1(PVOL)1171担当MPPK114は、生成したコピー元VOL−Aに関するトークンをホスト計算機16に送信し、ホスト計算機16はそのトークンを取得する。S072で、ホスト計算機16は、ストレージ2 12のVOL−B1(PVOL)1281に発行元のコピー元VOL−Aのトークンを含むTCOPY命令を送信し、VOL−B1(PVOL)1281担当MPPK114が受信する。
S073で、VOL−B1(PVOL)1281担当MPPK114は、ストレージ2 12内VOLをVOL管理テーブル42でサーチする。サーチした結果、MPPK114は、VOL−A2(SVOL)1272とVOL−B1(PVOL)1281を発見する。なお、このサーチ処理で、VOL−B1(PVOL)1281とHAペア構成するVOL−B2(SVOL)1382がストレージ3 13内に存在することを認識する。
S074で、VOL−A2(SVOL)1272担当MPPK114は、VOL−A2(SVOL)1272からコピー対象データをリードし、CMPK115のキャッシュメモリにリードデータをライトする。S075で、VOL−A2(SVOL)1272担当MPPK114は、VOL−B1(PVOL)1281担当MPPK114にキャッシュメモリからリードしたコピー対象データとライト命令を転送する。そして、VOL−B1(PVOL)1281担当MPPK114は、VOL−B1(PVOL)1281に受信したコピー対象データを書き込む。S076で、VOL−B1(PVOL)1281担当MPPK114は、VOL−B2(SVOL)1382にコピー元VOL−Aのトークンを含むTCOPY命令とコピー対象データを転送する。
S077で、VOL−B2(SVOL)1382担当MPPK114はTCOPY命令とコピー対象データを受領する。S078で、VOL−B2(SVOL)1382担当MPPK114は、VOL−B2(SVOL)1382にコピー対象データを書き込む。
図16の構成で、VOL−A2(SVOL)がTCOPY命令を受けた場合は、(C05)で仮想VOL−AのPVOLとSVOLを入れ替えた場合に該当する。
<C08:VOL−A2、VOL−B2が同一装置内(TCOPY)>
図17は、第8のオフロードデータコピー動作を示す図である。
S081で、ホスト計算機16からストレージ1 11のVOL−A1(PVOL)1171へトークン取得命令が発行され、VOL−A1(PVOL)1171担当MPPK114がそのトークン取得命令を受領する。VOL−A(PVOL)担当MPPK114は、生成したコピー元VOL−Aに関するトークンをホスト計算機16に送信し、ホスト計算機16はそのトークンを取得する。S082で、ホスト計算機16は、ストレージ3 13のVOL−B1(PVOL)1381に、発行元がコピー元VOL−Aのトークンを含むTCOPY命令を送信し、VOL−B1(PVOL)1381担当MPPK114が受信する。
S083で、VOL−B1(PVOL)1381担当MPPK114は、ストレージ3 13内VOLをVOL管理テーブル43でサーチする。サーチした結果、VOL−B1(PVOL)1381担当MPPK114は、VOL−B1(PVOL)1381をストレージ3 13内に発見するがVOL−Aは発見できない。なお、このサーチ処理で、VOL−B1(PVOL)1381とHAペア構成するVOL−B2(SVOL)1282がストレージ2 12内に存在することを認識する。
S084で、VOL−B1(PVOL)1381担当MPPK114は、VOL−B1(PVOL)1381とHAペア構成するストレージ2 12のVOL−B2(SVOL)1282担当MPPK114への発行元がコピー元VOL−Aのトークンを含むTCOPY命令を転送する。S085で、VOL−B2(SVOL)1282担当MPPK114は、ストレージ2 12内VOLをVOL管理テーブル42でサーチする。サーチした結果、MPPK114は、VOL−A2(SVOL)1272とVOL−B2(SVOL)1282を発見する。
S086で、VOL−A2(SVOL)1272担当MPPK114は、VOL−A2(SVOL)1272からコピー対象データをリードし、CMPK115のキャッシュメモリにリードデータをライトする。S087で、VOL−B2(SVOL)1282担当MPPK114が、リードしたコピー対象データとライト命令をVOL−B1(PVOL)1381担当MPPK114に転送する。
S088で、VOL−B1(PVOL)1381担当MPPK114は、コピー対象データとライト命令を受領する。S089で、VOL−B1(PVOL)1381担当MPPK114は、VOL−B1(PVOL)1381にコピー対象データを書き込む。書き込み完了後に、VOL−B1(PVOL)1381担当MPPK114は、書き込み完了報告を、VOL−B2(SVOL)1282担当MPPK114へ送る。S08aで、VOL−B2(SVOL)1282担当MPPK114が、コピー対象データをVOL−B2(SVOL)1282に書き込み。
以上のように、ホスト計算機16は、トークン取得命令と取得したトークンから生成したTCOPY命令をストレージ装置に送信するだけで、ストレージ装置間でのオフロードデータコピー(仮想VOL−Aから仮想VOL−Bへのデータコピー)を実行させることができる。ホスト計算機16は、ストレージ装置に対するデータコピーのためのリード/ライト処理を不要とできるので、処理性能を向上できる。また、ホスト計算機16とストレージ装置間のネットワークを占有する時間も削減できるので、応答性能も向上できる。なお、図17の構成で、VOL−A2(SVOL)がTCOPY命令を受けた場合は、(C06)で仮想VOL−AのPVOLとSVOLを入れ替えた場合に該当する。
<メイン処理(TCOPY命令)>
図18は、第5から第8でのオフロードデータコピー動作におけるメイン処理を示すフローチャートである。本処理は、ホスト計算機16がストレージ装置へのトークン取得命令で取得したトークンを含むTCOPY命令を、コピー先VOLを有するストレージ装置に発行したことを契機に処理が開始される。なお、説明を簡便にするため、処理の主体を単純にMPPK114とする。S1800で、MPPK114は、TCOPY命令(トークン)を受領し、オフロードデータコピー処理を開始する。
S1801で、MPPK114は、TCOPY命令のコピー先仮想VOL(以下、コピー先VOL)名に該当するVOLを、VOL管理テーブルでサーチする。つまり、MPPK114は、VOL管理テーブルの仮想VOL名312にコピー先VOL名が存在するかを確認する。S1802で、MPPK114は、コピー先VOLを発見したかを判断する。発見した場合(Yes)、MPPK114はS1804を、発見できない場合(No)はS1803を実行する。S1803で、MPPK114は、コピー先VOLを発見できなかったというエラー報告をホスト計算機16に送信し、処理を終了する。
S1804で、MPPK114は、TCOPY命令のトークンからコピー元仮想VOL(以下、コピー元VOL)名を取得する。S1805で、MPPK114は、VOL管理テーブルの仮想VOL名312に取得したコピー元VOL名が存在するかをサーチする。S1806で、MPPK114は、コピー元VOLを発見したかを判断する。発見した場合(Yes)、MPPK114はS1807をする。このケースは、(C05)及び(C08)が該当し、1つのストレージ装置単独(自筐体内)でのオフロードデータコピーが可能なケースである。発見できない場合(No)、MPPK114はS1809を実行する。このケースは、(C06)及び(C07)が該当し、1つのストレージ装置単独(自筐体内)でのオフロードデータコピーが不可能なケースである。
S1807で、MPPK114は、コピー元VOLのコピーデータ格納元からコピー対象データをリードする。S1808で、MPPK114は、コピー先VOLのコピーデータ格納先へコピー対象データをライトする。このS1807のリード処理とS1808のライト処理の間は、他の処理(デステージング処理等)がコピー対象データを書き換えないようライトロックを行う。
S1809で、MPPK114は、VOL管理テーブル31/41のVOL種別313で、コピー先VOL種別がHA−PVOLまたはHA−SVOLかを判断する。HAペア構成であれば(Yes)、MPPK114はS1811を実行する。HAペア構成でなければ(No)、MPPK114はS1810を実行し、コピー元VOLが存在しないというエラー報告をホスト計算機16に送信する。
S1811で、MPPK114は、コピー先VOLのHAペアVOLが存在するストレージ装置にTCOPY命令を転送する。TCOPY命令を転送されたストレージ装置での処理は、図19で説明する。そして、MPPK114は、ホスト計算機16へTCOPY命令の完了報告を送信し、処理を終了する。
<転送TCOPY命令の処理>
図19は、転送されたオフロードデータコピー命令(TCOPY)を受領したボリューム側でのオフロードデータコピー処理を示すフローチャートである。本処理は、(C06)、(C07)での転送SCOPY命令を受領したことを契機に開始される。
S1900で、MPPK114は、他のストレージ装置から転送されたTCOPY命令を受領する。S1901で、MPPK114は、TCOPY命令のコピー先VOL名が、VOL管理テーブルの仮想VOL名312を検索してコピー先VOL名を見つけ出す。S1902で、MPPK114は、コピー先VOLを発見したかを判断する。コピー先VOLを発見した場合(Yes)、MPPK114はS1004を実行する。未発見の場合(No)、MPPK114はS1003を実行し、コピー先VOLが存在しないというエラー報告をホスト計算機16に送信する。なお、S1901及びS1902の処理を、転送されたTCOPY命令を受領したストレージ装置に接続されている全てのストレージ装置に対し実行しコピー先VOLを探し出すようにしてもよい。
S1904で、MPPK114は、TCOPY命令内のトークンからコピー元VOL名を取得する。S1905で、MPPK114は、VOL管理テーブルの仮想VOL名312を検索して取得したコピー元VOL名に一致するVOLを見つけ出す。S1906で、MPPK114は、コピー元VOLを発見したかを判断する。コピー元VOLを発見した場合(Yes)、MPPK114はS1908を実行する。未発見の場合(No)、MPPK114はS1907を実行し、コピー元VOLが存在しないというエラー報告をホスト計算機16に送信する。なお、S1905及びS1906の処理を、転送されたTCOPY命令を受領したストレージ装置に接続されている全てのストレージ装置に対し実行しコピー元VOLを探し出すようにしてもよい。
S1908で、MPPK114は、コピー元VOLがトークンIDを記憶しているかを判断する。HAペア構成では、トークンIDをPVOL及びSVOLの両方のVOLが保持して二重化しておく。コピー元VOLがこのトークンIDを記憶することで、MPPK114が、TCOPY命令でのコピー対象データを読み出すコピー元VOL(コピー元VOL(PVOL)単体か、コピー元VOL(PVOL)とコピー元VOL(PVOL)とがペア構成)を正しく認識でき、どちらのコピー元VOLからもコピー対象データを読み出すことができる。詳細な処理は図20で説明する。コピー元VOLがトークンIDを記憶している場合(Yes)、MPPK114はS1910を実行する。トークンIDを記憶していない場合(No)、MPPK114はS1909でコピー元VOLが存在しないというエラー報告をホスト計算機16に送信する。
S1910で、MPPK114は、コピー元VOLからコピー対象データをリードし、CMPK115のキャッシュメモリのリードしたコピー対象データをライトする。S1911で、MPPK114は、MPK115のキャッシュメモリに格納したコピー対象データをリードし、コピー先VOLへリードしたコピー対象データをライトする。S1911の処理を完了した後、MPPK114は、処理を図18のS1811に戻す。なお、前述のVOLサーチ処理は図11、S1807/S1910のリード処理は図12、S1808/S1911ライト処理は図13での処理と同じである。
<トークン処理>
図20は、トークン取得命令を受領したボリューム側でのトークンへの処理を示すフローチャートである。S2000で、MPPK114は、ホスト計算機16からのトークン取得命令(コピー元仮想VOL名、コピーデータ格納元)を受領する。このトークン取得命令の受領により、MPPK114での処理が開始される。
S2001で、MPPK114は、VOL管理テーブルの仮想VOL名312を検索して取得したコピー元VOL名に一致するVOLを見つけ出す。S2002で、MPPK114は、コピー元VOLを発見したかを判断する。コピー元VOLを発見した場合(Yes)、MPPK114はS2004を実行する。未発見の場合(No)、MPPK114はS2003を実行し、コピー元VOLが存在しないというエラー報告をホスト計算機16に送信する。
S2004で、MPPK114は、受領したトークン取得命令の情報(コピー元仮想VOL名、コピーデータ格納元)にトークンを一意に識別するためのトークンIDを付加したトークンを生成する。S2005で、MPPK114は、コピー元VOLはトークンIDを記憶する。また、コピー元VOL担当MPPK114がアクセスするローカルメモリにトークンを格納して、トークン識別等に利用することもできる。
S2006で、MPPK114は、コピー元VOL種別がHA−PVOLまたはHA−SVOLであるかを、VOL管理テーブルのVOL種別313で判断する。HAペア構成VOLであれば(Yes)、MPPK114はS2007を実行する。S2007で、MPPK114は、トークンの二重化処理を行う。
そのトークンの二重化処理は、MPPK114が、コピー元VOLのHAペアVOLにトークンIDを送付し、トークンIDを受信したHAペアVOLは、トークンIDを自身に記憶する。HAペア構成であるVOLであれば(No)、MPPK114は、生成したトークンをホスト計算機16に送信する。なお、生成したトークンをS2004で、ホスト計算機16に送信してもよい。そうすることで、ストレージ装置側でのトークン取得命令処理と、ホスト計算機16側でのTCOPY命令生成処理を並行して実行できるので、ストレージシステム全体の処理性能を向上できる。また、トークンを二重化しておくことで、片方のコピー元VOLでのトークンが消失したとしても、もう一方のコピー元VOLでオフロードデータコピーを継続できる。更に、同じトークンを有するコピー元VOLの負荷を取得し、負荷の軽いコピー元VOLからデータをリードし、コピー元VOLへのアクセス性能の低下を防止することもできる。
以上の処理で、ホスト計算機16は、トークン取得命令とそれに伴うTCOPY命令をストレージ装置に発行するだけで、所定のボリューム間でのオフロードデータコピーを行うことができる。そのため、SCOPY命令と同じように、ホスト計算機16側でのコピーに関する処理を削減できるので、ホスト計算機16及びストレージシステム全体の処理性能を向上できる。また、オフロードデータコピーもストレージ装置間を専用に接続するポート及び専用線を用いることで、データ転送速度や転送効率を向上できるのでコピー時間も短縮できる。
<異なる装置間でのオフロードデータコピー:C11−C14>
図21で、コピー元VOL−A(VOL−A1(PVOL)、VOL−A2(SVOL))と、コピー先VOL−B(VOL−B1(PVOL)、VOL−B2(SVOL))が全て異なるストレージ装置に存在する場合でのオフロードデータコピー動作について説明する。
まず、ストレージ1 11にVOL−A1(PVOL)1171が、ストレージ2 12にVOL−A2(SVOL)1272が、ストレージ3 13にVOL−B1(PVOL)1381が、ストレージ4 14にVOL−B2(SVOL)1482が存在する。また、各ストレージはPORT113を使用し相互に通信できる環境であるものとする。
例えば、ホスト計算機16からSCOPY命令が、ストレージ1 11のVOL−A1(PVOL)1171に発行されると、VOL−A1(PVOL)1171担当MPPK114がオフロードデータコピー処理を開始する。まず、VOL管理テーブル31で、自装置内のボリュームをサーチする。そして、VOL−A1(PVOL)1171担当MPPK114は、ストレージ1 11にVOL−A1(PVOL)1171だけの存在を確認する。同時に、MPPK114は、VOL管理テーブル31のHAペアVOL格納先314の情報からストレージ2 12にVOL−A2(SVOL)1272が存在することを認識する。
次に、VOL−A1(PVOL)1171担当MPPK114は、ストレージ4 14のVOL管理テーブル31を、ストレージ2 12経由でサーチする。そのサーチ結果で、ストレージ4 14にVOL−B2(SVOL)1482が存在することを認識する。同時に、VOL−A1(PVOL)1171担当MPPK114は、VOL管理テーブル31のHAペアVOL格納先314の情報からストレージ3 13にVOL−B1(PVOL)1381が存在することを認識する。以上のように別のストレージ装置のVOL管理テーブルをサーチすることで、オフロードデータコピー命令を受信したストレージ装置は、コピー元VOLまたはコピー先VOLが存在するストレージ装置を特定できる。図21では、カスケード構成を例としたが、マルチターゲット構成でもVOLサーチを行うことができる。
VOLが存在するストレージを特定できたので、次にリモートコピーでコピー元VOL−Aからコピー先VOL−Bへデータをコピーする。このように、異なる(別の)ストレージ装置間での通信(ポート113と専用線1131)により、別装置のVOL探索と別装置間でのリモートコピーができる。つまり、互いに通信できるストレージ装置内にあるVOLは、あたかも同一ストレージ装置内にあるVOLのように扱え、ホスト計算機16に提供できる。これにより、本実施例で説明した同一ストレージ装置内にあるVOLでのオフロードデータコピー処理と同じ処理を、互いに通信できる別のストレージにあるVOLでも行うことができる。
なお、以上の説明では、HAペア構成は、2つのVOL(VOL−B1(PVOL)、VOL−B2(SVOL))として説明したが、これに限定されるものではない。3つ以上でもよい。また、接続構成も、VOL−B1(PVOL)にVOL−B2(SVOL1)が接続し、VOL−B2(SVOL1)にVOL−B3(SVOL2)が接続するカスケード構成でもよい。また、VOL−B1(PVOL)にVOL−B2(SVOL1)とVOL−B3(SVOL2)とが接続するマルチターゲット構成でも本実施例でのオフロードデータコピーを実行することができる。
以上説明したように、本発明の一実施形態であるストレージシステムでは、ストレージ装置全体がダウンしてもシステムが稼働させることのできるHAペア構成による高い信頼性を実現しながら、データ処理時間の削減・ホスト計算機の負荷の減少といった高性能化及びリソース効率化を実現したオフロードデータコピーを可能とすることができる。
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。また、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。
各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、ICカード、SDカード、DVD等の記録媒体に置いてもよい。また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
11、12、13、14、15:ストレージ装置、16:ホスト計算機、17:管理計算機、31、32、33、41、42、43:VOL管理テーブル、114:MPPK、115:CMPK、1141:プロセッサコア、1142:ローカルメモリ

Claims (12)

  1. ホスト計算機に接続するストレージシステムであって、
    前記ストレージシステムは、第1ストレージ装置と、第2ストレージ装置とを備え、
    前記第1ストレージ装置の第1ボリュームと、前記第1ボリュームのデータが二重化された前記第2ストレージ装置の第2ボリュームとがそれぞれ同じ仮想IDをホストに応答し、HAペアを構成し、
    前記第1ストレージ装置または前記第2のストレージ装置が、仮想IDをコピー元として指定したオフロードデータコピーの指示を前記ホスト計算機から受領すると、
    コピー先ボリュームが存在するストレージ装置に応じて、前記第1ボリュームまたは前記第2ボリュームのいずれをコピー元ボリュームとして選択し、当該選択したコピー元ボリュームからコピー先ボリュームにデータをコピーする
    ことを特徴とするストレージシステム。
  2. 請求項1記載のストレージシステムであって、前記コピー先ボリュームが第3ボリュームと、前記第3ボリュームのデータが二重化された第4ボリュームとがそれぞれ同じ仮想IDをホストに応答し、HAペアを構成する
    ことを特徴とするストレージシステム。
  3. 請求項1記載のストレージシステムであって、前記コピー元ボリュームから読み出したデータを、前記第3ボリュームに書き込んだ後、前記第4ボリュームに当該データを書き込む
    ことを特徴とするストレージシステム。
  4. 請求項2記載のストレージシステムであって、更に第3ストレージ装置を備え、前記第1ストレージ装置に第3ボリュームを、第3ストレージ装置に前記第4ボリュームを備える
    ことを特徴とするストレージシステム。
  5. 請求項4記載のストレージシステムであって、第1ストレージ装置に前記第4ボリュームを、第3ストレージ装置に前記第3ボリュームを備える
    ことを特徴とするストレージシステム。
  6. 請求項4記載のストレージシステムであって、第3ストレージ装置に前記第4ボリュームを、第2ストレージ装置に前記第3ボリュームを備える
    ことを特徴とするストレージシステム。
  7. 請求項4記載のストレージシステムであって、第2ストレージ装置に前記第4ボリュームを、第3ストレージ装置に前記第3ボリュームを備える
    ことを特徴とするストレージシステム。
  8. 請求項1記載のストレージシステムであって、更に、各ボリュームを制御する制御部を備え、前記ホスト計算機からのデータコピー命令を当該制御部が受信し、前記コピー元ボリュームから前記コピー先ボリュームへのデータコピーを実行する
    ことを特徴とするストレージシステム。
  9. 請求項8記載のストレージシステムであって、
    前記ホスト計算機は前記第1ストレージ装置ないし第2ストレージ装置にトークン取得命令を発行し、
    前記トークン取得命令を受信したストレージ装置は、当該トークン取得命令にトークンを一意に識別するトークンIDを付加したトークンを生成して、当該生成したトークンを前記ホスト計算機の送信し、
    前記トークンIDを前記第1ボリュームと前記第2ボリュームとに格納し、
    前記ホスト計算機は受信した前記トークンからデータコピー命令を生成し、当該データコピー命令を前記第1ストレージ装置ないし第2ストレージ装置の制御部に送信して前記コピー元ボリュームから前記コピー先ボリュームへのデータコピーを実行する
    ことを特徴とするストレージシステム。
  10. ホスト計算機に接続するストレージ装置であって、
    第1ボリュームと、前記第1ボリュームのデータが二重化された前記第2ボリュームとがそれぞれ同じ仮想IDをホストに応答し、HAペアを構成し、
    前記ストレージ装置が、仮想IDをコピー元として指定したオフロードデータコピーの指示を前記ホスト計算機から受領すると、
    前記第1ボリュームまたは前記第2ボリュームのいずれをコピー元ボリュームとして選択し、当該選択したコピー元ボリュームからコピー先ボリュームにデータをコピーする
    ことを特徴とするストレージ装置。
  11. 請求項10記載のストレージ装置であって、前記コピー先ボリュームが第3ボリュームと、前記第3ボリュームのデータが二重化された第4ボリュームとがそれぞれ同じ仮想IDをホストに応答し、HAペアを構成する
    ことを特徴とするストレージ装置。
  12. ホスト計算機に接続するストレージシステムのデータ移行方法であって、
    前記ストレージシステムは、第1ストレージ装置と、第2ストレージ装置とを備え、
    前記第1ストレージ装置の第1ボリュームと、前記第1ボリュームのデータが二重化された前記第2ストレージ装置の第2ボリュームとがそれぞれ同じ仮想IDをホストに応答し、HAペアを構成し、
    前記第1ストレージ装置または前記第2のストレージ装置が、仮想IDをコピー元として指定したオフロードデータコピーの指示を前記ホスト計算機から受領するステップと、
    コピー先ボリュームが存在するストレージ装置に応じて、前記第1ボリュームまたは前記第2ボリュームのいずれをコピー元ボリュームとして選択するステップと、
    前記選択したコピー元ボリュームからコピー先ボリュームにデータをコピーするステップとを有する
    ことを特徴とするストレージシステムのデータ移行方法。
JP2016527539A 2014-06-11 2014-06-11 ストレージシステム、ストレージ装置及びデータ移行方法 Active JP6279731B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2014/065425 WO2015189925A1 (ja) 2014-06-11 2014-06-11 ストレージシステム、ストレージ装置及びデータ移行方法

Publications (2)

Publication Number Publication Date
JPWO2015189925A1 true JPWO2015189925A1 (ja) 2017-04-20
JP6279731B2 JP6279731B2 (ja) 2018-02-14

Family

ID=54833056

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016527539A Active JP6279731B2 (ja) 2014-06-11 2014-06-11 ストレージシステム、ストレージ装置及びデータ移行方法

Country Status (3)

Country Link
US (1) US10191685B2 (ja)
JP (1) JP6279731B2 (ja)
WO (1) WO2015189925A1 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017208319A1 (ja) * 2016-05-31 2017-12-07 株式会社日立製作所 ストレージシステム及びストレージシステムの管理方法
US10762021B2 (en) * 2016-07-11 2020-09-01 Hitachi, Ltd. Information processing system, and control method of information processing system
WO2019003416A1 (ja) * 2017-06-30 2019-01-03 株式会社日立製作所 ストレージシステム及び記憶制御方法
JP6734251B2 (ja) 2017-11-30 2020-08-05 株式会社日立製作所 システム及びその制御方法並びにプログラム
US10956078B2 (en) 2018-03-27 2021-03-23 EMC IP Holding Company LLC Storage system with loopback replication process providing object-dependent slice assignment
US10866969B2 (en) * 2018-03-28 2020-12-15 EMC IP Holding Company LLC Storage system with loopback replication process providing unique identifiers for collision-free object pairing
JP6751423B2 (ja) * 2018-07-31 2020-09-02 株式会社日立製作所 ストレージ装置及びその制御方法
JP2020052464A (ja) 2018-09-21 2020-04-02 株式会社日立製作所 リモートレプリケーションを行うストレージシステム
JP2022124054A (ja) 2021-02-15 2022-08-25 株式会社日立製作所 ストレージシステム、ストレージ装置及びストレージ装置管理方法
US11775186B1 (en) * 2021-08-04 2023-10-03 Amazon Technologies, Inc. Dynamic usage-metric-based configuration of storage volumes

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007042008A (ja) * 2005-08-05 2007-02-15 Hitachi Ltd 記憶制御方法及び記憶制御システム
EP1918818A2 (en) * 2006-10-30 2008-05-07 Hitachi, Ltd. Information system and data transfer method of information system
JP2008134986A (ja) * 2006-10-30 2008-06-12 Hitachi Ltd 情報システム、データ転送方法及びデータ保護方法
US20090094403A1 (en) * 2007-10-05 2009-04-09 Yoshihito Nakagawa Storage system and virtualization method
JP2009104421A (ja) * 2007-10-23 2009-05-14 Hitachi Ltd ストレージアクセス装置
JP2014048787A (ja) * 2012-08-30 2014-03-17 Fujitsu Ltd 情報処理装置、コピー制御プログラム、およびコピー制御方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4902403B2 (ja) 2006-10-30 2012-03-21 株式会社日立製作所 情報システム及びデータ転送方法
JP4990066B2 (ja) * 2007-08-21 2012-08-01 株式会社日立製作所 論理ボリュームのペアを利用したデータ保存の方式を変更する機能を備えたストレージシステム
JP5222617B2 (ja) 2008-04-28 2013-06-26 株式会社日立製作所 情報システム及びi/o処理方法
JP5508798B2 (ja) * 2009-09-29 2014-06-04 株式会社日立製作所 クラスタを考慮してレプリケーションを管理する管理方法及びシステム
WO2011104741A1 (en) * 2010-02-23 2011-09-01 Hitachi, Ltd. Management system for storage system and method for managing storage system
JP2012027829A (ja) * 2010-07-27 2012-02-09 Hitachi Ltd スケールアウト型ストレージシステムを含んだストレージシステム群及びその管理方法
WO2012147133A1 (en) * 2011-04-27 2012-11-01 Hitachi, Ltd. Information storage system and storage system management method
JP5942511B2 (ja) * 2012-03-19 2016-06-29 富士通株式会社 バックアップ装置,バックアップ方法,およびバックアッププログラム
US20150227600A1 (en) * 2014-02-13 2015-08-13 Actifio, Inc. Virtual data backup

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007042008A (ja) * 2005-08-05 2007-02-15 Hitachi Ltd 記憶制御方法及び記憶制御システム
EP1918818A2 (en) * 2006-10-30 2008-05-07 Hitachi, Ltd. Information system and data transfer method of information system
JP2008134986A (ja) * 2006-10-30 2008-06-12 Hitachi Ltd 情報システム、データ転送方法及びデータ保護方法
US20090094403A1 (en) * 2007-10-05 2009-04-09 Yoshihito Nakagawa Storage system and virtualization method
JP2009093316A (ja) * 2007-10-05 2009-04-30 Hitachi Ltd ストレージシステム及び仮想化方法
JP2009104421A (ja) * 2007-10-23 2009-05-14 Hitachi Ltd ストレージアクセス装置
JP2014048787A (ja) * 2012-08-30 2014-03-17 Fujitsu Ltd 情報処理装置、コピー制御プログラム、およびコピー制御方法

Also Published As

Publication number Publication date
WO2015189925A1 (ja) 2015-12-17
US10191685B2 (en) 2019-01-29
JP6279731B2 (ja) 2018-02-14
US20170017433A1 (en) 2017-01-19

Similar Documents

Publication Publication Date Title
JP6279731B2 (ja) ストレージシステム、ストレージ装置及びデータ移行方法
US7343467B2 (en) Method to perform parallel data migration in a clustered storage environment
US7478221B1 (en) System and method for using consistent virtual addresses to communicate in cooperative multi-layer virtualization environments
CN109074297A (zh) 在同步复制的数据集中启用数据完整性检查和更快的应用恢复
US11144252B2 (en) Optimizing write IO bandwidth and latency in an active-active clustered system based on a single storage node having ownership of a storage object
WO2015125221A1 (ja) ストレージシステム及び移行方法
US9514008B2 (en) System and method for distributed processing of file volume
JP4400653B2 (ja) 情報システム、および、情報システムの情報保存方法
JP2013539119A (ja) オフロード・リードおよびライト
JP2007279845A (ja) ストレージシステム
US10031682B1 (en) Methods for improved data store migrations and devices thereof
JP7145902B2 (ja) ストレージシステム及びその制御方法
JP6197816B2 (ja) ストレージシステム、ストレージの管理方法、及び、コンピュータ・プログラム
US8799596B2 (en) Switching visibility between virtual data storage entities
WO2016117040A1 (ja) 計算機システム、計算機システムにおけるデータの移行方法
US20170017403A1 (en) Storage system
JP5445504B2 (ja) データ複製装置、データ複製制御方法、及びデータ複製制御プログラム
JP6194784B2 (ja) ストレージ制御装置、制御方法および制御プログラム
US10140307B1 (en) Efficiently managing reference weights for write splits
CN105912277B (zh) 在虚拟机镜像中实现文件系统单写日志的方法
US20090271579A1 (en) Storage subsystem and storage system
US10769172B2 (en) Globalized object names in a global namespace
US20230236865A1 (en) Locating Virtual Tape File Systems on a Virtual Tape Emulator
US10860235B2 (en) Storage system having a plurality of storage apparatuses which migrate a first volume group to a second volume group
JP7050707B2 (ja) ストレージ制御装置、ストレージシステム、ストレージ制御方法、及び、ストレージ制御プログラム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170725

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170920

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20171226

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180117

R150 Certificate of patent or registration of utility model

Ref document number: 6279731

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111