JP2012027829A - スケールアウト型ストレージシステムを含んだストレージシステム群及びその管理方法 - Google Patents

スケールアウト型ストレージシステムを含んだストレージシステム群及びその管理方法 Download PDF

Info

Publication number
JP2012027829A
JP2012027829A JP2010168164A JP2010168164A JP2012027829A JP 2012027829 A JP2012027829 A JP 2012027829A JP 2010168164 A JP2010168164 A JP 2010168164A JP 2010168164 A JP2010168164 A JP 2010168164A JP 2012027829 A JP2012027829 A JP 2012027829A
Authority
JP
Japan
Prior art keywords
storage system
volume
storage
virtual
management
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
JP2010168164A
Other languages
English (en)
Inventor
Kyoko Miwa
京子 三輪
Junichi Hara
純一 原
Masayasu Asano
正靖 淺野
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 JP2010168164A priority Critical patent/JP2012027829A/ja
Priority to CN201080067463.XA priority patent/CN102959498B/zh
Priority to EP10855337.1A priority patent/EP2570911A4/en
Priority to PCT/JP2010/063027 priority patent/WO2012014329A1/ja
Priority to US12/988,008 priority patent/US8589616B2/en
Publication of JP2012027829A publication Critical patent/JP2012027829A/ja
Priority to US14/053,703 priority patent/US8868819B2/en
Priority to US14/487,170 priority patent/US9047020B2/en
Priority to US14/711,986 priority patent/US9395928B2/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/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
    • 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/2056Error 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 by mirroring
    • G06F11/2069Management of state, configuration or failover
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0646Configuration or reconfiguration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
    • 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/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0617Improving the reliability of storage systems in relation to availability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • G06F3/0622Securing storage systems in relation to access
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/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/0629Configuration or reconfiguration of storage systems
    • G06F3/0637Permissions
    • 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/065Replication 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/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/0683Plurality of storage devices
    • 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/2056Error 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 by mirroring
    • G06F11/2071Error 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 by mirroring using a plurality of controllers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/84Using snapshots, i.e. a logical point-in-time copy of the data

Abstract

【課題】スケールアウト型ストレージシステムを含んだストレージシステム群を管理するユーザの管理負担を軽減する。
【解決手段】管理システムは、スケールアウト型ストレージシステム(仮想ストレージシステム)を含むストレージシステム群に接続される。管理システムは、仮想ストレージシステムの構成要素であるか否かをストレージシステム毎に表す情報を含んだストレージ管理情報を有する。管理システムは、ストレージ管理情報を基に、第1のストレージシステムが仮想ストレージシステムの構成要素であるか否かを判断し、その判断の結果が肯定的である場合、ストレージ管理情報を基に、第1のストレージシステムを含んだ仮想ストレージシステム以外のストレージシステムである第2のストレージシステムを特定し、その第2のストレージシステムについてのみ、特定の操作をユーザに許可する。
【選択図】図3

Description

