標籤:應用程式 linux 作業系統
早期由於raid通常用來組合一些廉價的sata介面的硬碟裝置來完成冗餘。
故早期的全稱是: RedundantArray of independent Disks (獨立冗餘磁碟陣列)。
raid的主要功能是把主板上的多塊硬碟以某種特定的方式組合起來,組織成一個具有特定特性的一個邏輯整體,然後輸出給作業系統或應用程式。根據組合方式的不同,可以讓該邏輯整體具有冗餘或者加快資料存放區的特性。這個具有一定特性的邏輯整體就叫做一個raid陣列。
raid根據其實現方式的不同,分為軟體raid和硬體raid。下面來說一下軟體raid和硬體raid:
軟體raid:軟體raid是建立在作業系統的基礎上的,首先需要在磁碟上裝作業系統,然後使用者再利用作業系統核心的功能結合使用者應用空間程式在系統識別的塊裝置上建立raid。在linux系統上任何塊裝置都是可以用mdadm命令結合核心中的md模組建立成raid的。通過這種方式建立的raid也具有冗餘或加速資料存放區的特性,前提是建立使用的塊裝置不在同一塊硬碟上。當然軟raid在實現資料分Block Storage時時消耗CPU的計算能力的,因此大多數企業都不採用此種方式來做raid陣列。
硬體raid:硬體raid的建立是在作業系統啟動之前的,配置raid一般都是在BIOS和raid陣列卡的介面完成的。raid陣列卡其實就是一個raid控制器,上面可以接多塊磁碟。有的陣列卡是整合在主板上的,而有的陣列卡是裝在主板的插槽上的。raid陣列卡上一般都帶和cpu功能一樣的處理晶片,高端點的陣列卡還帶記憶體和電池。接在陣列卡上的硬碟裝置可以在系統啟動之前配置好raid,在系統啟動之後那多塊硬碟就相當於一塊硬碟供給作業系統使用。當然安裝作業系統時,作業系統需要安裝該raid陣列的驅動,否則這作業系統將無法識別該raid陣列。通過此種方式建立的raid陣列,由於是通過raid陣列卡建立的,而raid卡上面有內建處理器,因此在執行資料處理工作時,此種方式不需要消耗CPU的計算能力。可以大大的提高raid的效能。因此大多數企業都喜歡用此種方式來做raid陣列。
說完軟raid和硬raid,接下來我說一下基本的raid層級。常見的有以下幾種:
| 層級(level) |
raid0 |
| 特性 |
資料均勻的儲存在每塊硬碟上 |
| 最少磁碟數 |
2 |
| 磁碟要求 |
每塊磁碟的容量必須一樣大,最好是同一廠商同一型號 |
| 冗餘能力 |
無 |
| 讀寫效能 |
提升 |
| 可用空間 |
磁碟個數*單塊磁碟容量 |
| 層級(level) |
raid1 |
| 特性 |
每一份資料在每塊硬碟上都儲存一份 |
| 最少磁碟數 |
2 |
| 磁碟要求 |
每塊磁碟的容量必須一樣大,最好是同一廠商同一型號 |
| 冗餘能力 |
強 |
| 讀寫效能 |
寫效能下降,讀效能加強
|
| 可用空間 |
單塊磁碟容量 |
| 層級(level) |
raid4 |
| 特性 |
資料被均勻的儲存在(n-1)硬碟上,儲存時會產生校正碼,校正碼會儲存在raid4中指定的硬碟上,該硬碟不隱藏檔資料 |
| 最少磁碟數 |
3 |
| 磁碟要求 |
每塊磁碟的容量必須一樣大,最好是同一廠商同一型號 |
| 冗餘能力 |
加強 |
| 讀寫效能 |
提升 |
| 可用空間 |
(磁碟個數-1)*單塊磁碟容量 |
| 層級(level) |
raid5 |
| 特性 |
資料被均勻的儲存在(n-1)硬碟上,儲存時會產生校正碼,校正碼會輪流的儲存到raid5陣列的磁碟上 |
| 最少磁碟數 |
2 |
| 磁碟要求 |
每塊磁碟的容量必須一樣大,最好是同一廠商同一型號 |
| 冗餘能力 |
加強 |
| 讀寫效能 |
提升 |
| 可用空間 |
(磁碟個數-1)*單塊磁碟容量 |
除了上述的基本raid以外,raid10和raid50也是raid組合。其中raid10是最常見的這種組合方式是先做raid1,然後把raid1在組合成raid0,這樣可以提高。我舉個例子:
在紅框內的藍色小框裡面的兩塊磁碟做的是raid1,然後把三個raid1做成一個raid0,那麼組合起來就稱為raid10。
簡述raid的種類、層級級Linux系統上軟raid的實現