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. win10想说爱你不容易——安装.net3.5也是一个坑(已有完美解决方法)

    最终完美解决方法:经过多次波折,终于找到无法正常安装.net3.5的原因了,是因为已删除的用户还有注册表残留导致的,而且这个问题还会影响一个win10更新的安装,导致每天更新失败,撤销更新... 详见 ...

  2. September 15th 2017 Week 37th Friday

    First I need your hand, then forever can begin. 我需要牵着你的手,才能告诉你什么是永远. If you want to shake hands with ...

  3. jquery ajax跨域解决

    双十一开发了一个抽奖API,最近上线了,各个事业部的大神们需要前台页面,异步调用我的抽奖API,要我提供js. js 提供之后发现不对,跨域了.之前也碰到过跨域的问题,研究过这个问题,三种方法解决. ...

  4. etherlime-3-Etherlime Library API-Deployed Contract Wrapper

    Deployed Contract Wrapper部署合约的封装 Wrappers封装 One of the advancements of the etherlime is the result o ...

  5. Sequelize-nodejs-3-model definition

    Model definition模型定义 To define mappings between a model and a table, use the define method.定义模型和表之间的 ...

  6. [原创]C/C++语言中,如何在main.c或main.cpp中调用另一个.c文件

    C/C++语言中,如何在main.cpp中调用另一个.c文件主要有5种思路: 1.在VS2012 IDE中,将被引用的.c文件后缀名全部修改为.h,然后通过IDE的解决方案资源管理器中鼠标右键单击“头 ...

  7. 【转】Android:No implementation found for native

    解决方法: 1.检查native c code的定义: JNIEXPORT void Java_com_example_something_MyClass_getMyString(JNIEnv * e ...

  8. UCOS时钟节拍的讲究

    其实这个值取适中即可,100,200都行,看你的片子是什么,Cortex-M3的片子取200较合适这个值太小,系统调度周期较长,各个任务之间切换较慢,适时性降低,而太大了,中断周期与调试周期接近了,那 ...

  9. Activiti6.0 java spring5 SSM 工作流引擎 审批流程 项目框架

            1.模型管理 :web在线流程设计器.预览流程xml.导出xml.部署流程 2.流程管理 :导入导出流程资源文件.查看流程图.根据流程实例反射出流程模型.激活挂起 3.运行中流程:查看 ...

  10. 洛谷P1028动规算法

    首先我们可以写一个递归 #include<bits/stdc++.h> using namespace std; long long n; int main(){ long long f[ ...