Currently I have an arm board with a western digital 4tb connected and am using it as a NAS, Media and a Web server. It still runs perfect but the 4tb is almost full(26GB left), so now I would like to build a vm server to run pfsense, the NAS (currently using OpenMediaVault, but am thinking to switch to the ZFS FreeNAS), a dedicated server host for a webserver and a desktop windows. I will be also using plex from the NAS docker to stream to a maximum 2 streams, with no need of transcoding. Most probably I will be using ESXi if I go with freenas since I already found some users having problems on proxmox. I was interested in using a i5 but I couldn’t find an 8th series with ECC support, so I started searching for an i3 and found the 8300 has ECC support, but I think that it’s not enough. I than started to think about AMD since with the price equivalent to the i3 I can get a 6 core not 4 core cpu. But I have no experience with AMD processors, never used one. What build would you suggest? I would prefer a mini itx build, since I already got a mini itx case with 6 hot swap hdd drives.
An i3 8300 has 4 proper cores running at 3.7GHz and an 8Mb cache. It will be plenty for running a bunch of VM’s that are not doing CPU intensive tasks - at least not at the same time.
The key to good virtualization is enough RAM for each VM, fast/low-latency disks to hold OS images and scheduling heavy workloads to avoid CPU contention.
In a home context ECC Ram is a nice to have - not a must have. Modern memory manufacturing processes mean RAM is a lot more reliable than it used to be 20 years ago - good quality RAM will have a < 1% failure rate. EEC is even lower so for a mission critical server that runs 24/7, yes, it’s still a requirement but for everything else - you can weigh up the pros and cons.
A preference for mini-itx will limit your options somewhat - especially if you decide EEC is required.
Don’t bother with FreeNAS: if you really want virtualisation with the NAS features, use the OMV virtualbox plugin, or install Proxmox on top. That is a killer combo you can’t go wrong with. Old dual socket Xeon servers are dirt cheap (look at things like Dell R710 on eBay). Most of the clock speeds and other features could be largely irrelevant depending on workload, so I usually just recommend cores and RAM for a VM host, as you can’t go wrong with more. ZFS is recommended to use 1GB RAM per TB storage, and ECC is highly recommended.
I think OP was going to virtualize FreeNAS in ESXi, not use FreeNAS for virtualization. That said, I agree with you in that I recommend against both.
Agreed, with the caveat that old servers are loud and power hungry. If you don’t have a garage, basement or well-ventilated closet to put it in, you will probably want to do a fan mod to make it quieter. Old hardware one way or the other is going to be a great value to you though. Just don’t go older than Xeon 5600s. You’ll want to have AES-NI for some future-proofness.
This is somewhat contested. If you’re doing mainly sequential workloads and have dedup off, then you can drive a very large array with 32GB of RAM. Also, to clarify, ECC DDR4 is overkill for most things, but ECC in DDR3 is more important, so if you go with older hardware, spring for ECC. It’s not much more expensive anyway.
My overall recommendation is that you run FreeNAS on used hardware with some plugins/jails and run pfsense on separate low-power hardware. My rule of thumb is that if you can separate anything physically, separate network from services.
Imo, a pfsense thin client is probably a good match for you. Here is more info on that.