Linux中國

在 Linux 下使用 RAID(九):如何使用 『Mdadm』 工具管理軟體 RAID

在 Linux 中使用 mdadm 管理 RAID 設備 - 第9部分

在本教程中,我們會再介紹此工具提供的功能,這樣當你需要它,就可以派上用場。

RAID 測試方案

在本系列的最後一篇文章中,我們將使用一個簡單的 RAID 1(鏡像)陣列,它由兩個 8GB 的磁碟(/dev/sdb 和 /dev/sdc)和一個備用設備(/dev/sdd)來演示,但在此使用的方法也適用於其他類型的配置。也就是說,放心去用吧,把這個頁面添加到瀏覽器的書籤,然後讓我們開始吧。

了解 mdadm 的選項和使用方法

幸運的是,mdadm 有一個內建的 --help 參數來對每個主要的選項提供說明文檔。

因此,讓我們開始輸入:

# mdadm --manage --help

就會使我們看到 mdadm --manage 能夠執行哪些任務:

Manage RAID with mdadm Tool

使用 mdadm 工具來管理 RAID

正如我們在上面的圖片看到,管理一個 RAID 陣列可以在任意時間執行以下任務:

  • (重新)將設備添加到陣列中
  • 把設備標記為故障
  • 從陣列中刪除故障設備
  • 使用備用設備更換故障設備
  • 先創建部分陣列
  • 停止陣列
  • 標記陣列為 ro(只讀)或 rw(讀寫)

使用 mdadm 工具管理 RAID 設備

需要注意的是,如果用戶忽略 --manage 選項,mdadm 默認使用管理模式。請記住這一點,以避免出現最壞的情況。

上圖中的高亮文本顯示了管理 RAID 的基本語法:

# mdadm --manage RAID options devices

讓我們來演示幾個例子。

​例1:為 RAID 陣列添加設備

你通常會添加新設備來更換故障的設備,或者使用空閑的分區以便在出現故障時能及時替換:

# mdadm --manage /dev/md0 --add /dev/sdd1

Add Device to Raid Array

添加設備到 Raid 陣列

​例2:把一個 RAID 設備標記為故障並從陣列中移除

在從邏輯陣列中刪除該設備前,這是強制性的步驟,然後才能從機器中取出它 - 注意順序(如果弄錯了這些步驟,最終可能會造成實際設備的損害):

# mdadm --manage /dev/md0 --fail /dev/sdb1

請注意在前面的例子中,知道如何添加備用設備來自動更換出現故障的磁碟。在此之後,恢復和重建 raid 數據 就開始了:

Recover and Rebuild Raid Data

恢復和重建 raid 數據

一旦設備已被手動標記為故障,你就可以安全地從陣列中刪除它:

# mdadm --manage /dev/md0 --remove /dev/sdb1

例3:重新添加設備,來替代陣列中已經移除的設備

到現在為止,我們有一個工作的 RAID 1 陣列,它包含了2個活動的設備:/dev/sdc1 和 /dev/sdd1。現在讓我們試試重新添加 /dev/sdb1 到/dev/md0:

# mdadm --manage /dev/md0 --re-add /dev/sdb1

我們會碰到一個錯誤:

# mdadm: --re-add for /dev/sdb1 to /dev/md0 is not possible

因為陣列中的磁碟已經達到了最大的數量。因此,我們有兩個選擇:a)將 /dev/sdb1 添加為備用的,如例1;或 b)從陣列中刪除 /dev/sdd1 然後重新添加 /dev/sdb1。

我們選擇選項 b),先停止陣列然後重新啟動:

# mdadm --stop /dev/md0
# mdadm --assemble /dev/md0 /dev/sdb1 /dev/sdc1

如果上面的命令不能成功添加 /dev/sdb1 到陣列中,使用例1中的命令來完成。

mdadm 能檢測到新添加的設備並將其作為備用設備,當添加完成後它會開始重建數據,它也被認為是 RAID 中的活動設備:

Raid Rebuild Status

重建 Raid 的狀態

例4:使用特定磁碟更換 RAID 設備

在陣列中使用備用磁碟更換磁碟很簡單:

# mdadm --manage /dev/md0 --replace /dev/sdb1 --with /dev/sdd1

Replace Raid Device

更換 Raid 設備

這會導致 --replace 指定的設備被標記為故障,而 --with指定的設備添加到 RAID 中來替代它:

Check Raid Rebuild Status

檢查 Raid 重建狀態

​例5:標記 RAID 陣列為 ro 或 rw

創建陣列後,你必須在它上面創建一個文件系統並將其掛載到一個目錄下才能使用它。你可能不知道,RAID 也可以被設置為 ro,使其只讀;或者設置為 rw,就可以同時寫入了。

要標記該設備為 ro,首先需要將其卸載:

# umount /mnt/raid1
# mdadm --manage /dev/md0 --readonly
# mount /mnt/raid1
# touch /mnt/raid1/test1

Set Permissions on Raid Array

在 RAID 陣列上設置許可權

要配置陣列允許寫入操作需要使用 --readwrite 選項。請注意,在設置 rw 標誌前,你需要先卸載設備並停止它:

# umount /mnt/raid1
# mdadm --manage /dev/md0 --stop
# mdadm --assemble /dev/md0 /dev/sdc1 /dev/sdd1
# mdadm --manage /dev/md0 --readwrite
# touch /mnt/raid1/test2

Allow Read Write Permission on Raid

配置 Raid 允許讀寫操作

總結

在本系列中,我們已經解釋了如何建立一個在企業環境中使用的軟體 RAID 陣列。如果你按照這些文章所提供的例子進行配置,在 Linux 中你會充分領會到軟體 RAID 的價值。

如果你碰巧任何問題或有建議,請隨時使用下面的方式與我們聯繫。

via: http://www.tecmint.com/manage-software-raid-devices-in-linux-with-mdadm/

作者:GABRIEL CÁNEPA 譯者:strugglingyouth 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國