Modern Distributed Filesystems For Linux: An Introduction
Introduction to Distributed Filesystems

Bill von Hagen
Wednesday, August 7, 2002 11:42:51 AM
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.
Next: Administrative Issues in Distributed Filesystems »