I’m not entirely sure where I’m going with this. It has been a long month, and I haven’t accomplished much. I sat down and said to myself that I need to write a blog post, but I’m not working on anything new.

We were just at the end of Brian Moses’s 2020 DIY NAS giveaway, so this sort of stuff was fresh on my mind. I created a fresh post with this title, and I started writing.

Brian Moses's various NAS builds and cases

I was extremely close to writing down the title You Don’t Need a DIY NAS at Home. That would be a fine topic. Most of you folks thinking about building a NAS don’t really need one, and you’d probably be served better by spending your money elsewhere. This post revolves around one of the reasons why I don’t think you want to have a NAS at home.

I’m not all that excited about where this post ended up, but I’m going to publish it anyway. There’s plenty of good information in here. I’m just not happy with how it coalesced into a single post.

Writing this post convinced me that I need to combine a Raspberry Pi, Seafile, and Tailscale to supplement my backups. We’ll see how that goes in a month or so!

What makes for a good backup plan?

Backups need to happen regularly and often. Backups need to be tested regularly. At least one of your backups needs to be out of band, and at least one of your backups needs to be stored at a different location. You should also be able to access backups from different time periods.

I rely on Seafile to handle 99% of my backup needs. Seafile is an open-source software package that operates a lot like Dropbox.

Changes to my data are synced to the Seafile server almost immediately. That means my backups are happening almost immediately, so they are happening regularly and often. The current state of my data is being synced between at least my laptop and desktop, so my backups are constantly being tested to some degree.

Pat's Seafile libraries

Seafile communicates over its own protocol, so my backups are all happening out of band. I can’t accidentally run a command like rm -rf that also takes out all my backups. If I get infected by some ransomware, it is unlikely that the malicious software knows how to connect to my Seafile server to delete my data.

I’m a big advocate of using Dropbox-style sync software for backups. Having your data uploaded and synced 30 seconds after saving is amazing. In the old days, we used to have to wait for the daily backup to run, but these days our data is safe almost immediately.

Your home NAS isn’t off site. Your backups on your home NAS are probably on a CIFS share that your computer is connected to. You probably don’t have a backup of your NAS.

RAID is not a backup

Your NAS might have a RAID 6 or RAID-Z2 array. There are at least two disks’ worth of redundancy. Isn’t that enough to keep your data safe?

It isn’t. A bug in your disk controller hardware, firmware, or driver could corrupt all your data. You might accidentally delete your backups, or malware might encrypt your backups for ransom. The right kind of power failure might destroy more than two hard drives.

Brian Moses's DIY NAS 2019 Edition

RAID is not meant to replace a backup. Sometimes RAID increases performance, like a RAID 0 array. Sometimes RAID increases redundancy, like a RAID 1 mirror. Sometimes a RAID does both to some degree, like a RAID 10 or RAID 6.

The redundancy in your RAID helps prevent downtime. You won’t have to restore your server from a backup when a disk fails. You might even be able to swap disks without shutting the server down.

Even if your home NAS setup requires you to shut down the server to replace a failed disk, that is still orders of magnitude easier and faster than restoring from a backup.

If you don’t have real backups, then your data isn’t safe.

Why do you have a NAS, Pat?!

In the old days before solid-state drives, I had a RAID in my desktop. In the late nineties, that was a scary RAID 0 using IDE drives on the built-in controllers. By 2001, I was using an 8-port 3ware IDE RAID card. I started with a RAID 0, but moved that to a RAID 5, and I ran that RAID 5 for a long time.

At some point along the journey, I started serving video files to our TV. At that point, serving files from my desktop computer became problematic. What if I needed to reboot for a kernel upgrade? What if a game goobers up the state of my video driver? That’s going to keep the TV from playing!

That’s when I needed a separate computer just for storing the bulk of my data, so I moved those hard drives to my arcade cabinet. Those drives lived there for a long time.

Then Netflix grew, and I started subscribing to more streaming services. My video collection started to go unused, so I deleted 99% of it, and I stopped streaming video from my NAS.

Then why do you have a NAS today, Pat?!

I didn’t actually set out to build a NAS this time. I needed a small server to host a few virtual machines. Sure, my laptop could handle the job most of the time, but my laptop is portable. It leaves the house fairly regularly, and at the time, I didn’t have a desktop.

I needed a VM for Octoprint. I needed a VM to manage my home automation. Why not build a little server to handle the job?

Infiniband

At the time, the bulk of my local data was the raw photos from my DSLR. They were small enough to easily sync to my Seafile server, but they were too big for my SSD. It made sense to add a couple of hard drives to my virtual-machine host and set up a NAS VM.

It is still true that the DSLR photos are too big to comfortably store on my SSD. That will no longer be true in a year or two, but I have a different problem today.

Some data isn’t worth backing up, but I also don’t want to lose it!

This is a bit of a conundrum. Backing up my photos off site is easy. A few years ago, though, I started flying FPV drones. Once I acquired a bit of proficiency, I started strapping a GoPro onto the quad. That’s when I started bringing home 200 gigabytes of video each and every month.

This quickly adds up to a volume of data that is uncomfortable for storing in the cloud. It would cost me $100 per year to store my FPV video files on Google Drive. That’s really not bad at all. In fact, that’s much less costly than I was assuming it was going to be when I was just now looking up the pricing!

My drone footage has a particular problem, though. As the footage gets older, I’m much less likely to ever even look at it. If I don’t make a YouTube video out of last week’s footage, I’m most likely never going to do anything with it at all.

I’m keeping all the footage just because I can. I already have the disk space to do it. If you told me I’d have to pay for a new solution, that would be the time to rethink my strategy.

I’m taking on a bit of risk here. What if I lose last week’s footage before I pull the good bits out of the files?

I’m being lazy, and I’m willing to take that risk. I am fully aware that I will lose all my FPV footage.

The truth is that I’m recording the same footage week after week. I hope my skills are improving, and it is fun to be able to post anything cool that I manage to pull off, but the footage isn’t of some epic new flying spot.

If I do fly somewhere epic, you can be assured that I will store a copy of the original video files with the rest of my backups!

Maybe your home NAS is your backup

I can’t read minds. I could be way off base. I am just taking an educated guess when I say that your NAS isn’t a backup. For all I know, you’re doing a good job, and your NAS is a healthy part of your backup plan!

If you’re storing your data on your NAS and nowhere else, then your NAS isn’t your backup. If you are regularly copying data from desktops and laptops to your NAS, then your NAS is definitely a backup.

If you’re mapping drives and just copying data from your desktops and laptops to your NAS, then your backup may be precarious. If you are using ZFS snapshots to protect previous versions of your data, that means you’re doing a good job. If you’re using a tool like rdiff-backup or rsync to copy data over ssh, you’re definitely doing a good job.

Even if you’re doing these things correctly, but your NAS at home is your only backup, then I’m still worried about your data. You are one fire or particularly bad lightning strike away from losing all your data. The best backups are at a different location.

Conclusion

The important thing is to think about what you’re doing. Why do you want a NAS? So many people answer that by saying they want to store movies and TV shows. Those folks don’t really want a NAS. They want a media server, and that’s fine.

A good percentage of people say they want a backup. It is important to figure out what your money and your backup is going to buy you. Should you spend $1,000 to build a NAS to backup your data in your home, or would you be better off spending $100 per year on Google Drive or Dropbox to get your data out of the house and backed up professionally?

There’s no single correct answer, but there are plenty of bad choices you can make! Please be careful!

What do you think? Are you using your home NAS as an important part of your balanced backup plan? Would you be better off sending your data to Dropbox? Would your backups be safer if you had a friend plug a Raspberry Pi with a big USB hard disk into their network so you could do remote backups? Let me know in the comments, or stop by the Butter, What?! Discord server to chat with me about it!