У меня есть коробка CentOS 5.5 с отдельным разделом для / home. df -h
показывает это при 100% использовании. df -i
показывает тонны свободных индексов. du -sh /home /home*
показывает, что в / home находится около 100 МБ файлов. lsof -n | grep / home не показывает открытых файлов в / home. lsof -n | grep deleted показывает, что файлы не касаются / home.
Раздел распределяется через NFS и монтируется на двух других клиентах CentOS 5.5. lsof -n|grep /home
и lsof -n|grep deleted
не показывать файлы для /home
или /
.
Когда я размонтирую и снова монтирую раздел, использование диска снижается со 100% до менее 3%. Однако использование диска вернется на 100% в течение нескольких дней.
Единственное, что использует / home, - это NFSd, настраиваемый сценарий и SSHd. Этот скрипт перемещает файлы из /home/somedir
к /home/tmp
, затем перемещает файлы в / tmp, затем анализирует файлы. Этот сценарий работает на всех трех блоках.
Новые файлы помещаются в / home с помощью сценария, который помещает файлы в среду chroot, настроенную в /home
. Только пара двоичных файлов плюс /dev/null
узел находятся в /home/somepath/...
.
я использовал service nfs stop
и service portmap stop
чтобы остановить nfs, остановил sshd, проверил, что упомянутый выше скрипт не запущен, а затем проверил использование диска. Остается на 100%. Только размонтирование и повторное монтирование, кажется, все проясняет.
Команда fsck -f of / home (конечно, без подключения) показывает, что файловая система в порядке.
Все боксы полностью обновлены и работают под управлением CentOS 5.5.
Куда уходит мое дисковое пространство?
Предположение: ваш собственный сценарий, работающий на всех трех блоках, спотыкается о другие экземпляры самого себя, пытаясь управлять одними и теми же файлами из трех мест; Клиент NFS, запущенный в удаленной системе, сообщает своему ядру, что он удалил файл, но фактически он был удален процессом в другой системе в промежуточный период, поэтому удаленный клиент зависает.
Решение: используйте NFS, чтобы разрешить удаленным системам доступ к файловой системе, но запускайте только сценарий очистки в системе экспорта.