I’ve talked before about using ZFS as the basis for a file server that contains valuable information; like family photos and music collections. My first attempt at this was to use Ubuntu as the basis for the server and add the ubuntu-zfs package so that I could create and manage ZFS pools. The performance wasn’t great with this solution, so I’m taking another approach: using OpenIndiana to deliver a set of ZFS volumes to a separate installation of Debian (I’ve become disillusioned with Ubuntu of late. Basically, I don’t like the new UI).
Architecture
- The base hardware is the same as before, except that I am adding 2 off 64GB Solid State Disks (SSDs) and a 16GB SSD
- VMware vSphere is installed on the 16GB SSD
- A new Host Bus Adapter (HBA) with the current 2 off 3TB disks is passed through ESXi
- OpenIndiana is installed into the first VM and configured to use the 2 off 64GB SSDs as a ZFS Mirror for its root pool
- The existing ZFS pool is then imported into OpenIndiana and the appropriate volumes exported as NFS mounts
- A new ZFS Volume is created to hold further VMs and exported back to ESXi as an NFS mountpoint
- Debian is then installed into a new VM and used to serve the various NFS resources to the house clients.
This may sound a bit complex, but it gives some significant advantages:
- ALL filesystems (apart from the very small ESXi filesystem) are created on redundant ZFS volumes.
- Client operating systems like Debian (and Windows Server 2012) can benefit from the speed and integrity of ZFS without being aware of it.
- There’s no need to add non-standard additions into Debian for it to take advantage of ZFS.
Progress
So far, I have been playing with OpenIndiana to get used to it. I’ve replaced the Ubuntu/ubuntu-zfs combination with OpenIndiana to gain speed and more functionality.
This is only a first step. Once I have the SSDs and a replacement for the existing HBA, I’ll install vSphere and build up.