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

Virsh के साथ CLI से KVM वर्चुअल मशीन प्रबंधित करें

पिछले लेख में हमने चर्चा की थी कि KVM हाइपरवाइज़र कैसे इंस्टॉल करें और वर्चुअल मशीन कैसे बनाएं। एक ही लेख में हम KVM वर्चुअल मशीन प्रबंधन को विस्तार से कवर नहीं कर सके। आज हम दिखाने की कोशिश करेंगे कि virsh के साथ कमांड लाइन से वर्चुअल मशीन कैसे प्रबंधित करें: VM सेटिंग्स कैसे बदलें, अतिरिक्त वर्चुअल डिवाइस कैसे जोड़ें, और Linux पर KVM वर्चुअल मशीन प्रबंधित करने के लिए किन कमांड्स का उपयोग करें।

KVM वर्चुअल मशीन प्रबंधित करने के लिए Virsh (वर्चुअल शेल) कमांड्स का उपयोग करना

आइए देखें कि रजिस्टर्ड KVM वर्चुअल मशीन कैसे देखें, उन्हें कैसे शुरू, रोकें या हटाएं। Virsh (libvirt API पर आधारित) का उपयोग Linux कंसोल में KVM वर्चुअल मशीन प्रबंधित करने के लिए किया जा सकता है।

# virsh list – चल रही VMs की सूची दिखाता है

# virsh list --all – सभी रजिस्टर्ड वर्चुअल मशीनों की सूची दिखाता है (बंद वाले सहित)

Virsh के साथ CLI से KVM वर्चुअल मशीन प्रबंधित करें

जैसा कि आप स्क्रीनशॉट में देख सकते हैं, पहले मामले में बंद VM प्रदर्शित नहीं हुई थी।

# virsh shutdown <vm name> — वर्चुअल मशीन बंद करें

# virsh start <vm name> — वर्चुअल मशीन शुरू करें

# virsh suspend <vm name> — VM सस्पेंड करें

# virsh resume <vm name> — सस्पेंडेड वर्चुअल मशीन शुरू करें

# virsh reboot <vm name> — VM रीस्टार्ट करें

# virsh destroy <vm name> — तत्काल अनग्रेसफुल शटडाउन शुरू करता है और VM रोकता है (जब गेस्ट वर्चुअल मशीन अनुत्तरदायी हो तो इस कमांड का उपयोग करें)

# virsh undefine <vm name> — VM अनरजिस्टर करें और इसके स्टोरेज वॉल्यूम हटाएं

# virsh vcpuinfo <vm name> — VM के vCPU के बारे में जानकारी दिखाता है

Virsh के साथ CLI से KVM वर्चुअल मशीन प्रबंधित करें

वर्चुअल मशीन के बारे में विभिन्न जानकारी प्राप्त करने के लिए कुछ अन्य कमांड्स यहां दिए गए हैं:

# virsh domid <vm name> — वर्चुअल मशीन ID प्राप्त करें

# virsh domuuid <vm name> — वर्चुअल मशीन का UUID दिखाएं

# virsh dominfo <vm name> — वर्चुअल मशीन के बारे में जानकारी प्रदर्शित करता है

# virsh domstate <vm name> — VM स्थिति देखें

Virsh के साथ CLI से KVM वर्चुअल मशीन प्रबंधित करें

# virsh dumpxml <vm name> — वर्चुअल मशीन की कॉन्फ़िगरेशन फाइल को XML फॉर्मेट में सूचीबद्ध करें

KVM वर्चुअल मशीन में मेमोरी और vCPU कैसे जोड़ें?

KVM कंसोल में, आप VM को आवंटित CPU या मेमोरी संसाधनों को दो तरीकों से जोड़ या कम कर सकते हैं:

  • virsh का उपयोग करके
  • XML कॉन्फ़िगरेशन फाइल के माध्यम से

यदि वर्चुअल मशीन चल रही है, तो इसे बंद करें:

# virsh shutdown test-centos

Domain test-centos is being shutdown

फिर virsh का उपयोग करके वर्चुअल CPUs (vCPU) की संख्या 6 पर बदलें:

# virsh setvcpus <vm name> <vcpu_count> --config

उदाहरण के लिए:

# virsh setvcpus test-centos 6 --config

कमांड चलाने के बाद, एक त्रुटि दिखाई दी:

error: invalid argument: requested vcpus is greater than max allowable vcpus for the persistent domain: 6 > 4

आप अधिकतम अनुमत संख्या से अधिक कोर सेट नहीं कर सकते। VM vCPUs की अधिकतम अनुमत संख्या बढ़ाने के लिए, यह कमांड चलाएं:

