glusterfs

  • uses NFS
  • very few dependencies
  • can run on top of any filesystem
  • automatic failover

Things I'm not sure about:

  • no-metadata server architecture
  • noted some performance slowdown with Samba
  • using any filesystem means that they're not taking advantage of some situations, or may be not using a large featureset; generally, it makes me think this is more of a hobby setup (“we can run anywhere!”) than a production one (“use these for best practices”)

Setup

Create an format a partition for the node:

mkfs.xfs -i size=512 /dev/sdb1
mount /dev/sdb1 /var/gluster
mkdir /var/gluster/brick

Add an entry to /etc/fstab for each server:

/dev/sdb1 /var/gluster/brick1 xfs noatime 0 0

Mount the drive, and start the glusterfs daemon:

mount -a
/etc/init.d/glusterd start

Have each server probe each other. On server1:

gluster peer probe server2

On server2:

gluster peer probe server1

On both servers, create the gluster volume directory:

mkdir /var/gluster/brick1/gv0

Then, from either server, create the gluster volume:

gluster volume create gv0 replica 2 server1:/var/gluster/gv0 server2:/var/gluster/gv0
gluster volume start gv0

You can check the status of the volume on either server:

gluster volume info
Volume Name: gv0
Type: Replicate
Status: Started
Number of Bricks: 2
Transport-type: tcp
Bricks:
Brick1: gluster1:/var/gluster/brick1/gv0
Brick2: gluster2:/var/gluster/brick1/gv0

If the status is not started, check the logs in /var/log/glusterfs, usually in etc-glusterfs-glusterd.vol.log.