Home Lab Update – Adding a NAS
It has been a while since I have written about my home lab. While the initial purpose was to help me learn, I have been using it more and more to allow me to assist customers. It has been really useful when talking on the phone or researching topics for them. So when I had to reconfigure it earlier this summer to brush up on the new release of Site Recovery Manager for booth duty at VMworld, I began to miss it quickly.
My lab is comprised of 3 white-box ESX hosts in a cluster with vSAN. While each host has a local disk, the only shared storage I have is vSAN. Normally this works just fine for my needs; but SRM requires 2 separate vSphere environments and in my 3 host scenario it meant that vSAN had to temporarily come down. I’ve reconfigured the environment back to a single cluster with vSAN; but the exercise has made me wish I had some type of shared storage capability outside of my vSphere environment. I know SAN/NAS for home labs isn’t a new topic these days; but I learned a few things along the way and I thought I would share in case there are others who are still doing this for the first time.
I had resisted the idea for a while mostly due to cost; but also because I wasn’t sure that I would fully utilize another piece of gear. TL;DR Now that I have have it – I love it and in the space of about 10 days have it setup and am getting far more out of it than I had anticipated. Let’s break down what I am doing…
My needs are pretty simplistic. While I do try to adhere to best practices where I can, there are a number of areas where I make choices that I would never make in a production environment. This is mostly due to cost. My personal CFO has been very understanding about technology costs so I try to make those dollars count.
VMware Storage – I don’t need a ton of space or performance. I mostly run VMware software for my own learning. Right now, I have a small vSAN cluster (Hybrid ~ 1.5TB usable), as well as a single disk in each host. This works well. Although if I have to break up the cluster, i lose the shared datastore. Another potential issue is the single disk datastores in each host – not redundant.
File Share – I do maintain a file share on a dedicated Windows PC. The needs aren’t spectacular. The share has folders for the typical basic needs that everyone has (photos, user space, and shared docs). The biggest issue here is that this resides on a single disk with no direct redundancy. I do have the data backed up off-site (as we’ll talk about shortly)
Plex – I have Plex setup to share home pictures and movies.
Backups – The Windows PC that serves as the File server and runs Plex also backs up to BackBlaze. I have used them for quite a while. They were one of the first backup providers who allowed for unlimited storage as well as supporting USB drives. I’ve tried to not abuse that – too much.
I also use TimeMachine to backup the 2 Macbooks that i operate from. This was done via direct-connect USB. While it works well, you do have to remember to plug them in occasionally. I wish I was more consistent with this.
My virtual environment doesn’t currently get backed up. I do backup the vCenter Server Config.
Working Towards A Solution
NAS is a perfect fit for home labs and there are many options to choose from. There are a number of vendors who make good products (Buffalo, QNAP, Synology, etc). You can even roll your own with software like FreeNAS or OpenFiler (to name just two).
While I have used the open-source products before with a fair amount of success, I didn’t want to spend that much time maintaining the device, and I didn’t really want another full sized PC in the small nook I call a lab.
I was initially focused on picking up a used 4-bay model. When I began looking for one to purchase, I was surprised how well these devices had held up in terms of value (at least on e-bay). Many of the recent used 4-bay models were within $50-$100 of a new unit. This led me to re-consider my sizing choice and I eventually found a 5-bay Synology unit (DS-1512+) that worked within my guardrails. I felt good about going with Synology as many people in the virtualization home lab world seemed to already have made that choice and that seemed to bode well for what I needed to do.
TIP: If you aren’t sure what the Synology model numbers mean check out the article where NAS Compares wrote an article which breaks it down nicely.
After checking the Synology Drive Compatibility page, I purchased 3 x 4TB Seagate IronWolf drives to use with Synology’s SHR Raid technology. I had planned on leaving the additional 2 bays for expansion; but when I learned that I can use 2xSSDs as Read/Write cache, I opted to go that route for now.
My first approach to setting up the drives was a volume for each use case (vSphere, Backups, etc). This turned out to not be the best choice for two reasons:
- The SSD R/W cache is per volume. This meant that I could only provide cache for a single volume rather than stretching that benefit across all of my services
- Flexibility – My thought with the multi-volume approach was to control disk usage (so backups don’t suck up all the disk space). Multiple volumes would certainly do that; but resizing a volume (while possible) created extra i/o and had the affect of rendering some file services unavailable during the resize. I learned this during some initial testing. A better approach (at least with the Synology) was to create a single volume, and then create Shared Folders for each use case and use Shared Folder Quotas on each to limit the storage consumption. The Quota is easily changed and I haven’t noticed any issues changing it on the fly.
The Synology model I had shipped with 1GB of RAM. After I turned up the services and SSD cache memory consumption was at about 65%. It can be upgraded to at least 3GB. I opted to do this at the outset and was pleasantly surprised that it was so inexpensive ($8 via Amazon).
With the drives, filesystem and shares set-up, I moved my data over and began using the Synology as the primary storage.
- I did keep Plex on the dedicated Windows PC. It is always on to stay backed up to the cloud already. Using RoboCopy, It was easy to setup a small efficient script to backup my Plex content from the PC to the Synology.
- To backup the File Share and other files from the Synology to the PC, I used the Synology Drive Client. This involved putting an agent on the PC. Then setting up a Sync task where files are copied to the PC as they change on the Synology. This was very easy to set-up and works well.
- TimeMachine has been flawless for both of my Macs. Backups now happen wherever I am in the house and I don’t have to remember to go downstairs and plug-in.
- I am also using the Veeam Community Edition to backup VMs in my lab easily.
I am finally also able to get to a true 3-2-1 Backup Strategy with some good redundancy on-site
- 3 Copies of your data
- 2 different medium/devices
- 1 off-site
I am very happy with this investment. It addition to adding new capabilities, it has provided the one thing I can’t buy – Time. It was easy to setup, so far requires little management and I no longer worry about having to re-create a VM due to a failed drive.