硬件故障引發(fā)數(shù)據(jù)丟失
眾所周知,記載人類信息的虛擬數(shù)據(jù)必須承載在實體設(shè)備中,才可以永久保存,從最初的結(jié)繩記事,到紙質(zhì)印刷,再到現(xiàn)在的二進制存儲,數(shù)據(jù)存儲的硬件形態(tài)不斷進化。在當(dāng)今IT世界的企業(yè)級應(yīng)用中,磁盤成為承載數(shù)據(jù)的最小實體單元。所有數(shù)據(jù)存儲在磁盤上,一旦磁盤損壞引起數(shù)據(jù)丟失,對客戶造成傷害是無法彌補的,磁盤的可靠性是一切數(shù)據(jù)保存的基礎(chǔ)。前輩精英們通過不斷的研究,創(chuàng)造出了無數(shù)保存數(shù)據(jù)可靠性的方法,例如:集群,RAID等,但是這些技術(shù)都只是把磁盤當(dāng)作一個存儲的“傻盒子”,讓它只知道“吃”(存/取數(shù)據(jù)),并不知道“思考”(怎么存/取才最好?),沒有解決存儲可靠性的根本問題。如何讓磁盤實現(xiàn)自管理,單盤故障不會影響到其它磁盤是我們迫切需要解決的問題。
人為誤操作不可避免
只要有人的地方,就有江湖。在IT江湖中,人的影響是如此之大,以至于數(shù)據(jù)丟失領(lǐng)域中四分之一的錯誤都是人為誤操作犯下的,從最簡單的文件誤刪除,到高深的數(shù)據(jù)庫記錄篡改,再到復(fù)雜又常見的設(shè)備管理。人們逐漸認(rèn)識到自身的失誤對最終結(jié)果的惡劣影響,試圖使用機器精密的操作替代人為粗放式的管理,一方面,把人們從復(fù)雜繁重的管理工作中解放出來,另一方面,降低人為誤操作的可能,避免數(shù)據(jù)丟失。
成也軟件,敗也軟件
硬件是數(shù)據(jù)承載的基礎(chǔ),軟件則是數(shù)據(jù)存儲的靈魂。從數(shù)據(jù)存儲誕生之日起,各種保障數(shù)據(jù)存儲可靠性的軟件就接踵而來,RAID,集群,快照,備份,鏡像等等,保障數(shù)據(jù)可靠性的手段越來越多,數(shù)據(jù)可用性的規(guī)格越來越高,99.9%,99.99%,99.999%……..海量數(shù)據(jù)時代來臨,人們對數(shù)據(jù)資產(chǎn)保護等級的要求越來越嚴(yán)格,然而傳統(tǒng)存儲軟件的架構(gòu)在海量數(shù)據(jù)場景下的能力捉衿見肘,多站點數(shù)據(jù)的統(tǒng)一調(diào)度,海量數(shù)據(jù)的統(tǒng)一管理,大并發(fā)環(huán)境下中央處理節(jié)點的生存壓力,云存儲數(shù)據(jù)的QoS等,這些都是傳統(tǒng)存儲軟件設(shè)計上不曾考慮的問題;在新業(yè)務(wù)環(huán)境下編寫的軟件,在數(shù)據(jù)分布式處理,多站點數(shù)據(jù)一致性,糾錯恢復(fù)等方面的bug也層出不窮,這些問題使存儲軟件可靠性面臨新挑戰(zhàn),稍有不慎就會引起系統(tǒng)故障,保障數(shù)據(jù)可靠性軟件功能失效,最后引發(fā)數(shù)據(jù)丟失,造成嚴(yán)重的后果。
UDS可靠性方案
2012年9月,華為在HCC大會上發(fā)布了UDS(Universal Distributed Storage)海量存儲系統(tǒng),采用創(chuàng)新技術(shù)架構(gòu),以存無止境、安全可信的存儲理念,為客戶提供高可靠、高擴展、低成本的海量存儲解決方案。該方案采用全新的Smartdisk設(shè)計理念,在存儲業(yè)界首次采用去中心化架構(gòu),建立多層級的數(shù)據(jù)保護體系。
全新的硬件設(shè)計理念解決物理上的不可靠
華為UDS海量存儲系統(tǒng)在磁盤設(shè)計上采用獨特的Smartdisk架構(gòu),給每塊磁盤都配上單獨的CPU,內(nèi)存和GE網(wǎng)口,以這樣的 Smartdisk為數(shù)據(jù)管理單位,每塊磁盤上的數(shù)據(jù)互相冗余,任意一個磁盤的故障不會影響到其它磁盤和存儲在上面的數(shù)據(jù),有效避免單盤失效對整系統(tǒng)的影響。另一方面,由于Smartdisk的獨特設(shè)計,每塊磁盤單獨占據(jù)計算資源,相對于傳統(tǒng)多塊磁盤共用一個或者幾個CPU的設(shè)計,極大的縮短了發(fā)生故障后的數(shù)據(jù)恢復(fù)時間,更好的應(yīng)對海量數(shù)據(jù)的挑戰(zhàn)。在存儲節(jié)點設(shè)計上,獨特的無源背板設(shè)計使得在背板發(fā)生故障時不影響整系統(tǒng)的可靠性,電源,風(fēng)扇等非核心部件采用冗余配置,有效避免單一部件的損壞影響硬件可靠性;在整體設(shè)計上,采用去中心化架構(gòu),交換機和物理節(jié)點的分布式全交叉互聯(lián)組網(wǎng),每個節(jié)點之間彼此信任,任意一個單獨節(jié)點的故障不影響整系統(tǒng)的可靠性。
多重機制降低人為誤操作對整系統(tǒng)可靠性的影響
數(shù)據(jù)中心的設(shè)備眾多,管理復(fù)雜,人為誤操作頻繁發(fā)生,對于一套存儲系統(tǒng)來講,控制設(shè)備、存儲設(shè)備、網(wǎng)絡(luò)設(shè)備等智能統(tǒng)一管理是客戶目前最期待的。華為UDS海量存儲系統(tǒng)通過完善的圖形化管理系統(tǒng),可以為客戶提供拓?fù)?、告警、配置、性能、日志、用戶等方面的全面自動化管理,并且提? “自動部署及升級”、“一鍵擴容”,整個過程無需人工干預(yù)和控制,升級或擴容時不中斷業(yè)務(wù),實現(xiàn)業(yè)務(wù)透明化,極大降低了系統(tǒng)部署、升級和擴容的難度。另一方面,整系統(tǒng)P2P的軟件架構(gòu)設(shè)計,使得節(jié)點之間互相信任,任一節(jié)點的人為破壞(例如:硬盤誤插拔),整系統(tǒng)數(shù)據(jù)可用性不會因此降低。同時,P2P架構(gòu)配合Erasure Code算法,使得單盤失效后,數(shù)據(jù)可自動恢復(fù)到其它節(jié)點,在不影響數(shù)據(jù)可用性的前提下把損壞的硬盤從RAID組中剔除,數(shù)據(jù)分片不受影響,不會像傳統(tǒng)存儲出現(xiàn)RAID組降級的現(xiàn)象,更不會出現(xiàn)由于一塊盤的故障引發(fā)其它盤損壞的連鎖反應(yīng),對操作人員來說,可以免即時維護,降低了由于人為原因丟失數(shù)據(jù)的風(fēng)險.并且當(dāng)滿足以下兩個條件之一時,我們對所有壞盤進行批量維護.其一,當(dāng)壞盤數(shù)達到臨界值時,UDS的告警信息會達到嚴(yán)重級別,通知客戶對硬盤進行批量更換,提高整系統(tǒng)可靠性;其二,通常建議客戶建立周期維護時間表,在一定時間周期內(nèi),可對所有壞盤進行批量維護,減少整系統(tǒng)發(fā)生故障的可能。壞盤批量更換后,數(shù)據(jù)分片重新分布到所有磁盤上,減輕前期未損壞磁盤的負(fù)荷,有效保障磁盤生命周期,減少壞盤率,降低數(shù)據(jù)丟失的可能,同時在數(shù)據(jù)恢復(fù)期間不影響數(shù)據(jù)的可用性,多重機制將人為誤操作對數(shù)據(jù)可用性的影響降到最低,提高整系統(tǒng)可靠性。
軟件可靠性實現(xiàn)多層級的數(shù)據(jù)保護
華為UDS海量存儲系統(tǒng)以Smartdisk為最小的數(shù)據(jù)管理單位,支持節(jié)點級,機柜級,數(shù)據(jù)中心級的數(shù)據(jù)冗余策略,實現(xiàn)全方位、立體式、逐層遞進的數(shù)據(jù)保護。通過多站點、跨地域的數(shù)據(jù)中心設(shè)計,數(shù)據(jù)可靠性達到業(yè)界領(lǐng)先的99.999999999%,滿足跨地域的數(shù)據(jù)備份和容災(zāi),保證數(shù)據(jù)存儲可靠性達到業(yè)界的最高級別。在存儲系統(tǒng)內(nèi)采用去中心化設(shè)計架構(gòu),所有的存儲節(jié)點組成分布式數(shù)據(jù)存儲環(huán),數(shù)據(jù)存儲時采用DHT算法分布在不同的存儲節(jié)點上,無須控制服務(wù)器參與,數(shù)據(jù)分片會自動偵測存儲節(jié)點的狀態(tài),根據(jù)各個存儲節(jié)點不同的狀態(tài),自適應(yīng)的分配存儲到不同的存儲節(jié)點上,自動均衡每個存儲節(jié)點的負(fù)載,有效減輕每個數(shù)據(jù)節(jié)點的負(fù)荷分擔(dān),及時避免了單點故障,應(yīng)對海量數(shù)據(jù)存儲的挑戰(zhàn),保證數(shù)據(jù)存儲可靠性;在存儲策略上,UDS支持多種數(shù)據(jù)冗余機制,例如:多副本、 Erasure Code,支持不同策略之間的有效組合,用戶根據(jù)自身特點,設(shè)置不同的數(shù)據(jù)保護等級;在數(shù)據(jù)恢復(fù)方面,UDS自身擁有豐富的數(shù)據(jù)檢測和一致性機制,自動偵測數(shù)據(jù)存儲過程中的不一致(例如:某塊磁盤損壞),在不影響數(shù)據(jù)可用的情況下,啟動數(shù)據(jù)自恢復(fù)機制,有效保證數(shù)據(jù)的可靠性。