OpenStack-Nova(4)
一、 Nova概述
使用OpenStack Compute来托管和管理云计算系统。OpenStack Compute是基础架构即服务(IaaS)系统的主要部分。主要模块在Python中实现。
OpenStack Compute与OpenStack Identity进行交互以进行身份验证;用于磁盘和服务器映像的OpenStack Image服务;和用于用户和管理界面的OpenStack仪表板。 镜像访问受到项目和用户的限制;每个项目的配额有限(例如数量)。 OpenStack Compute可以在标准硬件上水平扩展,并下载镜像以启动实例。
OpenStack Compute由以下几个方面组成:
(1)nova-api服务
接受并响应最终用户的计算API调用。 该服务支持OpenStack Compute API,Amazon EC2 API和特殊的Admin API,用于特权用户执行管理操作。 它执行一些策略并启动大多数业务流程活动,例如运行一个实例。
(2)nova-api-metadata服务
接受来自实例的元数据请求。当您使用nova-network安装在多主机模式下运行时,通常会使用nova-api-metadata服务。
(3)nova-compute计算服务
通过虚拟机管理程序API创建和终止虚拟机实例的工作程序守护程序。
- 适用于XenServer / XCP的XenAPI
- KVM或QEMU的libvirt
- 适用于VMware的VMwareAPI
处理相当复杂。基本上,守护程序接受队列中的操作,并执行一系列系统命令,例如启动KVM实例并更新数据库中的状态。
(4)nova-placement-api服务
跟踪每个提供商的库存和使用情况。有关详细信息,请参阅Placement API。
(5)nova-scheduler服务
从队列获取虚拟机实例请求,并确定运行哪个计算服务器主机。
(6)nova-conductor module模块
nova-compute服务与数据库之间的交互。它消除了由nova-compute服务器对云数据库的直接访问。新星导体模块水平放置。但是,不要在运行nova-compute服务的节点上部署它。
(7)nova-cert模块
为X509证书提供Nova Cert服务的服务器守护程序。用于生成euca-bundle-image的证书。只需要EC2 API。
(8)nova-consoleauth守护进程
为控制台代理提供的用户授权令牌。参见nova-novncproxy和nova-xvpvncproxy。此服务必须运行才能使控制台代理工作。您可以在集群配置中针对单个nova-consoleauth服务运行任一类型的代理。
(9)nova-novncproxy守护进程
提供通过VNC连接访问运行实例的代理。 支持基于浏览器的novnc客户端。
(10)nova-spicehtml5proxy守护进程
提供通过SPICE连接访问运行实例的代理。支持基于浏览器的HTML5客户端。
(11)nova-xvpvncproxy守护进程
提供通过VNC连接访问运行实例的代理。支持特定于OpenStack的Java客户机。
(12)Message Queue
在守护进程之间传递消息的中心枢纽。 通常用RabbitMQ实现,也可以用另一个AMQP消息队列来实现,如ZeroMQ。
(13)SQL数据库
存储云基础架构的大部分构建时间和运行时状态,包括:
- 可用的实例类型
- 正在使用的实例
- 可用网络
- 项目
理论上,OpenStack Compute可以支持SQLAlchemy支持的任何数据库。 公共数据库是用于测试和开发工作的SQLite3,MySQL,MariaDB和PostgreSQL。
二、 Nova架构
1、Nova逻辑架构

图1 Nova逻辑架构(早期架构)

图2 Nova逻辑架构
2、Nova服务架构

