Optimizing 5.0 to 6.0 LDAP upgrade
LDAP customization
Install software only
#Install 6.0 software only, don't upgrade yet ./install.sh -s
Pre-upgrade tuning
When upgrading from ZCS 5.0.x to ZCS 6.0.x, the LDAP database is exported and then re-imported as the OpenLDAP and underlying database software have changed versions, requiring that this be done. It is possible to optimize this process by increasing the resources available to OpenLDAP to perform this task before starting the upgrade. The primary way of doing this is to increase the number of threads slapadd can have available to it for indexing while importing the new database. To modify the default value from 1 to the number of real cores on your server, do the following. This example assumes you have 8 real cores available (4 dual core cpus, for example):
# When this finishes, we want to update the olcToolThreads value cd /opt/zimbra/openldap/etc/openldap/config # Edit cn=config.ldif, and replace the value for olcToolThreads olcToolThreads: 8
You will also want to ensure you have a correctly customized DB_CONFIG file. It is advised to have this configured pre-upgrade. This is documented at Managing_Customized_BDB_configurations
If you have a particularly large database, you will also want to pre-set the cachesize values so that when slapd starts up, it'll be able to function well. In this example, we'll update for a database with 500,000 entries.
# When this finishes, we want to update the various cachesize values cd /opt/zimbra/openldap/etc/openldap/config/cn\=config # Edit olcDatabase\=\{2\}hdb.ldif olcDbCacheSize: 500000 olcDbIDLcacheSize: 500000 olcDbCacheFree: 1000 olcDbDNcacheSize: 1000000
Extra schema migration
If you have used additional schema outside of the schema shipped with ZCS, please see Installing_custom_ldap_schema_6.0. You will need to install these schema prior to running the upgrade.
Start the upgrade
After you are complete, as root run:
/opt/zimbra/libexec/zmsetup.pl
to start the upgrade.