Linux Today: Linux News On Internet Time.

Byte.com: Keeping in Sync with Intermezzo

Jan 07, 2002, 22:37 (0 Talkback[s])
(Other stories by Moshe Bar)

[ Thanks to Moshe Bar for this link. ]

"When I travel, I do not use Windows, obviously, but rather an IBM T21 (in these last few months) laptop with Linux 2.4.16 or 2.4.17 and a few ext3 partitions. In my lab, I keep my data on my trustworthy Cobalt Qube3 with two 40-GB platters in soft-RAID 1. Until very recently, when I returned to my lab, the wireless PCMCIA in my laptop connected to the network and ran an rsync script resyncing with my Qube3 and then NFS-mounting the file server filesystem over my /data and /devel directories. I do not, however, use NFS for my kernel-related development and I usually discourage other people from doing so, too. My kernel-development work is for cluster extensions (see http://www.Qlusters.com), so I just compile my kernel in the cluster anyway using the IBM GPFS distributed filesystem (which is a proprietary filesystem), or just locally on my platters. The problem with all this is that these workarounds are a pain to maintain and need scripting to glue the components together. Wouldn't it be nice if my Linux box automagically always kept in sync with my desktop or my file server whenever the LAN became visible?

Guess what. As of kernel 2.4.15, doing just that has become as easy as clicking on the right box when configuring the kernel before compilation. That's because Linus Torvalds decided to include the new InterMezzo filesystem into the standard Linux kernel source code, just before handing the 2.4 tree over to Marcelo Tosatti and opening the new 2.5 development series.

Eager as I was to get rid of my fragile scripting fabric to synchronize my directories between the various laptops and my Qube3 file server, I immediately took InterMezzo for a test run in my lab. Intermezzo is an Italian word often used in musical notation. It means literally "in between" or "pause." Using InterMezzo is quite easy and intuitive once you familiarize yourself a bit with its concepts.

InterMezzo is a classic client-server application. It is capable of journaling versions and updating to directories while connected to the LAN or while away from your LAN. The actual files are stored on a standard Linux filesystem, such as ext2. InterMezzo includes a loadable kernel module, which is notified of all updates to directories and files. These updates are written into a journal log file."

Complete Story

Related Stories: