LVM स्नैपशॉट बनाम फ़ाइल सिस्टम स्नैपशॉट


32

जहां तक ​​मुझे पता है, LVM वॉल्यूम का स्नैपशॉट लेना संभव बनाता है। कई फ़ाइल सिस्टम (ZFS, Btrfs, reiserfs, ...) भी हैं जो स्नैपशॉट का समर्थन करते हैं।

हालाँकि, मैंने LVM स्नैपशॉट और फ़ाइल सिस्टम स्नैपशॉट के बीच के अंतर को कभी नहीं समझा है। यदि LVM के साथ स्नैपशॉट लेना संभव है, तो कोई इसे फ़ाइल सिस्टम में लागू करने के लिए अपना समय क्यों लेता है?

संपादित करें: क्या उनमें से किसी को कुछ स्थितियों में पसंद किया जाता है? क्यूं कर?

जवाबों:


25

इन स्नैपशॉट्स में से अधिकांश कॉपी-ऑन-राइट स्नैपशॉट हैं, जो शायद ही-अपडेट किए गए सिस्टम पर बहुत तेज़ और वास्तव में सस्ते (स्टोरेज-वार) हैं। LVM स्नैपशॉट्स स्नैप स्नैपशॉट हैं, ZFS / BTRFS दोनों में स्नैपशॉट के लिए एक COW- मोड है, reiserfs में मूल रूप से स्नैपशॉट नहीं है, Novell का NSS फाइल-सिस्टम भी गाय है, जैसा कि विंडोज़ NTFS वॉल्यूम में शैडो कॉपी वॉल्यूम हैं।

कॉपी-ऑन-राइट स्नैपशॉट्स लक्ष्य वॉल्यूम के मेटाडेटा की एक कॉपी स्नैपशॉट पूल में ले जाते हैं। फिर, गाय के किस मोड के आधार पर, वे उस डेटा की प्रतिलिपि बनाते हैं जो नए डेटा को लिखने से पहले स्नैपशॉट पूल को नए राइट्स द्वारा अधिलेखित किया जाएगा।

ZFS और (अंततः यदि पहले से नहीं है तो) BTRFS में फुल-स्नैपशॉट क्षमताएं हैं, जो अलग-अलग मीडिया पर स्नैपिंग के लिए उपयोगी है, जो बदले में रिमूवेबल मीडिया का उपयोग करके स्नीकरनेट बैकअप सिस्टम के लिए बहुत उपयोगी है। ZFS इसे "स्नैपशॉट" नहीं कहता है, हालांकि, वे ZFS की उपयोग करने की क्षमता का उपयोग करते हैं zfs sendऔर zfs recvनेटवर्क पर दूरस्थ होस्ट (या स्थानीय सरणी) पर वॉल्यूम और स्नैपशॉट की प्रतिलिपि बनाते हैं।

मैं LVM से अधिक फाइल सिस्टम-स्तर स्नैपशॉट क्षमताओं को पसंद करता हूं क्योंकि मैं बेहतर तरीके से प्रक्रिया को संभालने के लिए फाइल सिस्टम पर बेहतर भरोसा करता हूं। हालांकि, प्रत्यक्ष फाइलसिस्टम समर्थन की कमी में, LVM को ज्यादातर मामलों में ठीक काम करना चाहिए।

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

पूर्ण स्नैपशॉट अच्छे हैं यदि उन्हें किसी प्रकार के रिमूवेबल या रिमोट मीडिया में ले जाया जाए। यदि आपके पास नेटवर्क भंडारण है, तो लक्ष्य एक अलग iSCSI या फाइबर चैनल सरणी हो सकता है, जिसमें एक प्राथमिक स्टोरेज होस्ट किया गया है। यह आपको कुछ प्रकार के दोषों से सुरक्षा प्रदान करता है। यदि हटाने योग्य मीडिया, जैसे कि 3TB ESATA ड्राइव का उपयोग कर रहे हैं, तो आप इसे साधारण बैकअप-टू-डिस्क सिस्टम के रूप में भी उपयोग कर सकते हैं। ये स्नैपशॉट अपने गाय भाइयों की तुलना में अलग हार्डवेयर पर हो सकते हैं, इसलिए आपदा-लचीलापन के लिए उपयोगी हैं।


पूर्ण बनाम गाय स्नैपशॉट पर।

'स्नैपशॉट' शब्द पिछले कुछ वर्षों में थोड़ा बढ़ा है। इस वर्ष, मुझे पूरा यकीन है कि इसका अर्थ "ब्लॉक-रिलोकेशन का उपयोग करके मूल डेटा की कॉपी-ऑन-राइट कॉपी" है। इस परिभाषा के अनुसार, ऊपर प्रस्तुत "पूर्ण" स्नैपशॉट वास्तव में स्नैपशॉट नहीं है, यह प्रतिकृति है। कुछ भंडारण विक्रेताओं ने अतीत में किए गए विभिन्न ब्लॉक-स्तरीय कार्यों का वर्णन करने के लिए 'स्नैपशॉट' की विभिन्न परिभाषाओं का उपयोग किया है। जहां यह भ्रमित हो जाता है वे सिस्टम हैं जो प्रतिकृति प्रक्रिया के भाग के रूप में स्नैपशॉट का उपयोग करते हैं।


«एक फाइलसिस्टम-स्तरीय स्नैपशॉट LVM के माध्यम से एक से अधिक सरल तथ्य के लिए बेहतर है कि फाइल सिस्टम जानता है कि स्नैपशॉट प्रक्रिया के दौरान खुद को कैसे रखा जाए, जहां LVM '» - वास्तव में, यह सच नहीं है। इसे देखें: serverfault.com/questions/300961/…
poige

1
«ZFS और (अंत में अगर पहले से ही नहीं है) BTRFS में फुल-स्नैपशॉट क्षमताएं हैं» - आपको समझाना चाहिए कि "फुल" स्नैपशॉट के साथ आपका क्या मतलब है। AFAIK, ZFS के साथ स्नैपशॉट के लिए कोई "गाय / पूर्ण" विकल्प नहीं है। सभी स्नैपशॉट गाय हैं, लेकिन फिर भी बाद में एक अलग मीडिया पर पूरे फाइल सिस्टम या वॉल्यूम के रूप में सहेजे जा सकते हैं।
jlliagre

5

LVM को पूर्व नियोजन की आवश्यकता होती है। मुझे इसका उपयोग नहीं करना है क्योंकि यह अमूर्तता की एक और परत है और जब मुझे इसकी आवश्यकता होती है तो शायद ही कभी उपलब्ध होता है। LVM के बिना फाइल सिस्टम स्तर पर (लिनक्स में) क्लोन करने के अन्य विकल्प हैं, हालांकि। ऐसा करने के लिए आप R1Soft से हॉट कॉपी का उपयोग कर सकते हैं । यह एक कर्नेल मॉड्यूल है, लेकिन आपको इस क्षमता को ऑन-द-फ्लाई जोड़ने में सक्षम बनाता है।


3

बहुत स्पष्ट मुद्दा: LVM के स्नैपशॉट की गारंटी नहीं दी जाती है क्योंकि LVM के कारण लगातार FS jue "जानता है" FS के बारे में कुछ भी नहीं है जिसके साथ इसे लोड किया जा रहा है

संपादित (टिप्पणियों को देखें): - सच है जब तक कि एफएस के लिए समर्थन नहीं है .freeze_fs, अन्यथा इसे एफएस द्वारा इनायत से संभाला जाना चाहिए।


2
असत्य; LVM स्नैपशॉट लेने से पहले अपने आप को सिंक करने के लिए फाइल सिस्टम को जोड़ता है।
Womble

1
@ वॉम्बल: के बाद भी sync, स्नैपशॉट पहले से ही माउंट किए गए फाइल सिस्टम का एक सटीक डुप्लिकेट है; इसलिए जब आप इसे माउंट करते हैं, तो यह 'साफ-सुथरे ढंग से नहीं' के रूप में प्रकट होता है (क्योंकि यह अनमाउंट नहीं था), और इसके संगत होने से पहले कुछ सुधारात्मक कार्रवाई करनी होगी। बेशक, यह आम तौर पर सिर्फ एक जर्नल रिप्ले है और इसके बाद sync, यह एक खाली रिप्ले होना चाहिए; इसलिए कोई डेटा हानि का खतरा नहीं है।
जेवियर

1
@womble, 1) सिंकिंग पर्याप्त नहीं है , क्योंकि सिंक और LVM के स्नैपशॉट हैंडलिंग के बीच नए I / O अनुरोधों के लिए एक विंडो होगी। इसके लिए तरह तरह के अवरोध की आवश्यकता होती है। 2) एक्सएफएस में "फ्रीज" नामक विशेष सुविधा है ( xfs_freeze is intended to be used with volume managers and hardware RAID devices that support the creation of snapshots.) - स्नैपशॉट के लिए विशेष बात, क्या एलवीएम -2 इसके बारे में जानता है और पहले से ही इसका उपयोग करता है? 3) मुझे बताएं कि कहां-कहां यूजर-स्पेस ( source.redhat.com/cgi-bin/cvsweb.cgi/LVM2/?cvsroot=lvm2 ) या कर्नेल स्रोतों में मैं साबित कर सकता हूं कि आप हमारे लिए सही हैं कि LVM प्रॉडक्ट FS सिंक।
पीजी

9
ठीक है, मैंने अपना होमवर्क कर लिया है और अब मेरे प्रश्न के तीसरे भाग का उत्तर दे सकता है - वास्तव में, एलवीएम कर्नेल के फ्रीज_बदेव () का उपयोग करता है जो उसके शीर्षक में कहा गया है lock a filesystem and force it into a consistent state। इसलिए, कम से कम मैं कह सकता हूं कि मैं शायद गलत कह रहा था "लगातार एफएस के लिए गारंटी नहीं है", क्योंकि यह एफएस कार्यान्वयन के अंदर समर्थन फ्रीज_एफ़एस 'विधि' की बात है - कुछ एफएस में निश्चित रूप से ऐसा समर्थन है (EXT3, Reiser3, XFS,) और कुछ नहीं (EXT2, उदाहरण के लिए)। इसके अलावा, यह 2 वें प्रश्न का उत्तर देता है - XFS की फ्रीज LVM के साथ स्वचालित रूप से नियंत्रित होने की काफी संभावना है।
poige

1

अन्य उत्तरों के पूरक के रूप में। एफएस स्नैपशॉट में आप सभी स्नैपशॉट में संपीड़न और डिडुप्लीकेशन जैसी एफएस सुविधाओं का लाभ उठा सकते हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.