My first experiment was simply setting up a distributed volume that needs to have each of the "bricks" as they refer to them as being reliable members.
However you can configure it to mirror and strip across the "bricks" so they don't have to be. In fact you can setup stripped mirrors, etc.
I've now got a number of these storage nodes as I call them. It generally consists of a 1U box, stuffed full of ram, connected to a JBOD chassis full of disks. I then use ZFS to create storage pools.
The problem with this is that your scale is limited to the size of a single "node" and while you can play games with autofs it's not a cohesive filesystem.
This solves that problem. My only complaint is that it's fuse based.
Lustre is a kernel loaded filesystem that'll do the same thing as gluster. However, it doesn't have any of the redunancy stuff, it simply assumes your underlying storage is reliable.
Tim.