文件系統(tǒng)專用設(shè)備Filer 除了軟硬件本身具有99.99%的高可靠性以外,為了消除一些單點故障(如系統(tǒng)主板出錯,等),在以低成本、低性能開銷、不增加系統(tǒng)復(fù)雜度的前提下,將兩臺獨立的Filer 耦合起來,實現(xiàn)一旦一臺Filer 因故障而停止運行并且不能重新啟動,另一臺Filer 立即就可接管這一臺Filer 的全部工作,保證系統(tǒng)正常運行。

    兩臺Filer 都與磁盤陣列相連,并處于同一網(wǎng)中,兩臺Filer 之間用高速、冗余的光纖互連。光纖通道(FC-AL)的硬盤有兩個端口,分別與兩臺Filer 相連。

    每個Filer 有自己主管的一組硬盤。正常運行時,兩臺Filer 各自獨立工作,硬盤、風(fēng)扇或電源出錯不影響另一臺Filer 的工作。同樣,若一臺Filer 的軟件出錯,這也僅僅引起這臺Filer 重新啟動,不會影響到另一臺Filer 的工作。如果一臺Filer 發(fā)生災(zāi)難性故障,即不能重新啟動,則另一臺Filer 會自動接管原屬于有故障的Filer 的硬盤、文件系統(tǒng)、同時將其IP 地址也歸為己有。

    在整個接管過程中,客戶端僅簡單地感覺到系統(tǒng)像是在重新啟動。所有在系統(tǒng)本身重起過程中,能夠保留的狀態(tài),另一臺Filer 也同樣通過接管保留。當(dāng)然,如果一臺Filer 在其重新啟動過程中丟失一些狀態(tài),如CIFS 鎖(LOCK)狀態(tài)和文件狀態(tài)等,則在接管后,另一臺Filer 也不能保留這些狀態(tài)。

    一旦有故障的Filer 恢復(fù)正常運行后,它不會自動地再接管自己的文件系統(tǒng),這需要系統(tǒng)管理員干預(yù)才能實現(xiàn)。系統(tǒng)管理員也可強(qiáng)制一臺Filer 交出自己的文件系統(tǒng),從而可實行計劃中的Filer 和硬盤維護(hù)工作。

    Cluster Failover 主要依靠以下兩個方面工作:

    其一是WAFL 的特性,特別是WAFL 文件系統(tǒng)的盤上狀態(tài)(ON-DISK STATE)永遠(yuǎn)是一致的。這個盤上狀態(tài)從一個一致點移動到另一個一致點的過程為一個交易,也就是說,要么完成一個狀態(tài)遷移,要么無狀態(tài)遷移,因此它永遠(yuǎn)保持一致。另外,WAFL 在日志文件中記錄所有被服務(wù)過的、能夠轉(zhuǎn)移到非易先性RAM(NVRAM)中的客戶請求。日志文件中那些已被轉(zhuǎn)移到硬盤上的客戶請求只有在一個盤上狀態(tài)遷移完成后,才被丟棄。Filer 通常利用這些特征將盤上數(shù)據(jù)從故障中恢復(fù)。當(dāng)Filer 重新啟動時,它只是簡單地重新執(zhí)行在最近(一致性)盤上狀態(tài)未反映的NVRAM 中的客戶請求。

    NVRAM 在CLUSTER 中的鏡像

    其次是互連的特性,特別是互連具有遠(yuǎn)程內(nèi)存存取能力(有時也稱作非一致性內(nèi)存存取,或者簡稱NUMA)。當(dāng)一個客戶請求到來時,F(xiàn)iler 將其記錄在它本地的NVRAM 中。

    在Cluster 的配置中,F(xiàn)iler 利用遠(yuǎn)程內(nèi)存存取特性將日志文件中的記錄項拷貝到另一臺Filer的NVRAM 中。這個技術(shù)的一個突出優(yōu)點是發(fā)送方發(fā)送的拷貝極快,幾乎不影響到接收方的操作(如,沒有包處理過程)。同樣,另一臺Filer 也會將自己的NVRAM 中的日志記錄項拷貝到這臺Filer 的NURAM 中。

    當(dāng)一臺Filer 不能從互連的光纖通道、網(wǎng)絡(luò)或硬盤上探測到另一臺Filer 的心跳(HEARTBEAT)或I/O 活動,他即認(rèn)為這臺Filer 已出故障,接管過程開始。主要是接管出故障的Filer 的IP 和MAC 地址、文件系統(tǒng)和硬盤,以及后臺服務(wù)器進(jìn)程(daemon),并將其使用的NVRAM 中的日志記錄項回現(xiàn)。這個技術(shù)與Filer 重新啟動時所使用到的技術(shù)類似。接管后,正常工作的Filer 中的每個后臺服務(wù)器進(jìn)程(daemon)具有兩個標(biāo)識符,一個用于本地Filer,另一個用于另一臺Filer。

分享到

多易

相關(guān)推薦