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