EC存儲(chǔ)能夠有效較低存儲(chǔ)成本,但是我們也需要關(guān)注數(shù)據(jù)可用性相關(guān)的事情,避免發(fā)生數(shù)據(jù)丟失的情況。
本文來(lái)探討一下EC補(bǔ)充低冗余度的塊的相關(guān)知識(shí)。
先說(shuō)一下什么是低冗余度,我以RS-6-3-1024K這個(gè)EC策略為例說(shuō)明。
在RS-6-3這種策略下,只要寫成功任意6個(gè)塊(不管是data,還是parity都行),那數(shù)據(jù)就可以算是寫成功。
只要有任意6個(gè)塊存活可用,那也可以成功讀數(shù)據(jù),因?yàn)榭梢酝ㄟ^(guò)decode來(lái)解碼原始數(shù)據(jù)。
但是如果我們只有6個(gè)數(shù)據(jù)塊的話,丟失數(shù)據(jù)的風(fēng)險(xiǎn)太高了,比如壞盤了,數(shù)據(jù)就徹底恢復(fù)不了了。
因此我的理解,對(duì)于數(shù)據(jù)可用性要求高的數(shù)據(jù),盡量要保證9個(gè)塊都存在,低于9個(gè)的話就算低冗余度。
對(duì)于數(shù)據(jù)可用性不高的數(shù)據(jù),小于8個(gè)的話也算低冗余度了。
一、寫文件close時(shí)
先說(shuō)結(jié)論: 會(huì)補(bǔ)充副本。 比如我們只寫成功了6個(gè),那么會(huì)把這個(gè)塊放到待補(bǔ)充副本的數(shù)據(jù)結(jié)構(gòu)里,等待補(bǔ)充到9個(gè)。