mdadm 是多磁碟和裝置管理的縮寫。它是一個命令列工具,可用於管理 Linux 上的軟體 RAID[1] 陣列。本文概述了使用它的基礎知識。
以下 5 個命令是你使用 mdadm 的基礎功能:
功能說明
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 陣列在其中一個成員丟失時進行組合併啟動,請使用以下命令:
-
# mdadm --assemble --run /dev/md/test /dev/sda1
其他重要說明
避免直接寫入底層是 RAID1 的裝置。這導致裝置不同步,並且 mdadm 不會知道它們不同步。如果你訪問了在其他地方被修改了裝置的某個 RAID1 陣列,則可能導致檔案系統損壞。如果你在其他地方修改 RAID1 裝置並需要強制陣列重新同步,請從要改寫的裝置中刪除 mdadm 元資料,然後將其重新新增到陣列,如下所示:
-
# mdadm --zero-superblock /dev/sdb1
-
# mdadm --assemble --run /dev/md/test /dev/sda1
-
# mdadm /dev/md/test --add /dev/sdb1
以上用 sda1 的內容完全改寫 sdb1 的內容。
要指定在計算機啟動時自動啟用的 RAID 陣列,請建立 /etc/mdadm.conf
配置。
有關最新和詳細資訊,請檢視手冊頁:
-
$ man mdadm
-
$ man mdadm.conf
本系列的下一篇文章將展示如何將現有的單磁碟 Linux 系統變為映象磁碟安裝,這意味著即使其中一個硬碟突然停止工作,系統仍將繼續執行!
via: https://fedoramagazine.org/managing-raid-arrays-with-mdadm/
作者:Gregory Bartholomew[6] 選題:lujun9972 譯者:geekpi 校對:wxy
朋友會在“發現-看一看”看到你“在看”的內容