nova 计算服务
nova-compute(多个) :控制节点不安装此服务 计算节点安装此服务
由它来调用libvert,然后libevert来负责控制和管理虚拟机(类似于kvm)
nova-conductor:将自动在数据库中注册comput的信息,没隔一分钟来更新各个计算节点(宿主机)的内存cup硬盘等剩余值更新到数据库中去,
nova-scheduler:来通过查看宿主机资源情况来判断在那一台宿主机上创建新的虚拟机
简单来说
1.用户发起请求
2.Apl请求发送消息队列 进行调度scheduler(Apl接受请求,写到数据库中)
3.调度结果放到队列中 分配到主机上的任务 分配到哪台机器哪台机器取这个调度结果消息
4.消息队列通过conductor从数据库中取消息
5.取完之后将信息通过消息队列发送到computer主机上
1.客户(可以是OpenStack最终用户,也可以是其他程序)向API(nova-api)发送请求:“帮我创建一个虚机”;
2.API对请求做一些必要处理后,向Messaging(RabbitMQ)发送了一条消息:“让Scheduler创建一个虚机”;
3.Scheduler(nova-scheduler)从Messaging获取到API发给它的消息,然后执行调度算法,从若干计算节点中选出节点 A ;
4.Scheduler向Messaging发送了一条消息:“在计算节点 A 上创建这个虚机”
5.计算节点 A 的Compute(nova-compute)从Messaging中获取到Scheduler发给它的消息,然后在本节点的Hypervisor上启动虚机;
6.在虚机创建的过程中,Compute如果需要查询或更新数据库信息,会通过Messaging向Conductor(nova-conductor)发送消息,Conductor负责数据库访问。
除了nova-compute 在计算节点 上 其他全部在控制节点上
几个组件之间的通讯是通过消息队列 rabbitmq 来进行通讯的
查看服务启动情况
上变得 nova-compute就是在其他机器上启动完nova-compute之后自动在控制节点注册进来得
openstack的安装步骤
1.在控制节点上创建数据库
2.在控制节点上
在keystone上
安装服务相关的软件包
计算节点