Website-Suche

4 Tools zum Verwalten des EXT2-, EXT3- und EXT4-Zustands unter Linux


Ein Dateisystem ist eine Datenstruktur, die dabei hilft, zu steuern, wie Daten auf einem Computersystem gespeichert und abgerufen werden. Ein Dateisystem kann auch als physische (oder erweiterte) Partition auf einer Festplatte betrachtet werden. Wenn es nicht gut gewartet und regelmäßig überwacht wird, kann es auf lange Sicht auf vielfältige Weise beschädigt oder beschädigt werden.

Es gibt mehrere Faktoren, die dazu führen können, dass ein Dateisystem fehlerhaft wird: Systemabstürze, Hardware- oder Softwarefehlfunktionen, fehlerhafte Treiber und Programme, falsche Abstimmung, Überlastung des Dateisystems mit übermäßig vielen Daten sowie andere kleinere Störungen.

Jedes dieser Probleme kann dazu führen, dass Linux ein Dateisystem nicht ordnungsgemäß mountet (oder unmountet), was zu einem Systemausfall führt.

Lesen Sie auch: 7 Möglichkeiten zur Bestimmung des Dateisystemtyps unter Linux (Ext2, Ext3 oder Ext4)

Darüber hinaus kann der Betrieb Ihres Systems mit einem beeinträchtigten Dateisystem zu anderen Laufzeitfehlern in Betriebssystemkomponenten oder in Benutzeranwendungen führen, die zu schwerwiegenden Datenverlusten führen können. Um eine Beschädigung oder Beschädigung des Dateisystems zu vermeiden, müssen Sie dessen Zustand im Auge behalten.

In diesem Artikel behandeln wir Tools zur Überwachung und Aufrechterhaltung des Zustands von ext2-, ext3- und ext4-Dateisystemen. Alle hier beschriebenen Tools erfordern Root-Benutzerrechte. Verwenden Sie daher den Befehl sudo, um sie auszuführen.

So zeigen Sie EXT2/EXT3/EXT4-Dateisysteminformationen an

dumpe2fs ist ein Befehlszeilentool, das zum Dump von ext2/ext3/ext4-Dateisysteminformationen verwendet wird, d. h. es zeigt Superblock- und Blockgruppeninformationen für das Dateisystem auf dem Gerät an.

Bevor Sie dumpe2fs ausführen, stellen Sie sicher, dass Sie den Befehl df -hT ausführen, um die Gerätenamen des Dateisystems zu kennen.

sudo dumpe2fs /dev/sda10
Beispielausgabe
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

Sie können das Flag -b übergeben, um alle Blöcke anzuzeigen, die im Dateisystem als fehlerhaft reserviert sind (keine Ausgabe bedeutet für Badblocks):

dumpe2fs -b

Überprüfen der EXT2/EXT3/EXT4-Dateisysteme auf Fehler

e2fsck wird zum Untersuchen von ext2/ext3/ext4-Dateisystemen auf Fehler und fsck-Prüfungen verwendet und kann optional ein Linux-Dateisystem reparieren; Es handelt sich im Grunde um ein Frontend für eine Reihe angebotener Dateisystemprüfer (fsck.fstype, zum Beispiel fsck.ext3, fsck.sfx usw.). unter Linux.

Denken Sie daran, dass Linux e2fack/fsck automatisch beim Systemstart auf Partitionen ausführt, die zum Einchecken in der Konfigurationsdatei /etc/fstab gekennzeichnet sind. Dies geschieht normalerweise, nachdem ein Dateisystem nicht sauber ausgehängt wurde.

Achtung: Führen Sie e2fsck oder fsck nicht auf gemounteten Dateisystemen aus. Hängen Sie immer zuerst eine Partition aus, bevor Sie sie ausführen können diese Werkzeuge darauf, wie unten gezeigt.

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

Alternativ können Sie die ausführliche Ausgabe mit dem Schalter -V aktivieren und mit -t einen Dateisystemtyp wie diesen angeben:

sudo fsck -Vt ext4 /dev/sda10

Optimieren von EXT2/EXT3/EXT4-Dateisystemen

Wir haben von Anfang an erwähnt, dass eine der Ursachen für Dateisystemschäden eine falsche Abstimmung ist. Sie können das Dienstprogramm tune2fs verwenden, um die einstellbaren Parameter von ext2/ext3/ext4-Dateisystemen wie unten erläutert zu ändern.

Um den Inhalt des Dateisystem-Superblocks, einschließlich der aktuellen Werte der Parameter, anzuzeigen, verwenden Sie wie gezeigt die Option -l.

sudo tune2fs -l /dev/sda10
Beispielausgabe
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ächstes können Sie mit dem Flag -c die Anzahl der Mounts festlegen, nach denen das Dateisystem von e2fsck überprüft wird. Dieser Befehl weist das System an, nach jedem 4 Mounten e2fsck für /dev/sda10 auszuführen.

sudo tune2fs -c 4 /dev/sda10

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

Sie können auch die Zeit zwischen zwei Dateisystemprüfungen mit der Option -i definieren. Der folgende Befehl legt ein Intervall von 2 Tagen zwischen Dateisystemprüfungen fest.

sudo tune2fs  -i  2d  /dev/sda10

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

Wenn Sie nun diesen Befehl unten ausführen, ist das Dateisystem-Überprüfungsintervall für /dev/sda10 jetzt festgelegt.

sudo tune2fs -l /dev/sda10
Beispielausgabe
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

Um die Standard-Journaling-Parameter zu ändern, verwenden Sie die Option -J. Diese Option verfügt auch über Unteroptionen: size=journal-size (legt die Größe des Journals fest), device=external-journal (gibt das Gerät an, auf dem es gespeichert ist) und location=journal-location (definiert den Speicherort des Journals).

Beachten Sie, dass für ein Dateisystem nur eine der Größen- oder Geräteoptionen festgelegt werden kann:

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

Zu guter Letzt kann die Datenträgerbezeichnung eines Dateisystems mit der Option -L wie unten beschrieben festgelegt werden.

sudo tune2fs -L "ROOT" /dev/sda10

Debuggen Sie EXT2/EXT3/EXT4-Dateisysteme

debugfs ist ein einfacher, interaktiver befehlszeilenbasierter Debugger für ext2/ext3/ext4-Dateisysteme. Es ermöglicht Ihnen, Dateisystemparameter interaktiv zu ändern. Um Unterbefehle oder Anfragen anzuzeigen, geben Sie "?" ein.

sudo debugfs /dev/sda10

Standardmäßig sollte das Dateisystem im Lese-/Schreibmodus geöffnet werden. Verwenden Sie das Flag -w, um es im Lese-/Schreibmodus zu öffnen. Um es im Katastrophenmodus zu öffnen, verwenden Sie die Option -c.

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

Um die Fragmentierung des freien Speicherplatzes anzuzeigen, verwenden Sie etwa die freefrag-Anfrage.

debugfs: freefrag
Beispielausgabe
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:  

Sie können so viele andere Anforderungen wie das Erstellen oder Entfernen von Dateien oder Verzeichnissen, das Ändern des aktuellen Arbeitsverzeichnisses und vieles mehr erkunden, indem Sie einfach die bereitgestellte kurze Beschreibung lesen. Um debugfs zu beenden, verwenden Sie die Anforderung q.

Das ist alles für jetzt! Wir haben unten eine Sammlung verwandter Artikel in verschiedenen Kategorien zusammengestellt, die für Sie nützlich sein werden.

Informationen zur Dateisystemnutzung:

  1. 12 nützliche „df“-Befehle zum Überprüfen des Speicherplatzes unter Linux
  2. Pydf ist ein alternativer „df“-Befehl zum Überprüfen der Festplattennutzung in verschiedenen Farben
  3. 10 nützliche du-Befehle (Festplattennutzung), um die Festplattennutzung von Dateien und Verzeichnissen zu ermitteln

Überprüfen Sie den Festplatten- oder Partitionszustand:

  1. 3 nützliche GUI- und Terminal-basierte Linux-Festplattenscan-Tools
  2. So überprüfen Sie fehlerhafte Sektoren oder fehlerhafte Blöcke auf der Festplatte unter Linux
  3. So reparieren und defragmentieren Sie Linux-Systempartitionen und -Verzeichnisse

Die Aufrechterhaltung eines fehlerfreien Dateisystems verbessert immer die Gesamtleistung Ihres Linux-Systems. Wenn Sie Fragen oder weitere Gedanken zum Teilen haben, nutzen Sie das Kommentarformular unten.