Aller au contenu

S3-Bucket mit Kopia nutzen

Ce contenu n’est pas encore disponible dans votre langue.

Diese Anleitung erklärt Schritt für Schritt, wie Sie einen S3-kompatiblen backup@bunker-Bucket mit Kopia als Backup-Ziel nutzen. Besonderer Fokus liegt auf lokaler Verschlüsselung, der Erstellung und Aufbewahrung von Snapshots sowie der Wiederherstellung mit dem Repository-Passwort.


Kopia ist ein quelloffenes Backup-Programm, das inkrementelle, deduplizierte und clientseitig verschlüsselte Backups erstellt. Es unterstützt verschiedene Backend-Speicher („Repositories“), darunter S3-kompatible Dienste wie backup@bunker. Alle Daten werden vor dem Upload auf Ihrem Rechner verschlüsselt; wir sehen nur unlesbare Blöcke.


  • Kopia installiert (CLI und/oder KopiaUI). Siehe auch Was ist S3? und S3-Kompatibilität
  • Ein backup@bunker-Bucket mit Access Key und Secret aus dem Dashboard (S3-Zugangsdaten, einmalig einblendbar)
  • Ein sicheres Repository-Passwort, das Sie sich notieren (ohne dieses Passwort ist eine Wiederherstellung unmöglich)

Ein Repository ist die Verbindung zwischen Kopia und Ihrem Speicher (hier: S3-Bucket). Beim Anlegen legen Sie das Repository-Passwort fest. Dieses Passwort wird nur lokal verwendet und leitet die Verschlüsselung; es wird niemals an den Server gesendet.

Terminal-Fenster
kopia repository create s3 \
--bucket=b1.<hash> \
--access-key-id=<hash> \
--secret-access-key=<hash> \
--endpoint=https://s3.bunker1.internett.de \
--region=eu-central-1
  • --bucket: Name Ihres backup@bunker-Buckets (b1.<hash>)
  • --access-key-id / --secret-access-key: Access Key + Secret
  • --endpoint: s3.bunker1.internett.de
  • --region: eu-central-1

Kopia fragt Sie nach einem Repository-Passwort. Dieses Passwort:

  • wird nur auf Ihrem Rechner verwendet,
  • leitet die Verschlüsselungsschlüssel ab (siehe nächster Abschnitt),
  • wird niemals an backup@bunker oder S3 gesendet,
  • ist unverzichtbar für jede spätere Wiederherstellung.

Ohne dieses Passwort können Sie das Repository nicht öffnen und keine Backups wiederherstellen. Es gibt keine „Passwort zurücksetzen“-Funktion beim Speicheranbieter, weil dieser das Passwort nie kennt.

Repository verbinden (nach Neustart / neuem Rechner)

Abschnitt betitelt „Repository verbinden (nach Neustart / neuem Rechner)“

Wenn das Repository bereits existiert, verbinden Sie sich so:

Terminal-Fenster
kopia repository connect s3 \
--bucket=b1.<hash> \
--access-key-id=<hash> \
--secret-access-key=<hash> \
--endpoint=https://s3.bunker1.internett.de \
--region=eu-central-1

Hinweis: Access Key und Secret stammen aus den S3-Zugangsdaten im Dashboard (einmalige Einblendung pro Bucket).

Auch hier müssen Sie das gleiche Repository-Passwort eingeben. Nur dann kann Kopia die gespeicherten Metadaten und Inhalte entschlüsseln.


Alle Daten werden auf Ihrem Rechner verschlüsselt, bevor sie an S3/backup@bunker gesendet werden:

  1. Dateien werden in Blöcke zerlegt, komprimiert und mit einem Verschlüsselungsverfahren (Standard: AES-256-GCM) verarbeitet.
  2. Ein Verschlüsselungsschlüssel wird aus Ihrem Repository-Passwort abgeleitet (z. B. per Key-Derivation-Function wie Argon2). Das Passwort selbst wird nicht gespeichert.
  3. Nur die verschlüsselten Blöcke und verschlüsselten Metadaten (Manifeste, Inhaltsverzeichnisse) werden an S3 übertragen.
  4. backup@bunker sieht nur Ciphertext und kann ohne Ihr Passwort nichts lesen oder wiederherstellen.
  • Inhalt aller gesicherten Dateien
  • Pfade, Dateinamen und Metadaten der Snapshots
  • Manifeste (welche Blöcke zu welchem Snapshot gehören)
  • Index-Strukturen für Deduplizierung

Ohne das Repository-Passwort sind diese Daten für uns und Dritte nutzlos.

  • Verschlüsselung: Standard ist AES256-GCM-HMAC-SHA256; optional z. B. ChaCha20-Poly1305.
  • Schlüsselableitung: Das Repository-Passwort wird mit einem sicheren KDF in kryptographische Schlüssel überführt.

Details und Optionen finden Sie in der Kopia-Dokumentation.


Ein Snapshot ist ein punktgenaues Abbild eines Ordners (oder mehrerer Quellen) zu einem bestimmten Zeitpunkt. Kopia speichert Snapshots inkrementell und dedupliziert: Nur geänderte Blöcke werden neu hochgeladen.

Terminal-Fenster
kopia snapshot create /pfad/zum/ordner

Beispiel:

Terminal-Fenster
kopia snapshot create $HOME/Dokumente

Kopia:

  1. liest die Dateien unter dem angegebenen Pfad,
  2. zerlegt sie in Blöcke, komprimiert und verschlüsselt sie (lokal),
  3. vergleicht mit bereits im Repository vorhandenen Blöcken (Deduplizierung),
  4. lädt nur neue oder geänderte Blöcke zu S3 hoch,
  5. schreibt ein neues Snapshot-Manifest (verschlüsselt) ins Repository.

Jeder Snapshot hat eine eindeutige ID und einen Zeitstempel. Sie können beliebig viele Snapshots erstellen; wie viele davon dauerhaft behalten werden, steuern Sie über die Aufbewahrungsrichtlinie (Retention Policy) – siehe Abschnitt Aufbewahrung (Retention) und die Kopia-Dokumentation zu Retention.

Snapshot-Richtlinie (Policy) und geplante Snapshots

Abschnitt betitelt „Snapshot-Richtlinie (Policy) und geplante Snapshots“

Über eine Policy legen Sie pro Quelle (z. B. Ordner) fest:

  • Wann Kopia Snapshots erstellt (z. B. täglich per Cron/KopiaUI),
  • wie viele Snapshots aufbewahrt werden (Retention, siehe unten),
  • Optionen zu Kompression und Filterung.

Beispiel (Policy für ein Verzeichnis setzen):

Terminal-Fenster
kopia policy set /pfad/zum/ordner --snapshot-time="02:00" --snapshot-interval="24h0m0s"

Damit wird täglich um 02:00 Uhr ein Snapshot erstellt (sofern ein Scheduler läuft, z. B. kopia server oder KopiaUI).


Aufbewahrung (Retention) – wie viele Snapshots bleiben erhalten?

Abschnitt betitelt „Aufbewahrung (Retention) – wie viele Snapshots bleiben erhalten?“

Das betrifft nur Kopia-Snapshots in Ihrem Repository – nicht die Retention für Bucket-Snapshots im backup@bunker-Dashboard (Retention im Dashboard).

Ohne Aufbewahrungsregeln würden alle Snapshots dauerhaft liegen. Mit einer Retention Policy legen Sie fest, wie viele Snapshots pro Zeitraum behalten werden; ältere werden automatisch gelöscht.

  • Letzte N Snapshots behalten (z. B. letzte 7),
  • Stündlich: z. B. 24 stündliche Snapshots,
  • Täglich: z. B. 7 Tage,
  • Wöchentlich: z. B. 4 Wochen,
  • Monatlich: z. B. 12 Monate,
  • Jährlich: z. B. 5 Jahre.

