bug-記一次centos虛擬機文件系統崩潰的修復過程

首先對虛擬機的鏡像文件進行備份

問題:根分區/dev/mapper/centos-root  無法通過mount掛載

1. 通過xfs_repair 進行修復

首先取消掛載,umount /dev/mapper/centos-root

因爲根分區/dev/mapper/centos-root對應的實際時/dev/dm-0,所以我們可以通過xfs_check/xfs_repair來檢查一下,-n是指僅檢查不修復:

xfs_repair -n /dev/dm-0

可以看到我們的元數據還在,但是日誌和數據不一致,xfs默認會在掛載的時候修復這種不一致,操作系統給出的建議是以讀寫的方式掛載並自動修復,我們先嚐試以只讀不修複方式掛載文件系統,然後再試試以讀寫方式掛載並修復:

mount -o ro,norecovery /dev/dm-0 /data0

文件系統成功以只讀形式掛載,內容還在。

修復前,取消掛載 umount /dev/dm-0

然後通過xfs_repair /dev/dm-0 進行修復,如果修復失敗,

則用xfs_repair -L /dev/dm-0 進行強制修復,此過程有風險,會丟失部分文件;

修復後,通過mount命令掛載

mount /dev/dm-0 /data0

如果沒有報錯,則已修復完畢,通過reboot重啓,即可進入用戶界面

2. 通過xfs_repair -L /dev/dm-0 強制修復丟失的文件,進行恢復

    方法:新開啓一臺虛擬機(最好用不同的底層鏡像文件),然後將之前備份的虛擬機文件當做磁盤掛載到新的虛擬機中

    過程:

          a)  通過virtual box的設置將文件進行掛載,可參考:https://www.youtube.com/watch?v=YtLLkUMlwSw,需翻牆

              

          b) 設置完成後,打開虛擬機,新的磁盤/dev/sdb2沒有掛載,可通過手動mount進行掛載

            mount -o ro,norecovery,nouuid /dev/recover/root /mnt

    如果提示 mount: unknown filesystem type 'LVM_member',

     需要安裝 lvm2:  yum install lvm2,

             並根據本人另一篇博客:Mounting LVM with same PV, LV, VG names as                                          system(https://blog.csdn.net/bingtianxuedi111/article/details/102392865)進行mount

    mount成功後,即可手動將丟失的文件拷貝出來。        

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章