लिनक्स कंटेनर और लिनक्स हाइपरवाइज़र क्या है?


10

मैंने स्टैकएक्सचेंज साइट को देखा लेकिन कुछ भी नहीं मिला। मैंने लिनक्स कंटेनर पर विकिपीडिया प्रविष्टि https://en.wikipedia.org/wiki/LXC और साथ ही हाइपरविजर https://en.wikipedia.org/wiki/Hypervisor पर देखा, लेकिन दोनों का स्पष्टीकरण एक व्यक्ति से परे है काम नहीं किया है या तो समझ जाएगा। मैंने http://www.linux.com/news/enterprise/cloud-computing/785769-containers-vs-hypervisers-the-battle-has-just-begun भी देखी लेकिन वह भी इसकी व्याख्या नहीं करता।

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

क्या कुछ लोग समझा सकते हैं कि हाइपरवाइजर और * निक्स कंटेनर क्या है (यदि संभव हो तो उपमाओं के साथ)।
क्या वर्चुअल मशीन के समान * निक्स हाइपरवाइजर है या इसमें कोई अंतर है?

जवाबों:


9

एक वर्चुअल मशीन (VM) कई वर्चुअलाइजेशन तकनीकों के लिए एक सामान्य शब्द है।

वर्चुअलाइजेशन तकनीकों पर कई विविधताएं हैं, लेकिन मुख्य हैं:

  • हार्डवेयर स्तर वर्चुअलाइजेशन
  • ऑपरेटिंग सिस्टम स्तर वर्चुअलाइजेशन

qemu-kvmऔर VMWareपहले के उदाहरण हैं। वे आभासी वातावरण का प्रबंधन करने के लिए एक हाइपरविजर को नियुक्त करते हैं जिसमें एक पूर्ण ऑपरेटिंग सिस्टम चलता है। उदाहरण के लिए, एक qemu-kvmसिस्टम पर आपके पास एक वीएम चल रहा है फ्रीबीएसडी, दूसरा रनिंग विंडोज, और दूसरा रनिंग लिनक्स।

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

जबकि यह बहुत सुविधाजनक है, इसमें बहुत से ओएस बहुत प्रयास किए बिना स्थापित हो जाएंगे, इसमें एक खामी है कि हाइपरविजर को सभी हार्डवेयर का अनुकरण करना होगा, जो चीजों को धीमा कर सकता है। एक विकल्प पैरा-वर्चुअलाइज्ड हार्डवेयर है, जिसमें एक नए वर्चुअल डिवाइस और ड्राइवर को उस अतिथि के लिए विकसित किया जाता है जिसे वर्चुअल वातावरण में प्रदर्शन के लिए डिज़ाइन किया गया है। qemu-kvmइसके लिए virtioउपकरणों और ड्राइवरों की श्रेणी प्रदान करें। इसका नकारात्मक पक्ष यह है कि अतिथि OS का समर्थन किया जाना चाहिए; लेकिन अगर समर्थित है, तो प्रदर्शन लाभ महान हैं।


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

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

कंटेनर आमतौर पर एक का उपयोग करके बनाया जाता है chroot। इसके /साथ काम करने के लिए एक अलग निजी रूट ( ) बनाता है । कई अलग-अलग निजी जड़ें, प्रक्रियाएं (वेब-सर्वर, या एक लिनक्स डिस्ट्रो, आदि) बनाकर अपने स्वयं के अलग-अलग फाइल सिस्टम में चलते हैं। अधिक उन्नत तकनीकें, cgroupsजैसे कि नेटवर्क और रैम जैसे अन्य संसाधनों को अलग कर सकती हैं।


दोनों के लिए पेशेवरों और विपक्ष हैं और कई लंबी बहस चल रही है जो सबसे अच्छा है।

  • कंटेनर हल्के होते हैं, जिसमें प्रत्येक के लिए एक पूर्ण ओएस स्थापित नहीं होता है; हाइपरवाइजर्स के लिए यह मामला है। इसलिए वे कम ऐन्टेना हार्डवेयर पर चल सकते हैं। हालांकि, वे केवल लिनक्स मेहमान (लिनक्स होस्ट पर) चला सकते हैं। इसके अलावा, क्योंकि वे कर्नेल साझा करते हैं, इस बात की संभावना है कि एक समझौता कंटेनर दूसरे को प्रभावित कर सकता है।
  • हाइपरविजर अधिक सुरक्षित हैं और विभिन्न OS चला सकते हैं क्योंकि प्रत्येक VM में एक पूर्ण OS स्थापित है और मेहमानों को अन्य VM के बारे में पता नहीं है। हालांकि, यह मेजबान पर अधिक संसाधनों का उपयोग करता है, जो अपेक्षाकृत शक्तिशाली होना चाहिए।