本発明は、複数のストレージシステムから構成されるスケールアウト型ストレージシステムを含んだストレージシステム群及びその管理方法に関する。
企業活動が情報システムに依存する度合いが強まるにつれ、システムが停止した時の損害が甚大なものになっている。このことから、システム障害や被災といった不足の事態が発生しても、システムを中断させない或いは早急にシステムを回復させる技術が重要視されている。
例えば、特許文献1では、ストレージクラスタ技術が開示されている。ストレージクラスタ技術では、第1のストレージシステムが有する第1の論理ボリューム内のデータが第2のストレージシステムが有する第2の論理ボリュームにコピーされる。第1のストレージシステムで障害が発生した場合、ホスト計算機は、使用するアクセスパスを、第1の論理ボリュームへのアクセスパスから第2の論理ボリュームへのアクセスパスに切り替えることで、第2のストレージシステムが有する第2の論理ボリューム内のデータにアクセスすることができる。なお、以降の説明では、データのコピー元の論理ボリューム(コピー元ボリューム)とデータのコピー先となる論理ボリューム(コピー先ボリューム)との組み合わせを、「リモートコピーペア」と呼ぶ。
また、特許文献2では、災害などが原因で拠点全体でシステムが停止するケースにおいて、システムを早急に復旧させるディザスタリカバリ技術が開示されている。ディザスタリカバリ技術によれば、第1のストレージシステムが有する第1の論理ボリュームと第1のストレージシステムが使用できない時に使用される第2のストレージシステムが有する第2の論理ボリュームとを有したリモートコピーペアが構成される。これにより、第1のストレージシステムが被災しても第2のストレージシステムで運用を継続することができる。なお、以降の説明では、通常運用時に稼働させる第1のストレージシステムを「正ストレージシステム」、第1のストレージシステムに替わって使用される第2のストレージシステムを「副ストレージシステム」と呼ぶことがある。
特開2009−32014号公報 特開2005−18506号公報
複数のストレージシステムから成るスケールアウト型ストレージシステム(以降、「仮想ストレージシステム」と呼ぶ)が知られている。仮想ストレージシステムによれば、ストレージシステムを継ぎ足していくことによって、仮想ストレージシステムが提供するリソースの容量を柔軟に拡張することができる。
ここで、同一仮想ストレージシステムにおけるストレージシステム間でリモートコピーペアが組まれることを考察する。具体的には、例えば、下記の環境があるとする。
(*)1つの仮想ストレージシステムが、第1のストレージシステムと第2のストレージシステムで構成されている。
(*)第1及び第2のリモートコピーペアがある。
(*)第1及び第2のストレージシステムのいずれにも、コピー元ボリュームとコピー先ボリュームが混在している。具体的には、例えば、第1のリモートコピーペアが、第1のコピー元ボリュームと第1のコピー先ボリュームで構成されていて、第2のリモートコピーペアが、第2のコピー元ボリュームと第2のコピー先ボリュームで構成されている。第1のストレージシステムが、第1のコピー元ボリュームと第2のコピー先ボリュームとを有する。第2のストレージシステムが、第1のコピー先ボリュームと第2のコピー元ボリュームとを有する。
(*)第1及び第2のリモートコピーペアで1つのコンシステンシーグループが構成されている。具体的には、第1及び第2のコピー元ボリュームへのライトデータの書き込みの順序(更新順序)と、第1及び第2のコピー先ボリュームへのライトデータの複製順序(反映順序)が同一である。
このような環境において、第1のストレージシステムが被災すると、ディザスタリカバリ技術により、第1及び第2のコピー元ボリュームを使用した運用が、第1及び第2のコピー先ボリュームを使用する運用に切り替わる。
しかし、第2のコピー先ボリュームは、被災した第1のストレージシステムにあるため、第2のコピー先ボリューム内のデータを復旧することができない。
ユーザは、このような問題が生じないように、リモートコピーペアを構成しなければならない。そのためには、仮想ストレージシステムとそれを構成するストレージシステムとの対応関係をユーザが意識しながら管理を行う必要がある。これは、ユーザにとって負担である。
したがって、本発明の目的は、スケールアウト型ストレージシステムを含んだストレージシステム群を管理するユーザの管理負担を軽減することにある。
管理システムは、複数のストレージシステムで構成されたスケールアウト型ストレージシステムである仮想ストレージシステムを含むストレージシステム群に接続される。管理システムは、仮想ストレージシステムの構成要素であるか否かをストレージシステム毎に表す情報を含んだストレージ管理情報を有する。管理システムは、ストレージ管理情報を基に、第1のストレージシステムが仮想ストレージシステムの構成要素であるか否かを判断し、その判断の結果が肯定的である場合、ストレージ管理情報を基に、第1のストレージシステムを含んだ仮想ストレージシステム以外のストレージシステムである第2のストレージシステムを特定し、その第2のストレージシステムについてのみ、特定の操作をユーザに許可する。
複数のストレージシステムから構成される仮想ストレージシステムを一台のストレージシステムとしてみなして管理することができる。これにより、スケールアウト型ストレージシステムを含んだストレージシステム群を管理するユーザの管理負担を軽減することができる。
実施例1の計算機システムの構成の一例を示す図。 実施例1の正又は副ストレージシステムの構成の一例を示す図。 実施例1の管理計算機の構成の一例を示す図。 実施例1の正又は副ホスト計算機の構成の一例を示す図。 実施例1のスケールアウト型ストレージシステムの概要を示す図。 実施例1のストレージ構成及びリモートコピー構成の一例を示す図。 実施例1のボリューム管理テーブルの構成の一例を示す図。 実施例1のボリュームセット代表管理テーブルの構成の一例を示す図。 実施例1のボリュームセット管理テーブルの構成の一例を示す図。 実施例1のコピーペア管理テーブルの構成の一例を示す図。 実施例1のライトデータ管理テーブルの構成の一例を示す図。 実施例1のストレージ管理テーブルの構成の一例を示す図。 実施例1のボリューム統合管理テーブルの構成の一例を示す図。 実施例1のボリュームセット統合管理テーブルの構成の一例を示す図。 実施例1のライト要求処理のフローチャート。 実施例1のライトデータ転送処理のフローチャート。 実施例1の代表ストレージシステムが行うライトデータ反映処理のフローチャート。 実施例1の非代表ストレージシステムが行うライトデータ反映処理のフローチャート。 実施例1の仮想ボリュームセット作成処理のフローチャート。 実施例1のストレージ管理プログラムが提供する仮想ボリューム作成画面を示す図。 実施例1のリモートコピーペア作成処理の一部を示すフローチャート。 実施例1のリモートコピーペア作成処理の別の一部を示すフローチャート。 実施例1のリモートコピーペア作成処理シーケンスの残りを示すフローチャート。 実施例1のストレージ管理プログラムが提供するリモートコピーペア作成画面を示す図。 実施例1のストレージ追加処理のフローチャート。 実施例1のストレージ追加画面を示す図。 実施例1のフェイルオーバ要否判定処理のフローチャート。 実施例2の計算機システムの構成を示す図。 実施例2の単体管理計算機の構成の一例を示す図。 実施例2の構成エラー判定処理のフローチャート。 実施例1においてフェイルオーバが不要なストレージシステムの構成の一例を示す図。
以下、本発明の一実施例に係るスケールアウト型ストレージ装置の管理計算機を、図を用いて説明する。
なお、以下の説明では、「xxxテーブル」の表現にて各種情報を説明することがあるが、各種情報は、テーブル以外のデータ構造で表現されていてもよい。データ構造に依存しないことを示すために「xxxテーブル」を「xxx情報」と呼ぶことができる。
また、以下の説明では、要素を特定するためにID(識別子)が使用されるが、IDとして、名前、番号などが使用されて良い。
また、以下の説明では、「プログラム」を主語として処理を説明する場合があるが、プログラムは、プロセッサ(例えばCPU(Central Processing Unit))によって実行されることで、定められた処理を、適宜に記憶資源(例えばメモリ)及び/又は通信インタフェース装置(例えば通信ポート)を用いながら行うため、処理の主語がプロセッサとされてもよい。プログラムを主語として説明された処理は、管理システムが行う処理としても良い。また、プロセッサは、プロセッサが行う処理の一部又は全部を行うハードウェア回路を含んでも良い。コンピュータプログラムは、プログラムソースから各計算機にインストールされても良い。プログラムソースは、例えば、プログラム配布サーバ又は記憶メディアであっても良い。
管理システムは、一以上の計算機で構成されて良い。具体的には、例えば、管理計算機が情報を表示する場合、或いは、管理計算機が表示用情報を遠隔の計算機に送信する場合、管理計算機が管理システムである。また、例えば、複数の計算機で管理計算機と同等の機能が実現されている場合は、当該複数の計算機(表示を表示用計算機が行う場合は表示用計算機を含んで良い)が、管理システムである。
図1は、実施例1の計算機システムの構成の一例を示す図である。
計算機システム1は、正ストレージシステム10aと、副ストレージシステム10bと、管理計算機20と、正ホスト計算機30aと、副ホスト計算機30bと、管理ネットワーク40と、ストレージネットワーク50とを有する。
正ホスト計算機30aと、正ストレージシステム10aは、ストレージネットワーク50を介して相互に接続されている。同様に、副ホスト計算機30bと、副ストレージシステム10bも、ストレージネットワーク50を介して相互に接続されている。また、正ストレージシステム10aと、副ストレージシステム10bも、ストレージネットワーク50を介して相互に接続されている。
正ホスト計算機30a、正ストレージシステム10a、副ホスト計算機30b、副ストレージシステム10bは、管理ネットワーク40を介して管理計算機20に接続されている。
なお、正ホスト計算機30a及び副ホスト計算機30bは、図1の例では複数として示されているが、それぞれ単数であっても良い。また、図1の例では管理計算機20が単数として示されているが複数であっても良い。
ストレージネットワーク50は、主として、正ホスト計算機30aと正ストレージシステム10aとの間で行われるIO(Input/Output)要求に基づく通信、及び副ホスト計算機30bと副ストレージシステム10bとの間で行われるIO要求に基づく通信に使用されるネットワークシステムである。また、ストレージネットワーク50は、正ストレージシステム10aと副ストレージシステム10bとの間のリモートコピーに基づく通信にも使用される。
ストレージネットワーク50としては、例えば、LAN(Local Area Network)、又はSAN(Storage Area Network)を採用することができる。ストレージネットワーク50は、ネットワークスイッチやハブ等を含んで構成されてよい。本実施例では、ストレージネットワーク50は、ファイバーチャネルプロトコルベースのSAN(FC(Fibre Channel)−SAN)である。
管理ネットワーク40は、管理計算機20が、正ホスト計算機30a、正ストレージシステム10a、副ホスト計算機30b、及び副ストレージシステム10bを管理する際に使用されるネットワークである。本実施例では、管理ネットワーク40は、IP(Internet Protocol)プロトコルベースのLANである。ただし、これは、ストレージネットワーク50と管理ネットワーク40とが1つのネットワーク上に形成されることを否定するものではない。例えば、ストレージネットワーク50がIPプロトコルベースのネットワークで構成された場合、ストレージネットワーク50と管理ネットワーク40とを一つのネットワークシステム上に形成することもできる。
図2は、実施例1の正又は副のストレージシステムの構成の一例を示す図である。
なお、副ストレージシステム10bについては、正ストレージシステム10aとほぼ同様の構成であるため説明を省略する。
しかしながら、正ストレージシステム10aと副ストレージシステム10bには、運用上、異なる役割が割り当てられる。すなわち、正ストレージシステム10aは、通常の運用時に稼働するストレージシステムである。一方、副ストレージシステム10bは、正ストレージシステム10aのデータの複製を記憶し、災害やメンテナンスなどの理由によりストレージシステム10aが利用できない際の交替機器として稼働するストレージシステムである。
正ストレージシステム10aは、コントローラ110及びディスク装置120を備える。
ディスク装置120は、正ホスト計算機30aからの書込み要求に従うデータを記憶する。ディスク装置120は、ディスク型の物理記憶デバイス(例えば、HDD(Hard Disk Drive))である。物理記憶デバイスとして、他種の物理記憶デバイス(例えばフラッシュメモリデバイス)が採用されても良い。
コントローラ110は、正ストレージシステム10a全体を制御する。例えば、コントローラ110は、ディスク装置120へのデータの書き込み、ディスク装置120からのデータの読み出し、及び正ストレージシステム10aから副ストレージシステム10bへのリモートコピーを制御する。
また、コントローラ110は、ディスク装置120の記憶領域を、一つ以上の論理ボリューム121として正ホスト計算機30aに提供する。なお、ディスク装置120は、図に示すように複数存在しても良い。また、コントローラ110は、RAID(Redundant Arrays of Independence Disks)技術を用いて、複数のディスク装置120から複数の論理ボリューム121を構成することもできる。以下、論理ボリューム121を単に「ボリューム」と呼ぶことがある。
コントローラ110は、同図に示すように、プロセッサ(例えばCPU(Central Processing Unit))111と、メモリ(以下、制御メモリ)112と、キャッシュメモリ113と、データインターフェース(データIF)114と、ディスクインターフェース(ディスクIF)115と、管理インターフェース(管理IF)116と、を備える。
これらのコンポーネント(111,112,113,114,115,116)は、内部ネットワーク117を介して相互に接続されている。これらコンポーネントは、冗長化構成により、それぞれ多重化されても良い。
プロセッサ111は、制御メモリ112に記憶される制御プログラム1126を実行することによって各種処理を行う。
制御メモリ112には、上述の制御プログラム1126に加えて、プロセッサ111が制御プログラム1126を実行する際に必要なテーブルが記憶される。
具体的に、制御メモリ112には、例えば、ボリューム管理テーブル1121と、ボリュームセット管理テーブル1123と、コピーペア管理テーブル1124と、ライトデータ管理テーブル1125と、が記憶される。
なお、ボリュームセット代表管理テーブル1122は、グループの代表ストレージとして定義されたストレージシステムに記憶される。以下、グループの代表ストレージとして定義されたストレージシステムを、「代表ストレージシステム」と呼ぶ。代表ストレージシステムは、仮想ストレージシステムを構成するストレージシステムの中で一台のみ登録される。
また、仮想ストレージシステムではないストレージシステムでは、当該ストレージシステムが代表ストレージシステムであると登録される。なお、正ストレージシステム10aが備える各テーブルについては後述する。
制御プログラム1126は、正ストレージシステム10a全体を制御するプログラムであり、正ホスト計算機30aからのIO要求の処理、リモートコピー処理、管理計算機20からのストレージ管理要求の処理などを行う。
キャッシュメモリ113は、ディスク装置120へ書き込まれるデータ及びディスク装置120から読み出されるデータ(実際のデータ、読み書きされた時間管理情報など)を一時的に記憶する。
データインターフェース114は、ストレージネットワーク50を介して接続された正ホスト計算機30a及び正ストレージシステム10aの間で通信を行うためのインターフェースである。
具体的には、データインターフェース114は、正ホスト計算機30aからのIO要求(例えば、リード要求及びライト要求)を受信したり、ディスク装置120から読み出されたデータを、ホスト計算機30aに送信したりする際に使用される。また、同一仮想ストレージシステムを構成するストレージシステム間で通信を行うためのインターフェースとしても使用される。さらに、リモートコピー実施時には、正ストレージシステム10aと副ストレージシステム10b間で交換されるデータを送受信する際にも使用される。
ディスクインターフェース115は、ディスク装置120(内部ネットワーク117を介して接続されている装置)と、キャッシュメモリ113との間で通信を行うため等に使用されるインターフェースである。ディスクインターフェース115により、例えば、制御プログラム1126が、キャッシュメモリ113に格納されたデータを取り出して、ディスク装置120に格納したり、ディスク装置120からデータを読み出して、キャッシュメモリ113に書き込んだりすることができる。
管理インターフェース116は、正ストレージシステム10aが、管理計算機20(管理ネットワーク40を介して接続されている計算機)との間で通信を行う際に使用するインターフェースである。管理インターフェース116は、制御プログラム1126が、管理計算機20からの指示を受信したり、正ストレージシステム10aが有するテーブル情報を管理計算機20に送信したりする際に使用される。
図3は、実施例1の管理計算機の構成の一例を示す図である。
管理計算機20は、正ストレージシステム10a、副ストレージシステム10bなどを管理するためのコンピュータである。管理計算機20は、メモリ210と、プロセッサ(例えばCPU)220と、管理インターフェース230とを有する。メモリ210、プロセッサ220及び管理インターフェース230は、図示省略の内部ネットワークによって相互接続される。
プロセッサ220は、メモリ210に記憶されるプログラムを実行することによって各種処理を行う。
メモリ210には、ストレージ管理テーブル2101と、ボリューム統合管理テーブル2102と、ボリュームセット統合管理テーブル2103と、ストレージ管理プログラム2104と、OS(Operating System)2105とが記憶される。
ストレージ管理テーブル2101と、ボリューム統合管理テーブル2102と、ボリュームセット統合管理テーブル2103とは、プロセッサ220により実行されるストレージ管理プログラム2104が用いるテーブルである。なお、各テーブルの詳しい説明は後述する。
ストレージ管理プログラム2104は、正ストレージシステム10a、副ストレージシステム10bを管理するためのユーザインターフェースをユーザに提供する。また、ストレージ管理プログラム2104は、ユーザの操作に基づいて、正ストレージシステム10a、副ストレージシステム10bに対する管理(例えば、設定、実行指示、運用状況の監視)を行う。例えば、ストレージ管理プログラム2104は、ユーザインターフェースを提供し、そのユーザインタフェースを介して、ユーザから、リモートコピー環境の構築及びコピーペア操作などの指示を受け、その指示を、正ストレージシステム10a、副ストレージシステム10bに送信する。
OS2105は、管理計算機20が行う処理全体を制御するプログラムである。
なお、管理計算機20は、図示しない表示装置及び入力装置を有して良い。表示装置は、例えば、液晶ディスプレイ装置であり、入力装置は、例えば、キーボード又はマウスである。表示装置及び入力装置が一体となった装置(例えば、タッチパネル式のディスプレイ装置)を管理計算機20が有しても良い。以下の説明では、画面等の情報が表示装置に表示され、ユーザは、入力装置を用いて所望の操作を行うこととする。
図4は、実施例1の正又は副ホスト計算機の構成の一例を示す図である。
なお、副ホスト計算機30bについては、正ホスト計算機30aと同様の構成であるため説明を省略する。
しかしながら、正ホスト計算機30a、正ホスト計算機30bには、運用上、異なる役割が割り当てられる。正ホスト計算機30aは、通常の運用時に稼働する計算機であるが、副ホスト計算機30bは、災害やメンテナンスなどの理由により正ホスト計算機30aが利用できない際の交替機器として使用される。
正ホスト計算機30aは、例えば、所定の業務システム(例えば、銀行の業務システムや航空機の座席予約業務システム等)の中核をなすコンピュータである。正ホスト計算機30aは、メモリ310と、プロセッサ320と、データインターフェース330と、管理インターフェース340とを有する。メモリ310、プロセッサ320、データインターフェース330、及び管理インターフェース340は、図示省略の内部ネットワークによって相互接続される。
メモリ310には、アプリケーション3101と、パス管理プログラム3102と、OS3103とが記憶される。
アプリケーション3101及びパス管理プログラム3102は、プロセッサ320により実行される。
アプリケーション3101は、例えば、データベースを管理するプログラムであり、ボリューム121に記憶されたデータに基づいて、ボリューム121に対するデータ書き込みやボリューム121からのデータ読み出し等を行う。
パス管理プログラム3102は、正ホスト計算機30aが、正ストレージシステム10aが備えるデータにアクセスするためのパスを選択的に切り替えるプログラムである。データにアクセスするためのパスを複数登録しておくと、障害等により一つのパスが使えなくなっても他のパスを使用してデータにアクセスすることができる。
OS3103は、正ホスト計算機30aが行う処理全体を制御するプログラムである。
次に、スケールアウト型ストレージシステムの概要について説明する。
スケールアウト型ストレージシステムとは、複数のストレージシステムが連結された仮想的な一台のストレージシステムである。連結するストレージシステムの数を調節することにより、スケールアウト型ストレージシステムの構成を大規模にも小規模にもすることができる。
図5は、実施例1のスケールアウト型ストレージシステムの概要を示す図である。
図5に記載の正ストレージシステムA(10a)は、スケールアウト型ストレージシステムであり、正ストレージシステムD及び正ストレージシステムEの二台のストレージシステムから構成されている。
同図によると、正ストレージシステムDは、実ボリュームD1を有している。実ボリュームD1は、正ストレージシステムEの仮想ボリュームE1と対応づけられている。また、正ストレージシステムEは、実ボリュームE3を有している。実ボリュームE3は、正ストレージシステムDの仮想ボリュームD3と対応づけられている。実ボリュームD1、E3、仮想ボリュームE1、D3は、それぞれ、正ホスト計算機30aにより割り当てられている。なお、「実ボリューム」とは、1以上のディスク装置120(例えばRAIDグループ)の記憶空間の全部又は一部である。「仮想ボリューム」とは、ディスク装置120に基づかない仮想的な論理ボリュームである。
次に、正ストレージシステムAが正ホスト計算機30aからボリュームへのIO要求を受信したときに行われる処理の概要について説明する。
一般的に、正ストレージシステムは、正ホスト計算機からボリュームへのIO要求(ライト要求又はリード要求)を受信すると、その要求が、実ボリュームへのIO要求なのか仮想ボリュームへのIO要求かを判定する。正ストレージシステムは、実ボリュームへのIO要求の場合は、I/O先の実ボリュームに対してデータのIOを行い、処理を終了する。一方、仮想ボリュームへのIO要求の場合は、正ストレージシステムは、I/O先の仮想ボリュームに対応づいている実ボリュームを特定し、特定した実ボリュームに対するIO要求を、その実ボリュームを有するストレージシステムに転送する。
図5の構成を例に、具体的に説明を行う。正ストレージシステムEが、仮想ボリュームE1に対するライト要求を正ホスト計算機30aから受信した場合、正ストレージシステムEは、仮想ボリュームE1を経由して実ボリュームD1に対してライトを実行する。同様に、正ストレージシステムEが、正ホスト計算機30aから仮想ボリュームE1に対するリード要求を受信した場合、正ストレージシステムEは、実ボリュームD1からデータを読み出し、仮想ボリュームE1を経由して読み出したデータをホスト計算機30aに送信する。
一方、正ストレージシステムDが、実ボリュームD1に対するライト要求を正ホスト計算機30aから直接(仮想ボリュームE1を介さずに)受信した場合、正ストレージシステムDは、実ボリュームD1にデータを書き込む。同様に、正ストレージシステムDが、正ホスト計算機30aから実ボリュームD1に対するリード要求を直接(仮想ボリュームE1を介さずに)受信した場合、正ストレージシステムDは、実ボリュームD1からデータを読み出し、読み出したデータをホスト計算機30aに送信する。
つまり、正ホスト計算機30aが各実ボリュームD1(E3)にアクセスするパスとしては、各実ボリュームD1(E3)に直接アクセスするパスと、対応付けられている各仮想ボリュームE1(D3)を経由してアクセスするパスとの2つのパスがある。正ホスト計算機30aが備えるパス管理プログラム3102は、これらのパスを選択的に切り替え、実ボリュームD1(E3)にアクセスする。このような構成にしておくと、正ホスト計算機30aが、実ボリュームD1(E3)に直接アクセスするパス及び仮想ボリュームE1(D3)を経由して実ボリュームD1(E3)にアクセスするパスとのいずれかを選択することができるので、一方のパスが故障しても他方のパスが故障していない限り、システムを稼働し続けることができる。なお、正ホスト計算機30aから見ると、正ストレージシステムDと正ストレージシステムEは一つの仮想ストレージシステムAとして見えることになる。
次に、正ストレージシステムと、副ストレージシステムとの間で実施するリモートコピーの概要について説明する。
リモートコピーとは、正ストレージシステムが障害やメンテナンスなどの理由により使用できなくなっても、副ストレージシステムで運用を継続できるよう、正ストレージシステムが有するデータを、副ストレージシステムに複製することである。
リモートコピーは、以下の動作により実現される。
(*)正ストレージシステムのボリュームに記憶された全てのデータを副ストレージシステムのボリュームに複製する「初期コピー」。
(*)正ストレージシステムのボリュームへのライト要求が発生した時に、ライトデータ(そのライト要求に従うデータ)を副ストレージシステムEに転送し、転送されたライトデータによって副ストレージシステムEのボリュームを更新する「更新コピー」。
なお、リモートコピーのためのボリュームペア(コピー元ボリュームとコピー先ボリュームとの組み合わせ)を、本実施例において「リモートコピーペア」と呼ぶ。
また、本実施例では、1以上のリモートコピーペアを構成する1以上のコピー元ボリュームで構成されたグループを、「コピー元ボリュームセット」又は単に「ボリュームセット」と呼び、1以上のリモートコピーペアを構成する1以上のコピー先ボリュームで構成されたグループを、「コピー先ボリュームセット」又は単に「ボリュームセット」と呼ぶことがある。
コピー元ボリュームセットにおける1以上のコピー元ボリュームへのライトデータ更新順序と、そのコピー元ボリュームセットに対応するコピー先ボリュームセットにおける1以上のコピー先ボリュームへのライトデータ反映順序が、同じになる。
1つのコピー元ボリュームセットにおける複数のコピー元ボリュームは、異なる複数のストレージシステムに存在しても良い。同様に、1つのコピー先ボリュームセットにおける複数のコピー先ボリュームも、異なる複数のストレージシステムに存在しても良い。
しかし、正ストレージシステム(例えば、或るボリューム)に障害が発生し、現在稼働している正ストレージシステムが使用できなくなった場合、ホスト計算機30aは、アクセス先を、正ストレージシステムから正常な副ストレージシステムに切り替える操作を行う。しかし、切り替え先の副ストレージシステムに、障害のあるボリュームが属している場合、システムを稼働させることができないという問題がある。したがって、図6の例に示すように、リモートコピーペアを組む場合、同一仮想ストレージシステムの構成要素でない実ボリューム同士で組む必要がある。
図6は、実施例1のストレージ構成及びリモートコピーペア構成の一例を示す図である。
同図では、正ストレージシステムA及び副ストレージシステムCから構成される。
正ストレージシステムAは、スケールアウト型ストレージシステムである。正ストレージシステムAは、正ストレージシステムD及び正ストレージシステムEから構成されている。正ストレージシステムBは、スケールアウト型ストレージシステムではないストレージシステムである。副ストレージシステムCは、スケールアウト型ストレージシステムである。副ストレージシステムCは、副ストレージシステムF、副ストレージシステムGから構成されている。
正ストレージシステムDが有する実ボリュームD1、D2は、それぞれ、正ストレージシステムEが有する仮想ボリュームE1、E2と対応づけられている。さらに、正ストレージシステムEが有する実ボリュームE3は、正ストレージシステムDが有する仮想ボリュームD3と対応づけられている。
正ストレージシステムAには、ボリュームセットA(setA)が存在する。ボリュームセットA(setA)は、正ストレージシステムDのボリュームセットD(setD)及び正ストレージシステムEのボリュームセットE(setE)から構成されている。なお、正ストレージシステムBには、ボリュームセットB(setB)が存在する。
副ストレージシステムCには、ボリュームセットC(setC)が存在する。ボリュームセットC(setC)は、副ストレージシステムFのボリュームセットF(setF)及び副ストレージシステムGのボリュームセットG(setG)から構成される。
ボリュームセットDには、ボリュームD1とボリュームD2が存在する。ボリュームD1と、ボリュームセットFに属するボリュームF1とで、1つのリモートコピーペアが組まれており、ボリュームD2とボリュームセットFに属するボリュームF2とで、別のリモートコピーペアが組まれている。
さらに、ボリュームセットEには、ボリュームE3が存在する。ボリュームE3と、ボリュームセットGに属するボリュームG1とで、リモートコピーペアが組まれている。
実ボリュームD1、D2、E3は、ボリュームセットA(setA)に属し、ボリュームセットC(setC)に属する実ボリュームF1、F2、G1とリモートコピーペアが組まれている。このため、ボリュームD1、D2、E3に対するライトデータ更新順序(書き込み順序)と、ボリュームF1、F2、G1に対するライトデータ反映順序(書込み順序)とが同じとなる。例えば、正ストレージシステムAの実ボリュームD1、D2、E3に対して、D1→D2→E3という順番にデータが書き込まれた場合、副ストレージシステムC側では、F1→F2→G1という順番でデータが書き込まれる。
図7は、実施例1のボリューム管理テーブルの構成の一例を示す図である。
ボリューム管理テーブル1121は、制御プログラム1126(図2参照)が、正ストレージシステム10aが有するボリュームを管理するためのテーブルである。なお、副ストレージシステム10bにもボリューム管理テーブル1121があるが、構成はほぼ同一であるため、以下、正ストレージシステム10aが有するボリューム管理テーブル1121を説明する。
ボリューム管理テーブル1121は、ボリューム毎に、ボリュームID11211と、ボリューム種別11212と、実ストレージID11213と、実ボリュームID11214と、容量11215と、ペアID11216とを有する。
ボリュームID11211は、制御プログラム1126が、正ストレージシステム10aが有するボリュームを一意に識別するためのIDである。
ボリューム種別11212は、ボリュームID11211から特定されるボリュームの種別(例えば、ボリュームが仮想ボリュームであるか或いは実ボリュームであるか)を示す情報である。ボリューム種別11212は、ボリュームが仮想ボリュームの場合は「仮想」、ボリュームが実ボリュームの場合は「実」である。
実ストレージID11213及び実ボリュームID11214は、ボリューム種別11212が「仮想」の場合に登録される情報である。ボリューム種別11212が「仮想」の場合、実ボリュームID11214は、仮想ボリュームに対応付けられている実ボリュームのIDである。また、実ストレージID11213は、実ボリュームID11214から特定される実ボリューム(仮想ボリュームに対応付けられている実ボリューム)を有する実ストレージシステム(のIDが登録される。なお、「実ストレージシステム」とは、仮想ストレージシステムではないストレージシステムであり、具体的には、仮想ストレージシステムを構成するストレージシステム、又は、仮想ストレージシステムに含まれていないストレージシステムである。
ボリューム種別11212が「実」の場合、実ストレージID11213及び実ボリュームID11214は、例えば、無効な値(例えば「N/Aと」)である。
容量11215は、ボリュームID11211から特定されるボリュームの容量を表す情報である。
ペアID11216は、ボリュームID11211から特定されるボリュームを含んだリモートコピーペアのIDである。そのボリュームがリモートコピーペアに含まれていない場合、ペアID11216は、例えば、無効な値(例えば「N/A」)である。
図8は、実施例1のボリュームセット代表管理テーブルの構成の一例を示す図である。
ボリュームセット代表管理テーブル1122は、制御プログラム1126(図2参照)が、複数のボリュームセットから構成された仮想的なボリュームセットを管理するためのテーブルである。ボリュームセット代表管理テーブル1122は、代表ストレージシステムのみに存在する。制御プログラム1126は、ボリュームセット代表管理テーブル1122に基づいて、複数のストレージシステムが有するボリュームセットから構成されたボリュームセットの一括管理をすることができる。
図6の例では、正ストレージシステムA内の代表ストレージシステムが備えるボリュームセット代表管理テーブル1122は、ボリュームセットA(setA)に関する情報を有する。副ストレージシステムC内の代表ストレージシステムが備えるボリュームセット代表管理テーブル1122は、ボリュームセットC(setC)に関する情報を有する。
ボリュームセット代表管理テーブル1122は、仮想ボリュームセット毎に、ボリュームセットID11221と、コンテナ時刻11222と、ボリュームセット数11223と、実ボリュームセットID11224と、実ストレージID11225とを有する。仮想ボリュームセットとは、複数のボリュームセットで構成された仮想的なボリュームセットである。仮想ボリュームセットは、例えば、コンシステンシーグループ(データの整合性が維持されるグループ)であり、具体的には、例えば、1以上のコピー元ボリュームセットとそれらに対応する1以上のコピー先ボリュームセットとで構成される。
ボリュームセットID11221は、制御プログラム1126が仮想ボリュームセットを一意に識別するためのIDである。
コンテナ時刻11222は、仮想ボリュームセット(ボリュームセットID11221から特定されるボリュームセット)を構成するいずれかのボリュームに、プロセッサ111が、データを最後に書き込んだ時刻を表す情報である。コンテナ時刻11222は、副ストレージシステム側の代表管理テーブル1122のみに登録される。
ボリュームセット数11223は、ボリュームセットID11221により特定される仮想ボリュームセットを構成するボリュームセットの総数を表す情報である。
実ボリュームセットID11224は、ボリュームセットID11221から特定される仮想ボリュームセットを構成する実ボリュームセットのIDである。なお、「実ボリュームセット」は、仮想ボリュームセットではないボリュームセットであり、具体的には、仮想ボリュームセットを構成するボリュームセットである。
実ストレージID11225は、実ボリュームセットID11224から特定されるボリュームセットを有するストレージシステムのIDである。
実ボリュームセットID11224(実ストレージID11225)の合計数は、ボリュームセット数11223が表す数と同じである。
図9は、実施例1のボリュームセット管理テーブルの構成の一例を示す図である。
ボリュームセット管理テーブル1123は、正ストレージシステム10a及び副ストレージシステム10bが有する。ボリュームセット管理テーブル1123は、制御プログラム1126が、正ストレージシステム10a及び副ストレージシステム10bが有するボリュームセットを管理するために用いられるテーブルである。ボリュームセット管理テーブル1123の構成は、ストレージシステム10aと副ストレージシステム10bとで同じ構成であるため、以下、正ストレージシステム10aのボリュームセット管理テーブル1123の構成を中心に説明する(必要に応じて副ストレージシステム10bの説明をする)。
ボリュームセット管理テーブル1123は、ボリュームセット毎に、ボリュームセットID11231と、ボリューム数11232と、ボリュームID11233と、相手ストレージID11234と、相手ボリュームセットID11235と、最新データ反映時刻11236とを有する。
ボリュームセットID11231は、制御プログラム1126が、正ストレージシステム10aが有するボリュームセットを一意に識別するためのIDである。
ボリューム数11232は、ボリュームセット(ボリュームセットID11231から特定されるボリュームセット)を構成するボリュームの総数を表す情報である。
ボリュームID11233は、ボリュームセット(ボリュームセットID11231から特定されるボリュームセット)を構成するボリュームのIDである。ボリュームID11233として登録されたIDの数は、ボリューム数11232が表す数と等しい。
相手ストレージID11234は、正ストレージシステムのリモートコピー先となっている副ストレージシステムのIDである。
相手ボリュームセットID11235は、リモートコピー先であるボリュームセット(相手ストレージID11234により特定されたストレージシステムが有するボリュームセット)を識別するIDである。
最新データ反映時刻11236は、プロセッサ111が、リモートコピー先のボリュームセットに属するボリュームに最後にデータを書き込んだ時刻、を示す情報である。最新データ反映時刻11236は、副ストレージシステムのボリュームセット管理テーブル1123のみに登録される。
図10は、実施例1のコピーペア管理テーブルの構成の一例を示す図である。
コピーペア管理テーブル1124は、制御プログラム1126が、正ストレージシステム10aが有するボリュームと副ストレージシステム10bが有するボリュームとのリモートコピーペアの関係を管理するテーブルである。副ストレージシステム10bにも同様のテーブルがある。
コピーペア管理テーブル1124は、リモートコピーペア毎に、ペアID11241と、ボリュームID11242と、ボリュームセットID11243と、相手ストレージID11244と、相手ボリュームID11245とを有する。
ペアID11241は、制御プログラム1126がリモートコピーペアを一意に識別するためのIDである。
ボリュームID11242は、制御プログラム1126が、正ストレージシステムに属するコピー元のボリュームを一意に識別するためのIDである。
ボリュームセットID11243は、ボリュームID11242から特定されるボリュームが属するボリュームセットのIDである。
相手ストレージID11244は、ボリュームID11242から特定されるボリュームのリモートコピー先のストレージシステムのIDである。
相手ボリュームID11245には、ボリュームID11242から特定されるボリュームのリモートコピー先ボリューム(相手ストレージID11244から特定されるストレージシステムが有するボリューム)のIDである。
図11は、実施例1のライトデータ管理テーブルの一例を示す図である。
ライトデータ管理テーブル1125は、コピー元のボリュームに格納されるライトデータを、制御プログラム1126(図2参照)が、コピー先のボリュームに転送、反映する情報を管理するために用いられる。
ライトデータ管理テーブル1125は、ライトデータ毎に、ボリュームID11251と、ライト先アドレス11252と、ライトデータ長11253と、ライトデータキャッシュポインタ11254と、シーケンシャル番号11255と、ライト時刻11256と、リモートコピー要否11257とを有する。
ボリュームID11251は、制御プログラム1126がライト先ボリュームを一意に特定するためのIDである。
ライト先アドレス11252は、ライトデータのライト先領域(ライト先ボリューム内の記憶領域)のアドレスである。
ライトデータ長11253には、当該ライトデータのデータサイズを表す情報である。
ライトデータキャッシュポインタ11254は、一時的にライトデータが格納されるキャッシュ領域を示すポインタである。
シーケンシャル番号11255は、ボリュームセットに属するボリュームにデータがライトされた順番を示す番号(シーケンシャル番号)である。例えば、1つのストレージシステムが第1及び第2のコピー元ボリュームセット(1以上のコピー元ボリュームのセット)を有する場合、コピー元ボリュームセット毎に、独立したシーケンシャル番号がある。また、例えば、1つのコピー元ボリュームセットを構成する複数のコピー元ボリュームが複数のストレージシステムにある場合、それら複数のコピー元ボリュームのいずれにライトデータが書き込まれても、当該コピー元ボリュームセットに対応したシーケンシャル番号が使用される。
ライト時刻11256には、当該ライトデータのライト時刻を表す情報である。なお、ライト時刻は、ホスト計算機30aからライトデータと共に送信されるライトデータに関する管理情報から取得できる時刻(例えば、ライト要求が有するタイムスタンプが表す時刻)でも良いし、ライト要求を受信した時刻でも良いし、ライト要求に従ってライトデータをライト先ボリューム(ライト要求から特定されたボリューム)に書き込んだ時刻でも良い。
リモートコピー要否11257は、リモートコピー対象の有無を示す識別子である。リモートコピーが必要の場合、リモートコピー要否11257は「要」であり、リモートコピーが不要の場合、リモートコピー要否11257は「否」である。
図12は、実施例1のストレージ管理テーブルの構成の一例を示す図である。
ストレージ管理テーブル2101は、プロセッサ220(図3参照)が、ストレージ管理プログラム2104により管理されるストレージシステムと、各ストレージシステムのスケールアウト構成を管理するために用いられる。
ストレージ管理テーブル2101は、ストレージシステム毎に、ストレージID2101と、スケールアウト可否21012と、実ストレージID21013と、代表ストレージID21014とを有する。
ストレージID21011は、ストレージ管理プログラム2104が管理するストレージシステムを一意に特定するためのIDである。ストレージシステムが、複数のストレージシステムから構成された仮想ストレージシステムの場合、ストレージID21011は、仮想ストレージシステムのIDである。
スケールアウト可否21012は、ストレージID21011から特定されるストレージシステムがスケールアウト可能なストレージシステムか否かを示す識別子である。ストレージシステムがスケールアウト型ストレージ(仮想ストレージシステム)の場合、スケールアウト可否21012は、「ON」である。一方、ストレージシステムがスケールアウト型ストレージシステムでない場合、スケールアウト可否21012は、「OFF」である。
実ストレージID21013は、ストレージID21011から特定されるストレージシステムを構成するストレージシステムのIDが登録される。ストレージシステムがスケールアウト型ストレージでない場合、実ストレージID21013は、ストレージID21011と同じIDとなる。
代表ストレージID21014は、実ストレージID21013として登録された1以上のIDに対応した1以上のストレージシステムのうちの、代表となるストレージシステムのIDである。
図12の例によれば、ストレージシステム「Storage A」は、ストレージシステム「Storage D」及びストレージシステム「Storage E」から構成される仮想ストレージシステムである。その仮想ストレージシステムにおける代表ストレージシステムは、ストレージシステム「Storage D」である。
図13は、実施例1におけるボリューム統合管理テーブルの一例の構成を示す図である。
ボリューム統合管理テーブル2102は、ストレージシステムが有するボリューム(ストレージ管理プログラム2104が管理するボリューム)を管理するテーブルである。ボリューム統合管理テーブル2102は、ストレージ管理テーブル2101及びボリューム管理テーブル1121(各ストレージシステムに備えられているテーブル1121)に基づいて生成される。
ボリューム統合管理テーブル2102は、ボリューム毎に、ボリュームID21021と、ストレージID21022と、スケールアウト可否21023と、実ストレージID21024と、ボリューム種別21025と、実ボリュームID21026と、実ストレージID21027とを有する。
ボリュームID21021は、ストレージ管理プログラム2104がボリュームを一意に特定するためのIDである。各ストレージシステムについて、ボリュームID21021は、各ストレージシステムで保持するボリューム管理テーブル1121から取得されたIDである。
ストレージID21022には、ボリュームID21021から特定されるボリュームを有するストレージシステムのIDである。
スケールアウト可否21023は、ストレージID21022から特定されるストレージシステムがスケールアウト可能なストレージシステムか否かを示す識別子である。
実ストレージID21024は、ボリュームID21021及びストレージID21022から特定されるボリュームを実際に有するストレージシステムのIDである。
ボリューム種別21025、実ボリュームID21026、実ストレージID21027は、スケールアウト可否21023に登録された識別子が「ON」の場合に登録される情報である。
ボリューム種別21025は、ボリュームID21021及びストレージID21022に登録されたIDから特定されるボリュームの種別(そのボリュームが仮想ボリュームであるか或いは実ボリュームであるか)を示す情報である。
実ボリュームID21026及び実ストレージID21027は、ボリューム
種別21025が「仮想」の場合に登録される情報である。
実ボリュームID21026は、ボリュームID21021から特定される仮想ボリュームに対応づけられた実ボリュームのIDである。
実ストレージID21027には、実ボリュームID21026から特定される実ボリュームを有するストレージシステムのIDである。
図13の例によれば、ボリューム「VOL D3」は、ストレージシステム「Storage A」が有するボリュームである。また、ストレージシステム「Storage A」は、スケールアウト型ストレージシステムであり、ボリューム「VOL D3」は、実際には、ストレージシステム「Storage D」が有する。加えて、このボリューム「VOL D3」は仮想ボリュームであり、この仮想ボリュームに、ストレージシステム「Storage E」が有する実ボリューム「VOL E3」が対応づけられている。
図14は、実施例1におけるボリュームセット統合管理テーブルの構成の一例を示す図である。
ボリュームセット統合管理テーブル2103は、プロセッサ220が、ストレージシステムが有するボリュームセット(ストレージ管理プログラム2104が管理するボリュームセット)を管理する際に用いられるテーブルである。ボリュームセット統合管理テーブル2103は、代表ストレージシステムが有するテーブル1122が有する情報、及び、各ストレージシステムが有するテーブル1123が有する情報に基づいて作成される。
ボリュームセット統合管理テーブル2103は、ボリュームセット毎に、ボリュームセットID21031と、ストレージID21032と、相手ボリュームセットID21033と、相手ストレージID21034と、ボリュームセット種別21035と、構成ボリュームセットID21036と、構成状態21037と、仮想ボリュームセットID21038とを有する。
ボリュームセットID21031は、ストレージ管理プログラム2104がボリュームセットを一意に特定するためのIDである。
ストレージID21032は、ボリュームセットID21031から特定されるボリュームセットを有するストレージシステムのIDである。
相手ボリュームセットID21033は、ボリュームセットID21031から特定されるボリュームセットのリモートコピー先であるボリュームセットのIDである。
相手ストレージID21034は、相手ボリュームセットID21033から特定されるボリュームセットを有するストレージシステムを特定するIDである。なお、相手ボリュームセットID21033及び相手ストレージID21034は、リモートコピーペアがまだ組まれていない場合、それぞれ、「未登録」である。
ボリュームセット種別21035は、ボリュームセットID21031から特定されるボリュームセットの種別を表す情報である。ボリュームセットが仮想ボリュームセットの場合、ボリュームセット種別21035は「仮想」であり、ボリュームセットが実ボリュームセットの場合、ボリュームセット種別21035は「実」である。
構成ボリュームセットID21036は、ボリュームセット種別21035が「仮想」であるボリュームセット(つまり仮想ボリュームセット)を構成するボリュームセットのIDである。
構成状態21037は、ボリュームセット種別21035が「実」であるボリュームセットが仮想ボリュームセットを構成するボリュームセットであるか否かを示す識別子である。ボリュームセットが仮想ボリュームセットを構成するボリュームセットの場合、構成状態21037は「ON」であり、そうでない場合、構成状態21037は「N/A」である。
仮想ボリュームセットID21038は、ボリュームセット種別21035が「実」であり構成状態21037が「ON」であるボリュームセットについて、登録される。仮想ボリュームセットID21038は、ボリュームセットID21041から特定されるボリュームセットが構成している仮想ボリュームセットのIDである。
図14の例によれば、ボリュームセット「Set A」は、ストレージシステム「Storage A」にある。そのボリュームセットは、ストレージシステム「Storage C」が有するボリュームセット「Set C」と対応づいている。
ただし、ボリュームセット「Set A」は仮想ボリュームセットである。実際に、ボリュームセット「Set A」は、ボリュームセット「Set D」(ストレージシステム「Storage D」にあるボリュームセット)と、ボリュームセット「Set E」(ストレージシステム「Storage E」にあるボリュームセット)から構成されている。ボリュームセット「Set D」は、ボリュームセット「Set F」(ストレージシステム「Storage F」にあるボリュームセット)と、対応付けられている。また、ボリュームセット「Set E」は、ボリュームセット「Set G」(ストレージシステム「Storage G」にあるボリュームセット)と対応づけられている。
図15は、ライト要求処理のフローチャートである。
具体的に、同図は、正ストレージシステム10aが、正ホスト計算機30aからのライト要求(リモートコピーのコピー元ボリュームに対するライト要求)を受領した場合の、制御プログラム1126(図2参照)によるライト要求処理の流れを示す。
制御プログラム1126は、正ホスト計算機30aからライト要求を受領すると(S1501)、そのライト要求の解析を行う。これにより、制御プログラム1126は、ライト先ボリュームのID、ライトアドレス、ライトデータ長、ライト時刻情報(ライト時刻を表す情報)およびライトデータを取得する(S1502)。
制御プログラム1126は、S1503で、下記の処理、
(*)ライト先ボリュームIDを用いてボリューム管理テーブル1121を参照することで、ライト先ボリュームのボリューム種別11212を取得する、
(*)特定したボリューム種別11212から、ライト先のボリュームが仮想ボリュームであるか否かを判定する、
を行う。
ライト先ボリュームのボリューム種別11212が「仮想」の場合(S1503:Yes)、制御プログラム1126は、ボリューム管理テーブル1121から、ライト先の仮想ボリュームに対応付けられている実ストレージID11213および実ボリュームID11214を特定する(つまり、ライト先仮想ボリュームに対応付けられている実ボリューム、及びその実ボリュームを有する実ストレージシステムを特定する)(S1508)。
さらに、制御プログラム1126は、S1508で特定した実ストレージシステムに対して、S1508で特定した実ボリュームを指定したライト要求を転送し、当該ストレージシステムにおけるライト要求受信時の処理を終了する(S1509)。なお、転送先のストレージシステムでは、図15の処理フロー同様にライト要求を処理することになる。また、転送されたライト要求で指定されるライトアドレス(ライト先の記憶領域を表すアドレス)は、S1502で取得した仮想ボリュームのライトアドレスに対応する実ボリュームのアドレスを指定する。仮想ボリュームのアドレスと実ボリュームのアドレスは転送元のストレージシステムで管理する。
ライト先ボリュームのボリューム種別が「仮想」でない場合(S1503:No)、制御プログラム1126は、S1502で取得したライトデータをキャッシュメモリ113に格納する(S1504)。
制御プログラム1126は、ライト先ボリュームIDを用いてボリューム管理テーブル1121を参照することで、ライト先ボリュームに有効なペアID11216が登録されているかをチェックする。つまり、制御プログラム1126は、ライト先ボリュームがリモートコピー対象であるか否かをチェックする(S1505)。
ライト先ボリュームがリモートコピー対象の場合(S1505:Yes)、制御プログラム1126は、S1502で取得されたライト時刻情報を、ライトデータに関連づける(S1506)。ライト時刻情報は、制御プログラム1126が、リモートコピー先ボリュームにライトデータを書き込む際に、書き込み順序を保証するために利用される。
制御プログラム1126は、S1502で取得した情報(ライト先ボリュームID、ライトアドレス、ライトデータ長、ライト時刻情報)、ステップS1504でライトデータを格納したキャッシュメモリの格納先アドレス(ライトデータポインタ)、および、リモートコピー開始からの更新順番を示すシーケンシャル番号を、ライトデータ管理テーブル1125に新しいエントリとして登録する(S1507)。なお、S1506においてライトデータがリモートコピーが必要であるとして関連づけられている場合、制御プログラム1126は、リモートコピー要として、ライトデータ管理テーブル1125のリモートコピー要否11257を登録する。
上記処理のように、制御プログラム1126が、ライトデータ管理テーブル1125でライトデータを管理しておき、そのテーブル1125を参照しながらキャッシュメモリからボリュームへのライトデータの格納を行うことによって、ホスト計算機30aからのライト要求を処理することと、キャッシュメモリ113からボリュームへライトデータを格納することとを、非同期に行うことができる。
図16は、実施例1のライトデータ転送処理のフローチャートである。
ここでは、正ストレージシステム10aの制御プログラム(以下、正制御プログラム)1126により、正ストレージシステム10aから副ストレージシステム10bへライトデータを転送する処理が行われる。なお、点線より左側の処理が正ストレージシステム10aの処理で、点線より右側の処理が副ストレージシステム10bの処理である。
まず、正制御プログラム1126は、ライトデータ管理テーブル1125から、リモートコピー要否11257が「要」を含んだエントリ(行)を特定する。次に、正制御プログラム1126は、特定されたエントリが有する情報、ライトデータ管理テーブル1125、ボリュームセット管理テーブル1123、及びコピーペア管理テーブル1124に基づいて、ライトデータ情報を作成する(S1601)。
ライトデータ情報は、下記の情報、
(*)ライトデータ管理テーブル1125における上記特定された行が有するライト先アドレス11262、ライトデータ長11263、及び、ライト時刻11266、
(*)ボリューム管理テーブル1121、コピーペア管理テーブル1124及びボリュームセット管理テーブル2103から特定される相手ストレージID11244、相手ボリュームID11245、相手ボリュームセットID21033が含まれる。
例えば、ライトデータ管理テーブル1125に登録されているボリュームID11251が「VOL D1」の場合、ボリューム管理テーブル1121から、ボリュームID「VOL D1」のエントリが検索される。そして、そのエントリが有するペアID11216を用いて、「VOL D1」が属するペア構成に関する情報(相手ストレージID11244、相手ボリュームID11245、相手ボリュームセットID21033)が、コピーペア管理テーブル1124及びボリュームセット管理テーブル1123から特定される。
次に、正制御プログラム1126は、S1601で特定したライトデータと作成したライトデータ情報を、副ストレージシステム10bに転送する(S1602)。
副ストレージシステム10bの制御プログラム(以下、副制御プログラム)1126は、正ストレージシステム10aからライトデータとライトデータ情報を受信すると、それらの情報をキャッシュメモリ113に格納する(S1603)。副制御プログラム1126は、受信したライトデータ情報に基づき、副ストレージシステム10bのライトデータ管理テーブル1125に、新エントリを登録する(S1604)。副制御プログラム1126は、受領したライトデータ情報に含まれているライト時刻が最新か否かをチェックする(S1605)。ライト時刻が最新の場合(S1605:Yes)、副制御プログラム1126は、ライト時刻を、副ストレージシステム10bのボリュームセット管理テーブル1123に、最新データ反映時刻11236として登録する(S1606)。なお、ライト時刻が最新でない場合(S1605:No)、副制御プログラム1126は、S1607以降の処理を行う。
副制御プログラム1126は、正ストレージシステム10aにライトデータ受領完了を報告する(S1607)。
ライトデータ受領完了を受領した正制御プログラム1126は、ライトデータ管理テーブル1125における、完了報告に対応するライトデータのリモートコピー要否11257を、「不要」に更新して、処理を終了する(S1608)。
なお、正制御プログラム1126は、副ストレージシステム10bのボリューム(リモートコピー先ボリューム)にライトデータが書き込まれていることをチェックした場合、ライトデータ管理テーブル1125から、リモートコピーが済んだライトデータに対応するエントリを削除することができる。
図17及び図18は実施例1における、制御プログラム(例えば副制御プログラム)1126によるライトデータ反映処理の一例を示すフローチャートである。具体的には、図17は、代表ストレージシステム(例えば代表副ストレージシステム)が行うライトデータ反映処理のフローチャートである。図18は、非代表ストレージシステム(例えば非代表副ストレージシステム)が行うライトデータ反映処理のフローチャートである。
複数の副ストレージシステム10bのうち、代表副ストレージシステムが、他の副ストレージシステムの反映処理の開始を制御する。これより、コピー先ボリュームセットを構成する複数のコピー先ボリュームが複数の副ストレージシステムに存在しても、コピー元ボリュームセットでのライト順序とコピー先ボリュームセットでの反映順序が同一になるよう保証することができる。なお、仮想ストレージシステムでないストレージシステムは、仮想ボリュームセットを構成するボリュームセットを有することがあり、その場合、その一台のストレージシステムが、代表ストレージシステムとしての役割と代表でないストレージシステムとしての役割を担うことがある。
代表ストレージシステムの制御プログラム(以下、代表制御プログラム)1126は、ボリュームセット代表管理テーブル1122から、管理対象であるボリュームセットを有するストレージシステムのIDを特定する。また、代表制御プログラム1126は、全ての非代表ストレージシステムが持つボリュームセット管理テーブル1123から、管理対象ボリュームセットの最新データ反映時刻11236を特定する(S1701)。
代表制御プログラム1126は、S1701で特定した全ての最新データ反映時刻11236のうち、最も過去の時刻11236を抽出し、抽出した時刻11236を、ボリュームセット代表管理テーブル1122のコンテナ時刻11222として登録する(S1702)。さらに、代表制御プログラム1126は、そのコンテナ時刻11222よりも過去の時刻を示すライトデータをコピー先ボリュームに反映するように、各非代表ストレージシステム(管理対象であるボリュームセットを有する非代表ストレージシステム)に指示し、各非代表ストレージシステムからの、コピー先ボリュームへの反映処理に関する報告、を待つ(S1703)。
代表制御プログラム1126は、いずれかの非代表ストレージシステムから反映処理に関する報告を受領し(S1704)、管理対象となるすべての非代表ストレージシステムからライトデータの反映の完了を受領したかをチェックする(S1705)。全ての非代表ストレージシステムから反映の完了を受領した場合(S1705:Yes)、代表制御プログラム1126は、処理を終了する。少なくとも1つの非代表ストレージシステムから反映の完了を受領していない場合(S1705:No)、S1704に戻り、代表制御プログラム1126は、非代表ストレージシステムから反映処理に関する報告を受領する。
次に、図18を使って、非代表ストレージシステムでのライトデータ反映処理について説明する。
非代表ストレージシステム(例えば副ストレージシステム10b)の制御プログラム(以下、非代表制御プログラム)1126は、代表ストレージシステムからライトデータ反映指示(S1703参照)を受領する(S1801)。非代表制御プログラム1126は、ライトデータ管理テーブル1125から、シーケンシャル番号11255順に、指示された時刻までのライトデータをコピー先ボリュームに反映する(S1802)。非代表制御プログラム1126は、ライトデータの反映が完了すると、ライトデータ完了報告を代表ストレージシステムに報告する(S1803)。
図19は、実施例1の仮想ボリュームセット作成処理のフローチャートである。図20は、実施例1のストレージ管理プログラムが提供する仮想ボリュームセット作成画面を示す図である。以下、図19及び図20を用いて、仮想ボリュームセット作成処理について説明する。ここでは、仮想ボリュームセットとそれを構成する実ボリュームセットを決定する。
ストレージ管理プログラム2104は、ストレージ管理プログラム2104が提供するユーザインターフェース(図20参照)を介して、ユーザから仮想ボリュームセット作成要求を受信する(S1901)。ストレージ管理プログラム2104は、仮想ボリュームセット作成画面G2000を、管理計算機20の表示装置(図示せず)に表示する(S1902)。このとき、ストレージ管理プログラム2104は、ストレージシステム欄G20001に、ストレージ管理テーブル2101に登録されている全てのストレージID21011をストレージシステム選択候補として表示する。図12の例によれば、ストレージシステム欄G20001には、「Storage A」、「Storage B」、「Storage C」が選択候補として表示される。
次に、ユーザは、管理計算機20の入力装置(図示せず)を用いて、ストレージシステム欄G20001に表示された1以上のストレージIDの中から、仮想ボリュームセットを作成したいストレージシステムのIDを選択する(S1903)。
ストレージ管理プログラム2104は、ストレージ管理テーブル2101から、S1903でユーザが選択したストレージIDと一致するID21011を特定する。
次に、ストレージ管理プログラム2104は、S1904で、以下の処理、
(*)ボリュームセット統合管理テーブル2103から、特定したストレージID21011と同じストレージID21032を特定する、
(*)特定したストレージID21032に対応し、相手ボリュームセットID21033が「未登録」であり、かつ、仮想ボリュームセットを構成していない実ボリュームセットのIDを、追加ボリュームセット欄G20003に、ボリュームセット選択候補として表示する、
を行う。
ユーザは、新規に作成する仮想ボリュームセットのIDを、仮想ボリュームセット欄G20002に入力し(S1905)、仮想ボリュームセットに登録するボリュームセットを、追加ボリュームセット欄G20003から選択する(S1906)。
ストレージ管理プログラム2104は、ストレージ管理テーブル2101を参照し、S1903でユーザが選択したストレージシステムを構成するストレージシステムの代表ストレージシステムを特定し、その代表ストレージシステムに、ボリュームセット登録要求を送信する。この要求を受けた代表ストレージシステムは、ボリュームセット代表管理テーブル1122に、新規に作成したボリュームセットに関するエントリを登録する(S1907)。ここで、ストレージ管理プログラム2104は、仮想ボリュームセットのIDとそれを構成するボリュームセットのIDなどを登録する。
最後に、ストレージ管理プログラム2104は、ボリュームセット統合管理テーブル21023に、新規に作成した仮想ボリュームセットに関するエントリを登録する。具体的には、ストレージ管理プログラム2104は、仮想ボリュームセットを構成するボリュームセットの構成状態21037を「ON」に変更し、且つ、仮想ボリュームセットID21038として、作成した仮想ボリュームセットのIDを登録する(S1908)。
図21〜23は、実施例1におけるリモートコピーペア作成処理の一例を示すフローチャートである。また、図24は、実施例1におけるリモートコピー画面の一例を示す図である。図21〜24を参照して、リモートコピーペア作成処理について説明する。
ストレージ管理プログラム2104は、ストレージ管理プログラム2104が提供するユーザインターフェースを介して、ユーザからリモートコピーペア作成要求を受信する(S2101)。ストレージ管理プログラム2104は、その要求に応答して、リモートコピーペア作成画面G2200を表示する(S2102)。このとき、ストレージ管理プログラム2104は、ストレージ管理テーブル2101に登録されている全てのストレージID21011を、リモートコピー元ストレージシステム欄G22001に表示する。
ユーザは、リモートコピー元ストレージシステム欄G22001に表示されたストレージシステムの中から、リモートコピー元としたいストレージシステムを選択する(S2103)。
ストレージ管理プログラム2104は、ボリューム統合管理テーブル2103を基に、S2103でユーザが選択したストレージシステムにあり、かつ、ボリューム種別が「実」のボリュームをリストアップし、リモートコピー元ボリューム欄G22002に、リストアップされた全てのボリュームのID(ボリューム選択候補)を表示する(S2104)。
ユーザは、リモートコピー元ボリューム欄G22002に表示されたボリュームの中から、リモートコピー元ボリュームとしたいボリュームを選択する(S2105)。
ストレージ管理プログラム2104は、ボリュームセット統合管理テーブル2103を基に、S2105でユーザが選択したボリュームを有するストレージシステムにあるボリュームセットをリストアップする。そして、ストレージ管理プログラム2104は、リストアップされたボリュームセットのID(ボリュームセット選択候補)を、リモートコピー元ボリュームセット欄G22003に、表示する(S2106)。
ユーザは、リモートコピー元ボリュームセット欄G22003に表示されたボリュームセットの中から、S2105で選択したボリュームを有するボリュームセットを選択する(S2107)。
例えば、ユーザが、S2103でストレージシステム「Storage A」を選択した場合、S2104で、ストレージ管理プログラム2104は、ストレージシステム「Storage A」が有するボリュームのうち、ボリューム種別が「実」である全てのボリュームのIDを、リモートコピー元ボリューム欄G22002に表示する。
ユーザが、ボリューム「VOL D1」を選択すると、ストレージ管理プログラム2104は、ストレージシステム「Storage D」が有するボリュームセット「Set D」を、リモートコピー元ボリュームセット欄G22003に表示する。なお、図24の例によれば、ボリュームセット「Set D」がどの仮想ボリュームセットを構成するボリュームセットであるかを明示的に示すために、仮想ボリュームセットのIDが表示される。
次に、図22に示すように、ストレージ管理プログラム2104は、S2107で選択したボリュームセットに対応する相手ボリュームセット(コピー先のボリュームセット)が登録されているかを、ボリュームセット統合管理テーブル2103を参照してチェックする(S2108)。
例えば、図14の例によれば、S2107でユーザがボリュームセット「Set D」を選択したとすると、相手ボリュームセット「Set F」が登録されていることが分かる。
相手ボリュームセットが登録されている場合(S2108:Yes)、ストレージ管理プログラム2104は、相手ストレージのIDをリモートコピー先ストレージシステム欄G22004に表示し、且つ、相手ボリュームセットのIDをリモートコピー先ボリュームセット欄G22006に表示する(S2109)。
なお、本実施例では、リモートコピー先ストレージシステム欄G22004に表示されるIDは、仮想ボリュームセットを有するストレージシステム、すなわち、仮想ストレージシステムのIDで良い。そのIDは、ボリュームセット統合管理テーブル2103の仮想ボリュームセットID21038に対応するボリュームセットID21031を含んだエントリ内のストレージID21032とすることができる。
次に、ストレージ管理プログラム2104は、S2109で表示されたボリュームセットを備えるストレージシステムが有するボリュームのうち、未使用のボリュームをリモートコピー先ボリューム欄G22005に表示する(S2110)。
ユーザは、S2110でリモートコピー先ボリューム欄G22002に表示されたボリュームの中からリモートコピー先ボリュームとしたいボリュームを選択する(S2111)。
ストレージ管理プログラム2104は、リモートコピー元ボリュームを有するストレージシステム及びリモートコピー先ボリュームを有するストレージシステムに対して初期コピー開始要求を送信する(S2112)。
最後に、初期コピー開始要求を受領したストレージシステムは、S2113で、以下の処理、
(*)リモートコピーペア管理テーブル1124に、新規のリモートコピーペアに関するエントリを追加する、
(*)ボリュームセット管理テーブル1123の該当ボリュームセットのボリュームID11233と、相手ストレージID11234と、相手ボリュームセットID11235とを更新する、
(*)ボリューム管理テーブル1121の該当ボリュームのペアID11216を更新する、
(*)これらの処理の後に初期コピーを開始する、
を行う。
S2108で、相手ボリュームセットがないと判定された場合は(S2108:No)、図23に示す処理が行われる。
具体的に、ストレージ管理プログラム2104は、S2106でユーザが選択したボリュームセットが構成する仮想ボリュームセットを特定し、該仮想ボリュームセットに対応する相手ボリュームセットの登録有無をチェックする(S2115)。
相手ボリュームセットが登録されている場合(S2115:Yes)、ストレージ管理プログラム2104は、S2116〜S2120の処理を実行する。相手ボリュームセットが登録されていない場合(S2115:No)、ストレージ管理プログラム2104は、S2121〜S2126の処理を実行する。
ストレージ管理プログラム2104は、ボリュームセット統合管理テーブル2103から、S2115で特定した仮想ボリュームセットを有する相手ストレージシステムのID21034を特定する。そして、ストレージ管理プログラム2104は、該IDをリモートコピー先ストレージ欄G22004に表示する(S2116)。
次に、ストレージ管理プログラム2115は、ボリューム統合管理テーブル2102を基に、S2116で特定した相手ストレージが有するボリュームのID(リモートコピー先ボリュームの選択候補)を、リモートコピー先ボリューム欄G22005に表示する(S2117)。
ユーザは、リモートコピー先ボリューム欄G22002に表示されたボリュームの中から、リモートコピー先ボリュームとしたいボリュームを選択する(S2118)。
ストレージ管理プログラム2104は、ボリュームセット統合管理テーブル2103から、S2115で特定した仮想ボリュームセットを構成するボリュームセットのID21036を特定する。
ストレージ管理プログラム2104は、特定したボリュームセットのID21036のうち、S2118でユーザが選択したボリュームを有するストレージシステムにあり、かつ、未だペアになっていないボリュームセットのID(リモートコピー先ボリュームセットの選択候補)を、リモートコピー先ボリュームセット欄G22006に表示する(S2119)。
ユーザは、リモートコピー先ボリュームセット欄G22006に表示されたボリュームセットの中から、リモートコピー先ボリュームセットとしたいボリュームセットを選択する(S2120)。
S2115で、相手ボリュームセットが登録されてない場合(S2115:No)、以降の処理が実行される。
ストレージ管理プログラム2104は、ストレージ管理テーブル2101から、S2103でユーザが選択したストレージシステム以外のストレージシステムのID(リモートコピー先ストレージシステムの選択候補)を、リモートコピー先ストレージシステム欄G22004に表示する(S2121)。図12の例によれば、S2104で、リモートコピー元ストレージシステム「Storage A」が選択されると、リモートコピー先ストレージシステム欄G2200には、ストレージシステム「Storage A」以外のストレージシステムとして「Storage B」及び「Storage C」が表示される。
ユーザは、リモートコピー元ストレージシステム欄G22001に表示されたストレージシステムの中から、リモートコピー元としたいストレージシステムを選択する(S2122)。
ストレージ管理プログラム2104は、ボリューム統合管理テーブル2103を基に、S2122でユーザが選択したストレージシステムが有しかつボリューム種別が「実」のボリュームのIDをリストアップする。ストレージ管理プログラム204は、リストアップされたボリュームのID(ボリューム選択候補)を、リモートコピー先ボリューム欄G22005に表示する(S2123)。
ユーザは、リモートコピー先ボリューム欄G22005に表示されたボリュームの中から、リモートコピー元ボリュームとしたいボリュームを選択する(S2124)。
ストレージ管理プログラム2104は、ボリュームセット統合管理テーブル2103を基に、S2105でユーザが選択したボリュームを有するストレージシステムにあるボリュームセットをリストアップする。そして、ストレージ管理プログラム2104は、リスアップされたボリュームセットのうち、まだペアになっていないボリュームセットのID(ボリュームセット選択候補)を、リモートコピー先ボリュームセット欄G22006に表示する(S2125)。
ユーザは、リモートコピー先ボリュームセット欄G22006に表示されたボリュームセットの中から、リモートコピー先ボリュームセットとしたいボリュームセットを選択する(S2126)。
S2120またはS2126の処理が完了した後、以降の処理が実行される。
ストレージ管理プログラム2104は、画面G2200に対する設定内容に基づいて、ボリュームセット統合管理テーブル2103を更新する(S2127)。具体的には、ストレージ管理プログラム2104は、各ボリュームセットに対応する相手ボリュームセット、相手ストレージが新規に決定した場合は該当ボリュームセットの相手ボリュームセットID21033及び相手ストレージID21034を更新する。
ストレージ管理プログラム2104は、リモートコピー元ボリュームを有するストレージシステム及びリモートコピー先ボリュームを有するストレージシステムに対して、初期コピー開始要求を送信する(S2128)。
最後に、初期コピー開始要求を受領したストレージシステムは、S2119で、
(*)リモートコピーペア管理テーブル1124へ、新規のリモートコピーペアに関するエントリを追加する、
(*)ボリュームセット管理テーブル1123の該当ボリュームセットのボリュームID11233、相手ストレージID11234、相手ボリュームセットID11235を更新する、
(*)ボリューム管理テーブル1121の該当ボリュームのペアID11216を更新する、
(*)これらの処理の後に初期コピーを開始する、
を行う(S2129)。
なお、説明は省略したが、S2119等で、該当ボリュームが登録されていなければエラーを通知して処理が終了してよい。
上記処理の中で、リモートコピー先ストレージシステムの選択候補がリストアップされる際(S2121)、たとえ、リモートコピー元ストレージシステムと異なるストレージシステムであっても、リモートコピー元ストレージシステムと同一仮想ストレージシステムを構成するストレージシステムは、リモートコピー先ストレージシステムの選択候補としてリストアップされない。このため、同一仮想ストレージシステムを構成するストレージシステム間でリモートコピーペアが作成されることを防止することができる。つまり、仮想ストレージシステムは、一台のストレージシステムとして管理することができる。
また、本実施例におけるリモートコピーペア作成処理の中で、リモートコピー元ボリュームの選択候補あるいはリモートコピー先ボリュームの選択候補がリストアップされる際(S2105、S2110、S2117、S2123)、ボリューム種別が「実」のボリュームのみがリストアップされる。このため、実ボリュームに対応付けられている仮想ボリュームが存在し、仮想ボリュームがホスト計算機に提供されているとしても、リモートコピーペアの構成要素を実ボリュームのみとすることができる。
なお、リモートコピー元ボリュームの選択候補、及び/又は、リモートコピー先ボリュームの選択候補としては、仮想ボリューム及び実ボリュームのいずれが表示されてもよい。リモートコピー元ボリューム及び/又はリモートコピー先ボリュームとして仮想ボリュームが選択された場合、ボリューム統合管理テーブル2102を用いて、仮想ボリュームに対応する実ボリュームを特定することができる。すなわち、リモートコピー元ボリューム及び/又はリモートコピー先ボリュームが仮想ボリュームである場合は、対応付けられている実ボリュームが、実質的に、リモートコピー元ボリューム及び/又はリモートコピー先ボリュームとなる。
また、上述の処理では、事前に仮想ボリュームセットに実ボリュームセットを含めておくことが前提であり、ユーザは、リモートコピーペアを作成する際、仮想ボリュームセットを構成する実ボリュームセットを意識する必要がある。
しかしながら、例えば、仮想ボリュームセットを構成する実ボリュームセットを指定させるのではなく、仮想ボリュームセットそのものだけが指定されても良い。この場合、ストレージ管理プログラム2104は、リモートコピー元ボリュームを有するストレージシステム、及び/又は、リモートコピー先ボリュームを有するストレージシステムに、以下のチェックをさせる必要がある。
(A)指定された仮想ボリュームセットに、指定されたボリュームを有する実ボリュームセットが含まれているか否か。
(B)リモートコピー元ボリュームを含むボリュームセットとリモートコピー先ボリュームを含むボリュームセットとが互いに対応付けられているか否か。
ストレージ管理プログラム2104は、上記(A)及び(B)の少なくとも1つのチェック結果が否定的であれば、新たにボリュームセットを作成し、そのボリュームセットを仮想ボリュームセットに含め、新規ペア(ボリュームセットのペア)を作成することができる。このようにすることで、リモートコピーペアを作成する際、仮想ボリュームセットを構成する実ボリュームセットをユーザに意識させないようにすることができる。
図25は、実施例1のストレージ追加処理のフローチャートである。また、図26は、実施例1のストレージ追加画面を示す図である。図25及び図26を参照して、ストレージ追加処理について説明する。
ストレージ管理プログラム2104は、ストレージ管理プログラム2104が提供するユーザインタフェースを介して、ユーザからストレージ追加要求を受信する(S2301)。そして、ストレージ管理プログラム2104は、その要求に応答して、ストレージ追加画面G2400を表示する(S2302)。
ストレージ管理プログラム2104は、追加先仮想ストレージID欄G24001に、ストレージ管理テーブル2101を基に、スケールアウト可否が「ON」のストレージシステムのID(仮想ストレージ選択候補)を表示する。
加えて、ストレージ管理プログラム2104は、追加するストレージシステム欄G24002に、ストレージ管理テーブル2101を基に、スケールアウト可否が「ON」であって、仮想ストレージシステムが一台のストレージシステムのみから構成されているストレージシステムのIDを表示する。
次に、ユーザは、追加先仮想ストレージID欄G24001に表示されたストレージシステムの中から、ストレージシステムを追加したい仮想ストレージシステムのIDを選択する(S2303)。なお、新規に仮想ストレージを作成するケースに対応するために、追加先仮想ストレージID欄G24001からストレージIDを選択するだけでなく、ユーザが、追加先仮想ストレージID欄G24001にストレージIDを直接入力しても良い。
さらに、ユーザは、追加するストレージシステム欄G24002に表示されたストレージシステムの中から、S2303でユーザが選択した仮想ストレージシステムに追加したいストレージシステムのIDを選択する(S2304)。
ストレージ管理プログラム2104は、ストレージ管理テーブル2101から、S2303でユーザが選択した仮想ストレージシステムを構成しているストレージシステムのID21013を特定する(S2305)。
ストレージ管理プログラム2104は、S2304で選択したストレージシステムのコピーペア管理テーブル1124を基に、そのストレージシステムからS2305で特定した各ストレージシステムへのリモートコピーペアの有無をチェックする(S2306)。つまり、ストレージ管理プログラム2104は、S2304で選択したストレージシステムが有するコピーペア管理テーブル1124に、相手ストレージIDとして、S2305で特定した各ストレージシステムのIDが有るか否かをチェックする。
リモートコピーペアがない場合(S2306:Yes)、ストレージ管理プログラム2104は、S2305で取得した各ストレージシステムが有するコピーペア管理テーブル1124を基に、S2304で選択したストレージシステムから各ストレージシステムへのリモートコピーペアの有無をチェックする(S2307)。つまり、ストレージ管理プログラム2104は、各ストレージシステムが有するコピーペア管理テーブル1124に、相手ストレージIDとして、S2304で選択したストレージシステムのIDが有るか否かをチェックする。
リモートコピーペアがない場合(S2307:Yes)、ストレージ追加を許可するものとし、ストレージ管理プログラム2104は、ストレージ管理テーブル2101を更新し、処理を終了する(S2308)。
S2306及びS2307でリモートコピーペアがある場合(S2306:No、S2307:No)、ストレージの追加を許可できないため、ストレージ管理プログラム2104は、ユーザにエラーを通知し、処理を終了する(S2309)。
なお、ストレージの追加が成功したら、ストレージ管理プログラム2104は、仮想ストレージシステムの代表ストレージシステムが一台になるよう、代表ストレージシステムの再定義を行う。また、ストレージ管理プログラム2104は、ストレージシステムを追加する前から追加対象ストレージシステムが所持していたボリュームセット代表管理テーブルと、追加する前の仮想ストレージシステムの代表ストレージシステムが所持していたボリュームセット代表管理テーブルとを統合する。
上記処理のS2306、S2307のように、特定の条件を満足しているか否かがチェックされ(S2306、S2307では、仮想ストレージシステムを構成するストレージシステムと新規に追加するストレージシステムとの間でリモートコピーペアがあるか否かがチェック)、条件が満足される場合のみ、ストレージ追加が許可される。これにより、問題ある構成になることを防止することができる。
上述の実施例1によれば、既に仮想ストレージシステムを構成しているストレージシステムと新規に追加するストレージシステムとの間に、リモートコピーペアがない場合のみ、ストレージ追加が許可される。これにより、同一仮想ストレージシステムにリモートコピーペアが形成されてしまうことを防止することができる。
図27は、実施例1のフェイルオーバ要否判定処理のフローチャートである。
フェイルオーバ要否判定処理とは、正側の仮想ストレージシステムを構成する正ストレージシステムが被災した際に、副ストレージシステムに運用を切り替える必要があるか否かを判定するための処理である。
被災したストレージシステムが、仮想ストレージシステムを構成するストレージシステムのうちの一部分である場合、実際のデータが格納されているボリュームを有するストレージシステムが被災していなければフェイルオーバが不要な場合がある。
図31は、実施例1においてフェイルオーバが不要なストレージシステムの構成の一例を示す図である。
図31の例によれば、正ストレージシステムVを構成するストレージシステムのうち仮想ストレージシステムZが被災している状態である。しかし、ボリュームセットVに属する実ボリュームを有するストレージシステムY、Xは被災しておらず、データには正常にアクセスできる。このため、フェイルオーバを実行する必要はない。
実ボリュームを有する正ストレージシステムY及び正ストレージシステムXから構成されている正ストレージシステムVに、後から、仮想ボリュームを有する正ストレージシステムZを追加し、仮想ボリュームを有する正ストレージシステムZを経由して正ストレージシステムVに至るパスを追加した場合などで、このような状態になる。
ストレージシステムが被災した際に、フェイルオーバ要否判定処理を実行する機能をストレージ管理プログラム2101に備えておくと、フェイルオーバが必要か否か判定し、その結果をユーザに提示することができる。この機能により、ユーザは、ストレージシステムが被災していること、及び、その被災によりフェイルオーバを実行する必要があるか否かをチェックすることができる。以下、図27のフローチャートを用いて説明する。
ストレージ管理プログラム2104は、ストレージシステムが被災したことを検知すると(S2501)、ストレージ管理テーブル2101を基に、被災したストレージシステムを含んだ仮想ストレージシステムを特定する。なお、ストレージシステムが被災したか否かについては、ストレージ管理プログラム2104が定期的にストレージシステムと通信し通信できることをチェックすることで、検知することができる。
さらに、ストレージ管理プログラム2104は、ボリュームセット統合管理テーブル2103を基に、該仮想ストレージシステムが有する仮想ボリュームセット及び仮想ボリュームセットを構成するボリュームセットを特定する(S2502)。
ストレージ管理プログラム2104は、S2502で特定した仮想ボリュームセットを構成する各ボリュームセットに割り当てられているボリュームを、各ボリュームセットを有するストレージシステムのボリュームセット管理テーブル1123から特定する(S2503)。
ストレージ管理プログラム2104は、ボリューム統合管理テーブル2102における、S2503で特定したボリュームに対応する実ストレージID21024を基に、S2503で特定したボリュームのうち被災したストレージシステムに属するボリュームが存在するかをチェックする(S2504)。
S2504で、被災ストレージに属するボリュームが存在する場合(S2504:Yes)、ストレージ管理プログラム2104は、フェイルオーバ要としてユーザに提示して処理を終了する(S2508)。
S2504で、被災ストレージに属するボリュームが存在しなかった場合(S2504:No)、ストレージ管理プログラム2104は、フェイルオーバ不要としてユーザに提示して処理を終了する(S2509)。ユーザは提示に従ってフェイルオーバを指示する。
以上、実施例1によれば、同一仮想ストレージを構成するストレージシステムは、1台のストレージシステムとして管理することができる。実施例1によれば同一仮想ストレージシステムを構成するストレージシステム間でリモートコピーペアを組んでしまうことを防止することができる。
また、同一仮想ストレージシステムを構成するストレージシステムをまたがってボリュームセットが定義された場合でも、正側のボリュームへのライト更新順序と副側のボリュームへのライト反映順序が同一になることを保証することができる。
なお、本実施例では、副側ボリュームへのライトデータ反映処理開始を制御する代表ストレージシステムを備えることで、複数のストレージシステムをまたいでボリュームセットが定義された場合でも、正側のボリュームへのライト更新順序と副側のボリュームへのライト反映順序が同一になることを保証することができる。つまり、仮想ストレージシステム(スケールアウト型ストレージシステム)でも、任意のボリュームを同一ボリュームセットに登録することができる。
しかしながら、同一ボリュームセットに定義されたボリュームは、全て同一ストレージシステムに配置されるようにすることで、ライト更新順序とライト反映順序が同一になることが保証されても良い。すなわち、ストレージ管理プログラム2104が、或るボリュームのデータを他のボリュームに移行する指示を発行する機能を備え、一台のストレージシステムがリモートコピー元ボリューム(リモートコピー先ボリューム)の全てを持つようにする。こうすると、ストレージ管理プログラム2104は、リモートコピーペア作成指示をユーザから受信した際、初期コピー実行指示を制御プログラムに送信する前に、特定のストレージシステムにボリュームデータを移行する指示を制御プログラムに発行することができるので、ライト更新順序及びライト反映順序を同一にすることができる。
実施例2では、ストレージシステム10a、10b毎に単体管理計算機60が1対1の関係で備えられている。各ストレージシステム10a、10bは、管理計算機20及び各単体管理計算機60により管理される(図28参照)。
このように、一台のストレージシステムのみを管理する単体管理計算機60が存在する場合、単体管理計算機60が不正なストレージ管理を実行する等により、計算機システム1に不正な構成を作り出してしまうことがある。
以下、このような不正な構成が含まれていることを検知しユーザに通知する処理について説明する。ここでいう不正なストレージ管理、不正な構成とは、同一仮想ストレージシステムを構成するストレージシステム間でリモートコピーペアを組んでしまうこと等を意味する。なお、本実施例では実施例1との差分のみを説明する。
図28は、実施例2の計算機システム1の構成の一例を示す。
実施例1と異なる点は、上述のように、各ストレージシステム10a、10bに単体管理計算機60が備えられていることである。
実施例2の計算機システム1は、管理計算機20と、単体管理計算機60とが共存している。管理計算機20は、主に、複数のストレージシステム10a、10b等を管理する。単体管理計算機60は、主に、単体のストレージシステム10a、10bを管理する。
図29は、実施例2の単体管理計算機60の構成の一例を示す。
単体管理計算機60のハードウェア構成は、実施例1の管理計算機20とほぼ同じであるが、メモリ610に格納されるプログラムが異なる。メモリ610に格納されるプログラムは、単体のストレージシステムを管理する単体ストレージ管理プログラム6101及び単体ストレージ管理プログラム6101を制御するOS6102である。
単体ストレージ管理プログラム6101は、単体ストレージ管理プログラムが提供するユーザインターフェースを介して、ユーザが管理対象ストレージシステムの制御プログラム1126に対して、リモートコピーペア作成などを指示するプログラムである。
例えば、管理対象ストレージシステムが有するボリュームから該ストレージシステムと接続されているストレージシステムが有するボリュームへのリモートコピーペア作成要求が制御プログラム1126に指示すると、制御プログラム1126は、ボリューム管理テーブル1121、ボリュームセット管理テーブル1123及びコピーペア管理テーブル1124を指示されたペア情報に基づき更新し、リモートコピーを開始する。ただし、単体管理計算機60は、複数のストレージシステムをまとめて管理することはできず、仮想ストレージシステム及びそれを構成するストレージシステムなどのスケールアウトに関するストレージ構成は管理していない。
このため、同一仮想ストレージシステムを構成するストレージ間でリモートコピーペアを組んでしまう場合がある。
図30は、実施例2の構成エラー判定処理のフローチャートである。
構成エラー判定処理とは、同一仮想ストレージシステムを構成するストレージ間でリモートコピーペアがないかを判定する処理である。
ストレージ管理プログラム2104は、ストレージ管理テーブル2101を基に、仮想ストレージシステムを構成するストレージシステムを特定する(S2801)。次に、ストレージ管理プログラム2104は、S2801で取得した全てのストレージシステムについて、コピーペア管理テーブル1124が有する情報を取得したか否かをチェックする(S2802)。
全てのストレージシステムについてコピーペア管理テーブル1124が有する情報を取得していなければ(S2802:No)、ストレージ管理プログラム2104は、未取得のストレージシステムからコピーペア管理テーブル1124が有する情報を取得する(S2803)。全てのストレージシステムについてコピーペア管理テーブル1124が有する情報を取得している場合(S2802:Yes)、ストレージ管理プログラム2104は、S2805以降の処理を行う。
ストレージ管理プログラム2104は、ペア毎(S2803で取得したコピーペア管理テーブル1124に登録されているペア毎)に、コピー先である相手ストレージID11243に登録されているIDを取得する。
次に、ストレージ管理プログラム2104は、S2803でコピーペア管理テーブル1124を取得したストレージシステムと、取得したIDから特定されるストレージシステムとが、同一仮想ストレージを構成するストレージであるか否かを、ストレージ管理テーブル2101に基づいて判定し、もし同じであれば構成エラーとしてペア情報を保持する(S2804)。
S2802において全てのストレージシステムからコピーペア管理テーブルを得たと判定された場合(S2802:Yes)、ストレージ管理プログラム2104は、S2804で構成エラーありとして登録されたペアの有無をチェックする(S2805)。
構成エラーありとして登録されたペアがある場合は(S2805:Yes)、ストレージ管理プログラム2104は、該当ペアを構成エラーありとしてユーザに提示して処理を終了する。S2805で構成エラーありとして登録されたペアがない場合は(S2805:No)、そのまま処理を終了する。
上記処理では、ストレージ管理プログラム2104が、特定条件を満たす構成の有無をチェックし(S2804)、もし条件に合致した構成が見つかれば構成エラーとしてユーザに提示する(S2806)。本処理によってユーザが計算機システム1の特定の構成状態をチェックすることができ、構成の修正が必要か否かを判断することができる。
以上、実施例2によれば、同一仮想ストレージを構成するストレージシステム間でリモートコピーペアを組まれるなど、計算機システムに不正に構成が含まれていても、それを検知し、ユーザに提示することができる。
以上、本発明の幾つかの実施例を説明したが、これらは本発明の説明のための例示であって、本発明の範囲をこれらの実施例にのみ限定する趣旨ではない。本発明は、他の種々の形態でも実施することが可能である。
例えば、コピー先ボリュームを有する仮想ストレージシステムにそのコピー先ボリュームとリモートコピーペアを構成するコピー元ボリュームが存在することが回避されても良い。
1…計算機システム 10a…正ストレージシステム 10b…副ストレージシステム 20…管理計算機

Claims (14)

  1. 複数のストレージシステムで構成されたスケールアウト型ストレージシステムである仮想ストレージシステムを含むストレージシステム群に接続された管理システムであって、
    記憶資源と、
    前記記憶資源に接続されたプロセッサと
    を有し、
    前記記憶資源が、仮想ストレージシステムの構成要素であるか否かをストレージシステム毎に表すストレージ管理情報を記憶し、
    前記プロセッサは、
    (a)前記ストレージ管理情報を基に、第1のストレージシステムが仮想ストレージシステムの構成要素であるか否かを判断し、
    (b)前記(a)の判断の結果が肯定的である場合、前記ストレージ管理情報を基に、前記第1のストレージシステムを含んだ仮想ストレージシステム以外のストレージシステムである第2のストレージシステムを特定し、
    (c)前記第2のストレージシステムについてのみ、特定の操作をユーザに許可する、
    管理システム。
  2. 請求項1記載の管理システムであって、
    前記特定の操作は、前記第2のストレージシステムが有する論理ボリュームをコピー元ボリューム又はコピー先ボリュームとしたリモートコピーペアを構成する操作であり、
    前記リモートコピーペアとは、ストレージシステムが有する論理ボリュームと別のストレージシステムが有する論理ボリュームとのペアであり、
    前記第1のストレージシステムが有する論理ボリュームが、コピー先ボリューム又はコピー元ボリュームである、
    管理システム。
  3. 請求項2記載の管理システムであって、
    前記(c)は、前記第2のストレージシステムが有する論理ボリュームを表す情報を、前記ユーザがコピー元ボリューム又はコピー先ボリュームを表す情報として選択できるよう表示し、且つ、前記第1のストレージシステムを含んだ仮想ストレージシステム内の論理ボリュームを表す情報を表示しない処理である、
    管理システム。
  4. 請求項3記載の管理システムであって、
    前記記憶資源が、コピー元ボリューム及びそのコピー元ボリュームを有するストレージシステムとコピー先ボリューム及びそのコピー先ボリュームを有するストレージシステムとを表す情報をリモートコピーペア毎に含んだコピーペア管理情報を記憶し、
    前記プロセッサは、
    (f)前記仮想ストレージシステムに第3のストレージシステムを含めることの要求であるストレージ追加要求を受け、
    (g)前記コピーペア管理情報を基に、下記の(g1)及び(g1)の両方の条件が満たされているか否かを判断し、
    (g1)前記第3のストレージシステムが有する論理ボリュームをコピー元としたリモートコピーペアを構成するコピー先ボリュームが前記仮想ストレージシステムに存在しないこと、
    (g2)前記第3のストレージシステムが有する論理ボリュームをコピー先としたリモートコピーペアを構成するコピー元ボリュームが前記仮想ストレージシステムに存在しないこと、
    (h)前記(g)の判断の結果が否定的であれば、前記仮想ストレージシステムに前記第3のストレージシステムが含まれるよう前記ストレージ管理情報を更新することをせず、前記(g)の判断の結果が肯定的であれば、前記仮想ストレージシステムに前記第3のストレージシステムが含まれるよう前記ストレージ管理情報を更新する、
    管理システム。
  5. 請求項4記載の管理システムであって、
    前記記憶資源が、どのストレージシステムが有するどの仮想ボリュームにどのストレージシステムが有するどの実ボリュームが対応しているかを表す情報を含んだボリューム管理情報を記憶し、
    仮想ボリュームは、仮想的な論理ボリュームであり、
    実ボリュームは、ストレージシステムが有する1以上の物理記憶デバイスを基に形成された論理ボリュームであり、
    前記仮想ボリュームを有するストレージシステムが、その仮想ボリュームを指定したアクセス要求を受信した場合、その仮想ボリュームに対応付けられている実ボリュームを有するストレージシステムに、その実ボリュームを指定したアクセス要求を送信し、
    前記プロセッサが、
    (j)前記ボリューム管理情報を基に、コピー元ボリュームの候補及びコピー先ボリュームの候補を表す情報として、実ボリュームを表す情報を表示し、且つ、仮想ボリュームを表す情報を表示せず、
    (k)前記ユーザから指定された情報が表すコピー元ボリューム及びコピー先ボリュームで新たなリモートコピーペアを形成する、
    管理システム。
  6. 請求項5記載の管理システムであって、
    複数のコピー元ボリュームで構成されたボリュームセットと、複数のコピー先ボリュームで構成されたボリュームセットとがあり、それらのボリュームセット間で、リモートコピーが行われ、
    前記プロセッサが、或るストレージシステムに障害が発生したことを検知した場合、
    (p)前記ストレージ管理情報を基に、前記或るストレージシステムを含んだ仮想ストレージシステムを特定し、
    (q)前記仮想ストレージシステムが有するボリュームセットを特定し、
    (r)特定されたいずれかのボリュームセット内の実ボリュームが前記或るストレージシステムに存在するか否かを判断し、
    (s)前記(r)の判断の結果が肯定的であれば、フェイルオーバが必要であることを表す情報を出力し、前記(r)の判断の結果が否定的であれば、フェイルオーバが不要であることを表す情報を出力する、
    管理システム。
  7. 請求項4記載の管理システムであって、
    複数のストレージシステムにそれぞれ接続された複数のローカル管理システムと、
    前記複数のローカル管理システムに接続されたグローバル管理システムがあり、
    前記グローバル管理システムが、前記記憶資源及び前記プロセッサを有し、
    各ローカル管理システムが、そのローカル管理システムに接続されているストレージシステムの論理ボリュームを含んだリモートコピーペアに関するローカルなコピーペア管理情報を有し、
    前記プロセッサが、
    (u)各ローカル管理システムからローカルなコピーペア管理情報を取得し、
    (v)各コピーペア管理情報と前記ストレージ管理情報とを基に、コピー元ボリュームとコピー先ボリュームが同一の仮想ストレージシステムに存在するリモートコピーペアがあるか否かを判断し、
    (w)前記(v)の判断の結果が肯定的の場合に、構成エラーを出力する、
    管理システム。
  8. 請求項1記載の管理システムであって、
    前記プロセッサは、
    (f)前記仮想ストレージシステムに第3のストレージシステムを含めることの要求であるストレージ追加要求を受け、
    (g)前記第3のストレージシステムが所定の条件を満たすか否かを判断し、
    (h)前記(g)の判断の結果が否定的であれば、前記仮想ストレージシステムに前記第3のストレージシステムが含まれるよう前記ストレージ管理情報を更新することをせず、前記(g)の判断の結果が肯定的であれば、前記仮想ストレージシステムに前記第3のストレージシステムが含まれるよう前記ストレージ管理情報を更新する、
    管理システム。
  9. 請求項8記載の管理システムであって、
    前記特定の操作は、前記第2のストレージシステムが有する論理ボリュームをコピー元ボリューム又はコピー先ボリュームとしたリモートコピーペアを構成する操作であり、
    前記リモートコピーペアとは、ストレージシステムが有する論理ボリュームと別のストレージシステムが有する論理ボリュームとのペアであり、
    前記第1のストレージシステムが有する論理ボリュームが、コピー先ボリューム又はコピー元ボリュームであり、
    前記(g)は、前記コピーペア管理情報を基に、下記の(g1)及び(g1)の両方の条件が満たされているか否かを判断することである、
    (g1)前記第3のストレージシステムが有する論理ボリュームをコピー元としたリモートコピーペアを構成するコピー先ボリュームが前記仮想ストレージシステムに存在しないこと、
    (g2)前記第3のストレージシステムが有する論理ボリュームをコピー先としたリモートコピーペアを構成するコピー元ボリュームが前記仮想ストレージシステムに存在しないこと、
    管理システム。
  10. 請求項2記載の管理システムであって、
    前記記憶資源が、どのストレージシステムが有するどの仮想ボリュームにどのストレージシステムが有するどの実ボリュームが対応しているかを表す情報を含んだボリューム管理情報を記憶し、
    仮想ボリュームは、仮想的な論理ボリュームであり、
    実ボリュームは、ストレージシステムが有する1以上の物理記憶デバイスを基に形成された論理ボリュームであり、
    前記仮想ボリュームを有するストレージシステムが、その仮想ボリュームを指定したアクセス要求を受信した場合、その仮想ボリュームに対応付けられている実ボリュームを有するストレージシステムに、その実ボリュームを指定したアクセス要求を送信し、
    前記プロセッサが、
    (j)前記ボリューム管理情報を基に、コピー元ボリュームの候補及びコピー先ボリュームの候補を表す情報として、実ボリュームを表す情報を表示し、且つ、仮想ボリュームを表す情報を表示せず、
    (k)前記ユーザから指定された情報が表すコピー元ボリューム及びコピー先ボリュームで新たなリモートコピーペアを形成する、
    管理システム。
  11. 請求項2記載の管理システムであって、
    複数のコピー元ボリュームで構成されたボリュームセットと、複数のコピー先ボリュームで構成されたボリュームセットとがあり、それらのボリュームセット間で、リモートコピーが行われ、
    前記プロセッサが、或るストレージシステムに障害が発生したことを検知した場合、
    (p)前記ストレージ管理情報を基に、前記或るストレージシステムを含んだ仮想ストレージシステムを特定し、
    (q)前記仮想ストレージシステムが有するボリュームセットを特定し、
    (r)特定されたいずれかのボリュームセット内の実ボリュームが前記或るストレージシステムに存在するか否かを判断し、
    (s)前記(r)の判断の結果が肯定的であれば、フェイルオーバが必要であることを表す情報を出力し、前記(r)の判断の結果が否定的であれば、フェイルオーバが不要であることを表す情報を出力する、
    管理システム。
  12. 請求項2記載の管理システムであって、
    複数のストレージシステムにそれぞれ接続された複数のローカル管理システムと、
    前記複数のローカル管理システムに接続されたグローバル管理システムがあり、
    前記グローバル管理システムが、前記記憶資源及び前記プロセッサを有し、
    各ローカル管理システムが、コピー元ボリュームとコピー先ボリュームを表す情報をリモートコピーペア毎に含んだローカルなコピーペア管理情報を有し、
    前記プロセッサが、
    (u)各ローカル管理システムからローカルなコピーペア管理情報を取得し、
    (v)各コピーペア管理情報と前記ストレージ管理情報とを基に、コピー元ボリュームとコピー先ボリュームが同一の仮想ストレージシステムに存在するリモートコピーペアがあるか否かを判断し、
    (w)前記(v)の判断の結果が肯定的の場合に、構成エラーを出力する、
    管理システム。
  13. 複数のストレージシステムで構成されたスケールアウト型ストレージシステムである仮想ストレージシステムを含むストレージシステム群の管理方法であって、
    (a)仮想ストレージシステムの構成要素であるか否かをストレージシステム毎に表すストレージ管理情報を基に、第1のストレージシステムが仮想ストレージシステムの構成要素であるか否かを判断し、
    (b)前記(a)の判断の結果が肯定的である場合、前記ストレージ管理情報を基に、前記第1のストレージシステムを含んだ仮想ストレージシステム以外のストレージシステムである第2のストレージシステムを特定し、
    (c)前記第2のストレージシステムについてのみ、特定の操作をユーザに許可する、
    管理方法。
  14. 複数のストレージシステムで構成されたスケールアウト型ストレージシステムである仮想ストレージシステムを含むストレージシステム群の管理のためのコンピュータプログラムであって、
    (a)仮想ストレージシステムの構成要素であるか否かをストレージシステム毎に表すストレージ管理情報を基に、第1のストレージシステムが仮想ストレージシステムの構成要素であるか否かを判断し、
    (b)前記(a)の判断の結果が肯定的である場合、前記ストレージ管理情報を基に、前記第1のストレージシステムを含んだ仮想ストレージシステム以外のストレージシステムである第2のストレージシステムを特定し、
    (c)前記第2のストレージシステムについてのみ、特定の操作をユーザに許可する、
    ことをコンピュータに実行させるためのコンピュータプログラム。
JP2010168164A 2010-07-27 2010-07-27 スケールアウト型ストレージシステムを含んだストレージシステム群及びその管理方法 Pending JP2012027829A (ja)

Priority Applications (8)

Application Number Priority Date Filing Date Title
JP2010168164A JP2012027829A (ja) 2010-07-27 2010-07-27 スケールアウト型ストレージシステムを含んだストレージシステム群及びその管理方法
CN201080067463.XA CN102959498B (zh) 2010-07-27 2010-08-02 包括向外扩展型存储系统的存储系统群及其管理方法
EP10855337.1A EP2570911A4 (en) 2010-07-27 2010-08-02 GROUP OF STORAGE SYSTEMS CONTAINING SCALE REDUCTION TYPE STORAGE SYSTEM AND METHOD OF MANAGING SAME
PCT/JP2010/063027 WO2012014329A1 (ja) 2010-07-27 2010-08-02 スケールアウト型ストレージシステムを含んだストレージシステム群及びその管理方法
US12/988,008 US8589616B2 (en) 2010-07-27 2010-08-02 Storage system group including scale-out storage system and management method therefor
US14/053,703 US8868819B2 (en) 2010-07-27 2013-10-15 Storage system group including scale-out storage system and management method therefor
US14/487,170 US9047020B2 (en) 2010-07-27 2014-09-16 Storage system group including scale-out storage system and management method therefor
US14/711,986 US9395928B2 (en) 2010-07-27 2015-05-14 Storage system group including scale-out storage system and management method therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010168164A JP2012027829A (ja) 2010-07-27 2010-07-27 スケールアウト型ストレージシステムを含んだストレージシステム群及びその管理方法

Publications (1)

Publication Number Publication Date
JP2012027829A true JP2012027829A (ja) 2012-02-09

Family

ID=45529571

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010168164A Pending JP2012027829A (ja) 2010-07-27 2010-07-27 スケールアウト型ストレージシステムを含んだストレージシステム群及びその管理方法

Country Status (5)

Country Link
US (4) US8589616B2 (ja)
EP (1) EP2570911A4 (ja)
JP (1) JP2012027829A (ja)
CN (1) CN102959498B (ja)
WO (1) WO2012014329A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016062306A (ja) * 2014-09-18 2016-04-25 日本電気株式会社 ストレージシステム、制御方法および制御プログラム

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5697195B2 (ja) * 2010-12-24 2015-04-08 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation アクセス予測に基づいてテーブルのミラーリングを制御する管理システム、プログラムおよび方法
CN102546830B (zh) * 2012-02-27 2015-06-24 辛旻 一种服务器中实现存储的方法和系统
JP6221564B2 (ja) * 2013-09-25 2017-11-01 富士通株式会社 ストレージ制御装置、制御方法および制御プログラム
US9612776B2 (en) * 2013-12-31 2017-04-04 Dell Products, L.P. Dynamically updated user data cache for persistent productivity
GB2539340B (en) * 2014-04-22 2021-03-24 Hitachi Ltd Data migration method of storage system
WO2015189925A1 (ja) * 2014-06-11 2015-12-17 株式会社日立製作所 ストレージシステム、ストレージ装置及びデータ移行方法
US10097410B2 (en) * 2014-06-26 2018-10-09 Vmware, Inc. Methods and apparatus to scale application deployments in cloud computing environments
WO2016016920A1 (ja) * 2014-07-28 2016-02-04 株式会社日立製作所 計算機システムおよび管理プログラム
US10185636B2 (en) * 2014-08-15 2019-01-22 Hitachi, Ltd. Method and apparatus to virtualize remote copy pair in three data center configuration
WO2016068830A1 (en) 2014-10-27 2016-05-06 Hitachi, Ltd. Method and apparatus to configure information technology infrastructure
US10152270B2 (en) * 2014-11-28 2018-12-11 Hitachi, Ltd. Storage system
US9841923B2 (en) * 2014-12-19 2017-12-12 Fujitsu Limited Storage apparatus and storage system
US9703651B2 (en) * 2015-06-15 2017-07-11 Vmware, Inc. Providing availability of an agent virtual computing instance during a storage failure
US10649851B2 (en) * 2016-04-19 2020-05-12 Unisys Corporation Extraction of audit trails
JP7145902B2 (ja) * 2020-03-04 2022-10-03 株式会社日立製作所 ストレージシステム及びその制御方法
CN115277841A (zh) * 2022-05-19 2022-11-01 山东鲸鲨信息技术有限公司 一种基于san集群的映射方法以及相关设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004362144A (ja) * 2003-06-03 2004-12-24 Hitachi Ltd 運用管理方法及び実施装置並びに処理プログラム
JP2009093316A (ja) * 2007-10-05 2009-04-30 Hitachi Ltd ストレージシステム及び仮想化方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4124348B2 (ja) 2003-06-27 2008-07-23 株式会社日立製作所 記憶システム
US20060080362A1 (en) * 2004-10-12 2006-04-13 Lefthand Networks, Inc. Data Synchronization Over a Computer Network
US7702851B2 (en) * 2005-09-20 2010-04-20 Hitachi, Ltd. Logical volume transfer method and storage network system
JP5137476B2 (ja) * 2007-06-21 2013-02-06 株式会社日立製作所 連携して動作する複数のアプリケーションが使用するデータのバックアップ環境の設定を行う計算機及び方法
JP4958673B2 (ja) 2007-07-26 2012-06-20 株式会社日立製作所 ストレージシステム及びこれの管理方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004362144A (ja) * 2003-06-03 2004-12-24 Hitachi Ltd 運用管理方法及び実施装置並びに処理プログラム
JP2009093316A (ja) * 2007-10-05 2009-04-30 Hitachi Ltd ストレージシステム及び仮想化方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016062306A (ja) * 2014-09-18 2016-04-25 日本電気株式会社 ストレージシステム、制御方法および制御プログラム

Also Published As

Publication number Publication date
US20150006838A1 (en) 2015-01-01
EP2570911A4 (en) 2016-11-23
CN102959498A (zh) 2013-03-06
US20120030440A1 (en) 2012-02-02
US8868819B2 (en) 2014-10-21
CN102959498B (zh) 2015-08-26
EP2570911A1 (en) 2013-03-20
US9395928B2 (en) 2016-07-19
WO2012014329A1 (ja) 2012-02-02
US8589616B2 (en) 2013-11-19
US9047020B2 (en) 2015-06-02
US20140040583A1 (en) 2014-02-06
US20150242157A1 (en) 2015-08-27

Similar Documents

Publication Publication Date Title
WO2012014329A1 (ja) スケールアウト型ストレージシステムを含んだストレージシステム群及びその管理方法
JP4963892B2 (ja) 仮想ストレージシステムの構成要素となることが可能なストレージシステムの制御装置
US7469289B2 (en) Storage system having virtualized resource
US7558916B2 (en) Storage system, data processing method and storage apparatus
US8447941B2 (en) Policy based data migration control method for storage device
JP5052376B2 (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
US20170013046A1 (en) Data-centric data storage
JP2010049634A (ja) ストレージシステム及びストレージシステムにおけるデータ移行方法
JP2007279845A (ja) ストレージシステム
JP2009157785A (ja) 待機系計算機の追加方法、計算機及び計算機システム
US20120260051A1 (en) Computer system, management system and data management method
JP2008033829A (ja) バックアップシステム及びバックアップ方法
JP2008269469A (ja) ストレージシステム及びその管理方法
JP2008287405A (ja) パス管理方法、ホスト計算機及びパス管理プログラム
US10019182B2 (en) Management system and management method of computer system
JP2008250458A (ja) ストレージシステム及びストレージシステムの管理方法
US7496724B2 (en) Load balancing in a mirrored storage system
WO2016174739A1 (ja) 複合計算機システム、管理計算機、およびデータ連携管理方法
US20080294858A1 (en) Storage system and data management method
JP2021033782A (ja) リモートコピーシステム
Bartkowski et al. High availability and disaster recovery options for DB2 for Linux, UNIX, and Windows
US9952805B2 (en) Storage system and data write method using a logical volume to either store data successfully onto a first memory or send a failure response to a server computer if the storage attempt fails
JP6291977B2 (ja) 分散ファイルシステム、バックアップファイル取得方法、制御装置及び管理装置
WO2015125227A1 (ja) ストレージシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130206

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130702

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130902

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20140107