ओपनवीजेड: Difference between revisions

From Vigyanwiki
No edit summary
No edit summary
Line 61: Line 61:


===संसाधन प्रबंधन===
===संसाधन प्रबंधन===
ओपनवीजेड संसाधन प्रबंधन में चार घटक होते हैं: दो-स्तरीय डिस्क कोटा, उचित CPU अनुसूचक, डिस्क I/O अनुसूचक, और उपयोगकर्ता बीन काउंटर (नीचे देखें)। इन संसाधनों को कंटेनर रन टाइम (प्रोग्राम जीवनचक्र चरण) के दौरान बदला जा सकता है, जिससे [[बूटिंग]] की आवश्यकता समाप्त हो जाती है।
ओपनवीजेड संसाधन प्रबंधन में चार घटक होते हैं। दो-स्तरीय डिस्क कोटा, उचित सीपीयू अनुसूचक, डिस्क आई / अनुसूचक और उपयोगकर्ता पैसे का काउंटर (नीचे देखें)। इन संसाधनों को कंटेनर चलाने का समय प्रोग्राम जीवनचक्र चरण के उपरांत बदला जा सकता है, जिससे [[बूटिंग]] की आवश्यकता समाप्त हो जाती है।


==== दो-स्तरीय [[डिस्क कोटा]] ====
==== दो-स्तरीय [[डिस्क कोटा]] ====
प्रत्येक कंटेनर का अपना डिस्क कोटा हो सकता है, जिसे डिस्क ब्अवरोध और [[इनोड्स]] (मोटे तौर पर फाइलों की संख्या) के संदर्भ में मापा जाता है। कंटेनर के भीतर, UNIएक्स प्रति-उपयोगकर्ता और प्रति-समूह डिस्क कोटा सेट करने के लिए मानक टूल का उपयोग करना संभव है।
प्रत्येक कंटेनर का अपना डिस्क कोटा हो सकता है, जिसे डिस्क अवरोध और [[इनोड्स]] मोटे प्रकार से फाइलों की संख्या के संदर्भ में मापा जाता है। कंटेनर के भीतर, यूनिक्स प्रति-उपयोगकर्ता और प्रति-समूह डिस्क कोटा सेट करने के लिए मानक उपकरण का उपयोग करना संभव है।


== सीपीयू अनुसूचक ==
== सीपीयू अनुसूचक ==
ओपनवीजेड में CPU शेड्यूलर [[फेयर-शेयर शेड्यूलिंग]] रणनीति का दो-स्तरीय कार्यान्वयन है।
ओपनवीजेड में सीपीयू शेड्यूलर [[फेयर-शेयर शेड्यूलिंग]] रणनीति का दो-स्तरीय कार्यान्वयन है।


पहले स्तर पर, प्रति-कंटेनर cpuunits मानों के आधार पर, अनुसूचक यह तय करता है कि किस कंटेनर को CPU टाइम स्लाइस देना है। दूसरे स्तर पर मानक लिनक्स अनुसूचक निर्धारित करता है कि मानक लिनक्स प्रक्रिया प्राथमिकताओं का उपयोग करके उस कंटेनर में कौन सी प्रक्रिया को चलाना है।
पहले स्तर पर, प्रति-कंटेनर सीपीयूयूनिक्सts मानों के आधार पर, अनुसूचक यह तय करता है कि किस कंटेनर को सीपीयू टाइम स्लाइस देना है। दूसरे स्तर पर मानक लिनक्स अनुसूचक निर्धारित करता है कि मानक लिनक्स प्रक्रिया प्राथमिकताओं का उपयोग करके उस कंटेनर में कौन सी प्रक्रिया को चलाना है।


प्रत्येक कंटेनर में सीपीयू के लिए अलग-अलग मान निर्धारित करना संभव है। वास्तविक CPU समय इन मानों के अनुपात में वितरित किया जाएगा।
प्रत्येक कंटेनर में सीपीयू के लिए अलग-अलग मान निर्धारित करना संभव है। वास्तविक सीपीयू समय इन मानों के अनुपात में वितरित किया जाएगा।


