Building a storage box – Part 3 – Completed


I installed the NVME to PCIe x4 adapter with the 256 GB drive, booted up the computer, and crossed my fingers. Fortunately, the drive was discovered by Windows and I could initialize, partition, and format it. The performance of the drive was spectacular compared to the other drives in the box.

The next goal was to set the NVMe drive as the primary boot device. After some time in the BIOS, I determined that device wouldn’t support the desired configuration and I would have to boot from SATA bus. The primary drive in this box is an old Samsung SSD II drive, so its performance pales in comparison, but would still be superior to spinning drives. Good enough.

If you recall, I was planning on using the optical NIC card and had purchased the requisite parts to connect it to my managed switch. Unfortunately, the motherboard only has one PCIe x4 slot. (note: check your hardware requirements and capabilities before making purchases). This meant I had a decision to make. Have a random, spare drive online or have a fancy NIC card that wouldn’t provide any real enhancement?

I opted to keep the drive and shelve the optical NIC. I kept the parts I had purchased so I could someday use the card because it is cool. And the optical cables would look really slick in my box o’ cables.

Operating System

I tried. A little…

Having built the box on Windows Server first, I wanted to try out FreeNAS as it is a highly regarded solution for network storage. Installing FreeNAS was easy enough, having had a handful of USB 3 keys kicking around.  

Once I got logged in and did some poking around, I was impressed by the suite of features available. I also realized that I was a bit lost in the UI with the depth of features FreeNAS provided. Seeing as I had already spent more time and money on the project than I had originally intended, I didn’t want to invest additional time to lean a new system. That’s why I decided to go back to the familiarity of Windows Server.

Backup and Final Configurations

When testing out Windows Server Backup, I recalled there was an option to use a local drive as the destination for the backup when scheduling reoccurring backups. As this method is the recommended setting in the wizard, and I wanted to feel like I was getting some additional functionality out of the NVMe drive, I decided to use the drive for this purpose.

Who am I to argue with a recommendation?

Be warned, if you select a drive for the backup target, the drive has its volume letter removed, preventing its use for any other purpose.

No drive letter on the 238GB drive. Also, dedup is sweet!

All-in-all, I am happy with this storage box. It doesn’t have the bells and whistles that I had intended, but it is providing plenty of redundant storage, and backing up itself up. I am watching the 4TB drive on Amazon for a sale. If I can score another one for cheap, I wouldn’t mind adding a third drive into the array. I may also enable Hyper-V and host a few small VMs.

9,821 total views, 4 views today

Building a Storage Box – Part 2 – Testing Windows Server Backup to Restore a Storage Pool Configuration

Note: Don’t do anything you are about to read in production without testing it extensively. I make no guarantees about the best practiness or supportability of the procedures that follow.

After poking around the internet a bit, I found a Windows Server Feature called “Windows Server Backup” that was the prescribed method for backing up system states and volumes from Windows Server. This feature is not installed be default, so it needed to be installed by me.

Where the Feature resides

Once that was installed, I created a UNC share on a separate server and then created a One Time Backup from Windows Server Backup on the storage box.

This is all I backed up.

The reason I didn’t perform a full backup is because I wanted to see if I could recover the storage pool, virtual disk, and configs from a System State restore in the event my primary volume dies.

To test the process, I used MEMCM (I’m still getting used to typing that) to deploy a Bare Metal task sequence to the server.

Partition and Format, here we come!

Post imaging, I only had the primary volume available. The storage volume was not present. I had expected this.

Nothing up my sleeve, especially a storage volume.

I went through the process of installing Windows Server Backup so I could apply my System State Backup.

I was greeted by various warnings that I was violating best practice regarding restoration policy. It turns out that it isn’t recommended to directly restore from a network path because if network issues occur, the drive could get borked. There was another one that didn’t like that I was applying the system state to a “new” computer, or something along those lines. I forgot to screen grab it. Sorry.

Anyway, ignoring the warnings, I forged on ahead.

Restoring the System State

Admittedly, this process to a lot longer than I thought it would. I don’t know for sure how long it took because I eventually stepped away. Upon completion, it looked like the system hung after explorer shutdown. I had to hard power off the box. Yes, that made me really nervous.

After a few reboots, I was thankfully greeted with a login prompt. Unfortunately, the trust between the computer and the domain was bad. I suppose this was to be expected as I applied an older state to a new domain joined computer. Anyway, that was easy enough to fix. I just left and rejoined the domain.

Once I got to the desktop, I opened up Server Manager to see the results of the experiment!

Success! Or as they say in Klingon, Qapla’

The volume was present, mounted, and contained all of the files I copied to the array.

So I was able to prove that I could recover the storage pool and virtual disk, which tells me that I should be able to safely use this technique to protect myself from data loss from a failure of the primary drive. That’s good to know!

The next steps in the storage box odyssey are to install the NVMe drive in the PCI-X adapter and see if the computer will acknowledge its existence – and perhaps boot from it! The adapter came in today, but I just haven’t had a chance to play with it yet.

