JP2016024656A - ストレージ制御装置、ストレージシステム及びストレージ制御プログラム - Google Patents
ストレージ制御装置、ストレージシステム及びストレージ制御プログラム Download PDFInfo
- Publication number
- JP2016024656A JP2016024656A JP2014148786A JP2014148786A JP2016024656A JP 2016024656 A JP2016024656 A JP 2016024656A JP 2014148786 A JP2014148786 A JP 2014148786A JP 2014148786 A JP2014148786 A JP 2014148786A JP 2016024656 A JP2016024656 A JP 2016024656A
- Authority
- JP
- Japan
- Prior art keywords
- storage
- control
- mirror
- data
- unit
- 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.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/2053—Error 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/2056—Error 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/2082—Data synchronisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1658—Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/2053—Error 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/2056—Error 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/2071—Error 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/2053—Error 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/2089—Redundant storage control functionality
- G06F11/2092—Techniques of failing over between control units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/85—Active fault masking without idle spares
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】ホストインタフェースがアクティブ−アクティブ方式のストレージシステムでJRMを実現すること。【解決手段】データが書き込まれるセグメントを管理する制御モジュール5がLUN毎に管理するビットマップを用いてライト処理及び等価性回復処理を実現する。すなわち、制御モジュール5は、管理するLUNについて、ビットマップをビットマップ記憶部61に記憶する。そして、ミラーLUN制御部56が、ビットマップの該当箇所を1にしてターゲットセグメントとミラーセグメントへのデータの書込みを制御し、両セグメントへの書込みが完了するとビットマップを0にリセットする。また、等価性回復部制御部63が、ビットマップ記憶部61を参照して等価性回復処理を行う。【選択図】図2
Description
本発明は、ストレージ制御装置、ストレージシステム及びストレージ制御プログラムに関する。
HDD等の記憶装置を収容した複数の筐体で構築されたストレージシステムは、筐体間のミラーリング(筐体間ミラー)によりデータを多重化して記憶するとともに高速等価性回復機構(JRM:Just Resynchronization Mechanism)を備える。ここで、JRMとは、記憶装置の故障などでミラー間のデータが不一致となった場合に、等価性回復処理を実施して、データの等価性を回復させる機能である。
図8は、JRMを説明するための図である。図8に示すように、JRMには、データがライトされた場合の動作と、制御モジュールの故障が発生した場合の動作とがある。データがライトされた場合の動作では、ストレージシステムを制御する制御モジュールは、ライトが要求されると(1)、ビットマップの該当ビットに印をつける(例えば、‘1’を書き込む)(2)。
ここで、ビットマップとは、記憶装置のセグメント毎にライト処理中であるか否かを示すマップである。ビットマップでは、1つのセグメントに1ビットが対応づけられ、ライト処理中のセグメントに対応するビットには印がつけられる。また、1つのセグメントの大きさは256MBである。
そして、制御モジュールは、ミラー対象の2つのLUN(Logical Unit Number:論理ユニット番号)の記憶装置にデータを格納する(3)。そして、2つの記憶装置へのデータの格納が完了すると、制御モジュールは、ビットマップの該当ビットの印を消す(例えば、該当ビットに書き込み済みの‘1’を‘0’に変更する)(4)。
制御モジュール故障が発生した場合の動作では、制御モジュールは、ビットマップの印のあるビットを確認し(5)、印のあるビットに対する範囲の一方のデータを他方に上書きする(6)。このとき、どちらからどちらへ上書きするかは重要ではなく、データ不一致を回避することが優先される。そして、制御モジュールは、該当ビットの印を消す(7)。
このように、制御モジュールは、故障が発生した時にライト処理中であったセグメントをビットマップを用いて特定し、特定したセグメントについて、ミラー関係にある一方のデータを他方のデータに上書きすることで、等価性を回復することができる。
なお、各筐体は2つ以上の制御モジュールを有し、ビットマップの該当ビットに印をつける制御は、ストレージシステムを使用する業務サーバからライト要求を受けた制御モジュールが担当する。
また、第1のストレージに第1論理ボリュームを備え、第2のストレージに第1論理ボリュームをコピーした第2論理ボリューム、第2論理ボリュームをコピーした第3論理ボリュームを備え、第3論理ボリュームから第1論理ボリュームを回復する従来技術がある。
また、リモートコピーが実行される第1サイトと第2サイトの各ノードに管理テーブルを備え、第1サイトが障害で停止した場合、第1サイトがクライアントに提供していた論理ディレクトリを第2サイトに管理テーブルを用いて再現する従来技術がある。
また、コピー元筐体からコピー先筐体にデータをコピーするストレージシステムで、グループ化したデータのステータス情報をグループ毎に管理することによって、ストレージ装置側でデータの一貫性を管理する従来技術がある。
近年、さまざまな業務の処理がクラウド環境で実現されつつあり、業務の処理の高速化、分散化に適したストレージシステムが要求されている。ストレージシステムの構成として、アクティブ−スタンバイ方式とアクティブ−アクティブ方式がある。
ここで、アクティブ−スタンバイ方式とは、ストレージシステムを使用する業務サーバからのアクセス要求をアクティブな1の制御モジュールだけが受け付ける方式である。一方、アクティブ−アクティブ方式とは、業務サーバからのアクセス要求をどの制御モジュールも受け付けることができる方式である。アクティブ−アクティブ方式は、業務サーバからのアクセス要求に対する処理が複雑になるが、プライマリの制御モジュールの負荷をセカンダリの制御モジュールに分散できる、障害からの復旧が迅速に行えるなどの長所があるため、アクティブ−アクティブ方式のストレージシステムが増加する傾向にある。
しかしながら、アクティブ−アクティブ方式のストレージシステムでは、制御モジュール間の等価状態の管理が複雑になってしまい、そのことが高速等価性回復機能を実現する妨げとなっている。
本発明は、1つの側面では、アクティブ−アクティブ方式のストレージシステムで、等価回復機能を実現することを目的とする。
本願の開示するストレージ制御装置は、1つの態様において、ミラー制御を行うデータの等価性回復処理に用いるマップ情報を記憶装置の所定の記憶管理単位で記憶するマップ情報記憶部を備える。また、本願の開示するストレージ制御装置は、自身がアクセスを制御する第1の記憶装置を収納した第1の筐体と他のストレージ制御装置がアクセスを制御する第2の記憶装置を収納した第2の筐体との間でミラー制御を行うミラー制御部を備える。また、前記ミラー制御部は、データの書込みでは前記マップ情報記憶部を用いて前記第1の記憶装置及び前記第2の記憶装置へのデータの書込みを制御する。
1実施態様によれば、アクティブ−アクティブ方式のストレージシステムで、等価回復機能を実現することができる。
以下に、本願の開示するストレージ制御装置、ストレージシステム及びストレージ制御プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例は開示の技術を限定するものではない。
まず、実施例に係るストレージシステムの構成について説明する。図1は、実施例に係るストレージシステムの構成を示す図であり、実施例に係るストレージシステムは、アクティブ−アクティブ方式のストレージシステムである。図1に示すように、ストレージシステム1は、シェルフ#1、シェルフ#2及びシェルフ#3の3つのシェルフ3とインターコネクトスイッチ4とを有する。なお、ここでは説明の便宜上、3つのシェルフ3のみを示したが、ストレージシステム1は、スケールアウト型の装置であり、4つ以上のシェルフ3を有してよい。
シェルフ3は、2つの制御モジュール5と、4つのディスク装置6とを収容する筐体である。制御モジュール5は、業務サーバ2からのアクセス要求に基づいてディスク装置6へのアクセスを制御する。制御モジュール#1〜制御モジュール#6の各制御モジュール5は、業務サーバ2からのアクセス要求を受け付けることができ、他の制御モジュール5を介して、他のシェルフ3に収容されたディスク装置6にアクセスすることができる。
ディスク装置6は、業務サーバ2が使用するデータを記憶する装置である。ディスク装置6は、1または複数のHDDやSSDで構築された記憶装置であるが、ディスク装置の代わりに1または複数のフラッシュメモリ等で構築された記憶装置を用いてもよい。なお、ここでは説明の便宜上、4つのディスク装置6を示したが、シェルフ3は、2つ以下や5つ以上のディスク装置6を有してよい。インターコネクトスイッチ4は、制御モジュール5を接続するスイッチである。
図2は、制御モジュール5の構成を示す図である。図2に示すように、制御モジュール5は、ホストインタフェース51と、インタコネクトインタフェース52と、SAS(Serial-Attached SCSI)53と、ターゲット制御部54と、スナップショット/シンプロ制御部55と、ミラーLUN制御部56とを有する。また、制御モジュール5は、内部イニシエータ57と、内部ターゲット制御部58と、RAID(Redundant Array of Inexpensive Disks)制御部59と、ディスク制御部60とを有する。また、制御モジュール5は、ビットマップ記憶部61と、ミラーLUN情報記憶部62と、等価性回復制御部63とを有する。
ホストインタフェース51は、業務サーバ2とのインタフェースであり、業務サーバ2からストレージシステム1へのアクセス要求を受け付け、アクセス処理の結果を業務サーバ2へ応答する。インタコネクトインタフェース52は、インターコネクトスイッチ4とのインタフェースであり、インターコネクトスイッチ4との間でデータやコマンドの送受信を行う。SAS53は、ディスク装置6とのインタフェースであり、ディスク装置6との間でデータやコマンドの送受信を行う。
ターゲット制御部54は、業務サーバ2に対して標準ボリューム、シンプロビジョニングボリューム、ミラーボリュームなどの仮想的なボリュームを公開し、当該ボリュームへのアクセスを受け付けるモジュールである。ここで、シンプロビジョニングボリュームとは、実際にデータが書き込まれる際に物理ボリュームの割り当てが行われるボリュームであり、ミラーボリュームは、ミラーデータを格納するボリュームである。スナップショット/シンプロ制御部55は、スナップショットの作成及びシンプロビジョニング制御を行う。
ミラーLUN制御部56は、管理するLUNに対するI/Oを制御するとともに、ミラー関係にあるセグメントをLUN単位で管理するモジュールであり、等価性を維持するための等価状態を示すビットマップの管理と、ミラー関係にあるセグメントへのアクセスを制御する。なお、制御モジュール5が故障した場合には、故障した制御モジュール5が管理するLUNは、他の制御モジュール5に引き継がれる。
内部イニシエータ57は、自制御モジュール5に配置されたディスク装置6のように、他の制御モジュール5に配置されたディスク装置6を透過的アクセスするためのモジュールである。内部ターゲット制御部58は、自制御モジュール5に配置されたディスク装置6を他の制御モジュール5の内部イニシエータ57から透過的にアクセスできるように制御するモジュールである。つまり、内部イニシエータ57は、業務サーバ2のように、ライト要求を発行し、内部ターゲット制御部58は、ライト要求を受信してディスク装置6へライトコマンドを発行することができる。
RAID制御部59は、自制御モジュール5に配置されたディスク装置6をRAID制御するモジュールである。ディスク制御部60は、SAS53を介してディスク装置6へのアクセスを制御する。
ビットマップ記憶部61は、自制御モジュール5に割り当てられたLUNに関するビットマップを記憶する。ビットマップは、ディスク装置6に記憶されるが、ディスク装置6から読み出されてビットマップ記憶部61に記憶され、アクセスされる。また、ビットマップ記憶部61が更新されると、ビットマップ記憶部61の情報がディスク装置6に書込まれる。
ミラーLUN情報記憶部62は、ミラー関係にあるLUNの情報を記憶する。具体的には、ミラーLUN情報記憶部62は、ミラー関係にあるLUNの組を記憶する。等価性回復制御部63は、等価性回復イベントが発生した場合に、ミラーLUN情報記憶部62を参照してミラー関係にあるLUNの等価性を回復する処理を実行する。ここで、等価性回復イベントとは、制御モジュール5の故障などである。
次に、実施例に係る筐体を跨いで実行される筐体間ミラー処理について説明する。図3は、実施例に係る筐体間ミラー処理を説明するための図である。図3は、業務サーバ2からのライト要求を制御モジュール#2が受け付け、ライト要求に対応するLUNのディスク装置6が制御モジュール#4でアクセスされ、ミラーデータが格納されるディスク装置6が制御モジュール#6でアクセスされる場合を示す。
制御モジュール#2のターゲット制御部54は、業務サーバ2からのライト要求を受け付けると、ライト要求の対象となる仮想ボリュームを管理する制御モジュールへ制御を渡す。ここでは、ライト要求の対象となる仮想ボリュームを管理する制御モジュールは制御モジュール#2であるとする。図2では、仮想ボリュームを管理する制御モジュールをVDISK担当制御モジュールで示す。
ターゲット制御部54から制御を渡されたスナップショット/シンプロ制御部55は、ライト要求の対象となる仮想ボリュームに割り当てられたLUNのディスク装置6を制御する制御モジュール#4のミラーLUN制御部56に制御を渡す。このとき、スナップショット/シンプロ制御部55は、制御モジュール#2の内部イニシエータ57及び制御モジュール#4の内部ターゲット制御部58を経由して、制御モジュール#4のミラーLUN制御部56に制御を渡す。すると、制御モジュール#4のミラーLUN制御部56が、LUN毎に管理するビットマップを用いて、ミラー元の制御モジュール#4が制御するディスク装置6及びミラー先の制御モジュール#6が制御するディスク装置6にデータを書込むように制御する。このとき、制御モジュール#4のミラーLUN制御部56は、制御モジュール#4の内部イニシエータ57及び制御モジュール#6の内部ターゲット制御部58を経由して、制御モジュール#6が制御するディスク装置6にデータを書込むように制御する。
このように、制御モジュールが各自担当するLUN毎に等価状態を示すビットマップを管理することによって、アクティブ−アクティブ方式のストレージシステム1は、JRMを実現することができる。なお、アクティブ−アクティブ方式のストレージシステムでは、業務サーバ2からのアクセス要求を全てのアクティブな制御モジュールが受け付けるため、仮想ボリューム毎にビットマップを全ての制御モジュールに持たすこともできる。
しかしながら、ビットマップを全てのアクティブな制御モジュールに持たすと、ビットマップの容量が増え、また、他の制御モジュールで更新されたビットマップの更新内容の取得のために、制御モジュール間での通信が必要になり、ビットマップの処理でオーバーヘッドが発生する。さらに、スケールアウト型のストレージシステムの規模が拡張していくほどオーバーヘッドが顕著になる。実施例に係るストレージシステム1は、JRM用のビットマップの容量を最小にすることができ、同時に余計な制御モジュール間通信をなくし、性能劣化を抑えることができる。
また、実施例に係るストレージシステム1は、ビットマップについて、ディスク装置6の1ブロックに異なるLUNのビットを入れないようにする。したがって、制御モジュールは、異なるLUNのビットマップを異なるブロックから読出す。
図4は、ディスク装置6のブロックとLUN毎のビットマップとの関係を示す図である。図4に示すように、LUN#00用のビットマップのビットだけがブロック66に含まれ、LUN#01用のビットマップのビットだけがブロック67に含まれる。ここで、ブロックはディスク装置6へのアクセス単位であり、1ブロックは、4096バイト又は512バイトである。
したがって、実施例に係るストレージシステム1は、異なるLUNのビットマップをアクセスする際に、排他制御を行う必要がなく、ビットマップアクセス時の排他制御によるオーバーヘッドをなくすことができる。
また、1ブロックの中のLUNのビットの操作は、ディスク装置6から1ブロックを読出し、1ビットを変更してから、この1ブロックをディスク装置6に書戻すという操作となる。ライトを開始する時のビットの印付けについてはディスク装置6まで書戻すことは処理順序的に必須である。一方、ライト終了時のビットの印消しはビットマップ記憶部61上で消しておくだけに留め、次の別なライトを開始する時に一緒にディスク装置6へ書戻してもよい。この方法だと、障害発生時に等価性回復のための上書き処理が若干余計に発生する可能性があるが、障害の時なのでそれほどデメリットは大きくなく、逆に普段のライト処理でのディスク書込み回数が減らせるので、通常動作が速くなるという効果がある。
次に、ライト処理のシーケンスについて説明する。図5A及び図5Bは、ライト処理のシーケンスを示す図である。なお、図5A及び図5Bでは、業務サーバ2からのライト要求を制御モジュール#2が受け付ける。また、ライト要求の対象となる最初のセグメントは、制御モジュール#4が制御するディスク装置6にあり、ミラーデータが格納されるセグメントは、制御モジュール#6が制御するディスク装置6にある。
図5Aに示すように、業務サーバ2で動作するアプリケーションが制御モジュール#2へライト要求を発行する(ステップS1)。すると、制御モジュール#2のターゲット制御部54が、ライト要求を受け付け、ライト要求の対象となる仮想ボリュームを管理する制御モジュール(ここでは制御モジュール#2)のスナップショット/シンプロ制御部55へ制御を渡す(ステップS2)。
そして、スナップショット/シンプロ制御部55は、仮想ボリュームの属性に応じたスナップショット処理及びシンプロビジョニング処理を行う(ステップS3)。そして、スナップショット/シンプロ制御部55は、仮想ボリュームに割り当てられたLUNのディスク装置の中でライト要求でアクセスされるセグメントの範囲を特定し、セグメント毎のライト処理に分割する(ステップS4)。
そして、スナップショット/シンプロ制御部55は、内部イニシエータ57に、該当セグメントを管理している制御モジュールにライトI/Oを発行するように指示し、内部イニシエータ57が、制御モジュール#4にライトI/Oを発行する(ステップS5)。
すると、制御モジュール#4の内部ターゲット制御部58が、ライトI/Oを受け取ってI/Oアクセスされたターゲットセグメントを特定する(ステップS6)。そして、ミラーLUN制御部56が、ビットマップの該当ビットを1に設定し、ビットマップをディスク装置6に書込む(ステップS7)。
すなわち、ミラーLUN制御部56は、RAID制御部59にビットマップの待避を指示し(ステップS8)、RAID制御部59は、図5Bに示すように、ディスク制御部60にビットマップの書込みを指示する(ステップS9)。そして、ディスク制御部60がビットマップをディスク装置6に書込む(ステップS10)。
そして、ミラーLUN制御部56は、ビットマップのディスク装置6への書込みが完了すると、ミラーセグメントを特定し(ステップS11)、ターゲットセグメント及びミラーセグメントにデータの書込みを指示する(ステップS12及びステップS13)。
そして、制御モジュール#4のディスク制御部60がターゲットセグメントに対してライトを実行する(ステップS14)。また、制御モジュール#4の内部イニシエータ57が、制御モジュール#6の内部ターゲット制御部58にミラーセグメントへのデータの書込みを指示する。すると、制御モジュール#6の内部ターゲット制御部58がRAID制御部59にミラーセグメントへのデータの書込みを指示する。
そして、制御モジュール#6のRAID制御部59がミラーセグメントへライトI/Oを発行し(ステップS15)、ディスク制御部60がミラーセグメントに対してライトを実行する(ステップS16)。
そして、2つのライトが完了すると、等価性が保てたので、ミラーLUN制御部56は、ビットマップの該当ビットを0に設定し、ビットマップをディスク装置6に書込む(ステップS17)。すなわち、ミラーLUN制御部56は、RAID制御部59にビットマップの待避を指示し(ステップS18)、RAID制御部59は、ディスク制御部60にビットマップの書込みを指示する(ステップS19)。そして、ディスク制御部60がビットマップをディスク装置6に書込む(ステップS20)。
そして、ビットマップのディスク装置6への書込みが完了すると、スナップショット/シンプロ制御部55は、ライトI/Oが複数のセグメントに渡っていて他のセグメントについても処理が必要か否かを判定する(ステップS21)。その結果、他のセグメントについて処理が必要でない場合には、ターゲット制御部54がアプリケーションへ書込みの完了を応答する。
一方、他のセグメントについて処理が必要である場合には、スナップショット/シンプロ制御部55は、内部イニシエータ57に、該当セグメントを管理している制御モジュールにライトI/Oを発行するように指示し、内部イニシエータ57が、制御モジュール#nにライトI/Oを発行する(ステップS22)。ここで、制御モジュール#nは、該当セグメントを管理している制御モジュールである。
そして、制御モジュール#nがミラーセグメントを管理する制御モジュール#mとともに、ステップS6〜ステップ20と同様のセグメント書込処理を行い、セグメント書込処理が完了すると、スナップショット/シンプロ制御部55は、ステップS21に戻る。
このように、ターゲットセグメントを管理する制御モジュールのミラーLUN制御部56が、内部イニシエータ57と、ミラーセグメントを管理する制御モジュールのターゲット制御部58と連携することで、セグメント単位で筐体間ミラーを行うことができる。
次に、ミラーボリュームの等価性回復処理のシーケンスについて説明する。図6は、ミラーボリュームの等価性回復処理のシーケンスを示す図である。なお、図6では、制御モジュール#4と制御モジュール#6との間でミラーボリュームの等価性回復処理を行う場合について説明する。
図6に示すように、等価性回復制御部63は、等価性回復イベントの発生を検知する(ステップS31)と、ミラーLUN情報記憶部62を参照して、当該制御モジュールが管理しているLUNとミラー関係にあるミラーLUNを特定する。そして、等価性回復制御部63は、ミラー関係にあるLUNの組について、等価性の回復をLUN制御部56に指示する(ステップ32)。
すると、ミラーLUN制御部56は、RAID制御部59にミラー関係にあるLUNの1組に関するミラー状態を示すビットマップの読出しを指示し(ステップS33)、RAID制御部59は、ディスク制御部60にビットマップの読出しを指示する。そして、ディスク制御部60は、ビットマップを読出し(ステップS34)、RAID制御部59経由でミラーLUN制御部56に渡す。
そして、ミラーLUN制御部56は、ビットマップに等価性回復が必要なセグメントが存在するか否かを判定し(ステップS35)、等価性回復が必要なセグメントが存在しない場合には、ステップ33に戻って、次のLUNの組についての等価性回復を行う。
一方、等価性回復が必要なセグメントが存在する場合には、ミラーLUN制御部56は、ビットマップを基に、ミラー関係が崩れているセグメントについて復旧を実施する(ステップS36)。
すなわち、ミラーLUN制御部56は、ミラー関係が崩れている各セグメントについて、自制御モジュールセグメントのデータのリードをRAID制御部59に指示し(ステップS37)、RAID制御部59は、データのリードをディスク制御部60に指示する。そして、ディスク制御部60がセグメントデータを読出し(ステップS38)、ミラーLUN制御部56がRAID制御部59経由でセグメントデータを受け取る。
そして、ミラーLUN制御部56は、ミラーセグメントへのデータのライトを内部イニシエータ57に指示し(ステップS39)、内部イニシエータ57は、制御モジュール#6の内部ターゲット制御部58にミラーセグメントへのデータのライトを指示する。そして、制御モジュール#6の内部ターゲット制御部58は、ミラーセグメントへのデータのライトをRAID制御部59に指示する。
そして、RAID制御部59は、ミラーセグメントへのデータのライトをディスク制御部60に指示し、ディスク制御部60がセグメントにデータを書込む(ステップS40)。そして、データの書込みが完了すると、ミラーLUN制御部56は、修復したセグメントについてビットマップの該当ビットを0に設定する(ステップS41)。
そして、ミラーLUN制御部56は、RAID制御部59にディスク装置6が記憶するビットマップの更新を指示し、RAID制御部59は、ディスク制御部60にビットマップの更新を指示する。そして、ディスク制御部60は、ビットマップを更新する(ステップS42)。
そして、ビットマップの更新が完了すると、ミラーLUN制御部56は、全てのセグメントを処理し終えたか否かを判定し(ステップS43)、未処理のセグメントがある場合には、ステップS37に戻って次のセグメントを処理する。一方、全てのセグメントを処理し終えた場合には、ミラーLUN制御部56は、ステップS33に戻って次のLUNの組についての等価性回復を行う。
このように、制御モジュールが自分の管理するLUNについて等価性回復処理を行うことによって、ストレージシステム1は、仮想ボリューム間の等価性を回復することができる。
上述してきたように、実施例では、データが書込まれるターゲットセグメントを管理する制御モジュール5がLUN毎に管理するビットマップを用いてライト処理及び等価性回復処理を実現する。すなわち、制御モジュール5は、管理するLUNについて、ビットマップをビットマップ記憶部61に記憶する。そして、ミラーLUN制御部56が、ビットマップの該当箇所を1にしてターゲットセグメントとミラーセグメントへのデータの書込みを制御し、両セグメントへの書込みが完了するとビットマップを0にリセットする。また、等価性回復部制御部63が、ビットマップ記憶部61を参照して等価性回復処理を行う。
したがって、アクティブ−アクティブ方式のストレージシステム1で等価性回復処理を実現することができる。また、LUNへのI/Oは、シンプロビジョニングやワイドストライピングによって複数のLUNに分散されるので、ビットマップをLUN単位でLUNを担当するLUN担当制御モジュールが管理することにより、制御モジュール5間で負荷を分散することができる。したがって、ビットマップを制御モジュール間で共有する必要がない。
また、実施例では、データが書込まれるターゲットセグメントを管理する制御モジュール5の内部イニシエータ57と、ミラーセグメントを管理する制御モジュール5の内部ターゲット制御部58とが、連携してミラーセグメントへのデータの書込みを制御する。したがって、制御モジュール5は、自装置が管理するセグメントと同様に、他の制御モジュール5が管理するセグメントにデータを書込むことができる。
また、実施例では、ストレージシステム1は、ディスク装置6の1つのブロックに、1つのLUNに関するビットマップだけを格納するので、ビットマップを読出す際にLUN間で排他処理を行う必要がなく、排他制御によるオーバーヘッドをなくすことができる。
なお、実施例では、制御モジュール5の制御機能について説明したが、制御モジュール5の制御機能の一部をソフトウェアによって実現することで、同様の機能を有するストレージ制御プログラムを得ることができる。そこで、ストレージ制御プログラムを実行する制御モジュールのハードウェア構成について説明する。
図7は、ストレージ制御プログラムを実行する制御モジュールのハードウェア構成を示す図である。なお、ここでは、図2に示した機能のうち、ホストインタフェース51、インタコネクトインタフェース52及びSAS53を除いた機能をソフトウェアで実現する場合について説明する。
図7に示すように、制御モジュール5は、ホストインタフェース51と、インタコネクトインタフェース52と、SAS53と、RAM(Random Access Memory)71と、CPU(Central Processing Unit)72と、不揮発性記憶部73とを有する。
RAM71は、プログラムやプログラムの実行途中結果などを記憶するメモリである。CPU72は、RAM71からプログラムを読み出して実行する中央処理装置である。不揮発性記憶部73は、プログラムを記憶する不揮発性の記憶部であり、例えば、HDD(Hard Disk Drive)、フラッシュメモリなどである。そして、コンピュータの一例であるCPU72において実行されるストレージ制御プログラムは、不揮発性記憶部73に記憶され、RAM71に読み出されてCPU72によって実行される。
また、実施例では、2つのLUN間でミラー処理及びJRMを行う場合について説明したが、本発明はこれに限定されるものではなく、3つ以上のLUN間でミラー処理及びJRMを行う場合にも同様に適用することができる。
1 ストレージシステム
2 業務サーバ
3 シェルフ
4 インターコネクトスイッチ
5 制御モジュール
6 ディスク装置
51 ホストインタフェース
52 インタコネクトインタフェース
53 SAS
54 ターゲット制御部
55 スナップショット/シンプロ制御部
56 ミラーLUN制御部
57 内部イニシエータ
58 内部ターゲット制御部
59 RAID制御部
60 ディスク制御部
61 ビットマップ記憶部
62 ミラーLUN情報記憶部
63 等価性回復制御部
66,67 ブロック
71 RAM
72 CPU
73 不揮発性記憶部
2 業務サーバ
3 シェルフ
4 インターコネクトスイッチ
5 制御モジュール
6 ディスク装置
51 ホストインタフェース
52 インタコネクトインタフェース
53 SAS
54 ターゲット制御部
55 スナップショット/シンプロ制御部
56 ミラーLUN制御部
57 内部イニシエータ
58 内部ターゲット制御部
59 RAID制御部
60 ディスク制御部
61 ビットマップ記憶部
62 ミラーLUN情報記憶部
63 等価性回復制御部
66,67 ブロック
71 RAM
72 CPU
73 不揮発性記憶部
Claims (6)
- ミラー制御を行うデータの等価性回復処理に用いるマップ情報を記憶装置の所定の記憶管理単位で記憶するマップ情報記憶部と、
自身がアクセスを制御する第1の記憶装置を収納した第1の筐体と他のストレージ制御装置がアクセスを制御する第2の記憶装置を収納した第2の筐体との間でミラー制御を行い、データの書込みでは前記マップ情報記憶部を用いて前記第1の記憶装置及び前記第2の記憶装置へのデータの書込みを制御するミラー制御部と
を備えたことを特徴とするストレージ制御装置。 - 障害が発生した場合に、前記マップ情報記憶部を参照して前記等価性回復処理を行う等価性回復制御部をさらに備えたことを特徴とする請求項1に記載のストレージ制御装置。
- 前記第2の記憶装置における前記所定の記憶管理単位の領域を透過的にアクセスする内部イニシエータをさらに備え、
前記第2の記憶装置へのアクセスを制御するストレージ制御装置は、前記第2の記憶装置における前記所定の記憶管理単位の領域を当該ストレージ制御装置から透過的にアクセスさせる内部ターゲット制御部を備え、
前記ミラー制御部は、前記内部イニシエータにより前記内部ターゲット制御部を介して前記第2の記憶装置へのデータの書込みを制御することを特徴とする請求項1又は2に記載のストレージ制御装置。 - 前記マップ情報記憶部に記憶されるマップ情報は、前記第1の記憶装置のアクセス単位の1つの領域には前記所定の記憶管理単位の1つの情報だけを含めて前記第1の記憶装置に格納されることを特徴とする請求項1、2又は3に記載のストレージ制御装置。
- 第1の記憶装置と第1のストレージ制御装置とを収納した第1の筐体と第2の記憶装置と第2のストレージ制御装置とを収納した第2の筐体を有するストレージシステムにおいて、
前記第1のストレージ制御装置は、
ミラー制御を行うデータの等価性回復処理に用いるマップ情報を記憶装置の所定の記憶管理単位で記憶するマップ情報記憶部と、
前記第1の筐体と前記第2の筐体との間でミラー制御を行い、データの書込みでは前記マップ情報記憶部を用いて前記第1の記憶装置及び前記第2の記憶装置へのデータの書込みを制御するミラー制御部とを備え、
前記第2のストレージ制御装置は、
前記ミラー制御部の制御の下に前記第2の記憶装置へのデータの書込みを制御する書込み制御部
を備えたことを特徴とするストレージシステム。 - ミラー制御を行うデータの等価性回復処理に用いるマップ情報を記憶装置の所定の記憶管理単位でメモリに書込み、
第1のストレージ制御装置がアクセスを制御する第1の記憶装置を収納した第1の筐体と第2のストレージ制御装置がアクセスを制御する第2の記憶装置を収納した第2の筐体との間でミラー制御を行い、データの書込みでは前記メモリに書込んだマップ情報を用いて前記第1の記憶装置及び前記第2の記憶装置へのデータの書込みを制御する
処理を前記第1のストレージ制御装置に実行させることを特徴とするストレージ制御プログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014148786A JP2016024656A (ja) | 2014-07-22 | 2014-07-22 | ストレージ制御装置、ストレージシステム及びストレージ制御プログラム |
US14/740,347 US9779002B2 (en) | 2014-07-22 | 2015-06-16 | Storage control device and storage system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014148786A JP2016024656A (ja) | 2014-07-22 | 2014-07-22 | ストレージ制御装置、ストレージシステム及びストレージ制御プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2016024656A true JP2016024656A (ja) | 2016-02-08 |
Family
ID=55166848
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014148786A Withdrawn JP2016024656A (ja) | 2014-07-22 | 2014-07-22 | ストレージ制御装置、ストレージシステム及びストレージ制御プログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US9779002B2 (ja) |
JP (1) | JP2016024656A (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10585764B2 (en) * | 2017-10-02 | 2020-03-10 | International Business Machines Corporation | Data storage system comprising primary and secondary storage systems |
KR102695719B1 (ko) * | 2018-12-19 | 2024-08-16 | 삼성전자주식회사 | 데이터 스토리지 장치를 포함하는 시스템 및 데이터 스토리지 장치의 디스카드 동작 제어 방법 |
Family Cites Families (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6052797A (en) * | 1996-05-28 | 2000-04-18 | Emc Corporation | Remotely mirrored data storage system with a count indicative of data consistency |
JP3968207B2 (ja) * | 2000-05-25 | 2007-08-29 | 株式会社日立製作所 | データ多重化方法およびデータ多重化システム |
US7139885B2 (en) * | 2001-12-27 | 2006-11-21 | Hitachi, Ltd. | Method and apparatus for managing storage based replication |
US7152078B2 (en) | 2001-12-27 | 2006-12-19 | Hitachi, Ltd. | Systems, methods and computer program products for backup and restoring storage volumes in a storage area network |
US7139932B2 (en) * | 2002-01-03 | 2006-11-21 | Hitachi, Ltd. | Data synchronization of multiple remote storage after remote copy suspension |
US7107355B2 (en) * | 2002-02-11 | 2006-09-12 | Sun Microsystems, Inc. | High availability lightweight directory access protocol service |
US20030177306A1 (en) * | 2002-03-14 | 2003-09-18 | Cochran Robert Alan | Track level snapshot |
US7318133B2 (en) * | 2003-06-03 | 2008-01-08 | Hitachi, Ltd. | Method and apparatus for replicating volumes |
US7111004B2 (en) * | 2003-06-18 | 2006-09-19 | International Business Machines Corporation | Method, system, and program for mirroring data between sites |
US7188272B2 (en) * | 2003-09-29 | 2007-03-06 | International Business Machines Corporation | Method, system and article of manufacture for recovery from a failure in a cascading PPRC system |
US7293048B2 (en) * | 2003-10-29 | 2007-11-06 | Hewlett-Packard Development Company, L.P. | System for preserving logical object integrity within a remote mirror cache |
US7600087B2 (en) * | 2004-01-15 | 2009-10-06 | Hitachi, Ltd. | Distributed remote copy system |
US7421549B2 (en) * | 2004-03-02 | 2008-09-02 | Hitachi, Ltd. | Method and apparatus of remote copy for multiple storage subsystems |
US8185663B2 (en) * | 2004-05-11 | 2012-05-22 | Hewlett-Packard Development Company, L.P. | Mirroring storage interface |
US7269743B2 (en) * | 2004-07-16 | 2007-09-11 | Hitachi, Ltd. | Method and apparatus for secure data mirroring a storage system |
US7139782B2 (en) * | 2004-09-21 | 2006-11-21 | Hitachi, Ltd. | Method of and system for testing remote storage |
US7680839B1 (en) * | 2004-09-30 | 2010-03-16 | Symantec Operating Corporation | System and method for resynchronizing mirrored volumes |
US7293154B1 (en) * | 2004-11-18 | 2007-11-06 | Symantec Operating Corporation | System and method for optimizing storage operations by operating only on mapped blocks |
US7617259B1 (en) * | 2004-12-31 | 2009-11-10 | Symantec Operating Corporation | System and method for managing redundant storage consistency at a file system level |
US7415488B1 (en) * | 2004-12-31 | 2008-08-19 | Symantec Operating Corporation | System and method for redundant storage consistency recovery |
US7979396B1 (en) * | 2005-06-28 | 2011-07-12 | Symantec Operating Corporation | System and method for performing consistent resynchronization between synchronized copies |
US7539892B2 (en) * | 2005-10-14 | 2009-05-26 | International Business Machines Corporation | Enhanced resynchronization in a storage-based mirroring system having different storage geometries |
US7885923B1 (en) * | 2006-06-30 | 2011-02-08 | Symantec Operating Corporation | On demand consistency checkpoints for temporal volumes within consistency interval marker based replication |
WO2008039057A1 (en) * | 2006-09-25 | 2008-04-03 | Intellimagic | Optimising remote mirroring resynchronisation |
US7685386B2 (en) * | 2007-01-24 | 2010-03-23 | International Business Machines Corporation | Data storage resynchronization using application features |
US7908448B1 (en) * | 2007-01-30 | 2011-03-15 | American Megatrends, Inc. | Maintaining data consistency in mirrored cluster storage systems with write-back cache |
US8046548B1 (en) * | 2007-01-30 | 2011-10-25 | American Megatrends, Inc. | Maintaining data consistency in mirrored cluster storage systems using bitmap write-intent logging |
US7873809B2 (en) * | 2007-03-29 | 2011-01-18 | Hitachi, Ltd. | Method and apparatus for de-duplication after mirror operation |
JP2009003499A (ja) | 2007-06-19 | 2009-01-08 | Hitachi Ltd | ファイル共有システム及びファイル共有システムを用いて単一の論理的ディレクトリ構成を生成する方法 |
US7970903B2 (en) * | 2007-08-20 | 2011-06-28 | Hitachi, Ltd. | Storage and server provisioning for virtualized and geographically dispersed data centers |
US7818522B2 (en) * | 2007-09-07 | 2010-10-19 | International Business Machines Corporation | Apparatus, system, and method for incremental resynchronization in a data storage system |
JP5521595B2 (ja) | 2010-02-05 | 2014-06-18 | 富士通株式会社 | ストレージシステム及びストレージ制御方法 |
-
2014
- 2014-07-22 JP JP2014148786A patent/JP2016024656A/ja not_active Withdrawn
-
2015
- 2015-06-16 US US14/740,347 patent/US9779002B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US9779002B2 (en) | 2017-10-03 |
US20160026548A1 (en) | 2016-01-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9804939B1 (en) | Sparse raid rebuild based on storage extent allocation | |
US8495293B2 (en) | Storage system comprising function for changing data storage mode using logical volume pair | |
US7975115B2 (en) | Method and apparatus for separating snapshot preserved and write data | |
US7783850B2 (en) | Method and apparatus for master volume access during volume copy | |
US8204858B2 (en) | Snapshot reset method and apparatus | |
US20140208028A1 (en) | Extender storage pool system | |
US20050097132A1 (en) | Hierarchical storage system | |
JP6604115B2 (ja) | ストレージ装置およびストレージ制御プログラム | |
US10095585B1 (en) | Rebuilding data on flash memory in response to a storage device failure regardless of the type of storage device that fails | |
US10620843B2 (en) | Methods for managing distributed snapshot for low latency storage and devices thereof | |
US20150205525A1 (en) | Fine-grained data reorganization in tiered storage architectures | |
JP4804218B2 (ja) | 記憶媒体への書き込み回数を管理する計算機システム及びその制御方法 | |
US10585763B2 (en) | Rebuild rollback support in distributed SDS systems | |
JP6561765B2 (ja) | ストレージ制御装置およびストレージ制御プログラム | |
US20180357141A1 (en) | Data storage system comprising an array of drives | |
JP6557785B2 (ja) | 計算機システム及びストレージ装置の制御方法 | |
US8745343B2 (en) | Data duplication resynchronization with reduced time and processing requirements | |
US20110202719A1 (en) | Logical Drive Duplication | |
JP2016024656A (ja) | ストレージ制御装置、ストレージシステム及びストレージ制御プログラム | |
US8935488B2 (en) | Storage system and storage control method | |
US11513900B2 (en) | Remote replication of snapshots taken while replication was inactive | |
US11188425B1 (en) | Snapshot metadata deduplication | |
US11340795B2 (en) | Snapshot metadata management | |
US20240220378A1 (en) | Information processing system and information processing method | |
US20160357479A1 (en) | Storage control apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170406 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20171106 |