Kopia behält die neuesten Snapshots pro Kategorie und entfernt ältere. So haben Sie kurzfristig feine Granularität und langfristig Platzersparnis.

Terminal-Fenster
kopia policy set /pfad/zum/ordner \
--keep-latest=7 \
--keep-hourly=24 \
--keep-daily=7 \
--keep-weekly=4 \
--keep-monthly=12 \
--keep-annual=5
  • --keep-latest=7: Mindestens die letzten 7 Snapshots immer behalten.
  • --keep-hourly=24: Bis zu 24 stündliche (älteste Stündliche können entfernt werden, wenn älter als die täglichen Regeln).
  • --keep-daily=7: Bis zu 7 tägliche.
  • --keep-weekly=4: Bis zu 4 wöchentliche.
  • --keep-monthly=12: Bis zu 12 monatliche.
  • --keep-annual=5: Bis zu 5 jährliche.

Die genaue Semantik (z. B. wann „täglich“ beginnt) steht in der Kopia-Dokumentation zu Retention. Nach dem Setzen der Policy wendet Kopia diese bei zukünftigen Läufen an und bereinigt alte Snapshots entsprechend.


Wiederherstellung – Rolle des Repository-Passworts

Abschnitt betitelt „Wiederherstellung – Rolle des Repository-Passworts“

Um Backups wiederherzustellen, muss Kopia das Repository öffnen können. Dafür ist immer das Repository-Passwort nötig.

  1. Repository verbinden (siehe oben) und Repository-Passwort eingeben.
  2. Kopia entschlüsselt damit die Manifeste und Indizes und kann Snapshots auflisten.
  3. Sie wählen einen Snapshot (z. B. über kopia snapshot list) und stellen ihn wieder her.
Terminal-Fenster
kopia snapshot list

Ausgabe enthält u. a. Snapshot-IDs, Quellpfade und Zeitstempel.

Terminal-Fenster
kopia restore <SNAPSHOT-ID> /ziel/ordner

Beispiel:

Terminal-Fenster
kopia restore k1a2b3c4d5e6... /tmp/wiederherstellung

Kopia lädt die zu diesem Snapshot gehörenden verschlüsselten Blöcke von S3, entschlüsselt sie lokal mit den aus dem Repository-Passwort abgeleiteten Schlüsseln und schreibt die Dateien nach /ziel/ordner.

Sie können einen Snapshot als virtuelles Dateisystem mounten (wo unterstützt):

Terminal-Fenster
kopia mount k1a2b3c4d5e6... /mnt/kopia

Dann kopieren Sie nur die benötigten Dateien aus /mnt/kopia und unmounten anschließend.


  • Repository-Passwort: In einem Passwortmanager oder an einem sicheren Ort aufbewahren; niemals an Dritte oder an den Speicheranbieter geben.
  • Wiederherstellung testen: Regelmäßig (z. B. jährlich) eine Test-Wiederherstellung auf einem anderen Rechner durchführen (Repository verbinden mit Passwort, Snapshot wiederherstellen).
  • Keys sicher halten: Access Key und Secret wie ein Passwort behandeln; nicht in Repositories committen oder in Logs schreiben.
  • Retention anpassen: Je nach Wichtigkeit der Daten und Speicherbudget Retention großzügig (mehr Snapshots) oder restriktiver wählen.
  • Kopia aktuell halten: Updates von Kopia nutzen, um von Sicherheits- und Kompatibilitätsverbesserungen zu profitieren.

Mit dieser Einrichtung nutzen Sie backup@bunker als sicheres, S3-kompatibles Ziel für Kopia mit vollständig lokaler Verschlüsselung, klarer Snapshot- und Retention-Steuerung und Wiederherstellung nur mit Ihrem Repository-Passwort.