[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP4939180B2 - 接続された装置を構成するための初期設定コードの実行 - Google Patents

接続された装置を構成するための初期設定コードの実行 Download PDF

Info

Publication number
JP4939180B2
JP4939180B2 JP2006312178A JP2006312178A JP4939180B2 JP 4939180 B2 JP4939180 B2 JP 4939180B2 JP 2006312178 A JP2006312178 A JP 2006312178A JP 2006312178 A JP2006312178 A JP 2006312178A JP 4939180 B2 JP4939180 B2 JP 4939180B2
Authority
JP
Japan
Prior art keywords
segment
configuration code
master cluster
response
failed
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
JP2006312178A
Other languages
English (en)
Other versions
JP2007149085A (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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2007149085A publication Critical patent/JP2007149085A/ja
Application granted granted Critical
Publication of JP4939180B2 publication Critical patent/JP4939180B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • 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/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2089Redundant storage control functionality

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Retry When Errors Occur (AREA)
  • Hardware Redundancy (AREA)

Description

本発明は、接続された装置を構成するために初期設定コードを実行するための方法、システム、およびプログラムに関する。
ストレージ・ネットワーク内のホスト・システムは、複数の経路によりストレージ・コントローラと通信することができる。ストレージ・コントローラは個別のストレージ・クラスタ(storage cluster)から構成することができ、各ストレージ・クラスタは記憶装置にアクセスすることができ、記憶装置にアクセスするための冗長性を提供する。ホストは、いずれか一方のクラスタを介して、付加された記憶装置にアクセスすることができる。ストレージ・クラスタに障害が発生した場合、ホストは、もう一方のストレージ・クラスタを使用して記憶装置にアクセスすることにフェイルオーバ(failover)することができる。さらに、一方のクラスタに障害が発生した場合、記憶装置への最近の書込みが非障害クラスタの不揮発性記憶装置(NVS:non-volatilestorage)に維持されるように、クラスタはもう一方のクラスタへの書込みをNVS内にバッファリングすることができる。このような複式クラスタ・システムでは、付加された記憶装置内に構成された論理装置、たとえば、論理サブシステム(LSS:logicalsubsystem)を使用するように各クラスタを構成しなければならない。
複式クラスタ・システムでは、各クラスタは、バス・インターフェース、記憶装置、アダプタなどの接続された装置にアクセスするようにクラスタを構成するために、初期マイクロコード・ロード(IML:initial microcode load)などの初期設定コードを別々に実行する。各クラスタは、接続された装置にアクセスするために使用するための個別の構成情報セットを維持している。構成中に障害が発生し、エラー回復手順ではその障害から回復して構成および初期設定を続行することができない場合、管理者は、複式クラスタ・システムを障害が発生した初期設定および構成の開始以前の状態に戻すために、各クラスタの設定を手動で編集し再構成しなければならない可能性がある。
当技術分野では、構成操作中に障害を処理するための改良された技法が必要である。
接続された装置を構成するために初期設定コードを実行するための方法、システム、およびプログラムが提供される。少なくとも1つの接続された装置を構成するための複数のセグメントが提供され、それぞれのセグメントは少なくとも1つの接続された装置を構成するための構成コードを含む。それぞれのセグメント内の構成コードを実行して少なくとも1つの接続された装置に関する構成操作を実行することにより、セグメントはセグメント順に従って実行される。セグメントに関する構成操作の実行を完了したことに応答してメモリ内にセグメントの完了が示される。
図1は、ネットワーク・コンピューティング環境の一実施形態を示している。システム2は、それぞれが1つまたは複数のボリューム10a、10b(たとえば、論理装置番号、論理装置など)を有するように構成された記憶装置8a、8bに向けられたホスト・システム4a、4b・・・4nからの入出力(I/O)要求をネットワーク6により受け取る。システム2は、それぞれがプロセッサ複合体14a、14bとキャッシュ16a、16bとを含む2つのクラスタ12a、12bを含む。クラスタ12a、12bは、ホスト4a、4b・・・4nからの入出力要求を受け取り、その要求をバッファリングし、それぞれのキャッシュ16a、16b内のデータを記憶装置8a、8bに書き込む。クラスタ12a、12bは、キャッシュ16a、16b内で更新のバックアップ記憶を可能にするために不揮発性記憶装置(図示せず)などの追加のコンポーネントを含むことができる。クラスタ12a、12bは、異なる電力境界(power boundary)を有することができる。上述の実施形態では、各ストレージ・クラスタ12a、12bは、記憶装置8a、8bを含む付加された記憶装置へのアクセスを可能にする。各クラスタ12a、12bは、ホスト4a、4b・・・4nの入出力要求を処理するためにプロセッサ複合体14a、14bによって実行される入出力管理機能ソフトウェア18a、18bを含む。バス20は、クラスタ12a、12b間の通信を可能にするための通信インターフェースを提供する。バス22は、クラスタ12a、12bと記憶装置8a、8bとの間の通信を提供する。バス20および22は、周辺装置相互接続(PCI:PeripheralComponent Interconnect)バスなど、当技術分野で知られている適切な通信インターフェースまたはその他のバス・インターフェースを含むことができる。バス20および22は、接続するか、個別のものにするか、または複数の接続済みバス・デバイスを含むか、あるいはこれらの組み合わせにすることができる。
クラスタ12a、12bはいずれも、バス20またはその他の何らかのインターフェースにより共用メモリ24にアクセスすることができる。共用メモリ24は、ハード・ディスク・ドライブ、不揮発性電子メモリなどを含むことができる。代わって、マスタがクラッシュした場合に非マスタがその構成を引き継ぐために、各クラスタ内のコピーが同期状態に保持されるように、個別の共用メモリ・デバイスがまったくない場合、共用メモリ24は各クラスタ内に同じデータのコピーを含むことができる。コピーの同期は各セグメントの完了時に行うことができる。各クラスタ12a、12bによる各セグメントの完了に留意するために、共用メモリ24を更新することができる。さらに、共用メモリ24は各クラスタごとにセグメント・チェックポイント情報を含むことができ、それは、いずれかのクラスタ12a、12bがセグメントを完了したかどうかを示すものである。
さらに、クラスタ12a、12bは、ホスト4a、4b・・・4nと通信するためにアダプタ26a、26b・・・26nにアクセスすることができる。アダプタは、クラスタ12a、12bのハードウェア内にまたはクラスタ12a、12bの外部に実現することができる。クラスタ12a、12bは、使用のために接続された装置を構成するようにクラスタ12a、12bが実行する初期マイクロコード・ロード(IML:initial microcode load)などの初期設定コード28a、28bをさらに含む。構成操作は、接続された装置によるアクセスおよび通信を可能にするために、ドライバおよび接続された装置をロードし構成することを含むことができる。たとえば、クラスタ12a、12bは、バス20と、記憶ボリューム10a、10bと、アダプタ26a、26b・・・26nと、ホスト4a、4b・・・4nなど、アダプタ26a、26b・・・26nに接続された任意のデバイスとを使用するようにクラスタ12a、12bを構成するために初期設定コード28a、28bを実行する。構成操作は、それらのデバイスを使用するためにクラスタ12a、12bのメモリ、たとえば、キャッシュ16a、16b内のデータ構造を更新することを伴う場合もある。たとえば、構成コードは、記憶装置内のボリューム10a、10bにアクセスできるようにクラスタ12a、12bを構成するかまたは仮想化装置を構成することができる。セグメント完了情報30は、その実行が正常に完了した構成コードのセグメントまたはセクションに関する情報を含む。特定の諸実施形態では、初期設定およびウォーム・スタートなどの再始動中の障害後のエラー回復手順に対して情報を提供できるように、共用メモリ24は構成エラーが発生した後の情報を維持する。
システム2は、ストレージ・コントローラまたはサーバを含むことができる。代替一実施形態では、システム2は、接続された装置の初期設定および構成操作を実行する種々のタイプのコンピュータ・デバイスを含むことができる。ホスト4a、4b・・・4nは、サーバ、メインフレーム、ワークステーション、パーソナル・コンピュータ、ハンドヘルド・コンピュータ、ラップトップ、電話装置、ネットワーク家電など、当技術分野で知られているコンピューティング・デバイスを含むことができる。ネットワーク6は、ストレージ・エリア・ネットワーク(SAN)、ローカル・エリア・ネットワーク(LAN)、イントラネット、インターネット、広域ネットワーク(WAN)などを含むことができる。記憶装置8a、8bは、単純ディスク束(JBOD:Just a Bunch of Disks)、直接アクセス記憶装置(DASD:Direct Access Storage Device)、冗長ディスク・アレイ(RAID:RedundantArray of Independent Disks)というアレイ、仮想化装置、テープ記憶装置、フラッシュ・メモリなどの記憶装置のアレイを含むことができる。
図2は、初期設定構成操作を実行するために実行される初期設定手順50と、初期設定および構成操作中に障害を検出したことに応答して実行されるエラー回復手順(ERP:error recovery procedure)52とを含む、初期設定コード・コピー28a、28bなどの初期設定コード28のコンポーネントを示している。初期設定コード28はセグメント54a、54b・・・54n内に編成された構成コードをさらに含み、各セグメントは構成コード56a、56b・・・56nおよびチェックポイント情報58a、58b・・・58nのセクションを含む。各セグメント54a、54b・・・54nには任意選択のクリーンアップ・ルーチンを関連付けることができる。セグメントに関連するクリーンアップ・ルーチン60a、60b・・・60nを実行すると、クラスタ構成は関連セグメント54a、54b・・・54nの構成コード56a、56b・・・56nが実行される前の状態に戻される。クリーンアップ・ルーチン60a、60b・・・60nは、メモリおよびレジスタ内の特定の情報を削除し、障害が発生した構成コードの実行によって引き起こされた設定をその他の方法で逆転することができる。
セグメント54b・・・54nは、構成コード56b、56c(図示せず)と、チェックポイント情報58b・・・58n(図示せず)と、任意選択でクリーンアップ・ルーチン60b・・・60n(図示せず)とを含む。クリーンアップ・ルーチン60b・・・60nは、構成コードとは別に記憶することができる。ある実施形態では、構成コード54a、54b・・・54nは、構成コード54a、54b・・・54nの種々のセグメントを分離するチェックポイントを有する1つまたは複数のプログラムで実現することができる。代わって、あるセグメントに関するチェックポイント情報がそのセグメントに関する情報を提供する場合、構成コード54a、54b・・・54nの各セグメントは個別にアドレス可能である場合もある。各セグメント内の構成コード54a・・・54nは個別の構成操作を実行することができる。
図3は、継続情報70とクリーンアップ・ルーチン情報72とを含み、チェックポイント情報58aなど、あるセグメントに関するチェックポイント情報58とともに含めることができる情報の一実施形態を示している。継続情報70は、あるセグメント54a、54b・・・54nに関する構成コード56a、56b・・・56nを実行している間に障害が発生した場合、エラー回復手順(ERP)52中にそのセグメントから構成を継続できるかどうかを示している。クリーンアップ・ルーチン情報72は、実行されたときに、クラスタまたはシステム構成を障害発生セグメントの構成コードが実行される前の状態に戻すクリーンアップ・ルーチンを識別する。しかし、障害が発生した構成コードのうち試行された実行セグメントより前に実行され完了した構成コード・セグメントの結果として行われた変更は有効なままになる。障害が発生した構成コードの実行中に行われた可能性のある変更を逆転するためにコードを実行する必要がない場合、セグメントはクリーンアップ・ルーチンを備えていない場合もある。
図4は、構成コード56a、56b・・・56nのセグメントを識別するかまたはアドレス指定するセグメントIDまたはポインタ82と、識別された構成コードの実行が成功したかどうかを示す完了フラグ84とを含み、あるセグメント54a、54b・・・54nに関するセグメント完了情報30(図1)とともに含まれる情報の一例80を示している。したがって、システムがあるセグメントに関する構成コードの実行を完了するたびに、構成コードの正常に実行されたセグメントに関するセグメント完了情報の一例80内の完了フラグ84に、その正常完了を示す情報が示される。この情報により、システムは、最後に正常に完了したセグメントを決定することができる。セグメント順は構成コードが実行された順序を示し、その順序はプログラムが構成コードのセグメントを実行する順序から決定することができる。
図5は、1つまたは複数のクラスタを含むシステムによって実行されたときに初期設定コード50によって実行される操作の一実施形態を示している。図5の操作は、単一のプロセッサなどを有するシステムなどの単一クラスタ・デバイスに接続された複数のデバイスを構成するために、クラスタ12aなど、1つのクラスタのみを有するシステムによって実行することができる。単一クラスタ環境、すなわち、単一プロセッサ環境では、共用メモリは、構成中にプロセッサによって使用される不揮発性メモリを含む。初期設定手順50を実行することによって構成操作を開始すると(ブロック100)、初期設定手順50は、第1のセグメント54a内の構成コード56aにアクセスし(ブロック102)、論理装置、記憶領域、メモリ領域、アダプタなど、少なくとも1つの接続された装置を構成するように実行する(ブロック104)。構成コードの実行を正常に完了すると、たとえば、不揮発性メモリ24にセグメントの完了が示される(ブロック106)。ある実施形態では、完了したセグメントに関するセグメント完了情報の一例80内にそのセグメント82に関する完了フラグ84を設定することにより、そのセグメントに関する構成コードの完了を示すことができる。実行すべき追加セグメント54a、54b・・・54nが存在する場合(ブロック108)、初期設定コード28内の次のセグメントに関する構成コード56b・・・56nにアクセスし(ブロック110)、次にアクセスされた構成コード56b・・・56nを実行するために制御はブロック104に戻る。すべてのセグメントに関する構成コードを実行した後、構成完了が返され(ブロック112)、成功したかまたは失敗した構成操作を除去するために共用メモリ24が更新される。
図6は、図5において構成コードの実行中に障害を検出したことに応答してエラー回復手順(ERP)52によって実行される操作の一実施形態を示している。図6の操作は、接続された装置、たとえば、バス・インターフェース、記憶装置、アダプタなどを構成するために単一または複数のクラスタ・システムによって実行することができる。あるセグメント内の構成コード56a、56b・・・56nのセグメントを実行している間に障害が発生した後でERP52を開始したこと(ブロック150)に応答して、ERP52はメモリ24から最後に完了したセグメントを決定する(ブロック152)。一般に、セグメントERPを開始するために、セグメント障害がセグメントERPへの分岐を引き起こす方法(ブロック150および250)と、セグメント障害がシステムERPを引き起こし、システムERPの後、障害発生セグメントが共用メモリ内のマスタによって検出され、セグメントERPが開始される方法と、セグメント障害がシステム・リブートを引き起こし、システムIMLの後、障害発生セグメントが共用メモリ内のマスタによって検出され、セグメントERPが開始される方法という3通りの方法がある。最後に完了したセグメントは、その完了フラグ82が設定されているセグメントであって、セグメント順で最後のセグメントを含むことができる。障害発生セグメントに関するチェックポイント情報58a、58b・・・58n内の継続情報70(図3)など、障害発生セグメントに関する継続情報が、障害発生セグメントから実行を継続できないことを示している場合(ブロック154)、ERP52は、障害発生セグメントならびに障害発生セグメントに先行し、その実行が正常に完了したすべてのセグメントに関連する任意のクリーンアップ・ルーチン60a、60b・・・60nを決定する(ブロック156)。その場合、障害が発生した単一セグメントについてクリーンアップ・ルーチン60a、60b・・・60nを実行すると、障害発生セグメントを再試行することができる可能性がある。特定の状況では、クリーンアップ・ルーチンを実行せずに、障害発生セグメントを通る途中の障害ポイントから障害発生セグメントを再試行できるであろう。少なくとも1つの接続された装置の構成を構成コードの実行前の状態に戻すために、決定されたクリーンアップ・ルーチン60a、60b・・・60nがセグメント順の逆の順序で実行される(ブロック158)。次に、構成の失敗が返される(ブロック160)。
障害発生セグメントから構成を継続できることを構成情報70が示す場合(ブロック154)、および障害が発生した構成コードの実行を再試行するためにERP52が試みた回数が再試行限界より大きいことを再試行値31(図1)が示す場合(ブロック162)、制御はブロック156に移行し、構成に失敗のプロセスを開始する。図1において共用メモリ24内の再試行値31として示されているように、再試行値を不揮発性メモリ内に維持することができる。さもなければ、再試行値31が再試行限界より小さい場合(ブロック162)、再試行値が増分される(ブロック164)。障害発生セグメント、すなわち、障害が発生した構成コードを有するセグメントについてクリーンアップ・ルーチン60a、60b・・・60nが存在する場合(ブロック166)、ERP52は、決定されたクリーンアップ・ルーチン60a・・・60nを実行し、システムを障害が検出された構成コードの実行前に存在した状態に戻す(ブロック168)。ブロック168またはブロック166のNO分岐から、障害発生セグメント54a、54b・・・54n内の構成コード56a、56b・・・56nがアクセスされ、実行される(ブロック170)。ブロック170の構成コードの実行が失敗した場合(ブロック172)、制御はブロック150に戻る。さもなければ、構成コード56a、56b・・・56nがブロック170で正常に実行された場合、再試行値31がクリアされ(ブロック174)、制御は図5のブロック106に移行し、構成を完了するためにセグメント54a、54b・・・54n内の構成コードの実行を継続する(ブロック176)。
図6の操作では、初期設定コード28を実行するシステムは、障害から回復することができ、始めから構成を再始動しなければならないことを回避し、構成プロセスの自動回復を可能にするために、障害が発生したポイントから構成コードの実行を試みることができる。
図7および図8は、バス20、22、アダプタ26a、26b・・・26n、および記憶装置8a、8bなどの接続された装置を構成するためにマルチクラスタ・システム2(図1)内のクラスタ12a、12bによって実行される操作の一実施形態を示している。クラスタ12a、12bは、その両方がアクセスする記憶装置8a、8bおよびバス20、22などの共用リソースを構成することができる。クラスタ12aなどの一方のクラスタは構成中にマスタとして指定することができ、クラスタ12bなどのもう一方のクラスタは非マスタとして指定することができ、クラスタ12a、12bはいずれもマスタとして指定することができる。ある実施形態では、クラスタ12a、12bがいずれも共用メモリ24にアクセスできない場合、システム2全体に関する構成が失敗する可能性がある。
図7に関しては、マスタ・クラスタ12aが構成操作を開始すると(ブロック200)、マスタ・クラスタ12aは、構成コード56aの第1のセグメントにアクセスし(ブロック202)、アクセスされた構成コード56aを実行する(ブロック204)。正常に完了すると、マスタ・クラスタ12aは、そのセグメントの構成コードを実行するよう、非マスタ・クラスタ12bに通知する、すなわち、メッセージを送る(ブロック206)。マスタ・クラスタ12aは、実行されたばかりの構成コードに関連する構成データを非マスタ・クラスタ12bにさらに転送することができる。この信号に応答して、非マスタ・クラスタ12bは、マスタ・クラスタ12aによって実行されたばかりのセグメント内の構成コードを実行する(ブロック208)。正常に完了すると、非マスタ・クラスタ12bは、構成コードの実行が成功または失敗だったことをマスタ・クラスタに通知する(ブロック210)。
非マスタ・クラスタ12bからの完了に応答して、マスタ・クラスタ12aは、共用メモリ24内にセグメントの完了を示す(ブロック212)。ブロック212におけるこの表示は、その構成コードが両方のクラスタ12a、12bによって正常に実行されたセグメント82に関するセグメント完了情報の一例80内に完了フラグ84を設定することを伴う場合もある。この実施形態では、完了の表示は、両方のクラスタ12a、12bがそのセグメントに関する構成コード56a、56b・・・56nの実行を正常に完了したことを示す。
実行すべき構成コード56a、56b・・・56nの追加セグメントが存在する場合(ブロック214)、そのセグメントに関する構成コードが実行されるセグメント順に従って次のセグメントに関する構成コード56b・・・56nがアクセスされ(ブロック216)、制御はブロック204に戻り、次にアクセスされたセグメントに関する構成コード56b・・・56nを実行する。すべてのセグメントに関する構成コードが両方のクラスタ12a、12bによって正常に実行された後、構成が完了し(ブロック218)、成功または失敗した構成操作を除去するために共用メモリ24が更新される。
図8は、マスタ・クラスタ12aまたは非マスタ・クラスタ12bのいずれか一方が図7の操作により構成コードを実行しているときに構成障害が発生する可能性のある場合に、構成コードの実行中に障害を検出したことに応答してマスタ・クラスタ12aによって実行されるエラー回復操作の一実施形態を示している。ERP52を実行したことに応答して(ブロック250)、マスタ・クラスタ12aは、図6のブロック152〜172の操作を実行し、障害が発生したときに実行されていたセグメントからの構成コードを実行する(ブロック252)。障害発生セグメント54a、54b・・・54n内の構成コード56a、56b・・・56nの実行が成功した場合(ブロック254)、マスタ・クラスタ12aは、障害発生セグメントからの構成コード56a、56b・・・56nを実行するよう、非マスタ・クラスタ12bに通知する(ブロック256)。マスタ・クラスタ12aは、図7のブロック212に移行して、追加セグメント内の構成コードの実行を継続する(ブロック266)。ブロック254で構成コードの実行が失敗した場合(再試行限界を超えたために図6のブロック160で失敗が返された場合またはブロック154で障害発生セグメントから実行を継続できないことを継続情報が示す場合に発生するもの)、マスタ・クラスタ12aは、構成に失敗するよう、非マスタ・クラスタ12bに通知する(ブロック257)。
マスタ・クラスタ12aから障害発生セグメントを実行するための信号を受け取ると、非マスタ・クラスタ12bは、図6のブロック152〜172の操作を実行し、障害発生セグメント内の構成コードを実行する(ブロック258)。障害発生セグメント内の構成コードの実行が成功した場合(ブロック260)、非マスタ・クラスタ12bは、そのセグメントの構成コード56a、56b・・・56nの実行が成功したことをマスタ・クラスタ12aに通知する(ブロック262)。この信号に応答して、マスタ・クラスタ12aは図7のブロック212およびそれ以降に移行して、そのセグメントに関する構成コードの実行を継続する。ブロック260で非マスタ・クラスタ12bによる構成コードの実行が失敗した場合(再試行限界を超えたために図6のブロック160で失敗が返された場合またはブロック154で障害発生セグメントから実行を継続できないことを継続情報が示す場合に発生するもの)、非マスタ・クラスタ12bは、マスタ・クラスタ12aにその失敗を通知する(ブロック264で)。
図7および図8の上述の操作では、マスタ・クラスタ12aおよび非マスタ・クラスタ12bはそれぞれ、あるセグメントに関する構成コードを実行し、そのセグメントに関する構成コードのそれぞれの実行を調整する。障害が存在する場合、マスタ・クラスタ12aは、障害が発生したセグメント内の構成コードを実行しようと再試行し、障害発生セグメントからの構成コードも実行するよう、非マスタに通知する。さらに、構成操作中にマスタがクラッシュした場合、非マスタはマスタになり、システムERPの終わりに共用メモリに照会する。上述の操作では、障害が発生した場合、どちらのクラスタも障害が発生したセグメントから始動しようと試みることができる。
追加の実施形態の詳細
上述の操作は、ソフトウェア、ファームウェア、ハードウェア、または任意のそれらの組み合わせを生成するために標準のプログラミングまたはエンジニアリングあるいはその両方の技法を使用する方法、装置、またはプログラム(article of manufacture)として実現することができる。プロセッサが「コンピュータ可読媒体(computerreadable medium)」からコードを読み取って実行できる場合、上述の操作は、コンピュータ可読媒体内に維持されたコードとして実現することができる。コンピュータ可読媒体は、磁気記憶媒体(たとえば、ハード・ディスク・ドライブ、フレキシブル・ディスク、テープなど)、光学記憶装置(CD−ROM、DVD、光ディスクなど)、揮発性および不揮発性メモリ・デバイス(たとえば、EEPROM、ROM、PROM、RAM、DRAM、SRAM、フラッシュ・メモリ、ファームウェア、プログラマブル・ロジックなど)などの媒体を含むことができる。上述の操作を実現するコードは、ハードウェア・ロジック(たとえば、集積回路チップ、プログラマブル・ゲート・アレイ(PGA:ProgrammableGate Array)、特定用途向け集積回路(ASIC:Application Specific Integrated Circuit)など)でさらに実現することができる。さらに、「伝送信号(transmissionsignal)」が空間を伝搬するかまたは光ファイバ、銅線などの伝送媒体を伝搬できる場合、上述の操作を実現するコードは、伝送信号で実現することができる。コードまたはロジックがコード化される伝送信号は、ワイヤレス信号、衛星伝送、電波、赤外線信号、Bluetoothなどをさらに含むことができる。伝送信号にコード化されるコードまたはロジックを受信局および送信局または受信装置および送信装置でハードウェアまたはコンピュータ可読媒体にデコードし記憶できる場合、コードまたはロジックがコード化される伝送信号は、送信局によって送信し、受信局によって受信することができる。「プログラム(articleof manufacture)」は、コードを実現できるコンピュータ可読媒体、ハードウェア・ロジック、または伝送信号、あるいはこれらの組み合わせを含む。上述の操作の諸実施形態を実現するコードがコード化される装置は、コンピュータ可読媒体またはハードウェア・ロジックを含むことができる。当然のことながら、当業者であれば、本発明の範囲を逸脱せずにこの構成に対して多くの変更を行うことができ、プログラムが当技術分野で知られている適切な情報伝送媒体を含むことができることを認識するであろう。
「一実施形態(an embodiment)」、「実施形態(embodiment)」、「諸実施形態(embodiments)」、「この実施形態(theembodiment)」、「これらの実施形態(the embodiments)」、「1つまたは複数の実施形態(one or more embodiments)」、「いくつかの実施形態(someembodiments)」、および「ある実施形態(one embodiment)」という用語は、特に明記されていない限り、「本発明(複数も可)の1つまたは複数(だがすべてではない)実施形態」を意味する。
「含む(including)」、「含む(comprising)」、「有する(having)」という用語ならびにその変形は、特に明記されていない限り、「含むがそれに限定されない」ことを意味する。
列挙された項目のリストは、特に明記されていない限り、それらの項目の一部または全部が互いに排他的であることを示すわけではない。
「1つの(a)」、「ある(an)」、および「その(the)」という用語は、特に明記されていない限り、「1つまたは複数」を意味する。
互いに連絡している装置は、特に明記されていない限り、互いに連続的に連絡している必要はない。加えて、互いに連絡している装置は、直接的に、あるいは1つまたは複数の仲介を介して間接的に、通信することができる。
互いに連絡しているいくつかのコンポーネントを含む一実施形態の記述は、このようなコンポーネントがすべて必要であることを示しているわけではない。これに反して、本発明について考えられる種々様々な実施形態を例示するために、色々な任意選択のコンポーネントが記載されている。
さらに、プロセス・ステップ、方法ステップ、アルゴリズムなどは、ある順序で記述することができるが、このようなプロセス、方法、およびアルゴリズムは、代替順序で機能するように構成することもできる。換言すれば、記述可能な任意の順番または順序のステップは必ずしも、それらのステップがその順序で実行されるという要件を示すわけではない。本明細書に記載されているプロセスのステップは、実用的な任意の順序で実行することができる。さらに、いくつかのステップは同時に実行することができる。
単一の装置またはプログラム(article)が本明細書に記載されている場合、単一の装置/プログラムの代わりに2つ以上の装置/プログラム(それらが協働するかどうかは問わない)を使用できることは容易に明らかであろう。同様に、2つ以上の装置またはプログラム(それらが協働するかどうかは問わない)が本明細書に記載されている場合、2つ以上の装置またはプログラムの代わりに単一の装置/プログラムを使用できるか、あるいは示されている数の装置またはプログラムの代わりに異なる数の装置/プログラムを使用できることは容易に明らかであろう。ある装置の機能または特徴あるいはその両方は、その代わりに、このような機能/特徴を有するものとして明示的に記載されていない1つまたは複数の他の装置によって具体化することができる。したがって、本発明のその他の諸実施形態はその装置そのものを含む必要はない。
図5、図6、図7、および図8に例示されている操作は、特定の順序で発生する特定のイベントを示している。代替諸実施形態では、特定の操作を異なる順序で実行するか、変更するか、または除去することもできる。その上、上述のロジックにステップを追加することができ、そのステップが依然として上述の諸実施形態に適合することができる。さらに、本明細書に記載されている操作は順次実行できるかまたは特定の複数の操作を並行して処理することができる。さらに、操作は単一の処理装置によって実行するかまたは複数の分散処理装置によって実行することができる。
本発明の様々な諸実施形態に関する上記の記述は、例示および説明のために提示されたものである。網羅することまたは開示された正確な形式に本発明を限定することは意図されていない。上記の教示を考慮すると、多くの変更および変形が可能である。本発明の範囲は、この詳細な説明ではなく、むしろ特許請求の範囲によって制限されることが意図されている。上記の仕様、例、およびデータは、本発明の構成の製造および使用に関する完全な説明を提供するものである。本発明の精神および範囲を逸脱せずに本発明の多くの実施形態を作成できるので、本発明は特許請求の範囲に存在する。
コンピューティング環境の一実施形態を示す図である。 初期設定コード内のコンポーネントを示す図である。 チェックポイント情報の一実施形態を示す図である。 セグメント完了情報の一実施形態を示す図である。 構成コードを実行するための操作の一実施形態を示す図である。 構成コードの実行中の障害から回復するためのエラー回復手順のための操作の一実施形態を示す図である。 複式クラスタ環境で構成コードを実行するための操作の一実施形態を示す図である。 複式クラスタ環境で構成コードの実行中の障害から回復するためのエラー回復手順のための操作の一実施形態を示す図である。
符号の説明
2:システム
4a、4b・・・4n:ホスト
6:ネットワーク
8a、8b:記憶装置
10a、10b:ボリューム
12a、12b:クラスタ
14a、14b:プロセッサ複合体
16a、16b:キャッシュ
18a、18b:入出力管理機能
20、22:バス
24:共用メモリ
26a、26b・・・26n:アダプタ
28a、28b:初期設定コード
30:セグメント完了情報
31:再試行値

Claims (8)

  1. 複式クラスタ環境の構成操作を実行させるために、コンピュータに対して、
    (a)初期設定コードに含まれる複数のセグメントのそれぞれを、セグメント順に従って、マスタ・クラスタが、1つのセグメント内の構成コードを実行し、該構成コードの実行が正常に完了したことに応答して、該構成コードを実行するように非マスタ・クラスタに通知するステップと、
    (b)ステップ(a)の前記通知に応答して、前記非マスタ・クラスタが前記マスタ・クラスタによって実行された前記1つのセグメント内の構成コードを実行し、該構成コードの実行を正常に完了したことを前記マスタ・クラスタに通知するステップと、
    (c)ステップ(b)の前記通知に応答して、前記マスタ・クラスタが、前記1つのセグメント内の構成コードが前記マスタ・クラスタおよび前記非マスタ・クラスタの両方によって正常に実行されたことを示す完了フラグを共用メモリ内に設定するステップと、
    (d)前記マスタ・クラスタが前記1つのセグメント内の構成コードの実行中に障害が発生した後でエラー回復手順が開始されたことに応答して、前記共用メモリ内に前記完了フラグが設定されているセグメントを最後に完了したセグメントとして決定し、該最後に完了したセグメントに続く障害が発生した障害発生セグメント内の構成コードを実行するステップと、
    (e)前記マスタ・クラスタが前記障害発生セグメント内の構成コードの実行に成功したことに応答して、前記非マスタ・クラスタに該障害発生セグメント内の構成コードを実行するように通知するステップと、
    (f)ステップ(e)の前記通知に応答して前記非マスタ・クラスタが前記障害発生セグメント内の構成コードを実行するステップと、
    (g)前記非マスタ・クラスタが前記障害発生セグメント内の構成コードの実行に成功したことに応答して、該障害発生セグメント内の構成コードの実行が成功したことを前記マスタ・クラスタに通知するステップと、
    (h)ステップ(g)の前記通知に応答して、前記マスタ・クラスタが前記障害発生セグメント内の構成コードが前記マスタ・クラスタおよび前記非マスタ・クラスタの両方によって正常に実行されたことを示す完了フラグを前記共用メモリ内に設定するステップと、
    を実行させるためのコンピュータ実行可能なプログラム。
  2. 前記ステップ(d)は、
    前記障害発生セグメントに関する継続情報が該障害発生セグメントから実行を継続できることを示しているか否か判定するステップを含み、
    前記継続情報が前記障害発生セグメントから実行を継続できることを示していると判定したことに応答して、該障害発生セグメント内の前記構成コードを実行する、
    請求項1に記載のプログラム。
  3. 前記ステップ(d)は、
    前記継続情報が前記障害発生セグメントから実行を継続できることを示していると判定したことに応答して、該障害発生セグメントに関連するクリーンアップ・ルーチンが存在するか否かを判定するステップと、
    前記クリーンアップ・ルーチンが存在すると判定したことに応答して、該クリーンアップ・ルーチンを実行するステップとを含み、
    前記クリーンアップ・ルーチンを実行したことに応答して前記障害発生セグメント内の前記構成コードを実行する、請求項2に記載のプログラム。
  4. 前記ステップ(d)は、
    前記継続情報が前記障害発生セグメントから実行を継続できることを示していると判定したことに応答して、再試行値が再試行限界を超えるか否かを判定するステップと、
    前記再試行値が前記再試行限界を超えないと判定したことに応答して、前記障害発生セグメント内の前記構成コードを実行する前に前記再試行値を増分するステップと、
    前記再試行値が前記再試行限界を超えると判定したことに応答して前記エラー回復手順に失敗するステップと、
    を含む、請求項に記載のプログラム。
  5. 前記ステップ(d)は、
    前記継続情報が前記障害発生セグメントから実行を継続できることを示していないと判定したことに応答して、前記障害発生セグメントならびに前記障害発生セグメントに先行するすべてのセグメントに関連するクリーンアップ・ルーチンを決定し、各クリーンアップ・ルーチンを前記セグメント順の逆の順序で実行するステップとを含む、請求項に記載のプログラム。
  6. コンピュータに複式クラスタ環境の構成操作を実行させるためのコンピュータ実行可能な方法であって、該コンピュータに、
    (a)初期設定コードに含まれる複数のセグメントのそれぞれを、セグメント順に従って、マスタ・クラスタが、1つのセグメント内の構成コードを実行し、該構成コードの実行が正常に完了したことに応答して、該構成コードを実行するように非マスタ・クラスタに通知するステップと、
    (b)ステップ(a)の前記通知に応答して、前記非マスタ・クラスタが前記マスタ・クラスタによって実行された前記1つのセグメント内の構成コードを実行し、該構成コードの実行を正常に完了したことを前記マスタ・クラスタに通知するステップと、
    (c)ステップ(b)の前記通知に応答して、前記マスタ・クラスタが、前記1つのセグメント内の構成コードが前記マスタ・クラスタおよび前記非マスタ・クラスタの両方によって正常に実行されたことを示す完了フラグを共用メモリ内に設定するステップと、
    (d)前記マスタ・クラスタが前記1つのセグメント内の構成コードの実行中に障害が発生した後でエラー回復手順が開始されたことに応答して、前記共用メモリ内に前記完了フラグが設定されているセグメントを最後に完了したセグメントとして決定し、該最後に完了したセグメントに続く障害が発生した障害発生セグメント内の構成コードを実行するステップと、
    (e)前記マスタ・クラスタが前記障害発生セグメント内の構成コードの実行に成功したことに応答して、前記非マスタ・クラスタに該障害発生セグメント内の構成コードを実行するように通知するステップと、
    (f)ステップ(e)の前記通知に応答して前記非マスタ・クラスタが前記障害発生セグメント内の構成コードを実行するステップと、
    (g)前記非マスタ・クラスタが前記障害発生セグメント内の構成コードの実行に成功したことに応答して、該障害発生セグメント内の構成コードの実行が成功したことを前記マスタ・クラスタに通知するステップと、
    (h)ステップ(g)の前記通知に応答して、前記マスタ・クラスタが前記障害発生セグメント内の構成コードが前記マスタ・クラスタおよび前記非マスタ・クラスタの両方によって正常に実行されたことを示す完了フラグを前記共用メモリ内に設定するステップと
    を実行させる方法。
  7. 前記ステップ(d)は、
    前記障害発生セグメントに関する継続情報が該障害発生セグメントから実行を継続できることを示しているか否か判定するステップを含み、
    前記継続情報が前記障害発生セグメントから実行を継続できることを示していると判定したことに応答して、該障害発生セグメント内の前記構成コードを実行する
    請求項に記載の方法。
  8. 前記ステップ(d)は、
    前記継続情報が前記障害発生セグメントから実行を継続できることを示していると判定したことに応答して、該障害発生セグメントに関連するクリーンアップ・ルーチンが存在するか否かを判定するステップと、
    前記クリーンアップ・ルーチンが存在すると判定したことに応答して、該クリーンアップ・ルーチンを実行するステップとを含み、
    前記クリーンアップ・ルーチンを実行したことに応答して前記障害発生セグメント内の前記構成コードを実行する、請求項に記載の方法。
JP2006312178A 2005-11-29 2006-11-17 接続された装置を構成するための初期設定コードの実行 Expired - Fee Related JP4939180B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/291,050 US7428602B2 (en) 2005-11-29 2005-11-29 Method for executing initialization code to configure connected devices and executing segments of configuration code from a failed segment
US11/291050 2005-11-29

Publications (2)

Publication Number Publication Date
JP2007149085A JP2007149085A (ja) 2007-06-14
JP4939180B2 true JP4939180B2 (ja) 2012-05-23

Family

ID=38125761

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006312178A Expired - Fee Related JP4939180B2 (ja) 2005-11-29 2006-11-17 接続された装置を構成するための初期設定コードの実行

Country Status (3)

Country Link
US (2) US7428602B2 (ja)
JP (1) JP4939180B2 (ja)
CN (1) CN100549955C (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7428602B2 (en) * 2005-11-29 2008-09-23 International Business Machines Corporation Method for executing initialization code to configure connected devices and executing segments of configuration code from a failed segment
US8171307B1 (en) * 2006-05-26 2012-05-01 Netapp, Inc. Background encryption of disks in a large cluster
US20070288605A1 (en) * 2006-06-07 2007-12-13 Cisco Technology, Inc. Method and system for bulk negation of network configuration-commands
US7620854B2 (en) * 2007-01-30 2009-11-17 Hewlett-Packard Development Company, L.P. Method and system for handling input/output (I/O) errors
JP4900807B2 (ja) * 2007-03-06 2012-03-21 株式会社日立製作所 ストレージシステム及びデータ管理方法
US8468393B2 (en) * 2007-06-28 2013-06-18 Arm Limited Triggering diagnostic operations within a data processing apparatus
JP5229112B2 (ja) 2009-05-28 2013-07-03 セイコーエプソン株式会社 コントローラーの制御方法およびコントローラー
US9141664B2 (en) * 2009-08-31 2015-09-22 Hewlett-Packard Development Company, L.P. System and method for optimizing queries
US8195984B2 (en) * 2010-05-26 2012-06-05 Telcordia Technologies, Inc. System and method for a staggered execution environment
GB2504956A (en) 2012-08-14 2014-02-19 Ibm Management of RAID error recovery procedures and configuration
US20160378151A1 (en) * 2015-06-26 2016-12-29 Intel Corporation Rack scale architecture (rsa) and shared memory controller (smc) techniques of fast zeroing

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4228496A (en) * 1976-09-07 1980-10-14 Tandem Computers Incorporated Multiprocessor system
EP0280773A3 (en) * 1987-01-09 1989-12-20 International Business Machines Corporation Method for recovery enhancement in a transaction-oriented data processing system
JPH02299033A (ja) * 1989-05-15 1990-12-11 Nec Corp マイクロプログラム制御装置
JPH04218842A (ja) * 1990-04-11 1992-08-10 Hitachi Ltd プログラムの再実行方法
US5437022A (en) * 1992-12-17 1995-07-25 International Business Machines Corporation Storage controller having additional cache memory and a means for recovering from failure and reconfiguring a control unit thereof in response thereto
US6457069B1 (en) * 1998-07-23 2002-09-24 Compaq Information Technologies Group, L.P. Method and apparatus for providing support for dynamic resource assignment and configuration of peripheral devices when enabling or disabling plug-and-play aware operating systems
TW454120B (en) * 1999-11-11 2001-09-11 Miralink Corp Flexible remote data mirroring
US7203732B2 (en) * 1999-11-11 2007-04-10 Miralink Corporation Flexible remote data mirroring
US7039827B2 (en) * 2001-02-13 2006-05-02 Network Appliance, Inc. Failover processing in a storage system
JP3781112B2 (ja) * 2001-04-27 2006-05-31 オムロン株式会社 プログラマブルコントローラ・システム
US6944785B2 (en) * 2001-07-23 2005-09-13 Network Appliance, Inc. High-availability cluster virtual server system
EP1482664A3 (en) * 2003-05-20 2005-04-13 Yamaha Corporation Signal transmission apparatus
JP4183610B2 (ja) * 2003-12-18 2008-11-19 三洋電機株式会社 空気調和装置
US7428602B2 (en) * 2005-11-29 2008-09-23 International Business Machines Corporation Method for executing initialization code to configure connected devices and executing segments of configuration code from a failed segment

Also Published As

Publication number Publication date
JP2007149085A (ja) 2007-06-14
US20070174496A1 (en) 2007-07-26
CN1975671A (zh) 2007-06-06
CN100549955C (zh) 2009-10-14
US7428602B2 (en) 2008-09-23
US7853728B2 (en) 2010-12-14
US20080313490A1 (en) 2008-12-18

Similar Documents

Publication Publication Date Title
JP4939180B2 (ja) 接続された装置を構成するための初期設定コードの実行
US7890697B2 (en) System and program for demoting tracks from cache
EP3179359B1 (en) Data sending method, data receiving method, and storage device
US7849350B2 (en) Responding to a storage processor failure with continued write caching
US10846187B2 (en) Managing health conditions to determine when to restart replication after a swap triggered by a storage health event
EP1736879A2 (en) DIsk array apparatus and method for controlling the same
US8555009B1 (en) Method and apparatus for enabling and managing application input/output activity while restoring a data store
US10977142B2 (en) After swapping from a first storage to a second storage, mirroring data from the second storage to the first storage for data in the first storage that experienced data errors
US10503620B1 (en) Parity log with delta bitmap
JP2012514781A (ja) 回復動作中に使用するためのキャッシュ内の修正済みデータを決定するための方法、システム、およびコンピュータ・プログラム(回復動作中に使用するためのキャッシュ内の修正済みデータの決定)
US9811282B2 (en) Efficient rebuild of storage devices in a redundant array of independent disks (RAID)
JP4836014B2 (ja) ディスクアレイ装置及び物理ディスクの復元方法
US10664346B2 (en) Parity log with by-pass
JP2001142650A (ja) アレイディスク制御方法及び装置
US7529776B2 (en) Multiple copy track stage recovery in a data storage system
CN109343986B (zh) 处理内存故障的方法与计算机系统

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090818

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111018

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20111107

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20111107

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120113

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

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20120207

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

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

Free format text: PAYMENT UNTIL: 20150302

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4939180

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees