Backups & Katastrophenwiederherstellung
Der Zustand von AiHummer ist klein und gut definiert, was Backups einfach macht – solange man sich daran erinnert, dass der Der Generalschlüssel ist nicht in der Datenbank und muss für sich selbst geschützt werden. Diese Seite behandelt, was gesichert werden muss, wie und wie man es wiederherstellt.
Was gesichert werden soll
Es gibt drei unabhängige Dinge zu schützen:
| Was | Wo | Warum |
|---|---|---|
| Datenbank | PostgreSQL | Die Quelle der Wahrheit — Agenten, Gespräche, Erinnerungen, Einstellungen, verschlüsselte Geheimnisse |
| Kleckse | AIHUMMER_BLOB_DIR |
Von der Datenbank referenzierte Medien- und Dateianhänge |
| Hauptschlüssel | AIHUMMER_MASTER_KEY |
Entschlüsselt den Tresor; niemals in der Datenbank gespeichert |
[!DANGER] Sich zurückziehen
AIHUMMER_MASTER_KEYgetrennt und es irgendwo anders als der Datenbank-Dump. Der Tresor ist unter diesem Schlüssel im Umschlag verschlüsselt — verlieren die Der Hauptschlüssel und die verschlüsselten Geheimnisse sind nicht wiederherstellbar, selbst mit einem perfekten Datenbanksicherung.
PostgreSQL ist die Quelle der Wahrheit
Behandeln Sie die Datenbank als maßgeblich. Die empfohlene Basislinie ist eine täglich pg_dump plus WAL-Archivierung für Wiederherstellung zu einem bestimmten Zeitpunkt (PITR) so dass du zu jedem Moment zwischen den Dumps vorspulen kannst.
# Daily logical dump
pg_dump "$AIHUMMER_DATABASE_URL" --format=custom --file=aihummer-$(date +%F).dump
Kombinieren Sie die Dumps mit kontinuierlicher WAL-Archivierung (PITR) für eine fein abgestufte Wiederherstellung zwischen Snapshots.
Einsteins Gedächtnis lebt auch in der Datenbank: das menschenlesbare kanonische Markdown (MEMORY.md) und der V2-Vektorspeicher sind Projektionen daher abgeleitet, nicht separate autoritative Quellen.
Sichern von BLOBs
Medien- und Dateianhänge befinden sich unter AIHUMMER_BLOB_DIR. Sichern Sie dieses Verzeichnis zusammen mit der Datenbank, damit wiederhergestellte Unterhaltungen ihre Anhänge weiterhin auflösen können. Wenn AIHUMMER_BLOB_DIR ist nicht konfiguriert, der Medien-/Dateidienst ist nicht aktiv und es gibt nichts Weiteres zu kopieren.
Die aihummer Backup- & Restore-Befehle
Die CLI bündelt die Routine in zwei Befehle:
aihummer backup [dir] # write a backup into [dir]
aihummer restore <file> # restore from a backup file
Verwenden Sie diese für gewöhnliche betriebliche Sicherungen und Wiederherstellungen. Siehe die CLI-Referenz für verwandte Befehle.
[!WARNING] Eine Datenbankwiederherstellung allein ist keine vollständige Wiederherstellung. Stellen Sie auch das Blob-Verzeichnis wieder her. und stelle sicher, dass die gleich
AIHUMMER_MASTER_KEYist auf dem Zielhost vorhanden — ansonsten kann das Tresor nicht entschlüsselt werden.
Katastrophenwiederherstellung
Für ein vollständiges Host-Ausfall-Szenario befolgen Sie die Katastrophen-Wiederherstellungs-Runbook (docs/runbooks/disaster-recovery.md). Die Wiederherstellungsreihenfolge ist:
- Stellen Sie einen Host bereit und installieren Sie dieselbe AiHummer-Version.
- Wiederherstellen Hauptschlüssel in
AIHUMMER_MASTER_KEY. - Wiederherstellen Datenbank (neuester Dump, dann bei Nutzung über WAL/PITR weiterführen).
- Wiederherstellen Blob-Verzeichnis bei
AIHUMMER_BLOB_DIR. - Wiederherstellen Modulkonfiguration und Artefakte (Einstellungen leben in der Datenbank; Stellen Sie alle modul-spezifischen Konfigurationsdateien aus Ihrem Backup wieder her).
- Wiederherstellen Einstein-Speicherdateien —
MEMORY.mdund das kanonische Markdown (die Gedächtnisprojektion) — in ihr Verzeichnis (oder lassen Sie sie aus dem Datenbank). - Wenn das Embedder-Sidecar verwendet wird, stellen Sie die v2-Vektor-Speicher (oder wiederaufbauen die Indizes aus der wiederhergestellten Datenbank/Markdown).
- Dienste hochfahren (
aihummer up) und überprüfen mit/readyzunddeploy/host/smoke.sh.
[!TIP] Also behalten
AIHUMMER_MEDIA_TOKEN_SECRETmit Ihrem Generalschlüssel. Es bleibt signiert Medien-Download-URLs, die über Neustarts und Neuaufbauten hinweg gültig sind.
Wohin als Nächstes
- Sonden und der Rauchtest, der zur Überprüfung einer Wiederherstellung verwendet wird: systemd & Gesundheitsprüfungen.
- Versionierung und Migrationen während eines Upgrades: Upgrade-Richtlinie.