任何尝试启动nova计算服务都会失败,并显示错误HypervisorUnavailable: Connection to the hypervisor is broken on host:
跟踪日志如下(取自/var/log/nova/nova-compute.log )
AUDIT nova.service [-] Starting compute node (version 2014.1.1) ERROR nova.virt.libvirt.driver [-] Connection to libvirt failed: Failed to connect socket to '/var/run/libvirt/libvirt-sock': No such file or directory TRACE nova.virt.libvirt.driver Traceback (most recent call last): TRACE nova.virt.libvirt.driver File "/usr/lib/python2.7/dist-packages/nova/virt/libvirt/driver.py", line 787, in _connect TRACE nova.virt.libvirt.driver libvirt.openAuth, uri, auth, flags) TRACE nova.virt.libvirt.driver File "/usr/lib/python2.7/dist-packages/eventlet/tpool.py", line 139, in proxy_call TRACE nova.virt.libvirt.driver rv = execute(f,*args,**kwargs) TRACE nova.virt.libvirt.driver File "/usr/lib/python2.7/dist-packages/eventlet/tpool.py", line 77, in tworker TRACE nova.virt.libvirt.driver rv = meth(*args,**kwargs) TRACE nova.virt.libvirt.driver File "/usr/lib/python2.7/dist-packages/libvirt.py", line 105, in openAuth TRACE nova.virt.libvirt.driver if ret is None:raise libvirtError('virConnectOpenAuth() failed') TRACE nova.virt.libvirt.driver libvirtError: Failed to connect socket to '/var/run/libvirt/libvirt-sock': No such file or directory TRACE nova.virt.libvirt.driver ERROR nova.openstack.common.threadgroup [-] Connection to the hypervisor is broken on host: <HOST_NAME> TRACE nova.openstack.common.threadgroup Traceback (most recent call last): TRACE nova.openstack.common.threadgroup File "/usr/lib/python2.7/dist-packages/nova/openstack/common/threadgroup.py", line 117, in wait TRACE nova.openstack.common.threadgroup x.wait() TRACE nova.openstack.common.threadgroup File "/usr/lib/python2.7/dist-packages/nova/openstack/common/threadgroup.py", line 49, in wait TRACE nova.openstack.common.threadgroup return self.thread.wait() TRACE nova.openstack.common.threadgroup File "/usr/lib/python2.7/dist-packages/eventlet/greenthread.py", line 168, in wait TRACE nova.openstack.common.threadgroup return self._exit_event.wait() TRACE nova.openstack.common.threadgroup File "/usr/lib/python2.7/dist-packages/eventlet/event.py", line 116, in wait TRACE nova.openstack.common.threadgroup return hubs.get_hub().switch() TRACE nova.openstack.common.threadgroup File "/usr/lib/python2.7/dist-packages/eventlet/hubs/hub.py", line 187, in switch TRACE nova.openstack.common.threadgroup return self.greenlet.switch() TRACE nova.openstack.common.threadgroup File "/usr/lib/python2.7/dist-packages/eventlet/greenthread.py", line 194, in main TRACE nova.openstack.common.threadgroup result = function(*args, **kwargs) TRACE nova.openstack.common.threadgroup File "/usr/lib/python2.7/dist-packages/nova/openstack/common/service.py", line 483, in run_service TRACE nova.openstack.common.threadgroup service.start() TRACE nova.openstack.common.threadgroup File "/usr/lib/python2.7/dist-packages/nova/service.py", line 163, in start TRACE nova.openstack.common.threadgroup self.manager.init_host() TRACE nova.openstack.common.threadgroup File "/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 1006, in init_host TRACE nova.openstack.common.threadgroup self.driver.init_host(host=self.host) TRACE nova.openstack.common.threadgroup File "/usr/lib/python2.7/dist-packages/nova/virt/libvirt/driver.py", line 656, in init_host TRACE nova.openstack.common.threadgroup self._do_quality_warnings() TRACE nova.openstack.common.threadgroup File "/usr/lib/python2.7/dist-packages/nova/virt/libvirt/driver.py", line 639, in _do_quality_warnings TRACE nova.openstack.common.threadgroup caps = self.get_host_capabilities() TRACE nova.openstack.common.threadgroup File "/usr/lib/python2.7/dist-packages/nova/virt/libvirt/driver.py", line 2849, in get_host_capabilities TRACE nova.openstack.common.threadgroup xmlstr = self._conn.getCapabilities() TRACE nova.openstack.common.threadgroup File "/usr/lib/python2.7/dist-packages/nova/virt/libvirt/driver.py", line 721, in _get_connection TRACE nova.openstack.common.threadgroup wrapped_conn = self._get_new_connection() TRACE nova.openstack.common.threadgroup File "/usr/lib/python2.7/dist-packages/nova/virt/libvirt/driver.py", line 674, in _get_new_connection TRACE nova.openstack.common.threadgroup wrapped_conn = self._connect(self.uri(), self.read_only) TRACE nova.openstack.common.threadgroup File "/usr/lib/python2.7/dist-packages/nova/virt/libvirt/driver.py", line 796, in _connect TRACE nova.openstack.common.threadgroup raise exception.HypervisorUnavailable(host=CONF.host) TRACE nova.openstack.common.threadgroup HypervisorUnavailable: Connection to the hypervisor is broken on host: <HOST_NAME>
没有其他日志文件表明有任何错误syslog , dmesg和/var/log/libvirt/libvirtd.log不显示任何问题
libvirtconfiguration( /etc/libvirt/libvirtd.conf )被设置为logging错误log_outputs="3:syslog:libvirtd"
在出现错误之前,节点运行平稳,没有任何改变。
在我的情况下,我已经重新安装libvirt和相关的包,而无需重新启动libvirtd 。 该错误因此通过以下三个命令来解决:
systemctl stop libvirtd systemctl start libvirtd systemctl status libvirtd
似乎这是libvirt一个missconfiguration。 简而言之,问题是libvirtd不是以--listen标志开始的,所以它不会创buildnova服务正在search的合适的sock文件。
在ubuntu上查看我的相关答案 ,了解如何在'listen'模式下configurationlibvirt。
昨天晚上,当我尝试重新启动我的nova-compute服务时,我也遇到类似的情况。 在你提供的图表中,我们可以select下列行
无法将套接字连接到'/ var / run / libvirt / libvirt-sock':没有这样的文件或目录TRACE nova.virt.libvirt.driver“
所以我们可以知道这个libvirtd服务的问题不起作用。
在我的情况下,我检查了libvirtd服务的状态,以find它为什么失败,然后我试图重新启动,如下图所示
我上面search了很多关于这个问题(g-io-error-quark,1)的问题。 但所有的结果都是关于/ etc / fstab的问题。
在我的情况下,我试图使用libvirtd -l命令来获得一些提示
最后我发现它! 问题是关于/var/run ,这是一个链接到path/运行,链接失败。 所以我重置链接到/运行,然后成功地重新启动libvirtd服务。
我希望这会对你有用。