Raid詳解
Raid卡管理
一、Raid簡介
RAID(Redundant Array of Independent Disks),即獨立磁碟冗餘陣列,其前身為Redundant Array of Inexpensive Disks,即廉價磁碟冗餘陣列。
其主要是用來將多個相對廉價的磁碟組合成一個磁碟陣列組,使其效能達到甚至超過一個價格昂貴的、容量巨大的硬碟。它可以增強資料整合度,增強容錯功能,增加處理量和容量。
二、Raid種類
根據實現模式,分為軟體和硬體兩種:
軟體磁碟陣列(Software RAID),主要由電腦主機板CPU處理陣列儲存作業,缺點為耗損較多CPU資源運算RAID,優點則是價格偏低。分類有二種:純軟體磁碟陣列(Pure Software RAID):只需要主機板支援即可,不需要任何磁碟陣列卡。若主機板損壞,可能難以購買同款主機板重建RAID。硬體輔助磁碟陣列(Hardware-Assisted RAID):需要一張RAID卡,以及廠商所提供的驅動程式。這款RAID較易遷移到其他電腦。
硬體磁碟陣列(Hardware RAID)RAID卡上內建處理器,不需要伺服器的CPU運算。優點是讀寫效能最快,不佔用伺服器資源,可用於任何作業系統,也能在系統斷電後,透過備份電池模組(BBU, Backup Battery Unit)以及非易失性儲存器 (NVRAM)將硬碟讀寫日誌檔(Journal)包含的剩餘讀寫作業先紀錄在儲存器中,等待電力供應撤消後,再由NVRAM取回日誌檔資料,接著再完成讀寫作業,將剩餘讀寫作業安全完成以確保讀寫完整性。備份電池模組通常會配合陣列卡的Write-Back快取模式,藉由此儲存器快取讀寫作業以得到更高的讀寫效能;但是沒有備份電池模組的硬體磁碟陣列卡,切勿使用Write-Back快取模式以免遭遇斷電情形導致讀寫資料流失。此外,因為硬體磁碟陣列卡搭載CPU處理器,所以可以與系統分離出來,對硬碟進行各種作業,還原作業的速度也比軟體磁碟陣列快。缺點是其售價很高,通常只用於RAID 5和RAID 6。
其中標準的Raid有Raid-0,Raid-1,Raid-2,Raid-3,Raid-4,Raid-5,Raid-6。擴充套件的Raid有Raid7,Raid-10,Raid-01,Raid-50,Raid-53,Raid-60。
l RAID 0
Raid0亦稱為帶區集。它將兩個以上的磁碟並聯起來,成為一個大容量的磁碟。在存放資料時,分段後分散儲存在這些磁碟中,因為讀寫時都可以並行處理,所以在所有的級別中,RAID 0的速度是最快的。但是RAID 0既沒有冗餘功能,也不具備容錯能力,如果一個磁碟(物理)損壞,所有資料都會丟失,危險程度與JBOD相當。
l RAID 1
兩組以上的N個磁碟相互作映象,在一些多執行緒作業系統中能有很好的讀取速度,理論上讀取速度等於硬碟數量的倍數,另外寫入速度有微小的降低。只要一個磁碟正常即可維持運作,可靠性最高。其原理為在主硬碟上存放資料的同時也在映象硬碟上寫一樣的資料。當主硬碟(物理)損壞時,映象硬碟則代替主硬碟的工作。因為有映象硬碟做資料備份,所以RAID 1的資料安全性在所有的RAID級別上來說是最好的。但無論用多少磁碟做RAID 1,僅算一半磁碟的容量,是所有RAID中磁碟利用率最低的一個級別。
如果用兩個不同大小的磁碟建RAID 1,可用空間為較小的那個磁碟,較大的磁碟多出來的空間也可以分割槽成一個區來使用,不會造成浪費。
l RAID 2
這是RAID 0的改進版,以漢明碼(Hamming Code)的方式將資料進行編碼後分割槽為獨立的位元,並將資料分別寫入硬碟中。因在資料中加入了錯誤修正碼(ECC,Error Correction Code),所以資料整體的容量會比原始資料大一些,磁碟空間利用率下降,RAID2最少要三臺磁碟驅動器方能運作。
l RAID 3
採用Bit-interleaving(資料交錯儲存)技術,它需要透過編碼再將資料位元分割後分別存在硬碟中,而將同位元檢查後單獨存在一個硬碟中,但由於資料內的位元分散在不同的硬碟上,因此就算要讀取一小段資料資料都可能需要所有的硬碟進行工作,所以這種規格比較適於讀取大量資料時使用。
l RAID 4
它與RAID 3不同的是它在分割槽時是以區塊為單位分別存在硬碟中,但每次的資料訪問都必須從同位元檢查的那個硬碟中取出對應的同位元資料進行核對,由於過於頻繁的使用,所以對硬碟的損耗可能會提高。(塊交織技術,Block interleaving)
l RAID 5
RAID Level 5是一種儲存效能、資料安全和儲存成本兼顧的儲存解決方案。它使用的是Disk Striping(硬碟分割槽)技術。RAID 5至少需要三塊硬碟,RAID 5不是對儲存的資料進行備份,而是把資料和相對應的奇偶校驗資訊儲存到組成RAID5的各個磁碟上,並且奇偶校驗資訊和相對應的資料分別儲存於不同的磁碟上。當RAID5的一個磁碟資料發生損壞後,可以利用剩下的資料和相應的奇偶校驗資訊去恢復被損壞的資料。RAID 5可以理解為是RAID 0和RAID 1的折衷方案。RAID 5可以為系統提供資料安全保障,但保障程度要比映象低而磁碟空間利用率要比映象高。RAID 5具有和RAID 0相近似的資料讀取速度,只是因為多了一個奇偶校驗資訊,寫入資料的速度相對單獨寫入一塊硬碟的速度略慢,若使用“回寫快取”可以讓效能改善不少。同時由於多個資料對應一個奇偶校驗資訊,RAID 5的磁碟空間利用率要比RAID 1高,儲存成本相對較便宜。
Size=(N-1) * Min(S1,S2,S3…Sn)
l RAID 6
與RAID 5相比,RAID 6增加第二個獨立的奇偶校驗資訊塊。兩個獨立的奇偶系統使用不同的演算法,資料的可靠性非常高,任意兩塊磁碟同時失效時不會影響資料完整性。RAID 6需要分配給奇偶校驗資訊更大的磁碟空間和額外的校驗計算,相對於RAID 5有更大的IO操作量和計算量,其“寫效能”強烈取決於具體的實現方案,因此RAID6通常不會透過軟體方式來實現,而更可能透過硬體/韌體方式實現。
同一陣列中最多容許兩個磁碟損壞。更換新磁碟後,資料將會重新算出並寫入新的磁碟中。依照設計理論,RAID 6必須具備四個以上的磁碟才能生效。
Size=(N-2) * Min(S1,S2,S3…Sn )
l RAID 7
RAID 7並非公開的RAID標準,而是Storage
Computer Corporation的專利硬體產品名稱,RAID 7是以RAID 3及RAID 4為基礎所發展,但是經過強化以解決原來的一些限制。另外,在實現中使用大量的快取記憶體以及用以實現非同步陣列管理的專用即時處理器,使得RAID 7可以同時處理大量的IO要求,所以效能甚至超越了許多其他RAID標準的實做產品。但也因為如此,在價格方面非常的高昂
l RAID 10
RAID 10是先鏡射再分割槽資料,再將所有硬碟分為兩組,視為是RAID 0的最低組合,然後將這兩組各自視為RAID 1運作
l RAID 01
RAID 01則是跟RAID 10的程式相反,是先分割槽再將資料鏡射到兩組硬碟。它將所有的硬碟分為兩組,變成RAID 1的最低組合,而將兩組硬碟各自視為RAID 0運作。
當RAID 10有一個硬碟受損,其餘硬碟會繼續運作。RAID 01只要有一個硬碟受損,同組RAID 0的所有硬碟都會停止運作,只剩下其他組的硬碟運作,可靠性較低。如果以六個硬碟建RAID 01,鏡射再用三個建RAID 0,那麼壞一個硬碟便會有三個硬碟離線。因此,RAID 10遠較RAID 01常用,零售主機板絕大部分支援RAID 0/1/5/10,但不支援RAID 01。
l RAID 50
l RAID 53
它擁有一個鏡射條帶陣列,硬碟裡其中一個條帶就是一個是由3組以上的RAID 5組成RAID 3硬碟陣列。
l RAID 60
三、 Raid對比表
RAID2、3、4較少實際應用,因為RAID5已經涵蓋了所需的功能,因此RAID2、3、4大多隻在研究領域有實現,而實際應用上則以RAID5為主。
RAID4有應用在某些商用機器上,像是NetApp公司設計的NAS系統就是使用RAID4的設計概念。
RAID等級 |
最少硬碟 |
最大容錯 |
可用容量 |
讀取效能 |
寫入效能 |
安全性 |
目的 |
應用產業 |
0 |
1*n |
0 |
n |
n |
n |
平行儲存(條帶)一個硬碟異常,全部硬碟都會異常 |
追求最大容量、速度 |
影片剪接快取用途 |
1 |
2*n |
n-1 |
n/2 |
n |
n/2 |
映象儲存,最高,一個正常即可 |
追求最大安全性,隨機寫效能低 |
個人、企業備份 |
10 |
4*n |
n/2 |
n/2 |
n |
n/2 |
安全性高 |
綜合RAID 0/1優點,理論速度較快 |
大型資料庫、伺服器 |
5 |
3 |
1 |
n-1 |
n-1 |
n-1 |
高 |
隨機和連續寫效能低,追求最大容量、最小預算 |
個人、企業備份 |
6 |
4 |
2 |
n-2 |
n-2 |
n-2 |
安全性較RAID 5高 |
同RAID 5,但較安全 |
個人、企業備份 |
JBOD |
1 |
0 |
n |
1 |
1 |
無(同RAID 0) |
增加容量 |
個人(暫時)儲存備份 |
單一硬碟 |
(參考) |
0 |
1 |
1 |
1 |
無 |
|
|
四、 Raid資訊檢視
本手冊採用的是Megcli工具檢視raid陣列資訊,基本的軟raid可以透過cat /proc/mdstat檢視,基於硬raid可以透過dmesg |grep -i raid或者cat /proc/scsi/scsi或者/usr/dpt/raidutil -L all檢視,也可以在伺服器啟動的時候Ctrl+R檢視raid資訊。lspci可以看到RAID卡的型號。
l 安裝MegaCli軟體
rpm -ivh MegaCli-8.07.07-1.noarch.rpm
ln -s /opt/MegaRAID/MegaCli/MegaCli64 /usr/bin/MegaCli
l 常用命令
檢視Raid卡級別,顯示所有邏輯磁碟組資訊:MegaCli -LDInfo -LALL -aAll
顯示Raid卡型號,Raid設定,Disk相關資訊(壞塊檢查):MegaCli -cfgdsply -aALL
顯示所有的物理資訊,檢視硬碟資訊(硬碟狀態) :MegaCli -PDList -aAll
顯示所有介面卡資訊,支援的Raid卡種類:MegaCli -AdpAllInfo –aAll
檢視Raid卡電池資訊MegaCli -AdpBbuCmd –aAll
其他命令
顯示介面卡個數 MegaCli –adpCount
顯示介面卡時間 MegaCli -AdpGetTime –aALL
檢視raid卡日誌 MegaCli -FwTermLog -Dsply –aALL
檢視充電狀態 MegaCli -AdpBbuCmd -GetBbuStatus -aALL |grep 'Charger Status'
顯示BBU狀態資訊 MegaCli -AdpBbuCmd -GetBbuStatus –aALL
顯示BBU容量資訊 MegaCli -AdpBbuCmd -GetBbuCapacityInfo –aALL
顯示BBU設計引數 MegaCli -AdpBbuCmd -GetBbuDesignInfo -aALL
顯示當前BBU屬性 MegaCli -AdpBbuCmd -GetBbuProperties -aALL
顯示硬碟重構進度:MegaCli -PDRbld -ShowProg -PhysDrv [32:3] -a0
l Raid級別資訊
RAID Level : Primary-1, Secondary-0, RAID Level Qualifier-0" #代表Raid 1
RAID Level : Primary-0, Secondary-0, RAID Level Qualifier-0" #代表Raid 0
RAID Level : Primary-5, Secondary-0, RAID Level Qualifier-3" #代表Raid 5
RAID Level : Primary-1, Secondary-3, RAID Level Qualifier-0" #代表Raid10
五、附錄
相關Raid的詳細介紹資訊可以透過維基百科檢視
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/27067062/viewspace-2130146/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 磁碟陣列RAID10優勢全面詳解_轉摘陣列AI
- 配置RAID/修復RAID詳細文件,全程圖文(附lsi raid 卡模擬器)AI
- 詳細解讀:不同RAID級別的優缺點對比AI
- Raid Raid0 Raid1 Raid5 Raid0+1 Raid1+0AI
- linux raid 0 raid 1 raid 10LinuxAI
- Raid1 Raid2 Raid5 Raid6 Raid10如何選擇使用AI
- win10系統如何設定RAID_win10設定RAID的詳細步驟Win10AI
- sysbench fileio 壓測磁碟raid 5 raid 1 raid10 raid 50 情況AI
- RAID0、RAID1、RAID0+1、RAID5原理介紹AI
- raid1 raid2 raid5 raid6 raid10的優缺點和做各自raid需要幾塊硬碟AI硬碟
- 磁碟陣列關於Raid0,Raid1,Raid5,Raid10陣列AI
- RAIDAI
- 某品牌儲存raid崩潰解決方案/raid5資料恢復案例AI資料恢復
- 掃盲:Raid0、Raid1、Raid5及Raid10的區別AI
- raid1+0 and raid0+1AI
- RAID卡AI
- 磁碟RAIDAI
- 普通raid常見故障解和決方案彙總AI
- 轉載:RAID5和RAID10,哪種RAID更適合你AI
- Raid0/raid1/raid5磁碟陣列資料恢復思路AI陣列資料恢復
- oracle orion 壓測磁碟效能raid10 raid5 raid50 資料OracleAI
- http協議/cookie詳解/session詳解HTTP協議CookieSession
- 伺服器無法識別raid怎麼解決伺服器AI
- raid簡介AI
- RAID選項AI
- RAID技術AI
- raid問題AI
- raid與lunAI
- RAID10與RAID5的異同比較AI
- RAID5到RAID6,RAID6磁碟陣列資料安全提高多少?【轉】AI陣列
- Lombok 註解詳解Lombok
- Java註解詳解Java
- Java 註解詳解Java
- Java註解最全詳解(超級詳細)Java
- HiveQL詳解Hive
- 詳解Inode
- Vuex詳解Vue
- PWA詳解