답변:
운영
virsh dumpxml name_of_vm > name_of_vm.xml
중복 UUID로 인한 오류를 방지하려면 이전 VM을 정의 해제하십시오.
virsh undefine name-of-vm
xml 파일을 편집 한 후 가져 오십시오.
virsh define name_of_vm.xml
물론 변경 사항을 적용하려면 vm을 중지했다가 시작해야합니다.
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-October/msg00072.html
virsh
domrename
릴리스 1.2.19 : 2015 년 9 월 2 일에 구현 되었습니다. 따라서 현재 모범 사례는 다음과 같습니다.
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