Safety Not Guaranteed
The hard drive I “repaired” didn’t burn down my appartment… yet.
I ran a continuos test on all of the drives for 24hrs and no problems surfaced. So I dived down a rabbit hole.
I want to use these drives to build a NAS, and only really have the drives and a QNAP 8-bay drive enclosure. My end goal for these is to build a dedicated tower PC using a Fract Define R5 which has ample room for 8 3.5in drives. I want to run TrueNAS Scale on this PC and move my Plex install from windows to it.
So me being my impatient self wants to figure out how I can go ahead and transfer my media to the drives. For those of you who are unaware TrueNAS Scale utilizes ZFS to build a storage pool from an array of hard drives. The problem is that the only way for me to currentyl access all of these drives was using the QNAP enclosure which was built for hardware RAID. And the only way for me to even create a ZFS pool is with my mini PC which is running Proxmox a virtual machine hypervisor.
If anyone ever reads this blog post who cares about data integregity and understands setting up a NAS, especially with TrueNAS, they would tell me I’m setting myself up for disaster. I’m using used drives (which were obviously mishandled by FEDEX), trying to setup ZFS on an external USB enclosure, on a stupid little mini pc. But like I said in my last post, “momma ain’t raise no bitch”.
First attempts were not going well. I plugged the drives into the mini pc using a USB-C to USB-C connector from a different enclosure because I figured it would be better using the USB-4 connector than the USB-A 3.2 connectors. Little did I know that this little innocuous act would be the cause of all my problems to come.
My first attempt was to use Proxmox to build the ZFS pool itself and figured that would be that. Well, first of all I had to wipe the drives which is fine, but Proxmox could make the UI a bit better to wipe multiple drives at once. And this is where I ran into my first issue. After trying to wipe probably the 5th drive it stopped responding and I couldn’t input any commands. I tried restarting it and it hanged closing down all the processes so I held the power down and started back up. Upon starting back up the drives were all wiped and I succeeded in creating the ZFS pool. Only problem now, Proxmox cannot natively share that ZFS pool to the network.
So guess what… I deleted the pool and almost gave up on ZFS and just go with the inbuilt hardware raid. It would be much easier, but then I wouldn’t be able to easily transfer the storage to TrueNAS and I really wanted to go with TrueNAS for my final server build.
So I did what any other sain techno wizard would do. I spun up an VM of TrueNAS Core. Not Scale like I said earlier in my post because everyone was saying its much more stable and I would need stability for what I was trying to do. So I had to passthrough the drives and I tried to do it by passing them through by their serial number with a script (Very boring technical tutorial). It worked fine and when I booted into TrueNAS I created my ZFS pool. I was met witha weird message when I tried tho saying that it would be unstable because TrueNAS could not determine the drive serial numbers. This meant that if I rebooted the server the drives would not be identified the same way and could corrupt the array. I of course ignored this warning and went ahed with the build. Build completed and I proceeded to share the pool to my network and then began moving all of media over.
Well of course that was not the end of it. Pretty quickly after starting the transfer the entire Proxmox system froze up and I restarted the server again. Upon trying to boot back into the TrueNAS VM the array was unrecoverable and failed to boot. So I destroyed the VM and again thought about giving up and doing the hardware RAID. But I still could not see how a hardware arrray would be feasible with my lofty goals of using TrueNAS Scale.
So again I went to the internet for guidance. Some how I stumbled upon this guy on reddit who for some reason had the same exact idea as me. Running a Hyper-V and passing through a QNAP enclosure to TrueNAS. This man is a saint for provind the steps he did and showing the testing to prove it was not that crazy of an idea. I only needed his guidance for passing throught he drives and followed his guide to passthrough the entire PCIe device that was controlling the USB “plug” that the enclosure was plugged into. Plus this time I used TrueNAS Scale since it was my endgame OS anyways. Upon booting into TrueNAS I was happy to see that all of my drives were detected and plus they were showing their serials! I built the ZFS pool for the third time and was so sure that this would be it. Unfortunately once I hit save to finalize the ZFS pool creating the system failed again. Luckily this time I was able to just stop the VM and not Proxmox.
Before I stopped the VM I did see a very peculiar error message. “Check usb cable. Maybe bad cable.” This was like a nuclear bomb going off in my head! A switch flipped! All of my problems were because I used this random USB-C cable! I quickly switched the cable back to the one provided with the enclosure and voila, the ZFS pool created successfully! As I write this I’ve transferred over a bit of my media, it probably won’t finish this week with the amount I’m transferring at the 1 gig speeds I’m limited to.
I’ll follow up if any thing else happens with this transfer. But I’m confident that the array will be fine! Although I did buy 2 drives to use as a cold spare in case any of the drives start failing (especialy the one I “repaired”).