Linux-da EXT2, EXT3 we EXT4 saglygy dolandyrmak üçin 4 gural


Faýl ulgamy, maglumatlaryň kompýuter ulgamynda nädip saklanýandygyna we alynmagyna gözegçilik etmäge kömek edýän maglumat gurluşydyr. Faýl ulgamy diskdäki fiziki (ýa-da giňeldilen) bölüm hökmünde hem kabul edilip bilner. Gowy saklanmasa we yzygiderli gözegçilik edilmese, uzak wagtyň dowamynda dürli usullar bilen zaýalanmagy ýa-da zaýalanmagy mümkin.

Faýl ulgamynyň saglyga zyýan bermegine sebäp bolup biljek birnäçe faktor bar: ulgamyň çökmegi, apparat ýa-da programma üpjünçiliginiň näsazlyklary, näsaz sürüjiler we programmalar, nädogry düzmek, aşa köp maglumat we beýleki ownuk ýalňyşlyklar.

Bu meseleleriň islendigi Linux-yň faýl ulgamyny oňat gurnamagyna (ýa-da aýyrmazlygyna) sebäp bolup biler we şeýlelik bilen ulgamyň näsazlygyna sebäp bolup biler.

Mundan başga-da, ulgamyňyzy bozulan faýl ulgamy bilen işletmek, operasiýa ulgamynyň böleklerinde ýa-da ulanyjy programmalarynda iş wagtyndaky beýleki ýalňyşlyklara sebäp bolup biler, bu bolsa maglumatlaryň ýitmegine sebäp bolup biler. Faýl ulgamynyň korrupsiýasyndan ýa-da zaýalanmagynyň öňüni almak üçin, onuň saglygyna göz aýlamaly.

Bu makalada, ext2, ext3 we ext4 faýl ulgamlarynyň saglygyna gözegçilik etmek we goldamak üçin gurallary açarys. Bu ýerde beýan edilen gurallaryň hemmesi kök ulanyjy aýratynlyklaryny talap edýär, şonuň üçin olary işletmek üçin sudo buýrugyny ulanyň.

EXT2/EXT3/EXT4 Faýl ulgamy maglumatyny nädip görmeli

dumpe2fs ext2/ext3/ext4 faýl ulgamy maglumatyny taşlamak üçin ulanylýan buýruk setiri guralydyr, bu super blok görkezýär we enjamdaky faýl ulgamy üçin topar maglumatyny bloklaýar.

Dumpe2fs işlemezden ozal, faýl ulgamynyň enjam atlaryny bilmek üçin df -hT buýrugyny işlediň.

$ 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

Faýl ulgamynda erbet saklanan bloklary görkezmek üçin -b baýdagyny geçirip bilersiňiz (hiç hili çykyş blokirlemegi aňlatmaýar):

$ dumpe2fs -b

Rorsalňyşlyklar üçin EXT2/EXT3/EXT4 faýl ulgamlaryny barlamak

e2fsck ýalňyşlyklar we fsck barlaglary üçin ext2/ext3/ext4 faýl ulgamlaryny barlamak üçin ulanylýar we Linux faýl ulgamyny islege görä bejerip bilýär; esasan Linux ulgamynda hödürlenýän bir topar faýl ulgamyny barlaýjylaryň (mysal üçin fsck.ext3, fsck.sfx we ş.m.) fsck.fstype üçin öň tarapy.

Linux-yň/etc/fstab konfigurasiýa faýlynda barlamak üçin bellik edilen bölümlerde ulgam ýüklemesinde awtomatiki usulda e2fack/fsck işleýändigini ýadyňyzdan çykarmaň. Bu, adatça faýl ulgamy arassalanmadykdan soň edilýär.

Üns beriň: Gurnalan faýl ulgamlarynda e2fsck ýa-da fsck işlemäň, aşakda görkezilişi ýaly bu gurallary işletmezden ozal elmydama bir bölümi aýyryň.

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

Ativea-da bolmasa, -V wyklýuçateli bilen söz çykaryşyny işjeňleşdiriň we şuňa meňzeş faýl ulgamynyň görnüşini kesgitlemek üçin -t ulanyň:

$ sudo fsck -Vt ext4 /dev/sda10

EXT2/EXT3/EXT4 faýl ulgamlaryny düzmek

Faýl ulgamynyň zaýalanmagynyň sebäpleriniň biriniň nädogry sazlanmagydygyny ilkibaşdan belledik. Aşakda düşündirilişi ýaly ext2/ext3/ext4 faýl ulgamlarynyň sazlanyp bilinýän parametrlerini üýtgetmek üçin tune2fs programmasyny ulanyp bilersiňiz.

Faýl ulgamynyň super blokunyň mazmunyny, şol sanda parametrleriň häzirki bahalaryny görmek üçin, görkezilişi ýaly -l opsiýasyny ulanyň.

$ 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

Ondan soň, -c baýdagyny ulanyp, faýl ulgamynyň e2fsck tarapyndan barlanjak sanyny kesgitläp bilersiňiz. Bu buýruk ulgamda her 4 dagdan soň /dev/sda10 garşy e2fsck işlemegi tabşyrýar.

$ sudo tune2fs -c 4 /dev/sda10

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

Şeýle hem, -i opsiýasy bilen iki faýl ulgamy barlagynyň arasyndaky wagty kesgitläp bilersiňiz. Aşakdaky buýruk faýl ulgamynyň barlaglarynyň arasynda 2 gün aralygy kesgitleýär.

$ sudo tune2fs  -i  2d  /dev/sda10

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

Indi aşakda bu buýrugy işledýän bolsaňyz, /dev/sda10 faýl ulgamynyň barlag aralygy düzüldi.

$ 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

Adaty journalurnal parametrlerini üýtgetmek üçin -J opsiýasyny ulanyň. Bu opsiýanyň kiçi opsiýalary hem bar: ululygy=journalurnal ölçegi (journalurnalyň ululygyny kesgitleýär), enjam=daşarky journalurnal (saklanýan enjamyny kesgitleýär) we ýerleşýän ýeri=journalurnal-ýerleşýän ýeri (journalurnalyň ýerleşýän ýerini kesgitleýär).

Faýl ulgamy üçin ululyk ýa-da enjam opsiýalarynyň diňe birini belläp boljakdygyny unutmaň:

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

Iň soňkusy, faýl ulgamynyň ses belligini aşakdaky ýaly -L opsiýasy arkaly sazlap bolýar.

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

EXT2/EXT3/EXT4 faýl ulgamlaryny düzeltmek

debugfs ýönekeý, interaktiw buýruk setiri, ext2/ext3/ext4 faýl ulgamlaryny düzediji. Faýl ulgamynyň parametrlerini interaktiw üýtgetmäge mümkinçilik berýär. Sub-buýruklary ýa-da haýyşlary görmek üçin \?\ ýazyň.

$ sudo debugfs /dev/sda10

Düzgüne görä, faýl ulgamy okamak-ýazmak re modeiminde açylmaly, okamak-ýazmak tertibinde açmak üçin -w baýdagyny ulanyň. Katastrofiki re modeimde açmak üçin -c opsiýasyny ulanyň.

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

Boş ýer böleklerini görkezmek üçin freefrag haýyşyny ulanyň.

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:  

Faýllary ýa-da kataloglary döretmek ýa-da aýyrmak, häzirki iş katalogyny üýtgetmek we başga-da köp talaplary göz öňünde tutup bilersiňiz, berlen gysga düşündirişi okap bilersiňiz. Düzedişleri taşlamak üçin q haýyşyny ulanyň.

Bularyň hemmesi häzirlikçe! Aşakda dürli kategoriýalar bilen baglanyşykly makalalar ýygyndysy bar, size peýdaly bolar.

  1. 12 Linux-da Disk giňişligini barlamak üçin peýdaly\df buýruklary
  2. Pydf alternatiw\df dürli reňkdäki disk ulanylyşyny barlamak buýrugy
  3. Faýllaryň we kataloglaryň disk ulanylyşyny tapmak üçin 10 peýdaly du (Disk ulanylyşy) buýruklary

  1. 3 Peýdaly GUI we Terminal esasly Linux Disk skaner gurallary
  2. Linux-daky gaty diskdäki erbet pudaklary ýa-da erbet bloklary nädip barlamaly
  3. Linux ulgam bölümlerini we direktoriýalaryny nädip bejermeli we bozmaly

Sagdyn faýl ulgamyny saklamak elmydama Linux ulgamyňyzyň umumy işleýşini gowulandyrýar. Paýlaşmak üçin soraglaryňyz ýa-da goşmaça pikirleriňiz bar bolsa, aşakdaky düşündiriş formuny ulanyň.