Zen, Z से लिखा जाता है, वह सर्वोत्तम भावना है जो आपके सिर के मुकुट पर होती है जब आप आठ घंटे रोकने के बाद बर्फ में पेशाब करते हैं। Xen, X से लिखा जाता है, एक ओपन-सोर्स वर्चुअलाइजेशन तकनीक है जिस पर आप अपने सेटअप के लिए विचार कर सकते हैं, चाहे घर पर या व्यवसाय में, हालांकि, KVM की तरह, यह कॉर्पोरेट बाजार की ओर अधिक उन्मुख है।
हमारे पास KVM पर कई ट्यूटोरियल रहे हैं, जिसमें परिचय लेख, आपके स्टोरेज और नेटवर्क को सेटअप और कॉन्फिगर करने का तरीका, ब्रिज्ड नेटवर्किंग सहित, और VirtualBox के साथ संघर्ष को हल करने का तरीका शामिल है। अब, Xen के बारे में थोड़ा और जानने का समय है। इसी तरह, मैं आपको अपने वर्चुअल मशीन को इंस्टॉल और चलाने के लिए आवश्यक पहले कदम दिखाऊंगा, सूक्ष्म शब्दावली, GUI और कमांड-लाइन प्रबंधन टूल का उपयोग, वर्चुअलाइजेशन मोड, विभिन्न उपकरण, और बहुत कुछ।

Xen - परिचय
यहां Xen आंतरिक संरचना का एक संक्षिप्त परिचय है। यह अधिकांश प्रौद्योगिकियों से अलग है क्योंकि इसे बूट करने के लिए एक विशेष कर्नेल की आवश्यकता होती है। दूसरे शब्दों में, आपके Linux सिस्टम को GRUB मेनू में एक अलग प्रविष्टि की आवश्यकता होती है। जब इस कर्नेल के संदर्भ से बूट किया जाता है, तो Xen चल सकता है।
इसके अलावा, Xen लेयर्स में काम करता है - जिन्हें डोमेन कहा जाता है। सबसे विशेषाधिकार प्राप्त डोमेन, जिसे Domain0 (dom0) कहा जाता है, स्वयं हाइपरवाइजर है। इस डोमेन के शीर्ष पर बने गेस्ट ऑपरेटिंग सिस्टम DomainU (domU) में चलते हैं।
चीजों को थोड़ा और जटिल बनाने के लिए, Xen के दो मोड भी हैं। पैरावर्चुअलाइजेशन गेस्ट को प्रोसेसर को विशेष कॉल किए बिना चलाने की अनुमति देता है। फुल वर्चुअलाइजेशन, जिसे हार्डवेयर असिस्टेड वर्चुअलाइजेशन (HVM) के रूप में भी जाना जाता है, जो प्रोसेसर वर्चुअलाइजेशन तकनीक (Intel-VT या AMD-V) पर निर्भर करता है, और भी बेहतर प्रदर्शन और विस्तारित सुविधाएं प्रदान करता है।
अधिक विवरण के लिए, कृपया देखें:
Xen on Wikipedia
Xen tutorials on howtoforge.com
पेशेवरों और विपक्ष
कई कारण हैं जिनसे आप Xen चाह सकते हैं। एक, यह मुफ़्त है। दो, यह मजबूत और परिपक्व है और इसमें एक शक्तिशाली, कमांड-लाइन सिंटैक्स है जिसे आसानी से स्क्रिप्ट किया जा सकता है, जिससे प्रशासन का काम आसान हो जाता है। सबसे महत्वपूर्ण, यदि आपके प्रोसेसर में वर्चुअलाइजेशन तकनीक सक्षम नहीं है, तो आप अभी भी उचित प्रदर्शन का आनंद लेंगे, KVM के विपरीत, जो ऐसी परिस्थितियों में रेंगने की गति से चलता है। हालांकि, पैरावर्चुअलाइज़्ड चलाते समय आप कुछ कार्यक्षमता खो देंगे। हम बाद में प्रासंगिक उदाहरण देखेंगे।
दूसरी ओर, Xen VirtualBox या VMware Server की तुलना में अधिक बोझिल है। जबकि दोनों KVM और Xen के लिए समान ग्राफिकल प्रबंधन का उपयोग किया जा सकता है, Xen के साथ नई वर्चुअल मशीन बनाना और इंस्टॉल करना थोड़ा अधिक कठिन है। SUSE एकीकरण इस प्रोसेसर को एक ही समय में आसान और अधिक कठिन दोनों बनाता है। फिर से, हम बाद में उदाहरण देखेंगे।
Xen का एक काफी कठिन लर्निंग कर्व है और कम जानकार उपयोगकर्ताओं को डरा सकता है। जटिल वास्तुकला, लेयर्ड प्रबंधन और इतना सरल नहीं भाषा का संयोजन संभावित ग्राहकों को रोक सकता है, जो अन्य समाधानों की रैखिक सादगी को पसंद कर सकते हैं, जो पूरे ढांचे को एक ही पैकेज में पेश करते हैं।
सबसे बड़ा नकारात्मक पहलू यह है कि इसे बूट करने के लिए अपने स्वयं के कर्नेल की आवश्यकता होती है। KVM के विपरीत, जो केवल कर्नेल में एक मॉड्यूल डालता है, Xen के पास अपना GRUB मेनू एंट्री होना चाहिए। Xen कर्नेल में बूट होने पर, आप uname कमांड चलाते समय एक अलग कर्नेल संस्करण देखेंगे।
टेस्ट प्लेटफॉर्म
Xen SUSE फ्लेवर में प्री-इंस्टॉल्ड आता है, जिसमें openSUSE और SLES शामिल हैं, संस्करण 10.3 से। इसका मतलब है कि इस डिस्ट्रो पर उपयोग और सेटअप काफी सरल होना चाहिए। इसका मतलब यह नहीं है कि आप Xen को अन्य सिस्टम पर उपयोग नहीं कर सकते, लेकिन आपको समस्याओं का सामना करना पड़ सकता है। उदाहरण के लिए, Ubuntu रिपॉजिटरी में Xen टूल्स टूटे हुए हैं और उन्हें स्रोत से संकलित किया जाना चाहिए। RedHat-आधारित डिस्ट्रो में ऐसी समस्याएं नहीं हैं, लेकिन उनकी पसंदीदा वर्चुअलाइजेशन तकनीक KVM है।
दूसरे शब्दों में, यदि आप Xen का उपयोग कर रहे हैं, तो आप SUSE से शुरू करना चाह सकते हैं और संभवतः RedHat। Ubuntu के साथ काम करना अनुकूल हो सकता है, लेकिन सेटअप दर्दनाक हो सकता है, हालांकि यह अकल्पनीय नहीं है।
इस लेख में, मैं आपको SUSE 10.3 और 11.2 पर सेटअप दिखाऊंगा। भविष्य के लेखों में, हम CentOS और Scientific Linux जैसे RedHat-आधारित डिस्ट्रो को टेस्टबेड के रूप में भी उपयोग करेंगे। टेस्टिंग Xen 3.X दिखाता है। हमारे पास जल्द ही Xen 4.0 की समीक्षा भी होगी, जो openSUSE 11.4 के साथ शामिल है। तो टेबल पर और अधिक अच्छाई आने वाली है।
Xen इंस्टॉलेशन
SUSE पर Xen कॉन्फिगर करना बहुत आसान है। YaST > Virtualization > Install Hypervisor and Tools खोलें। सेटअप के दो चरण हैं - आवश्यक पैकेज की इंस्टॉलेशन और बूट मेनू का परिवर्तन और बाद में Xen कर्नेल में बूट।

Xen स्वचालित रूप से ब्रिज्ड नेटवर्किंग भी कॉन्फिगर करेगा, जो बहुत साफ है, क्योंकि आपको डिफॉल्ट KVM इंस्टॉलेशन में यह नहीं मिलता। इसे पूरा होने दें और रीबूट करें।
मूल रूप से, बस इतना ही। हम Xen का उपयोग करने के लिए तैयार हैं।
GRUB2 से Xen बूट
कृपया ध्यान दें कि यदि आप GRUB2 के साथ SUSE को चेनलोड कर रहे हैं, तो आपको Xen कर्नेल के लिए एक विशेष प्रविष्टि बनाने की आवश्यकता होगी, जिसे OS प्रोब स्क्रिप्ट द्वारा स्वचालित रूप से नहीं जोड़ा जा सकता है। प्रविष्टि मानक बूट स्टैंज़ा से अलग दिखती है।
GRUB2 कैसे काम करता है इसकी विशिष्टताओं में जाए बिना, जैसा कि आप इसे समझाने वाले पूरे ट्यूटोरियल को पढ़ सकते हैं, यहां वह खंड है जिस पर आपको ध्यान देने की आवश्यकता है। मानक linux, initrd प्रविष्टियों का उपयोग करने के बजाय, आपको आवश्यकता है:
multiboot /boot/xen.gz
module /boot/vmlinuz-xen <options>
module /boot/initrd-xen
बेशक, सटीक पथ को अपने इंस्टॉलेशन, डिवाइस, आदि से मिलान करने के लिए समायोजित करें। यहां मेरे टेस्ट मशीन पर यह कैसा दिखता है इसका स्क्रीनशॉट:
Xen का उपयोग करना
अब, हम Virtual Machine Manager (VMM) शुरू करेंगे, जिससे हम अपने KVM ट्यूटोरियल से परिचित हैं, और हम अपनी खुद की पहली वर्चुअल मशीन बनाएंगे। वार्मअप के रूप में, हम GUI टूल्स का उपयोग करेंगे और बाद में सीखेंगे कि Xen कमांड लाइन का उपयोग करके समान कैसे प्राप्त करें।
मैं आपको दो सेटअप दिखाऊंगा - एक SUSE 10 पर चलने वाली मशीन पर, KDE चल रहा है और फुल वर्चुअलाइजेशन का उपयोग कर रहा है, दूसरा SUSE 11 पर चलने वाली मशीन पर, Gnome चल रहा है और पैरावर्चुअलाइजेशन का उपयोग कर रहा है। इसलिए GUI छवियों के मिश्रण की अपेक्षा करें।

