InterMezzo (file system)InterMezzo
is a network file system
written for Linux
, distributed with a GPL
component has been included in the standard Linux kernel since kernel version 2.4.15.
InterMezzo is designed to work with journaling filesystems such as EXT3
An InterMezzo system consists of a server, which holds the master copy of the file system,
and one or more clients with a cache of the file system.
It works either in a replication mode, in which a client maintains
a duplicate of the entire file system, or in an on-demand mode in which the client only
requests files that it needs.
It is described as a "high availability file system" since a client can continue to operate
even if the connection to the server is lost. During a period of disconnection, updates are
logged and will be propagated when the connection is restored. Conflicts are detected and
handled according to a "conflict resolution policy" (although the best policy is likely to
be to avoid conflicts).
Typical applications of replication mode would be:
- a cluster of servers operating on a shared file system.
- computers that are not always connected to the network, such as laptops.
Typical applications of on-demand mode would be:
- distributed file serving, e.g., FTP or WWW servers could be mirrored in a remote location without needing to propagate files that are never accessed.
- desktop workstations
InterMezzo was started as part of the Coda
file system project
at Carnegie Mellon University
and takes many design decisions from Coda.
Intermezzo was designed for enhanced scalability, performance, modularity,
and easy integration with existing file systems.