OpenStack — Nova
文章目录
- Nova
- Nova架构
- Nava组件
- nova-api
- nova-compute
- nova-conductor
- nova-scheduler
- nova-novncproxy
- 创建虚拟机流程
Nova
Nova是OpenStack最核心的服务模块,负责管理和维护云计算环境的计算资源,负责整个云环境虚拟机生命周期的管理。
Nova自身并没有提供任何虚拟化能力,它提供计算服务,使用不同的虚拟化驱动来与底层支持的Hypervisor(虚拟机管理器)进行交互。
所有的计算实例(虚拟服务器)由Nova进行生命周期的调度管理(启动、挂起、停止、删除等),Nova还需要keystone、glance、neutron、cinder和swift等其他服务的支持,能与这些服务集成,实现如加密磁盘、裸金属计算实例等。
Nova架构
API:用于接收HTTP请求、转换命令、通过消息队列或HTTP与其他组件通信。
Conductor:处理需要协调(构建虚拟机或调整虚拟机大小)的请求,充当数据库代理或者处理对象转换。
Scheduler:用于决定哪台计算节点承载计算实例。
Compute:管理虚拟机管理器与虚拟机之间通信。
DB:用于数据存储的SQL数据库,通常是MariaDB。
Nava组件
nova-api
nova-api 作为 Nova 组件对外的唯一窗口,向客户暴露 Nova 能够提供的功能。 当客户需要执行虚机相关的操作,能且只能向 nova-api 发送 REST 请求。
设计 API 前端服务的好处在于: 1. 对外提供统一接口,隐藏实现细节 2. API 提供 REST 标准调用服务,便于与第三方系统集成 3. 可以通过运行多个 API 服务实例轻松实现 API 的高可用,比如运行多个 nova-api 进程
nova-compute
nova-compute 在计算节点上运行,负责管理节点上的实例。OpenStack 对实例的操作,最后都是交给 nova-compute 来完成。nova-compute 与 Hypervisor 一起实现 OpenStack 对实例生命周期的管理。
nova-compute 的功能可以分为两类:
定时向 OpenStack 报告计算节点的状态
每隔一段时间,nova-compute 就会报告当前计算节点的资源使用情况和 nova-compute 服务状态。这样OpenStack 就能得知每个计算节点的 vcpu、ram、disk 等信息。nova-scheduler 的很多 Filter 才能根据计算节点的资源使用情况进行过滤,选择符合 flavor 要求的计算节点。
实现实例生命周期的管理
OpenStack 对实例最主要的操作都是通过 nova-compute 实现的,包括实例的启动、关闭、重启、暂停、恢复、删除、调整实例大小、迁移、创建快照等。
nova-conductor
为计算节点提供数据库访问支持。
nova-compute服务和数据库之间的中间件。
实现更高的系统安全性
在 OpenStack 的早期版本中,nova-compute 可以直接访问数据库,但这样存在非常大的安全隐患。因为 nova-compute 这个服务是部署在计算节点上的,为了能够访问控制节点上的数据库,就必须在计算节点的 /etc/nova/nova.conf 中配置访问数据库的连接信息。如果任意一个计算节点被黑客入侵,都会导致部署在控制节点上的数据库面临极大风险。
为了解决这个问题,从 G 版本开始,Nova 引入了一个新服务 nova-conductor,将 nova-compute 访问数据库的全部操作都放到 nova-conductor 中,而且 nova-conductor 是部署在控制节点上的。这样就避免了 nova-compute 直接访问数据库,增加了系统的安全性。
实现更好的系统伸缩性
nova-compute 与 nova-conductor 是通过消息中间件交互的。这种松散的架构允许配置多个 nova-conductor 实例。在一个大规模的 OpenStack 部署环境里,管理员可以通过增加 nova-conductor 的数量来应对日益增长的计算节点对数据库的访问。
nova-scheduler
将创建新虚拟机的请求分发到正确的节点。
当创建实例时,用户会提出资源需求,例如 CPU、内存、磁盘各需要多少。OpenStack 将这些需求定义在 flavor 中,用户只需要指定用哪个 flavor 就可以了。nova-scheduler 会按照 flavor 去选择合适的计算节点。
FilterScheduler调度过程分为两步:
- 通过过滤(filtering)选择满足条件的计算节点。
- 通过权重计算(weighting)选择在最优(权重值最大)的计算节点上创建实例。
nova-novncproxy
为浏览器提供VNC代理,允许VNC控制台访问虚拟机。
创建虚拟机流程
OpenStack — Nova相关推荐
- [网摘学习]在Ubuntu上安装和配置OpenStack Nova之二
再收藏一份Openstack的文章,这两天的操作与此相同.但其中出现的问题还需要查找原因.待个人继续学习研究. 原文参考:http://www.linuxde.net/2011/11/1599.htm ...
- Openstack Nova 源码分析 — 使用 VCDriver 创建 VMware Instance
目录 目录 前言 流程图 nova-compute vCenter 前言 在上一篇 Openstack Nova 源码分析 - Create instances (nova-conductor阶段) ...
- OpenStack Nova核心组件和RabbitMQ通信流程分析
前言 云计算从资源提供类型可以分为 IaaS(基础设施即服务) PaaS(平台即服务)和 SaaS(软件即服务)三层. IaaS和PaaS相辅相成,目前云计算商业领域的各大公有云厂商一般都会提供Iaa ...
- OpenStack Nova hacking和读书笔记
OpenStack Nova 设计与实现 1. Nova OpenStack采用一种无共享的.基于消息队列的架构,解耦的各模块组合在一起构成了一个统一的IaaS云. Nova是OpenStack生态中 ...
- openstack nova 分析笔记
原文地址:https://blog.csdn.net/u010827484/article/details/82627646 Openstack Nova 分析笔记
- 云系列---Openstack Nova组件 | 参数说明 | 详细讲解
Openstack Nova组件 一.Nova 概念 二.Nova 系统架构 三.Nova 组件详讲 1.API 讲解 2.Scheduler 讲解 调度器类型 过滤调度器调度过程 过滤器类型 Sch ...
- 在Ubuntu上安装和配置OpenStack Nova
OpenStack 是由 Rackspace 和 NASA 共同开发的云计算平台,帮助服务商和企业内部实现类似于 Amazon EC2 和 S3 的云基础架构服务(Infrastructure as ...
- openstack详解(十七)——openstack Nova其他配置
今天继续给大家介绍Linux运维相关知识,本文主要内容是openstack Nova其他配置. 一.Nova Keystone配置 在上文openstack详解(十六)--openstack Nova ...
- openstack详解(十五)——openstack Nova节点基本原理
今天继续给大家介绍Linux运维相关知识,本文主要内容是openstack Nova节点基本原理. 一.Openstack Nova节点简介 Nova是openstack中最早出现的模块之一,主要是为 ...
- openstack详解(十六)——openstack Nova安装与数据库配置
今天继续给大家介绍Linux运维相关知识,本文主要内容是openstack Nova安装与配置. 一.Nova节点安装 Nova节点的安装是在Keystone节点成功安装的基础上进行的.Keyston ...
最新文章
- 你为什么“啃不动”你手中的技术书?
- ucosII移植要修改的文件
- 【技术培训】招收Jeecg门徒 ---javaweb初级入门班
- Markdown--编辑表格与矩阵
- 缩略图修复_如何解决SOLIDWORKS不显示缩略图预览的方法?
- php操作mysql数据库的扩展有哪些_PHP mysql 扩展库 操作mysql数据库步骤
- Mac下ndk交叉编译arm平台程序
- 【渝粤教育】广东开放大学 集体谈判与集体合同 形成性考核 (30)
- 如何在ECLIPSE中使用MVN CLEAN INSTALL
- linux socket监听端口,Linux-socket使用
- 教你用illustrator画十二色环
- 用几何画板演示高尔顿钉板动画
- marlin固件烧录教程_marlin固件中文(marlin固件下载)【配置教程】
- 黑客小C小游戏(DEVC++)时不时会更新
- opencv实现两张图片叠加
- NIT考试感想与复习unity基础
- 脱了裤子放屁之std::string
- Debezium系列之:使用Debezium接入SQL Server数据库数据到Kafka集群的详细技术文档
- 《操作系统真象还原》源代码
- “澳本聪”是怎么从网红一步步变成“众矢之的”?
热门文章
- 消除数据信息碎片化 打通大数据应用“最后一公里”
- 计算机岗位需要具备什么技能点
- 软考 信息系统管理工程师和系统集成项目管理工程师有什么区别?
- 92年出生的大龄程序员
- translation翻译插件下载及翻译失败解决
- SQL-正序倒序查询
- E: The repository ‘http://ppa.launchpad.net/appimagelauncher-team/stable/ubuntu bionic Release‘ does
- [运维]cAdvisor 使用教程
- 极客时间学习笔记☞《苏杰的产品创新课》(三)
- Unity制作扫雷游戏