4 Työkalut EXT2-, EXT3- ja EXT4-terveyden hallintaan Linuxissa


Tiedostojärjestelmä on tietorakenne, joka auttaa hallitsemaan tietojen tallentamista ja hakemista tietokonejärjestelmään. Tiedostojärjestelmää voidaan pitää myös fyysisenä (tai laajennettuna) osiona levyllä. Jos sitä ei huolleta ja valvota säännöllisesti, se voi vaurioitua tai vioittua pitkällä aikavälillä monin eri tavoin.

On olemassa useita tekijöitä, jotka voivat aiheuttaa tiedostojärjestelmän huonontumisen: järjestelmän kaatumiset, laitteiston tai ohjelmiston toimintahäiriöt, bugiset ohjaimet ja ohjelmat, sen virheellinen viritys, ylikuormitus liiallisella tiedolla sekä muita pieniä häiriöitä.

Mikä tahansa näistä ongelmista voi aiheuttaa sen, että Linux ei liitä (tai irrota) tiedostojärjestelmää sulavasti, mikä aiheuttaa järjestelmävirheen.

Lue myös: 7 tapaa määrittää tiedostojärjestelmätyyppi Linuxissa (Ext2, Ext3 tai Ext4)

Lisäksi järjestelmän käyttäminen heikentyneen tiedostojärjestelmän kanssa voi aiheuttaa muita ajonaikaisia virheitä käyttöjärjestelmän osissa tai käyttäjäsovelluksissa, mikä voi kärjistyä vakavaksi tietojen menetykseksi. Välttääksesi tiedostojärjestelmän vioittumista tai vaurioita sinun on pidettävä silmällä sen kuntoa.

Tässä artikkelissa käsitellään työkaluja, joilla valvotaan ja ylläpidetään ext2-, ext3- ja ext4-tiedostojärjestelmien kuntoa. Kaikki tässä kuvatut työkalut vaativat pääkäyttäjän oikeudet, joten käytä sudo-komentoa niiden suorittamiseen.

Kuinka tarkastella EXT2/EXT3/EXT4-tiedostojärjestelmän tietoja

dumpe2fs on komentorivityökalu, jota käytetään tiedostojärjestelmän ext2/ext3/ext4 tietojen tyhjentämiseen, mikä tarkoittaa, että se näyttää superblokin ja estää laitteen tiedostojärjestelmän ryhmätiedot.

Ennen kuin suoritat dumpe2fs-komennon, muista suorittaa komento df -hT, jotta tiedät tiedostojärjestelmän laitenimet.

sudo dumpe2fs /dev/sda10
Näytelähtö
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

Voit välittää -b-lipun näyttääksesi kaikki tiedostojärjestelmässä huonoiksi varatut lohkot (ei tuloste tarkoita huonoja lohkoja):

dumpe2fs -b

Tarkistetaan EXT2/EXT3/EXT4-tiedostojärjestelmien virheitä

e2fsck-työkalua käytetään tutkimaan ext2/ext3/ext4-tiedostojärjestelmiä virheiden ja fsck-tarkistusten varalta, ja se voi valinnaisesti korjata Linux-tiedostojärjestelmän. se on pohjimmiltaan käyttöliittymä useille tiedostojärjestelmän tarkistimille (fsck.fstype esimerkiksi fsck.ext3, fsck.sfx jne.) Linuxin alla.

Muista, että Linux suorittaa e2fack/fsck-toiminnon automaattisesti järjestelmän käynnistyksen yhteydessä osioissa, jotka on merkitty /etc/fstab-määritystiedoston tarkistusta varten. Tämä tehdään yleensä sen jälkeen, kun tiedostojärjestelmää ei ole poistettu puhtaasti.

Huomio: Älä suorita e2fsck- tai fsck-ohjelmaa liitetyissä tiedostojärjestelmissä. Irrota osio aina ennen kuin voit suorittaa sen. nämä työkalut siihen alla olevan kuvan mukaisesti.

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

Vaihtoehtoisesti ota monisanainen tulos käyttöön -V-kytkimellä ja käytä -t-näppäintä määrittääksesi tiedostojärjestelmän tyypin seuraavasti:

sudo fsck -Vt ext4 /dev/sda10

EXT2/EXT3/EXT4-tiedostojärjestelmien viritys

