歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> 在 Linux 下使用 RAID(四):創建 RAID 5(條帶化與分布式奇偶校驗)

在 Linux 下使用 RAID(四):創建 RAID 5(條帶化與分布式奇偶校驗)

日期:2017/2/28 13:58:30   编辑:Linux教程

在 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

我的服務器設置

  1. 操作系統:CentOS6.5Final
  2. IP 地址:192.168.0.227
  3. 主機名: rd5.tecmintlocal.com
  4. 磁盤1[20GB]:/dev/sdb
  5. 磁盤2[20GB]:/dev/sdc
  6. 磁盤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 發行版。

  1. # lsb_release -a
  2. # ifconfig | grep inet

CentOS 6.5 摘要

2、 如果你按照我們的 RAID 系列去配置的,我們假設你已經安裝了“mdadm”包,如果沒有,根據你的 Linux 發行版使用下面的命令安裝。

  1. # yum install mdadm [在 RedHat 系統]
  2. # apt-get install mdadm [在 Debain 系統]

3、 “mdadm”包安裝後,先使用fdisk命令列出我們在系統上增加的三個20GB的硬盤。

  1. # fdisk -l | grep sd

安裝 mdadm 工具

4、 現在該檢查這三個磁盤是否存在 RAID 塊,使用下面的命令來檢查。

  1. # mdadm -E /dev/sd[b-d]
  2. # mdadm --examine /dev/sdb /dev/sdc /dev/sdd # 或

檢查 Raid 磁盤

注意: 上面的圖片說明,沒有檢測到任何超級塊。所以,這三個磁盤中沒有定義 RAID。讓我們現在開始創建一個吧!

第2步:為磁盤創建 RAID 分區

5、 首先,在創建 RAID 前磁盤(/dev/sdb, /dev/sdc 和 /dev/sdd)必須有分區,因此,在進行下一步之前,先使用fdisk命令進行分區。

  1. # fdisk /dev/sdb
  2. # fdisk /dev/sdc
  3. # 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 磁盤分區的方法,或者你可以按照上面的步驟。

  1. # fdisk /dev/sdc

創建 sdc 分區

創建 /dev/sdd 分區

  1. # fdisk /dev/sdd

創建 sdd 分區

6、 創建分區後,檢查三個磁盤 sdb, sdc, sdd 的變化。

  1. # mdadm --examine /dev/sdb /dev/sdc /dev/sdd
  2. # 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),使用以下命令。

  1. # mdadm --create /dev/md0 --level=5 --raid-devices=3 /dev/sdb1 /dev/sdc1 /dev/sdd1
  2. # mdadm -C /dev/md0 -l=5 -n=3 /dev/sd[b-d]1 # 或

9、 創建 RAID 設備後,檢查並確認 RAID,��� mdstat 中輸出中可以看到包括的設備的 RAID 級別。

  1. # cat /proc/mdstat

驗證 Raid 設備

如果你想監視當前的創建過程,你可以使用watch命令,將 cat /proc/mdstat 傳遞給它,它會在屏幕上顯示且每隔1秒刷新一次。

  1. # watch -n1 cat /proc/mdstat

監控 RAID 5 構建過程

Raid 5 過程概要

10、 創建 RAID 後,使用以下命令驗證 RAID 設備

  1. # mdadm -E /dev/sd[b-d]1

驗證 Raid 級別

注意: 因為它顯示三個磁盤的信息,上述命令的輸出會有點長。

11、 接下來,驗證 RAID 陣列,假定包含 RAID 的設備正在運行並已經開始了重新同步。

  1. # mdadm --detail /dev/md0

驗證 RAID 陣列

Copyright © Linux教程網 All Rights Reserved