章節
起因
就在2022年末的時候,我發現我的proxmox其中一台虛擬機出現了IO Error (Input/output Error)

如上圖^ (我居然拖了這麼久才發現 草)
不過很奇妙的事,系統、服務、數據庫甚麼的都沒有問題,就是莫名其妙地出現 I/O Error,而且重開虛擬機就可以(暫時)解決¯\_(ツ)_/¯
無法轉移
就在2023年初的時候,新加了一顆硬碟上去,想這解決IO問題
結果。

試了好幾次都是這樣,轉移到差不多 ~6.3GB的時候就會出現I/O Error
我這時候才發現問題不小。
修復SSD/資料救援
由於每個人會遇到SSD損壞的原因都不相同,以下的維修過程經供參考
一開始查到的方法是使用 lvconvert –repair
只是個人對於指令行怕怕的(
所以先嘗試了windows vm的修復方法
**備注** 在做這些事情之前我已經把重要檔案都先備份過了,然後才進行以下動作的
SSD Passthough/直通
建立了一個windows 虛擬機之後
要先安裝 Windows VirtIO Drivers

安裝完成之後把VM關起來
然後打開proxmox的shell
輸入
ls -n /dev/disk/by-id/
查看所有儲存設備的ID

ata-SanDisk_SDSSDX120GG25_130778400934 這個先記起來
然後輸入
/sbin/qm set [虛擬機-ID] -virtio2 /dev/disk/by-id/[設備-ID]
或是
/sbin/qm set [虛擬機-ID] -scsi2 /dev/disk/by-id/[設備-ID] (如果需要SSD Emulation的話)
接著到 虛擬機 –> hardware

看到這行就代表成功了!
掃描SSD 壞軌
這裡我用的是DiskGenius,因為之前有用過,所以比較熟悉操作介面
有趣的是
他居然認得LVM分區?!

對 vm-102-disk-0 點右鍵,選擇 壞軌偵側與修復

就可以不用掃描一整顆硬碟 (磁柱範圍 7832 — 14359)

至於掃描結果….

剛好就是 ~6.3GB的地方毀損最多
修復SSD
其實這部分沒什麼好說的,掃瞄完後點 嘗試修復,接下來一切聽天由命wwww

34個壞軌修復了大概9~10個小時
而且成功了!! (沒截到圖哭哭)
轉移資料
虛擬機 –> hardware –> 選擇Disk –> Disk Action –> Move Storage
開始轉移!

成功了!!!!

沒有任何問題,虛擬機也正常啟動uwu
結語
這種修復方法我真的我也沒想過可以用,打從一開始就是抱著不可能會成功的態度在做這些動作
殊不知意外的順利(?
額外補充
我用DiskWipe 把SSD重新複寫三遍之後,又再掃描一遍

看起來沒什麼問題(??
但找個時間還是把它換掉好了zzzz