必威电竞|足球世界杯竞猜平台

磁盤陣列
來源:互聯(lián)網(wǎng)

磁盤陣列,全稱為獨立磁盤冗余陣列(英文全稱:Redundant Arrays of Independent Disks,簡稱:RAID)。主要應用領域在于:企業(yè)級存儲,數(shù)據(jù)中心,大規(guī)模數(shù)據(jù)庫,大數(shù)據(jù)分析等方面。

RAID是加利福尼亞州伯克利一組研究人員(由David Patterson教授和Randy Katz教授以及后來的學生Garth Gibson)在1988年提出的。這項技術指的是利用虛擬化存儲技術把多個HDD組合起來,成為一個或多個硬盤陣列組,從而提供比單個磁盤更高的存儲性能和數(shù)據(jù)冗余高可靠性的存儲技術。

磁盤陣列是由獨立磁盤組成的具有冗余特性的陣列,是由很多價格相對較便宜的磁盤,共同組合成一個容量巨大的磁盤組,利用個別磁盤提供數(shù)據(jù)所產(chǎn)生的加成效果提升整個磁盤系統(tǒng)的效能。利用這項技術,可以將數(shù)據(jù)切割成許多區(qū)段,分別存放在各個硬盤上。

磁盤陣列具備兩個基本特性,一是由大量的磁盤按照特定方式組成:二是具備冗余特性,允許某塊磁盤損壞之后,數(shù)據(jù)仍然可用。磁盤陣列按照物理類型可以分為2大類:硬(件)RAID 、軟(件)RAID。磁盤陣列其樣式有三種,外接式磁盤陣列柜,內(nèi)接式磁盤陣列卡和利用軟件來仿真。 RAID主要利用數(shù)據(jù)條帶、鏡像和數(shù)據(jù)校驗技術來獲取高性能、可靠性、故障容許度能力和擴展性。標準RAID模式(Standard RAID levels)包括:RAID 0、1、2、3、4、5、6。

發(fā)展歷程

前身——算力增長與存儲需求

存儲系統(tǒng)是整個IT系統(tǒng)的基石,是T技術賴以存在和發(fā)揮效能的基礎平臺。隨著計算機技術的發(fā)展,CPU的處理速度成幾何級數(shù)躍升,內(nèi)存的存取速度亦大幅增加,而磁盤的存取速度相比之下則顯得甚為緩慢。整個I/O吞吐量不能和系統(tǒng)性能匹配,形成計算機整個系統(tǒng)的瓶頸,降低了計算機的整體性能。為了改進磁盤的存取速度,大型服務器的磁盤多采用磁盤陣列技術(Redundant Array of Independent Disks,RAID)。

單塊磁盤的容量始終有限,目前主流的單塊磁盤的容量為1TB-10TB,最高的可以達到6TB,如希捷希捷 ST6000NM00246TB企業(yè)級硬盤等,單塊的硬盤無論從速度還是從容量上都可以基本滿足面向個人電腦的普通應用。但是,在某些特殊應用場合,如區(qū)域級視頻監(jiān)控、企業(yè)級數(shù)據(jù)備份、云計算海量數(shù)據(jù)存儲等應用場合,單塊硬盤甚至少量的幾塊硬盤顯然無法滿足需求,對這些應用來說,所需要的存儲空間可能會達到PB(1 PB=2^10TB)級,更高的甚至能達到EB(1 EB=2^10PB)級規(guī)模,大型數(shù)據(jù)存儲供應商和數(shù)據(jù)中心的數(shù)據(jù)規(guī)模甚至能夠接近ZB(1 ZB=2^10EB)級。針對如此高容量、高可靠性和復雜存儲體系的數(shù)據(jù)空間,其存儲通常采用的是磁盤陣列技術。

提出與起源——RAID 技術的提出

1988年,加利福尼亞大學伯克利分校的一組研究人員(由David Patterson教授和Randy Katz 教授以及后來的學生 Garth Gibson )領導引入RAID這個詞匯,即廉價冗余磁盤陣列( Redundant Array of Inexpensive Disks ),同時定義了RAID的5層級。在當時,該研究小組的主要研究目的是效能與成本。最初是為了組合小的廉價磁盤來代替大的昂貴磁盤,同時希望磁盤失效時不會使對數(shù)據(jù)的訪問受損失而開發(fā)出一定水平的數(shù)據(jù)保護技術。該時期許多不同的研究人員同時提出 了使用多個磁盤來構(gòu)建更好的存儲系統(tǒng)的基本思想。

導致RAID的開創(chuàng)性工作包括Tandem Computers在其不間斷架構(gòu)中的磁盤鏡像存儲,以及DEC在其HSC8和HSC 1系統(tǒng)中在50年代初期的子系統(tǒng)鏡像RA70X磁盤驅(qū)動器(現(xiàn)在稱為RAID Level 1980)。 Thinking Machines的數(shù)據(jù)Vault在磁盤驅(qū)動器陣列中使用了糾錯碼(RAID 2)。IBM 353 驅(qū)動器在 1960 年代初期使用了類似的方法。IBM工程師Norman Ken Ouchi(1977)和Brian Clark等人的專利申請(1988)披露了后續(xù)版本的RAID中使用的技術。早期的獨立RAID供應商包括Adaptec和Array Technology,它們成立于1987年,先后被希捷,Tandem和Dell EMC收購。

從1990年到1993年,在DARPA和美國航空航天局的支持下,David Patterson教授和Randy Katz 教授構(gòu)建了一個192個磁盤的RAID原型,配置為支持網(wǎng)絡連接以支持高性能計算。該原型現(xiàn)在位于加利福尼亞州計算機歷史博物館(其前身的第一個原型,仍位于伯克利)。為了克服與RAID相關的寫入開銷,我們利用了John Ousterhout和Mendel Rosenblum的寫入優(yōu)化日志結(jié)構(gòu)化文件系統(tǒng)的實現(xiàn)。威睿 的創(chuàng)始人之一Mendel憑借這項工作贏得了1992年ACM論文獎。

確立與發(fā)展——RAID等級的分類

