कंटेनर का बैकअप या उसकी फ़ाइलों का? रीस्टोर के स्वरूप से तय करें
इमेज-स्तरीय और फ़ाइल-स्तरीय बैकअप अलग-अलग चीज़ें रीस्टोर करते हैं और अलग-अलग कुंजियों पर निर्भर करते हैं। संग्रहीत ऑब्जेक्ट को उसी रीस्टोर से मिलाएँ जिसकी आपको वास्तव में ज़रूरत है।
आप किसी एन्क्रिप्टेड कंटेनर का बैकअप एक ही ऑब्जेक्ट के रूप में ले सकते हैं, या उसे माउंट करके अंदर की फ़ाइलों का बैकअप ले सकते हैं। दोनों VPN से आसानी से गुज़रते हैं, और समानता वहीं ख़त्म हो जाती है। वे अलग-अलग चीज़ें रीस्टोर करते हैं, अलग-अलग कुंजियों पर निर्भर करते हैं, अलग-अलग जगह लेते हैं, और जब किसी को डेटा वापस चाहिए होता है तो अलग-अलग तरह से विफल होते हैं। पहले रीस्टोर ऑब्जेक्ट चुनें, फिर परिवहन, फिर संग्रहीत प्रति का एन्क्रिप्शन। नीचे दी गई चेकलिस्ट इसी क्रम में चलती है, क्योंकि लगभग हर बैकअप विवाद वास्तव में इस बात पर मतभेद है कि इन तीन में से कौन-सा निर्णय पहले लिया गया।
दो ऑब्जेक्ट, दो रीस्टोर स्वरूप
इमेज बैकअप कंटेनर को रीस्टोर करता है: आपको एन्क्रिप्टेड वॉल्यूम वापस मिलता है और उसे खोलने के लिए अब भी उसकी रीस्टोर सामग्री चाहिए। फ़ाइल-स्तरीय बैकअप फ़ाइलें और निर्देशिका-वृक्ष रीस्टोर करता है, और जो भी एन्क्रिप्शन उनकी रक्षा करता है वह बैकअप रिपॉज़िटरी की विशेषता है, मूल कंटेनर की नहीं। दूर के फ़ोल्डर में सादी प्रतिलिपि तीसरा मामला है, और वह उसी सुरक्षा को प्राप्त कर लेती है जो उस फ़ोल्डर के पास संयोग से होती है।
| Object | What a restore gives you | Where the encryption question lands |
|---|---|---|
| Encrypted container image | The volume, still locked | The container format and its recovery key material |
| Mounted files into a backup tool | Selected files and metadata | The backup repositorys own keys and design |
| Plain copy to a remote folder | Whatever the copy process kept | Whatever protects that storage afterwards |
बीच की पंक्ति वही है जिसे लोग ग़लत पढ़ते हैं। यह पूरी तरह अच्छा डिज़ाइन हो सकता है: बैकअप प्रोग्राम स्थानीय रूप से सादा टेक्स्ट पढ़ता है और एन्क्रिप्टेड, प्रमाणित रिपॉज़िटरी लिखता है। तब सुरक्षा उस प्रोग्राम और उसके क्रेडेंशियल पर टिकी होती है, मूल कंटेनर के पासवर्ड पर नहीं, और दोनों को एक ही नियंत्रण बताना उचित नहीं है।
जाँच 1: रीस्टोर को क्या पुनर्निर्मित करना है?
प्रश्न को बैकअप के नहीं, रीस्टोर के रूप में पूछें। यदि आवश्यकता “इस सेवा को दूसरे होस्ट पर वापस लाना” है, तो इमेज और उसकी रीस्टोर सामग्री सुसंगत उत्तर है। यदि आवश्यकता “मार्च की वित्तीय स्प्रेडशीट वापस पाना” है, तो एक फ़ाइल निकालने के लिए कई गीगाबाइट की इमेज रीस्टोर करना महँगा उत्तर है। दोनों वैध रीस्टोर हैं, और वे विनिमेय बजट नहीं हैं। जो योजना इनमें से केवल एक का नाम लेती है, उसका परीक्षण अंततः दूसरे से होगा।
रीस्टोर लक्ष्य योजना में लिखें: पूरा वॉल्यूम, एक निर्देशिका-वृक्ष, या अलग-अलग फ़ाइलें। फिर लिखें कि कौन-सा मेटाडेटा उनके साथ जाना चाहिए, क्योंकि स्वामित्व, अनुमतियाँ, विस्तारित विशेषताएँ और समय-चिह्न फ़ाइल-स्तरीय रीस्टोर का हिस्सा हैं और परीक्षण के दौरान पर्याप्त लगने वाले प्रतिलिपि-आधारित कार्यप्रवाहों में अक्सर छूट जाते हैं।
यह भी तय करें कि रीस्टोर कौन करता है। कोई भी ऑपरेटर जिसे माउंट कर सकता है ऐसी फ़ाइल-स्तरीय रिपॉज़िटरी, उस इमेज से अलग पहुँच-मॉडल है जिसमें कुंजी धारक की उपस्थिति आवश्यक होती है, और इनमें से कोई भी स्वतः बेहतर नहीं है। महत्वपूर्ण यह है कि चुनाव जानबूझकर और लिखित हो।
जाँच 2: संग्रहीत प्रति की रक्षा क्या करती है?
VPN परिवहन के एक हिस्से की रक्षा करता है। स्थानांतरण पूरा होने के बाद संग्रहीत प्रति के बारे में वह कुछ नहीं कहता, और “यह सुरंग से गया” बैकअप ऑपरेटर की आपका डेटा पढ़ने की क्षमता के बारे में कथन नहीं है। यदि दूर का पक्ष कोई और चलाता है, तो प्रश्न यह है कि वे क्या पढ़ सकते हैं, यह नहीं कि लिंक एन्क्रिप्टेड था या नहीं।
इमेज के लिए इसका अर्थ है कंटेनर की कुंजी सामग्री को इमेज से अलग सुरक्षित रखना। हेडर खोना वॉल्यूम खोना है, इसलिए हेडर का बैकअप ऐसी जगह लें जहाँ इमेज न हो:
cryptsetup luksHeaderBackup /dev/vg0/data --header-backup-file data-header.img
cryptsetup luksDump /dev/vg0/data | head -20
फ़ाइल-स्तरीय रिपॉज़िटरी के लिए जाँचें कि उपकरण सामग्री और मेटाडेटा को होस्ट छोड़ने से पहले एन्क्रिप्ट और प्रमाणित करता है, और पता करें कि कुंजियाँ किसके पास हैं। Restic का डिज़ाइन दस्तावेज़ीकरण स्पष्ट कहता है कि यह विश्वसनीय स्रोत-होस्ट मानता है और एन्क्रिप्शन भंडारण तक पहुँच रखने वाले को बैकअप मिटाने से नहीं रोकता। दोनों चेतावनियाँ महत्वपूर्ण हैं: रिपॉज़िटरी गोपनीय हो सकती है और फिर भी नष्ट हो सकती है।
जाँच 3: क्या प्रति सुसंगत है?
जो बैकअप बदलती फ़ाइलसिस्टम को कैप्चर करता है वह प्रति है, रीस्टोर-बिंदु नहीं। इमेज के लिए वॉल्यूम उपकरण की समर्थित विधि से स्थिर स्नैपशॉट लें, जिसका सामान्य अर्थ स्नैपशॉट क्रिया या अनमाउंट है, बड़ी फ़ाइल के बदलते रहते उसे पढ़ना नहीं:
lvcreate -L 5G -s -n data-snap /dev/vg0/data
cryptsetup open /dev/vg0/data-snap data-snap --readonly
माउंट की गई फ़ाइलों के लिए सक्रिय डेटाबेस और अन्य समन्वित डेटा के लिए एप्लिकेशन की समर्थित संगतता-प्रक्रिया अपनाएँ। फ़ाइलसिस्टम-स्तरीय प्रति और एप्लिकेशन-संगत रीस्टोर-बिंदु अलग विवरण हैं, और अंतर तभी दिखता है जब आप रीस्टोर की गई प्रति से एप्लिकेशन शुरू करने की कोशिश करते हैं।
रीस्टोर सामग्री को स्वतंत्र सुरक्षित मार्ग पर रखें। मूल मशीन खोने से कभी वह अकेला क्रेडेंशियल भी न खोए जो उसका बैकअप खोलता है, और यही तब होता है जब कुंजी-फ़ाइल उसी वॉल्यूम पर रहती है जिसका बैकअप लिया जा रहा है। उस अलगाव को जानबूझकर जाँचें: ऐसे होस्ट पर रीस्टोर करें जिसने मूल कभी नहीं देखा, केवल वही उपयोग करके जो योजना कहती है उपलब्ध है।
जाँच 4: क्या परिवर्तन-पहचान इस ऑब्जेक्ट के लिए मान्य है?
एन्क्रिप्टेड कंटेनर अधिकांश स्थानांतरण उपकरणों को एक बड़ी अपारदर्शी फ़ाइल जैसा दिखता है, इसलिए छोटा सादा-टेक्स्ट संपादन उपकरण और प्रारूप के अनुसार बड़े पुनः-पठन या पूर्ण पुनः-अपलोड का कारण बन सकता है। चर-आकार की चंकिंग और डुप्लिकेट हटाना, जैसा restic दस्तावेज़ित करता है, इसे कम कर सकते हैं, पर यह उस उपकरण की विशेषता है, सामान्य रूप से एन्क्रिप्टेड कंटेनरों की नहीं।
अनुमान लगाने के बजाय मापें। छोटे, हानिरहित परिवर्तन के बाद पहले रन की तुलना दूसरे रन से करें, और स्थानांतरित बाइट तथा बीता समय दोनों दर्ज करें। प्रयोग करते समय ज्ञात-अच्छा बैकअप सुरक्षित रखें, ताकि कोई परीक्षण आपका एकमात्र रीस्टोर-बिंदु न ख़त्म कर दे।
फिर चेकलिस्ट को उस अकेली परीक्षा से पूरा करें जो मायने रखती है: मूल मशीन के बिना रीस्टोर। रीस्टोर किया गया कंटेनर खोलें, या चुनी हुई फ़ाइलें उनके मेटाडेटा सहित रीस्टोर करें, और पुष्टि करें कि एप्लिकेशन या उपयोगकर्ता परिणाम का उपयोग कर सकता है। तेज़, अच्छी तरह एन्क्रिप्टेड स्थानांतरण जो इस परीक्षा का उत्तर नहीं दे सकता, वह आपके डेटा की प्रति है, उसका बैकअप नहीं।