AiHummer
Lietuvių
PrisijungtiPaskyra
v1.1.x
{ }Swagger

Atsarginės kopijos ir nelaimių atsigavimas

v1.1.x · atnaujinta 2026-06-26

AiHummer būsena yra maža ir gerai apibrėžta, todėl atsargines kopijas atlikti paprasta — tol, kol atsimenate, kad pagrindinis raktas nėra duomenų bazėje ir turi būti apsaugota atskirai. Šiame puslapyje aptariama, ką atsarginę kopiją daryti, kaip tai daryti ir kaip atkurti.

Ką atsarginę kopiją daryti

Yra trys nepriklausomi dalykai, kuriuos reikia apsaugoti:

Kas Kur Kodėl
Duomenų bazė PostgreSQL Tiesos šaltinis — agentai, pokalbiai, atmintis, nustatymai, užšifruoti paslėpti duomenys
Krūvos AIHUMMER_BLOB_DIR Duomenų bazėje nurodyti laikmenos ir failų priedai
Pagrindinis raktas AIHUMMER_MASTER_KEY Atrakina saugyklą; niekada nesaugoma duomenų bazėje

[!DANGER] Atsarginė kopija AIHUMMER_MASTER_KEY atskirai ir laikyti tai kitur nei duomenų bazės atsarginė kopija. Saugykla yra užšifruota vokeliu naudojant šį raktą — prarasti pagrindinis raktas ir užšifruoti slaptumai nebegali būti atkurti, net su tobulu duomenų bazės atsarginė kopija.

PostgreSQL yra tiesos šaltinis

Laikykite duomenų bazę autoritetinga. Rekomenduojama bazinė linija yra kasdien pg_dump plius WAL archyvavimas punktiniu laiko atkūrimui (PITR) taigi galite sukti į priekį į bet kurią akimirką tarp išsaugojimų.

# Daily logical dump
pg_dump "$AIHUMMER_DATABASE_URL" --format=custom --file=aihummer-$(date +%F).dump

Suderinkite atsargines kopijas su nuolatiniu WAL archyvavimu (PITR), kad galėtumėte tiksliai atkurti duomenis tarp momentinių kopijų.

Eynšteino atmintis taip pat gyvena duomenų bazėje: žmogui suprantamas kanoninis Markdown (MEMORY.md) ir v2 vektorių saugykla yra projekcijos gauta iš jo, o ne atskiros autoritetingos saugyklos.

Blokų atsarginė kopija

Medijos ir failų priedai gyvena pagal AIHUMMER_BLOB_DIR. Atsargine šio katalogo kopiją kartu su duomenų baze, kad atkurtos pokalbių žinutės vis tiek galėtų susieti savo priedus. Jei AIHUMMER_BLOB_DIR nėra sukonfigūruota, medijos/duomenų failų paslauga neveikia ir nėra nieko papildomo kopijuoti.

aihummer atsarginės kopijos ir atkūrimo komandos

CLI sujungia procedūrą į dvi komandas:

aihummer backup [dir]      # write a backup into [dir]
aihummer restore <file>    # restore from a backup file

Naudokite tai įprastoms operatyvinėms atsarginėms kopijoms ir atkūrimams. Žr. CLI nuoroda susijusiems komandų.

[!WARNING] Viena duomenų bazės atkūrimas nėra pilnas atkūrimas. Atkurkite ir blob katalogą, ir įsitikinkite, kad tas pats AIHUMMER_MASTER_KEY yra dabartiniame tiksline kompiuteryje — priešingu atveju saugyklos negalima dešifruoti.

Nutrūkusios sistemų atkūrimas

Pilno šeimininko praradimo atveju vadovaukitės katastrofos atsigavimo veiksmų vadovas (docs/runbooks/disaster-recovery.md). Atkūrimo tvarka yra:

  1. Sukurkite pagrindinį kompiuterį ir įdiekite tą pačią AiHummer versiją.
  2. Atkurti pagrindinis raktas į AIHUMMER_MASTER_KEY.
  3. Atkurti duomenų bazė (paskutinė atsarginė kopija, tada atstatyti naudojant WAL/PITR, jei taikoma).
  4. Atkurti blob katalogas prie AIHUMMER_BLOB_DIR.
  5. Atkurti modulio konfigūracija ir artefaktai (nustatymai saugomi duomenų bazėje; atkurti bet kokius modulio specifinius konfigūracijos failus iš jūsų atsarginės kopijos).
  6. Atkurti Einšteino atminties failaiMEMORY.md ir kanoninis Markdown (atminties projekcija) — į jų katalogą (arba leiskite jiems būti atstatytiems iš duomenų bazė).
  7. Jei naudojama įterpimo pusės programa, atkurkite v2 vektorių saugykla (arba atstatyti indeksai iš atstatytos duomenų bazės/Markdown).
  8. Paleisti paslaugas (aihummer up) ir patikrink su /readyz ir deploy/host/smoke.sh.

[!TIP] Taip pat laikyti AIHUMMER_MEDIA_TOKEN_SECRET su jūsų pagrindiniu raktu. Jis yra pasirašytas žiniasklaidos atsisiuntimo URL galioja po perkrovimų ir atkūrimo.

Kur toliau