Moving from a Home Lab to a Cloud Lab Sounded Difficult, but ZeroTier Made It Simple!
I recently had to move all of my home lab applications up into my Oracle Cloud stack after my Mac mini decided it was going to give up being a media server and become a paperweight. This left me with a bit of a problem: the applications I ended up installing on my Oracle Cloud Infrastructure (OCI) needed constant access to the data residing on my NAS and other local computers.
My immediate reaction to this problem was "Oh F^£%$!!!!"*
Once the initial panic subsided, I actually started to think about what I needed to find a real solution. The core issue was simple: all my data was stored locally on my NAS, and I needed a secure way to make that data accessible to my cloud lab.
Exploring the Options
The first thought that crossed my mind was storing all the data directly in the cloud. However, that is by no means cheap. My NAS has a 2TB capacity and is almost completely full, and that's not even counting all of my other bits and pieces stored on external USB drives, let alone the computers themselves.
My next thought was to leverage the Cloudflare Tunnels I had previously set up to bridge my NAS to my cloud instances. But after spending two solid days down a frustrating rabbit hole, I couldn't get it to work for this specific storage-routing use case.
I then considered setting up a traditional VPN server somewhere and routing everything through it. The massive downside there is redundancy—if the specific instance hosting that VPN server went down, I’d be right back at square one.
Enter ZeroTier
That's when I remembered a tool I stumbled across a few years ago: ZeroTier. It's essentially a brilliant cross between a VPN and a software-defined network (SDN). After a bit of searching and fiddling about, I managed to get a new ZeroTier network configured. To be honest, the core setup was incredibly quick:
- Set up an account with ZeroTier.
- Create a virtual network ID.
- Install the ZeroTier client app on the computers and cloud instances that need to talk to each other.
A quick Google search landed me a tutorial on mounting remote network resources over an SDN. Lo and behold, it worked! I could suddenly access files stored on my local laptop directly from my cloud instance.
The only hurdle left was getting my NAS connected to the same virtual network.
The Western Digital Roadblock
Because I have local SSH access to my NAS, I figured it would be a breeze. The plan was to run ZeroTier’s standard Linux installation script on the NAS, authorize it, add the mount point to my /etc/fstab file, and walk away victorious.
Unfortunately, that was not to be.
When Western Digital sent out the final firmware update for my NAS (coinciding with them killing off its cloud-related features and ending official support), they also completely broke the apt-get package management system on the underlying Debian OS it runs on. As you can imagine, I was not best pleased.
My Next Plan of Attack
Since the stock OS is essentially locked down and broken, my next step is to completely wipe the drive, install a clean OS like Ubuntu or OpenMediaVault, and run it as a streamlined, underpowered local server.
I've already backed up my most critical data to a couple of external USB hard drives. I also managed to coax an old copy of macOS back to life on the broken Mac mini temporarily, forcing it to act as a temporary file server until I can afford to replace it.
So far, everything is working out well. I'm currently in the process of downloading my "Linux ISOs" again, but this transition has actually given me a fantastic opportunity to do a much-needed data clear-out. When I finally get the NAS rebuilt, I'll actually have some clean storage space to use!
Right now, I'm just waiting for a 3.5″ hard drive docking station to arrive in the post. Once it gets here, I'm going to tear the NAS apart, reformat the hard drive, and install my open-source OS of choice on it. I'll be doing a full write-up not long after the rebuild is complete so you can do something similar if you're interested—and to make sure I have the instructions backed up somewhere in case disaster strikes again!
I'd be really interested to know how you would have handled this situation. Do you know of any cheap, easy-access cloud storage tier I completely overlooked? Would you have used a different software-defined networking solution to stitch everything together? Let me know in the comments below!
Comments
No comments yet. Be the first to share your thoughts!