新聞中心
分布式存儲(chǔ)的技術(shù)趨勢(一):三副本的弊端
作者:佚名 2021-03-09 09:48:40
存儲(chǔ)
分布式 雖然分布式存儲(chǔ)的SDS理念很好,橫向擴(kuò)展能力不錯(cuò),自動(dòng)添加和刪除節(jié)點(diǎn)都是優(yōu)勢,但與傳統(tǒng)集中式存儲(chǔ)(磁盤陣列)相比,其穩(wěn)定性和性能仍然存在明顯的短板。

雖然分布式存儲(chǔ)的SDS理念很好,橫向擴(kuò)展能力不錯(cuò),自動(dòng)添加和刪除節(jié)點(diǎn)都是優(yōu)勢,但與傳統(tǒng)集中式存儲(chǔ)(磁盤陣列)相比,其穩(wěn)定性和性能仍然存在明顯的短板。以Ceph、VSAN為代表的軟件定義存儲(chǔ)(Software Defined Storage,SDS)是一個(gè)橫向擴(kuò)展、自動(dòng)均衡、自愈合的分布式存儲(chǔ)系統(tǒng),將商用x86服務(wù)器、固態(tài)硬盤、機(jī)械硬盤等硬件資源整合為一個(gè)瘦供給的資源池,并以塊存儲(chǔ)、文件存儲(chǔ)、對象存儲(chǔ)、Restful API等多種接口方式提供存儲(chǔ)服務(wù)。
無論是Ceph、VSAN,或者其演化版本,有一個(gè)共同的技術(shù)特征,即采用網(wǎng)絡(luò)RAID方式實(shí)現(xiàn)數(shù)據(jù)保護(hù),以3副本或糾刪碼為代表,其中3副本用于對小塊數(shù)據(jù)讀寫性能有一定要求的應(yīng)用場景,而糾刪碼則適用于視頻數(shù)據(jù)、備份及歸檔等大文件場景。以3副本為例,業(yè)務(wù)數(shù)據(jù)被分割為固定大小的數(shù)據(jù)塊,通常為4MB,每個(gè)數(shù)據(jù)塊在不同的節(jié)點(diǎn)上保存3個(gè)副本(如圖1所示),其分布機(jī)制是依照一致性哈希算法(Consistent Hashing)或CRUSH算法,將各個(gè)副本數(shù)據(jù)隨機(jī)分布在不同節(jié)點(diǎn)、不同磁盤中,以實(shí)現(xiàn)數(shù)據(jù)自動(dòng)平衡和橫向擴(kuò)展。當(dāng)磁盤或節(jié)點(diǎn)遭遇故障或損壞時(shí),系統(tǒng)會(huì)自動(dòng)根據(jù)預(yù)先設(shè)定的規(guī)則,重新建立一個(gè)新的數(shù)據(jù)副本,稱之為數(shù)據(jù)重建。
圖 1 分布式存儲(chǔ)副本機(jī)制
雖然分布式存儲(chǔ)的SDS理念很好,橫向擴(kuò)展能力不錯(cuò),自動(dòng)添加和刪除節(jié)點(diǎn)都是優(yōu)勢,但與傳統(tǒng)集中式存儲(chǔ)(磁盤陣列)相比,其穩(wěn)定性和性能仍然存在明顯的短板。
首先,在性能方面,三副本分布式存儲(chǔ)容易受到IO分布不均勻和木桶效應(yīng)的影響,導(dǎo)致大延遲和響應(yīng)遲鈍的現(xiàn)象。以Ceph為例,多個(gè)存儲(chǔ)基本單元,Placement Group (PG),封裝為一個(gè)OSD,每個(gè)OSD直接對應(yīng)于某一個(gè)機(jī)械硬盤HDD;主流的7200轉(zhuǎn)HDD,受到機(jī)械臂尋址限制,其單盤的讀寫性能僅為120 IOPS左右;由于數(shù)據(jù)在OSD上隨機(jī)分布,因而單個(gè)硬盤上的IO負(fù)載不會(huì)固定在平均值上,而是總體呈現(xiàn)為正態(tài)分布,少數(shù)HDD上因正態(tài)分布的尾部效應(yīng),導(dǎo)致其IO負(fù)載遠(yuǎn)超平均值,以及遠(yuǎn)超單盤的性能閥值,造成擁堵。此外,分布式存儲(chǔ)為保證數(shù)據(jù)完整性,必須定時(shí)進(jìn)行數(shù)據(jù)完整性校驗(yàn),即數(shù)據(jù)scrub/deep-scrub操作,而這些操作產(chǎn)生額外的IO負(fù)載,可能會(huì)加重磁盤阻塞現(xiàn)象。根據(jù)木桶效應(yīng)原理,系統(tǒng)的性能取決于集群中表現(xiàn)最差的磁盤,因此個(gè)別慢盤嚴(yán)重拖累整個(gè)系統(tǒng)的性能,其可能的后果,就是帶來大延遲、OSD假死,以及觸發(fā)數(shù)據(jù)非必需的重建。
其次,三副本分布式存儲(chǔ)還面臨穩(wěn)定性問題。當(dāng)存儲(chǔ)擴(kuò)容、硬盤或節(jié)點(diǎn)損壞、網(wǎng)絡(luò)故障、OSD假死、 Deep-scrub等多種因素疊加,可能導(dǎo)致多個(gè)OSD同時(shí)重建,引發(fā)重建風(fēng)暴。在數(shù)據(jù)重建過程中,重建任務(wù)不僅消耗系統(tǒng)的內(nèi)存、CPU、網(wǎng)絡(luò)資源,而且還給存儲(chǔ)系統(tǒng)帶來額外的IO工作負(fù)載,擠占用戶工作負(fù)載的存儲(chǔ)資源。在此情形下,用戶時(shí)常觀察到,系統(tǒng)IO延遲大,響應(yīng)遲鈍,輕者引起業(yè)務(wù)中斷,嚴(yán)重時(shí)系統(tǒng)可能會(huì)陷入不穩(wěn)定的狀態(tài),OSD反復(fù)死機(jī)重啟,甚至?xí)?dǎo)致數(shù)據(jù)丟失,系統(tǒng)崩潰。
此外,三副本分布式存儲(chǔ)還面臨數(shù)據(jù)丟失的風(fēng)險(xiǎn)。三副本最大可抵御兩個(gè)HDD同時(shí)損壞。當(dāng)系統(tǒng)處于擴(kuò)容狀態(tài)、或一個(gè)節(jié)點(diǎn)處于維護(hù)模式時(shí),此時(shí)出現(xiàn)一個(gè)HDD故障,則該系統(tǒng)就會(huì)進(jìn)入緊急狀態(tài),出現(xiàn)兩個(gè)HDD同時(shí)故障,則可能導(dǎo)致數(shù)據(jù)丟失。對于一個(gè)具有一定規(guī)模的存儲(chǔ)系統(tǒng)而言,同時(shí)出現(xiàn)兩個(gè)機(jī)械硬盤故障的事件不可避免,尤其是當(dāng)系統(tǒng)運(yùn)行兩三年之后,隨著硬件的老化,出現(xiàn)Double、或Triple磁盤故障的概率急劇上升。此外,當(dāng)系統(tǒng)出現(xiàn)大規(guī)模掉電或存儲(chǔ)節(jié)點(diǎn)意外宕機(jī)時(shí),也可能會(huì)導(dǎo)致多個(gè)機(jī)械硬盤同時(shí)出現(xiàn)損壞,危及三副本分布式存儲(chǔ)的數(shù)據(jù)安全。
如何應(yīng)對三副本隱患和風(fēng)險(xiǎn),您預(yù)備好了嗎?更多信息,請關(guān)注分布式存儲(chǔ)的技術(shù)趨勢(二):雙重RAID。
本文標(biāo)題:分布式存儲(chǔ)的技術(shù)趨勢(一):三副本的弊端
轉(zhuǎn)載來源:http://www.5511xx.com/article/dpgdsoh.html


咨詢
建站咨詢
