Я пытаюсь обновить Cyrus IMAP-сервер с 2.2.12 до 2.4.12 / 13.
Знаю, я ищу хорошее руководство, чтобы сделать это, так как моя текущая версия - это старый выпуск. Думаю, это будет не просто обновление версии или установка новой и импорт конфигурации, я ошибаюсь? Я предполагаю, что мне нужно будет перенести информацию из базы данных, но не знаю, как это сделать.
Наш основной и уникальный сервер Cyrus управляет более чем 10000 пользователями и их почтовыми ящиками. В новой миграции мы хотим разделить этот главный сервер на меньшие серверы, чтобы разделить почтовые ящики по клиентам. Как мне экспортировать всего несколько почтовых ящиков из Cyrus 2.2.12? Я хочу выборочно экспортировать почтовые ящики.
Я нашел инструменты "Mailsync", но не похоже, что они могут быть избирательными с почтовым ящиком. Есть ли способ правильно перейти на новую версию Cyrus?
(Около восьми лет назад я перенес более 50 000 учетных записей пользователей со старого почтового сервера (работающего под управлением uw-imapd) на новую «ферму» серверов, состоящую из трех серверов и работающую под управлением Cyrus. В то время я использовал свои навыки l337 Perl для создания сценарий миграции, который будет входить в систему на старый сервер и копировать почту на новый сервер через IMAP по одной учетной записи за раз. Сервер OpenLDAP + Perdition
стоял перед этим, решая, куда следует перенаправить пользователя (на старый сервер или на новый сервер). Операция была проведена в режиме онлайн без простоев. Это не по теме, поэтому я продолжу свой ответ.)
Предупреждение: работа, которую вы собираетесь выполнить, может быть немного утомительной, и набрать достаточно короткий ответ для вас тоже непросто. :-) Вот несколько моментов, которые вам следует учесть.
У тебя есть дела. Само обновление Cyrus не так уж и невозможно, но разделение пользователей с одного сервера на несколько серверов одновременно требует планирования. Просто скопировать все со старого сервера на новый не получится, поскольку формат BerkeleyDB / skiplist был изменен посередине, а старые файлы данных нельзя использовать сразу после установки.
Когда дело доходит до списка пользователей / почтовых ящиков, лучше использовать ctl_mboxlist -d
переключитесь, чтобы выгрузить информацию о пользователе / почтовом ящике на старом сервере в текстовый файл, а затем ctl_mboxlist -u
чтобы загрузить содержимое на новый сервер. Это тот случай, если вы только обновили Cyrus и в то же время перешли на более мощный, но единственный сервер. Почтовые ящики можно скопировать с помощью rsync
, с последующим reconstruct -rfx user/*
команда в Кире.
Если вы хотите сделать разделение одновременно, вы можете попробовать, если xfermailbox
командовать в cyradm
в настоящее время фактически позволяет перемещать почтовые ящики с одного сервера на другой. Если это так, вы можете просто создать скрипт, который вызывает xfermailbox
10 000 раз и перемещает ваши учетные записи пользователей куда угодно.
Еще один совет: вам, вероятно, понадобится reconstruct -rfx user/someaccount
, если вы обнаружите, что после миграции какой-либо пользователь не может найти почтовые папки / письма.
До этого все в порядке, но учли ли вы следующее:
Perdition
или Cyrus Murder
позаботились о перенаправлении логинов POP / IMAP на правильный почтовый сервер?mailboxes.db
и т. д. BerkeleyDB без хорошо настроенной DB_CONFIG
может легко снизить производительность и / или привести к тупикам. Skiplist более спокойный. Также реализация POP3 в Cyrus очень требовательна к энтропии, и если ваш сервер не имеет аппаратного генератора случайных чисел, вход в систему может быть ОЧЕНЬ медленным без rngd
демон, или Cyrus настроен на использование /dev/urandom
вместо того /dev/random
на случайность.Надеюсь, это вам немного поможет.
Вы дали мне хороший ключ к пониманию.
В любом случае я отвечу на идеи, которые следует рассмотреть:
В любом случае, я точно знаю, что я делаю схему того, что мы должны делать для успешного выполнения или миграции, поэтому я не могу попробовать команды, которые вы мне предоставляете.
Я вернусь, когда проверю их.
Большое спасибо!