4 mjete për të menaxhuar shëndetin EXT2, EXT3 dhe EXT4 në Linux
Një sistem skedarësh është një strukturë të dhënash që ndihmon për të kontrolluar se si ruhen dhe merren të dhënat në një sistem kompjuterik. Një sistem skedari mund të konsiderohet gjithashtu si një ndarje fizike (ose e zgjeruar) në një disk. Nëse nuk mirëmbahet mirë dhe monitorohet rregullisht, mund të dëmtohet ose korruptohet në afat të gjatë, në shumë mënyra të ndryshme.
Ka disa faktorë që mund të bëjnë që një sistem skedari të bëhet i pashëndetshëm: dështimet e sistemit, keqfunksionimet e harduerit ose softuerit, drejtuesit dhe programet me buggy, akordimi i gabuar i tij, mbingarkimi i tij me të dhëna të tepërta plus defekte të tjera të vogla.
Secili nga këto probleme mund të bëjë që Linux të mos montojë (ose çmontojë) një sistem skedarësh me hijeshi, duke sjellë kështu dështimin e sistemit.
Për më tepër, drejtimi i sistemit tuaj me një sistem skedarësh të dëmtuar mund të shkaktojë gabime të tjera në kohën e ekzekutimit në komponentët e sistemit operativ ose në aplikacionet e përdoruesit, të cilat mund të përshkallëzohen në humbje të rënda të të dhënave. Për të shmangur korrupsionin ose dëmtimin e sistemit të skedarëve, duhet të mbani një sy në shëndetin e tij.
Në këtë artikull, ne do të mbulojmë mjetet për të monitoruar dhe mirëmbajtur shëndetin e sistemeve të skedarëve ext2, ext3 dhe ext4. Të gjitha mjetet e përshkruara këtu kërkojnë privilegje të përdoruesit rrënjë, prandaj përdorni komandën sudo për t'i ekzekutuar ato.
Si të shikoni informacionin e sistemit të skedarëve EXT2/EXT3/EXT4
dumpe2fs është një mjet i linjës së komandës që përdoret për të hedhur informacionin e sistemit të skedarëve ext2/ext3/ext4, që do të thotë se shfaq superbllokun dhe bllokon informacionin e grupit për sistemin e skedarëve në pajisje.
Përpara se të ekzekutoni dumpe2fs, sigurohuni që të ekzekutoni komandën df -hT për të ditur emrat e pajisjeve të sistemit të skedarëve.
$ 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
Ju mund të kaloni flamurin -b
për të shfaqur çdo bllok të rezervuar si të keq në sistemin e skedarëve (asnjë dalje nuk nënkupton bllokimet e këqija):
$ dumpe2fs -b
Kontrollimi i sistemeve të skedarëve EXT2/EXT3/EXT4 për gabime
e2fsck përdoret për të ekzaminuar sistemet e skedarëve ext2/ext3/ext4 për gabime dhe kontrolle fsck dhe mund të riparojë opsionalisht një sistem skedarësh Linux; në thelb është një front-end për një sërë kontrollesh të sistemit të skedarëve (fsck.fstype për shembull fsck.ext3, fsck.sfx etj) të ofruara nën Linux.
Mos harroni se Linux ekzekuton automatikisht e2fack/fsck në nisjen e sistemit në ndarjet që janë etiketuar për të kontrolluar skedarin e konfigurimit /etc/fstab. Kjo zakonisht bëhet pasi sistemi i skedarëve nuk është çmontuar pastër.
Kujdes: Mos ekzekutoni e2fsck ose fsck në sistemet e skedarëve të montuar, gjithmonë çmontoni një ndarje fillimisht përpara se të mund të ekzekutoni këto mjete në të, siç tregohet më poshtë.
$ sudo unmount /dev/sda10
$ sudo fsck /dev/sda10
Përndryshe, aktivizoni daljen verbose me çelësin -V
dhe përdorni -t
për të specifikuar një lloj sistemi skedar si ky:
$ sudo fsck -Vt ext4 /dev/sda10
Akordimi i sistemeve të skedarëve EXT2/EXT3/EXT4
Ne përmendëm që në fillim se një nga shkaqet e dëmtimit të sistemit të skedarëve është akordimi i gabuar. Ju mund të përdorni mjetin tune2fs për të ndryshuar parametrat e sintonizueshëm të sistemeve të skedarëve ext2/ext3/ext4 siç shpjegohet më poshtë.
Për të parë përmbajtjen e superbllokut të sistemit të skedarëve, duke përfshirë vlerat aktuale të parametrave, përdorni opsionin -l
siç tregohet.
$ 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
Më pas, duke përdorur flamurin -c
, mund të caktoni numrin e montimeve pas të cilave sistemi i skedarëve do të kontrollohet nga e2fsck. Kjo komandë udhëzon sistemin të ekzekutojë e2fsck kundër /dev/sda10
pas çdo 4 montimi.
$ sudo tune2fs -c 4 /dev/sda10
tune2fs 1.42.13 (17-May-2015)
Setting maximal mount count to 4
Ju gjithashtu mund të përcaktoni kohën midis dy kontrolleve të sistemit të skedarëve me opsionin -i
. Komanda e mëposhtme vendos një interval prej 2 ditësh midis kontrolleve të sistemit të skedarëve.
$ sudo tune2fs -i 2d /dev/sda10
tune2fs 1.42.13 (17-May-2015)
Setting interval between checks to 172800 seconds
Tani nëse ekzekutoni këtë komandë më poshtë, intervali i kontrollit të sistemit të skedarëve për /dev/sda10
është vendosur tani.
$ 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
Për të ndryshuar parametrat e paracaktuar të ditarit, përdorni opsionin -J
. Ky opsion ka gjithashtu nën-opsione: madhësi=madhësia e ditarit (cakton madhësinë e ditarit), pajisje=ditar i jashtëm (specifikon pajisjen në të cilën është ruajtur) dhe vendndodhje=vendndodhja e ditarit (përcakton vendndodhjen e ditarit).
Vini re se vetëm një nga opsionet e madhësisë ose pajisjes mund të vendoset për një sistem skedari:
$ sudo tune2fs -J size=4MB /dev/sda10
E fundit, por jo më pak e rëndësishme, etiketa e volumit të një sistemi skedar mund të vendoset duke përdorur opsionin -L
si më poshtë.
$ sudo tune2fs -L "ROOT" /dev/sda10
Korrigjimi i sistemeve të skedarëve EXT2/EXT3/EXT4
debugfs është një korrigjues i thjeshtë, ndërveprues i linjës komanduese të sistemeve të skedarëve ext2/ext3/ext4. Kjo ju lejon të modifikoni parametrat e sistemit të skedarëve në mënyrë interaktive. Për të parë nën-komandat ose kërkesat, shkruani \?\
.
$ sudo debugfs /dev/sda10
Si parazgjedhje, sistemi i skedarëve duhet të hapet në modalitetin lexim-shkrim, përdorni flamurin -w
për ta hapur atë në modalitetin lexim-shkrim. Për ta hapur atë në modalitetin katastrofik, përdorni opsionin -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
....
Për të treguar fragmentimin e hapësirës së lirë, përdorni kërkesën freefrag, si kjo.
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:
Ju mund të eksploroni kaq shumë kërkesa të tjera si krijimi ose heqja e skedarëve ose drejtorive, ndryshimi i drejtorisë aktuale të punës dhe shumë më tepër, thjesht duke lexuar përshkrimin e shkurtër të dhënë. Për të hequr qafe korrigjimin, përdorni kërkesën q
.
Kjo është e gjitha për tani! Ne kemi një koleksion artikujsh të lidhur sipas kategorive të ndryshme më poshtë, të cilët do t'ju duken të dobishëm.
- 12 komanda të dobishme \df për të kontrolluar hapësirën në disk në Linux
- Pydf një komandë alternative \df për të kontrolluar përdorimin e diskut në ngjyra të ndryshme
- 10 komanda të dobishme du (Përdorimi i diskut) për të gjetur përdorimin e diskut të skedarëve dhe drejtorive
- 3 Mjete të dobishme të skanimit të disqeve Linux me GUI dhe terminale
- Si të kontrolloni sektorët e këqij ose blloqe të këqija në hard disk në Linux
- Si të riparoni dhe defragmentoni ndarjet dhe drejtoritë e sistemit Linux
Mbajtja e një sistemi skedarësh të shëndetshëm përmirëson gjithmonë performancën e përgjithshme të sistemit tuaj Linux. Nëse keni ndonjë pyetje ose mendime shtesë për të ndarë, përdorni formularin e komenteve më poshtë.