2

कंटेनर एक चेरोट वातावरण जैसा होता है, सिवाय इसके कि वह उपयोगकर्ताओं के अधिक पूर्ण अलगाव को प्राप्त करता है। यह एक वास्तविक वीएम प्रदान नहीं करता है, लेकिन एक आभासी ऑपरेटिंग सिस्टम। वीएम कई मशीनों का भ्रम पैदा करते हैं, जिनमें से प्रत्येक के भीतर एक वास्तविक, पूर्ण ऑपरेटिंग सिस्टम चल सकता है जैसे कि नंगे धातु पर। "पूर्ण ऑपरेटिंग सिस्टम" यहां एक कर्नेल शामिल है। कुछ VMs (जैसे QEMU ) यहां तक ​​कि "नंगे धातु" आर्किटेक्चर के विभिन्न प्रकारों को उत्तेजित करने की अनुमति देते हैं।

इसके बजाय कंटेनर कई गुठली का भ्रम पैदा करते हैं, जिनमें से प्रत्येक एक पूर्ण उपयोगकर्तालैंड चल रहा है। आप, उदाहरण के लिए, एक कंटेनर में डेबियन और दूसरे में आर्क चला सकते हैं, इसलिए कंटेनर के भीतर का परिप्रेक्ष्य एक वीएम के समान है। हालाँकि, आप केवल एक वास्तविक कर्नेल के साथ एक OS उपयोक्ता को चला सकते हैं, इस मामले में, लिनक्स। यह असली वीएम से अलग है, जहां आप एक स्वतंत्र कर्नेल चला सकते हैं और इसलिए किसी भी तरह का ऑपरेटिंग सिस्टम।

इसलिए सच्चे वीएम कंटेनर की तुलना में अधिक महंगे, संसाधन के लिहाज से महत्वपूर्ण हैं; यदि आपको प्रत्येक वीएम में अलग-अलग कर्नेल की आवश्यकता नहीं है, तो आप कंटेनर का उपयोग कर सकते हैं।

अन्य वर्चुअलाइजेशन सिस्टम हैं जो एलएक्सई के समान कुछ करते हैं, जैसे कि ओपन वीजेड , व्यापक रूप से वीपीएस विक्रेताओं द्वारा उपयोग किया जाता है। एक ओपनवीजेड वीपीएस एक स्वतंत्र उपयोगकर्ताभूमि है जो अपने होस्ट ओएस के कर्नेल का उपयोग करता है। यही कारण है कि इस तरह के वीपीएस लिनक्स स्वादों के एक समूह में आते हैं, लेकिन कुछ और नहीं; उन्हें होस्ट कर्नेल के साथ संगत होना चाहिए।

OpenVZ और LXC स्टाइल वर्चुअलाइजेशन को ऑपरेटिंग सिस्टम स्तर वर्चुअलाइजेशन कहा जाता है ।

हाइपरविजर एक ऐसी प्रणाली है जो वर्चुअल मशीनों, जैसे वर्चुअलबॉक्स , क्यूईएमयू या एक्सईएन का प्रबंधन करती है । कुछ हाइपरवाइज़र, जैसे कि एक्सईएन, नंगे धातु पर चलते हैं और उन्हें होस्ट ओएस की आवश्यकता नहीं होती है (हालांकि उन्हें नियंत्रण इंटरफ़ेस के रूप में काम करने के लिए होस्टेड ओएस की आवश्यकता हो सकती है)। VirtualBox और QEMU जैसे अन्य, एक होस्ट ओएस के अंदर चलते हैं। कुछ, जैसे कि QEMU, विभिन्न मशीन आर्किटेक्चर का अनुकरण करने की अनुमति देते हैं; अन्य, जैसे कि VirtualBox, (नहीं, VM आर्किटेक्चर हमेशा वास्तविक होस्ट के समान है)। आर्किटेक्चर के अनुकरण के लिए अधिक संसाधनों की आवश्यकता होती है, जैसे वास्तविक VMs को कंटेनरों की तुलना में अधिक संसाधनों की आवश्यकता होती है।

हाइपरविजर स्टाइल वर्चुअलाइजेशन को प्लेटफॉर्म स्तर वर्चुअलाइजेशन कहा जाता है

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