在 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
能夠執行哪些任務:
使用 mdadm 工具來管理 RAID
正如我們在上面的圖片看到,管理一個 RAID 陣列可以在任意時間執行以下任務:
- (重新)將設備添加到陣列中
- 把設備標記為故障
- 從陣列中刪除故障設備
- 使用備用設備更換故障設備
- 先創建部分陣列
- 停止陣列
- 標記陣列為 ro(只讀)或 rw(讀寫)
使用 mdadm 工具管理 RAID 設備
需要注意的是,如果用戶忽略 --manage
選項,mdadm 默認使用管理模式。請記住這一點,以避免出現最壞的情況。
上圖中的高亮文本顯示了管理 RAID 的基本語法:
# mdadm --manage RAID options devices
讓我們來演示幾個例子。
例1:為 RAID 陣列添加設備
你通常會添加新設備來更換故障的設備,或者使用空閑的分區以便在出現故障時能及時替換:
# mdadm --manage /dev/md0 --add /dev/sdd1
添加設備到 Raid 陣列
例2:把一個 RAID 設備標記為故障並從陣列中移除
在從邏輯陣列中刪除該設備前,這是強制性的步驟,然後才能從機器中取出它 - 注意順序(如果弄錯了這些步驟,最終可能會造成實際設備的損害):
# mdadm --manage /dev/md0 --fail /dev/sdb1
請注意在前面的例子中,知道如何添加備用設備來自動更換出現故障的磁碟。在此之後,恢復和重建 raid 數據 就開始了:
恢復和重建 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 的狀態
例4:使用特定磁碟更換 RAID 設備
在陣列中使用備用磁碟更換磁碟很簡單:
# mdadm --manage /dev/md0 --replace /dev/sdb1 --with /dev/sdd1
更換 Raid 設備
這會導致 --replace
指定的設備被標記為故障,而 --with
指定的設備添加到 RAID 中來替代它:
檢查 Raid 重建狀態
例5:標記 RAID 陣列為 ro 或 rw
創建陣列後,你必須在它上面創建一個文件系統並將其掛載到一個目錄下才能使用它。你可能不知道,RAID 也可以被設置為 ro,使其只讀;或者設置為 rw,就可以同時寫入了。
要標記該設備為 ro,首先需要將其卸載:
# umount /mnt/raid1
# mdadm --manage /dev/md0 --readonly
# mount /mnt/raid1
# touch /mnt/raid1/test1
在 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
配置 Raid 允許讀寫操作
總結
在本系列中,我們已經解釋了如何建立一個在企業環境中使用的軟體 RAID 陣列。如果你按照這些文章所提供的例子進行配置,在 Linux 中你會充分領會到軟體 RAID 的價值。
如果你碰巧任何問題或有建議,請隨時使用下面的方式與我們聯繫。
via: http://www.tecmint.com/manage-software-raid-devices-in-linux-with-mdadm/
作者:GABRIEL CÁNEPA 譯者:strugglingyouth 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive