服務器磁盤陣列、RAID級別的闡述
磁盤陣列
磁盤陣列(Redundant Arrays of Independent Disks,RAID),有“獨立磁盤構成的具有冗余能力的陣列”之意。
磁盤陣列是由很多價格較便宜的磁盤,組合成一個容量巨大的磁盤組,利用個別磁盤提供數(shù)據(jù)所產生加成效果提升整個磁盤系統(tǒng)效能。利用這項技術,將數(shù)據(jù)切割成許多區(qū)段,分別存放在各個硬盤上。
磁盤陣列還能利用同位檢查(Parity Check)的觀念,在數(shù)組中任意一個硬盤故障時,仍可讀出數(shù)據(jù),在數(shù)據(jù)重構時,將數(shù)據(jù)經計算后重新置入新硬盤中。
所有的數(shù)據(jù)都是存儲在存儲介質中,我們現(xiàn)在做常用的就是硬盤,其實磁盤陣列就是一大堆磁盤組成的一個存儲空間。就好比你家有多個房間。共同組成了一個房子。而對于磁盤陣列來說,總重要的是在硬盤壞掉了也能夠保證數(shù)據(jù)的完整性,這個取決于所選擇的RAID級別。
RAID級別
RAID技術主要包含RAID 0~RAID 53等數(shù)個規(guī)范,我們數(shù)據(jù)中心最常用的是:
- RAID 0
- RAID 1
- RAID 5
- RAID 1+0/0+1
我就來簡單的介紹一下這幾個常用的RAID。RAID級別有好多。有興趣可以查一下。
RAID 0
RAID 0:RAID 0連續(xù)以位或字節(jié)為單位分割數(shù)據(jù),并行讀/寫于多個磁盤上,因此具有很高的數(shù)據(jù)傳輸率,但它沒有數(shù)據(jù)冗余,因此并不能算是真正的RAID結構。RAID 0只是單純地提高性能,并沒有為數(shù)據(jù)的可靠性提供保證,而且其中的一個磁盤失效將影響到所有數(shù)據(jù)。因此,RAID 0不能應用于數(shù)據(jù)安全性要求高的場合。RAID 0最簡單的實現(xiàn)方式就是把N塊同樣的硬盤用硬件的形式通過智能磁盤控制器或用操作系統(tǒng)中的磁盤驅動程序以軟件的方式串聯(lián)在一起創(chuàng)建一個大的卷集。在使用中電腦數(shù)據(jù)依次寫入到各塊硬盤中,它的***優(yōu)點就是可以整倍的提高硬盤的容量
RAID 0的存儲空間:所有磁盤空間相加。例如使用了三塊1T的硬盤組建成RAID 0模式,那么磁盤容量就會是3T。
RAID 0容量是所有磁盤容量和
RAID 1
RAD 1稱為磁盤鏡像,原理是把一個磁盤的數(shù)據(jù)鏡像到另一個磁盤上,也就是說數(shù)據(jù)在寫入一塊磁盤的同時,會在另一塊閑置的磁盤上生成鏡像文件,在不影響性能情況下***限度的保證系統(tǒng)的可靠性和可修復性上,只要系統(tǒng)中任何一對鏡像盤中至少有一塊磁盤可以使用,甚至可以在一半數(shù)量的硬盤出現(xiàn)問題時系統(tǒng)都可以正常運行,當一塊硬盤失效時,系統(tǒng)會忽略該硬盤,轉而使用剩余的鏡像盤讀寫數(shù)據(jù),具備很好的磁盤冗余能力。雖然這樣對數(shù)據(jù)來講絕對安全,但是成本也會明顯增加,磁盤利用率為50%,以四塊1T容量的硬盤來講,可利用的磁盤空間僅為2T。另外,出現(xiàn)硬盤故障的RAID系統(tǒng)不再可靠,應當及時的更換損壞的硬盤,否則剩余的鏡像盤也出現(xiàn)問題,那么整個系統(tǒng)就會崩潰。更換新盤后原有數(shù)據(jù)會需要很長時間同步鏡像,外界對數(shù)據(jù)的訪問不會受到影響,只是這時整個系統(tǒng)的性能有所下降。因此,RAID 1多用在保存關鍵性的重要數(shù)據(jù)的場合。
RAID 1的存儲空間:所有磁盤空間相加的一半。例如使用了兩塊1T的硬盤組建成RAID 1模式,那么磁盤容量就會是1T。
RAID 1容量是所有磁盤容量的一半
RAID 5
RAID 5:分布式奇偶校驗的獨立磁盤結構,RAID 5不單獨指定的奇偶盤,而是在所有磁盤上交叉地存取數(shù)據(jù)及奇偶校驗信息。在RAID 5上,讀/寫指針可同時對陣列設備進行操作,提供了更高的數(shù)據(jù)流量。RAID 5更適合于小數(shù)據(jù)塊和隨機讀寫的數(shù)據(jù)。對于RAID 5來說,大部分數(shù)據(jù)傳輸只對一塊磁盤操作,并可進行并行操作。在RAID 5中有“寫損失”,即每一次寫操作將產生四個實際的讀/寫操作,其中兩次讀舊的數(shù)據(jù)及奇偶信息,兩次寫新的數(shù)據(jù)及奇偶信息。
RAID 5的存儲空間:至少要用3塊硬盤??側萘渴荖-1。例如使用了三塊1T的硬盤組建成RAID 5模式,那么磁盤容量就會是2T。
RAID 5存儲空間是N-1
RAID 1+0/0+1
RAID 0+1名稱上我們便可以看出是RAID0與RAID1的結合體。在我們單獨使用RAID 1也會出現(xiàn)類似單獨使用RAID 0那樣的問題,即在同一時間內只能向一塊磁盤寫入數(shù)據(jù),不能充分利用所有的資源。為了解決這一問題,我們可以在磁盤鏡像中建立帶區(qū)集。因為這種配置方式綜合了帶區(qū)集和鏡像的優(yōu)勢,所以被稱為RAID 0+1。把RAID0和RAID1技術結合起來,數(shù)據(jù)除分布在多個盤上外,每個盤都有其物理鏡像盤,提供全冗余能力,允許一個以下磁盤故障,而不影響數(shù)據(jù)可用性,并具有快速讀/寫能力。RAID0+1要在磁盤鏡像中建立帶區(qū)集至少4個硬盤。
根據(jù)組合分為RAID 10和RAID 01,實際是將RAID 0和RAID 1標準結合的產物,在連續(xù)地以位或字節(jié)為單位分割數(shù)據(jù)并且并行讀/寫多個磁盤的同時,為每一塊磁盤作磁盤鏡像進行冗余。它的優(yōu)點是同時擁有RAID 0的超凡速度和RAID 1的數(shù)據(jù)高可靠性,但是CPU占用率同樣也更高,而且磁盤的利用率比較低。RAID 1+0是先鏡射再分區(qū)數(shù)據(jù),再將所有硬盤分為兩組,視為是RAID 0的***組合,然后將這兩組各自視為RAID 1運作。RAID 0+1則是跟RAID 1+0的程序相反,是先分區(qū)再將數(shù)據(jù)鏡射到兩組硬盤。它將所有的硬盤分為兩組,變成RAID 1的***組合,而將兩組硬盤各自視為RAID 0運作。性能上,RAID 0+1比RAID 1+0有著更快的讀寫速度??煽啃陨?,當RAID 1+0有一個硬盤受損,其余三個硬盤會繼續(xù)運作。RAID 0+1 只要有一個硬盤受損,同組RAID 0的另一只硬盤亦會停止運作,只剩下兩個硬盤運作,可靠性較低。因此,RAID 10遠較RAID 01常用,零售主板絕大部份支持RAID 0/1/5/10,但不支持RAID 01。
RAID0+1容量是所有磁盤一半
RAID1+0容量是所有磁盤的一半
這就是我們常用的磁盤陣列RAID級別,也是因為是我常用的,所以記錄一下。都在說這個數(shù)據(jù)的安全性,這個很多同學自己沒有磁盤陣列和RIAD卡進行測試。即便是工作中維護陣列,因為有數(shù)據(jù)不能夠拔下磁盤做測試。所以想要驗證這個RAID的對數(shù)據(jù)到底有沒有影響我們可以使用VMWARE WorkStation。虛擬機進行測試。我就簡單給截幾個圖,待有時間你可以自己測試。安裝Vmware Workstation很容易。下載安裝即可。
當我們新建好虛擬機之后不要安裝操作系統(tǒng),我們添加磁盤,如圖:
添加虛擬機磁盤
添加虛擬機磁盤
看你想做那個RAID級別的測試,比如用RAID 0 。我們添加兩塊磁盤,啟動時做一個RAID 0,然后裝系統(tǒng)。裝好之后把其中一塊磁盤刪掉,看看系統(tǒng)能不能啟動,當然啟動不了。RAID 0,壞一個數(shù)據(jù)就壞掉了。然后兩塊磁盤做一個RAID 1,然后裝系統(tǒng),裝好之后,刪除一塊磁盤,再啟動試試,發(fā)現(xiàn)不受影響???這樣就能夠測試一下RAID的級別的安全性了。