OpenStack nova项目介绍

nova介绍

nova项目是计算资源管理项目,实现对虚拟资源的控制管理,对虚拟机进行控制管理,并协调其他资源。
功能及特点:虚拟机生命周期管理、计算资源管理、基于REST 的API、异步连续通信、支持各种虚拟化技术:Xen、XenServer、KVM、VMware vSphere 及Hyper-V。当前也实现对容器的支持。

nova项目组件介绍

nova项目中组件情况如下

  1. nova-api
    nova的接口处理组件,负责接收所有的rest api,并对api进行相关的检查(参数检查、配额检查),并协调其他项目对资源进行核准。
  2. nova-conductor
    该组件负责nova项目和数据库的操作,实现nova和数据库的解耦;并启动虚拟机创建等调度的任务
  3. nova-scheduler
    scheduler组件实现虚拟机的调度任务,在虚拟机创建过程中负责在所有的服务器上选择最优的服务器创建虚拟机。具体的调度过程scheduler调度过程
  4. nova-compute
    nova-compute组件在计算节点,负责和底层虚拟化技术协同工作,对虚拟化服务器进行管理,通过虚拟化技术创建虚拟机,并实现对虚拟机的生命周期管理。
    nova-compute目前能够实现对kvm、xen、heper-v、vmware等主流的虚拟化技术支持。
  5. nova-consoleauth
    该组件提供token 验证,维护token 与ip 地址、端口号的映射
  6. nova-novncproxy
    该组件实现对虚拟机novnc的管理,允许用户使用vnc 登陆虚拟机,Nova 提供了novncproxy 代理支持用户通过vnc 来访问虚拟机
  7. nova-spice
    nova提供基于spice协议的桌面云访问协议,可扩展。

nova项目中组件通信方式

nova中所有的组件通过通信通过消息总线进行通信,基于MQ消息队列进行消息的消费生产过程在这里插入图片描述

nova概念拓扑图

在这里插入图片描述

nova流程举例(boot)

nova创建虚拟机的流程如下图所示
虚拟机boot流程

  1. Nova-api 监听创建的虚拟机的请求
  2. Nova-api 通过RPC 调用conductor 中的build_instances 方法
  3. build_instance 会生成request_spec 字典,其中包括虚拟机的详细信息,并RPC 调用scheduler 的select_destinations 选择一个最佳的主机
  4. build_instance 通过RPC 调用computer 的build_and_run_instance()在选定的主机上创建虚拟机
发布了27 篇原创文章 · 获赞 1 · 访问量 899

猜你喜欢

转载自blog.csdn.net/luuJa_IQ/article/details/104118779