wiki/Infrastructure/backup-infrastructure.md

33 lines
1.1 KiB
Markdown
Raw Normal View History

---
title: Backup infrastructure
description:
published: true
date: 2025-02-15T21:31:44.913Z
tags:
editor: markdown
dateCreated: 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`