JP4490745B2 - ホットスタンバイシステム - Google Patents

ホットスタンバイシステム Download PDF

Info

Publication number
JP4490745B2
JP4490745B2 JP2004190818A JP2004190818A JP4490745B2 JP 4490745 B2 JP4490745 B2 JP 4490745B2 JP 2004190818 A JP2004190818 A JP 2004190818A JP 2004190818 A JP2004190818 A JP 2004190818A JP 4490745 B2 JP4490745 B2 JP 4490745B2
Authority
JP
Japan
Prior art keywords
program
logical volume
write
processing
request
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.)
Expired - Fee Related
Application number
JP2004190818A
Other languages
English (en)
Other versions
JP2006012004A (ja
Inventor
正也 市川
讓 真矢
英智 三瓶
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 JP2004190818A priority Critical patent/JP4490745B2/ja
Priority to US10/958,735 priority patent/US7418624B2/en
Publication of JP2006012004A publication Critical patent/JP2006012004A/ja
Application granted granted Critical
Publication of JP4490745B2 publication Critical patent/JP4490745B2/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/2046Error 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 where the redundant components share persistent storage
    • 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/2033Failover techniques switching over of hardware resources
    • 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/2038Error 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 with a single idle spare processing component
    • 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/203Failover techniques using migration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/82Solving problems relating to consistency

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、ホットスタンバイシステムに係り、特に現用系及び待機系からアクセス可能な共有ディスクを有するホットスタンバイシステムにおける共有ディスクの整合性の検査、及び系の切替え制御に関するものである。
近年、オンライントランザクション処理の分野では、可用性向上のために、現用系及び待機系からアクセス可能な共有ディスクを有するホットスタンバイ構成のシステムが適用されている。
この種のホットスタンバイシステムに関して、例えば、特許文献1(特開平10−289122号公報)には、現用系と待機系にそれぞれ1台のディスクを接続し、通常運用時は現用系でデータ更新が発生した場合、ネットワークを通じて待機系に更新データを送信し、待機系側のディスクに対しても同様のデータ更新を行う旨が開示されている。そして、現用系で障害が発生した際は、待機系が新しく現用系として業務を引き継ぎ、従前の現用系が以後待機系として機能し、障害から復旧した後、引継ぎ後の更新データを新らたな現用系から新たな待機系へ送り、共有ディスクの同期を行っている。この従来技術によれば、待機系に切替えた時点で、両ディスク内のデータの同期を改めて取らずに業務の引継ぎ処理を行えるため、業務再開までの時間を短縮できる。
特開平10−289122号公報
ソフトウェアによるミラーリング制御は、ミラー間の同期化処理もソフトウェアで行うため、障害発生により同期化処理が完了せずミラー間に不整合が発生することがある。しかし、上記従来技術は、待機系に処理を引継いだ時点で整合性のチェックを行わないで高速化を図っている。このため、ミラー間に不整合が発生している可能性があるにも拘わらず、それを検出する手段がないため、不整合な状態にデータを上書きしてしまう恐れがある。
本発明の目的は、ホットスタンバイシステムにおいて現用系計算機で障害が発生した場合、待機系計算機側で共有ディスクの整合性を保ちつつ、処理を高速に引継ぐことにある。
本発明は、現用系計算機と待機系計算機で、共有ディスクのようなストレージを共有するホットスタンバイシステムにおいて、現用系計算機は、ストレージに対する書き込みI/O要求が発生した場合に、処理中のI/O要求に関する情報を記憶部、例えばメモリ又は上記ストレージの一部に、I/O記録として記録する処理と、現用系計算機で発生する障害を監視し、障害が発生した場合に、待機系計算機に通知する処理とを行い、待機系計算機は、現用系計算機から障害発生の通知を受けた場合、記憶部から取得されたI/O記録を検証する処理と、検証の結果処理中の該I/O要求が存在する場合、ストレージに対する復旧のための処理とを行うホットスタンバイシステムである。
好ましい第一の例による系の切替え制御方法によれば、現用系計算機では、ストレージに対する書き込みI/O要求が発生した場合に、処理中のI/O要求に関する情報をメモリにI/O記録として記録し、I/O要求の処理が完了した場合に、メモリから対応するI/O記録を削除すると共に、現用系計算機で障害が発生した場合に、メモリに保持されたI/O記録を待機系計算機へ送信し、待機系計算機では、現用系計算機から送信されたI/O記録を受信し、受信されたI/O記録を検証するステップと、検証の結果、処理中のI/O要求が存在した場合、ストレージに対する復旧処理を実施するステップとを有する。
好ましい第二の例による系の切替え制御方法によれば、現用系計算機は、ストレージに対する書き込みI/O要求が発生した場合に、I/O要求の前処理として、待機系計算機にI/O開始の通知を送信し、待機系計算機は、このI/O開始の通知を受信して、I/O処理中を示す情報をメモリに記録し、現用系計算機でI/O要求が完了した時、I/O後処理として待機系計算機へI/O完了の通知を送信し、かつ、現用系計算機で障害が発生した場合に、メモリに記録されたI/O処理中を示す情報を検証し、検証の結果、処理中の書き込みI/O要求が存在する場合、ストレージに対する復旧処理を実施する処理を行うものである。
好ましい第三の例による系の切替え制御方法によれば、現用系計算機でストレージに対する書き込みI/O要求が発生した時、I/O要求の書き込み処理中であることを示す情報をストレージの一部に記録し、現用系計算機で障害が発生した時に、待機系計算機でストレージの一部に記録された情報を参照して検証し、この検証の結果、I/O要求の書き込み処理中である場合、ストレージに対する復旧処理を実施する処理を行うものである。
好ましい例では、ストレージは、夫々固有の識別情報が付与された、論理的に定義された1又は複数の論理ボリュームを有しており、前記I/O記録として、アクセス対象となる論理ボリュームの識別情報と、論理ボリュームに対するI/O要求のうち処理中のI/O要求をカウントする情報をメモリ又はストレージの一部に格納する。
一例では、前記I/O記録は、I/O要求毎にエントリを有するテーブル形式で格納され、現用系計算機から待機系計算機へはネットワークを介してテーブルの情報が送信される。
本発明によれば、共有ディスクへの書き込みI/O処理が障害発生により中断してディスクに不整合の疑いがある場合には、待機系計算機がこれを検出して診断処理や修復処理を行い、その後の処理を引き継ぐことができる。さらに、待機系計算機における診断や修復の対象となるディスクを不整合の疑いがあるディスクに絞るため、不要な処理を省略でき、復旧時間を短縮できる。
以下、図面を参照して本発明に係るいくつかの実施形態について説明する。
・第一の実施形態
まず、図1乃至図14を参照して第一の実施例について説明する。
図1は、第一の実施形態におけるホットスタンバイシステムの概略構成図である。
このシステムが適用される計算機システムは、現用系計算機(以下、単に現用系という)1000、待機系計算機(以下、単に待機系という)2000、両系によって共通的にアクセスされる共有ディスク3000、およびこれらを接続するネットワーク4000から構成される。
現用系1000と待機系2000は、同様の構成を成し、夫々、メモリ1400、2400、プロセッサ1450、2450、入出力プロセッサ(以下、IOP:Input Output Processor)1500、2500、通信アダプタ1550、2550、およびディスク制御装置1600、2600を備えて構成される。
共有ディスク3000は、1台あるいは複数台の論理ボリュームから構成される。各論理ボリュームは、それぞれ一意に識別可能な論理ボリュームIDを持つ。
ネットワーク4000は、現用系1000および待機系2000を所定のプロトコルに基づき接続する。なお、図1の計算機システムには、通常、現用系1000や待機系2000以外の第三の計算機や電子機器が接続されることがあるが、図示では省略されている。
現用系1000と待機系2000のメモリ1400、2400に格納されるソフトウェアとしては、アプリケーションプログラム1050、2050、系切替え制御プログラム1100、2100、整合性検査プログラム1150、2150、OS(Operating System)1200、2200、アクセス要求監視プログラム1250、2250、アクセス要求管理テーブル1300、2300、およびデバイスドライバ1350、2350が含まれる。
アプリケーションプログラム1050、2050は、1つまたは複数存在し、トランザクション処理などの業務を行い、共有ディスク3000に対してI/Oを発行する。系切替え制御プログラム1100、2100は、自系の障害を検出し、ホットスタンバイ切替えを実行するプログラムである。現用系、待機系それぞれで動作している系切替え制御プログラム1100、2100は、現用系で障害が発生した場合これを検出し、両系で連携してホットスタンバイ切替えを実行する。
整合性検査プログラム1150、2150は、共有ディスクを構成する論理ボリュームに対し、整合性のチェックを行う。チェックの結果、不整合の疑いがあるボリュームに関しては復旧プログラムを実行する。OS1200、2200は、アプリケーションプログラム1050、2050から発行される論理ボリュームへのI/O要求に応じて、アクセス要求監視プログラム1250、2250またはデバイスドライバ1350、2350にI/O処理を要求する。アクセス要求監視プログラム1250、2250は、共有ディスク3000を構成する論理ボリュームに対するI/O要求を監視し、要求が発行された場合はそれをアクセス要求管理テーブル1300、2300に記録する。
アクセス要求管理テーブル1300、2300は、アプリケーションプログラム1050、2050が共有ディスク3000に対して発行したI/O要求を登録し管理する。デバイスドライバ1350、2350は、ドライバ外部からの要求に応じてI/O処理を実行する。
図2は,第一の実施形態における共有ディスク3000の構成図である。
共有ディスク3000は,1つまたは複数の論理ボリューム3100〜3300から構成される。ここで,論理ボリュームとは,物理ボリューム装置の一部または全部の領域から構成された論理的なディスク装置である。物理ボリュームとは,物理的なディスク装置またはOSから物理的なディスク装置として認識可能な記憶装置である。第一の実施形態における論理ディスクは,二つの物理ボリューム3400,3500を二重化して,それぞれ同一のデータを書き込むミラーリング処理を施している。
以下の説明では、待機系2000を構成する各部2050〜2600の構成は、現用系1000の各部1050〜1600と同様であるため、現用系の説明をもって、待機系の説明は省略する。
図3は、第一の実施形態におけるOS1200およびデバイスドライバ1350の構成を示す図である。
OS1200は、デバイススイッチテーブル1210、I/O要求処理プログラム1220、障害検出プログラム1230、デバイススイッチテーブル書き換えプログラム1240から構成される。デバイスドライバ1350は、書き込み処理プログラム1360、ダンプ出力プログラム1370から構成される。なお、上記以外にもOSやデバイスドライバとして必要なプログラム部分は存在するが、本実施の形態の説明に直接関係が無いため、説明を省略する。
デバイススイッチテーブル1210は、共有ディスク3000を構成する各論理ボリュームが持つ論理ボリュームIDと、論理ボリュームに対する操作の種類書き込み、障害発生時のダンプ出力などの組み合わせに対して、処理を実施するプログラムのアドレスを登録するテーブルである。操作の種類に関しては、本実施形態では操作の種類として書き込み処理とダンプ出力処理以外に関する説明を省略しているが、これら以外の操作があってもよい。図3では、論理ボリュームID=0に対する書き込み処理に対応するデバイススイッチテーブルエントリ1211に、デバイスドライバ1350の書き込み処理プログラム1360のアドレスが登録されており、同じく論理ボリュームID=0に対するダンプ出力処理に対応するデバイススイッチテーブルエントリ1212に、デバイスドライバ1350のダンプ出力プログラム1370のアドレスが登録されている。
I/O要求処理プログラム1220は、アプリケーションプログラム1050からのI/O要求によって呼び出され、I/O対象に指定された論理ボリュームIDと操作の種類を元に、デバイススイッチテーブル1210に登録されたアドレスのプログラムを呼び出す。障害検出プログラム1230は、現用系1000において処理を継続できなくなる重度の障害が発生すると、これを検出する。そして、予め登録された論理ボリュームについて、対応するデバイススイッチテーブルエントリ1212を参照し、登録されたアドレスのプログラムを呼び出す。デバイススイッチテーブル書き換えプログラム1240は、OS1200の内部または外部プログラムからの要求によって呼び出され、デバイススイッチテーブル1210内のエントリを書き換える。
書き込み処理プログラム1360は,論理ボリュームへの書き込み要求に応じて,対応する物理ボリュームの領域に書き込む処理を行う。このとき,論理ボリュームにミラーリング処理が施されている場合は,多重化された物理ボリュームのそれぞれに同一の書き込み処理を行う。なお,本実施形態では,ミラーリング処理を書き込み処理プログラム1360が行っているが,書き込み処理プログラム1360以外にミラーリング処理を行うプログラムが存在してもよい。
ダンプ出力処理プログラム1370は,OS1200に障害が発生し処理続行不能に陥った場合に呼び出され,メモリ1400に記録されているデータをディスク装置に書き込む処理を行う。
図4は、第一の実施形態におけるアクセス要求監視プログラム1250の構成を示す図である。
アクセス要求監視プログラム1250は、アクセス監視対象論理ボリュームの登録プログラム1255、アクセス監視対象論理ボリュームの除外プログラム1260、アクセス監視状態の取得プログラム1265、アクセス要求記録プログラム1270、アクセス記録の送信プログラム1275、初期化処理プログラム1280から構成される。なお、アクセス監視対象論理ボリュームの除外プログラム1260およびアクセス監視状態の取得プログラム1265は、無くても良い。
アクセス監視対象論理ボリュームの登録プログラム1255は、指定された論理ボリュームをアクセス監視対象に追加する。追加された論理ボリュームは、アクセス要求記録プログラム1270によりアクセス要求を記録可能となる。なお、アクセス監視対象論理ボリュームの登録プログラム1255は、アプリケーションプログラム1050からシステムコールまたはユーザコマンドにより呼出される。
アクセス監視対象論理ボリュームの除外プログラム1260は、指定された論理ボリュームをアクセス監視対象より除外する。除外された論理ボリュームは、アクセス要求記録プログラム1270によるアクセス要求の記録が不可能となる。なお、アクセス監視対象論理ボリュームの除外プログラム1260は、アプリケーションプログラム1050からシステムコールまたはユーザコマンドにより呼出される。
アクセス監視状態の取得プログラム1265は、プログラム外部または内部からの問い合わせに応じ、論理ボリュームの現在のアクセス監視状態を返す。アクセス監視状態とは、アクセス監視対象として登録されているか否か、現在のアクセス状況などの情報を表す。アクセス監視状態の取得プログラム1265は、アクセス要求監視プログラム1250の内部または、アプリケーションプログラム1050からシステムコールまたはユーザコマンドにより呼び出される。
アクセス要求記録プログラム1270は、アクセス監視対象論理ボリュームへのアクセスの際にI/O要求処理プログラム1220から呼び出される。アクセス監視状態の判定プログラム1270は、アクセス要求が共有ディスク3000に対する書き込み処理要求である場合に、その要求をアクセス要求管理テーブル1300に記録する。
アクセス記録の送信プログラム1275は、アクセス要求管理テーブル1300に記録された情報を、ネットワーク4000を通じて待機系2000の整合性検査プログラム2150に送信する。アクセス要求記録の送信プログラム1275は、障害発生時に系切替え制御プログラム1100または障害検出プログラム1230から呼び出される。
初期化処理プログラム1280は、ダンプ出力時にアクセス記録の送信プログラム1275が呼び出されるように、デバイススイッチテーブル1210を書き換える処理を行う。初期化処理プログラム1280は、システム立ち上げ時に系切替え制御プログラム1100から呼び出される。
図5は、第一の実施形態におけるアクセス要求管理テーブル1300を構成するアクセス要求管理テーブルエントリ1310の構成図である。
アクセス要求管理テーブルエントリ1310は、アクセス対象の論理ボリュームを識別する論理ボリュームID1320、共有ディスクへの書き込み要求の中で処理中のものをカウントする書き込み要求カウンタ1330から構成される。アクセス要求管理テーブルエントリ1310は、アクセス要求記録プログラム1270により更新される。なお、図5において、斜線部分は他のフィールドを格納してもよい。
以下、図6〜図11を参照して、第一の実施形態におけるアクセス要求監視プログラム1250を構成する各プログラムの処理の流れを説明する。
図6は、第一の実施形態におけるアクセス監視対象論理ボリュームの登録プログラム1255の処理の流れを示す図である。
アクセス監視対象論理ボリュームの登録プログラム1255は、現用系1000および待機系2000のシステム立ち上げ時にシステムコールまたはコマンドにより、登録対象の論理ボリュームIDをパラメータとして呼び出す。次に、デバイススイッチテーブル書き換えプログラム1240を呼び出し、登録対象の論理ボリュームへの書き込み処理に対応するデバイススイッチテーブルエントリ1211にアクセス要求記録プログラム1270を登録する。これにより、登録対象の論理ボリュームへの書き込みI/O要求が発生すると、アクセス要求記録プログラム1270が呼び出される(S5000)。
次に、ステップS5000で行ったデバイススイッチテーブルエントリ1211の書き換えが成功したかどうか判定する。ここで、この書き換え処理の結果は、書き換えを実施するプログラムからの戻り値として表現される。成功の戻り値が返っていればステップS5030へ進み、失敗の戻り値が返っていればステップS5020へ進む(S5010)。
ステップS5010で失敗の戻り値が返った場合、呼び出し元プログラムにデバイススイッチテーブル書き換え失敗を表す戻り値を返し、このプログラムの処理を終了する(S5020)。一方、ステップS5010で成功の戻り値が返った場合、アクセス要求管理テーブル1300にアクセス要求管理テーブルエントリ1310を1つ追加する。この時、そのエントリの論理ボリュームID1320には登録対象論理ボリュームの論理ボリュームIDをセットし、書き込み要求カウンタ1330には「0」をセットする(S5030)。
最後に、処理が成功したことを表す戻り値を呼び出し元のプログラムに返し、このプログラムを終了する(S5040)。
図7は、第一の実施形態におけるアクセス監視対象論理ボリュームの除外プログラム1260の処理の流れを示す図である。
アクセス監視対象論理ボリュームの除外プログラム1260は、システムコールまたはコマンドにより、登録対象の論理ボリュームIDをパラメータとして呼び出される。
まず、パラメータとして渡された論理ボリュームIDに基づき、アクセス要求管理テーブル1300から論理ボリュームIDに対応するアクセス要求管理テーブルエントリ1310を検索する(S5100)。
この検索の結果、該当するエントリが見つかったかどうか判定する(S5110)。見つかった場合にはステップS5130に進み、見つからなかった場合にはステップS5120に進む。ステップS5110で、該当するエントリが見つからなかった場合、該当エントリ無しを表す戻り値を呼び出し元プログラムに返し、このプログラムの処理を終了する(S5120)。一方、該当するエントリが見つかった場合には、そのエントリの書き込み要求カウンタ1330が「0」であるかどうか判定する。「0」である場合はステップS5150に進み、「0」でない場合はステップS5140に進む(S5130)。
ステップS5130で、書き込み要求カウンタ1330が「0」でない場合、指定された論理ボリュームはI/O処理中である旨を表す戻り値を呼び出し元プログラムに返し、このプログラムの処理を終了する(S5140)。一方、書き込み要求カウンタ1330が「0」である場合、デバイススイッチテーブル書き換えプログラム1240を呼び出し、指定された論理ボリュームへの書き込み処理に対応するデバイススイッチテーブルエントリ1211に書き込み処理プログラム1360を登録する。これにより、その論理ボリュームへの書き込みI/O要求が発生すると、書き込み処理プログラム1360が呼び出される(S5150)。
次に、ステップS5150で行ったデバイススイッチテーブルエントリ1211の書き換えが成功したかどうか判定する(S5160)。ここで、この書き換え処理の結果は、書き換えを実施するプログラムからの戻り値として表現される。成功の戻り値が返っていればステップS5180へ進み、失敗の戻り値が返っていればステップS5170へ進む。ここで、失敗の戻り値が返った場合、デバイススイッチテーブル書き換え失敗を表す戻り値を呼び出し元プログラムに返し、このプログラムの処理を終了する(S5170)。一方、成功の戻り値が返った場合には、ステップS5100で検索したアクセス要求管理テーブルエントリ1310をアクセス要求管理テーブル1300から削除する(S5180)。
最後に、このプログラムが成功した旨を表す戻り値を呼び出し元プログラムに返し、このプログラムの処理を終了する(S5190)。
図8は、第一の実施形態におけるアクセス監視状態の取得プログラム1265の処理の流れを示す図である。
アクセス監視状態の取得プログラム1265は、取得対象の論理ボリュームIDをパラメータとして、システムコールまたはコマンドにより呼び出されるか、アクセス監視プログラム1250内の他のプログラムから内部的に呼び出される。なお、論理ボリュームIDの他にも、監視状態を示す情報を格納するバッファのアドレス等の追加パラメータを伴ってもよい。
まず、パラメータとして渡された論理ボリュームIDに基づき、アクセス要求管理テーブル1300からその論理ボリュームIDに対応するアクセス要求管理テーブルエントリ1310を検索する(S5200)。
次に、この検索の結果、該当するエントリが見つかったかどうか判定する(S5210)。該当するエントリが見つかった場合はステップS5230に進み、見つからなかった場合はステップS5120に進む。該当するエントリが見つからなかった場合、該当エントリ無しを表す戻り値を呼び出し元プログラムに返し、このプログラムの処理を終了する(S5220)。一方、該当するエントリが見つかった場合には、該当エントリの情報を呼び出し元に返す(S5230)。このとき、追加パラメータでバッファのアドレスを渡されていれば、そのバッファに格納してもよい。
次に、このプログラムの処理が成功した旨を表す戻り値を呼び出し元プログラムに返し、このプログラムの処理を終了する(S5240)。
図9は、第一の実施の形態におけるアクセス要求記録プログラム1270の処理の流れを示す図である。
アクセス要求の記録プログラム1270は、アクセス監視対象の論理ボリューム対しI/O要求が発生した場合に、I/O要求処理プログラム1220から論理ボリュームIDやI/Oに用いるデータなどをパラメータとして呼び出される。
まず、パラメータとして渡された論理ボリュームIDに基づき、アクセス要求管理テーブル1300からその論理ボリュームIDに対応するアクセス要求管理テーブルエントリ1310を検索する(S5300)。検索の結果、該当するエントリが見つかったかどうか判定する(S5310)。該当するエントリが見つかった場合はステップS5320に進み、見つからなかった場合にはステップS5330に進む。なお、このステップは無くても良い。
ステップS5310で該当するエントリが見つかった場合、ステップS5300で検索したアクセス要求管理テーブルエントリ1310の書き込み要求カウンタ1330の値に「1」を加える(S5320)。
次に、書き込み処理プログラム1360を呼び出し、実際のI/O処理を実施する。このとき、I/O要求処理プログラム1220がこのプログラムに渡したパラメータをそのまま渡す。書き込み処理プログラム1360は、実際のI/Oを行い、I/O完了した時点でその処理を終了し戻ってくる(S5330)。このとき,対象の論理ボリュームに対応する物理ボリュームそれぞれに書き込みを実施する。
次に、ステップS5300で実施した検索で該当するエントリがあるかどうか判定する(S5340)。該当するエントリがある場合はステップS5350に進み、無い場合にはステップS5360に進む。なお、このステップは必ずしも必要ない。
ステップS5340で、該当するエントリがある場合は、そのエントリの書き込み要求カウンタ1330の値を「1」減じる。この結果、書き込み要求カウンタ1330の値が「0」になれば、論理ボリュームへのI/O処理はすべて終了したことを意味する(S5350)。
最後に、デバイスドライバから返された戻り値を呼び出し元プログラムに返し、このプログラムの処理を終了する(S5360)。
図10は、第一の実施の形態におけるアクセス記録の送信プログラム1275の処理の流れを示す図である。アクセス記録の送信プログラム1275は、障害発生を契機として、障害検出プログラム1230から呼び出される。
まず、このプログラム内部で用いる内部カウンタの値を「0」にセットする(S5400)。次に、待機系2000の系切替え制御プログラム2100に対し、アクセス要求管理テーブル1300の内容を、ネットワーク4000を経由して送信する(S5410)。このとき、IOP1500を経由して、通信アダプタ1550を用いて通信を行う。なお、この処理は外部プログラムが行っても良い。次に、内部カウンタの値に「1」を加える(S5420)。
次に、内部カウンタの値が規定の値に達したかを判定する(S5430)。規定の値に達した場合はステップS5440に進み、達していない場合にはステップS5410に進む。
この判定で、内部カウンタの値が規定の値に達した場合には、ダンプ出力処理プログラム1370を呼び出す。ダンプ出力処理プログラム1370は、ダンプ出力処理を実施し、処理の結果を戻り値として返す(S5440)。ダンプ出力処理プログラム1370の戻り値を、このプログラムの呼び出し元プログラムに返し、このプログラムの処理を終了する(S5450)。
図11は、第一の実施形態における初期化処理プログラム1280の処理の流れを示す図である。初期化処理プログラム1280は、システム立ち上げ時に系切替え制御プログラム1100からダンプ出力対象となる論理ボリュームIDをパラメータとして呼び出される。なお、これ以外に追加パラメータがあってもよい。
まず、OS1200のデバイススイッチテーブル書き換えプログラム1240を呼び出し、指定された論理ボリュームへのダンプ出力処理に対応するデバイススイッチテーブル1212にアクセス記録の送信プログラム1275のアドレスを登録する。これにより、障害が発生してその論理ボリュームへのダンプ出力要求が発生すると、障害検出プログラム1230はアクセス記録の送信プログラム1275を呼び出す(S5500)。
次に、ステップS5500の処理が成功したかどうか判定する(S5510)。成功した場合はステップS5530に進み、失敗した場合にはステップS5520へ進む。
即ち、ステップS5510で書き換えに失敗した場合は、デバイススイッチテーブル書き換えに失敗した旨を表す戻り値を呼び出し、元プログラムに返して、このプログラムの処理を終了する(S5520)。一方、書き換えに成功したと判定された場合には、このプログラムの処理が成功した旨を表す戻り値を呼び出して元プログラムに返し、このプログラムの処理を終了する(S5530)。
図12は、第一の実施形態における系切替え制御プログラム1100の処理の流れを示す図である。以下、待機系2000の系切替え制御プログラム2100について記述する。系切替え制御プログラム2100は、現用系1000の障害を監視し、障害が発生した場合は現用系1000で行っていた業務の処理を待機系2000に引き継がせる処理を行う。
まず、現用系1000のアクセス記録の送信プログラム1275から送信されたアクセス要求管理テーブル1300の内容を受信する(S5600)。次に、ステップS5600での受信処理が成功したかどうか判定する(S5610)。受信が成功した場合はステップS5630に進み、受信が失敗した場合にはステップS5620に進む。
ステップS5610で、受信失敗と判定された場合は、受信失敗に対応する処理を行う(S5620)。なお、受信が失敗した状態で業務引継ぎ処理を行っても良い。一方、受信成功と判定された場合には、待機系2000の整合性検査プログラム2150を呼び出し、整合性の検査処理を行う(S5630)。このとき、ステップS5600で受信したアクセス要求管理テーブル1300の内容をパラメータとして渡す。なお、アクセス要求管理テーブル1300以外の追加パラメータがあってもよい。
最後に、業務引継ぎ処理を行い、待機系2000は新現用系として業務を引き継ぐ(S5640)。
図13は、第一の実施形態において、待機系2000における整合性検査プログラム2100の処理の流れを示す図である。整合性検査プログラム2100は、系切替え処理の中で、系切替え制御プログラム2100から呼び出される。このとき、パラメータとして、現用系1000のアクセス記録の送信プログラム1275から送信されたアクセス要求管理テーブル1300の内容を受け取る。なお、これ以外に追加パラメータがあってもよい。
まず、パラメータとして受け取ったアクセス要求管理テーブル1300の中から、取得可能なアクセス要求管理テーブルエントリ1310が存在するかどうか判定する。この判定を全エントリに対して検索して行う(S5700)。該当するエントリが存在する場合は、ステップS5710に進み、存在しない場合にはこのプログラムの処理を終了する。
ステップS5700で、取得可能なアクセス要求管理テーブルエントリ1310が存在する場合は、エントリを1つ取得する(S5710)。そして、その取得したアクセス要求管理テーブルエントリ1310の書き込み要求カウンタ1330の値が「0」かどうか判定する(S5720)。
判定の結果、「0」である場合は、そのエントリに対応する論理ボリュームは書き込みI/Oが全て完了した状態であることを意味し、復旧プログラム実行の必要がない。このため復旧プログラムを実行せずに、ステップS5700に進む。一方、「0」でない場合は、そのエントリに対応する論理ボリュームは処理中で中断された書き込みI/Oが存在し、論理ボリューム内が不整合である可能性があることを意味している。そこでステップS5730に進み、論理ボリュームの復旧プログラムを実行する。
ステップS5720での判定の結果、書き込み要求カウンタ1330の値が「0」でないと判定された場合は、対応する論理ボリュームに対して論理ボリュームの復旧プログラムを実行する。これにより,その論理ボリューム内に不整合の疑いがある場合は物理ボリュームの一部または全部を他の物理ボリュームにコピーし,不整合な状態を修復する。修復プログラム実行後はS5700に進む(S5730)。
図14は、第一の実施形態におけるホットスタンバイ処理の全体の流れを示す図である。
まず、現用系1000のシステム立ち上げ時の処理が実行される。
現用系1000は、システム立ち上げ時に初期化処理プログラム1280を呼び出し、実行する(S5800)。これにより、デバイススイッチテーブルエントリ1212を書き換え、ダンプ出力時にアクセス要求記録の送信プログラム1275が呼び出されるように設定する。
次に、アクセス管理対象論理ボリュームの登録プログラム1255を呼び出し、実行する(S5805)。これにより、デバイススイッチテーブルエントリ1211を書き換え、論理ボリュームへの書き込みI/O要求発生時にアクセス要求記録プログラム1270を呼び出すように設定する。なお、アクセス監視対象とするべき論理ボリュームが複数ある場合は、個々に対してこのステップの処理を行う。
続いて、現用系1000の通常運用時の処理が実行される。
アプリケーションプログラム1050が論理ボリュームに対し書き込みのI/O要求を発行すると、OS1200のI/O要求処理プログラム1220が呼び出され、実行される(S5810)。I/O要求処理プログラム1220は、I/O対象となる論理ボリュームと、操作の内容に基づき、デバイススイッチテーブルエントリ1211の内容を参照する。
次に、I/O要求処理プログラム1220は、その参照したデバイススイッチテーブルエントリ1211に登録されているアクセス要求記録プログラム1275を呼び出し、実行する(S5815)。アクセス要求記録プログラム1275は、下記(1)〜(3)の処理を行う。
I/O対象の論理ボリュームに対応するアクセス要求管理テーブルエントリ1310の書き込み要求カウンタ1330に「1」を加える。
(2)デバイスドライバ1350の書き込み処理プログラム1360を呼び出して実際のI/O処理を行う。このとき,対象となる論理ボリュームに対応する物理ボリュームそれぞれに同一の書き込みを実施する。
(3)上記(1)で操作した書き込み要求カウンタ1330の値を「1」減じた後、呼び出し元のアプリケーションプログラム1050にI/O完了を報告する。
このステップS5810とS5815は、現用系1000で障害が発生するまで繰り返えし、実行される。
ここで、現用系1000で障害が発生した場合には、系の切替え処理が実行される。
即ち、現用系1000で障害が発生すると、この障害を障害検出プログラム1230が検出する。障害検出プログラム1230は予め登録された論理ボリュームへのダンプ出力処理に対応するデバイススイッチテーブルエントリ1212を参照し、そのエントリに登録されたプログラムのアドレスを取得する(S5820)。
次に、障害検出プログラム1230は、ステップS5820で取得したアドレスのプログラムを呼び出す。これにより、アクセス要求記録の送信プログラム1275を呼び出し、実行する(S5825)。アクセス要求記録の送信プログラム1275は、アクセス要求管理テーブル1300の内容を待機系2000の系切替え制御プログラム2100に送信する。
次に、障害検出プログラム1230は、デバイスドライバ1350のダンプ出力処理プログラム1370を呼び出し、実行する(S5830)。これにより、システム内のメモリダンプが論理ボリュームに出力される。ダンプ出力が終了すると、現用系1000は障害を復旧し、新たな待機系として立ち上がる。このとき、後述するステップS5850以降の処理を行う(S5835)。
これに対して、待機系2000ではシステム立ち上げ処理が実行される。
待機系2000では、システム立ち上げ時に初期化プログラム2280を呼び出して実行する(S5850)。これにより、OS2200のデバイススイッチテーブルエントリ2212を書き換え、ダンプ出力時にアクセス要求記録の送信プログラム2275が呼び出されるよう設定する。
次に、アクセス管理対象論理ボリュームの登録プログラム2255を呼び出し、実行する(S5855)。これにより、OS2200のデバイススイッチテーブルエントリ2211を書き換え、論理ボリュームへの書き込みI/O要求発生時にアクセス要求記録プログラム2270を呼び出すよう設定する。なお、アクセス監視対象とすべき論理ボリュームが複数ある場合には、夫々の論理ボリュームに対してこのステップの処理を行う。
以上の処理を終えると、待機系2000の系切替え制御プログラム2100は現用系1000のアクセス記録の送信プログラム1275からアクセス要求管理テーブル1300の内容が送信されるのを待つ。
続いて、障害時における待機系2000系切替え処理が実行される。
待機系2000の系切替え制御プログラム2100は、現用系1000から送信されたアクセス要求管理テーブル1300の内容を受信する(S5860)。そして、受信したアクセス要求管理テーブル1300の内容をパラメータとして整合性検査プログラム2150を呼び出し、実行する(S5865)。即ち、整合性検査プログラム2150は、パラメータとして渡されたアクセス要求管理テーブル1300の内容に基づき、論理ボリュームの整合性をチェックする。このとき、途中で中断された書き込みI/Oが存在する場合は、その論理ボリュームに対して復旧プログラムを実行する。復旧プログラムでは,中断されたI/Oの対象となった領域を他の物理ボリュームとの間でコピーし,不整合な状態を修復する。なお,論理ボリュームに対応する領域全てをコピーしても良い。
以上の処理が終了すると、系切替え制御プログラム2100は、業務引継ぎ処理を行い、新らたな現用系として業務を再開する(S5870)。
・第二の実施形態
次に、図15〜図22を参照して第二の実施形態について説明する。
上述した第一の実施形態との相違点は、現用系のアプリケーションが共有ディスクへの書き込みI/O要求を発行する度に、I/O実施前と完了時に現用系のアクセス要求監視プログラムが待機系のアクセス要求監視プログラムに通知し、待機系側のアクセス要求監視プログラムがアクセス要求管理テーブルに記録する点である。
図15は、第二の実施形態における計算機システムの構成を示す図である。
系切替え制御プログラム6000、6200、整合性検査プログラム6050、6250、アクセス要求監視プログラム6100、6300を除き、その構成は第一の実施の形態と同じであるため、同じ部分について説明は以降省略する。また、以下の説明では、待機系2000を構成する6200〜6300の構成は、現用系1000の6000〜6100と同様であるため、現用系1000の説明をもって代用する。
図16は、第二の実施形態におけるアクセス要求監視プログラム6100の構成を示す図である。
アクセス要求監視プログラム6100は、アクセス監視対象論理ボリュームの登録プログラム1255、アクセス監視対象論理ボリュームの除外プログラム1260、アクセス監視状態の取得プログラム1265、アクセス要求記録プログラム6110、アクセス要求記録の受信プログラム6120から構成される。なお、アクセス監視対象論理ボリュームの除外プログラム1255およびアクセス監視状態の取得プログラム1265は、無くても良い。また、プログラム1255〜1265の構成および動作は第一の実施形態と同じであるため、説明は省略する。
図17は、第二の実施の形態における、現用系1000で書き込みI/O要求が発生した時に、待機系へ送信されるアクセス要求通知パケット6400の構成を示す図である。
アクセス要求通知パケット6400は、通知の内容を示す通知の種類6410とアクセス対象の論理ボリュームID6420を含んで構成される。ここで、通知の種類6410は、待機系への通知の種類を示す値を格納し、「書き込みI/O開始」を示す値または「書き込みI/O完了」を示す値のどちらかを示す。また、論理ボリュームID6420は、書き込みI/Oの対象となった論理ボリュームを識別するための論理ボリュームIDを格納する。
現用系1000で書き込みI/O要求発生が発生し、アクセス要求記録プログラム6110が呼び出されると、アクセス要求記録プログラム6110はアクセス要求通知パケット6400を作成し、待機系2000のアクセス記録の受信プログラム6320に送信する。
図18は、第二の実施形態におけるアクセス要求記録プログラム6110の処理の流れを示す図である。アクセス要求記録プログラム6110は、第一の実施の形態と同じく、共有ディスク3000への書き込みI/O要求発生を契機として、I/O要求処理プログラム1220から論理ボリュームIDやI/Oに用いるデータなどをパラメータとして呼び出される。
まず、書き込みI/O開始を示すアクセス要求通知パケット6400を作成する(S7000)。このとき、通知の種類6410には「書き込みI/O開始」を示す値を格納し、論理ボリュームID6420にはI/O対象となった論理ボリュームの論理ボリュームIDを格納する。
次に、作成されたアクセス要求通知パケット6400を、ネットワーク4000を経由して待機系のアクセス記録の受信プログラム6320へ送信する(S7010)。この場合、IOP1500を経由して通信アダプタ1550を用いて通信を行うが、この処理は外部プログラムが行っても良い。次に、書き込み処理プログラム1360を呼び出し、実際のI/O処理を実施する(S7020)。このとき、I/O要求処理プログラム1220がこのプログラムに渡したパラメータをそのまま渡す。書き込み処理プログラム1360は、実際のI/Oを行い、I/O完了した時点でその処理を終了し戻ってくる。
次に、書き込みI/O完了を示すアクセス要求通知パケット6400を作成する(S7030)。この場合、通知の種類6410には「書き込みI/O完了」を示す値を格納し、論理ボリュームID6420にはI/O対象となった論理ボリュームの論理ボリュームIDを格納する。
そして、上記のように作成されたアクセス要求通知パケット6400を、ネットワーク4000を経由して待機系のアクセス記録の受信プログラム6320に送信する(S7040)。ここで、IOP1500を経由して通信アダプタ1550を用いて通信を行うが、この処理は外部プログラムが行っても良い。
最後に、書き込み処理プログラム1360から返された戻り値を呼び出し、元プログラムに返して、このプログラムの処理を終了する(S7050)。
図19は、アクセス要求の受信プログラム6120の処理の流れを示す図である。
アクセス要求の受信プログラム6120は、通常運用時の待機系2000上で常にアクセス要求通知パケット6400を待ち受けており、アクセス要求通知パケット6400の到着を契機として処理を行う。以降は、待機系2000のアクセス記録の受信プログラム6320について説明する。
まず、現用系1000のアクセス要求記録プログラム6110から送信されたアクセス要求通知パケット6400を受信する(S7100)。次に、ステップS7100で受信したアクセス要求通知パケット6400の論理ボリュームID6420の内容に基づき、アクセス要求管理テーブルエントリ2310を検索する(S7110)。
この検索の結果、該当するエントリが見つかったかどうか判定する(S7120)。該当エントリが見つかった場合はステップS7130に進み、見つからなかった場合には操作すべきエントリが見つからなかったと判断し、ステップS7100に進む。
ステップS7120の判定で該当エントリが見つかった場合、ステップS7100で受信したアクセス要求通知パケット6400の通知の種類6410の内容を判定する(S7130)。この内容が「書き込みI/O開始」を示している場合は、ステップS7110で検索したアクセス要求管理テーブルエントリ2310の書き込み要求カウンタ2330の値に「1」を加え、ステップS7100に進む(S7140)。
一方、ステップS7130の判定の結果、通知の種類6410が「書き込みI/O完了」を示している場合には、ステップS7110で検索したアクセス要求管理テーブルエントリ2310の書き込み要求カウンタ2330の値を「1」減じ、ステップS7100に進む(S7150)。
図19は、第二の実施形態における障害発生時における系切替え制御プログラム6000の処理の流れを示す図である。
待機系2000の系切替え制御プログラム6000は、通常運用中は常に現用系1000の障害を監視しており、障害発生を検出すると系切替えの処理を実施する。以降は、待機系2000の系切替え制御プログラム6200について説明する。
まず、系切替え制御プログラム6200は、現用系1000での障害発生を検出する(S7200)。このとき、障害を検出する手段としては、ALIVEメッセージなど既存の技術による。次に、整合性検査プログラム6250を呼び出し、共有ディスク3000を構成する論理ボリュームに関して、整合性の検査を実施する(S7210)。このとき、論理ボリュームの論理ボリュームIDの集合をパラメータとして整合性検査プログラム6250に渡す。整合性検査プログラム6250は、検査が終了した後、プログラムの処理を終えて戻ってくる。
整合性検査プログラム6250の処理が終了すると、待機系2000に業務引継ぎ処理を行わせる。このステップの処理が終了すると、待機系2000は新現用系として業務を再開する(S7220)。
図21は、第二の実施形態における待機系2000における整合性検査プログラム6250の処理の流れを示す図である。整合性検査プログラム6250は、系切替え処理の中で、系切替え制御プログラム6200から呼び出される。このとき、パラメータとしてアクセス監視対象の論理ボリュームIDの列を受け取る。なお、これ以外に追加パラメータがあってもよい。
まず、論理ボリュームIDの列から、取得可能な論理ボリュームIDが存在するかどうか判定する(S7300)。存在する場合は、ステップS7310に進み、存在しない場合にはこのプログラムの処理を終了する。
取得可能な論理ボリュームIDが存在する場合は、1つのエントリを取得し、そのIDに対応するアクセス要求管理テーブルエントリ2310を検索する(S7310)。このとき、取得した論理ボリュームIDはパラメータとして受け取ったIDの列から削除する。
次に、取得したアクセス要求管理テーブルエントリ2310の書き込み要求カウンタ2330の値が「0」かを判定する(S7320)。「0」である場合は、そのエントリに対応する論理ボリュームは書き込みI/Oが全て完了した状態であることを意味し、復旧プログラム実行の必要がない。このため復旧プログラムを実行せずステップS7300に進む。一方、「0」でない場合には、そのエントリに対応する論理ボリュームは処理中で中断された書き込みI/Oが存在し、論理ボリューム内が不整合である可能性があることを意味している。この時には、対応する論理ボリュームに対して論理ボリュームの復旧プログラムを実行する(S7330)。これにより、その論理ボリューム内に不整合がある場合には復旧プログラムにより修復される。復旧プログラムの実行後はS7300に進む。
図22は、第二の実施形態におけるホットスタンバイ処理の全体的な流れを示す図である。
まず、現用系1000のシステム立ち上げ時の処理が実行される。
現用系1000は、システム立ち上げ時にアクセス管理対象論理ボリュームの登録プログラム1255を呼び出し、実行する。これにより、OS1200のデバイススイッチテーブルエントリ1211を書き換え、論理ボリュームへの書き込みI/O要求発生時にアクセス要求記録プログラム6110を呼び出すよう設定する。なお、アクセス監視対象とするべき論理ボリュームが複数ある場合は、夫々の論理ボリュームに対してこの処理を行う(S7400)。
続いて、現用系1000の通常運用時の処理が実行される。
アプリケーションプログラム1050が論理ボリュームに対して書き込みのI/O要求を発行すると、OS1200のI/O要求処理プログラム1220が呼び出され、実行される。I/O要求処理プログラム1220は、I/O対象となる論理ボリュームと、操作の内容に基づき、デバイススイッチテーブルエントリ1211の内容を参照する(S7405)。
次に、I/O要求処理プログラム1220は、その参照したデバイススイッチテーブルエントリ1211に登録されているアクセス要求記録プログラム6110を呼び出し、実行する。アクセス要求記録プログラム6110は、下記(1)〜(3)の処理を行う。なお,下記(2)の処理は,I/Oの対象となる論理ボリュームに対応する物理ボリュームそれぞれに対して行う。
待機系2000のアクセス要求通知受信プログラム6120に「書き込みI/O開始」を示すアクセス要求通知パケット6400を送信し、
デバイスドライバ1350の書き込み処理プログラム1360を呼び出して実際のI/O処理を行い、
待機系2000のアクセス要求通知受信プログラム6120に「書き込みI/O完了」を示すアクセス要求通知パケット6400を送信した後、呼び出し元のアプリケーションプログラム1050にI/O完了を報告する。
このステップS7405とS7410は、現用系1000で障害が発生するまで繰り返し、実行される(S7410)。
この状態で現用系1000に障害が発生した場合には、系切替え処理が実行される。
即ち、現用系1000で障害が発生し、障害検出プログラム1230がこれを検出すると、障害検出プログラム1230は予め登録された論理ボリュームへのダンプ出力処理に対応するデバイススイッチテーブルエントリ1212を参照し、当該エントリに登録されたプログラムのアドレスを取得する(S7415)。
次に、障害検出プログラム1230は、ステップS7415で取得したアドレスのプログラムを呼び出す。これにより、デバイスドライバ1300のダンプ出力処理プログラム1320を呼び出し実行する。ダンプ出力処理プログラム1320は、システム内のメモリダンプを論理ボリュームに出力する。ダンプ出力が終了すると、現用系1000は障害を復旧し、新たな待機系として立ち上がる。このとき、後述するステップS7450以降の処理を行う(S7420)。
続いて、待機系2000ではシステム立ち上げ処理が実行される。
待機系2000は、システム立ち上げ時にアクセス管理対象論理ボリュームの登録プログラム2255を呼び出し、実行する。これにより、OS2200のデバイススイッチテーブルエントリ2211を書き換え、論理ボリュームへの書き込みI/O要求発生時にアクセス要求記録プログラム6310を呼び出すように設定する。なお、アクセス監視対象とすべき論理ボリュームが複数ある場合は、夫々の論理ボリュームに対してこのステップの処理を行う(S7450)。
以上の処理を終えると、アクセス要求通知受信プログラム6320は、現用系1000からのアクセス要求通知パケット6400を待ち受ける。現用系1000で書き込みI/O要求が発生すると、アクセス要求記録プログラム6110からアクセス要求通知パケット6400が送信される。そして、アクセス要求通知受信プログラム6320は受信したアクセス要求通知パケットパケット6400に応じた処理を実施する(S7455)。
続いて、障害時における待機系2000系切替え処理が行われる。
待機系2000の系切替え制御プログラム6200は、現用系1000の障害発生を検出すると、整合性検査プログラム6250を呼び出し、論理ボリュームの整合性を検査する(S7460)。
次に、系切替え制御プログラム6200から呼び出された整合性検査プログラム6250は、パラメータとして渡された論理ボリュームの列に基づき、論理ボリュームの整合性をチェックする。このとき,途中で中断された書き込みI/Oが存在する場合は,復旧プログラムを実行する。復旧プログラムは,この復旧プログラムでは,中断されたI/Oの対象となった領域を他の物理ボリュームとの間でコピーし,不整合な状態を修復する。なお,論理ボリュームに対応する領域全てをコピーしても良い(S7465)。
以上の処理が終了すると、系切替え制御プログラム6200は、業務引継ぎ処理を行い、新らたな現用系として業務を再開する(S7470)。
・第三の実施形態
次に、図23〜図29を参照して第三の実施形態について説明する。
第一および第二の実施形態との相違点は、現用系から共有ディスクへの書き込みI/Oを実施する際に、I/O処理中であるボリューム上のアドレスをその論理ボリューム上に記録し、I/O完了時にこの記録を削除する点である。これにより、障害発生により書き込みI/O中が強制中断された場合は、ボリューム上に処理中のアドレスの記録が残るため、不整合な状態を検出可能となる。
図23は、第三の実施の形態における計算機システムの構成を示す図である。
整合性チェックプログラム8000、8200、デバイスドライバ8100、8300、共有ディスク8400以外の構成については、第二の実施形態と同じであるため、以降での説明は省略する。また、以下の説明では、待機系2000を構成する8200、8300の構成は現用系1000の8000、8100と同様であるため、現用系1000の説明をもって代用する。
図24は、第三の実施の形態における共有ディスク8400の構成を示す図である。
共有ディスク8400は複数の論理ボリューム8410,8420,8430から構成されている。各論理ボリュームの領域は,それぞれ物理ボリューム8450,8460に対応付けられている。このとき,論理ボリュームは,物理ボリュームに一対一で割り当てても良いし,物理ボリュームの領域を分割して一部のみを論理ボリュームに対応付け,複数の論理ボリュームで一つの物理ボリュームを共有しても良い。さらに,分割した領域とは別に領域が設けられ,書き込みI/O要求を記録するアクセス要求管理テーブル8455,8465が格納される。デバイスドライバ8100,8300は,書き込みI/O実施の際にアクセス要求管理テーブル8455,8460を更新する。なお,アクセス要求管理テーブルは,論理ボリュームに対応付けた領域それぞれの中に存在してもよい。各論理ボリュームには,固有の論理ボリュームIDが付与され,それらのIDにより論理ボリュームが認識される。なお,通常,論理ボリュームを複数個有するのが望ましいが1つでもよい。
図25は、上述のアクセス要求管理テーブル8455(同様の構成であるので、符号8465は省略)を構成するアクセス要求管理テーブルエントリ8440の構成を示す図である。アクセス要求管理テーブル8455は、1つまたは複数のアクセス要求管理テーブルエントリ8440の集合により構成され、各エントリ8440は、書き込み対象アドレス8445を含む。なお、斜線部分は他のフィールドを含んでもよい。
書き込み対象アドレス8445は、デバイスドライバ8100が書き込みI/Oを行う対象となる領域のアドレスを格納する。例えば、論理ボリューム8410に対する書き込みI/Oを実施する場合は、デバイスドライバ8100がI/Oの対象となるアドレスを書き込み対象アドレス8445に格納したアクセス要求管理テーブルエントリ8440をアクセス要求管理テーブル8455,8465に確保した後、実際のI/O処理を行う。そして、実際のI/O処理が完了した後、I/O処理前に確保したエントリを削除する。
なお,エントリを削除せず,このI/Oが完了したことを示す値を格納してもよい。また,書き込み処理は,対象論理ボリュームに対象となった物理ボリューム全てに対して実施する。このため,アクセス要求管理テーブル8465に対しても同様の処理を行う。
図26は、第三の実施の形態におけるデバイスドライバ8100の構成を示す図である。ダンプ出力処理プログラム1370の構成および動作は第一および第二の実施の形態と同じであるが、書き込み処理プログラム8110の動作が異なる。
図27は、第三の実施の形態における書き込み処理プログラム8110の処理の流れを示す図である。書き込み処理プログラム8110は、論理ボリュームへの書き込みI/O要求発生時に、I/O処理プログラム1220により呼び出される。なお,図27の処理は,対象論理ボリュームに対応する物理ボリュームのそれぞれに対し行う。
まず、対象となる論理ボリューム8410に対応する物理ボリューム8450,8460のアクセス要求管理テーブル8455,8465に、アクセス要求管理テーブルエントリ8440を1つ追加する。このとき、書き込み対象アドレス8450に、書き込みI/Oを行う論理ボリューム上のアドレスを格納する(S9000)。次に、論理ボリューム8410に対して実際の書き込みI/O処理を実施する(S9010)。
最後に、ステップS9000で追加したアクセス要求管理テーブルエントリ8440を削除する。このとき、このエントリ8440の書き込み対象アドレス8445が格納されていた領域には、空白を示す値を格納する(S9020)。なお,エントリを削除せず,このI/Oが完了したことを示す値を格納してもよい。
図28は、第三の実施形態における待機系2000の整合性検査プログラム8200の処理の流れを示す図である。整合性検査プログラム8200は、系切替え処理の中で、系切替え制御プログラム6200から呼び出される。このとき、パラメータとしてアクセス監視対象の論理ボリュームIDの列を受け取る。なお、これ以外に追加パラメータがあってもよい。
まず、論理ボリュームIDの列から、取得可能な論理ボリュームIDが存在するかどうか判定する(S9100)。この判定で、取得可能な論理ボリュームIDが存在する場合は、1つの論理ボリュームIDを取得する。このとき、取得した論理ボリュームIDはパラメータとして受け取ったIDの列から削除する。そして、取得した論理ボリュームIDを元に、対応する論理ボリューム8410のアクセス要求管理テーブル8455,8465を読み込む(S9110)。一方、この判定の結果、取得可能な論理ボリュームIDが存在しなければ、このプログラムの処理を終了する。
次に、ステップS9110で読み込んだアクセス要求管理テーブル8455,8465の中に書き込み対象アドレス8445に空白を表す値以外が格納されたものが在るかどうか判定する。1つも存在しない場合は、そのエントリに対応する論理ボリュームは書き込みI/Oが全て完了した状態であることを意味し、復旧プログラム実行の必要がない。このため復旧プログラムを実行せずステップS9100に進む。一方、1つでも存在する場合は、そのエントリに対応する論理ボリュームは処理中で中断された書き込みI/Oが存在し、論理ボリューム内が不整合である可能性があることを意味している。そこでステップS9130に進み、論理ボリュームの復旧プログラムを実行する(S9120)。復旧プログラムは,その論理ボリュームに対応する物理ボリュームの一部または全部を他の物理ボリュームにコピーし,不整合な状態を修復する。
ステップS9130では、対応する論理ボリュームに対して論理ボリュームの復旧プログラムを実行する。これにより、その論理ボリューム内に不整合がある場合は復旧プログラムにより修復される(S9130)。復旧プログラムの実行後はS7300に進み、上記のステップを繰り返す。
図29は、第三の実施の形態におけるホットスタンバイ処理の流れを示す図である。
まず、現用系1000のシステム立ち上げ処理を行う(S9200)。この起動は通常のやり方と同じである。
続いて、現用系1000の通常運用時の処理が実行される。
即ち、アプリケーションプログラム1050が論理ボリュームに対し書き込みのI/O要求を発行すると、OS1200のI/O要求処理プログラム1220が呼び出され、実行される。I/O要求処理プログラム1220は、I/O対象となる論理ボリュームと、操作の内容に基づき、デバイススイッチテーブルエントリ1211の内容を参照する(S9205)。
次に、I/O要求処理プログラム1220は、上記参照されたデバイススイッチテーブルエントリ1211に登録されている書き込み処理プログラム8110を呼び出し実行する。書き込み処理プログラム8110は、書き込み対象論理ボリュームのアクセス要求管理テーブル8455,8465にアクセス要求管理テーブルエントリ8440を1つ追加し、実際のI/O処理を行う。更に、上記の追加したアクセス要求管理テーブルエントリ8440を削除した後、呼び出し元のアプリケーションプログラム1050にI/O完了を報告する。上記ステップS9205とS9210は、現用系1000で障害が発生するまで繰り返えされる(S9210)。
この状態で、現用系1000に障害が発生した場合には、系切替え処理が実行される。
即ち、現用系1000で障害が発生し、障害検出プログラム1230がこれを検出すると、障害検出プログラム1230は予め登録された論理ボリュームへのダンプ出力処理に対応するデバイススイッチテーブルエントリ1212を参照し、そのエントリに登録されたプログラムのアドレスを取得する(S5720)。
次に、障害検出プログラム1230は、ステップS5720で取得したアドレスのプログラムを呼び出す。これにより、デバイスドライバ8100のダンプ出力処理プログラム1320を呼び出し、実行する。ダンプ出力処理プログラム1320は、システム内のメモリダンプを論理ボリュームに出力する(S9215)。
ダンプ出力が終了すると、現用系1000は障害を復旧し、新たな待機系として立ち上がる。このとき、後述するステップS9250以降の処理を行う(S9220)。
続いて、待機系2000のシステム立ち上げ処理が実行される。
この処理では、まず、待機系2000のシステム立ち上げ処理が行われる(S9250)。システム立ち上げが終了すると、系切替え制御プログラム6200は現用系1000の障害を監視するステップS9255。
続いて、障害時における待機系2000系切替え処理が実行される。
待機系2000の系切替え制御プログラム6200は、現用系1000の障害発生を検出すると、整合性検査プログラム8200を呼び出し、論理ボリュームの整合性を検査する(S9255)。
次に、系切替え制御プログラム6200から呼び出された整合性検査プログラム8200は、パラメータとして渡された論理ボリュームの列に基づき、論理ボリューム内のアクセス要求管理テーブルを読み出して整合性のチェックを行う。このとき、途中で中断された書き込みI/Oが存在する場合は、その論理ボリュームに対し復旧プログラムを実行する(S9260)。復旧プログラムは,その論理ボリュームに対応する物理ボリュームの一部または全部を他の物理ボリュームにコピーし,不整合な状態を修復する。
以上の処理が終了すると、系切替え制御プログラム8200は、業務引継ぎ処理を行い、新らたな現用系として業務を再開する(S9265)。
以上により、現用系1000に障害が発生した場合、待機系2000が業務を引き継ぐ前に共有ディスク3000の整合性をチェックし、不整合の状態であればこれを修復することができる。
本発明の第一の実施形態によるホットスタンバイシステムの概略構成図である。 第一の実施形態における共有ディスク3000の構成を示す図である。 第一の実施形態におけるOS1200とデバイスドライバ1300の構成および相関を示す図である。 第一の実施形態におけるアクセス要求監視プログラム1250の構成を示す図である。 第一の実施形態におけるアクセス要求管理テーブル1300のエントリの構成を示す図である。 第一の実施形態におけるアクセス管理対象論理ボリュームの登録プログラム1255の処理の流れを示す図である。 第一の実施形態におけるアクセス管理対象論理ボリュームの除外プログラム1260の処理の流れを示す図である。 第一の実施形態におけるアクセス要求監視状態の取得プログラム1265の処理の流れを示す図である。 第一の実施形態におけるアクセス要求記録プログラム1270の処理の流れを示す図である。 第一の実施形態におけるアクセス記録の送信プログラム1275の処理の流れを示す図である。 第一の実施形態における初期化プログラム1280の処理の流れを示す図である。 第一の実施形態における系切替え制御プログラム1100の処理の流れを示す図である。 第一の実施形態における整合性検査プログラム1150の処理の流れを示す図である。 第一の実施形態におけるホットスタンバイ処理の流れを示す図である。 第二の実施形態によるホットスタンバイシステムの概略構成図である。 第二の実施形態におけるアクセス要求監視プログラム6100の構成を示す図である。 第二の実施形態におけるアクセス要求通知パケット6400の構成を示す図である。 第二の実施形態におけるアクセス要求記録プログラム6110の処理の流れを示す図である。 第二の実施形態におけるアクセス要求の受信プログラム6120の処理の流れを示す図である。 第二の実施形態における系切替え制御プログラム6000の処理の流れを示す図である。 第二の実施形態における整合性検査プログラム6250の処理の流れを示す図である。 第二の実施形態におけるホットスタンバイ処理の流れを示す図である。 第三の実施形態によるホットスタンバイシステムの概略構成図である。 第三の実施形態における共有ディスク8400の構成を示す図である。 第三の実施形態におけるアクセス要求管理テーブルのエントリ8440の構成を示す図である。 第三の実施形態におけるデバイスドライバ8100の構成を示す図である。 第三の実施形態における書き込み処理プログラム8110の処理の流れを示す図である。 第三の実施形態における整合性検査プログラム8200の処理の流れを示す図である。 第三の実施形態におけるホットスタンバイ処理の流れを示す図である。
符号の説明
1000:現用系計算機、 2000:待機系計算機、
1050、2050:アプリケーションプログラム、
1100、2100:系切替え制御プログラム、
1150、2150:OS、 1200、2200:アクセス要求制御プログラム、1300、2300:デバイスドライバ、 1350、2350:プロセッサ、
1400、2400:メモリ、 1450、2450:プロセッサ、
1500、2500:入出力プロセッサ(IOP)、
1550、2550:ディスク制御装置、 1600、2600:通信アダプタ、
3000:共有ディスク、 4000:ネットワーク

Claims (6)

  1. 現用系計算機と待機系計算機でストレージを共有するホットスタンバイシステムにおける系の切替え制御方法において、
    該現用系計算機から該ストレージのある論理ボリュームに対する書き込みI/O要求が発生した場合に、ストレージを構成する各論理ボリューム毎に前記論理ボリュームに対する操作の種類毎に起動するプログラムを登録したデバイススイッチテーブルを参照し、前記論理ボリュームにおける前記書込みI/O要求に対応する書込み処理プログラムを起動するステップと、
    前記書込み処理プログラムが処理中の該I/O要求に関する情報をメモリにI/O記録として記録し、論理ボリュームに対する書込みI/Oを処理するステップと、
    該現用系計算機で障害が発生した場合に、前記デバイススイッチテーブルを参照し、前記論理ボリュームのおけるダンプ出力処理に登録されているダンプ出力プログラムを起動するステップと、
    前記ダンプ出力プログラムが、該メモリに保持された該I/O記録を該待機系計算機へ送信し、該現用系計算機内のメモリダンプを前記論理ボリュームに出力するステップと、
    該待機系計算機で、該現用系計算機から送信された該I/O 記録を受信するステップと、
    該待機系計算機において、該受信されたI/O 記録を検証するステップと、
    該検証の結果、処理中の該I/O要求が存在した場合、該ストレージに対する復旧処理を実施するステップと、
    を含むことを特徴とする系の切替え制御方法。
  2. 前記書込みI/O要求をメモリに前期I/O記録として記録する対象として前記論理ボリュームを指定するステップと、
    前記対象として指定された論理ボリュームに対応する前記デバイススイッチテーブルを、前記書込みI/O要求をメモリに前記I/O記録として記録することの可能な前記書込みプログラムを登録するステップと、
    前記書込みI/O要求をメモリに前記I/O記録として記録しない除外対象として前記論理ボリュームを指定するステップと、
    前記除外対象として指定された論理ボリュームに対応する前記デバイススイッチテーブルを、前記前記書込みI/O要求をメモリに前記I/O記録として記録しない前記書込みプログラムを登録するステップと、
    を含むことを特徴とする請求項1記載の系の切替え制御方法。
  3. 前記I/O記録として、アクセス対象となる該論理ボリュームの識別情報と、該論理ボリュームに対するI/O要求のうち処理中のI/O要求をカウントする情報を、該メモリに格納することを特徴とする請求項1 又は2 の系の切替え制御方法。
  4. 前記I/O 記録は、該I/O要求毎にエントリを有するテーブル形式で該メモリに格納され、該現用系計算機から該待機系計算機へはネットワークを介して該テーブルの情報が送信され、
    該待機系計算機は、受信された該テーブルから取得可能なエントリを取得して、該エント
    リの該カウント情報が所定の値かを判定し、所定の値である場合には、復旧プログラムを
    実行せず、所定の値で無い場合には、該エントリに対応する前記論理ボリュームには中断
    された書き込みI/O が存在し、該論理ボリュームの内容が不整合であると見なして、該論理ボリュームに対して復旧プログラムを実行することを特徴とする請求項3の系の切替え制御方法。
  5. 現用系計算機と待機系計算機でストレージを共有するホットスタンバイシステムにおける
    系の切替え制御方法において、
    該現用系計算機から該ストレージのある論理ボリュームに対する書き込みI/O要求が発生した場合に、ストレージを構成する各論理ボリューム毎に前記論理ボリュームに対する操作の種類毎に起動するプログラムを登録したデバイススイッチテーブルを参照し、
    前記書込み処理プログラムが該I/O要求の前処理として、該待機系計算機にI/O開始の通知を送信し、論理ボリュームに対する書込みI/Oを処理するステップと、
    該待機系計算機で、該I/O開始の通知を受信し、I/O処理中を示す情報をメモリに記録するステップと、
    該現用系計算機で、前記書込み処理プログラムは、該I/O要求が完了した時、I/O 後処理として該待機系計算機にI/O 完了の通知を送信するステップと、
    該現用系計算機で障害が発生した場合に、該メモリに記録された該I/O 処理中を示す情報を検証するステップと、
    該検証の結果、処理中の書き込みI/O要求が存在する場合、該ストレージに対する復旧処理を実施するステップと、
    を含むことを特徴とする系の切替え制御方法。
  6. 現用系計算機と待機系計算機でストレージを共有するホットスタンバイシステムにおける
    系の切替え制御方法において、
    該現用系計算機から該ストレージのある論理ボリュームに対する書き込みI/O要求が発生した時、ストレージを構成する各論理ボリューム毎に前記論理ボリュームに対する操作の種類毎に起動するプログラムを登録したデバイススイッチテーブルを参照し、前記論理ボリュームにおける前記書込みI/O要求に対応する書込み処理プログラムを起動するステップと、
    前記書込み処理プログラムが該I/O要求の書き込み処理中であることを示す情報を該ストレージに記録するステップと、
    該現用系計算機で障害が発生した場合に、該待機系計算機で該ストレージに記録された情
    報を参照して検証するステップと、
    該情報の検証の結果、書き込み処理中である場合、該ストレージに対する復旧処理を実施
    するステップと、
    を含むことを特徴とする系の切替え制御方法。
JP2004190818A 2004-06-29 2004-06-29 ホットスタンバイシステム Expired - Fee Related JP4490745B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004190818A JP4490745B2 (ja) 2004-06-29 2004-06-29 ホットスタンバイシステム
US10/958,735 US7418624B2 (en) 2004-06-29 2004-10-04 Hot standby system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004190818A JP4490745B2 (ja) 2004-06-29 2004-06-29 ホットスタンバイシステム

Publications (2)

Publication Number Publication Date
JP2006012004A JP2006012004A (ja) 2006-01-12
JP4490745B2 true JP4490745B2 (ja) 2010-06-30

Family

ID=35507500

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004190818A Expired - Fee Related JP4490745B2 (ja) 2004-06-29 2004-06-29 ホットスタンバイシステム

Country Status (2)

Country Link
US (1) US7418624B2 (ja)
JP (1) JP4490745B2 (ja)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI302712B (en) * 2004-12-16 2008-11-01 Japan Science & Tech Agency Nd-fe-b base magnet including modified grain boundaries and method for manufacturing the same
JP4182948B2 (ja) * 2004-12-21 2008-11-19 日本電気株式会社 フォールト・トレラント・コンピュータシステムと、そのための割り込み制御方法
JP2006189963A (ja) * 2004-12-28 2006-07-20 Hitachi Ltd ストレージアクセス制御方法、クラスタシステム、パス接続スイッチおよびストレージアクセス制御プログラム
JP4839841B2 (ja) * 2006-01-04 2011-12-21 株式会社日立製作所 スナップショット再起動方法
US9648147B2 (en) * 2006-12-29 2017-05-09 Futurewei Technologies, Inc. System and method for TCP high availability
US8051326B2 (en) * 2006-12-29 2011-11-01 Futurewei Technologies, Inc. System and method for completeness of TCP data in TCP HA
JP4838226B2 (ja) * 2007-11-20 2011-12-14 富士通株式会社 ネットワークロギング処理プログラム,情報処理システムおよびネットワークロギング情報自動退避方法
JP5229232B2 (ja) * 2007-12-04 2013-07-03 富士通株式会社 リソース貸出制御装置、リソース貸出方法およびリソース貸出プログラム
US7539839B1 (en) 2008-06-30 2009-05-26 International Business Machines Corporation Method to test error recovery with selective memory allocation error injection
JP4924574B2 (ja) * 2008-08-29 2012-04-25 富士通株式会社 ストレージ装置の制御部及び制御方法
US20100229029A1 (en) * 2009-03-06 2010-09-09 Frazier Ii Robert Claude Independent and dynamic checkpointing system and method
US8417989B2 (en) * 2010-10-15 2013-04-09 Lsi Corporation Method and system for extra redundancy in a raid system
JP2012190175A (ja) * 2011-03-09 2012-10-04 Nec Corp フォールトトレラントシステム、サーバ、フォールトトレラント化方法およびプログラム
US9037907B2 (en) * 2011-06-10 2015-05-19 International Business Machines Corporation Operator message commands for testing a coupling facility
US8898519B1 (en) * 2012-03-30 2014-11-25 Emc Corporation Method and apparatus for an asynchronous splitter
EP2864885B1 (en) 2012-06-25 2017-05-17 Storone Ltd. System and method for datacenters disaster recovery
US10884843B2 (en) 2018-01-12 2021-01-05 International Business Machines Corporation Traffic and geography based cognitive disaster recovery
CN111427728B (zh) 2019-12-31 2022-07-01 杭州海康威视数字技术股份有限公司 状态管理方法、主备切换方法及电子设备
US11556441B2 (en) * 2021-04-16 2023-01-17 EMC IP Holding Company LLC Data storage cluster with quorum service protection

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0277943A (ja) * 1988-09-14 1990-03-19 Hitachi Ltd システムリカバリ方法
US6237108B1 (en) * 1992-10-09 2001-05-22 Fujitsu Limited Multiprocessor system having redundant shared memory configuration
JP3025732B2 (ja) * 1993-07-16 2000-03-27 株式会社ピーエフユー 多重化コンピュータシステムの制御方式
JPH08212095A (ja) * 1994-10-31 1996-08-20 Hitachi Ltd クライアントサーバ制御システム
JP3628777B2 (ja) * 1995-10-30 2005-03-16 株式会社日立製作所 外部記憶装置
JPH10289122A (ja) 1997-04-11 1998-10-27 Nec Corp ホットスタンバイシステムにおける系間共用ディスクの高速切り替え方式
US6636984B1 (en) 2000-06-15 2003-10-21 International Business Machines Corporation System and method for recovering data from mirror drives following system crash
JP3877519B2 (ja) * 2000-12-15 2007-02-07 株式会社日立製作所 システム回復方法およびその実施計算機システム並びにその処理プログラムを記録した記録媒体
US6957361B2 (en) * 2001-11-29 2005-10-18 International Business Machines Corporation Method, system, and program for error handling in a dual adaptor system
US6983397B2 (en) * 2001-11-29 2006-01-03 International Business Machines Corporation Method, system, and program for error handling in a dual adaptor system where one adaptor is a master

Also Published As

Publication number Publication date
US7418624B2 (en) 2008-08-26
JP2006012004A (ja) 2006-01-12
US20050289391A1 (en) 2005-12-29

Similar Documents

Publication Publication Date Title
JP4490745B2 (ja) ホットスタンバイシステム
US7370248B2 (en) In-service raid mirror reconfiguring
JP3992427B2 (ja) ファイルシステム
US6968425B2 (en) Computer systems, disk systems, and method for controlling disk cache
EP1764693B1 (en) Data restoring apparatus using journal data and identification information
JP4321705B2 (ja) スナップショットの取得を制御するための装置及び記憶システム
US7028216B2 (en) Disk array system and a method of avoiding failure of the disk array system
US7062676B2 (en) Method and system for installing program in multiple system
US7853767B2 (en) Dual writing device and its control method
US7587562B2 (en) Data duplication system, data duplication method and program
EP2864888B1 (en) Non-disruptive controller replacement in network storage systems
JP3481737B2 (ja) ダンプ採取装置およびダンプ採取方法
US8555012B2 (en) Data storage apparatus
JP4783076B2 (ja) ディスクアレイ装置及びその制御方法
US11182252B2 (en) High availability state machine and recovery
US20090249010A1 (en) Apparatus and method for controlling copying
US7529776B2 (en) Multiple copy track stage recovery in a data storage system
US7966516B2 (en) Automatic JTA migration
US7107485B2 (en) Method, apparatus, and computer readable medium for managing multiple system
US20070234114A1 (en) Method, apparatus, and computer program product for implementing enhanced performance of a computer system with partially degraded hardware
JP2000293391A (ja) 大規模メモリシステム管理方法および装置
JP3102119B2 (ja) ホストコンピュータ装置
JP3555847B2 (ja) キャッシュメモリの障害処理装置、キャッシュメモリの障害処理方法、マルチプロセッサシステム
JP3214551B2 (ja) 競合検出故障診断方式、競合検出故障診断方法、バスコンバータ、および記録媒体
JPH11212917A (ja) トランザクションリカバリ方式およびそのプログラム記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061129

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20061129

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090218

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090303

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090427

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: 20100316

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: 20100402

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

Free format text: PAYMENT UNTIL: 20130409

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees