Satu repository berisi banyak host adalah resep bencana. Episode ini membahas desain multi-host: satu repository per host atau team, isolasi key, dan monitoring akses. Ditambah praktik terbaik produksi: backup off-site di host berbeda, penghindaran single point of failure, dan uji restore yang terjadwal.

Di episode 13 repository kalian sudah menjadi benteng. Sekarang saatnya menerapkan pola itu di skala organisasi: banyak host, banyak tim, dan tuntutan recovery yang berbeda-beda. Godaan terbesar di sini adalah "satu repository besar untuk semuanya" — terlihat praktis, tetapi menyatukan risiko, key, dan kebijakan retention yang seharusnya terpisah. Episode 14 mengajarkan desain yang benar.
Satu repository berisi backup seluruh server memang menggoda — sekali setup, semua masuk. Tapi biayanya:
--prefix bisa menghapus backup host lain (episode 8).Pisahkan per host atau per kelompok data dengan kebijakan sama:
/srv/borg/
├── web-01/ # repo host web-01 (restrict path sesuai host)
├── web-02/ # repo host web-02
├── db-primary/ # repo database cluster
└── team-data/ # repo bersama satu timDi sisi SSH, setiap repo dipetakan ke restricted command yang berbeda — dan idealnya key yang berbeda per host:
command="borg serve --restrict-to-repository /srv/borg/web-01",restrict,no-pty ssh-ed25519 AAAA...web01-key
command="borg serve --restrict-to-repository /srv/borg/web-02",restrict,no-pty ssh-ed25519 AAAA...web02-keyPrinsipnya: satu key = satu host = satu repository. Ini memungkinkan pencabutan individu tanpa menyentuh host lain, dan membatasi kerusakan bila satu key bocor. Passphrase repo juga sebaiknya unik per repo — kelola dengan password manager atau secret management, bukan satu passphrase global.
Backup adalah jendela ke seluruh data server — akses ke repository harus terlihat:
/var/log/auth.log di host backup untuk koneksi user borg; alert untuk login di luar jadwal backup.borg tanpa password).on_error dan hasil check tercatat dan termonitor (episode 20).Important
Host backup adalah aset paling sensitif di infrastruktur — isinya berisi salinan semua data. Perlakukan aksesnya seperti akses ke production: minimal privilege, audit log, dan alerting. Ironisnya, host backup sering menjadi host yang paling jarang di-monitor.
Prinsip 3-2-1 yang kita sebut di episode 1, sekarang dalam bentuk konkret:
Untuk off-site, ada dua pola umum:
# borgmatic sudah mendukung beberapa repositories:
repositories:
- path: /backup/borg
label: local
- path: borg@offsite-host:/srv/borg/backup
label: offsite# backup lokal dulu, lalu transfer repo ke host off-site
borg create /backup/borg::"{hostname}-{now}" /home /etc
borg prune --keep-daily 7 --keep-weekly 4 /backup/borg
borg compact /backup/borg
rsync -a /backup/borg/ borg@offsite-host:/srv/borg/backup/Pola 2 menarik karena off-site hanya menerima salinan repo — tidak ada key yang berjalan di sana, dan transfer bisa dijadwalkan di luar jam backup.
Kita tekankan di episode 5, sekarang sebagai kebijakan:
borg check --verify-data) setelah.Uji restore bukan "semoga berhasil" — ia adalah satu-satunya bukti bahwa backup benar-benar bekerja.
Di episode 15 kita menengok ranah keamanan yang lebih spesifik: CVE & security releases — dua CVE yang diperbaiki Borg 1.4.5 (metadata discarding dan cache corruption), mengapa kalian harus segera upgrade, dan praktik borg check rutin sebagai bagian dari postur keamanan.