Chapter 4
Network & Distributed Filesystems
A network filesystem's whole pitch is that a remote store looks like a local one: the same open, read, write, and rename, against bytes that live on someone else's disks. The abstraction is genuinely useful and genuinely leaky, and the leaks are where production incidents come from—a POSIX call that no longer means quite what it did, latency that turns a working access pattern into a pathological one, and a server that can disappear mid-write.
The chapter builds up in three movements, echoing the shape of Filesystem Fundamentals. First the landscape: what distributed and network filesystems are, how NFS, Lustre, GPFS, and WekaFS differ in architecture and failure behavior, and where object stores stop being filesystems at all. Then a deep dive into NFS close-to-open consistency, the rule most often assumed rather than understood. With the cast assembled, we compare along the same three dimensions— synchronization guarantees, resiliency guarantees, and performance characteristics—and close with the observability story for a filesystem you can only reach over the wire.
The tools themselves live in The Systems Toolkit; here we apply them. By the end you'll know which guarantees a given mount actually gives you, which ones your code was quietly relying on, and how to tell the difference while an incident is in progress.
# Chapter Sections
Framework for evaluating network filesystems across semantics, architecture, and failure modes. Covers NFS, Lustre, GPFS, and WekaFS with architecture diagrams and comparison tables. Includes AWS S3 as a counterexample to POSIX filesystems.
Deep Dive: NFS Close-to-Open ConsistencyProtocol sequence, edge cases, performance implications, tuning parameters, and code walkthrough.
Network Synchronization GuaranteesCoordinating concurrent access across clients. Close-to-open consistency, delegations and leases, distributed locking, and what breaks when a lock holder vanishes.
Network Resiliency GuaranteesSurviving server failures, network partitions, and client crashes. Hard vs soft mounts, retry and timeout behavior, replication, and end-to-end integrity across the wire.
Network Performance CharacteristicsLatency versus throughput, round-trip amplification from metadata operations, client-side caching and read-ahead, parallelism across servers, and striping.
Network Observability and DebuggingMount statistics, nfsstat, packet capture, and per-operation latency. Telling a slow server from a slow network from a client that is waiting on itself.