OpenStack 是一个由python编写的云操作系统,可控制整个数据中心内的计算、存储和网络资源池,所有这些资源都通过一个仪表板进行管理,该仪表板为管理员提供控制权,同时授权其用户通过 Web 界面配置资源。

1 Openstack minimal component

OpenStack 系统由几个单独安装的关键服务组成。这些服务根据您的云需求协同工作,包括计算、身份、网络、镜像、块存储、对象存储、遥测、编排和数据库服务。您可以单独安装这些项目中的任何一个,并将它们配置为独立的或连接的实体

1 组件与功能

服务名称 功能
keystone 认证服务,组件交互鉴权
glance 镜像服务
placement 计算节点的可用资源统计(Stein版本后从nova中拆分服务组件)
nova 计算服务,分为控制端和计算节点
neutron 网络服务,分为控制端和计算节点
horizon 控制面板

2 集群数据存储

mysql数据库

memcached dashboard登录session信息

rabbitmq controller和node节点数据交互使用消息队列

2 neutron控制端和计算节点

2.1 SDN网络实现方式

  • flat桥接网络vxlan - 简单,高性能
  • 自服务网络vpc- 复杂,隔离性好

2.2 安全组实现

2.3 虚拟机内外网络分离配置(neutron)

  • 单实例单IP绑定
  • 单实例多IP绑定
  • 提前根据规划设置好网络地址范围规划

2.4 高承载调整neutron设置

3 nova服务功能解析

3.1 nova功能组件

nova-api 接受和响应外部请求

nova-scheduler 调度虚拟机所在的物理机

nova-conductor 计算节点访问数据库的中间件

nova-consoleauth 控制台授权认证

Novncproxy vnc代理,显示虚拟机操作终端

3.2 nova注册虚拟机工作流

4 控制端高可用实现要点

4.1 前提条件

nova-cpntroller控制端的主要功能是对虚拟机做创建调度、后期对虚拟机做管理(vnc终端、硬重启等)

nova-controller和neutron-controller停止服务不影响以运行的虚拟机

4.2 克隆控制节点1的服务与验证

5 其他

1 OpenStack API 使用

使用OpenStack API来启动服务器云主机,创建镜像、给实例和镜像分配元数据、创建存储容器和对象以及完成其他相关的动作

2 规范nova计算节点注册方式

  1. 确认主控配置包(系统环境配置、服务配置)与注册规范
  2. 注册脚本编写与调试
  3. 新节点自检冒烟测试与交付

3 持久化数据高可用

  1. mysql高可用
  2. memcached高可用
  3. rabbitmq高可用
  4. galance镜像远程存储

4 云镜像制作与优化

5 集群相关配置优化

  1. 虚拟机自启动
  2. CPU超分配置(1:8-16)
  3. 内存超分配置(1:1.2-1.5,谨防OOM)
  4. 硬盘超分配置(零临时配置开机,伪需求)
  5. 物理机资源保留限制
  6. 配置虚拟机可动态调整资源限制

PS

官方文档页面 https://docs.openstack.org/victoria/index.html

