JP4772569B2 - 共通名前空間においてディレクトリ単位のマイグレーションを実行するシステム及び方法 - Google Patents

共通名前空間においてディレクトリ単位のマイグレーションを実行するシステム及び方法 Download PDF

Info

Publication number
JP4772569B2
JP4772569B2 JP2006106255A JP2006106255A JP4772569B2 JP 4772569 B2 JP4772569 B2 JP 4772569B2 JP 2006106255 A JP2006106255 A JP 2006106255A JP 2006106255 A JP2006106255 A JP 2006106255A JP 4772569 B2 JP4772569 B2 JP 4772569B2
Authority
JP
Japan
Prior art keywords
file
server
file system
directory
identifier
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
JP2006106255A
Other languages
English (en)
Other versions
JP2007280099A (ja
Inventor
匡邦 揚妻
洋司 中谷
隆喜 中村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2006106255A priority Critical patent/JP4772569B2/ja
Priority to US11/477,858 priority patent/US7587436B2/en
Priority to EP06255623A priority patent/EP1843245A3/en
Priority to CN200610168701A priority patent/CN100576189C/zh
Publication of JP2007280099A publication Critical patent/JP2007280099A/ja
Application granted granted Critical
Publication of JP4772569B2 publication Critical patent/JP4772569B2/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/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
    • 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/119Details of migration of 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0635Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
    • 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/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2206/00Indexing scheme related to dedicated interfaces for computers
    • G06F2206/10Indexing scheme related to storage interfaces for computers, indexing schema related to group G06F3/06
    • G06F2206/1012Load balancing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99932Access augmentation or optimizing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99956File allocation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、ネットワークを介してクライアントと接続され、クライアントが用いるデータを記憶する、ファイルサーバ又はネットワークアタッチドストレージ(Network Attached Storage、NAS)において、複数のサーバに負荷を分散するための技術に関する。
ネットワークに接続されたストレージシステムが、そのネットワークに接続されたクライアント計算機の共有ディスクとして使用される、ネットワークアタッチドストレージ(Network Attached Storage、NAS)が提案されている。NASは、ネットワークインターフェース等を含むサーバと、データを格納するディスクドライブとによって構成される。
例えば、特許文献1には、複数のサーバを備え、各サーバがネットワークに接続されるクラスタ構成のNASが開示されている。特許文献1に記載されたシステムにおいて、ネットワークエレメント、スイッチングエレメント及びディスクエレメントが、NASのサーバに相当する。特許文献1に記載されたシステムは、ファイルシステムを共有する複数のネットワークエレメントを備えることができる。また、特許文献1に記載されたシステムは、ディスクエレメントを複数備えることによって、ディスク単位でデータをマイグレーションすることができる。さらに、各ネットワークエレメントがディスクエレメントによって管理される全てのファイルシステムにアクセスすることができる。ディスクエレメント間で、ファイルシステムを格納しているディスクのマイグレーションが実行された場合も、各ネットワークエレメントは、マイグレーションによる影響を受けることなく、全てのファイルシステムにアクセスをすることができる。
ネットワーク上に分散して存在するファイルにアクセスするためのファイルシステムの一つとして、ネットワークファイルシステム(NFS)が提案されている。NFSの現時点の最新版であるNFSv4(RFC3530)(非特許文献1参照)によれば、ファイルシステムがサーバ間でマイグレーションされた場合、サーバは、クライアントからの当該ファイルシステムへのアクセスに対して、マイグレーション先の位置の情報を通知する。この通知を受けたクライアントは、通知された位置情報に従って、マイグレーション先のファイルシステムにアクセスすることができる。
米国特許第6671773号明細書 RFC3530、NFS version4、P.57−61、IETF Home Page、[online]、[平成18年3月15日検索]、インターネット<URL:http://www.ietf.org/home.html>
複数のサーバが管理する複数のファイルシステムを、一つの名前空間によってクライアントに提供することができる。そのような名前空間は、グローバルネームスペース(GNS)と呼ばれる。GNSを適用したシステムでは、負荷の高いサーバから負荷の低いサーバへファイルを転送するマイグレーションによって、複数のサーバ間の負荷の均衡を図ることができる。
GNSにおいて、負荷均衡のためのマイグレーションをクライアントから透過的に実行するために、ファイルに付与されたID(ファイルハンドル)を維持する必要がある。言い換えると、マイグレーションの前に付与されたファイルハンドルが、マイグレーションの後にも使用できることが必要である。なお、ファイルハンドルは、各サーバが管理するファイルシステムをそのサーバ内で一意に識別するファイルシステムIDと、各ファイルをファイルシステム内で一意に識別するファイルIDとを含む。
ファイルハンドルを維持するために、システム内で一意に定まるファイルシステムIDをファイルシステムに割り振り、ファイルシステム単位でマイグレーションを実行してもよい。この場合、ファイルシステムを管理しているサーバに依存しない、システム内で一意のファイルハンドルが付与される。その結果、クライアントは、自分がアクセスしようとするファイルが、どのサーバによって管理されているファイルシステムに属するかを意識する必要がない。すなわち、ファイルシステムが一つのサーバから別のサーバにマイグレーションされた後も、クライアントは、マイグレーションが実行される前に付与されたファイルハンドルを使用して、そのファイルシステムに属するファイルにアクセスすることができる。このようにして、クライアントから透過的なファイルシステムのマイグレーションが実現される。
しかし、サーバ間の負荷の均衡を目的としてマイグレーションを行う場合、ファイルシステム単位では粒度が粗いため、十分な負荷均衡が行えない場合がある。例えば、一つのファイルシステムのみに負荷が集中している場合、そのファイルシステム全体をマイグレーションしても、そのファイルシステムの負荷全体が移動するだけである。その結果、負荷を複数のサーバに分散して均衡させることができない。この場合、ファイルシステムより細かい単位で、例えば、ディレクトリ単位でのマイグレーションを実行する必要がある。
例えば、あるサーバが管理している任意のファイル又はディレクトリを、別のサーバが管理するファイルシステムにコピーすることによって、ファイルシステムより細かい単位のマイグレーションを実現することができる。その結果、そのファイル等に対するアクセスによる負荷を分散させることによって、複数のサーバの負荷を均衡させることができる。しかし、この場合、クライアントは、マイグレーションの実行前に取得したファイルハンドルを用いて、マイグレーションされたファイルにアクセスすることができない。すなわち、再度名前解決を実行する必要がある。
ファイルシステムよりも細かい単位で、クライアントから透過的なマイグレーションを実行する方法については、開示されていない。
本願で開示する代表的な発明は、複数のサーバと、前記複数のサーバに接続されるディスクサブシステムと、を備えるストレージシステムにおいて、前記複数のサーバは、第1サーバ及び第2サーバを含み、前記各サーバは、ネットワークに接続されるインターフェースと、前記インターフェースに接続されるプロセッサと、前記プロセッサに接続されるメモリと、を備え、前記ディスクサブシステムは、一つ以上のファイルシステムを含む一つ以上の論理デバイスを備え、前記ファイルシステムに含まれるディレクトリのうち最上位のディレクトリには、前記ストレージシステム内で一意の第1のファイルシステム識別子が付与され、前記ファイルシステムに含まれるディレクトリのうち前記最上位のディレクトリ以外の一つには、前記ストレージシステム内で一意の第2のファイルシステム識別子が付与され、前記ファイルシステムに含まれるファイルには、前記ファイルシステム内で一意のファイル識別子が付与され、前記第1サーバが備える前記プロセッサは、前記第2のファイルシステム識別子が付与された前記ディレクトリより下位のファイルの名前解決を実行して、前記第2のファイルシステム識別子及び前記ファイル識別子を含むファイルハンドルを前記ネットワークに接続されたクライアント計算機に送信し、前記クライアント計算機から前記第2のファイルシステム識別子及び前記ファイル識別子を含むファイルハンドルを指定したアクセス要求を受信すると、前記第2のファイルシステム識別子が付与された前記ディレクトリより下位の、前記ファイルハンドルによって指定されたファイル識別子が付与されたファイルにアクセスし、前記第2のファイルシステム識別子が付与された前記ディレクトリを前記第2サーバへマイグレーションする指示を、前記インターフェースを介して受信すると、前記マイグレーションの対象の前記ディレクトリより下位の前記ファイルと、前記マイグレーションの対象の前記ディレクトリに付与された前記第2のファイルシステム識別子と、を前記第2サーバへ送信し、前記第2サーバが備える前記プロセッサは、前記クライアント計算機から、前記第2のファイルシステム識別子及び前記ファイル識別子を含むファイルハンドルを指定したアクセス要求を受信すると、前記第2のファイルシステム識別子が付与された前記ディレクトリより下位の、前記ファイルハンドルによって指定されたファイル識別子が付与されたファイルにアクセスすることを特徴とする。
なお、望ましくは、前記プロセッサは、前記第2識別子が付与された前記ディレクトリより下位のファイルを、当該ファイルより上位の前記第2識別子が付与されたディレクトリのうち当該ファイルに最も近いディレクトリに付与された前記第2識別子と、前記第3識別子と、によって識別する。
本発明の一形態によれば、ファイルシステムを分割し、分割されたファイルシステムの部分ごとにマイグレーションを実行することができる。このため、クライアントから透過的に、ディレクトリ単位のマイグレーションを実行することができる。このため、きめ細かい単位でマイグレーションを実行することができ、サーバ間のより良い負荷均衡を実現できる。その結果、システム全体の性能向上が実現される。
図1は、本発明の実施の形態のストレージシステム100の構成を示すブロック図である。
本実施の形態の計算機システムは、ストレージシステム100、管理計算機140、クライアント150A、クライアント150B及びこれらを相互に接続するLAN160を備える。
管理計算機140は、ストレージシステム100を管理するための処理を実行する計算機である。例えば、管理計算機140は、ストレージシステム100内のファイルシステムの作成、ファイルシステムのマウント又はマイグレーションをサーバ110に指示する。さらに、管理計算機140は、ディスクサブシステム120及びスイッチ130に設定変更を指示する。
管理計算機140は、少なくとも、相互に接続された入力装置141、管理画面142、ディスク143、CPU144、ローカルメモリ145及びネットワークインターフェース(I/F)146を備える。管理計算機140は、CPU144、ローカルメモリ145及びネットワークI/F146を備える筐体(図示省略)と、その筐体に接続された入力装置141、管理画面142及びディスク143によって構成されてもよい。入力装置141は、例えば、システム管理者によって使用されるキーボード又はポインティングデバイスである。管理画面142は、例えば、システム管理者に情報を表示する画像表示装置である。管理画面142に表示される内容及びポインティングデバイスによる操作については、後述する(図16及び図17参照)。
ディスク143には、サーバ110等と通信するためのプログラム、及び、ディスクサブシステムを管理するためのプログラム等が格納される。これらのプログラムは、ローカルメモリ145上に読み出され、CPU144によって実行される。ネットワークI/F146は、サーバ110及びディスクサブシステム120との通信に使用される。
クライアント150A及び150Bは、ストレージシステム100のファイルにアクセスする計算機である。クライアント150A及び150Bは、ストレージシステム100にファイルを書き込み、又は、ストレージシステム100からファイルを読み出す。このとき、ストレージシステム100が管理するファイルシステムが使用される。クライアント150A及び150Bは、少なくとも、ファイルアクセスを実行するプログラムを格納するメモリ(図示省略)、及び、メモリに格納されたプログラムを実行するプロセッサ(図示省略)を備える。
図1では、二つのクライアント(150A及び150B)を示すが、任意の数のクライアントがLAN160に接続され、ストレージシステム100にアクセスすることができる。以下の説明において、二つのクライアントを特に区別する必要がない場合、これらを総称してクライアント150と記載する。
LAN160は、TCP/IP等のプロトコルで通信するネットワークである。
ストレージシステム100は、ネットワークアタッチドストレージ(Network Attached Storage、NAS)である。ストレージシステム100は、サーバ110A、サーバ110B、ディスクサブシステム120及びこれらを相互に接続するスイッチ130を備える。
スイッチ130は、例えばファイバーチャネル(FC)のスイッチ130である。ストレージシステム100は、複数のスイッチ130を備えてもよい。一つ以上のスイッチ130がストレージエリアネットワーク(SAN)を構成していてもよい。あるいは、スイッチ130は、LANのスイッチ又はストレージシステム専用のスイッチであってもよい。
サーバ110A及び110Bは、クライアント150から受信したアクセス要求に従ってディスクサブシステム120にアクセスする計算機である。
以下の説明において、サーバ110A及び110Bを特に区別する必要がない場合、これらを総称してサーバ110と記載する。また、以下の説明において、サーバ110A及び110Bは、単にサーバA及びサーバBとも記載される。図1では、二つのサーバ110A及び110Bを示すが、ストレージシステム100は、さらに多くのサーバ110を備えてもよい。サーバ110は、NASヘッド又はNASノードとも呼ばれる。複数のサーバ110がクラスタ構成されていてもよい。
サーバ110Aは、相互に接続されたネットワークインターフェース111A、CPU112A、ローカルメモリ113A及びアダプタ116Aを備える。
ネットワークインターフェース111Aは、LAN160に接続され、管理計算機140及びクライアント150と通信するインターフェースである。
CPU112Aは、サーバ110Aの動作を制御するプロセッサである。具体的には、CPU112Aは、ローカルメモリ113Aに格納されたプログラムを実行する。
ローカルメモリ113Aは、例えば、半導体メモリであり、CPU112Aが実行するプログラム及びCPU112Aによって参照されるデータを格納する。具体的には、ローカルメモリ113Aは、マウントテーブル(図示省略)、後述するサーバソフトウェア200及びマイグレーションポイント管理表600等を格納する。
アダプタ116Aは、スイッチ130に接続され、ディスクサブシステム120と通信するインターフェースである。
サーバ110Bは、サーバ110Aと同様、ネットワークインターフェース111B、CPU112B、ローカルメモリ113B及びアダプタ116Bを備える。これらは、それぞれ、ネットワークインターフェース111A、CPU112A、ローカルメモリ113A及びアダプタ116Aと同様であるため、説明を省略する。さらに多くのサーバ110が設けられる場合、各サーバ110の構成は、サーバ110Aと同様であってよい。
ストレージシステム100が複数のサーバ110を備える場合、これらのサーバ110は、サーバ間通信路135によって相互に接続される。サーバ110は、サーバ間通信路135を経由して相互に通信することができる。
具体的には、GNS管理表500が更新された場合に、その更新内容がサーバ間通信路135を経由して他のサーバ110に送信される。送信先のサーバ110は、受信した更新の内容をそのサーバ110内のGNS管理表500に反映する。
本実施の形態のストレージシステム100は、図1に示すように、スイッチ130及びLAN160のどちらからも独立したサーバ間通信路135を備える。しかし、サーバ110は、スイッチ130又はLAN160を経由して相互に通信してもよい。あるいは、サーバ110は、ディスクサブシステム120のディスクキャッシュ122を使用して相互に通信してもよい。サーバ110が上記のいずれの経路で通信しても、本発明を実施することができる。
ディスクサブシステム120は、相互に接続されたディスクコントローラ121A、ディスクコントローラ121B、ディスクキャッシュ122及びディスクドライブ123を備える。ディスクコントローラ121Aは、スイッチ130に接続されるポート125A及び125Bを備える。ディスクコントローラ121Bは、スイッチ130に接続されるポート125C及び125Dを備える。以下の説明において、ディスクコントローラ121A及び121Bを特に区別する必要がない場合、これらを総称してディスクコントローラ121と記載する。また、ポート125Aから125Dを特に区別する必要がない場合、これらを総称してポート125と記載する。ディスクサブシステム120は、一つ又は三つ以上のディスクコントローラ121を備えてもよい。各ディスクコントローラ121は、一つ又は三つ以上のポート125を備えてもよい。
ディスクコントローラ121は、ポート125に接続されたスイッチ130を介してサーバ110と通信し、ディスクサブシステム120を制御する。具体的には、ディスクコントローラ121は、サーバ110からの要求に従ってディスクドライブ123にデータを書き込み、又は、ディスクドライブ123からデータを読み出す。
ディスクキャッシュ122は、例えば、半導体メモリであり、ディスクドライブ123に書き込まれるデータ又はディスクドライブ123から読み出されたデータを一時的に格納する。
ディスクドライブ123Aから123Dは、データを格納するハードディスクドライブである。ディスクサブシステムは、任意の数のディスクドライブ123A等を備える。以下の説明において、ディスクドライブ123Aから123Dを特に区別する必要がない場合、これらを総称してディスクドライブ123と記載する。これらのディスクドライブ123は、Redundant Arrays of Inexpensive Disks(RAID)を構成してもよい。
ディスクドライブ123の記憶領域は、任意の数の論理デバイス(LDEV)に分割して使用される。図1には、例として、4個のLDEV124Aから124Dを示す。以下の説明において、LDEV124Aから124Dを特に区別する必要がない場合、これらを総称してLDEV124と記載する。LDEV124は、ディスクコントローラ121によって論理的なディスクドライブとして扱われる領域である。ディスクドライブ123がRAIDを構成する場合、図1に示すように、一つのLDEV124が複数のディスクドライブ123の記憶領域によって構成されてもよい。各LDEV124の大きさは任意である。
各LDEVには、LDEV識別子(ID)が付与される。図1の例において、LDEV124A〜LDEV124DのIDは、それぞれL0〜L3である。
サーバ110は、各LDEV124内にファイルシステムを作成し、そのファイルシステムを管理する。各ファイルシステムには、ストレージシステム内で一意となるファイルシステム識別子(ID)が付与される。
ストレージシステム100は、複数のディスクサブシステム120を備えてもよい。その場合、あるサーバ110は、スイッチ130を経由して、特定のディスクサブシステム120又は特定のディスクサブシステム120の集合のみにアクセスできてもよい。あるいは、各サーバ110が全てのディスクサブシステム120にアクセスすることができてもよい。
スイッチ130及びディスクサブシステム120は、それぞれ、LAN160に接続される管理用ポート131及び126を備える。管理計算機140は、LAN160を経由してこれらの管理用ポート131及び126と通信することによって、スイッチ130及びディスクサブシステム120の設定を参照し、又は、更新することができる。
図2は、本発明の実施の形態のサーバソフトウェア200の説明図である。
サーバソフトウェア200は、CPU112が実行するプログラムを含む。具体的には、サーバソフトウェア200は、ネットワーク処理プログラム201、ファイルシステム処理プログラム202、ディスクアクセス処理プログラム203、GNS管理処理プログラム204、サーバ管理処理プログラム205、サーバ間通信処理プログラム206及びマイグレーション処理プログラム207を含む。
ネットワーク処理プログラム201は、LAN160を介した管理計算機140及びクライアント150との通信を制御するプログラムである。
ファイルシステム処理プログラム202は、クライアント150からファイルシステム内のファイルへのアクセス要求、及び、管理計算機140からのファイルシステムに対する指示等を処理するプログラムである。ファイルシステム処理プログラム202のより詳細な説明は後述する。
ディスクアクセスプログラム203は、ファイルシステム処理プログラム202が受けたファイルへのアクセス要求に基づき、実際にディスクサブシステム120へアクセスするプログラムである。
GNS管理処理プログラム204は、マイグレーション処理プログラム200がファイルシステムのマイグレーションを実行したときに、GNS管理表500を更新する。GNS管理表500の詳細は後述する(図5参照)。
サーバ管理処理プログラム205は、管理計算機140と通信し、サーバ110の設定をするプログラムである。例えば、サーバ管理処理プログラム205は、管理計算機140からファイルシステムの新規作成の指示を受けると、その指示をファイルシステム処理プログラム202に伝え、ファイルシステムの新規作成を実行させる。管理計算機140からマイグレーションの指示を受けると、サーバ管理処理プログラム205は、その指示をマイグレーション処理プログラム207に伝え、マイグレーションを実行させる。
サーバ間通信処理プログラム206は、サーバ間通信路135を経由したサーバ110間の通信を制御するプログラムである。例えば、サーバ間通信処理プログラム206は、GNS管理表500の内容を更新するため、他のサーバ110において実行されているGNS管理処理プログラム204に更新内容を送信する。
マイグレーション処理プログラム207は、マイグレーションを実行するプログラムである。マイグレーションとは、あるファイルシステムを、現在管理しているサーバ110から、別の指定されたサーバ110の管理下に移動させる処理のことである。
クライアント150がファイルシステム内のファイルにアクセスする場合、アクセス要求は、そのファイルシステムを管理するサーバ110によって処理される。従って、ファイルシステムをマイグレーションすることは、マイグレーション先のサーバへ負荷を分散することになる。マイグレーション処理によって、各サーバ110にかかる負荷が均衡し、ストレージシステム100全体の性能向上が可能となる。
ファイルシステム処理プログラム202は、マイグレーションポイント設定処理モジュール211、ファイルアクセス処理モジュール212、ファイルシステム作成処理モジュール213及びファイルシステム分割処理モジュール214を含む。
マイグレーションポイント設定処理モジュール211は、管理用計算機140の指示に従って、サーバ110が持つマイグレーションポイント管理表600の更新処理を実行する。
ファイルアクセス処理モジュール212は、クライアント150からの要求に基づき、ディレクトリ名又はファイル名の名前解決処理を実行し、ファイルの識別子であるファイルハンドルをクライアントに返す。また、例えば、クライアント150の要求するディレクトリ名やファイル名が、他のサーバ110によって管理されるディレクトリツリーに属する場合、そのディレクトリツリーを管理するサーバ110の位置情報(例えば、サーバ110のID)をクライアント150へ返す。ディレクトリツリーとは、ファイルシステム全体又はその一部に相当する一つ以上のディレクトリである。
ファイルシステム作成処理モジュール213は、管理計算機140の指示に従って、ファイルシステムを新規作成する。また、ファイルシステム作成処理モジュール213は、ファイルシステム分割処理モジュール214の指示に従って、ファイルシステムを新規作成する。
ファイルシステム分割処理モジュール214は、マイグレーション処理プログラム207の指示に従って、ファイルシステムの分割処理を実行する。ファイルシステムの分割処理の詳細は後述する(図9参照)。
図3は、本発明の実施の形態においてクライアント150に提供される共通名前空間の一例を示す説明図である。
共通名前空間は、一つ以上のサーバ110によって構成される。具体的には、共通名前空間は、各サーバ110が管理しているファイルシステムを統合することによって構成される一つの共通名前空間である。この共通名前空間をグローバルネームスペース(GNS)と呼ぶ。図3には、実施例を説明するために必要最小限のディレクトリ及びファイルを含むGNS300を示す。実際のGNSは、さらに多くのディレクトリ及びファイルを含んでもよい。
GNS300は、二つのサーバ、すなわち、サーバA及びサーバBによってGNSが構成される。次に、各サーバの名前空間について説明する。
図4は、本発明の実施の形態の各サーバ110の名前空間の説明図である。
図4は、例として、サーバAの名前空間400A及びサーバBの名前空間400Bを示す。最初に、名前空間400A及び400Bを構成する方法を説明し、次に、GNS300を構成する方法を説明する。
サーバAは、三つのファイルシステム411、401及び402を管理する。それぞれのファイルシステムに属するディレクトリツリーを統合することによって、名前空間400Aが構成される。
ファイルシステム411に相当するディレクトリツリーの最上位ディレクトリの下に、ディレクトリ「gns」414及び「mnt」がある。ディレクトリ「gns」414の下に、「a」403、「b」404及び「c」405の三つのディレクトリがある。一方、ディレクトリ「mnt」の下には、ディレクトリ「fs0」413及びディレクトリ「fs1」408がある。
ファイルシステム401に相当するディレクトリツリーの最上位ディレクトリの下に、ディレクトリ「aa」406及びディレクトリ「ab」がある。ディレクトリ「aa」の下には、ファイル「file1」がある。また、ディレクトリ「ab」の下には、ディレクトリ「ac」407がある。ディレクトリ「ac」407の下に、ディレクトリ「ad」及びディレクトリ「ae」がある。
ファイルシステム402に相当するディレクトリツリーの最上位ディレクトリの下に、ディレクトリ「ba」及びディレクトリ「bb」がある。ディレクトリ「ba」の下には、ディレクトリ「bc」がある。
名前空間400Aのルートディレクトリ「/」は、ファイルシステム411の最上位ディレクトリである。サーバAは、ファイルシステム411に相当するディレクトリツリーにおけるパス「/mnt/fs0/」に、ファイルシステム401の最上位ディレクトリを繋ぎ、パス「/mnt/fs1/」に、ファイルシステム402の最上位ディレクトリを繋ぐことによって、一つの名前空間400Aを構成している。このように、一つのサーバ110によって管理されるファイルシステムの間で、あるファイルシステムのディレクトリツリーに、他のファイルシステムのディレクトリツリーを繋ぐことを、ローカルマウントと呼ぶ。また、ファイルシステム411のように、ルートディレクトリを持つファイルシステムを、ルートファイルシステムと呼ぶ。
サーバBは、二つのファイルシステム412及び409を管理する。それぞれのファイルシステムに属するディレクトリツリーを統合することによって、名前空間400Bが構成される。
ファイルシステム412に相当するディレクトリツリーの最上位ディレクトリの下に、ディレクトリ「mnt」がある。ディレクトリ「mnt」の下には、ディレクトリ「fs2」410がある。
ファイルシステム409に相当するディレクトリツリーの最上位ディレクトリの下に、ディレクトリ「ca」がある。ディレクトリ「ca」の下に、ファイル「file2」及びファイル「file3」がある。
名前空間400Bのルートファイルシステムは、ファイルシステム412である。ルートファイルシステム内のパス「/mnt/fs2」に、ファイルシステム409に相当するディレクトリツリーをローカルマウントすることによって、名前空間400Bが構成される。
次に、以上で説明したサーバAの名前空間400Aと、サーバBの名前空間400Bの一部を統合し、共通名前空間であるGNS300を構成する手法を示す。
名前空間400Aのパス「/gns/」をGNS300のルートディレクトリ「/」とする。GNS300のルートディレクトリを持つサーバAをGNSルートサーバと呼び、名前空間400Aのパス「/gns/」をGNSルートディレクトリと呼ぶ。GNSルートサーバとGNSルートディレクトリは、サーバソフトウェア200が記憶している。
GNSルートディレクトリ(名前空間400Aの「/gns/」)以下のディレクトリツリーが、GNS300に属するディレクトリツリーとなる。GNSルートディレクトリの下には、接続ポイントを作ることができる。接続ポイントに、ファイルシステムに相当するディレクトリを繋げることによって、一つのディレクトリツリーを構成することができる。GNS300の接続ポイントにファイルシステムを繋げることによって一つのディレクトリツリーを構成することを、「接続」と呼ぶ。
GNS300のGNSルートディレクトリの下には、三つの接続ポイント「/a/」403、「/b/」404及び「/c/」405がある。接続ポイント「/a/」403には、サーバAが管理するパス「/mnt/fs0/」にローカルマウントされているファイルシステム401が接続される。接続ポイント「/b/」404には、サーバAが管理するパス「/mnt/fs1/」にローカルマウントされているファイルシステム402が接続される。接続ポイント「/c/」405には、サーバBが管理するパス「/mnt/fs2/」にローカルマウントされているファイルシステム409が接続される。
図5は、本発明の実施の形態のGNS管理表500の一例を示す説明図である。
GNS管理表500は、各サーバ110のローカルメモリ113に格納され、各サーバ110によって個別に管理される。各サーバが格納するGNS管理表500には、同一の値が登録されている。GNS管理表500は、GNS300を構成する全てのファイルシステムを管理するためのテーブルであり、一つのエントリ(行)が、一つのディレクトリの接続ポイントを示す。
サーバ名501には、ファイルシステムを管理するサーバ名が登録される。ローカルパス502には、サーバ名501に登録されたサーバ110が管理する名前空間において、ファイルシステムがローカルマウントされているパスが登録される。接続ポイント503は、ローカルパス502にローカルマウントしているディレクトリが、GNS300上のどの接続ポイントに接続されているかを示す。
GNS管理表500は、さらに、GNSルートサーバ及びGNSルートディレクトリを示す情報を含んでもよい。具体的には、図3及び図4の例に対応するGNS管理表500は、サーバAがGNSルートサーバであり、「/gns/」がGNSルートディレクトリであることを示す情報を含んでもよい。
各サーバ110は、ルートファイルシステム内の名前解決と、そのルートファイルシステムに直接又は間接的にローカルマウントしているディレクトリ内の名前解決をすることができる。例えば、図3に示すGNS300の環境において、サーバ110AがGNS300上のファイル「/c/ca/file2」へのアクセス要求をクライアント150から受けたとする。サーバ110Aは、GNSルートサーバである。このため、サーバ110Aは、GNSルートディレクトリ「/gns/」をパス「/c/ca/file2」に付加し、GNS300のパスをローカルパス(サーバ110Aの名前空間におけるパス)に変換する。変換されたパスは、「/gns/c/ca/file2」となる。サーバAは、「/gns/」までの名前解決をすることはできる。しかし、サーバ110Aは、「/gns/c/」の名前解決をすることはできない。
このとき、サーバ110Aは、GNS管理表500を参照し、「/gns/c/」がサーバ110Bの管理下にあることを判断する。そして、アクセス要求を発行したクライアント150に位置情報を通知する。ここで通知される位置情報は、そのディレクトリを管理しているサーバの識別子を含み、必要があれば、そのサーバ内のローカルパスを含んでもよい。通知を受けたクライアント150は、サーバ110Bにアクセス要求を発行することによって、GNS300上のファイル「/c/ca/file2」へアクセスすることができる。
上記の例では、名前解決要求を受け取ったサーバAが、名前解決の対象となるファイルを管理しているサーバ110Bを識別する情報をクライアント150に通知する方法を示した。この方法とは異なり、名前解決要求を受け取ったサーバAがサーバBにクライアント150からの名前解決要求を転送し、サーバBが名前解決を実行してもよい。また、上記の例では、一つのファイルシステムが一つのサーバ110のみによって管理されていたが、複数のサーバ110が一つのファイルシステムを共有して管理してもよい。この場合、共有されたファイルシステムを更新する前に、更新を実行するサーバ110がファイルシステムのロックを取得することによって、更新が正しく実行されることを保証しなければならない。
クライアント150にGNS300を提供する前に、管理計算機140は、予め、各サーバ110内にファイルシステムを分割する基点となるディレクトリパスを設定する。マイグレーションを実行する時に、このディレクトリパスを基点としてファイルシステムが分割され、分割されたファイルシステムがマイグレーションされる。その結果、よりきめ細かい粒度のマイグレーションが実現できる。このファイルシステムを分割する基点となるディレクトリパスをマイグレーションポイントと呼ぶ。各サーバ110は、それぞれ、マイグレーションポイント管理表600を使ってマイグレーションポイントを管理する。
図6A及び図6Bは、本発明の実施の形態のマイグレーションポイント管理表600の一例を示す説明図である。
図6Aにおけるマイグレーションポイント管理表600Aは、サーバAのローカルメモリ113Aに格納されるマイグレーションポイント管理表600である。図6Bにおけるマイグレーションポイント管理表600Bは、サーバBのローカルメモリ113Bに格納されるマイグレーションポイント管理表600である。以下において、マイグレーションポイント管理表600A及び600Bのいずれにも共通する説明をする場合、図6A及び図6Bに表示された符号から「A」、「B」を省略して、「マイグレーションポイント601」のように記載する。
マイグレーションポイント601は、サーバ110内のローカルパスである。クライアント150がGNS300のファイルへアクセスするために使用されるGNSルートディレクトリと、GNS300を構成するために接続されているディレクトリとがマイグレーションポイント601として登録される。そして、各マイグレーションポイントにファイルシステムIDが与えられる。さらに、ファイルシステムを分割する基点としたいディレクトリもマイグレーションポイントとして登録され、予めファイルシステムIDが与えられる。
例えば、図6Aのマイグレーションポイント管理表600Aには、マイグレーションポイント601として、GNS300のルートディレクトリ「/gns/」、GNS300に接続している「/mnt/fs0/」及び「/mnt/fs1/」、並びに、ファイルシステム分割の基点となる「/mnt/fs0/aa/」及び「/mnt/fs0/ab/ac/」が登録されている。
システム管理者は、予め、任意のディレクトリをマイグレーションポイント601に登録することができる。
ファイルシステムID602は、各ファイルシステム及び任意のディレクトリツリーに付与されたストレージシステム100内で一意の識別子である。管理計算機140は、マイグレーションポイント601をマイグレーションポイント管理表600に登録するとき、ストレージシステム100内で一意のファイルシステムIDを付与する。
クライアント150が、マイグレーションポイント601より下位のファイル(すなわち、マイグレーションポイント601以下のディレクトリツリーに属するファイル)の名前解決を実行した場合、ファイルシステム処理プログラム202は、ファイルハンドル(識別子)をクライアントに返す。そのファイルハンドルは、アクセス対象のファイルと最も近い上位のディレクトリ階層にあるマイグレーションポイント601に対応するファイルシステムID902と、アクセスするファイルに付与されたファイルIDとを含む。例えば、GNSのパス「/a/aa/file1」の名前解決を実行した場合、そのGNSのパスは、サーバAのローカルパス「/mnt/fs0/aa/file1」に対応する(図3から図5参照)。「/mnt/fs0/aa/file1」に最も近い上位のマイグレーションポイント601は、「/mnt/fs0/aa/」である。このため、クライアントに返されるファイルハンドルは、マイグレーションポイント「/mnt/fs0/aa/」のファイルシステムID「2」、及び、ファイルID「file1」を含む。
一度マイグレーションポイント601に与えたファイルシステムID602は、マイグレーションが実行された後も変える必要はない。そのため、ストレージシステム100内の各ファイルを識別するファイルハンドルは、マイグレーションポイント601以下のディレクトリツリー単位でマイグレーションが実行されても常に一定となる。この仕組みを利用して、クライアント150から透過的に(言い換えると、各ファイル又はディレクトリがどのサーバに管理されているかをクライアント150に意識させることなく)、マイグレーションポイントを基点としてファイルシステムを分割することが可能となる。詳細は後述する(図8及び図9参照)。
使用容量603〜writeI/O情報605には、各マイグレーションポイントの統計情報が登録される。使用容量603は、マイグレーションポイント以下のディレクトリツリーが使用しているディスクの容量を示す。readI/O情報604には、ディレクトリツリーの中のファイルが何回readアクセスされたか、及び、ディレクトリツリーの中のファイルが何バイト読み込まれたかが登録される。writeI/O情報605には、ディレクトリツリーの中のファイルが何回writeアクセスされたか、及び、ディレクトリツリーの中のファイルが何バイト書き込まれたかが登録される。
例えば、readI/O情報604及びwriteI/O情報605は、毎秒の平均値でもよいし、所定の時間の累積値等であってもよい。さらに、使用容量603〜writeI/O情報605に登録される情報とは別に、例えば、毎分ごとにロギングした値が登録され、時間経過ごとの性能の変化が分かるようにしてもよい。
使用容量603〜writeI/O情報605に登録された情報は、どのサーバ110のマイグレーションポイントを、どこのサーバ110へマイグレーションするかを判断するための材料として使用することができる。詳細は後述する(図16及び図19参照)。
図7は、本発明の実施の形態のファイルシステムID管理表700の説明図である。
ファイルシステムID管理表700は、管理計算機140が参照することができるいずれかの場所に格納される。本実施の形態のファイルシステムID管理表700は、管理計算機140内のローカルメモリ145又はディスク143に格納される。
管理計算機140は、各マイグレーションポイントにストレージシステム100内で一意のファイルシステムIDを付与するために、ファイルシステムID管理表700を参照する。ファイルシステムID管理表700は、ファイルシステムID701及び状態702からなる。
ファイルシステムID701には、各マイグレーションポイントに既に付与された、又はこれから付与されるファイルシステムIDが登録される。
状態702には、各ファイルシステムID701が既にいずれかのマイグレーションポイントに付与されているか否かを示す値が登録される。状態702に「済」が登録されたファイルシステムID701は、既にストレージシステム100内でいずれかのマイグレーションポイントに付与されている。一方、状態702に「未」が登録されたファイルシステムID701は、ストレージシステム100内でまだいずれのマイグレーションポイントにも付与されていない。
新たにマイグレーションポイントを設定するときに、管理計算機140は、そのマイグレーションポイントに、状態702の値が「未」であるファイルシステムID701を付与する。そして、そのファイルシステムID701に対応する状態702を「済」に更新する。その結果、新たに設定されるマイグレーションポイントには、常に、ストレージシステム内でまだどのマイグレーションポイントにも付与されていないファイルシステムID701が付与される。
次に、本実施の形態において実行されるマイグレーション処理について説明する。
サーバ110にマイグレーションの実行契機を与えるいくつかの方法が考えられる。例えば、システム管理者が管理計算機140を介してサーバソフトウェア200にマイグレーションの指示を与えてもよい。あるいは、サーバソフトウェア200が自動的に判断してマイグレーション処理を開始してもよい。あるいは、別の方法によって実行契機が与えられてもよい。いずれの方法であっても本発明を実施することができる。
次に、本発明の実施例におけるマイグレーションの実行処理の手順を、図8及び図9を参照して説明する。なお、サーバソフトウェア200に含まれるプログラム及びモジュールは、ローカルメモリ113に格納され、CPU112によって実行される。このため、以下の説明において各プログラム又はモジュールが実行する処理は、実際には、CPU112によって実行される。
図8は、本発明の実施の形態のマイグレーション処理プログラム207が実行する処理のフローチャートである。
サーバ110が、マイグレーションの対象となるマイグレーションポイントを指定したマイグレーションの指示を管理計算機140から受信したとき、マイグレーション処理プログラム207は、図8に示す処理を開始する。あるいは、マイグレーション処理プログラム207自身が、例えば、マイグレーションポイント管理表600に登録された統計情報等を参照して、マイグレーションを実行するか否かを判定してもよい。マイグレーション処理プログラム207は、マイグレーションを実行すると判定した場合に、図8の処理を開始する。
最初に、マイグレーション処理プログラム207は、ファイルシステムを分割する必要があるか否かを判断する(801)。
マイグレーション処理プログラム207が受信したマイグレーションポイント以下のディレクトリツリーがファイルシステム全体である場合(言い換えると、受信したマイグレーションポイントがファイルシステムの最上位ディレクトリである場合)、ファイルシステム全体がマイグレーションされる。この場合、ファイルシステムを分割する必要がないため、判定の結果は「いいえ」となり、ステップ804の処理に進む。
一方、マイグレーション処理プログラム207が受信したマイグレーションポイント以下のディレクトリツリーがファイルシステムの一部分である場合、ファイルシステムを分割する必要がある。このため、判定の結果は「はい」となり、ステップ802の処理に進む。
マイグレーション処理プログラム207は、ステップ802において、ファイルシステム分割処理モジュール214を呼び出す。ファイルシステム分割処理モジュール214が実行する処理の詳細については後述する(図9参照)。
次に、マイグレーション処理プログラム207は、ファイルシステム分割処理802による分割の結果新しく作成されたファイルシステムをマイグレーションする必要があるか否かを判定する(803)。
後述するように、ステップ802において局所分割が実行された場合、分割されたファイルシステムをマイグレーションする必要がある。一方、遠隔分割が実行された場合、分割されたファイルシステムをマイグレーションする必要がない。
ステップ803において、マイグレーションを実行する必要があると判定された場合、マイグレーション処理プログラム207は、分割されたファイルシステムのマイグレーションを実行して(804)、処理を終了する。
具体的には、マイグレーション処理プログラム207は、ステップ804において、マイグレーションの対象となる分割されたファイルシステムに含まれる全てのファイルを、マイグレーション先のサーバ110に送信する。マイグレーション先のサーバのマイグレーション処理プログラム207は、受信したファイルを、いずれかのLDEV124に格納する。
一方、ステップ803において、マイグレーションを実行する必要がないと判定された場合、マイグレーション処理プログラム207は、マイグレーションを実行せずに、処理を終了する。
図9は、本発明の実施の形態のファイルシステム処理プログラム202内のファイルシステム分割処理モジュール214が実行する処理のフローチャートである。
図9の処理は、図8のステップ802においてマイグレーション処理プログラム207によって呼び出されたときに、ファイルシステム分割処理モジュール214によって実行される。
最初に、ファイルシステム分割処理モジュール214は、新しいファイルシステムを作成する(901)。ここで、ファイルシステム分割処理モジュール214は、自サーバ(すなわち、分割の対象のファイルシステムを管理しているサーバ110)が管理する新たなファイルシステムを作成してもよいし、自サーバ以外のサーバ110が管理する新たなファイルシステムを作成してもよい。前者のようにして実行される分割を、以下の説明において「局所分割」と記載する。後者のようにして実行される分割を、以下の説明において「遠隔分割」と記載する。局所分割の具体例は、後で図10から図12を参照して説明する。遠隔分割の具体例は、後で図13から図15を参照して説明する。
次に、ファイルシステム分割処理モジュール214は、ステップ901において作成されたファイルシステムに、分割の対象となるマイグレーションポイント以下のディレクトリに属するファイルを、ファイルIDを維持したままコピーする(902)。マイグレーションによってファイルハンドルが変更されることを防ぐために、ファイルIDを維持する必要があるためである。このため、サーバ110のオペレーティングシステム(OS)は、ファイルIDを指定したファイルのコピーをする機能を備える必要がある。
次に、ファイルシステム分割処理モジュール214は、マイグレーションポイント管理表600を更新する(903)。この更新については後述する。
次に、ファイルシステム分割処理モジュール214は、GNS管理表500を更新する(904)。具体的には、ファイルシステム分割処理モジュール214は、GNS管理処理プログラム204を呼び出し、GNS管理表500を更新させる。この更新については後述する(図12及び図15参照)。
次に、ファイルシステム分割処理モジュール214は、作成された新しいファイルシステムをGNSに接続する(905)。具体的には、マウントテーブル(図示省略)が更新される。マウントテーブルの更新は、従来と同様の方法によって実行されてもよい。このため、詳細な説明は省略する。
以上で、ファイルシステム分割処理モジュール214は、処理を終了する。
次に、ステップ901において自サーバが管理する新たなファイルシステムが作成される場合の図9の処理の具体例を、図10から図12を参照して説明する。
具体的には、サーバAのマイグレーションポイント「/mnt/fs0/ab/ac/」407以下のディレクトリツリーを分割し、サーバAが管理する新しいファイルシステムを作成する場合を例として説明する。
図10は、本発明の実施の形態において局所分割が実行されているときの名前空間の一例の説明図である。
図10のうち、図4において既に説明した部分については、説明を省略する。
ファイルシステム分割処理モジュール214は、サーバAが利用可能な未使用のLDEV124に新しいファイルシステム1002を作成する(901)。さらに、ファイルシステム分割処理モジュール214は、作成された新しいファイルシステム1002をサーバAのローカルパス「/mnt/fs3/」にローカルマウントする。
次に、ファイルシステム分割処理モジュール214は、マイグレーションポイント407以下のディレクトリツリー1001に属するファイル「ad」及び「ae」を、ファイルIDを維持したまま、ファイルシステム1002以下のディレクトリツリーにコピーする(902)。ディレクトリツリー1001は、ファイルシステム401の一部に相当する。
次に、ファイルシステム分割処理モジュール214は、マイグレーションポイント管理表600Aのマイグレーションポイント601A「/mnt/fs0/ab/ac/」を「/mnt/fs3/」に書き換える(903)。
次に、GNS管理処理プログラム204がGNS管理表500を更新する(904)。具体的には、GNS管理処理プログラム204は、GNS管理表500に新たな行1201を追加する。更新されたGNS管理表1200は、図12に示す通りである。追加される行1201のサーバ名501には「サーバA」、ローカルパス502には「/mnt/fs3/」、接続ポイント503には「/gns/a/ab/ac/」が登録される。
次に、ファイルシステム分割処理モジュール214は、書き換えられたGNS管理表1200に従って、サーバAのローカルパス「/mnt/fs3/」1003を接続ポイント「/gns/a/ab/ac/」1101(図11参照)に接続する(905)。
以上で、ファイルシステムの局所分割が終了する。
図11は、本発明の実施の形態において局所分割が実行された後の名前空間の一例の説明図である。
図11は、図10に示す局所分割の実行が終了した後の名前空間である。図11のうち、図10において既に説明した部分については、説明を省略する。
サーバAのローカルパス「/mnt/fs0/ab/ac/」の下のファイル「ad」及び「ae」が削除され、「/gns/a/ab/ac/」1101が新たな接続ポイントとして設定されている。
図12は、本発明の実施の形態において局所分割が実行された後のGNS管理表1200の一例の説明図である。
GNS管理表1200には、図10において説明したように、新たな行1201が追加されている。
局所分割が終了した後、新たに作成されたファイルシステムを他のサーバ110へマイグレーションする必要がある。図11の例では、ファイルシステム1002を、例えばサーバBにマイグレーションする必要がある。このため、図8のステップ803において「はい」と判定され、ステップ804のマイグレーションが実行される。
例えば、後述する図13に示すように、ファイルシステム1002がサーバBにマイグレーションされる場合、マイグレーションが実行された後のサーバA及びサーバBのローカル名前空間は、後述する図14に示す通りとなる。このとき、マイグレーションポイント管理表600Aの「/mnt/fs3/」に対応する行は、マイグレーションポイント管理表600Bに移動する。そして、マイグレーションが実行された後のGNS管理表500は、後述する図15に示す通りとなる。
マイグレーションが実行される前、マイグレーションポイント管理表600Aの「/mnt/fs3/」に対応するファイルシステムID602Aの値は「3」であった。このため、「/mnt/fs3/」に対応する行がマイグレーションポイント管理表600Bに移動するときに、パス名「/mnt/fs3/」だけでなく、移動する行のファイルシステムID602Aの値「3」が、移動先のサーバBに送信される。この送信は、LAN160、サーバ間通信路135又はその他のネットワークを介して実行されてもよい。移動先のサーバBは、移動元のサーバAから送信されたパス名「/mnt/fs3/」及びファイルシステムID「3」を、それぞれ、マイグレーションポイント601B及びファイルシステムID602Bに登録する。その結果、マイグレーションされたファイルは、マイグレーション実行前と同じファイルハンドルによって識別される。
ここで、ファイルIDを維持したままコピーする方法(図9のステップ902参照)について補足説明する。ファイルIDとは、各ファイルごとに付与される識別子であり、ファイルシステム内で一意となる。ファイルIDを維持したままコピーするためには、コピー先のファイルシステムに同じファイルIDを持つファイルがないことを保証しなければならない。しかし、ステップ901で作成されたばかりのファイルシステムには、登録されているファイルが無いため、ファイルIDが重なることがないことが保証できる。そのため、ファイルIDを維持したままファイルをコピーすることが可能となる。言い換えると、一つのファイルがマイグレーションされたとき、マイグレーション実行後のマイグレーション先のサーバ110は、マイグレーション元のサーバ110がそのファイルを識別するために使用したファイルIDと同一のファイルIDを使用して、マイグレーションの対象のファイルを識別する。
クライアント150は、GNSのファイルにアクセスする場合、システム内で一意なファイルシステムIDとファイルシステム内で一意なファイルIDとを組み合わせて作成されるファイルハンドルを使用し、システム内のファイルを一意に識別する。サーバ110は、ファイルハンドルを指定したアクセス要求を受信すると、指定されたファイルハンドルによって識別されるファイルに対するアクセスを実行する。
本発明によれば、ファイルシステムの分割が実行される前後で、ファイルシステムIDもファイルIDも変わらない。また、ファイルシステム分割後にファイルシステムをマイグレーションしても、ファイルシステムIDとファイルIDのいずれも変わることはない。そのため、クライアント150は、ファイルシステム分割前に取得したファイルハンドルを使用して、ファイルシステム分割後も、ファイルシステムのマイグレーション後も、一意のファイルにアクセスすることができる。
分割によって作成される新しいファイルシステムを、あらかじめマイグレーション先のサーバ110に作成してもよい。そのようにして実行される分割が、遠隔分割である。例えば、分割元のファイルシステム401のマイグレーションポイント407以下のディレクトリツリーを分割し、新しいファイルシステムをサーバBが管理するファイルシステムとして作成する場合に実行される図9の処理を、図13〜図15を参照して説明する。
図13は、本発明の実施の形態において遠隔分割が実行されているときの名前空間の一例の説明図である。
図13のうち、図4又は図10において既に説明した部分については、説明を省略する。
ファイルシステム分割処理モジュール214は、サーバBが利用可能な未使用のLDEV124に新しいファイルシステム1302を作成する(901)。さらに、ファイルシステム分割処理モジュール214は、作成された新しいファイルシステム1302をサーバBのローカルパス「/mnt/fs3/」にローカルマウントする。
次に、ファイルシステム分割処理モジュール214は、マイグレーションポイント「/mnt/fs0/ab/ac/」407以下のディレクトリツリー1301以下のファイル「ad」及び「ae」を、ファイルIDを維持したまま、ファイルシステム1302にコピーする(902)。このコピーは、LAN160を介して実行されてもよいし、他のネットワークを介して実行されてもよい。
次に、サーバAのファイルシステム分割処理モジュール214は、マイグレーションポイント管理表600Bに「/mnt/fs3/」をマイグレーションポイントとして追加する指示をサーバBに送信する(903)。
この指示には、マイグレーションポイント管理表600Bに新たに追加されるマイグレーションポイントID「/mnt/fs3/」と、マイグレーションポイント管理表600AにおいてそのIDと対応して登録されていたファイルシステムID602Aの値「3」が含まれる。その結果、マイグレーションポイント管理表600Bに新たに追加される行のマイグレーションポイントID601B及びファイルシステムID602Bは、それぞれ、「/mnt/fs3/」及び「3」となる。その結果、マイグレーションされたファイルは、マイグレーション実行前と同じファイルハンドルによって識別される。
次に、ファイルシステム分割処理モジュール214は、GNS管理処理プログラム204に、GNS管理表500を更新する指示を送信する(904)。GNS管理処理プログラム204は、GNS管理表500に新たな行1501を追加する。更新されたGNS管理表1500は、図15に示す通りである。追加される行1501のサーバ名501には「サーバB」、ローカルパス502には「/mnt/fs3/」、接続ポイント503には「/gns/a/ab/ac/」が登録される。
次に、ファイルシステム分割処理モジュール214は、書き換えられたGNS管理表1500に従って、サーバBのローカルパス「/mnt/fs3/」1303を接続ポイント「/gns/a/ab/ac/」1401(図14参照)に接続する(905)。
以上で、ファイルシステムの遠隔分割が完了する。
図14は、本発明の実施の形態において遠隔分割が実行された後の名前空間の一例の説明図である。
図14は、図13に示す遠隔分割の実行が終了した後の名前空間である。図14のうち、図13において既に説明した部分については、説明を省略する。
サーバAのローカルパス「/mnt/fs0/ab/ac/」の下のファイル「ad」及び「ae」が削除され、「/gns/a/ab/ac/」1401が新たな接続ポイントとして設定されている。
図15は、本発明の実施の形態において遠隔分割が実行された後のGNS管理表1500の一例の説明図である。
GNS管理表1500には、図13において説明したように、新たな行1501が追加されている。
以上の遠隔分割によれば、分割の終了と同時に他のサーバ110へのファイルシステムのマイグレーションも終了している。このため、図8のステップ803において「いいえ」と判定され、ステップ804のマイグレーションは実行されない。
ファイルシステムの作成901、ファイルのコピー902、データの二重書き、及び、GNS管理処理プログラム204との通信は、LAN160を介して実行されてもよいし、サーバ間通信路135を介して実行されてもよい。
図10〜図13の例のように、元のファイルシステムを管理するサーバ110に新しいファイルシステムを作成してからマイグレーションを実行する方法を局所分割マイグレーションと呼ぶ。図13〜図15の例のように、予めマイグレーション先のサーバ110に新しいファイルシステムを作成する方法を遠隔分割マイグレーションと呼ぶ。
局所分割マイグレーション及び遠隔分割マイグレーションには、それぞれ相反する長所、短所がある。局所分割マイグレーションの長所は、スイッチ130の設定を変更して、サーバ110とディスクコントローラ125間のパスを切り換えるだけでファイルシステムのマイグレーションができる場合、サーバ110間のファイルコピー等によるネットワーク帯域の消費を節約できることである。例えば、サーバAからサーバBへのマイグレーションが実行されるとき、サーバAとサーバBが同じディスクサブシステム120を共有していれば、スイッチ130の設定を変えることで、マイグレーションの対象のファイルシステムが入っているLDEV124をサーバAからサーバBの管理下に移すことができる。
局所分割マイグレーションの短所は、マイグレーション元のディスクサブシステム120の空き容量が足りない場合、及び、LDEV124を使い切ったために新たなファイルシステムを作れない場合に実行できないことである。
遠隔分割マイグレーションの長所は、マイグレーション元のディスクサブシステム120の空き容量が足りない場合、又は、LDEV124が足りない場合であっても、マイグレーション先のディスクサブシステム120の空き容量又はLDEV数に余裕があれば、マイグレーションが可能なことである。
遠隔分割マイグレーションの短所は、スイッチ130の設定を変更して、サーバ110とディスクコントローラ125間のパスを切り換えるだけでファイルシステムのマイグレーションが済む場合であっても、ネットワーク帯域を消費してしまうことである。
本発明では、以上の局所分割マイグレーションと遠隔分割マイグレーションを組み合わせて使用することによって、より効率の良いファイルシステムのマイグレーションを実行することができる。
次に、マイグレーションの実行契機を与える具体例として、管理者が管理計算機140からサーバ110へマイグレーションの実行を指示するためのグラフィカルユーザインターフェース(GUI)を図16及び図17に例示する。
図16は、本発明の実施の形態の管理計算機140に表示されるマイグレーションポイント選択ウィンドウの説明図である。
マイグレーションポイント選択ウィンドウ1600は、管理計算機140の管理画面142に表示される。マイグレーションポイント選択ウィンドウ1600には、マイグレーション元サーバリスト1650、マイグレーションポイントリスト1660及びマイグレーション先サーバリスト1670が表示される。
マイグレーション元サーバリスト1650は、システム管理者がどのサーバ110のディレクトリツリーをマイグレーションするかを決定するために表示される。マイグレーション元サーバリスト1650は、サーバ名1601、空き容量1602、空きLDEV数1603、CPU負荷1604及びネットワーク帯域1605を含む。
サーバ名1601には、マイグレーション元となるサーバ110の候補が表示される。空き容量1602には、サーバ名1601が示すサーバ110が利用できるディスクサブシステム120の空き容量が表示される。空きLDEV数1603には、サーバ名1601が示すサーバ110が利用できるディスクサブシステム120に設定されたLDEVの数が表示される。CPU負荷1604には、サーバ名1601が示すサーバ110が現在使用しているCPU112の負荷の値(例えば、%)が表示される。ネットワーク帯域1605には、サーバ名1601が示すサーバ110が現在使用しているネットワーク帯域の量(例えば、bytes毎秒)が表示される。システム管理者は、エントリの選択ボタン1606を操作することによって、サーバ名1601を選択することができる。選択されたサーバ名1601が示すサーバ110が、マイグレーション元のサーバ110となる。
なお、システム管理者による選択ボタン1606の操作は、入力装置141によって実行される。例えば、入力装置141がマウスを含む場合、システム管理者は、選択ボタン1606上でマウスクリックをすることによって操作してもよい。実行ボタン1631等についても同様である。
システム管理者は、マイグレーション元として、例えば、空き容量1602が少ないサーバ110を選択してもよいし、空きLDEV数1603が少ないサーバ110を選択してもよいし、CPU負荷1604が高いサーバ110を選択してもよいし、ネットワーク帯域1605の使用量の高いサーバ110を選択してもよい。あるいは、列1602〜1605までの各種情報を組み合わせてマイグレーション元のサーバ110を選択してもよい。
マイグレーション元サーバのマイグレーションポイントリスト1660には、選択ボタン1606によって選択されたサーバ110のマイグレーションポイント管理表600が表示される。マイグレーションポイントリスト1660に含まれるマイグレーションポイント1611、使用容量1612、readI/O情報1613及びwriteI/O情報1614には、それぞれ、マイグレーションポイント管理表600に登録されているマイグレーションポイント601、使用容量603、readI/O情報604及びwriteI/O情報605の値が表示される。
システム管理者は、選択ボタン1615を操作することによって、マイグレーションポイントリストに表示されたマイグレーションポイントの中から、マイグレーションしたいディレクトリツリーを選択する。具体的には、システム管理者は、マイグレーションしたいディレクトリツリーの最上位ディレクトリを、マイグレーションポイント1611から選択する。
マイグレーション先サーバリスト1670には、サーバ名1621、空き容量1622、空きLDEV数1623、CPU負荷1624及びネットワーク帯域1625が表示される。システム管理者は、選択ボタン1615を操作して選択したマイグレーションポイント以下のディレクトリツリーをマイグレーションする先のサーバ110を、マイグレーション先サーバリスト1670から選択する。この選択は、システム管理者が選択ボタン1626を操作することによって実行される。
サーバ名1621には、マイグレーション先の候補となるサーバ110の名前が表示される。空き容量1622は、サーバ名1621が示すサーバ110が利用できるディスクサブシステム120の空き容量が表示される。空きLDEV数1623には、サーバ名1621が示すサーバ110が利用できるディスクサブシステムの空きLDEVの数が表示される。CPU負荷1624には、サーバ名1621が示すサーバ110が現在使用しているCPU112の負荷の値(例えば、%)が表示される。ネットワーク帯域1625には、サーバ名1621が示すサーバ110が現在使用しているネットワーク帯域の量(例えば、bytes毎秒)が表示される。
システム管理者がマイグレーション実行ボタン1631を操作すると、マイグレーション先の詳細入力ウィンドウ1700が表示される(図17参照)。キャンセルボタン1632は、マイグレーションポイント選択ウィンドウ1600を閉じ、マイグレーション処理をキャンセルするために使用される。
図17は、本発明の実施の形態のマイグレーション先詳細設定ウィンドウ1700の説明図である。
マイグレーション先詳細設定ウィンドウ1700は、マイグレーション元サーバ名表示欄1701、マイグレーションポイント表示欄1702、マイグレーション先サーバ名表示欄1703、LDEV名入力欄1704、ローカルパス入力欄1705、実行ボタン1731及びキャンセルボタン1732を含む。
マイグレーション元サーバ名表示欄1701には、図16の選択ボタン1606によって選択されたマイグレーション元のサーバ110のサーバ名1601が表示される。図17の例では、「サーバA」が表示されている。マイグレーションポイント表示欄1702には、選択ボタン1615によって選択されたマイグレーションポイント1611が表示される。図17の例では、「/mnt/fs3/」が表示されている。マイグレーション先サーバ名表示欄1703には、選択ボタン1626によって選択されたマイグレーション先のサーバ110のサーバ名1621が表示される。図17の例では、「サーバB」が表示されている。
システム管理者は、マイグレーション先のサーバ110が利用することができるLDEV124の中から、マイグレーション先として使用するものを選択し、そのLDEV124のLDEV名をLDEV名入力欄1704に入力する。
さらに、システム管理者は、マイグレーション先のLDEV124に作成されるファイルシステムをローカルマウントするマイグレーション先のサーバ110のローカルパスを指定し、そのローカルパスをローカルパス入力欄1705に入力する。その結果、マイグレーション先サーバ名表示欄1703に表示されたサーバ110の、ローカルパス入力欄1705に入力されたローカルパスに、マイグレーション先のファイルシステムが作成される。ローカルパス入力欄1705に入力される値は、GNS管理表500のローカルパス502に対応している。
システム管理者が実行ボタン1731を操作すると、管理計算機140は、サーバソフトウェア200へマイグレーションの開始を指示する。システム管理者がキャンセルボタン1732を選択すると、マイグレーション先詳細設定ウィンドウ1700が閉じる。
局所分割マイグレーションと遠隔分割マイグレーションは、自動的に使い分けられてもよい。例えば、サーバAからサーバBへのマイグレーションが実行されるとき、サーバAとサーバBが同じディスクサブシステム120を共有している場合、LDEV名入力欄1704に入力されたLDEV124へのマイグレーションは、パスを切り替えるだけで実行することができる。このとき、局所分割に使用するLDEV124のファイルシステムを一時的にサーバAにローカルマウントするためのディレクトリは、管理計算機140によって自動生成されてもよい。
サーバAとサーバBが同じディスクサブシステム120を共有していない場合、パス切り替えによってマイグレーションを実行することができない。このため、自動的に、遠隔分割マイグレーションが選択され、実行される。その場合は、LDEV名入力欄1704に入力されたLDEV124がサーバBに確保され、そのLDEV124にファイルシステムが作成される。そして、作成されたファイルシステムに、マイグレーションポイント表示欄1702に表示されたディレクトリ以下のファイルを、ファイルIDを維持したままコピーすることによって、マイグレーションが実行される。
図16及び図17では、システム管理者がGUIウィンドウを使用してマイグレーション開始の契機を与える方法について説明した。しかし、GUIウィンドウは、マイグレーションの契機を与える方法のうちの一つであり、他の方法によってマイグレーションの契機が与えられてもよい。例えば、コマンドラインインターフェース(CLI)によってマイグレーションの契機が与えられてもよい。あるいは、マイグレーション元サーバの統計情報、マイグレーションポイント管理表の統計情報及びマイグレーション先サーバの統計情報に基づいて、どのサーバ110のどのマイグレーションポイントをどのサーバ110へマイグレーションするか自動的に判断してもよい。
図18は、本発明の実施の形態の管理計算機140が統計情報に基づいてマイグレーションの実行を制御する処理を説明するフローチャートである。
図18の例では、統計情報として、各サーバの空き容量1602、CPU負荷1604及びネットワーク帯域使用量1605が使用される。具体的には、これらの値と、予め設定された閾値とを比較し、その比較の結果に基づいて、マイグレーションの実行が制御される。
なお、以下に説明するステップ1801から1807までの処理は、マイグレーション元サーバリスト1650に表示された各サーバ110を対象として実行される。
管理計算機140のCPU144は、最初に、空き容量1602の値が所定の閾値を下回っているか否かを判定する(1801)。
ステップ1801において、閾値を下回っていると判定された場合(すなわち、「はい」の場合)、特定のLDEV124にデータが集中して格納されていると考えられる。この場合、LDEV124に格納されているデータ量を分散させるために、マイグレーションを実行することが望ましい。この場合、処理はステップ1804へ進む。
この場合、CPU144はステップ1804において、空き容量1602の閾値を上回るために十分な使用容量1612を持つ一つ以上のマイグレーションポイントを選択する。
一方、ステップ1801において、閾値を下回っていないと判定された場合(すなわち、「いいえ」の場合)、処理はステップ1802へ進む。
ステップ1802において、CPU144は、CPU負荷1604の値が所定の閾値を上回ったか否かを判定する。
ステップ1802において、閾値を上回っていると判定された場合(すなわち、「はい」の場合)、特定のサーバに処理の負荷が集中していると考えられる。この場合、サーバ110のCPU負荷を分散させるために、マイグレーションを実行することが望ましい。この場合、処理はステップ1804へ進む。
この場合、CPU144はステップ1804において、クライアント150から各マイグレーションポイントへのアクセスによるCPU負荷を、readI/O情報1613及びwriteI/O情報1614に基づいて算出する。正確なCPU負荷を算出する代わりに、近似的な値を算出してもよい。そして、CPU144は、マイグレーションによってCPU負荷1604が閾値を下回るように、一つ以上の適切なマイグレーションポイントを選択する。
一方、ステップ1802において、閾値を上回っていないと判定された場合(すなわち、「いいえ」の場合)、処理はステップ1803へ進む。
ステップ1803において、CPU144は、ネットワーク帯域1605の値(すなわち、ネットワーク帯域の使用量)が所定の閾値を上回ったか否かを判定する。
ステップ1803において、閾値を上回ったと判定された場合(すなわち、「はいの場合」)、特定のサーバに通信の負荷が集中していると考えられる。この場合、通信の負荷を分散させるために、マイグレーションを実行することが望ましい。この場合、処理はステップ1804へ進む。
この場合、CPU144はステップ1804において、readバイト数1613及びwriteバイト数1614に基づいて、各マイグレーションポイントの単位時間当たりのネットワーク帯域の使用量を計算する。そして、CPU144は、その計算の結果に基づいて、ネットワーク帯域1605が閾値を下回るように、一つ以上の適切なマイグレーションポイントを選択する。
一方、ステップ1803において、閾値を上回っていないと判定された場合(すなわち、「いいえ」の場合)、データ量及び負荷のいずれも集中していない。この場合、マイグレーションを実行する必要がないため、処理を終了する。
CPU144は、ステップ1804を実行した後、マイグレーションの条件に適合するサーバ110があるか否かを判定する(1805)。
具体的には、CPU144は、ステップ1804で選択されたマイグレーションポイントの数以上の空きLDEV数1623を持つサーバ110の中から、ステップ1804で選択されたマイグレーションポイントをマイグレーションしたとしても、次の三つの条件を満たすと予測されるサーバ110を選択する。
(1)空き容量1602が所定の閾値を下回らない。
(2)CPU負荷1604が所定の閾値を上回らない。
(3)ネットワーク帯域1605が所定の閾値を上回らない。
ステップ1805において、マイグレーションの条件に適合するサーバ110があると判定された場合、そのサーバ110へのマイグレーションを実行することによって、サーバ110の負荷等が分散される。このため、CPU144は、条件に適合するサーバ110をマイグレーション先として選択する(1806)。複数のサーバ110が条件に適合する場合、それらのうちの任意の数のサーバ110がマイグレーション先として選択されてもよい。
次に、CPU144は、ステップ1804において選択されたマイグレーションポイントを、ステップ1806において選択されたサーバ110へマイグレーションする指示を、サーバ110に送信する(1807)。複数のマイグレーションポイントをマイグレーションする場合、全てのマイグレーションポイントを一つのサーバ110へマイグレーションしてもよいし、複数のサーバへ分散してマイグレーションしてもよい。ただし、複数のサーバ110全体で、選択されたマイグレーションポイントの数の空きLDEV数1623を用意することができ、かつ、全てのサーバが上記の条件(1)から(3)を満たす必要がある。
一方、ステップ1805において、マイグレーションの条件に適合するサーバ110がないと判定された場合、マイグレーションを実行してもサーバ110の負荷等が分散されない。この場合、CPU144は、処理を終了する。
以上の処理を実行することによって、全サーバ110の空き容量1602、CPU負荷1604、ネットワーク帯域1605を適切な範囲に保つことができる。
また、各統計情報の履歴を取っておくことによって、次のような処理も実現できる。
例えば、各マイグレーションポイントの使用容量1612、readI/O情報1613及びwriteI/O情報1614の履歴を参照することによって、ほとんど読み込みにしか使っていないマイグレーションポイントであるか否かが分かる。ほとんど読み込みにしか使っていないマイグレーションポイントは、予めアーカイブ用途に適したLDEV124を持つサーバ110へマイグレーションされてもよい。
また、使用容量1612とwriteI/O情報1614の履歴を参照することによって、著しく使用容量が増加傾向にあるマイグレーションポイントを見つけることができる。このようなマイグレーションポイントは、特に空き容量1602が豊富で、書き込み性能の良いLDEV124を持つサーバ110へ予めマイグレーションすることもできる。
また、readI/Oバイト数1613及びwr iteI/Oバイト数1614の履歴を参照することによって、各マイグレーションポイントのネットワーク帯域の消費量が増加傾向にあるか否かが分かる。ネットワーク帯域の消費量が増加傾向にあるマイグレーションポイントは、特に大きいネットワーク帯域を持つサーバ110へ予めマイグレーションすることもできる。
この他、短時間にマイグレーションを繰り返すことによってシステム全体の性能が低下することを避けるために、一度マイグレーションされたマイグレーションポイントは、しばらくマイグレーションを禁止することもできる。
サーバ110の統計情報(すなわち、マイグレーション元サーバリスト1650及びマイグレーション先サーバリスト1670に表示される情報)は、例えば、管理計算機140がマイグレーションのウィンドウを表示するときに取得してもよいし、周期的に取得してもよい。サーバ110間の通信には、LAN160が使用されてもよいし、サーバ間通信路135が使用されてもよい。
次に、上記の本発明の実施の形態の効果について説明する。
クライアントから透過的に、きめ細かいマイグレーションを実現する従来の方法として、予めストレージシステム100に少ない容量のファイルシステムを多数用意するという方法があった。以下、図19を参照して、本実施の形態と上記従来の方法とを比較する。
図19は、本発明の実施の形態と従来の手法とを比較する説明図である。
説明の便宜上、100GBの記憶容量を持つストレージシステム1900A及び1900Bがあると仮定する。ストレージシステム1900Aには本発明の実施の形態が適用され、ストレージシステム1900Bには従来の方法が適用される。ストレージシステム1900Aは、一つのファイルシステム1901Aのみを含む。すなわち、ファイルシステム1901Aの記憶容量は100GBである。一方、ストレージシステム1900Bには、予め小さいファイルシステムが用意される。具体的には、ストレージシステム1900Bは、各々の記憶容量が25GBである四つのファイルシステム1901B、1902B、1903B及び1904Bを含む。
ストレージシステム1900A及び1900Bに格納されているファイルのデータ量は、それぞれ50GBである。図19中の網掛けされている領域が、ストレージシステム1900A及び1900Bの使用領域(すなわち、ファイルを格納している領域)である。ストレージシステム1900Bでは、ファイルシステム1901B及び1902Bにそれぞれ20GBのデータが格納され、ファイルシステム1903Bには10GBのデータが格納され、ファイルシステム1904Bにはデータが格納されていない。
図19の例では、各ファイルシステムの使用率が80%になった時点で、マイグレーションが実行されると仮定する。ファイルシステムの使用率とは、各ファイルシステムに設定されている記憶容量に対する、実際に使用されている容量の割合(%)である。
以上の条件で、図19を参照すると、ストレージシステム1900Aでは、ファイルシステム1901Aの使用率が50%である。このため、マイグレーションを実行する必要が無い。これに対し、ストレージシステム1900Bでは、ファイルシステム1901B及び1902Bの使用率は、マイグレーションの閾値である80%である。このため、ファイルシステム1901B及び1902Bは、マイグレーションの対象となってしまう。このように、ファイルシステム1901B及び1902Bに格納されるファイルが集中している一方で、ファイルシステム1903B及び1904Bには、空き容量の余裕がある。ストレージシステム1900Bでは、マイグレーションの回数が増える上に、最初に割り当てられたファイルシステム1904Bが無駄になる可能性もあり、性能面においても、ストレージシステム100の使用効率においても無駄が多い。
小さなファイルシステムを予め作成し、細かい粒度のマイグレーションを実現する従来の方法で、効率よくストレージシステム100を使用するためには、図19の例のようなことが起こらないように、予めファイルシステムごとの細かい運用計画を立てなければならない。しかしながら、実際にストレージシステム100の運用の前から細かい予測を立てることは難しい。
これに対して、本発明の実施の形態によれば、必要に応じてファイルシステムを分割してマイグレーションを実行することによって、ファイルシステム数を必要最小限に抑えることができる。このため、本実施の形態は、図19のストレージシステム1900Bに示す方法と比べ、マイグレーション処理の増加による性能劣化、及び、容量効率の無駄を抑える効果がある。
以上、本発明の実施の形態によれば、複数のサーバ110を備えるストレージシステム100において、ファイルシステムを分割することによって、きめ細かい粒度のマイグレーションを、クライアントから透過的に実現することが可能となる。これは、複数のサーバ110間のより良い負荷の均衡を可能とし、ストレージシステム100全体の性能向上に寄与する。
本発明の実施の形態のストレージシステムの構成を示すブロック図である。 本発明の実施の形態のサーバソフトウェアの説明図である。 本発明の実施の形態においてクライアントに提供される共通名前空間の一例を示す説明図である。 本発明の実施の形態の各サーバの名前空間の説明図である。 本発明の実施の形態のGNS管理表の一例を示す説明図である。 本発明の実施の形態のマイグレーションポイント管理表の一例を示す説明図である。 本発明の実施の形態のマイグレーションポイント管理表の一例を示す説明図である。 本発明の実施の形態のファイルシステムID管理表の説明図である。 本発明の実施の形態のマイグレーション処理プログラムが実行する処理のフローチャートである。 本発明の実施の形態のファイルシステム処理プログラム内のファイルシステム分割処理モジュールが実行する処理のフローチャートである。 本発明の実施の形態において局所分割が実行されているときの名前空間の一例の説明図である。 本発明の実施の形態において局所分割が実行された後の名前空間の一例の説明図である。 本発明の実施の形態において局所分割が実行された後のGNS管理表の一例の説明図である。 本発明の実施の形態において遠隔分割が実行されているときの名前空間の一例の説明図である。 本発明の実施の形態において遠隔分割が実行された後の名前空間の一例の説明図である。 本発明の実施の形態において遠隔分割が実行された後のGNS管理表の一例の説明図である。 本発明の実施の形態の管理計算機に表示されるマイグレーションポイント選択ウィンドウの説明図である。 本発明の実施の形態のマイグレーション先詳細設定ウィンドウの説明図である。 本発明の実施の形態の管理計算機が統計情報に基づいてマイグレーションの実行を制御する処理を説明するフローチャートである。 本発明の実施の形態と従来の手法とを比較する説明図である。
符号の説明
100 ストレージシステム
110 サーバ
111 ネットワークインターフェース
112 CPU
113 ローカルメモリ
116 アダプタ
120 ディスクサブシステム
121 ディスクコントローラ
122 ディスクキャッシュ
123 ディスクドライブ
124 論理デバイス(LDEV)
125 ポート
126 管理用ポート
130 スイッチ
131 管理用ポート
135 サーバ間通信路
140 管理計算機
150 クライアント
160 LAN
200 サーバソフトウェア
201 ネットワーク処理プログラム
202 ファイルシステム処理プログラム
203 ディスクアクセス処理プログラム
204 GNS管理処理プログラム
205 サーバ管理処理プログラム
206 サーバ間通信処理プログラム
207 マイグレーション処理プログラム
211 マイグレーションポイント設定処理モジュール
212 ファイルアクセス処理モジュール
213 ファイルシステム作成処理モジュール
214 ファイルシステム分割処理モジュール

Claims (12)

  1. 複数のサーバと、前記複数のサーバに接続されるディスクサブシステムと、を備えるストレージシステムにおいて、
    前記複数のサーバは、第1サーバ及び第2サーバを含み、
    前記各サーバは、ネットワークに接続されるインターフェースと、前記インターフェースに接続されるプロセッサと、前記プロセッサに接続されるメモリと、を備え、
    前記ディスクサブシステムは、一つ以上のファイルシステムを含む一つ以上の論理デバイスを備え、
    前記ファイルシステムに含まれるディレクトリのうち最上位のディレクトリには、前記ストレージシステム内で一意の第1のファイルシステム識別子が付与され、
    前記ファイルシステムに含まれるディレクトリのうち前記最上位のディレクトリ以外の一つには、前記ストレージシステム内で一意の第2のファイルシステム識別子が付与され、
    前記ファイルシステムに含まれるファイルには、前記ファイルシステム内で一意のファイル識別子が付与され、
    前記第1サーバが備える前記プロセッサは、
    前記第2のファイルシステム識別子が付与された前記ディレクトリより下位のファイルの名前解決を実行して、前記第2のファイルシステム識別子及び前記ファイル識別子を含むファイルハンドルを前記ネットワークに接続されたクライアント計算機に送信し、
    前記クライアント計算機から前記第2のファイルシステム識別子及び前記ファイル識別子を含むファイルハンドルを指定したアクセス要求を受信すると、前記第2のファイルシステム識別子が付与された前記ディレクトリより下位の、前記ファイルハンドルによって指定されたファイル識別子が付与されたファイルにアクセスし、
    前記第2のファイルシステム識別子が付与された前記ディレクトリを前記第2サーバへマイグレーションする指示を、前記インターフェースを介して受信すると、前記マイグレーションの対象の前記ディレクトリより下位の前記ファイルと、前記マイグレーションの対象の前記ディレクトリに付与された前記第2のファイルシステム識別子と、を前記第2サーバへ送信し、
    前記第2サーバが備える前記プロセッサは、前記クライアント計算機から、前記第2のファイルシステム識別子及び前記ファイル識別子を含むファイルハンドルを指定したアクセス要求を受信すると、前記第2のファイルシステム識別子が付与された前記ディレクトリより下位の、前記ファイルハンドルによって指定されたファイル識別子が付与されたファイルにアクセスすることを特徴とするストレージシステム。
  2. 前記メモリは、前記ディレクトリと、前記ディレクトリに付与された前記ファイルシステム識別子と、を対応付ける情報を格納することを特徴とする請求項1に記載のストレージシステム。
  3. ストレージシステムと、クライアント計算機と、前記ストレージシステム及び前記クライアント計算機を接続するネットワークと、を備える計算機システムにおいて、
    前記ストレージシステムは、複数のサーバと、前記複数のサーバに接続されるディスクサブシステムと、を備え、
    前記複数のサーバは、第1サーバ及び第2サーバを含み、
    前記各サーバは、前記ネットワークに接続されるインターフェースと、前記インターフェースに接続されるプロセッサと、前記プロセッサに接続されるメモリと、を備え、
    前記ディスクサブシステムは、一つ以上のファイルシステムを含む一つ以上の論理デバイスを備え、
    前記ファイルシステムに含まれるディレクトリのうち最上位のディレクトリには、前記ストレージシステム内で一意の第1のファイルシステム識別子が付与され、
    前記ファイルシステムに含まれるディレクトリのうち前記最上位のディレクトリ以外の一つには、前記ストレージシステム内で一意の第2のファイルシステム識別子が付与され、
    前記ファイルシステムに含まれるファイルには、前記ファイルシステム内で一意のファイル識別子が付与され、
    前記第1サーバが備える前記プロセッサは、
    前記第2のファイルシステム識別子が付与された前記ディレクトリより下位のファイルの名前解決を実行して、前記第2のファイルシステム識別子及び前記ファイル識別子を含むファイルハンドルを前記クライアント計算機に送信し、
    前記クライアント計算機から前記第2のファイルシステム識別子及び前記ファイル識別子を含むファイルハンドルを指定したアクセス要求を受信すると、前記第2のファイルシステム識別子が付与された前記ディレクトリより下位の、前記ファイルハンドルによって指定されたファイル識別子が付与されたファイルにアクセスし、
    前記第2のファイルシステム識別子が付与された前記ディレクトリを前記第2サーバへマイグレーションする指示を、前記インターフェースを介して受信すると、前記マイグレーションの対象の前記ディレクトリより下位の前記ファイルと、前記マイグレーションの対象の前記ディレクトリに付与された前記第2のファイルシステム識別子と、を前記第2サーバへ送信し、
    前記第2サーバが備える前記プロセッサは、前記クライアント計算機から、前記第2のファイルシステム識別子及び前記ファイル識別子を含むファイルハンドルを指定したアクセス要求を受信すると、前記第2のファイルシステム識別子が付与された前記ディレクトリより下位の、前記ファイルハンドルによって指定されたファイル識別子が付与されたファイルにアクセスすることを特徴とする計算機システム。
  4. 前記メモリは、前記ディレクトリと、前記ディレクトリに付与された前記ファイルシステム識別子と、を対応付ける情報を格納することを特徴とする請求項3に記載の計算機システム。
  5. 前記計算機システムは、さらに管理計算機を備え、
    前記管理計算機は、前記ネットワークに接続されるインターフェースと、前記インターフェースに接続されるプロセッサと、前記プロセッサに接続されるメモリと、を備え、
    前記計算機システムは、前記ディレクトリに既に付与された前記ファイルシステム識別子の値を管理する管理情報を保持し、
    前記管理計算機が備える前記プロセッサは、前記管理情報を参照して、まだいずれの前記ディレクトリにも付与されていない値を、まだ前記ファイルシステム識別子を付与されていない前記ディレクトリに、前記ファイルシステム識別子として付与することを特徴とする請求項3に記載の計算機システム。
  6. 前記計算機システムは、さらに管理計算機を備え、
    前記管理計算機は、前記ネットワークに接続されるインターフェースと、前記インターフェースに接続されるプロセッサと、前記プロセッサに接続されるメモリと、を備え、
    前記管理計算機が備える前記プロセッサは、ファイルアクセスに関する統計情報に基づいて、前記ディレクトリを対象とするマイグレーションを実行するか否かを判定することを特徴とする請求項3に記載の計算機システム。
  7. 前記統計情報は、前記各サーバが備えるプロセッサの使用率であり、
    前記管理計算機が備える前記プロセッサは、前記第1サーバが備えるプロセッサの使用率が所定の閾値を越えた場合、前記第1サーバが管理する前記ファイルシステムに含まれ、かつ、前記ファイルシステム識別子が付与された前記ディレクトリを選択し、前記選択されたディレクトリを対象とするマイグレーションを実行する指示を前記第1サーバに送信することを特徴とする請求項6に記載の計算機システム。
  8. ストレージシステムと、クライアント計算機と、前記ストレージシステム及び前記クライアント計算機を接続するネットワークと、を備える計算機システムの制御方法であって、
    前記ストレージシステムは、第1サーバ及び第2サーバを含む複数のサーバと、前記複数のサーバに接続されるディスクサブシステムと、を備え、
    前記各サーバは、前記ネットワークに接続されるインターフェースと、前記インターフェースに接続されるプロセッサと、前記プロセッサに接続されるメモリと、を備え、
    前記ディスクサブシステムは、一つ以上のファイルシステムを含む一つ以上の論理デバイスを備え、
    前記ファイルシステムに含まれるディレクトリのうち最上位のディレクトリには、前記ストレージシステム内で一意の第1のファイルシステム識別子が付与され、
    前記ファイルシステムに含まれるディレクトリのうち前記最上位のディレクトリ以外の一つには、前記ストレージシステム内で一意の第2のファイルシステム識別子が付与され、
    前記ファイルシステムに含まれるファイルには、前記ファイルシステム内で一意のファイル識別子が付与され、
    前記方法は、
    前記第1サーバが備える前記プロセッサが、前記第2のファイルシステム識別子が付与された前記ディレクトリより下位のファイルの名前解決を実行して、前記第2のファイルシステム識別子及び前記ファイル識別子を含むファイルハンドルを前記クライアント計算機に送信し、
    前記第1サーバが備える前記プロセッサが、前記クライアント計算機から前記第2のファイルシステム識別子及び前記ファイル識別子を含むファイルハンドルを指定したアクセス要求を受信すると、前記第2のファイルシステム識別子が付与された前記ディレクトリより下位の、前記ファイルハンドルによって指定されたファイル識別子が付与されたファイルにアクセスし、
    前記第1サーバが備える前記プロセッサが、前記第2のファイルシステム識別子が付与された前記ディレクトリを前記第2サーバへマイグレーションする指示を、前記インターフェースを介して受信すると、前記マイグレーションの対象の前記ディレクトリより下位の前記ファイルと、前記マイグレーションの対象の前記ディレクトリに付与された前記第2のファイルシステム識別子と、を前記第2サーバへ送信し、
    前記第2サーバが備える前記プロセッサが、前記クライアント計算機から、前記第2のファイルシステム識別子及び前記ファイル識別子を含むファイルハンドルを指定したアクセス要求を受信すると、前記第2のファイルシステム識別子が付与された前記ディレクトリより下位の、前記ファイルハンドルによって指定されたファイル識別子が付与されたファイルにアクセスすることを特徴とする方法。
  9. 前記メモリは、前記ディレクトリと、前記ディレクトリに付与された前記ファイルシステム識別子と、を対応付ける情報を格納することを特徴とする請求項8に記載の方法。
  10. 前記計算機システムは、さらに管理計算機を備え、
    前記管理計算機は、前記ネットワークに接続されるインターフェースと、前記インターフェースに接続されるプロセッサと、前記プロセッサに接続されるメモリと、を備え、
    前記計算機システムは、前記ディレクトリに既に付与された前記ファイルシステム識別子の値を管理する管理情報を保持し、
    前記方法は、前記管理計算機が備える前記プロセッサが、前記管理情報を参照して、まだいずれの前記ディレクトリにも付与されていない値を、まだ前記ファイルシステム識別子を付与されていない前記ディレクトリに、前記ファイルシステム識別子として付与することを特徴とする請求項8に記載の方法。
  11. 前記計算機システムは、さらに管理計算機を備え、
    前記管理計算機は、前記ネットワークに接続されるインターフェースと、前記インターフェースに接続されるプロセッサと、前記プロセッサに接続されるメモリと、を備え、
    前記方法は、前記管理計算機が備える前記プロセッサが、ファイルアクセスに関する統計情報に基づいて、前記ディレクトリを対象とするマイグレーションを実行するか否かを判定することを特徴とする請求項8に記載の方法。
  12. 前記統計情報は、前記各サーバが備えるプロセッサの使用率であり、
    前記方法は、前記管理計算機が備える前記プロセッサが、前記第1サーバが備えるプロセッサの使用率が所定の閾値を越えた場合、前記第1サーバが管理する前記ファイルシステムに含まれ、かつ、前記ファイルシステム識別子が付与された前記ディレクトリを選択し、前記選択されたディレクトリを対象とするマイグレーションを実行する指示を前記第1サーバに送信することを特徴とする請求項11に記載の方法。
JP2006106255A 2006-04-07 2006-04-07 共通名前空間においてディレクトリ単位のマイグレーションを実行するシステム及び方法 Expired - Fee Related JP4772569B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2006106255A JP4772569B2 (ja) 2006-04-07 2006-04-07 共通名前空間においてディレクトリ単位のマイグレーションを実行するシステム及び方法
US11/477,858 US7587436B2 (en) 2006-04-07 2006-06-30 Method and system for executing directory-basis migration in a global name space
EP06255623A EP1843245A3 (en) 2006-04-07 2006-11-01 Method and system for executing directory-basis migration in a global name space
CN200610168701A CN100576189C (zh) 2006-04-07 2006-12-19 Gns中的目录单位迁移

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006106255A JP4772569B2 (ja) 2006-04-07 2006-04-07 共通名前空間においてディレクトリ単位のマイグレーションを実行するシステム及び方法

Publications (2)

Publication Number Publication Date
JP2007280099A JP2007280099A (ja) 2007-10-25
JP4772569B2 true JP4772569B2 (ja) 2011-09-14

Family

ID=38180274

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006106255A Expired - Fee Related JP4772569B2 (ja) 2006-04-07 2006-04-07 共通名前空間においてディレクトリ単位のマイグレーションを実行するシステム及び方法

Country Status (4)

Country Link
US (1) US7587436B2 (ja)
EP (1) EP1843245A3 (ja)
JP (1) JP4772569B2 (ja)
CN (1) CN100576189C (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10289603B2 (en) 2012-10-12 2019-05-14 Amazon Technologies, Inc. Dynamic search partitioning

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8745106B2 (en) * 2006-08-30 2014-06-03 Red Hat, Inc. Numeric identifier assignment in a networked computer environment
TW200925858A (en) * 2007-12-06 2009-06-16 Ind Tech Res Inst Virtual file managing system and method for building system configuration and accessing file thereof
US20090319736A1 (en) * 2008-06-24 2009-12-24 Hitachi, Ltd. Method and apparatus for integrated nas and cas data backup
JP2010108409A (ja) 2008-10-31 2010-05-13 Hitachi Ltd ストレージ管理方法及び管理サーバ
US8135912B2 (en) 2009-05-18 2012-03-13 Hola Networks, Ltd. System and method of increasing cache size
US8560604B2 (en) 2009-10-08 2013-10-15 Hola Networks Ltd. System and method for providing faster and more efficient data communication
US8180813B1 (en) 2009-12-08 2012-05-15 Netapp, Inc. Content repository implemented in a network storage server system
US20110137966A1 (en) * 2009-12-08 2011-06-09 Netapp, Inc. Methods and systems for providing a unified namespace for multiple network protocols
US9507799B1 (en) * 2009-12-08 2016-11-29 Netapp, Inc. Distributed object store for network-based content repository
US8484259B1 (en) 2009-12-08 2013-07-09 Netapp, Inc. Metadata subsystem for a distributed object store in a network storage system
US9430155B2 (en) 2010-03-25 2016-08-30 International Business Machines Corporation File index, metadata storage, and file system management for magnetic tape
US9063666B2 (en) * 2010-03-25 2015-06-23 International Business Machines Corporation File index, metadata storage, and file system management for magnetic tape
US9275678B2 (en) * 2010-03-25 2016-03-01 International Business Machines Corporation Primary storage media with associated secondary storage media for efficient data management
US8856073B2 (en) 2010-12-14 2014-10-07 Hitachi, Ltd. Data synchronization among file storages using stub files
CN103052944B (zh) 2010-12-14 2016-10-12 株式会社日立制作所 信息处理系统中的故障恢复方法和信息处理系统
IL210169A0 (en) 2010-12-22 2011-03-31 Yehuda Binder System and method for routing-based internet security
US8869136B2 (en) * 2011-01-05 2014-10-21 International Business Machines Corporation Calculating migration points for application migration
US20120310879A1 (en) * 2011-05-31 2012-12-06 Research In Motion Limited Method and system for data synchronization including file system abstraction
WO2013038442A1 (en) * 2011-09-13 2013-03-21 Hitachi, Ltd. Storage system comprising flash memory, and storage control method
EP2728484A4 (en) * 2011-10-28 2015-06-03 Hitachi Ltd STORAGE SYSTEM AND METHOD FOR MANAGING OBJECTS
US9043567B1 (en) * 2012-03-28 2015-05-26 Netapp, Inc. Methods and systems for replicating an expandable storage volume
EP2907034A4 (en) * 2012-10-12 2016-05-18 A9 Com Inc INDEX CONFIGURATION FOR SEARCHABLE DATA IN A NETWORK
CN105593804B (zh) 2013-07-02 2019-02-22 日立数据系统工程英国有限公司 用于文件系统虚拟化的方法和设备、用于文件系统虚拟化的数据存储系统、以及用于数据存储系统的文件服务器
US9460097B2 (en) 2013-07-02 2016-10-04 Hitachi Data Systems Engineering UK Limited Method and apparatus for migration of a virtualized file system, data storage system for migration of a virtualized file system, and file server for use in a data storage system
JP6208860B2 (ja) 2013-07-02 2017-10-04 ヒタチ データ システムズ エンジニアリング ユーケー リミテッドHitachi Data Systems Engineering Uk Limited 仮想化されたファイル・システムのマイグレーションのための方法および装置、仮想化されたファイル・システムのマイグレーションのためのデータ・ストレージ・システム、ならびにデータ・ストレージ・システム内で使用するためのファイル・サーバ
US9241044B2 (en) 2013-08-28 2016-01-19 Hola Networks, Ltd. System and method for improving internet communication by using intermediate nodes
JP5681783B2 (ja) * 2013-12-26 2015-03-11 株式会社日立製作所 情報処理システムにおける障害復旧方法、及び情報処理システム
US20150220438A1 (en) * 2014-02-04 2015-08-06 Netapp, Inc. Dynamic hot volume caching
US11057446B2 (en) 2015-05-14 2021-07-06 Bright Data Ltd. System and method for streaming content from multiple servers
CN105897457A (zh) * 2015-12-09 2016-08-24 乐视云计算有限公司 服务器群组的服务升级方法及系统
US10474629B2 (en) * 2016-09-28 2019-11-12 Elastifile Ltd. File systems with global and local naming
US10585860B2 (en) 2017-01-03 2020-03-10 International Business Machines Corporation Global namespace for a hierarchical set of file systems
US10649955B2 (en) 2017-01-03 2020-05-12 International Business Machines Corporation Providing unique inodes across multiple file system namespaces
US10579598B2 (en) 2017-01-03 2020-03-03 International Business Machines Corporation Global namespace for a hierarchical set of file systems
US10592479B2 (en) 2017-01-03 2020-03-17 International Business Machines Corporation Space management for a hierarchical set of file systems
US10657102B2 (en) 2017-01-03 2020-05-19 International Business Machines Corporation Storage space management in union mounted file systems
US10579587B2 (en) 2017-01-03 2020-03-03 International Business Machines Corporation Space management for a hierarchical set of file systems
EP4311204A3 (en) 2017-08-28 2024-04-10 Bright Data Ltd. Method for improving content fetching by selecting tunnel devices
US11190374B2 (en) 2017-08-28 2021-11-30 Bright Data Ltd. System and method for improving content fetching by selecting tunnel devices
LT3780547T (lt) 2019-02-25 2023-03-10 Bright Data Ltd. Turinio parsisiuntimo, naudojant url bandymų mechanizmą, sistema ir būdas
EP4030318A1 (en) 2019-04-02 2022-07-20 Bright Data Ltd. System and method for managing non-direct url fetching service
CN114691015A (zh) * 2020-12-29 2022-07-01 华为技术有限公司 存储系统管理方法、存储系统及计算程序产品
CN115774703A (zh) * 2021-09-08 2023-03-10 华为技术有限公司 信息处理方法及装置
CN114816571B (zh) * 2022-04-15 2023-06-16 西安广和通无线通信有限公司 外挂闪存的方法、装置、设备及存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6671773B2 (en) 2000-12-07 2003-12-30 Spinnaker Networks, Llc Method and system for responding to file system requests
JP4168626B2 (ja) * 2001-12-06 2008-10-22 株式会社日立製作所 記憶装置間のファイル移行方法
US6985914B2 (en) 2002-02-20 2006-01-10 Emc Corporation Cluster meta file system of file system cells managed by respective data movers of a network file server
US7886299B2 (en) * 2004-06-01 2011-02-08 Hitachi, Ltd. Method of dynamically balancing workload of a storage system
JP4281658B2 (ja) * 2004-09-24 2009-06-17 日本電気株式会社 ファイルアクセスサービスシステムとスイッチ装置及びクオータ管理方法並びにプログラム
JP4451293B2 (ja) * 2004-12-10 2010-04-14 株式会社日立製作所 名前空間を共有するクラスタ構成のネットワークストレージシステム及びその制御方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10289603B2 (en) 2012-10-12 2019-05-14 Amazon Technologies, Inc. Dynamic search partitioning

Also Published As

Publication number Publication date
CN100576189C (zh) 2009-12-30
US20070239655A1 (en) 2007-10-11
JP2007280099A (ja) 2007-10-25
CN101051290A (zh) 2007-10-10
EP1843245A2 (en) 2007-10-10
EP1843245A3 (en) 2009-10-21
US7587436B2 (en) 2009-09-08

Similar Documents

Publication Publication Date Title
JP4772569B2 (ja) 共通名前空間においてディレクトリ単位のマイグレーションを実行するシステム及び方法
JP4836533B2 (ja) ストレージシステムにおけるファイルシステムマイグレーション方法、ストレージシステム及び管理計算機
US8161133B2 (en) Network storage system with a clustered configuration sharing a namespace, and control method therefor
US8566548B2 (en) Volume selection method and information processing system
JP4943081B2 (ja) ファイル格納制御装置及び方法
US8271559B2 (en) Storage system and method of controlling same
US20100100678A1 (en) Volume management system
US10162527B2 (en) Scalable and efficient access to and management of data and resources in a tiered data storage system
US20070192375A1 (en) Method and computer system for updating data when reference load is balanced by mirroring
US8423713B2 (en) Cluster type storage system and method of controlling the same
US9766822B2 (en) Computer system and its renewal method
JP2008152663A (ja) ストレージネットワークの性能管理方法、並びに、その方法を用いた計算機システム及び管理計算機
US11409454B1 (en) Container ownership protocol for independent node flushing
US10019182B2 (en) Management system and management method of computer system
US10089125B2 (en) Virtual machines accessing file data, object data, and block data
JP5543653B2 (ja) 管理計算機
JP5746397B2 (ja) 管理計算機及び更改方法
JP2015164065A (ja) 管理計算機及び更改方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080819

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110301

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110427

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110524

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110622

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

Free format text: PAYMENT UNTIL: 20140701

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees