क्या LVM विभाजन का उपयोग वर्चुअल मशीन छवियों में किया जाना चाहिए?


45

VM छवियों (जैसे, KVM छवियां) बनाते समय विभाजन के लिए LVM का उपयोग किया जाना चाहिए? ऐसा लगता है कि यदि आप चाहते हैं तो यह कहते हैं कि अगर आप LVM विभाजन चाहते हैं, तो मेजबान में एक qcow2 छवि माउंट करें, यह जटिलता जोड़ता है।

दूसरी ओर, ऐसा नहीं लगता है कि LVM विभाजन के फायदे एक VM छवि पर उतने ही महत्वपूर्ण हैं, क्योंकि एक VM प्रणाली को लेना और विभाजन का आकार बदलना बहुत आसान है, क्योंकि यह एक भौतिक प्रणाली के लिए है।


क्या आप संपूर्ण डिस्क के रूप में या विभाजन के रूप में LVs का उपयोग करने के बारे में पूछते हैं जो वीएम में डिस्क बनाते हैं?
नेल्स

@ मुझे लगता है कि विभाजन के रूप में LVs के बारे में बात कर रहा हूँ जो एक डिस्क बनाते हैं। उदाहरण के लिए, वॉल्यूम समूह के अंदर "/" विभाजन और तार्किक विभाजन के रूप में स्वैप विभाजन होना।
लोरिन होचस्टीन

बस स्पष्ट करने के लिए, ऐसा लगता है जैसे आप अतिथि पक्ष पर LVM का उपयोग करने के बारे में पूछ रहे थे। यह प्रबंधित करना बहुत आसान है यदि आप होस्ट पक्ष पर LVM का उपयोग करते हैं, एक डिस्क या दो पास करते हैं, और अतिथि पर किसी भी विभाजन के बिना उनका उपयोग करते हैं।
टोबू

LVM ओवरहेड 10e-9 सेकंड की सीमा में है।
इमैनुएल

जवाबों:


21

"निर्भर करता है।"

यदि आप एक ऐसे वातावरण पर हैं जिसे आप (vmware या kvm या जो भी) नियंत्रित करते हैं, और डिस्क प्रदर्शन QoS के बारे में अपने निर्णय ले सकते हैं, तो मैं आपके वीएम के अंदर LVM का उपयोग नहीं करने की सलाह दूंगा। यह आपको अधिक लचीलापन नहीं खरीदता है जो आपको हाइपरविजर स्तर पर नहीं मिल सकता है।

याद रखें, हाइपरविजर पहले से ही इन कार्यों को प्रभावी ढंग से कर रहा है। यदि आप फ़ाइल सिस्टम (एक अच्छा विचार) को मनमाने ढंग से आकार देने में सक्षम होना चाहते हैं, तो बस प्रत्येक फाइल सिस्टम के लिए एक अलग वर्चुअल डिस्क बनाएं।

आप इस सड़क के नीचे जाने के बारे में एक बात सोच सकते हैं। जरूरी नहीं कि आप इस तरह से अपने वर्चुअल डिस्क पर पार्टिशन भी करें। उदाहरण के लिए, आप एक वर्चुअल डिस्क बना सकते हैं /home; यह /dev/vdcआपके vm के अंदर है। फ़ाइल सिस्टम बनाते समय, mke2fs -j /dev/vdcविभाजन को निर्दिष्ट करने के बजाय कुछ ऐसा करें ।

यह एक अच्छा विचार है, लेकिन ... अधिकांश उपकरण (और आपके बाद आने वाले अन्य व्यवस्थापक) हर डिस्क पर विभाजन देखने की उम्मीद करेंगे। मैं सिर्फ डिस्क पर एक ही पार्टीशन डालने की सलाह दूंगा और इसके साथ किया जाऊंगा। हालांकि फाइलसिस्टम का आकार बदलते समय इसका एक और मतलब होता है। और अपने विभाजन को ठीक से संरेखित करना न भूलें - 1MB पर पहला विभाजन शुरू करना अंगूठे का एक अच्छा नियम है।

सभी ने कहा - यह सब हाइपरवाइजर स्तर पर करने का मतलब है कि आपको विभाजन को आकार देने के लिए संभवतः VM को रिबूट करना होगा। LVM के उपयोग से आप वर्चुअल डिस्क को हॉट-ऐड कर सकते हैं (अपने हाइपरवाइजर / OS संयोजन की अनुमति देता है), और रिबूट के बिना फाइल सिस्टम का विस्तार करें। यह निश्चित रूप से एक प्लस है।


इस बीच, यदि आप क्लाउड प्रदाता का उपयोग कर रहे हैं, तो यह अधिक सूक्ष्म है।

मुझे Azure, GCP या किसी भी छोटे खिलाड़ी के बारे में ज्यादा जानकारी नहीं है, इसलिए मैं वहां मदद नहीं कर सकता।

AWS के साथ आप मेरी सलाह का पालन कर सकते हैं और आप अक्सर ठीक रहेंगे। आप (अब) ईबीएस वॉल्यूम (वर्चुअल डिस्क) के आकार को बढ़ा-चढ़ाकर और विभाजन का आकार बदल सकते हैं, आदि।

हालांकि, सामान्य मामले में, यह एक बड़ी ईबीएस मात्रा पर सब कुछ डालने के लिए समझ में आता है, और एलवीएम (या, मुझे लगता है, सादे विभाजन) का उपयोग कर सकता है। अमेज़ॅन आपको प्रत्येक वॉल्यूम पर एक IOPS सीमा देता है। डिफ़ॉल्ट रूप से, यह सीमा वॉल्यूम के आकार के साथ होती है। उदाहरण के लिए, gp2वॉल्यूम के लिए आपको 3 IOPS प्रति GiB (न्यूनतम 100 IOPS) मिलते हैं। Https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTeses.html देखें

अधिकांश कार्यभार के लिए, आप चाहते हैं कि आपके सभी उपलब्ध आईओपीएस किसी भी फाइल सिस्टम के लिए उपलब्ध हों, जो इस समय की आवश्यकता पर निर्भर करता है। तो यह एक बड़ा ईबीएस वॉल्यूम बनाने के लिए समझ में आता है, अपने सभी IOPS को एक बाल्टी में प्राप्त करें, और इसे विभाजन / LVM करें।

उदाहरण:

स्वतंत्र फाइल सिस्टम / स्वैप क्षेत्रों के साथ 3 डिस्क, आकार में प्रत्येक 100GB। प्रत्येक को 300 IOPS मिलते हैं। प्रत्येक डिस्क पर प्रदर्शन 300 IOPS तक सीमित है।

1 डिस्क, आकार में 300GB। प्रत्येक 100GB की डिस्क पर LVM विभाजन। डिस्क में 900 IOPS मिलते हैं। कोई भी विभाजन सभी 900 IOPS का उपयोग कर सकता है।


7

लॉजिकल वॉल्यूम फ्लाई पर बनाना, आकार बदलना, हटाना आसान है।
"एलवीएम या नहीं" प्रश्न का हमेशा एक ही उत्तर होता है, यह निर्भर करता है :)
यह समझ में आता है कि क्या आपको डिस्क (ओं), विभाजन (स्तरों) के लचीलेपन की आवश्यकता है।
यह बहुत मायने नहीं रखता है अगर आपको LVM द्वारा प्रदान किए गए लचीलेपन की आवश्यकता नहीं है या अन्य LVM सुविधाओं का लाभ नहीं लेना चाहते हैं


5

मुझे वास्तव में LVs का उपयोग करना पसंद है क्योंकि वे गुण-सर्वर से आसानी से सुलभ नहीं हैं। इस प्रकार इन फ़ाइलों को आसानी से नष्ट नहीं किया जा सकता है / संयोग से स्थानांतरित किया जा सकता है।

LVs की अन्य महत्वपूर्ण विशेषताएं:

  • आप स्नैपशॉट बना सकते हैं
  • आप LV पर आधारित डिस्क IO का विश्लेषण कर सकते हैं ( iostat)
  • आकार बदलने में आसान
  • स्नैपशॉट का उपयोग करके आप रनिंग सिस्टम का एक सुसंगत क्लोन बना सकते हैं

जटिलता को कम करने के लिए मैं डिस्क के रूप में LV का उपयोग करता हूं (विभाजन के रूप में नहीं)। दोष यह है कि मैं केवल "डिस्क" के अंतिम विभाजन को आसानी से आकार दे सकता हूं - लेकिन मेरा मानक-वीएम-डिस्क-लेआउट इसे ध्यान में रखता है (इसलिए अंतिम विभाजन में महत्वपूर्ण एप्लिकेशन डेटा शामिल है)।


2

लचीलेपन के अलावा, एलवीएम आधारित वीएम छवियों में संभवतः कम ओवरहेड होता है, क्योंकि वे एक फाइल सिस्टम के माध्यम से एक्सेस नहीं होते हैं। दूसरी ओर, यह आसानी से घूमने वाली छवियों को दूर ले जाता है, जैसे आप एक फ़ाइल के साथ करते हैं। असंभव नहीं है, लेकिन थोड़ा और अधिक जटिल है


1
यह एक अलग सवाल का जवाब है। यहां प्रश्न मेहमानों में LVM का उपयोग करने के बारे में था, मेजबान पर LVM (VM डिस्क को संग्रहीत करने के लिए LVs) का उपयोग नहीं करने के बारे में था।
स्टीफन चेज़लस

1
नहीं, यह सवाल मेहमानों के लिए LVM का उपयोग करने के बारे में था, मेहमानों में नहीं।
एचडीवी

2

मेरा अपना अनुभव…।

मैं एक ext4 फ़ाइल सिस्टम के लिए lvm2 के साथ एक लॉजिकल वॉल्यूम (lv) का उपयोग करना चाहता था; डिस्क के रूप में नहीं, या बल्कि, एफएस के लिए एक गैर-विभाजित कच्ची डिस्क के रूप में।

मैंने जो पाया वह यह था कि VM के स्टार्टअप को initrd स्टेज पर रोका जाएगा; अगर मैंने /etc/fstabप्रविष्टि की टिप्पणी की , तो मशीन बूट हो जाएगी। /etc/fstabटिप्पणी छोड़ना कोई समाधान नहीं था कि मैं साथ रहकर खुश था। इसलिए, मैंने एक सामान्य डिस्क छवि (अभी भी एक तार्किक आयतन) fdiskबनाई है, एक विभाजन का उपयोग करके इसे विभाजित किया और उस पर फ़ाइल सिस्टम बनाया। आगे कोई समस्या नहीं।

मेरे संबंधित प्रासंगिक यूयूआईडी /etc/fstabका उपयोग कर रहे थे।

मैंने फ़ाइल या फाइल सिस्टम का उपयोग करने के बारे में सोचा, लेकिन इसके खिलाफ फैसला किया।

मेरे मामले में, मैं एक डेबियन जेसी आधारित प्रणाली देवुआन का उपयोग कर रहा हूं


1

मैं वास्तव में केवल एलवीएम का उपयोग हाइपरविजर स्तर पर बैकिंग स्टोरेज के लिए करता हूं, पक्षियों के लिए छवि फाइलें हैं। मैं उन्हें अतिथि स्तर पर भी उपयोग करने की सलाह दूंगा। यह सच है कि आप भंडारित स्रोतों को जमा करने से लाभ नहीं उठाएँगे या उपलब्ध डिस्क स्थान को बढ़ाना आसान होगा (क्योंकि आप यह पा सकते हैं कि हाइपरवाइज़र जो भी प्रस्तुत कर रहा है उसे आसानी से हल कर सकते हैं), लेकिन कभी-कभी आप एक से अधिक सिस्टम आवंटित करते हैं । आप एक आसान तरीका पसंद कर सकते हैं 1 गिग / ऑप्ट से लें और इसे / var (उदाहरण के लिए) दें। यदि आप स्वयं VM के अंदर नियमित विभाजन कर रहे हैं तो यह आकार बदलने के पहलू को और अधिक कठिन बना देता है।


1

यहाँ अन्य अच्छे उत्तरों के अलावा, वीएम के अंदर LVM का उपयोग करने का एकमात्र सही कारण यह है कि आप चाहते हैं कि परीक्षण वातावरण का प्रयोग करें और LVM के साथ कुछ व्यावहारिक अनुभव प्राप्त करें।

आप विभिन्न HOWTOs और ट्यूटोरियल्स के माध्यम से जा सकते हैं, सामान्य (और नहीं-तो-आम) LVM एडमिनिस्ट्रेशन टैक्सेस का अभ्यास कर सकते हैं, विभिन्न विफलता परिदृश्यों को सेट कर सकते हैं, और सीख सकते हैं कि उनके साथ कैसे व्यवहार करें।

स्व-शिक्षण सहायता के रूप में।


0

संपादित करें: नीचे अब सच नहीं है। वीएम डिस्क छवियों के लिए एलवीएम द्वारा प्रदान की गई पतली प्रावधान का उपयोग करने का मूल्य संभवतः स्थितिजन्य है;

क्या आप एक लैपटॉप पर विकास वीएम चला रहे हैं? तो आप शायद QCow2 के साथ बेहतर हो।

वीएम के एक खेत का प्रबंधन करना जो संभवतः कई डिस्क में भंडारण की विशाल मात्रा का उपयोग कर सकता है? LVM संभवतः उस संग्रहण को प्रबंधित करने का एक अच्छा तरीका है।


lvm का उपयोग करने का एक कारण यह है कि आप lvm के उपयोग से स्टोरेज को ओवरकम नहीं कर सकते हैं। यदि आप 10 वीएम की 100 जीबी स्टोरेज के साथ बनाते हैं, तो आपको 1000 जीबी वास्तविक डिस्क की आवश्यकता है, भले ही दस वीएम में से 9 केवल 20 जीबी के अपने फाइल सिस्टम का उपयोग करेंगे। विरल डिस्क छवियों या qcow2 प्रारूप छवियों का मतलब केवल भंडारण हो सकता है जो वास्तव में मेहमानों द्वारा उपयोग किया जाता है उन्हें आवंटित किया जाना चाहिए।

क्या यह वास्तव में आपके लिए उपयोगी है, यह इस बात पर निर्भर करता है कि आपको अपने भंडारण से बाहर क्या चाहिए।


2
आप वास्तव में lvm स्नैपशॉट का उपयोग करके स्टोरेज को ओवरकम कर सकते हैं। यह ओवरहेड है, हालांकि।
derobert

3
और वास्तव में, LVM के नए संस्करण एक "पतले पूल" का समर्थन करते हैं, जो किसी स्नैपशॉट मूर्खता w / o से अधिक है।
derobert

यह एक वैध बिंदु है, यद्यपि गलत है; तथ्य यह है कि उल्लिखित परिदृश्य में LVM विभाजन / डिस्क परिणाम का उपयोग करने का "मानक" / ऑन-द-फ्लाई तरीका निश्चित रूप से इंगित करने लायक है। हालांकि, उत्तर को यह प्रतिबिंबित करने के लिए बदला जा सकता है कि यह सीखने की राह में और भी जटिलता जोड़ देगा ।
ILMostro_7
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.