Pre-Upgrade Steps

Pre-Upgrade Steps

   KB 20722        Last updated on 07/11/2015  

(0 votes)
Article-check.png  - This is certified documentation and is protected for editing by Zimbra Employees & Moderators only.
 - This article is a Work in Progress, and may be unfinished or missing sections.

Before upgrading your Zimbra platform, we would strongly recommend the following pre-upgrade steps:


Always read (in full) the Release Notes for the version to which you are upgrading. The Release Notes are available for every release:


Always always always test the upgrade first in a test lab and/or VM. This means using the same versions as your production versions, including any customizations or other modifications you have, and then running the upgrade to the same target version. Even better is to snap or clone your production system(s) into the Test Lab for doing a full upgrade test that mirrors production. Major Upgrades (e.g., ZCS7 to ZCS8) do often make changes to schema and tables that can vary based on database variations.

Check your database integrity

$ /opt/zimbra/libexec/zmdbintegrityreport -v

Backup your system

There are multiple ways to perform backups. Since upgrading permanently alters your system, it is mandatory to backup your system before you upgrade. The only recovery from a failed upgrade may be to restore from backups:

zmbackup your entire system

Note: this may take multiple hours, be sure to plan in advance:

$ zmbackup -f

Backup your LDAP data

LDAP Main database:

$ /opt/zimbra/libexec/zmslapcat /var/tmp

LDAP Config database:

$ /opt/zimbra/libexec/zmslapcat -c /tmp

LDAP Accesslog database (on LDAP Master only):

$ /opt/zimbra/libexec/zmslapcat -a /tmp

Backup your MySQL data

# su - zimbra
$ source ~/bin/zmshutil
$ zmsetvars

If using binary logging, the dump is run like the following:

$ /opt/zimbra/mysql/bin/mysqldump --user=root --password=$mysql_root_password --socket=$mysql_socket \
 --all-databases --single-transaction --master-data --flush-logs > {dump-file}.sql

If not using binary logging, the dump is run like the following:

$ /opt/zimbra/mysql/bin/mysqldump --user=root --password=$mysql_root_password --socket=$mysql_socket \
 --all-databases --single-transaction --flush-logs > {dump-file}.sql

Snapshot Your Data

If using a hypervisor or storage that can perform snapshots, it is a great idea to take a snapshot immediately prior to your upgrade. In the case of a critical problem, this may be the DR recovery method that saves you significant time and effort.

If using vSphere/ESXi, be sure to merge your snapshots back into main after the successful upgrade, because snapshots left around can consume significant data volume.

Confirm that your SSL certs are all valid and not-expired

# /opt/zimbra/bin/zmcertmgr viewdeployedcrt all


If any of the above steps fail in any way, DO NOT UPGRADE. They must all succeed before you continue.

Verified Against: ZCS 8.0 ZCS 7.0 Date Created: 01/15/2014
Article ID: Date Modified: 07/11/2015

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