Перенос MDaemon на другой сервер
Задача: Перенести почтовый сервер MDaemon на другой сервер без потери данных.
Я разделил эту задачу на 3 шага:
1 — Создаем backup
2 — Устанавливаем MDaemon
3 — Проверяем работоспособность
Исходные данные
Папка, где установлен MDaemon: E:\MDaemon
Папка, куда необходимо перенести MDaemon: D:\MDaemon
Имя нового сервера: sv-prod-01
Шаг 1
Т. к. почтой пользуются давно и плотно и количество переносимых файлов превышает 500 000 и за 30-60 минут такой объем не перенести никак, а почта должна работать в будние дни (выходных не хватило на перенос всех файлов) — было принято решение использовать утилу от Microsoft под названием robocopy (описание можно найти на technet.microsoft.com). Для тех, кто боится или брезгует командной строкой, есть Robocopy GUI.
В чем же плюсы и почему нельзя использовать обычное копирование файлов, может быть спросите вы. Ответ прост: данная утила является неким аналогом DFS-репликации, т. е. создает список файлов и копирует их. При повторном запуске копируются только изменные или новые файлы. Таким образом, сделав один раз копию папки, в последующие разы мы за 1-2 минуты добъемся полной идентичности двух папок (например, в субботу вечером).
Итак, запускаем командную строку под учетной записью доменного администратора (поясню ниже зачем) и выполняем
robocopy E:\MDaemon \\sv-prod-01\d$\MDaemon /E /Z /COPY:TDASO /M /R:2 /W:5 /MIR
Мы копируем содержимое папки с локального сервера (E:\MDaemon) на удаленный (D:\MDaemon), а учетная запись доменного администратора нам нужна для использования скрытой системной шары (\\sv-prod-01\d$) с параметрами:
/E - копировать вложенные папки, включая пустые
/Z - использовать журнал возобновления на случай потери сетевого соединения
/COPY:TDASO - T=метки времени, D=данные, A=аттрибуты, S=безопасность=списки контроля доступа NTFS, O=владелец (можно заменить на /COPYALL)
/M - копировать только файлы с атрибутом «Архивный» и сбросить его
/R:2 - пытаемся прочитать файл/папку 2 раза
/W:5 - интервал между попытками чтения файла/папки 5 сек
/MIR - удаляем из существующей копии все удаленные файлы/папки
Шаг 2
Дожидаемся нерабочего времени (например, вечер субботы), к которому все письму должны уйти/прийти, останавливаем MDaemon, выполняем команду robocopy из шага 1.
Очень желательно, что бы версии дистрибутивов MDaemon не сильно разнились (на старом сервере стоит 10.0.5, а на новый я ставлю 10.1.0 (лучше потом обновить до последней актуальной версии).
Перед установкой MDaemon необходимо в конфигурационных файлах сменить пути (было E:\MDaemon, а стало D:\MDaemon), для этого смотрим следующие файлы:
\MDaemon\app\cfilter.ini
\MDaemon\app\mdaemon.ini
\MDaemon\app\mdstats.ini
\MDaemon\app\autoresp.dat
\MDaemon\app\gateways.dat
\MDaemon\app\plugins.dat
\MDaemon\app\userlist.dat
\MDaemon\app\*.grp
\MDaemon\spamassassin\rules\local.cf
\MDaemon\WebAdmin\webadmin.ini
\MDaemon\WorldClient\domains.ini
\MDaemon\WorldClient\worldclient.ini
меняем в них E:\MDaemon на D:\MDaemon, а так же не забываем сменить IP адрес.
После этого можно смело начинать установку MDaemon на новом сервере в папку D:\MDaemon.
При использовании DNS сервера производим смену IP адреса в строке, например, mail.mydomain @ 192.168.0.3.
Шаг 3
Проверяем перенос настроек, учетных записей, писем и работоспособность перенесенного почтового сервера MDaemon.
Настройки сверяем через GUI, наличие учетных записей там же, наличие писем смотрим, например, во встроенном веб-интерфейсе WordClient, через него же, например, отправляем и получаем письма.
Если у вас нет своего ящика (не всегда системному администратору нужен корпоративный почтовый ящик), то через GUI в меню Учетные записи — Экспорт — Экспортировать учетные записи в текстовый файл, разделенный запятыми выгружаем все учетные записи и пароли и потом проверяем на любом из пользователей.
Итого: Мы научились создавать абсолютные копии папок при помощи утилы robocopy и переносить почтовый сервер MDaemon без потери данных.
——
Немного цифр
Перенос данных у меня занял порядка двух дней (со старого сервера на новый)
Изменение конфигов ~ 5 минут
Установка/активация MDaemon ~ 3 минуты
Проверка работоспособности и изменения в DNS и ISA ~ 20 минут (письма в интерфейсе mail.ru и google.com появились через 5 минут).