LVM वॉल्यूम समूह को KVM / libvirt होस्ट और मेहमानों के बीच साझा किया गया: क्या यह एक बुरा विचार है?


12

मैंने अभी एक चमकदार नया KVM / libvirt- आधारित वर्चुअल मशीन होस्ट बनाया है, जिसमें 4 SATA II हार्ड ड्राइव हैं, और CentOS 5.5 x86_64 चल रहा है।

मैंने वर्चुअल मशीन डिस्क को एक LVM वॉल्यूम समूह में तार्किक वॉल्यूम के रूप में बनाने का निर्णय लिया है , जो डिस्क को qcow छवियों के रूप में बनाने के सामान्य अभ्यास के बजाय एक libvirt स्टोरेज पूल के रूप में प्रबंधित होता है।

जो मैं तय नहीं कर सकता हूं कि क्या मुझे वीएम होस्ट के वॉल्यूम समूह में, या एक समर्पित वॉल्यूम समूह में वर्चुअल मशीन लॉजिकल वॉल्यूम बनाना चाहिए।

मुझे कौन सी विधि चुननी चाहिए और क्यों?


विधि 1: VM होस्ट के वॉल्यूम समूह का उपयोग करें

कार्यान्वयन:

  • छोटे RAID1 md0जिसमें /bootफ़ाइल सिस्टम है
  • बड़े RAID10 md1शेष स्थान पर कब्जा कर रहा है, जिसमें LVM वॉल्यूम समूह है vghostvghostइसमें वीएम होस्ट का रूट फाइल सिस्टम और स्वैप विभाजन शामिल है
  • वर्चुअल मशीन डिस्क को तार्किक मात्रा में vghostआवश्यकतानुसार बनाएँ

पेशेवरों:

  • यदि VM होस्ट का रूट फाइल सिस्टम अंतरिक्ष से बाहर जाता है, तो मैं vghostसापेक्ष आसानी से अधिक स्थान आवंटित कर सकता हूं
  • सिस्टम पहले से ही चालू है और चल रहा है (लेकिन इसे शुरू करना कोई बड़ी बात नहीं है)

विपक्ष:

इस तथ्य के बारे में बताएं कि यह विधि काम करती है, मैं इस भावना को हिला नहीं सकता कि यह किसी तरह का एक बुरा विचार है। मैं महसूस करता हूँ कि:

  • यह किसी तरह सुरक्षा जोखिम हो सकता है
  • भविष्य में कुछ बिंदु पर मुझे सेटअप के साथ कुछ सीमा मिल सकती है, और इच्छा है कि मैंने एक समर्पित समूह का उपयोग किया
  • सिस्टम (CentOS, libvirt, इत्यादि) वास्तव में इस तरह इस्तेमाल किए जाने के लिए डिज़ाइन नहीं किया जा सकता है, और इसलिए कुछ बिंदु पर मैं VM होस्ट की फ़ाइलों और / या फाइल सिस्टम को भ्रष्ट / खो सकता हूं

विधि 2: एक समर्पित वॉल्यूम समूह का उपयोग करें

कार्यान्वयन:

  • वही md0और md1विधि 1 में, md1केवल वीएम होस्ट के लिए (जैसे 5 से 10 जीबी) को शामिल करने के लिए पर्याप्त बड़ा को छोड़कर ।
  • बड़े RAID10 md2शेष स्थान पर कब्जा कर रहे हैं। md2इसमें LVM आयतन समूह है vgvms, जिसके तार्किक संस्करणों का उपयोग विशेष रूप से आभासी मशीनों द्वारा किया जाना है

पेशेवरों:

  • मैं vgvmsमेजबान ओएस को तोड़ने के डर के बिना टिंकर कर सकता हूं
  • यह अधिक सुरुचिपूर्ण और सुरक्षित समाधान की तरह लगता है