I should also acknowledge that I heard from a few folks on Twitter about me eschewing cloud backup. Everyone I heard from suggested Backblaze.  Without having yet trying their service, I must say that $6 per month for unlimited storage is really cheap, and I’ll very likely be trying them out once this experiment has concluded.

Until the next installment…

5,193 total views, 1 views today

Building a Storage Box – Part 1

While browsing through the Black Friday 2019 deals online, I found a good deal on 4TB NAS drives. Still in a turkey induced hazed from the night before, I added the two drives into the cart and purchased them. Once clarity hit me, I realized I needed to pick which one of the parts computers in my basement would become the new storage computer.

After running my inventory of parts computers through my mind, I settled on an old HP 600 something or other that was scavenged from a trash pile. It had a quad core processor, at least 8 GB of RAM, and a dual fiber optic NIC card. This case would absolutely hold the two NAS drives, but since this box is a Small Form Factor, I didn’t have another bay open to hold a system drive, unless I wanted to rip out the DVD drive (which I didn’t want to do).

The HP box. Might I just add how much I hate proprietary drive mounting brackets.

I ended up purchasing a NVMe drive and a PCI-X adapter to provide my new system drive, knowing that the case could accommodate it, and hoping that I would be able to boot from it.

Since my main network switch has two SFP ports, and the NIC card in the computer had two as well, I also ordered a bag optical network cable, hoping that configuring this would be easy. Networking isn’t my specialty, and I’ve never setup the fiber stuff before, so this is all “fingers crossed” territory for me. Assuming it works like I think it will (I know deep down it won’t), I am hoping to team the NICs together.

I really wish I would have pulled the little black plugs out before I made assumptions…

Everything arrived the next day, except for the NVMe PCI-X adapter. Knowing full well that I couldn’t just leave new computer parts to sit idly in a box on my desk, I installed what I could. This would give me a chance to dork around with the configuration of Storage Spaces, etc.

The first of many purchases…

Still needing a hard drive for a system volume, I pulled a 128 GB SSD from another parts machine, and along with the two 4 TB NAS drives, installed them into the little HP box. Then I hooked up power, monitor, and keyboard.

It wouldn’t boot. No display.

After trying the various video ports (there were two), I couldn’t get it to boot and gave up on the HP.

Time for Plan B!

I had a AMD Phenom 2 with 16 GB of RAM that was my very first lab server when I started consulting eight years ago. I swapped out its old hard drives with the donor SSD and new NAS drives. It booted.

Swapping drives out of my Plan B

The SSD drive I placed in there was from an old 2012 R2 server, and the OS diligently booted up, applied device settings, and allowed me to log in. To my pleasure, the optical NIC card was recognized.

There they are!

My plan was to PXE boot into MEMCM and image the machine with my Server 2019 bare metal task sequence, but as best as I can tell, the motherboard doesn’t support network booting. Further, the board is old enough to not have a TPM, nor support UEFI. I suppose I can look up a firmware update from Foxconn, but that battle is for another night.

Also, the CPU heat sink may be held on with a zip tie…

I booted back into Windows, copied down a Server 2019 ISO, mounted it, and ran Setup.exe. While far from ideal, I did an upgrade without keeping data. Should I have made a bootable USB key from an ISO? Maybe. Probably. Yeah, I was being lazy here.

I still may end up making boot media once the PCI-X adapter gets here…TBD.

I used Storage Spaces to build a new Storage Pool from the two NAS drives. I then made a new virtual disk with the full capacity available, selecting ReFS because “Resilient” is in its name, then enabling deduplication on that virtual drive.

Storage Pool, Physical Disks, and Virtual Disk config
Disks, Volumes, and Storage Pool, this time with Deduplication!

During my googling on Storage Spaces, I stumbled across a whitepaper talking about using a SSD as a cache for the Storage Space. My new plan is to use the SSD that is currently the temporary system drive as the cache drive, once the NVMe drive is installed and running Windows. But it is also looking like I will need to rebuild the virtual disk for this to work….dunno.

What about the fancy-pants fiber optic network cabling? That didn’t quite work either.

The back plate of the card was designed for a Small Form Factor machine, and not a full-sized computer, so I couldn’t install the card into the computer. All I had to do was bend the screw-down-tab back, voila!

Nothing a pair of pliers couldn’t solve. I also may secure the card with a zip tie.

As it turns out the ports on my switch needed the SPF connectors, so I really didn’t have anything to plug the cables into. I ordered a pair, and they should arrive with the PCI-X adapter.

I ordered these things. I hope they work.

The last thing I started tackling today, but am now more confused about, is backups. As much as I would like to store the entire 4TB volume in the cloud, I am not going to pay for that.  I installed Windows Server Backup, and took a System State and C: volume backup only. I am hoping that restoring the volume and its state will keep the storage pool readable after OS recovery, but I am not sure if that will really be the case.  I’ll be doing some testing on this once the new drive gets in.

Until the next UPS shipment arrives…

7,217 total views, 2 views today