Storage XCP-ng Xen Orchestra

XCP-ng NFS VM storage

I’ve been running the VMs in my home lab on a ZFS pool on FreeNAS and now TruneNAS CORE made up of 600GB 10K SAS drives in a 6 x 2 way mirror configuration for some time and it works fine, but I’ve always wanted to have an all SSD high performance array. The price for used 400GB Hitachi Ultrastar SSD400M HUSML4040ASS600 has finally fallen to a level that makes them an option for a home lab setup. These were some of the best SAS SSDs available when they were released and they still have lots to offer for the home user. These drivers are MLC NAND with supper high endurance. For the rest of this blog when ever I say TrueNAS I’m referring to TrueNAS CORE the replacement for FreeNAS the free open source NAS.

Servers Storage


Eventually you will come to the point where you’ll need more storage. I’m running TrueNAS and there are 3 main ways of increasing storage capacity. You could replace every disc in the pool to a larger size, one disc at a time resilvering each disc as you go and once all discs are replaced the pool will have grown in size. The second option is to add another vdev to the pool and last create another pool. I’m using a Dell R320 with 8 3.5″ bays and have no available slots in my server for more discs so after some time looking at the options I decided to go with 2 x EMC DAE. DAE stands for Disk Array Enclosure. There are two different types, one with 25 2.5″ slots and the one I’ve chosen to use, the KTN-STL3 which has 15 3.5″ slots with SAS 2 controllers.

EMC KTN-STL3 15 Bay Enclosure

Pick A Server

The first thing you need when going down the rabbit hole of setting a smart home with all the bells and whistles is a server to safely hold all of your data and a way to share that data. A server can be any computer that can serve up one or more applications, it could be a Raspberry PI to run Home Assistant or and enterprise server with lots of processing power, memory, storage and connectivity. If you are only running one application then the Raspberry PI would do but if like me you want to run many resource hungry applications like Plex and Zoneminder with facial and object recognition then a server in the traditional sense is needed.

There are may things to consider when deciding what type of server to use, do I build one or buy a used enterprise server, what type of processor and how many memory slots does the mother board have, how easy is it to upgrade the processor if I need more cores down the road, how much power does it use and how noisy is it. There seems to be endless things to consider and that’s because there is, and one thing I’ve learnt is that there is no one perfect server that will tick every box so it’s all about compromise.