cinder的组件

跟nova相似,cinder也有很多组件,每个组件负责各自的业务,然后共同协作完成volume的管理。组件之间的通信方式与nova个组件之间的通信方式相同,都是通过消息队列进行通信。

cinder-api

类似于nova的nova-api组件,负责接受和处理外界的API请求。

cinder-scheduler

类似于nova的nova-scheduler组件,只不过它是筛选出合适的backend。模式相同,根据配置文件中配置的filter以及weight进行筛选。cinder中使用的filter种类较少,这里罗列几种比较常用的filter:

  1. AvailabilityZoneFilter会判断cinder host的availability zone是不是与目的az相同。不同则被过滤掉。
  2. CapacityFilter会判断host上的剩余空间free_capacity_gb大小,确保free_capacity_gb 大于volume 的大小。不够则被过滤掉。
  3. CapabilitiesFilter会检查host的属性是否和volume type中的extra specs是否完全一致。不一致则被过滤掉。

cinder-api和cinder-scheduler两个组件部署在控制节点即可。

cinder-volume

使用环境提供的driver进行存储资源的管理。

原文地址:https://www.cnblogs.com/gushiren/p/9642347.html