Cluster file system

from Wikipedia, the free encyclopedia

The term cluster file system describes a file system that allows competitive access to shared storage in a network of computers .

All computers in the cluster access a cluster file system directly without the intermediary of a server . The file system must be on a storage medium that can be accessed directly from all computers. This is generally achieved by building a SAN based on Fiber Channel or iSCSI . The direct access results in better performance than when using a network file system such as NFS or CIFS . The performance gain is considerable, especially with databases or applications that manipulate large amounts of data ( video ).


If several computers work together in a network, it is generally desirable or even necessary that all have access to a common database. However, this access cannot be uncoordinated, as this would lead to problems.

  1. Two computers, A and B, have a common database that contains the X file.
  2. A now opens file X for writing and writes a value W1 into it.
  3. At the same time, B opens file X and writes a value W2 into it.
  4. Both now write the file back to the storage medium.
  5. Both computers performed legitimate operations, but the question remains which version is finally stored on the medium.

This condition is called inconsistency . The occurrence of inconsistencies must be avoided at all costs to avoid data loss. To achieve this, it is necessary as soon as subscriber A has obtained write access to a file in the shared database, to block all further write access to the same file until subscriber A has given up write access again.

This problem basically also exists within a computer with a multitasking operating system in which the individual processes compete for write access to individual files. Here it is up to the operating system kernel to ensure that two processes are never given write access to the same file at the same time. Since there is no higher-level entity between the computers in a network that naturally has this function, additional measures are required to ensure the consistency of the data. A cluster file system takes over this control task.

Examples of cluster file systems

To ensure the consistency of the data, the administrative data, i. H. Directories, attributes and storage space allocations ( metadata ) are stored in a coordinated manner. For this purpose, a metadata server is usually used, which receives all this data from the various participants in the cluster file system, usually via an Ethernet . This also takes over the coordination of the caches and the file locks . In some cluster file systems, the metadata server can also take on other tasks, in others (CXFS) one or more dedicated metadata servers must be used to increase operational security.

If the servers fail to synchronize due to a malfunction in the network, there is a risk of inconsistencies . Usually, the affected file system will then shut down on all those servers which (including themselves) can only see a maximum of 50% of the total number of servers. Since there can only be a maximum of one group that comprises more than 50% of the servers, only this group remains active; no inconsistencies can arise. It is also said that the quorum is over 50%.

The quorum shows that a file system configured in this way requires at least three servers if high availability is desired. These should then be integrated into separate infrastructures, i.e. three server rooms in different fire compartments , three uninterruptible power supplies , etc.

A cluster file system, which only serves a common database for a large number of servers working in parallel, does not necessarily have to be highly available, but such a server farm will in any case be built up from many more than two computers. The need for more space does not initially arise in such applications.

In contrast to the largely self-sufficient position of the server in a cluster file system, access to files via a network , e.g. B. via Network File System (NFS) on Unix systems, via Netware from Novell or via SMB from Microsoft . Here the disk space “belongs” to a specific server that mediates data access. If it fails, the affected file system is not available.

The third possibility of distributed access to files is to use raw devices . File systems are not used here at all and the application is left to manage the available space on the disk system in question. The application may have to synchronize between the servers and deal with disruptions. Modern operating systems also allow parts of a physical disk system to be used as raw devices, while other parts are reserved for file systems.

See also

Individual evidence

  1. Explanation of the Veritas Cluster File System in the article Veritas File System in the English language Wikipedia