4 Tools fir EXT2, EXT3 an EXT4 Gesondheet op Linux ze managen


E Dateiesystem ass eng Datestruktur déi hëlleft ze kontrolléieren wéi d'Donnéeën op engem Computersystem gespäichert an zréckgewonne ginn. E Dateiesystem kann och als kierperlech (oder verlängert) Partition op enger Disk ugesi ginn. Wann net gutt gepflegt a regelméisseg iwwerwaacht gëtt, kann et op laang Siicht beschiedegt oder korrupt ginn, op sou vill verschidde Weeër.

Et gi verschidde Faktoren, déi e Dateiesystem ongesond kënne verursaachen: System Crashen, Hardware- oder Softwarefehler, Buggy Chauffeuren a Programmer, falsch ofstëmmen, iwwerlaascht mat exzessive Daten plus aner kleng Feeler.

Jidderee vun dësen Themen kann verursaachen datt de Linux net e Dateiesystem graziéis montéiert (oder unmount), an doduerch Systemausfall bréngt.

Zousätzlech kann Äre System mat engem behënnerte Dateiesystem lafen, aner Runtimefehler an de Betribssystemkomponenten oder an de Benotzerapplikatiounen entstoen, wat zu engem schwéieren Dateverloscht eskaléiere kéint. Fir d'Korruptioun oder Schued vum Dateiesystem ze vermeiden, musst Dir op seng Gesondheet kucken.

An dësem Artikel wäerte mir Tools ofdecken fir eng ext2, ext3 an ext4 Dateisystem Gesondheet ze iwwerwaachen an z'erhalen. All déi hei beschriwwe Tools erfuerderen Root Benotzer Privilegien, benotzt dofir de sudo Kommando fir se auszeféieren.

Wéi Dir EXT2/EXT3/EXT4 Dateiesysteminformatioun kuckt

dumpe2fs ass e Kommandozeilinstrument dat benotzt gëtt fir ext2/ext3/ext4 Dateiesysteminformatioun ze dumpen, heescht datt et Superblock weist a Gruppinformatioun fir de Dateiesystem um Apparat blockéiert.

Ier Dir dumpe2fs leeft, vergewëssert Iech df -hT Kommando auszeféieren fir d'Dateisystem Apparat Nimm ze kennen.

$ 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

Dir kënnt de -b Fändel passéieren fir all Blocks ze weisen, déi als schlecht am Dateiesystem reservéiert sinn (keng Ausgang implizéiert schlecht Blocks):

$ dumpe2fs -b

Iwwerpréift EXT2/EXT3/EXT4 Dateiesystemer fir Feeler

e2fsck gëtt benotzt fir ext2/ext3/ext4 Dateiesystemer fir Feeler a fsck Kontrollen z'ënnersichen a kann optional e Linux Dateiesystem reparéieren; et ass am Fong e Front-End fir eng Rei vu Dateiesystemchecker (fsck.fstype zum Beispill fsck.ext3, fsck.sfx etc) ugebueden ënner Linux.

Denkt drun datt Linux e2fack/fsck automatesch beim Systemboot op Partitionen leeft, déi markéiert sinn fir d'Konfiguratiounsdatei /etc/fstab ze kontrolléieren. Dëst gëtt normalerweis gemaach nodeems e Dateiesystem net propper demontéiert gouf.

Opgepasst: Laf net e2fsck oder fsck op montéierte Dateiesystemer, demontéiert ëmmer eng Partition fir d'éischt ier Dir dës Tools drop lafe kënnt, wéi hei ënnendrënner.

$ sudo unmount /dev/sda10
$ sudo fsck /dev/sda10

Alternativ, aktivéiert verbose Output mam -V Schalter a benotzt den -t fir e Dateisystemtyp esou ze spezifizéieren:

$ sudo fsck -Vt ext4 /dev/sda10

Tuning EXT2/EXT3/EXT4 Dateiesystemer

Mir hunn vun Ufank un erwähnt datt eng vun den Ursaache vum Schied vum Dateiesystem falsch Tuning ass. Dir kënnt den tune2fs Utility benotze fir d'tunable Parameteren vun ext2/ext3/ext4 Dateiesystemer z'änneren wéi hei ënnen erkläert.

Fir den Inhalt vum Dateiesystem Superblock ze gesinn, och déi aktuell Wäerter vun de Parameteren, benotzt d'Optioun -l wéi gewisen.

$ 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

Als nächst, mam -c Fändel, kënnt Dir d'Zuel vun de Mounts festleeën, no deenen de Dateiesystem vun e2fsck gepréift gëtt. Dëse Kommando instruéiert de System fir e2fsck géint /dev/sda10 no all 4 Mounts ze lafen.

$ sudo tune2fs -c 4 /dev/sda10

tune2fs 1.42.13 (17-May-2015)
Setting maximal mount count to 4

Dir kënnt och d'Zäit tëscht zwee Dateiesystemkontrollen mat der -i Optioun definéieren. De folgende Kommando setzt en Intervall vun 2 Deeg tëscht Dateiesystemkontrollen.

$ sudo tune2fs  -i  2d  /dev/sda10

tune2fs 1.42.13 (17-May-2015)
Setting interval between checks to 172800 seconds

Elo wann Dir dëse Kommando hei drënner leeft, ass de Dateiesystem Kontrollintervall fir /dev/sda10 elo agestallt.

$ 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

Fir d'Standardjournalparameter z'änneren, benotzt d'Optioun -J. Dës Optioun huet och Ënneroptiounen: Gréisst = Journal-Gréisst (stellt d'Gréisst vum Journal fest), Apparat = extern Journal (spezifizéiert den Apparat op deem et gespäichert ass) a Standuert = Journal-Location (definéiert de Standuert vum Journal).

Bedenkt datt nëmmen eng vun de Gréisst- oder Apparatoptioune fir e Dateiesystem gesat ka ginn:

$ sudo tune2fs -J size=4MB /dev/sda10

Lescht awer net zulescht kann de Volume Label vun engem Dateiesystem mat der -L Optioun gesat ginn wéi hei ënnen.

$ sudo tune2fs -L "ROOT" /dev/sda10

Debug EXT2/EXT3/EXT4 Dateiesystemer

debugfs ass en einfachen, interaktiven Kommandozeil baséiert ext2/ext3/ext4 Dateisystem Debugger. Et erlaabt Iech Dateiesystemparameter interaktiv z'änneren. Fir Ënnerbefehle oder Ufroen ze gesinn, gitt \?\.

$ sudo debugfs /dev/sda10

Par défaut soll de Dateiesystem am Read-Write Modus opgemaach ginn, benotzt den -w Fändel fir en am Read-Write Modus opzemaachen. Fir et am katastrophale Modus opzemaachen, benotzt d'Optioun -c.

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
....

Fir fräi Plaz Fragmentatioun ze weisen, benotzt d'freefrag Ufro, wéi sou.

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:  

Dir kënnt sou vill aner Ufroen entdecken wéi Dateien oder Verzeichnisser erstellen oder ewechhuelen, den aktuellen Aarbechtsverzeechnes änneren a vill méi, andeems Dir einfach déi kuerz Beschreiwung geliwwert liest. Fir Debugfs opzehalen, benotzt d'q Ufro.

Dat ass alles fir elo! Mir hunn eng Sammlung vun Zesummenhang Artikelen ënner verschiddene Kategorien ënnendrënner, déi Dir nëtzlech fannt.

  1. 12 Nëtzlech \df Kommandoen fir Disk Space am Linux ze kontrolléieren
  2. Pydf en alternativen \df Kommando fir d'Disknotzung a verschiddene Faarwen ze kontrolléieren
  3. 10 Nëtzlech du (Disk Usage) Kommandoen fir Disk Usage of Files and Directors ze fannen

  1. 3 Nëtzlech GUI an Terminal baséiert Linux Disk Scannen Tools
  2. Wéi kontrolléiert schlecht Secteuren oder schlecht Blocks op Hard Disk am Linux
  3. Wéi reparéieren an defragmentéieren Linux System Partitionen a Verzeechnes

E gesonde Dateiesystem erhalen verbessert ëmmer d'Gesamtleeschtung vun Ärem Linux System. Wann Dir Froen oder zousätzlech Gedanken hutt fir ze deelen, benotzt de Kommentarformular hei ënnen.