生活中三大必然要發(fā)生的事:稅收,死亡,硬盤故障

硬盤的質(zhì)量越好——比如說SAS硬盤,或者光纖通道的硬盤——它們的URE率就越低。在你重建存儲系統(tǒng)時,這些硬盤能顯著減少災(zāi)難性陣列故障的機會,而且還會讓你的陣列使用壽命延長。一個好的硬件RAID控制器可以在RAID6中應(yīng)對URE,并在周圍做出標注。在RAID6中,在同一時刻,在兩個硬盤中,在兩個標注區(qū)域發(fā)生URE的幾率非常小。

這些高質(zhì)量的硬盤只會為我們服務(wù)一定的時間,更長的重建時間和更多的硬盤故障相關(guān)的問題都需要解決。陣列中的硬盤使用時間相同,都進行同樣的工作,有相同的缺點,出現(xiàn)故障也會成組出現(xiàn)。閃存也有自己的問題,無法拯救RAID。看來我們對RAID的希望要放到接下來的10年里,那個時候或許會有設(shè)計完美的,用于企業(yè)級的RAID產(chǎn)品,也許還會有消費級的產(chǎn)品出現(xiàn)呢。

來自Sun的ZFS

ZFS感覺像是由瘋子設(shè)計出來的文件系統(tǒng)。它還被認為能取代RAID。它的真實的保證數(shù)據(jù)完整性的技術(shù)已經(jīng)遠遠超出了本文所要討論的范圍,但是據(jù)說它能承受三倍的硬盤故障,更能與URE血戰(zhàn)到底。它那幾乎如同魔法般的數(shù)據(jù)完整性保障能力使人們在使用ZFS時只需要注意一點:在任何情況下,永遠永遠都不要對ZFS撒謊。

不要在虛擬磁盤(超級監(jiān)管程序創(chuàng)建的,ISCSI或FCoE)上使用ZFS,也不要在硬件RAID上使用。ZFS必須完全透明地控制硬件??梢允褂孟馰Mware“原始設(shè)備映射”那樣的功能,但要保證你映射的是本地硬盤。

一些管理員在無論什么樣的硬件RAID上運行ZFS都禁止ZFS Intent Log,同時還配置硬件控制器忽略ZFS的刷新磁盤上數(shù)據(jù)的命令。這就可以讓RAID控制器決定硬盤的刷新,并且可以依靠電池來應(yīng)對電力中斷。

這是一種提升性能的調(diào)試策略,最終以IOPS來衡量。這種做法很常見,主要用在混合使用ZFS,NFS的系統(tǒng)中,NFS會要求系統(tǒng)在每次寫入后都刷新數(shù)據(jù),這和ZFS更高級的用于IOPS的算法和數(shù)據(jù)完整性平衡有沖突。其它的管理員——也包括我自己——并不贊同這種做法,因為它放棄了ZFS保持數(shù)據(jù)完整性的一些功能。如果對IPOS有要求,我更傾向于依賴使用了固態(tài)硬盤或NVRAM硬盤的混合存儲池。它可以更好地配置ZFS,也可以滿足NFS對數(shù)據(jù)寫入刷新的要求,同時,還能使ZFS的保護機制完整。

來自微軟的ReFS

微軟的ReFS被認為是對ZFS的回應(yīng)。我在這里得說清楚:這絕不是指形狀或形式。ReFS相對于NTFS來說是個巨大的進步,但是還有許多不足。令人充滿期待的是,微軟的彈性存儲技術(shù)可以彌補不止一個硬盤故障的損失,但是目前來看,我個人認為它還僅僅是個技術(shù)展示。

ReFS和Storage Spaces需要整合在一起,積累一些用戶基礎(chǔ),這樣它們再去正面挑戰(zhàn)ZFS。在目前的情況下,就在這個領(lǐng)域中,微軟的管理員在其服務(wù)器中使用本地存儲,最好還是使用硬件RAID。

來看看RAIN怎么樣

RAIN是一個冗余的(或可靠的)廉價節(jié)點陣列。簡而言之,RAIN可以跨越多個個人電腦復(fù)制你的數(shù)據(jù)從而進行冗余。

現(xiàn)在,有許多不同的RAIN的實現(xiàn)形式,這也是目前“大數(shù)據(jù)混戰(zhàn)”造成的結(jié)果。當(dāng)你了解了HDFS,GlusterFS或是亞馬遜的S3之后,你再 討論RAIN。一般情況下,RAIN設(shè)備并不像傳統(tǒng)的文件系統(tǒng)那樣工作,而Gluster的團隊正在研發(fā)用在GlusterFS上的技術(shù)來改變其工作方 式。

對于大部分RAIN設(shè)備來說,操作系統(tǒng)并不會安裝它們,你不用創(chuàng)建NFS或SMB共享。如果你真的想去做這種類型的工作,你需要在RAIN陣列上使 用某種類似FUSE的東西來建立虛擬硬盤。這個時候你就不在正軌了,你需要重新評價你的整個工程了。如果,你仍然想這么做,那你可以借助一個NFS服務(wù)器 轉(zhuǎn)換器在Gluster上運行VMware虛擬機,不過這有點奇怪。

你可以減少RAIN設(shè)備頂層上轉(zhuǎn)化過來的層次,這樣可以使它看起來像是一個傳統(tǒng)的硬盤,RAIN通常用于對象存儲(不是文件)。最好還是把RAIN設(shè)備當(dāng)成一個特別大的數(shù)據(jù)庫,而不是傳統(tǒng)的文件系統(tǒng)。

防彈的集群

當(dāng)然,如果ZFS和RAID都加強了你的存儲層,那如果我攻擊你的存儲服務(wù)器呢?RAIN可以很有彈性地應(yīng)對個人系統(tǒng)的損失,但是對于ZFS和RAID來說,沒有什么本地的東西能應(yīng)對來自CPU的故障。

這就是集群出現(xiàn)的原因。對于容錯來說,理想的部署應(yīng)該是有兩個服務(wù)器同步。在免費的軟件世界里你可以尋找采用Linux的DRBD和采用FreeBSD的HAST。

假如你有一個穩(wěn)定的硬件RAID基礎(chǔ),微軟的Server 2012實際上是可靠性很好的集群基礎(chǔ)。

Cluster Shared Volumes v2表明我是如何實現(xiàn)RAID 61的:在每個節(jié)點上都采用硬件RAID 6.同時采用鏡像(我把它們寫入緩存了,這樣即使一個節(jié)點出現(xiàn)問題,也可以保證我不會丟失數(shù)據(jù),這很慢,但是更安全)。

把Server 2012新的NFS 4.1,ISCSI target或SMB 3.0(支持多渠道,透明的故障轉(zhuǎn)移和節(jié)點容錯)聯(lián)合起來,我對我的微軟服務(wù)器就放心了,不需要VMware集群(通過它們可以了解存儲的情況)。

說到VMware,它們提供vSphere存儲產(chǎn)品。這是一個可靠的技術(shù),可用來創(chuàng)建存儲節(jié)點,但是在每個存儲設(shè)備上它只能擴展到3個物理系統(tǒng)。

現(xiàn)在你的大腦是不是一片混亂?

如果你現(xiàn)在感覺到了存儲產(chǎn)品功能可用性上的漏洞,那么恭喜你,你并不是一個人在戰(zhàn)斗,大家都感同身受。這就是為什么存儲產(chǎn)品生產(chǎn)商們都作為獨立的廠 商存在的原因。有開源工具的容錯存儲技術(shù)絕對是各大廠商追逐的對象,微軟也需要時間來把所有的技術(shù)梳理出來(在它真正成為一支重要力量之前,它需要把其3 個硬盤冗余的RdFS用在集群共享卷上,在擴展到成百上千個節(jié)點中),VMware有基本的技術(shù),但是它需要好好發(fā)展自己的技術(shù)。

這就是為什么如此多的廠商出現(xiàn)在這里的原因,這也是為什么那些存儲巨頭們還在銷售大的,昂貴的SAN產(chǎn)品的原因。如今,在你計劃你的存儲部署的時候,即使你只有一個單一的服務(wù)器,你也要考慮許多東西,你10年前了解的東西現(xiàn)在已經(jīng)過時了。

當(dāng)然,這些技術(shù)并不僅僅用于容錯。容錯并不是備份。如果你的數(shù)據(jù)沒有存在至少兩個物理位置中,你的數(shù)據(jù)就相當(dāng)于沒存。你要保證在你對容錯躍躍欲試時 你已經(jīng)有了一個完美的備份計劃。另外你還要記住:一個容錯系統(tǒng)(或者一個備份系統(tǒng))如果未經(jīng)過測試的話,那它就起不到任何形式的保護作用。

分享到

huanghui

相關(guān)推薦