![](/img/trans.png)
[英]ceph df showing available space which doesn't match ceph partition size
[英]ceph df max available miscalculation
Ceph 集群顯示 ceph ceph df
output 出現以下奇怪行為:
--- RAW STORAGE ---
CLASS SIZE AVAIL USED RAW USED %RAW USED
hdd 817 TiB 399 TiB 418 TiB 418 TiB 51.21
ssd 1.4 TiB 1.2 TiB 22 GiB 174 GiB 12.17
TOTAL 818 TiB 400 TiB 418 TiB 419 TiB 51.15
--- POOLS ---
POOL ID PGS STORED OBJECTS USED %USED MAX AVAIL
pool1 45 300 21 TiB 6.95M 65 TiB 20.23 85 TiB
pool2 50 50 72 GiB 289.15k 357 GiB 0.14 85 TiB
pool3 53 64 2.9 TiB 754.06k 8.6 TiB 3.24 85 TiB
erasurepool_data 57 1024 138 TiB 50.81M 241 TiB 48.49 154 TiB
erasurepool_metadata 58 8 9.1 GiB 1.68M 27 GiB 2.46 362 GiB
device_health_metrics 59 1 22 MiB 163 66 MiB 0 85 TiB
.rgw.root 60 8 5.6 KiB 17 3.5 MiB 0 85 TiB
.rgw.log 61 8 70 MiB 2.56k 254 MiB 0 85 TiB
.rgw.control 62 8 0 B 8 0 B 0 85 TiB
.rgw.meta 63 8 7.6 MiB 52 32 MiB 0 85 TiB
.rgw.buckets.index 64 8 11 GiB 1.69k 34 GiB 3.01 362 GiB
.rgw.buckets.data 65 512 23 TiB 33.87M 72 TiB 21.94 85 TiB
如上所示,可用存儲為 399TiB,池列表中的最大可用性顯示為 85TiB。 我為每個池復制池使用 3 個副本,為erasurepool_data
使用 3+2 擦除代碼。
據我所知, Max Avail
段根據副本大小顯示最大原始可用容量。 所以它達到 85*3=255TiB。 同時集群顯示近 400 個可用。
信任哪個? 這只是一個錯誤嗎?
當您添加糾刪碼池時,在 154 處,您得到 255+154 = 399。
MAX AVAIL列表示在第一個 OSD 變滿之前可以使用的數據量。 它考慮了來自 CRUSH map 的磁盤上數據的預計分布,並使用“第一個填滿的 OSD”作為目標。 它似乎不是一個錯誤。 如果MAX AVAIL不是您所期望的,請使用 ceph osd 樹查看數據分布,並確保您具有均勻分布。
您還可以在此處查看一些有用的帖子,這些帖子解釋了一些錯誤計算:
由於您涉及擦除編碼,請查看此 SO 帖子:
原來最大可用空間是根據集群中最滿的 osds 計算的,與集群中的總可用空間無關。 從我發現這種波動主要發生在小集群上。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.