Hello, I have been looking for some time for a solution to a storage problem that I have been trying to solve, and have been experimenting with Gluster to try and achieve the desired results. The approach that Gluster uses to distributed storage seems well suited to the task, however, I am unable to find a translator (or combination thereof) that will solve the problem. What I would ultimately like to accomplish would be to have two (or more) servers that replicate across a WAN, while maintaining near LAN-like performance at both ends. I am willing to sacrifice perfect syncronization of the sites for a short time in order to gain the local performance, so long as the sites eventually catch up with each other. It seems to me quite do-able from a technical perspective. What I envision taking place would be something similar to the following: 1.a Site A: File is opened with an exclusive lock 1.b Site B: File is also locked as open with an exclusive lock 2.a Site A: Necessary reads and writes take place 3.a Site A: Changes to files are synced to Site B at WAN speed; queued up at some staging location (For performance, an rsync/diff type solution to replication would be used) 3.b Site B: When all changes to file are copied from Site A, file is updated at Site B. 4.a Site A: File is closed at unlocked 4.b Site B: File is unlocked 4.a may happen before 3.a, but 4.b does not take place in any case until 3.b is complete. In this way, both sites A and B should operate at local LAN speed; the only performance degredation from a completely local installation would be at 1.a to 1.b as there would be a delay in confirming the exclusive lock at all replicated sites, and only if the file was already not locked. Every other operation should take place at normal local speed. Now lies my questions: 1) Is the above possible with the current Gluster translators? I've experimented with various combinations of translators, including replicate, nufa, writebehind, and io-threads, and while I have been able to improve performance of some operations, many others are still taking place at WAN speed. 2) If it is not possible, are there plans to implement a translator (or set of), that could accomplish the above? I've read about the plans for drsync and writeable-snapshot in GlusterFS 2.2, but even those don't quite seem to meet the above requirements. 3) If 1 and 2 are not possible or in the roadmap, how do-able would it be to create the above translator? I have a fair amount experience in C and C++ beyond just academia, and this is a project that I would likely be able to be paid to devote some resources to. 4) GlusterFS aside, is there something I'm missing in the scenario above? It seems to me a relatively simple solution to a fairly complex problem, yet every time I have brought the issue up with storage specialists and fellow Linux admins, I've been met with blank stares, told such a solution isn't really possible, or pointed to some extremely expensive propriatary solution. It doesn't seem that complex, but no one has been able to provide much input to a solution. Am I just naively seeing a small part of the big picture? Thank you all in advance. Sincerely, -Mathew Eis