InterMezzo is a network file system written for Linux, distributed with a GPL licence. The kernel 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, JFS, ReiserFS and XFS.

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.

External links