1. Technical Field
This invention relates to a method and system to conduct a consistency check on a distributed filesystem. More specifically, the invention relates to conducting the consistency check while filesystem metadata is mounted and available to an end user.
2. Description of the Prior Art
Systems and methods for reviewing the consistency of a filesystem are known in the art. FIG. 1 is a block diagram 10 of a node 12 running a single operating system instance. The node 12 has a native filesystem 14 specific to the hardware and operating system of the node 12, and a filesystem reviewer 16. In addition, the node is in communication with local storage media 18 that includes file and system metadata space. The filesystem reviewer 16 functions to conduct consistency checks on filesystem metadata. The filesystem reviewer 16 is not embedded within server software of the node, and as such is not able to obtain mutual exclusion locks on the filesystem metadata. Accordingly, the prior art filesystem reviewer for a node running a single operating system instance does not have the ability to operate while the metadata of the filesystem is mounted.
Similarly, FIG. 2 is a block diagram 20 of a client/server node 22 in communication with a storage area network 30. The client/server node has a native filesystem 24 specific to the hardware and operating system of the client/server node, and a filesystem reviewer 26. In addition, the client/server node 22 is in communication with the storage area network 30 that includes file data space 32 and filesystem metadata space 34. In opening the contents of an existing file object on the storage media in the storage area network 30, a client contacts the client/server node 22 to obtain metadata and locks. Metadata supplies the client with information about a file, such as its attributes and location on storage devices. Locks supply the client with privileges it needs to open a file and read or write data. The client/server node 22 performs a look-up of metadata information for the requested file within the metadata 34 of the storage area network 30. The client/server node 22 communicates granted lock information and file metadata to the requesting client, including the location of all data blocks making up the file. Once the client holds a distributed lock and knows the data block location(s), the client can access the data for the file directly from a shared storage device in communication with the storage area network 30. In addition, the client/server node 22 includes a native filesystem 24 and a filesystem reviewer 26. The filesystem reviewer 26 functions to conduct consistency checks on the filesystem metadata. However, the filesystem reviewer 26 of the client/server node 22 is not embedded within the server software, and as such is not able to obtain mutual exclusion locks on the filesystem metadata. Accordingly, the prior art filesystem reviewer for a client/server node in communication with a storage area network does not have the ability to operate while the metadata of the filesystem is mounted.
The prior art solutions for performing a consistency check on the filesystem metadata of a single node as shown in FIG. 1 as well as a distributed system with shared persistent data as shown in FIG. 2 conduct an initial check of the known filesystems at boot time. However, there are limitations associated with limiting a consistency check to boot time. For example, the filesystem metadata is dynamic and during operation of the filesystem the metadata is subject to change. Prior art consistency checks are not available for mounted filesystems. A consistency check on unmounted filesystem metadata requires that some resource in the filesystem be unavailable to a client and/or server node while the consistency check is conducted. Accordingly, there is a need for a tool that enables consistency checks and salvage of inconsistent data to be conducted on a mounted filesystem.