opentack - 本地化的更多相关文章

  1. ABP文档 - 本地化

    文档目录 本节内容: 简介 应用语言 本地化源 XML文件 注册XML本地化源 JSOn文件 注册JSON本地化源 资源文件 自定义源 获取一个本地文本 在服务端 在MVc控制器里 在MVC视图里 在 ...

  2. JS魔法堂:不完全国际化&本地化手册 之 理論篇

    前言  最近加入到新项目组负责前端技术预研和选型,其中涉及到一个熟悉又陌生的需求--国际化&本地化.熟悉的是之前的项目也玩过,陌生的是之前的实现仅仅停留在"有"的阶段而已. ...

  3. 一步一步使用ABP框架搭建正式项目系列教程之本地化详解

    返回总目录<一步一步使用ABP框架搭建正式项目系列教程> 本篇目录 扯扯本地化 ABP中的本地化 小结 扯扯本地化 本节来说说本地化,也有叫国际化.全球化的,不管怎么个叫法,反正道理都是一 ...

  4. ABP源码分析十二:本地化

    本文逐个分析ABP中涉及到locaization的接口和类,以及相互之间的关系.本地化主要涉及两个方面:一个是语言(Language)的管理,这部分相对简单.另一个是语言对应得本地化资源(Locali ...

  5. ABP源码分析四十三:ZERO的本地化

    ABP Zero模块扩展了ABP基础框架中的本地化功能,实现了通过数据库管理本地化的功能.其通过数据库保存本地化语言及其资源. ApplicationLanguage:代表本地化语言的实体类.一种语言 ...

  6. ASP.NET MVC5+EF6+EasyUI 后台管理系统(30)-本地化(多语言)

    系列目录 我们的系统有时要扩展到其他国家,或者地区,需要更多的语言环境,微软提供了一些解决方案,原始我们是用js来控制的,现在不需要了. 我们只要创建简单的资源文件,通过MVC的路由设置就可以轻松的进 ...

  7. ASP.NET Core 中文文档 第三章 原理(6)全球化与本地化

    原文:Globalization and localization 作者:Rick Anderson.Damien Bowden.Bart Calixto.Nadeem Afana 翻译:谢炀(Kil ...

  8. JS魔法堂:不完全国际化&本地化手册 之 实战篇

    前言  最近加入到新项目组负责前端技术预研和选型,其中涉及到一个熟悉又陌生的需求--国际化&本地化.熟悉的是之前的项目也玩过,陌生的是之前的实现仅仅停留在"有"的阶段而已. ...

  9. JS魔法堂:不完全国际化&本地化手册 之 拓展篇

    前言  最近加入到新项目组负责前端技术预研和选型,其中涉及到一个熟悉又陌生的需求--国际化&本地化.熟悉的是之前的项目也玩过,陌生的是之前的实现仅仅停留在"有"的阶段而已. ...

随机推荐

  1. Unknown custom element: <componentName> - did you register the component correct?

    最近开发的时候遇见一个头疼的事情,之前用过的组件没有出现过任何问题,但偏偏在其他目录下引用就出问题了. 组件的名称.import的路径都没任何问题,看了其他人遇到的问题和官方文档关于组件name属性的 ...

  2. 这一篇文章帮你搞定Java(含Java全套资源)

    当下想学习Java开发的人越来越多,对于很多零基础的人来说,没有相关的视频教程及相关的学习线路,学起来是一件很费劲的事情,还有很多人从网上及其它渠道购买视频,这些视频资料的价格对于刚毕业的大学生来说也 ...

  3. 11- jmeter主要元件

    元件分类 HTTP请求默认值(请求行,请求头,空行,消息体) HTTP信息头管理器: HTTPcookie管理器(1.更真实的模拟用户行为 ,多个请求的关联.第一个请求没有cookie第二个就带了co ...

  4. 从苏宁电器到卡巴斯基第16篇:我在苏宁电器当营业员 VIII

    其实不想走,其实很想留 我在之前的故事中说过,在大四的时候,我其实是想考研的,但是看了一段时间的书以后,发现自己实在不是那块料,主要是数学实在是学不明白,那么也就只能作罢了.而后来面试中石化的时候,尽 ...

  5. Windows下Nexus 5 改user模式为debug模式

    博客链接:http://blog.csdn.net/qq1084283172/article/details/52337241 在学习Android软件安全的过程中,经常要用到Android的动态调试 ...

  6. PowerShell-4.API调用以及DLL调用

    PowerShell可以直接调用API,So...这东西完全和cmd不是一回事了... 调用API的时候几乎和C#一样(注意堆栈平衡): 调用MessageBox: $iii = Add-Type - ...

  7. Windows PE变形练手1-用PE自己的机器码修改自己的逻辑

    PE变形练手1-用PE自己的机器码修改自己的逻辑 就是找一个PE文件,用自己的部分代码部分覆盖或者而修改自己另一个代码部分的补丁姿势(现实中使用很少,极少数破解可以用到.这次例子目的是了解PE). 第 ...

  8. 板载网卡MAC地址丢失后刷回方法[转]

    部份客户在进行误操作后发现网卡MAC地址全部变成0,大部客户不知道如何重新将MAC地址写回去.就此问题我们介绍一下,希望可以帮到大家.修改MAC地址时,一定要在纯DOS环境下修改.目前使用U盘DOS引 ...

  9. JAVA的安装

    1.从JAVA官网 下载 注意选择自己需要的版本 2.百度云盘 链接:https://pan.baidu.com/s/1deOFGN1xB0mgz6s2mTRXdA 提取码:ke97 安装JAVA J ...

  10. Day007 计算器

    计算器 public static void main(String[] args) { double[] num={0,1}; String oprater="a"; doubl ...