wiki/Infrastructure/backup-infrastructure.md

1.1 KiB

title description published date tags editor dateCreated
Backup infrastructure true 2025-02-15T21:31:44.913Z markdown 2025-02-15T21:28:29.716Z

Backup infrastructure

Our backup infrastructure leverages zfs send/receive functionnality via syncoid from the sanoid package. We use a custom script called bacoid, which gets its config files via zfs config. Backups are sent to two PBS servers that are in lxc containers.

How to integrate server

Syncoid sends incremental backups via ssh, thus we need to make sure we can ssh to the backup server.

On the production server:

$ ssh-keygen $ zfs set syncoid:target_a=$user@pbs-koma.ayakael.net:55200 rpool $ zfs set syncoid:target_b=$user@pbs-veita.ayakael.net:55200 rpool $ zfs set syncoid:machine=$machine_name rpool $ zfs set syncoid:pool_a=data/pbs rpool $ zfs set syncoid:pool_b=data/pbs rpool

On the PBS server

$ useradd $user $ mkdir /home/$user/.ssh $ vim /home/$user.ssh/authorized_keys $ chown -R $user /home/$user $ zfs allow -u $guid clone,create,destroy,mount,receive,rollback,send,snapshot data/pbs/$user

Then you can run bacoid