# virsh setvcpus test-centos 6 --config --maximum

फिर पिछली कमांड चलाएं और वर्चुअल मशीन शुरू करें:

Virsh के साथ CLI से KVM वर्चुअल मशीन प्रबंधित करें

VM सेटिंग्स में vCPUs की संख्या जांचें:

# virsh dumpxml test-centos

<domain type='kvm'>
<name>test-centos</name>
<uuid>3b223aa2-b322-1ff1-ab23-c1223abc1f01</uuid>
<memory unit='KiB'>2097152</memory>
<currentMemory unit='KiB'>2097152</currentMemory>
<vcpu placement='static'>6</vcpu>

इसी तरह, आप वर्चुअल मशीन में अतिरिक्त RAM जोड़ सकते हैं:

# virsh setmem <vm_name> <memsize> --config

उदाहरण के लिए:

# virsh setmem test-centos 4G --config

उसी कारण से त्रुटि हुई:

error: invalid argument: cannot set memory higher than max memory.

अधिकतम मेमोरी मात्रा बढ़ाएं:

# virsh setmaxmem test-centos 6G --config

फिर आप VM में मेमोरी जोड़ सकते हैं।

कोई भी बदलाव करने से पहले, वर्चुअल मशीन को बंद करना सुनिश्चित करें और फिर इसे शुरू करें।

आप KVM VM के संसाधनों की मात्रा को उसकी XML कॉन्फ़िगरेशन फाइल में भी बदल सकते हैं। आप इसे ऑनलाइन संपादित कर सकते हैं या VM XML फाइल का बैकअप ले सकते हैं, इसे संशोधित कर सकते हैं और वर्चुअल मशीन पर लागू कर सकते हैं।

आइए VM XML फाइल को ऑनलाइन संपादित करें:

# virsh edit <vm_name>

दिखाई देने वाले vi एडिटर में, Insert बटन दबाकर वांछित परिवर्तन करें।

निम्न ब्लॉक बदलें:

<domain type='kvm'>
<name>test-centos</name>
<uuid>3b223aa2-b322-1ff1-ab23-c1223abc1f01</uuid>
<memory unit='KiB'>6291456</memory>
<currentMemory unit='KiB'>4194304</currentMemory>
<vcpu placement='static'>6</vcpu>
<os>

उदाहरण के लिए, VM को 2 प्रोसेसर कोर और 1 GB मेमोरी आवंटित करें:

Virsh के साथ CLI से KVM वर्चुअल मशीन प्रबंधित करें

ध्यान दें कि मेमोरी आकार किलोबाइट्स में दिखाया गया है।

फाइल में परिवर्तन सेव करें और अपनी VM रीबूट करें:

# virsh reboot <vm_name>

आप वही कर सकते हैं यदि आप XML फाइल का बैकअप लेते हैं:

# virsh dumpxml <vm_name> > /root/test.xml
# vi /root/test.xml

वांछित सेटिंग्स बदलें, फाइल सेव करें और इसे वर्चुअल मशीन पर लागू करें:

# virsh shutdown test-centos

Domain test-centos is being shutdown

# virsh define /root/test.xml

Domain test-centos defined from /root/test.xml

# virsh start test-centos

Domain test-centos started
कभी-कभी जब आप VM कॉन्फ़िगरेशन फाइल को ऑनलाइन बदलते हैं, तो रीबूट के बाद आवंटित संसाधन रीसेट हो जाते हैं। इस मामले में, वर्चुअल मशीन को रोकें और फिर बस इसे शुरू करें।

मौजूदा KVM VM में डिस्क जोड़ें

हमारे एक लेख में हमने बताया था कि KVM वर्चुअल मशीन के डिस्क आकार को कैसे बढ़ाया या घटाया जाए। लेकिन हमने यह नहीं बताया कि अतिरिक्त डिस्क कैसे जोड़ें।

सबसे पहले, वर्चुअल मशीन के लिए एक नई डिस्क फाइल बनाएं:

# qemu-img create -f qcow2 -o size=20G /vz/disk/test.img

qcow2 के बजाय, आप जिस डिस्क फॉर्मेट को चाहें उपयोग कर सकते हैं। फाइल पथ भी निर्दिष्ट करें। मेरा डिस्क स्टोरेज /vz/disk/ में स्थित है।

फिर आप VM में वर्चुअल डिस्क डिवाइस जोड़ सकते हैं:

# virsh attach-disk <vm_name> /vz/disk/test.img vdb --type disk --persistent

