4 Għodod biex Immaniġġja s-Saħħa EXT2, EXT3 u EXT4 fil-Linux


Sistema tal-fajls hija struttura tad-dejta li tgħin biex tikkontrolla kif id-dejta tiġi maħżuna u rkuprata fuq sistema tal-kompjuter. Sistema ta' fajls tista' titqies ukoll bħala partizzjoni fiżika (jew estiża) fuq disk. Jekk ma tinżammx sew u mmonitorjata regolarment, tista 'ssir bil-ħsara jew korrotta fit-tul, f'ħafna modi differenti.

Hemm diversi fatturi li jistgħu jikkawżaw sistema ta' fajls li ma ssirx ħażina għas-saħħa: ħabtiet tas-sistema, ħsarat fil-ħardwer jew softwer, sewwieqa u programmi buggy, irfinar ħażin, tagħbija żejda b'dejta eċċessiva flimkien ma' glitches minuri oħra.

Kwalunkwe waħda minn dawn il-kwistjonijiet tista 'tikkawża li l-Linux ma jimmontax (jew ineħħix) sistema ta' fajls b'mod grazzjuż, u b'hekk iġġib ħsara fis-sistema.

Barra minn hekk, it-tħaddim tas-sistema tiegħek b'sistema ta' fajls indebolita jista' jagħti lok għal żbalji oħra ta' runtime fil-komponenti tas-sistema operattiva jew fl-applikazzjonijiet tal-utent, li jistgħu jeskalaw għal telf sever ta' data. Biex tevita li tbati minn korruzzjoni jew ħsara fis-sistema tal-fajls, trid iżżomm għajnejk fuq is-saħħa tagħha.

F'dan l-artikolu, se nkopru għodod biex tissorvelja u żżomm is-saħħa tas-sistemi tal-fajls ext2, ext3 u ext4. L-għodod kollha deskritti hawn jeħtieġu privileġġi tal-utent tal-għeruq, għalhekk uża l-kmand sudo biex tmexxihom.

Kif tara l-informazzjoni tas-sistema tal-fajls EXT2/EXT3/EXT4

dumpe2fs hija għodda tal-linja tal-kmand użata biex titfa 'informazzjoni tas-sistema tal-fajls ext2/ext3/ext4, tfisser li turi super block u timblokka l-informazzjoni tal-grupp għas-sistema tal-fajls fuq it-tagħmir.

Qabel ma tħaddem dumpe2fs, kun żgur li tħaddem il-kmand df -hT biex tkun taf l-ismijiet tal-apparat tas-sistema tal-fajls.

$ 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

Tista' tgħaddi l-bandiera -b biex turi xi blokki riżervati bħala ħżiena fis-sistema tal-fajls (l-ebda output ma jimplika għal badblocks):

$ dumpe2fs -b

Iċċekkjar tas-sistemi tal-fajls EXT2/EXT3/EXT4 Għal Żbalji

e2fsck jintuża biex jeżamina s-sistemi tal-fajls ext2/ext3/ext4 għal żbalji u kontrolli fsck u jista' b'mod fakultattiv isewwi sistema ta' fajls Linux; huwa bażikament front-end għal firxa ta 'kontrolluri tas-sistema tal-fajls (fsck.fstype per eżempju fsck.ext3, fsck.sfx eċċ) offrut taħt Linux.

Ftakar li Linux jaħdem e2fack/fsck awtomatikament fil-boot tas-sistema fuq diviżorji li huma ttikkettjati għall-iċċekkjar fil-fajl tal-konfigurazzjoni /etc/fstab. Dan normalment isir wara li sistema ta' fajls ma tkunx ġiet żmuntata b'mod nadif.

Attenzjoni: Tħaddimx e2fsck jew fsck fuq sistemi ta' fajls immuntati, dejjem żarma partizzjoni l-ewwel qabel ma tkun tista' tħaddem dawn l-għodod fuqha, kif muri hawn taħt.

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

Inkella, ppermetti l-output verbose bis-swiċċ -V u uża l--t biex tispeċifika tip ta' sistema ta' fajls bħal dan:

$ sudo fsck -Vt ext4 /dev/sda10

Irfinar tas-sistemi tal-fajls EXT2/EXT3/EXT4

