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.

Poprzedni artykułAudacious 3.2.1
Następny artykułV Dni Wolnego Oprogramowania

14 KOMENTARZE

  1. 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?

    • Warto wspomnieć, że to wolne miejsce przeznaczon jest również na lost+found. Jak ustawimy na 0 to fsck nie zostawi tam danych.

  2. 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.

  3. 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.

  4. 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.

  5. 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?

    • 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.

ZOSTAW ODPOWIEDŹ

Proszę wpisać swój komentarz!
Proszę podać swoje imię tutaj