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
         

最新文章

  1. java面试题总汇
  2. Oracle 实验四-七
  3. Linq动态条件
  4. Swift设置自动行高
  5. 安装PyMysql的基本步骤
  6. SSIS 参数与环境
  7. Android 开源项目android-open-project解析之(三) ScrollView,TimeView,TipView,FlipView
  8. angular指令浅谈
  9. Wpf DataGridCheckBoxColumn 问题
  10. 【原】从零开始改造淘淘商城(引入dubbo解决项目耦合)02
  11. [.NET Core] 简单读取 json 配置文件
  12. 小项目一---Python日志分析
  13. Each path can be reduced to a simple path
  14. 泛型集合List的详细用法
  15. 使用二进制安装包的方式单机部署MySQL8.0.13
  16. 版本视图找不到数据 EDITIONING VIEW
  17. BZOJ4239 : 巴士走读
  18. MathType编辑粗体空心字的技巧
  19. 机器学习理论基础学习14.2---线性动态系统-粒子滤波 particle filter
  20. DOM-使用节点

热门文章

  1. 第一篇:thinkPHP学习目的
  2. go基础_切片
  3. jmeter实现SMTP邮件协议压测
  4. tomcat使用中的笔记
  5. 「JSOI2015」symmetry
  6. 201771010135 杨蓉庆《面对对象程序设计(java)》第十二周学习总结
  7. 数据库单,多,全库、冷热备份思路及备份与还原(mysqldump)
  8. 使用js制作 下拉选择日期列表 (即日期选择器)
  9. js下false情况
  10. Vue-阻止页面回退