JP2006048641A - 長期間データアーカイブ用ファイルサーバ - Google Patents
長期間データアーカイブ用ファイルサーバ Download PDFInfo
- Publication number
- JP2006048641A JP2006048641A JP2005136800A JP2005136800A JP2006048641A JP 2006048641 A JP2006048641 A JP 2006048641A JP 2005136800 A JP2005136800 A JP 2005136800A JP 2005136800 A JP2005136800 A JP 2005136800A JP 2006048641 A JP2006048641 A JP 2006048641A
- Authority
- JP
- Japan
- Prior art keywords
- file
- data
- volume
- inode
- request
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
- G06F16/1824—Distributed file systems implemented using Network-attached Storage [NAS] architecture
- G06F16/1827—Management specifically adapted to NAS
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/122—File system administration, e.g. details of archiving or snapshots using management policies
- G06F16/125—File system administration, e.g. details of archiving or snapshots using management policies characterised by the use of retention policies
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
- Y10S707/99953—Recoverability
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
- Y10S707/99955—Archiving or backup
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】
ファイルレベルの入力/出力要求を処理しNASシステムを制御するNASコントローラと、データを記憶する複数のボリュームが構成されるストレージデバイスを制御するコントローラを有するストレージ装置を含むNASシステムを提供する。
【解決手段】
本発明において、ボリュームに記憶されるファイルのデータの少なくとも一部分が更新される時に、更新データはボリュームの未使用領域に記憶され、更新データの元のデータへの引き続くアクセスが未使用領域に記憶される更新データに向けられるように、元の領域に記憶される元のデータに対応する更新データが未使用領域に記憶されることを示す情報がボリュームに記憶され、更新データの元のデータは元の領域に保持され、それ故、更新データの元のデータの長期間のデータアーカイブを実施する。
【選択図】図1
ファイルレベルの入力/出力要求を処理しNASシステムを制御するNASコントローラと、データを記憶する複数のボリュームが構成されるストレージデバイスを制御するコントローラを有するストレージ装置を含むNASシステムを提供する。
【解決手段】
本発明において、ボリュームに記憶されるファイルのデータの少なくとも一部分が更新される時に、更新データはボリュームの未使用領域に記憶され、更新データの元のデータへの引き続くアクセスが未使用領域に記憶される更新データに向けられるように、元の領域に記憶される元のデータに対応する更新データが未使用領域に記憶されることを示す情報がボリュームに記憶され、更新データの元のデータは元の領域に保持され、それ故、更新データの元のデータの長期間のデータアーカイブを実施する。
【選択図】図1
Description
本発明は一般にストレージシステムにおける長期間のデータアーカイブの技術に関する。更に具体的には、本発明はファイルサーバ又はNAS(network attached storage;ネットワーク接続ストレージ)システム及び長期間のデータアーカイブを実施する方法に関する。
従来、長期間のデータアーカイブは、WORM(write once read many)ストレージ媒体を使用して実施されてきた。最近、長期間のデータアーカイブに対する要求が増加している。この要求は、例えば、さまざまな規制の成立によって、さらに激しくなった。これらの規制は、例えば、SEC(Securities and Exchange Act;証券取引法)及び、FDA(Food and Drug Administration;食品と薬品の管理)法の21CFR(Code of Federal Reguration;連邦規制法)第11部などの規制を含む。これらの規制は、規制データを保護し、長期間、例えば、SECの場合では7年間規制データを保持することを規制される企業に要求する。いくつかの産業の規制では、データが実際に規制データの場合は、いかなる保存データも修正することを許可しない。このような規制の他の重要な要素は、データが保存期間中に修正されることを許可して欲しいという要求である。
従来のファイルサーバ又はNASアプリケーションは上記の規制に合致しない。ファイルサーバ又はNASアプリケーション又はオペレーティングシステムのファイルシステムはファイルをストレージ媒体に記憶するために通常使用される。ハードディスクドライブはそのようなストレージ媒体として使用されてきて、また使用されている。良く知られているように、ハードディスクドライブに記憶されるデータは容易に修正することが可能である。従って、ハードディスクドライブはそれ自身では上記の規制に合致しない。
従来のNAS及びCAS(Content Addressed Storage)はWORMの能力を備えている。しかし、この能力を備えている従来のNAS及びCAS製品は、一度ここに記憶されたデータのいかなる修正も許可しない。
例えば、Network Appliance,Inc.のNAS Filer製品は、Snaplock(Network Applianceの商標)として記述されている、“Snaplock Compliance and Snaplock Enterprise Software”,Network Appliance Inc.2003を提供する。この機能は、保護される必要があるファイルとそのファイルの保存期間をユーザが指定することを可能にする。WORMビットが特定ファイルに対してアプリケーションによってセットされた後に、Filerは、保存期間が終了するまで指定されたファイルを修正または削除することをいかなるユーザにも許可しない。
上記に述べられたように、保存期間中に保護ファイルの修正を許可する要求が存在する。NAS Snaplockの機能によってそれを実施するために、ユーザは、Snaplockの機能を使用して、ファイルを他のボリュームまたはファイルにコピーしてコピーしたファイルを保護することを要求される。これは元のファイルが修正されることを許可する。しかし、この処理手順はいくつかのステップを必要とし、特に多数のファイルを有するユーザには不便である。
更に、例えば、EMC CorporationのCAS Centera(EMC Corporationの商標)製品は、固定された内容、“Centera Content Addressed Storage:Product Description Guide”、EMC Corporation 2003を記憶する専用のストレージを備える。一度データがCenteraストレージに記憶されると、Centeraストレージは、特定された保存期間が終了するまでデータを修正又は削除することをユーザに許可しない。記憶データを変更する方法はない。
NASと同様に、保存期間中に保護ファイルの修正を許可する要求がある。CAS Centeraストレージによってそれを実施するために、修正ファイルは異なるIDを有する異なるファイルとして記憶される。CAS Centeraストレージはまた元のファイルも記憶する。しかし、CAS Centeraストレージでは、ユーザは両方のファイルとIDを管理することを要求される。この追加の業務はユーザにとって不便さを意味する。
本発明は装置、方法、システム、特に、例えば、長期間のデータアーカイブを実施するためのファイルサーバ又はNAS(network attached storage;ネットワーク接続ストレージ)システムを提供する。
本発明は、例えば、長期間のデータアーカイブを実施するためのNASシステムを提供する。NASシステムは、ファイルレベルの入力/出力要求を処理しNASシステムを制御するNASコントローラ、及びコントローラとそのコントローラによって制御されデータを記憶するための複数のボリュームを構成するストレージデバイスを有するストレージ装置を含む。
本発明によって、ファイルが生成される時に、ボリューム上のファイルのデータは、コントローラとストレージデバイスの機能を使用して保護される。ボリュームに記憶されるファイルの少なくとも一部分が更新される時に、更新データはボリュームの未使用領域に記憶され、データの一部分はコントローラとストレージデバイスの機能を使用して保護される。更新データの元のデータへの次のアクセスが未使用領域に記憶される更新データに行われるように、元の領域に記憶される元のデータに対応する更新データは未使用領域に記憶されることを示す情報がボリュームに記憶される。更新データの元のデータは元の領域に保持され保護される。従って、本発明を使用して更新データの元のデータの長期間のデータアーカイブが実施される。
本発明は、例えば、長期間のデータアーカイブを実施するためのNASシステムを提供する。
本発明によって、ファイルが生成される時に、ボリューム上のファイルのデータは、コントローラとストレージデバイスの機能を使用して保護される。ボリュームに記憶されるファイルの少なくとも一部分が更新される時に、更新データはボリュームの未使用領域に記憶され、データの一部分はコントローラとストレージデバイスの機能を使用して保護される。更新データの元のデータへの次のアクセスが未使用領域に記憶される更新データに行われるように、元の領域に記憶される元のデータに対応する更新データは未使用領域に記憶されることを示す情報がボリュームに記憶される。更新データの元のデータは元の領域に保持され保護される。従って、本発明を使用して更新データの元のデータの長期間のデータアーカイブが実施される。
本発明の上記の内容と更なる理解は、すべて本発明の開示の一部を構成する付随する図面に関連して読まれると、実施例と請求項の下記の詳細な説明から明確になるであろう。上記、下記、及び図示された開示内容は本発明の実施例の開示に集中しているが、本発明の実施例の開示は図示と例示だけのものであり、本発明は図示と実施例だけに限定されないことが明確に理解されるべきである。
以下により詳細に記述される本発明は装置、方法、システム、特に、例えば、長期間のデータアーカイブを実施するためのファイルサーバ又はNAS(network attached storage;ネットワーク接続ストレージ)システムを提供する。本発明は以下に記述されるようにいろいろな実施例を提供する。しかし、本発明はここで記述される実施例に限定されることはなく、当業者に知られている、もしくは知られるようになるその他の実施例にも拡張できることに注意すべきである。
本発明は図1に示されるような構成を有するシステムで動作する。このシステムは複数のサーバ010501、010503、010505、LAN(local area network)0103、NASシステム0101を有する。
各サーバ010501、010503、010505は、例えば、アプリケーションが動作しているコンピュータであることができる。 NFS(Network File System)のクライアントは、サーバ010501、010503、010505のオペレーティングシステムのVFS(Virtual File System)層に存在し、LAN0103経由でNASシステム0101へのファイルアクセスをアプリケーションに提供する。NFSはサーバ010501、010503、010505とNASシステム0101の間のファイルシェアプロトコルであり、例えば、UNIX(UNIXは登録商標)及びLinuxサーバと共に使用される。代わりに、クライアントは、CIFS(Common Internet File System)クライアントであることができる。CIFSクライアントは、CIFSがWindows(Windowsは登録商標)サーバに対するファイルシェアプロトコルである点を除いて、NFSクライアントと本質的に同じである。他の同様なファイルシェアプロトコルを使用することができる。例えば、OSD(Object−based Storage Device)とFTP(File Transfer Protocol)を使用できる。
LAN0103はサーバ010501、010503、010505とNASシステム0101を接続するネットワークである。LAN0103に対する物理的ネットワークは、例えば、TCP/IP(Transport Control Protocol/Internet Protocol)がコミュニケーションプロトコルとして使用されるイーサネット(イーサネットは登録商標)であることができる。物理的ネットワークはまたInfiniBand、Fibre Channel、又は現在知られているかまたは知られるようになる他のコミュニケーションプロトコルであることができる。
NASシステム0101はデータを有するファイルが記憶されるストレージである。NASシステム0101はサーバ010501、010503、010505とコミュニケーションするためにNFSとCIFSプロトコルをサポートする。
NASシステム0101の内部ハードウェアは少なくとも一つのNASコントローラ010101と少なくとも一つのストレージ装置(システム)010103を有する。NASコントローラ010101とストレージシステム010103は相互にコミュニケーションするために接続される。NASコントローラ010101とストレージシステム010103はFC(Fiber Channel)ネットワーク010105を経由して接続することができる。代わりに、FCスイッチ、イーサネット又は他の同様なネットワークをNASコントローラ010101とストレージシステム010103を接続するために使用することができる。NASコントローラ010101とストレージシステム010103のインタフェース010103fとストレージシステム010103のディスクコントローラ010103aは一つのボードに実装することができる。この場合は、電子回路がNASコントローラ010101とストレージシステム010103のインタフェース010103fを接続する。
NASコントローラ010101は少なくとも一つのCPU(central processor unit)010101a、少なくとも一つのメモリ010101b、少なくとも一つのNIC(Network Interface Card)010101d、少なくとも一つのHBA(Host Bus Adapter)010101cを有する。CPU010101aとメモリ010101bはNASコントローラ010101のオペレーティングシステムとソフトウェアを動作させるために使用される。NIC010101dはLAN0103経由でサーバ010501、010503、010505とコミュニケーションするために使用される。HBA010101cはストレージシステム010103をアクセスするために使用される。
ストレージシステム010103は少なくとも一つのインタフェース010103f(例、Fibre Channelインタフェース)、少なくとも一つのディスクコントローラ010103a、少なくとも一つのキャッシュメモリ010103b、少なくとも一つのディスクアダプタ010103g、少なくとも一つのボリューム010103c、010103d、010103eを有する。インタフェース010103fはNASコントローラ010101とコミュニケーションするために使用される。ディスクコントローラ010103aはサーバ010501、010503、010505からのI/O要求と他の管理要求を処理する。キャッシュメモリ010103bは高速アクセスに対して一時的にデータを記憶するために備えられる。ディスクコントローラ010103aはボリューム010103c〜eのデータを読み書きするためにボリューム010103c〜eとコミュニケーションする。
各ボリューム010103c〜eはデータを記憶し、RAID(Redundant Array of Independent Disks)で構成される複数の物理的ディスクドライブ又は一つのディスクドライブを有する論理的ストレージであることができる。各ボリュームはまた、例えば、親のストレージシステムがネットワーク経由で他の子のストレージシステムに接続し、親のストレージシステムが子のストレージシステムのデータを読み書きする外部ストレージによって提供されることができる。更に、各ボリュームは、例えば、DVD(digital video disk)またはCD(compact disk)によって提供されることができる。
本発明による二つのタイプのボリューム、キャッシュボリューム010103cとデータボリューム010103d、010103eがある。これらのボリュームの違いは下記に記述される。
図2はNASコントローラ010101の内部ソフトウェアを示す。NASコントローラ010101において、いろいろな機能が、例えば、NFS/CIFSサーバ0301、SWFS(Sequential Write File System)0303、Logical Volume Manager(論理ボリュームマネージャ)0307、SCSIドライバ0309、WORM API(Application Programming Interface)0305を含むいろいろなソフトウェア製品を実行することによって遂行される。
NFS/CIFSサーバ0301はNFSとCIFSプロトコルを処理する。これらのプロトコルは、LAN0103経由でサーバ010501、010503、010505からNFS/CIFSサーバ0301によって受信されるI/O要求において実施されることができる。NFS/CIFSサーバ0301は要求を処理し、必要ならば、VFS(Virtual File System )インタフェース(図示してない)を使用してSWFS0303によって管理されるファイルを生成、削除、読み出し、書き込みする。VFSインタフェースはファイルをアクセスするためにNFS/CIFSサーバ0301が使用するAPIを提供する。
SWFS0303はNASコントローラ010101のオペレーティングシステムのVFS層におけるファイルシステムである。SWFS0303はVFS層を通してNFS/CIFSサーバ0301によって発行されるファイルI/O要求を処理する。SWFS0303はストレージシステム010103のボリューム010103c〜eにファイルを記憶する。SWFS0303の動作の詳細は以下に説明される。
Logical Volume Manager0307はファイルシステムを含むアプリケーションに対する論理ボリュームを提供する。上記に記述される論理ボリュームは、LAN0103経由でサーバ010501、010503、010505によってアクセスされる一つ以上の物理的ディスクドライブを含むことができる。
SCSIドライバは、SWFS0303に、ストレージシステム010103のボリューム010103c〜eへの低レベルのデータアクセスを提供するソフトウェアである。ボリューム010103c〜eのデータを読み書きするために、SWFS0303は、ボリューム010103c〜eの名前またはID、データが読み書きされるためのオフセット、及びSWFS0303が読み書きしたいデータのサイズを指定する。
WORM API0305はSWFS0303がストレージシステム010103の各ボリューム010103c〜eの保存情報を設定及び取得する方法を提供し、これにより、設定される保存期間に従って、ボリューム010103c〜eへの引き続く書き込みオペレーションまたは他の同様な修正からボリューム010103c〜eを保護する。
WORM APIのフォーマットの例は以下である:
# Set a retention period for a volume
set_retention_period([input]volume_id,[input]retention_period)
volume_id: a name or ID of a volume
retention_period: how long a volume needs to be write-protected
from a present time
# Get a retention period which has been set on a volume
get_retention_period([input]volume_id,[output]retention_period)
volume_id: a name or ID of a volume
retention_period: how long a volume is being write-protected from
a present time
SWFS0303は次の事項を除いて多くの他のファイルシステムに類似した動作をする。(1)SWFS0303は、一度ファイルがデータボリューム010103d〜eに書かれると、データボリューム010103d〜eに記憶されるファイルに決して上書きをしない。(2)もしもデータボリューム010103d〜eに記憶されるファイルが変更される必要があるならば、SWFS0303はデータボリューム010103d〜eの元のファイルを保持し、データボリューム010103d〜eの他の未使用位置に変更されたファイルを書く。(3)SWFS0303はデータをボリュームの最初のオフセットから最後のオフセットに連続的に書く。(4)一度、一つのデータボリューム010103d〜eがデータで満たされると、SWFS0303はWORM API0305を使用してボリュームを保護し、他のデータボリューム010103d〜eを使用して他のデータを書くかまたはデータを更新する。(5)もしもデータボリューム010103d〜eに設定された保存期間が終了すると、ユーザがデータボリューム010103d〜eに記憶されたデータを保持するかまたは削除するかはユーザの判断である。SWFS0303の追加の詳細は以下に記述される。
# Set a retention period for a volume
set_retention_period([input]volume_id,[input]retention_period)
volume_id: a name or ID of a volume
retention_period: how long a volume needs to be write-protected
from a present time
# Get a retention period which has been set on a volume
get_retention_period([input]volume_id,[output]retention_period)
volume_id: a name or ID of a volume
retention_period: how long a volume is being write-protected from
a present time
SWFS0303は次の事項を除いて多くの他のファイルシステムに類似した動作をする。(1)SWFS0303は、一度ファイルがデータボリューム010103d〜eに書かれると、データボリューム010103d〜eに記憶されるファイルに決して上書きをしない。(2)もしもデータボリューム010103d〜eに記憶されるファイルが変更される必要があるならば、SWFS0303はデータボリューム010103d〜eの元のファイルを保持し、データボリューム010103d〜eの他の未使用位置に変更されたファイルを書く。(3)SWFS0303はデータをボリュームの最初のオフセットから最後のオフセットに連続的に書く。(4)一度、一つのデータボリューム010103d〜eがデータで満たされると、SWFS0303はWORM API0305を使用してボリュームを保護し、他のデータボリューム010103d〜eを使用して他のデータを書くかまたはデータを更新する。(5)もしもデータボリューム010103d〜eに設定された保存期間が終了すると、ユーザがデータボリューム010103d〜eに記憶されたデータを保持するかまたは削除するかはユーザの判断である。SWFS0303の追加の詳細は以下に記述される。
図3は本発明によるinode05を示す。inodeは、例えば、ファイルシステムのファイルについての情報を含むデータ構造である。各ファイルはinodeを有し、inodeが存在するファイルシステムのinode番号(i―番号)で識別される。inodeはファイルシステムのファイル上の重要な情報を提供する。inodeはファイルシステムが生成される時に生成される。inodeのセット番号があり、システムが保有できるファイルの最大数を示す。ファイルのinode番号は/s−/コマンドを使用して見つけることが可能であり、/s−iコマンドはinode情報を検索する。SWFS0303は各ファイルとディレクトリに対するinodeを管理する。図3に示すように、inode05は二つの部分、すなわちファイルに関する基本的情報とファイルのデータ配置情報を有する。
基本的情報はinode#0501、ファイルサイズ0503、生成時刻0505、最終変更時刻0507、最終アクセス時刻0509、オーナ0511、許可/ACL(Access Control List)0513を有する。inode#0501はファイルシステムでのinode05の識別である。ファイルサイズ0503はファイルのサイズである。生成時刻0505はファイルが生成された時刻である。最終変更時刻0507はファイルが変更された時刻である。最終アクセス時刻0509はファイルが最後にアクセスされた時刻である。オーナ0511はファイルを生成したユーザである。許可/ACL0513はファイルへのユーザのアクセスを制限するために使用される情報である。
データ配置情報0515から0525はファイルが記憶されるディスクブロックに関する情報を管理する。知られているように、ボリュームは複数のディスクブロックに分割される。SWFS0303はデータを記憶するディスクブロックを指定する。ファイルは一つのディスクブロックより大きい場合がある。この場合、ファイルは一つのディスクブロックのサイズで分割され、複数のディスクブロックに記憶される。従って、inode05のデータ配置情報は、ファイルが記憶されるディスクブロックのリストを管理する。その結果、図3に示されるように、ファイルは示した順にボリューム1のディスクブロック#1,2,3,4,5,6に記憶される。
上記に記述されているように、本発明はキャッシュボリューム010103cとデータボリューム010103d〜eを提供する。各データボリューム010103d〜eはファイルが記憶されるボリュームである。キャッシュボリューム010103cはファイルを一時的に記憶するために使用される。ファイルがオープンされ修正され続ける間は、更新データはキャッシュボリューム010103cに記憶される。ファイルがクローズされた後に、更新データはデータボリューム010103d〜eに移動される。オープンされ、修正され、最終的に記憶されるファイルに対するinodeは、ファイルへの全てのアクセスを最新のバージョンに適切に向けるために、ファイルの最新のバージョンの位置を追跡しなければならない。本発明のこの機能は図4の例に示される。
図3のinode05で表されるファイルがアクセスされる時に、ファイルのコピーはキャッシュボリューム010103cに記憶される。その後、このファイルに対するアクセスは全てキャッシュボリューム010103cに向けられる。ディスクブロック3と6の、それぞれデータCとFが修正(更新)される時に、更新データGとHは図4に示されるキャッシュボリューム010103cの対応するディスクブロック11と14に記憶される。キャッシュボリューム010103cの更新データGとHへの引き続くアクセスを許可するために、キャッシュボリューム010103cの更新データGとHの位置は、inodeを変更することによって反映され、図4に示されるinode05aのような内容を有する。inode5aはファイルクローズの前のinodeの状態である。そして、ディスクブロック3と6の、それぞれデータCとFに対して、inode05aは、更新データGとHがそれぞれキャッシュボリューム010103cのディスクブロック11と14に記憶されることを示す。
inode05によって表されるファイルをクローズし、inode05aの内容を有すると、更新データGとHはそれぞれ未使用領域、キャッシュボリューム010103cのディスクブロック8と9に記憶され、inodeは修正され、図4に示されるinode05bのような内容を有するようになる。そして、ディスクブロック3と6の、それぞれデータCとFに対して、inode05bは、更新データGとHがデータボリューム010103d〜eのディスクブロック8と9に、それぞれ、記憶されることを示す。
本発明では、長期間のデータアーカイブを実施するために、元のデータCとF及び元の(古い)inode05は保持される。更に、本発明では、更新データGとHは未使用領域に記憶され、修正(新しい)inode05bが、例えば、データボリューム010103d〜eのディスクブロック10の他の未使用領域に記憶される。
SWFS0303によって実行されるステップは図5に示される。SWFS0303はVFSインタフェースを経由のNFS/CIFSサーバ0301からのファイルI/O要求を待つ(ステップ0903)。SWFS0303は受信するファイルI/O要求がどんなタイプのファイルI/O要求かをチェックする(ステップ0905)。ファイルI/O要求のタイプによって、次の要求の一つに対応するステップが実行される:(1)特定ファイルがオープンされるFILE_OPEN要求(ステップ0907);(2)特定ファイルがクローズされるFILE_CLOSE要求(ステップ0909);(3)データが特定ファイルから読まれるFILE_READ要求(ステップ0911);(4)データが特定ファイルに書かれるFILE_WRITE要求(ステップ0913);(5)特定ファイルが削除されるFILE_DELETE要求(ステップ0915);(6)ファイルが生成されるFILE_CREATE要求(ステップ0917);(7)特定ファイルのinodeの基本情報が変更されるCHANGE_ATTRIBUTE要求(ステップ0919);(8)保存期間が特定ファイルシステムに設定されるSET_RETENTION要求(ステップ0921);(9)特定ファイルのより古いバージョンが提供されるSHOW_OLD_VERSION要求(ステップ0923)。
図6はFILE_OPEN要求(ステップ0907)の詳細を示す。図6に示されるように、SWFSは現在のデータボリュームからNASコントローラのメモリへ特定ファイルのinodeを読み込む(ステップ1103)。SWFSはこのオープンされるファイルに対する参照としてFID(file descriptor;ファイル記述子)をNFS/CIFSサーバに戻し、ステップ0903に戻る(ステップ1105)。NFS/CIFSサーバはFIDを使用し、オープンされたファイルを後で特定する。
図7はFILE_READ要求(ステップ0911)の詳細を示す。図7に示されるように、SWFSはinodeのデータ配置情報を調べて、特定ファイルの要求領域がキャッシュボリュームまたはデータボリュームに記憶されているかをチェックする(ステップ1303)。もしも要求領域がキャッシュボリュームに記憶されていると、SWFSはキャッシュボリュームからNASコントローラのメモリへデータを読み込み(ステップ1305)、ステップ0903に戻る(ステップ1309)。NFS/CIFSサーバはメモリの位置を特定し、読み出しデータを記憶する。もしも要求領域がデータボリュームに記憶されていたら、SWFSはデータボリュームからNASコントローラのメモリへデータを読み込み(ステップ1307)、ステップ0903に戻る(ステップ1309)。
図8はFILE_WRITE要求(ステップ0913)の詳細を示す。図8に示されるように、SWFSは受信データを記憶するために十分な数の未使用ディスクブロックをキャッシュボリュームに配置する(ステップ1503)。SWFSは、ビットマップテーブルを使用してキャッシュボリュームとデータボリュームの両方に対してディスクブロックの配置を管理する。SWFSは、inodeがこれらの新しいディスクブロックを指し示すように、inodeのデータ配置情報を変更/修正する(ステップ1505)。このステップで、メモリ(例えば、キャッシュメモリ、レジスタ等)に記憶されるinodeだけが変更される。データボリュームに記憶されるinodeはこの時点では変更されない。ファイルがクローズされる時に、修正inodeはメモリからデータボリュームへ記憶される。SWFSは受信データを新しいディスクブロックに書き込み(ステップ1507)、ステップ0903に戻る(ステップ1509)。
図9aとbはFILE_CLOSE要求の詳細を示す。図9aに示されるように、SWFSは、キャッシュボリュームに更新データを記憶するために、十分な数の未使用ディスクブロックをデータボリュームに配置する(ステップ1703)。もしもSWFSが十分な数の未使用ディスクブロックを配置できなければ、これはデータボリュームがいっぱいであることを意味するが、SWFSはWORM_SET要求を実行し配置を再び試みる(ステップ1705と1707)。もしもSWFSが十分な数の未使用ディスクブロックを配置できると、SWFSは、キャッシュボリュームに記憶されinodeに指し示されるデータをデータボリュームの中の配置済ディスクブロックにコピーする(ステップ1709)。その後、SWFSは、inodeがこれらのディスクブロックを指し示すように、inodeのデータ配置情報を変更/修正する(ステップ1711)。
このステップで、メモリに記憶されるinodeだけが変更される。データボリュームに記憶されるinodeはこの時点では変更されない。SWFSはinodeの最後のアクセス時刻と最後の修正時刻のエントリを変更する(ステップ1713)。このステップで、メモリに記憶されるinodeだけが変更される。データボリュームに記憶されるinodeはこの時点では変更されない。図9bに示されるように、SWFSは、inodeを記憶するために十分な数の未使用ディスクブロックをデータボリュームに配置する(ステップ1715)。もしもSWFSが十分な数の未使用ディスクブロックを配置できなければ、SWFSはWORM_SET要求を実行し配置を再び試みる(ステップ1717と1719)。SWFSはデータボリュームに配置されるディスクブロックにinodeを書く(ステップ1721)。このステップによって、修正inodeはデータボリュームに記憶される。その後で、要求はステップ0903に戻る(ステップ1723)。
ファイルをクローズする時に実行されるステップの例として図4に注目が向けられる。図示されているように、ファイルがクローズされる前には、ファイルのある部分#1,2,4,5はデータボリュームに記憶され、ファイルの他の部分#3と6はキャッシュボリュームに記憶されている。inodeは、部分#3と6が修正され、それ故にキャッシュボリュームに記憶された状態を示す。ファイルがクローズされた後、部分#3と6のデータはデータボリュームに移動される。部分#3と6がデータボリュームに移動される時に、データボリュームの新しいデータブロック(ディスクブロック8と9)が配置される。その後に、inodeのデータ配置情報が修正される。データボリュームの未使用ディスクブロック#10はinodeを記憶するために使用される。
図10はWORM_SET要求の詳細を示す(ステップ1707と1717)。図10に示されるように、SWFSは、SWFSが現在使用しているデータボリュームに対する保存期間をWORM APIを使用して設定する(ステップ1903)。データボリュームを有するストレージシステムのディスクコントローラは保存期間を設定する要求を処理する。
保存期間が終了するまで、ディスクコントローラはボリュームに記憶されるデータのいかなる修正も許可しない。ディスクコントローラがNFS/CIFSサーバから書き込み要求を受信すると、ディスクコントローラは要求を無視するか、またはエラーをNFS/CIFSサーバに返す。保存期間はNFS/CIFSサーバまたはNASシステムの管理ソフトウェアツールによって指定される。NFS/CIFSサーバと管理ソフトウェアは、ファイルシステムまたはデータボリュームに対する保存期間情報を設定するために、SWFSの専用APIを使用する。SET_RETENTION要求は保存期間を設定するために呼び出され、SWFSは要求を処理する。これは図14に関して以下に説明される。保存期間情報は図15に示される保存期間テーブル29によって管理される。
図15に示される保存期間テーブルは6列、すなわち物理ボリューム2901、ファイルシステム2903、配置済2905、残存期間2907、WORM可能2909、保存期間2911を有する。物理ボリューム2901はNASコントローラがアクセスできるデータボリュームのリストを示す。ファイルシステム2903はデータボリュームが配置されるファイルシステムの名前を示す。一つのファイルシステムは複数のデータボリュームを使用できる。データボリュームは鎖状につながれる。論理ボリュームマネージャはこの要求に対して使用できる。配置済2905列の欄は、データボリュームが特定のファイルシステムに配置されているかまたは未配置かを示す。残存期間2907はデータボリュームに対する保存期間の残存する長さを示す。データボリュームがデータで満たされる時に、データボリュームは書き込み禁止される。
WORM可能2909はデータボリュームが書き込み禁止かまたは禁止でないかを示す。保存期間2911はデータが変更されない期間の長さを示す。SWFSは、図10に示されるようにファイルシステムの容量を増やすためにどのファイルシステムにも使用されていない新しいデータボリュームを配置する(ステップ1905)。その後に、要求はステップ0903に戻る(ステップ1907)。このように、SWFSは保存期間テーブル(29)を使用してデータボリューム配置を管理する。
図11はCHANGE_ATTRIBUTE要求(ステップ0919)の詳細を示す。図11に示されるように、SWFSは受信情報をinodeの基本情報のエントリに設定する(ステップ2103)。その後に、要求はステップ0903に戻る(ステップ2105)。
図12はFILE_DELETE要求(ステップ0915)の詳細を示す。図12に示されるように、SWFSは特定ファイルが含まれるディレクトリをオープンする(ステップ2303)。ディレクトリは特別なタイプのファイルである。ディレクトリファイルは、ディレクトリに置かれるファイルの名前とこれらのファイルに対するinodeのリストを管理するテーブルである。ファイルを生成することはディレクトリファイルに新しいエントリを追加することを意味する。ファイルを削除することはディレクトリからエントリを削除することを意味する。ファイルを生成することまたは削除することはファイルが位置するディレクトリを変更することを要求する。しかし、この変更は修正ディレクトリの上位レベルのディレクトリに影響しない。
SWFSはそれ自身の要求を使用してディレクトリをオープン、読み、書き、削除する。SWFSは特定ファイルのエントリをオープンされているディレクトリから削除する(ステップ2305)。SWFSはディレクトリを修正するので、この修正は未使用ディスクブロックに記憶され、これはSWFSがファイルだけでなくディレクトリに関してもデータの重ね書きを許可しないためである。SWFSはディレクトリをクローズする(ステップ2307)。SWFSは特定ファイルのinodeの配置を解除する(ステップ2309)。その後に、要求はステップ0903に戻る(ステップ2311)。
図13はFILE_CREATE要求(ステップ0917)の詳細を示す。図13に示されるように、SWFSはいかなるファイルにも使用されていない新しいinodeを配置する(ステップ2503)。SWFSは特定ファイルが置かれるディレクトリをオープンする(ステップ2505)。SWFSは特定ファイルに対する新しいエントリと配置済inodeをオープンされたディレクトリファイルに追加する(ステップ2507)。SWFSはディレクトリファイルをクローズする(ステップ2509)。その後に、要求はステップ0903に戻る(ステップ2511)。
図14はSET_RETENTION_REQUEST要求(ステップ0921)の詳細を示す。図14に示されるように、SWFSは特定のデータボリュームに対する特定の保存期間情報を保存期間テーブル(29)に設定する。NFS/CIFSサーバまたは管理ソフトウェアツールは各データボリュームまたは各ファイルシステムに対して保存期間を指定する。ファイルシステムの場合、SWFSは特定のファイルシステムに配置された全てのデータボリュームに対して保存期間情報を設定する(ステップ2703)。その後に、要求はステップ0903に戻る(ステップ2705)。
図17はSHOW_OLD_VERSION要求(ステップ0923)の詳細を示す。図17に示されるように、SWFSはデータボリュームから特定のファイルに対する全ての古いinodeを捜す(見つけようと試みる)(ステップ3303)。たとえファイルが何回も修正されるかまたは削除されていても、ファイルの全てのバージョンとそのinodeはデータボリュームにまだ保持されている。inode検索を加速するために、SWFSはinodeとデータボリュームの中のその位置のリストを図16に示されるデータボリュームの最後に記憶できる。SWFSがデータボリュームのinodeリストだけを検索すれば十分なので、inode検索はデータボリュームの全体を検索するより速く終了する。
図16に示される例では、データボリューム3101は4個のファイル、ファイルA(古いバージョン)3103、ファイルB3107、ファイルA(新しいバージョン)3111、ファイルC3115を有する。各ファイルに対してinode3105、3109、3113、3117がある。データボリュームの最後にあるinodeリスト3119はデータボリュームのinode位置を示す。SWFSはinodeリストを記憶するために各データボリュームにスペースを確保する。SWFSは、最後の修正時刻がNFS/CIFSサーバまたは管理ソフトウェアツールで指定される時刻に最も近く、最後の修正時刻が指定された時刻を過ぎないinodeを見つける(ステップ3305)。ユーザがアクセスしたいファイルを特定するための多くの方法がある。一つの例はファイルの名前と時刻を特定することである。
以下はSHOW_OLD_VERSIONインタフェースの例である:
(ケース1) show_old_version([INPUT]file_name, [INPUT]time, [OUTPUT]result)
file_name: a name of a file
time: time at which the specified file was
result: a path name of the file
次のAPIはファイルを特定する他の方法である:
(ケース2) show_old_version([INPUT]directory_name, [INPUT]time, [OUTPUT]result)
directory_name: a name of a directory
time: time at which the specified directory and any files and sub directories under the directory was
result: a path name of the directory. All of files and subdirectories in the directory at the specified time are copied to Cache Volume.
(ケース3) show_old_version([INPUT]name, [OUTPUT]result)
name: a name of a file or a directory
result: all versions of a specified file or a directory
SWFSはinodeで指し示すファイルをデータボリュームからキャッシュボリュームにコピーする(ステップ3307)。あるいは、キャッシュのinodeを、時間浪費であるかもしれないこのコピーオペレーションを避けるために、データボリュームを指し示すように設定することができる。ファイルをキャッシュボリュームにコピーすることは必要ない。NFS/CIFSサーバはデータボリュームディレクトリに記憶されるファイルをアクセスできる。SWFSはファイルの名前とキャッシュボリュームの中のその位置をNFS/CIFSサーバまたは管理ソフトウェアツールに戻す(ステップ3309)。あるいは、ユーザがファイルの名前を指定できる。その後に、要求はステップ0903に戻る(ステップ3311)。
(ケース1) show_old_version([INPUT]file_name, [INPUT]time, [OUTPUT]result)
file_name: a name of a file
time: time at which the specified file was
result: a path name of the file
次のAPIはファイルを特定する他の方法である:
(ケース2) show_old_version([INPUT]directory_name, [INPUT]time, [OUTPUT]result)
directory_name: a name of a directory
time: time at which the specified directory and any files and sub directories under the directory was
result: a path name of the directory. All of files and subdirectories in the directory at the specified time are copied to Cache Volume.
(ケース3) show_old_version([INPUT]name, [OUTPUT]result)
name: a name of a file or a directory
result: all versions of a specified file or a directory
SWFSはinodeで指し示すファイルをデータボリュームからキャッシュボリュームにコピーする(ステップ3307)。あるいは、キャッシュのinodeを、時間浪費であるかもしれないこのコピーオペレーションを避けるために、データボリュームを指し示すように設定することができる。ファイルをキャッシュボリュームにコピーすることは必要ない。NFS/CIFSサーバはデータボリュームディレクトリに記憶されるファイルをアクセスできる。SWFSはファイルの名前とキャッシュボリュームの中のその位置をNFS/CIFSサーバまたは管理ソフトウェアツールに戻す(ステップ3309)。あるいは、ユーザがファイルの名前を指定できる。その後に、要求はステップ0903に戻る(ステップ3311)。
データボリュームに書き込み禁止を設定する他のタイミングがある。上記において、このタイミングはデータボリュームがファイルで満たされる時点である。他の方法は時間をベースとするものである。SWFSは第一のファイルがデータボリュームに記憶される時に印を付け、指定された時間が印の時点から経過すると、SWFSはデータボリュームに対して書き込み禁止を設定し新しいデータボリュームを使用する。時々、データボリュームが、長い時間、ファイルで満たされないことがある。すると、時間ベースの書き込み禁止が有効となる。
SWFSはいかなるデータの修正もなくデータボリュームにデータを連続的に書くので、ポインターベースのLDEV保護機能をSWFSに結び付けることが可能である。ポインターベースのLDEV保護はデータボリュームの一部を保護する。この部分はデータボリュームの第一のディスクブロックから始まり、ポインタで指定されるディスクブロックで終わる。データがポインタで指定されたディスクブロックに書かれると、ポインタは次のディスクブロックに移る。保存期間が各データボリュームまたは各ファイルシステムに対して設定できることを注意することは重要である。
上記に記述される本発明の機能を使用して、いろいろなNASシステム構成が提供されることが可能である。これらのNASシステム構成は以下に記述される。
NASシステムはファイルをデータボリュームに記憶し、更新ファイルをデータボリュームの未使用領域に記憶し、元のファイルとその関連のメタデータを保持する。もしもボリュームがファイルでいっぱいでNASシステムのもとでストレージシステムの機能を使用してデータボリュームを書き込み禁止にするならば、上記に記述されるNASシステムはまたデータボリュームを書き込み禁止にできる。
NASシステムはまたデータボリュームの始めからデータボリュームの最後まで連続的にデータボリュームにファイルを書くことができ、データがディスクブロックに記憶された時にディスクブロックを書き込み禁止にできる。更に、NASシステムは、第一のファイルがデータボリュームに生成された時点から特定の時間が経過した時点にデータボリュームを書き込み禁止にでき、ファイルがクローズされるまでキャッシュボリュームに修正ファイルを記憶できる。一度修正ファイルが記憶されると、ファイルがクローズされた後に、記憶された修正ファイルはキャッシュボリュームからデータボリュームに移動される。
更に、キャッシュボリュームとデータボリュームのファイルの位置はファイルに関連するメタデータを使用して保持される。NASシステムがいっぱいのデータボリュームを書き込み禁止にする時に、もしもデータボリュームがファイルとメタデータでいっぱいならば、新しいデータボリュームがファイルシステムに配置される。
NASシステムはデータボリュームのファイルとディレクトリの古いバージョンを示すことができ、ファイルの名前、ディレクトリの名前、あるいは時間を指定することによって、ファイルとディレクトリの選択されたバージョンを示すことができる。NASシステムが満杯のデータボリュームを書き込み禁止にする時に、保存期間が各データボリュームと各ファイルシステムに対して設定される。その後、保存期間が終了したら、NASシステムはデータボリュームとファイルシステムの書き込み禁止を解除できる。
NASシステムがデータボリュームのファイルとディレクトリの古いバージョンを示す時に、ファイルの古いバージョンはキャッシュボリュームにコピーでき、ファイルへのアクセスはユーザに提供できる。更に、NASシステムはデータボリュームのinodeの位置のリストをデータボリュームの特定領域に保存する。
いろいろな構成で上記に記述されるNASシステムは、ファイルレベルの入力/出力(I/O)要求を処理しNASシステムを制御するNASコントローラと、コントローラとデータを記憶するための複数のボリュームが構成されるストレージデバイスを有するストレージ装置を含む。コントローラはストレージデバイスを制御する。
従って、本発明によって、少なくとも一つのボリュームに含まれるボリュームに記憶されるデータの少なくとも一つの部分が更新される時に、更新データはボリュームの未使用領域に記憶され、更新データの元のデータへの引き続くアクセスが未使用領域に記憶される更新データに向けられるように、元の領域に記憶される元のデータに対応する更新データが未使用領域に記憶されることを示す情報はボリュームに記憶され、更新データの元のデータは元の領域に保持される。それ故、本発明を使用して、更新データの元のデータの長期間のデータアーカイブが実施される。
本発明は好適な実施例について記述されたが、本発明の精神と範囲から離れることなく、多くの修正ができることを理解すべきである。そのようなすべての修正は添付の特許請求の範囲であることが意図される。
010501 サーバ
010503 サーバ
010505 サーバ
0103 LAN
0101 NASシステム
010101 NASコントローラ
010101d NIC
010101a CPU
010101b メモリ
010101c HBA
010105 FC
010103 ストレージシステム
010103f インタフェース
010103a ディスクコントローラ
010103b キャッシュメモリ
010103g ディスクアダプタ
010103c キャッシュボリューム
010103d データボリューム
010103e データボリューム
010503 サーバ
010505 サーバ
0103 LAN
0101 NASシステム
010101 NASコントローラ
010101d NIC
010101a CPU
010101b メモリ
010101c HBA
010105 FC
010103 ストレージシステム
010103f インタフェース
010103a ディスクコントローラ
010103b キャッシュメモリ
010103g ディスクアダプタ
010103c キャッシュボリューム
010103d データボリューム
010103e データボリューム
Claims (24)
- ファイルレベルの入力/出力(I/O)要求を処理し、NAS(NetWork Attached Storage;ネットワーク接続ストレージ)システムを制御するNASコントローラと、
コントローラと該コントローラで制御されデータを記憶するための複数のボリュームで表されるストレージデバイスを有するストレージ装置と
を有し、
ボリュームに含まれ前記ボリュームに記憶されるファイルの少なくとも一つの部分が更新される時に、更新データは前記ボリュームの未使用領域に記憶され、前記更新データの元のデータへの引き続くアクセスが未使用領域に記憶される前記更新データに向けられるように、元の領域に記憶される前記元のデータに対応する前記更新データが前記未使用領域に記憶されることを示す情報が前記ボリュームに記憶され、
更新データの前記元のデータは前記元の領域に保持され、これにより前記更新データの前記元のデータの長期間のデータアーカイブを実施する
ことを特徴とする長期間のデータアーカイブを実施するためのNASシステム。 - 前記ボリュームがキャッシュボリュームと少なくとも一つのデータボリュームを含むことを特徴とする請求項1に記載のNASシステム。
- 前記NASシステムが、サーバと前記NASシステムの間に接続されるネットワークを通して前記サーバから前記ファイルレベルのI/O要求を受信することを特徴とする請求項1に記載のNASシステム。
- 各サーバはアプリケーションプログラムを実行し、前記ネットワークを通して前記NASシステムへのファイルレベルのアクセスを前記アプリケーションプログラムに提供するために、前記サーバのオペレーティングシステムのVFS(Virtual File System)層のもとに存在するNFS(Network File System)を含むことを特徴とする請求項3に記載のNASシステム。
- 各サーバはアプリケーションプログラムを実行し、前記ネットワークを通して前記NASシステムへのファイルレベルのアクセスを前記アプリケーションプログラムに提供するために、前記サーバのオペレーティングシステムのVFS(Virtual File System)層のもとに存在するCIFS(Common Interface File System)を含むことを特徴とする請求項3に記載のNASシステム。
- NFSまたはCIFSファイルI/O要求を処理するNFS/CIFSサーバと、
前記NASコントローラのオペレーティングシステムのVFS層のもとに存在し、前記NFS/CIFSサーバによって処理されるファイルI/O要求によって要求されるファイルを管理するためのSWFS(Sequential Write File System)と
を前記NASコントローラが有することを特徴とする請求項4または5の一つに記載のNASシステム。 - 前記のSWFSが、
(a)一度ファイルがデータボリュームに書かれると、前記データボリュームにファイルを決して重ね書きしない;
(b)もしもデータボリュームに記憶されるファイルが修正される必要があると、前記データボリュームに前記の元のファイルを保持し、前記データボリュームの他の未使用位置に修正ファイルを書く;
(c)データボリュームの第一のオフセットから最後のオフセットまで連続的にデータを書く;
(d)データボリュームがデータで満たされると、前記ボリュームを保護し、他のデータを書くまたはデータを更新するために他のデータボリュームを使用する;
(e)もしもデータボリュームに設定された保存期間が終了すると、前記データボリュームに記憶されたファイルを保持するかまたは削除するかをユーザが決めることを許可する
ことによって、ファイルを管理することを特徴とする請求項6に記載のNASシステム。 - 請求項7の(d)によって、前記ボリュームが、WORM(Write Once Read Many)API(Application Program Interface)を使用して保護されることを特徴とする請求項7に記載のNASシステム。
- 更新データが該更新データの元のデータの元の領域に記憶される前記未使用領域に関係する前記ボリュームに記憶される前記情報が、前記ファイルに関する情報を含むデータ構造を有するinodeであることを特徴とする請求項1に記載のNASシステム。
- ファイルシステムが生成される時に、異なったinodeが各ファイルに対して生成されることを特徴とする請求項9に記載のNASシステム。
- 各inodeはファイルに関する基本的な情報と該ファイルのデータ配置情報を含み、
前記基本的な情報は、前記inode、前記ファイルのサイズ、前記ファイルが最後に修正された時刻を識別する情報を少なくとも有し、
前記ボリュームは複数のディスクブロックに分割され、
前記データ配置情報は前記ファイルが記憶される前記ボリュームの前記ディスクブロックを識別する情報を少なくとも有することを特徴とする請求項10に記載のNASシステム。 - 前記ファイルのデータの少なくとも一部が更新され、前記ファイルがクローズされる前に、前記ファイルの前記inodeは、更新データが記憶される未使用領域のディスクブロックを識別するために修正されることを特徴とする請求項11に記載のNASシステム。
- 修正inodeと該修正inodeの元のinodeは、該修正inodeがファイルのinodeとして使用され、該修正inodeの該元のinodeがアーカイブされるようにボリュームに記憶されることを特徴とする請求項11に記載のNASシステム。
- 前記SWFSは前記NFS/CIFSサーバによって処理されるファイルI/O要求を受信すると、前記ファイルI/O要求は、特定ファイルがオープンされるFILE_OPEN要求、特定ファイルがクローズされるFILE_CLOSE要求、データが特定ファイルから読まれるFILE_READ要求、データが特定ファイルに書かれるFILE_WRITE要求、特定ファイルが削除されるFILE_DELETE要求、ファイルが生成されるFILE_CREATE要求、特定ファイルのinodeの基本的情報が変更されるCHANGE_ATTRIBUTE要求、保存期間が特定ファイルシステムに設定されるSET_RETENTION要求、特定ファイルの古いバージョンが提供されるSHOW_OLD_VERSION要求の中の一つであるかを決定することを特徴とする請求項6に記載のNASシステム。
- 前記ファイルI/O要求がFILE_OPEN要求の時に、前記SWFSは特定ファイルのinodeを現在のデータボリュームから前記NASコントローラのメモリに読み込み、FID(file descriptor:ファイル記述子)をオープンされるファイルに対する参照として、オープンされるファイルを特定するためにFIDを使用する前記NFS/CIFSサーバに戻すことを特徴とする請求項14に記載のNASシステム。
- 前記ファイルI/O要求がFILE_READ要求の時に、前記SWFSは、前記ファイルのinodeのデータ配置情報を調べることによって前記ファイルの要求領域がキャッシュボリュームとデータボリュームのどちらに記憶されているかをチェックし、もしも前記要求領域がキャッシュボリュームに記憶されているならば、前記SWFSはキャッシュボリュームから前記NASコントローラのメモリにデータを読み込み、前記NFS/CIFSサーバは読み込みデータを記憶するメモリの位置を指定し、前記SWFSはデータボリュームから前記NASコントローラのメモリにデータを読み込むことを特徴とする請求項14に記載のNASシステム。
- 前記ファイルI/O要求がFILE_WRITE要求の時に、前記SWFSは、受信データを記憶するためにキャッシュボリュームに充分な数の未使用ディスクブロックを配置し、ビットマップテーブルを使用してキャッシュボリュームとデータボリュームの両方に対するディスクブロックの配置を管理し、inodeが未使用ディスクブロックを指し示すように前記ファイルのinodeのデータ配置情報を修正し、受信データを未使用ディスクブロックに書くことを特徴とする請求項14に記載のNASシステム。
- 前記ファイルI/O要求がFILE_CLOSE要求の時に、前記SWFSはキャッシュボリュームに更新データを記憶するためにデータボリュームに充分な数の未使用ディスクブロックを配置し、もしも充分な数のディスクブロックが未使用ならば、前記SWFSはキャッシュボリュームに記憶され、前記ファイルのinodeによって指し示されるデータをデータボリュームの配置ディスクブロックにコピーし、前記inodeが未使用ディスクブロックを指し示すように前記inodeのデータ配置情報を修正し、前記修正inodeを記憶するためにデータボリュームに充分な数の未使用ディスクブロックを配置し、もしも充分な数のディスクブロックが未使用ならば前記SWFSはデータボリュームの配置ディスクブロックに該修正inodeを書くことを特徴とする請求項14に記載のNASシステム。
- もしも充分な数の未使用ディスクブロックがなければ、データボリュームが保護され、保存期間が設定され、書き込みオペレーションが実施される新しいデータボリュームが配置されることを特徴とする請求項18に記載のNASシステム。
- 前記のファイルI/O要求がCHANGE_ATTRIBUTE要求の時に、前記SWFSは前記ファイルの前記inodeの基本的情報エントリに受信情報を設定することを特徴とする請求項14に記載のNASシステム。
- 前記ファイルI/O要求がFILE_DELETE要求の時に、前記SWFSは前記ファイルが含まれるディレクトリをオープンし、前記オープンされたディレクトリファイルから前記ファイルに対するエントリを削除し、前記ファイルの前記ディレクトリをクローズし、前記ファイルの前記inode配置を解除することを特徴とする請求項14に記載のNASシステム。
- 前記ファイルI/O要求がFILE_CREATE要求の時に、前記SWFSはいかなるファイルにも未使用な新しいinodeを配置し、前記ファイルが置かれるディレクトリをオープンし、オープンされたディレクトリに該ファイルに対する新しいエントリと配置されたinodeを追加し、ディレクトリをクローズすることを特徴とする請求項14に記載のNASシステム。
- 前記ファイルI/O要求がSET_RETENTION_REQUEST要求の時に、前記SWFSはファイルシステムに配置された全てのデータボリュームに対して保存期間情報を設定することを特徴とする請求項14に記載のNASシステム。
- 前記ファイルI/O要求がSHOW_OLD_VERSION要求の時に、前記SWFSはデータボリュームから前記ファイルの古いinodeを見つけて、NFS/CIFSサーバが指定する時刻に最も近い修正時刻を有しかつ指定された時刻を過ぎない最後の修正時刻を有するinodeを見つけて、該inodeで指し示されるファイルをデータボリュームからキャッシュボリュームにコピーし、前記ファイルの名前と前記キャッシュボリュームの中の位置を前記NFS/CIFSサーバに戻すことを特徴とする請求項14に記載のNASシステム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/886,646 US7353242B2 (en) | 2004-07-09 | 2004-07-09 | File server for long term data archive |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006048641A true JP2006048641A (ja) | 2006-02-16 |
Family
ID=35542618
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005136800A Pending JP2006048641A (ja) | 2004-07-09 | 2005-05-10 | 長期間データアーカイブ用ファイルサーバ |
Country Status (2)
Country | Link |
---|---|
US (1) | US7353242B2 (ja) |
JP (1) | JP2006048641A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008242539A (ja) * | 2007-03-26 | 2008-10-09 | Mitsubishi Electric Corp | データ処理装置及びデータ処理方法及びプログラム |
JP2008262565A (ja) * | 2007-04-11 | 2008-10-30 | Samsung Electronics Co Ltd | データを書き込み及び読み取りするシステム、メモリ装置、方法、およびコンピュータで読み取り可能な媒体 |
KR101623631B1 (ko) | 2011-04-12 | 2016-05-23 | 아마데우스 에스.에이.에스. | 캐시 메모리 구조 및 방법 |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7315965B2 (en) | 2004-02-04 | 2008-01-01 | Network Appliance, Inc. | Method and system for storing data using a continuous data protection system |
US20050182910A1 (en) * | 2004-02-04 | 2005-08-18 | Alacritus, Inc. | Method and system for adding redundancy to a continuous data protection system |
US7783606B2 (en) | 2004-02-04 | 2010-08-24 | Netapp, Inc. | Method and system for remote data recovery |
US7559088B2 (en) * | 2004-02-04 | 2009-07-07 | Netapp, Inc. | Method and apparatus for deleting data upon expiration |
US7426617B2 (en) * | 2004-02-04 | 2008-09-16 | Network Appliance, Inc. | Method and system for synchronizing volumes in a continuous data protection system |
US7720817B2 (en) | 2004-02-04 | 2010-05-18 | Netapp, Inc. | Method and system for browsing objects on a protected volume in a continuous data protection system |
US7904679B2 (en) * | 2004-02-04 | 2011-03-08 | Netapp, Inc. | Method and apparatus for managing backup data |
US8028135B1 (en) | 2004-09-01 | 2011-09-27 | Netapp, Inc. | Method and apparatus for maintaining compliant storage |
US20060123232A1 (en) * | 2004-12-08 | 2006-06-08 | International Business Machines Corporation | Method for protecting and managing retention of data on worm media |
US7774610B2 (en) * | 2004-12-14 | 2010-08-10 | Netapp, Inc. | Method and apparatus for verifiably migrating WORM data |
US7581118B2 (en) * | 2004-12-14 | 2009-08-25 | Netapp, Inc. | Disk sanitization using encryption |
US7801863B2 (en) * | 2005-03-04 | 2010-09-21 | Microsoft Corporation | Method and computer-readable medium for formula-based document retention |
US20060206484A1 (en) * | 2005-03-14 | 2006-09-14 | Hitachi, Ltd. | Method for preserving consistency between worm file attributes and information in management servers |
JP4550648B2 (ja) * | 2005-04-08 | 2010-09-22 | 株式会社日立製作所 | 計算機システム |
EP1875393B1 (en) * | 2005-04-25 | 2015-08-05 | NetApp, Inc. | Architecture for supporting sparse volumes |
US7386559B1 (en) * | 2005-05-23 | 2008-06-10 | Symantec Operating Corporation | File system encapsulation |
US7752401B2 (en) * | 2006-01-25 | 2010-07-06 | Netapp, Inc. | Method and apparatus to automatically commit files to WORM status |
US7634517B1 (en) * | 2006-02-10 | 2009-12-15 | Google Inc. | System and method for dynamically updating a document repository without interrupting concurrent querying |
US7711995B1 (en) * | 2006-06-23 | 2010-05-04 | Alan Morris | Method and system for digital preservation having long term error-free storage, retrieval, and interpretation of digital files |
US20080133543A1 (en) * | 2006-12-01 | 2008-06-05 | General Instrument Corporation | System and Method for Dynamic and On-Demand Data Transfer and Synchronization Between Isolated Networks |
US8176405B2 (en) * | 2007-09-24 | 2012-05-08 | International Business Machines Corporation | Data integrity validation in a computing environment |
US20090125572A1 (en) * | 2007-11-14 | 2009-05-14 | International Business Machines Corporation | Method for managing retention of data on worm disk media based on event notification |
JP5320557B2 (ja) * | 2008-03-25 | 2013-10-23 | 株式会社日立製作所 | ストレージシステム |
US8392386B2 (en) * | 2009-08-05 | 2013-03-05 | International Business Machines Corporation | Tracking file contents |
EP2652588A1 (en) * | 2011-04-08 | 2013-10-23 | Hitachi, Ltd. | Information processing system and data processing method |
US8595189B2 (en) * | 2012-03-14 | 2013-11-26 | Symantec Corporation | Method and system for implementing fast incremental backups |
US9892199B2 (en) * | 2013-12-20 | 2018-02-13 | Lenovo (Singapore) Pte. Ltd. | Specialized virtual personal assistant setup |
CN107251040B (zh) * | 2014-12-24 | 2021-07-23 | 迈克菲有限公司 | 用于自动创建和访问偏好个人云数据的机制 |
US10831719B2 (en) * | 2017-08-29 | 2020-11-10 | Western Digital Technologies, Inc. | File consistency in shared storage using partial-edit files |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5163131A (en) * | 1989-09-08 | 1992-11-10 | Auspex Systems, Inc. | Parallel i/o network file server architecture |
US5555371A (en) | 1992-12-17 | 1996-09-10 | International Business Machines Corporation | Data backup copying with delayed directory updating and reduced numbers of DASD accesses at a back up site using a log structured array data storage |
US5974503A (en) * | 1997-04-25 | 1999-10-26 | Emc Corporation | Storage and access of continuous media files indexed as lists of raid stripe sets associated with file names |
US6016553A (en) | 1997-09-05 | 2000-01-18 | Wild File, Inc. | Method, software and apparatus for saving, using and recovering data |
US7107395B1 (en) | 1998-12-31 | 2006-09-12 | Emc Corporation | Apparatus and methods for operating a computer storage system |
US6397308B1 (en) | 1998-12-31 | 2002-05-28 | Emc Corporation | Apparatus and method for differential backup and restoration of data in a computer storage system |
US7010554B2 (en) * | 2002-04-04 | 2006-03-07 | Emc Corporation | Delegation of metadata management in a storage system by leasing of free file system blocks and i-nodes from a file system owner |
US6625750B1 (en) * | 1999-11-16 | 2003-09-23 | Emc Corporation | Hardware and software failover services for a file server |
US6434681B1 (en) | 1999-12-02 | 2002-08-13 | Emc Corporation | Snapshot copy facility for a data storage system permitting continued host read/write access |
US6460055B1 (en) | 1999-12-16 | 2002-10-01 | Livevault Corporation | Systems and methods for backing up data files |
US6718372B1 (en) * | 2000-01-07 | 2004-04-06 | Emc Corporation | Methods and apparatus for providing access by a first computing system to data stored in a shared storage device managed by a second computing system |
US6564228B1 (en) * | 2000-01-14 | 2003-05-13 | Sun Microsystems, Inc. | Method of enabling heterogeneous platforms to utilize a universal file system in a storage area network |
WO2001071508A1 (en) | 2000-03-22 | 2001-09-27 | Interwoven Inc. | Method of and apparatus for recovery of in-progress changes made in a software application |
US6938039B1 (en) * | 2000-06-30 | 2005-08-30 | Emc Corporation | Concurrent file across at a target file server during migration of file systems between file servers using a network file system access protocol |
US6507890B1 (en) * | 2000-09-29 | 2003-01-14 | Emc Corporation | System and method for expanding a log structure in a disk array |
US6434683B1 (en) | 2000-11-07 | 2002-08-13 | Storage Technology Corporation | Method and system for transferring delta difference data to a storage device |
US6931450B2 (en) * | 2000-12-18 | 2005-08-16 | Sun Microsystems, Inc. | Direct access from client to storage device |
US6587933B2 (en) | 2001-01-26 | 2003-07-01 | International Business Machines Corporation | Method, system, and program for discarding data in a storage system where updates to a primary storage device are shadowed in a secondary storage device |
US7210005B2 (en) * | 2002-09-03 | 2007-04-24 | Copan Systems, Inc. | Method and apparatus for power-efficient high-capacity scalable storage system |
US7155460B2 (en) * | 2003-03-18 | 2006-12-26 | Network Appliance, Inc. | Write-once-read-many storage system and method for implementing the same |
US7953819B2 (en) * | 2003-08-22 | 2011-05-31 | Emc Corporation | Multi-protocol sharable virtual storage objects |
US7627617B2 (en) * | 2004-02-11 | 2009-12-01 | Storage Technology Corporation | Clustered hierarchical file services |
-
2004
- 2004-07-09 US US10/886,646 patent/US7353242B2/en not_active Expired - Fee Related
-
2005
- 2005-05-10 JP JP2005136800A patent/JP2006048641A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008242539A (ja) * | 2007-03-26 | 2008-10-09 | Mitsubishi Electric Corp | データ処理装置及びデータ処理方法及びプログラム |
JP2008262565A (ja) * | 2007-04-11 | 2008-10-30 | Samsung Electronics Co Ltd | データを書き込み及び読み取りするシステム、メモリ装置、方法、およびコンピュータで読み取り可能な媒体 |
KR101623631B1 (ko) | 2011-04-12 | 2016-05-23 | 아마데우스 에스.에이.에스. | 캐시 메모리 구조 및 방법 |
Also Published As
Publication number | Publication date |
---|---|
US20060010177A1 (en) | 2006-01-12 |
US7353242B2 (en) | 2008-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2006048641A (ja) | 長期間データアーカイブ用ファイルサーバ | |
US9606740B2 (en) | System, method and computer program product for synchronizing data written to tape including writing an index into a data partition | |
US8171244B2 (en) | Methods for implementation of worm mode on a removable disk drive storage system | |
US10649954B2 (en) | Selective extraction of information from a mirrored image file | |
US7386552B2 (en) | Methods of migrating data between storage apparatuses | |
US7979478B2 (en) | Data management method | |
US7546324B2 (en) | Systems and methods for performing storage operations using network attached storage | |
JP4776342B2 (ja) | ストレージシステムでオブジェクトレベルのスナップショットを生成するシステムと方法 | |
US7593973B2 (en) | Method and apparatus for transferring snapshot data | |
US8135677B2 (en) | File management system and method | |
US9449007B1 (en) | Controlling access to XAM metadata | |
JP2005115948A (ja) | ファイルをアーカイブするための方法、システム、およびプログラム | |
US8156292B2 (en) | Methods for implementation of data formats on a removable disk drive storage system | |
US20060277226A1 (en) | System and method for controlling storage of electronic files | |
US20060047923A1 (en) | Method and system for data lifecycle management in an external storage linkage environment | |
JP4837378B2 (ja) | データの改竄を防止する記憶装置 | |
EP1586988A2 (en) | Information processing apparatus, information processing method, program and recording medium used therewith | |
KR101369813B1 (ko) | 광 디스크 저장 시스템에 저장된 미디어에의 액세스, 압축 및 추적 | |
JP2000298554A (ja) | Raidデータ記憶システムにおける瞬時バックアップを提供する方法及びシステム | |
JP2007265403A (ja) | 階層型ストレージシステム間でのリモートミラー方式 | |
US20070220205A1 (en) | Nas with worm function | |
Silberschatz et al. | Operating systems | |
US20150220565A1 (en) | System, method and computer program product for controlling file migration in archiving systems | |
JP2008090378A (ja) | ハイブリッドファイルシステム、オペレーティングシステム、キャッシュ制御方法および記録媒体 | |
JP2005267599A (ja) | ストレージエリアネットワークとネットワークアタチドストレージの混在環境でのデータの書き込み保護 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20060425 |