Disaster recovery use case

Last week my personal worst case scenario happened:

The SD-Card of my Raspberry Pi 3b+ was corrupted. The Freedombox became unusable and I wasn’t able to recover it because the backups didn’t contain the users I created.

This made me think about a hassle-free disaster recovery solution. How difficult would it be to realize following use case?

  • Create regular full system backups automatically once a day / week (i. e. using Timeshift)
  • In case of SD-Card failure:
    • use a Desktop PC to flash new SD-Card with latest Backup
    • insert new SD-Card into Freedombox and boot again

No new installation and configuration. Just recover the last working snapshot and continue working.

Is this a feasible scenario?

2 Likes

I found an interesting approach using dd to backup the boot and firmware partition and using fsarchiver to create a hot backup of the root partition.

https://www.kenops.io/2017/06/raspberry-pi-backup-using-fsarchiver-and-other-tricks/

1 Like

On most FreedomBox (that have been installed from image or bought from store) we have btrfs filesystem. This provides a good opportunity to take snapshots regularly and transferring the snapshots elsewhere is also possible. Perhaps we can think on those lines.

When implementing the current backup solution we considered a full system backup (i.e. a full disk image). However, it had the disadvantage that we can’t restore it on a machine with different architecture. This could happen when migrating from a cloud instance to a local network after playing with cloud instance. Or when upgrading from older hardware to newer one. So, we choose the current solution which focuses on backup of particular apps and data.

On btrfs machines, we are taking regular snapshots of the entire filesystem. If we can find a way to transfer the snapshots to a remote location that would essentially solve this use case, I suppose.