Back to article
Using the InterMezzo Distributed Filesystem
Getting Connected in a Disconnected World
August 12, 2002
All distributed filesystems provide access to storage that is located on remote systems, known as servers, and enable authorized users to transparently read and write data there over the network. Standard Linux file and directory security in distributed environments is enforced through the use of a network-oriented authentication mechanism such as Kerberos, LDAP, NIS, or even the careful synchronization of password and group entries in the case of extremely small networks.
The introductory article in this series, "Modern Distributed Filesystems for Linux; An Introduction" discussed the fact that various distributed filesystems are designed to solve specific types of problems. This article discusses InterMezzo, one of the more interesting modern Linux distributed filesystems, which is primarily designed to support disconnected operation. Disconnected operation is the interesting case when you need to work on files that are located in a distributed filesystem while you are not actually connected to the network.
Though this initially sounds like an impossibility, disconnected operation is a fact of life in network-centric mobile computing environments today. Many people use laptops or other portable systems as their primary computing platforms. These systems typically access files stored on a network while they are in use on one's desktop, but also need to be able to continue to work on these same files when using the laptop at home or when on the road in order to maximize productivity.
The trivial solution to this problem is to manually copy the files you are working on from the distributed filesystem onto your laptop's local disk. This is not only time-consuming, but makes it easy for you to overlook some critical file. A better solution to this problem is a distributed filesystem such as InterMezzo, which transparently caches the files that you are working on from the InterMezzo server. In this case, caching means that InterMezzo makes a copy of the files that you are working on, stores them on a local partition that has been configured for use as a cache, and then synchronizes changes to the cached files with the original file on the InterMezzo server. If you disconnect from the network, your system contains a copy of your files, on which you can continue working. When you reconnect to the network, InterMezzo automatically updates the original version of the file with your changes. This mechanism is known as "synchronization."
InterMezzo's synchronization mechanism is analogous to the "Offline Files" or "Briefcase" mechanisms provided in most modern versions of Microsoft Windows--except, of course, that InterMezzo is free and you can use it on a true multi-user system such as Linux.