Диск заполнен на сервере 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
Так что это не недостаток inode.
Вывод 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' займет несколько дней или недель.
У кого-нибудь есть какие-либо предложения о том, как поступить?
4 ответа
Если это файловая система 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
Команда обновит доступное пространство.