[ltp] intermezzo?

Tony Whitmore linux-thinkpad@linux-thinkpad.org
Tue, 17 Feb 2004 21:59:56 +0000


Tod Harter wrote:
> On Tuesday 17 February 2004 1:51 pm, Ferdinand Haselbacher (jr.) wrote:

>>anyone got a better solution for handling such things ?
> 
> 
> Nope, rsync rules! You could even hack your network startup scripts a bit and 
> have the sync happen when the machine notices its on your home network. Can 
> be a bit tricky to do, but given the fact that rsync is pretty close to 
> maximum theoretical efficiency for this kind of thing its hard to do better.
> 
> I believe the coda file system (CFS) also provides the ability to do a form of 
> syncing, but its more like you declare a network volume and you can then work 
> with it in 'disconnected mode' which just means the files are locally cached 
> for you. When the system notices you've reconnected it can synchronize. I've 
> never worked with it though and I don't think its really ever been in very 
> common use (though Linux does support it).

FWIW, InterMezzo works basically as you have described the Coda FS. In 
fact, InterMezzo is based on Coda. I've been reading up on InterMezzo 
this evening and have been playing with rsync recently. Whilst both have 
their merits, I think it's fair to say that there are slightly different 
uses, IMHO, for both tools.

rsync is probably best suited as a network backup mechanism for mobile 
clients. You can backup all your data (home directory, etc, whatever) 
with a single scheduled rsync command. The efficiencies of the rsync 
"protocol" mean that only changes to files are transferred over the 
network. However, rsync is probably not best suited for sharing data 
with multiple clients. There is little "revision control" and it is 
therefore possible for multiple clients to overwrite data altered by the 
other.

Obviously NFS is an option for sharing a home directory with multiple 
clients, but many laptop users would like to be able to take their work 
with them when they are away from the network, so unless a VPN can be 
set up, NFS is ruled out. InterMezzo keeps a local cache of files, so 
you can work away from the network. On reconnection to the network 
changes to the client cache _and_ the server cache can be synced between 
the two. Also, there are systems that monitor changes to files, allowing 
multiple clients to use the same data repository without over-writing 
changes made by the other.

For example, I'm using rsync to keep the mail archive on my desktop 
machine in sync with the mail archive on my laptop. That's working fine 
for me ATM, but I couldn't automate the process very easily. If I were 
to set up an automated copying of files from the laptop to the desktop, 
changes to the archive made by the desktop machine could be overwritten 
by the automated sync from the laptop. If I were to extrapolate this to 
the entire home directory, files I created on the desktop could be 
deleted at the next sync from the laptop (assuming I have rsync up to do 
this in the interests of storage space efficiency.) However, with a 
distributed file system, changes made by one "client" would be 
propagated to the others. In some circumstances, rsync might be the most 
appropriate tool, in others a distributed file system might be worth 
considering.

Just my thoughts :)

Tony