歡迎光臨
每天分享高質量文章

使用 mdadm 管理 RAID 陣列 | Linux 中國

它是一個命令列工具,可用於管理 Linux 上的軟體 RAID 陣列。

— Gregory Bartholomew

 

mdadm 是多磁盤和設備管理Multiple Disk and Device Administration的縮寫。它是一個命令列工具,可用於管理 Linux 上的軟體 RAID[1] 陣列。本文概述了使用它的基礎知識。

以下 5 個命令是你使用 mdadm 的基礎功能:

1. 創建 RAID 陣列mdadm –create /dev/md/test –homehost=any –metadata=1.0 –level=1 –raid-devices=2 /dev/sda1 /dev/sdb1
2. 組合(並啟動)RAID 陣列mdadm –assemble /dev/md/test /dev/sda1 /dev/sdb1
3. 停止 RAID 陣列mdadm –stop /dev/md/test
4. 刪除 RAID 陣列mdadm –zero-superblock /dev/sda1 /dev/sdb1
5. 檢查所有已組合的 RAID 陣列的狀態cat /proc/mdstat

功能說明

mdadm –create

上面的創建命令除了 -create 引數自身和設備名之外,還包括了四個引數:

1、–homehost

預設情況下,mdadm 將你的計算機名儲存為 RAID 陣列的屬性。如果你的計算機名與儲存的名稱不匹配,則陣列將不會自動組合。此功能在共享硬碟的服務器群集中很有用,因為如果多個服務器同時嘗試訪問同一驅動器,通常會發生檔案系統損壞。名稱 any 是保留欄位,並禁用 -homehost 限制。

2、 –metadata

-mdadm 保留每個 RAID 設備的一小部分空間,以儲存有關 RAID 陣列本身的信息。-metadata 引數指定信息的格式和位置。1.0 表示使用版本 1 格式,並將元資料儲存在設備的末尾。

3、–level

-level 引數指定資料應如何在底層設備之間分佈。級別 1 表示每個設備應包含所有資料的完整副本。此級別也稱為磁盤鏡像[2]

4、–raid-devices

-raid-devices 引數指定將用於創建 RAID 陣列的設備數。

通過將 -level=1(鏡像)與 -metadata=1.0 (將元資料儲存在設備末尾)結合使用,可以創建一個 RAID1 陣列,如果不通過 mdadm 驅動訪問,那麼它的底層設備會正常顯示。這在災難恢復的情況下很有用,因為即使新系統不支持 mdadm 陣列,你也可以訪問該設備。如果程式需要在 mdadm 可用之前以只讀訪問底層設備時也很有用。例如,計算機中的 UEFI[3] 韌體可能需要在啟動 mdadm 之前從 ESP[4] 讀取引導加載程式。

mdadm –assemble

如果成員設備丟失或損壞,上面的組合命令將會失敗。要強制 RAID 陣列在其中一個成員丟失時進行組合併啟動,請使用以下命令:

  1. # mdadm --assemble --run /dev/md/test /dev/sda1

其他重要說明

避免直接寫入底層是 RAID1 的設備。這導致設備不同步,並且 mdadm 不會知道它們不同步。如果你訪問了在其他地方被修改了設備的某個 RAID1 陣列,則可能導致檔案系統損壞。如果你在其他地方修改 RAID1 設備並需要強制陣列重新同步,請從要改寫的設備中刪除 mdadm 元資料,然後將其重新添加到陣列,如下所示:

  1. # mdadm --zero-superblock /dev/sdb1
  2. # mdadm --assemble --run /dev/md/test /dev/sda1
  3. # mdadm /dev/md/test --add /dev/sdb1

以上用 sda1 的內容完全改寫 sdb1 的內容。

要指定在計算機啟動時自動激活的 RAID 陣列,請創建 /etc/mdadm.conf 配置。

有關最新和詳細信息,請查看手冊頁:

  1. $ man mdadm
  2. $ man mdadm.conf

本系列的下一篇文章將展示如何將現有的單磁盤 Linux 系統變為鏡像磁盤安裝,這意味著即使其中一個硬碟突然停止工作,系統仍將繼續運行!


via: https://fedoramagazine.org/managing-raid-arrays-with-mdadm/

作者:Gregory Bartholomew[6] 選題:lujun9972 譯者:geekpi 校對:wxy

已同步到看一看
赞(0)

分享創造快樂