Ключевые слова:mail, (найти похожие документы)
From: Григорий Соловьев <greg@zimbra.com.>
Newsgroups: email
Date: Mon, 25 Oct 2007 14:31:37 +0000 (UTC)
Subject: Переносим Zimbra (Open Source Edition) с одной машины на другую
С подобной проблемой, когда почтовый сервер нужно срочно перенести на
новую машину, сталкивался каждый админ, будь то Zimbra, Exchange или
Lotus Notes. Как правило, это связано с тем, что переполнен или барахлит
диск, не хватает оперативной памяти или просто процессор не тянет. Когда
подобная проблема становится актуальной, у меня лично заранее начинает
болеть голова в ожидании бессонной субботней ночи. С Zimbra все намного
проще, даже с бесплатной версией. Итак, начнем.
Часть первая - приготовление нового сервера
Наша задача на этом этапе в том, чтобы все нужные rpm/dpkg базы были
правильно настроены. ВАЖНО: не пытайтесь заапгрейдить Zimbra и
перенести сервер одновременно. Если хотите сделать апгрейд Zimbra, то
сделайте его до или после перехода на новую машину! Также важно, чтобы
ОС на новой машине была такая же, что и на старой. Не пытайтесь
перенести сервер с CentOS на Ubuntu или наоборот! Впрочем, не ручаюсь за
то, что это не получится... можете попробовать... Апгрейд самой ОС -
другое дело. Перенос сервера с RHEL 4 на RHEL 5 или с CentOS 4 на CentOS
5 не должен вызвать никаких проблем. Единственное, что нужно учесть, это
то, что если перенос Zimbra сопряжен с апгрейдом ОС, то важно , чтобы на
новый сервер вы установили ту версию Zimbra, которая предназначена для
вашей НОВОЙ ОС.
Итак, скачиваем ту же версию Zimbra которая установлена на старом
сервере, и на новом сервере запускаем инсталлятор с опцией -s
root@mail.myserver.ru$ ./install.sh -s
Опция -s говорит инсталлятору, что нужно только установить софт, но не
нужно конфигурировать систему. Проверяем совпадает ли UID/GID
пользователя zimbra на новом сервере с UID/GID пользователя zimbra на
старом сервере. Если нет, то исправляем их на новом сервере. После того,
как Zimbra установлена и UID/GID пользователя исправлены, удаляем
/opt/zimbra
root@mail.myserver.ru$ .rm -rf /opt/zimbra
Теперь отключаем новый сервер от сети (нет, не штепсель из розетки :) и
ставим те же сетевые настройки, что и на старом сервере. ВНИМАНИЕ: не
удаляйте инсталляционный пакет Zimbra с нового сервера на этом шаге, он
нам еще понадобится!
Часть Вторая - Резервное копирование
В Zimbra Network Edition (коммерческая лицензия) есть специальная
утилита для резервного копирования zmbackup. Хотя использовать эту
утилиту в данном случае было бы проще всего, мы обойдемся без нее, чтобы
не обижать большинство админов, у которых установлена бесплатная версия.
Берем внешний диск и монтируем его, например на /mnt/migration. Копируем
/opt/zimbra (rsync) в /mnt/migration. Перед тем, как делать rsync
желательно отключить всех активных пользователей, чтобы не потерять
новую почту, которая придет во время переноса данных, проще всего,
остановить сервер (/opt/zimbra/bin/zmcontrol stop) и отключить его от
сети. После того, как rsync закончен, у нас есть полная копия всех
данных. Как говорится, если у вас паранойя, то это не значит, что за
вами следят, поэтому "на всякий пожарный", копируем (опять же
rsync) все данные еще на один диск, который будет запасным и прячем его :)
Часть третья - перенос данных на новый сервер
На этом этапе старый сервер должен быть отключен от сети, и мы
подсоединяем к сети новый сервер. Подсоединяем и монтируем внешний диск,
на который мы скопировали данные, к новому серверу. После этого,
копируем все данные с диска на новый сервер
root@mail.myserver.ru$ rsync -avr /mnt/migration/zimbra /opt
когда данные скопировались, размонтируем и отсоединяем внешний диск.
Финал - запускаем новый сервер
На этом этапе все данные на месте. Осталось исправить права доступа и
еще раз запустить инсталлятор. Чтобы исправить права, зайдите в
/opt/zimbra/libexec/ и запустите zmfixperms.
root@mail.myserver.ru$ ./zmfixperms
После этого повторно запустите инесталлятор Zimbra. Инсталлятор
определит, что Zimbra уже установлена и спросит, хотите ли вы
заапгрейдить систему, ответьте "Yes".
Вобщем, самый длительный шаг во всем процессе - копирование данных. В
остальном, все пройдет довольно быстро.