Isilon 集群在設(shè)計的時候就要求系統(tǒng)具有在組件發(fā)生故障時也能繼續(xù)提供數(shù)據(jù)服務(wù)的能力。OneFS默認(rèn)使用erasure code(糾刪碼)保護(hù)數(shù)據(jù),節(jié)點(diǎn)或磁盤發(fā)生故障時也能獲取文件。作為糾刪碼的另一種選擇,可以采用鏡像保護(hù)數(shù)據(jù)。
創(chuàng)建五個或更多節(jié)點(diǎn)的集群時,糾刪碼可以實(shí)現(xiàn)80%的效率。在更大的集群上,糾刪碼能夠提供四級冗余。
OneFS提供文件級別數(shù)據(jù)保護(hù),而不是塊級別。你可以在目錄、文件、文件池、子池和集群上設(shè)置不同的保護(hù)級別。
盡管文件默認(rèn)繼承其父目錄的保護(hù)級別,但你可以在任何時候修改。OneFS為元數(shù)據(jù)和inode提供與其數(shù)據(jù)同樣級別的保護(hù)。一個被稱為FlexProtect的system job能夠發(fā)現(xiàn)并修復(fù)“降級的文件“(degraded file)。
除了糾刪碼和鏡像,OneFS還包含以下功能幫助保護(hù)數(shù)據(jù)的完整性、可用性和保密性:反病毒、克隆、NDMP備份和恢復(fù)、保護(hù)域。以下軟件模塊也能幫助保護(hù)數(shù)據(jù),但需要單獨(dú)的許可證:SyncIQ、SnapshotIQ、SmartLock、
N+M數(shù)據(jù)保護(hù)
OneFS支持的N+M 糾刪碼級別有:N+1、N+2、N+3和N+4。對于這種N+M數(shù)據(jù)模型,N代表節(jié)點(diǎn)的數(shù)量,M代表在不發(fā)生數(shù)據(jù)丟失的前提下,集群所允許的【同時發(fā)生故障的節(jié)點(diǎn)數(shù)或磁盤數(shù)】。例如,N+2允許集群在不同的節(jié)點(diǎn)上丟失兩塊盤,或者丟失兩個節(jié)點(diǎn)。
為了分別保護(hù)磁盤和節(jié)點(diǎn),OneFS支持N+M:B,M代表故障磁盤的數(shù)量,B代表故障節(jié)點(diǎn)的數(shù)量。例如N+3:1,表示集群可以丟失三塊磁盤或一個節(jié)點(diǎn)而不至于數(shù)據(jù)丟失。
默認(rèn)大于18TB的集群,其保護(hù)級別是N+2:1,小于18TB的話是N+1。另外,仲裁規(guī)則規(guī)定了支持一個保護(hù)級別所要求的節(jié)點(diǎn)數(shù)量,例如N+3要求至少7個節(jié)點(diǎn),從而可以在三個節(jié)點(diǎn)發(fā)生故障時依舊維持仲裁。
數(shù)據(jù)鏡像
鏡像通過將數(shù)據(jù)拷貝到多個位置來保護(hù)磁盤上的數(shù)據(jù)。OneFS支持2~8個鏡像。你可以使用鏡像而非糾刪碼,或者混合糾刪碼和鏡像。鏡像相比糾刪碼消耗更多空間且適合要求高性能的事務(wù),比如iSCSI LUN。
如何混合糾刪碼和鏡像,在寫操作的過程中,OneFS將數(shù)據(jù)劃分成冗余的保護(hù)組。對于那些受糾刪碼保護(hù)的文件,保護(hù)組由數(shù)據(jù)塊和它們的糾刪碼組成。對于鏡像的文件,保護(hù)組包含一組數(shù)據(jù)塊的所有鏡像。OneFS可以在向磁盤寫文件的時候切換保護(hù)組的類型,通過這種動態(tài)切換,即便發(fā)生節(jié)點(diǎn)故障導(dǎo)致無法應(yīng)用糾刪碼,OneFS也能繼續(xù)寫數(shù)據(jù)。節(jié)點(diǎn)恢復(fù)之后,OneFS自動將鏡像保護(hù)組轉(zhuǎn)換成糾刪碼。
文件系統(tǒng)日志
日志能夠?qū)⑽募到y(tǒng)更改記錄在電池備用的NVRAM卡內(nèi),在文件系統(tǒng)發(fā)生故障后恢復(fù)系統(tǒng),比如掉電。當(dāng)節(jié)點(diǎn)重啟時,日志重播(replay)文件事務(wù)來還原文件系統(tǒng)。
虛擬熱備用
當(dāng)一塊磁盤發(fā)生故障時,OneFS使用保留在子池中的空間而不是一塊熱備盤,這塊保留空間被稱為虛擬熱備用。
在保護(hù)級別與存儲空間之間做出平衡
你可以通過設(shè)置保護(hù)級別來平衡存儲空間和保護(hù)需求。較高級別的保護(hù)通常相比較低級別的保護(hù)消耗更多的磁盤空間,因為需要犧牲空間保護(hù)erasure code。erasure code的開銷依賴保護(hù)級別、文件大小和集群中的節(jié)點(diǎn)數(shù)量。因為OneFS將數(shù)據(jù)和erasure code跨節(jié)點(diǎn)做條帶,所以隨著節(jié)點(diǎn)的增加,開銷也會降低。