विपक्ष:

  • यदि VM होस्ट का फाइल सिस्टम अंतरिक्ष से बाहर चला जाता है, तो मुझे इसके फाइल सिस्टम के कुछ हिस्सों (जैसे। / usr या / var) पर जाना होगा vgvms, जो बहुत अच्छा नहीं लगता है।
  • मुझे होस्ट ओएस को फिर से स्थापित करना होगा (जैसा कि पहले कहा गया था कि मुझे वास्तव में करने में कोई दिक्कत नहीं है)

अद्यतन # 1:

एक कारण है कि मैं विधि 2 में VM होस्ट डिस्क स्थान से बाहर निकलने के बारे में चिंतित हूं क्योंकि मुझे नहीं पता है कि क्या VM होस्ट आभासी मशीनों में सभी सेवाओं को चलाने के लिए पर्याप्त शक्तिशाली है, अर्थात। मुझे वर्चुअल मशीन से होस्ट ओएस में कुछ / सभी सेवाओं को स्थानांतरित करना पड़ सकता है।

VM होस्ट हार्डवेयर विनिर्देश:

  • फेनोम II 955 X4 ब्लैक एडिशन प्रोसेसर (3.2GHz, 4-कोर CPU)
  • 2x4GB किंग्स्टन PC3-10600 DDR3 रैम
  • गीगाबाइट GA-880GM-USB3 मदरबोर्ड
  • 4x WD कैवियार RE3 500GB SATA II HDDs (7200rpm)
  • एंटेक BP500U बासीक 500W ATX बिजली की आपूर्ति
  • कूलरमैस्टर सीएम 690 मामला

अद्यतन # 2:

एक कारण है कि मुझे लगता है कि सिस्टम वीजी का उपयोग करने के लिए डिज़ाइन नहीं किया जा सकता है क्योंकि विधि 1 में एक libvirt संग्रहण पूल के रूप में कुछ व्यवहार है जो मैंने गुण-प्रबंधक में देखा है:

  • जोड़ने पर, यह शिकायत करता है कि यह वीजी को सक्रिय नहीं कर सकता है (जाहिर है, होस्ट ओएस को पहले से ही सक्रिय कर दिया है)
  • हटाने पर, उसने ऐसा करने से इनकार कर दिया क्योंकि यह वीजी को निष्क्रिय नहीं कर सकता था (जाहिर है, क्योंकि मेजबान ओएस अभी भी रूट और स्वप्नलोक का उपयोग कर रहा है)

मैंने एक प्रश्न (# २24२३२४) किया जहाँ आपके समाधान # १ का बहुत अच्छा उत्तर रहा होगा! और यह वही है जो मैं एक समान सेटअप में गया था - और मैं इसके साथ बहुत खुश हूं। हालाँकि मुझे एक समस्या है जहाँ अतिथि के भीतर डिस्कियो वैसे ही धीमी है जैसे कि "लूप-बढ़ते" मेजबान में एक ही एल.वी.
स्टॉल्सविक

जवाबों:


3

सुविचारित प्रश्न!

मैं मेथड 2 के साथ जाऊंगा, लेकिन यह एक व्यक्तिगत प्राथमिकता है। मुझे करने के लिए, विधि 2 विपक्ष एक समस्या के बहुत नहीं हैं। जब तक आप उस पर अतिरिक्त सामान स्थापित नहीं करना शुरू कर देते हैं, तब तक मैं होस्ट ओएस को अपने 5-10 जीबी विभाजन से बाहर नहीं देखता, जो आपको वास्तव में नहीं करना चाहिए। सादगी और सुरक्षा की खातिर, मेजबान ओएस वास्तव में एक नंगे न्यूनतम स्थापित होना चाहिए, प्रशासन के लिए आवश्यक नंगे न्यूनतम के अलावा कुछ भी नहीं चल रहा है (जैसे sshd)।

विधि 1 विपक्ष वास्तव में या तो कोई समस्या नहीं है, IMO। मुझे नहीं लगता कि कोई अतिरिक्त सुरक्षा जोखिम होगा, क्योंकि अगर कोई रूट वीएम किसी तरह अपने विभाजन से बाहर निकलने और अन्य विभाजन को संक्रमित / नुकसान पहुंचा सकता है, तो एक अलग वीजी पर होस्ट ओएस होने से कोई फर्क नहीं पड़ सकता है। अन्य दो विपक्ष कुछ ऐसे नहीं हैं जिन्हें मैं प्रत्यक्ष अनुभव से बोल सकता हूं, लेकिन मैं अपने पेट का कहना है कि CentOS, LVM, और libvirt लचीले हैं और उनकी चिंता नहीं करने के लिए पर्याप्त मजबूत हैं।

EDIT - अपडेट 1 का जवाब

इन दिनों, वर्चुअलाइजेशन का प्रदर्शन बहुत कम है, विशेष रूप से इसके लिए समर्थन में निर्मित प्रोसेसर का उपयोग करना, इसलिए मुझे नहीं लगता कि अतिथि वीएम से एक सेवा को होस्ट ओएस में स्थानांतरित करना कभी भी करने योग्य होगा। आपको "नंगे धातु" पर चलने से 10% की गति को बढ़ावा मिल सकता है , लेकिन आप एक छोटे, तंग, सुरक्षित मेजबान ओएस के लाभ खो देंगे, और संभवतः पूरे सर्वर की स्थिरता को प्रभावित करेंगे। इसके लायक नहीं, आई.एम.ओ.

इस के प्रकाश में, मैं अभी भी विधि 2 का पक्ष लूंगा।

अद्यतन 2 का जवाब

ऐसा लगता है कि libvirt मान लेता है कि भंडारण का विशेष तरीका अभी भी पक्ष में है। विधि 2: मेरी सिफारिश है: Method 2 के साथ जाएं।


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

@mosno: आपके अपडेट के जवाब में मेरा उत्तर अपडेट किया गया।
स्टीवन सोमवार

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

1
इसके अलावा, मैं अभी के लिए विधि 1 के साथ रह रहा हूं क्योंकि मुझे लगता है कि इस पद्धति की सीमाओं का पता लगाना शैक्षिक होगा। उदाहरण के लिए, मुझे पता चला कि यदि अतिथि OS में आप सीधे डिवाइस पर LVM PG बनाते हैं (जैसे कि विभाजन / dev / vda1 के बजाय डिवाइस / dev / vda), तो होस्ट OS 'pvscan मेहमानों के PV (यानी) को सूचीबद्ध करता है। उपयोग / देव / vda1, नहीं / देव / vda)।
मॉसनो

1

जब तक कोई भी सिस्टम किसी भी समय दिए गए एलवी को रीड / राइट मोड में उपयोग करने का प्रयास करता है, तब तक होस्ट और मेहमानों के लिए एक ही वीजी का उपयोग करना संभव है। यदि कई सिस्टम एक ही LV में लिखने का प्रयास करते हैं तो फ़ाइल सिस्टम के भ्रष्टाचार का परिणाम होगा।


इसे प्रबंधित करने के लिए निश्चित रूप से जटिलता का बढ़ा हुआ स्तर है। होशियार है..शायद बहुत चालाक है।
यूनिक्स जेनेटर

@ user37899: यह एलवीएम को संभालने का सामान्य तरीका है
जेवियर

धन्यवाद, लेकिन मैं समझता हूं कि; मैं ऐसा करने की योजना नहीं बना रहा था।
मस्नो

जब मैं होस्ट OS पर "lvscan" करता हूं, तो यह अतिथि के LV को "ACTIVE" के रूप में रिपोर्ट करता है। होस्ट में LV माउंट नहीं है। क्या LV केवल "ACTIVE" स्थिति में है, "रीड / राइट मोड" का गठन करता है, या क्या आपका मतलब होस्ट के फाइल सिस्टम के लिए एक स्पष्ट माउंट है?
1

मेरा मतलब स्पष्ट आर / डब्ल्यू माउंट है।
इग्नासियो वाज़क्वेज़-अब्राम्स

1

आप शायद इस पर एक नज़र रखना चाहते हैं, शायद टिंकर और देखें कि यह परियोजना कैसे करती है जिसके बारे में आप बात कर रहे हैं।

ProxmoxVE एक नंगे धातु केवीएम होस्ट है जो आरएचईएल के भारी समकक्ष के बजाय कामेच्छा के एक प्रतिरूप का उपयोग करता है। यह दोनों परिदृश्यों को लागू करता है।

वर्चुअल डिस्क .raw और विरल हैं, .qcow के समान लेकिन तेज़।

Qcow और vmdk डिस्क छवि प्रारूप भी समर्थित हैं, लेकिन मुझे लगता है कि इसमें LVM सीमाएँ शामिल हो सकती हैं। मैं उनका उपयोग नहीं करता इसलिए मैं उस बारे में ज्यादा नहीं कह सकता।

LVM स्टोरेज नोड पर VMs के बीच साझा किया जाता है, और DRBD डिवाइस हो सकता है।

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

PVE का LVM संग्रहण विवरण:

http://pve.proxmox.com/wiki/Storage_Model#LVM_Groups_with_Network_Backing

इस तरह से वीजी को कैसे लगाया जाता है:

मेटाडेटा प्रकार lvm2 का उपयोग करके मात्रा समूह "LDatastore1" मिला

मेटाडेटा प्रकार lvm2 का उपयोग करके मात्रा समूह "LDatastore0" मिला

मेटाडेटा प्रकार lvm2 का उपयोग करके मात्रा समूह "pve" मिला

ये मेरे LV हैं:

ACTIVE '/ dev / LDatastore1 / vm-9098-disk-1' [4.00 GB] वारिस

सक्रिय '/ देव / LDatastore1 / vm-7060-disk-1' [2.00 GB] विरासत में मिला

सक्रिय '/ dev / LDatastore1 / vm-5555-disk-1' [8.00 GB] वारिस

सक्रिय '/ देव / LDatastore0 / vm-4017-disk-1' [8.00 GB] विरासत

सक्रिय '/ देव / LDatastore0 / vm-4017-disk-2' [512.00 GB] विरासत

सक्रिय '/ देव / LDatastore0 / vm-7057-disk-1' [32.00 GB] वारिस

सक्रिय '/ देव / LDatastore0 / vm-7055-disk-1' [32.00 GB] वारिस

सक्रिय '/ देव / LDatastore0 / vm-6030-disk-1' [80.01 GB] विरासत में मिला

सक्रिय '/ देव / pve / स्वैप' [3.62 GB] वारिस

सक्रिय '/ देव / pve / रूट' [7.25 GB] वारिस

सक्रिय '/ देव / pve / डेटा' [14.80 GB] वारिस

यह LVM है जो 6 के 710 आरपीएम सीगेट बाराकुडा एसएटीए ड्राइव से बना है।

CPU BOGOMIPS: 53199.93

REGEX / सेकंड: 824835

HD आकार: 19.69 GB (/ dev / mapper / LDatastore0-testlv)

प्रकाशित किए गए लेख: 315.17 MB / सेकंड

एवरेज सीक टाइम: 7.18 एमएस

FSYNCS / सेकंड: 2439.31

और यह एक एकल Intel X25-E SATA SSD पर LVM है, वही VG उक्त / dev / pve / डेटा के रूप में जहां VMs रहते हैं:

CPU BOGOMIPS: 53203.97

REGEX / सेकंड: 825323

एचडी आकार: 7.14 जीबी (/ देव / मैपर / पीवे-रूट)

प्रकाशित किए गए लेख: 198.52 एमबी / सेकंड

AVERAGE SEEK TIME: 0.26 मि

FSYNCS / सेकंड: 1867.56

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