cómo eliminar un invitado después de crearlo con virt-install


19

Creé un invitado KVM desde la línea de comando con virt-installdonde usé las opciones de línea de comando --disk pool=vg0,size=20y --name virt1.example.com.

¿Cómo puedo eliminar este invitado KVM de la línea de comando? Ya no lo necesito.

Solo para el registro, toda la línea de comando era

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 

y aquí hay información adicional

[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

Actualizar

La ejecución de estos tres comandos parece eliminar el KVM instalado

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

Para más detalles ver la sesión de terminal:

[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
Para otros que miran esta respuesta, si su error está en el paso virsh undefine virt1.example.com (con un error como 'Negarse a indefinir mientras exista una imagen guardada administrada por el dominio'). Entonces es posible que necesite un comando adicional como: virsh managedsave-remove virt1.example.com.
— nmtoken

Respuestas:


26

Según el manual de virsh esto es:

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

Y además dice: "No define (destruye) la configuración de un dominio inactivo. Dado que el dominio no se está ejecutando, el nombre de dominio o UUID deben usarse como id de dominio".


Gracias @mailq Creo que logré eliminar el KVM. ¿Quizás podría actualizar su respuesta en consecuencia?
— Erik Sjölund

Ahora refleja la solución
— mailq

55
Para aquellos que tienen curiosidad, esto es lo que hacen esos comandos: virsh destroyrealiza un apagado forzado de la máquina virtual, virsh undefineelimina la configuración de KVM y virsh vol-deleteelimina la imagen real del disco. Si necesita obtener el _domain-id_tipo virsh list --allpara obtener una lista de sus máquinas virtuales.
— Rick Chatham

3
Esta receta se ha escrito en virt-delete de virt-utils , que también tiene algunos otros scripts útiles.
— imz - Ivan Zakharyaschev

Puedes hacerlo virsh undefine yourdomainname --storage vdaen un solo paso. Tenga cuidado de no usar --remove-all-storage, a menos que sepa lo que está haciendo.
— ILMostro_7
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.