Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

backup dovecot Maildir

269 views
Skip to first unread message

Alexey M. Kosorotov

unread,
Aug 11, 2010, 1:34:03 PM8/11/10
to
Добрый день всем!

Есть почтовый сервер на postfix+dovecot-imap. По пользовательским
ящикам письма раскладывает dovecot lda. Теперь встал вопрос о
резервном копировании почтового хранилища. Hужно получить архив,
который, в случае аварии, можно было-бы развернуть на другой машине.
dump + ssh конечно никто не отменял, но целостный архив можно
получить только при остановленном сервисе, то есть когда никто не
меняет содержимое почтовых ящиков во время бэкапа. Hа эту тему даже
дискуссия в рассылке dovecot-a есть. Учитывая что объём хранилища
уже сейчас составляет около 5Гб, то время простоя сервиса грозит
быть очень большим.

Вопрос: как общественность решает проблему резервного копирования
Maildir большого объёма?

Про imapsync знаю, но для него нужен второй imap-сервер.

Спасибо!

--
kam

Valentin Nechayev

unread,
Aug 11, 2010, 5:40:20 PM8/11/10
to

>>> Alexey M. Kosorotov wrote:

AMK> Есть почтовый сервер на postfix+dovecot-imap. По пользовательским
AMK> ящикам письма раскладывает dovecot lda. Теперь встал вопрос о
AMK> резервном копировании почтового хранилища. Hужно получить архив,
AMK> который, в случае аварии, можно было-бы развернуть на другой машине.
AMK> dump + ssh конечно никто не отменял, но целостный архив можно
AMK> получить только при остановленном сервисе, то есть когда никто не
AMK> меняет содержимое почтовых ящиков во время бэкапа. Hа эту тему даже
AMK> дискуссия в рассылке dovecot-a есть. Учитывая что объём хранилища
AMK> уже сейчас составляет около 5Гб, то время простоя сервиса грозит
AMK> быть очень большим.

AMK> Вопрос: как общественность решает проблему резервного копирования
AMK> Maildir большого объёма?

"Банальный" rsync.

--netch--

Alexey M. Kosorotov

unread,
Aug 11, 2010, 11:22:10 PM8/11/10
to
On Wed, Aug 11, 2010 at 09:40:20PM +0000, Valentin Nechayev wrote:
>
> AMK> Вопрос: как общественность решает проблему резервного копирования
> AMK> Maildir большого объёма?
>
> "Банальный" rsync.
>
Каков размер Maildir? Сколько времени идёт бэкап? Останавливаете
ли imap-демонов (закрываете ли доступ к хранилищу) на время бэкапа?

--
kam

Valentin Nechayev

unread,
Aug 12, 2010, 1:42:52 AM8/12/10
to

>>> Alexey M. Kosorotov wrote:

> AMK>> Вопрос: как общественность решает проблему резервного копирования
> AMK>> Maildir большого объёма?
>> "Банальный" rsync.

AMK> Каков размер Maildir?
~50G

AMK> Сколько времени идёт бэкап?
С полчаса, но тут система древняя

AMK> Останавливаете
AMK> ли imap-демонов (закрываете ли доступ к хранилищу) на время бэкапа?
Hет, нафиг не надо. В чём собственно и преимущество.
Аналогичная синхронизация mbox'ов требовала враппера, который лочил
ту группу, которая сейчас копировалась.


--netch--

Alexey M. Kosorotov

unread,
Aug 12, 2010, 2:19:58 AM8/12/10
to
On Thu, Aug 12, 2010 at 05:42:52AM +0000, Valentin Nechayev wrote:

> AMK> Останавливаете
> AMK> ли imap-демонов (закрываете ли доступ к хранилищу) на время бэкапа?
> Hет, нафиг не надо. В чём собственно и преимущество.
У меня dovecot индексирует содержимое Maildir'ов пользователей для
последующего ускорения поиска писем. Если в момент бэкапа пользователи
активно работают с почтой, то существует ненулевая вероятность что
индекс не будет соответствовать содержимому ящика пользователя. А
если пользователей много, то вероятность эта сильно ненулевая. И
не понятно как потом поведёт себя imap-сервер при работе с
восстановленными из бэкапа ящиками пользователей. Сталкивались ли
вы с этой проблемой?

--
kam

Alexey Zonov

unread,
Aug 12, 2010, 1:55:40 AM8/12/10
to
Hello Alexey!

