刪除 Raid1 中死掉的 HD?

刪除 Raid1 中死掉的 HD?

我在 debian、raid1 上,其中一個驅動器似乎死了。

root@rescue ~ # cat /proc/mdstat
Personalities : [raid1]
md1 : active raid1 sda2[0]
      486279424 blocks [2/1] [U_]

md0 : active raid1 sda1[0] sdb1[1]
      2104448 blocks [2/2] [UU]

unused devices: <none>
root@rescue ~ #

是否可以只使用健康硬碟?我需要刪除突襲嗎?如果是這樣,怎麼辦?謝謝!

答案1

看起來 /dev/sdb 並沒有完全死亡,但可能會出現一些間歇性故障或一些壞塊。您可能會失敗,然後使用出現問題的目前磁碟將分割區重新新增到鏡像中。

具體方法如下:

mdadm --remove /dev/md1 /dev/sdb2

(它可能會抱怨 /dev/sdb2 未附加,這很好)

mdadm --add /dev/md1 /dev/sdb2

然後做一個:

貓 /proc/mdstat

您可以觀看它的重建,包括估計所需的時間。

看看是否有效。如果沒有(/dev/sdb2 確實損壞),則需要使所有鏡像上的驅動器發生故障,刪除 sdb,添加相同大小的驅動器,對新驅動器進行分區,然後將分區添加回鏡像。如果您不確定哪個磁碟機是 sdb,請嘗試以下操作:

dd if=/dev/sdb of=/dev/null count=40000 

假設您的伺服器前面有一個 LED 來指示磁碟活動,則在上述磁碟轉儲期間綠燈常亮的那個將是磁碟機 sdb。 (或者您可以翻轉此邏輯,並使 sda 發出綠光以指示不要刪除驅動器)。在您確定哪個磁碟是哪個磁碟後,隨時可以安全地使用 Control-C 執行 dd 指令。 dd 命令只是從磁碟讀取流並忽略它 - 它不會導致在那裡寫入任何內容,除非您混淆了 if= 和 of= 。

答案2

是的,可以僅使用健康的驅動器。這就是已經發生的事情。我懷疑故障分割區是sdb2?如果您懷疑發生故障的分割區/磁碟機並不是真的壞,您可能需要對它運行壞塊。

我不確定您如何配置引導程序,但如果設置正確,那麼您應該能夠拉出故障驅動器並更換它。

如果您不完全確定哪個驅動器是哪個驅動器,您可以使用類似的命令,該命令lshw -class disk應該顯示驅動器的邏輯名稱和序號。這樣您就可以拔出正確的驅動器。

相關內容