可以用一種替代方式來考慮這一數(shù)據(jù),即思考如果以全速讀取數(shù)據(jù),需要多少時(shí)間遇到不可讀區(qū)域。
Henry的第二個(gè)表格展示的內(nèi)容是:當(dāng)你使用一個(gè)或一個(gè)以上的設(shè)備,而且以最快速度讀取數(shù)據(jù)時(shí),需要多久的時(shí)間就會(huì)遇到一個(gè)讀取錯(cuò)誤。表二顯示了他統(tǒng)計(jì)的數(shù)據(jù),而且他還為250臺(tái)設(shè)備和300臺(tái)設(shè)備的計(jì)算結(jié)果增加了兩列。
這兩個(gè)表格顯示出當(dāng)你使用SATA或SAS磁盤時(shí),你遠(yuǎn)東不可讀區(qū)域的最大容積值約為1PB,最小容積值約為110TB。即便有了這個(gè)統(tǒng)計(jì)數(shù)據(jù),你遇到硬錯(cuò)誤的時(shí)候仍然很難進(jìn)行估算,因?yàn)橛插e(cuò)誤對(duì)配置的依賴性非常大。
遇到一個(gè)硬錯(cuò)誤通常意味著RAID控制器認(rèn)為驅(qū)動(dòng)壞了,需要重建。為了訪問你想讀取的數(shù)據(jù),你需要等待重建才能實(shí)現(xiàn)。重建所需的時(shí)間可能非常長,而且依然取決于配置。
在此期間,需要讀取所有其他的驅(qū)動(dòng),這樣就會(huì)增加遇到另一個(gè)硬錯(cuò)誤的可能性,還可能會(huì)丟掉RAID群組。結(jié)果便是,你需要對(duì)檔案數(shù)據(jù)做多個(gè)備份。
Henry在其文中指出副本的數(shù)量是一個(gè)開放性的問題。但是,最少也得準(zhǔn)備兩個(gè)到三個(gè)副本。“最少”二字意味著在存儲(chǔ)硬件中你需要準(zhǔn)備兩到三倍于這個(gè)檔案容積的空間。如果你的檔案占了1PB,那你就要準(zhǔn)備2-3PB的存儲(chǔ)空間。
便宜的檔案存儲(chǔ)是怎樣的呢?能實(shí)現(xiàn)0.25$/GB的檔案存儲(chǔ)嗎?
答案是檔案的存儲(chǔ)價(jià)格可以接近這個(gè)價(jià)格,但是同時(shí)存在風(fēng)險(xiǎn)。要想顯著減少風(fēng)險(xiǎn),你需要兩到三個(gè)副本。0.25$/GB的檔案存儲(chǔ)成本會(huì)突然上升到0.50$/GB或0.75$/GB。這些還只是硬件成本。
你需要某類文件系統(tǒng)來保存這些數(shù)據(jù)。就低端配置而言,你只需創(chuàng)建兩到三個(gè)不一樣的使用免費(fèi)文件系統(tǒng)的存儲(chǔ)池。然后,你可以把檔案數(shù)據(jù)放到一個(gè)副本上,并使用rsync確保數(shù)據(jù)被復(fù)制到另一個(gè)存儲(chǔ)池。
如果你遇到一個(gè)硬讀取錯(cuò)誤該怎么辦呢?這會(huì)觸發(fā)RAID重建。你可以使用其他副本保存這些數(shù)據(jù),但是這需要提前編程。而且你還要確保余下的副本是正確的。換言之,你要自己完成所有的編程和維護(hù)工作。而且這些工作全都是免費(fèi)的,是嗎?
如果是其他角度的話,還有文件系統(tǒng),許多文件系統(tǒng)是專屬的或者有商業(yè)支持,所以可為你處理這方面的事項(xiàng)。在這些文件系統(tǒng)中,數(shù)據(jù)被復(fù)制,用來確保存儲(chǔ)池中分布了兩到三個(gè)副本。出現(xiàn)硬讀取錯(cuò)誤事件時(shí),文件系統(tǒng)可以讀取數(shù)據(jù)的其他副本,同時(shí)重建后臺(tái)。后臺(tái)重建完成后,它就會(huì)對(duì)發(fā)到其他副本的數(shù)據(jù)進(jìn)行核查。不過,系統(tǒng)仍舊要讀取數(shù)據(jù),所以我們?cè)俅卧黾恿顺霈F(xiàn)硬讀取錯(cuò)誤的幾率。
后臺(tái)會(huì)因此增加大量工作。所以你得弄個(gè)這樣的文件系統(tǒng)來減輕負(fù)載。
結(jié)語
檔案存儲(chǔ)不是你所以為的那么簡單。你要問問自己進(jìn)行檔案存儲(chǔ)的目的是什么,需要存儲(chǔ)的數(shù)據(jù)量是多少。最重要的是,你需要知道檔案數(shù)據(jù)的重要性。這幾個(gè)問題的答案對(duì)檔案的經(jīng)濟(jì)現(xiàn)實(shí)有極大影響。
你不能在機(jī)械旋轉(zhuǎn)磁盤上進(jìn)行大體積的檔案存儲(chǔ),而且還只準(zhǔn)備一個(gè)副本,且希望數(shù)據(jù)不會(huì)丟失。表一中的硬錯(cuò)誤率已經(jīng)對(duì)這一點(diǎn)表明清楚。
如果你不在乎會(huì)遇到有些數(shù)據(jù)無法讀取的情況,那么你可以購買硬盤做一個(gè)數(shù)據(jù)備份,或許可以達(dá)到廉價(jià)的效果。
但是,如果你的數(shù)據(jù)很重要,而且你又擔(dān)心出現(xiàn)無法恢復(fù)的讀取操作,那你就需要一個(gè)以上的副本。這也意味著你需要的硬件比你原以為的要多。例如,如果你想要一個(gè)1PB的檔案,你就需要2PB,3PB或更多空間。如果1PB的存儲(chǔ)硬件需要0.25$/GB,那么存儲(chǔ)三個(gè)數(shù)據(jù)副本所需的成本是0.75$/GB。
硬讀取錯(cuò)誤率的影響以及所需的數(shù)據(jù)副本數(shù)量是很多人都不想面對(duì)的的經(jīng)濟(jì)現(xiàn)實(shí)。人們的期望是:檔案數(shù)據(jù)所需性能低,所以成本也低。但事實(shí)上,如果你想在機(jī)械旋轉(zhuǎn)磁盤上存儲(chǔ)大型檔案數(shù)據(jù),而且還要及時(shí)讀取這些數(shù)據(jù),且要減少數(shù)據(jù)丟失的風(fēng)險(xiǎn),那么你就需要多個(gè)數(shù)據(jù)副本。這樣所需的成本就會(huì)超出你的預(yù)期–但是這就是檔案存儲(chǔ)的現(xiàn)實(shí)。