ओपनवीजेड: Difference between revisions
No edit summary |
No edit summary |
||
Line 32: | Line 32: | ||
== गिरी == | == गिरी == | ||
ओपनवीजेड गिरी लिनक्स गिरी है, जिसे ओपनवीजेड कंटेनरों के लिए समर्थन जोड़ने के लिए संशोधित किया गया है। संशोधित गिरी वर्चुअलाइजेशन, अलगाव, संसाधन प्रबंधन और [[आवेदन चेकपॉइंटिंग|आवेदन संकेत जाँच करना]] प्रदान करता है। | ओपनवीजेड गिरी लिनक्स गिरी है, जिसे ओपनवीजेड कंटेनरों के लिए समर्थन जोड़ने के लिए संशोधित किया गया है। संशोधित गिरी वर्चुअलाइजेशन, अलगाव, संसाधन प्रबंधन और [[आवेदन चेकपॉइंटिंग|आवेदन संकेत जाँच करना]] प्रदान करता है। वीजेडसीटीएल 4.0 के रूप में ओपनवीजेड कम विशेषता संग्रह के साथ पैच न किया गया लिनक्स 3.x गिरी के साथ काम कर सकता है।<ref>{{cite web | last = Kolyshkin | first = Kir | title = OpenVZ turns 7, gifts are available! | work = OpenVZ Blog | date = 6 October 2012 | url = http://openvz.livejournal.com/42793.html | access-date = 2013-01-17}}</ref> | ||
Revision as of 14:02, 25 February 2023
x64px | |
File:ओपनवीजेड 2.png | |
Developer(s) | वर्चुओजो और ओपनवीजेड समुदाय |
---|---|
Written in | सी |
Operating system | लिनक्स |
Platform | x86, x86-64 |
Available in | अंग्रेज़ी |
Type | ओएस-लेवल वर्चुअलाइजेशन |
License | जीपीएलवी2 |
Website | ओपनवीजेड |
ओपनवीजेड (ओपेन विरचोज़ज़ो) लिनक्स के लिए ऑपरेटिंग-प्रणाली-स्तरीय वर्चुअलाइजेशन तकनीक है। यह भौतिक सर्वर को कई पृथक ऑपरेटिंग प्रणाली उदाहरण चलाने की अनुमति देता है, जिन्हें कंटेनर वर्चुअल स्वगत सर्वर (वीपीएस), वर्चुअल वातावरण (वीई) कहा जाता है। ओपनवीजेड सोलारिस कंटेनर और एलएक्ससी के समान है।
अन्य वर्चुअलाइजेशन तकनीकों की तुलना में ओपनवीजेड
जबकि वीएम.डब्ल्यूएआरई, एक्सईएन और गिरी-आधारित वर्चुअल मशीन जैसी वर्चुअलाइजेशन तकनीकें पूर्ण वर्चुअलाइजेशन प्रदान करती हैं। कई ऑपरेटिंग प्रणाली और विभिन्न गिरी संस्करण चला सकती हैं। ओपनवीजेड लिनक्स गिरी का उपयोग करता है और इसलिए केवल लिनक्स चला सकता है। सभी ओपनवीजेड कंटेनर समान स्थापत्य और गिरी संस्करण सहभाजीत करते हैं। यह उन स्थितियों में नुकसान हो सकता है जहां अतिथि को आतिथेय के गिरी संस्करण से भिन्न गिरी संस्करण की आवश्यकता होती है। चूंकि, क्योंकि इसमें सच्चे सूत्र का ओवरहेड नहीं है, यह बहुत तेज़ और कुशल है।[1]ओपनवीजेड के साथ मेमोरी आवंटन उस मेमोरी में नरम है जो वर्चुअल वातावरण में उपयोग नहीं किया जाता है। डिस्क बफर के लिए उपयोग किया जा सकता है, जबकि ओपनवीजेड के पुराने संस्करण सामान्य फ़ाइल प्रणाली का उपयोग करते थे। जहाँ प्रत्येक वर्चुअल वातावरण फ़ाइलों की निर्देशिका है जो कि क्रोट का उपयोग करके अलग किया जाता है। ओपनवीजेड के वर्तमान संस्करण प्रत्येक कंटेनर को अपनी फ़ाइल प्रणाली रखने की अनुमति देते हैं।[2]
गिरी
ओपनवीजेड गिरी लिनक्स गिरी है, जिसे ओपनवीजेड कंटेनरों के लिए समर्थन जोड़ने के लिए संशोधित किया गया है। संशोधित गिरी वर्चुअलाइजेशन, अलगाव, संसाधन प्रबंधन और आवेदन संकेत जाँच करना प्रदान करता है। वीजेडसीटीएल 4.0 के रूप में ओपनवीजेड कम विशेषता संग्रह के साथ पैच न किया गया लिनक्स 3.x गिरी के साथ काम कर सकता है।[3]
वर्चुअलाइजेशन और अलगाव
प्रत्येक कंटेनर अलग इकाई है और बड़े पैमाने पर भौतिक सर्वर के रूप में व्यवहार करता है। प्रत्येक का अपना है।
फाइलें:
प्रणाली पुस्तकालय (कम्प्यूटिंग), अनुप्रयोग प्रक्रिया सामग्री, वर्चुअलाइज्ड /proc
और /sys
, वर्चुअलाइज्ड लॉक (कंप्यूटर साइंस), आदि।
उपयोगकर्ता और समूह:
प्रत्येक कंटेनर का अपना सुपर उपयोगकर्ता होता है, साथ ही अन्य उपयोगकर्ता (कंप्यूटिंग) और समूह (कंप्यूटिंग)।
प्रक्रिया वृक्ष:
कंटेनर केवल अपनी प्रक्रिया (कंप्यूटिंग) देखता है (से शुरू होता है init
). प्रक्रिया पहचानकर्ताओं का वर्चुअलाइजेशन किया जाता है, ताकि init PID 1 जैसा होना चाहिए।
- नेटवर्क
- वर्चुअल कंप्यूटर नेटवर्किंग डिवाइस, जो कंटेनर को अपना आईपी पता रखने की अनुमति देता है, साथ ही नेटफिल्टर/आईपीटेबल्स|नेटफिल्टर (
iptables
), और मार्ग नियम।
उपकरण: यदि आवश्यक हो, तो किसी भी कंटेनर को वास्तविक उपकरणों जैसे नेटवर्क इंटरफ़ेस नियंत्रक, आनुक्रमिक द्वार, डिस्क विभाजन आदि तक पहुंच प्रदान की जा सकती है।
आईपीसी ऑब्जेक्ट्स: सहभाजीत मेमोरी (इंटरप्रक्रिया कम्युनिकेशन), सेमाफोर (प्रोग्रामिंग), संदेश देना
संसाधन प्रबंधन
ओपनवीजेड संसाधन प्रबंधन में चार घटक होते हैं: दो-स्तरीय डिस्क कोटा, उचित CPU अनुसूचक, डिस्क I/O अनुसूचक, और उपयोगकर्ता बीन काउंटर (नीचे देखें)। इन संसाधनों को कंटेनर रन टाइम (प्रोग्राम जीवनचक्र चरण) के दौरान बदला जा सकता है, जिससे बूटिंग की आवश्यकता समाप्त हो जाती है।
दो-स्तरीय डिस्क कोटा
प्रत्येक कंटेनर का अपना डिस्क कोटा हो सकता है, जिसे डिस्क ब्लॉक और इनोड्स (मोटे तौर पर फाइलों की संख्या) के संदर्भ में मापा जाता है। कंटेनर के भीतर, UNIX प्रति-उपयोगकर्ता और प्रति-समूह डिस्क कोटा सेट करने के लिए मानक टूल का उपयोग करना संभव है।
सीपीयू अनुसूचक
ओपनवीजेड में CPU शेड्यूलर फेयर-शेयर शेड्यूलिंग रणनीति का दो-स्तरीय कार्यान्वयन है।
पहले स्तर पर, प्रति-कंटेनर cpuunits मानों के आधार पर, अनुसूचक यह तय करता है कि किस कंटेनर को CPU टाइम स्लाइस देना है। दूसरे स्तर पर मानक लिनक्स अनुसूचक निर्धारित करता है कि मानक लिनक्स प्रक्रिया प्राथमिकताओं का उपयोग करके उस कंटेनर में कौन सी प्रक्रिया को चलाना है।
प्रत्येक कंटेनर में सीपीयू के लिए अलग-अलग मान निर्धारित करना संभव है। वास्तविक CPU समय इन मानों के अनुपात में वितरित किया जाएगा।
उपरोक्त के अलावा, ओपनवीजेड प्रदान करता है[4] के तरीके:
- सख़्त CPU सीमा निर्धारित करें, जैसे कि कुल CPU समय का 10% (
--cpulimit
); - कंटेनर के लिए उपलब्ध CPU कोर की संख्या सीमित करें (
--cpus
); - कंटेनर को सीपीयू के विशिष्ट सेट से बांधें (
--cpumask
).
आई/ओ अनुसूचक
ऊपर वर्णित CPU अनुसूचक के समान, ओपनवीजेड में I/O अनुसूचक|I/O अनुसूचक भी दो-स्तरीय है, जेन्स ्सबो के CFQ I/O अनुसूचक का इसके दूसरे स्तर पर उपयोग करता है।
प्रत्येक कंटेनर को I/O प्राथमिकता दी जाती है, और अनुसूचक निर्दिष्ट प्राथमिकताओं के अनुसार उपलब्ध I/O बैंडविड्थ वितरित करता है। इस प्रकार कोई ल कंटेनर I/O चैनल को संतृप्त नहीं कर सकता है।
उपयोगकर्ता बीन काउंटर
उपयोगकर्ता बीनकाउंटर्स प्रति-कंटेनर काउंटरों, सीमाओं और गारंटी का सेट है, जिसका उद्देश्य ल कंटेनर को प्रणाली संसाधनों पर अधिकार करने से रोकना है। वर्तमान ओपनवीजेड गिरी (RHEL6-आधारित 042stab*) में दो प्राथमिक पैरामीटर (रैम और स्वैप, a.k.a. physpages और swappages) हैं, और अन्य वैकल्पिक हैं।[5]
अन्य संसाधन ज्यादातर मेमोरी और विभिन्न इन-गिरी ऑब्जेक्ट हैं जैसे कि शेयर्ड मेमोरी (इंटरप्रक्रिया कम्युनिकेशन) | इंटर-प्रक्रिया कम्युनिकेशन शेयर्ड मेमोरी सेगमेंट और नेटवर्क बफ़र्स। प्रत्येक संसाधन से देखा जा सकता है /proc/user_beancounters
और इसके साथ जुड़े पांच मूल्य हैं: वर्तमान उपयोग, अधिकतम उपयोग (कंटेनर के जीवनकाल के लिए), बाधा, सीमा और असफल काउंटर। बाधा और सीमा का अर्थ पैरामीटर-निर्भर है; संक्षेप में, उन्हें सॉफ्ट लिमिट और हार्ड लिमिट के रूप में माना जा सकता है। यदि कोई संसाधन सीमा तक पहुँचता है, तो उसके लिए विफल काउंटर बढ़ा दिया जाता है। यह मालिक को कंटेनर में /proc/user_beancounters की निगरानी करके समस्याओं का पता लगाने की अनुमति देता है।
संकेत जाँच करना और लाइव माइग्रेशन
अप्रैल 2006 के मध्य में ओपनवीजेड के लिए लाइव माइग्रेशन और एप्लिकेशन संकेत जाँच करना सुविधा जारी की गई थी। यह कंटेनर को बंद किए बिना भौतिक सर्वर से दूसरे भौतिक सर्वर पर ले जाना संभव बनाता है। प्रक्रिया को संकेत जाँच करना के रूप में जाना जाता है: कंटेनर जमे हुए है और इसकी पूरी स्थिति डिस्क पर फ़ाइल में सहेजी जाती है। इस फाइल को फिर दूसरी मशीन में स्थानांतरित किया जा सकता है और कंटेनर को वहां अनफ्रीज (रिस्टोर) किया जा सकता है; देरी लगभग कुछ सेकंड है। क्योंकि स्थिति सामान्यतः पूरी तरह से संरक्षित होती है, यह विराम सामान्य कम्प्यूटेशनल विलंब प्रतीत हो सकता है।
सीमाएं
डिफ़ॉल्ट रूप से, ओपनवीजेड वास्तविक भौतिक उपकरणों तक कंटेनर की पहुंच को प्रतिबंधित करता है (इस प्रकार कंटेनर को हार्डवेयर-स्वतंत्र बनाता है)। ओपनवीजेड व्यवस्थापक विभिन्न वास्तविक उपकरणों, जैसे डिस्क ड्राइव, USB पोर्ट, के लिए कंटेनर ्सेस को सक्षम कर सकता है।[6] पीसीआई डिवाइस[7] या भौतिक नेटवर्क कार्ड।[8]
/dev/loopN
अक्सर तैनाती में प्रतिबंधित होता है (चूंकि लूप डिवाइस गिरी थ्रेड्स का उपयोग करते हैं जो सुरक्षा समस्या हो सकती है), जो डिस्क छवियों को माउंट करने की क्षमता को प्रतिबंधित करता है। वर्क-अराउंड यूजरस्पेस में फाइलप्रणाली का उपयोग करना है।
ओपनवीजेड PPP (जैसे PPTP/L2TP) और TUN/TAP पर आधारित केवल कुछ VPN तकनीक प्रदान करने तक सीमित है। IPsec गिरी 2.6.32 के बाद से कंटेनरों के अंदर समर्थित है।
2007 में EasyVZ नामक ग्राफिकल यूज़र इंटरफ़ेस का प्रयास किया गया था,[9] लेकिन यह संस्करण 0.1 से आगे नहीं बढ़ा। संस्करण 3.4 तक, प्रॉक्समॉक्स वर्चुअल एनवायरनमेंट को जीयूआई के साथ ओपनवीजेड-आधारित सर्वर वर्चुअलाइजेशन वातावरण के रूप में इस्तेमाल किया जा सकता है, चूंकि बाद के संस्करण एलएक्ससी में बदल गए।
यह भी देखें
- प्लेटफॉर्म वर्चुअलाइजेशन सॉफ्टवेयर की तुलना
- ऑपरेटिंग-प्रणाली-लेवल वर्चुअलाइजेशन
- प्रॉक्समॉक्स वर्चुअल एनवायरनमेंट
संदर्भ
- ↑ "Performance Evaluation of Virtualization Technologies for Server Consolidation". Archived from the original on 2009-01-15.
- ↑ "Ploop - OpenVZ Linux Containers Wiki". Archived from the original on 2012-03-26.
- ↑ Kolyshkin, Kir (6 October 2012). "OpenVZ turns 7, gifts are available!". OpenVZ Blog. Retrieved 2013-01-17.
- ↑ vzctl(8) man page, CPU fair scheduler parameters section, http://openvz.org/Man/vzctl.8#CPU_fair_scheduler_parameters
- ↑ "VSwap - OpenVZ Linux Containers Wiki". Archived from the original on 2013-02-13.
- ↑ vzctl(8) man page, Device access management subsection, http://wiki.openvz.org/Man/vzctl.8#Device_access_management
- ↑ vzctl(8) man page, PCI device management section, http://wiki.openvz.org/Man/vzctl.8#PCI_device_management
- ↑ vzctl(8) man page, Network devices section, http://wiki.openvz.org/Man/vzctl.8#Network_devices_control_parameters
- ↑ EasyVZ: Grafische Verwaltung für OpenVZ. Frontend für freie Linux-Virtualisierung
बाहरी संबंध
- No URL found. Please specify a URL here or add one to Wikidata.