首页 » OpenStack系统架构设计实战 » OpenStack系统架构设计实战全文在线阅读

《OpenStack系统架构设计实战》第2章 计算管理(Nova)

关灯直达底部

2.1 概述

Nova是一套控制器,用于为单个用户或使用群组启动虚拟机实例。OpenStack Compute在公有云处理方面堪与Amazon EC2相提并论;而在私有云方面也毫不逊色于VMware的产品。在公有云中,这套管理机制将提供预制的镜像、为用户创建的镜像提供存储机制,这样用户就能够将镜像以虚拟机的形式启动。

OpenStack中实例的整个生命周期中的所有行为都由Nova处理,Nova管理计算资源的创建、销毁、挂起、迁移等各种功能。但是Nova自身并不提供任何虚拟化能力,而是使用支持Hypervisor的API来提供。Nova支持两套API接口来暴露其功能,一套是其自定义的API接口,另一套是兼容EC1-API的接口。

Nova含有多个组件,而且根据不同版本组件有不同的变化。常见的有nova-api(一个HTTP服务,用于接收外部发送的请求),nova-compute(Nova核心服务,处理实例的创建、销毁、启动、暂停等生命周期管理),nova-scheduler(Nova调度服务,决定nova-api收到的请求,往哪个nova-compute上转送),nova-conductor(G版本开始增加的服务,主要是封装了数据库操作,作为Nova组件访问数据库的中间层,解决其他组件和数据库的耦合问题),nova-cert(管理证书,用于兼容AWS),nova-console、nova-consoleauth、nova-vncproxy(这3个是负责实例控制台输出服务),nova-objectstore(模拟对象存储接口,用于在实验环境中存储镜像,在D版本中被Glance替代),nova-volume(卷管理服务,现在被Cinder替代),nova-network(Nova网络管理服务,现在被Neutron替代,但是由于Neutron过于复杂和不稳定,在一个简单的环境中,往往nova-network更有用)。

随着OpenStack的发展,Nova本身也发展得较为臃肿,但是无论怎么演进,其基本运行原理是一致的。老版本的Nova运行更简单明了,为了将Nova的运行原理描述得更清楚一些,本章的有些内容基于老版本的Nova来讲解。