Distributed File Systems

Slides:



Advertisements
Similar presentations
DISTRIBUTED FILE SYSTEMS Computer Engineering Department Distributed Systems Course Asst. Prof. Dr. Ahmet Sayar Kocaeli University - Fall 2013.
Advertisements

Serverless Network File Systems. Network File Systems Allow sharing among independent file systems in a transparent manner Mounting a remote directory.
Computer Science Lecture 20, page 1 CS677: Distributed OS Today: Coda, xFS Case Study: Coda File System Brief overview of other recent file systems –xFS.
1 Network File System (NFS) a)The remote access model. b)The upload/download model.
Computer Science Lecture 20, page 1 CS677: Distributed OS Today: Distributed File Systems Issues in distributed file systems Sun’s Network File System.
1 CS 194: Distributed Systems Other Distributed File Systems Scott Shenker and Ion Stoica Computer Science Division Department of Electrical Engineering.
Distributed File Systems Chapter 11
Coda file system: Disconnected operation By Wallis Chau May 7, 2003.
Computer Science Lecture 18, page 1 CS677: Distributed OS Last Class: Fault tolerance Reliable communication –One-one communication –One-many communication.
Other File Systems: LFS and NFS. 2 Log-Structured File Systems The trend: CPUs are faster, RAM & caches are bigger –So, a lot of reads do not require.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Other File Systems: AFS, Napster. 2 Recap NFS: –Server exposes one or more directories Client accesses them by mounting the directories –Stateless server.
Computer Science Lecture 21, page 1 CS677: Distributed OS Today: Coda, xFS Case Study: Coda File System Brief overview of other recent file systems –xFS.
1 CS 194: Distributed Systems Distributed File Systems Scott Shenker and Ion Stoica Computer Science Division Department of Electrical Engineering and.
6/24/2015B.RamamurthyPage 1 File System B. Ramamurthy.
Jeff Chheng Jun Du.  Distributed file system  Designed for scalability, security, and high availability  Descendant of version 2 of Andrew File System.
7/15/2015B.RamamurthyPage 1 File System B. Ramamurthy.
Case Study - GFS.
Sun NFS Distributed File System Presentation by Jeff Graham and David Larsen.
Distributed File Systems Concepts & Overview. Goals and Criteria Goal: present to a user a coherent, efficient, and manageable system for long-term data.
Distributed Systems Principles and Paradigms Chapter 10 Distributed File Systems 01 Introduction 02 Communication 03 Processes 04 Naming 05 Synchronization.
Distributed Systems. Interprocess Communication (IPC) Processes are either independent or cooperating – Threads provide a gray area – Cooperating processes.
Chapter 20 Distributed File Systems Copyright © 2008.
What is a Distributed File System?? Allows transparent access to remote files over a network. Examples: Network File System (NFS) by Sun Microsystems.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED.
Chapter 10: File-System Interface Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 1, 2005 Chapter 10: File-System.
File Management Chapter 12. File Management File management system is considered part of the operating system Input to applications is by means of a file.
Serverless Network File Systems Overview by Joseph Thompson.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Presented By: Samreen Tahir Coda is a network file system and a descendent of the Andrew File System 2. It was designed to be: Highly Highly secure Available.
Computer Science Lecture 19, page 1 CS677: Distributed OS Last Class: Fault tolerance Reliable communication –One-one communication –One-many communication.
EE324 INTRO TO DISTRIBUTED SYSTEMS. Distributed File System  What is a file system?
Distributed File Systems Group A5 Amit Sharma Dhaval Sanghvi Ali Abbas.
Distributed File Systems Questions answered in this lecture: Why are distributed file systems useful? What is difficult about distributed file systems?
Synchronization in Distributed File Systems Advanced Operating System Zhuoli Lin Professor Zhang.
Computer Science Lecture 19, page 1 CS677: Distributed OS Last class: Distributed File Systems Issues in distributed file systems Sun’s Network File System.
THE EVOLUTION OF CODA M. Satyanarayanan Carnegie-Mellon University.
Chapter Five Distributed file systems. 2 Contents Distributed file system design Distributed file system implementation Trends in distributed file systems.
Distributed Systems: Distributed File Systems Ghada Ahmed, PhD. Assistant Prof., Computer Science Dept. Web:
Distributed File Systems Sun Network File Systems Andrew Fıle System CODA File System Plan 9 xFS SFS Hadoop.
Computer Science Lecture 20, page 1 CS677: Distributed OS Today: Distributed File Systems Issues in distributed file systems Sun’s Network File System.
Computer Science Lecture 19, page 1 CS677: Distributed OS Last Class: Fault tolerance Reliable communication –One-one communication –One-many communication.
Distributed File Systems
Distributed File Systems
Andrew File System (AFS)
File System Implementation
Nache: Design and Implementation of a Caching Proxy for NFSv4
Synchronization in Distributed File System
File Sharing Sharing of files on multi-user systems is desirable
NFS and AFS Adapted from slides by Ed Lazowska, Hank Levy, Andrea and Remzi Arpaci-Dussea, Michael Swift.
Distributed Systems CS
Distributed Systems CS
Outline Distributed File Systems – continued 11/27/2018 COP5611.
File System B. Ramamurthy B.Ramamurthy 11/27/2018.
Ch. 7 Distributed File Systems
Today: Coda, xFS Case Study: Coda File System
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
Directory Structure A collection of nodes containing information about all files Directory Files F 1 F 2 F 3 F 4 F n Both the directory structure and the.
Distributed File Systems
DISTRIBUTED FILE SYSTEMS
Distributed File Systems
Distributed File Systems
Chapter 15: File System Internals
Today: Distributed File Systems
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
Outline Review of Quiz #1 Distributed File Systems 4/20/2019 COP5611.
Distributed File Systems
Distributed File Systems
Presentation transcript:

Distributed File Systems Chapter 10

NFS Architecture (1) The remote access model. The upload/download model

The basic NFS architecture for UNIX systems.

An incomplete list of file system operations supported by NFS. File System Model Operation v3 v4 Description Create Yes No Create a regular file Create a nonregular file Link Create a hard link to a file Symlink Create a symbolic link to a file Mkdir Create a subdirectory in a given directory Mknod Create a special file Rename Change the name of a file Rmdir Remove an empty subdirectory from a directory Open Open a file Close Close a file Lookup Look up a file by means of a file name Readdir Read the entries in a directory Readlink Read the path name stored in a symbolic link Getattr Read the attribute values for a file Setattr Set one or more attribute values for a file Read Read the data contained in a file Write Write data to a file An incomplete list of file system operations supported by NFS.

Communication Reading data from a file in NFS version 3. Reading data using a compound procedure in version 4.

Mounting (part of) a remote file system in NFS. Naming (1) Mounting (part of) a remote file system in NFS.

Mounting nested directories from multiple servers in NFS. Naming (2) Mounting nested directories from multiple servers in NFS.

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

Using symbolic links with automounting.

Some general mandatory file attributes in NFS. Description TYPE The type of the file (regular, directory, symbolic link) SIZE The length of the file in bytes CHANGE Indicator for a client to see if and/or when the file has changed FSID Server-unique identifier of the file's file system Some general mandatory file attributes in NFS.

Some general recommended file attributes. Description ACL an access control list associated with the file FILEHANDLE The server-provided file handle of this file FILEID A file-system unique identifier for this file FS_LOCATIONS Locations in the network where this file system may be found OWNER The character-string name of the file's owner TIME_ACCESS Time when the file data were last accessed TIME_MODIFY Time when the file data were last modified TIME_CREATE Time when the file was created Some general recommended file attributes.

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.

Semantics of File Sharing (2) Method Comment UNIX semantics Every operation on a file is instantly visible to all processes Session semantics No changes are visible to other processes until the file is closed Immutable files No updates are possible; simplifies sharing and replication Transaction All changes occur atomically Four ways of dealing with the shared files in a distributed system.

NFS version 4 operations related to file locking. File Locking in NFS (1) Operation Description Lock Creates a lock for a range of bytes Lockt Test whether a conflicting lock has been granted Locku Remove a lock from a range of bytes Renew Renew the leas on a specified lock NFS version 4 operations related to file locking.

Current file denial state Requested file denial state File Locking in NFS (2) Current file denial state NONE READ WRITE BOTH Succeed Fail (a) Requested file denial state (b) Request access Current access state 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.

Client-side caching in NFS. Client Caching (1) Client-side caching in NFS.

Using the NFS version 4 callback mechanism to recall file delegation. Client Caching (2) Using the NFS version 4 callback mechanism to recall file delegation.

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.

The NFS security architecture.

Secure RPC in NFS version 4. Secure RPCs Secure RPC in NFS version 4.

Access Control Operation Description Read_data Permission to read the data contained in a file Write_data Permission to to modify a file's data Append_data Permission to to append data to a file Execute Permission to to execute a file List_directory Permission to to list the contents of a directory Add_file Permission to to add a new file t5o a directory Add_subdirectory Permission to to create a subdirectory to a directory Delete Permission to to delete a file Delete_child Permission to to delete a file or directory within a directory Read_acl Permission to to read the ACL Write_acl Permission to to write the ACL Read_attributes The ability to read the other basic attributes of a file Write_attributes Permission to to change the other basic attributes of a file Read_named_attrs Permission to to read the named attributes of a file Write_named_attrs Permission to to write the named attributes of a file Write_owner Permission to to change the owner Synchronize Permission to to access a file locally at the server with synchronous reads and writes The classification of operations recognized by NFS with respect to access control.

The Coda File System Type of user Description Owner The owner of a file Group The group of users associated with a file Everyone Any user of a process Interactive Any process accessing the file from an interactive terminal Network Any process accessing the file via the network Dialup Any process accessing the file through a dialup connection to the server Batch Any process accessing the file as part of a batch job Anonymous Anyone accessing the file without authentication Authenticated Any authenticated user of a process Service Any system-defined service process The various kinds of users and processes distinguished by NFS with respect to access control.

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

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

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

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

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

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

The transactional behavior in sharing files in Coda.

Transactional Semantics File-associated data Read? Modified? File identifier Yes No Access rights Last modification time File length File contents The metadata read and modified for a store session type in Coda.

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

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

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

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

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

Access Control Operation Description Read Read any file in the directory Write Modify any file in the directory Lookup Look up the status of any file Insert Add a new file to the directory Delete Delete an existing file Administer Modify the ACL of the directory Classification of file and directory operations recognized by Coda with respect to access control.

Plan 9: Resources Unified to Files General organization of Plan 9

Files associated with a single TCP connection in Plan 9. Communication File Description ctl Used to write protocol-specific control commands data Used to read and write data listen Used to accept incoming connection setup requests local Provides information on the caller's side of the connection remote Provides information on the other side of the connection status Provides diagnostic information on the current status of the connection Files associated with a single TCP connection in Plan 9.

Processes The Plan 9 file server.

A union directory in Plan 9. Naming A union directory in Plan 9.

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

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

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

Main data structures used in xFS. Naming Data structure Description Manager map Maps file ID to manager Imap Maps file ID to log address of file's inode Inode Maps block number (i.e., offset) to log address of block File identifier Reference used to index into manager map File directory Maps a file name to a file identifier Log addresses Triplet of stripe group, ID, segment ID, and segment offset Stripe group map Maps stripe group ID to list of storage servers Main data structures used in xFS.

The organization of SFS. Overview of SFS The organization of SFS.

Naming A self-certifying pathname in SFS. /sfs LOC HID Pathname /sfs/sfs.vu.sc.nl:ag62hty4wior450hdh63u623i4f0kqere/home/steen/mbox A self-certifying pathname in SFS.

Summary Issue NFS Coda Plan 9 xFS SFS Design goals Access transparency High availability Uniformity Serverless system Scalable security Access model Remote Up/Download Log-based Communication RPC Special Active msgs Client process Thin/Fat Fat Thin Medium Server groups No Yes Mount granularity Directory File system Name space Per client Global Per process File ID scope File server Server Sharing sem. Session Transactional UNIX N/S Cache consist. write-back write-through Replication Minimal ROWA None Striping Fault tolerance Reliable comm. Replication and caching Recovery Client-based Reintegration Checkpoint & write logs Secure channels Existing mechanisms Needham-Schroeder No pathnames Self-cert. Access control Many operations Directory operations UNIX based NFS BASED A comparison between NFS, Coda, Plan 9, xFS. N/S indicates that nothing has been specified.