Linux: brak miejsca na błąd urządzenia z 50% wolnego miejsca

8

Po dniu spędzonym na miażdżeniu głowy na biurku byłbym wdzięczny za pomoc.

Korzystam z Squid-Proxy na Fedorze 14. Nawet jeśli spróbuję touch /tmp/foo, pojawi się błąd „brak wolnego miejsca na urządzeniu”. Już pobiegłem fsck. Jeśli usunę plik powiedzmy 1 MB, będę mógł ponownie zapisać 1 MB danych, ale nie więcej. Warto zauważyć, że mam dużo wolnego miejsca:

df wynik:

Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sda3             16311208   7614872   7867768  50% /
tmpfs                  1028548         0   1028548   0% /dev/shm
/dev/sda1               198337     55345    132752  30% /boot
/dev/sdb1             25803036  19407324   5084996  80% /mnt/squid-cache

Czy ktoś ma pomysł, co mogę spróbować „odzyskać” wolne miejsce?

Layticia
źródło

Odpowiedzi:

16

Podejrzewam, że zabrakło Ci i-węzłów zamiast bloków dyskowych - to znaczy, że masz ograniczenie liczby plików, które może przechowywać system plików, a nie ograniczenie całkowitej ilości danych.

Możesz df -ito sprawdzić.

TomH
źródło
Dziwne, że zabrakłby mu węzłów na ładnym okrągłym 50% miejsca na dysku ... ale warto się temu przyjrzeć; Squid tworzy wiele plików.
LawrenceC
Tom, przybiłeś go. Dokładnie tak jest ... "iFree = 0" Bardzo dziękuję za podpowiedź!
Layticia
@ultrasawblade katalog squid-cache-dir znajduje się na innym dysku (sdb), problem dotyczy dysku systemowego (sda). Generuję raporty „sarg”, a to oznacza wiele plików z ostatnich 12 miesięcy.
Layticia
B / c mój dysk jest pełny .. i potrzebuje więcej miejsca, wygląda na to, że forums.fedoraforum.org/showthread.php?t=246302 mówi, że muszę sformatować. Podczas formatowania wybierze XFS - wygląda na to, że pozwoli mi skalować.
jedierikb
0

Linux rezerwuje procent bloków dla administratora. Zazwyczaj jest ustawiony na 5%. 50% jest niezwykle wysokie. Dzięki niemu tune2fs -mmożesz to zmienić.

LawrenceC
źródło
0

Może się to zdarzyć, jeśli używasz btrfs, w takim przypadku te środki zaradcze nie będą działać.

Po przejściu wielu fałszywych szlaków w końcu trafiłem na właściwą ścieżkę po rozpoczęciu wyszukiwania

btrfs no

i dostał

btrfs brak miejsca na urządzeniu

jako pierwsze ukończenie. Doprowadziło to do Wiki problem BTRFS. To najwyraźniej wspólny problem.

Ale nawet stamtąd rozwiązanie mojego problemu nie było takie łatwe. Udało mi się uruchomić odpowiednie narzędzia, uruchamiając się w trybie odzyskiwania, wybierając opcję montowania moich systemów plików, a następnie przechodząc do katalogu głównego.

Artykuł na wiki napisał, że uruchom btrfs balance, ale to nie zadziała dla wszystkich systemów plików i ostatecznie znalazłem swoją drogę tutaj (co jest również drugim wynikiem wyszukiwania).

Jeśli twój system plików jest naprawdę pełny, nawet bilans nie będzie działał. Lub będzie działał tylko dla małych wartości -dusage.

Przepis w tym przypadku jest na dole postu. Na początku uznałem to za mylące i odrzuciłem jako rozwiązanie, ponieważ plakat usuwa migawki, co uważałem za niezbędne, a ponieważ nie brałem migawek, myślałem, że to nie ma zastosowania. Ale tak się stało. Krok migawki może być dla niektórych ważny, ale nie dla mnie.

Środek zaradczy w ogólnym zarysie to:

  1. Utwórz duży plik
  2. Zrób to z pętli
  3. Podłącz urządzenie do fs, którego nie można wyważyć
  4. Uruchom równowagę
  5. Odłącz urządzenie
  6. Nuke plik, aby odzyskać to miejsce

Przywoływany post podaje kroki wiersza polecenia.

WolfReporter
źródło