首頁 > 軟體

RAID級別和實現範例操作詳解

2020-06-16 17:48:20

一、RAID簡史

1.RAID由來

Berkeley:伯克利提出:A case for Redundent Arrays of Inexpensive Disks 為RAID(廉價冗餘陣列)

如今:Redundant Arrays of Independent Disks 獨立冗餘陣列

2.優點和表現方式

1)通過磁碟並行讀寫,提高IO能力:

2)通過磁碟冗餘(容錯)機制來實現提高耐用性:

3.級別:多塊磁碟組織在一起的工作方式有所不同

RAID0、RAID1、RAID2、RAID3、RAID4、RAID5、RAID6、RAID7、RAID10、RAID01、RAID50、JBOD

4.實現方式

(1)軟體模擬實現:Software RAID,結合核心中的md(multi devices)工具

生產環境中一般沒有人使用

(2)硬體實現:硬體級別的RAID設定多塊硬碟在bios中實現

外接式磁碟陣列:通過擴充套件卡提供適配能力

內接式RAID:主機板整合RAID控制器

1)可以通過SAS介面的介面卡介面擴充套件出串列埠附加儲存,以logical unit  number邏輯單元號表現

窄頻:8個介面,7target

寬頻:16個介面,15個target

2)RAID控制器需要系統驅動使用,在BIOS中可以設定,通過介面卡連線到RAID磁碟陣列

3)RAID控制器本身有CPU,還可以有記憶體來加速,另外設定電源方式斷電時候的應急寫入

二、RAID級別和工作模式

常用級別:RAID-0, RAID-1, RAID-5, RAID-10, RAID-50, JBOD

1.RAID-0:0, 條帶卷,strip;

效能:讀、寫效能提升;無容錯能力

空間使用:N*min(S1,S2,...),

最少需要磁碟數量:至少兩塊

條帶:會以磁碟容量最小的磁碟為主分塊製作條帶

2.RAID-1: 1, 映象捲,mirror;

效能:讀效能提升、寫效能略有下降;有冗餘能力

空間使用:1*min(S1,S2,...),每塊儲存內容都一樣

空間利用率:1/2

最少需要硬碟數量:至少兩塊

3.RAID-4:單塊硬碟作為集中校驗盤

採用獨立存取方式,將條帶由RAID3的小資料塊改為更大的資料塊

校驗較為迅速,但寫入速度極差,控制器的設計更加複雜

通過互斥或運算將其中一塊硬碟,集中存放校驗碼

允許有一塊硬碟損壞,但因為集中校驗會導致效能瓶頸

4.RAID-5:迴圈校驗儲存機制

效能:讀、寫效能提升,有容錯能力:1塊磁碟

空間使用:(N-1)*min(S1,S2,...) 短板效應

空間利用率:(n-1)/n

最少磁碟數:至少三塊,可降級使用

5.RAID-6:迴圈校驗儲存機制,一塊硬碟專門做校驗盤,校驗碼儲存兩次

效能:讀、寫效能提升;有容錯能力:2塊磁碟

空間使用:(N-2)*min(S1,S2,...)

最少磁碟數:最少四塊

6.RAID-7:商業版

新的RAID標準,一個獨立的“儲存計算機”,自身帶有智慧化實時作業系統和用於儲存管理的軟體工具,可以完全獨立與主機執行,不占用主機CPU資源

7.RAID-10:先做映象,再做條帶

效能:讀、寫提升,有冗餘能力

空間利用率:1/2

最少磁碟數:至少需要4塊

8.RAID-01:先做條帶,再做映象

效能:讀、寫提升,有冗餘能力

空間利用率:1/2

最少磁碟數:至少需要4塊

9.RAID-50:

效能:讀、寫提升;有冗餘能力

空間利用率:(n-2)/n

最少磁碟數:至少需要6塊

10.JBOD:Just a Bunch Of Disks 將多塊磁碟的空間合併一個大的連續空間使用

效能表現:無提升;無冗餘能力

空間使用:磁碟大小之和sum(S1,S2,...)

空間利用率:100%

最少磁碟數:至少需要2塊

三、RAID核心實現觀測相關命令

CentOS 6上的軟體RAID的實現

1.md(multi devices)工具,mdadm:模式化的工具

命令的語法格式:mdadm [mode] <raiddevice> [options] <component-devices>

支援的RAID級別:LINEAR線性方式, RAID0, RAID1, RAID4, RAID5, RAID6, RAID10;

模式:建立:-C;裝配: -A;監控: -F;管理:-f, -r, -a

<raiddevice>: /dev/md#

<component-devices>: 任意塊裝置

(1)-C: 建立模式

-n #: 使用#個塊裝置來建立此RAID;

-l #:指明要建立的RAID的級別;

-a {yes|no}:自動建立目標RAID裝置的裝置檔案;

-c CHUNK_SIZE: 指明塊大小; 預設512k

-x #: 指明空閒盤的個數;

(2) 管理模式:

-f: 標記指定磁碟為損壞;

-a: 新增磁碟

-r: 移除磁碟

(3)-D:顯示raid的詳細資訊;      mdadm -D /dev/md#

(4)觀察md的狀態: cat /proc/mdstat

(5)停止md裝置:mdadm -S /dev/md#

2.watch:動態觀測命令執行過程

格式:watch -n# 'COMMAND'

-n #: 重新整理間隔,單位是秒;

如何在Linux上構建 RAID 10陣列  http://www.linuxidc.com/Linux/2014-12/110318.htm

Debian軟RAID安裝筆記 - 使用mdadm安裝RAID1 http://www.linuxidc.com/Linux/2013-06/86487.htm

常用RAID技術介紹以及範例演示(多圖) http://www.linuxidc.com/Linux/2013-03/81481.htm

Linux實現最常用的磁碟陣列-- RAID5 http://www.linuxidc.com/Linux/2013-01/77880.htm

RAID0+1和RAID5的效能測試結果 http://www.linuxidc.com/Linux/2012-07/65567.htm

Linux入門教學:磁碟陣列(RAID) http://www.linuxidc.com/Linux/2014-07/104444.htm

本文永久更新連結地址http://www.linuxidc.com/Linux/2015-12/126645.htm


IT145.com E-mail:sddin#qq.com