centos7系統啟動出現Failed to mount /sysroot報錯,系統root分區無法掛載,一般引發的問題是主機文件系統損壞,采用umount和mount的方式可能可以恢復,但無法真正修復已經損壞的文件系統,在后續使用中仍會出現主機端讀寫錯誤。
最近一個centos系統就出現此故障,簡單總結一下就是主機文件系統元數據損壞導致I/O error,系統卡死
ll /dev/mapper/centos-root #系統的根分區邏輯卷
lrwxrwxrwx 1 root root 7 12月 1 09:57 /dev/mapper/centos-root -> ../dm-0
#對應的塊設備文件/dev/dm-0
umount /dev/mapper/centos-root提示不成功
直接xfs-repair也不行
最后通過新的系統鏡像引導進入恢復模式修復
在官方下載新的鏡像,制作光驅盤,系統重啟,按F6進入啟動管理,選擇從光盤啟動,進入系統安裝引導
選擇troubleshooting
選擇Rescue a CentOS system
選擇3直接跳轉到shell
執行xfs_repair -v /dev/dm-0
如果不行的話加-L參數(-L:強制日志清零,包括元數據更改)此參數可能會丟失文件系統元數據,生產環境慎用,使用之前先備份元數據
xfs_metabaimp /dev/dm-0 /tmp/vol1.metadump
xfs_metadump: 將 xfs 文件系統的元數據 (metadata) 拷貝到一個文件中
xfs_mdrestore: 從一個文件中將元數據 (metadata) 恢復到 xfs 文件系統
xfs_check: 檢測 xfs 文件系統的完整性
如果不確定文件系統是否正常的話可以在修復之前先xfs_check進行檢測
xfs_check /dev/sdd(盤符); echo $?
返回0即表示正常,檢測之前確保分區已經umount