歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> RAID級別和實現實例操作詳解

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

日期:2017/2/28 13:55:38   编辑:Linux教程

一、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

Copyright © Linux教程網 All Rights Reserved