關於我把SSD資料救出來這檔事(IO Error)

起因

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

image

如上圖^ (我居然拖了這麼久才發現 草)

不過很奇妙的事,系統、服務、數據庫甚麼的都沒有問題,就是莫名其妙地出現 I/O Error,而且重開虛擬機就可以(暫時)解決¯\_(ツ)_/¯

無法轉移

就在2023年初的時候,新加了一顆硬碟上去,想這解決IO問題

結果。

IO Error on transfer

試了好幾次都是這樣,轉移到差不多 ~6.3GB的時候就會出現I/O Error

我這時候才發現問題不小。

修復SSD/資料救援

由於每個人會遇到SSD損壞的原因都不相同,以下的維修過程經供參考

一開始查到的方法是使用 lvconvert –repair
只是個人對於指令行怕怕的(
所以先嘗試了windows vm的修復方法

**備注** 在做這些事情之前我已經把重要檔案都先備份過了,然後才進行以下動作的

SSD Passthough/直通

建立了一個windows 虛擬機之後
要先安裝 Windows VirtIO Drivers

image

安裝完成之後把VM關起來
然後打開proxmox的shell
輸入

ls -n /dev/disk/by-id/

查看所有儲存設備的ID

image

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

image

看到這行就代表成功了!

掃描SSD 壞軌

這裡我用的是DiskGenius,因為之前有用過,所以比較熟悉操作介面
有趣的是
他居然認得LVM分區?!

image

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

image

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

image

至於掃描結果….

image

剛好就是 ~6.3GB的地方毀損最多

修復SSD

其實這部分沒什麼好說的,掃瞄完後點 嘗試修復,接下來一切聽天由命wwww

image

34個壞軌修復了大概9~10個小時
而且成功了!! (沒截到圖哭哭)

轉移資料

虛擬機 –> hardware –> 選擇Disk –> Disk Action –> Move Storage

開始轉移!

image

成功了!!!!

image

沒有任何問題,虛擬機也正常啟動uwu

結語

這種修復方法我真的我也沒想過可以用,打從一開始就是抱著不可能會成功的態度在做這些動作
殊不知意外的順利(?

額外補充

我用DiskWipe 把SSD重新複寫三遍之後,又再掃描一遍

image

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

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *