Open Stack Compute Infrastructure (Nova)
Nova是OpenStack云中的计算组织控制器。支持OpenStack云中实例(instances)生命周期的所有活动都由Nova处理。这样使得Nova成为一个负责管理计算资源、网络、认证、所需可扩展性的平台。但是,Nova自身并没有提供任何虚拟化能力,相反它使用libvirt API来与被支持的Hypervisors交互。Nova 通过一个与Amazon Web Services(AWS)EC2 API兼容的web services API来对外提供服务。
功能和特点:
- 实例生命周期管理
- 管理计算资源
- 网络和认证管理
- REST风格的API
- 异步的一致性通信
- Hypervisor透明:支持Xen,XenServer/XCP, KVM, UML, VMware vSphere and Hyper-V
OpenStack计算的组成:
Nova 云架构包括以下主要组件:
- API Server (nova-api)
- Message Queue (rabbit-mq server)
- Compute Workers (nova-compute)
- Network Controller (nova-network)
- Volume Worker (nova-volume)
- Scheduler (nova-scheduler)
API Server(nova-api)
API Server对外提供一个与云基础设施交互的接口,也是外部可用于管理基础设施的唯一组件。管理使用EC2 API通过web services调用实现。然后API Server通过消息队列(Message Queue)轮流与云基础设施的相关组件通信。作为EC2 API的另外一种选择,OpenStack也提供一个内部使用的“OpenStack API”。
Message Queue(Rabbit MQ Server)
OpenStack 节点之间通过消息队列使用AMQP(Advanced Message Queue Protocol)完成通信。Nova 通过异步调用请求响应,使用回调函数在收到响应时触发。因为使用了异步通信,不会有用户长时间卡在等待状态。这是有效的,因为许多API调用预期的行为都非常耗时,例如加载一个实例,或者上传一个镜像。
Compute Worker(nova-compute)
Compute Worker处理管理实例生命周期。他们通过Message Queue接收实例生命周期管理的请求,并承担操作工作。在一个典型生产环境的云部署中有一些compute workers。一个实例部署在哪个可用的compute worker上取决于调度算法。
Network Controller(nova-network)
Network Controller 处理主机地网络配置。它包括IP地址分配、为项目配置VLAN、实现安全组、配置计算节点网络。
Volume Workers(nova-volume)
Volume Workers用来管理基于LVM(Logical Volume Manager)的实例卷。Volume Workers有卷的相关功能,例如新建卷、删除卷、为实例附加卷,为实例分离卷。卷为实例提供一个持久化存储,因为根分区是非持久化的,当实例终止时对它所作的任何改变都会丢失。当一个卷从实例分离或者实例终止(这个卷附加在该终止的实例上)时,这个卷保留着存储在其上的数据。当把这个卷重附加载相同实例或者附加到不同实例上时,这些数据依旧能被访问。
一个实例的重要数据几乎总是要写在卷上,这样可以确保能在以后访问。这个对存储的典型应用需要数据库等服务的支持。
Scheduler(nova-scheduler)
调度器Scheduler把nova-API调用映射为OpenStack组件。调度器作为一个称为nova-schedule守护进程运行,通过恰当的调度算法从可用资源池获得一个计算服务。Scheduler会根据诸如负载、内存、可用域的物理距离、CPU构架等作出调度决定。nova scheduler实现了一个可插入式的结构。
当前nova-scheduler实现了一些基本的调度算法:
- 随机算法:计算主机在所有可用域内随机选择
- 可用域算法:跟随机算法相仿,但是计算主机在指定的可用域内随机选择。
- 简单算法:这种方法选择负载最小的主机运行实例。负载信息可通过负载均衡器获得。
分享到:
相关推荐
要想学好云计算,openstack学习的好资料。由权威及项目经验丰富的教授教学
OpenStack云计算快速入门教程
《OpenStack云计算基础架构平台应用》试卷试题及答案.docx
这个课程是openstack入门课程,重点放在openstack的部署和网络部分
资源名称:OpenStack云计算平台管理 资源目录:深入浅出OpenStack云平台管理(nova-computernetwork)1深入浅出OpenStack云平台管理(nova-computernetwork)2深入浅出OpenStack云平台管理(nova-computernetwork)3深入...
OpenStack云计算平台搭建与管理教学教案(共17单元)3.pdf
基于openstack云计算的实现(毕业设计开题报告).pdf基于openstack云计算的实现(毕业设计开题报告).pdf基于openstack云计算的实现(毕业设计开题报告).pdf基于openstack云计算的实现(毕业设计开题报告).pdf基于...
这个课程是openstack入门课程,重点放在openstack的部署和网络部分
FusionSphere OpenStack云计算方案介绍.pdf
OpenStack云计算管理平台项目教程(微课版)-PPT.rar
这个课程是openstack入门课程,重点放在openstack的部署和网络部分
基于OpenStack云计算平台的MOOC模型构建.pdf
这个课程是openstack入门课程,重点放在openstack的部署和网络部分
02.Openstack组件介绍 03 nuxOpenstack自动化部署 04 LinuxOpenstack之网络准备 05 LinuxOpenstack之创建实例 06Linux openstack之添加磁盘和快照 07社区K版openstack实验环境介绍 0B社区K版openStack之NP和数据库...
这个课程是openstack入门课程,重点放在openstack的部署和网络部分
这个课程是openstack入门课程,重点放在openstack的部署和网络部分
基于Openstack云计算技术的实训平台构建与应用——以中职《网络操作系统》课程为例.pdf
对OpenStack云计算平台进行总结,结合官方文档进行整理,输出方式为思维导图