JP2010231770A - シン・プロビジョニング・ボリュームのバックアップとリストアのための方法と装置 - Google Patents

シン・プロビジョニング・ボリュームのバックアップとリストアのための方法と装置 Download PDF

Info

Publication number
JP2010231770A
JP2010231770A JP2010023292A JP2010023292A JP2010231770A JP 2010231770 A JP2010231770 A JP 2010231770A JP 2010023292 A JP2010023292 A JP 2010023292A JP 2010023292 A JP2010023292 A JP 2010023292A JP 2010231770 A JP2010231770 A JP 2010231770A
Authority
JP
Japan
Prior art keywords
virtual
file
volume
virtual volume
virtual file
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2010023292A
Other languages
English (en)
Other versions
JP5352491B2 (ja
Inventor
Yasuyuki Ajimatsu
康行 味松
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
Publication of JP2010231770A publication Critical patent/JP2010231770A/ja
Application granted granted Critical
Publication of JP5352491B2 publication Critical patent/JP5352491B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1451Management of the data involved in backup or backup restore by selection of backup contents
    • 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/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • 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/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1456Hardware arrangements for backup
    • 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/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1464Management of the backup or restore process for networked environments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/84Using snapshots, i.e. a logical point-in-time copy of the data

Landscapes

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

Abstract

【課題】データを含まない仮想ボリューム部分の転送と保存をなくすことによって効果的に仮想ボリュームをバックアップする。
【解決手段】仮想ボリュームを仮想ファイルシステム内の仮想ファイルとして表わすことにより、仮想ボリューム内の空のデータスペースを不必要にバックアップすることを避ける。ストレージシステムはストレージシステム制御モジュールのみならず、多数の仮想ボリュームと仮想ファイルシステムを含む。多数の仮想ボリューム内の各仮想ボリュームは仮想ファイルシステム内の仮想ファイルとして表わされ、各仮想ファイルは仮想ボリューム内に実際に保存されるデータを表わす。ストレージシステム制御モジュールは選択した仮想ボリュームをバックアップするのを容易にする。ストレージシステムの仮想ファイルシステムにアクセスするステップと選択した仮想ボリュームに対応する仮想ファイルを読み出すステップを含む。
【選択図】図1

Description

0001 本発明は一般的にコンピュータストレージシステム内のディスクボリュームとファイルを管理するための方法と装置に関連し、具体的にはシン・プロビジョニング・ボリュームをポータブルな仮想ディスクファイルとしてエクスポーズすることにより、それらのバックアップ及びリストアを遂行する方法と装置に関連する。
0002 最近のコンピュータストレージシステムのある種のものは、ホストコンピュータには固定容量ディスクボリュームと認識されるものの、その実際のストレージ容量はデータがボリュームに書き込まれる際に動的に割り当てられる、“仮想ボリューム”或いは“シン・プロビジョニング・ボリューム”を備えることが可能である。ストレージ容量の割り当ての単位は、ストレージシステム内の一つ以上のディスクドライブのセグメントである“ディスクブロック”である。ストレージシステムは仮想ボリュームの各部分とディスクブロック間のマッピングを管理する。ホストコンピュータが仮想ボリュームの一部を読み出し、その部分にディスクブロックが未だ何も割り当てられていない場合には、ストレージシステムはその部分が“0”で満たされているかのように“0”を返送する。ディスクブロックは必要に応じて割り当てられるので、ストレージボリュームの無データ領域にディスク容量を割り当てる必要性をなくすことでディスクドライブの容量を有効に使用できる。更に、そのようなストレージシステムの容量は多数の仮想ボリュームによって柔軟に共有され得る。管理者は、ボリュームが生成される時点では各ボリュームに必要な容量を正確に予測する必要がなく仮想ボリュームは申告したサイズに基づいてではなく、実際にデータを保存するのに使用される容量に従って容量を消費するので、それによって非常に大きな仮想ボリュームを生成することができる。動的な容量割り当ての裏付けとなる基本的な技術概念はUS特許6,725,328号に開示されており、その引用をもって本明細書の記載に代えるものとする。
0003 シン・プロビジョニングを実現するために使用できる別な技術として、しばしば仮想計算機によってアクセスされる“仮想ディスク”がある。仮想ディスクは仮想計算機が認識するディスクボリューム内のすべてのブロックを含むファイルである。仮想ディスクファイルフォーマットのあるものはディスクボリュームの使用済みの部分のみを含むことができる。仮想ディスクファイルフォーマットの一つの例が“VMウェアオープンVMDK仕様の応用”(http://download3.vmware.com/vmworld/2006/dvt9699.pdf)に開示されており、その引用をもって本明細書の記載に代えるものとする。別な例が“仮想ハードディスクイメージフォーマット仕様書”(http://download.microsoft.com/download/f/f/e/ffef50a5-07dd-4cf8-aaa3-442c0673a029/Virtual%20Hard%20Disk%20Format%20Spec_10_18_06.doc)に開示されており、その引用をもって本明細書の記載に代えるものとする。“オープン仮想計算機フォーマット仕様書”(http://www.vmware.com/pdf/ovf_spec_draft.pdf)はその引用をもって本明細書の記載に代えるものであるが、そこに開示された標準フォーマットを定義することによって仮想ディスクファイルの相互運用を実現する取り組みがなされつつある。
0004 多数の小さなデータファイルの形式でディスクボリューム内に保存されるデータをバックアップするために、ホストコンピュータ(バックアップサーバ)はボリュームベースのバックアップ操作を遂行する。換言すれば、ホストコンピュータは各ファイルに対するファイルシステムプロセスのオーバヘッドをなくすために、単純にボリュームイメージ全体を読み出す。もしホストコンピュータが仮想ボリュームのボリュームベースのバックアップを遂行するならば、ホストコンピュータは、ボリュームのどの部分がディスクブロックを指定したか認識しないので、何もディスクブロックを指定していない部分を含むボリューム全体を読み出さなければならない。当業者には当然のことながら、何もディスクブロックを指定していない部分の転送と保存は、かかる部分は何もデータを含まず、従ってバックアップされる必要がないので、システムリソースの浪費となる。もし割り当てられない部分のサイズが大であれば、ネットワーク帯域、バックアップストレージ容量及び時間の相当量が無意味に消費される。
0005 従って、何らデータを含まない仮想ボリューム部分の転送と保存をなくすことにより仮想ボリュームのバックアップを有効に実現するシステムと方法が必要になる。
0006 本発明の手法は仮想ボリュームバックアップに関連する上記及び他の問題の一つ以上を実質的に取り除く方法とシステムに向けられる。
0007 本発明の一態様によれば、ストレージシステム制御モジュール、管理サーバ、バックアップサーバのみならず一つ以上の仮想ボリュームと仮想ファイルシステムを含むストレージシステムが提供される。各仮想ボリュームは仮想ファイルシステム内の仮想ファイルとして表わされ、ここで各仮想ファイルは仮想ボリューム内に実際に保存されるデータを表わしており、ストレージシステム制御モジュールは選択された仮想ボリュームのバックアップ操作を容易にするように構成され、この操作は、ストレージシステムの仮想ファイルシステムにアクセスするステップと、選択した仮想ボリュームに対応する仮想ファイルを読み出すステップを含む。ストレージシステム制御モジュールは更に、選択した仮想ボリュームのリストア操作を容易にするように構成され、この操作は、ストレージシステムの仮想ファイルシステムにアクセスするステップと、選択した仮想ボリュームを表わす仮想ファイルを生成するステップを含む。
0008 本発明の更なる態様は、ストレージシステム制御モジュール、一つ以上の仮想ボリューム及び仮想ファイルシステムを含むストレージシステムが遂行する方法を含む。ここで各仮想ボリュームは仮想ファイルシステム内の仮想ファイルとして表わされる。各仮想ファイルは仮想ボリューム内に実際に保存されるデータを表わす。この方法は選択した仮想ボリュームのバックアップ操作を遂行するステップを含み、この操作はストレージシステムの仮想ファイルシステムにアクセスするステップ、選択した仮想ボリュームに対応する仮想ファイルを読み出すステップを含む。この方法は更に、選択した仮想ボリュームのリストア操作を遂行するステップを含み、この操作はストレージシステムの仮想ファイルシステムにアクセスするステップ、及び選択した仮想ボリュームを表わす仮想ファイルを生成するステップを含む。
0009 本発明に関連する更なる態様が後続する説明の中で述べられ、一部は説明から自明となり、或いは本発明の実施から修得されるであろう。本発明の態様は以下の詳細な説明及び付随する請求項で特に指摘した要素及び種々の要素と態様の組み合わせにより実現でき、達成できる。
0010 当然のことながら前述の説明も後述の説明も典型的で説明のためのものに過ぎず、いかなる方法であれ請求される発明またはその出願を限定するために意図したものでない。
0011 付随する図面は、本明細書に組み込まれその一部を構成し、本発明の実施例を典型的に示すものであり、説明の記述と相俟って本発明の技術の原理を説明し図示する役目を果たす。具体的には以下の通りである。
0012 図1は本発明の方法と装置が適用可能なコンピュータシステムの例の概観を示す。 0013 図2aは仮想ボリュームの典型的な実施例の説明図である。 0013 図2bは仮想ボリュームの典型的な実施例の説明図である。 0014 図3は仮想ファイルシステムの典型的な実施例の説明図である。 0015 図4aは仮想ファイルの典型的なフォーマットを示す。 0015 図4bは仮想ファイルの典型的なフォーマットを示す。 0016 図5はディスクブロックテーブルの典型的な構造を示す。 0017 図6は仮想ボリュームテーブルの典型的な構造を示す。 0018 図7は仮想ファイルテーブルの典型的な構造を示す。 0019 図8はファイルイメージテーブルの典型的な構造を示す。 0020 図9はシステム全体に及ぶ設定を含むフォーマットテーブルの典型的な構造を示す。 0021 図10はストレージシステム制御プログラム10201の典型的なプロセスフローを示す。 0022 図11は管理要求の典型的なプロセスフローの詳細を示す。 0023 図12は典型的なボリュームI/O要求のプロセス詳細を示す。 0024 図13は典型的なNFS READDIR操作のプロセス詳細を示す。 0025 図14は典型的なNFS LOOKUP操作のプロセス詳細を示す。 0026 図15は典型的なNFS GETATTR操作のプロセス詳細を示す。 0027 図16は典型的なNFS RENAME操作のプロセス詳細を示す。 0028 図17は典型的なファイルイメージ生成のプロセス詳細を示す。 0029 図18は典型的なNFS READ操作のプロセス詳細を示す。 0030 図19は典型的なNFS REMOVE操作のプロセス詳細を示す。 0031 図20は典型的なNFS CREATE操作のプロセス詳細を示す。 0032 図21は典型的なNFS WRITE操作のプロセス詳細を示す。 0033 図22は“リストア中”状態での1バイト書き込みの典型的なプロセス詳細を示す。 0034 図23は“ヘッダリストア済み”状態での1バイト書き込みの典型的なプロセス詳細を示す。 0035 図24は“BATリストア済み”状態での1バイト書き込みの典型的なプロセス詳細を示す。 0036 図25は“ブロックリストア済み”状態での1バイト書き込みの典型的なプロセス詳細を示す。 0037 図26は第2の実施例での仮想ボリュームテーブルの典型的な構造を示す。 0038 図27は第2の実施例での典型的なボリュームI/O要求のプロセス詳細を示す。 0039 図28は典型的なNFS RENAME操作のプロセスの一部を示す。 0040 図29は本発明のシステムが実装可能なコンピュータプラットフォームの典型的な実施例を示す。
0041 以下の詳細な説明に於いて、付随する図面が参照され、図中では同一の機能要素は同様な数字で表わされる。前述の付随する図面は本発明の原理に合致する特定の実施例や実装を、説明の目的で示すものであって限定する目的でない。これらの実装は当業者が本発明を実施できるように十分詳細に記述されており、当然のことながら他の実装も利用可能であり本発明の範囲や精神を逸脱せずに構造変更及び/又は種々の要素の置換が可能である。従って以下の詳細な説明は限定的な意味で解釈されるべきでない。更に、記述される本発明の種々の実施例は汎用コンピュータ上で走行するソフトウェアの形態で或いは専用のハードウェア、又はソフトウェアとハードウェアの組み合わせの形態で実装可能である。
第1の実施例
0042 本実施例では、ストレージシステム内の仮想ボリュームはSCSIプロトコルを用いたファイバーチャンネルネットワークを介してアプリケーションサーバによってアクセスされる。仮想ボリューム内のデータの位置は各セクタを特定する論理ブロックアドレス(LBA)によってアドレス指定される。仮想ボリュームに対応する仮想ファイルはNFSプロトコルを用いてローカルエリアネットワーク(LAN)を介してバックアップサーバによってアクセスされる。仮想ファイルが読み出し中の時、即ち仮想ボリュームがバックアップ中の時、ストレージシステムはアプリケーションサーバが仮想ボリュームにデータを書き込むことを禁止する。仮想ファイルが書き込み中の時、即ち仮想ボリュームがリストア中の時、ストレージシステムはホストコンピュータがボリュームとの間でデータを読み書きすることを禁止する。ホストコンピュータの一つ(バックアップサーバ)は仮想ファイルを読み書きするのみならずGETATTR、CREATE、RENAME、等のようなファイル操作を送信することにより仮想ファイルと仮想ボリュームの状態も管理する。
システム構造
0043 図1は本発明の方法と装置が適用可能なコンピュータシステムの例の概観を示す。コンピュータシステムはストレージシステム10100、ストレージエリアネットワーク(SAN)10003を介してストレージシステムのファイバーチャンネルインタフェース10101に接続されるアプリケーションサーバ10000、バックアップサーバ10001、及び管理サーバ10002を含む。バックアップサーバと管理サーバはローカルエリアネットワーク(LAN)10004を介してストレージシステムのLANインタフェース10102に接続される。バックアップサーバはファイル操作を送信することによりストレージシステムがエクスポーズした仮想ファイルシステムにアクセスする。管理サーバは、管理者が仮想ボリュームを生成及び削除したり、ストレージシステムの任意の他の構成を変更できるように、システムの管理者にユーザインタフェースを提供する。
0044 ストレージシステム10100はディスクコントローラ10104により制御されるディスクドライブ10106を持つ。ディスクドライブの容量は仮想ボリュームに割り当てられるディスクブロックに分割される。CPU10103はメモリ10105内のストレージシステム制御プログラム10201を実行する。ストレージシステム制御プログラムはアプリケーションサーバから送信されるI/O要求、バックアップサーバから送信されるNFS操作、及び管理サーバから送信される管理要求を処理する。メモリ10105は管理情報を含む数種のテーブル10202−10206を含む。
0045 図2aと2bは仮想ボリュームを図示する。仮想ボリューム20001は固定長ボリュームとしてアプリケーションサーバにエクスポーズされるが、ディスクドライブ10106内のディスクブロック20003はボリュームの全領域に割り当てられるわけではない。データが仮想ボリュームに書き込まれると(20002)、1つ以上のディスクブロックが割り当てられる(20004)。本実施例では、ディスクブロックのサイズは一つの仮想ボリューム内では一定であるが、仮想ボリューム間では異ならせることができる。図2bに示すように、仮想ボリュームの位置はボリューム内の各セクタ20005に対して指定されるLBAによりアドレス指定される。更に、ボリューム内の位置はディスクブロックのサイズと同等サイズである各セグメント20006に対して指定されるボリュームブロック番号によってアドレス指定できる。この位置はファイルブロックのサイズと同等サイズである各セグメント20007に対して指定されるファイルブロック番号によってもアドレス指定でき、このことは後述する。
0046 図3は仮想ファイルシステムを図示する。仮想ファイルシステム30000内の唯一のディレクトリは、ストレージシステム内の仮想ボリュームに対応する仮想ファイルのエントリ30001を含む、ルート(/)である。仮想ファイルシステムはNFSプロトコルに於いてバックアップサーバによってアクセス可能である。
0047 仮想ボリュームが仮想ファイルによって表わされる時、全ボリュームは仮想ファイル内でサイズが一定である多数のセグメント(“ファイルブロック”)に分割される。ファイルブロックのサイズはディスクブロックのサイズとは異なっていても良い。更に、仮想ファイル間で異なっていても良い。仮想ファイルは、ファイルブロックに何もデータが保存されていないならばファイルブロックを含まない。
0048 図4aと4bは仮想ファイルのフォーマットの例を示す。仮想ファイル30001はヘッダ40001、ブロック割り当てテーブル(BAT)40002、ブロックリスト40003、及びフッタ40004の4つの部分を含む。ヘッダは、仮想ファイル内に保存されるファイルブロック数40010、各ファイルブロックのサイズ40011、及び仮想ファイルが表わす仮想ボリュームのサイズ40012、を含む仮想ファイルに関するいくつかの管理情報を含む。BATは以下に述べるブロックリストに含まれる各ファイルブロックに対するオフセット40005を含む。オフセットはファイルの開始からファイルブロックに先行するファイルブロックヘッダポイントまでオフセットされるバイトである。ファイルブロックがファイル内に含まれていないならば、オフセットは無効とマークされる。ブロックリストはファイルブロックヘッダ40006とファイルブロック40007のリストである。ファイルブロックヘッダの詳細を図4bに示す。ビットマップ40008はファイルブロック内のどのセクタが有効かを示す。例えば、ファイルブロックとセクタのサイズがそれぞれ8KBと512Bであるならば、ファイルブロックは8つのセクタを含むことができる。しかしながら、あるセクタは、ディスクブロックが仮想ボリューム内のセクタに何も割り当てられないために、無効になる可能性がある。一つの実施例では、ビットマップ中の各ビットはファイルブロック内のセクタの有効性を示す。ビットマップはパッドビット40009を後ろにつけることができ、その結果ブロックヘッダのサイズをセクタのサイズにそろえることができる。
0049 図5はディスクブロックテーブル10202の構造例を示す。ストレージシステムがサポートする各ディスクブロックサイズ50001に対して、すべてのフリーディスクブロック50002、即ち任意の仮想ボリュームに割り当てられていないすべてのディスクブロック、が記録される。フリーディスクブロックが仮想ボリュームに割り当てられると、そのブロックはこのテーブルから取り除かれる。このブロックは、ボリュームから解放されれば再びこのテーブルに記録される。
0050 図6は仮想ボリュームテーブル10203の構造例を示す。各仮想ボリュームに対して、テーブルは仮想ボリュームID60001、ボリュームサイズ60002、及びボリュームに割り当てられるディスクブロックのサイズ60003を示す。このテーブルは更に、ボリューム内の各LBA60004に対して、LBAに割り当てられるディスクブロック60005、LBAを含むボリュームブロック番号60006、LBAを含むファイルブロック番号60007も含む。
0051 図7は仮想ファイルテーブルの構造例を示す。各仮想ファイルに対して、テーブルはファイルを表わす仮想ボリュームのID70001、ファイルのNFSファイルハンドル70002、ファイルの状態70003、仮想ファイルの元の名前70004、仮想ファイルの現在名70005、仮想ファイルのサイズ70006、ファイル内に含まれるファイルブロック数70007、ファイル内のBAT領域のサイズ70008、ファイルブロックのサイズ70009、ファイルブロックヘッダのサイズ70010、及びファイル内のブロックリスト領域のサイズ70011を示す。ファイルの状態値は以下の一つにすることができる、即ち正常、バックアップ、リストア中、ヘッダリストア済み、BATリストア済み、ブロックリストア済み、或いはリストア済み、である。仮想ファイルの元の名前はボリューム生成又はボリュームリストア(ファイル生成)時点で特定される。仮想ファイルの現在名は元の名前であるか又は、元の名前の後ろに“−backup”が続いたものである。後者はこのボリュームがバックアップ中又はリストア済みであることを示す。
0052 図8はファイルイメージテーブルの構造例を示す。各仮想ファイルに対して、テーブルはNFSファイルハンドル80001、ヘッダイメージ80002、BATイメージ80003、仮想ボリュームの各ファイルブロック番号に対するブロックヘッダイメージ80004、及びフッタイメージ80005を示す。これらのイメージ欄80002−80005は、代わりにディスクブロック内に保存されるファイルブロックを除いた、仮想ファイルの内容を保存する。
0053 図9はシステム全体に及ぶ設定を含むフォーマットテーブルの構造例を示す。ディスクブロックサイズのデフォルト値90001及びファイルブロックサイズのデフォルト値90002はそれぞれ仮想ボリュームのディスクブロックサイズのデフォルト値及び仮想ファイルのファイルブロックサイズのデフォルト値を規定する。仮想ボリュームセクタサイズ90003及び仮想ファイルセクタサイズ90004はそれぞれ仮想ボリュームと仮想ファイルのセクタサイズを規定する。仮想ファイルヘッダサイズ90005、仮想ファイルフッタサイズ90006、及びBATエントリサイズ90007は仮想ファイルフォーマットの定義を含む。BATエントリサイズ以外のすべてのサイズ値は本実施例では仮想ボリュームセクタサイズの倍数でなければならない。
プロセスフロー
0054 図10はストレージシステム制御プログラム10201のプロセスフローを示す。ストレージシステム制御プログラムはアプリケーションサーバ、バックアップサーバ、或いは管理サーバから要求を受信する(10001)。もしプログラムが管理サーバから管理要求(100002)、アプリケーションサーバからボリュームI/O要求(100004)、或いはバックアップサーバからファイル操作(100006)を受信したならば、プログラムはそれぞれの要求を処理する(10003、10005、10007)。本実施例では、プログラムは以下のNFS操作、即ちGETATTR、READ、WRITE、RENAME、LOOKUP、CREATE、REMOVE、及びREADDIRを受け入れる。プログラムが他の要求を受信するならば、エラーを返送する(100008)。しかしながら他の情報を転送する他の要求を受け入れたり、それらに対するダミー応答を返送することは可能である。
0055 図11は管理要求の詳細プロセスフロー(100003)を示す。もし受信した要求がフォーマットテーブル内に値を取得するか設定する要求であるならば(110001、110003)、ストレージシステム制御プログラムはフォーマットテーブルに保存される情報を送信するか設定する(110002、110004)。もしプログラムが、ボリュームサイズ、ボリュームのディスクブロックサイズ、ボリュームを表わす仮想ファイルの元の名前、及びファイルブロックサイズを指定するボリューム生成要求を受信するならば(100005)、プログラムは仮想ボリュームを生成し(110006)、ボリュームに仮想ボリュームIDを指定し、ボリュームを表わす仮想ファイルにファイルハンドルを生成し、それら及び要求内で指定された情報を仮想ボリュームテーブルと仮想ファイルテーブルに記録する(110007、110008)。もしディスクブロックサイズ及び/又はファイルブロックサイズが要求内で指定されていないならば、フォーマットテーブル内に記録されたデフォルト値が使用される。最初に、仮想ボリュームテーブル内の各LBAに対するすべてのディスクブロック割り当て60005は無効とマークされる。更に、ディスクブロックサイズとファイルブロックサイズに基づいて、ディスクブロック番号とファイルブロック番号がボリューム内の各LBAに対する仮想ボリュームテーブル内に記録される。仮想ファイルテーブルでは、ファイル状態と現在の仮想ファイル名はそれぞれ“正常”及び元のファイル名の値に設定される。BATサイズは(ボリュームサイズ)*(フォーマットテーブルのBATエントリサイズ)/(ファイルブロックサイズ)の式で計算することができる。ブロックヘッダサイズは(ファイルブロックサイズ)/(フォーマットテーブルのファイルセクタサイズ)の式で計算でき、ファイルセクタサイズに対して調整される。これらの値も又仮想ファイルテーブルに記録される。もしストレージ制御プログラムがボリューム削除要求を受信したならば(110009)、プログラムは仮想ボリュームを削除してボリュームに割り当てられたすべてのディスクブロックを解放する(110010)。プログラムは更に仮想ボリュームテーブル、仮想ファイルテーブル及びファイルイメージテーブル内のボリュームのエントリも削除する(110011、110012)。
0056 図12はボリュームI/O要求の詳細プロセスを示す。このシン・プロビジョニングを実現するプロセスフローのステップは仮想ファイルの状態をチェックするステップを除いては公知である。本実施例では単純化のため、ボリュームI/O要求は仮想ボリュームのセクタ内のデータを読み書きする。もしストレージシステム制御プログラムが仮想ボリュームに対する書き込み要求を受信し(120001)、ボリュームを表わす仮想ファイルの状態が“正常”である(120002)ならば、要求は受け入れられる。もし指定されたLBAに何もディスクブロックが割り当てられていない(120003)、即ちLBAに対する割り当て情報60005が無効であるならば、ストレージシステム制御プログラムはLBA及び同じディスクブロック番号を持つ他のLBAにディスクブロックを割り当て(120004)、仮想ボリュームテーブルに情報を記録する(120011)。最後に、プログラムは、指定されたLBAによりアドレス指定されたディスクブロックの一部内に受信したデータを書き込む(120005)。そうでない場合、もし要求が読み出し要求で(120006)ファイル状態が“バックアップ”又は“正常”であるならば(120007)、要求は受け入れられる。もし何もディスクブロックがLBAに割り当てられないならば(120008)、ストレージシステム制御プログラムはアプリケーションサーバに“0”を返送する(120010)。そうでない場合は、プログラムは指定されたLBAによりアドレス指定された、割り当てられたディスクブロックの一部からデータを読み出し、アプリケーションサーバに返送する(120009)。
0057 図13はNFS READDIR操作の詳細プロセスを示す。もし操作がルートディレクトリを指定する(130001)ならば、ストレージシステム制御プログラムはルートディレクトリのディレクトリエントリとして仮想ファイルテーブル内の現在の仮想ファイル名のリストを返送する(130002)。
0058 図14はNFS LOOKUP操作の詳細プロセスを示す。もし操作が仮想ファイルテーブル内に記録された現在の仮想ファイル名を指定する(140001)ならば、ストレージシステム制御プログラムはファイルのファイルハンドルを返送する(140002)。
0059 図15はNFS GETATTR操作の詳細プロセスを示す。もし操作が仮想ファイルテーブル内に記録された現存するファイルハンドルを指定する(150001)ならば、ストレージシステム制御プログラムはファイルの状態をチェックして(150002)返送する。もし状態が“バックアップ”であるならば(150002)、即ちファイルイメージがバックアップされるように準備が整っているならば、ストレージシステム制御プログラムは仮想ファイルテーブル内に記録された仮想ファイルのサイズ70006を返送する(150004)。そうでない場合は、プログラムは仮想ボリュームテーブルを参照することで、仮想ファイルが表わしている仮想ボリュームのサイズを返送する(150003)。
0060 図16はNFS RENAME操作の詳細プロセスを示す。RENAME操作はバックアッププロセスの始めと終わりを制御するために使用される。更に、リストアプロセスの終わりを制御するためにも使用される。もし操作が元の名前をそのバックアップ名にリネームするように、又はバックアップ名をその元の名前にリネームするように指示する(160001−160004)ならば、要求は受け入れられる。もし指定された古いファイルの状態が“正常”、“バックアップ”、又は“リストア済み”でない(160005)ならば、指定されたファイルはリストア中である。この場合、ストレージシステム制御プログラムはリストアプロセスを中断してボリュームに割り当てられた全ディスクブロックを解放する(160006)。もしファイルが元の名前にリネームされる(160007)ならば、即ち現在の状態が“バックアップ”又は“リストア済み”であり、そのファイルイメージが生成されているならば、ストレージシステム制御プログラムはファイルイメージテーブル内の指定されたファイルのエントリを削除し(160011)、仮想ファイルテーブル内のファイル状態を“正常”に設定する(160012)。そうでない場合、プログラムは指定されたファイルの仮想ファイルイメージを生成し(160008)、ファイル状態を“バックアップ”に設定する(160009)。最後に、ストレージシステム制御プログラムは現在の仮想ファイル名を指定された新たな名前に設定する(160010)。
0061 図17はファイルイメージ生成(160008)の詳細プロセスを示す。先ず、ストレージシステム制御プログラムは指定されたファイルに対してファイルイメージテーブル内にエントリを生成する(170001)。ステップ170002−170010は仮想ファイルの各ファイルブロックに対するオフセットを計算して記録する。最初にストレージシステム制御プログラムは処理される必要があるファイルブロック番号(Bn)と使用済みファイルブロック数(Un)を0に設定する(170002)。プログラムは更にオフセット(Os)の初期値を(フォーマットテーブル内に記録された仮想ファイルヘッダのサイズ+仮想ファイルテーブル内に記録されたBATサイズ)に設定する(170003)。ファイルブロック番号(Bn)のそれぞれに対し、もしファイルブロック内に含まれる任意のLBAに何もディスクブロックが割り当てられていないならば(170004)、ストレージシステム制御プログラムはファイルイメージテーブル内のファイルブロックBnのオフセットとヘッダを無効とマークする(170005)。そうでない場合、プログラムは仮想ボリュームテーブル内の割り当て情報に基づいてファイルイメージテーブル内のファイルブロックヘッダのイメージを生成し記録する(170006)。次いで、プログラムはファイルイメージテーブル内のファイルブロックのオフセットとしてOsを記録し(170007)、ファイルブロックサイズとブロックヘッダサイズをOsに加算し、Unをインクリメントすることで次のオフセット(Osの新たな値)を計算する(170008)。これらのステップは仮想ボリュームに指定されたファイルブロック番号のそれぞれに対して繰り返される(170009、170010)。最後に、ストレージシステム制御プログラムは使用済みファイルブロック数(Un)、ブロックリストサイズ(Un*(ファイルブロックサイズ+ファイルヘッダサイズ))、及び仮想ファイルテーブル内の仮想ファイルサイズ(仮想ファイルヘッダサイズ+BATサイズ+ブロックリストサイズ+仮想ファイルフッタサイズ)を記録し(170011)、ファイルイメージテーブル内に仮想ファイルのヘッダ及びフッタイメージを生成する(170012)。
0062 図18はNFS READ操作の詳細プロセスを示す。もし指定のファイルハンドルが仮想ファイルテーブル内に存在し、ファイルの状態が“バックアップ”であるならば(180001、180002)、ストレージシステム制御プログラムは操作内で指定のオフセット(Os)とバイト数(Bt)によりアドレス指定される各バイトに対してディスクブロック又はファイルイメージテーブルから指定されるバイトを読み出す(180003−180010、180012−180019)。もしOsが仮想ファイルの範囲外を指示するならば(180004)、ストレージシステム制御プログラムは何も読み出さない。もしOsが仮想ファイルヘッダ(180005)、BAT(180006)或いは仮想ファイルフッタ(180007)のバイトを指示するならば、ストレージシステム制御プログラムはファイルイメージテーブル内のファイルヘッダイメージ(180012)、BATイメージ(180013)或いはファイルフッタイメージ(180008)のそれぞれから指定のバイトを読み出す。イメージ内の読み出し対象バイトはOsから仮想ファイルフォーマット内の先行する構造のサイズを引き算することでアドレス指定できる。例えば、フッタイメージ内のバイトは(Os−ファイルヘッダのサイズ−BATのサイズ−ブロックリストのサイズ)で求められるオフセットによりアドレス指定できる。Osがブロックリスト内のファイルブロックヘッダのバイトを指示する(180014)ならば、即ち(Os−ファイルヘッダのサイズ−BATのサイズ)%(ブロックヘッダのサイズ+ファイルブロックのサイズ)<ブロックヘッダのサイズであるならば、ストレージシステム制御プログラムはファイルイメージテーブルによりアドレス指定されたファイルブロックヘッダイメージから指定のバイトを読み出す(180016)。そうでない場合は、プログラムは指定されたバイトを含むセクタがディスクブロックを含むか否かをチェックする(180017)。セクタのLBAを計算するために、ストレージシステム制御プログラムはバイト即ちBAT内に記録されたそのオフセット(Os’)はOsより小さくOsは(Os’+ブロックヘッダのサイズ+ファイルブロックのサイズ)よりも小さいバイト、を含むファイルブロックを特定する。ファイルブロックに含まれるLBAは仮想ボリュームテーブル内のファイルブロック番号によって特定することができる。これらLBAのうち、N=M/(仮想ボリュームセクタのサイズ)、M=((Os−ヘッダのサイズ−BATのサイズ)%(ブロックヘッダのサイズ+ファイルブロックのサイズ)−ブロックヘッダのサイズ)である、N番目のLBAは指定のバイトを含む。LBA内のオフセットバイトはM%(仮想ボリュームセクタのサイズ)として計算できる。
0063 もしディスクブロックが割り当てられているならば、即ち上記で特定したLBAの割り当て情報が仮想ボリュームテーブル内で無効でないならば、ストレージシステム制御プログラムはLBAに割り当てられるディスクブロックから指定のバイトを読み出す(180019)。そうでない場合は、プログラムはそのバイト内に含まれるデータとして“0”を使用する(180018)。これらのステップは操作内で指定される各バイトに対して繰り返される(180009、180010)。最後にストレージシステム制御プログラムは読み出したデータを返送する(180011)。
0064 図19はNFS REMOVE操作の詳細プロセスを示す。仮想ファイルテーブル内に指定のファイルハンドルが存在し、ファイルの状態が“正常”ならば(190001、190002)、ストレージシステム制御プログラムは指定の仮想ファイルによって表わされた仮想ボリューム内のすべてのディスクブロックを解放しボリュームを削除する(190003)。ストレージシステム制御プログラムは更に、仮想ボリュームテーブル内のボリューム、仮想ファイルテーブル及びファイルイメージテーブルのエントリも削除する(190004、190005)。
0065 図20はNFS CREATE操作の詳細プロセスを示す。CREATE操作はリストアプロセスの開始を制御するために使用される。本実施例では、生成対象の仮想ファイルの名前は“−backup”を後ろにつけなければならず(200001)、リネームされる時に任意の他の仮想ファイルの名前と同一になってはいけない(200010)。もし指定のファイル名が仮想ファイルテーブル中に現在のファイル名として存在し(200002)、その状態が“正常”でなく(200003)、CREATE操作のモードが任意の現存ファイルが生成対象のファイルと同じ名前を持つことを禁ずることを示すGUARDEDでないならば(200004)、ストレージシステム制御プログラムはファイルの状態を“リストア中”に設定する(200005)。現存する仮想ボリュームがリストア済みになると、ボリュームに割り当てられるすべてのディスクブロックは解放され、ディスクブロック内に保存されるデータは消失する(200007)。ストレージシステム制御プログラムは仮想ボリュームのサイズを0に設定し、仮想ボリュームテーブル内の割り当て情報をクリアする(200008)。もしEXCLUSIVEモードが指定される(200009)ならば、仮想ボリュームテーブルに記録されるディスクブロックサイズ及び仮想ファイルテーブルに記録されるファイルブロックサイズの現在値は修正されない。そうでない場合、即ちUNCHECKEDモードが指定される場合は、デフォルト値が設定される(200016、200017)。仮想ファイルテーブル内のディスクブロック及びファイルブロック番号と仮想ファイルテーブル内のBATサイズとブロックヘッダサイズも又デフォルト値に基づいて再設定される。
0066 もし生成対象のファイルが現存するいかなる仮想ボリュームも表わさない新たなファイルであれば、ストレージシステム制御プログラムはサイズが0の新たな仮想ボリュームを生成し、それに対して仮想ボリュームIDを指定する(200011)。プログラムは更に、仮想ボリュームテーブル及び仮想ファイルテーブル内にエントリも生成し、更にNFS操作内で指定される情報とデフォルト値に基づいて生成したボリュームに関する情報も記録する(200012−200017)。最後に、ストレージシステム制御プログラムはファイルイメージテーブル内にボリュームのエントリを生成する(200018)。
0067 図21はNFS WRITE操作の詳細プロセスを示す。本実施例では、単純にするために、リストアプロセスに於いてデータはファイルの始めからファイルの終わりまで連続的にファイルに書き込まれる。即ち、図4aに示すようにファイルはヘッダ、BAT、ブロックリスト、及びフッタの順に書き込まれる。ブロックリストエントリ内で、ファイルブロックに先行して先ずブロックヘッダが書き込まれる。もしデータが書き込まれるのが連続的でないならば、データバッファリングのような公知の技術を使用してそれらを処理することが可能である。更に、本実施例では、書き込み対象ファイルは有効な仮想ファイルフォーマットになっているものと仮定している。もしフォーマットが無効であるならば、チェックサムやディジタル署名のような公知の技術を使用して無効を検知することができる。もし指定されたファイルハンドルが仮想ファイルテーブル内に存在し(210001)、ファイルの状態が“正常”でも“バックアップ”でもない(210002)のであれば、操作は受け入れられる。NFS READ操作と同様に、ストレージシステム制御プログラムは操作内で指定されるオフセット(Os)とバイト数(Bt)によりアドレス指定される各バイトに対して処理する(210003)。更にファイルイメージテーブル又はディスクブロック内に書き込まれる位置はREAD操作の説明に於いて述べたのと同様の計算によって特定することができる。ファイル状態に基づいて(210004、210006、210008、210010)、各バイトはそれぞれ異なった処理をされる(210005、210007、210009、210011)。
0068 図22は“リストア中”状態での1バイト書き込みの詳細プロセスを示す。指定のバイトがファイルイメージテーブル内のヘッダイメージに書き込まれる(220001)。もしヘッダ全体が書き込まれる(220002)ならば、ストレージシステム制御プログラムはヘッダから仮想ボリュームサイズ、ファイルブロックサイズ及び、使用済みファイルブロック数を抽出しそれらを仮想ボリュームテーブル及び仮想ファイルテーブル内に記録する。更に、抽出した値に基づいて仮想ファイルテーブル内のBATサイズ、ファイルブロックサイズ、ブロックヘッダサイズ、ブロックリスト、及び仮想ファイルサイズ、のみならず仮想ボリュームテーブル内のファイルブロック番号を計算し記録する(220003−220005)。最後に、プログラムはファイル状態を“ヘッダリストア済み”に設定する(220006)。
0069 図23は“ヘッダリストア済み”状態での1バイト書き込みの詳細プロセスを示す。指定のバイトがファイルイメージテーブル内のBATイメージに書き込まれる(230001)。もしBAT全体が書き込まれる(230002)ならば、ストレージシステム制御プログラムはファイル状態を“BATリストア済み”に設定する(230003)。
0070 図24は“BATリストア済み”状態での1バイト書き込みの詳細プロセスを示す。READ操作の説明に於いて述べた計算によってOsはファイルブロックヘッダ、ファイルブロック、或いは仮想ボリュームセクタ内の、ファイルブロック番号、LBA、及びオフセットバイトに変換できる。ストレージシステム制御プログラムは指定のバイトのファイルブロック番号を特定する。ストレージシステム制御プログラムは、もしブロック番号N(240001)とOsがファイルブロックヘッダ内のバイトを指示していることを見出したならば(240002)、ファイルイメージテーブル内のブロックヘッダイメージにそのバイトを書き込む(240011)。そうでない場合は、プログラムは、ファイルブロック内にそのバイトを含むセクタを特定し、ファイルブロックヘッダ内のビットマップを参照することによりセクタが有効か否かチェックする(240003)。もしセクタが無効であれば、そのバイトも又無効であり、書き込まれる必要がない。そうでない場合は、ストレージシステム制御プログラムは指定のバイトを含むLBAを計算する(240004)。LBAに何もディスクブロックが割り当てられていない(240005)ならば、プログラムは仮想ボリュームのディスクブロックサイズに等しいサイズのフリーディスクブロックを選択し、そのディスクブロックをそのLBA又はディスクブロック番号が同一である他のLBAに割り当てて、仮想ボリュームテーブル内に割り当て情報を記録する(240006、240007)。プログラムは割り当てたディスクブロックにバイトを書き込み(230008)、すべてのファイルブロックが書き込まれれば(240009)、ファイル状態を“ブロックリストア済み”に設定する(240010)。
0071 図25は“ブロックリストア済み”状態での1バイト書き込みの詳細プロセスを示す。指定のバイトがファイルイメージテーブル内のフッタイメージに書き込まれる(250001)。もしフッタ全体が書き込まれたならば(250002)、ストレージシステム制御プログラムはファイル状態を“リストア済み”に設定する(250003)。本実施例では、フッタは何も情報を持たない。しかしながら、それが何か有用な情報を含んでいるならば、フッタ全体が書き込まれた後にそれを抽出することができる。ファイル状態が“リストア済み”に設定された後、バックアップサーバは仮想ファイルを“−backup”のない元の名前にリネームすることができ、RENAME操作の説明の中で述べたように仮想ボリュームをアプリケーションサーバからアクセス可能にする。
0072 上で示すように、仮想ボリュームは仮想ファイルシステム内の仮想ファイルとしてエクスポーズされる。仮想ボリュームのボリュームベースのバックアップはディスクブロックが何も割り当てられていないボリュームセグメントを読み出すことなく仮想ファイルを読み出すことにより遂行できる。バックアップとリストアプロセスはバックアップサーバから仮想ファイルを含む仮想ファイルシステムにNFS操作を送信することにより制御される。仮想ファイルのフォーマットが仮想ディスクファイルフォーマットであるならば、本発明は仮想ボリュームを仮想ディスクファイルに変換したりその逆を行ったりするために使用することができる。更に、この変換は、そのすべてのLBAがディスクブロックを持つ仮想ボリュームと考えられる、通常の物理ボリュームに適用することができる。本実施例では、仮想ボリュームと仮想ファイルは単一のストレージシステムにより提供される。しかしながらネットワークにより接続され管理テーブル内に記録された情報を交換する、別個の2つのストレージシステムとして実装することも可能である。そのような場合、一方のストレージシステムは仮想ボリュームを提供し、他方は仮想ファイルシステムを提供する。更に、HTTP、WebDAV、及びCIFSのような数種のプロトコルが仮想ファイルにアクセスするために使用できる。更に、操作内で指定されるオフセットとバイト数がセクタにそろえられるならば、1バイトの代わりに仮想ボリュームセクタの単位でREAD及びWRITE要求を処理することが可能である。
第2の実施例
0073 本実施例では、仮想ボリュームがバックアップ中である時、アプリケーションサーバは仮想ボリューム内のデータを読み書きすることができる。仮想ボリュームのスナップショットがストレージシステムにより維持され、仮想ファイルがスナップショットに基づいて生成される。第1の実施例との相違点を以下に述べる。
0074 図26は本実施例での仮想ボリュームテーブルの構造例を示す。仮想ボリューム内の各LBAに対して、LBAの割り当て情報60005に加えて、そのスナップショットの割り当て情報(260002)及び書き込みフラグ(260001)が示されており、ここで書き込みフラグは、その値が“TRUE”の場合にはスナップショットが生成された後にLBAが書き込まれるかどうか指示するものである。
0075 図27は第2の実施例でのボリュームI/O要求の詳細プロセスを示す。本実施例ではステップ270001−270006が図12に付加される。もしストレージシステム制御プログラムが仮想ボリュームへの書き込み要求を受信し、その仮想ファイルの状態が“バックアップ”であるならば(270001)、ストレージシステム制御プログラムは、フラグはこの書き込み要求とスナップショットが以前の書き込み要求によって生成が完了する前にLBAが書き込まれることを示すので、指定のLBAの書き込みフラグがTRUEの場合に(270002)仮想ボリュームの割り当てられたディスクブロックにデータを書き込む。そうでない場合は、ストレージシステム制御プログラムはLBAの書き込みフラグをTRUEに設定する(270003)。もしLBAがディスクブロックに割り当てられていれば(270004)、ストレージシステム制御プログラムはLBA及びディスクブロック番号が同一の他のLBAのスナップショットを取得するためにフリーディスクブロックを割り当て、仮想ボリュームテーブル内に割り当て情報260002を記録する(270005)。プログラムは更に、スナップショットが元のボリュームイメージを維持するように、データを仮想ボリュームのディスクブロックに書き込む前にスナップショットの割り当てられたディスクブロックにLBA内の元のデータをコピーする(270006)。
0076 図28はNFS RENAME操作のプロセスの一部を示す。本実施例では、図16のステップ160007と160008の間にステップ280001が挿入される。更にステップ280002が160011と160012の間に挿入される。ステップ280001に於いて、ストレージシステム制御プログラムはすべての割り当て情報60005を仮想ボリュームテーブル内のスナップショット割り当て情報260002にコピーする。そのことにより元の仮想ボリュームと同じイメージを含む初期スナップショットイメージが生成される。ステップ280002に於いて、仮想ファイルのイメージが削除される時、スナップショットに割り当てられるすべてのディスクブロックを解放し、すべての書き込みフラグとスナップショット割り当て情報をクリアすることによってスナップショットも削除される。
0077 他の要求のプロセスフローでは、すべてのファイル操作は第1の実施例の割り当て情報60005の代わりに仮想ボリュームテーブル内のスナップショット割り当て情報260002を参照する。ストレージシステム制御プログラムは、仮想ボリュームに割り当てられたすべてのディスクブロックを解放する時に仮想ボリュームのスナップショットに割り当てられたすべてのディスクブロックを解放する。更に、プログラムはすべての割り当て情報60005をクリアにする時にすべてのスナップショット割り当て情報260002と書き込みフラグ260001をクリアする。
0078 本実施例では、仮想ボリュームのスナップショットは維持され、その結果アプリケーションサーバは、バックアップ中に仮想ボリュームとの間でデータを読み書きすることができる。
典型的なコンピュータプラットフォーム
0079 図29は本発明の手法の実施例が実装可能なコンピュータ/サーバシステム2900の実施例を示す。システム2900はコンピュータ/サーバプラットフォーム2901、周辺デバイス2902及びネットワークリソース2903を含む。
0080 コンピュータプラットフォーム2901はコンピュータプラットフォーム2901の種々の部位に渡って情報を通信するデータバス2904又は他の通信メカニズム、及び情報を処理し他の計算や制御業務を遂行するためのバス2901と接続されるプロセッサ2905を含むことができる。コンピュータプラットフォーム2901は更に、プロセッサにより実行される命令のみならず種々の情報を保存するためにバス2904に接続される、ランダムアクセスメモリ(RAM)又は他の動的ストレージデバイスのような揮発性ストレージ2906も含む。揮発性ストレージ2906は更に、プロセッサ2905による命令の実行の間に一時的な変数や他の中間情報を保存するためにも使用可能である。コンピュータプラットフォーム2901は更に、種々のシステム構成パラメータのみならず基本入出力システム(BIOS)のようなプロセッサ2905に対する静的情報や命令を保存するためのバス2904に接続されるリードオンリーメモリ(ROM又はEPROM)又は他の静的なストレージデバイス2907を含むことができる。磁気ディスク、光ディスク、又は半導体フラッシュメモリデバイスのような永続性ストレージデバイス2908が情報や命令を保存するために提供され、バス2901に接続される。
0081 コンピュータプラットフォーム2901は、コンピュータプラットフォーム2901のシステム管理者又はユーザに情報を表示するために、陰極線管(CRT)、プラズマディスプレイ、又は液晶ディスプレイ(LCD)のようなディスプレイ2909をバス2901を介して接続することができる。英数字やその他のキーを含む入力デバイス2910がプロセッサ2905に情報とコマンド選択を通信するためにバス2904に接続される。別のタイプのユーザ入力デバイスとして、プロセッサ2904との間で方向情報とコマンド選択を通信しディスプレイ2909上のカーソルの動きを制御するための、マウス、トラックボール、又はカーソル方向キーのようなカーソル制御デバイス2911がある。この入力デバイスは一般的に、このデバイスが平面内の位置を指定することができるように第1の軸(例えばx)と第2の軸(例えばy)の2軸に2自由度を持つ。
0082 コンピュータプラットフォーム2901に対して追加又はリムーバブルなストレージ容量を提供するために、コンピュータプラットフォーム2901にバス2904を介して外部ストレージデバイス2912を接続することができる。コンピュータシステム2900の実施例では、他のコンピュータシステムとのデータ交換を容易にするために外部リムーバブルストレージデバイス2912が使用可能である。
0083 本発明はここで記述した技術を実装するためのコンピュータシステム2900の利用に関連する。一つの実施例では本発明のシステムはコンピュータプラットフォーム2901のような計算機上に存在することができる。本発明の一つの実施例によれば、ここで記述した技術は、揮発性メモリ2906内に含まれる一つ以上の命令の一つ以上のシーケンスを実行するプロセッサ2905に応答してコンピュータシステム2900が遂行する。そのような命令は永続性ストレージデバイス2908のような他のコンピュータ読み取り可能媒体から揮発性メモリ2906へと読み込むことができる。揮発性メモリ2906内に含まれる命令シーケンスの実行はプロセッサ2905にここで記述したプロセスステップを遂行させる。別の実施例では本発明を実装するために、ソフトウェア命令の代わりに或いはソフトウェア命令と組み合わせて配線接続された回路を使用することも可能である。このように、本発明の実施例はいかなるハードウェア回路とソフトウェアの任意の特定の組み合わせにも限定されない。
0084 ここで使用される“コンピュータ読取可能媒体”という用語は、プロセッサ2905に実行のために命令を提供することに関与する任意の媒体のことを示す。コンピュータ読取可能媒体はここで記述した任意の方法及び/又は技術を実行する命令を伝えることができる計算機読取可能媒体のほんの一例である。そのような媒体は不揮発性媒体及び揮発性媒体を含むがこれらに限定されない多くの形態をとることができる。不揮発性媒体は、例えばストレージデバイス2908のような、光又は磁気ディスクを含む。揮発性媒体は揮発性ストレージ2906のような、動的メモリを含む。
0085 コンピュータ読取可能媒体の一般的な形態は、例えば、フロッピーディスク、フレキシブルディスク、ハードディスク、磁気テープ、或いは任意の他の磁気媒体、CD−ROM、任意の他の光媒体、パンチカード、紙テープ、任意の他の穴パターンを持つ物理媒体、RAM、PROM、EPROM、FLASH−EPROM、フラッシュドライブ、メモリカード、任意の他のメモリチップ又はカートリッジ、或いはコンピュータが読み取ることができる任意の他の媒体を含む。
0086 一つ以上の命令の一つ以上のシーケンスをプロセッサ2905に実行のために伝える折に種々の形態のコンピュータ読取可能媒体が関与できる。例えば、命令は最初はリモートコンピュータから磁気ディスクに伝えることができる。もう一つの方法として、リモートコンピュータは命令をその動的メモリにロードし、モデムを使用して電話線を通してその命令を送信することができる。コンピュータシステム2900に局在するモデムは電話線上のデータを受信し、データを赤外線信号に変換する赤外線トランスミッタを使用することができる。赤外線検出器は赤外線信号中に伝えられたデータを受信することができ、適切な回路がデータをデータバス2904上に乗せることができる。バス2904はデータを揮発性ストレージ2906に伝え、そこからプロセッサ2905は命令を取り出して実行する。揮発性メモリ2906が受信する命令は、状況に応じてプロセッサ2905により実行される前か後のどちらかで永続性ストレージ2908に保存されても良い。命令はこの技術分野で公知の多様なネットワークデータ通信プロトコルを使用してインターネットを介してコンピュータプラットフォーム2901へとダウンロードすることもできる。
0087 コンピュータプラットフォーム2901は更に、データバス2904に接続されるネットワークインタフェースカード2913のような、通信インタフェースを含むこともできる。通信インタフェース2913はローカルネットワーク2915に接続されるネットワークリンク2914への双方向のデータ通信接続を提供する。例えば、通信インタフェース2913は電話線の対応するタイプにデータ通信接続を行うための統合サービスディジタルネットワーク(ISDN)カード又はモデムとすることができる。別な例として、通信インタフェース2913は互換LANにデータ通信接続を行うためのローカルエリアネットワーク・インタフェースカード(LAN NIC)とすることができる。公知の802.11a、802.11b、802.11gやBluetoothのような無線リンクも又ネットワークの実装に使用可能である。任意のそのような実装に於いて、通信インタフェース2913は種々のタイプの情報を表わすディジタルデータストリームを伝える電気的、電磁気的、光学的信号を送受信する。
0088 ネットワークリンク2913は通常、一つ以上のネットワークを介して他のネットワークリソースに対してデータ通信を行う。例えば、ネットワークリンク2913はローカルネットワーク2915を介してホストコンピュータ2916、又はネットワークストレージ/サーバ2917に接続することができる。更に、或いはそれに代わって、ネットワークリンク2914はゲートウェイ/ファイアウォール2917を介してインターネットのような広域ネットワーク又はグローバルネットワーク2918に接続することができる。このようにして、コンピュータプラットフォーム2901は、リモートネットワークストレージ/サーバ2919のような、インターネット2918上のどこにでも存在するネットワークリソースにアクセスすることができる。一方、コンピュータプラットフォーム2901は更にローカルエリアネットワーク2915及び/又はインターネット2918上のどこにでも存在するクライアントがアクセスすることもできる。ネットワーククライアント2920と2921はプラットフォーム2901と同様のコンピュータプラットフォームを基にして自らを実装することができる。
0089 ローカルネットワーク2915もインターネット2918も、ディジタルデータストリームを伝える電気的、電磁気的、又は光学的信号を使用する。コンピュータプラットフォーム2901との間でディジタルデータを伝える、種々のネットワークを通る信号及びネットワークリンク2914上にあり通信インタフェース2913を通る信号は情報を運ぶ搬送波の典型的な形態である。
0090 コンピュータプラットフォーム2901はインターネット2918及びLAN2915、ネットワークリンク2914及び通信インタフェース2913を含む種々のネットワークを介してプログラムコードを含む、メッセージを送信したり、データを受信することができる。インターネットの例では、システム2901は、ネットワークサーバとして動作時に、インターネット2918、ゲートウェイ/ファイアウォール2917、ローカルエリアネットワーク2915及び通信インタフェース2913を介してクライアント2920及び/又は2921上で走行するアプリケーションプログラムに対して要求されたコード又はデータを伝達することもあるであろう。同様にシステムは他のネットワークリソースからコードを受信することができる。
0091 受信したコードは受信した時点でプロセッサ2905により実行され、及び/又は後の実行のために永続性ストレージデバイス2908又は揮発性ストレージデバイス2906それぞれ内に、或いは他の不揮発性ストレージ内に保存される。このようにして、コンピュータシステム2901は搬送波の形式でアプリケーションコードを得ることができる。
0092 本発明は何ら特定のファイアウォールシステムに限定されるものでないことはいうまでもない。本発明のポリシーベースのコンテンツ処理システムは三つのファイアウォール動作モード、特にNAT、ルート及びトランスペアレントモードのどれでも使用できる。
0093 最後に、当然のことながらここで記述されたプロセスと技術は本質的にいかなる特定の装置にも関係しておらず、コンポーネントの任意の適切な組み合わせにより実装可能である。更に、種々のタイプの汎用デバイスがここで記述された技術に従って使用可能である。更にここに記述された方法のステップを遂行するのに専用の装置を構築するのが有利だと判明する場合もあり得る。本発明は特定の例に関連して記述されてきたが、この例はあらゆる点で制限的であるよりも説明に役立つように意図されている。当業者は、ハードウェア、ソフトウェア、及びファームウェアの多くの異なる組み合わせが本発明を実施するのに適切であると認識するであろう。例えば、記述されたソフトウェアはアセンブラー、C/C++、perl、shell、PHP、Java等のような広範囲のプログラミング又はスクリプト言語で実装できる。
0094 更に、本発明の他の実装が、ここで開示された本発明の明細書の検討と実施から、当業者には明らかになるであろう。記述された実施例の種々の態様及び/又はコンポーネントはシン・プロビジョニング・ボリュームを、それらをポータブルな仮想ディスクファイルとしてエクスポーズすることにより、バックアップとリストアを遂行する方法と装置の中で、単独で又は任意の組み合わせで使用できる。明細書と例は典型的なものとしてのみ考慮されるものと意図されており、本発明の真の範囲や精神は以下の特許請求の範囲により示される。

Claims (21)

  1. ストレージシステム制御モジュール、一つ以上の仮想ボリューム及び仮想ファイルシステムを含む、ストレージシステムを備え、前記仮想ボリュームはそれぞれ前記仮想ファイルシステム内の仮想ファイルとして表わされ、該仮想ファイルはそれぞれ前記仮想ボリューム内に実際に保存されるデータを表わす、システムであって、
    前記ストレージシステム制御モジュールは選択した仮想ボリュームのバックアップ操作を容易にするように構成され、選択した仮想ボリュームの該バックアップ操作は、
    前記ストレージシステムの前記仮想ファイルシステムにアクセスするステップと、
    前記選択した仮想ボリュームに対応する前記仮想ファイルを読み出すステップと、
    からなり、
    前記ストレージシステム制御モジュールは更に、選択した仮想ボリュームのリストア操作を容易にするように動作可能であり、選択した仮想ボリュームの該リストア操作は、
    前記ストレージシステムの前記仮想ファイルシステムにアクセスするステップと、
    前記選択した仮想ボリュームを表わす仮想ファイルを生成するステップと、
    からなる
    ことを特徴とするシステム。
  2. 各仮想ボリュームは論理ブロックアドレス(LBA)によりアドレス指定される、
    ことを特徴とする請求項1のシステム。
  3. 選択した仮想ボリュームの前記リストア操作は更に、前記仮想ファイルが生成中の間に該選択した仮想ボリュームへの読み出し/書き込みアクセスを禁止するステップからなる、
    ことを特徴とする請求項1のシステム。
  4. 前記仮想ファイルシステム内の各仮想ファイルはブロックリストを備える、
    ことを特徴とする請求項1のシステム。
  5. 各仮想ボリュームはファイルブロックに分割され、前記仮想ファイルを表わす前記ブロックリストはデータを含む該ファイルブロックを備える、
    ことを特徴とする請求項4のシステム。
  6. 前記仮想ファイルシステム内の各仮想ファイルは更にブロック割り当てテーブル(BAT)を備え、該BATは前記ファイルブロックリスト内に含まれる各ファイルブロックに対するオフセットを含む、
    ことを特徴とする請求項5のシステム。
  7. 前記システムは更に、前記バックアップ及びリストア操作を実行するためにNFSプロトコルの要求を前記ストレージシステムに送信するバックアップサーバを備える、
    ことを特徴とする請求項6のシステム。
  8. 正常、バックアップ、リストア中を含むグループから選択される、前記仮想ファイルシステム内の各仮想ファイルの状態を示す仮想ファイルテーブルを更に備える、
    ことを特徴とする請求項7のシステム。
  9. 選択した仮想ボリュームの前記バックアップ操作は更に、該選択した仮想ボリュームへの書き込みアクセスを禁止するステップからなる、
    ことを特徴とする請求項1のシステム。
  10. ユーザからバックアップ又はリストア要求を受信するユーザインタフェースを提供する管理サーバを更に備える、
    ことを特徴とする請求項1のシステム。
  11. 選択した仮想ボリュームの前記バックアップ操作は更に、前記仮想ボリュームのスナップショットを取得するステップからなり、該スナップショットの使用により前記仮想ファイルが生成される、
    ことを特徴とする請求項1のシステム。
  12. 各仮想ボリュームは各セクタを特定する論理ブロックアドレス(LBA)によりアドレス指定される、
    ことを特徴とする請求項11のシステム。
  13. 前記仮想ファイルシステム内の各仮想ファイルはブロックリストを備える、
    ことを特徴とする請求項11のシステム。
  14. 各仮想ボリュームはファイルブロックに分割され、前記仮想ファイルを表わす前記ブロックリストはデータを含む該ファイルブロックを備える、
    ことを特徴とする請求項13のシステム。
  15. 前記仮想ファイルシステム内の各仮想ファイルは更にブロック割り当てテーブル(BAT)を備え、該BATは前記ファイルブロックリスト内に含まれる各ファイルブロックに対するオフセットを含む、
    ことを特徴とする請求項14のシステム。
  16. 前記バックアップ及びリストア操作はNFSプロトコルを使用して実行される、
    ことを特徴とする請求項15のシステム。
  17. 正常、バックアップ、リストア中を含むグループから選択され、前記仮想ファイルシステム内の各仮想ファイルの状態を示す仮想ファイルテーブルを更に備える、
    ことを特徴とする請求項16のシステム。
  18. 管理サーバとバックアップサーバを更に備え、前記管理サーバはユーザからバックアップ又はリストア要求を受信して前記バックアップサーバに該要求を転送する、
    ことを特徴とする請求項11のシステム。
  19. 複数の前記仮想ボリューム内の各仮想ボリュームに対する前記LBA、前記LBAの割り当て情報、及びスナップショット割り当て情報、を含む仮想ボリュームテーブルを更に備える、
    ことを特徴とする請求項12のシステム。
  20. 更にアプリケーションサーバを備え、選択した仮想ボリュームの前記バックアップ操作が実行される時、前記アプリケーションサーバは該選択した仮想ボリュームのスナップショットが維持されているならば前記選択した仮想ボリュームに関する読み出し及び書き込みアクセスを許可する、
    ことを特徴とする請求項19のシステム。
  21. ストレージシステム制御モジュール、一つ以上の仮想ボリューム及び仮想ファイルシステムを備える、ストレージシステムによって遂行される方法であって、前記仮想ボリュームはそれぞれ前記仮想ファイルシステム内の、前記仮想ボリューム内に実際に保存されるデータをそれぞれ表わす仮想ファイルとして表わされ、前記方法は、選択した仮想ボリュームのバックアップ操作を遂行するステップと、選択した仮想ボリュームのリストア操作を遂行するステップからなり、
    選択した仮想ボリュームの前記バックアップ操作は、
    前記ストレージシステムの前記仮想ファイルシステムにアクセスするステップと、
    前記選択した仮想ボリュームに対応する前記仮想ファイルを読み出すステップと、
    からなり、
    選択した仮想ボリュームの前記リストア操作は、
    前記ストレージシステムの前記仮想ファイルシステムにアクセスするステップと、
    前記選択した仮想ボリュームを表わす仮想ファイルを生成するステップと、
    からなる
    ことを特徴とする方法。
JP2010023292A 2009-03-27 2010-02-04 シン・プロビジョニング・ボリュームのバックアップとリストアのための方法と装置 Expired - Fee Related JP5352491B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/413,406 US8452930B2 (en) 2009-03-27 2009-03-27 Methods and apparatus for backup and restore of thin provisioning volume
US12/413,406 2009-03-27

Publications (2)

Publication Number Publication Date
JP2010231770A true JP2010231770A (ja) 2010-10-14
JP5352491B2 JP5352491B2 (ja) 2013-11-27

Family

ID=42105945

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010023292A Expired - Fee Related JP5352491B2 (ja) 2009-03-27 2010-02-04 シン・プロビジョニング・ボリュームのバックアップとリストアのための方法と装置

Country Status (4)

Country Link
US (1) US8452930B2 (ja)
EP (1) EP2234018B1 (ja)
JP (1) JP5352491B2 (ja)
AT (1) ATE549678T1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013054416A (ja) * 2011-09-01 2013-03-21 Fujitsu Ltd ストレージシステム、ストレージ制御装置およびストレージ制御方法
JP5315460B1 (ja) * 2011-09-07 2013-10-16 株式会社オレガ ファイル管理システム及びファイル管理方法
US10235089B2 (en) 2015-05-01 2019-03-19 Fujitsu Limited Storage control device, method and storage system to backup data using allocation information

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8117163B2 (en) 2006-10-31 2012-02-14 Carbonite, Inc. Backup and restore system for a computer
USD730391S1 (en) 2007-10-29 2015-05-26 Carbonite, Inc. Icon for a backup and restore system for a computer
US8397046B2 (en) * 2009-03-26 2013-03-12 Hitachi, Ltd. Method and apparatus for deploying virtual hard disk to storage system
US8943203B1 (en) * 2009-07-10 2015-01-27 Netapp, Inc. System and method for storage and deployment of virtual machines in a virtual server environment
US8150808B2 (en) 2009-10-21 2012-04-03 Delphix Corp. Virtual database system
US8161077B2 (en) 2009-10-21 2012-04-17 Delphix Corp. Datacenter workflow automation scenarios using virtual databases
US8285956B2 (en) * 2009-10-22 2012-10-09 Symantec Corporation Efficient logging for asynchronously replicating volume groups
US9953035B1 (en) * 2009-10-30 2018-04-24 Veritas Technologies Llc Systems and methods for efficiently backing up data in thin-provisioned environments
US8386430B1 (en) * 2009-11-06 2013-02-26 Carbonite, Inc. File storage method to support data recovery in the event of a memory failure
US8296410B1 (en) 2009-11-06 2012-10-23 Carbonite, Inc. Bandwidth management in a client/server environment
US9106591B2 (en) 2009-12-24 2015-08-11 Delphix Corporation Adaptive resource management using survival minimum resources for low priority consumers
US9317368B2 (en) * 2010-07-14 2016-04-19 Nimble Storage, Inc. Unified management of storage and application consistent snapshots
US8548944B2 (en) * 2010-07-15 2013-10-01 Delphix Corp. De-duplication based backup of file systems
RU2598812C2 (ru) * 2011-01-21 2016-09-27 Томсон Лайсенсинг Способ усовершенствования выполнения операции обратно совместимой агрегатной файловой системы и соответственное устройство
US20120278442A1 (en) * 2011-04-26 2012-11-01 Hitachi, Ltd. Server apparatus and method of controlling information system
CN102929884B (zh) * 2011-08-10 2016-05-04 阿里巴巴集团控股有限公司 一种收缩虚拟磁盘镜像文件的方法及装置
US9063883B2 (en) * 2011-09-26 2015-06-23 International Business Machines Corporation Management of point-in-time copy relationship for extent space efficient volumes
US9697093B2 (en) 2012-09-05 2017-07-04 Veritas Technologies Llc Techniques for recovering a virtual machine
US9354907B1 (en) 2012-10-26 2016-05-31 Veritas Technologies Llc Optimized restore of virtual machine and virtual disk data
EP2951702A4 (en) * 2013-01-29 2016-11-02 Hewlett Packard Entpr Dev Lp RESTORING A FILE SYSTEM OBJECT FROM RAW IMAGE SAVING DATA
CN104243522B (zh) * 2013-06-19 2018-02-06 华为技术有限公司 用于超文本传输协议网络的方法及宽带网络网关
US9354908B2 (en) 2013-07-17 2016-05-31 Veritas Technologies, LLC Instantly restoring virtual machines by providing read/write access to virtual disk before the virtual disk is completely restored
US9710386B1 (en) 2013-08-07 2017-07-18 Veritas Technologies Systems and methods for prefetching subsequent data segments in response to determining that requests for data originate from a sequential-access computing job
US9092248B1 (en) 2013-08-21 2015-07-28 Symantec Corporation Systems and methods for restoring distributed applications within virtual data centers
US10176048B2 (en) 2014-02-07 2019-01-08 International Business Machines Corporation Creating a restore copy from a copy of source data in a repository having source data at different point-in-times and reading data from the repository for the restore copy
US11194667B2 (en) 2014-02-07 2021-12-07 International Business Machines Corporation Creating a restore copy from a copy of a full copy of source data in a repository that is at a different point-in-time than a restore point-in-time of a restore request
US10372546B2 (en) 2014-02-07 2019-08-06 International Business Machines Corporation Creating a restore copy from a copy of source data in a repository having source data at different point-in-times
US11169958B2 (en) 2014-02-07 2021-11-09 International Business Machines Corporation Using a repository having a full copy of source data and point-in-time information from point-in-time copies of the source data to restore the source data at different points-in-time
US10146634B1 (en) * 2014-03-31 2018-12-04 EMC IP Holding Company LLC Image restore from incremental backup
US10387446B2 (en) 2014-04-28 2019-08-20 International Business Machines Corporation Merging multiple point-in-time copies into a merged point-in-time copy
US9218407B1 (en) 2014-06-25 2015-12-22 Pure Storage, Inc. Replication and intermediate read-write state for mediums
US9684567B2 (en) * 2014-09-04 2017-06-20 International Business Machines Corporation Hypervisor agnostic interchangeable backup recovery and file level recovery from virtual disks
EP3213211A4 (en) 2014-10-29 2017-09-06 Hewlett-Packard Enterprise Development LP Data restoration using allocation maps
US10133874B1 (en) 2015-12-28 2018-11-20 EMC IP Holding Company LLC Performing snapshot replication on a storage system not configured to support snapshot replication
US10802740B2 (en) * 2016-04-21 2020-10-13 Netapp, Inc. Systems, methods, and computer readable media providing arbitrary sizing of data extents
KR20170133866A (ko) * 2016-05-27 2017-12-06 삼성에스디에스 주식회사 데이터 이관 장치 및 방법
US10235061B1 (en) * 2016-09-26 2019-03-19 EMC IP Holding Company LLC Granular virtual machine snapshots
US10353632B2 (en) 2016-11-15 2019-07-16 StorageOS Limited System and method for storing data blocks in a volume of data
US10733305B2 (en) 2016-11-15 2020-08-04 StorageOS Limited System and method for implementing cryptography in a storage system
US10691350B2 (en) 2016-11-15 2020-06-23 StorageOS Limited Method for provisioning a volume of data including placing data based on rules associated with the volume
CN109933278A (zh) * 2017-12-19 2019-06-25 中国电信股份有限公司 用于实现块设备挂载访问的方法和装置
EP3722949B1 (en) * 2018-02-27 2023-08-09 Huawei Cloud Computing Technologies Co., Ltd. Image transmission method, apparatus and storage medium
JP6930506B2 (ja) * 2018-08-08 2021-09-01 株式会社Jvcケンウッド データ記録送信装置、データ記録送信方法、及びデータ記録送信プログラム
US11797234B2 (en) 2020-12-22 2023-10-24 Red Hat, Inc. Determining a size of virtual disks
US20230024420A1 (en) * 2021-07-16 2023-01-26 Samsung Electronics Co., Ltd. Methods and devices for file read latency reduction

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050216788A1 (en) * 2002-11-20 2005-09-29 Filesx Ltd. Fast backup storage and fast recovery of data (FBSRD)
JP2006195712A (ja) * 2005-01-13 2006-07-27 Hitachi Ltd ストレージ制御装置、論理ボリューム管理方法及びストレージ装置
JP2008181271A (ja) * 2007-01-24 2008-08-07 Hitachi Ltd 仮想ボリュームに記憶されたデータをバックアップする記憶制御装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4175788B2 (ja) * 2001-07-05 2008-11-05 株式会社日立製作所 ボリューム制御装置
JP2008197745A (ja) * 2007-02-08 2008-08-28 Hitachi Ltd ストレージ仮想化システムにおける記憶制御装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050216788A1 (en) * 2002-11-20 2005-09-29 Filesx Ltd. Fast backup storage and fast recovery of data (FBSRD)
JP2006195712A (ja) * 2005-01-13 2006-07-27 Hitachi Ltd ストレージ制御装置、論理ボリューム管理方法及びストレージ装置
JP2008181271A (ja) * 2007-01-24 2008-08-07 Hitachi Ltd 仮想ボリュームに記憶されたデータをバックアップする記憶制御装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013054416A (ja) * 2011-09-01 2013-03-21 Fujitsu Ltd ストレージシステム、ストレージ制御装置およびストレージ制御方法
JP5315460B1 (ja) * 2011-09-07 2013-10-16 株式会社オレガ ファイル管理システム及びファイル管理方法
US10235089B2 (en) 2015-05-01 2019-03-19 Fujitsu Limited Storage control device, method and storage system to backup data using allocation information

Also Published As

Publication number Publication date
US8452930B2 (en) 2013-05-28
US20100250880A1 (en) 2010-09-30
EP2234018B1 (en) 2012-03-14
EP2234018A1 (en) 2010-09-29
JP5352491B2 (ja) 2013-11-27
ATE549678T1 (de) 2012-03-15

Similar Documents

Publication Publication Date Title
JP5352491B2 (ja) シン・プロビジョニング・ボリュームのバックアップとリストアのための方法と装置
US9513810B2 (en) Fast accessible compressed thin provisioning volume
JP4809040B2 (ja) ストレージ装置及びスナップショットのリストア方法
US10162722B2 (en) Virtual machine aware replication method and system
US8346727B1 (en) Optimized image archiving
US8775751B1 (en) Aggressive reclamation of tier-1 storage space in presence of copy-on-write-snapshots
CN107122127B (zh) 向存储硬件的存储操作卸载
JP5309043B2 (ja) ストレージシステム及びストレージシステムでの重複データ削除のための方法
JP4464378B2 (ja) 同一データを纏める事で格納領域を節約する計算機システム、ストレージシステム及びそれらの制御方法
US9104839B2 (en) De-duplication aware secure delete
JP2008015768A (ja) 記憶システム並びにこれを用いたデータの管理方法
EP1637987A2 (en) Operation environment associating data migration method
JP2007334878A (ja) データを長期間アーカイブするシステムと方法
US9645759B2 (en) Apparatus and method for monitoring communication
JP2006195712A (ja) ストレージ制御装置、論理ボリューム管理方法及びストレージ装置
US20150234600A1 (en) Selective copying of track data through peer-to-peer remote copy
WO2018158808A1 (ja) 情報システム、管理プログラム及び情報システムのプログラム交換方法
CN110750221B (zh) 卷克隆方法、装置、电子设备及机器可读存储介质
US7627716B2 (en) Method, system, and program for an adaptor to read and write to system memory
CA2848683C (en) Working set adjustment in a managed environment
CN118069611A (zh) 一种文件系统的克隆方法及装置
US20220391094A1 (en) Dynamically formatted storage allocation record
US10275466B2 (en) De-duplication aware secure delete
US10019318B1 (en) Storage optimization of pre-allocated units of storage
US8990541B2 (en) Compacting Memory utilization of sparse pages

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120724

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130326

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130423

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130624

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130826

R150 Certificate of patent or registration of utility model

Ref document number: 5352491

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