Доброго времени суток, господа и дамы.Нужно перенести POP3/IMAP сервер (Cyrus IMAP Server, под Gentoo) с одного сервера на другой (с физического на виртуальный).
Проще всего - остановить "старый" сервер, скопировать все ящики, запустить "новый" сервер.
Но все время переноса почта будет недоступна клиентам, и ящики будут недоступны для приема новой почты (механизм приема - по lmtp от Exim).
Нет ли какого-то способа, не останавливая "старый" Cyrus, параллельно запустить "новый" (с пустыми ящиками) и постепенно переносить ящики со "старого" Cyrus'а на "новый"? Понимаю, что звучит фантастически - но вдруг такое решение есть, а я о нем просто не знаю...
Или просто порекомендуйте вариант с минимальным временем недоступности почтовых ящиков для пользователей и для SMTP.
Я ведь не первый, кто такие "переезды" организовывает...
> Проще всего - остановить "старый" сервер, скопировать все ящики, запустить "новый" сервер.
> Но все время переноса почта будет недоступна клиентам, и ящики будут недоступны
> для приема новой почты (механизм приема - по lmtp от Exim).1)Копируй ящики, используя rsync.
Делаешь "первичное" копирование, не останавливая сервис на "старом".2) Настраиваешь туннель между старым и новым сервером, если они далеко друг от друга.
(Если они в одной сети то вообще не вижу проблем с переключением - тупо смена айпи).3) В час икс останавливаешь сервис на старом. делаешь финальную синхронизацию ящиков по rsync. Это относительно быстро - т.к. копироваться будет значительно меньший объем.
Пробрасываешь порты на новый сервер. Клиенты, которые будут стучаться на старый сервер, фактически попадут по туннелю на новый. Переписываешь адреса в DNS.
Даунтайм будет равен времени финального переноса и переключения/проброса портов.
> Я ведь не первый, кто такие "переезды" организовывает...http://wiki.nginx.org/ImapAuthenticateWithApachePhpScript
~~http://www.opennet.me/openforum/vsluhforumID1/91795.html#2
>> Я ведь не первый, кто такие "переезды" организовывает...Впрочем, да, rsync правильнее. У меня задача была другая: на одном ip _продолжительное время хостить pop3/smpt домен с двумя отдельными бэкендами.
> nginx.org/ImapAuthenticateWithApachePhpScript
> ~~/91795.html#2
Для таких переездов хорошо подходить imapsync. есть еще вроде imapcopy. Мне приходиолось пользоватся первым, переехал удачно, но в некоторых клиентах слетела сортировка по дате. Но это зависит уже от imap сервера.
> Для таких переездов хорошо подходить imapsync.+1, я так перенес не очень много, но зато довольно емких ящиков.
На днях переносил, с цируса на цирус, одновременно заполняя инбоксы пользовательскими письмами из theBat и из imap ящиков.Если еще актуально, могу по шагам отписать. В личку, или еще куда, чтобы не засираться тут.
p.s. http://blog.kitlinkor.ru/%D0%BF%D0%B5.../
Куча вопросов. С цируса на цирус? один сервер обслуживает 1 домен? Доступ к ДНС есть (mx записи править)? Короче много ньюансов, вкраце если, то создать ящики (cyradm), погасить старый сервер, сменить днс (есть smtp меняется, скорее всего), скопировать на новый письма (если с другого цируса то файлы в виде N.), права, владелец, reconstruct -f ...
> Куча вопросов. С цируса на цирус? один сервер обслуживает 1 домен? Доступ
> к ДНС есть (mx записи править)? Короче много ньюансов, вкраце если,
> то создать ящики (cyradm), погасить старый сервер, сменить днс (есть smtp
> меняется, скорее всего), скопировать на новый письма (если с другого цируса
> то файлы в виде N.), права, владелец, reconstruct -f ...С цируса на цирус.
Количество обслуживаемых доменов несущественно, также как и доступ к ДНС, т.к. mx менять незачем (речь о переносе POP3/IMAP, а не SMTP).
При работающем старом сервере спокойно копируем ящики при помощи rsync (с переносом прав и владельца), переносим конфиги, запускаем новый сервер под временным IP и проверяем работоспособность.
После того, как все проверено и все готово - еще раз rsync (при работающем старом и неработающем новом).
И только тогда останавливаем старый, отдаем новому серверу IP старого (или меняем IP у доменных имен pop3.domain/imap.domain - кому как больше нравится), еще раз rsync (должен отработать быстро, т.к. изменений будет мало), и запускаем новый сервер уже в production.