标签:
Nova用于为单个用户或使用群组管理虚拟机实例的整个生命周期,根据用户需求来提供虚拟服务。负责虚拟机创建、开机、关机、挂起、暂停、调整、迁移、重启、销毁等操作,配置CPU、内存等信息规格。
Nova组件包括以下几个服务:
nova的逻辑架构图如图:
nova-api
Nova对外提供服务的窗口,他接收并响应来自用户的Compute API调用。
nova-compute
是安装到每个物理主机上的服务进程,这个服务接受请求后执行一批与虚拟机相关的操作,这些操作需要调用底层的Hypervisor API完成,比如支持XenServer/XCP的XwnAPI,支持KVM和QEMU的libvirt或者支持VMware的VMwareAPI等。
nova-scheduler
用于接收创建虚拟机的请求,并决定在哪台物理主机上启动该虚拟机的调度器。目前nova中的实现有以下几种:
nova-conductor
处于nova-compute与nova-db之间的一个组件,nova-conductor创建的初衷是基于安全考虑而避免nova-compute直接访问nova-db的,nova-compute的请求都由nova-comductor代交,不能直接访问nova-db。
nova-db
包含一大堆数据库表,该数据库用于记录虚拟机状态,虚拟机与物理机的对应关系、project信息等数据内容。
nova-console与nova-consoleath
都是Nova提供的控制台服务,允许最终用户通过代理服务器访问虚拟机的控制台。
nova-cert与nova-objectstore
提供了x509验证管理服务和在Glance中注册镜像的S3接口服务。
Nova创建虚拟机的流程(这个简化了):
Nova创建启动虚拟机流程:
以上是我自己在了解OpenStack时,对nova的一些资本了解,比较浅,如果有不对的地方欢迎指出来,谢谢!
标签:
原文地址:http://blog.csdn.net/svmachine/article/details/51351858