12 Aug 38 10:19, Alexey M. Kosorotov wrote to Valentin Nechayev:

AK> У меня dovecot индексирует содержимое Maildir'ов пользователей для

AK> не понятно как потом поведёт себя imap-сервер при работе с
AK> восстановленными из бэкапа ящиками пользователей. Сталкивались ли

Восстановление из бекапа - процедура долгая. Hу переиндексируй _всегда_ после
этого. Будет не два часа, а три без почты, зато шелковистые волосы.

Успехов! Alexey

Mykola Dzham

unread,
Aug 12, 2010, 3:05:06 AM8/12/10
to

Maildir/Maildir++ не содержит каких-либо индексных файлов. Индекс,
который создает dovecot, не является обязательным для работы самого же
dovecot и не содержит никакой уникальной информации. Поэтому при
восстановлении нужно просто удалить индекс. dovecot его перегенерирует.

--
LEFT-(UANIC|RIPE)
JID: lev...@jabber.net.ua
PGP fingerprint: 1BCD 7C80 2E04 7282 C944 B0E0 7E67 619E 4E72 9280

Anton Yuzhaninov

unread,
Aug 12, 2010, 5:18:44 AM8/12/10
to
On Срд, 11 Авг 2010 21:34:03, Alexey M. Kosorotov wrote:
AMK> Есть почтовый сервер на postfix+dovecot-imap. По пользовательским
AMK> ящикам письма раскладывает dovecot lda. Теперь встал вопрос о
AMK> резервном копировании почтового хранилища. Hужно получить архив,
AMK> который, в случае аварии, можно было-бы развернуть на другой машине.
AMK> dump + ssh конечно никто не отменял, но целостный архив можно
AMK> получить только при остановленном сервисе

Hа целостность индексов можно зибить - их довект сам пересоздаст при
необходимости. Их можно просто не бэкапить, чтобы в бэкапе не было
битого индекса.

Так что просто делать rsync на удаленный сервер.

Другое дело что быстро восстановинть при необходимости все равно не
получится. Перенос большого числа файликов требует много времени.
Если нужен быстрый backup/restore надо переходить на mailbox.

--
WBR,
Anton Yuzhaninov

Alexey M. Kosorotov

unread,
Aug 12, 2010, 5:55:17 AM8/12/10
to
On Thu, Aug 12, 2010 at 09:18:44AM +0000, Anton Yuzhaninov wrote:

> Hа целостность индексов можно зибить - их довект сам пересоздаст при
> необходимости. Их можно просто не бэкапить, чтобы в бэкапе не было
> битого индекса.
Да, я уже нашёл http://wiki.dovecot.org/IndexFiles. Блин, как всегда RTFM.
Даже как-то стыдно за свой вопрос.

> Так что просто делать rsync на удаленный сервер.
> Другое дело что быстро восстановинть при необходимости все равно не
> получится. Перенос большого числа файликов требует много времени.
> Если нужен быстрый backup/restore надо переходить на mailbox.

В смысле mbox?

--
kam

Valentin Nechayev

unread,
Aug 12, 2010, 6:00:48 AM8/12/10
to

>>> Anton Yuzhaninov wrote:

AY> Другое дело что быстро восстановинть при необходимости все равно не
AY> получится. Перенос большого числа файликов требует много времени.
AY> Если нужен быстрый backup/restore надо переходить на mailbox.

Это палка о двух концах. Во-первых, mbox надо лочить при
синхронизации. Устойчивый вариант моей бэкапилки ящиков в случае mbox
оказался следующим:

while(небо не упадёт на землю) {
взять 20 наиболее давно бэкапленных ящиков
залочить их
вызвать rsync, запомнить его время работы -> t1
разлочить ящики
обновить таймстампы бэкапов по этим ящикам
спать(t1)
}

Среднее время работы rsync оказалось в таком случае (через ssh) - 8
секунд, вполне прилично, чтобы никто со стороны не заметил
кратковременного лока.

Во-вторых, стандартные проблемы mbox, из-за которых вообще придумали
maildir, никуда не деваются. Оптимальнее всего в плане расхода времени
и дисковых операций усреднённый вариант типа коллекции mbox'ов
ограниченного размера (например, до 2MB, или до одного письма, если
оно больше). Осталось найти, кто такое реализует, кроме коммунигейта.


--netch--

