磁碟陣列

CentOS 7.4搭建RAID5及測試例項

Google+ Pinterest LinkedIn Tumblr

前言

一、RAID的定義與作用

RAID(獨立冗餘磁碟陣列)。RAID技術通過把多個硬碟裝置組合成一個容量更大的,安全性更好的磁碟陣列。把資料切割成許多區段後分別放在不同的物理磁碟上,然後利用分散讀寫技術來提升磁碟陣列整體的效能,同時把多個重要資料的副本同步到不同的物理裝置上,從而起到了非常好的資料冗餘備份效果。缺點就是磁碟利用率低。

二、RAID的分類

RAID的分類目前來說至少有幾十種,這裏簡單介紹一下最常見的四種,RAID0,RAID1,RAID10,RAID5。

1、RAID 0

RAID 0是最早出現的RAID模式,即Data Stripping資料分條技術。RAID 0是組建磁碟陣列中最簡單的一種形式,只需要2塊以上的硬碟即可,成本低,可以提高整個磁碟的效能和吞吐量。RAID 0沒有提供冗餘或錯誤修復能力,但實現成本是最低的。

2、RAID 1

RAID 1稱為磁碟映象,原理是把一個磁碟的資料映象到另一個磁碟上,也就是說資料在寫入一塊磁碟的同時,會在另一塊閒置的磁碟上生成映象檔案,在不影響效能情況下最大限度的保證系統的可靠性和可修復性上,只要系統中任何一對映象盤中至少有一塊磁碟可以使用,甚至可以在一半數量的硬碟出現問題時系統都可以正常執行,當一塊硬碟失效時,系統會忽略該硬碟,轉而使用剩餘的映象盤讀寫資料,具備很好的磁碟冗餘能力。雖然這樣對資料來講絕對安全,但是成本也會明顯增加,磁碟利用率為50%。

3、RAID0+1

RAID 0+1名稱上我們便可以看出是RAID0與RAID1的結合體。在我們單獨使用RAID 1也會出現類似單獨使用RAID 0那樣的問題,即在同一時間內只能向一塊磁碟寫入資料,不能充分利用所有的資源。爲了解決這一問題,我們可以在磁碟映象中建立帶區集。因為這種配置方式綜合了帶區集和映象的優勢,所以被稱為RAID 0+1。把RAID0和RAID1技術結合起來,資料除分佈在多個盤上外,每個盤都有其物理映象盤,提供全冗餘能力,允許一個以下磁碟故障,而不影響資料可用性,並具有快速讀/寫能力。RAID0+1要在磁碟映象中建立帶區集至少4個硬碟。也有一種叫法叫RAID10.

4、RAID5:分散式奇偶校驗的獨立磁碟結構

它的奇偶校驗碼存在於所有磁碟上。RAID5的讀出效率很高,寫入效率一般,塊式的集體訪問效率不錯。因為奇偶校驗碼在不同的磁碟上,所以提高了可靠性。但是它對數據傳輸的並行性解決不好,而且控制器的設計也相當困難。在RAID 5中有「寫損失」,即每一次寫操作,將產生四個實際的讀/寫操作,其中兩次讀舊的資料及奇偶資訊,兩次寫新的資料及奇偶資訊。

總結:RAID0大幅度提升了裝置的讀寫效能,但不具備容錯能力。RAID1雖然十分注重資料安全,但磁碟利用率太低。RAID5就是raid0和RAID5的一種折中,既提升了磁碟讀寫能力,又有一定的容錯能力,成本也低。RAID10就是RAID0和raid1的組合,大幅度提升讀寫能力,較強的容錯能力,成本也較高。一般中小企業用RAID5,大企業採用RAID10。

這裏主要介紹RAID5的搭建與測試。主要內容:一、新增硬碟。二、對磁碟進行初始化設定。三、搭建RAID5。四、RAID5的測試。五、RAID5的維護。六、mdadm命令總結。

RAID5的搭建

一、 首先新增四塊硬碟

CentOS 7.4搭建RAID5及測試例項 CentOS 7.4搭建RAID5及測試例項 CentOS 7.4搭建RAID5及測試例項 CentOS 7.4搭建RAID5及測試例項 CentOS 7.4搭建RAID5及測試例項 CentOS 7.4搭建RAID5及測試例項

二、reboot重啟並對磁碟進行初始化設定

CentOS 7.4搭建RAID5及測試例項

reboot重啟

CentOS 7.4搭建RAID5及測試例項 CentOS 7.4搭建RAID5及測試例項 CentOS 7.4搭建RAID5及測試例項 CentOS 7.4搭建RAID5及測試例項 CentOS 7.4搭建RAID5及測試例項

CentOS 7.4搭建RAID5及測試例項 CentOS 7.4搭建RAID5及測試例項

三、搭建raid5

1,yum install -y mdadm  //安裝madam (madam是Linux下的raid管理工具)

CentOS 7.4搭建RAID5及測試例項

2,mdadm -C /dev/md0 -ayes -l5 -n3 -x1 /dev/sd[b-e]1  //用sdb1,sdc1,sdd1,sde1四塊磁碟其中3塊建立raid5,名稱為md0,另外一塊作為熱備份。

madam引數說明

-C–create  建立陣列;

-a–auto  同意建立裝置,如不加此引數時必須先使用mknod 命令來建立一個RAID裝置,不過推薦使用-a yes引數一次性建立;

-l –level陣列模式,支援的陣列模式有 linear, raid0, raid1, raid4, raid5, raid6, raid10, multipath, faulty, container;

-n     –raid-devices    陣列中活動磁碟的數目,該數目加上備用磁碟的數目應該等於陣列中總的磁碟數目;

3,檢視raid5狀態

cat /proc/mdstat

mdadm -D /dev/md0

CentOS 7.4搭建RAID5及測試例項 CentOS 7.4搭建RAID5及測試例項

4,新增raid5到raid配置檔案並做修改

echo ‘DEVICE /dev/sd[b-e]1’>> /etc/mdadm.conf

mdadm -Ds >>/etc/mdadm.conf

CentOS 7.4搭建RAID5及測試例項

5,格式化磁碟陣列

mkfs.xfs /dev/md0

CentOS 7.4搭建RAID5及測試例項

6,建立掛載點並掛載

mkdir /raid5

mount /dev/md0 /raid5/

CentOS 7.4搭建RAID5及測試例項

7,將掛載寫入開機啟動項

vi /etc/fstab

CentOS 7.4搭建RAID5及測試例項

四,測試raid5

1, 建立檔案a.txt 和 b.txt

CentOS 7.4搭建RAID5及測試例項

2, 模擬其中一塊磁碟壞道,我選擇讓sdb1損壞,然後檢視raid陣列資訊情況,發現熱備份磁碟sde1自動替換已損壞了的sdb1。並且資料無損失

CentOS 7.4搭建RAID5及測試例項 CentOS 7.4搭建RAID5及測試例項 CentOS 7.4搭建RAID5及測試例項

3, 移除已損壞的磁碟,新增一塊新硬碟作為熱備份盤,並檢視資料情況

mdadm /dev/md0 -r /dev/sdb1

CentOS 7.4搭建RAID5及測試例項 CentOS 7.4搭建RAID5及測試例項

注意:在實際中sdb1已經是另一塊完好的硬碟了。不是說之前損壞的那塊移除再新增就好了。

CentOS 7.4搭建RAID5及測試例項

五,維護raid5

1, 向raid5中新增儲存硬碟

mdadm /dev/md0 -a /dev/sdf1

CentOS 7.4搭建RAID5及測試例項

由於預設是新增成熱備盤,得把熱備盤改為活動盤

mdadm /dev/md0 -G -n4  //-G改變raid中的活動盤的數量,一般和-n連用。-n用來指定raid中活動盤的數量。最好保證要有足夠的熱備盤新增。

CentOS 7.4搭建RAID5及測試例項

檢視狀態,新增完成

CentOS 7.4搭建RAID5及測試例項

2,檢視檔案系統發現總容量未變

CentOS 7.4搭建RAID5及測試例項

此時需要對檔案系統擴容

resize2fs /dev/md0  //resizefx適用於ext3,ext4等檔案系統不適用於xfs檔案系統

CentOS 7.4搭建RAID5及測試例項

xfs_growfs /dev/md0  //xfs_growfs對xfs檔案系統進行擴容

CentOS 7.4搭建RAID5及測試例項

關於mdadm的相關引數彙總

-C–create  建立陣列;

-a–auto  同意建立裝置,如不加此引數時必須先使用mknod 命令來建立一個RAID裝置,不過推薦使用-a yes引數一次性建立;

-l –level陣列模式,支援的陣列模式有 linear, raid0, raid1, raid4, raid5, raid6, raid10, multipath, faulty, container;

-n     –raid-devices    陣列中活動磁碟的數目,該數目加上備用磁碟的數目應該等於陣列中總的磁碟數目;

-x    熱備盤數目

例項:mdadm -C /dev/md0 -ayes -l5 -n3 -x1 /dev/sd[b-e]1  //用sdb1,sdc1,sdd1,sde1四塊磁碟其中3塊建立raid5,名稱為md0,另外一塊作為熱備份。

-D  –detail  檢視raid裝置的詳細資訊

-f  使一塊raid磁碟故障

-a  增加一塊raid磁碟

-r  移除一塊故障的raid磁碟

-s  –scan:掃描配置檔案或 /proc/mdstat以搜尋丟失的資訊

-S  停止raid磁碟陣列

例項:

mdadm -Ds >>/etc/mdadm.conf

mdadm /dev/md0 -f /dev/sdb1

mdadm /dev/md0 -r /dev/sdb1

mdadm /dev/md0 -a /dev/sdf1

mdadm /dev/md0 -G -n4  //-G改變raid中的活動盤的數量,一般和-n連用。-n用來指定raid中活動盤的數量。最好保證要有足夠的熱備盤新增。

Linux公社的RSS地址: https://www.linuxidc.com/rssFeed.aspx

本文永久更新連結地址: https://www.linuxidc.com/Linux/2018-06/152793.htm

Write A Comment