Last class: Distributed File Systems. Today: NFS, Coda



Similar documents
Distributed File Systems. Chapter 10

Chapter 11 Distributed File Systems. Distributed File Systems

Distributed File Systems. NFS Architecture (1)

10.2 THE CODA FILE SYSTEM

Coda: A Highly Available File System for a Distributed Workstation Environment

COSC 6374 Parallel Computation. Parallel I/O (I) I/O basics. Concept of a clusters

Distributed File Systems

We mean.network File System

Network File System (NFS) Pradipta De

File Systems for Clusters from a Protocol Perspective

Seminar Presentation for ECE 658 Instructed by: Prof.Anura Jayasumana Distributed File Systems

The Google File System

Transparency in Distributed Systems

RAID Storage, Network File Systems, and DropBox

Distributed File Systems

On the Ubiquity of Logging in Distributed File Systems

COSC 6374 Parallel Computation. Parallel I/O (I) I/O basics. Concept of a clusters

Sunita Suralkar, Ashwini Mujumdar, Gayatri Masiwal, Manasi Kulkarni Department of Computer Technology, Veermata Jijabai Technological Institute

Chapter 11: File System Implementation. Operating System Concepts with Java 8 th Edition

Network File System (NFS)

CHAPTER 6: DISTRIBUTED FILE SYSTEMS

HDFS Under the Hood. Sanjay Radia. Grid Computing, Hadoop Yahoo Inc.

Distributed Systems. 15. Network File Systems. Paul Krzyzanowski. Rutgers University. Fall 2015

Web DNS Peer-to-peer systems (file sharing, CDNs, cycle sharing)

Outline. Definition. Name spaces Name resolution Example: The Domain Name System Example: X.500, LDAP. Names, Identifiers and Addresses

File System Client and Server

Network Attached Storage. Jinfeng Yang Oct/19/2015

Client/Server and Distributed Computing

Four Reasons To Start Working With NFSv4.1 Now

Naming. Name Service. Why Name Services? Mappings. and related concepts

Benefits of Using BlueFS

An Open Source Wide-Area Distributed File System. Jeffrey Eric Altman jaltman *at* secure-endpoints *dot* com

Distributed File Systems Design

Planning Domain Controller Capacity

THE BCS PROFESSIONAL EXAMINATIONS BCS Level 6 Professional Graduate Diploma in IT. April 2009 EXAMINERS' REPORT. Network Information Systems

Client/Server Computing Distributed Processing, Client/Server, and Clusters

Implementing Network Attached Storage. Ken Fallon Bill Bullers Impactdata

Windows Offline Files

Operating Systems File system mounting, sharing, and protection. File System Mounting

Distributed File System. MCSN N. Tonellotto Complements of Distributed Enabling Platforms

Amoeba Distributed Operating System

Simple Solution for a Location Service. Naming vs. Locating Entities. Forwarding Pointers (2) Forwarding Pointers (1)

Lab 2 : Basic File Server. Introduction

NFSv4.1 Server Protocol Compliance, Security, Performance and Scalability Testing - Implement RFC, Going Beyond POSIX Interop!

Designing an NFS-based Mobile Distributed File System for Ephemeral Sharing in Proximity Networks

Lecture 11. RFS A Network File System for Mobile Devices and the Cloud

Distributed File Systems Part I. Issues in Centralized File Systems

The Win32 Network Management APIs

CS 377: Operating Systems. Outline. A review of what you ve learned, and how it applies to a real operating system. Lecture 25 - Linux Case Study

Distributed File Systems

Erlang Distributed File System (edfs)

Clustered Data ONTAP 8.2

XtreemFS - a distributed and replicated cloud file system

Naming vs. Locating Entities

MCSE TestPrep: Windows NT Server 4, Second Edition Managing Resources

USING USER ACCESS CONTROL LISTS (ACLS) TO MANAGE FILE PERMISSIONS WITH A LENOVO NETWORK STORAGE DEVICE

Software design (Cont.)

Sync Security and Privacy Brief

A DISTRIBUTED FILE SYSTEM (DFS)

Tools Page 1 of 13 ON PROGRAM TRANSLATION. A priori, we have two translation mechanisms available:

Distributed Systems. Security concepts; Cryptographic algorithms; Digital signatures; Authentication; Secure Sockets

Distributed Software Systems

CHAPTER 2 MODELLING FOR DISTRIBUTED NETWORK SYSTEMS: THE CLIENT- SERVER MODEL

It is the thinnest layer in the OSI model. At the time the model was formulated, it was not clear that a session layer was needed.

Principles of Distributed Database Systems

Disaster Recovery White Paper

Chapter 1 - Web Server Management and Cluster Topology

NETASQ SSO Agent Installation and deployment

Chapter 11: File System Implementation. Operating System Concepts 8 th Edition

SerNet. Clustered Samba. Nürnberg April 29, Volker Lendecke SerNet Samba Team. Network Service in a Service Network

PATROL Console Server and RTserver Getting Started

Websense Support Webinar: Questions and Answers

Facebook: Cassandra. Smruti R. Sarangi. Department of Computer Science Indian Institute of Technology New Delhi, India. Overview Design Evaluation

CHAPTER 16: DISTRIBUTED-SYSTEM STRUCTURES. Network-Operating Systems. Distributed-Operating Systems. Remote Services. Robustness.

Google File System. Web and scalability

Introduction to Parallel and Distributed Databases

Remote Administration

NFS File Sharing. Peter Lo. CP582 Peter Lo

Microkernels, virtualization, exokernels. Tutorial 1 CSC469

IBM Rational ClearCase, Version 8.0

Cloud Computing at Google. Architecture

recovery at a fraction of the cost of Oracle RAC

Internetworking Microsoft TCP/IP on Microsoft Windows NT 4.0

Quick Start - NetApp File Archiver

Avoid a single point of failure by replicating the server Increase scalability by sharing the load among replicas

A Java-based system support for distributed applications on the Internet

Project Group High- performance Flexible File System

Direct NFS - Design considerations for next-gen NAS appliances optimized for database workloads Akshay Shah Gurmeet Goindi Oracle

A COMPARISON BETWEEN THE SAMBA3 AND LIKEWISE LWIOD FILE SERVERS

SHORT DESCRIPTION OF THE PROJECT...3 INTRODUCTION...4 MOTIVATION...4 Session Initiation Protocol (SIP)...5 Java Media Framework (JMF)...

Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture

Transcription:

Last class: Distributed File Systems Issues in distributed file systems Sun s Network File System case study Lecture 19, page 1 Today: NFS, Coda Case Study: NFS (continued) Case Study: Coda File System Lecture 19, page 2

Semantics of File Sharing a) On a single processor, when a read follows a write, the value returned by the read is the value just written. b) In a distributed system with caching, obsolete values may be returned. Lecture 19, page 3 Semantics of File Sharing Method UNIX semantics Session semantics Immutable files Transaction Comment Every operation on a file is instantly visible to all processes No changes are visible to other processes until the file is closed No updates are possible; simplifies sharing and replication All changes occur atomically Four ways of dealing with the shared files in a distributed system. NFS implements session semantics Can use remote/access model for providing UNIX semantics (expensive) Most implementations use local caches for performance and provide session semantics Lecture 19, page 4

File Locking in NFS Operation Lock Lockt Locku Renew Description Creates a lock for a range of bytes (non-blocking_ Test whether a conflicting lock has been granted Remove a lock from a range of bytes Renew the lease on a specified lock NFS supports file locking Applications can use locks to ensure consistency Locking was not part of NFS until version 3 NFS v4 supports locking as part of the protocol (see above table) Lecture 19, page 5 File Locking: Share Reservations Current file denial state NONE READ WRITE BOTH Request access READ WRITE BOTH (a) Requested file denial state NONE READ WRITE BOTH Current access state READ WRITE BOTH (b) The result of an open operation with share reservations in NFS. a) When the client requests shared access given the current denial state. b) When the client requests a denial state given the current file access state. Lecture 19, page 6

