Active / Active Storage Server with FreeBSD

I've done a lot of reading and googling and haven't come up with much. So i thought i'd ask here.

We're looking to take 2 identical physical boxes and make them an Active Active "SAN" boxes. Both machines will export to VMs and other fileservers via iscsi/nfs.
When i say active active i guess we're basically looking for 2 servers to be a mirror of each other. Almost a networked raid1.

We really like freebsd, and ZFS is awesome! But i can't seem to find any way to do this with freebsd.

Thoughts? Thanks. - jamie
 
Are you sure you want "Active-Active"? That requires a cluster-aware filesystem, as clients can access files on either server at any time.

If you want an "Active-Passive" fail-over setup, then have a look into HAST, which was just committed to FreeBSD 9-CURRENT. This allows you to configure /dev/hast/* devices on each server, use the "hast/*" devices to create a ZFS pool, import the pool on one system, and export ZVols via iSCSI. If the main server fails, the HAST daemon on the second server notices, takes control of the /dev/hast/* devices, imports the ZFS pool, and things carry on.

Using CARP to provide a single virtual/shared IP between the systems completes the picture. And with some simple edits to /etc/devd.conf, you can have CARP control the HAST fail-over process.

I've been testing this via 2 virtual machines in VirtualBox, and the CARP/HAST fail-over of a ZFS pool works quite nicely. Haven't tested with iSCSI exports yet ... that's next on the ToDo. We're looking to do the same setup (2x storage boxes for VM storage), along with replacing our current rsync-based "mirroring" of a backups box.

I can provide the devd.conf and carp-hast-switch script I'm using, if desired.
 
I think you can do this in the new version of FreeNAS if I'm not mistaken. I know there is no ZFS support because I have two of these going with several terabytes of storage exported to VMs. Works great!

-Tim
 
Back
Top