项目介绍"/>
OpenStack nova项目介绍
nova介绍
nova项目是计算资源管理项目,实现对虚拟资源的控制管理,对虚拟机进行控制管理,并协调其他资源。
功能及特点:虚拟机生命周期管理、计算资源管理、基于REST 的API、异步连续通信、支持各种虚拟化技术:Xen、XenServer、KVM、VMware vSphere 及Hyper-V。当前也实现对容器的支持。
nova项目组件介绍
nova项目中组件情况如下
- nova-api
nova的接口处理组件,负责接收所有的rest api,并对api进行相关的检查(参数检查、配额检查),并协调其他项目对资源进行核准。 - nova-conductor
该组件负责nova项目和数据库的操作,实现nova和数据库的解耦;并启动虚拟机创建等调度的任务 - nova-scheduler
scheduler组件实现虚拟机的调度任务,在虚拟机创建过程中负责在所有的服务器上选择最优的服务器创建虚拟机。具体的调度过程scheduler调度过程 - nova-compute
nova-compute组件在计算节点,负责和底层虚拟化技术协同工作,对虚拟化服务器进行管理,通过虚拟化技术创建虚拟机,并实现对虚拟机的生命周期管理。
nova-compute目前能够实现对kvm、xen、heper-v、vmware等主流的虚拟化技术支持。 - nova-consoleauth
该组件提供token 验证,维护token 与ip 地址、端口号的映射 - nova-novncproxy
该组件实现对虚拟机novnc的管理,允许用户使用vnc 登陆虚拟机,Nova 提供了novncproxy 代理支持用户通过vnc 来访问虚拟机 - nova-spice
nova提供基于spice协议的桌面云访问协议,可扩展。
nova项目中组件通信方式
nova中所有的组件通过通信通过消息总线进行通信,基于MQ消息队列进行消息的消费生产过程
nova概念拓扑图
nova流程举例(boot)
nova创建虚拟机的流程如下图所示
- Nova-api 监听创建的虚拟机的请求
- Nova-api 通过RPC 调用conductor 中的build_instances 方法
- build_instance 会生成request_spec 字典,其中包括虚拟机的详细信息,并RPC 调用scheduler 的select_destinations 选择一个最佳的主机
- build_instance 通过RPC 调用computer 的build_and_run_instance()在选定的主机上创建虚拟机
更多推荐
OpenStack nova项目介绍
发布评论