2021-05-12 14:32:11
Linux基礎教學:獨立硬碟冗餘陣列-RAID
獨立硬碟冗餘陣列(RAID,Redundant Array of Independant Disks),舊稱為廉價磁碟冗餘陣列(Redundant Array of Inexpensive Disks)。1987年美國加州伯克利分校的一篇名為《A Case for Redundant Arrays of Inexpensive Disk(RAID)》論文誕生,這標誌著RAID技術的開始。
RAID的實現模式
Software RAID:
軟體磁碟陣列,由CPU處理和協調一個RAID裡面各個硬碟的作業,這樣就會給CPU帶來較多的運算壓力,分為3種:
1)基於主機板的的磁碟陣列:通常上是由主機板上的晶片組提供RAID功能。
2)硬體輔助磁碟陣列:需要RAID卡和相關廠商提供的驅動程式,RAID功能是由驅動程式和CPU運算來提供
3)作業系統的RAID功能:Linux、windows Server等作業系統內建的RAID功能
雖然軟RAID實現的有多種,但是在生產環境還是不建議使用的。
Hardware RAID:
硬體磁碟陣列,在RAID卡上內建了CPU處理器,這樣就不佔用伺服器的CPU了。一般硬體磁碟陣列都會有備份的電源模組和NVRAM(非易失性記憶體),當系統斷掉後,備份電源開始供電,將硬碟讀寫的紀錄檔儲存在記憶體中,當系統恢復,備份電源關閉供電,再在NVRAM讀取紀錄檔資料,繼續完成上次斷電前沒有完成的作業。
常用RAID介紹
常用的RAID有:RAID0,RAID-1,RAID-5,RAID6,RAID-10,RAID50。
RAID0,也稱條帶卷(striping)。在RAID0中,資料會被切成片,按一定順序會被寫到所有的磁碟裡面,如下圖:
若一片資料被切割成了A1-A8,將儲存在一個由2塊Disk組成的RAID0,那麼第一段資料塊A1會被儲存在Disk0中,第二段資料塊A2會被儲存在Disk1中,第三段資料塊會被儲存在Disk0中,以此類推,這一片資料會被均分到2塊磁碟上。
RAID0的優缺點:
1)速度快,寫和讀的能力得到了提高;
2)RAID0沒有冗餘的能力,一旦一塊磁碟出現了故障,則所有的資料都將不會恢復;
3)RAID0需要N塊磁碟才能實現(N>=2);
4)能夠儲存資料的大小為N*min(S1,S2,S3,S4....)
在RAID0中有兩個重要的引數:
條頻寬度:stripe width,它指的是可以被並行寫入的資料塊的個數,也就是實現RAID0中磁碟的個數;
條帶大小:stripe size,它指的是每次寫入磁碟的資料塊的大小,大小一般為2KB或者512KB甚至更大,size越小,資料被分割的次數就越多。stripe size對效能是有一定的影響的,在生產環境中,需要調整好。
RAID1,映象化,在RAID1中,資料會被複製成多份,儲存在多個磁碟上,如下圖:
若一片資料將要被儲存,資料會被複製成多份(取決RAID1的磁碟個數),然後儲存到每一個磁碟上。
RAID1的優缺點:
1)冗餘性和資料的可靠性最高,只要不是磁碟同時損壞了,一般都不會帶來資料丟失的問題;
2)RAID1的容量取決容量最小的那個磁碟,寫入速度也是取決於最小的那個磁碟,較大的磁碟的剩餘空間可 以分割區使用,不會造成浪費;
3)RAID1的讀取速度理論上來說是磁碟個數的倍數;
4)RAID1需要N塊磁碟才能實現(N>=2)
5)能夠儲存資料的大小為min(S1,S2,S3...)
RAID3,資料類似於RAID0,被條帶化的儲存在多個磁碟中,資料以位元組為單位,與RAID0不同的是,RAID3單獨使用了一塊獨立的磁碟用來儲存資料的奇偶校驗值,如下圖所示:
資料被切片儲存在Disk0-2上,同時計算處奇偶校驗值儲存在Disk3上,這樣即使Disk0-2中損壞一塊磁碟,也能根據奇偶校驗值得到損壞磁碟的資料。
RAID3的優缺點:
1.較高的容錯能力;
2.不適合寫入操作較多的情景,會給校驗盤帶來一定的負載,適合讀取操作較多的應用環境;
3.RAID3需要N塊磁碟(N>=3);
4.能夠儲存資料的大小為(N-1)*min(S1,S2,S3,S4....)。
和RAID3類似,RAID4不是以位元組為存取單位,RAID4的資料以塊(一般為512位元組)為單位,如下圖:
以塊為單位帶來的好處就是,減少了奇偶檢驗的次數,比如,如果一段資料的大小為10個位元組,在RAID3上可能需要計算2次奇偶檢驗值了,但是在RAID4上,10個位元組都會被放在第一個磁碟上,並不需要計算。
RAID4的優缺點:
1.較高的容錯能力;
2.提高了小量資料的I/O能力;
3.RAID4需要N塊磁碟(N>=3);
4.能夠儲存資料的大小為(N-1)*min(S1,S2,S3,S4....)。
RAID5可以理解成是RAID0和RAID1的折中方案,把資料條帶化後儲存,並且將資料奇偶檢驗值儲存在所有的硬碟上,如下圖:
資料被條帶化儲存到了磁碟上,並且每個磁碟上都能夠儲存奇偶檢驗值,其讀寫速度和RAID0差不多,可能寫的時候要慢一點,比較要計算奇偶檢驗,這樣,即使壞掉一塊磁碟,只需要更換上好的磁碟,RAID會利用剩下奇偶檢驗去重建磁碟上的資料。
RAID5的優缺點:
1)較高的容錯能力;
2)讀寫速度快;
3)RAID4需要N塊磁碟(N>=3);
4)能夠儲存資料的大小為(N-1)*min(S1,S2,S3,S4....)。
與RAID5類似,只是增加了第二個獨立的奇偶檢驗資訊塊,使用了兩種不同的奇偶檢驗演算法,如下圖所示:
資料仍然是被條帶化得儲存在磁碟上,但是會計算出兩個獨立的奇偶檢驗值,相對於RAID5來說有更多的I/O操作和計算量,所以RAID6通常不會以軟體來實現,一般會使用硬體實現,RAID6也是最常見的磁碟陣列。
RAID6的優缺點:
1)較高的容錯能力
2)同一RAID6中最多執行同時損壞2塊磁碟,更換磁碟後,資料將被重新計算寫入;
3)RAID6需要N個磁碟(N>=4);
4)RAID容量為(N-2)*min(s1,s2,s3,...)
RAID 01是一種混合的磁碟陣列,即是RAID0和RAID1的混合,先做條帶,再做映象:
RAID01中,同組RAID0只要出現一個磁碟損壞,那麼這個RAID 0就不能你使用了,值剩下其他組的磁碟運作,可靠性較低。
RAID01的優缺點:
1)資料可靠性低
2)RAID01需要N個磁碟(N>=4)
更多詳情見請繼續閱讀下一頁的精彩內容: http://www.linuxidc.com/Linux/2017-09/146900p2.htm
相關文章