Pool Multiple Hard Drives in ONE Network Share

Solution 1:

There are two ways to do this. I've my combining both solutions I've found that I've been able to maximize both resiliency and flexibility.

1 - Server Side.

Use OSXFuse (https://osxfuse.github.io/) and mhddfs, the latter of which you can install via MacPorts, to create a large drive pool. Then share that. (A wrinkle here here is that mhddfs runs in user space, typically after login, so file-sharing may need to be restarted after mhddfs fires. I'm still trying to work out that kink. If you figure anything out, please do share.)

Know that you can then also share the drives independently. Use the DrivePool share for reading, and the individual shares for writing (so that you have more control over where the files go).

2 - Client Side.

Use auto_mounter and mount all the drives individually on the client, but in the same folder. Although they are individually mounted, auto_mounter is smart enough that after a short sping-up-and-connect delay they basically act as a large, laggy folder on the client machine. This solution is suprisingly robust.

The settings will be a combination of two client-side manifest files, (1) /ect/auto_master, and (2) conventionally at /etc/auto_resources. The best tutorial for this is here - http://useyourloaf.com/blog/2011/01/24/using-the-mac-os-x-automounter.html. It's old, but the instructions still work perfectly on my machine using 10.9.5 on the client and server.

3 - Combine both solutions!

I have my mhddfs master drive pool on my client at /mnt/DrivePool, and the individual drives at /mnt/IndividualDrives/D01 through /mnt/IndividualDrives/D10. It looks a little clunky at first, but it is actually quite robust and flexible for my needs.

Solution 2:

I've just realized you can use UnionFS on OSX, via fstab or automount. This might be what you are looking for. It's like mhddfs without the balancing.