URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 47550
[ Назад ]

Исходное сообщение
"/var: file system full"

Отправлено Valeriy , 25-Авг-04 11:44 
Привет всем!
Последнее время регулярно в логах вижу сообщения:
/var: file system full
При этом df -h показывает следующее:

# df -h
Filesystem    Size   Used  Avail Capacity  Mounted on
/dev/ad0s1a   126M    46M    70M    39%    /
/dev/ad0s1f   252M   6.0K   232M     0%    /tmp
/dev/ad0s1g   8.4G   6.2G   1.5G    80%    /usr
/dev/ad0s1e   252M   250M -18.1M   108%    /var
procfs        4.0K   4.0K     0B   100%    /proc

А du -h -d 1 /var следующее:

# du -h -d 1 /var
2.0K    /var/account
6.0K    /var/at
18K    /var/backups
4.0K    /var/crash
6.0K    /var/cron
14M    /var/db
2.0K    /var/heimdal
16M    /var/log
4.0K    /var/mail
4.0K    /var/msgs
2.0K    /var/preserve
106K    /var/run
2.0K    /var/rwho
58K    /var/spool
11M    /var/tmp
22K    /var/yp
70K    /var/games
2.0K    /var/empty
714K    /var/webmin
100K    /var/lock
42M    /var

двойной sync не помогает. Если сделать unmont/mount, то проблема на какое то время исчезает (du -h также определяет используемое место на /var в 42M) а потом все повторяется.
Посоветуйте, куда копать?

FreeBSD 4.10

Спасибо


Содержание

Сообщения в этом обсуждении
"/var: file system full"
Отправлено lavr , 25-Авг-04 16:07 
>Привет всем!
>Последнее время регулярно в логах вижу сообщения:
>/var: file system full
>При этом df -h показывает следующее:
>
># df -h
>Filesystem    Size   Used  Avail Capacity  
>Mounted on
>/dev/ad0s1a   126M    46M    70M
>   39%    /
>/dev/ad0s1f   252M   6.0K   232M  
>  0%    /tmp
>/dev/ad0s1g   8.4G   6.2G   1.5G  
> 80%    /usr
>/dev/ad0s1e   252M   250M -18.1M   108%  
>  /var
>procfs        4.0K   4.0K
>    0B   100%    
>/proc
>
>А du -h -d 1 /var следующее:
>
># du -h -d 1 /var
>2.0K    /var/account
>6.0K    /var/at
> 18K    /var/backups
>4.0K    /var/crash
>6.0K    /var/cron
> 14M    /var/db
>2.0K    /var/heimdal
> 16M    /var/log
>4.0K    /var/mail
>4.0K    /var/msgs
>2.0K    /var/preserve
>106K    /var/run
>2.0K    /var/rwho
> 58K    /var/spool
> 11M    /var/tmp
> 22K    /var/yp
> 70K    /var/games
>2.0K    /var/empty
>714K    /var/webmin
>100K    /var/lock
> 42M    /var
>
>двойной sync не помогает. Если сделать unmont/mount, то проблема на какое то
>время исчезает (du -h также определяет используемое место на /var в
>42M) а потом все повторяется.
>Посоветуйте, куда копать?
>
>FreeBSD 4.10
>
>Спасибо

ищи приложения которые пишут в /var - он у тебя очень маленький


"/var: file system full"
Отправлено boykov , 25-Авг-04 20:27 
Извиняюсь, но fsck на него напустить пробовал? между моунтами?

"/var: file system full"
Отправлено Valeriy , 27-Авг-04 13:15 
>Извиняюсь, но fsck на него напустить пробовал? между моунтами?

Да, конечно.

fsck /var
** /dev/ad0s1e (NO WRITE)
** Last Mounted on /var
** Phase 1 - Check Blocks and Sizes
** Phase 2 - Check Pathnames
** Phase 3 - Check Connectivity
** Phase 4 - Check Reference Counts
UNREF FILE I=73  OWNER=squid MODE=100644
SIZE=11337650 MTIME=Aug 27 12:09 2004
CLEAR? no

UNREF FILE I=163  OWNER=root MODE=100644
SIZE=199977813 MTIME=Aug 27 11:59 2004
CLEAR? no

