Raid

從軟 RAID 中移除驅動器

  • February 10, 2021

我在 RAID 1 中有一個帶有 3 個 SSD 驅動器的專用伺服器。輸出cat /proc/mdstat

   Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10] 
md4 : active raid1 sdc4[2] sdb4[1] sda4[0]
     106738624 blocks [3/3] [UUU]
     bitmap: 0/1 pages [0KB], 65536KB chunk

md2 : active raid1 sdc2[2] sda2[0] sdb2[1]
     5497792 blocks [3/3] [UUU]
     
md1 : active raid1 sda1[0] sdc1[2] sdb1[1]
     259008 blocks [3/3] [UUU]
     
unused devices: <none>

¿ 如何在不失去任何數據的情況下安全地從軟襲擊中移除驅動器?我想從陣列中移除一個驅動器,以便重新格式化它並獨立使用它,同時保留最重要的數據鏡像。

您在那裡有一個三向鏡像:每個驅動器都有所有數據的完整副本。假設您要移除的驅動器是/dev/sdc,並且您想要從所有三個陣列中移除它,您將針對/dev/sdc1/dev/sdc2和執行以下步驟/dev/sdc4

步驟 1:從陣列中移除驅動器。您無法從陣列中移除活動設備,因此您需要先將其標記為失敗。

mdadm /dev/md1 --fail /dev/sdc1
mdadm /dev/md1 --remove /dev/sdc1

第 2 步:擦除 RAID 元數據,這樣核心就不會嘗試重新添加它:

wipefs -a /dev/sdc1

第 3 步:縮小陣列,使其只是一個雙向鏡像,而不是缺少驅動器的三向鏡像:

mdadm --grow /dev/md1 --raid-devices=2

您可能需要在縮小之前刪除寫入意圖點陣圖/dev/md4(手冊對此並不清楚),在這種情況下,您可以在第 3 步之前使用 執行此操作mdadm --grow /dev/md4 --bitmap=none,然後使用mdadm --grow /dev/md4 --bitmap=internal.

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