Страница 1 из 1

Вопрос по файловой системе

Добавлено: 2009-09-19 0:39:43
warlock
В общем, такой вопрос.
Досталась мне в наследство почтовая система. ОСь - FreeBSD 6.2. В качестве IMAP-демона крутится Сyrus. MTA - Exim. Cyrus всё красиво складывает в директорию /var/spool/imap. С некоторых пор раздел /var начал переполняться. Решил почистить старые ящики. И вот тут пошли загадки. Начну хотя бы с одной.
Есть путь к очень большой почтовой директории - /var/spool/imap/users/managers, лежит там примерно 250 тысяч писем.
Даю du -h в папке /var/spool/

Код: Выделить всё

#cd /var/spool/
#du -h
~
8.2G	./imap/users/managers/sent
9.7G	./imap/users/managers
~
Опускаюсь ниже - то же самое:

Код: Выделить всё

#cd /var/spool/imap
#du -h
~
8.2G	./users/managers/sent
9.7G	./users/managers
~
И ещё ниже - получаем откудо-то взявшиеся 19 гигов:

Код: Выделить всё

#cd /var/spool/imap/managers
#du -h
~
8.2G	./managers/sent
28G	./managers
~
Это что - приколы UFS, или глюки утилиты du ?
Причём когда с диска копируются на другой раздел или сжимаются для переброса 300 - 400 мегабайтные папки - исходный файл
исчисляется гигабайтами.

Re: Вопрос по файловой системе

Добавлено: 2009-09-19 11:29:55
Alex Keda
дайте вывод

Код: Выделить всё

du -h -x -d1 /var/spool/imap/users/managers
du -h -x -d1 /var/spool/imap/users
du -h -x -d1 /var/spool/imap
du -h -x -d1 /var/spool
du -h -x -d1 /var
df -h
по возможности без сокращений. ибо неизвестно что вы там куда насокращали.

Re: Вопрос по файловой системе

Добавлено: 2009-09-19 13:26:54
warlock
Вывод du -h -x -d1 /var/spool/imap/users/managers:

Код: Выделить всё

#du -h -x -d1 /var/spool/imap/users/managers

8.3G	/var/spool/imap/users/managers/sent
 28G	/var/spool/imap/users/managers
Вывод du -h -x -d1 /var/spool/imap/users:

Код: Выделить всё

#du -h -x -d1 /var/spool/imap/users

 28G	/var/spool/imap/users/managers
1.1G	/var/spool/imap/users/agn
7.5G	/var/spool/imap/users/dak
6.5G	/var/spool/imap/users/cca
 10K	/var/spool/imap/users/mak
8.0K	/var/spool/imap/users/ngn
9.7G	/var/spool/imap/users/tos
1.4G	/var/spool/imap/users/belova
5.1M	/var/spool/imap/users/rock
532M	/var/spool/imap/users/ileg
299M	/var/spool/imap/users/doch
 10K	/var/spool/imap/users/alan
 10K	/var/spool/imap/users/kost
 10K	/var/spool/imap/users/nick
512K	/var/spool/imap/users/seila
114M	/var/spool/imap/users/lan
2.9M	/var/spool/imap/users/kas
 72K	/var/spool/imap/users/ssv
 11M	/var/spool/imap/users/mpx
 14K	/var/spool/imap/users/dank
 41M	/var/spool/imap/users/belov
472M	/var/spool/imap/users/inga
2.2G	/var/spool/imap/users/ira
 10K	/var/spool/imap/users/test
108K	/var/spool/imap/users/zaskov
 58G	/var/spool/imap/users/
Вывод du -h -x -d1 /var/spool/imap:

Код: Выделить всё

#du -h -x -d1 /var/spool/imap

2.0K	/var/spool/imap/stage.
 24G	/var/spool/imap/users-hq-1
 39G	/var/spool/imap/users 
 11G	/var/spool/imap/users-branch
 23M	/var/spool/imap/users-hq-2
5.6G	/var/spool/imap/archive
 79G	/var/spool/imap/
Вывод du -h -x -d1 /var/spool:

Код: Выделить всё

#du -h -x -d1 /var/spool

2.0K	/var/spool/lock
2.0K	/var/spool/lpd
2.0K	/var/spool/mqueue
2.0K	/var/spool/opielocks
4.0K	/var/spool/output
2.0K	/var/spool/clientmqueue
2.0K	/var/spool/spamd
3.1M	/var/spool/exim
2.0K	/var/spool/nagios
 79G	/var/spool/imap
 79G	/var/spool/
Вывод du -h -x -d1 /var:

Код: Выделить всё

#du -h -x -d1 /var

2.0K	/var/.snap
2.0K	/var/audit
 24K	/var/backups
4.0K	/var/crash
6.0K	/var/cron
233M	/var/db
2.0K	/var/empty
 17M	/var/log
2.0K	/var/mail
4.0K	/var/msgs
 28M	/var/named
2.0K	/var/preserve
 98K	/var/run
2.0K	/var/rwho
 79G	/var/spool
5.8M	/var/tmp
2.0K	/var/games
 14K	/var/lib
 33M	/var/imap
2.0K	/var/agentx
 79G	/var/
Вывод df -h:

Код: Выделить всё

#df -h

Filesystem          Size    Used   Avail Capacity  Mounted on
/dev/aacd0s1a       1.9G     55M    1.7G     3%    /
devfs               1.0K    1.0K      0B   100%    /dev
/dev/aacd0s1d       34G     14G     17G    44%    /usr
/dev/aacd0s1e       89G     79G    2.3G    97%    /var
devfs               1.0K    1.0K      0B   100%    /var/named/dev
Загадкой всё равно остаётся 2 различных показания:
58G /var/spool/imap/users/
и
39G /var/spool/imap/users
Компрессия UFS ?

Re: Вопрос по файловой системе

Добавлено: 2009-09-19 17:27:42
Alex Keda
мда, действительно странно...
однако, думаю решение на виду валяется, тока мы его не видим...
в глюки du не верю - давно бы обнаружилось...

Re: Вопрос по файловой системе

Добавлено: 2009-09-19 18:32:45
ev
есть вариант, что удален файл который используется
его уже не видно, но место он продолжает занимать (пока процесс не освободит дескриптор)

Re: Вопрос по файловой системе

Добавлено: 2009-09-19 19:12:36
warlock
есть вариант, что удален файл который используется
его уже не видно, но место он продолжает занимать (пока процесс не освободит дескриптор)
Я уже отработал и этот вариант.

Код: Выделить всё

# lsof +d /var

COMMAND  PID    USER   FD   TYPE DEVICE SIZE/OFF     NODE NAME
pflogd   463 _pflogd  cwd   VDIR   0,98      512  9515008 /var/empty
pflogd   463 _pflogd  rtd   VDIR   0,98      512  9515008 /var/empty
pflogd   463 _pflogd  jld   VDIR   0,98      512  9515008 /var/empty
named    854    bind  rtd   VDIR   0,98      512 10198016 /var/named
named    854    bind  jld   VDIR   0,98      512 10198016 /var/named
ntpd    1265    _ntp  cwd   VDIR   0,98      512  9515008 /var/empty
ntpd    1265    _ntp  rtd   VDIR   0,98      512  9515008 /var/empty
ntpd    1265    _ntp  jld   VDIR   0,98      512  9515008 /var/empty
cron    1425    root  cwd   VDIR   0,98      512  7701504 /var/cron
Есть вариант дать fsck в boot -s но я не рискую по причине, что сервер удалённый.

Re: Вопрос по файловой системе

Добавлено: 2009-09-19 20:40:09
camelium
присоздании диска для qemu (qemu-img) происходит что-то похожее - ls -l показывает 20GB а используется реально 50kb

Re: Вопрос по файловой системе

Добавлено: 2009-09-20 10:50:25
reLax
camelium писал(а):присоздании диска для qemu (qemu-img) происходит что-то похожее - ls -l показывает 20GB а используется реально 50kb
Может и не в тему, но ты еще больше удивишься, если выполнишь такую команду:

Код: Выделить всё

# dd if=/dev/zero of=file seek=`echo 2^31 | bc` count=1
# ls -lh file
-rw-r--r-- 1 root root 1,1T 2009-09-20 11:47 file
У тебя раздел больше террабайта ? У меня вот нет, всего под весь Linux выделено 20Гб на ноутбуке, однако на разделе лежит файл размером в 1.1Тб :) Несмотря на то, что на HP 9860er 2 жестких диска на 500Гб в общей сложности :)

Re: Вопрос по файловой системе

Добавлено: 2009-09-21 9:44:03
warlock
Решил переконфигурировать Cyrus для работы по 2-м разделам.
Внёс в /etc/imapd.conf такие изменения:

Код: Выделить всё

partition-default: /var/spool/cyrus
partition-1: /var/spool/imap
partition-2: /usr/spool/imap
defaultpartition: default
Копирую папку:

Код: Выделить всё

9.7G   /var/spool/imap/users/tos
А она становится:

Код: Выделить всё

20.4G   /usr/spool/imap/users/tos
Гм... Очень интересно.

Re: Вопрос по файловой системе

Добавлено: 2009-09-21 10:00:53
Alex Keda
хардлинки?

Re: Вопрос по файловой системе

Добавлено: 2009-09-21 10:01:34
Alex Keda
таром скопируйте.
посмотрим, чё получиться

Re: Вопрос по файловой системе

Добавлено: 2009-10-09 15:39:27
warlock
хардлинки?
Нет. Это первое что смотрел.
таром скопируйте.
посмотрим, чё получиться
Ничего не изменилось.
Проблема давно отпала, просто факт интересен. Недавно удалось сделать fsck - но размер не уменьшился, хотя ошибки были.