Здравствуйте.Есть ситуация в которой я не могу найти решения. Проблема в следующем. Есть FreeBSD 8.0 работает она под VMware ESX сервер. Есть раздел /var с которым происходят подозрительные вещи.
df показывает /dev/da0s1d всего 989M использовано 592M доступно 318M 65% /vardu показывает 27M /var
MC тоже показывает 27 метров.
на реальной (не виртуальной машине ESX) показания df и du совпадают.
Лечится это все перезагрузкой. Но эта проблема проявляется настолько часто, что перезагрузки это не выход.
Диск на виртуальной машине создан таким образом что сразу забирает под себя указанный объем.
Причем такая ситуация на двух машинах и абсолютно разных ESX серверах.
Использовал ESX, устанавливал в него FreeBSD...ни разу такого не видел.Попробуйте переустановить систему, сделайте /var гигов 10.
И проверьте, будет ли такая же штука...и есть ли зависимость.
>Лечится это все перезагрузкой./usr/ports/sysutils/lsof вам в помощь.
Наверняка производится попытка удалить файл занятый процессом. При этом файл остается в ФС доступный по иноду (и видимый для df), но без символического имени (и невидимый для du).
>>Лечится это все перезагрузкой.
>
>/usr/ports/sysutils/lsof вам в помощь.
>
>Наверняка производится попытка удалить файл занятый процессом. При этом файл остается в
>ФС доступный по иноду (и видимый для df), но без символического
>имени (и невидимый для du).Кстати, у меня что-то похоже было при использовании связки: zfs+nginx+apache - при большой отдаче (причем файл был на /usr !!!!), сильно рос размер /var - до +30 Гб доходило - через df видно эти 30 Гб, через du - нет.
Стоило nginx остановить - через 30 секунд все в норме.
Если отдача идет неспешно - то глюка нет.
>Кстати, у меня что-то похоже было при использовании связки: zfs+nginx+apache - при
>Стоило nginx остановить - через 30 секунд все в норме.Обычная причина подобных проблем - ротация логов через newsyslog.conf без передергивания соответствующего процесса. ZFS тут ровно при том же, что и UFS - иноды из ФС не высвобождаются до тех пор, пока процессом не будут закрыты все дескрипторы, ассоциированные с инодом.
Вот как надо делать в случае апача
/var/log/httpd-access.log 640 5 * $W0D0 JC
/var/log/httpd-error.log 640 5 * $W0D0 JC /var/run/httpd.pid 30
>>Кстати, у меня что-то похоже было при использовании связки: zfs+nginx+apache - при
>>Стоило nginx остановить - через 30 секунд все в норме.
>
>Обычная причина подобных проблем - ротация логов через newsyslog.conf без передергивания соответствующегоСтоп и старт апача проблему не решает. Или newsyslog это делает как-то по-другому. Может флаг какоq-то передать в kill?
Спасибо.
>Стоп и старт апача проблему не решает.Я где-то говорил, что проблема в апаче?
Я говорил, что проблема в процессе, который удерживает дескриптор на удаленный файл. И показал, как это лечится в случае апача. Далее следует мыслить по аналогии.Пробуйте по очереди останавливать демоны, висящие в системе, делать sync и смотреть, после чьей остановки массово высвободится дисковое пространство.