-
計算機和網絡技術的高速發展對存儲性能和資料可靠性的要求不斷的提高。使用RAID技術是很好的解決途徑。
學習目标
-
了解RAID的定義與特點
-
了解RAID資料組織方式和備援原理
-
熟練掌握各RAID級别的原理及特性
-
了解RAID的實作方式
目錄
-
RAID的基本概念
-
RAID級别
-
RAID的實作方式和運作狀态
一、RAID的定義
-
RAID的全稱
廉價磁盤備援陣列(Redundant Array of Inexpensive Disks)
-
RAID的定義
多個獨立的實體硬碟按照不同的方式組合起來,形成一個虛拟的硬碟
RAID的優勢
1)RAID在容量和管理上的優勢
- 易于靈活的進行容量擴充
- “虛拟化”使可管理性極大的增強
2)RAID在性能上的優勢
- “磁盤分塊”技術帶來性能的提高
3)RAID在可靠性和可用性上的優勢
- 通過備援技術和熱備、熱換提升了可靠性
RAID組織資料的基本方式
RAID存取資料的基本方式
1)并行存取方式
- 适用于大型的、以長時間順序通路資料為特征的應用
2)獨立存取方式
- 适用于資料存取頻繁,每筆存取資料量較小的應用
鏡像備援的概念
-
鏡像備援使用了磁盤鏡像技術
-
磁盤鏡像是一個簡單的裝置虛拟化技術,每個I/O操作都會在兩個磁盤上執行,兩個磁盤看起來就像一個磁盤一樣
-
鏡像備援可以提高磁盤的讀性能
鏡像備援的實作方式
校驗備援的概念
-
根據備援算法計算陣列中成員磁盤上資料的校驗資訊,将校驗資訊儲存在其他的磁盤資源上
-
保證資料可靠性
-
和鏡像備援相比較,校驗備援的開銷更小
XOR算法
-
相同為假,不同為真
-
XOR的逆操作是XOR
操作數1 | 操作數2 | XOR結果 |
假 | 假 | 假 |
假 | 真 | 真 |
真 | 假 | 真 |
真 | 真 | 假 |
熱備和熱換
-
熱備是指在不幹擾目前系統的正常使用的情況下,用系統中另外一個正常的備用磁盤頂替失效磁盤
-
熱換是指在不影響系統正常運轉的情況下,用正常的磁盤實體替換RAID陣列中的失效磁盤
二、RAID級别
1)組成RAID陣列的不同方式稱為RAID級别
2)不同的RAID級别
- 不同的存儲性能
- 不同的資料可靠性
- 不同的存儲成本
RAID0的工作原理
-
RAID0是以條帶的形式将資料均勻分布在陣列的各個磁盤上
RAID0的特性
所需成員磁盤數 | 2個或更多,最低為2個 |
優點 | 極高的磁盤讀寫效率 不存在校驗,不會占用太多CPU資源 設計、使用和配置比較簡單 |
缺點 | 無備援,不能用于對資料安全性要求高的環境 |
适用領域 | 視訊生成和編輯、圖像編輯 其他需要大的傳輸帶寬的操作 |
RAID1的工作原理
-
RAID1以鏡像為備援方式,對虛拟磁盤上的資料做多份拷貝,放在成員磁盤上
RAID1的特性
所需成員磁盤數 | 2N個,(N≥1),最低為2個 |
優點 | 具有100%資料備援,提供最高的資料安全保障 理論上可以實作2倍的讀取效率 設計和使用比較簡單 |
缺點 | 開銷大,空間使用率隻有50% 在寫性能方面提升不大 |
适用領域 | 财務、金融等高可用、高安全的資料存儲環境 |
RAID2
1)采用校驗備援
- 把資料分散為位或塊,加入漢明碼,間隔寫入到磁盤陣列的每個磁盤中
- 在成員磁盤上的位址都一樣
2)采用了并行存取方式
3)花費大,成本昂貴
RAID3的工作原理
-
在RAID3中,資料塊被分為更小的塊并行傳輸到各個成員磁盤上,同時計算XOR校驗資料存放到專用的校驗磁盤上
RAID3的特性
所需成員磁盤數 | 3個或更多,最低為3個 |
優點 | 讀寫性能都比較好 當有磁盤損壞時,對整體吞吐量影響較小 減少了開銷 |
缺點 | 控制器設計複雜 采用并行存取方式,主軸同步時吞吐量沒有提高 校驗磁盤的寫性能有瓶頸 |
适用領域 | 視訊生成和圖像、視訊編輯等 需要高吞吐量的應用環境 |
RAID4的工作原理
-
在RAID4中,資料被分為更大的塊并行傳輸到各個成員磁盤上,同時計算XOR校驗資料存放到專用的校驗磁盤上
RAID4
-
RAID4采用獨立存取方式,将條帶由RAID3的小資料塊改為更大的資料塊,這是RAID4和RAID3最大的不同
-
RAID4的校驗較為迅速,可以獲得相對于RAID3更高的讀取速度,但寫入速度極差,控制器的設計更加複雜
RAID5的工作原理
-
RAID5采用獨立存取的陣列方式,校驗資訊被均勻的分散到陣列的各個磁盤上
RAID5的特性
所需成員磁盤數 | 3個或更多,最低為3個 |
優點 | 讀性能比較高 中等的寫性能 校驗資訊的分布式存取,避免出現寫操作的瓶頸 |
缺點 | 控制器設計複雜 磁盤重建的過程比較複雜 |
适用領域 | 檔案伺服器、Email伺服器、Web伺服器等環境 資料庫應用 |
RAID6
-
RAID6是指帶有兩種分布存儲的檢驗資訊的磁盤陣列,它是對RAID5的擴充,主要是用于要求資料絕對不能出錯的場合,使用了二種奇偶校驗方法,需要N+2個磁盤
-
常用的RAID6技術:
- RAID6 P+Q
- RAID6 DP
RAID6 P+Q
-
RAID6 P+Q會根據公式計算出P和Q的值,當有兩個資料同時丢失時,仍可以計算出原資料
磁盤1 | 磁盤2 | 磁盤3 | 磁盤4 | 磁盤5 | |
條帶1 | 資料1a | 資料1b | 資料1c | P1 | Q1 |
條帶2 | 資料2d | 資料2e | P2 | Q2 | 資料2f |
條帶3 | 資料3g | P3 | Q3 | 資料3h | 資料3i |
條帶4 | P4 | Q4 | 資料4j | 資料4k | 資料4l |
條帶5 | Q5 | 資料5m | 資料5n | 資料5o | P5 |
RAID6 DP
-
RAID6 DP中的DP指Double Parity,它在RAID4的基礎上不僅有行的校驗,還增加了一個用來存放斜向校驗資訊的磁盤
資料磁盤1 | 資料磁盤2 | 資料磁盤3 | 資料磁盤4 | 橫向校驗磁盤 | 斜向校驗磁盤 |
資料a | 資料b | 資料c | 資料d | P1 | DP1 |
資料e | 資料f | 資料g | 資料h | P2 | DP2 |
資料i | 資料j | 資料k | 資料l | P3 | DP3 |
資料m | 資料n | 資料o | 資料p | P4 | DP4 |
DP5 |
RAID7
-
RAID7是一種新的RAID标準,它與以前見到的RAID級别有明顯的差別,可以了解成一個獨立的“存儲計算機”
-
RAID7自身帶有智能化實時作業系統和用于存儲管理的軟體工具,可以完全獨立與主機運作,不占用主機CPU資源
組合不同級别的RAID
1)組合不同級别RAID的目的
- 從RAID0到RAID6,不同級别的RAID在性能、備援、價格等方面做了不同程度的折中
- 組合不同級别的RAID,目的是揚長避短,産生具有優勢特性的混合RAID級别
2)重點介紹
- RAID 10
- RAID 50
RAID10的工作原理
-
RAID10結合RAID1和RAID0,先鏡像,再條帶化
RAID10的特性
所需成員磁盤數 | 2N個,(N≥2),最低為4個 |
優點 | 讀性能很高 寫性能比較好 資料安全性好,允許同時有N個磁盤失效 |
缺點 | 空間使用率隻有50% 開銷大 |
适用領域 | 多用于要求高可用性和高安全性的資料庫應用 |
RAID50的工作原理
-
RAID50是RAID5和RAID0的結合,先實作RAID5,再條帶化
RAID50的特性
所需成員磁盤數 | 6個或更多,最低為6個 |
優點 | 比RAID5有更好的讀性能 比相同容量的RAID5重建時間更短 可以容許N個磁盤同時失效 |
缺點 | 設計複雜,比較難實作 同一個RAID5組内的兩個磁盤失效會導緻整個陣列的失效 |
适用領域 | 大型資料庫伺服器、應用伺服器、檔案伺服器等應用 |
常用RAID級别的比較
RAID級别 | RAID0 | RAID1 | RAID3 | RAID5 | RAID10 |
别名 | 條帶 | 鏡像 | 專用奇偶位條帶 | 分布奇偶位條帶 | 鏡像陣列條帶 |
容錯性 | 無 | 有 | 有 | 有 | 有 |
備援類型 | 無 | 鏡像 | 奇偶校驗 | 奇偶校驗 | 鏡像 |
備盤 | 無 | 有 | 有 | 有 | 有 |
讀性能 | 高 | 低 | 高 | 高 | 中間 |
随機寫性能 | 高 | 低 | 最低 | 低 | 中間 |
連續寫性能 | 高 | 低 | 低 | 低 | 中間 |
需要的磁盤數 | 2個或更多 | 2個或2N個 | 3個或更多 | 3個或更多 | 4個或2N(N≥2) |
可用容量 | 總的磁盤容量 | 磁盤容量的50% | 磁盤容量的(N-1)/N | 磁盤容量的(N-1)/N | 磁盤容量的50% |
思考
常用RAID級别中:
- 哪種RAID級别性能最好?
- 哪種RAID級别備援程度最高?
- 相同可用容量下,哪種RAID級别開銷最高?
解答
常用RAID級别中:
- RAID0的性能最好;
- RAID1的備援程度最高;
- 相同可用容量下,RAID1和RAID 10的開銷最高。
三、RAID的實作方式和運作狀态
軟體RAID和硬體RAID
1)軟體RAID
- 功能都依賴于主機CPU完成,沒有第三方的控制處理器和I/O晶片
2)硬體RAID
- 有專門的RAID控制處理器和I/O處理晶片來處理RAID任務,不需占用主機CPU資源
RAID的運作狀态
-
建立(Create)
-
正常(Normal)
-
降級/臨界(Degrade/Critical)
-
重建(Rebuild/Recover)
-
重構(Reconstruct)
-
失效(Failed)
思考
若RAID5的一塊磁盤失效,則:
- 目前該RAID陣列運作在什麼狀态之下?
- 若又有一塊磁盤發生故障,會進入什麼狀态?
解答
若RAID5的一塊磁盤失效,則
- 目前處在降級/臨界狀态下
- 再有一塊磁盤發生故障,将進入失效狀态
總結
-
分塊、分區、分條是RAID組織資料的重要概念
-
RAID的備援方式有鏡像備援和校驗備援
-
常用RAID級别有RAID1、RAID5和RAID10等