4 alata za upravljanje zdravljem EXT2, EXT3 i EXT4 u Linuxu
Datotečni sustav je podatkovna struktura koja pomaže kontrolirati način na koji se podaci pohranjuju i dohvaćaju u računalnom sustavu. Datotečni sustav također se može smatrati fizičkom (ili proširenom) particijom na disku. Ako se ne održava dobro i redovito se nadzire, dugoročno se može oštetiti ili oštetiti na toliko različitih načina.
Postoji nekoliko čimbenika koji mogu uzrokovati da datotečni sustav postane nezdrav: rušenje sustava, kvarovi hardvera ili softvera, upravljački programi i programi, pogrešno podešavanje, preopterećenje prekomjernim podacima i drugim manjim greškama.
Bilo koja od ovih poteškoća može uzrokovati da Linux ne graciozno montira (ili demontira) datotečni sustav, što dovodi do kvara sustava.
Osim toga, pokretanje vašeg sustava s oštećenim datotečnim sustavom može dovesti do drugih pogrešaka u izvođenju u komponentama operativnog sustava ili u korisničkim aplikacijama, koje bi mogle eskalirati do ozbiljnog gubitka podataka. Da biste izbjegli oštećenje ili oštećenje datotečnog sustava, morate pripaziti na njegovo zdravlje.
U ovom ćemo članku pokriti alate za nadgledanje i održavanje zdravlja datotečnih sustava ext2, ext3 i ext4. Svi ovdje opisani alati zahtijevaju root korisničke privilegije, zato ih koristite za naredbu sudo.
Kako pregledati podatke o datotečnom sustavu EXT2/EXT3/EXT4
dumpe2fs je alat naredbenog retka koji se koristi za izbacivanje ext2/ext3/ext4 podataka o datotečnom sustavu, što znači da prikazuje super blok i blokira podatke o grupi za datotečni sustav na uređaju.
Prije pokretanja dumpe2fs, obavezno pokrenite naredbu df -hT da biste znali imena uređaja datotečnog sustava.
$ 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
Možete proslijediti zastavicu -b
da biste prikazali bilo koji blok koji je rezerviran kao loš u datotečnom sustavu (nijedan izlaz ne podrazumijeva badblocks):
$ dumpe2fs -b
Provjeravanje datotečnih sustava EXT2/EXT3/EXT4 na pogreške
e2fsck se koristi za ispitivanje ext2/ext3/ext4 datotečnih sustava na greške i fsck provjere, a po želji može popraviti Linux datotečni sustav; u osnovi je front-end za čitav niz programa za provjeru datotečnog sustava (fsck.fstype na primjer fsck.ext3, fsck.sfx itd.) koji se nude pod Linuxom.
Zapamtite da Linux automatski pokreće e2fack/fsck prilikom pokretanja sustava na particijama koje su označene za provjeru u/etc/fstab konfiguracijskoj datoteci. To se obično radi nakon što datotečni sustav nije čisto demontiran.
Pažnja: Nemojte izvoditi e2fsck ili fsck na montiranim datotečnim sustavima, uvijek prvo demontirajte particiju prije nego što možete pokrenuti ove alate na njoj, kao što je prikazano dolje.
$ sudo unmount /dev/sda10 $ sudo fsck /dev/sda10
Alternativno, omogućite opsežni izlaz prekidačem -V
i pomoću -t
odredite vrstu datotečnog sustava poput ove:
$ sudo fsck -Vt ext4 /dev/sda10
Ugađanje datotečnih sustava EXT2/EXT3/EXT4
Od početka smo spomenuli da je jedan od uzroka oštećenja datotečnog sustava pogrešno podešavanje. Pomoću uslužnog programa tune2fs možete promijeniti prilagodljive parametre datotečnih sustava ext2/ext3/ext4 kako je objašnjeno u nastavku.
Da biste vidjeli sadržaj superbloka datotečnog sustava, uključujući trenutne vrijednosti parametara, upotrijebite opciju -l
kao što 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
Dalje, pomoću zastavice -c
možete postaviti broj montiranja nakon čega će e2fsck provjeriti datotečni sustav. Ova naredba upućuje sustav da pokrene e2fsck protiv /dev/sda10
nakon svaka 4 montiranja.
$ sudo tune2fs -c 4 /dev/sda10 tune2fs 1.42.13 (17-May-2015) Setting maximal mount count to 4
Također možete definirati vrijeme između dvije provjere datotečnog sustava pomoću opcije -i
. Sljedeća naredba postavlja interval od 2 dana između provjera datotečnog sustava.
$ sudo tune2fs -i 2d /dev/sda10 tune2fs 1.42.13 (17-May-2015) Setting interval between checks to 172800 seconds
Sada ako pokrenete ovu naredbu u nastavku, interval provjere datotečnog sustava za /dev/sda10
je sada postavljen.
$ 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
Da biste promijenili zadane parametre dnevnika, upotrijebite opciju -J
. Ova opcija također ima podopcije: veličina = veličina dnevnika (postavlja veličinu časopisa), uređaj = vanjski dnevnik (određuje uređaj na kojem je pohranjen) i lokacija = mjesto dnevnika (definira mjesto dnevnika).
Imajte na umu da se za datotečni sustav može postaviti samo jedna od opcija veličine ili uređaja:
$ sudo tune2fs -J size=4MB /dev/sda10
I na kraju, ali ne najmanje važno, oznaka volumena datotečnog sustava može se postaviti pomoću opcije -L
kao u nastavku.
$ sudo tune2fs -L "ROOT" /dev/sda10
Otklonite pogreške s datotečnim sustavima EXT2/EXT3/EXT4
debugfs je jednostavan, interaktivni program za uklanjanje pogrešaka ext2/ext3/ext4 zasnovan na naredbenom retku. Omogućuje vam interaktivnu izmjenu parametara datotečnog sustava. Da biste pregledali podnaredbe ili zahtjeve, upišite "?"
.
$ sudo debugfs /dev/sda10
Prema zadanim postavkama, datotečni sustav trebao bi se otvoriti u načinu čitanja i pisanja, upotrijebite zastavicu -w
da biste ga otvorili u načinu čitanja i pisanja. Da biste ga otvorili u katastrofalnom načinu, upotrijebite 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 ....
Da biste prikazali fragmentaciju slobodnog prostora, upotrijebite zahtjev za freefrag, slično tome.
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:
Možete istražiti toliko drugih zahtjeva kao što su stvaranje ili uklanjanje datoteka ili direktorija, promjena trenutne radne mape i još mnogo toga, jednostavnim čitanjem kratkog opisa. Da biste napustili otklanjanje pogrešaka, upotrijebite zahtjev q
.
To je sve za sada! U nastavku imamo zbirku povezanih članaka u različitim kategorijama, koji će vam biti korisni.
- 12 korisnih naredbi "df" za provjeru prostora na disku u Linuxu
- Ispitajte alternativnu naredbu "df" za provjeru upotrebe diska u različitim bojama
- 10 korisnih naredbi du (upotreba diska) za pronalaženje upotrebe datoteka na disku, datoteka i direktorija
- 3 korisna GUI i alati za skeniranje diskova na temelju terminala
- Kako provjeriti loše sektore ili loše blokove na tvrdom disku u Linuxu
- Kako popraviti i defragmentirati Linux sistemske particije i direktorije
Održavanje zdravog datotečnog sustava uvijek poboljšava ukupnu izvedbu vašeg Linux sustava. Ako imate bilo kakvih pitanja ili dodatnih razmišljanja za dijeljenje, upotrijebite obrazac za komentar u nastavku.