Computer >> कंप्यूटर ट्यूटोरियल >  >> सॉफ्टवेयर >> आभासी मशीन

उन्नत Xen समस्या निवारण गाइड: सामान्य डिस्प्ले, Python, और सेवा मुद्दों को हल करें

हमारे पास Xen में आपके द्वारा प्रयास करने और परीक्षण करने पर हो सकने वाली कई सामान्य Xen समस्याओं पर एक ट्यूटोरियल था। युक्तियों और ट्रिक्स का पहला बैच डिस्प्ले, Python संस्करणों और मॉड्यूल, रैपर स्क्रिप्ट बदलने और स्पष्ट कमांड चलाने, और सेवाओं के समस्या निवारण के साथ समस्याओं पर केंद्रित था।

आज, हम गहराई में गोता लगाते हैं और उन कई और समस्याओं को समझने, ठीक करने और उनके आसपास काम करने का प्रयास करते हैं जिनका आप सामना कर सकते हैं या नहीं। मुझे स्वीकार करना होगा कि कुछ समाधान थोड़े तदर्थ हो सकते हैं, इसलिए मेरे शब्द को न लें, लेकिन मुझे विश्वास है कि वे कुल मिलाकर अच्छी तरह से काम करते हैं। उम्मीद है, हालांकि, इस पढ़ने के बाद आपका Xen अनुभव अधिक, उह, ज़ेनी होगा।

टिप 1: हाइपरवाइजर होस्ट से VNC कनेक्शन अस्वीकार या डिस्कनेक्ट हो गया

वर्चुअल मशीन मैनेजर (virt-manager) शुरू करने के बाद, आपके पास VNC का उपयोग करके अपने वर्चुअल मशीनों की सामग्री देखने का विकल्प होता है, जो तब प्रासंगिक डोमेन के कंसोल की सामग्री प्रदर्शित करेगा। अब और फिर, कंसोल खाली हो सकता है और ऊपर लिखी त्रुटि फेंक सकता है। सवाल, अब आप क्या करते हैं?

मेरा अनुभव दिखाता है कि यह किसी भी समय होगा जब गेस्ट ऑपरेटिंग सिस्टम को रीस्टार्ट या शटडाउन किया जाता है। एक बार जब आप इसे फिर से पावर ऑन करते हैं, तो आपको सामग्री देखने के लिए कंसोल को सबसे असुविधाजनक तरीके से फिर से खोलना होगा। वही होता है यदि आप virt-viewer का उपयोग करते हैं:

virt-viewer <domain>

एक बार डोमेन रीबूट, रीसेट, या पावर ऑफ हो जाने पर, आप कनेक्शन खो देंगे। फिलहाल, सरल समाधान कंसोल विंडो को फिर से खोलना है, या तो virt-manager या virt-viewer के माध्यम से।

वैकल्पिक रूप से, कनेक्शन स्थापित करने के लिए:

virsh vncdisplay <domain>
vncviewer <hostname:port returned by virsh command>

टिप 2: गेस्ट चलने के दौरान vif गायब हो जाता है, कोई और नेटवर्किंग नहीं

यह हो सकता है कि जब आपकी वर्चुअल मशीन चल रही हो, तो वर्चुअल नेटवर्क इंटरफ़ेस, सामान्य रूप से vifX.X लेबल किया गया, ifconfig सूची से गायब हो जाएगा, जिससे आपका गेस्ट एक बेकार ईंट में बदल जाएगा।

समस्या वर्चुअल मशीन के अंदर प्रासंगिक नेटवर्क इंटरफ़ेस MAC पते के सभी शून्य में बदलने में भी प्रकट हो सकती है। और होस्ट (डोम0) पर, आप /var/log/messages में निम्न प्रकार की प्रविष्टियां देख सकते हैं:

kernel: [ 109.743854] br0: port 2(vif1.0) entering learning state
kernel: [ 109.811880] br0: port 3(tap1.0) entering learning state
kernel: [ 117.369189] br0: port 3(tap1.0) entering disabled state
kernel: [ 117.398076] device tap1.0 left promiscuous mode
kernel: [ 117.398083] br0: port 3(tap1.0) entering disabled state
kernel: [ 117.815006] br0: port 2(vif1.0) entering disabled state
kernel: [ 117.850075] br0: port 2(vif1.0) entering disabled state

