| ![]() |
Zebra: A Striped Network File System
John H. Hartman
John K. Ousterhout
Computer Science Division
Electrical Engineering and Computer Sciences
University of California
Berkeley, CA 94720
Abstract
This paper presents the design of Zebra, a striped network file system.
Zebra applies ideas from log-structured file system (LFS) and RAID
research to network file systems, resulting in a network file system that has
scalable performance, uses its servers efficiently even when its applications
are using small files, and provides high availability. Zebra stripes file data
across multiple servers, so that the file transfer rate is not limited by the
performance of a single server. High availability is achieved by maintaining
parity information for the file system. If a server fails its contents can
be reconstructed using the contents of the remaining servers and the parity
information. Zebra differs from existing striped file systems in the way it
stripes file data: Zebra does not stripe on a per-file basis; instead it stripes
the stream of bytes written by each client. Clients write to the servers in
units called stripe fragments, which are analogous to segments in an LFS.
Stripe fragments contain file blocks that were written recently, without
regard to which file they belong. This method of striping has numerous
advantages over per-file striping, including increased server efficiency, efficient
parity computation, and elimination of parity update.
This paper will appear in the proceedings of the USENIX Workshop on
File Systems, May 1992.
This work was supported in part by the National Science Foundation under grant CCR-8900029, the National Aeronautics and Space Administration and the Defense Advanced Research Projects Agency under contract NAG2-591.