Xen PV, Xen KVM और HVM में अंतर?


53

मुझे पता है कि Xen आमतौर पर OpenVZ से बेहतर है क्योंकि प्रदाता Xen में ओवरसेल नहीं कर सकता है। हालाँकि, क्या अंतर है Xen PV, Xen KVMऔर HVMमैं इस प्रदाता के चश्मे के माध्यम से जा रहा था ? कौन से उद्देश्यों के लिए बेहतर है और क्यों?


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

एक अंतिम-उपयोगकर्ता के लिए जो सिर्फ वेबसाइटों की मेजबानी करेगा, जो बेहतर है? कार्यकुशलता या अन्य दृष्टिकोण से, क्या एक के बाद एक लाभ है?

जवाबों:


47

Xen ने वर्चुअलाइजेशन प्रकारों का समर्थन किया

Xen दो अलग-अलग प्रकार के मेहमानों को चलाने का समर्थन करता है। Xen मेहमानों को अक्सर domUs (अनप्रीविलेज डोमेन) कहा जाता है। दोनों अतिथि प्रकार (पीवी, एचवीएम) का उपयोग एक ही एक्सईएन प्रणाली पर एक ही समय में किया जा सकता है।

एक्सएनए परावर्तुलाइज़ेशन (पीवी)

Paravirtualization एक कुशल और हल्के वर्चुअलाइजेशन तकनीक है जिसे Xen ने शुरू किया था, जिसे बाद में अन्य वर्चुअलाइजेशन समाधानों द्वारा भी अपनाया गया। Paravirtualization को होस्ट CPU से वर्चुअलाइजेशन एक्सटेंशन की आवश्यकता नहीं होती है। हालाँकि, paravirtualized मेहमानों को विशेष कर्नेल की आवश्यकता होती है जो कि Xen पर देशी रूप से चलाने के लिए पोर्ट किए जाते हैं, इसलिए मेहमान हाइपरविजर के बारे में जानते हैं और बिना अनुकरण या वर्चुअल एमुलेटेड हार्डवेयर के कुशलतापूर्वक चला सकते हैं। Linux, NetBSD, FreeBSD, OpenSolaris और Novell Netware ऑपरेटिंग सिस्टम के लिए Xen PV अतिथि कर्नेल मौजूद हैं।

पीवी मेहमानों के पास किसी भी प्रकार का वर्चुअल इम्यूलेटेड हार्डवेयर नहीं होता है, लेकिन अतिथि pvfb (paravirtual फ्रेमबफ़र) का उपयोग करके ग्राफिकल कंसोल अभी भी संभव है। पीवी अतिथि ग्राफ़िकल कंसोल को VNC क्लाइंट या रेडहैट के गुण-दर्शक के उपयोग से देखा जा सकता है। प्रत्येक अतिथि के PVFB के लिए dom0 में एक अलग VNC सर्वर है।

अपस्ट्रीम kernel.org लिनक्स कर्नेल। Linux 2.6.24 के बाद से Linux pvops फ्रेमवर्क के आधार पर Xen PV गेस्ट (domU) सपोर्ट शामिल है, इसलिए हर अपस्ट्रीम Linux कर्नेल को बिना किसी अतिरिक्त पैच या संशोधनों के Xen PV अतिथि कर्नेल के रूप में स्वचालित रूप से उपयोग किया जा सकता है।

Linux pvops Xen समर्थन के बारे में अधिक जानकारी के लिए XenParavirtOps विकी पृष्ठ देखें।

Xen पूर्ण वर्चुअलाइजेशन (HVM)

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

प्रदर्शन को पूरी तरह से वर्चुअलाइज्ड करने के लिए एचवीएम मेहमान डिस्क और नेटवर्क IO के लिए अनुकरण को बाईपास करने के लिए विशेष paravirtual डिवाइस ड्राइवरों का उपयोग कर सकते हैं। Xen Windows HVM मेहमान ओपनसोर्स GPLPV ड्राइवरों का उपयोग कर सकते हैं। लिनक्स एचवीएल मेहमानों के लिए एक्सईएन पीवी-ऑन-एचवीएम ड्राइवरों के बारे में अधिक जानकारी के लिए XenLinuxPVonHVMdrivers विकी पृष्ठ देखें।

यह http://wiki.xenproject.org/wiki/XenOverview से है

