您好,登錄后才能下訂單哦!
小編給大家分享一下Linux中如何管理EXT2、 EXT3和EXT4文件系統健康狀況,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
怎么去查看 EXT2/EXT3/EXT4 文件系統信息
dumpe2fs 是一個命令行工具,用于去轉儲 ext2/ext3/ext4 文件系統信息,這意味著它可以顯示設備上文件系統的超級塊和塊組信息。
在運行 dumpe2fs 之前,先去運行 df -hT 命令,確保知道文件系統的設備名。
$ sudo dumpe2fs /dev/sda10
示例輸出:
dumpe2fs 1.42.13 (17-May-2015) Filesystem volume name: Last mounted on: / Filesystem UUID: bb29dda3-bdaa-4b39-86cf-4a6dc9634a1b Filesystem magic number: 0xEF53 Filesystem revision #: 1 (dynamic) Filesystem features: has_journal ext_attr resize_inode dir_index filetype needs_recovery extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize Filesystem flags: signed_directory_hash Default mount options: user_xattr acl Filesystem state: clean Errors behavior: Continue Filesystem OS type: Linux Inode count: 21544960 Block count: 86154752 Reserved block count: 4307737 Free blocks: 22387732 Free inodes: 21026406 First block: 0 Block size: 4096 Fragment size: 4096 Reserved GDT blocks: 1003 Blocks per group: 32768 Fragments per group: 32768 Inodes per group: 8192 Inode blocks per group: 512 Flex block group size: 16 Filesystem created: Sun Jul 31 16:19:36 2016 Last mount time: Mon Nov 6 10:25:28 2017 Last write time: Mon Nov 6 10:25:19 2017 Mount count: 432 Maximum mount count: -1 Last checked: Sun Jul 31 16:19:36 2016 Check interval: 0 () Lifetime writes: 2834 GB Reserved blocks uid: 0 (user root) Reserved blocks gid: 0 (group root) First inode: 11 Inode size: 256 Required extra isize: 28 Desired extra isize: 28 Journal inode: 8 First orphan inode: 6947324 Default directory hash: half_md4 Directory Hash Seed: 9da5dafb-bded-494d-ba7f-5c0ff3d9b805 Journal backup: inode blocks Journal features: journal_incompat_revoke Journal size: 128M Journal length: 32768 Journal sequence: 0x00580f0c Journal start: 12055
你可以通過 -b 選項來顯示文件系統中的任何保留塊,比如壞塊(無輸出說明沒有壞塊):
$ sudo dumpe2fs -b
檢查 EXT2/EXT3/EXT4 文件系統的錯誤
e2fsck 用于去檢查 ext2/ext3/ext4 文件系統的錯誤。fsck 可以檢查并且可選地 修復 Linux 文件系統;它實際上是底層 Linux 提供的一系列文件系統檢查器 (fsck.fstype,例如 fsck.ext3、fsck.sfx 等等) 的前端程序。
記住,在系統引導時,Linux 會為 /etc/fstab 配置文件中被標為“檢查”的分區自動運行 e2fsck/fsck。而在一個文件系統沒有被干凈地卸載時,一般也會運行它。
注意:不要在已掛載的文件系統上運行 e2fsck 或 fsck,在你運行這些工具之前,首先要去卸載分區,如下所示。
$ sudo unmount /dev/sda10 $ sudo fsck /dev/sda10
此外,可以使用 -V 開關去啟用詳細輸出,使用 -t 去指定文件系統類型,像這樣:
$ sudo fsck -Vt ext4 /dev/sda10
調優 EXT2/EXT3/EXT4 文件系統
我們前面提到過,導致文件系統損壞的其中一個因素就是不正確的調優。你可以使用 tune2fs 實用程序去改變 ext2/ext3/ext4 文件系統的可調優參數,像下面講的那樣。
去查看文件系統的超級塊,包括參數的當前值,使用 -l 選項,如下所示。
$ sudo tune2fs -l /dev/sda10
示例輸出:
tune2fs 1.42.13 (17-May-2015) Filesystem volume name: Last mounted on: / Filesystem UUID: bb29dda3-bdaa-4b39-86cf-4a6dc9634a1b Filesystem magic number: 0xEF53 Filesystem revision #: 1 (dynamic) Filesystem features: has_journal ext_attr resize_inode dir_index filetype needs_recovery extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize Filesystem flags: signed_directory_hash Default mount options: user_xattr acl Filesystem state: clean Errors behavior: Continue Filesystem OS type: Linux Inode count: 21544960 Block count: 86154752 Reserved block count: 4307737 Free blocks: 22387732 Free inodes: 21026406 First block: 0 Block size: 4096 Fragment size: 4096 Reserved GDT blocks: 1003 Blocks per group: 32768 Fragments per group: 32768 Inodes per group: 8192 Inode blocks per group: 512 Flex block group size: 16 Filesystem created: Sun Jul 31 16:19:36 2016 Last mount time: Mon Nov 6 10:25:28 2017 Last write time: Mon Nov 6 10:25:19 2017 Mount count: 432 Maximum mount count: -1 Last checked: Sun Jul 31 16:19:36 2016 Check interval: 0 () Lifetime writes: 2834 GB Reserved blocks uid: 0 (user root) Reserved blocks gid: 0 (group root) First inode: 11 Inode size: 256 Required extra isize: 28 Desired extra isize: 28 Journal inode: 8 First orphan inode: 6947324 Default directory hash: half_md4 Directory Hash Seed: 9da5dafb-bded-494d-ba7f-5c0ff3d9b805 Journal backup: inode blocks
接下來,使用 -c 標識,你可以設置文件系統在掛載多少次后將進行 e2fsck 檢查。下面這個命令指示系統每掛載 4 次之后,去對 /dev/sda10 運行 e2fsck。
$ sudo tune2fs -c 4 /dev/sda10 tune2fs 1.42.13 (17-May-2015) Setting maximal mount count to 4
你也可以使用 -i 選項定義兩次文件系統檢查的時間間隔。下列的命令在兩次文件系統檢查之間設置了一個 2 天的時間間隔。
$ sudo tune2fs -i 2d /dev/sda10 tune2fs 1.42.13 (17-May-2015) Setting interval between checks to 172800 seconds
現在,如果你運行下面的命令,你可以看到對 /dev/sda10 已經設置了文件系統檢查的時間間隔。
$ sudo tune2fs -l /dev/sda10
示例輸出:
Filesystem created: Sun Jul 31 16:19:36 2016 Last mount time: Mon Nov 6 10:25:28 2017 Last write time: Mon Nov 6 13:49:50 2017 Mount count: 432 Maximum mount count: 4 Last checked: Sun Jul 31 16:19:36 2016 Check interval: 172800 (2 days) Next check after: Tue Aug 2 16:19:36 2016 Lifetime writes: 2834 GB Reserved blocks uid: 0 (user root) Reserved blocks gid: 0 (group root) First inode: 11 Inode size: 256 Required extra isize: 28 Desired extra isize: 28 Journal inode: 8 First orphan inode: 6947324 Default directory hash: half_md4 Directory Hash Seed: 9da5dafb-bded-494d-ba7f-5c0ff3d9b805 Journal backup: inode blocks
要改變缺省的日志參數,可以使用 -J 選項。這個選項也有子選項: size=journal-size (設置日志的大小)、device=external-journal (指定日志存儲的設備)和 location=journal-location (定義日志的位置)。
注意,這里一次僅可以為文件系統設置一個日志大小或設備選項:
$ sudo tune2fs -J size=4MB /dev/sda10
***,同樣重要的是,可以去使用 -L 選項設置文件系統的卷標,如下所示。
$ sudo tune2fs -L "ROOT" /dev/sda10
調試 EXT2/EXT3/EXT4 文件系統
debugfs 是一個簡單的、交互式的、基于 ext2/ext3/ext4 文件系統的命令行調試器。它允許你去交互式地修改文件系統參數。輸入 ? 查看子命令或請求。
$ sudo debugfs /dev/sda10
缺省情況下,文件系統將以只讀模式打開,使用 -w 標識去以讀寫模式打開它。使用 -c 選項以災難(catastrophic)模式打開它。
示例輸出:
debugfs 1.42.13 (17-May-2015) debugfs: ? Available debugfs requests: show_debugfs_params, params Show debugfs parameters open_filesys, open Open a filesystem close_filesys, close Close the filesystem freefrag, e2freefrag Report free space fragmentation feature, features Set/print superblock features dirty_filesys, dirty Mark the filesystem as dirty init_filesys Initialize a filesystem (DESTROYS DATA) show_super_stats, stats Show superblock statistics ncheck Do inode->name translation icheck Do block->inode translation change_root_directory, chroot ....
要展示未使用空間的碎片,使用 freefrag 請求,像這樣:
debugfs: freefrag
示例輸出:
Device: /dev/sda10 Blocksize: 4096 bytes Total blocks: 86154752 Free blocks: 22387732 (26.0%) Min. free extent: 4 KB Max. free extent: 2064256 KB Avg. free extent: 2664 KB Num. free extent: 33625 HISTOGRAM OF FREE EXTENT SIZES: Extent Size Range : Free extents Free Blocks Percent 4K... 8K- : 4883 4883 0.02% 8K... 16K- : 4029 9357 0.04% 16K... 32K- : 3172 15824 0.07% 32K... 64K- : 2523 27916 0.12% 64K... 128K- : 2041 45142 0.20% 128K... 256K- : 2088 95442 0.43% 256K... 512K- : 2462 218526 0.98% 512K... 1024K- : 3175 571055 2.55% 1M... 2M- : 4551 1609188 7.19% 2M... 4M- : 2870 1942177 8.68% 4M... 8M- : 1065 1448374 6.47% 8M... 16M- : 364 891633 3.98% 16M... 32M- : 194 984448 4.40% 32M... 64M- : 86 873181 3.90% 64M... 128M- : 77 1733629 7.74% 128M... 256M- : 11 490445 2.19% 256M... 512M- : 10 889448 3.97% 512M... 1024M- : 2 343904 1.54% 1G... 2G- : 22 10217801 45.64% debugfs:
通過去簡單瀏覽它所提供的簡要描述,你可以試試更多的請求,比如,創建或刪除文件或目錄,改變當前工作目錄等等。要退出 debugfs,使用 q。
現在就這些!我們收集了不同分類下的相關文章,你可以在里面找到對你有用的內容。
文件系統使用信息:
12 Useful “df” Commands to Check Disk Space in Linux
Pydf an Alternative “df” Command to Check Disk Usage in Different Colours
10 Useful du (Disk Usage) Commands to Find Disk Usage of Files and Directories
檢查磁盤或分區健康狀況:
3 Useful GUI and Terminal Based Linux Disk Scanning Tools
How to Check Bad Sectors or Bad Blocks on Hard Disk in Linux
How to Repair and Defragment Linux System Partitions and Directories
以上是“Linux中如何管理EXT2、 EXT3和EXT4文件系統健康狀況”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。