Optimizing 5.0 to 6.0 LDAP upgrade

Revision as of 00:58, 11 July 2015 by Jorge de la Cruz (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Optimizing Zimbra Collaboration 5.0 to 6.0 - LDAP upgrade

   KB 2835        Last updated on 2015-07-11  

(0 votes)

LDAP customization

Install software only

To start, we need to have the 6.0 software installed. As root, run:

#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: 0

We set olcDbDNcacheSize to 0 so that it will be unlimited (2.3 default behavior). It is not advised to limit the DN cachesize.

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.

Note: the directory /opt/zimbra/data/ldap/config/cn\=config/cn\=schema does not exist at this stage, so create it (as zimbra user) and follow the above instructions. It will get populated with the core files after you run zmsetup.pl

Extra indices

If you have added additional indices to the basic slapd configuration (for example, configuring NIS or samba), you'll need to put those in place before running the upgrade as well. For example, to add the NIS indexing and samba indexing pieces, we would do this:

# Add additional indices
cd /opt/zimbra/openldap/etc/openldap/config/cn\=config
# Edit olcDatabase\=\{2\}hdb.ldif
# Find the olcDbIndex section, and then append to it.
olcDbIndex: uidNumber eq
olcDbIndex: gidNumber eq
olcDbIndex: memberUID eq
olcDbIndex: sambaSID eq
olcDbIndex: sambaPrimaryGroupSID eq
olcDbIndex: sambaDomainName eq

Update DB_CONFIG.custom

For 6.0.2 and later:
If you have created a DB_CONFIG.custom file, you will need to copy it to /opt/zimbra/conf/custom/ldap/DB_CONFIG
If you have created a DB_CONFIG.accesslog.custom file, you will need to copy it to /opt/zimbra/conf/custom/ldap/DB_CONFIG.accesslog

For 6.0.1 and prior:
If you have created a DB_CONFIG.custom file, you will need to copy it to /opt/zimbra/openldap/var/openldap-data/
If you have created a DB_CONFIG.accesslog.custom file, you will need to copy it to /opt/zimbra/openldap/var/openldap-data/

This is due to DB_CONFIG.custom not preserved across OpenLDAP upgrades

Start the upgrade

After you are complete, as root run:


to start the upgrade.

Verified Against: Zimbra Collaboration Suite 6.0 Date Created: 4/14/2009
Article ID: https://wiki.zimbra.com/index.php?title=Optimizing_5.0_to_6.0_LDAP_upgrade Date Modified: 2015-07-11

Try Zimbra

Try Zimbra Collaboration with a 60-day free trial.
Get it now »

Want to get involved?

You can contribute in the Community, Wiki, Code, or development of Zimlets.
Find out more. »

Looking for a Video?

Visit our YouTube channel to get the latest webinars, technology news, product overviews, and so much more.
Go to the YouTube channel »

Jump to: navigation, search