當你在 Linux 下指令時出現 "Read-only file system" 的錯誤訊息時,請不要大意,因為你的硬碟可能已經出問題了。
昨天早上收到一封從 smartd daemon 寄出的郵件,得知我的硬碟可能出狀況了。
This email was generated by the smartd daemon running on:
host name: xxxxx.miniasp.com
DNS domain: xxx.miniasp.com
NIS domain: (none)
The following warning/error was logged by the smartd daemon:
Device: /dev/hdc, 1 Currently unreadable (pending) sectors
For details see host's SYSLOG (default: /var/log/messages).
You can also use the smartctl utility for further investigation.
No additional email messages about this problem will be sent.
接著我在系統輸入任何指令都會出現異常,因為整個磁碟區都無法寫入任何資料,當然也包括 /tmp 目錄,所以許多服務都掛點了,而我也試著下 mount 指令重新掛載硬碟讓他變成可讀寫:
不過卻於事無補,之後用 dmesg 工具查看最近的硬體狀況,結果發現硬碟真的出現讀寫失敗的情況。
雖然我有定時備份的習慣,但我的第一步就是先趕快備份重要資料,備份完之後就是趕緊想辦法修復硬碟,不過修著...修著...,「它」不說一聲的就走了~ 根本沒給我多少的時間,而我大部分設定檔也沒備份出來,就只備份了資料庫與一些重要的程式而已,雖然是內部用的主機,不過也有些最近寫的 Script 與設定檔消失不見了。
真的等「痛」到了之後,才知道「備份」與「還原」何等重要,而且「缺一不可」,因為我從來沒有認真的做過 Linux 的「還原」演練,導致真的發生狀況時手忙腳亂的,剎那間真的有點傻住了,短時間要去查詢指令或測試指令怎麼用根本來不及應付狀況,只好趕快重新安裝一台 Linux 比較快。
但這時的我心理想到的竟然是「如果 Linux 也有像微軟一樣提供優秀的技術支援中心那該有多好」,因為當下無助的狀況真的想罵人都不知道要罵誰,如果是微軟的產品出問題還有 0800 電話可以問,解決不了還可以發發飆出出氣(開玩笑啦~呵呵)。
網路上 Linux 的相關資料真的是一大堆,不過大多都是論壇討論或一些垃圾資訊,真的想快速找到解決方案真的很難,像是這種像硬體失敗的狀況問題百百種,每個人遇到的狀況都不盡相同,且 Linux 版本這麼多,多少遇到的問題都有些差異,所以真的很累人。
因為跟了我將近六年的主機(硬碟)就在一轉眼說走就走,真的只能怪自己沒好好做功課把「備份」與「還原」的機制演練好,所以人真的是「不經一事、不長一智」,這個慘痛的經驗跟大家分享,該做的事千萬不要遲疑,馬上行動,才不會空留遺憾啊!