Website-Suche

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


Ein Dateisystem ist eine Datenstruktur, mit der gesteuert werden kann, 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 so viele verschiedene Arten 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 Softwarefehler, fehlerhafte Treiber und Programme, falsche Abstimmung, Überlastung mit übermäßigen Daten und andere kleinere Störungen.

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

Lesen Sie auch: 7 Möglichkeiten, den Dateisystemtyp in Linux zu bestimmen (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 ein Auge auf dessen Gesundheit haben.

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

So zeigen Sie Informationen zum EXT2/EXT3/EXT4-Dateisystem an

dumpe2fs ist ein Befehlszeilentool, das verwendet wird, um ext2/ext3/ext4-Dateisysteminformationen zu sichern, 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
Beispiel-Ausgabe
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 impliziert Badblocks):

$ dumpe2fs -b

Überprüfen von EXT2/EXT3/EXT4-Dateisystemen auf Fehler

e2fsck wird verwendet, um ext2/ext3/ext4-Dateisysteme auf Fehler und fsck-Prüfungen zu untersuchen und kann optional ein Linux-Dateisystem reparieren; Es ist im Grunde ein Frontend für eine Reihe von Dateisystem-Checkern (fsck.fstype zum Beispiel fsck.ext3, fsck.sfx usw.), die unter Linux angeboten werden.

Denken Sie daran, dass Linux e2fack/fsck automatisch beim Systemstart auf Partitionen ausführt, die für das 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 diese Werkzeuge darauf ausführen können, 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 folgt 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 optimierbaren Parameter von ext2/ext3/ext4-Dateisystemen zu ändern, wie unten beschrieben.

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

$ sudo tune2fs -l /dev/sda10
Beispiel-Ausgabe
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 Schalter -c die Anzahl der Einhängungen festlegen, nach denen das Dateisystem von e2fsck überprüft wird. Dieser Befehl weist das System an, e2fsck gegen /dev/sda10 nach jeweils 4 Einhängungen 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-Prüfintervall für /dev/sda10 festgelegt.

$ sudo tune2fs -l /dev/sda10
Beispiel-Ausgabe
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 standardmäßigen Journalparameter zu ändern, verwenden Sie die Option -J. Diese Option hat auch 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 Standort des Journals).

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

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

Zu guter Letzt kann die Datenträgerbezeichnung eines Dateisystems mit der Option -L wie folgt gesetzt werden.

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

Debuggen von EXT2/EXT3/EXT4-Dateisystemen

debugfs ist ein einfacher, interaktiver Befehlszeilen-basierter ext2/ext3/ext4-Dateisystem-Debugger. Es ermöglicht Ihnen, Dateisystemparameter interaktiv zu ändern. Um Unterbefehle oder Anforderungen 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.

Beispiel-Ausgabe
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 die freefrag-Anforderung wie folgt.

debugfs: freefrag
Beispiel-Ausgabe
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 Anfragen erkunden, wie z. B. das Erstellen oder Entfernen von Dateien oder Verzeichnissen, das Ändern des aktuellen Arbeitsverzeichnisses und vieles mehr, indem Sie einfach die kurze Beschreibung lesen. Um debugfs zu beenden, verwenden Sie die q-Anforderung.

Das war's fürs Erste! Im Folgenden finden Sie eine Sammlung verwandter Artikel in verschiedenen Kategorien, die Sie nützlich finden werden.

Informationen zur Verwendung des Dateisystems:

  1. 12 nützliche "df" -Befehle zum Überprüfen des Speicherplatzes unter Linux
  2. pydf ein alternativer "df "-Befehl, um die Festplattennutzung in verschiedenen Farben zu überprüfen
  3. 10 nützliche du (Disk Usage) Befehle, um die Festplattenauslastung von Dateien und Verzeichnissen zu ermitteln

Überprüfen Sie den Zustand der Festplatte oder Partition:

  1. 3 nützliche GUI- und Terminal-basierte Linux-Tools zum Scannen von Festplatten
  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 zusätzliche Gedanken haben, verwenden Sie das Kommentarformular unten.

Verwandte Artikel: