JP5066415B2 - ファイルシステム仮想化のための方法および装置 - Google Patents

ファイルシステム仮想化のための方法および装置 Download PDF

Info

Publication number
JP5066415B2
JP5066415B2 JP2007244708A JP2007244708A JP5066415B2 JP 5066415 B2 JP5066415 B2 JP 5066415B2 JP 2007244708 A JP2007244708 A JP 2007244708A JP 2007244708 A JP2007244708 A JP 2007244708A JP 5066415 B2 JP5066415 B2 JP 5066415B2
Authority
JP
Japan
Prior art keywords
file
nas
information
access request
nas system
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
JP2007244708A
Other languages
English (en)
Other versions
JP2008159027A (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 JP2008159027A publication Critical patent/JP2008159027A/ja
Application granted granted Critical
Publication of JP5066415B2 publication Critical patent/JP5066415B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • 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/1824Distributed file systems implemented using Network-attached Storage [NAS] architecture
    • G06F16/1827Management specifically adapted to NAS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/457Network directories; Name-to-address mapping containing identifiers of data entities on a computer, e.g. file names

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (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)

Description

本発明は、一般に、NAS(ネットワーク接続ストレージ)システムなどのストレージシステムに関する。
GNS(グローバルネームスペース)は、別々のNASシステムによって提供される複数のファイルシステムを統合して、単一の「グローバル」ネームスペースにし、統合されたネームスペースをNASクライアントに提供する機能である。GNSは、クライアントが、ファイルの実際のロケーションを知ることなしに、ファイルにアクセスすることを可能にする。また、GNSは、システム管理者が、多種多様なストレージデバイス、または物理的に分散したストレージデバイスにわたって広がるファイルストレージを集約し、ファイルストレージを単一のファイルシステムとして見て、管理することも可能にする。GNSを利用することにより、システム管理者は、クライアントの混乱を生じさせることなしに、1つのNASノードから別のNASノードにファイルシステムを移すことができ、クライアントは、まったく、マイグレーションについて知る必要なしに、またはファイルシステムマウントポイントを変更する必要なしに、新たなロケーションにおけるファイルに自動的にリダイレクトされる。ファイルシステムにおけるそのようなデータマイグレーションは、しばしば、容量管理、負荷分散、NAS取替え、および/またはデータライフサイクル管理の目的で行われる。このため、GNSは、ユーザからストレージアーキテクチャの複雑さを隠し、システム管理者が、どのようにユーザがファイルにアクセスするかに影響を及ぼすことなしに、物理レイヤを管理することができるようにする。
先行技術では、GNSは、ローカルファイルシステムレイヤにおいて実施されてきた。その方法の下では、複数のNASノードにわたるローカルファイルシステムが、ファイルシステムロケーション情報を交換し、格納することができる。すると、NASクライアントが、指定されたファイルシステムを有さないNASノードにアクセスした場合でも、NASノードは、その要求を適切なNASノードに転送することができる。しかし、以上の先行技術の方法により、異種のNASシステムからGNSを作成することが可能になることはない。というのは、その形態のGNSにおけるすべてのファイルシステムは、同一でなければならないからである。
他の先行技術には、GNSを提供するファイルシステムアプライアンスが含まれる。アプライアンスは、NFS(ネットワークファイルシステム)オペレーションを、基礎をなすNASシステムに転送する。アプライアンスは、アプライアンス内のファイルシステムロケーション情報に基づき、それらのオペレーションを適切なNASシステムに切り替えるだけであるので、アプライアンスは、異種のNASシステムからGNSを作成することができる。しかし、アプライアンスは、GNSを提供することができるだけであり、全体的なシステムの有用性および効率を高める、基礎をなすNASシステムにおける他の諸機能を仮想化することができない。さらに、先行技術のアプライアンス自体、独自のローカルファイルシステムおよびファイルデータを格納することができるNASシステムではない。
このため、先行技術は、NASシステムにおける真のファイルシステム仮想化を提供するための方法またはシステムをまったく教示することができていない。例えば、GNSは、ファイルシステム管理のため、およびNASシステムにおけるファイルシステムマイグレーションを円滑にするための便利な方法を提供する一方で、GNS単独では、さらなる利点を提供するための基礎をなすNASシステムのファイルシステム機能を仮想化することができない。
本発明は、ファイルシステムを仮想化するための方法および装置を開示する。本発明の諸実施形態では、第1のNASノードが、その他のNASシステムを仮想化し、仮想化されたNASシステムにわたるファイルレベルマイグレーション、ユーザアカウント管理、およびクォータ管理などの能力を提供することができる。本発明の以上、およびその他の特徴および利点は、好ましい諸実施形態の以下の詳細な説明に鑑みて、当業者には明白となろう。
添付の図面は、前段で与えられる一般的な説明、および後段で与えられる、好ましい諸実施形態の詳細な説明と一緒に、現在、企図される本発明の最良の形態の好ましい諸実施形態の諸原理を例示し、説明する役割をする。
本発明の以下の詳細な説明では、本開示の一部を成し、本発明が実施されることが可能な特定の諸実施形態が、例として、限定としてではなく、示されている、添付の図面を参照する。図面では、同様の符号は、いくつかの図のすべてにわたって、実質的に同様の構成要素を表す。さらに、図面、前段の説明、および後段の説明は、例示および説明だけを目的とし、まったく、本発明、または本願明細書の範囲を限定することを意図するものではない。
前述したとおり、GNSは、ファイルシステム管理およびファイルシステムマイグレーションのための便利な方法を提供するが、GNS単独では、基礎をなすファイルシステム機能を仮想化することができない。本発明は、ファイルシステムを仮想化するための方法および装置を開示し、GNSの作成を可能にする。一部の実施形態では、第1のNASノードが、システムにおける、その他のNASノード上に存在するファイルのファイル属性を保持して、第1のNASノードによる、その他のNASノードの仮想化を可能にする。第1のNASシステムは、仮想化されたNASノードにわたるファイルレベルマイグレーション、ユーザアカウント管理、およびクォータ管理などの能力を提供する。このため、本発明の諸実施形態は、害のないファイルレベルマイグレーションを提供し、基礎をなすファイルシステム機能を仮想化することができる。
本発明のNAS仮想化システムは、好ましくは、NFSレイヤにおいて実施される、GNSを提供することができる。GNSを可能にすることに加え、本発明のNAS仮想化システムは、ファイルレベルマイグレーションを可能にし、ファイルレベルマイグレーションとは、ファイルのパス名管理が、基礎をなすNASシステムに存在することを意味する。さらに、本発明のNAS仮想化システムは、仮想化レイヤにおいてファイル属性を管理することにより、ユーザアカウント管理、ユーザアクセス制御、およびクォータ管理などの、いくつかの機能を仮想化することができる。
第1の実施形態−システム構成
図1は、本発明の方法および装置が適用されることが可能な情報システムのハードウェア構成の実施例を示す。システムは、ネットワーク2500を介して通信することができる、1つまたは複数のNASクライアント1000と、管理ホスト1100と、1つまたは複数のNAS仮想化システム2000と、1つまたは複数のNASシステム3000とから成る。
各NASクライアント1000は、アプリケーションおよびNFSクライアントソフトウェア(図1に示さず)を格納するためのメモリ1002と、メモリ1002に読み込まれたソフトウェアを実行するためのCPU1001とを含むことが可能である。また、NASクライアント1000は、ネットワーク2500へのNASクライアント1000の接続を可能にするI/F(インターフェース)1003も含む。ネットワーク2500の通常の媒体は、イーサネット(登録商標)(例えば、LANに構成された)であることが可能であり、I/F1003は、NIC(ネットワークインターフェースカード)などであることが可能であるが、その他のネットワークプロトコルが、使用されることも可能である。
管理ホスト1100は、管理ソフトウェア(図1に示さず)を格納するためのメモリ1102を含み、メモリ1102に読み込まれたソフトウェアを実行するためのCPU1001を含む。管理ホスト1100は、ネットワーク2500を介して、NASシステム2000、3000との通信を可能にするためのI/F1103を含む。I/F1103は、NIC、または他の適切なインターフェースデバイスであることが可能である。
NAS仮想化システム2000は、主に、2つの部分、すなわち、NASヘッド2100と、ストレージシステム2400とから成る。さらに、ストレージシステム2400は、ストレージコントローラ2200と、ハードディスクドライブなどの、1つまたは複数のストレージデバイス2300とから成る。NASヘッド2100およびストレージシステム2400は、それぞれ、バックエンドI/F2105およびホストI/F2214を介して、通信のために接続されることが可能である。NASヘッド2100とストレージシステム2400とは、「ファイラ」と呼ばれる1つのストレージユニットの中に存在することが可能である。そのケースでは、それら2つの要素は、PCIバスなどのシステムバスを介して接続される。他方、NASヘッド2100とコントローラ2200とは、物理的に分離されることが可能である。そのケースでは、それら2つの要素は、FC(ファイバチャネル)またはイーサネット(登録商標)などのネットワーク接続を介して接続される。また、様々なハードウェアインプリメンテーションが可能であるが、それらのインプリメンテーションのいずれが、本発明に適用されることも可能である。さらに、複数のNAS仮想化システム2000が、情報システムにおいて提供されて、フェイルオーバ冗長性、負荷分散、または他の目的をもたらすことが可能である。
NASヘッド2100は、CPU2101と、メモリ2102と、キャッシュ2103と、ネットワーク2500と通信するためのフロントエンドネットワークI/F2104と、NASヘッド2100が、ストレージシステム2400と通信することを可能にするためのバックエンドI/F2105とを含む。NASヘッド2100は、NASクライアント1000および管理ホスト1100から受信されたアクセス要求および命令を処理する。NFS要求、または他のオペレーションを処理するプログラム(図2に関連して後段で説明する)が、メモリ2002の中に格納され、CPU2001が、そのプログラムを実行する。キャッシュ2103は、NFSクライアント1012から受信されたNFS書込みデータを、そのデータが、ストレージシステム2400に転送される前に、一時的に格納し、キャッシュ2103は、NFSクライアント1012によって要求されたNFS読取りデータを、その読取りデータが、ストレージシステム2400から取り出されるにつれ、格納する。キャッシュ2103は、バッテリバックアップ不揮発性メモリであることが可能である。別のインプリメンテーションでは、メモリ2102とキャッシュメモリ2103とは、複合共通メモリである。
フロントエンドI/F2104は、ネットワーク2500を介して、NASヘッド2100とNASクライアント1000との間、およびNASヘッド2100とNASシステム3000との間をともに接続するのに使用される。したがって、イーサネット(登録商標)が、プロトコルタイプの通常の例である。バックエンドI/F2105は、NASヘッド2100とストレージシステム2400との間を接続するのに使用される。ファイバチャネルおよびイーサネット(登録商標)が、その接続タイプの通常の例である。代替として、NASヘッド2100とコントローラ2200との間の内部接続のケースでは(すなわち、単一ストレージユニットインプリメンテーションのケースでは)、システムバスが、その接続タイプの通常の例である。
ストレージコントローラ2200は、CPU2211と、メモリ2212と、キャッシュメモリ2213と、ホストI/F2214と、ディスクI/F(DKA)2215とを含む。ストレージコントローラ2200は、NASヘッド2100からのI/O(入力/出力)要求を処理する。I/O要求、または他のオペレーションを処理するプログラム(図示せず)が、メモリ2212の中に格納され、CPU2211が、そのプログラムを実行する。キャッシュメモリ2213は、NASヘッド2100から受信された書込みデータを、そのデータが、ディスクドライブ2300の中に格納される前に、一時的に格納し、あるいは、キャッシュメモリ2213は、NASヘッド2100によって要求された読取りデータを、そのデータが、ディスクドライブ2300から取り出されるにつれ、格納する。キャッシュ2213は、バッテリバックアップ不揮発性メモリであることが可能である。別のインプリメンテーションでは、メモリ2212とキャッシュメモリ2213とは、複合共通メモリであることが可能である。ホストI/F2214は、コントローラ2200が、バックエンドI/Fを介してNASヘッド2100と通信できるようにするのに使用される。ファイバチャネルおよびイーサネット(登録商標)が、その接続タイプの通常の例である。前述したとおり、PCIなどのシステムバス接続が、適用されることも可能である。ディスクI/F2215は、ストレージコントローラ2200との通信のためにディスクドライブ2300を接続するのに使用される。ディスクドライブ2300は、SCSIコマンドなどのディスクデバイスコマンドに従ってI/O要求を処理する。
NASシステム3000に関して、ハードウェア構成は、NAS仮想化システム2000に関して前述したのと同一であり、したがって、再び説明する必要はない。また、NAS仮想化システム2000の場合と同様に、様々なハードウェアインプリメンテーションが可能であるものの、それらのインプリメンテーションのいずれが、本発明に適用されることも可能である。NAS仮想化システム2000とNASシステム3000との違いは、主に、存在するソフトウェアモジュールおよびデータ構造、ならびにNAS仮想化システム2000の機能による。他の適切なハードウェアアーキテクチャが、本発明に適用されることも可能である。
図2は、本発明の方法および装置が適用されることが可能なソフトウェア構成の実施例を示す。前述したとおり、各NASクライアント1000は、コンピュータであることが可能であり、そのコンピュータ上で、何らかのAP(アプリケーション)1011が、ファイル操作オペレーションを生成する。また、NFSv2、NFSv3、NFSv4、またはCIFSなどのNFS(ネットワークファイルシステム)クライアントプログラム1012も、通常、NASクライアントノード1000上に存在する。NFSクライアントプログラム1012は、TCP/IP(伝送制御プロトコル/インターネットプロトコル)などのネットワークプロトコルを介して、NAS仮想化システム2000上のNFSサーバプログラム2121と通信する。NFSクライアント1012およびNAS仮想化システム2000は、ネットワーク2500を介して通信することができる。他のインプリメンテーションでは、NASクライアント1000が、ネットワーク2500を介してNASシステム3000との通信のために直接に接続されることが可能であるが、そのようなケースでは、NASクライアントは、本発明によって提供されるNAS仮想化の利点を分かち合うことができない。
管理ホスト1100は、管理ホスト1100上に存在する管理ソフトウェア1111を含む。システム構成設定などのNAS管理オペレーションは、管理ソフトウェア1111から発行されることが可能である。さらに、管理ソフトウェア1111は、管理者が、情報システムを管理することができるようにするインターフェースを、通常、提供する。
NAS仮想化システム2000では、NASヘッド2100は、仮想化提供手段の役割をし、ファイル関連オペレーションは、NASヘッド2100において処理される。NASヘッド2100は、NFSサーバ2121と、ローカルファイルシステム2130と、ドライバ2140とを含む。ローカルファイルシステム2130は、ストレージシステム2400上のファイルシステムに対するファイルI/Oオペレーションを処理する。ドライバ2140は、ファイルI/Oオペレーションをブロックレベルオペレーションに変換し、SCSIコマンドを介してストレージコントローラ2200と通信する。NFSサーバ2121は、NASクライアント1000上の両方のNFSクライアント1012との通信を可能にし、また、NAS仮想化システム2000上のファイルシステムに対するNFSオペレーションの処理も可能にする。さらに、ファイルシステムがGNS(グローバルネームスペース)の一部であるNASシステム3000上に位置するファイルシステムに向けられたオペレーションは、NAS仮想化システム2000上のNFSサーバ2121において、より正確には、NFSサーバレイヤとRPC(リモートプロシージャコール)レイヤとの間で処理されることが可能である。
NFSサーバ2121は、メモリ2102、または他のコンピュータ読取り可能媒体の中に格納された複数のモジュールおよび/またはデータ構造を含む。それらのモジュールおよびデータ構造は、NFSサーバ2121の一部であってもよく、あるいはNFSサーバ2121の外部に存在し、必要とされる際に、NFSサーバ2121によって単に呼び出される、または実施されることも可能である。それらのモジュールおよびデータ構造は、仮想化およびファイル関連オペレーションを実行するために利用され、フォワーダモジュール2122、MPMT(マウントポイント管理テーブル)2123、FLT(ファイルロケーションテーブル)2124、IFLT(inode−ファイルロケーションテーブル)2125、IAMT(統合アカウント管理テーブル)2126、および統合クォータ管理テーブルIQMT2127を含む。フォワーダモジュール2122は、NFSクライアント1012からNASシステム3000に送信されたNFSオペレーションを捕捉する、または傍受する。フォワーダモジュール2122は、NASシステム3000の1つに向けられたNFSオペレーションを受信すると、そのNFSオペレーションの中で、そのオペレーションの宛先を表すビットを含むファイルハンドルを探し出す。次に、フォワーダモジュール2122は、ファイルハンドルの中の宛先情報に基づき、そのオペレーションを宛先NASシステム3000に転送する。オペレーションの宛先アドレスは、MPMT(マウントポイント管理テーブル)2123によって管理されることが可能である。GNSの管理に加えて、ファイルレベルマイグレーションも、そのレイヤ上で実行されることが可能であり、FLT(ファイルロケーションテーブル)2124が、ファイルレベルマイグレーションにおいて利用されることが可能である。
さらに、NASシステム3000によって提供される一部のNAS機能は、NAS仮想化システム2000において処理されることが可能であり、このことは、NAS仮想化システム2000が、NASシステム3000の諸機能を仮想化することを意味する。IFLT(inode−ファイルロケーションテーブル)2125が、その役割において利用されることが可能である。アカウント管理およびクォータ管理が、そのような仮想化された機能の例である。さらに、NAS仮想化システム2000が、NASシステム3000のアカウント管理を仮想化する際、IAMT(統合アカウント管理テーブル)2126が、使用されることが可能である。NAS仮想化システムが、NASシステムのクォータ管理を仮想化する際、IQMT(統合クォータ管理テーブル)2127が、使用されることが可能である。その他のモジュールおよび/またはデータ構造が、後段で説明するとおり、本発明の特定の諸実施形態に関して含められることが可能である。
ストレージシステム2400上のストレージコントローラ2200は、ディスクドライブ2300上の物理ストレージスペースを割り当てられた論理ボリューム2310の中にデータを格納するための、NASヘッド2100から受信されたSCSIコマンドを処理する。このため、ボリューム2310は、1つまたは複数のディスクドライブ2300上のストレージ容量から成り、ファイルシステムは、ファイルを格納するためにボリューム2310において作成されることが可能である。
NAS仮想化システム2000と同様に、各NASシステム3000も、2つの主要な部分、NASヘッド3100と、ストレージシステム3400とから成ることが可能である。NASヘッド3100は、ファイル関連オペレーションを実行し、NFSサーバ3121と、ローカルファイルシステム3130と、ドライバ3140とを含む。ローカルファイルシステム3130は、ストレージシステム3400に対するファイルI/Oオペレーションを処理する。ドライバ3140が、ファイルI/Oオペレーションをブロックレベルオペレーションに変換し、SCSIコマンドを介してストレージコントローラ3200と通信する。NFSサーバ3121は、NASシステム3000が、NAS仮想化システム2000と通信することができるようにする。代替の諸実施形態では、NFSサーバ3121は、NASクライアント1000上のNFSクライアント1012と直接に通信することもできるが、そのようなケースでは、NFSオペレーションは、GNSの一部ではないファイルシステムに送信される。
ストレージシステム3400は、ディスクドライブ3300上の物理ストレージスペースを割り当てられた論理ボリューム3310の中にデータを格納するための、NASヘッド3100から受信されたSCSIコマンドを処理する、ストレージコントローラ3200を含む。ボリューム3310は、1つまたは複数のディスクドライブ3300上のストレージ容量を割り当てられ、ファイルシステムが、ファイルを格納するためにボリューム3310において作成される。
GNS(グローバルネームスペース)
GNS(グローバルネームスペース)は、複数の別々のNASシステムによって提供される複数の別々のファイルシステムを統合して、単一の統合されたネームスペースにし、NASクライアントの使用のための統合されたネームスペースを提供する機能である。GNSを利用することにより、システム管理者は、クライアントの混乱なしに、ファイルシステム、またはファイルシステムの一部分を、あるNASノードから別のNASノードに移すことができ、このことは、クライアントが、そのマイグレーションについて知る必要がなく、移されたファイルまたはディレクトリにアクセスするのにマウントポイントを変更しなくてもよいことを意味する。そのようなマイグレーションは、容量管理、負荷分散、NAS取替え、および/またはデータライフサイクル管理のために行われる可能性がある。
本発明のNAS仮想化システム2000は、GNS機能を提供することができる。本発明のGNSは、NFSレイヤにおいて実施されることが可能である。図3は、本発明のGNS機能の概念図を表す。NAS仮想化システム2000が、NAS1 3000−1上のFS1(ファイルシステム1)3500、NAS2 3000−2上のFS2(ファイルシステム2)4500、およびNAS3 3000−3上のFS3(ファイルシステム3)5500からGNS2500を作成する。GNS2500において、FS1 3500は、「/gnsroot/fs1」上にマウントされ、FS2 4500は、「/gnsroot/fs2」上にマウントされ、FS3 5500は、「/gnsroot/fs3」上にマウントされる。この例では、ファイルシステムは、基礎をなす別々のNASシステム3000−1、3000−2、および3000−3の上に存在するファイルシステムから成るNAS仮想化システム2000上でGNSを構築する。しかし、以上は、本発明の制約ではなく、そのことは、NAS仮想化システム2000自体も、NASシステムであるため、NAS仮想化システム2000上に位置するファイルシステムも、GNSに参加でき、これにより、先行技術に優る利点がもたらされることを意味する。
MPMT(マウントポイント管理テーブル)作成段階
最初に、システム管理者が、管理ホスト1100上の管理ソフトウェア1111の使用を介して、MPMT(マウントポイント管理テーブル)2123のようなファイルシステムマッピングテーブルを含むGNSをNAS仮想化システム2000上で作成する。MPMT2123は、NASシステム上のファイルシステムに対する、GNSの中のマウントポイントの関連付けを保持する。図3に示されるとおり、ファイルシステムマッピングテーブルの通常のエントリは、マウントポイント、ファイルハンドルの中のノードビット情報、およびファイルシステムを獲得するためのノード名である。
通常、NFSファイルハンドルは、ファイルを格納するNASシステムによって、そのファイルに割り当てられた規定のビット長(例えば、32ビット)を有する、番号などの、固有ファイル識別子である。ファイルハンドルは、ファイルにアクセスするのに、各アクセスに関して、ファイルの完全なパスを使用しなければならないのではなく、NASシステムによって内部で使用される速記リファレンスである。
本発明によれば、NAS仮想化システム2000は、情報システムにおけるファイルのロケーションを識別するのに役立つよう、ファイルハンドルにノードビット情報を追加する。ファイルハンドルに追加されたノードビット情報は、情報システムにおけるファイルシステムロケーションを表す(すなわち、仮想化システム2000は、GNSを構成する各ファイルシステムが実際に格納されているNASノードを表す番号を作成する)。このため、ノードビット情報は、ファイルハンドルに付加、または追加されると、そのファイルハンドルによって識別されるファイルを含むファイルシステムが、いずれのノードに位置しているかを示す、さらなる情報を、ファイルハンドルの中でもたらす。
オペレーションの際、フォワーダモジュール2122は、クライアントからのNFSオペレーションを捕捉し、ノードビット情報を読み取り、そのNFSオペレーションを、ノードビットによって示される適切なNASシステム3000に転送する。ファイルが、NAS仮想化システム2000自体の中に位置していることを、ノードビット情報が示す場合、そのNFSオペレーションは、転送されなくてもよく、代わりに、ローカルで処理される。前述したとおり、フォワーダモジュール2122によって実行されるオペレーションは、NFSサーバレイヤとRPCレイヤとの間で実施されることが可能である。さらに、MPMT2123が作成された時点で、すべてのNASノードに対するノードビットパターンが、決定され、ファイルハンドルのために使用されるべきノードビット情報としてMPMTの中に格納される。
ファイルアクセス段階
通常、ファイルにアクセスすることができるにはまず、NFSクライアント1012が、そのファイルに関するファイルハンドルを獲得する必要がある。図4は、本発明によるファイルハンドルを生成する通常の手続きを示し、実行されるステップの説明を以下に示す。
ステップ8000:NFSクライアント1012が、「/gnsroot/fs1/a.txt」のようなファイルのパス名を指定することにより、ファイルに関するファイルハンドルを要求する。したがって、NFSクライアント1012は、「a.txt」という名前が付けられ、NAS1 3000−1上のFS1 3500の中に格納されたファイルに関するファイルハンドルを獲得することを所望する。
ステップ8001:NAS仮想化システム2000上のフォワーダモジュール2122が、その要求を捕捉し、その要求の中でパス名の部分(「/gnsroot/fs1」)を識別し、MPMT2123を調べて、ターゲットとされる宛先NASノードを特定する。
ステップ8002:フォワーダモジュール2122が、MPMT2123の中の宛先ノードエントリに基づき、その要求を宛先NASノードに転送する。与えられる例では、パス名により、FS1が識別され、したがって、フォワーダモジュール2122は、その要求をNAS1 3000−1に転送して、NAS1 3000−1からファイルハンドルを獲得する。
ステップ8003:NAS1が、ファイル「a.txt」に関するファイルハンドルを生成し、生成されたファイルハンドルを、NAS仮想化システム2000内のフォワーダモジュール2122に送り返す。
ステップ8004:ファイルハンドルを要求側のNFSクライアントに送信するのに先立ち、フォワーダモジュール2122は、「0001」のような、ファイルハンドルの中でノード情報を直接に指定するノードビット情報を、ファイルハンドルに追加する。ノードビットの長さは、GNSを作成する際に使用されるすべてのNASノードを個々に指定するだけ十分に長い数でなければならない。前述したとおり、各NASノードに関するノードビットは、MPMT作成時に決定されることが可能である。代替として、ノードビット情報は、ノードビット情報が初めて必要とされる、その時点で決定されることが可能であり、ノードビットは、その時点で、MPMT2123の中に格納されることが可能である。
ステップ8005:フォワーダモジュール2122は、ファイルハンドルを要求側のNFSクライアント1012に戻し、すると、NFSクライアントは、そのファイルへのアクセスを要求する際に、そのファイルハンドルを使用することができる。
図5は、ファイル「/gnsroot/fs1/a.txt」に関する読取り要求または書込み要求などによって、ファイルにアクセスするための通常の手続きを示す。図5において実行されるステップの説明を以下に示す。
ステップ9000:NFSクライアント1012が、図4に示され、前述した手続きによってNFSクライアント1012が既に獲得しているファイルハンドルを指定して、ファイルにアクセスすることを要求する。
ステップ9001:NAS仮想化システム2000上のフォワーダモジュール2122は、NFSクライアントからの、その要求を捕捉し、その要求の中に含まれるファイルハンドルのノードビット情報を識別し、MPMT2123を参照して、対応する宛先NASノード名を特定する。
ステップ9002:その要求を、対応するNASノードに転送する前に、フォワーダモジュール2122は、ファイルハンドルからノードビット情報を削除する。このようにすることは、本発明の一部のインプリメンテーションにおいて必要である。というのは、より下位のNASシステム3000は、ファイルハンドルに付加されたノードビット情報を必ずしも認識しないからである。
ステップ9003:フォワーダモジュール2122が、変更されたファイルハンドルを伴う要求を、対応する宛先NASノードに転送する。前段で説明した例では、要求は、NAS1 3000−1に転送される。
ステップ9004:宛先NASノードが、その要求を処理し、NAS仮想化システム2000に応答を送り返す。
ステップ9005:フォワーダモジュール2122が、NAS1から、その応答を受信し、フォワーダモジュールは、ノードビット情報をファイルハンドルに再び追加する。代替として、ファイルハンドルが、時として、ベンダのために確保された領域をファイルハンドルが有するケースのように、確保された領域を有し、NASシステム3000が、ファイルハンドルの、その領域を適切に無視することができる場合、本発明は、その確保された領域を、ノードビット情報を入れるために使用することができる。例えば、一部のインプリメンテーションにおいて、より下位のNASシステム3000は、ファイルハンドルの終わりの32ビット以外は、無視する可能性がある。そのようなケースでは、ステップ9002およびステップ9005は、なくすことができる。というのは、ノードビット情報を削除し、その後、ファイルハンドルに再び追加する必要がないからである。
ステップ9006:フォワーダモジュール2122が、追加されたノードビット情報を有するファイルハンドルを含む応答を、要求側のNFSクライアントに戻す。
図3によってやはり示される他の諸実施形態では、本発明のNAS仮想化システム2000は、Nノードクラスタ構成に構成されることが可能であり、このことは、基礎をなすNASノード3000を仮想化する役割をそれぞれが果たす「N」個のNAS仮想化システム2000のいずれの1つにも、NFSクライアント1012がアクセスすることができることを意味する。そのケースでは、MPMT2123のような、あらゆる管理テーブルが、クラスタの中の、それらのNAS仮想化システム2000の間で同期される。クラスタ構成を許すことにより、NASクライアント1012は、複数のNAS仮想化システム2000にわたってI/O作業負荷を分散させることができる。
ファイルレベルマイグレーション
GNSは、複数のファイルシステムを統合して、単一のネームスペースにすることができる。これにより、マイグレーションが、ファイルシステム全体のユニットごとに、単一のファイルレベルで、またはその中間のどこか(すなわち、ディレクトリレベル)で行われることが可能になる。このため、本発明は、クライアントに混乱を生じさせないファイルレベルマイグレーションの方法を提供する。この文脈において、ファイルレベルマイグレーションには、ディレクトリマイグレーションが含まれる。前述したとおり、ファイルレベルマイグレーションが、望ましい可能性がある、いくつかの理由には、データライフサイクル管理または階層ストレージ管理が含まれ、それらのケースでは、ファイルシステム全体ではなく、個々のファイルもしくはディレクトリのマイグレーションなどの、細分化されたマイグレーションが有用である可能性がある。
図6は、ファイルレベルマイグレーション機構の概念図を表す。システム構成は、図3に関連して前述したのと同一である。GNS2500が、NAS1 3000−1上のFS1 3500、NAS2 3000−2上のFS2 4500、およびNAS3 3000−3上のFS3 5500から構築される。MPMT2123は、GNSに関して既に構成されているものと想定される。このシナリオの下で、「/gnsroot/fs1/dir1/a.txt」のようなFS1の中のファイル3991が、FS3の中に移され、ファイル3991のパスは、そのマイグレーションの後、「/fs3/dir2/a.txt」になる。図6に示されるとおり、NAS仮想化システム2121は、そのマイグレーションを実行するためのマイグレーションエンジン2160を含むことが可能であり、ファイルロケーションテーブルFLT2124が、その新たなファイルパスを把握しておくために使用される。
例を与えると、一部の実施形態では、階層ストレージのケースにおいて、NAS1 3000−1は、ディスクドライブ3300が、FCドライブなどの、第1の高性能タイプであり、FS1が、NAS1 3000−1の中のFCドライブに割り当てられたボリューム上に存在する、第1のパフォーマンス層を組み込むことが可能である。他方、NAS3 3000−3は、ディスクドライブ3300が、SATAドライブなどの、より低価格の、より低性能のタイプであり、FS3が、それらのSATAドライブに割り当てられたボリューム上に存在する、より低い層のパフォーマンスレベルを組み込むことが可能である。すると、管理者が、「/gnsroot/fs1/dir1/a.txt」のような未使用のファイルを、より低価格のSATAドライブに移して、より高性能の、より高価なFCドライブ上のストレージスペースが、解放されることが可能であるようにすることを所望する。そのため、図6に示されるとおり、第1のファイルまたはディレクトリ3991が、FS1からFS3に移されて、FS1におけるストレージ容量が解放され、他方、第2のファイルまたはディレクトリ3992が、その他の目的でFS3からFS2に移されることが可能である。以上のマイグレーションを実現するための機構を、以下にさらに詳細に説明する。
ファイルマイグレーション段階
図7は、ファイルまたはディレクトリのマイグレーションを実行するための制御フローを示し、その制御フローのステップを以下に説明する。
ステップ10000:管理者、またはNAS仮想化システム2000上、もしくは外部コンピュータ上のマイグレーションエンジン2160が、「/fs1/dir/a.txt」としてNAS1 3000−1上にある第1ファイル3991「/gnsroot/fs1/dir1/a.txt」を、「/fs3/dir2/a.txt」としてNAS3 3000−3に移動する。このマイグレーションプロセス中におけるファイル3991へのアクセスの試みを取り扱う、いくつかのオプションが存在し、それらのオプションの3つが、オプション(a)、(b)、および(c)として以下に設定される。
(a)NAS仮想化システム2000は、エラーメッセージを送り返すことなどにより、ファイル3991への、あらゆるクライアントアクセスの試みを拒否することができる。そのケースでは、ファイルアクセスは、特に、非常に大きいディレクトリを移すケースにおいて、長期間にわたって遅延される可能性がある。
(b)NAS仮想化システム2000は、いずれであれ、アクセス要求を有する特定のファイルを、先に移動させることができる。これにより、要求されたファイルへのアクセスが、そのファイルが正常に移されるとすぐに利用できるようになるため、アクセス遅延が最小限に抑えられる。
(c)NAS仮想化システム2000は、アクセス要求(書込みのケースで)をキャッシュし、その後、そのキャッシュされた書込みデータを、マイグレーションを終了した後、ファイルに反映させることができる。キャッシングの方法に関して、NAS仮想化システム2000は、ファイルへのオペレーションを格納するよう、NAS仮想化システム2000内のメモリまたはディスクスペースを準備することができる。そのケースでは、マイグレーション中にファイルに行われた変更は、失われてはならず、さもなければ、NFSクライアント1012とNASシステム2000、3000との間でデータの不整合が生じる可能性がある。キャッシングのための一方法は、NAS仮想化システム自体が、NASシステムであるため、NAS仮想化システム2000によって提供されるファイルシステムを利用することである。ファイルは、NAS仮想化システム2000内のファイルシステム上に一時的に移されることが可能である。次に、マイグレーション中にファイルに行われたすべての変更が、NAS仮想化システム2000内のファイルのコピーに対して実行されることが可能である。マイグレーションを終了した後、NAS仮想化システム2000内のファイルのコピーが、NASシステム3000上のマイグレーション宛先にコピーされる。
ステップ10001:マイグレーションを終了した後、NAS仮想化システム2000上のマイグレーションモジュール2160(またはマイグレーションモジュール2160によって呼び出されたフォワーダモジュール2122)が、移されたファイルに関する新たなファイルハンドルを獲得する。
ステップ10002:マイグレーションモジュール2160またはフォワーダモジュール2122が、NAS仮想化システム2000上でFLT(ファイルロケーションテーブル)2124を作成する。FLT2124の通常のエントリには、元のファイルパスおよび元のファイルハンドル、宛先ノード名、宛先ファイルパス、ならびに現在のファイルハンドルが含まれることが可能である。
マイグレーションの後に続くファイルアクセス段階
図8は、以下に示されるステップにおいても説明される、移されたファイルへのファイルアクセスの制御フローを示す。
ステップ11000:NFSクライアント1012は、元のファイルハンドルを使用することにより、ファイルにアクセスする要求を送信する。というのは、クライアントは、そのファイルのマイグレーションについて知らないからである。
ステップ11001:NAS仮想化システム2000上のフォワーダモジュール2122が、NFSクライアントからのNFSオペレーションを捕捉し、ファイルパス名またはファイルハンドルを識別し、要求の中に含まれるファイルハンドルまたはパスを探すことによってFLT2124を参照する。
ステップ11002:そのファイルが、FLT2124の中に存在する場合、そのことは、ファイルが、移されていることを意味し、プロセスは、ステップ1103に進む。そのファイルが、FLT2124の中に存在しない場合、そのことは、そのファイルのマイグレーションが、行われていないことを意味し、プロセスは、ステップ1107に進み、図5で詳細に説明されるプロセスを実行する。
ステップ11003:ファイルパス名またはファイルハンドルが、FLT2124の中にある場合、そのことは、その要求されるファイルに関して、ファイルマイグレーションが行われていることを意味する。フォワーダモジュール2122は、FLT2124から、現在のファイルハンドルを特定し、現在のファイルハンドルを要求の中に代入する。
ステップ11004:フォワーダモジュール2122が、現在のファイルハンドルを伴う要求を、FLT2124の中で示される宛先ノード名カラムに基づく宛先NASノードに転送する。
ステップ11005:宛先NASノードは、オペレーションを処理し、応答をNAS仮想化システム2000に送り返す。
ステップ11006:宛先NASが、応答をNAS仮想化システム2000に送り返すと、フォワーダモジュール2122は、元のファイルハンドル、およびノードビット情報を使用して、その応答を要求側のNFSクライアントに転送する。このようにして、ユーザは、ファイルが移されるたびに、そのファイルにアクセスするために使用されるファイルハンドルを変更しなくてもよい。
ステップ11007:ファイルパス名またはファイルハンドルが、FLTの中にない場合、そのことは、ファイルマイグレーションが、行われていないことを意味し、フォワーダモジュール2122は、MPMT2123を調べ、図5に関連して前述したGNSファイルアクセスと同一のファイルアクセス手続きに従う。
ステップ11008:宛先NASノードが、図5に関連して前述したとおり、そのオペレーションを処理し、応答を送り返す。
ステップ11009:フォワーダモジュールが、図5に関連して前述したとおり、ノードビット情報を元のファイルハンドルに再び追加し、その応答を要求側のNFSクライアントに戻す。
ある特定のNFSクライアント1012がファイルにアクセスする前に、ファイルマイグレーションが行われると、特定のNFSクライアントは、通常、ファイルハンドルを有さない。しかし、マイグレーションが行われたケースでは、フォワーダが、マイグレーションのために、そのファイルにアクセスすることができるようにするために、ファイルハンドルを獲得している。そのケースでは、手続きは、図4で前述した手続きとは異なる。図9は、その状況で実行されるプロセスフローを示す。
ステップ12000:NFSクライアント1012が、元のパスを使用して、元のファイルハンドルを取得する要求を送信する。というのは、クライアントは、そのファイルのマイグレーションについて知らないからである。
ステップ12001:NAS仮想化システム2000上のフォワーダモジュール2122が、そのオペレーションを捕捉し、ファイルパス名を識別し、FLT2124を参照する。
ステップ12002:ファイルは、移されているので、フォワーダモジュール2122は、FLT2124の中でファイルパス名を探し出し、そのファイルパス名を使用して、そのファイルに関する現在のファイルハンドル、および現在のパス名を特定する。(前述したとおり、現在のファイルハンドルは、マイグレーションの後に自動的に獲得される。)
ステップ12003:フォワーダモジュール2122は、次に、現在のパス名を使用してMPMT2123を参照し、ノードビット情報を探し出す。
ステップ12004:フォワーダモジュール2122は、そのノードビット情報を現在のファイルハンドルに追加し、そのファイルハンドルをNASクライアントに送り返す。
前述のステップ12002〜12004の代替として、元の(すなわち、マイグレーション前の)ファイルハンドルが、現在のファイルハンドルの代わりに、要求側のNFSクライアントに送り返されてもよい。この代替のオプションが、実行される場合、マイグレーションの履歴は、保存される。さらに、ステップ12004の場合のように、現在のファイルハンドルが、送り返されるケースでは、単一のファイルに関して、記録上に複数のファイルハンドルが存在し、そのことは、ファイル管理中に混乱をもたらす可能性がある。したがって、この代替のオプションは、フォワーダモジュール2122におけるオーバヘッドをわずかに増加させるものの、そのようなことを回避する。
このため、ファイルレベルマイグレーションを管理するために、NAS仮想化システムは、ファイルロケーションを保持し、管理する。ファイルロケーションに加えて、NAS仮想化システムが、一部のファイル、またはすべてのファイルのファイル属性をGNSの中で保持し、管理する場合、NAS仮想化システム2000は、基礎をなすNASシステム3000に代行して、いくつかのさらなる機能を提供することができる。
NAS仮想化システムにおける属性管理
また、本発明は、NAS仮想化システム2000内のGNSの中で、ファイルの一部またはすべてのファイルのファイル属性を管理することも可能にする。これを実現するのに、基礎をなすNASシステム3000は、単に、データストレージと見なされることが可能であり、NAS仮想化システムは、GNSの中のファイルにいくつかの機能を提供することができ、このことは、NAS仮想化システム2000が、基礎をなすNASシステム3000を仮想化することができることを意味する。さらに、オペレーションへの応答は、オペレーションが、基礎をなすNASシステム3000に転送されなくてもよいため、仮想化なしの場合より迅速であることが可能である。最初、属性を管理するための方法を説明する。その後で、NAS仮想化システムが提供することができる機能のいくつかの例を説明する。
図10は、NAS仮想化システム2000における属性管理の概念図を表す。それを実現するのに、NAS仮想化システムは、ファイル属性を保持するために、IFLT(inode−ファイルロケーションテーブル)2125である代替のテーブルを保持する。そうすることは、NAS仮想化システム2000が属性を保持することができるように、FLT2124をIFLT2125に拡張することを使用することが可能である。しかし、inode属性情報は、FLT2124と属性テーブルとの間の何らかの関連付けを使用するなどの、ファイルロケーションテーブルFLT2124以外の手段によって保持されることも可能である。図示される実施形態では、属性情報に対するポインタが、IFLT2125の中に格納される。このため、ファイルに関するinodeは、NAS仮想化システム2000内の別の場所に格納され、必要とされる際に、格納されたポインタ情報を使用して取り出される。しかし、他の諸実施形態では、属性情報自体も、IFLT2125の中に格納されることが可能である。
NAS仮想化システム2000において管理されることが可能な属性情報には、GETATTRのような通常のNFSオペレーションによって取り出されることが可能なinode情報が含まれる。本発明の下では、基礎をなすNASシステム3000上のファイルシステムとの新たなインターフェースを作成する際、それらのシステム上のファイルに関するすべてのinode情報も、取り出されることが可能である。図10に示されるとおり、NAS仮想化システム2000は、属性情報を取り出すためのリトリーバモジュール2170を含むことが可能である。属性は、ファイル名、所有者、グループ、読取り/書込み/実行許可、ファイルサイズなどの属性を含む、各ファイルに関するinodeを取り出すことによって取り出されることが可能である。inode全体が、NAS仮想化システム2000の中に格納されても、単に、いくつかの指定された属性だけが、格納されてもよい。
ファイル属性を取り出すこと
基礎をなすNASシステム3000からNAS仮想化システム2000へのファイル属性取出しを呼び出す、いくつかのタイミングが、存在する。通常の2つのケースには、(1)(通常、ディレクトリ別、または各ファイルシステム別の)何らかのスケジュールされた時点、および(2)(通常、各ファイル別の)ファイルマイグレーションの時点が含まれる。
第1のケースでは、管理者が、リトリーバモジュール2170を呼び出し、またはリトリーバモジュール2170において、ファイル属性を取り出すスケジュールを設定する。呼び出された後、リトリーバモジュール2170は、指定されたファイル群の各ファイルのinode情報を読み取り、その情報を、NAS仮想化システム2000上のIFLT2125の中に格納する。ファイルに関するすべての属性情報が格納されると、ファイルへのすべての属性アクセスが、NAS仮想化システム2000によって処理されることが可能である。
第2のケースでは、管理者またはマイグレーションモジュール2160が、ファイルを移す(図6〜図9に関連して前述したとおり)。マイグレーションを終了した後、リトリーバモジュール2170は、ファイルのinode情報を読み取り、その情報を、NAS仮想化システム2000上のIFLT2125の中に格納する。すると、ファイルへのすべての属性アクセスが、NAS仮想化システム2000によって処理されることが可能である。
属性管理を含むファイルアクセス段階
図11は、NAS仮想化システム2000によって管理される属性を有するファイルへの属性アクセスの制御フローを示す。
ステップ13000:NFSクライアント1012が、ファイルのファイルハンドルまたはファイルパス名を指定することにより、そのファイルの属性を見るアクセス要求を送信する。
ステップ13001:フォワーダモジュール2122が、そのオペレーションを捕捉し、ファイルパス名またはファイルハンドルを識別し、IFLT2125を参照する。
ステップ13002:フォワーダモジュール2122が、ファイルパス名の指定されたファイルハンドルに基づき、そのファイルが、IFLTの中に存在するかどうかを判定する。
ステップ13003:ファイルパス名またはファイルハンドルが、IFLT2125の中にある場合、そのことは、ファイル属性取出しが、行われており、かつ/またはファイルマイグレーションが、行われていることを意味する。ファイル属性取出しが、行われている場合、フォワーダモジュール2122は、要求されたオペレーションを進め、要求された属性情報をNASクライアントに送り返す。
ステップ13004:ファイルハンドルのファイルパスが、IFLT2125の中にない場合、ファイル属性取出しは、その指定されたファイルに関して行われていない。このため、フォワーダモジュール2122は、その要求を、そのファイルの属性情報を保持するNASシステム3000に転送しなければならない。そうすることは、図5のプロセスと同様の形で実行される。したがって、フォワーダは、MPMT2123を参照し、ファイルハンドルからノードビットを削除し、属性要求を宛先NASノードに転送する。
ステップ13005:宛先NASノードが、その要求を処理し、属性情報を伴う応答を送り返す。
ステップ13006:フォワーダモジュール2122が、ノードビット情報をファイルハンドルに再び追加し、その応答を要求側のクライアントに送信する。
以上、NAS仮想化システム2000が、GNSの中でファイルに関する属性情報を保持し、提供することができる方法を説明した。以下の2つのセクションでは、そのインプリメンテーションの利点を示す実施例が、与えられる。
アカウント管理およびアクセス制御
ユーザアカウント管理およびアクセス制御は、NAS仮想化レイヤにおいて扱われることが可能である。すべてのNASクライアントが、同一のユーザアカウント情報を有する場合、NAS仮想化システム2000は、同一のアカウント情報を有する必要があり、IFLT2125の中に格納された属性情報を使用することにより、アクセス制御を実行することができる。NAS仮想化システム2000は、基礎をなすNASノード3000にアクセスする際、特別なアカウントを使用する。このため、基礎をなすNASノード3000は、ユーザアカウント情報をもはや保持する必要がなく、もはや、各ユーザに関するアクセス制御を実行する必要がない。このことにより、一部のケースで、基礎をなすNASアクセス制御よりも迅速な、アクセス制御の応答がもたらされることが可能である。
部門の合併、または企業の合併が行われる場合、NASクライアントの間で、いくつかの異なるユーザアカウントが存在する可能性があり、ユーザアカウント競合を回避するためのソリューションが、システムにおいて実施される必要がある。ユーザアカウント情報を統合し、NAS仮想化レイヤ2000においてアクセス制御を管理する、いくつかのオプションが存在する。
1つのオプションの下では、基礎をなすNASノードのユーザアカウント情報(例えば、ユーザ名、パスワードなど)が統合されて、NAS仮想化システム2000における1つのアカウント情報になることが可能であり、すると、アクセス制御は、まったく、クライアントアカウント情報変更の必要なしに、NAS仮想化システム2000において行われることが可能である。さらに、基礎をなすNASのアカウント情報変更およびアクセス制御を変更する必要は、まったくない。というのは、NAS仮想化システム2000は、クライアント別にアクセスを制御し、NAS仮想化システム2000は、特別なアカウントを使用することにより、基礎をなすNASノード3000にアクセスするからである。
別のオプションの下では、すべてのクライアントのアカウント情報が、あらゆる競合を解消するように、変更されることが可能である。変更されたアカウント情報は、NAS仮想化システム2000にインストールされることが可能であり、すると、アクセス制御は、NAS仮想化システム2000によって確認される。また、これにより、基礎をなすNASノードのアカウント情報またはアクセス制御を変更する必要も解消される。というのは、NAS仮想化システム2000は、特別なアカウントを使用することにより、基礎をなすNASノード3000にアクセスするからである。
第3のオプションは、NAS仮想化システム2000においてユーザのアカウントが、他のユーザのアカウントと競合する場合、そのユーザアカウント情報を変更することである。NAS仮想化システム2000は、マッピング情報を保持し、新たなアカウント情報は、基礎をなすNASノード3000において登録される。基礎をなすNASノードは、ユーザアカウント情報およびアクセス制御の管理を保ち、クライアントアカウント情報変更の必要が、まったくないようにする。以下にさらに説明するIAMT(統合アカウント管理テーブル)2126が、このオプションを実行する際に利用されることが可能である。
以下に説明する実施例は、第1のオプションを使用する。というのは、第1のオプションは、クライアント側における変更がないことを実現するとともに、NAS仮想化レイヤアクセス制御も可能にするからである。図12は、NAS仮想化システムにおける統合されたアカウント管理およびアクセス制御の概念図を表す。これを実現するのに、NAS仮想化システム2000は、統合されたユーザアカウント情報を保持するために、IAMT(統合アカウント管理テーブル)2126を保持し、アカウント情報を統合して、IAMT2126を作成するためのインテグレータモジュール2180も含む。
IAMT2126の通常のエントリには、アカウントスペース名、ユーザ名、古いUID/GID(ユーザID/グループID)、および新たなUID/GIDが含まれる。アカウントスペース名は、クライアント側において使用されるユーザアカウントタイプのIDである。この場合、NASクライアント1 1000−1は、ユーザアカウントスペース1であり、NASクライアント2 1000−2は、ユーザアカウントスペース2である。NASクライアント1 1000−1とNASクライアント2 1000−2とは、1013と1213とのような別々のユーザアカウント情報を有し、NAS1 3000−1上のFS1 3500が、NASクライアント1によって使用され、ユーザネームスペース1に入っているのに対して、NAS2 3000−2上のFS2 4500は、NASクライアント2によって使用され、ユーザネームスペース2に入っている。このため、NAS1は、情報1013で示されるのと同一のユーザアカウント情報を有し、NAS2は、情報1213で示されるのと同一のユーザアカウント情報を有する。
IAMT作成段階
図13は、IAMT2126が、どのように作成されることが可能であるかの制御フローを示す。
ステップ14000:管理者が、アカウント情報が統合される必要があるクライアントアドレスまたはNASシステムアドレスを使用して、管理ソフトウェア1111を介して、NAS仮想化システム2000上のインテグレータモジュール2180を呼び出す。
ステップ14001:インテグレータモジュール2180が、指定されたユーザアカウント情報を読み取り、それらの情報を統合して、NAS仮想化システム2000上のIAMT2126にする。
ステップ14002:ステップ14000および14001の代替として、管理者が、管理ホスト1100上の管理ソフトウェアを介して、IAMT2126を手動で編集してもよい。
ステップ14003:インテグレータモジュール2180が、競合のない新たなUID/GIDを再割り当てする。
ステップ14004:インテグレータモジュールが、新たなUID/GIDで、IFLTの中のすべてのファイルの所有者を変更する。基礎をなすNASシステム3000へのアクセスは、NAS仮想化システム2000の特別なアカウントによって行われるので、基礎をなすNASシステム3000において所有者変更を実行する必要は、まったくない。さらに、ユーザネームスペースをGNSから外すことを意味する、元の環境に戻ることが必要となるようなことがあった場合、外されたNASシステム3000における所有者の再割り当ての必要は、まったくない。
NASクライアント1000上のユーザアカウントが、変更された、追加された、または削除された場合、IAMT2126も、変更される必要がある。
ユーザアカウント変更:管理者が、管理ソフトウェアを介して、クライアント側で変更されたアカウントエントリを編集する。
ユーザアカウント追加:管理者が、管理ソフトウェアを介して、クライアント側で追加されたアカウントエントリを追加し、新たなUID/GIDを割り当てるためにインテグレータモジュール2180を呼び出す。
ユーザアカウント削除:管理者が、管理ソフトウェアを介して、クライアント側で削除されたアカウントエントリを削除する。
以上は、管理者の手動のオペレーションに基づく。エージェントモジュールが、NASクライアント側にインストールされている場合、クライアント側におけるアカウント変更をインテグレータモジュール2180に通知することが可能である。すると、インテグレータモジュール2180は、管理者の介入を要求することなしに自動的に、前述したとおり、情報を更新することができる。
ファイルアクセス段階
図14は、前述した実施例においてNAS仮想化システム2000によって制御される、ファイルアクセスの制御フローを示す。
ステップ15000:NFSクライアント1012が、アクセス制御のために、UID/GIDを伴うNFSオペレーションを送信する。
ステップ15001:フォワーダモジュール2122が、そのオペレーションを捕捉し、ファイルパス名またはファイルハンドルを見つけ、IFLT2125を調べる。アクセス制御が、NAS仮想化システム200によって行われる場合、すべてのファイルの属性情報が、IFLT2125の中で管理されなければならない。
ステップ15002:フォワーダモジュール2122が、そのファイルがIFLT2125の中に存在するかどうかを判定する。
ステップ15003:そのファイルパス名またはファイルハンドルが、IFLT2125の中にある場合、フォワーダモジュール2122は、そのオペレーションの中でUID/GIDを探し出し、そのファイルに関してIFLT2125の中に含まれるアクセス特権属性を確認する。
ステップ15004:フォワーダモジュールが、要求側のクライアントが、確認された属性と一致するアクセス特権を有するかどうかを判定する。
ステップ15005:アクセスが、許される場合、フォワーダモジュールは、その要求を、IFLT2125の中の宛先ノード名カラムに基づく宛先NASノード3000に転送する。NAS仮想化システムは、特別なユーザアカウントでNASノード3000にアクセスすることができ、したがって、要求側のクライアントのアクセス権のさらなる確認は、宛先NASノード3000によって確認されない。
ステップ15006:宛先NASノードが、応答をクライアントに送り返すと、フォワーダモジュールが、その応答をクライアントに転送する。
ステップ15007:クライアントのアクセス要求が、ステップ15004で拒否された場合、フォワーダモジュール2122は、エラーをクライアントに送り返す。
ステップ15008:ファイルパス名またはファイルハンドルが、IFLTの中にない場合(これは、部分的なファイルの属性情報が、IFLTの中に格納されている場合、またはエラーが生じた場合にだけ生じる)、フォワーダモジュール2122は、MPMTを参照し、図5に関連して前述したGNSファイルアクセスプロセスと同一のファイルアクセス手続きに従い、宛先NASノードへの要求の中に元のUID/GIDを含める。
ステップ15009:宛先NASノード3000は、要求側のクライアントのアクセス特権を確認し、アクセスが許される場合、応答を送り返し、あるいはアクセスが拒否される場合、エラーを送り返す。
ステップ15010:フォワーダモジュールが、ノードビット情報を応答に追加する。
ステップ15011:フォワーダモジュールが、応答を要求側のクライアントに送信する。
クォータ管理
NAS仮想化システム2000による属性管理の第2の例示的な応用例が、クォータ管理である。本発明以前には、ユーザに割り当てられるストレージ容量のクォータ管理は、ファイルシステムのユニットにおいて、基礎をなすNASシステムによって実行されていた。本発明では、NAS仮想化レイヤが、GNSにわたるクォータを管理することができ、このことは、クォータ管理が、GNSの中のすべてのファイルシステムに及ぶことが可能であることを意味する。クォータ管理に加え、NAS仮想化システムは、クォータの使用量に基づいてファイルのマイグレーションを生じさせることができ、マイグレーションが行われた場合でも、クォータ管理は、継続される。
図15は、NAS仮想化システム2000におけるクォータ管理の概略図を表す。これを実現するのに、NAS仮想化システムは、統合されたクォータ情報を保持するための、IQMT(統合クォータ管理テーブル)2127である、別のテーブルを保持する。また、クォータ管理モジュール2610も、NAS仮想化システム2000の中に含められることが可能である。NAS仮想化システムは、クォータ関連ファイルに対する読取りオペレーションを使用することにより、基礎をなすNASシステムから、限度や、使用容量などのクォータ情報を取り出す。しかし、クォータ管理が、既にアクティブではない場合、NAS仮想化システムは、管理者が、NAS仮想化システムにおいて、初期クォータ設定としてクォータを設定し、基礎をなすNASシステムに関するクォータ設定が存在しない場合のように、基礎をなすNASシステムからクォータ管理情報を取り出さなくてもよい。
IQMT2127の通常のエントリは、ユーザ名、クォータ限度、使用容量、およびマイグレーション許容ビットである。クォータ限度は、それぞれの別々のファイルシステムに関して、かつ/または全体的な限度に応じて管理されることが可能である。また、使用容量も、各ファイルシステムおよび/または合計使用容量に関して管理されることが可能である。マイグレーション許容ビットが、オン(「Y」)である場合、ファイルシステムにおけるクォータ限度、もしくは何らかの閾値を超えるように作成されるファイルは、意図されるファイルシステム以外の別のファイルシステムに移されて、ユーザが全体的クォータを超えないように保たれることが可能である。そのようなマイグレーションが行われる場合の宛先ファイルシステムは、管理者によってあらかじめ決められ、IQMT2127の中に格納されるか、または最も使用されていないファイルシステムなどの、何らかのポリシーに従って、クォータ管理モジュール2610によって決定される。マイグレーション許容ビットが、オフ(「N」)である場合、クォータ限度を超えるように作成されるファイルは、作成されることが不可能であり、NAS仮想化システム2000は、エラーを要求側のNASクライアント1000に送り返す。
IQMT作成段階
図16は、IQMT2127を作成するためのクォータ設定の制御フローを示す。
ステップ16000:GNS作成時に、またはGNS作成後の何らかの時点で、管理者が、基礎をなすNASノードのIPアドレスを指定することによって、基礎をなすNASノードからクォータ管理情報を取り出すために、クォータ管理モジュール2610を呼び出す。
ステップ16001:クォータ管理モジュール2610が、指定されたクォータ情報を読み取る。
ステップ16002:クォータ管理モジュール2610が、収集されたクォータ情報を統合して、NAS仮想化システム2000上の単一のIQMT2127にする。
ステップ16003:管理者が、マイグレーション許容ビットを手動で設定する、またはクォータ管理モジュール2610が、デフォルトの値を設定する。
ファイルアクセス段階
図17は、NAS仮想化システム2000上で実施される前述したクォータ管理を伴うファイルアクセスの制御フローを示す。
ステップ17000:NFSクライアント1012が、書込みコマンドまたはファイル作成コマンドなどにおいて、クライアントのストレージの容量を変化させるオペレーションをNAS仮想化システム2000に送信する。
ステップ17001:フォワーダモジュール2122が、そのオペレーションを捕捉し、ファイルパス名またはファイルハンドルを識別し、IFLT2125の中で、そのファイルを調べる。
ステップ17002:フォワーダが、クォータマネージャ2610が実行されているかどうかを判定する。クォータマネージャ2610は、背景でデーモンとして実行されて、クォータ使用量を監視することが可能である。クォータマネージャが、実行されていない場合、プロセスは、ステップ17010に進む。
ステップ17003:クォータデーモン(クォータマネージャ2610)が、実行されている場合、フォワーダモジュールは、その変化した容量でクォータマネージャを呼び出す。
ステップ17004:クォータマネージャは、要求側のクライアントのクォータ情報を求めてIQMT2127を参照する。
ステップ17005:クォータマネージャは、その新たな要求を含む使用容量が、そのユーザに関するクォータ限度を超えるかどうかを判定する。
ステップ17011:使用容量が、クォータ限度未満である場合、クォータ管理モジュール2610は、フォワーダモジュールを呼び戻し、プロセスは、ステップ17010に進む。
ステップ17006:使用容量が、クォータ限度、または管理者によって決められた閾値を超える場合、クォータマネージャは、その要求側のユーザに関するマイグレーション許容ビットを確認する。
ステップ17007:クォータ管理モジュール2610が、マイグレーション許容ビットがオフであるか、またはオンであるかを判定する。
ステップ17008:マイグレーションビットが、オンである場合、クォータ管理モジュール2610は、そのファイルを、指定されたマイグレーション宛先に移すよう、マイグレーションモジュール2160に求める。
ステップ17009:マイグレーションモジュールが、マイグレーションを終了すると、プロセスは、ステップ17010に進む。
ステップ17012:マイグレーションビットが、オフである場合、クォータ管理モジュール2160は、エラーをフォワーダモジュール2122に送り返す。
ステップ17013:次に、フォワーダモジュールは、クライアントのクォータの超過となるため、エラーをクライアントに送り返す。
ステップ17010:フォワーダモジュールは、要求されたオペレーションを完了させることを進める。
すべての容量変更オペレーションが、クォータ管理モジュール2610によって監視されることが可能である。したがって、クォータ管理のためではないマイグレーションが行われた場合でも、変化させられた容量が、IQMT2127の中に記録される。
このため、本発明は、クライアントコンピュータが、マウントポイントの数を単一のGNSにまで減らす手段、および複数のNASシステムの機能を仮想化して、単一のNASアクセスポイントにするための手段を提供することが分かる。さらに、本明細書で特定の諸実施形態を例示し、説明してきたが、同一の目的を実現するように計算された任意の構成が、開示される、それらの特定の実施形態の代わりに使用されてもよいことが、当業者には理解されよう。本開示は、本発明のあらゆる改変形態または変形形態を範囲に含むことを意図しており、以上の説明は、例として、限定としてではなく、行われたものと理解されたい。したがって、本発明の範囲は、添付の特許請求の範囲、ならびにそのような特許請求の範囲に認められる完全な均等物の範囲を参照して、適切に決定されるべきである。
本発明の方法および装置が適用されることが可能なハードウェア構成の実施例を示す図である。 本発明の方法および装置が適用されることが可能なソフトウェア構成の実施例を示す図である。 本発明のGNS機能を示す概念図である。 本発明によるファイルハンドルを生成する通常の手続きを示す図である。 読取り要求中、または書込み要求中などにおける、ファイルにアクセスする通常の手続きを示す図である。 ファイルレベルマイグレーション機構を示す概念図である。 ファイルマイグレーションの制御フローを示す図である。 移されたファイルへのファイルアクセスの制御フローを示す図である。 NFSクライアントがファイルにアクセスする前に、ファイルマイグレーションが行われ、NFSクライアントが、ファイルハンドルを有さない場合の制御フローを示す図である。 NAS仮想化システムにおける属性管理を示す概略図である。 NAS仮想化システムにおいて管理される属性を有するファイルへの属性アクセスの制御フローを示す図である。 本発明のNAS仮想化システムにおける統合されたアカウント管理およびアクセス制御を示す概略図である。 統合アカウント管理テーブル作成段階の制御フローを示す図である。 ファイルアクセスが、NAS仮想化システムによって制御される制御フローを示す図である。 NAS仮想化システムにおけるクォータ管理を示す概略図である。 NAS仮想化システムにおけるクォータ設定の制御フローを示す図である。 NAS仮想化システムにおけるクォータ管理中のファイルアクセスの制御フローを示す図である。
符号の説明
1000……NASクライアント、1100……管理ホスト、2000……NAS仮想化システム、2100……NASヘッド、2200……ストレージコントローラ、2400……ストレージシステム、3000……NASシステム

Claims (9)

  1. クライアントコンピュータと接続する第1のNAS(Network Attached Storage)システムと、前記第1のNASシステムと接続し、複数のファイルシステムのうち各々少なくとも1つのファイルシステムを運用する複数の第2のNASシステムと、を有する制御システムを運用する方法であって、
    前記第1のNASシステムは、
    前記クライアントコンピュータからファイルへのファイルアクセス要求を受信した際、前記ファイルアクセス要求に含まれる情報であって、前記ファイルが格納されるファイルシステムを運用する第2のNASシステムに関する情報を参照して、前記ファイルアクセス要求を前記第2のNASシステムに転送し、
    移行元の第2のNASシステムの移行元ファイルシステムに格納される第1のファイルを、移行先の第2のNASシステムの移行先ファイルシステムに移行する際に、
    前記移行先の第2のNASシステムから、前記第1のファイルの属性情報を取得し、
    前記移行先の第2のNASシステムを識別する情報と、前記第1のファイルの前記属性情報の格納位置を示す情報と、をファイル管理情報に格納し、
    前記クライアントコンピュータから前記第1のファイルへのファイルアクセス要求を受信した際、前記ファイル管理情報に格納された前記移行先の第2のNASシステムを識別する情報を参照して、前記第1のファイルを前記移行先の第2のNASシステムに転送し、
    前記クライアントコンピュータから前記第1のファイルの前記属性情報へのアクセス要求を受信した際、前記移行先の第2のNASシステムにアクセスせずに、前記ファイル管理情報に格納された属性情報を前記クライアントコンピュータに送る、
    ことを特徴とする方法。
  2. 前記第1のファイルの前記属性情報は、前記第1のファイルの所有者に対応して割り当てられる識別子と、前記第1のファイルへのアクセス特権属性と、前記第1のファイルのファイルサイズと、のうち少なくとも1つを含む、
    ことを特徴とする請求項1に記載の方法。
  3. 前記第1のNASシステムは、
    前記移行先の第2のNASシステムから、さらに、前記移行先ファイルシステムにおける前記第1のファイルの移行先ファイルハンドルを取得し、
    前記第1のファイルの前記移行元ファイルシステムにおける移行元ファイルハンドルと、前記第1のファイルの前記移行先ファイルハンドルを、さらに、前記ファイル管理情報に格納し、
    前記クライアントコンピュータから前記第1のファイルの属性情報へのアクセス要求を受信した際、前記アクセス要求に含まれる前記第1のファイルのファイルハンドルが前記ファイル管理情報に格納されているかを判断し、格納されている場合には、前記移行先の第2のNASシステムにアクセスせずに、前記ファイル管理情報に格納された属性情報を前記クライアントコンピュータに送る、
    ことを特徴とする請求項2に記載の方法。
  4. 前記第1のNASシステムは、
    前記クライアントコンピュータから前記第1のファイルの属性情報へのアクセス要求を受信した際、前記アクセス要求に含まれる前記第1のファイルのファイルハンドルが前記ファイル管理情報に格納されているかを判断し、格納されていない場合には、前記アクセス要求に含まれる情報であって、前記第1のファイルが格納されるファイルシステムを運用する第2のNASシステムに関する情報を参照して、前記アクセス要求を前記第2のNASシステムに転送する、
    ことを特徴とする請求項3に記載の方法。
  5. 前記第1のNASシステムは、
    前記クライアントコンピュータから前記第1のファイルへの前記ファイルアクセス要求を受信した際、前記ファイル管理情報に格納された前記第1のファイルの属性情報に含まれる前記アクセス特権属性を確認し、
    前記ファイルアクセス要求を処理するための前記アクセス特権属性を有する場合には、前記ファイルアクセス要求を前記移行先の第2のNASシステムに転送し、
    前記ファイルアクセス要求を処理するための前記アクセス特権属性を有さない場合には、エラーを前記クライアントコンピュータに送信する、
    ことを特徴とする請求項4に記載の方法。
  6. 前記第1のNASシステムには、前記クライアントコンピュータに加えて他のクライアントコンピュータが接続され、
    前記第1のNASシステムは、
    前記クライアントコンピュータと前記他のクライアントコンピュータのアカウント情報を統合する場合、前記第1のファイルの所有者に対応する新たな識別子を割り当て、
    前記第1のファイルの前記属性情報に含まれる前記第1のファイルの所有者に対応する前記識別子を前記新たな識別子に変更する、
    ことを特徴とする請求項5に記載の方法。
  7. 前記第1のファイルの所有者に対応する前記識別子は、前記クライアントコンピュータにおいて互いに競合しない識別子であって、
    前記第1のファイルの所有者に対応する前記新たな識別子は、前記クライアントコンピュータ及び前記他のクライアントコンピュータにおいて互いに競合しない識別子である、
    ことを特徴とする請求項6に記載の方法。
  8. 前記第1のNASシステムは、
    前記第1のファイルの所有者の前記識別子と、前記第1のファイルの所有者の前記新たな識別子と、を対応させて管理するアカウント管理情報を管理する、
    ことを特徴とする請求項7に記載の方法。
  9. 前記第1のNASシステムは、
    前記ファイルアクセス要求に含まれる情報であって、前記ファイルアクセス要求の対象となるファイルが格納されるファイルシステムを運用する第2のNASシステムに関する情報を参照して、前記ファイルアクセス要求を前記第2のNASシステムに転送する際、前記ファイルアクセス要求から前記ファイルが格納されるファイルシステムを運用する第2のNASシステムに関する情報を削除して転送する、
    ことを特徴とする請求項8に記載の方法。
JP2007244708A 2006-12-21 2007-09-21 ファイルシステム仮想化のための方法および装置 Expired - Fee Related JP5066415B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/642,525 2006-12-21
US11/642,525 US20080155214A1 (en) 2006-12-21 2006-12-21 Method and apparatus for file system virtualization

Publications (2)

Publication Number Publication Date
JP2008159027A JP2008159027A (ja) 2008-07-10
JP5066415B2 true JP5066415B2 (ja) 2012-11-07

Family

ID=39544604

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007244708A Expired - Fee Related JP5066415B2 (ja) 2006-12-21 2007-09-21 ファイルシステム仮想化のための方法および装置

Country Status (2)

Country Link
US (1) US20080155214A1 (ja)
JP (1) JP5066415B2 (ja)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5111898B2 (ja) * 2007-03-09 2013-01-09 株式会社日立製作所 ファイル管理方法及び計算機システム
JP4931660B2 (ja) * 2007-03-23 2012-05-16 株式会社日立製作所 データ移行処理装置
US7783608B2 (en) 2007-08-09 2010-08-24 Hitachi, Ltd. Method and apparatus for NAS/CAS integrated storage system
JP2009059201A (ja) * 2007-08-31 2009-03-19 Hitachi Ltd ファイルレベルの仮想化と移行を行う中間装置
US20090198704A1 (en) * 2008-01-25 2009-08-06 Klavs Landberg Method for automated network file and directory virtualization
WO2010002407A1 (en) * 2008-07-02 2010-01-07 Hewlett-Packard Development Company, L.P. Performing administrative tasks associated with a network-attached storage system at a client
US8245013B2 (en) * 2008-10-10 2012-08-14 International Business Machines Corporation Mapped offsets preset ahead of process migration
US8244954B2 (en) * 2008-10-10 2012-08-14 International Business Machines Corporation On-demand paging-in of pages with read-only file system
JP2010097359A (ja) * 2008-10-15 2010-04-30 Hitachi Ltd ファイル管理方法および階層管理ファイルシステム
JP5185445B2 (ja) * 2009-05-13 2013-04-17 株式会社日立製作所 ストレージシステム及びストレージシステムにおける使用容量管理方法
JP5312251B2 (ja) * 2009-07-30 2013-10-09 ヤフー株式会社 ファイル移行装置、方法及びシステム
US8266192B2 (en) 2010-03-19 2012-09-11 Hitachi, Ltd. File-sharing system and method for processing files, and program
WO2011145148A1 (en) * 2010-05-20 2011-11-24 Hitachi Software Engineering Co., Ltd. Computer system and storage capacity extension method
WO2013014694A1 (en) * 2011-07-22 2013-01-31 Hitachi, Ltd. Information processing system and method for controlling the same
US9098528B2 (en) 2012-05-15 2015-08-04 Hitachi, Ltd. File storage system and load distribution method
US9237057B1 (en) 2012-12-21 2016-01-12 Emc Corporation Reassignment of a virtual connection from a busiest virtual connection or locality domain to a least busy virtual connection or locality domain
US9473590B1 (en) 2012-12-21 2016-10-18 Emc Corporation Client connection establishment over fibre channel using a block device access model
US9514151B1 (en) 2012-12-21 2016-12-06 Emc Corporation System and method for simultaneous shared access to data buffers by two threads, in a connection-oriented data proxy service
US9712427B1 (en) 2012-12-21 2017-07-18 EMC IP Holding Company LLC Dynamic server-driven path management for a connection-oriented transport using the SCSI block device model
US9473591B1 (en) 2012-12-21 2016-10-18 Emc Corporation Reliable server transport over fibre channel using a block device access model
US9647905B1 (en) 2012-12-21 2017-05-09 EMC IP Holding Company LLC System and method for optimized management of statistics counters, supporting lock-free updates, and queries for any to-the-present time interval
US9509797B1 (en) * 2012-12-21 2016-11-29 Emc Corporation Client communication over fibre channel using a block device access model
US9563423B1 (en) 2012-12-21 2017-02-07 EMC IP Holding Company LLC System and method for simultaneous shared access to data buffers by two threads, in a connection-oriented data proxy service
US9591099B1 (en) 2012-12-21 2017-03-07 EMC IP Holding Company LLC Server connection establishment over fibre channel using a block device access model
US9232000B1 (en) 2012-12-21 2016-01-05 Emc Corporation Method and system for balancing load across target endpoints on a server and initiator endpoints accessing the server
US9270786B1 (en) 2012-12-21 2016-02-23 Emc Corporation System and method for proxying TCP connections over a SCSI-based transport
US9407601B1 (en) 2012-12-21 2016-08-02 Emc Corporation Reliable client transport over fibre channel using a block device access model
US9473589B1 (en) 2012-12-21 2016-10-18 Emc Corporation Server communication over fibre channel using a block device access model
US9531765B1 (en) 2012-12-21 2016-12-27 Emc Corporation System and method for maximizing system data cache efficiency in a connection-oriented data proxy service
US9002815B2 (en) 2012-12-27 2015-04-07 Dropbox, Inc. Migrating content items
US10649961B2 (en) 2012-12-31 2020-05-12 Sandisk Technologies Llc System and method for selectively routing cached objects
US9235587B2 (en) 2012-12-31 2016-01-12 Sandisk Technologies Inc. System and method for selectively routing cached objects
JP6221717B2 (ja) 2013-12-12 2017-11-01 富士通株式会社 ストレージ装置、ストレージシステム及びデータ管理プログラム
US10321167B1 (en) 2016-01-21 2019-06-11 GrayMeta, Inc. Method and system for determining media file identifiers and likelihood of media file relationships
US10719492B1 (en) 2016-12-07 2020-07-21 GrayMeta, Inc. Automatic reconciliation and consolidation of disparate repositories
US10768820B2 (en) 2017-11-16 2020-09-08 Samsung Electronics Co., Ltd. On-demand storage provisioning using distributed and virtual namespace management
GB201814918D0 (en) * 2018-09-13 2018-10-31 Blancco Tech Group Ip Oy Method and apparatus for use in sanitizing a network of non-volatile memory express devices
US10552081B1 (en) * 2018-10-02 2020-02-04 International Business Machines Corporation Managing recall delays within hierarchical storage
JP7102455B2 (ja) * 2020-03-26 2022-07-19 株式会社日立製作所 ファイルストレージシステム及びファイルストレージシステムの管理方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6269382B1 (en) * 1998-08-31 2001-07-31 Microsoft Corporation Systems and methods for migration and recall of data from local and remote storage
US20040133606A1 (en) * 2003-01-02 2004-07-08 Z-Force Communications, Inc. Directory aggregation for files distributed over a plurality of servers in a switched file system
JP4320195B2 (ja) * 2003-03-19 2009-08-26 株式会社日立製作所 ファイルストレージサービスシステム、ファイル管理装置、ファイル管理方法、id指定型nasサーバ、および、ファイル読出方法
JP4278452B2 (ja) * 2003-08-04 2009-06-17 株式会社日立製作所 計算機システム
JP4400126B2 (ja) * 2003-08-08 2010-01-20 株式会社日立製作所 仮想一元化ネットワークストレージシステムにおける一元的なディスク使用量制御方法
JP4349871B2 (ja) * 2003-09-09 2009-10-21 株式会社日立製作所 ファイル共有装置及びファイル共有装置間のデータ移行方法
JP4281658B2 (ja) * 2004-09-24 2009-06-17 日本電気株式会社 ファイルアクセスサービスシステムとスイッチ装置及びクオータ管理方法並びにプログラム
JP4451293B2 (ja) * 2004-12-10 2010-04-14 株式会社日立製作所 名前空間を共有するクラスタ構成のネットワークストレージシステム及びその制御方法
US7546432B2 (en) * 2006-05-09 2009-06-09 Emc Corporation Pass-through write policies of files in distributed storage management
WO2008130983A1 (en) * 2007-04-16 2008-10-30 Attune Systems, Inc. File aggregation in a switched file system

Also Published As

Publication number Publication date
JP2008159027A (ja) 2008-07-10
US20080155214A1 (en) 2008-06-26

Similar Documents

Publication Publication Date Title
JP5066415B2 (ja) ファイルシステム仮想化のための方法および装置
US8161133B2 (en) Network storage system with a clustered configuration sharing a namespace, and control method therefor
JP5205132B2 (ja) Nas/cas統一ストレージシステムのための方法および装置
US7209967B2 (en) Dynamic load balancing of a storage system
JP4211285B2 (ja) ネットワークストレージシステムの仮想一元化方法及び装置
US7546325B2 (en) Backup system, file server and backup method
US7668882B2 (en) File system migration in storage system
US8775765B2 (en) Computer system and control method therefor
US8170990B2 (en) Integrated remote replication in hierarchical storage systems
JP4281658B2 (ja) ファイルアクセスサービスシステムとスイッチ装置及びクオータ管理方法並びにプログラム
US8554808B2 (en) File management sub-system and file migration control method in hierarchical file system
US20120096059A1 (en) Storage apparatus and file system management method
US20070192375A1 (en) Method and computer system for updating data when reference load is balanced by mirroring
US8271559B2 (en) Storage system and method of controlling same
US8909753B2 (en) Root node for file level virtualization
US7966517B2 (en) Method and apparatus for virtual network attached storage remote migration
JP2009043236A (ja) Nas/cas統合ストレージシステムの方法および装置
JPH11272636A (ja) ネットワーク接続ディジタルデータプロセッシングシステム上のメモリデバイスへの高速アクセスおよび共用方法および装置
US20090063556A1 (en) Root node for carrying out file level virtualization and migration
JP4278452B2 (ja) 計算機システム
JP2010097359A (ja) ファイル管理方法および階層管理ファイルシステム
JP2006268534A (ja) 記憶装置システムの制御技術
US10387043B2 (en) Writing target file including determination of whether to apply duplication elimination
JP7143268B2 (ja) ストレージシステムおよびデータ移行方法
JP4258768B2 (ja) ファイル配置システム

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20090220

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100226

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120412

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120424

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120625

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120813

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20150817

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees