本帖最后由 arsenduan 于 2016-1-8 16:36 编辑
nova-api负责接受和响应终端用户有关虚拟机和云硬盘的请求,提供了openstackAPI、亚马逊EC2API以及管理员控制API。一句话:nova-api是整个nova的入口。它接受用户请求,将指令发送至消息队列,由相应的服务执行相关的指令消息。
nova-compute是主要的执行守护进程,职责是基于各种虚拟化技术Hyperivisor实现创建和终止虚拟机。nova-compute有两个工作,接受消息队列中的执行指令,并执行相关指令,如部署虚拟机。维护数据库相关模型的状态数据。
nova-compute整合了计算资源CPU,存储,网络三类资源部署管理虚拟机,实现计算能力的交付。包括如下内容:运行虚拟机,终止虚拟机,重启虚拟机,挂载虚拟机,挂载云硬盘,卸载云硬盘,控制台输出。
nova-volume/Cinder的职责是创建,挂载,和卸载持久化的磁盘虚拟机,运行机制类似nova-compute。同样是接受消息队列中的执行指令,并执行相关指令。volume的职责包括如下:创建云硬盘,删除云硬盘,弹性计算硬盘。一句话:就是为虚拟机增加块设备存储。
nova-network的职责是实现网络资源池的管理,包括IP池,网桥接口,VLAN,防火墙的管理。接受消息队列指令消息并执行。network的职责包括如下:分配私有云,VLAN管理,配置计算节点网络。Nova-network解决云计算网络资源池的网络问题。
nova-schedule的职责是调度虚拟机载哪个物理宿主机上部署,接受消息队列指令消息并执行。
Queue也就是消息队列,它就像是网络上的一个hub,nova各个组件之间的通信几乎都是靠它进行的,当前的Queue是用RabbitMQ实现的,它和database一起为各个守护进程之间传递消息。
推荐文章:
更多参考:
零基础学习openstack【完整中级篇】及openstack资源汇总
|