磁盤冗余陣列之RAID5的配置


1988年由加利福尼亞大學伯克利分校發表的文章首次提到並定義了RAID,當今CPU性能每年可提升30%-50%但硬盤僅提升7%,漸漸的已經成為計算機整體性能的瓶頸,並且為了避免硬盤的突然損壞導致數據丟失還加入了冗余備份機制。

RAID的早先設計理念為”redundant array of Inexpensive disks“即不貴的硬盤組,而現在的定義是”Redundant Array ofIndependent Disks“即獨立的硬盤組,作用是防止硬盤物理損壞以及增加存儲設備的吞吐量。RAID常見的組合有01510

RAID0:需要至少兩塊(含)硬盤,可以有效的提高硬盤的性能和吞吐量,但沒有數據的冗余和錯誤修復能力。

 

將多塊硬盤通過硬件或軟件的方式串聯在一起,成為一個大的卷集,將數據依次寫入到各個硬盤中,這樣性能會極大提升,但若任意一塊硬盤故障則整個系統的數據都會受到破壞。

RAID1:需要至少兩塊(含)硬盤,可以有效的提高數據資料的安全性和可修復性,但成本卻提高了。

 

實現原來是在數據寫入硬盤時也會在另外一塊閑置的硬盤上生成鏡像文件,在不影響性能的情況下最大限度保證數據資料的可靠性,只要在一對鏡像盤中還有一塊硬盤可以使用,那么數據也不會丟失,具有很好的硬盤冗余能力,雖然對數據來講絕對的安全,但成本卻明顯增加,磁盤利用率僅為50%。

RAID5:需要至少三塊(含)硬盤,兼顧存儲性能、數據安全和儲存成本。

 

如上圖所示”parity”塊中保存的是其他硬盤數據的奇偶校驗信息(並非其他硬盤的數據),以數據的奇偶校驗信息來保證數據的安全,RAID5不以單獨的硬盤來存放數據的奇偶校驗信息,而是保存在各個磁盤上。

這樣當任何一個硬盤損壞都可以根據其他硬盤上的奇偶校驗信息來嘗試重建損壞的數據,性能也很高,兼顧了存儲性能、數據安全和存儲成本,可以看作是RAID0與RAID1的折中方案。

RAID10:需要至少四塊(含)硬盤,兼具速度和安全性,但成本很高。

 

繼承了RAID0的快速與RAID1的安全,RAID1在這里提供了冗余備份的陣列,而RAID0則負責數據的讀寫陣列。

因這種結構的成本高,一般用於存放要求速度與差錯控制的數據。

 

下面是RAID5的配置流程(5塊磁盤、3塊做raid,2塊做備份)

 

第一步:在虛擬機中再添加5塊硬盤:

 

 

 關閉虛擬機時點擊編輯虛擬機設置,然后添加磁盤

 

 

 

 

 

 

 

 

 

 

 

 

 

 

一路默認即可,完成后就可以看到添加了一個20G的新硬盤。同樣的辦法我們添加5個硬盤

 

 

 

 

打開虛擬機后 可以用fdisk -l查看添加的硬盤信息!

 

 

 

 

 

 

 

 

 第2步:使用mdadm命令創建RAID5,名稱為”/dev/md0″。

 

-C代表創建操作,-v顯示創建過程,-a yes檢查RAID名稱,-n是用到的硬盤個數,-l是定義RAID的級別而后面寫上要加入陣列的硬盤名稱。-x是備份磁盤

 

 

第3步:格式化並掛載使用

將RAID磁盤陣列格式化為ext4格式:

 

 

 

 

創建掛載目錄:注意掛載目錄前必須有/ 否則不能掛載

 

 

 

進行文件系統的掛載:

 

 

 

查看磁盤掛載信息:

 

 

 

最后,將此磁盤陣列掛載信息設置為重啟后也依然生效:(可以用這條命令,也可以直接vi編輯fstab也可以)

[root@linuxprobe ~]# echo "/dev/md0 /RAID ext4 defaults 0 0" >> /etc/fstab

 

 

 

第4步:查看/dev/md0設備信息

mdadm -D /dev/md0

 

 

 

第5步:模擬有1塊硬盤損壞的情況
使用mdadm的-f參數將/dev/sdb移出陣列:

 

 

第6步:損壞后依然正常使用

因為RAID5級別能夠允許一組RAID硬盤中存在一個故障盤而不影響使用,所以依然可以正常的創建或刪除文件~

可以把新的硬盤添加進去,也可以讓硬盤sdb恢復使用:重啟后執行“ mdadm /dev/md0 -a /dev/sdb”。

再來看下陣列的詳細信息(此時硬盤sde直接頂替上去了):表示備份起到了作用

   

 

 

 

可能很多同學參考了這個回答,希望大家不要吝嗇自己的鼠標,給俺推薦一下呀!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM