簡體   English   中英

openstack cinder 如何在配置兩個 ceph 后端池時分配沒有特殊類型的卷

[英]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
  • 1,我們使用默認可用區,並沒有定義特殊卷類型來創建新卷,所以AvailabilityZoneFilterCapabilitiesFilter返回True
  • 2、在CapacityFilter中,如果有足夠的容量創建卷的大小,它會為主機返回True
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`
  • 3、在CapacityWeigher中,將select最可用的容量主機部署卷。

所以在某些情況下似乎隨機將新卷分發到不同的后端池。 實際上,這是因為CapacityWeigher

如何解決我的問題:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM