JP2017111580A - 制御装置、管理装置、ストレージシステム、制御プログラム、管理プログラム、制御方法、および管理方法 - Google Patents

制御装置、管理装置、ストレージシステム、制御プログラム、管理プログラム、制御方法、および管理方法 Download PDF

Info

Publication number
JP2017111580A
JP2017111580A JP2015244630A JP2015244630A JP2017111580A JP 2017111580 A JP2017111580 A JP 2017111580A JP 2015244630 A JP2015244630 A JP 2015244630A JP 2015244630 A JP2015244630 A JP 2015244630A JP 2017111580 A JP2017111580 A JP 2017111580A
Authority
JP
Japan
Prior art keywords
storage area
error
state
storage
control device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2015244630A
Other languages
English (en)
Other versions
JP6668733B2 (ja
Inventor
一範 小橋
Kazunori Kobashi
一範 小橋
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2015244630A priority Critical patent/JP6668733B2/ja
Priority to US15/286,632 priority patent/US10157111B2/en
Publication of JP2017111580A publication Critical patent/JP2017111580A/ja
Application granted granted Critical
Publication of JP6668733B2 publication Critical patent/JP6668733B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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/2084Error 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 on the same storage unit
    • 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/2087Error 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 with a common controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/815Virtual

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Retry When Errors Occur (AREA)
  • Hardware Redundancy (AREA)
  • Computer Security & Cryptography (AREA)

Abstract

【課題】入出力処理のエラーの発生から再開までの時間を抑えること。【解決手段】I/Oエラーが発生した第1記憶領域103がrwモードである場合、制御装置102は、図1の(rw_a1)で示すように、I/Oエラー情報121を管理装置101に通知する。次に、制御装置102は、図1の(rw_a2)で示すように、I/Oエラー情報121と状態情報113とに基づいて、第1記憶領域103および第2記憶領域104の状態を判定する。そして、制御装置102は、判定した状態に基づいて、I/O処理の再開またはI/O処理の中止を行う。一方、第1記憶領域103がroモードである場合、図1の(ro_a1)で示すように、制御装置102は、I/O先を第2記憶領域104に切り替え、I/O処理を再開する。そして、制御装置102は、図1の(ro_a2)で示すように、I/Oエラー情報121を管理装置101に通知する。【選択図】図1

Description

本発明は、制御装置、管理装置、ストレージシステム、制御プログラム、管理プログラム、制御方法、および管理方法に関する。
従来、物理的な記憶装置のボリューム構成や記憶容量に縛られることなく、自由なボリューム構成、記憶容量の記憶装置を実現することができるストレージシステムとして、仮想化環境向けストレージ、いわゆる仮想化ストレージ装置がある。仮想化ストレージ装置は、装置内部に物理的な記憶装置に対するアクセスを制御する実ストレージを有し、実ストレージを管理するプロセッサ装置により仮想的なボリュームを作成する。
仮想的なボリュームは、仮想化ストレージ装置内のプロセッサ装置上に形成され、実ストレージ上の物理的な記憶領域との対応付けが行われる。また、複数のプロセッサ装置のうちエージェントとなるプロセッサ装置は、ドライバの制御およびエラーなどのイベントを監視し、マネージャとなるプロセッサ装置への通知を行う。マネージャとなるプロセッサ装置は、仮想化ストレージ装置内の一つのプロセッサ装置に存在し、仮想的なボリュームの構成情報や状態などを管理すると共に、各エージェントを制御する役割を担う。
また、仮想化ストレージ装置では、データを格納する実ストレージに障害が発生した状況を想定して、例えば、仮想的なボリュームを形成するセグメントをミラーリングしている。セグメントは、実ストレージのLUN(Logical Unit Number)から切り出した、一定の大きさの領域である。仮想化ストレージ装置は、障害発生時に、障害が発生したLUNに属するセグメントから、別LUNに属するよう割り当てられているミラー先のセグメントを経由してアクセスを継続することで、ストレージとしての可用性を向上させている。
関連する先行技術として、例えば、ストレージのI/O処理のエラーを検出した際にストレージが閉塞状態であればI/O処理の再開処理を行い、ストレージが閉塞状態でなく、かつエラーの発生頻度が所定値以上の場合、ストレージの閉塞処理を行うものがある。また、仮想ボリュームを提供するプールの複製を、プールを形成するボリューム単位で行い、物理デバイスが閉塞した際、プール内で閉塞したボリュームを複製ボリュームに切り替える技術がある。
特開2014−215990号公報 特開2010−092259号公報
しかしながら、従来技術によれば、ストレージシステム内の実ストレージに対する入出力処理のエラーの発生から、入出力再開までの時間が増大する場合がある。例えば、エラーが発生した実ストレージを利用するエージェントの数が多くなるにつれて、マネージャに通知される入出力処理のエラーが多くなり、マネージャによる入出力処理のエラーに対する処理にかかる時間が増大することになる。そして、マネージャによる入出力処理のエラーに対する処理にかかる時間が増大した結果、入出力要求のタイムアウト時間を超えてしまう場合がある。
1つの側面では、本発明は、入出力処理のエラーの発生から再開までの時間を抑えることができる制御装置、管理装置、ストレージシステム、制御プログラム、管理プログラム、制御方法、および管理方法を提供することを目的とする。
本発明の一側面によれば、第1記憶領域および第1記憶領域の記憶内容がミラーリングされる第2記憶領域の状態を管理する管理装置から受信した状態を示す状態情報に基づいて第1記憶領域または第2記憶領域に入出力処理を実行する制御装置であって、第1記憶領域に対してリードおよびライトが可能である場合、入出力処理による第1記憶領域のエラーを検出したことに応じて、エラーを管理装置に通知し、エラーと状態情報とに基づき第1記憶領域および第2記憶領域の状態を判定し、判定した当該状態に応じて第2記憶領域に入出力処理を実行するか入出力処理を中止し、第1記憶領域に対してリードが可能でありライトが可能でない場合、エラーを検出したことに応じて、第2記憶領域に入出力処理を実行し、エラーを管理装置に通知する制御装置、制御方法、および制御プログラムが提案される。
また、本発明の他の側面によれば、第1記憶領域および第1記憶領域の記憶内容がミラーリングされる第2記憶領域の状態を示す状態情報を記憶する管理装置であって、第1記憶領域または第2記憶領域に入出力処理を実行する制御装置から所定時間経過する間に受け付けたエラーと状態情報とに基づいて、第1記憶領域および第2記憶領域の状態を判定し、判定した判定後の状態を示す判定後の状態情報を、制御装置に送信する管理装置、管理方法、および管理プログラムが提案される。
また、本発明の他の側面によれば、第1記憶領域および第1記憶領域の記憶内容がミラーリングされる第2記憶領域の状態を示す状態情報を記憶する管理装置と、管理装置から受信した状態情報に基づいて第1記憶領域または第2記憶領域に入出力処理を実行する制御装置とを含むストレージシステムであって、制御装置は、第1記憶領域に対してリードおよびライトが可能である場合、入出力処理による第1記憶領域のエラーを検出したことに応じて、エラーを管理装置に通知し、エラーと制御装置が受信した状態情報とに基づき第1記憶領域および第2記憶領域の状態を判定し、判定した当該状態に応じて第2記憶領域に入出力処理を実行するか入出力処理を中止し、第1記憶領域に対してリードが可能でありライトが可能でない場合、エラーを検出したことに応じて、第2記憶領域に入出力処理を実行し、エラーを管理装置に通知し、管理装置は、制御装置から所定時間経過する間に受け付けたエラーと管理装置が記憶する状態情報とに基づいて、第1記憶領域および第2記憶領域の状態を判定し、判定した判定後の状態を示す判定後の状態情報を、制御装置に送信するストレージシステムが提案される。
本発明の一態様によれば、入出力処理のエラーの発生から再開までの時間を抑えることができるという効果を奏する。
図1は、本実施の形態にかかるストレージシステムSMの動作例を示す説明図である。 図2は、ストレージシステムSMの構成例を示す説明図である。 図3は、PUのハードウェア構成例を示す説明図である。 図4は、VDISKの構成例を示す説明図である。 図5は、制御装置102の機能構成例を示す説明図である。 図6は、管理装置101の機能構成例を示す説明図である。 図7は、実施例にかかるストレージシステムSMのシステム構成例を示す説明図である。 図8は、I/Oエラー情報テーブル112の記憶内容の一例を示す説明図である。 図9は、rwモードにおけるI/Oエラー発生時の動作例を示す説明図である。 図10は、roモードにおけるI/Oエラー発生時の動作例を示す説明図である。 図11は、再開処理手順の一例を示すフローチャートである。 図12は、状態変更通知リスト1201の記憶内容の一例を示す説明図である。 図13は、反映処理手順の一例を示すフローチャートである。 図14は、セグメント状態変更処理手順の一例を示すフローチャートである。 図15は、最新セグメント状態リスト1501の記憶内容の一例を示す説明図である。 図16は、仮想化処理手順の一例を示すフローチャートである。 図17は、最新セグメント状態取得処理手順の一例を示すフローチャートである。
以下に図面を参照して、開示の制御装置、管理装置、ストレージシステム、制御プログラム、管理プログラム、制御方法、および管理方法の実施の形態を詳細に説明する。
図1は、本実施の形態にかかるストレージシステムSMの動作例を示す説明図である。図1において、ストレージシステムSMは、管理装置101と、1以上の制御装置102と、第1記憶領域103と、第2記憶領域104とを有するストレージ装置(SU:Storage Unit)を有する。第1記憶領域103と第2記憶領域104とを有するストレージ装置は、同一でもよいし、異なってもよい。
管理装置101、制御装置102は、プロセッサを有するプロセッサ装置(PU:Processor Unit)である。管理装置101は、1以上の制御装置102を管理する、マネージャとなるコンピュータである。制御装置102は、自配下のストレージとして、第1記憶領域103と、第2記憶領域104とを制御する、エージェントとなるコンピュータである。ここで、管理装置101は、自配下のストレージを制御すると共に、自身を管理してもよい。また、管理装置101、制御装置102は、冗長構成となっている。具体的には、管理装置101が故障することに備えて、制御装置102が、管理装置101の機能を有していてもよい。
第1記憶領域103および第2記憶領域104は、それぞれ一以上の記憶領域である。例えば、第1記憶領域103および第2記憶領域104は、論理的な記憶装置であるLUNから切り出した記憶領域となるセグメントである。また、第1記憶領域103および第2記憶領域104は、セグメントに限らず、LUNそのものでもよいし、ハードディスク、光ディスク、フラッシュメモリ、磁気テープなどの実ストレージの記憶領域でもよい。セグメント、LUN、複数のセグメントにより形成された仮想ボリューム、いわゆるVDISK(Virtual DISK)の関係については、図4で詳細に説明する。以下の説明では、第1記憶領域103、第2記憶領域104は、セグメントであるとして説明する。
そして、第2記憶領域104は、第1記憶領域103の記憶内容がミラーリングされる記憶領域である。ミラーリング元のセグメントとミラーリングされるセグメントとの組を、「セグメントグループ」と呼称する。また、同一のセグメントグループに含まれる一方のセグメントに対する他方のセグメントのことを、「一方のセグメントのペア」と呼称する場合がある。
管理装置101は、セグメントグループに属する2つのセグメントで、入出力(I/O:Input/Output)処理によるI/Oエラーが同時に発生したとしても、下位へのI/Oを閉塞しないように片面だけが異常(INVALID)になるようにセグメントの状態を、構成DB111を用いて一元管理する。具体的には、I/Oエラーが発生したセグメントの対面となるセグメントが正常(VALID)である場合にINVALIDと制御する。このため、制御装置102は、I/Oエラーが発生したセグメントの位置情報を管理装置101に送信する。
ミラーリングを行うことにより、ストレージシステムSMは、第1記憶領域103のI/O処理の障害発生時に、第2記憶領域104を経由してアクセスを継続することで、ストレージシステムSMとしての可用性を向上させることができる。
また、ストレージシステムSMは、要求される記憶容量の増加に伴って、ストレージシステムSM全体の記憶領域を拡張すること、いわゆるスケールアウトを行うことができる。具体的なスケールアウトの内容については、図2で説明するが、例えば、ストレージシステムSMに、制御装置102を追加する。これにより、追加する制御装置102に対応する実ストレージを追加することにより、ストレージシステムSMの全体性能と記憶容量とを拡大することができる。
ここで、実ストレージのI/O処理のエラーの発生から、I/O再開までの時間が増大する場合がある。具体的には、スケールアウトを行うことにより、エラーが発生した実ストレージにアクセスするエージェントの数が多くなるにつれて、マネージャに通知される入出力処理のエラーが多くなる。結果として、マネージャによる入出力処理のエラーに対する処理にかかる時間が増大することになる。そして、マネージャによる入出力処理のエラーに対する処理にかかる時間が増大した結果、入出力要求のタイムアウト時間を超えてしまう場合がある。特に、仮想化ストレージ装置では、1つのLUNが複数のVDISKのセグメントとして利用されているため、1つのLUNの故障が多数のVDISKに影響を与えてしまい、大量のI/Oエラーが発生してしまう可能性が高い。また、大量のI/O処理のエラーに伴い、一定のレスポンス性能が要求されるVDISK作成といったユーザ操作も遅延することになる。
そこで、本実施の形態では、マネージャのI/Oエラー処理のスループットを向上させるため、I/Oエラーが発生した記憶領域のVDISKのアクセスモードに着目し、アクセスモードがリードライトモード(rwモード:ReadWrite mode)かリードオンリーモード(roモード:ReadOnly mode)かで処理を分岐する。具体的には、本実施の形態では、制御装置102が、第1記憶領域103のI/Oエラー時に第1記憶領域がrwモードならばセグメントの状態を判定してI/O再開または中止し、roモードならばI/O再開する方法について説明する。ここで、rwモードとは、リードおよびライトが可能な状態である。これに対し、roモードとは、リードオンリー、すなわち、リードが可能であるがライトが可能でない状態である。
図1を用いて、本実施の形態にかかるストレージシステムSMの動作例について説明する。制御装置102は、第1記憶領域103および第2記憶領域104の状態を示す状態情報113を、管理装置101から受信してある。ここで、状態情報113は、構成DB111から抽出された情報である。具体的には、状態情報113は、第1記憶領域103がVALIDであるかINVALIDであるかと、第2記憶領域104がVALIDであるかINVALIDであるかと、が示される。
図1の(a)で示すように、業務サーバからのI/O要求を受け付けた制御装置102は、第1記憶領域103にI/O処理を要求し、第1記憶領域103のI/Oエラーを示すI/Oエラー情報121を検出したとする。ここから先のストレージシステムSMの動作については、第1記憶領域103が属するVDISKがrwモードかroモードかによって異なるものとなる。ここで、rwモードのVDISKは、ライト要求の延長でI/Oエラーが発生した場合に2面のセグメントの等価性は保証されない。セグメントの等価とは、2面のセグメントの記憶内容が一致することを示す。そのため、I/Oエラーの発生を確実にマネージャに伝え、I/Oエラー面の切り離しを行わないと、直後のVDISK操作、例えばVDISK作成に等価の崩れたセグメントの状態となり、最終的にデータ破壊となる。
一方で、roモードのVDISKは、I/O時に2面のセグメントの等価が崩れることはない。そのため、マネージャへの通知なしにI/O再開を行うことでI/O遅延時間を最小とすることが可能となる。
ここで、上述した記載の前提となるVDISKの利用条件は下記のとおりである。rwモードでは単一ノードからのみ参照・更新可能である。例えば、通常のディスクとしてVDISKを利用するようなケースで、rwモードが使用される。一方、roモードでは複数ノードから参照可能である。例えば、スナップショットのマスタとしてVDISKを利用するようなケースで、roモードが使用される。VDISKがroモードの間は、VDISKの記憶内容を更新することはできない。
まず、rwモードである場合、制御装置102は、図1の(rw_a1)で示すように、I/Oエラー情報121を管理装置101に通知する。管理装置101に通知されたI/Oエラー情報121は、管理装置101内のI/Oエラー情報121を一時的に蓄える記憶領域であるI/Oエラー情報テーブル112に記憶される。
次に、制御装置102は、図1の(rw_a2)で示すように、I/Oエラー情報121と状態情報113とに基づいて、第1記憶領域103および第2記憶領域104の状態を判定する。具体的には、制御装置102は、状態情報113によって、I/Oエラー情報121が示すエラーが発生した第1記憶領域103のペアとなる第2記憶領域104がVALIDであることが示されれば、第1記憶領域103がINVALIDであると判定する。一方で、第2記憶領域104がINVALIDであれば、制御装置102は、第1記憶領域103および第2記憶領域104の状態を、状態情報113が示す状態のままであると判定する。
そして、制御装置102は、判定した状態に基づいて、I/O処理の再開またはI/O処理の中止を行う。例えば、制御装置102は、第1記憶領域103がINVALIDであると判定した場合には、I/O先を第2記憶領域104に切り替え、I/O処理を再開する。一方、第1記憶領域103および第2記憶領域104の状態を状態情報113が示す状態のままであると判定した場合、制御装置102は、すなわち第2記憶領域104がINVALIDである場合、I/O処理を中止する。そして、制御装置102は、I/Oの要求元といった上位にI/Oエラーで復帰する。
一方、管理装置101は、図1の(rw_m1)で示すように、所定時間ごとに、I/Oエラー情報テーブル112と構成DB111とに基づいて、第1記憶領域103および第2記憶領域104の状態を判定する。ここで、I/Oエラー情報テーブル112は、制御装置102から所定時間経過する間に受け付けたI/Oエラー情報121が蓄積される。所定時間は、管理装置101の処理能力や制御装置102の数等に応じてストレージシステムSMの管理者が予め設定した値である。例えば、所定時間は、10秒である。
また、roモードである場合、いち早くI/Oを再開させるため、図1の(ro_a1)で示すように、制御装置102は、I/O先を第2記憶領域104に切り替え、I/O処理を再開する。そして、制御装置102は、図1の(ro_a2)で示すように、I/Oエラー情報121を管理装置101に通知する。ここで、図1の(ro_a1)で示すI/O処理の再開と、図1の(ro_a2)で示すI/Oエラー情報121との通知は、逆の順序で行ってもよいが、いち早くI/Oを再開させるためには、上述した順序で行うことが好ましい。また、roモードである場合、制御装置102は、第1記憶領域103および第2記憶領域104の状態の判定を行わない。判定を行わない理由は、判定を管理装置101に任せることにより、複数の制御装置102で異なる面のエラーを同時に検出した場合にエラー面を確定するためである。
一方、制御装置102は、図1の(ro_m1)で示すように、所定時間ごとに、I/Oエラー情報テーブル112と構成DB111とに基づいて、第1記憶領域103および第2記憶領域104の状態を判定する。図1の(ro_m1)で示す処理は、図1の(rw_m1)で示す処理と同一である。
以上のように、制御装置102は、管理装置101による第1記憶領域103および第2記憶領域104の状態の判定を待たずI/O再開するので、I/O再開時間を抑えることができる。次に、図2を用いて、ストレージシステムSMの構成例を示す。
図2は、ストレージシステムSMの構成例を示す説明図である。ストレージシステムSMは、基本ノードFNと、拡張ノードEN#1〜#Kとを含む。以下の説明では、拡張ノードEN#1〜#Kのうち任意の拡張ノードを「拡張ノードEN#k」と表記する場合がある(k=1,2,…,K)。また、ストレージシステムSMには、1または複数の業務サーバ201が接続される。
基本ノードFNは、管理装置101と、制御装置102#1と、SU#1とを有する。拡張ノードEN#1は、制御装置102#2と、SU#2とを有する。同様に、図示していないが、拡張ノードEN#kは、制御装置102#k+1と、SU#k+1とを有する。
例えば、ストレージシステムSMに、拡張ノードENを追加することにより、ストレージシステムSMの全体性能と記憶容量とを拡大することができる。次に、PUのハードウェアの構成例を示す。
図3は、PUのハードウェア構成例を示す説明図である。図3において、PUは、CPU(Central Processing Unit)301と、メモリ302と、I/F(Interface)303と、を有する。また、各構成部はバス310によってそれぞれ接続される。
ここで、CPU301は、PUの全体の制御を司る。メモリ302は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)およびフラッシュROMなどを有する。より具体的には、例えば、フラッシュROMがOSやファームウェアなどのプログラムを記憶し、ROMがアプリケーションプログラムを記憶し、RAMがCPU301のワークエリアとして使用される。メモリ302に記憶されているプログラムは、CPU301にロードされることで、コーディングされている処理をCPU301に実行させることになる。
I/F303は、他のコンピュータからのデータの入出力を制御する。具体的には、例えば、I/F303は、通信回線を通じてLAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどのネットワークに接続され、このネットワークを介して他のコンピュータに接続される。そして、I/F303は、ネットワークと内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。なお、図2に示したSUについても、PUと同様のハードウェア構成により実現することができる。
(VDISKの構成例)
ここで、ストレージシステムSMにより提供されるVDISKの構成例について説明する。
図4は、VDISKの構成例を示す説明図である。図4において、VDISK#iは、複数のセグメントセット#1〜#nの集合体である(i:自然数、n:2以上の自然数)。各セグメントセット#1〜#nは、8個のセグメント#1〜#8の集合体である。各セグメントセット#1〜#nの容量は、例えば、2[GB]である。また、各セグメント#1〜#8の容量は、例えば、256[MB]である。
各セグメント#1〜#8は、ストレージシステムSMに含まれるストレージユニット内のLUNごとに割り当てられる。ユーザのデータは、固定長のストリップ(1[MB])単位で記録される。また、このストリップはセグメント#1〜#8を順に利用する形でストライピングされる。なお、以下の説明では、VDISKを形成するセグメントに割り当てられた任意のLUNを「LUN#j」と表記する場合がある。
(制御装置102の機能構成例)
図5は、制御装置102の機能構成例を示す説明図である。制御装置102は、制御部500を有する。制御部500は、通知部501と、判定部502と、実行部503とを含む。制御部500は、記憶装置に記憶されたプログラムをCPU301が実行することにより、各部の機能を実現する。記憶装置とは、具体的には、例えば、図3に示したメモリ302などである。また、各部の処理結果は、CPU301のレジスタや、CPU301のキャッシュメモリ等に格納される。
また、制御装置102は、状態情報113にアクセス可能である。状態情報113は、管理装置101が受け付けたエラーに基づき第1記憶領域103および第2記憶領域104の状態を判定した判定後の状態を示す。制御装置102は、管理装置101から状態情報113を受け付けて、受信した状態情報113をメモリ302に格納する。
次に、各機能部について、I/O処理によるI/Oエラーが発生した際に、I/Oエラーが発生したセグメントがrwモードの場合の機能と、roモードの場合の機能とについて説明する。
まず、I/Oエラーが発生したセグメントとなる第1記憶領域103が属するVDISKがrwモードである場合について説明する。通知部501は、I/O処理によるI/Oエラーを検出したことに応じて、I/Oエラー情報121を管理装置101に通知する。
判定部502は、I/Oエラー情報121と状態情報113とに基づき第1記憶領域103および第2記憶領域104の状態を判定する。例えば、判定部502は、状態情報113によって、I/Oエラー情報121が示すエラーが発生した第1記憶領域103のペアとなる第2記憶領域104がVALIDであることが示されれば、第1記憶領域103がINVALIDであると判定する。一方で、第2記憶領域104がINVALIDであれば、判定部502は、第1記憶領域103および第2記憶領域104の状態を、状態情報113が示す状態のままであると判定する。なお、判定部502は、判定した判定後の結果で状態情報113を更新する。
実行部503は、判定部502が判定した状態に応じて、第2記憶領域104にI/O処理を実行するかI/O処理を中止する。例えば、実行部503は、第1記憶領域103がINVALIDであると判定した場合には、I/O先を第2記憶領域104に切り替え、I/O処理を再開する。一方、第1記憶領域103および第2記憶領域104の状態を状態情報113が示す状態のままであると判定した場合、すなわち、第2記憶領域104がINVALIDである場合、実行部503は、I/O処理を中止する。
次に、I/Oエラーが発生したセグメントとなる第1記憶領域103が属するVDISKがroモードである場合について説明する。通知部501は、I/O処理によるI/Oエラーを検出したことに応じて、I/Oエラー情報121を管理装置101に通知する。
実行部503は、I/O処理によるI/Oエラー情報121を検出したことに応じて、第2記憶領域104にI/O処理を実行する。
なお、I/Oエラーが発生したセグメントとなる第1記憶領域103が属するVDISKがroモードである場合には、判定部502は、処理を行わない。この場合、制御装置102は、管理装置101から通知される状態情報113で、自身が記憶する状態情報113を更新する。
(管理装置101の機能構成例)
図6は、管理装置101の機能構成例を示す説明図である。管理装置101は、制御部600を有する。制御部600は、取り出し部601と、判定部602と、格納部603と、送信部604とを含む。制御部600は、記憶装置に記憶されたプログラムをCPU301が実行することにより、各部の機能を実現する。記憶装置とは、具体的には、例えば、図3に示したメモリ305、SU#1などである。また、各部の処理結果は、CPU301のレジスタや、CPU301のキャッシュメモリ等に格納される。
また、管理装置101は、構成DB111とI/Oエラー情報テーブル112にアクセス可能である。構成DB111とI/Oエラー情報テーブル112とはメモリ302に格納される。構成DB111は、第1記憶領域103および第2記憶領域104の状態を記憶する。I/Oエラー情報テーブル112は、制御装置102からのI/Oエラー情報121を一時的に蓄える。I/Oエラー情報テーブル112の記憶内容については、図8で説明する。ここで、I/Oエラー情報テーブル112は、データの記録時間が直接I/O再開の遅延につながるため、書き込みを得意とし、書き込む際にトランザクション排他を伴わない、または排他時間を最小とするI/O特性を有する記憶装置に格納されることが好ましい。
次に、各機能部について、I/Oエラー情報の処理に関する機能と、VDISK作成に関する機能とについて説明する。
まず、I/Oエラー情報の処理に関する機能について説明する。取り出し部601は、所定間隔ごとに、I/Oエラー情報テーブル112からI/Oエラー情報121を取り出す。
判定部602は、取り出したI/Oエラー情報121と構成DB111との記憶内容とに基づいて、第1記憶領域103および第2記憶領域104の状態を判定する。例えば、判定部602は、取り出したI/Oエラー情報121が第1記憶領域103のI/Oエラーを示し、かつ、構成DB111によって第1記憶領域103および第2記憶領域104の状態がVALIDであるとする。この場合、判定部602は、第1記憶領域103の状態をINVALIDであると判定する。また、取り出したI/Oエラー情報121が、第1記憶領域103のI/Oエラーと、第2記憶領域104のI/Oエラーという複数あるとする。そして、構成DB111によって第1記憶領域103および第2記憶領域104の状態がVALIDであるとする。この場合、判定部602は、先にI/Oエラーが発生したストレージの状態をINVALIDであると判定する。
格納部603は、判定部602が判定した状態を、構成DB111に格納する。具体的には、格納部603は、判定部602が判定した状態を、1トランザクションで構成DB111に格納する。
送信部604は、判定部602が判定した状態を示す判定後の状態情報113を、制御装置102に送信する。また、送信部604は、I/Oエラーが発生したセグメントとなるストレージが属するVDISKがroモードであれば判定後の状態情報113を制御装置102に送信し、rwモードであれば判定後の状態情報113を制御装置102に送信しなくてもよい。また、状態情報113を送信する際には、送信部604は、セグメントグループに含まれる2つの記憶領域の状態を示す状態情報113を送信してもよいし、判定によって状態が変更したセグメントの状態を示す情報を送信してもよい。
次に、VDISK作成に関する機能について説明する。例えば、第1記憶領域103および第2記憶領域104によってVDISKを作成する要求を受け付けたとする。例えば、VDISKを作成する要求は、業務サーバ201の前述の要求に応じて、制御装置102#1〜K+1のいずれかが要求する。取り出し部601は、制御装置102から所定時間経過する間に受け付けたエラーのうち、I/O処理による第1記憶領域103のI/Oエラー情報121および第2記憶領域104のI/Oエラー情報121を抽出する。そして、取り出し部601は、抽出したI/Oエラー情報121を取り出す。
判定部602は、取り出したI/Oエラー情報121と構成DB111との記憶内容とに基づいて、第1記憶領域103および第2記憶領域104の状態を判定する。そして、送信部604は、判定部602が判定した状態を示す判定後の状態情報113を、VDISKを作成する要求の要求元に送信する。
図7は、実施例にかかるストレージシステムSMのシステム構成例を示す説明図である。図7において、ストレージシステムSMは、PU#1〜#3と、SU#1、#2とを含む。例えば、PU#1、#2は、基本ノードFNに含まれる。また、PU#3は、拡張ノードEN#1に含まれる。
PU#1は、PU#2およびPU#3を制御するコンピュータであり、いわゆる「マネージャ」である。PU#2、PU#3は、SU#1およびSU#2を制御するコンピュータであり、いわゆる「エージェント」である。以下、PU#1を、「マネージャ」と呼称する。また、PU#2、PU#3を、「エージェント」と呼称する。
ストレージシステムSMでは、PUとSUを1セットとして、ストレージシステムSM全体の記憶領域を拡張することができる。
ここで、エージェントは、I/O再開部701を有する。また、マネージャは、反映部702と、処理部703と、仮想化部704とを有する。また、エージェントは、常駐スレッドとして、event処理スレッド711と、ドライバ#1とを実行する。また、図7の例では、エージェント上で動作するOS(Operating System)のディスパッチキューに、スレッドt21〜t26が格納されている。同様に、マネージャ上で動作するOSのディスパッチキューに、スレッドt11〜t19が格納されている。このうち、スレッドt17〜t19は、非同期スレッドである。
マネージャは、常駐スレッドとして、I/Oエラーサーバプロセス712と、I/Oエラー処理スレッド713とを実行する。また、マネージャは、構成DB111と、I/Oエラー情報テーブル112にアクセス可能である。
ここで、図7、図9、図10では、実線の矢印は、同期処理を示し、破線の矢印は、非同期処理を示す。また、三角は、スレッドを示し、網掛けを付与した矩形は、常駐スレッドであることを示す。また、破線の枠は、OSのディスパッチキューを示す。
I/O再開部701は、下位へ発行したI/Oエラーを検出すると、発行中のI/Oを一旦停止し、マネージャのI/Oエラー情報テーブル112にI/Oエラー情報を登録し、I/Oを再開する。
反映部702は、I/Oエラー情報テーブル112に蓄積したI/Oエラー情報121を抽出し、一括で構成DB111へ反映する。
処理部703は、外部からのVDISK作成、削除などの指示を受け付け、構成DB111の情報に従って処理を行う。また、処理部703は、エージェントに指示を行う。
仮想化部704は、I/Oエラー情報テーブル112に蓄積したI/Oエラー情報と構成DB111から最新のVDISKの情報を判断し、エージェントに対して最新のVDISKの作成指示を行う。また、仮想化部704は、通常のVDISK作成処理として、VDISKのアクセスモードと、VDISKを形成する全セグメント情報とを構成DB111から抽出し、エージェントに対して送信する。ここで、セグメント構成は、VDISKにおけるセグメントの位置の情報、すなわちセグメントグループインデックスと、ミラー面を形成する2つのLUN内の位置の情報、すなわちLUNのIDとLUN内のセグメントインデックスとである。
event処理スレッド711は、ドライバ#1からI/Oエラーの検出を受け付けた際に、マネージャに通知するスレッドである。
ドライバ#1は、SU#1を制御し、VDISKを形成するデバイスドライバである。図7の例では、ドライバ#1は、VDISK#1、#2を形成する。また、ドライバ#1は、I/Oエラーを検出し、event処理スレッド711に通知する。
I/Oエラーサーバプロセス712は、エージェントからI/Oエラーを受け付けるプロセスである。
I/Oエラー処理スレッド713は、I/Oエラー情報テーブル112からポーリングによりI/Oエラーを検出し、I/Oエラーを処理するスレッドである。
図8は、I/Oエラー情報テーブル112の記憶内容の一例を示す説明図である。図8に示すI/Oエラー情報テーブル112は、レコード801_1〜3を有する。I/Oエラー情報テーブル112は、発生日と、VDISK名と、エージェントIDと、エラーが発生したセグメントグループインデックスと、セグメントのエラー面というフィールドを含む。
発生日フィールドには、I/Oエラーが発生した日時を示す情報が格納される。VDISK名は、I/Oエラーが発生したセグメントが属するVDISKを識別する情報として、VDISKの名称が格納される。エージェントIDは、I/Oエラーを検出したエージェントを識別する情報が格納される。エラーが発生したセグメントグループインデックスフィールドには、I/Oエラーが発生したセグメントが属するセグメントグループを識別する情報が格納される。セグメントのエラー面フィールドには、セグメントグループのうち、I/Oエラーが発生したセグメントを識別する情報が格納される。具体的には、セグメントのエラー面フィールドには、セグメントグループ内の2つのセグメントのうちI/Oエラーが発生したセグメントを識別する情報として、セグメント面の番号を示す0か1かが格納される。
例えば、I/Oエラーが発生し、I/Oエラーが発生したセグメントのセグメント面の番号が0であるとする、この場合、I/Oエラーが発生したセグメントが、図1における第1記憶領域103に相当する。一方、I/Oエラーが発生したセグメントと同一のセグメントグループインデックスを有し、セグメント面の番号が1となるセグメントが、第2記憶領域104に相当する。
図9は、rwモードにおけるI/Oエラー発生時の動作例を示す説明図である。図9の(1)で示すように、スレッドt21からのアクセス要求を受け付けたドライバ#1は、SU#1内のあるセグメントにアクセスした際に、I/Oエラーを検出後、I/Oを停止させる。
次に、図9の(2)で示すように、I/O再開部701は、再開処理として、ドライバ#1からのI/O異常通知を受け取ると、スレッドt21を起動しマネージャへ異常通知を送信する。
そして、図9の(3)で示すように、スレッドt21は、I/Oエラーサーバプロセス712にリモート接続し、I/Oエラー情報テーブル112にI/Oエラー情報を直接書き込むSQL文を発行し、コミットする。そして、図9の(4)’で示すように、スレッドt21は、I/O再開する。
次に、図9の(4)で示すように、反映部702は、反映処理として、I/Oエラーサーバプロセス712によってポーリングによりI/Oエラーを検出する。そして、I/Oエラーサーバプロセス712は、非同期でI/Oエラー情報を取得し一括処理を行う。また、I/Oエラーサーバプロセス712、反映処理の一部を行うスレッドとして、図9の例では、スレッドt14を起動する。
そして、図9の(5)で示すように、スレッドt14は、I/Oエラー情報を取得し、セグメントグループの”VALID”確認後”INVALID”に一括コミットする。
次に、図9の(6)で示すように、反映部702は、反映処理として、構成DB111を更新後、I/Oエラー情報テーブル112のレコードを削除する。
図10は、roモードにおけるI/Oエラー発生時の動作例を示す説明図である。図10の(1)で示すように、スレッドt21からのアクセス要求を受け付けたドライバ#1は、SU#1内のあるセグメントにアクセスした際に、I/Oエラーを検出後、I/Oを停止させる。
次に、図10の(2)で示すように、I/O再開部701は、再開処理として、ドライバ#1からのI/O異常通知を受け取ると、スレッドt21を起動させる。次に、図10の(3)で示すように、I/O再開部701は、I/O再開後、マネージャへ異常通知する。
そして、図10の(4)で示すように、スレッドt21は、I/Oエラーサーバプロセス712にリモート接続し、I/Oエラー情報テーブル112にI/Oエラー情報121を直接書き込むSQL文を発行し、コミットする。図10の(5)〜(7)は、図9の(4)〜(6)と同一であるため、説明を省略する。
(再開処理の説明)
次に、I/O再開部701が実行する再開処理について説明する。下位へ発行したI/Oエラーを検出すると、発行中のI/Oを一旦停止し、VDISKのアクセスモードにより、処理を以下のように分ける。I/O再開部701は、rwモードである場合、マネージャへの通知までI/O再開しない一方で、roモードである場合、マネージャへの通知の前にI/O再開する。次に、上述した記載を基に、再開処理を示すフローチャートについて、図11を用いて説明する。
図11は、再開処理手順の一例を示すフローチャートである。エージェントは、VDISKのアクセスモードを確認する(ステップS1101)。VDISKのアクセスモードがrwモードである場合(ステップS1101:rwモード)、エージェントは、マネージャのI/Oエラー情報テーブル112へI/Oエラー情報121を登録する(ステップS1102)。次に、エージェントは、エラー面の対面のセグメントの状態がVALIDか否かを判断する(ステップS1103)。
エラー面の対面のセグメントの状態がVALIDである場合(ステップS1103:Yes)、エージェントは、エラー面のセグメントの状態を、INVALIDに変更する(ステップS1104)。そして、エージェントは、I/O先をエラー面の対面に切り替える(ステップS1105)。次に、エージェントは、I/Oを再開する(ステップS1106)。
エラー面の対面のセグメントの状態がINVALIDである場合(ステップS1103:No)、エージェントは、I/Oエラーで上位に復帰する(ステップS1107)。
また、VDISKのアクセスモードがroモードである場合(ステップS1101:roモード)、エージェントは、I/O先をエラー面の対面に切り替える(ステップS1108)。次に、エージェントは、I/Oを再開する(ステップS1109)。そして、エージェントは、マネージャのI/Oエラー情報テーブル112へI/Oエラー情報121を登録する(ステップS1110)。
ステップS1106、S1107、S1110のいずれか一つの処理終了後、エージェントは、I/O再開処理を終了する。I/O再開処理を実行することにより、マネージャによるセグメントの状態の確定を待たずにI/O再開することができる。特に、roモードにおいて、I/O再開をI/Oエラー情報121の登録よりも先に実行することで、I/Oエラーが発生してからI/O再開までの時間を短縮することができる。また、I/O再開前にセグメント状態を変更しない理由は、セグメントの異常の最終判断はマネージャの判定に任せることにより、複数のエージェントで異なる面のエラーを同時に検出した場合にエラー面を確定するためである。
(反映処理の説明)
次に、反映部702が実行する反映処理について説明する。反映部702は、I/Oエラー情報テーブル112に蓄積されたI/Oエラー情報121を定期的に取り出し、取り出したI/Oエラー情報121と、構成DB111の記憶内容とから、セグメントの状態を判定し、構成DB111に反映する。ここで、反映部702は、roモードのVDISKの場合には、変更したセグメントの状態をエージェントに通知する。そして、反映部702は、I/Oエラー情報テーブル112に蓄積されたI/Oエラー情報121を削除する。次に、変更したセグメントの状態をエージェントに通知するために用いる状態変更通知リストの記憶内容の一例を、図12を用いて説明する。
図12は、状態変更通知リスト1201の記憶内容の一例を示す説明図である。図12に示す状態変更通知リスト1201は、レコード1201_1〜2を有する。状態変更通知リスト1201は、VDISK名と、セグメントグループインデックスと、セグメント面と、セグメント状態というフィールドを含む。
VDISK名フィールドには、状態が変更されたセグメントが属するVDISKを識別する情報として、VDISKの名称が格納される。セグメントグループインデックスフィールドには、状態が変更されたセグメントが属するセグメントグループを識別する情報が格納される。セグメント面フィールドには、セグメントグループのうち、状態が変更されたセグメントを識別する情報が格納される。セグメント状態フィールドには、変更されたセグメントの状態を示す識別子が格納される。
図13は、反映処理手順の一例を示すフローチャートである。マネージャは、I/Oエラー情報テーブル112から、I/Oエラー情報121を発生順にソートして取り出す(ステップS1301)。次に、マネージャは、I/Oエラー情報121が存在するか否かを判断する(ステップS1302)。I/Oエラー情報121が存在しない場合(ステップS1302:No)、マネージャは、所定時間待機する(ステップS1303)。そして、マネージャは、ステップS1301の処理に移行する。
一方、I/Oエラー情報121が存在する場合(ステップS1302:Yes)、マネージャは、構成DB111のトランザクションを開始する(ステップS1304)。そして、マネージャは、セグメント状態変更処理を実行する(ステップS1305)。次に、マネージャは、構成DB111のトランザクションを終了する(ステップS1306)。そして、マネージャは、状態変更通知リスト1201に追加されたセグメントがあるか否かを判断する(ステップS1307)。
状態変更通知リスト1201に追加されたセグメントがある場合(ステップS1307:Yes)、マネージャは、エージェントにセグメントの状態変更を送信する(ステップS1308)。一方、状態変更通知リスト1201に追加されたセグメントがない場合(ステップS1307:No)、マネージャは、I/Oエラー情報テーブル112から、全てのI/Oエラー情報121を削除する(ステップS1309)。ステップS1309の処理終了後、マネージャは、反映処理を終了する。
図14は、セグメント状態変更処理手順の一例を示すフローチャートである。マネージャは、I/Oエラー情報121をセグメントグループに分類する(ステップS1401)。この際、マネージャは、I/Oエラー情報121を発生順にソートする。
次に、マネージャは、セグメントグループを1つ抽出する(ステップS1402)。そして、マネージャは、抽出したセグメントグループのI/Oエラー情報121のリスト長を確認する(ステップS1403)。
リスト長が1、すなわち片系故障である場合(ステップS1403:1(片系故障))、マネージャは、エラー検出セグメントを、“INVALID候補”に設定する(ステップS1404)。また、リスト長が2、すなわち両系故障である場合(ステップS1403:2(両系故障))、マネージャは、抽出したセグメントグループのうち、先にエラーが発生したセグメントを、“INVALID候補”に設定する(ステップS1405)。
ステップS1404またはS1405の処理終了後、マネージャは、構成DB111内のセグメントグループの各セグメントの状態を取得する(ステップS1406)。そして、マネージャは、取得した各セグメントの状態を確認する(ステップS1407)。
取得した各セグメントの状態が共にVALIDである場合(ステップS1407:共にVALID)、マネージャは、構成DB111内の“INVALID候補”に設定したセグメントの状態を、“INVALID”に変更する(ステップS1408)。次に、マネージャは、状態変更したセグメントがroモードのVDISKに属するか否かを判断する(ステップS1409)。状態変更したセグメントがroモードのVDISKに属する場合(ステップS1409:Yes)、マネージャは、状態変更通知リスト1201に、状態変更したセグメントの情報を追加する(ステップS1410)。
そして、マネージャは、未処理のセグメントグループがあるか否かを判断する(ステップS1411)。各セグメントの状態がその他、すなわち、一方がVALIDであり他方がINVALIDであるか、共にINVALIDである場合(ステップS1407:その他)、または、状態変更したセグメントがrwモードのVDISKに属する場合(ステップS1409:No)も、マネージャは、ステップS1411の処理に移行する。
未処理のセグメントグループがある場合(ステップS1411:Yes)、マネージャは、ステップS1402の処理に移行する。一方、未処理のセグメントグループがない場合(ステップS1411:No)、マネージャは、セグメント状態変更処理を終了する。
ここで、構成DB111を更新してコミットした後、I/Oエラー情報121を削除できていない状態でマネージャが強制終了したとする。この場合でも、マネージャが図14で示した処理を行うと、構成DB111上でINVALID化したセグメントの方が、優先度が高いため、そのままINVALID状態として整合性を取ることができる。
以上のように、マネージャは、I/Oエラーの発生とセグメントの状態から一意に変更後の状態を判定する。また、マネージャは、1トランザクションで、構成DB111へ一括反映することで、I/Oエラー数に伴なって負荷が増幅していたトランザクション競合も平常時と同等の負荷、すなわち1トランザクションとなり、マネージャは、負荷を抑えることができる。また、I/Oエラー情報テーブル112からの取り出し間隔は10秒程度であり、最大数千程度のI/Oエラーの切替であれば、I/Oエラー情報121の構成DB111への反映は最大数秒程度になる。
(仮想化処理の説明)
次に、仮想化部704が実行する仮想化処理について説明する。VDISK作成時には、VDISK内のデータ読み込みのできるセグメントを全て最新にする必要があるため、I/Oエラー情報121を構成DB111に仮想的に反映させ接続先のエージェントにセグメントの状態を送信することになる。具体的には、VDISK作成時には、仮想化部704は、I/Oエラー情報テーブル112からボリュームに対するI/Oエラー情報121を時系列に抽出する。抽出したI/Oエラー情報121を構成DB111に仮想的に反映させる方法については、セグメント状態変更処理とほぼ同じである。次に、接続先のエージェントにセグメントの状態を送信する具体的な内容となる、最新セグメント状態リストの記憶内容の一例を、図15を用いて説明する。
図15は、最新セグメント状態リスト1501の記憶内容の一例を示す説明図である。図15に示す最新セグメント状態リスト1501は、レコード1501_1を有する。最新セグメント状態リスト1501は、セグメントグループインデックスと、セグメント面と、セグメント状態というフィールドを含む。
セグメントグループインデックスフィールドには、最新の状態が示されるセグメントが属するセグメントグループを識別する情報が格納される。セグメント面フィールドには、セグメントグループのうち、最新の状態が示されるセグメントを識別する情報が格納される。セグメント状態フィールドには、最新のセグメントの状態を示す識別子が格納される。
図16は、仮想化処理手順の一例を示すフローチャートである。マネージャは、作成対象のVDISKについて、I/Oエラー情報テーブル112から、I/Oエラー情報121を発生順にソートして取り出す(ステップS1601)。次に、マネージャは、I/Oエラー情報121が存在するか否かを判断する(ステップS1602)。I/Oエラー情報121が存在する場合(ステップS1602:Yes)、マネージャは、最新セグメント状態取得処理を実行する(ステップS1603)。
ステップS1603の処理終了後、または、I/Oエラー情報121が存在しない場合(ステップS1602:No)、マネージャは、作成対象のVDISKの全セグメントの状態を、構成DB111より取得する(ステップS1604)。次に、マネージャは、最新セグメント状態リスト1501にあるセグメントグループについて、作成対象のVDISKのセグメントの状態を最新化する(ステップS1605)。そして、マネージャは、作成対象のVDISKのセグメントの状態をエージェントに送信する(ステップS1606)。ステップS1606の処理終了後、マネージャは、仮想化処理を終了する。
図17は、最新セグメント状態取得処理手順の一例を示すフローチャートである。ここで、図17に示すステップS1701〜S1707の処理については、ステップS1401〜S1407の処理と同一であるため、説明を省略する。
取得した各セグメントの状態が共にVALIDである場合(ステップS1707:共にVALID)、マネージャは、“INVALID候補”に設定したセグメントの状態を、“INVALID”として最新セグメント状態リスト1501に追加する(ステップS1708)。
ステップS1708の処理終了後、または、各セグメントの状態がその他である場合(ステップS1707:その他)、マネージャは、未処理のセグメントグループがあるか否かを判断する(ステップS1709)。未処理のセグメントグループがある場合(ステップS1709:Yes)、マネージャは、ステップS1702の処理に移行する。一方、未処理のセグメントグループがない場合(ステップS1709:No)、マネージャは、最新セグメント状態取得処理を終了する。
以上説明したように、エージェントは、I/Oエラー時に、I/OエラーのセグメントのVDISKがrwモードならばセグメントグループのそれぞれのセグメントの状態を判定してI/O再開または中止し、roモードならばI/O再開する。これにより、エージェントは、マネージャによるセグメントグループのそれぞれの状態の判定を待つことなくI/O再開するため、I/O再開時間を抑えることができる。従って、例えば、大規模環境でI/Oエラーが多発する状況下であっても、エージェントは、業務サーバ201のI/Oがタイムアウトしてしまうことを防ぐことができる。また、同状況下でレスポンス性能を維持した状態でユーザ操作を処理することが可能となる。以上により、ストレージシステムSM全体の可用性を確保することができる。
また、エージェントは、I/OエラーのセグメントのVDISKがrwモードならば、I/Oエラーのセグメントのペアのセグメントの状態がVALIDであれば、I/Oエラーのセグメントの状態をINVALIDであると判定する。これにより、エージェントは、マネージャが行うセグメントの状態の判定を自身で行い、I/O再開することができる。
また、状態情報113は、マネージャが受け付けたI/Oエラーに基づきセグメントグループのそれぞれのセグメントの状態を示す。これにより、エージェントは、I/Oエラー発生前のセグメントグループのそれぞれのセグメントの状態を把握することができる。
また、マネージャは、所定期間ごとに、I/Oエラー情報テーブル112の記憶内容と構成DB111とに基づき、セグメントグループのそれぞれのセグメントの状態を判定し、判定した判定後の状態を構成DB111に一括で格納する。これにより、マネージャは、構成DB111のトランザクション期間を最小限に留めることができる。従って、大規模環境でI/Oエラーが多発する状況下であっても、マネージャは、一定性能を維持して業務サーバ201からのI/Oリクエストを返却することができ、マネージャのI/O処理のスループットを向上させることができる。
また、エージェントから所定時間経過する間に受け付けたI/Oエラーが、あるセグメントのI/Oエラーであり、構成DB111によって、あるセグメントを含むセグメントグループのそれぞれのセグメントの状態がVALIDであるとする。この場合、マネージャは、あるセグメントの状態をVALIDであると判定する。このような構成により、マネージャは、構成DB111の反映の非同期化を実現することができる。
また、マネージャは、I/Oエラーが発生したセグメントが属するVDISKがroモードであれば、判定後のセグメントの状態を送信し、rwモードであれば、判定後のセグメントの状態を送信しなくてもよい。このように、rwモードであれば、エージェント自身がセグメントの状態を判定しているため、マネージャが判定後のセグメントの状態を送信しなくてよい。これにより、I/Oエラーが発生したセグメントが属するVDISKがroモードであれば、マネージャは、エージェントへの状態情報113の送信にかかる負荷を減らすことができる。また、マネージャは、I/Oエラーが発生したセグメントが属するVDISKを判断せずに、判定後のセグメントの状態を送信してもよい。rwモードではエージェント自身がセグメントの状態を判定しているが、エージェントは、同一の情報で上書きするだけであり、不具合は生じない。
また、マネージャは、VDISK作成の要求を受け付けたことに応じて、I/Oエラー情報テーブル112内から作成の要求を受けたVDISKのI/Oエラーを抽出し、抽出した情報と構成DB111とに基づき判定したセグメントの状態を、要求元に送信する。これにより、要求元では、抽出したI/Oエラーが仮想的に構成DB111に反映したようにみえ、要求元は、通常と同様にVDISKに対する動作を行うことができる。
なお、本実施の形態で説明した制御方法、管理方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本制御プログラム、管理プログラムは、ハードディスク、フレキシブルディスク、CD−ROM(Compact Disc−Read Only Memory)、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本制御プログラム、管理プログラムは、インターネット等のネットワークを介して配布してもよい。
上述した実施の形態に関し、さらに以下の付記を開示する。
(付記1)第1記憶領域および前記第1記憶領域の記憶内容がミラーリングされる第2記憶領域の状態を管理する管理装置から受信した前記状態を示す状態情報に基づいて前記第1記憶領域または前記第2記憶領域に入出力処理を実行する制御装置であって、
前記第1記憶領域に対してリードおよびライトが可能である場合、前記入出力処理による前記第1記憶領域のエラーを検出したことに応じて、前記エラーを前記管理装置に通知し、前記エラーと前記状態情報とに基づき前記第1記憶領域および前記第2記憶領域の状態を判定し、判定した当該状態に応じて前記第2記憶領域に前記入出力処理を実行するか前記入出力処理を中止し、
前記第1記憶領域に対してリードが可能でありライトが可能でない場合、前記エラーを検出したことに応じて、前記第2記憶領域に前記入出力処理を実行し、前記エラーを前記管理装置に通知する、
制御部を有することを特徴とする制御装置。
(付記2)前記制御部は、
前記第1記憶領域に対してリードおよびライトが可能である場合、前記エラーを検出したことに応じて、前記状態情報によって前記第2記憶領域が正常な状態であることが示されれば、前記第1記憶領域が異常な状態であると判定し、前記第2記憶領域に前記入出力処理を実行することを特徴とする付記1に記載の制御装置。
(付記3)前記状態情報は、
前記管理装置が受け付けたエラーに基づき前記第1記憶領域および前記第2記憶領域の状態を判定した判定後の状態を示すことを特徴とする付記1に記載の制御装置。
(付記4)第1記憶領域および前記第1記憶領域の記憶内容がミラーリングされる第2記憶領域の状態を示す状態情報を記憶する管理装置であって、
前記第1記憶領域または前記第2記憶領域に入出力処理を実行する制御装置から所定時間経過する間に受け付けたエラーと前記状態情報とに基づいて、前記第1記憶領域および前記第2記憶領域の状態を判定し、
判定した判定後の状態を示す判定後の状態情報を、前記制御装置に送信する、
制御部を有することを特徴とする管理装置。
(付記5)前記制御部は、
前記第1記憶領域に対してリードが可能でありライトが可能でない場合、前記判定後の状態情報を前記制御装置に送信し、
前記第1記憶領域に対してリードおよびライトが可能である場合、前記判定後の状態情報を前記制御装置に送信しない、
ことを特徴とする付記4に記載の管理装置。
(付記6)前記制御部は、
前記第1記憶領域および前記第2記憶領域によって仮想ボリュームを作成する要求を受け付けたことに応じて、前記制御装置から前記所定時間経過する間に受け付けたエラーのうち、前記入出力処理による前記第1記憶領域のエラーおよび前記第2記憶領域のエラーを抽出し、
抽出した前記エラーと前記状態情報とに基づいて、前記第1記憶領域および前記第2記憶領域の状態を判定し、
前記判定後の状態情報を、前記要求を送信した要求元に送信する、
ことを特徴とする付記4または5に記載の管理装置。
(付記7)前記制御部は、
前記制御装置からエラーが前記入出力処理による前記第1記憶領域のエラーであり、かつ、前記所定時間経過する間に受け付けた状態情報によって前記第1記憶領域および前記第2記憶領域が正常であることが示されれば、前記第1記憶領域が異常な状態であると判定することを特徴とする付記4〜6のいずれか一つに記載の管理装置。
(付記8)第1記憶領域および前記第1記憶領域の記憶内容がミラーリングされる第2記憶領域の状態を示す状態情報を記憶する管理装置と、前記管理装置から受信した前記状態情報に基づいて前記第1記憶領域または前記第2記憶領域に入出力処理を実行する制御装置とを含むストレージシステムであって、
前記制御装置は、
前記第1記憶領域に対してリードおよびライトが可能である場合、前記入出力処理による前記第1記憶領域のエラーを検出したことに応じて、前記エラーを前記管理装置に通知し、前記エラーと前記制御装置が受信した状態情報とに基づき前記第1記憶領域および前記第2記憶領域の状態を判定し、判定した当該状態に応じて前記第2記憶領域に前記入出力処理を実行するか前記入出力処理を中止し、
前記第1記憶領域に対してリードが可能でありライトが可能でない場合、前記エラーを検出したことに応じて、前記第2記憶領域に前記入出力処理を実行し、前記エラーを前記管理装置に通知し、
前記管理装置は、
前記制御装置から所定時間経過する間に受け付けたエラーと前記管理装置が記憶する状態情報とに基づいて、前記第1記憶領域および前記第2記憶領域の状態を判定し、
判定した判定後の状態を示す判定後の状態情報を、前記制御装置に送信する、
ことを特徴とするストレージシステム。
(付記9)第1記憶領域および前記第1記憶領域の記憶内容がミラーリングされる第2記憶領域の状態を管理する管理装置から受信した前記状態を示す状態情報に基づいて前記第1記憶領域または前記第2記憶領域に入出力処理を実行する制御装置に、
前記第1記憶領域に対してリードおよびライトが可能である場合、前記入出力処理による前記第1記憶領域のエラーを検出したことに応じて、前記エラーを前記管理装置に通知し、前記エラーと前記状態情報とに基づき前記第1記憶領域および前記第2記憶領域の状態を判定し、判定した当該状態に応じて前記第2記憶領域に前記入出力処理を実行するか前記入出力処理を中止し、
前記第1記憶領域に対してリードが可能でありライトが可能でない場合、前記エラーを検出したことに応じて、前記第2記憶領域に前記入出力処理を実行し、前記エラーを前記管理装置に通知する、
処理を実行させることを特徴とする制御プログラム。
(付記10)第1記憶領域および前記第1記憶領域の記憶内容がミラーリングされる第2記憶領域の状態を示す状態情報を記憶する管理装置に、
前記第1記憶領域または前記第2記憶領域に入出力処理を実行する制御装置から所定時間経過する間に受け付けたエラーと前記状態情報とに基づいて、前記第1記憶領域および前記第2記憶領域の状態を判定し、
判定した判定後の状態を示す判定後の状態情報を、前記制御装置に送信する、
処理を実行させることを特徴とする管理プログラム。
(付記11)第1記憶領域および前記第1記憶領域の記憶内容がミラーリングされる第2記憶領域の状態を管理する管理装置から受信した前記状態を示す状態情報に基づいて前記第1記憶領域または前記第2記憶領域に入出力処理を実行する制御装置が、
前記第1記憶領域に対してリードおよびライトが可能である場合、前記入出力処理による前記第1記憶領域のエラーを検出したことに応じて、前記エラーを前記管理装置に通知し、前記エラーと前記状態情報とに基づき前記第1記憶領域および前記第2記憶領域の状態を判定し、判定した当該状態に応じて前記第2記憶領域に前記入出力処理を実行するか前記入出力処理を中止し、
前記第1記憶領域に対してリードが可能でありライトが可能でない場合、前記エラーを検出したことに応じて、前記第2記憶領域に前記入出力処理を実行し、前記エラーを前記管理装置に通知する、
処理を実行することを特徴とする制御方法。
(付記12)第1記憶領域および前記第1記憶領域の記憶内容がミラーリングされる第2記憶領域の状態を示す状態情報を記憶する管理装置が、
前記第1記憶領域または前記第2記憶領域に入出力処理を実行する制御装置から所定時間経過する間に受け付けたエラーと前記状態情報とに基づいて、前記第1記憶領域および前記第2記憶領域の状態を判定し、
判定した判定後の状態を示す判定後の状態情報を、前記制御装置に送信する、
処理を実行することを特徴とする管理方法。
SM ストレージシステム
101 管理装置
102 制御装置
103 第1記憶領域
104 第2記憶領域
111 構成DB
112 I/Oエラー情報テーブル
113 状態情報
121 I/Oエラー情報
500 制御部
501 通知部
502 判定部
503 実行部
600 制御部
601 取り出し部
602 判定部
603 格納部
604 送信部
701 I/O再開部
702 反映部
703 処理部
704 仮想化部

