10 Distributed File Systems
10 Distributed File Systems
Chapter 10
(version 27th November 2001)
01 Introduction
02 Communication
03 Processes
04 Naming
05 Synchronization
06 Consistency and Replication
07 Fault Tolerance
08 Security
09 Distributed Object-Based Systems
10 Distributed File Systems
11 Distributed Document-Based Systems
12 Distributed Coordination-Based Systems
00 – 1 /
Distributed File Systems
Sun NFS
Coda
Old file
New file
Requests from
client to access File stays 2. Accesses are
3. When client is done,
remote file on server done on client
file is returned to
server
(a) (b)
Client Server
Network
Open file
READ
Read file data
Read file data
Time Time
(a) (b)
vu steen me
Exported directory
contains imported
subdirectory
Client Server A Server B
bin packages
Client
imports
directory
draw from draw
server A Server A
imports
directory
install install from install
server B
Network
Client needs to
explicitly import
subdirectory from
server B
1. Lookup "/home/alice"
users
3. Mount request
NFS client Automounter
alice
2. Create subdir "alice"
home
alice
Client machine #1
a b
Process
A
a b c
File server
Original file
Single machine a b
a b
Process
A 3. Read gets "ab"
a b c
Client machine #2
Process
a b
B
Process
B
1. Write "c" 2. Read gets "abc"
(a) (b)
UNIX semantics: a operation returns the effect
of the last operation can only be imple-
mented for remote access models in which there
is only a single copy of the file
Updated file
4. Client sends returns file
XID = 1234
process
request
XID = 1234 reply is lost
Cache Cache Cache
reply
XID = 1234
Time Time Time
RPCSEC_GSS RPCSEC_GSS
GSS-API GSS-API
Kerberos
Kerberos
LIPKEY
LIPKEY
Other
Other
Network
Transparent access
to a Vice file server
Virtue
client
Vice file
server
RPC client
stub
Local file
Virtual file system layer
system interface
Local OS
Network
Client
Server
application
Application-specific
RPC Client protocol Server
side effect side effect
Client Client
Server Server
Client Client
Time Time
(a) (b)
bin pkg
Volume
replication DB RVID File handle
File server
VID1,
VID2
Server File handle
Server1
Session S A
Client
Close
Open(WR) File f
Client
Time
Session S B
Session S A Session SA
Client A
Open(RD) Close Close
Open(RD)
Invalidate
Server File f (callback break) File f
Open(WR)
Open(WR) Close Close
Client B
Time
Session S B Session S B
Server Server
S1 S3
1
ST, K S (RA )
2
K S (RA +1, R B )
Alice
Bob
3
K S (RB +1)
4
K S (K S2 )