Mainitsimme alusta alkaen, että yksi tiedostojärjestelmän vaurioiden syistä on virheellinen viritys. Voit käyttää tune2fs-apuohjelmaa muuttaaksesi ext2/ext3/ext4-tiedostojärjestelmien viritettävät parametrit alla kuvatulla tavalla.

Jos haluat nähdä tiedostojärjestelmän superlohkon sisällön, mukaan lukien parametrien nykyiset arvot, käytä -l-vaihtoehtoa kuvan mukaisesti.

sudo tune2fs -l /dev/sda10
Näytelähtö
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

Seuraavaksi -c-lipulla voit asettaa liitäntöjen määrän, jonka jälkeen e2fsck tarkistaa tiedostojärjestelmän. Tämä komento ohjaa järjestelmän suorittamaan e2fsck-komennon /dev/sda10-komentoa vastaan jokaisen 4-asennuksen jälkeen.

sudo tune2fs -c 4 /dev/sda10

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

Voit myös määrittää kahden tiedostojärjestelmän tarkistuksen välisen ajan vaihtoehdolla -i. Seuraava komento asettaa tiedostojärjestelmän tarkistusten väliin 2 päivää.

sudo tune2fs  -i  2d  /dev/sda10

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

Jos nyt suoritat tämän komennon alla, tiedostojärjestelmän tarkistusväli kohteelle /dev/sda10 on nyt asetettu.

sudo tune2fs -l /dev/sda10
Näytelähtö
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

Voit muuttaa kirjaamisen oletusparametreja käyttämällä -J-vaihtoehtoa. Tällä valinnalla on myös aliasetukset: size=journal-size (asettaa päiväkirjan koon), device=external-journal (määrittää laitteen, jolle se on tallennettu) ja location=journal-location (määrittää päiväkirjan sijainnin).

Huomaa, että tiedostojärjestelmälle voidaan asettaa vain yksi koko- tai laiteasetuksista:

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

Viimeisenä mutta ei vähäisimpänä, tiedostojärjestelmän aseman nimi voidaan asettaa -L-vaihtoehdolla kuten alla.

sudo tune2fs -L "ROOT" /dev/sda10

Tee virheenkorjaus EXT2/EXT3/EXT4-tiedostojärjestelmistä

debugfs on yksinkertainen, interaktiivinen komentorivipohjainen ext2/ext3/ext4-tiedostojärjestelmien virheenkorjaus. Sen avulla voit muokata tiedostojärjestelmän parametreja interaktiivisesti. Voit tarkastella alikomentoja tai pyyntöjä kirjoittamalla "?".

sudo debugfs /dev/sda10

Oletuksena tiedostojärjestelmä tulee avata luku-kirjoitustilassa. Käytä -w-lippua avataksesi sen luku-kirjoitustilassa. Jos haluat avata sen katastrofaalisessa tilassa, käytä -c-vaihtoehtoa.

Näytelähtö
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
....

Voit näyttää vapaan tilan pirstoutumisen käyttämällä freefrag-pyyntöä.

debugfs: freefrag
Näytelähtö
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:  

Voit tutkia monia muita pyyntöjä, kuten tiedostojen tai hakemistojen luomista tai poistamista, nykyisen työhakemiston vaihtamista ja paljon muuta, yksinkertaisesti lukemalla lyhyen kuvauksen. Lopeta debugfs käyttämällä q-pyyntöä.

Tässä kaikki tältä erää! Meillä on alla kokoelma aiheeseen liittyviä artikkeleita eri luokkiin, joista on sinulle hyötyä.

Tiedostojärjestelmän käyttötiedot:

  1. 12 Hyödyllisiä "df" -komentoja levytilan tarkistamiseen Linuxissa
  2. Pydf vaihtoehtoinen "df" -komento tarkistaa levyn käyttö eri väreissä
  3. 10 hyödyllistä du (levyn käyttö) -komentoa tiedostojen ja hakemistojen levynkäytön etsimiseen

Tarkista levyn tai osion kunto:

  1. 3 Hyödyllisiä GUI- ja päätepohjaisia Linux-levyn tarkistustyökaluja
  2. Kuinka tarkistaa huonot sektorit tai huonot lohkot kiintolevyllä Linuxissa
  3. Linuxin järjestelmäosien ja hakemistojen korjaaminen ja eheyttäminen

Terveen tiedostojärjestelmän ylläpitäminen parantaa aina Linux-järjestelmäsi yleistä suorituskykyä. Jos sinulla on kysyttävää tai muita ajatuksia jakaa, käytä alla olevaa kommenttilomaketta.