This is my first TrueNAS build, and first homelab build of any kind, so any advice whatsoever would be highly appreciated!
I have a spare Ryzen 5900X from a previous computer build and wanted to get some more use out of it by moving it into a NAS. Little did I know what I was getting into. I think I’ve ironed out most of the parts and the build, but could use help with a few details from those with experience, namely:
- Motherboard selection: My original choice was the ASRock Rack X570D4U, but both that board and its predecessor, the X470D4U, appear to be unobtainium right now, at least from what I’ve seen. I read through the excellent thread on Pixelwave’s Ryzen build, and he also recommended the ASRock X570M Pro4, but that board lacks IPMI and I’m not sure how difficult it would be to set up a board like that headless (I do have a spare graphics card though, so it’s doable). Any thoughts on the importance of IPMI, or other boards I should consider?
- NIC selection: deciding between Intel X710-DA2 vs the TRENDnet TEG-10GECSFP or equivalent, which to my understanding is a rebranded Marvell AQN-100. Chose these two NICs for their support of ASPM, to allow the Ryzen processor to idle down to a C6 C-State. Does anyone have any experience running the AQN-100 with TrueNAS Scale, or any issues with it, particularly with a Ryzen processor?
- 64 vs 128 GB of RAM: 64 GB should be plenty of L1ARC to start, but I am tempted to get 128 GB from what I hear about Scale and Linux only assigning half of memory to L1ARC by default. I imagine this can be changed in the configs, and I can always upgrade down the line easily.
- Any suggestions for good low power HBA SAS cards that support ASPM? One part of the build I haven’t figured out yet, as I’ve been trying to nail down the motherboard first to figure out how many additional SATA lanes I’ll need.
Use Cases
- Long-term storage archive (OS image backups, documents, pictures, etc.)
- Music server (Samba for home speakers, maybe Plex Amp or something similar for phones)
- Game drive (directly load games off the NAS and network)
- Homelab experimenting
- Private cloud server (i.e. WireGuard for remote access to NAS)
- Home assistant
- Pi-hole or AdGuard Home
- Maybe a VM or two
- Optional:
- Gaming server (Minecraft, Palworld, etc.)
- Git Server
- Plex/Jellyfin Media Server
- VPN/Proxy
Detailed parts breakdown (besides the ones mentioned above) - Please feel free to point out any mistakes I’ve made or other things I should consider:
Hardware
- Processor: Ryzen 5900X
- spare part, wanted to give it a new home. Admittedly there are likely better platforms out there now, and the Ryzen solution lacks Intel Quick Sync (but media encoding is low on the expected use case list). Welcome to hear from anyone who thinks this would be throwing good money after bad by reusing this processor though.
- Boot Drive: Samsung 980.
- Cheap and extremely power efficient, with ASPM support.
- Memory: 64 GB - 2 x Micron 32GB DDR4-3200 ECC UDIMM 2Rx8 CL22
- Memory speed matches the Ryzen 5900x well, debating 64 vs 128 GB.
- Pool storage: 8-10 4 TB WD Red SA500 hard drives in RAIDZ-2 single VDEV
- Probably the most controversial part of the build. I wanted the pool to be fairly performant to allow for playing around with a variety of homelab applications, and based on the ZFS reading I did, the best way to do this was to have a large quantity of drives, at least when it comes to streaming reads and writes. On the other hand, IOPs performance in RAIDZ is tied to the speed of a single drive, and having many smaller HDDs isn’t power efficient compared to a few large drives. Furthermore, I don’t anticipate our storage needs being extremely high. That’s how I landed on SSDs, for their speed, power efficiency and flexibility (and honestly, because it sounded fun. The worst reason, but it’s a reason). Considered a two VDEV setup with RAIDZ-2, but I believe the IOPs from a single SSD will be sufficient performance for what I want to accomplish. Please feel free to talk me out of this one if you feel I’m making a mistake.
- Power Supply: Corsair RM750x (2021)
- More wattage than I need, but the 550x and 650x from Corsair aren’t readily available anymore. Wolfgang’s PSU Low Idle Efficiency Database, sourced from Cybenetics data, was very helpful for this.
- Case: Sliger C4712
- Only downside of this rackmount case is the lack of an air filter. Looks better quality than the Rosewill cases though. That being said, if anyone has a suggestion for an alternative quiet 4U rackmount case with a filter, let me know.
Other Relevant Info
- The NAS will be plugged into a UPS, which is backed by a standby generator
- The 10g NIC will connect to a 10g port on a 2.5g switch. Plan on upgrading to 10g, but it’s an older home, so probably will have to pull cat6a rather than fiber. The 10g will still be useful of course, if multiple systems are pulling from the NAS at the same time.
- Chose TrueNAS Scale for its containerization advantage over Core, with Docker and Kubernetes being more robust than iocage. Fits my overall use case better. Still a NAS first, but it’s a NAS+. Also suspect that it will have better hardware compatibility for AMD Ryzen and easier to make a low power build with, though admittedly I haven’t looked into FreeBSD alternatives to utilities like PowerTOP on Linux. Still a lot to learn here.
- Don’t believe I’ll need L2ARC, SLOG, or a metadata VDEV, since I’m working with an all SSD pool.
Any answers to my above questions or input on my build is much appreciated, and a big thank you in advance.