在RHEL先装了单节点,一切正常,但是在添加了一个计算节点后,启动实例状态一直是BUILD,task_state一直是scheduling。用的是EPEL源,检查了一周都没解决,错误日志如下compute.log:(computer3是控制节点)
2013-01-10 17:52:44 16305 INFO nova.openstack.common.rpc.impl_qpid [-] Connected to AMQP server on computer3.bupt.cn:5672
2013-01-10 17:53:12 16305 ERROR nova.openstack.common.rpc.impl_qpid [-] Timed out waiting for RPC response: None
2013-01-10 17:53:12 16305 TRACE nova.openstack.common.rpc.impl_qpid Traceback (most recent call last):
2013-01-10 17:53:12 16305 TRACE nova.openstack.common.rpc.impl_qpid   File "/usr/lib/python2.6/site-packages/nova/openstack/common/rpc/impl_qpid.py", line 358, in ensure
2013-01-10 17:53:12 16305 TRACE nova.openstack.common.rpc.impl_qpid     return method(*args, **kwargs)
2013-01-10 17:53:12 16305 TRACE nova.openstack.common.rpc.impl_qpid   File "/usr/lib/python2.6/site-packages/nova/openstack/common/rpc/impl_qpid.py", line 407, in _consume
2013-01-10 17:53:12 16305 TRACE nova.openstack.common.rpc.impl_qpid     nxt_receiver = self.session.next_receiver(timeout=timeout)
2013-01-10 17:53:12 16305 TRACE nova.openstack.common.rpc.impl_qpid   File "<string>", line 6, in next_receiver
2013-01-10 17:53:12 16305 TRACE nova.openstack.common.rpc.impl_qpid   File "/usr/lib/python2.6/site-packages/qpid/messaging/endpoints.py", line 663, in next_receiver
2013-01-10 17:53:12 16305 TRACE nova.openstack.common.rpc.impl_qpid     raise Empty
2013-01-10 17:53:12 16305 TRACE nova.openstack.common.rpc.impl_qpid Empty: None
2013-01-10 17:53:12 16305 TRACE nova.openstack.common.rpc.impl_qpid 
2013-01-10 17:53:12 16305 ERROR nova.openstack.common.rpc.amqp [-] Exception during message handling
2013-01-10 17:53:12 16305 TRACE nova.openstack.common.rpc.amqp Traceback (most recent call last):
2013-01-10 17:53:12 16305 TRACE nova.openstack.common.rpc.amqp   File "/usr/lib/python2.6/site-packages/nova/openstack/common/rpc/amqp.py", line 276, in _process_data
2013-01-10 17:53:12 16305 TRACE nova.openstack.common.rpc.amqp     rval = self.proxy.dispatch(ctxt, version, method, **args)
2013-01-10 17:53:12 16305 TRACE nova.openstack.common.rpc.amqp   File "/usr/lib/python2.6/site-packages/nova/openstack/common/rpc/dispatcher.py", line 145, in dispatch
2013-01-10 17:53:12 16305 TRACE nova.openstack.common.rpc.amqp     return getattr(proxyobj, method)(ctxt, **kwargs)
2013-01-10 17:53:12 16305 TRACE nova.openstack.common.rpc.amqp   File "/usr/lib/python2.6/site-packages/nova/exception.py", line 117, in wrapped
2013-01-10 17:53:12 16305 TRACE nova.openstack.common.rpc.amqp     temp_level, payload)
2013-01-10 17:53:12 16305 TRACE nova.openstack.common.rpc.amqp   File "/usr/lib64/python2.6/contextlib.py", line 23, in __exit__
2013-01-10 17:53:12 16305 TRACE nova.openstack.common.rpc.amqp     self.gen.next()
2013-01-10 17:53:12 16305 TRACE nova.openstack.common.rpc.amqp   File "/usr/lib/python2.6/site-packages/nova/exception.py", line 92, in wrapped
2013-01-10 17:53:12 16305 TRACE nova.openstack.common.rpc.amqp     return f(*args, **kw)
2013-01-10 17:53:12 16305 TRACE nova.openstack.common.rpc.amqp   File "/usr/lib/python2.6/site-packages/nova/compute/manager.py", line 196, in decorated_function
2013-01-10 17:53:12 16305 TRACE nova.openstack.common.rpc.amqp     kwargs['instance']['uuid'], e, sys.exc_info())
2013-01-10 17:53:12 16305 TRACE nova.openstack.common.rpc.amqp   File "/usr/lib64/python2.6/contextlib.py", line 23, in __exit__
2013-01-10 17:53:12 16305 TRACE nova.openstack.common.rpc.amqp     self.gen.next()
2013-01-10 17:53:12 16305 TRACE nova.openstack.common.rpc.amqp   File "/usr/lib/python2.6/site-packages/nova/compute/manager.py", line 190, in decorated_function
2013-01-10 17:53:12 16305 TRACE nova.openstack.common.rpc.amqp     return function(self, context, *args, **kwargs)
2013-01-10 17:53:12 16305 TRACE nova.openstack.common.rpc.amqp   File "/usr/lib/python2.6/site-packages/nova/compute/manager.py", line 945, in terminate_instance
2013-01-10 17:53:12 16305 TRACE nova.openstack.common.rpc.amqp     do_terminate_instance(instance)
2013-01-10 17:53:12 16305 TRACE nova.openstack.common.rpc.amqp   File "/usr/lib/python2.6/site-packages/nova/utils.py", line 760, in inner
2013-01-10 17:53:12 16305 TRACE nova.openstack.common.rpc.amqp     retval = f(*args, **kwargs)
2013-01-10 17:53:12 16305 TRACE nova.openstack.common.rpc.amqp   File "/usr/lib/python2.6/site-packages/nova/compute/manager.py", line 937, in do_terminate_instance
2013-01-10 17:53:12 16305 TRACE nova.openstack.common.rpc.amqp     self._delete_instance(context, instance)
2013-01-10 17:53:12 16305 TRACE nova.openstack.common.rpc.amqp   File "/usr/lib/python2.6/site-packages/nova/compute/manager.py", line 890, in _delete_instance
2013-01-10 17:53:12 16305 TRACE nova.openstack.common.rpc.amqp     self._shutdown_instance(context, instance)
2013-01-10 17:53:12 16305 TRACE nova.openstack.common.rpc.amqp   File "/usr/lib/python2.6/site-packages/nova/compute/manager.py", line 842, in _shutdown_instance
2013-01-10 17:53:12 16305 TRACE nova.openstack.common.rpc.amqp     network_info = self._get_instance_nw_info(context, instance)
2013-01-10 17:53:12 16305 TRACE nova.openstack.common.rpc.amqp   File "/usr/lib/python2.6/site-packages/nova/compute/manager.py", line 392, in _get_instance_nw_info
2013-01-10 17:53:12 16305 TRACE nova.openstack.common.rpc.amqp     instance)
2013-01-10 17:53:12 16305 TRACE nova.openstack.common.rpc.amqp   File "/usr/lib/python2.6/site-packages/nova/network/api.py", line 44, in wrapper
2013-01-10 17:53:12 16305 TRACE nova.openstack.common.rpc.amqp     res = f(self, context, *args, **kwargs)
2013-01-10 17:53:12 16305 TRACE nova.openstack.common.rpc.amqp   File "/usr/lib/python2.6/site-packages/nova/network/api.py", line 292, in get_instance_nw_info
2013-01-10 17:53:12 16305 TRACE nova.openstack.common.rpc.amqp     return self._get_instance_nw_info(context, instance)
2013-01-10 17:53:12 16305 TRACE nova.openstack.common.rpc.amqp   File "/usr/lib/python2.6/site-packages/nova/network/api.py", line 303, in _get_instance_nw_info
2013-01-10 17:53:12 16305 TRACE nova.openstack.common.rpc.amqp     'args': args})
2013-01-10 17:53:12 16305 TRACE nova.openstack.common.rpc.amqp   File "/usr/lib/python2.6/site-packages/nova/openstack/common/rpc/__init__.py", line 108, in call
2013-01-10 17:53:12 16305 TRACE nova.openstack.common.rpc.amqp     return _get_impl().call(cfg.CONF, context, topic, msg, timeout)
2013-01-10 17:53:12 16305 TRACE nova.openstack.common.rpc.amqp   File "/usr/lib/python2.6/site-packages/nova/openstack/common/rpc/impl_qpid.py", line 543, in call
2013-01-10 17:53:12 16305 TRACE nova.openstack.common.rpc.amqp     rpc_amqp.get_connection_pool(conf, Connection))
2013-01-10 17:53:12 16305 TRACE nova.openstack.common.rpc.amqp   File "/usr/lib/python2.6/site-packages/nova/openstack/common/rpc/amqp.py", line 369, in call
2013-01-10 17:53:12 16305 TRACE nova.openstack.common.rpc.amqp     rv = list(rv)
2013-01-10 17:53:12 16305 TRACE nova.openstack.common.rpc.amqp   File "/usr/lib/python2.6/site-packages/nova/openstack/common/rpc/amqp.py", line 330, in __iter__
2013-01-10 17:53:12 16305 TRACE nova.openstack.common.rpc.amqp     self.done()
2013-01-10 17:53:12 16305 TRACE nova.openstack.common.rpc.amqp   File "/usr/lib64/python2.6/contextlib.py", line 23, in __exit__
2013-01-10 17:53:12 16305 TRACE nova.openstack.common.rpc.amqp     self.gen.next()
2013-01-10 17:53:12 16305 TRACE nova.openstack.common.rpc.amqp   File "/usr/lib/python2.6/site-packages/nova/openstack/common/rpc/amqp.py", line 327, in __iter__
2013-01-10 17:53:12 16305 TRACE nova.openstack.common.rpc.amqp     self._iterator.next()
2013-01-10 17:53:12 16305 TRACE nova.openstack.common.rpc.amqp   File "/usr/lib/python2.6/site-packages/nova/openstack/common/rpc/impl_qpid.py", line 416, in iterconsume
2013-01-10 17:53:12 16305 TRACE nova.openstack.common.rpc.amqp     yield self.ensure(_error_callback, _consume)
2013-01-10 17:53:12 16305 TRACE nova.openstack.common.rpc.amqp   File "/usr/lib/python2.6/site-packages/nova/openstack/common/rpc/impl_qpid.py", line 362, in ensure
2013-01-10 17:53:12 16305 TRACE nova.openstack.common.rpc.amqp     error_callback(e)
2013-01-10 17:53:12 16305 TRACE nova.openstack.common.rpc.amqp   File "/usr/lib/python2.6/site-packages/nova/openstack/common/rpc/impl_qpid.py", line 401, in _error_callback
2013-01-10 17:53:12 16305 TRACE nova.openstack.common.rpc.amqp     raise rpc_common.Timeout()
2013-01-10 17:53:12 16305 TRACE nova.openstack.common.rpc.amqp Timeout: Timeout while waiting on RPC response.
2013-01-10 17:53:12 16305 TRACE nova.openstack.common.rpc.amqp 有遇到过相同情况的朋友吗?或者知道解决方法的。谢谢!

解决方案 »

  1.   

    查看nova-api nova-volume的 nova-netwok日志
      

  2.   

    看样子是不是rpc_backend设置错误,AMQP服务使用的是rabbit还是qpid?对应的配置段是否设置正确,也就是AMQP服务器ip是否配置正确,如果没有配置正确,是连接不到amqp服务器的。
      

  3.   

    我也遇到同样的问题了,但我是没有添加计算节点,也没有创建虚拟机实例。就是机器放在那里,隔了一晚,控制器与计算节点之间就想中断了一样。日志也是报消息中间件不通,但我已经反复确认了Qpid的配置,主机名等等都是正常的。
      

  4.   

    问题原因已经找到,是因为计算节点的主机名配置错误。而把错误的主机名填入nova 的虚拟管理器配置中,在/etc/hosts 文件中没有对应的主机名设置。
    当重启服务器后,异常的主机名代替了正确的主机名,产生故障。
    在访问云主机时异常缓慢。临时的解决办法是,修改hosts 文件,加入对应的主机名和IP。最终解决可以删除keystone中的关联服务器设置。