उपरोक्त के अलावा, ओपनवीजेड प्रदान करता है<ref>vzctl(8) man page, CPU fair scheduler parameters section, http://openvz.org/Man/vzctl.8#CPU_fair_scheduler_parameters</ref> के तरीके:
उपरोक्त के अलावा, ओपनवीजेड प्रदान करता है<ref>vzctl(8) man page, CPU fair scheduler parameters section, http://openvz.org/Man/vzctl.8#CPU_fair_scheduler_parameters</ref> के तरीके:
* सख़्त CPU सीमा निर्धारित करें, जैसे कि कुल CPU समय का 10% (<code>--cpulimit</code>);
* सख़्त सीपीयू सीमा निर्धारित करें, जैसे कि कुल सीपीयू समय का 10% (<code>--सीपीयूlimit</code>);
* कंटेनर के लिए उपलब्ध CPU कोर की संख्या सीमित करें (<code>--cpus</code>);
* कंटेनर के लिए उपलब्ध सीपीयू कोर की संख्या सीमित करें (<code>--सीपीयूs</code>);
* कंटेनर को सीपीयू के विशिष्ट सेट से बांधें (<code>--cpumask</code>).
* कंटेनर को सीपीयू के विशिष्ट सेट से बांधें (<code>--सीपीयूmask</code>).


==== आई/ओ अनुसूचक ====
==== आई/ओ अनुसूचक ====
ऊपर वर्णित CPU अनुसूचक के समान, ओपनवीजेड में I/O अनुसूचक|I/O अनुसूचक भी दो-स्तरीय है, [[जेन्स एक्सबो|जेन्स ्सबो]] के [[CFQ]] I/O अनुसूचक का इसके दूसरे स्तर पर उपयोग करता है।
ऊपर वर्णित सीपीयू अनुसूचक के समान, ओपनवीजेड में आई / अनुसूचक|आई / अनुसूचक भी दो-स्तरीय है, [[जेन्स एक्सबो|जेन्स ्सबो]] के [[CFQ]] आई / अनुसूचक का इसके दूसरे स्तर पर उपयोग करता है।


प्रत्येक कंटेनर को I/O प्राथमिकता दी जाती है, और अनुसूचक निर्दिष्ट प्राथमिकताओं के अनुसार उपलब्ध I/O बैंडविड्थ वितरित करता है। इस प्रकार कोई ल कंटेनर I/O चैनल को संतृप्त नहीं कर सकता है।
प्रत्येक कंटेनर को आई / प्राथमिकता दी जाती है, और अनुसूचक निर्दिष्ट प्राथमिकताओं के अनुसार उपलब्ध आई / बैंडविड्थ वितरित करता है। इस प्रकार कोई ल कंटेनर आई / चैनल को संतृप्त नहीं कर सकता है।


