A sort-of distributed filesystem
ivoras at fer.hr
Wed Jan 4 16:22:40 PST 2006
I've threatened several times to make a distributed filesystem (or
something like it) using FUSE, so I found the time over the holiday and
This is a FUSE (userland) filesystem that propagates write requests to a
remote daemon, while implementing read (and fstat and the like) requests
locally. In short, this implements single-writer-multiple-readers
scenario, where on one machine the filesystem is both readable and
writeable and on multiple others it's only readable. (Actually, it's
also writeable there, but the changes are not propagated). It's not
a complete new filesystem but acts on existing filesystems, like an
overlay / stacked filesystem (it's completely independant of the underlying
filesystem type, but it's not tested on msdosfs :) ). The idea is that
this could be used for hot-backups, load balancing, etc.
This is only a proof of concept implementation, undertested and possibly
with several bugs (I noticed late that timestamps are not always correctly
propagated but will look into it tomorrow). To make it faster and possibly
more robust for general usage it would have to be reimplemented in kernel.
It's developed and tested on FreeBSD 6-stable and is currently not
very portable to other operating systems (except 7-current and up). FUSE
libraries and kernel module are required for operation. Don't forget to
load the fuse.ko module.
More information is provided in the README file so read it before trying
to use it.
If anyone wants to contact me off-list, please use the address in the
Preserve wildlife -- pickle a squirrel today!
More information about the freebsd-current