4 Nástroje pro správu EXT2, EXT3 a EXT4 Health v Linuxu
Souborový systém je datová struktura, která pomáhá řídit, jak se data ukládají a načítají v počítačovém systému. Souborový systém lze také považovat za fyzický (nebo rozšířený) oddíl na disku. Pokud není dobře udržován a pravidelně monitorován, může se z dlouhodobého hlediska poškodit nebo poškodit, a to mnoha různými způsoby.
Existuje několik faktorů, které mohou způsobit, že se souborový systém stane nezdravým: selhání systému, selhání hardwaru nebo softwaru, chybné ovladače a programy, nesprávné vyladění, přetížení nadměrným množstvím dat a další drobné závady.
Kterýkoli z těchto problémů může způsobit, že Linux nepřipojí (nebo neodpojí) souborový systém elegantně, což způsobí selhání systému.
Přečtěte si také: 7 způsobů, jak určit typ systému souborů v systému Linux (Ext2, Ext3 nebo Ext4)
Kromě toho může provoz vašeho systému s poškozeným souborovým systémem způsobit další běhové chyby v komponentách operačního systému nebo v uživatelských aplikacích, které mohou eskalovat až k vážné ztrátě dat. Abyste se vyhnuli poškození nebo poškození souborového systému, musíte sledovat jeho stav.
V tomto článku se budeme zabývat nástroji pro monitorování a udržování stavu souborových systémů ext2, ext3 a ext4. Všechny zde popsané nástroje vyžadují oprávnění uživatele root, proto k jejich spuštění použijte příkaz sudo.
Jak zobrazit informace o souborovém systému EXT2/EXT3/EXT4
dumpe2fs je nástroj příkazového řádku používaný k výpisu informací o souborovém systému ext2/ext3/ext4, což znamená, že zobrazuje informace o superbloku a blokuje informace o skupině pro souborový systém na zařízení.
Před spuštěním dumpe2fs nezapomeňte spustit příkaz df -hT, abyste znali názvy zařízení souborového systému.
sudo dumpe2fs /dev/sda10
Ukázkový výstup
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
Můžete předat příznak -b
pro zobrazení všech bloků, které jsou v souborovém systému rezervovány jako špatné (žádný výstup neimplikuje špatné bloky):
dumpe2fs -b
Kontrola chyb v souborových systémech EXT2/EXT3/EXT4
e2fsck se používá k prověřování chyb v souborových systémech ext2/ext3/ext4 a kontrolám fsck a může volitelně opravit souborový systém Linux; je to v podstatě front-end pro řadu nabízených kontrolerů souborového systému (fsck.fstype například fsck.ext3, fsck.sfx atd.) pod Linuxem.
Pamatujte, že Linux spouští e2fack/fsck automaticky při spouštění systému na oddílech, které jsou označeny pro kontrolu v konfiguračním souboru /etc/fstab. To se obvykle provádí poté, co souborový systém nebyl čistě odpojen.
Pozor: Nespouštějte e2fsck nebo fsck na připojených souborových systémech, před spuštěním vždy nejprve odpojte oddíl tyto nástroje na něm, jak je znázorněno níže.
sudo unmount /dev/sda10
sudo fsck /dev/sda10
Případně povolte podrobný výstup pomocí přepínače -V
a pomocí -t
zadejte typ souborového systému, jako je tento:
sudo fsck -Vt ext4 /dev/sda10
Ladění souborových systémů EXT2/EXT3/EXT4
Od začátku jsme zmínili, že jednou z příčin poškození souborového systému je nesprávné ladění. Ke změně laditelných parametrů souborových systémů ext2/ext3/ext4 můžete použít nástroj tune2fs, jak je vysvětleno níže.
Chcete-li zobrazit obsah superbloku souborového systému, včetně aktuálních hodnot parametrů, použijte volbu -l
, jak je uvedeno na obrázku.
sudo tune2fs -l /dev/sda10
Ukázkový výstup
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
Dále pomocí parametru -c
můžete nastavit počet připojení, po kterých bude souborový systém zkontrolován e2fsck. Tento příkaz instruuje systém, aby spustil e2fsck proti /dev/sda10
po každých 4 připojeních.
sudo tune2fs -c 4 /dev/sda10
tune2fs 1.42.13 (17-May-2015)
Setting maximal mount count to 4
Můžete také definovat čas mezi dvěma kontrolami souborového systému pomocí volby -i
. Následující příkaz nastavuje interval 2 dnů mezi kontrolami souborového systému.
sudo tune2fs -i 2d /dev/sda10
tune2fs 1.42.13 (17-May-2015)
Setting interval between checks to 172800 seconds
Nyní, pokud spustíte tento příkaz níže, je nyní nastaven interval kontroly souborového systému pro /dev/sda10
.
sudo tune2fs -l /dev/sda10
Ukázkový výstup
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
Chcete-li změnit výchozí parametry žurnálování, použijte volbu -J
. Tato možnost má také dílčí možnosti: size=journal-size (nastavuje velikost deníku), device=external-journal (určuje zařízení, na kterém je uložen) a location=umístění-žurnálu (definuje umístění deníku).
Všimněte si, že pro souborový systém lze nastavit pouze jednu z možností velikosti nebo zařízení:
sudo tune2fs -J size=4MB /dev/sda10
V neposlední řadě lze jmenovku svazku souborového systému nastavit pomocí volby -L
, jak je uvedeno níže.
sudo tune2fs -L "ROOT" /dev/sda10
Ladění souborových systémů EXT2/EXT3/EXT4
debugfs je jednoduchý, interaktivní ladicí program souborových systémů ext2/ext3/ext4 založený na příkazovém řádku. Umožňuje interaktivně upravovat parametry souborového systému. Chcete-li zobrazit dílčí příkazy nebo požadavky, zadejte "?"
.
sudo debugfs /dev/sda10
Ve výchozím nastavení by měl být souborový systém otevřen v režimu čtení-zápis, použijte příznak -w
k otevření v režimu čtení-zápis. Chcete-li jej otevřít v katastrofickém režimu, použijte volbu -c
.
Ukázkový výstup
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
....
Chcete-li zobrazit fragmentaci volného místa, použijte požadavek freefrag.
debugfs: freefrag
Ukázkový výstup
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:
Můžete prozkoumat tolik dalších požadavků, jako je vytváření nebo odstraňování souborů nebo adresářů, změna aktuálního pracovního adresáře a mnoho dalšího, pouhým přečtením poskytnutého stručného popisu. Chcete-li ukončit debugfs, použijte požadavek q
.
To je prozatím vše! Níže máme sbírku souvisejících článků v různých kategoriích, které se vám budou hodit.
Informace o použití souborového systému:
- 12 Užitečné příkazy „df“ pro kontrolu místa na disku v systému Linux
- Pydf alternativní příkaz „df“ pro kontrolu využití disku v různých barvách
- 10 užitečných příkazů du (používání disku) pro zjištění využití disku u souborů a adresářů
Zkontrolujte stav disku nebo diskového oddílu:
- 3 Užitečné GUI a terminálové Linuxové nástroje pro skenování disků
- Jak zkontrolovat špatné sektory nebo špatné bloky na pevném disku v Linuxu
- Jak opravit a defragmentovat systémové oddíly a adresáře Linuxu
Udržování zdravého souborového systému vždy zlepšuje celkový výkon vašeho systému Linux. Pokud máte nějaké dotazy nebo další myšlenky, které chcete sdílet, použijte formulář pro komentáře níže.