JP2005309793A - データ処理システム - Google Patents
データ処理システム Download PDFInfo
- Publication number
- JP2005309793A JP2005309793A JP2004126218A JP2004126218A JP2005309793A JP 2005309793 A JP2005309793 A JP 2005309793A JP 2004126218 A JP2004126218 A JP 2004126218A JP 2004126218 A JP2004126218 A JP 2004126218A JP 2005309793 A JP2005309793 A JP 2005309793A
- Authority
- JP
- Japan
- Prior art keywords
- data
- primary
- update
- user data
- processing 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.)
- Pending
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/2066—Optimisation of the communication load
-
- 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
- G06F11/2074—Asynchronous techniques
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
- Y10S707/99953—Recoverability
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
- Y10S707/99955—Archiving or backup
Abstract
【課題】 ホストコンピュータとストレージ装置を有するサイト間でデータの複製を保持するデータ処理システムにおいて、サイト間の通信回線での転送データ量及びコストを抑え、正副の両ホストの負荷を抑え、副サイト側でデータ更新管理機能を実現する。
【解決手段】 正サイト1において正ストレージ装置100の正DKC110は、正ホスト10から正ユーザデータ120が更新されると、更新データを正サイドファイル180に格納する。この更新に非同期で、正リモートコピープログラム150と中間処理部300の副リモートコピープログラム350は、前記更新データをリモートコピー処理して副サイドファイル380に蓄積する。副ホスト20のデータ反映プログラム21は、前記蓄積されたデータを読み出し、副ストレージ装置200の副DKC210に対し命令して副ユーザデータ220に反映させ、更新情報を副ログデータ230に格納する。
【選択図】 図1
【解決手段】 正サイト1において正ストレージ装置100の正DKC110は、正ホスト10から正ユーザデータ120が更新されると、更新データを正サイドファイル180に格納する。この更新に非同期で、正リモートコピープログラム150と中間処理部300の副リモートコピープログラム350は、前記更新データをリモートコピー処理して副サイドファイル380に蓄積する。副ホスト20のデータ反映プログラム21は、前記蓄積されたデータを読み出し、副ストレージ装置200の副DKC210に対し命令して副ユーザデータ220に反映させ、更新情報を副ログデータ230に格納する。
【選択図】 図1
Description
本発明は、データを格納する複数のストレージ装置を有するデータ処理システムに関し、特にサイト間でデータをコピーして複製を保持する技術に関する。
近年、データを保持する情報処理システムで災害等により障害が発生した場合でもデータ保全及びサービス維持が可能なように、情報処理システム間でデータのコピーを行って複製を保持する技術が重要となってきている。このような技術として、それぞれストレージ装置を有する遠隔のサイト間でデータのリモートコピーを行って複製を保持する技術がある。例えば状態として複製対象データを保持する側を「正(プライマリ)」、複製を保持する側を「副(セカンダリ)」とし、正サイトの正ストレージ装置の保持するユーザデータ(正ユーザデータ)についての複製データ(副ユーザデータ)を副サイトの副ストレージ装置において保持するものである。
データ複製のための技術として正ホストコンピュータ主体のデータ二重化システムでは、ユーザデータの更新の際、正ホストコンピュータから正副二台のストレージ装置に対し、更新データを双方に書き込む必要がある。そのため、ユーザ(企業や個人等)に対するサービスを遂行するためにも、データ二重化に伴うI/O(入出力)処理数の増加や正ホストコンピュータのメモリバスの圧迫等、正ホストコンピュータにおける負担が大きくなる。
それぞれホストコンピュータとストレージ装置を有する情報処理システムが遠隔のサイトに配置されたデータ処理システムにおいて正副サイト間でユーザデータのコピーを行って複製を保持するための技術として、本発明者が本発明の前提技術として検討した、ストレージ装置主体のリモートコピー処理方式(以降、ストレージベースコピーと称する)と、副ホストコンピュータ主体のリモートコピー処理方式(以降、副ホストベースコピーと称する)と、がある。
前記ストレージベースコピーでは、正副サイト間において、正ストレージ装置が、正ホストコンピュータからの正ユーザデータ更新の際に正ホストコンピュータより受領する更新データ(正ユーザデータにおける更新位置に書き込まれるデータ)について、副ストレージ装置に対し正副ストレージ装置間の通信リンクを通じて直接にリモートコピーし、前記更新データを副ユーザデータに反映させることで正副ユーザデータのデータ同期を行う。この処理方式では、前記正サイトにおける正ユーザデータの更新データを副ストレージ装置に転送して副ユーザデータに反映させるための処理に伴う正ホストコンピュータの負担は無い。
前記副ホストベースコピーでは、正副サイト間において、副ホストコンピュータが、正ストレージ装置における正ユーザデータの更新データを通信リンクを通じてリモートで読み出し(コピー)して、これを副ストレージ装置の副ユーザデータに反映することで正副ユーザデータのデータ同期を行う。この処理方式では、正ホストコンピュータは、正ユーザデータの更新データを副サイト側に転送して副ユーザデータに反映させる処理との連携が必要無いため、それに伴う負担は無い。特許文献1には、前記副ホストベースコピーに対応する技術が開示されている。
米国特許第6052758号明細書
前記ストレージベースコピーでは、正サイトすなわち正ホストコンピュータと正ストレージ装置における正ユーザデータに対する更新データの他にも前記更新情報すなわちユーザデータ以外のシステム情報も副サイト側の副ストレージ装置に転送しなければならないため、その分、サイト間の通信回線における転送データ量も増加し回線コストあるいはシステム運営コストが増加するという問題がある。一方、前記副ホストベースコピーでは、副ホストコンピュータが正ユーザデータの更新データについて副ユーザデータに反映してデータ同期させる処理を行う以外にも正副サイト間での通信リンクを通じた前記更新データのリモートでの読み出しのためのI/O処理を行う必要があるなど、副ホストコンピュータの負荷が大きくなり処理効率が低下するという問題がある。
本発明は以上のような問題に鑑みてなされたものであり、その目的は、ホストコンピュータおよびストレージ装置を有するサイト間でデータのコピーを行って複製を保持するデータ処理システムにおいて、前記ストレージベースコピーの場合に問題となる通信回線での転送データ量及び回線コストの増大を抑えると共に前記副ホストベースコピーの場合に問題となる副ホストコンピュータによる正ストレージ装置からのデータの読み出しのI/O処理等による負荷の増大を抑え、データ整合性を維持しつつ効率的にデータの転送を行ってデータ複製を行い、副サイト側でデータ更新管理機能を実現できる技術を提供することにある。
また本発明のさらなる目的は、前記データ処理システムにおいて副ユーザデータをもとに過去の更新時点のデータに回復するポイント・イン・タイムリカバリ機能を実現できる技術を提供することにある。
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。
前記目的を達成するために、本発明は、ホストコンピュータとストレージ装置とを有するサイト間でデータのコピーを行って複製を保持するデータ処理システムであって、正ホストコンピュータとこれに接続され制御部(記憶装置制御装置)と記憶装置とを備え複製対象の正ユーザデータを記憶領域に格納する正ストレージ装置とを有する正サイトと、副ホストコンピュータとこれに接続され制御部(記憶装置制御装置)と記憶装置とを備え前記正ユーザデータの複製を副ユーザデータとして記憶領域に格納する副ストレージ装置とを有する副サイトと、前記正ストレージ装置と通信リンクを通じて接続され前記副ホストコンピュータと接続される中間処理部とを有し、正サイトにおける正ホストからの正ストレージ装置の正ユーザデータに対する更新後、その更新データについてコピー対象データとして副サイト側へ転送(コピーまたは移動)する処理を、正ストレージ装置が主体でリモートコピー処理により中間処理部に転送する処理によって行い、この中間処理部に転送され蓄積された更新データを副ユーザデータへ反映して正ユーザデータ側とデータ同期させる処理すなわち副ユーザデータのデータ更新処理を、副ホストコンピュータが主体で前記蓄積されたデータを読み出して副ストレージ装置に命令して反映させる処理によって行うことを特徴とする。このようなデータ複製処理により、正副のホストコンピュータおよびストレージ装置間で処理を役割分担して負荷分散および低減が行われる。
前記中間処理部は、前記正サイトと副サイトの間において副サイトと距離的に近い位置すなわち通信における距離遅延時間が短くデータ転送のためのI/O処理の負荷が小さくて済む位置を考慮して配置・接続され、正副サイト間での更新データの転送に際して転送中継処理および更新データの一時的な蓄積処理等を行い、正副サイトの処理のバランスをとる役割を担う。
前記正ストレージ装置の制御部は、前記正ホストコンピュータのデータ処理プログラムからのライト命令等の命令に基づき前記正ユーザデータの更新を行う際、その更新データすなわち正ユーザデータの更新位置(更新アドレス)に対する書き込みデータをコピー対象(転送対象)データとして正ストレージ装置内の記憶領域例えば制御部の備えるキャッシュメモリに正サイドファイルとして蓄積する。前記正ストレージ装置の制御部は、この更新データの蓄積の際、この更新データの副サイト側へのリモートでの転送(コピーあるいは移動)、記憶領域への格納、および副ユーザデータへの反映などを管理するための管理情報(コピー対象データ管理情報)を作成してこれと共に格納する。前記管理情報は、ユーザデータ(正ユーザデータとこれに対応する複製である副ユーザデータ)の更新順序の識別子として更新通番もしくは更新時刻、ユーザデータの更新アドレス、および前記更新データの蓄積アドレス等を含んで作成される。前記管理情報は、副サイト側で副ユーザデータへの更新データの反映処理をデータ整合性を維持しつつ行うために最低限必要とされる情報である。副サイト側で前記更新通番もしくは更新時刻に従って副ユーザデータへの反映処理すなわち正ユーザデータにおける更新順序と同じ更新順序で副ユーザデータに対する更新データの書き込みが行われることでデータ整合性が維持される。前記更新通番もしくは更新時刻についてはいずれか一方の保持でもよい。
前記正ストレージ装置の制御部と中間処理部は、前記正ユーザデータの更新に非同期のタイミングで、前記コピー対象データすなわち更新データとその管理情報を通信リンクを通じて中間処理部の持つ記憶領域にリモートコピーあるいは移動して蓄積させる。前記中間処理部は、受信した更新データを副サイドファイルとして格納し、また受信した管理情報をもとに新たな管理情報の作成あるいは受信した管理情報の更新を行い、前記更新データと共に格納する。例えば前記管理情報において更新順序の識別子はそのままで中間処理部の記憶領域における更新データの格納位置を示す更新データ格納アドレスなどの情報を作成する。
前記正ストレージ装置と中間処理部の間での前記非同期での更新データとその管理情報の転送は、例えば前記中間処理部からの正ストレージ装置の制御部に対する更新データ転送の要求に基づき前記正ストレージ装置の制御部が前記管理情報から転送対象の更新データおよびその管理情報を決定して記憶領域から取り出して応答として送信することにより行う。あるいは、前記正ストレージ装置の制御部から中間処理部に対する更新データ転送の要求に基づき行う。要求毎に転送されるコピー対象データは、例えば所定の更新回数分の更新データとする。また、所定のデータ量分の更新データとしてもよい。要求の発行は、例えば一定時間毎とする。あるいは更新の発生毎としてもよい。また、正ストレージ装置や中間処理部の負荷が少ない状態の時に行うこととしてもよい。正ストレージ装置や中間処理部の記憶領域には、所定量あるいは数の更新データを蓄積するようにしてもよい。
前記副ホストコンピュータのデータ反映プログラムと中間処理部は、接続パスを通じて前記中間処理部に蓄積されている更新データとその管理情報を副ホストコンピュータを介して副ストレージ装置に転送(コピーあるいは移動)処理し、その管理情報をもとに前記正ユーザデータにおける更新順序に従って対応する更新データを前記副ユーザデータに反映させる処理を、前記副ストレージ装置の制御部に命令して行わせる。
前記副ホストコンピュータと中間処理部の間での前記更新データとその管理情報の転送および反映処理は、例えば前記副ホストコンピュータからの中間処理部に対する要求に基づき前記中間処理部が前記管理情報から転送対象の更新データを決定して記憶領域から取り出し、これを副ホストコンピュータが読み出して取得することにより行う。あるいは、前記中間処理部から副ホストコンピュータに対する要求に基づき行う。要求毎に転送されるコピー対象データは、例えば所定の更新回数分の更新データとする。また、所定のデータ量分の更新データとしてもよい。この要求の発行は、例えば一定時間毎とする。あるいは更新の発生毎としてもよい。また、中間処理部や副ホストコンピュータや副ストレージ装置の負荷が少ない状態の時に行うこととしてもよい。中間処理部や副ホストコンピュータや副ストレージ装置の記憶領域には、所定量あるいは数の更新データを蓄積するようにしてもよい。
前記副ホストコンピュータのデータ反映プログラムは、前記中間処理部から前記更新データとその管理情報を取得すると、その管理情報を参照して副ユーザデータに反映する更新データを前記更新順序識別子をもとに決定し、またペア変換情報をもとに正副ペア論理ボリュームすなわち正ユーザデータとそれに対応する複製である副ユーザデータとのアドレス変換を行ってから、副ストレージ装置の制御部に更新データ反映のための命令を発行する。前記副ストレージ装置は、前記更新データ反映処理のための命令に応じて前記更新データを記憶装置に格納している副ユーザデータに反映してデータ更新し、処理結果を副ホストに返す。
正ユーザデータと副ユーザデータは複製についてのペア論理ボリュームを構成し、そのアドレス変換などの対応情報であるペア変換情報を例えば副ホストコンピュータが保持する。副ホストコンピュータは、副ユーザデータへの更新データの反映処理の際は、ペア変換情報から更新対象の論理ボリュームおよび更新位置の決定等を行う。また前記ペア変換情報の保持およびアドレス変換を前記中間処理部や副ストレージ装置の制御部等で行ってもよい。
前記正ストレージ装置、中間処理部、副ホストコンピュータおよび副ストレージ装置の間での更新データの転送は、コピー(転送元のデータを残す)でもよいし移動(転送元のデータを残さない)でもよい。更新データの転送がコピーである場合は、更新の世代管理がなされる。
また、本発明のデータ処理システムは、正ストレージ装置の制御部が正ホストコンピュータのデータ処理プログラムからのライト命令等に基づき正ユーザデータのデータ更新を行うこととは別に、正ホストコンピュータが、正ユーザデータの更新に関する更新情報(ログデータ)を生成し、これを正ストレージ装置内の所定の記憶領域に格納する。また、前記副ストレージ装置の副ユーザデータについての更新すなわち前記更新データの反映処理に伴い、副ホストコンピュータ、あるいは副ホストコンピュータからの命令に基づく副ストレージ装置が、その更新に関する更新情報(ログデータ)を生成して副ストレージ装置内の記憶領域に格納させることを特徴とする。副サイト側で副ユーザデータについての更新情報を生成して保持することで副サイトにおけるデータ更新管理機能が実現され、これにより障害時等におけるシステムあるいはデータの回復を助ける。
また、本発明のデータ処理システムは、前記副ホストコンピュータは、前記副ストレージ装置の副ユーザデータについての更新の際、副ストレージ装置により、更新位置への更新データの書き込み前に更新前データを副ストレージ装置内の記憶領域に旧サイドファイルとして格納させ、副ホストコンピュータは、副ユーザデータを過去の更新時点におけるデータ状態に戻したい場合に、副ユーザデータに対し前記副ストレージ装置内に格納している更新前データを用いて前記更新順序を遡って更新を行わせることにより過去の更新時点のデータ状態へ戻す処理を行うことを特徴とする。
また、本発明のデータ処理システムは、前記副ホストコンピュータは、前記副ユーザデータを前記正ユーザデータで更新済みの時点のデータ状態に進めたい場合、前記中間処理部に蓄積されている更新データとその管理情報を取得して前記更新順序に従ことにより行うことを特徴とする。
また、本発明のデータ処理システムは、前記中間処理部は、前記副サイト内で副ストレージ装置とは独立して構成され、前記副ホストコンピュータさらには副ストレージ装置とローカルエリアネットワーク等のネットワークあるいは専用線等により接続される構成としてもよい。また、本発明のデータ処理システムは、前記中間処理部は、前記副サイト内で副ストレージ装置の制御部内に構成されることとしてもよい。また、本発明のデータ処理システムは、前記中間処理部は、前記正サイトと副サイトの間にある中間サイトに配置され、前記正ストレージ装置と第一の通信リンクで接続され、前記副ホストコンピュータと第二の通信リンクで接続される構成としてもよい。
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。
本発明によれば、ユーザデータについての更新データをストレージ装置主体のリモートコピー処理により遠距離でのデータ転送効率をいかして副サイト側に転送するので、正副サイト間の通信回線における転送データ量および回線コストを抑え、また回線使用量の予測をしやすくしシステム運営コストを抑えることができる。それと共に、副ホストコンピュータによる正ストレージ装置からのデータの読み出しのI/O処理等による負荷の増大を抑えて処理効率低下を防ぐことができ、データ整合性を維持しつつ効率的にデータの転送を行ってデータ複製を行うことができる。また、副ホストコンピュータが更新情報の生成処理を行うことにより副サイト側におけるデータ更新管理機能を実現し、これにより障害発生時等にシステムあるいはデータの回復を助けることができる。
また、本発明によれば、副ユーザデータの更新の際にその更新前データを副ストレージ装置内の記憶領域に格納しておくことで、副ユーザデータをもとに過去の更新時点のデータに回復するポイント・イン・タイムリカバリ機能が実現できる。
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一部には原則として同一符号を付し、その繰り返しの説明は省略する。
<データ処理システムの構成>
図1は、本発明の代表的な実施の形態におけるデータ処理システムの全体構成を示す。本実施の形態のデータ処理システムは、正サイト1と、副サイト2と、中間処理部300とを有し、これらが通信手段により接続される構成である。正サイト1は、正ホスト(正ホストコンピュータ)10と正ストレージ装置100とを有し、これらが接続パス5により接続される情報処理システムである。副サイト2は、副ホスト(副ホストコンピュータ)20と副ストレージ装置200とを有し、これらが接続パス7により接続される情報処理システムである。中間処理部300は、遠隔通信のための通信リンク4により正ストレージ装置100と接続され、また副ホスト20と接続パス6により接続される情報処理システムである。中間処理部300は、距離的に正サイトよりも副サイトの近くに配置される。
図1は、本発明の代表的な実施の形態におけるデータ処理システムの全体構成を示す。本実施の形態のデータ処理システムは、正サイト1と、副サイト2と、中間処理部300とを有し、これらが通信手段により接続される構成である。正サイト1は、正ホスト(正ホストコンピュータ)10と正ストレージ装置100とを有し、これらが接続パス5により接続される情報処理システムである。副サイト2は、副ホスト(副ホストコンピュータ)20と副ストレージ装置200とを有し、これらが接続パス7により接続される情報処理システムである。中間処理部300は、遠隔通信のための通信リンク4により正ストレージ装置100と接続され、また副ホスト20と接続パス6により接続される情報処理システムである。中間処理部300は、距離的に正サイトよりも副サイトの近くに配置される。
正ホスト10は、データ処理プログラム11を有する。正ホスト10は、プロセッサ、メモリ、通信インターフェイス、入出力装置、正ストレージ装置100を利用するためのOSやアプリケーションプログラムなどを備えるコンピュータであり、データ処理プログラム11他のプログラムをプロセッサにより実行して各種機能を実現する。データ処理プログラム11は、正ホスト10を利用するユーザ(企業や個人等)に対するサービスを提供するために、正ストレージ装置100にアクセスして正ストレージ装置100に格納されている正ユーザデータ120などのデータに対する処理を行うプログラムである。
正ストレージ装置100は、物理構成として制御部(記憶装置制御装置)とこれに接続される一つ以上の記憶装置(ディスク駆動装置)とを備える記憶システムである。正ストレージ装置は、制御部として正DKC(正ディスクコントローラ)110を有する。正DKC110は、正ホスト10に接続パス5を通じて接続され、また記憶装置と内部の接続線で接続される。正DKC110は、記憶装置に対するデータのリード、ライト等の制御や、RAID制御(ディスクアレイすなわち複数の記憶装置の制御)等を行う。また正DKC110は、通信リンク4と接続され、これを介して後述のリモートコピー処理のために中間処理部300と通信可能である。正ストレージ装置100は、一つ以上の記憶装置により提供される記憶領域に、論理ボリュームとしてデータを格納する。論理ボリュームは、物理的な記憶領域すなわち物理ボリュームについて任意に区切って論理的に扱う単位であり、物理アドレスと論理アドレスの対応が正ストレージ装置100で管理される。正ホスト10は正ストレージ装置100に対し論理アドレス指定によりデータアクセス可能である。本実施の形態では、正ストレージ装置100に、論理ボリュームとして、複製対象データであるユーザデータを正ユーザデータ120として格納し、また、正ユーザデータ120の更新に伴い正ホスト10からの命令に基づき生成する更新ログを正ログデータ130として格納する。なお図面では、記憶装置については図示せず、各ストレージ装置で格納するデータについて単一の論理ボリュームのみを簡略に示している。
副ホスト20は、データ反映プログラム21と、ペア変換情報22とを有する。副ホスト20は、正ホスト10と同様に、プロセッサ、メモリ、通信インターフェイス、入出力装置、副ストレージ装置200を利用するためのOSやアプリケーションプログラムなどを備えるコンピュータであり、プログラムをプロセッサにより実行して各種機能を実現する。データ反映プログラム21は、接続パス6を通じて中間処理部300と通信を行い、また接続パス7を通じて副ストレージ装置200と通信を行って、正サイト1側からの更新データを副ユーザデータ220に反映する処理などを行う。またデータ反映プログラム22により後述の障害時データ回復機能のための処理を行い、これにより正サイト1での障害発生時などに副ユーザデータ220をもとにしたデータ回復処理を実行可能である。ペア変換情報22は、ペア論理ボリュームである正ユーザデータ120と副ユーザデータ220とのアドレス変換などを行うための情報である。ペア論理ボリュームとは複製対象データである正論理ボリュームとその複製データである副論理ボリュームとの組である。
副ストレージ装置200は、正ストレージ装置100と同様に、物理構成として制御部(記憶装置制御装置)とこれに接続される一つ以上の記憶装置(ディスク駆動装置)とを備える記憶システムである。副ストレージ装置200は、制御部として副DKC(副ディスクコントローラ)210を有する。副DKC210は、副ホスト20に接続パス7により接続され、また前記記憶装置に接続される。副DKC210は、記憶装置に対するデータのリード、ライト等の制御や、RAID制御等を行う。副ストレージ装置200は、一つ以上の記憶装置により提供される記憶領域に、論理ボリュームとしてデータを格納する。物理アドレスと論理アドレスの対応が副ストレージ装置200で管理される。本実施の形態では、副ストレージ装置200に、論理ボリュームとして、前記正ユーザデータの複製を副ユーザデータ220として格納し、また、副ホスト20からの命令に基づき生成する更新ログを副ログデータ230として格納する。
正ストレージ装置100は、論理的構成として、正DKC110に、正リモートコピープログラム150と、正コピー対象データ管理情報170と、正サイドファイル180と、を有する。
正ストレージ装置100において、正リモートコピープログラム150は、正ストレージ装置100主体で更新データのリモートコピーを行う機能であり、正DKC110内に蓄積しているコピー対象データすなわち更新データおよびその正コピー対象データ管理情報170を、通信リンク4を通じてリモートコピー先となる中間処理部300に対しリモートコピーする処理を所定のタイミングで行う。このリモートコピー処理の実行のタイミングは、正ユーザデータ120の更新に非同期である。
正DKC110は、正ホスト10からの命令に基づく正ユーザデータ120の更新に際して、その更新データについて副サイト2側へのリモートコピー対象とするために、この更新データをコピー対象データとして管理するための正コピー対象データ管理情報170を作成し、作成した正コピー対象データ管理情報170を正DKC110内の記憶領域に蓄積して管理する。正DKC110は、更新データと共に記憶領域に蓄積された正コピー対象データ管理情報170を参照することにより更新データを選択して取り出す。
正コピー対象データ管理情報170および副コピー対象データ管理情報370は、対象の正ユーザデータ120における更新順序の識別子として更新通番と更新時刻、対象のユーザデータにおける更新アドレス等を含んだ情報である。このコピー対象データ情報(170,370)は、正ストレージ装置100、中間処理部300、副ホスト20への更新データの移動に付随し、副ホスト20のデータ反映プログラム21でも解読可能な情報である。正コピー対象データ管理情報170の作成は、正ユーザデータ120の更新の発生に伴い正DKC110が行う。なお正ログデータ130等のシステム情報は正ホスト10が主体で生成する情報であり、正ストレージ装置100が生成する正コピー対象データ管理情報170とは別である。正コピー対象データ管理情報170は、更新データと組で記憶領域に順に蓄積されてもよいし、更新データとは別の記憶領域に分けて蓄積されてもよい。
前記更新データは、正ホスト10のデータ処理プログラム11が正DKC110に対しライト(WR)命令等を発行して正ストレージ装置100内の記憶装置の記憶領域に保持される正ユーザデータ120への書き込みを行う際に、正ホスト10から正ストレージ装置100に転送されてくるデータである。
正ストレージ装置100で、正サイドファイル180は、更新順序性の保証のために作成される。本実施の形態のデータ処理システムの場合、正ホスト10が正ユーザデータ120を更新するI/Oとは非同期で正DKC110と中間処理部300とでコピー対象データである更新データとその正コピー対象データ管理情報170をリモートコピーする処理(非同期リモートコピー)を行う。この場合、正ユーザデータ120に対する更新データが、正サイドファイル180として格納されていないもしくは中間処理部へ転送されていない状態に対し再び正ホスト10から上書きが発生する場合に、上書き前の更新データを退避して更新データを世代管理するために正サイドファイル180が作成される。正サイドファイル180は、簡単に説明すると、ある時点tmで正ユーザデータ120に対するライト(WR)命令で書き込まれた更新データdmに対し、次の時点tnで再度ライト命令による更新データdnの書き込みが行われようとする場合に、更新データ反映順序性の保証が必要と判断し更新データdnの受領に先立ち更新データdmをコピー(バックアップ)したデータである。
正ストレージ装置100の正DKC110が蓄積する正コピー対象データ管理情報170が示す更新データの格納アドレス(蓄積位置情報)に格納されている更新データをコピー対象データとして扱う。これを正サイト1から副サイト2側の中間処理部300へリモートコピー処理を通じて転送し蓄積させることで、副サイト2側では、この更新データを副ユーザデータ220に反映して対応する正ユーザデータ120とのデータ同期を行う。
正ストレージ装置100の正DKC110において、正ユーザデータ120に対する更新データと正コピー対象データ管理情報170だけを利用することで、正副サイト間でのデータ複製のために必要なデータの転送における転送データの絶対量が減少される。正サイト1に格納される更新データは、正ストレージ装置100主体のリモートコピー処理により副ホスト20配下の中間処理部300および副ホスト20を介して最終的に副ストレージ装置200の副DKC210にまで転送される。
なお、正ストレージ装置100で正サイドファイル180を作成する際の処理の内容、条件、契機等には複数の場合が存在し、本実施の形態で示すのはその一処理例である。
中間処理部300は、副ホスト20配下の処理部であり、プロセッサ、メモリ、通信インターフェイスなどを有する。中間処理部300は、論理的構成として、副リモートコピープログラム350と、副コピー対象データ管理情報370と、副サイドファイル380とを有する。中間処理部300は、更新データおよび副コピー対象データ管理情報370の蓄積を行うための所定容量のメモリあるいはストレージを備える。このメモリの容量は、更新発生毎における更新データの量あるいは何世代分の更新データを副サイドファイル380として蓄積するか等に応じて設定する。
中間処理部300は、副サイト2内の一部として構成されてもよいし、副サイト2とは独立した処理部として正副サイト間の通信リンク上に配置される構成でもよい。また、副サイト2内でLAN上の接続パスにより副ホスト20と接続される構成でもよいし、副ストレージ装置200の副DKC210の一部として構成されてもよい。中間処理部300の配置及び接続が異なる形態については後述する。
中間処理部300の副リモートコピープログラム350は、正ストレージ装置100の正リモートコピープログラム150と連携して、更新データとその正コピー対象データ管理情報170を受信して記憶領域に蓄積する処理を行う。受信した更新データを副サイドファイル380へ蓄積し、受信した正コピー対象データ管理情報170をもとに副コピー対象データ管理情報370を作成して記憶領域に格納する。例えば副コピー対象データ管理情報370内に、中間処理部300の記憶領域で更新データを格納したアドレスの値を記述する。また副リモートコピープログラム350は、副サイト2の副ホスト20のデータ反映プログラム21と連携して、前記記憶領域に蓄積されている更新データとその副コピー対象データ管理情報270を取り出して副ホスト20に転送する処理を行う。
副ホスト20のデータ反映プログラム21は、近距離に配置されている中間処理部300に蓄積された副サイドファイル380の更新データを読み込むことで正副サイト間における距離遅延時間によるデータ転送時間の間延び無しに更新データを取得するので、副ホスト20の負荷が小さくて済む。
副サイト2側で副ユーザデータ220は、正サイト1側における正ユーザデータ120での更新に対しその更新データがリモートコピー処理を通じて副ホスト20および副ストレージ装置200により反映処理された時点で、正ユーザデータ120の前記更新時点の内容と一致すなわちデータ同期する。
正副のホストコンピュータ(10,20)は、例えばPC、ワークステーション、メインフレームコンピュータ等である。また、正副のストレージ装置(100,200)の制御部は、より詳細には、複数のホストコンピュータあるいは他のストレージ装置と接続するための各チャネルアダプタや、データを一時的に格納するキャッシュメモリ、制御情報等を格納する共有メモリ、ストレージ装置内でのデータ転送を行うスイッチ、各記憶装置を制御するディスクアダプタ、保守・管理等のための処理部等を備えて構成されてもよい。例えば、正ストレージ装置100は、正ホスト10から接続パス5を通じてチャネルアダプタで受信した更新データをキャッシュメモリに格納し、それをディスクアダプタが読み出して記憶装置にライトする等の方式で処理する。
ユーザ(管理者)は、ストレージ装置(100,200)に接続される保守・管理のための処理部あるいは端末装置によりそのストレージ装置(100,200)の保守・管理を行ことができる。また、ユーザは、ストレージ装置(100,200)に接続されるホスト(10,20)により、そのストレージ装置(100,200)に対する保守・管理を行うことも可能である。
正ログデータ130、副ログデータ230は、ユーザデータ(120,220)の更新に伴いホスト(10,20)が生成するシステム情報である。正ログデータ130、副ログデータ230は、正ログデータ130、副ログデータ230は、正ホスト10、副ホスト20が、そのデータ処理の過程で生成するプログラムの実行過程を示す情報である。これは正DKC110、副DKC210からみれば単にホスト側から記憶領域に書き込まれたデータである。
本発明の実施の形態のデータ処理システムでは、正副サイト間での正ユーザデータ120の更新データの転送は正ストレージ装置100が主体で中間処理部300に対しリモートコピー処理し、ペア論理ボリュームすなわち副ユーザデータ210への更新データの反映処理は副ホスト20上で動作するデータ反映プログラム21が主体で処理する。正副サイト間の通信回線における転送データは正ユーザデータ120についての更新データとその管理情報(170,370)のみであり、正ログデータ130等の正ホスト10を基に生成するシステム情報については転送しない。これにより、転送データ量が抑えられる。副サイト2における更新データの反映処理と、副ログデータ230等のシステム情報の生成処理は、副ホスト20上で動作するデータ反映プログラム21を基に行い、これにより、副サイト2におけるデータ更新管理機能およびデータ回復機能を実現する。
<コピー対象データ管理情報の構成>
図2は、正または副のコピー対象データ管理情報(正コピー対象データ管理情報170、副コピー対象データ管理情報370)の構成例を示す。正または副のコピー対象データ管理情報(170,370)は、正DKC110並びに中間処理部300が受信するコピー対象データである更新データについての属性を保持して管理するために作成される情報である。ある更新に対するコピー対象データ管理情報について、特に正DKC110側が作成・保持・参照する方を正コピー対象データ管理情報170とし、中間処理部300および副DKC210側が作成・保持・参照する方を副コピー対象データ管理情報370としている。コピー対象データ管理情報(170,370)は、更新通番71、更新時刻72、更新データ格納アドレス73、及びユーザデータ更新アドレス74を有する。更新通番71と更新時刻72はデータの更新順序の識別子であり、いずれか一方のみ持つ形でもよい。
図2は、正または副のコピー対象データ管理情報(正コピー対象データ管理情報170、副コピー対象データ管理情報370)の構成例を示す。正または副のコピー対象データ管理情報(170,370)は、正DKC110並びに中間処理部300が受信するコピー対象データである更新データについての属性を保持して管理するために作成される情報である。ある更新に対するコピー対象データ管理情報について、特に正DKC110側が作成・保持・参照する方を正コピー対象データ管理情報170とし、中間処理部300および副DKC210側が作成・保持・参照する方を副コピー対象データ管理情報370としている。コピー対象データ管理情報(170,370)は、更新通番71、更新時刻72、更新データ格納アドレス73、及びユーザデータ更新アドレス74を有する。更新通番71と更新時刻72はデータの更新順序の識別子であり、いずれか一方のみ持つ形でもよい。
正または副のコピー対象データ管理情報(170,370)において、更新通番71は、正DKC110上で動作する正リモートコピープログラム150が正ユーザデータ120に対する更新順序性の保証を行うために更新データに対し更新順序の識別子として与える通し番号である。時間軸においてある正ユーザデータ120の更新発生毎に、更新通番71を例えばs1,s2,…,snと与える。正リモートコピープログラム150が中間処理部300からの更新データリード要求に対する応答として転送すべきコピー対象データを決定する基準は、正ストレージ装置100における未転送データの中で最も若い(小さい)更新通番71を持つデータとなる。中間処理部300のリモートコピープログラム350においても、副ホスト20のデータ反映プログラム21からの副サイドファイル380すなわち更新データのリード要求に対し同様の基準で転送すべきコピー対象データを決定する。更新通番71は、データ反映プログラム21による副ユーザデータ220に対するデータ更新順序すなわち更新データ反映順序が、データ処理プログラム11による正ユーザデータ120に対するデータ更新順序と同じ順番で行われるようにするためのものである。
更新時刻72は、正DKC110が正ホスト10のデータ処理プログラム11から正ユーザデータ120に対するライトオペレーションを受け付けた時刻であり、例えば正ホスト10がメインフレームコンピュータであればこの時刻は正ホスト10からのライト命令に付与される。更新通番71もしくは更新時刻72に従って更新順序を守って副サイト側でデータ反映処理を行うことで、データ整合性が維持される。
更新データ格納アドレス73は、正DKC110や中間処理部300において更新データが格納される記憶領域の物理アドレスを示す。例えば、更新データが正DKC110や中間処理部300の持つキャッシュメモリ上に格納される場合は、キャッシュメモリ上アドレスか、キャッシュセグメントの管理情報へのポインタとなる。具体的な値は正と副で変わることとなる。
ユーザデータ更新アドレス74は、ストレージ装置(100,200)内でユーザデータ(120,220)が配置される論理ボリューム上で更新データが書き込まれる更新位置および範囲を示す情報である。本例の場合、ユーザデータ更新アドレス74は、ディスクアドレス74a、シリンダ・ヘッド番号74b、トラック内更新開始位置74c、及び更新ブロック数74dから成る。ユーザデータ更新アドレス74は、論理アドレスで示してもよいし物理アドレスで示してもよい。論理アドレスと物理アドレスの変換は正副のDKC(110,210)において適切に行われる。ディスクアドレス74aは、対象のディスク駆動装置のアドレスあるいは識別番号である。シリンダ・ヘッド番号74bは、対象のディスク駆動装置におけるシリンダ・ヘッド番号である。トラック内更新開始位置74cは、対象のシリンダ・ヘッドにおけるトラック内開始位置である。更新ブロック数74dは、対象のトラック内更新開始位置から始まる更新範囲である。ユーザデータ更新アドレス74は、正ユーザデータ120の更新データに対する正コピー対象データ管理情報170の場合は、正リモートコピープログラム150がデータ処理プログラム11からのライトI/Oの内容から算出される。副ユーザデータ220の更新データに対する副コピー対象データ管理情報370の場合は、これをデータ反映プログラム21が中間処理部300より読み出した際に、副ホスト20で持つペア変換情報22を用いて正副ペア論理ボリュームのアドレス変換を行うことで算出される。
<ペア変換情報の構成>
図3は、ペア変換情報22の構成例を示す。ペア変換情報22は、正ユーザデータ120が格納される正論理ボリューム番号22aに対する副ユーザデータ220が格納される副論理ボリューム番号22bと副論理ボリューム上の開始シリンダ・ヘッド番号22cとから構成される。またペア変換情報22を副ホスト20ではなく中間処理部300上に保持し、副リモートコピープログラム350が正DKC110からコピー対象データである更新データおよび正コピー対象データ管理情報170を受信した際に、正副ペアボリュームアドレス変換を行う形態とすることも可能である。
図3は、ペア変換情報22の構成例を示す。ペア変換情報22は、正ユーザデータ120が格納される正論理ボリューム番号22aに対する副ユーザデータ220が格納される副論理ボリューム番号22bと副論理ボリューム上の開始シリンダ・ヘッド番号22cとから構成される。またペア変換情報22を副ホスト20ではなく中間処理部300上に保持し、副リモートコピープログラム350が正DKC110からコピー対象データである更新データおよび正コピー対象データ管理情報170を受信した際に、正副ペアボリュームアドレス変換を行う形態とすることも可能である。
ペア変換情報22は、正DKC110をもとに作成したコピー対象データ管理情報(170,370)を副ホスト20のデータ反映プログラム21で解析する場合に、正ストレージ装置100の記憶装置と副ストレージ装置200の記憶装置が単一デバイスで構成されない限り、つまりデバイスペアが一対一の単純な構成でない限りは、必要となる情報である。また、本実施の形態では、副ホスト20が主体でデータ反映処理を行うことから、ペア変換情報22を副ホスト20内に配置したが、中間処理部300あるいは副DKC210がデータ反映処理を行う形態の場合であってもペア変換情報22は必要であり、その場合も同様なペア変換情報22が中間処理部300や副DKC210などの必要な位置に配置される。
<データ処理システムの動作>
次に、本実施の形態のデータ処理システムにおける全体の動作について説明する。図4は、本実施の形態データ処理システムにおける全体の動作を示すシーケンス図であり、正サイト1での正ユーザデータ120の更新から副サイト2での副ユーザデータ220への更新データの反映までの処理手順を示す。
次に、本実施の形態のデータ処理システムにおける全体の動作について説明する。図4は、本実施の形態データ処理システムにおける全体の動作を示すシーケンス図であり、正サイト1での正ユーザデータ120の更新から副サイト2での副ユーザデータ220への更新データの反映までの処理手順を示す。
まず、正ホスト1上で動作するデータ処理プログラム11が、正ストレージ装置100に格納されている正ユーザデータ120の更新のためのライトオペレーションを行う。データ処理プログラム11が、正DKC110に対し、正ユーザデータ120内のデータに対するライト(WR)命令を実行する(ステップS110)。このライト命令には、対象の論理アドレスすなわちユーザデータ更新アドレスやその位置に対して書き込む更新データが付随する。
正DKC110は、正ホスト10からライト要求を受けると、この更新のためのライトI/Oの受領処理を行い、このライトI/Oの情報から受領データすなわち更新データに対する管理のための正コピー対象データ管理情報170を作成する。この処理は、中間処理部300からの更新データリード要求に対応するための準備である(S120)。作成した正コピー対象データ管理情報170は、更新データと関連付けて正ストレージ装置100内の記憶領域に格納する。
一方、中間処理部300は、通信リンク4を通じて正DKC110に対し正サイドファイル180として更新データの蓄積があればそれを転送するように要求するためのリード(RD)オペレーションを発行する。副リモートコピープログラム350が、正リモートコピープログラム150に対し更新データリード要求を発行する(S130)。この更新データリード要求の発行のタイミングは、前記正ユーザデータ120の更新およびその更新データの正サイドファイル180への格納のタイミングとは独立したタイミングである。
正DKC110あるいは正リモートコピープログラム150は、中間処理部300からリード要求を受けると、中間処理部300の副リモートコピープログラム380に対し未コピー(未転送)状態にある更新データを正コピー対象データ管理情報170の参照を基に特定(選択)し、未コピー状態である更新データとそれに付随する正コピー対象データ管理情報170を、中間処理部300に対しリモートコピー処理により送信する(S140)。
中間処理部300は、正DKC110からのリモートコピー処理により受信した更新データを、中間処理部300の持つ記憶領域に副サイドファイル280として格納・蓄積する。それと共に、更新データと共に受信した正コピー対象データ管理情報170から、副サイドファイル380として蓄積された更新データの管理のための副コピー対象データ管理情報370を作成する(S150)。この処理は、例えば、受信した正コピー対象データ管理情報170内の更新データ格納アドレス73の値を中間処理部300内の記憶領域における更新データの格納アドレスに変更することで副コピー対象データ管理情報380とする処理である。
さらに、副ホスト2上で動作するデータ反映プログラム21は、中間処理部300に対し副サイドファイル380として更新データの蓄積があればそれを転送するように要求するためのリードオペレーションを発行する。データ反映プログラム21が、副リモートコピープログラム350に対し更新データリード要求を発行する(S160)。この更新データリード要求の発行のタイミングは、前記更新データの副サイドファイル380への格納のタイミングとは独立したタイミングである。
中間処理部300は、副ホスト20のデータ反映プログラム21からリード要求を受けると、副ホスト20に対し未転送状態にある副サイドファイル180(更新データ)を副コピー対象データ管理情報270の参照を基に特定(選択)し、未転送状態である更新データとそれに付随する副コピー対象データ管理情報370を副ホスト20のデータ反映プログラム21に対し転送(副ホスト20によるリード)処理する(S170)。
副ホスト20のデータ反映プログラム21は、中間処理部300からの転送(リード)処理により受信した更新データについ
て、それと共に受信した副コピー対象データ管理情報380の参照を基に、副ユーザデータ220に反映する更新データを決定し、副DKC210に対し更新データを副ユーザデータ220に反映すなわち書き込むためのライトオペレーションを実行する(S180)。この際、データ反映プログラム21は、ペア変換情報22の参照を基に、正ユーザデータ120における更新アドレスから、それに対応する副ユーザデータ220における更新アドレスへの変換を行い、この変換された更新アドレスを含んで副DKC210に対するライトI/Oを行う。
て、それと共に受信した副コピー対象データ管理情報380の参照を基に、副ユーザデータ220に反映する更新データを決定し、副DKC210に対し更新データを副ユーザデータ220に反映すなわち書き込むためのライトオペレーションを実行する(S180)。この際、データ反映プログラム21は、ペア変換情報22の参照を基に、正ユーザデータ120における更新アドレスから、それに対応する副ユーザデータ220における更新アドレスへの変換を行い、この変換された更新アドレスを含んで副DKC210に対するライトI/Oを行う。
前記ライトオペレーションの実行において、副DKC210は、ライトI/Oで指定された副ユーザデータ220の更新アドレスに対し更新データを反映すなわち書き込みすることにより副ユーザデータ220のデータ更新を行う(S190)。またこの副ユーザデータ220への更新データの書き込みすなわちコミット処理の際、後述するように、副ユーザデータ220の更新位置に更新データを書き込む前の更新前データを副ストレージ装置200内の所定の記憶領域(旧サイドファイル240)に格納するようにしてもよい。
また前記ライトオペレーションの実行に伴い、副ホスト20は、副ユーザデータ220についての更新に関する更新情報を副ログデータ230に書き込む処理を行う(S200)。以上のような処理手順が繰り返される。
<距離遅延時間>
図5は、本実施の形態のデータ処理システムにおいて、副サイト2の副ホスト20が正サイト1側の更新データを読み出す際にかかる距離遅延時間についての説明図である。特に本実施の形態のように中間処理部300を設けた場合と、設けない場合とにおいて更新データの転送のための通信における効率および負荷の違いを示す。51は、本実施の形態のデータ処理システムにおいて、副ホスト20から中間処理部300に対する更新データのリード命令を示し、52は、中間処理部300から副ホスト20への更新データの応答を示す。この更新データの転送処理にかかった時間はt1で示される。一方、53は、前記前提技術として説明した副ホストベースコピーにおいて、副ホスト20相当から正DKC110相当に対する更新データのリード命令を示し、54は、正DKC110相当から副ホスト20相当に対する更新データの応答を示す。この更新データの転送処理にかかった時間はt2で示される。前記副ホストベースコピーと本実施の形態でのリモートコピー処理との違いは、副ホスト20が更新データを取得し終えるまでにかかる時間である。副ホスト20からの更新データリード命令が更新データを保持する処理部に対して届き更新データが副ホスト20に受信されるまでの往復距離遅延時間は、通信リンク上の回線機器による遅延時間を除き、1往復時間[ms]=0.01[ms/km]×距離[km]で算出される。例えば正副のサイト間距離が3000マイル(約4800km)である場合、往復距離遅延時間が48msかかることになる。そのため、副ホストコンピュータが更新データの読み出し処理と読み出した更新データの副ユーザデータへの反映処理とを共に処理するには正ストレージ装置と副ストレージ装置との距離の大きな開きがI/Oをバランスさせることを難しくさせていた。本実施の形態では、正副サイト間の長距離のデータ転送は、正ストレージ装置100主体の非同期リモートコピー処理により更新データを副ホスト20に近い位置にある中間処理部300に転送して蓄積し、副ホスト20は中間処理部300より更新データを読み出して処理すればよいため、副ホスト20はデータ反映処理および副ログデータ230の生成処理に集中することが可能であり副ホスト20の処理効率低下を防ぐことができる。
図5は、本実施の形態のデータ処理システムにおいて、副サイト2の副ホスト20が正サイト1側の更新データを読み出す際にかかる距離遅延時間についての説明図である。特に本実施の形態のように中間処理部300を設けた場合と、設けない場合とにおいて更新データの転送のための通信における効率および負荷の違いを示す。51は、本実施の形態のデータ処理システムにおいて、副ホスト20から中間処理部300に対する更新データのリード命令を示し、52は、中間処理部300から副ホスト20への更新データの応答を示す。この更新データの転送処理にかかった時間はt1で示される。一方、53は、前記前提技術として説明した副ホストベースコピーにおいて、副ホスト20相当から正DKC110相当に対する更新データのリード命令を示し、54は、正DKC110相当から副ホスト20相当に対する更新データの応答を示す。この更新データの転送処理にかかった時間はt2で示される。前記副ホストベースコピーと本実施の形態でのリモートコピー処理との違いは、副ホスト20が更新データを取得し終えるまでにかかる時間である。副ホスト20からの更新データリード命令が更新データを保持する処理部に対して届き更新データが副ホスト20に受信されるまでの往復距離遅延時間は、通信リンク上の回線機器による遅延時間を除き、1往復時間[ms]=0.01[ms/km]×距離[km]で算出される。例えば正副のサイト間距離が3000マイル(約4800km)である場合、往復距離遅延時間が48msかかることになる。そのため、副ホストコンピュータが更新データの読み出し処理と読み出した更新データの副ユーザデータへの反映処理とを共に処理するには正ストレージ装置と副ストレージ装置との距離の大きな開きがI/Oをバランスさせることを難しくさせていた。本実施の形態では、正副サイト間の長距離のデータ転送は、正ストレージ装置100主体の非同期リモートコピー処理により更新データを副ホスト20に近い位置にある中間処理部300に転送して蓄積し、副ホスト20は中間処理部300より更新データを読み出して処理すればよいため、副ホスト20はデータ反映処理および副ログデータ230の生成処理に集中することが可能であり副ホスト20の処理効率低下を防ぐことができる。
前述した本実施の形態のデータ処理システムでは、正ストレージ装置100で正サイドファイル180および正コピー対象データ管理情報170を生成し、前記副ホストベースコピーであれば正サイト側にのみ保持が必要な正サイドファイル180すなわち更新データを、正ストレージ装置100主体のリモートコピー処理により副サイト側の中間処理部300に転送して蓄積することで正副サイト間でのデータ複製のために必要な転送データの絶対量を減少させて効率よく転送を行うことができ、それと共に副ホスト20は距離的に近くにある中間処理部300から前記転送・蓄積された更新データを読み出して反映処理および副ログデータ230の生成処理を行えばよいため、前記距離遅延時間による間延びをなくして副ホスト20の負荷低減が実現される。このように正ストレージ装置100主体の更新データの非同期リモートコピー処理と、副ホスト20主体の更新データの読み出し、反映、および副ログデータ230の生成処理とで役割分担することにより、正副の両ホスト(10,20)の負荷分散を行ってI/Oをバランスさせている。本実施の形態のデータ処理システムでは、正ストレージ装置100主体の非同期リモートコピー処理によるデータ転送の性能をいかして効率良くデータ複製のために必要なデータすなわち更新データの転送を行って、かつ更新順序性の保証によりデータ整合性を維持しつつデータ複製を行うことができる。
前記前提技術としてのストレージベースコピーや副ホストベースコピーの長所や短所について、本発明の実施の形態のデータ処理システムとの対応がわかりやすいよう簡単に説明する。前記ストレージベースコピーや副ホストベースコピーでは、正副ユーザデータ同期のための正副サイト間での更新データの転送(リモートコピー)処理に伴う正ホストコンピュータの負担が無い又は少なくて済むため、ストレージ装置を備える複数のサイト間でのデータ複製のためのリモートコピー技術として提供されている。
前記ストレージベースコピーでは、正ストレージ装置の制御部(ディスクコントローラ)が正ホストコンピュータから受領した正ユーザデータ更新時の更新データについて正ホストコンピュータの介在なしに副ストレージ装置側に通信リンクを通じて送信する。そして、副ストレージ装置の制御部(ディスクコントローラ)は、受信した更新データを副ユーザデータに反映する処理、つまり副ユーザデータについて正ユーザデータにおける更新部分と対応する部分に対しライトデータを書き込むことにより正ユーザデータと一致させる処理を行う。この処理方式において、正ホストコンピュータと正ストレージ装置とで行われるユーザデータ(正ユーザデータ)更新のためのホストI/O処理に同期で副ストレージ装置側に更新データを転送及び副ユーザデータに反映する処理である同期モードのリモートコピーであれば、少なくとも正ホストコンピュータは正ストレージ装置の正ユーザデータへのデータ更新の完了をもって副ストレージ装置の副ユーザデータへのデータ更新(データ同期)の完了を把握することができる。しかし前記同期モードのリモートコピーにおける前記データ更新のためのホストI/O処理は、副ストレージ装置の副ユーザデータへの更新データの反映(書き込み)が完了しない限りI/O完了にはならないので、正副サイト間の距離が長くなるほど、前記ホストI/O処理に要する時間がサイト間の距離遅延時間分だけ間延びして長くなるという欠点を持つ。
前記サイト間の距離遅延時間によるホストI/O処理時間の間延びの問題についての一つの解決手段は、前記データ更新のためのホストI/O処理とは非同期で正ユーザデータの更新データを正サイト側から副ストレージ装置側へ転送及び副ユーザデータに反映する処理を行う非同期モードのリモートコピーである。
しかし、前記同期/非同期いずれのモードのリモートコピーであっても、正ホストコンピュータの介在を無くして正ホストコンピュータの負荷を減らすために、正ホストコンピュータが副サイト側で副ユーザデータに対し行われるデータ更新に関する更新情報を逐一把握することはしない。前記更新情報とは、データ更新状況を管理するためのシステム情報、すなわち更新の進捗状況や更新履歴などの記録(更新ログ)であり、例えば、更新時刻や実行した命令などの情報である。
そのため前記ストレージベースコピーでは、正ホストコンピュータが正ストレージ装置の正ユーザデータを更新する際に正ホストコンピュータが生成する更新情報も、リモートコピー対象データとして指定して副ストレージ装置にリモートコピーする。すなわち、正サイトで行われる正ストレージ装置への更新データと更新情報の書き込みに対応して、この更新データおよび更新情報がリモートコピーにより副ストレージ装置で同じく書き込まれる。前記更新情報が副ストレージ装置上に存在することは、災害などによる正サイトでの障害発生時に副ストレージ装置を使用してデータ処理を再開する場合に、ホストコンピュータが副ストレージ装置上のデータ更新状況を把握でき、システムの回復動作を助けることとなる。また、前記更新情報以外にも、ストレージ装置に格納しているデータについてある時点のデータに戻すことのできるポイント・イン・タイムリカバリ処理を行うための、正ユーザデータのデータ更新時における更新前・更新後データについても副ストレージ装置にコピーするかもしれない。このように、ストレージベースコピーでは、正サイトにおける正ユーザデータについての更新データ以外にも副サイト側でのシステム回復動作のために必要な様々な情報を正ストレージ装置から副ストレージ装置に転送するため、近年のストレージ装置が保持するデータ量の増大に伴いその転送量も増加する。そのため、正副サイト間を接続する通信回線については前記転送される更新データおよび更新情報等のデータの量よりも十分な帯域を確保しておくか、あるいは確保される帯域以下に転送データ量を抑える必要がある。しかしながらサイト間の通信回線において十分な回線接続量を維持することは、前記リモートコピーを行うためのシステムについての運営コストの増加を招く。
一方、前記副ホストベースコピーは、前記ストレージベースコピーとは異なり、前記副ホストコンピュータが正ストレージ装置からリモートで読み出す更新データを使用して副ストレージ装置の副ユーザデータに対するデータ更新処理を行うことから、副ホストコンピュータ自身が副ストレージ装置の副ユーザデータのデータ更新に関する更新情報を生成して保持することを可能にする。さらにポイント・イン・タイムリカバリ処理を行うための更新前・更新後データを蓄積することも可能である。但し災害などに備え副サイトを構築する場所は一般的に正サイトから遠く離れた場所になり、副ホストコンピュータは、副ストレージ装置の副ユーザデータのデータ更新や更新情報の生成及び蓄積のためのI/O処理を行う負荷と、さらに遠距離にある正ストレージ装置から更新データを読み出すためのI/O処理を制御する能力が必要とされるため、あわせて副ホストコンピュータには大きな負担がかかることとなる。本発明の実施の形態のデータ処理システムは、以上のような両方式の長所・短所を考慮した上で構成されている。
<データ回復機能>
図6は、本発明の代表的な実施の形態におけるデータ処理システムにおいて、副サイト2でデータ回復機能を実現するために、副ストレージ装置200の記憶領域に、副ユーザデータ220の更新時の更新前データを旧サイドファイル240として格納する場合について示す。副サイト2において、ポイント・イン・タイムリカバリ、つまり副ユーザデータ220をもとにある更新時点のデータに回復(復元)する処理を行うために、副ホスト20は、副ストレージ装置200に、副ユーザデータ220の更新時における更新前データを含む情報を旧サイドファイル240として格納、保持させる。
図6は、本発明の代表的な実施の形態におけるデータ処理システムにおいて、副サイト2でデータ回復機能を実現するために、副ストレージ装置200の記憶領域に、副ユーザデータ220の更新時の更新前データを旧サイドファイル240として格納する場合について示す。副サイト2において、ポイント・イン・タイムリカバリ、つまり副ユーザデータ220をもとにある更新時点のデータに回復(復元)する処理を行うために、副ホスト20は、副ストレージ装置200に、副ユーザデータ220の更新時における更新前データを含む情報を旧サイドファイル240として格納、保持させる。
旧サイドファイル240は、副ユーザデータ220に対する更新データ書き込み前のデータすなわち更新前データと、データ反映プログラム21がこれに付与する管理情報等からなる。これは副DKC210からみれば単に副ホスト20から記憶領域に書き込まれたデータである。
正サイト1での障害発生などの際に、副サイト2で副ユーザデータ220をもとに過去の更新時点のデータ状態まで回復する処理を行うことができる。副ホスト20のデータ反映プログラム21は、更新済みの副ユーザデータ220をそれよりも過去の更新時点のデータ状態に戻す場合、副ストレージ装置200内の旧サイドファイル240に保持されている更新前データを読み出し、これを更新順序の識別子をもとに前記正副のユーザデータにおける更新順序を逆順に辿って副ユーザデータ220に順に反映させることで、過去の更新時点のデータに戻すことができる。
図7(a)〜(c)は、上記の副サイト2における副ユーザデータ220を用いたデータ回復処理について説明するための図である。図7(a)は、更新順序を表わす更新通番に対応して、正サイト1、中間処理部300、副サイト2で保持するデータについて示している。s1〜s6は、正ユーザデータ120での更新発生時点に発行された更新通番を示し、d1〜d6は各更新に対応するユーザデータのデータ内容を表わす。例えば、正サイト1の正ユーザデータ120において、内容d0の正ユーザデータ120が、更新通番s1の更新で、内容d1の更新データにより内容d1の正ユーザデータ120となることを示す。前記更新で内容d1の更新データは正サイドファイル280に保持され、その後、この更新に非同期でのリモートコピー処理を通じて中間処理部300の副サイドファイル380に転送される。さらに副ホスト20により副サイドファイル380内の内容d1の更新データが読み出され、内容d0の副ユーザデータ220に反映されてこれが内容d1の副ユーザデータ220となる。また副ユーザデータ220の更新と共に、更新前データである内容d0のデータが旧サイドファイル240に格納される。
同様に、内容d1の正ユーザデータ120に対し正ホスト10からの更新がさらに5回発生した結果、更新通番s6で、正ユーザデータ120が内容d6の状態となっているとする。このとき、正サイドファイル180には内容d1からd6までの更新データが保持されている。なおここでは正サイドファイル180および副サイドファイル380で保持する更新データ量あるいは数やコピー対象データすなわち更新データとそのコピー対象データ管理情報の転送のタイミングは考えないものとする。中間処理部300では、副サイドファイル380に内容d1からd5までの更新データを正ストレージ装置100からのリモートコピー処理により受信して保持している。また副ホスト20は、中間処理部300の副サイドファイル380から内容d1からd3までの更新データ(およびそのコピー対象データ管理情報170)を読み出して副ユーザデータ220に反映済みであり、副ユーザデータ220は内容d3の状態となっている。また旧サイドファイル240には内容d0からd2までの更新前データが格納されている。
上記状態において、副ユーザデータ220の更新状態をある更新時点まで先に進めることは中間処理部300に蓄積されている副サイドファイル380を用いることで可能である。更新通番s3における内容d3の副ユーザデータ220について、更新通番s5までデータ更新を進めようとするためには、中間処理部300で副サイドファイル380として残っている更新通番s4,s5の更新データ(内容d4,d5の更新データ)を副ストレージ装置200側に転送・読み出しして副ユーザデータ220に書き込むことでデータ作成できる(図7(b))。
一方、副ユーザデータ220を更新通番s1の更新時点の状態に戻すためには、副ホスト20および副DKC210は、旧サイドファイル240に保持されている更新前データを読み出して更新通番s3,s2の順で対応する更新前データ(内容d3,d2の更新データ)を副ユーザデータ220に書き込む処理を行う。このように、副サイドファイル380と旧サイドファイル240を副サイト2側に持つことで、データ回復機能、特にポイント・イン・タイムリカバリ機能を実現できる。
<更新の世代管理>
図8は、正ホスト10から正ユーザデータ120のレコードMのデータに対し更新が行われ、その更新データが中間処理部300、副サイト2に時間を追って世代管理され移動されて行く様子について説明する図である。ここでは、ユーザデータの内の単一のレコードに対する更新を例に挙げている。また、図中では、例として、正サイドファイル180、副サイドファイル380、旧サイドファイル240に、それぞれ2世代分の更新データを保持する場合の様子を示している。これに限らず、正・副・旧のサイドファイルに保持可能な更新データの世代数は、本リモートコピー処理を行うデータ処理システムを構成するために用いられるCPUの表現できる数値範囲および確保可能な記憶領域の容量に応じて拡張可能である。図中、D1で示す四角形およびその他の四角形は更新データあるいはそのデータ状態を示し、四角形内の値は対応する更新通番71を示すものとする。
図8は、正ホスト10から正ユーザデータ120のレコードMのデータに対し更新が行われ、その更新データが中間処理部300、副サイト2に時間を追って世代管理され移動されて行く様子について説明する図である。ここでは、ユーザデータの内の単一のレコードに対する更新を例に挙げている。また、図中では、例として、正サイドファイル180、副サイドファイル380、旧サイドファイル240に、それぞれ2世代分の更新データを保持する場合の様子を示している。これに限らず、正・副・旧のサイドファイルに保持可能な更新データの世代数は、本リモートコピー処理を行うデータ処理システムを構成するために用いられるCPUの表現できる数値範囲および確保可能な記憶領域の容量に応じて拡張可能である。図中、D1で示す四角形およびその他の四角形は更新データあるいはそのデータ状態を示し、四角形内の値は対応する更新通番71を示すものとする。
まず初期状態の時刻T0の時点で、正ユーザデータ120のレコードMのデータは初期データであり、更新通番71は無効であり存在しない。
時刻T1で、正ストレージ装置100における正ユーザデータ120のレコードMのデータは、正ホスト10から新しい更新データを受領して更新されデータD1となる。その更新のときの更新通番71を‘01’とする。この更新通番71は、正ストレージ装置100の正DKC110により、正コピーデータ管理情報170に記録される。
時刻T2に、正ユーザデータ120のレコードMのデータD1は、正ホスト10からの新更新データの受領よりも先に正サイドファイル180にコピーまたは移動されて(データD2)、更新通番毎のデータが保証される。すなわち更新データの更新順序性の保証が行われる。その後、正ホスト10からの新更新データの受領により更新された正ユーザデータ120のレコードMのデータに対し関連付けられる更新通番は‘02’である。正ユーザデータ120のレコードMにおける最後に更新されたデータを最新の世代Nと定義すれば、更新通番‘01’のデータD2の世代はN−1となる。
時刻T3には、正ユーザデータ120のレコードMにおける更新通番‘02’のデータD2は、正サイドファイル180にコピーまたは移動され(データD3)、正ユーザデータ120のレコードMへの更新通番‘03’となる更新データを正ホスト10から受領して更新される。
時刻T4では、最初に正ユーザデータ120のレコードMに書き込まれた更新通番‘01’のデータD3が、前記リモートコピー処理により通信リンク4を通じて中間処理部300に転送され、副サイドファイル380に格納されることを示している(データD4)。このとき、正コピーデータ管理情報170における更新通番‘01’を記録するコピーデータ管理情報も、正サイドファイル180における更新データつまり更新通番‘01’のデータD3と共に中間処理部300に送信される。
時刻T5では、同様に、最初に正ユーザデータ120のレコードMに書き込まれた更新通番‘01’のデータD5が、副サイドファイル380に保持されたまま、更新通番‘02’のデータが前記リモートコピー処理により通信リンク4を通じて中間処理部300に転送され、副サイドファイル380に格納されることを示している。
時刻T6では、最初に正ユーザデータ120のレコードMに書き込まれた更新通番‘01’のデータD5が、副サイドファイル380から前記副ホスト20のデータ反映プログラム21による読み出し処理により副ホスト20に転送され、対応する副ユーザデータ220に反映されることを示している。副コピー対象データ管理情報370における更新通番‘01’を記録するコピーデータ管理情報も、副サイドファイル380における更新データつまり更新通番‘01’のデータD5と共に副ホスト20に送信される。
このように、時刻T1からT8で、正ユーザデータ120のレコードMのデータが繰り返し更新され、正サイドファイル180から副サイドファイル380へ、さらに副サイドファイル380から副ユーザデータ220へと、更新データがコピーまたは移動された結果、最新の正ユーザデータ120のレコードMに更新通番‘08’のデータD7が書き込まれたときには、更新通番‘03’のデータD8までが副ユーザデータ220に書き込まれている状況を時刻T8では示す。
副サイト2における旧サイドファイル240は、副ユーザデータ220における更新データを書き込む前のデータすなわち更新前データを、書き込まれる更新データ(更新後データ)に代わって保持しておく。このとき、前記更新データに付随するコピー対象データ管理情報(副コピー対象データ管理情報370)も共に保持する。図中で時刻T5〜T7で示す更新通番‘00’のデータD6は、更新通番‘01’のデータが副ユーザデータ220に書き込まれるときの更新前データである。
図9は、前記図8を用いて説明した正ユーザデータ120のレコードMのデータに対し更新が行われている時刻T4において、正サイト1での障害の発生により更新通番‘02’、‘03’、‘04’のデータD11〜D13を喪失した例を示している。時刻T4において中間処理部300の副サイドファイル380に保持済みの更新通番‘01’のデータD14は、時刻T6において副ホスト20および副DKC210による処理により副ユーザデータ220のレコードMに書き込まれる(データD15)。時刻T6以降は、副ユーザデータ220のレコードMへの更新データが副サイト2に到着することはない。
副ホスト20は、副ユーザデータ220のレコードMのデータを時刻T5の時点の状態に戻す処理を行う場合には、副ストレージ装置200の旧サイドファイル240に更新前データと共に保持されるコピー対象データ管理情報(副コピー対象データ管理情報370)から、時刻T5(更新通番‘05’)より過去の時刻を持つものが見つかるまで更新通番71で遡って検索する。この検索で検出した時刻T5(更新通番‘05’)を持つコピー対象データ管理情報に基づき、旧サイドファイル380内の更新前データを副ユーザデータ220に書き戻す処理を行う。この旧サイドファイル240からのコピー対象データ管理情報をもとに遡った検索処理は、副ホスト20のデータ反映プログラム21が副DKC210を通じてコピー対象データ管理情報を読み出すこと、つまり前記リモートコピー処理の動作で中間処理部300から副コピー対象データ管理情報370および副サイドファイル380を読み出して副ユーザデータ220に反映する処理手順の逆向きの処理を行うことで実現可能である。
このように、本実施の形態のデータ処理システムでは、正サイト1、中間処理部300、副サイト2の各部の間で、更新通番71毎の更新データを順次に転送して副ユーザデータ220へ反映する処理を行うことでデータの世代管理が行われる。また更新データの転送および反映のタイミングに関して、正ストレージ装置100と中間処理部300の間での更新データの転送に関しては、例えば中間処理部300から正ストレージ装置100の正DKC110に対する更新データリード要求に基づき前記正コピー対象データ管理情報170から転送対象の更新データを決定して行うようにしてもよい。あるいは、正ストレージ装置100の正DKC110から中間処理部300に対する更新データ転送の要求等に基づき行うようにしてもよい。この要求の発行および更新データの転送は、例えば一定時間毎とする。また、正ストレージ装置100や中間処理部300の負荷が少ない状態の時に適宜行うこととしてもよい。また、正ストレージ装置100や中間処理部300の記憶領域に所定量あるいは数の更新データの蓄積毎としてもよい。同様に、中間処理部300と副ホスト20との間での更新データの読み出し・反映処理に関しては、例えば副ホスト20から中間処理部300に対する更新データリード要求に基づき前記副コピー対象データ管理情報370から転送対象の更新データを決定して行うようにしてもよい。あるいは、中間処理部300から副ホスト20に対する更新データ転送の要求等に基づき行うようにしてもよい。同様に、要求の発行および更新データの転送についても、例えば一定時間毎とする。また、中間処理部300や副ホスト20や副ストレージ装置200の副DKC210の負荷が少ない状態の時に適宜行うこととしてもよい。また、中間処理部300や副ホスト20や副ストレージ装置200の記憶領域に所定量あるいは数の更新データの蓄積毎としてもよい。
<中間処理部の配置>
本発明の他の実施の形態のデータ処理システムについて説明する。本発明の他の実施の形態として、前記中間処理部300は、副サイト2内の一部として構成されてもよい。図10は、この実施の形態のデータ処理システムの構成を示す。このデータ処理システムは、前記中間処理部300相当の機能を有する処理部が、中間DKC310として副サイト2内でLAN(ローカルエリアネットワーク)8上に配置され、LAN8上の接続パスにより副ホスト20と接続される形態である。中間DKC300は副DKC210に対する二次的なDKC(ディスクコントローラ)である。中間DKC310と副DKC210とがLAN8を通じて更新データの転送等のための通信を行ってもよい。その他の部分については前記代表的な実施の形態と同様である。
本発明の他の実施の形態のデータ処理システムについて説明する。本発明の他の実施の形態として、前記中間処理部300は、副サイト2内の一部として構成されてもよい。図10は、この実施の形態のデータ処理システムの構成を示す。このデータ処理システムは、前記中間処理部300相当の機能を有する処理部が、中間DKC310として副サイト2内でLAN(ローカルエリアネットワーク)8上に配置され、LAN8上の接続パスにより副ホスト20と接続される形態である。中間DKC300は副DKC210に対する二次的なDKC(ディスクコントローラ)である。中間DKC310と副DKC210とがLAN8を通じて更新データの転送等のための通信を行ってもよい。その他の部分については前記代表的な実施の形態と同様である。
LAN8が、ストレージ装置をネットワークで接続して使用するSAN(ストレージエリアネットワーク)として構成される形態でもよい。SANは、FibreケーブルとFibreスイッチ等で接続される。また、LAN8として、Ethernet(登録商標)などのLAN上でTCP/IPパケットによりSCSIインターフェイス(コンピュータとストレージ装置での通信プロトコル)のデータを載せて通信を行う形態でもよい。また、中間処理部300と副ホスト20を専用チャネルで接続する形態でもよい。
また、本発明の他の実施の形態として、前記中間処理部300は、副ストレージ装置200の一部として構成されてもよい。図11は、この実施の形態のデータ処理システムの構成を示す。このデータ処理システムは、中間処理部300が、副サイト2内で副ストレージ装置200bの副DKC210bの一部として構成される形態である。通信リンク4を通じて正ストレージSt100と副ストレージ装置200が接続され、中間処理部300と副ホスト20が接続パス7を通じて通信を行う。副DKC210bは、副ホスト20内のデータ反映プログラム21と対応する処理を行うデータ反映プログラム211を有する。その他の部分については前記代表的な実施の形態と同様である。この実施の形態は、副DKC210bが副リモートコピープログラム350を実行して副サイドファイル380、副コピー対象データ管理情報370を蓄積する。
また、本発明の他の実施の形態として、前記中間処理部300は、副サイト2とは独立した処理部として正副サイト間の通信リンク上の中間サイトに配置される構成でもよい。図12は、この実施の形態のデータ処理システムの構成を示す。このデータ処理システムは、正サイト1と副サイト2の間において中間サイト3を有し、中間処理部300が中間サイト3に配置され、正ストレージ装置100と中間処理部300が通信リンク4bで接続され、中間処理部300と副ホスト20が通信リンク6bで接続される形態である。その他の部分については前記代表的な実施の形態と同様である。また図示していないがこれらの他の実施の形態のデータ処理システムにおいても、前記代表的な実施の形態と同様に、副ストレージ装置内の記憶領域に前記旧サイドファイル240を格納して利用してもよい。
前記の各実施の形態のデータ処理システムでは、副ホスト20のデータ反映プログラム21を中心として副ユーザデータ220への更新データの反映処理を行う構成としたが、前記中間処理部300あるいは副DKC210が中心にそのデータ反映処理を行う形態としてもよい。
以上の本実施の形態のデータ処理システムにより、正ストレージ装置100主体のリモートコピー処理によるデータ転送の効率をいかし正副サイト間の通信回線における転送データ量を抑え正副の両ホスト(10,20)に与える負荷を抑えることができ、かつ正サイト1から副サイト2に対し更新情報等のシステム情報は送信せずとも副サイト2側で更新情報を生成して保持することでデータ更新管理機能およびデータ回復機能が実現される。
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることは言うまでもない。
本発明は、災害等による障害に備えてサイト間でデータの複製を行う情報処理システム等に利用可能である。
1…正サイト、2…副サイト、3…中間サイト、4,4b,6b…通信リンク、5,6,7…接続パス、8…LAN、10…正ホスト、11…データ処理プログラム、20…副ホスト、21,211…データ反映プログラム、22…ペア変換情報、100…正ストレージ装置、110…正DKC、120…正ユーザデータ、130…正ログデータ、150…正リモートコピープログラム、170…正コピー対象データ管理情報、180…正サイドファイル、200,200b…副ストレージ装置、210,210b…副DKC、220…副ユーザデータ、230…副ログデータ、240…旧サイドファイル、300…中間処理部、350…副リモートコピープログラム、370…副コピー対象データ管理情報、380…副サイドファイル。
Claims (11)
- ホストコンピュータとストレージ装置を有するサイト間でデータの複製を保持するデータ処理システムであって、
正ホストコンピュータと、これに接続され制御部と記憶装置とを備え正ユーザデータを記憶領域に格納する正ストレージ装置と、を有する正サイトと、
副ホストコンピュータと、これに接続され制御部と記憶装置とを備え前記正ユーザデータの複製を副ユーザデータとして記憶領域に格納する副ストレージ装置と、を有する副サイトと、
前記正ストレージ装置と通信リンクを通じて接続され前記副ホストコンピュータと接続される中間処理部と、を有し、
前記正ストレージ装置の制御部は、前記正ホストコンピュータからの命令に基づき前記正ユーザデータの更新を行う際、更新データをその管理情報と共に正ストレージ装置内の記憶領域に蓄積し、
前記正ストレージ装置の制御部と中間処理部は、前記正ユーザデータの更新に非同期で、前記更新データとその管理情報を前記通信リンクを通じて前記中間処理部の記憶領域にリモートコピーまたは移動して蓄積し、
前記副ホストコンピュータと中間処理部は、前記中間処理部に蓄積されている更新データとその管理情報を前記副ホストコンピュータに転送してこの転送データを前記副ユーザデータに反映して更新させる処理を前記副ストレージ装置の制御部に命令して行わせることを特徴とするデータ処理システム。 - 請求項1記載のデータ処理システムにおいて、
前記正ストレージ装置の制御部は、前記正ホストコンピュータからの命令に基づき前記正ユーザデータの更新を行う際、その更新データを管理するための管理情報を作成し、
前記管理情報は、ユーザデータの更新順序の識別子として更新通番もしくは更新時刻と、ユーザデータの更新アドレスと、前記更新データの格納アドレスと、を含んで作成され、
前記副ホストコンピュータは、前記管理情報をもとに前記更新データを前記副ユーザデータに反映して更新させる処理を行うことを特徴とするデータ処理システム。 - 請求項1記載のデータ処理システムにおいて、
前記副ホストコンピュータは、前記副ストレージ装置の副ユーザデータについての更新に伴いその更新情報を生成して副ストレージ装置内の記憶領域に格納させることを特徴とするデータ処理システム。 - 請求項1記載のデータ処理システムにおいて、
前記副ホストコンピュータは、
前記副ストレージ装置の副ユーザデータについての更新の際、更新位置への更新データの書き込み前に更新前データを副ストレージ装置内の記憶領域に格納させ、
前記副ユーザデータを過去の更新時点におけるデータ状態に戻したい場合に、前記副ストレージ装置で前記副ユーザデータに対し前記更新前データを用いて前記更新順序を遡って反映させる処理を行うことを特徴とするデータ処理システム。 - 請求項1記載のデータ処理システムにおいて、
前記副ホストコンピュータは、
前記副ユーザデータを前記正ユーザデータで更新済みの時点のデータ状態に進めたい場合に、前記中間処理部に蓄積されている更新データとその管理情報を取得し、これを前記副ストレージ装置で前記更新順序に従って前記副ユーザデータへ反映させる処理を行うことを特徴とするデータ処理システム。 - 請求項1記載のデータ処理システムにおいて、
前記正ストレージ装置の制御部と中間処理部とによる前記リモートコピーまたは移動処理は、
前記中間処理部から前記正ストレージ装置に対し要求を行って前記要求に応じて前記正ストレージ装置が前記管理情報をもとに転送対象となる前記更新データとその管理情報を記憶領域から取り出して送信することにより行うことを特徴とするデータ処理システム。 - 請求項1記載のデータ処理システムにおいて、
前記正ストレージ装置の制御部と中間処理部とによる前記リモートコピーまたは移動処理は、
前記正ストレージ装置から前記中間処理部に対し要求を行って前記正ストレージ装置が前記管理情報をもとに転送対象となる前記更新データとその管理情報を記憶領域から取り出して送信することにより行うことを特徴とするデータ処理システム。 - 請求項1記載のデータ処理システムにおいて、
前記副ホストコンピュータと中間処理部とによる前記転送および反映処理は、
前記副ホストコンピュータから前記中間処理部に対し要求を行って前記要求に応じて前記中間処理部が前記管理情報をもとに転送対象となる前記更新データとその管理情報を記憶領域から取り出して転送することにより行うことを特徴とするデータ処理システム。 - 請求項1記載のデータ処理システムにおいて、
前記中間処理部は、前記副サイト内で副ストレージ装置とは独立して構成され、前記副ホストコンピュータとネットワークあるいはチャネルで接続されることを特徴とするデータ処理システム。 - 請求項1記載のデータ処理システムにおいて、
前記中間処理部は、前記副サイト内で副ストレージ装置の制御部内に構成されることを特徴とするデータ処理システム。 - 請求項1記載のデータ処理システムにおいて、
前記中間処理部は、前記正サイトと副サイトの間にある中間サイトに配置され、前記正ストレージ装置と第一の通信リンクで接続され、前記副ホストコンピュータと第二の通信リンクで接続されることを特徴とするデータ処理システム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004126218A JP2005309793A (ja) | 2004-04-22 | 2004-04-22 | データ処理システム |
US10/868,916 US7069400B2 (en) | 2004-04-22 | 2004-06-17 | Data processing system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004126218A JP2005309793A (ja) | 2004-04-22 | 2004-04-22 | データ処理システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005309793A true JP2005309793A (ja) | 2005-11-04 |
Family
ID=35137817
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004126218A Pending JP2005309793A (ja) | 2004-04-22 | 2004-04-22 | データ処理システム |
Country Status (2)
Country | Link |
---|---|
US (1) | US7069400B2 (ja) |
JP (1) | JP2005309793A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009075675A (ja) * | 2007-09-18 | 2009-04-09 | Nec Computertechno Ltd | 整合性チェック方法及び整合性チェックシステム |
JP2009151635A (ja) * | 2007-12-21 | 2009-07-09 | Nomura Research Institute Ltd | 業務継続システム |
WO2014141482A1 (ja) * | 2013-03-15 | 2014-09-18 | 株式会社日立製作所 | 垂直統合型システム及びストレージシステムの移行方法 |
WO2015198439A1 (ja) * | 2014-06-26 | 2015-12-30 | 株式会社日立製作所 | ストレージシステムおよびストレージシステムのバックアップ作成方法 |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004021996A (ja) | 2002-06-12 | 2004-01-22 | Sony Corp | 記録装置、サーバ装置、記録方法、プログラム、記憶媒体 |
KR100533017B1 (ko) * | 2002-07-26 | 2005-12-02 | 엘지전자 주식회사 | 네트워크 라우터의 이중화장치 |
US7724599B2 (en) * | 2003-12-03 | 2010-05-25 | Hitachi, Ltd. | Remote copy system |
US7290112B2 (en) * | 2004-09-30 | 2007-10-30 | International Business Machines Corporation | System and method for virtualization of processor resources |
US20060070069A1 (en) * | 2004-09-30 | 2006-03-30 | International Business Machines Corporation | System and method for sharing resources between real-time and virtualizing operating systems |
KR100919920B1 (ko) * | 2004-12-29 | 2009-10-07 | 엔비디아 코포레이션 | 로컬 버스 트래픽이 감소된 디스크 드라이브 동작들을 위한지능형 스토리지 엔진 |
JP4786248B2 (ja) * | 2005-08-09 | 2011-10-05 | 株式会社日立製作所 | ストレージシステムの構成管理装置及び構成管理方法 |
JP4711824B2 (ja) * | 2005-12-26 | 2011-06-29 | 富士通株式会社 | 業務管理者端末、環境管理局端末、ネットワーク事業者端末、業務遂行者端末、業務管理者端末の制御方法、環境管理局端末の制御方法、ネットワーク事業者端末の制御方法および業務遂行者プログラム |
US8990613B2 (en) | 2006-06-29 | 2015-03-24 | Dssdr, Llc | Data transfer and recovery |
US9015520B2 (en) | 2006-06-29 | 2015-04-21 | Dssdr, Llc | Data transfer and recovery |
US7487383B2 (en) * | 2006-06-29 | 2009-02-03 | Dssdr, Llc | Data transfer and recovery process |
US7793148B2 (en) * | 2007-01-12 | 2010-09-07 | International Business Machines Corporation | Using virtual copies in a failover and failback environment |
JP4612714B2 (ja) * | 2008-08-12 | 2011-01-12 | 株式会社日立製作所 | データ処理方法、クラスタシステム、及びデータ処理プログラム |
US8479210B2 (en) * | 2009-10-20 | 2013-07-02 | International Business Machines Corporation | Evenly distributing workload and providing a predictable failover scenario in a data replication system |
US9389925B2 (en) * | 2013-12-03 | 2016-07-12 | International Business Machines Corporation | Achieving low grace period latencies despite energy efficiency |
KR102292172B1 (ko) * | 2014-06-23 | 2021-08-25 | 삼성전자주식회사 | 불휘발성 메모리 장치 및 메모리 컨트롤러의 동작 방법 |
US11093329B1 (en) * | 2020-03-27 | 2021-08-17 | Dell Products L.P. | RAID proxy storage-device-assisted data update system |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6052758A (en) | 1997-12-22 | 2000-04-18 | International Business Machines Corporation | Interface error detection and isolation in a direct access storage device DASD system |
US7213114B2 (en) | 2001-05-10 | 2007-05-01 | Hitachi, Ltd. | Remote copy for a storage controller in a heterogeneous environment |
US7103727B2 (en) | 2002-07-30 | 2006-09-05 | Hitachi, Ltd. | Storage system for multi-site remote copy |
US7134044B2 (en) | 2002-08-16 | 2006-11-07 | International Business Machines Corporation | Method, system, and program for providing a mirror copy of data |
US7318133B2 (en) | 2003-06-03 | 2008-01-08 | Hitachi, Ltd. | Method and apparatus for replicating volumes |
US7266665B2 (en) | 2003-06-17 | 2007-09-04 | International Business Machines Corporation | Method, system, and article of manufacture for remote copying of data |
JP2005062928A (ja) | 2003-08-11 | 2005-03-10 | Hitachi Ltd | 複数のサイトにリモートコピーを行うシステム |
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 |
US7600087B2 (en) | 2004-01-15 | 2009-10-06 | Hitachi, Ltd. | Distributed remote copy system |
-
2004
- 2004-04-22 JP JP2004126218A patent/JP2005309793A/ja active Pending
- 2004-06-17 US US10/868,916 patent/US7069400B2/en active Active
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009075675A (ja) * | 2007-09-18 | 2009-04-09 | Nec Computertechno Ltd | 整合性チェック方法及び整合性チェックシステム |
JP2009151635A (ja) * | 2007-12-21 | 2009-07-09 | Nomura Research Institute Ltd | 業務継続システム |
WO2014141482A1 (ja) * | 2013-03-15 | 2014-09-18 | 株式会社日立製作所 | 垂直統合型システム及びストレージシステムの移行方法 |
US9632718B2 (en) | 2013-03-15 | 2017-04-25 | Hitachi, Ltd. | Converged system and storage system migration method |
WO2015198439A1 (ja) * | 2014-06-26 | 2015-12-30 | 株式会社日立製作所 | ストレージシステムおよびストレージシステムのバックアップ作成方法 |
US9846555B2 (en) | 2014-06-26 | 2017-12-19 | Hitachi, Ltd. | Storage system and method of creating backup of storage system |
Also Published As
Publication number | Publication date |
---|---|
US20050240740A1 (en) | 2005-10-27 |
US7069400B2 (en) | 2006-06-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7328373B2 (en) | Data processing system | |
JP2005309793A (ja) | データ処理システム | |
US7516356B2 (en) | Method for transmitting input/output requests from a first controller to a second controller | |
JP3958757B2 (ja) | カスケード式再同期を利用する障害回復システム | |
JP4489455B2 (ja) | ディスク制御装置及びディスク制御装置の制御方法 | |
US7404051B2 (en) | Method for replicating snapshot volumes between storage systems | |
JP4892185B2 (ja) | 分散リモートコピーシステム | |
JP2005301590A (ja) | ストレージシステム及びデータ複製方法 | |
US20060129772A1 (en) | Data processing method and system | |
KR100734817B1 (ko) | 싸이트간 데이타 미러링을 위한 방법, 시스템, 및 기록 매체 | |
JP2004252686A (ja) | 情報処理システム | |
JP2005062928A (ja) | 複数のサイトにリモートコピーを行うシステム | |
JP5564494B2 (ja) | 計算機システム、及び、それを用いたバックアップ方法 | |
JPH07239799A (ja) | 遠隔データ・シャドーイングを提供する方法および遠隔データ二重化システム | |
JP2006004147A (ja) | ディザスタリカバリシステム、プログラム及びデータベースのリカバリ方法 | |
JP2003248605A (ja) | ストレージシステム、主記憶システム、副記憶システム、及びそのデータ複写方法 | |
WO2002073410A2 (en) | System and method for synchronizing a data copy using an accumulation remote copy trio | |
JP2005182222A (ja) | リモートコピーシステム | |
JP5286212B2 (ja) | ストレージクラスタ環境でのリモートコピー制御方法及びシステム | |
JP2001282628A (ja) | 記憶サブシステムのデータ二重化方法及びデータ二重化システム | |
US8583884B2 (en) | Computing system and backup method | |
JP2006285336A (ja) | 記憶装置及びストレージシステム並びにその制御方法 | |
JPH1115604A (ja) | データ多重化方法 | |
US7302604B2 (en) | Remote management commands in a mass storage system | |
US20210240351A1 (en) | Remote copy system and remote copy management method |