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

Диск на сервере Linux заполнен, количество используемых блоков намного меньше, чем количество доступных блоков

Вывод df:

[root@backup log]# df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/mapper/VolGro  1889811408 1861658948         0 100% /
/dev/sda1               101086     16235     79632  17% /boot
tmpfs                  1815760         0   1815760   0% /dev/shm

Итак, доступный блок должен быть 28.152.460, но это 0. Я удалял кучу файлов, и использованные блоки уменьшаются, но доступные остаются на 0.

Вывод df -i:

[root@backup log]# df -i
Filesystem            Inodes   IUsed   IFree IUse% Mounted on
/dev/mapper/VolGro 487751680 238360803 249390877   49% /
/dev/sda1              26104      37   26067    1% /boot
tmpfs                 219784       1  219783    1% /dev/shm

Так что дело не в недостатке inodes.

Вывод lsof + L1:

[root@backup log]# /usr/sbin/lsof +L1
COMMAND     PID  USER   FD   TYPE DEVICE SIZE NLINK      NODE NAME
mysqld     2444 mysql    4u   REG  253,0    0     0 268795908 /tmp/ibSlaKC7 (deleted)
mysqld     2444 mysql    5u   REG  253,0    0     0 268795909 /tmp/ibhFuyGr (deleted)
mysqld     2444 mysql    6u   REG  253,0    0     0 268795910 /tmp/ibbNinKL (deleted)
mysqld     2444 mysql    7u   REG  253,0    0     0 268795911 /tmp/ibz1ia55 (deleted)
mysqld     2444 mysql   11u   REG  253,0    0     0 268795912 /tmp/ibM3IHvr (deleted)
crond      2549  root    3u   REG  253,0    5     0 248579098 /var/run/crond.pid (deleted)
yum-updat  2620  root   14w   REG  253,0    0     0 248611115 /var/run/yum.pid (deleted)
ssh       16256  root    0u   CHR  136,0          0         2 /dev/pts/0 (deleted)
ssh       16256  root    1u   CHR  136,0          0         2 /dev/pts/0 (deleted)
ssh       16256  root    2u   CHR  136,0          0         2 /dev/pts/0 (deleted)

Я не могу запустить 'du', потому что 99% использования диска находится в / var / backups, который содержит, вероятно, ~ 100 миллионов файлов (какой-то идиот решил использовать rsync-код с живого сервера с каталогами subversion, поэтому это много маленьких файлов) , поэтому выполнение "du" займет дни или недели.

Есть ли у кого-нибудь предложения о том, как действовать?

Если это файловая система ext, корневое зарезервированное пространство по умолчанию будет составлять 5% от 1889811408 блоков или 94490570 блоков. Другими словами, вам нужно удалить еще примерно 66 ГБ, прежде чем df сообщит свободное место доступно.

Использовать tune2fs -m 1 /dev/mapper/VolGro уменьшить зарезервированную сумму до 1%, или -r NNNN чтобы установить его на определенное количество блоков. Должно быть достаточно зарезервированного места, чтобы журнал мог продолжаться даже после того, как пользователи «заполнили» диск (хотя, если вы заполняете диск как root, это не спасет вас от проблем, когда диск полностью заполнен)

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

Запустите fsck, чтобы проверить, не повреждена ли файловая система.

Если вы удалили такие вещи, как файлы журнала apache - для этого потребуется перезапуск apache, прежде чем пространство будет "освобождено"

Итак, доступный блок должен быть 28.152.460, но это 0. Я удалял кучу файлов, и использованные блоки уменьшаются, но доступные остаются на 0.

Я подозреваю, что эти файлы все еще использовались вашей службой, когда вы ее удалили. Итак, просто перезапустите службу, df команда обновит доступное пространство.