Distributed File Systems
Distributed File Systems
Chapter 10
Considering that sharing data is fundamental to distributed
systems, it is not surprising that distributed file systems
form the basis for many distributed applications.
Distributed file systems allow multiple processes to share data
over long periods of time in a secure and reliable way.
In this chapter we take a detailed look at two different
distributed file systems.
First, the Sun Network File System (NFS), which has huge
installed base and is now gradually expanding to large-scale
Internet-based versions.
Second, Coda, a descendant of the Andrew File System (AFS),
a large scale system that was designed explicitly with
scalability in mind.
SUN NETWORK FILE SYSTEM
NFS was originally developed by Sun for use on its
UNIX-based workstations, but has been
implemented for many other systems as well.
It does not matter how the local file system is
implemented, each NFS server supports same
model.
This approach allows a heterogeneous collection of
processes, possibly running on different operating
systems and machines, to share a common file
system.
Overview of NFS
NFS is comparable to CORBA, which essentially also
exists only in the form of a specification.
Like CORBA, there are various implementations of
NFS, running on different operating systems and
machines.
In this way, JFS can run on a heterogeneous collection
of computers.
The model underlying NFS is that of a remote file
service. In this model, clients are offered transparent
access to a file system that is managed by a remote
server.
In particular, the client is offered only an interface
containing various file operations, but the server is
responsible for implementing those operations. This
model is therefore, also referred to as the remote
access model.
In contrast, in the upload/download model a client
accesses a file locally after having downloaded it
from the server.
When the client is finished with the file, it uploaded
back to the server again so that it can be used by
another client.
NFS Architecture (1)
Readlink Yes Yes Read the path name stored in a symbolic link
Setattr Yes Yes Set one or more attribute values for a file
FS_LOCATIONS Locations in the network where this file system may be found
Session semantics No changes are visible to other processes until the file is closed
(a)
(b)
Dialup Any process accessing the file through a dialup connection to the server
Operation Description
Read Read any file in the directory
Write Modify any file in the directory
Lookup Look up the status of any file
Insert Add a new file to the directory
Delete Delete an existing file
Administer Modify the ACL of the directory
File Description
ctl Used to write protocol-specific control commands
data Used to read and write data
listen Used to accept incoming connection setup requests
local Provides information on the caller's side of the connection
remote Provides information on the other side of the connection
status Provides diagnostic information on the current status of the connection
/sfs/sfs.vu.sc.nl:ag62hty4wior450hdh63u623i4f0kqere/home/steen/mbox
Access control Many operations Directory operations UNIX based UNIX based NFS BASED
A comparison between NFS, Coda, Plan 9, xFS. N/S indicates that nothing has been specified.