JP2014191754A - Storage system, file server, cache management method and cache management program - Google Patents
Storage system, file server, cache management method and cache management program Download PDFInfo
- Publication number
- JP2014191754A JP2014191754A JP2013068940A JP2013068940A JP2014191754A JP 2014191754 A JP2014191754 A JP 2014191754A JP 2013068940 A JP2013068940 A JP 2013068940A JP 2013068940 A JP2013068940 A JP 2013068940A JP 2014191754 A JP2014191754 A JP 2014191754A
- Authority
- JP
- Japan
- Prior art keywords
- file
- cache
- identification information
- system area
- file server
- 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
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
本発明は、複数サーバでストレージを共有するストレージシステム、ストレージシステムにおけるファイルサーバ、キャッシュ管理方法およびキャッシュ管理プログラムに関する。 The present invention relates to a storage system in which a plurality of servers share storage, a file server in the storage system, a cache management method, and a cache management program.
クラスタ接続されたNAS(Network Attached Storage)(以下、クラスタNASという。)において、あるファイルサーバ(以下、ノードともいう)が、障害発生やメンテナンス等によりサービス停止した場合、フェイルオーバにより他のノードでサービスが継続される。しかし、その場合、リードページキャッシュ(以下、単にページキャッシュという。)は、他のノードへ引き継がれない。そのため、サービスを引き継いだ他のノードは、ディスクからデータを直接読み出さなければならない。従って、フェイルオーバ時に、他のノードからのアクセスによるディスク負荷が急増し、サービスダウン等のシステム障害が発生する恐れがある。 In a cluster-connected NAS (Network Attached Storage) (hereinafter referred to as a cluster NAS), when a file server (hereinafter also referred to as a node) is stopped due to a failure or maintenance, the service is performed on another node due to failover. Will continue. However, in that case, the read page cache (hereinafter simply referred to as “page cache”) cannot be taken over to another node. Therefore, the other node that has taken over the service must read the data directly from the disk. Therefore, at the time of failover, the disk load due to access from other nodes increases rapidly, and there is a possibility that system failure such as service down may occur.
また、近年、DIMM(Dual Inline Memory Module)の大容量低価格化が進み、NASのリードページキャッシュ用のメモリが大容量化されつつある。そのような環境においてフェイルオーバが発生すると、サービスを引き継いだノードからのファイルアクセスによるディスク負荷がさらに増大し、システム障害が発生する可能性が高くなる。 In recent years, the capacity of DIMMs (Dual Inline Memory Modules) has been reduced and the capacity of NAS read page cache memories has been increased. When failover occurs in such an environment, the disk load due to file access from the node that has taken over the service further increases, and the possibility of a system failure increases.
ストレージシステムで構成変更または障害が発生した場合に、ストレージシステムの現状に合わせて、コピー先ボリュームにアクセスするための各通信パスを評価し直し、各通信パスの優先順位を再設定する方法がある(例えば、特許文献1参照。)。 There is a method to re-evaluate each communication path to access the copy destination volume and reset the priority of each communication path according to the current status of the storage system when a configuration change or failure occurs in the storage system (For example, refer to Patent Document 1).
特許文献1に記載された方法は、現在使用中のアクティブパスがそのまま継続して使用される可能性を高くし、アクティブパスからスタンバイパスへのフェイルオーバの発生を抑制することができる。しかし、特許文献1に記載された方法では、フェイルオーバ発生時のディスクアクセス負荷については考慮されていない。
The method described in
そこで、本発明は、フェイルオーバ発生時のディスクアクセス負荷を抑制することができるストレージシステム、ファイルサーバ、キャッシュ管理方法およびキャッシュ管理プログラムを提供することを目的とする。 Accordingly, an object of the present invention is to provide a storage system, a file server, a cache management method, and a cache management program that can suppress a disk access load when a failover occurs.
本発明によるストレージシステムは、複数のファイルサーバを備え、ファイルサーバは、他のファイルサーバと共有するファイルシステム領域に格納されたファイルに対するアクセス要求を受け付けた場合に、当該アクセス要求に対応するページキャッシュを、当該ファイルの識別情報および当該ファイルシステム領域の識別情報とともに他のファイルサーバに転送するキャッシュ管理部を含み、キャッシュ管理部は、他のファイルサーバから受信した、ページキャッシュとファイルの識別情報とファイルシステム領域の識別情報とを対応付けて保持し、他のファイルサーバの停止時に、当該ファイルシステム領域に格納された当該ファイルに対するアクセス要求を受け付けた場合には、当該ページキャッシュを使用して応答することを特徴とする。 The storage system according to the present invention includes a plurality of file servers. When the file server receives an access request for a file stored in a file system area shared with other file servers, the page cache corresponding to the access request is received. A cache management unit that transfers to the other file server together with the identification information of the file and the identification information of the file system area, and the cache management unit receives the page cache and file identification information received from the other file server, If the access request for the file stored in the file system area is accepted when the other file server is stopped, a response is made using the page cache. Features to do To.
本発明によるファイルサーバは、他のファイルサーバと共有するファイルシステム領域に格納されたファイルに対するアクセス要求を受け付けた場合に、当該アクセス要求に対応するページキャッシュを、当該ファイルの識別情報および当該ファイルシステム領域の識別情報とともに他のファイルサーバに転送するキャッシュ管理部を含み、キャッシュ管理部は、他のファイルサーバから受信した、ページキャッシュとファイルの識別情報とファイルシステム領域の識別情報とを対応付けて保持し、他のファイルサーバの停止時に、当該ファイルシステム領域に格納された当該ファイルに対するアクセス要求を受け付けた場合には、当該ページキャッシュを使用して応答することを特徴とする。 When a file server according to the present invention receives an access request for a file stored in a file system area shared with another file server, the file cache stores the page cache corresponding to the access request, the identification information of the file, and the file system. A cache management unit that transfers to the other file server together with the area identification information. The cache management unit associates the page cache, the file identification information, and the file system area identification information received from the other file server. When the access request to the file stored in the file system area is received when the other file server is stopped, the page cache is used to respond.
本発明によるキャッシュ管理方法は、他のファイルサーバと共有するファイルシステム領域に格納されたファイルに対するアクセス要求を受け付けた場合に、当該アクセス要求に対応するページキャッシュを、当該ファイルの識別情報および当該ファイルシステム領域の識別情報とともに他のファイルサーバに転送し、他のファイルサーバから受信した、ページキャッシュとファイルの識別情報とファイルシステム領域の識別情報とを対応付けて保持し、他のファイルサーバの停止時に、当該ファイルシステム領域に格納された当該ファイルに対するアクセス要求を受け付けた場合には、当該ページキャッシュを使用して応答することを特徴とする。 In the cache management method according to the present invention, when an access request for a file stored in a file system area shared with another file server is received, the page cache corresponding to the access request is stored in the file identification information and the file. Transfers the system area identification information to another file server and retains the page cache, the file identification information, and the file system area identification information received from the other file server, and stops the other file server. In some cases, when an access request to the file stored in the file system area is received, a response is made using the page cache.
本発明によるキャッシュ管理プログラムは、コンピュータに、他のファイルサーバと共有するファイルシステム領域に格納されたファイルに対するアクセス要求を受け付けた場合に、当該アクセス要求に対応するページキャッシュを、当該ファイルの識別情報および当該ファイルシステム領域の識別情報とともに他のファイルサーバに転送する処理と、他のファイルサーバから受信した、ページキャッシュとファイルの識別情報とファイルシステム領域の識別情報とを対応付けて保持し、他のファイルサーバの停止時に、当該ファイルシステム領域に格納された当該ファイルに対するアクセス要求を受け付けた場合には、当該ページキャッシュを使用して応答する処理とを実行させることを特徴とする。 When the cache management program according to the present invention receives an access request for a file stored in a file system area shared with another file server, the cache management program displays the page cache corresponding to the access request as identification information of the file. And the process of transferring to the other file server together with the identification information of the file system area, the page cache and the file identification information received from the other file server, and the identification information of the file system area in association with each other. When an access request to the file stored in the file system area is received when the file server is stopped, a process of responding using the page cache is executed.
本発明によれば、フェイルオーバ発生時のディスクアクセス負荷を抑制することができる。 According to the present invention, it is possible to suppress a disk access load when a failover occurs.
実施形態1.
以下、本発明の第1の実施形態を図面を参照して説明する。
A first embodiment of the present invention will be described below with reference to the drawings.
図1は、本発明によるストレージシステムの第1の実施形態の構成を示すブロック図である。 FIG. 1 is a block diagram showing a configuration of a first embodiment of a storage system according to the present invention.
図1に示すように、ファイルサーバ300とファイルサーバ301とは、クラスタ系間通信機能350を利用して通信可能である。クラスタ系間通信機能350は、ファイルサーバ間の通信を制御する。
As shown in FIG. 1, the
ファイルサーバ300,301と、クライアント330とは、ネットワーク340を介して接続される。また、ファイルサーバ300,301は、共有ディスク320と接続される。なお、図1では、クライアント330が1つ例示されているが、ネットワーク340にはいくつクライアントが接続されていてもよい。
The
共有ディスク320は、ディスク装置であって、ファイルシステム領域(以下、単にファイルシステムという。)321とファイルシステム322とを含む。なお、ファイルシステムは、共有ディスクにいくつ含まれていてもよい。
The shared disk 320 is a disk device, and includes a file system area (hereinafter simply referred to as a file system) 321 and a
ファイルシステム321は、平常時、ファイルサーバ300にマウントされる。ファイルシステム322は、平常時、ファイルサーバ301にマウントされる。本実施形態では、ファイルシステム321上にファイル323が格納されている。また、図1に示すサーバIPアドレス360は、クライアント330がファイルサーバのファイル共有サービスを利用して、ファイルシステム321にアクセスする際に使用するIPアドレスである。
The
ファイルサーバ300は、拡張キャッシュ管理部100を有するVFS(Virtual File System)200と、クラスタ制御機能310とを有する。なお、ファイルサーバ301の構成は、ファイルサーバ300と同様の構成であるため、説明を省略する。また、図1では、2つのファイルサーバが例示されているが、ファイルサーバはいくつあってもよい。
The
VFS200の拡張キャッシュ管理部100は、他のファイルサーバとページキャッシュを共有するための拡張キャッシュ管理機能を有する。また、拡張キャッシュ管理部100は、キャッシュ作成部110と、キャッシュ転送部120と、キャッシュコピー部130とを含む。
The extended
キャッシュ作成部110は、クライアント330からのファイルアクセスに応じて、ページキャッシュを作成する。キャッシュ作成部110は、ページキャッシュを作成したタイミングで、アクセス先のファイルシステムに対応するリードキャッシュテーブルがあるか否かを確認する。
The
キャッシュ作成部110は、リードキャッシュテーブルがなければ、リードキャッシュテーブルを作成する。リードキャッシュテーブルは、ファイルの識別情報であるインデックスノード(以下、iノードという。)の番号(以下、iノード番号という。)と、ページキャッシュを管理する情報(以下、アドレス空間(address_space(as))構造体という。)を辿るための情報(ポインタ)とを含むエントリを登録するためのテーブルである。キャッシュ作成部110は、ファイルシステムごとにリードキャッシュテーブルを生成する。また、キャッシュ作成部110は、リードキャッシュテーブルに、対応するファイルシステムを識別するためのデバイスIDを格納する。
If there is no read cache table, the
キャッシュ作成部110は、ファイルのアクセス要求があった場合には、対応するリードキャッシュテーブルに、当該ファイルに対応するiノード番号を含むエントリがあるか否かを確認する。当該ファイルに対応するiノード番号を含むエントリがなければ、当該エントリを追加する。
When there is a file access request, the
キャッシュ転送部120は、リードキャッシュテーブル160に格納されたデバイスIDと、リードキャッシュテーブル160のエントリに含まれるiノード番号と、当該エントリに含まれるas構造体のポインタから辿れるページキャッシュとを、他方のファイルサーバ、つまり対向するファイルサーバ301の拡張キャッシュ管理部101に、クラスタ系間通信機能350を利用して転送する。
The
キャッシュコピー部130は、対向するファイルサーバ301のキャッシュ転送部121から情報(デバイスID、iノード番号、ページキャッシュ)を受け取ると、新規にas構造体を作成する。そして、キャッシュコピー部130は、新規に作成したas構造体の配下に、受け取ったページキャッシュをインデックス毎に繋ぐ。具体的には、ページキャッシュのポインタをas構造体に格納する。キャッシュコピー部130は、iノード番号と新規に作成したas構造体へのポインタとを含むエントリを、リードキャッシュテーブル161に登録する。また、キャッシュコピー部130は、受信したデバイスIDをリードキャッシュテーブル161に格納する。
When the
なお、拡張キャッシュ管理部100、拡張キャッシュ管理部100におけるキャッシュ作成部110、キャッシュ転送部120およびキャッシュコピー部130は、例えば、キャッシュ管理プログラムに従って動作するコンピュータによって実現される。この場合、CPUがキャッシュ管理プログラムを読み込み、そのプログラムに従って、拡張キャッシュ管理部100、拡張キャッシュ管理部100におけるキャッシュ作成部110、キャッシュ転送部120およびキャッシュコピー部130として動作する。また、拡張キャッシュ管理部100、拡張キャッシュ管理部100におけるキャッシュ作成部110、キャッシュ転送部120およびキャッシュコピー部130が別々のハードウェアで実現されていてもよい。
The extended
次に、本実施形態の動作を説明する。 Next, the operation of this embodiment will be described.
ファイルサーバのクラスタ構成として、アクティブ−アクティブ(Active−Active)構成、アクティブ−スタンバイ(Active−Standby)構成がある。アクティブ−アクティブ構成は、アクティブ−スタンバイ構成が2組ある構成と見なすことができる。従って、本実施形態では、クラスタ構成が、アクティブ−スタンバイ構成である場合を例にする。 As the cluster configuration of the file server, there are an active-active configuration and an active-standby configuration. The active-active configuration can be regarded as a configuration with two sets of active-standby configurations. Therefore, in this embodiment, a case where the cluster configuration is an active-standby configuration is taken as an example.
図2は、平常時のストレージシステムの様子を示すブロック図である。 FIG. 2 is a block diagram showing the state of the storage system in a normal state.
まず、クラスタの状態が平常時であるときに、クライアント330が、サーバIPアドレス360を使用して、ファイルシステム321上のファイル323を初めてリードする場合の動作を説明する。
First, an operation when the
図3は、ファイルリード時のファイルサーバの動作を示すフローチャートである。 FIG. 3 is a flowchart showing the operation of the file server during file reading.
VFS200は、クライアント330からリード要求を受け付けると、既存の機能を用いて、共有ディスク320にアクセスする(ステップS301)。そして、VFS200は、ファイル管理構造体210、ディエントリのキャッシュ(ディエントリキャッシュ)220、iノードのキャッシュ(iノードキャッシュ)230を作成する。ディエントリは、ファイル管理構造体とiノードとを対応づける情報である。
When receiving a read request from the
VFS200は、ファイルシステム321を示すデバイスIDや、ファイル323を示すiノード番号を、iノードキャッシュ230に格納する。このようにして、リード要求対象のファイル323の管理情報(ファイル管理構造体210、ディエントリキャッシュ220、iノードキャッシュ230)が作成される(ステップS302)。
The
ここでは、ページキャッシュが作成されていないので(ステップS303のNo)、VFS200は、リード要求されたオフセットまでデータをディスクから読み出す(ステップS304)。これにより、as構造体140と、オフセットに該当するインデックスとを含むページキャッシュ150が作成される。VFS200は、作成したページキャッシュ150へのポインタを、as構造体140に格納する。また、as構造体140へのポインタを、iノードキャッシュ230に設定する。
Here, since the page cache has not been created (No in step S303), the
ページキャッシュの作成が完了したタイミングで、キャッシュ作成部110は、iノードキャッシュ230から、デバイスID、iノード番号およびas構造体140へのポインタを取得する。そして、キャッシュ作成部110は、取得したデバイスIDに対応するリードキャッシュテーブル160を作成する。キャッシュ作成部110は、作成したリードキャッシュテーブル160に、取得したiノード番号とas構造体140へのポインタとを含むエントリ170を追加する。
At the timing when the creation of the page cache is completed, the
相手ノード(ファイルサーバ301)が稼働している場合には(ステップS305のYes)、キャッシュ転送部120は、ファイルサーバ301の拡張キャッシュ管理部101に、ページキャッシュを、デバイスID、iノード番号とともに転送する(ステップS306)。
When the counterpart node (file server 301) is operating (Yes in step S305), the
ステップS306の後、VFS200は、ページキャッシュに格納されたデータを、リード要求に対する応答として、クライアント330に送信する(ステップS307)。
After step S306, the
なお、ステップS303において、ページキャッシュ150が既に作成されている場合には(ステップS303のYes)、ステップS304〜S306の処理は実行されない。また、ステップS305において、相手ノードが稼働していない場合には(ステップS305のNo)、ステップS306の処理は実行されない。
If the
ファイルサーバ301の拡張キャッシュ管理部101、具体的にはキャッシュコピー部131は、ファイルサーバ300のキャッシュ転送部120から、ページキャッシュ、デバイスIDおよびiノード番号を受け取ると(ステップS308)、as構造体140に相当するas構造体141を新規に作成する。また、受け取ったページキャッシュ(ページキャッシュ150)に相当するページキャッシュ151を作成する。キャッシュコピー部131は、受け取ったデバイスIDに対応するリードキャッシュテーブル161を作成する。キャッシュコピー部131は、リードキャッシュテーブル161に、受け取ったiノード番号とas構造体141へのポインタとを含むエントリ171を登録する。
When the extended
このようにして、ファイルシステム321上のファイル323に対するページキャッシュが、ファイルサーバ300からファイルサーバ301にコピーされる(ステップS309)。
In this way, the page cache for the
次に、ファイルサーバ300で障害が発生した場合の動作を説明する。
Next, an operation when a failure occurs in the
図4は、ファイルサーバ300で障害が発生したときのストレージシステムの様子を示す説明図である。図5は、障害発生時のファイルシステムマウント処理を示すフローチャートである。
FIG. 4 is an explanatory diagram showing the state of the storage system when a failure occurs in the
なお、図4に示すように、ファイルサーバ300が使用できなくなった場合には、一般的なクラスタ制御により、ファイルサーバ300の処理は、フェイルオーバされる、つまり、ファイルサーバ300の処理は、ファイルサーバ301に引き継がれる。従って、ファイルシステム321は、ファイルサーバ301側にマウントされる(ステップS501)。また、サーバIPアドレス360が、ファイルサーバ301側に割り当てられる。
As shown in FIG. 4, when the
このとき、ファイルサーバ301、具体的にはVFS201の拡張キャッシュ管理部101は、ファイルシステム321がマウントされた後、ファイルシステム321のデバイスIDに対応するリードキャッシュテーブルを参照する(ステップS502)。
At this time, after the
ここでは、デバイスIDに対応するリードキャッシュテーブル161が存在するので(ステップS503のYes)、拡張キャッシュ管理部101は、さらに、リードキャッシュテーブル161にエントリが登録されているか否かを確認する(ステップS504)。
Here, since the read cache table 161 corresponding to the device ID exists (Yes in step S503), the extended
ここでは、エントリ171が登録されているので(ステップS504のYes)、拡張キャッシュ管理部101は、エントリ171のiノード番号に対応するファイルにアクセス要求があったかのように、ディスクI/O(Input/Output)を行う(ステップS505)。それにより、ファイル管理情報(ファイル管理構造体211、ディエントリキャッシュ221、iノードキャッシュ231)が作成される。次に、拡張キャッシュ管理部101は、エントリ171に含まれるas構造体141へのポインタをiノードキャッシュ231に設定する(ステップS506)。
Here, since the
なお、ステップS503において、リードキャッシュテーブル161が存在しない場合(ステップS503のNo)、拡張キャッシュ管理部101は処理を終了する。また、ステップS504において、エントリが登録されていない場合には(ステップS504のNo)、拡張キャッシュ管理部101は処理を終了する。
If the read cache table 161 does not exist in step S503 (No in step S503), the extended
ステップS506の後、拡張キャッシュ管理部101は、リードキャッシュテーブル161に未処理のエントリが他に存在するか否かを確認する(ステップS507)。未処理のエントリが存在する場合には(ステップS507のNo)、拡張キャッシュ管理部101は、当該未処理のエントリを処理対象として(ステップS508)、ステップS505〜S606の処理を実行する。
After step S506, the extended
拡張キャッシュ管理部101は、未処理のエントリが存在しない場合には(ステップS507のNo)、ファイルシステムのマウント処理を完了する。
If there is no unprocessed entry (No in step S507), the extended
その後、例えば、クライアント330が、サーバIPアドレス360を使用して、ファイルシステム321上のファイル323のリード要求を行うと、ファイルサーバ301は、ページキャッシュ151を利用して応答を返す。
Thereafter, for example, when the
このように、フェイルオーバ後のファイルアクセスには、事前に拡張キャッシュ管理部100、101間で共有していたページキャッシュが利用される。それにより、ディスクアクセス数が低減される。
As described above, the page cache shared in advance between the extended
最後に、ファイルサーバ300が復旧しフェイルバックする時の拡張キャッシュ管理部の動作を説明する。
Finally, the operation of the extended cache management unit when the
図6は、フェイルバック時のストレージシステムの様子を示すブロック図である。図7は、フェイルバック時のファイルサーバの動作を示すフローチャートである。 FIG. 6 is a block diagram showing the state of the storage system at the time of failback. FIG. 7 is a flowchart showing the operation of the file server at the time of failback.
ファイルサーバ301のクラスタ制御機能311は、ファイルサーバ300が復旧しフェイルバック可能となったことを検出すると、拡張キャッシュ管理部101に、フェイルバックを実行するように通知する。具体的には、サービス対象のファイルシステム321とサーバIPアドレス360について、フェイルバックすることを通知する(ステップS701)。
When the
通知を受けた拡張キャッシュ管理部101は、ファイルシステム321のデバイスIDを確認する(ステップS702)。拡張キャッシュ管理部101は、当該デバイスIDに対応するリードキャッシュテーブルが存在するか否かを確認する(ステップS703)。
Upon receiving the notification, the extended
ここでは、デバイスIDに対応するリードキャッシュテーブル161が存在するので(ステップS703のYes)、拡張キャッシュ管理部101は、リードキャッシュテーブル161にエントリが登録されているか否かを確認する(ステップS704)。
Here, since the read cache table 161 corresponding to the device ID exists (Yes in step S703), the extended
ここでは、エントリ171が存在するので(ステップS704のYes)、拡張キャッシュ管理部101は、エントリ171についてキャッシュ転送を実行するように、キャッシュ転送部121に指示する。キャッシュ転送部121は、キャッシュ転送を実行する(ステップS705)。
Here, since the
拡張キャッシュ管理部101は、リードキャッシュテーブル161に未処理のエントリが他に存在するか否かを確認する(ステップS706)。未処理のエントリが存在する場合には(ステップS706のNo)、拡張キャッシュ管理部101は、当該未処理のエントリを処理対象として(ステップS707)、ステップS705,S706の処理を実行する。
The extended
なお、ステップS703において、リードキャッシュテーブル161が存在しない場合には(ステップS703のNo)、ステップS704〜S707の処理は実行されない。また、ステップS704において、エントリが存在しなし場合には(ステップS704のNo)、ステップS705〜S707の処理は実行されない。 In step S703, when the read cache table 161 does not exist (No in step S703), the processes in steps S704 to S707 are not executed. If no entry exists in step S704 (No in step S704), the processes in steps S705 to S707 are not executed.
拡張キャッシュ管理部101は、すべてのエントリについて転送処理を完了すると(ステップS706のYes)、キャッシュ転送の完了をクラスタ制御機能311に通知する(ステップS708)。
When the extended
ファイルサーバ300の拡張キャッシュ管理部100、具体的にはキャッシュコピー部130は、キャッシュ転送部121から受け取った情報をもとに、各エントリに対応するas構造体とページキャッシュを再作成する(ステップS709,S710)。
Based on the information received from the
ファイルサーバ301のクラスタ制御機能311は、キャッシュ転送の完了後、既存の機能を用いてフェイルバック処理を行う。そして、クラスタ制御機能311は、ファイルサーバ300側にファイルシステム321をマウントさせて、ファイルサーバ300側にサーバIPアドレス360を割り当てる。
The
このとき、ファイルサーバ300は、ファイルシステム321がマウントされると、図5に示すフロー従って、フェイルオーバ時と同様に処理を進める。このようにして、ファイルサーバ300におけるキャッシュの状態が、図2に示す平常時の状態と同じ状態となる。
At this time, when the
このようにして、クラスタNASのノード間でページキャッシュを共有することが可能となる。 In this way, the page cache can be shared between the nodes of the cluster NAS.
以上に説明したように、本実施形態では、クラスタNASにおいて、あるノードにおけるファイル共有サービスのリードページキャッシュをコピーして別のノードに転送し、リードページキャッシュを両ノードで保持させる。このようにノード間でリードページキャッシュを共有することにより、フェイルオーバ時にファイル共有サービスが別のノードに移ったときに、リードページキャッシュを引き継ぐことが可能となる。つまり、スタンバイノードは、そのリードページキャッシュを、フェイルオーバ直後から利用することができる。従って、フェイルオーバ時のスタンバイノードから共有ディスクへのディスクアクセス負荷を低減することができる。よって、フェイルオーバ直後に発生する、共有ディスクへのディスクアクセス負荷の急増によるシステム障害を回避できる。 As described above, in this embodiment, in the cluster NAS, the read page cache of the file sharing service in a certain node is copied and transferred to another node, and the read page cache is held in both nodes. By sharing the read page cache between the nodes in this way, it is possible to take over the read page cache when the file sharing service moves to another node at the time of failover. That is, the standby node can use the read page cache immediately after failover. Therefore, the disk access load from the standby node to the shared disk at the time of failover can be reduced. Therefore, it is possible to avoid a system failure that occurs immediately after failover due to a sudden increase in the disk access load on the shared disk.
また、共有ディスクよりクライアント側に近いファイルサーバ側でキャッシュヒットを検出することができるので、共有ディスク内キャッシュにヒットする場合でも、クライアントへの応答性能を向上させることができる。 Further, since the cache hit can be detected on the file server side closer to the client side than the shared disk, the response performance to the client can be improved even when the shared disk cache is hit.
図8は、本発明によるストレージシステムの最小構成を示すブロック図である。図8に示すように、ストレージシステムは、複数のファイルサーバ10−1〜10−n(図1に示すファイルサーバ300およびファイルサーバ301に相当。)を備え、ファイルサーバ(図1に示すファイルサーバ300に相当。)は、他のファイルサーバ(図1に示すファイルサーバ301に相当。)と共有するファイルシステム領域に格納されたファイルに対するアクセス要求を受け付けた場合に、当該アクセス要求に対応するページキャッシュを、当該ファイルの識別情報(iノード番号に相当。)および当該ファイルシステム領域の識別情報(デバイスIDに相当。)とともに他のファイルサーバに転送するキャッシュ管理部11(図1に示すファイルサーバ300におけるVFS200における拡張キャッシュ管理部100に相当。)を含み、キャッシュ管理部11は、他のファイルサーバから受信した、ページキャッシュとファイルの識別情報とファイルシステム領域の識別情報とを対応付けて保持し、他のファイルサーバの停止時に、当該ファイルシステム領域に格納された当該ファイルに対するアクセス要求を受け付けた場合には、当該ページキャッシュを使用して応答する。
FIG. 8 is a block diagram showing the minimum configuration of the storage system according to the present invention. As shown in FIG. 8, the storage system includes a plurality of file servers 10-1 to 10-n (corresponding to the
そのような構成によれば、ノード間でリードページキャッシュを共有することができる。従って、フェイルオーバ時にファイル共有サービスが別のノードに移ったときに、リードページキャッシュを引き継ぐことが可能となる。つまり、スタンバイノードは、そのリードページキャッシュを、フェイルオーバ直後から利用することができる。従って、フェイルオーバ時のスタンバイノードからのディスクアクセス負荷を低減することができる。 According to such a configuration, the read page cache can be shared between nodes. Therefore, it is possible to take over the read page cache when the file sharing service moves to another node at the time of failover. That is, the standby node can use the read page cache immediately after failover. Therefore, the disk access load from the standby node at the time of failover can be reduced.
上記の実施形態には、以下のようなストレージシステムも開示されている。 In the above embodiment, the following storage system is also disclosed.
(1)キャッシュ管理部11は、他のファイルサーバと共有するファイルシステム領域ごとに、ページキャッシュを管理するためのリードキャッシュテーブルを作成し、ファイルシステム領域に格納されたファイルへアクセス要求があった場合に、当該アクセス要求に対応するファイルとページキャッシュとを特定可能な情報を含むエントリをリードキャッシュテーブルに登録するキャッシュ作成部12(図1に示すファイルサーバ300におけるVFS200における拡張キャッシュ管理部100におけるキャッシュ作成部110に相当。)と、リードキャッシュテーブルに登録された各エントリを参照し、各エントリに対応するページキャッシュを、他のファイルサーバに転送するキャッシュ転送部13(図1に示すファイルサーバ300におけるVFS200における拡張キャッシュ管理部100におけるキャッシュ転送部120に相当。)とを含むストレージシステム。
(1) The
そのような構成によれば、ファイルシステム領域毎、ファイルアクセス毎にキャッシュを管理することができる。 According to such a configuration, the cache can be managed for each file system area and for each file access.
(2)キャッシュ管理部11は、他のファイルサーバからページキャッシュとファイルの識別情報とファイルシステム領域の識別情報とを受信すると、当該ファイルシステム領域に対応するリードキャッシュテーブルを作成し、当該ファイルと当該ページキャッシュとを特定可能な情報を含むエントリを、当該リードキャッシュテーブルに登録するキャッシュコピー部14(図1に示すファイルサーバ300におけるVFS200における拡張キャッシュ管理部100におけるキャッシュコピー部130に相当。)を含み、キャッシュ管理部11は、他のファイルサーバが停止した場合には、キャッシュコピー部14が登録したエントリごとに、ページキャッシュと、当該ページキャッシュに対応するファイルとを関連付ける処理を実行し、当該ページキャッシュを使用可能な状態にするストレージシステム。
(2) Upon receiving the page cache, file identification information, and file system area identification information from another file server, the
そのような構成によれば、他のファイルサーバから受け取ったページキャッシュを利用して、ファイルアクセス要求に応じることができる。従って、例えば、NASの再起動時に、リード用のページキャッシュデータが揮発した場合であっても、その後のファイルアクセスによるディスク負荷を低減することができる。 According to such a configuration, it is possible to respond to a file access request using a page cache received from another file server. Therefore, for example, even when the page cache data for reading is volatilized when the NAS is restarted, the disk load due to subsequent file access can be reduced.
また、上記の実施形態には、以下のようなファイルサーバも開示されている。 Further, the following file server is also disclosed in the above embodiment.
(3)他のファイルサーバと共有するファイルシステム領域に格納されたファイルに対するアクセス要求を受け付けた場合に、当該アクセス要求に対応するページキャッシュを、当該ファイルの識別情報および当該ファイルシステム領域の識別情報とともに他のファイルサーバに転送するキャッシュ管理部11を含み、キャッシュ管理部11は、他のファイルサーバから受信した、ページキャッシュとファイルの識別情報とファイルシステム領域の識別情報とを対応付けて保持し、他のファイルサーバの停止時に、当該ファイルシステム領域に格納された当該ファイルに対するアクセス要求を受け付けた場合には、当該ページキャッシュを使用して応答するファイルサーバ。
(3) When an access request for a file stored in a file system area shared with another file server is received, the page cache corresponding to the access request is displayed with the identification information of the file and the identification information of the file system area. The
そのような構成によれば、ノード間でリードページキャッシュ共有することができる。従って、フェイルオーバ時にファイル共有サービスが別のノードに移ったときに、リードページキャッシュを引き継ぐことが可能となる。つまり、スタンバイノードは、そのリードページキャッシュを、フェイルオーバ直後から利用することができる。従って、フェイルオーバ時のスタンバイノードからのディスクアクセス負荷を低減することができる。 According to such a configuration, the read page cache can be shared between nodes. Therefore, it is possible to take over the read page cache when the file sharing service moves to another node at the time of failover. That is, the standby node can use the read page cache immediately after failover. Therefore, the disk access load from the standby node at the time of failover can be reduced.
(4)キャッシュ管理部11は、他のファイルサーバと共有するファイルシステム領域ごとに、ページキャッシュを管理するためのリードキャッシュテーブルを作成し、ファイルシステム領域に格納されたファイルへアクセス要求があった場合に、当該アクセス要求に対応するファイルとページキャッシュとを特定可能な情報を含むエントリをリードキャッシュテーブルに登録するキャッシュ作成部12と、リードキャッシュテーブルに登録された各エントリを参照し、各エントリに対応するページキャッシュを、他のファイルサーバに転送するキャッシュ転送部13とを含むファイルサーバ。
(4) The
そのような構成によれば、ファイルシステム領域毎、ファイルアクセス毎にキャッシュを管理することができる。 According to such a configuration, the cache can be managed for each file system area and for each file access.
(5)キャッシュ管理部11は、他のファイルサーバからページキャッシュとファイルの識別情報とファイルシステム領域の識別情報とを受信すると、当該ファイルシステム領域に対応するリードキャッシュテーブルを作成し、当該ファイルと当該ページキャッシュとを特定可能な情報を含むエントリを、当該リードキャッシュテーブルに登録するキャッシュコピー部14を含み、キャッシュ管理部11は、他のファイルサーバが停止した場合には、キャッシュコピー部14が登録したエントリごとに、ページキャッシュと、当該ページキャッシュに対応するファイルとを関連付ける処理を実行し、当該ページキャッシュを使用可能な状態にするファイルサーバ。
(5) Upon receiving the page cache, file identification information and file system area identification information from another file server, the
そのような構成によれば、他のファイルサーバから受け取ったページキャッシュを利用して、ファイルアクセス要求に応じることができる。従って、例えば、NASの再起動時に、リード用のページキャッシュデータが揮発した場合であっても、その後のファイルアクセスによるディスク負荷を低減することができる。 According to such a configuration, it is possible to respond to a file access request using a page cache received from another file server. Therefore, for example, even when the page cache data for reading is volatilized when the NAS is restarted, the disk load due to subsequent file access can be reduced.
10−1〜10−n、301、302 ファイルサーバ
11 キャッシュ管理部
100、101 拡張キャッシュ管理部
110、111 キャッシュ作成部
120、121 キャッシュ転送部
130、131 キャッシュコピー部
200、201 VFS
310、311 クラスタ制御機能
320 共有ディスク
321、322 ファイルシステム領域
323 ファイル
330 クライアント
340 ネットワーク
350 クラスタ系間通信機能
360 サーバIPアドレス
10-1 to 10-n, 301, 302
310, 311 Cluster control function 320
Claims (8)
前記ファイルサーバは、
他のファイルサーバと共有するファイルシステム領域に格納されたファイルに対するアクセス要求を受け付けた場合に、当該アクセス要求に対応するページキャッシュを、当該ファイルの識別情報および当該ファイルシステム領域の識別情報とともに前記他のファイルサーバに転送するキャッシュ管理部を含み、
前記キャッシュ管理部は、前記他のファイルサーバから受信した、ページキャッシュとファイルの識別情報とファイルシステム領域の識別情報とを対応付けて保持し、前記他のファイルサーバの停止時に、当該ファイルシステム領域に格納された当該ファイルに対するアクセス要求を受け付けた場合には、当該ページキャッシュを使用して応答する
ことを特徴とするストレージシステム。 With multiple file servers,
The file server is
When an access request for a file stored in a file system area shared with another file server is received, the page cache corresponding to the access request is displayed together with the identification information of the file and the identification information of the file system area. Including a cache management unit that transfers to the file server
The cache management unit holds the page cache, file identification information, and file system area identification information received from the other file server in association with each other, and when the other file server is stopped, the file system area When an access request for the file stored in is received, the storage system responds using the page cache.
他のファイルサーバと共有するファイルシステム領域ごとに、ページキャッシュを管理するためのリードキャッシュテーブルを作成し、ファイルシステム領域に格納されたファイルへアクセス要求があった場合に、当該アクセス要求に対応するファイルとページキャッシュとを特定可能な情報を含むエントリを前記リードキャッシュテーブルに登録するキャッシュ作成部と、
前記リードキャッシュテーブルに登録された各エントリを参照し、各エントリに対応するページキャッシュを、前記他のファイルサーバに転送するキャッシュ転送部とを含む
請求項1に記載のストレージシステム。 The cache management department
Create a read cache table for managing the page cache for each file system area shared with other file servers, and respond to the access request when there is an access request to a file stored in the file system area A cache creation unit that registers an entry including information that can identify a file and a page cache in the read cache table;
The storage system according to claim 1, further comprising: a cache transfer unit that refers to each entry registered in the read cache table and transfers a page cache corresponding to each entry to the other file server.
他のファイルサーバからページキャッシュとファイルの識別情報とファイルシステム領域の識別情報とを受信すると、当該ファイルシステム領域に対応するリードキャッシュテーブルを作成し、当該ファイルと当該ページキャッシュとを特定可能な情報を含むエントリを、当該リードキャッシュテーブルに登録するキャッシュコピー部を含み、
前記キャッシュ管理部は、前記他のファイルサーバが停止した場合には、前記キャッシュコピー部が登録したエントリごとに、ページキャッシュと、当該ページキャッシュに対応するファイルとを関連付ける処理を実行し、当該ページキャッシュを使用可能な状態にする
請求項2に記載のストレージシステム。 The cache management department
When the page cache, file identification information, and file system area identification information are received from another file server, a read cache table corresponding to the file system area is created, and the information that can identify the file and the page cache Including a cache copy unit that registers an entry including
The cache management unit executes a process of associating a page cache with a file corresponding to the page cache for each entry registered by the cache copy unit when the other file server is stopped, The storage system according to claim 2, wherein the cache is made available.
前記キャッシュ管理部は、前記他のファイルサーバから受信した、ページキャッシュとファイルの識別情報とファイルシステム領域の識別情報とを対応付けて保持し、前記他のファイルサーバの停止時に、当該ファイルシステム領域に格納された当該ファイルに対するアクセス要求を受け付けた場合には、当該ページキャッシュを使用して応答する
ことを特徴とするファイルサーバ。 When an access request for a file stored in a file system area shared with another file server is received, the page cache corresponding to the access request is displayed together with the identification information of the file and the identification information of the file system area. Including a cache management unit that transfers to the file server
The cache management unit holds the page cache, file identification information, and file system area identification information received from the other file server in association with each other, and when the other file server is stopped, the file system area A file server that responds by using the page cache when an access request for the file stored in is received.
他のファイルサーバと共有するファイルシステム領域ごとに、ページキャッシュを管理するためのリードキャッシュテーブルを作成し、ファイルシステム領域に格納されたファイルへアクセス要求があった場合に、当該アクセス要求に対応するファイルとページキャッシュとを特定可能な情報を含むエントリを前記リードキャッシュテーブルに登録するキャッシュ作成部と、
前記リードキャッシュテーブルに登録された各エントリを参照し、各エントリに対応するページキャッシュを、前記他のファイルサーバに転送するキャッシュ転送部とを含む
請求項4に記載のファイルサーバ。 The cache management department
Create a read cache table for managing the page cache for each file system area shared with other file servers, and respond to the access request when there is an access request to a file stored in the file system area A cache creation unit that registers an entry including information that can identify a file and a page cache in the read cache table;
The file server according to claim 4, further comprising: a cache transfer unit that refers to each entry registered in the read cache table and transfers a page cache corresponding to each entry to the other file server.
他のファイルサーバからページキャッシュとファイルの識別情報とファイルシステム領域の識別情報とを受信すると、当該ファイルシステム領域に対応するリードキャッシュテーブルを作成し、当該ファイルと当該ページキャッシュとを特定可能な情報を含むエントリを、当該リードキャッシュテーブルに登録するキャッシュコピー部を含み、
前記キャッシュ管理部は、前記他のファイルサーバが停止した場合には、前記キャッシュコピー部が登録したエントリごとに、ページキャッシュと、当該ページキャッシュに対応するファイルとを関連付ける処理を実行し、当該ページキャッシュを使用可能な状態にする
請求項5に記載のファイルサーバ。 The cache management department
When the page cache, file identification information, and file system area identification information are received from another file server, a read cache table corresponding to the file system area is created, and the information that can identify the file and the page cache Including a cache copy unit that registers an entry including
The cache management unit executes a process of associating a page cache with a file corresponding to the page cache for each entry registered by the cache copy unit when the other file server is stopped, The file server according to claim 5, wherein the cache is made available.
前記他のファイルサーバから受信した、ページキャッシュとファイルの識別情報とファイルシステム領域の識別情報とを対応付けて保持し、前記他のファイルサーバの停止時に、当該ファイルシステム領域に格納された当該ファイルに対するアクセス要求を受け付けた場合には、当該ページキャッシュを使用して応答する
ことを特徴とするキャッシュ管理方法。 When an access request for a file stored in a file system area shared with another file server is received, the page cache corresponding to the access request is displayed together with the identification information of the file and the identification information of the file system area. To the file server
The page cache, file identification information, and file system area identification information received from the other file server are stored in association with each other, and the file stored in the file system area when the other file server is stopped. A cache management method characterized by responding using the page cache when an access request is received.
他のファイルサーバと共有するファイルシステム領域に格納されたファイルに対するアクセス要求を受け付けた場合に、当該アクセス要求に対応するページキャッシュを、当該ファイルの識別情報および当該ファイルシステム領域の識別情報とともに前記他のファイルサーバに転送する処理と、
前記他のファイルサーバから受信した、ページキャッシュとファイルの識別情報とファイルシステム領域の識別情報とを対応付けて保持し、前記他のファイルサーバの停止時に、当該ファイルシステム領域に格納された当該ファイルに対するアクセス要求を受け付けた場合には、当該ページキャッシュを使用して応答する処理とを実行させる
ためのキャッシュ管理プログラム。 On the computer,
When an access request for a file stored in a file system area shared with another file server is received, the page cache corresponding to the access request is displayed together with the identification information of the file and the identification information of the file system area. Transfer to the file server of
The page cache, file identification information, and file system area identification information received from the other file server are stored in association with each other, and the file stored in the file system area when the other file server is stopped. A cache management program for executing a response process using the page cache when an access request is received.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013068940A JP6094317B2 (en) | 2013-03-28 | 2013-03-28 | Storage system, file server, cache management method, and cache management program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013068940A JP6094317B2 (en) | 2013-03-28 | 2013-03-28 | Storage system, file server, cache management method, and cache management program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014191754A true JP2014191754A (en) | 2014-10-06 |
JP6094317B2 JP6094317B2 (en) | 2017-03-15 |
Family
ID=51837898
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013068940A Active JP6094317B2 (en) | 2013-03-28 | 2013-03-28 | Storage system, file server, cache management method, and cache management program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6094317B2 (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001092681A (en) * | 1999-09-21 | 2001-04-06 | Toshiba Corp | System for sharing disk and method for sharing disk data |
JP2003256276A (en) * | 2002-02-27 | 2003-09-10 | Nec Corp | Switch device with incorporated cache with inter-switch data transfer function, and control method |
-
2013
- 2013-03-28 JP JP2013068940A patent/JP6094317B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001092681A (en) * | 1999-09-21 | 2001-04-06 | Toshiba Corp | System for sharing disk and method for sharing disk data |
JP2003256276A (en) * | 2002-02-27 | 2003-09-10 | Nec Corp | Switch device with incorporated cache with inter-switch data transfer function, and control method |
Non-Patent Citations (1)
Title |
---|
JPN6017000220; 高橋浩和、三好和人: '図解 Linuxカーネル2.4の設計と実装' Linux Japan 第4巻,第5号,通巻29号, 20010501, pp.139-165, 東京:五橋研究所 * |
Also Published As
Publication number | Publication date |
---|---|
JP6094317B2 (en) | 2017-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10642704B2 (en) | Storage controller failover system | |
US10178168B2 (en) | Read-after-write consistency in data replication | |
US8655851B2 (en) | Method and system for performing a clean file lock recovery during a network filesystem server migration or failover | |
US9830088B2 (en) | Optimized read access to shared data via monitoring of mirroring operations | |
US8484510B2 (en) | Enhanced cluster failover management | |
US9262323B1 (en) | Replication in distributed caching cluster | |
US20140188957A1 (en) | Hierarchical storage system and file management method | |
US11070979B2 (en) | Constructing a scalable storage device, and scaled storage device | |
US10185636B2 (en) | Method and apparatus to virtualize remote copy pair in three data center configuration | |
US20160224437A1 (en) | Efficient Mechanism to Replicate Data for Multiple Controllers | |
US20140059315A1 (en) | Computer system, data management method and data management program | |
US20180069944A1 (en) | Automatic data replica manager in distributed caching and data processing systems | |
EP3648405B1 (en) | System and method to create a highly available quorum for clustered solutions | |
US11409471B2 (en) | Method and apparatus for performing data access management of all flash array server | |
CN105468296A (en) | No-sharing storage management method based on virtualization platform | |
US9454445B2 (en) | Fault tolerant server | |
US11134121B2 (en) | Method and system for recovering data in distributed computing system | |
KR102245309B1 (en) | Method of data storage and operating methode of datacenter cluster caching system | |
US8621260B1 (en) | Site-level sub-cluster dependencies | |
CN117176799A (en) | Fault processing method of distributed system and related equipment | |
JP6094317B2 (en) | Storage system, file server, cache management method, and cache management program | |
CN112131145B (en) | Caching method and device applied to ceph | |
US9971532B2 (en) | GUID partition table based hidden data store system | |
CN113641763A (en) | Distributed time sequence database system, electronic equipment and storage medium | |
WO2016046951A1 (en) | Computer system and file management method therefor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160205 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20161114 |
|
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: 20170117 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170130 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6094317 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |