Backup LUKS-encrypted drive to external HDD

I have a 500GB internal SSD containing / and /boot as created by the default LUKS-encrypted install.

I also have a 2TB external HDD that I want to use for backups. I’m trying to find the right system to back up the SSD to the HDD roughly every 1-3 days.

My priorities are:

  1. Keeping the data encrypted
  2. Being able to restore / boot from the backup as easily as possible
  3. Avoiding unnecessary wear on the HDD.

Since the backup drive is 4x the size of the original, compression / deduplication is not that important, although it would of course still be nice to have.

Some ideas I’ve had, that I’m not sure of the wisdom or possibility of:

  • Clone the encrypted drive into a partition of the backup drive (while the system is running)
  • Format the backup drive as btrfs (on top of LUKS?), rsync everything into it, and use snapshots for versioning
    • I don’t think this would be bootable, but it would be pretty elegant (and probably not hard to restore from).
  • Just use borg/vorta
    • Definitely not bootable, harder to restore from, but would save me the headache of setting everything up.

I’d really appreciate any ideas or advice.

I would recommend you to create two partitions in the 2TB HDD.

  1. partition less than 500 GB like the size of SSD using BTRFS due to btrfs send | receive every 1 -3 days like your expectation.

  2. partition 1,5 TB using XFS or EXT4 good for HDD because of better performance (XFS is better choice for many large files and has more features than EXT4, e.g. xfs_scrub, xfs_ncheck, xfs_repair, xfs_quota …) You can do borg or restic backup

1 Like

Clone the internal drive to the external drive so it’s an exact copy. You retain the same encryption setup, and can trivially boot directly to the working system. You lose 1.5TB of space, but that’s not an identified priority so you don’t care about that, right? :stuck_out_tongue:

1 Like

I ended up making a borg repo on it just for my own data (and not system files), so not what I originally indented. I do have a smaller drive somewhere though, which I might implement this on. Thanks!

1 Like

Add Clonezilla to your grub menu?

Download clonezilla in my example is 3.0.1-8 and copy to /opt (I’ve BTRFS file system)

Edit /etc/grub.d/40_custom and add:

menuentry "clonezilla-live-3.0.1-8-amd64.iso" {
		set isofile="/@/opt/clonezilla-live-3.0.1-8-amd64.iso"
		loopback loop $isofile
		linux (loop)/live/vmlinuz findiso=$isofile boot=live union=overlay username=user config
		initrd (loop)/live/initrd.img
}

save and close
update grub and you will find Clonezilla to grub menu