तो आप इस तरह की किसी चीज़ को ठीक करने के बारे में कैसे जाते हैं? कई विकल्प हैं। एक, एक कर्नेल अपग्रेड जो रहस्यमय तरीके से समस्या को हल कर सकता है। खैर, इतना रहस्यमय नहीं, Xen नेटवर्किंग स्टैक में रेस कंडीशन को ठीक करने की तरह।

दूसरा विकल्प Xen कॉन्फ़िगरेशन फाइल में नेटवर्क सेटिंग्स को ट्वीक करने का प्रयास करना है, जो /etc/xen/xend-config.sxp के तहत स्थित है। इस फाइल में सभी प्रकार के निर्देश हैं, जिसमें ब्रिज और वर्चुअल नेटवर्क इंटरफेस कैसे सेटअप करें शामिल हैं। कई दावा करते हैं कि नेटवर्किंग कुछ हद तक बगी है और आपको अपने स्वयं के स्क्रिप्ट को मैन्युअल रूप से कॉन्फ़िगर करना चाहिए।

विशेष रूप से, निम्नलिखित निर्देशों को बदलें:

(network-script network-bridge) to (network-script )

इसके अलावा, आपको मैन्युअल रूप से अपने ब्रिज को कॉन्फ़िगर करना चाहिए। परीक्षण के दौरान, आपको brctl और ifconfig कमांड का उपयोग करना चाहिए, और एक बार जब आप आश्वस्त हो जाएं कि आपके परिवर्तन ठोस हैं, तो आपको उन्हें अपने नेटवर्क स्क्रिप्ट में स्थायी रूप से कमिट करना चाहिए। RedHat और SUSE सिस्टम पर, इसका अर्थ है ifcfg-br<number> बनाना साथ ही /etc/sysconfig/network के तहत अपने नेटवर्क कार्ड के लिए मौजूदा नेटवर्क स्क्रिप्ट को बदलना, और Debian-आधारित सिस्टम पर, /etc/interfaces कॉन्फ़िगरेशन फाइल को संपादित करना। कहने की जरूरत नहीं, बैकअप जरूरी हैं।

यहां मैन्युअल ब्रिज कॉन्फ़िगरेशन का एक उदाहरण है:

brctl addbr br0
brctl setfd br0 0
ifconfig br0 10.0.0.128 up netmask 255.255.255.0
brctl addif br0 eth0
route add -net default gw 10.0.0.254 br0
ifconfig eth0 0.0.0.0 up

मेनू पर अगला, नेटलूप्स की संख्या बढ़ाना या घटाना, जिसका अर्थ है कि कितने जोड़े वर्चुअल डिवाइस बनाए जा सकते हैं। यदि आप ऊपरी सीमा में भाग लेते हैं, तो आप संख्या बढ़ाना चाह सकते हैं। यह netloop नामक एक फाइल बनाकर /etc/modprobe.d के तहत और अंदर लिखकर किया जाता है:

option netloop nloopbacks=<some high number, e.g. 16, 32>

या बस इस विकल्प को /etc/modprobe.conf में जोड़कर।

इस विषय पर काफी अधिक पठन:

Xen नेटवर्किंग

Xen नेटवर्क ब्रिज समस्या निवारण नोट्स के साथ समझाया गया

Xen के तहत SLES नेटवर्किंग, समस्या निवारण और सिफारिशें

परेशानी मुक्त Xen नेटवर्किंग

Linux नेटवर्किंग बेकार है। XEN नेटवर्किंग बेकार है।

अतिरिक्त Xen वर्चुअल नेटवर्क ब्रिज बनाना

यदि जब ऐसा होता है तो आपको कर्नेल क्रैश का सामना करना पड़ता है, तो ये दो लिंक भी कुछ हद तक रुचिकर हो सकते हैं, अल्ट्रा-गीकीनेस से सावधान रहें:

