nova组件:
nova-api:接收和相应客户的API调用
nova-scheduler:虚机调度服务
nova-compute:管理虚拟机的生命周期,调用HypervisorAPI
nova-conductor:更新数据库保存虚拟机的状态
nova-consoleauth:访问虚拟机控制台提供token认证
nova-cert:x509证书支持
一个实例的启动过程分析:
向keystone发请求做认证,得到一个token
之后得到catlog和endpoint,向nova-api发送请求,向keystone认证token
是否有效,然后向数据库库中插入一条记录,并且向队列发送消息
nova-schedule得到消息,进行调度算法,得到结果后向消息队列发送消息
具体的计算节点得到消息后,并且从数据库得知实例的具体配置是什么
调用hypervisor,然后去glance查询,下载镜像,启动实例,在数据库更新实例的状态
再说一下nova-compute执行的操作:
1 开始启动
2 准备资源,网卡,磁盘,cpu等
(这里说一下虚拟机网络设备的情况)
ps:这里不一定必须是local网络
3 准备镜像文件,从glance服务节点下载镜像文件,并转换为raw格式
4 准备instance的xml文件
5 启动