Linux: на устройстве не осталось места с 50% свободного места

8

Проведя день, ломая голову на столе, я был бы признателен за помощь.

Я использую Squid-Proxy на Fedora 14. Даже если я попытаюсь это сделать, touch /tmp/fooя получу сообщение об ошибке «на устройстве не осталось места». Я уже побежал fsck. Если я удалю файл, скажем, 1 МБ, я смогу снова сохранить 1 МБ данных, но не более того. Следует отметить, что у меня много свободного места:

df вывод:

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

У кого-нибудь есть идея, что я могу попытаться «вернуть» свободное место?

Layticia
источник

Ответы:

16

Предполагается, что у вас закончились inode, а не дисковые блоки, то есть у вас есть ограничение на количество файлов, которое может хранить файловая система, а не ограничение на общий объем данных.

Вы можете использовать, df -iчтобы проверить это.

TomH
источник
Странно, что у него закончатся иноды на хорошем круглом 50% дискового пространства, хотя ... но стоит посмотреть; Squid действительно создает много файлов.
LawrenceC
TomH ты прибил это. Это именно тот случай ... "iFree = 0" Большое спасибо за этот совет!
Лейтиция
@ultrasawblade squid-cache-dir находится на другом диске (sdb), проблема на системном диске (sda). Я генерирую отчеты "sarg", и это означает, что много файлов за последние 12 месяцев.
Layticia
B / c мой диск заполнен ... и требует больше места, похоже, что forums.fedoraforum.org/showthread.php?t=246302 говорит, что мне нужно переформатировать. При переформатировании выберет XFS - похоже, это позволит мне масштабироваться.
jedierikb
0

Linux резервирует процент блоков для суперпользователя. Обычно он установлен на 5%. 50% необычно высоко. С помощью этого tune2fs -mвы можете изменить это.

LawrenceC
источник
0

Это может произойти, если вы используете btrfs, и в этом случае эти средства не будут работать.

Пройдя много ложных следов, я, наконец, встал на правильный путь после того, как начал поиск с

Btrfs нет

и получил

btrfs на устройстве не осталось места

как первое завершение. Это привело к проблеме BTRFS вики. Это, видимо, общая проблема.

Но даже оттуда было не так легко решить мою проблему. Мне удалось запустить нужные утилиты, загрузившись в режиме восстановления, выбрав вариант, который монтирует мои файловые системы, и затем перейдя в root.

В статье вики говорится, что запустите btrfs balance, но это не будет работать для всех файловых систем, и в конце концов я нашел свой путь здесь (что также является вторым результатом поиска).

Если ваша файловая система действительно заполнена, даже баланс не будет работать. Или он будет работать только для небольших значений -dusage.

Рецепт в данном случае это внизу поста. Я нашел это запутанным и отклонил это как решение сначала, потому что плакат удаляет снимки, которые я считал существенными, и так как я не делал снимки, я думал, что это не применимо. Но это так. Шаг снимка может быть важен для некоторых, но это было не для меня.

Средство, в обзоре:

  1. Создать большой файл
  2. Сделать это петлей устройства
  3. Подключите устройство к фс, который не может сбалансировать
  4. Выполнить баланс
  5. Отсоединить устройство
  6. Разбейте файл, чтобы вернуть это пространство

Ссылочный пост дает шаги командной строки.

WolfReporter
источник