
我在 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
應該顯示驅動器的邏輯名稱和序號。這樣您就可以拔出正確的驅動器。