图3 Nova服务架构
OpenStack-Nova(4)的更多相关文章
- 学习OpenStack之(6):Neutron 深入学习之 OVS + GRE 之 Compute node 篇
0.环境 硬件环境见上一篇博客:学习OpenStack之(5):在Mac上部署Juno版本OpenStack 四节点环境 OpenStack网络配置:一个tenant, 2个虚机 Type drive ...
- 理解 OpenStack + Ceph (5):OpenStack 与 Ceph 之间的集成 [OpenStack Integration with Ceph]
理解 OpenStack + Ceph 系列文章: (1)安装和部署 (2)Ceph RBD 接口和工具 (3)Ceph 物理和逻辑结构 (4)Ceph 的基础数据结构 (5)Ceph 与 OpenS ...
- 学习OpenStack之(5):在Mac上部署Juno版本OpenStack 四节点环境
0. 前沿 经过一段时间的折腾,终于在自己的Mac上装好了Juno版本的四节点环境.这过程中,花了大量的时间,碰到了许多问题,学到不少知识,折腾过不少其实不需要折腾的东西,本文试着来对这过程做个总结. ...
- 探索 OpenStack 之(13):研究 Keystone
Keystone 是 OpenStack Identity Service 的项目名称.本文就试着尽可能深入地研究 Keystone. 1. Keystone 的功能 做为 OpenStack 云系统 ...
- 探索 OpenStack 之(12):cinder-api Service 处理 HTTP Request 的过程分析
本文是上一篇 探索 OpenStack 之(11):cinder-api Service 启动过程分析 以及 WSGI / Paste deploy / Router 等介绍> 的后续篇. os ...
- 探索 OpenStack 之(9):深入块存储服务Cinder (功能篇)
继研究了Neutron之后,继续Nova的外围研究之旅.本站是研究块存储服务Cinder. 0.验证环境 环境包括: 1.一个controller节点,运行nova-api, nova-schedul ...
- OpenStack 初探(一) -- All-In-One模式部署(初学OpenStack必备)
OpenStack 初探(一) -- All-In-One模式部署(初学OpenStack必备) 一.操作前需了解: 1. OpenStack提供IaaS(基础设施即服务)服务,它是开源的云计 ...
- 探索 OpenStack 之(8):Neutron 深入探索之 OVS + GRE 之 完整网络流程 篇
前两篇博文分别研究了Compute节点和Neutron节点内部的网络架构.本文通过一些典型流程案例来分析具体网络流程过程. 0. 环境 同 学习OpenStack之(7):Neutron 深入学习之 ...
- 理解 OpenStack + Ceph (2):Ceph 的物理和逻辑结构 [Ceph Architecture]
本系列文章会深入研究 Ceph 以及 Ceph 和 OpenStack 的集成: (1)安装和部署 (2)Ceph RBD 接口和工具 (3)Ceph 物理和逻辑结构 (4)Ceph 的基础数据结构 ...
- 理解 OpenStack Swift (2):架构、原理及功能 [Architecture, Implementation and Features]
本系列文章着重学习和研究OpenStack Swift,包括环境搭建.原理.架构.监控和性能等. (1)OpenStack + 三节点Swift 集群+ HAProxy + UCARP 安装和配置 ( ...
随机推荐
- Vue在ASP.NET MVC中的进行前后端的交互
Vue在ASP.NET MVC中的进行前后端的交互 Preface: 由于最近在研究前端相关的技术,作为前端非常优秀的框架Vue,个人在学习的过程中遇到一些问题,网上相关资料有限,所以在这这里总结一下 ...
- C#把动态创建的多个控件中指定控件显示在最上层
在创建多个控件后,有些控件会发生重叠,那么就需要在鼠标按下它时能显示在最上层,下面通过先将按下操作的控件删除然后再重建,就达到让它显示在最上层了 //控件按下 private void picture ...
- python学习笔记(十 一)、GUI图形用户界面
python图形用户界面就是包含按钮.输入框.选择框等组件的窗口.主要依赖与工具包进行代码编写.python GUI工具包并发互斥的,你可以选择多个工具包进行安装,有极大选择空间.每个工具包都有不同用 ...
- Java开发笔记(三十)大小数BigDecimal
前面介绍的BigInteger只能表达任意整数,但不能表达小数,要想表达任意小数,还需专门的大小数类型BigDecimal.如果说设计BigInteger的目的是替代int和long类型,那么设计Bi ...
- Java continue的特殊用法 继续当前循环
前言 今天java练习的时候,遇到了一道有趣的题目,加深了我对cotinue的理解,所以我写个笔记,记录一下continue的特殊用法 continue作用说明 这里我使用个例子来简单说明一下: fo ...
- Mybaits之Mapper动态代理开发
Mybaits之Mapper动态代理开发 开发规范: Mapper接口开发方法只需要程序员与Mapper接口(相当于Dao接口),由Mybatis框架根据接口定义创建接口的动态代理对象,代理对象的方法 ...
- 多线程(2)Thread
我们先从最基础的Thread说起. 创建并启动线程 创建并启动一个线程,如下代码: namespace ConsoleApplication17 { class Program { static vo ...
- Redis过期策略
一.设置过期时间 expire key time(以秒为单位) -- 这是最常用的方式 setex(String key, int seconds, String value) -- 字符串独有的方式 ...
- 字符串hash入门
简单介绍一下字符串hash 相信大家对于hash都不陌生 翻译过来就是搞砸,乱搞的意思嘛 hash算法广泛应用于计算机的各类领域,像什么md5,文件效验,磁力链接 等等都会用到hash算法 在信息学奥 ...
- WLST
Master Note on WebLogic Server Scripting Tool (WLST) Usage, Sample Scripts and Known Issues Deployin ...