您的位置:首页 > 运维架构

Openstack学习笔记(九)-nova学习笔记(一)

2016-04-12 11:15 197 查看

Nova

Nova是openstack中最核心的组件,完成了虚拟机管理的所有工作,openstack中的其他组件都是为了为nova配置资源而存在的。


1. MySQL:为nova提供数据库服务;

2. Keystone:为nova提供安全认证服务;

3. Swift:作为Glance的后端,存储了nova中虚拟机的映像;

4. Glance:为nova中的虚拟机提供镜像的存储服务;

5. Cinder:为nova中的虚拟机提供块存储服务;

6. Neutron:为nova中的虚拟机提供网络连接服务;

7. Dashboard:为nova提供Web UI管理功能;

服务示意图



Openstack中nova与其他组件的交互图



Nova的架构

首先看下nova内部的一些服务

1. nova-api:为nova模块提供Restful API;

2. nova-compute:虚拟机管理模块

3. nova-scheduler:调度模块;

4. nova-novncproxy:novnc代理服务;

5. nova-consoleauth:虚拟机开机日志服务;

6. nova-xvpvncproxy:xvpvnc代理服务;

7. nova-conductor:数据库操作服务;

8. nova-consoleauth:VNC及日志安全认证服务;

9. nova-cert:密钥文件管理服务

10. nova-network:新的版本已被neutron取代;

11. nova-volume:新版本已被cinder取代;

Nova内部小服务之间的相互联系图

虚拟机创建流程



虚拟机管理的流程:

1. nova-api:接受客户端的、dashboard创建虚拟机的请求。接手后首先验证是否合法,合法后交给nova-scheduler;

2. nova-schedulers:当接收到nova-api的请求后,查看集群中所有服务正常的计算节点,根据不同的选择算法选择一台,将创建虚拟机的请求转发至选中节点的nova-compute服务;

3. nova-cpmpute:nova-cpmpute运行在计算节点上,专门负责创建虚拟机;nova-cpmpute中Compute Manager负责接收消息。Compute Driver负责创建。Openstack中的nova Driver支持很多种hypervisor,openstack默认采用的是libvirt作为底层来管理虚拟机,创建虚拟机主要就由libvirt负责

4. libvert:libvert接收到消息后,再将具体的任务交给KVM和Xen;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: