FrenziedManbeast's HomeLab

Salutations

Hello all - I am finally getting around to documenting what has become my HomeLab setup. But all great tales need a backstory! I've been building PCs since 1997, but until recent years I have never had cause to go beyond my daily gaming PC. For context I have a B.S. in Computer Science and Mathematics. This verbose post is my attempt at sharing some of the major motivations, iterations, and milestones for the hardware, software, and philosophy specific to my HomeLab. I'll do my best to format it well, but at this point the journey is already measured in years!

Fall 2022

Origins:
This idea came from wanting a dedicated machine to host games for my friends/family. Pals could theoretically hop on and off things like Valheim without needing me to always be logged into the hosting world. I started with an ASRock Z690 PG Riptide DDR4 mobo w/ an i5-12500T and 16gb of DDR4 3200 inside an old gaming PC case.

Then I thought:

“Hey! I could put some hard drives in there and use it as a file server since it’ll be on 24/7.”

I also remembered that Plex was a thing (I work in IT and a former co-worker had been hugely into Plex and showing it off as early as 2012). I suddenly realized Pandora’s Box had been opened. I would need wisdom and luck to plan/execute this to minimize pain and wasted time.

Spring 2023

Expansion & Planning:
That dedicated Windows machine running games and Plex quickly led to me talking with a gaming buddy who told me about Windows Storage Spaces. I used it to span five 8TB hard drives in a RAID5-esque setup. I chuckled as I remembered my days of using RAID0 on 74GB Raptors so I could Fraps + single-core game faster in the early 2000s.

The mantra “RAID is not a backup!” rang in my head as if my old unwashed Hungarian professor was still shouting it at me. One lecture he told us:

“If you work hard in my class, one day you will become the job!”

He was right, you guys…I really did become the job. Jokes aside, I realized that if I was taking all this time to build and maintain a system for hosting things, I should probably also figure out how to back it up. So I picked up a Terramaster D5-300C Direct-Attached Storage device on sale. I also needed some more used hard drives - this time four 10TB disks to backup my data.

By the way, diskprices and ebay have both been great for saving tons of cash on spinning rust. I’ve seen lots of people scoff at the notion of buying used hard drives, but at this point I’ve saved over $1,000 by buying used rotational disks alone! I’d specifically like to shout-out to seller “goHardDrive” on Amazon.

They pack and ship hard drives better than anyone I’ve ever seen, and the two times I’ve had disks fail they ship replacements before my dead drives even arrive to them. Several of their listings also come with multi-year warranties which is well outside what Amazon or ebay normally cover. I have no financial arrangement or relationship with them, but in today’s world it’s nice getting fast quality service.

Learning:
During this time I started consuming all kinds of information about “Home NAS”, “HomeLab”, etc. I started watching a lot from Wendell, NASCompares, and STH among many other sources. I started learning about three scary letters…ZFS. I woke up screaming at night worried about bit rot on my Windows machine(kidding), and wanted to learn about TrueNAS Scale.

But I didn’t want to risk my data to my own ignorance or an untested platform. In addition to my dedicated PC serving games and media, I now needed a test machine to tinker and learn new Operating/File Systems on.

Summer 2023

New Loot:
I found an HP M01-F2254(i3-12100 + 8GB DDR4) on ebay for just under $250 shipped. I typically hate OEM machines for their proprietary components, but this had some PCIe options and basic connectivity for a decent price. With ZFS on the horizon I took the opportunity to upgrade from 16GB → 64GB via a 2x32GB kit of Mushkin 3200. Also during this time the used SATA SSD market on ebay was crashing hard. Many companies were listing GOBS of 2TB drives. I bought 15 x 2TB SATA SSDs (mostly Micron 1100s)on ebay for an average of $44.46 a piece in June/July 2023.

I got inspired by Wendell to ‘color outside the lines’ and put all my live data running on the NAS onto flash SSDs. I had no idea how well or poorly this would work, but I saw cheap flash and thought what the hell. That would also let me use my sets of 8TB and 10TB HDDs as backups, giving me three copies of all my data. I keep one set of disks off-site at a nearby family member’s home and rotate them regularly.

