Sikkerhedskopier & katastrofegendannelse
AiHummers tilstand er lille og veldefineret, hvilket gør sikkerhedskopier enkle — så længe du husker, at hovednøglen er ikke i databasen og skal beskyttes på egen hånd. Denne side dækker, hvad man skal sikkerhedskopiere, hvordan, og hvordan man gendanner.
Hvad der skal sikkerhedskopieres
Der er tre uafhængige ting at beskytte:
| Hvad | Hvor | Hvorfor |
|---|---|---|
| Database | PostgreSQL | Sandhedens kilde — agenter, samtaler, hukommelse, indstillinger, krypterede hemmeligheder |
| Klatter | AIHUMMER_BLOB_DIR |
Medier og filvedhæftninger refereret af databasen |
| Masters nøgle | AIHUMMER_MASTER_KEY |
Dekrypterer hvælvet; aldrig gemt i databasen |
[!DANGER] Sikkerhedskopi
AIHUMMER_MASTER_KEYseparat og opbevar det et andet sted end databaseudtrækket. Hvælvet er kuvert-krypteret under denne nøgle — tabe hovednøgle og de krypterede hemmeligheder kan ikke gendannes, selv med en perfekt database backup.
PostgreSQL er sandhedens kilde
Behandl databasen som autoritativ. Den anbefalede grundlinje er en daglig pg_dump plus WAL-arkivering til gendannelse til et bestemt tidspunkt (PITR) så du kan spole frem til et hvilket som helst øjeblik mellem dump.
# Daily logical dump
pg_dump "$AIHUMMER_DATABASE_URL" --format=custom --file=aihummer-$(date +%F).dump
Par dumpene med kontinuerlig WAL-arkivering (PITR) for finmasket gendannelse mellem snapshots.
Einsteins hukommelse lever også i databasen: den menneskeligt læsbare kanoniske Markdown (MEMORY.md) og v2-vektorlageret er fremskrivninger afledt af det, ikke separate autoritative kilder.
Sikkerhedskopiering af blobs
Medier og filvedhæftninger lever under AIHUMMER_BLOB_DIR. Sikkerhedskopier denne mappe sammen med databasen, så gendannede samtaler stadig kan få adgang til deres vedhæftninger. Hvis AIHUMMER_BLOB_DIR er ikke konfigureret, medie-/filservicen er ikke aktiv, og der er ikke noget ekstra at kopiere.
aihummer backup- og gendannelseskommandoerne
CLI’en samler rutinen i to kommandoer:
aihummer backup [dir] # write a backup into [dir]
aihummer restore <file> # restore from a backup file
Brug disse til almindelige operationelle sikkerhedskopier og gendannelser. Se CLI-reference for relaterede kommandoer.
[!WARNING] En databasegendannelse alene er ikke en fuldstændig genopretning. Gendan også blob-mappen, og sørg for, at samme
AIHUMMER_MASTER_KEYer til stede på målhosten — ellers kan hvælvet ikke dekrypteres.
Katastrofegendannelse
For et fuldt værtstabsscenarie, følg beredskabsplan for katastrofegendannelse (docs/runbooks/disaster-recovery.md). Genopretningsordren er:
- Provisioner en vært og installer den samme version af AiHummer.
- Gendan generálnøgle ind i
AIHUMMER_MASTER_KEY. - Gendan database (seneste dump, derefter rul frem via WAL/PITR, hvis det bruges).
- Gendan blob-mappe at
AIHUMMER_BLOB_DIR. - Genskab modulkonfiguration og artefakter (indstillinger findes i databasen; gendan eventuelle modul-specifikke konfigurationsfiler fra din sikkerhedskopi).
- Gendan Einstein hukommelsesfiler —
MEMORY.mdog den kanoniske Markdown (hukommelsesprojektionen) — ind i deres bibliotek (eller lad dem blive genopbygget fra database). - Hvis embedder-sidecaren bruges, genskab v2 vektorbutik (eller genopbyg indekserne fra den gendannede database/Markdown).
- Start tjenester (
aihummer up) og bekræft med/readyzogdeploy/host/smoke.sh.
[!TIP] Hold også
AIHUMMER_MEDIA_TOKEN_SECRETmed din hovednøgle. Den forbliver underskrevet medie download-URL’er, der er gyldige på tværs af genstarter og genopbygninger.
Hvor til næste
- Prober og røgtesten, der bruges til at verificere en gendannelse: systemd og sundhedstjek.
- Versionering og migrationer under en opgradering: Opgraderingspolitik.