在 Linux 下使用mdadm建立 RAID 5

在 RAID 5 中,數據條帶化後存儲在分佈式奇偶校驗的多個磁盤上。分佈式奇偶校驗的條帶化意味着它將奇偶校驗信息和條帶化數據分佈在多個磁盤上,這樣會有很好的數據冗餘。html

在 Linux 中配置 RAID 5

在 Linux 中配置 RAID 5linux

對於此 RAID 級別它至少應該有三個或更多個磁盤。RAID 5 一般被用於大規模生產環境中,以花費更多的成原本提供更好的數據冗餘性能。vim

什麼是奇偶校驗?

奇偶校驗是在數據存儲中檢測錯誤最簡單的常見方式。奇偶校驗信息存儲在每一個磁盤中,好比說,咱們有4個磁盤,其中至關於一個磁盤大小的空間被分割去存儲全部磁盤的奇偶校驗信息。若是任何一個磁盤出現故障,咱們能夠經過更換故障磁盤後,從奇偶校驗信息重建獲得原來的數據。服務器

RAID 5 的優勢和缺點

  • 提供更好的性能。
  • 支持冗餘和容錯。
  • 支持熱備份。
  • 將用掉一個磁盤的容量存儲奇偶校驗信息。
  • 單個磁盤發生故障後不會丟失數據。咱們能夠更換故障硬盤後從奇偶校驗信息中重建數據。
  • 適合於面向事務處理的環境,讀操做會更快。
  • 因爲奇偶校驗佔用資源,寫操做會慢一些。
  • 重建須要很長的時間。

要求

建立 RAID 5 最少須要3個磁盤,你也能夠添加更多的磁盤,前提是你要有多端口的專用硬件 RAID 控制器。在這裏,咱們使用「mdadm」包來建立軟件 RAID。分佈式

mdadm 是一個容許咱們在 Linux 下配置和管理 RAID 設備的包。默認狀況下沒有 RAID 的配置文件,咱們在建立和配置 RAID 後必須將配置文件保存在一個單獨的文件 mdadm.conf 中。工具

在進一步學習以前,我建議你經過下面的文章去了解 Linux 中 RAID 的基礎知識。性能

個人服務器設置

  1. 操做系統 : CentOS 6.5 Final
  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 並檢驗磁盤

一、 正如咱們前面所說,咱們使用 CentOS 6.5 Final 版原本建立 RAID 設置,但一樣的作法也適用於其餘 Linux 發行版。spa

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

CentOS 6.5 摘要

CentOS 6.5 摘要操作系統

二、 若是你按照咱們的 RAID 系列去配置的,咱們假設你已經安裝了「mdadm」包,若是沒有,根據你的 Linux 發行版使用下面的命令安裝。

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

三、 「mdadm」包安裝後,先使用fdisk命令列出咱們在系統上增長的三個20GB的硬盤。

  1. # fdisk -l | grep sd

安裝 mdadm 工具

安裝 mdadm 工具

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

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

檢查 Raid 磁盤

檢查 Raid 磁盤

注意: 上面的圖片說明,沒有檢測到任何超級塊。因此,這三個磁盤中沒有定義 RAID。讓咱們如今開始建立一個吧!

第2步:爲磁盤建立 RAID 分區

五、 首先,在建立 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 分區

建立 sdb 分區

注意: 咱們仍要按照上面的步驟來建立 sdc 和 sdd 的分區。

建立 /dev/sdc 分區

如今,經過下面的截圖給出建立 sdc 和 sdd 磁盤分區的方法,或者你能夠按照上面的步驟。

  1. # fdisk /dev/sdc

建立 sdc 分區

建立 sdc 分區

建立 /dev/sdd 分區

  1. # fdisk /dev/sdd

建立 sdd 分區

建立 sdd 分區

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

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

檢查磁盤變化

檢查磁盤變化

注意: 在上面的圖片中,磁盤的類型是 fd。

七、 如今在新建立的分區檢查 RAID 塊。若是沒有檢測到超級塊,咱們就可以繼續下一步,在這些磁盤中建立一個新的 RAID 5 配置。

Check Raid on Partition

Check Raid on Partition

*在分區中檢查 RAID *

第3步:建立 md 設備 md0

八、 如今使用全部新建立的分區(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 #
    mdadm -C /dev/md0 -l5 -n3 /dev/sd[b-d]1    ##我在Debian使用的這個命令

九、 建立 RAID 設備後,檢查並確認 RAID,從 mdstat 中輸出中能夠看到包括的設備的 RAID 級別。

  1. # cat /proc/mdstat

驗證 Raid 設備

驗證 Raid 設備

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

  1. # watch -n1 cat /proc/mdstat

監控 RAID 5 構建過程

監控 RAID 5 構建過程

Raid 5 過程概要

Raid 5 過程概要

十、 建立 RAID 後,使用如下命令驗證 RAID 設備

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

驗證 Raid 級別

驗證 Raid 級別

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

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

  1. # mdadm --detail /dev/md0

驗證 RAID 陣列

驗證 RAID 陣列

第4步:爲 md0 建立文件系統

十二、 在掛載前爲「md0」設備建立 ext4 文件系統。

  1. # mkfs.ext4 /dev/md0

建立 md0 文件系統

建立 md0 文件系統

1三、 如今,在/mnt下建立目錄 raid5,而後掛載文件系統到 /mnt/raid5/ 下,並檢查掛載點下的文件,你會看到 lost+found 目錄。

  1. # mkdir /mnt/raid5
  2. # mount /dev/md0 /mnt/raid5/
  3. # ls -l /mnt/raid5/

1四、 在掛載點 /mnt/raid5 下建立幾個文件,並在其中一個文件中添加一些內容而後去驗證。

  1. # touch /mnt/raid5/raid5_tecmint_{1..5}
  2. # ls -l /mnt/raid5/
  3. # echo "tecmint raid setups" > /mnt/raid5/raid5_tecmint_1
  4. # cat /mnt/raid5/raid5_tecmint_1
  5. # cat /proc/mdstat

掛載 RAID 設備

掛載 RAID 設備

1五、 咱們須要在 fstab 中添加條目,不然系統重啓後將不會顯示咱們的掛載點。編輯 fstab 文件添加條目,在文件尾追加如下行。掛載點會根據你環境的不一樣而不一樣。

  1. # vim /etc/fstab
  2. /dev/md0 /mnt/raid5 ext4 defaults 0 0

自動掛載 RAID 5

自動掛載 RAID 5

1六、 接下來,運行mount -av命令檢查 fstab 條目中是否有錯誤。

  1. # mount -av

檢查 Fstab 錯誤

檢查 Fstab 錯誤

第5步:保存 Raid 5 的配置

1七、 在前面章節已經說過,默認狀況下 RAID 沒有配置文件。咱們必須手動保存。若是此步中沒有跟隨不屬於 md0 的 RAID 設備,它會是一些其餘隨機數字。

因此,咱們必需要在系統從新啓動以前保存配置。若是配置保存它在系統從新啓動時會被加載到內核中而後 RAID 也將被加載。

  1. # mdadm --detail --scan --verbose >> /etc/mdadm.conf

保存 RAID 5 配置

保存 RAID 5 配置

注意:保存配置將保持 md0 設備的 RAID 級別穩定不變。

第6步:添加備用磁盤

1八、 備用磁盤有什麼用?它是很是有用的,若是咱們有一個備用磁盤,當咱們陣列中的任何一個磁盤發生故障後,這個備用磁盤會進入激活重建過程,並從其餘磁盤上同步數據,這樣就有了冗餘。

更多關於添加備用磁盤和檢查 RAID 5 容錯的指令,請閱讀下面文章中的第6步和第7步。

結論

在這篇文章中,咱們已經看到了如何使用三個磁盤配置一個 RAID 5 。在接下來的文章中,咱們將看到如何故障排除而且當 RAID 5 中的一個磁盤損壞後如何恢復。


via: http://www.tecmint.com/create-raid-5-in-linux/

相關文章
相關標籤/搜索