Säkerhetskopior och katastrofåterställning
AiHummers tillstånd är litet och väldefinierat, vilket gör säkerhetskopiering enkel — så länge du kommer ihåg att huvudnyckeln finns inte i databasen och måste skyddas på egen hand. Denna sida täcker vad som ska säkerhetskopieras, hur, och hur man återställer.
Vad man ska säkerhetskopiera
Det finns tre oberoende saker att skydda:
| Vad | Var | Varför |
|---|---|---|
| Databas | PostgreSQL | Sanningskällan — agenter, konversationer, minne, inställningar, krypterade hemligheter |
| Klump | AIHUMMER_BLOB_DIR |
Media och filbilagor som refereras av databasen |
| Masternyckel | AIHUMMER_MASTER_KEY |
Dekrypterar valvet; aldrig lagrad i databasen |
[!DANGER] Säkerhetskopiera
AIHUMMER_MASTER_KEYseparat och lagra det någon annanstans än databasdumpen. Valvet är kuvertkrypterat under denna nyckel — förlora masternyckeln och de krypterade hemligheterna är oåterkalleliga, även med en perfekt databasbackup.
PostgreSQL är sanningskällan
Behandla databasen som auktoritativ. Den rekommenderade baslinjen är en daglig pg_dump plus WAL-arkivering för punkt-i-tiden-återställning (PITR) så att du kan spola fram till vilket ögonblick som helst mellan dumpningarna.
# Daily logical dump
pg_dump "$AIHUMMER_DATABASE_URL" --format=custom --file=aihummer-$(date +%F).dump
Para ihop dumpfilerna med kontinuerlig WAL-arkivering (PITR) för finfördelad återställning mellan snapshots.
Einsteins minne lever också i databasen: den människoläsbara kanoniska Markdown (MEMORY.md) och v2-vektorlagret är projektioner härrör från det, inte separata auktoritativa källor.
Säkerhetskopiera blobbar
Media och filbilagor finns under AIHUMMER_BLOB_DIR. Säkerhetskopiera denna katalog tillsammans med databasen så att återställda konversationer fortfarande kan hantera sina bilagor. Om AIHUMMER_BLOB_DIR är inte konfigurerad, medie-/filtjänsten är inte aktiv och det finns inget extra att kopiera.
aihummer-säkerhetskopierings- och återställningskommandon
CLI:n paketerar rutinen i två kommandon:
aihummer backup [dir] # write a backup into [dir]
aihummer restore <file> # restore from a backup file
Använd dessa för vanliga operationella säkerhetskopior och återställningar. Se CLI-referens för relaterade kommandon.
[!WARNING] En databasåterställning ensam är inte en fullständig återställning. Återställ även blob-katalogen. och se till att samma
AIHUMMER_MASTER_KEYär närvarande på målhosten — annars kan valvet inte dekrypteras.
Katastrofåterställning
För ett scenario med full värdförlust, följ katastrofåterställningshandbok (docs/runbooks/disaster-recovery.md). Återställningsordningen är:
- Tillhandahåll en värd och installera samma version av AiHummer.
- Återställ huvudnyckel in i
AIHUMMER_MASTER_KEY. - Återställ databas (senaste dumpen, sedan rulla framåt via WAL/PITR om det används).
- Återställ blobbkatalog vid
AIHUMMER_BLOB_DIR. - Återställ modulkonfiguration och artefakter (inställningar finns i databasen; återställ eventuella modul-specifika konfigurationsfiler från din backup).
- Återställ Einsteins minnesfiler —
MEMORY.mdoch den kanoniska Markdown (minnesprojektionen) — till deras katalog (eller låt dem återuppbyggas från databas). - Om embedder-sidecaren används, återställ v2 vektorlagring (eller bygg om indexen från den återställda databasen/Markdown).
- Starta tjänster (
aihummer up) och verifiera med/readyzochdeploy/host/smoke.sh.
[!TIP] Behåll också
AIHUMMER_MEDIA_TOKEN_SECRETmed din huvudnyckel. Den håller signerad media-nedladdnings-URL:er som är giltiga över omstarter och återuppbyggnader.
Vart härnäst
- Prober och röktestet som används för att verifiera en återställning: systemd och hälsokontroller.
- Versionering och migreringar under en uppgradering: Uppgraderingspolicy.