なお、以下に説明する実施の形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また、実施の形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
以下、本発明の好適な実施の形態の一例について、図面を参照して具体的に説明する。
〔第1の実施の形態〕
(本実施の形態の概要)
先ず、本実施の形態の概要は、情報処理装置(例えば図1の符号10)に接続され第1データ記憶装置(例えば符号20)に記憶されるデータを、他の第2データ記憶装置(例えば符号120)に対して転送して複製するデータ複製システム(例えば図1の符号1)である。
前記第1データ記憶装置は、前記情報処理装置からの要求である要求部と該要求部に連なる実データ部の中から前記要求部を抽出し、この抽出された前記要求部に対して、前記要求の順番を識別する番号情報を少なくとも含む第1付帯情報部を付与し、前記情報処理装置からの前記要求に基づく前記第1データ記憶装置のデータ処理と略同期して、前記第1付帯情報部付き要求部を前記第2データ記憶装置に対して転送する同期要求部転送制御手段(例えば符号52、54、56、58とからなる構成)と、前記番号情報と同じ順番である番号情報を少なくとも含む第2付帯情報部を、前記実データ部に対して付与し、前記データ処理と非同期にて、前記第2付帯情報付き実データ部を前記第2データ記憶装置に対して転送制御する非同期実データ部転送制御手段(例えば符号62、66とからなる構成)と、前記同期要求部転送制御手段での要求部転送と、前記非同期実データ部転送制御手段での実データ転送とによる通信を状況に応じて制御する通信制御手段(例えば符号72)と、を含むことを特徴としている。
前記第2データ記憶装置は、同期方式にて転送され、処理されるべき第1付帯情報部の番号情報を有する要求部を探す要求部探索手段(例えば符号152)と、非同期方式にて転送され、処理されるべき第2付帯情報部の番号情報を有する実データ部を探す実データ部探索手段(例えば符号154)と、探索された前記実データ部と、探索された前記要求部とから前記他のデータ記憶装置のデータ構造を再構成する再構成手段(例えば符号156)と、を含むことを特徴としている。
これにより、情報処理装置からの要求が発生した場合に、同期要求部転送制御手段により、要求部と実データ部を分離して要求部のみを同期して第2データ記憶装置に送信し、非同期実データ部転送制御手段により、実データ部は非同期にて送信する。このため、受信側では、要求部の情報から複製の進捗状況を把握でき、第2データ記憶装置のデータの完全性を把握できるものである。すなわち、メインサイトへのデータ更新命令を受信した時に、受信したデータ更新命令コマンドのみ同期してリモートサイトに送信し、データはこれまで通りメインサイトへのデータ更新命令とは非同期に送信する。このような構成とすることにより、メインサイトとリモートサイトではホストから受けたデータ更新命令に関して、同じ情報を持つことができ、尚且つコマンドのみの転送であれば一つの処理で数バイトのみなので、メインサイト−リモートサイト間の距離が遠くても通信が直ぐに完了し、I/Oレスポンスの遅延は抑えられる。
(システムの全体構成)
次に、上述のような主たる機能を達成するための、本発明のデータ複製システムの具体的構成について、全体構成から説明し、続いてメイン側データ記憶装置並びにリモート側データ記憶装置の各部の詳細構成について説明することとする。
本実施の形態のデータ複製システムの全体構成について、図1を参照しつつ説明する。図1は、本実施の形態によるデータ複製システムの全体の概略構成を示すブロック図である。
本実施の形態のデータ複製システム1は、図1に示すように、メインサイト側の上位装置たる第1情報処理装置であるホストコンピュータ10と、ホストコンピュータ10と第1通信網を介して通信可能に形成されたメインサイト側の第1データ記憶装置であるディスクアレイ装置20と、メインサイト側のディスクアレイ装置20と第2通信網を介して通信可能に形成されたリモートサイト側の第2データ記憶装置であるディスクアレイ装置120と、ディスクアレイ装置120と第3通信網を介して通信可能に形成されたリモートサイト側の上位装置たる第2情報処理装置であるホストコンピュータ110と、を含んで構成されている。なお、メインサイトとリモートサイトは、災害対策として、遠隔地にあるものとする。
ホストコンピュータ10、110は、サーバー、ネットワーク上のデスクトップ、ラップトップコンピュータ、大型計算機システム、その他の上位計算機システムなど、無線・有線通信機能を有する情報機器、またはこれに類するコンピュータなどいかなるコンピュータでもよい。そして、ホストコンピュータ10は、ディスクアレイ装置20に対して、リードコマンド(要求)、ライトコマンド(要求)、などを送信する。
ディスクアレイ装置20、120は、「ディスクアレイ・サブシステム」ともいい、「ディスクアレイ・サブシステム」は、上位装置たるホストコンピュータに対し、情報の授受を行う制御を行うと共に、情報の格納を行う(一又は複数の記憶媒体<例えばHDD>からなる)RAID構成を内蔵するデータ記憶装置をいう。
ディスクアレイ装置20は、ホストインターフェース30と、データを溜めておくキャッシュメモリ40と、RAIDコントローラ50と、データのバックアップ元となるRAID構成80とを含む構成としている。なお、ディスクアレイ装置20は、他のディスクアレイ装置との通信を行う図示しない通信手段を備えている。
RAIDコントローラ50は、少なくとも一つのHDDを有するRAID構成80を有するディスクアレイ装置20に用いられるRAID制御装置であり、RAID構成80を制御する。
RAID構成80は、少なくとも一つのデータ記憶媒体であるHDD(例えばSCSIディスクドライブ)からなるMV(マスタ・ボリューム)などを有する。
RAID構成80は、図示しないが、例えば、六つ又はそれ以上のHDDから成ることが好ましい。RAID構成80において、6台のHDDでRAID6を組むことにより、2HDDのRAID構成80を実現できる。2HDDのRAID構成80では、二つのHDDへのライトが不可能な場合でも、他のHDDからライトすることでデータの保存が可能となる。また、RAID1、RAID4又はRAID5を構成する場合は、RAID構成80内で一つのHDDがライト不可能な場合でも、他のHDDからライトすることでデータの保存が可能となる。
ディスクアレイ装置20は、ホストコンピュータ10からのリードコマンド及びライトコマンドを受信し、RAID構成80が備える一又は複数のHDDに対して、データのリード及びライトを実施する。
ホストインターフェース30は、ホストコンピュータ10からのリードコマンド、ライトコマンドなどを受信する。キャッシュメモリ40は、ホストコンピュータ10から受信したデータ又はホストコンピュータ10へ送信したデータをキャッシュしておく。ホストインターフェース30は、ホストコンピュータ10からライトコマンドを受信したとき、キャッシュメモリ40に対して要求データの書き込みを行う。その後、RAIDコントローラ50は、キャッシュメモリ40のデータをRAID構成80へ書き込む処理を行う。また、ホストインターフェース30は、ホストコンピュータ10からリードコマンドを受信したとき、キャッシュメモリ40にその要求するデータが存在する場合には、そのデータをホストコンピュータ10へ送信する。一方、キャッシュメモリ40にそのデータが存在しない場合には、ホストインターフェース30は、RAID構成80からデータをリードするようRAIDコントローラ50に要求し、RAIDコントローラ50を介して得られた要求データをホストコンピュータ10へ送信する。
ディスクアレイ装置120は、前記ディスクアレイ装置20同様に、ホストインターフェース130と、キャッシュメモリ140と、RAIDコントローラ150と、バックアップ先となるRAID構成180と、を含んで構成される。なお、ディスクアレイ装置20は、他のディスクアレイ装置との通信を行う図示しない通信手段を備えている。
RAID構成180は、少なくとも1つのHDDであるRV(リモート・ボリューム)を含む。なお、RAID構成180は、RAID構成80と同様の構成とすることが好ましい。
ディスクアレイ装置120は、ライトコマンドを実行すると、RAIDコントローラ150が、キャッシュメモリ140のデータをRAID構成180への書き込む処理を行う。
(メイン側のディスクアレイ装置20の特徴的構成の詳細について)
ここで、本実施の形態のメインサイト側のディスクアレイ装置20の特徴的構成について、図1を参照しつつ説明する。
ディスクアレイ装置20のキャッシュメモリ40は、ホストコンピュータ10からのI/Oのデータを溜めておく入出力情報一時記憶手段(I/Oキャッシュ)42と、リモートサイトにデータ通信をする時にコマンドを格納するコマンド情報一時記憶手段(コマンドキャッシュ)44と、リモートサイトにデータ通信をする時にデータを格納するデータ情報一時記憶手段(データキャッシュ)46とを含んで構成される。
入出力情報一時記憶手段42は、例えばI/Oキャッシュ等にて形成され、ホストコンピュータ10からの要求である要求部(例えばライトコマンド)と該要求部に連なる実データ部(例えば複数のライトデータ)が入力され一時記憶される。
コマンド情報一時記憶手段44は、例えばコマンドキャッシュ等にて形成され、入出力情報一時記憶手段42に記憶される前記要求部(例えばライトコマンド)と該要求部に連なる実データ部(例えば複数のライトデータ)の中から抽出される(抜き出される)要求部(例えばライトコマンド)が入力され一時記憶される。
データ情報一時記憶手段46は、例えばデータキャッシュ等にて形成され、入出力情報一時記憶手段42に記憶される前記要求部(例えばライトコマンド)と該要求部に連なる実データ部(例えば複数のライトデータ)の中から要求部が抽出された(抜き出された)結果、残存する実データ部(例えばライトデータ)が入力され一時記憶される。
ディスクアレイ装置20のRAIDコントローラ50(制御手段)は、プログラム制御により動作するものであり、データ更新命令受信手段52と、コマンド及びデータ処理手段54と、第1のシーケンス番号付加処理手段56と、シーケンス番号付コマンド同期転送手段58と、第2のシーケンス番号付加処理手段62と、データ書込処理手段64と、データ非同期転送手段66と、通信帯域監視手段68と、その他の各処理部72とを含んで構成される。
なお、図1に示すブロック図におけるRAIDコントローラ50内における各ブロック(例えば符号52、54、56、58、62、64、66、68、及び72等)は、コンピュータ(CPU)が適宜なメモリに格納された各種プログラムを実行することにより、該プログラムにより機能化された状態を示すソフトウエアモジュール構成である。すなわち、物理的構成は例えば一又は複数のCPU(或いは一又は複数のCPUと一又は複数のメモリ)等ではあるが、各手段によるソフトウエア構成は、プログラムの制御によってCPUが発揮する複数の機能を、それぞれ複数の手段による構成要素として表現したものである。CPUがプログラムによって実行されている動的状態(プログラムを構成する各手順を実行している状態)を機能表現した場合、CPU内に各手段が構成されることになる。プログラムが実行されていない静的状態にあっては、各手段の構成を実現するプログラム全体(或いは各手段の構成に含まれるプログラム各部)は、メモリなどの記憶領域に記憶されている。以下に示す各手段の説明は、プログラムにより機能化されたコンピュータ(CPUないしはコントローラ)をプログラムの機能と共に説明したものと解釈することも出来るし、また、固有のハードウエアにより恒久的に機能化された複数の電子回路ブロックからなる装置を説明したものとも解釈することが出来ることは、当然である。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現でき、いずれかに限定されるものではない。
データ更新命令受信手段52は、ホストコンピュータ10よりよりRAID構成80内のHDDであるMV(マスタ・ボリューム)へのライト・コマンドによるデータ更新命令を受信する機能を有する。さらに、データ更新命令受信手段52は、受信したライト・コマンド及び、ライトデータを入出力情報一時記憶手段42に記憶する機能を含む。
コマンド及びデータ処理手段54は、入出力情報一時記憶手段42を参照し、情報処理装置であるホストコンピュータ10からの要求である要求部(例えばライト・コマンド)と該要求部に連なる実データ部(例えばライト・データ)の中から前記要求部を抽出する(抜き出す)要求部抽出手段としての機能を含む。
さらに、コマンド及びデータ処理手段54は、抽出された(抜き出された)要求部をコマンド情報一時記憶手段44に記憶する機能を含む。
第1のシーケンス番号付加処理手段56は、前記コマンド及びデータ処理手段にて抽出されコマンド情報一時記憶手段44に記憶されている要求部(例えばライト・コマンドなど)に関する情報に対して、前記要求の順番を識別する番号情報(例えばシーケンス番号)を少なくとも含む第1付帯情報部を付与する第1の付帯情報付与手段としての機能を含む。
シーケンス番号付コマンド同期転送手段58は、前記要求に基づくディスクアレイ装置20のデータ処理(ホストコンピュータ10からRAID構成80に対するライトデータの書き込み処理)と略同期して(前記書き込み処理を行った後に或いは行うとともに)、前記第1付帯情報部付き要求部をディスクアレイ装置120に対して転送する制御処理を行う同期要求部転送制御手段として機能する。
第2のシーケンス番号付加処理手段62は、コマンドのシーケンス番号の番号情報と同じ順番である番号情報を少なくとも含む第2付帯情報部を、前記実データ部(例えばライトデータなど)に対して付与する第2の付帯情報付与手段としての機能を含む。
データ書込処理手段64は、入出力情報一時記憶手段42のライトコマンドに従い、ライトデータをRAID構成80のHDDに書き込む処理を行う。
データ非同期転送手段66は、前記データ処理(ホストコンピュータ10からRAID構成80に対するライトデータの書き込み処理)と非同期にて、前記第2付帯情報付き実データ部をディスクアレイ装置120に対して転送制御する非同期実データ部転送制御手段として機能する。
通信帯域監視手段68は、ディスクアレイ装置20とディスクアレイ装置120との通信の回線使用状況を監視する通信監視手段としての機能を有する。より詳細には、通信待機監視手段68は、ディスクアレイ装置20からの応答時間を計測する応答時間計測部を含む。
その他の各処理部72は、前記各手段の実行順序ならびに各手段による制御を司るモジュール制御手段を含んでよい。また、その他の各処理部72は、シーケンス番号付コマンド同期転送手段58(同期要求部転送制御手段)での要求部(ライトコマンド及びシーケンス番号)転送と、データ非同期転送手段66(非同期実データ部転送制御手段)での実データ(ライトデータ)転送とによる通信を状況に応じて制御する通信制御手段を含んでよい。
ここで、ディスクアレイ装置20に関し、本実施の形態の構成要件と、特許請求の範囲に記載の構成要件との対応関係について述べると、先ず、本実施の形態のデータ更新命令受信手段52、コマンド及びデータ処理手段54、第1のシーケンス番号付加処理手段56、シーケンス番号付コマンド同期転送手段58により、本発明にいう「同期要求部転送制御手段」を構成できる。この「同期要求部転送制御手段」は、記情報処理装置からの要求である要求部と該要求部に連なる実データ部の中から前記要求部を抽出し、この抽出された前記要求部に対して、前記要求の順番を識別する番号情報を少なくとも含む第1付帯情報部を付与し、前記情報処理装置からの前記要求に基づく前記第1データ記憶装置のデータ処理と略同期して、前記第1付帯情報部付き要求部を前記第2データ記憶装置に対して転送する。
また、本実施の形態の第2のシーケンス番号付加処理手段62、データ非同期転送手段66により、本発明にいう「非同期実データ部転送制御手段」を構成できる。この「非同期実データ部転送制御手段」は、前記番号情報と同じ順番である番号情報を少なくとも含む第2付帯情報部を、前記実データ部に対して付与し、前記データ処理と非同期にて、前記第2付帯情報付き実データ部を前記第2データ記憶装置に対して転送制御する。
さらに、本実施の形態におけるその他の各処理部72内に含まれる「通信制御手段(図示せず)」が、本発明にいう「通信制御手段」に相当する。この「通信制御手段」は、前記同期要求部転送制御手段での要求部転送と、前記非同期実データ部転送制御手段での実データ転送とによる通信を状況に応じて制御する。
加えて、本実施の形態における通信帯域監視手段68は、本発明にいう「通信監視手段」に相当する。この「通信監視手段」は、前記第1のデータ記憶装置と前記第2データ記憶装置との通信の回線使用状況を監視し、前記第2データ記憶装置からの応答時間を計測する。
さらにまた、本実施の形態におけるその他の各処理部72内に含まれる「通信制御手段(図示せず)」は、以下の各機能を有していてもよい。すなわち、通信制御手段は、前記通信監視手段にて計測された前記応答時間が第1特定閾値未満の場合に、前記実データの授受を許可し、前記応答時間が前記第1特定閾値を超える場合に、前記実データの授受を不許可とする制御を行う第1の通信許可制御部を含んでよい。さらに、通信制御手段は、前記通信監視手段にて計測された応答時間が第2特定閾値未満の場合に、前記要求部の授受を許可し、前記応答時間が前記第2特定閾値を超える場合に、前記要求部の授受を不許可とする制御を行う第2の通信許可制御部を含んでよい。
(リモート側のディスクアレイ装置120の特徴的構成の詳細について)
ここで、本実施の形態のリモートサイト側のディスクアレイ装置120の特徴的構成について、図1を参照しつつ説明する。
ディスクアレイ装置120のキャッシュメモリ140は、前記ディスクアレイ装置20同様に、メインサイトから送信されたコマンドを格納するコマンド情報一時記憶手段(コマンドキャッシュ)144と、メインサイトから送信されたデータを格納するデータ情報一時記憶手段(データキャッシュ)146と、前記データ及びコマンドを格納する入出力情報一時記憶手段(I/Oキャッシュ)142と、を含んで構成される。
入出力情報一時記憶手段142は、例えばI/Oキャッシュ等にて形成され、メインサイト側のディスクアレイ装置20にて分離された要求部(ライトコマンド)と実データ部(ライトデータ)とが個別に転送がなされて、再構成が行われた要求部及び実データ部が記憶される。そして、ライトコマンドによってRAID構成180に書き込み処理がなされる際に利用される。
コマンド情報一時記憶手段144は、例えばコマンドキャッシュ等にて形成され、メインサイト側のコマンド情報一時記憶手段44から同期にて転送されてくる前記要求部(例えばライトコマンド)が入力され一時記憶される。
データ情報一時記憶手段146は、例えばデータキャッシュ等にて形成され、メインサイト側のデータ情報一時記憶手段46から非同期にて転送されてくる実データ部(例えばライトデータ)が入力され一時記憶される。
ディスクアレイ装置120のRAIDコントローラ150(制御手段)は、プログラム制御により動作するものであり、コマンド探索手段152と、データ探索手段154と、コマンド及びデータ作成手段156と、データ更新手段158と、その他の各処理部172、とを含んで構成される。
なお、図1に示すブロック図におけるRAIDコントローラ150内における各ブロック(例えば符号152、154、156、158、及び172等)は、コンピュータ(CPU)が適宜なメモリに格納された各種プログラムを実行することにより、該プログラムにより機能化された状態を示すソフトウエアモジュール構成である。すなわち、物理的構成は例えば一又は複数のCPU(或いは一又は複数のCPUと一又は複数のメモリ)等ではあるが、各手段によるソフトウエア構成は、プログラムの制御によってCPUが発揮する複数の機能を、それぞれ複数の手段による構成要素として表現したものである。CPUがプログラムによって実行されている動的状態(プログラムを構成する各手順を実行している状態)を機能表現した場合、CPU内に各手段が構成されることになる。プログラムが実行されていない静的状態にあっては、各手段の構成を実現するプログラム全体(或いは各手段の構成に含まれるプログラム各部)は、メモリなどの記憶領域に記憶されている。以下に示す各手段の説明は、プログラムにより機能化されたコンピュータ(CPUないしはコントローラ)をプログラムの機能と共に説明したものと解釈することも出来るし、また、固有のハードウエアにより恒久的に機能化された複数の電子回路ブロックからなる装置を説明したものとも解釈することが出来ることは、当然である。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現でき、いずれかに限定されるものではない。
コマンド探索手段152は、処理されるべき前記第1付帯情報部の番号情報(シーケンス番号)を有する前記要求部(コマンド)を探す要求部探索手段としての機能を含む。このコマンド探索手段152は、本発明にいう「要求部探索手段」に相当する。この「要求部探索手段」は、処理されるべき前記第1付帯情報部の番号情報を有する前記要求部を探す。
データ探索手段154は、処理されるべき前記第2付帯情報部の番号情報(シーケンス番号情報)を有する前記実データ部(ライトデータ)を探す実データ部探索手段としての機能を含む。このデータ探索手段154は、本発明にいう「実データ部探索手段」に相当する。この「実データ部探索手段」は、処理されるべき前記第2付帯情報部の番号情報を有する前記実データ部を探す。
コマンド及びデータ作成手段156は、探索された前記実データ部と、探索された前記要求部とからディスクアレイ装置20でのデータ構造を再構成する再構成手段としての機能を含む。このコマンド及びデータ作成手段156は、本発明にいう「再構成手段」に相当する。この「再構成手段」は、探索された前記実データ部と、探索された前記要求部とから前記第1のデータ記憶装置のデータ構造を再構成する。
その他の各処理部172は、前記各手段の実行順序ならびに各手段による制御を司るモジュール制御手段を含んでよい。
なお、要求部が抽出されて、第1付帯情報部が付与された状態のデータ構造としては、例えば、図3に示すような構成が挙げられる。図3に示すデータ構造D102では、要求部の一例であるコマンド情報(例えばライトコマンド)D114と、これに連なる第1付帯情報部としての付帯情報D112とを含む構成としている。付帯情報D112は、例えばシーケンス番号等が挙げられる。これによって、コマンドとシーケンス番号とが対応づけられることとなる。
(システムの概略動作)
以上のような構成からなる本実施の形態のデータ複製システムにおいて、概略次のように動作する。すなわち、図1及び図2に示すように、メインサイト側のディスクアレイ装置20にあっては、データ更新命令受信手段52は、ホストコンピュータ10よりよりRAID構成80内のHDDであるMV(マスタ・ボリューム)へのライト・コマンドによるデータ更新命令を受信し、受信したライト・コマンド及び、ライトデータを入出力情報一時記憶手段42に記憶する。
次に、コマンド及びデータ処理手段54は、入出力情報一時記憶手段42を参照し、ホストコンピュータ10からの要求である要求部(例えばライト・コマンド)と該要求部に連なる実データ部(例えばライト・データ)の中から前記要求部を抽出する(抜き出す)。さらに、コマンド及びデータ処理手段54は、抽出された(抜き出された)要求部をコマンド情報一時記憶手段44に記憶する。
続いて、第1のシーケンス番号付加処理手段56は、前記コマンド及びデータ処理手段にて抽出されコマンド情報一時記憶手段44に記憶されている要求部(例えばライト・コマンドなど)に関する情報に対して、前記要求の順番を識別する番号情報(例えばシーケンス番号)を少なくとも含む第1付帯情報部を付与する。
そして、シーケンス番号付コマンド同期転送手段58は、前記要求に基づくディスクアレイ装置20のデータ処理(ホストコンピュータ10からRAID構成80に対するライトデータの書き込み処理)と略同期して(前記書き込み処理を行った後に或いは行うとともに)、前記第1付帯情報部付き要求部をディスクアレイ装置120に対して転送する制御処理を行う。
一方、第2のシーケンス番号付加処理手段62は、前記番号情報と同じ順番である番号情報を少なくとも含む第2付帯情報部を、前記実データ部に対して付与する。他方、データ書込処理手段64は、入出力情報一時記憶手段42のライトコマンドに従い、ライトデータをRAID構成80のHDDに書き込む処理を行う。そして、データ非同期転送手段66は、前記データ処理(ホストコンピュータ10からRAID構成80に対するライトデータの書き込み処理)と非同期にて、前記第2付帯情報付き実データ部をディスクアレイ装置120に対して転送制御する。
なお、その他の各処理部72内の不図示の通信制御手段は、シーケンス番号付コマンド同期転送手段58での要求部(ライトコマンド及びシーケンス番号)転送と、データ非同期転送手段66(非同期実データ部転送制御手段)での実データ(ライトデータ)転送とによる通信を状況に応じて制御する。
次に、リモートサイト側のディスクアレイ装置120にあっては、コマンド探索手段152は、処理されるべき前記第1付帯情報部の番号情報(シーケンス番号)を有する前記要求部(コマンド)を探す。また、データ探索手段154は、処理されるべき前記第2付帯情報部の番号情報(シーケンス番号情報)を有する前記実データ部(ライトデータ)を探す。
コマンド及びデータ作成手段156は、探索された前記実データ部と、探索された前記要求部とからディスクアレイ装置20でのデータ構造を再構成する。
なお、通信帯域監視手段68は、ディスクアレイ装置20とディスクアレイ装置120との通信の回線使用状況を監視し、ディスクアレイ装置20からの応答時間を計測する。
(処理手順について)
次に、上述のような構成を有するデータ複製システムにおける各種の処理手順について、図4乃至図5を参照しつつ説明する。
(メインサイト側のRAID構成のマスタボリュームへのデータ更新処理)
先ず、メインサイト側のディスクアレイ装置20におけるRAID構成80のMV(マスタ・ボリューム)へのライト動作について、図4のフローチャートを参照して説明する。図4は、本発明の第1の実施の形態によるデータ複製システムにおいて、メインサイト側のディスクアレイ装置にて処理される処理手順の一例を示すフローチャートである。
先ず、メインサイト側のディスクアレイ装置20が、ホストコンピュータ10よりRAID構成80のMV(マスタ・ボリューム)へのライトコマンドによるデータ更新命令を受信する(ステップS100:図示せず)<データ更新命令受信ステップ>。
そして、受信したライトコマンド及び、ライトデータを入出力情報一時記憶手段(I/Oキャッシュ)42に送信して記憶する処理を行う(ステップS101)<コマンド及びデータ記憶処理ステップ>。
続いて、入出力情報一時記憶手段(I/Oキャッシュ)42に送信されて記憶されたコマンド付データ(要求部と該要求部につらなる実データ部)の中からライトコマンド(要求部)を抽出する(抜き出す)<コマンド抽出ステップ>。加えて、抽出されたコマンドに対して、装置内部でのデータ更新順番を示すシーケンス番号を付加する<第1シーケンス番号付加ステップ>。さらに、シーケンス番号付きコマンドを、コマンド情報一時記憶手段(コマンドキャッシュ)44に送信して記憶する処理を行う(ステップS102)。
さらに、メインサイト側のディスクアレイ装置20のコマンド情報一時記憶手段(コマンドキャッシュ)44のシーケンス番号付きのコマンドを、リモートサイトに接続された回線を通じてリモートサイト側のディスクアレイ装置120のコマンド情報一時記憶手段(コマンドキャッシュ)144に同期式にて転送する(ステップS103)<シーケンス番号付コマンド同期転送ステップ>。
次に、メインサイト側のディスクアレイ装置20において、入出力情報一時記憶手段(I/Oキャッシュ)42に格納されているライトデータを、後ほどリモートサイト側に転送するためにデータ情報一時記憶手段(データキャッシュ)46に送信して記憶する処理を行う(ステップS104)<データ情報一時記憶処理ステップ>。
なお、データ情報一時記憶手段(データキャッシュ)46に格納されるデータには、ステップS103でライトコマンドに付加したシーケンス番号と同じシーケンス番号の値を付与しておく(ステップ104a:図示せず)<第2シーケンス番号付加処理ステップ>。
次に、入出力情報一時記憶手段(I/Oキャッシュ)42のライトコマンドに従い、ライトデータをRAID構成80のMV(マスタ・ボリューム)に書き込む処理(データ更新処理)を行う(ステップS105)<データ書込処理ステップ>。
最後に、ホストコンピュータ10に、ライトコマンドの終了報告を行う(ステップS106)。
(メインサイトからリモートサイトへのコマンドの送信)
前述したように、ステップS103において、シーケンス番号付のコマンドを、同期式にて、メインサイト側のディスクアレイ装置20からリモートサイト側のディスクアレイ装置120に転送する処理を行う。
この時は、ライトコマンドの処理の過程においてリモートサイトとの通信をおこなうが、送信するコマンドデータは、十数Byteのライトコマンドと、数Byteのシーケンス番号のみであるので、リモートサイトとの通信により発生する遅延はわずかなものと考えられる。
なお、以上のステップS100乃至ステップS103により、本発明にいう「同期要求部転送制御ステップ」を構成できる。この「同期要求部転送制御ステップ」は、前記情報処理装置からの要求である要求部と該要求部に連なる実データ部の中から前記要求部を抽出し、この抽出された前記要求部に対して、前記要求の順番を識別する番号情報を少なくとも含む第1付帯情報部を付与し、前記情報処理装置からの前記要求に基づく前記第1データ記憶装置のデータ処理と略同期して、前記第1付帯情報部付き要求部を前記他のデータ記憶装置に対して転送する。
(メインサイトからリモートサイトへのライトデータの送信)
メインサイト側のディスクアレイ装置20のデータ情報一時記憶手段(データキャッシュ)46から、リモートサイト側のディスクアレイ装置20のデータ情報一時記憶手段(データキャッシュ)146へのデータ転送は、ライトコマンドの転送の時の同期式とは異なり、RAID構成80のMV(マスタ・ボリューム)へのデータ更新とは非同期でおこなわれる(ステップS107:図示せず)<シーケンス番号付データ非同期転送ステップ>。
なお、以上のステップS104a、ステップS107により、本発明にいう「非同期実データ部転送制御ステップ」を構成できる。この「非同期実データ部転送制御ステップ」は、前記番号情報と同じ順番である番号情報を少なくとも含む第2付帯情報部を、前記実データ部に対して付与し、前記データ処理と非同期にて、前記第2付帯情報付き実データ部を前記他のデータ記憶装置に対して転送制御する。
この際、メインサイト側では、ライトコマンドの転送の遅延が大きくならないように通信回線の使用状況を通信帯域監視手段68により把握する。
通信帯域監視手段68は、メインサイト側のディスクアレイ装置20とリモートサイト側のディスクアレイ装置120とが接続している確認もする意味も兼ねて定期的に通信を行い、その際にリモートサイト側のディスクアレイ装置120からの応答時間を計測する。
ここで、応答時間がある閾値(第1特定閾値)未満であれば通信帯域が十分に使えるものと判断し、データ情報一時記憶手段(データキャッシュ)46・146間の通信を行う。
逆に、応答時間がある閾値(第1特定閾値)を超えている場合は、通信帯域が混んでおり、ステップS103におけるコマンド送信の遅延が大きくなり、結果としてRAID構成80のMV(マスタ・ボリューム)へのデータ更新命令のレスポンスが悪化する可能性があるのでデータ情報一時記憶手段(データキャッシュ)46・146間の通信を抑止する。
(リモートサイトにおけるリモートボリュームへの書き込み処理)
次に、リモートサイト側のディスクアレイ装置120におけるRAID構成180の
RV(リモート・ボリューム)へのライト動作について、図5のフローチャートを参照して説明する。図5は、本発明の第1の実施の形態によるデータ複製システムにおいて、リモートサイト側のディスクアレイ装置にて処理される処理手順の一例を示すフローチャートである。
先ず、コマンド情報一時記憶手段(コマンドキャッシュ)144の中から、次に処理されるべきシーケンス番号をもつライトコマンドを探す処理を行う(ステップS111)<コマンド探索処理ステップ>。このステップにより、本発明にいう「要求部探索ステップ」を構成できる。この「要求部探索ステップ」は、同期方式にて転送されてくる、処理されるべき第1付帯情報部の番号情報を有する要求部を探す。
同様に、次に処理されるべきシーケンス番号をもつライトデータをデータ情報一時記憶手段(データキャッシュ)146の中から探す処理を行う(ステップS112)<データ探索処理ステップ>。このステップにより、本発明にいう「実データ部探索ステップ」を構成できる。この「実データ部探索ステップ」は、非同期方式にて転送されてくる、処理されるべき第2付帯情報部の番号情報を有する実データ部を探す。
データは、RAID構成80のMV(マスタ・ボリューム)の更新とは非同期にリモートサイト側に転送されているので、ステップS111の時点では、まだデータがリモートサイトのディスクアレイ装置120には無い可能性がある。この場合、処理されるべきシーケンス番号を持つデータがディスクアレイ装置120に転送されて来るまで待ち続ける<データ転送待機ステップ>。
次に、処理されるべきデータが発見されると、コマンド情報一時記憶手段(コマンドキャッシュ)144からのコマンドと、データ情報一時記憶手段(データキャッシュ)146データと、を入出力情報一時記憶手段(I/Oキャッシュ)に送信して記憶し、メインサイト側のRAID構成80のMV(マスタ・ボリューム)更新時に、入出力情報一時記憶手段(I/Oキャッシュ)42にあったライトコマンド及びライトデータと同じものを作成する処理を行う(ステップS113)<コマンド及びデータ作成ステップ>。このステップにより、本発明にいう「再構成ステップ」を構成できる。この「再構成ステップ」は、探索された前記実データ部と、探索された前記要求部とから前記他のデータ記憶装置のデータ構造を再構成する。
ステップS113のコマンド及びデータ作成ステップにて再現されたライトコマンドに従い、メイン側のRAID構成80のMV(マスタ・ボリューム)に書き込んだ時と同じように、リモート側のRAID構成180のRV(リモート・ボリューム)のデータを更新する処理を行う(ステップS114)<データ更新処理ステップ>。
以上のように本実施の形態によれば、メインサイトへのデータ更新命令が発生した場合に、受信したコマンドとデータのうち、コマンドのみを同期してリモートサイトに送信し、データは非同期で送信している。このため、リモートサイトはメインサイトのデータ更新に同期して受信するコマンドと、非同期に受信するデータを比較することにより、メインサイトと通信することなくメインサイト−リモートサイト間のコピーの進捗状況を把握することができ、リモートサイトのデータの完全性を把握することができる。
すなわち、メインサイトからリモートサイトへのバックアップ処理中にもかかわらずメインサイトが地震などで被災し、リモートサイト側での運用に切り替える場合や、リモートサイト側のデータをメインサイトに復旧させる際において、メインサイトからリモートサイトへのデータコピー状況や論理ボリュームの完全性を判断することができる。通常は、バックアップ処理においては、メインサイト側のみで管理することが多く、メインサイトが被災した場合は残されたリモートサイト側ではバックアップの進捗を判断することはできない。本実施の形態では、メインサイトのライトコマンドに同期してリモートサイト側にもライトコマンドを通知しているので、メインサイトが被災した場合でもリモートサイトで受信したライトコマンドとその後に非同期で通信されたデータを比較することで、メインサイトに頼ることなくのデータの完全性を調べることができる。
また、図1では、メインサイト側のディスクアレイ装置にRAID構成80としてMV(マスタ・ボリューム)のみ、リモートサイト側のディスクアレイ装置にRAID構成180としてRV(リモート・ボリューム)のみの構成としたが、メインサイト側のディスクアレイ装置のRAID構成80に複数のMV(マスタ・ボリューム)とRV(リモート・ボリューム)の組み合わせがあり、リモートサイト側のディスクアレイ装置のRAID構成180にも複数のMV(マスタ・ボリューム)とRV(リモート・ボリューム)の組み合わせがある場合であってもよい。
ここで、コマンドの中には書き込み対象となるボリューム番号情報も含まれている。このため、メインサイト側が被災した場合には、リモートサイト側のコマンド情報一時記憶手段(コマンドキャッシュ)144の中身を解析するコマンド情報解析手段を設け、解析することにより、更新が全て完了しているRV(リモート・ボリューム:更新完了済み記憶媒体)と、更新が完了していないRV(リモート・ボリューム:更新未完了記憶媒体)の識別並びに切り分け(区別)も行うことができ、更新が完了しているRV(リモート・ボリューム:記憶媒体)に関しては即座に使用可能の判断を行うことができる。
[第2の実施の形態]
次に、本発明にかかる第2の実施の形態について、図6乃至図14に基づいて説明する。図6は、データ複製システムの第2の実施の形態の一例を示すブロック図である。
(本実施の形態の特徴)
ライトコマンドとデータとが分離された後、非同期におけるデータ転送を行う際の具体的な詳細例について開示している。なお、ライトコマンドの同期転送についての説明は前記第1の実施の形態にて詳述したので省略している。
すなわち、メインサイトのマスタ・ボリュームMVのデータ更新に伴い、リモートサイトのリモート・ボリュームRVに更新データのコピーを行うシステムにおいて、マスタ・ボリュームのデータ更新を伴うライト・コマンドが発生した時には、マスタ・ボリュームにデータを書き込むと共に、ライト・コマンドと分離された更新データにシーケンス番号を加えてマスタ・通信ボリュームMCVに書き込む。MCVは、リモート・通信ボリュームRCVに非同期通信でデータ転送を行う。リモートサイトでは、受信データをシーケンス番号順に探し出し、ボリューム対応管理テーブルによりリモート・ボリュームへのライト・コマンド(同期にて既に転送されていたライトコマンド)を作成し、リモート・ボリュームのデータ更新を行う。非同期通信によるデータ転送制御は、MCV/RCVが行うこととし、データ通信の状態監視およびデータ更新管理はMCVとRCVで済む。
具体的には、本実施の形態のデータ複製システム200は、図6に示すように、メインサイト側には、ホストコンピュータ210、ディスクアレイ装置220を有し、リモートサイト側には、ホストコンピュータ310、ディスクアレイ装置320を有する。
ディスクアレイ装置220は、図6に示すように、ホストコンピュータ210に接続された転送制御部230を介してRIAD構成とデータの授受が可能となっている。
ディスクアレイ装置220のRIAD構成は、図6に示すように、業務運用に使用される論理ボリューム(MV)のメイン側第1運用データ記憶手段MV0(282a)と、業務運用に使用される論理ボリュームのメイン側第2運用データ記憶手段MV1(282b)と、リモートサイトとの通信用のボリュームであるメイン側通信用データ記憶手段MCV(284)と、を含んで構成されている。
ディスクアレイ装置320は、図6に示すように、ホストコンピュータ310に接続された転送制御部330を介してRIAD構成とデータの授受が可能となっている。
ディスクアレイ装置320のRIAD構成は、図6に示すように、MV0のバックアップボリュームとして機能する論理ボリュームのリモート・ボリュームRVであるリモート側第1バックアップデータ記憶手段RV0(382a)と、MV1のバックアップボリュームとして機能する論理ボリュームのリモート・ボリュームRVであるリモート側第2バックアップデータ記憶手段RV1(382b)と、メインサイトとの通信用のボリュームであるリモート側通信用データ記憶手段RCV(384)と、を含んで構成されている。
図7にディスクアレイ装置220の詳細構成を示す。ディスクアレイ装置220は、図7に示すように、インターフェイス制御部232、マイクロプロセッサ226、制御用メモリ222、ボリューム制御部(RAID制御部)250、磁気ディスク装置(282a、282b、284)により構成されている。なお、その他の装置290としては、保守端末であってもよいし、他のホストコンピュータであってもよい。
マイクロプロセッサ226には、図13に示すCV書き込み手段226a(CV書き込み制御手段)など組み込まれている。制御用メモリ222には、図9に示すボリューム対応管理テーブル222a及びCVコピー管理差分マップ222bが組み込まれている。
ディスクアレイ装置220は、上位装置としてのホストコンピュータ210や保守端末などのその他の装置290等に対して、複数の磁気ディスク装置(282a、282b、284)を割り当ててデータのバックアップ等を始めとする処理を行い、上位装置との間の接続に用いられるインタフェース制御部232と各磁気ディスク装置(282a、282b、284)とを接続するためのRAID制御部250を備えている。インタフェース制御部232及びRAID制御部250は、制御用メモリ222に格納された制御プログラムに基づいて作動するマイクロプロセッサ226(以下、「CPU」)によって、データの入出力を制御される。制御用メモリ222に書き込む制御用プログラムを書き換えることにより、CPU226を様々な機能実現手段として利用することが可能である。ここでは、磁気ディスク装置284に対するデータの書き込みを制御するCV書き込み手段226a(CV書き込み制御手段)等として、CPU226を利用している。なお、マイクロプロセッサ226にライトコマンド作成手段226bを機能させる構成としてもよい。
磁気ディスク装置は、実際には各々が論理的に独立したボリューム、例えば、マスタ・ボリュームやスナップショット・ボリュームや共有ボリューム、又はマスタ・ボリュームと同一容量で、複製データを一時的に格納するボリューム(以下「バッファ・ボリューム」という。)等といったものを構成するとは限らず、RAID制御部の制御のもとに、複数の磁気ディスク装置に跨って見かけ上単一のボリュームを設けることも、また、1つの磁気ディスク装置にパーティションを設定して、見かけ上複数のボリュームを1つの磁気ディスク装置内に設けることもできる。
図8にディスクアレイ装置320の詳細構成を示す。ディスクアレイ装置320は、図8に示すように、インターフェイス制御部332、マイクロプロセッサ326、制御用メモリ322、RAID制御部(ボリューム制御部)350、RAID構成を有する磁気ディスク装置(282a、282b、284)により構成されている。なお、その他の装置390としては、保守端末であってもよいし、他のホストコンピュータであってもよい。
マイクロプロセッサ326には、図14に示すライトコマンド生成手段326bなどが組み込まれている。制御用メモリ322には、図9に示すボリューム対応管理テーブル322a及びCVコピー管理差分マップ322bが組み込まれている。
ディスクアレイ装置320は、ディスクアレイ装置220からの複製データを、複数の磁気ディスク装置(382a、382b、384)を割り当ててデータのバックアップ等を始めとする処理を行うためのRAID制御部350を備えている。インタフェース制御部332及びRAID制御部350は、制御用メモリ322に格納された制御プログラムに基づいて作動するマイクロプロセッサ326(以下、「CPU」)によって、データの入出力を制御される。制御用メモリ322に書き込む制御用プログラムを書き換えることにより、CPU326を様々な機能実現手段として利用することが可能である。ここでは、ライトコマンドを作成するライトコマンド作成手段326b等として、CPU326を利用している。なお、マイクロプロセッサ326に、CV書き込み手段326a(CV書き込み制御手段)を機能させる構成としてもよい。
図10は、メイン側とリモート側とで授受されるデータのデータ構造を示す。図10のデータ構造D122では、page管理サイズ内に収まる大きさ分の構造となっている。データ構造D122では、シーケンス番号D132、分割番号D134、終了フラグD135、ライトデータを含む。
(第2の実施の形態の動作の説明)
図11を参照しつつ、データ更新の流れを説明する。
(事前準備)
先ず、図12に示す事前準備処理(前処理)を行う。メインサイトにおいて業務運用のボリュームとなるMVと、リモートサイトにおいてバックアップボリュームとなるRVを指定し、ボリューム対応管理テーブルを更新する処理を行う(ステップS201)。さらに、メインサイトにおいてデータ送信下のMCVと、リモートサイトにおいてデータ送信先となるRCVを設定し、ボリューム対応管理テーブルを更新する処理を行う(ステップS202)。そして、MCV/RCVの保持する差分マップをゼロでクリアし、初期化する処理を行う(ステップS203)。
(全体の処理手順)
次に、図11に示すように、メインサイト側のディスクアレイ装置において、ステップS221にてホストコンピュータから論理ボリュームに書き込み要求を受けた場合、まず、ステップS222でボリューム対応管理テーブル222aを参照し、書き込み対象ボリュームの状態を調査する(ボリューム状態調査ステップないしはボリューム状態調査機能)。
前記ステップS222のボリューム状態調査ステップにて、書き込み対象ボリュームの属性が「MV」であれば、ステップS223で書き込み対象ボリュームのデータ更新を行う。さらに、ステップS230でCV書き込み手段により更新データ、及び更新順を管理するシーケンス番号をひとつの書き込みデータとしてMCVに書き込み、書き込んだpageに対応するコピー管理差分マップをセットする。この際、コマンドとデータは、既に分離されているものとする。
その後、ホストコンピュータにライト・コマンドの正常終了を返却する。ここでいうpageとは、差分管理の単位のことである。MCVにおいて管理差分マップはデーモンで管理され、管理差分マップがセットされている場合、ステップS241にて、該当データをRCVにリモート転送する。RCVの空き領域も管理差分マップで管理され、転送データは、ステップS243でRCVの空き領域に書き込まれる。
データをRCVに転送した後、MCVの使用領域を開放するためにステップS242で管理差分マップのリセットを行う。RCVは、ステップS244でMCVから受け取ったデータのシーケンス番号を確認し、その番号順に処理を行う。もし処理すべきシーケンス番号を持つデータがない場合は、正しいシーケンス番号をもつデータがMRVよりコピーされるまでは、次の処理を行わない。
正しいシーケンス番号を持つデータを発見した場合、ステップS250でライト・コマンド作成手段により、同期にて既に転送されているライト・コマンドがどのメインサイトのどのMVへのライト・コマンドであったのかを特定し、さらにボリューム対応管理テーブル(322a)を参照することで、ライト・コマンド対象MVのバックアップボリュームとして機能しているリモート・ボリュームRVを特定する。
受信したライト・コマンドの対象論理ボリュームをRVに書き換え、ステップS261でRVへのライト・コマンドを実行する。その後、RCVの使用領域を開放するために、ステップS262でRCVのコピー管理差分マップをリセットする。
(CV書き込み制御処理)
次に、CV書き込み制御処理について、図13を参照しつつ説明する。先ず、ライトデータにシーケンス番号を加え、MCV書き込みデータを生成する処理を行う(ステップS231)。
さらに、MCV書き込みデータが管理pageサイズよりも大きければpage単位に分割し、分割番号を付与する処理を行う(ステップS232)。そして、MCV書き込みデータを書き込むための空き領域を検索する処理を行う(ステップS233)。続いて、分割データをMCVに書き込む処理を行う(ステップS234)。
次いで、書き込みpageの管理差分マップをセットする処理を行う(ステップS235)。全データの転送が終了したか否かを判定する処理を行う(ステップS236)。このステップS236の判定処理において、全データの転送が終了していないものと判断された場合には、ステップS232に戻る。一方、前記ステップS236の判定処理において、全データの転送が終了したものと判断された場合には、処理を終了する。
(ライトコマンド生成処理)
次に、ライトコマンド生成処理について、図14を参照しつつ説明する。先ず、シーケンス番号を確認する処理を行う(ステップS251)。続いて、シーケンス番号が不正であるか否かを判定する処理を行う(ステップS252)。
ステップS252の判定処理において、シーケンス番号が不正でないと判定された場合には、S254に進む。一方、前記ステップS252の判定処理において、シーケンス番号に不正があると判定された場合には、RCVの他のpageを再検索する処理を行う(ステップS253)。そして、ステップS251に戻る。
さらに、ステップS254では、全分割データを発見したか否かを判定する処理を行う。ステップS254の判定処理において、全分割データを発見したと判定された場合には、ステップS256に進む。一方、ステップS254の判定処理において、全分割データが発見されていないものと判定された場合には、RCVの中で同じシーケンス番号を持つデータを検索する処理を行う(ステップS255)。そして、ステップS254に戻る。
続いて、ステップS256では、ライトコマンドを解析し、メインサイトのどのMVに対してのデータ更新であるかと特定する処理を行う(ステップS256)。さらに、ボリューム対応管理テーブルより、ライトコマンド対象のMVとペアになっているRVを特定する処理を行う(ステップS257)。そして、ライトコマンドの対象先をRVに書き換える処理を行う(S258)。
以上のように本実施の形態によれば、遠隔地にマスタ・データのバックアップを行う場合に、マスタサイトの負荷を抑えた状態でデータ通信を行うことができる。また、通常はMVとRVのそれぞれで更新差分の管理を行う必要があったが、本発明ではMVおよびRVが複数存在している場合でも、MVおよびRVの差分管理は不要であり、尚且つ差分監視及び通信監視はMCV/RCVに対して行えばすむので、負荷を抑えることができる。
[第3の実施の形態]
次に、本発明にかかる第3の実施の形態について、図15に基づいて説明する。なお、以下には、前記第1の実施の形態の実質的に同様の構成に関しては説明を省略し、異なる部分についてのみ述べる。図15は、本発明のデータ複製システムにおける第3の実施の形態の一例を示すブロック図である。
本実施の形態のディスクアレイ装置のRAID構成では、メインサイト側及びリモートサイト側の両方にマスタ・ボリュームが存在し、MCVとRCVのペアが2組ある例を開示している。
具体的には、本実施の形態のデータ複製システム400では、図15に示すように、メインサイト側のホストコンピュータ410、ディスクアレイ装置420と、リモートサイト側のホストコンピュータ510、ディスクアレイ装置520と、を含んで構成される。
ディスクアレイ装置420のRAID構成には、転送制御部430を介して、業務用のボリュームであるメイン側業務用データ記憶手段MV0(482)と、バックアップ用のボリュームであるメイン側バックアップデータ記憶手段RV1(483)と、リモートに対する送信による通信用のメイン側第1通信用データ記憶手段MCV0(484a)と、リモートからの受信による通信用のメイン側第2通信用データ記憶手段RCV1(484b)と、を含んで構成される。
ディスクアレイ装置520のRAID構成には、転送制御部530を介して、業務用のボリュームであるリモート側業務用データ記憶手段MV1(583)と、バックアップ用のボリュームであるリモート側バックアップデータ記憶手段RV0(582)と、メインに対する送信による通信用のリモート側第1通信用データ記憶手段MCV1(584b)と、メインからの受信による通信用のリモート側第2通信用データ記憶手段RCV0(584a)と、を含んで構成される。
メイン側第1通信用データ記憶手段MCV0(484a)には、差分マップ422bが、メイン側第2通信用データ記憶手段RCV1(484b)には、差分マップ422dが、リモート側第1通信用データ記憶手段MCV1(584b)には、差分マップ522dが、メインからの受信による通信用のリモート側第2通信用データ記憶手段RCV0(584a)には、差分マップ522bが各々対応するよう形成される。
メインサイトのMV0への更新は、メインサイトのMCV0よりリモートサイトのRCV0に転送される。リモートサイトのMV1への更新は、リモートサイトのMCV1よりメインサイトのRCV1へ転送される。
[第4の実施の形態]
次に、本発明にかかる第4の実施の形態について、図16に基づいて説明する。なお、以下には、前記第1の実施の形態の実質的に同様の構成に関しては説明を省略し、異なる部分についてのみ述べる。図16は、本発明のデータ複製システムにおける第4の実施の形態の一例を示すブロック図である。
本実施の形態のディスクアレイ装置のRAID構成では、メインサイト及びリモートサイトの両方にマスタ・ボリュームが存在するが、それぞれのサイトにCVが1つずつしかない例である。
具体的には、本実施の形態のデータ複製システム600では、図16に示すように、メインサイト側のホストコンピュータ610、ディスクアレイ装置620と、リモートサイト側のホストコンピュータ710、ディスクアレイ装置720と、を含んで構成される。
ディスクアレイ装置620のRAID構成には、転送制御部630を介して、業務用のボリュームであるメイン側業務用データ記憶手段MV0(682)と、バックアップ用のボリュームであるメイン側バックアップデータ記憶手段RV1(683)と、リモートに対する通信用のメイン側通信用データ記憶手段MCV/RCV(684)と、を含んで構成される。
ディスクアレイ装置720のRAID構成には、転送制御部730を介して、業務用のボリュームであるリモート側業務用データ記憶手段MV1(783)と、バックアップ用のボリュームであるリモート側バックアップデータ記憶手段RV0(782)と、メインに対する通信用のリモート側通信用データ記憶手段MCV/RCV(784)と、を含んで構成される。
リモート側通信用データ記憶手段MCV/RCV(784)には、第1差分マップ722b及び第2差分マップ722dが、メイン側通信用データ記憶手段MCV/RCV(684)には、第1差分マップ622b及び第2差分マップ622dが、各々対応するよう形成される。
この場合、それぞれのサイトのCVにMCV、RCVの両方の属性を持たせ、さらに差分マップを2つ持たせることにより、それぞれメイン−リモート方向の差分管理とリモート−メイン方向の差分管理を行っている。MCV/RCVの空きpageとして使用してよいのは、差分マップ1と差分マップ2がともにセットされていないpageとし、空きページを検索する時は二つの差分マップのOR処理を行い判断する。どちらかの差分マップがセットされている場合、既にデータ通信に使用中のpageと判断する。
[第5の実施の形態]
次に、本発明にかかる第5の実施の形態について、図17に基づいて説明する。なお、以下には、前記第1の実施の形態の実質的に同様の構成に関しては説明を省略し、異なる部分についてのみ述べる。図17は、本発明のデータ複製システムにおける第5の実施の形態の一例を示すブロック図である。
本実施の形態のディスクアレイ装置のRAID構成では、RVに差分マップを持たせた例を開示している。
具体的には、本実施の形態のデータ複製システム800では、図17に示すように、メインサイト側のホストコンピュータ810、ディスクアレイ装置820と、リモートサイト側のホストコンピュータ910、ディスクアレイ装置920と、を含んで構成される。
ディスクアレイ装置820のRAID構成には、転送制御部830を介して、業務用のボリュームであるメイン側業務用データ記憶手段MV0(882)と、バックアップ用のボリュームであるメイン側バックアップデータ記憶手段RV1(883)と、リモートに対する通信用のメイン側通信用データ記憶手段MCV(884)と、を含んで構成される。
ディスクアレイ装置920のRAID構成には、転送制御部930を介して、業務用のボリュームであるリモート側業務用データ記憶手段MV1(983)と、バックアップ用のボリュームであるリモート側バックアップデータ記憶手段RV0(982)と、メインとの通信用のリモート側通信用データ記憶手段RCV(984)と、を含んで構成される。
メイン側通信用データ記憶手段MCV(884)には、差分マップ822bが、リモート側業務用データ記憶手段MV1(983)には、差分マップ922bが、リモート側バックアップデータ記憶手段RV0(982)には、差分マップ922bが、リモート側通信用データ記憶手段RCV(984)には、差分マップ922bが、各々対応するよう形成される。
この場合、RVにデータを書き込むと同時に、RVの更新pageに対応する差分マップをセットしておく。RVからMVにリストア行う場合にはRVの差分マップを参照し、差分があるpageのみリストアすればよい。
[第6の実施の形態]
次に、本発明にかかる第6の実施の形態について、図18に基づいて説明する。図18は、データ複製システムにおける第6の実施の形態の処理手順の一例を示すフローチャートである。本実施の形態では、MCVの差分マップをリセットするタイミングを、RCVの差分マップをリセットした後に行う例を開示している。
具体的には、図18に示すように、メインサイト側のディスクアレイ装置において、ステップS321にてホストコンピュータから論理ボリュームに書き込み要求を受けた場合、まず、ステップS322でボリューム対応管理テーブル222aを参照し、書き込み対象ボリュームの状態を調査する(ボリューム状態調査ステップないしはボリューム状態調査機能)。
前記ステップS322のボリューム状態調査ステップにて、書き込み対象ボリュームの属性が「MV」であれば、ステップS323で書き込み対象ボリュームのデータ更新を行う。さらに、ステップS330でCV書き込み手段により更新データ、及び更新順を管理するシーケンス番号をひとつの書き込みデータとしてMCVに書き込み、書き込んだpageに対応するコピー管理差分マップをセットする。
その後、ホストコンピュータにライト・コマンドの正常終了を返却する。ここでいうpageとは、差分管理の単位のことである。MCVにおいて管理差分マップはデーモンで管理され、管理差分マップがセットされている場合、ステップS341にて、該当データをRCVにリモート転送する。RCVの空き領域も管理差分マップで管理され、転送データは、ステップS343でRCVの空き領域に書き込まれる。
RCVは、ステップS344でMCVから受け取ったデータのシーケンス番号を確認し、その番号順に処理を行う。もし処理すべきシーケンス番号を持つデータがない場合は、正しいシーケンス番号をもつデータがMRVよりコピーされるまでは、次の処理を行わない。
正しいシーケンス番号を持つデータを発見した場合、ステップS350でライト・コマンド作成手段により、既に同期にて転送されているライト・コマンドがどのメインサイトのどのMVへのライト・コマンドであったのかを特定し、さらにボリューム対応管理テーブル(322a)を参照することで、ライト・コマンド対象MVのバックアップボリュームとして機能しているリモート・ボリュームRVを特定する。
受信したライト・コマンドの対象論理ボリュームをRVに書き換え、ステップS361でRVへのライト・コマンドを実行する。その後、MCVの使用領域を開放するためにステップS371で管理差分マップのリセットを行う(メイン側管理差分マップリセットステップないしはメイン側管理差分マップリセット機能)。これに伴い、RCVの使用領域を開放するために、ステップS372でRCVのコピー管理差分マップをリセットする(リモート側管理差分マップリセットステップないしはリモート側管理差分マップリセット機能)。
以上のように本実施の形態では、MCVの差分マップのリセットをこのタイミングで行うことにより、RVへのデータ更新がどの段階まで行われたかをMV側のサブシステムで把握することができる。
[第7の実施の形態]
次に、本発明にかかる第7の実施の形態について、図19に基づいて説明する。図19は、データ複製システムにおける第7の実施の形態のデータ構造の一例を示す説明図である。本実施の形態では、ライトデータが、データ更新の差分管理の単位であるpagee管理サイズよりも大きい場合に、CVに書き込むデータを複数に分け、分けたデータのそれぞれのシーケンス番号を同一とし、分割番号を付与し、最後の分割データには終了フラグをセットする例を開示している。
具体的には、図19に示すように、分割前のデータ構造D152に対して、図示しないデータ分割制御手段により、分割後に分割第1データ構造D154と分割第2データ構造D156とに分割している。分割第1データ構造D154と分割第2データ構造D156とで同じシーケンス番号「0100」を用い、分割第1データ構造D154では分割番号「0000」を用い、分割第2データ構造D156では、分割番号「0001」を用いることによって識別するようにしている。さらに最後の分割データである分割第2データ構造D156では、分割最後尾識別情報である終了フラグ「1」がセットされている(分割終了フラグ設定手段)。
この際、RCVのライト・コマンド生成手段において、同一シーケンス番号のデータが全てそろうまでは、RVへの書き込み処理を行うためのデータおよびライト・コマンドによる生成を先延ばしにする。
[第8の実施の形態]
次に、本発明にかかる第8の実施の形態について、図20に基づいて説明する。図20は、データ複製システムにおける第8の実施の形態のデータ構造の一例を示す説明図である。本実施の形態では、RV側の装置の設定コマンドにシーケンス番号を付与してメインサイトからリモートサイトに転送できる構成とした場合の例を開示している。
具体的には、図20に示すように、設定コマンドとその設定データとからなるデータ構造D162を、図示しない設定条件情報転送情報生成手段により、データ構造D164としている。データ構造D164は、シーケンス番号、分割番号、終了フラグ、設定コマンド、設定データとからなる。
この際、設定要求情報として設定コマンドと設定データを含んでいてもよいし(第1タイプ設定要求情報)、設定要求情報として設定コマンドのみであってもよいし(第2タイプ設定要求情報)、設定要求情報として設定データのみであってもよい(第3タイプ設定要求情報)。
なお、第1タイプ設定要求情報では、同期転送、非同期転送のいずれであってもよい。第2タイプ設定要求情報では、ライトコマンドとともに同期転送であることが好ましい。第3タイプ設定要求情報では、ライトデータなどと同様に非同期転送であることが好ましい。このような各パターンを必要に応じて制御手段により切り替えてもよい。
MVへのライト・コマンドに引き続いてMVとRVのペア設定解除コマンドなどを発行する場合に、RV側のライト・コマンドのデータ更新が終了するのを待たずに、MVのペア設定状態を(設定コマンドの一例である設定解除コマンドなどにより)解除させる事ができる。この時点で、MVは、独立したボリュームとして管理が可能になる。RVは、MVの状態とは非同期にデータ更新を行った後にペア設定解除コマンドを受信することで、RVのペア状態解除を行う。
以上まとめると、要求部は、データ記憶装置内の種々の設定処理を行う設定要求情報を含んでよい。この際、第1の実施の形態における「同期要求部転送制御手段」は、第1付帯情報部付き設定要求情報を前記第2データ記憶装置に対して転送することとなる。さらに、設定要求情報は、データ記憶装置内の種々の設定解除を行う設定解除コマンドを含んでよい。この際、「同期要求部転送制御手段」は、第1付帯情報部付き設定解除コマンドを第2データ記憶装置に対して転送することとなる。
[第9の実施の形態]
次に、本発明にかかる第9の実施の形態について、図21に基づいて説明する。図21は、データ複製システムにおける第9の実施の形態のデータ構造の一例を示す説明図である。本実施の形態では、前記第8の実施の形態にて、シーケンス番号に特別な意味合いを持たせておき、リモートサイト側で優先的に処理をできるようなデータ構造の構成例を開示している。
具体的には、設定条件情報のデータ構造D172は、図21に示すように、シーケンス番号FFFFを最優先コマンドとした時に、他のシーケンスに割り込んで処理をさせることを可能にするシーケンス番号割込優先処理手段を備えてよい。すなわち、第1付帯情報部は、他の番号情報に基づく処理よりも優先させる処理を示す優先処理指令情報を含んでよい。
例えば、リモートサイトにRV0、RV1がある場合に、RV0に物理障害が発生してしまい、RV0へのデータ更新が進まなくなった場合、更新保留しているシーケンス番号より大きい番号のシーケンス番号を持つRV1へのライトデータも進まなくなる可能性がある。そのような場合、優先度のより高いコマンドでRCVに溜まっているRV0への書き込みデータを破棄させる設定コマンド(データ破棄コマンド)などを発行することにより、RV1への更新を継続させることができる。また、前記障害の対策として、RV毎にシーケンス番号を管理してもよい。
[第10の実施の形態]
次に、本発明にかかる第10の実施の形態について、図22に基づいて説明する。図22は、データ複製システムにおける第10の実施の形態の処理手順の一例を示すフローチャートである。
本実施の形態では、MVの現在保持しているデータをRVにコピーする場合の例を開示している。すなわち、新たに擬似MVライト・コマンド生成手段を用意して、MVから読み出したデータをもとにMVへのライト・コマンドを生成し、そのコマンドをCV書き込み制御手段に渡すことで、RVへのデータコピーを行うことができる。
具体的には、図22に示すように、メインサイト側のディスクアレイ装置において、ステップS421にてホストコンピュータから論理ボリュームへの全コピーコマンドを受信する。次に、ステップS422で属性管理テーブルを参照する。
前記ステップS423でデータの読み出しを行い、ステップS424で擬似MVライトコマンド生成手段を起動する。さらに、ステップS430でCV書き込み手段により更新データ、及び更新順を管理するシーケンス番号をひとつの書き込みデータとしてMCVに書き込み、書き込んだpageに対応するコピー管理差分マップをセットする。
その後、ホストコンピュータにライト・コマンドの正常終了を返却する。ここでいうpageとは、差分管理の単位のことである。MCVにおいて管理差分マップはデーモンで管理され、管理差分マップがセットされている場合、ステップS441にて、該当データをRCVにリモート転送する。RCVの空き領域も管理差分マップで管理され、転送データは、ステップS243でRCVの空き領域に書き込まれる。
データをRCVに転送した後、MCVの使用領域を開放するためにステップS442で管理差分マップのリセットを行う。RCVは、ステップS444でMCVから受け取ったデータのシーケンス番号を確認し、その番号順に処理を行う。もし処理すべきシーケンス番号を持つデータがない場合は、正しいシーケンス番号をもつデータがMRVよりコピーされるまでは、次の処理を行わない。
正しいシーケンス番号を持つデータを発見した場合、ステップS450でライト・コマンド作成手段により、同期にて既に転送されているライト・コマンドがどのメインサイトのどのMVへのライト・コマンドであったのかを特定し、さらにボリューム対応管理テーブル(322a)を参照することで、ライト・コマンド対象MVのバックアップボリュームとして機能しているリモート・ボリュームRVを特定する。
受信したライト・コマンドの対象論理ボリュームをRVに書き換え、ステップS461でRVへのライト・コマンドを実行する。その後、RCVの使用領域を開放するために、ステップS462でRCVのコピー管理差分マップをリセットする。
(各種変形例)
なお、本発明にかかるデータ複製システム、データ複製装置、データ複製方法は、そのいくつかの特定の実施の形態に従って説明してきたが、本発明の主旨および範囲から逸脱することなく本発明の本文に記述した実施の形態に対して種々の変形が可能である。例えば、通信帯域監視手段による通信状況よって、分割数を可変としたり、ライトデータ量を可変とする構成としてもよい。
また、前記第1の実施の形態では、コマンドを同期式でデータを非同期式で転送する制御を行ったが、コマンドを同期式でデータを非同期式で転送する制御を行う第1転送制御モードと、コマンド及びデータを非同期式で転送する制御を行う第2転送制御モードと、を通信帯域監視手段による監視結果に応じて、適宜モードを切り替え制御する転送モード制御手段として通信制御手段を機能させてもよい。
また、上述の実施の形態では、ホストコンピュータ10が1台の例で説明したが、複数台形成してもよい。また、前記実施の形態においては、保守端末及びホストコンピュータを各々構成する場合を例に挙げたがこれに限らず、ホストコンピュータ及び保守端末の機能を一つの情報処理装置として構成しても構わない。
さらに、前記各実施の形態では、データ更新順序として、メインサイトからリモートサイトにデータ更新する場合を例に説明したが、これに限定されるものではない。前記実施の形態でのデータ更新順序とは逆の、リモートサイトからメインサイトにデータ更新する場合(更新順序が逆の変形例)であってもよい。すなわち、「前記実施の形態」では、メインサイト側のディスクアレイ装置を、本発明にいう「第1データ記憶装置」とし、リモートサイト側のディスクアレイ装置を、本発明にいう「第2データ記憶装置」としたが、「更新順序が逆の変形例」では、リモートサイト側のディスクアレイ装置を、本発明にいう「第1データ記憶装置」とし、メインサイト側のディスクアレイ装置を、本発明にいう「第2データ記憶装置」として構成することも可能である。このように、データ更新順序がメインからリモートの場合も、リモートからメインの場合も、本発明の範囲に含めることができる。
また、前記実施の形態における「システム」とは、複数の装置が論理的に集合した物をいい、各構成の装置が同一筐体中にあるか否かは問わない。このため、本発明は、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
なお、データ複製システムにおいて、保守端末とディスクアレイ装置とをネットワークを介して通信可能に形成する際のネットワーク、ホストコンピュータとディスクアレイ装置とをネットワークを介して通信可能に形成する際のネットワーク、ディスクアレイ装置間のネットワークなどの第1通信網、第2通信網、第3通信網としては、例えば携帯電話回線網(基地局及び交換システムを含む)、公衆電話回線網、IP電話網、ISDN回線網などこれに類する各種回線網、インターネット(乃ち、TCP・IPプロトコルを用いた通信態様)やイントラネット、LAN(イーサネット:登録商標、やギガビットイーサネットなどを含む)、WAN、光ファイバー通信網、電力線通信網、ブロードバンド対応可能な各種専用回線網などいずれのハードウエア構成でもよい。さらに、ネットワークは、TCP・IPプロトコルの他、種々の通信プロトコルを用いたネットワークあるいはソフトウエア的に構築された仮想ネットワークやこれに類するあらゆるネットワークを含むネットワークなどいかなる通信プロトコルであってもよい。また、ネットワークは、有線に限らず、無線(衛星通信、各種高周波通信手段等を含む)ネットワーク(例えば、簡易電話システムや携帯電話のようなシングルキャリア通信システム、W―CDMAやIEEE802.11bに準拠した無線LANのようなスペクトラム拡散通信システム、IEEE802.11aやHiperLAN/2のようなマルチキャリア通信システム、などを含むネットワーク)であっても構わず、これらの組み合わせを利用してもよく、他のネットワークと接続されたシステムであってもよい。さらに、ネットワークは、ポイントツーポイント、ポイントツーマルチポイント、マルチポイントツーマルチポイントなど如何なる形態でもよい。
また、ホストコンピュータとディスクアレイ装置との間の通信構造、或いはディスクアレイ装置と保守端末との間の通信構造に際し、いずれか一方又は双方に形成されるインタフェースの種類は、LANやWAN等のネットワークやその他これに類するもの、もしくは今後開発される如何なるインタフェースであっても構わない。
なお、「通信」には、無線通信および有線通信は勿論、無線通信と有線通信とが混在した通信、即ち、ある区間では無線通信が行われ、他の区間では有線通信が行われるようなものであってもよい。さらに、ある装置から他の装置への通信が有線通信で行われ、他の装置からある装置への通信が無線通信で行われるようなものであってもよい。
(プログラム)
また、前述した実施形態の機能を実現する本発明のソフトウエアのプログラム(データ記憶装置に用いられる記憶媒体の制御装置の制御用プログラム)は、前述した各実施の形態における各種ブロック図などに示された各手段、処理手段、機能などに対応したプログラム、ないしは、フローチャートなどに示された処理手順、処理手段、機能などに対応したプログラムや、(上述の各実施の形態のデータ複製システム、それに用いるディスクアレイ装置(データ記憶装置)、ホストコンピュータ、保守端末、ディスクアレイ装置にもちいられるRAIDコントローラ(RAID制御装置:記憶媒体の制御装置など)において各々処理される各処理プログラム、本明細書で全般的に記述される方法(ステップ)、説明された処理、各種データ、データ構造情報等のデータの全体もしくは各部を含む。
RAID制御装置の制御プログラムを供給する手法としては、電気通信回線(有線、無線を問わない)によってコンピュータと通信可能に接続された外部の機器から前記電気通信回線を通じて提供することも可能である。
(情報記録媒体)
また、RAID制御装置(記憶装置)の制御プログラムを、情報記録媒体に記録した構成であってもよい。情報記録媒体には、制御プログラムを含むプログラム群が格納されており、コンピュータが当該情報記録媒体からプログラム群を読み出し、当該プログラム群をメモリ上に記憶することが可能である。これにより、上述のプログラム群は、磁気記録媒体あるいはROMなどの情報記録媒体に記録してプログラムを提供することができる。そのようなプログラムが記録された情報記録媒体を、コンピュータにおいて使用することは、好都合な情報処理装置を構成する。
プログラムを供給するための情報記録媒体としては、例えばROM、RAM、フラッシュメモリやSRAM等の半導体メモリ並びに集積回路等の媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置、等に記録して構成して用いてよい。
さらに「情報記録媒体」は、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの(伝送媒体ないしは伝送波)、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。
さらに、上述の保守端末やホストコンピュータとしての情報処理装置、あるいは、記憶媒体を制御する制御プログラムが搭載される制御装置(通常のPCのHDDなど)を含む情報処理装置としては、例えばパーソナルコンピュータに限らず、各種サーバー、EWS(エンジニアリングワークステーション)、中型コンピュータ、メインフレームなどが挙げられる。これらの機器に搭載される記憶媒体の制御装置も本発明の範囲に含めることができる。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
なお、本明細書において、フローチャートに示されるステップは、記載された手順に従って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理を含むものである。また、実装では、プログラム手順(ステップ)が実行される順序を変更することができる。さらに、実装の必要に応じて、本明細書で説明した特定の手順(ステップ)を、組み合わされた手順(ステップ)として実装、除去、追加、または再配置することができる。
さらに、ディスクアレイ装置の各手段、各機能、各ステップの手順の機能などのプログラムの機能を、専用のハードウエア(例えば専用の半導体回路等)によりその機能を達成してもよく、プログラムの全機能のうち一部の機能をハードウエアで処理し、全機能のうちさらに他の機能をソフトウエアで処理するようにしてもよい。専用のハードウエアの場合、各部を集積回路例えばLSIにて形成されてもよい。これらは個別に1チップ化されても良いし、一部または全部を含むように1チップ化されても良い。また、LSIには、ストリーミングエンジンなど他の機能ブロックが含まれていても良い。また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセサで実現してもよい。さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。
さらに、上記各実施の形態には種々の段階が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出され得る。つまり、上述の各実施の形態同士、あるいはそれらのいずれかと各変形例のいずれかとの組み合わせによる例をも含むことは言うまでもない。この場合において、本実施形態において特に記載しなくとも、各実施の形態及びそれらの変形例に開示した各構成から自明な作用効果については、当然のことながら本例においても当該作用効果を奏することができる。また、実施の形態に示される全構成要件から幾つかの構成要件が削除された構成であってもよい。
そして、これまでの記述は、本発明の理解を容易にするために、本発明の実施の形態の一例のみを開示しており、各実施の形態及びそれらの変形例は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、例証するものであり、制限するものではなく、所定の範囲内で適宜変形及び/又は変更が可能である。本発明は、その技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができ、各実施の形態及びその変形例によって本発明の技術的範囲が限定的に解釈されてはならないものである。従って、上記の実施の形態に開示された各要素は、本発明の技術的範囲に属する全ての設計変更や均等物を含む趣旨である。