記一次 centos 7 系統恢復
故障描述
1. 啓動之後操作系統只能進入到單用戶模式
-
使用U盤進入救援模式進行恢復
選擇Troubleshooting
選擇Rescue a Centos system
選擇1 continue
但是選擇這個之後就一直卡在這裏不動,很奇怪不知道怎麼回事
重啓系統進入centos 7 單用戶模式,於是修改啓動項,
按e進入如下界面,原來是ro 編輯ro 爲rw imit=/sysroot/bin/sh 完成後直接按ctrl+x
文件系統修復
進入單用戶模式下,chroot /sysroot 報錯,使用命令行掛載試試
mount –o remount,rw /sysroot
chroot /sysroot
還是報錯,懷疑文件系統有問題,因爲centos 7 默認是xfs 文件系統,所以使用xfs 文件的修復工具進行修復。
執行xfs 看到我還有三個命令可用
xfs 相關命令介紹
xfs_db 調試或檢測xfs 文件系統(查看文件系統碎片等)
xfs_metadump 將xfs文件系統的元數據拷貝到
xfs_repair 嘗試修復受損的xfs 文件系統
xfs_repair -n /dev/dm-0 檢查不修復
因爲根分區/dev/sda1 對應的實際是/dev/dm-0
如果是日誌和數據不一致了,xfs 默認會在掛載的時候修復這種不一致,操作系統給出的建議是以讀寫的方式掛載並自動修復,可以嘗試以只讀不修複方式掛載文件系統。
mount -o ro,norecovery /dev/dm-0 /data0
如果不能以讀寫掛載不成功,可以清除日誌再掛載
xfs_repair -L /dev/dm-0
清除日誌有風險,可以在操作前將數據備份一下。
最後冒了一次風險執行
xfs_repair -L /dev/dm-0
然後reboot 重啓就好了
造成故障原因:
重啓設備或者斷電造成linux 內核崩潰和系統停止,使xfs 調用堆棧及內核崩潰的。
報錯如下:
xfs:xfs_error_report+0xf/0x58