यह कैसे LVM स्नैपशॉट काम करता है?


19

मैं यह पता लगाने की कोशिश कर रहा हूं कि LVM स्नैपशॉट कैसे काम करता है इसलिए मैं इसे अपने फाइलरवर पर लागू कर सकता हूं लेकिन मुझे Google पर कुछ भी खोजने में कठिनाई हो रही है जो बताता है कि यह कैसे काम करता है, इसके बजाय आधार बैकअप प्रणाली के लिए इसका उपयोग कैसे करें।

मैंने जो पढ़ा है उससे मुझे लगता है कि यह कुछ इस तरह काम करता है:

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

क्या कोई मुझे सही कर सकता है जहां मैं गलत हूं। सबसे अच्छा, मैं अनुमान लगा रहा हूं, मुझे Google पर कुछ भी नहीं मिल रहा है।


vgdiplay

obu1: / होम / जेल / होम / qps / बैकअप / डी # vgdisplay
  --- आयतन समूह ---
  वीजी नाम fileserLVM
  सिस्टम आईडी
  स्वरूप lvm2
  मेटाडेटा क्षेत्र 1
  मेटाडेटा अनुक्रम संख्या 3
  वीजी एक्सेस पढ़ें / लिखें
  वीजी स्थिति resizable
  मैक्स एलवी 0
  वक्र LV २
  LV 2 खोलें
  मैक्स पीवी 0
  वक्र PV १
  अधिनियम PV १
  वीजी आकार 931.51 जीबी
  पीई का आकार 4.00 एमबी
  कुल पीई 238467
  एलोक पीई / आकार 238336 / 931.00 जीबी
  मुफ्त पीई / आकार 131 / 524.00 एमबी
  VG UUID qSGaG1-SQYO-D2bm-ohDf-d4eG-oGCY-4jOegU

जवाबों:


30

W LV -HOWTO के स्नैपशॉट अनुभाग पर एक नज़र नहीं है ?

LVM स्नैपशॉट आपके मूल "कॉपी ऑन राइट" स्नैपशॉट समाधान हैं। स्नैपशॉट वास्तव में LVM से आपको फ़ाइल सिस्टम की वर्तमान स्थिति के लिए "पॉइंटर" देने और निर्दिष्ट क्षेत्र में स्नैपशॉट के बाद किए गए परिवर्तनों को लिखने से ज्यादा कुछ नहीं है।

LVM स्नैपशॉट "लाइव" वॉल्यूम समूह के अंदर स्नैपशॉट के लिए वॉल्यूम विषय की मेजबानी करता है - एक और वॉल्यूम नहीं। आपका कथन "... बहुत सारे और बहुत से असंगत फ्रीसेप्स यह विभाजन नहीं है" यह आपकी सोच की तरह लगता है कि स्नैपशॉट वॉल्यूम समूह के बाहर "लाइव" स्नैपशॉट के अधीन है, और यह सटीक नहीं है। आपका वॉल्यूम समूह एक हार्ड डिस्क पार्टीशन में रहता है, और वॉल्यूम स्नैपशॉट और आपके द्वारा उस वॉल्यूम समूह में आपके द्वारा लिए गए किसी भी शाॅपशॉट के अधीन हो सकता है।

LVM स्नैपशॉट का उपयोग करने का सामान्य तरीका दीर्घकालिक भंडारण के लिए नहीं है, बल्कि फाइलसिस्टम का सुसंगत "चित्र" प्राप्त करने के लिए है ताकि बैकअप लिया जा सके। बैकअप हो जाने के बाद, स्नैपशॉट को छोड़ दिया जाता है।

जब आप LVM स्नैपशॉट बनाते हैं तो आप स्नैपशॉट सक्रिय होने के दौरान किए गए किसी भी परिवर्तन को रखने के लिए स्थान की मात्रा निर्दिष्ट करते हैं। यदि स्नैपशॉट के लिए आपके द्वारा निर्दिष्ट स्थान से अधिक परिवर्तन किए गए हैं तो अनुपयोगी हो जाते हैं और उन्हें छोड़ दिया जाना चाहिए। आप स्नैपशॉट नहीं छोड़ना चाहते हैं क्योंकि (ए) वे भरेंगे और अनुपयोगी हो जाएंगे, और (बी) स्नैपशॉट सक्रिय होने पर सिस्टम का प्रदर्शन प्रभावित होता है - चीजें धीमी हो जाती हैं।

संपादित करें:

Microsoft वॉल्यूम छाया प्रतिलिपि सेवाएँ और LVM स्नैपशॉट बहुत अधिक भिन्न नहीं हैं। Microsoft का समाधान थोड़ा अधिक व्यापक है (जैसा कि आमतौर पर Microsoft के साथ होता है - बेहतर या उनके औजारों और उत्पादों के लिए अक्सर बहुत बड़ी समस्याओं को हल करने के लिए बनाम एक चीज़ पर ध्यान केंद्रित करने के लिए)।

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


1
तो यह वास्तव में वॉल्यूम शैडो कॉपी (VSS) के बाद मॉडलिंग नहीं करता है, क्योंकि यह नहीं है कि VSS कैसे काम करता है?
मैलफिस्ट

यह बहुत अधिक समझ में आता है।
मैलफिस्ट

1
मुझे लगता है कि आप LVM स्नैपशॉट को कुछ हद तक गलत समझ रहे हैं। LVM स्नैपशॉट "वर्चुअल" डिवाइस बनाते हैं जो स्टैंडअलोन वॉल्यूम की तरह माउंट होते हैं, लेकिन वे वास्तव में "विभाजन" नहीं होते हैं। LVM स्नैपशॉट "VSS स्नैपशॉट की तरह" स्नैपशॉट के अधीन होने वाले वॉल्यूम में रहते हैं।
इवान एंडरसन

1
क्या आप स्पष्ट कर सकते हैं कि स्नैपशॉट सक्रिय होने के दौरान अपडेट किया गया डेटा कहाँ जाता है? मुख्य LV और स्नैपशॉट पुराने ब्लॉक की एक प्रति संग्रहीत करता है? या स्नैपशॉट LV में जबकि मुख्य LV अछूता रहता है?
बेनोइट

1
@ उत्तर की पहली पंक्ति में लिंक को कवर करें। LVM1 पर केवल-पढ़ने वाले स्नैपशॉट व्यवहार पर नोट पढ़ें और मुझे लगता है कि आपके पास आपका उत्तर होगा। (यह पहला दृष्टिकोण है जिसका आप वर्णन करते हैं, दूसरा नहीं।)
पीटर हेनसेन

28

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

जब आपके पास कोई स्नैपशॉट के साथ LVM वॉल्यूम होता है, तो उस वॉल्यूम पर लिखते हैं जैसा कि आप चाहते हैं। एक ब्लॉक बदला गया है, और यह बात है।

जैसे ही आप एक स्नैपशॉट बनाते हैं, LVM ब्लॉक का एक पूल बनाता है। इस पूल में वॉल्यूम की LVM मेटाडेटा की पूरी प्रतिलिपि भी शामिल है। जब लिखता है तो मुख्य आयतन जैसे कि एक इनोड को अपडेट करने पर, ब्लॉक को अधिलेखित किया जा रहा है इस नए पूल में कॉपी किया जाता है और नया खंड मुख्य वॉल्यूम को लिखा जाता है। यह the कॉपी-ऑन-राइट ’है। इस वजह से, जब स्नैपशॉट लिया गया था और मुख्य वॉल्यूम की वर्तमान स्थिति के बीच अधिक डेटा बदल जाता है, तो अधिक स्थान उस स्नैपशॉट पूल द्वारा भस्म हो जाएगा।

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

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

जब आप स्नैपशॉट का निपटान करते हैं, तो LVM स्नैपशॉट पूल को छोड़ देता है और आवश्यकतानुसार स्नैपशॉट ट्री को अपडेट करता है। यदि गिरा हुआ स्नैपशॉट स्नैपशॉट ट्री का हिस्सा है, तो कुछ ब्लॉकों को निचले स्तर के स्नैपशॉट में कॉपी किया जाएगा। यदि यह सबसे कम स्नैपशॉट (या केवल एक) है, तो पूल बस गिर जाता है और ऑपरेशन बहुत तेज होता है।


कुछ फाइल-सिस्टम फाइल-फाइल सिस्टम स्नैपशॉट प्रदान करते हैं, ZFS और BTRFS हैं, लेकिन दो बेहतर ज्ञात हैं। वे समान रूप से काम करते हैं, हालांकि फाइलसिस्टम स्वयं परिवर्तित / अपरिवर्तित मैपिंग का प्रबंधन करता है। यह यकीनन इसे करने का एक बेहतर तरीका है क्योंकि आप स्थिरता के लिए पूरे स्नैपशॉट परिवार को fsck कर सकते हैं, जो कि आप सीधे LVM के साथ नहीं कर सकते।


इस विस्तृत विवरण के लिए धन्यवाद। क्षमा करें कि मैं इस बारे में उलझन में हूं कि "जहां तक ​​उस वॉल्यूम पर फाइल सिस्टम का संबंध है, कोई स्नैपशॉट नहीं हैं।" क्या आप इसका अधिक मतलब बता सकते हैं? किसी भी प्रतिक्रिया के लिए बहुत सराहना ~
कैर

2
@ इसका मतलब है कि स्नैपशॉट पूरी तरह से फाइल सिस्टम के बाहर संभाला जाता है। अन्य फाइलसिस्टम जिनके पास स्नैपशॉट क्षमता है, जैसे BTRFS और XFS, में स्नैपशॉट की अवधारणा है और आपको उन सिस्टम के साथ LVM स्नैपशॉट का उपयोग नहीं करना चाहिए।
sysadmin1138

@ sysadmin1138 मैं XFS के साथ अंतर्निहित स्नैपशॉट के बारे में उत्सुक हूं, जिसका उल्लेख एफएस की स्थिरता जांच / मरम्मत के उद्देश्य से किया गया है। मेरे पास एक मल्टी-टीबी एक्सएफएस एफएस है जो एक गंदे तरीके से नीचे चला गया और मैं इसे जांचना / ठीक करना चाहता हूं, इसे ऑफ़लाइन रखे बिना (सैकड़ों उपयोगकर्ता, घंटों तक ऑफ़लाइन नहीं जा सकते)। मैं सोच रहा हूँ कि एक XFS स्नैपशॉट बनाने के लिए और फिर उस पर fsck को चलाने / त्रुटियों को ठीक करने के लिए, जबकि लाइव फाइल सिस्टम को ऑनलाइन रखा जाता है, और फिर यदि फिक्स किया जाता है, तो लाइव फाइल सिस्टम के साथ स्वैप करें। LVM स्नैपशॉट की तुलना में XFS स्नैपशॉट इस उद्देश्य के लिए बेहतर होगा?
जेएन लालिंस्की

2

आप निर्दिष्ट नहीं करते हैं कि आप लिनक्स या एचपी-यूएक्स का उपयोग कर रहे हैं या नहीं। HP-UX में, आप एक लॉजिकल वॉल्यूम बनाते हैं और इसे दूसरे लॉजिकल वॉल्यूम के स्नैपशॉट के रूप में माउंट करते हैं। लिनक्स में, आप स्नैपशॉट वॉल्यूम के रूप में एक तार्किक वॉल्यूम बनाते हैं।

एचपी-यूएक्स में एक स्नैपशॉट को हटाकर वॉल्यूम को umounting द्वारा किया जाता है; लिनक्स में यह तार्किक आयतन को हटाने के लिए lvremove का उपयोग करके किया जाता है।

किसी भी मामले में, परिवर्तन केवल एक चीज है जो आपके स्नैपशॉट पर संग्रहीत है। स्नैपशॉट जितनी अधिक समय तक उपलब्ध रहती है, उतने ही अधिक परिवर्तन होते हैं - और यह मौका है कि यह ठीक से आकार या जारी न होने पर भर सकता है।

स्नैपशॉट वॉल्यूम पर डिस्क एक्सेस की गति सामान्य मात्रा की तुलना में धीमी होगी; आपको इसे ध्यान में रखना चाहिए।


1

LVM स्नैपशॉट अक्षम हैं, जितने स्नैपशॉट हैं उतने ही धीमे सिस्टम में जाएंगे।

मैं केवल xfs का समर्थन करता हूं क्योंकि हम इसका उपयोग करते हैं और xfs_freeze का उपयोग फ़ाइल सिस्टम में नई पहुंच को रोकने के लिए किया जा सकता है और डिस्क पर एक स्थिर छवि बनाता है।

लिखो पर कॉपी का उपयोग किया जाता है ताकि डिस्क स्पेस कुशलता से उपयोग किया जाए।

आपने एक तार्किक रूप में एक फाइलसिस्टम बनाया है जिसमें स्नैपशॉट के लिए इसमें खाली जगह है।

यह FAQ से एक उदाहरण है

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