With so many SSDs I needed additional SATA ports. I found a LSI 9220-8i already flashed to IT Mode on ebay for $31 shipped, and my ASRock mobo already had 8 ports. I used a spare 500GB NVMe SSD to act as the OS drive for TrueNAS Scale. I know it’s overkill, but I had the thing and no current plans to utilize NVMe in TrueNAS otherwise. I also bought some 5.25" External Bay → 6 x 2.5" drive mounting brackets. They were cheap and a good enough to proof of concept this harebrained scheme.


Learning:
I installed TrueNAS Scale on the HP, and started learning about Linux and the CLI in earnest for the first time in years. I never minded Linux, but my background was PC gaming and software development on Windows environments. I never had a need to learn and retain gobs of information or use Linux daily. This was a wise decision, and I eventually gained enough confidence in using the system that I thought it was time to host my data on ZFS. TrueNAS Scale had lots of appeal - open source, ZFS, an active and rapidly growing community, apps for things like Plex/etc…I was sold!

That brings us to my next picture: I realized we were gonna need better organization and keep my wife happy. When we bought our place in 2022, she let me run with the idea of turning the formal dining room into our home office. My daily PC is in a common space, and I want to be considerate of that. This picture was taken July 2023:


My daily PC(Fractal Define 7 case, bot-left), my ‘server’ (Rosewill Blackhawk case, top-left), the HP Desktop(top-right), and the Terramaster DAS(bot-right). We’re gonna need a bigger boatlab!

Fall/Winter 2023

Early Days With TrueNAS Scale:
In the beginning, there was (mostly) peace. TrueNAS Scale was fairly simple to initially setup - I didn’t bother with RAIDZ at first since I had multiple backups, and I had no idea if I was fully committed yet or not. I also had a mix of brands/models of “2TB” SSDs. When I went to build the ZPool I noticed that, and went for a YOLO Stripe configuration. Plex installed without too much fuss, and I even stood up a Linux VM to have a place to putter and learn. I had my files, my media, and most importantly ZFS + Snapshots with a rotating backup to spinning rust - most excellent.

System Updates:
When installing all my SATA SSDs I also took the opportunity to install an upgraded LSI 9300-16i flashed to IT Mode. This allowed for up to 24 SATA devices between HBA and ports. So here’s what the system looked like as of September 2023:



Cobbling together a backup machine:
I discovered and started scrapping together old hardware for a “Backup Machine” for possible automated/remote Replication Tasks in future. I settled for my now full-legendary Sandy Bridge CPU/Mobo combo. TrueNAS Scale Replication Tasks are awesome, by the way. I still use them today. Here’s the backup machine that only comes online when it’s time to push an update:


I put those components in my wife’s old Rosewill Challenger case from her previous gaming PC.

The Growing List of Issues and Nagging Inefficiencies:
In the world of HomeLab, there are many ways to go about solutions. It’s the great and terrible part that someone, somewhere right now is doing it better. When you discover this, there’s the itch to upend everything and rebuild or pivot. I’ll try and summarize them:

  • As I went from totally ignorant to a novice of ZFS, I realized that having ECC memory would offer the best tier of long-term data protection. At first, I only stored media and more trivial data. But over months I had also started curating more precious things - generations of family photos, documents, and genealogy. Some of our family’s original digital photos from the 90’s/early 2000s era had already garbled digital info, distorted colors not present in original scans, or completely non-readable data. Bitrot/data corruption was real, and I found the appeal of ECC growing weekly.

  • The hilarious lack of PCIe lanes and I/O on consumer platforms. Watching people show what 128 lanes of PCIe 4.0 or better can achieve made me furiously green with envy. I couldn’t capitalize on all the cheap U.2 drives on eBay at scale due to the limitations of a Z690 platform. I went from mocking video content like the Forbidden Router by Wendell to lusting after parts of it.

  • TrueNAS idiotic complexities, iXsystems, and the forum community. I use my NAS as a place to store files on the network - wild, I know. I also have Plex running on said server. iXsystems thinks it’s a good idea to restrict users from using a NAS that has an App running with access to any folder running SMB. What this means in practice is you cannot have your Plex Media folder shared via SMB and then have your Plex Media Server pointed to that very same folder. I spent weeks researching this and reading other users screaming bloody murder about how foolish it was. I was convinced a solution would present itself if I persisted.

That last bullet point started as a minor annoyance, but quickly grew into a real problem for my long-term goals on the NAS. I wanted to run multiple Apps on TrueNAS (NextCloud, Plex, Navidrome, and more!) But if you circumvented the setting that broke said shared functionality it voided your ability to receive any level of support from iXsystems or seemingly their forums.

There were also major issues I encountered with the Apps in general as well - even their “official” branch ones would sometimes just hang and never fully deploy/come online. The major issue here is I believe the Apps are built on Kubernetes, so anything beyond “something went wrong” level of diagnostics would require some serious help. I consider Kubernetes to be terrifyingly complex, because it can do wonderful, complex things. But my god should starting and stopping a simple plugin require such a thermonuclear solution? The Apps were wonderful, until they’re not.

I decided to investigate running server applications like Plex, etc inside of a Linux VM running within TrueNAS as a way of getting around this. That way, I would only use the NAS + VM functionality of TrueNAS Scale, and just leave the Apps and Kubernetes complexity out of the equation. Unfortunately, this also proved challenging - I had repeated issues with the VM ‘seeing’ the TrueNAS host. It’s been many months since I was troubleshooting this, but I recall seeing videos from Wendell? and others walking through how to communicate with the host machine. I could never duplicate the results however, and ended up going a different direction entirely.

In Defense of Domestic Tranquility:
After a few conversations with the wife, it ‘was decided’ that the spare room in the basement would become my ‘tech room’ to contain the tinkering, the tech infrastructure, and all the many screws/spare parts that go with the PC hobby in general. Great news! There was just one problem - the office with our PCs was the only place at home with Ethernet.

When we purchased the home in 2022, my brother helped me pull the RG6 coaxial cable up into the office from the basement before we moved in. We would have to pull it back down into the lab, re-terminate the cable, and then pull Cat8 back up to the office switch. I got the thumbs up and we put the cabling project on the household TODO list.

Networking Pit Stop:
With the basement tech room being the new entry-point for my cable modem broadband, I wanted to put 10GBase-T upgrades in place for the LAN, and upgrade the router to support at least 2.5GBase-T. My router at the time could only handle 1GbE but my Comcast plan is for 1400/200 service, and I didn’t want to leave that performance on the table any longer.

My migration to TrueNAS Scale complete, I put a dual port 2.5GbE NIC into the HP Mini Desktop and installed OPNSense on it. I still have more to learn about this, but I figured this would give me a good platform for learning things such as VLANs, etc for IoT devices or Retro Gaming LANs. OPNSense feels incredibly powerful, but compared to a consumer networking device it’s pretty intimidating. I enjoy a good challenge, but when a mistake breaks your wife’s internet you want to get it right the first time.

I switched my old WiFi 5 Netgear Nighthawk router into Wireless AP mode and left it in our centrally-located office. I purchased a TRENDnet TEG-S762 for the office, and a TP-Link TL-SX105 for the basement tech room. General topology is Comcast Coax → Hitron CODA56 Modem → OPNSense Router → 10GbE TP-Link Switch → Rest of house.

TODO:
That’s enough for an initial post. I’ll update again next time with any missing gaps, and continue the story through the winter and up to today. If you made it this far, I want to thank you for your time. But I especially want to give a big shout out to Wendell and the production crew from Level 1 Techs for putting out great content. Much of my journey has repeatedly referenced your same videos over and over again. I do use other sites, books, and articles as all good learners should, but Wendell especially helped me color outside the lines with a bit more confidence than I otherwise would have had.

10 Likes

I had repeated issues with the VM ‘seeing’ the TrueNAS host. It’s been many months since I was troubleshooting this, but I recall seeing videos from Wendell? and others walking through how to communicate with the host machine.

My 2 cents: Proxmox or other KVM based solutions: For internal communication between VMs on the same host I use a seperate virtual networkbridge without any physical ports attached. Should something happen in my network, then the communication between VM hosts and VM clients isn’t impacted. Example: Jellyfin container accessing TrueNAS shares. Host_OS accessing shares of a TrueNAS VM.

I guess couple things stand out your raid card pcie gen 2. I know when tired use raid card then did not really perform well enough. Even in jbod mode. I on my ture nas I use all the internal sata ports then have cheap pcie 1x adapter. For the extra drive. I do have my nas though iscisi run vm on machine. I have in same network as main. Never once had issue with dropping. It always good idea run ecc ram. I don’t on my machine. As it was built from left parts seems to be stable.
Seems to be able to hit speeds 37 Gb/s per second of total transfer without much issue. I tend let machine hold backups. Then also transfer storage. If machine down need transfer load to host and it does not have storage.

Platform is amd 2700 b550 motherboard 64gb ram
dual intel
1 250 gb nvme 6x16 tb drives (Most usage is here.
2x 1 tb sata drive
1 4tb nvme

Post above updated with upgrade pics and info for 15 x SATA SSD + SAS 12Gb 16i HBA PCIe 3.0 upgrade. Also added a section detailing the network hardware upgrades. The next time I sit down I’ll work on the system overhaul showing how I started trying to solve some of the challenges and limitations of the NAS itself I kept encountering. The current system today looks quite different from what it started as. Stay tuned!

1 Like

Had to look twice at that picture with the CoolerMaster heatsink to verify it wasn’t one of my old builds. Those good ole LSI cards are sweet and I’ve never regarded them as overkill. Better to have one’s options on hand even if they’re not in immediate use. I run one in IT mode and the other in IR and my build happily enjoys RAID 0, 1, and 10 all on the same system without any conflicts. At some point you may wish to consider better cooling solutions than the ones you feature here. The system will get pretty hot under loads. That one picture of the RAID cage looks like an old ISTAR. Love those old cages, solid metal and durable. If at all possible it would be prudent to run some air over the drives in that cage to increase the life of the drives.

Looking forward to more pictures of your updated build. Thanks for sharing! :+1: :slight_smile:

2 Likes

New Updates! Sincere apologies for slacking on this for so long. It’s been an extremely busy year for me, but I saved my work on this to finally resume below:

January 2024

We’re gonna need a more expensive boat:

I was frustrated with the limited PCIe Lanes and lack of ECC Memory that my Alder Lake build offered. To this day I’m not entirely certain exactly how much having RDIMMs helps ZFS protect my data - but since my NAS was becoming a destination for all kinds of things like irreplaceable family history/photos I decided to use every ‘affordable’ strategy I could to preserve the data.

I find it odd how sparsely ECC is offered today considering the HomeLab/NAS ‘boom’. I’d appreciate to hear more on this from Wendell, NASCompares, and ServeTheHome - we see a lot of hardware covered, but the nuanced discussion around ECC (both Unbuffered and Registered) is one that seems to be fringe for consumers.

…anyway! Let’s get onto showing off my ‘new to me’ hardware upgrades from like eight months ago now…sheesh time flies!




The Dirty Details
CPU: AMD EPYC 7313P ($471)
Cooler: Noctua NH-U12S TR4-SP3 ($95)
Mobo: ASRock Rack RomeD8-2T ($666)
RAM: 8 x 32GB DDR4 3200 Micron RDIMMs ($382)
SATA SSDs: 16 x 2TB Micron 1100 ($940)

I scored an unlocked EPYC 7313P from a North American Seller in January '24. That was under half ‘market price’ for the time - they are still over $700 but good to see them finally coming down after months.

Finding a used mobo for a decent price was proving difficult on the other hand, so I went with a new board off Newegg.

I got the memory used off Ebay after a bit of back and forth “Best Offers” with the Seller. One of the reasons I settled on an EPYC platform was the exorbitant UDIMM ECC/DDR5 RDIMM prices. It was like an order of magnitude more to go with less or in some cases slower memory.

This was my first-ever server build featuring IPMI of any kind, so the pucker factor was real! I’ve been building and tearing apart PCs since 1997, but I was more than a bit nervous. Going slow, putting the build together on a test bench, and leaving my existing NAS intact during “burn-in” alleviated much anxiety.

FYI running Memtest on 256GB across multiple passes feels like a classic Snickers commercial - you ain’t going anywhere for awhile. I ended up testing the RDIMMs two at a time, then four at a time, then once with all 256GB installed to vet things as much as possible. This took several actual days of running downstairs to check on things, etc.

The 16 x Micron 1100 SATA SSDs were bought used off Ebay from various sellers between June 2023 and January 2024. If I could turn back time to 2023 I would have just bought six Samsung 8TB SATA SSDs at rock bottom and been in a better position. But also part of me was like “Let’s color outside the lines and learn about HBAs!”

HBA Upgrade and SSD Backplanes
My original HBA was slower and only supported eight disks, so I upgraded to a used LSI 9300-16i pre-flashed to IT Mode($81). For the backplanes I went with 3 x Athena Power BP-15287SAC ($207) - a fraction of the cost of IcyDock, but months later I see no issues. The fans appear to be bog standard but replaceable, so I see no issues with my choice!




February 2024 - Assembling Voltron!

I bought 2 x 118GB Intel OPTANE P1600X Series NMVe SSDs as well($55). Blame Wendell. Everything went together smoothly overall in terms of physical build. At this point I had vetted the new components for a couple weeks on the test bench. BIOS and BMC updated without issue, and I got my hands dirty with the IPMI User Experience. It's lovely.



Finished Assembly

Overall I’m pretty happy with the finished product. It feels silly yet somehow pleasing that I put a pretty serious build together in a PC case from a decade ago. I’ve worked with four or five Rosewill cases over the years, but this Blackhawk has been my personal favorite. Just the right amount of features and budget jank.

In terms of temps everything is lovely. I installed several Noctua fans I had bought either new or used. I went with the 120mm Noctua HSF for clearance reasons, but it seems to be doing just fine. Interestingly enough, the Intel X550-T2 onboard seems to be the warmest component. It regularly feels hot to touch on the heat sink and reports ~52C at idle despite a pretty good breeze pushing past it constantly.

Current Software
I feel like my software solution could stand some improvement/feedback, but here’s how things are laid out for now:

Bare Metal OS is Proxmox Virtual Environment. Proxmox seems fantastic, and I think I have a lot to learn here. I suspect many things I’m currently using VMs for might be easily implemented with Containers directly within PVE. I need to learn about both PVE and Docker more in general, especially with my Software Development background!

I have a VM running TrueNAS Scale, with all 16 2TB Micron SATA SSDs passed through individually. My attempts to pass the whole HBA through to the VM failed across multiple approaches, so I used the method detailed here by TechHut. First attempt succeeded without issue so…winning?! https://www.youtube.com/watch?v=MkK-9_-2oko

In TrueNAS I have my 16 SSDs in a single Pool. That pool has two VDEVs that are eight disks wide in RAIDZ configurations. I recently had a VDEV degrade due to failing SSD. I was able to narrow down the disk, and get the VDEV resilvered without issue. There was some pucker, but I also have multiple backup pools to spinning rust on and off-site.

I’m currently considering adding 2-3 HDD as a separate pool into TrueNAS Scale, and storing the more archival data to spinning rust. I’m down to something like 8.5TB free on my SSDs, so it can probably wait until 2025 to be addressed.

Long run it feels silly to maintain a separate on-site backup machine for replication. I had originally played around with the idea of setting up TailScale to my brother’s network, and pushing remote off-site backup to his house. But my current process of rotating out boxes of hard drives is fairly minimal effort. I’ll look into the TailScale option if/when he or I ever have other reasons to securely join networks.

I also have a second VM running Ubuntu as a generic Linux Server hosting my Plex, Navidrome, and Valheim Servers. I was also able to get Duck DNS setup and seems to be rocking fine for now.

3 Likes

For 2025 I have goals to get my Tech Room organized and in order. Currently different kinds of work compete for limited/shared surface area. I have ordered a portable Husky Workbench for now to put my electronics work on separate of PC workbench.

I have also ordered a much larger Husky Workbench that is 24" x 96" to keep works in progress managed tidily. Eventually this portable workbench can be freed up for other uses.

I still love the look of this jank case. Blinky lights are cool during ZFS Replication. Ooooo!

I will try and show things in progress as they develop. Happy Holidays all!

1 Like

I went from 16->22 2.5" SATA SSDs recently. Rebuilding my NAS as three RAIDZ VDEVs, each seven disks wide, leaving one hot spare available to quickly replacing disks as they error out.

This started as me experimenting with the new VDEV extension in Truenas Scale, but several of these SSDs are not exactly the same capacity (Micron VS Crucial VS Samsung 2TB models, etc). So it would have never worked perfectly to utilize all remaining disks.

If I wanted to keep it simple, I could have put all the strange off-sizes into a new VDEV that was just smaller and deal with the inefficiencies, but I have two sets of backups on HDDs, one of which is off-site. So I figured what the heck, let’s tinker.

Well, during that VDEV extension I had one of my SSDs throw 40,000 S.M.A.R.T. errors - the extension paused due to the degraded VDEV. I replaced the disk, but even after resilvering completed the VDEV remained Degraded and the Extension did not continue. I looked around online but work got busy so I just opted to destroy the Pool and rebuild with the above VDEV configuration. VDEV extension is really slow in that you can only add one disk at a time - each time it’s a huge amount of time getting it integrated. You’re probably better off just adding new VDEVs unless you absolutely don’t have another option - seems pretty fiddly extending by one disk at a time.

It warms my icy old gamer heart to see my old Sandy Bridge powering my backup TrueNAS Scale machine like a boss.
backup_server

We’re gonna need a bigger bench!

My 24" x 96" Husky Workbench arrived today - 200lbs package freight dropped in the driveway. That was interesting by myself, but I got it inside and safely in the basement. Stay tuned for more updates and re-org!

2 Likes

Battlecruiser, operational.

  • ZFS really wants you to stay at or below 80% capacity from what I understand. So with 14.83 total available, less 20% of 32TB I’m up to ~8.5TB of additional space.

  • The caution symbol under Topology is just alerting me to the Disk size mismatch in this VDEV. I put all the odd-sized Disks here to minimize inefficiency.

  • TrueNAS Scale daily annoyance - you can’t dismiss the caution ‘!’, TrueNAS will never stop bitching about the mismatched Disk size. Unraid beautifully allows you to (typically) ‘Acknowledge’ these notices.

  • I also went from two 8-wide VDEVs, to three 7-wide VDEVs in my pool.

Mismatched VDEV

  • From what I understand there are no risks to doing this, but the VDEV will default each Disk to the smallest size in the VDEV. So there’s some waste in this VDEV in terms of capacity in that each Disk will be set to 1.75TB.

For completion’s sake, I did run a Scrub of the Pool this morning to check data integrity post-rebuild.

  • There were several recoverable errors found and corrected
  • I then cleared the Zpool Errors and re-ran the backup import which successfully verified all data was present.

I remember the same thing happening the last time I rebuilt from backup, and I think we’re good to go now. The only remaining cleanup task I need to perform is to create regular daily/weekly/monthly Snapshot schedule for the newly (re)created Pool.

1 Like