4 rīki EXT2, EXT3 un EXT4 veselības pārvaldībai Linux


Failu sistēma ir datu struktūra, kas palīdz kontrolēt, kā dati tiek glabāti un izgūti datorsistēmā. Failu sistēmu var uzskatīt arī par fizisku (vai paplašinātu) diska nodalījumu. Ja tas netiek labi uzturēts un regulāri uzraudzīts, tas var sabojāt vai sabojāt ilgtermiņā tik dažādos veidos.

Ir vairāki faktori, kas var izraisīt failu sistēmas neveselību: sistēmas avārijas, aparatūras vai programmatūras darbības traucējumi, kļūdaini draiveri un programmas, nepareiza to noregulēšana, pārslogošana ar pārmērīgiem datiem un citiem nelieliem traucējumiem.

Jebkura no šīm problēmām var izraisīt Linux graciozi neuzstādīt (vai atvienot) failu sistēmu, tādējādi izraisot sistēmas kļūmi.

Turklāt, darbinot sistēmu ar traucētu failu sistēmu, operētājsistēmas komponentos vai lietotāju lietojumprogrammās var rasties citas izpildlaika kļūdas, kas var pāraugt līdz nopietniem datu zudumiem. Lai izvairītos no failu sistēmas bojājumiem vai bojājumiem, jums ir jāuzrauga tās veselība.

Šajā rakstā mēs aplūkosim rīkus, lai uzraudzītu un uzturētu ext2, ext3 un ext4 failu sistēmu veselību. Visiem šeit aprakstītajiem rīkiem ir nepieciešamas root lietotāja privilēģijas, tāpēc izmantojiet komandu sudo, lai tos palaistu.

Kā apskatīt informāciju par EXT2/EXT3/EXT4 failu sistēmu

dumpe2fs ir komandrindas rīks, ko izmanto, lai izmestu ext2/ext3/ext4 failu sistēmas informāciju, tas nozīmē, ka tas parāda superbloku un bloķē ierīces failu sistēmas informāciju.

Pirms palaist dumpe2fs, noteikti palaidiet komandu df -hT, lai zinātu failu sistēmas ierīču nosaukumus.

$ 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

Varat nokārtot karodziņu -b , lai parādītu visus blokus, kas failu sistēmā ir rezervēti kā slikti (neviena izeja nenozīmē sliktos blokus):

$ dumpe2fs -b

Pārbauda, vai faila sistēmās EXT2/EXT3/EXT4 nav kļūdu

e2fsck tiek izmantots, lai pārbaudītu, vai ext2/ext3/ext4 failu sistēmās nav kļūdu un fsck, un pēc izvēles var labot Linux failu sistēmu; būtībā tas ir priekšgals virknei failu sistēmas pārbaudītāju (fsck.fstype, piemēram, fsck.ext3, fsck.sfx utt.), ko piedāvā Linux.

Atcerieties, ka Linux automātiski palaiž e2fack/fsck sistēmas palaišanas laikā nodalījumos, kas apzīmēti, lai pārbaudītu/etc/fstab konfigurācijas failu. Parasti tas tiek darīts pēc tam, kad failu sistēma nav atvienota tīri.

Uzmanību: nedarbiniet e2fsck vai fsck pievienotās failu sistēmās, vispirms vispirms atvienojiet nodalījumu, pirms varat palaist šos rīkus, kā parādīts zemāk.

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

Alternatīvi iespējojiet izvērstu izvade ar slēdzi -V un izmantojiet -t , lai norādītu šāda veida failu sistēmas veidu:

$ sudo fsck -Vt ext4 /dev/sda10

EXT2/EXT3/EXT4 failu sistēmu noskaņošana

Mēs jau no paša sākuma minējām, ka viens no failu sistēmas bojājumu cēloņiem ir nepareiza skaņošana. Varat izmantot utilītu tune2fs, lai mainītu ext2/ext3/ext4 failu sistēmu noskaņojamos parametrus, kā paskaidrots tālāk.

Lai skatītu failu sistēmas superbloka saturu, ieskaitot pašreizējās parametru vērtības, izmantojiet opciju -l , kā parādīts.

$ 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

Pēc tam, izmantojot karodziņu -c , varat iestatīt to stiprinājumu skaitu, pēc kuriem e2fsck pārbaudīs failu sistēmu. Šī komanda uzdod sistēmai palaist e2fsck pret /dev/sda10 pēc katriem 4 stiprinājumiem.

$ sudo tune2fs -c 4 /dev/sda10

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

Izmantojot opciju -i , varat arī noteikt laiku starp divām failu sistēmas pārbaudēm. Šī komanda nosaka 2 dienu intervālu starp failu sistēmas pārbaudēm.

$ sudo tune2fs  -i  2d  /dev/sda10

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

Tagad, palaižot šo komandu zemāk, tagad ir iestatīts failu sistēmas pārbaudes intervāls /dev/sda10 .

$ 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

Lai mainītu žurnāla noklusējuma parametrus, izmantojiet opciju -J . Šai opcijai ir arī apakšvarianti: izmērs = žurnāla izmērs (nosaka žurnāla izmēru), ierīce = ārējs žurnāls (norāda ierīci, kurā tas tiek glabāts) un atrašanās vieta = žurnāla atrašanās vieta (nosaka žurnāla atrašanās vietu).

Ņemiet vērā, ka failu sistēmai var iestatīt tikai vienu no izmēra vai ierīces opcijām:

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

Visbeidzot, failu sistēmas sējuma etiķeti var iestatīt, izmantojot opciju -L , kā norādīts zemāk.

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

Atkļūdot EXT2/EXT3/EXT4 failu sistēmas

debugfs ir vienkāršs, interaktīvs komandrindas bāzes ext2/ext3/ext4 failu sistēmu atkļūdotājs. Tas ļauj interaktīvi modificēt failu sistēmas parametrus. Lai skatītu apakškomandas vai pieprasījumus, ierakstiet "?" .

$ sudo debugfs /dev/sda10

Pēc noklusējuma failu sistēma jāatver lasīšanas un rakstīšanas režīmā, izmantojiet karodziņu -w , lai to atvērtu lasīšanas un rakstīšanas režīmā. Lai to atvērtu katastrofālā režīmā, izmantojiet opciju -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
....

Lai parādītu brīvas vietas sadrumstalotību, izmantojiet freefrag pieprasījumu.

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:  

Jūs varat izpētīt tik daudz citu pieprasījumu, piemēram, failu vai direktoriju izveidošanu vai noņemšanu, pašreizējā darba direktorija maiņu un daudz ko citu, vienkārši izlasot sniegto īso aprakstu. Lai izietu no atkļūdošanas, izmantojiet pieprasījumu q .

Tas pagaidām ir viss! Mums ir saistītu rakstu krājums dažādās zemāk esošajās kategorijās, kas jums noderēs.

  1. 12 noderīgas komandas “df”, lai pārbaudītu diska vietu operētājsistēmā Linux
  2. Pydf alternatīva komanda “df”, lai pārbaudītu diska lietojumu dažādās krāsās
  3. 10 noderīgas du (diska izmantošana) komandas, lai atrastu failu un direktoriju diska lietojumu

  1. 3 noderīgi GUI un uz termināliem balstīti Linux diska skenēšanas rīki
  2. Kā pārbaudīt sliktos sektorus vai sliktos blokus uz cietā diska operētājsistēmā Linux
  3. Kā labot un defragmentēt Linux sistēmas nodalījumus un direktorijus

Veselīgas failu sistēmas uzturēšana vienmēr uzlabo Linux sistēmas kopējo veiktspēju. Ja jums ir kādi jautājumi vai papildu domas, lai dalītos, izmantojiet zemāk esošo komentāru veidlapu.