Having a home lab like me is a great idea if you require a lot of storage and need a virtual environment to build or test something frequently. I would like to share the concept and setup of my home lab in this article, but not the step boy step guide to replicate what I have done before.

If you want a step by step guide, you can check these links:

Overview of FreeNAS setup on ESXi

ESXi is installed as the base OS and FreeNAS is installed on top of ESXi. I passed all hard disks to ZFS (File system used in FreeNAS) as RDM (Raw Drive Mapping) to let FreeNAS gets closer to the hard disk and gain the benefits of ZFS and virtualization.

The storage is managed by FreeNAS VM. We just need to connect to the ZFS volume via NFS (Network File System) in ESXi, then we can store all of our virtual machines to ZFS volume.

“ZFS combines the roles of RAID controller, Volume Manager, and file system, and since it’s all three in one, it wants direct access to your disks in order to work properly. The closer you can get ZFS to your storage hardware, the happier ZFS is, and the better it can do its job of keeping your data safe.”


All of my virtual machines are stored into the ZFS volume, except the FreeNAS VM. Each virtual machine has an isolated environment to serve its own purpose.

List of my VMs:

  • Gitlab
  • Minecraft server
  • MySQL server
  • Apache web server

I started to run this 3 years ago and this server saved me a lot of money for renting cloud server from VPS. I can deploy any applications I want and the performance is acceptable.

Hardware Configuration

CPU 4 CPUs x Intel(R) Xeon(R) CPU E3-1230 v3 @ 3.30GHz
Motherboard  MSI B85-G43 (Server board is better)
RAM 32GB DDR3 (ECC RAM is better)
HDD Seagate BarraCuda 3TB * 4
Network Adaptor Intel Gigabit Dual Port i350-T2

TOSHIBA DT01ACA100 for ESXi installation and FreeNAS VM.

Seagate BarraCuda 3TB * 4 passed to ZFS as RDM (Raw Device Mapping).

ESXi does not support all hardwares, please check the capability guild carefully.



  • Allocate at lease 8GB to FreeNAS VM and reserve some CPU resources to make sure that your NFS volume works as expected
  • Do not run this setup in production environment
  • Don’t use anything cheap