openstack真的是一个十分痛苦的东西,好在有自动部署工具,虽然有自动部署工具可以方便我们部署使用,但是学习的话,第一次最好手动部署,因为手动部署更能我们了解openstack的工作流程和各组建之间的联系。

系统平台cnetos6.7 X86

openstack icehouse

我是按照openstack的原版手册安装的,安装keystone,glance和compute都很顺利,但是到了neutron的时候就痛苦了,google了一下关于neutron的文章,全是说又多么多么的复杂,对于一个新手来说真的是一个莫大的打击啊。(没办法,还是要一步一步的走下去)。在这个过程中失败了许多次,最后弄了两周终于弄好了。

一、注意事项

1、Neutron的配置文件中要把auth_uri换成identity_uri;(其他服务可以用auth_url,但是neutron服务必须要改为identity_url,否则不能正常运行)

2、各配置文件属组应该为相应的服务的运行者用户身份,否则其将无法访问导致服务启动失败;

关于运行虚拟机日志报错NovaException: Unexpected vif_type=binding_failed.:的解决方案

1.出现以上错误首先检查ml2配置文件是否配置正确
2.查看网络节点metadata_agent.ini配置文件是否错误,metadata是负责将对neutron的操作保存在数据库(metadata_agent配置文件填写错误日志不会报错。eg:将admin_tenant_name = service 写成 dmin_tenant_name = service)
3.禁用虚拟机网络功能看是否能够正常运行,如果能运行那么问题出在netron上,如果也不能运行那么就需要检查其他了。

安装glance遇到的问题:

1.部署cinder时要把cinder volumes上的配置文件中volumes_dir=$state_path/volumes 改为volumes_dir=/etc/cinder/volumes
2.将/etc/rc.d/init.d/openstack-cinder-volume 中的配置文件只保留--config-file $config,删除-config-file $distconfig,避免出错
eg: daemon --user cinder --pidfile $pidfile "$exec --config-file $config --logfile $logfile &>/dev/null & echo \$! > $pidfile"
3.cinder voleme节点配置文件中volume_group = stack-volumes-lvmdriver-1项表示默认vg为stack-volumes-lvmdriver,启动cinder volume前必须先创建名为stack-volumes-lvmdriver的卷组。

删除neutron网络的步骤:
1.router-gateway-clear
2.router-interface-delete
3.subnet-delete
4.router-delete

neutron服务遇到的问题:

如果日志不报错但服务不正常,例如实例不能获取到p。

1.用neutron agent-list 查看各组件工作状态是否正常。

如果状态不正常请查看各节点时间是否不同步。(日志不报错,但状态不正常基本上都是时间不同步造成的)

二、总结

①遇到问题一定要冷静,不要放弃,要善于思考。

②openstack的问题一般都是配置文件错误引起的

③尽量将服务多重启几次看是否会报错,有些服务虽然启动的时候显示的ok,但是并未启动起来。

④服务启动后一定要看日志(grep -i 'error')

⑤各主机时间必须同步

附上一张成功后的美图:

