![Virsh 域名中有空格,无法删除](https://linux22.com/image/636201/Virsh%20%E5%9F%9F%E5%90%8D%E4%B8%AD%E6%9C%89%E7%A9%BA%E6%A0%BC%EF%BC%8C%E6%97%A0%E6%B3%95%E5%88%A0%E9%99%A4.png)
我无法启动或销毁域名:
virsh # list --all
Id Name State
----------------------------------------------------
1 pxe running
- Centos_6.5_64 shut off
- Git Server shut off
我无法启动域:
virsh # start Git
error: failed to get domain 'Git'
error: Domain not found: no domain with matching name 'Git'
virsh # start Git Server
error: unexpected data 'Server'
因此我无法销毁该域名。
我怎样才能分配 ID 或者以其他方式删除该虚拟机?
因为它里面有一个空格,所以我无法像管理其他域那样管理它。
我知道它们不应该有空格,但话又说回来,最终用户并不总是听从他们所说的:P
感谢您提供的任何帮助。
答案1
孩子们,不要在家里尝试这个:
Libvirt 应该拒绝创建名称中带有空格的域,所以有人做了一些奇怪的事情来创建该域。要从中恢复过来,需要手动编辑一些通常不应该手动接触的文件。
所以我会这样做:
停止 libvirtd(您的虚拟机将继续运行)。
service libvirtd stop
找到有问题的 XML 文件,它应该位于中的某个地方
/etc/libvirt/qemu
。# ls /etc/libvirt/qemu autostart Centos_6.5_64.xml Git Server.xml networks pxe.xml
重命名有问题的文件。
# mv /etc/libvirt/qemu/Git\ Server.xml /etc/libvirt/qemu/Git_Server.xml
编辑有问题的文件中的名称。
# vi /etc/libvirt/qemu/Git_Server.xml <domain type='kvm'> <name>Git_Server</name> ...
重新启动 libvirtd。
service libvirtd start
答案2
这(如今)实际上很简单:
$ virsh destroy "Git Server"
$ virsh undefine "Git Server"