JP5343166B2 - 通信ネットワークを介してリモートのファイルサーバにファイルを転送するローカルのファイルサーバ、及び、それらのファイルサーバを有するストレージシステム - Google Patents

通信ネットワークを介してリモートのファイルサーバにファイルを転送するローカルのファイルサーバ、及び、それらのファイルサーバを有するストレージシステム Download PDF

Info

Publication number
JP5343166B2
JP5343166B2 JP2012517065A JP2012517065A JP5343166B2 JP 5343166 B2 JP5343166 B2 JP 5343166B2 JP 2012517065 A JP2012517065 A JP 2012517065A JP 2012517065 A JP2012517065 A JP 2012517065A JP 5343166 B2 JP5343166 B2 JP 5343166B2
Authority
JP
Japan
Prior art keywords
file
file server
storage device
request
replicated
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
JP2012517065A
Other languages
English (en)
Other versions
JPWO2011148496A1 (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
Publication of JPWO2011148496A1 publication Critical patent/JPWO2011148496A1/ja
Application granted granted Critical
Publication of JP5343166B2 publication Critical patent/JP5343166B2/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
    • 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/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/113Details of archiving
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/178Techniques for file synchronisation in file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/184Distributed file systems implemented as replicated file system
    • G06F16/1844Management specifically adapted to replicated file 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/0647Migration mechanisms
    • G06F3/0649Lifecycle management
    • 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/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • 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/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes

Description

本発明は、通信ネットワークを介してファイルを転送し記憶する記憶制御に関する。
従来、企業や個人が自費でサーバやソフトウェアを購入し、これを利用する形態が主流であったが、TCO(Total Cost of Ownership)を削減するため、インターネット経由でサーバやソフトウェアを利用するクラウドコンピューティングが広まる傾向にある。
クラウドコンピューティングの一例として、特許文献1には、ストレージ装置をインターネット経由で利用可能にする発明(以降、クラウドストレージ装置と呼ぶ)が記載されている。
さらに、特許文献2には、複数のストレージ装置が組み合わされた階層ストレージシステムに関する発明が記載されている。
特開2009−110401号公報 特開2009−289252号公報
上記従来技術では、クラウドストレージ装置内のファイルへのアクセスのためには、インターネットを経由してアクセスする必要がある。このため、データの転送遅延が生じ、アクセススピードが遅くなる。
また、ファイルをクラウドストレージ装置に格納するか、ローカルのストレージ装置に格納するかの判断がユーザ任せになっている。クラウドストレージ装置に格納されたファイルへのアクセススピードは、上記の通り、遅い。
そのため、ユーザは、ローカルのストレージ装置を拡張することで、クラウドストレージ装置の代わりにローカルのストレージ装置にデータを格納してしまう傾向にある。その結果、クラウドストレージ装置の利用機会が減ってしまい、結局、TCOが削減できないという問題がある。
そこで、ファイルをローカルのストレージ装置に格納するか、クラウドストレージ装置に格納するかをユーザに委ねることなく適切に判断することが好ましい。しかし、そうすると、ユーザが利用するファイルの種類によっては、インターネット経由のアクセスが頻発し、上述の転送遅延と相まって、ファイルへのアクセス性能(特に、リードの性能)が悪くなる可能性がある。
以上の問題は、通信ネットワークが、インターネット以外の通信ネットワークの場合にも、有り得る。
従って、本発明の目的は、ファイルへのアクセス性能をなるべく損なわずに、リモートのストレージ装置の利用機会を増やすことにある。
リモートの記憶デバイスを管理するリモートのファイルサーバと、ローカルの記憶デバイスを管理するローカルのファイルサーバとが、通信ネットワーク(例えばインターネット)に接続されている。ローカルのファイルサーバが、(A)ローカルの記憶デバイス内のファイルをリモートのファイルサーバにレプリケーションし、(B)第1の条件が満たされた場合に、レプリケーションされたファイルであるレプリケーション済みファイルを、マイグレーション対象ファイルとして管理する。ローカルのファイルサーバは、(B)が完了してもマイグレーション対象ファイルをローカルの記憶デバイスから削除せず、第2の条件が満たされた場合に、マイグレーション対象ファイルをローカルの記憶デバイスから削除する。第2の条件とは、例えば、マイグレーション対象ファイルが参照された後にどのユーザ端末からも参照されなくなったことである。
本発明の一実施例の概要を示す。 本発明の一実施例に係るシステム全体のハードウェア構成を示す。 本発明の一実施例に係るシステム全体のソフトウェア構成を示す。 inode管理テーブルを示す。 図4のinode管理テーブルにおけるinode番号「100」のinodeと、ファイルの位置との関係を示す。 inode管理テーブル400に追加されている新たな種類のメタデータを示す。 レプリケーション処理の流れを示す。 レプリケーション済みファイル又はそれのメタデータに関するライト処理の流れを示す。 同期処理の流れを示す。 メタデータのリード処理の流れを示す。 ファイルのリード処理の流れを示す。 図12Aは、オープン要求に応答して行われる処理を示す。図12Bは、クローズ要求に応答して行われる処理を示す。図12Cは、ファイルの削除を示す。 マイグレーション済みファイルに関するライト処理の流れを示す。 図14Aは、LU内の空き容量の一例を示す。図14Bは、リコールされたファイルがLUに書き込まれたが故にLUの空き容量が閾値未満に減った例を示す。 レプリケーション対象外のファイルをレプリケーション候補のファイルとする処理の流れを示す。 図15のSTEP27−3及び27−4を示す。 レプリケーション候補のファイルをレプリケーションする流れを示す。 ファイルシステム1211(受付プログラム12110)の処理の流れを示すフローチャートである。 データムーバプログラムの処理の流れを示すフローチャートである。 監視プログラム1214の処理の流れの一部を示すフローチャートである。 監視プログラム1214の処理の流れの別の部分を示すフローチャートである。 本発明の一実施例に係るシステム全体のソフトウェア構成において、Edge側のLUにThin provisioningを適用した構成を示す。
以下、本発明の一実施例を説明する。
なお、以下の説明では、「xxxテーブル」の表現にて各種情報を説明することがあるが、各種情報は、テーブル以外のデータ構造で表現されていてもよい。データ構造に依存しないことを示すために「xxxテーブル」を「xxx情報」と呼ぶことができる。
また、以下の説明では、「プログラム」を主語として処理を説明する場合があるが、プログラムは、プロセッサ(例えばCPU(Central Processing Unit))によって実行されることで、定められた処理を、適宜に記憶資源(例えばメモリ)及び/又は通信インタフェース装置(例えば通信ポート)を用いながら行うため、処理の主語がプロセッサとされても良い。プログラムを主語として説明された処理は、ファイルサーバ(例えば、後述のファイルストレージ装置、アーカイブ装置)が行う処理としても良い。また、プロセッサは、プロセッサが行う処理の一部又は全部を行うハードウェア回路を含んでも良い。コンピュータプログラムは、プログラムソースから各計算機にインストールされても良い。プログラムソースは、例えば、プログラム配布サーバ又は記憶メディアであっても良い。
図1は、本発明の一実施例の概要を示す。
ローカルの計算機システム2と、リモートの計算機システム3がある。
ローカルの計算機システム2は、クライアント(例えばパーソナルコンピュータ)/ホスト(例えばサーバ)130と、ファイルストレージ装置120と、RAID(Redundant Array of Independent (or Inexpensive) Disks)システム110とを有する。ファイルストレージ装置120に、クライアント/ホスト130と、RAIDシステム110とが接続されている。ファイルストレージ装置120は、ローカルのファイルサーバの一例である。
リモートの計算機システム3が、アーカイブ装置220とRAIDシステム210とを有する。アーカイブ装置220は、リモートのファイルサーバの一例である。
ファイルストレージ装置120とアーカイブ装置220が、通信ネットワーク1経由で接続されている。通信ネットワーク1は、典型的にはインターネットであるが、それ以外の通信ネットワーク(例えば、LAN(Local Area Network))でも良い。
本実施例では、例えば、以下の処理が行われる。
すなわち、ファイルストレージ装置120は、クライアント/ホスト130から、ファイルのライト要求を受信し、そのライト要求に従い、ファイル10を、RAIDシステム110に書き込む。
その後、ファイルストレージ装置120は、ファイル10をレプリケーションする(S1001)。具体的には、ファイルストレージ装置120は、RAIDシステム110からファイル10を読み出し、読み出したファイル10を、通信ネットワーク1経由で、アーカイブ装置220に転送する。アーカイブ装置220は、ファイルストレージ装置120からのファイルを、RAIDシステム210に書き込む。これにより、RAIDシステム110とRAIDシステム210の両方にファイル10が存在する状態となる。
ファイルストレージ装置120は、ファイル10のレプリケーションが完了して直ちにRAIDシステム110からファイル10を削除することをしない。なぜなら、そうすることは、ファイル10をマイグレーションすることと同等だからである。ファイル10がリモートの計算機システム3にマイグレーションされた後にファイル10をクライアント/ホスト130に提供するためには、ファイルストレージ装置120は、通信ネットワーク1経由でアーカイブ装置220にファイル10を要求する必要がある。
そこで、本実施例では、ファイルストレージ装置120は、ファイル10のレプリケーションが完了しても、ファイル10をRAIDシステム110から削除せずに残しておく。
このため、ファイルストレージ装置120は、ファイル10のリード要求をクライアント/ホスト130から受信した場合(S1101)、RAIDシステム110からファイル10を読み出してクライアント/ホスト130に提供できる(S1102)。つまり、ファイルストレージ装置120は、ファイル10を通信ネットワーク1経由でアーカイブ装置220から取得する必要が無い。
ファイルストレージ装置120は、ファイル10がいずれのクライアント/ホスト130からも読み出されなくなった(参照されなくなった)場合に、ファイル10(厳密には、その実体)を削除する(S1103)。この結果、ファイル10は、実質的に、アーカイブ装置120側のみに格納されていることになる。なお、ファイル10を削除するタイミングは、ファイル10がいずれのクライアント/ホスト130からも読み出されなくなったことに代えて又は加えて、他の条件が満たされたこと(例えば、ファイル10に対するアクセス(リード)の最終時刻から一定時間が経過したこと)が、採用されて良い。
以下、本実施例を詳細に説明する。
図2は、本発明の一実施例に係るシステム全体のハードウェア構成を示す。
Edge100とCore200がある。Edge100とは、ローカルの計算機システムを含んだ拠点であり、例えば、支店や営業所などユーザが実際に業務を行う拠点である。また、Core200とは、リモートの計算機システムを含んだ拠点であり、例えば、サーバやストレージ装置を一括管理する拠点やクラウドサービスを提供する拠点である。
なお、図1に示す例では、Edge100は複数、Core200が単数であるが、Edge100が単数、及び/又は、Core200が複数でも良い。また、図1では、ファイルストレージ装置120に接続されている1つのクライアント/ホスト130が示されているが、実際には、ファイルストレージ装置120には複数のクライアント/ホスト130が接続されている(図示の通り、クライアント/ホスト130は、1つでも良い)。
Edge100は、RAIDシステム110と、ファイルストレージ装置120と、クライアント/ホスト130と、を備える。ファイルストレージ装置120は、例えば、通信ネットワーク(例えばLAN)経由で、クライアント/ホスト130に接続されている。また、ファイルストレージ装置120は、例えば、通信ネットワーク(例えばSAN(Storage Area Network))経由で、RAIDシステム110に接続されている。
RAIDシステム110は、コントローラ部と記憶部とに大別される。コントローラ部は、CHA(Channel Adaptor)111と、DKC(DisK Controller)112とを備える。記憶部は、DISK113を備える。DKC112に、CHA111及びDISK113が接続されている。CHA111は、ファイルストレージ装置120に接続される通信インタフェース装置である。DKC112は、コントローラである。DISK113は、ディスク型の物理記憶デバイス(例えば、HDD(Hard Disk Drive))である。物理記憶デバイスとして、他種の物理記憶デバイス(例えば、フラッシュメモリデバイス)が採用されても良い。また、DISK113は、図1では単数であるが、実際は、複数である(図示通り、単数でも良い)。複数のDISK113で、1以上のRAIDグループが構成されて良い。
RAIDシステム110は、ファイルストレージ装置120から送信されたブロックレベルのI/O要求をCHA111で受信し、DKC112の制御に基づいて、適切なDISK113へのI/Oを実行する。
ファイルストレージ装置120は、メモリ121と、CPU(Central Processing Unit)122と、NIC(Network Interface Card)123と、HBA(Host Bus Adaptor)124と、を備える。メモリ121、NIC123及びHBA124に、CPU122が接続されている。
NIC123は、アーカイブ装置220及びクライアント/ホスト130と通信する通信インタフェース装置である。
HBA124は、RAIDシステム110と通信する通信インタフェース装置である。
メモリ121は、CPU122が直接読み書きできる記憶領域(例えば、RAM(Random Access Memory)やROM(リード Only Memory))である。ファイルストレージ装置120は、メモリ121上にファイルストレージ装置120を制御するプログラム(例えばOS(Operating System))を読み込み、CPU122にそのプログラムを実行させる。ファイルストレージ装置120は、メモリ121に加えて又は代えて、別種の記憶資源を有しても良い。
ファイルストレージ装置120は、NIC123経由で、クライアント/ホスト130からファイルレベルのI/O要求を受信する。ファイルストレージ装置120は、そのI/O要求で指定されているファイルを構成するデータブロックのI/OのためのI/O要求(ブロックレベルのI/O要求)を作成する。ファイルストレージ装置120は、ブロックレベルのI/O要求を、HBA124経由で、RAIDシステム110に送信する。
クライアント/ホスト130は、メモリ131と、CPU132と、NIC133と、DISK134と、を備える。クライアント/ホスト130は、メモリ131及び/又はDISK134に加えて又は代えて、別種の記憶資源を有しても良い。
クライアント/ホスト130は、DISK134に格納されているプログラム(クライアント/ホスト134を制御するプログラム(例えばOS))をメモリ131上に読み込み、CPU132にプログラムを実行させる。また、クライアント/ホスト130は、NIC133経由で、ファイルレベルのI/O要求をファイルストレージ装置120に送信する。
Core200は、RAIDシステム210と、アーカイブ装置220と、を備える。アーカイブ装置220に、RAIDシステム210が接続されている。
RAIDシステム210は、CHA211と、DKC212と、DISK213と、を備える。図1では、RAIDシステム210の構成とRAIDシステム110の構成は、同一である。従って、RAIDシステム210も、アーカイブ装置220から送信されたブロックレベルのI/O要求をCHA211で受信し、DKC212の制御に基づいて、適切なDISK213へのI/Oを実行する。なお、RAIDシステム210の構成とRAIDシステム110の構成は、異なっていても良い。
アーカイブ装置220は、メモリ221と、CPU222と、NIC223と、HBA224と、を備える。メモリ221に代えて又は加えて、別種の記憶資源が備えられても良い。アーカイブ装置220は、メモリ221上にアーカイブ装置220を制御するプログラム(例えばOS)を読み込み、CPU222にそのプログラムを実行させる。また、アーカイブ装置220は、NIC223及び通信ネットワーク1経由で、ファイルストレージ装置120と通信する。アーカイブ装置220は、HBA224経由で接続され、ブロック単位のアクセスを行う。
図3は、本実施例に係るシステム全体のソフトウェア構成を示す。
RAIDシステム110(210)は、複数のLU(Logical Unit)1100(2100)を有する。LU1100(2100)は、論理的な記憶デバイスである。LU1100(2100)は、1以上のDISK113(213)に基づく実体的なLUであっても良いし、Thin Provisioningに従う仮想的なLUであっても良い。LU1100(2100)は、複数のブロック(記憶領域)で構成されている。LU1100(2100)に、ファイルが記憶される。また、LU1100(2100)に、後述のファイルシステム情報の全部又は一部が、記憶されて良い。
図22は、本発明の一実施例に係るシステム全体のソフトウェア構成において、Edge側のLUにThin provisioningを適用した構成を示す図である。
Thin provisioningが適用されたRAIDシステム110には、1又は複数のプール1120が備えられる。プール1120は複数のページ1130を含んでいる。ページ1130は、プール1120が固定長で分割されることにより得られた個々の格納領域である。仮想LU(Thin provisioningが適用されたLU)が、複数の仮想領域で構成されている。仮想LU1110に書き込みが行われると、その都度、ページ1130が仮想LU1110の書き込み先の仮想領域へ割り当てられる。ディスクの容量は、プール1120単位で増設することができる。プール1120に、サイズの異なる複数のページ1130が含まれていても良い。
再び図3を参照する。ファイルストレージ装置120のメモリ121(アーカイブ装置220のメモリ221)には、データムーバプログラム1210(2210)と、ファイルシステム1211(2211)と、カーネル/ドライバ1212(2212)と、が記憶されている。ファイルストレージ装置120のメモリ121には、更に、ファイル共有プログラム1213が記憶されている。以下、ファイルストレージ装置120内のデータムーバプログラムを、「ローカルムーバ」と言い、アーカイブストレージ装置220内のデータムーバプログラムを、「リモートムーバ」と言い、それらを特に区別しない場合に、「データムーバプログラム」と言う。ファイルサーバ装置120とアーカイブ装置220との間では、ローカルムーバ1210及びリモートムーバ2210を介して、ファイルのやり取りが行われる。
ローカルムーバ1210は、RAIDシステム110のLU1100から、レプリケーション対象のファイルを読み出し、そのファイルをアーカイブ装置220に転送する。リモートムーバ2210は、レプリケーション対象のファイルをファイルストレージ装置120から受信し、そのファイルを、RAIDシステム210のLU2100に書き込む。
また、ローカルムーバ1210は、LU1100内のレプリケーション済みファイル(厳密にはその実体)を、ある所定の条件が満たされた場合に、削除し、それにより、レプリケーション済みファイルの実質的なマイグレーションを実現する。その後、ローカルムーバ1210は、削除されたファイルのスタブ(メタデータ)に対してクライアント/ホスト130からリード要求を受けた場合、リモートムーバ2210を経由して、スタブにリンクしているファイルを取得し、取得したファイルをクライアント/ホスト130に送信する。なお、本実施例において、「スタブ」とは、ファイルの格納先情報(リンク先を表す情報)に関連付けられたオブジェクト(メタデータ)である。クライアント/ホスト130からは、ファイルであるかスタブであるかは分からない。
ファイルシステム1211(2211)は、ファイルシステムプログラムであり、ファイルシステム情報を管理する。ファイルシステム情報は、各ファイルに関する情報(例えば、ファイルのサイズや場所などを表す情報)を含む。具体的には、例えば、ファイルシステム情報は、図4に示すinode管理テーブル400を含む。inode管理テーブル400は、複数のinodeより構成される(1行が1つのinodeに対応する)。各inodeは、複数のメタデータで構成される。メタデータの種類としては、ファイルの所有者、ファイルのアクセス権、ファイルサイズ、ファイルの格納位置(データブロックアドレス1、2、3、…)などがある。例えば、inode番号「100」を含んだ行によれば、ファイルは、図5に示すように、下記のブロック(LU内のブロック)が記憶するデータで構成されていることがわかる。
(*)アドレス100のブロックを先頭とした3つの連続したブロック(データブロックアドレス「100−3」から特定されるブロック群)内のデータ。
(*)アドレス200のブロックを先頭とした2つの連続したブロック(データブロックアドレス2「200−2」から特定されるブロック群)内のデータ。
(*)アドレス250のブロックを先頭とした5つの連続したブロック(データブロックアドレス3「250−5」から特定されるブロック群)内のデータ。
再び、図3を参照する。カーネル/ドライバ1212(2121)は、ファイルストレージ装置120(アーカイブ装置220)上で動作する複数のプログラム(プロセス)のスケジュール制御やハードウェアからの割り込みをハンドリングするなど、全般的な制御及びハードウェア固有の制御を行う。
ファイル共有プログラム1213は、CIFS(Common Internet File System)、NFS(Network File System)といった通信プロトコルを使用して、クライアント/ホスト130との間で、ファイル共有サービスを提供するプログラムである。
クライアント/ホスト130のメモリ131には、アプリケーション1310と、ファイルシステム1311と、カーネル/ドライバ1312が記憶されている。
アプリケーション1310は、クライアント/ホスト130が、作業の目的に応じて使うソフトウェア(アプリケーションプログラム)である。ファイルシステム1311及びカーネル/ドライバ1312は、上述のファイルシステム1211(2211)、カーネル/ドライバ1212(2212)とほぼ同様である。
本実施例では、inode管理テーブル400に新たな種類のメタデータが追加されている。
図6は、inode管理テーブル400に追加されている新たな種類のメタデータを示す。
ファイル毎に(inode毎に)、新たな種類のメタデータがあり、それらは、スタブ化フラグ3100、データ同期要フラグ3101、メタデータ同期要フラグ3102、レプリケーションフラグ3103、及びリンク先3104である。以下、これらのメタデータについて、1つのファイル(図6の説明において「対象ファイル」と言う)を例に採り、説明する。
スタブ化フラグ3100は、対象ファイルがスタブ化されているか否かを表す。具体的には、例えば、スタブ化フラグ3100は、対象ファイルがスタブ化されている場合、「ON」とされ、対象ファイルがスタブ化されていない場合、「OFF」とされる。
データ同期要フラグ3101(メタデータ同期要フラグ3102)は、ファイル(メタデータ)を同期化する必要があるか否かを表す。データ同期要フラグ3101(メタデータ同期要フラグ3102)は、レプリケーション済みの対象ファイル(そのメタデータ)がEdge100側とCore200側とで一致している場合、「OFF」とされる。また、データ同期要フラグ3101(メタデータ同期要フラグ3102)は、Edge100側で対象ファイル(そのメタデータ)の更新が発生し、Core200側の対象ファイル(そのメタデータ)と一致しなくなった場合(つまり、同期しなくなった場合)、両方のファイル(両方のメタデータ)を互いに一致させる必要があるため、「ON」とされる。
レプリケーションフラグ3103は、対象ファイルがレプリケーション対象か否かを表す。レプリケーションフラグ3103は、対象ファイルがレプリケーション済みの場合に「ON」とされ、対象ファイルがレプリケーションされていない場合は「OFF」とされる。
リンク先3104は、対象ファイルの格納先(リンク先)を表す情報(例えば、URL(Uniform Resource Locator))である。
次に、本実施例で行われる処理を説明する。
図7は、レプリケーション処理の流れを示す。なお、図中のS*とはSTEP*(*は1以上の整数)の略である。
この処理によって、Edge100側と、Core200側とで、レプリケーション対象のファイルが共有される。
まず、STEP1では、ローカルムーバ1210が、レプリケーション要求を受け取る。レプリケーション要求の発行元や、レプリケーション要求が発行されるタイミングは、特に限定されない。レプリケーション要求は、少なくとも、レプリケーション対象ファイルの識別情報(例えばファイル名)を含む。
次に、STEP2−1で、ローカルムーバ1210は、アーカイブ装置220に、レプリケーション対象ファイルの記憶領域を確保することの指令を出す。その指令は、例えば、レプリケーション対象ファイルの識別情報及びサイズを含んでも良い。アーカイブ装置220(リモートムーバ2210)は、その指令を受けて、レプリケーション対象ファイルの格納先の記憶領域を確保して良い。アーカイブ装置220(リモートムーバ2210)は、レプリケーション対象ファイルの識別情報と、そのファイルの格納先の情報であるリンク先情報(確保された記憶領域を表す情報)との対応関係をメモリ221に記憶することができる。
次に、STEP2−2で、ローカルムーバ1210は、アーカイブ装置220(リモートムーバ2210)から、レプリケーション対象ファイルのリンク先情報(例えばURL)を受信し、レプリケーション対象ファイルのリンク先3104として、その受信したリンク先情報を、inode管理テーブル400に追加する。
次に、STEP3で、ファイルシステム1211は、レプリケーション要求を基に特定されたレプリケーション対象ファイルを、LU1100から読み出し、そのファイルを、ローカルムーバ1210に転送する。
次に、STEP4で、ローカルムーバ1210は、ファイルシステム1211からのレプリケーション対象ファイルをリモートムーバ2210へ転送する。例えば、ローカルムーバ1210は、STEP2−2で受信したリンク先情報を指定した、レプリケーション対象ファイルのライト要求(ファイルレベルのライト要求)を、リモートムーバ2210に送信して良い。
STEP5で、リモートムーバ2210は、ローカルムーバ1210からレプリケーション対象ファイルを受信し、ファイルシステム2211(ファイルシステム内の受付プログラム22110)に対して、そのファイルの格納要求を出す。その格納要求は、そのファイルのリンク先情報を含んで良い。ファイルシステム2211は、レプリケーション対象ファイルを、それのリンク先情報に基づく場所(LU2100)に書き込む。そして、ファイルシステム2211による書込みが完了したことが、ファイルシステム2211からリモートムーバ2210に通知される。リモートムーバ2210は、その通知を受けた場合、レプリケーションの完了通知を、ローカルムーバ1210に送信する。
STEP6で、ローカルムーバ1210は、リモートムーバ2210からレプリケーション完了通知を受信し、ファイルシステム1211の受付プログラム12110に、レプリケーションの完了を通知する。
そして、STEP7で、ファイルシステム1211(受付プログラム12110)は、レプリケーション対象ファイルに対応したレプリケーションフラグ3103を「ON」にする(図6参照)。レプリケーションフラグ3103が「ON」となっているファイルが、レプリケーション済みファイルである。
図8は、レプリケーション済みファイル又はそれのメタデータに関するライト処理の流れを示す。
レプリケーション済みファイル又はそれのメタデータが更新されると、ファイルストレージ装置120側のレプリケーション済みファイル又はそれのメタデータと、アーカイブ装置220側のレプリケーション済みファイル又はそれのメタデータとが異なってしまう。このため、レプリケーション済みファイル又はそれのメタデータの同期処理(ファイルストレージ装置120側とアーカイブ装置220側でファイル(又はそれのメタデータ)の内容を互いに一致させる処理)が必要となる。本ライト処理では、同期処理が必要であることを表す情報が設定される(レプリケーション済みファイルに対応するデータ/メタデータ同期要フラグ3101/3102が「ON」にされる)。
まず、STEP8で、ファイルシステム1211(受付プログラム12110)が、レプリケーション済みファイル(又はそれのメタデータ)に対するライト要求(更新要求)を受け付ける。
次に、STEP9で、ファイルシステム1211(受付プログラム12110)が、当該ファイル(又はそれのメタデータ)の更新を行う。ファイルシステム1211(受付プログラム12110)は、レプリケーション済みファイルを更新した場合、そのファイルに対応するデータ同期要フラグ3101を「ON」にし、メタデータを更新した場合、そのメタデータについてのファイルに対応するメタデータ同期要フラグ3102を「ON」にする(図6参照)。なお、更新されたファイル又はメタデータが、レプリケーション済みファイル又はそれのメタデータであるかは、それに対応するレプリケーションフラグ3103が「ON」か否かで判断可能である。
データ/メタデータ同期要フラグ3101/3102が「ON」であることは、それに対応するファイル又はそれのメタデータの同期処理が必要であることを示す。同期処理が行われた場合、データ/メタデータ同期要フラグ3101/3102は、「OFF」にされる。
図9は、同期処理の流れを示す。
データ同期要フラグ3101が「ON」のファイル、又は、メタデータ同期要フラグ3102が「ON」のファイルについてのメタデータについて、同期処理が行われる。
まず、STEP9で、ローカルムーバ1210が、同期処理要求を受ける。同期処理要求の発行元や、同期処理要求が発行されるタイミングは、特に限定されない。同期処理要求は、例えば、定期的に又は不定期的に(例えば1日に1回の頻度で)、発行されて良い。
STEP10で、ローカルムーバ1210は、ファイルシステム1211(受付プログラム12110)に対して、データ/メタデータ同期要フラグ3101/3102が「ON」になっているファイル及び/又はメタデータの検索要求を出し、そのファイル及び/又はメタデータをファイルシステム1211から取得する。
STEP11で、ローカルムーバ1210は、取得したファイル及び/又はメタデータをリモートムーバ2210へ転送する。
STEP12で、リモートムーバ2210は、ローカルムーバ1210からのファイル及び/又はメタデータをLU2100及び/又はファイルシステム情報に格納する。これにより、ローカルとリモートにおいて、ファイル(及び/又はメタデータ)が互いに一致する(つまり、同期が完了する)。リモートムーバ2210は、ファイル及び/又はメタデータを格納した後、格納の完了をローカルムーバ1210に通知する。
ファイル及び/又はメタデータの格納が行われた後、STEP13で、ローカルムーバ1210は、同期処理が行われたファイル(及び/又はメタデータについてファイル)に対応するデータ/メタデータ同期要フラグ3101/3102を「OFF」に変更する。
なお、本同期処理では、ファイル(及び/又はメタデータ)の同期が完了した後に、レプリケーション済み且つ同期済みのファイルをLU1100から削除して良いか否か(すなわち、そのファイルをレプリケーション対象からマイグレーション対象に切り替えて良いか否か)の判断が行われる。
具体的には、例えば、ローカルムーバ1210は、LU1100の空き容量をチェックする。LU1100の空き容量が所定の閾値未満の場合、LU1100の空き容量を増やすべく、レプリケーション済み且つ同期済みのファイルの削除(マイグレーション)が許可される。すなわち、STEP14で、ローカルムーバ1210が、レプリケーション済み且つ同期済みのファイル(レプリケーションフラグ3103が「ON」であり且つデータ/メタデータ同期要フラグ3101/3102が「OFF」となっているファイル)に対応するスタブ化フラグ3100を「ON」にし、そのファイルに対応するレプリケーションフラグ3103を「OFF」にする。
なお、ファイルの削除(マイグレーション)が許可される条件は、ファイルが格納される記憶領域(LU)の空き容量が所定の閾値未満という条件に代えて又は加えて、別の条件が採用されて良い。例えば、削除が許可されるファイルは、例えば、そのファイルへの最終アクセス時刻から一定時間が経過したファイルで良い。
本実施例では、削除が許可されたファイル(マイグレーション対象ファイル)をLU1100から削除することは、当該ファイルのレプリケーションが済んだ直後、或いは、当該ファイルの同期が完了した直後には、行われない。マイグレーション対象ファイルは、そのファイルについて所定の条件が満たされるまで、ローカル側に残る。本実施例では、マイグレーション対象ファイルをLU1100から削除することは、後述するように、ファイルのリード処理において行われる。
図10は、メタデータのリード処理の流れを示す。
まず、STEP15−1で、ファイルシステム1211(受付プログラム12110)が、クライアント/ホスト130から、ファイル共有プログラム1213を通じて、メタデータのリード要求を受ける。
リード対象のメタデータが、LU1100から削除されたファイルのメタデータであるとする。ファイル(厳密にはその実体)が削除されていても、そのファイルについてのメタデータは、ファイルストレージ装置120側にも格納されている。
このため、ファイルシステム1211は、アーカイブ装置220からメタデータを取得することを行わない。具体的には、STEP15−2及び16−1で、ファイルシステム1211は、ファイルストレージ装置120側のファイルシステム情報(LU1100に格納されている情報)から、リード対象のメタデータを取得し、STEP16−2で、そのメタデータを、ファイル共有プログラム1213を通じてクライアント/ホスト130に転送する。
図11は、ファイルのリード処理の流れを示す。
まず、STEP17で、ファイルシステム1211(受付プログラム12110)が、クライアント/ホスト130から、ファイル共有プログラム1213を通じて、ファイルのリード要求を受ける。
ファイルシステム1211(受付プログラム12110)は、そのファイルがリコール済みか否かを判断する。リコール済か否かは、例えば、そのファイルについてのデータブロックアドレス(図4参照)が表す値が0(ゼロ)か否かで判断できる。アドレスが表す値が0ということは、ファイルがLU1100に格納されていないということである。
リコール済みであれば、STEP18で、ファイルシステム1211(受付プログラム12110)は、リード対象のファイルをLU1100から読み出し、STEP20で、そのファイルを、ファイル共有プログラム1213を通じて、クライアント/ホスト130に送信する。
一方、リコール済みでなければ、ファイルシステム1210(受付プログラム12110)は、STEP19で、リコール、すなわち、アーカイブ装置220からリード対象のファイルを取得する(例えば、リード対象ファイルのリード要求をアーカイブ装置220に送信することで、リード対象ファイルを取得する)。そして、ファイルシステム1210は、そのファイルを、LU1100に書き込む。STEP20で、ファイルシステム1210(受付プログラム12110)は、そのファイルを、クライアント/ホスト130に送信する。
なお、ファイルのリード要求は、1つのファイルに1つであっても良いし、1つのファイルに複数であっても良い。後者の場合、ファイルは部分的に読み出される。1つのファイルについての複数のリード要求の各々は、ファイルのどの部分のデータを読み出すかが指定されて良い。具体的には、例えば、ファイルの先頭からのオフセット値と読み出すサイズを表す情報(ファイル部分を表す情報)をリード要求が有し、ファイルシステム1210は、そのファイル部分について、リコール済か否かを判断して良い。リコール済であれば、ファイルシステム1210は、リコール済のファイル部分をクライアント/ホスト130へ送信し、リコール済で無ければ、該当ファイル部分をアーカイブ装置220から取得して良い。
ところで、クライアント/ホスト130からは、ファイルのリード要求の前に、オープン要求が発行され、ファイルのリード要求の後に、クローズ要求が発行される。オープン要求、リード要求及びクローズ要求の3つの要求の処理が完了することで、1つのリード処理の完了となる。
本実施例では、マイグレーション対象ファイル(削除することが許可されているファイル)を実際に削除するタイミングは、リード要求の前にオープン要求が発行されリード要求の後にクローズ要求が発行されるという仕様に着目して定義されたタイミングとなっている。
具体的には、図12Aに示すように、ファイルシステム1211は、オープン要求を受けた場合、オープン対象のファイル(リードされるファイル)についての参照カウント値に1を加算する。ファイルシステム1211は、オープン要求を受ける都度に、オープン対象のファイルについての参照カウント値に1を加算する。
一方、図12Bに示すように、ファイルシステム1211は、クローズ要求を受けた場合、クローズ対象のファイル(リードされたファイル)についての参照カウント値から1を減算する。ファイルシステム1211は、クローズ要求を受ける都度に、クローズ対象のファイルについての参照カウント値から1を減算する。
そして、マイグレーション対象ファイル(スタブ化フラグ3100が「ON」でありデータ/メタデータ同期フラグ3101/3102が「OFF」のファイル)についての参照カウント値が0より大きい値から0になったときに、図12Cに示すように、ローカルムーバ1210が、当該ファイル(厳密には、その実体)をLU1100から削除する。この削除により、実質的にマイグレーションが完了したことになる。つまり、マイグレーション対象ファイルが、マイグレーション済みのファイルになる。なお、その際、ファイルシステム1211は、削除されたファイルについてのinodeを更新する。従って、例えば、削除されたファイルについてのデータブロックアドレスが表す値は、0(ゼロ)とされる。
さらに、Edge100側のLU1100にThin provisioningが適用されている場合は(図22参照)、当該ファイルを削除する代わりに、当該ファイルを、ある固定値(例えば、0)で上書きし、RAIDシステム110に対して、当該ファイルが格納されていた仮想領域(当該ファイルが格納されていたブロックアドレス)が解放可能である旨を通知してもよい。RAIDシステム110は、その通知を受けて、通知された仮想領域に割り当てられているページ1130を、その仮想領域から解放して良い。ここで、仮想領域とは、前述したように、仮想LU(Thin provisioningが適用されたLU)1100を構成する仮想的な記憶領域のことである。また、当該ファイルを固定値で上書きするとは、当該ファイルを格納している仮想領域を通じて、この仮想領域に割り当てられているページ1130の全域に固定値を上書きすることである。ページ1130の全域に固定値が書き込まれている場合、そのページ1130内のデータは、クライアント/ホスト130にとって不要である。従って、その不要なデータのみを記憶しているページ1130は、仮想領域から解放されて良い。これにより、プールの空き容量(未割当のページ1130の数)を増やすことができる。
このような削除タイミング(マイグレーションタイミング)によれば、参照頻度の高いファイルをローカル側に残し、参照頻度の低いファイルをローカル側から削除しリモート側にのみ残すことができる。
図13は、マイグレーション済みファイルに関するライト処理の流れを示す。
STEP23で、ファイルシステム1211(受付プログラム12110)が、クライアント/ホスト130から、ファイルのライト要求を受ける。
STEP24で、ファイルシステム1211(受付プログラム12110)が、ライト対象のファイルに対応したスタブ化フラグ3100をチェックする。
スタブ化フラグ3100が「ON」の場合、STEP25で、ファイルシステム1211が、アーカイブ装置220から、ライト対象のファイルを取得し、取得したファイルをLU1100に書き込む。そして、ファイルシステム1211は、そのファイルについて、スタブ化フラグ3100を「OFF」にし、且つ、レプリケーションフラグ3103を「ON」にする。なお、ライト対象のファイルがリコール済みのファイルの場合、ファイルをアーカイブ装置220から取得する処理はスキップされて良い。
その後、ファイルシステム1211は、STEP23で受信したライト要求に従い、LU1100内の当該ファイルを更新する。
そして、ファイルシステム1211は、STEP26で、更新されたファイルについてのデータ/メタデータ同期要フラグ3101/3102を「ON」にする。ファイルの更新により、ファイルストレージ装置120側とアーカイブ装置側220で、ファイル及びそのメタデータが異なり、それ故、同期処理が必要になったからである。
図13に示すライト処理によれば、マイグレーション済みファイルについてライト要求を受けた場合(LU1100から削除されているファイルのスタブについてライト要求を受けた場合)、ファイルのスタブが解除されることになる。
さて、前述した説明によれば、図14Aに示すように、LU1100の空き容量の閾値が設定されている。LU1100の空き容量とは、LU1100の容量からLU1100の使用量を除く容量である。LU1100の使用量は、レプリケーション対象外のファイルの総容量と、レプリケーション済みファイルの総容量との合計である。
図14Aに示す状態によれば、レプリケーション対象外のファイルの総容量が、レプリケーション済みファイルの総容量よりも多く、且つ、LU1100の空き容量が、閾値を超えているものの、閾値に近い。
この状態において、マイグレーション済みファイル(厳密にはそのスタブ)に対するライト要求があると、そのファイルのリコール(アーカイブ装置220側からのそのファイルの読み出し)によって、そのファイルがLU1100に書き込まれることになり、そうすると、ファイルの空き容量が減り、その結果、図14Bに示すように、空き容量が閾値未満になることがある。この場合、レプリケーション済みファイルの削除が許可される。
また、ライト処理のためにリコールされたファイル(スタブから特定されたリンク先から取得されたファイル)は、更新され同期要となる。
このため、同期処理の時間間隔が短く設定されていた場合、リコールによるファイルの移動と、同期よるファイルの移動が、頻繁に行われてしまう。つまり、通信ネットワーク1を経由したファイル転送が頻発してしまう。
そこで、本実施例では、レプリケーション対象外のファイルが、所定の条件下でレプリケーション候補とされ、レプリケーション候補も、レプリケーションされる。
図15は、レプリケーション対象外のファイルをレプリケーション候補のファイルとする処理の流れを示す。図16は、図15に示すSTEP27−3及び27−4を示す。
STEP27−1で、ローカルムーバ1210が、レプリケーション要求を受け付ける。
STEP27−2で、ローカルムーバ1210が、そのレプリケーション要求に含まれるファイルリスト(例えば、レプリケーション対象のファイルの識別情報のリスト)を、ファイルストレージ装置120内(例えばメモリ121)に保存する。レプリケーション対象のファイルは、前述したように、レプリケーションされるので、保存されたファイルリストを、以下、「レプリケーション済みファイルリスト」と言う。ファイルストレージ装置120は、例えばメモリ121に、1以上のレプリケーション済みファイルリストを有する。
STEP27−3で、ローカルムーバ1210は、保存されている1以上のレプリケーション済みファイルリストから特定される複数のレプリケーション済みファイルについての1以上のメタデータを基に、それら複数のレプリケーション済みファイルの共通の特性(例えば、ファイルサイズや最終更新日付)を抽出する。以下、抽出された共通特性を表す情報を、「特性リスト」と言う。特性リストは、1種類以上のメタデータについて、共通特性情報を有する。また、共通特性情報は、1つの共通の値であっても良いし、値の範囲(例えば、複数の共通の値のうちの最小値から最大値までの範囲)であっても良いし、1又は複数の共通の値に一定の値が加算又は減算等された値でも良い。
その後、STEP27−4で、ローカルムーバ1210は、レプリケーション対象外のファイル(レプリケーションフラグ3103が「OFF」且つリンク先3104が設定されていないファイル)の1以上のメタデータと、特性リストが有する共通特性情報とを比較する。ローカルムーバ1210は、レプリケーション対象外のファイルのうち、共通特性情報に適合するメタデータに対応したファイルを、レプリケーション候補とする。
レプリケーション候補のファイルが、レプリケーションされる。そのレプリケーションのタイミングは、例えば、図17に示す監視プログラム1214の判断結果に基づいて決定される。監視プログラム1214は、図17に示すように、ファイルストレージ装置120内のCPU122で実行されるプログラムである。なお、レプリケーション候補のファイルをレプリケーションするタイミングはこれに限定されないで良い。
図17は、レプリケーション候補のファイルをレプリケーションする流れを示す。
定期的に又は不定期的に、STEP28が行われる。
STEP28で、監視プログラム1214が、LU1100の使用量(LU1100におけるレプリケーション済みファイルの総容量)に対する、LU1100におけるレプリケーション対象外ファイルの総容量の割合(以下、対象外割合)を算出する。
そして、STEP29で、監視プログラム1214が、対象外割合が或る一定値を超えている場合、対象外割合が一定値よりも下がるまで、レプリケーション候補としたファイルのレプリケーションを実施する。
図15乃至図17を参照した説明によれば、対象外割合が一定値を超えていれば、レプリケーション対象として指定されていない複数のファイル(レプリケーション対象外ファイル)のうちの1以上のファイルが、レプリケーションされ、それにより、レプリケーション済みファイルとなる。つまり、レプリケーション済みファイルが増える。レプリケーション済みファイルは、やがて、スタブ化されるので、LU1100の空き容量が増えることになる。このため、LU1100の空き容量とその閾値との差が広がることが期待される。従って、通信ネットワーク1を介したファイル転送が頻発することの回避が期待できる。
次に、図18〜図21のフローチャートを参照して、プログラムごとの処理の流れを説明する。
図18は、ファイルシステム1211(受付プログラム12110)の処理の流れを示すフローチャートである。
STEP300で、ファイルシステム1211は、ファイルの処理要求(例えば、アクセス要求、オープン要求又はクローズ要求)を受け付けると、その処理要求から特定されるファイル(以下、図18の説明において「対象ファイル」)のスタブ化フラグ3100をチェックする。スタブ化フラグ3100が「ON」であれば(STEP300:YES)、STEP301に進む。スタブ化フラグ3100が「OFF」であれば(STEP300:NO)、ファイルがLU1100に残っているのでSTEP305に進む。
STEP301で、ファイルシステム1211は、受信した処理要求をチェックする。処理要求が、リード要求の場合、STEP302に進み、リード要求以外の場合、STEP310に進む。
STEP302で、ファイルシステム1211は、対象ファイルのメタデータの一種であるデータブロックアドレスが有効かどうかを判断する。データブロックアドレスが有効な場合(STEP302:YES)、STEP303に進む。データブロックアドレスが有効でない場合(STEP302:NO)、STEP304に進む。
STEP303で、ファイルシステム1211は、対象ファイルをLU1100から読み出し、読み出したファイルを、要求元(クライアント/ホスト130)へ送信する。
STEP304で、ファイルシステム1211は、ファイルのリコールを行う。すなわち、ファイルシステム1211は、ローカルムーバ1210に対して、アーカイブ装置220側から対象ファイルを取得するように要求し、その要求に応答してアーカイブ装置220から取得されたファイルを、一旦LU1100に格納してから、要求元へ送信する。
STEP305で、ファイルシステム1211は、受信した処理要求をチェックする。処理要求が、ライト要求以外の場合(STEP305:NO)、STEP306に進む。処理要求が、ライト要求の場合、STEP307に進む。
STEP306で、ファイルシステム1211は、受信した処理要求(オープン要求、クローズ要求又はリード要求)に従う処理を行う。
STEP307で、ファイルシステム1211は、対象ファイルのレプリケーションフラグ3103を確認する。レプリケーションフラグ3103が「ON」の場合(STEP307:YES)、STEP308に進む。レプリケーションフラグ3103が「OFF」の場合(STEP307:NO)、STEP309に進む。
STEP308で、ファイルシステム1211は、対象ファイルのデータ/メタデータ同期要フラグ3101/3102を「ON」にする。後のSTEP309のライト処理により、ファイルストレージ装置120側とアーカイブ装置220側との間で対象ファイル及びそれのメタデータが異なってしまうからである。
STEP309で、ファイルシステム1211は、対象ファイルのライト処理を実行する。また、Edge100側のLU1110にThin provisioningが適用されている場合は(図22)、STEP309の実行時に格納領域として、ページが割り当てられる。
STEP310で、ファイルシステム1211は、受信した処理要求をチェックする。処理要求がライト要求の場合、STEP312に進む。処理要求がオープン処理の場合、STEP311に進む。処理要求がクローズ処理の場合、STEP316に進む。
STEP311で、ファイルシステム1211は、対象ファイルについての参照カウント値に1を加算して、オープン処理を実行する。
STEP312で、ファイルシステム1211は、データムーバプログラム1210に対して、対象ファイルをリコールする(アーカイブ装置220にファイルの取得を要求する)。
STEP313で、ファイルシステム1211は、対象ファイルについて、スタブ化フラグ3100をOFFにし、レプリケーションフラグ3103をONにする。
STEP314で、ファイルシステム1211は、STEP312で取得したファイルを更新する(そのファイルに、処理要求に従うファイルを上書きする)。また、Edge100側のLU1110にThin provisioningが適用されている場合は(図22参照)、STEP314の実行時に格納領域としてページが割り当てられる。
STEP315で、ファイルシステム1211は、対象ファイルのデータ/メタデータ同期要フラグ3101/3102を「ON」にする。
STEP316で、ファイルシステム1211は、対象ファイルについての参照カウント値から1を減算し、クローズ処理を実行する。
STEP317で、ファイルシステム1211は、対象ファイルについての参照カウント値が0で、かつ、対象ファイルのデータ/メタデータ同期要フラグ3101/3102が「OFF」かどうかを判断する。
STEP317の判断結果が肯定的の場合(STEP317:YES)、STEP318で、ファイルシステム1211は、Thin provisioningの適用可否を判断する。判断結果が否定的の場合(STEP318:NO)、STEP319で、ファイルシステム1211は、対象ファイルをLU1100から削除する(対象ファイルのメタデータは、ファイルシステム情報に残る)。また、STEP318で、判断結果が肯定的の場合(STEP318:YES)、ファイルシステム1211は、STEP320で割当領域を解放する(対象ファイルのメタデータは、ファイルシステム情報に残る)。これにより、対象ファイルの実質的なマイグレーションが完了する。
STEP317の判断結果が否定的の場合(STEP317:NO)、ファイルシステム1211は、対象ファイルを削除しない。対象ファイルについての参照カウント値が1以上であるということは、対象ファイルがいずれかのクライアント/ホスト130から参照されているからである。
図19は、データムーバプログラムの処理の流れを示すフローチャートである。
本実施例では、ファイルストレージ装置120とアーカイブ装置220の両方に、同一のデータムーバプログラムを実行させることができる。データムーバプログラムの動作モードとして、ファイルストレージ装置とアーカイブ装置があり、装置120及び220のどちらで実行されるかによって、設定される動作モードが異なる。
STEP400で、データムーバプログラムは、設定されている動作モードをチェックする。動作モードが「ファイルストレージ装置」の場合、STEP402に進み、動作モードが「アーカイブ装置」の場合、STEP417に進む。
STEP402で、データムーバプログラムが、レプリケーション対象のファイルに対する処理要求を受信したかどうかを判断する。ここで、処理要求とは、レプリケーション要求、又は、データ/メタデータの同期処理要求である。処理要求を受信した場合(STEP402:YES)、STEP403に進む。
STEP403で、データムーバプログラムが、処理要求に含まれるファイルリストを保存する。
STEP404で、データムーバプログラムが、処理要求の種別をチェックする。処理要求がレプリケーション要求の場合は、STEP405に進み、処理要求が同期処理要求の場合は、STEP410に進む。
STEP405で、データムーバプログラムが、アーカイブ装置220から、保存したファイルリストから特定されるファイル(レプリケーション対象のファイル)の格納先情報(例えばURL)を取得する。
STEP406で、データムーバプログラムが、レプリケーション対象のファイルについて、リンク先3104として、取得した格納先情報を登録する。
STEP407で、データムーバプログラムが、レプリケーション対象のファイルをLU1100から読み出す。
STEP408で、データムーバプログラムが、読み出したファイルをアーカイブ装置220に転送する。具体的には、例えば、データムーバプログラムが、読み出したファイルのライト要求(そのファイルのリンク先3104が表す格納先情報を有するライト要求)をアーカイブ装置220に送信する。
STEP409で、データムーバプログラムが、転送したファイルのレプリケーションフラグ3103を「ON」にする。これにより、当該ファイルがレプリケーション済みファイルとなる。
STEP410で、データムーバプログラムが、データ/メタデータ同期要フラグ3101/3102がONになっているファイルをLU1100から読み出す。
STEP411で、データムーバプログラムが、読み出したファイルをアーカイブ装置220へ転送する。具体的には、例えば、データムーバプログラムが、読み出したファイルのライト要求(そのファイルのリンク先3104が表す格納先情報を有するライト要求)をアーカイブ装置220に送信する。
STEP412で、データムーバプログラムが、転送したファイルについて、データ/メタデータ同期要フラグ3101/3102を「OFF」にする。これにより、レプリケーション済みファイルの同期処理が完了する。
STEP413で、データムーバプログラムが、LU1100の空き容量が所定の閾値未満か否かを判断する。
LU1100の空き容量が所定の閾値未満の場合(STEP413:YES)、STEP415で、データムーバプログラムが、レプリケーションフラグ3103が「ON」のファイルについて、スタブ化フラグ3100を「ON」にし、且つ、レプリケーションフラグ3103を「OFF」にする。つまり、レプリケーション済みファイルの削除が許可される。この後、クライアント/ホスト130からの当該ファイルに関するリード処理が少なくとも1回行われ、そのファイルについての参照カウント値が0になったら、そのファイルが削除される。つまり、実質的にマイグレーションが完了する。
STEP417で、データムーバプログラムが、ファイルストレージ装置120からファイルを受信したかどうかを判断する。ファイルを受信した場合(STEP417:YES)、STEP418に進む。
STEP418で、データムーバプログラムは、受信したファイルを、LU2100に格納する。
図20及び図21は、監視プログラム1214の処理の流れを示すフローチャートである。
STEP500で、監視プログラム1214は、ファイルリスト(レプリケーション済みファイルリスト)が追加されたかどうかをチェックする。ファイルリストが追加された場合(S500:YES)、STEP502に進む。
STEP502で、監視プログラム1214は、特性リストがあるかどうかをチェックする。特性リストがある場合(STEP502:YES)、STEP503に進む。特性リストがない場合(STEP502:NO)、特性リストを作成すべく、監視プログラム1214は、図21に示す処理を行う。
STEP503で、監視プログラム1214は、追加されたファイルリストから特定されるファイルのメタデータと、特性リストの共通特性情報とを比較する。その結果、メタデータが共通特性情報に適合する場合(STEP504:YES)、STEP505に進む。メタデータが共通特性情報に適合しない場合(STEP504:NO)、特性リストに新たな共通特性情報を追加すべく、監視プログラム1214は、図21に示す処理を行う。
STEP505で、監視プログラム1214は、マイグレーション対象外のファイルについてのメタデータと特性リストが有する共通特性情報とを比較し、共通特定情報に適合するメタデータに対応したレプリケーション対象外ファイルを、レプリケーション候補とする。ここでは、レプリケーション候補のファイルのリスト(以下、候補リスト)が作成される。候補リストは、例えば、各レプリケーション候補ファイルの識別情報を有する。
STEP506では、監視プログラム1214は、前述した対象外割合(LU1100の使用量(レプリケーション対象のファイルの総容量とレプリケーション対象外のファイルの総容量との合計値)に対するレプリケーション対象外のファイルの総容量の割合)を求め、その割合が、一定値を超えているかどうかを判断する。超えている場合(STEP505:YES)、STEP506に進む。超えていない場合(STEP505:YES)、STEP500に戻る。
STEP507で、監視プログラム1214は、対象外割合が上記一定値以下となるように、候補リストから1以上のファイルを選択する。これは、候補リストが表す各ファイルの容量を基に行われる。監視プログラム1214は、選択したファイルのリスト(以下、レプリケーション対象リスト)を作成する。なお、そのリストを作成することに代えて、上記の候補リストが、レプリケーション対象リストとされても良い。
STEP508で、監視プログラム1214は、作成したレプリケーション対象リストを有するレプリケーション要求を、ローカルムーバ1210に送付する。ローカルムーバ1210は、そのレプリケーション要求に応答して、レプリケーション対象リストから特定されるファイルをレプリケーションする。
さて、前述したように、STEP502:NO、又は、STEP504:NOの場合、図21が示す処理が行われる。この処理は、特性リストを作成又は更新する処理である。図21には、チェック対象のメタデータの種類が幾つか挙げられているが、そのメタデータ種類は一例であり、これに限定されない。STEP600〜STEP605では、共通特性を検出すべく、種々の特性(メタデータ)と、追加されたレプリケーション済みファイルを含む複数のレプリケーション済みファイルのメタデータとが比較される。
STEP600で、監視プログラム1214は、複数のレプリケーション済みファイルの更新日付が一定範囲内にあるかどうかをチェックする。
STEP601で、監視プログラム1214は、複数のレプリケーション済みファイルの最終アクセス日付が一定範囲内にあるかどうかをチェックする。
STEP602で、監視プログラム1214は、複数のレプリケーション済みファイルの容量(サイズ)が一定範囲内にあるかどうかをチェックする。
STEP603で、監視プログラム1214は、複数のレプリケーション済みファイルの参照頻度(リード頻度)が一定範囲内にあるかどうかをチェックする。
STEP604で、監視プログラム1214は、複数のレプリケーション済みファイルの更新頻度(ライト頻度)が一定範囲内にあるかどうかをチェックする。
STEP605で、監視プログラム1214は、複数のレプリケーション済みファイルの拡張子が同一かどうかをチェックする。
STEP606で、監視プログラム1214は、STEP601〜605において、複数のレプリケーション済みファイルについて、共通の特性を検出した場合、その特性を表す情報を特性リストに追加する。
以上、本発明の一実施例を説明したが、これは本発明の説明のための例示であって、本発明の範囲をこの実施例にのみ限定する趣旨ではない。本発明は、他の種々の形態でも実施することが可能である。
例えば、RAIDシステム110及び/又は210に代えて、別種のストレージ装置が採用されても良い。
また、レプリケーションされたファイルについて、レプリケーションフラグ3103が「ON」にされるが、データ/メタデータ同期要フラグ3101/3102が「OFF」にされてよい。
また、マイグレーション対象ファイル(レプリケーションフラグ3103が「ON」であり、且つ、データ/メタデータ同期要フラグ3101/3102が「OFF」であるファイル)の削除は、参照カウント値が0になったときと別のタイミングで行われても良い。例えば、マイグレーション対象ファイルの最終アクセス日時から一定時間経過したときに、そのファイルが削除されても良い。
また、スタブの解除は、スタブに対応したファイルについての更新とは異なる契機で行われても良い。
また、ファイルが格納される記憶領域は、LUに限られなくて良い。
120…ファイルストレージ装置、220…アーカイブ装置

Claims (13)

  1. リモートの記憶デバイスを管理するリモートのファイルサーバが接続されているインターネットに接続されておりローカルの記憶デバイスを管理するローカルのファイルサーバであって、
    前記インターネットに接続された第1の通信インタフェース装置と、
    ファイルを指定したリード要求又はライト要求であるアクセス要求を送信する複数のユーザ端末に接続されており前記アクセス要求をユーザ端末から受信する第2の通信インタフェース装置と、
    前記第1及び第2の通信インタフェース装置に接続されたプロセッサと
    を有し、
    各ユーザ端末は、前記リード要求の前に、オープン要求を送信し、前記リード要求の後に、クローズ要求を送信し、
    前記プロセッサが、
    (A)前記ローカルの記憶デバイス内のファイルを前記リモートのファイルサーバにレプリケーションし、
    (B)第1の条件が満たされた場合に、レプリケーションされたファイルであるレプリケーション済みファイルを、削除可能なマイグレーション対象ファイルとして、前記ローカルの記憶デバイスから削除せずに管理し、
    (C)前記マイグレーション対象ファイルについて、前記オープン要求を受信する都度に、そのファイルについてのカウント値を第1の規則に従って更新し、
    (D)前記マイグレーション対象ファイルについて、前記クローズ要求を受信する都度に、そのファイルについてのカウント値を第2の規則に従って更新し、
    (E)第2の条件が満たされた場合に、前記マイグレーション対象ファイルを前記ローカルの記憶デバイスから削除し、
    前記第2の条件とは、前記マイグレーション対象ファイルについてのカウント値の更新が開始された後に、そのカウント値が所定の値になったことであり、
    前記所定の値は、ファイルがどのユーザ端末からも参照されていないことに相当する値である、
    ファイルサーバ。
  2. 請求項記載のファイルサーバであって、
    前記第1の条件は、前記ローカルの記憶デバイスの空き容量が所定の閾値未満であることである、
    ファイルサーバ。
  3. 請求項記載のファイルサーバであって、
    前記プロセッサは、
    (H)前記レプリケーション済みファイルについてのライト要求を受けた場合に、そのレプリケーション済みファイルを、同期化対象ファイルとして管理し、
    (I)前記リモートのファイルサーバが管理するレプリケーション済みファイルを前記同期化対象ファイルと一致させるよう前記同期化対象ファイルを前記リモートのファイルサーバに転送し、
    前記プロセッサは、前記(I)の後に、前記第1の条件が満たされたか否かの判断を行う、
    ファイルサーバ。
  4. 請求項記載のファイルサーバであって、
    前記プロセッサは、
    (K)前記ローカルの記憶デバイスから削除された前記マイグレーション対象ファイルのスタブについてライト要求を受けた場合に、そのスタブから特定されるリンク先にある、前記リモートのファイルサーバが管理するファイルを、前記リモートのファイルサーバから取得し、
    (L)前記取得したファイルを、前記ローカルの記憶デバイスに格納し、
    (M)前記取得したファイルを、前記(K)で受けたライト要求に従って更新し、
    前記プロセッサは、前記(K)を行った場合に、前記スタブを解除する、
    ファイルサーバ。
  5. 請求項記載のファイルサーバであって、
    前記ローカルの記憶デバイスは、複数のレプリケーション済みファイルと、複数のレプリケーション済みファイル以外の1以上のファイルである1以上のレプリケーション対象外ファイルとを記憶し、
    前記プロセッサは、
    (O)複数のレプリケーション済みファイルのメタデータを基に、前記複数のレプリケーション済みファイルの1以上の共通の特性を抽出し、
    (P)前記1以上のレプリケーション対象外ファイルから、前記1以上の共通の特性に適合するメタデータに対応したレプリケーション対象外ファイルを選択し、
    (Q)選択したレプリケーション対象外ファイルを、前記リモートのファイルサーバにマイグレーションする、
    ファイルサーバ。
  6. 請求項1記載のファイルサーバであって、
    前記第1の条件は、前記ローカルの記憶デバイスの空き容量が所定の閾値未満であることである、
    ファイルサーバ。
  7. 請求項記載のファイルサーバであって、
    前記プロセッサは、
    (H)前記レプリケーション済みファイルについてのライト要求を受けた場合に、そのレプリケーション済みファイルを、同期化対象ファイルとして管理し、
    (I)前記リモートのファイルサーバが管理するレプリケーション済みファイルを前記同期化対象ファイルと一致させるよう前記同期化対象ファイルを前記リモートのファイルサーバに転送し、
    前記プロセッサは、前記(I)の後に、前記第1の条件が満たされたか否かの判断を行う、
    ファイルサーバ。
  8. 請求項1記載のファイルサーバであって、
    前記プロセッサは、
    (K)前記ローカルの記憶デバイスから削除された前記マイグレーション対象ファイルのスタブについてライト要求を受けた場合に、そのスタブから特定されるリンク先にある、前記リモートのファイルサーバが管理するファイルを、前記リモートのファイルサーバから取得し、
    (L)前記取得したファイルを、前記ローカルの記憶デバイスに格納し、
    (M)前記取得したファイルを、前記(K)で受けたライト要求に従って更新し、
    前記プロセッサは、前記(K)を行った場合に、前記スタブを解除する、
    ファイルサーバ。
  9. 請求項1記載のファイルサーバであって、
    前記ローカルの記憶デバイスは、複数のレプリケーション済みファイルと、複数のレプリケーション済みファイル以外の1以上のファイルである1以上のレプリケーション対象外ファイルとを記憶し、
    前記プロセッサは、
    (O)複数のレプリケーション済みファイルのメタデータを基に、前記複数のレプリケーション済みファイルの1以上の共通の特性を抽出し、
    (P)前記1以上のレプリケーション対象外ファイルから、前記1以上の共通の特性に適合するメタデータに対応したレプリケーション対象外ファイルを選択し、
    (Q)選択したレプリケーション対象外ファイルを、前記リモートのファイルサーバにマイグレーションする、
    ファイルサーバ。
  10. 請求項記載のファイルサーバであって、
    前記ローカルの記憶デバイスの容量に対する、前記1以上のレプリケーション対象外ファイルの総容量の割合が、一定値以上の場合、前記プロセッサが、前記(P)を実行する、ファイルサーバ。
  11. 請求項10記載のファイルサーバであって、
    前記(P)では、前記割合が前記一定値未満になるように、1以上のレプリケーション対象外ファイルが選択される、
    ファイルサーバ。
  12. リモートの記憶デバイスを管理するリモートのファイルサーバと、
    ローカルの記憶デバイスを管理しインターネットを介して前記リモートのファイルサーバに接続されたローカルのファイルサーバと
    を備え、
    前記ローカルのファイルサーバは、ファイルを指定したリード要求又はライト要求であるアクセス要求を送信する複数のユーザ端末に接続されており、
    各ユーザ端末は、前記リード要求の前に、オープン要求を送信し、前記リード要求の後に、クローズ要求を送信し、
    (A)前記ローカルのファイルサーバが、前記ローカルの記憶デバイス内のファイルを前記インターネットを介して前記リモートのファイルサーバに転送し、前記リモートのファイルサーバが、そのファイルを前記リモートの記憶デバイスに格納し、それにより、そのファイルがレプリケーションされ、
    (B)前記ローカルのファイルサーバが、第1の条件が満たされた場合に、レプリケーションされたファイルである、前記ローカルの記憶デバイス内のレプリケーション済みファイルを、削除可能なマイグレーション対象ファイルとして、前記ローカルの記憶デバイスから削除せずに管理し、
    (C)前記ローカルのファイルサーバが、前記マイグレーション対象ファイルについて、前記オープン要求を受信する都度に、そのファイルについてのカウント値を第1の規則に従って更新し、
    (D)前記ローカルのファイルサーバが、前記マイグレーション対象ファイルについて、前記クローズ要求を受信する都度に、そのファイルについてのカウント値を第2の規則に従って更新し、
    (E)前記ローカルのファイルサーバが、第2の条件が満たされた場合に、前記マイグレーション対象ファイルを前記ローカルの記憶デバイスから削除し、
    前記第2の条件とは、前記マイグレーション対象ファイルについてのカウント値の更新が開始された後に、そのカウント値が所定の値になったことであり、
    前記所定の値は、ファイルがどのユーザ端末からも参照されていないことに相当する値である、
    ストレージシステム。
  13. リモートの記憶デバイスを管理するリモートのファイルサーバが接続されているインターネットに接続されており、ファイルを指定したリード要求又はライト要求であるアクセス要求を送信する複数のユーザ端末に接続されており、各ユーザ端末から、前記リード要求の前に、オープン要求を受信し、前記リード要求の後に、クローズ要求を受信し、ローカルの記憶デバイスを管理するローカルのファイルサーバに、下記の(A)乃至(E)
    (A)前記ローカルの記憶デバイス内のファイルを前記リモートのファイルサーバにレプリケーションし、
    (B)第1の条件が満たされた場合に、レプリケーションされたファイルであるレプリケーション済みファイルを、削除可能なマイグレーション対象ファイルとして、前記ローカルの記憶デバイスから削除せずに管理し、
    (C)前記マイグレーション対象ファイルについて、前記オープン要求を受信する都度に、そのファイルについてのカウント値を第1の規則に従って更新し、
    (D)前記マイグレーション対象ファイルについて、前記クローズ要求を受信する都度に、そのファイルについてのカウント値を第2の規則に従って更新し、
    (E)第2の条件が満たされた場合に、前記マイグレーション対象ファイルを前記ローカルの記憶デバイスから削除し、
    を実行させ、
    前記第2の条件とは、前記マイグレーション対象ファイルについてのカウント値の更新が開始された後に、そのカウント値が所定の値になったことであり、
    前記所定の値は、ファイルがどのユーザ端末からも参照されていないことに相当する値である、
    コンピュータプログラム。
JP2012517065A 2010-05-27 2010-05-27 通信ネットワークを介してリモートのファイルサーバにファイルを転送するローカルのファイルサーバ、及び、それらのファイルサーバを有するストレージシステム Expired - Fee Related JP5343166B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2010/059045 WO2011148496A1 (ja) 2010-05-27 2010-05-27 通信ネットワークを介してリモートのファイルサーバにファイルを転送するローカルのファイルサーバ、及び、それらのファイルサーバを有するストレージシステム

Publications (2)

Publication Number Publication Date
JPWO2011148496A1 JPWO2011148496A1 (ja) 2013-07-25
JP5343166B2 true JP5343166B2 (ja) 2013-11-13

Family

ID=45003503

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012517065A Expired - Fee Related JP5343166B2 (ja) 2010-05-27 2010-05-27 通信ネットワークを介してリモートのファイルサーバにファイルを転送するローカルのファイルサーバ、及び、それらのファイルサーバを有するストレージシステム

Country Status (5)

Country Link
US (1) US8832025B2 (ja)
EP (1) EP2579157B1 (ja)
JP (1) JP5343166B2 (ja)
CN (1) CN102870098B (ja)
WO (1) WO2011148496A1 (ja)

Families Citing this family (67)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2354977A1 (en) * 2010-02-10 2011-08-10 Deutsche Post AG Distributed architecture for paperwork imaging
US9342599B2 (en) * 2011-05-25 2016-05-17 Thomas Stetson Elliott Methods and systems for centralized audio and video news product collection, optimization, storage, and distribution
US9516003B2 (en) 2011-09-12 2016-12-06 Cache Cloud Llc Unified cloud computing network interface
CN104106063B (zh) * 2012-02-13 2017-06-30 株式会社日立制作所 用于分级存储系统的管理装置和管理方法
WO2013137898A2 (en) * 2012-03-16 2013-09-19 Empire Technology Development Llc Data migration
WO2013171787A2 (en) 2012-05-15 2013-11-21 Hitachi, Ltd. File storage system and load distribution method
EP2852897B1 (en) * 2012-05-20 2020-10-07 Microsoft Technology Licensing, LLC Server-based hierarchical mass storage system
US9355036B2 (en) 2012-09-18 2016-05-31 Netapp, Inc. System and method for operating a system to cache a networked file system utilizing tiered storage and customizable eviction policies based on priority and tiers
US9092446B2 (en) 2012-11-29 2015-07-28 Hitachi, Ltd. Storage system and file management method
US9292457B2 (en) * 2012-12-07 2016-03-22 Nimbuz, Inc. Networking cloud and method of using the same
EP2880555A1 (en) 2012-12-17 2015-06-10 Hitachi, Ltd. File server, information system, and control method thereof
JP6023221B2 (ja) * 2013-01-24 2016-11-09 株式会社日立製作所 環境設定サーバ、計算機システム、及び環境設定方法
US9009204B2 (en) 2013-04-04 2015-04-14 Hitachi, Ltd. Storage system
US9286318B2 (en) 2013-04-22 2016-03-15 Hitachi, Ltd. Edge server and storage control method
US9471710B2 (en) 2013-06-14 2016-10-18 International Business Machines Corporation On-the-fly encoding method for efficient grouping and aggregation
US9311314B2 (en) * 2013-08-27 2016-04-12 Netapp, Inc. System and method for migrating data from a source file system to a destination file system with use of attribute manipulation
US9311331B2 (en) 2013-08-27 2016-04-12 Netapp, Inc. Detecting out-of-band (OOB) changes when replicating a source file system using an in-line system
US9300692B2 (en) 2013-08-27 2016-03-29 Netapp, Inc. System and method for implementing data migration while preserving security policies of a source filer
US10860529B2 (en) 2014-08-11 2020-12-08 Netapp Inc. System and method for planning and configuring a file system migration
US20160041996A1 (en) 2014-08-11 2016-02-11 Netapp, Inc. System and method for developing and implementing a migration plan for migrating a file system
US9304997B2 (en) * 2013-08-27 2016-04-05 Netapp, Inc. Asynchronously migrating a file system
US9477426B2 (en) 2013-10-01 2016-10-25 Hitachi, Ltd. Storage system and storage method
JP6492111B2 (ja) * 2014-06-24 2019-03-27 グーグル エルエルシー コンテンツアイテムの記憶
US10198445B2 (en) * 2014-06-30 2019-02-05 Google Llc Automated archiving of user generated media files
CN106537881B (zh) 2014-08-26 2021-01-29 Ctera网络有限责任公司 基于存根追踪允许同步访问云存储系统的方法及计算设备
US10275316B2 (en) 2014-08-27 2019-04-30 Hitachi, Ltd. Storage system, control method of storage system, server apparatus, and control method of server apparatus
US20170185605A1 (en) * 2014-09-10 2017-06-29 Hitachi, Ltd. File server apparatus, method, and computer system
US20170351699A1 (en) * 2014-12-22 2017-12-07 Hewlett Packard Enterprise Development Lp File value file replication
CN104580470A (zh) * 2015-01-12 2015-04-29 浪潮电子信息产业股份有限公司 一种同步远程复制实现方法
US10831715B2 (en) 2015-01-30 2020-11-10 Dropbox, Inc. Selective downloading of shared content items in a constrained synchronization system
KR102064696B1 (ko) * 2015-01-30 2020-02-11 드롭박스, 인크. 공유 콘텐츠 항목의 저장소 제약된 동기화
US10248705B2 (en) 2015-01-30 2019-04-02 Dropbox, Inc. Storage constrained synchronization of shared content items
US9361349B1 (en) 2015-01-30 2016-06-07 Dropbox, Inc. Storage constrained synchronization of shared content items
US10650011B2 (en) * 2015-03-20 2020-05-12 International Business Machines Corporation Efficient performance of insert and point query operations in a column store
US9922064B2 (en) 2015-03-20 2018-03-20 International Business Machines Corporation Parallel build of non-partitioned join hash tables and non-enforced N:1 join hash tables
US10831736B2 (en) 2015-03-27 2020-11-10 International Business Machines Corporation Fast multi-tier indexing supporting dynamic update
US10108653B2 (en) 2015-03-27 2018-10-23 International Business Machines Corporation Concurrent reads and inserts into a data structure without latching or waiting by readers
US10025796B2 (en) * 2015-04-29 2018-07-17 Box, Inc. Operation mapping in a virtual file system for cloud-based shared content
US10049145B2 (en) 2016-04-25 2018-08-14 Dropbox, Inc. Storage constrained synchronization engine
US10719532B2 (en) 2016-04-25 2020-07-21 Dropbox, Inc. Storage constrained synchronization engine
US10051142B1 (en) 2016-05-20 2018-08-14 Google Llc Adaptive display of image capacity for a camera
US20170366406A1 (en) * 2016-06-18 2017-12-21 Lior Malka Sealed network servers
JP6952060B2 (ja) 2016-06-21 2021-10-20 オラクル・インターナショナル・コーポレイション インターネットクラウドでホストされる自然言語による対話型メッセージングシステムユーザリゾルバ
JP7068195B2 (ja) 2016-06-21 2022-05-16 オラクル・インターナショナル・コーポレイション インターネットクラウドでホストされる自然言語による対話型メッセージングシステムセッション化部
WO2017222617A1 (en) 2016-06-21 2017-12-28 Oracle International Corporation Internet cloud-hosted natural language interactive messaging system server collaboration
JP6231623B2 (ja) * 2016-07-19 2017-11-15 株式会社日立製作所 ファイルサーバ、情報システム、及び情報システムの制御方法
WO2018051429A1 (ja) * 2016-09-14 2018-03-22 株式会社日立製作所 ファイルサーバ及び情報システム
EP3513308A1 (en) * 2016-09-16 2019-07-24 Oracle International Corporation Internet cloud-hosted natural language interactive messaging system with entity-based communication
JP6591700B2 (ja) 2016-12-27 2019-10-16 株式会社日立製作所 システム、データ管理方法、及びファイルサーバ
US10891342B2 (en) 2017-01-12 2021-01-12 Google Llc Content data determination, transmission and storage for local devices
CA3051423A1 (en) * 2017-01-30 2018-08-02 Walmart Apollo, Llc Systems and methods for a specialized computer file system
US11341103B2 (en) * 2017-08-04 2022-05-24 International Business Machines Corporation Replicating and migrating files to secondary storage sites
US10372371B2 (en) * 2017-09-14 2019-08-06 International Business Machines Corporation Dynamic data relocation using cloud based ranks
US10372363B2 (en) * 2017-09-14 2019-08-06 International Business Machines Corporation Thin provisioning using cloud based ranks
US10721304B2 (en) 2017-09-14 2020-07-21 International Business Machines Corporation Storage system using cloud storage as a rank
US10581969B2 (en) 2017-09-14 2020-03-03 International Business Machines Corporation Storage system using cloud based ranks as replica storage
JP6304850B1 (ja) * 2017-11-02 2018-04-04 フリーダム合同会社 データ管理システム、プログラム、およびコンピュータ読み取り可能な記憶媒体
US11042448B2 (en) 2018-01-31 2021-06-22 EMC IP Holding Company LLC Archiving NAS servers to the cloud
US10848545B2 (en) 2018-01-31 2020-11-24 EMC IP Holding Company LLC Managing cloud storage of block-based and file-based data
US10740192B2 (en) 2018-01-31 2020-08-11 EMC IP Holding Company LLC Restoring NAS servers from the cloud
US10891257B2 (en) 2018-05-04 2021-01-12 EMC IP Holding Company, LLC Storage management system and method
US10860527B2 (en) 2018-05-04 2020-12-08 EMC IP Holding Company, LLC Storage management system and method
US11258853B2 (en) * 2018-05-04 2022-02-22 EMC IP Holding Company, LLC Storage management system and method
JP7082373B2 (ja) * 2019-03-27 2022-06-08 日本電信電話株式会社 データ管理装置およびデータ管理方法
JP2021096722A (ja) 2019-12-18 2021-06-24 株式会社日立製作所 計算機システム及びデータのアクセス制御方法
US11281541B2 (en) 2020-01-15 2022-03-22 EMC IP Holding Company LLC Dynamic snapshot backup in multi-cloud environment
WO2023201638A1 (zh) * 2022-04-21 2023-10-26 宇龙计算机通信科技(深圳)有限公司 文件的操作方法、装置、计算机设备和可读存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05158770A (ja) * 1991-05-21 1993-06-25 Hewlett Packard Co <Hp> 動的ファイル移動方法
JP2003316621A (ja) * 2002-04-22 2003-11-07 Toshiba Corp ファイリングシステム、ファイリングシステムのファイル移動方法、プログラム
JP2006039942A (ja) * 2004-07-27 2006-02-09 Nec Software Tohoku Ltd 階層記憶システムにおけるファイル管理装置及びそのファイル管理方法
JP2006079432A (ja) * 2004-09-10 2006-03-23 Hitachi Ltd ストレージ装置およびそのボリューム再配置方法
JP2006164211A (ja) * 2004-11-12 2006-06-22 Nec Corp ストレージ管理システムと方法並びにプログラム
JP2009289252A (ja) * 2008-05-30 2009-12-10 Hitachi Ltd 階層ストレージシステムでのリモート複製

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3865775B2 (ja) * 1995-04-11 2007-01-10 キネテック インコーポレイテッド データ処理システムにおけるデータの識別
US6269382B1 (en) 1998-08-31 2001-07-31 Microsoft Corporation Systems and methods for migration and recall of data from local and remote storage
DE60228958D1 (de) * 2001-06-21 2008-10-30 Ericsson Telefon Ab L M Verfahren zur sicheren dateiübertagung an eine vielzahl von zieladressen mit integritätsprüfung
US20050273486A1 (en) * 2004-06-03 2005-12-08 Keith Robert O Jr Virtual distributed file system
US20070088702A1 (en) * 2005-10-03 2007-04-19 Fridella Stephen A Intelligent network client for multi-protocol namespace redirection
JP5000457B2 (ja) 2007-10-31 2012-08-15 株式会社日立製作所 ファイル共有システム及びファイル共有方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05158770A (ja) * 1991-05-21 1993-06-25 Hewlett Packard Co <Hp> 動的ファイル移動方法
JP2003316621A (ja) * 2002-04-22 2003-11-07 Toshiba Corp ファイリングシステム、ファイリングシステムのファイル移動方法、プログラム
JP2006039942A (ja) * 2004-07-27 2006-02-09 Nec Software Tohoku Ltd 階層記憶システムにおけるファイル管理装置及びそのファイル管理方法
JP2006079432A (ja) * 2004-09-10 2006-03-23 Hitachi Ltd ストレージ装置およびそのボリューム再配置方法
JP2006164211A (ja) * 2004-11-12 2006-06-22 Nec Corp ストレージ管理システムと方法並びにプログラム
JP2009289252A (ja) * 2008-05-30 2009-12-10 Hitachi Ltd 階層ストレージシステムでのリモート複製

Also Published As

Publication number Publication date
US20120016838A1 (en) 2012-01-19
WO2011148496A1 (ja) 2011-12-01
JPWO2011148496A1 (ja) 2013-07-25
CN102870098B (zh) 2015-09-30
EP2579157A4 (en) 2014-02-26
EP2579157A1 (en) 2013-04-10
CN102870098A (zh) 2013-01-09
EP2579157B1 (en) 2016-12-07
US8832025B2 (en) 2014-09-09

Similar Documents

Publication Publication Date Title
JP5343166B2 (ja) 通信ネットワークを介してリモートのファイルサーバにファイルを転送するローカルのファイルサーバ、及び、それらのファイルサーバを有するストレージシステム
JP5427533B2 (ja) 階層ストレージ管理システムにおける重複ファイルの転送方法及びシステム
US9098528B2 (en) File storage system and load distribution method
US9928210B1 (en) Constrained backup image defragmentation optimization within deduplication system
US9116913B2 (en) File storage system and file cloning method
US8694469B2 (en) Cloud synthetic backups
US8473462B1 (en) Change tracking for shared disks
US8661055B2 (en) File server system and storage control method
US20150227543A1 (en) Method and apparatus for replication of files and file systems using a deduplication key space
US8650381B2 (en) Storage system using real data storage area dynamic allocation method
US20120096059A1 (en) Storage apparatus and file system management method
US20210216210A1 (en) Optimized migration of data between file systems of a storage array
JP2014525073A (ja) エクステント・ベース・アーキテクチャにおける重複排除
US20120254555A1 (en) Computer system and data management method
US9811534B2 (en) File server, information system, and control method thereof
WO2014066417A1 (en) Simplified copy offload
US20170185605A1 (en) File server apparatus, method, and computer system
US8612495B2 (en) Computer and data management method by the computer
US20120278442A1 (en) Server apparatus and method of controlling information system
US10157107B2 (en) Data backup and progressive restoration using data chunks in cloud storage and a data cache
WO2014064740A1 (en) Computer system and file server migration method
WO2019026222A1 (ja) ストレージシステム及びデータ転送制御方法
CN115840662A (zh) 一种数据备份系统及装置
WO2018051429A1 (ja) ファイルサーバ及び情報システム
JP2014215686A (ja) データ移行方法、この方法に用いるスクリプトの生成方法、及び情報処理装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130514

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130711

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130812

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5343166

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees