February 17, 2019

Modern Distributed Filesystems For Linux: An Introduction - page 2

What Are Distributed Filesystems?

  • August 7, 2002
  • By Bill von Hagen

Today's preferred term for networked filesystems is "distributed filesystems." This term reflects the fact that these many of these filesystems do much more than simply export data over a network. The storage media associated with these filesystems do not need to be located on a single system, but can literally be distributed across many different computers.

Distributed filesystems such as OpenAFS and Coda include their own volume management mechanisms that simplify shared storage management. They also support replication, which is the ability to make copies of exported volumes and store those copies on other file servers. If one file server becomes unavailable, the data stored in its volumes can still be accessed from from available replicas of that volume.

A primary difference between the types of directory and disk sharing offered by personal computer operating systems (Windows and the original Mac OS) and Unix-like multi-user operating systems such as Linux and Mac OS X is how these operating systems use and organize disks and partitions. Windows and the original Mac OS export disk partitions as separate drive letters or drives--remote systems that want to access shared devices must mount them individually.

When the highest level of organization possible in a filesystem is a disk partition, as it is in Windows filesystems, client workstations who want to access this data over the network map local drive letters to these shared partitions. Shared drive mappings are usually done in Windows user and group profiles in an attempt to standardize them. Unfortunately, the letters to which these shared partiitons are mapped is not guaranteed to be the same across multiple computers systems because of the way that drive letters are assigned. Local disks and partitions always take precedence, and any system with a large number of local devices may require different drive mappings than less complex workstations.

In contrast, the Unix filesystem is a hierarchical filesystem to which additional storage is added by mounting it on an existing directory in the filesystem. This effectively enables you to add storage to any existing filesystem. If you mount a new partition on a directory that is being exported as part of a distributed filesystem, that new storage instantly and transparently becomes available to clients of that distributed filesystem.

Distributed filesystems such as OpenAFS and Coda that provide volume management services take this a step further by enabling you to mount volumes from different file servers into a central directory hierarchy that is supported by the filesystem. OpenAFS uses a central directory called /afs, while Coda uses /coda. These directory hierarchies are visible to all clients of these distributed filesystems, and look exactly the same from any client workstation. This enables users to access their data files in exactly the same way from any client computer. If the machine on your desk fails, you can just use another--your files are still intact and safe on the file server.

Distributed filesystems that provide the same data to many different computer systems enable users to use the type of desktop machine that best suits their needs while still having access to a centralized filesystem. Macintosh users can take advantage of the superior graphics tools available under the Mac OS while transparently saving their files to centralized file servers. Windows users can have access to a robust wide-area filesystem while still being able to play Minesweeper. Distributed filesystems are especially attractive when trying to coordinate work between groups located in different cities, states, or even countries. Shared data is always available over the network, regardless of your location.

Most Popular LinuxPlanet Stories