Distributed Filesystem for Disconnected Operation?
juraj asks: "I'm trying to achieve the following setup: I have two offices connected via a relatively slow ADSL line, and I want a shared fileserver between the offices. I have VPN using IPSec ready, so security is less of a concern, but simply mounting a filesystem (via Samba or NFS) from one office to another is not a solution because of the speed. Also, the ADSL line is sometimes not only slow, but also disconnected.
I've tried the CODA distributed filesystem to achieve replication, so that both offices have local copies of their files. The problem is, that the CODA filesystem is just a research project: it is unstable, with the venus daemon constantly falling, and sometimes when recovering from the disconnected state, one side does not recognize the changes and they are simply not propagated.
Have you had any good experiences with CODA? Which versions do you use? What kind of setup did you have? How is it configured? I've also heard about OpenAFS, but similar to CODA, I've learned it is unusable in a real environment. Is there any real solution to my problem? Are there any decent solid free distributed file systems for Linux or the BSDs?"
is very good, and I was thinking of something like that for my mailservers. That way, I'd have 2 different machines in 2 locations, and [maildir] boxes in both. When message arrive in one, any one, it is copied to the other. When erased, same thing.
Both servers running at the same MX. So users could choose the server 1 or server 2 according to the location. And witch among them, in case one network goes down.
Although it sounds simple, I don't know any simple solution to that. Rsync won't work, as there wouldn't not be a master server. Both would have the same preference, so no server depends on the other. That's the goal.
-
Roses are #FF0000, Violets are #0000FF, find / -name '*base*' |xargs chown -R us && mv zig greatjustice
http://www.inter-mezzo.org/
you are looking for intermezzo
http://www.inter-mezzo.org/
the same guy from coda is the leader. remember
afs -> coda -> intermezzo
--
Evan
"$30 for the One True Ring. $10 each additional ring!" -- JRR "Bob" Tolkien
Haven't actually looked into this to any great defree, but is Novel's iFolder an option ?
It's opensourced even and available on Novel Forge.
I find this to be the ideal solution for keeping filesystems synchronized across slow links.
From my experience, Perforce has the best use of bandwidth and also the most intelligence when it comes to rearranging directory structures and resolving conflicts.
Unfortunately it's only free for up to two users - so it may be useless for your needs.
Bullshit. You haven't looked at it hard enough then. I used to work at a university that had 26,000+ users using an AFS filestore for their homedirs and for distributed apps across several miles of campus.
I'm sure this thing has more than surpassed terabyte size by now. It was always fast and always reliable, except when the one of server's SCSI cards would melt and start spewing errors.
AFS is better than most people give it credit for. I'll admit, it isn't easy to set up, but all the features that you get for that initial work are well worth it.
Monash University is using AFS on its Linux desktops. Whenever the connection to the file server goes down, everyone's sessions hang, which is clearly unacceptable.
It's quite possible that it has been incorrectly set up, but in this situation AFS hasn't delivered what it promised.
It is used in a number of university campuses across the US (as a bunch of disjoint namespaces under /afs) and works fairly reliably. I wouldn't say it's perfect but works well for day-to-day usage.
Among the most notable of the universities using afs are CMU, UNC, RPI, MIT. Furthermore, there are a number of government namespaces as well.
Try it out!
My problem is similar to the original poster's, with one small limitation: I have two (mostly) identical Linux machines at both ends of an ADSL link with VPN, etc. All I need to do is edit/compile/run a CLI application (no fancy graphics required). The app must compile/run on a machine at the 'office' end, but I'd like to edit on the machine at the 'home' end. I tried emacs on the 'home' machine with remote editing, as well as remotely running vi/emacs on the 'office' machine, but neither method has the responsiveness I crave, especially because I tend to hit Ctrl-S to save every few keystrokes. I also tried rsyncing after editing the filesystem on the 'home' machine, but then the process gets a bit cumbersome. Any tricks I might have missed?
Don't bother with any of the kernel-mode disconnected file systems. For those kinds of situations, the Unison file synchronizer is a good choice: it performs bidirectional synchronization and uses an efficient protocol that only needs to send differences and some checksums across the wire. It also detects conflicts and (optionally) lets you resolve them automatically. It works on UNIX/Linux, Windows, and MacOS.
it looks like a simple shell script with rsync will do it: http://lists.samba.org/archive/rsync/2001-October/ 000430.html
Why not just use CVS or, even better, subversion?
Just a first thought...
it looks like a simple shell script with rsync will do it...O ctober/ 000430.html
http://lists.samba.org/archive/rsync/2001-
use the real AFS from IBM. work very nicely.
Consensus is good, but informed dictatorship is better
Thanks for the tip. It seems to do what I need.
-
Roses are #FF0000, Violets are #0000FF, find / -name '*base*' |xargs chown -R us && mv zig greatjustice
Use the tramp package, it automates grabbing files via ssh (through multiple hosts), so you edit localy. Very hand, I really liked it.
Plato seems wrong to me today
I'm no expert, but I became curious about the difference between IBM AFS and OpenAFS and it seems that they are the same.
;)
This means I will probably check it out for my next fileserver project...
Have you considered Oracle iFS? Since it is based on an Oracle DB so it should be possible to do a two-way replication. Or possibly make the synchronization policy yourself by database triggers.
Foldershare is a Win32 "Document Management & Real-time File Mirroring Solution".
I read that "the development team hopes to start work on Mac OS X and Linux clients within the next six months" (Jan 27th 2004).
It's cryptographically secure and similar to NFS, but possibly too slow for your purposes.