手动搭建openstack的痛苦经历的更多相关文章

  1. QT中QProcess调用命令行的痛苦经历(调用Winrar,设置工作目录,获得输出,注意引号与括号,等等)

    QT中QProcess调用命令行的痛苦经历   阅读目录 创建压缩包的方法 在QT中调用命令行 在QT中调用C++创建的dll 在QT程序中需要将某些目录和文件压缩为一个rar的压缩包,于是想到了在Q ...

  2. WindowsServer2012 R2 64位中文标准版(IIS8.5)下手动搭建PHP环境详细图文教程(二)安装IIS8.5

    //来源:http://www.imaoye.com/Technology/WindowsServer2012R264IIS85.html 阿里云服务器ECS Windows Server 2012 ...

  3. Linux手动搭建LAMP环境

    当你看到标题里的“手动搭建”,你是不是会想,难不成还有“自动搭建”?当然......不是,这里的“手动搭建”是指按部就班的搭建Apache.MySQL.PHP环境,是相对于集成软件包而言的.所以你是不 ...

  4. 使用devstack搭建openstack Newton 版本的坑

    国外源访问速度慢怎么办? 使用国外源,加之带宽紧张,搭建过程是很累的,这里推荐大家使用一下源: devstack包源.:http://git.trystack.cn pip源: [global] in ...

  5. php 手动搭建环境

    php手动搭建环境有好多种组合,版本号不一致,会导致搭建失败. 我搭建的组合是: php5.6+MySQL5.6+Apache2.4的组合. 一.PHP语言包下载 首先从官网上下载php5.6 htt ...

  6. 混合式app ionic2.x 手动搭建开发环境教程分享(nodejs,jdk,ant,androidsdk)

    1.ionic简介 为什么选用ionic: 彻底开源且免费 性能优异 基于红的发紫的AngularJs 漂亮的UI 强大的命令行(基于更热门的nodejs) 开发团队非常活跃 ngCordova,将主 ...

  7. React 系列文章(1): npm 手动搭建React 运行实例 (新手必看)

    摘 要 刚接触React 开发, 在摸索中构建react 运行环境,总会遇到各种坑:本文,将用最短时间解决webpack+react 环境搭建问题. 1.如果你还没有React基础 看这里. 2.如果 ...

  8. PHP手动搭建环境

    php手动搭建环境有好多种组合,版本号不一致,会导致搭建失败. 我搭建的组合是: php5.6+MySQL5.6+Apache2.4的组合. 一.PHP语言包下载 首先从官网上下载php5.6 htt ...

  9. 手动搭建 redis 集群

    转自http://meia.fun/article/1544161420745 手动搭建 redis 集群 redis 基本命令: 启动 redis 服务:redis-server xxx.conf ...

随机推荐

  1. 【FLEX教程】#007 如何让JS调用SWF里的方法

    HTML中,JS如何调用SWF里面已经封装好的代码呢? 有一些事情Flex没办法实现的,需要通过调用JS来实现. eg: 当浏览器窗体关闭的时候,弹出一个对话框,提示用户是否退出?或者是否保存当前的操 ...

  2. 【原创】uWSGI http和http-socket说明

    http 和 http-socket的使用上有一些区别: http: 自己会产生一个http进程(可以认为与nginx同一层)负责路由http请求给worker, http进程和worker之间使用的 ...

  3. python3+OpenGL环境配置

    注:示例系统环境:Windows10 64位 + Anaconda3: 1.首先登录https://www.opengl.org/resources/libraries/glut/,下载下图箭头所指的 ...

  4. python第十八课——常用内置函数

    常用内置函数:round(): print(round(3.14),round(3.99)) print(round(3145.926,-2),round(413.575,2)) abs(): pri ...

  5. 七:Java之封装、抽象、多态和继承

    本文章介绍了关于Java中的面向对象封装.抽象.继承.多态特点 Java面向对象主要有四大特性:封装.抽象.继承和多态. 一.封装 封装就是将抽象得到的数据和行为(或功能)相结合,形成一个有机的总体, ...

  6. UVa 10213 - How Many Pieces of Land ?(欧拉公式)

    链接: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...

  7. 【CF163E 】e-Government

    题目 两个\(log\)的树状数组套树剖? 我们对于给出的\(n\)个模式串建立\(AC\)自动机,之后对于每一个询问串直接丢上去匹配 如果这里是暴力的话,我们直接一路跳\(fail\)累加作为结束位 ...

  8. leetcode 141. Linked List Cycle 、 142. Linked List Cycle II

    判断链表有环,环的入口结点,环的长度 1.判断有环: 快慢指针,一个移动一次,一个移动两次 2.环的入口结点: 相遇的结点不一定是入口节点,所以y表示入口节点到相遇节点的距离 n是环的个数 w + n ...

  9. [转]SVN服务器搭建和使用(一)

    Location是指VisualSVN Server的安装目录,Repositorys是指定你的版本库目录.Server Port指定一个端口,Use secure connection勾山表示使用安 ...

  10. SQLite加密方式 [转]

    关于SQLite SQLite是一个轻量的.跨平台的.开源的数据库引擎,它的在读写效率.消耗总量.延迟时间和整体简单性上具有的优越性,使其成为移动平台数据库的最佳解决方案(如iOS.Android). ...