改變計(jì)算機(jī)界的存儲(chǔ)解決方案(附1987年論文)
很難低估NAND閃存和固態(tài)硬盤(SSD)帶來(lái)的影響。在過(guò)去的十年,這些存儲(chǔ)解決方案已經(jīng)徹底改變了整個(gè)市場(chǎng)。但是早在我們擁有大容量固態(tài)存儲(chǔ)之前,就有一種提升系統(tǒng)性能和響應(yīng)時(shí)間的不同方法:RAID。這種值得尊敬的存儲(chǔ)系統(tǒng)半個(gè)月前迎來(lái)了30歲生日,如今它依然廣泛用于企業(yè)和服務(wù)器解決方案。
發(fā)明RAID的三個(gè)人是大衛(wèi)?帕特森(David Patterson)、加思?吉布森(Garth Gibson)和蘭迪?卡茨(Randy Katz),他們?cè)?987年***定義了這個(gè)概念,后來(lái)又在1988年發(fā)表了一篇正式的論文:
像鏡像這些具體的概念在之前十年就已得到了定義,但是RAID并不僅僅支持鏡像解決方案。它還提供了一個(gè)藍(lán)圖:通過(guò)條帶化技術(shù)(striping,即將數(shù)據(jù)分成很多小部分,同時(shí)分別存儲(chǔ)到多個(gè)驅(qū)動(dòng)器上),顯著提高磁盤性能。
帕特森、吉布森和卡茨定義了眾多RAID級(jí)別來(lái)適合不同的任務(wù)和策略。如今,RAID 2和RAID 3很少使用,而主板通常為RAID 0、RAID 1和RAID 10提供軟件RAID支持。一些主板和控制器還支持RAID 5。RAID 0只是對(duì)數(shù)據(jù)進(jìn)行條帶化――你獲得的優(yōu)勢(shì)是一次性將數(shù)據(jù)寫入兩個(gè)磁盤(提升性能),但是加大了丟失數(shù)據(jù)這種災(zāi)難的機(jī)會(huì)。如果每個(gè)驅(qū)動(dòng)器出故障的幾率是1%(僅僅舉個(gè)例子),那么丟失一個(gè)驅(qū)動(dòng)器和所有數(shù)據(jù)的幾率是4%,因?yàn)槿魏喂收隙紩?huì)毀了這個(gè)陣列。RAID 1采用了鏡像――驅(qū)動(dòng)器0上的所有數(shù)據(jù)同時(shí)寫入到驅(qū)動(dòng)器1。這保護(hù)了數(shù)據(jù),但根本無(wú)法提升性能。RAID 10(1 + 0)結(jié)合了這兩種方法,如下所示:
Raid10示意圖
RAID讓小磁盤有機(jī)會(huì)匹敵或超過(guò)同一時(shí)代的標(biāo)準(zhǔn)大型機(jī)磁盤。IBM的3380在1987年提供了高達(dá)7.5GB的存儲(chǔ)容量,但六位數(shù)的標(biāo)價(jià)可能讓人望而生畏。RAID背后的整個(gè)想法是,開發(fā)出一種性能和可靠性與IBM相當(dāng),但成本低得多的系統(tǒng)存儲(chǔ)陣列。
為什么RAID很重要?
但是RAID不僅僅為企業(yè)界帶來(lái)了提升性能的好處,它還為消費(fèi)者帶來(lái)了實(shí)實(shí)在在的好處。來(lái)自StorageReview.com的下圖顯示,用西部數(shù)據(jù)公司的VelociRaptor 600系列硬盤組成的RAID 0陣列甚至比同一個(gè)時(shí)期的SSD更勝一籌。
StorageReview
RAID陣列并不總是可以提升性能,而且存在一定的缺點(diǎn)。AMD用戶常常被威盛(VIA)的686b南橋芯片中的一個(gè)bug所困擾:如果系統(tǒng)還創(chuàng)新(Creative)聲卡,這個(gè)bug可能會(huì)造成嚴(yán)重的、不可逆轉(zhuǎn)的數(shù)據(jù)丟失。而在當(dāng)時(shí),這些缺點(diǎn)常常被認(rèn)為是一個(gè)可以接受的風(fēng)險(xiǎn)。 幾十年來(lái),CPU時(shí)鐘頻率一直大幅提升,而存儲(chǔ)性能以慢得多的速度提升。如果與提升性能的其他方法結(jié)合使用,比如縮短驅(qū)動(dòng)器的行程(short-stroking,即只使用驅(qū)動(dòng)器內(nèi)部區(qū)域),RAID陣列提供了你所能買到的***性能。