JP2006164080A - データ処理方法及びシステム - Google Patents

データ処理方法及びシステム Download PDF

Info

Publication number
JP2006164080A
JP2006164080A JP2004357397A JP2004357397A JP2006164080A JP 2006164080 A JP2006164080 A JP 2006164080A JP 2004357397 A JP2004357397 A JP 2004357397A JP 2004357397 A JP2004357397 A JP 2004357397A JP 2006164080 A JP2006164080 A JP 2006164080A
Authority
JP
Japan
Prior art keywords
access unit
site
storage device
server
active
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2004357397A
Other languages
English (en)
Other versions
JP4671399B2 (ja
Inventor
Nobuo Kawamura
信男 河村
Yozo Ito
洋三 伊藤
Makoto Takada
真 高田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2004357397A priority Critical patent/JP4671399B2/ja
Priority to US11/076,917 priority patent/US7293194B2/en
Publication of JP2006164080A publication Critical patent/JP2006164080A/ja
Application granted granted Critical
Publication of JP4671399B2 publication Critical patent/JP4671399B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error 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 processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/2025Failover techniques using centralised failover control functionality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2097Error 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 maintaining the standby controller/processing unit updated
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability

Abstract

【課題】 各サイトのリソースを有効に活用する。
【解決手段】 第一サイトが、現用の第一DBアクセス部を有し、第二サイトが、現用の第一DBアクセス部に対応した待機用の第一DBアクセス部の他に、現用の第二DBアクセス部を有する。現用の第二DBアクセス部は、自分に割り当てられた第二記憶デバイスにデータを書き込む。サイト間監視サーバが、現用の第一DBアクセス部及び第二DBアクセス部等を監視し、現用の第一DBアクセス部のダウンを検出した場合には、待機用の第一DBアクセス部を現用のDBアクセス部に切り替える。
【選択図】図1

Description

本発明は、データ処理技術に関し、例えば、第一のサイトにおいて障害が発生した場合に第二のサイトに移行するためのデータ処理技術に関する。
データ処理技術の一つに、例えば、障害回復処理がある。障害回復処理の一つとして、ディザスタリカバリの技術が知られている。例えば、ディザスタリカバリを実行することができるシステムとして、特開2004−303025号公報に開示の技術が知られている。
ディザスタリカバリシステムでは、一般に、或る場所(例えば関東)に第一のサイト(別の言い方をすれば、例えばデータ処理サブシステム)が構築され、第一のサイトが存在する場所とは異なる遠隔地(例えば関西)に、第一のサイトと同じ構成を有した第二のサイトが構築され、両サイト間でのレプリケーションが行われる。第一のサイトが現用系で、第二のサイトが待機系の場合において、例えば第一のサイトで障害が発生したならば、第一のサイトが閉塞し、代わりに、第二のサイトが起動する。
特開2004−303025号公報
しかし、上述したシステムでは、第一のサイトで障害が発生するまでの間、第二のサイトは、待機状態にあり、有効に活用されない。
従って、本発明の目的の一つは、各サイトのリソースを有効に活用することにある。本発明の更なる目的は、サイト間でのリカバリも実現することにある。
本発明の他の目的は、後述の説明から明らかになるであろう。
例えば、第一のサイトが、現用の第一DBアクセス部と、前記現用の第一DBアクセス部に割り当てられたプライマリの第一記憶デバイスと、プライマリの第二記憶デバイスとの間でペアを構成するセカンダリの第二記憶デバイスとを備える。第二のサイトが、現用の第二DBアクセス部と、前記現用の第一DBアクセス部に対応した待機用の第一DBアクセス部と、前記現用の第二DBアクセス部に割り当てられた前記プライマリの第二記憶デバイスと、前記プライマリの第一記憶デバイスとの間でペアを構成し、前記待機用のDBアクセス部に割り当てられたセカンダリの第一記憶デバイスとを備える。また、サイト間監視サーバが備えられる。サイト間監視サーバは、前記現用の第一DBアクセス部、前記現用の第一DBアクセス部を備える第一サーバ、及び前記第一サイトのうちの少なくとも一つである第一監視対象と、前記現用の第二DBアクセス部、前記現用の第二DBアクセス部を備える第二サーバ、及び前記第二サイトのうちの少なくとも一つである第二監視対象とを監視することができる。
この場合、本発明の第一の観点に従うデータ処理方法は、
前記現用の第一DBアクセス部が、前記プライマリの第一記憶デバイスにデータを書き込むステップと、
前記プライマリの第一記憶デバイスに書かれたデータを、前記セカンダリの第一記憶デバイスにコピーするステップと、
前記現用の第二DBアクセス部が、前記プライマリの第二記憶デバイスにデータを書き込むステップと、
前記プライマリの第二記憶デバイスに書かれたデータを、前記セカンダリの第二記憶デバイスにコピーするステップと、
前記サイト間監視サーバが、前記現用の第一DBアクセス部がダウンしたことを検出するステップと、
前記サイト間監視サーバが、前記現用の第一DBアクセス部のダウンの検出後、前記待機用の第一DBアクセス部を現用の第一DBアクセス部に切り替えるステップとを有する。この場合、前記切り替わり後の現用の第一DBアクセス部は、例えば、ユーザ端末等からアクセス要求を受けた場合には、その第一DBアクセス部に割り当てられている前記セカンダリの第一記憶デバイスにアクセスすることができる。
また、待機用の第一DBアクセス部は、スタンバイ状態と、スタンバイ状態ではなくディスクから読み出されていない状態とのいずれの状態であってもよい。前者の場合、例えば、ダウン前の現用の第一DBアクセス部のリソース情報(例えばIPアドレス等)が待機用の第一DBアクセス部に引き継ぐことにより、待機用の第一DBアクセス部を、現用の第一DBアクセス部に切り替えることができる。一方、後者の場合、例えば、サイト間監視サーバが、待機用の第一DBアクセス部に対する起動命令を出力して、待機用の第一DBアクセス部を起動させ、その後に、上記のようなリソース情報をその待機用の第一DBアクセス部に引き継ぐことにより、待機用の第一DBアクセス部を、現用の第一DBアクセス部に切り替えることができる。
ところで、具体的な一つの実施態様としては、以下の態様が考えられる。
例えば、第一のサイトに、少なくとも一つの第一サーバと、前記第一サーバに接続される第一のストレージサブシステムとがある。第二のサイトに、少なくとも一つの第二サーバと、前記第二サーバに接続される第二のストレージサブシステムとがある。前記第一サーバが、少なくとも、現用の第一DBアクセス部を有する。前記第二サーバが、現用の第二DBアクセス部と、前記現用の第一DBアクセス部に対応した待機用の第一DBアクセス部を有する。前記第一ストレージサブシステムは、前記現用の第一DBアクセス部に割り当てられたプライマリの第一記憶デバイスと、プライマリの第二記憶デバイスとの間でペアを構成するセカンダリの第二記憶デバイスとを有する。前記第二ストレージサブシステムは、前記第一ストレージサブシステムに接続されており、前記現用の第二DBアクセス部に割り当てられた前記プライマリの第二記憶デバイスと、前記プライマリの第一記憶デバイスとの間でペアを構成するセカンダリの第一記憶デバイスとを有する。
この場合、本実施態様に係るデータ処理方法は、
前記現用の第一DBアクセス部が、トランザクション処理の結果に基づく第一の処理結果データを、前記プライマリの第一記憶デバイスに書き込むステップと、
前記プライマリの第一記憶デバイスに書かれた前記第一の処理結果データを、前記プライマリの第一記憶デバイスから前記第二ストレージサブシステムの前記セカンダリの第一記憶デバイスにコピーするステップと、
前記現用の第二DBアクセス部が、トランザクション処理の結果に基づく第二の処理結果データを前記プライマリの第二記憶デバイスに書き込むステップと、
前記プライマリの第二記憶デバイスに書かれた前記第二の処理結果データを、前記プライマリの第二記憶デバイスから前記第一ストレージサブシステムの前記セカンダリの第二記憶デバイスにコピーするステップと、
前記現用の第一DBアクセス部がダウンしたことを検出するステップと、
前記ダウンの検出後、前記現用の第一DBアクセス部に対応した前記待機用の第一DBアクセス部に起動命令を出力するステップと、
前記起動命令に応答して前記待機用の第一DBアクセス部が起動するステップと、
前記起動した待機用の第一DBアクセス部を現用の第一DBアクセス部に切り替えるステップと、
切り替わり後の現用の第一DBアクセス部が、トランザクション処理の結果に基づく処理結果データを、前記セカンダリの第一記憶デバイスに書き込むステップと
を有することができる。
このデータ処理方法の第一の実施態様では、前記第一サイトが、前記現用の第一DBアクセス部に対応した別の待機用の第一DBアクセス部を有することができる。この場合、データ処理方法は、前記サイト間監視サーバが、前記用の第一DBアクセス部のダウンの検出後、前記別の待機用の第一DBアクセス部を現用の第一DBアクセス部に切り替えるステップを有することができる。
このデータ処理方法の第二の実施態様では、データ処理方法が、
前記サイト間監視サーバが、各DBアクセス部と別の各DBアクセス部との対応関係を表す情報であるDBアクセス部関係情報を所定の記憶域に備えるステップと、
前記サイト間監視サーバが、前記所定の記憶域に記憶されているDBアクセス部関係情報を参照することにより、ダウンした現用のDBアクセス部に対応した待機用のDBアクセス部を特定するステップと
を有することができる。この場合、前記切り替えるステップでは、前記特定された待機用のDBアクセス部を現用のDBアクセス部に切り替えることができる。
このデータ処理方法の第三の実施態様では、データ処理方法が、
前記サイト間監視サーバが、前記第一監視対象と前記第二監視対象とが正常か否かを表す監視結果情報を所定の記憶域に登録するステップと、
前記サイト間監視サーバが、前記第一監視対象と前記第二監視対象との監視結果に応じて前記監視結果情報を更新するステップと、
前記サイト間監視サーバが、前記第一監視対象にアクセス要求を発行するクライアント端末から、前記第一監視対象にアクセス可能か否かの問合せを受けるステップと、
前記サイト間監視サーバが、前記所定の記憶域に登録されている監視結果情報を参照することにより、前記第一監視対象に前記クライアント端末がアクセス可能か否かを判断するステップと、
前記サイト間監視サーバが、前記判断の結果を前記クライアント端末に送信するステップと、
前記クライアント端末が、前記判断の結果がアクセス可能という判断結果であれば、前記第一監視対象にアクセス要求を出すステップと、
を有することができる。
この実施態様では、更に、例えば、データ処理方法が、
前記第一サイトの複数の現用の第一アクセス部の各々の状態を監視するステップと、
前記第一サイトが前記クライアント端末からアクセス要求を受けるステップと、
前記アクセス要求に応答して、前記監視の結果から正常である現用の第一DBアクセス部を特定するステップと、
前記特定された現用の第一DBアクセス部に前記クライアント端末がアクセスされることを許可するステップと
を有することができる。
このデータ処理方法の第四の実施態様では、前記第一サイトが、複数の現用の第一アクセス部と、複数のプライマリの第一記憶デバイスとを有することができる。前記第二サイトが、複数の待機用の第一DBアクセス部と、前記複数のプライマリの第一記憶デバイスにそれぞれ対応した複数のセカンダリの第一記憶デバイスとを有することができる。現用の第一DBアクセス部と、待機用のDBアクセス部とが、1対1で対応付けられてもよい。また、現用の第一DBアクセス部と、プライマリの第一記憶デバイスとも、1対1で対応付けられてもよい。なお、これらの対応関係のうちの少なくとも一つは、例えば、前述したDBアクセス部関係情報に記録されていても良い。
このデータ処理方法の第五の実施態様では、前記第二サイトが、前記セカンダリの第一記憶デバイスとの間でペアを構成する更なるセカンダリの第一記憶デバイスを有することができる。前記第一サイトが、前記セカンダリの第二記憶デバイスとの間でペアを構成する更なるセカンダリの第二記憶デバイスとを有することができる。この場合、データ処理方法が、
前記第二サイトにおいて、前記セカンダリの第一記憶デバイスに格納された第一のデータを前記更なるセカンダリの第一記憶デバイスにコピーするステップと、
前記第一サイトにおいて、前記セカンダリの第二記憶デバイスに格納された第二のデータを前記更なるセカンダリの第二記憶デバイスにコピーするステップと、
前記第二サイトにおいて、前記セカンダリの第一記憶デバイスと前記更なるセカンダリの第一記憶デバイスとのペアを解除するステップと、
前記第一サイトにおいて、前記セカンダリの第一記憶デバイスと前記更なるセカンダリの第一記憶デバイスとのペアを解除するステップと、
前記現用の第一DBアクセス部が、前記プライマリの第一記憶デバイスと、前記更なるセカンダリの第二記憶デバイスとの両方に、新たな第一のデータを書き込むステップと、
前記現用の第二DBアクセス部が、前記プライマリの第二記憶デバイスと、前記更なるセカンダリの第一記憶デバイスとの両方に、新たな第二のデータを書き込むステップと、
前記第一監視対象において障害が発生した後、その障害が回復した場合、前記第二サイトにおいて、前記セカンダリの第一記憶デバイスと前記更なるセカンダリの第一記憶デバイスとのペアを形成するステップと、
前記第一サイトにおいて、前記セカンダリの第一記憶デバイスと前記更なるセカンダリの第一記憶デバイスとのペアを形成するステップと、
前記第二サイトにおいて、前記更なるセカンダリの第一記憶デバイスに格納された前記新たな第二のデータを前記セカンダリの第一記憶デバイスにコピーするステップと、
前記セカンダリの第一記憶デバイスに書かれた前記新たな第二のデータを前記第一サイトの前記プライマリの第一記憶デバイスに格納するステップと、
前記プライマリの第二記憶デバイスに格納された前記新たな第二のデータを前記セカンダリの第二記憶デバイスにコピーするステップと、
前記第一サイトにおいて、前記セカンダリの第二記憶デバイスにコピーされた前記新たな第二のデータを前記更なるセカンダリの第二記憶デバイスにコピーするステップと
を有することができる。
このデータ処理方法の第六実施態様では、前記第一サイトが、前記現用の第二DBアクセス部に対応した待機用の第二DBアクセス部を更に備えてもよい。この場合、データ処理方法は、
前記サイト間監視サーバが、前記現用の第二DBアクセス部がダウンしたことを検出するステップと、
前記サイト間監視サーバが、前記現用の第二DBアクセス部のダウンの検出後、前記待機用の第二DBアクセス部を現用の第二DBアクセス部に切り替えるステップと
を有することができる。
ところで、例えば、第一のサイトに、現用の第一DBアクセス部と、前記現用の第一DBアクセス部に割り当てられたプライマリの第一記憶デバイスと、現用の第二DBアクセス部に対応した待機用の第二DBアクセス部と、プライマリの第二記憶デバイスとの間でペアを構成するセカンダリの第二記憶デバイスとが備えられる。第二のサイトに、現用の第二DBアクセス部と、前記現用の第一DBアクセス部に対応した待機用の第一DBアクセス部と、前記現用の第二DBアクセス部に割り当てられた前記プライマリの第二記憶デバイスと、前記プライマリの第一記憶デバイスとの間でペアを構成し、前記待機用のDBアクセス部に割り当てられたセカンダリの第一記憶デバイスとが備えられる。前記現用の第一DBアクセス部が、前記プライマリの第一記憶デバイスにデータを書き込み、前記プライマリの第一記憶デバイスに書かれたデータが、前記セカンダリの第一記憶デバイスにコピーされる。前記現用の第二DBアクセス部が、前記プライマリの第二記憶デバイスにデータを書き込み、前記プライマリの第二記憶デバイスに書かれたデータが、前記セカンダリの第二記憶デバイスにコピーされる。この場合、本発明の第二の側面に従うサーバは、少なくとも一つのコンピュータプログラムを記憶する記憶域と、前記記憶域から前記少なくとも一つのコンピュータプログラムを読み込んで動作するプロセッサとを有する。コンピュータプログラムを読み込んだプロセッサは、
前記現用の第一DBアクセス部、前記現用の第一DBアクセス部を備える第一サーバ、及び前記第一サイトのうちの少なくとも一つである第一監視対象と、前記現用の第二DBアクセス部、前記現用の第二DBアクセス部を備える第二サーバ、及び前記第二サイトのうちの少なくとも一つである第二監視対象とを監視し、
前記監視により、前記現用の第一DBアクセス部がダウンしたことを検出した場合、前記待機用の第一DBアクセス部を現用の第一DBアクセス部に切り替え、
前記監視により、前記現用の第二DBアクセス部がダウンしたことを検出した場合、前記待機用の第二DBアクセス部を現用の第二DBアクセス部に切り替える
ことを行うことができる。
本発明によれば、各サイトのリソースを有効に活用することができる。
以下、図面を参照して、本発明の一実施形態について説明する。なお、以下の説明では、データベースを「DB」と略記する場合がある。また、以下の説明において、「ソフトウェア」という言葉は、プロセッサに読み込まれて動作するコンピュータプログラムを意味するものとする。
図1は、本発明の一実施形態に係るデータ処理システムの構成例を示す。
この実施形態に係るデータ処理システム3では、例えば、幾つかの特徴点があり、その概要は、以下の通りである。
第一の特徴点は、第一サイト1A及び第二サイト1Bがそれぞれアクティブになったものが1システムで実現される点である。そのため、第一サイト1Aが稼動しているが第二サイトが全く稼動していないといった、リソースの無駄を節約することができる。
第二の特徴点は、システム障害(例えばマシン障害或いはディスク障害)による影響を局所化するために、店群毎に収容先を振り分けることができる点である。具体的には、例えば、第一サイト1Aに、第一の処理に関わるデータ(例えば支店A乃至支店Mを有する関東地区に関する業務データ)が集約され、第二サイト1Bに、第二の処理に関わるデータ(例えば、支店N乃至支店Xを有する関西地区に関する業務データ)が集約されることが可能である。すなわち、点群の業務を提供する構成が実現することができる。より具体的には、各サイト1A、1Bに存在する各ストレージ(例えばRAID(Redundant Arrays of Inexpensive Disks)構成を有するストレージサブシステム)に、各点群のデータを格納することができる。
第三の特徴点は、第一サイト1Aと第二サイト1Bとの間で、データの相互バックアップを実現することができる点である。これは、例えば、後述するように、ストレージサブシステム43A、43B間のリモートコピー機能と、各サイト1A、1Bのサーバに搭載されたDBアクセス部によるサイト間の相互バックアップにより、実現することができる。
第四の特徴点は、例えば、第一サイトで障害が発生した等の場合には、第一サイト1Aから第二サイト1Bへのサイト切り替え時には、1つのサイト1Bのリソースで、複数のサイト分の処理を実行することになる点である。
第五の特徴点は、各サイト1A、1Bの状態は、別途設置されたサイト間監視サーバ49によって行われる点である。この場合、第一サイト1Aを利用することができる第一ユーザ端末11Aや、第二サイト1Bを利用することができる第二ユーザ端末11Bは、当該サーバ49に、利用したいサイトの状態を問い合わせた後に、そのサイトに接続することができる。
以下、実施形態に係るデータ処理システム3について詳細に説明する。
この実施形態に係るデータ処理システム3には、複数のサイトとして、例えば、第一のサイト1Aと、第二のサイト1Bとが備えられる。また、各サイト1A、1Bに障害が発生したか否か等を監視するサイト間監視サーバ49も備えられる。第一のサイト1Aと第二のサイト1Bは、SAN(Storage Area Network)47等の通信ネットワーク(又は専用線)を介して互いに接続されている。また、第一のサイト1Aと第二のサイト1Bは、通信ネットワーク或いは専用線を介して、サイト間監視サーバ49にも接続されている。
第一のサイト1Aと第二のサイト1Bは、実質的に同じ構成にすることができる。図1では、第一のサイト1Aに関わる構成要素の参照符号は、親番号と枝符号Aとから構成され、第二のサイト1Bに関わる構成要素の参照符号は、親番号と枝符号Bとから構成される。第一のデータ処理システム1Aと第二のデータ処理システム1Bとにおいて、同一の構成要素については、原則として、同一の親番号を付してある(後述のDBアクセス部については、説明の便宜上、そのようにはしていない)。以下、説明の重複を省くため、第一のサイト1Aの構成について代表的に説明する。その説明と、図1とを参照すれば、第二のサイト1Bについては十分に理解することができるはずである。
第一のサイト1Aは、少なくとも一つのサーバとして、例えば、第一サーバ15A及び17Aを備える。また、第一のサイト1Aは、第一サーバ15A又は17Aから出力されたデータを記憶する第一のストレージサブシステム43Aを備える。
第一ストレージサブシステム43Aは、図示しない物理的な記憶デバイス上に用意される複数の論理ボリューム51A、53A、55A及び57Aと、それらの複数の論理ボリュームへのアクセスを制御する第一ストレージ制御装置45Aとを備える。第一ストレージ制御装置45Aは、上記の図示しない物理的な記憶デバイスと、第一サーバ15A及び17Aとに接続される。
第一サーバ15Aは、例えば、原則として現用のサーバであり、別の第一サーバ17Aは、例えば、原則として待機用のサーバである。ここで、「現用のサーバ」とは、例えば、主に現用のDBアクセス部(DBアクセス部については後に詳述する)を備えるサーバであり、「待機用のサーバ」とは、例えば、主に待機用のDBアクセス部を備えるサーバである。現用のサーバのDBアクセス部がダウンした場合、そのDBアクセス部が現用から待機用に切り替わり、且つ、そのDBアクセス部に対応した待機用のDBアクセス部であって、待機用のサーバに存在するDBアクセス部が、待機用から現用に切り替わることがあるが、それでも、現用のサーバは、主に現用のDBアクセス部を備える場合には以前として現用であり、同様に、待機用のサーバは、主に待機用のDBアクセス部を備える場合には以前として待機用である。
第一サーバ15Aも17Aも、第一の通信ネットワーク(以下、第一ネットワーク)13Aを介して、少なくとも一つのユーザ端末11A(以下、第一ユーザ端末11A)に接続されている。また、第一サーバ15Aも17Aも、専用線或いは所定の通信ネットワーク等を介して、第一のストレージサブシステム43Aに接続されている。さらに、第一サーバ15Aも17Aも、専用線等を介して、サイト間監視サーバ49に接続されている。また、各サーバ15A、17A、15B及び17Bは、第三の通信ネットワーク(例えばインターネット)13Cに接続されている。また、第一ネットワーク13A及び第二ネットワーク13Bは、第三ネットワーク13Cに接続されている。このため、第一ユーザ端末11Aは、第一ネットワーク13A及び第三ネットワーク13Cを介して、第二サイト内のDBアクセス部にアクセスすることができる。同様に、第二ユーザ端末11Bは、第二ネットワーク13B及び第三ネットワーク13Cを介して、第一サイト内のDBアクセス部にアクセスすることができる。なお、第一ネットワーク13A、第二ネットワーク13B及び第三ネットワーク13Cは、別々のネットワークであっても良いし、同一のネットワークであっても良い。どのような構成であれ、同一のサイト内に存在する複数のサーバも、別々のサイトに分散して存在する複数のサーバも、それぞれ互いに通信することができるようになっている。
第一サーバ15Aと17Aは、実質的に同じ構成にすることができる。以下、第一サーバ15Aを代表的に例に採り説明する。第一サーバ15Aは、第一サーバ監視部19Aと、複数のDBアクセス部とを備える。
第一サーバ監視部19Aは、ハードウェア、ソフトウェア、又はそれらの組み合わせにより、構築することができる。第一サーバ監視部19Aは、サイト間監視サーバ49と、待機用の第一サーバ17Aの第一サーバ監視部41Aとに接続されている。第一サーバ監視部19は、待機用の第一サーバ17Aに障害が発生したか否かを監視することができる。具体的には、例えば、第一サーバ監視部19Aは、待機用の第一サーバ17Aからのハートビート信号の有無に応じて、待機用の第一サーバ17Aに障害が発生したか否かを検出することができる。また、例えば、第一サーバ監視部19Aは、待機用の第一サーバ17Aと、サイト間監視サーバ49とに、それぞれ、ハートビート信号を送信することで、現用の第一サーバ15Aに障害が発生したか否かを、待機用の第一サーバ17Aとサイト間監視サーバ49とに検出させることができる。また、第一サーバ監視部19Aは、自分を搭載するサーバ内に存在する各DBアクセス部毎に、正常であるかどうかや障害が発生したかどうか等のDBアクセス部状態を検出し管理することができる。
DBアクセス部は、ストレージサブシステム43が備える論理ボリューム(以下、単に「VOL」と記載することがある)へのアクセスを制御する構成要素である。DBアクセス部は、CPU等のプロセッサに読み込まれることにより動作するコンピュータプログラムとすることができるが、ハードウェア、或いはハードウェアとコンピュータプログラムとの組み合わせとして実現されても良い。一つのサーバ15又は17には、少なくとも一つのDBアクセス部を搭載することができる。
具体的には、この実施形態では、第一のサイト1A(例えば現用の第一サーバ15A)に、その第一サイト1Aにおいて原則として現用になるDBアクセス部1A−1乃至1A−4が備えられ(図1には○○−1のみ明記、以下同様)、それらのDBアクセス部1A−1乃至1A−4にそれぞれ対応した待機用のDBアクセス部3A−1乃至3A−4が、第二のサイト1B(例えば現用の第二サーバ15B)に備えられる。また、同一のサイト1A(例えば待機用の第一サーバ17A)に、現用のDBアクセス部1A−1乃至1A−4にそれぞれ対応した別の待機用のDBアクセス部2A−1乃至2A−4が備えられる。更に、第二のサイト1B(例えば待機用の第二サーバ17B)に、待機用のDBアクセス部3A−1乃至3A−4(又は2A−1乃至2A−4)にそれぞれ対応したまた別の待機用のDBアクセス部4A−1乃至4A−4が備えられる。このような構成により、例えば、現用のDBアクセス部1A−1に障害が発生した場合には、待機用のDBアクセス部3A−1(又は2A−1)が起動し、DBアクセス部1A−1の処理を引き継ぐことができる。また、例えば、起動した待機用のDBアクセス部3A−1(又は2A−1)にも障害が発生した場合には、更なる待機用のDBアクセス部4A−1が起動し、処理を引き継ぐことができる。
第一データ処理システム1Aに存在する各DBアクセス部には、同一のデータ処理システム1A(例えば第一ストレージサブシステム43A)に存在する複数の論理ボリュームのうちの少なくとも一つを割り当てることができる。例えば、現用になるDBアクセス部1A−1に対しては、正DBVOL51Aと、正ログVOL53Aとを割り当てることができる。また、待機用のDBアクセス部1B−1に対しては、副DBVOL55Aと、副ログVOL57Aとを割り当てることができる。なお、正DBVOL51Aと正ログVOL53Aとは、それぞれ、第二サイト1Bにおける副DBVOL51Bと副ログVOL53Bとペアになることができる。また、副DBVOL55Aと副ログVOL57Aとは、それぞれ、第二サイト1Bにおける正DBVOL55Bと正ログVOL57Bとペアになることができる。正DBVOL55Bと正ログVOL57Bとは、第二サイト1Bにおいて原則として現用になるDBアクセス部3B−1に割り当てることができる。このような構成により、例えば、DBアクセス部1A−1によって或るデータが正DBVOL51A及び正ログVOL53Aに書かれた場合には、そのデータ(或いは更新前のデータとの差分)が、例えば、SAN47等のネットワーク(又は専用線)を介して、第二ストレージサブシステム43Bの副DBVOL51B及び副ログVOL53Bに書かれる。同様に、例えば、DBアクセス部3B−1によって或るデータが正DBVOL55B及び正ログVOL57Bに書かれた場合には、そのデータ(或いは更新前のデータとの差分)が、例えば、SAN47等のネットワーク(又は専用線)を介して、第一ストレージサブシステム43Aの副DBVOL55A及び副ログVOL57Aに書かれる。このような処理は、第一ストレージサブシステム43Aに備えられる第一ストレージ制御装置45Aや、第二ストレージサブシステム43Bに備えられる第二ストレージ制御装置45Bにより、実行することができる。
以上、第一の系統のDBアクセス部(○○−○のうちの第二番目が「A」で表記されたDBアクセス部)、換言すれば、第一のサイト1Aに関わるDBアクセス部(また別の言い方をすれば、第一のサイトについてのDBアクセス部)について説明したが、それについての説明は、第二の系統のDBアクセス部(○○−○のうちの第二番目が「B」で表記されたDBアクセス部)、換言すれば、第二のサイト1Bに関わるDBアクセス部(また別の言い方をすれば、第二のサイトについてのDBアクセス部)にも適用することができる。また、DBアクセス部の引継ぎの順序は、上記の順序に限らず、他の順序であっても良い。
サイト間監視サーバ49は、CPU29や記憶域27や通信インターフェース回路(以下、通信I/F)31等のハードウェア資源を備えた情報処理装置である。記憶域27は、所定の記憶資源、例えば、メモリ及びハードディスクのうちの少なくとも一方に実現される記憶領域である。記憶域27には、例えば、CPU29に読み込まれることにより実行される監視ソフトウェア(以下、「監視ソフト」と略記)25が格納されている。サイト間監視ソフト25には、障害監視/通知部21と、接続切替部23とが備えられている。サイト間監視ソフト25を読み込んだCPU29は、例えば、各サイト毎にダウンしたか否かを監視したり、例えば第一サイト1Aで障害が発生しダウンしたことを検出した場合には障害発生を第二サイト1Bの所定のノード(例えば現用の第二サーバ15B)に通知したり、障害が発生した第一サイト1A(例えばDBアクセス部1A−1)に接続されている第一ユーザ端末11の接続先を第二サイト1B(例えば待機用DBアクセス部3A−1)に切り替えたりすることができる。サイト間監視サーバ49は、例えば、通信I/F31を介してハートビート信号が入力されたか否かを監視することにより、監視先のサーバ15A、17A、15B又は17Bにおいて障害が発生したか否かを検出することができる。サイト間監視サーバ49は、例えば、第一サーバ15Aも17Aもダウンしたと検出された場合に、第一サイト1Aがダウンしたと判定することができる。
図2は、本発明の一実施形態に係るデータ処理システムに備えられるサーバ及びストレージサブシステムの構成例を示す。
この実施形態では、現用の第一サーバ15Aは、正ホストコンピュータになることができ、待機用の第二サーバ17Bは、その第一サーバ15Aに対する副ホストコンピュータになることができる。また、第一ストレージサブシステム43Aは、正ストレージサブシステムになることができ、第二ストレージサブシステム43Bは、第一ストレージサブシステム43Aに対する副ストレージサブシステムになることができる。第一サーバ15Aと第二サーバ17B(勿論、他のサーバ15B及び17A)は、実質的に同じ構成にすることができる。また、第一ストレージサブシステム43Aと第二ストレージサブシステム43Bも、実質的に同じ構成にすることができる。図2では、同一の構成要素には同一の親番号を付し、枝符号を変えることで、どのサーバ或いはどのストレージサブシステムに存在する構成要素であるかを識別することができる。以下、第一サーバ15A及び第一ストレージサブシステム43Aを代表的に例に採り説明する。
第一サーバ15Aは、CPU79Aや記憶域69AやI/F等のハードウェア資源を備えた情報処理装置である。記憶域69Aは、所定の記憶資源、例えば、メモリ及びハードディスクのうちの少なくとも一方に実現される記憶領域である。記憶域69Aには、例えば、DBアクセス部1A−1乃至1A−4と、待機用のDBアクセス部1B−1乃至1B−4(図示せず)と、DB−VOLマッピングテーブル67Aとを格納することができる。また、記憶域69Aには、DBバッファ63Aと、ログバッファ65Aとを設けることができる。
DBアクセス部1A−1は(他のDBアクセス部についても同様)、DBアクセス制御部71Aと、チェックポイント処理部73Aと、ログ管理部75Aと、DB遅延書き込み処理部77Aとを有している。
DBアクセス制御部71Aは、第一ユーザ端末11Aからのクエリーを受けて処理を実行する。DBアクセス制御部71Aは、DB−VOLマッピングテーブル67Aを参照することで、そのクエリーに応じたアクセス先が、どのストレージサブシステムに存在する論理ボリュームであるかを特定することができる。DBアクセス制御部71Aは、受信したクエリーに応じたアクセス先が、第一ストレージサブシステム43A内のVOLであると特定された場合には、DBバッファ63A及び/又はログバッファ65Aを介して、正DBVOL51A及び/又は正ログVOL53Aへのアクセスを行う。一方、DBアクセス制御部71Aは、受信したクエリーに応じたアクセス先が第二ストレージサブシステム43B内の論理ボリュームであると特定された場合には、第二ストレージサブシステム43Bに接続されている現用の第二サーバ15Bに、そのクエリーを転送する。
チェックポイント処理部73Aは、DBバッファ63Aの内容を第一ストレージサブシステム43A内の論理ボリュームへ反映させる必要が生じた場合(例えば、DBバッファ63A上のレコードが更新されたことを示すログレコードが所定件数に達した場合)に、特定のステータス情報(DBバッファ63Aで更新された全DBブロックと、その更新時点における最新のログレコードのログ用VOLでの位置とを示すステータス情報)の書き込み要求を、第一ストレージサブシステム43Aに送信する。なお、チェックポイント時にトランザクションが完結していないものもあるため、このステータス情報は、最新のログレコードの位置以外にも、未完了のトランザクションに関連する古いログレコード(例えば最も古いログレコード)の位置を示す場合もあってもよい。また、ステータス情報がVOL上で更新されるのが遅延している場合もあってもよい。いずれの場合にも、このステータス情報は、DBアクセス部がリスタートする際に参照を開始するログの位置を示す情報として利用されても良い。
ログ管理部75Aは、ログバッファ65Aの空き容量が所定容量以下になったか否か等を管理することができる。ログ管理部75Aは、DBバッファ63Aに対して行われたデータベース処理の内容を示すログ情報(ログブロック262a)をログバッファ65Aに書く。また、ログ管理部75Aは、そのログバッファ65Aに書かれたログブロック262aの書き込み要求を第一ストレージサブシステム43Aへ送信する。ログ管理部75Aは、その書込み要求を、所定の条件に達したことを検出した場合に、発行することができる。所定の条件とは、例えば、トランザクションのコミット時になった、ログ情報の記録が開始されてから所定の時間が経過した、又は、ログバッファ65Aの空き容量が所定容量以下になった等である。
DB遅延書き込み処理部77Aは、DBバッファ63A上のDBデータ(DBブロック242a)の書き込み要求を第一ストレージサブシステム43Aに送信する。DB遅延書込み処理部77Aは、その処理を、所定の条件に達したことが検出された場合に、実行することができる。ここで、所定の条件とは、例えば、データベース処理が開始されてから所定の時間が経過した、又は、DBバッファ63Aの空き容量が所定容量以下になった等である。
以上のDBアクセス制御部71A、チェックポイント処理部73A、ログ管理部75A及びDB遅延書き込み処理部77Aとして第一サーバ15Aを機能させる為のプログラムは、CD−ROM等の記録媒体或いは通信ネットワークを介して磁気ディスク等にダウンロードされた後、メモリにロードされて実行することができる。このようなコンピュータプログラムの実行方式は、第一サーバ15Aのみならず、他のサーバやストレージサブシステム等についても適用することができる。
第一ストレージサブシステム43Aは、既に説明してあるように、第一ストレージ制御装置45Aと、論理ボリューム51A、96A及び53Aを構築することができる少なくとも一つの物理的な記憶デバイス(例えばハードディスクドライブ)92Aとを備える。第一ストレージ制御装置45Aは、第一サーバ15Aや17Aに接続するためのI/Fや、SAN47に接続するためのI/Fや、キャッシュメモリ95Aや、キャッシュメモリ95Aと同一又は別のメモリ上に備えられる記憶域91Aや、CPU93Aや、物理記憶デバイス92Aに接続されるディスクアクセス制御部97Aを備える。記憶域91Aには、例えば、CPU93Aに読み込まれることにより動作することができるディスク制御処理部85Aや、リモートコピー管理テーブル87Aを記憶させることができる。
ディスク制御処理部85Aは、第一ストレージサブシステム43A全体の動作を制御することができる。ディスク制御処理部85Aは、例えば、コマンド処理部81Aと、リモートコピー処理部83Aとを備えている。
コマンド処理部81Aは、DBブロック242a、上記ステータス情報又はログブロック262aの書き込み要求を第一サーバ15Aから受信し、その受信した書き込み要求の内容に従って、正DBVOL51A、正ステータス用VOL96A、正ログ用ディスクVOL53A、又はそれらに格納されるデータブロックを格納したキャッシュメモリ95Aの更新を行う。
リモートコピー処理部83Aは、リモートコピー管理テーブル87Aを参照し、そのテーブル87Aに書かれている情報に基づいて、正VOL51A、96A又は53Aの更新と同期又は非同期で、そのVOLに対応した副VOL51B、96B又は53Bに、リモートコピーを行う。なお、この場合、第二ストレージサブシステム43Bに搭載されているリモートコピー処理部83Bは、DBブロック242a、上記ステータス情報又はログブロック262aの書き込み要求を第一ストレージサブシステム43Aから受信し、その受信した書き込み要求の内容に従って、第二ストレージサブシステム43B内の副DBVOL51B、副ステータス用VOL96B、副ログVOL53B、又はそれらのデータブロックを格納するキャッシュメモリ95Bの更新を行うことができる。
この実施形態において、第一ストレージサブシステム43Aは、ログブロック262aの書き込み要求については、そのログブロック262aの書き込みと同期して第二ストレージサブシステム43Bへのリモートコピー処理(以下、「同期リモートコピー処理」と称する場合あり)を行い、DBブロック242aやステータス情報の書き込みについては、第一ストレージサブシステム43Aでの書き込みとは非同期で第二ストレージサブシステム43Bへのリモートコピー処理(以下、「非同期リモートコピー処理」と称する場合あり)を行う。以下、それについて、説明する。
図3は、同期リモートコピー処理の流れの一例を示す。
例えば、DBアクセス制御部71Aが、或るトランザクション処理により正DBVOL51Aへのアクセスが要求された場合、正DBVOL51Aに対するREADコマンドを第一ストレージサブシステム43Aに発行することにより、正DBVOL51AからDBブロック242aを取得してDBバッファ63Aへ格納する。そして、DBアクセス制御部71Aは、DBバッファ63A上のDBブロック242aに対してデータベース処理を行った後、その処理内容を示すログブロック262aを生成し、そのログブロック262aをログバッファ65Aに格納する。
ログ管理部75Aは、所定の条件(例えば、トランザクションのコミット時になった、ログ情報の記録が開始されてから所定の時間が経過した、又は、ログバッファ65Aの空き容量が所定量よりも少なくなった等)に達した場合に、ログバッファ65Aに格納されているログブロック262aの正ログVOL53Aへの書き込み要求として、ログブロック262aの書き込みを行う為の書込み要求を生成し、生成した書込み要求とログブロック262aとを第一ストレージサブシステム43Aに送信する(ステップS1)。
第一ストレージサブシステム43Aは、その書込み要求に応答して、第一サーバ15Aから受信したログブロック262aをキャッシュメモリ95Aに書き込み、且つ、キャッシュメモリ95A上のログブロック262aと、そのブロック262aのリモートコピー要求とを第二ストレージサブシステム43Bに送信する(S2)。リモートコピー要求の発行は、リモートコピー処理部83Aにより行うことができる。また、キャッシュメモリ95Aに書かれたログブロック262aは、ディスク制御処理部85Aにより、正ログVOL53Aに書き込まれる。
第二ストレージサブシステム43Bは、第一ストレージサブシステム43Aからのリモートコピー要求に応答して、第一ストレージサブシステム43Aからのログブロック262aをキャッシュメモリ95Bに書き込み(S3)、書き込みが完了したことを示すリモートコピー完了通知を生成し、生成したリモートコピー完了通知を第一ストレージサブシステム43Bに送信する(S4)。リモートコピー完了通知の生成及び発行は、リモートコピー処理部83Bにより行うことができる。また、キャッシュメモリ95Bに書かれたログブロック262aは、ディスク制御処理部85Bにより、副ログVOL53Bに書き込まれる。
第一ストレージサブシステム43Aは、第二ストレージサブシステム43Bからリモートコピー完了通知を受信した場合に、ログブロック262aの書き込みが完了したことを示すログ書込み完了通知を生成し、その完了通知を第一サーバ15Aに送信する(S5)。
図4は、非同期リモートコピー処理の流れの一例を示す。以下の説明では、書込み対象としてDBブロックを例に採り説明するが、ステータス情報にも非同期リモートコピー処理を適用することができる。
例えば、第一サーバ15AにおけるDB遅延書き込み処理部77Aが、所定の条件に達した場合に(例えば、DBバッファ63Aの空き容量が所定容量以下になった場合に)、DBバッファ63A上のDBブロック242aとそれの書き込み要求とを第一ストレージサブシステム43Aに送信する(S11)。
第一ストレージサブシステム43Aは、DBブロック242aの書込み要求を受信した場合、第一サーバ15AからのDBブロック242aをキャッシュメモリ95Aに書き込み(S12)、そのDBブロック242aの書き込みが完了したことを示す書込み完了通知を生成して、その通知を第一サーバ15Aに送信する(S13)。キャッシュメモリ95Aに書かれたDBブロック242aは、ディスク制御処理部85Aにより、正DBVOL51Aに書き込まれる。
その後、第一ストレージサブシステム43Aは、キャッシュメモリ95A又は正DBVOL51Aに蓄積されたDBブロック242aと、それのリモートコピー要求とを第二ストレージサブシステム43Bに送信する(S14)。
第二ストレージサブシステム43Bは、第一ストレージサブシステム43Aからのリモートコピー要求に応答して、第一ストレージサブシステム43AからのDBブロック242aをキャッシュメモリ95Bに書き込み(S15)、書き込みが完了したことを示すリモートコピー完了通知を生成し、生成したリモートコピー完了通知を第一ストレージサブシステム43Bに送信する(S16)。キャッシュメモリ95Bに書かれたDBブロック242aは、ディスク制御処理部85Bにより、副DBVOL51Bに書き込まれる。
図5Aは、DB−VOLマッピングテーブルの構成例を示す。
DB−VOLマッピングテーブル67Aには、各データベース領域毎に、種々の情報要素として、例えば、データベース領域ID、ファイルID、種別、サブサーバ名、正ストレージサブシステムID、正VOLID、副ストレージサブシステムID及び副VOLIDが対応付けられている。
データベース領域とは、或る一又は複数の論理ボリューム上の全部又は一部の記憶領域である。データベース領域の種類としては、例えば、DBブロックが格納されるDBブロック領域と、ログブロックが格納されるログブロック領域とがある。DBブロック領域については、例えば、データベース領域を識別するためのデータベース領域IDとして、「DBAREA」と表記され、種別は「DB」と表記される。ログブロック領域については、例えば、データベース領域IDは「LOG」と表記され、種別は「ログ」と表記される。
ファイルIDは、データベース領域IDから識別されるデータベース領域に存在する一又は複数のファイルのうちの特定のファイルを識別するためのIDである。
サブサーバIDは、対応付けられたデータベース領域にアクセスするDBアクセス部のID(例えば名称)である。
正ストレージサブシステムIDは、対応付けられたデータベース領域を有するストレージサブシステムのIDである。
正VOLIDは、対応付けられたデータベース領域を有する正VOLのID(例えば論理ユニット番号(LUN))である。
副ストレージサブシステムIDは、正ストレージサブシステムとペアを構成することができるストレージサブシステムのIDである。
副VOLIDは、対応付けられたデータベース領域を有する正VOLとペアを構成することができる副VOLのIDである。
このDB−VOLマッピングテーブル67Aに記録されている情報に従って、データベース処理、換言すれば、論理ボリュームへの書込み処理が実行される(その処理の一例については後に詳述する)。なお、DB−VOLマッピングテーブル67Bも、上記のマッピングテーブル67Aと同じ構成にすることができる。DB−VOLマッピングテーブルは、例えば、図示の通り、各サーバに備えられるが、他のコンピュータ(例えばストレージサブシステム)に備えられても良い。
図5Bは、リモートコピー管理テーブルの構成例を示す。図5Bには、第一ストレージサブシステム43Aに備えられるリモートコピー管理テーブル87Aを代表的に示すが、図示のテーブル87Aの構成は、第二ストレージサブシステム43Bに備えられるリモートコピー管理テーブル87Bにも適用することができる。
リモートコピー管理テーブル87Aには、例えば、書き込み処理が同期または非同期のいずれで行われるかを示すコピーモードと、ペア状態と、そのコピーモードで書き込み処理が行われる正ストレージサブシステム及び副ストレージサブシステムの各々のIDと、そのコピーモードにおけるコピー元となる正VOLのIDとが登録される。また、その正VOLにアクセス可能なサーバ(及び/又はDBアクセス部)として割り当てられているサーバ(及び/又はDBアクセス部)のID(例えば名称)と、そのコピーモードにおけるコピー先となる副VOLのIDと、その副VOLにアクセス可能なサーバ(及び/又はDBアクセス部)として割り当てられているサーバ(及び/又はDBアクセス部)のIDとも登録される。なお、ペア状態とは、ボリュームペアに関する状態であり、例えば、ボリュームペアが形成されており且つ正VOLから副VOLへのコピーが行われる「ペア」という状態と、ボリュームペアが形成されているが副VOLから正VOLへのコピーが行われる「反転」という状態と、ボリュームペアが形成されていない「解除」という状態を採用することができる。
図5Aに記載のDB−VOLマッピングテーブル67Aと、図5Bに記載のリモートコピー管理テーブル87Aとにより、ログブロックやDBブロックをそれぞれ同期または非同期のどちらでどういうコピー方向(正VOLから副VOLへのコピーである正方向なのか或いは副VOLから正VOLへのコピーである反転方向なのか)でデータを書き込めばよいかがわかる。
例えば、DBアクセス部1A−1は、自分がアクセスできるデータベース領域が、データベース領域ID「DBAREA1」、「LOG1」及び「LOG2」の少なくとも一つであることを、DB−VOLマッピングテーブル67Aを参照することにより、特定することができる。DBアクセス部1A−1は、例えば、データベース領域IDが「LOG1」であるデータベース領域にログブロックを格納する場合、そのIDに対応した正ストレージサブシステムID「CTL#A1」及び正VOLID「VOL12−A」をテーブル67Aから特定し、特定されたストレージサブシステムの正ログVOLに上記ログブロックを書き込むことの書き込み要求を発行する。また、その書込み要求を受信したストレージサブシステム43Aにおいて、リモートコピー処理部83Aが、その書込み要求の発行先である正ストレージサブシステムID「CTL#A1」及び正VOLID「VOL12−A」に対応したコピーモードが「同期」であり、ペア状態が「ペア」であり、対応した副ストレージサブシステムが「CTL#B2」であり副VOLIDが「VOL21−B」であることを、リモートコピー管理テーブル87Aから特定する。それにより、リモートコピー処理部83A及び83Bにより、正方向での同期リモートコピー処理が行われ、データベース領域ID「LOG1」のログブロック(第一サーバ15から正ストレージサブシステムに受信されたログブロック)が、副ストレージサブシステム「CTL#B2」及び副VOLID「VOL21−B」に対応した副ログVOLに書き込まれる。
上記の図5A及び図5Bによれば、一つのDBアクセス部(及び/又は一つのサーバ15A、17A、15B又は17B)には、少なくとも一つのデータベース領域が割り当てられる場合があるが、一つのデータベース領域が、同時期に複数のDBアクセス部(及び/又は複数のサーバ)に割り当てられることはない。すなわち、本実施形態では、或るデータベース領域を、そのデータベース領域にテーブル67A(及び/又はテーブル87A)上で対応付けられた或るDBアクセス部(及び/又はサーバ)が更新することができ、そうではないDBアクセス部(及び/又はサーバ)が更新することはできないように構成されている。
以下、この実施形態についてより詳細に説明する。なお、以下の説明では、第一サイト1AのIDを「サイトA」とし、第二サイト1BのIDを「サイトB」とする。また、第一サーバ15AのIDを「サーバA1」とし、第一サーバ17AのIDを「サーバA2」とし、第二サーバ15BのIDを「サーバB1」とし、第二サーバ17BのIDを「サーバB2」とする。以下の説明では、それらのIDを用いてサイト或いはサーバを説明する場合がある。
図6Aは、サイト間監視サーバ49で管理されている情報の一例を示す。
サイト間監視サーバ49では、例えばサイト間監視ソフト25により、記憶域27を用いて情報が管理される。その情報としては、例えば、サーバ状態テーブル104と、監視結果テーブル103がある。
サーバ状態テーブル104は、各サイト1A、1Bに存在する各サーバを管理するためのテーブルである。サーバ状態テーブル104には、例えば、各サーバ毎に、そのサーバが存在するサイトのIDと、そのサーバのIDと、応答待ち時間長と、サーバの状態とが登録される。ここで、応答待ち時間長とは、サーバからの応答が来なくなってからの待ち時間の長さである。記憶域27には、その待ち時間長の閾値も記憶させておくことができる。サーバの状態としては、例えば、正常、障害(障害が発生したことを示す)、及び停止(意図的に停止させたことを示す)の三種類を採用することができる。
監視結果テーブル103は、各サイトの監視結果を管理するためのテーブルである。監視結果テーブル103には、例えば、各サイト毎に、サイトのIDと状態とが登録される。サイトの状態としては、例えば、正常、障害(障害が発生したことを示す)、及び停止(意図的に停止させたことを示す)の三種類を採用することができる。
サイト間監視ソフト25は、例えば、或るサーバからの応答待ち時間長が所定の待ち時間長閾値を超えた場合に、サーバ状態テーブル104において、そのサーバの状態を「正常」から「障害」に更新する。また、サイト監視ソフト25は、或るサイトに存在する全てのサーバの状態がサーバ状態テーブル104上で「障害」になっていることを検出した場合には、監視結果テーブル103において、そのサイトの状態を「正常」から「障害」に更新する。
図6Bは、DBアクセス部管理テーブルの構成例を示す。
DBアクセス部管理テーブル101は、サーバに存在するDBアクセス部に関する情報を管理するためのテーブルである。このテーブル101は、例えば、サイト間監視サーバ49の記憶域27に記憶させることができるが、それに限らず、例えば、第一サーバ15A、17Aの記憶域69A、及び/又は、第二サーバ15B、17Bの記憶域69Bにも記憶させることができる。DBアクセス部管理テーブル101には、データ処理システム3に存在する全ての又は一部のDBアクセス部(例えば或るサーバに存在する複数のDBアクセス部)の各々について、例えば、そのDBアクセス部のID(サブサーバID)や、そのDBアクセス部が存在するサイトのIDや、そのDBアクセス部が現用と待機用のどちらであるかや、そのDBアクセス部の状態(例えば、正常、障害或いは停止)や、そのDBアクセス部及びそのDBアクセス部に対応したDBアクセス部が存在するサーバのIDが登録される。また、DBアクセス管理テーブル101には、各DBアクセス部について、そのDBアクセス部に対応した別のDBアクセス部のIDも、その別のDBアクセス部を備えるサーバのIDに関連付けて、登録することができる。また、登録されるサーバのIDとしては、例えば、現用のサーバ(正サーバ)のID、そのサーバに対応した待機用のサーバのID、その現用のサーバに対応した副側の現用のサーバのID、及び、その副側の現用サーバに対応した待機用サーバのIDを採用することができる。
例えば、サイト間監視サーバ49(及び/又は、第一サーバ監視部19A)が、DBアクセス部管理テーブル101を参照することにより、各DBアクセス部についての種々の情報を特定するができる。また、サイト間監視サーバ49は、その特定された内容に基づく種々の処理も実行することができる。
図7は、或るサーバにおける各DBアクセス部をサーバ監視部が監視する方法の一例を説明するための図である。
この図7は、第一サーバ15Aを例に採ったものである。第一サーバ15Aの記憶域69Aには、例えば、所定の共有領域111が用意されている。共有領域111には、複数のDBアクセス部にそれぞれ割り当てられた複数のサブ共有領域111A、111B、…が存在する。
この構成の下、例えば、DBアクセス部1A−1は、自分に割り当てられているサブ共有領域111Aに定期的に(又は不定期に)アクセスし、その領域111Aに、所定の情報を書く(例えばフラグを立てる)。それに対して、第一サーバ監視部19Aは、定期的に(又は不定期に)、サブ共有領域111Aにアクセスし、サブ共有領域111Aに情報が書かれていればそれを別の情報に更新するか或いは消去する(例えばフラグを倒す)。ここで、第一サーバ監視部19Aは、所定回数(例えば一回以上)サブ共有領域111Aにアクセスしても、サブ共有領域111Aに所定情報が書かれていない場合には、DBアクセス部1A−1がダウンしたと判断して、DBアクセス部管理テーブル101において、そのDBアクセス部1A−1の状態を「障害」に更新する。その後、所定情報が書かれたことを検出した場合には、第一サーバ監視部19Aは、DBアクセス部1A−1の状態を「正常」に更新する。
以上の監視方法は、他のDBアクセス部1A−2等についても適用することができる。また、DBアクセス部の監視は、この方法に限らず、他の方法(例えばハートビートを利用する方法)も採用することができる。また、上記の監視方法は、サイト間監視サーバ49が行う監視方法に適用されても良いが、サイト間監視サーバ49が行う監視方法にも、種々の方法を採用することができる。
図8は、本発明の実施形態に係るデータ処理システムにおいて行われる一つの処理流れの一例の概要を示す。
サイト間監視ソフト25は、例えば各サーバのサーバ監視部と通信することにより、各サーバ15A、15B、17A及び17Bの状態を監視することができる。また、サイト間監視ソフト25は、例えば、各サーバのサーバ監視部から、そのサーバ監視部が監視しているDBアクセス部の状態を通知してもらうことにより、各サーバにおける各DBアクセス部の状態も監視することができる。
ここでは、例えば、サイト間監視ソフト25は、少なくとも現用のサーバ15A、15Bを監視している(S21)。サイト間監視ソフト25は、監視の結果に基づいて、必要に応じて(例えば、正常であったサーバに障害が発生した場合に)、監視の結果を、監視結果テーブル103及び/又はサーバ状態テーブル104に反映する(S22)。
例えば、第一ユーザ端末11Aは、第一サイト1Aに接続しようとする場合には、サイト間監視サーバ49にアクセスし、第一サイト1Aの状態を問い合わせる(S23)。この処理は、ユーザの操作に応答して行われても良いし、第一ユーザ端末11Aにインストールされたコンピュータプログラムにより自動的に行われても良い。
サイト間監視ソフト25は、その問い合わせに応答して、第一サイト1Aの状態を監視結果テーブル103から取得し(S24)、取得された状態を表す情報を、問い合わせ元である第一ユーザ端末11Aに送信する(S25)。
第一ユーザ端末11Aは、サイト間監視ソフト25から受信した情報が表す状態が「正常」である場合には、第一サイト1Aに所望のクエリーを発行する(S26)。ここでは、例えば、第一ユーザ端末11Aは、現用の第一サーバ15AのID(例えばIPアドレス)、又は、現用となっているDBアクセス部のID(例えばIPアドレス)を用いて、クエリーを発行することができる。また、発行するクエリーとしては、クリエイトテーブル105を採用することができる。クリエイトテーブル105には、例えば、桁数nを表すCHAR(n)等の要素の他に、データの格納先とするデータベース領域のID(例えば、DBAREA1、DBAREA2)が記述される。
第一ユーザ端末11Aから発行されたクエリー(例えばクリエイトテーブル105)を、例えば、現用のDBアクセス部1A−1が受ける。これは、例えば、第一サーバ15AにおいてDBアクセス部管理テーブル101が備えられている場合には、第一サーバ15Aの第一サーバ監視部19Aが、DBアクセス部管理テーブル101を参照することで、現用のDBアクセス部1A−1は正常であるかどうかを判断することができ、正常と判断された場合に、第一ユーザ端末11Aからのクエリーを受け付け担当として、DBアクセス部1A−1を第一ユーザ端末11Aに割り当てることができる。
DBアクセス部1A−1は、クエリー(例えばクリエイトテーブル105)の内容と、DB−VOLマッピングテーブル67Aとに基づいて、自分が第一サイト内の論理ボリュームにアクセスするか、或いは、他のDBアクセス部に論理ボリュームにアクセスさせるかの判断を行う(S27)。具体的には、例えば、DBアクセス部1A−1は、クエリーに記述されているデータベース領域IDに対応付けられた正ストレージサブシステムID及び正VOLID等をDB−VOLマッピングテーブル67Aから把握する。
例えば、S27Bにより、自分が論理ボリュームにアクセスすると判断された場合、DBアクセス部1A−1は、トランザクション処理により派生したDBブロック(例えばCOMMITにより確定したデータのブロック)を、DBバッファ63Aを介して、自分に対応した正DB用VOL51Aに書き込む(S28)。
また、例えば、S27Bにより、DBアクセス部1A−2が論理ボリュームにアクセスすべきであると判断された場合、DBアクセス部1A−1は、DBアクセス部1A−2に、論理ボリュームにアクセスすることを命じる(S29)。この場合、DBアクセス部1A−2が、トランザクション処理により派生したDBブロックを、DBバッファ63Aを介して、自分に対応した正DB用VOL52Aに書き込む(S30)。書き込み先となるVOL52AのIDは、例えば、DBアクセス部1A−1から通知されても良いし、データベース領域IDからDBアクセス部1A−2によって特定されても良い。
また、例えば、S27Bにより、第二サイト1Bの現用第二サーバ15Bに存在するDBアクセス部3B−1が論理ボリュームにアクセスすべきであると判断された場合、DBアクセス部1A−1は、第一サーバ監視部19Aから第三ネットワーク13C(図示せず)等を介して、第二サイト1Bの第二サーバ15BにあるDBアクセス部3B−1に、論理ボリュームにアクセスすることを命じる(S31)。この場合、DBアクセス部3B−1が、トランザクション処理により派生したDBブロックを、DBバッファ63Bを介して、自分に対応した正DB用VOL55Bに書き込む(S32)。書き込み先となるVOL55BのIDは、例えば、DBアクセス部1A−1から通知されても良いし、データベース領域IDからDBアクセス部3B−1によって特定されても良い。
以上が、本実施形態における一つの処理流れの概要である。なお、この実施形態では、前述したように、サイト間で、同期リモートコピー処理或いは非同期リモートコピー処理が行われる。例えば、図8の例では、図示しないリモートコピー管理テーブル87A(及び/又は87B)において、正DBVOL51Aと副DBVOL51Bとの状態、正DBVOL52Aと副DBVOL52Bとの状態、及び、正DB用VOL55Bと副DBVOL55Aとの状態が、それぞれ、「ペア」になっているものとする。この場合、図8において点線で示すように、正DBVOLから副DBVOLに、非同期リモートコピー処理が行われる。この処理は、第一ストレージ制御装置45Aのリモートコピー処理部83Aと、第二ストレージ制御装置45Bのリモートコピー処理部83Bとにより、行われる。
以下、本実施形態に係るデータ処理システム3において行われる処理の具体的な流れについて幾つか説明する。
図9は、第一ユーザ端末11Aが行う処理の流れの一例を示す。この図に示す流れは、第二ユーザ端末11Bにも適用することができる。
第一ユーザ端末11Aは、サイト間監視サーバ49に、第一サイト1Aの状態を問い合わせる(S61)。
第一ユーザ端末11Aは、その問い合わせに応答して、第一サイト1Aの状態を表す情報を受けた場合、その情報が表す状態が「障害」(又は「停止」)でなければ(S62でYES)、第一サーバ15AのDBアクセス部に接続要求を出す(S63)。ここでは、例えば、第一ユーザ端末11Aは、第一サーバ15AのIPアドレスを有した接続要求を出しても良いし、特定のDBアクセス部(例えば1A−1)のIPアドレスを有した接続要求を出しても良い。
第一ユーザ端末11Aから出された接続要求は、例えば、第一サーバ監視部19Aが受ける。第一サーバ監視部19Aは、DBアクセス部管理テーブル101を参照し、DBアクセス部の状態を把握する。第一サーバ監視部19Aは、例えば、第一サーバ15Aに対する接続要求を受けた場合には、状態が「正常」であるDBアクセス部の中から特定のDBアクセス部を第一ユーザ端末11Aに接続することを認める(接続OKを出す)。また、例えば、第一サーバ監視部19Aは、DBアクセス部1A−1に対する接続要求を受けた場合には、そのDBアクセス部1A−1の状態が「正常」であれば、接続OKを出し、その状態が「障害」又は「停止」であれば、接続を認めない(接続NGを出す)。ここで、もし、例えば、他のDBアクセス部1A−2乃至1A−4のうちいずれかの状態が「正常」であれば、第一サーバ監視部19Aは、他のDBアクセス部1A−2乃至1A−4のいずれかを、第一ユーザ端末11Aに対して接続させても良い。その場合には、接続OKが出されても良い。
第一ユーザ端末11Aは、S63の接続要求に対して接続OKが出された場合には、接続されたDBアクセス部に所定の処理、例えば、トランザクション処理を要求する(S69)。
一方、第一ユーザ端末11Aは、第一サーバ15Aから接続NGを受けた場合には、同一サイト1Aに属する別の第一サーバ17AのDBアクセス部に接続要求を出す(S65)。その場合には、第一サーバ監視部41Aによって、第一サーバ監視部19Aと同様の上記処理が行われ、接続OKか接続NGが出される。ここで、第一サーバ17Aから接続OKを受けた場合には、第一ユーザ端末11Aは、接続されたDBアクセス部に対して所定の処理、例えばトランザクション処理を要求することができる(S69)。また、接続NGを受けた場合には、第一ユーザ端末11Aは、しばらく待つか、或いは、第二サイト1Bの第二サーバ15B又は17Bに接続要求を出すことができる。
第一ユーザ端末11Aは、S61の問い合わせに応答して受けた状態が「障害」又は「停止」の場合には、第二サイト1Bに対して、第一サイト1Aに対するS63乃至S65の処理と同様の処理を実行する(S66乃至S68)。
S69の後に、例えば接続したDBアクセス部で障害が発生しそれが検出された場合には(S70でYES)、S61が再び行われる。
図10は、サイト間監視ソフトが行う処理の流れの一例を示す。
サイト間監視ソフト25は、所定のタイミングで(例えば、ユーザ端末11A又は11Bから第一サイト1A又は第二サイト1Bの問い合わせを受けた場合に)、監視結果テーブル103を参照し、第一サイト1A及び第サイト1Bの状態を取得する(S71及びS72)。
サイト間監視ソフト25は、第一サイト1Aの状態が「障害」になっていれば(S73でYES)、第一サイト1Aの全サーバ15A、17Aに復旧の有無を問い合わせ、全サーバ15A、17Aからの応答を待つ(S74)。全サーバ15A、17Aから応答があれば(S74でYES)、サイト間監視ソフト25は、各サーバ15A、17A、15B、17Bに第一サイト1Aへのフェールバック処理を行わせ(S75)、且つ、監視結果テーブル103における第一サイト1Aの状態を「正常」に更新する(S76)。それに対し、少なくとも一つのサーバ15A及び/又は17Aから応答が無ければ(S74でNO)、サイト間監視ソフト25は、第二サイト1Bの状態を監視結果テーブル103から取得し、第二サイトの状態が「障害」かどうかを判断する(S78)。
サイト間監視ソフト25は、第二サイト1Bの状態が「障害」になっていれば(S79でYES)、第二サイト1Bの全サーバ15B、17Bに復旧の有無を問い合わせ、全サーバ15B、17Bからの応答を待つ(S80)。全サーバ15B、17Bから応答があれば(S80でYES)、サイト間監視ソフト25は、各サーバ15A、17A、15B、17Bに第二サイト1Bへのフェールバック処理を行わせ(S81)、且つ、監視結果テーブル103における第二サイト1Bの状態を「正常」に更新する(S82)。それに対し、少なくとも一つのサーバ15B及び/又は17Bから応答が無ければ(S80でNO)、サイト間監視ソフト25は、第一サイト1Aの状態を監視結果テーブル103から取得し、第一サイトの状態が「障害」かどうかを判断する(S84)。
S78でYES又はS84でYESならば、第一サイト1Aでも第二サイト1Bでも障害が発生しているということである。この場合、サイト間監視ソフト25は、所定のエラー処理、例えば、両サイトに障害が発生していることを表すメッセージを所定ノード(例えば問い合わせ元のユーザ端末11A又は11B)に表示させる(S85)。
図11は、サイト間監視ソフトが行うサーバに対する監視処理の流れの一例を示す。この図は、例えば、第一サーバに対する漢詩処理の流れを例に採って示しているが、この図に示す処理流れは、第二サーバに対しても適用することができる。
サイト間監視ソフト25は、第一サーバ15A及び17Aの状態をサーバ状態テーブル104から取得する(S71)。
サイト間監視ソフト25は、第一サーバ15A又は17Aに対する信号に対して応答があった場合(S72でYES)、サーバ状態テーブル104において、応答の送信元のサーバ15A又は17Aに対応した状態が「障害」又は「停止」になっていれば、その状態を「正常」に更新すると共に、監視結果テーブル103における第一サイト1Aの状態も「正常」に更新する(S73)。
サイト間監視ソフト25は、第一サーバ15A又は17Aに対する信号に対して応答がいずれのサーバからも無い場合(S72でNO)、サーバ状態テーブル104から、各サーバ15A及び17Aの状態を取得し、各サーバ15A及び17Aの状態を判断する(S74)。
サイト間監視ソフト25は、サーバ15A及び17Aの両方の状態が「障害」又は「停止」であれば(S74でYES)、第二サイトへのフェールオーバ処理を実行し(S77)、且つ、監視結果テーブル103における第一サイト1Aの状態を「障害」又は「停止」に更新する(S78)。
サイト間監視ソフト25は、サーバ15A及び17Aのいずれかの状態が「障害」及び「停止」でなければ(S74でNO)、サーバ状態テーブル104において、第一サーバ15A及び17Aの待ち時間長を更新する(S75)。サイト間監視ソフト25は、更新後の待ち時間長と、所定の待ち時間長閾値とを比較し、両方のサーバの待ち時間長が所定の待ち時間長閾値を超えた場合には、S77及びS78の処理を実行する。さらに、その場合、サイト間監視ソフト25は、サーバ状態テーブル104において、各サーバ15A及び15Bの状態を「障害」に更新することができる。
図12は、現用の第一サーバのDBアクセス部1A−1がダウンした場合に行われるサイト内フェールオーバ処理の流れの一例を示す。図13Aは、図12のサイト内フェールオーバ処理の説明図である。図13Bは、図12のサイト内フェールオーバ処理の流れにおける監視結果テーブル103を示す。図13Cは、図12のサイト内フェールオーバ処理の流れにおけるDBアクセス部管理テーブル101の或る一レコードの更新結果を示す。図13Dは、図12のサイト内フェールオーバ処理の流れにおけるDBアクセス部管理テーブル101の別の一レコードの更新結果を示す。図14は、図12のサイト内フェールオーバ処理の流れにおけるDB−VOLマッピングテーブル67Aの更新結果を示す。以下、図12乃至図14を参照して、サイト内フェールオーバ処理の一例について説明する。
例えばDBアクセス部1A−1に障害が発生してダウンした場合、第一サーバ15Aの第一サーバ監視部19Aが、DBアクセス部1A−1のダウンを検出する(S101)。この場合、第一サイト1A全体がダウンしたわけではないので、図13Bに示すように、サイト間監視ソフト25によって監視結果テーブル103が更新されることはない。
第一サーバ監視部19Aは、DBアクセス部1A−1のダウンを検出した場合、DBアクセス部1A−1にシャットダウンを要求し(S102)、それにより、DBアクセス部1A−1にシャットダウンさせる。第一サーバ監視部19Aは、サーバ15A内のDBアクセス部を監視することを一旦終える(S103)。
第一サーバ監視部19Aは、DBアクセス部1A−1の引継ぎ先、換言すれば、DBアクセス部1A−1に代えて現用のDBアクセス部となる待機用のDBアクセス部(つまり引き継ぎ先)の判定を行う(S104)。例えば、第一サーバ監視部19Aが、サイト間監視ソフト25に、DBアクセス部1A−1のダウンを通知する。サイト間監視ソフト25が、DBアクセス部管理テーブル101を参照し、ダウンしたDBアクセス部1A−1のIDに対応付けられた一以上のIDの中から所定の又は任意のIDをDBアクセス部管理テーブル101から抽出し、抽出したIDに関するDBアクセス部に関する情報(例えばどのサーバに存在するか等)を第一サーバ監視部19Aに通知する。それにより、第一サーバ監視部19Aが、引き継ぎ先を判定することができる。
引き継ぎ先として判定されたDBアクセス部は、例えば、待機用の第一サーバ17Aに存在するDBアクセス部2A−1であったとする。この場合、第一サーバ監視部19Aと41Aとの間で、DBアクセス部1A−1に関わるリソースをDBアクセス部2A−1に引き継がせる(S105)。この処理では、例えば、DBアクセス部1A−1のIPアドレスがDBアクセス部2A−1に割り当てられたり、DBアクセス部1A−1に割り当てられていたデータベース領域のID(換言すれば、そのデータベース領域を有するVOLのID)が、DBアクセス部2A−1に割り当てられたりする。
第一サーバ監視部19Aは、DBアクセス部2A−1に起動要求を発行する(S106)。それにより、DBアクセス部2A−1が、起動する(S107)。また、これにより、待機用であったDBアクセス部2A−1が現用になる。DBアクセス部2A−1は、起動処理が完了した場合には、起動完了通知を第一サーバ監視部19A(及び/又はサイト間監視ソフト25)に発行する(S108)。
第一サーバ監視部19A(及び/又は、サイト間監視ソフト25)は、起動完了通知をDBアクセス部2A−1から受けたならば(S109)、これまでの処理の結果を、DB−VOLマッピングテーブル67A(及び/又は、DBアクセス部管理テーブル101)に反映させ、監視を再開する(S110)。また、第一サーバ監視部19A(及び/又は、サイト間監視ソフト25)は、切り替え通知を第一サーバ監視部41A(及び/又は、サイト間監視ソフト25)に発行する(S111)。第一サーバ監視部41A(及び/又は、サイト間監視ソフト25)は、切り替え通知を受けたならば(S112)、これまでの処理の結果を、DBアクセス部管理テーブル101や、DB−VOLマッピングテーブル67A(及び/又は、DBアクセス部管理テーブル101)に反映させる(S113)。
S110による処理により、例えば、DBアクセス部管理テーブル101において、DBアクセス部1A−1について、「現用」が「待機」に更新され、状態が「障害」に更新される(図13C参照)。また、DBアクセス部2A−1についての情報もあれば、DBアクセス部2A−1について、「待機」が「現用」に更新される(図13D参照)。
また、S110による処理により、例えば、DB−VOLマッピングテーブル67Aにおいて、サブサーバID「DBアクセス部1A−1」が、「DBアクセス部2A−1」に更新される(図14参照)。
図13C乃至図14のうちの少なくとも図13Dの更新結果は、S113による処理の結果についても同様である。
図15は、第一サイト1Aがダウンした場合に行われるサイト間フェールオーバ処理の流れの一例を示す。図16Aは、図15のサイト間フェールオーバ処理の説明図である。図16Bは、図16のサイト間フェールオーバ処理の流れにおける監視結果テーブル103の更新結果を示す。図16Cは、図15のサイト間フェールオーバ処理の流れにおけるDBアクセス部管理テーブル101Bの或る一レコードの更新結果を示す。図16Dは、図15のサイト間フェールオーバ処理の流れにおけるDBアクセス部管理テーブル101Bの別の一レコードの更新結果を示す。図17Aは、図12のサイト間フェールオーバ処理の流れにおけるDB−VOLマッピングテーブル67Bの更新結果を示す。図17Bは、図12のサイト間フェールオーバ処理の流れにおけるリモートコピー管理テーブル87Bの更新結果を示す。以下、図15乃至図17Bを参照して、サイト間フェールオーバ処理の一例について説明する。
例えば第一サイト1Aで障害が発生した場合(一例として、第一サーバ15A及び17Aの両方の状態が「障害」の場合)、サイト間監視ソフト25によりそれが検知される(S121)。
サイト間監視ソフト25は、監視結果テーブル103において、第一サイト1Aの状態を「障害」に更新し(S122及び図16B)、第二サイト1Bの各サーバ監視部19B、41Bに、サイト間フェールオーバを通知する(S123)。図15及び図16Aでは、第二サーバ17Bの第二サーバ監視部41Bがサイト間フェールオーバ通知を受けた場合に行われる処理の流れを例に採っている(その流れは、別の第二サーバ監視部19Bにも適用できる)。
第二サーバ監視部41Bは、サイト間フェールオーバの通知を受けた場合、第一サイト1AにアクセスされるVOLが形成しているボリュームペアの解除を第二ストレージサブシステム43Bに命令する(S125)。第一サイト1Aそれ自体がダウンしているため、第二ストレージサブシステム43Bの各VOLの更新結果がリモートコピーにより第一ストレージサブシステム43Aに送信する必要が無いからである。このS125では、例えば、第二サーバ監視部41Bが、DB−VOLマッピングテーブル67B及びDBアクセス部管理テーブル101Bを参照し、第二サーバ17Bが備えるDBアクセス部に割り当てられているVOLであって、第一サイト1Aに存在するDBアクセス部に割り当てられているVOLとペアを構成しているVOLを特定し、その特定されたVOLが構成するボリュームペアの解除を第二ストレージサブシステム43Bに命令する。この場合、第二ストレージサブシステム43Bの第二ストレージ制御装置45Bが、その命令に応答し、リモートコピー管理テーブル87Bにおいて、その命令に関わるVOLのペア状態を、「解除」に更新することができる。また、正サイトIDを第二サイトのIDに更新することもできる(図17B参照)。
第二サーバ監視部41Bは、第二サーバ17Bに存在する複数のDBアクセス部のうち、第一サイト1Aに関わるDBアクセス部4A−1乃至4A−4を特定し、特定されたDBアクセス部に起動要求を出す(S126)。DBアクセス部の特定は、例えば、DBアクセス部管理テーブル101Bを参照することにより、行うことができる。以下、DBアクセス部4A−1に起動命令が出された後の処理を例に採って説明する。
DBアクセス部4A−1が、起動命令に応答して起動する(S127)。これにより、待機用であったDBアクセス部4A−1が現用になる。DBアクセス部4A−1は、起動処理が完了した場合には、起動完了通知を第二サーバ監視部19Bに発行する(S128)。また、第二サーバ監視部19Bは、その起動完了通知を、サイト間監視ソフト25に通知することができる。
第二サーバ監視部41B(及び/又は、サイト間監視ソフト25)は、起動完了通知を受けたならば(S129)、これまでの処理の結果を、DB−VOLマッピングテーブル67B(及び/又は、DBアクセス部管理テーブル101B)に反映させる。第二サーバ監視部41Bは、各DBアクセス部4A−1乃至4A−4の監視を始める(S130)。
S130による処理により、例えば、DBアクセス部管理テーブル101Bにおいて、DBアクセス部1A−1の情報があれば、「現用」が「待機」に更新され、状態が「障害」に更新される(図16C参照)。また、例えば、DBアクセス部4A−1については、「待機」から「現用」に更新される(図16D参照)。例えば、現用になったDBアクセス部4A−1は、DB−VOLマッピングテーブルを参照することにより、自分がどのVOLにアクセスしたら良いかを判断することができる。ここでは、例えば、DBアクセス部4A−1が利用できるDB用VOLは、DBアクセス部1A−1がアクセスしていた正DBVOLに対応した副DBVOLとすることができる。また、サイト間監視ソフト25は、DBアクセス部1A−1に割り当てられていたリソース情報(例えばIPアドレス)を管理しており、そのリソース情報を第一ユーザ端末11Aに提供することにより、第一ユーザ端末11Aがそのリソース情報を用いてDBアクセス部1A−1にアクセスする方法を採った場合には、DBアクセス部4A−1にアクセスするようにすることができる。
また、S130による処理により、例えば、DB−VOLマッピングテーブル67Bにおいて、サブサーバID「DBアクセス部1A−1」が、「DBアクセス部4A−1」に更新される(図17A参照)。
以上が、サイト間フェールオーバ処理の流れの一例である。なお、この説明では、待機用DBアクセス部4A−1が現用になることを例に採ったが、待機用DBアクセス部3A−1と4A−1とのどちらが現用になるかは、システム3において予め所定の場所に定義されていてもよいし(例えば第二サーバ監視部19B、41Bに定義されていても良いし)、第二サーバ監視部19Bと41Bとのネゴシエーションの結果(例えばどちらのサーバの負荷の方が小さいかの判別)により決められても良い。
図18は、計画切り替え処理の流れの一例を示す。
計画切り替え処理とは、第一サイト1A(又は第二サイト1B)全体を擬似的にダウンさせて、サイト間フェールオーバ処理を実行することにある。サイトは、擬似的にダウンするに過ぎないので、実際には、ダウンしたとされたサイト内のストレージサブシステムは稼動することができ、それにより、フェールオーバ先のサイト内のストレージサブシステムと、フェールオーバ元のサイト(擬似的にダウンしたサイト)内のストレージサブシステムとの間で、リモートコピー処理を行うことができる。以下、第一サイト1Aを擬似的にダウンさせる場合を例に採り、計画切り替え処理の具体的な流れの一例を説明する。
サイト間監視ソフト25が、所定のタイミング(例えば予め設定された時刻)で、計画切り替え指示を、各第一サーバ15A、15Bの第一サーバ監視部19A、41Bに発行する。
例えば、第一サーバ監視部19Aは、計画切り替え指示を受けた場合(S142)、現用のDBアクセス部(例えば1A−1)に、停止要求を出す(S143)。
DBアクセス部1A−1は、停止要求を受けた場合(S144)、自分の動作を停止する処理を実行し(シャットダウンし)(S145)、それが終了したならば、停止完了通知を第一サーバ監視部19Aに発行する(S146)。
第一サーバ監視部19Aは、これまでの処理結果をDBアクセス部管理テーブル101やDB−VOLマッピングテーブル67Aに反映させ、現用であったDBアクセス部1A−1乃至1A−4の監視を解除する(S147)。
第一サーバ監視部19Aは、リソースを切り離し(例えば、現用であったDBアクセス部のIPアドレスを無効にし)、監視終了をサイト間監視ソフト25に通知する(S149)。
サイト間監視ソフト25は、第一サーバ監視部19A及び41Aから監視終了の通知を受けた場合には、監視結果テーブル103において、第一サイト1Aの状態を「停止」に更新する(S150)。サイト間監視ソフト25は、サイト間フェールオーバ通知を各第二サーバ15B、17Bの第二サーバ監視部19B、41Bに送信する(S151)。
第二サーバ監視部41Bは、サイト間フェールオーバ通知を受けた場合(S152)、テイクオーバ処理を実行する(S153)。具体的には、例えば、第二サーバ監視部41Bは、DB−VOLマッピングテーブル67B及びDBアクセス部管理テーブル101Bを参照し、第二サーバ17Bが備えるDBアクセス部に割り当てられているVOLであって、第一サイト1Aに存在するDBアクセス部に割り当てられているVOLとペアを構成しているVOLを特定し、その特定されたVOLが構成するボリュームペアの反転及びコピーの実行を第二ストレージサブシステム43Bに命令する。この場合、第二ストレージサブシステム43Bの第二ストレージ制御装置45Bが、その命令に応答し、リモートコピー管理テーブル87Bにおいて、その命令に関わるVOLのペア状態を、「反転」に更新し、且つ、副VOLから正VOLへのリモートコピー処理を実行する。
その後は、図15のS126乃至S130と同様の処理が行われる(S154乃至S158)。
ところで、この実施形態に係るデータ処理システム3では、上述したシステム構成により、デュアルバッチ処理を実行することができる。以下、それについて詳細に説明する。
図19は、デュアルバッチ処理を行う前に行われる通常処理(例えばオンライン処理)の説明図である。
この実施形態では、例えば、ストレージサブシステム43Aと43Bとの間だけでなく、同一のストレージサブシステム43A又は43Bにおいても、ボリュームペアを構成することができる。図19の例では、第一ストレージサブシステム43Aには、正DBVOL2−2と副DBVOL2−3とのボリュームペアを構成することができる。また、第二ストレージサブシステム43Bには、正DBVOL1−2と副DBVOL1−3とのボリュームペアを構成することができる。
この実施形態では、第一ストレージサブシステム43Aの第一ストレージ制御装置45Aの記憶域91Aに、図20に例示するようなVOLペア管理テーブル68が用意される。VOL管理テーブル68には、第一ストレージサブシステム43Aが備える各VOLペア毎に、ペア状態、正VOLID及び副VOLIDが登録される。第一ストレージ制御装置45Aのディスク制御処理部85Aは、VOLペア管理テーブル68を参照することにより、自分を備えるストレージサブシステム43A内のVOLペアに関する情報を取得することができる。なお、この段落の説明は、第二ストレージサブシステム43Bにも適用することができる。
再び図19を参照する。通常処理では、例えば、第一サイト1Aにおいて、現用であるDBアクセス部1A−1は、自分に割り当てられている正DBVOL1−1にDBブロックを書く。正DBVOL1−1に書かれたDBブロックは、リモートコピー処理部83Aにより、DBVOL1−1から、それとペアを構成するDBVOL1−2にコピーされる(つまりリモートコピーが行われる)。更に、DBVOL1−2にコピーされるDBブロックは、ディスク制御処理部85Bにより、そのDBVOL1−2とVOLペアを構成するDBVOL1−3にコピーされる(つまりストレージ内コピーが行われる)。
また、通常処理では、第二サイト1Bにおいて、現用であるDBアクセス部3B−1は、自分に割り当てられている正DBVOL2−1にDBブロックを書く。正DBVOL2−1に書かれたDBブロックは、リモートコピー処理部83A及び83Bにより(図示せず)、DBVOL2−1から、それとペアを構成するDBVOL2−2にコピーされる(つまりリモートコピーが行われる)。更に、DBVOL2−2にコピーされるDBブロックは、ディスク制御処理部85Aにより、そのDBVOL2−2とVOLペアを構成するDBVOL2−3にコピーされる(つまりストレージ内コピーが行われる)。
以上のような流れにより、各サイトに対応した処理結果を表すデータが、自分のサイトと別のサイトの両方に反映され、且つ、別のサイトでは、その処理結果を表すデータが多重化されて管理される。
図21は、デュアルバッチ処理におけるバッチ更新処理の説明図である。
第一サイト1Aにおいて、例えば第一サーバ監視部19Aが、第一ストレージサブシステム43内で構成されているVOLペアの解除を第一ストレージサブシステム43Aに命じる。それに応答して、第一ストレージ制御装置45が、VOLペア管理テーブル68を参照して、第一ストレージサブシステム43A内に存在するVOLペアを特定し、特定されたVOLペアの状態を「解除」に更新する。第二サイト1Bにおいても、同様の処理が行われ、それにより、第二ストレージサブシステム43B内に存在するVOLペアが無くなる。
その後、DBアクセス部1A−1が、第一ユーザ端末11Aからのクエリーに応答して、バッチ処理を実行する。具体的には、DBアクセス部1A−1は、ユーザ端末11Aからのクエリーに応答した処理を実行し、その処理結果を、自分に割り当てられているDBVOL1−1と、VOLペア解除前に副VOLであったDBVOL(換言すれば、リモートコピーのためのペアの構成要素になっていないVOL)2−3との両方に反映する(つまり、DBVOL1−1及び2−3に同じデータが書かれる)。DBVOL1−1は、第二ストレージサブシステムのDBVOL1−2との間でVOLペアを構成しているので、上述したリモートコピー処理により、DBVOL1−1の更新結果はDBVOL1−2に反映される。
第二サイト1BにおけるDBアクセス部3B−1も、第二ユーザ端末11Bから、第一ユーザ端末11Aが出したクエリーと同じクエリー(例えば、銀行口座の残高と所定の利率との積を求める)を受け、それにより、DBアクセス部1A−1と同様のバッチ処理を行う。そのバッチ処理の処理結果データは、DBアクセス部3B−1に割り当てられているDBVOL2−1と、VOLペア解除前に副VOLであったDBVOL(換言すれば、リモートコピーのためのペアの構成要素になっていないVOL)1−3との両方に反映される(つまり、DBVOL2−1及び1−3に同じデータが書かれる)。DBVOL2−1は、第一ストレージサブシステムのDBVOL2−2との間でVOLペアを構成しているので、上述したリモートコピー処理により、DBVOL2−1の更新結果はDBVOL2−2に反映される。
以上のようなバッチ更新処理により、結果として、VOLペアが解除されたものの、DBVOL2−3内のデータとDBVOL2−2内のデータとは同じになり、同様に、DBVOL1−2内のデータとDBVOL1−3内のデータとを同じすることができる。
このようなバッチ更新処理が行われている場合に、例えば、第一サーバ15Aと第一ストレージサブシステム43Aとの間の接続が、障害発生により切断されたとする。この場合、以下のような復旧処理が行われることにより、障害発生によってデータの整合性がとれなくなることが防止される。
図22は、デュアルバッチ処理におけるデータ復旧処理の説明図である。
例えば、図21に例示したバッチ更新処理が行われている場合に、第一サーバ15Aと第一ストレージサブシステム43Aとの間の接続が、障害発生により切断されたとすると、DBVOL1−1の更新内容は、DBVOL1−3の更新内容よりも古い更新内容である。また、DBVOL2−3の更新内容は、DBVOL2−1の更新内容よりも古い更新内容である。
まず、障害発生前のVOLペアの関係を反転させる処理が行われる。具体的には、例えば、ストレージ制御装置45A及び45Bの少なくとも一方により、リモートコピー管理テーブル87A及び87Bの少なくとも一方のペア状態が、「反転」に更新される。また、例えば、ストレージ制御装置45A及び45Bの各々により、VOLペア管理テーブル68のペア状態が、「解除」から「反転」に更新される。これらの処理の少なくとも一つは、ストレージ制御装置45A及び45Bのうちの少なくとも一方が、或るノードから反転命令を受けることにより実行することができる。この或るノードとは、例えば、同一のサイトに属するサーバ15A又は15Bとすることができる。
ストレージ制御装置45Bは、例えば、更新後のVOLペア管理テーブル68Bに従って、DBVOL1−3内のデータをDBVOL1−2にコピーする。また、ストレージ制御装置45Bは、更新後のリモートコピー管理テーブル87Bに従って、DBVOL1−2内のデータを、第一ストレージサブシステム43A内のDBVOL1−1にコピーする。
また、ストレージ制御装置45Bは、更新後のリモートコピー管理テーブル87Bに従って、DBVOL2−1内のデータを、第一ストレージサブシステム43A内のDBVOL2−2にコピーする。第一ストレージ制御装置45Aは、更新後のVOLペア管理テーブル68Aに従って、DBVOL2−2内のデータをDBVOL2−3にコピーする。
この復旧処理により、障害発生によってデータの整合性がとれなくなることを防止することができる。
以上、本発明の好適な実施形態を説明したが、これは本発明の説明のための例示であって、本発明の範囲をこの実施形態にのみ限定する趣旨ではない。本発明は、他の種々の形態でも実施することが可能である。例えば、各サイトに必ずしも複数のサーバを備える必要は無く、少なくとも一つのサーバ15A又は15Bが存在すればよい。また、例えば、DBアクセス部の待機用から現用への切り替えは、必ずしも、サイト間監視サーバが、切り替え先のDBアクセス部に起動命令を出して、待機用のDBアクセス部を起動させなくてもよい。具体的には、例えば、待機用のDBアクセス部をスタンバイ状態(例えばディスクからメモリにロードされた状態)にしておき、現用のリソースに関する情報が待機用に引き継がれた場合に、その待機用が現用に切り替わることができる。
図1は、本発明の一実施形態に係るデータ処理システムの構成例を示す。 図2は、本発明の一実施形態に係るデータ処理システムに備えられるサーバ及びストレージサブシステムの構成例を示す。 図3は、同期リモートコピー処理の流れの一例を示す。 図4は、非同期リモートコピー処理の流れの一例を示す。 図5Aは、DB−VOLマッピングテーブルの構成例を示す。図5Bは、リモートコピー管理テーブルの構成例を示す。 図6Aは、サイト間監視サーバ49で管理されている情報の一例を示す。図6Bは、DBアクセス部管理テーブルの構成例を示す。 図7は、或るサーバにおける各DBアクセス部をサーバ監視部が監視する方法の一例を説明するための図である。 図8は、本発明の実施形態に係るデータ処理システムにおいて行われる一つの処理流れの一例の概要を示す。 図9は、第一ユーザ端末11Aが行う処理の流れの一例を示す。 図10は、サイト間監視ソフトが行う処理の流れの一例を示す。 図11は、サイト間監視ソフトが行うサーバに対する監視処理の流れの一例を示す。 図12は、現用の第一サーバのDBアクセス部1A−1がダウンした場合に行われるサイト内フェールオーバ処理の流れの一例を示す。 図13Aは、図12のサイト内フェールオーバ処理の説明図である。図13Bは、図12のサイト内フェールオーバ処理の流れにおける監視結果テーブル103を示す。図13Cは、図12のサイト内フェールオーバ処理の流れにおけるDBアクセス部管理テーブル101の或る一レコードの更新結果を示す。図13Dは、図12のサイト内フェールオーバ処理の流れにおけるDBアクセス部管理テーブル101の別の一レコードの更新結果を示す。 図14は、図12のサイト内フェールオーバ処理の流れにおけるDB−VOLマッピングテーブル67Aの更新結果を示す。 図15は、第一サイト1Aがダウンした場合に行われるサイト間フェールオーバ処理の流れの一例を示す。 図16Aは、図15のサイト間フェールオーバ処理の説明図である。図16Bは、図16のサイト間フェールオーバ処理の流れにおける監視結果テーブル103の更新結果を示す。図16Cは、図15のサイト間フェールオーバ処理の流れにおけるDBアクセス部管理テーブル101Bの或る一レコードの更新結果を示す。図16Dは、図15のサイト間フェールオーバ処理の流れにおけるDBアクセス部管理テーブル101Bの別の一レコードの更新結果を示す。 図17Aは、図12のサイト間フェールオーバ処理の流れにおけるDB−VOLマッピングテーブル67Bの更新結果を示す。図17Bは、図12のサイト間フェールオーバ処理の流れにおけるリモートコピー管理テーブル87Bの更新結果を示す。 図18は、計画切り替え処理の流れの一例を示す。 図19は、デュアルバッチ処理を行う前に行われる通常処理(例えばオンライン処理)の説明図である。 図20は、VOLペア管理テーブルの構成例を示す。 図21は、デュアルバッチ処理におけるバッチ更新処理の説明図である。 図22は、デュアルバッチ処理におけるデータ復旧処理の説明図である。
符号の説明
1A…第一サイト、1B…第二サイト、11A…第一ユーザ端末、11B…第二ユーザ端末、15A…現用の第一サーバ、15B…現用の第二サーバ、17A…待機用の第一サーバ、17B…待機用の第二サーバ、19A…第一サーバ監視部、19B…第二サーバ監視部、21…障害監視/通知部、23…接続切替部、25…サイト間監視ソフトウェア、41A…第一サーバ監視部、41B…第二サーバ監視部、49…サイト間監視サーバ

Claims (9)

  1. 第一のサイトが、現用の第一DBアクセス部と、前記現用の第一DBアクセス部に割り当てられたプライマリの第一記憶デバイスと、プライマリの第二記憶デバイスとの間でペアを構成するセカンダリの第二記憶デバイスとを備え、
    第二のサイトが、現用の第二DBアクセス部と、前記現用の第一DBアクセス部に対応した待機用の第一DBアクセス部と、前記現用の第二DBアクセス部に割り当てられた前記プライマリの第二記憶デバイスと、前記プライマリの第一記憶デバイスとの間でペアを構成し、前記待機用のDBアクセス部に割り当てられたセカンダリの第一記憶デバイスとを備え、
    前記現用の第一DBアクセス部、前記現用の第一DBアクセス部を備える第一サーバ、及び前記第一サイトのうちの少なくとも一つである第一監視対象と、前記現用の第二DBアクセス部、前記現用の第二DBアクセス部を備える第二サーバ、及び前記第二サイトのうちの少なくとも一つである第二監視対象とを監視するサイト間監視サーバが備えられ、
    前記現用の第一DBアクセス部が、前記プライマリの第一記憶デバイスにデータを書き込むステップと、
    前記プライマリの第一記憶デバイスに書かれたデータを、前記セカンダリの第一記憶デバイスにコピーするステップと、
    前記現用の第二DBアクセス部が、前記プライマリの第二記憶デバイスにデータを書き込むステップと、
    前記プライマリの第二記憶デバイスに書かれたデータを、前記セカンダリの第二記憶デバイスにコピーするステップと、
    前記サイト間監視サーバが、前記現用の第一DBアクセス部がダウンしたことを検出するステップと、
    前記サイト間監視サーバが、前記現用の第一DBアクセス部のダウンの検出後、前記待機用の第一DBアクセス部を現用の第一DBアクセス部に切り替えるステップと
    を有するデータ処理方法。
  2. 前記第一サイトが、前記現用の第一DBアクセス部に対応した別の待機用の第一DBアクセス部を有し、
    前記サイト間監視サーバが、前記現用の第一DBアクセス部のダウンの検出後、前記別の待機用の第一DBアクセス部を現用の第一DBアクセス部に切り替えるステップ、
    を有する請求項1記載のデータ処理方法。
  3. 前記サイト間監視サーバが、各DBアクセス部と別の各DBアクセス部との対応関係を表す情報であるDBアクセス部関係情報を所定の記憶域に備えるステップと、
    前記サイト間監視サーバが、前記所定の記憶域に記憶されているDBアクセス部関係情報を参照することにより、ダウンした現用のDBアクセス部に対応した待機用のDBアクセス部を特定するステップと
    を有し、前記切り替えるステップでは、前記特定された待機用のDBアクセス部を現用のDBアクセス部に切り替える、
    請求項1記載のデータ処理方法。
  4. 前記サイト間監視サーバが、前記第一監視対象と前記第二監視対象とが正常か否かを表す監視結果情報を所定の記憶域に登録するステップと、
    前記サイト間監視サーバが、前記第一監視対象と前記第二監視対象との監視結果に応じて前記監視結果情報を更新するステップと、
    前記サイト間監視サーバが、前記第一監視対象にアクセス要求を発行するクライアント端末から、前記第一監視対象にアクセス可能か否かの問合せを受けるステップと、
    前記サイト間監視サーバが、前記所定の記憶域に登録されている監視結果情報を参照することにより、前記第一監視対象に前記クライアント端末がアクセス可能か否かを判断するステップと、
    前記サイト間監視サーバが、前記判断の結果を前記クライアント端末に送信するステップと、
    前記クライアント端末が、前記判断の結果がアクセス可能という判断結果であれば、前記第一監視対象にアクセス要求を出すステップと、
    を有する請求項1記載のデータ処理方法。
  5. 前記第一サイトが、複数の現用の第一アクセス部と、複数のプライマリの第一記憶デバイスとを有し、
    前記第二サイトが、複数の待機用の第一DBアクセス部と、前記複数のプライマリの第一記憶デバイスにそれぞれ対応した複数のセカンダリの第一記憶デバイスとを有し、
    現用の第一DBアクセス部と、待機用のDBアクセス部とが、1対1で対応付けられ、且つ、現用の第一DBアクセス部と、プライマリの第一記憶デバイスとも、1対1で対応付けられている、
    請求項1記載のデータ処理方法。
  6. 前記第二サイトが、前記セカンダリの第一記憶デバイスとの間でペアを構成する更なるセカンダリの第一記憶デバイスを有し、
    前記第一サイトが、前記セカンダリの第二記憶デバイスとの間でペアを構成する更なるセカンダリの第二記憶デバイスとを有し、
    前記第二サイトにおいて、前記セカンダリの第一記憶デバイスに格納された第一のデータを前記更なるセカンダリの第一記憶デバイスにコピーするステップと、
    前記第一サイトにおいて、前記セカンダリの第二記憶デバイスに格納された第二のデータを前記更なるセカンダリの第二記憶デバイスにコピーするステップと、
    前記第二サイトにおいて、前記セカンダリの第一記憶デバイスと前記更なるセカンダリの第一記憶デバイスとのペアを解除するステップと、
    前記第一サイトにおいて、前記セカンダリの第一記憶デバイスと前記更なるセカンダリの第一記憶デバイスとのペアを解除するステップと、
    前記現用の第一DBアクセス部が、前記プライマリの第一記憶デバイスと、前記更なるセカンダリの第二記憶デバイスとの両方に、新たな第一のデータを書き込むステップと、
    前記現用の第二DBアクセス部が、前記プライマリの第二記憶デバイスと、前記更なるセカンダリの第一記憶デバイスとの両方に、新たな第二のデータを書き込むステップと、
    前記第一監視対象において障害が発生した後、その障害が回復した場合、前記第二サイトにおいて、前記セカンダリの第一記憶デバイスと前記更なるセカンダリの第一記憶デバイスとのペアを形成するステップと、
    前記第一サイトにおいて、前記セカンダリの第一記憶デバイスと前記更なるセカンダリの第一記憶デバイスとのペアを形成するステップと、
    前記第二サイトにおいて、前記更なるセカンダリの第一記憶デバイスに格納された前記新たな第二のデータを前記セカンダリの第一記憶デバイスにコピーするステップと、
    前記セカンダリの第一記憶デバイスに書かれた前記新たな第二のデータを前記第一サイトの前記プライマリの第一記憶デバイスに格納するステップと、
    前記プライマリの第二記憶デバイスに格納された前記新たな第二のデータを前記セカンダリの第二記憶デバイスにコピーするステップと、
    前記第一サイトにおいて、前記セカンダリの第二記憶デバイスにコピーされた前記新たな第二のデータを前記更なるセカンダリの第二記憶デバイスにコピーするステップと
    を有する請求項1記載のデータ処理方法。
  7. 前記第一サイトが、前記現用の第二DBアクセス部に対応した待機用の第二DBアクセス部を更に備え、
    前記サイト間監視サーバが、前記現用の第二DBアクセス部がダウンしたことを検出するステップと、
    前記サイト間監視サーバが、前記現用の第二DBアクセス部のダウンの検出後、前記待機用の第二DBアクセス部を現用の第二DBアクセス部に切り替えるステップと
    を有する請求項1記載のデータ処理方法。
  8. 第一のサイトに、現用の第一DBアクセス部と、前記現用の第一DBアクセス部に割り当てられたプライマリの第一記憶デバイスと、現用の第二DBアクセス部に対応した待機用の第二DBアクセス部と、プライマリの第二記憶デバイスとの間でペアを構成するセカンダリの第二記憶デバイスとが備えられ、
    第二のサイトに、前記現用の第二DBアクセス部と、前記現用の第一DBアクセス部に対応した待機用の第一DBアクセス部と、前記現用の第二DBアクセス部に割り当てられた前記プライマリの第二記憶デバイスと、前記プライマリの第一記憶デバイスとの間でペアを構成し、前記待機用のDBアクセス部に割り当てられたセカンダリの第一記憶デバイスとが備えられ、
    前記現用の第一DBアクセス部が、前記プライマリの第一記憶デバイスにデータを書き込み、前記プライマリの第一記憶デバイスに書かれたデータが、前記セカンダリの第一記憶デバイスにコピーされ、
    前記現用の第二DBアクセス部が、前記プライマリの第二記憶デバイスにデータを書き込み、前記プライマリの第二記憶デバイスに書かれたデータが、前記セカンダリの第二記憶デバイスにコピーされ、
    少なくとも一つのコンピュータプログラムを記憶する記憶域と、
    前記記憶域から前記少なくとも一つのコンピュータプログラムを読み込んで動作するプロセッサと
    を備え、
    前記プロセッサが、
    前記現用の第一DBアクセス部、前記現用の第一DBアクセス部を備える第一サーバ、及び前記第一サイトのうちの少なくとも一つである第一監視対象と、前記現用の第二DBアクセス部、前記現用の第二DBアクセス部を備える第二サーバ、及び前記第二サイトのうちの少なくとも一つである第二監視対象とを監視し、
    前記監視により、前記現用の第一DBアクセス部がダウンしたことを検出した場合、前記待機用の第一DBアクセス部を現用の第一DBアクセス部に切り替え、
    前記監視により、前記現用の第二DBアクセス部がダウンしたことを検出した場合、前記待機用の第二DBアクセス部を現用の第二DBアクセス部に切り替える、
    装置。
  9. 第一のサイトに、現用の第一DBアクセス部と、前記現用の第一DBアクセス部に割り当てられたプライマリの第一記憶デバイスと、現用の第二DBアクセス部に対応した待機用の第二DBアクセス部と、プライマリの第二記憶デバイスとの間でペアを構成するセカンダリの第二記憶デバイスとが備えられ、
    第二のサイトに、前記現用の第二DBアクセス部と、前記現用の第一DBアクセス部に対応した待機用の第一DBアクセス部と、前記現用の第二DBアクセス部に割り当てられた前記プライマリの第二記憶デバイスと、前記プライマリの第一記憶デバイスとの間でペアを構成し、前記待機用のDBアクセス部に割り当てられたセカンダリの第一記憶デバイスとが備えられ、
    前記現用の第一DBアクセス部が、前記プライマリの第一記憶デバイスにデータを書き込み、前記プライマリの第一記憶デバイスに書かれたデータが、前記セカンダリの第一記憶デバイスにコピーされ、
    前記現用の第二DBアクセス部が、前記プライマリの第二記憶デバイスにデータを書き込み、前記プライマリの第二記憶デバイスに書かれたデータが、前記セカンダリの第二記憶デバイスにコピーされ、
    前記現用の第一DBアクセス部、前記現用の第一DBアクセス部を備える第一サーバ、及び前記第一サイトのうちの少なくとも一つである第一監視対象と、前記現用の第二DBアクセス部、前記現用の第二DBアクセス部を備える第二サーバ、及び前記第二サイトのうちの少なくとも一つである第二監視対象とを監視するステップと、
    前記監視により、前記現用の第一DBアクセス部がダウンしたことを検出した場合、前記待機用の第一DBアクセス部を現用の第一DBアクセス部に切り替えるステップと、
    前記監視により、前記現用の第二DBアクセス部がダウンしたことを検出した場合、前記待機用の第二DBアクセス部を現用の第二DBアクセス部に切り替えるステップと
    をコンピュータに実行させるためのコンピュータ読み取り可能なコンピュータプログラム。
JP2004357397A 2004-12-09 2004-12-09 データ処理システム Expired - Fee Related JP4671399B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004357397A JP4671399B2 (ja) 2004-12-09 2004-12-09 データ処理システム
US11/076,917 US7293194B2 (en) 2004-12-09 2005-03-11 Method and device for switching database access part from for-standby to currently in use

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004357397A JP4671399B2 (ja) 2004-12-09 2004-12-09 データ処理システム

Publications (2)

Publication Number Publication Date
JP2006164080A true JP2006164080A (ja) 2006-06-22
JP4671399B2 JP4671399B2 (ja) 2011-04-13

Family

ID=36585414

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004357397A Expired - Fee Related JP4671399B2 (ja) 2004-12-09 2004-12-09 データ処理システム

Country Status (2)

Country Link
US (1) US7293194B2 (ja)
JP (1) JP4671399B2 (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010122604A1 (ja) * 2009-04-23 2010-10-28 株式会社日立製作所 複数のノード装置を含んだ計算機システムでのイベントの発生原因を特定する計算機
US8719624B2 (en) 2007-12-26 2014-05-06 Nec Corporation Redundant configuration management system and method
JP2014123218A (ja) * 2012-12-20 2014-07-03 Fujitsu Ltd プログラム、データ管理方法および情報処理装置
JP2014170567A (ja) * 2009-10-26 2014-09-18 Amazon Technologies Inc 複製されたデータインスタンスのためのフェイルオーバーおよび復旧
US9141490B2 (en) 2007-12-26 2015-09-22 Nec Corporation Graceful degradation designing system and method
US9552265B2 (en) 2014-03-28 2017-01-24 Fujitsu Limited Information processing apparatus and storage system
JP2018116477A (ja) * 2017-01-18 2018-07-26 富士通株式会社 情報処理装置および情報処理システム
JP7424609B2 (ja) 2019-01-31 2024-01-30 株式会社コスモライフ ウォーターサーバー

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7315834B2 (en) * 2000-10-27 2008-01-01 Microsoft Corporation Wish list
JP2007094578A (ja) * 2005-09-27 2007-04-12 Fujitsu Ltd ストレージシステム及びその構成部品交換処理方法
US8107467B1 (en) * 2005-09-30 2012-01-31 Emc Corporation Full array non-disruptive failover
US8072987B1 (en) 2005-09-30 2011-12-06 Emc Corporation Full array non-disruptive data migration
US8255369B2 (en) * 2005-11-30 2012-08-28 Oracle International Corporation Automatic failover configuration with lightweight observer
US7734951B1 (en) * 2006-03-20 2010-06-08 Netapp, Inc. System and method for data protection management in a logical namespace of a storage system environment
JP4277873B2 (ja) * 2006-05-23 2009-06-10 日本電気株式会社 トランザクション処理装置、トランザクション処理方法
US8589504B1 (en) 2006-06-29 2013-11-19 Emc Corporation Full array non-disruptive management data migration
US8074111B1 (en) * 2006-09-18 2011-12-06 Nortel Networks, Ltd. System and method for responding to failure of a hardware locus at a communication installation
US9063895B1 (en) 2007-06-29 2015-06-23 Emc Corporation System and method of non-disruptive data migration between heterogeneous storage arrays
US9098211B1 (en) 2007-06-29 2015-08-04 Emc Corporation System and method of non-disruptive data migration between a full storage array and one or more virtual arrays
JP4802207B2 (ja) * 2008-04-23 2011-10-26 株式会社日立製作所 情報処理システムの制御方法、情報処理システム、およびプログラム
US9569319B2 (en) * 2009-09-18 2017-02-14 Alcatel Lucent Methods for improved server redundancy in dynamic networks
US11176163B2 (en) 2016-09-27 2021-11-16 Collegenet, Inc. System and method for transferring and synchronizing student information system (SIS) data
CN112394662A (zh) * 2020-11-11 2021-02-23 许继集团有限公司 一种变电站监控系统服务器角色确定方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05244653A (ja) * 1992-03-02 1993-09-21 Nec Corp 移動通信システムの共通データベース二重化方式
JPH0695943A (ja) * 1992-05-22 1994-04-08 Nec Corp コンピュータセンタバックアップ方式
JPH08278909A (ja) * 1995-04-07 1996-10-22 Nippon Telegr & Teleph Corp <Ntt> 高信頼化システムおよび方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6976066B1 (en) * 2000-05-22 2005-12-13 Microsoft Corporation Network and method for implementing network platform services for a computing device
US20040120262A1 (en) * 2000-07-25 2004-06-24 Shinji Hirose Site monitor and method for monitoring site
US7051052B1 (en) * 2002-06-20 2006-05-23 Unisys Corporation Method for reading audit data from a remote mirrored disk for application to remote database backup copy
US7814050B2 (en) * 2002-10-22 2010-10-12 Brocade Communications Systems, Inc. Disaster recovery
JP4301849B2 (ja) 2003-03-31 2009-07-22 株式会社日立製作所 情報処理方法及びその実施システム並びにその処理プログラム並びにディザスタリカバリ方法およびシステム並びにその処理を実施する記憶装置およびその制御処理方法
US7043665B2 (en) * 2003-06-18 2006-05-09 International Business Machines Corporation Method, system, and program for handling a failover to a remote storage location
US20050015407A1 (en) * 2003-07-17 2005-01-20 International Business Machines Corporation System and method of relational configuration mirroring
JP3937230B2 (ja) * 2003-07-29 2007-06-27 横河電機株式会社 プロセスデータ収集装置
JP4305328B2 (ja) * 2003-12-24 2009-07-29 株式会社日立製作所 コンピュータシステム及びそれを用いた系切り替え制御方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05244653A (ja) * 1992-03-02 1993-09-21 Nec Corp 移動通信システムの共通データベース二重化方式
JPH0695943A (ja) * 1992-05-22 1994-04-08 Nec Corp コンピュータセンタバックアップ方式
JPH08278909A (ja) * 1995-04-07 1996-10-22 Nippon Telegr & Teleph Corp <Ntt> 高信頼化システムおよび方法

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8719624B2 (en) 2007-12-26 2014-05-06 Nec Corporation Redundant configuration management system and method
US9141490B2 (en) 2007-12-26 2015-09-22 Nec Corporation Graceful degradation designing system and method
WO2010122604A1 (ja) * 2009-04-23 2010-10-28 株式会社日立製作所 複数のノード装置を含んだ計算機システムでのイベントの発生原因を特定する計算機
US8271492B2 (en) 2009-04-23 2012-09-18 Hitachi, Ltd. Computer for identifying cause of occurrence of event in computer system having a plurality of node apparatuses
JP5468067B2 (ja) * 2009-04-23 2014-04-09 株式会社日立製作所 複数のノード装置を含んだ計算機システムでのイベントの発生原因を特定する計算機
JP2014170567A (ja) * 2009-10-26 2014-09-18 Amazon Technologies Inc 複製されたデータインスタンスのためのフェイルオーバーおよび復旧
JP2014123218A (ja) * 2012-12-20 2014-07-03 Fujitsu Ltd プログラム、データ管理方法および情報処理装置
US9552265B2 (en) 2014-03-28 2017-01-24 Fujitsu Limited Information processing apparatus and storage system
JP2018116477A (ja) * 2017-01-18 2018-07-26 富士通株式会社 情報処理装置および情報処理システム
JP7424609B2 (ja) 2019-01-31 2024-01-30 株式会社コスモライフ ウォーターサーバー

Also Published As

Publication number Publication date
US20060129772A1 (en) 2006-06-15
US7293194B2 (en) 2007-11-06
JP4671399B2 (ja) 2011-04-13

Similar Documents

Publication Publication Date Title
JP4671399B2 (ja) データ処理システム
US7673173B2 (en) System and program for transmitting input/output requests from a first controller to a second controller
US7007042B2 (en) System and method for automatic site failover in a storage area network
US7603581B2 (en) Remote copying of updates to primary and secondary storage locations subject to a copy relationship
US6996672B2 (en) System and method for active-active data replication
US7725776B2 (en) Method for displaying pair state of copy pairs
US7475204B2 (en) Automatically managing the state of replicated data of a computing environment
US8027952B2 (en) System and article of manufacture for mirroring data at storage locations
US7478263B1 (en) System and method for establishing bi-directional failover in a two node cluster
TWI307035B (en) Method and system for backing up remote mirror data on internet
US20070234342A1 (en) System and method for relocating running applications to topologically remotely located computing systems
JP2006527875A (ja) データ管理方法、システム、およびプログラム(リモート記憶位置にフェイルオーバを行うための方法、システム、およびプログラム)
JP2005196683A (ja) 情報処理システム、情報処理装置、及び情報処理システムの制御方法
JP2007206931A (ja) 記憶システム、データ処理方法並びにストレージ装置
JP2007279890A (ja) バックアップシステム及びバックアップ方法
JP2006048676A (ja) データ複製を利用したフェイルオーバとデータ移行
JP2005222110A (ja) ストレージサブシステム
US7987206B2 (en) File-sharing system and method of using file-sharing system to generate single logical directory structure
US7886186B2 (en) Storage system and management method for the same
JP2003015933A (ja) 記憶装置のファイルレベルリモートコピー方法
JP2006185108A (ja) ストレージシステムのデータを管理する管理計算機及びデータ管理方法
US9582384B2 (en) Method and system for data replication
JP2021033782A (ja) リモートコピーシステム
JP2008084264A (ja) ネットワークストレージコンピュータシステム、ネットワークストレージ管理方法、管理サーバ、およびそのためのプログラム
JP2005352825A (ja) ストレージ・ボリュームの整合したコピーのための方法、システム、および製品

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071016

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100714

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100727

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100924

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101019

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101215

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110112

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110117

R150 Certificate of patent or registration of utility model

Ref document number: 4671399

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140128

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees