Project "Poorly Planned" TrueNAS Build

TL;DR
Had a lot of spare parts. Wanted to build a NAS. Final build:

  • ASRock Z97E-ITX motherboard
  • Intel i7-4765T CPU
  • Kingston HyperX Savage 2x8GB DDR3 RAM
  • Corsair HX750 power supply
  • Fractal Node 304 case
  • Seagate IronWolf 4TB HDD’s (6) - storage pool
  • Samsung 840 Pro 256GB SSD - for OS
  • Scythe Big Shuriken 2 Rev B cooler
  • TrueNAS Scale

I’ve wanted to build /or buy/ a NAS for quite some time, and after a recent PC upgrade I had a lot of spare parts… I figured why not now? The only things missing were HDD’s and a CPU. I would already have a CPU too, but I sold it earlier this year because I didn’t think I’d end up building a NAS so soon - and honestly I was leaning more towards buying a Synology of some sort eventually.

So, here we are… building a NAS, and decided that TrueNAS would be the OS… partly because I had forgot about Unraid at this point, and partly because of the cult of ZFS singing ZFS praises.

Unfortunately, I didn’t take a lot of pics of all the parts prior to building, just a few of things I had to order as they came in.

Ah… and the name… Project Poorly Planned… Well, that’s because I didn’t really put much planning into this before buying parts I needed, and I didn’t evaluate if the parts I already had made sense for a TrueNAS machine. I got bit multiple times as a result of poor planning.

After all is said and done, I wish I had gone a different route. However, I was tired of waiting and just wanted to complete the build. Plus the thought of having to sell off all the parts I had just bought sounded like a nightmare.

Here is the list of spare parts I already had on hand:

  • Fractal Node 605 case //ended up not using
  • ASUS RoG Impact VII Z97 mini-ITX motherboard //ended up not using
  • Kingston Hyper-X Savage 2x8GB DDR3 RAM
  • Corsair HX750 power supply
  • Samsung 840 Pro 256GB SSD
  • Scythe Big Shuriken 2 Rev B cooler

As mentioned, I had previously sold my old CPU - an i7-4790K. It’s probably for the best that I did sell it because the one I bought was cheaper than the one I sold, and half the TDP - 35W vs 88W. Still 8 threads. Should be a pretty decent chip for a NAS that might also do other things than just store data.

Now I thought the only thing left to buy were HDD’s. I was wanting to run either 5 or 6 HDD’s, and ultimately landed on buying six Seagate IronWolf 4TB drives. The problem here is the Node 605 only natively holds 4 HDD’s. I planned to buy a dual HDD cage and mount it inside in the empty space left over from using a mini-ITX board in a case that will fit an ATX board. I did also briefly consider just running four 6TB drives instead… briefly. Drives ordered:

Did end up ordering a dual HDD cage intended for a Phanteks case, but returned it before it even arrived because I decided to get a Node 304 case instead.

It’s also around this time I realized that my motherboard only had four SATA ports on it. At first I wasn’t overly concerned because - as much as I didn’t want to - I could just buy a PCIe to SATA adapter to rig up additional HDDs. However, I’d read that those were hit or miss in regards to reliably working with TrueNAS… and I really wanted to save that PCIe slot for potential future network upgrade. Other users on this forum had mentioned HBA’s as a good option, but that’d still cost me the PCIe slot. Decided to just look for a different Z97 ITX board.

After some digging around on eBay I found the ASRock Z97e ITX had six SATA ports. Perfect… or maybe not [foreshadowing]. Here’s the board once it arrived, with the RAM and CPU installed. Notice the six SATA ports as well as a SATA Express port.

Things are finally coming together. I think I have everything needed for the build, aside from needing to pick up a cable that would allow me to connect my Samsung 840 Pro SSD OS drive to the SATA Express port, or a SATA to USB adapter so I could hook it up to one of the USB ports on the motherboard. I decided USB adapter was the way to go because I could easily go pick one of those up at Microcenter. Then, on the day I was putting most of the system together, I noticed the M.2 slot on the back of the motherboard. It wasn’t a full 2280 length, but would take a 2230 or 2242 length drive. SATA not NVME. Off to Amazon I go looking for a 2230 or 2242 SSD. Found a 128GB Kioxia for only $15 - that’s just a few bucks more than the SATA to USB adapter, and the bigger perk - one less cable to manage.

This is where the “Perfect… or maybe not” comment about the motherboard comes into play. It turns out that the SATA Express port, SATA ports 5 and 6, and the M.2 slot on the back can’t all be used together. You can only use one of those 3 things at a time. So, that ruined my plan of the M.2 OS drive because I needed SATA port 5 and 6 for my storage pool the most. I ended up ordering a USB to SATA adapter to use with my spare Samsung 840 Pro SSD. [Also - it turns out the ASRock Z97e motherboard doesn’t have good support for NVME drives without loading a modded BIOS]

Decided to order new SATA cables as well… Found these cool thin blue ones on Amazon:

Which now we end up here, and completed build:

Booting into TrueNAS Scale:

Final thoughts:
The reason I chose the i7-4765T is because I already had a Z97 ITX board I intended to use. However, I ended up having to buy a different motherboard anyhow… and I bought another consumer Z97 board because I was using the i7-4765T. In hindsight, I wish I would have bought a Xeon equivalent, and a ITX motherboard that would support ECC ram. I originally was wanting to reuse as many old parts as possible, but I ended up buying a lot of things I didn’t plan on… so I would have gladly opted to buy some used ECC ram as well. It was too late though. I’d already bought the i7, and I’d already bought the ASRock motherboard… I didn’t want to buy yet another CPU and another motherboard because I wasn’t looking forward to having to sell off the other stuff I’d just bought. This is the other aspect of why I dubbed this Project Poorly Planned.

10 Likes

The NAS has been running for several days now, but I’ve not done anything with it. Still researching on the best way to set up the datasets, users, and permissions.

I intend to setup Plex, Photoprism, maybe Sync thing , and have a Samba share for my other machines so they can access the networked storage. I think my plan is to have individual users for myself and my kids, and maybe the three of us under 1 group. Add that group as having access to the SMB share. Then create users for the different services I’m going to run, or maybe just one ‘Services’ user instead of individual. I’ve also read that it would make sense to setup each service with its own Dataset on the storage pool. Just trying to make more sense of all this before I start doing stuff.

Originally I was thinking of running a Minecraft server on it as well, but I don’t want to over do it. I still have my little Optiplex to use for a Minecraft server. It’s an old i5-2400 box I picked up on eBay a few years ago, and upgraded with 24GB of ram and my other Samsung 840 Pro 256GB drive for storage. This may end up getting scrapped in favor of some of the USFF Optiplex machines on eBay that have the i7-4765T in them as well. The 35W i7-4765T with 4c/8t sounds more appealing than the old 95W i5-2400 4c/4t.

2 Likes

‘Nasses’

Fortunately, no. :joy:

1 Like

Would’ve been extraordinary.
I’ve also been thinking about running the MineOS (i believe) plugin but every time i create a minecraft server it seems I’ll only be playing for a week.

What else are you planning? it’s a pretty beefy nas (cpu wise).

To bad my previous comment got flagged…
It was just an innocent joke. OP doesn’t seem to mind.

I’m not sure what all I’m going to run on it as of yet. For sure Plex and something like Photoprism. Likely to run QBittorent and Sonarr as well. If PiHole would run well in this type of environment, I’d like to run PiHole as well so I can free up an ethernet port and find another use for the Raspberry Pi I currently have running it.

Before I decide whether or not I’m going to run Minecraft on there, I want to see how much RAM is left after using it for these other things. As of now, with nothing setup on it aside from turning on the Samba service, it’s using a decent chunk of the RAM. And due to this being a non-ECC DDR3 / ITX build, I’m limited to that 16GB.

