मैं अपने बड़े एचडीडी का बैकअप लेने की योजना बनाता हूं rsync
, और अनुमान लगाता हूं कि इसमें कुछ दिन लगते हैं। क्या rsync
काम करते समय मूल एचडीडी (फाइलों को जोड़ना) का उपयोग करना सुरक्षित है? या HDDs rsync
को समाप्त होने तक अछूता छोड़ना बेहतर है?
मैं अपने बड़े एचडीडी का बैकअप लेने की योजना बनाता हूं rsync
, और अनुमान लगाता हूं कि इसमें कुछ दिन लगते हैं। क्या rsync
काम करते समय मूल एचडीडी (फाइलों को जोड़ना) का उपयोग करना सुरक्षित है? या HDDs rsync
को समाप्त होने तक अछूता छोड़ना बेहतर है?
जवाबों:
जैसा कि दूसरों ने पहले ही बताया है, स्रोत डिस्क से पढ़ना सुरक्षित है, या लक्ष्य निर्देशिका से बाहर लक्ष्य डिस्क का उपयोग करें, जबकि rsync चल रहा है। यह लक्ष्य निर्देशिका के भीतर पढ़ने के लिए भी सुरक्षित है , खासकर यदि लक्ष्य निर्देशिका rsync रन द्वारा विशेष रूप से आबादी जा रही है।
Rsync चल रहा है, जबकि स्रोत निर्देशिका के भीतर लिखने के लिए आम तौर पर सुरक्षित नहीं है। "राइट्स" कुछ भी है जो स्रोत निर्देशिका या किसी भी उपनिर्देशिका की सामग्री को संशोधित करता है, इसलिए फ़ाइल अपडेट, डिलीट, निर्माण, आदि शामिल हैं।
ऐसा करने से वास्तव में कुछ भी नहीं टूटेगा , लेकिन लक्ष्य स्थान पर प्रतिलिपि के लिए rsync द्वारा परिवर्तन वास्तव में हो सकता है या नहीं हो सकता है। यह परिवर्तन के प्रकार पर निर्भर करता है, क्या rsync ने उस विशेष निर्देशिका को स्कैन किया है या नहीं, और क्या rsync ने अभी तक फ़ाइल या निर्देशिका की प्रतिलिपि बनाई है।
हालाँकि, इसके आस-पास एक आसान तरीका है: एक बार जब यह खत्म हो जाता है, तो समान मापदंडों के साथ फिर से rsync चलाएं। (जब तक आपके पास कुछ फंकी डिलीट पैरामीटर नहीं है; यदि आप ऐसा करते हैं, तो थोड़ा और सावधान रहें।) ऐसा करने से यह स्रोत को फिर से स्कैन करने और मूल रन के दौरान उठाए गए किसी भी अंतर को स्थानांतरित करने का कारण होगा।
दूसरे रन में केवल वही अंतर होना चाहिए जो पिछले rsync रन के दौरान हुआ था, और जैसे बहुत तेजी से पूरा होगा। इस प्रकार, आप पहले रन के दौरान सामान्य रूप से कंप्यूटर का उपयोग करने के लिए स्वतंत्र महसूस कर सकते हैं, लेकिन दूसरे रन के दौरान स्रोत में कोई भी बदलाव करने से यथासंभव बचना चाहिए। यदि आप कर सकते हैं, तो दूसरी rsync चलाने की शुरुआत से पहले केवल स्रोत फ़ाइल सिस्टम को पढ़ने के लिए जोरदार तरीके से विचार करें । (कुछ ऐसा mount -o ro,remount /media/source
करना चाहिए)
@reboot root find / -print &>/dev/null
मेरे सिस्टम क्रॉस्टब में बहुत कुछ है जैसे कि कैश को आबाद करने के लिए। (मेरे विशेष सिस्टम पर कुछ विशेष मामलों के लिए वास्तविक प्रविष्टि अधिक जटिल है।) यह कुछ रैम और कुछ वॉलकॉक समय का उपयोग स्टार्टअप के बाद डायरेक्टरी-ट्री स्कैनिंग में सुधार करने के लिए बहुत कम आईएमई का उपयोग करता है।
updatedb
पता लगाने के डेटाबेस का निर्माण) slocate -u
( या , यदि आपके पास धीमापन है) चलाना चाहिए? इस तरह से आप अभी भी पदानुक्रम को कैश करते हैं, लेकिन आप कई बार फ़ाइल खोजने के लिए उन कमांड्स का उपयोग करने की अनुमति देते हैं, जो आपको खोजने या धीमा करने के डेटाबेस का निर्माण करते हैं?
यह आपके द्वारा उपयोग किए जाने वाले बैकअप सिस्टम पर निर्भर करता है, लेकिन सामान्य तौर पर जब आप इसे बैकअप कर रहे होते हैं तो डिवाइस की सामग्री को संशोधित करना एक बुरा विचार है । हालाँकि, आप इसकी सामग्री पढ़ सकते हैं; यह एक सुरक्षित संचालन है, भले ही यह प्रक्रिया को धीमा कर दे।
आपके मामले में, rsync
एक फ़ाइल सूची बनाएगी और फिर बैकअप शुरू करेगी। इसलिए बैकअप शुरू होने के बाद आप जो भी फाइल सोर्स HDD में जोड़ेंगे, वह कॉपी नहीं होगी ।
एक बैकअप के दौरान मैं एक उपकरण का उपयोग करने के लिए क्या नहीं करता। यह एक तेज़ और लगातार बैकअप प्राप्त करने का सुरक्षित तरीका है।
rsync
जो कुछ सेकंड में खत्म हो जाएगा क्योंकि रन के दौरान केवल जो फाइलें मैंने बदली हैं, उन्हें कॉपी किया जाएगा। सब कुछ कैश में होगा, इसलिए उस अवधि के दौरान संशोधनों से बचना आसान है।
rsync
संचालन करते समय स्रोत क्षेत्रों के डेटा को पढ़ना सुरक्षित है , लेकिन यदि आप कुछ भी कॉपी करते हैं जो rsync
बनाता है / अपडेट करता है, तो इस पर विचार किया जा सकता है:
यदि आप एक ऐसी फाइल को अपडेट करते हैं जो rsync पहले ही स्कैन हो चुकी है तो यह भविष्य में चलने तक अपडेट को नहीं देखेगा। यदि आप किसी फ़ाइल को अपडेट करते हैं, तो इसे स्कैन करना बाकी है, तो गंतव्य में सम्मान किया जाएगा। यदि आप उन फ़ाइलों को अपडेट करते हैं जो दोनों हैं और स्कैन नहीं किए गए हैं, तो आप गंतव्य में पुराने और नए संस्करणों के मिश्रण के साथ समाप्त हो जाएंगे।
यदि आप एक निर्देशिका में एक फ़ाइल जोड़ते हैं जो पहले से ही स्कैन हो चुकी है तो यह इस बार गंतव्य की प्रतिलिपि से छूट जाएगा। यदि आप एक निर्देशिका से एक फ़ाइल निकालते हैं जो पहले से ही स्कैन की जा चुकी है तो इसे इस बार गंतव्य प्रतिलिपि में छोड़ दिया जाएगा। इस बात पर निर्भर करता है कि आप प्रारंभ rsync
में पूरे पेड़ को कैसे स्कैन कर सकते हैं या सिंक प्रक्रिया के रूप में यह अचानक स्कैन किया जा सकता है।
कुछ परिस्थितियों rsync
में असंगतता देखेंगे और आपको चेतावनी देंगे। यदि आप किसी निर्देशिका से किसी फ़ाइल या उप-निर्देशिका को हटाते हैं जो पहले से ही स्कैन की जा चुकी है, लेकिन इसकी सामग्री स्कैन नहीं की गई है, तो आपको ऑब्जेक्ट के गुम होने के बारे में एक त्रुटि संदेश मिलेगा। समान परिस्थितियों में यह कभी-कभी हो सकता है (यदि आकार और / या टाइमस्टैम्प बदल गया है) मध्य-स्कैन को बदलने वाली फ़ाइलों के बारे में भी चेतावनी देता है।
कुछ बैकअप के लिए यह असंगतता एक बड़ा मुद्दा नहीं हो सकता है, लेकिन अधिकांश के लिए यह इतना ही होगा कि आप एक सक्रिय रूप से बदलते स्रोत को सिंक करने की कोशिश न करें।
यदि आप अपने स्टोरेज सिस्टम के भाग के लिए LVM का उपयोग करते हैं तो आप एक पॉइंट-इन-टाइम बैकअप लेने के लिए एक अस्थायी स्नैपशॉट का उपयोग कर सकते हैं। इसके लिए आवश्यक है कि आपके पास स्नैपशॉट वॉल्यूम बनाने के लिए वॉल्यूम समूह पर पर्याप्त स्थान हो, जो कि स्नैपशॉट की आवश्यकता वाले सभी परिवर्तनों को रखने के लिए पर्याप्त हो। अधिक विवरण के लिए LVM प्रलेखन (या कई ऑनलाइन उदाहरणों में से एक: "LVM स्नैपशॉट बैकअप" या इसी तरह के) की जाँच करें।
LVM के बिना भी कुछ फाइलसिस्टम स्नैपशॉट्स का समर्थन करते हैं - इसलिए आप उस विकल्प पर भी गौर कर सकते हैं।
यदि आप लंबे समय के बिना बड़े सक्रिय संस्करणों का बैकअप लेना चाहते हैं और स्नैपशॉट का उपयोग नहीं कर सकते हैं, तो "लाइव" स्कैन को पूरा करने के लिए पर्याप्त हो सकता है, फिर वॉल्यूम तक पहुंच रोकें और एक और rsync प्रक्रिया चलाएं जो कम समय लग सकता है (यदि बहुत कम बदल गया है यह सिर्फ डायरेक्टरी ट्री को स्कैन करेगा फिर कुछ अपडेटेड फाइल्स को)। इस तरह जिस अवधि में आपको परिवर्तनों से बचना चाहिए वह बहुत कम हो सकती है।
स्रोत HDD rsync के दौरान कुछ भी पढ़ सकता है।
स्रोत HDD किसी भी सामग्री को rsync सामग्री से संबंधित नहीं लिख सकता है।
गंतव्य HDD rsync के दौरान कुछ भी पढ़ सकता है।
गंतव्य HDD सिंक की गई सामग्री के लिए पर्याप्त स्थान आरक्षित होने की स्थिति के साथ rsync करते समय कुछ भी लिख सकता है।
बेशक, किसी भी मामले में, प्रदर्शन में कमी होगी।
सभी मौजूदा उत्तर, संगति के संदर्भ में डेटा सुरक्षा के बारे में बात कर रहे हैं और सही हार्डवेयर मान रहे हैं।
एक और बात पर विचार करना हार्डवेयर सुरक्षा ही है। यदि आपके पास गैर-समर्थित हार्ड-ड्राइव हैं जो कि विफल होने के कगार पर हो सकती हैं (आप अभी तक नहीं जान सकते हैं) और आप एक प्रारंभिक व्यापक बैकअप बना रहे हैं, इसका उपयोग न करें। यदि डेटा महत्वपूर्ण है, तो इसे माउंट भी न करें। आप एक उपकरण का उपयोग कर सकते हैं जैसे dd
डिस्क को ब्लॉक डिवाइस के रूप में क्लोन करना। जब आप डिस्क हेड की मांग नहीं करना चाहते हैं, और संभवतः जब आप बैकअप बनाने की कोशिश कर रहे हों तब लिख रहे हों। dd
प्रारंभिक बैकअप के लिए प्लस तेज़ होना चाहिए क्योंकि यह बिट्स को क्रम में कॉपी करता है (यदि ड्राइव ज्यादातर पूर्ण नहीं है मुझे लगता है कि rsync प्रारंभिक मामले में भी जीत जाएगा)।
बाद के वृद्धिशील बैकअप के लिए rsync एक बढ़िया विकल्प है और मैं अन्य उत्तरों से 100% सहमत हूँ।
dd
तो सबसे अच्छा विकल्प नहीं है। ddrescue
इसके बजाय का उपयोग करें ; यह आंशिक विफलताओं को बहुत बेहतर तरीके से संभालता है। लेकिन मूल प्रश्न में यह विचार नहीं था।