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. Day01_09_数据类型

    数据类型 数据类型分类 *基本数据类型 *引用数据类型 基本数据类型 --第一类 整数型 byte short int long --第二类 浮点型 float double --第三类 布尔型 bo ...

  2. Day10_53_Collections.synchronizedList() 将Arraylist集合转换为线程安全的集合

    将Arraylist集合转换为线程安全的集合 import java.util.ArrayList; import java.util.Collections; import java.util.Li ...

  3. nodejs安装cnpm、nrm、webpack

    nodejs更换npm默认安装路径 查看包路径 npm config ls NPM默认的管理包路径在C:/用户/[用户名]/AppData/Roming/npm/node_modules,为了方便对依 ...

  4. 【Spring】 Spring如何解决循环依赖的问题?

    https://mp.weixin.qq.com/s/FtbzTMxHgzL0G1R2pSlh-A 通常来说,如果问Spring内部如何解决循环依赖,一定是单默认的单例Bean中,属性互相引用的场景. ...

  5. Think5之ajax批量删除数据功能

    //批量删除学员信息 public function deleteMany() { $id = input('post.'); //判断id是数组还是一个数值 if(is_array($id)){ f ...

  6. hdu3449 有依赖的背包问题

    题意:       给你一些物品,每个物品有自己的价值和花费,每个物品都对应一个箱子,每个箱子有价钱,买这个物品必须买相应的箱子,给你一个价钱,问最多可以获得多少价值 <提示:多个物品可能同时对 ...

  7. 远程分支git换地址了,本地重新关联

    由于本人把github远程仓库的名字修改了所以做了以下步骤修改 步骤:两步 (1)先把之前关联的git清除掉 git remote rm origin (2)再关联新的地址 git remote ad ...

  8. mybatis新手快速搭建成功详细操作

    1.数据库建表 在数据库中新建一个名为mybatis的数据库,在mybatis数据库中新建一张 t_user 表,表中有3个字段,id,name,password,代码如下: 新建一个mybatis数 ...

  9. 浅谈CRM系统的选型和实施

    CRM的本质是最大化利用企业的现有资源来提供客户所需的产品,保证提供给客户最好的服务,帮助销售人员提高客户转化率,储存所有重要的客户信息,帮助企业深入挖掘潜在客户等等. 对于企业来说,即使处于同一行业 ...

  10. 常用的HTML标记

    一.格式标记 1.<br> <br>是一个单标记,用来强制换行. 2.<p> <p>是双标记.用来换分段落. 3.<center> < ...