4 Orodja za upravljanje zdravja EXT2, EXT3 in EXT4 v Linuxu
Datotečni sistem je podatkovna struktura, ki pomaga nadzorovati shranjevanje in pridobivanje podatkov v računalniškem sistemu. Datotečni sistem lahko obravnavamo tudi kot fizično (ali razširjeno) particijo na disku. Če se ne vzdržuje in redno spremlja, se lahko dolgoročno poškoduje ali poškoduje na toliko različnih načinov.
Obstaja več dejavnikov, ki lahko povzročijo, da datotečni sistem postane nezdrav: zrušitve sistema, okvare strojne ali programske opreme, napaki v gonilnikih in programih, napačno uglaševanje, preobremenitev s prekomernimi podatki in drugimi manjšimi napakami.
Vsaka od teh težav lahko povzroči, da Linux ne namesti (ali odstrani) datotečnega sistema na miren način, kar povzroči okvaro sistema.
Poleg tega lahko delovanje vašega sistema z okvarjenim datotečnim sistemom povzroči druge napake pri izvajanju v komponentah operacijskega sistema ali v uporabniških aplikacijah, ki se lahko stopnjujejo v hudo izgubo podatkov. Da bi se izognili poškodbam ali poškodbam datotečnega sistema, morate paziti na njegovo zdravje.
V tem članku bomo obravnavali orodja za spremljanje in vzdrževanje zdravja datotečnih sistemov ext2, ext3 in ext4. Vsa tukaj opisana orodja zahtevajo pravice uporabnika root, zato jih uporabite za ukaz sudo.
Kako si ogledate informacije o datotečnem sistemu EXT2/EXT3/EXT4
dumpe2fs je orodje ukazne vrstice, ki se uporablja za izpis podatkov o datotečnem sistemu ext2/ext3/ext4, kar pomeni, da prikazuje super blok in blokira informacije o skupinah datotečnega sistema v napravi.
Preden zaženete dumpe2fs, se prepričajte, da zaženete ukaz df -hT, če želite poznati imena naprav datotečnega sistema.
$ 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
Oznako -b
lahko posredujete, če želite v datotečnem sistemu prikazati vse bloke, ki so rezervirani kot slabi (izhod ne pomeni slabih blokov):
$ dumpe2fs -b
Preverjanje napak pri datotečnih sistemih EXT2/EXT3/EXT4
e2fsck se uporablja za pregled datotečnih sistemov ext2/ext3/ext4 glede napak in preverjanj fsck in lahko po želji popravi datotečni sistem Linux; v bistvu je sprednji del za vrsto pregledovalnikov datotečnih sistemov (fsck.fstype, na primer fsck.ext3, fsck.sfx itd.), ki jih ponuja Linux.
Ne pozabite, da Linux samodejno zažene e2fack/fsck pri zagonu sistema na particijah, ki so označene za preverjanje v konfiguracijski datoteki/etc/fstab. To se običajno naredi potem, ko datotečni sistem ni popolnoma odstranjen.
Opozorilo: Ne zaženite e2fsck ali fsck na nameščenih datotečnih sistemih, vedno najprej odstranite particijo, preden lahko na njej zaženete ta orodja, kot je prikazano spodaj.
$ sudo unmount /dev/sda10 $ sudo fsck /dev/sda10
Druga možnost je, da omogočite podroben izhod s stikalom -V
in z -t
določite vrsto datotečnega sistema, kot je ta:
$ sudo fsck -Vt ext4 /dev/sda10
Uglaševanje datotečnih sistemov EXT2/EXT3/EXT4
Že na začetku smo omenili, da je eden od vzrokov za poškodbe datotečnega sistema nepravilno nastavljanje. S pripomočkom tune2fs lahko spremenite nastavljive parametre datotečnih sistemov ext2/ext3/ext4, kot je razloženo spodaj.
Če si želite ogledati vsebino superbloka datoteke, vključno s trenutnimi vrednostmi parametrov, uporabite možnost -l
, kot je prikazano.
$ 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
Nato lahko z zastavico -c
nastavite število nosilcev, po katerih bo datotečni sistem preveril e2fsck. Ta ukaz sistemu naroči, naj po vsakih 4 vklopih zažene e2fsck proti /dev/sda10
.
$ sudo tune2fs -c 4 /dev/sda10 tune2fs 1.42.13 (17-May-2015) Setting maximal mount count to 4
Določite lahko tudi čas med dvema pregledoma datotečnega sistema z možnostjo -i
. Naslednji ukaz nastavi 2 -dnevni interval med preverjanji datotečnega sistema.
$ sudo tune2fs -i 2d /dev/sda10 tune2fs 1.42.13 (17-May-2015) Setting interval between checks to 172800 seconds
Če zaženete ta ukaz spodaj, je zdaj nastavljen interval preverjanja datotečnega sistema za /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
Če želite spremeniti privzete parametre beleženja, uporabite možnost -J
. Ta možnost ima tudi podmožnosti: velikost = velikost dnevnika (nastavi velikost dnevnika), naprava = zunanji dnevnik (podaja napravo, na kateri je shranjen) in lokacija = lokacija dnevnika (določa lokacijo dnevnika).
Upoštevajte, da je za datotečni sistem mogoče nastaviti le eno od možnosti velikosti ali naprave:
$ sudo tune2fs -J size=4MB /dev/sda10
Nenazadnje lahko oznako nosilca datotečnega sistema nastavite z možnostjo -L
, kot je prikazano spodaj.
$ sudo tune2fs -L "ROOT" /dev/sda10
Odpravljanje napak datotečnih sistemov EXT2/EXT3/EXT4
debugfs je preprost, interaktivni iskalnik napak za datotečne sisteme ext2/ext3/ext4, ki temelji na ukazni vrstici. Omogoča interaktivno spreminjanje parametrov datotečnega sistema. Če si želite ogledati podpovedi ali zahteve, vnesite \"? \"
.
$ sudo debugfs /dev/sda10
Privzeto je treba datotečni sistem odpreti v načinu za branje in pisanje, z zastavico -w
pa ga odprite v načinu za branje in pisanje. Če ga želite odpreti v katastrofalnem načinu, uporabite možnost -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 ....
Če želite prikazati razdrobljenost prostega prostora, uporabite tako zahtevo freefrag.
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:
Toliko drugih zahtev, kot so ustvarjanje ali odstranjevanje datotek ali imenikov, spreminjanje trenutnega delovnega imenika in še veliko več, lahko preberete tako, da preprosto preberete kratek opis. Če želite zapreti odpravljanje napak, uporabite zahtevo q
.
To je vse za zdaj! Spodaj imamo zbirko sorodnih člankov v različnih kategorijah, ki se vam bodo zdeli koristni.
- 12 uporabnih ukazov "df" za preverjanje prostora na disku v sistemu Linux
- Pydf alternativni ukaz "df" za preverjanje uporabe diska v različnih barvah
- 10 koristnih ukazov du (uporaba diska) za iskanje uporabe datotek in imenikov na disku
- 3 Uporabna grafična vmesnika in terminalska orodja za skeniranje diskov Linux
- Kako preveriti slabe sektorje ali slabe bloke na trdem disku v Linuxu
- Kako popraviti in defragmentirati sistemske particije in imenike Linuxa
Ohranjanje zdravega datotečnega sistema vedno izboljša splošno delovanje vašega sistema Linux. Če imate kakršna koli vprašanja ali dodatne misli, ki jih želite deliti, uporabite spodnji obrazec za komentar.