Linux--PAID磁碟陣列與陣列卡
目錄
前言
- RAID是英文Redundant Array of Independent Disks的縮寫,中文簡稱為獨立冗餘磁碟陣列。簡單的說,RAID是一種把多塊獨立的硬碟(物理硬碟)按不同的方式組合起來形成一個硬碟組(邏輯硬碟),從而提供比單個硬碟更高的儲存效能和提供資料備份技術。
- 組成磁碟陣列的不同方式稱為RAID級別(RAID Levels)。在使用者看起來,組成的磁碟組就像是一個硬碟,使用者可以對它進行分割槽,格式化等等。總之,對磁碟陣列的操作與單個硬碟一模一樣。不同的是,磁碟陣列的儲存速度要比單個硬碟高很多,而且可以提供自動資料備份。資料備份的功能是在使用者資料一旦發生損壞後,利用備份資訊可以使損壞資料得以恢復,從而保障了使用者資料的安全性。
一:RAID磁碟陣列詳解
-
RAID分為不同的等級,不同等級的RAID均在資料可靠性及讀寫效能上做了不同的權衡。
-
常用的RAID級別有以下幾種:
RAID 0
RAID 1
RAID 5
RAID 6
RAID 1+0
1.1:RAID 0磁碟陣列介紹
- RAID 0稱為條帶化儲存(Striping)(相當於Windows中是帶區卷)
- RAID 0以連續位或位元組為單位進行資料分割,將資料分段儲存於各個硬碟中並進行讀/寫資料,因此有很高的資料傳輸率,但它沒有資料冗餘,因此不能算真正的RAID結構
- RAID 0有很高的資料傳輸率,可達到單個硬碟的N倍(N為組成RAID 0硬碟的個數)
- RAID 0指示單純的提高效能,並沒有為資料的可靠性提供保證,而且其中的一個磁碟失效將影響到所有資料
- RAID 0不能應用於資料安全性要求高的場合
1.2:RAID 1磁碟陣列介紹
- RAID 1稱為映象儲存(mirroring)(相當於Windows中的映象卷)
- 通過磁碟資料映象實現資料冗餘,在成對的獨立磁碟上產生互為備份的資料
- 當原始資料繁忙時,可直接從映象拷貝中讀取資料,因此RAID 1 可以提高讀取效能
- 因為資料被同等的寫入成對的磁碟中,所以寫效能比較慢,主要受限於最慢的那塊磁碟
- RAID 1時磁碟陣列中單位成本最高的,但是提供了很高的資料安全性和可用性。當一個磁碟失效時,系統可以自動切換到映象磁碟上讀寫,而不需要重組失效的資料
- RAID 1是磁碟利用率最低的一個,如果N(偶數)塊硬碟組合成一組映象,只能利用其中N/2的容量
1.3:RAID 5磁碟陣列介紹
- RAID 5是一種儲存效能,資料安全與儲存成本兼顧的儲存解決方案,可以理解為是RAID 0和 RAID 1 的這種方案
- N(N>=3)塊盤組成陣列,一份資料產生N-1個條帶,同時還有一份校驗資料,共N份資料在N塊盤上迴圈均衡儲存
- N塊盤同時讀寫,讀效能很高,但由於有校驗機制的問題,寫效能相對不高
- 磁碟利用率為(N-1)/N容量,相當於一塊磁碟的容量空間用於儲存奇偶校驗資訊
- 可靠性高,允許壞1塊盤,不影響所有資料
1.4:RAID 6磁碟陣列介紹
- RAID 6採用雙重校驗技術,在RAID 5的技術上增加了第二個獨立的奇偶校驗資訊塊,兩個獨立的奇偶系統使用不同的演算法,即使兩塊磁碟同時失效也不會影響資料的使用,進一步加強了對資料的保護。
- N(N>=4)塊盤組成陣列,(N-2)/N容量 (相當於2塊磁碟的容量空間用於儲存奇偶校驗資訊)
- RAID 6需要分配給奇偶校驗資訊更大的磁碟空間,相對於RAID 5有更大的“寫損失”,因此寫效能較差
1.5:RAID容錯對比表
-RAID 1 , RAID 5, RAID 6都具有容錯性,我們做個對比
- 相對於其他幾種RAID來說,當N>2時,RAID 6的磁碟利用率得到了提高。又因為允許同時兩塊儲存裝置故障,顯然提供了更好的可用性
1.6:RAID 1+0磁碟陣列介紹
- RAID 1+0是RAID 1和RAID 0的結合,先做映象,再做條帶
- 兼顧了RAID 1的容錯能力與RAID 0的條帶化讀寫資料的優點,效能好,可靠性高。屬於混合型RAID
- N(偶數,N>=4)塊盤兩兩映象後,在組合成一個RAID 0,最多允許所有磁碟基組中的磁碟各損壞一個,但是不允許同一基組中的磁碟同時有壞的。
- 磁碟的利用率為N/2,
N/2塊盤同時寫入資料,N快盤同時讀取資料 - 類似的混合RAID還有RAID 0+1,二者在讀寫效能上差別不大,但是在安全性上 RAID 1+0 要好於 RAID 0+1
二:陣列卡介紹
2.1:陣列卡介紹
- 陣列卡全稱為磁碟陣列卡,是用來實現RAID 功能的板卡
- RAID卡一般分為硬RAID卡和軟RAID卡兩種
- 通過硬體來實現RAID功能的就是硬RAID,通常是喲I/O處理器,硬碟控制器,硬碟聯結器和快取等一些列元件構成
- 通過軟體並使用CPU的RAID卡我們成為軟RAID,因為軟RAID佔用CUP資源比較高,所以絕大部分的伺服器裝置都使用的硬RAID
- 不同的RAID卡支援的RAID功能不同,例如支援RAID 0,RAID 1,RAID 5,RAID1+0等
- RAID卡的第一個重要功能就是他可以達到單個磁碟驅動器的幾倍,幾十倍甚至上百倍的速率,這也是RAID最初想要解決的問題
- RAID卡的第二個重要功能就是提供容錯能力,現在伺服器基本上整合了RAID卡
2.2:RAID卡的介面型別
- RAID卡的介面指的是支援的介面,目前有IDE 介面,SCSI介面,SATA介面和SAS介面
- IDE介面
- IDE的英文全稱為“Integrated Drive Electronics”,即“電子整合驅動器”,屬於並行介面。
- 它是把“硬碟控制器”與“盤體”整合在一起的硬碟驅動器,這樣使得硬碟介面的電纜數目與長度有所減少,從而資料傳輸的可靠性得到增強
- IDE介面價格低廉,相容性強
- 在實際的應用中,這種型別的介面隨著介面技術的不斷髮展已經很少用了,逐漸被後續發展分支出更多型別的硬碟介面所取代。
- SCSI介面
- SCSI 的英文全稱為“Small Computer System Interface”(小型計算機系統介面),是和IDE完全不同的介面,IDE介面是普通PC的標準介面,而SCSI是一種通用的介面標準,具備與不同型別外部裝置進行通訊的能力,是一種廣泛應用於小型機上的高速資料傳輸技術
- SCSI是個多工介面,設有母線仲裁功能,掛在一個SCSI母線上的多個外部裝置可以同時工作,並平等佔有匯流排
- SCSI介面可以同步或非同步傳輸資料,同步傳輸資料可以達到10M/s,非同步傳輸速率可以達到1.5M/s
- SCSI介面的CPU佔用率低,支援熱插熱拔,但價格較高,因此SCSI硬碟主要用於中,高階工作站中
- SATA介面
-
SATA是“Serial ATA”的縮寫,主要用在主機板和大量儲存裝置之間傳輸資料。擁有這種介面的硬碟又叫串列埠硬碟,以採用序列方式傳輸資料
-
SATA匯流排使用了嵌入式時鐘訊號,使得其具備更強的糾錯能力。如果發現資料傳輸中的錯誤會自動進行矯正,很大程度上提高了資料傳輸的可靠性,也是一種支援熱拔熱插的介面
- SAS介面
- SAS的英文全稱為“Serial Attached SCSI”是新一代的SCSI技術,稱為序列式SCSI
- SAS可以看做是SATA與SCSI的結合體,是同時發揮兩者的優勢產生的,主要用在周邊零件的資料傳輸上
- 和SATA硬碟相同,都是採用序列技術以獲得更高的傳輸速度
- SAS的介面技術可以向下相容SATA裝置
2.3:陣列卡的快取
- 快取(Cache)是RAID卡與外部匯流排交換資料的場所,是RAID卡電路板上的一塊儲存晶片,與硬碟碟片相比,具有極快的存取速度。RAID卡現將資料傳送到快取,再經由快取和外邊資料匯流排交換資料
- 快取的大小與速度是直接關係到RAID卡的實際傳輸速度的重要因素,大快取能夠大幅度的提高資料命中率從而提高RAID卡整體效能
- 不同的RAID卡出廠時配備的記憶體容量不同,一般為幾兆到數百兆容量不等,主要取決於磁碟陣列產品所應用的範圍
相關文章
- 磁碟陣列陣列
- 磁碟陣列配置陣列
- RAID磁碟陣列與配置AI陣列
- RAID磁碟陣列AI陣列
- 磁碟陣列RAID陣列AI
- MegaCli管理磁碟陣列陣列
- 指標陣列和陣列指標與二維陣列指標陣列
- 磁碟陣列(Disk array)原理陣列
- 磁碟陣列RAID概述陣列AI
- scala陣列與java陣列對比陣列Java
- 指標陣列與陣列指標指標陣列
- 組磁碟陣列的主要作用陣列
- 廉價冗餘磁碟陣列陣列
- 認識RAID磁碟陣列AI陣列
- RAID磁碟陣列應用AI陣列
- 磁碟陣列操作手冊陣列
- 磁碟陣列(Disk array)原理(轉)陣列
- JavaSE 陣列:一維陣列&二維陣列Java陣列
- PHP中二維陣列與多維陣列PHP陣列
- 陣列,陣列類,SyStem類陣列
- 陣列結構之陣列陣列
- Java陣列03:陣列使用Java陣列
- 物件陣列與一般陣列的區別物件陣列
- 磁碟陣列檢視命令 RAID陣列AI
- RAID 磁碟陣列的應用AI陣列
- 磁碟陣列可靠度的計算陣列
- JNI/NDK開發指南(5):訪問陣列(基本型別陣列與物件陣列)陣列型別物件
- 陣列1——求一個陣列的最大子陣列陣列
- 演算法-陣列與矩陣演算法陣列矩陣
- 七、陣列與切片陣列
- go陣列與切片Go陣列
- Java介面與陣列Java陣列
- 字元陣列與字串字元陣列字串
- 陣列--移除陣列中指定的元素,不改變原陣列和改變原陣列陣列
- 陣列二:使用陣列可變函式為陣列排序陣列函式排序
- Linux下RAID磁碟陣列的原理與搭建LinuxAI陣列
- C++ 指標陣列與陣列指標的區別C++指標陣列
- Javascript - 陣列和陣列的方法JavaScript陣列