केवीएम के साथ मुझे किसी बड़ी समस्या का सामना किए काफी समय हो गया है। फिर से, निष्पक्ष होने के लिए, मैंने पिछले कुछ वर्षों में इसका व्यापक रूप से उपयोग नहीं किया है। लेकिन हाल ही में, मेरे पास इस वर्चुअलाइजेशन तकनीक के साथ गतिविधि का उत्साह था, और उत्पादकता टॉपिंग के रूप में कुछ परेशानियों के साथ आई।
जैसा कि होता है, मैंने एक वर्चुअल मशीन लॉन्च करने की कोशिश की - कुछ खास नहीं, बस kvm xyz और क्या नहीं। मुझे निम्न त्रुटि संदेश मिला:KVM कर्नेल मॉड्यूल तक नहीं पहुंच सका:अनुमति अस्वीकृत। और इस प्रकार इस छोटे से ट्यूटोरियल की शुरुआत होती है, जो उन सभी अलग-अलग चीजों को दिखाता है जो आप यह जांचने के लिए कर सकते हैं कि क्या गलत हो सकता है, और समस्या को कैसे हल किया जाए। मेरे बाद।
समस्या के बारे में विस्तार से
पूरा त्रुटि संदेश:
KVM कर्नेल मॉड्यूल तक नहीं पहुंच सका:अनुमति अस्वीकृत
qemu-system-x86_64:KVM प्रारंभ करने में विफल:अनुमति अस्वीकार
यह क्या इंगित करता है कि - सबसे अधिक संभावना - KVM उपयोक्तास्थान घटक KVM ड्राइवर तक नहीं पहुँच सकता है। यह आमतौर पर गलत अनुमतियों के कारण होता है।
समाधान
पहली चीज़ जो आप करना चाहते हैं वह यह जाँचना है कि आपका उपयोक्ता KVM और libvirt समूह का सदस्य है। एक बार जब आप ये परिवर्तन कर लेते हैं, तो आपको एक नया शेल लॉन्च करने की आवश्यकता होगी ताकि समूह सदस्यता परिवर्तन हो सकें। सबसे आसान तरीका है अपने उपयोगकर्ता सत्र में फिर से लॉगिन करना।
sudo usermod -G -a kvm "उपयोगकर्ता नाम"
sudo usermod -G -a libvirtd "उपयोगकर्ता नाम"
डिवाइस नोड अनुमतियां
इसके अतिरिक्त, आप /dev/kvm डिवाइस पर अनुमतियों की जांच करना चाहते हैं। डिवाइस फ़ाइल के लिए सही डिफ़ॉल्ट अनुमतियाँ 660 और root:kvm Ownership होनी चाहिए। जैसा कि आप देख सकते हैं, अगर आप रूट या केवीएम समूह के सदस्य नहीं हैं, तो आपके पास पहुंच नहीं होगी।
ls -ld /dev/kvm
crw-rw---- 1 रूट kvm 10, 232 मई 27 10:43 /dev/kvm
उदेव नियम
एक और चीज जो आप जांचना चाहते हैं वह यह है कि सही udev नियम मौजूद हैं या नहीं। यदि आप सोच रहे हैं, udevd एक डिवाइस फ़ाइल सिस्टम प्रबंधन सेवा है, जो / dev के अंतर्गत प्रविष्टियों के लिए सही अनुमतियाँ सेट करती है। विशिष्ट रूप से, जब आप KVM सॉफ़्टवेयर स्थापित करते हैं, तो बंडल में से एक पैकेज आवश्यक नियम प्रदान करेगा। यदि यह नियम मौजूद नहीं है, और पहले भी बग रहे हैं, तो हो सकता है कि आप स्वयं नियम बनाना चाहें।
/etc/udev/rules.d/ के अंतर्गत, XX-kvm.rules नामक फ़ाइल बनाएँ। XX एक संख्या के लिए खड़ा है, जो GRUB2 नियमों के समान शाब्दिक क्रम निर्धारित करता है जिसके द्वारा नियमों को पार्स और निष्पादित किया जाएगा। कुछ मामलों में, विभिन्न नियमों का क्रम महत्वपूर्ण हो सकता है। यदि आप निश्चित नहीं हैं, और कुछ भी नहीं है जो आप जानते हैं, चलाने के लिए KVM कार्यक्षमता पर निर्भर करता है, तो आप 99-kvm.नियम का उपयोग कर सकते हैं।
इस फ़ाइल के अंदर, निम्न पंक्ति जोड़ें:
KERNEL=="kvm", GROUP="kvm", MODE="0660"
यहाँ क्या हो रहआ हैं? यदि आप टीएल; डीआर संस्करण में हैं कि udev नियम कैसे लिखें, तो यहां पढ़ें। सरल शब्दों में:
- KERNEL - डिवाइस का कर्नेल नाम
- GROUP - UNIX समूह जिसके पास उपकरण होना चाहिए
- MODE - डिवाइस के लिए बिटवाइज़ अनुमतियाँ
नियम लागू होने के बाद, बिना रीबूट किए नियमों को फिर से लोड करें:
udevadm control --reload-rules
और सुरक्षित रहने के लिए, आप libvirt सेवा को फिर से शुरू करना चाह सकते हैं:
systemctl libvirtd को पुनरारंभ करें
डिवाइस नोड अनुमतियां - फिर से
इस समीकरण का अंतिम भाग - यदि उपरोक्त समाधानों में से कोई भी काम नहीं करता है, तो आप /dev/kvm पर अनुमतियों को अधिक आराम से सेट में बदल सकते हैं। 660 के बजाय, आप 666 का उपयोग कर सकते हैं - इसका मतलब है कि सिस्टम पर कोई भी उपयोगकर्ता केवीएम वर्चुअलाइजेशन का प्रबंधन करने में सक्षम होगा। होम सेटअप में, यह इतनी बड़ी बात नहीं है।
सुडो चामोद +666/देव/केवीएम
और अब आप केवीएम को शानदार ढंग से चलाने में सक्षम होंगे।
निष्कर्ष
ये रहा। यह ट्यूटोरियल बहुत लंबा नहीं है, लेकिन इसमें कुछ क्षेत्रों को शामिल किया गया है। अब, यह सभी के लिए और KVM से संबंधित किसी भी मुद्दे के लिए एक सामान्य डिबगिंग आलेख नहीं है। उसके लिए, आपके पास मेरी पुरानी KVM समस्या निवारण मार्गदर्शिका, साथ ही ईमेल है, ताकि आप नई युक्तियों और समाधानों के बारे में पूछ सकें और न जाने क्या-क्या। हम विशेष रूप से KVM स्टार्टअप अनुमति समस्या के बारे में बात कर रहे हैं, और आपके पास इसका विश्लेषण और समाधान करने के तीन या चार अलग-अलग तरीके हैं।
कुल मिलाकर, केवीएम एक शक्तिशाली, लचीला वर्चुअलाइजेशन सॉफ्टवेयर है - एक नकारात्मक पक्ष के साथ कि यह काफी नीरस हो सकता है, और इस प्रकार कुछ अन्य, अधिक फ्रंट-एंड-फ्रेंडली टूल के रूप में सुलभ नहीं है। ऐसा नहीं है कि वर्चुअलाइजेशन शुरू करने के लिए बेवकूफ सामान नहीं है, लेकिन हे। ठीक है, यदि आप गलत अनुमतियों के कारण KVM के साथ अपने VM को बनाने या शुरू करने में किसी समस्या का सामना करते हैं, तो ऊपर दी गई चेकलिस्ट आपको चालू कर देगी। सरल, गैर-घुसपैठ, कोई रीबूट की आवश्यकता नहीं है। और दोस्तों, हमारा काम हो गया।
चीयर्स।