4 narzędzia do zarządzania stanem EXT2, EXT3 i EXT4 w systemie Linux
System plików to struktura danych, która pomaga kontrolować sposób przechowywania i pobierania danych w systemie komputerowym. System plików można również uznać za fizyczną (lub rozszerzoną) partycję na dysku. Jeśli nie jest dobrze konserwowany i regularnie monitorowany, w dłuższej perspektywie może ulec uszkodzeniu na wiele różnych sposobów.
Istnieje kilka czynników, które mogą spowodować, że system plików stanie się niezdrowy: awarie systemu, awarie sprzętu lub oprogramowania, błędne sterowniki i programy, nieprawidłowe dostrojenie, przeciążenie nadmiernymi danymi oraz inne drobne usterki.
Każdy z tych problemów może spowodować, że Linux nie będzie prawidłowo montował (lub odmontowywał) systemu plików, co doprowadzi do awarii systemu.
Przeczytaj także: 7 sposobów określenia typu systemu plików w systemie Linux (Ext2, Ext3 lub Ext4)
Ponadto uruchomienie systemu z uszkodzonym systemem plików może spowodować inne błędy wykonania w komponentach systemu operacyjnego lub aplikacjach użytkownika, które mogą skutkować poważną utratą danych. Aby uniknąć uszkodzenia lub uszkodzenia systemu plików, musisz zwracać uwagę na jego stan.
W tym artykule omówimy narzędzia do monitorowania i utrzymywania stanu systemów plików ext2, ext3 i ext4. Wszystkie opisane tutaj narzędzia wymagają uprawnień użytkownika root, dlatego do ich uruchomienia użyj komendy sudo.
Jak wyświetlić informacje o systemie plików EXT2/EXT3/EXT4
dumpe2fs to narzędzie wiersza poleceń służące do zrzutu informacji o systemie plików ext2/ext3/ext4, co oznacza, że wyświetla informacje o superblokach i grupach bloków dla systemu plików na urządzeniu.
Przed uruchomieniem dumpe2fs upewnij się, że uruchomiłeś polecenie df -hT, aby poznać nazwy urządzeń w systemie plików.
sudo dumpe2fs /dev/sda10
Przykładowe wyjście
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żesz przekazać flagę -b
, aby wyświetlić wszystkie bloki zarezerwowane jako złe w systemie plików (brak wyników oznacza złe bloki):
dumpe2fs -b
Sprawdzanie systemów plików EXT2/EXT3/EXT4 pod kątem błędów
e2fsck służy do sprawdzania systemów plików ext2/ext3/ext4 pod kątem błędów i sprawdzania fsck i opcjonalnie może naprawić system plików Linux; jest to w zasadzie nakładka dla szeregu narzędzi do sprawdzania systemów plików (fsck.fstype na przykład fsck.ext3, fsck.sfx itp.) oferowanych pod Linuksem.
Pamiętaj, że Linux uruchamia e2fack/fsck automatycznie podczas startu systemu na partycjach oznaczonych do sprawdzania pliku konfiguracyjnego /etc/fstab. Zwykle robi się to po tym, jak system plików nie został odmontowany w sposób czysty.
Uwaga: nie uruchamiaj e2fsck ani fsck na zamontowanych systemach plików, zawsze najpierw odmontuj partycję, zanim będziesz mógł uruchomić umieść na nim te narzędzia, jak pokazano poniżej.
sudo unmount /dev/sda10
sudo fsck /dev/sda10
Alternatywnie włącz pełne wyjście za pomocą przełącznika -V
i użyj -t
, aby określić typ systemu plików w następujący sposób:
sudo fsck -Vt ext4 /dev/sda10
Strojenie systemów plików EXT2/EXT3/EXT4
Od początku wspominaliśmy, że jedną z przyczyn uszkodzeń systemu plików jest nieprawidłowe dostrojenie. Możesz użyć narzędzia tune2fs, aby zmienić dostrajalne parametry systemów plików ext2/ext3/ext4, jak wyjaśniono poniżej.
Aby zobaczyć zawartość superbloku systemu plików, w tym bieżące wartości parametrów, użyj opcji -l
, jak pokazano.
sudo tune2fs -l /dev/sda10
Przykładowe wyjście
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
Następnie za pomocą flagi -c
możesz ustawić liczbę montowań, po których system plików będzie sprawdzany przez e2fsck. To polecenie instruuje system, aby uruchamiał e2fsck przeciwko /dev/sda10
po każdych 4 montowaniach.
sudo tune2fs -c 4 /dev/sda10
tune2fs 1.42.13 (17-May-2015)
Setting maximal mount count to 4
Możesz także zdefiniować czas pomiędzy dwoma sprawdzeniami systemu plików za pomocą opcji -i
. Poniższe polecenie ustawia odstęp 2 dni pomiędzy sprawdzaniem systemu plików.
sudo tune2fs -i 2d /dev/sda10
tune2fs 1.42.13 (17-May-2015)
Setting interval between checks to 172800 seconds
Teraz, jeśli uruchomisz to polecenie poniżej, interwał sprawdzania systemu plików dla /dev/sda10
jest teraz ustawiony.
sudo tune2fs -l /dev/sda10
Przykładowe wyjście
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
Aby zmienić domyślne parametry kronikowania, użyj opcji -J
. Ta opcja ma również podopcje: size=rozmiar-czasopisma (ustawia rozmiar czasopisma), device=zewnętrzny-journal (określa urządzenie, na którym jest przechowywany) oraz location=journal-location (definiuje lokalizację czasopisma).
Pamiętaj, że dla systemu plików można ustawić tylko jedną z opcji rozmiaru lub urządzenia:
sudo tune2fs -J size=4MB /dev/sda10
Na koniec, etykietę woluminu systemu plików można ustawić za pomocą opcji -L
, jak poniżej.
sudo tune2fs -L "ROOT" /dev/sda10
Debuguj systemy plików EXT2/EXT3/EXT4
debugfs to prosty, interaktywny debuger systemów plików ext2/ext3/ext4 oparty na wierszu poleceń. Umożliwia interaktywną modyfikację parametrów systemu plików. Aby wyświetlić podpolecenia lub żądania, wpisz ”?”
.
sudo debugfs /dev/sda10
Domyślnie system plików powinien być otwarty w trybie odczytu i zapisu, użyj flagi -w
, aby otworzyć go w trybie odczytu i zapisu. Aby otworzyć go w trybie katastroficznym, użyj opcji -c
.
Przykładowe wyjście
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
....
Aby pokazać fragmentację wolnego miejsca, użyj żądania freefrag w ten sposób.
debugfs: freefrag
Przykładowe wyjście
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żesz poznać wiele innych żądań, takich jak tworzenie lub usuwanie plików lub katalogów, zmiana bieżącego katalogu roboczego i wiele więcej, po prostu czytając dostarczony krótki opis. Aby zakończyć debugfs, użyj żądania q
.
To wszystko na teraz! Poniżej znajduje się zbiór powiązanych artykułów w różnych kategoriach, które okażą się przydatne.
Informacje o użyciu systemu plików:
- 12 Przydatnych poleceń „df” do sprawdzania miejsca na dysku w systemie Linux
- Pydf alternatywne polecenie „df” służące do sprawdzania użycia dysku w różnych kolorach
- 10 przydatnych poleceń du (wykorzystanie dysku) do sprawdzania wykorzystania dysku przez pliki i katalogi
Sprawdź stan dysku lub partycji:
- 3 Przydatne narzędzia do skanowania dysków z systemem Linux i interfejsem graficznym oraz terminalem
- Jak sprawdzić uszkodzone sektory lub uszkodzone bloki na dysku twardym w systemie Linux
- Jak naprawić i zdefragmentować partycje i katalogi systemu Linux
Utrzymanie zdrowego systemu plików zawsze poprawia ogólną wydajność systemu Linux. Jeśli masz jakieś pytania lub dodatkowe przemyślenia, którymi chcesz się podzielić, skorzystaj z poniższego formularza komentarza.