我从命令行创建了一个 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 的手册,这是:
virsh destroy _domain-id_
virsh undefine _domain-id_
virsh vol-delete --pool vg0 _domain-id_.img
它还进一步指出:“取消定义(销毁)非活动域的配置。由于该域未运行,因此必须使用域名或 UUID 作为域 ID。”