★【Glance】数据库
glance-api 是系统后台运行的服务进程。对外提供 REST API,响应 image 查询、获取和存储的调用。glance-api 不会真正处理请求。api
一、若是是与 image metadata(元数据)相关的操做,glance-api 会把请求转发给 glance-registry;
二、若是是与 image 自身存取相关的操做,glance-api 会把请求转发给该 image 的 store backend。安全
Glance 支持多种格式的 image,包括blog
Store backend :
Glance 本身并不存储 image。真正的 image 是存放在 backend 中的。
Glance 支持多种 backend,包括
一、A directory on a local file system(这是默认配置)
二、GridFS
三、Ceph RBD
四、Amazon S3
五、Sheepdog
六、OpenStack Block Storage (Cinder)
七、OpenStack Object Storage (Swift)
八、VMware ESX
具体使用哪一种 backend,是在 /etc/glance/glance-api.conf 中配置的。
个人配置:image 存放在控制节点本地目录 filesystem_store_datadir = /var/lib/glance/images/。生命周期
★【Nova】进程
1,nova-schedulerpdo
虚机调度服务,负责决定在哪一个计算节点上运行虚机后台
2,nova-compute配置
管理虚机的核心服务,经过调用 Hypervisor API 实现虚机生命周期管理file
3,Hypervisor
计算节点上跑的虚拟化管理程序,虚机管理最底层的程序。
不一样虚拟化技术提供本身的 Hypervisor。,经常使用的 Hypervisor 有 KVM,Xen, VMWare 等
4,nova-conductor
nova-compute 常常须要更新数据库,好比更新虚机的状态。
出于安全性和伸缩性的考虑,nova-compute 并不会直接访问数据库,而是将这个任务委托给 nova-conductor。
▲重要:
在 nova-compute 的配置文件 /etc/nova/nova.conf 中由 compute_driver 配置项指定该计算节点使用哪一种 Hypervisor 的 driver。
•nova-scheduler 的调度机制和实现方法:即解决如何选择在哪一个计算节点上启动 instance 的问题。
•Filter scheduler
Filter scheduler 是 nova-scheduler 默认的调度器,调度过程分为两步:
经过过滤器(filter)选择知足条件的计算节点(运行 nova-compute)
经过权重计算(weighting)选择在最优(权重值最大)的计算节点上建立 Instance。
scheduler_driver=nova.scheduler.filter_scheduler.FilterScheduler
Nova 容许使用第三方 scheduler,配置 scheduler_driver 便可。 这又一次体现了OpenStack的开放性。
Scheduler 可使用多个 filter 依次进行过滤,过滤以后的节点再经过计算权重选出最适合的节点