Backup-Konzept Object Storage

    Diese Dokumentation beschreibt, wie die Daten aus dem Hetzner Object Storage gesichert werden.

    Überblick

    Ausgangslage

    • Die produktiven Mediendaten des Projekts bakehouse liegen in einem Hetzner Object Storage Bucket im Rechenzentrum Nürnberg.
    • Hetzner sichert die Daten innerhalb des Clusters gegen den Ausfall einzelner Storage-Server ab, aber wenn das Rechenzentrum abbrennt wars das. 
    • Deshalb werden die Daten von uns an zwei zusätzliche, voneinander unabhängige Wege gesichert.

    Drei Kopien von uns

    • Kopie 1 – Produktion: Hetzner Object Storage, Standort Nürnberg
    • Kopie 2 – lokal in Imst: TrueNAS-Server im Büro, ZFS-Pool Z2
    • Kopie 3 – offsite: Hetzner Object Storage, Standort Helsinki

    Beteiligte Systeme

    Hetzner Object Storage Nürnberg (Quelle)

    • Bucket: bakehouse
    • Standort: Nürnberg (NBG1), Endpunkt nbg1.your-objectstorage.com
    • Zugriff ausschließlich über die S3-API per HTTPS
    • Zugangsdaten: Access Key und Secret Key, zu finden in der Hetzner Cloud Console unter Security → S3 credentials des jeweiligen Projekts

    2.2 TrueNAS im Büro (lokale Kopie)

    • System: TrueNAS SCALE, Hostname truenas
    • Pool: Z2
    • Zielverzeichnis: /mnt/Z2/Backups/bakehouse.nbg1.your-objectstorage.com
    • Konfiguration des Sicherungswerkzeugs: /mnt/Z2/Backups/.rclone/rclone.conf
    • Ausführender Benutzer: backup_1

    2.3 Hetzner Object Storage Helsinki (Offsite-Kopie)

    • Bucket: bakehouse-backup
    • Standort: Helsinki (HEL1), Endpunkt hel1.your-objectstorage.com
    • Eigenes Hetzner-Projekt mit eigenen Zugangsdaten, damit ein gestohlener Schlüssel nicht beide Kopien erreichen kann

    Das Sicherungswerkzeug: rclone

    • rclone ist das Gegenstück zu rsync für Objektspeicher und in TrueNAS bereits enthalten.
    • Es vergleicht Dateigröße und Änderungszeitpunkt und überträgt nur, was sich tatsächlich geändert hat. Der erste Lauf dauert lange, alle weiteren sind kurz.
    • Es wird bewusst der Modus copy und nicht sync verwendet: Dateien, die in Nürnberg gelöscht werden, bleiben in den Sicherungen erhalten. Ein versehentliches Löschen in der Produktion vernichtet also nicht automatisch das Backup.
    • Die Zugangsdaten stehen nicht im Befehl selbst, sondern in der Konfigurationsdatei auf dem NAS. Dort sind zwei Ziele hinterlegt: nbg1 (Nürnberg) und hel1 (Helsinki).

    Ablauf und Reihenfolge der Sicherung

    Zeitplan

    • Die Sicherung läuft täglich um 00:00 Uhr als Cron Job auf dem TrueNAS.
    • Eingerichtet ist der Job in der TrueNAS-Oberfläche unter System → Advanced → Cron Jobs.
    • Ausgeführt wird er als Benutzer backup_1.
    • Schritt 1 – Herunterladen: Die Daten werden aus dem Bucket bakehouse in Nürnberg auf den TrueNAS-Pool Z2 geholt.
    • Schritt 2 – Hochladen: Erst wenn Schritt 1 fehlerfrei durchgelaufen ist, wird die lokale Kopie in den Bucket bakehouse-backup nach Helsinki hochgeladen.

    Wichtig - zuerst läuft es nach Imst, dann erst nach Helsinki

    • Wir brauchen einen Server der den rclone macht - das kann nur die TrueNas
    • Durch die Verkettung sparen wir uns Übertragungskosten

    Zuständigkeiten

    • Einrichtung und Änderungen an der Sicherung: Manuel
    • Hetzner-Projekte und Zugangsdaten: Manuel
    • Im Notfall zu informieren: Manuel, danach das Team