comment supprimer un invité après l'avoir créé avec virt-install


19

J'ai créé un invité KVM à partir de la ligne de commande avec virt-installoù j'ai utilisé les options de ligne de commande --disk pool=vg0,size=20et --name virt1.example.com.

Comment puis-je supprimer cet invité KVM de la ligne de commande? Je n'en ai plus besoin.

Pour mémoire, toute la ligne de commande était

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 

et voici quelques informations supplémentaires

[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

Mise à jour

L'exécution de ces trois commandes semble supprimer le KVM installé

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

Pour plus de détails, voir la session du 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
Pour les autres personnes qui consultent cette réponse, si votre erreur se trouve à l'étape virsh undefine virt1.example.com (avec une erreur telle que «Refuser d'annuler la définition alors qu'il existe une image de sauvegarde gérée par le domaine»). Ensuite, vous aurez peut-être besoin d'une commande supplémentaire comme: virsh managedsave-remove virt1.example.com.
nmtoken

Réponses:


26

Selon le manuel de virsh, c'est:

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

Et il dit en outre: "Annuler la définition (détruire) la configuration d'un domaine inactif. Puisque le domaine n'exécute pas le nom de domaine ou l'UUID doit être utilisé comme l'ID de domaine."


Merci @mailq Je pense que j'ai réussi à supprimer le KVM. Peut-être pourriez-vous mettre à jour votre réponse en conséquence?
Erik Sjölund

Maintenant, il reflète la solution
mailq

5
Pour ceux qui sont curieux, voici ce que font ces commandes: virsh destroyfait un arrêt forcé du vm, virsh undefinesupprime la configuration de KVM et virsh vol-deletesupprime l'image disque réelle. Si vous devez obtenir le _domain-id_type virsh list --allpour obtenir une liste de vos machines virtuelles.
Rick Chatham

3
Cette recette a été scriptée dans virt-delete à partir de virt-utils , qui contient également quelques autres scripts utiles.
imz - Ivan Zakharyaschev

Vous pouvez le faire virsh undefine yourdomainname --storage vdaen une seule étape. Faites attention à ne pas l'utiliser --remove-all-storage, sauf si vous savez ce que vous faites.
ILMostro_7
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.