Lecture 6: Network Attached Storage
Terms you should know
Paul Krzyzanowski
March 4, 2021
Design
- Transparency
- Consistency
- Security
- Reliability
- State and stateful vs. stateless designs
- Service models: download/upload, remote access
- Access semantics: sequential vs. session
- Remote file service, directory service, client module
- VFS interaction
- File Caching
NFS
- Original design goals
- Use of UDP, state
- I won’t ask about the mounting protocol
- Directory & file access protocol; role of lookup RPC
- Approach to caching, validation
- Read-ahead
- Consistency problems
- Open with append & locking problems (original design)
- Lock manager addition
AFS
- Goal
- Core design: whole-file serving & long-term caching
- Cells, volumes
- Namespace and Volume Location Database
- Callback promise & callbacks
- File access semantics
- Referrals
DFS
- Tokens (concept only; you don’t need to know all the types)
- Token revocation
Coda
- Goals
- Volume Storage Group
- Accessible Volume Storage Group
- Resolution
- Disconnected operation mode
- Client Modification Log
- Reintegration
- Hoard database
SMB
- Design goals
- Message block
- You don’t have to know the procedures - just the general idea of what they do
- Oplocks - purpose, revocation, change
- You don’t need to know the batch and filter oplocks
- Read-cache, write-cache, handle-cache leases
- DFS Namespaces
SMB Improvements
- Pipelining (understand the concept)
- Compounding (understand the concept)
- Credit-based flow control
NFS4 Improvements
- State, open
- Compound RPC (understand the concept)
- Locking
- Cache control (understand the concept)
- Callbacks
GFS
Parallel file systems
Master - role
Chunkserver - role
Replication
Operation log
Access model, client interaction Writing
- chunk lease
- primary replica
- Two phases of writing
- Pipelining
- Commit
I will not ask about HDFS
- You don’t need to know the differences between GFS and HDFS or the names of any of the Hadoop file system components
I will not ask about Dropbox