UNREF FILE I=403  OWNER=root MODE=100644
SIZE=4830586 MTIME=Aug 27 11:59 2004
CLEAR? no

** Phase 5 - Check Cyl groups
FREE BLK COUNT(S) WRONG IN SUPERBLK
SALVAGE? no

SUMMARY INFORMATION BAD
SALVAGE? no

BLK(S) MISSING IN BIT MAPS
SALVAGE? no

2258 files, 127460 used, 1538 free (1058 frags, 60 blocks, 0.8% fragmentation)

lsof для inode 163 выдает кучу строк примерно такого содержания
httpd      3353      www    2w  VREG 116,131076  199977813    163 /var (/dev/ad0s1e)

А для inode 73:
squidGuar 36092    squid    5w  VREG 116,131076   11337650     73 /var (/dev/ad0s1e)

После рестарта апача все на некоторое время приходит в норму, но не надолго


"/var: file system full"
Отправлено Евгений , 27-Авг-04 13:23 
возможно какое-то приложение пытается записать объем данных более того которое есть на диске и при получении ошибки просто прибивает файл?
1.слинкуй /var на больший раздел,
2.отмонтируй существующий var
3.еще раз прогони fsck
4.понаблюдай что будет происходить с линком var....
если нет большого увеличения данных, то меняй винт....

"/var: file system full"
Отправлено vscorpion , 27-Авг-04 13:24 
ктож для логов отводит такое место отводи гиг или 512 мегов
и проверь настройки апача и особенно скриптов которые запускаешь

"/var: file system full"
Отправлено Valeriy , 27-Авг-04 14:25 
>ктож для логов отводит такое место отводи гиг или 512 мегов
>и проверь настройки апача и особенно скриптов которые запускаешь

Машинка в такой конфигурации ~3 года живет. Cервер используется внутри очень маленькой компании (12 пользователей) в основном для squid+squidGuard. Нагрузка за все это эксплуатации практически не изменилась. А проблема появилась сравнительно недавно. Вот это и странно.

На новый винт в ближайшее время перееду. О результатах сообщу



"/var: file system full"
Отправлено Valeriy , 30-Авг-04 14:46 
>На новый винт в ближайшее время перееду. О результатах сообщу

В пятницу перенес систему на новый винт + увеличил /var до 1Gb.
Ситуация кардинально не поменялась, хотя сообщения вида /var: file system full пропали (что в общем то логично, учитывая то что /var раздел стал больше).
Теперь картина такая:
# df -h
Filesystem    Size   Used  Avail Capacity  Mounted on
/dev/ad0s1a   126M    46M    70M    39%    /
/dev/ad0s1f   504M  10.0K   464M     0%    /tmp
/dev/ad0s1g    17G   6.3G   9.2G    41%    /usr
/dev/ad0s1e  1008M   210M   718M    23%    /var
procfs        4.0K   4.0K     0B   100%    /proc

# du -h -d1 /var
2.0K    /var/account
6.0K    /var/at
18K    /var/backups
4.0K    /var/crash
6.0K    /var/cron
14M    /var/db
2.0K    /var/heimdal
17M    /var/log
4.0K    /var/mail
4.0K    /var/msgs
2.0K    /var/preserve
106K    /var/run
2.0K    /var/rwho
58K    /var/spool
11M    /var/tmp
22K    /var/yp
70K    /var/games
2.0K    /var/empty
714K    /var/webmin
100K    /var/lock
44M    /var

Все так же присутствует UNREF файл, используемый апачем:
# fsck /var
** /dev/ad0s1e (NO WRITE)
** Last Mounted on /var
** Phase 1 - Check Blocks and Sizes
** Phase 2 - Check Pathnames
** Phase 3 - Check Connectivity
** Phase 4 - Check Reference Counts
UNREF FILE I=201  OWNER=root MODE=100644
SIZE=154777653 MTIME=Aug 30 13:41 2
....

Как я уже говорил, после перезапуска апача ситуация на некоторое время нормализуется, а потом опять.
Есть подозрение, что проблема возникакт после ротации логов newsyslog'ом

Есть советы?


"/var: file system full"
Отправлено Valeriy , 30-Авг-04 14:50 
В догонку:
# lsof | grep 201
httpd       161     root    2w  VREG 116,131076  154790514     201 /var (/dev/ad0s1e)
httpd       161     root   15w  VREG 116,131076  154790514     201 /var (/dev/ad0s1e)
httpd       183      www    2w  VREG 116,131076  154790514     201 /var (/dev/ad0s1e)
httpd       183      www   15w  VREG 116,131076  154790514     201 /var (/dev/ad0s1e)
httpd       184      www    2w  VREG 116,131076  154790514     201 /var (/dev/ad0s1e)
httpd       184      www   15w  VREG 116,131076  154790514     201 /var (/dev/ad0s1e)
httpd       185      www    2w  VREG 116,131076  154790514     201 /var (/dev/ad0s1e)
httpd       185      www   15w  VREG 116,131076  154790514     201 /var (/dev/ad0s1e)
httpd       186      www    2w  VREG 116,131076  154790514     201 /var (/dev/ad0s1e)
httpd       186      www   15w  VREG 116,131076  154790514     201 /var (/dev/ad0s1e)
httpd       187      www    2w  VREG 116,131076  154790514     201 /var (/dev/ad0s1e)
httpd       187      www   15w  VREG 116,131076  154790514     201 /var (/dev/ad0s1e)
httpd       366      www    2w  VREG 116,131076  154790514     201 /var (/dev/ad0s1e)
httpd       366      www   15w  VREG 116,131076  154790514     201 /var (/dev/ad0s1e)
httpd      3330      www    2w  VREG 116,131076  154790514     201 /var (/dev/ad0s1e)
httpd      3330      www   15w  VREG 116,131076  154790514     201 /var (/dev/ad0s1e)
httpd     20391      www    2w  VREG 116,131076  154790514     201 /var (/dev/ad0s1e)
httpd     20391      www   15w  VREG 116,131076  154790514     201 /var (/dev/ad0s1e)
httpd     20443      www    2w  VREG 116,131076  154790514     201 /var (/dev/ad0s1e)
httpd     20443      www   15w  VREG 116,131076  154790514     201 /var (/dev/ad0s1e)
httpd     65392      www    2w  VREG 116,131076  154790514     201 /var (/dev/ad0s1e)
httpd     65392      www   15w  VREG 116,131076  154790514     201 /var (/dev/ad0s1e)


ps -auxw | grep htt
www      65392  0.0  0.7  2364 1404  ??  I    11:10AM   0:01.26 /usr/local/sbin/httpd
www      20443  0.0  0.8  2620 1452  ??  I    Sat01PM   0:04.60 /usr/local/sbin/httpd
www      20391  0.0  0.7  2336 1320  ??  I    Sat01PM   0:04.58 /usr/local/sbin/httpd
www       3330  0.0  0.8  2636 1436  ??  I    Fri06PM   0:05.06 /usr/local/sbin/httpd
www        366  0.0  0.8  2636 1464  ??  I    Fri04PM   0:05.54 /usr/local/sbin/httpd
www        187  0.0  0.8  2624 1444  ??  I    Fri04PM   0:05.46 /usr/local/sbin/httpd
www        186  0.0  0.8  2624 1464  ??  I    Fri04PM   0:05.44 /usr/local/sbin/httpd
www        185  0.0  0.8  2624 1444  ??  I    Fri04PM   0:05.45 /usr/local/sbin/httpd
www        184  0.0  0.8  2628 1460  ??  I    Fri04PM   0:05.40 /usr/local/sbin/httpd
www        183  0.0  0.8  2628 1468  ??  I    Fri04PM   0:05.46 /usr/local/sbin/httpd
root       161  0.0  0.6  2232 1176  ??  Ss   Fri04PM   0:07.96 /usr/local/sbin/httpd


