И так давно используем Zimbra CS и вот сервер начал гнать и нужно было, что-то решать. Было принято решение, что мы перейдем на Zimbra CS 8 и будем это дело поднимать на CentOS 6.
Первое, что нам нужно будет сделать поднять сервер с CentOS 6 и установить такую же версию Zimbra CS 7, что и на исходном сервере. После установки Zimbra CS 7 на сервер с CentOS 6 (будем называть его slave) нужно выполнить следующие действия для миграции.
$ — zimbra
# — root
1) Делаем backup LDAP
$:/opt/zimbra/libexec/zmslapcat -c /opt/zimbra/backup
$: /opt/zimbra/libexec/zmslapcat /opt/zimbra/backup
2) Бэкапим localconfig.xml
$: cp /opt/zimbra/conf/localconfig.xml /opt/zimbra/backup
3) Меняем IP на сервере с Дебиан 5 (master), можно сделать это пока в interfaces
Теперь нам необходимо подготовить slave
1) Добавляем запись /etc/hosts
192.168.165.10 myinbox.ru mx.myinbox.ru
2) Скачиваем такую версию Zimbra CS 7, что и на мастере и ставим и настраиваем её — это не сложно
3) Останавливаем Zimbra
$: zmcontrol stop
$: rm -rf /opt/zimbra/data/ldap/config/*
$: rm -rf /opt/zimbra/data/ldap/hdb/*
$: mkdir -p /opt/zimbra/data/ldap/hdb/db /opt/zimbra/data/ldap/hdb/logs
#: chown -R zimbra:zimbra /opt/zimbra/data/ldap
4) Копируем данные с master на slave
# scp /opt/zimbra/data/ldap/hdb/db/DB_CONFIG slave:/opt/zimbra/data/ldap/hdb/db/
# scp /backup/ldap.bak slave:/opt/zimbra/backup
# scp /backup/ldap-config.bak slave:/opt/zimbra/backup
5) На slave
# chown -R zimbra:zimbra /backup/
6) Импортируем данные
$: /opt/zimbra/openldap/sbin/slapadd -q -n 0 -F /opt/zimbra/data/ldap/config -cv -l /opt/zimbra/backup/ldap-config.bak
$: /opt/zimbra/openldap/sbin/slapadd -q -b «» -F /opt/zimbra/data/ldap/config -cv -l /opt/zimbra/backup/ldap.bak
7) Копируем конфиг
# scp /opt/zimbra/backup/localconfig.xml slave:/opt/zimbra/backup
8) Делаем копию конфига на slave
$: cp /opt/zimbra/conf/localconfig.xml /opt/zimbra/conf/localconfig.xml.orig
9) Редактируем /opt/zimbra/conf/localconfig.xml на slave. данные нужно брать из конфига с master
Основные поля для редактирования
a. zimbra_mysql_password
b. mysql_root_password
c. zimbra_logger_mysql_password (Перенести это значение если оно есть в конфиге на master)
d. mailboxd_keystore_password (Перенести это значение если оно есть в конфиге на master)
e. mailboxd_truststore_password
f. mailboxd_keystore_base_password
g. zimbra_ldap_password
h. ldap_root_password
i. ldap_postfix_password
j. ldap_amavis_password
k. ldap_nginx_password
l. ldap_replication_password
10) Удаляем данные на slave
$: rm -rf /opt/zimbra/db/data/*
11) Копируем данные с master
# scp -r /opt/zimbra/db/data/* mail:/opt/zimbra/db/data/
12) Копируем сообщения и index с master
# scp -r /opt/zimbra/store/* mail:/opt/zimbra/store/
# scp -r /opt/zimbra/index/* mail:/opt/zimbra/index/
13) Копируем keystore с master
# scp /opt/zimbra/mailboxd/etc/keystore mail:/opt/zimbra/mailboxd/etc/keystore
14) Меняем пароль на keystore
получение пароля
$: zmlocalconfig -s mailboxd_keystore_password
назначение паролья
$: zimbra@mail:~$ zmlocalconfig -e mailboxd_keystore_password=пароль из пред. шага
15) Фиксим права
# chown -R zimbra.zimbra /opt/zimbra
# /opt/zimbra/libexec/zmfixperms
16) Запускамся
$: zmcontrol start
Все должно пройти на ура. Теперь нам нужно обновиться. Качаем подледную версию ZCS 8 для CentOS 6 и ставим её.