JP4175789B2 - 記憶装置のファイルレベルリモートコピー方法 - Google Patents

記憶装置のファイルレベルリモートコピー方法 Download PDF

Info

Publication number
JP4175789B2
JP4175789B2 JP2001204306A JP2001204306A JP4175789B2 JP 4175789 B2 JP4175789 B2 JP 4175789B2 JP 2001204306 A JP2001204306 A JP 2001204306A JP 2001204306 A JP2001204306 A JP 2001204306A JP 4175789 B2 JP4175789 B2 JP 4175789B2
Authority
JP
Japan
Prior art keywords
remote copy
file
storage device
information
target
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
JP2001204306A
Other languages
English (en)
Other versions
JP2003015933A (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 JP2001204306A priority Critical patent/JP4175789B2/ja
Priority to US09/947,268 priority patent/US7047261B2/en
Publication of JP2003015933A publication Critical patent/JP2003015933A/ja
Priority to US11/378,764 priority patent/US20060184502A1/en
Application granted granted Critical
Publication of JP4175789B2 publication Critical patent/JP4175789B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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/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/2056Error 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 by mirroring
    • G06F11/2071Error 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 by mirroring using a plurality of controllers
    • 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/2056Error 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 by mirroring
    • G06F11/2069Management of state, configuration or failover
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99955Archiving or backup

Landscapes

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

Description

【0001】
【発明の属する技術分野】
本発明は、リモートコピーを行う記憶装置システムに関する。特に、ボリューム単位ではなくファイルやディレクトリ単位でリモートコピー対象を指定する記憶装置システムに関する。
【0002】
【従来の技術】
記憶装置システム間でデータのコピーを行うリモートコピーという技術がある。
【0003】
リモートコピーとは、物理的に離れた場所にある複数の記憶装置システム間で、ホストコンピュータの介在なしに2重書きを行うものである。リモートコピーでは、第1サイトと第2サイトにそれぞれ配置された記憶装置システムは専用回線、あるいは公衆回線により接続される。また、第1サイトの記憶装置システム上のコピー対象の論理ボリューム(以下、「コピー元論理ボリューム」と記す)と同容量の論理ボリュームが第2サイトの記憶装置システム上に、第1サイトの記憶装置システム上のコピー対象の論理ボリュームとペアの論理ボリューム(以下、「コピー先論理ボリューム」と記す)として形成される。そして、第1サイトのコピー元論理ボリュームのデータが、第2サイトのコピー先論理ボリュームにコピーされる。また、ホストコンピュータから第1サイトのコピー元論理ボリュームのデータが更新された場合、当該更新データは第2サイトの記憶装置システムに転送され、コピー先論理ボリュームにも書き込まれる。このようにリモートコピーの技術では第1サイトと第2サイトにおいて、常に論理ボリュームの2重化状態が保たれる。
【0004】
このため、地震や洪水などの自然災害、あるいは火災やテロなどの人的災害により第1サイトが使用不能になっても、第2サイトの記憶装置システム上の論理ボリュームを使用して、業務を迅速に再開できる。
【0005】
リモートコピーに関する従来の技術としては、USP5,742,792、あるいはEMCSRDF(EMC Symmetrix Remote Data Facility),L523.7-J 11/00.1がある。
【0006】
NAS(Network Attached Storage)はネットワークに繋がりファイルレベルのアクセス要求を処理するストレージである。ブロックレベルのストレージデバイス(SCSI接続のハードディスク等)と異なり、NASはNFS(Network File System)サーバ等のファイルシステムを有しており、ファイルやディレクトリに対するアクセス要求を処理できる。
NASと似た概念にファイルサーバがある。ファイルサーバもNASと同様にネットワークに繋がり、ファイルアクセス要求を処理する。NASがファイルサーバと異なるのは、NASはファイルのI/Oサービスに特化したアプライアンスとしてのストレージであり、I/Oサービスと全く無関係な処理を行わない分、通常のファイルサーバと比較してシステムダウンに強い堅牢なシステムを構築できる。
NASに関しては「日経エレクトロニクス2000.11.6(no.782)号」日経BP社の54、55頁に記述がある。
【0007】
NFS、NFSサーバに関しては「4.4BSD Operating System」Marshall Kirk McKusick他著、Addison Wesley出版の311-336頁に詳細な説明がある。
【0008】
【発明が解決しようとする課題】
上記従来技術のリモートコピーの場合、リモートコピーの対象がボリューム単位となっており、ボリューム内に格納されているあまり重要でないファイルまでがリモートコピーの対象となってしまう。その結果、コピーの対象となるデータの量が増し、かつ、コピーに要する時間が増大する。
本発明の目的は、より細かいレベルでリモートコピーの対象を指定する手段を提供することである。
【0009】
【課題を解決するための手段】
上記目的を達成するために、それぞれの記憶装置は、ファイル単位又はディレクトリ単位でリモートコピー対象の記憶装置情報及び格納場所を示すパス情報と、ファイル単位又はディレクトリ単位にリモートコピー先を指定するための記憶装置情報及び格納場所を示すパス情報と、リモートコピー先に対するリモートコピーが失敗したときのために予備のリモートコピー先を指定する情報と、を保持し、計算機からファイルに対するライト要求を受信すると、ライト処理を実行し、ライト対象のファイルがリモートコピー対象であるかを判定し、ライト対象のファイルがリモートコピー対象である場合には、ネットワーク経由でアクセス可能なリモートコピー先の記憶装置に対してファイル単位又はディレクトリ単位でリモートコピーを行い、リモートコピー先に対するリモートコピーが失敗したときには、リモートコピー先でエラーとなったファイルを消去し、予備のリモートコピー先を指定する情報に基づいて、ネットワーク経由でアクセス可能なリモートコピー先の予備の記憶装置に対してファイル単位又はディレクトリ単位でリモートコピーを行う。こうすることで、ファイル単位又はディレクトリ単位のより細かいリモートコピー指定を実現できる。
【0010】
【発明の実施の形態】
図1は第1の実施例に対応するコンピュータシステム1000を示す。
【0011】
コンピュータシステム1000はファイルアクセス要求を発行するホストコンピュータ1010、ホストコンピュータ1010が発行するファイルアクセス要求を処理する複数台のNAS1200であるNASa1210、NASb1220及びNASc1230、それらをつなぐネットワーク1020より構成される。ホストコンピュータ1010、NASa1210、NASb1220及びNASc1230はそれぞれ物理的に数十キロメートル離れた建物に置かれているものとする。そのため、例えばNASa1210の置かれている地域で大きな地震がありNASa1210が使用不可能となっても、残りのホストコンピュータ1010、NASb1220、NASc1230、及びそれらをつなぐネットワーク1020は使用不可能とはならないものとする。
【0012】
図2はNAS1200の構成図である。NAS1200はホストコンピュータ1010からライトされたファイルを格納し、ホストコンピュータ1010からの要求に従ってファイルアクセスを行う。NAS1200はファイルのデータを実際に格納しているディスク1170と、ホストコンピュータ1010からのファイルアクセス要求を受け付け、ディスク1170に対してファイルのデータの読み書きを行うNASコントローラ1100からなる。
【0013】
NASコントローラ1100は、ネットワーク1020と接続されるホストインターフェース1120と、ディスク1170とデータのやりとりを行うディスクインターフェース1130、NAS1200を制御するプログラムが入っているROM1140、NAS1200の制御に必要なデータ及び後述するコピー対象テーブル1300を保持し、ディスクキャッシュとしても使用されるRAM1150、データ転送を行うDMA1160、NAS1200の制御プログラムを実行するCPU1110から構成される。NAS1200にはホストコンピュータ1010からのファイルアクセス要求を処理できるようにファイルシステム1190が実装されている。
【0014】
図3はリモートコピー元となるファイルやディレクトリとリモートコピー先の情報を持つコピー対象テーブル1300を示す。本実施例において、コピー対象テーブル1300はホストコンピュータ1010で作成され、各NAS1200にコピーされるものとする。
【0015】
コピー対象テーブルエントリ1310はコピー対象NAS1320、コピー対象パス1330、コピー先NAS1340、コピー先パス1350の情報を持つ。意味のある情報を持たない空きエントリの場合、コピー対象NAS1320に値−1が入っている。
【0016】
図4の例を用いてコピー対象テーブル1300を具体的に説明する。
【0017】
エントリ番号0はコピー対象NAS1320がNASa1210、コピー対象パス1330が/tako/ika.txt、コピー先NAS1340がNASb1220、コピー先パス1350が/uniとなっている。このエントリは、NASa1210の/tako/ika.txtというファイルはリモートコピーの対象になっており、そのリモートコピー先はNASb1220の/uniというディレクトリである、ということを意味する。
【0018】
ついで、エントリ番号1はコピー対象NAS1320がNASa1210、コピー対象パス1330が/apple、コピー先NAS1340がNASc1230、コピー先パス1350が/bananaとなっている。これは、NASa1210の/appleあるいはそれ以下のサブディレクトリに格納されているファイルは全てリモートコピーの対象であり、リモートコピー先はNASc1230の/bananaであるということを意味する。例えば、NASa1210の/apple/red/t.cというファイルはNASc1230の/banana/red/t.cにコピーされる。(リモートコピー先は/banana/t.cでもよいが本実施例ではサブディレクトリの構造も含めてコピーするものとする。いずれにしても本発明を適用可能であることは言うまでもない。)
エントリ番号2以降はコピー対象NAS1320に値−1が入っており、これらのエントリは無効(空き)である。
【0019】
以上より、図4の例ではNASa1210に格納されている/tako/ika.txtというファイルと/apple以下のファイルだけがリモートコピー対象である。
【0020】
図5はホストコンピュータ1010がライト要求を発行したときにNAS1200で実行されるライト処理5000のフローチャートを示す。
【0021】
まず、ステップ5010においてホストコンピュータ1010よりネットワーク1020を通じてライト要求とライトするデータを受領し、ステップ5020においてライトデータをディスク1170へライトする。そして、ステップ5030でコピー対象テーブル1300の「対応する」エントリをサーチする。コピー対象NAS1320が自NAS1200を示し、かつ、ライト対象のファイルがコピー対象パス1330の示すファイルそのものか、コピー対象パス1330の示すディレクトリあるいは更にそのサブディレクトリに格納するファイルであれば「対応する」と判定される。
【0022】
そして、ステップ5040で、「対応する」エントリが無いと判定されれば後述するステップ5070にジャンプし、あると判定されればステップ5050で、ライトされたファイルをコピー先NAS1340の示すNAS1200のコピー先パス1350の示すファイルあるいはディレクトリにライトするようライト要求を発行し、ファイルデータを転送してライト終了を待つ。
【0023】
ステップ5060において、ライトしたNAS1200より正常終了が返ってきたら、ステップ5070でホストコンピュータ1010に対して完了報告を返し、ライト処理5000は終了する。異常終了が返ってきた場合にはステップ5080でホストコンピュータ1010に異常報告を行い、ライト処理5000は終了する。
【0024】
このように、リモートコピー対象となっているファイルがNAS1200にライトされると、まず、ライトされたNAS1200のディスク1170にライトし、ついで、リモートコピー先のNAS1200にファイルをライトしてからホストコンピュータ1010にライト完了を返すことで、ホストコンピュータ1010から見て、リモートコピー対象のファイルをNAS1200にライトしてNAS1200から正常終了の報告があったら、ライトしたファイルは物理的に離れた場所に置かれている2台のNAS1200に書かれていることが保証される。
【0025】
図6はリモートコピー対象となるファイルやディレクトリをユーザが設定するときにホストコンピュータ1010で実行されるコピー対象登録処理5200のフローチャートを示す。
まず、ステップ5210でコピー対象テーブル1300のエントリのコピー対象NAS1320に値−1が入っている空きエントリをサーチし、ステップ5220でユーザがコピー対象となるNASの名称を入力し、それを空きエントリのコピー対象NAS1320にセットし、ステップ5230でユーザが、コピー対象となるファイルやディレクトリのパスを入力し、それを空きエントリのコピー対象パス1330に設定し、ステップ5240でユーザがコピー先となるNASを入力し、それを空きエントリのコピー先NAS1340にセットし、ステップ5250でユーザがコピー先となるファイルやディレクトリのパスを入力し、それを空きエントリのコピー先パス1350に設定する。
【0026】
そして、ステップ5260で登録を終了するかどうかを判定し(ユーザに登録終了するかどうか問い合わせる)、終了しないと判定されればステップ5210にジャンプし、終了すると判定されればステップ5270で、更新されたコピー対象テーブル1300のコピーを各NAS1200(本実施例の構成ではNASa1210、NASb1220及びNASc1230)に転送してコピー対象登録処理5200は終了する。
【0027】
本実施例において、説明を簡単にするためステップ5210で空きエントリを必ず見つかるものと仮定したが、実際のインプリメントでは空きエントリが見つからずにエラー終了するといった処理を入れる必要がある。もちろんこの簡易化によって本発明の本質は何ら変化しない。
【0028】
図7はコピー対象テーブル1300からエントリを削除して、ファイルやディレクトリをリモートコピー対象から外したい時にホストコンピュータ1010で実行されるコピー対象削除処理5400のフローチャートを示す。
まず、ステップ5410でユーザがコピー対象から外したいファイルが格納されているNAS1200の名称を入力し、ステップ5420でユーザがコピー対象から外したいファイルのパスを入力する。そして、ステップ5430で、ユーザが入力した情報に合うコピー対象テーブルエントリ1310を探し、ステップ5440で該当するエントリがあるかどうかを判定する。無ければ後述するステップ5460にジャンプし、あればステップ5450で当該エントリのコピー対象NAS1320に値−1をセットし、ステップ5460で削除終了かどうかを判定する。この判定はユーザに削除処理を終了するかどうかを問い合わせる形で行われる。削除終了でなければステップ5410にジャンプし、終了であればステップ5470で、更新されたコピー対象テーブル1300のコピーを各NAS1200(本実施例の構成ではNASa1210、NASb1220及びNASc1230)に転送してコピー対象削除処理5400は終了する。
【0029】
本実施例ではコピー対象登録処理5200やコピー対象削除処理5400をホストコンピュータ1010で行うものとしたが、ネットワーク1020に接続された別のコンピュータや、NAS1200で行うようにしてもよく、そのようにした場合でも本発明が適用可能であることは言うまでもない。(ただし、いずれにせよ更新されたコピー対象テーブルを各NAS1200にコピーする必要はある。)
図8は地震の発生等によりあるNAS1200が使用不可能となったときに、そのNAS1200から他のNAS1200にリモートコピーされていたファイルを読み出すためにホストコンピュータ1010で実行される障害時読み出し処理5600のフローチャートを示す。本処理では読み出したファイルをどのように使用するかは特に明示していないが、ホストコンピュータ1010に接続されているローカルのディスクに格納する等の処置が考えられる。
【0030】
まず、ステップ5610でコピー対象テーブル1300の、コピー対象NAS1320が使用不可能となったNAS1200と一致するエントリをテーブルの先頭から順にサーチし、ステップ5620において該当するエントリが見つからなかったら障害時読み出し処理5600は終了する。見つかったらステップ5630で該当エントリより、コピー先の情報であるコピー先NAS1340及びコピー先パス1350の情報を取得し、ステップ5640で、取得したコピー先NAS1340に対して、コピー先パス1350の示すファイルあるいはそれ以下のディレクトリに格納されているファイルを全て読むようリード要求を発行する。そして、ステップ5650でリード要求を発行したNAS1200より完了報告を全て受領し、ステップ5610にジャンプする。
【0031】
このようにして、リモートコピーされていたファイルを全て読み出すことができる。
【0032】
本発明では「NAS」という言葉を使用したが、「従来の技術」で述べた理由により、「NAS」を「ファイルサーバ」という言葉で置き換えることが可能であり、また、そうした場合にも本発明を適用可能であることは言うまでもない。
【0033】
第1の実施例ではライト処理5000において、リモートコピー先へのライトが異常終了した場合にホストコンピュータ1010へ異常終了を報告した。この場合、リモートコピー先のボリュームが満杯になった場合にも異常終了となるが、それを避けるためにはリモートコピー先ボリュームの空き領域を常に確保しておく必要がある。第2の実施例では、リモートコピー先のボリュームが満杯になるなどしてファイルが書き込めなくなった場合に、予備の領域にファイルを書き込むことで上記のような異常終了を減らす場合について説明する。
【0034】
なお、簡便のために、第1の実施例と異なる部分について主に説明する。説明を割愛した部分は第1の実施例と同様である。
【0035】
図9は本実施例に対応するコンピュータシステムa1030の構成図を示す。コンピュータシステムa1030には、ホストコンピュータ1010、ネットワーク1020、NASa1210、NASb1220、NASc1230に加えて、リモートコピーに失敗したファイルを格納する領域である予備ボリューム1040を備えたNASd1240がある。予備ボリューム1040には後述するログファイル1050が存在する。リモートコピーに失敗したNAS1200は予備ボリューム1040にファイルをコピーした後、ログファイル1050に1エントリ分の情報を追記する。
【0036】
ログファイル1050は一つ以上の、図10に示すログファイルエントリ1400から構成される。これは、このエントリを追記したNAS1200を示すライト元NAS1410、リモートコピーに失敗したフルパスのファイル名(ライト元NAS1410内での)であるライト元パス1420、そのファイルの予備ボリューム内でのファイルを示すファイル名1430の情報を持つ。予備ボリューム1040内のファイル名は同一ファイル名が予備ボリューム1040内に存在しないようにランダムに生成される。
【0037】
図11にログファイル1050の例を示す。ここでも、図4のコピー対象テーブル1300の例を仮定し、ホストコンピュータ1010がNASa1210の/tako/ika.txtと、同じくNASa1210の/apple/t.cのファイルをライトし、両方ともリモートコピーの段階でエラーが発生した場合のログファイル1050の例を示している。先頭エントリは、NASa1210の/tako/ika.txtをNASb1220の/uniにリモートコピーしようとしてエラーが起こり、NASd1240の予備ボリューム1040に00000123.yobというファイル名でデータが格納される時に作成される。このエントリはライト元NAS1410がNASa1210、ライト元パス1420が/tako/ika.txt、ファイル名1430は00000123.yobとなる。
【0038】
次のエントリは、NASa1210の/apple/t.cをNASc1230の/bananaにリモートコピーしようとしてエラーが起こったためNASd1240の予備ボリューム1040に00000124.yobというファイル名でデータが格納される時に作成される。このエントリはライト元NAS1410がNASa1210、ライト元パス1420が/apple/t.c、ファイル名1430は00000124.yobとなる。
【0039】
図12はホストコンピュータ1010で管理し、そのコピーが各NAS1200(NASa1210、NASb1220、NASc1230及びNASd1240)に保持される予備格納テーブル1500を示す。予備格納テーブル1500は、NAS1200がリモートコピーに失敗したときに予備の格納領域に関する情報を得るためのテーブルであり、予備コピー先NAS1510及び予備コピー先パス1520の情報を持つ。
【0040】
図13は予備格納テーブル1500の例である。図9でも説明したように、リモートコピーに失敗したファイルはNASd1240の予備ボリューム1040に書かれる。図13の例では予備コピー先NAS1510がNASd1240となり、予備コピー先パス1520は予備ボリューム1040のパスを示す/yobiとなっている。(つまり、NASd1240の/yobi以下にファイルを書くと予備ボリューム1040にデータが格納される。)
図14はホストコンピュータ1010がライト要求を発行したときにNAS1200で実行されるライト処理a5800のフローチャートを示す。
【0041】
まず、ステップ5010においてホストコンピュータ1010よりネットワーク1020を通じてライト要求とライトするデータを受領し、ステップ5020においてライトデータをディスク1170へライトする。そして、ステップ5030でコピー対象テーブル1300の「対応する」エントリをサーチする。コピー対象NAS1320が自NAS1200を示し、かつ、ライト対象のファイルがコピー対象パス1330の示すファイルそのものか、コピー対象パス1330の示すディレクトリあるいは更にそのサブディレクトリに格納するファイルであれば「対応する」と判定される。
【0042】
そして、ステップ5040で、「対応する」エントリが無いと判定されれば後述するステップ5070にジャンプし、あると判定されればステップ5050で、ライトされたファイルをコピー先NAS1340の示すNAS1200のコピー先パス1350の示すファイルあるいはディレクトリにライトするようライト要求を発行し、ファイルデータを転送してライト終了を待つ。
【0043】
ステップ5060において、データをライトしたNAS1200より正常終了が返ってきたら、ステップ5070でホストコンピュータ1010に対して完了報告を返し、ライト処理a5800は終了する。異常終了が返ってきた場合にはステップ5810で、ライトしようとしてエラーとなったファイルの実体を消去する。このステップは障害時にリモートコピーされたファイルを復旧する時、不正なデータを読まないようにするために必要である。そして、ステップ5820で予備格納テーブル1500の情報を取得し、ステップ5830で、予備コピー先NAS1510の予備コピー先パス1520の示すディレクトリに重複するファイル名がないようにファイル名をランダムで生成し、ステップ5840で、ライトしようとしてエラーとなったファイルを、予備コピー先NAS1510の予備コピー先パス1520ディレクトリへ、生成したファイル名で書き込む。
【0044】
そして、ステップ5850で書き込みがうまくいったかどうかを判定し、うまくいかなかった場合にはステップ5880でホストコンピュータ1010に異常報告を行ってライト処理a5800は終了する。
【0045】
ステップ5850でうまくいったと判定された場合には、ステップ5860で、ステップ5820で取得した情報の示すディレクトリに存在するログファイル1050に対して、ライト元NAS1410、ライト元パス1420、生成したファイル名1430の情報を追記する。そして、ステップ5870でログファイル1050への追記がうまくいったかどうかを判定し、うまくいっていたらステップ5070にジャンプする。うまくいっていなければステップ5880にジャンプする。
【0046】
図15はリモートコピーに失敗したファイルを格納する予備ボリューム1040の設定をユーザが行うときにホストコンピュータ1010で実行される予備格納テーブル設定処理6000のフローチャートを示す。
まず、ステップ6010でユーザが予備のコピー先のNAS1200を入力し、ホストコンピュータ1010にある予備格納テーブル1500の予備コピー先NAS1510に設定する。そして、ステップ6020で、ユーザが予備ボリューム1040を示すパス(ディレクトリ)を入力し、ホストコンピュータ1010にある予備格納テーブル1500の予備コピー先パス1520に設定する。
【0047】
最後に、ステップ6030で、更新された予備格納テーブル1500のコピーを各NAS1200(本実施例の構成ではNASa1210、NASb1220、NASc1230及びNASd1240)に転送して予備格納テーブル設定処理6000は終了する。
【0048】
本実施例では予備格納テーブル設定処理6000をホストコンピュータ1010で行うものとしたが、ネットワーク1020に接続された別のコンピュータや、NAS1200で行うようにしてもよく、そのようにした場合でも本発明が適用可能であることは言うまでもない。
【0049】
図16は第1の実施例における図8の障害時読み出し処理5600に相当する障害時読み出し処理a6200のフローチャートである。
【0050】
まず、ステップ6210で予備格納テーブル1500の情報を取得し、ステップ6220で取得した予備コピー先NAS1510と予備コピー先パス1520の示すディレクトリよりログファイル1050を読み込む。そして、ステップ6230で、ログファイル1050の先頭から順に、ライト元NAS1410が障害を起こしたNAS1200を示しているファイルを、ログファイル1050を読み込んだディレクトリより読み出す。そして、ステップ6240でログファイル1050の終端まで行ったかどうかを判定し、行っていなければステップ6230にジャンプする。行っていればステップ6250において、ログファイル1050を参照して読み出したファイルの内、ライト元NAS1410及びライト元パス1420が同一のファイルを、最後にログファイル1050に登場した一つを除いて削除する。
【0051】
そして、ステップ5610でコピー対象テーブル1300の、コピー対象NAS1320が使用不可能となったNAS1200と一致するエントリをテーブルの先頭から順にサーチし、ステップ5620において該当するエントリが存在しなければ障害時読み出し処理a6200は終了する。存在すればステップ5630で該当エントリより、コピー先の情報であるコピー先NAS1340及びコピー先パス1350の情報を取得し、ステップ5640で取得したコピー先NAS1340に対して、コピー先パス1350の示すファイルあるいはそれ以下のディレクトリに格納されているファイルを全て読むようリード要求を発行する。そして、ステップ5650でリード要求を発行したNAS1200より完了報告を全て受領し、ステップ5610にジャンプする。
【0052】
第3の実施例では、本発明によって、複数のNAS1200間に分散している重要ファイルを一括してバックアップすることができる場合について説明する。特に説明しない箇所については第1の実施例と同様である。
【0053】
図17は第3の実施例に対応するコンピュータシステムb1060を示す。
【0054】
コンピュータシステムb1060はファイルアクセス要求を発行するホストコンピュータ1010、ホストコンピュータ1010が発行するファイルアクセス要求を処理する複数台のNAS1200であるNASa1210、NASb1220、NASc1230及びNASe1250、そしてNASe1250に繋がっているデータバックアップ用のテープ1090、それらをつなぐネットワーク1020より構成される。NASe1250にはデータのバックアップ処理を行うバックアップマネジャー1080及びバックアップの対象となるバックアップボリューム1070が存在する。バックアップマネジャー1080はNASコントローラ1100のCPU1110で実行されるプログラムである。バックアップボリューム1070のパスは/bkup以下で表されるものとする。
【0055】
図18は第3の実施例に対応するコピー対象テーブル1300の例を示す。
エントリ番号0はコピー対象NAS1320がNASa1210、コピー対象パス1330が/tako/ika.txt、コピー先NAS1340がNASe1250、コピー先パス1350が/bkupとなっている。エントリ番号1はコピー対象NAS1320がNASb1220、コピー対象パス1330が/foo/boo.c、コピー先NAS1340がNASe1250、コピー先パス1350が/bkupとなっている。エントリ番号2はコピー対象NAS1320がNASc1230、コピー対象パス1330が/important、コピー先NAS1340がNASe1250、コピー先パス1350が/bkupとなっている。エントリ番号3以降はコピー対象NAS1320に値−1が入っており、無効なエントリであることを示す。
【0056】
このように、本実施例では、リモートコピー先が全てNASe1250の/bkupで表されるバックアップボリューム1070一カ所に集約されている。リモートコピーの対象となっている重要なファイルをまとめてバックアップするためには、このバックアップボリューム1070のバックアップを行えばよい。
【0057】
図19は本実施例におけるリモートコピーとバックアップのデータの流れを示す。
【0058】
NASa1210、NASb1220及びNASc1230からのリモートコピーはNASe1250のバックアップボリュームに対してなされ、バックアップマネジャー1080が一括してバックアップボリューム1070をテープにバックアップする。このようにして、各NAS1200間に散らばった重要なファイルをそれぞれバックアップするのではなく、重要なファイルを一つのボリュームに集約してそれをバックアップすることで、バックアップの手間が省ける。
【0059】
図20はバックアップマネジャー1080が行うバックアップ処理6400のフローチャートを示す。
ステップ6410において、バックアップマネジャー1080はバックアップボリューム1070をテープ1090にバックアップし、バックアップ処理6400は終了する。
【0060】
第4の実施例では、NAS間でのリモートコピーを行う際専用のネットワークを利用する場合について、第1の実施例と異なる点のみ説明する。従来のブロックレベルのリモートコピーでは、リモートコピーを行うディスクコントローラ間をESCONやFC(Fibre Channel)といった線で直接結ばれていることが多かったが、これと同様の構成で、NAS間を専用の線で結び、ホストコンピュータとNASが繋がっている通常のネットワークから分離する。
【0061】
図21は本実施例に対応するコンピュータシステムC1065の構成を示す。
【0062】
コンピュータシステムC1065はファイルアクセス要求を発行するホストコンピュータ1010、ホストコンピュータ1010が発行するファイルアクセス要求を処理する複数台のNAS1200であるNASa1210、NASb1220及びNASc1230、ホストコンピュータ1010とNASa1210をつなぐネットワーク1020、NASa1210とNASb1220を結ぶ専用ネットワークa1222、NASa1210とNASc1230を結ぶ専用ネットワークb1224より構成される。
【0063】
ネットワーク1020はEthernet等を利用したIPネットワークであって、図には現れない多くのコンピュータ間で共有されていることを想定している。
【0064】
専用ネットワークa1222、専用ネットワークb1224は共にFC(Fibre Channel 、ESCONでもよい)を想定しており、ネットワーク1020と独立した接続であるとする。
【0065】
FCは通常FCP(Fibre Channel Protocol)という規格を使ってブロックI/Oアクセスに利用されるが、IETF(Internet Engineering Task Force)で策定されたIP and ARP over Fibre Channel(RFC2625)を使ってIPをFC上に通すことで、IPを前提としたNFSなどを使ったファイルアクセスがFCを通じて可能となる。
【0066】
【発明の効果】
本発明によって、NASにおいてファイルやディレクトリのようなより細かいデータ単位でリモートコピー指定を実現できる。
【図面の簡単な説明】
【図1】第1の実施例に対応するコンピュータシステムを示す。
【図2】第1の実施例に対応するNASの構成図を示す。
【図3】第1の実施例に対応するコピー対象テーブルを示す。
【図4】第1の実施例に対応するコピー対象テーブルの例を示す。
【図5】第1の実施例に対応するライト処理のフローチャートを示す。
【図6】第1の実施例に対応するコピー対象登録処理のフローチャートを示す。
【図7】第1の実施例に対応するコピー対象削除処理のフローチャートを示す。
【図8】第1の実施例に対応する障害時読み出し処理のフローチャートを示す。
【図9】第2の実施例に対応するコンピュータシステムaを示す。
【図10】第2の実施例に対応するログファイルエントリを示す。
【図11】第2の実施例に対応するログファイルの例を示す。
【図12】第2の実施例に対応する予備格納テーブルを示す。
【図13】第2の実施例に対応する予備格納テーブルの例を示す。
【図14】第2の実施例に対応するライト処理aのフローチャートである。
【図15】第2の実施例に対応する予備格納テーブル設定処理のフローチャートである。
【図16】第2の実施例に対応する障害時読み出し処理aのフローチャートである。
【図17】第3の実施例に対応するコンピュータシステムbを示す。
【図18】第3の実施例に対応するコピー対象テーブルの例を示す。
【図19】第3の実施例におけるリモートコピーとバックアップのデータの流れを示す。
【図20】第3の実施例に対応するバックアップ処理のフローチャートである。
【図21】第4の実施例に対応するコンピュータシステムcを示す。
【符号の説明】
1000…コンピュータシステム、1010…ホストコンピュータ、
1020…ネットワーク、1040…予備ボリューム、1050…ログファイル、
1070…バックアップボリューム、1080…バックアップマネジャー、
1090…テープ、1100…NASコントローラ、1110…CPU、
1120…ホストインターフェース、1130…ディスクインターフェース、
1140…ROM、1150…RAM、1160…DMA、1170…ディスク、1200…NAS、
1300…コピー対象テーブル、1310…コピー対象テーブルエントリ、
1320…コピー対象NAS、1330…コピー対象パス、1340…コピー先NAS、
1350…コピー先パス、1400…ログファイルエントリ、1410…ライト元NAS、
1420…ライト元パス、1430…ファイル名、1500…予備格納テーブル、
1510…予備コピー先NAS、1520…予備コピー先パス

Claims (6)

  1. ネットワークを介して計算機に接続された1以上の記憶装置及び予備の記憶装置におけるファイルレベルコピー方法は、
    それぞれの記憶装置は、
    ファイル単位又はディレクトリ単位でリモートコピー対象の記憶装置情報及び格納場所を示すパス情報と、ファイル単位又はディレクトリ単位にリモートコピー先を指定するための記憶装置情報及び格納場所を示すパス情報と、前記リモートコピー先に対するリモートコピーが失敗したときのために予備のリモートコピー先を指定する情報と、を保持し、
    前記計算機からファイルに対するライト要求を受信すると、ライト処理を実行し、前記リモートコピー対象の記憶装置情報及び前記パス情報に基づいて、ライト対象のファイルがリモートコピー対象であるかを判定し、前記ライト対象のファイルがリモートコピー対象である場合には、前記ネットワーク経由でアクセス可能なリモートコピー先の記憶装置に対して前記ファイル単位又はディレクトリ単位でリモートコピーを行い、
    前記リモートコピー先に対するリモートコピーが失敗したときには、前記リモートコピー先でエラーとなったファイルを消去し、前記予備のリモートコピー先を指定する情報に基づいて、前記ネットワーク経由でアクセス可能なリモートコピー先の前記予備の記憶装置に対して前記ファイル単位又はディレクトリ単位でリモートコピーを行う、ことを特徴とする記憶装置のファイルレベルコピー方法。
  2. 前記リモートコピー元に関する情報登録されるログ情報を前記予備の記憶装置に保持し、
    前記リモートコピー先に対するリモートコピーが失敗し前記予備の記憶装置に前記ライト対象のファイルをコピーしたときには、前記ログ情報として前記ファイル単位又はディレクトリ単位で前記リモートコピー元に関する情報が前記予備の記憶装置に登録される、ことを特徴とする請求項1記載の記憶装置のファイルレベルコピー方法。
  3. ネットワークを介して計算機に接続された1以上の記憶装置及び予備の記憶装置からなるコンピュータシステムであって、
    それぞれの記憶装置は、
    ファイル単位又はディレクトリ単位でリモートコピー対象の記憶装置情報及び格納場所を示すパス情報と、ファイル単位又はディレクトリ単位にリモートコピー先を指定するための記憶装置情報及び格納場所を示すパス情報と、前記リモートコピー先に対するリモートコピーが失敗したときのため予備のリモートコピー先を指定する情報と、を保持し、
    前記計算機からファイルに対するライト要求を受信すると、ライト処理を実行し、前記リモートコピー対象の記憶装置情報及び前記パス情報に基づいて、ライト対象のファイルがリモートコピー対象であるかを判定し、前記ライト対象のファイルがリモートコピー対象である場合には、前記ネットワーク経由でアクセス可能なリモートコピー先の記憶装置に対して前記ファイル単位又はディレクトリ単位でリモートコピーを行い、
    前記リモートコピー先に対するリモートコピーが失敗したときには、前記リモートコピー先でエラーとなったファイルを消去し、前記予備のリモートコピー先を指定する情報に基づいて、前記ネットワーク経由でアクセス可能なリモートコピー先の前記予備の記憶装置に対して前記ファイル単位又はディレクトリ単位でリモートコピーを行う、ことを特徴とするコンピュータシステム。
  4. 前記予備の記憶装置は、
    前記リモートコピー元に関する情報登録されるログ情報を保持し、
    前記リモートコピー先に対するリモートコピーが失敗し当該予備の記憶装置に前記ライト対象のファイルをコピーしたときには、前記ログ情報として前記ファイル単位又はディレクトリ単位で前記リモートコピー元に関する情報を登録する、ことを特徴とする請求項記載のコンピュータシステム。
  5. 少なくとも二つのボリュームに別々に格納されるファイルのリモートコピー先を、同一ボリュームに設定することを特徴とする請求項記載のコンピュータシステム。
  6. 同一ボリュームに格納される二つのファイルのリモートコピー先を、それぞれ別のボリュームに設定することを特徴とする請求項記載のコンピュータシステム。
JP2001204306A 2001-07-05 2001-07-05 記憶装置のファイルレベルリモートコピー方法 Expired - Fee Related JP4175789B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2001204306A JP4175789B2 (ja) 2001-07-05 2001-07-05 記憶装置のファイルレベルリモートコピー方法
US09/947,268 US7047261B2 (en) 2001-07-05 2001-09-05 Method for file level remote copy of a storage device
US11/378,764 US20060184502A1 (en) 2001-07-05 2006-03-17 Method for file level remote copy of a storage device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001204306A JP4175789B2 (ja) 2001-07-05 2001-07-05 記憶装置のファイルレベルリモートコピー方法

Publications (2)

Publication Number Publication Date
JP2003015933A JP2003015933A (ja) 2003-01-17
JP4175789B2 true JP4175789B2 (ja) 2008-11-05

Family

ID=19040800

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001204306A Expired - Fee Related JP4175789B2 (ja) 2001-07-05 2001-07-05 記憶装置のファイルレベルリモートコピー方法

Country Status (2)

Country Link
US (2) US7047261B2 (ja)
JP (1) JP4175789B2 (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7469043B1 (en) 2000-12-21 2008-12-23 At&T Delaware Intellectual Property, Inc. Disposable telephone numbers
US7587484B1 (en) * 2001-10-18 2009-09-08 Microsoft Corporation Method and system for tracking client software use
JP2003330782A (ja) 2002-05-10 2003-11-21 Hitachi Ltd 計算機システム
US7289974B2 (en) * 2003-09-05 2007-10-30 Sap Ag System and method for data reconciliation
JP4402992B2 (ja) 2004-03-18 2010-01-20 株式会社日立製作所 バックアップシステム及び方法並びにプログラム
US20050210028A1 (en) * 2004-03-18 2005-09-22 Shoji Kodama Data write protection in a storage area network and network attached storage mixed environment
JP4548717B2 (ja) * 2004-09-24 2010-09-22 株式会社日立製作所 記憶装置の計算機および記憶装置の管理方法
JP2006195712A (ja) * 2005-01-13 2006-07-27 Hitachi Ltd ストレージ制御装置、論理ボリューム管理方法及びストレージ装置
JP4828917B2 (ja) 2005-11-07 2011-11-30 株式会社日立製作所 ストレージシステム、計算機システム、ホスト計算機及びデータ複製方法
US7769719B2 (en) 2006-01-05 2010-08-03 International Business Machines Corporation File system dump/restore by node numbering
JP2008117342A (ja) 2006-11-08 2008-05-22 Hitachi Ltd ストレージシステムおよびリモートコピーを制御するためのコントローラ
US8234465B1 (en) * 2006-12-27 2012-07-31 Emc Corporation Disaster recovery using mirrored network attached storage
JP5121234B2 (ja) * 2007-01-12 2013-01-16 キヤノン株式会社 データ管理装置および方法、ならびにプログラム
JP2009157815A (ja) 2007-12-27 2009-07-16 Hitachi Ltd 広告配信システム及び広告配信方法
JP2009251791A (ja) * 2008-04-03 2009-10-29 Nec Corp 分散ファイルシステム、データ書き込み方法、及びプログラム
US8448167B2 (en) 2009-02-19 2013-05-21 Hitachi, Ltd. Storage system, and remote copy control method therefor

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5544347A (en) * 1990-09-24 1996-08-06 Emc Corporation Data storage system controlled remote data mirroring with respectively maintained data indices
US5742793A (en) * 1991-12-18 1998-04-21 Intel Corporation Method and apparatus for dynamic memory management by association of free memory blocks using a binary tree organized in an address and size dependent manner
US5403639A (en) * 1992-09-02 1995-04-04 Storage Technology Corporation File server having snapshot application data groups
US5675769A (en) * 1995-02-23 1997-10-07 Powerquest Corporation Method for manipulating disk partitions
US5673190A (en) * 1995-03-22 1997-09-30 Atrix International, Inc. Multipurpose remote office machine management system
JP3865775B2 (ja) * 1995-04-11 2007-01-10 キネテック インコーポレイテッド データ処理システムにおけるデータの識別
US5799141A (en) * 1995-06-09 1998-08-25 Qualix Group, Inc. Real-time data protection system and method
JP3335801B2 (ja) * 1995-07-05 2002-10-21 株式会社日立製作所 異種ファイルへのアクセスを可能とする情報処理システム及びその制御方法
US6185575B1 (en) * 1996-09-19 2001-02-06 Powerquest Corporation In-place disk partition canonization and storage optimization
US6038639A (en) * 1997-09-09 2000-03-14 Storage Technology Corporation Data file storage management system for snapshot copy operations
US6192408B1 (en) * 1997-09-26 2001-02-20 Emc Corporation Network file server sharing local caches of file access information in data processors assigned to respective file systems
US6275953B1 (en) * 1997-09-26 2001-08-14 Emc Corporation Recovery from failure of a data processor in a network server
US6377958B1 (en) * 1998-07-15 2002-04-23 Powerquest Corporation File system conversion
US6327671B1 (en) * 1998-11-18 2001-12-04 International Business Machines Corporation Delta compressed asynchronous remote copy
US6209002B1 (en) * 1999-02-17 2001-03-27 Emc Corporation Method and apparatus for cascading data through redundant data storage units
JP4282030B2 (ja) * 1999-06-03 2009-06-17 株式会社日立製作所 データ二重化制御方法および二重化した記憶サブシステム
US6539462B1 (en) * 1999-07-12 2003-03-25 Hitachi Data Systems Corporation Remote data copy using a prospective suspend command
US6684306B1 (en) * 1999-12-16 2004-01-27 Hitachi, Ltd. Data backup in presence of pending hazard
US6615365B1 (en) * 2000-03-11 2003-09-02 Powerquest Corporation Storing a computer disk image within an imaged partition
DE60134696D1 (de) * 2000-05-23 2008-08-21 Hitachi Ltd Rechnersystem mit Fernkopiereinrichtung
US6532527B2 (en) * 2000-06-19 2003-03-11 Storage Technology Corporation Using current recovery mechanisms to implement dynamic mapping operations

Also Published As

Publication number Publication date
US7047261B2 (en) 2006-05-16
JP2003015933A (ja) 2003-01-17
US20030009438A1 (en) 2003-01-09
US20060184502A1 (en) 2006-08-17

Similar Documents

Publication Publication Date Title
US20060184502A1 (en) Method for file level remote copy of a storage device
JP5210176B2 (ja) 複数のノードを有するストレージ・システムの保護管理方法
JP3864244B2 (ja) 分散データ記憶環境で関連するデータ・オブジェクトを転送するシステム
US7103713B2 (en) Storage system, device and method using copy-on-write for synchronous remote copy
JP4336129B2 (ja) 複数のスナップショットを管理するシステム及び方法
US8244997B2 (en) Storage controller, storage system, and storage controller control method
US8200631B2 (en) Snapshot reset method and apparatus
US7596713B2 (en) Fast backup storage and fast recovery of data (FBSRD)
US7870105B2 (en) Methods and apparatus for deduplication in storage system
US8103622B1 (en) Rate of change monitoring for a volume storing application data in a fractionally reserved data storage system
US20070174580A1 (en) Scalable storage architecture
US8538924B2 (en) Computer system and data access control method for recalling the stubbed file on snapshot
US20020069324A1 (en) Scalable storage architecture
JP2007272874A (ja) クラスタ化ファイルシステムにおいてデータのバックアップを取る方法
US7681069B1 (en) Corruption checking during backup
US7921267B1 (en) Method and system for fixing a mirror of a dataset
JP2013545162A (ja) フォールトトレラントデータベース管理システムにおいてクエリ結果を統合するシステム及び方法
JP4278452B2 (ja) 計算機システム
US9760457B2 (en) System, method and computer program product for recovering stub files
US20050278382A1 (en) Method and apparatus for recovery of a current read-write unit of a file system
US7640279B2 (en) Apparatus and method for file-level replication between two or more non-symmetric storage sites

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040902

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20060418

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080205

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080404

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20080404

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20080416

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080530

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080725

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

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

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

Free format text: PAYMENT UNTIL: 20110829

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20120829

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees