分布式存儲的技術(shù)趨勢(三):雙重RAID機(jī)制與三副本對比
雙重RAID究竟能否有效解決三副本的缺陷?讓我們從二者之間的對比開始。在前面我們分析了三副本的潛在隱患,也介紹了雙重RAID架構(gòu)的工作原理與技術(shù)特點(diǎn)。雙重RAID究竟能否有效解決三副本的缺陷?讓我們從二者之間的對比開始。
故障修復(fù)時(shí)間更短,業(yè)務(wù)影響更小
硬盤損壞時(shí),雙重RAID機(jī)制優(yōu)先通過節(jié)點(diǎn)內(nèi)RAID恢復(fù)數(shù)據(jù),該恢復(fù)機(jī)制可自動調(diào)節(jié)速度以避讓工作負(fù)載,前端業(yè)務(wù)無感知。無需觸發(fā)網(wǎng)絡(luò)數(shù)據(jù)重建,從而有效地避免了網(wǎng)絡(luò)重建風(fēng)暴。
節(jié)點(diǎn)故障時(shí),可通過遷移磁盤到另一臺物理服務(wù)器,實(shí)現(xiàn)節(jié)點(diǎn)遷移(無需拷貝或重建數(shù)據(jù))。SVM存儲池上每個(gè)磁盤記載關(guān)于存儲池構(gòu)成的全部信息,分布式存儲的vOSD的ID號及用戶數(shù)據(jù),保存在SVM存儲池的虛擬卷上,自動隨著SVM存儲池的遷移從一臺物理服務(wù)器遷移到另一臺物理服務(wù)器,主機(jī)名及vOSD的ID號保存不變,實(shí)現(xiàn)快速節(jié)點(diǎn)修復(fù)。
容錯(cuò)性更強(qiáng),可允許多節(jié)點(diǎn)同時(shí)有磁盤損壞
三副本分布式存儲通過跨節(jié)點(diǎn)的副本保護(hù),可有效防止單個(gè)或兩個(gè)磁盤損壞對業(yè)務(wù)數(shù)據(jù)的影響,但是容錯(cuò)性受到限制,如在三副本的情況下,不同故障域內(nèi)之間,最多只能允許2個(gè)節(jié)點(diǎn)有磁盤損壞,超出2個(gè)節(jié)點(diǎn)出現(xiàn)磁盤故障,則極有可能發(fā)生數(shù)據(jù)丟失,如圖1所示。
圖 1 三副本分布式存儲多節(jié)點(diǎn)硬盤損壞導(dǎo)致數(shù)據(jù)丟失
鐵力士分布式存儲通過雙重RAID 機(jī)制,能夠?qū)⑷蒎e(cuò)性提升一個(gè)數(shù)量級。如圖2所示,以節(jié)點(diǎn)內(nèi)RAID 10+節(jié)點(diǎn)間2副本為例,當(dāng)每個(gè)節(jié)點(diǎn)都出現(xiàn)磁盤故障的時(shí)候,可以通過節(jié)點(diǎn)內(nèi)RAID 分別修復(fù),保障整個(gè)系統(tǒng)數(shù)據(jù)無丟失,業(yè)務(wù)無中斷。

圖 2 雙重RAID容忍多節(jié)點(diǎn)磁盤損壞
數(shù)據(jù)持久性(Durability)高出一個(gè)數(shù)量級
下面通過具體數(shù)值來比較三副本與雙重RAID的數(shù)據(jù)持久性(可靠性)。數(shù)據(jù)持久性指標(biāo)可通過存儲系統(tǒng)的AFR(Annual Failure Rate)來衡量??紤]一個(gè)1000個(gè)6TB硬盤的存儲集群,每個(gè)機(jī)械硬盤的MTTF(Mean Time to Failure)為1000,000小時(shí)。在計(jì)算中需要運(yùn)用兩個(gè)著名的MTTF公式,一個(gè)是關(guān)于RAID6,其MTTF=(MTTF)*(MTTF)*(MTTF)/(N*(N-1)*(N-2)*MTTR), 另一個(gè)是關(guān)于RAID5,其MTTF=(MTTF)*(MTTF)/(N*(N-1)MTTR), 其中MTTR(Mean Time to Repair)是硬盤平均修復(fù)時(shí)間。
在三副本條件下,存儲系統(tǒng)共有333組三副本,每組三副本的MTTF相當(dāng)于N=3的RAID6,在分布式并發(fā)修復(fù)的條件下,MTTR通常為3小時(shí)(每半小時(shí)修復(fù)1TB數(shù)據(jù)),因此每組三副本的MTTF =1000000*1000000*1000000/(3*2*1*3)=5.56x 1016 小時(shí),而整個(gè)系統(tǒng)的MTTF = 5.56x 1016 /333 =1.67x 1014 小時(shí)。折算為AFR(一年共8760小時(shí)),AFR=8760/(1.67x 1014) =5.2x 10-11。
在雙重RAID情況下,考慮節(jié)點(diǎn)內(nèi)采用(2+1) RAID5,存儲系統(tǒng)共有333組RAID5,為簡化計(jì)算,考慮每組RAID對應(yīng)于兩個(gè)vOSD,12TB數(shù)據(jù)。據(jù)測算,RAID5的MTTR為30小時(shí),每組RAID5 (vOSD)的MTTF=1000000*1000000/(3*2*30)=5.56x 109 小時(shí)。當(dāng)一個(gè)RAID5組損壞時(shí),由于vOSD在跨節(jié)點(diǎn)之間有鏡像保護(hù)(其可靠性相當(dāng)于N=2 RAID5),采用分布式并發(fā)修復(fù)12TB數(shù)據(jù),每半小時(shí)修復(fù)1TB數(shù)據(jù),需6小時(shí),因此,其MTTR=(5.56x 109 )* (5.56x 109 )/(2*1*6)=2.58x 1018 小時(shí)??紤]到整個(gè)存儲系統(tǒng)有333組RAID5, 因此整個(gè)系統(tǒng)的MTTF=2.58x 1018/333 =7,75x 1015 小時(shí),相當(dāng)于三副本MTTF的46倍。折算為AFR,雙重RAID的AFR=8760/(7.75x 1015)= 1.1x 10-12 。
對比三副本和雙重RAID的數(shù)據(jù)持久性,可見雙重RAID的數(shù)據(jù)可靠性高于三副本一個(gè)數(shù)量級以上。
總結(jié)
鐵力士分布式存儲將傳統(tǒng)磁盤陣列的RAID技術(shù)、存儲虛擬化管理技術(shù)與分布式存儲技術(shù)相結(jié)合,有效地解決了普通分布式存儲面臨的IO分布不均勻和木桶效應(yīng)導(dǎo)致的性能缺陷,大幅度提升系統(tǒng)IOPS性能,并避免了普通分布式存儲因網(wǎng)絡(luò)重建風(fēng)暴而可能導(dǎo)致的穩(wěn)定性隱患。同時(shí),雙重RAID架構(gòu)的數(shù)據(jù)可靠性高于三副本分布式存儲一個(gè)數(shù)量級以上。