1、什么是openstack
是一个集中管理虚拟机的平台,整合了各种虚拟化的技术。
虚拟机的具体创建交给具体的虚拟化技术实现,而Openstack是整合这些虚拟化技术,提供一个统一管理的视图,对虚拟机进行集中管理,
通过各个组件为虚拟机提供网络服务,存储服务。 2、openstack解决了什么问题?
集中管理虚拟机,搭建一个云操作系统。 3、逻辑部件构成及运作过程
   webUI(Horizon)---终端用户发出创建虚拟机的REST请求,发出挂载新的硬盘....
      通过compute-api把REST请求参数转变为RPC请求参数,通过RPC发送到消息队列
   scheduler监听消息队列消息,根据配置比如算法,选择合适的计算节点来创建虚拟机,
       发送调度消息到消息队列
   计算节点上的computer服务监听目标是自己的消息,解析命令,进行创建虚拟机的动作
      通过镜像服务,获取镜像
      通过volume-api发出RPC存储请求到消息队列,Volume-Schedule会选择合适的存储节点,提供存储块给虚拟机
      通过network-api 发出网络请求,初始化网络数据模型,建立虚拟网卡,分配私有地址,更新DHCP的MAC-IP映射,分配弹性地址(NAT)       最终会生成一个虚拟机配置文件,KVM的libvirt会根据配置文件创建和启动虚拟机,启动后获得dhcp分配的私有地址。 4、实验环境搭建
  1)准备4台虚拟机作为要部署openstack的物理机器。虚拟机试验中作为物理机器,需要支持嵌套虚拟化。
  2)物理机器安装centos7.2,启用虚拟化支持。
虚拟机CPU需要启用虚拟化支持
   #可以使用这种
<cpu mode='custom' match='exact'>
    <model fallback='allow'>core2duo</model> <feature policy='require' name='vmx'/>
</cpu> #这种方式为虚拟机定义需要模拟的CPU类型"core2duo",并且为虚拟机添加"vmx"特性
  #也可以使用这种
<cpu mode='host-model'>
<model fallback='allow'/>
</cpu>
   #或者这样
 <cpu mode='host-passthrough'>
<topology sockets='2' cores='2' threads='2'/>
</cpu>
  #CPU穿透,在虚拟机中看到的vcpu将会与物理机的CPU同样配置,这种方式缺点在于如果要对虚拟机迁移,迁移的目的服务器硬件配置必须与当前物理机一样

5、搭建起航
1)规划
建立三个物理网络,
管理网络:192.168.4.0/24
数据(虚拟机)网络:所有虚拟机之间的通信,都通过本网络。192.168.2.0/24 存储网络:
A、控制节点
192.168.4.91
     192.168.2.91
B、计算节点(虚拟机节点)
   每个计算节点需要建立1个网桥br100,实现与计算节点上网卡的连接绑定,在nova.conf文件中配置。
   计算节点上的所有虚拟机都加入br100的网络,所有的虚拟机通过计算节点的物理网卡连接到数据网交换机上。网关都设置为网络节点上网桥br100的IP。
   =====计算节点1=====
   eth0:192.168.4.99(管理)
eth1:192.168.2.99(数据)
   =====计算节点2====
   eth0:192.168.4.98(管理)
 eth1:192.168.2.98(数据)
C、存储节点op_volumn
    eth0:192.168.4.100(管理)
    eth1:192.168.2.100(数据-存储)
   
B、网络节点
   部署 nova-network/quantum    DNSmas1
   所有虚拟机的对外访问都通过网络节点,一个是实现网关的终结,另外是在网络节点实现NAT。
   单网络节点会存在单点故障问题
   所以可以采用多网络节点部署模式,在每个计算节点安装nova-compute nova-network nova-api
   修改nova.conf配置文件: multi_host=True enabled_apis=metadata
         

openstack搭建之旅(原创)的更多相关文章

  1. OpenStack搭建遇到的问题

    前言:对于像我这种新手来说,搭建OpenStack真的很费劲,因为我总是每配置一个服务,我就想弄懂,后来搭建过程很累人,因此我想了个办法,等我搭建出来再学.我这里将记录我从开始之初到我学习,再到我毕业 ...

  2. linux 云计算Openstack搭建

    Openstack 由NASA和Reckspace合作研发并发起的项目,以Apache许可证为授权 云计算三大支柱模型 IaaS:基础架构即服务 提供服务器/虚拟主机/网络等设备资源 PaaS:平台即 ...

  3. 基于openstack搭建百万级并发负载均衡器的解决方案

    最近,喜欢研究一些国外技术大咖们的文章,而这篇文章是基于openstack负载均衡器的解决方案,做的一些总结~希望能够给小伙伴带来一些灵感或者帮助. openstack现有的负载均衡解决方案,无论是l ...

  4. Openstack搭建(流水账)

    Openstack管理三大资源:1.网络资源2.计算资源3.存储资源 Keystone 做服务注册 Glance 提供镜像服务 Nova 提供计算服务 Nova scheduler决策虚拟主机创建在哪 ...

  5. Openstack搭建相关问题

    1.Openstack添加新磁盘到根分区 初始化分区sdb为物理卷pv pvcreate /dev/sdb  //初始化 pvdisplay  //显示物理卷信息 vgextend centos /d ...

  6. LAMP环境搭建教程(原创)

    学习PHP脚本编程语言之前,必须先搭建并熟悉开发环境,开发环境有很多种,例如LAMP.WAMP.MAMP等.这里我介绍一下LAMP环境的搭建,即Linux.Apache.MySQL.PHP环境. 一. ...

  7. OpenStack搭建遇到的问题2(组件配置错误了,别重装全部,就把模块卸载就行了)

    apt-get remove -y mysql-server python-mysqldb 在装OpenStack的时候,出错的可能就是就是一个模块,比如keysstone或者是glance出错了,我 ...

  8. Vue站点的搭建之旅

      背景       很久没写博客了,这次博客分享一下最近上班空闲时间做的两个业余Demo.分别是V电影App的移动端站点[一直很喜欢用这个APP可是他们没有出对应的mobile端,所以自己开发一个, ...

  9. openstack搭建之-创建实例(13)

    一. 创建flat网络的实例 #运行admin环境变量,创建网络类型为flat . admin-openrc openstack network create --share \ --provider ...

随机推荐

  1. JQuery中的DOM操作(转载)

    原文链接:http://www.cnblogs.com/ILYljhl/archive/2013/07/10/3182414.html jQuery封装了大量DOM操作的API,极大提高了操作DOM节 ...

  2. MVVM架构的理解

    摘自维基百科 MVVM(Model–view–viewmodel)是一种软件架构模式. MVVM有助于将图形用户界面的开发与业务逻辑或后端逻辑(数据模型)的开发分离开来,这是通过置标语言或GUI代码实 ...

  3. MySQL数据完整性

    数据完整性 一个数据库就是一个完整的业务单元,可以包含多张表,数据被存储在表中 在表中为了更加准确的存储数据,保证数据的正确有效,可以在创建表的时候,为表添加一些强制性的验证,包括数据字段的类型.约束 ...

  4. HashSet HashMap 源码阅读笔记

    hashcode() 与 equals() 应一起重写,在HashMap 会先调用hash(key.hashcode()) 找到对应的entry数组位置 (一般初始是16,2^x,rehash后会翻倍 ...

  5. SQL Server不同服务器不同数据库间的操作

    什么是跨服务器操作? 跨服务器操作就是可以在本地连接到远程服务器上的数据库,可以在对方的数据库上进行相关的数据库操作,比如增删改查. 为什么要进行跨服务器操作 随着数据量的增多,业务量的扩张,需要在不 ...

  6. element-ui表头render-header 传自定义参数

    最近用到 element 的表格的  render-header 这个属性查了文档 发现: 发现它会返回部分参数 但是因为考虑要工程化,需要自定义传入参数,后来找度娘 ,发现是可以自定义传参的 :re ...

  7. ExecutorService 的Future类

    1.概述 在本文中,我们将了解Future.自Java 1.5以来一直存在的接口,在处理异步调用和并发处理时非常有用. 2.创建Future 简单地说,Future类表示异步计算的未来结果 - 这个结 ...

  8. 吴裕雄 python 神经网络——TensorFlow实现AlexNet模型处理手写数字识别MNIST数据集

    import tensorflow as tf # 输入数据 from tensorflow.examples.tutorials.mnist import input_data mnist = in ...

  9. javaweb项目运转流程

    做web项目,不仅要会做,还需要了解其工作流程,为什么这么做!这些知道了.其他的都是渣渣.上图!对于web 项目了解他的运行流程之后,基本其他的都不是问题.web项目还是很简单的 这是简化的开发时常用 ...

  10. MySQL常用系统表大全

    MySQL5.7 默认的模式有:information_schema, 具有 61个表: m ysqL, 具有31个表: performance_schema,具有87个表; sys, 具有1个表, ...