सोलारिस कंटेनर

सोलारिस कंटेनर (सोलारिस ज़ोन सहित) x86 और स्पार्क सिस्टम के लिए ऑपरेटिंग सिस्टम-स्तरीय वर्चुअलाइजेशन तकनीक का एक कार्यान्वयन है, जिसे पहली बार फरवरी 2004 में सोलारिस 10 के बिल्ड 51 बीटा में और बाद में सोलारिस 10, 2005 के पहले पूर्ण रिलीज़ में सार्वजनिक रूप से रिलीज़ किया गया था। यह इलुमोस (पूर्व में ओपनसोलर) वितरण में मौजूद है, जैसे कि ओपनइंडियाना, स्मार्टओएस, ट्रिब्लिक्स और ओमनीओएस, साथ ही आधिकारिक ओरेकल सोलारिस (ऑपरेटिंग सिस्टम) 11 रिलीज में।

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

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

बाद में, धीरे-धीरे ऐसा हुआ कि सोलारिस कंटेनरों को विशेष रूप से अतिरिक्त संसाधन प्रबंधन के साथ या बिना गैर-वैश्विक क्षेत्रों के लिए संदर्भित किया गया। वैश्विक क्षेत्र द्वारा होस्ट किए गए क्षेत्रों को गैर-वैश्विक क्षेत्र के रूप में जाना जाता है लेकिन कभी-कभी उन्हें केवल क्षेत्र कहा जाता है। स्थानीय क्षेत्र शब्द को विशेष रूप से हतोत्साहित किया जाता है, क्योंकि इस प्रयोग में स्थानीय वैश्विक का विलोम नहीं है। वैश्विक क्षेत्र में सिस्टम पर सभी संसाधनों की दृश्यता होती है, चाहे ये वैश्विक क्षेत्र या गैर-वैश्विक क्षेत्र से जुड़े हों। जब तक अन्यथा उल्लेख नहीं किया जाता है, ज़ोन इस लेख में गैर-वैश्विक क्षेत्रों को संदर्भित करेगा।

शब्दावली को सरल बनाने के लिए, ओरेकल ने सोलारिस 11 में कंटेनर शब्द का उपयोग छोड़ दिया है, और संसाधन प्रबंधन नियंत्रणों के उपयोग के बावजूद सोलारिस ज़ोन शब्द का उपयोग वापस कर दिया है।

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


 * कॉन्फ़िगर किया गया: कॉन्फ़िगरेशन पूर्ण और प्रतिबद्ध था।
 * अधूरा: इंस्टॉल या अनइंस्टॉल ऑपरेशन के दौरान संक्रमण स्थिति।
 * स्थापित: संकुल सफलतापूर्वक स्थापित किया गया है।
 * तैयारः वर्चुअल प्लेटफॉर्म तैयार हो चुका है।
 * चल रहा है: ज़ोन सफलतापूर्वक बूट हुआ और अब चल रहा है।
 * शट डाउन: जोन बंद करने की प्रक्रिया में है – यह एक अस्थायी स्थिति है, जो डाउन की ओर ले जाती है।
 * डाउन: ज़ोन ने शट डाउन प्रक्रिया पूरी कर ली है और डाउन है – यह एक अस्थायी स्थिति है, जो स्थापित की ओर ले जाती है।

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

संसाधनों की जरूरत
ज़ोन सीपीयू और मेमोरी पर बहुत कम ओवरहेड उत्पन्न करते हैं। अधिकांश प्रकार के क्षेत्र वैश्विक क्षेत्र के आभासी पता स्थान को साझा करते हैं। एक निश्चित उपयोग की गारंटी के लिए एक क्षेत्र को एक संसाधन पूल (प्रोसेसर सेट प्लस शेड्यूलिंग क्लास) को सौंपा जा सकता है, या एक निश्चित गणना क्षमता (कैप्ड सीपीयू) पर कैप किया जा सकता है या फेयर-शेयर शेड्यूलिंग के माध्यम से शेयर दिए जा सकते हैं। वर्तमान में एक ऑपरेटिंग सिस्टम उदाहरण के भीतर अधिकतम 8191 गैर-वैश्विक क्षेत्र बनाए जा सकते हैं। विरल क्षेत्र, जिसमें अधिकांश फ़ाइल सिस्टम सामग्री को वैश्विक क्षेत्र के साथ साझा किया जाता है, 50 एमबी डिस्क स्थान जितना कम ले सकता है। संपूर्ण रूट ज़ोन, जिसमें प्रत्येक ज़ोन की अपनी ऑपरेटिंग सिस्टम फ़ाइलों की अपनी प्रति होती है, स्थापित सॉफ़्टवेयर के आधार पर कई सौ मेगाबाइट से लेकर कई गीगाबाइट तक हो सकती है। 8191 की सीमा 8,192 लूपबैक कनेक्शन प्रति सोलारिस उदाहरण की सीमा से उत्पन्न होती है। प्रत्येक जोन को लूपबैक कनेक्शन की आवश्यकता होती है। गैर-वैश्विक क्षेत्रों के लिए 8,191 छोड़कर वैश्विक क्षेत्र को एक मिलता है।

संपूर्ण रूट ज़ोन के साथ भी, डिस्क स्थान की आवश्यकता नगण्य हो सकती है यदि ज़ोन का OS फ़ाइल सिस्टम वैश्विक ज़ोन छवि का ZFS क्लोन है, क्योंकि केवल स्नैपशॉट छवि से भिन्न ब्लॉक को डिस्क पर संग्रहीत करने की आवश्यकता होती है; यह विधि कुछ ही सेकंड में नए क्षेत्र बनाना भी संभव बनाती है।

ब्रांडेड जोन
हालांकि सिस्टम पर सभी जोन एक सामान्य कर्नेल साझा करते हैं, एक अतिरिक्त फीचर सेट को ब्रांडेड जोन (लघु के लिए ब्रैंडजेड) कहा जाता है। यह अलग-अलग क्षेत्रों को वैश्विक क्षेत्र के डिफ़ॉल्ट ब्रांड के अलावा अन्य तरीके से व्यवहार करने की अनुमति देता है। मौजूदा ब्रांड (अक्टूबर 2009) को दो श्रेणियों में बांटा जा सकता है:

ज़ोन के निर्माण के समय ज़ोन के लिए ब्रांड सेट किया जाता है। दूसरी श्रेणी OS कर्नेल के भीतर इंटरपोज़िशन पॉइंट्स के साथ कार्यान्वित की जाती है जिसका उपयोग syscalls, प्रक्रिया (कंप्यूटिंग) लोडिंग, थ्रेड (कंप्यूटर विज्ञान) निर्माण, और अन्य तत्वों के व्यवहार को बदलने के लिए किया जा सकता है।
 * ब्रांड जो सिस्टम कॉल ट्रांसलेशन नहीं करते हैं:
 * Solaris 10 के लिए 'मूल' डिफ़ॉल्ट है
 * 'ipkg' OpenSolaris, OpenIndiana, और OmniOS के लिए डिफ़ॉल्ट है
 * 'जॉयंट' स्मार्टओएस के लिए डिफ़ॉल्ट है
 * 'क्लस्टर' का उपयोग सोलारिस क्लस्टर जोन के लिए किया जाता है
 * 'लेबल' का उपयोग सोलारिस विश्वसनीय एक्सटेंशन वातावरण में क्षेत्रों के लिए किया जाता है
 * ब्रांड्स जो सिस्टम कॉल ट्रांसलेशन करते हैं:
 * 'सोलारिस8' सोलारिस 10 सिस्टम पर सोलारिस 8 वातावरण प्रदान करता है, जिसमें सोलारिस 8 सिस्टम कॉल से सोलारिस 10 सिस्टम कॉल में अनुवाद शामिल है (केवल स्पार्क सिस्टम पर उपलब्ध)
 * 'सोलारिस9' सोलारिस 10 सिस्टम पर सोलारिस 9 वातावरण प्रदान करता है, जिसमें सोलारिस 9 सिस्टम कॉल से सोलारिस 10 सिस्टम कॉल (केवल स्पार्क सिस्टम पर उपलब्ध) में अनुवाद शामिल है।
 * 'lx' Solaris 10 सिस्टम पर Red Hat Enterprise Linux 3 वातावरण प्रदान करता है, जिसमें RHEL 3 सिस्टम कॉल से Solaris 10 सिस्टम कॉल (केवल x86 सिस्टम पर उपलब्ध) में अनुवाद शामिल है। स्मार्टओएस पर, एलएक्स ब्रांड जोन उबंटू, डेबियन, सेंटोस, अल्पाइन और अन्य सहित अधिकांश आधुनिक लिनक्स वितरण के लिए रनटाइम प्रदान कर सकता है। LX समर्थन को इलुमोस में अपस्ट्रीम नहीं किया गया है।
 * 's10brand' एक OpenSolaris या Oracle Solaris 11 सिस्टम पर Solaris 10 वातावरण प्रदान करता है, जिसमें Solaris 10 सिस्टम कॉल से OpenSolaris/Oracle Solaris 11 सिस्टम कॉल में अनुवाद शामिल है
 * 'सोलारिस-केजे' ओरेकल सोलारिस 11.2 या नए सिस्टम पर अपने स्वयं के कर्नेल और स्वतंत्र पैकेज के साथ एक अलग सोलारिस 11.2 या नया उदाहरण प्रदान करता है। यह सुविधा सबसे पहले Solaris 11.2 बीटा (सार्वजनिक डाउनलोड) में सार्वजनिक रूप से उपलब्ध थी।

