磁碟陣列(RAID)

來源:互聯網
上載者:User
1.1 RAID是由美國加州大學伯克利分校的D.A.Patterson教授在1988年提出的。RAID 是Redundent Array of Inexpensive Disks的縮寫,直譯為"廉價冗餘磁碟陣列",也簡稱為"磁碟陣列"。後來RAID中的字母I被改作了Independent,RAID就成了"獨立冗餘磁碟陣列",但這隻是名稱的變化,實質性的內容並沒有改變。可以把 RAID理解成一種使用磁碟機的方法,它將一組磁碟機用某種邏輯方式聯絡起來,作為邏輯上的一個磁碟機來使用。一般情況下,組成的邏輯磁碟機的容量要小於各個磁碟機容量的總和。RAID的具體實現可以靠硬體也可以靠軟體,Windows NT作業系統就提供軟體RAID功能。RAID一般是在SCSI磁碟機上實現的,因為IDE磁碟機的效能發揮受限於IDE介面(IDE只能接兩個磁碟機,傳輸速率最高1.5MBps)。IDE通道最多隻能接4個磁碟機,在同一時刻只能有一個磁碟機能夠傳輸資料,而且IDE通道上一般還接有光碟機,光碟機引起的延遲會嚴重影響系統速度。SCSI適配器保證每個SCSI通道隨時都是暢通的,在同一時刻每個SCSI磁碟機都能自由地向主機傳送資料,不會出現像IDE磁碟機爭用裝置通道的現象。

1.2 RAID的優點

1.2.1 成本低,功耗小,傳輸速率高。在RAID中,可以讓很多磁碟機同時傳輸資料,而這些磁碟機在邏輯上又是一個磁碟機,所以使用RAID可以達到單個的磁碟機幾倍、幾十倍甚至上百倍的速率。這也是RAID最初想要解決的問題。因為當時CPU的速度增長很快,而磁碟機的資料轉送速率無法大幅提高,所以需要有一種方案解決二者之間的矛盾。RAID最後成功了。

1.2.2 可以提供容錯功能。這是使用RAID的第二個原因,因為普通磁碟機無法提供容錯功能,如果不包括寫在磁碟上的CRC (迴圈冗餘校正) 碼的話。RAID 和容錯是建立在每個磁碟機的硬體容錯功能之上的,所以它提供更高的安全性。

1.2.3 RAID的另一特徵是具備資料校正(Parity)功能,校正可被描述為用於RAID層級2,3,4,5的額外的資訊,當磁碟失效的情況發生時,校正功能結合完好磁碟中的資料,可以重建失效磁碟上的資料。對於RAID系統來說,在任何有害條件下絕對保持資料的完整性(Data Integrity)是最基本的要求。資料完整性指的是陣列面對磁碟失效時保持資料不丟失的能力,由於資料的破壞通常會帶來災難性的後果,所以選擇RAID陣列的基礎條件是它能提供什麼層級的資料完整性。

1.2.4 RAID比起傳統的大直徑磁碟機來,在同樣的容量下,價格要低許多。

RAID的分級

層級解釋

RAID 0級(Stripe) 無冗餘無校正的磁碟陣列

資料同時分布在各個磁碟機上,沒有容錯能力,讀寫速度在RAID中最快,但因為任何一個磁碟機損壞都會使整個RAID系統失效,所以安全係數反倒比單個的磁碟機還要低。一般用在對資料安全要求不高,但對速度要求很高的場合。

 

RAID 1級(Mirror) 鏡象磁碟陣列

每一個磁碟機都有一個鏡像磁碟機,鏡像磁碟機隨時保持與原磁碟機的內容一致。RAID1具有最高的安全性,但只有一半的磁碟空間被用來儲存資料。主要用在對資料安全性要求很高,而且要求能夠快速恢複被損壞的資料的場合。

RAID 1+0 如果同時對RAID 0中寫往兩個硬碟的資料再做兩個鏡像如何呢?這就是RAID 1+0的方案。RAID 1+0至少使用4個硬碟,這樣,RAID 1+0在理論上同時保證了RAID 0的效能和RAID 1的安全性,代價是比RAID 0 或1再多一倍的硬碟數量。但應該注意,這僅僅是理論上的,因為實際中IDE RAID 這樣的軟體RAID系統會消耗CPU運算時間,RAID 1+0比起RAID 0或1來講,同樣多消耗一倍的CPU時間,所以效能最後不一定能提升到RAID 0那樣的比例,甚至有可能總體效能不升反降。

 

RAID 2級 錯誤修正海明碼磁碟陣列

磁碟機組中的第一個、第二個、第四個……第2n個磁碟機是專門的校正盤,用於校正和錯誤修正,例如七個磁碟機的RAID 2,第一、二、四個磁碟機是錯誤修正盤,其餘的用於存放資料。使用的磁碟機越多,校正盤在其中占的百分比越少。RAID 2對大資料量的輸入輸出有很高的效能,但少量資料的輸入輸出時效能不好。RAID2很少實際使用。

RAID 3和 RAID 4 奇數同位或偶校正的磁碟陣列

不論有多少資料盤,均使用一個校正盤,採用同位的方法檢查錯誤。任何一個單獨的磁碟機損壞都可以恢複。RAID3和RAID4的資料讀取速度很快,但寫資料時要計算校正位的值以寫入校正盤,速度有所下降。RAID3和RAID4的使用也不多。

RAID 5級 無獨立校正盤的同位磁碟陣列

同樣採用同位來檢查錯誤,但沒有獨立的校正盤,校正資訊分布在各個磁碟機上。RAID5對大小資料量的讀寫都有很好的效能,被廣泛地應用。

從RAID1到RAID5的幾種方案中,不論何時有磁碟損壞,都可以隨時拔出損壞的磁碟再插入好的磁碟(需要硬體上的熱插拔支援),資料不會受損,失效盤的內容可以很快地重建,重建的工作也由RAID硬體或RAID軟體來完成。但RAID0不提供錯誤校正功能,所以有人說它不能算作是RAID,其實這也是RAID0為什麼被稱為0級RAID的原因--0本身就代表"沒有"。

1.3 RAID 的應用

當前的PC機,整個系統的速度瓶頸主要是硬碟。雖然不斷有Ultra DMA33、 DMA66、DMA100等快速的標準推出,但收效不大。在PC中,磁碟速度慢一些並不是太嚴重的事情。但在伺服器中,這是不允許的,伺服器必須能響應來自四面八方的服務要求,這些請求大多與磁碟上的資料有關,所以伺服器的磁碟子系統必須要有很高的輸入輸出速率。為了資料的安全,還要有一定的容錯功能。RAID 提供了這些功能,所以RAID被廣泛地應用在伺服器體系中。

1.4 RAID 提供的容錯功能是自動實現的(由RAID硬體或是RAID軟體來做)。

它對應用程式是透明的,即無需應用程式為容錯做半點鐘工作。要得到最高的安全性和最快的恢複速度,可以使用RAID1(鏡像);要在容量、容錯和效能上取折衷可以使用RAID 5。在大多數資料庫伺服器中,作業系統和資料庫管理系統所在的磁碟機是RAID 1,資料庫的資料檔案則是存放於RAID5的磁碟機上。

1.5 有時我們看某些名牌伺服器的配置單,發現其CPU並不是很快,記憶體也算不上是很大,顯卡更不是最好,但價格絕對不菲。是不是伺服器系統都是暴利產品呢?當然不是。伺服器的配置與一般的家用PC的著重點不在一處。除去更高的穩定性外,冗餘與容錯是一大特點,如雙電源、帶電池備份的磁碟高速緩衝器、熱插拔硬碟、熱插拔PCI插槽等。

另一個特點就是巨大的磁碟輸送量。這主要歸功於RAID。舉一個例子來說,一台使用了SCSI RAID的奔騰166與一台IDE硬碟的PIIICopermine 800都用做檔案伺服器,奔騰166會比PⅢ的交易處理能力高上幾十倍甚至上百倍,因為PⅢ處理器的運算能力根本用不上,反倒是奔騰166的RAID起了作用。

1.6 RAID現在主要應用在伺服器,但就像任何高端技術一樣,RAID也在向PC機上轉移。也許所有的 PC 機都用上了SCSI磁碟機的RAID的那一天,才是PC機真正的"出頭之日"。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.