बैकअप और आपदा पुनर्प्राप्ति
एआईहमर की स्थिति छोटी और स्पष्ट रूप से परिभाषित है, जो बैकअप को सरल बनाती है — जब तक कि आप यह याद रखें कि मास्टर की डेटाबेस में नहीं है और इसे स्वयं सुरक्षित किया जाना चाहिए। यह पृष्ठ यह बताता है कि क्या बैकअप लेना है, कैसे लेना है, और कैसे पुनर्प्राप्त करना है।
क्या बैकअप करना है
सुरक्षित करने के लिए तीन स्वतंत्र चीजें हैं:
| क्या | कहाँ | क्यों |
|---|---|---|
| डेटाबेस | पोस्टग्रेसक्यूएल | सत्य का स्रोत — एजेंट, बातचीत, स्मृति, सेटिंग्स, एनक्रिप्टेड रहस्य |
| धब्बे | AIHUMMER_BLOB_DIR |
डेटाबेस द्वारा संदर्भित मीडिया और फ़ाइल संलग्नक |
| मुख्य कुंजी | AIHUMMER_MASTER_KEY |
वॉल्ट को डिक्रिप्ट करता है; कभी भी डेटाबेस में संग्रहित नहीं किया गया |
[!DANGER] बैक अप
AIHUMMER_MASTER_KEYअलग-अलग और इसे कहीं और संग्रहित करें डाटाबेस डंप। वॉल्ट इस कुंजी के तहत लिफाफा-एन्क्रिप्टेड है — हार जाना मुख्य कुंजी और एन्क्रिप्टेड रहस्य असुलभ हैं, यहाँ तक कि एक परिपूर्ण के साथ डेटाबेस बैकअप।
पोस्टग्रेसक्यूएल सत्य का स्रोत है
डेटाबेस को प्राधिकारी के रूप में मानें। अनुशंसित बुनियादी स्तर है प्रतिदिन pg_dump प्लस पॉइंट-इन-टाइम रिकवरी (PITR) के लिए WAL आर्काइविंग तो आप डंप्स के बीच किसी भी क्षण तक आगे बढ़ सकते हैं।
# Daily logical dump
pg_dump "$AIHUMMER_DATABASE_URL" --format=custom --file=aihummer-$(date +%F).dump
स्नैपशॉट के बीच सूक्ष्म स्तर की रिकवरी के लिए डंप को निरंतर WAL आर्काइविंग (PITR) के साथ जोड़ें।
आइंस्टीन की याददाश्त भी डेटाबेस में रहती है: मानव-पठनीय मानक मार्कडाउन (MEMORY.md) और v2 वेक्टर स्टोर हैं अनुमान इससे निकला हुआ, अलग आधिकारिक भंडार नहीं।
ब्लॉब्स का बैकअप लेना
मीडिया और फ़ाइल संलग्नक इसके तहत रहते हैं AIHUMMER_BLOB_DIRइस निर्देशिका का बैकअप डाटाबेस के साथ लें ताकि बहाल की गई बातचीत अभी भी उनके अटैचमेंट को हल कर सके। अगर AIHUMMER_BLOB_DIR कॉन्फ़िगर नहीं किया गया है, मीडिया/फ़ाइल सेवा सक्रिय नहीं है और कॉपी करने के लिए कुछ अतिरिक्त नहीं है।
ऐहम्मर बैकअप और रिस्टोर कमांड्स
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और मानक मार्कडाउन (मेमोरी प्रोजेक्शन) — उनके निर्देशिका में (या उन्हें फिर से बनाने दिया जाए) डेटाबेस)। - यदि एम्बेडर साइडकार का उपयोग किया जाता है, तो पुनर्स्थापित करें v2 वेक्टर स्टोर (या पुनर्निर्माण पुनर्स्थापित डेटाबेस/मार्कडाउन से सूचकांक।
- सेवाएँ शुरू करें (
aihummer up) और सत्यापित करें साथ/readyzऔरdeploy/host/smoke.sh.
[!TIP] साथ ही रखें
AIHUMMER_MEDIA_TOKEN_SECRETअपने मास्टर की के साथ। यह साइन किया हुआ रखता है मीडिया डाउनलोड URL जो पुनः प्रारंभ और पुनर्निर्माण के दौरान मान्य रहते हैं।
अगला कहाँ
- रिस्टोर को सत्यापित करने के लिए प्रयुक्त जांच और धुआँ परीक्षण: systemd और स्वास्थ्य जांच.
- अपग्रेड के दौरान संस्करण नियंत्रण और माइग्रेशन: अपग्रेड नीति.