अपनी VM को बंद करें और रीबूट करें, फिर देखें कि आपको क्या मिला:

# virsh shutdown test-centos

Domain test-centos is being shutdown

# virsh start test-centos

Domain test-centos started

# virsh dumpxml test-centos

<domain type='kvm' id='14'>
<name>test-centos</name>
<uuid>3b223aa2-b322-1ff1-ab23-c1223abc1f01</uuid>
<memory unit='KiB'>2097152</memory>
<currentMemory unit='KiB'>2097152</currentMemory>
<vcpu placement='static'>6</vcpu>
<resource>
<partition>/machine</partition>
</resource>
<os>
<type arch='x86_64' machine='pc-i440fx-rhel7.0.0'>hvm</type>
<boot dev='cdrom'/>
<boot dev='hd'/>
<bootmenu enable='yes'/>
</os>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2'/>
<source file='/vz/disk/test.img'/>
<backingStore/>
<target dev='vdb' bus='virtio'/>
<alias name='virtio-disk1'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x09' function='0x0'/>
</disk>

जैसा कि आप देख सकते हैं, डिस्क जोड़ दी गई है।

KVM वर्चुअल मशीन में दूसरा NIC कैसे जोड़ें?

आइए VM में एक और नेटवर्क इंटरफ़ेस जोड़ने का प्रयास करें। सबसे पहले, Linux होस्ट पर नेटवर्क इंटरफेस जांचें:

# brctl show

Virsh के साथ CLI से KVM वर्चुअल मशीन प्रबंधित करें

मेरे KVM होस्ट पर एक नेटवर्क इंटरफ़ेस के साथ एक वर्चुअल मशीन है। मैं br0 पर एक और वर्चुअल नेटवर्क इंटरफ़ेस जोड़ना चाहता हूं। ये कमांड्स चलाएं:

# virsh shutdown test-centos
# virsh attach-interface test-centos --type bridge --source br0 --persistent
# virsh start test-centos

सुनिश्चित करें कि आपकी VM में एक और नेटवर्क इंटरफ़ेस दिखाई दिया है:

Virsh के साथ CLI से KVM वर्चुअल मशीन प्रबंधित करें

<interface type='bridge'>
<mac address='52:54:00:7e:c1:9f'/>
<source bridge='br0'/>
<model type='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</interface>
<interface type='bridge'>
<mac address='52:54:00:2f:23:79'/>
<source bridge='br0'/>
<model type='rtl8139'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x0a' function='0x0'/>
</interface>

आप अपने वर्चुअल मशीन के नेटवर्क सेटिंग्स को सीधे XML फाइल के माध्यम से भी बदल सकते हैं:

# virsh edit test-centos

पहले नेटवर्क इंटरफ़ेस के बाद, ये लाइनें जोड़ें:

<interface type='bridge'>
<source bridge='br0'/>
</interface>

फाइल सेव करें और VM शुरू करें। KVM बाकी कॉन्फ़िगरेशन (MAC पता, आदि) खुद जोड़ देगा।

इस लेख में हमने उन मुख्य चीजों को कवर किया है जिनकी आपको Linux सर्वर कंसोल से KVM वर्चुअल मशीन प्रबंधित करने के लिए आवश्यकता हो सकती है। अगले लेख में हम दिखाएंगे कि virt-manager GUI के माध्यम से वर्चुअल मशीन कैसे प्रबंधित करें।

  1. चरण-दर-चरण गाइड: VMware सर्वर में वर्चुअल मशीन क्लोन करना चरण-दर-चरण गाइड: VMware सर्वर में वर्चुअल मशीन क्लोन करना

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

  1. VirtualBox में 3D त्वरण मास्टर करें: विंडोज VM के लिए OpenGL सक्षम करें VirtualBox में 3D त्वरण मास्टर करें: विंडोज VM के लिए OpenGL सक्षम करें

    यह वर्चुअल मशीनों में 3D वर्चुअलाइजेशन को कॉन्फ़िगर करने और उपयोग करने के लिए समर्पित तीन लेखों में से दूसरा है। आज, हम सीखेंगे कि VirtualBox में स्थापित विंडोज वर्चुअल मशीनों के लिए OpenGL एप्लिकेशन (और गेम) के लिए 3D त्वरण कैसे सक्षम करें, चाहे वह विंडोज या लिनक्स होस्ट पर स्थापित हो। पहले लेख मे

  1. VMware VM में DirectX के साथ 3D त्वरण अनुकूलित करें - ट्यूटोरियल भाग 1 VMware VM में DirectX के साथ 3D त्वरण अनुकूलित करें - ट्यूटोरियल भाग 1

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