Claims (11)

  1. 第1記憶領域および前記第1記憶領域の記憶内容がミラーリングされる第2記憶領域の状態を管理する管理装置から受信した前記状態を示す状態情報に基づいて前記第1記憶領域または前記第2記憶領域に入出力処理を実行する制御装置であって、
    前記第1記憶領域に対してリードおよびライトが可能である場合、前記入出力処理による前記第1記憶領域のエラーを検出したことに応じて、前記エラーを前記管理装置に通知し、前記エラーと前記状態情報とに基づき前記第1記憶領域および前記第2記憶領域の状態を判定し、判定した当該状態に応じて前記第2記憶領域に前記入出力処理を実行するか前記入出力処理を中止し、
    前記第1記憶領域に対してリードが可能でありライトが可能でない場合、前記エラーを検出したことに応じて、前記第2記憶領域に前記入出力処理を実行し、前記エラーを前記管理装置に通知する、
    制御部を有することを特徴とする制御装置。
  2. 前記制御部は、
    前記第1記憶領域に対してリードおよびライトが可能である場合、前記エラーを検出したことに応じて、前記状態情報によって前記第2記憶領域が正常な状態であることが示されれば、前記第1記憶領域が異常な状態であると判定し、前記第2記憶領域に前記入出力処理を実行することを特徴とする請求項1に記載の制御装置。
  3. 前記状態情報は、
    前記管理装置が受け付けたエラーに基づき前記第1記憶領域および前記第2記憶領域の状態を判定した判定後の状態を示すことを特徴とする請求項1に記載の制御装置。
  4. 第1記憶領域および前記第1記憶領域の記憶内容がミラーリングされる第2記憶領域の状態を示す状態情報を記憶する管理装置であって、
    前記第1記憶領域または前記第2記憶領域に入出力処理を実行する制御装置から所定時間経過する間に受け付けたエラーと前記状態情報とに基づいて、前記第1記憶領域および前記第2記憶領域の状態を判定し、
    判定した判定後の状態を示す判定後の状態情報を、前記制御装置に送信する、
    制御部を有することを特徴とする管理装置。
  5. 前記制御部は、
    前記第1記憶領域に対してリードが可能でありライトが可能でない場合、前記判定後の状態情報を前記制御装置に送信し、
    前記第1記憶領域に対してリードおよびライトが可能である場合、前記判定後の状態情報を前記制御装置に送信しない、
    ことを特徴とする請求項4に記載の管理装置。
  6. 前記制御部は、
    前記第1記憶領域および前記第2記憶領域によって仮想ボリュームを作成する要求を受け付けたことに応じて、前記制御装置から前記所定時間経過する間に受け付けたエラーのうち、前記入出力処理による前記第1記憶領域のエラーおよび前記第2記憶領域のエラーを抽出し、
    抽出した前記エラーと前記状態情報とに基づいて、前記第1記憶領域および前記第2記憶領域の状態を判定し、
    前記判定後の状態情報を、前記要求を送信した要求元に送信する、
    ことを特徴とする請求項4または5に記載の管理装置。
  7. 第1記憶領域および前記第1記憶領域の記憶内容がミラーリングされる第2記憶領域の状態を示す状態情報を記憶する管理装置と、前記管理装置から受信した前記状態情報に基づいて前記第1記憶領域または前記第2記憶領域に入出力処理を実行する制御装置とを含むストレージシステムであって、
    前記制御装置は、
    前記第1記憶領域に対してリードおよびライトが可能である場合、前記入出力処理による前記第1記憶領域のエラーを検出したことに応じて、前記エラーを前記管理装置に通知し、前記エラーと前記制御装置が受信した状態情報とに基づき前記第1記憶領域および前記第2記憶領域の状態を判定し、判定した当該状態に応じて前記第2記憶領域に前記入出力処理を実行するか前記入出力処理を中止し、
    前記第1記憶領域に対してリードが可能でありライトが可能でない場合、前記エラーを検出したことに応じて、前記第2記憶領域に前記入出力処理を実行し、前記エラーを前記管理装置に通知し、
    前記管理装置は、
    前記制御装置から所定時間経過する間に受け付けたエラーと前記管理装置が記憶する状態情報とに基づいて、前記第1記憶領域および前記第2記憶領域の状態を判定し、
    判定した判定後の状態を示す判定後の状態情報を、前記制御装置に送信する、
    ことを特徴とするストレージシステム。
  8. 第1記憶領域および前記第1記憶領域の記憶内容がミラーリングされる第2記憶領域の状態を管理する管理装置から受信した前記状態を示す状態情報に基づいて前記第1記憶領域または前記第2記憶領域に入出力処理を実行する制御装置に、
    前記第1記憶領域に対してリードおよびライトが可能である場合、前記入出力処理による前記第1記憶領域のエラーを検出したことに応じて、前記エラーを前記管理装置に通知し、前記エラーと前記状態情報とに基づき前記第1記憶領域および前記第2記憶領域の状態を判定し、判定した当該状態に応じて前記第2記憶領域に前記入出力処理を実行するか前記入出力処理を中止し、
    前記第1記憶領域に対してリードが可能でありライトが可能でない場合、前記エラーを検出したことに応じて、前記第2記憶領域に前記入出力処理を実行し、前記エラーを前記管理装置に通知する、
    処理を実行させることを特徴とする制御プログラム。
  9. 第1記憶領域および前記第1記憶領域の記憶内容がミラーリングされる第2記憶領域の状態を示す状態情報を記憶する管理装置に、
    前記第1記憶領域または前記第2記憶領域に入出力処理を実行する制御装置から所定時間経過する間に受け付けたエラーと前記状態情報とに基づいて、前記第1記憶領域および前記第2記憶領域の状態を判定し、
    判定した判定後の状態を示す判定後の状態情報を、前記制御装置に送信する、
    処理を実行させることを特徴とする管理プログラム。
  10. 第1記憶領域および前記第1記憶領域の記憶内容がミラーリングされる第2記憶領域の状態を管理する管理装置から受信した前記状態を示す状態情報に基づいて前記第1記憶領域または前記第2記憶領域に入出力処理を実行する制御装置が、
    前記第1記憶領域に対してリードおよびライトが可能である場合、前記入出力処理による前記第1記憶領域のエラーを検出したことに応じて、前記エラーを前記管理装置に通知し、前記エラーと前記状態情報とに基づき前記第1記憶領域および前記第2記憶領域の状態を判定し、判定した当該状態に応じて前記第2記憶領域に前記入出力処理を実行するか前記入出力処理を中止し、
    前記第1記憶領域に対してリードが可能でありライトが可能でない場合、前記エラーを検出したことに応じて、前記第2記憶領域に前記入出力処理を実行し、前記エラーを前記管理装置に通知する、
    処理を実行することを特徴とする制御方法。
  11. 第1記憶領域および前記第1記憶領域の記憶内容がミラーリングされる第2記憶領域の状態を示す状態情報を記憶する管理装置が、
    前記第1記憶領域または前記第2記憶領域に入出力処理を実行する制御装置から所定時間経過する間に受け付けたエラーと前記状態情報とに基づいて、前記第1記憶領域および前記第2記憶領域の状態を判定し、
    判定した判定後の状態を示す判定後の状態情報を、前記制御装置に送信する、
    処理を実行することを特徴とする管理方法。
