Raid
從軟 RAID 中移除驅動器
我在 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
.