2021-05-12 14:32:11
RAID級別和實現範例操作詳解
一、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
相關文章