Skip to main content
Tim-Doerzbacher.comTim-Doerzbacher.com

Thoughts on Backing Up

Introduction

In this day and age, backing up your data has never been more important. With people’s entire lives stored as digital images and videos, it’s vital to keep family memories safe.

That said, I totally understand why people aren’t better about backing things up.

It’s difficult to setup and maintain.

Mac OS gets a call out for giving their users a free and feature-rich Time Machine bundled with the OS. Yet even then, many of them don’t properly use it by forgetting to plug in the backup drive regularly. Linux and Windows users seem to be in a similar boat where there’s a wide range of options, but none that are as easy to use while feature complete as Time Machine.

Making things more complicated in today’s world, it is not uncommon to have a dozen devices in a household. Imagine a four person home where everyone has a laptop, tablet, and phone. I’d imagine that a married couple with teenagers could easily find themselves in that situation. That is actually a scenario that I’d hope to find myself in within a decade or so. Having some network attached storage isn’t unheard of either.

It’s time for me to finally bite the bullet. It’s time to learn Bacula and setup a proper backup solution that can handle the needs of my wife and me. It must also be scalable for when newly spawned household processes arrive.

In the next section we will look at what a possible middle class household network looks like.

Hypothetical Home Overview

Let’s assume that this home is headed by Bob and Alice. Their children are named Chad and Wendy. Each of them has a computer of some sort, a tablet, and a phone. They share a 4TB NAS that is used for storage of dank memes and more.

NameComputerTabletPhone
BobLinux DesktopAndroidAndroid
AliceMacbook AiriPadiPhone
ChadWindows Gaming LaptopAndroidiPhone
WendyChromebookiPadiPhone
Shared4TB NAS storage

As we can see, Bob’s in for some pain. Family members simply want devices that work for each of them, with zero concern for how hard it is to back up a heterogeneous network. Compromises will likely need to be made.

Mountains of Data

Let’s assume that everyone in the family wants to know that anything older than 24 hours is saved somewhere, and isn’t going to be lost if one of their phones breaks.

What would the solution look like? I could see a Raspberry Pi with a large external hard drive being one part. Another part could be a Bluray burner that supports 50GB and 100GB blank discs. Maybe two external hard drives is the way to go?

Before we know that for sure, we’ll need to run some numbers. How much data are we backing up?

NameComputerTabletPhoneTotal
Bob5006416580
Alice25625664576
Chad1000128641192
Wendy1286432224
NAS40004000
Total~6600

We now know that one single complete backup of everything will take 6.5TB. Theoretically, 8TB could be enough to do daily incremental backups and monthly full backups assuming normal use. Obviously that’s not good enough. My dad raised me to design everything twice as big, strong, or resilient than was necessary. Knowing that, we’ll instead assume that we need 12TB of space for online backups to handle worst case scenarios. We’ll also want offline backups which adds another 12TB for a grand total of 24TB.

Wow. That’s 24,000,000,000,000 bytes for a single family…

What does storing that amount of data look like today in early 2022?

MediaTotal SizeTotal CostCost / GBCost / TB
External 3.5″ HD14,000GB$280$0.02$20
Bluray 25GB25GB$2$0.08$80
Bluray 50GB50GB$1.80$0.04$36
Bluray 100GB100GB$6$0.06$60
Tapewho cares?it’s too damnexpensive forsmall families

That leaves us with two potential options:

OptionStartup CostCost / MonthCost / Year
Two Hard Drives (2 x 14TB)$600$0$600
1 Hard Drive + Tons of Bluray Discs$100$500+ $6,000+

Which then leaves only one reasonable option for a typical family: two hard drive rotation where one drive is always offline.

However, that still leaves the possibility of complete and catastrophic data loss during a massive flood or an EMP burst. Adding in yearly Bluray backups for $500 seems like a reasonable compromise. It might also make sense to only have yearly Bluray backups of the NAS only. Then you’d only be looking at $150 a year in blank Blurays.

The savings could then be reinvented towards building an opulent 1980’s-style Cold War bomb shelter with matching green jumpsuits for everyone.

Closing Thoughts

It’s good to know that for less than a $1,000, any family could purchase all the hardware necessary to have a bullet proof backup solution. Unfortunately, I don’t have such a system setup yet.

That must change…

In the next post, I’ll be going over the hardware necessary to implement a backup solution for the user story above.

Personal Cloud Software Pain Points

For the last few weeks, I’ve been evaluating using ownCloud for building my own personal cloud. The install process is more time consuming than it is difficult. Now that I’ve got my server up and running well, I’ve been putting it through the paces more. I’d be lying if I said that I wasn’t hitting a bit of resistance.

I did have second thoughts early on that maybe I should’ve gone with Nextcloud. Before panicking, I decided to read up more on Nextcloud. The issues that were extant in those reviews of Nextcloud’s software were more or less the same deal as ownCloud, but with slightly different caveats.

Same shit, different day.

So I’m good. Absolute worst case, Nextcloud provides a migration path from ownCloud if the need arises. No need to backtrack or start from scratch just yet.

Moving on, I found that the apps for my mobile devices were not $0. I didn’t like that. I was reluctant to pay for any apps to sync mobile devices with my new server. I’ve been burned in the past enough times, and I’m an open software zealot. I then quickly shut up once I found out that I could install all the necessary software for free, if I was willing to spend a couple hours setting up an Android build environment. Spending less than $10 total once for precompiled and continuously updated apps was obviously a fair deal.

The only problem not addressed by the ownCloud app was contact syncing. For the best experience with both contact and calendar syncing, go straight to DAVx5. It’s also free if you want to put in the time. Don’t do that and instead donate a few money units to dev team. It solved the issues that plagued me. Syncing contact information while avoiding unnecessary duplicates is actually a difficult problem to solve, and I’m grateful it’s been solved. I still clearly remember the Palm Pilot days. I ended up with numerous duplicate contacts. I still find those duplicates or other syncing error artifacts from that time in my address book to this very day. That was over a decade and many, many devices ago.

Speaking of, I should probably start clearing out my contacts. There are people in there who I’ve not talked to in many years, and there’s quite a few who have passed away. To those who I no longer talk to, I have no problem deleting their contact information. To those who are no longer here, I simply can’t delete. I cannot erase any evidence that they were here, now that they’re aren’t any longer.

Anyhoo, thanks to ownCloud, my shared files and contacts are now synced up.

Cannibalizing Servers

In an era inundated with plagues of thin-skinned people with too much free time, I feel it necessary to first state the obvious: I’m referring to removing serviceable parts for use in the repair of other equipment of the same kind. People eating other people is likely a micro-aggression by the time you’ve read this. This has been your trigger warning. #futureproof

— The Editorial Staff

It’s Time

Near the beginning of the year, I realized it was time for an upgrade. I had things largely figured out requirements wise, and was planned on pulling the trigger on purchasing everything in a couple weeks. I had priced out a reasonable video card that would do what I needed (PNY – XLR8 Gaming Single Fan NVIDIA GeForce GTX 1650 SUPER) for around $220. At time of writing, it’s now going for over $550 on Amazon. I saw similar video cards skyrocket during that time to nearly $1,000 dollars.

Oh shit…

My upgrade plans were suddenly in peril.

Don’t Panic

Knowing that panic is best to be avoided, I immediately forgot that advice. I ended up spending the next month or so battling the sort of defeatist ruminations our society has been so thoroughly plagued of as of late. I knew that panic buying expensive video cards was to be avoided, yet I knew not what to do. I waited for inspiration. Time then passed slowly and fast at the same time.

I spent a lot of time lamenting the lost of whole chains of computer and electronic stores such as RadioShack, CompUSA and Circuit City. (Technically RadioShack still exists, but it’s not what it once was.) I still don’t understand how it happened. When did it become so hard to get hardware? My old server reliably running for 10 years left me blindsided by how much the world changed. Compared to 20 years ago, it’s beyond my ability to understand.

This lead me to realize that I was becoming a greybeard. I’ve been programming, building computers, and whatnot for more than 20 years. I even have a bunch of gray hairs now (which I jokingly tell my wife are her fault). I’m a greybeard and I should be better than this. I owe it to my family and my wife to do better. It’s time to go level up past Gandalf.

Around that time I stumbled upon Micro Center. It reminded me much of what proper stores were like. I looked through their catalogue seeing the same thing I’ve seen everywhere else: sold out video cards.

Greybeard Plotkai

That’s when my new greybeard status kicked in. I’m not a victim. There has to be a better way to look at this problem. Do they sell the computers with the components I need inside them? Are the motherboards in them still a standard size? Will this fit in my existing 4U server case?

As it turns out, yes they do, yes they are, and barely yes on that last one.

Hell, even Costco has desktop computers with NVIDIA 1650/1660s in them for reasonable prices. If a 1660 costs $700, that $900 barebones kit with a 1660 is looking mighty nice. There is no law against turning a gaming rig into a proper server. I was already going to need a new motherboard, RAM, CPU, and other things. Why not get 80% of the way there with 20% of the money? Find a good deal, add $100 of RAM, and BAM! You’ve got yourself a server.

It’d have been nice to think of this earlier. Hell, I watched Moneyball. I should’ve seen this coming.

Conclusion

And that, my friends, is how I was able to upgrade my server within budget.

In our next episode, I’ll explore more about where I’m going with cloud software now that I have the metal. It’s down to ownCloud and Nextcloud.

In possibly a future sidebar, I’ll explain how convincing your wife to spend a whole day in the car hunting for computer parts is easier than you might expect. Sell the trip as an opportunity to try out a new restaurant in a new city. Buy tickets to a local art museum. By the time you get to “and let’s stop by Micro Center for 15 minutes” she’ll already be sold.

Personal Cloud Requirements Gathering

To distract myself from excruciating pain while paining for a dental procedure, I figured I’d go over what an ideal end state for my personal cloud would look like. Let’s start by looking at what devices I’ll need to be worried about as head of IT in my household.

Devices to Support

DeviceOperating SystemStorage Space (GB)Notes
Pixel 2 XLAndroid64GBMost of this photos/videos taken w/ the camera app that I need off the phone
Old Samsung tabletAndroid32GB (estimate)Possibly going to be retired soon. Screen isn’t easy to read and it’s not fast enough to keep up with software bloat.
iPhone ?iOS128GB (estimate)Wife’s cat and flower photo collections must be treated with equal importance to financial records
iPadiOS256G (estimate)Used for audio books and researching supplies and materials for remodeling
Macbook AirMacOS256GB (estimate)Floater laptop that shouldn’t have much on it
Macbook ProMacOS512GB (estimate)Important information and video editing
Custom 4U serverLinux8TBThis will be the server handling the cloud. It is the one that needs to be greater than all the other devices attached. Can’t be larger than 8TB at the moment due to that costing too much to backup w/ current hardware.
Dell XPSLinux256GBFloater laptop for serious software engineers who also value battery life
System76 Serval WSLinux1TBUltimate badass laptop with a cooling system louder than jet engine with matching power
This table doesn’t include devices that don’t nee to be synced up with the cloud. All the Raspberry Pis don’t need complicated backup and syncing.

Observations

  1. All systems are *nix systems. That affects nothing, but does make me happy.
  2. I’ll need, at minimum, 6TB to handle everything as is. I’ll therefore want 8TB in the server for allow for growth.
    • Going above 8TB gets expensive, as single external drives larger than that are very expensive. Having two 8TB drives to rotate through is much more affordable.
    • I can always add another 4TB drive to the RAID for a total of 12TB down the road. I’ll have to reconsider my backup plans potentially.
    • This should keep me covered on space for a few years. Will definitely need to upgrade within 5 years, but no sooner than 2 years.
  3. This will create a lot of network traffic
    • I was considering splitting the home network into multiple isolated networks:
      • Private network for me and my wife
      • Guest Network for friends and family
      • IoT, Smart TVs, and other devices with histories of atrocious security
    • Doing this ahead of time would definitely be feature creep for the “build my own cloud” project.
    • Might just put the guests on the same network as the IoT, as neither are to be trusted.
    • I’ve got a Raspberry Pi or two laying around for building a custom router

Conclusion

My goal is to get this new system up and running before 2021Q2. However, hardware is becoming harder to get one’s hands on. That’s why I expect this to take some time. I’m also expecting my tax return won’t be arriving before beginning of March.

Long Awaited Server Upgrade

https://pixabay.com/photos/calculating-machine-calculator-370777/

An Upgrade Is In Order

My current server is running a Intel(R) Core(TM) i3-2100 CPU. Based on archeological evidence and carbon dating, experts estimate that it is around 10 years of age. It’s had minor upgrades over the years with a respectable 4 × 2TB drives setup in RAID5 for 6TB usable. However, it’s simply too long in the tooth. It’s been working flawlessly for so long, I seem to have taken it for granted.

I really only thought about it when I’d occasionally have to reboot it every couple months. Looking at it that way, I almost feel bad putting out such a long running workhorse to pasture.

End of the day, I should feel proud that I built a system that worked near flawlessly for a decade.

Mission accomplished. What’s the next mission?

Requirements

I’ve become a simple man when it comes to servers. All it takes me is half a dozen cores, heaps of memory, and terabytes of space to be happy. I’m wondering how much the hardware game has changed since I last went down this road. I’m hoping I’ll be left with the end result of a reliable workhorse for many years.

Off the top of head, here are requirements, typical workloads, and tasks the server will encounter:

  • Building the personal cloud that spawned this thread
  • Storing over 9,000 new photos and videos daily from my wife’s phone of our 8 month old cat.
  • Video stabilization and other processing of grainy VHS home movies
  • Secure storage of personal documents
  • 3D scanner processing
  • Minecraft server
  • Git repo to avoid relying on Github too much

Here’s what I’m thinking will be sufficient:

Parts List

Total: $1,000 estimated

Conclusion

If I can get 5 years out of this build, I’ll be happy. There’s a leap year in there. That’s a savings of $0.0003 per day. Cost of ownership should be around $0.55/day ($1,000 / (5 × 365 + 1)).

Virtual Homesteading

For a few years now, I’ve been gotten complacent and lazy due to Google’s services. Free space on someone else’s server was too tempting, regardless of privacy concerns. It’s time I do something about it by creating my personal cloud for my household. This is a big enough undertaking that I might as well write down my thoughts in this blog.

Requirements

  • Automatic syncing of photos from our mobile devices
    • Apps will need to be available for both iOS and Android
  • Easily securely share files with third parties
  • Works well with syncing large files
  • Zero external dependencies
  • Back up and restore procedure in place
    • Automatic syncing of all data to an offsite location
    • Offsite backup should be encrypted
    • Incremental backups to external hard drives

Known Unknowns

  • How to test the backup and restore procedure?
  • How to sync the backups to an external location?
    • Probably looking at a Raspberry Pi based solution with an 8TB external hard drive.
    • Looking at around $250 for both.

Evaluating Options

The above requirements hint at me needing two main pieces of software. I can’t only worry about the cloud software. If my server dies, I’ll need a rock solid plan for restoring from a backup.

It’s also been maybe 6 years since I’ve done a major upgrade to my server. At this point, I’m thinking of replacing everything except the case. I like my giant black rock sitting on the shelf, and it’s got plenty of space for loading up drives.

On cloud software front, I’m a bit torn between Nextcloud and ownCloud. I’m leaning towards ownCloud because the documentation seems a bit nicer. There aren’t really any other viable options for open source software that I’ve been able to find.

The backups remain a mystery to me. Up until now, I’ve been using a Raspberry Pi based computer and SyncThing to automate partial backups. That’s not going to work well. I also don’t want to have to use a GUI to backup. Currently I’m leaning towards using BorgBackup. It seems pretty feature rich.

Closing Thoughts

The general plan of attack will be:

  • Upgrade server hardware with bare install of OS (do not immediately start copying files back!)
  • Create backup and restore procedure, and test that it works
  • Install and configure ownCloud
  • Reload all the terabytes of old data into the new cloud
  • Set up my phone to sync with my new cloud to disentangle myself with Google as much as possible

Thinking each of those deserves its own post, so we’ll leave it there for now.