image

Now, I realize I Minecraft doesn’t necessarily need much RAM, but it’s not just one server - we have 4 that I keep running for us. Some modded, some not. Granted I don’t need them all running at the same time, but it’s just convenient to leave them all on.

1 Like

If RAID 6 I think you have the perfect ratio of RAM to storage (from what I’ve read on TrueNAS).

You have some really good specs, IMO you can go wild on plugins and services.

TrueNAS SCALE has my deep attention, very excited to see this mature into a very stable option. I went from TrueNAS Core to Synology for power savings, form (very small), compatibility (can run docker and VMs) and convenience (lots of turn key setup). I can see TrueNAS SCALE being my future “Power NAS” as pretty much every issue I had with Core was lack of options due to not being Linux based (from the Plex plugin not supporting DVR commercial cutting, to docker and so much more). Otherwise, I can’t believe TrueNAS is free, its amazing software (same goes for pfSense).

I have them setup as RAID-Z2 - which I think is a similar equivalent to RAID 6. ‘Any 2 drives can fail without data loss.’

And in regards to Synology… that’s one of the main reasons I was wanting one as well - the small form factor and low power draw. The Node 304 is a chunky boi. I don’t know what the average power draw will be.

The reason I chose SCALE is pretty much just the Kubernetes/Docker setup over Jails; seemed like I’d have more options for things to easily install.

I did see Lawrence Systems on YouTube doing a speed comparison between CORE and SCALE (maybe beta release, don’t recall)- and SCALE definitely didn’t offer the read/write performance of CORE. He was using ZFS pool of SSDs for testing. So, that was a little concerning when choosing SCALE. However, I’m just running a RAID-Z2 of regular HDD’s - my speeds won’t be that great anyways, and I’m also going to be limited by the 1Gbe. I was seeing around 110MB/s transferring a file off my desktop to the SMB share on the NAS; which is basically what I was expecting.

1 Like

I saw a thread yesterday where a user was having issues with hard drives, and in that thread smartctl and badblocks tests were mentioned as a good way to burn in disks and verify they’re good.

I’m not having issues with my drives, but I hadn’t thought of doing this to check my drives prior to putting them to use. So, this morning I kicked off the short, conveyance, and long smartctl tests, and am now in the process of running badblocks on all of my drives. I tried kicking the badblocks off this morning too, but was getting an error about drives being in use. Took me a little clicking around this evening before finding that I needed to ‘export’ the pool to essentially nuke it in order to run badblocks.

Looks like this is going to take ~6hrs days to complete on the 4TB drives I have.

Also while trying to find the post I linked above, I stumbled across @felixthecat 's “Getting Started With TrueNAS Scale” guide; so I’ll be digging through that! Should be useful for me not having any experience with TrueNAS of any flavor.

1 Like

Badblocks finally complete last night. :sleeping:

image

It was probably around 55 hours of testing time on the 4TB Seagate IronWolf drives. The last time I looked it was at 51 hours on the final ‘Reading and comparing’ check. I don’t know how to check results of completed tests, but there were never any errors reported while testing that I observed, unless it was during the final compare test while I was sleeping.

At this time I’m running another long smartctl test. I should be good to start setting up everything on the NAS again this evening after that test completes. :crossed_fingers:

After some head scratching due to my ignorance, I now have Plex running and accessible outside my local network via my domain name. I’m using Plex from the 3rd party TrueCharts catalog, along with Traefik as a reverse proxy. My domain name’s DNS was moved to CloudFlare, and I have SSL certs from Let’s Encrypt on there as well.

I may end up redoing some things as I’m going to try to attach a spare NVME drive via USB adapter to install these apps on instead of the large HDD pool - with the goal of the apps being on the faster media.

I have this arriving on Saturday:

Side note… there appears to be some issue with TrueNAS Scale that slowly eats your RAM. I noticed after several days of my machine running, with no apps installed yet, that my RAM dwindled down to .5GB free.