KVM, Xen बिल्कुल भी नहीं है, यह एक और तकनीक है, जहाँ KVM एक लिनक्स देशी कर्नेल मॉड्यूल है, और अतिरिक्त कर्नेल नहीं है, जैसे कि Xen। जो KVM को एक बेहतर डिज़ाइन बनाता है। यहाँ नकारात्मक पक्ष यह है कि KVM Xen की तुलना में नया है, इसलिए इसमें कुछ सुविधाओं की कमी हो सकती है।


9
+1 KVM Xen बिल्कुल भी नहीं है। यह पूरी तरह से असहमत है कि केवीएम एक बेहतर डिजाइन है। Xen बहुत बेहतर अलगाव प्रदान करता है और लिनक्स कर्नेल पर निर्भर नहीं करता है और यह संभावित भेद्यता है।
एंटोनी बेनकेमोन

2
जानकारी के लिए धन्यवाद! मैं सब समझ नहीं पाया। एंड-यूज़र पॉइंट-ऑफ़-व्यू से, कौन सिर्फ वेबसाइटों की मेजबानी करेगा, जो बेहतर है? क्या एक के बाद एक महत्वपूर्ण लाभ है?

2
Xen की अपनी कमजोरियां हैं। लेकिन दो kernels
बूट के

1
JP19: यह वेबसाइटों पर निर्भर करता है। यदि आप वीपीएस पर लोड को परिभाषित कर सकते हैं, तो आप यहां या Google से सर्वश्रेष्ठ समाधान के लिए पूछ सकते हैं।
डायनासी

2
Xen एक हाइपरविजर है, और ऐसा केवीएम है। केवीएम में पीवी डिवाइस हैं, और समय के साथ और अधिक जुड़ जाता है, यह पीसीआई पस्शरथ की भी अनुमति देता है। इसलिए मैं आपके तर्क को नहीं देखता, Nils
dyasny

32

Xen एक हाइपरविजर है जो धातु (पीसी / सर्वर) पर चलता है और फिर डोमेन नामक वर्चुअल मशीन को होस्ट करता है।

एक Xen PVडोमेन एक paravirtualized डोमेन है , जिसका अर्थ है ऑपरेटिंग सिस्टम (आमतौर पर हम यहां लिनक्स के बारे में बात कर रहे हैं) को Xen के तहत चलाने के लिए संशोधित किया गया है, और वास्तव में हार्डवेयर का अनुकरण करने की कोई आवश्यकता नहीं है। यह जाने का सबसे कुशल तरीका होना चाहिए , प्रदर्शन बुद्धिमान।

एक Xen HVMडोमेन हार्डवेयर उत्सर्जित डोमेन है, जिसका अर्थ है ऑपरेटिंग सिस्टम (लिनक्स, विंडोज, जो भी हो) किसी भी तरह से संशोधित नहीं किया गया है और हार्डवेयर का अनुकरण किया जाता है। यह धीमी गति से है, इसलिए आमतौर पर आप महत्वपूर्ण हार्डवेयर (आमतौर पर डिस्क और नेटवर्क) के लिए अतिथि ओएस में पीवी ड्राइवरों को स्थापित करते हैं, इसलिए एक पूरे के रूप में अतिथि पूरी तरह से वर्चुअलाइज्ड चलेगा लेकिन हार्डवेयर के सबसे प्रदर्शन-महत्वपूर्ण टुकड़े paravirtualized चलाएंगे। हाल के लिनक्स सिस्टम में कर्नेल में डिस्क और नेटवर्क दोनों के लिए pv ड्राइवर हैं, और विंडोज के लिए विभिन्न PV ड्राइवर भी मौजूद हैं। हाल के वर्षों में एचवीएम पर सभी विकास के साथ आमतौर पर एचवीएम और पीवी के बीच मानक वर्कलोड के प्रदर्शन में बहुत कम अंतर है।

KVMएक्सएम नहीं है, यह लिनक्स कर्नेल के अंदर बनाया गया एक और वर्चुअलाइजेशन प्लेटफॉर्म है। एक से अतिथि की दृष्टि यह जैसा दिखता है Xen HVM: अतिथि पूरी तरह से आभासी चलाता है और कुछ भागों पैरावर्चुअलाइज्ड (फिर से, डिस्क और नेटवर्क) को चलाने के लिए विशिष्ट ड्राइवर नहीं है।

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

