我已經要求更換這麼多 SSD,我不想再問了。但如果 SSD 確實壞了,僅僅一次伺服器宕機就會讓我損失 500 美元左右。
那麼,如何確定SSD確實壞了呢?
我可以像在Windows中那樣重新格式化硬碟嗎?磁碟已掛載。
之前鬆動的引腳使伺服器重新啟動次數過多。看來它損壞了那裡的所有SSD。
/bin/ls: cannot access cache-zch-5666-cache.txt: Input/output error
/bin/ls: cannot access cache-zch-4970-cache.txt: Input/output error
/bin/ls: cannot access cache-zch-4782-cache.txt: Input/output error
./ cache-zch-4782-cache.txt cache-zch-5666-cache.txt
../ cache-zch-4970-cache.txt
root@host [/home2/investgr1/public_html/hello/cache/zch]# rm *
rm: cannot remove `cache-zch-4782-cache.txt': Input/output error
rm: cannot remove `cache-zch-4970-cache.txt': Input/output error
rm: cannot remove `cache-zch-5666-cache.txt': Input/output error
root@host [/home2/investgr1/public_html/hello/cache/zch]#
答案1
dmesg
首先,檢查我在您的建議中的輸出上一個問題。如果核心在與驅動器通訊時遇到問題,則會在那裡報告。
這並不一定表示驅動器有問題。 RAM 是另一個常見的罪魁禍首,因此請進行記憶體測試。我用UBCD為此,但還有很多替代方案。
如果記憶體測試結果正常且沒有錯誤dmesg
,但仍出現 I/O 錯誤,則磁碟機上可能存在壞磁區。要確定這一點,請在磁碟上運行fsck -c
或。fsck -cc
第一個測試對於 SSD 更好,因為它是唯讀測試,但它無法找到或修復與使用 的先讀後寫測試一樣多的問題-cc
。
最終,你無法證明否定,所以你永遠不能絕對自信地說「這個SSD沒有壞」。
fsck
更糟的是, (或)測試可能badblocks
沒有出現錯誤,但症狀卻消失了。這是因為現代可重寫磁碟機具有自我修復功能,當您可以向磁碟機顯示有問題時,該功能就會啟動。也就是說,此類設施通常會阻止您首先看到壞扇區的影響,因此如果壞扇區確實是問題所在,則可能意味著驅動器的備用扇區池已用完。
答案2
badblocks -n -v
在一個或多個分區上運行。我確信這在 SSD 上沒有多大意義(區塊是虛擬的,SSD 有自己的壞區塊管理),但如果裝置有問題,壞區塊進程可能會觸發它們。
也就是說,如果badblocks
SSD上發現了壞塊,那麼SSD就壞了。
我沒有找到任何參考文獻來支持這篇論文,但這是我的推理:
badblocks -n
對整個分區進行低階讀寫測試。- SSD內部管理自己的壞塊,也使用磨損均衡來分配使用;發送到系統的區塊位址是虛擬的。因此,這些區塊都不應被測試為壞的,如果壞了,則驅動器的某些功能會失敗。
正如沃倫·楊(Warren Young)所說,這裡很難證明是負面的,所以僅僅因為這個測試通過並不意味著驅動器沒有損壞。
注意您必須先卸載分割區,這意味著如果您的根檔案系統位於 SSD 上,您將必須使用 Live CD 或其他東西。