क्या किसी सिस्टम की हॉट कॉपी बनाना संभव हो सकता है?


10

मैं इसे बंद किए बिना अपने सिस्टम का बैकअप लेना चाहूंगा। सिस्टम क्लोन को एक अन्य मशीन में भी चलाने में सक्षम होना चाहिए।

मैंने एक डिस्क पर पूरे सिस्टम विभाजन को "dd" करने की कोशिश की है, उसके बाद मुझे यह सुनिश्चित किया गया है कि कोई प्रशासनिक कार्य शुरू नहीं हुआ है। मुझे लगता है कि मुझे उस डिस्क पर बूट करने के लिए ग्रब को बताना था, इसलिए मैंने कमांड निष्पादित किया है:

grub-install  /dev/sdc1 

लेकिन मुझे यह त्रुटि मिली:

The file /boot/grub/stage1 not read correctly.

मुझे पता है कि मैं कर रहा हूँ बहुत साफ नहीं है, तो क्या आप मेरे लक्ष्यों तक पहुँचने के लिए एक अच्छा समाधान है या ग्रब समस्या को हल करने के लिए एक विचार है?


अगर आपको इसे चालू रखना है, तो इसका मतलब है कि यह वास्तव में कुछ कर रहा है। यदि ऐसा है, तो यह लगभग निश्चित है कि बैकअप के दौरान आपके सिस्टम की सामग्री बदल जाएगी। यह कुछ हद तक अप्रत्याशित बनाता है - उत्पादन में उपयोग करने से पहले बहुत परीक्षण करें।
जो

जवाबों:


8

ऐसे कई विकल्प हैं जिनमें से प्रत्येक में ट्रेडऑफ़ हैं। जब आप ddपढ़े / लिखे या माउंट किए जाते हैं, तो आप किसी फाइल सिस्टम को क्लोन करने के लिए उपयोग नहीं कर सकते हैं या क्लोन के बाद स्रोत को बदलने के कारण क्लोन भ्रष्ट हो जाएगा, इसलिए गंतव्य आंशिक रूप से पुराना हो जाएगा और आंशिक रूप से नहीं। यदि आप वास्तव में ddविभाजन को हॉट कॉपी करने के लिए उपयोग करने में सक्षम होना चाहते हैं , तो आप LVM स्नैपशॉट के साथ ऐसा कर सकते हैं । इसके लिए आवश्यक है कि आपने सिस्टम को LVM का उपयोग करते हुए पहली बार स्थापित किया है, लेकिन फिर आप किसी भी समय स्नैपशॉट बना सकते हैं, और चूंकि स्नैपशॉट जमी है और माउंट नहीं है, आप सुरक्षित रूप ddसे स्नैपशॉट को हटा सकते हैं , फिर स्नैपशॉट को हटा दें। दूसरे पक्ष का उपयोग करने के लिएddयह है कि यह वॉल्यूम में अप्रयुक्त स्थान के सभी को कॉपी करने में समय बर्बाद करता है, और गंतव्य के कम से कम बड़े होने की आवश्यकता होती है, भले ही अधिकांश स्रोत अप्रयुक्त हों।

उपयोग के बजाय dd, आप बस पारंपरिक बैकअप उपकरण जैसे कि tarया dumpस्नैपशॉट का बैकअप ले सकते हैं। यह खाली स्थान की नकल करने में समय बर्बाद नहीं करने का लाभ है, और जब तक यह फाइलों के लिए जगह है, तब तक एक छोटे से विभाजन में बहाल किया जा सकता है। आंशिक पुनर्स्थापना करने के लिए आप केवल कुछ फ़ाइलों को भी निकाल सकते हैं। आपको इस विधि के साथ LVM का उपयोग करने की भी आवश्यकता नहीं है : जब तक आप यह सुनिश्चित कर लेते हैं कि बैकअप बनाते समय कोई फाइल संशोधित नहीं हो रही है, माउंटेड फाइल सिस्टम पर करना सुरक्षित है। सबसे बुरी बात यह हो सकती है कि बैकअप के दौरान संशोधित की गई एक व्यक्तिगत फ़ाइल पूरी तरह भ्रष्ट होने के बजाय भ्रष्ट हो जाएगी, जैसा कि हो सकता है dd

जैसा कि आपने महसूस किया है कि फाइलसिस्टम को पुनर्स्थापित करने के बाद, आपको सिस्टम को बूट करने के लिए ग्रब को फिर से इंस्टॉल करना होगा। मुझे यकीन नहीं है कि जब आपने कोशिश की तो आपको वह त्रुटि क्यों मिली, लेकिन ऐसा लगता है कि आप ग्रब-विरासत का उपयोग कर रहे थे, क्योंकि ग्रब 2 में स्टेज 1 नहीं है।


मैंने एलवीएम का उपयोग नहीं किया, लेकिन मैं कर सकता था, मैं एक टिकाऊ समाधान की तलाश कर रहा हूं। क्या यह सभी सिस्टम ट्री (खरीद को छोड़कर) की नकल करने और फिर ग्रब को संशोधित करने के लिए पर्याप्त है?
गेल बारबिन

@Gael, यह सभी फ़ाइलों को कॉपी करने और ग्रब को पुनर्स्थापित करने के लिए पर्याप्त है, हाँ। आपको UUIDs को / etc / fstab में अपडेट करना पड़ सकता है। ध्यान दें कि यदि आप उपयोग कर रहे हैं तो आप tarन केवल / proc, बल्कि / dev, / sys, और / साथ ही रन आउट करना चाहते हैं, या --one-file-systemस्विच का उपयोग करके इसे अन्य फाइल सिस्टम में नीचे आने से रोक सकते हैं।
Psusi

धन्यवाद, मैं टार के साथ कोशिश करेंगे। यह समाधान बैकअप के पूर्ण नियंत्रण की अनुमति दे सकता है।
गेल बारबिन

3

कुछ का उपयोग करना rsyncया tarविभाजन की नकल करना सरल हो सकता है। मैं /mntप्रतिलिपि से पहले दूसरे माउंट बिंदु पर विभाजन को माउंट करूंगा । ये विकल्प आपको विभाजन आकार या प्रकार को बदलने की अनुमति भी देते हैं। आपके पास अतिरिक्त विभाजन पर भी संरचनाएं हो सकती हैं। मैं अक्सर /varऔर के लिए अलग विभाजन है /usr। इन पर भी विचार करना होगा।

grubडिस्क और विभाजन को सही तरीके से कैसे निर्धारित किया जाए, यह निर्धारित करने के लिए आपको दस्तावेज़ में खुदाई करने की आवश्यकता हो सकती है। install-grubगलत धारणाएं बना सकता है जो आप नहीं चाहते हैं।

ऐसे उपकरण हैं mondoजो आपको अपने ओएस पर स्थापित करने के साथ बूट करने योग्य पुनर्प्राप्ति सीडी बनाने की अनुमति देते हैं।


मैं dd का उपयोग कर रहा था क्योंकि मैं मुझसे कह रहा था कि अन्य फ़ाइल कॉपी टूल केवल फाइलें कॉपी करेंगे, न कि mbr और विभाजन तालिका। मैंने मोंडो पर एक नज़र डाली, और यह सबसे सरल समाधान हो सकता है। धन्यवाद
गेल Barbin

@Gael यदि आप केवल SD1 की क्लोनिंग कर रहे हैं, तो आपको MBR नहीं मिलेगा। कई उपकरण हैं जो यदि आवश्यक हो तो एमबीआर को अपडेट करेंगे। यह आमतौर पर बूट रिकॉर्ड देखने के लिए पहले से ही कोड है।
बिलचोर

1

मुझे लगता है कि डिवाइस स्तर पर एक रनिंग सिस्टम का विश्वसनीय बैकअप करने के लिए कोई वास्तविक विकल्प नहीं है: आपकी फाइल सिस्टम बहुत भ्रष्ट हो जाएगी क्योंकि आप वर्तमान स्थिति को फ्रीज नहीं कर सकते हैं और बैकअप ऑपरेशन में महत्वपूर्ण समय लगता है।

हालाँकि आप निम्नलिखित विकल्पों की कोशिश कर सकते हैं:

  1. VM के भीतर सिस्टम को रन करें। आप सिस्टम का एक स्नैपशॉट बना सकते हैं और फिर इस स्नैपशॉट का बैकअप बना सकते हैं। जब बैकअप किया जाता है, तो स्नैपशॉट को आसानी से खारिज किया जा सकता है। यह ऊपर वर्णित समस्याओं को हल करता है।
  2. फ़ाइल-सिस्टम स्तर पर बैकअप करें, डिवाइस स्तर पर नहीं। मैं इसके लिए rsnapshot की सिफारिश कर सकता हूं।

मैं एक ऐसे समाधान की तलाश कर रहा हूं, जो किसी सिस्टम को बिना बंद किए बैकअप की अनुमति दे। इसलिए, उपयोग की गई विधि की परवाह किए बिना, सिस्टम रनिंग होगा। यदि सिस्टम को कॉपी करने के लिए सिर्फ फाइल सिस्टम को कॉपी करना पर्याप्त है, तो rsync काम करेगा, क्या rsnapshot लाता है?
Gaël बारबिन

rsnapshot आपको कई वृद्धिशील कई बैकअप प्रदान करता है, जितने की आपको जरूरत है (प्रति घंटा, दैनिक, साप्ताहिक, मासिक) और बैकअप सादे पूर्ण निर्देशिका संरचना में उपलब्ध हैं, जबकि वे वृद्धिशील हैं।
विल्मंतस बरनौस्कास
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.