Upgrade from single server to multiserver Zimbra implementation
Upgrading from a Single server Zimbra to a Multi server Zimbra Implementation
A small scale test/pilot was implemented using a RHEL 5 Zen Virtual machine. This Zimbra implementation was a single host implementation, it included logger and proxy. Some of the early test users needed to be easily moved to a new production platform and all of the Zimbra components need to be implemented on a larger scale hardware platform. The single server implementation needs to be “grown” to a multi server platform, the original server needs to be decommissioned. Service needs to be continued without any prolonged outage during the process.
Step one is to create a LDAP replica and make that LDAP server into the master. These LDAP tasks were pretty well covered in other Wikis. This two phase process was done by creating a LDAP replica (ref: http://www.zimbra.com/docs/ne/latest/multi_server_install/LDAP%20Replication.6.1.html ) and then promoting the new replica to the ldap master (ref: http://wiki.zimbra.com/index.php?title=Promoting_Replica_to_LDAP_Master ). To disable the original ldap AFTER the new ldap was a reliable master, a zmprov command was used to remove the single servers' ldap server task. That is:
zmprov ms zimbra.single.server.host.name -- -zimbraServiceEnabled ldap
Do this after you have confirmed a reliable/complete ldap replica on the new ldap server and then carefully changed that new server to the master ldap. I experienced a problem changing the original ldap server to a replica (from it's master role) so removing the ldap function from the original server was a practical approach that matched the overall objective of moving every thing off of the original server.
Now your network has two servers, the original single server and a new ldap server on your production platform.
Next we wanted to implement a logger server on it's own server platform, we did not intend to use the logger server for hosting mailboxes. Even though this server was not to be used as a Zimbra Store, Zimbra Store needed to be installed. We installed the server with logger, snmp, store, apache, proxy. (new clean install - not an add of store to an existing logger stand alone attempt!).
After the log server install you should be able to bring the administrator's web site on the new system. You should also be able to access the logger database on the new log server. Reference http://wiki.zimbra.com/index.php?title=Logger and http://www.zimbra.com/docs/ne/latest/administration_guide/9_Monitoring.12.1.html .Use the three steps under the section Multi-node Installations in the logger wiki and the syslog restart in the Administration Guide/9 Monitoring. In addition make certain your firewall settings on your new logger will allow the other servers to send their logs to the new server, for us the iptables entry looked like:
-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 514 -s x.x.x.x/24 -j ACCEPT
Where x.x.x.x/24 defined the network where the other Zimbra servers were to be implemented.
After I followed the above instruction I noticed:
1. syslog on the logger was running with a -r (after syslog restart)
syslogd -r -m 0
2. Each of the servers had the new log server configuration in their /etc/syslog.conf contained entries like:
3. I did a tail -f of /var/log/zimbra.log and saw other servers' log activities
You now have an administrator's URL on the new logger server - https://zm-log.xxx.com:7071
Next I used the administrator's user interface to “uncheck” the logger service on the original single server host.
So at this point we have three servers in our network, next we add an additional ldap, and additional mta (or two) and our production clustered Zimbra store. After all the other servers are implemented, tested and the users are migrated to the new Zimbra store the original test environment will be removed.
--Jerry Pyne 05:36, 30 May 2008 (PDT)