Պաշտպանիչ պատճենավորում և ձախողումների դեպքում վերականգնում
AiHummer-ի վիճակն այնքան էլ մեծ չէ և լավ սահմանված է, ինչը հեշտացնում է կրկնօրինակումն՝ այն պայմանով, որ հիշում եք, թե մաստեր-բանալի չի գտնվել տվյալների բազայում մանրէ պետք է ինքնուրույն պաշտպանվել։ Այս էջում պատմվում է, թե ինչ պետք է պահեստավորել, ինչպես դա անել և ինչպես վերականգնել։
Ինչ պետք է պահել
Կան երեք անկախ բաներ, որոնք անհրաժեշտ է պաշտպանել:
| Ինչ | Որտեղ | Ինչու |
|---|---|---|
| Տվյալների բազա | PostgreSQL | Հաղորդակի աղբյուրն են գործակալները, խոսակցությունները, հիշողությունը, կարգավորումները, կոդավորված գաղտնիքները |
| Լաքեր | AIHUMMER_BLOB_DIR |
Մեդիա և ֆայլերի կցումներ, որոնցն անդրադառնում է տվյալների բազան |
| Գլխավոր բանալին | AIHUMMER_MASTER_KEY |
Դեկոդավորում է պահոցը; մի՛թե պահվում բազայում |
[!DANGER] Ստեղծել պահուստային պատճեն
AIHUMMER_MASTER_KEYտարբերաբար և պահեք դա ergens այլ վայրում տվյալների շտեմարանի արտահանումը. Մատյանը նամակով կոդավորված է այս բանալիի տակ — կորցնել հիմնական բանալին և կոդավորված գաղտնիքները անհնարին են վերականգնելու, անգամ իդեալական մատյանների պահուստային կրկնօրինակում:
PostgreSQL-ը ճշմարտության աղբյուրն է
Դիտեք տվյալների բազան որպես հեղինակավոր աղբյուր։ Հիմնական առաջարկվող գիծը հանդիսանում է օրական pg_dump գումար WAL-ի արխիվավորում որոշակի պահին վերականգնման համար (PITR) Ուստի դուք կարող եք առաջ շարժվել դամբերի միջև ցանկացած պահի։
# Daily logical dump
pg_dump "$AIHUMMER_DATABASE_URL" --format=custom --file=aihummer-$(date +%F).dump
Համատեղեք պատճենները շարունակվող WAL արխիվավորմամբ (PITR)` սղագրությունների միջև մանրակրկիտ վերականգնման համար:
Անշտեյնի հիշողությունն էլ ապրում է տվյալների բազայում ընթերցելի եկանակալ Markdown (MEMORY.md`) և վեկտորների պահոցը v2-ով են պրոյեկցիաներ հանում են նրանից, այլ ոչ թե առանձին հեղինակավոր աղբյուրներից։
Բլոբերի պահուստային պատճենավորում
Մեդիան և բեռնված ֆայլերը գտնվում են տակ AIHUMMER_BLOB_DIR. Պահպանեք այս թղթապանակի կրկնօրինակը միասին տվյալների շտեմարանից, որպեսզի վերականգնված զրույցները դեռ կարողանան հղվել իրենց կցումներին։ Եթե AIHUMMER_BLOB_DIR չներկայացված է, մեդիա/ռեսուրսների ծառայությունը ակտիվ չէ և ոչինչ հավելյալ կրկնելու համար չկա։
aihummer բեկապավորման և վերականգնման հրամաններ
CLI-ն միավորում է ռուտինն երկու հրամանների մեջ։
aihummer backup [dir] # write a backup into [dir]
aihummer restore <file> # restore from a backup file
Օգտագործեք դրանք սովորական պահուստային պատճեններ ստեղծելու և վերականգնելու համար: Տես CLI-ի ուղեցույց կապակցված թիմերի համար։
[!WARNING] Միայն տվյալների բազայի վերականգնումը ամբողջական վերականգնում չէ: Վերականգնեք նաև blob կատալոգը: և համոզվեք, որ նույնպիսի
AIHUMMER_MASTER_KEYներկայացած է նպատը զանգվածում — Այլապես պահարանն անհնար կլինի ապակոդավորել։
Ավերածություններից հետո վերականգնում
Հոսթը կորցնելու լրիվ սցենարի համար հետևեք վերականգնման ուղեցույց վթարից հետո (docs/runbooks/disaster-recovery.md). Վերականգման կարգը:
- Պատրաստեք հյուրընկալողը և տեղադրեք AiHummer-ի նույն վարկածը։
- Վերականգնել հիմնական բանալի ում
AIHUMMER_MASTER_KEY. - Վերականգնել տվյալների բազա (վերջին տվյալների պատճենը, այնուհետև անհրաժեշտության դեպքում վերականգնել WAL/PITR օգտագործելով)
- Վերականգնել blob կատալոգ ում
AIHUMMER_BLOB_DIR. - Վերականգնել մոդուլի կազմաձևը և արհեստածինները (կարգավորումները պահվում են տվյալների զանգվածում; վերականգնեք ցանկացած կոնֆիգուրացիայի ֆայլ, որը հատուկ է մոդուլին, ձեր կրկնօրինակից։
- Վերականգնել Էյնշտեյնի հիշողության ֆայլերը —
MEMORY.mdև կանոնակարգված Markdown (հիշողության նախագծում) — նրանց կատալոգում (կամ թույլ տալ, որ նրանք վերականգնվեն տվյալների բազա). - Եթե օգտագործվում է սայդքարը ներդրման համար, վերականգնեք վեկտոր պահոց v2 (կամ վերականգնել ինդեքսներ վերականգնված տվյալների բազայից/Markdown).
- Գործարկել ծառայությունները (
aihummer up) և ստուգեք հետ/readyzևdeploy/host/smoke.sh.
[!TIP] ԱԿԱ ԽՆԴՐՈՒՄ ԵՄ
AIHUMMER_MEDIA_TOKEN_SECRETձեր գլխավոր բանալիով։ Այն պահպանում է ստորագրությունը Մեդիայի ներբեռնման URL հասցեները, որոնք վավեր են նորընթեռնարկումների և վերակառուցումների ժամանակ։
Որտեղից հետո
- Նմուշներ և ծխի թեստ, որոնք օգտագործվում են վերականգնման ստուգման համար: systemd-ն և վիճակի ստուգումները.
- Ներբեռնման և միգրացիաների ժամանակն անցկացման ընթացքում: Թարմացման քաղաքականություն.