VMM चल रहा है
हम जो पहले से जानते हैं उससे बहुत समान:
वर्चुअल मशीन बनाएं
आप या तो YaST से उपयोगिता लॉन्च करके या कमांड लाइन से vm-create चलाकर GUI का उपयोग करके वर्चुअल मशीन बना सकते हैं। कृपया ध्यान दें कि यह VMM + KVM पर Ubuntu से कुछ अलग है, जिसे हमने हाल ही में देखा था, जहां हमारे पास प्रबंधन के भीतर से वर्चुअल मशीन बनाने की क्षमता थी।
अनुकूलन
एक बार जब आप सारांश अनुभाग तक पहुंच जाते हैं, तो आप जो भी आवश्यक हो उसे अनुकूलित कर सकते हैं। बस किसी भी नीले शीर्षक पर क्लिक करें और परिवर्तन करें। उदाहरण के लिए, Disks अनुभाग सामान्य रूप से /var के तहत एक वर्चुअल मशीन इमेज की ओर इशारा करेगा। इसके बजाय, आप dd के साथ अपना खुद का बना सकते हैं और उन्हें कहीं भी रख सकते हैं, साथ ही CD-ROM या ISO इमेज का उपयोग कर सकते हैं, जिनकी आपको पहली इंस्टॉलेशन के लिए आवश्यकता है। यहां विभिन्न विकल्प दिखाने वाले स्क्रीनशॉट का एक मुट्ठी भर है:
हम चलाने के लिए तैयार हैं।
वर्चुअल मशीन चल रही है
आपने वर्चुअल मशीन को कैसे कॉन्फिगर किया है, इस पर निर्भर करते हुए, Virt Viewer (virt-viewer) शुरू होना चाहिए और वर्चुअल मशीन की प्रगति प्रदर्शित करनी चाहिए। हमारे मामले में, हम Fedora 14 लाइव सत्र में बूट कर रहे हैं।
VMM में स्थिति यहां है:
शुरुआत के लिए बुरा नहीं, एह? अब, आपके पास डिस्क पर वर्चुअल मशीन कॉन्फिगरेशन भी बनाई गई है और इसे Xen सिंटैक्स समझने और अन्य मशीनों के लिए टेम्पलेट के रूप में उपयोग करने दोनों के लिए उपयोग किया जा सकता है।
कमांड लाइन
अब, आइए Xen की एक बार फिर जांच करें, इस बार उचित CLI उपयोगकर्ताओं के रूप में। इसमें कुछ खास नहीं है, और अगर आपने KVM का उपयोग किया है, तो आप सिंटैक्स को काफी आसानी से पालन कर पाएंगे। मैन पेज भी काफी विस्तृत हैं और इसमें कुछ अच्छे उदाहरण शामिल हैं।
वास्तव में, आप /etc/xen/examples के तहत वर्चुअल मशीन टेम्पलेट पा सकते हैं। वर्चुअल मशीन फाइलें /etc/xen/vm के तहत जाती हैं। बस उन्हें कॉपी करें और xm create का उपयोग करके अपनी मशीन बनाएं।
यहां हमारा Fedora 14 कॉन्फिगरेशन है:
ध्यान देने योग्य महत्वपूर्ण निर्देश:
builder="hvm" - यदि आपका प्रोसेसर वर्चुअलाइजेशन का समर्थन नहीं करता है, तो आप इस सुविधा का उपयोग नहीं कर पाएंगे, आपको इस निर्देश को linux पर सेट करना होगा। लेकिन फिर, आप कुछ कार्यक्षमता खो देंगे।
boot="d" - बहुत प्रति-सहज रूप से, d पहले CD-ROM है, c डिस्क है, जाओ पता लगाओ।
disk= - किसी भी प्रकार के स्टोरेज को निर्दिष्ट करता है। डिवाइस का क्रम निर्धारित करेगा कि वे वर्चुअल मशीन द्वारा कैसे देखे और उपयोग किए जाते हैं। अक्षर r और w रीड-ओनली और रीड/राइट मोड को दर्शाते हैं।
अधिक जानकारी के लिए, कृपया xm मैन पेज पढ़ें। फिर, यदि आप अपने कॉन्फिगरेशन का उपयोग करने के लिए तैयार हैं, तो बस निष्पादित करें:
xm create <vm name>
और यह आपके VMM में एक नए डोमेन के रूप में रजिस्टर हो जाएगा। यदि आप कॉन्फिगरेशन फाइलों का उपयोग नहीं करना चाहते हैं, कहते हैं परीक्षण के दौरान, तो आप वर्चुअल मशीन को ऑन-द-फ्लाई बना सकते हैं। उदाहरण के लिए:
xm create /dev/null \
name=Debian \
kernel=/boot/vmlinuz-2.6-xen \
disk=file:/tmp/debian.img,sda1,w \
root=/dev/sda1 memory=256 vcpus=1
हम एक नया कॉन्फिगरेशन बनाते हैं जिसे कहीं भी लिखा नहीं जाएगा, इसलिए /dev/null। हम /boot/ के तहत एक विशेषाधिकार प्राप्त Xen कर्नेल का उपयोग करेंगे, जिसमें हार्डवेयर और क्या नहीं के लिए सभी ड्राइवर हैं। वैकल्पिक रूप से, यदि आपके पास एक छोटा, xenU कर्नेल है, तो आप इसका उपयोग कर सकते हैं, खासकर यदि आप पैरावर्चुअलाइजेशन का उपयोग कर रहे हैं। अगला, हम मेमोरी, वर्चुअल CPU की संख्या और स्टोरेज आवंटित करते हैं। अंत में, हम अपनी वर्चुअल मशीन के लिए रूट डिवाइस सेट करते हैं।
आप virt-install इंस्टॉल और उपयोग भी कर सकते हैं वर्चुअल मशीन बनाने के लिए। virt-install इंटरएक्टिव मोड में चल सकता है, सवाल पूछता है, जो आपके लिए काफी सुविधाजनक हो सकता है। इसके अलावा, यदि आप KVM का उपयोग कर रहे हैं, तो आप सिंटैक्स से परिचित हैं।
अन्य चीजें
कुछ और विवरण उल्लेख के लायक ...
पैरावर्चुअलाइजेशन
यह काम करता है, लेकिन कुछ बड़े मुद्दों के बिना नहीं, मुझे कहना होगा। यदि आपका प्रोसेसर वर्चुअलाइजेशन का समर्थन नहीं करता है, तो आप Xen को इसके कुछ कार्यों और विकल्पों के साथ असहयोगी पा सकते हैं। उदाहरण के लिए, मैं पैरावर्चुअलाइज़्ड मोड में CD से बूट करने में सक्षम नहीं था ज्यादातर समय। या यूं कहें, मैं बहुत सारे ट्वीकिंग और फिडलिंग और परिवर्तनों के बाद ऐसा करने में सक्षम था, प्रक्रिया में कुछ कार्यक्षमता खो दी और क्या नहीं।
यह एक बहुत बड़ा माइनस है। वेब इस बारे में प्रश्नों और उत्तरों से गूंज रहा है, जिसमें पागल हैक शामिल हैं जैसे अपना खुद का HTTP सर्वर बनाना, लूपबैक डिवाइस के माध्यम से ISO इमेज माउंट करना, माया देवताओं से प्रार्थना करना, और बहुत कुछ, इनमें से कुछ विधियां सफल या लागू करने में आसान भी नहीं हैं। हम इसे अलग से और अधिक चर्चा करेंगे। मैं आपको दिखाऊंगा कि कैसे आप बाधाओं के बावजूद पैरावर्चुअलाइजेशन के साथ जा सकते हैं, और समझाएंगे कि आप वैसे भी ऐसा क्यों नहीं करना चाहते।
अधिक पढ़ना
अगर आप बहादुर हैं और अपने Ubuntu पर Xen चलाना चाहते हैं, तो Community Documentation आज़माएं।
आप virtuatopia.com पर यह बहुत विस्तृत Xen विकी भी पसंद कर सकते हैं।
Xen प्रबंधन टूल्स - हम इनमें से कई पर अलग-अलग लेखों में चर्चा करेंगे।
openSUSE Xen पेज और Xen VM Server कैसे इंस्टॉल करें।
अंत में, वर्चुअलाइजेशन पर एक योग्य ब्लॉग: blog.bodhizazen.net, सिर्फ Xen नहीं।
निष्कर्ष
जैसा कि आप देख सकते हैं, Xen एक राक्षस नहीं है, हालांकि यह नए उपयोगकर्ताओं के लिए डराने वाला हो सकता है। कुछ जटिल बुनियादी ढांचा Xen के उपयोग के खिलाफ एक निवारक हो सकता है। लेकिन अगर आप ध्यान केंद्रित करते हैं, तो आप महसूस करेंगे कि यह इतना नाटकीय नहीं है। अतिरिक्त कर्नेल प्राप्त करें, उन्हें अपने बूटलोडर में जोड़ें, Xen में बूट करें, अपने वर्चुअल मशीन को प्रबंधित करने के लिए ग्राफिकल और कमांड लाइन टूल्स का उपयोग करें। SUSE पर, Xen ऑपरेटिंग सिस्टम के साथ शामिल है, जिससे चीजें आसान हो जाती हैं।
KVM की तुलना में, Xen उपयोग करने में थोड़ा अधिक जटिल है, लेकिन आपको शुरुआत से ही ब्रिज्ड नेटवर्किंग मिलती है, और अन्य प्रौद्योगिकियों के साथ कोई संघर्ष नहीं होता। पैरावर्चुअलाइजेशन मोड, इसके जो भाग काम करते हैं, KVM के साथ एमुलेशन मोड की तुलना में बेहतर प्रदर्शन प्रदान करते हैं। फुल वर्चुअलाइजेशन मोड में, दोनों समाधान काफी आसान और उपयोगी हैं। सबसे महत्वपूर्ण, मुझे उम्मीद है कि इस ट्यूटोरियल ने कुछ धुंध साफ कर दी है।
सीक्वल लेखों में, हम Xen के लिए अतिरिक्त प्रबंधन टूल्स के बारे में जानेंगे, स्टैंडअलोन Xen Cloud Platform पर एक नज़र डालेंगे और यहां तक कि लाइव संस्करण का परिचय देंगे। हां, Xen लाइव CD से चल सकता है, वूट। मुझे आशा है कि आपने इसका आनंद लिया। मिलते हैं।
चीयर्स।