As I continue in my experiments with scalable storage systems, I came across Ceph. Apart from having a very cool logo, Ceph is a distributed scalable network and storage file system which is based on an object store with a metadata management cluster which allows standard POSIX file-system interaction with the objects in the store.
As well as standard file-system’ access, Ceph also allows applications to interaction directly with the object store, an S3 compatible REST interface to allow applications designed to work with Amazon S3 to use Ceph as a private S3 Cloud and finally a network block device driver enabling Ceph to work as an ehthernet block-device like iSCSI; but the block device can be striped and replicated across the cluster allowing greater reliability and scalability (both capacity and performance).
Ceph is can currently be considered as alpha-code and you probably should not store your life work on it. That said it is relatively easy to set-up and play with. And as it released under the LGPL, you have full access to the source and can do with it what you will.
I built my cluster on top of Ubuntu and built it on three VMs; now, if I was building for performance, I would probably have ensured that I had built these on seperate spindles but I wasn’t and I was just seeing how quickly I could build it and get it working.
It probably took me a hour or so to build the VMs, install the packages, configure the cluster and bring up a file-system. At that point, I just played with Ceph and treated it like a normal file-system, it works; writing a file on one node appears on all of the nodes in the cluster.
I’ve not had the chance to play with either the S3 or the native Object interface but I must say it all looks very promising.
There is an increasingly large amount of good work being done with scalable file-systems in the Open Source community but if you want to run a mixed cluster with Windows and Linux sharing block access to file-systems you are currently stuck with the commercial options such as Stornext and GPFS.
However, if you looking to build your own scalable NAS or Cloud; you have lots of options. And even if you still go with a commercial option, building your own is good place to learn what questions to ask.