存儲(chǔ)極客 | 從硬盤設(shè)計(jì)思想到RAID改良之道
存儲(chǔ)極客
在發(fā)布了《存儲(chǔ)極客:這些硬盤參數(shù)你都懂嗎?(上)-從案例引發(fā)的討論》和《存儲(chǔ)極客:這些硬盤參數(shù)你都懂嗎?(下)-監(jiān)控選型與系統(tǒng)設(shè)計(jì)》兩篇之后,我們收到了來自一些視頻專業(yè)廠商朋友的反饋,其中有很多值得與大家分享的信息。
監(jiān)控硬盤的前生今世
關(guān)于桌面硬盤、企業(yè)級(jí)近線硬盤(NL-SAS/SATA)和監(jiān)控硬盤的差別,我們?cè)谇拔闹幸呀?jīng)講得很詳細(xì),這里再換一個(gè)角度來看看。
“監(jiān)控硬盤是希捷和西數(shù)為視頻監(jiān)控定制的,典型的寫多讀少,一般讀寫比例為10:1。假設(shè)將讀寫比例變成1:1,則壞盤速度非???。(企業(yè)級(jí)近線硬盤和監(jiān)控盤的抗振能力)是不一樣的,用的RV Sensor和算法都不一樣。”
——浙江宇視科技有限公司 數(shù)據(jù)中心產(chǎn)品部總工 許鐘聲
這個(gè)與監(jiān)控硬盤的設(shè)計(jì)思想和定位有關(guān),按照我的理解,是在桌面硬盤的基礎(chǔ)上盡量少增加硬件成本的情況下,對(duì)固件進(jìn)行優(yōu)化,使之在視頻監(jiān)控應(yīng)用中能夠有更好的表現(xiàn),包括平均無故障時(shí)間和抗振能力等。
多年前,希捷只有一款專門定位于視頻應(yīng)用的SV35,就是今天監(jiān)控硬盤的前身。當(dāng)時(shí)我還曾與硬盤廠商的朋友開玩笑說:“它與桌面硬盤的區(qū)別就是寫緩存算法吧?”
實(shí)際上可能不止于此,我們先來看看官方是怎么說的?
監(jiān)控優(yōu)化固件以提升耐用性:
● ATA串流指令支持流暢的視頻錄制和回放,支持從多視頻流錄制更高分辨率的視頻并可以盡可能減少掉幀
● 指令完成時(shí)間更短,可以提升硬盤吞吐量,支持更多的攝像頭、更高的分辨率
● 節(jié)能模式可以全面減少功耗和發(fā)熱
● 可以在更高的溫度下運(yùn)行,獨(dú)特的監(jiān)控搜索配置文件可將發(fā)熱降至***
● 噪聲更低,運(yùn)行更加安靜
● 為快速寫入而優(yōu)化的數(shù)據(jù)高速緩存,支持更多的攝像頭且不影響吞吐量和性能
大存儲(chǔ)容量:
● 存儲(chǔ)容量足以應(yīng)對(duì)全天候運(yùn)行和多攝像頭應(yīng)用
● 支持高分辨率視頻和存檔的監(jiān)控錄像
物理設(shè)計(jì)改進(jìn):
● 平衡馬達(dá)可以將硬盤造成的振動(dòng)降至***并且可以降低噪音
● 耐用的硬盤元件可以保證寫入優(yōu)化和全天候運(yùn)行模式下的可靠性
監(jiān)控存儲(chǔ)應(yīng)用的特點(diǎn)就是流式寫入,I/O數(shù)據(jù)塊較大,但不代表就是完全的順序?qū)懭?,因?yàn)檫€要考慮多路監(jiān)控并發(fā)寫入帶來的影響。監(jiān)控硬盤的***特點(diǎn)應(yīng)該是緩存針對(duì)寫入做***優(yōu)化,一旦出現(xiàn)異常斷電,丟失個(gè)幾MB或者幾十MB數(shù)據(jù)對(duì)視頻監(jiān)控系統(tǒng)來說沒有多大影響。
也就是說,這種硬盤不需要為傳統(tǒng)服務(wù)器工作負(fù)載而考慮;而企業(yè)級(jí)近線硬盤,需要能適應(yīng)多種應(yīng)用場(chǎng)景,會(huì)盡可能地保證數(shù)據(jù)一致性。以前在RAID環(huán)境中有專門的緩存保護(hù)技術(shù),像數(shù)據(jù)庫(kù)等關(guān)鍵應(yīng)用通常建議關(guān)閉硬盤上的寫緩存。
在上一篇中,我們提到了“希捷在***一代Enterprise Capacity 8TB型號(hào)上內(nèi)置了2MB NOR閃存,用于掉電時(shí)備份寫緩存數(shù)據(jù),因此可以打開WCE(Write Cache Enable)提升隨機(jī)寫性能。”這是企業(yè)級(jí)硬盤為兼顧性能和掉電保護(hù)做出的一種改良。
HGST***的大容量企業(yè)級(jí)近線充氦硬盤,支持2種寫緩存保護(hù)機(jī)制。除了在SAS接口版本上提供非易失性的NVC Quick Cache之外,還有另一種技術(shù)Media Cache——“開辟一小部分磁道作為將隨機(jī)寫I/O變成順序?qū)懭氲木彌_區(qū)”。
此外還有一個(gè)“Rebuild助手”模式。舉例來說,在多塊硬盤配置RAID+熱備盤的情況下,如果故障盤只是某個(gè)磁頭失效,那么在重建的過程中,其它碟面上的數(shù)據(jù)就可以從故障盤直接拷貝到熱備盤,以減少對(duì)整個(gè)RAID組中其它硬盤增加的I/O開銷,加快Rebuild過程同時(shí)減少二次故障風(fēng)險(xiǎn)。據(jù)了解,希捷現(xiàn)在也具備類似的技術(shù),該功能需要配合RAID卡/控制器來實(shí)現(xiàn)。
監(jiān)控硬盤顯然不愿這樣提高成本,加大DRAM寫緩存的使用可以減少磁頭寫操作的次數(shù),在同等硬件條件達(dá)到了一定的延長(zhǎng)壽命的效果。但事物總是一分為二的,這種優(yōu)化相應(yīng)地就會(huì)削弱硬盤原本的讀緩存,所以如果超出傳統(tǒng)監(jiān)控使用范圍,讀操作比例增大就會(huì)導(dǎo)致壞盤率提高。
所以,監(jiān)控硬盤的應(yīng)用場(chǎng)景是限定的,而企業(yè)級(jí)近線硬盤可勝任更廣泛的用途。像噪音更低,實(shí)現(xiàn)方式就是降低轉(zhuǎn)速和尋道速度,而性能則是“夠用就好”的原則。至于物理設(shè)計(jì)改進(jìn),監(jiān)控盤使用的組件比企業(yè)級(jí)近線硬盤還是要降低一個(gè)等級(jí)的。
傳統(tǒng)RAID限制及應(yīng)變之道
這里再引用一段許先生給我們的反饋:
“不是監(jiān)控盤的RAID硬盤個(gè)數(shù)小于等于16個(gè),即使用企業(yè)盤一般單陣列內(nèi)推薦的硬盤數(shù)量也不超過16個(gè)(實(shí)際不超過15個(gè)左右),除了你說的共振之外,最主要的是性能,單RAID陣列從3-15塊硬盤遞增,性能也是遞增的,但是超過十五塊盤,性能會(huì)開始下降。一般的做法是24盤位陣列:11+12+1,性能***。”
許先生是監(jiān)控存儲(chǔ)方面的專家,考慮問題以及推薦的一般做法,都是以監(jiān)控用途為出發(fā)點(diǎn)。除了性能之外,傳統(tǒng)RAID組中磁盤數(shù)量越多,Rebuild時(shí)要讀取的數(shù)據(jù)量也是成正比的(前面介紹的硬盤快速Rebuild技術(shù)目前應(yīng)用還不普及),出現(xiàn)第2、3壞盤的概率也會(huì)增大。
我的另一位朋友楊小雷也曾在微博里面提到,在RAID卡固定條帶大小的情況下,參與硬盤數(shù)量越多Rebuild速度也會(huì)越慢。
因此在RAID卡和一些設(shè)計(jì)比較傳統(tǒng)的磁盤陣列上,硬盤數(shù)多了之后一般需要人為分成多個(gè)RAID組,在操作系統(tǒng)的卷管理器層面,再根據(jù)需要“拼”或者條帶化成邏輯卷。在今天看來這樣不是太方便,并且對(duì)規(guī)劃人員也會(huì)有要求。那么如果我們?cè)诘讓硬辉敢夥殖啥鄠€(gè)RAID組,解決之道就是寬條帶化。
如上圖,左邊的“傳統(tǒng)存儲(chǔ)系統(tǒng)”基于磁盤做RAID,當(dāng)RAID上的LUN映射給某個(gè)前端主機(jī)時(shí),它的性能會(huì)受限于該RAID組的磁盤數(shù)量。而像以戴爾SC(Compellent)等為代表的存儲(chǔ)系統(tǒng),先將磁盤切割為數(shù)據(jù)塊(粒度細(xì)化的可達(dá)到512KB-4MB),然后在這些數(shù)據(jù)塊/頁(yè)面之間做RAID。也有人后來給寬條帶化RAID起了RAID 1.5、RAID2.0… 的叫法。
由于底層虛擬化打散的原因,寬條帶化RAID可以在更大的存儲(chǔ)池上,保持理想的數(shù)據(jù)/冗余校驗(yàn)位比例,比如RAID 5 4+1和RAID 6 8+2等。這樣單個(gè)LUN就能享受到整個(gè)磁盤池的性能,同時(shí)還不用面對(duì)傳統(tǒng)RAID組磁盤數(shù)量過多所帶來的問題。
寬條帶化比傳統(tǒng)RAID更加智能,而這只是先進(jìn)的企業(yè)級(jí)存儲(chǔ)系統(tǒng)相對(duì)于使用RAID卡或者軟RAID搭建廉價(jià)存儲(chǔ)服務(wù)器的優(yōu)勢(shì)之一。盡管許多監(jiān)控存儲(chǔ)在成本控制上要求較高,但是“高投入、高回報(bào)”的道理仍然適用。除了存儲(chǔ)操作系統(tǒng)、硬盤選擇之外,一款設(shè)計(jì)優(yōu)秀的雙控制器陣列還在更多方面保障設(shè)備的可靠性和可用性,包括我們前文談過的共振考慮,以及冗余模塊化組件無單點(diǎn)故障等。
相關(guān)內(nèi)容導(dǎo)讀
↓↓↓
《高密度盤柜難點(diǎn):評(píng)戴爾SCv2080結(jié)構(gòu)設(shè)計(jì)》
《戴爾SCv2000:入門級(jí)陣列硬件設(shè)計(jì)功力》
存儲(chǔ)極客 | 這些硬盤參數(shù)你都懂得嗎?
存儲(chǔ)極客 | 這些硬盤參數(shù)你都懂得嗎?(下篇)