1 / 53

Distributed File Systems

This chapter delves into the architecture of NFS, covering the remote access model, advantages, file system model, communication protocols, naming conventions, automounting, file attributes, file sharing semantics, file locking, client caching, RPC failures, security considerations, and an overview of the Coda file system.

rhightower
Download Presentation

Distributed File Systems

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Distributed File Systems Chapter 10

  2. NFS Architecture (1) • The remote access model. • The upload/download model • Advantages or disadvantages?

  3. NFS Architecture (2) • The basic NFS architecture for UNIX systems. • VFS: hides differences between various (distributed) file systems • Advantages of this architecture?

  4. File System Model • File Name • File Handle • File Name  file handle  all operations on the file

  5. File System Model • An incomplete list of file system operations supported by NFS.

  6. Communication • Reading data from a file in NFS version 3. • Reading data using a compound procedure in version 4. No transactional semantics • Why compound procedures?

  7. NFS Server:Stateless or Stateful • V2, V3: stateless • Simple, but if we need to implement lock mechanism? • V4: stateful • Performance issue in wide-area NFS systems • Caches at client-side: Cache consistency • Lease?

  8. Naming (1) • Mounting (part of) a remote file system in NFS.Drawback?

  9. Naming (2) • Mounting nested directories from multiple servers in NFS. • Why the client need to import the directory from Sever B explicitly?

  10. Naming Resolution • V3: iterative – look up a single file name each step • V4: Support recursive – look up the full name • Example: /bin/draw/install • V3: 3 separate name lookups • V4: one

  11. File Handles • V4: 128bytes • Unique • Persistent in the file’s lifetime • Could not be reused after file deletion • All file operations need the file handle • Q1:Why persistent file handle? • Q2: Why could not be reuse after deletion?

  12. Automounting • When should a remote file system be mounted? • During user login time • Mount other uses on-demand • On-demand mounting of a remote file system is handled in NFS by an automounter, that runs as a separate process on the client’s machine (user-level NFS server)

  13. Automounting (1) • A simple automounter for NFS.

  14. Automounting (2) • Using symbolic links with automounting.

  15. File Attributes (1) • Some general mandatory file attributes in NFS.

  16. File Attributes (2) • Some general recommended file attributes.

  17. Semantics of File Sharing (1) • On a single processor, when a read follows a write, the value returned by the read is the value just written. • In a distributed system with caching, obsolete values may be returned.

  18. Semantics of File Sharing (2) • Four ways of dealing with the shared files in a distributed system.

  19. File Locking in NFS (1) • NFS version 4 operations related to file locking.

  20. File Locking in NFS (2) Requestaccess Currentaccessstate • The result of an open operation with share reservations in NFS. • When the client requests shared access given the current denial state. • When the client requests a denial state given the current file access state.

  21. Client Caching (1) • Client-side caching in NFS. • Session Semantics

  22. Open Delegation • Using the NFS version 4 callback mechanism to recall file delegation. • With open Delegation, the client handles open/close operations from other clients on the same machine. •  Stateful server?

  23. RPC Failures • Three situations for handling retransmissions. • The request is still in progress • The reply has just been returned • The reply has been some time ago, but was lost.

  24. File Locking in face of Failures • Why need add lease to a lock? • If a server crashes, recovery needs a grace period • It allows clients to reclaim locks granted previously • It denies new request for locks • Lease problem: synchronized clocks

  25. Security • The NFS security architecture.

  26. Secure RPCs • Secure RPC in NFS version 4. • User authentication/server authentication

  27. Access Control • The classification of operations recognized by NFS with respect to access control.

  28. The Coda File System • The various kinds of users and processes distinguished by NFS with respect to access control.

  29. Overview of Coda (1) • The overall organization of AFS.

  30. Overview of Coda (2) • The internal organization of a Virtue workstation.

  31. Communication (1) • Side effects in Coda's RPC2 system.

  32. Communication (2) • Sending an invalidation message one at a time. • Sending invalidation messages in parallel.

  33. Naming • Clients in Coda have access to a single shared name space.

  34. File Identifiers • The implementation and resolution of a Coda file identifier.

  35. Sharing Files in Coda • The transactional behavior in sharing files in Coda.

  36. Transactional Semantics • The metadata read and modified for a store session type in Coda.

  37. Client Caching • The use of local copies when opening a session in Coda.

  38. Server Replication • Two clients with different AVSG for the same replicated file.

  39. Disconnected Operation • The state-transition diagram of a Coda client with respect to a volume.

  40. Secure Channels (1) • Mutual authentication in RPC2.

  41. Secure Channels (2) • Setting up a secure channel between a (Venus) client and a Vice server in Coda.

  42. Access Control • Classification of file and directory operations recognized by Coda with respect to access control.

  43. Plan 9: Resources Unified to Files • General organization of Plan 9

  44. Communication • Files associated with a single TCP connection in Plan 9.

  45. Processes • The Plan 9 file server.

  46. Naming • A union directory in Plan 9.

  47. Overview of xFS. • A typical distribution of xFS processes across multiple machines.

  48. Processes (1) • The principle of log-based striping in xFS.

  49. Processes (2) • Reading a block of data in xFS.

  50. Naming • Main data structures used in xFS.

More Related