JP2015244630A 2015-12-15 2015-12-15 制御装置、管理装置、ストレージシステム、制御プログラム、管理プログラム、制御方法、および管理方法 Active JP6668733B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015244630A JP6668733B2 (ja) 2015-12-15 2015-12-15 制御装置、管理装置、ストレージシステム、制御プログラム、管理プログラム、制御方法、および管理方法
US15/286,632 US10157111B2 (en) 2015-12-15 2016-10-06 Controlling device, managing device, storage system, control method, management method, and non-transitory computer-readable storage medium for mirroring data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015244630A JP6668733B2 (ja) 2015-12-15 2015-12-15 制御装置、管理装置、ストレージシステム、制御プログラム、管理プログラム、制御方法、および管理方法

Publications (2)

Publication Number Publication Date
JP2017111580A true JP2017111580A (ja) 2017-06-22
JP6668733B2 JP6668733B2 (ja) 2020-03-18

Family

ID=59020056

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015244630A Active JP6668733B2 (ja) 2015-12-15 2015-12-15 制御装置、管理装置、ストレージシステム、制御プログラム、管理プログラム、制御方法、および管理方法

Country Status (2)

Country Link
US (1) US10157111B2 (ja)
JP (1) JP6668733B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11544258B2 (en) * 2020-02-05 2023-01-03 Ebay Inc. Selecting a host based on quality of stored data
TWI776653B (zh) * 2021-08-24 2022-09-01 緯穎科技服務股份有限公司 用於控制儲存裝置的控制系統以及控制方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2003267284A1 (en) * 2002-09-18 2004-04-08 Netezza Corporation Disk mirror architecture for database appliance
US7185222B2 (en) * 2003-11-14 2007-02-27 International Business Machines Corporation Apparatus, system, and method for maintaining data in a storage array
US7058731B2 (en) * 2004-08-03 2006-06-06 Hitachi, Ltd. Failover and data migration using data replication
US7519851B2 (en) * 2005-02-08 2009-04-14 Hitachi, Ltd. Apparatus for replicating volumes between heterogenous storage systems
JP5138530B2 (ja) 2008-10-08 2013-02-06 株式会社日立製作所 ストレージ容量仮想化技術における障害管理方式
JP6163855B2 (ja) 2013-04-30 2017-07-19 富士通株式会社 ストレージシステム、制御装置、制御プログラムおよび制御方法
JP6237406B2 (ja) * 2014-03-28 2017-11-29 富士通株式会社 情報処理装置、ストレージシステム、およびプログラム

