我在 CentOS 服务器上运行。我首先为 Ubuntu VM 创建了一台 KVM 机器,但出了点问题(我无法连接到 VNC 会话),所以我中止了它。第一个命令缺少警告virt-viewer
,所以我安装了它。然后,我尝试virt-install
再次启动该命令,结果显示:
ERROR Guest name 'vm1' is already in use.
我环顾四周,似乎我需要取消定义/销毁它,但我收到如下错误:
$ virsh undefine vm1
error: failed to get domain 'vm1'
error: Domain not found: no domain with matching name 'vm1'
$ virsh destroy vm1
error: failed to get domain 'vm1'
error: Domain not found: no domain with matching name 'vm1'
$ virsh list --all
Id Name State
----------------------------------------------------
$
关于如何找到虚拟机并删除它以便我可以再次(正确地)创建它,您有什么想法吗?
答案1
检查/etc/libvirt/
是否/var/lib/libvirt/
还留有一些过时的文件。如果是,请删除它并重新启动服务libvirt
。
答案2
可以尝试重新启动 libvirtd 服务。不用担心,重新启动此服务时,您现有的正在运行的虚拟机仍然运行良好。
答案3
可能是“vm1”域已被另一个用户使用,因此您应该使用该用户取消定义它。
我有不同的存储池,但不同的用户看不到它们,所以我猜想域也会发生同样的事情。
[ibai@localhost ~]$ virsh pool-list --details
Name State Autostart Persistent Capacity Allocation
-------------------------------------------------------------------
gnome-boxes running yes yes 101,26 GiB 32,42 GiB
[root@localhost ~]$ virsh pool-list --details
Name State Autostart Persistent Capacity Allocation
-------------------------------------------------------------------
default running yes yes 101,62 GiB 24,14 GiB
Downloads running yes yes 101,26 GiB 32,55 GiB
你的情况可能是这样的:
[user1@localhost]$ virsh list --all
Id Name State
----------------------------------------------------
[user2@localhost]$ virsh list --all
Id Name State
----------------------------------------------------
-- vm1 shut_down
还请考虑到文件可能位于非默认目录中,因此您最好尝试通过以下命令或类似命令找到它们(以 root 身份获取更好):
sudo find / -name "vm1.*"
sudo find / -name "*vm1*"
sudo find / -name "*.qcow2"