आम तौर पर, जब आप अपने वर्चुअल मशीनों को Xen में डोमयू गेस्ट के रूप में चलाते हैं, तो आप virt-manager या virt-viewer का उपयोग करके उनके कंसोल को देखेंगे। सभी व्यावहारिक उद्देश्यों के लिए, कंसोल बफर एक एनिमेटेड इमेज होगी जिसके साथ आप सीधे बातचीत नहीं कर सकते, कम से कम जब तक आप ग्राफिकल इंटरफ़ेस में बूट नहीं करते, यदि कभी।
तो आप क्या करते हैं यदि आप कंसोल आउटपुट को हर समय उपलब्ध रखना चाहते हैं? क्या आप किसी तरह कंसोल आउटपुट को अपने होस्ट पर रीडायरेक्ट कर सकते हैं और इसे उपयोग योग्य, पार्सेबल टेक्स्ट में बदल सकते हैं? जवाब हां है। यह किया जा सकता है, लेकिन यह इतना तुच्छ नहीं है। मुझे आपको दिखाने दें कि इसे पूरी तरह से वर्चुअलाइज्ड और पैरावर्चुअलाइज्ड दोनों गेस्ट के लिए कैसे हासिल किया जा सकता है।
पैरावर्चुअलाइज्ड गेस्ट
डिफ़ॉल्ट रूप से, कंसोल को आपके अंत पर किसी विशेष कॉन्फ़िगरेशन या ट्विक्स के बिना काम करना चाहिए। दुर्भाग्य से, जीवन शायद ही कभी इतना निष्पक्ष होता है, इसलिए आपको थोड़ा ट्वीक और हैक करना पड़ सकता है। कई संभावित वर्कअराउंड उपलब्ध हैं।
कॉन्फ़िगरेशन फाइल संपादित करें
वर्चुअल मशीन कॉन्फ़िगरेशन फाइल में निम्नलिखित विविधताएं जोड़ें:
extra="console=hvc0 xencons=tty"
आप hvc0 के बजाय xvc0 भी निर्दिष्ट कर सकते हैं और दो अतिरिक्त विकल्पों में से किसी एक का उपयोग एक समय में एक कुंजी मान जोड़ी के रूप में कर सकते हैं। आपको यह पता लगाने से पहले कई परिवर्तन करने और परीक्षण करने की आवश्यकता हो सकती है कि सबसे अच्छा क्या काम करता है, यदि बिल्कुल भी।
अपने गेस्ट पर inittab संपादित करें
आपको इस नए कंसोल को अपने गेस्ट में जोड़ने की आवश्यकता होगी। यह /etc/inittab को संपादित करके किया जाता है, कुछ इस तरह:
x0:12345:respawn:/sbin/agetty -L 9600 xvc0 xterm
कृपया कंसोल नाम को इस आधार पर समायोजित करें कि आपने वर्चुअल मशीन कॉन्फ़िगरेशन में क्या निर्दिष्ट किया है। आपको /etc/securetty को इस नए कंसोल को शामिल करने के लिए बदलना पड़ सकता है। बस फाइल खोलें और x0 जोड़ें। परिवर्तन करने से पहले आवश्यक बैकअप बनाएं। वैकल्पिक रूप से, आपको कर्नेल कमांड लाइन पर अतिरिक्त पैरामीटर पास करने या GRUB मेनू को संपादित करने की भी आवश्यकता हो सकती है। हम नीचे एक और उदाहरण देखेंगे। यह काम करना चाहिए, लेकिन फिर, यह नहीं भी कर सकता। आप अपने /var/log/messages में त्रुटि का निम्नलिखित क्रम देख सकते हैं:
init: Id "x0" respawning too fast: disabled for 5 minutes
init: Id "x0" respawning too fast: disabled for 5 minutes
init: Id "x0" respawning too fast: disabled for 5 minutes
init: Id "x0" respawning too fast: disabled for 5 minutes
यदि ऐसा होता है, तो आपके गेस्ट ऑपरेटिंग सिस्टम udev डिवाइस नहीं बना रहा हो सकता है, इसलिए आपको इसे /dev के तहत मैन्युअल रूप से बनाना होगा। यह एक आदर्श वर्कअराउंड नहीं है, लेकिन यह आपको कंसोल हासिल करने में मदद कर सकता है यदि बाकी सभी ट्विक्स आपके लिए काम नहीं करते हैं।
अंत में, आप कोशिश कर सकते हैं:
virsh console <domain id>
आप xm list चलाकर डोमेन आईडी प्राप्त कर सकते हैं।
पूरी तरह से वर्चुअलाइज्ड गेस्ट
मैन पेज के अनुसार, xm console पूरी तरह से वर्चुअलाइज्ड गेस्ट के लिए उपलब्ध नहीं है, लेकिन आप एक वर्कअराउंड का उपयोग करके समस्या को हल कर सकते हैं। दो चीजें हैं जिन्हें करने की आवश्यकता है। अपने होस्ट, डोम0 पर, गेस्ट के लिए प्रासंगिक कॉन्फ़िगरेशन फाइल में, निम्नलिखित निर्देश जोड़ें:
serial="pty"
गेस्ट में, /boot/grub/menu.lst या /boot/grub/grub.conf को निम्नलिखित पंक्तियों के साथ संपादित करें, उन्हें पहले कर्नेल प्रविष्टि से ऊपर कहीं जोड़ें, शायद डिफ़ॉल्ट और टाइमआउट निर्देशों के ठीक नीचे।
serial --unit=0 --speed=9600
terminal --timeout=5 serial console
फिर, प्रासंगिक GRUB प्रविष्टि में कर्नेल लाइन में जोड़ें:
console=ttyS0
गेस्ट को रीबूट करें और आपके पास कंसोल होना चाहिए। अब जांचने के लिए, आपको अपने डोम0 से कंसोल को गेस्ट से अटैच करना होगा। यह इस प्रकार किया जाता है:
#xm console <domain name>
लाइन गिर जाएगी और माना जाता है कि टर्मिनल लटका हुआ दिखाई देगा। अब, यदि आप गेस्ट को रीबूट करते हैं, तो आप शटडाउन/स्टार्टअप संदेशों को आते हुए देखेंगे। बाहर निकलने के लिए, Ctrl + ] दबाएं। यहां बूट और शटडाउन के साथ-साथ मैजिक कीज़ का उपयोग करके ट्रिगर किए गए कर्नेल क्रैश के कुछ उदाहरण दिखाए गए हैं:
#xm console test1
INIT: Switching to runlevel: 6
INIT: Sending processes the TERM signal
INIT: Sending processes the KILL signal
Boot logging started on /dev/ttyS0(/dev/console) at Thu Dec 1 2011
Master Resource Control: previous runlevel: 3, switching to runlevel: 6
Shutting down service at daemon done
Shutting down auditd done
Shutting down automount (force) done
कुछ छवियां:
ध्यान दें कि कंसोल अब रीडायरेक्ट हो गया है और गेस्ट में नहीं दिखेगा। आपको गेस्ट में कंसोल संदेशों को देखने के लिए GRUB मेनू में console=tty1 जोड़ना होगा।
अधिक पठन
आप इनकी भी जांच करना चाह सकते हैं:
Xen समस्या निवारण
अधिक Xen समस्या निवारण
Xen के तहत SLES11 इंस्टॉल करना
Xen गेस्ट कंसोल बूट पर हैंग होता है
निष्कर्ष
बस इतना ही। एक काफी गैर-तुच्छ विषय, लेकिन शायद उपयोगी। कम से कम, आपने Xen कमांड लाइन के साथ कैसे काम करें, विभिन्न कमांड कैसे आह्वान करें और विभिन्न पैरामीटर कैसे जांचें, सिस्टम कॉन्फ़िगरेशन फाइलों को कैसे संपादित करें, जिसमें बूट मेनू शामिल है, पर थोड़ा और सीखा है। अंतिम लेकिन कम नहीं, पैरावर्चुअलाइज्ड और पूरी तरह से वर्चुअलाइज्ड दोनों गेस्ट के लिए कई समाधान और वर्कअराउंड प्रस्तुत किए गए हैं। Xen कंसोल के बारे में बहुत ado।
ठीक है। आज के लिए पर्याप्त। मीठे रहें।
चीयर्स।