Kernel BUG at mm/vmalloc.c:2165

[PATCH] mm: sync vmalloc address space page tables in alloc_vm_area()

समस्या वास्तव में netloops की संख्या को शून्य तक कम करके हल हो सकती है।

टिप 3: लिगेसी HTTP एक्सेस सक्षम करें

libvirt डोम0 से कनेक्ट करने और इसे स्थानीय और रिमोट दोनों तरह से प्रबंधित करने के लिए HTTP को अनावश्यक बनाता है। हालांकि, आप में से कुछ इस विकल्प में रुचि रख सकते हैं, खासकर यदि आप OpenXenManager जैसे टूल्स का उपयोग करने का इरादा रखते हैं, जो कनेक्ट करने के लिए HTTP/HTTPS का उपयोग करता है। Xen को वेब से एक्सेसिबल बनाने के लिए, आपको xend-config.sxp कॉन्फ़िगरेशन फाइल में कई निर्देशों को संपादित करना होगा:

(xend-http-server yes)
(xend-port 8000)
(xend-address '')

xend-http-server के लिए no को yes में बदलें और सही पोर्ट निर्दिष्ट करें, xend-address उस नेटवर्क इंटरफ़ेस का IP पता निर्दिष्ट करता है जिस पर Xend सुनेगा। यदि आप डिफ़ॉल्ट खाली उद्धरण चिह्न छोड़ते हैं, तो यह सभी उपलब्ध इंटरफेस पर सुनेगा। अगला, कॉन्फ़िगरेशन फाइल को रीलोड करें:

/etc/init.d/xend reload

और फिर आप वेब एक्सेस का परीक्षण कर सकते हैं:

टिप 4: ERROR: unable to connect to 'localhost:8000': Connection refused

उपरोक्त टिप का एक उपपरिणाम यह है कि जब आप virt-manager का उपयोग करके डोम0 से कनेक्ट करने का प्रयास करते हैं तो आपको एक बदसूरत कनेक्शन अस्वीकृत त्रुटि मिल सकती है। Python कुख्यात रूप से वर्बोज़ होने के लिए जाना जाता है, इसलिए बदसूरती के लिए तैयार रहें।

इस समस्या को हल करने के लिए, आपको HTTP एक्सेस सक्षम करने की आवश्यकता हो सकती है। वैकल्पिक रूप से, आपको खुद से पूछने की आवश्यकता है कि यह पहली जगह में क्यों होता है। सबसे संभावित कारण यह है कि Xen सेवाओं में से एक नहीं चल रही है, जो virt-manager को लिगेसी एक्सेस पर वापस जाने के लिए मजबूर करती है। यदि आप HTTP प्रोटोकॉल का उपयोग नहीं करना चाहते हैं, तो आप यह सुनिश्चित करना चाह सकते हैं कि आपका सिस्टम सभी प्रासंगिक Xen सेवाओं, विशेष रूप से libvirtd और xend के साथ बूट होता है।

टिप 5: डोमयू स्टार्टअप त्रुटियां

जब आप xm create <domain> या xm start <domain> के साथ अपने डोमेन को पावर ऑन करने का प्रयास करते हैं, तो आप कई त्रुटि संदेशों का सामना कर सकते हैं जो आपको क्रोधित या भ्रमित कर सकते हैं। आइए इनमें से कुछ को विच्छेदित करने का प्रयास करें और समझें कि समस्या क्या हो सकती है।

#xm start test1
Error: Domain unable to be unpaused: an integer is required
Usage: xm start <DomainName>

और एक ग्राफिकल समकक्ष:

यह सामान्य रूप से मतलब है कि आपने एक गैर-मौजूद या असमर्थित हार्डवेयर घटक निर्दिष्ट किया है, जैसे नेटवर्क कार्ड या साउंड कार्ड। कृपया अपने डोमेन कॉन्फ़िगरेशन फाइल की समीक्षा करें, सामान्य रूप से /etc/xen/vm के तहत संग्रहीत त्रुटियों के लिए। आप /var/log/messages, साथ ही Xen त्रुटि लॉग - /var/log/xen/xend.log से भी परामर्श करना चाह सकते हैं।

