วิธีการลบแขกหลังจากสร้างด้วย 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

และมันยังกล่าวเพิ่มเติมว่า: "Undefine (ทำลาย) การกำหนดค่าสำหรับโดเมนที่ไม่ได้ใช้งานเนื่องจากโดเมนไม่ได้ใช้ชื่อโดเมนหรือต้องใช้ UUID เป็น domain-id"


ขอบคุณ @mailq ฉันคิดว่าฉันจัดการเพื่อลบ KVM บางทีคุณสามารถอัปเดตคำตอบของคุณได้ไหม?
Erik Sjölund

ตอนนี้มันสะท้อนวิธีแก้ปัญหา
mailq

5
สำหรับผู้ที่อยากรู้อยากเห็นนี่คือสิ่งที่คำสั่งเหล่านั้นทำ: virsh destroyทำการบังคับให้ปิดเครื่อง vm virsh undefineลบการกำหนดค่าออกจาก KVM และvirsh vol-deleteลบภาพดิสก์จริง หากคุณต้องการรับ_domain-id_ชนิดvirsh list --allเพื่อรับรายการ VMs ของคุณ
Rick Chatham

3
สูตรนี้เขียนสคริปต์ในvirt-deleteจากvirt-utilsซึ่งมีสคริปต์ที่มีประโยชน์อื่น ๆ อีกสองสามรายการ
imz - Ivan Zakharyaschev

คุณสามารถทำได้virsh undefine yourdomainname --storage vdaในขั้นตอนเดียว ระวังอย่าใช้--remove-all-storageจนกว่าคุณจะรู้ว่ากำลังทำอะไรอยู่
ILMostro_7
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.