JP2004252934A - 複製ボリュームを管理するための方法と装置法 - Google Patents
複製ボリュームを管理するための方法と装置法 Download PDFInfo
- Publication number
- JP2004252934A JP2004252934A JP2003167259A JP2003167259A JP2004252934A JP 2004252934 A JP2004252934 A JP 2004252934A JP 2003167259 A JP2003167259 A JP 2003167259A JP 2003167259 A JP2003167259 A JP 2003167259A JP 2004252934 A JP2004252934 A JP 2004252934A
- Authority
- JP
- Japan
- Prior art keywords
- volume
- storage
- information
- volumes
- mirror
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
【解決手段】ユーザ指定のプライマリ(またはプロダクション)ボリュームのミラーリングを行なうために、ミラーボリュームのプールが提供され、ミラーボリュームプールから1個ないしそれ以上のボリュームが選択されミラーリングされる。ユーザ基準の提供により、ミラーリングのための候補ボリュームの選択を制約することが出来る。
【選択図】 図1
Description
[04] 本発明はデータ記憶システムに係わり、特にデータ記憶システムにおける複製(「ミラー」)ボリュームの管理に関する。
【従来の技術】
[05] 企業におけるデータプロセシングシステムでは、大量のデータ記憶装置を必要とするのが普通である。顧客データや企業内部でユーザにより作られたデータが、このデータ記憶装置の大変大きな部分を占めている。このようなデータの損失あるいは損傷は破滅的であって、ビジネスの成功に厳しい衝撃を与える。確固としたデータプロセシングシステムは、このような損失を防止するためにデータのバックアップコピーを提供する。さらにデータを保護するために、いくつかのデータプロセシングシステムは、バックアップコピーを作るという作業を発展させて、災害リカバリーを提供している。災害リカバリーシステムでは、データのバックアップコピーはプライマリ記憶装置の設置場所(データの性格、すなわち記憶されているプロダクションデータなどを反映するために、時々は「プロダクション」記憶装置の場所などで呼ばれる)からは遠方のサイトに保持される。もし災害がプライマリ記憶装置の設置場所に発生すると、データは、リモートサイトにあるバックアップコピーから回復される。
[06] 災害からの保護の既知の方法は、リモート記憶サイトにプライマリ記憶データをミラーするか、シャドーすることである。リモート二重コピーあるいはリモートデータ二重化は、このデータミラーリングソリューションの一形式である。リモート二重コピーにおいては、データプロセシングシステムに、リモート記憶デバイスが設定され、プライマリデータのコピーがリモート記憶デバイスに書き込まれる。記憶デバイスは相互に結合されて二重化ペアを形成し、各二重化ペアはプライマリ記憶デバイスとセカンダリ記憶デバイスで構成される。 データがプロダクションボリューム(「プライマリ記憶デバイス」とも呼ばれる)に書き込まれると、データプロセシングシステムは、自動的にデータをミラーボリューム(または「セカンダリ記憶デバイス」)にコピーする。ミラーボリュームは、プロダクションボリュームの正確な物理イメージあるいはミラーを持つ。一般には、プロダクションボリュームとミラーボリュームは、プロダクションボリュームと同じように構成されフォーマットされた、同じ物理的な形態を持っている。
[07] ミラーボリュームがプライマリボリュームと共にローカルに置かれている、「ローカル」ミラーリングが、バックアップやリカバリーのために用いられることは注目に値する。一般には、ローカルミラーリングは、バックアップやリカバリーのために用いられ、リモートミラーリングは、災害リカバリーのために用いられる。従来のテープによるバックアップと比較すると、ローカルミラーリングはずっと高速だが、しかしながらより高価である。
[08] 企業におけるデータ記憶装置の容量が増大するに従い、記憶装置の管理業務がより複雑に、そしてより難しくなってくる。記憶システムに、新しいボリュームを定義する(または割り当てる)ことは、企業のデータの需要に追随するために、記憶装置の管理にとって最重要業務の一つである。データ記憶システムが増大すると、プライマリ(「プロダクション」)記憶ボリュームやバックアップミラーボリュームを管理するデータ記憶マネージャサブシステムの複雑さも増大する。しかしながら、大型のデータ記憶装置では、ミラーするボリュームを選ぶのがかなり難しい。理由は次のとおりである。
● 候補のミラーボリュームは使用中であってはならない。
● 候補のミラーボリュームは、適正に選択されるべきである、たとえば、
(1) 候補のボリュームは、ミラーされるプロダクションボリュームと同じ物理ディスクにあってはいけない。もし物理ディスクが障害を起こすと、プロダクションボリュームとミラーボリュームの双方が失われる。
(2) 候補のボリュームは、ミラーされるプロダクションボリュームを構成する物理ディスクと同等の性能と信頼特性を持つ物理ディスク内であるべきである。
(3) (2)は基本ルールであって、デフォルトとして適用されるべきであるが、候補のボリュームの性能と信頼性は、ユーザによって選択されるべきである。
(4) 候補のボリュームを負荷の重い物理ディスクで構成すべきでない。たとえば、もし物理ディスクがプロダクションボリュームとして割り当てられたボリュームを含む場合は、このようなディスクはミラーボリュームとして割り当てるべきではない。
[09] ユーザがミラー用のボリュームを見つけた後は、ユーザは「ミラー生成」と呼ばれる操作を行わなければならない。換言すれば、ユーザはプライマリボリュームとミラーボリュームとの間のミラーリング動作を開始しなければならない。これは、たとえば、次のようなコマンドを入力するか、あるいは他の方法で指定することにより、コマンドラインインターフェースで実行される。すなわち、
createmirror vol1 vol2
ここで、Vol1はプロダクションボリュームであり、Vol2はそのミラーボリュームである。
[10] もしユーザが多くのミラーを生成する必要がある場合は、上記のコマンドをタイプするために時間がかかる。たとえば、現実の世界の設定では、数百ギガバイト以上の記憶容量を消費するデータベースは普通であり、イメージとかビデオのデータベースはテラバイトのオーダーの記憶容量を消費する。一般的にこのような大型の記憶装置を利用するには、プロダクションボリュームの数十倍あるいは数百倍の容量が必要になる。たとえば、50個のボリュームの構成は、次の50個のコマンドの入力が必要になる。
createmirror vol1 vol2
createmirror vol3 vol4
createmirror vol5 vol6
−
createmirror vol99 vol100
[11] 大きな連携データオブジェクト(「アプリケーションオブジェクト」、「データセット」など)を持つアプリケーションは、ミラーリング技術から恩恵を受ける。アプリケーションの一つは、連想データオブジェクトが大型データベースの複数のボリュームに展開しているデータベースアプリケーションである。たとえば、データベースのインスタンス(たとえば、オラクルのデータベース)のようなデータオブジェクトは、多くのプライマリボリュームにまたがって展開された、複数のデータファイルで構成されている場合がある。データの回復を確実にするため、データオブジェクトを集合的に記憶しているプライマリボリュームは、ミラーされる必要がある。データベースアプリケーションはデータベースの多くのインスタンスを定義出来るので、システム管理上の観点からは、データベースの特定のインスタンスを記憶するこれらの物理ボリュームのみをミラー出来るようにするのが望ましい。
[12] ベリタスソフトウエア株式会社で製造、販売しているVxVM(商標)のような、時々、論理ボリュームマネージャLVM(Logical Volume Manager)と呼ばれる、もうひとつのアプリケーションは、物理プライマリボリュームの潜在的で一般的には異なる集まりの論理的な視界をユーザに提供する。重ねてであるが、エラー回復は、プライマリボリュームのミラーリングにより可能になる。複数の論理ボリュームがプライマリボリューム上で定義出来るので、特定の論理ボリュームを構成するこれらのプライマリボリュームだけをミラーするように出来ることが望ましい。したがって、このタイプのソフトウエアについては、「データオブジェクト」は、ユーザに提供される論理ボリュームであると考えられる。
[13] 米国特許5,459,857と5,544,347は、リモートミラーリング技術を開示している。離れた場所にある二つのディスクシステムは、リモートリンクで接続されている。ペアの生成が指示されると、ローカルディスクシステムはローカルディスクにあるデータをコピーする。ホストがディスクにあるデータを更新すると、ローカルディスクシステムは、リモートリンク経由でそのデータをリモートディスクシステムに転送する。このように、二つのボリュームのミラーを維持するのに、ホストの動作は不要である。
[14] 米国特許5,933,653は、ローカルディスクシステムとリモートディスクシステム間のデータ転送方法のタイプについて開示している。同期モードの転送に於いては、ローカルディスクシステムは、ホストからの書き込みリクエストを完了する前に、リモートディスクシステムにデータを転送する。半同期モードに於いては、ローカルディスクシステムは、書き込みリクエストを完了してから、次にリモートディスクシステムに書き込みデータを転送する。前のデータ転送が完了するまで次の書き込みリクエストは処理されない。適応コピーモードでは、リモートディスクシステムへの待ちデータはメモリーに記憶され、ローカルディスクシステム及び/あるいはリモートリンクがコピー作業のために利用出来るようになると、リモートディスクシステムに転送される。Consolidation)」である。
【発明が解決しようとする課題】
[15] リモートコピーアーキテクチャにおいては、さらにシステムアドミニストレータの負担になる可能性のある、ミラーサイト選択を行う際には他のファクターも考慮する必要がある。たとえば、リモートボリュームにミラーを作成する場合は、ローカルとリモートコピー記憶システム間の接続がなければならない。障害回復の目的のためには、二つの記憶システムは十分離しておいて、もし障害がプライマリボリュームに発生した場合に回復を可能にする。一方、回復の際にはリモートコピーの性能は、要求信頼性レベルに釣り合いが取れていなければならない。フェイルオーバが発生すると、予備の記憶システムの役を果たしてきたリモートの記憶システムに、障害を起こしたサイトでサーバがアクセス出来なくてはならない。さらに、スタンドバイシステムにおいては、適当なオペレーティングシステムが利用でき、適切なアプリケーションプログラムの一式がインストールしてあるなど、諸々が利用可能でなくてはならない。
[16] 大型の広域に分散している記憶システムを有効に管理する必要性があることは理解出来ることである。システムアドミニストレータのストレージ・マネージメントタスクを容易にする必要性がある。
【課題を解決するための手段】
[17] 本発明に対応する実施例は、ボリュームプールを提供する方法と装置を含むものである。ユーザ指定のプライマリ(プロダクション)ボリュームのミラーリングを行うために、ボリュームプールから1個ないしはそれ以上のミラーボリュームが選択される。特定のミラーボリュームは、人手によるユーザ、または機械によるユーザのいずれであっても、ユーザによっては指定されない。ユーザは、アプリケーションと対応したデータオブジェクトを参照してプライマリボリュームを指定することが出来る。ユーザは、ミラーボリュームが選択されるボリュームプールを指定することが出来る。本発明は、ローカルミラーリングコンフィギュレーションと、リモートミラーリングコンフィギュレーションに適用可能である。本発明はさらにリモートコピーアーキテクチャを使用するストレージ構成に適用可能である。
【発明の実施の形態】
[19] 図1は、本発明に対応する、データ記憶システム10におけるボリュームプールを管理するデータ記憶管理システムの実施例を説明する高レベルブロックダイアグラムである。ボリュームプールマネージメント(VPM)サーバ100は、VPMエンジン101を有し、そしてVPMテーブル102とシステムコンフィギュレーションテーブル103を含む各種の情報を記憶している。図1に示す実施例では、VPMユーザインターフェース121がクライアントマシン120に設けられている。適応するI/Oデバイス123が、VPMユーザインターフェースにインフォメーションチャンネルを提供している。クライアントマシンは、たとえばTPC/IPネットワーク標準のような、適応したコミュニケーションチャンネルを経由してサーバと通信状態にあることが示されている。
[20] VPMサーバ100は、適切に構成されたサーバマシーンであり得る。一般に、サーバはコンピュータ装置であって、CPU(または複数CPU構成)、ダイナミックメモリー、大容量記憶機能、その他の適当なハードウエアコンポーネントなどの通常のコンポーネント有している。別の形としては、サーバマシーンは、分散型コンピュータアーキテクチャを有することができる。また、予期されるシステム負荷、性能基準などのファクターによっては、他の既知のアーキテクチャが適当かもしれない。
[21] VPMサーバ100上で実行するソフトウエアコンポーネントは、UNIX OSのようなサーバに適したオペレーティングシステムおよび本発明に応じて各種の機能を集合的に提供するアプリケーションソフトウエアコンポーネントを含むことができる。ソフトウエアコンポーネントは、高級プログラミング言語のソースコードからコンパイルされたマシンコードで構成されるソフトウエアモジュールを含むことも可能である。ソフトウエアモジュールは、たとえばUNIXのシェルスクリプトなどのインタープリタコードであっても良い。
[22] クライアントマシン120は、同様に、適当なコンピュータマシンであって良い。VPMユーザインターフェース121は、外部環境とデータ記憶システム10との間のボリュームプールマネージメントに関連する情報を交換するための経路を提供する。VPMユーザインターフェースは、本発明の機能性を提供する単一のソフトウエアモジュールであって良い。別のものとしては、VPMユーザインターフェースは、本発明に対応する機能を共同して提供するコンパイルされたコード、シェルスクリプトなどの集まりであっても良い。
[23] VPMユーザインターフェース121は、外部環境とデータ記憶システム10との間でマネージメント関連の情報を交換することを促進する何らかの方法で自らを明らかにすることができる。たとえば、VPMユーザインターフェースは、I/Oデバイス123としてビデオターミナルデバイス上に設けられた、単純なコマンドラインインターフェース(CLI)であっても良い。同様に、VPMユーザインターフェースは、顧客がデータ記憶装置マネージメントシステムと対話出来るように、各種のグラフィカルな要素を提供する、適当なディスプレーデバイス上に表示されたグラフィカルユーザインターフェース(GUI)であっても良い。CLIとGUIの場合には、情報の交換は、一般に外部環境としての人手のユーザになる傾向がある。しかしながら、外部の環境がマシン「ユーザ」であり得ることは、本発明の範囲内のことである。VPMユーザインターフェースが他のマシンまたはソフトウエアコンポーネントに機能的に結合するように、適切なマシンインターフェースが提供可能である。たとえば、アドミニストレーション形式のソフトウエアがVPMユーザインターフェースと対話が出来るように、適切なアプリケーションプログラミングインターフェース(API)を定義することが可能である。マシンインターフェースの別の例として、I/Oデバイス123は、適当なディジタル信号プロトコルあるいはアナログ信号プロトコルを経由して、外部マシンと交信するための、コミュニケーションチャンネルであることも可能である。
[24] データ記憶システム10はさらに、1ないしはそれ以上のアプリケーションサーバ110を含む。これらは、単一のコンピュータ装置と適当なサポートハードウエアで、あるいは複数コンピュータアーキテクチャーを有する、VPMサーバ100と異なることのないサーバであり得る。VPMサーバとアプリケーションサーバ間のコミュニケーションチャンネル130は、既知である多くの在来技術で提供可能である。コミュニケーションチャンネルは、イントラネット接続(たとえばイーサーネット経由で)、及びワイドエリアネットワーク接続等であり得る。
[25] アプリケーションサーバ110は、ユーザに各種のサービスを提供する在来型のサーバである。たとえば、大企業で普通にみられるアプリケーションはデータベースアプリケーションである。根底にある物理記憶構造の詳細は抜きで、ユーザに記憶システムの概要を提供し、物理ボリュームと論理ボリューム間のマッピングを提供する、論理ボリュームマネージャであり得るアプリケーションもある。ビジネスによっては、その他のアプリケーションも提供される可能性がある。
[26] 1ないしはそれ以上のVPMエージェント111が、1ないしはそれ以上のアプリケーションサーバ110上で稼働しているアプリケーションについての特定の情報を提供し、そしてこの情報をVPMサーバ100に伝達する。本発明の一実施例によると、VPMエージェントとアプリケーションサーバ間の対応は1対1の関係では無い可能性があるが、各アプリケーションサーバに関連したVPMエージェント111がある。
[27] 関係する情報により、アプリケーションのデータセットの実例が保存されているプライマリボリュームが指定される。データセット(アプリケーションオブジェクトおよびデータオブジェクトとも呼ばれる)は、アプリケーションで定義される「オブジェクト」に関連したこれらのファイルを指す抽象的な概念である。たとえば、データベースアプリケーションにおけるデータベースの例は、「データオブジェクト」または「アプリケーションオブジェクト」であって、一般的には、複数のプライマリボリュームにわたって記憶することが可能な各種のファイルで構成される。他の例として、論理ボリュームマネージメントソフトウエアによりユーザに提供される論理ボリュームは、「データオブジェクト」である。論理ボリュームは、1ないしはそれ以上のプライマリボリュームにより提供される記憶空間で構成されることもある。VPMエージェント111により提供されるマッピング情報は、関係するデータオブジェクトが保存されているこれらのプライマリボリュームを識別するか、あるいは示す。
[28] 各アプリケーションは、それぞれのやり方でマッピング情報を提供することが可能である。たとえば、一般的な多くのアプリケーションは、これ、及びその他のアドミニストレーション形式の情報にアクセスするシステムユーティリティーを持っている。適切に構成されたVPMエージェント111は、マッピング情報にアクセスするためにアプリケーションと対話をすることが出来る。他のアプリケーションは、ファイルに記憶されているコンフィギュレーションテーブルにマッピング情報を記憶することもある。この場合は、適切に構成されたVPMエージェントを、ファイルの内容を単純に分析することによって情報を得るように生成することが出来る。
[29] 例として、データベースアプリケーションのオラクル(Oracle(商標))は、データベースのインスタンスに対してプライマリボリューム情報を提供することが出来る。したがって、VPMエージェント111は、次のSQLステートメントを発行することによりテーブルスペースの情報を得ることが出来る。すなわち、
SQL> SELECT t.name ”Tablespace”, f.name ”Datafile”
2> FROM v$tablespace t, v$datafile f
3> WHERE t.ts# = f.ts#
4> ORDER BY t.name;
Tablespace Datafile
次に、オラクル(Oracle(商標))は、プライマリボリューム名を得るために、収集し解析することが出来る、次の情報を返す。
SYSTEM /vobs/oracle/dbs/tbs_01.f
SYSTEM /vobs/oracle/dbs/tbs_02.f
SYSTEM /vobs/oracle/dbs/tbs_03.f
TBS_1/vobs/oracle/dbs/tbs_11.f
TBS_1/vobs/oracle/dbs/tbs_12.f
TBS_2/vobs/oracle/dbs/tbs_21.f
TBS_2/vobs/oracle/dbs/tbs_22.f
TBS_2/vobs/oracle/dbs/tbs_23.f
TBS_2/vobs/oracle/dbs/tbs_24.f
より詳細については、「Oracle 8i, Backup and Recovery Guide」を参照のこと。
[30] 図1の続きであるが、データ記憶システムは、記憶サブシステム150も含んでいる。図に示された構成は、従来から数多く用いられてきた記憶システムの構成の一つである。ここでは、各アプリケーションサーバ110はそれ自身の記憶サブシステム150を持つ。記憶サブシステムは、適当なコミュニケーションチャネル130を介してアプリケーションサーバに接続される。これらのコミュニケーションチャネルは、データ転送に適した適当な媒体であり、たとえばファイバーチャンネルプロトコルを用いるファイバーチャンネル、SCSI(スモールコンピュータシステムインターフェース)プロトコルを用いるSCSI、及びCKDプロトコルを用いるESCON(商標)とFICON(商標)は一般的によく知られている例である。図に見られるように、本発明に係わる記憶サブシステムについてのある種の情報は、アプリケーションサーバに関連するVPMエージェント111により得ることが出来る。情報の種類についてはさらに論じる。
[31] 記憶サブシステム150は、一般的にアプリケーションデータを記憶する1台ないしはそれ以上の物理ディスク151で構成される。たとえば、本発明の受託者によって製造、販売され、Lightning 9900として知られている記憶システムなどのような記憶システムは、1台ないしはそれ以上の物理ディスクに複数のボリュームを有することができる。このシステムは各々が72GBの容量の物理ディスク4台で構成され、9GBサイズのボリュームを24個包含するように構成可能である。本発明では、ディスク151は記憶システム150の中の物理ディスクを意味し、「ボリューム」は、ディスク151から生成され、論理アドレスを定義してホストに見えるように(利用可能に)した論理ボリュームを意味する。
[32] しばし図5を参照していただきたい。この図は、本発明の側面を説明するために適したデータ記憶アーキテクチャの構成の説明である。以上の論議から、如何なるデータ記憶アーキテクチャでも本発明の構成要素に適応が可能であるということが認識される。論理ボリューム540は、アプリケーションへ提供される記憶オブジェクトである。もしボリュームマネージャソフトウエアが使用されている場合は、それはディスクグループ530から作られる。ボリュームマネージャソフトウエアは、物理ボリューム520からディスクグループ530を作り出し、そして論理ボリューム540をディスクグループから作る。このようにして、論理ボリューム540は、ディスクグループ530の薄片のように見ることが出来、ボリュームマネージャソフトウエアが決めるように、1ないしはそれ以上の物理ボリューム520の一部で構成することが出来る。もしボリュームマネージャが使用されない場合は、各論理ボリュームは、物理ボリューム520と1対1の対応をする。
[33] 言及したように、ディスクグループ530は、一般的に物理ボリューム520のセットで構成される。ボリュームマネージャソフトウエアは、論理ボリューム540上のアドレスを物理ボリューム520上のアドレスにマップする。通常、このアドレス変換はユーザやアプリケーションでは意識しない。このメカニズムを使用して、ボリュームマネージャは、より高い性能と信頼性のためにストライピングやリダンダンシー、及び管理を容易にするためのボリュームの再構成、の様なボリュームマネージメント機能を提供する。
[34] 物理ボリューム520は、オペレーティングシステムが認識しアクセスするボリュームである。物理ボリュームを使用可能にするためには、アプリケーションサーバ110が物理ボリュームにアクセス可能になるように、アドレスを物理ボリュームと関連づけなければならない。アドレスが付けられた物理ディスク510は物理ボリュームと呼ばれる。物理ボリュームは、時にはLU(論理ユニット)と呼ばれる。
[35] 物理ディスク510は、アドレスを付けて、アプリケーションサーバ110に見えるようにしたユニットであり、記憶システム150内で管理される。もし物理ディスク510が見えるならば、対応する物理ボリューム520がアプリケーションサーバ110上に存在する。物理ディスク510は、1台ないしはそれ以上のHDDにいろいろな手法で展開され、その実行は与えられた記憶システムの細目に依存し、そしてアプリケーションサーバには明白である。通常、物理ディスクは、記憶システム内で固有に番号付けされる。
[36] RAIDグループ550は、物理ディスク510が展開されているHDD151のセットで構成される。RAIDグループは数台の物理ディスクを含んでいてもよい。本発明の一実施例では、物理ディスクは1つのRAIDグループ550に属するものとして取り扱われることができる。
[37] 図2は、本発明の他の実施例によるデータ記憶システム20の例を示す。図1に示した機能コンポーネントの多くは、ソフトウエアコンポーネントまたはモジュールを有する。したがって、本発明の機能的な側面が、他の構成での、コンピューティングコンポーネントの中に分散され得ることが認識できる。たとえば、図2に示すように、VPMインターフェース121は、VPMサーバ100の中に組み込まれている。図2は、また、VPMサーバが、ネットワーク接続130を通して記憶システム150と直接通信が可能なことを示している。
[38] ストレージエリアネットワーク(SAN)は、アプリケーションサーバ110に記憶設備を提供するために使用出来る。したがって、記憶システム150は異なったSAN施設であるかもしれない。VPMサーバ100からのネットワーク接続130は、SANを有する物理ボリュームに接続することが可能である。この構成に於いては、VPMサーバは物理ボリュームに直接アクセスが出来る。ネットワークアタッチドストレージ(NAS)アーキテクチャを、同様のやり方で使用しアクセスすることが可能である。結果として、VPMエージェント111は、VPMサーバ100のために、記憶システム150に対するインターフェースコンポーネントとして機能する必要はない。代わりに、VPMサーバは、関連した情報を得るために記憶システム150に直接のアクセスが可能である。
[39] 図3Aから図3Fは、本発明の説明のための実施例による、システムコンフィギュレーションテーブル103(図1)を構成する各種のデータテーブルを示す。これらのテーブルはVPMエンジン101で初期化が出来る。
[40] 図3Aは、ある種のシステムレベル情報を含むサーバインフォメーションテーブル350を示す。単に例としては、サーバテーブルは、サーバの名前を含むサーバネームフィールド351を含むことができる。IPアドレスフィールド352は、このサーバのIPアドレスを提供する。コミュニケーションプロトコルによっては、追加のアドレッシングに関連した情報が必要になるかもしれない。他のサーバ情報353は、プロダクトフィールドとベンダーフィールドを含むことが出来る。
[41] 図3Bはアプリケーションインフォメーションテーブルにおけるエントリー300を示す。アプリケーションインフォメーションテーブルは、アプリケーションオブジェクト(データオブジェクト)と、アプリケーションオブジェクトを有するファイルが記憶されるプライマリボリューム(物理ボリューム)のマッピングを提供するのに使われる。図はアプリケーションインフォメーションテーブルの一つのエントリーを示している。データミラーリングを希望する各アプリケーションについては、そのアプリケーションで生成される各アプリケーションオブジェクト毎のエントリーがある。データベースアプリケーションを考えてみると、企業は、たとえば販売データベース、製造グループが製造のための部品の在庫を追跡するためのデータベースなど、多くのデータベースを有しているであろう。各データベースはアプリケーションオブジェクトを有する。このように、エントリー300は、データベースアプリケーションで保持される各データベースに対するアプリケーションインフォメーションテーブルに存在する。
[42] 各エントリー300は、アプリケーション(たとえば、オラクルデータベースアプリケーション)を表示する情報と、アプリケーションのデータオブジェクトの具体例を含むアプリケーションネームフィールド301を含む。インスタンス識別子フィールド302は、たとえばデータベースの、データオブジェクトを表示する情報を記憶する。各エントリー300はまた、データオブジェクトの構成データファイルを表示する情報を記憶するために、マッピングインフォメーションフィールド303を含むことが出来る。上記で論じたように、この情報はアプリケーションに特化した形で得ることが出来る。一般には、このような情報は、アプリケーションの開発者により提供される、管理コマンドを経由して利用可能である。
[43] 図3Cは、ファイル・システムインフォメーションテーブルエントリー320を示す。このテーブルは、各ファイル・システム名を、使用されているファイル・システムによって様々である支援情報を含んでいる、論理ボリュームにマップする。情報は、ファイル・システムが展開されるボリュームの「ボリューム名」を含むことが出来る。ファイル・システムのマウントポイントと特定する「マウントポイント」データがあってもかまわない。たとえば、これはユニックス形式のファイル・システム設計に於いては関係がある。ファイル・システムのバージョンを表示する、「バージョン」フィールドがあっても良い。「総記憶容量」フィールドと「使用された記憶容量」フィールドを、ファイル・システムのディスクの使用状況を表示するために使用することも可能である。ユニックスシステムでは、この情報は、たとえば次のコマンドを入力して得ることが出来る。すなわち、
df−k filename
ここで、filenameは、図3Bのアプリケーションインフォメーションテーブルにおいて識別されたファイルの名称である。
[44] 図3Dはボリュームマネージャインフォメーションエントリー310を示す。ボリュームマネージャインフォメーションテーブルは、論理ボリューム(540、図5)を、論理ボリュームが駐在する1ないしはそれ以上の物理ボリューム(520、図5)にマップする。「ボリュームマネージャネーム」311は、論理ボリュームを提供しているボリュームマネージメントソフトウエアを表す情報を含む。データ記憶システム10(図1)は、複数のから提供されるボリュームマネージメントソフトウエアを使用することが出来る。「ディスクグループ情報」フィールド312は、論理ボリュームを1ないしはそれ以上の物理ボリューム(デバイス)にマッピングするのに適した情報を含んでいる。したがって、たとえば図に示したエントリーは、論理ボリューム「/dev/vx/dsk/VG01/vol01」と「/dev/vx/dsk/VG01/vol02」が、物理ボリューム「c2t0dl」と「c2t0d2」、および「c3t1d0」に定義されていることを示す。アプリケーションサーバ110上で幾つかのディスクグループ(530、図5)が定義されている場合は、2ないしはそれ以上の「ディスクグループ情報」フィールドがあり得る。ボリュームマネージャ情報エントリー310に基づいて、ファイル・システム情報テーブルエントリー320からの論理ボリューム540は、その対応する1ないしはそれ以上の物理ボリューム(520、図5)にマップされることが可能である。
[45] 図3Eは、オペレーティングシステム情報テーブル330を示す。これは、オペレーティングシステム(フィールド331)とOSベンダー(フィールド332)のような情報を含んでいる。
[46] 図3Fは物理ボリューム情報テーブルエントリー340を示す。物理ボリューム情報テーブルは、物理ボリューム(520、図5)をRAIDグループ(550、図5)にマップするのに適した情報を含んでいる。開示される実施例は説明の目的であることを想起されたい。前述の説明から、RAIDアーキテクチャ以外の物理レベルのデバイスが同様に適していることも明らかである。各物理ボリューム情報テーブルエントリー340は、物理ボリュームを表す情報を含む「ボリューム名」フィールド341を含む。「物理ディスク情報」フィールド342は、物理ボリュームに関連した、物理ディスク(510、図5)に係わる情報を含む。物理ディスク情報は、記憶システム150のベンダー名、記憶システム(製品)名、記憶システムのシリアル番号、物理ディスクのボリュームID、物理ディスクが展開されているRAIDグループ(550、図5)のRAIDグループID、およびRAIDグループの使用中率(ビジーレート)を有する場合もある。RAIDグループビジーレート情報は、RAIDグループの使用中の率を示す。この情報は記憶システムから得ることが出来る。この情報は定期的にモニタすることが可能で、対応する物理情報テーブルエントリー340において更新される。
[47] 物理ボリューム情報テーブルエントリー340はまた、1個ないしはそれ以上の「ミラー情報」フィールド343も含む。エントリーは、ミラー動作が物理ボリューム上で始動された時に生成される。「ミラー情報」エントリーは、「物理ディスク情報」フィールド342と同じ情報を含むことが可能である。さらに、ミラー情報フィールドは、ミラーされた物理ボリューム520のセットを特定する「ミラーネーム」を含んでいる。通常は、ユーザは相関のあるミラーのセット(たとえば、アプリケーションオブジェクトのセット)を定義し、それに関係したミラー名をつける。これにより、ユーザは、直感的であり理解しやすいミラー名で、ミラーのセットを操作することが可能になる。特定の物理ボリューム情報テーブルエントリー340に係わる物理ボリュームに、物理ディスク(510、図5)があるように、「ミラー情報」フィールドには多くのエントリーがある。
[48] 図4は、ボリュームプールマネージメント(VPM)テーブル400(102、図1)を示す。ボリュームプールは、ミラーボリュームとして使用するために選択できるボリュームのリストを含む。VPMテーブルはボリュームに関連する情報を記憶する。ミラーボリュームがそこから選ばれる1ないしはそれ以上のボリュームプールが存在できる。「ボリュームプール名」フィールド401は、ミラーボリュームとして選択可能なボリュームの特定のプールを識別するために提供される。「特権」フィールド402は、ボリュームプールにアクセスするための特権設定を定義する。たとえば、特権には、ボリュームプールの「オーナー」、ユーザグループに所属するメンバー、および他のメンバーに対する設定を含み、これらのカテゴリーはUNIXシステムで一般的に見られるユーザカテゴリーと同様である。「R」の設定により、ボリュームプールの参照が可能になる。「U」の設定により、プールからボリュームの割り当てが可能になる。もちろん、追加の、あるいは代替えの特権設定が、ボリュームプールへのアクセスを制御するために提供可能である。
[49] VPMテーブル400は、さらに、ボリュームプールのメンバーである各ボリューム(たとえば、物理ボリューム520あるいは物理ディスク510、図5)に対するエントリー403を含む。各エントリーは、「性能レベル」表示、「信頼性レベル」表示、「ベンダー名」、ディスクシステムの「システム名」、「シリアル番号」表示、「ボリューム識別子」、「物理ディスクグループ識別子」、および「サイト名」フィールドを含む。性能レベルは、ディスクの性能能力の大まかな予測を提供する。信頼性レベルは、ディスクの信頼性の表示を提供する。サイト名は、ディスクの地理的な場所を識別する。ミラーボリュームとして使用されるディスクは、プライマリボリュームのサイトから離れた場所にあるかもしれない。これは、別の部屋、別の建物、別の都市などである。プライマリサイトで災害が発生した場合には、ミラーされるプライマリボリュームからミラーボリュームを離しておくと、データが生き残る可能性が増える。その結果、分かるように、ミラーボリュームはその場所に基づいて選択することが望ましい。エントリー403は、ボリュームがミラーボリュームとして割り当てられているか否かを表示する「使用中」フィールドも含む。
[50] 上記に示すとおり、ユーザインターフェースは、特定のインターフェース状況に見合う適切なインターフェース技術のどれでもよい。本発明の一実施例に応じた実行は、コマンドラインインターフェースによる。たとえば、UNIX形式のコマンドラインラインインターフェースは、次のようなコマンドを含む。すなわち
createmirror mirror_name
[−vol pvol1 [pvol2 ... pvo1n]
[−app appname instname]
[−host hostname]
[−pool pool_name]
[−plevel performance_level]
[−rlevel reliability_level]
[−site sitename]
createmirrorは、特定のプライマリボリュームのミラーリング動作を開始させる。
このコマンドは、1個ないしはそれ以上のプライマリボリュームをミラーするために、ミラーボリュームとして使用するために、ボリュームプール(図4)からミラーボリュームの選択を開始させる。ミラー名は、ミラーボリュームのグループを指定する。コマンドアーギュメント(オプション)は以下を含む。
−vol:このアーギュメントにより、ユーザはミラーされるべき特定のプライマリボリュームを識別出来る。1個ないしはそれ以上のプライマリボリューム(pvol1 − pvoln)を指定出来る。
−app:このアーギュメントにより、ユーザは、アプリケーション(たとえば、データベースアプリケーション、ボリュームマネージャ、など)とアプリケーションに関連するデータオブジェクトのインスタンス(「instname」)を指定することが出来る。このアーギュメントは、データオブジェクトの1個ないしはそれ以上のプライマリボリュームへのマッピングを開始する。次に、ミラーリングオペレーションが、マップされたプライマリボリューム上で行われる。データオブジェクトの性質はアプリケーションに依存する。たとえば、コマンド:
createmirror −app Oracle PROD1
は、データベースアプリケーションであるオラクルをアプリケーションとして指定する。その結果、データオブジェクトは、PROD1と呼ばれるデータベースである。もう一つの例としては、コマンド:
createmirror −app VxVM VG01
は、ボリュームマネージメントアプリケーションであるVxVMをアプリケーションとして指定し、この場合のデータオブジェクトは論理ボリュームである。コマンドが実行されることにより、アプリケーションの形式を単に参照し、次に、データオブジェクトをプライマリボリュームにマップするためにマッピング情報にアクセスするように、特定のソフトウエアルーチンなどにアクセスすることにより、データオブジェクトからプライマリボリュームへの変換がどのようになされるのかを理解する事が出来る。上記で論じたように、オラクルではプライマリボリューム情報を得るために、SQLシーケンスを発行することが出来る。VxVMに於いては、vxprintのような管理コマンドを、特定の論理ボリュームについてのプライマリボリューム情報を得るために、VxVM管理ソフトウエアへ発行することが出来る。
−host:このアーギュメントにより、ユーザは特定のプライマリボリュームが存在するホスト名を指定することが出来る。たとえば、図1では、このアーギュメントはミラーするプライマリボリュームを含むのはアプリケーションサーバ110のどれかを特定するために用いることが出来る。デフォルトのホストが使用可能である。たとえば、ユーザがログオンしているマシンがデフォルトホストである。
−pool:このアーギュメントにより、ユーザはミラーボリュームが選択されるボリュームプールを指定することが出来る。もしこのアーギュメントが指定されないときには、デフォルトのボリュームプールが使用される。
−plevel:このアーギュメントにより、ユーザはプライマリボリュームをミラーするために使用されるミラーボリュームの特定の性能レベル(基準)を指定することが出来る。もしこのアーギュメントが指定されないときは、ミラーボリュームは性能レベルには関わりなく選択される。
−rlevel:このアーギュメントにより、ユーザはプライマリボリュームをミラーするために使用されるミラーボリュームの特定の信頼性レベル(基準)を指定することが出来る。もしこのアーギュメントが指定されないときは、ミラーボリュームは信頼性レベルには関わりなく選択される。
−sitename:このアーギュメントにより、ユーザは、プライマリボリュームをミラーするためにミラーボリュームが選択される、特定のサイト名(基準)を指定することが出来る。もしこのアーギュメントが指定されない場合は、ミラーボリュームはミラーボリュームの場所に関わりなく選択される。
ほかの基準も含まれることは自明である。列挙した基準により、ミラーボリュームの選択はユーザ指定の基準により決められるという事実を説明した。
suspendmirror mirror_name
[−host hostname]
suspendmirrorは、mirror_nameで識別されたミラーリンググループの全てのミラーボリュームのミラーリング動作を停止する。delmirrorコマンドと異なり、このコマンドは単にミラーリング動作を止めるが、止めたミラーボリュームをボリュームプールへは戻さない。コマンドアーギュメント(オプション)は以下を含む。
−host:このアーギュメントにより、ユーザはミラーリングオペレーションを止めるホスト名を指定することが出来る。たとえば、図1では、このアーギュメントは、ミラーするプライマリボリュームを含むのはアプリケーションサーバ110のどれかを特定することができる。デフォルトのホストが使用可能である。たとえば、ユーザがログオンしているマシンがデフォルトホストである。
delmirror mirror_name
[−host hostname]
[−pool poolname]
delmirrorは、mirror_nameで識別されたミラーリンググループの全てのミラーボリュームのミラーリング動作を停止する。ミラーリング動作を止めるほかに、このコマンドは、止めたミラーボリュームをボリュームプールに戻し、これらのミラーボリュームが他のプライマリボリュームをミラーするために割り当て可能にする。アーギュメントは以下を含む:
−host: このアーギュメントにより、ユーザはミラーリングオペレーションを止めるホストネームを指定することが出来る。たとえば、図1では、このアーギュメントは、ミラーするプライマリボリュームを含むのはアプリケーションサーバ110のどれかを特定することができる。デフォルトのホストが使用可能である。たとえば、ユーザがログオンしているマシンがデフォルトホストである。
−pool: このアーギュメントにより、ユーザは止めたミラーボリュームを戻すボリュームプールを指定することが出来る。もしこのアーギュメントが指定されないときは、ミラーボリュームはユーザに関連するデフォルトのボリュームプールへ戻すことが可能である。
poolcreatepool_name
poolcreateは、指定されたプール名を持つボリュームプールを生成する。このコマンドは、VPMテーブル400(図4)に単にエントリーを生成する。
poolattr pool_name grpname [+|−] [R|U|RU]]
poolattrは、指定したプール名を持つボリュームプールについて、「grpname」により識別されるグループのグループ属性を変更する。ユーザは、「+」または「−」を指定して、読み出し(R)、割り当て(U)、または双方の特権を、それぞれ追加あるいは削除を行う。このコマンドは、VPMテーブル400(図4)において特権フィールド402を変更する。
pooladdvol pool_name [+|−] vol1 [vol2 ... voln]
pooladdvolは、プール名で指定されたボリュームプールにボリュームを追加する。1個ないしはそれ以上のボリューム(vol1 ― voln)を追加出来る。本発明の実施例における特定の具体化では、ボリュームは物理ボリューム520(図5)である。ユーザは、指定したボリュームを追加あるいは削除するために、それぞれ「+」あるいは「−」を指定することができる。
[51] 図6は、どのようにしてシステムコンフィギュレーションテーブル103(図1)を初期化出来るのかを説明する高レベルのフロー図を示す。VPMエンジン101が起動すると、ステップ601では、メッセージが全てのアプリケーションサーバ110に送られ、それらのシステム構成情報を得る。さらに、に新しく追加されたアプリケーションサーバが知らされると、VPMエンジンはそのアプリケーションサーバにメッセージを送り、そのシステム構成情報を得る。
[52] 各アプリケーションサーバ110に於いては、サーバ上で実行中のアプリケーションについての情報が、ステップ602で、VPMエージェント111により取得される。これは、CLIとかAPIなど、いろいろなやり方で行われ、アプリケーションに強く依存する。アプリケーションは、オラクル、SQLサーバ、エクスチェンジ、SAP R/3、ピープルソフト、BAAN等のソフトウエアを含んでいる。上述のように、関心のある情報は、たとえばデータベースのようなアプリケーションの特定のデータオブジェクトあるいはアプリケーションオブジェクトを記憶するために用いられるプライマリボリュームを識別する、ある形式のマッピング情報を含んでいる。このように、たとえば、データベースインスタンスに関わるデータファイルを記憶するために用いられる全てのプライマリボリュームを識別する、アプリケーションサーバにおけるデータベースアプリケーションによって保持されるデータベース(データオブジェクト)の各インスタンスに対するマッピング情報が得られる。
[53] 同様のステップ603では、VPMエージェント111は、ボリュームマネージャがアプリケーションサーバ110上で実行中であれば、そのボリュームマネージャについての情報を得ることが出来る。代表的なボリュームマネージメント製品は、ベリタス・エキステンデド・マネージャVeritas Extended Volume Manager(VxVM)である。ステップ601で示したように、ボリュームマネージャ情報は、ソフトウエアにより提供される方法で取得出来る。このように、論理ボリュームで構成されるプライマリボリュームを識別するマッピング情報を取得するために、vxprintコマンドを使うことが出来る。VPMエージェント111は、VxVMと相互作用をして、ユーザがvxprintコマンドをタイプし、出力を受信するように見えるように構成することが出来る。次に、出力を解析し、希望した情報を得る。
[54] 次に、ステップ604では、アプリケーションサーバ110によりアクセスすることが出来る物理ボリュームに関する情報(たとえば、物理ディスク情報342、図3F)が得られる。これは、特定の記憶システム150に適した方法で行うことが可能である。たとえば、SCSIインターフェースは、情報を取得するため、inquiryのようなSCSIコマンドを受信することが出来る。他の例としては、SNMPのようなネットワークプロトコルが適しているかもしれない。ある記憶システムのベンダーは、情報にアクセスするためにCLIやAPIを提供している。どの場合でも、VPMエージェント111は、記憶システムと相互動作して情報を取得するように、プログラムする、あるいはその他の構成にすることが出来る。
[55] ステップ605では、サーバ自身についての情報が取得される。情報は、ファイルシステム、オペレーティングシステムなどを含んでいる。情報は、CLIあるいはAPIを用いて取得出来る。
[56] ステップ606では、ステップ602から605で得た情報が、VPMエンジン101へそれぞれのアプリケーションサーバ110により、伝達される。VPMエンジン101は、ステップ607で、各アプリケーションサーバ110から受信した情報を集め、データを編集し、図3Aから図3Fに示したシステムコンフィギュレーションテーブルにデータを集計させる。
[57] 図7は、本発明の実施例による特定の実施例において、どのようにミラー生成が行われるかを説明する高レベルのフローチャートを示す。VPMサーバ100(図1)が、VPMユーザインターフェース121(図1と図2)からcreatemirrorコマンドを示す情報を受信すると、その情報と付随するパラメータ情報(たとえば、コマンドアーギュメント)は、ステップ701でVPMエンジン101に伝えられる。パラメータ情報は、デフォルト値を決めるために役立つ、ユーザの識別情報を含むことが出来る。VPMエンジンは、たとえばアーギュメントを識別するためにコマンドラインを解析するなどにより、パラメータ情報を識別するために情報を調べる。
[58] ステップ702では、もし−volアーギュメントが指定されていると、パラメータ情報の中にプライマリボリュームのリストが提供される。しかしながら、もし−appアーギュメントが指定されていると、VPMエンジン101は、システムコンフィギュレーションテーブル(図3Aから図3F)を参照することにより、指定されたアプリケーションオブジェクトが記憶されているプライマリボリュームを識別する情報のリストを取得する。
[59] アプリケーションオブジェクトの名前が与えられると、VPMエンジン101は、そのオブジェクトの論理的および物理的な展開を見つけることが出来る。たとえば、図3Aから図3Fに示すサンプルの情報の場合は、もしアプリケーションオブジェクト(tablespace TBS1)が与えられると、TBS1の展開を次の方法で見つけることができる:
[60] アプリケーション情報エントリー300から、TBS1は、/u01/ora/data/tbs01.oraと/u01/ora/data/tbs00.oraと呼ばれる2個のファイルを有する事が分かる。適切なCLIまたはAPIを用いることで、たとえばコマンド
df−k/u01/ora/data/tbs01.ora
を発行することにより、2個のファイルが駐在する論理ボリューム540を確定することが出来る。二つのファイルが、/dev/vx/dsk/VG01/vol01上にあると仮定する。
[61] ボリュームマネージャ情報エントリー310から、/dev/vx/dsk/VG01/vol01の論理ボリューム540は、3個の物理ボリューム520、すなわちc2t0d1とc2t0d2とc3t1d0上にあることが示される。ファイル・システム情報エントリー320から、/dev/vx/dsk/VG01/vol01の論理ボリューム540は、/u01/ora/data/ 上にマウントされ、そしてVxFSファイル・システムを使用することがわかる。物理ボリューム情報テーブル340から、c2t0dlの物理ボリューム520は、ストレージ社の「ハイエンドストレージ」と呼ばれ(両方とも、単に説明するための仮想の名前)、シリアル番号60233で、物理ディスクグループID200の記憶システム上にあることがわかる。
[62] ステップ703では、VPMエンジン101は、ボリュームプールから候補となるミラーボリュームのセットを取得する。もし−poolアーギュメントが指定されないと、デフォルトのボリュームプールがアクセスされる。これは、ユーザIDとボリュームプールマネージメントテーブル(図4)の「ネーム」フィールドとの一致を取ることで行うことが出来る。一方では、パラメータ情報は、候補のミラーボリュームが選択されるボリュームプールを識別する、ボリュームプール名を含んでいる。ユーザ指定のプールから実際にミラーボリュームを割り当てる前に、特権が十分であるかの初期確認がされる。
[63] ステップ704では、各プライマリボリュームに対して候補のミラーボリュームが選択される。もし基準アーギュメントのどれかが指定されると(たとえば、性能、信頼性、サイト名)、一致する基準を持つミラーボリュームのみが、候補のミラーボリュームが選択されるボリュームプールを形成する。本発明の実施例の特定の実施例では、次の基準がRAIDシステムを含め考慮される。他のディスクアーキテクチャに対しては、追加の、あるいは代わりの考慮が適切であるかもしれないこと、そしてこれらの基準が、どのようにミラーボリュームが選択されるかということを説明する目的のみに提供されるものである、ということは理解されることである。
・(35) ミラーボリューム520(または物理ディスク510、図5)は、プライマリボリュームを含む同じRAIDグループには無いこと。この制約は、システムコンフィギュレーションテーブル103の中で、物理ディスク情報342のRAIDグループIDフィールドを調べることにより、容易になる。
・(25) ミラーボリュームは、ビジー状態のRAIDグループに有ってはならない。さらに、この制約は、システムコンフィギュレーションテーブル103の中で、物理ディスク情報342のRAIDグループビジーレートを調べることにより、容易になる。
・(15) −plevelと−rlevelアーギュメントが規定されるところでは、ミラーボリュームは、指定の性能レベルと信頼性レベルを満たすこと。
・(10) −plevelと−rlevelアーギュメントが規定されないところでは、ミラーボリュームは、ミラーされるプライマリボリュームの性能レベルと信頼性レベルと出来るだけ近い同じ性能レベルと信頼性レベルを持つこと。
・(5) ミラーボリュームは、他のプライマリボリュームを含むRAIDグループに有ってはならない。
[64] ミラーボリュームの選択について他に考慮することは、上に列挙したそれぞれの基準に重み付けを適用することである。VPMエンジン101は、条件の全てを満たす最良のミラーボリュームを選ぶように試みることが出来る。もしそれが出来なくても、次善のボリュームを選ぶことも出来る。一つの方法は、ボリュームにより満たされる基準の重み付けを集計して、各々の利用可能なボリュームに対し点数を作ることである。最高の点数を持つボリュームが候補のボリュームとして選択される。
[65] 全ての候補ボリュームが選択されると、ステップ705では、各候補ボリュームの特性情報とともに、リストをユーザに認可のために伝達することが可能である。候補のミラーボリュームのリストは、各候補をプライマリボリュームと関連付ける情報を含む。ユーザの認可が要求される場合があるということが、ミラーボリュームが「候補」ボリュームと呼ばれる理由であるということが認識されるものである。
[66] VPMエンジン101は、ユーザから認可の回答を選択的に要求するように構成することが出来る。たとえば、もし候補ボリュームに対する点数が閾値を越える場合は、認可を必要としないことは、設計的に決定されるであろう。アーギュメントを通して、ユーザが、閾値をコマンドに設定することが出来る。他の技術は、認可が必要か否かを指定するアーギュメントを提供する事かもしれない。
[67] もし候補ボリュームに対する認可の回答を受信したときは、次に、ステップ706では、VPMエンジン101は、VPMエージェント111に、ミラーリング動作を開始するための情報を伝達する。各VPMエージェント111は、割り当てられたミラーボリュームを用いて、アプリケーションサーバ110に関連したプライマリボリュームのミラーリングを開始するために、記憶システム150と交信する。他の構成では(たとえば図2)、VPMエンジン自身が、ミラーリング動作を開始するために、記憶システムと交信するかもしれない。
[68] ミラーボリュームの各々に対して、その関連した「使用中」フィールド(図4)は、使用中を意味する値に設定され、割り当てられないようにする。最後に、割り当てられたミラーボリュームは、「ミラーネーム」パラメータで示される活動状態のミラーボリュームのミラーリンググループに追加される。
[69] 図8は、どのようにしてミラーリンググループが削除出来るかを説明する高レベルのフローチャートである。ステップ801では、VPMエンジン101は、VPMユーザインターフェース121から、ミラーリング動作を行っているミラーボリュームのグループであるミラーリンググループを削除するためのコマンドを示す情報を受け取る。ステップ802では、削除するミラーボリュームを含んでいるアプリケーションサーバ110は、VPMエンジンからコマンドを受信する。もし−hostアーギュメントが指定されると、ホストネームにより識別されるアプリケーションサーバ上のミラーリングは停止される。VPMエージェント111は、ミラーリング動作を停止させるために記憶システム150と対話する。他の構成では(たとえば図2)、VPMエンジン自身が、ミラーリング動作を停止させるために、記憶システムと対話するかもしれない。
[70] ステップ803では、VPMエンジン101は、ミラーボリュームをボリュームプールに「復帰」させる。もし−poolアーギュメントが指定されない場合は、ミラーボリュームは、当初そこから割り当てられたボリュームプールへ「復帰」させられる。このようにして、特定の開示された実施例に応じて、復帰するミラーボリュームの各々に関わる「使用中」フィールドは、createmirrorコマンドにおいて再割り当てが出来ることを表示するように設定される。
[71] もし−poolアーギュメントが指定されていると、ミラーボリュームは、プールネームで指定されたボリュームプールへ戻される。これには、指定ボリュームプールへのユーザによる適切なアクセスが必要である。もしアクセスが許可されると、現在ミラーボリュームを含んでいるVPMテーブル400にあるボリュームエントリー403は、前のVPMテーブルからエントリーを削除することを含む、ユーザが指定したVPMテーブルに移動される。
[72] ミラーボリュームは、バックアップと回復、障害回復、二重化データベースの生成など、各種のソリューションに使用することが可能である。幾つかのデータベースシステムとボリュームマネージャソフトウエアにより、ユーザはデータオブジェクトの構成を動的に変更することが出来る。たとえば、ボリュームマネージャは、1個ないしはそれ以上の物理ボリューム520を追加することで、そのディスクグループ530(図5)を再構成することが出来る。結果として、新しく追加された物理ボリュームはミラーされなければならない。そうでない場合は、ミラーボリューム上のディスクグループ530は、アプリケーションサーバ110による再構成およびアクセスが出来ない。
[73] アプリケーションサーバで構成の変更が発生すると、この事象は適切に構成されたVPMエージェント111により検知される。図9は、どのようにしてVPMサーバ100が更新されるのかを示す。ステップ901では、VPMエージェントは、追加または削除されたプライマリボリューム、あるいは追加または削除されたミラーボリュームなどの、ボリュームミラーリング動作に影響を及ぼす構成の変更を検知する。別のアーキテクチャでは、VPMサーバ自身が、その事象を検出可能であるかもしれない。このような事象が検出された場合は、ステップ902で、VPMエージェントは、この事象を示す情報をVPMエンジン101に伝えることが出来る。つぎに、VPMエンジンは、図3Aから図3Fに示す各種のテーブルに、必要な更新を実施するために前述の動作を行う事が出来る。
[74] 図10Aから図10Cは、本発明のさらに他のアスペクトを説明する一般化されたコンフィギュレーションの例を示す。本発明によると、次のリモートコピーアクチュエータや、同様な記憶装置構成を議論する際には、記憶ボリュームの「SANドメイン」の概念が導入される。より一般的な用語は、ある基準(二つあるいはそれ以上の基準)に基づきボリュームがグループ分けされていることを強調する「ローカス」(または「セット」あるいは「ドメイン」)である場合がある。たとえば、一つの地理的なエリアにあるボリュームは一緒にグループ分けされる場合もある。グループは、たとえば一つの都市にあるボリュームは共にグループ分けされるなど、共通のロケーション識別子で識別される。しかしながら、本発明に対応する特定の応用では、ここでは時にはたとえば図10Cに示された三つのSANドメインのようなSANドメインとして参照されるドメインのようなサーバの共通なセットが共有される。
[75] 図10Aはこのようなコンフィギュレーションを示す。図に示すストレージアーキテクチャは、複数のサーバ1010aから1010dと、コミュニケーションサーバ1030を通して通信している、VPMサーバ1000を含む。サーバ1010aと1010bに、1台ないしはそれ以上のプライマリ(生産)記憶システム(ボリューム)とデータコミュニケーションを行わせるために、適当なスイッチングコンポーネント1012aが提供される。図は、この例では、スイッチ1012aが2台の記憶システム1050aと1050b間をスイッチ出来ることを示している。とくに、サーバ1010aは記憶システム1050aにアクセスすることが可能で、一方サーバ1010bは記憶システム1050aと1050bにアクセスする。さらに、記憶システム1050aと1050bは同じ場所に設置されること、この場合、これらは同じサンタクララという都市に設置されているのを見ることができる。同様に、サーバ1010cと1010dは、1台ないしはそれ以上のプライマリ記憶システムとデータコミュニケーションを行うために、スイッチング機能1012bに接続可能である。図10Aに示す実例では、サーバ1010cと1010dはニューヨークと呼ばれる都市にある1台のプライマリ記憶システム1050cを持っている。
[76] リモートコピーリンク1022と1022aが提供するデータチャンネルを通して、リモートコピー機能が動作する。このようにして、図10Aは記憶システム1050aがサーバ1010aのプライマリボリュームとして機能するのを示している。リモートコピーリンク1022が、記憶システム1050aに発生しているデータI/Oアクティビティが記憶システム1050cにミラー出来るように、記憶システム1050bに提供される。第2のリモートコピーリンク1022aが記憶システム1050cに提供される。また、この第2のリンクにより、記憶システム1050aと1050cの間でミラーリングが発生することを可能にしている。たとえば、記憶システム1050cは記憶システム1050aをそのリモートコピーサイトとして使用しなければならない。
[77] 図のコンフィギュレーションの実行明細によると、各記憶システムは「ローカス識別子」を含んでいる。示された例では、ローカスは都市などの位置情報である。しかしながら、ボリュームのローカスは都市の場所以外の何かで識別可能であることは理解出来ることである。ボリュームのローカスはデータ記憶装置に位置するボリュームである場合もあり、ボリュームのグループは装置を収容している建物の名前で、あるいは他の分かりやすい識別子により識別することが出来る。ローカスは共に所属するボリュームとして識別する如何なる基準でもベースに出来る。ローカスはまったく任意に、地理的な場所や機能性などには関係なく定義可能である。もちろん、実際の実行においては、場所などの実際的なグループ分けの基準を用いる傾向にある。
[78] 図10Bはサーバ1010aと1010bと記憶システム1050aと1050bで構成されるSANドメイン1020aを示す。スイッチングコンポーネント1012aは、サーバと記憶システムの間のアクセスを行うために含めることも可能である。スイッチ1012b経由で記憶システム1050cとデータコミュニケーションを行っているサーバ1010cと1010dで構成される他のSANドメインも示されている。
リモートコピーリンクは一つのSANドメインの中ではリンク1022のように、そしてSANドメイン間ではリンク1022aのように用意することが可能である。
[79] 図10Aに示す記憶システムとは異なり、図10Bの記憶システムはローカス情報を記憶するようには構成されてない。このような場合には、VPMサーバ1000は、以下に論じるように、ドメインを定義する(SANドメインとも言う)ように構成することも可能である。これは幾つかの基準で関連づけられているボリュームのグルーピングである。
[80] 図10Cは、アーキテクチャがどのように拡大縮小するかを示しながら、図10Bに示すものよりもより大きい記憶装置のコンフィギュレーションの他の例を示す。第3のSANドメイン1020が提供される。SANドメイン1020aと1020c間と1020bと1020c間のそれぞれに、リモートコピーリンク1022bと1022cが追加される。容易に気付くことであるが、都市、州、国、及び大陸を超えて、世界的(いつの日かは)にまたがる大きな装置に関しては、サイトの管理が大変困難になる。
[81] 図11は図10Aから図10Cに示す記憶システム間のリモートコピー接続トポロジーを決めるステップの要点を示すフローチャートである。ステップ1102では、利用可能なリモートコピー機能に関わる情報を決めるために、送信側に指定された記憶システム(たとえば1050a)は受信側に指定された他の記憶システム(たとえば1050c)と対話する。情報は、納入業者、ファームウエア情報、リモートコピー能力などを含む。コミュニケーションは送信側で提供されるポート(時にはイニシエータポートと呼ばれる)に接続することで達成することが出来る。送信側はポートを通して受信側と通信する。同様の機能を提供するために異なったハードウエアやソフトウエアで他の記憶システムを構成できることは容易に理解出来ることである。この技術に熟達している人は、本発明を実施するためにこのようなシステムを適宜容易に変更し得るものである。[82] ステップ1104では、受信側はそのリモートコピー機能が送信側のそれと互換性があるかどうかをチェックする。もし互換性があるならば、肯定インディケーションが送信側に返送される。互換性が無い場合には、送信側へ否定的な応答を送信する。もし送信側が肯定的な応答を受信すると(ステップ1106)、送信側は続いてこのことをVPMサーバ1000に伝える。これらのステップはこの機能を持つ全ての記憶ボリュームについて行われる。システムにボリュームの追加や削除がある場合に、最新の状態を維持するために、定期的にこのステップを繰り返すことも可能である。接続情報はVPMサーバ1000により集められ、ユーザに適当な手段で表示される。
[83] 本発明の実施例に従い、ローカス識別情報を記憶システムに記憶することで、ユーザがボリューム(SANドメイン)のローカスを識別することが出来る記憶システムが提供される。図11で強調される処理は、どの記憶システムが接続されているかを示す情報を作りだす。図10Aでは、たとえば、ユーザはサンタクララにある記憶システム1050aがニューヨークにある記憶システム1050cに接続(リモートコピー処理のために)されていることを知る。
[84] この情報により、ユーザは手動でドメインを定義することが可能になる。たとえば、図10Aを再度参照すると、記憶システム1010aと1010bはサンタクララにあることが示されている。ユーザはこれらの記憶システムで一つのドメインを構成するよう決める可能性がある。識別子「サンタクララ」を各記憶システムのいずれかのメモリーに挿入することも可能である。一般には、記憶システムには何らかのインターフェース手段があって、ユーザはこのような情報をリモートであるいは直接に入力することが出来る。
位置情報に含まれる可能性があるのは:
■ 場所の固有の名称、たとえば、都市の名前、部の名称など
■ 記憶システムが位置する場所のアドレス
■ ボリュームのローカスを管理する責任のあるシステムアドミニストレータの名前
■ システムアドミニストレータのEメールアドレスと電話番号
■ 等々
このような記憶システムはローカルに情報を記憶し、そしてVPMサーバのVPMエンジンコンポーネント101(図1)にその情報を提供する機能を持つ。本発明によると、同じローカス名を持つ記憶システムは同じローカスにあると見なされる。
[85] 記憶システム(たとえば、1050aや1050b等)が、VPMサーバにアップロード出来るローカル識別情報を記憶する機能を持たない場合は、SANドメインは手動で定義が出来る。この場合は、VPMサーバは、ユーザがSANドメインを定義し、そして特定のSANドメインに所属する記憶システムを割り当てることが出来るように、インターフェースを提供することが出来る。
[86] 図12は、ボリュームのグループ(loci)が自動的に識別される、本発明の他の実施例を強調する高レベルフローチャートを示す。本発明のこの面での特定の実施例では、VPMサーバ1000はボリュームのローカスをスイッチを経由して相互にデータ通信をしているこれらのサーバや記憶システムとして定義する。たとえば、図10Bはスイッチコンポーネント1012aを経由して相互に通信をしているサーバ1010aと1010bを示す。サーバ1010aはスイッチを経由してボリューム1050aと通信が出来る。同様に、サーバ1010bはスイッチを経由してボリューム1050aと1050bと通信が出来る。これによりローカス(ドメイン)1020aが定義される。ボリュームのローカスの範囲を全ネットワークの中に収めるため、リモートのリンクを通してアクセスされるサーバやボリュームは除外される。このようにして、ボリューム1050cはローカス(ドメイン)1020aから除外される。
[87] このように、ステップ1202では、各サーバ1010aから1010dはどの記憶システムにアクセス出来るかを決める。特定の実施例では、サーバのVPMエージェント111(図1)はSCSI照会コマンドを発行し、それが接続されている記憶システムについての接続情報を得る。同様に、スイッチ(たとえば1012a)に対する接続情報は、たとえばSNMPやある種の独自のSCSIやファイバーチャネルコマンドなど、各種の既知の方法で得ることが出来る。サーバからのVPMエージェントはこの接続情報をVPMサーバ1000に報告する。
[88] 次に、ステップ1204では、各接続情報を報告したサーバ(たとえば1010b)について、VPMサーバ1000は、そのサーバに接続されている各記憶システム(たとえば1050aや1050b)を識別するために、情報を調べる。ステップ1201では、記憶システムがSANドメインと関連しているか否かが決められる。もしその記憶システムがSANドメインと関連している場合は、ステップ1206では、サーバ(たとえば1010b)はそのサーバに接続されている他の全ての記憶システム(すなわち1050aと1050b)とスイッチ(すなわち1022a)と共にSANドメインに関連している。もしその記憶システムがSANドメインに関連していない場合は、次にステップ1208で、新しいSANドメインが作成される。その記憶システムは、つづいて、サーバに接続された他の全ての記憶システムとスイッチと共に新たに作成されたSANドメインに関連付けされる。
[89] このプロセスは、接続情報を連絡した各サーバについて、ステップ1210でさらに繰り返される。有意味の識別子を出せなかった複数のドメインの識別が結果として得られる。たとえば、実行によっては、「ドメイン−1」とか「ドメイン−2」などの任意の識別子を割り当てることが出来る。ユーザは有意味のドメイン名や他の情報を手動により入力出来る。これは以下のような場所情報を含むこともある:
■ 場所の固有の名称、たとえば、都市の名前、部の名称など
■ 記憶システムが位置する場所のアドレス
■ ボリュームのローカスを管理する責任のあるシステムアドミニストレータの名前
■ システムアドミニストレータのEメールアドレスと電話番号
■ 等々
[90] 図3Gによると、物理ボリュームテーブルのエントリー340’は図3Fに示すテーブルエントリー340の改良版であって、各ボリュームについてエンハンスによりリンクフィールドを含んでいる。特に、リンクフィールド342aが提供される。もしボリュームがリモートボリュームにリンクしている場合は、その対応するリンクフィールドはリモートボリュームを表す情報を含んでいる。このようにして、図10Aを参照すると、記憶システム1050aに対応する物理ボリュームテーブル(図3Gに示す)のテーブルエントリー340’は、それらがリモートリンク1022a経由でリンクされているので、記憶システム1050cを代表するリンクフィールドエントリー342aを持つと考えられる。
[91] エントリー340’はまたローカス(ドメイン名)フィールド342bを含む。これは、図12で説明されたようにボリュームのグループが識別された時には記入される。このように、図10Aの記憶システム1050aと1050bに対応する物理ボリュームテーブル(図3Gに示す)のテーブルエントリーを再度参照すると、それらが同じグループのボリューム(ローカスやドメイン)に属しているので、それぞれが「サンタクララ」を表すローカスフィールドエントリー342bを持つと考えられる。
[92] さらに、同じローカス(あるいはグループ)に属する記憶システムは同じボリュームプールにグループ分けすることが出来る。もしローカスにある記憶システムが同じボリュームプールに属するならば、ボリュームテーブル情報プール400にあるそれらの対応するエントリー403(図4)は同じサイト名フィールドを持つ。図10Aでは、同じローカスに属する記憶システム1050aと1050bはまた、同じボリュームプールに属すると想定される。これらの各サイト名フィールドは「サンタクララ」を含んでいることになる。
[93] createmirrorコマンドはエンハンスにより、リモートコピーサイトについてのこの追加の情報を利用することが出来る。このように、createmirrorコマンドは以下の追加の引き数を含む:
createmirror mirror_name
[−vol pvoll [pvol2 . pvoln]
[−app appname instname]
[−host hosmame]
[−pool pool_name]
[−plevel performance_level]
[−rlevel reliability_level]
[−site sitename]
[−remote remote_sitename]
−remote:この引き数はそこからミラーボリュームが選択されるリモートサイトを特定する。既定のボリュームプールはリモートサイトにあるボリュームプールから選ばれる。
[94] この追加された引き数は、ミラーボリュームを選ぶ際の制御の程度を達成するために他の引き数と組み合わせることも出来る。
たとえば:
createmirror −vol vol1 vo12・・・ −remote sitename −pool pool1
によりユーザはサイト名により名称が指定されたリモートサイト(すなわち、ボリュームのローカス、SANドメインなど)でvol1、vol2等々のボリュームのミラーを作成し、ミラーボリュームをpool1というボリュームから選択するように指定することが出来る。
[95] このように、図10Aについて、コマンド
createmirror −vol storage_system_1050a −remote new_york −pool pool
はニューヨークにあるリモートボリュームを用いて、記憶システム1050aのミラー動作を開始するよう試みる。物理ボリュームテーブルにある記憶システム1050aに対応するエントリー340’(図3G)は、ボリューム1050aがボリューム1050cに接続されているので、記憶システム1050cを示すリンクフィールド342aを持つと考えられる。VPMサーバ1000は記憶システム1050cのテーブルエントリー340’(図3G)にアクセスし、そしてリモートフラッグ(すなわちニューヨーク)により指定されたドメイン名と、ドメインネームフィールド342bとを比較する。もし一致している場合は、VPMサーバはプールフラッグ(すなわち、プール1)により指定されたボリュームプールに対応する、ボリュームプールインフォメーションテーブルのテーブルエントリー400(図4)にアクセスする。もし記憶システム1050cが指定されたミラーボリュームプールにある場合は、記憶システム1050aと1050cとの間のミラーリング動作が開始される。
[96] 今度は次のコマンドを検討する(再び図10Aを参照):
createmirror −vol storage_system_1050b −remote new_york −pool pool1
VPMサーバはニューヨークにあるリモートボリュームを用いて、記憶システム1050bのミラー動作を開始するよう試みる。しかしながら、物理ボリュームテーブルにある記憶システム1050aに対応するエントリー340’(図3G)は、ボリューム1050bがどのリモートボリュームにも接続されていないので、リモートリンクが無いということをを示すリンクフィールド342aを持つと考えられる。VPMサーバ1000は、ユーザがリモートフラッグを経由して、ミラーボリュームはリモートサイトから選択するよう指定していたので、それ以上探すことなく、単に否定的な回答を送り返す。
[97] 次に示すコマンドにより、ユーザは、リモートサイト名にあるミラーボリュームに対し、パフォーマンスレベル1と信頼性レベル1を持つように指定することが出来る:
createmirror −vol1 vo12・・・ −remote sitename −plevel 1 −rlevel 1
[98] このコマンドラインにより、サイト名で指定された名のリモートサイトからミラーボリュームを選択するPROD1という名称のオラクルのデータベースを含む全てのボリュームのミラーが作成される。
createmirror −app Oracle −inst PROD 1 −remote sitename
[99] 次のコマンドにより、サイト名で指定された名のリモートサイトにミラーボリュームがあるVGO1という名称のディスクグループを形成する全てのボリュームのミラーが作成される。
createmirror −app VxVM−g VG01 −remote sitename
[100] グループに含まれるボリュームの内部接続性に関する予備知識がない場合にも、本発明のこの面によって、ユーザはグループ化された(たとえば、SANドメイン)ミラーボリュームを選択出来ることは理解されるものである。
[101] 図13はリモートフラッグが使用されている場合にミラーを作成する追加の処理ステップを説明している。このように、ステップ1302では、createmirrorコマンドはリモートフラッグ付きで発行される。ステップ1304では、VPMエンジン101(図1)は、もしプールが−pool optionで指定されていない場合は、ボリュームプールを選択する。次は、図7で概略を示すように、ミラーボリュームはボリュームプールから選択される。ステップ1306では、VPMエンジン101はVPMエージェント111にcreatemirrorリクエストを発行する。次に、VPMエージェントは記憶システム150の記憶デバイス151に適した方法でミラーを作成することを試みる。要求したリモート記憶システム(たとえば、1050a、図10A)に接続されていない場合は、拒否回答が送出される。
[102] ユーザはまたパラメータ「−remote BackupDomain」を設定出来る。ここでは、「BackupDomain」はサイト(たとえば、ダラスやニューヨーク)にまたがるSANドメインを意味する。BackupDomainは2個ないしはそれ以上のSANドメインを含む。
[103] 図10Cに示すような、記憶システムが2個ないしはそれ以上のリモートリンク接続を持つ構成では、VPMサーバはプライマリボリュームと共に用いるための最適なボリュームを選択出来る。このように、たとえば、図10Cでは、SANドメインダラスの記憶システム1050dはリンク1022bを経由してサンタクララのSANドメインにある記憶システム1050aと、またリンク1022cを経由してニューヨークと名付けられたSANドメインにある記憶システム1050cとに接続される。図4AのVPMテーブルにあるリンクフィールドは、複数の記憶ボリュームを代表するリストであり得ることは容易に理解出来ることである。このように、記憶システム1050dのVPMテーブルエントリーは、記憶システム1050dがそれらに接続が可能であることを意味して、記憶システム1050aと1050cを代表するリンクフィールド情報を持っている。
[104] ユーザがリモートサイトでミラーを作成したいと場合は、以下のファクターを考慮することが出来る。
・ 性能:ユーザは性能情報を提供出来る。一方、VPMサーバまたは記憶システムもまた、性能情報を収集することが出来る。一般的な性能情報は以下を含む:
> 記憶装置またはサイト間の接続:バンド幅、距離、用途
> 作業負荷のパターン:シーケンシャル/ランダム、入出力の大きさ、入出
力の秒速テーブル1と2は代表的な値を示す:
・ ボリュームの属性ユーザはボリューム属性を手動で設定出来る。
一方、VPMサーバまたは記憶システムもまた、属性を自動的に収集することが出来る。テーブル3は標準的な属性が含むものである。
> ユーザのタイプ
> 重要性(損失を許さない、多少の損失は許容する、1日に1回程度)、性能
> アプリケーションのタイプ
【図面の簡単な説明】
【図1】図1は、本発明の解説のための実施例に対応するデータマネージメントコンポーネントを持つデータ記憶システムの高レベルシステムダイアグラムを示す。
【図2】図2は本発明の他の解説のための実施例に対応するデータマネージメントコンポーネントを持つデータ記憶システムの高レベルシステムダイアグラムを示す。
【図3A】図3Aは本発明の実施例に対応するインフォメーションテーブルの解説のための実行例を示す。
【図3B】図3Bは本発明の実施例に対応するインフォメーションテーブルの解説のための実行例を示す。
【図3C】図3Cは本発明の実施例に対応するインフォメーションテーブルの解説のための実行例を示す。
【図3D】図3Dは本発明の実施例に対応するインフォメーションテーブルの解説のための実行例を示す。
【図3E】図3E本発明の実施例に対応するインフォメーションテーブルの解説のための実行例を示す。
【図3F】図3F本発明の実施例に対応するインフォメーションテーブルの解説のための実行例を示す。
【図3G】図3G本発明の実施例に対応するインフォメーションテーブルの解説のための実行例を示す。
【図4】図4は本発明の実施例に対応するインフォメーションテーブルの解説のための実行例を示す。
【図5】図5は、単に本発明の実施例の特徴を説明する目的の、データ記憶システムアーキテクチャの例を説明する。
【図6】図6は、図3Aから図3Fに示すシステムコンフィギュレーションテーブルを生成するための処理ステップの例を説明する、高レベルのジェネラルフローチャートである。
【図7】図7は、本発明の実施例に対応する、ミラー動作を始動するための処理ステップの例を説明する、高レベルのジェネラルフローチャートである。
【図8】図8は、本発明の実施例に対応するミラーの削除の例を説明する高レベルのジェネラルフローチャートである。
【図9】図9は、データ記憶装置の構成が変わったときに、システムテーブルの更新を説明する高レベルのジェネラルフローチャートである。
【図10A】図10Aは本発明の実例的な実施例によるデータマネージメントコンポーネントを持つリモートコピーアーキテクチャの構成例を示す。
【図10B】図10Bは本発明の実例的な実施例によるデータマネージメントコンポーネントを持つリモートコピーアーキテクチャの構成例を示す。
【図10C】図10Cは本発明の実例的な実施例によるデータマネージメントコンポーネントを持つリモートコピーアーキテクチャの構成例を示す。
【図11】図11は、記憶システムを照会する一般的なステップを示す。
【図12】図12は、ドメインを見つける手順と、それらの連結性を強調するジェネラルフローチャートである。
【図13】図13は本発明の他のアスペクトによるミラーボリュームを生成する一般的な処理を説明する。
【符号の説明】
100・・・VPMサーバ、101・・・VPMエンジン、102・・・VPMテーブル、103・・・システムコンフィギュレーションテーブル、120・・・ユーザエキスプローラ、121・・・VPMユーザインターフェース、110・・・アプリケーションサーバ、111・・・VPMエージェント、150・・・記憶システム、350、サーバ情報、351・・・サーバ名、352・・・IPアドレス
Claims (20)
- 記憶マネージメントの方法であって、第1の種類のコマンドを受信し、前記コマンドは第1の情報を有し、前記第1の情報に基づいて、少なくとも1個のプロダクションボリュームを識別し、複数の記憶ボリュームから候補記憶ボリュームを選択し、前記候補記憶ボリュームに関して、前述のプロダクションボリュームのミラーリングを開始し、前記の候補記憶ボリュームはミラーボリュームで、少なくとも1個のプロダクションボリュームと1個ないしはそれ以上の候補記憶ボリュームの間の接続性を示す接続情報に基づいて選択するステップからなることを特徴とする記憶マネージメントの方法。
- 請求項1の方法であって、さらに第1の記憶システムにおいて第2の記憶システムとの通信を試み、もし前記第2の記憶システムとの通信が可能であれば、前記第1の記憶システムと前記第2の記憶システム間で通信することを意味する情報をデータ記憶装置に記憶し、前記情報は接続情報として使用可能であることを備えた前記接続情報を得るステップを含むことを特徴とする記憶マネージメントの方法。
- 請求項1の方法であって、前記第1の情報はアプリケーションプログラムを表し、前記アプリケーションプログラムはそれに加え複数のデータオブジェクトに関連を持ち、識別をするステップは、1個ないしはそれ以上のデータオブジェクトを有する全てのデータファイルに総合的に記憶装置を提供するプロダクションボリュームを識別することを含むことを特徴とする記憶マネージメントの方法。
- 請求項3の方法であって、識別を行う前記ステップは、さらにプロダクションボリュームを表す識別情報を得るためにアプリケーションと対話することを含むことを特徴とする記憶マネージメントの方法。
- 請求項3の方法であって、コマンドは、さらに第1のデータオブジェクトを代表する第2の情報で構成され、識別する段階では、前記の第1のデータオブジェクトで構成される全てのデータファイルに対して集合的に記憶装置を提供するプロダクションボリュームを識別することを含むことを特徴とする記憶マネージメントの方法。
- 請求項1の方法であって、さらに前記候補記憶ボリュームをミラーボリュームとして用いることの承認を得ることを含むことを特徴とする記憶マネージメントの方法。
- 請求項1の方法であって、前記第1の情報は複数のプロダクションボリュームを表し、選択を行う前記ステップは各前記プロダクションボリュームの対応する候補記憶ボリュームを決めることを含み、開始を行う前記ステップは前記プロダクションボリュームの各々のミラーリングを対応する候補ミラーボリュームと開始することを含むことを特徴とする記憶マネージメントの方法。
- 請求項1の方法であって、前記コマンドは、さらに1個ないしはそれ以上の性能レベルと信頼性レベルを表す第2の情報を含み、選択を行う前記ステップは前記第2の情報に基づくことを特徴とする。
- 請求項1の方法であって、さらに第2の種類のコマンドを受け取る事を含み、前記第2の種類のコマンドは、1ないしはそれ以上のプロダクションボリュームのミラーリングを行うために用いられる1個ないしはそれ以上の記憶ボリュームを表す第2の情報と、前記第2の種類のコマンドを受け取ることにより、1個ないしはそれ以上の前記プロダクションボリュームのミラーリングを終了させること、1個ないしはそれ以上の前記記憶ボリュームが、続く選択のステップで候補ボリュームとして選択される事が可能なように、1個ないしはそれ以上の前記記憶ボリュームが既にミラーボリュームとして使用されていないことを明示することを含むことを特徴とする記憶マネージメントの方法。
- データ記憶システムであって、請求項1で説明された方法に応じて動作する、プロダクションボリュームとミラーボリュームとボリュームマネージャを有することを特徴とするデータ記憶システム。
- ネットワークエリア記憶システムであって、請求項1の方法に従って動作するボリュームマネージャを有していることを特徴とするネットワークエリア記憶システム。
- 記憶マネージメントの方法であって、第1の種類のコマンドを受け取り、前記コマンドは第1の情報を有し、前記第1の情報に基づき第1の複数の記憶ボリュームの中から少なくとも1個のプロダクションボリュームを識別し、候補記憶ボリュームを第2の複数の記憶ボリュームの中から選択し、前記第2の記憶ボリュームは、それぞれ前記第1の記憶ボリュームの何れかとの接続性を表している、対応する接続情報に関連し、前記選択のステップは接続情報に基づき、候補の記憶ボリュームについてプロダクションボリュームのミラーリングを開始することからなり、前記候補記憶ボリュームはミラーボリュームであり、取得ステップで取得された前記接続情報は、第1の記憶システムでは、第2の記憶システムと通信を試み、もし前記第2の記憶システムとの通信が可能な場合には、前記第1の記憶システムと前記第2の記憶システム間で通信が行われていることを示す、前記第1の記憶システム情報に関連する記憶ボリュームと関連することを特徴とする。
- 請求項12の方法であって、各ミラーボリュームは、ボリュームのグループを示す関連ローカス情報を持ち、第1の情報はさらにローカスを表す情報を含み、さらに選択のステップは前記ローカスに基づくことを特徴とする記憶マネージメントの方法。
- 請求項12の方法であって、さらに第2の種類のコマンドを受け取ることを含み、前記第2の種類のコマンドは1個ないしはそれ以上のプロダクションボリュームのミラーリングを行うために用いられる1個ないしはそれ以上の記憶ボリュームを表す第2の情報と、前記第2の種類のコマンドを受け取ることにより、1個ないしはそれ以上の前記プロダクションボリュームのミラーリングを終了させること、1個ないしはそれ以上の前記記憶ボリュームが、続く選択のステップで候補ボリュームとして選択されることが可能なように、1個ないしはそれ以上の前記記憶ボリュームが既にミラーボリュームとして使用されていないことを明示することを含むことを特徴とする記憶マネージメントの方法。
- データ記憶システムであって、請求項12で説明された方法に応じて動作する、プロダクションボリュームとミラーボリュームとボリュームマネージャを有することを特徴とする記憶マネージメントの方法。
- 複数の記憶ボリュームで構成されるデータ記憶システムで使用するのに適したデータ記憶マネージャであって、該データ記憶マネージャは、ミラーボリューム情報と接続情報を記憶するデータ記憶装置であって、該ミラーボリューム情報がミラーボリュームとして1個ないしはそれ以上の前記記憶ボリュームを表し、該接続情報が1個ないしはそれ以上の前記ミラーボリュームに対するプライマリボリュームへのデータ接続を示しているデータ記憶装置と、コマンドを受信するユーザインターフェースと、データ記憶装置とのデータ通信におけるコマンド処理コンポーネントとで構成されており、前記ユーザインターフェースは、前記コマンド処理コンポーネントに対する前記コマンドを示すコマンド情報を通信することができ、前記コマンド情報が1個ないしはそれ以上のプライマリボリュームを示すプライマリボリューム情報で構成されており、前記コマンド処理コンポーネントは、各プライマリボリュームを前記接続情報に基づき前記ミラーボリュームの一つに関連付け、関連付けたミラーボリュームに各プライマリボリュームのミラーリング動作を有効にする動作が可能であることを特徴とする記憶マネージャ。
- 請求項16のデータ記憶マネージャであって、各ミラーボリュームはボリュームのグループを示す関連ローカス情報を持ち、前記第1のコマンドはさらにローカスを表す情報を含み、前記コマンド処理コンポーネントは前記ローカスに基いて候補のミラーボリュームを選択するように動作可能なことを特徴とする記憶マネージャ。
- 請求項16のデータ記憶マネージャであって、前記データ記憶システムは、ネットワークエリアストレージコンポーネントを含むことを特徴とする記憶マネージャ。
- データ記憶システムであって、プライマリボリュームとして用いられる第1の記憶ボリュームと、ミラーボリュームとして用いられる第2の記憶ボリュームと、請求項16に記載のデータ記憶マネージャを有することを特徴とするデータ記憶システム。
- 請求項16のデータ記憶マネージャであって、ネットワークエリア記憶システムで用いられることを特徴とするデータ記憶マネージャ。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/170,804 US6925541B2 (en) | 2002-06-12 | 2002-06-12 | Method and apparatus for managing replication volumes |
US10/305,714 US7039777B2 (en) | 2002-06-12 | 2002-11-27 | Method and apparatus for managing replication volumes |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004252934A true JP2004252934A (ja) | 2004-09-09 |
JP2004252934A5 JP2004252934A5 (ja) | 2006-08-03 |
Family
ID=33032577
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003167259A Pending JP2004252934A (ja) | 2002-06-12 | 2003-06-12 | 複製ボリュームを管理するための方法と装置法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004252934A (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006085254A (ja) * | 2004-09-14 | 2006-03-30 | Canon Inc | サーバ装置および印刷装置およびデータ保護処理方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体およびプログラム |
JP2007529059A (ja) * | 2003-07-17 | 2007-10-18 | インターナショナル・ビジネス・マシーンズ・コーポレーション | リレーショナル・コンフィギュレーション・ミラーリングのシステムおよび方法 |
JP2008204358A (ja) * | 2007-02-22 | 2008-09-04 | Hitachi Ltd | 継続的データ保護方法および継続的データ保護システム |
JP2008293307A (ja) * | 2007-05-25 | 2008-12-04 | Nippon Telegr & Teleph Corp <Ntt> | 分散型マルチメディアサーバシステムおよびそのマルチメディア情報蓄積・配信方法 |
JP2010282635A (ja) * | 2010-07-09 | 2010-12-16 | Nippon Telegr & Teleph Corp <Ntt> | 分散型マルチメディアサーバシステムおよびそのマルチメディア情報蓄積・配信方法 |
CN111124311A (zh) * | 2019-12-23 | 2020-05-08 | 四川效率源信息安全技术股份有限公司 | 一种逻辑卷管理下基于配置信息的raid数据的恢复方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09146812A (ja) * | 1995-11-27 | 1997-06-06 | Sanyo Electric Co Ltd | データベース装置 |
JP2000207370A (ja) * | 1999-01-20 | 2000-07-28 | Matsushita Electric Ind Co Ltd | 分散ファイル管理装置及び分散ファイル管理システム |
JP2001318833A (ja) * | 2000-05-09 | 2001-11-16 | Hitachi Ltd | ボリューム複製機能を有する記憶装置サブシステム、および、それを用いたコンピュータシステム |
JP2002082775A (ja) * | 2000-07-06 | 2002-03-22 | Hitachi Ltd | 計算機システム |
-
2003
- 2003-06-12 JP JP2003167259A patent/JP2004252934A/ja active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09146812A (ja) * | 1995-11-27 | 1997-06-06 | Sanyo Electric Co Ltd | データベース装置 |
JP2000207370A (ja) * | 1999-01-20 | 2000-07-28 | Matsushita Electric Ind Co Ltd | 分散ファイル管理装置及び分散ファイル管理システム |
JP2001318833A (ja) * | 2000-05-09 | 2001-11-16 | Hitachi Ltd | ボリューム複製機能を有する記憶装置サブシステム、および、それを用いたコンピュータシステム |
JP2002082775A (ja) * | 2000-07-06 | 2002-03-22 | Hitachi Ltd | 計算機システム |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007529059A (ja) * | 2003-07-17 | 2007-10-18 | インターナショナル・ビジネス・マシーンズ・コーポレーション | リレーショナル・コンフィギュレーション・ミラーリングのシステムおよび方法 |
JP2006085254A (ja) * | 2004-09-14 | 2006-03-30 | Canon Inc | サーバ装置および印刷装置およびデータ保護処理方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体およびプログラム |
JP4636836B2 (ja) * | 2004-09-14 | 2011-02-23 | キヤノン株式会社 | サーバ装置、印刷装置、データ保護処理方法、及びプログラム |
JP2008204358A (ja) * | 2007-02-22 | 2008-09-04 | Hitachi Ltd | 継続的データ保護方法および継続的データ保護システム |
JP2008293307A (ja) * | 2007-05-25 | 2008-12-04 | Nippon Telegr & Teleph Corp <Ntt> | 分散型マルチメディアサーバシステムおよびそのマルチメディア情報蓄積・配信方法 |
JP4667419B2 (ja) * | 2007-05-25 | 2011-04-13 | 日本電信電話株式会社 | 分散型マルチメディアサーバシステムおよびそのマルチメディア情報蓄積・配信方法 |
JP2010282635A (ja) * | 2010-07-09 | 2010-12-16 | Nippon Telegr & Teleph Corp <Ntt> | 分散型マルチメディアサーバシステムおよびそのマルチメディア情報蓄積・配信方法 |
CN111124311A (zh) * | 2019-12-23 | 2020-05-08 | 四川效率源信息安全技术股份有限公司 | 一种逻辑卷管理下基于配置信息的raid数据的恢复方法 |
CN111124311B (zh) * | 2019-12-23 | 2023-06-23 | 四川效率源信息安全技术股份有限公司 | 一种逻辑卷管理下基于配置信息的raid数据的恢复方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7039777B2 (en) | Method and apparatus for managing replication volumes | |
US7594072B2 (en) | Method and apparatus incorporating virtualization for data storage and protection | |
US6889309B1 (en) | Method and apparatus for implementing an enterprise virtual storage system | |
US7406473B1 (en) | Distributed file system using disk servers, lock servers and file servers | |
US7334029B2 (en) | Data migration method | |
US6606690B2 (en) | System and method for accessing a storage area network as network attached storage | |
US7574443B2 (en) | Scalable clustered storage system | |
US8726072B1 (en) | System and method for improving cluster performance using an operation thread for passive nodes | |
US7487322B2 (en) | Article of manufacture and system for storage pool space allocation across multiple locations | |
US7647360B2 (en) | System and method for managing a consistency among volumes in a continuous data protection environment | |
US9413825B2 (en) | Managing file objects in a data storage system | |
US8352431B1 (en) | Fine-grain policy-based snapshots | |
US20080195827A1 (en) | Storage control device for storage virtualization system | |
US20100036896A1 (en) | Computer System and Method of Managing Backup of Data | |
US20090112789A1 (en) | Policy based file management | |
US20060074957A1 (en) | Method of configuration management of a computer system | |
US7987206B2 (en) | File-sharing system and method of using file-sharing system to generate single logical directory structure | |
JP4278452B2 (ja) | 計算機システム | |
JP2003091449A (ja) | ストレージシステムおよびストレージシステムの管理方法 | |
US7359975B2 (en) | Method, system, and program for performing a data transfer operation with respect to source and target storage devices in a network | |
EP3296895A1 (en) | Policy based file management | |
JP2004252934A (ja) | 複製ボリュームを管理するための方法と装置法 | |
US7606811B1 (en) | Methods and apparatus for synchronizing information | |
US20200348843A1 (en) | Distributor data map for storage volume replication across multiple data centers | |
CN112003892A (zh) | 一种tgt的iSCSI-target配置全局化的管理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20060420 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20060608 Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060608 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060608 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20060608 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20071012 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20090210 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090430 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090624 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090806 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100210 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20100610 |