ბეკაპი და აღდგენა დარღვევების შემდეგ
AiHummer-ის მდგომარეობა მცირეა და კარგად განსაზღვრულია, რაც ანაბეჭდვას მარტივს ხდის — თუ მახსოვს, რომ მასტერკლიუ არ არის მონაცემთა ბაზაში და უნდა დაიცვას თავი დამოუკიდებლად. ამ გვერდზე მოთხრობილია, რა უნდა შეინახოთ, როგორ გააკეთოთ ეს და როგორ აღადგინოთ.
რას უნდა წუნიშნავდეს
არის სამი დამოუკიდებელი რამ, რომელიც უნდა დაიცვას:
| რა | სად | რატომ |
|---|---|---|
| მონაცემთა ბაზა | PostgreSQL | სიმართლის წყარო — აგენტები, საუბრები, მეხსიერება, დაყენებანი, დაშიფრული საიდუმლოებები |
| ლაქები | AIHUMMER_BLOB_DIR |
მედია და ფაილური დანართები, რომელზე მითითება აღინიშნება მონაცემთა ბაზაში |
| მთავარი გასაღები | AIHUMMER_MASTER_KEY |
ავსებადს სარდაფს; არ ინახება მონაცემთა ბაზაში |
[!DANGER] შექმნა სარეზერვო კოპია
AIHUMMER_MASTER_KEYმიჯნულად და შეინახეთ ეს სხვაგან სადმე მონაცემთა ბაზის დამბი. საყრდენი ამ გასაღებით კონვერტშია დაშიფრული — კმაყოფილების მასტერული გასაღები და დაშიფრული საიდუმლოებით ვერ აღდგება, თუნდაც იდეალურად მონაცემთა ბაზის რეზერვირება.
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] მხოლოდ მონაცემთა ბაზის აღდგენა სრულ აღდგენას არ წარმოადგენს. აღადგინეთ ასევე ბლობის კატალოგი. და დარწმუნდით, რომ იგივე
AIHUMMER_MASTER_KEYლოკალურ ჰოსტზე არსებობს — სხვა შემთხვევაში საცავი ვერ გახდება დეშიფრული.
კატასტროფის შემდგომი აღდგენა
ავსებით მასპინძლის დაკარგვის სცენარისთვის მიჰყევით ხელმძღვანელობა კატასტროფისგან აღდგენის შესახებ (docs/runbooks/disaster-recovery.md). აღდგენის პროცედურა:
- მოამზადეთ ჰოსტი და დააყენეთ AiHummer-ის იგივე ვერსია.
- გადატვირთვა მთავარი გასაღები ში
AIHUMMER_MASTER_KEY. - გადატვირთვა მონაცემთა ბაზა (ბოლო სურათი, შემდეგ დაბრუნება WAL/PITR-ის დახმარებით, თუ გამოიყენება).
- გადატვირთვა ბლობის კატალოგი ში
AIHUMMER_BLOB_DIR. - გადატვირთვა მოდულის კონფიგურაცია და არტეფაქტები (პარამეტრები ინახება მონაცემთა ბაზაში; განაახლეთ მოდულისთვის დამახასიათებელი ნებისმიერი კონფიგურაციის ფაილი თქვენი რეზერვიდან).
- გადატვირთვა აინშტაინის მეხსიერების ფაილები —
MEMORY.mdდა კანონიკური Markdown (განმეორებითი მეხსიერების პროექტირება) — მათ კატალოგში (ან დაუშვან მათ აღდგეს მონაცემთა ბაზა). - თუ გვერდითი მანქანა გამოიყენება დანერგვისთვის, აღადგინეთ ვექტორული სხრავი v2 (ან აღადგინეთ ინდექსები აღდგენილი მონაცემთა ბაზიდან/Markdown).
- სერვისების გაშვება (
aihummer up) და გადაამოწმეთ/readyzდაdeploy/host/smoke.sh.
[!TIP] ასევე დაიჭირეთ
AIHUMMER_MEDIA_TOKEN_SECRETთქვენი მთავარი გასაღებით. ეს ინახავს ხელმოწერას მედიის ჩამოტვირთვის URL-მისამართები, რომლებიც მოქმედებს გადატვირთვებისა და ხელახლა აწყობის დროს.
სად შემდეგ?
- ნიმუშები და კვამლის ტესტი, რომლებიც გამოიყენება აღდგენის შემოწმებისთვის: systemd და მდგომარეობის შემოწმება.
- ვერსიინირება და მიგრაციები განახლების დროს: განახლების პოლიტიკა.