come eliminare un guest dopo averlo creato con virt-install


19

Ho creato un guest KVM dalla riga di comando con virt-installcui ho usato le opzioni della riga di comando --disk pool=vg0,size=20e --name virt1.example.com.

Come posso eliminare questo guest KVM dalla riga di comando? Non ne ho più bisogno.

Solo per la cronaca era l'intera riga di comando

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 

ed ecco alcune informazioni extra

[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

Aggiornare

L'esecuzione di questi tre comandi sembra rimuovere la KVM installata

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

Per maggiori dettagli consultare la sessione del terminale:

[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
Per gli altri che stanno guardando questa risposta, se il tuo errore è al passo virsh undefine virt1.example.com (con un errore come "Rifiuto di annullare la definizione mentre l'immagine di salvataggio gestita dal dominio esiste"). Quindi potrebbe essere necessario un comando aggiuntivo come: virsh managedsave-remove virt1.example.com.
nmtoken,

Risposte:


26

Secondo il manuale di virsh questo è:

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

E dice inoltre: "Annulla la definizione (distruzione) della configurazione per un dominio inattivo. Poiché il dominio non esegue il nome di dominio o UUID deve essere utilizzato come id-dominio".


Grazie @mailq penso di essere riuscito a eliminare KVM. Forse potresti aggiornare la tua risposta di conseguenza?
Erik Sjölund,

Ora riflette la soluzione
mailq

5
Per coloro che sono curiosi, questo è ciò che fanno quei comandi: virsh destroyfa un arresto forzato della VM, virsh undefinerimuove la configurazione da KVM e virsh vol-deleterimuove l'immagine del disco reale. Se è necessario ottenere il _domain-id_tipo virsh list --allper ottenere un elenco delle macchine virtuali.
Rick Chatham,

3
Questa ricetta è stata scritta in virt-delete da virt-utils , che ha anche alcuni altri script utili.
imz - Ivan Zakharyaschev,

Puoi farlo virsh undefine yourdomainname --storage vdain un solo passaggio. Fai attenzione a non usarlo --remove-all-storage, a meno che tu non sappia cosa stai facendo.
ILMostro_7,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.