RHEL6基礎四十五RHEL文件系統修復

fsck---file system check

說明 : 檢查與修復 Linux 文件系統,可以同時檢查一個或多個 Linux 檔案系統。

注意:fsck 掃描文件系統時一定要在單用戶模式、修復模式或把設備umount後進行。如果掃描運行中的系統,會造成系統文件損壞。RHEL6中fsck默認支持文件系統ext4,如果想支持ext3文件系統的掃描,應該加-j 參數。最好是根據不同的文件系統來調用不同的掃描工具,比如ext3的文件系統使用fsck.ext3,ext2文件系統使用fsck -t etx2等。

參數 :-a : 如果檢查有錯則自動修復
     -r : 如果檢查有錯則由使用者回答是否修復

       -t : 給定檔案系統的型式,若在 /etc/fstab 中已有定義或 kernel 本身已支援的則不需加上此參數
     -s : 依序一個一個地執行 fsck 的指令來檢查
     -A : 對/etc/fstab 中所有列出來的 partition 做檢查
     -C : 顯示完整的檢查進度
     -d : 列印
e2fsck 的 debug 結果
     -p : 同時有 -A 條件時,同時有多個 fsck 的檢查一起執行
     -R : 同時有 -A 條件時,省略 / 不檢查
     -V : 詳細顯示模式

執行後的傳回值及代表意義

0 沒有任何錯誤發生。

1 文件系統發生錯誤,並且已經修正。

2 文件系統發生錯誤,並且已經修正。

4 文件系統發生錯誤,但沒有修正。

8 運作時發生錯誤。

16 使用的語法發生錯誤。

128 共享的函數庫發生錯誤。


檢查 ext3 檔案系統的 /dev/sdb3 是否正常,如果有異常便自動修復

[root@justin ~]# fsck -t ext3 -a /dev/sdb3


一般出現以下提示時可以使用fsck命令來修復:

1、無法mount分區;

2、大量文件、目錄丟失,根目錄下生成/LOST+FOUND文件夾,裏面有大量#XXXXXX類的文件和目錄;

3、fsck很快報錯完成;

4、fsck執行時,有大量提示,如修改節點、清0節點等操作


當Linux系統被強行關閉或重新啓動,電腦的檔案系統便有可能受損,系統會自動檢查並修復檔案系統;但當檔案系統未能自動修復,需要手動使用fsck進行掃描和修復。出現如下情況:

…...
Checking file systems ...fsck 1.41.3(12-OCT-2008)
/dev/sdb5 contains a file system with errors check forced
/dev/sdb5: |==========                                    ---進度條
……
/dev/sdb5: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY (i.e., without -a or -p options)
fsck died with exit status4
……
……/var/log/fsck/  ---fsck報錯日誌的存放位置
……
Warning
……
Press enter for maintenance
(or type Control-D to continue): --- Ctrl+d繼續啓動服務器。

1、查看報錯日誌

[root@justin ~]# ls -l /var/log/fsck/
total 8
-rw-r----- 1 root adm 190 2011-06-09 10:03 checkfs
-rw-r----- 1 root adm 192 2011-06-09 10:03 checkroot
[root@justin ~]# more /var/log/fsck/checkfs
[root@justin ~]# more /var/log/fsck/checkroot

2、查看運行級別

掃描文件系統時一定要在單用戶模式、修復模式或把設備umount後進行。如果掃描運行中的系統,會造成系統文件損壞。

[root@justin ~]# runlevel
N 3
[root@justin ~]# init 1
[root@justin ~]#

3、使用fsck對文件系統進行掃描、修復

[root@justin ~]# fsck
fsck          fsck.ext2     fsck.ext4     fsck.msdos  
fsck.cramfs   fsck.ext3     fsck.ext4dev  fsck.vfat   
[root@justin ~]# fsck.ext4  -y /dev/sdb5
e2fsck 1.41.12 (17-May-2010)
/dev/sdb5 已掛載.
WARNING!!!  The filesystem is mounted.   If you continue you ***WILL***
cause ***SEVERE*** filesystem damage.
你真的想要要繼續 (y/n)? y

fsck.ext4開始進入掃描、修正文件系統,這個過程時間比較長,中間有數次停頓的過程,只需等待即可,千萬不要以爲死機而重啓服務器。fsck.ext4掃描、修正完文件系統後,根據提示可能需要重啓系統。如果沒有提示重啓系統,也需要reboot來重啓系統。在重啓系統的過程中,fsck會對文件系統進行掃描。fsck掃描完以後,會啓動到系統的登錄界面,不需要進行任何干涉。再次重新啓動系統,系統可以正常啓動。


e2fsck和fsck.ext2、fsck.ext3、fsck.ext4功能一樣都是檢查和修復文件系統,在檢查之前一定要卸載待檢查的文件系統分區。

主要參數包括:

  -a: 檢查 partition,如發現問題會自動修復。

  -B size: 指定 size 作爲區塊大小。

  -c: 檢查 partition 是否有壞軌。

  -C file: 將檢查結果儲存到 file。

  -d: 輸出 e2fsck debug 結果。

  -f: e2fsck 預設只會對錯誤的檔案系統檢查,加上 -f 是強制檢查。

[root@justin ~]# umount /dev/sdb5
[root@justin ~]# e2fsck -f /dev/sdb5
e2fsck 1.41.12 (17-May-2010)
第一步: 檢查inode,塊,和大小
第二步: 檢查目錄結構
第3步: 檢查目錄連接性
Pass 4: Checking reference counts
第5步: 檢查簇概要信息
/dev/sdb5: 11/131648 files (0.0% non-contiguous), 25432/526113 blocks
[root@justin ~]#


案例:

機器斷電或者直接關電源強制重啓後出現以下界面:

wKioL1bo686ykiMwAACFn1xBJH0474.png

wKiom1bo60PzootWAAGy5_BeVOo449.png

提示:Giveroot password for maintenance 

      (or type Control-D for normal startup):

輸入fsck -y  修復,時間可能比較長,等待修復完成exit退出重啓

wKioL1bqEqLijtvMAAEIgQmSqMM033.pngwKioL1bqEqOg9wMnAAE5SaYYQuM573.png


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