[英]how openstack cinder distribute volume without special type while configure two ceph backend pools
我發現cinder-volume
會根據它們的虛擬或實際可用容量將卷分配到池中,同時請求創建一個沒有特殊卷類型的新卷並且有兩個或更多后端池而沒有設置default_volume_type配置選項。
實際上,在我的例子中,有一個ceph_common池為MAX AVAIL保留30 TiB
,另一個是ceph_specs池,為MAX AVAIL保留10 TiB
,它將在ceph_specs池中創建一個新卷,同時創建沒有卷類型作為openstack volume create --size 10 test_vol_without_type
。
我已經從這些鏈接中進行了檢查,但無法獲得任何線索:
誰能給點建議? 這種情況的原理是什么? 謝謝。
根據默認的cinder.conf ,有兩個步驟(filter 和 weight)來確定分配卷的主機。
# Which filter class names to use for filtering hosts when not specified in the
# request. (list value)
#scheduler_default_filters = AvailabilityZoneFilter,CapacityFilter,CapabilitiesFilter
# Which weigher class names to use for weighing hosts. (list value)
#scheduler_default_weighers = CapacityWeigher
total_physical_capacity * max_over_subscription_ratio - backend_provisioned
total_physical_capacity: the pool TOTAL size get by `ceph df` command
max_over_subscription_ratio: Default ratio is 20.0, meaning provisioned capacity can be 20 times of the total physical capacity
backend_provisioned: the pool PROVISIONED TOTAL size get by `rbd du -p pool_name`
所以在某些情況下似乎隨機將新卷分發到不同的后端池。 實際上,這是因為CapacityWeigher 。
如何解決我的問題:
openstack volume type create --property volume_backend_name='ceph_common' vol_type_common
cinder-api, cinder-scheduler, cinder-volume
等所有cinder組件中配置default_volume_type為vol_type_common 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.