在控制节点上安装配置完nova之后,运行# nova service-list,屏幕输出如下:
+----+------------------+-------------+----------+---------+-------+------------+-----------------+
| Id | Binary | Host | Zone | Status | State | Updated_at | Disabled Reason |
+----+------------------+-------------+----------+---------+-------+------------+-----------------+
| 1 | nova-cert | controller2 | internal | enabled | down | - | - |
| 2 | nova-consoleauth | controller2 | internal | enabled | down | - | - |
| 3 | nova-scheduler | controller2 | internal | enabled | down | - | - |
| 4 | nova-conductor | controller2 | internal | enabled | down | - | - |
+----+------------------+-------------+----------+---------+-------+------------+-----------------+
查看日志文件,发现如下错误信息:
2014-11-15 21:24:35.770 9426 ERROR oslo.messaging._drivers.impl_rabbit [req-194639ab-52c9-4714-b682-ced540b61f3d ] AMQP server 192.168.148.100:5672 closed the connection. Check login credentials: Socket closed
查看rabbit的日志文件,发现如下错误信息:
=ERROR REPORT==== 15-Nov-2014::21:24:35 ===
closing AMQP connection <0.310.0> (192.168.148.100:36037 -> 192.168.148.100:5672):
{handshake_error,starting,0,
{amqp_error,access_refused,
"AMQPLAIN login refused: user 'guest' can only connect via localhost",
'connection.start_ok'}}
错误的根源是使用‘guest’用户连接到rabbit只能通过localhost来进行,即远程主机或者本机想要通过eth0来连接rabbit在默认情况在是不可能的。各种百度google之后,发现需要修改配置文件/etc/rabbitmq/rabbitmq.config。配置文件不存在,自己创建一个,并添加一下配置:
[rabbit,[{loopback_users,[]}]}].
重启rabbit,查看nova服务,问题解决