2021-05-12 14:32:11
在 Linux 下使用 RAID(四):建立 RAID 5(條帶化與分散式奇偶校驗)
在 RAID 5 中,資料條帶化後儲存在分散式奇偶校驗的多個磁碟上。分散式奇偶校驗的條帶化意味著它將奇偶校驗資訊和條帶化資料分布在多個磁碟上,這樣會有很好的資料冗餘。
在 Linux 中設定 RAID 5
對於此 RAID 級別它至少應該有三個或更多個磁碟。RAID 5 通常被用於大規模生產環境中,以花費更多的成本來提供更好的資料冗餘效能。
什麼是奇偶校驗?
奇偶校驗是在資料儲存中檢測錯誤最簡單的常見方式。奇偶校驗資訊儲存在每個磁碟中,比如說,我們有4個磁碟,其中相當於一個磁碟大小的空間被分割去儲存所有磁碟的奇偶校驗資訊。如果任何一個磁碟出現故障,我們可以通過更換故障磁碟後,從奇偶校驗資訊重建得到原來的資料。
RAID 5 的優點和缺點
- 提供更好的效能。
- 支援冗餘和容錯。
- 支援熱備份。
- 將用掉一個磁碟的容量儲存奇偶校驗資訊。
- 單個磁碟發生故障後不會丟失資料。我們可以更換故障硬碟後從奇偶校驗資訊中重建資料。
- 適合於面向事務處理的環境,讀操作會更快。
- 由於奇偶校驗占用資源,寫操作會慢一些。
- 重建需要很長的時間。
要求
建立 RAID 5 最少需要3個磁碟,你也可以新增更多的磁碟,前提是你要有多埠的專用硬體 RAID 控制器。在這裡,我們使用“mdadm”包來建立軟體 RAID。
mdadm 是一個允許我們在 Linux 下設定和管理 RAID 裝置的包。預設情況下沒有 RAID 的組態檔,我們在建立和設定 RAID 後必須將組態檔儲存在一個單獨的檔案 mdadm.conf 中。
在進一步學習之前,我建議你通過下面的文章去瞭解 Linux 中 RAID 的基礎知識。
- 介紹 RAID 的級別和概念 http://www.linuxidc.com/Linux/2015-08/122191.htm
- 使用 mdadm 工具建立軟體 RAID 0 (條帶化) http://www.linuxidc.com/Linux/2015-08/122236.htm
- 用兩塊磁碟建立 RAID 1(映象) http://www.linuxidc.com/Linux/2015-08/122289.htm
- 如何在Linux上構建 RAID 10陣列 http://www.linuxidc.com/Linux/2014-12/110318.htm
- Debian軟RAID安裝筆記 - 使用mdadm安裝RAID1 http://www.linuxidc.com/Linux/2013-06/86487.htm
- 常用RAID技術介紹以及範例演示(多圖) http://www.linuxidc.com/Linux/2013-03/81481.htm
- Linux實現最常用的磁碟陣列-- RAID5 http://www.linuxidc.com/Linux/2013-01/77880.htm
- RAID0+1和RAID5的效能測試結果 http://www.linuxidc.com/Linux/2012-07/65567.htm
- Linux入門教學:磁碟陣列(RAID) http://www.linuxidc.com/Linux/2014-07/104444.htm
我的伺服器設定
作業系統:CentOS6.5Final
IP 地址:192.168.0.227
主機名: rd5.tecmintlocal.com
磁碟1[20GB]:/dev/sdb
磁碟2[20GB]:/dev/sdc
磁碟3[20GB]:/dev/sdd
這是9篇系列教學的第4部分,在這裡我們要在 Linux 系統或伺服器上使用三個20GB(名為/dev/sdb, /dev/sdc 和 /dev/sdd)的磁碟建立帶有分散式奇偶校驗的軟體 RAID 5。
第1步:安裝 mdadm 並檢驗磁碟
1、 正如我們前面所說,我們使用 CentOS 6.5 Final 版本來建立 RAID 設定,但同樣的做法也適用於其他 Linux 發行版。
# lsb_release -a
# ifconfig | grep inet
CentOS 6.5 摘要
2、 如果你按照我們的 RAID 系列去設定的,我們假設你已經安裝了“mdadm”包,如果沒有,根據你的 Linux 發行版使用下面的命令安裝。
# yum install mdadm [在 RedHat 系統]
# apt-get install mdadm [在 Debain 系統]
3、 “mdadm”包安裝後,先使用fdisk
命令列出我們在系統上增加的三個20GB的硬碟。
# fdisk -l | grep sd
安裝 mdadm 工具
4、 現在該檢查這三個磁碟是否存在 RAID 塊,使用下面的命令來檢查。
# mdadm -E /dev/sd[b-d]
# mdadm --examine /dev/sdb /dev/sdc /dev/sdd # 或
檢查 Raid 磁碟
注意: 上面的圖片說明,沒有檢測到任何超級塊。所以,這三個磁碟中沒有定義 RAID。讓我們現在開始建立一個吧!
第2步:為磁碟建立 RAID 分割區
5、 首先,在建立 RAID 前磁碟(/dev/sdb, /dev/sdc 和 /dev/sdd)必須有分割區,因此,在進行下一步之前,先使用fdisk
命令進行分割區。
# fdisk /dev/sdb
# fdisk /dev/sdc
# fdisk /dev/sdd
建立 /dev/sdb 分割區
請按照下面的說明在 /dev/sdb 硬碟上建立分割區。
- 按
n
建立新的分割區。 - 然後按
P
選擇主分割區。選擇主分割區是因為還沒有定義過分割區。 - 接下來選擇分割區號為1。預設就是1。
- 這裡是選擇柱面大小,我們沒必要選擇指定的大小,因為我們需要為 RAID 使用整個分割區,所以只需按兩次 Enter 鍵預設將整個容量分配給它。
- 然後,按
P
來列印建立好的分割區。 - 改變分割區型別,按
L
可以列出所有可用的型別。 - 按
t
修改分割區型別。 - 這裡使用
fd
設定為 RAID 的型別。 - 然後再次使用
p
檢視我們所做的更改。 - 使用
w
儲存更改。
建立 sdb 分割區
注意: 我們仍要按照上面的步驟來建立 sdc 和 sdd 的分割區。
建立 /dev/sdc 分割區
現在,通過下面的截圖給出建立 sdc 和 sdd 磁碟分割區的方法,或者你可以按照上面的步驟。
# fdisk /dev/sdc
建立 sdc 分割區
建立 /dev/sdd 分割區
# fdisk /dev/sdd
建立 sdd 分割區
6、 建立分割區後,檢查三個磁碟 sdb, sdc, sdd 的變化。
# mdadm --examine /dev/sdb /dev/sdc /dev/sdd
# mdadm -E /dev/sd[b-c] # 或
檢查磁碟變化
注意: 在上面的圖片中,磁碟的型別是 fd。
7、 現在在新建立的分割區檢查 RAID 塊。如果沒有檢測到超級塊,我們就能夠繼續下一步,在這些磁碟中建立一個新的 RAID 5 設定。
Check Raid on Partition
*在分割區中檢查 RAID *
第3步:建立 md 裝置 md0
8、 現在使用所有新建立的分割區(sdb1, sdc1 和 sdd1)建立一個 RAID 裝置“md0”(即 /dev/md0),使用以下命令。
# mdadm --create /dev/md0 --level=5 --raid-devices=3 /dev/sdb1 /dev/sdc1 /dev/sdd1
# mdadm -C /dev/md0 -l=5 -n=3 /dev/sd[b-d]1 # 或
9、 建立 RAID 裝置後,檢查並確認 RAID,從 mdstat 中輸出中可以看到包括的裝置的 RAID 級別。
# cat /proc/mdstat
驗證 Raid 裝置
如果你想監視當前的建立過程,你可以使用watch
命令,將 cat /proc/mdstat
傳遞給它,它會在螢幕上顯示且每隔1秒重新整理一次。
# watch -n1 cat /proc/mdstat
監控 RAID 5 構建過程
Raid 5 過程概要
10、 建立 RAID 後,使用以下命令驗證 RAID 裝置
# mdadm -E /dev/sd[b-d]1
驗證 Raid 級別
注意: 因為它顯示三個磁碟的資訊,上述命令的輸出會有點長。
11、 接下來,驗證 RAID 陣列,假定包含 RAID 的裝置正在執行並已經開始了重新同步。
# mdadm --detail /dev/md0
驗證 RAID 陣列
更多詳情見請繼續閱讀下一頁的精彩內容: http://www.linuxidc.com/Linux/2015-08/122343p2.htm
相關文章