हमारे पास कई सामान्य ज़ेन समस्याओं पर एक ट्यूटोरियल था जो तब हो सकता है जब आप अपने वातावरण में ज़ेन की कोशिश करते हैं और परीक्षण करते हैं। टिप्स और ट्रिक्स का पहला बैच डिस्प्ले, पायथन वर्जन और मॉड्यूल, रैपर स्क्रिप्ट बदलने और स्पष्ट कमांड चलाने और समस्या निवारण सेवाओं के साथ समस्याओं पर केंद्रित है। पी>
आज, हम गहराई में जाते हैं और कई और समस्याओं को समझने, ठीक करने और उन पर काम करने की कोशिश करते हैं जिनका सामना आपने किया हो या नहीं किया हो। मुझे यह स्वीकार करना चाहिए कि कुछ समाधान थोड़े तदर्थ हो सकते हैं, इसलिए इसके लिए मेरा शब्द न लें, लेकिन मुझे विश्वास है कि वे कुल मिलाकर अच्छी तरह से काम करते हैं। उम्मीद है, हालांकि, इस पढ़ने के बाद आपका एक्सईएन अनुभव अधिक, उह, जेनी होगा। पी>
युक्ति 1:हाइपरविजर होस्ट के लिए VNC कनेक्शन अस्वीकृत या डिस्कनेक्ट हो गया
आपके द्वारा वर्चुअल मशीन मैनेजर (पुण्य-प्रबंधक) शुरू करने के बाद, आपके पास VNC का उपयोग करके अपनी वर्चुअल मशीन की सामग्री को देखने का विकल्प होता है, जो तब संबंधित डोमेन के कंसोल की सामग्री को प्रदर्शित करेगा। अब और फिर, कंसोल खाली हो सकता है और ऊपर शीर्षक में लिखी गई त्रुटि को फेंक सकता है। सवाल, अब आप क्या करते हैं? पी>
पी>
मेरे अनुभव से पता चलता है कि यह किसी भी समय होगा जब अतिथि ऑपरेटिंग सिस्टम पुनरारंभ या शटडाउन हो। एक बार जब आप इसे फिर से चालू करते हैं, तो आपको सामग्री देखने के लिए कंसोल को फिर से खोलना होगा। यदि आप पुण्य-दर्शक का उपयोग करते हैं तो ऐसा ही होता है:
गुण-दर्शक <डोमेन>
एक बार जब डोमेन रीबूट, रीसेट या बंद हो जाता है, तो आप कनेक्शन खो देंगे। इस समय, कंसोल विंडो को पुन:खोलने का सरल समाधान है, या तो गुण-प्रबंधक या गुण-दर्शक के माध्यम से। पी>
वैकल्पिक रूप से, कनेक्शन स्थापित करने के लिए:
virsh vncdisplay <डोमेन>
vncviewer
युक्ति 2:अतिथि के चलने के दौरान vif गायब हो जाता है, कोई और नेटवर्किंग नहीं
ऐसा हो सकता है कि जब आपकी वर्चुअल मशीन चल रही हो, तो वर्चुअल नेटवर्क इंटरफ़ेस, जिसे आमतौर पर vifX.X लेबल किया जाता है, ifconfig सूची से गायब हो जाएगा, आपके अतिथि को एक बेकार ईंट में बदल देगा। पी>
समस्या वर्चुअल मशीन के अंदर प्रासंगिक नेटवर्क इंटरफ़ेस मैक पते में भी प्रकट हो सकती है, जो सभी शून्य में बदल जाती है। और होस्ट (डोम0) पर, आप /var/log/messages में निम्न प्रकार की प्रविष्टियाँ देख सकते हैं:
कर्नेल:[ 109.743854] br0:पोर्ट 2(vif1.0) सीखने की स्थिति में प्रवेश कर रहा है
कर्नेल:[ 109.811880] br0:पोर्ट 3(tap1.0) सीखने की स्थिति में प्रवेश कर रहा है
कर्नेल:[ 117.369189] br0:पोर्ट 3(tap1.0) अक्षम स्थिति में प्रवेश कर रहा है
गिरी:[ 117.398076] डिवाइस Tap1.0 विचित्र मोड छोड़ दिया
कर्नेल:[ 117.398083] br0:पोर्ट 3(tap1.0) अक्षम स्थिति में प्रवेश कर रहा है
कर्नेल:[ 117.815006] br0:पोर्ट 2(vif1.0) अक्षम स्थिति में प्रवेश कर रहा है
कर्नेल:[ 117.850075] br0:पोर्ट 2(vif1.0) अक्षम स्थिति में प्रवेश कर रहा है
तो आप ऐसा कुछ कैसे ठीक करने जा रहे हैं? कई विकल्प हैं। एक, एक कर्नेल अपग्रेड जो रहस्यमय तरीके से समस्या का समाधान कर सकता है। खैर, इतने रहस्यमय तरीके से नहीं, ज़ेन नेटवर्किंग स्टैक में दौड़ की स्थिति को ठीक करना अधिक पसंद है। पी>
दूसरा विकल्प /etc/xen/xend-config.sxp के अंतर्गत स्थित Xen कॉन्फ़िगरेशन फ़ाइल में नेटवर्क सेटिंग्स को ट्वीक करने का प्रयास करना है। इस फ़ाइल में सभी प्रकार के निर्देश हैं, जिसमें ब्रिज और वर्चुअल नेटवर्क इंटरफेस को कैसे सेटअप किया जाए। कई लोग दावा करते हैं कि नेटवर्किंग कुछ छोटी है और आपको अपनी स्वयं की स्क्रिप्ट को मैन्युअल रूप से कॉन्फ़िगर करना चाहिए। पी>
विशेष रूप से, निम्नलिखित निर्देशों को बदलें:
(नेटवर्क-स्क्रिप्ट नेटवर्क-ब्रिज) से (नेटवर्क-स्क्रिप्ट)
इसके अलावा, आपको अपने ब्रिज को मैन्युअल रूप से कॉन्फ़िगर करना चाहिए। परीक्षण के दौरान, आपको brctl और ifconfig कमांड का उपयोग करना चाहिए, और एक बार जब आप आश्वस्त हो जाएं कि आपके परिवर्तन ठोस हैं, तो आपको उन्हें स्थायी रूप से अपनी नेटवर्क स्क्रिप्ट में कमिट करना चाहिए। RedHat और SUSE सिस्टम पर, इसका अर्थ है ifcfg-br
यहां मैन्युअल ब्रिज कॉन्फ़िगरेशन का एक उदाहरण दिया गया है:
बीआरसीटीएल एडबीआर बीआर0
मेनू पर आगे, नेटलूप्स की संख्या को बढ़ाना या घटाना, जिसका अर्थ है कि वर्चुअल उपकरणों के कितने जोड़े बनाए जा सकते हैं। यदि आप ऊपरी सीमा तक पहुँच जाते हैं, तो आप संख्या बढ़ाना चाह सकते हैं। यह /etc/modprobe.d के तहत netloop नामक फ़ाइल बनाकर और अंदर लिखकर किया जाता है:
विकल्प netloop nloopbacks=<कुछ उच्च संख्या, उदा. 16, 32> पी>
या बस इस विकल्प को /etc/modprobe.conf में जोड़ रहा हूँ। पी>
इस विषय पर थोड़ा और पढ़ना:
ज़ेन नेटवर्किंग
समस्या निवारण नोट्स
एक्सईएन के तहत एसएलईएस नेटवर्किंग, समस्या निवारण और सिफारिशें
झंझट मुक्त Xen नेटवर्किंग
लिनक्स नेटवर्किंग बेकार है। एक्सईएन नेटवर्किंग बेकार है। पी>
अतिरिक्त Xen वर्चुअल नेटवर्क ब्रिज
यदि ऐसा होने पर आपको कर्नेल क्रैश का सामना करना पड़ता है, तो ये दो लिंक भी कुछ दिलचस्प हो सकते हैं, अल्ट्रा-गीकनेस से सावधान रहें:
mm/vmalloc.c:2165
[PATCH] मिमी:vmalloc एड्रेस स्पेस पेज टेबल को alloc_vm_area()
नेटलूप की संख्या को शून्य तक कम करके वास्तव में समस्या का समाधान किया जा सकता है। पी>
जब dom0 से जुड़ने और इसे स्थानीय और दूरस्थ रूप से प्रबंधित करने की बात आती है तो libvirt HTTP को बेमानी बना देता है। हालाँकि, आप में से कुछ इस विकल्प में दिलचस्प हो सकते हैं, खासकर यदि आप OpenXenManager जैसे टूल का उपयोग करना चाहते हैं, जो कनेक्ट करने के लिए HTTP/HTTPS का उपयोग करता है। वेब से Xen को एक्सेस करने योग्य बनाने के लिए, आपको xend-config.sxp कॉन्फ़िगरेशन फ़ाइल में कई निर्देशों को संपादित करने की आवश्यकता होगी:
(xend-http-सर्वर हां)
पी>
xend-http-server के लिए नहीं को हाँ में बदलें और सही पोर्ट निर्दिष्ट करें, xend-address उस नेटवर्क इंटरफ़ेस का IP पता निर्दिष्ट करता है जिस पर Xend सुनेगा। यदि आप डिफ़ॉल्ट खाली उद्धरण चिह्न छोड़ते हैं, तो यह सभी उपलब्ध इंटरफेस पर सुनेगा। अगला, कॉन्फ़िगरेशन फ़ाइल पुनः लोड करें:
/etc/init.d/xend रीलोड
और फिर आप वेब एक्सेस का परीक्षण कर सकते हैं:
पी>
उपरोक्त युक्ति का एक परिणाम यह है कि जब आप पुण्य-प्रबंधक का उपयोग करके dom0 से कनेक्ट करने का प्रयास करते हैं तो आपको एक बदसूरत कनेक्शन अस्वीकृत त्रुटि मिल सकती है। पायथन वर्बोज़ होने के लिए कुख्यात है, इसलिए कुरूपता के लिए तैयार रहें। पी>
पी>
पी>
इस समस्या को हल करने के लिए, आपको HTTP एक्सेस को सक्षम करने की आवश्यकता हो सकती है। वैकल्पिक रूप से, आपको अपने आप से पूछने की आवश्यकता है कि ऐसा पहली बार में क्यों होता है। सबसे संभावित कारण यह है कि Xen सेवाओं में से एक नहीं चल रही है, जो गुण-प्रबंधक को लीगेसी पहुंच पर वापस जाने के लिए मजबूर करती है। यदि आप HTTP प्रोटोकॉल का उपयोग नहीं करना चाहते हैं, तो आप यह सुनिश्चित करना चाहेंगे कि आपका सिस्टम विशेष रूप से सभी प्रासंगिक Xen सेवाओं, libvirtd और xend के साथ बूट हो। पी>
जब आप xm create
#xm परीक्षण शुरू करें1
और एक ग्राफिकल समतुल्य:
पी>
इसका आमतौर पर मतलब है कि आपने एक गैर-मौजूद या असमर्थित हार्डवेयर घटक निर्दिष्ट किया है, जैसे नेटवर्क कार्ड या साउंड कार्ड। कृपया अपनी डोमेन कॉन्फ़िगरेशन फ़ाइल की समीक्षा करें, आमतौर पर त्रुटियों के लिए /etc/xen/vm के अंतर्गत संग्रहीत की जाती है। आप /var/log/messages के साथ-साथ Xen त्रुटि लॉग - /var/log/xen/xend.log से भी परामर्श लेना चाह सकते हैं। पी>
अब, यहाँ एक और है:
#xm टेस्ट बनाएं1
ऐसा तब हो सकता है जब आप डोमेन कॉन्फ़िगरेशन फ़ाइल में HVM कर्नेल सेटिंग का उपयोग करके पैरावर्चुअलाइज़्ड अतिथि को चालू करने का प्रयास करते हैं। डिबग और हल करने के लिए काफी तुच्छ। पी>
#xm टेस्ट बनाएं1
आप इसे देख सकते हैं यदि आप किसी अन्य वर्चुअल मशीन द्वारा पहले से उपयोग की जा रही हार्ड डिस्क फ़ाइल का पुन:उपयोग करने का प्रयास करते हैं। वैकल्पिक रूप से, हो सकता है कि आपने इसे लूपबैक डिवाइस के रूप में कहीं पर लगाया हो ताकि इसकी आंतरिक जांच की जा सके। पी>
वीबीडी त्रुटियों की बात करते हुए, यहां एक और है:
#xm टेस्ट बनाएं1
xend.log में दिखाया गया इस तरह के संदेश का एक रूपांतर:
DEBUG (DevController:139) उपकरणों के लिए प्रतीक्षारत vscsi.
यहाँ कारण एक बुरी तरह से निर्दिष्ट हार्ड डिस्क फ़ाइल हो सकते हैं, या फिर, किसी डिवाइस का खराब उपयोग, शायद वर्तनी की त्रुटि के कारण हो सकता है। यह ऊपर सूचीबद्ध पहली त्रुटि के समान है। पी>
अब, एक प्रश्न उत्पन्न हो सकता है कि कैसे पता किया जाए कि vbd किस प्रकार का उपकरण है? सरलतम समाधान के रूप में, आप इसे किसी एक बूट किए गए Xen domU पर सत्यापित कर सकते हैं। सभी उपकरणों को /sys/devices/xen/ के अंतर्गत पाया जा सकता है। उदाहरण के लिए:
#cat /sys/devices/xen/vbd-768/block/hda/hda1/dev
यहाँ हम देखते हैं कि vbd-768 प्रमुख संख्या 3 के साथ एक ब्लॉक डिवाइस है। इसलिए, hda1 3:1 से मेल खाता है, जो तर्क के लिए खड़ा है। एक सेकंड में इस नामकरण के बारे में अधिक। पी>
और एक विशेष वर्चुअल मशीन के लिए एक पूरी सूची:
#ll
अधिक जटिल तरीका संख्या को हेक्साडेसिमल में अनुवाद करना है, और फिर छोटी संख्या के लिए दो सबसे कम महत्वपूर्ण बिट्स और शेष उच्च बिट्स को प्रमुख संख्या के रूप में उपयोग करना है, फिर ऑनलाइन या /usr/src/ के तहत डिवाइस.txt सूची देखें। linux/दस्तावेज़ीकरण सटीक डिवाइस प्रकार को समझने के लिए। उदाहरण के लिए, 768 दशमलव x0300 हेक्सा है, जिसका अर्थ प्रमुख संख्या 3, छोटी संख्या 0 है। यह पहले (शून्य) आईडीई डिवाइस या एचडीए में अनुवाद करता है। इसी तरह, 5632 x1600 में अनुवाद करता है, जिसका अर्थ है प्रमुख, मामूली 16,00 संयोजन, जो ब्लॉक उपकरणों के लिए सीडी-रोम है। जॉली वेल, नहीं? यह पुराना Xen मेलिंग लिस्ट थ्रेड भी दिलचस्प हो सकता है। पी>
अंत में, कुछ हल्का। अपने मेहमानों को बूट करते समय, आप कुछ उन्नत सेटिंग्स को ट्वीक करना चाह सकते हैं। उदाहरण के लिए, आपकी PAE या OpenGL में रुचि हो सकती है। आपको वर्चुअल मशीन विज़ार्ड में सही विकल्पों को चिह्नित करना चाहिए, या वैकल्पिक रूप से, यदि आप कमांड लाइन और वर्चुअल मशीन फ़ाइलों से अच्छी तरह परिचित हैं, तो बस वहां सही स्ट्रिंग्स जोड़ें। पी>
पी>
अंतिम, असूचीबद्ध युक्ति GRUB2 प्रभारी के साथ मल्टी-बूट सिस्टम स्थापित कर रही है। कोई नई बात नहीं है, हमने इसके बारे में परिचयात्मक लेख में बात की है, इसलिए कृपया वहाँ आएँ और एक नज़र डालें। पी>
और हम आज यहीं समाप्त करेंगे। पी>
मेरा मानना है कि पायथन में लिखे गए किसी भी उपकरण को केवल प्रशासकों को नाराज करने और उन्हें परेशान करने के लिए जितना संभव हो उतना त्रुटि वर्बोजिटी के साथ डिज़ाइन किया गया है। Xen इस श्रेणी में आता है, समस्या के बारे में कुछ काफी प्रचुर और भद्दे संदेशों के साथ यह सामना कर रहा है। तुच्छ नहीं, कम से कम कहने के लिए। पी>
फिर भी उम्मीद है, यह ट्यूटोरियल आपके कुछ काम का था। मुझे यह स्वीकार करना चाहिए कि यहाँ त्रुटि के लिए काफी गुंजाइश है। आप इन सुझावों को लागू करने की कोशिश कर सकते हैं और बुरी तरह विफल हो सकते हैं, क्रोध और निराशा महसूस कर सकते हैं। ऐसा इसलिए है क्योंकि वास्तव में सैकड़ों अलग-अलग परिदृश्य हैं जो आपको प्रभावित कर सकते हैं, प्रत्येक थोड़ा अलग है। भले ही, कुछ सुझाव उपयोगी होने चाहिए। वीएनसी डिस्कनेक्ट के आसपास कैसे काम करें, नेटवर्क समस्याओं की जांच कैसे करें, विभिन्न त्रुटियां और कॉन्फ़िगरेशन समस्याएं, और बहुत कुछ। बस इतना ही होगा, फिर मिलते हैं। पी>
प्रोत्साहित करना। पी>
बीआरसीटीएल सेटफडी बीआर0 0
ifconfig br0 10.0.0.128 up netmask 255.255.255.0
brctl एडिफ br0 eth0
मार्ग ऐड-नेट डिफ़ॉल्ट gw 10.0.0.254 br0
ifconfig eth0 0.0.0.0 अप टिप 3:लीगेसी HTTP एक्सेस सक्षम करें
(एक्सएंड-पोर्ट 8000)
(एक्सएंड-एड्रेस '') टिप 4:त्रुटि:'लोकलहोस्ट:8000' से कनेक्ट करने में असमर्थ:कनेक्शन अस्वीकृत
टिप 5:domU स्टार्टअप एरर
त्रुटि:डोमेन रोका नहीं जा सका:एक पूर्णांक आवश्यक है
उपयोग:xm प्रारंभ <डोमेन नाम>
कॉन्फ़िगरेशन फ़ाइल "./test1" का उपयोग करना।
त्रुटि:(2, 'अमान्य कर्नेल', "elf_xen_note_check:त्रुटि:Xen-ELF छवि नहीं:कोई ELF नोट या '__xen_guest' अनुभाग नहीं मिला।\n")
कॉन्फ़िगरेशन फ़ाइल "./test1" का उपयोग करना।
त्रुटि:डिवाइस 768 (वीबीडी) कनेक्ट नहीं किया जा सका।
फ़ाइल /tmp/disk.raw /dev/loop1 के माध्यम से लूपबैक-माउंटेड है,
जो एक अतिथि डोमेन में आरोहित है,
और इसलिए अब माउंट नहीं किया जा सकता। पी>
कॉन्फ़िगरेशन फ़ाइल "./test1" का उपयोग करना।
त्रुटि:डिवाइस 5632 (वीबीडी) कनेक्ट नहीं किया जा सका। डिवाइस नहीं मिला। पी>
DEBUG (DevController:139) उपकरणों के लिए प्रतीक्षारत vbd.
DEBUG (DevController:144) 768 की प्रतीक्षा कर रहा है।
चेतावनी (XendDomain:1076) <डोमेन आईडी =कोई नाम नहीं =test1 स्मृति =4294967296 स्थिति =रुका हुआ> के लिए डिवाइस सेटअप करने में विफल:डिवाइस 768 (vbd) कनेक्ट नहीं किया जा सका। डिवाइस नहीं मिला। पी>
3:1
कुल 0
drwxr-xr-x 2 रूट रूट 0 दिसंबर 18 12:07 पावर
-आरडब्ल्यू-आर--आर-- 1 रूट रूट 4096 दिसंबर 18 12:07 यूवेंट
drwxr-xr-x 4 रूट रूट 0 दिसंबर 18 12:05 vbd-5632
drwxr-xr-x 4 रूट रूट 0 दिसंबर 18 12:05 vbd-768
drwxr-xr-x 3 रूट रूट 0 दिसंबर 18 12:05 vfb-0
drwxr-xr-x 4 रूट रूट 0 दिसंबर 18 12:05 vif-0 युक्ति 6:उन्नत सेटिंग
निष्कर्ष