管理控制层面示图:

其实在修改这个布署文档是,我发现当时生产中的布署已经严重偏离了openstack高可用的指导思想。我们自己实践的高可用其实是适应自己的架构而做的调整,因为我们现实手头上中没有比较符合Ceph高速SSD集群搭建的服务器,并且又要追求最高的硬盘IO速度,这个布署过程,我们没有使用到swift或者cinder或者ceph这样的块存储或分布式存储,使用是均是本地存储的glance服务,这样便意味着,这个方案无法实现虚拟机实例的热迁移等操作,因为官方说过,需要在compute节点上使用swift或者ceph才能使用实例热迁移 或 调整实例大小时,实现操过作程中虚机不关机
 
当然,需要有需要分布存储的同学,可参考http://www.linuxidc.com/Linux/2015-08/120990.htm 这篇文,它列的ceph集群架构,如果有条件的话,可在它的架构基础上,把服务器的网口升级为2个万兆口,再加万兆交换机堆叠,便可支撑高IO的应用环境。
 
Openstack中,最关键是数据库,数据库采用集群方式,是为了灾备,因此我们使用了以上3台物理机做了数据库,如果对MariaDB Galera集群操作熟悉的话,是可以将3台数据库机器的角色位置IP进行迁移,验证过是可行的。
 
数据库名不共用:我们将数据库名分离,可以让各个区域内部自己访问自己最近的数据库机器,读写不冲突,比如办公网的openstack数据库访问就访问controller1,而科兴网的openstack数据库访问就访问kxcontroller1
 
区域间组件不共用:openstack的高可用指导建议中提到2个区域之间Keystone和keystone之间数据库可以共用,但因我们是跨公网的机房只是打通了VPN,但这不同于内网。担心公网有网络问题。无论keystone布在哪一端,都有可能影响openstack 管理层的操作。所以就没有用。
 
如此一来,大家就可以理解,这是2套独立的openstack布署方案,只是在布署过程中我配置Resion参数时,指了ResionOne ResionTwo
 
那为什么controller每个区域为什么要各2台?因为冷备!
为什么不是热备?因为一开始参考openstack高可用的配置过程,以为会很顺利,但我们实验发现在切换演练过程中(关闭其中1台主用的 controller物理机),并不能实现热切换。关键是RabbitMQ,几乎所有组件都要用到队列,集群中erlang RabbitMQ队列异常时,像nova neutron 的error log都会抛错。导致无法管理,虽然在切换后,组件角色更改了,虽然报错,但如果此时将所以的服务重启一遍,管理就能恢复,人工的介入定位和恢复,这便不是热备的概念
 
在此声明,我们在演练主用controller服务器挂了,并不影响compute节点上虚拟机的正常运行,
 
接下来我们进入到布署与配置环境,当前的环境配置定格在2016年11月8号
 
本次安装 的是openstack的自由版本,以自由版本(Liberty)为准。不是juno和kilo版本,因为他们的前2个版本的网络制式比较复杂。截止2016-11-08,openstack后来又出了2个新版本,Makita和Neton,这2新版本相比自由版本,并没有新开发逆天的功能,网络层架构也是跟自由版本一样,只是优化了配置的步奏和BUG的修复,新添加一些我们暂时用不到的功能而已,这2个新版是否有优化相关的高可用的BUG像RabbitMQ队列之类的,还有待验证
 
好了,进入正题,其实写这篇文前,我原本是先搭好了ResionOne区域一测试环境,后过了一段时间再搭的ResionTwo环境,但我会把这2个环境的布署整成1本笔记本
 
笔记本的格式,如果可以合并成1节的话,我们就这个组件布署写成1节,如果不能合并,我将与
X.1  X.2 将这个功能组件布署分开来写
 
openstack配置文件查询,我都会将原有的配置文件在所有的原机中保存下来,以_bak结尾,以便将来查找配置说明
比如
cp  /etc/neutron/neutron.conf /etc/neutron/neutron.conf_bak

openstack私有云布署实践【0 前言】的更多相关文章

  1. openstack私有云布署实践【12.2 网络Neutron-controller节点配置(办公网环境)】

    网络这一块推荐使用的是 Neutron--LinuxBirdge的Ha高可用,此高可用方案对Public作用不是很大,Public只用到DHCP,而Private则会用到L3 Agent,则此方案是有 ...

  2. openstack私有云布署实践【12.1 网络Neutron-controller节点配置(科兴环境)】

    网络这一块推荐使用的是 Neutron--LinuxBirdge的Ha高可用,此高可用方案对Public作用不是很大,Public只用到DHCP,而Private则会用到L3 Agent,则此方案是有 ...

  3. openstack私有云布署实践【9.3 主从controller单向同步glance-image目录】

    采用Rysnc单向同步,而不用双方实时同步,原因是在历史的运行过程中,我们发现,有些镜像包太大,当在主用的glance将镜像保存时,并不是一时半会就把镜像保存好,当主用在保存时,备用节点又在实时同步那 ...

  4. openstack私有云布署实践【13.2 网络Neutron-compute节点配置(办公网环境)】

    所有compute节点 下载安装组件   # yum install openstack-neutron openstack-neutron-linuxbridge ebtables ipset -y ...

  5. openstack私有云布署实践【9.2 Glance镜像管理(办公网环境)】

    首先登录controller1创建glance数据库,并赋于远程和本地访问的权限.      mysql -u root -p   CREATE DATABASE glance; GRANT ALL ...

  6. openstack私有云布署实践【11.2 计算nova - compute节点配置(办公网环境)】

    这里我只使用compute1节点配置为示例,其它节点的配置基本是一样的,只是声明的管理IP不同而已   计算节点 # yum install openstack-nova-compute sysfsu ...

  7. openstack私有云布署实践【10.2 计算nova - controller节点配置(办公网环境)】

    一.首先登录controller1创建nova数据库,并赋于远程和本地访问的权限.     mysql -u root -p   CREATE DATABASE nova; GRANT ALL PRI ...

  8. openstack私有云布署实践【15 创建租户网络+实例】

    这里以办公网测试环境为例,   (一)创建租户demo的网络   使用admin用户 source admin-openrc.sh 创建public公网 neutron net-create 1040 ...

  9. openstack私有云布署实践【16.3 Windows Server2008 R2 只有C盘分区镜像制作】

    之所以要只有C盘分区镜像,是因为在创建VM或者调整云主机的硬盘大小时,它能自动扩容.无需人工介入   参考http://www.iyunv.com/thread-45149-1-1.html的灵感   ...

随机推荐

  1. C语言之形参和实参

    一 形参与实参 1).定义 形参:形式参数. 就是定义函数的时候,写在函数名小括号后面的参数叫形参 实参:实际参数. 就是调用函数的时候,调用函数时写在函数名小括号后面的参数就叫实参 2).注意项 a ...

  2. MVC源码解析 - HttpRuntime解析

    先看一张图, 从这张图里, 能看到请求是如何从CLR进入HttpRuntime的. 一.AppManagerAppDomainFactory 看到这张图是从 AppManagerAppDomainFa ...

  3. java基础练习 1

    import java.util.Scanner; public class First { /* * 编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n,当输入n为奇数时,调用函 ...

  4. 用C++实现的元胞自动机

    我是一个C++初学者,控制台实现了一个元胞自动机. 代码如下: //"生命游戏"V1.0 //李国良于2017年1月1日编写完成 #include <iostream> ...

  5. 一名测试初学者听JAVA视频笔记(一)

    搭建pho开发环境与框架图 韩顺平 第一章: No1  关于文件以及文件夹的管理 将生成的文本文档做成详细信息的形式,显示文件修改时间以及文件大小,便于文件查看和管理,也是对于一名IT人士高效能工作的 ...

  6. Debian安装 ss-qt5

    Kali Linux 基于 Debian ,安装时得参考 Debian 安装方法,用 Ubuntu 的方法装不上.官方安装指南这样说: Debian安装指南 然而在执行 sudo apt-get in ...

  7. Tomcat启动极慢问题

    启动后,catalina.out日志中会有如下打印: INFO: Creation of SecureRandom instance ,] milliseconds 具体原因,有兴趣的可以自己百度一下 ...

  8. readonly属性在各浏览器中的区别

    有个项目需求是正常显示时为只读,不可修改: 点击修改按钮后,可修改表单元素. 首先想到的是readonly属性,其用于规定输入字段为只读,不能修改.在javascript中消除readonly值,可将 ...

  9. 排序 之 快排、归并、插入 - <时间复杂度>----掌握思想和过程

    俗话说:天下武功无坚不破,唯快不破.对于算法当然也是要使用时间最短.占用空间最小的算法来实现了. 注意:我代码里面打的备注仅供参考,建议不要背模板(因为没有固定的模板),可以写一个数列按着代码跑两圈或 ...

  10. 设计模式 -- 代理模式 (Proxy Pattern)

    定义: 为其他对象提供一种代理以控制对这个对象的访问: 角色: 1,抽象主题类,(接口或者抽象类),抽象真实主题和代理的共有方法(如下Subject类): 2,具体实现的主题类,继承或者实现抽象主题类 ...