Higher Performance through Disk-Level Access
In addition to AFS, Coda, InterMezzo, NFS, and OpenAFS, there is a good number of other distributed filesystems available for Linux, one of which is the Global Filesystem (GFS). GFS is a shared-disk filesystem for clusters of Linux systems. The nodes in a GFS cluster share the same storage devices, accessing those devices at the block-level rather than at the file and directory level. For this reason, GFS requires using low-level disk drivers rather than file-level client and server daemons.
GFS is a 64-bit SAN (Storage Area Network) filesystem with an impressive list of industry sponsors. Discussing SANs in detail is outside the scope of this article, but in a nutshell (Sorry, O'Reilly guys!), SAN devices combine multiple physical devices into larger pools of storage using a high-speed network as a dedicated storage backbone. SAN storage is often confused with its mirror-image acronym, NAS (Network Attached Storage). NAS devices are typically simpler devices that make pools of storage space available on a network using established protocols such as NFS, Samba, or Appletalk.
SAN solutions are a hot topic in the centralized storage and distributed filesystems world because their block-level disk access makes them inherently processor-type and system-independent. All actual disk access is done by the low-level drivers, which simply fetch and store data, and therefore have no assumptions about data types and organization. Though the use of drivers at the actual disk level provides platform independence for the higher-level filesystem, it does require that specific drivers be developed for each different disk drive to maximize performance.
GFS was originally developed as a research effort at the University of Minnesota, and has been commercialized for Linux by Sistina Corporation (http://www.sistina.com). Sistina originally developed GFS as an open source project, and many people were irritated by its decision to close the source and truly commercialize its development. As a result, the OpenGFS project (http://www.opengfs.org) has emerged to continue the development of GFS as a true open source, GPL project. This is a great effort because it opens the GFS source code to scrutiny by thousands of sophisticated developers, in the hopes that the GFS code-base can eventually be merged into the mainline Linux kernel source code. I certainly hope sothis would be a great addition to Linux, and would also facilitate Linux as the basis for many next-generation SAN and Network Attached Storage (NAS) projects.