Semmejna mill-bidu li waħda mill-kawżi tal-ħsara fis-sistema tal-fajls hija l-irfinar mhux korrett. Tista 'tuża l-utilità tune2fs biex tibdel il-parametri tunable tas-sistemi tal-fajls ext2/ext3/ext4 kif spjegat hawn taħt.

Biex tara l-kontenut tas-superblokk tas-sistema tal-fajls, inklużi l-valuri kurrenti tal-parametri, uża l-għażla -l kif muri.

$ 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

Sussegwentement, billi tuża l-bandiera -c, tista’ tissettja n-numru ta’ muntaturi li warajhom is-sistema tal-fajls tiġi kkontrollata minn e2fsck. Dan il-kmand jagħti struzzjonijiet lis-sistema biex tħaddem e2fsck kontra /dev/sda10 wara kull 4 muntaturi.

$ sudo tune2fs -c 4 /dev/sda10

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

Tista' wkoll tiddefinixxi l-ħin bejn żewġ kontrolli tas-sistema tal-fajls bl-għażla -i. Il-kmand li ġej jistabbilixxi intervall ta’ jumejn bejn il-kontrolli tas-sistema tal-fajls.

$ sudo tune2fs  -i  2d  /dev/sda10

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

Issa jekk tmexxi dan il-kmand hawn taħt, l-intervall tal-verifika tas-sistema tal-fajls għal /dev/sda10 issa huwa stabbilit.

$ 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

Biex tibdel il-parametri tal-ġurnaling default, uża l-għażla -J. Din l-għażla għandha wkoll sub-għażliet: size=journal-size (jiffissa d-daqs tal-ġurnal), device=external-journal (jispeċifika l-apparat li fih ikun maħżun) u location=journal-location (tiddefinixxi l-post tal-ġurnal).

Innota li waħda biss mill-għażliet tad-daqs jew tal-apparat tista’ tiġi ssettjata għal sistema ta’ fajls:

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

Fl-aħħar iżda mhux l-inqas, it-tikketta tal-volum ta’ sistema ta’ fajls tista’ tiġi ssettjata billi tuża l-għażla -L kif hawn taħt.

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

Debug EXT2/EXT3/EXT4 Filesystems

debugfs huwa debugger ta' sistemi ta' fajls ext2/ext3/ext4 ibbażat fuq linja ta' kmand sempliċi u interattiva. Jippermettilek timmodifika l-parametri tas-sistema tal-fajls b'mod interattiv. Biex tara sub-kmandi jew talbiet, ittajpja \?\.

$ sudo debugfs /dev/sda10

B'mod awtomatiku, is-sistema tal-fajls għandha tinfetaħ fil-modalità read-write, uża l-marka -w biex tiftaħha fil-mod read-write. Biex tiftaħha fil-modalità katastrofika, uża l-għażla -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
....

Biex turi l-frammentazzjoni tal-ispazju ħieles, uża t-talba freefrag, bħal hekk.

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:  

Tista 'tesplora tant talbiet oħra bħall-ħolqien jew it-tneħħija ta' fajls jew direttorji, tibdel id-direttorju tax-xogħol attwali u ħafna aktar, billi sempliċiment taqra d-deskrizzjoni qasira pprovduta. Biex tieqaf mid-debugfs, uża t-talba q.

Dak kollu għalissa! Għandna ġabra ta' artikli relatati taħt kategoriji differenti hawn taħt, li ssibhom utli.

  1. 12 Kmandi Utli \df biex Iċċekkja l-Ispazju tad-Disk fil-Linux
  2. Pydf Kmand Alternattiv \df biex Iċċekkja l-Użu tad-Disk f'Kuluri Differenti
  3. 10 Kmandi Utli du (Użu tad-Disk) biex Sib l-Użu tad-Disk ta' Fajls u Direttorji

  1. 3 GUI Utli u Għodod tal-Iskanjar tad-Disk Linux Ibbażati fuq Terminali
  2. Kif Tiċċekkja Setturi Ħżiena jew Blokki Ħżiena fuq Hard Disk fil-Linux
  3. Kif Tiswija u Deframmentazzjoni Diviżorji u Direttorji tas-Sistema Linux

Iż-żamma ta 'sistema ta' fajls b'saħħitha dejjem ittejjeb il-prestazzjoni ġenerali tas-sistema Linux tiegħek. Jekk għandek xi mistoqsijiet jew ħsibijiet addizzjonali x'taqsam uża l-formola tal-kummenti hawn taħt.