首頁 > 軟體

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

2020-06-16 17:51:02

無論你以前有沒有使用 RAID 陣列的經驗,以及是否完成了 此 RAID 系列 的所有教學,一旦你在 Linux 中熟悉了 mdadm --manage 命令的使用,管理軟體 RAID 將不是很複雜的任務。

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

在 Linux 中使用 mdadm 管理 RAID 裝置 - 第9部分

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

RAID 測試方案

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

 

了解 mdadm 的選項和使用方法

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

因此,讓我們開始輸入:

  1. #mdadm--manage --help

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

使用 mdadm 工具來管理 RAID

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

  • (重新)將裝置新增到陣列中
  • 把裝置標記為故障
  • 從陣列中刪除故障裝置
  • 使用備用裝置更換故障裝置
  • 先建立部分陣列
  • 停止陣列
  • 標記陣列為 ro(唯讀)或 rw(讀寫)

 

使用 mdadm 工具管理 RAID 裝置

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

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

  1. #mdadm--manage RAID options devices

讓我們來演示幾個例子。

 

?例1:為 RAID 陣列新增裝置

你通常會新增新裝置來更換故障的裝置,或者使用空閒的分割區以便在出現故障時能及時替換:

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

新增裝置到 Raid 陣列

 

?例2:把一個 RAID 裝置標記為故障並從陣列中移除

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

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

請注意在前面的例子中,知道如何新增備用裝置來自動更換出現故障的磁碟。在此之後,恢復和重建 raid 資料 就開始了:

恢復和重建 raid 資料

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

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

 

例3:重新新增裝置,來替代陣列中已經移除的裝置

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

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

我們會碰到一個錯誤:

  1. #mdadm:--re-add for/dev/sdb1 to /dev/md0 isnot possible

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

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

  1. #mdadm--stop /dev/md0
  2. #mdadm--assemble /dev/md0 /dev/sdb1 /dev/sdc1

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

mdadm 能檢測到新新增的裝置並將其作為備用裝置,當新增完成後它會開始重建資料,它也被認為是 RAID 中的活動裝置:

重建 Raid 的狀態

 

例4:使用特定磁碟更換 RAID 裝置

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

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

更換 Raid 裝置

這會導致 --replace 指定的裝置被標記為故障,而 --with指定的裝置新增到 RAID 中來替代它:

檢查 Raid 重建狀態

 

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

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

要標記該裝置為 ro,首先需要將其解除安裝:

  1. #umount/mnt/raid1
  2. #mdadm--manage /dev/md0 --readonly
  3. #mount/mnt/raid1
  4. #touch/mnt/raid1/test1

在 RAID 陣列上設定許可權

要設定陣列允許寫入操作需要使用 --readwrite 選項。請注意,在設定 rw 標誌前,你需要先解除安裝裝置並停止它:

  1. #umount/mnt/raid1
  2. #mdadm--manage /dev/md0 --stop
  3. #mdadm--assemble /dev/md0 /dev/sdc1 /dev/sdd1
  4. #mdadm--manage /dev/md0 --readwrite
  5. #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中國 榮譽推出

本文永久更新連結地址http://www.linuxidc.com/Linux/2015-10/124481.htm


IT145.com E-mail:sddin#qq.com