इस लेख में हम देखेंगे कि KVM हाइपरवाइजर . को कैसे स्थापित और कॉन्फ़िगर किया जाए Linux RHEL या CentOS चलाने वाले सर्वर पर। हम दिखाएंगे कि KVM में वर्चुअल मशीन कैसे बनाई जाती है, इसकी सेटिंग्स कैसे बदलें और गेस्ट ऑपरेशन सिस्टम कैसे स्थापित करें। हम VM को प्रबंधित करने के लिए कुछ विशिष्ट कमांड का भी वर्णन करेंगे।
KVM (कर्नेल-आधारित वर्चुअल मशीन) एक Linux हाइपरविजर है जो Intel VT- या AMD SVM हार्डवेयर वर्चुअलाइजेशन तकनीकों का उपयोग करता है। KVM का उपयोग करके, आप अपने स्वयं के वर्चुअल हार्डवेयर के साथ पृथक वर्चुअल मशीन बना सकते हैं:नेटवर्क एडेप्टर, डिस्क, ग्राफिक कार्ड या अन्य डिवाइस। आप किसी भी अतिथि OS को वर्चुअल मशीन पर स्थापित कर सकते हैं (न केवल Linux)।
KVM को CentOS/RHEL पर कैसे स्थापित करें?
जब आप केवीएम को अपने सर्वर पर कॉन्फ़िगर करते हैं, तो आपको सीपीयू जांच के साथ शुरुआत करनी चाहिए। आपको यह सुनिश्चित करना होगा कि आपके होस्ट पर स्थापित CPU हार्डवेयर वर्चुअलाइजेशन का समर्थन करता है या नहीं। अपने सर्वर कंसोल में निम्न कमांड चलाएँ:
# cat /proc/cpuinfo | egrep "(vmx|svm)"
अगर आपका प्रोसेसर VT-x . को सपोर्ट करता है , आप इस तरह एक आउटपुट देखेंगे:
यदि कमांड ने कुछ भी वापस नहीं किया है, लेकिन आप जानते हैं कि आपका सीपीयू वर्चुअलाइजेशन का समर्थन करता है, तो सुनिश्चित करें कि यह विकल्प सर्वर BIOS में अक्षम नहीं है। . इंटेल वर्चुअलाइजेशन टेक्नोलॉजी के लिए देखें या एसवीएम मोड विकल्प।
मेरा सर्वर VT-x का समर्थन करता है और यह सक्षम है, इसलिए हम yum/dnf का उपयोग करके CentOS/RHEL पर आवश्यक पैकेज स्थापित कर सकते हैं:
# yum install libvirt libvirt-python libguestfs-tools qemu-kvm virt-install –y
- qemu-kvm - केवीएम हाइपरवाइजर
- libvirt - वर्चुअलाइजेशन प्रबंधन पुस्तकालय
- पुण्य-स्थापना - KVM वर्चुअल मशीन को प्रबंधित करने के लिए CLI टूल
आपके Linux सर्वर पर ढेर सारे पैकेज इंस्टाल किए जाएंगे। सुनिश्चित करें कि स्थापना के दौरान कोई त्रुटि न हो।
फिर libvirtd . जोड़ें सेवा शुरू करने और उसे चलाने के लिए:
# systemctl enable libvirtd
# systemctl start libvirtd
सुनिश्चित करें कि kvm_intel और kvm कर्नेल मॉड्यूल लोड कर दिए गए हैं:
# lsmod | grep kvm
kvm_intel 188688 0 kvm 636931 1 kvm_intel irqbypass 13503 1 kvm
यदि आदेश कुछ भी नहीं लौटाता है, तो अपने होस्ट को पुनरारंभ करें और फिर से जांचें।
KVM के लिए ब्रिज नेटवर्किंग बनाएं और कॉन्फ़िगर करें
फिर वर्चुअल मशीन डिस्क और आईएसओ छवियों को स्टोर करने के लिए निर्देशिका बनाएं:
# mkdir -p /vz/{disk,iso}
आपकी वर्चुअल मशीनों में इंटरनेट की पहुंच हो, इसके लिए आपको ब्रिज . का उपयोग करके नेटवर्क को कॉन्फ़िगर करना होगा . ऐसा करने के लिए, आपको पुल-बर्तन . की आवश्यकता होगी . सुनिश्चित करें कि यह इस आदेश का उपयोग करके आपके लिनक्स होस्ट पर स्थापित है:
# rpm -qa | grep bridge-utils
यदि आवश्यक हो तो इसे स्थापित करें:
# yum install bridge-utils -y
पैकेज स्थापित करने के बाद, virbr0 ऑपरेटिंग सिस्टम में नेटवर्क इंटरफ़ेस दिखाई दिया:
# ip a
पुल . बनाने के लिए , आपको अपने सर्वर नेटवर्क इंटरफ़ेस की कॉन्फ़िगरेशन फ़ाइल सेट अप करनी होगी:
# cp /etc/sysconfig/network-scripts/ifcfg-enp1s0f0 /etc/sysconfig/network-scripts/ifcfg-enp1s0f0_bak
- फ़ाइल का बैकअप लें# nano /etc/sysconfig/network-scripts/ifcfg-enp1s0f0
— इसे संपादित करने के लिए खोलें
फ़ाइल की सामग्री हटाएं और इसे निम्नलिखित से बदलें:
DEVICE="enp1s0f0" ONBOOT="yes" BRIDGE=br0
आपके मामले में, इंटरफ़ेस नाम भिन्न हो सकता है (इसे ip a . का उपयोग करके प्राप्त करें आदेश)।
फिर एक फाइल बनाएं:
# nano /etc/sysconfig/network-scripts/ifcfg-br0
निम्न विन्यास युक्त:
DEVICE="br0" TYPE=BRIDGE ONBOOT=yes BOOTPROTO=static IPADDR="IP_address_of_the_server" NETMASK="255.255.255.0" GATEWAY="Default_gateway" DNS1="8.8.8.8" DNS2="8.8.4.4"
आपको अपना सर्वर आईपी पता और डिफ़ॉल्ट गेटवे निर्दिष्ट करना होगा। नेटवर्क इंटरफ़ेस कॉन्फ़िगरेशन फ़ाइल संपादित करने के बाद, नेटवर्क को पुनरारंभ करें:
# service network restart
ब्रिज की स्थिति देखने के लिए, इस कमांड का उपयोग करें:
# brctl show
bridge name bridge id STP enabled interfaces br0 8000.ac1f6b654321 no enp1s0f0 virbr0 8000.525400abcdef1 yes virbr0-nic
अंतिम चरण में, नेटवर्क ट्रैफ़िक अग्रेषण कॉन्फ़िगर करें:
# echo -e "net.ipv4.ip_forward=1" >> /etc/sysctl.conf && sysctl -p
फिर libvirtd restart को पुनः प्रारंभ करें :
# service libvirtd restart
बुनियादी KVM नेटवर्क कॉन्फ़िगरेशन समाप्त हो गया है, और आप एक वर्चुअल मशीन बना सकते हैं।
KVM में वर्चुअल मशीन बनाना
वर्चुअल मशीन बनाने से पहले, मैंने एक आधिकारिक दर्पण से /vz/iso पर एक CentOS 8 छवि डाउनलोड की है। :
# cd /vz/iso && wget https://mirror.imt-systems.com/centos/8.3.2011/isos/x86_64/CentOS-8.3.2011-x86_64-dvd1.iso
नई KVM वर्चुअल मशीन बनाने के लिए, निम्नलिखित चलाएँ:
virt-install -n test-centosvm \
--noautoconsole \
--network=bridge:br0 \
--ram 2048 --arch=x86_64 \
--vcpus=4 --cpu host --check-cpu \
--disk path=/vz/disk/test-centosvm.img,size=32 \
--cdrom /vz/iso/CentOS-8.3.2011-x86_64-dvd1.iso \
--graphics vnc,listen=IP,password=p@sswdr0w1 \
--os-type linux --os-variant=rhel7 --boot cdrom,hd,menu=on
test-centosvm
— एक VM नामnoautoconsole
- VM बनाने के बाद, आप VM कंसोल से अपने आप कनेक्ट नहीं होंगेnetwork
- एक नेटवर्क प्रकार (पुल, मेरे मामले में);ram
— VM में RAM की मात्रा;vcpus
- CPU कोर की संख्या (VM के लिए vCPU कॉन्फ़िगरेशन)disk
- एक वर्चुअल डिस्क, पथ - डिस्क का पथ, आकार - डिस्क का आकार (आप इसे बाद में बढ़ा/छोटा कर सकते हैं)cdrom
- एक वर्चुअल सीडीरॉम, एक गस्ट ओएस को स्थापित करने के लिए एक आईएसओ इमेज को माउंट किया जाता है;graphics
— ग्राफिक कंसोल का उपयोग करके वर्चुअल मशीन से कनेक्ट करने के लिए पैरामीटर। हम इसे कनेक्ट करने के लिए VNC का उपयोग करेंगे, इसलिए सुनने के लिए KVM सर्वर का IP पता निर्दिष्ट करें, जिस पर आपने VM बनाया है, और वर्चुअल मशीन कंसोल से कनेक्ट करने के लिए पासवर्ड
VM को स्वचालित रूप से बूट करने के लिए, चलाएँ:
# virsh autostart test-centosvm
VNC का उपयोग करके KVM VM से कैसे कनेक्ट करें और OS इंस्टॉल करें?
VNC का उपयोग करके KVM वर्चुअल मशीन से कनेक्ट करने के लिए, आपको उस पोर्ट का पता लगाना होगा जिस पर वह चल रहा है:# virsh vncdisplay test-centovms
IP:0
0 इसका मतलब है कि VNC का उपयोग करके कनेक्ट करने के लिए पोर्ट नंबर 5900 है। यदि आपको कोई भिन्न मान मिलता है, तो बस उस नंबर को जोड़ें जो कमांड 5900 पर वापस आ गया है।
VNC का उपयोग कर सर्वर से कनेक्ट करने के लिए, मैं TightVNC . का उपयोग कर रहा हूं . इसे चलाएं और अपने सर्वर का आईपी पता और वीएनसी पोर्ट निर्दिष्ट करें जो हमें पहले मिला था (एक विभाजक के रूप में डबल कोलन के साथ)।
कनेक्ट करें Click क्लिक करें और अपना KVM VM बनाते समय आपके द्वारा सेट किया गया पासवर्ड दर्ज करें। यदि आपने इसे सही तरीके से किया है, तो सर्वर कंसोल दिखाई देता है, जिसमें CentOS इंस्टॉलेशन (या कोई अन्य अतिथि OS, जिसे आपने माउंट किया है) चल रहा है।
यदि आपके सर्वर पर फ़ायरवॉल सक्षम है, तो फ़ायरवॉल/iptables में VNC के लिए 5900-5910 पोर्ट खोलें (दस पोर्ट पर्याप्त होंगे)। वर्चुअल मशीन पर अतिथि OS की स्थापना के बाद, VM को सर्वर कंसोल से प्रारंभ करें:
KVM वर्चुअल मशीन को बंद करने के लिए, इस कमांड का उपयोग करें:
# virsh shutdown test-centosvm
सभी पंजीकृत KVM वर्चुअल मशीनों की सूची प्रदर्शित करने के लिए:
# virsh list --all
मूल KVM होस्ट कॉन्फ़िगरेशन समाप्त हो गया है, और एक वर्चुअल मशीन बनाई गई है। आप KVM में कितनी भी वर्चुअल मशीन बना सकते हैं, यह केवल आपके सर्वर संसाधनों और आपकी आवश्यकताओं पर निर्भर करता है।