1. 程式人生 > >記一次centos7.2 檔案系統修復

記一次centos7.2 檔案系統修復

centos 7 系統恢復

故障描述

  1. 啟動之後作業系統只能進入到單使用者模式
    這裡寫圖片描述

  2. 使用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