Also Published As

Publication number Publication date
US20170168909A1 (en) 2017-06-15
US10157111B2 (en) 2018-12-18
JP6668733B2 (ja) 2020-03-18

Similar Documents

Publication Publication Date Title
CN114341792B (zh) 存储集群之间的数据分区切换
US10733060B2 (en) Asynchronous local and remote generation of consistent point-in-time snap copies in consistency groups
US9959174B2 (en) Storage checkpointing in a mirrored virtual machine system
US10180812B2 (en) Consensus protocol enhancements for supporting flexible durability options
US11182094B2 (en) Performing a recovery copy command using a recovery copy data structure for a backup volume lookup
US8255649B2 (en) Remote copy control method and system in storage cluster environment
US10289322B2 (en) Delayed consistent point-in-time copy from a secondary volume of a consistent asynchronous mirror copy
JP4546629B2 (ja) 記憶システム、記憶システムの応答方法及び記録媒体
US11182081B2 (en) Performing a recovery copy command to restore a safeguarded copy backup to a production volume
US11132271B2 (en) Determining which target is most ahead in a multi-target mirroring environment
JP6668733B2 (ja) 制御装置、管理装置、ストレージシステム、制御プログラム、管理プログラム、制御方法、および管理方法
US11003541B2 (en) Point-in-time copy on a remote system
US20150169220A1 (en) Storage control device and storage control method
US10789132B2 (en) Performing a recovery copy command to create a recovery volume for a consistency group
US10885061B2 (en) Bandwidth management in a data storage system
US20160259559A1 (en) Storage system and control method thereof
US11449398B2 (en) Embedded container-based control plane for clustered environment
US10528593B2 (en) Consistent point-in-time copy of a consistent asynchronous mirror target without pausing a consistent asynchronous mirror copy
CN118276783A (zh) 存储集群之间的数据分区切换

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180810

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190531

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190618

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190813

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200210

R150 Certificate of patent or registration of utility model

Ref document number: 6668733

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150