अब, यहाँ एक और है:

#xm create test1
Using config file "./test1".
Error: (2, 'Invalid kernel', "elf_xen_note_check: ERROR: Not a Xen-ELF image: No ELF notes or '__xen_guest' section found.\n")

यह हो सकता है यदि आप डोमेन कॉन्फ़िगरेशन फाइल में HVM कर्नेल सेटिंग्स का उपयोग करके एक पैरावर्चुअलाइज्ड गेस्ट को पावर ऑन करने का प्रयास करते हैं। डीबग और हल करने के लिए काफी तुच्छ।

#xm create test1
Using config file "./test1".
Error: Device 768 (vbd) could not be connected.
File /tmp/disk.raw is loopback-mounted through /dev/loop1,
which is mounted in a guest domain,
and so cannot be mounted now.

आप इसे देख सकते हैं यदि आप एक हार्ड डिस्क फाइल का पुन: उपयोग करने का प्रयास करते हैं जो पहले से ही दूसरी वर्चुअल मशीन द्वारा उपयोग में है। वैकल्पिक रूप से, आपने इसे अपने अंदरूनी हिस्सों का निरीक्षण करने के लिए कहीं लूपबैक डिवाइस के रूप में माउंट किया होगा।

vbd त्रुटियों की बात करते हुए, यहाँ एक और है:

#xm create test1
Using config file "./test1".
Error: Device 5632 (vbd) could not be connected. Device not found.

इस तरह के संदेश का एक रूपांतर xend.log में दिखाया गया है:

DEBUG (DevController:139) Waiting for devices vscsi.
DEBUG (DevController:139) Waiting for devices vbd.
DEBUG (DevController:144) Waiting for 768.
WARNING (XendDomain:1076) Failed to setup devices for <domain id=None name=test1 memory=4294967296 state=halted>: Device 768 (vbd) could not be connected. Device not found.

यहां कारण एक खराब निर्दिष्ट हार्ड डिस्क फाइल हो सकती है, या फिर, किसी डिवाइस का खराब उपयोग, शायद वर्तनी त्रुटि के कारण। यह ऊपर सूचीबद्ध पहली त्रुटि के समान है।

अब, एक सवाल जो उठ सकता है वह यह है कि यह कैसे जाना जाए कि vbd किस तरह का डिवाइस है? सबसे सरल वर्कअराउंड के रूप में, आप इसे किसी एक बूट किए गए Xen डोमयू पर सत्यापित कर सकते हैं। सभी डिवाइस /sys/devices/xen/ के तहत पाए जा सकते हैं। उदाहरण के लिए:

#cat /sys/devices/xen/vbd-768/block/hda/hda1/dev
3:1

यहां हम देखते हैं कि vbd-768 मेजर नंबर 3 के साथ एक ब्लॉक डिवाइस है। इसलिए, hda1 3:1 से मेल खाता है, जो तर्क के अनुरूप है। एक विशेष वर्चुअल मशीन के लिए एक पूर्ण लिस्टिंग:

#ll
total 0
drwxr-xr-x 2 root root 0 Dec 18 12:07 power
-rw-r--r-- 1 root root 4096 Dec 18 12:07 uevent
drwxr-xr-x 4 root root 0 Dec 18 12:05 vbd-5632
drwxr-xr-x 4 root root 0 Dec 18 12:05 vbd-768
drwxr-xr-x 3 root root 0 Dec 18 12:05 vfb-0
drwxr-xr-x 4 root root 0 Dec 18 12:05 vif-0

