JP2004348701A - 計算機システム間のデータ二重化制御方法 - Google Patents
計算機システム間のデータ二重化制御方法 Download PDFInfo
- Publication number
- JP2004348701A JP2004348701A JP2003207782A JP2003207782A JP2004348701A JP 2004348701 A JP2004348701 A JP 2004348701A JP 2003207782 A JP2003207782 A JP 2003207782A JP 2003207782 A JP2003207782 A JP 2003207782A JP 2004348701 A JP2004348701 A JP 2004348701A
- Authority
- JP
- Japan
- Prior art keywords
- data
- storage
- log
- computer system
- storage system
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 190
- 230000009977 dual effect Effects 0.000 title 1
- 238000003860 storage Methods 0.000 claims abstract description 246
- 238000012545 processing Methods 0.000 claims abstract description 68
- 230000008569 process Effects 0.000 claims description 71
- 230000010076 replication Effects 0.000 claims description 57
- 230000008859 change Effects 0.000 claims description 23
- 238000012546 transfer Methods 0.000 abstract description 10
- 238000012423 maintenance Methods 0.000 abstract description 6
- 230000001360 synchronised effect Effects 0.000 description 22
- 238000004891 communication Methods 0.000 description 13
- 238000011084 recovery Methods 0.000 description 12
- 230000004044 response Effects 0.000 description 7
- 238000012544 monitoring process Methods 0.000 description 6
- 239000000835 fiber Substances 0.000 description 4
- 238000010276 construction Methods 0.000 description 3
- 230000003111 delayed effect Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 239000000047 product Substances 0.000 description 2
- 239000013065 commercial product Substances 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003362 replicative effect Effects 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【解決手段】ストレージ装置により、DBMSのログディスクの複製を行い、切り替えを行うための予備システムのデータベースサーバにログディスクの更新をストレージ装置から通知することで、DBMSがログを参照してロールフォワードを行う。
【効果】データの複製に必要であった業務処理システムのデータベースサーバおよびストレージ装置の負荷を軽減する。さらに、予備システムへの切り替えを迅速に実行することが可能となる。
【選択図】 図1
Description
【発明の属する技術分野】
本発明は計算機およびストレージ装置からなる業務システムに関し、特に複数のシステム間でデータを複製するデータ二重化制御方法、およびデータを複製したシステムへの高速な切り替えを実現する方法に関する。
【0002】
【従来の技術】
データベースサーバおよびストレージ装置からなる業務システムが複数ある場合のデータ複製方法として、データベースサーバ上で動作するDBMSが実行する方法がある。DBMSがデータ複製する方法については、例えば非特許文献1に記述がある。複数のシステムのデータベースサーバ同士を接続し、一方のシステム上で動作するDBMSの更新情報を別のシステムに転送することでデータ複製する技術である。
【0003】
また、同様なシステムのデータ複製方法として、ストレージ装置間のデータコピー機能を使用する方法がある。ストレージ装置間のデータコピー機能については、例えば非特許文献2に記述がある。複数システムのストレージ同士をファイバーチャネルで接続し、一方のストレージ装置のディスクドライブに更新があると、別のストレージ装置のディスクドライブにもデータの更新を反映する技術である。
【非特許文献1】
Oracle9i製品カタログ(http://www.oracle.co.jp/products/catalog/pdf/9iDBr2J07266−01.pdf)、第6頁。
【非特許文献2】
日立統合ストレージソリューション「Storeplaza」カタログ(hppt://www.hitachi.co.jp/Prod/comp/storeplaza/data/stpzclg.pdf)、第5頁。
【0004】
【発明が解決しようとする課題】
従来のデータ複製方法を実行する場合、通常のデータベース業務を行う以上のコストが必要である。また、複数システム間で同期したデータ複製を行うと業務処理の遅延が発生する。
【0005】
DBMSによるデータ複製を行うためには、DBMSの動作するデータベースサーバが業務処理を行う負荷に加えて、データ複製処理を行う負荷が加わるためにより高性能なデータベースサーバが必要でありコストが増加するという課題がある。また、複製したデータが一致するためには、DBMSの更新処理を実行するたびにデータベースサーバ間で同期通信を行う必要がある。同期通信中は、DBMSが次の更新処理を実行できないため、業務が遅延することが課題である。
【0006】
ストレージ装置でデータ複製を行うためには、DBMSが扱うデータの更新を全てコピーするため、ストレージ装置間の接続に広帯域の回線を使う必要がある。広帯域の回線を使用することでコストが増大する課題がある。また、複製したデータが一致するためには、ディスクドライブ上のデータが更新されるたびにストレージ装置間で同期通信を行う必要がある。同期通信中はディスクドライブへの次の更新処理が実行できないため、業務が遅延することが課題である。
【0007】
また、同期通信による遅延を防ぐため、DBMSやストレージ装置間の通信を非同期で実行する方法が存在するが、障害や災害でデータ複製先のシステムに切り替える場合に、未転送分のデータを複製先で再構築する必要が生じ、システムの切り替えが遅延することが課題である。
【0008】
【課題を解決するための手段】
サーバが外部から受け付けた要求に応じて業務を実行すると、ストレージ装置に保存されたデータへの更新や追加が必要となる。このストレージ装置のデータ複製を行うために全てのデータを複製するのではなく、複製先としてサーバとストレージ装置を用意し、複製元のサーバで実行された業務を復元可能なログをストレージ装置の特定のディスクドライブに保存し、このディスクドライブが更新されるたびに複製先のストレージ装置にディスクドライブのコピーを行う。複製先のストレージ装置へのディスクドライブのコピーが完了したら、コピーされたストレージ装置からログを保存したディスクドライブが更新されたことを複製先のサーバに通知する。複製先のサーバは、ストレージ装置からログを保存したディスクドライブの変更通知を受信できるようにしておき、通知を受けた後でログをディスクドライブから読み取り、複製元のサーバで行われたのと同じ業務処理を実行する。このログを基にした業務処理の実行後、その結果をストレージ装置に反映することでデータの複製が完了する。
【0009】
このデータ複製方法を実行しているシステムにおいて、複製元のサーバとストレージ装置が障害や保守操作により停止した場合、複製先のストレージ装置に保存された業務データが最新の状態にあるため、複製元のサーバが受信していた業務を複製先で受信するように変更することで、業務の処理を中止せずにサーバとストレージ装置の切り替えを実行する。
【0010】
サーバとストレージ装置の切り替え実行後に、複製元と複製先双方のサーバとストレージ装置とがデータ複製のために実行していた処理を交替することで、業務を受信し処理しているシステムが停止した場合、再びサーバとストレージ装置の切り替えを実行する。
【0011】
【発明の実施の形態】
以下で説明する実施形態では、例として計算機上で動作する業務としてデータベースサーバを取り上げるが、計算機上で実行される業務はデータベースに限定するものではない。計算機上で動作する業務は、複製するデータが、正システムで行った業務によって更新されるもので、かつ、そのデータの更新を副システムで再現できるログを生成するものであればよい。例えば、ファイルシステムなどでも実施可能である。
[第1実施形態]
図1は、本発明が適用されたデータベースサーバとストレージ装置を用いたデータ複製システムの一実施例である。
【0012】
正システムを構成するのは、データベースサーバ2とストレージ装置8である。これらはデータベースサーバ2に内蔵されたストレージ接続装置3とストレージ装置8のディスク制御装置5とがサーバ・ストレージ間接続インタフェース4によって接続される。ストレージ装置8はディスク制御装置5によって読み込み書き込みを行うデータを保存するディスクドライブ6,7を内蔵しており、データベースサーバ2が業務ネットワーク1を通じて業務要求を受け取って処理したデータや、その処理に必要なデータおよびデータベースサーバ2内部で実行された業務データを保持する。
【0013】
データベースサーバ2とストレージ装置8とは、サーバ・ストレージ間接続インタフェース4を通してデータの読み込み・書き込みを行うだけでなく、データベースサーバ2が要求したディスクドライブ6,7の変更があった場合、ストレージ装置8からデータベースサーバ2に通知を行う方法を有している。
【0014】
副システムを構成するのは、データベースサーバ12とストレージ装置18である。これらはデータベースサーバ12に内蔵されたストレージ接続装置13とストレージ装置18のディスク制御装置15とがサーバ・ストレージ間接続インタフェース14によって接続される。ストレージ装置18はディスク制御装置15によって読み込み書き込みを行うデータを保存するディスクドライブ16,17を内蔵しており、データベースサーバ12が業務ネットワーク1を通じて業務要求を受け取って処理したデータや、その処理に必要なデータおよびデータベースサーバ12内部で実行された業務データを保持する。
18とは、サーバ・ストレージ間接続インタフェース14を通してデータの読み込み・書き込みを行うだけでなく、データベースサーバ12が要求したディスクドライブ16,17の変更があった場合、ストレージ装置18からデータベースサーバ12に通知を行う方法を有している。
【0015】
ディスク制御装置5とディスク制御装置15とはストレージ装置間接続インタフェース20により接続される。これにより、正システムのストレージ装置8と副システムのストレージ装置18は互いに接続される。ストレージ装置8とストレージ装置18は、一方のディスクドライブの一つを複製元に、他方のディスクドライブの一つを複製先にあらかじめ設定しておくことで、ストレージ装置間接続インタフェース20を通して内容を複製する方法を有している。
【0016】
以下、本実施形態のデータ複製方法およびシステム切り替え方法の動作を説明する。本実施形態では業務を通常実行している正システムと、正システムが何らかの理由で稼働不可能になった時に業務を引き継ぐ副システムとの間でデータ複製を行うものとする。
【0017】
まず、データ複製方法を実現するための初期設定を正システム、副システム双方について行う。
【0018】
正システムの初期設定は、業務システムに応じたデータベースを構築することから始める。ストレージ装置8のディスク制御装置5で、データベースサーバ2が使用可能なディスクドライブ6,7を割り当てる。データベースサーバ2はデータベースのデータを保持するディスクドライブ6とデータベースのログを保持するディスクドライブ7とを設定する。ここで言うログとは、データベースの更新作業を逐一表すもので、ログを再実行することでデータベースの再構築が可能なものである。例えば、データベースが実行したトランザクションログやデータベースサーバが受け取った業務要求全てのSQLコマンドである。トランザクションは、データベースの処理を複数個まとめた処理単位で、その処理が全て成功するか失敗するかのいずれかになる。そのため、多数の業務要求を処理しなければならない業務システムは、トランザクション単位で処理を行うことでデータベースに不整合を発生させないために使用する。
【0019】
副システムにも正システムと同様のデータベースを構築する。ストレージ装置18において、ストレージ装置8でデータベースサーバ2が使用可能としたディスクドライブ6と同様なディスクドライブ16と、ディスクドライブ7と同様なディスクドライブ17をディスク制御装置15でデータベースサーバ12が使用可能となるように割り当てる。データベースサーバ12は、データベースサーバ2同様に、データベースのデータを保持するディスクドライブ16とデータベースのログを保持するディスクドライブ17とを設定する。
【0020】
次に、正システムのストレージ装置8と副システムのストレージ装置18との間で、ストレージ装置間接続インタフェース20を通じてデータベースのログを保持するディスクドライブ7をディスクドライブ17にコピーするように設定する。このディスクドライブコピーは、同期コピー、非同期コピーいずれとも可能である。例えば、同期コピーとは、データベースサーバ2からのディスクドライブ7への情報書き込み要求に対して、ディスクドライブ7への情報書き込みとディスクドライブ17への情報書き込みとの両方が終了してから、データベースサーバ2に書き込み完了報告を行うものを指す。一方、非同期コピーは同期コピーと異なり、ディスクドライブ7への情報書き込みが完了した時点でデータベースサーバ2に書き込み完了報告を行う。非同期コピーを行う場合、正システムと副システムのログディスクが常に一致するとは限らず、システム切り替え時にデータが欠損することがある。
【0021】
そして、副システムのデータベースサーバ12からストレージ装置18のディスク制御装置15に対して、ディスクドライブ17の更新が行われたらデータベースサーバ12に通知を行うように設定する。
【0022】
正システムに障害・災害などが発生した場合に、副システムに切り替えるため正システムの停止を迅速に検知する必要がある。そのため、正システムのデータベースサーバ2と副システムのデータベースサーバ12の間で正システムが稼働していることを通知するための通信設定を行う。例えば、正システムのデータベースサーバ2から副システムのデータベースサーバ12に業務ネットワーク1を経由して一定時間間隔で通知を行う方法がある。また、正システムの稼働状態を監視する外部のサーバから副システムへの切り替えを指示する方法や、副システムから一定時間間隔で正システムに稼働状態を問い合わせる方法もある。
【0023】
以上のような設定がデータベースサーバ2,12とストレージ装置8,18で完了した後、正システムのデータベースサーバ2で業務処理を開始する。以下では、データ複製の手順について説明する。
【0024】
データ複製第1ステップ101:業務処理要求は、業務ネットワーク1を通じてデータベースサーバ2に到着する。業務処理要求は業務ネットワーク上のプロトコルに応じて送付され、データベースサーバ2の管理するデータ内容を参照するものや更新するものからなる。例えば、TCP/IPプロトコルによって送付される、SQLコマンドの組み合わせからなる。
【0025】
業務処理要求を受信したデータベースサーバ2は、ネットワークプロトコル層の解析を行い、データベースへの業務処理内容を取り出し、業務処理内容の解析を行った後、業務処理を実行する。例えば、TCP/IPプロトコルの解析を行い、SQLコマンドを取り出し、その処理をデータベースで実行する処理がある。
【0026】
データ複製第2ステップ102:業務処理の内容が、データベースの更新処理を伴う場合にはストレージ装置内に保持しているデータを更新する必要がある。その場合には、ストレージ装置接続装置3からサーバ・ストレージ接続インタフェース4を通じて、ディスク制御装置5に対してディスクドライブ7への更新ログの書き込みをストレージ装置8に指示する。例えば、データベースサーバ2にホストバスアダプタを装着し、ファイバーチャネルケーブルを通じてSCSIコマンドをディスクコントローラに送信することに当たる。また、この更新ログの書き込みはデータ更新の度に常に実行するだけでなく、トランザクション単位で実行が完了したときに行う方法、データベースサーバ2で用意したログ用バッファの空きが無くなった場合や一定時間が経過した後などのようにデータベースサーバ2が指定する入出力の単位で条件に応じて実行する方法なども用いることができる。また、本実施形態では簡単のため1回の書き込み要求のように図示したが、通常は別のディスクドライブへの書き込み要求は複数の要求に分けて送信される。
【0027】
データ複製第3ステップ103:更新ログの書き込み要求を受けたディスク制御装置5は、ディスクドライブ7へと情報の書き込みを行う。
【0028】
データ複製第4ステップ104:ディスクドライブ7はその情報の書き込みが終了すると副システムのストレージ装置18内のディスクドライブ17にコピーするように設定されているため、ディスク制御装置5はストレージ装置間接続インタフェース20を通じて副システムのストレージ装置18にあるディスク制御装置15にディスクドライブ7の更新内容を送信し、ディスクドライブ17に書き込むよう指示し、ディスク制御装置15はディスクドライブ17へと書き込みを行う。この書き込みが完了したら、ディスク制御装置5からデータベースサーバ2に更新ログ書き込み完了報告を行う。例えば、ストレージ装置間接続インタフェース20としてファイバーチャネルケーブルを用い、ストレージ装置の管理ソフトウェアでディスクドライブ7,17のコピーを設定することで実現できる。また、本実施形態では、ディスクドライブ7の更新直後にディスクドライブ17へのコピーを行う同期コピー方法としているが、一定時間間隔でコピーを実行する非同期コピー方法を用いることも可能である。ただし、非同期コピー方法を用いた場合、ディスクドライブ17への書き込みが完了しなくてもストレージ装置8内のディスクドライブ7への書き込みが完了したらデータベースサーバ2に完了報告を行うため、システム切り替え時にディスクドライブのデータがコピーされていない事態も発生しうる。
【0029】
データ複製第5ステップ105:更新ログの書き込み完了報告を受けたデータベースサーバ2は、ディスク制御装置5にディスクドライブ6へ更新データの書き込みを指示し、ディスク制御装置5はディスクドライブ6への情報の書き込み処理を行う。
【0030】
データ複製第6ステップ106:ディスクドライブ17への更新を実行後、ディスク制御装置15はあらかじめデータベースサーバ12から更新を通知するように指定されているため、更新が発生したことをデータベースサーバ12に通知する。この更新通知要求と更新通知のインタフェースは、例えば、データベースサーバ12からストレージ装置18内の特殊なディスクドライブへの読み込み要求の応答としてディスク制御装置15が通知する方法や、データベースサーバ12から更新通知を要求するディスクドライブ17への専用コマンドに対する応答としてディスク制御装置15が通知する方法、また、ディスク制御装置15からディスクの更新を通知する専用の割り込みインタフェースをデータベースサーバ12内のストレージ接続装置13に設ける方法などがある。また、ディスク制御装置15からデータベースサーバ12への通知は、更新が発生する度に実行する方法に限定するわけではなく、一定時間間隔ごとに通知する方法や、データベースサーバ2から指示をストレージ装置8に発行したものをストレージ装置18に伝えてデータベースサーバ12への通知を実行させる方法などがある。
【0031】
データ複製第7ステップ107:ディスクドライブ17の更新通知を受けたデータベースサーバ12は、ディスクドライブ17の更新分の情報を読み込み、その更新ログにしたがって、ディスクドライブ16上のデータを更新するようにストレージ接続装置13からサーバ・ストレージ間接続インタフェース14を通じてディスク制御装置15に情報書き込み要求を通知する。例えば、データベースサーバ12にホストバスアダプタを装着し、ファイバーチャネルケーブルを通じてSCSIコマンドをディスクコントローラに送信する方法がある。
【0032】
正システムのデータベースサーバ2が業務処理要求を実行するたびに、このように正システムのデータを副システムに複製することで、正システムのデータベースサーバ12にデータ複製のための負荷をかけることなく、また業務ネットワーク1上にデータ複製のためのデータ送信を行うことなく、ストレージ装置8,18間でのデータ転送量を小さくして、データ複製のコストを抑え、業務の遅延を小さくすることができる。
【0033】
正システムが災害や機器の障害などにより停止した場合、副システムに業務処理を切り替える。正システムの保守作業を行うため必要がある場合でも、正システムを停止させ、副システムに業務処理を切り替えることがある。図2は正システム停止後に副システムが業務処理を引き継ぐ処理を行う手順を示した。装置構成は図1と同様であるため詳細は省略する。以下では、業務処理引き継ぎの手順を説明する。
【0034】
正システムが停止すると、システムを切り替えて副システムのデータベースサーバ12とストレージ装置18で業務処理を引き継ぐ。正システムの停止は、例えばデータベースサーバ2とデータベースサーバ12との間で一定時間間隔で通信を行うハートビート通信や、データベースサーバ2,12以外の監視サーバを業務ネットワーク1に接続してハートビート通信を行う方法で検出可能である。業務処理の引き継ぎは、データベースサーバ2で受け取っていた業務処理要求をデータベースサーバ12が受け取れるように設定を変更することで可能である。例えば、データベースサーバ2が業務要求受信に用いていたネットワークアドレスを引き継ぐ方法がある。
【0035】
システム切り替え第1ステップ201:まず、データベースサーバ12からディスクドライブ7からディスクドライブ17への情報の書き込みを停止するようにストレージ装置18に指示を出してから、データベースサーバ12がログの書き込まれたディスクドライブ17を参照し、未実行の業務がディスクドライブ17に存在するか確認する。ディスクドライブ7からディスクドライブ17への書き込みを停止する理由は、データベースサーバ2が正常に稼動しているか不明でありディスクドライブ7への書き込みが正常に行われるかも明らかでないため、業務を引き継ぐ副システムにそのような書き込みを反映させないためである。
【0036】
システム切り替え第2ステップ202:未実行の業務処理があればその業務を実行してディスクドライブ16のデータ更新を行うようストレージ接続装置13からサーバ・ストレージ間接続インタフェース14を通じてディスク制御装置15に情報の書き込み要求を通知する。ただし、正システムのデータベースサーバ2からディスクドライブ7へのログ書き込みが、トランザクション単位で行われなかった場合、ディスクドライブ17上のログがトランザクションの途中で途切れていることも起こりうる。そのような場合は、データベースサーバ12が途切れたトランザクションによるデータ更新を取り消すためのデータ更新が必要になる。
【0037】
システム切り替え第3ステップ203:ディスク制御装置15は、要求を受けた情報の書き込みをディスクドライブ16に行う。
【0038】
システム切り替え第4ステップ204:ディスクドライブ16の情報書き込みが完了したら、データベースサーバ12で業務要求を受け付けて業務処理を開始する。
【0039】
さらに、正システムが障害・災害から回復し再び動作するようになった場合や保守作業完了で正システムが動作可能になった場合、本実施形態で説明してきたデータ複製方法を、副システムから正システムに複製する方向に適用することで、正システムが停止中に副システムで実行した業務処理によるデータやログの更新を正システムに反映させることができる。
【0040】
例えば、ストレージ装置8,18の間でディスクドライブ17の更新部分をディスクドライブ7にコピーする設定を行い、データベースサーバ2でディスクドライブ7の更新ログにしたがってディスクドライブ6のデータを更新することで、副システムのデータ複製を実行可能である。このように、正システムと副システムが同時に停止することがなければ、交互に本発明のデータ複製方法を適用することで業務停止時間を小さくできる。
【0041】
また、本実施形態では正システムと副システムが一対一の形態を説明したが、正システムから複数の副システムへのデータ複製を行う方法や、正システムから副システムへ複製したデータをさらに別の副システムへデータ複製を行なう方法も容易に構築可能である。
【0042】
図3から図6に、本実施形態の主な構成要素であるデータベースサーバおよびストレージ装置の処理手順をフローチャートで示した。以下で各図のフローチャートについて説明する。
【0043】
図3に示した正システムデータベースサーバ処理手順のフローチャートについて説明する。
【0044】
まず、データベースサーバの初期設定を行なう(301)。例えば、初期設定には、データベースの構築やディスクドライブの割り当てなどがある。
【0045】
次に、データ複製システムを構築するまで、ストレージ装置と副システムの初期設定完了を待つ(302)。例えば、ストレージ装置間のディスクコピーの設定や副システムのデータベース構築の完了を待つことになる。
【0046】
データ複製システムの初期設定が一通り完了すると、業務処理要求受付を開始する(303)。例えば、インターネット経由で行う商取引の商品管理などが業務処理にあたる。
【0047】
業務処理要求の受付開始後が、業務処理要求が到着したか(304)判定する。
業務処理要求が到着していれば、業務処理を実行する(305)。業務処理要求が到着していなければ業務処理要求を待ち、業務処理要求の到着を判定を続ける。業務処理要求が到着し、業務処理がデータ更新を伴う場合、業務処理のログをストレージ装置に書き込む(306)。そして、ログの書き込み完了報告を受信する(307)。その後でデータの更新要求をストレージ装置に送る(308)。
【0048】
ストレージ装置に対して行なったデータの更新書き込み要求について、ストレージ装置からの書き込み完了報告を受信する(310)ことで業務処理要求が完了する。
【0049】
正システムは一度稼動すると、ここで説明したように、業務処理要求の実行とそれに伴うログの更新およびデータの更新を繰り返し行なう。
【0050】
図4に示した副システムデータベースサーバ処理手順のフローチャートについて説明する。
【0051】
正システム停止後に交替して業務処理を実行するのがデータ複製の目的であるため、副システムのデータベースサーバには正システムの設定にあわせた初期設定を行う(401)。例えば、コピーするログディスクやデータディスクの用意などがデータ複製のためには必要となる。
【0052】
次に、正システムからコピーされたログを参照するため、ストレージ装置のログディスク更新を検出する設定をする(402)。例えば、副システムのデータベースサーバから副システムのストレージ装置にログディスクの更新を通知するように指定する方法や、副システムのデータベースサーバから定期的にストレージ装置内のログディスクを読み込んで更新が行われたかを判定する方法などが考えられる。これらにより、ログの更新を検出できる。
【0053】
そして、ログが更新されるとその内容を副システムで実行してデータベースのデータも更新する、データ複製処理を開始する(403)。
【0054】
システム切り替えが必要かを判定するため、正システムが正常に稼働しているか(404)判定する。例えば、正システムから副システムに対して10秒間稼働状態の通知がない場合にシステムを切り替えるとか、正システムと副システムのデータベースサーバ以外の稼働状態監視サーバを業務ネットワークに接続して状態監視をさせることによって正システムが稼働していないと判断した場合は業務処理を副システムが引き継ぐというように方針決めておき、判定を実行することになる。なお、このように正システムの稼働状態を判定する方法は複数考えられ、ここに示した方法に限定されるものではない。
【0055】
もし正システムが正常に稼働していないと判定した場合には、システム切り替えの処理を行なう。まず、正システムの業務引継処理を実行する(410)ことで、業務ネットワークと接続可能としてから、ログディスクの更新分で未実行の業務処理を実行する(411)。そして実行の結果、データの更新をストレージ装置に送る(412)。ストレージ装置のデータ更新完了報告を受信する(413)ことで、正システムのデータ複製が完了したとみなす。そして、ログディスクの未実行業務処理のデータがすべてストレージ装置に反映されたら、業務処理要求受付を開始する(414)。
【0056】
もし稼動状態が正常であると判定した場合は、ストレージ装置からログディスクの更新を検出したか(405)判定する。ログディスクの更新を検出する方法は、ストレージ装置からデータベースサーバに割り込みを発生させる方法や、データベースサーバからストレージ装置へ発行する特殊なI/Oコマンドへの応答を返す方法、あるいはデータベースサーバが一定時間間隔でログディスクの内容を読み込み、その情報を解析する方法などがある。ログディスクの更新を検出したら、ログディスクの更新分を読み込む(406)。そして、そのログ更新分を適用してデータ更新を実行する(407)。さらに、データの更新実行によって発生するデータの更新をストレージ装置に送る(408)ことで、データが正システムの最新のものと一致するようにする。ストレージ装置のデータ更新完了報告を受信する(409)と再び状態通知の受信やストレージ装置の更新通知待ちの処理を繰り返してデータ複製をしながら、システム切り替えの準備をする。
【0057】
図5に示した正システムストレージ装置処理手順のフローチャートについて説明する。
【0058】
まず、ストレージ装置内のディスクドライブをデータベースサーバに割り当てるなどの、初期設定を行う(501)。
【0059】
そして、本実施形態のデータ複製方法を行なうため、正システムのログディスクを副システムのログディスクに対応付けしコピーの設定をする(502)。この設定を行なう前に、副システムのデータベースサーバとストレージ装置の初期設定を完了しておく必要がある。
【0060】
設定が完了したら、読み込み・書き込み処理を開始(503)し、データベースサーバからのデータ更新要求などを受け付ける状態になる。
【0061】
処理要求受信(504)を待つ状態から要求を受信すると、まず書き込み要求か(505)判定する。書き込み要求でなければ、読み込み要求された情報をデータベースサーバに転送(511)し、データベースサーバに情報読み込み完了報告を送信する(512)。実際はディスクドライブのコントロールなどの
要求も受信するが、ここでは読み込み要求と同じものとみなしている。書き込み要求を受信した場合には、要求された情報をディスクに書き込む(506)処理を行い、そのディスクがコピーを設定したディスクか(507)判定する。コピー設定されていなければ、データベースサーバにデータ書き込み完了報告を送信する(510)。コピーを設定したディスクであれば、副システムのストレージ装置に書き込み要求と情報を転送(508)し、副システムのストレージ装置から書き込み完了報告を待つ(509)。副システムから完了報告を受け取るとデータベースサーバに情報書き込み完了報告を送信する(510)。ここでは、正システムと副システムのストレージ装置間で同期コピーを行なう方法としている。
【0062】
このように、正システムのストレージ装置はデータベースサーバからの処理要求を待ち、ディスクの情報読み込み・書き込み処理と副システムへのディスクコピー処理を繰り返す。
【0063】
図6に示した副システムストレージ装置処理手順のフローチャートについて説明する。
【0064】
まず、ストレージ装置内のディスクドライブをデータベースサーバに割り当てや外部ストレージ装置からのディスクコピー設定などの、初期設定を行う(601)。
【0065】
そして、読み込み・書き込み処理開始(602)後、データベースサーバからの要求を受信可能な状態となる。さらに、データベースサーバから更新通知するディスクを指定される(603)ことでデータ複製の準備が整う。
【0066】
処理要求受信(604)を開始し、処理要求を受けるとその要求が書き込み要求か(605)判定する。書き込み要求でなければ、読み込み要求された情報を要求元に転送(610)し、要求元に情報転送完了報告を送信する(611)ことで処理要求の実行が完了する。一方、書き込み要求であった場合、まず、要求された情報をディスクに書き込む(606)。そして、要求元に情報書き込み完了報告を送信する(607)。通常の処理要求はこれで処理が完了するが、データ複製方法を実施するためにディスクへの書き込みが発生した場合は、そのディスクがデータベースサーバに更新通知を指定されたディスクか(608)判定し、指定されたディスクであれば、データベースサーバに更新を通知する(609)。指定されていなければ、通知せずに処理を完了する。
【0067】
このように、副システムのストレージ装置は正システムからのログディスク書き込みと副システムのデータベースサーバからの読み込み・書き込み要求を処理し、更新を通知するディスクであればその通知を送信する処理を繰り返して、データ複製処理を実現する。
【0068】
本実施形態のように正システムから副システムに切り替えるが、上記のようなデータ複製方法を用い、特にストレージ装置8,18間のディスクコピーが同期コピー方法で行うとデータ複製に必要なログを漏れなくコピーできるため、システム切り替えに伴う遅延を小さくすることができる。
[第2実施形態]
第1実施形態では、ディスクドライブの更新をデータベースサーバに通知するために通常のディスクドライブ読み込み書き込み以外のインタフェースを必要としたが、以下で説明する第2実施形態においてはディスクドライブの読み込み書き込みインタフェースのみでデータ複製を実現する。データ複製システムの構成は、図1に示す第1実施形態と同様に構成される。
【0069】
第1実施形態では、副システムにおいてディスクドライブ17の更新をデータベースサーバ12に通知するための設定をした。これに対し、本実施形態ではデータベースサーバ12からディスクドライブ17をポーリングで監視し、更新を検知する。
【0070】
更新の検知は以下のような手順で可能である。データベースサーバ12で、ディスクドライブ17にログが書き込まれる位置を保持し、その位置のデータを定期的に読み込んで更新されたかを判定する。更新されていれば、ログに従って業務処理をデータベースサーバ12で行う。処理が完了したら、ログが書き込まれる位置の更新を行い、再び定期的に読み込んで更新されたかの判定処理を繰り返す。
【0071】
データベースの更新ログは、通常一定の領域に順次上書きされないようにディスクに書き込む。そして、領域の終端まで書き込むと再び領域の先頭から順次書き込む。そのため、更新ログの書き込みが上書きされる前にデータベースサーバで内容を読み込むことができることと、更新ログを1つずつ区別することができるようになっていることが保証される場合、ポーリングで監視してデータのディスクドライブを更新することでデータの複製が可能である。
【0072】
このように、データベースサーバからディスクドライブの更新をポーリングによって監視する方法でデータ複製する場合、ポーリング間隔を十分小さくすることによって、システム切り替えによる遅延を小さくすることができる。また、第1実施形態と同様のシステム構成であり、データ複製にかかるコストを小さくできる。さらに、ストレージ装置8、18間のディスクコピーを同期コピー方法で行うとデータ複製に必要なログを漏れなくコピーできるため、システム切替に伴う遅延を小さくすることができる。
[第3実施形態]
第1実施形態、第2実施形態では、データベースサーバ2,12とストレージ装置8,18が直接接続された場合やストレージエリアネットワークで接続されたことを前提としていたが、本実施形態では、ストレージ装置としてネットワークアタッチトストレージ(NAS)装置を使用して実現する。本実施形態のデータ複製システムの構成は、図1に示す第1実施形態と同様の構成である。
【0073】
本実施形態では、ストレージ装置間のディスクコピー方法が第1実施形態、第2実施形態と異なる。NAS装置はファイルシステムでのアクセス要求を受信する。そのため、ディスク制御装置5,15間のストレージ間接続インタフェースもファイル単位でのアクセスを実行する。そのため、ディスク制御装置5内でディスクドライブ7の変更を検知するのではなく、データベースサーバ2が操作するログファイルの更新を検知する必要がある。更新の検知には、ディスク制御装置5でログファイルの更新を定期的に監視するデーモンを実行しておき、更新が起こったらストレージ間接続インタフェースを通じてファイルのコピーをディスクドライブ17に書き込む。また、副システムでログの更新を通知するインタフェースも、前述の第1実施例、第2実施例のものと異なる。ディスク制御装置15にはログファイル更新を検知するデーモンを備える。データベースサーバ12にはこのデーモンと通信を行うプロセスを生成しておき、つまり、ログファイルの更新があったら通知される機構を構築する。あるいは、第2実施形態で示したデータベースサーバ12からポーリングで監視する方法をログファイルに適用してもよい。
【0074】
また、ログデータのコピー方法としてディスク制御装置5と別のディスクドライブ単位で変更を検知可能なディスク制御装置をストレージ装置8,18に設け、その間でディスクの更新を行う方法も可能である。この場合、別途設けたディスク制御装置により、第1実施形態のようにディスクドライブ7からディスクドライブ17へのデータコピーを実行する。ログデータの更新をデータベースサーバ12に通知する方法は、上記のようなディスク制御装置15のデーモンとデータベースサーバ12のプロセスで通信を行う方法やデータベースサーバ12からポーリングで監視する方法によって可能である。
【0075】
また、NAS装置ではログファイルをコピーする際に、ファイルを全てストレージ装置8,18間で転送する必要がある。データ転送量を削減するため、ログをおくためのディレクトリを作成し、更新ログを1個ずつファイルとしてそのディレクトリに置いていくことで更新ログの転送量を削減可能である。データベースは更新ログを作成した日時をファイル名に使用して書き込む。これによりログの一意の識別か可能になる。また、一定以上の時間が経過したログを削除することで、ログの複製を保証することができ、ディスクドライブを使い尽くすことがなくなる。ログデータの更新のデータベースサーバ12への通知は、上記同様であるが、ディスク制御装置15で実行するログ更新を監視するデーモンは、ログディレクトリの下にあるファイルの監視を行い、新たなログファイルが作成された場合にデータベースサーバ12のプロセスに通知を行う。データベースサーバ12でファイル更新をポーリングで監視するデーモンを実行する場合も、同様にログディレクトリの下に新たなファイルが作成されたかを監視する。
【0076】
このようにシステムを構築することで、データ複製が実現される。システム構成は第1実施形態と同様であり、コストを削減することが可能である。また、システム切り替え時の遅延も小さくすることが可能である。
[第4実施形態]
図7は本発明が適用されたデータベースサーバとストレージ装置およびそれらの上で動作するソフトウェアを用いたデータ複製システムの実施例である。本実施例では、サーバ上で動作するアプリケーションプログラムをDBMSとしているが、データの更新をログとして出力するプログラムであれば本発明は適用可能である。例えばトランザクションモニタであってもよい。
【0077】
データ複製システムの構成は、図1に示す第1実施形態と同様に構成されるが、図7においてはデータベースサーバ2、12上のストレージ接続装置3、13は省略した。データベースサーバ2、12上では、それぞれOS72、75とDBMS71、74とが動作する。OS72、75はデータベース2、12のハードウェア制御や他のアプリケーションプログラムの動作環境として実行される。また、DBMS71、74はシステムの業務を実行するアプリケーションプログラムである。さらに、ストレージ装置8、18上のディスク制御装置5、15上ではデータベースサーバ2、12からの要求を受付けてディスクドライブ6、7、16、17の更新を行う制御ソフトウェア73、76が動作する。第1実施形態でストレージ接続装置3、13を通して行っていた処理は、DBMS71、74からはOS72、75の機能によって内部で処理されているものとする。
【0078】
本実施形態では第2実施形態と同様のシステム構成で、各装置とそれら装置の上で動作するソフトウェアによってデータ複製を実現する。つまり、ストレージ装置18からデータベースサーバ12へと、ディスクドライブ16、17の情報が変更されたことを通知するインタフェースは持たない。
【0079】
正システムを構成するデータベースサーバ2上で動作するOS72はストレージ装置8内のディスクドライブ6、7に情報を書き込んだり、あるいはその情報を読み込んだりする操作を実行できる。制御ソフトウェア73はサーバ・ストレージ間接続インタフェース4を通じて送られるOS72からの要求に応じて情報のディスクドライブ6、7への反映や情報のOS72への転送などの処理をする。そして、DBMS71は、OS72の上で動作し、システムの業務を行う。副システムはデータベースサーバ12とストレージ装置18、およびこれらの上で動作するOS75、DBMS74そして制御ソフトウェア76で正システムと同様の処理を行うことが可能な構成とする。
【0080】
制御ソフトウェア73、76の間では、ストレージ間接続インタフェース20を通じて互いの保持するディスクドライブの内容を転送し、指定されたディスクドライブに情報を反映することが出来る。例えば、ストレージ装置間のリモートコピーや同期リモートコピーを用いることで実現できる。
【0081】
まず、正システムと副システムの初期設定を行う。正システムでOS72が認識したストレージ装置8内のディスクドライブ6、7をDBMS71のデータディスクとログディスクに割当てる。副システムでは、正システムのディスク構成にあわせて、OS75が認識したストレージ装置18内のディスクドライブ16をデータディスクに、ディスクドライブ17をログディスクにDBMS74が割当てる。また、DBMS71とDBMS74との間で互いの稼動状態をチェックする。正システムが停止したときに、迅速に副システム業務を引き継ぐためである。
【0082】
ストレージ装置8、18の間の初期設定は、ディスクドライブ7の情報の変更を、ディスクドライブ17にコピーするようにする。これによって、DBMS71で実行した処理のログを副システムにコピーし、DBMS74から参照できるようにする。このコピーの方式は同期、非同期いずれとも可能であるが、非同期の場合、正システムが停止した時点までの全てのログを転送できる保証はない。一方、同期とした場合、正システムが停止するまでのログが完全に副システムで参照可能となり、高速で正確なデータ複製が可能である。
【0083】
ここまでの設定が終わったら、以下で説明する手順を実行することで正システムから副システムへのデータ複製が可能である。そこで、正システムで業務を開始する。DBMS71は業務ネットワーク1からの業務処理要求を受付けて処理する。このときの処理の内容を逐一再生可能なものがログにあたり、DBMS71からOS72の機能を経由して制御ソフトウェア73にディスクドライブ7に書き込みように要求する(702)。ただし、業務処理要求は業務ネットワークから受け取るだけではなく、データベースの構築や保守のためにデータベースサーバ2上で実行した処理についても業務処理要求に含まれる。そして、完全なデータ複製を行うためには、これら全ての業務処理要求についてログを作成しディスクドライブ7に書き込みを行う必要がある。
【0084】
DBMS71がディスクドライブ7にログの書き込みを要求する単位には、例えばトランザクションをコミットした単位とする方法がある。あるいは、DBMS71が持つログ用のバッファが一杯になった場合や一定時間経過した場合にDBMS71が持つログ用のバッファの内容をディスクドライブ7に書き込み要求する方法などがある。いずれの場合にも、DBMS71が実行した業務のログが副システムのDBMS74に欠損なく、またDBMS71、74それぞれが管理するデータの間で不整合が生じることなく複製するためには、DBMS71がディスクドライブ7に要求した単位でディスクドライブ7とディスクドライブ17間の情報が同期していることが必要である。以下では、ディスクドライブ7の情報とディスクドライブ17の情報とが同期しているものとする。しかし、必ずしも同期している必要は無く、非同期でディスクドライブ7からディスクドライブ17へのコピーを行ってもよい。但し、非同期コピーを行った場合、正システムと副システムのログが一致することは保証されず、正システムから副システムへ切り替える時にDBMS71とDBMS74が扱うデータに不整合があり得るため、正システムと副システム間でデータ内容を確認したり修正したりする作業が必要になることがある。
【0085】
要求を受けた制御ソフトウェア73は、要求をログ用のディスクドライブ7に書き込む(703)。このディスクドライブ7は初期設定でストレージ装置18のディスクドライブ17にコピーすると指定しているため、制御ソフトウェア73はストレージ装置間接続インタフェース20を通して制御ソフトウェア76に変更分の書き込み要求を転送し、これを受けた制御ソフトウェア76がディスクドライブ17に要求された情報を書き込む(704)。ここで、ディスクドライブ7とディスクドライブ17の間で同期コピーを行うためには、ディスクドライブ17への情報書き込みが完了してからデータベースサーバ2に完了報告を行い、その報告を受けた後でDBMS71が業務処理の続きを行うようにすることが必要である。こうすると、DBMS71の実行した業務のログと副システムに複製しているログとが一致する。一方、ディスクドライブ7への書き込みが完了した時点でデータベースサーバ2に書き込み完了報告を行い、ディスクドライブ17へのコピーをDBMS71からの要求と無関係の任意の時点で行うと、非同期コピーとなり副システムで参照するログが正システムのものと一致しないことが起こりうる。
【0086】
さらに、DBMS71は業務処理によって生じるデータの変更をOS72の機能を通じて制御ソフトウェア73に送る(704)。そして制御ソフトウェア73は要求された情報書き込み処理や読み込み処理をディスクドライブ6に対して行う(705)。ただし、DBMS71からのディスクドライブ7へのログ書き込み要求とディスクドライブ6へのデータ書き込み要求は順序が決められているわけではない。データ書き込みはOS72上のデータバッファに蓄積して定期的に要求する方法や一定時間以上業務処理で使用しなかったら書き込む方法などがある。正システムの実行した業務を追うためには、実行した処理のログは副システムに必ず転送しなければならないが、データについては正システムが業務に使用する範囲で整合性が保たれていればよい。
【0087】
一方、副システムのDBMS74はOS75の機能を使用して制御ソフトウェア76に要求を出し(706)、ディスクドライブ17の情報が変更されていないか情報を読み込む(707)。この結果、ディスクドライブ17上のログ内容に変更があったら、そのログの業務を実行し、副システムのディスクドライブ16のデータを更新するため、制御ソフトウェア76に情報更新要求を発行する(708)。この要求を受けた制御ソフトウェア76はディスクドライブ16に情報変更の内容を反映する(709)。これらの処理を一定時間ごとに行い、ログの処理を実行してデータを更新して正システムのデータを副システムに複製する。あるいは、実施例1のように、サーバ12からストレージ制御装置15あるいは制御ソフトウェア76に指示しておき、ディスクドライブ17の情報が更新されたらそれをサーバ12に通知するインタフェースによりログの変更を認識する方法でも可能である。
【0088】
DBMS74がディスクドライブ17からログの変更を読み込んでディスクドライブ16にあるデータに適用し、データを複製する方法は複数ある。例えば、DBMS71からディスクドライブ7への書き込みをトランザクションのコミットした単位で行っていれば、DBMS74はディスクドライブ17で新たに書き込まれたログをそのまま実行すればよい。また、DBMS71からディスクドライブ7への書き込みがトランザクションのコミットと無関係に実行されている場合は、書き込まれたログをそのまま実行する方法と、DBMS74でトランザクションの管理テーブル上に確保しておき、そこに読み込んだログを保持しながらトランザクションのコミットを受け取ってから管理テーブルにあるログをデータに反映する方法などがある。
【0089】
もしも、DBMS71とDBMS74との間で行っている稼動状態監視で、DBMS74がDBMS71の停止を検出した時には、DBMS71が行っていた業務を引き継ぐように設定を変更する(710)。ただし、DBMS74が業務処理を引き継ぐ前に、それまでにDBMS71で実行された正システムの業務データと副システムのデータとの間で整合性を保証するための処理、つまりリカバリを行う必要がある。ディスクドライブ7とディスクドライブ17の間のログ同期がトランザクションのコミット単位で行われていれば、ディスクドライブ17に副システムで未実行のログがあるかを確認し、あればそのログの処理を実行して制御ソフトウェア76に情報更新要求を発行する。(708)そして、制御ソフトウェア76は要求にディスクドライブ16上の情報を更新する(709)。ディスクドライブ17の未実行のログ全てについてディスクドライブ16上のデータ更新を実行したらリカバリが完了し、業務ネットワーク1からの業務処理要求をサーバ12で受けてDBMS74が業務処理を開始する。
【0090】
上記の、システム間で業務処理を引き継ぐ前に業務データの整合性を保証するために実行する処理、つまり、リカバリはディスクドライブ17へのログ書き込みがコミット単位であることが保証される場合と、保証されない場合とで異なる。ここで、コミット単位での書き込みが保証されない場合とは、例えば、チェックポイント処理によりコミット前の情報を書き込む場合や、DBMS71の持つバッファがあふれてコミット前の情報が書き出される場合などがある。以下、コミット単位での書き込みが保証される場合とされない場合、それぞれについてリカバリの方法を説明する。
【0091】
まず、コミット単位でのログ書き込みが保証される場合のリカバリ処理について説明する。コミット単位での書き込みが保証される場合は、ディスクドライブ17に書き込まれたログを全てデータに反映すればよい。したがって、ディスクドライブ17で未実行であるログを認識し、該ログをロールフォワードすることによりリカバリが実現する。同期コピーを用いた場合は、正システムでコミットした情報は副システムに全てコピーされたことが保証され、かつ、該リカバリ処理によりコピーされたログを漏れなく適用できるため、本システムにおいては、トランザクション欠損が無いことが保証される。
【0092】
コミット単位での書き込みが保証されない場合は、ディスクドライブ7にはコミット済みのトランザクションログとコミット未済みのトランザクションログとが含まれる。ここで、整合性を保証すべきなのは、コミット済みトランザクションだけである。なぜなら、コミット未済みの処理による変更は、正システムのデータに反映されていないからである。そのため、リカバリはコミット済みのトランザクションについてのみ実行し、未済みのトランザクションは実行しない。このようなリカバリ方法として、以下の3つの方法が考えられる。
【0093】
例えば、ディスクドライブ7に書かれたログを全てロールフォワードした後、未コミット分を検出し、検出した未済みのトランザクションのみをロールバックする方法が考えられる。例えば、ログを終端から先頭に向かってスキャンし未コミットのトランザクションを検出する方法がある。あるいは、あらかじめトランザクションの状態を管理するテーブル(以降、トランザクション管理テーブルとする)をDBMS74が用意し、正システムのDBMS71の停止を検出する前からディスクドライブ17へのログ書き込みが行われてロールフォワードをするたびにその状態を変更しておく方法がある。後者の場合、リカバリするときにトランザクション管理テーブルに登録されている未コミットのトランザクションをロールバックすればよい。
【0094】
また、正システムのDBMS71が停止したことを検出した時点以降にログの変更を検出した場合については、ロールフォワードを行う前に、トランザクションの状態を調査してからロールフォワードを行う方法も考えられる。コミット済みのトランザクションのロールフォワードが終了したらDBMS71が停止したことを検出した時点より以前について、コミット未済みのトランザクションを調査して、コミット未済みのトランザクションが存在したらロールバックを行う。コミット未済みのトランザクションの調査はDBMS71が停止したことを検出した時点からログの終端までスキャンしたり、管理テーブルの情報を用いるなどして行えばよい。
【0095】
また、コミットが確定したトランザクションのみロールフォワードする方法も考えられる。例えば、上記管理テーブルにおいてコミット済み状態になった時点で、該トランザクションのロールフォワードをする方法が考えられる。
【0096】
以上、コミット単位でのログ書き込みが保証されない場合の3つのリカバリ方法を同期コピーとともに用いると、正システムでディスクドライブに書き込まれた情報は副システムにコピーされたことが保証され、かつ、該リカバリ方法により、コミット済みのトランザクションはもれなくロールフォワードされるため、本システムにおいてはトランザクション欠損がないことが保証される。
【0097】
このように、正システムで実行した業務のログを副システムにコピーして、そのログから業務データを復元する処理を行うことで、正システムのデータベースサーバの処理負荷を上げることなく、また正システムと副システムの間で情報を転送するための通信帯域を抑制して低コストのデータ複製が可能となる。また、正システムから副システムへログを同期コピーで転送すると、業務処理の欠損を起こすことなくデータ複製を完了し、正システムの障害発生時や保守により正システムを停止しなければならない時、迅速に副システムに業務の実行を切り替えることが可能である。
【0098】
【発明の効果】
本発明によれば、データベースサーバとストレージ装置からなる複数のシステム間で、低コストかつ通常業務の遅延が小さいデータ複製を実現する。また、システム切り替え時の遅延を小さくすることができる。
【図面の簡単な説明】
【図1】正システムと副システムとからなるデータ複製システムおよび正・副システム間のデータ複製方法の概念図である。
【図2】正システムと副システムとからなるデータ複製システムおよび正・副システム間のシステム切り替え方法の概念図である。
【図3】正システムのデータベースサーバが行う処理手順のフローチャートである。
【図4】副システムのデータベースサーバが行う処理手順のフローチャートである。
【図5】正システムのストレージ装置が行う処理手順のフローチャートである。
【図6】副システムのストレージ装置が行う処理手順のフローチャートである。
【図7】正システムと副システムとからなるデータ複製システムおよび正・副システム間のシステム切り替え方法の概念図である。
【符号の説明】
1:業務ネットワーク、2:正システムのデータベースサーバ、3:ストレージ接続装置、4:サーバ・ストレージ間接続インタフェース、5:ディスク制御装置、6:データディスクドライブ、7:ログディスクドライブ、8:正システムのストレージ装置、12:副システムのデータベースサーバ、13:ストレージ接続装置、14:サーバ・ストレージ間接続インタフェース、15:ディスク制御装置、16:データディスクドライブ、17:ログディスクドライブ、18:副システムのストレージ装置、20:ストレージ装置間接続インタフェース。
Claims (23)
- データを保持する記憶媒体を有する複数の記憶装置と、該記憶装置を制御する制御装置とを有し、前記制御装置に接続された外部装置に前記記憶装置の内の特定の記憶装置のデータが変更されたことを通知する手段を持つことを特徴とするストレージシステム。
- 前記複数の記憶装置の内のデータが変更されたことを前記外部装置に通知すべき記憶装置を外部から選択するインタフェースをさらに有する請求項1記載のストレージシステム。
- データを保持する記憶媒体を有する複数の記憶装置と、該記憶装置を制御する制御装置とを有し、前記制御装置に接続された外部装置に前記制御装置の内の特定の記憶装置の状態が変化したことを通知する手段を持つことを特徴とするストレージシステム。
- 前記複数の記憶装置の内の状態が変化したことを前記外部装置に通知すべき制御装置を外部から選択するインタフェースをさらに有することを特徴とする請求項3記載のストレージシステム。
- ストレージシステムと接続して該ストレージシステムと制御信号およびデータを送受信する接続装置を有し、かつ、該接続装置を介して接続された前記ストレージシステム内の特定の記憶装置のデータが変更されたこと示す通知を受信するインタフェースを持つことを特徴とする計算機システム。
- 前記ストレージシステムに対し、データが変更されたことを示す通知を受信すべき記憶装置を選択して指示するインタフェースを持つことを特徴とする請求項5記載の計算機システム。
- ストレージシステムと接続して該ストレージシステムと制御信号およびデータを送受信する接続装置を有し、かつ、該接続装置を介して接続された前記ストレージシステムから該ストレージシステム内の制御装置の状態が変化したことを受信するインタフェースを持つことを特徴とする計算機システム。
- 第1の計算機システムと、該第1の計算機システムに接続される第1のストレージシステムとを有する正システムと、第2の計算機システムと、該第2の計算機システムに接続された第2のストレージシステムとを有する副システムとを備え、かつ少なくとも前記第1、第2のストレージシステムの間が相互接続されているシステムにおけるデータ二重化制御方法であって、
前記第1の計算機システムの処理によって前記第1のストレージシステムが保持するデータの更新を再現可能なログを該第1のストレージシステム内の特定記憶装置に登録するステップと、
前記ログの複製のために設定された第2のストレージシステム内の特定記憶装置に前記第1のストレージシステムの特定記憶装置に登録されたログをコピーするステップと、
前期第1計算機システムの処理によって前期第1のストレージシステムが保持するデータを更新するステップと
前記コピーステップにより前記第2のストレージシステム内の特定記憶装置の保持内容に変更が生じたことを前記第2の計算機システムに通知するステップと、
前記第2の計算機システムが前記第2のストレージシステム内の特定記憶装置の保持内容の変更を読み込むステップと、
前記第2の計算機システムが読み込んだログにしたがって前記第2のストレージに保持する前記データの複製を更新するステップ、
を有することを特徴とするデータ二重化制御方法。 - 前記第1の計算機システムの処理による前記第1のストレージシステムが保持するデータの更新を再現可能なログは、1つまたは複数のトランザクションからなり該トランザクションの開始と終了を区分する情報を含むことを特徴とする請求項8のデータ二重化制御方法。
- 前記第1の計算機システムの処理による前記第1のストレージシステムが保持するデータの更新を再現可能なログを該第1のストレージシステム内の特定記憶装置に登録するステップは、第1の計算機システムが指定したログ入出力単位で行うことを特徴とする請求項8のデータ二重化制御方法。
- 前記第1の計算機システムの処理による前記第1のストレージシステムが保持するデータの更新を可能なログを該第1ストレージシステム内の特定記憶装置に登録するステップと
前記ログの複製のために設定された第2のストレージシステム内の特定記憶装置に前記第1のストレージシステムの特定記憶装置に登録されたログをコピーするステップとを同期で行うことを特徴とする請求項8のデータ二重化方法。 - 前記第2のストレージシステム内の特定記憶装置の保持内容に変更が生じたことの前記第2の計算機システムへの通知は、一定時間毎に行うことを特徴とする請求項8のデータ二重化制御方法。
- 前記第2のストレージシステム内の特定記憶装置の保持内容に変更が生じたことの前記第2の計算機システムへの通知は、前記第1のストレージシステムから前記第2のストレージシステムを制御するインタフェースを介して前記第2のストレージシステムを制御することにより行うことを特徴とする請求項8記載のデータ二重化制御方法。
- 前記第2のストレージシステムの制御は前記第1の計算機システムからの指示により行うことを特徴とする請求項13記載のデータ二重化制御方法。
- 請求項8記載のデータ二重化制御方法において、前記第1の計算機システムが停止したことを検知するステップと、前記第2の計算機システムが前記第1の計算機システムから業務を引き継ぐステップを更に有することを特徴とするデータ二重化制御方法。
- 請求項8記載のデータ二重化制御方法において、前記第1の計算機システムが停止したことを検知するステップと、前記第2の計算機システムが前記第1の計算機システムから業務を引き継ぐステップと、前記第2の計算機システムが前記第2のストレージシステム内の特定記憶装置のログを読み込み該ログにしたがってデータを更新するステップをさらに有することを特徴とするデータ二重化制御方法。
- 請求項15記載のデータ二重化制御方法において、前記第2計算機システムが業務を引き継いだ後、前記第1の計算機システムを修復するステップと、前記正システムと副システムの相互関係を入れ替えて前記第2のストレージシステムの保持するデータベースの複製を前記第1のストレージシステムに形成するステップを更に有することを特徴とするデータ二重化制御方法。
- 第1の計算機システムと、該第1の計算機システムに接続される第1のストレージシステムとを有する正システムと、第2の計算機システムと、該第2の計算機システムに接続された第2のストレージシステムとを有する副システムとを備え、かつ少なくとも前記第1、第2のストレージシステムの間が相互接続されているシステムにおけるデータ二重化制御方法であって、
前記第1の計算機システムの処理によって前記第1のストレージシステムが保持するデータの更新を再現可能なログを該第1のストレージシステム内の特定記憶装置に登録するステップと、
前記ログの複製のために設定された第2のストレージシステム内の特定記憶装置に前記第1のストレージシステムの特定記憶装置に登録されたログをコピーするステップと、
前記第1計算機システムの処理によって前記第1のストレージシステムが保持するデータを更新するステップと
前記コピーステップにより前記第2のストレージシステム内の特定記憶装置の保持内容に変更が生じたことを前記第2の計算機システムが検知するステップと、
前記第2の計算機システムが前記第2のストレージシステム内の特定記憶装置の保持内容の変更を読み込むステップと、
前記第2の計算機システムがログを読み込み該ログにしたがって前記第2のストレージに保持する前記データの複製を更新するステップ、
を有することを特徴とするデータ二重化制御方法。 - 前記第1の計算機システムの処理によって前記第1のストレージシステムが保持するデータの更新を再現可能なログは、1つまたは複数のトランザクションからなり該トランザクションの開始と終了を区分する情報を含むことを特徴とする請求項18のデータ二重化制御方法。
- 前記第1の計算機システムの処理による前記第1のストレージシステムが保持するデータの更新を再現可能なログを該第1のストレージシステム内の特定記憶装置に登録するステップは、第1の計算機システムが指定したログ入出力単位で行うことを特徴とする請求項18のデータ二重化制御方法。
- 前記第1の計算機システムの処理によって前記第1のストレージシステムが保持するデータの更新を可能なログを該第1ストレージシステム内の特定記憶装置に登録するステップと
前記ログの複製のために設定された第2のストレージシステム内の特定記憶装置に前記第1のストレージシステムの特定記憶装置のログの変更をコピーするステップとを同期で行うことを特徴とする請求項18のデータ二重化方法。 - 請求項18記載のデータ二重化制御方法において、前記第1の計算機システムが停止したことを検知するステップと、前記第2の計算機システムが前記第1の計算機システムから業務を引き継ぐステップを更に有することを特徴とするデータ二重化制御方法。
- 請求項18記載のデータ二重化制御方法において、前記第1の計算機システムが停止したことを検知するステップと、前記第2の計算機システムが前記第1の計算機システムから業務を引き継ぐステップと、前記第2の計算機システムが前記第2のストレージシステム内の特定記憶装置のログを読み込み該ログにしたがってデータを更新するステップをさらに有することを特徴とするデータ二重化制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003207782A JP4289056B2 (ja) | 2003-03-27 | 2003-08-19 | 計算機システム間のデータ二重化制御方法 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003086920 | 2003-03-27 | ||
JP2003207782A JP4289056B2 (ja) | 2003-03-27 | 2003-08-19 | 計算機システム間のデータ二重化制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004348701A true JP2004348701A (ja) | 2004-12-09 |
JP4289056B2 JP4289056B2 (ja) | 2009-07-01 |
Family
ID=33543023
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003207782A Expired - Fee Related JP4289056B2 (ja) | 2003-03-27 | 2003-08-19 | 計算機システム間のデータ二重化制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4289056B2 (ja) |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006301891A (ja) * | 2005-04-20 | 2006-11-02 | Hitachi Ltd | ディザスタリカバリ方法、ディザスタリカバリシステム、リモートコピー方法、およびストレージシステム |
JP2006338064A (ja) * | 2005-05-31 | 2006-12-14 | Hitachi Ltd | ディザスタリカバリ方法およびシステム |
WO2007063944A1 (ja) * | 2005-11-30 | 2007-06-07 | International Business Machines Corporation | 無停止トランザクション処理システム |
JP2007249721A (ja) * | 2006-03-17 | 2007-09-27 | Hitachi Ltd | 情報処理システムのデータ入出力方法及び情報処理システム |
JP2007293821A (ja) * | 2006-03-30 | 2007-11-08 | Fujitsu Ltd | データベースシステム管理方法及びデータベースシステム |
US7650369B2 (en) | 2006-03-30 | 2010-01-19 | Fujitsu Limited | Database system management method and database system |
JP2011165195A (ja) * | 2011-02-21 | 2011-08-25 | Hitachi Ltd | データベース管理方法、およびストレージシステム |
US8174966B2 (en) | 2007-04-25 | 2012-05-08 | Fujitsu Limited | Switching program, switching method and duplex system |
JP2012226456A (ja) * | 2011-04-18 | 2012-11-15 | Mitsubishi Electric Corp | データベースシステム |
WO2015104835A1 (ja) * | 2014-01-10 | 2015-07-16 | 株式会社日立製作所 | データベースシステムの制御方法及びデータベースシステム |
JP2016515271A (ja) * | 2013-03-15 | 2016-05-26 | アマゾン・テクノロジーズ・インコーポレーテッド | 分散型データベースシステム用高速クラッシュ回復 |
JP2017524190A (ja) * | 2014-08-08 | 2017-08-24 | アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited | データベース障害時のデータ記憶 |
WO2019074154A1 (ko) * | 2017-10-11 | 2019-04-18 | (주) 데이타뱅크시스템즈 | 통합 복제 시스템 |
WO2019074156A1 (ko) * | 2017-10-11 | 2019-04-18 | (주) 데이타뱅크시스템즈 | 복제 방식의 변경을 고려한 통합 복제 시스템 |
WO2019074155A1 (ko) * | 2017-10-11 | 2019-04-18 | (주) 데이타뱅크시스템즈 | 데이터베이스 간의 실시간 통합 복제 시스템 |
JP2020047215A (ja) * | 2018-09-21 | 2020-03-26 | 株式会社日立製作所 | ストレージシステム及びストレージ制御方法 |
JP2022020744A (ja) * | 2018-09-21 | 2022-02-01 | 株式会社日立製作所 | ストレージシステム及びストレージ制御方法 |
-
2003
- 2003-08-19 JP JP2003207782A patent/JP4289056B2/ja not_active Expired - Fee Related
Cited By (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006301891A (ja) * | 2005-04-20 | 2006-11-02 | Hitachi Ltd | ディザスタリカバリ方法、ディザスタリカバリシステム、リモートコピー方法、およびストレージシステム |
JP4731975B2 (ja) * | 2005-04-20 | 2011-07-27 | 株式会社日立製作所 | データベース管理方法、およびストレージシステム |
JP4699091B2 (ja) * | 2005-05-31 | 2011-06-08 | 株式会社日立製作所 | ディザスタリカバリ方法およびシステム |
JP2006338064A (ja) * | 2005-05-31 | 2006-12-14 | Hitachi Ltd | ディザスタリカバリ方法およびシステム |
JP4871296B2 (ja) * | 2005-11-30 | 2012-02-08 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 無停止トランザクション処理システム |
US8935224B2 (en) | 2005-11-30 | 2015-01-13 | International Business Machines Corporation | Failure tolerant transaction processing system |
US8166007B2 (en) | 2005-11-30 | 2012-04-24 | International Business Machines Corporation | Failure tolerant transaction processing system |
WO2007063944A1 (ja) * | 2005-11-30 | 2007-06-07 | International Business Machines Corporation | 無停止トランザクション処理システム |
TWI416901B (zh) * | 2005-11-30 | 2013-11-21 | Ibm | 故障容忍之異動處理系統 |
JP2007249721A (ja) * | 2006-03-17 | 2007-09-27 | Hitachi Ltd | 情報処理システムのデータ入出力方法及び情報処理システム |
US7650369B2 (en) | 2006-03-30 | 2010-01-19 | Fujitsu Limited | Database system management method and database system |
JP2007293821A (ja) * | 2006-03-30 | 2007-11-08 | Fujitsu Ltd | データベースシステム管理方法及びデータベースシステム |
US8174966B2 (en) | 2007-04-25 | 2012-05-08 | Fujitsu Limited | Switching program, switching method and duplex system |
JP2011165195A (ja) * | 2011-02-21 | 2011-08-25 | Hitachi Ltd | データベース管理方法、およびストレージシステム |
JP2012226456A (ja) * | 2011-04-18 | 2012-11-15 | Mitsubishi Electric Corp | データベースシステム |
JP2016515271A (ja) * | 2013-03-15 | 2016-05-26 | アマゾン・テクノロジーズ・インコーポレーテッド | 分散型データベースシステム用高速クラッシュ回復 |
JP2018077895A (ja) * | 2013-03-15 | 2018-05-17 | アマゾン・テクノロジーズ・インコーポレーテッド | 分散型データベースシステム用高速クラッシュ回復 |
US11030055B2 (en) | 2013-03-15 | 2021-06-08 | Amazon Technologies, Inc. | Fast crash recovery for distributed database systems |
WO2015104835A1 (ja) * | 2014-01-10 | 2015-07-16 | 株式会社日立製作所 | データベースシステムの制御方法及びデータベースシステム |
US10078558B2 (en) | 2014-01-10 | 2018-09-18 | Hitachi, Ltd. | Database system control method and database system |
JP2017524190A (ja) * | 2014-08-08 | 2017-08-24 | アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited | データベース障害時のデータ記憶 |
WO2019074154A1 (ko) * | 2017-10-11 | 2019-04-18 | (주) 데이타뱅크시스템즈 | 통합 복제 시스템 |
WO2019074156A1 (ko) * | 2017-10-11 | 2019-04-18 | (주) 데이타뱅크시스템즈 | 복제 방식의 변경을 고려한 통합 복제 시스템 |
WO2019074155A1 (ko) * | 2017-10-11 | 2019-04-18 | (주) 데이타뱅크시스템즈 | 데이터베이스 간의 실시간 통합 복제 시스템 |
JP2020047215A (ja) * | 2018-09-21 | 2020-03-26 | 株式会社日立製作所 | ストレージシステム及びストレージ制御方法 |
JP2022020744A (ja) * | 2018-09-21 | 2022-02-01 | 株式会社日立製作所 | ストレージシステム及びストレージ制御方法 |
JP7179947B2 (ja) | 2018-09-21 | 2022-11-29 | 株式会社日立製作所 | ストレージシステム及びストレージ制御方法 |
Also Published As
Publication number | Publication date |
---|---|
JP4289056B2 (ja) | 2009-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7383264B2 (en) | Data control method for duplicating data between computer systems | |
US7043665B2 (en) | Method, system, and program for handling a failover to a remote storage location | |
US8027952B2 (en) | System and article of manufacture for mirroring data at storage locations | |
EP1455275B1 (en) | Data restoring apparatus using journal data and identification information | |
JP4833734B2 (ja) | データベースシステム、ストレージ装置、初期コピー方法及びログ適用方法 | |
JP4581500B2 (ja) | ディザスタリカバリシステム、プログラム及びデータベースのリカバリ方法 | |
JP4289056B2 (ja) | 計算機システム間のデータ二重化制御方法 | |
US7668874B2 (en) | Disaster recovery processing method and apparatus and storage unit for the same | |
JP4551096B2 (ja) | ストレージサブシステム | |
JP4477950B2 (ja) | リモートコピーシステム及び記憶装置システム | |
US7627775B2 (en) | Managing failures in mirrored systems | |
US8285824B2 (en) | Storage system and data replication method that refuses one or more requests for changing the first logical configuration information until the first storage apparatus and second storage apparatus are synchronized | |
US20060236050A1 (en) | Computer system, computer, and remote copy processing method | |
US7822892B2 (en) | Managing the copying of writes from primary storages to secondary storages across different networks | |
KR20110086690A (ko) | 저장 장치에 데이터 쓰기를 실행하는 방법 및 시스템 | |
JP2005309793A (ja) | データ処理システム | |
US7904682B2 (en) | Copying writes from primary storages to secondary storages across different networks | |
KR20020036502A (ko) | 이중화 구조를 가지는 데이터베이스 관리시스템 및 그의이중화 처리방법 | |
JP2004272318A (ja) | 系切り替えシステムおよびその処理方法並びにその処理プログラム | |
JPH11120017A (ja) | 自動採番システム、二重系システム、クラスタシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060320 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20060421 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081216 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090216 |
|
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: 20090310 |
|
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: 20090323 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 4289056 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120410 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120410 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130410 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130410 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140410 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |