सारांश
LVM के उपयोग के जोखिम:
- एसएसडी या वीएम हाइपरविजर के साथ कैशिंग मुद्दों को लिखने के लिए कमजोर
- डिस्क पर अधिक जटिल संरचना के कारण डेटा को पुनर्प्राप्त करने के लिए कठिन
- फाइल सिस्टम को सही ढंग से आकार देने के लिए कठिन
- स्नैपशॉट का उपयोग करना मुश्किल है, धीमा और छोटी गाड़ी
- इन मुद्दों को सही ढंग से कॉन्फ़िगर करने के लिए कुछ कौशल की आवश्यकता होती है
पहले दो एलवीएम मुद्दे गठबंधन करते हैं: यदि राइटिंग कैशिंग सही ढंग से काम नहीं कर रहा है और आपको बिजली की हानि होती है (जैसे पीएसयू या यूपीएस विफल रहता है), तो आपको बैकअप से पुनर्प्राप्त करना पड़ सकता है, जिसका अर्थ है महत्वपूर्ण डाउनटाइम। LVM का उपयोग करने का एक प्रमुख कारण उच्च अपटाइम है (डिस्क को जोड़ने पर, फ़ाइल सिस्टम का आकार बदलना, आदि), लेकिन LVM से बचने के लिए राइटिंग कैशिंग सेटअप को सही ढंग से प्राप्त करना महत्वपूर्ण है।
- अद्यतित दिसम्बर 2018: अपडेटेड स्नैपशॉट सामग्री, जिसमें एलएफएम स्नैपशॉट के विकल्प के रूप में जेडएफएस और बीट्रॉफ़ की स्थिरता शामिल है
जोखिमों को कम करना
LVM आप अभी भी अच्छी तरह से काम कर सकते हैं:
- हाइपरवाइजर, कर्नेल और SSDs में अपना राइट कैशिंग सेटअप प्राप्त करें
- LVM स्नैपशॉट से बचें
- फ़ाइल सिस्टम का आकार बदलने के लिए हाल के LVM संस्करणों का उपयोग करें
- अच्छा बैकअप लें
विवरण
मैंने पिछले कुछ समय में यह शोध किया है कि एलवीएम से जुड़े कुछ डेटा हानि का अनुभव किया है। मुख्य LVM जोखिम और समस्याएं जिनसे मैं परिचित हूं:
VM हाइपरवाइज़र, डिस्क कैशिंग या पुराने लिनक्स कर्नेल के कारण हार्ड डिस्क लिखने के लिए कमजोर , और अधिक जटिल ऑन-डिस्क संरचनाओं के कारण डेटा को पुनर्प्राप्त करना कठिन बनाता है - विवरण के लिए नीचे देखें। मैंने देखा है कि कई डिस्क पर पूर्ण LVM सेटअप पुनर्प्राप्ति के किसी भी अवसर के बिना दूषित हो जाते हैं, और LVM प्लस हार्ड डिस्क लिखना कैशिंग एक खतरनाक संयोजन है।
- कैशिंग लिखें और हार्ड ड्राइव द्वारा री-ऑर्डर करना अच्छे प्रदर्शन के लिए महत्वपूर्ण है, लेकिन VM हाइपरवाइज़र, हार्ड ड्राइव राइट कैशिंग, पुराने लिनक्स कर्नेल इत्यादि के कारण ब्लॉक को सही तरीके से डिस्क में फ्लश करने में विफल हो सकता है।
- बैरियर लिखें का अर्थ है कि कर्नेल गारंटी देता है कि यह "बाधा" डिस्क लिखने से पहले कुछ डिस्क को पूरा करेगा, यह सुनिश्चित करने के लिए कि फाइल सिस्टम और RAID अचानक बिजली खोने या दुर्घटना की स्थिति में ठीक हो सकते हैं। इस तरह की बाधाएं डिस्क को कुछ ब्लॉकों को तुरंत लिखने के लिए एक एफयूए (फोर्स यूनिट एक्सेस) ऑपरेशन का उपयोग कर सकती हैं , जो पूर्ण कैश बुश की तुलना में अधिक कुशल है। बैरियर को कुशल टैग / देशी कमांड कतारबद्ध (एकाधिक डिस्क I / O अनुरोधों को एक साथ जारी करने) के साथ जोड़ा जा सकता है ताकि हार्ड ड्राइव को डेटा हानि के जोखिम के बिना बुद्धिमान लेखन फिर से ऑर्डर करने में सक्षम बनाया जा सके।
- वीएम हाइपरवेर्सर्स में समान मुद्दे हो सकते हैं: वीएमवेयर, एक्सएम , केवीएम, हाइपर-वी या वर्चुअलबॉक्स जैसे वीएम हाइपरविजर के शीर्ष पर लिनक्स अतिथि में एलवीएम चलाने से बिना किसी बाधा के एक समान समस्याएं पैदा हो सकती हैं , क्योंकि कोचिंग लिखना और फिर से लिखना। -ordering। "फ्लश टू डिस्क" या राइट-थ्रू कैश ऑप्शन ( KVM , VMware , Xen , VirtualBox और अन्य में मौजूद) के लिए अपने हाइपरविजर डॉक्यूमेंट को ध्यान से देखें - और इसे अपने सेटअप के साथ टेस्ट करें। वर्चुअलबॉक्स जैसे कुछ हाइपरविजर की एक डिफ़ॉल्ट सेटिंग होती है जो अतिथि से किसी भी डिस्क फ्लश को अनदेखा करती है।
- LVM के साथ एंटरप्राइज़ सर्वर को हमेशा बैटरी समर्थित RAID नियंत्रक का उपयोग करना चाहिए और हार्ड डिस्क राइट कैशिंग को निष्क्रिय करना चाहिए (नियंत्रक के पास बैटरी समर्थित राइट कैश है जो तेज और सुरक्षित है) - इस टिप्पणी को इस XFS FAQ प्रविष्टि के लेखक द्वारा देखें । कर्नेल में लेखन अवरोधों को बंद करना भी सुरक्षित हो सकता है , लेकिन परीक्षण की सिफारिश की जाती है।
- यदि आपके पास बैटरी-समर्थित RAID नियंत्रक नहीं है, तो हार्ड ड्राइव को लिखने में अक्षम करने से कैशिंग काफी धीमा हो जाएगा, लेकिन LVM को सुरक्षित बना देगा। आपको ext3 के
data=ordered
विकल्प (या data=journal
अतिरिक्त सुरक्षा के लिए) के बराबर का उपयोग करना चाहिए , साथ ही barrier=1
यह सुनिश्चित करने के लिए कि कर्नेल कैशिंग अखंडता को प्रभावित नहीं करता है। (या ext4 का उपयोग करें जो डिफ़ॉल्ट रूप से बाधाओं को सक्षम करता है ।) यह सबसे सरल विकल्प है और प्रदर्शन की कीमत पर अच्छा डेटा अखंडता प्रदान करता है। (लिनक्स नेdata=writeback
थोड़ी देर पहले डिफ़ॉल्ट ext3 विकल्प को और अधिक खतरनाक में बदल दिया , इसलिए FS के लिए डिफ़ॉल्ट सेटिंग्स पर भरोसा न करें।)
- हार्ड ड्राइव लिखने की कैशिंग को अक्षम करने के लिए : SATA के
hdparm -q -W0 /dev/sdX
लिए सभी ड्राइव्स में जोड़ें /etc/rc.local
या SCSI / SAS के लिए sdparm का उपयोग करें। हालाँकि, XFS FAQ (जो इस विषय पर बहुत अच्छा है) में इस प्रविष्टि के अनुसार , एक SATA ड्राइव एक ड्राइव त्रुटि सुधार के बाद इस सेटिंग को भूल सकती है - इसलिए आपको SCSI / SAS का उपयोग करना चाहिए, या यदि आपको SATA का उपयोग करना चाहिए, तो उसे डालें। हर मिनट चलने वाली क्रॉन जॉब में hdparm कमांड।
- SSD / हार्ड ड्राइव को लिखने के लिए बेहतर प्रदर्शन के लिए सक्षम कैशिंग : यह एक जटिल क्षेत्र है - नीचे अनुभाग देखें।
- यदि आप उन्नत प्रारूप ड्राइव अर्थात 4 केबी भौतिक क्षेत्रों का उपयोग कर रहे हैं , तो नीचे देखें - लेखन कैशिंग को अक्षम करने से अन्य समस्याएँ हो सकती हैं।
- यूपीएस एंटरप्राइज़ और SOHO दोनों के लिए महत्वपूर्ण है, लेकिन LVM को सुरक्षित बनाने के लिए पर्याप्त नहीं है: ऐसा कुछ भी जो हार्ड क्रैश या पावर लॉस का कारण बनता है (जैसे यूपीएस विफलता, पीएसयू विफलता, या लैपटॉप बैटरी थकावट) हार्ड ड्राइव कैश में डेटा खो सकता है।
- बहुत पुराने लिनक्स कर्नेल (2009 से 2.6.x) : बहुत पुराने कर्नेल संस्करणों में अपूर्ण लेखन बाधा समर्थन है, 2.6.32 और पहले ( 2.6.31 में कुछ समर्थन है , जबकि 2.6.33 सभी प्रकार के डिवाइस लक्ष्य के लिए काम करता है ) - RHEL 6 कई पैच के साथ 2.6.32 का उपयोग करता है । यदि इन पुराने 2.6 कर्नेल को इन मुद्दों के लिए भेजा नहीं जाता है, तो एफएस मेटाडेटा (पत्रिकाओं सहित) की एक बड़ी मात्रा एक कठिन दुर्घटना से खो सकती है जो हार्ड ड्राइव के डेटा को बफ़र लिखती है (सामान्य डेटा ड्राइव के लिए 32 एमबी प्रति ड्राइव कहते हैं)। सबसे हाल ही में लिखे गए एफएस मेटाडेटा और जर्नल डेटा के 32 एमबी खोने, जो कर्नेल को लगता है कि पहले से ही डिस्क पर है, आमतौर पर एफएस भ्रष्टाचार का बहुत अधिक मतलब है और इसलिए डेटा हानि।
- सारांश: आपको LVM के साथ उपयोग की जाने वाली फाइल सिस्टम, RAID, VM हाइपरविजर और हार्ड ड्राइव / SSD सेटअप का ध्यान रखना चाहिए। यदि आपके पास LVM का उपयोग कर रहे हैं, तो आपके पास बहुत अच्छे बैकअप होने चाहिए, और विशेष रूप से LVM मेटाडेटा, भौतिक विभाजन सेटअप, MBR और वॉल्यूम बूट क्षेत्रों का बैकअप लेना सुनिश्चित करें। एससीएसआई / एसएएस ड्राइव का उपयोग करना भी उचित है क्योंकि ये झूठ बोलने की संभावना कम हैं कि वे कैशिंग कैसे लिखते हैं - एसएटीए ड्राइव का उपयोग करने के लिए अधिक देखभाल की आवश्यकता होती है।
प्रदर्शन के लिए लेखन कैशिंग को सक्षम रखना (और झूठ बोलने वाली ड्राइव से मुकाबला करना)
एसएसडी / हार्ड ड्राइव को कैशिंग लिखने में सक्षम बनाने के लिए एक और अधिक जटिल लेकिन प्रदर्शन करने वाला विकल्प सक्षम है और कर्नेल पर बाधाओं पर भरोसा करें। कर्नेल 2.6.33+ पर एलवीएम के साथ काम करने में बाधाएं (लॉग में "बैरियर" संदेशों की तलाश में डबल-चेक)।
आपको यह भी सुनिश्चित करना चाहिए कि RAID सेटअप, वीएम हाइपरवाइजर सेटअप और फाइलसिस्टम राइट बैरियर का उपयोग करता है (यानी प्रमुख मेटाडेटा / जर्नल लिखने से पहले और बाद में लंबित राइट्स को फ्लश करने के लिए ड्राइव की आवश्यकता होती है)। XFS डिफ़ॉल्ट रूप से बाधाओं का उपयोग करता है, लेकिन ext3 नहीं करता है , इसलिए ext3 के साथ आपको barrier=1
माउंट विकल्पों में उपयोग करना चाहिए , और अभी भी ऊपर data=ordered
या नीचे के data=journal
रूप में उपयोग करना चाहिए ।
- दुर्भाग्य से, कुछ हार्ड ड्राइव और एसएसडी इस बारे में झूठ बोलते हैं कि क्या उन्होंने वास्तव में डिस्क (विशेष रूप से पुराने ड्राइव, लेकिन कुछ एसएटीए ड्राइव और कुछ उद्यम एसएसडी सहित ) में अपने कैश को फ्लश किया है - यहां अधिक विवरण । एक XFS डेवलपर का एक शानदार सारांश है ।
- लेट ड्राइव (पर्ल स्क्रिप्ट) के लिए एक सरल परीक्षण उपकरण है , या ड्राइव कैश के परिणामस्वरूप री-ऑर्डर लिखने के लिए इस टूल को किसी अन्य टूल परीक्षण के साथ देखें । यह उत्तर SATA ड्राइव के समान परीक्षण को कवर करता है जिसने सॉफ्टवेयर RAID में एक लेखन अवरोध मुद्दे को उजागर किया - ये परीक्षण वास्तव में पूरे भंडारण स्टैक का अभ्यास करते हैं।
- मूल कमांड कतार (NCQ) का समर्थन करने वाले अधिक हालिया SATA ड्राइव में झूठ बोलने की संभावना कम हो सकती है - या शायद NCQ के कारण वे कैशिंग लिखे बिना अच्छा प्रदर्शन करते हैं, और बहुत कम ड्राइव्स लेखन कैशिंग को अक्षम नहीं कर सकते हैं।
- SCSI / SAS ड्राइव आम तौर पर ठीक होते हैं क्योंकि उन्हें SATA के NCQ के समान (SCSI टैगेड कमांड कतार के माध्यम से) अच्छा प्रदर्शन करने के लिए कैशिंग लिखने की आवश्यकता नहीं होती है ।
- यदि आपकी हार्ड ड्राइव या SSD अपने कैश को डिस्क में फ्लश करने के बारे में झूठ बोलते हैं, तो आप वास्तव में लिखने की बाधाओं पर भरोसा नहीं कर सकते हैं और लेखन कैशिंग को अक्षम करना होगा। यह सभी फ़ाइल सिस्टम, डेटाबेस, वॉल्यूम मैनेजर और सॉफ्टवेयर RAID के लिए एक समस्या है , न कि केवल LVM।
SSD समस्याग्रस्त हैं क्योंकि SSD के जीवनकाल में लिखने कैश का उपयोग महत्वपूर्ण है। यह एक SSD का उपयोग करने के लिए सबसे अच्छा है जिसमें एक सुपरकैपेसिटर है (कैश को बिजली की विफलता पर फ्लश करने में सक्षम करने के लिए, और इसलिए कैश को राइट-थ्रू राइट-थ्रू नहीं लिखने के लिए सक्षम करें)।
उन्नत प्रारूप ड्राइव सेटअप - कैशिंग, संरेखण, RAID, GPT लिखें
- 4 केबी भौतिक क्षेत्रों का उपयोग करने वाले नए उन्नत प्रारूप ड्राइव के साथ , ड्राइव लेखन कैशिंग को सक्षम रखना महत्वपूर्ण हो सकता है, क्योंकि इस तरह के अधिकांश ड्राइव वर्तमान में 512 बाइट तार्किक क्षेत्रों ( "512 इम्यूलेशन" ) का अनुकरण करते हैं , और कुछ ने 512-बाइट भौतिक होने का दावा भी किया है जबकि क्षेत्रों वास्तव में 4 KiB का उपयोग कर।
- यदि एडवांस फॉर्मेट ड्राइव के राइट कैश को बंद कर दिया जाए तो एप्लिकेशन / कर्नेल 512 बाइट्स लिखने पर बहुत बड़ा परफॉरमेंस इफेक्ट हो सकता है, क्योंकि ऐसी ड्राइव्स 8 x 512-बाइट लिखने के लिए कैशे पर भरोसा करती हैं, जो कि सिंगल 4 KiB फिजिकल करने से पहले लिखता है। लिखना। यदि आप कैश को अक्षम करते हैं तो किसी भी प्रभाव की पुष्टि करने के लिए परीक्षण की सिफारिश की जाती है।
- LVs को 4 KiB सीमा पर संरेखित करना प्रदर्शन के लिए महत्वपूर्ण है, लेकिन स्वचालित रूप से तब तक होना चाहिए जब तक PVs के लिए अंतर्निहित विभाजन संरेखित किए जाते हैं, क्योंकि LVM भौतिक विस्तार (PEs) डिफ़ॉल्ट रूप से 4 MiB हैं। RAID को यहां माना जाना चाहिए - यह LVM और सॉफ़्टवेयर RAID सेटअप पृष्ठ , वॉल्यूम के अंत में RAID सुपरब्लॉक और (यदि आवश्यक हो)
pvcreate
पीवी को संरेखित करने के लिए एक विकल्प का उपयोग करने का सुझाव देता है। यह LVM ईमेल सूची 2011 के दौरान गुठली में किए गए कार्य को इंगित करता है और आंशिक ब्लॉक का मुद्दा लिखता है जब एक एकल LV में 512 बाइट और 4 KiB क्षेत्रों के साथ डिस्क को मिलाता है।
- उन्नत प्रारूप के साथ जीपीटी विभाजन की देखभाल की जरूरत है, विशेष रूप से बूट + रूट डिस्क के लिए, सुनिश्चित करने के लिए कि पहले एलवीएम विभाजन (पीवी) 4 की सीमा पर शुरू होता है।
हार्ड डिस्क डिस्क पर अधिक जटिल होने के कारण डेटा को पुनर्प्राप्त करने के लिए :
- हार्ड क्रैश या पावर लॉस (गलत लेखन कैशिंग के कारण) के बाद आवश्यक LVM डेटा की कोई भी रिकवरी सबसे अच्छी तरह से मैन्युअल प्रक्रिया है, क्योंकि इसमें स्पष्ट रूप से कोई उपयुक्त उपकरण नहीं हैं। LVM अपने मेटाडेटा का समर्थन करने के लिए अच्छा है
/etc/lvm
, जो LVs, VGs और PVs की मूल संरचना को बहाल करने में मदद कर सकता है, लेकिन खोई हुई फ़ाइल सिस्टम मेटाडेटा के साथ मदद नहीं करेगा।
- इसलिए बैकअप से पूर्ण पुनर्स्थापना की आवश्यकता है। इसमें LVM का उपयोग नहीं करने पर त्वरित जर्नल-आधारित फ़ॉस्क की तुलना में बहुत अधिक डाउनटाइम शामिल होता है, और अंतिम बैकअप खो जाने के बाद से लिखा गया डेटा।
- TestDisk , ext3grep , ext3undel और अन्य उपकरण गैर-LVM डिस्क से विभाजन और फ़ाइलों को पुनर्प्राप्त कर सकते हैं, लेकिन वे सीधे LVM डेटा रिकवरी का समर्थन नहीं करते हैं। टेस्टडिस्क को पता चल सकता है कि खोए हुए भौतिक विभाजन में LVM PV होता है, लेकिन इनमें से कोई भी उपकरण LVM तार्किक आयतन को नहीं समझता है। PhotoRec और कई अन्य जैसे फ़ाइल नक्काशी उपकरण काम करेंगे क्योंकि वे डेटा ब्लॉक से फ़ाइलों को फिर से इकट्ठा करने के लिए फाइल सिस्टम को बायपास करते हैं, लेकिन यह मूल्यवान डेटा के लिए एक अंतिम उपाय, निम्न-स्तरीय दृष्टिकोण है, और खंडित फ़ाइलों के साथ कम अच्छी तरह से काम करता है।
- मैनुअल एलवीएम की वसूली कुछ मामलों में संभव है, लेकिन जटिल और समय लेने वाली है - इस उदाहरण को देखें और यह , यह , और यह कैसे ठीक किया जाए।
फाइलों के सिस्टम को सही ढंग से आकार देने के लिए कठोर - आसान फाइलसिस्टम का आकार बदलना अक्सर LVM के लाभ के रूप में दिया जाता है, लेकिन आपको LVM आधारित FS का आकार बदलने के लिए आधा दर्जन शेल कमांड चलाने की जरूरत है - यह पूरे सर्वर के साथ अभी भी किया जा सकता है, और कुछ मामलों में FS के साथ मुहिम शुरू की है, लेकिन मैं बैकअप तारीखों के बिना बाद वाले को जोखिम में नहीं डालूंगा और एक समान सर्वर पर पूर्व-परीक्षण किए गए आदेशों का उपयोग कर रहा हूं (जैसे उत्पादन सर्वर का आपदा वसूली क्लोन)।
- अद्यतन:
lvextend
समर्थन के और हाल के संस्करण -r
( --resizefs
) विकल्प - यदि यह उपलब्ध है, तो यह LV और फ़ाइल सिस्टम का आकार बदलने के लिए एक सुरक्षित और तेज़ तरीका है, खासकर यदि आप FS सिकुड़ रहे हैं, और आप ज्यादातर इस अनुभाग को छोड़ सकते हैं।
- एलवीएम-आधारित एफएस को आकार देने वाले अधिकांश गाइड इस तथ्य पर ध्यान नहीं देते हैं कि एफएस को एलवी के आकार से कुछ छोटा होना चाहिए: यहां विस्तृत विवरण । जब एक फाइल सिस्टम सिकुड़ते, आप एफएस आकार बदलने उपकरण के लिए नया आकार जैसे, निर्दिष्ट करना होगा
resize2fs
, ext3 के लिए और करने के लिए lvextend
या lvreduce
। बड़ी देखभाल के बिना, आकार 1 जीबी (10 ^ 9) और 1 GiB (2 ^ 30) के बीच अंतर के कारण थोड़ा भिन्न हो सकता है , या जिस तरह से विभिन्न उपकरण गोल आकार ऊपर या नीचे होते हैं।
- यदि आप गणना बिल्कुल सही नहीं करते हैं (या सबसे स्पष्ट लोगों से परे कुछ अतिरिक्त चरणों का उपयोग करते हैं), तो आप एक FS के साथ समाप्त हो सकते हैं जो LV के लिए बहुत बड़ा है। महीनों या वर्षों तक सब कुछ ठीक रहेगा, जब तक कि आप पूरी तरह से एफएस नहीं भरते हैं, तब तक आपको गंभीर भ्रष्टाचार मिलेगा - और जब तक आप इस मुद्दे से अवगत नहीं होंगे, यह पता लगाना कठिन है कि क्यों, तब तक आपके पास भी वास्तविक डिस्क त्रुटियां हो सकती हैं। वह बादल की स्थिति। (यह संभव है कि यह समस्या केवल फाइलसिस्टम के आकार को कम करने को प्रभावित करती है - हालांकि, यह स्पष्ट है कि किसी भी दिशा में फाइल सिस्टम को आकार देने से संभवतः उपयोगकर्ता की त्रुटि के कारण डेटा हानि का खतरा बढ़ जाता है।)
ऐसा लगता है कि एलवी का आकार एफएस आकार से 2 x एलवीएम भौतिक सीमा (पीई) के आकार से बड़ा होना चाहिए - लेकिन विवरण के लिए उपरोक्त लिंक की जांच करें क्योंकि यह स्रोत आधिकारिक नहीं है। अक्सर 8 MiB की अनुमति देना पर्याप्त है, लेकिन अधिक सुरक्षित होने के लिए बेहतर हो सकता है, जैसे कि 100 MiB या 1 GiB, बस सुरक्षित रहें। पीई का आकार, और आपके तार्किक आयतन + एफएस आकारों की जांच करने के लिए, 4 KiB = 4096 बाइट ब्लॉक का उपयोग करें:
KiB में पीई का आकार दिखाता है:
vgdisplay --units k myVGname | grep "PE Size"
सभी LVs का आकार :
lvs --units 4096b
(ext3) FS का आकार, मान लेता है 4 KiB FS ब्लॉक करता है:
tune2fs -l /dev/myVGname/myLVname | grep 'Block count'
इसके विपरीत, एक गैर-एलवीएम सेटअप एफएस को बहुत विश्वसनीय और आसान रन- ग्रेटेड बनाता है और आवश्यक एफएस का आकार बदलता है, फिर यह आपके लिए सब कुछ करेगा। सर्वर पर, आप parted
शेल से उपयोग कर सकते हैं ।
- Gparted Live CD या Parted Magic का उपयोग करना अक्सर सबसे अच्छा होता है , क्योंकि इनमें distro संस्करण की तुलना में हाल ही में और अक्सर अधिक बग-मुक्त Gparted और कर्नेल होता है - मैं एक बार एक पूरा FS खो जाने के कारण distro के Gparted के अपडेट ठीक से नहीं चलने में गिरी। यदि डिस्ट्रो के Gparted का उपयोग करते हैं, तो विभाजन को बदलने के बाद सही रीबूट करना सुनिश्चित करें ताकि कर्नेल का दृष्टिकोण सही हो।
स्नैपशॉट का उपयोग करना मुश्किल है, धीमी और छोटी गाड़ी - अगर स्नैपशॉट पूर्व-आवंटित स्थान से बाहर निकलता है तो यह स्वचालित रूप से गिरा दिया जाता है । किसी दिए गए LV का प्रत्येक स्नैपशॉट उस LV (पिछले स्नैपशॉट के विरुद्ध नहीं) के विरुद्ध एक डेल्टा है, जिसमें महत्वपूर्ण लेखन गतिविधि के साथ फाइल सिस्टम स्नैपशॉट की बहुत अधिक जगह की आवश्यकता होती है (प्रत्येक स्नैपशॉट पिछले एक से बड़ा होता है)। एक स्नैपशॉट LV बनाना सुरक्षित है जो मूल LV के समान आकार का है, क्योंकि स्नैपशॉट तब कभी भी खाली स्थान से बाहर नहीं जाएगा।
स्नैपशॉट भी बहुत धीमा हो सकता है ( इन MySQL परीक्षणों के लिए LVM के बिना 3 से 6 गुना धीमा अर्थ है ) - इस जवाब को विभिन्न स्नैपशॉट समस्याओं को कवर करते हुए देखें । धीमापन आंशिक रूप से है क्योंकि स्नैपशॉट को कई तुल्यकालिक लिखने की आवश्यकता होती है ।
स्नैपशॉट में कुछ महत्वपूर्ण बग होते हैं, उदाहरण के लिए , कुछ मामलों में वे बूट को बहुत धीमा कर सकते हैं, या बूट को पूरी तरह से विफल कर सकते हैं (क्योंकि कर्नेल रूट FS के इंतजार में बाहर हो सकता है जब यह LVM स्नैपशॉट है [डेबियन initramfs-tools
अपडेट में तय किया गया है , मार्च 2015] )।
- हालांकि, 2015 तक कई स्नैपशॉट दौड़ हालत कीड़े स्पष्ट रूप से तय किए गए थे ।
- स्नैपशॉट के बिना LVM आमतौर पर काफी अच्छी तरह से डिबग लगता है, शायद क्योंकि स्नैपशॉट का उपयोग मुख्य विशेषताओं के रूप में नहीं किया जाता है।
स्नैपशॉट विकल्प - फाइलसिस्टम और वीएम हाइपरविजर
वीएम / क्लाउड स्नैपशॉट:
- यदि आप VM हाइपरवाइज़र या IaaS क्लाउड प्रदाता (जैसे VMware, VirtualBox या Amazon EC2 / EBS) का उपयोग कर रहे हैं, तो उनके स्नैपशॉट अक्सर LVM स्नैपशॉट के लिए एक बेहतर विकल्प होते हैं। आप बैकअप प्रयोजनों के लिए आसानी से एक स्नैपशॉट ले सकते हैं (लेकिन आपके द्वारा करने से पहले एफएस को फ्रीज करने पर विचार करें)।
फाइलसिस्टम स्नैपशॉट:
ZFS या btrfs के साथ फाइल सिस्टम स्तर स्नैपशॉट का उपयोग करना आसान है और आम तौर पर LVM की तुलना में बेहतर है, यदि आप नंगे धातु पर हैं (लेकिन ZFS बहुत अधिक परिपक्व लगता है, तो बस और अधिक परेशानी होती है):
ऑनलाइन बैकअप और fsck के लिए स्नैपशॉट
स्नैपशॉट का उपयोग बैकअप के लिए एक सुसंगत स्रोत प्रदान करने के लिए किया जा सकता है , जब तक कि आप आवंटित स्थान के साथ सावधान रहें (आदर्श रूप से स्नैपशॉट एलवी बैकअप के समान आकार है)। उत्कृष्ट rsnapshot (1.3.1 के बाद से) यहां तक कि आपके लिए LVM स्नैपशॉट निर्माण / हटाने का प्रबंधन करता है - LVM का उपयोग करके rsnapshot पर इस HOWTO को देखें । हालांकि, स्नैपशॉट के साथ सामान्य मुद्दों पर ध्यान दें और स्नैपशॉट को अपने आप में बैकअप नहीं माना जाना चाहिए।
आप ऑनलाइन fsck करने के लिए LVM स्नैपशॉट का उपयोग कर सकते हैं: LV को स्नैपशॉट करें और स्नैपशॉट को स्नैपशॉट करें, जबकि अभी भी मुख्य गैर-स्नैपशॉट FS का उपयोग कर रहे हैं - यहाँ वर्णित है - हालाँकि, यह पूरी तरह से सीधा नहीं है , इसलिए T2 Ts द्वारा वर्णित के रूप में 2 croncheck का उपयोग करना सबसे अच्छा है। 'ओ , अनुचर 3 का।
स्नैपशॉट लेते समय आपको अस्थायी रूप से फाइल सिस्टम को "फ्रीज" करना चाहिए - कुछ फाइल सिस्टम जैसे कि एक्स 3 और एक्सएफएस स्वचालित रूप से ऐसा करेंगे जब एलवीएम स्नैपशॉट बनाता है।
निष्कर्ष
इस सब के बावजूद, मैं अभी भी कुछ सिस्टम पर LVM का उपयोग करता हूं, लेकिन एक डेस्कटॉप सेटअप के लिए मैं कच्चे विभाजन को पसंद करता हूं। LVM से मैं जो मुख्य लाभ देख सकता हूं वह यह है कि जब आप सर्वर पर उच्च अपटाइम होना चाहिए, तो एफएस को स्थानांतरित करने और आकार देने का लचीलापन होता है - यदि आपको इसकी आवश्यकता नहीं है, तो gparted आसान है और डेटा हानि का जोखिम कम है।
वीवी हाइपरवाइजर्स, हार्ड ड्राइव / एसएसडी राइट कैशिंग, और इसी के चलते LVM को कैशिंग सेटअप लिखने में बहुत सावधानी की आवश्यकता होती है - लेकिन लिनक्स पर DB सर्वर के रूप में उपयोग करने के लिए भी यही बात लागू होती है। अधिकांश उपकरणों ( gparted
महत्वपूर्ण आकार गणनाओं, और testdisk
आदि सहित) से समर्थन की कमी से इसे उपयोग करने के लिए कठिन होना चाहिए।
LVM का उपयोग करते समय, स्नैपशॉट के साथ बहुत सावधानी बरतें: यदि संभव हो तो VM / क्लाउड स्नैपशॉट का उपयोग करें, या LVM से पूरी तरह से बचने के लिए ZFS / btrfs की जाँच करें - आपको लग सकता है कि ZFS या btrs स्नैपशॉट के साथ LVM की तुलना में पर्याप्त रूप से परिपक्व हैं।
नीचे पंक्ति: यदि आप ऊपर सूचीबद्ध मुद्दों के बारे में नहीं जानते हैं और उन्हें कैसे संबोधित किया जाए, तो LVM का उपयोग न करना सबसे अच्छा है।