cara menghapus tamu setelah membuatnya dengan instal-instal

19

Saya membuat tamu KVM dari baris perintah dengan virt-installtempat saya menggunakan opsi baris perintah --disk pool=vg0,size=20dan --name virt1.example.com.

Bagaimana saya bisa menghapus tamu KVM ini dari baris perintah? Saya tidak membutuhkannya lagi.

Sebagai catatan seluruh baris perintah itu

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 

dan inilah beberapa informasi tambahan

[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

Memperbarui

Menjalankan ketiga perintah ini tampaknya menghapus KVM yang diinstal

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

Untuk lebih jelasnya lihat sesi 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
Erik Sjölund
sumber
1
Untuk orang lain yang melihat jawaban ini, jika kesalahan Anda ada di langkah virsh undefine virt1.example.com (dengan kesalahan seperti 'Menolak untuk membatalkan sementara domain berhasil menyimpan gambar ada'). Maka Anda mungkin memerlukan perintah tambahan seperti: virsh Managedsave-remove virt1.example.com.
nmtoken

Jawaban:

26

Menurut manual virsh ini adalah:

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

Dan selanjutnya dikatakan: "Batalkan (hancurkan) konfigurasi untuk domain tidak aktif. Karena domain tidak menjalankan nama domain atau UUID harus digunakan sebagai domain-id."

mailq
sumber
Terima kasih @mailq, saya rasa saya berhasil menghapus KVM. Mungkin Anda dapat memperbarui jawaban Anda sesuai?
Erik Sjölund
Sekarang ini mencerminkan solusinya
mailq
5
Bagi mereka yang penasaran, inilah yang dilakukan oleh perintah-perintah itu: virsh destroymelakukan pematian paksa terhadap vm, virsh undefinemenghapus konfigurasi dari KVM, dan virsh vol-deletemenghapus gambar disk yang sebenarnya. Jika Anda perlu mendapatkan _domain-id_tipe virsh list --alluntuk mendapatkan daftar VM Anda.
Rick Chatham
3
Resep ini telah ditulis dalam virt-delete dari virt-utils , yang juga memiliki beberapa skrip berguna lainnya.
imz - Ivan Zakharyaschev
Anda bisa melakukannya virsh undefine yourdomainname --storage vdadalam satu langkah. Berhati-hatilah untuk tidak menggunakannya --remove-all-storage, kecuali Anda tahu apa yang Anda lakukan.
ILMostro_7