अधिक जटिल तरीका संख्या को हेक्साडेसिमल में अनुवाद करना है, और फिर दो कम से कम महत्वपूर्ण बिट्स का उपयोग माइनर नंबर के लिए और शेष उच्च बिट्स को मेजर नंबर के रूप में करना है, फिर सटीक डिवाइस प्रकार को समझने के लिए या तो ऑनलाइन या /usr/src/linux/Documentation के तहत devices.txt सूची देखें। उदाहरण के लिए, 768 दशमलव x0300 हेक्सा है, जिसका अर्थ है मेजर नंबर 3, माइनर नंबर 0। यह पहले (शून्य) IDE डिवाइस या hda में अनुवाद करता है। इसी तरह, 5632 x1600 में अनुवाद करता है, जिसका अर्थ है मेजर, माइनर 16,00 संयोजन, जो ब्लॉक डिवाइस के लिए CD-ROM है। जोली वेल, नहीं? यह पुराना Xen मेलिंग लिस्ट थ्रेड भी रुचिकर हो सकता है।

टिप 6: उन्नत सेटिंग्स

अंत में, कुछ हल्का। अपने गेस्ट को बूट करते समय, आप कुछ उन्नत सेटिंग्स को ट्वीक करना चाह सकते हैं। उदाहरण के लिए, आप PAE या OpenGL में रुचि रख सकते हैं। आपको वर्चुअल मशीन विज़ार्ड में सही विकल्पों को चिह्नित करना चाहिए, या वैकल्पिक रूप से, यदि आप कमांड लाइन और वर्चुअल मशीन फाइलों से अच्छी तरह परिचित हैं, तो बस वहां सही स्ट्रिंग्स जोड़ें।

अंतिम, अनलिस्टेड टिप GRUB2 के प्रभारी के साथ मल्टी-बूट सिस्टम सेटअप कर रहा है। कुछ भी नया नहीं, हमने इस पर परिचय लेख में बात की थी, इसलिए कृपया वहां जाएं और एक नज़र डालें।

और हम आज यहीं समाप्त करेंगे।

निष्कर्ष

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

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

चीयर्स।

  1. VirtualBox 3.0.0: डेस्कटॉप वर्चुअलाइज़ेशन के लिए एक शक्तिशाली अपग्रेड VirtualBox 3.0.0: डेस्कटॉप वर्चुअलाइज़ेशन के लिए एक शक्तिशाली अपग्रेड

    मेरा पसंदीदा डेस्कटॉप वर्चुअलाइज़ेशन सॉफ़्टवेयर VirtualBox और VMware सर्वर शामिल हैं। मैं उन दोनों को प्यार करता हूँ और उपयोग करता हूँ। वे समग्र रूप से काफी समान हैं, फिर भी उपयोगकर्ता को एक अलग, अद्वितीय सुविधाओं का सबसेट प्रदान करते हैं जो दूसरे उत्पाद में नहीं है, इस प्रकार एक दूसरे को अच्छी तरह

  1. विंडोज 11 एक्सप्लोरर की गति बढ़ाएं: त्वरित समाधान और प्रदर्शन ट्वीक विंडोज 11 एक्सप्लोरर की गति बढ़ाएं: त्वरित समाधान और प्रदर्शन ट्वीक

    यह विडंबनापूर्ण और दुखद है कि 2022 में किसी को एक प्रमुख डेस्कटॉप ऑपरेटिंग सिस्टम के फाइल मैनेजर की सुस्ती ठीक करने पर लेख लिखना पड़ रहा है, फिर भी हम यहां हैं। मेरे पास एक टेस्ट सिस्टम है जो विंडोज 11 चलाता है, और वहां एक्सप्लोरर विंडोज खुलने में समय लेती हैं, फिर विभिन्न ड्राइव और फोल्डर की सामग्र

  1. Karen s Replicator अब Windows 10 का समर्थन करता है - विश्वसनीय बैकअप और रेप्लिकेशन Karen's Replicator अब Windows 10 का समर्थन करता है - विश्वसनीय बैकअप और रेप्लिकेशन

    Windows में, मेरा पसंदीदा डेटा बैकअप और रेप्लिकेशन टूल सरल, विनम्र और सुपर-प्रभावी प्रोग्राम है जिसे Karens Replicator कहा जाता है, जिसका उपयोग मैं Windows 7 मशीनों पर बहुत खुशी के साथ करता हूं। मैंने इसे कुछ समय के लिए Windows 8.1 बॉक्स पर भी उपयोग किया, लेकिन एक सिस्टम अपडेट के बाद फाइलसिस्टम परिव