virt-install을 사용하여 게스트를 만든 후 삭제하는 방법


19

나는 명령 행에서 KVM 게스트를 만들어 virt-install내가 명령 줄 옵션을 사용하는 경우 --disk pool=vg0,size=20--name virt1.example.com.

명령 행에서이 KVM 게스트를 삭제하려면 어떻게해야합니까? 더 이상 필요하지 않습니다.

기록을 위해 전체 명령 행은

virt-install --debug --hvm --vnc --name virt1.example.com --os-type=linux --os-variant=rhel6 --pxe --network network=default,model=e1000,mac=02:54:00:13:be:e4 --disk pool=vg0,size=20 --ram 1024 --vcpus=1 

여기 추가 정보가 있습니다

[root@server ~]# virsh vol-list vg0
Name                 Path                                    
-----------------------------------------
lv0                  /dev/vg0/lv0                            
lv_swap              /dev/vg0/lv_swap                        
virt1.example.com.img /dev/vg0/virt1.example.com.img  

[root@server ~]# virsh list
 Id Name                 State
----------------------------------
  3 virt1.example.com running

최신 정보

이 세 가지 명령을 실행하면 설치된 KVM이 제거 된 것 같습니다

virsh destroy virt1.example.com
virsh undefine virt1.example.com
virsh vol-delete --pool vg0 virt1.example.com.img

자세한 내용은 터미널 세션을 참조하십시오.

[root@server ~]# virsh list --all
 Id Name                 State
----------------------------------
 3 virt1.example.com running

[root@server ~]# virsh undefine virt1.example.com
error: Failed to undefine domain virt1.example.com
error: Requested operation is not valid: cannot delete active domain

[root@server ~]# virsh destroy virt1.example.com
Domain virt1.example.com destroyed

[root@server ~]# virsh list --all
 Id Name                 State
----------------------------------
  - virt1.example.com shut off

[root@server ~]# virsh undefine virt1.example.com
Domain virt1.example.com has been undefined

[root@server ~]# virsh list --all
 Id Name                 State
----------------------------------

[root@server ~]# virsh vol-list --pool vg0
Name                 Path                                    
-----------------------------------------
lv0                  /dev/vg0/lv0                            
lv_swap              /dev/vg0/lv_swap                        
virt1.example.com.img /dev/vg0/virt1.example.com.img  

[root@server ~]# virsh vol-delete --pool vg0 virt1.example.com.img
Vol virt1.example.com.img deleted

[root@server ~]# virsh vol-list --pool vg0
Name                 Path                                    
-----------------------------------------
lv0                  /dev/vg0/lv0                            
lv_swap              /dev/vg0/lv_swap                        

[root@server ~]# cat /etc/issue
CentOS Linux release 6.0 (Final)
Kernel \r on an \m

[root@server ~]# virsh --version
0.8.1

1
이 답변을보고있는 다른 사람들의 경우, 오류가 virsh undefine virt1.example.com 단계에있는 경우 ( '도메인 관리 저장 이미지가있는 동안 정의 해제를 거부하는 중'과 같은 오류가 있음). 그런 다음 virsh managedsave-remove virt1.example.com과 같은 추가 명령이 필요할 수 있습니다.
nmtoken

답변:


26

virsh 매뉴얼에 따르면 다음과 같습니다.

virsh destroy _domain-id_
virsh undefine _domain-id_
virsh vol-delete --pool vg0 _domain-id_.img

또한 "비활성 도메인의 구성을 정의 해제 (파기)합니다. 도메인에서 도메인 이름을 실행하지 않기 때문에 UUID를 도메인 ID로 사용해야합니다."


감사합니다 @mailq KVM을 삭제했다고 생각합니다. 어쩌면 그에 따라 답변을 업데이트 할 수 있습니까?
Erik Sjölund

이제 솔루션을 반영합니다
mailq

5
궁금한 사람들에게는 이것이 명령 virsh destroy의 역할입니다. vm을 강제 종료 virsh undefine하고 KVM에서 구성을 virsh vol-delete제거하며 실제 디스크 이미지를 제거합니다. 당신이 얻을해야하는 경우 _domain-id_유형은 virsh list --all당신의 VM의 목록을 얻을 수 있습니다.
Rick Chatham

3
이 레시피에 스크립트 된 VIRT-삭제 에서 VIRT-유틸 또한 몇 가지 다른 유용한 스크립트를 보유하고 있습니다.
imz-Ivan Zakharyaschev

virsh undefine yourdomainname --storage vda한 번에 할 수 있습니다 . --remove-all-storage수행중인 작업을 모르면를 사용하지 않도록주의하십시오 .
ILMostro_7
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.