Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Comparisons
Pei Cao
Cisco Systems, Inc.
Outline
Why Distributed File System
Basic mechanisms to build DFS
Using NFSv2 as an example
SAN
Access Methods
File access
Access Medium
Ethernet
Transport Protocol
Efficiency
Less
More
Good
Poor
Integrity demands
Strong
Very strong
Clients
Workstations
Database servers
Components in a DFS
Implementation
Client side:
What has to happen to enable applications access a
remote file in the same way as accessing a local file
Communication layer:
Just TCP/IP or some protocol at higher abstraction
Server side:
How does it service requests from the client
struct file
Mode
Vnode
offset
process
file table
struct vnode
V_data
fs_op
{int (*open)();
int (*close)();
int (*read)();
int (*write)();
int (*lookup)();
RPC reply
xid
call
service
version
procedure
auth-info
arguments
xid
reply
reply_stat
auth-info
results
Proc.
Input args
Results
lookup
dirfh, name
read
create
write
NFS Operations
V2:
V3: add
READDIRPLUS, COMMIT
FSSTAT, FSINFO, PATHCONF
Server machine:
rpc server interface nfs server code
ufs_vops -> ufs code -> disks
Topic 1: Name-Space
Construction and Organization
NFS: per-client linkage
Server: export /root/fs1/
Client: mount server:/root/fs1 /fs1 fhandle
Implications on Location
Transparency
NFS: no transparency
If a directory is moved from one server to another,
client must remount
AFS: transparency
If a volume is moved from one server to another, only
the volume location database on the servers needs to be
updated
Implementation of volume migration
File lookup efficiency
23
6 7
5
file server
s
f
ticket server
ss
e
c
ac
T
o
generates
S
t
d
e
e
]
N
S
K[
file server
[
t
fs S
n
e
K cli
client
S: specific to {client,fs} pair;
short-term session-key; has expiration time (e.g. 8 hours);
Kerberos Interactions
1.
client
KDC
Need to access fs
ticket server
T
Kclient[S], ticket = Kfs[ use S for client] generates S
2.
client
S{time}
file server
Operator Batching
Should each client/server interaction
accomplish one file system operation or
multiple operations?
Advantage of batched operations
How to define batched operations
NFS v4:
Compound RPC calls
CIFS:
AND-X requests
Summary
Functionalities of DFS
Implementation of DFS
Client side: Vnode
Communication: RPC or TCP/UDP
Server side: server daemons