当我尝试用OpenStack启动实例时,在nova-compute.log中出现以下错误:
(nova.rpc): TRACE: libvirtError: operation failed: domain 'instance-0000000a' already exists with uuid 5f81a7d2-1b0f-8c72-4e1e-377c275e9289
但是,virsh不显示任何域:
$ sudo virsh list Id Name State ----------------------------------
为什么不是那个域名在virsh中出现?
您的网域可能会被closures。 运行virsh list --all全部查看所有域。
还不熟悉OpenStack,但是在旧的libvirt中,这个错误通常意味着不是有一个RUNNING实例,而是有一个DEFINED实例。 “virsh list”只显示当前活动的虚拟机,而不是每个定义的虚拟机。 尝试:
virsh edit instance-0000000a
如果这个popup窗口打开vim,并且有一堆XML,那么已经有一个定义的“instance-0000000a”虚拟机。 如果您100%确定不需要,请退出编辑器并使用:
virsh undefine instance-0000000a
然后让OpenStack尝试你正在做的事情,它应该工作。
顺便说一句,如果你想要什么,你可以开始:
virsh start instance-0000000a
但是,再次,不熟悉OpenStack,它可能不喜欢你这样做,不知道。
情况1:
你确定命令行上的virsh和你的OpenStack控制器在同一个hypervisor上? 这将是两个最简单的解释,为什么virsh没有显示正在运行的实例。
情景2:
如果您使用ps ,您是否看到任何qemu-kvm实例正在运行? 尝试:
ps -fe | grep qemu-kvm
如果有qemu-kvm实例在运行,它们将有一个名称参数,它应该与virsh使用的名称相匹配。 无论如何,你可以kill -9这些进程。