==== उपयोगकर्ता बीन काउंटर ====
==== उपयोगकर्ता पैसे का काउंटर ====
उपयोगकर्ता बीनकाउंटर्स प्रति-कंटेनर काउंटरों, सीमाओं और गारंटी का सेट है, जिसका उद्देश्य ल कंटेनर को प्रणाली संसाधनों पर अधिकार करने से रोकना है। वर्तमान ओपनवीजेड गिरी (RHEL6-आधारित 042stab*) में दो प्राथमिक पैरामीटर (रैम और स्वैप, a.k.a. physpages और swappages) हैं, और अन्य वैकल्पिक हैं।<ref>{{cite web |url=http://openvz.org/VSwap |url-status=dead |archive-url=https://web.archive.org/web/20130213165243/http://openvz.org/VSwap |archive-date=2013-02-13 |title=VSwap - OpenVZ Linux Containers Wiki}}</ref>
उपयोगकर्ता बीनकाउंटर्स प्रति-कंटेनर काउंटरों, सीमाओं और गारंटी का सेट है, जिसका उद्देश्य ल कंटेनर को प्रणाली संसाधनों पर अधिकार करने से रोकना है। वर्तमान ओपनवीजेड गिरी (RHEL6-आधारित 042stab*) में दो प्राथमिक पैरामीटर (रैम और स्वैप, a.k.a. physpages और swappages) हैं, और अन्य वैकल्पिक हैं।<ref>{{cite web |url=http://openvz.org/VSwap |url-status=dead |archive-url=https://web.archive.org/web/20130213165243/http://openvz.org/VSwap |archive-date=2013-02-13 |title=VSwap - OpenVZ Linux Containers Wiki}}</ref>
अन्य संसाधन ज्यादातर मेमोरी और विभिन्न इन-गिरी ऑब्जेक्ट हैं जैसे कि शेयर्ड मेमोरी (अंतर प्रक्रिया संचार) | अंतर -प्रक्रिया संचार शेयर्ड मेमोरी सेगमेंट और नेटवर्क बफ़र्स। प्रत्येक संसाधन से देखा जा सकता है <code>/proc/user_beancounters</code> और इसके साथ जुड़े पांच मूल्य हैं: वर्तमान उपयोग, अधिकतम उपयोग (कंटेनर के जीवनकाल के लिए), बाधा, सीमा और असफल काउंटर। बाधा और सीमा का अर्थ पैरामीटर-निर्भर है; संक्षेप में, उन्हें सॉफ्ट लिमिट और हार्ड लिमिट के रूप में माना जा सकता है। यदि कोई संसाधन सीमा तक पहुँचता है, तो उसके लिए विफल काउंटर बढ़ा दिया जाता है। यह मालिक को कंटेनर में /proc/user_beancounters की निगरानी करके समस्याओं का पता लगाने की अनुमति देता है।
अन्य संसाधन ज्यादातर मेमोरी और विभिन्न इन-गिरी ऑब्जेक्ट हैं जैसे कि शेयर्ड मेमोरी (अंतर प्रक्रिया संचार) | अंतर -प्रक्रिया संचार शेयर्ड मेमोरी सेगमेंट और नेटवर्क बफ़र्स। प्रत्येक संसाधन से देखा जा सकता है <code>/proc/user_beancounters</code> और इसके साथ जुड़े पांच मूल्य हैं: वर्तमान उपयोग, अधिकतम उपयोग (कंटेनर के जीवनकाल के लिए), बाधा, सीमा और असफल काउंटर। बाधा और सीमा का अर्थ पैरामीटर-निर्भर है; संक्षेप में, उन्हें सॉफ्ट लिमिट और हार्ड लिमिट के रूप में माना जा सकता है। यदि कोई संसाधन सीमा तक पहुँचता है, तो उसके लिए विफल काउंटर बढ़ा दिया जाता है। यह मालिक को कंटेनर में /proc/user_beancounters की निगरानी करके समस्याओं का पता लगाने की अनुमति देता है।

Revision as of 14:34, 25 February 2023

ओपनवीजेड
Developer(s)वर्चुओजो और ओपनवीजेड समुदाय
Written inसी
Operating systemलिनक्स
Platformx86, x86-64
Available inअंग्रेज़ी
Typeओएस-लेवल वर्चुअलाइजेशन
Licenseजीपीएलवी2
Websiteओपनवीजेड.org

ओपनवीजेड (ओपेन विरचोज़ज़ो) लिनक्स के लिए ऑपरेटिंग-प्रणाली-स्तरीय वर्चुअलाइजेशन तकनीक है। यह भौतिक सर्वर को कई पृथक ऑपरेटिंग प्रणाली उदाहरण चलाने की अनुमति देता है, जिन्हें कंटेनर वर्चुअल स्वगत सर्वर (वीपीएस), वर्चुअल वातावरण (वीई) कहा जाता है। ओपनवीजेड सोलारिस कंटेनर और एलएक्ससी के समान है।

अन्य वर्चुअलाइजेशन तकनीकों की तुलना में ओपनवीजेड

जबकि वीएम.डब्ल्यूएआरई, एक्सईएन और गिरी-आधारित वर्चुअल मशीन जैसी वर्चुअलाइजेशन तकनीकें पूर्ण वर्चुअलाइजेशन प्रदान करती हैं। कई ऑपरेटिंग प्रणाली और विभिन्न गिरी संस्करण चला सकती हैं। ओपनवीजेड लिनक्स गिरी का उपयोग करता है और इसलिए केवल लिनक्स चला सकता है। सभी ओपनवीजेड कंटेनर समान स्थापत्य और गिरी संस्करण सहभाजीत करते हैं। यह उन स्थितियों में नुकसान हो सकता है जहां अतिथि को आतिथेय के गिरी संस्करण से भिन्न गिरी संस्करण की आवश्यकता होती है। चूंकि, क्योंकि इसमें सच्चे सूत्र का ओवरहेड नहीं है, यह बहुत तेज़ और कुशल है।[1]ओपनवीजेड के साथ मेमोरी आवंटन उस मेमोरी में नरम है जो वर्चुअल वातावरण में उपयोग नहीं किया जाता है। डिस्क बफर के लिए उपयोग किया जा सकता है, जबकि ओपनवीजेड के पुराने संस्करण सामान्य फ़ाइल प्रणाली का उपयोग करते थे। जहाँ प्रत्येक वर्चुअल वातावरण फ़ाइलों की निर्देशिका है जो कि क्रोट का उपयोग करके अलग किया जाता है। ओपनवीजेड के वर्तमान संस्करण प्रत्येक कंटेनर को अपनी फ़ाइल प्रणाली रखने की अनुमति देते हैं।[2]


गिरी

ओपनवीजेड गिरी लिनक्स गिरी है, जिसे ओपनवीजेड कंटेनरों के लिए समर्थन जोड़ने के लिए संशोधित किया गया है। संशोधित गिरी वर्चुअलाइजेशन, अलगाव, संसाधन प्रबंधन और आवेदन संकेत जाँच करना प्रदान करता है। वीजेडसीटीएल 4.0 के रूप में ओपनवीजेड कम विशेषता संग्रह के साथ पैच न किया गया लिनक्स 3.एक्स गिरी के साथ कार्य कर सकता है।[3]


वर्चुअलाइजेशन और अलगाव

प्रत्येक कंटेनर अलग इकाई है और बड़े पैमाने पर भौतिक सर्वर के रूप में व्यवहार करता है। प्रत्येक का अपना है।

फाइलें:

प्रणाली पुस्तकालय (कम्प्यूटिंग), अनुप्रयोग प्रक्रिया सामग्री, वर्चुअलाइज्ड /proc और /sys, वर्चुअलाइज्ड अवरोध कंप्यूटर विज्ञान आदि।

उपयोगकर्ता और समूह:

प्रत्येक कंटेनर का अपना उत्तम उपयोगकर्ता होता है साथ ही अन्य उपयोगकर्ता (कंप्यूटिंग) और समूह (कंप्यूटिंग)

प्रक्रिया वृक्ष:

कंटेनर केवल अपनी प्रक्रिया (कंप्यूटिंग) देखता है Initसे प्रारंभ होता है प्रक्रिया पहचानकर्ताओं का वर्चुअलाइजेशन किया जाता है, जिससे कि Init पीआईडी 1 जैसा होना चाहिए।

नेटवर्क:
वर्चुअल कंप्यूटर नेटवर्किंग डिवाइस जो कंटेनर को अपना आईपी पता रखने की अनुमति देता है, साथ ही नेट फिल्टर/आईपीटेबल्स | नेट फिल्टर (iptables) और मार्ग नियम।

उपकरण:

यदि आवश्यक हो, तो किसी भी कंटेनर को वास्तविक उपकरणों जैसे नेटवर्क अंतराफलक नियंत्रक, आनुक्रमिक द्वार, डिस्क विभाजन आदि तक पहुंच प्रदान की जा सकती है।

आईपीसी ऑब्जेक्ट्स:

सहभाजीत मेमोरी अंतर प्रक्रिया संचार, सेमाफोर (प्रोग्रामिंग) संदेश देना

संसाधन प्रबंधन

ओपनवीजेड संसाधन प्रबंधन में चार घटक होते हैं। दो-स्तरीय डिस्क कोटा, उचित सीपीयू अनुसूचक, डिस्क आई / ओ अनुसूचक और उपयोगकर्ता पैसे का काउंटर (नीचे देखें)। इन संसाधनों को कंटेनर चलाने का समय प्रोग्राम जीवनचक्र चरण के उपरांत बदला जा सकता है, जिससे बूटिंग की आवश्यकता समाप्त हो जाती है।

दो-स्तरीय डिस्क कोटा

प्रत्येक कंटेनर का अपना डिस्क कोटा हो सकता है, जिसे डिस्क अवरोध और इनोड्स मोटे प्रकार से फाइलों की संख्या के संदर्भ में मापा जाता है। कंटेनर के भीतर, यूनिक्स प्रति-उपयोगकर्ता और प्रति-समूह डिस्क कोटा सेट करने के लिए मानक उपकरण का उपयोग करना संभव है।

सीपीयू अनुसूचक

ओपनवीजेड में सीपीयू शेड्यूलर फेयर-शेयर शेड्यूलिंग रणनीति का दो-स्तरीय कार्यान्वयन है।

पहले स्तर पर, प्रति-कंटेनर सीपीयूयूनिक्सts मानों के आधार पर, अनुसूचक यह तय करता है कि किस कंटेनर को सीपीयू टाइम स्लाइस देना है। दूसरे स्तर पर मानक लिनक्स अनुसूचक निर्धारित करता है कि मानक लिनक्स प्रक्रिया प्राथमिकताओं का उपयोग करके उस कंटेनर में कौन सी प्रक्रिया को चलाना है।

प्रत्येक कंटेनर में सीपीयू के लिए अलग-अलग मान निर्धारित करना संभव है। वास्तविक सीपीयू समय इन मानों के अनुपात में वितरित किया जाएगा।

उपरोक्त के अलावा, ओपनवीजेड प्रदान करता है[4] के तरीके:

  • सख़्त सीपीयू सीमा निर्धारित करें, जैसे कि कुल सीपीयू समय का 10% (--सीपीयूlimit);
  • कंटेनर के लिए उपलब्ध सीपीयू कोर की संख्या सीमित करें (--सीपीयूs);
  • कंटेनर को सीपीयू के विशिष्ट सेट से बांधें (--सीपीयूmask).

आई/ओ अनुसूचक

ऊपर वर्णित सीपीयू अनुसूचक के समान, ओपनवीजेड में आई / ओ अनुसूचक|आई / ओ अनुसूचक भी दो-स्तरीय है, जेन्स ्सबो के CFQ आई / ओ अनुसूचक का इसके दूसरे स्तर पर उपयोग करता है।

प्रत्येक कंटेनर को आई / ओ प्राथमिकता दी जाती है, और अनुसूचक निर्दिष्ट प्राथमिकताओं के अनुसार उपलब्ध आई / ओ बैंडविड्थ वितरित करता है। इस प्रकार कोई ल कंटेनर आई / ओ चैनल को संतृप्त नहीं कर सकता है।

उपयोगकर्ता पैसे का काउंटर

उपयोगकर्ता बीनकाउंटर्स प्रति-कंटेनर काउंटरों, सीमाओं और गारंटी का सेट है, जिसका उद्देश्य ल कंटेनर को प्रणाली संसाधनों पर अधिकार करने से रोकना है। वर्तमान ओपनवीजेड गिरी (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 तक, प्रॉक्समॉक्स वर्चुअल एनवायरनमेंट को जीयूआई के साथ ओपनवीजेड-आधारित सर्वर वर्चुअलाइजेशन वातावरण के रूप में इस्तेमाल किया जा सकता है, चूंकि बाद के संस्करण एलएक्ससी में बदल गए।

यह भी देखें

संदर्भ

  1. "Performance Evaluation of Virtualization Technologies for Server Consolidation". Archived from the original on 2009-01-15.
  2. "Ploop - OpenVZ Linux Containers Wiki". Archived from the original on 2012-03-26.
  3. Kolyshkin, Kir (6 October 2012). "OpenVZ turns 7, gifts are available!". OpenVZ Blog. Retrieved 2013-01-17.
  4. vzctl(8) man page, CPU fair scheduler parameters section, http://openvz.org/Man/vzctl.8#CPU_fair_scheduler_parameters
  5. "VSwap - OpenVZ Linux Containers Wiki". Archived from the original on 2013-02-13.
  6. vzctl(8) man page, Device access management subsection, http://wiki.openvz.org/Man/vzctl.8#Device_access_management
  7. vzctl(8) man page, PCI device management section, http://wiki.openvz.org/Man/vzctl.8#PCI_device_management
  8. vzctl(8) man page, Network devices section, http://wiki.openvz.org/Man/vzctl.8#Network_devices_control_parameters
  9. 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.