運行壞塊後硬碟讀取吞吐量非常糟糕,可以恢復嗎?

運行壞塊後硬碟讀取吞吐量非常糟糕,可以恢復嗎?

我有一系列新驅動器,一位朋友建議我在使用新驅動器之前先運行壞塊。在對一些新驅動器進行成像之前,我在一些新驅動器上運行了壞塊badblocks -v -s -w -b 4096 -o ./sda.log /dev/sda,而我想像的其他驅動器沒有壞塊。 ps我還在壞塊驅動器上運行了傳輸智慧測試,通過了。

對於我運行壞塊的驅動器,映像後的讀取吞吐量非常低dd if=/dev/sda bs=4096 of=/dev/null count=1M,快取平均下降到 71.1MB/s。對於剛剛刻錄磁碟映像的驅動器,平均讀取速率為 195MB/s。

我是否通過運行壞塊“破壞”了這些驅動器?我可以恢復/重置它們嗎?

智慧顯示

  • 壞塊的高旋轉時間約為 3000(新驅動器為 0)
  • 所有磁碟機上的零讀取錯誤和零磁區重定位。
  • 所有驅動器自檢均通過
  • 其他方面幾乎相同的smartctl -a報告

答案1

部分答案:

badblock -w實際上寫入每個區塊而不是僅僅讀取它,因此您已經完成了“破壞性”測試而不是正常的“非破壞性”測試。

可以會有差異,特別是如果您寫入的映像小於硬碟的總容量。僅具有影像的硬碟具有未受影響的較高編號的區塊,具有壞區塊的硬碟在較高編號的區塊中具有模式。

但我不明白這會如何影響吞吐量。

壞塊的高旋轉時間約為 3000(新驅動器為 0)

Spin-up 0 聽起來好像該值尚未設定 - 沒有硬碟可以立即旋轉。即使重新啟動幾次後,該值是否仍為 0?

在問題中包含一些實際的 SMART 報告可能會有所幫助。

所有磁碟機上的零讀取錯誤和零磁區重定位。

搜尋錯誤怎麼辦?它們實際上會對吞吐量產生影響。


如果您想嘗試(這是在黑暗中嘗試):取一個或兩個壞塊硬碟,將零寫入所有區塊dd(這將覆蓋使用的模式badblk),重新映像硬碟,看看它是否使一個區別。

如果是,則韌體以某種方式對待「零」區塊與「資料」區塊不同。無論出於何種原因。


另一個想法是硬碟可能有一些快速緩存,也許是閃存,這將使硬碟在以簡單方式測量讀寫速度的測試中看起來不錯。因此,他們可以在資料表中寫入大量數字來提高實際操作中無法實現的銷售量。並且執行badblk寫入操作會「溢出」緩存,因此韌體決定不再使用它。

相關內容