Openstack Havana的两个排错过程
问题一:Timeout wating on RPC response, topic:"network"
描述:
启动实例一直等待,然后变为error。查看日志,是 timeout waiting on rpc response, topic "network", method: "validate_networks", info:"<Unknown>":
排错思路:
- 查看rabbitmq是否连接,rabbit日志是否报错。这里我使用了web控制台登录进行查看,没有问题。
- 查看firewall设置是否正确, 这里满足文档中的设定,因此可以排除。
- 查看源码,compute api类调用了network rpc api,然后没有收到响应。这里的主题是network,在rabbitmq中没有发现topic是network的exchange,怀疑是因为network api设定为nova network,而不是neutron。
- nova命令行和neutron命令行都可以成功调用。因此,可能是Nova和neutron整合的部分出了问题,也就是nova.conf里面的配置。后来查看neutron的api设置对了,就是nova.network.neutronv2.API。
- 不得已将debug打开,发现根本没有正确读取neutron的配置。
原来是nova.conf中[database]导致的,设置了这个之后,下面的应该都作为database的配置进行读取,从而忽略了neutron的配置。
解决办法:调换位置,将neutron的配置放到[default]下面,然后将[database]放到最后。
问题二:无法使用ssh密钥登录
描述:在使用ubuntu cloud image启动的时候,选择了之前创建的一个密钥,但是启动之后可以ping通却无法ssh登录。
原因:密钥根本没有注入。
分析:
- 密钥注入采用启动时获取metadata的方式,即访问169.254.169.254的地址
- 首先虚拟机内部访问该地址,应该有个路由,将169.254.169.254转向网络节点。网络节点收到后,通过iptables的规则发送给metadata-agent,然后metadata-agent请求nova-api-metadata服务,nova返回响应。
排错思路:
- 确保网络节点metadata-agent服务启动,确保控制节点8775端口开启。
- 查看nova.conf文件,主要看几个东西:
- enable_apis里面有metadata这一项,否则,nova-api启动的时候就不会把nova-api-metadata随着启动
- service_neutron_metadata_proxy设置为true
- neutron_metadata_proxy_shared_secret设置正确,和neutron/metadata_agent.ini 里面配置的相同
- 网络节点和计算节点都要配置ip转发:
net.ipv4.ip_forward=1 - 修改完配置后记得重启相应的服务
这时,发现配置没有问题之后,测试还是有错。
考虑到这里是用了flat模式,这样的话,就无法对接metadata-agent了。
因此在搜索neutron flat metadata时,http://developer.rackspace.com/blog/neutron-networking-simple-flat-network.html 里面说:
By specifying the --no_gateway
flag and defining a default route manually, we’re able to provide instances with a default route as well as an automatic metadata route to the namespace IP.
因此,删除所有的实例,然后重新建立subnet且不指定gateway,以便于使用metadata:
neutron subnet-create --name sharenet1 --no-gateway --host-route destination=0.0.0.0/0,nexthop=10.109.253.1 --dns-nameserver 10.3.9.4 --allocation-pool start=10.109.253.108,end=10.109.253.150 flat-provider-network 10.109.253.0/24
有路由了:
这回变为500,查看metadata-agent的log,发现:
于是将auth_region从RegionOne改为regionOne(略坑).
成功登录。
参考资料:
SSH登录虚拟机出现"Read from socket failed: Connection reset by peer"问题的解决办法
Openstack Havana的两个排错过程的更多相关文章
- php大力力:技术排错过程中,关键点总结和心情历程(2015-10-19)
9:40 2015/10/19技术排错过程中,关键点总结和心情历程 有一个按照标题进行内容分类的函数似乎不起作用,这叫人沮丧. 在页面显示图片地址时候,在源系统和目标系统中,包含图片地址的页面代码格式 ...
- [转]Openstack Havana Dashboard测试和使用
转贴一篇陈沙克老师的文章:http://www.chenshake.com/openstack-havana-dashboard-to-test-and-use/ Openstack Havana D ...
- OpenStack Havana 部署在Ubuntu 12.04 Server 【OVS+GRE】——序
OpenStack Havana 部署在Ubuntu 12.04 Server [OVS+GRE](一)——控制节点的安装 OpenStack Havana 部署在Ubuntu 12.04 Serve ...
- openstack学习笔记一 虚拟机启动过程代码跟踪
openstack学习笔记一 虚拟机启动过程代码跟踪 本文主要通过对虚拟机创建过程的代码跟踪.观察虚拟机启动任务状态的变化,来透彻理解openstack各组件之间的作用过程. 当从horizon界面发 ...
- OpenStack 虚机网卡的创建过程
原文链接:https://www.cnblogs.com/potato-chip/p/9127083.html OpenStack虚机网卡的创建过程 OpenStack最基本和常用的操作就是启动虚机. ...
- RDO部署多节点OpenStack Havana(OVS+GRE)
RDO是由红帽RedHat公司推出的部署OpenStack集群的一个基于Puppet的部署工具,可以很快地通过RDO部署一套复杂的OpenStack环境,当前的RDO默认情况下,使用Neutron进行 ...
- OpenStack虚机网卡的创建过程
OpenStack虚机网卡的创建过程 OpenStack最基本和常用的操作就是启动虚机.虚机启动的过程中涉及很多内容,其中非常重要的一个环节就是创建并绑定虚机的虚拟网卡.虚机的创建和管理是Nova的任 ...
- osi七层模型和两主机传输过程:
osi七层模型和两主机传输过程: http://www.zhihu.com/question/24002080/answer/31817536 注:笔记部分可能参考其他作者内容的一个记录,仅为加深自 ...
- OpenStack Havana 部署在Ubuntu 12.04 Server 【OVS+GRE】(三)——计算节点的安装
序:OpenStack Havana 部署在Ubuntu 12.04 Server [OVS+GRE] 计算节点: 1.准备结点 安装好ubuntu 12.04 Server 64bits后,进入ro ...
随机推荐
- UVa 1220 - Party at Hali-Bula(树形DP)
链接: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...
- Linux系统如何禁止普通用户切换root?
Linux系统如何禁止普通用户切换root? 在上正文之前,我们先将一些基础的Linux用户以及用户组的相关命令: 1.添加用户 useradd [-g group] [-d user_home_di ...
- springmvc错误集锦-dubbo包含低版本的spring包,依赖的时候应该排除Caused by: java.lang.reflect.MalformedParameterizedTypeException
dubbo 常见错误 1. Caused by: java.lang.reflect.MalformedParameterizedTypeException 启动时报错,原因是dubbo 依赖 spr ...
- 通过Field (反射)给私有字段赋值
public class Person { public String name; public char sex; private int age; public String getName() ...
- MVC学习十四:MVC 路由 Route
一.MVC路由(Route)是什么? MVC路由(Route)可以理解规定用户访问网站方式的配置文件,就例如:我们在访问普通页面时http://xxxx/web/xx.aspx,但在MVC中我们的访问 ...
- 【题解】洛谷P1074 [NOIP2009TG] 靶形数独(DFS+剪枝)
洛谷P1074:https://www.luogu.org/problemnew/show/P1074 思路 这道题一看就是DFS 打一个分数表方便后面算分 我用x y z数组分别表示行 列 宫 是否 ...
- SSH工具脚本录入
SSH工具提供的脚本录制功能如下: Xshell:登陆脚本 SecretCRT:录制脚本,保存本地,登陆后选择执行 mRemoteNG :暂时没发现有脚本录入功能
- I/O复用——各种不同的IO模型
一.概述 我们看到上面的TCP客户同时处理两个输入:标准输入和TCP套接字.我们遇到的问题就是在客户阻塞于(标准输入上的)fgets调用期间,服务器进程会被杀死.服务器TCP虽然正确地给客户TCP发送 ...
- javascript入门教程 (2)
这篇我就不铺垫和废话了,我们开始正式进入JS核心语法的学习… 首先我们从基础入手... 一. 基础语法 1.1 区分大小写 JS语法规定变量名是区分大小写的 比如: 变量名 learninpro 和变 ...
- iOS之NSDictionary初始化的坑
最近在做项目的时候遇到一个挺坑的崩溃问题,是由于NSDictionary初始化时nil指针引起的崩溃.假设我们现在要初始化一个{key1 : value1, key2 : value2, key3 : ...