磁盤陣列(Redundant Arrays of Independent Disks,RAID),通過軟件或者硬件的手段將多個磁盤整合成一個磁盤來使用,以此來提高磁盤的性能,并提供數據冗余的功能。
目前常見的RAID等級:
raid0,被稱為條帶卷。
條帶卷,我們可以通過名字來想象:RAID0通過把文件切割之后把數據像一條帶子一樣平鋪在每個磁盤之上。
由于文件的數據分布在每個磁盤上,所以其中一個磁盤出現問題的時候,文件就會由于缺失了某部分而損壞。并且RAID0不提供冗余,所以不需要額外使用空間來儲存校驗碼。所以磁盤空間都可以用作儲存文件。
并且,磁盤的實際容量體現為木桶理論(最小的水平決定整體的水平)。假如有4個磁盤,分別320G,500G,1T,2T。則實際的容量為 最小容量的盤 乘以 硬盤數量 ,即320G乘以4。
讀寫性能由于磁頭數的增加,所以讀寫的時候磁頭之間可以可以實現分工合作。所以讀寫性能提升。
RAID1,稱為鏡像卷。
由名字可以理解,RAID1提供完全冗余。也就是說,假如有兩個相同大小的磁盤,RAID1的實際容量只有一個磁盤的大小。而另外一個磁盤儲存著相同的數據內容。需要注意的是,RAID1不提供數據校驗的冗余,所以不需要提供額外的空間儲存校驗塊。
由于寫入的時候需要對文件進行切片(分割成chunk,raid的文件塊),并且磁盤需要寫入相同的內容。所以寫性能不會提升,甚至有所下降。
而讀取的時候,有與磁盤里面儲存的內容相同,可以通過從不同磁盤里面讀取數據,所以數據讀取速度有所提升。
RAID4
提供數據冗余,實際容量同樣遵循木桶理論。比較特別的是,RAID4將所有的數據校驗碼都儲存在同一個磁盤上。所以當任何一個磁盤出現問題的時候,都要去校驗盤那里讀取數據以計算損壞了的文件。
因此校驗盤的性能容易成為整個RAID設備性能的瓶頸。由于需要額外的空間來儲存校驗塊以實現數據冗余,所以實際的可用空間為:最小的磁盤容量 乘以(磁盤數量-校驗盤)
RAID5
目前流行的磁盤陣列類型。為了解決RAID4中檢驗盤性能的瓶頸。RAID5中把校驗塊分布到每個磁盤中,當數據損壞的時候,由于校驗塊不會集中在某個磁盤上,所以每個磁盤的IO壓力都不會太大。
磁頭整體數量增多,讀寫速度提升。
實際的磁盤空間為:最小的磁盤容量 乘以(磁盤數量-1)
其中1為檢驗塊的總體比例,即儲存兩個文件數據時就要儲存一個校驗塊。
而由于避免校驗塊都儲存到同一個磁盤上,所以在設計上檢驗塊會偏移。
所以根據第一個數據塊儲存在哪個盤上,也可分為左對稱和右對稱。
RAID6
在RAID的基礎上進行改進,通過假如增加校驗塊,而有更好的容錯能力。
由于整體的磁頭數量增加,所以讀取速率提升。
但是由于寫入數據時不僅要寫入文件數據,還要計算并寫入兩個校驗塊。所以寫入速率性能下降
并且由于增加了一位校驗塊,RAID控制器要求更加復雜,所以在數據安全和磁盤性能中進行取舍,RAID5更受歡迎。
實際的磁盤空間為:最小的磁盤容量 乘以(磁盤數量-2)
原創文章,作者:菠菜,如若轉載,請注明出處:http://www.www58058.com/10653