文章目录
一、Nova计算服务概述
1.1 Nova简介
- 计算服务是openstack最核心的服务之一,负责维护和管理云环境的计算资源,它在openstack项目中代号是nova。
- nova自身并没有提供任何虚拟化能力,它提供计算服务,使用不同的虚拟化驱动来与底层支持的Hypervisor(虚拟机管理)进行交互。所有的计算实例(虚拟服务器)有Nova进行生命周期的调度管理(启动、挂起、停止、删除等)
- Nova需要keystone、glance、neutron、cinder和swift等其他服务的支持,能与这些服务集成,实现如加密磁盘、裸金属计算实例等。
1.2 Nova系统架构
- DB:用于数据存储的sql数据库。
- API:用于接收HTTP请求、转换命令、通过消息队列或HTTP与其他组件通信的nova组件。
- Scheduler:用于决定哪台计算节点承载计算实例的nova调度器。
- Network:管理IP转发、网桥或虚拟局域网的nova网络组件。
- Compute:管理虚拟机管理器与虚拟机之间通信的nova计算组件。
- Conductor:处理需要协调(构建虚拟机或调整虚拟机大小)的请求,或者处理对象转换
1.3 Nova 部署 Cell
- 当openstack nova集群的规模变大时,数据库和消息队列服务就会出现瓶颈问题。Nova为提高水平扩展及分布式、大规模的部署能力,同时又不增加数据库和消息中间件的复杂度,引入了Cell概念。
- Cell可译为单元。为支持更大规模的部署,openstack将大的nova集群分成小的单元,每个单元都有自己的消息队列和数据库,可以解决规模增大时引起的瓶颈问题。在Cell中,Keystone. Neutron. Cinder.Glance等资源是共享的。
- 多Cell部署架构图,如下:
二、Nova组件详细介绍
2.1 API(通信接口)
- API是客户访问nova的http接口,它由nova-api服务实现,nova-api服务接收和响应来自最终用户的计算api请求。作为openstack对外服务的最主要接口,nova-api提供了一个集中的可以查询所有