I store all of my FreeBSD jails on a single fileserver at this time and have been trying for a while now to get an active/active clustered filesystem setup. I've strictly been using GlusterFS on Ubuntu for the clustered filesystem part, but am having nothing but problems getting those files successfully shared to the FreeBSD servers. My one gotcha is that I need locking to be clusterable for me to be able to actually create clusters of web/email/etc. jails. So far I've had no problems sharing those files via NFS, SMB, and SSHFS, however each has presented its own problems which, so far, have prevented me from finally picking one to use:
FYI - FreeBSD servers are 8.3-RELEASE and 9.0-RELEASE at latest patch level. Ubuntu server is 12.04 running both Gluster 3.2.5 and 3.3.0 during this testing.
- NFSv4 exported via Ubuntu NFS Server: I can mount the share and access files, however locking does not work despite nlockmgr showing as running on both sides via rpcinfo -p.
- NFSv3 exported via Gluster NFS Server: As of Gluster v3.3 locking is supported over NFS. lockd is running client side and nlockmgr is verified running on the server side, however locking a file will indefinitely hang the FreeBSD server. Turning on debugging for statd and lockd show nothing in debug.log beyond it indicating it found a new host (the Ubuntu server).
- SMB with CTDB to make locking clusterable: Can mount the share and browse, however the creation of symbolic links errors as "Operation not supported" and chown/chgrp/chmod don't error but don't work. The big gotcha there is the symbolic links as the creation of the jail's base filesystem depends on being able to create symbolic links. Seems to be a client side issue as the server side samba logs indicate nothing regarding the attempt to create a symbolic link.
- SSHFS: I'm first mounting the Gluster volume to a directory on the Gluster server via the Gluster client. Then I mount that folder over sshfs to the FreeBSD server. I'm assuming that lock requests will be sent to the remote server which allows clustered locking to work as that will be handled via the Gluster client. All operations work, however untaring my jail base filesystem will kernel panic the FreeBSD server everytime so this is very unstable.
FYI - FreeBSD servers are 8.3-RELEASE and 9.0-RELEASE at latest patch level. Ubuntu server is 12.04 running both Gluster 3.2.5 and 3.3.0 during this testing.