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. gradle结合spring-boot生成可运行jar包,并打印日志

    1.用gradle把springboot项目打包成jar 1.1 build.gradle 中添加 buildscript { repositories { mavenLocal() maven { ...

  2. Altium制作DC002的PCB封装和3D模型

    Altium制作DC002的PCB封装和3D模型 常用的电源连接器(Dc Power Jack Connector)DC002.DC005等等型号的3D模型在网上很难找到合适的,我们可以选择CUI 公 ...

  3. ord 字符转code chr : code转字符

    print(ord('刀')) # ord 字符转Unicode # 20992 print(chr(20992)) # Unicode 转成chr(字符)

  4. 01-urllib库添加headers的一般方法

    2018-08-23 13:07:57 对于请求一些网站,我们需要加上请求头才可以完成网页的抓取,不然会得到一些错误,无法返回抓取的网页.下面,介绍两种添加请求头的方法. 方法一:借助build_op ...

  5. MySQL主从.md

    MySQL Replication 概述 Mysql内建的复制功能是构建大型,高性能应用程序的基础.将Mysql的数据分布到多个系统上去,这种分布的机制,是通过将Mysql的某一台主机的数据复制到其它 ...

  6. 函数的类型:函数也是类型 (*)->*

    函数的类型:函数也是类型 (*)->* 函数类型作为类型可以定义变量,使得函数变量具有可替代性,这个是高阶函数的编程基础. 使用函数的类型可以定义函数的变量,并用函数给这个变量赋值: 每一个函数 ...

  7. JavaScript-2.内置对象---简单脚本之弹出对话框显示当前时间 ---ShinePans

    <html> <head> <meta http-equiv="content-type" content="text/html; char ...

  8. Linux - 版本控制系统SVN

    0. 摘要 本文通过搭建SVN多版本库为例,介绍SVN的使用. SVN是一个集中式版本控制系统,在服务端部署中央版本库,所有开发人员客户端连接到中央版本库进行代码的提交和更新. Apache Subv ...

  9. java.lang.NoClassDefFoundError: org/apache/ibatis/mapping/DatabaseIdProvider

    我用的方案是:maven+struts2+spring+mybatis 出现上述错误的原因是: <dependency>            <groupId>org.myb ...

  10. [转]TortoiseSVN客户端重新设置用户名和密码

    在第一次使用TortoiseSVN从服务器CheckOut的时候,会要求输入用户名和密码,这时输入框下面有个选项是保存认证信息,如果选了这个选项,那么以后就不用每次都输入一遍用户名密码了. 不过,如果 ...