【0001】
【発明の属する技術分野】
本発明は、複数のNAS装置が1つのファイルシステムを共有するクラスタシステムにおいてクライアントからのファイルアクセスとファイルアクセス後の障害の発生に伴うフェイルオーバー実施後のデータ保障に関する。
【0002】
【従来の技術】
複数のNAS装置が1つのファイルシステムを共有するクラスタシステムでは、クライアントからファイルアクセスを行った時にファイルシステムのメタデータをサーバ間で共有し、データの整合性を保持している。NAS装置の障害は、NAS装置間で定期的に状態のチェックを行うことで検出している。障害発生によるフェイルオーバー時には、正常なNAS装置が障害の発生したNAS装置のネットワーク情報を引継ぐ事で継続してクライアントからのアクセスを可能にする(非特許文献1、非特許文献2)。
【0003】
【非特許文献1】
“クラスタ構成フェイルオーバーによる高可用性ソリューション”、〔online〕、ネットワークアプライアンス(Network Appliance)、〔2003年2月12日検索〕、インターネット<URL:http://www−jp.netapp.com/products/filer/clustered.html>
【非特許文献2】
“Linuxクラスタリングへの招待”、〔online〕、アットマーク・アイティ、〔2003年2月12日検索〕、インターネット<URL:http://www.atmarkit.co.jp/flinux/rensai/cluster02/cluster02.html>
【0004】
【発明が解決しようとする課題】
従来技術では、クライアントからNAS装置に対してファイルへの書込みを行い、そのデータをNAS装置上のメモリにキャッシュした場合、ファイルに対するメタデータの更新のみ行われる。その結果、NAS装置に障害が発生するとデータは失われる為、フェイルオーバー後に再度クライアントから同じファイルに対してデータの書込みが必要になる。
【0005】
また、NAS装置の状態を定期的にチェックし障害を検出する必要があり、そのための処理を実施しているため、NAS装置で発生した障害の検出に時間がかかりクライアントでの処理が停止する可能性が生じる。
【0006】
本発明の目的は、NAS装置間で実施するフェイルオーバー時間を低減すると同時にデータをNAS装置間で共有する、また、クライアント上で実施する処理への影響を低減させることで高速かつ影響の少ないフェイルオーバー処理を実現するものである。
【0007】
【課題を解決するための手段】
上記目的を達成するためにクライアントとNAS装置とのファイルのアクセスにDAFSプロトコルを使用し、クライアントからのデータをNAS装置上にキャッシュする際にNAS装置間で共有するためのNAS装置間キャッシュ一元化機構を有する。
【0008】
【発明の実施の形態】
図1は、本発明を適用したNASサーバの実施形態を示した図である。以下、xは任意の整数を表す。
【0009】
NASサーバ1は、DAFSサーバ10、ファイルシステム20及びDAFSサーバキャッシュ一元化機構100を有する。DAFSサーバ10はDAFSクライアントとDAFSプロトコルで接続されるプロトコルインタフェースである。ファイルシステム20はファイルをHDD上で管理するシステムである。DAFSサーバキャッシュ一元化機構100は、DAFSサーバ10が受領したデータなどをNASサーバ1間で共有する仕組みを有する。
【0010】
図2はキャッシュ一元化機構をVIアーキテクチャ200で関連付けた図である。NASサーバ1のメモリ30をVIアーキテクチャ200で関連付けデータを一元化する。データを受領したDAFSサーバ10はVIアーキテクチャ200によってマッピングされているDAFSサーバ10のメモリ30にデータをコピーする。
【0011】
図3はキャッシュ一元化方式をメモリ二重書きシステム300で実施した図である。データを受領したDAFSサーバ10はメモリ二重書きシステム300にデータ転送要求する事で両方のDAFSサーバ10のメモリ30にデータを転送する。
【0012】
図4はNASサーバ1間で共有メモリ400を実装した図である。共有メモリ400のあるエリアを両方のNASサーバ1で仮想メモリとして割り当て、データを受領する事で一元化を行う。
【0013】
図5はNASサーバ1間での管理情報を示した図である。MHには各NASサーバ1でのアドレス空間の識別子を示し、Validは有効/無効を示す。Validが有効の場合、メモリ30上にデータが存在する。
【0014】
図6はNASサーバ1間でのデータを共有する為のデータ書込み処理1001のシーケンスである。クライアントがデータを書込む為にNASサーバ1に書込み要求を実施するとNASサーバ1はそれを受信する為にクライアントから書込み要求1002を行う。クライアントから実際にデータが送信されるとNASサーバ1は、自NASサーバ1にデータを書込む為にメモリ書込み処理1003を行う。自NASサーバ1に書込まれたデータを共有するNASサーバ1にデータを送信する為に共有メモリデータ送信処理1004を行う。共有メモリをもつNASサーバ1からの完了を受領する為に完了報告受信1005を行う。完了報告を受けたNASサーバ1はクライアントにデータの書き込み要求の完了を報告する為にクライアントへ完了報告1006を行う。本来、受領したデータを受けたNASサーバ上に書込みが完了した時点でクライアントに報告する為、データを複数のNASサーバ間で共有できなかった事が可能にする点が従来方式と異なる点である。
【0015】
【発明の効果】
本発明によれば、クライアントからのデータをHDDに反映する前にDAFS装置が障害でダウンしてもフェイルオーバー実施後アプリケーションは異常を検出でずにデータの整合性を保障できる。
【図面の簡単な説明】
【図1】本発明を適用したシステムの実施形態の構成を示す図である。
【図2】本実施形態におけるVIアーキテクチャを使用した場合の構成を示す図である。
【図3】本実施形態におけるメモリ二重書きシステムを使用した場合の構成を示す図である。
【図4】本実施形態における共有メモリを使用した場合の構成を示す図である。
【図5】NAS装置間で共通して持つ情報を示す図である。
【図6】クライアントからデータを書込みした場合のNAS装置間で共有する処理を示したものである。
【符号の説明】
1…NASサーバ。[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to file access from a client in a cluster system in which a plurality of NAS devices share one file system, and data security after a failover is performed due to occurrence of a failure after the file access.
[0002]
[Prior art]
In a cluster system in which a plurality of NAS devices share one file system, metadata of the file system is shared between servers when a file is accessed from a client, thereby maintaining data consistency. The failure of the NAS device is detected by periodically checking the status between the NAS devices. At the time of failover due to a failure, a normal NAS device takes over the network information of the failed NAS device to enable continuous access from a client (Non-Patent Documents 1 and 2).
[0003]
[Non-patent document 1]
"High Availability Solution by Cluster Configuration Failover", [online], Network Appliance, [Retrieved February 12, 2003], Internet <URL: http: // www-jp. netapp. com / products / filer / clustered. html>
[Non-patent document 2]
"Invitation to Linux Clustering", [online], Atmark IT, [searched February 12, 2003], Internet <URL: http: // www. atmarkit. co. jp / linux / rensai / cluster02 / cluster02. html>
[0004]
[Problems to be solved by the invention]
In the related art, when a client writes a file to a NAS device and caches the data in a memory on the NAS device, only the metadata of the file is updated. As a result, if a failure occurs in the NAS device, the data is lost. Therefore, after the failover, the client needs to write the data to the same file again.
[0005]
In addition, it is necessary to periodically check the status of the NAS device to detect a failure, and since processing for that is performed, it takes time to detect a failure that has occurred in the NAS device, and processing on the client may stop. Nature occurs.
[0006]
An object of the present invention is to reduce the failover time performed between NAS devices and at the same time to share data between the NAS devices, and to reduce the effect on processing performed on the client, thereby achieving a high-speed and less-failed failure. This is to realize over processing.
[0007]
[Means for Solving the Problems]
In order to achieve the above object, a cache unification mechanism between NAS devices for sharing files between NAS devices when using a DAFS protocol for accessing files between the client and the NAS device and caching data from the client on the NAS device. Having.
[0008]
BEST MODE FOR CARRYING OUT THE INVENTION
FIG. 1 is a diagram showing an embodiment of a NAS server to which the present invention is applied. Hereinafter, x represents an arbitrary integer.
[0009]
The NAS server 1 includes a DAFS server 10, a file system 20, and a DAFS server cache unification mechanism 100. The DAFS server 10 is a protocol interface connected to a DAFS client by the DAFS protocol. The file system 20 is a system for managing files on the HDD. The DAFS server cache unification mechanism 100 has a mechanism for sharing data and the like received by the DAFS server 10 between the NAS servers 1.
[0010]
FIG. 2 is a diagram in which the cache unification mechanism is associated with the VI architecture 200. The association data of the memory 30 of the NAS server 1 is unified by the VI architecture 200. The DAFS server 10 receiving the data copies the data to the memory 30 of the DAFS server 10 mapped by the VI architecture 200.
[0011]
FIG. 3 is a diagram in which the unified cache system is implemented in the memory dual writing system 300. The DAFS server 10 that has received the data transfers the data to the memory 30 of both DAFS servers 10 by requesting the dual memory writing system 300 to transfer the data.
[0012]
FIG. 4 is a diagram in which the shared memory 400 is mounted between the NAS servers 1. A certain area of the shared memory 400 is allocated as a virtual memory by both NAS servers 1, and the data is received so that the area is unified.
[0013]
FIG. 5 is a diagram showing management information between the NAS servers 1. MH indicates an identifier of an address space in each NAS server 1, and Valid indicates valid / invalid. When Valid is valid, data exists on the memory 30.
[0014]
FIG. 6 shows a sequence of a data writing process 1001 for sharing data between the NAS servers 1. When a client issues a write request to the NAS server 1 to write data, the NAS server 1 issues a write request 1002 from the client to receive it. When data is actually transmitted from the client, the NAS server 1 performs a memory write process 1003 to write data to the NAS server 1. A shared memory data transmission process 1004 is performed to transmit data written to the NAS server 1 to the NAS server 1 that shares the data. A completion report reception 1005 is performed to receive the completion from the NAS server 1 having the shared memory. The NAS server 1 that has received the completion report sends a completion report 1006 to the client to report the completion of the data write request to the client. The difference from the conventional method is that data is not shared among a plurality of NAS servers because the received data is reported to the client when writing is completed on the NAS server that received the data. .
[0015]
【The invention's effect】
According to the present invention, even if the DAFS device goes down due to a failure before the data from the client is reflected on the HDD, the application can detect the abnormality after the execution of the failover without fail detection and can guarantee data consistency.
[Brief description of the drawings]
FIG. 1 is a diagram showing a configuration of an embodiment of a system to which the present invention is applied.
FIG. 2 is a diagram illustrating a configuration when a VI architecture according to the present embodiment is used.
FIG. 3 is a diagram illustrating a configuration when a dual memory writing system according to the embodiment is used;
FIG. 4 is a diagram illustrating a configuration when a shared memory according to the present embodiment is used.
FIG. 5 is a diagram showing information shared by NAS devices.
FIG. 6 shows processing to be shared between NAS devices when data is written from a client.
[Explanation of symbols]
1. NAS server.