維護筆記:一次生產環境 Linux 文件系統損壞的修復記錄
今天分享一個Linux文件系統損壞的恢復案例。
一、現象
值班人員突然收到服務器宕機的緊急告警通知,然后告知我。嘗試通過堡壘機進入服務器查看狀態,結果無法進入,服務器應該是掉線了。
接著我通過云平臺登錄到后臺界面,看到下面的界面:
然后我輸入密碼嘗試回車,出現下面的界面:
從報錯可以判斷:文件系統壞了。而且涉及兩個分區:/dev/vda5和/dev/vdb1,其中vda5是系統盤。
二、修復過程
說明一下:操作系統是CentOS7.6 ,分區格式是ext4。
1. 進入單用戶模式
后臺重啟服務器,開機啟動時出現下圖界面時,按e鍵:
在后面輸入: init=/bin/sh,并按 ctrl x 執行:
2. 手動執行 fsck
進入單用戶模式后,使用 lsblk 確認分區掛載情況后,先對/dev/vda5系統盤進行修復:
fsck -y /dev/sda5
幸運的是,系統能自動修復這些問題,數據損失極少。
接著就是通過同樣的命令修復/dev/vdb1:
fsck -y /dev/vdb1
-y參數是確認所有修復項,如果不添加則會逐項確認。
【溫馨提示】如果是xfs文件系統使用xfs_repair修復:
# xfs 不支持 fsck
xfs_repair /dev/sdX
3. 重啟并驗證服務
退出單用戶模式重新啟用:
exec /sbin/init
最后,順利登錄到操作系統。進入系統需要檢查數據完整性,業務都順利啟動,還好數據沒有丟失。
三、注意事項
- 定期備份是救命稻草,修復有風險,需要先做快照
- 強烈建議關鍵分區獨立掛載
- 出問題就寫筆記,下次就不慌
系統故障不可怕,可怕的是不知道怎么應對。一次次實踐、總結和反思,是運維工程師不斷成長的關鍵。