Client Caching Client-side caching is left to the implementation (NFS does not prohibit it) Different implementation use different caching policies Sun: allow cache data to be stale for up to 30 seconds Lecture 19, page 7 Client Caching: Delegation NFS V4 supports open delegation Server delegates local open and close requests to the NFS client Uses a callback mechanism to recall file delegation. Lecture 19, page 8

RPC ures Three situations for handling retransmissions: use a duplicate request cache a) The request is still in progress b) The reply has just been returned c) The reply has been some time ago, but was lost. Use a duplicate-request cache: transaction Ids on RPCs, results cached Lecture 19, page 9 Security The NFS security architecture. Simplest case: user ID, group ID authentication only Lecture 19, page 10

Secure RPCs Secure RPC in NFS version 4. Lecture 19, page 11 Replica Servers NFS ver 4 supports replications Entire file systems must be replicated FS_LOCATION attribute for each file Replicated servers: implementation specific Lecture 19, page 12

Coda Coda: descendent of the Andrew file system at CMU Andrew designed to serve a large (global community) Salient features: Support for disconnected operations Desirable for mobile users Support for a large number of users Lecture 19, page 13 Overview of Coda Centrally administered Vice file servers Large number of virtue clients Lecture 19, page 14

Virtue: Coda Clients The internal organization of a Virtue workstation. Designed to allow access to files even if server is unavailable Uses VFS and appears like a traditional Unix file system Lecture 19, page 15 Communication in Coda Coda uses RPC2: a sophisticated reliable RPC system Start a new thread for each request, server periodically informs client it is still working on the request RPC2 supports side-effects: application-specific protocols Useful for video streaming [where RPCs are less useful] RPC2 also has multicast support Lecture 19, page 16

Communication: Invalidations a) Sending an invalidation message one at a time. b) Sending invalidation messages in parallel. Can use MultiRPCs [Parallel RPCs] or use Multicast - Fully transparent to the caller and callee [looks like normal RPC] Lecture 19, page 17 Naming Clients in Coda have access to a single shared name space Files are grouped into volumes [partial subtree in the directory structure] Volume is the basic unit of mounting Namespace: /afs/filesrv.cs.umass.edu [same namespace on all client; different from NFS] Name lookup can cross mount points: support for detecting crossing and automounts Lecture 19, page 18

File Identifiers Each file in Coda belongs to exactly one volume Volume may be replicated across several servers Multiple logical (replicated) volumes map to the same physical volume 96 bit file identifier = 32 bit RVID + 64 bit file handle Lecture 19, page 19 Sharing Files in Coda Transactional behavior for sharing files: similar to share reservations in NFS File open: transfer entire file to client machine [similar to delegation] Uses session semantics: each session is like a transaction Updates are sent back to the server only when the file is closed Lecture 19, page 20

Transactional Semantics File-associated data File identifier Access rights Last modification time File length File contents Read? Modified? No No Network partition: part of network isolated from rest Allow conflicting operations on replicas across file partitions Reconcile upon reconnection Transactional semantics => operations must be serializable Ensure that operations were serializable after thay have executed Conflict => force manual reconciliation Lecture 19, page 21 Client Caching Cache consistency maintained using callbacks Server tracks all clients that have a copy of the file [provide callback promise] Upon modification: send invalidate to clients Lecture 19, page 22

Server Replication Use replicated writes: read-once write-all Writes are sent to all AVSG (all accessible replicas) How to handle network partitions? Use optimistic strategy for replication Detect conflicts using a Coda version vector Example: [2,2,1] and [1,1,2] is a conflict => manual reconciliation Lecture 19, page 23 Disconnected Operation The state-transition diagram of a Coda client with respect to a volume. Use hoarding to provide file access during disconnection Prefetch all files that may be accessed and cache (hoard) locally If AVSG=0, go to emulation mode and reintegrate upon reconnection Lecture 19, page 24