Page 1 of 2

Процент используемого пространства

Posted: Sun Oct 06, 2013 9:04 am
by Cupoma
Показания используемого пространтва диска в веб-панели отличаются от реальных после переноса почты с другого хоста.

Опишу ситуацию на своем примере по переносу:
1. Создал ящики
2. Скопировал письма tarpipe'ом
3. Перенаправил ДНС на новый хост
4. После того как записи ДНС обновились еще раз tarpipe почты (только файлов со временем изменения с момента изменения ДНС записи)
5. Подправляем права на папку с почтой
6. Запуск скриптов:
v-rebuild-mail-domains
v-update-mail-domain-disk
v-update-mail-domains-disk
v-update-user-disk


В результате: ~100 аккаунтов почты занимают 920МБ, но в веб-панели отображается 801МБ
В связи с чем вопросы:
1. Откуда возникает разница и как ее устранить ?
2. Может быть посоветуете другой метод переноса почты, чтобы такая ситуация не повторилась.
3. Если на пользователя установлен лимит в 1000МБ, согласно какому из показателей он в него упрется (линуксовому или из веб-панели) ?

Re: Процент используемого пространства

Posted: Sun Oct 06, 2013 9:57 am
by skid
1. Откуда разница, пока не ясно. Нужно посмотреть вывод команды du -shm /home/$user/mail/$domain Есть вероятность, что вы пересоздали не все ящики, а скопировали файлы для всех.
2. Ваш способ вполне рабочий. Еще можно было сделать бэкап на одном сервере, а на втором частичное восстановление.
3. Согласно совокупности показаний из панели.

Re: Процент используемого пространства

Posted: Mon Oct 07, 2013 12:39 am
by Cupoma
Нужно посмотреть вывод команды du -shm /home/$user/mail/$domain
Размер папок я как раз и приводил командой du -sh
На данный момент показания следующие:
du -shm: 924
веб-панель: 799
Есть вероятность, что вы пересоздали не все ящики, а скопировали файлы для всех.
Это тоже маловероятно, потому что:
На старом хосте отчетливо видно количество ящиков по домену. Выгружается список всех пользователей с именем, паролем и квотой. Далее эта информация загоняется в скрипт с использованием команды v-add-mail-account.
И вот тут зачастую не все ящики могут создаться корректно, поскольку в пароле могут присутствовать символы ' " >.
Поэтому дальше вручную создаются ящики с некорректными паролями, пока число аккаунтов на старом и новом хосте не совпадут.

Кстати, можете подсказать как правильно "закавычивать" пароль, чтобы он проходил с любыми символами в скрипте v-add-mail-account?

Re: Процент используемого пространства

Posted: Mon Oct 07, 2013 7:29 am
by skid
Чтобы понять где расхождение, нужо сравнить размер каждого аккаунта и выяснить, где недостача.
Для парсинга можно использовать eval, а при вставке двойные кавычки.

Re: Процент используемого пространства

Posted: Tue Oct 08, 2013 12:27 am
by Cupoma
Заметил еще кое-что. Сейчас на хосте есть два домена и ситуация с распределением места следующая:

[domain]: [du -shm] / [panel]
domain1: 371 / 493
domain2: 944 / 821

Можно заметить, что показания используемого пространства линукса и панели по этим доменам различаются в разные стороны.

Я вручную проанализировал расхождения по каждому ящику для domain 1, нашел расхождение в 40 Mb по 6 аккаунтам. Сравнивал показания в Мб, возможно при расчете в Кб ситуация отличалась бы.

По domain 2: все suspend ящики в панели имеют размер 0, а в линуксе соответственно имеют вес.

Re: Процент используемого пространства

Posted: Tue Oct 08, 2013 12:51 am
by Cupoma
После разблокирования всех ящиков в domain 2 ситуация изменилась в следующую сторону:
[domain]: [du -shm] / [panel]
domain2: 901 Mb / 1.04gb

Очевидно, что suspend ящики не попадают в учет панели, именно отсюда появляется перевес показателя [du -shm] > [panel].

Еще хочу отметить, что на данном пользователе (domain2) используется только функционал почты (нету сайтов / DNS / баз, или чего либо еще). Размер профиля пользователя /home/$user и всех писем /home/$user/mail совпадают.

После удаления всех suspend аккаунтов ситуация стала такой:
[domain]: [du -shm] / [panel]
domain2: 676 Mb / 781 Mb

Т.е. видно, что панель стабильно добавляет в показаниям диска относительно линукс порядка 100 Mb (domain1 из предыдущего сообщения).

Есть подозрение, что учитываются еще какие то файлы помимо профиля пользователя. Например, есть ли возможность, что панель плюсует к показанию диска еще и недоставленные письма (frozend), которые лежат соответственно не в /home/$user/mail/$domain ?

Re: Процент используемого пространства

Posted: Tue Oct 08, 2013 5:35 am
by skid
Для подсчета занятого места используется команда du -shm, которая циклом проходит по всем ящикам. Чтобы понять откда разница в 100 мегабайт, нужно сравнить данные для каждого почтового ящика.

Re: Процент используемого пространства

Posted: Tue Oct 08, 2013 11:34 pm
by Cupoma
Для подсчета занятого места используется команда du -shm, которая циклом проходит по всем ящикам
Проблема ясна.

Здесь проявляется специфика тега m в команде du. Даже если запустить ее в абсолютно пустом каталоге, команда возвратит 1 (мегабайт), т.к. любое ненулевое значение в КБ округляется в большую сторону.

Таким образом, при подсчете размера каждого каталога с использованием тега m погрешность составит от 1 до 999 КБ.
Результирующая погрешность напрямую зависит от количества каталогов по которым пробегает цикл подсчета занятого пространства пользователя.

Этот эффект будет очевидным, если сравнить результаты du -shm /home/$user/mail/$domain и цикла сбора размера каждого каталога в /home/$user/mail/$domain/*.*

Re: Процент используемого пространства

Posted: Tue Oct 08, 2013 11:53 pm
by Cupoma
Для примера, считаем размер пяти пустых каталогов:

[root@toor emprty]# du -h
4.0K ./dir1
4.0K ./dir2
4.0K ./dir4
4.0K ./dir5
4.0K ./dir3
24K .
[root@toor emprty]# du -hm
1 ./dir1
1 ./dir2
1 ./dir4
1 ./dir5
1 ./dir3
1 .

В случае подсчета циклом, суммой всех каталогов будет не 1,а 5

Re: Процент используемого пространства

Posted: Wed Oct 09, 2013 5:57 am
by skid
Все именно так. Минимальная единица измерения, это мегабайт. Любой пустой объект, база или сайт или ящик, будет весить минимум 1mb.