更新时间:2021-08-05 GMT+08:00
分享

组件原理

Nova

Nova提供一个工具来部署云,包括运行实例、管理网络以及控制用户和其他项目对云的访问。与运行在主机操作系统上潜在的虚拟化机制交互的驱动,暴露基于Web API的功能。Nova对外提供API服务,为所有API查询提供一个端点,初始化绝大多数的部署活动,以及实施一些策略。Nova部署支持单节点、双节点和多节点,实际应用推荐使用多节点。由于Nova是无共享、基于消息的架构,可以安装每个nova-service在单独的服务器上,但Dashboard必须安装在nova-api服务器上。Nova在openstack框架中的位置如图1

图1 Nova组件架构图

Nova服务可部署到控制节点和计算节点上,nova-api提供web Api服务,接口采用Rest API;nova-scheduler根据CPU和内存权重,选择放置VM;nova-database数据库操作代理;nova-compute管理虚拟机生命周期。

Cinder

Cinder是一个块存储服务,向虚拟机提供可用于持久存储块存储服务,架构图如图2所示。

  • Cinder Client封装Cinder提供的rest接口,以CLI形式供用户使用。
  • Cinder API对外提供REST API,对操作需求进行解析,对API进行路由。寻找相应的处理方法。包含卷的增删改查(包括从源卷、镜像、快照创建)、快照增删改查、备份、volume type管理、挂载/卸载等。
  • Cinder scheduler负责收集backend上报的容量、能力信息,根设定的算法完成卷到指定cinder-volume的调度。
  • Cinder volume多节点部署,使用不同的配置文件、接入不同的backend设备,由各存储厂商插入driver代码与设备交互完成设备容量和能力信息收集、卷操作。
  • Cinder backup实现将卷的数据备份到其他存储介质。
  • SQL DB提供存储卷、快照、备份、service等数据,支持Mysql、PostgreSQL等SQL数据库。
图2 Cinder组件架构图

Neutron

Neutron是一个虚拟网络管理系统,服务包括REST API、DHCP、二层网络等,通过插件式架构支持大量网络厂商设备及网络技术,架构图如图3所示。

  • neutron-server

    提供REST API服务,后端使用关系数据库。

  • Message Queue

    neutron-server使用Message Queue与其他Neutron agents进行交换消息,但是这个Message Queue不会用于neutron-server与其他OpenStack组件如nova进行交换消息。

  • L2 Agent

    负责连接端口(ports)和设备,使他们处于共享的广播域(broadcast domain)。通常运行在Hypervisor上。

  • DHCP agent

    用于配置虚拟机主机的网络,某些情况可能不需要DHCP agent,例如使用config drive来配置虚拟主机的情况。

  • L3 Agent

    负责连接tenant网络到数据中心,或连接到Internet。在真实的部署环境中,一般都需要多个L3 Agent同时运行。

图3 Neutron组件架构图
分享:

    相关文档

    相关产品

close