David Patterson教授和Randy Katz 教授為 RAID 分類法引入了一種編號方案,用于區(qū)分如何引入冗余以及如何在陣列中的驅(qū)動器之間傳播數(shù)據(jù)。

RAID 0 不引入冗余,而是通過獲取連續(xù)的存儲塊并將其在底層物理驅(qū)動器上一一分配,將邏輯數(shù)據(jù)分布在多個磁盤上。 RAID 1 是鏡像存儲,為每個數(shù)據(jù)塊創(chuàng)建一個副本并將其放置在第二個驅(qū)動器上,鏡像主副本。

RAID 2 將陣列中的磁盤視為內(nèi)存芯片,在驅(qū)動器上按位并行隔行掃描數(shù)據(jù),并使用傳統(tǒng)的漢明碼在其中一個磁盤發(fā)生故障時糾正任何故障。

RAID 3 將冗余開銷減少到每個位位置一個位,這是基于這樣的認識:如果故障磁盤的位置很容易確定,奇偶校驗就足以糾正數(shù)據(jù)丟失,這是因為磁盤通過高速CPU緩存與系統(tǒng)的其余部分進行通信。級別協(xié)議。

RAID 4 擴展了這一想法,不是在位級別上進行交錯,而是以較大的塊為單位進行交錯。盡管在 RAID 3 中陣列中的所有磁盤必須一起讀取或?qū)懭耄?RAID 4 中它們可以獨立訪問。寫入時需要特別小心,通過補充新舊數(shù)據(jù)塊之間已更改的位來更新奇偶校驗。由于所有奇偶校驗冗余都在一個磁盤上,因此它成為寫入時的性能瓶頸。

RAID 5 通過隔行掃描奇偶校驗塊和數(shù)據(jù)擴展了這一想法,最多可將支持的寫入數(shù)量增加一倍。

20世紀以后,磁盤成本和價格的不斷降低,RAID 可以使用大部分的磁盤, “ 廉價 ” 已經(jīng)毫無意義。因此, RAID咨詢委員會( RAID Advisory Board, RAB )決定用 “ 獨立 ” 替代 “ 廉價 ” ,于是RAID 變成了獨立磁盤冗余陣列( Redundant Array of Independent Disks )。

許多標準方案,稱為級別,每個方案都有許多變化,已經(jīng)發(fā)展起來。RAID 級別及其關聯(lián)的數(shù)據(jù)格式由存儲網(wǎng)絡行業(yè)協(xié)會 (SNIA) 在通用 RAID 磁盤驅(qū)動器格式 (DDF) 標準中標準化。

當下境況——RAID在海量數(shù)據(jù)時代

2002年RAID市場規(guī)模為每年250億美元,自1990年以來RAID存儲設備的銷售量超過1500億美元。高峰時期有超過200家RAID公司。美國國家科學院將 RAID 納入由聯(lián)邦政府資助的大學研究創(chuàng)建的技術中,這些技術已催生了數(shù)十億美元的產(chǎn)業(yè)(也稱為“輪胎軌跡圖”)。

磁盤陣列能利用同位檢查(Parity Check)的概念,在磁盤中任意一個HDD故障時,仍可讀出數(shù)據(jù),在數(shù)據(jù)重構(gòu)時,將數(shù)據(jù)經(jīng)計算后重新置入新硬盤中。面向連續(xù)數(shù)據(jù)存儲系統(tǒng)的海量數(shù)據(jù)通常采用磁盤陣列進行數(shù)據(jù)存儲,因此,針對連續(xù)數(shù)據(jù)存儲系統(tǒng)的節(jié)能研究就必須充分考慮磁盤陣列的不同組成結(jié)構(gòu)的各自特點,有針對性地進行性能優(yōu)化,達到性能和能耗的完美統(tǒng)一。如今,大多數(shù)基于服務器和網(wǎng)絡的存儲都基于 RAID,許多 PC 用戶在自己的機器上使用硬件或軟件 RAID 系統(tǒng),軟件實現(xiàn)的 RAID 已成為現(xiàn)代操作系統(tǒng)的標準組件。

RAID分類

按磁盤構(gòu)建技術分類

RAID技術有兩種,一種為硬件RAID,一種為軟件RAID。

硬件RAID:硬件RAD基于硬件設備,系統(tǒng)獨立于主機之外來管理RAD子系統(tǒng),并且它在主機處只用一個磁盤來代表每一組RAID陣列,連接到SCSI控制器,把RAID陣列表示為單個SCSI驅(qū)動器的設備就是一個硬件RAD。一個外部的RAID系統(tǒng)把所有RAID處理都轉(zhuǎn)移到位于內(nèi)部磁盤子系統(tǒng)中的控制器中,整個子系統(tǒng)都是通過一個普通的SCSI控制器連接到主機上,對主機而言,它就像一個單一的磁盤。RAID控制器還以卡的形式出現(xiàn)。它充當操作系統(tǒng)的SCSI控制器,但卻控制所有驅(qū)動器本身的實際通信。用戶把驅(qū)動器插入到RAID控制器中,就如同SCSI控制器一般。

軟件RAID:軟件RAD在內(nèi)核磁盤編碼中實現(xiàn)各類RAD級別,因此它不需要昂貴的磁盤控制器卡或熱交換底盤,軟件RAD提供了最廉價的解決方法。它可以應用在DE磁盤和SCSI磁盤上。基于軟件陣列的性能獨立于服務器CPU的性能和載量之外。軟件RAD具有這些重要的特性:

(1)使用線程的重建進程。

(2)基于內(nèi)核的配置。

(3)不必重建,可在Liux機器間移植陣列。

(4)使用空閑的系統(tǒng)資源在后臺重建陣列。

(5)支持可熱交換的驅(qū)動器。

只(6)對CPU自動檢測以便利用某些CPU優(yōu)化功能。

按磁盤陣列存儲體系分類

磁盤陣列按存儲體系架構(gòu)可分為DAS(Direct Attached Storage,直連式存儲)、NAS(Network Attached Storage,網(wǎng)絡附加存儲)和SAN(Storage Area Network,存儲區(qū)域網(wǎng)絡)三種架構(gòu)。

