मैं KVM + libvirt पर एक VM का नाम कैसे बदल सकता हूं?
मैं चाहूंगा कि 'इन्वेंट्री' में नाम बदलने के साथ-साथ स्टोरेज आदि का नाम भी बदल दें।
मैं KVM + libvirt पर एक VM का नाम कैसे बदल सकता हूं?
मैं चाहूंगा कि 'इन्वेंट्री' में नाम बदलने के साथ-साथ स्टोरेज आदि का नाम भी बदल दें।
जवाबों:
रन
virsh dumpxml name_of_vm > name_of_vm.xml
डुप्लिकेट UUID के कारण त्रुटि को रोकने के लिए पुराने vm को अनफ़ाइन करें।
virsh undefine name-of-vm
Xml फ़ाइल को संपादित करें फिर इसे आयात करें।
virsh define name_of_vm.xml
बेशक आपको परिवर्तनों को प्रभावी होने के लिए वीएम को रोकना और शुरू करना होगा
virsh destroy name_of_vm
virsh start name_of_vm
virsh dumpxml myvm > foo.xml
<edit foo.xml, change the name, move storage>
virsh undefine myvm
virsh define foo.xml
स्रोत: https://www.redhat.com/archives/libvirt-users/2010-ctct/msg00072.html
virsh
domrename
1.2.19 रिलीज में लागू : 02 सितंबर 2015। तो वर्तमान में सबसे अच्छा अभ्यास सिर्फ है:
virsh domrename oldname newname
जैसा कि आप उम्मीद कर सकते हैं, थोमडेन को रोका जाना चाहिए, लेकिन यह भी किसी भी स्नैपशॉट नहीं हो सकता है।
virsh edit newname
फ़ाइल पथ को बदल सकते हैं और mv oldname newname
निर्देशिका का नाम बदल सकते हैं।
कई मशीनों को बदलने के लिए आप इसका उपयोग कर सकते हैं:
virsh shutdown old-name
समाप्त करने और चलाने के लिए ऊपर की प्रतीक्षा करें:
virsh dumpxml old-name > old-name.xml
virsh undefine old-name
समाप्त करने और चलाने के लिए ऊपर की प्रतीक्षा करें:
sed -i 's/<name>old-name<\/name>/<name>new-name<\/name>/g' old-name.xml
virsh define old-name.xml
प्रत्येक मशीन के लिए इस एक-एक को चलाएं। यदि आपके पास एक सूची है, तो आप इस RegExp का उपयोग कर सकते हैं old-name new-name
:
([^\r\n]+?)[ \t]+([^\r\n]+)
virsh shutdown $1\n#WAIT!\nvirsh dumpxml $1 > $1.xml\nvirsh undefine $1\n\#WAIT!\nsed -i 's/<name>$1<\\/name>/<name>$2<\\/name>/g' $1.xml\nvirsh define $1.xml\n
मैं इसे थोड़ा अलग तरीके से करता हूं और अन-अनुशंसित विधि (निश्चित नहीं) हो सकती है।
virsh destroy old-vm
virsh edit old-vm
XML परिवर्तन में
virsh list --all
1 पुराना-वीएम शट-ऑफ
2 नए-वीएम शट-ऑफ
अब पुराने-वीएम को अपरिभाषित करें
virsh undefine old-vm