自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

分布式存儲系統(tǒng)可靠性如何估算?

存儲 存儲軟件 分布式
常規(guī)情況下,我們一般使用多副本技術(shù)來提高存儲系統(tǒng)的可靠性,無論是結(jié)構(gòu)化數(shù)據(jù)庫存儲 (如典型的 mysql)、文檔型 Nosql 數(shù)據(jù)庫存儲 (mongodb ) 或者是常規(guī)的 blob 存儲系統(tǒng) (GFS、Hadoop) 等,無不如此。

常規(guī)情況下,我們一般使用多副本技術(shù)來提高存儲系統(tǒng)的可靠性,無論是結(jié)構(gòu)化數(shù)據(jù)庫存儲 (如典型的 mysql)、文檔型 Nosql 數(shù)據(jù)庫存儲 (mongodb ) 或者是常規(guī)的 blob 存儲系統(tǒng) (GFS、Hadoop) 等,無不如此。

因為數(shù)據(jù)幾乎可以稱得上是企業(yè)生命力的核心,保障數(shù)據(jù)存儲系統(tǒng)的可靠性對于任何企業(yè)來說都不是一件小事。

那么,如何較為準確地去衡量集群數(shù)據(jù)的可靠性?如何進行系統(tǒng)設(shè)計使得集群數(shù)據(jù)達到更高的可靠性?本文將試著去解答這些問題。

[[214781]]

數(shù)據(jù)丟失與 copyset(復制組)

“在由 999 塊磁盤組成的 3 副本存儲系統(tǒng)中,同時壞三塊盤的情況下數(shù)據(jù)丟失的概率是多大? ”,這個跟存儲系統(tǒng)的設(shè)計息息相關(guān),我們先考慮兩個極端設(shè)計下的情況。

設(shè)計一:把 999 塊磁盤組成 333 塊磁盤對。

在這種設(shè)計下,只有選中其中一個磁盤對才會發(fā)生數(shù)據(jù)丟失。這種設(shè)計中,丟失數(shù)據(jù)的概率為 333/C(999,3) = 5.025095326058336*e-07。

設(shè)計二:數(shù)據(jù)隨機打散到 999 塊盤中。

極端情況下,隨機一塊盤上的邏輯數(shù)據(jù)的副本數(shù)據(jù)打散在所有集群中的 998 塊盤中。這種設(shè)計下,丟失數(shù)據(jù)的概率為 C(999,3)/C(999,3)=1,也就是必然存在。

通過這兩種極端的例子我們可以看到,數(shù)據(jù)的丟失概率跟數(shù)據(jù)的打散程度息息相關(guān)。為了方便后續(xù)閱讀,這里我們引入一個新的概念 copyset (復制組)。

CopySet:包含一個數(shù)據(jù)的所有副本數(shù)據(jù)的設(shè)備組合,比如一份數(shù)據(jù)寫入 1,2,3 三塊盤,那么 {1,2,3} 就是一個復制組。

9 個磁盤的集群中,最小情況下的 copyset 的組合數(shù)為 3,copysets = {1,2,3}、{4,5,6}、{7,8,9},即一份數(shù)據(jù)的寫入只能選擇其中一個復制組,那么只有 {1,2,3}、{4,5,6} 或者 {7,8,9} 同時壞的情況下才會出現(xiàn)數(shù)據(jù)丟失。即最小 copyset 數(shù)量為 N/R。

系統(tǒng)中***的 copyset 的數(shù)目為 C(N,R) ,其中 R 為副本數(shù),N 為磁盤的數(shù)量。在完全隨機選擇節(jié)點寫入副本數(shù)據(jù)的情況下,系統(tǒng)中的 copyset 數(shù)目會達到***值 C(N,R)。即任意選擇 R 個磁盤都會發(fā)生一部分數(shù)據(jù)的三個副本都在這 R 個盤上的情況。

磁盤數(shù)量 N,副本為 R 的存儲系統(tǒng)中,copyset 數(shù)量 S, N/R < S < C(N, R)

磁盤故障與存儲系統(tǒng)可靠性估算

1. 磁盤故障與柏松分布

在正式估算相關(guān)概率之前還需要科普一個基礎(chǔ)的概率學分布:柏松分布。柏松分布主要描述在一個系統(tǒng)中隨機事件發(fā)生的概率,譬如描述汽車站臺候客人數(shù)為某個值的概率,某個醫(yī)院 1 小時內(nèi)出生 N 個新生兒的概率等等。

如上為泊松分布的公式。其中,P 表示概率,N 表示某種函數(shù)關(guān)系,t 表示時間,n 表示數(shù)量,λ 表示事件的頻率。

舉個例子:1000 塊磁盤在 1 年內(nèi)出現(xiàn) 10 塊故障的概率為 P (N(365) = 10) [注:t 的平均單位為天]。λ 為 1000 塊磁盤 1 天內(nèi)發(fā)生故障磁盤的數(shù)量,按照 google 的統(tǒng)計,年故障率在 8%,那么 λ = 1000*8%/365 。

如上只是損壞 N 塊磁盤概率的統(tǒng)計,那么怎么利用這個公式計算分布式系統(tǒng)中數(shù)據(jù)可靠性 (即數(shù)據(jù)丟失概率) 的近似值呢?

2. 分布式存儲系統(tǒng)中丟失率的估算

2.1 T 時間內(nèi)的故障率

對于分布式存儲系統(tǒng)中如何進行年故障率的估算,我們先假定一種情況:T 為 1 年的情況下,系統(tǒng)存滿數(shù)據(jù),壞盤不處理,這種情況下統(tǒng)計一下數(shù)據(jù)的年故障率。

這里我們先定義一些值

N: 磁盤數(shù)量

T:統(tǒng)計時間

K:壞盤數(shù)量

S:系統(tǒng)中 copyset 數(shù)量 (復制組的個數(shù))

R:備份數(shù)量

如何計算 T(1年)時間內(nèi)數(shù)據(jù)丟失的概率,從概率統(tǒng)計角度來說就是把 T (1 年) 時間內(nèi)所有可能出現(xiàn)數(shù)據(jù)丟失的事件全部考慮進去。包含 N 個磁盤 R 副本冗余的系統(tǒng)中,在 T 時間內(nèi)可能出現(xiàn)數(shù)據(jù)丟失的事件,即壞盤大于等于 R 的事件,即 R,R+1,R+2,… N ( 即為 K∈[R,N] 區(qū)間所有的事件 )。這些隨機事件發(fā)生時,什么情況下會造成數(shù)據(jù)丟失?沒錯,就是***復制組的情況下。

K 個損壞情況下 (隨機選擇 K 個盤情況下) ***復制組的概率為:

p = X/C(N,K) 其中 X 為隨機選擇 K 個磁盤過程中***復制組的組合數(shù)

那么系統(tǒng)出現(xiàn) K 個磁盤損壞造成數(shù)據(jù)丟失的概率為:

Pa(T,K) = p * P(N(T)=K)

***系統(tǒng)中 T 時間內(nèi)出現(xiàn)數(shù)據(jù)丟失的概率為所有可能出現(xiàn)數(shù)據(jù)丟失的事件的概率總和。

Pb(T) = Σ Pa(T,K) ; K∈[R,N]

2.2 分布式系統(tǒng)衡量年故障率

以上我們假設(shè)在一年中,不對任何硬件故障做恢復措施,那么 t 用一年代入即可算出此種系統(tǒng)狀態(tài)下的年故障率。但是在大規(guī)模存儲系統(tǒng)中,數(shù)據(jù)丟失情況下往往會啟動恢復程序,恢復完了之后理論上又算是從初始狀態(tài)的隨機事件,加入這個因素之后計算可靠性會變得比較復雜。

理論上大規(guī)模存儲系統(tǒng)中壞盤、恢復是極其復雜的連續(xù)事件,這里我們把這個概率模型簡化為不同個單位時間 T 內(nèi)的離散事件來進行統(tǒng)計計算。只要兩個 T 之間連續(xù)事件發(fā)生的概率極小,并且 T 時間內(nèi)絕大部份壞盤情況能夠恢復,那么下個時間 T 就是重新從新的狀態(tài)開始,則這種估算能夠保證近似正確性。T 的單位定義為小時,那么 1 年可以劃分為 365*24/T 個時間段,那么系統(tǒng)的年故障率可以理解為 100% 減去所有單位 T 時間內(nèi)都不發(fā)生故障的概率。

即系統(tǒng)整體丟失數(shù)據(jù)的概率為:Pc = 1 - (1-Pb(T))*(36524/T)

 

責任編輯:武曉燕 來源: segmentfault
相關(guān)推薦

2021-07-30 09:49:17

分布式架構(gòu)系統(tǒng)

2015-05-27 14:25:08

HDFS HA分布式存儲系統(tǒng)

2022-01-12 09:01:24

分布式系統(tǒng)容錯服務

2017-04-14 09:48:25

分布式存儲系統(tǒng)

2018-09-29 14:08:04

存儲系統(tǒng)分布式

2017-07-18 09:51:36

文件存儲系統(tǒng)

2017-10-16 10:24:47

LogDevice存儲系統(tǒng)

2017-10-17 08:33:31

存儲系統(tǒng)分布式

2017-12-18 10:47:04

分布式存儲數(shù)據(jù)

2017-10-12 09:36:54

分布式存儲系統(tǒng)

2017-10-19 08:45:15

存儲系統(tǒng)HBase

2018-11-20 09:19:58

存儲系統(tǒng)雪崩效應

2021-07-04 07:07:06

Ceph分布式存儲架構(gòu)

2018-05-10 09:34:21

spark存儲系統(tǒng)

2019-05-13 15:20:42

存儲系統(tǒng)算法

2019-10-15 10:59:43

分布式存儲系統(tǒng)

2021-08-07 05:00:20

存儲系統(tǒng)

2010-07-02 10:08:12

BigtableGoogle

2013-12-27 10:56:42

分布式對象存儲Sheepdog性能測試

2014-02-19 11:37:57

分布式對象存儲Sheepdog
點贊
收藏

51CTO技術(shù)棧公眾號