अतिथि प्रणाली में पीवी ड्राइवरों का उपयोग नहीं करने वाले उपकरणों के लिए वास्तविक हार्डवेयर का अनुकरण करने के लिए एक्सएम एचवीएम और लिनक्स केवीएम दोनों क्यूमू वर्चुअलाइजेशन सॉफ़्टवेयर के कुछ हिस्सों का उपयोग करेंगे।

ज़ेन (पीवी और एचवीएम दोनों) एक भौतिक सर्वर से दूसरे में चल रहे अतिथि का लाइव माइग्रेशन कर सकते हैं, मुझे नहीं पता कि क्या केवीएम भी हो सकता है।

ज़ेन और केवीएम दोनों मेमोरी को ओवरकम नहीं कर सकते हैं, इसलिए आपको आमतौर पर "सच्ची रैम" मिलती है, जबकि वीएमवेयर जैसे अन्य प्लेटफ़ॉर्म डिस्क में गेस्ट रैम का हिस्सा स्वैप कर सकते हैं।

मतभेद हैं लेकिन आमतौर पर विशिष्ट प्रतिष्ठानों पर लागू होते हैं और अन्य लोगों को बिक्री के लिए सामान्य वर्चुअल प्राइवेट सर्वर पर नहीं। उदाहरण के लिए हाल ही में एक्सएन हाइपरवेयर्स ट्रांससेन्ट मेमोरी का समर्थन करते हैं जो मेमोरी उपयोग और अतिथि प्रदर्शन में सुधार कर सकता है यदि अतिथि के पास इसके लिए समर्थन है (लिनक्स कर्नेल> = 3.सोमेस्टिंग)।

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


3
KVM मेमोरी को ओवरऑमिट कर सकता है और इसलिए एक्सएमएल कर सकता है।
dyasny

@dyasny मैं केवीएम के बारे में नहीं जानता, लेकिन मुझे पूरा यकीन है कि ज़ेन शब्द की वास्तविक अर्थों में मेमोरी को ओवरकम नहीं कर सकता है (एक अलग अधिकतम आकार की अनुमति देना अलग बात है)। यदि आपको लगता है कि कृपया अपने स्रोतों को लिंक करें।
ल्यूकहैम

Xen बालूनिंग का समर्थन करता है। इसमें मानक स्वैपिंग जोड़ें और आपके पास पहले से ही कम से कम 2 ओवरकमिट तंत्र हैं। यह 2008 जितना पुराना है: blog.xen.org/index.php/2008/08/27/…
dyasny

3
@dyasny शायद आप एक अधिक से अधिक की अनुमति के रूप में overcommit के बारे में सोचते हैं । AFAIK, का अर्थ है कि वास्तव में मेहमानों को मेजबान में शारीरिक रूप से उपस्थित होने की तुलना में अधिक स्मृति के लिए आवंटित किया गया है, और इसे एक्सएन में लागू नहीं किया गया है। यदि आप मेजबान में भौतिक स्मृति उपलब्ध नहीं है, तो आप एक अतिथि गुब्बारा (जैसे इसे और अधिक मेमोरी दे सकते हैं) को अपवित्र नहीं कर सकते हैं, और यदि आप पहले से ही अपनी सभी होस्ट मेमोरी आवंटित कर चुके हैं (जब तक आप नहीं बढ़ाते हैं तो आप एक नया मेहमान शुरू नहीं कर सकते हैं) मेहमानों को गुब्बारे चलाना, इस प्रकार वास्तव में आवंटित स्मृति को कम करना ताकि आप कुछ भी न करें)।
ल्यूक404404 27'12

1
मुझे लगता है कि ओवरकमिट के बारे में न केवल मेजबान से अधिक शारीरिक रूप से अनुमति है, बल्कि वास्तव में मेजबान की तुलना में भौतिक रूप से अधिक उपयोग कर रहा है। स्वैपिंग भयानक है, लेकिन यह एक ऐसा तंत्र है जो आपको अधिक मेमोरी पेज आवंटित करने की अनुमति देता है, जो शारीरिक रूप से आपके पास होस्ट पर है, चाहे प्रक्रियाओं के लिए, या वीएम के लिए - कोई फर्क नहीं पड़ता। जहाँ तक मैं इस शब्दार्थ में जाऊँगा।
डायएसिनी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.