無論你以前有沒有使用 RAID 陣列的經驗,以及是否完成了 此 RAID 系列 的所有教程,一旦你在 Linux 中熟悉了 mdadm --manage
命令的使用,管理軟件 RAID 將不是很復雜的任務。
在 Linux 中使用 mdadm 管理 RAID 設備 - 第9部分
在本教程中,我們會再介紹此工具提供的功能,這樣當你需要它,就可以派上用場。
在本系列的最後一篇文章中,我們將使用一個簡單的 RAID 1(鏡像)陣列,它由兩個 8GB 的磁盤(/dev/sdb 和 /dev/sdc)和一個備用設備(/dev/sdd)來演示,但在此使用的方法也適用於其他類型的配置。也就是說,放心去用吧,把這個頁面添加到浏覽器的書簽,然後讓我們開始吧。
幸運的是,mdadm 有一個內建的 --help
參數來對每個主要的選項提供說明文檔。
因此,讓我們開始輸入:
#mdadm--manage --help
就會使我們看到 mdadm --manage
能夠執行哪些任務:
使用 mdadm 工具來管理 RAID
正如我們在上面的圖片看到,管理一個 RAID 陣列可以在任意時間執行以下任務:
需要注意的是,如果用戶忽略 --manage
選項,mdadm 默認使用管理模式。請記住這一點,以避免出現最壞的情況。
上圖中的高亮文本顯示了管理 RAID 的基本語法:
#mdadm--manage RAID options devices
讓我們來演示幾個例子。
你通常會添加新設備來更換故障的設備,或者使用空閒的分區以便在出現故障時能及時替換:
#mdadm--manage /dev/md0 --add /dev/sdd1
添加設備到 Raid 陣列
在從邏輯陣列中刪除該設備前,這是強制性的步驟,然後才能從機器中取出它 - 注意順序(如果弄錯了這些步驟,最終可能會造成實際設備的損害):
#mdadm--manage /dev/md0 --fail /dev/sdb1
請注意在前面的例子中,知道如何添加備用設備來自動更換出現故障的磁盤。在此之後,恢復和重建 raid 數據 就開始了:
恢復和重建 raid 數據
一旦設備已被手動標記為故障,你就可以安全地從陣列中刪除它:
#mdadm--manage /dev/md0 --remove /dev/sdb1
到現在為止,我們有一個工作的 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 isnot 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 的狀態
在陣列中使用備用磁盤更換磁盤很簡單:
#mdadm--manage /dev/md0 --replace /dev/sdb1 --with/dev/sdd1
更換 Raid 設備
這會導致 --replace
指定的設備被標記為故障,而 --with
指定的設備添加到 RAID 中來替代它:
檢查 Raid 重建狀態
創建陣列後,你必須在它上面創建一個文件系統並將其掛載到一個目錄下才能使用它。你可能不知道,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 的價值。
如果你碰巧任何問題或有建議,請隨時使用下面的方式與我們聯系。
如何在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
via: http://www.tecmint.com/manage-software-raid-devices-in-linux-with-mdadm/
作者:GABRIEL CÁNEPA 譯者:strugglingyouth 校對:wxy
本文由 LCTT 原創編譯,Linux中國 榮譽推出