JP6216866B2 - ストレージシステムおよびストレージ制御方法 - Google Patents

ストレージシステムおよびストレージ制御方法 Download PDF

Info

Publication number
JP6216866B2
JP6216866B2 JP2016507202A JP2016507202A JP6216866B2 JP 6216866 B2 JP6216866 B2 JP 6216866B2 JP 2016507202 A JP2016507202 A JP 2016507202A JP 2016507202 A JP2016507202 A JP 2016507202A JP 6216866 B2 JP6216866 B2 JP 6216866B2
Authority
JP
Japan
Prior art keywords
storage area
dkc
controller
host computer
ldev
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.)
Active
Application number
JP2016507202A
Other languages
English (en)
Other versions
JPWO2015136665A1 (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 JPWO2015136665A1 publication Critical patent/JPWO2015136665A1/ja
Application granted granted Critical
Publication of JP6216866B2 publication Critical patent/JP6216866B2/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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0727Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • 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
    • G06F12/10Address translation
    • G06F12/109Address translation for multiple virtual address spaces, e.g. segmentation
    • 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/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • 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/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/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0635Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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/064Management of blocks
    • 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/0653Monitoring storage devices or 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/0662Virtualisation aspects
    • G06F3/0664Virtualisation aspects at device level, e.g. emulation of a storage device or system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/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
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1008Correctness of operation, e.g. memory ordering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/65Details of virtual memory and virtual address translation
    • G06F2212/657Virtual address space management

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 Networks & Wireless Communication (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、複数のストレージ装置を含むストレージシステムに関する。
複数のストレージ装置を用いて仮想ストレージ装置をホスト計算機へ提供する技術が知られている。特許文献1には、複数のストレージ装置の夫々が論理ボリュームと仮想ボリュームの関連付けを示す情報を記憶し、ストレージ装置が仮想ボリュームを指定するコマンドをホスト計算機から受信した場合、仮想ボリュームに関連付けられた論理ボリュームを認識してコマンドを実行する技術が開示されている。
米国特許出願公開第2013/0238852号明細書
仮想ボリュームに割り当てられている論理ボリュームを有するストレージ装置から、別のストレージ装置の論理ボリュームへのデータ移行が行われた場合、ホスト計算機がデータ移行後のストレージ装置を認識するために、ホスト計算機に格納されている情報を変更するなどの作業が必要になる。また、その作業のために、ホスト計算機で実行されているアプリケーションを停止する場合がある。
上記課題を解決するために、本発明の一態様であるストレージシステムは、第一記憶デバイスと、ホスト計算機および第一記憶デバイスに接続されている第一コントローラと、第二記憶デバイスと、ホスト計算機、第二記憶デバイス、および第一コントローラに接続されている第二コントローラと、を備える。第一コントローラは、第一記憶デバイスに基づく第一論理記憶領域を制御し、第一論理記憶領域を仮想記憶領域である特定仮想記憶領域に割り当て、特定仮想記憶領域および第一論理記憶領域を示す第一関連情報を記憶し、第一関連情報をホスト計算機へ送信し、第二コントローラは、第二記憶デバイスに基づく第二論理記憶領域を制御し、第一コントローラおよび第二コントローラは、第一論理記憶領域から第二論理記憶領域へのデータ移行を行い、第一コントローラは、特定仮想記憶領域への第一論理記憶領域の割り当てを解除し、解除を第一関連情報に反映し、第二コントローラは、第二論理記憶領域を特定仮想記憶領域に割り当て、特定仮想記憶領域および第二論理記憶領域を示す第二関連情報を記憶し、第二関連情報をホスト計算機へ送信する。
本発明の一態様によれば、ストレージシステムにおけるデータ移行の前後で、ホスト計算機からストレージシステムへのアクセスを継続させることができる。
本発明の実施例の計算機システムの構成を示す。 非仮想化構成におけるLDEVの構成を示す。 非仮想化構成における構成定義ファイル116を示す。 非仮想化構成のホスト計算機100におけるストレージ指示処理を示す。 非仮想化構成のDKC500におけるストレージ制御処理を示す。 非仮想化構成におけるストレージ指示処理に基づく計算機システムの動作を示す。 仮想化構成の状態AにおけるV−LDEVおよびR−LDEVの構成を示す。 仮想化構成における構成定義ファイル116を示す。 仮想化構成の状態Aにおけるホスト側変換情報117およびDKC側変換情報517を示す。 仮想化構成の状態BにおけるV−LDEVおよびR−LDEVの構成を示す。 仮想化構成の状態Bにおけるホスト側変換情報117およびDKC側変換情報517を示す。 仮想化構成の状態Cにおけるホスト側変換情報117およびDKC側変換情報517を示す。 仮想化構成のホスト計算機100におけるストレージ指示処理を示す。 仮想化構成のDKC500におけるストレージ制御処理を示す。 各状態におけるペア管理コマンドの引数群を示す。 仮想化構成の状態Aにおけるストレージ指示処理に基づく計算機システムの動作を示す。 仮想化構成の状態Bにおけるストレージ指示処理に基づく計算機システムの動作を示す。 実施例2のポーリング処理を示す。 実施例3のデータ移行完了処理を示す。
以下、本発明の実施例について図面を用いて説明する。
本実施例では、複数のストレージ装置を含むストレージシステムと、そのストレージシステムを利用するホスト計算機とを含む計算機システムについて説明する。ストレージシステムは、仮想ストレージ装置をホスト計算機へ提供する。
図1は、本発明の実施例の計算機システムの構成を示す。
本実施例の計算機システムは、ホスト計算機100と、ストレージシステム300とを含む。ホスト計算機100は、SAN(Storage Area Network)210などの通信ネットワークを介してストレージシステム300に接続されている。
ホスト計算機100は、ストレージシステム300を用いて、ユーザの業務のためのアプリケーション等を実行する。ホスト計算機100は、メモリ110と、CPU(Central Processing Unit)120と、HBA(Host Bus Adapter)130と、入力部140と、出力部150とを含む。メモリ110は、ホスト計算機100の処理のためのプログラム及びデータを格納する。CPU120は、メモリ110に格納されたプログラムに従って、処理を実行する。HBA130は、SAN210を介してストレージシステム300に接続され、CPU120からの指示に従ってストレージシステム300との通信を行う。入力部140は、キーボードやポインティングデバイスなどであり、ユーザからの入力を受け付けてCPU120へ渡す。出力部150は、例えばディスプレイであり、CPU120からの情報を表示する。なお、入力部140および出力部150は、ホスト計算機100と異なる計算機であって、LAN(Local Area Network)など通信ネットワークを介してのホスト計算機100に接続されていても良い。
メモリ110は更に、プログラムとして、UI(User Interface)プログラム111と、管理プログラム112とを格納する。メモリ110は更に、データとして、スクリプト115と、構成定義ファイル116と、ホスト側変換情報117とを格納する。スクリプト115は、管理プログラム112のコマンドを含む。構成定義ファイル116は、ストレージシステム300の構成を定義する。ホスト側変換情報117は、ストレージシステム300における仮想記憶領域と論理記憶領域の関連付けを示す。UIプログラム111は、例えば、シェルやコマンドラインインタプリタなどであり、スクリプト115に記述されたコマンド、またはユーザから入力されたコマンドを管理プログラム112へ渡す。UIプログラム111は、予め設定されたスケジュールに従ってスクリプト115を実行しても良い。管理プログラム112は、UIプログラム111から渡されたコマンドに従い、構成定義ファイル116およびホスト側変換情報117を用いて、ストレージシステム300との通信を行う。
ストレージシステム300は、複数のストレージ装置(ストレージサブシステム)400を含む。複数のストレージ装置400は、SAN220などの通信ネットワークを介して互いに接続されている。ストレージ装置400は、DKC(Disk Controller)500とディスク900とを含む。ディスク900は、HDD(Hard Disk Drive)やフラッシュメモリなどの記憶媒体を含む。DKC500は、ストレージ装置400を制御する。DKC500は、メモリ510と、MP(Microprocessor)520と、CHA(Channel Adapter)530a、530bと、DKA(Disk Adapter)540とを含む。メモリ510は、DKC500の処理のためのプログラム及びデータを格納する。メモリ510は、ホスト計算機100やディスク900や他のDKC500と通信されるデータを一時的に格納するキャッシュメモリを含む。MP520は、メモリ510に格納されたプログラムに従って、処理を実行する。CHA530aは、SAN210を介してホスト計算機100に接続され、MP520からの指示に従ってホスト計算機100との通信を行う。CHA530bは、SAN220を介して他のDKC500に接続され、MP520からの指示に従って他のDKC500との通信を行う。DKA540は、ディスク900に接続され、MP520からの指示に従ってディスク900との通信を行う。
以下の説明において、ストレージシステム300内の二つのストレージ装置400を区別して説明する場合、それらをストレージ装置(X)およびストレージ装置(Y)と呼ぶことがある。
メモリ510は更に、プログラムとして、制御プログラム512を格納する。メモリ510は更に、データとして、DKC側変換情報517を格納する。DKC側変換情報517は、ストレージ装置400における仮想記憶領域と論理記憶領域の関連付けを示す。制御プログラム512は、ホスト計算機100からの指示に従って、ディスク900の記憶媒体に基づく論理ボリューム(Logical Device:LDEV)を作成し、ミラーリングのためにLDEVのペアを作成し、ストレージ装置400内や複数のストレージ装置400間のデータのコピーを行う。更に制御プログラム512は、ストレージ装置400の仮想化を行う。
ホスト計算機100およびDKC500のそれぞれのコンピュータに格納されているプログラムは、コンピュータ読み取り可能媒体に格納されていても良い。この場合、コンピュータは、その媒体からプログラムを読み出してインストールする。
以後の説明では「プログラム」を主語として説明を行う場合があるが、プログラムはプロセッサによって実行されることで定められた処理をメモリ及び通信ポート(通信制御デバイス)を用いながら行うため、プロセッサを主語とした説明としてもよい。また、プログラムを主語として開示された処理はホスト計算機やDKCなどの計算機または情報処理装置が行う処理としてもよい。また、プログラムの一部または全ては専用ハードウェアによって実現されてもよい。
以下の説明において、ストレージシステム300からホスト計算機100へ提供される仮想的なLDEVを仮想ボリューム(V−LDEV:Virtual−Logical Device)と呼ぶことがある。また、ストレージシステム300からホスト計算機100へ提供される仮想的なDKCを仮想DKC(V−DKC:Virtual−Disk Controller)と呼ぶことがある。これらの仮想リソースと、それに割り当てられる実リソースとを区別するために、V−LDEVに割り当て可能なLDEVを実ボリューム(R−LDEV:Real−Logical Device)と呼び、V−DKCに割り当て可能なDKC500を実DKC(R−DKC:Real−Disk Controller)と呼ぶことがある。また、R−LDEVおよびV−LDEVを区別しない場合、それらをLDEVと呼ぶことがある。また、R−DKCおよびV−DKCを区別しない場合、それらをDKCと呼ぶことがある。また、ストレージ装置(X)内のR−DKCとストレージ装置(Y)内のR−DKCとを区別する場合、それぞれR−DKC(X)およびR−DKC(Y)と呼ぶことがある。本発明の表現において、DKC500をコントローラと呼び、ディスク900を記憶デバイスと呼ぶことがある。また、R−DKC(X)を第一コントローラと呼び、R−DKC(Y)を第二コントローラと呼び、R−DKC(X)に接続されているディスク900を第一記憶デバイスと呼び、R−DKC(Y)に接続されているディスク900を第二記憶デバイスと呼ぶことがある。
計算機システムの構成は、ストレージシステム300にストレージ装置400を追加することにより変化する。以下の説明においては、ストレージシステム300が一つのストレージ装置(X)だけを有し、且つストレージシステム300が仮想ストレージ装置をホスト計算機100へ提供していない構成を、非仮想化構成と呼ぶ。また、非仮想化構成のストレージシステム300にもう一つのストレージ装置(Y)が追加され、ストレージシステム300が仮想ストレージ装置をホスト計算機100へ提供する構成を、仮想化構成と呼ぶ。なお、一つのストレージ装置が、ホスト計算機100に接続されているR−DKC(X)と、それに接続されているディスク900と、ホスト計算機100およびR−DKC(X)に接続されているR−DKC(Y)と、それに接続されるディスク900とを含んでいても良い。例えば、ストレージ装置(X)内に、R−DKC(Y)と、それに接続されるディスク900とが追加され、ストレージ装置(X)が仮想ストレージ装置をホスト計算機100へ提供しても良い。
以下、非仮想化構成の計算機システムについて説明する。
図2は、非仮想化構成におけるLDEVの構成を示す。
非仮想化構成において、ホスト計算機100は、ホスト側変換情報117を必要としない。また、非仮想化構成において、R−DKC(X)は、DKC変換情報517を必要としない。
R−DKC(X)の制御プログラム512は、ディスク900の記憶媒体をR−LDEVに割り当て、R−LDEVを制御する。ここで、制御プログラム512は、ディスク900を用いるRAIDグループの記憶領域をR−LDEVに割り当てても良い。また、制御プログラム512は、シン・プロビジョニングの機能を用いて、ディスク900内の記憶領域のプールから、書き込みが発生した場合に記憶領域をR−LDEVに割り当てても良い。制御プログラム512は、ホスト計算機100からのコマンドを受け付けるR−LDEVであるコマンドデバイス(Command Device:CMD)を作成する。R−DKC(X)は、R−LDEVのペアを作成する。ペアのうち、コピー元となるR−LDEVをPVOL(Primary Volume)と呼び、コピー先となるR−LDEVをSVOL(Secondary Volume)と呼ぶ。
図3は、非仮想化構成における構成定義ファイル116を示す。
この図は、PVOLに対応する構成定義ファイル116である構成定義ファイル(P)と、SVOLに対応する構成定義ファイル116である構成定義ファイル(S)とを示す。一つの構成定義ファイル116は、一つのLDEVを示し、構成定義ファイル116におけるデバイスは、LDEVのペアを示す。構成定義ファイル116は、当該LDEVを示すインスタンス番号(#)610と、当該LDEVに対応するR−DKCのコマンドデバイスを示すコマンドデバイス情報620と、当該LDEVが属するペアの情報であるペア情報630と、当該LDEVと当該ペアを成すLDEVである相手先LDEVの識別子である相手先インスタンス番号(#)640とを含む。
コマンドデバイス情報620は、当該LDEVを制御可能なR−DKC毎のエントリを有する。一つのR−DKCのエントリは、当該R−DKCを識別するDKC番号(#)621と、ホスト計算機100から当該R−DKCのコマンドデバイスへのコマンドの宛先を示すデバイスファイル名622とを含む。デバイスファイル名622は、ホスト計算機100により認識できる形式で記述される。非仮想化構成におけるコマンドデバイス情報620は、一つのエントリを有する。ペア情報630は、当該ペアが属するデバイスグループを示すデバイスグループ名631と、当該ペアを示すデバイス名632と、当該ペアを制御するDKCを識別するDKC番号(#)633と、当該LDEVを識別するLDEV番号(#)634とを含む。デバイスグループ名631およびデバイス名632は、ユーザにより設定される。デバイスグループは、複数のデバイスを纏めて管理するために用いられる。当該ペアは、デバイスグループ名631およびデバイス名632の組み合わせにより識別される。DKC番号621およびDKC番号633は、例えば、当該DKCの製造番号(装置製番)である。なお、DKC番号、LDEV番号、インスタンス番号の代わりに、他の識別子が用いられても良い。
非仮想化構成において、一つの構成定義ファイル116は一つのR−LDEVを示し、デバイスはR−LDEVのペアを示す。すなわち、LDEV番号634は、R−LDEVを示し、DKC番号633は、R−DKCを示す。
このような構成定義ファイルによれば、V−LDEVのペアにおけるPVOLおよびSVOLを関連付けて管理することができる。
以下、非仮想化構成の計算機システムの動作について説明する。
ホスト計算機100において、UIプログラム111により、管理プログラム112に対してユーザコマンドが発行されると、管理プログラム112は、ストレージ指示処理を行う。ユーザコマンドは、管理プログラム112のためのコマンドであり、ストレージ装置400のためのストレージ管理コマンドに対応している。ストレージ管理コマンドは、ストレージ装置400内のR−LDEVを管理するコマンドであり、ストレージ装置400内のペアを管理するペア管理コマンドを含む。ペア管理コマンドは、ペアのR−LDEVを指定し、そのR−LDEVを対象とするペア管理処理をDKC500に指示する。ペア管理処理は、ペアの制御情報を変更するペア操作と、ペアの制御情報を変更しないペア参照などを含む。以下、ユーザコマンドがペア管理コマンドに対応する場合について説明するが、他のストレージ管理コマンドに対応する場合にも適用できる。
図4は、非仮想化構成のホスト計算機100におけるストレージ指示処理を示す。
非仮想化構成において、構成定義ファイル116のペア情報630は、デバイスグループ名およびデバイス名にR−LDEVのペアを関連付けている。ユーザコマンドは、対象となるペアである対象ペアのデバイスグループ名およびデバイス名を引数として指定する。
S110において管理プログラム112は、構成定義ファイル116のペア情報630を参照し、対象ペアのデバイスグループ名631およびデバイス名632から、対象ペアに属するLDEVである対象LDEVのLDEV番号634と、対象ペアに関連付けられている対象DKCのDKC番号633とを取得する。ここで、取得されるLDEV番号は、R−LDEV番号であり、取得されるDKC番号は、R−DKC番号である。対象DKCは、対象ペアを制御するDKC500である。
その後、S125において管理プログラム112は、構成定義ファイル116のコマンドデバイス情報620を参照し、取得されたR−DKC番号に対応するデバイスファイル名622を取得する。その後、S130において管理プログラム112は、取得された対象ペアのR−LDEV番号を引数として指定するペア管理コマンドを、取得されたデバイスファイル名を宛先として送信する。
その後、S140において管理プログラム112は、ペア管理コマンドに対する応答を対象DKCから受信し、その応答が正常応答であるか否かを判定する。
S140において応答が正常応答であると判定された場合(Yes)、S150において管理プログラム112は、正常応答時の処理を実行し、このフローを終了する。正常応答時の処理は、例えば、メッセージ作成、ログ出力などである。
S140において応答が異常応答であると判定された場合(No)、S170において管理プログラム112は、異常応答時の処理を実行し、このフローを終了する。異常応答時の処理は、例えば、内部リトライ、エラーメッセージ作成、ログ出力などである。
以上のフローによれば、管理プログラム112は、ユーザコマンドを、ペア管理コマンドに変換することができる。これにより、ユーザは、ユーザにより構成定義ファイルに設定されたデバイスグループ名およびデバイス名を、ユーザコマンドに用いることができ、管理が容易になる。
ストレージ指示処理に応じて、DKC500がホスト計算機100からペア管理コマンドを受信すると、制御プログラム512は、ストレージ制御処理を行う。
図5は、非仮想化構成のDKC500におけるストレージ制御処理を示す。
S330において制御プログラム512は、ペア管理コマンドにより指定されたR−LDEVに対し、ペア管理コマンドにより指定されたペア管理処理を実行する。その後、S340において制御プログラム512は、ペア管理処理の結果が正常であるか否かを判定する。例えば、ペア管理コマンドに指定されたパラメータに異常がある場合、ペア管理処理の結果が異常になる。
S340においてペア管理処理の結果が正常であると判定された場合(Yes)、S360において制御プログラム512は、ペア管理処理の結果を示すペア管理コマンドの応答を、ホスト計算機100へ送信し、このフローを終了する。
S340においてペア管理処理の結果が異常であると判定された場合(No)、S350において制御プログラム512は、異常の要因を特定し、特定された要因に対応するエラーコードを設定し、処理をS360へ移行させる。
以上のフローによれば、DKC500は、ホスト計算機100からの指示に応じて、ペア管理処理を実行することができる。また、ペア管理処理の結果が異常である場合、DKC500は、異常の要因を示すエラーコードをホスト計算機100へ通知することができる。
図6は、非仮想化構成におけるストレージ指示処理に基づく計算機システムの動作を示す。
この図は、ホスト計算機100のUIプログラム111と、ホスト計算機100の管理プログラム112と、R−DKC(X)の制御プログラム512との動作のシーケンスを示す。
S510においてホスト計算機100のUIプログラム111は、スクリプト115または入力部140からユーザコマンドを取得し、そのユーザコマンドを管理プログラム112へ発行する。
その後、S520において管理プログラム112は、構成定義ファイル116に基づいて、ユーザコマンドに示された対象ペアに属する対象LDEVのR−LDEVと、そのR−LDEVに対応するR−DKC(X)とを特定する。その後、S525において管理プログラム112は、構成定義ファイル116に基づいて、R−DKC(X)のコマンドデバイスを特定する。その後、S530において管理プログラム112は、対象R−LDEVの管理のためのペア管理コマンドを、R−DKC(X)のコマンドデバイスへ送信する。
その後、S560においてR−DKC(X)の制御プログラム512は、ホスト計算機100からのペア管理コマンドを受信し、対象R−LDEVに対してペア管理処理を行う。その後、S570において制御プログラム512は、ペア管理処理の結果を示す応答をホスト計算機100へ送信する。
その後、S580においてホスト計算機100の管理プログラム112は、R−DKC(X)からのペア管理処理の結果を受信し、UIプログラム111へ渡す。その後、S590においてUIプログラム111は、ペア管理処理の結果に応じた処理を実行し、このシーケンスを終了する。
以上のシーケンスによれば、ユーザコマンドにより指定された対象R−LDEVのペア管理処理を、対象R−LDEVに対応するR−DKC(X)に実行させることができる。
以下、仮想化構成の計算機システムについて説明する。
仮想化構成において、ストレージシステム300は、ホスト計算機100へV−DKC(Z)を提供し、R−DKC(X)およびR−DKC(Y)のいずれかをV−DKC(Z)に割り当てる。ここでは、ストレージシステム300がV−DKC(Z)およびV−LDEVを提供し、V−LDEVに対応するR−LDEVのデータをストレージ装置(X)からストレージ装置(Y)へコピーするデータ移行を行うとする。このデータ移行により、ストレージ装置(X)の負荷を分散させることができる。ストレージ装置(X)を有するストレージシステム300にストレージ装置(Y)を追加し、ストレージ装置(X)からストレージ装置(Y)へデータ移行を行うことは、スケールアウトとも呼ばれる。ストレージシステム300は、ホスト計算機100からのストレージ管理コマンドに応じてデータ移行を行っても良いし、ストレージ装置(X)の負荷など、ストレージシステム300の状態に基づいて、データ移行を行っても良い。
計算機システムにおいて、このデータ移行前またはデータ移行中の状態を状態Aとし、データ移行後でホスト側変換情報117の更新前の状態を状態Bとし、データ移行後でホスト側変換情報117の更新後の状態を状態Cとする。
図7は、仮想化構成の状態AにおけるV−LDEVおよびR−LDEVの構成を示す。
状態Aにおいて、制御プログラム512は、R−DKC(X)をV−DKC(Z)に割り当てている。制御プログラム512は更に、ストレージ装置(X)内のペアであるR−LDEV#0x2000(PVOL)およびR−LDEV#0x2001(SVOL)をそれぞれ、V−LDEV#0x1000(PVOL)およびV−LDEV#0x1001(SVOL)に割り当てている。
図8は、仮想化構成における構成定義ファイル116を示す。
この図は、PVOLに対応する構成定義ファイル116である構成定義ファイル(P)と、SVOLに対応する構成定義ファイル116である構成定義ファイル(S)とを示す。仮想化構成において、一つの構成定義ファイル116は一つのV−LDEVを示し、構成定義ファイル116におけるデバイスは、V−LDEVのペアを示す。すなわち、LDEV番号634は、V−LDEVを示し、DKC番号633は、V−DKCを示す。
仮想化構成におけるコマンドデバイス情報620は、複数のエントリを有する。非仮想化構成と比較すると、仮想化構成におけるコマンドデバイス情報620には、R−DKC(Y)のコマンドデバイスのデバイスファイル名が追加される。これにより、コマンドデバイス情報620は、V−DKCに割り当て可能なR−DKC(X)およびR−DKC(Y)のそれぞれのコマンドデバイスを示す。構成定義ファイル116内のペア情報630は、V−LDEVとV−DKCを示す。構成定義ファイル(P)内のペア情報630において、DKC番号633は、V−DKC(Z)の番号に変更され、LDEV番号634は、R−LDEV#0x2000の割当先であるV−LDEV#0x1000に変更される。同様に、構成定義ファイル(S)内のペア情報630において、DKC番号633は、V−DKC(Z)の番号に変更され、LDEV番号634は、R−LDEV#0x2001の割当先であるV−LDEV#0x1001に変更される。
非仮想化構成のストレージシステム300にストレージ装置(Y)を追加して仮想化構成のストレージシステム300に変更する場合、非仮想化構成におけるペアのデバイスグループ名およびデバイス名を、仮想化構成で対応するペアに設定することにより、非仮想化構成におけるスクリプト115を変更することなく仮想化構成で用いることができる。
仮想化構成において、制御プログラム512は、DKC側変換情報517を作成してメモリ510に保存する。更に管理プログラム112は、DKC側変換情報517に基づいてホスト側変換情報117を作成してメモリ510に保存する。例えば、管理プログラム112は、後述の変換情報要求コマンドをストレージ装置(X)およびストレージ装置(Y)へ送信することにより、DKC側変換情報517を受信し、受信されたDKC側変換情報517をマージすることにより、ホスト側変換情報117を作成する。
図9は、仮想化構成の状態Aにおけるホスト側変換情報117およびDKC側変換情報517を示す。
この図は、ホスト計算機100に格納されているホスト側変換情報117と、R−DKC(X)に格納されているDKC側変換情報517であるDKC側変換情報(X)と、R−DKC(Y)に格納されているDKC側変換情報517であるDKC側変換情報(Y)とを示す。
ホスト側変換情報117およびDKC側変換情報517のそれぞれは、R−LDEV毎のエントリを有する。一つのR−LDEVのエントリは、当該R−LDEVを識別するR−LDEV番号(#)711と、当該R−LDEVを制御するR−DKCを識別するR−DKC番号(#)712と、当該R−LDEVの割当先であるV−LDEVを識別するV−LDEV番号(#)713と、当該R−DKCの割当先であるV−DKCを識別するV−DKC番号(#)714とを含む。
状態Aにおいて、DKC側変換情報(X)は、V−LDEVのペアに対応するR−LDEVのペアを示す。状態Aにおいて、ストレージ装置(Y)におけるR−LDEV#0x5000(PVOL)およびR−LDEV#0x5001(SVOL)はV−LDEVに割り当てられていない。そのため、DKC側変換情報(Y)において、これらのR−LDEV番号に対応するV−LDEV番号は無い。
状態Aにおいて、ホスト側変換情報117は、DKC側変換情報(X)のエントリと、DKC側変換情報(Y)のエントリとを含む。すなわち、状態Aにおいて、ホスト側変換情報117は、DKC側変換情報(X)およびDKC側変換情報(Y)に整合している。
状態Aにおいて、制御プログラム512が、ストレージ装置(X)のR−LDEV#0x2000(PVOL)およびR−LDEV#0x2001(SVOL)から、ストレージ装置(Y)のR−LDEV#0x5000(PVOL)およびR−LDEV#0x5001(SVOL)へのデータ移行が実行したとする。更に制御プログラム512は、DKC側変換情報517を更新する。この状態を状態Bとする。
図10は、仮想化構成の状態BにおけるV−LDEVおよびR−LDEVの構成を示す。
状態Bにおいて、制御プログラム512は、R−DKC(Y)をV−DKC(Z)に割り当てている。制御プログラム512は更に、ストレージ装置(Y)内のペアであるR−LDEV#0x5000(PVOL)およびR−LDEV#0x5001(SVOL)をそれぞれ、V−LDEV#0x1000(PVOL)およびV−LDEV#0x1001(SVOL)に割り当てている。
図11は、仮想化構成の状態Bにおけるホスト側変換情報117およびDKC側変換情報517を示す。
状態Bにおいて、DKC側変換情報(Y)は、V−LDEVのペアに対応するR−LDEVのペアを示す。状態Bにおいて、ストレージ装置(X)におけるR−LDEV#0x2000(PVOL)およびR−LDEV#02001(SVOL)はV−LDEVに割り当てられていない。そのため、DKC側変換情報(X)において、これらのR−LDEV番号に対応するV−LDEV番号は無い。
状態Bにおいて、ホスト側変換情報117は更新されていないため、状態Aのホスト側変換情報117と同一である。すなわち、状態Bにおいて、ホスト側変換情報117は、DKC側変換情報(X)およびDKC側変換情報(Y)に整合している。
その後、管理プログラム112は、ストレージシステム300からDKC側変換情報(X)およびDKC側変換情報(Y)を取得し、DKC側変換情報(X)およびDKC側変換情報(Y)に基づいてホスト側変換情報117を更新する。この状態を状態Cとする。状態CにおけるV−LDEVおよびR−LDEVの構成も、状態Bと同様である。
図12は、仮想化構成の状態Cにおけるホスト側変換情報117およびDKC側変換情報517を示す。
状態Cにおいて、DKC側変換情報(X)およびDKC側変換情報(Y)は、状態Bと同一である。
状態Cにおいて、ホスト側変換情報117は、DKC側変換情報(X)のエントリと、DKC側変換情報(Y)のエントリとを含む。すなわち、状態Cにおいて、ホスト側変換情報117は、DKC側変換情報(X)およびDKC側変換情報(Y)に整合している。
以下、仮想化構成の計算機システムの動作について説明する。
図13は、仮想化構成のホスト計算機100におけるストレージ指示処理を示す。
状態Bにおいては、構成定義ファイル116のペア情報630により、デバイスグループ名およびデバイス名は、V−LDEVに関連付けられている。ユーザコマンドは、対象ペアのデバイスグループ名およびデバイス名を引数として指定する。
S210において管理プログラム112は、構成定義ファイル116のペア情報630を参照し、対象ペアのデバイスグループ名631およびデバイス名632から、対象ペアに属するLDEVである対象LDEVのLDEV番号634と、対象ペアに関連付けられている対象DKCのDKC番号633とを取得する。ここで、取得されるLDEV番号は、V−LDEV番号であり、取得されるDKC番号は、V−DKC番号である。
その後、S220において管理プログラム112は、ホスト側変換情報117を参照し、対象LDEVのV−LDEV番号713と対象DKCのV−DKC番号714とに関連付けられた、対象LDEVのR−LDEV番号711と対象DKCのR−DKC番号712とを取得する。
その後、S230において管理プログラム112は、構成定義ファイル116のコマンドデバイス情報620を参照し、取得されたR−DKC番号に対応するデバイスファイル名622を取得し、対象DKCのV−DKC番号、対象ペアのR−LDEV番号およびV−LDEV番号を引数群として指定するペア管理コマンドを、取得されたデバイスファイル名を宛先として送信する。
その後、S240において管理プログラム112は、ペア管理コマンドに対する応答を対象DKCから受信し、その応答が正常応答であるか否かを判定する。例えば、状態Bにおいて、応答は異常応答になる。
S240において応答が正常応答であると判定された場合(Yes)、S250において管理プログラム112は、正常応答時の処理を実行し、このフローを終了する。
S240において応答が異常応答であると判定された場合(No)、S260において管理プログラム112は、異常応答が引数群の異常を示しているか否かを判定する。例えば、異常応答に含まれるエラーコードが、引数群の異常に対応する場合、管理プログラム112は、異常応答が引数群の異常を示していると判定する。この場合、対象DKCは、引数群が対象DKC内のDKC変換情報517に一致しないため、引数群が誤りであると判定する。状態Bにおいて、R−DKC(X)からの応答は、引数群の異常を示す異常応答である。
S260において異常応答がホスト側変換情報117の異常を示していないと判定された場合(No)、S270において管理プログラム112は、異常応答時の処理を実行し、このフローを終了する。
S260において異常応答がホスト側変換情報117の異常を示していると判定された場合(Yes)、S280において管理プログラム112は、構成定義ファイル116に示されている全てのコマンドデバイスへ、DKC側変換情報517の内容である変換情報を要求する変換情報要求コマンドを送信する。変換情報要求コマンドは、対象LDEVに対応するV−LDEV番号およびR−LDEV番号を含む。DKC500は、変換情報要求コマンドに応じて、DKC側変換情報517のうち対象LDEVのV−LDEV番号およびR−LDEV番号の少なくとも何れかを含むエントリのみをホスト計算機100へ送信する。その後、S290において管理プログラム112は、コマンドデバイスから変換情報を受信し、受信された変換情報をマージすることにより、新たなホスト側変換情報117を作成してメモリ110へ保存し、処理をS220へ移行させる。
以上のフローによれば、ホスト計算機100は、データ移行の前後に関わらず、スクリプト115またはユーザはペア管理処理の対象ペアに対応するR−LDEVおよびR−DKCを特定することができる。これにより、ホスト計算機100は、R−LDEVを指定するペア管理コマンドをR−DKCへ送信することができる。また、ホスト側変換情報117が対象DKCのDKC側変換情報517と一致しない場合に、ホスト計算機100がDKC500へDKC側変換情報517の要求を送信することにより、ホスト側変換情報117を最新のDKC側変換情報517に整合させることができる。また、変換情報要求コマンドがDKC側変換情報517のうち対象LDEVを指定し、変換情報要求コマンドを受信したDKC500がDKC側変換情報517のうち対象LDEVに対応する変換情報のみを送信することにより、DKC500から送信される変換情報のサイズを抑えることができる。
ストレージ指示処理に応じて、DKC500がホスト計算機100からペア管理コマンドを受信すると、制御プログラム512は、ストレージ制御処理を行う。
図14は、仮想化構成のDKC500におけるストレージ制御処理を示す。
S410において制御プログラム512は、受信されたペア管理コマンドの引数に示されているV−DKC番号とV−LDEV番号とR−LDEV番号との組み合わせを引数群として取得する。その後、S420において制御プログラム512は、引数群がDKC側変換情報517と整合するか否かを判定する。例えば、制御プログラム512は、引数群に示されているV−DKC番号とV−LDEV番号とR−LDEV番号の組み合わせに一致するエントリが、DKC側変換情報517内にある場合、引数群がDKC側変換情報517と整合すると判定する。例えば、状態Aおよび状態Cにおいて、引数群はDKC側変換情報517と整合すると判例される。例えば、状態Bにおいて、引数群はDKC側変換情報517と整合しないと判例される。なお、引数群がV−DKC番号を含まず、V−LDEV番号とR−LDEV番号との組み合わせであっても良い。これにより、DKC500は、ホスト側変換情報117におけるV−LDEV番号とR−LDEV番号の関連付けを判定することができる。また、引数群がV−DKC番号を含むことにより、一つのDKC500が複数のコマンドデバイスを有している場合でも、R−LDEVに対応するコマンドデバイスを識別することができる。
S420において引数群がDKC側変換情報517と整合しないと判定された場合(No)、S450において制御プログラム512は、異常の要因として、引数群の異常に対応するエラーコードを設定する。その後、S460において制御プログラム512は、ペア管理処理の結果を示すペア管理コマンドの応答を、ホスト計算機100へ送信し、このフローを終了する。
S420において引数群がDKC側変換情報517と整合すると判定された場合(Yes)、S430において制御プログラム512は、ペア管理コマンドにより指定されたR−LDEVに対し、ペア管理コマンドにより指定されたペア管理処理を実行する。S440において制御プログラム512は、ペア管理処理の結果が正常であるか否かを判定する。
S440においてペア管理処理の結果が正常であると判定された場合(Yes)、制御プログラム512は、処理を前述のS460へ移行させる。
S440においてペア管理処理の結果が異常であると判定された場合(No)、S450において制御プログラム512は、異常の要因を示すエラーコードを設定し、処理を前述のS460へ移行させる。
以上のフローによれば、DKC500は、ペア管理コマンドに指定された情報がDKC側変換情報517に含まれていない場合、ホスト側変換情報117がDKC変換情報517と整合していないことをホスト計算機100へ通知することができる。また、DKC500は、ホスト側変換情報117がDKC変換情報517と整合していることを確認し、ペア管理処理を行うことができる。
図15は、各状態におけるペア管理コマンドの引数群を示す。
この図は、状態A、状態B、状態Cのそれぞれにおける、ペア管理コマンドの引数群810、DKC側変換情報(X)、DKC側変換情報(Y)を示す。ペア管理コマンドの引数群810は、V−DKC番号(#)811とV−LDEV番号(#)812とR−LDEV番号(#)814の組み合わせについて、PVOLに対応する組み合わせと、SVOLに対応する組み合わせとを含む。
状態Aにおいて、管理プログラム112は、ホスト側変換情報117に基づいて、V−DKC(Z)に割り当てられているR−DKCがR−DKC(X)であると認識し、ペア管理コマンドをR−DKC(X)へ送信する。前述の状態AにおけるDKC側変換情報(X)は、V−DKC番号711とV−LDEV番号712とR−LDEV番号714の組み合わせが、引数群810のV−DKC番号811とV−LDEV番号812とR−LDEV番号813とにそれぞれ一致するエントリを含む。したがって、制御プログラム512は、正常応答をホスト計算機100へ送信する。
状態Bにおいて、管理プログラム112は、ホスト側変換情報117に基づいて、V−DKC(Z)に割り当てられているR−DKCがR−DKC(X)であると認識し、ペア管理コマンドをR−DKC(X)へ送信する。前述の状態BにおけるDKC側変換情報(X)は、V−DKC番号711とV−LDEV番号712とR−LDEV番号714の組み合わせが、引数群810のV−DKC番号811とV−LDEV番号812とR−LDEV番号813とにそれぞれ一致するエントリを含まない。したがって、制御プログラム512は、引数群810が異常であることを示す異常応答をホスト計算機100へ送信する。
状態Cにおいて、管理プログラム112は、ホスト側変換情報117に基づいて、V−DKC(Z)に割り当てられているR−DKCがR−DKC(Y)であると認識し、ペア管理コマンドをR−DKC(Y)へ送信する。前述の状態CにおけるDKC側変換情報(Y)は、V−DKC番号711とV−LDEV番号712とR−LDEV番号714の組み合わせが、引数群810のV−DKC番号811とV−LDEV番号812とR−LDEV番号813とにそれぞれ一致するエントリを含む。したがって、制御プログラム512は、正常応答をホスト計算機100へ送信する。
ペア管理コマンドを受信したDKC500がペア管理コマンドの引数群を判定することにより、ホスト計算機100は、データ移行後に、ホスト側変換情報117がDKC側変換情報517と整合していない状態を認識することができる。
図16は、仮想化構成の状態Aにおけるストレージ指示処理に基づく計算機システムの動作を示す。
この図は、ホスト計算機100のUIプログラム111と、ホスト計算機100の管理プログラム112と、R−DKC(X)の制御プログラム512と、R−DKC(Y)の制御プログラム512との動作のシーケンスを示す。
S610においてホスト計算機100のUIプログラム111は、スクリプト115または入力部140からユーザコマンドを取得し、そのユーザコマンドを管理プログラム112へ発行する。
その後、S620において管理プログラム112は、構成定義ファイル116およびホスト側変換情報117に基づいて、ユーザコマンドに指定された対象ペアに属する対象LDEVのV−LDEVと、そのV−LDEVに対応するR−LDEVと、そのR−LDEVに対応するR−DKC(X)とを特定する。その後、S625において管理プログラム112は、R−DKC(X)のコマンドデバイスを特定する。その後、S630において管理プログラム112は、ユーザコマンドに対応するペア管理コマンドを、R−DKC(X)のコマンドデバイスへ送信する。
その後、S640においてR−DKC(X)の制御プログラム512は、ホスト計算機100からのペア管理コマンドを受信し、ペア管理コマンドの引数とDKC側変換情報(X)を比較する。ここでは、ペア管理コマンドの引数とDKC側変換情報(X)の間で、V−DKC番号、R−DKC番号、R−LDEV番号の全てが一致しているとする。この場合、S660において制御プログラム512は、ペア管理コマンドに応じてペア管理処理を行う。その後、S670において制御プログラム512は、ペア管理処理の結果を示す応答をホスト計算機100へ送信する。
その後、S680においてホスト計算機100の管理プログラム112は、R−DKC(X)からの応答を受信し、応答の内容をUIプログラム111へ渡す。
その後、S690においてUIプログラム111は、ペア管理処理の結果に応じた処理を実行し、このシーケンスを終了する。
以上のシーケンスによれば、ユーザコマンドにより指定されたV−LDEVに対応するR−LDEVのペア管理処理を、対応するR−DKC(X)に実行させることができる。
図17は、仮想化構成の状態Bにおけるストレージ指示処理に基づく計算機システムの動作を示す。
この図は、ホスト計算機100のUIプログラム111と、ホスト計算機100の管理プログラム112と、R−DKC(X)の制御プログラム512と、R−DKC(Y)の制御プログラム512との動作のシーケンスを示す。
S610〜S640は、状態Aと同様である。状態Bにおいては、ペア管理コマンドの引数とDKC側変換情報(X)の間で、V−DKC番号、R−DKC番号、R−LDEV番号の組み合わせが一致しない。この場合、S770において制御プログラム512は、ペア管理処理の結果が異常であることを示す応答をホスト計算機100へ送信する。
その後、S780においてホスト計算機100の管理プログラム112は、R−DKC(X)からの応答を受信し、応答の内容を判定する。状態Bにおいては、応答がホスト側変換情報117の異常を示す。
その後、S810において管理プログラム112は、構成定義ファイル116に基づいて、ペア管理コマンドの対象LDEVに関連付けられている全てのコマンドデバイスを特定し、特定されたコマンドデバイスへ、対象LDEVを指定する変換情報要求コマンドを送信する。ここで管理プログラム112は、R−DKC(X)のコマンドデバイスとR−DKC(Y)のコマンドデバイスとへ、変換情報要求コマンドを送信する。
その後、S820においてR−DKC(X)およびR−DKC(Y)のそれぞれの制御プログラム512は、DKC側変換情報517のうち対象LDEVに関連する変換情報をホスト計算機100へ送信する。
その後、S830においてホスト計算機100の管理プログラム112は、R−DKC(X)およびR−DKC(Y)から変換情報を受信し、受信された変換情報をマージすることによりホスト側変換情報117を更新する。これにより、計算機システムの状態は、状態Cとなる。
その後、S920において、管理プログラム112は、構成定義ファイル116およびホスト側変換情報117に基づいて、ユーザコマンドに指定された対象ペアに属する対象LDEVのV−LDEVと、そのV−LDEVに対応するR−LDEVと、そのR−LDEVに対応するR−DKC(Y)とを特定する。その後、S925において管理プログラム112は、R−DKC(Y)のコマンドデバイスを特定する。その後、S930において管理プログラム112は、ユーザコマンドに対応するペア管理コマンドを、R−DKC(Y)のコマンドデバイスへ送信する。
その後、S940においてR−DKC(Y)の制御プログラム512は、ホスト計算機100からのペア管理コマンドを受信する。その後、S950において制御プログラム512は、ペア管理コマンドの引数とDKC側変換情報(Y)を比較する。状態Cにおいては、ペア管理コマンドの引数とDKC側変換情報(Y)の間で、V−DKC番号、R−DKC番号、R−LDEV番号の組み合わせが一致している。この場合、S960において制御プログラム512は、対象のR−LDEVに対してペア管理コマンドに対応するペア管理処理を行う。その後、S970において制御プログラム512は、ペア管理処理の結果が正常であることを示す応答をホスト計算機100へ送信する。
その後、S980においてホスト計算機100の管理プログラム112は、R−DKC(Y)からの応答を受信し、応答の内容をUIプログラム111へ渡す。
その後、S990においてUIプログラム111は、ペア管理処理の結果に応じた処理を実行し、このシーケンスを終了する。
以上のシーケンスによれば、状態Bのようにホスト側変換情報117がDKC側変換情報(X)およびDKC側変換情報(Y)と一致していない場合、ホスト計算機100がR−DKC(X)およびR−DKC(Y)から変換情報を取得することにより、ホスト側変換情報117がDKC側変換情報(X)およびDKC側変換情報(Y)に整合させることができる。これにより、その後のホスト計算機100は、ペア管理コマンドを正しいコマンドデバイスへ送信することができる。
本実施例によれば、ホスト計算機100のユーザは、データ移行の前後でスクリプト115および構成定義ファイル116を変更することなく、V−DKC(Z)およびV−LDEVへのアクセスを継続することができる。これにより、ユーザは、ホスト計算機100により実行されているアプリケーションを停止することなく、ストレージ装置(X)からストレージ装置(Y)へのデータ移行を行うことができる。
本実施例では、ホスト計算機100がストレージシステム300からDKC側変換情報517の内容を定期的に取得する例について説明する。本実施例の計算機システムの構成は、実施例1と同様である。
図18は、実施例2のポーリング処理を示す。
この図は、ホスト計算機100のUIプログラム111と、ホスト計算機100の管理プログラム112と、R−DKC(X)の制御プログラム512と、R−DKC(Y)の制御プログラム512との動作のシーケンスを示す。
S1110においてホスト計算機100の管理プログラム112は、構成定義ファイル116に示されている全てのコマンドデバイスを特定し、特定されたコマンドデバイスへ変換情報要求コマンドを送信する。
S1120においてR−DKC(X)およびR−DKC(Y)のそれぞれの制御プログラム512は、DKC側変換情報517のうち全てのV−LDEVに関連する変換情報としてホスト計算機100へ送信する。
S1130においてホスト計算機100の管理プログラム112は、R−DKC(X)およびR−DKC(Y)のそれぞれから変換情報を受信し、受信された変換情報をマージすることによりホスト側変換情報117を更新する。
以上がポーリング処理である。以後、管理プログラム112は、予め定められた時間が経過する度に、このポーリング処理を実行する。
状態Aにおいてポーリング処理が実行された後、S1150においてR−DKC(X)およびR−DKC(Y)がR−DKC(X)からR−DKC(Y)へデータを移行させるデータ移行処理を実行したとする。これにより、計算機システムの状態は状態Bへ遷移する。その後、ポーリング処理が実行されると、計算機システムの状態は状態Cへ遷移する。
このポーリング処理によれば、ホスト計算機100は、ユーザコマンドを受けていない場合でも、定期的にホスト側変換情報117をDKC側変換情報517に整合させることができる。これにより、ホスト計算機100がストレージシステム300へペア管理コマンドを送信するときに、ホスト側変換情報117がDKC側変換情報517と整合しないことにより処理が遅延するケースを、低減することができる。
本実施例では、ストレージシステム300がデータ移行の完了をホスト計算機100へ通知することに応じて、ホスト計算機100がストレージシステム300からDKC側変換情報517の内容を取得する例について説明する。本実施例の計算機システムの構成は、実施例1と同様である。
図19は、実施例3のデータ移行完了処理を示す。
この図は、ホスト計算機100のUIプログラム111と、ホスト計算機100の管理プログラム112と、R−DKC(X)の制御プログラム512と、R−DKC(Y)の制御プログラム512との動作のシーケンスを示す。
状態AのS1200においてR−DKC(X)およびR−DKC(Y)がR−DKC(X)からR−DKC(Y)へのデータ移行処理を実行する。これにより、計算機システムの状態は状態Bへ遷移する。このデータ移行が完了すると、S1210においてR−DKC(X)およびR−DKC(Y)のそれぞれの制御プログラム512は、対象のV−LDEVのデータ移行の完了を示す完了通知をホスト計算機100へ送信する。なお、R−DKC(X)およびR−DKC(Y)の何れかの制御プログラム512が、完了通知をホスト計算機100へ送信しても良い。
S1310においてホスト計算機100の管理プログラム112は、構成定義ファイル116に基づいて、対象のV−LDEVに関連する全てのコマンドデバイスを特定し、特定されたコマンドデバイスへ、対象のV−LDEVを指定する変換情報要求コマンドを送信する。ここで管理プログラム112は、R−DKC(X)のコマンドデバイスとR−DKC(Y)のコマンドデバイスとへ、変換情報要求コマンドを送信する。
S1320においてR−DKC(X)およびR−DKC(Y)のそれぞれの制御プログラム512は、DKC側変換情報517のうち対象のV−LDEVに関連する変換情報をホスト計算機100へ送信する。
S1330においてホスト計算機100の管理プログラム112は、R−DKC(X)およびR−DKC(Y)のそれぞれから変換情報を受信し、受信された変換情報をマージすることによりホスト側変換情報117を更新する。これにより、計算機システムの状態は状態Cへ遷移する。
以上がデータ移行完了処理である。
なお、完了通知は、DKC側変換情報517のうち対象のV−LDEVに関連する変換情報を含んでいても良い。
このデータ移行完了処理によれば、ホスト計算機100は、完了通知を受信することにより、DKC変換情報517が変化したことを認識できる。これにより、ホスト計算機100は、ユーザコマンドを受けていない場合でも、定期的にホスト側変換情報117をDKC側変換情報517に整合させることができる。これにより、ホスト側変換情報117がDKC側変換情報517と整合していない時間を低減することができる。
なお、計算機システムは、以上の複数の実施例の何れかの組み合わせであっても良い。
本発明の表現のための用語について説明する。ストレージシステムは、ストレージシステム300などに対応する。ホスト計算機は、ホスト計算機100などに対応する。第一コントローラは、DKC500であるR−DKC(X)などに対応する。第二コントローラは、DKC500であるR−DKC(Y)などに対応する。第一記憶デバイスは、ストレージ装置(X)内のディスク900などに対応する。第二記憶デバイスは、ストレージ装置(Y)内のディスク900などに対応する。第一論理記憶領域は、R−LDEV#0x2000、0x2001のペアなどに対応する。第二論理記憶領域は、R−LDEV#0x5000、0x5001のペアなどに対応する。特定仮想記憶領域は、V−LDEV#0x1000、0x1001のペアなどに対応する。第一関連情報は、DKC側変換情報517であるDKC側変換情報(X)などに対応する。第二関連情報は、DKC側変換情報517であるDKC側変換情報(Y)などに対応する。管理コマンドは、ストレージ管理コマンドまたはペア管理コマンドなどに対応する。変換情報は、ホスト側変換情報117などに対応する。
本発明は、以上の実施例に限定されるものでなく、その趣旨から逸脱しない範囲で、他の様々な形に変更することができる。
100…ホスト計算機 110…メモリ 111…UIプログラム 112…管理プログラム 115…スクリプト 116…構成定義ファイル 117…ホスト側変換情報 120…CPU 130…HBA 140…入力部 150…出力部 300…ストレージシステム 400…ストレージ装置 500…DKC 510…メモリ 511…制御プログラム 517…DKC側変換情報 520…MP 530…CHA 540…DKA 900…ディスク

Claims (10)

  1. 第一記憶デバイスと、
    ホスト計算機および前記第一記憶デバイスに接続されている第一コントローラと、
    第二記憶デバイスと、
    前記ホスト計算機、前記第二記憶デバイス、および前記第一コントローラに接続されている第二コントローラと、
    を備え、
    前記第一コントローラは、前記第一記憶デバイスに基づく第一論理記憶領域を制御し、前記第一論理記憶領域を仮想記憶領域である特定仮想記憶領域に割り当て、前記特定仮想記憶領域および前記第一論理記憶領域を示す第一関連情報を記憶し、前記第一関連情報を前記ホスト計算機へ送信し、
    前記第二コントローラは、前記第二記憶デバイスに基づく第二論理記憶領域を制御し、
    前記第一コントローラおよび前記第二コントローラは、前記第一論理記憶領域から前記第二論理記憶領域へのデータ移行を行い、
    前記第一コントローラは、前記特定仮想記憶領域への前記第一論理記憶領域の割り当てを解除し、前記解除を前記第一関連情報に反映し、
    前記第二コントローラは、前記第二論理記憶領域を前記特定仮想記憶領域に割り当て、前記特定仮想記憶領域および前記第二論理記憶領域を示す第二関連情報を記憶し、前記第二関連情報を前記ホスト計算機へ送信し、
    前記ホスト計算機により、前記第一関連情報および前記第二関連情報に基づいて、前記特定仮想記憶領域に割り当てられている論理記憶領域である特定論理記憶領域と、前記特定論理記憶領域を制御するコントローラである特定コントローラとが特定され、前記特定仮想記憶領域および前記特定論理記憶領域を示す管理コマンドが、前記特定コントローラへ送信され、
    前記第一コントローラは、前記管理コマンドを受信した場合、前記管理コマンドに示されている前記特定仮想記憶領域および前記特定論理記憶領域の組み合わせが前記第一関連情報に含まれているか否かを判定し、前記組み合わせが前記第一関連情報に含まれていないと判定された場合、前記組み合わせが誤りであることを示す異常応答を前記ホスト計算機へ送信する
    トレージシステム。
  2. 前記第一コントローラは、前記組み合わせが前記第一関連情報に含まれていると判定された場合、前記管理コマンドに示されている論理記憶領域に対し前記管理コマンドに対応する処理を行う、
    請求項に記載のストレージシステム。
  3. 前記第一コントローラは、仮想記憶領域および論理記憶領域の関連付けを示す情報を要求する要求コマンドを前記ホスト計算機から受信した場合、前記第一関連情報を前記ホスト計算機へ送信する、
    前記第二コントローラは、前記要求コマンドを前記ホスト計算機から受信した場合、前記第二関連情報を前記ホスト計算機へ送信する、
    請求項に記載のストレージシステム。
  4. 前記特定仮想記憶領域は、仮想ボリュームのペアであり、
    前記第一論理記憶領域および前記第二論理記憶領域の夫々は、論理ボリュームのペアであり、
    前記管理コマンドは、前記仮想ボリュームのペアの管理を示すコマンドである、
    請求項に記載のストレージシステム。
  5. 前記第一関連情報は、前記特定仮想記憶領域と、前記第一論理記憶領域と、前記特定仮想記憶領域に関連付けられている仮想コントローラを示し、
    前記組み合わせは、前記特定仮想記憶領域と前記特定論理記憶領域と前記仮想コントローラとを示す、
    請求項に記載のストレージシステム。
  6. 前記異常応答に応じて、前記ホスト計算機により前記要求コマンドが前記第一コントローラおよび前記第二コントローラへ送信される、
    請求項に記載のストレージシステム。
  7. 前記データ移行の完了に応じて、前記第一コントローラおよび前記第二コントローラの何れかは、前記データ移行の完了を示す完了通知を前記ホスト計算機へ送信する、
    請求項に記載のストレージシステム。
  8. 前記完了通知に応じて、前記ホスト計算機により前記要求コマンドが前記第一コントローラおよび前記第二コントローラへ送信される、
    請求項に記載のストレージシステム。
  9. 前記ホスト計算機により前記要求コマンドが前記第一コントローラおよび前記第二コントローラへ定期的に送信される、
    請求項に記載のストレージシステム。
  10. 一コントローラにより、第一記憶デバイスに基づく第一論理記憶領域を制御し、前記第一論理記憶領域を仮想記憶領域である特定仮想記憶領域に割り当て、前記特定仮想記憶領域および前記第一論理記憶領域を示す第一関連情報を記憶し、前記第一関連情報をホスト計算機へ送信し
    二コントローラにより、第二記憶デバイスに基づく第二論理記憶領域を制御し、
    前記第一コントローラおよび前記第二コントローラにより、前記第一論理記憶領域から前記第二論理記憶領域へのデータ移行を行い、
    前記第一コントローラにより、前記特定仮想記憶領域への前記第一論理記憶領域の割り当てを解除し、前記解除を前記第一関連情報に反映し、
    前記第二コントローラにより、前記第二論理記憶領域を前記特定仮想記憶領域に割り当て、前記特定仮想記憶領域および前記第二論理記憶領域を示す第二関連情報を記憶し、前記第二関連情報を前記ホスト計算機へ送信
    前記ホスト計算機により、前記第一関連情報および前記第二関連情報を受信し、前記第一関連情報および前記第二関連情報に基づくホスト側変換情報を記憶し、前記ホスト側変換情報に基づいて、前記特定仮想記憶領域と、前記特定仮想記憶領域に割り当てられている論理記憶領域である特定論理記憶領域と、前記特定論理記憶領域を制御するコントローラである特定コントローラとを特定し、前記特定仮想記憶領域および前記特定論理記憶領域を示す管理コマンドを、前記特定コントローラへ送信
    前記第一コントローラは、前記管理コマンドを受信した場合、前記管理コマンドに示されている前記特定仮想記憶領域および前記特定論理記憶領域の組み合わせが前記第一関連情報に含まれているか否かを判定し、前記組み合わせが前記第一関連情報に含まれていないと判定された場合、前記組み合わせが誤りであることを示す異常応答を前記ホスト計算機へ送信する、
    ことを備えるストレージ制御方法。
JP2016507202A 2014-03-13 2014-03-13 ストレージシステムおよびストレージ制御方法 Active JP6216866B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2014/056671 WO2015136665A1 (ja) 2014-03-13 2014-03-13 ストレージシステム、ストレージ制御方法、および計算機システム

Publications (2)

Publication Number Publication Date
JPWO2015136665A1 JPWO2015136665A1 (ja) 2017-04-06
JP6216866B2 true JP6216866B2 (ja) 2017-10-18

Family

ID=54071142

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016507202A Active JP6216866B2 (ja) 2014-03-13 2014-03-13 ストレージシステムおよびストレージ制御方法

Country Status (3)

Country Link
US (1) US10025525B2 (ja)
JP (1) JP6216866B2 (ja)
WO (1) WO2015136665A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6472901B2 (ja) * 2016-01-05 2019-02-20 株式会社日立製作所 ストレージ装置および記録媒体

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4646526B2 (ja) * 2004-02-18 2011-03-09 株式会社日立製作所 記憶制御システム及び同システムの制御方法
JP4568574B2 (ja) 2004-10-15 2010-10-27 株式会社日立製作所 ストレージ装置の導入方法、プログラム並びに管理計算機
US7702851B2 (en) 2005-09-20 2010-04-20 Hitachi, Ltd. Logical volume transfer method and storage network system
JP4955996B2 (ja) 2005-09-20 2012-06-20 株式会社日立製作所 ボリューム移行方法およびストレージネットワークシステム
JP2007102439A (ja) * 2005-10-04 2007-04-19 Hitachi Ltd ストレージシステム及びライセンス管理方法
JP2009043030A (ja) * 2007-08-09 2009-02-26 Hitachi Ltd ストレージシステム
JP2009146106A (ja) 2007-12-13 2009-07-02 Hitachi Ltd 物理的な通信ポートに付加される仮想的な通信ポートを移行する機能を有したストレージシステム
JP5159353B2 (ja) * 2008-02-08 2013-03-06 株式会社日立製作所 記憶システム、解除方法及び副側のストレージ装置
JP5199464B2 (ja) * 2009-01-20 2013-05-15 株式会社日立製作所 ストレージシステム及びストレージシステムの制御方法
US8473947B2 (en) * 2010-01-18 2013-06-25 Vmware, Inc. Method for configuring a physical adapter with virtual function (VF) and physical function (PF) for controlling address translation between virtual disks and physical storage regions
WO2012147123A1 (en) * 2011-04-26 2012-11-01 Hitachi, Ltd. Storage apparatus and control method therefor
US20130238852A1 (en) * 2012-03-07 2013-09-12 Hitachi, Ltd. Management interface for multiple storage subsystems virtualization

Also Published As

Publication number Publication date
WO2015136665A1 (ja) 2015-09-17
US10025525B2 (en) 2018-07-17
US20170010839A1 (en) 2017-01-12
JPWO2015136665A1 (ja) 2017-04-06

Similar Documents

Publication Publication Date Title
US9606745B2 (en) Storage system and method for allocating resource
US9489274B2 (en) System and method for performing efficient failover and virtual machine (VM) migration in virtual desktop infrastructure (VDI)
WO2016199232A1 (ja) ストレージ管理計算機、及びストレージ装置の管理方法
US20130290541A1 (en) Resource management system and resource managing method
WO2014167716A1 (ja) 計算機システムの管理システム及び管理方法
WO2021018267A1 (zh) 虚拟机热迁移方法和通信设备
JP2006085543A (ja) 仮想計算機システム
JP2013206229A (ja) アクセス制御方法、サーバ装置およびストレージ装置
US10592268B2 (en) Management computer and resource management method configured to combine server resources and storage resources and allocate the combined resources to virtual machines
JP2008226040A (ja) 情報処理装置及びコマンド多重度制御方法
US9081509B2 (en) System and method for managing a physical storage system and determining a resource migration destination of a physical storage system based on migration groups
WO2016056060A1 (ja) 計算機及びベクタの設定方法
JP5470594B2 (ja) 計算機システム及びストレージ・ボリューム管理方法
JP6390281B2 (ja) 情報処理装置、ストレージ制御装置、情報処理プログラム、ストレージ制御プログラムおよび情報処理システム
US8543779B2 (en) Management system and management method for managing computer system
JP6216866B2 (ja) ストレージシステムおよびストレージ制御方法
US10013216B2 (en) Storage system
JP2014035767A (ja) I/oデバイス、i/o管理部及びi/oデバイスの管理方法
JP6072255B2 (ja) ストレージシステム、ストレージシステムの制御方法及び管理システム
WO2016059692A1 (ja) 計算機及びi/o処理の制御方法
US11755438B2 (en) Automatic failover of a software-defined storage controller to handle input-output operations to and from an assigned namespace on a non-volatile memory device
WO2016092667A1 (ja) 計算機及び割込み制御方法
WO2017056208A1 (ja) リクエスト実行順序制御方式
US10628349B2 (en) I/O control method and I/O control system
JP6164125B2 (ja) 印刷制御システム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170509

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170705

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: 20170919

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170925

R150 Certificate of patent or registration of utility model

Ref document number: 6216866

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