virtualbox虛擬機異常暫停
昨天下午運營的人告訴我,xx后台登陸不上,然后我遠程連接過去,不通。直接去宿主機,也就是virtualbox看。我一開始以為關機,重啟搞掂。重啟一次不行,就重啟兩次;兩次不行,再重啟多次。因為遇到virtual box 里面的虛擬機異常關機也不是一次兩次的事了。不過老實說,這個報錯我第一次見,這是“暫停”,而不是“異常關機“

重啟多次,也許有1~2次能開成功的,但是開服務又暫停了。狀況就是遠程連接突然失聯,去virtual box看,上面的非致命性錯誤
於是只能遠程登陸virtual box這台宿主機,看日志,如下:

翻了一輪日志:/var/log/messages,報錯時間點如下:
Jun 22 23:58:14 202 kernel: blk_update_request: I/O error, dev sda, sector 41584592 Jun 23 00:00:00 202 kernel: blk_update_request: I/O error, dev sda, sector 41590080 Jun 23 00:00:05 202 kernel: blk_update_request: I/O error, dev sda, sector 41585488 Jun 23 00:01:56 202 kernel: blk_update_request: I/O error, dev sda, sector 41590904 Jun 23 09:26:39 202 smartd[803]: Device: /dev/sda [SAT], 4 Currently unreadable (pending) sectors
谷歌查到,很可能是磁盤扇區壞了,於是按這篇文章,用hdparm查了一輪:

我的測試結果,是有兩個扇區壞了,另外兩個估計是假死(還沒驗證)

硬件壞,貌似沒查到好的辦法根治。
幸好我之前在EXIS 服務器上(是真的戴爾服務器,不是這台用家庭電腦台式機裝的virtualbox!!!),把這台硬盤扇區壞的服務器東西遷移了過去,雖然有些文件並不是最新的,但從gitlab上重新pull下來,更新最新代碼,充當后台發新聞還是可以的,目前暫時沒收到運營人員報障(這幾天還是要跟進下有沒有使用上跟原服務器不同的地方)
想到壞掉的服務器可能里面有非常重要的文件,我就嘗試下有沒有其他辦法能恢復,即使能查看原服務器里面文件也好呀。靈機一閃,決定新建一個虛擬機,新建硬盤的時候選擇壞掉的機器的虛擬硬盤,如下圖:


竟然新虛擬機打開之后就是壞機的東西(估計沒有讀到壞扇區,感動~),不過里面的文件好像不是最新的,可能還得讀回之前壞機的快照才能恢復最新。。。另外注意下,新建的虛擬機的mac地址是不同的。
