Назад | Перейти на главную страницу

Освободить место, которое, по словам df, должно быть доступно

У меня есть Linux-сервер, размещенный на одном из CloudServers Rackspace, и он показывает, что у меня нет свободного места, но также показывает, что у меня 12 ГБ не используются в корневом разделе. Единственная задача этого сервера - каждую ночь выполнять rsync над файлами с другого сервера через rsync и сохранять аварийные резервные копии этих файлов.

Я нашел каталог, в котором были некоторые файлы резервных копий, которые не были нужны, поэтому удалил их, и это то, что дало мне неиспользованные 12 ГБ. Удаление файлов сжимает «Используемое» пространство, но ничего не дает пространству «Доступное».

lsof не показывает, что он за что-то держится и df -i говорит, что у меня много свободных индексных дескрипторов.

Я также несколько раз перезагружал этот сервер, и проблема не устранена. Я даже перезагрузился в режим восстановления и запустил fsck на устройстве и явных ошибок не увидел:

root@RESCUE-nightly-snapshot:~# fsck /dev/xvdb1
fsck from util-linux 2.20.1
e2fsck 1.42 (29-Nov-2011)
/dev/xvdb1: recovering journal
Setting free inodes count to 20630768 (was 20630766)
Setting free blocks count to 2845985 (was 2755815)
/dev/xvdb1: clean, 340752/20971520 files, 81040087/83886072 blocks
root@RESCUE-nightly-snapshot:~#

Так что я как бы застрял, потому что обычные пользователи не могут создавать новые файлы, а пользователь системного журнала не может добавлять какие-либо файлы журнала.

Наконец, файловая система - ext3, и что-то в моем мозгу подсказывает, что с журналом что-то не так. Я не знаю, может ли это место быть занято журналом или как вообще сказать.

Буду признателен за любые советы о том, как вернуть это пространство, которое следовало освободить.

root@nightly-snapshot:~# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/xvda1      315G  303G     0 100% /
udev            3.9G  4.0K  3.9G   1% /dev
tmpfs           1.6G  244K  1.6G   1% /run
none            5.0M     0  5.0M   0% /run/lock
none            3.9G     0  3.9G   0% /run/shm
overflow        1.0M     0  1.0M   0% /tmp
/dev/md0        5.0T  4.2T  593G  88% /mnt/raid
root@nightly-snapshot:~# df -i
Filesystem        Inodes    IUsed     IFree IUse% Mounted on
/dev/xvda1      20971520   340750  20630770    2% /
udev             1016188      422   1015766    1% /dev
tmpfs            1018170      319   1017851    1% /run
none             1018170        3   1018167    1% /run/lock
none             1018170        1   1018169    1% /run/shm
overflow         1018170        1   1018169    1% /tmp
/dev/md0       167772160 12607068 155165092    8% /mnt/raid
root@nightly-snapshot:~#
root@nightly-snapshot:~# lsof | grep -i deleted
root@nightly-snapshot:~#

Есть вероятность, что это место зарезервировано для пользователя root. Пожалуйста, проверьте, сколько места зарезервировано для root, с помощью:

tune2fs -l /dev/xvda1

Это даст вам количество блоков, зарезервированных для пользователя root, умножьте его на размер блока, и вы получите размер зарезервированного пространства (в байтах).

Вы можете изменить зарезервированное пространство с помощью: tune2fs -m 1 /dev/xvda1 Число после -m - процент дискового пространства, который следует зарезервировать. В этом примере это 1%.