RadDevon

joined 2 years ago
[–] [email protected] 1 points 1 week ago

Just remember any backup is better than nothing.

This is comforting.

There are several reasons to backup data only and not the full system. First you may be unable to find a computer exactly/enough like the one that broke, and so the old system backup won’t even run. Second, even if you can find an identical enough system, do you want to, or maybe it is time to upgrade anyway - there are pros and cons of arm (raspberry pi) vs x86 servers (there are other obscure options you might want but those are the main ones), and you may want to switch anyway since you have. Third, odds are some of the services need to be upgraded and so you may as well use this forced computer time to apply the upgrade. Last, you may change how many servers you have, should you split services to different computers, or maybe consolidate the services on the system that died to some other server you already have.

Some good things to consider here. Whether or not I'll want to upgrade will depend on how far this theoretical failure is. If storage fails, I might just replace that and restore the backup. If it's something more significant than that and we're 2-3 years down the line, I'll probably look at an upgrade. If it's less than that, I might just replace with the same to keep things simple.

I guess one other upside of the full system backup is that I could restore just the data out of it if I decide to upgrade when some hardware fails, but I don't have the reverse flexibility (to do a full system restore) if I opt for a data-only backup.

[–] [email protected] 2 points 1 week ago (1 children)

If you don’t have the budget for on-premises backup, you almost certainly can’t afford to restore the cloud backup if anything goes wrong.

I believe egress is free on Backblaze B2.

Just make sure to test the restore procedure once in a while.

Good call on this. Curious if you have a procedure for actually doing this. I could just wipe out my system and rebuild it from the backup, but then I'm in trouble if it fails. What does a proper test of a backup actually look like?

[–] [email protected] 1 points 1 week ago (1 children)

Check out Borgbase, it’s very cheap and it’s an actual backup solution, so it offers some features you won’t get from Google drive or whatever you were considering using e.g. deduplication, recover data at different points in time and have the data be encrypted so there’s no way for them to access it.

I looked at Borgbase, but I think it will be a bit more pricey than Restic + Backblaze B2. Looks like Borgbase is $80/year for 1TB, which would be $72/year on B2 and less if I don't use all of 1TB.

The vast majority of your system is the same as it would be if you install fresh, so you’re wasting backup space in storing data you can easily recover in other ways.

I get this, but it would be faster to restore, right? And the storage I'm going to use to store these files is relatively little compared to the overall volume of data I'm backing up. For example, I'm backing up 100GB of personal photos and home movies. Backing up the system, even though strictly not necessary, will be something like 5% of this, I think, and I'd lean toward paying another few cents every month for a faster restore.

Thanks for your thoughts on the database backups. It's a helpful perspective!

[–] [email protected] 1 points 1 week ago

Much simpler than my solution. I'll look into this. Thank you!

[–] [email protected] 1 points 1 week ago (1 children)

Is your script something you can share? I'd love to see your approach. I can definitely live with a few minutes of down time in the early morning.

[–] [email protected] 1 points 1 week ago (1 children)

Had considered a device with some storage at a family member's house, but then I'd have to maintain that, fix it if it goes down, replace it if it breaks, etc. I think I'd prefer a small monthly fee for now, even if it may work out more expensive in the long run.

Good call on the cost calculation. I'll take another look at those factors...

[–] [email protected] 1 points 1 week ago (1 children)

If that's the main downside to a full-system backup, I might go ahead and try it. I'll check out Backrest too. Looks great!

[–] [email protected] 2 points 1 week ago

Much easier than what I was trying to do. Thank you!

[–] [email protected] 2 points 1 week ago (5 children)

OK, cool. That’s helpful. Thank you!

I know in general you can just grab a docker volume and then point at it with a new container later, but I was under the impression that backing up a database in particular in this way could leave you with a database in a bad state after restoring. Fingers crossed that was just bad info. 😅

 

I'm in the process of setting up backups for my home server, and I feel like I'm swimming upstream. It makes me think I'm just taking the wrong approach.

I'm on a shoestring budget at the moment, so I won't really be able to implement a 3-2-1 strategy just yet. I figure the most bang for my buck right now is to set up off-site backups to a cloud provider. I first decided to do a full-system backup in the hopes I could just restore it and immediately be up and running again. I've seen a lot of comments saying this is the wrong approach, although I haven't seen anyone outline exactly why.

I then decided I would instead cherry-pick my backup locations instead. Then I started reading about backing up databases, and it seems you can't just back up the data directory (or file in the case of SQLite) and call it good. You need to dump them first and backup the dumps.

So, now I'm configuring a docker-db-backup container to back each one of them up, finding database containers and SQLite databases and configuring a backup job for each one. Then, I hope to drop all of those dumps into a single location and back that up to the cloud. This means that, if I need to rebuild, I'll have to restore the containers' volumes, restore the backups, bring up new containers, and then restore each container's backup into the new database. It's pretty far from my initial hope of being able to restore all the files and start using the newly restored system.

Am I going down the wrong path here, or is this just the best way to do it?