"/var: file system full"
Отправлено lavr , 30-Авг-04 18:45 
>>На новый винт в ближайшее время перееду. О результатах сообщу
>
>В пятницу перенес систему на новый винт + увеличил /var до 1Gb.
>
>Ситуация кардинально не поменялась, хотя сообщения вида /var: file system full пропали
>(что в общем то логично, учитывая то что /var раздел стал
>больше).
>Теперь картина такая:
># df -h
>Filesystem    Size   Used  Avail Capacity  
>Mounted on
>/dev/ad0s1a   126M    46M    70M
>   39%    /
>/dev/ad0s1f   504M  10.0K   464M    
> 0%    /tmp
>/dev/ad0s1g    17G   6.3G   9.2G  
>  41%    /usr
>/dev/ad0s1e  1008M   210M   718M    
>23%    /var
>procfs        4.0K   4.0K
>    0B   100%    
>/proc
>
># du -h -d1 /var
>2.0K    /var/account
>6.0K    /var/at
> 18K    /var/backups
>4.0K    /var/crash
>6.0K    /var/cron
> 14M    /var/db
>2.0K    /var/heimdal
> 17M    /var/log
>4.0K    /var/mail
>4.0K    /var/msgs
>2.0K    /var/preserve
>106K    /var/run
>2.0K    /var/rwho
> 58K    /var/spool
> 11M    /var/tmp
> 22K    /var/yp
> 70K    /var/games
>2.0K    /var/empty
>714K    /var/webmin
>100K    /var/lock
> 44M    /var
>
>Все так же присутствует UNREF файл, используемый апачем:
># fsck /var
>** /dev/ad0s1e (NO WRITE)
>** Last Mounted on /var
>** Phase 1 - Check Blocks and Sizes
>** Phase 2 - Check Pathnames
>** Phase 3 - Check Connectivity
>** Phase 4 - Check Reference Counts
>UNREF FILE I=201  OWNER=root MODE=100644
>SIZE=154777653 MTIME=Aug 30 13:41 2
>....
>
>Как я уже говорил, после перезапуска апача ситуация на некоторое время нормализуется,
>а потом опять.
>Есть подозрение, что проблема возникакт после ротации логов newsyslog'ом
>
>Есть советы?

lsof твой друг и товариСЧ - смотреть кто какие файлы открывает в /var


"/var: file system full"
Отправлено Valeriy , 31-Авг-04 15:04 
>
>lsof твой друг и товариСЧ - смотреть кто какие файлы открывает в
>/var

Я в своем предыдущем постинге приводил результаты lsof.
Вот еще раз:

# lsof -u root | grep 201
httpd       161 root    2w  VREG 116,131076  740757941     201 /var (/dev/ad0s1e)
httpd       161 root   15w  VREG 116,131076  740757941     201 /var (/dev/ad0s1e)

Это UNREF файл уже до >700Mb вырос :(


"/var: file system full"
Отправлено lavr , 31-Авг-04 15:13 
>>
>>lsof твой друг и товариСЧ - смотреть кто какие файлы открывает в
>>/var
>
>Я в своем предыдущем постинге приводил результаты lsof.
>Вот еще раз:
>
># lsof -u root | grep 201
>httpd       161 root    
>2w  VREG 116,131076  740757941     201
>/var (/dev/ad0s1e)
>httpd       161 root   15w
> VREG 116,131076  740757941     201 /var
>(/dev/ad0s1e)
>
>Это UNREF файл уже до >700Mb вырос :(

думай ЧТО это за файл и почему сие происходит?
попробуй посмотреть его, хоть в сыром виде, возможно наведет на мысли


"/var: file system full"
Отправлено Valeriy , 31-Авг-04 15:50 
>
>думай ЧТО это за файл и почему сие происходит?
>попробуй посмотреть его, хоть в сыром виде, возможно наведет на мысли

Хм...а как посмотреть содержимое UNREF файла? В файловой системе его не видно. Да и lsof показывет только /var и /dev/ad0s1e - никакого конкретного файла



"/var: file system full"
Отправлено Amy , 31-Авг-04 16:07 
>>
>>думай ЧТО это за файл и почему сие происходит?
>>попробуй посмотреть его, хоть в сыром виде, возможно наведет на мысли
>
>Хм...а как посмотреть содержимое UNREF файла? В файловой системе его не видно.
>Да и lsof показывет только /var и /dev/ad0s1e - никакого конкретного
>файла

Поищи find-ом по номеру иноды.