Backups und Restore¶
Weave bietet aktuell keine integrierte Backup- oder Restore-Funktion. Dieses Dokument beschreibt ein manuelles Backup auf Basis der relevanten Systempfade.
Voraussetzungen¶
Der Master Key wird nach dem ersten Start von weaved erzeugt und für den Restore von Backups benötigt.
Speichere ihn unmittelbar nach der Installation an einem sicheren Ort (z. B. Secret Vault oder Passwort-Manager).
Der Standardpfad ist in der bootstrap.yml unter encryptionkey: hinterlegt.
Master Key sicher aufbewahren
Ein Verlust führt dazu, dass alle Backups unbrauchbar sind. Der Key kann nicht wiederhergestellt werden.
Was gesichert werden muss¶
| Pfad | Zweck | Pflicht |
|---|---|---|
/var/lib/weave/weave.db |
Hauptdatenbank (Tokens, Credentials, Konfiguration) | Ja |
/var/lib/weave/weave.db-wal |
Write-Ahead-Log (Daten im Write Cache) | Ja |
/var/lib/weave/weave.db-shm |
Shared-Memory-Datei für WAL | Ja |
/etc/weave/encryption.key |
Master Key zur Entschlüsselung der Daten | Ja |
SQLite WAL Dateien müssen zusammen gesichert werden
Die Dateien weave.db, weave.db-wal und weave.db-shm müssen immer zusammen gesichert werden.
Fehlt die WAL-Datei, können die letzten Änderungen verloren gehen.
Optional¶
| Pfad | Zweck |
|---|---|
/etc/weave/bootstrap.yml |
Konfiguration |
/var/lib/weave/license/ |
Lizenzdateien (können neu angefordert werden) |
Backup erstellen¶
Es gibt zwei Wege, ein Backup zu erstellen:
- Der Hot Backup nutzt den SQLite Online-Backup-Mechanismus und läuft ohne Unterbrechung des Services, benötigt aber das Paket
sqlite3. - Der Cold Backup stoppt den Daemon und kopiert die Dateien direkt — einfach, aber mit kurzer Downtime.
Voraussetzung: das Paket sqlite3 ist installiert.
Lege ein Staging-Verzeichnis mit der Zielstruktur an, erzeuge einen konsistenten Snapshot der Datenbank und kopiere den Master Key dazu:
$ sudo mkdir -p /tmp/weave-backup/var/lib/weave \
/tmp/weave-backup/etc/weave
$ sudo -u weave sqlite3 /var/lib/weave/weave.db \
".backup /tmp/weave-backup/var/lib/weave/weave.db"
$ sudo cp /etc/weave/encryption.key \
/tmp/weave-backup/etc/weave/encryption.key
Packe das Staging-Verzeichnis in ein Archiv und räume auf:
Der Daemon bleibt während des gesamten Vorgangs aktiv.
Kein WAL und SHM nötig
sqlite3 .backup erzeugt eine einzelne, in sich konsistente
.db-Datei — die Dateien weave.db-wal und weave.db-shm werden
beim Hot Backup nicht benötigt. SQLite legt beide beim nächsten
Daemon-Start automatisch wieder an.
Restore durchführen¶
1. Service stoppen¶
2. Backup wiederherstellen¶
Warum -C /?
Das Backup enthält absolute Pfade (/var/lib/weave/...). tar entfernt
beim Entpacken standardmäßig das führende / und legt die Dateien
relativ zum aktuellen Verzeichnis an. -C / wechselt vor dem Entpacken
ins Root-Verzeichnis, sodass die Dateien wieder an ihrem ursprünglichen
Ort landen.
3. Dateiberechtigungen setzen¶
$ sudo chown -R weave:weave /var/lib/weave
$ sudo chown weave:weave /etc/weave/encryption.key
$ sudo chmod 600 /etc/weave/encryption.key
4. Service starten¶
5. Funktion überprüfen¶
Überprüfe, ob der Daemon aktiv ist und ob deine Datenbank wiederhergestellt wurde:
Wenn beide Prüfungen erfolgreich sind, ist der Restore abgeschlossen.