Usuwanie plików nie zwalnia miejsca

6

Mam dysk sformatowany jako ext3, który został całkowicie wypełniony. Próbuję zwolnić trochę miejsca, usuwając pliki, ale to nie działa. Mogę rmpliki i nie pojawiają się one na liście katalogów, ale nie mam dostępnego wolnego miejsca.

Poniżej znajduje się kopia próby usunięcia niektórych plików. Jak widać z ls -la, pliki nie są dowiązane na stałe do innej lokalizacji, a usunięcie wydaje się skuteczne. Na dfwyjściu liczba użytych bloków spadła o 182556, co jest miejscem zajmowanym przez pliki, ale dostępna liczba pozostała na poziomie zero. fsck nie wykrył żadnych problemów z systemem plików i w ogóle nie zmienił wolnego miejsca.

Obecnie używam CentOS 6, aby spróbować usunąć pliki, ale większość plików została napisana przy użyciu dystrybucji Debian (nie jestem całkowicie pewien, jakiej wersji, niezależnie od tego, czego używa Clonezilla ).

# ls -la
razem 182564
drwxr-xr-x. 2 root root 4096 4 marca 2011.
drwxr-xr-x. 5 root root 4096 sierpnia 13 13:18 ..
-rw -------. 1 root root 4030114 4 marca 2011 sda1.vfat-ptcl-img.gz.aa
-rw -------. 1 root root 182667379 4 marca 2011 sda2.ntfs-ptcl-img.gz.aa
-rw-r - r--. 1 root root 37 marca 4 2011 sda-chs.sf
-rw-r - r--. 1 root root 31744 4 marca 2011 sda-hidden-data-after-mbr
-rw-r - r--. 1 root root 512 marca 4 2011 sda-mbr
-rw-r - r--. 1 root root 375 4 marca 2011 sda-pt.parted
-rw-r - r--. 1 root root 259 4 marca 2011 sda-pt.sf

# df.
System plików 1K-bloki Używany Dostępny Użyj% Zamontowany
/ dev / sdb2 484009516 473901232 0 100% / media / Images

# rm -f *

# ls -la
łącznie 8
drwxr-xr-x. 2 root root 4096 sierpnia 13 15:05.
drwxr-xr-x. 5 root root 4096 sierpnia 13 13:18 ..

# df.
System plików 1K-bloki Używany Dostępny Użyj% Zamontowany
/ dev / sdb2 484009516 473718676 0 100% / media / Images

# cd / media; Umount Images

# e2fsck -fv / dev / sdb2
e2fsck 1.41.12 (17 maja 2010)
Zaliczenie 1: Sprawdzanie i-węzłów, bloków i rozmiarów
Pass 2: Sprawdzanie struktury katalogów
Pass 3: Sprawdzanie łączności z katalogiem
Pass 4: Sprawdzanie liczników referencyjnych
Zaliczenie 5: Sprawdzanie informacji podsumowujących grupy

     Użyto 589 i-węzłów (0,00%)
      37 niesąsiadujących plików (6,3%)
       0 nieciągłych katalogów (0,0%)
         Liczba i-węzłów z blokami ind / dind / tind: 278/256/0
Użyto 119390761 bloków (97,89%)
       0 złych bloków
       5 dużych plików

     551 zwykłych plików
      29 katalogów
       0 plików urządzeń znakowych
       0 blokuje pliki urządzeń
       0 fifos
       0 linków
       0 dowiązań symbolicznych (0 szybkich dowiązań symbolicznych)
       0 gniazd
--------
     580 plików

# mount / dev / sdb2 Obrazy

# df Obrazy
System plików 1K-bloki Używany Dostępny Użyj% Zamontowany
/ dev / sdb2 484009516 473718676 0 100% / media / Images
David Yaw
źródło

Odpowiedzi:

2

Rodzina systemów plików ext3 i ext4 rezerwuje część dysku, aby nie dopuścić do pełnego „100% zapełnienia” ze względów stabilności i aby FS mógł przechowywać metadane w części tego miejsca.

Możesz bezpośrednio dostosować, ile miejsca jest zarezerwowane:

tune2fs -m 1 /dev/sdXX

zamieniając „1” na procent (0 do 100) dysku do zarezerwowania, a „XX” na węzeł urządzenia i numer partycji węzła urządzenia, więc w twoim przypadku „XX” to „b2”.

Analogia: masz pełny autobus, a jedyne pozostałe miejsce znajduje się obok bardzo dużej osoby, która zajmuje półtora miejsca samodzielnie. Osoba, która bardzo nalega na uzyskanie miejsca, podchodzi i chce tam usiąść. Chociaż większość osób uważa, że ​​zajęło drugie miejsce, ta osoba nalega. Tak więc duża osoba mówi: „Łał, OK!” i wciska się, aby pozwolić im usiąść. Ale gdy tylko 1 osoba wysiądzie z autobusu i otworzy inne miejsce, nawet jeśli pasażer obok dużej osoby wsiądzie na miejsce, większość ludzi nadal uważa, że ​​autobus jest w 100% pełny, ponieważ nikt nie chce siedzieć obok duża osoba.

Źródło

Możesz to również sprawdzić, aby zobaczyć liczbę bloków zastrzeżonych…

dumpe2fs -h /dev/sdb2

Cytując bardzo inteligentnego użytkownika, który przybił problem w powyższym źródle:

Zobaczysz, że „Dostępny” jest dodatni, gdy „Używany” zostanie zmniejszony do mniej niż 0,95 * 136236548 bloków = około 129424720 bloków.

(w konkretnym przypadku musimy dostosować „0,95” do zarezerwowanego%, a 136236548 bloków do całkowitego rozmiaru bloku twojego urządzenia).

allquixotic
źródło
To było dokładnie to. dumpe2fsujawniona liczba zarezerwowanych bloków = 6 milionów, liczba wolnych bloków = 2,5 miliona. Ponieważ jest to zewnętrzny dysk pamięci, a nie dysk systemu operacyjnego, a ponieważ zapisane na nim pliki będą na ogół zapisywane jako root (to właśnie robi Clonezilla), ustawiłem liczbę zarezerwowanych bloków na zero, aby dfpokazać prawidłowe wyjście.
David Yaw,