Podczas tworzenia systemu plików Ext3 lub Ext4, system rezerwuje dla siebie 5% z rozmiaru partycji. Do czego potrzebna mu jest ta przestrzeń? Zapobiega ona fragmentacji systemu plików oraz umożliwia działanie procesów systemowych np. syslogd(8), podczas przepełnienia dysku. Jest to bardzo przydatna cecha dla systemu, natomiast, czy potrzebujemy jej na partycji, która służy nam jako magazyn plików np. zdjęć i filmów?
Przy obecnych rozmiarach dysków i partycji ten „utracony” 5% to naprawdę sporo. Dla przestrzeni 1TB możemy odzyskać 50GB, a to całkiem pokaźna ilość wolnego miejsca do wykorzystania.
Jak odzyskać to miejsce? Posłuży nam do tego program tune2fs. Spójrzmy na partycję /dev/sdb1, zamontowaną w katalogu /mnt.
[root@localhost ~]# df -h
System plików rozm. użyte dost. %uż. zamont. na
/dev/mapper/VolGroup-lv_root
3,5G 698M 2,6G 21% /
tmpfs 250M 0 250M 0% /dev/shm
/dev/sda1 485M 64M 396M 14% /boot
/dev/sdb1 99G 188M 94G 1% /mnt
Dostępne mamy 94G. Wystarczy wydać polecenie tune2fs -m 0 /dev/sdb1, aby odzyskać wydzielone miejsce dla systemu.
[root@localhost ~]# df -h
System plików rozm. użyte dost. %uż. zamont. na
/dev/mapper/VolGroup-lv_root
3,5G 696M 2,6G 21% /
tmpfs 250M 0 250M 0% /dev/shm
/dev/sda1 485M 64M 396M 14% /boot
/dev/sdb1 99G 188M 99G 1% /mnt
W ten sposób zredukowaliśmy ilość zarezerwowanej pojemności z 5% do 0%. Nic nie stoi na przeszkodzie, by ustawić tę wartość na 10% czy 0.5%. Operacje te są bezpieczne i można je wykonywać na zamontowanym systemie plików. Nic nie stoi na przeszkodzie, aby wcześniej go odmontować, a następnie wykonać operacje.
Przestrzeń rezerwowaną przez system plików, możemy również ustalić na etapie formatowania partycji. Wydajemy wtedy polecenie np. mkfs.ext4 -m 0 /dev/sdb1:
[root@localhost ~]# mkfs.ext4 -m 0 /dev/sdb1
mke2fs 1.41.12 (17-May-2010)
Etykieta systemu plików=
Typ OS: Linux
Rozmiar bloku=4096 (log=2)
Rozmiar fragmentu=4096 (log=2)
Stride=0 bloków, szerokość Stripe=0 bloków
6553600 i-węzłów, 26214392 bloków
0 bloków (0.00%) zarezerwowanych dla superużytkownika
Pierwszy blok danych=0
Maksymalna liczba bloków systemu plików=0
800 grup bloków
32768 bloków w grupie, 32768 fragmentów w grupie
8192 i-węzłów w grupie
Kopie zapasowe superbloku zapisane w blokach:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872
Zapis tablicy i-węzłów: zakończono
Tworzenie kroniki (32768 bloków): wykonano
Zapis superbloków i podsumowania systemu plików: wykonano
Ten system plików będzie automatycznie sprawdzany co każde 20 montowań
lub co 180 dni, zależnie co nastąpi pierwsze. Można to zmienić poprzez
tune2fs -c lub -i.
Gigabajty piechotą nie chodzą i czasem te 5% to naprawdę dużo. Warto pomyśleć o dodatkowej przestrzeni, zwłaszcza na komputerach domowych.






















Jakie są konsekwencje tego dla fragmentacji?
Z czego wynika domyślne 5%? Jest to takie na wszelki wypadek, czy można sobie jakoś wyliczyć ile potrzeba tych % dla partycji o określonym rozmiarze?
Przy partycji "multimedialnej" nie ma się co przejmować fragmentacją.
Warto wspomnieć, że to wolne miejsce przeznaczon jest również na lost+found. Jak ustawimy na 0 to fsck nie zostawi tam danych.
Kamilu, świetnie przepisany z man- a wstęp :)
Warto dodać, że oprócz zmiany wielkości zarezerwowanego obszaru można tez ustawić jego dostępność dla dowolnego użytkownika (tune2fs -u) lub grupy (-g). To sie może przydać jeżeli dopuszczamy innych do korzystania z systemu plików.
Byłbym zapomniał. Te 5% (a tak naprawdę tyle, ile domyślnie przyjmuje mke2fs dla danej dystrybucji) liczy się od rozmiaru systemu plików a nie partycji.
Byłbym zapomniał. Te 5% liczy się od wielkości systemu plików a nie partycji.
Jak ktoś kiedyś instalował debiana w trybie zaawansowanym to pewnie mu się to rzuciło w oczy. Dobry tekst.
Super! Odzyskałem ponad 75GB!!! Wypas! Więcej takich artykułów :)
Czy ta operacja jest bezpieczna? Jak mam na partycji sporo filmów i muzyki to mogę ją wykonać czy stracę dane?
Jest bezpieczna. To tylko zmiana parametru zapisanego w superbloku systemu plików. Coś jakby ustawienie quoty. Zmiana ta nie dotyka żadnego z istniejących plików. Przy podejściu paranoidalnym możnaby się pokusić o wykonanie kopii superbloku przed operacją, ale to nie jest potrzebne.
Wykonałem te operacje i mam 15 GB więcej na dysku. Świetny pomysł :) A co się stanie jak wykonam to na partycji głównej znaczy się / i ustawię tam 0. Czy system przestanie działać czy się wysypie?
Nic :) Linux nadal będzie działał :D
Panie "admin", to fascynujące że nie znając układu systemów plików kolegi potrafisz udzielić tak jednoznacznej odpowiedzi.
@Tomas – działać będzie. Ale jeżeli masz /tmp albo /home jako zwykły podkatalog / (nie jako osobny system plików) a przy tym mocno już zajęty / (inaczej by Cię chyba nie interesowało pozyskiwanie tam miejsca) to możesz mieć problemy ze stabilnością systemu. W razie wątpliwości może "admin" w ramach rehabilitacji Ci wyjaśni dokładnie dlaczego.
Dzięki :D Powiększyłem sobie dysk o całe 30GB :D zaczynało mi brakować i artykuł jak znalazł ;-)