Sikkerhetskopier og katastrofegjenoppretting
AiHummers tilstand er liten og godt definert, noe som gjør sikkerhetskopiering enkel — så lenge du husker at hovednøkkelen er ikke i databasen og må beskyttes på egen hånd. Denne siden dekker hva som bør sikkerhetskopieres, hvordan, og hvordan man gjenoppretter.
Hva du skal sikkerhetskopiere
Det er tre uavhengige ting å beskytte:
| Hva | Hvor | Hvorfor |
|---|---|---|
| Database | PostgreSQL | Kilden til sannheten — agenter, samtaler, minner, innstillinger, krypterte hemmeligheter |
| Klumper | AIHUMMER_BLOB_DIR |
Media og filvedlegg referert til av databasen |
| Masters nøkkel | AIHUMMER_MASTER_KEY |
Dekrypterer hvelvet; aldri lagret i databasen |
[!DANGER] Ta backup
AIHUMMER_MASTER_KEYseparat og lagre det et annet sted enn databaseuttrekket. Hvelvet er konvolutt-kryptert under denne nøkkelen — mistet masternøkkel og de krypterte hemmelighetene kan ikke gjenopprettes, selv med en perfekt database sikkerhetskopi.
PostgreSQL er sannhetskilden
Behandle databasen som autoritativ. Den anbefalte grunnlinjen er en daglig pg_dump pluss WAL-arkivering for gjenoppretting til et bestemt tidspunkt (PITR) slik at du kan spole frem til et hvilket som helst øyeblikk mellom dumpene.
# Daily logical dump
pg_dump "$AIHUMMER_DATABASE_URL" --format=custom --file=aihummer-$(date +%F).dump
Par dumpene med kontinuerlig WAL-arkivering (PITR) for finmasket gjenoppretting mellom snapshots.
Einsteins minne lever også i databasen: den menneskeleselige kanoniske Markdown (MEMORY.md) og v2-vektorlagringen er fremskrivninger avledet fra det, ikke separate autoritative kilder.
Sikkerhetskopiering av blobs
Media og filvedlegg ligger under AIHUMMER_BLOB_DIR. Ta sikkerhetskopi av denne katalogen sammen med databasen, slik at gjenopprettede samtaler fortsatt kan hente vedleggene sine. Hvis AIHUMMER_BLOB_DIR er ikke konfigurert, medie-/filservice er ikke aktiv og det er ingenting ekstra å kopiere.
aihummer sikkerhetskopi- og gjenopprettingskommandoer
CLI-en pakker rutinen inn i to kommandoer:
aihummer backup [dir] # write a backup into [dir]
aihummer restore <file> # restore from a backup file
Bruk disse for vanlige operasjonelle sikkerhetskopier og gjenopprettinger. Se CLI-referanse for relaterte kommandoer.
[!WARNING] En databasegjenoppretting alene er ikke en fullstendig gjenoppretting. Gjenopprett også blob-katalogen. og sørg for at samme
AIHUMMER_MASTER_KEYer til stede på målverten — ellers kan ikke hvelvet dekrypteres.
Katastrofegjenoppretting
For et scenario med full tap av vert, følg katastrofegjenopprettingshandlingsplan (docs/runbooks/disaster-recovery.md). Gjenopprettingsordren er:
- Provisioner en vert og installer samme AiHummer-versjon.
- Gjenopprett masters nøkkel inn i
AIHUMMER_MASTER_KEY. - Gjenopprett database (siste dump, deretter rull fremover via WAL/PITR hvis brukt).
- Gjenopprett blob-katalog at
AIHUMMER_BLOB_DIR. - Gjenopprett modulkonfigurasjon og artefakter (innstillinger ligger i databasen; gjenopprett eventuelle modulspesifikke konfigurasjonsfiler fra sikkerhetskopien din).
- Gjenopprett Einstein-minnefiler —
MEMORY.mdog den kanoniske Markdown (hukommelsesprojeksjonen) — inn i deres katalog (eller la dem bli gjenoppbygget fra database). - Hvis embedder-sidebilen brukes, gjenopprett v2 vektorlagring (eller bygg opp igjen indeksene fra den gjenopprettede databasen/Markdown).
- Start tjenester (
aihummer up) og verifiser med/readyzogdeploy/host/smoke.sh.
[!TIP] Også behold
AIHUMMER_MEDIA_TOKEN_SECRETmed hovednøkkelen din. Den holder seg signert medienedlastings-URLer som er gyldige på tvers av omstarter og gjenoppbygginger.
Hvor til neste
- Prober og røyktesten brukt for å verifisere en gjenoppretting: systemd og helsesjekker.
- Versjonskontroll og migreringer under en oppgradering: Oppgraderingspolicy.