« Why not Cache from Intersystems? | Main | what is j2ee stack »
Wednesday
Nov212007

n-phase commit for FS writes, reads stay local

I am trying to find a Linux FS that will allow me to replicate all writes synchronously to n nodes in a web server cluster, while keeping all reads local. It should not require specialized hardware.

Reader Comments (7)

chiron fs perhaps.
http://furquim.org/chironfs/

If you dont have large amount of data, you can perhaps use Linux dnotify to roll your own write-spread system.

Shameless plug: I wrote a proof-of-concept script and an article a few years back about it.
http://www.linuxfocus.org/English/March2001/article199.shtml
The general rules still apply but the tools to do this today are much better.

December 31, 1999 | Unregistered Commenteratif.ghaffar

What I did as a "quick solution" is a little python script that using "inotify" intercepts every file modified/created/deleted on a few selected paths. Those files are inserted in a queue, that's "rsynced" by another process to the rest of servers :D

Not the best solution, but it works :)

Right now I'm testing ChironFS, but sync write can be a prob :D

December 31, 1999 | Unregistered CommenterAlberto

Hello

I am the author of ChironFS. Could you describe what prob are you facing with sync write?

Thank you and Best Regards

December 31, 1999 | Unregistered CommenterLuis Otavio de Colla Furquim

I was not facing problems, just that sync writes can be a problem :)

If a host has a very high load, or the link is slow, it can take ages to finish this sync, and I'm not sure how ChironFS works arround these problems.

Right now I'm using a combination of ChironFS + GlusterFS, to get part of the data always as local, and part as remote, but always replicated across all the servers.

December 31, 1999 | Unregistered CommenterAlberto

BTW, thnx for ChironFS!!!! :D

December 31, 1999 | Unregistered CommenterAlberto

The current version of ChironFS (1.0RC9) waits until all the
writes are done to return to the caller. So it is a problem
if you have a slow link. I am currently working on version
1.1 to implement asynchronous I/O (and, in the near future,
Hot Resync). This way ChironFS will return just after the
first successful write. The others writes will be handled by
callbacks and the control of what replica is working or not
will still work as it does now. So, write operations are
expected to have a very high speed increment.

Also, I would be very grateful if you could provide some
feedback about the usage and stability of ChironFS. As
long as I have tested it is working without any bug. But
it would be good if I have other people's report. The lack
of feedback is the main reason I didn't change the status
of beta-RC to stable.

BTW, Thanks a lot for using ChironFS!

Luis Otavio de Colla Furquim
Don't feed the tribbles
http://www.furquim.org/chironfs/

December 31, 1999 | Unregistered Commentervuco

does anyone have any inotify/dnotify code samples? i tried googling and could not find anything relevant/useful, just a couple "i've done this" ...

December 31, 1999 | Unregistered Commentermike503

PostPost a New Comment

Enter your information below to add a new comment.
Author Email (optional):
Author URL (optional):
Post:
 
Some HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>