獨(dú)立磁盤冗余陣列(RAID——Redundant Arrays of Independent Disks)是一種使用多硬盤驅(qū)動(dòng)器來(lái)存儲(chǔ)數(shù)據(jù)的數(shù)據(jù)存儲(chǔ)系統(tǒng)??梢允褂枚喾N不同的存儲(chǔ)技術(shù)來(lái)實(shí)現(xiàn)不同等級(jí)的冗余、錯(cuò)誤恢復(fù)和性能。
過(guò)去,高可用計(jì)算機(jī)的安裝都要求有足夠的數(shù)據(jù)冗余,即一套復(fù)雜的數(shù)據(jù)鏡像備份在出現(xiàn)問(wèn)題時(shí)可以馬上替代當(dāng)前的數(shù)據(jù)。隨著數(shù)據(jù)量的不斷增長(zhǎng),這種解決方案的花費(fèi)令人難以接受,于是,IT開(kāi)發(fā)人員用RAID(獨(dú)立磁盤冗余陣列)來(lái)解決這一問(wèn)題。不像磁盤鏡像,一個(gè)RAID系統(tǒng)并不一定要具備兩倍于數(shù)據(jù)量的磁盤空間,如一個(gè)RAID 5系統(tǒng)為了保證數(shù)據(jù)的使用和安全可以只增加數(shù)據(jù)量20%的磁盤空間。
磁盤陣列分類
根據(jù)磁盤陣列的結(jié)構(gòu)、要求及數(shù)據(jù)處理特點(diǎn),一般分為六個(gè)級(jí)別(也叫標(biāo)準(zhǔn)),即RAID 0、1、2、3、4、5,若另加一個(gè)派生的RAID 0+1,實(shí)際上有七個(gè)。其中RAID 2、3、4已基本淘汰,而RAID 5雖然最完備,但因至少由3塊硬盤組成使其價(jià)格較高,往往應(yīng)用于高中端網(wǎng)絡(luò)數(shù)據(jù)庫(kù)存儲(chǔ)系統(tǒng),RAID 0、1、0+1三種標(biāo)準(zhǔn)則主要應(yīng)用于低中端網(wǎng)絡(luò)數(shù)據(jù)庫(kù)存儲(chǔ)系統(tǒng)之中。
根據(jù)磁盤陣列的數(shù)據(jù)接口,一般可以分為SCSI接口、IDE接口、
光纖通道三類。雖然它們只是接口不同,但卻可直接影響到磁盤陣列數(shù)據(jù)
傳輸速度的快慢、數(shù)據(jù)存儲(chǔ)備份容量的大小、設(shè)備成本與價(jià)格的高低、設(shè)備安裝與維護(hù)的難度等,因而它們各有優(yōu)劣,各自適應(yīng)不同的應(yīng)用環(huán)境,可滿足不同用戶的應(yīng)用要求,所以磁盤陣列按接口分類廣泛為人們所接受。磁盤陣列一般都能夠在支持多個(gè)SCSI接口或光纖通道接口的同時(shí),還可支持多臺(tái)主機(jī)連接,從而可形成群集環(huán)境的高可用性架構(gòu)和多主機(jī)共用網(wǎng)絡(luò)存儲(chǔ)數(shù)據(jù)系統(tǒng)。在高檔SCSI接口的磁盤陣列中,還普遍支持32位RISC專用CPU,配置4~256MB高速緩存,使之能與主機(jī)并行運(yùn)作,完全不需要任何軟件或驅(qū)動(dòng)程序支持,極大地提高了磁盤陣列的數(shù)據(jù)處理速度。
傳統(tǒng)的RAID都配有專用處理器、大容量緩存以及高速SCSI硬盤為其陣列基礎(chǔ),基本上都支持RAID 0、1、5等工業(yè)標(biāo)準(zhǔn),并具有熱插拔冗余控制器的相互備援,支持全自動(dòng)的故障切換,可為內(nèi)存鏡像提供無(wú)單點(diǎn)錯(cuò)誤能力等。這種磁盤陣列技術(shù)成熟、性能穩(wěn)定、數(shù)據(jù)安全、存儲(chǔ)可靠,同時(shí)存取速度快、存儲(chǔ)容量大,但價(jià)格十分昂貴,且安裝、維護(hù)和管理較復(fù)雜,是大中型網(wǎng)絡(luò)數(shù)據(jù)存儲(chǔ)系統(tǒng)的首選產(chǎn)品;基于IDE接口的磁盤陣列IDE RAID,由于采用普通IDE接口硬盤,沒(méi)有專用處理器和內(nèi)存,在通過(guò)自帶的BIOS調(diào)用下,可以利用主機(jī)CPU來(lái)實(shí)現(xiàn)RAID運(yùn)算,因而結(jié)構(gòu)簡(jiǎn)單、兼容性好、安裝維護(hù)管理方便,其最大優(yōu)點(diǎn)則是價(jià)格便宜(不僅省去了處理器和高速緩存,而且一塊9G的SCSI硬盤在3千元左右,而一塊9G的IDE硬盤只有1千元左右),是中小型企業(yè)網(wǎng)絡(luò)存儲(chǔ)設(shè)備的重要選擇內(nèi)容。IDE RAID也基本上支持RAID 0、1、0+1標(biāo)準(zhǔn),某些還支持RAID 5標(biāo)準(zhǔn),普遍采用支持UDMA/66高速接口的普通硬盤作為陣列存儲(chǔ)單元。其中多條獨(dú)立數(shù)據(jù)通道在提高陣列性能的同時(shí),能夠增強(qiáng)數(shù)據(jù)的可靠性和數(shù)據(jù)的保護(hù)能力。另外,IDE RAID還普遍具有數(shù)據(jù)冗余功能,有的還可作為系統(tǒng)盤。光纖通道接口磁盤陣列是一種采用最新技術(shù)的高數(shù)據(jù)傳輸率和高帶寬磁盤陣列,其最大特點(diǎn)是通道帶寬高達(dá)100/200MB(SCSI只有80到160MB,IDE僅有33到66MB)。
被稱為第二代磁盤陣列系統(tǒng)的RD20,因其采用了新型體系結(jié)構(gòu),具有高可用性、高性能和大數(shù)據(jù)量存儲(chǔ)處理能力,具有靈活的計(jì)算能力和低廉的價(jià)格特點(diǎn)。RD20采用了先進(jìn)的冗余設(shè)計(jì)技術(shù)與軟件,有效地保證了數(shù)據(jù)的最大可用性。其冗余體系結(jié)構(gòu)及標(biāo)準(zhǔn)組件設(shè)計(jì)使其具有很強(qiáng)的靈活性,主機(jī)接口設(shè)計(jì)為獨(dú)立的可添加的夾層卡,用戶可自由選擇異端或單端寬Ultra SCSI接口,大大方便了用戶的自行設(shè)計(jì)外形結(jié)構(gòu)和升級(jí)。單槽或雙槽1.0625Gbps光纖接口,還允許用戶直接與有光纖接口的主機(jī)、光纖交換機(jī)、網(wǎng)絡(luò)集線器或其他冗余設(shè)備直接連接。RD20一般采用兩個(gè)控制器,由RAID子系統(tǒng)進(jìn)行雙重控制,并由裝在控制器中的溫度傳感器隨時(shí)報(bào)告各扇區(qū)物理環(huán)境的異?,F(xiàn)象,從而保證了系統(tǒng)的安全運(yùn)行。
RD20的主要特點(diǎn)是,采用了處理頻率為133MHz的嵌入式RISC處理器,有多個(gè)用于控制硬盤驅(qū)動(dòng)器和主機(jī)接口的PCI智能I/O處理器,內(nèi)部PCI總線可提供132Mbps的數(shù)據(jù)傳輸帶寬,主要用于連接后端硬盤驅(qū)動(dòng)器的四個(gè)獨(dú)立旋轉(zhuǎn)式Ultra SCSI通道,大大提高了數(shù)據(jù)傳輸速率,其動(dòng)態(tài)隨機(jī)存儲(chǔ)能力高達(dá)256MB,可雙倍提高內(nèi)存的讀取速度。
RAID標(biāo)準(zhǔn)的意義
基于RAID標(biāo)準(zhǔn)的磁盤陣列,之所以具有性能可靠和容量極大的技術(shù)優(yōu)勢(shì),其主要原因是由于:首先,RAID控制器通過(guò)并行數(shù)據(jù)讀寫克服了磁盤機(jī)電設(shè)計(jì)的限制,可大大提高存取速度。RAID可以同時(shí)操作多張磁盤的讀寫,如四張磁盤組成的陣列的讀寫速度幾乎是單張磁盤的四倍。所以,RAID的高速讀寫能力既可用來(lái)完成象高速的實(shí)時(shí)圖像編輯,也可用于大量數(shù)據(jù)的高速存儲(chǔ)備份;其次,RAID系統(tǒng)提供了大容量的數(shù)據(jù)存儲(chǔ),而且多張磁盤上的數(shù)據(jù)對(duì)于主機(jī)來(lái)說(shuō)是隨時(shí)可用的。復(fù)雜的RAID系統(tǒng)甚至允許用戶通過(guò)控制器所發(fā)出的數(shù)據(jù)途徑來(lái)組成多盤菊鏈,使得高性能的RAID控制器可同時(shí)進(jìn)行多達(dá)90多張盤片的尋址操作;最后,RAID系統(tǒng)運(yùn)用了奇偶校驗(yàn)技術(shù),極大地提高了數(shù)據(jù)的可靠性。因?yàn)楫?dāng)RAID控制器在磁盤上寫數(shù)據(jù)時(shí),RAID系統(tǒng)會(huì)記錄相應(yīng)的奇偶位冗余數(shù)據(jù),若該磁盤失效,該奇偶信息可使RAID控制器在不降低性能的情況下,重新計(jì)算丟失的信息。下面我們來(lái)總結(jié)一下RAID標(biāo)準(zhǔn)的意義。
標(biāo)準(zhǔn)RAID:如前所述,傳統(tǒng)RAID標(biāo)準(zhǔn)一般分為七級(jí),其區(qū)別主要是陣列中的磁盤數(shù)與數(shù)據(jù)寫入磁盤方式不同,但廣泛應(yīng)用的標(biāo)準(zhǔn)只有RAID 0、1、5和0+1四種,下面我們就來(lái)介紹這四種標(biāo)準(zhǔn)的意義。
符合RAID 0標(biāo)準(zhǔn)磁盤陣列的基本特點(diǎn)是數(shù)據(jù)傳輸率高和安全性低。由于該標(biāo)準(zhǔn)陣列只能操作兩塊硬盤,并采用了將數(shù)據(jù)流分割成大小相同的數(shù)據(jù)條塊(條塊標(biāo)準(zhǔn):容量一般為64KB,也可以調(diào)整為8KB或256KB),然后平均分配給兩塊硬盤,同時(shí)完成數(shù)據(jù)傳輸,其數(shù)據(jù)傳輸率基本上為兩塊硬盤傳輸率之和。雖然這種采用條塊化存儲(chǔ)數(shù)據(jù)的方法的傳輸數(shù)據(jù)率最快,效率最高,但因沒(méi)有冗余,是以犧牲RAID的安全性為代價(jià)換到的極限性能,因此數(shù)據(jù)存儲(chǔ)可靠性脆弱,一旦陣列中某塊硬盤出現(xiàn)故障,整個(gè)系統(tǒng)也將隨之癱瘓。
符合RAID 1標(biāo)準(zhǔn)磁盤陣列的基本標(biāo)準(zhǔn)是數(shù)據(jù)傳輸率低和安全性高,恰好與RAID 0標(biāo)準(zhǔn)相反。符合該標(biāo)準(zhǔn)的磁盤陣列也只能操作兩塊硬盤,由于它使用了磁盤鏡像,提供了冗余容錯(cuò)機(jī)制,使得陣列在每次寫或更換數(shù)據(jù)時(shí),同樣的操作可發(fā)生在另一張磁盤上,即每次操作都能把寫往主盤的數(shù)據(jù)同步地寫到鏡像盤上,一旦某磁盤失效另一張磁盤將馬上接手工作。
但這種工作方式使得鏡像和冗余的成本較高,將浪費(fèi)一半的磁盤空間,而且也影響了陣列的數(shù)據(jù)讀寫速度。雖然RAID 1還可以在讀取數(shù)據(jù)時(shí),保證同步在兩個(gè)磁盤上搜索,并且能把先找到的數(shù)據(jù)傳輸回來(lái),從而可改善陣列系統(tǒng)的調(diào)用效率,但因消耗主機(jī)CPU資源,幾乎沒(méi)有提高陣列系統(tǒng)的整體性能。所以RAID 1陣列只對(duì)緊要任務(wù)數(shù)據(jù)存儲(chǔ)才有意義。
符合RAID 0+1標(biāo)準(zhǔn)的磁盤陣列,實(shí)際上已考慮了上述兩類標(biāo)準(zhǔn)的因素,吸收了上述兩種標(biāo)準(zhǔn)的優(yōu)點(diǎn),即在RAID 0標(biāo)準(zhǔn)上把寫往兩個(gè)硬盤的數(shù)據(jù)同時(shí)做兩個(gè)鏡像,既保證了數(shù)據(jù)傳輸?shù)母咚俾?,又保證了系統(tǒng)數(shù)據(jù)的高安全性,但需提供4塊硬盤,所以成本也要大大高出前兩者。
符合RAID 3標(biāo)準(zhǔn)的磁盤陣列包括數(shù)據(jù)分割,另外,它還指定一個(gè)驅(qū)動(dòng)器來(lái)存儲(chǔ)奇偶信息。這就提供了某種容錯(cuò)功能,在數(shù)據(jù)密集型環(huán)境或單一用戶環(huán)境中尤其有益于訪問(wèn)較長(zhǎng)的連續(xù)記錄。RAID 3需要同步主軸驅(qū)動(dòng)器來(lái)預(yù)防較短記錄的性能下降。
符合RAID 5標(biāo)準(zhǔn)的磁盤陣列,采用了奇偶校驗(yàn)和并行傳送技術(shù),雖然沒(méi)有使用專用驅(qū)動(dòng)器,但將校驗(yàn)位按要求寫到了陣列中的某一臺(tái)驅(qū)動(dòng)器上,將數(shù)據(jù)和奇偶信息分布在陣列中的全部磁盤上,同樣也避免了專用奇偶磁盤的需要。RAID 5標(biāo)準(zhǔn)的讀寫操作可同時(shí)進(jìn)行,并使用了Exclusive-OR算法來(lái)計(jì)算奇偶信息。
在RAID 5分布式奇偶校驗(yàn)塊的例子中,磁盤3中的奇偶校驗(yàn)塊是磁盤1、2、4和5上的數(shù)據(jù)的備份數(shù)據(jù)映像;磁盤2中的奇偶校驗(yàn)塊是磁盤1、3、4和5上的數(shù)據(jù)的備份數(shù)據(jù)映像;磁盤1中的奇偶校驗(yàn)塊是磁盤2、3、4和5上的數(shù)據(jù)的備份數(shù)據(jù)映像……依此類推。如果一塊磁盤出現(xiàn)問(wèn)題,控制器可以利用奇偶校驗(yàn)塊來(lái)重建數(shù)據(jù)。
奇偶校驗(yàn)塊可以降低RAID 3和5數(shù)據(jù)存儲(chǔ)的開(kāi)銷。例如RAID 5用一塊磁盤來(lái)為4塊磁盤提供數(shù)據(jù)冗余,那就意味著用5塊磁盤來(lái)存儲(chǔ)4塊磁盤容量的數(shù)據(jù)并為那些數(shù)據(jù)提供完全備份。
軟硬件RAID:RAID還有基于軟件的RAID和基于硬件的RAID,兩者在性能方面有較大區(qū)別,且能在不同領(lǐng)域各領(lǐng)風(fēng)騷。其中,基于軟件的RAID只能利用主機(jī)CPU和存儲(chǔ)器來(lái)實(shí)現(xiàn)磁盤陣列的存儲(chǔ)備份,根據(jù)操作系統(tǒng)又可分為基于Novell平臺(tái)、Windows NT平臺(tái)和Unix平臺(tái)的軟件RAID,軟件RAID存儲(chǔ)備份級(jí)別較低,由于高速緩沖存儲(chǔ)器可以使得簡(jiǎn)單的分段和鏡像完成得更快,可大大提高讀寫速度,因而任務(wù)較少時(shí)有明顯優(yōu)勢(shì)。尤其是各類新版操作系統(tǒng)、容錯(cuò)軟件和群集技術(shù)的普遍應(yīng)用,又使得軟件RAID在性能和功能方面到了充分的發(fā)揮。
基于硬件的RAID因?yàn)閾碛凶约邯?dú)立的CPU和存儲(chǔ)器,完全可以自己計(jì)算奇偶信息并完成文件定位,提高數(shù)據(jù)并行傳輸速度。硬件RAID又可分為內(nèi)置插卡式和外置機(jī)柜式RAID,內(nèi)置插卡式RAID也依賴主機(jī)的操作系統(tǒng),要求有專門的驅(qū)動(dòng)器連接和設(shè)置RAID控制器,其優(yōu)勢(shì)在于速度,因?yàn)閮?nèi)置式系統(tǒng)無(wú)需通過(guò)SCSI適配器,當(dāng)然內(nèi)置式價(jià)格便宜,但內(nèi)置式系統(tǒng)大部分沒(méi)有擴(kuò)充插件板,容量大小固定不變。另外,因在一個(gè)時(shí)間段內(nèi)只有一臺(tái)主機(jī)可和內(nèi)置系統(tǒng)通信,很難進(jìn)行雙機(jī)容錯(cuò)備份;外置機(jī)柜式RAID可以獨(dú)立計(jì)算,不僅可以靈活地增加驅(qū)動(dòng)器,提高RAID存儲(chǔ)備份容量,還能簡(jiǎn)單地實(shí)現(xiàn)雙機(jī)容錯(cuò)熱備份。所以,內(nèi)置式RAID系統(tǒng)主要應(yīng)用于PC服務(wù)器或成為其選件,或成為其標(biāo)準(zhǔn)配置,外置式RAID系統(tǒng)則主要用于雙機(jī)容錯(cuò)系統(tǒng)中的大容量高可靠系統(tǒng)中。
新標(biāo)準(zhǔn)RAID 7:還有一種磁盤陣列新標(biāo)準(zhǔn)RAID 7。其實(shí),RAID 7不僅僅是一種技術(shù),還是一種存儲(chǔ)計(jì)算機(jī)(Storage Computer)。因?yàn)樗cRAID 0、1、5標(biāo)準(zhǔn)有明顯區(qū)別,RAID 7自身帶有智能化實(shí)時(shí)操作系統(tǒng)和用于存儲(chǔ)管理的軟件工具,可完全獨(dú)立于主機(jī)運(yùn)行,不占用主機(jī)CPU資源。RAID 7不僅具有更高的性能和卓越的存儲(chǔ)管理能力,而且集普通RAID標(biāo)準(zhǔn)的所有優(yōu)點(diǎn)于一身,因而RAID 7系統(tǒng)整體性能極佳。
RAID 7存儲(chǔ)計(jì)算機(jī)操作系統(tǒng)(Storage Computer Operating System)是一套實(shí)時(shí)事件驅(qū)動(dòng)操作系統(tǒng),主要用來(lái)進(jìn)行系統(tǒng)初始化和安排RAID 7磁盤陣列的所有數(shù)據(jù)傳輸,并把它們轉(zhuǎn)換到相應(yīng)的物理存儲(chǔ)驅(qū)動(dòng)器上。通過(guò)自身系統(tǒng)中的陣列電腦板來(lái)設(shè)定和控制讀寫速度,存儲(chǔ)計(jì)算機(jī)操作系統(tǒng)可使主機(jī)I/O傳遞性能達(dá)到最佳。如果一個(gè)磁盤出現(xiàn)故障,還可自動(dòng)執(zhí)行恢復(fù)操作,并可管理備份磁盤的重建過(guò)程。
RAID 7突破了以往RAID標(biāo)準(zhǔn)的技術(shù)架構(gòu),采用了非同步訪問(wèn),極大地減輕了數(shù)據(jù)寫瓶頸,提高了I/O速度。所謂非同步訪問(wèn),即RAID 7的每個(gè)I/O界面都有一條專用的高速通道,作為數(shù)據(jù)或控制信息的流通路徑,因此可獨(dú)立地控制自身系統(tǒng)中每個(gè)磁盤的數(shù)據(jù)存取。如果RAID 7有N個(gè)磁盤,那么除去一個(gè)校驗(yàn)盤(用作冗余計(jì)算)外,可同時(shí)處理N-1個(gè)主機(jī)系統(tǒng)隨機(jī)發(fā)出的讀/寫指令,從而顯著地改善了I/O應(yīng)用。RAID 7系統(tǒng)內(nèi)置實(shí)時(shí)操作系統(tǒng)還可自動(dòng)對(duì)主機(jī)發(fā)送過(guò)來(lái)的讀/寫指令進(jìn)行優(yōu)化處理,以智能化方式將可能被讀取的數(shù)據(jù)預(yù)先讀入快速緩存中,從而大大減少了磁頭的轉(zhuǎn)動(dòng)次數(shù),提高了I/O速度。RAID 7可幫助用戶有效地管理日益龐大的數(shù)據(jù)存儲(chǔ)系統(tǒng),并使系統(tǒng)的運(yùn)行效率提高至少一倍以上,滿足了各類用戶的不同需求。