Hello everyone, I’m starting to evaluate the need to build a NAS/server/home theater DIY setup. I’m doing some research to assemble great hardware.
I have a case with 12 bays; obviously, I’ll start with fewer disks, but I’m aiming to have, in a few years, 12 HDDs of 26TB each with 3 parity disks (I think that’s enough) mounted on a high-performance HBA.
Now I have a doubt: how much RAM is advisable for such a system? I admit that I’m still undecided whether to install TrueNAS Scale baremetal or as a VM on Proxmox (I will use Jellyfin as a media center from this machine), but I might also run other VMs (like Home Assistant).
Is 128GB sustainable with all these TBs? If I use a 4TB NVMe as L2ARC to speed up the reading of small files, is that too little?
thanks for the answers
so even with 200tb, 128gb isn’t a limit?
This is excellent news
The build will generally be used as a NAS, maybe with some light VMs, and to handle some video streams with transcoding via iGPU in 4K HDR. I don’t plan on using deduplication.
No. I mean, yes, in a sense it’s going to be limit–ARC obviously can’t exceed available RAM. But it’s highly unlikely to limit performance in any meaningful way. Check your ARC stats after a few weeks of uptime and see how it’s going–in all likelihood it’ll be fine.
Thank you very much, this information makes my hardware choice more flexible. I’ll do as you said. Another thing, would an NVMe for metadata management be useful?
A very crude rule-of-thumb is “1 GB per TB”, but it relaxes at high RAM so you do NOT need 200 GB to drive your array. You do need more than the recommended minimum, though, plus some for your apps/VMs, so 64+ GB is possibly not inconsiderate.
Yes, this rule was worrying me a lot, which is why I preferred to ask directly here on the forum. Let’s say that the hardware I’m buying will be my personal PC for a while before eventually becoming a full NAS/server/home theater setup, but I’m planning ahead with plenty of PCIe and M.2 slots.
The only limitation of the chosen motherboard is that it has only 2 DIMM slots, which is why I was asking if a maximum of 128GB of RAM (in this case 2x64GB) would be enough to handle the maximum storage capacity I might reach (around 200TB)
Ah… I had understood “in a few years” as referring to accreting drives over the years, and expanding, until eventually reaching 12-wide.
While it’s certainly possible to re-use an old desktop into a first NAS, this may result in less-than-optimal hardware. Case in point:
And then you may find that the motherboard also has bad IOMMU grouping and interferes with your planned VMs. And a single x16 slot rather than x8/x8. And no ECC, which is not required but cannot hurt a converged server with 200 TB of storage.
Or you’re going to spend big for a W680/W880 board with desirable server-grade capabilities which may not be an optimal (gaming?) desktop…
Conversely, the “case with 12 bays” is probably overkill as your daily desktop.
Budget allowing, build your desktop as a desktop and build the NAS as a NAS. Right parts for each task, and you’ll enjoy the NAS now.
The NAS does not require the latest and greatest, and could do with refurbished server components. Throw in a cheap Arc 310 dGPU for transcoding if needed.
Another case in point:
No need for a “high-performance” HBA with spinning rust… If running TrueNAS bare metal, you only need a 9207/9300-8i and 4 more SATA ports from the motherboard for a 12-wide array. A pair of M.2 for apps/VMs, something to boot from, and it’s wrapped.
You have a case that can take your intend number of drives
You’re looking at RAID-Z3 - why? RAID-Z2 means you can lose two drives and still have all the data intact
RAM you can never have too much, but you can have too little 128GB is likely over kill but using a NVMe as L2ARC on a home system is excessive
It seems you’ve glossed over some of the important points that can become Gotchas
Number of users
Number of streams
are those streams transcoded? what are you serving to / what is the source?
GPU transcoding for Jellyfin?
NIC - 10GB
CPU what are you going to be using?
I use Kodi as my end client with the media accessed via SMB rather than streamed. My Client devices are NVidia Shields and a PC - all do any transcoding locally. I have a MariaDB VM on another PC to act as a common store for watched status - that I’ll migrate over at some point
I’d turn TrueNAS as the VM Host - depending on which VMs/Dockers etc you actually want
You need to work out how many PCIe slots and both their physical size and electrical connections you are going to need - If you go for more high end consumer board e.g. X470 chipset - watch out that you not only can split to have x16/x16 phy with x8/x8 elec but the CPU supports that
If you don’t use deduplication, you can probably do just fine with 32 GB of RAM. Dedupe needs the 1 GB/1TB, nothing else. I have a couple of NAS in use, 1 with 24 GB and 1 with 32 GB, I tested the 32 GB one with 64 GB and it made no difference. However if you want to run apps on TrueNAS, you need to add RAM for the apps, but if you run TrueNAS on Proxmox then you can install the apps outside of TrueNAS and leave it with 32 GB.
L2ARC nVME - you need to test. I know people that told me it made no difference for them, but I have a SSD as L2ARC and it makes a difference for my old digital photo library of small files (25 years ago resolution was very small) where opening many files in sequence works many times faster after the first time, when they are copied in L2ARC. For any other purpose, I see no difference. For my GoPro movie library it makes absolutely no difference as the movies don’t fit in the 500 GB SSD and I don’t need it to fit.