Distributed File Systems File System Modules Directory File
Distributed File Systems
File System Modules • • • Directory File Module Access Control File access Block Device
File System Operations • • • Open Create Close Read Write Seek Stat Link Unlink
Distributed File System Requirements Transparency – Access – Location – Mobility – Performance – Scaling
Reqmts contd. . Concurrent File Updates – Changes to a file by one client should not interfere with the operations of other clients simultaneously accessing or changing the same file Done by -File Locking -Record Locking
Reqmts cond. . File Replication – Represented by several copies of its contents at different locations Provides - Sharing the load of Multiple Servers - Fault tolerance
Reqmts Contd. . Hardware and OS heterogeneity – Design of Service Interface should be implemented such that client and server software can be implemented for different operating system
Reqmts contd Fault tolerance – Service should continue in the face of client and server failures – Server protocol can be designed with idempotent operations – Stateless servers
Reqmts contd Consistency Unix offer one-copy update Semantics – As if a single copy of the file existed – Propagation delay
Reqmts contd Security • Based on Access Control List • Authenticate Client Requests – Digital Signature – Encryption
Reqmts contd Efficiency A DFS should provide a service that is comparable with or better than, local file systems in performance and reliability
File Service Architecture • Flat file service • Directory service • Client Module
Flat file service • Concerned with implementing operations on the contents of the file • UFID – Unique File Identifier • Each file has a unique UFID • Generates a new UFID when a request to create a file is received
Directory Services • Provides a mapping between text names for files and their UFID’s • Text name DS UFID • Functions – Generate Directories – Add new file to directories – To obtain UFID
Client Module • Integrating the operations of a FFS and DS under a singel interface • Holds info about n/w locations of FFS and DS processes • Caching of recently used file blocks – Increases performance
FFS INTERFACE • • • Read(File. Id, i , n) Write(File. Id, i, n) Create() Delete(File. Id) Get. Attribute(File. Id) Set. Attribute(File. Id)
Properties • Repeatable Operations – Idempotent Operations Except Create • Stateless Servers – can be restarted after failures without any need for client and server to restore any state
Access Control • An access check is made whenever a name is converted to a UFID and results are encoded in the form of a capability which is returned to the client for submission with subsequent request • A user id is submitted with every request and access checks are performed by the server
Directory Service Interface • Lookup(Dir, Name) • Add. Name(Dir, Name, File) • Un. Name(Dir, Name) • Get. Names(Dir, Pattern)
Heirarchical File System • No of directories arranged in tree structure • Files at leaves and directories at other nodes • The root is a directory with a UFID • A function that gets UFID of a file given its pathname • File Attribute – a type field
File Grouping • A collection of files located in a server • Representation of UFID includes a file group identifier component. • File group Identifier should be unique • Generated by concatenating – 32 bit IP address of the host – With a 16 bit integer derived from the date
- Slides: 21