Presentation is loading. Please wait.

Presentation is loading. Please wait.

Jeff Chheng Jun Du.  Distributed file system  Designed for scalability, security, and high availability  Descendant of version 2 of Andrew File System.

Similar presentations


Presentation on theme: "Jeff Chheng Jun Du.  Distributed file system  Designed for scalability, security, and high availability  Descendant of version 2 of Andrew File System."— Presentation transcript:

1 Jeff Chheng Jun Du

2  Distributed file system  Designed for scalability, security, and high availability  Descendant of version 2 of Andrew File System (AFS), so follows same organization ◦ Virtue  Venus  Vice

3  Virtue (client)  Venus (process)  Vice (file server)

4  Remote procedure calls with RPC2  More reliable than other RPC systems  Supports “side effects” – an application- specific protocol  Multicasting for invalidation: in series vs. in parallel

5  Clients represented by Venus processes  Servers represented by Vice processes  Both processes are organized as a collection of concurrent threads  Threads are non-preemptive

6  Files are grouped into volumes  A volume is like a Unix disk partition, but with smaller granularity  Volumes can be mounted  Naming inherited from server’s name space

7  Files are copied and moved across multiple servers  ID is needed to track file to physical location ◦ Replicated Volume Identifier (RVID) for logical volumes ◦ Volume Identifier (VID) for physical volumes

8  Many DFS (e.g., AFS) support session semantics  Coda attempts to support transactional semantics  Attempts to solve the problem in large DFS where some or all file servers are temporarily unavailable

9  When client opens file, file is transferred to client’s machine  When file is opened for writing, no other clients may open file  When file is opened for reading, others can open for reading or writing

10  Clients always cache entire files  Cache coherence maintained with callbacks  Servers record a callback promise for clients  Updating a file breaks the promise for other clients  Use promise to determine if cache needs updating

11  Volume Storage Group (VSG): collection of servers with copy of volume  Accessible VSG (AVSG): servers in a VSG a client can contact  If AVSG is empty, client is considered disconnected  Client receives from one member in AVSG, updates in parallel to all members

12  What happens when two clients access two different AVSGs for the same file?  Use optimistic strategy for replication  Inconsistency detected and resolved with Coda version vector  Conflict resolution can be automated, but might require user intervention

13  Unlike NFS, client will simply use local copy when disconnected  Closing file when d/c always works  Modifications are transferred to server when connection is reestablished  Mostly automatic, may need intervention  In practice, write-sharing is rare

14  Mutual authentication with secret-key cryptosystem  Setting up a secure channel requires a secret token  Access is granted to disconnected clients

15  Access control associated with directories (but not subdirectories)  Operations under access control: read, write, lookup, insert, delete, and administer  Execution never happens server-side, only client-side, so no permissions for it  Coda maintains info on users and groups ◦ Negative rights possible

16  Client-side (Venus) resource exhaustion ◦ File cache full of modified files ◦ RVM space becomes full  Not entirely scalable yet beyond 20-30 users and a few servers  Limited stability with systems containing terabytes of data

17  Increase cache and RVM size or allow them to be stored in removable media  Compress file cache and RVM contents  Allow users to selectively back out of updates

18


Download ppt "Jeff Chheng Jun Du.  Distributed file system  Designed for scalability, security, and high availability  Descendant of version 2 of Andrew File System."

Similar presentations


Ads by Google