Andrey N. Oktyabrski

unread,
Aug 13, 2010, 1:50:47 AM8/13/10
to
On 08/12/10 14:00, Valentin Nechayev wrote:
> Оптимальнее всего в плане расхода времени
> и дисковых операций усреднённый вариант типа коллекции mbox'ов
> ограниченного размера (например, до 2MB, или до одного письма, если
> оно больше). Осталось найти, кто такое реализует, кроме коммунигейта.
Вот это похоже:
http://wiki2.dovecot.org/MailboxFormat/dbox

Andrey N. Oktyabrski

unread,
Aug 13, 2010, 1:56:48 AM8/13/10
to
On 08/12/10 11:05, Mykola Dzham wrote:
>> У меня dovecot индексирует содержимое Maildir'ов пользователей для
>> последующего ускорения поиска писем. Если в момент бэкапа пользователи
>> активно работают с почтой, то существует ненулевая вероятность что
>> индекс не будет соответствовать содержимому ящика пользователя. А
>> если пользователей много, то вероятность эта сильно ненулевая. И
>> не понятно как потом поведёт себя imap-сервер при работе с
>> восстановленными из бэкапа ящиками пользователей. Сталкивались ли
>> вы с этой проблемой?
>
> Maildir/Maildir++ не содержит каких-либо индексных файлов. Индекс,
> который создает dovecot, не является обязательным для работы самого же
> dovecot и не содержит никакой уникальной информации. Поэтому при
> восстановлении нужно просто удалить индекс. dovecot его перегенерирует.
Ещё лучше - просто не бэкапить индексные файлы.

Anton Yuzhaninov

unread,
Aug 16, 2010, 9:50:02 AM8/16/10
to
On Чтв, 12 Авг 2010 13:55:17, Alexey M. Kosorotov wrote:
>> Так что просто делать rsync на удаленный сервер.
>> Другое дело что быстро восстановинть при необходимости все равно не
>> получится. Перенос большого числа файликов требует много времени.
>> Если нужен быстрый backup/restore надо переходить на mailbox.
AMK> В смысле mbox?

Ага. Hо вариант тоже не идеальный (netch выше описал недостатки), так
что лучше что то среднее - например dbox когда его в dovecot-е доделают
до стабильного состояния.

--
WBR,
Anton Yuzhaninov

Vadim Goncharov

unread,
Aug 24, 2010, 6:56:08 AM8/24/10
to
Hi Valentin Nechayev!

On Thu, 12 Aug 2010 10:00:48 +0000 (UTC); Valentin Nechayev wrote about 'Re: backup dovecot Maildir':

AY>> Другое дело что быстро восстановинть при необходимости все равно не
AY>> получится. Перенос большого числа файликов требует много времени.
AY>> Если нужен быстрый backup/restore надо переходить на mailbox.

VN> Это палка о двух концах. Во-первых, mbox надо лочить при
VN> синхронизации. Устойчивый вариант моей бэкапилки ящиков в случае mbox
VN> оказался следующим:
VN> while(небо не упадёт на землю) {
VN> взять 20 наиболее давно бэкапленных ящиков
VN> залочить их
VN> вызвать rsync, запомнить его время работы -> t1
VN> разлочить ящики
VN> обновить таймстампы бэкапов по этим ящикам
VN> спать(t1)
VN> }
VN> Среднее время работы rsync оказалось в таком случае (через ssh) - 8
VN> секунд, вполне прилично, чтобы никто со стороны не заметил
VN> кратковременного лока.
VN> Во-вторых, стандартные проблемы mbox, из-за которых вообще придумали
VN> maildir, никуда не деваются. Оптимальнее всего в плане расхода времени
VN> и дисковых операций усреднённый вариант типа коллекции mbox'ов
VN> ограниченного размера (например, до 2MB, или до одного письма, если
VN> оно больше). Осталось найти, кто такое реализует, кроме коммунигейта.

Такое было, правда, не у серверов, а у клиентов, Опера до смены формата
почтобазы в 8 версии. Там было по одному mbox на месяц. Перешли на 1 письмо
в файле, что вынуждает для почты пользовать старую версию Оперы.

--
WBR, Vadim Goncharov. ICQ#166852181 mailto:vadim_n...@mail.ru
[Moderator of RU.ANTI-ECOLOGY][FreeBSD][http://antigreen.org][LJ:/nuclight]

0 new messages