JP2006164169A - 名前空間を共有するクラスタ構成のネットワークストレージシステム及びその制御方法 - Google Patents

名前空間を共有するクラスタ構成のネットワークストレージシステム及びその制御方法 Download PDF

Info

Publication number
JP2006164169A
JP2006164169A JP2004358499A JP2004358499A JP2006164169A JP 2006164169 A JP2006164169 A JP 2006164169A JP 2004358499 A JP2004358499 A JP 2004358499A JP 2004358499 A JP2004358499 A JP 2004358499A JP 2006164169 A JP2006164169 A JP 2006164169A
Authority
JP
Japan
Prior art keywords
server
file system
file
identifier
migration
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2004358499A
Other languages
English (en)
Other versions
JP4451293B2 (ja
Inventor
Yoji Nakatani
洋司 中谷
Koji Sonoda
浩二 薗田
Takahiro Nakano
隆裕 中野
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 JP2004358499A priority Critical patent/JP4451293B2/ja
Priority to US11/068,811 priority patent/US20060129513A1/en
Priority to EP05253413A priority patent/EP1669850A1/en
Publication of JP2006164169A publication Critical patent/JP2006164169A/ja
Priority to US12/361,713 priority patent/US8161133B2/en
Application granted granted Critical
Publication of JP4451293B2 publication Critical patent/JP4451293B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • 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/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/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
    • 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

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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】クラスタ構成のNASにおいて、ファイルシステムがサーバ間でマイグレーションされると、再度名前解決をする必要がある。
【解決手段】サーバは、ファイルシステムのマウント位置を管理する管理テーブルを保持する。前記管理テーブルには、前記ファイルシステムをストレージシステム内で一意に識別するファイルシステム識別子、前記ファイルシステムのマウント位置を示すマウント位置情報、及び、前記ファイルシステムを管理する前記サーバの識別子を示す管理サーバ識別子が格納される。各サーバの管理テーブルに格納された内容は、同一である。各サーバは、ファイルハンドルの取得要求を受けると、当該取得要求されたファイルハンドルを応答する。前記ファイルハンドルは、前記取得要求に関するファイルが格納されている前記ディスクサブシステム上の記憶領域を前記ストレージシステム内で一意に示す。
【選択図】 図7

Description

本発明は、クラスタ構成のネットワークストレージ(Network Attached Storage、NAS)に関する。
ストレージシステムをネットワークに接続し、ネットワークに接続された計算機の共有ディスクとして使用されるネットワークストレージ(Network Attached Storage、NAS)が提案されている。NASは、ネットワークインターフェース等を含むサーバと、データを格納するディスクドライブとによって構成される。さらに、複数のサーバを備え、各サーバがネットワークに接続されるクラスタ構成のNASが開示されている(例えば、特許文献1参照)。
特許文献1において、ネットワークエレメント、スイッチングエレメント及びディスクエレメントが、NASのサーバに相当する。ネットワークエレメントを複数備えることによって、それらのネットワークエレメントがファイルシステムを共有することができる。また、ディスクエレメントを複数備えることによって、ディスク単位でマイグレーションすることができる。
一方、ネットワーク上に分散して存在するファイルにアクセスするためのファイルシステムの一つとして、ネットワークファイルシステム(NFS)が提案されている。NFSの現時点の最新版であるNFSv4(RFC3530)によれば、ファイルシステムがサーバ間でマイグレーションされた場合、サーバは、クライアントからの当該ファイルシステムへのアクセスに対して、マイグレーション先の位置の情報を通知する(非特許文献1参照)。したがって、クライアントは、通知された位置情報に従って、マイグレーション先のファイルシステムにアクセスすることができる。さらに、アクセスの際のファイル識別子であるファイルハンドルには、volatileとpersistentの二種類がある。ファイルシステムがマイグレーションされたとき、volatileファイルハンドルを無効にすることができる。
米国特許第6671773号明細書 IETF Home Page、[online]、[平成16年11月4日検索]、インターネット<URL:http://www.ietf.org/home.html>
クラスタ構成のNASにおいて、特定の部位にアクセス負荷が集中した場合、ファイルシステムをマイグレーションすることによって負荷を分散することが考えられる。しかし、上記特許文献1によれば、ネットワークエレメントの接続先はクライアントに依存する。このため、マイグレーションを実行しても、ネットワークエレメントのアクセス負荷を分散することができない。
また、上記非特許文献2によれば、マイグレーション先のファイルシステムにアクセスするとき、再度名前解決をし、ファイルハンドルを取得する必要がある。
本発明は、複数のサーバと、前記複数のサーバと接続されるディスクサブシステムと、を備えるストレージシステムにおいて、前記ディスクサブシステムは、少なくとも一つの論理デバイスと、前記少なくとも一つの論理デバイスに格納された少なくとも一つのファイルシステムと、を備え、前記各サーバは、前記ファイルシステムのマウント位置を管理する管理テーブルを保持し、前記管理テーブルには、前記ファイルシステムを前記ストレージシステム内で一意に識別するファイルシステム識別子、前記ファイルシステムのマウント位置を示すマウント位置情報、及び、前記ファイルシステムを管理する前記サーバの識別子を示す管理サーバ識別子が、前記各サーバで共通の内容で格納され、前記各サーバは、前記ファイルシステム内のファイルのデータが格納されている前記ディスクサブシステム上の記憶領域を示すファイルハンドルの取得要求を受けると、前記取得要求に関するファイルのデータが格納されている前記ディスクサブシステム上の記憶領域を前記ストレージシステム内で一意に示すファイルハンドルを応答することを特徴とする。
本発明によれば、ファイルシステムをマイグレーションすることによってサーバのアクセス負荷を分散することができる。
さらに、本発明によれば、マイグレーション先のファイルシステムにアクセスするとき、マイグレーションされる前に取得したファイルハンドルを使用することができる。このため、再度名前解決をし、ファイルハンドルを取得する必要がない。
図1は、本発明の実施の形態のストレージシステムの構成を示すブロック図である。
本実施の形態のストレージシステム100は、LAN160を介して、管理端末140及びクライアント150と接続される。
管理端末140は、ストレージシステム100内のファイルシステムの作成、ファイルシステムのマウント及びマイグレーション等をストレージシステム100に指示する計算機である。管理端末140は、少なくとも、入出力装置(図示省略)を含む。入出力装置は、例えば、管理画面及びポインティングデバイスを含む。管理画面に表示される内容及びポインティングデバイスによる操作については、後で詳細に説明する(図12及び図13参照)。
クライアント150は、ストレージシステム100のファイルにアクセスする計算機である。具体的には、クライアント150は、ストレージシステム100にファイルを書き込み、又は、ストレージシステム100からファイルを読み出す。このとき、ストレージシステムのファイルシステムが使用される。
図1には、二つのクライアント(150A及び150B)を示すが、任意の数のクライアント150がLAN160に接続され、ストレージシステム100にアクセスすることができる。
LAN160は、例えば、TCP/IP等のプロトコルで通信するネットワークである。
ストレージシステム100は、いわゆるネットワークストレージ(Network Attached Storage、NAS)である。ストレージシステム100は、サーバ110、ディスクサブシステム120及びこれらを相互に接続するストレージエリアネットワーク(SAN)130によって構成される。
サーバ110は、クライアント150からのアクセス要求に従ってディスクサブシステム120にアクセスする。
ストレージシステム100は、複数のサーバ110を備える。図1には、二つのサーバ(110A、110B)を示す。ストレージシステム100は、さらに多くのサーバ110を備えてもよい。サーバ110は、NASヘッド又はNASノードとも呼ばれる。
サーバ110Aは、ネットワークインターフェース111A、CPU112A、ローカルメモリ113A及びアダプタ116Aによって構成される。
ネットワークインターフェース111Aは、LAN160に接続され、管理端末140及びクライアント150と通信するインターフェースである。
CPU112Aは、サーバ110Aの動作を制御するプロセッサである。具体的には、CPU112Aは、ローカルメモリ113Aに格納されたプログラムを実行する。
ローカルメモリ113Aは、例えば、半導体メモリであり、CPU112Aが実行するプログラム及びCPU112Aによって参照されるデータを格納する。具体的には、ローカルメモリ113Aには、サーバソフトウエア114A及びマウントポイント管理テーブル115Aが格納される。
サーバソフトウエア114Aは、CPU112Aによって実行される複数のプログラムからなる。サーバソフトウエア114Aについては、後で詳細に説明する(図2参照)。
マウントポイント管理テーブル115Aは、ディスクサブシステム120に含まれるファイルシステムのマウントポイントを管理するテーブルである。マウントポイント管理テーブル115Aは、サーバ110Aがクライアント150からのアクセス要求を受信したときに参照され、ファイルシステムが追加、削除又はマイグレーションされたときに更新される。
アダプタ116Aは、SAN130に接続され、ディスクサブシステム120と通信するインターフェースである。
サーバ110Bは、サーバ110Bと同様、ネットワークインターフェース111B、CPU112B、ローカルメモリ113B及びアダプタ116Bによって構成される。これらは、それぞれ、ネットワークインターフェース111A、CPU112A、ローカルメモリ113A及びアダプタ116Aと同様であるため、説明を省略する。
さらに多くのサーバ110が設けられる場合も、各サーバ110の構成は、サーバ110Aと同様である。
SAN130は、例えば、ファイバーチャネル(FC)又はSCSI等のプロトコルで通信するネットワークである。
ストレージシステム100が複数のサーバ110を備える場合、これらのサーバ110は、サーバ間通信路135によって相互に接続される。サーバ110は、サーバ間通信路135を経由して相互に通信することができる。具体的には、一つのサーバ110のマウントポイント管理テーブル115の内容が更新された場合、その更新の内容がサーバ間通信路135を経由して他のサーバ110に送信される。送信先のサーバ110は、受信した更新の内容をそのサーバ110内のマウントポイント管理テーブル115に反映する。
なお、本実施の形態では、図1に示すように、SAN130及びLAN160と独立したサーバ間通信路135が設けられる。しかし、サーバ110は、SAN130又はLAN160を経由して相互に通信してもよい。あるいは、サーバ110は、ディスクサブシステム120のディスクキャッシュ122を使用して相互に通信してもよい。すなわち、一つのサーバ110のマウントポイント管理テーブル115が更新されると、そのサーバ110は、更新の内容をディスクキャッシュ122に書き込む。他のサーバ110は、ディスクキャッシュ122に書き込まれた更新の内容を読み出し、各々のマウントポイント管理テーブル115を更新する。サーバ110が上記のいずれの経路で通信しても、本発明を実施することができる。
ディスクサブシステム120は、ディスクコントローラ121、ディスクキャッシュ122及びディスクドライブ123によって構成される。
ディスクコントローラ121は、SAN130に接続される一つ以上のポート(図示省略)を備え、サーバ110と通信し、ディスクサブシステム120を制御する。具体的には、ディスクコントローラ121は、SAN130を介してサーバ110と通信し、サーバ110からの要求に従ってディスクドライブ123にデータを書き込み、又は、ディスクドライブ123からデータを読み出す。
ディスクキャッシュ122は、例えば、半導体メモリであり、ディスクドライブ123に書き込まれるデータ又はディスクドライブ123から読み出されたデータを一時的に格納する。
ディスクドライブ123は、データを格納するハードディスクドライブである。ディスクサブシステムには、任意の数のディスクドライブ123が設けられる。これらのディスクドライブ123は、RAIDを構成してもよい。図1には、4個のディスクドライブ(123A〜123D)を示す。
ディスクドライブ123の記憶領域は、任意の数の論理デバイス(LDEV)124に分割される。LDEV124は、ディスクコントローラ121によって論理的なディスクドライブとして扱われる領域である。ディスクドライブ123がRAIDを構成する場合、図1に示すように、一つのLDEV124は、複数のディスクドライブの記憶領域によって構成されてもよい。各LDEV124の大きさは任意である。
図1には、例として、4個のLDEV(124A〜124D)を示す。各LDEVには、LDEV識別子(ID)が付与される。図1の例において、LDEV124A〜LDEV124DのIDは、それぞれ、LDEV0〜LDEV3である。以下、各LDEV124をLDEVID(LDEV0〜LDEV3)を用いて表記する。
各LDEVの内容については、後で詳細に説明する(図2参照)。
ストレージシステム100は、複数のディスクサブシステム120を含んでもよい。その場合、各ディスクサブシステム120は、SAN130に接続される。各サーバ110は、SAN130を経由して、いずれのディスクサブシステム120にもアクセスすることができる。
図2は、本発明の実施の形態のディスクサブシステム120の論理的な構成を示すブロック図である。
図1において説明したように、ディスクサブシステム120は、任意の数のLDEV124を含む。各LDEV124は、論理ユニット(LU)201と対応する。
LU201とは、サーバ110によって論理的なディスクドライブとして扱われる領域である。一般に、一つのLDEV124が一つのLU201と対応してもよいし、一つのLDEV124に複数のLU201が含まれてもよい。本実施の形態では、一つのLDEV124が一つのLU201と対応する。LDEV124A〜LDEV124Dは、それぞれ、LU201A〜LU201Dと対応する。
各LU201には、LU識別子(ID)が付与される。
一般に、ディスクコントローラ121は複数のポートを備えるため、サーバ110が一つのLU201にアクセスする経路(パス)が複数存在する場合がある。LUIDは、パスごとに、ディスクサブシステム120によって付与される。例えば、LDEV0内のLU201のLUIDとして、パスA(図示省略)については「0」が付与され、パスB(図示省略)については「1」が付与される場合がある。
ディスクコントローラ121は、パスごとに、LUIDとLDEV124とを対応させるテーブル(図示省略)を備える。そして、ディスクコントローラ121は、サーバ110からパスAを経由してLU「0」へのアクセス要求を受信したとき、当該テーブルを参照して、LDEV0内のLU201にアクセスする。同様にして、パスBを経由してLU「1」へのアクセス要求を受信したとき、当該テーブルを参照して、LDEV0内のLU201にアクセスする。
本実施の形態では、LDEVIDとLUIDとの対応関係を、パスに関らず、ストレージシステム100内で共通とする。すなわち、各サーバ110は、同一のLU201を同一のLUIDによって識別する。図2の例において、LU201A〜LU201DのIDは、それぞれ、LU0〜LU3である。以下、各LU201をLUID(LU0〜LU3)を用いて表記する。
ただし、本発明は、LDEVIDとLUIDとの対応関係がストレージシステム100内で共通でない場合(すなわち、対応関係がパス毎に異なる場合)にも、適用することができる。
各LU201は、ファイルシステム(FS)202を含む。一般には、一つのLU201が複数のファイルシステム202を含んでもよい。本実施の形態では、一つのLU201に一つのファイルシステム202が含まれる。ファイルシステム202A〜ファイルシステム202Dは、それぞれ、LU0〜LU3に含まれる。
各ファイルシステム202には、ファイルシステム識別子(ID)が付与される。図2の例において、ファイルシステム202A〜ファイルシステム202DのIDは、それぞれ、FS0〜FS3である。以下、各ファイルシステム202をファイルシステムID(FS0〜FS3)を用いて表記する。
図3は、本発明の実施の形態のサーバソフトウエア114の構成の説明図である。
サーバソフトウエア114は、CPU112によって実行されるプログラムであるネットワーク処理部301、ファイルシステム処理部302、ディスクアクセス部303、デバイス番号管理部304、サーバ管理処理部305、サーバ間通信処理部306及びマイグレーション処理部307からなる。
ネットワーク処理部301は、LAN160を介した管理端末140及びクライアント150との通信を制御するプログラムである。
ファイルシステム処理部302は、クライアント150からファイルシステム202内のファイルへのアクセス要求を処理するプログラムである。具体的には、例えば、管理端末140からの指示に従って、ファイルシステムを新規作成する。また、例えば、クライアント150からディレクトリ名又はファイル名を指定したファイルハンドル(図6参照)取得要求を受けると、名前解決をして、ファイルハンドルを返す。ファイルシステム処理部302が実行する処理については、後で詳細に説明する(図9参照)。
ディスクアクセス部303は、クライアント150からのアクセス要求に従って、ファイルシステム202内のデータへのアクセスを実行するプログラムである。
デバイス番号管理部304は、ディスクサブシステム120からLDEVIDを取得するプログラムである。LDEVIDは、ディスクサブシステム120がLDEV124を管理するために付与する識別子である。このため、通常、サーバ110は、LDEVIDを知る必要がない。しかし、LDEVIDは、アクセスするサーバ110に関りなくディスクサブシステム120内で一意に決定される。このため、LDEVIDをファイルハンドル内のファイルシステムID(図6参照)又はファイルシステムIDの一部として使用することによって、ファイルシステム202が全てのサーバ110から一意に識別されるようにすることができる。デバイス番号管理部304は、ディスクサブシステム120に問い合わせて、LDEVIDを取得する。
サーバ管理処理部305は、管理端末140と通信し、NASの設定をするプログラムである。例えば、サーバ管理処理部305は、管理端末140からファイルシステムの新規作成の指示を受けると、その指示をファイルシステム処理部302に伝え、ファイルシステムの新規作成を実行させる。また、管理端末140からマイグレーションの指示を受けると、その指示をマイグレーション処理部307に伝え、マイグレーションを実行させる。
サーバ間通信処理部306は、サーバ間通信路135を経由したサーバ110間の通信を制御するプログラムである。例えば、サーバ間通信処理部306は、マウントポイント管理テーブル115の内容が更新されたとき、その更新された内容を他のサーバ110に送信する。
マイグレーション処理部307は、マイグレーションを実行するプログラムである。具体的には、後で詳細に説明する(図10参照)。
図4は、本発明の実施の形態のマウントポイント管理テーブル115の説明図である。
マウントポイント管理テーブル115は、ディスクサブシステム120に含まれるファイルシステム202のマウント位置を管理するテーブルであり、ファイルシステムID401、パス402及びサーバID403を含む。
マウントポイント管理テーブル115の一つのエントリ(行)が、一つのファイルシステム202に対応する。
ファイルシステムID401は、マウントされているファイルシステム202のIDである。図4の例では、4個のファイルシステム202(FS0〜FS3)がマウントされている。本発明では、ファイルシステムID401がストレージシステム100内で一意である必要がある。
本実施の形態のように、一つのLDEV124が一つのファイルシステム202のみを含み、かつ、LDEVIDがストレージシステム100内で一意である場合、LDEVIDをファイルシステムID401として使用してもよい。この場合、デバイス番号管理部304がディスクサブシステム120からLDEVIDを取得する。ファイルシステム処理部302は、デバイス番号管理部304が取得したLDEVIDをファイルシステムID401として使用する。
上記の場合において、さらに、一つのLDEV124が一つのLU201と対応し、かつ、LDEVIDとLUIDとの対応関係が全てのパスにおいて共通である場合、LUIDをファイルシステムID401として使用してもよい。
一方、一つのLDEV124に複数のファイルシステム202が含まれ、かつ、各ファイルシステム202にLDEV124内で一意のファイルシステム番号が付与されている場合、ストレージシステム100内で一意のLDEVIDと、上記のファイルシステム番号との組み合わせをファイルシステムID401として使用してもよい。
ストレージシステム100に複数のディスクサブシステム120が含まれる場合、同一のLDEVIDを持つLDEV124がストレージシステム100内に複数存在する場合がある。この場合、LDEVID(及びファイルシステム番号)に、ディスクサブシステム120の識別子を組み合わせて、これをファイルシステムID401として使用してもよい。このディスクサブシステム120の識別子とは、各ディスクサブシステム120をストレージシステム100内で一意に識別するものである。
なお、ファイルシステムID401は、ファイルシステム202をストレージシステム100内で一意に識別するものであれば、上記以外の方法によって生成されたものであってもよい。
例えば、各サーバ110が同一の数値を保持し、いずれかのサーバ110がファイルシステム202を新規作成するとき、その数値をファイルシステムID401として使用する。このとき、その数値を「+1」増加させた値に更新し、更新された数値を他の全てのサーバ110に通知する。次にファイルシステム202を新規作成するサーバ110は、更新された数値をファイルシステムID401として使用する。その結果、ファイルシステムID401は、ストレージシステム内で一意となる。
パス402は、各ファイルシステム202のマウントポイントを示す。図4の例では、FS0は、「/dira」の下にマウントされている。同様にして、FS1、FS2及びFS3は、それぞれ、「/dirb」、「/dirc/subdir1」及び「/dirc/subdir2」の下にマウントされている。各ファイルシステムが図4のようにマウントされた場合に提供される名前空間については、後で詳細に説明する(図5参照)。
サーバID403は、各ファイルシステム202を管理するサーバ110の一意の識別子である。各サーバ110は、そのサーバ110が管理するファイルシステム202のみにアクセスすることができる。すなわち、クライアント150は、ファイルにアクセスする場合、そのファイルを含むファイルシステム202を管理するサーバ110にアクセス要求を発行する必要がある。
図4の例において、「sid1」は、サーバ110AのIDであり、「sid2」は、サーバ110BのIDである。すなわち、FS0及びFS1がサーバ110Aに管理され、FS2及びFS3がサーバ110Bに管理されている。
ファイルシステム202がマイグレーションされると、サーバID403の内容が更新される。例えば、FS0がサーバ110Aからサーバ110Bにマイグレーションされると、FS0のサーバID403は、「sid1」から「sid2」に更新される。さらに、更新された内容が、サーバ間通信路135を経由して、ストレージシステム100内の全てのサーバ110に通知される。この通知を受けたサーバ110は、通知に従って、マウントポイント管理テーブル115を更新する。その結果、全てのサーバ110のマウントポイント管理テーブル115の内容が同一になる。
図5は、本発明の実施の形態においてクライアント150に提供される名前空間の説明図である。
図5は、ファイルシステム202が図4のようにマウントされた場合に提供される名前空間の例を示す。図5には、説明のために必要な最小限のディレクトリ及びファイルを示すが、各ファイルシステム202は、さらに多くのディレクトリ及びファイルを含んでもよい。
図5において、FS0は、最上位ディレクトリの下にディレクトリ「df11」及び「df12」を含み、ディレクトリ「df11」の下にファイル「file1」を含む。
図4によれば、FS0は、「/ dira」の下にマウントされている。したがって、FS0の最上位ディレクトリは、ディレクトリ「/」(ルートディレクトリ)の下のディレクトリ「dira」である。このとき、ファイル「file1」のパスは、「/dira/df11/file1」である。
同様にして、FS1は、最上位ディレクトリの下にディレクトリ「df21」及び「df22」を含み、ディレクトリ「df21」の下にファイル「file2」を含む。FS1は、「/dirb」の下にマウントされている(図4参照)。したがって、FS1の最上位ディレクトリは、ルートディレクトリの下のディレクトリ「dirb」である。このとき、ファイル「file2」のパスは、「/dirb/df21/file2」である。
FS2は、最上位ディレクトリの下にディレクトリ「df31」及び「df32」を含む。FS2は、「/dirc/subdir1」の下にマウントされている(図4参照)。したがって、FS2の最上位ディレクトリは、ルートディレクトリの下のディレクトリ「dirc」のさらに下のディレクトリ「subdir1」である。
FS3は、最上位ディレクトリの下にディレクトリ「df41」を含む。FS3は、「/dirc/subdir2」の下にマウントされている(図4参照)。したがって、FS3の最上位ディレクトリは、ルートディレクトリの下のディレクトリ「dirc」のさらに下のディレクトリ「subdir2」である。
各サーバ110のマウントポイント管理テーブル115の内容が同一であるため、各サーバ110は、同一の名前空間(図5)をクライアント150に提供する。
図5において、ルートディレクトリ及びディレクトリ「dirc」は、FS0〜FS3をマウントして共通の名前空間を提供するために設けられる。これらのディレクトリは、ディスクサブシステム120上の記憶領域と対応しないため、これらのディレクトリの下にファイル(データ)を直接格納することができない。このため、図5の名前空間において、ルートディレクトリ及びディレクトリ「dirc」の部分は、擬似ファイルシステムと呼ばれる。一方、FS0〜FS3は、擬似ファイルシステムと対比して、実ファイルシステムと呼ばれることもある。
各サーバ110は、擬似ファイルシステム内の名前解決と、そのサーバ110が管理する実ファイルシステム内の名前解決をすることができる。
例えば、サーバ110AがFS0を管理し、サーバ110BがFS1を管理する場合において、サーバ110Bが「/dira/df11/file1」へのアクセス要求を受けたとき、サーバ110Bは、ルートディレクトリの名前解決をすることはできるが、ディレクトリ「dira」の名前解決をすることはできない。このとき、サーバ110Bは、マウントポイント管理テーブル115を参照して、ディレクトリ「dira」がサーバ110Aの管理下にあることを、アクセス要求を発行したクライアント150に通知する。これらの手順については、後で詳細に説明する(図9参照)。
図6は、本発明の実施の形態のファイルハンドルの説明図である。
ファイルハンドルとは、ネットワークファイルシステム(NFS)において、各ファイル(又はディレクトリ)に対して付与される固定長の識別子である。ファイルハンドルは、ファイルのデータが格納されたディスクサブシステム120上の記憶領域を示す。
本実施の形態のファイルハンドル600は、ファイルシステムID601、iノード番号602及び世代603の三つのフィールドからなる。これらのうち、iノード番号602及び世代603は、従来のNFSにおいて用いられるファイルハンドルと同様であるため、詳細な説明を省略する。
ファイルシステムID601は、ファイルが属するファイルシステム202をストレージシステム100内で一意に識別する。ファイルシステムID601は、名前解決の際に、ファイルシステム処理部302によって生成される。
ファイルシステムID601は、マウントポイント管理テーブル115のファイルシステムID401(図4参照)と同様の方法で生成されてもよい。ただし、ファイルシステムID601は、ファイルシステム202をストレージシステム100内で一意に識別するものであればよく、ファイルシステムID401と同一である必要はない。
上記のように、ファイルシステムID601は、各ファイルシステム202をストレージシステム100内で一意に識別する。その結果、各ファイルのデータが格納されたディスクサブシステム120上の記憶領域が、ファイルハンドル600によって、ストレージシステム100内で一意に示される。
図7は、本発明の実施の形態において実行される処理の概略の説明図である。
図7に示す構成は、図1及び図2に示す構成と同じである。ただし、説明のために不要な部分は省略されている。
図7において、最初、FS0及びFS1は、共にサーバ110A(以下、サーバ1と記載する)の管理下にある。したがって、クライアント150は、FS1内のファイル(例えば、図5の「file2」)にアクセスする前に、サーバ1に対して、目的のファイル「file2」のファイルハンドル取得要求を発行する。サーバ1は、ファイルハンドル取得要求に従って、名前解決をし、目的のファイル「file2」のファイルハンドル600をクライアント150に返す。以後、クライアント150は、目的のファイルにアクセスするとき、取得したファイルハンドル600を用いてサーバ1にアクセス要求を発行する。サーバ1は、そのファイルハンドル600に従って「file2」にアクセスし、クライアント150に応答する。
その後、FS1がサーバ1からサーバ110B(以下、サーバ2と記載する)にマイグレーションされる(701)。マイグレーションの目的は、例えば、アクセス負荷の分散である。サーバ1のアクセス負荷が高く、サーバ2のアクセス負荷が低い場合、サーバ1が管理する二つのファイルシステム202のうち、一方のFS1をサーバ2の管理下に移すことによって、各サーバ110のアクセス負荷を分散する。
その結果、FS1は、サーバ1の管理下を離れ、サーバ2の管理下に入る。このとき、マウントポイント管理テーブル115において、FS1に対応するサーバID403が「sid1」(サーバ1のID)から「sid2」(サーバ2のID)に更新される。以後、サーバ1は、FS1内のファイルにアクセスすることができない。
マイグレーションは、管理端末140の指示によって実行されるため、クライアント150は、マイグレーションが実行されたことを知らない。このため、クライアント150は、再び「file2」にアクセスするとき、既に取得したファイルハンドル600を用いて、サーバ1に対してアクセス要求を発行する(702)。
サーバ1は、クライアント150から受けたファイルハンドル600のファイルシステムID601を参照して、そのアクセス要求がFS1に対するものであると判定する。さらに、サーバ1は、マウントポイント管理テーブル115において、FS1に対応するサーバID403を参照する。参照したサーバID403の値が「sid2」であるため、サーバ1は、FS1がサーバ2の管理下にあると判定する。そして、サーバ1は、目的のファイル「file2」を含むFS1がサーバ2の管理下にあることをクライアント150に通知する(703)。
クライアント150は、サーバ1からの通知を受けると、サーバ2に対して「file2」へのアクセス要求を発行する(704)。
従来のNFSでは、このとき、クライアント150がサーバ2に対してファイルハンドル取得要求を発行し、「file2」のファイルハンドル600を新たに取得する必要があった。
しかし、本発明によれば、サーバ1及びサーバ2が名前空間を共有し(図5参照)、かつ、ファイルハンドル600に含まれるファイルシステムID601が各ファイルシステム202をストレージシステム100内で一意に識別する。このため、クライアント150は、サーバ1から取得したファイルハンドル600を用いてサーバ2に「file2」へのアクセス要求を発行することができる。サーバ2は、そのファイルハンドル600に従って「file2」にアクセスし、クライアント150に応答する。
以下、本発明の実施の形態において実行される処理について、詳細に説明する。
図8は、本発明の実施の形態において実行されるファイルシステム作成処理のフローチャートである。
ファイルシステム作成処理は、ファイルシステム処理部302によって実行される。ファイルシステム作成処理は、後述するように、LDEV124の新規割り当て処理(801〜804)、ファイルシステム202の新規作成処理(805〜807)及びマウント処理(808〜810)の三つの部分を含む。
ファイルシステム処理部302は、管理端末140からファイルシステム202の新規作成指示を受けたとき、上記の三つの部分を順に実行してもよい。あるいは、ファイルシステム処理部302は、管理端末140からLDEV124の新規割り当て指示を受けたときにステップ801〜804を実行し、ファイルシステム202の新規作成指示を受けたときにステップ805〜807を実行し、マウント指示を受けたときにステップ808〜810を実行してもよい。
ファイルシステム作成処理が開始すると、ファイルシステム処理部302は、最初に、LDEV124の新規割り当てをする必要があるか否かを判定する(801)。例えば、管理端末140がLDEV124の新規割り当て指示を発行した場合、及び、ファイルシステム202が新規作成されるLDEV124が割り当てられていない場合に、LDEV124の新規割り当てをする必要があると判定される。
LDEV124の新規割り当てをする必要がないと判定された場合、ステップ805に進む。
一方、LDEV124の新規割り当てをする必要があると判定された場合、ファイルシステム処理部302は、管理端末140によって指定されたLDEV124を接続する(802)。具体的には、管理端末140によって指定されたLDEV124を、サーバ110のオペレーティングシステム(OS)に認識させる。
次に、新規に割り当てられたLDEV124のLDEVIDを取得する(803)。具体的には、ファイルシステム処理部302からの指示を受けたデバイス番号管理部304が、ディスクサブシステム120からLDEVIDを取得する。このLDEVIDは、ファイルハンドル600のファイルシステムID601及びマウントポイント管理テーブル115のファイルシステムID401を生成するために使用されてもよい。
次に、ファイルシステム処理部302は、新規に割り当てられたLDEV124をフォーマット(初期化)する(804)。
次に、ファイルシステム処理部302は、ファイルシステム202の新規作成をする必要があるか否かを判定する(805)。例えば、ステップ801〜804で新規に割り当てられたLDEV124に、既にファイルシステム202が作成されており、そのファイルシステム202を使用する場合、ファイルシステム202の新規作成をする必要がないと判定される。
ファイルシステム202の新規作成をする必要がないと判定された場合、ステップ808に進む。
一方、ファイルシステム202の新規作成をする必要があると判定された場合、ファイルシステム処理部302は、管理端末140によって指示されたLDEV124に、ファイルシステム202を新規作成する(806)。
次に、ファイルシステム処理部302は、新規作成されたファイルシステム202にファイルシステムID401を割り当てる(807)。割り当てられたファイルシステムIDは、後述するように(ステップ810参照)、マウント管理テーブル115に格納される。ステップ807において、ファイルシステムID401は、図4の説明のように生成される。
次に、ファイルシステム処理部302は、マウントポイントを作成する(808)。具体的には、ファイルシステム処理部302は、新規作成されたファイルシステム202をマウントするディレクトリを作成する。例えば、図5において、FS0が新規作成された場合、FS0がマウントされるディレクトリ「/dira」が作成される。なお、新規作成されたファイルシステム202のマウント先は、管理端末140によって指示される。
次に、ファイルシステム処理部302は、ステップ808において作成されたマウントポイントに、新規作成されたファイルシステム202をマウントする(809)。具体的には、ファイルシステム処理部302がファイルシステム202の管理情報(図示省略)をディスクドライブ123から読み出し、ファイルシステム202へのアクセスを有効にする。
次に、ファイルシステム処理部302は、マウントポイント管理テーブル115を更新する(810)。具体的には、ファイルシステムID401をステップ807で生成されたファイルシステムID401とし、パスID402をステップ808で作成されたディレクトリとし、サーバID403を、新規作成されたファイルシステムを管理するサーバ110の識別子とした新しいエントリを、マウントポイント管理テーブル115に追加する。
さらに、ステップ810において、ファイルシステム処理部302は、マウントポイント管理テーブル115の更新の内容を、他のサーバ110に通知する。この通知は、ファイルシステム処理部302から指示を受けたサーバ間通信処理部306が実行する。この通知を受けたサーバ110は、そのサーバ110内のマウントポイント管理テーブル115を、通知の内容に従って更新する。
以上で、ファイルシステム作成処理を終了する。
図9は、本発明の実施の形態において実行されるファイルアクセス処理のシーケンス図である。
ここでは、便宜上、クライアント150が、サーバ2を経由して、図5のファイル「file2」にアクセスする場合を例として説明する。「file2」を含むFS1は、最初、サーバ1によって管理されている。しかし、クライアント150はそのことを知らずに、サーバ2を経由して「file2」にアクセスしようとする。
クライアント150は、最初に、ルートディレクトリのファイルハンドル取得要求をサーバ2に対して発行する(901)。
ルートディレクトリは、擬似ファイルシステムに属する。このため、サーバ1及びサーバ2のいずれもが、ルートディレクトリの名前解決をすることができる。サーバ2は、ルートディレクトリの名前解決をして、ルートディレクトリのファイルハンドル600をクライアント150に応答する(902)。
目的のファイルに至るパスに含まれるディレクトリのうち、擬似ファイルシステムに属するディレクトリが、ルートディレクトリより下に存在する場合、このようなディレクトリについて、クライアント150がファイルシステム取得要求を発行する(903)。サーバ2は、この要求に対して、ファイルハンドル600を応答する(904)。このようなディレクトリが複数存在する場合、それらのディレクトリについて、ステップ903及び904と同様の手順が繰り返される。なお、図9に示す「lookup」とは、ファイルハンドル取得を要求するコマンドである。
図5の例、では、ルートディレクトリの一つ下のディレクトリが「dirb」である。「dirb」は、FS1のマウントポイント(すなわち、FS1の最上位ディレクトリ)である。「file2」に至るパスにおいて、ルートディレクトリの下に、擬似ファイルシステムに属するディレクトリは存在しない。このため、クライアント150は、図5の「file2」にアクセスする場合、ステップ902の次に、ディレクトリ「dirb」のファイルハンドル取得要求を発行する(905)。
ステップ905において、クライアント150は、サーバ2に「dirb」のファイルハンドル取得要求を発行する。しかし、「dirb」が属する実ファイルシステムFS1は、サーバ1の管理下にあるため、サーバ2は、「dirb」の名前解決をすることができない。サーバ2は、マウントポイント管理テーブル115のFS1に関するパス402を参照して、「dirb」がサーバ1の管理下にあることをクライアント150に通知する(906)。
クライアント150は、ステップ906のファイルシステム位置通知を受けて、サーバ1に「dirb」のファイルハンドル取得要求を発行する(907)。サーバ1は、「dirb」のファイルハンドル600をクライアント150に応答する(908)。
同様にして、クライアント150は、ディレクトリ「df21」及びファイル「file2」のファイルハンドル取得要求をサーバ1に発行し、サーバ1は、それぞれの要求に対して、ファイルハンドルを応答する(図示省略)。結局、クライアント150は、「file2」のファイルハンドルを取得する。
次に、クライアント150は、「file2」のファイルハンドル600を用いて、サーバ1に、ファイルアクセス要求を発行する(909)。サーバ1は、この要求に従って、FS1の「file2」にアクセスし、クライアント150に応答する(910)。
その後も、クライアント150は、「file2」にアクセスする必要がある場合、ステップ908で取得したファイルハンドル600を用いて、サーバ1を経由して「file2」にアクセスする(909、910)。
次に、FS1がサーバ1からサーバ2にマイグレーションされる(911)。その結果、マウントポイント管理テーブル115において、FS1に対応するサーバID403の値が「sid2」(サーバ2のID)に更新される。マイグレーションの手順は、後で詳細に説明する(図10参照)。
この時点で、クライアント150は、FS1がマイグレーションされたことを知らない。このため、クライアント150は、「file2」にアクセスする必要がある場合、サーバ1にファイルハンドル600アクセス要求を発行する(912)。
このとき、「file2」が属するFS1は、サーバ1の管理下にない。このため、サーバ1は、「file2」にアクセスすることができない。サーバ1は、ファイルハンドル600のファイルシステムID601、マウントポイント管理テーブル115のファイルシステムID401及びサーバID403を参照して、FS1がサーバ2にマイグレーションされたことをクライアント150に通知する(913)。
クライアント150は、この通知を受けて、「file2」へのアクセス要求をサーバ2に発行する(914)。
従来は、このとき、ステップ901〜906と同様に、クライアント150がサーバ2に対してファイルハンドル取得要求を発行し、サーバ2が名前解決をする必要があった。
しかし、本発明によれば、各サーバ110が名前空間を共有し、かつ、ファイルハンドル600がストレージシステム100内で一意に定められる。このため、クライアント150は、ステップ909及び912において使用したファイルハンドル600を、そのまま、ステップ914で使用することができる。
サーバ1は、クライアント150からのアクセス要求に従って、FS1の「file2」にアクセスし、クライアント150に応答する(915)。
図10は、本発明の実施の形態において実行されるマイグレーション処理のフローチャートである。
図10は、例として、図9のステップ911において実行される、サーバ1からサーバ2へのFS1のマイグレーションの手順を示す。図10のマイグレーション処理は、サーバ1及びサーバ2のマイグレーション処理部307によって実行される。
最初に、サーバ1(すなわち、マイグレーション元)のマイグレーション処理部307が実行するマイグレーション処理の手順を説明する。
サーバ1は、管理端末140からマイグレーション指示を受けて、マイグレーション処理を開始する(1001)。マイグレーション指示には、マイグレーション対象のファイルシステム202のファイルシステムID、及び、マイグレーション先のサーバ110のサーバIDが含まれる。
図10の例では、FS1がマイグレーション対象のファイルシステム202である。サーバ2がマイグレーション先のサーバ110である。
サーバ1は、マイグレーション処理が開始すると、最初に、サーバ2に対してマイグレーション開始の通知をする(1002)。この通知には、マイグレーション対象のファイルシステムIDが含まれる。
なお、この通知は、マイグレーション処理部307から指示されたサーバ間通信処理部306によって、サーバ間通信路135を経由して行われる。
サーバ1は、ステップ1002を実行した後で、クライアント150からFS1内のファイル(例えば、「file2」)のファイルハンドル取得要求又はアクセス要求を受けると、そのクライアント150にファイルシステム位置通知(図9のステップ906又はステップ913参照)を応答する。サーバ1は、管理端末140からのマイグレーション指示を参照して、マイグレーション先のサーバIDを応答してもよい。
次に、サーバ1は、マウントポイント管理テーブル115を更新する(1003)。具体的には、マウントポイント管理テーブル115において、FS1に対応するサーバID403の値を、「sid1」(サーバ1のサーバID)から「sid2」(サーバ2のサーバID)に更新する。
サーバ1は、マウントポイント管理テーブル115の更新の内容を、ストレージシステム100内の他の全てのサーバ110に通知する。この通知は、マイグレーション処理部307から指示を受けたサーバ間通信処理部306が実行する。この通知を受けたサーバ110は、そのサーバ110内のマウントポイント管理テーブル115を、通知の内容に従って更新する。
次に、サーバ1は、ディスクドライブ123にダーティデータを書き込む(1004)。すなわち、FS1に属するファイルのデータが、ディスクドライブ123に書き込まれず、ディスクキャッシュ122のみに書き込まれている場合、そのデータをディスクドライブ123に書き込む。
次に、サーバ1は、ファイルシステム202をアンマウントする(1005)。具体的には、サーバ1からFS1へのアクセスを無効にする。
次に、サーバ1は、LDEV124を切断する(1006)。具体的には、FS1が格納されたLDEV1を、サーバ1のOSから認識できないようにする。
次に、サーバ1は、サーバ2に対してマイグレーション終了の通知をする(1007)。この通知は、マイグレーション処理部307から指示されたサーバ間通信処理部306によって、サーバ間通信路135を経由して行われる。
以上で、サーバ1のマイグレーション処理部307が実行するマイグレーション処理が終了する。
次に、サーバ2(すなわち、マイグレーション先)のマイグレーション処理部307が実行するマイグレーション処理の手順を説明する。
サーバ2は、管理端末140からマイグレーション指示を受けて、マイグレーション処理を開始する(1011)。マイグレーション指示には、マイグレーション対象のファイルシステム202のファイルシステムID(図10の例では、FS1)が含まれる。
次に、サーバ2は、サーバ1からマイグレーション開始通知(1002)を受ける。
なお、ステップ1011のマイグレーション指示に含まれる情報が、マイグレーション開始通知(1002)にも含まれる場合、ステップ1011は不要である。その場合、サーバ2は、サーバ1からマイグレーション開始通知を受けて、マイグレーション処理を開始する。
マイグレーション開始通知(1002)を受けた後、マウント(1014)が終了するまでに、クライアント150からマイグレーション対象のファイルシステム202内のファイル(例えば、「file2」)へのアクセス要求を受けた場合、サーバ2は、当該アクセス要求を保留するか、又は、一時エラーを応答する(1012)。FS1についてファイルハンドル取得要求を受けた場合も同様である。
アクセス要求を保留した場合、サーバ2は、マイグレーション処理が終了した後で、保留されたアクセスを実行して、クライアント150に応答する。
一時エラーを応答した場合、クライアント150は、しばらく待った後、再度同じアクセス要求を発行する。ここで、一時エラーとは、負荷の増大等のために所定の時間内に処理を実行できない場合にクライアント150に通知されるものである。NFSv4では、一時エラーとして、例えば、NFS4ERR_DELAYが応答される。
従来のマイグレーション処理では、マイグレーション開始通知(1002)が発行されないため、サーバ2は、マイグレーションが終了するまで、自身がマイグレーション先として設定されていることを知ることができない。このため、マイグレーションが開始された後、マイグレーションが終了する前に、クライアント150からマイグレーション対象のファイルシステム202へのアクセスを要求された場合、サーバ2は、該当するファイルが存在しないことを応答する。これは、アプリケーションのエラーとなる。
一方、本発明によれば、サーバ2は、マイグレーション開始通知(1002)によって、自身がマイグレーション先として設定されていることを知る。このため、サーバ2は、マイグレーション対象のファイルシステム202に対するアクセス要求を受けた時点でそのファイルシステム202にアクセスすることができない場合でも、やがてアクセスすることがきるようになることがわかる。このため、サーバ2は、このようなアクセス要求を保留するか、又は、一時エラーを応答することができる。その結果、アプリケーションのエラーの発生が回避される。
サーバ2は、マイグレーション終了通知(1007)を受けると、LDEV124を接続する(1013)。具体的には、マイグレーション対象のファイルシステム202を含むLDEV124をサーバ2のOSに認識させる。
次に、サーバ2は、マイグレーション対象のファイルシステム202をマウントする(1014)。具体的には、図8のステップ809と同様の処理を実行する。
サーバ2は、ステップ1014のマウントが完了すると、クライアント150に対するサービスを開始する(1015)。具体的には、サーバ2は、クライアント150に対して、FS1へのアクセスの提供を開始する。ステップ1012において保留されたアクセス要求がある場合は、そのアクセスを実行する。
以上で、サーバ2のマイグレーション処理部307が実行するマイグレーション処理が終了する。
図10のマイグレーション処理は、FS1のデータ自体は複写せず、サーバ110とFS1との間の論理的な接続のみを変更するものである。しかし、リモートコピー等によってデータを複写することによってマイグレーション処理を実行してもよい。その場合も、図10と同様の手順が実行される。
例えば、新規に作成されたLDEV124にファイルシステム202の全てのデータを複写することによってマイグレーション処理を実行してもよい。
ここで、ファイルハンドル600のファイルシステムID601がLDEVIDに基づいて定められる場合、複写元のLDEV124のLDEVIDが、複写先のLDEV124に引き継がれる。すなわち、複写先のLDEV124のLDEVIDが、複写の実行前の複写もとのLDEV124のLDEVIDと同一になる。複写元のLDEV124は、削除されるか、又は、LDEVIDが別の値に変更される。その結果、ファイルハンドル600のファイルシステムID601がマイグレーションの前後で変化しない。このため、マイグレーション後もマイグレーション前と同じファイルハンドル600を使用することができる。
マイグレーションの際にデータが複写される別の例は、一つのLDEV124に複数のファイルシステム202が格納され、それらのファイルシステム202うちの一つが他のサーバ110にマイグレーションされる場合である。この場合、同じLDEV124内にマイグレーション対象でないファイルシステムも格納されているため、論理的な接続の変更によってマイグレーションを実行することはできない。したがって、マイグレーション対象のファイルシステム202の全てのデータを別のLDEV124に複写する必要がある。
ここで、ファイルハンドル600のファイルシステムID601がLDEVIDに基づいて定められる場合、複写元のLDEV124のLDEVIDを、複写先のLDEV124が引き継ぐことはできない。複写元のLDEV124には他のファイルシステム202が残っており、削除もLDEVIDの変更もすることができないためである。その結果、ファイルハンドル600のファイルシステムID601がマイグレーションの前後で変化する。このため、マイグレーション後は、マイグレーション前と同じファイルハンドル600を使用することができない。
したがって、一つのLDEV124に複数のファイルシステム202が格納される場合にも本発明を実施するためには、ファイルハンドル600のファイルシステムID601を、LDEVIDと無関係に定める必要がある。
なお、上記のファイルシステム202の複写及びLDEVIDの引継ぎは、マイグレーション元のサーバ110の指示によって実行されてもよいし、マイグレーション先のサーバ110の指示によって実行されてもよい。
図11は、本発明の実施の形態のクライアントが実行する処理の概略を示すフローチャートである。
図11Aは、従来のストレージシステムにアクセスするクライアント150が実行する処理のフローチャートである。
図11Bは、本発明の実施の形態のストレージシステム100にアクセスするクライアント150が実行する処理のフローチャートである。
図11A及び図11Bは、共に、ファイルシステム202がマイグレーションされた後で、そのファイルシステム202にアクセスするクライアント150が実行する処理を示す。このとき、クライアント150は、マイグレーションが実行されたことを知らず、マイグレーション元のサーバ110にアクセス要求を発行する。
まず、図11Aについて説明する。
クライアント150は、サーバからファイルシステム位置通知を受ける(1101)。
次に、クライアント150は、ステップ1101で通知されたマイグレーション先のサーバ(新しいサーバ)に、ファイルハンドル取得要求を発行して、そのサーバに名前解決をさせる(1102)。
次に、クライアント150は、目的のファイルへのアクセスを再開する。具体的には、ステップ1102で取得したファイルハンドルを用いて、マイグレーション先のサーバにアクセス要求を発行する(1103)。
次に、図11Bについて説明する。
クライアント150は、サーバ110からファイルシステム位置通知を受ける(1111)。
次に、クライアント150は、目的のファイルへのアクセスを実行する。具体的には、マイグレーションが実行される前に取得したファイルハンドル600を用いて、マイグレーション先のサーバ(新しいサーバ)110にアクセス要求を発行する(1112)。
以上のように、従来は、マイグレーション後のファイルシステム202にアクセスするためには、ファイルハンドルを再度取得する必要があった。このため、クライアント150は、アプリケーションにエラーを返す必要があった。エラーを返されたアプリケーションは、再度ファイルをオープンしなければならない。あるいは、クライアント150が目的のファイルのパス名を記憶しておいてもよい。しかし、現在のクライアント150には、そのような機能がない。
しかし、本発明によれば、マイグレーション前に取得したファイルハンドル600を、マイグレーション後も使用することができる。このため、マイグレーション後にファイルハンドル600を再度取得する必要がない。
なお、NFSv4が適用される場合、従来の処理(図11A)では、マイグレーション後にファイルハンドルを無効にするため、volatileファイルハンドルが使用される。一方、本発明の実施の形態の処理(図11B)では、ファイルハンドルを無効にする必要がないため、persistentファイルハンドルが使用される。
次に、本発明の実施の形態のストレージシステム100を管理するためのインターフェースについて説明する。このインターフェースは、管理端末140によってストレージシステム100の管理者に提供される。
図12は、本発明の実施の形態の管理端末140の管理画面に表示されるファイルシステム一覧表示画面の説明図である。
ファイルシステム一覧表示画面には、ファイルシステム一覧表1200、作成ボタン1207、削除ボタン1208及びマイグレーションボタン1209が含まれる。
ファイルシステム一覧表1200において、LDEV1201は、管理端末140が管理するLDEV124のLDEVIDである。図10の例では、図2と同様のLDEV124が記載されている。
FS1202は、各LDEV124に格納されたファイルシステム202のファイルシステムIDである。図10の例では、各LDEV124に図2と同様のファイルシステム202が格納されている。なお、図10のFS1202は、図4のファイルシステムID401と同じである。
サイズ1203は、各LDEV124に設定された記憶容量(メガバイト)である。図10の例では、LDEV0、LDEV1、LDEV2及びLDEV3に、それぞれ、50ギガバイト(GB)、30GB、20GB及び200GBが設定されている。
マウントポイント1204は、各ファイルシステム202に設定されたマウントポイントである。図10の例では、図4のパス402と同様のマウントポイントが設定されている。
サーバ1205は、各ファイルシステム202を管理するサーバ110の識別子である。図10の例において、各ファイルシステム202と、それを管理するサーバ110との関係は、図4と同様である。したがって、サーバ1205には、図4のサーバID403と同じ値が記載される。
オプション1206は、各LDEV124に設定された属性を示す。図10の例では、LDEV0、LDEV及びLDEV3のオプション1206が「rw」(read/write)と設定されている。これは、これらの三つのLDEV124に、書き込み禁止属性及び読み出し禁止属性のいずれも設定されていないことを示す。すなわち、クライアント150は、これらの三つのLDEV124に対して、データの書き込み及び読み出しのいずれも実行することができる。
一方、LDEV2のオプション1206は、「ro」(read_only)と設定されている。これは、LDEV2に書き込み禁止属性が設定されていることを示す。すなわち、クライアント150は、LDEV2にデータを書き込むことができない。
作成ボタン1207は、ファイルシステム202を新規作成するときに使用される。
削除ボタン1208は、ファイルシステム202を削除するときに使用される。例えば、管理者が削除しようとするファイルシステム202を選択し、削除ボタン1208を操作すると、選択されたファイルシステム202が削除される。ここで、ファイルシステム202の選択は、図12のLDEV1201の欄の左側にある丸印をポインティングデバイス(図示省略)で操作(例えば、マウスクリック)することによって実行されてもよい。削除ボタン1208の操作も同様である。
マイグレーションボタン1209は、ファイルシステム202をマイグレーションするときに使用される。例えば、管理者がマイグレーションしようとするファイルシステム202を選択し、マイグレーションボタン1209を操作すると、別の画面(図13参照)が表示され、マイグレーションが実行される。
図13は、本発明の実施の形態の管理端末140の管理画面に表示されるマイグレーション設定画面の説明図である。
マイグレーション設定画面は、管理者がファイルシステム一覧表示画面(図12)においてファイルシステム202を選択し、マイグレーションボタン1209を操作したときに表示される。図13は、例として、管理者がファイルシステム一覧表示画面においてFS1を選択した場合のマイグレーション設定画面を示す。
マイグレーション設定画面は、LDEV表示欄1301、ファイルシステム表示欄1302、サーバ入力欄1303及び実行ボタン1304を含む。
LDEV表示欄1301には、管理者が選択したファイルシステム202に対応するLDEV124のLDEVIDが表示される。図13の例では、LDEV1が表示される。
ファイルシステム表示欄1302には、管理者が選択したファイルシステム202のファイルシステムIDが表示される。図13の例では、FS1が表示される。
サーバ入力欄1303には、マイグレーション先のサーバ110のIDが入力される。図13の例では、「sid2」が入力されている。これは、管理者がFS1をサーバ2にマイグレーションしようとしていることを示す。
実行ボタン1304は、マイグレーションを実行するときに使用される。管理者が実行ボタン1304を操作すると、LDEV1に格納されたFS1をサーバ2にマイグレーションする処理が開始される。
以上の本発明によれば、ファイルシステムをサーバ間でマイグレーションすることによって、サーバのアクセス負荷を分散することができる。
また、本発明によれば、ストレージシステム内の全てのサーバが、名前空間を共有する。各ファイルに対応するファイルハンドルが、ストレージシステム内で一意に設定される。各ファイルハンドルは、マイグレーションが実行されても変化しない。その結果、マイグレーションが実行される前に取得したファイルハンドルを、マイグレーションが実行された後も使用することができる。
また、本発明によれば、マイグレーションの実行が開始されたことが、マイグレーション先のサーバに通知される。マイグレーション先のサーバは、マイグレーション実行中にマイグレーション対象のファイルシステムへのアクセス要求を受けたとき、要求を保留又は一時エラーを返す。いずれの場合も、当該アクセスはマイグレーション終了後に実行されるため、クライアントはアプリケーションにエラーを返す必要がない。
本発明の実施の形態のストレージシステムの構成を示すブロック図である。 本発明の実施の形態のディスクサブシステムの論理的な構成を示すブロック図である。 本発明の実施の形態のサーバソフトウエアの構成の説明図である。 本発明の実施の形態のマウントポイント管理テーブルの説明図である。 本発明の実施の形態においてクライアントに提供される名前空間の説明図である。 本発明の実施の形態のファイルハンドルの説明図である。 本発明の実施の形態において実行される処理の概略の説明図である。 本発明の実施の形態において実行されるファイルシステム作成処理のフローチャートである。 本発明の実施の形態において実行されるファイルアクセス処理のシーケンス図である。 本発明の実施の形態において実行されるマイグレーション処理のフローチャートである。 本発明の実施の形態のクライアントが実行する処理の概略を示すフローチャートである。 本発明の実施の形態の管理端末の管理画面に表示されるファイルシステム一覧表示画面の説明図である。 本発明の実施の形態の管理端末の管理画面に表示されるマイグレーション設定画面の説明図である。
符号の説明
100 ストレージシステム
110 サーバ
111 ネットワークインターフェース
112 CPU
113 ローカルメモリ
114 サーバソフトウエア
115 マウントポイント管理テーブル
116 アダプタ
120 ディスクサブシステム
121 ディスクコントローラ
122 ディスクキャッシュ
123 ディスクドライブ
124 論理デバイス(LDEV)
130 ストレージエリアネットワーク(SAN)
135 サーバ間通信路
140 管理端末
150 クライアント
160 LAN
201 論理ユニット(LU)
202 ファイルシステム(FS)
301 ネットワーク処理部
302 ファイルシステム処理部
303 ディスクアクセス部
304 デバイス番号管理部
305 サーバ管理処理部
306 サーバ間通信処理部
307 マイグレーション処理部
600 ファイルハンドル

Claims (16)

  1. 複数のサーバと、
    前記複数のサーバと接続されるディスクサブシステムと、を備えるストレージシステムにおいて、
    前記ディスクサブシステムは、
    少なくとも一つの論理デバイスと、
    前記少なくとも一つの論理デバイスに格納された少なくとも一つのファイルシステムと、を備え、
    前記各サーバは、前記ファイルシステムのマウント位置を管理する管理テーブルを保持し、
    前記管理テーブルには、前記ファイルシステムを前記ストレージシステム内で一意に識別するファイルシステム識別子、前記ファイルシステムのマウント位置を示すマウント位置情報、及び、前記ファイルシステムを管理する前記サーバの識別子を示す管理サーバ識別子が、前記各サーバで共通の内容で格納され、
    前記各サーバは、前記ファイルシステム内のファイルのデータが格納されている前記ディスクサブシステム上の記憶領域を示すファイルハンドルの取得要求を受けると、前記取得要求に関するファイルのデータが格納されている前記ディスクサブシステム上の記憶領域を前記ストレージシステム内で一意に示すファイルハンドルを応答することを特徴とするストレージシステム。
  2. 前記複数のサーバは、第1サーバ及び第2サーバを含み、
    前記第1サーバは、前記ファイルシステムの新規作成の指示を受けると、
    前記指示に関する論理デバイスに前記ファイルシステムを作成し、
    前記作成されたファイルシステムに関する前記ファイルシステム識別子、前記マウント位置情報及び前記管理サーバ識別子を追加して前記管理テーブルの内容を更新し、
    少なくとも前記管理テーブルの更新の内容を前記第2サーバに送信し、
    前記第2サーバは、前記第1サーバから送信された前記管理テーブルの更新の内容を参照して、当該第2サーバに保持される前記管理テーブルを更新することを特徴とする請求項1に記載のストレージシステム。
  3. 前記複数のサーバは、第1サーバ及び第2サーバを含み、
    前記第1サーバは、前記ファイルシステムを前記第2サーバに移動するマイグレーション指示を受けると、
    前記第1サーバに保持されている前記管理テーブルの、前記マイグレーション指示の対象のファイルシステムに対応する前記管理サーバ識別子を、前記第2サーバの識別子に更新し、
    少なくとも前記管理テーブルの更新の内容を前記第2サーバに送信し、
    前記第2サーバは、前記第1サーバから送信された前記管理テーブルの更新の内容を参照して、当該第2サーバに保持される前記管理テーブルを更新することを特徴とする請求項1に記載のストレージシステム。
  4. 前記第1サーバは、
    前記マイグレーション指示を受けると、マイグレーションを開始することを通知する開始通知を前記第2サーバに送信し、
    前記開始通知を送信した後に、当該マイグレーション指示の対象のファイルシステム内の前記ファイルへのアクセス要求を受けると、前記第2サーバの識別子を応答することを特徴とする請求項3に記載のストレージシステム。
  5. 前記第2サーバは、
    前記マイグレーション指示の対象のファイルシステムをマウントし、
    前記開始通知を受けた後、前記マウントが終了するまでの間に、前記マイグレーション指示の対象のファイルシステム内のファイルへのアクセス要求を受けると、当該アクセス要求を保留することを特徴とする請求項4に記載のストレージシステム。
  6. 前記第2サーバは、
    前記マイグレーション指示の対象のファイルシステムをマウントし、
    前記開始通知を受けた後、前記マウントが終了するまでの間に、前記マイグレーション指示の対象のファイルシステム内のファイルへのアクセス要求を受けると、一時エラーを応答することを特徴とする請求項4に記載のストレージシステム。
  7. 前記開始通知は、前記マイグレーション指示の対象のファイルシステムが格納されている前記論理デバイスを前記ストレージシステム内で一意に識別する論理デバイス識別子を含み、
    前記第1サーバは、当該マイグレーション指示を受けると、前記マイグレーション指示の対象のファイルシステムを、当該ファイルシステムが格納されている複写元の前記論理デバイスから、複写先の前記論理デバイスに複写し、
    前記複写先の論理デバイスの前記論理デバイス識別子を、前記複写が実行される前の前記複写元の論理デバイスの前記論理デバイス識別子と同一にすることを特徴とする請求項4に記載のストレージシステム。
  8. 前記ファイルハンドルは、前記ファイルシステムが格納された前記論理デバイスを前記ストレージシステム内で一意に識別する論理デバイス識別子を含むことを特徴とする請求項1に記載のストレージシステム。
  9. 前記ファイルハンドルは、前記論理デバイス内で前記ファイルシステムを一意に識別するファイルシステム番号をさらに含むことを特徴とする請求項8に記載のストレージシステム。
  10. 複数のサーバと、前記複数のサーバと接続されるディスクサブシステムと、を備え、クライアント計算機と接続されたストレージシステムの制御方法において、
    前記ディスクサブシステムは、少なくとも一つの論理デバイスと、前記少なくとも一つの論理デバイスに格納された少なくとも一つのファイルシステムと、を備え、
    前記複数のサーバは、第1サーバ及び第2サーバを含み、
    前記制御方法は、
    前記第1サーバが、前記クライアント計算機から、前記ファイルシステム内のファイルのデータが格納されている前記ディスクサブシステム上の記憶領域を示すファイルハンドルの取得要求を受ける手順と、
    前記第1サーバが、前記ファイルハンドルの取得要求に関する前記ファイルハンドルを前記クライアント計算機に応答する手順と、
    前記第1サーバが、前記クライアント計算機から、前記ファイルハンドルを用いた前記ファイルへのアクセス要求を受ける手順と、
    前記第1サーバが、前記ファイルハンドルを用いて、前記ディスクサブシステム内の前記アクセス要求に関するファイルのデータにアクセスし、当該アクセスの結果を前記クライアント計算機に応答する手順と、
    前記ファイルシステムが、前記第1サーバから、前記第2サーバにマイグレーションされた後、前記第1サーバが、前記クライアント計算機から、当該マイグレーションの前に取得した前記ファイルハンドルを用いた前記ファイルシステム内の前記ファイルへのアクセス要求を受ける手順と、
    前記第1サーバが、前記第2サーバを識別するサーバ識別子を前記クライアント計算機に応答する手順と、
    前記第2サーバが、前記クライアント計算機から、当該マイグレーションの前に取得した前記ファイルハンドルを用いた前記ファイルシステム内の前記ファイルへのアクセス要求を受ける手順と、
    前記第2サーバが、当該マイグレーションの前に取得した前記ファイルハンドルを用いて、前記ディスクサブシステム内の前記アクセス要求に関するファイルのデータにアクセスし、当該アクセスの結果を前記クライアント計算機に応答する手順と、を含むことを特徴とする制御方法。
  11. 前記各サーバは、前記ファイルシステムのマウント位置を管理する管理テーブルを保持し、
    前記管理テーブルには、前記ファイルシステムを前記ストレージシステム内で一意に識別するファイルシステム識別子、前記ファイルシステムのマウント位置を示すマウント位置情報、及び、前記ファイルシステムを管理する前記サーバの識別子を示す管理サーバ識別子が格納され、
    前記第1サーバは、前記ファイルシステムを前記第2サーバに移動するマイグレーション指示を受ける手順と、
    前記第1サーバが、当該第1サーバに保持されている前記管理テーブルの、前記マイグレーション指示の対象のファイルシステムに対応する前記管理サーバ識別子を、前記第2サーバの識別子に更新する手順と、
    前記第1サーバが、少なくとも前記管理テーブルの更新の内容を前記第2サーバに送信する手順と、
    前記第2サーバが、前記第1サーバから送信された前記管理テーブルの更新の内容を参照して、当該第2サーバに保持される前記管理テーブルを更新する手順と、をさらに含むことを特徴とする請求項10に記載の制御方法。
  12. 前記第1サーバが、前記マイグレーション指示を受けた後に、マイグレーションを開始することを通知する開始通知を前記第2サーバに送信する手順と、
    前記第1サーバが、前記開始通知を送信した後に、当該マイグレーション指示の対象のファイルシステム内の前記ファイルへのアクセス要求を受けたとき、前記第2サーバの識別子を応答する手順と、をさらに含むことを特徴とする請求項11に記載の制御方法。
  13. 前記第2サーバが、前記マイグレーション指示の対象のファイルシステムをマウントする手順と、
    前記第2サーバが、前記開始通知を受けた後、前記マウントが終了するまでの間に、前記マイグレーション指示の対象のファイルシステム内のファイルへのアクセス要求を受けたとき、当該アクセス要求を保留する手順と、をさらに含むことを特徴とする請求項12に記載の制御方法。
  14. 前記第2サーバが、前記マイグレーション指示の対象のファイルシステムをマウントする手順と、
    前記第2サーバが、前記開始通知を受けた後、前記マウントが終了するまでの間に、前記マイグレーション指示の対象のファイルシステム内のファイルへのアクセス要求を受けたとき、一時エラーを応答する手順と、をさらに含むことを特徴とする請求項12に記載の制御方法。
  15. 前記開始通知は、前記マイグレーション指示の対象のファイルシステムが格納されている前記論理デバイスを前記ストレージシステム内で一意に識別する論理デバイス識別子を含み、
    前記マイグレーション指示の対象のファイルシステムを、当該ファイルシステムが格納されている複写元の前記論理デバイスから、複写先の前記論理デバイスに複写する手順と、
    前記複写先の論理デバイスの前記論理デバイス識別子を、前記複写が実行される前の前記複写元の論理デバイスの前記論理デバイス識別子と同一にする手順と、をさらに含むことを特徴とする請求項12に記載の制御方法。
  16. 前記各サーバは、前記ファイルシステムのマウント位置を管理する管理テーブルを保持し、
    前記管理テーブルには、前記ファイルシステムを前記ストレージシステム内で一意に識別するファイルシステム識別子、前記ファイルシステムのマウント位置を示すマウント位置情報、及び、前記ファイルシステムを管理する前記サーバの識別子を示す管理サーバ識別子が格納され、
    前記第1サーバが、前記ファイルシステムの新規作成の指示を受けた後、前記指示に関する論理デバイスに前記ファイルシステムを作成する手順と、
    前記第1サーバが、前記作成されたファイルシステムに関する前記ファイルシステム識別子、前記マウント位置情報及び前記管理サーバ識別子を追加して前記管理テーブルの内容を更新する手順と、
    前記第1サーバが、少なくとも前記管理テーブルの更新の内容を前記第2サーバに送信する手順と、
    前記第2サーバが、前記第1サーバから送信された前記管理テーブルの更新の内容を参照して、自管理サーバに保持される前記管理テーブルを更新する手順と、をさらに含むことを特徴とする請求項10に記載の制御方法。
JP2004358499A 2004-12-10 2004-12-10 名前空間を共有するクラスタ構成のネットワークストレージシステム及びその制御方法 Expired - Fee Related JP4451293B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2004358499A JP4451293B2 (ja) 2004-12-10 2004-12-10 名前空間を共有するクラスタ構成のネットワークストレージシステム及びその制御方法
US11/068,811 US20060129513A1 (en) 2004-12-10 2005-03-02 Network storage system with a clustered configuration sharing a namespace, and control method therefor
EP05253413A EP1669850A1 (en) 2004-12-10 2005-06-02 Network storage system with a clustered configuration sharing a namespace, and control method therefore
US12/361,713 US8161133B2 (en) 2004-12-10 2009-01-29 Network storage system with a clustered configuration sharing a namespace, and control method therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004358499A JP4451293B2 (ja) 2004-12-10 2004-12-10 名前空間を共有するクラスタ構成のネットワークストレージシステム及びその制御方法

Publications (2)

Publication Number Publication Date
JP2006164169A true JP2006164169A (ja) 2006-06-22
JP4451293B2 JP4451293B2 (ja) 2010-04-14

Family

ID=34941559

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004358499A Expired - Fee Related JP4451293B2 (ja) 2004-12-10 2004-12-10 名前空間を共有するクラスタ構成のネットワークストレージシステム及びその制御方法

Country Status (3)

Country Link
US (2) US20060129513A1 (ja)
EP (1) EP1669850A1 (ja)
JP (1) JP4451293B2 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008159027A (ja) * 2006-12-21 2008-07-10 Hitachi Ltd ファイルシステム仮想化のための方法および装置
JP2010009090A (ja) * 2008-06-24 2010-01-14 Fujitsu Ltd ファイルサーバのクラスタノード制御プログラム,クラスタノード制御方法及びクラスタノード制御装置
JP2010507876A (ja) * 2006-10-26 2010-03-11 アリババ グループ ホールディング リミテッド ネットワークデータストレージシステムおよびそのデータアクセス方法
JP2010097359A (ja) * 2008-10-15 2010-04-30 Hitachi Ltd ファイル管理方法および階層管理ファイルシステム
JP2010108409A (ja) * 2008-10-31 2010-05-13 Hitachi Ltd ストレージ管理方法及び管理サーバ
US8447825B2 (en) 2007-02-16 2013-05-21 Nec Corporation File sharing system and file sharing method

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7185013B2 (en) * 2001-04-12 2007-02-27 International Business Machines Corporation Method for constructing and caching a chain of file identifiers and enabling inheritance of resource properties in file systems
US8332526B2 (en) 2005-05-25 2012-12-11 Microsoft Corporation Data communication protocol including negotiation and command compounding
US8224837B2 (en) * 2005-06-29 2012-07-17 Oracle International Corporation Method and mechanism for supporting virtual content in performing file operations at a RDBMS
US7809675B2 (en) * 2005-06-29 2010-10-05 Oracle International Corporation Sharing state information among a plurality of file operation servers
US20070157002A1 (en) * 2006-01-03 2007-07-05 Emc Corporation Methods and apparatus for configuring a storage system
US7529972B2 (en) * 2006-01-03 2009-05-05 Emc Corporation Methods and apparatus for reconfiguring a storage system
JP4772569B2 (ja) * 2006-04-07 2011-09-14 株式会社日立製作所 共通名前空間においてディレクトリ単位のマイグレーションを実行するシステム及び方法
US8255675B1 (en) 2006-06-30 2012-08-28 Symantec Operating Corporation System and method for storage management of file system configuration data
US9110920B1 (en) * 2007-05-03 2015-08-18 Emc Corporation CIFS access to NFS files and directories by translating NFS file handles into pseudo-pathnames
SE533007C2 (sv) 2008-10-24 2010-06-08 Ilt Productions Ab Distribuerad datalagring
EP2712149B1 (en) 2010-04-23 2019-10-30 Compuverde AB Distributed data storage
US8423713B2 (en) 2010-09-06 2013-04-16 Hitachi, Ltd. Cluster type storage system and method of controlling the same
US9331955B2 (en) 2011-06-29 2016-05-03 Microsoft Technology Licensing, Llc Transporting operations of arbitrary size over remote direct memory access
US8856582B2 (en) * 2011-06-30 2014-10-07 Microsoft Corporation Transparent failover
US9626378B2 (en) 2011-09-02 2017-04-18 Compuverde Ab Method for handling requests in a storage system and a storage node for a storage system
US8645978B2 (en) 2011-09-02 2014-02-04 Compuverde Ab Method for data maintenance
US8650365B2 (en) 2011-09-02 2014-02-11 Compuverde Ab Method and device for maintaining data in a data storage system comprising a plurality of data storage nodes
US8997124B2 (en) 2011-09-02 2015-03-31 Compuverde Ab Method for updating data in a distributed data storage system
US9021053B2 (en) 2011-09-02 2015-04-28 Compuverde Ab Method and device for writing data to a data storage system comprising a plurality of data storage nodes
US8769138B2 (en) 2011-09-02 2014-07-01 Compuverde Ab Method for data retrieval from a distributed data storage system
US20130067095A1 (en) 2011-09-09 2013-03-14 Microsoft Corporation Smb2 scaleout
US9047169B1 (en) * 2012-03-30 2015-06-02 Emc Corporation Resizing snapshot mount points
US9160786B1 (en) 2012-05-08 2015-10-13 Google Inc. Method for media sharing based on location proximity
US9298752B2 (en) * 2013-08-26 2016-03-29 Dropbox, Inc. Facilitating data migration between database clusters while the database continues operating
US10298679B1 (en) * 2015-09-18 2019-05-21 Amazon Technologies, Inc. Object ownership migration
US11971848B2 (en) * 2021-11-30 2024-04-30 Dell Products L.P. Efficient transparent switchover of file system consolidation migrations
US11841825B2 (en) 2021-11-30 2023-12-12 Dell Products L.P. Inode clash resolution during file system migration
US12007855B2 (en) 2021-12-29 2024-06-11 Dell Products L.P. Efficient transparent rollback of file system consolidation migrations

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US191745A (en) * 1877-06-12 Improvement in millstone-drivers
US158836A (en) * 1875-01-19 Improvement in bale-ties
US236798A (en) * 1881-01-18 Geoege f
JPH103421A (ja) * 1995-11-20 1998-01-06 Matsushita Electric Ind Co Ltd 仮想ファイル管理システム
US6697846B1 (en) * 1998-03-20 2004-02-24 Dataplow, Inc. Shared file system
US7010554B2 (en) * 2002-04-04 2006-03-07 Emc Corporation Delegation of metadata management in a storage system by leasing of free file system blocks and i-nodes from a file system owner
JP2001051890A (ja) 1999-08-10 2001-02-23 Toshiba Corp 仮想分散ファイルサーバシステム
JP3843713B2 (ja) 1999-08-27 2006-11-08 株式会社日立製作所 計算機システム及びそのデバイスの割り当て方法
US6854034B1 (en) 1999-08-27 2005-02-08 Hitachi, Ltd. Computer system and a method of assigning a storage device to a computer
US6938039B1 (en) * 2000-06-30 2005-08-30 Emc Corporation Concurrent file across at a target file server during migration of file systems between file servers using a network file system access protocol
JP3992427B2 (ja) * 2000-08-01 2007-10-17 株式会社日立製作所 ファイルシステム
US20040236798A1 (en) * 2001-09-11 2004-11-25 Sudhir Srinivasan Migration of control in a distributed segmented file system
US6671773B2 (en) * 2000-12-07 2003-12-30 Spinnaker Networks, Llc Method and system for responding to file system requests
US7165096B2 (en) * 2000-12-22 2007-01-16 Data Plow, Inc. Storage area network file system
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
JP4211285B2 (ja) 2002-05-24 2009-01-21 株式会社日立製作所 ネットワークストレージシステムの仮想一元化方法及び装置
JP2004021996A (ja) * 2002-06-12 2004-01-22 Sony Corp 記録装置、サーバ装置、記録方法、プログラム、記憶媒体
US7774466B2 (en) * 2002-10-17 2010-08-10 Intel Corporation Methods and apparatus for load balancing storage nodes in a distributed storage area network system
JP2004318743A (ja) 2003-04-21 2004-11-11 Hitachi Ltd ファイル移送装置
EP1618500A4 (en) 2003-04-24 2009-01-07 Neopath Networks Inc TRANSPARENT FILE MIGRATION USING A NAME SPACE DUPLICATION
US7346664B2 (en) 2003-04-24 2008-03-18 Neopath Networks, Inc. Transparent file migration using namespace replication

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010507876A (ja) * 2006-10-26 2010-03-11 アリババ グループ ホールディング リミテッド ネットワークデータストレージシステムおよびそのデータアクセス方法
US8953602B2 (en) 2006-10-26 2015-02-10 Alibaba Group Holding Limited Network data storing system and data accessing method
JP2008159027A (ja) * 2006-12-21 2008-07-10 Hitachi Ltd ファイルシステム仮想化のための方法および装置
US8447825B2 (en) 2007-02-16 2013-05-21 Nec Corporation File sharing system and file sharing method
JP2010009090A (ja) * 2008-06-24 2010-01-14 Fujitsu Ltd ファイルサーバのクラスタノード制御プログラム,クラスタノード制御方法及びクラスタノード制御装置
JP4549408B2 (ja) * 2008-06-24 2010-09-22 富士通株式会社 ファイルサーバのクラスタノード制御プログラム,クラスタノード制御方法及びクラスタノード制御装置
JP2010097359A (ja) * 2008-10-15 2010-04-30 Hitachi Ltd ファイル管理方法および階層管理ファイルシステム
JP2010108409A (ja) * 2008-10-31 2010-05-13 Hitachi Ltd ストレージ管理方法及び管理サーバ
US8122116B2 (en) 2008-10-31 2012-02-21 Hitachi, Ltd. Storage management method and management server

Also Published As

Publication number Publication date
JP4451293B2 (ja) 2010-04-14
US20090144290A1 (en) 2009-06-04
EP1669850A1 (en) 2006-06-14
US20060129513A1 (en) 2006-06-15
US8161133B2 (en) 2012-04-17

Similar Documents

Publication Publication Date Title
JP4451293B2 (ja) 名前空間を共有するクラスタ構成のネットワークストレージシステム及びその制御方法
JP4836533B2 (ja) ストレージシステムにおけるファイルシステムマイグレーション方法、ストレージシステム及び管理計算機
JP5066415B2 (ja) ファイルシステム仮想化のための方法および装置
JP4806572B2 (ja) データミラーリングによって参照負荷を分散するストレージシステムにおけるアクセスの制御
JP5060789B2 (ja) クラスタ化nasシステムの間でデータをミラーリングする方法
US9639277B2 (en) Storage system with virtual volume having data arranged astride storage devices, and volume management method
US7836017B1 (en) File replication in a distributed segmented file system
JP4764701B2 (ja) ログ情報を管理する計算機システム及びログ情報の管理方法
US7590671B2 (en) Storage system, file migration method and computer program product
US7966517B2 (en) Method and apparatus for virtual network attached storage remote migration
JP2008242788A (ja) 重複したファイルの記憶を防ぐコンピュータシステム
JP2006039814A (ja) ネットワークストレージシステム及び複数ネットワークストレージ間の引継方法
JP2007272874A (ja) クラスタ化ファイルシステムにおいてデータのバックアップを取る方法
JP2006268534A (ja) 記憶装置システムの制御技術
JP4278452B2 (ja) 計算機システム
JP2004295465A (ja) 計算機システム
JP2009064120A (ja) 検索システム
US20080147859A1 (en) Method and program for supporting setting of access management information
JP2008146212A (ja) 共有ディレクトリの設定情報を変更する方法、及びファイルサーバ装置
JP2005321913A (ja) ファイル共有装置を有する計算機システム、および、ファイル共有装置の移行方法
JP4258768B2 (ja) ファイル配置システム
US8117405B2 (en) Storage control method for managing access environment enabling host to access data
JP4005102B2 (ja) ゲートウェイ装置
US20080243962A1 (en) Method and apparatus for providing and managing a virtual storage namespace

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070111

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090817

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090825

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091019

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

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

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130205

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140205

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees