Hard-Disk
如何將 RAID1 磁碟之一標記為備用磁碟?(媽媽)
我有一個健康且可執行的基於 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]