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