बैकअप और आपदा वसूली
बैकअप और आपदा वसूली
1) परिभाषाएं और उद्देश्य
बैकअप - बाद की वसूली के लिए डेटा/कॉन्फ़िगरेशन की एक सुसंगत प्रति (आकस्मिक विलोपन, कीड़े, क्रिप्टोकरेंसी, आपदाओं से)।
डीआर (आपदा वसूली) - एक बड़ी दुर्घटना (आग, क्षेत्र की हानि, बड़े पैमाने पर समझौता) के बाद एसएलओ काम करने के लिए बुनियादी ढांचे/सेवाओं को बहाल करने की प्रक्रिया।
आरपीओ (रिकवरी प्वाइंट ऑब्जेक्टिव) - समय में अधिकतम स्वीकार्य डेटा हानि (उदाहरण के लिए, 15 मिनट)।
आरटीओ (रिकवरी टाइम ऑब्जेक्टिव) - सेवा वसूली समय लक्ष्य (उदाहरण के लिए, 30 मिनट)।
मुख्य सिद्धांत: प्रतिकृति ≠ बैकअप। प्रतिकृति जल्दी से सभी प्रतियों में त्रुटियों और एन्क्रिप्शन को धब्बा लगाती है। एक बैकअप एक पृथक, सत्यापित, संभावित अपरिवर्तनीय प्रति है।
2) डेटा वर्गीकरण और आलोचना का स्तर
परिसंपत्तियों को कक्षाओं में विभाजित क
Tier-0 (महत्वपूर्ण): लेन-देन डेटाबेस, भुगतान, बैलेंस शीट लेखांकन, रहस्य/पीकेआई।
टियर -1 (महत्वपूर्ण): सेवा कॉन्फ़िग, कतारें, सीआई/सीडी कलाकृतियाँ, कंटेनर रजिस्टर।
Tier-2 (महत्वपूर्ण): एनालिटिक्स, रिपोर्ट, माध्यमिक सूचकांक, लॉग आर्काइव।
Tier-3 (सहायक): कैश, समय डेटा (पुनर्निर्माण द्वारा बहाल किया जा सकता है)।
प्रत्येक वर्ग के लिए, RPO/RTO, प्रतिधारण अवधि, अपरिवर्तनीयता आवश्यकताओं और स्थान को परिभाषित करें।
3) प्रतिधारण रणनीतियाँ: नियम 3-2-1-1-0
डेटा की 3 प्रतियां (prod + 2 बैकअप)।
2 अलग-अलग मीडिया/भंडारण प्रकार।
1 ऑफसाइट कॉपी (अलग क्षेत्र/क्लाउड)।
1 अपरिवर्तनीय/हवा-गैप (WORM/ऑब्जेक्ट लॉक/टेप)।
वसूली जाँच में 0 त्रुटियाँ (नियमित परीक्षण)।
4) बैकअप के प्रकार
फुल - फुल कॉपी। धीमी/महंगी लेकिन सभी रणनीतियों के लिए आधार।
वृद्धिशील - अंतिम किसी भी बैकअप के साथ अंतर। वॉल्यूम में इष्टतम।
अंतर - अंतिम पूर्ण के साथ अंतर। तेजी से वसूली, अधिक स्थान।
स्नैपशॉट - वॉल्यूम/डिस्क का स्नैपशॉट (EBS/ZFS/LVM)। हमें ऐप-सुसंगत स्नैपशॉट (quiesce) की आवश्यकता है।
PITR (प्वाइंट-इन-टाइम रिकवरी) - सटीक समय/LSN के लिए रोलबैक के लिए बेसिक बैकअप + लॉग (WAL/binlog)।
वस्तु/फ़ाइल/आलंकारिक - विशिष्ट डेटा प्रकारों (वीएम छवियों, एस 3 वस्तुओं, डीबी डंप) के लिए।
5) बैकअप की स्थिरता
क्रैश-सुसंगत: अचानक बंद होने के बाद - स्टेटलेस/जर्नलिस्ट एफएस के लिए उपयुक्त।
ऐप-सुसंगत: एप्लिकेशन "फ्रीज़" ऑपरेशन (fsfreeze/pre- पोस्ट स्क्रिप्ट) → गारंटीकृत अखंडता।
डेटाबेस स्थिरता: बैकअप टूल का एपीआई (pgBackRest, XtraBackup), हॉट-बैकअप मोड, फ्रीजिंग चौकियों।
6) एन्क्रिप्शन, कुंजियाँ और पहुँच
सभी प्रतियों के लिए आराम और इन-ट्रांजिट एन्क्रिप्शन।
KMS/HSM में कुंजी, नीति द्वारा घुमाव (90/180 दिन), पर्यावरण द्वारा अलग कुंजी।
कर्तव्यों का पृथक्करण: जो बैकअप बनाता है/हटाता है - जो उन्हें डिक्रिप्ट/पढ़सकता है।
लक्ष्य प्रतियों के समान ट्रस्ट डोमेन में डिक्रिप्शन कुंजी न रखें।
7) अपरिवर्तनीय प्रतियां और रैंसमवेयर संरक्षण
प्रतिधारण और कानूनी पकड़ के साथ ऑब्जेक्ट लॉक/वर्म (अनुपालन/शासन)।
एयर-गैप: पृथक/ऑफ़लाइन भंडारण (फ़ीड, ऑफ़ लाइन क्लाउड/खाता)।
"विलंबित सक्रियण" विलोपन नीतियों, एमएफए-डिलीट, बैकअप-बाल्टी के लिए अलग खाता, सार्वजनिक पहुंच का निषेध।
बढ़ ते से पहले समझौता करने के मैलवेयर/संकेतकों के लिए सत्यापन।
8) आवृत्ति, अनुसूची और प्रतिधारण
जीएफएस (दादा-पिता-पुत्र): दैनिक वेतन वृद्धि, साप्ताहिक पूर्ण/diff, लंबे भंडारण के साथ मासिक पूर्ण।
RPO वेतन वृद्धि और WAL/binlog संग्रह की आवृत्ति को निर्धारित करता है (उदाहरण के लिए, हर 5-15 मिनट में)।
भंडारण: महत्वपूर्ण - 12-36 महीने (कानूनी आवश्यकताओं) के लिए ≥ 35-90 दिन + मासिक।
मौसमी चोटियाँ अलग-अलग नियंत्रण बिंदु हैं (पदोन्नति/रिलीज से पहले)।
9) डीआर मॉडल और परिदृश्य
सक्रिय-सक्रिय: दोनों क्षेत्र यातायात की सेवा करते हैं। न्यूनतम आरटीओ, डेटा पतन के लिए एक सख्त संघर्ष नीति की आवश्यकता होती है।
सक्रिय-निष्क्रिय (गर्म/गर्म): गर्म - सामने और सिंक्रनाइज़ (आरटीओ मिनट), गर्म - आंशिक रूप से तैयार (आरटीओ घंटे)।
ठंड: स्टोर की प्रतियां और टेराफॉर्म/एंसिबल/इमेज, मांग पर उठाएं (आरटीओ दिन +)।
DRaaS: दूसरे क्षेत्र में VM/नेटवर्क/पते का प्रदाता ऑर्केस्ट्रेशन।
10) फीलोवर ऑर्केस्ट्रेशन और रिकवरी प्राथमिकताएं
स्टार्टअप प्राथमिकता: नेटवर्क/वीपीएन/डीएनएस → रहस्य/केएमएस → डेटाबेस/क्लस्टर → कतारें/कैश → एप्लिकेशन → परिधि/सीडीएन → एनालिटिक्स।
स्वचालन: स्क्रिप्ट/रनबुक क्रिया, डीआर पर्यावरण के लिए Terraform/Ansible/Helm/ArgoCD प्रोफाइल।
डेटा: डीबी पीआईटीआर → रेनडेक्स/प्रतिकृति → गर्म कैश → स्कीमा संगतता झंडे के साथ सेवाएं शुरू करना।
DNS/GSLB: अग्रिम में TTL डाउनग्रेड, सत्यापन के साथ परिदृश्य स्विच करें।
11) बैकअप सत्यापन परीक्षण
एक शेड्यूल पर परीक्षण बहाल करें: एन% बैकअप, सैंडबॉक्स तैनाती, स्वचालित स्कीमा/अपरिवर्तनीय जांच का नमूना।
फुल डीआर-ड्रिल (गेम-डे): अक्षम क्षेत्र/AZ, लाइव ट्रैफिक (या ट्रैफिक छाया) पर आरटीओ/आरपीओ की जाँच।
अखंडता परीक्षण: हैश निर्देशिका, चेकसम, सभी परतों (पूर्ण + श्रृंखला) को पढ़ ने का प्रयास।
दस्तावेज़ रिपोर्ट: समय, चरण, विसंगतियाँ, लक्ष्यों से अंतर का आकार, सुधार।
12) मुख्य प्रौद्योगिकियों के लिए
डेटाबेस
PostgreSQL: बेस बैकअप + WAL आर्काइव (PITR), pgBackRest/Barman टूल; प्रतिकृति स्लॉट, निगरानी 'lsn'।
MySQL/MaríDB: Percona XtraBackup/Enterprise Backup, binlog संग्रह।
MongoDB: बड़े सेटों के लिए तार्किक कॉपी + स्नैपशॉट के लिए 'मोंगोडम्प'; PITR के लिए ओपलॉग।
रेडिस: महत्वपूर्ण के लिए आरडीबी/एओएफ (यदि रेडिस न केवल कैश है), लेकिन अधिक बार - दुर्घटनाओं के लिए स्रोत + स्नैपशॉट से तार्किक पुनर्निर्माण।
काफ्का/पल्सर: मेटाडेटा बैकअप (जेडके/क्राफ्ट/बुककीपर), डिस्क स्नैपशॉट, विषय/लॉग मिररिंग।
कुबेरनेट्स
etcd स्नैपशॉट + संसाधनों/वॉल्यूम (CSI स्नैपशॉट) के लिए वेलेरो।
बैकअप रहस्य/पीकेआई अलग से (वॉल्ट स्नैपशॉट)।
छवियों का अलग रजिस्टर: अपरिवर्तनीय टैग।
वीएम और फ़ाइल सिस्टम
ZFS: 'zfs स्नैपशॉट' + 'zfs' zstd send-recv 'वेतन वृद्धि भेजते हैं,' स्क्रब 'की जाँच करते हैं।
पूर्व/पोस्ट स्क्रिप्ट (ऐप-सुसंगत) के साथ एलवीएम/ईबीएस स्नैपशॉट।
ऑब्जेक्ट स्टोर - संस्करण + ऑब्जेक्ट लॉक।
13) बैकअप का कैटलॉगिंग और संस्करण नियंत्रण
निर्देशिका (मेटाडेटा कैटलॉगिंग): क्या, कहां, कब, किया गया, हैश, केएमएस कुंजी, मालिक, प्रतिधारण अवधि।
Метки/теги: 'env = prod' stage ',' system = db 'k8s' vm ',' tier=0|1|2 ',' retention=35d|1y '।
गोल्ड चौकियों: प्रवास/डीडीएल/बड़ेपैमाने पर रिलीज से पहले।
14) अवलोकन और मैट्रिक्स
कार्य सफलता दर: % सफल/असफल, कारण।
बैकअप/पुनर्स्थापित समय, विंडो चौड़ाई।
RPO-वास्तविक: लॉग आर्काइव लॉग (WAL/binlog) p95।
अखंडता: जंजीरों का परीक्षण, हैश सामंजस्य त्रुटियों का अनुपात।
लागत: वर्ग द्वारा भंडारण क्षमता, कमी/संपीड़न अनुपात।
डीआर-तत्परता: आवृत्ति और अभ्यास का परिणाम (पास/विफल)।
15) प्रवेश और अनुपालन नीतियां
बैकअप भंडारण के लिए अलग खाते/परियोजनाएं; NaC सिद्धांत के अनुसार पहुंच (हम उत्पादन खातों से विलोपन/एन्क्रिप्शन की अनुमति नहीं देते हैं)।
पहुंच/परिवर्तन (ऑडिट ट्रेल) के लॉग, रेट्सन के बड़े पैमाने पर विलोपन/परिवर्तन के लिए अलर्ट।
अनुपालन: जीडीपीआर (बनाम अभिलेखागार को हटाने का अधिकार), पीसीआई डीएसएस (एन्क्रिप्शन, कुंजी, विभाजन), स्थानीय नियामक।
16) एंटी-पैटर्न
"एक प्रतिकृति है, जिसका अर्थ है कि आपको बैकअप की आवश्यकता नहीं है।"
कोई अपरिवर्तनीय/वायु-अंतर नहीं: एक त्रुटि/मैलवेयर सब कुछ मिटा देता है।
एक ही खाते/क्षेत्र में बैकअप प्रोड के रूप में।
रिकवरी की जांच कभी न करें (बैकअप "चेक से पहले मृत")।
कोई कैटलॉगिंग और संस्करण नियंत्रण - एक दुर्घटना में अराजकता।
सभी वातावरण के लिए साझा एन्क्रिप्शन कुंजी।
डेटाबेस के लिए ऐप-सुसंगत मोड के बिना स्नैपशॉट।
बैकअप विंडो चोटियों के साथ प्रतिच्छेद करता है (p99 और SLO को प्रभावित करता है)।
17) कार्यान्वयन चेकलिस्ट (0-60 दिन)
0-10 दिन
सिस्टम/डेटा, आलोचना कक्षाओं की सूची।
वर्ग द्वारा RPO/RTO लक्ष्य सेट करें।
Tier-0/1, WAL/binlog अभिलेख के लिए पूर्ण + वृद्धिशील सक्षम करें.
पोस्ट बैकअप: अलग क्षेत्र/खाता + केएमएस एन्क्रिप्शन सक्षम करें।
11-30 दिन
महत्वपूर्ण प्रतियों के लिए अपरिवर्तनीय (ऑब्जेक्ट लॉक/WORM) कॉन्फ़िगर करें।
कैटलॉगिंग, टैग, रिपोर्टिंग दर्ज करें; असफलताओं और अंतराल पत्रिकाओं के लिए अलर्ट।
पहले डीआर-ड्रिल: एक अलग वातावरण में बैकअप से एक अलग सेवा बहाल करें।
31-60 दिन
स्वचालित रनबुक: Terraform/Ansible/Helm प्रोफाइल DR.
नियमित बहाल परीक्षण (सप्ताह/माह) + तिमाही पूर्ण डीआर परिदृश्य।
लागत-विकृति/संपीड़न/भंडारण जीवनचक्र का अनुकूलन करें।
18) परिपक्वता मैट्रिक्स
पुनर्स्थापित परीक्षण: ≥ 1/सप्ताह के लिए Tier-0 (चयनात्मक), ≥ 1/महीने - पूर्ण परिदृश्य।
अपरिवर्तनीय कवरेज для Tier-0/1 = 100%।
RPO-वास्तविक p95 ≤ लक्ष्य (जैसे ≤ 15 मिनट)।
डीआर-अभ्यास पर आरटीओ-वास्तविक ≤ लक्ष्य (जैसे ≤ 30 मिनट)।
निर्देशिका पूर्णता = 100% (प्रत्येक बैकअप वर्णित और जाँचा गया है)।
हादसा-से-बहाल - समय का पता लगाने से लेकर वसूली शुरू करने तक।
19) उदाहरण (स्निपेट्स)
PostgreSQL - PITR नीति (विचार):bash base backup once a day pgbackrest --stanza = prod --type = full backup archive WAL every 5 minutes pgbackrest --stanza = prod archive-push restore to time pgbackrest --stanza = prod restore --type = time --target =" 2025-11-03 14:00:00 + 02"
MySQL - वृद्धिशील लूप:
bash xtrabackup --backup --target-dir=/backup/full-2025-11-01 xtrabackup --backup --incremental-basedir=/backup/full-2025-11-01 --target-dir=/backup/inc-2025-11-02 xtrabackup --prepare --apply-log-only --target-dir=/backup/full-2025-11-01 xtrabackup --prepare --target-dir=/backup/full-2025-11-01 --incremental-dir=/backup/inc-2025-11-02
कुबेरनेट्स - वेलेरो (घोषणापत्र विचार):
yaml apiVersion: velero. io/v1 kind: Backup metadata: { name: prod-daily }
spec:
includedNamespaces: ["prod-"]
ttl: 720h storageLocation: s3-immutable
एस 3 ऑब्जेक्ट लॉक (नमूना जीवनचक्र नीति):
json
{
"Rules": [{
"ID": "prod-immutable",
"Status": "Enabled",
"NoncurrentVersionExpiration": { "NoncurrentDays": 365 }
}]
}
20) संचार और परिचालन भूमिकाएँ
हादसा कमांडर, कॉम्स लीड, ऑप्स लीड, डीबी लीड, सिक्योरिटी।
हितधारकों/नियामकों/उपयोगकर्ताओं के लिए संदेश टेम्पलेट।
कार्यों के साथ पोस्टमार्टम: जहां उन्होंने मिनट खो दिए, जहां स्वचालन में सुधार करना
21) निष्कर्ष
बैकअप और डीआर का एक विश्वसनीय लूप एक "कॉपी बनाओ" नहीं है, लेकिन एक चक्र: वर्गीकरण → लक्ष्य RPO/RTO → बहु-स्तरीय और अपरिवर्तनीय प्रतियां → स्वचालित रनबुक 'और → नियमित बहाली और अभ्यास। 3-2-1-1-0 का पालन करें, बैकअप से अलग प्रतिकृति, एन्क्रिप्ट और पृथक कुंजी, दस्तावेज़ और सत्यापित करें। फिर यहां तक कि "ब्लैक स्वान" अनुमानित डाउनटाइम और न्यूनतम डेटा हानि के साथ एक प्रबंधनीय प्रक्रिया में बदल जाएगा।