This articleneeds additional citations forverification. Please helpimprove this article byadding citations to reliable sources. Unsourced material may be challenged and removed. Find sources: "Clustered file system" – news ·newspapers ·books ·scholar ·JSTOR(December 2015) (Learn how and when to remove this message) |
Aclustered file system (CFS) is afile system which is shared by being simultaneouslymounted on multipleservers. There are several approaches toclustering, most of which do not employ a clustered file system (onlydirect attached storage for each node). Clustered file systems can provide features like location-independent addressing and redundancy which improve reliability or reduce the complexity of the other parts of the cluster.Parallel file systems are a type of clustered file system that spread data across multiple storage nodes, usually for redundancy or performance.[1]
Ashared-disk file system uses astorage area network (SAN) to allow multiple computers to gain direct disk access at theblock level. Access control and translation from file-level operations that applications use to block-level operations used by the SAN must take place on the client node. The most common type of clustered file system, the shared-disk file system – by adding mechanisms forconcurrency control – provides a consistent andserializable view of the file system, avoiding corruption and unintendeddata loss even when multiple clients try to access the same files at the same time. Shared-disk file-systems commonly employ some sort offencing mechanism to prevent data corruption in case of node failures, because an unfenced device can cause data corruption if it loses communication with its sister nodes and tries to access the same information other nodes are accessing.
The underlying storage area network may use any of a number of block-level protocols, includingSCSI,iSCSI,HyperSCSI,ATA over Ethernet (AoE),Fibre Channel,network block device, andInfiniBand.
There are different architectural approaches to a shared-disk filesystem. Some distribute file information across all the servers in a cluster (fully distributed).[2]
Distributed file systems do not shareblock level access to the same storage but use a networkprotocol.[3][4] These are commonly known as network file systems, even though they are not the only file systems that use the network to send data.[5] Distributed file systems can restrict access to the file system depending onaccess lists orcapabilities on both the servers and the clients, depending on how the protocol is designed.
The difference between a distributed file system and adistributed data store is that a distributed file system allows files to be accessed using the same interfaces and semantics as local files – for example, mounting/unmounting, listing directories, read/write at byte boundaries, system's native permission model. Distributed data stores, by contrast, require using a different API or library and have different semantics (most often those of a database).[6]
Distributed file systems may aim for "transparency" in a number of aspects. That is, they aim to be "invisible" to client programs, which "see" a system which is similar to a local file system. Behind the scenes, the distributed file system handles locating files, transporting data, and potentially providing other features listed below.
TheIncompatible Timesharing System used virtual devices for transparent inter-machine file system access in the 1960s. More file servers were developed in the 1970s. In 1976,Digital Equipment Corporation created theFile Access Listener (FAL), an implementation of theData Access Protocol as part ofDECnet Phase II which became the first widely used network file system. In 1984,Sun Microsystems created the file system called "Network File System" (NFS) which became the first widely usedInternet Protocol based network file system.[4] Other notable network file systems areAndrew File System (AFS),Apple Filing Protocol (AFP),NetWare Core Protocol (NCP), andServer Message Block (SMB) which is also known as Common Internet File System (CIFS).
In 1986,IBM announced client and server support for Distributed Data Management Architecture (DDM) for theSystem/36,System/38, and IBM mainframe computers runningCICS. This was followed by the support forIBM Personal Computer,AS/400, IBM mainframe computers under theMVS andVSE operating systems, andFlexOS. DDM also became the foundation forDistributed Relational Database Architecture, also known as DRDA.
There are manypeer-to-peernetwork protocols for open-sourcedistributed file systems for cloud or closed-source clustered file systems, e. g.:9P,AFS,Coda,CIFS/SMB,DCE/DFS, WekaFS,[7]Lustre, PanFS,[8]Google File System,Mnet,Chord Project.
Network-attached storage (NAS) provides both storage and a file system, like a shared disk file system on top of a storage area network (SAN). NAS typically uses file-based protocols (as opposed to block-based protocols a SAN would use) such asNFS (popular onUNIX systems), SMB/CIFS (Server Message Block/Common Internet File System) (used with MS Windows systems),AFP (used withApple Macintosh computers), orNCP (used withOES andNovell NetWare).
The failure of disk hardware or a given storage node in a cluster can create asingle point of failure that can result indata loss or unavailability.Fault tolerance and high availability can be provided throughdata replication of one sort or another, so that data remains intact and available despite the failure of any single piece of equipment. For examples, see the lists ofdistributed fault-tolerant file systems anddistributed parallel fault-tolerant file systems.
A commonperformancemeasurement of a clustered file system is the amount of time needed to satisfy service requests. In conventional systems, this time consists of a disk-access time and a small amount ofCPU-processing time. But in a clustered file system, a remote access has additional overhead due to the distributed structure. This includes the time to deliver the request to a server, the time to deliver the response to the client, and for each direction, a CPU overhead of running thecommunication protocolsoftware.
Concurrency control becomes an issue when more than one person or client is accessing the same file or block and want to update it. Hence updates to the file from one client should not interfere with access and updates from other clients. This problem is more complex with file systems due to concurrent overlapping writes, where different writers write to overlapping regions of the file concurrently.[9] This problem is usually handled byconcurrency control orlocking which may either be built into the file system or provided by an add-on protocol.
IBM mainframes in the 1970s could share physical disks and file systems if each machine had its own channel connection to the drives' control units. In the 1980s,Digital Equipment Corporation'sTOPS-20 andOpenVMS clusters (VAX/ALPHA/IA64) included shared disk file systems.[10]
NFS was designed to simplify the sharing of filesystem resources in a network of non-homogeneousmachines.
Ultimately, both VMS and TOPS-20 shipped this kind of capability.