DAS直連式存儲:DAS是指直接和計算機相連接的數(shù)據(jù)儲存方式,像固態(tài)硬盤機械硬盤、光盤驅(qū)動器與計算機直接相連的設備都屬于直連式存儲設備。直連式存儲的名稱是后來為了區(qū)別于存儲區(qū)域網(wǎng)絡(SAN)和網(wǎng)絡附加存儲(NAS)而添加的,與通過計算機網(wǎng)絡連接的其他存儲技術相對。

DAS存儲方式的服務器結(jié)構(gòu)如同個人計算機的架構(gòu),外部數(shù)據(jù)存儲設備(如磁盤陣列、光盤機、磁帶機等)都直接掛接在服務器內(nèi)部總線上,數(shù)據(jù)存儲設備是整個服務器結(jié)構(gòu)的一部分,同樣服務器也擔負著整個網(wǎng)絡的數(shù)據(jù)存儲職責。DAS這種直連方式,能夠解決單臺服務器的存儲空間擴展、高性能傳輸需求。對于單臺服務器,使用直連式存儲連接簡單、易于配置和管理、費用較低,但這種這種連接方式下,因每臺服務器單獨擁有自己的存儲磁盤,所以不利于存儲容量的充分利用和服務器間的數(shù)據(jù)共享,而且存儲系統(tǒng)沒有集中統(tǒng)一的管理方案,也不利于數(shù)據(jù)維護。

NAS直連式存儲:NAS是直接連接在計算機網(wǎng)絡上面,通過網(wǎng)絡為用戶提供了集中式數(shù)據(jù)訪問服務的存儲方式,可為用戶提供跨平臺文件共享服務。NAS系統(tǒng)與傳統(tǒng)的文件存儲服務和DAS不同的地方在于,NAS設備上面的操作系統(tǒng)和軟件提供了數(shù)據(jù)存儲、數(shù)據(jù)訪問以及相關的管理功能,并使得NAS設備連上網(wǎng)絡即可進行遠程訪問。NAS系統(tǒng)通常有一個以上的HDD,而且和傳統(tǒng)的文件服務器一樣,通常會把它們組成RAID來提供服務,利用集中化的網(wǎng)絡文件訪問機制和共享來達到減少系統(tǒng)管理成本、提高數(shù)據(jù)備份和恢復功能的目的。

SAN(與IP-SAN)存儲區(qū)域網(wǎng)格:SAN是通過光纖交換機(Fibre Channel,簡稱FC)連接存儲陣列和服務器主機,建立專用于數(shù)據(jù)存儲的區(qū)域網(wǎng)絡架構(gòu),采用光纖通道技術、磁盤陣列、盒式錄音磁帶柜、光盤柜等各種技術組成專用的存儲網(wǎng)絡。與NAS存儲相比較,服務器和存儲系統(tǒng)通過FC交換機相連,各存儲設備之間交換數(shù)據(jù)時可以不通過服務器所在以太網(wǎng)絡,文件數(shù)據(jù)的復制、備份、恢復數(shù)據(jù)和安全的管理都在存儲網(wǎng)絡中進行,能有效減少巨大流量數(shù)據(jù)傳輸時發(fā)生的阻塞和沖突,同時數(shù)據(jù)不在服務器所在以太網(wǎng)內(nèi)傳輸一定程度上保證了數(shù)據(jù)的安全性,較大程度減輕服務器承受的壓力,F(xiàn)C交換機可以連接多臺服務器,與DAS存儲相比具有很強的靈活性。

經(jīng)過多年的發(fā)展,SAN存儲架構(gòu)(見圖)已經(jīng)相當成熟,唯一的缺點是光纖交換機和光纖以太網(wǎng)控制器較為昂貴,另外也可以使用IP-SAN存儲架構(gòu),IP-SAN架構(gòu)和SAN架構(gòu)類似,用以太網(wǎng)交換機及服務器上的以太網(wǎng)卡代替了SAN存儲網(wǎng)絡中的光纖交換機和光纖網(wǎng)卡,而且也可以共用現(xiàn)有的以太網(wǎng)交換機的空余端口,劃分一個獨立的VLAN來組件IP-SAN存儲網(wǎng)絡,現(xiàn)在的服務器一般都自帶多個以太網(wǎng)卡,這樣就大大降低了IP-SAN存儲磁盤陣列的成本。

按磁盤陣列樣式分類

磁盤陣列其樣式有三種,一是外接式磁盤陣列柜,二是內(nèi)接式磁盤陣列卡,三是利用軟件來仿真

外接式磁盤陣列柜(硬件RAID):一般有拔碼開關,可以通過拔碼設置不同的陣列模式,如麥沃K35274D。常被使用大型服務器上,具可熱交換(Hot Swap)的特性,產(chǎn)品價格昂貴。

內(nèi)接式磁盤陣列卡:這種組建方式是通過HDD柜+陣列卡組合來實現(xiàn),這種方式需要專用RAID控制卡接在電腦主機上,通過陣列上的接口連接硬盤柜。價格便宜,但需要較高的安裝技術,適合技術人員使用操作。硬件陣列能夠提供在線擴容、動態(tài)修改陣列級別、自動FinalData、驅(qū)動器漫游、超高速緩沖等功能。它能提供性能、數(shù)據(jù)保護、可靠性、可用性和可管理性的解決方案。RAID控制卡專用的處理單元來進行操作。RAID控制卡有四種,第一種是 IDE陣列卡 ,第二種是 SATA陣列卡,第三種是 SCSI陣列卡 ,第四種是 SAS陣列卡。

利用軟件仿真的方式劃分:是指通過網(wǎng)絡操作系統(tǒng)自身提供的磁盤管理功能將連接的普通SCSI卡上的多塊HDD配置成邏輯盤,組成陣列。軟件陣列可以提供數(shù)據(jù)冗余功能,但是磁盤子系統(tǒng)的性能會有所降低,有的降低幅度還比較大,達30%左右。因此會拖累機器的速度,不適合大數(shù)據(jù)流量的服務器。這種方式通過操作系統(tǒng)上的磁盤管理軟件來組建陣列, 特點是:硬盤成本低,操作簡單。 缺點是:能組建的RAID級別有限。需要CPU來執(zhí)行RAID計算,消耗系統(tǒng)資源。與操作系統(tǒng)綁定,更換系統(tǒng)時,需要兼容性驗證,使用環(huán)境不夠靈活。

按磁盤陣列組建方式劃分

RAID陣列從組建方式上大致分為兩大類:一類是固態(tài)盤內(nèi)閃存芯片之間的RAID 4,,另一類是HDD之間的RAID。

硬盤之間的RAID又包含三大類:全機械盤陣列、混合陣列(機械盤+固態(tài)盤)、全固態(tài)盤陣列。磁盤陣列是通用型存儲的主要形態(tài),從圖可以看出,其發(fā)展經(jīng)過了直連式存儲、雙控磁盤陣列、多控磁盤陣列、橫向擴展的多控磁盤陣列,同時根據(jù)不同業(yè)務性能要求,采用不同的存儲介質(zhì),又逐漸細分出混合陣列和全固態(tài)盤陣列。隨著固態(tài)硬盤技術的不斷發(fā)展,性能和容量得到了極大的提升,使得全固態(tài)盤陣列逐步替代全機械盤陣列成為可能。

應用領域

磁盤陣列是一種通過將多個磁盤驅(qū)動器組合在一起來提供高性能、高可用性可擴展性存儲解決方案的技術。它可以適用于多種應用領域,主要包括以下幾個方面:

企業(yè)級存儲:磁盤陣列在企業(yè)級存儲中扮演重要角色,它能夠提供大容量、高可靠性和高性能的數(shù)據(jù)存儲。通過多個磁盤驅(qū)動器的并行讀寫操作,磁盤陣列可以實現(xiàn)較高的數(shù)據(jù)傳輸速率和更好的響應時間,滿足企業(yè)對于數(shù)據(jù)存儲的需求。

數(shù)據(jù)中心:數(shù)據(jù)中心需要處理大量的數(shù)據(jù),并保證數(shù)據(jù)的可靠性和可用性磁盤陣列能夠提供冗余存儲和快速故障恢復的功能,以應對磁盤故障或數(shù)據(jù)損壞的情況。同時,磁盤陣列還支持擴展性,可以根據(jù)數(shù)據(jù)中心的增長需求進行靈活的容量擴展。

大規(guī)模數(shù)據(jù)庫:磁盤陣列在大規(guī)模數(shù)據(jù)庫中起到關鍵作用。它可以通過數(shù)據(jù)分布和并行操作來提高數(shù)據(jù)庫的性能和吞吐量。同時,磁盤陣列還支持數(shù)據(jù)備份和恢復,保障數(shù)據(jù)庫的可靠性和數(shù)據(jù)安全

多媒體處理:在多媒體領域,如視頻編輯、影音制作等,需要處理大量的高清視頻和音頻數(shù)據(jù)。磁盤陣列能夠提供高速的數(shù)據(jù)傳輸和存儲能力,滿足對于流暢播放和實時編輯的需求。

大數(shù)據(jù)分析:磁盤陣列可以為大數(shù)據(jù)分析提供高效的存儲解決方案。通過使用多個磁盤驅(qū)動器進行并行讀寫操作,磁盤陣列可以加快數(shù)據(jù)的訪問和計算速度,提高大數(shù)據(jù)分析的效率和準確性。

個人電腦:普通用戶也可以在自己的電腦上組件磁盤陣列,利用虛擬化儲存技術把多個HDD組合起來,成為一個或多個硬盤數(shù)組組,目的為提升效能或數(shù)據(jù)故障容許度功能。

工作模式

磁盤陣列作為獨立系統(tǒng)在主機外直連或通過網(wǎng)絡與主機相連。主機與磁盤陣列的CPU緩存交互,緩存與具體的磁盤交互數(shù)據(jù)。

磁盤陣列根據(jù)內(nèi)部的算法,查找出一些經(jīng)常讀取的數(shù)據(jù),存儲在緩存中,加快主機讀取這些數(shù)據(jù)的速度,而對于其他緩存中沒有的數(shù)據(jù),主機要讀取,則由陣列從磁盤上直接讀取傳輸給主機。對于主機寫入的數(shù)據(jù),只寫在緩存中,主機可以立即完成寫操作。然后由緩存再慢慢寫入磁盤。磁盤陣列還能利用同位檢查(Parity Check)的觀念,當數(shù)組中任意一個HDD發(fā)生故障時,仍可讀出數(shù)據(jù)。在數(shù)據(jù)重構(gòu)時,可將數(shù)據(jù)經(jīng)計算后重新置入新硬盤中。

標準 RAID模式(Standard RAID levels)包括:RAID 0、1、2、3、4、5、6。不同級別的RAID有著不同基本特征。

RAID 0(無故障容許度設計的條帶磁盤陣列):特點是可靠性最差,速度最快。在Linuxunix中,RAID 0被稱為條帶化,在Windows中,RAID 0被稱為帶區(qū)卷。RAID 0技術將多塊磁盤組合在一起,磁盤少則兩塊,多則幾十塊,生產(chǎn)環(huán)境中一般使用2~3塊。RAID 0在每塊磁盤上占用相同大小的空間,總?cè)萘渴嵌鄩K磁盤所占空間的總和。如兩塊磁盤組成RAID 0,每塊占用10G空間,則RAIDO占用空間總大小為20G。RAID 0是要求最高速度和最大容量的用戶的理想選擇。要處理超大型文件的視頻編輯人員可以使用 RAID 0 來編輯視頻的多個流,以達到最佳播放效果。RAID 0 陣列更適于在頻繁的文件處理(例如視頻編輯)中使用,不宜用作唯一的存儲備份解決方案,也不宜在關鍵任務系統(tǒng)中使用。

RAID 1(鏡像磁盤陣列):在Linux或Unix中,RAID 1被稱為鏡像分區(qū),在Windows中,RAID 1被稱為鏡像卷。RAID 1也使用多塊磁盤組成,且每塊磁盤占用相同大小的空間。多塊磁盤之間互為鏡像關系,即備份。一般RAID 1會使用2~3塊磁盤,文件存入一塊磁盤時,其他磁盤也將文件全部再存一份,即所有操作都會在每塊磁盤上完整操作一次。如兩塊磁盤組成的RAID 1會把文件存儲兩份,三塊磁盤組成的RAID 1會把文件存儲三份。在一個磁盤出現(xiàn)故障時,RAID 1可提供最高的數(shù)據(jù)安全性,在更注重安全性而非速度的情況下,RAID 1是理想選擇。缺點是沒有備份盤,空間浪費嚴重。

RAID 2(海明碼校驗):RAID 0可以并發(fā)的讀寫數(shù)據(jù),所以所有RAID技術中性能最好,但是RAID 0沒有數(shù)據(jù)校驗因此可靠性最低。RAID 2是對RAID 0的改進版,RAID 2對條帶內(nèi)的數(shù)據(jù)以漢明碼的方式進行校驗,校驗碼放在多個單獨的磁盤中。

RAID 3(簡單校驗):同RAID 2非常類似,RAID 3也是將數(shù)據(jù)條塊化分布于不同的磁盤上,兩者的區(qū)別在于RAID 3使用簡單的奇偶校驗,并用單塊磁盤存放奇偶校驗信息。若一塊磁盤失效,奇偶盤和其他數(shù)據(jù)盤可以重新產(chǎn)生數(shù)據(jù);若奇偶盤失效,則不影響數(shù)據(jù)使用。由于數(shù)據(jù)內(nèi)的比特分散在不同的磁盤上,因此就算要讀取少量數(shù)據(jù)都可能需要所有磁盤進行工作,所以這種技術比較適合在讀取大量連續(xù)數(shù)據(jù)時使用,對于隨機數(shù)據(jù)來說,奇偶盤會成為寫操作的瓶頸。RAID 3在要讀取連續(xù)的長文件(如視頻文件)的環(huán)境中可提供良好的數(shù)據(jù)安全性。由于數(shù)據(jù)是從奇偶校驗塊中讀取,因此磁盤故障不會導致服務中斷。RAID 3適用于那些追求性能并要求持續(xù)訪問數(shù)據(jù)的用戶(如視頻編輯人員)。

RAID 4(以塊為單位校驗):RAID 4同樣也將數(shù)據(jù)條塊化分布于不同的磁盤上,但與RAID 3不同的是,RAID 4的分區(qū)單位是塊或記錄,這點區(qū)別于RAID 3的字節(jié)可成比特。RAID 4同樣使用一塊磁盤作為奇偶校驗盤,每次寫操作都需要訪問奇偶盤,這時奇偶校驗盤會成為寫操作的瓶頸,所以RAID 4也很少應用于商業(yè)環(huán)境中。

RAID 5(隨機位置存儲校驗位):RAID 5是一種儲存性能、數(shù)據(jù)安全和存儲成本兼顧的存儲解決方案。它使用的是Disk Striping(磁盤分區(qū))技術。RAID 5至少需要3個磁盤,RAID 5與RAID 4類似,也是將數(shù)據(jù)計算奇偶校驗位儲存,但不同于RAID 4的是,RAID5把數(shù)據(jù)和相對應的奇偶校驗信息存儲到隨機磁盤上,而不是指定的磁盤,并且奇偶校驗信息和相對應的數(shù)據(jù)分別存儲于不同的磁盤上。RAID 5可以說是RAID 0和RAID 1的折中方案。RAID 5的保障程度要比RAID1低,但由于多個數(shù)據(jù)對應一個奇偶校驗信息,因此磁盤空間利用率要比RAID 1高;RAID 5具有和RAID 0相近似的數(shù)據(jù)讀取速度,但因為多了一個奇偶校驗信息,寫入數(shù)據(jù)會很慢。

RAID 6(兩個獨立奇偶校驗系統(tǒng))與RAID 5相比,RAID 6增加了第二個獨立的奇偶校驗信息塊。兩個獨立的奇偶系統(tǒng)使用不同的算法,因此數(shù)據(jù)的可靠性非常高,即使兩塊磁盤同時失效也不會影響數(shù)據(jù)的使用。不過兩個獨立奇偶校驗所帶來的不僅是需要更大的磁盤空間,而且在進行寫操作時需要耗費更多的時間去計算校驗位,所以RAID 6的寫速度比RAID 5更差。較差的性能和復雜的操作方式使得RAID6很少得到實際應用。換而言之,在驅(qū)動器出現(xiàn)故障時,RAID 6 能進行有效的重建,確保了數(shù)據(jù)的可靠性。為此,安全性要求較高,而性能要求不高的用戶可以選擇 RAID 6。

架構(gòu)與布局

RAID 0布局

RAID 0提高存儲性能的基本原理是把連續(xù)的數(shù)據(jù)分散到多個磁盤上進行存取。系統(tǒng)有數(shù)據(jù)請求時,就可以被多個磁盤并行執(zhí)行。數(shù)據(jù)上的并行操作充分利用了總線帶寬,可以顯著提高磁盤整體存取性能。

典型的RAID 0的結(jié)構(gòu)如圖所示。

圖中的5個圓柱體,分別表示5個磁盤。在這些磁盤的相同偏移處橫向進行邏輯分割,形成條帶(Stripe)。一個Stripe所橫跨過的扇區(qū)或塊的個數(shù)或字節(jié)容量稱為條帶長度(Stripe Length)。而每一個Stripe所占用的單塊磁盤上的區(qū)域,稱為一個段或節(jié)(線段)。一個Segment中所包含的數(shù)據(jù) Block或者扇區(qū)的個數(shù)或者字節(jié)容量,稱為條帶深度(Stripe Depth),

Data Block可以是N倍扇區(qū)大小的容量。

RAID 0工作時,系統(tǒng)向5個磁盤組成的邏輯HDD發(fā)出的I/O數(shù)據(jù)請求被轉(zhuǎn)化為5項操作,其中的每一項操作都對應一塊物理硬盤。通過建立RAID 0,原先順序的數(shù)據(jù)請求被分散到所有的5塊硬盤中同時執(zhí)行。理論上,5塊硬盤的并行操作使同一時間內(nèi)磁盤讀寫速度提升了5倍。RAID 0的缺點是不提供數(shù)據(jù)冗余,因此一旦用戶數(shù)據(jù)損壞,損壞的數(shù)據(jù)將無法得到恢復。RAID 0所具有的特點,使其適用于對性能要求較高,而不需關注數(shù)據(jù)安全的領域,如圖形工作站等。對于個人用戶,RAID 0也是提高HDD存儲性能的較好選擇。

RAID 1布局

RAID 1通過磁盤數(shù)據(jù)鏡像實現(xiàn)數(shù)據(jù)冗余,在成對的獨立磁盤上產(chǎn)生互為各份的數(shù)據(jù)。當原始數(shù)據(jù)繁忙時,可直接從鏡像中讀取數(shù)據(jù),當一個磁盤失效時,系統(tǒng)可以自動切換到鏡像磁盤上讀寫,而不需要重組失效的數(shù)據(jù)。因此RAID 1可以提高讀取性能。RAID 1是磁盤陣列中單位成本最高的,但提供了較高的數(shù)據(jù)安全性和可用性,以高成本換取了高性能和高可靠性。

RAID 1將N×2塊HDD構(gòu)成RAID磁盤陣列,但其容量僅等于N塊硬盤的容量,因為另外N塊磁盤只是當作數(shù)據(jù)“鏡像”。RAID 1破盤陣列是一種可靠的陣列,因為其總是保持一份完整的數(shù)據(jù)備份。RAID 1性能自然沒有RAID 0磁盤陣列那樣好,但其數(shù)據(jù)讀取確實較單一硬盤快,因為數(shù)據(jù)會從兩塊硬盤中較快的一塊中讀出。RAID 1磁盤陣列的寫入速度通常較慢,因為數(shù)據(jù)要分別寫入兩塊硬盤中并作比較,RAID 1主要用在數(shù)據(jù)安全性很高,而且要求能夠快速恢復被破壞的數(shù)據(jù)的場合。

RAID 2布局

RAID 2是RAID 0的改進版,以海明碼(Hamming Code)的方式將數(shù)據(jù)進行編碼后分割為獨立的位(bit)單元,并將數(shù)據(jù)分別寫入HDD中。因為在數(shù)據(jù)中加入了錯誤修正碼(Error Correction Code,ECC),所以數(shù)據(jù)整體的容量會比原始數(shù)據(jù)大一些。

RAID 2因為每次讀寫都需要全組磁盤聯(lián)動,所以為了最大化其性能,需要保證每塊磁盤主軸同步,使同一時刻每塊磁盤磁頭所處的扇區(qū)邏輯編號都一致,并存并取,達到最佳性能。如果不能同步,則會產(chǎn)生等待,影響速度。

RAID 2和RAID 0有些不同,RAID 0不能保證每次I/O都是多磁盤并行,因為RAID 0的條帶深度相對于RAID 2以位為單位來說太大。而RAID 2由于每次I/O都需保證多磁盤并行,所以其數(shù)據(jù)傳輸率是單盤的N倍。

RAID 3布局

RAID 3的每一個條帶,其長度被設計為一個文件系統(tǒng)塊的大小,深度隨磁盤數(shù)量而定,但是最小深度為1個扇區(qū)。每個線段的大小一般就是1個扇區(qū)或者幾個扇區(qū)的容量。和RAID 2一樣,RAID 3同樣也是最適合連續(xù)大塊I/O的環(huán)境,但是它比RAID 2成本更低,也更容易部署,其HDD布局如圖所示。

不管任何布局形式的RAID,只要是面對隨機I/O,其性能與單盤比都沒有大的優(yōu)勢,因為RAID所做的只是提高傳輸速率、并發(fā)I/O和故障容許度。隨機I/O只能靠降低單個物理磁盤的尋道時間來解決,而RAID不能優(yōu)化尋道時間。所以對于隨機I/O,RAID 3也同樣沒有優(yōu)勢。而對于連續(xù)I/O,因為尋道時間的影響因素可以忽路,RAID 3體現(xiàn)出優(yōu)越的性能,RAID 3可以大大加快數(shù)據(jù)傳輸速率,因為它是多盤并發(fā)讀寫,所以理論上可以相當于單盤提高N倍的速率。

RAID 4布局

不管是RAID 2還是RAID 3,它們都是為了提高數(shù)據(jù)傳輸率而設計,通常不能并發(fā)I/O。諸如數(shù)據(jù)庫等應用的特點就是高頻率隨機i/o。想提高這種環(huán)境的I/O讀寫速率(Input/Output Operations Per Second,IOPS),根據(jù)公式:IOPS=I/O并發(fā)系數(shù)/(尋道時間+數(shù)據(jù)傳輸時間),隨機讀導致尋道時間增大,無法通過提高傳輸速率來提高IOPS。想在隨機/O頻發(fā)的環(huán)境中提高IOPS,要么用高性能的HDD(即平均尋道時間短的磁盤),要么提高I/O并發(fā)系數(shù)。在RAID 3配置下,當I/O尺寸小于Stripe尺寸的時候,此時有磁盤處于空閑狀態(tài),依據(jù)該情況,讓隊列中的其他/O來利用這些空閑的磁盤,即可達到并發(fā)I/O的效果。所以RAID 4將線段的大小做得比較大,使得平均I/O尺寸總是小于Stripe尺寸,這樣就能保證每個I/O少占用磁盤,甚至一個I/O只占用一個磁盤,以此提高I/O效率。

RAID 5布局

為了解決RAID 4系統(tǒng)不能并發(fā)I/O的缺點,提出了RAID 5模式。RAID 4并發(fā)困難是因為校驗盤爭用。RAID 5采用分布式校驗盤的做法,將校驗盤打散在RAID組中的每塊磁盤上但是在隨機寫/O頻發(fā)的環(huán)境下,由于頻發(fā)的隨機I/O提高了潛在的并發(fā)概率,如果并發(fā)的/O同處一個條帶,還可以降低寫懲罰的概率。這樣,RAID 5系統(tǒng)面對頻發(fā)的隨機寫I/O,其IOPS下降趨勢比其他RAID類型要平緩一些。RAID 5相對于經(jīng)過特別優(yōu)化的RAID 4來說,在底層就實現(xiàn)了并發(fā),可以脫離文件系統(tǒng)的干預。RAID 5磁盤數(shù)量越多,可并發(fā)的概率就越大。

RAID 6布局

RAID 6之前的任何RAID級別,最多能保障在壞掉一塊盤時,數(shù)據(jù)仍然可以訪問。如果同時壞掉兩塊盤,數(shù)據(jù)將會丟失。為了增加RAID 5的保險系數(shù),可以采用RAID 6布局。RAID 6比RAID 5多增加了一塊校驗盤,也是分布打散在每塊盤上,只不過是用另一個方程式來計算新的校驗數(shù)據(jù)。RAID 6與RAID 5相比,在寫的時候會同時讀取或者寫入額外的一份校驗數(shù)據(jù)。不過由于是并行同時操作,所以并沒有顯著影響讀寫效率。

其他特性則和RAID 5類似。

核心技術

關鍵技術

RAID 中主要有三個關鍵概念和技術:鏡像( Mirroring )、數(shù)據(jù)條帶( Data Stripping )和數(shù)據(jù)校驗( Data parity )。鏡像為磁盤提供保護功能;chunk條帶(塊大小也可以說是條帶的粒度)能提高I/O,提供了數(shù)據(jù)并發(fā)性;數(shù)據(jù)的校驗保證了數(shù)據(jù)的可靠性和安全性。

鏡像

鏡像是一種冗余技術,為磁盤提供保護功能,防止磁盤發(fā)生故障而造成數(shù)據(jù)丟失。對于 RAID 而言,采用鏡像技術 典型地 將會同時在陣列中產(chǎn)生兩個完全相同的數(shù)據(jù)副本,分布在兩個不同的磁盤上。鏡像提供了完全的數(shù)據(jù)冗余能力,當一個數(shù)據(jù)副本失效不可用時,外部系統(tǒng)仍可正常訪問另一副本,不會對應用系統(tǒng)運行和性能產(chǎn)生影響。將數(shù)據(jù)復制到多個磁盤,一方面可以提高可靠性,另一方面可并發(fā)從兩個或多個副本讀取數(shù)據(jù)來提高讀性能。顯而易見,鏡像的讀寫性能要稍低, 確保數(shù)據(jù)正確地寫到多個磁盤需要更多的時間消耗。

數(shù)據(jù)條帶

磁盤存儲的性能瓶頸在于磁頭尋道定位,它是一種慢速機械運動,無法與高速的 CPU 匹配。再者,單個磁盤驅(qū)動器性能存在物理極限, I/O 性能非常有限。將數(shù)據(jù)分片保存在多個不同的磁盤,多個數(shù)據(jù)分片共同組成一個完整數(shù)據(jù)副本,這與鏡像的多個副本是不同的,它通常用于性能考慮。數(shù)據(jù)條帶具有更高的并發(fā)粒度,當訪問數(shù)據(jù)時,可以同時對位于不同磁盤上數(shù)據(jù)進行讀寫操作, 從而獲得非常可觀的 I/O 性能提升 。

RAID 由多塊磁盤組成,數(shù)據(jù)條帶技術將數(shù)據(jù)以塊的方式分布存儲在多個磁盤中,從而可以對數(shù)據(jù)進行并發(fā)處理。這樣寫入和讀取數(shù)據(jù)就可以在多個磁盤上同時進行,并發(fā)產(chǎn)生非常高的聚合 I/O ,有效提高了整體 I/O 性能,而且具有良好的線性擴展性。

數(shù)據(jù)校驗

數(shù)據(jù)校驗是一種冗余技術,它用校驗數(shù)據(jù)來提供數(shù)據(jù)的安全,可以檢測數(shù)據(jù)錯誤,并在能力允許的前提下進行數(shù)據(jù)重構(gòu)。相對鏡像,數(shù)據(jù)校驗大幅縮減了冗余開銷,用較小的代價換取了極佳的數(shù)據(jù)完整性和可靠性。RAID 不同等級往往同時結(jié)合使用數(shù)據(jù)條帶技術和數(shù)據(jù)校驗技術,能同時提高性能和數(shù)據(jù)安全性 。

技術實現(xiàn)形式

按照物理類型,RAID技術實現(xiàn)有兩種形式:硬件RAID和軟件RAID。

硬件RAID

即服務器上自帶RAID卡,這是一個硬件,類似網(wǎng)卡、顯卡安裝到服務器上一樣。包括基于主機的硬件RAID和基于陣列的硬件RAID。

硬件RAID是專用的處理系統(tǒng),使用控制器或RAID卡獨立于操作系統(tǒng)來管理RAID配置。RAID控制器不會從其管理的磁盤上奪走處理能力。因此,可以使用更多的空間和速度來讀取和寫入數(shù)據(jù)。它可以在任何操作系統(tǒng)上運行。更換故障磁盤很簡單-只需將其插入并插入新磁盤即可。

由于硬件RAID需要額外的控制器硬件,因此成本要高于軟件RAID。如果RAID控制器發(fā)生故障,則必須找到一個兼容的控制器進行更換,以使RAID系統(tǒng)執(zhí)行設置方式。

軟件RAID

與硬件RAID不同,軟件RAID使用安裝RAID磁盤的操作系統(tǒng)的處理能力。成本較低,因為不需要其他硬件RAID控制器。它還允許用戶重新配置陣列,而不受硬件RAID控制器的限制。

軟件RAID往往比硬件RAID慢。由于該軟件需要一定的處理能力,因此它會降低RAID配置的讀寫速度以及在服務器上執(zhí)行的其他操作。軟件RAID通常特定于所使用的操作系統(tǒng),因此通常不能用于操作系統(tǒng)之間共享的分區(qū)。更換軟件RAID中的故障磁盤要復雜一些。必須首先告訴系統(tǒng)停止使用磁盤,然后更換磁盤。

優(yōu)缺點

RAID有許多優(yōu)點:它提供了大容量的存儲空間,通過數(shù)據(jù)條帶化技術提高了性能,采用數(shù)據(jù)冗余技術增強了可靠性,同時也簡化了存儲管理。然而,它也有一些缺點,例如某些級別缺乏冗余功能,磁盤利用率較低,以及折中方案如RAID 0+1在數(shù)據(jù)安全性和空間利用率之間的權(quán)衡。因此,在選擇適當?shù)腞AID級別時,需考慮容量、性能和可靠性等需求,以權(quán)衡這些優(yōu)點和缺點。

優(yōu)點

(1) 大容量

由多個磁盤組成的RAID系統(tǒng)具有海量的存儲空間。現(xiàn)在單個磁盤的容量就可以到 1TB 以上,這樣RAID的存儲容量就可以達到 PB 級,能滿足大多數(shù)的存儲需求。不同等級的RAID算法需要一定的冗余開銷,具體容量開銷與采用算法相關。通常,RAID 容量利用率在 50% ~ 90% 之間。

(2) 高性能

受益于數(shù)據(jù)條帶化技術,RAID的性能高。單個磁盤的 I/O 性能受到接口、帶寬等計算機技術的限制,性能往往很有限,容易成為系統(tǒng)性能的瓶頸。通過數(shù)據(jù)條帶化, RAID 將數(shù)據(jù) I/O 分散到各個成員磁盤上,從而獲得比單個磁盤成倍增長的聚合 I/O 性能。

(3) 可靠性

RAID 采用鏡像和數(shù)據(jù)校驗等數(shù)據(jù)冗余技術,打破了單個磁盤故障將導致整個 RAID 不可用的假定。 通過數(shù)據(jù)校驗提供的故障容許度功能,能保證數(shù)據(jù)安全性。鏡像是最為原始的冗余技術,把某組磁盤驅(qū)動器上的數(shù)據(jù)完全復制到另一組磁盤驅(qū)動器上,保證總有數(shù)據(jù)副本可用。 比起鏡像 50% 的冗余開銷 ,數(shù)據(jù)校驗要小很多,它利用校驗冗余信息對數(shù)據(jù)進行校驗和糾錯。 RAID 冗余技術大幅提升數(shù)據(jù)可用性和可靠性,保證了若干磁盤出錯時,不會導致數(shù)據(jù)的丟失,不影響系統(tǒng)的連續(xù)運行。

(4) 可管理性

實際上,RAID 是一種虛擬化技術,它對多個物理磁盤驅(qū)動器虛擬成一個大容量的邏輯驅(qū)動器。對于外部主機系統(tǒng)來說,RAID是一個單一的、快速可靠的大容量磁盤驅(qū)動器。這樣,用戶就可以在這個虛擬驅(qū)動器上來組織和存儲應用系統(tǒng)數(shù)據(jù)。 從用戶應用角度看,可使存儲系統(tǒng)簡單易用,管理也很便利。 由于RAID內(nèi)部完成了大量的存儲管理工作,管理員只需要管理單個虛擬驅(qū)動器,可以節(jié)省大量的管理工作。RAID可以動態(tài)增減磁盤驅(qū)動器,可自動進行數(shù)據(jù)校驗和數(shù)據(jù)重建,這些都可以 大大簡化管理工作。

缺點

(1) 冗余功能低

DAID 0沒有冗余功能,如果一個磁盤(物理)損壞,則所有的數(shù)據(jù)都無法使用。

(2) 利用率低

RAID 1磁盤的利用率最高只能達到50%(使用兩塊盤的情況下),是所有RAID級別中最低的。

RAID 0+1以理解為是RAID 0和RAID 1的折中方案。RAID 0+1可以為系統(tǒng)提供數(shù)據(jù)安全保障,但保障程度要比 Mirror低而磁盤空間利用率要比Mirror高。

參考資料 >

..2023-10-12

RAID技術基礎知識解析.techtarget數(shù)據(jù)中心.2023-07-12

..2023-10-12

..2023-10-11

淺談RAID技術.中國知網(wǎng) 電子世界. 2013(04).2023-10-12

1988: U.C. Berkeley paper catalyses interest in RAID1988 年:加州大學伯克利分校的論文激發(fā)了人們對 RAID 的興趣 獨立磁盤冗余陣列的性能優(yōu)于大型機驅(qū)動器.computerhistory.org.2023-10-25

Disk Array Solutions for Enterprise Storage.AMD.2023-10-11

[主板]BIOS下如何組建RAID.ASUS中國.2023-10-28

磁盤陣列(RAID)在醫(yī)院網(wǎng)絡信息系統(tǒng)中存儲解決方案探討.維普資訊.2023-07-12

RAID技術實現(xiàn)方法和RAID陣列.知網(wǎng)空間.2023-07-14

RAID 0陣列數(shù)據(jù)恢復方法研究.中國知網(wǎng).2023-10-12

RAID 1的實現(xiàn)策略及性能研究.中國知網(wǎng).2023-10-12

磁盤陣列可靠性研究.中國知網(wǎng).2023-10-12

RAID技術介紹.中國知網(wǎng).2023-07-14

RAID技術實現(xiàn)方法和RAID陣列.中國知網(wǎng).2023-07-24

磁盤陣列(RAID)在醫(yī)院網(wǎng)絡信息系統(tǒng)中存儲解決方案探討.中國知網(wǎng).2023-07-24

基于RAID磁盤陣列的安全備份設計.中國知網(wǎng).2023-07-24

獨立冗余磁盤陣列(RAID)技術發(fā)展前景.中國知網(wǎng).2023-07-14

論RAID磁盤存儲技術.中國知網(wǎng).2023-07-14

磁盤陣列.中國知網(wǎng).2023-07-24

生活家百科家居網(wǎng)