OS Upgrade#
The procedure must be carried out on each Node, starting from the one on which the Directory Server Component is installed, and it will require to reboot the Node and therefore a downtime of the Carbonio infrastructure must be planned. Please read carefully the whole section before starting the upgrade.
With the upgrade of the operating system to Ubuntu 24.04 or RHEL 9, some Carbonio services previously managed by zmcontrol are now handled directly by systemd. This transition requires manual re-enabling of certain services after the OS upgrade and affects Phase 3 below.
Refer to the Systemd Integration Overview for background information.
The procedure is divided into phases:
upgrade PostgreSQL from 12 to 16 (you can skip it if you already upgraded)
manual upgrade Carbonio to 25.6.0
-
upgrade Ubuntu LTS to 22.04 (Jammy Jellifish) or 24.04 (Noble Numbat), or RHEL 8 to RHEL 9
Warning
This release, 25.06.0, does no longer support Ubuntu 20.04 LTS, which went EOL in May 2025, so you are strongly recommended to upgrade to Ubuntu 22.04 LTS or to Ubuntu 24.04 LTS.
upgrade Carbonio's packages to match the correct repository
complete the upgrade procedure
Phase 1#
If you have not yet upgraded to Postgres 16, do so before upgrading the operating system. Directions to upgrade PostgreSQL can be found in Section Upgrade to PostgreSQL 16.
Phase 2#
This phase is the same as a normal upgrade, so please refer to Section Manual From Previous Version.
Phase 3#
This phase requires to upgrade the operating system. The following scenarios are supported:
Ubuntu 20.04 LTS to 22.04 LTS: refer to the Ubuntu upgrade documentation
Ubuntu 22.04 LTS to 24.04 LTS: refer to the Ubuntu upgrade documentation
RHEL 8 to RHEL 9 Red Hat: refer to the RHEL upgrade documentation
Important notes:
Ubuntu 20.04 LTS in no longer supported: Carbonio will not work if upgraded to 25.6.0 on Ubuntu 20.04
A direct upgrade from Ubuntu 20.04 LTS to 22.04 LTS in not supported: you must upgrade to 22.04 LTS first, then to 24.04
If you upgrade to Ubuntu 22 and use the Carbonio Monitoring Component, please make sure to change the Grafana repository.
Before The OS Upgrade#
-
On each Node of your Carbonio infrastructure:
Switch to the zextras user (if not already):
# su - zextras
-
Run the following command:
zextras$ zmcontrol status
Take note of the services listed as
Running
. These will guide which services need to be re-enabled post-upgrade.
After The OS Upgrade#
Once the OS upgrade to Ubuntu 24.04 or Red Hat 9 is complete:
Log in as root on each node.
For services identified earlier, use the corresponding command below to enable and start it using systemd.
Target Name |
Services Included |
---|---|
zmcontrol Service |
systemd Target Command |
directory-server |
systemctl enable –now carbonio-directory-server.target |
mta |
systemctl enable –now carbonio-mta.target |
proxy |
systemctl enable –now carbonio-proxy.target |
mailbox |
systemctl enable –now carbonio-appserver.target |
Note
Only the services listed above require to be manually enabled after the OS upgrade.
The other services shown in the zmcontrol status
output (e.g.,
service webapp, service-discover, memcached, stats, config service
etc.) will start automatically. You do not need to manually enable
them.
In the following example, node03 runs both the mta and proxy services.
Before the OS Upgrade
zextras$ zmcontrol status
Host node03.example.com
...
mta Running
...
proxy Running
After the OS Upgrade
Run the following as the root
user:
# systemctl enable --now carbonio-mta.target
# systemctl enable --now carbonio-proxy.target
Repeat the process for each Node and each relevant service.
Final Notes#
These actions are mandatory to ensure the Carbonio components start correctly on boot in the new OS.
The zmcontrol utility will still report service status, but it no longer manages service startup on Ubuntu 24.04 and Red Hat 9.
-
Verify the status of any service after enablement using:
# systemctl status <target>
Phase 4#
Once you successfully carried out the first three phases, you can proceed to update the Carbonio packages to match the distribution. This phase requires some manual command to be executed.
During the Ubuntu upgrade, the file
/etc/apt/sources.list.d/zextras.list
will be
modified. You need to make sure that it contains only the
correct repository, that is, the line defining the repository
contains the word jammy (for Ubuntu 22.04) or noble
is not commented, i.e., it does not start with a
#
sign
During the RHEL upgrade, the file
/etc/yum.repos.d/zextras.repo
will be modified. You need
to make sure that it contains only the correct repository, that
is, the line defining the repository is:
baseurl=https://repo.zextras.io/release/rhel9
Then update the package list, and the packages themselves with these commands
# apt update && apt dist-upgrade
# dnf upgrade –best –allowerasing
Phase 5#
After completing the installation you need to update also the ubuntu repositories with the new version.
-
Before changing anything, back up your current APT sources:
zextras$ sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
-
Update sources.list entries from focal to jammy, Open with your text editor:
zextras$ sudo nano /etc/apt/sources.list
-
Then replace all instances of:
focal
with
jammy
If you have third-party PPAs, you may also want to check files under file:/etc/apt/sources.list.d/
Some of them may not yet support Jammy — they may need to be disabled temporarily or updated manually.
Finally, reboot the Node.
# reboot