Hard-Disk

如何將 RAID1 磁碟之一標記為備用磁碟?(媽媽)

  • August 28, 2016

我有一個健康且可執行的基於 RAID1 的軟體,在我的 Debian 機器上使用 3 個 HDD 作為活動。

我想將其中一個磁碟標記為備用磁碟,因此它最終成為 2 個活動磁碟 + 1 個備用磁碟。

像:

mdadm --manage --raid-devices=2 --spare-devices=1 /dev/md0

類似的只是失敗,說目前選項模式不支持其中一個選項或根本失敗。

Billy@localhost~#: mdadm -G --raid-devices=2 /dev/md0
mdadm: failed to set raid disks
unfreeze

或者

Billy@localhost~#: mdadm --manage --raid-devices=2 --spare-devices=1 /dev/md0
mdadm: :option --raid-devices not valid in manage mode

或類似的。我不知道男人。請幫忙?

您可以使用 來檢查數組的目前狀態cat /proc/mdstat。在此範例中,這就是數據的來源。

因此,假設我們md127在 raid1 中有 3 個磁碟。在這裡它們只是一個磁碟的分區,但沒關係

md127 : active raid1 vdb3[2] vdb2[1] vdb1[0]
     102272 blocks super 1.2 [3/3] [UUU]

我們需要先使其中一個磁碟離線,然後才能將其刪除:

$ sudo mdadm --manage /dev/md127 --fail /dev/vdb2
mdadm: set /dev/vdb2 faulty in /dev/md127

現在的狀態顯示它很糟糕

md127 : active raid1 vdb3[2] vdb2[1](F) vdb1[0]
     102272 blocks super 1.2 [3/2] [U_U]

我們現在可以刪除此磁碟:

$ sudo mdadm --manage /dev/md127 --remove /dev/vdb2
mdadm: hot removed /dev/vdb2 from /dev/md127

md127 : active raid1 vdb3[2] vdb1[0]
     102272 blocks super 1.2 [3/2] [U_U]

現在調整大小:

$ sudo mdadm --grow /dev/md127 --raid-devices=2
raid_disks for /dev/md127 set to 2
unfreeze

至此,我們已經成功地將陣列減少到 2 個磁碟:

md127 : active raid1 vdb3[2] vdb1[0]
     102272 blocks super 1.2 [2/2] [UU]

所以現在可以將新磁碟重新添加為熱備盤:

$ sudo mdadm -a /dev/md127 /dev/vdb2
mdadm: added /dev/vdb2

md127 : active raid1 vdb2[3](S) vdb3[2] vdb1[0]
     102272 blocks super 1.2 [2/2] [UU]

顯示(S)它是一個熱備件。

我們可以通過使現有磁碟發生故障並註意到備用磁碟上發生重建來驗證這是否按預期工作:

$ sudo mdadm --manage /dev/md127 --fail /dev/vdb1
mdadm: set /dev/vdb1 faulty in /dev/md127

md127 : active raid1 vdb2[3] vdb3[2] vdb1[0](F)
     102272 blocks super 1.2 [2/1] [_U]
     [=======>.............]  recovery = 37.5% (38400/102272) finish=0.0min speed=38400K/sec

vdb2不再標記(S),因為它不是熱備件。

重新添加壞磁碟後,現在被標記為熱備用

md127 : active raid1 vdb1[4](S) vdb2[3] vdb3[2]
     102272 blocks super 1.2 [2/2] [UU]

引用自:https://unix.stackexchange.com/questions/306286