當前位置:
首頁 > 科技 > 【IT之家學院】Raid到底是啥?

【IT之家學院】Raid到底是啥?

今天我們來聊一聊Raid,做一期輕科普,跟大家一起了解下各種Raid是怎麼回事、有什麼作用、有哪些優缺點、如何實現等等。

註:IT之家小編個人習慣拼作Raid,但RAID和raid這些拼法也都有眾多擁躉。維基百科和百度百科都拼作RAID,畢竟是首字母集合,應該是比較標準的拼法,另外兩種是當做單詞來用了,不過大家開心就好,不影響理解。

何為Raid

我們首先來認識一下這個概念,Raid全稱為Redundant Arrays of Independent Drives,中文名稱為磁碟陣列,直譯為「冗餘獨立驅動器陣列」。簡單來說就是多個硬碟組成的邏輯陣列。組Raid就是將多塊獨立的硬碟組合行成單一的邏輯陣列,當做一個整體來使用,用以實現提高傳輸速度、安全性等功能,多用於文件伺服器或NAS。

【IT之家學院】Raid到底是啥?

打開今日頭條,查看更多圖片

Raid的種類

下面我們依次介紹較常見的Raid0/1/10/5/6和更高級一些的Raidz/z2,並分別介紹它們的工作原理和優缺點。不常見的Raid2/3/4和各種奇奇怪怪的組合如Raid100/30/50/60等就不多說了,理解了基礎的,組合自然就明白了。如果沒有標註,默認不同硬碟的容量相同。

1、Raid0

Raid0需要最少兩塊。

以兩塊硬碟為例,組Raid後容量為兩者之和,讀寫數據時,同時對兩塊硬碟進行讀寫。

優點是帶寬翻倍,理論上讀寫速度也翻倍。但缺點也是致命的,由於是將整體數據同時分別寫在兩塊硬碟上,讀取時也要同時讀出才能得到完整的數據,所以只要陣列中一塊硬碟損壞,整個陣列中的所以數據全部丟失,所以才有了著名的「Raid0一時爽,一直Raid0一直爽」,啊,不好意思拿錯稿子了,是「Raid0一時爽,數據火葬場」。

總結來講,速度×N,風險×N,利用率100%。

【IT之家學院】Raid到底是啥?

2、Raid1

Raid1最少也需要兩塊硬碟。

同樣以兩塊硬碟為例,容量相當於最小的一塊,多塊同理。寫入數據時,同時在所有硬碟上寫入相同的數據,相當於做了鏡像或備份,讀取時如果一塊硬碟損壞,還可以從陣列中其他的硬碟中讀出完整數據。

優點是冗餘性和安全性翻倍,缺點是利用率低。

總結,速度×1,風險×1/N,利用率1/N。

【IT之家學院】Raid到底是啥?

3、Raid10

顧名思義,就是Raid1+0,是Raid1和Raid0的結合,讓兩者取長補短。最少需要四塊硬碟,或者m×n塊的靈活組合都可,正是因為其是兩種Raid模式的結合。

以四塊硬碟為例,其中兩塊用作備份盤,兩塊用作增速盤。

先提一下Raid10的特殊實現方式,叫Raid10而不叫Raid01是有道理的,需要先把四塊硬碟分為兩組,組內先進行類似Raid1的組合,互為鏡像,稱作「做鏡像」,再對兩個「Raid1陣列」進行類似Raid0的組合,稱為「做條帶」。所以在讀寫時,同時對四塊硬碟進行讀寫,其中每組寫入不同數據(原數據中不同位置的數據,有可能相同,如1101中的前兩個1,下同),每組中兩塊硬碟寫入相同的數據。

優點是兼顧傳輸速度與安全性,缺點是性能開銷大,而且……額……貴,權且當作方案的缺點吧。

總結,以四塊硬碟為例,速度×2,風險×?,利用率50%。

【IT之家學院】Raid到底是啥?

同理,Raid01的原理大家可以反過來理解,先做條帶,再做鏡像。

4、Raid5

Raid5最少需要三塊硬碟,其中需要拿出相當於一塊硬碟的容量來存校驗碼,校驗碼採用奇偶校驗方式算出,校驗碼不可全部在一塊硬碟,其餘用來存數據。用來存校驗碼的容量由從所有硬碟中不同位置取出相同的容量組成,加起來等於一塊硬碟的容量,以三塊硬碟為例,三塊硬碟中各取出?的容量,被取出的容量在三塊硬碟中不全在同一位置。

寫入數據時,同時在兩塊硬碟上分別寫入不同數據,最後一塊硬碟寫入算出的校驗碼,下一次寫入的校驗碼不可與上一次的校驗碼存於同一塊硬碟。如果某一塊硬碟損壞,則只需要替換掉損壞的硬碟,通過均勻分布在各硬碟中的數據和校驗碼,就可以恢復重建損壞硬碟中的數據。

優點是一定程度上兼顧了傳輸速度和安全性。缺點是現實中數據恢復速度和成功率並不十分理想。還有不得不提的局限性,不管陣列中有多少塊硬碟,同時損壞兩塊都是無法恢復的,整個陣列中的數據全部丟失。

總結,速度×(N-1),風險不會算,改天去請教一下理學院的學長……可以肯定的是風險比Raid1大,利用率為(N-1)/N。

【IT之家學院】Raid到底是啥?

另外,如果硬碟容量不同,Raid5會在每塊硬碟中都取容量最小的硬碟的容量來使用,其餘的都不用,但群輝的SHR技術可以將浪費的容量利用起來,感興趣的朋友可以去了解一下。

5、Raid6

Raid6可以說是Raid5的升級版,最少需要四塊硬碟,其中兩塊硬碟的容量用以存儲兩位奇偶校驗碼,校驗碼分配方式與Raid5類似。

同理,同時損壞兩塊硬碟,整個陣列無法恢復。

總結,速度×(N-2),風險不會算但比Raid5小比Raid1大,利用率為(N-2)/N。

6、Raidz/Raidz2

這兩種「Raid模式」分別可以看做Raid5和Raid6的改進,雖然名叫「Raid」但並不是同一回事。

Raidz/z2基於更先進的ZFS文件系統,擁有更加先進的冗餘機制,解決了Raid5/6「全盤重寫」的問題。這個不是一時半會可以講完的,為了篇幅和不喧賓奪主的考慮,暫且留個坑吧。

實現方式

Raid陣列的實現分為硬實現和軟實現,組成的陣列分別稱為硬Raid和軟Raid。

我們分別來看:

1、硬實現/硬Raid

硬實現是通過硬體(Raid卡)來實現Raid陣列的方式。對磁碟的數據讀寫由Raid卡主控完成,系統會將整個陣列識別為單一硬碟。

優點是對CPU的依賴非常小,性能較好,有緩存的Raid卡還可以提高隨機讀寫性能。

缺點是不夠靈活,用Raid卡組Raid後,如果不解除/撤銷/取消,陣列中的硬碟直接掛載到別的電腦上是無法使用的。以及需要額外的硬體,成本較高。

2、軟實現/軟Raid

軟Raid就是通過軟體方式實現的Raid,包括從BIOS中設置。磁碟數據的讀寫由CPU完成,系統可以識別出陣列中所有的硬碟。

優點是使用靈活,拆下後可直接在其他電腦上使用,成本較低,操作簡單。

缺點是對CPU依賴較大,性能較差。

了解了上述內容,想要組Raid的小夥伴們心中應該是有底了,可以按需選擇自己想要的方式。最後IT之家還要提醒一句,數據千萬條,安全第一條。Raid不規範,自己兩行淚。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 IT之家 的精彩文章:

星巴克宣布貓爪杯明日開啟線上發售
三星:手機OLED屏有害藍光比重減至7%

TAG:IT之家 |