'Lx' ब्रांड के लिए, Red Hat 3 से लाइब्रेरी या समकक्ष वितरण जैसे कि CentOS को एमुलेटेड वातावरण को पूरा करने की आवश्यकता होती है।

दस्तावेज़ीकरण
सोलारिस ऑपरेटिंग सिस्टम डिफ़ॉल्ट रूप से सोलारिस कंटेनरों के लिए मैन पेज प्रदान करता है; अधिक विस्तृत दस्तावेज़ीकरण विभिन्न ऑनलाइन तकनीकी संसाधनों पर पाया जा सकता है।

सोलारिस ज़ोन के लिए पहला प्रकाशित दस्तावेज़ और हैंड्स-ऑन संदर्भ फरवरी 2004 में डेनिस क्लार्क द्वारा ब्लास्टवेव में लिखा गया था, जो आरंभ करने के लिए आवश्यक चीजें प्रदान करता है। जुलाई 2005 में ब्रेंडन ग्रेग द्वारा इस दस्तावेज़ का बहुत विस्तार किया गया। सोलारिस 8 और सोलारिस 9 कंटेनरों को डेनिस क्लार्क द्वारा अप्रैल 2008 में फिर से ब्लास्टवेव में विस्तार से प्रलेखित किया गया था। सन माइक्रोसिस्टम्स मार्केटिंग द्वारा अनुवर्तन में। जेफ विक्टर, और अन्य द्वारा लिखी गई पुस्तक Oracle Solaris 10 सिस्टम वर्चुअलाइजेशन एसेंशियल, फीचर विवरण और सर्वोत्तम अभ्यास प्रदान करती है। अधिक व्यापक दस्तावेज़ीकरण Oracle दस्तावेज़ साइट पर पाया जा सकता है।

कार्यान्वयन के मुद्दे
Solaris 10 10/08 के अनुसार, ब्रांडेड ज़ोन Sun4us आर्किटेक्चर (Fujitsu PRIMEPOWER सर्वर) पर पैकेज FJSVs8brandr और FJSVs9brandr के माध्यम से समर्थित हैं।

यह भी देखें

 * ऑपरेटिंग सिस्टम-स्तरीय वर्चुअलाइजेशन
 * प्लेटफॉर्म वर्चुअलाइजेशन सॉफ्टवेयर की तुलना
 * आभाषी दुनिया
 * आभाषी दुनिया

बाहरी संबंध

 * Documentation for Solaris Zones (Containers)
 * Document How to Get Started Creating Oracle Solaris Zones in Oracle Solaris 11
 * Blogs devoted to Oracle Solaris Zones
 * Jeff Victor's Blog
 * Mike Gerdts' Blog
 * Moving Solaris 10 Zones
 * Key patent:, and also as