按照大的種類來分,有軟RAID(HostRAID)以及硬件RAID兩種。軟RAID沒有專門的IOP運(yùn)算芯片,一般是利用主機(jī)的CPU進(jìn)行“兼職”校驗(yàn),所以性能一般都比較低,而且附帶的軟件“虛擬”功能也比較少,應(yīng)該算是最簡單的RAID。軟RAID的表現(xiàn)形式又可分為兩種,一種是純粹的基于上層軟件的RAID,如Windows/Linux/Veritas Volume manager等中具備的RAID功能;另一種是接口芯片上板載的RAID,如Ultra320 SCSI、SAS接口芯片所具有的RAID功能。


    硬件RAID最大的特征是具有專門的用于IOP運(yùn)算的芯片,所以會有比較高的性能,而且一般也會附帶一些高級的“虛擬”功能。我們也可以把硬RAID分為兩種,一種被廣泛的應(yīng)用到外部磁盤陣列中;另一種是在服務(wù)器中的RAID,例如ROMB(RAID On Motherboard)、RAID卡等,這些產(chǎn)品使用Intel的IOP芯片或者具有RISC運(yùn)算的ROC(RAID on Chip)芯片。本文的重點(diǎn)在于介紹服務(wù)器中RAID技術(shù)的特性。


    一、 服務(wù)器中的RAID產(chǎn)品介紹


    服務(wù)器中的RAID技術(shù)被廣泛應(yīng)用是從RAID卡開始的,早期的RAID卡基于PCI總線(64bit/33MHz or 66MHz),提供Ultra160的SCSI通道。當(dāng)時(shí)提供類似產(chǎn)品的廠家有DPT、Mylex、AMI,但隨著時(shí)間的流逝,這些廠家已經(jīng)被全部并購。隨著新的總線、接口技術(shù)的出現(xiàn),之后的RAID卡開始支持PCI-X總線(64bit/66MHz, 64bit/100MHz,64bit/133MHz)、PCI-E總線(X1、X4、X8等等),也開始支持Ultra320 SCSI、SATA1、SAS、SATA2等接口。


    RAID卡最大的兩大功能是提供RAID運(yùn)算,以及提供數(shù)據(jù)通道,所以在一般的RAID卡上都會有兩個(gè)大的核心芯片,一個(gè)是基于Intel或IBM PowerPC的IOP芯片,另一個(gè)是提供SCSI/SATA/SAS的I/O控制器芯片。當(dāng)然,最新的ROC(RAID on Chip)技術(shù)已經(jīng)可以把這兩大功能集成到一個(gè)單芯片中,以降低成本,并有利于小尺寸設(shè)計(jì)。另外,還有一種特殊的被稱為ZCR(Zero Channel RAID)的卡,上面只有一個(gè)IOP芯片,它是通過和主板上板載的SCSI/SATA/SAS等接口控制器配合來實(shí)現(xiàn)兩大功能的。


    對于SCSI來說,屬于并行通道技術(shù),所以有零通道、單通道、雙通道甚至四通道的RAID卡,每個(gè)通道支持15個(gè)有效地址。對于SATA來說,屬于點(diǎn)對點(diǎn)串行通道技術(shù),所以有雙端口、四端口、八端口甚至更多端口的RAID卡。對于SAS來說,也屬于點(diǎn)對點(diǎn)串行技術(shù),并且引入了交換、虛擬端口等概念,一般有X4(即4個(gè)PHY組成的一個(gè)寬Port)、2X4(即有兩個(gè)寬Port)寬端口的RAID卡。


    RAID卡需要占用主機(jī)的PCI插槽,而且成本相對比較高,隨著計(jì)算機(jī)集成度越來越高,ROMB(Raid on Motherboard)技術(shù)出現(xiàn)了,這種技術(shù)把RAID卡的RAID校驗(yàn)運(yùn)算、數(shù)據(jù)通道兩大功能集成到主板上,從而進(jìn)一步降低了成本。


    上面提到的不管是RAID卡,還是ROMB,都屬于硬件RAID,只是硬件上的表現(xiàn)形式不一樣,而在軟件方面是統(tǒng)一的。RAID產(chǎn)品的軟件分為兩個(gè)部分,一個(gè)是底層的用于和主機(jī)啟動交互的BIOS以及功能軟體Firmware;另一個(gè)是上層的基于OS的管理軟件,一般都具有圖形化和命令行的管理軟件。舉個(gè)例子,Adaptec公司的SCSI、SATA、SAS RAID卡以及ROMB產(chǎn)品具有統(tǒng)一的Firmware版本,統(tǒng)一的RAID功能,而且可以通過統(tǒng)一的圖形化管理軟件進(jìn)行集中管理。


    二、 服務(wù)器中的RAID產(chǎn)品業(yè)界標(biāo)準(zhǔn)功能特性介紹


    上面提到了,服務(wù)器中的RAID產(chǎn)品軟件功能是統(tǒng)一的,而軟件功能又決定了產(chǎn)品的特性。目前已經(jīng)有很多廠家參與到RAID產(chǎn)品的市場中,而這些廠家的產(chǎn)品也具有一些業(yè)界“標(biāo)準(zhǔn)”的功能特性。下面逐一進(jìn)行簡單介紹。


   1. RAID0,1,10,5,50


    最初的RAID定義包括了RAID0到RAID5,但經(jīng)過客戶實(shí)際需求的洗禮,目前在服務(wù)器中使用的RAID級別一般都是RAID0、1、5,以及復(fù)合RAID 10、50。大家對這些標(biāo)準(zhǔn)的RAID級別應(yīng)該非常熟悉了,就不多介紹了。


    2. 在線RAID優(yōu)化調(diào)整


    現(xiàn)在的業(yè)務(wù)要求很少的宕機(jī)時(shí)間,所以標(biāo)準(zhǔn)的RAID卡也都具有了一些在線RAID調(diào)整功能,從而不需要重啟系統(tǒng)就可以完成某些任務(wù)。
    - 在線擴(kuò)容:例如在原來RAID5基礎(chǔ)上增加一個(gè)或者幾個(gè)盤的容量。
    - 在線RAID級別轉(zhuǎn)換: 根據(jù)客戶應(yīng)用的變化,進(jìn)行RAID級別的轉(zhuǎn)換,例如從RAID10到RAID5,從而實(shí)現(xiàn)可用容量、冗余度、安全性的調(diào)整。
    - 在線條帶大小調(diào)整:根據(jù)客戶應(yīng)用對性能要求的變化,對RAID的條帶大小(Stripe Size)進(jìn)行在線調(diào)整。


    3.可配置的熱備份盤(Hot Spares)


    熱備份技術(shù)用于對一些RAID級別進(jìn)行保護(hù),如RAID1/5等,當(dāng)RAID組中的一個(gè)磁盤損壞后,熱備份盤就會自動頂替損壞磁盤,在進(jìn)行Rebuild(重構(gòu))后,之前的RAID組又重新恢復(fù)完整性。


    熱備份盤可以配置成Global全局的,每個(gè)RAID中的損壞磁盤都可以頂替;也可以配置成Dedicated專職的,只對某個(gè)RAID中的損壞磁盤進(jìn)行頂替;還可以劃分Pool池,從而在多個(gè)熱備份盤的配置下可以有效管理。


    4. 熱插拔磁盤以及自動重構(gòu)


    上面提到,現(xiàn)在的業(yè)務(wù)要求更多的在線操作,所以能夠支持在線插拔磁盤是非常重要的。另外,在更換完磁盤后,能夠自動的進(jìn)行Rebuild(重構(gòu))也是非常關(guān)鍵的。


    5. 靈活的初始化(Initialization)方式


    根據(jù)客戶的需求,在做RAID的時(shí)候可以選擇多種靈活的初始化(Initialization)方式,如前臺Clear初始化,對所包含磁盤寫0,初始化之后RAID組才可見;后臺初始化,對所包含磁盤進(jìn)行奇偶校驗(yàn)運(yùn)算,邊初始化邊可用;立即生效初始化,只對磁盤的Metadata RAID信息區(qū)寫操作,對數(shù)據(jù)區(qū)不進(jìn)行任何操作。


    6. 多個(gè)物理磁盤上可以創(chuàng)建多個(gè)虛擬RAID


    之前的RAID成員都是以物理磁盤為單位的,比如3個(gè)36GB的磁盤做一個(gè)RAID5,這個(gè)RAID就包括了3塊磁盤的所有容量。但現(xiàn)在的RAID技術(shù)都添加了“虛擬”功能,在多個(gè)物理磁盤上可以創(chuàng)建多個(gè)RAID,例如3個(gè)72GB的磁盤,可以創(chuàng)建2個(gè)RAID5,每個(gè)RAID5都是3個(gè)36GB的磁盤空間組成的。


    三、 服務(wù)器中的RAID產(chǎn)品高級特性介紹


    隨著RAID技術(shù)的發(fā)展,目前市場上也出現(xiàn)了一些更高級的RAID技術(shù),例如一些新RAID級別、更高級的“虛擬”功能以及從外部存儲中引入的一些概念等。下面就對這些新的技術(shù)、概念分別進(jìn)行介紹。


    1. 更優(yōu)化的磁盤利用率


    隨著硬盤的技術(shù)的發(fā)展,單個(gè)硬盤的容量逐漸變大,但客戶的原有系統(tǒng)不可能隨著新的技術(shù)出現(xiàn)而淘汰,這樣就產(chǎn)生了老系統(tǒng)與新設(shè)備的融合問題。例如之前使用的RAID5是5塊36GB硬盤組成的,隨著業(yè)務(wù)的發(fā)展,RAID5需要在線擴(kuò)容,由于36GB的盤已經(jīng)停產(chǎn),客戶只能購買72GB的磁盤,那么對于每個(gè)擴(kuò)容上去的72GB磁盤,只能有效利用36GB的空間,從而浪費(fèi)掉了50%容量。


    新的更優(yōu)化的磁盤利用率功能,采用更為“虛擬”的技術(shù),可以有效地利用大容量硬盤剩下的空間。例如左圖所示,2個(gè)36GB的磁盤和2個(gè)72GB的磁盤可以做成一個(gè)Array1(4×36GB),那兩個(gè)72GB的剩余的2×36GB空間可以做成另外一個(gè)Array2,從而利用上了所有的硬盤空間。當(dāng)然,從性能上考慮,可以把Array1做成RAID5,用于大I/O要求的生產(chǎn)系統(tǒng)數(shù)據(jù)存??;把Array2做成RAID0,用于很少I/O要求的臨時(shí)數(shù)據(jù)存放。


    2. Copyback熱備份


    Copyback熱備份功能是一個(gè)非常簡單的概念,但卻是比較有用的一個(gè)功能。我們還是回顧一下傳統(tǒng)的RAID5+熱備份盤的情況吧,參照圖一,3個(gè)磁盤做成一個(gè)RAID5,另外有一個(gè)熱備份盤。當(dāng)Disk3磁盤壞掉之后,熱備份盤會自動頂替Disk3,再Rebuild之后恢復(fù)為完整的RAID5。之后拔下Disk3,換上新的盤,但其實(shí)熱備份盤已經(jīng)變成了”Disk3”,需要手工把新?lián)Q上的新盤設(shè)置為熱備份盤,從而熱備份盤的位置發(fā)生了改變。


    Copyback熱備份的功能在于自動“回拷”,見圖二,在新的Disk3插入之后,熱備份盤上的數(shù)據(jù)會自動拷貝到新的Disk3上,之后自動還原成熱備份盤,從而保證了熱備份盤的固定位置。對于系統(tǒng)管理員來說,總是希望把熱備份盤定義為固定槽位以便于管理,Copyback熱備份功能就可以幫助管理員實(shí)現(xiàn)這個(gè)愿望,無論多少次換盤,熱備份盤的位置永遠(yuǎn)是固定的。


    當(dāng)然,并不是所有的管理員都認(rèn)為越自動化越好。比如在Copyback功能激活后,插入新盤的情況下會自動“回拷”,由于性能會受到一定的影響,所以一般需要在系統(tǒng)I/O比較少的時(shí)候進(jìn)行。管理員可以根據(jù)自身的需要,“Enable”或者“Disable”此功能。


    3. RAID1E


    RAID1是指兩塊硬盤做Mirror,完全的鏡像,兩塊硬盤不進(jìn)行條帶化,而只是寫入同樣的數(shù)據(jù),RAID1技術(shù)只適應(yīng)于兩塊磁盤。能否在奇數(shù)數(shù)量盤上也實(shí)現(xiàn)鏡像?RAID1E可以實(shí)現(xiàn)這樣的功能,和RAID1不一樣,RAID1E是一種虛擬的鏡像,不是基于單個(gè)物理盤,而是基于盤上的條帶化數(shù)據(jù)。如下圖所示,在3塊磁盤的情況下,數(shù)據(jù)被條帶化為A,B,C,D……..,在第一個(gè)條帶組中分別寫入A,B,C,在第二個(gè)條帶組中寫入C,A,B,以此類推。這樣對于每個(gè)條帶化的數(shù)據(jù)A,B,C,D……,都會在不同的盤上存放兩份,實(shí)現(xiàn)了基于數(shù)據(jù)塊的鏡像。


    當(dāng)然,根據(jù)RAID1E的工作原理,在多個(gè)偶數(shù)盤上,比如4/6/8等也可以實(shí)現(xiàn)RAID1E,但一般不建議這么做,而是建議做RAID10,因?yàn)樵谶@些情況下,RAID10的容錯(cuò)概率要比RAID1E高。


    4. RAID5EE


    RAID5EE是一個(gè)比較實(shí)用的技術(shù)。讓我們回顧一下傳統(tǒng)的RAID5+HotSpare盤的情況,正常的I/O讀寫都是在RAID5上進(jìn)行的,只有在RAID5中的一塊磁盤損壞的情況下,HotSpare磁盤才進(jìn)行頂替,換句話說,如果RAID5中的磁盤都能正常工作的話,HotSpare磁盤是空閑、不需要轉(zhuǎn)動的,這是一種被動的熱備份方式,因?yàn)闊醾浞荽疟P的帶寬并沒有被有效利用。


    有沒有一種解決辦法呢?RAID5EE提供了一個(gè)完善的替代“RAID5+HotSpare”盤的解決辦法。如下圖所示,原來的一塊單獨(dú)HotSpare熱備份盤也進(jìn)行Stripe條帶化,并且平均分配到了5塊磁盤中。這樣,在RAID5EE讀寫的時(shí)候,5塊磁盤同時(shí)參與I/O,相比于4塊磁盤+HotSpare盤的情況,多了一個(gè)磁盤的讀寫帶寬,提高了性能。特別是在整體磁盤數(shù)量比較少,如4/5/6等的情況下,性能的提高尤為明顯。


    RAID5EE相比于RAID5性能提高,那對于可靠性和容量利用率有什么影響呢?對于RAID5EE來講,一塊硬盤損壞,就會自動重構(gòu)成一個(gè)RAID5,另外一個(gè)硬盤再損壞,就會變成Degraded狀態(tài)的RAID5,這和RAID5+HotSpare的容錯(cuò)能力是一樣的,也就是可靠性一樣;對于RAID5EE來講,損失的容量為2塊物理磁盤,而對于RAID5+HotSpare來講,損失的容量也為2塊物理磁盤,所以容量利用率也一致。


    值得注意的一點(diǎn),RAID5EE中包括的HotSpare盤是分布在每個(gè)磁盤中的,只能供RAID5EE本身來使用,不能做另外RAID5的熱備。也就是說,如果客戶有兩個(gè)或者更多個(gè)RAID5,一個(gè)HotSpare盤需要為所有RAID5服務(wù)的話,客戶不要使用RAID5EE,因?yàn)镽AID5EE只適用于替代一個(gè)RAID5+HotSpare盤的情況。


    5. RAID6


    RAID6是在RAID5的基礎(chǔ)上,可以允許2塊磁盤的同時(shí)損壞,屬于更高級的一種容錯(cuò)技術(shù)。目前各個(gè)廠家的產(chǎn)品都相繼推出了RAID6,但使用的RAID6不盡相同,如采用Intel P+Q編碼、RAID-DP編碼、PARK編碼等等。


    由于RAID6能夠支持2塊磁盤的同時(shí)損壞,所以更適合應(yīng)用于MTBF相對低的SATA磁盤。但由于RAID6的算法相對比較復(fù)雜,所以寫性能,特別是在損壞一塊盤、兩塊盤情況下的性能會比較差,客戶需要根據(jù)自己的實(shí)際應(yīng)用綜合評定選擇,千萬不能揀了芝麻而丟了西瓜。


    下圖就是一種形式的RAID6。大家可以看到,對于數(shù)據(jù)區(qū)從0到11來說,都有兩個(gè)不同的校驗(yàn)區(qū),如1,有綠色P和黃色P兩個(gè)校驗(yàn)區(qū)。這樣,無論同時(shí)損壞哪兩塊硬盤,都可以從另外的硬盤中恢復(fù)出所有的數(shù)據(jù)。


    6. Snapshot快照


    提起Snapshot快照,很多人都會以為我在談外部存儲。的確,對于外部存儲來講,Snapshot已經(jīng)成為了一個(gè)標(biāo)準(zhǔn)的功能,無論對于高端磁盤陣列,還是中低端磁盤陣列,一般都具有這種功能。但是隨著服務(wù)器內(nèi)部RAID技術(shù)的發(fā)展,有的廠家,比如Adaptec,也把Snapshot快照功能融入進(jìn)來。


    Snapshot的核心在于對邏輯卷進(jìn)行指定時(shí)間點(diǎn)的快照,從而生成一個(gè)虛擬的快照卷,從而進(jìn)行數(shù)據(jù)備份、克隆等等。對于Adaptec的Snapshot而言,有兩種實(shí)現(xiàn)方式。


    一是Snapshot Backup。在這種模式下,會把源邏輯盤上指定時(shí)間點(diǎn)的數(shù)據(jù)完全復(fù)制到目標(biāo)快照卷中,從而客戶可以對Snapshot快照卷進(jìn)行操作,也可以實(shí)現(xiàn)復(fù)制多個(gè)一樣的系統(tǒng)。需要指出的是,和普通的Copy不同,Snapshot是指定時(shí)間點(diǎn)的拷貝,所以Snapshot卷上的數(shù)據(jù)在指定時(shí)間點(diǎn)上是一致性的,可以適用于數(shù)據(jù)庫等應(yīng)用環(huán)境。


    另外一種是Snapshot Nobackup。這種模式更類似外部存儲中使用的Snapshot技術(shù)。它對于源邏輯卷創(chuàng)建指定時(shí)間點(diǎn)的臨時(shí)“Copy”,生成了Snapshot卷,從而用于磁帶備份或者數(shù)據(jù)參考。這種模式并不拷貝所有的數(shù)據(jù),而僅僅是采用Copy-on-Write的機(jī)制拷貝寫入的即將變化的數(shù)據(jù),所以相對于第一種方式而言,需要更少的I/O,對系統(tǒng)的性能影響也比較小。客戶可以根據(jù)自身的需求來選擇相應(yīng)的Snapshot方式。


    總結(jié)


    以上是目前服務(wù)器中的RAID特性介紹,大家可以明顯的感覺到服務(wù)器中的RAID產(chǎn)品軟件功能越來越多樣化。其實(shí),這都是底層的Firmware中具有的功能,對于上層的圖形化GUI管理軟件而言,功能也越來越復(fù)雜,但管理上卻越來越簡單化。另外,一些外部存儲中具有的高級功能正慢慢轉(zhuǎn)移到了服務(wù)器中,為以后外部存儲和內(nèi)部存儲的無縫結(jié)合提供了基礎(chǔ)。
  (本文作者現(xiàn)就職于Adaptec公司)
  
  

分享到

多易

相關(guān)推薦