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

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;

你可能感兴趣的:(openstack)