Zaxira nusxalar va falokatdan tiklanish
AiHummer’ning holati kichik va aniq belgilangan, bu zaxira nusxalashni sodda qiladi — agar master kalit ma’lumotlar bazasida emas ekanini va o‘zicha himoyalanishi kerakligini eslab qolsangiz. Bu sahifa nimani zaxiralash, qanday qilish va qanday tiklashni qamrab oladi.
Nimani zaxiralash kerak
Himoya qilinadigan uchta mustaqil narsa bor:
| Nima | Qayerda | Nega |
|---|---|---|
| Ma’lumotlar bazasi | PostgreSQL | Haqiqat manbasi — agentlar, suhbatlar, xotira, sozlamalar, shifrlangan sirlar |
| Bloblar | AIHUMMER_BLOB_DIR |
Ma’lumotlar bazasi havola qiladigan media va fayl ilovalari |
| Master kalit | AIHUMMER_MASTER_KEY |
Saqlovni deshifrlaydi; hech qachon ma’lumotlar bazasida saqlanmaydi |
[!DANGER]
AIHUMMER_MASTER_KEY’ni alohida zaxiralang va uni ma’lumotlar bazasi dump’idan boshqa joyda saqlang. Saqlov bu kalit ostida konvert-shifrlangan — master kalitni yo‘qotsangiz, hatto mukammal ma’lumotlar bazasi zaxirasi bilan ham shifrlangan sirlar tiklanmaydi.
PostgreSQL haqiqat manbasidir
Ma’lumotlar bazasiga vakolatli sifatida munosabatda bo‘ling. Tavsiya etilgan
asos — kunlik pg_dump plus WAL arxivlash orqali nuqta-vaqt tiklanishi
(PITR), shunda dump’lar orasidagi istalgan lahzaga oldinga aylantirishingiz
mumkin.
# Daily logical dump
pg_dump "$AIHUMMER_DATABASE_URL" --format=custom --file=aihummer-$(date +%F).dump
Snapshot’lar orasida nozik tiklanish uchun dump’larni uzluksiz WAL arxivlash (PITR) bilan birga ishlating.
Bloblarni zaxiralash
Media va fayl ilovalari AIHUMMER_BLOB_DIR ostida yashaydi. Tiklangan suhbatlar
o‘z ilovalarini hali ham aniqlay olishi uchun bu katalogni ma’lumotlar bazasi
bilan birga zaxiralang. Agar AIHUMMER_BLOB_DIR sozlanmagan bo‘lsa, media/fayl
xizmati faol emas va ko‘chiriladigan qo‘shimcha narsa yo‘q.
aihummer backup va restore buyruqlari
CLI bu jarayonni ikkita buyruqqa to‘playdi:
aihummer backup [dir] # write a backup into [dir]
aihummer restore <file> # restore from a backup file
Bularni oddiy operatsion zaxira va tiklash uchun ishlating. Tegishli buyruqlar uchun CLI ma’lumotnomasi sahifasiga qarang.
[!WARNING] Faqat ma’lumotlar bazasini tiklash to‘liq tiklanish emas. Blob katalogini ham tiklang va maqsadli xostda xuddi shu
AIHUMMER_MASTER_KEYmavjudligiga ishonch hosil qiling — aks holda saqlovni deshifrlab bo‘lmaydi.
Falokatdan tiklanish
To‘liq xost-yo‘qotish ssenariysi uchun falokatdan tiklanish runbook’iga
(docs/runbooks/disaster-recovery.md) amal qiling. Tiklash tartibi:
- Xost tayyorlang va xuddi shu AiHummer versiyasini oʻrnating.
- Master kalitni
AIHUMMER_MASTER_KEY’ga tiklang. - Ma’lumotlar bazasini tiklang (eng so‘nggi dump, keyin ishlatilgan bo‘lsa WAL/PITR orqali oldinga aylantiring).
- Blob katalogini
AIHUMMER_BLOB_DIR’da tiklang. - Xizmatlarni ishga tushiring (
aihummer up) va/readyzhamdadeploy/host/smoke.shbilan tekshiring.
[!TIP]
AIHUMMER_MEDIA_TOKEN_SECRET’ni ham master kalitingiz bilan saqlang. U imzolangan media yuklab olish URL’larini qayta ishga tushirishlar va qayta qurishlar davomida amal qilishini ta’minlaydi.
Keyin qayerga
- Tiklanishni tekshirish uchun zondlar va smoke test: systemd va salomatlik tekshiruvlari.
- Yangilash paytida versiyalash va migratsiyalar: Yangilash siyosati.