日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Minio的容量算法及实际存储空间计算公式

發(fā)布時間:2025/1/21 编程问答 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Minio的容量算法及实际存储空间计算公式 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

集群磁盤可用容量計算

1. 數(shù)據(jù)的上傳,下載流程

1.1上傳流程:

1.先根據(jù)對象名去做一個Hash,計算出對應(yīng)的Set,然后來創(chuàng)建臨時目錄。創(chuàng)建臨時目錄的目的是為了確保數(shù)據(jù)強一致性,所以中間數(shù)據(jù)都會被寫入到這個臨時目錄里(直到所有數(shù)據(jù)寫完后,再統(tǒng)一把目錄寫入到最終的路徑上)
2.接下來讀數(shù)據(jù)編碼,每次最多讀10M的數(shù)據(jù)處理,然后做編碼,再被寫入到磁盤上,循環(huán)的過程就是把數(shù)據(jù)保存下來。
3.數(shù)據(jù)保存完后,再寫meta信息。
4.然后挪到最終的位置上,刪除臨時目錄。
?

1.2讀取流程:

1.先根據(jù)對象名做Hash,找到對象對應(yīng)的Set
2.然后去讀取meta信息,通過meta信息來獲得編碼的方式,然后去解碼。它是以10M數(shù)據(jù)做EC編碼,讀的時候也是逐個part解析,每個part給他做解碼,然后寫入到一個io write里面。
備注:做EC碼時,只要一半的編碼塊就能還原整個對象,所以讀meta時讀了N份,但是讀數(shù)據(jù)時只要讀N/2就可以了。
Ps:最簡單的理解就是 一個對象存儲在一個Set上面,這個Set包含16個Drive,其中一半是數(shù)據(jù)塊,一半是校驗塊,這種方式最多能忍受一半的編碼丟失或損壞。所有編碼塊的大小是原對象的2倍,跟傳統(tǒng)多副本存儲方案相比,他只冗余存了一份,但可靠性更高。
?

2.MinIo 糾刪碼奇偶校驗 ( EC:N)

1.MinIO 使用 Reed-Solomon 算法根據(jù)部署中的擦除集大小將對象拆分為數(shù)據(jù)塊和奇偶校驗塊。對于給定大小的擦除集M,MinIO 將對象拆分為N奇偶校驗塊和M數(shù)據(jù)塊。
2.MinIO 使用該EC:N符號來表示N部署中的奇偶校驗塊 ( )的數(shù)量。MinIO 默認(rèn)為EC:4每個對象 4 個奇偶校驗塊。MinIO對部署中的EC:N所有擦除集和服務(wù)器池使用相同的值 。
3.MinIO 可以容忍N每個擦除集丟失多達(dá)驅(qū)動器并繼續(xù)執(zhí)行讀寫操作(“仲裁”)。如果N恰好等于擦除集中驅(qū)動器的 1/2,則 MinIO 寫入仲裁要求 N+1驅(qū)動器避免數(shù)據(jù)不一致(“裂腦”)
引入官方文檔:https://docs.min.io/minio/baremetal/concepts/erasure-coding.html#minio-ec-parity
?

3.計算方式

xxxxxxxxxx

MinIO使用Reed-Solomon來將對象分片到若干數(shù)據(jù)塊(Data block)和校驗塊(Partity block)中。對于12磁盤組成的存儲,一個對象可以分片到最多6個校驗塊+6個數(shù)據(jù)塊中,最少2個校驗塊+10個數(shù)據(jù)塊中。
數(shù)據(jù)盤變量配置:
MINIO_STORAGE_CLASS_STANDARD:設(shè)置默認(rèn)標(biāo)準(zhǔn)存儲類型的奇偶校驗計數(shù),例如"EC:4"
冗余盤變量配置:
MINIO_STORAGE_CLASS_RRS:設(shè)置默認(rèn)低冗余存儲類型的奇偶校驗計數(shù),例如"EC:2"

MinIO 可創(chuàng)建每組4到16個磁盤組成的糾刪碼集合。所以你提供的磁盤總數(shù)必須是其中一個數(shù)字的倍數(shù)。
MinIO會根據(jù)給定的磁盤總數(shù)或者節(jié)點總數(shù)選擇最大的糾刪碼集合大小,確保統(tǒng)一分布,即每個節(jié)點參與每個集合的磁盤數(shù)量相等。
每個對象被寫入一個EC集合中,因此該對象分布在不超過16個磁盤上。

由官方計算器和實際操作得出結(jié)論

官方可用容量計算器:https://min.io/product/erasure-code-calculator
實際測試環(huán)境操作
?

4. 最后得出存儲效率公式

存儲效率=M/(K+M)
M=校驗塊
K=實際數(shù)據(jù)存儲塊

一組糾刪碼存儲合集不會大于16,最小是4,這也跟官方文檔中使用最少糾刪碼模式4個磁盤對應(yīng)成立.
列如:
校驗塊為4 數(shù)據(jù)塊為12 就能算出有效存儲為75%, 允許故障盤數(shù)是 4塊盤

參考鏈接:
https://cooting.cn/archives/146.html
https://docs.min.io/minio/baremetal/
http://www.minio.org.cn/
https://www.jianshu.com/p/3e81b87d5b0b
minio原理和使用:https://www.jianshu.com/p/c2b43ff67df0

總結(jié)

以上是生活随笔為你收集整理的Minio的容量算法及实际存储空间计算公式的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。