InterMezzo is an obsolete distributed file system written for Linux, distributed under the GPL. The kernel component is not included in the current 2.6 kernel. It was included in the standard Linux kernel from kernel version 2.4.15 but was dropped from the 2.6 kernel. InterMezzo is designed to work on top of an existing journaling file system 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 does this by capturing all writes to the server's file system journal and streaming them to the client systems to be replayed.
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 are:
- 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 are:
- 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. It was designed for enhanced scalability, performance, modularity, and easy integration with existing file systems.
Although it was supported in the standard Linux kernel in version 2.4, it was removed in the 2.6 series. It is apparently no longer under development, and its developers have moved on to a new project named Lustre.
Full article ▸