同时升级 Zimbra 和操作系统

同时升级 Zimbra 和操作系统

最近,我在升级 Zimbra 的同时升级操作系统时遇到了一些问题。更具体地说:我想将 Zimbra 开源版本从 8.0.5 升级到 8.6,同时将 Ubuntu Server 从 12.04 升级到 14.04。我遇到的问题是,我无法让它工作,Zimbra 抛出了很多与 Perl 相关的异常,而且由于 Zimbra 论坛不太方便交流,我不得不重新回滚到我的备份,以便在周末后再次正常运行。那么正确的流程是什么?

答案1

我花了两天时间才让这一切正常运转,并由于升级问题进行了多次恢复,我觉得有必要做出回应。

在我的情况下,这是 Ubuntu 12 (Zimbra 8.6) -> Ubuntu 16 (Zimbra 8.8) 的更新。遗憾的是,Zimbra 网站 ( /opt/zimbra/conf/localconfig.xml) 上的说明以及 OP 的帖子在 zimbra 的生产版本上执行任务后导致以下 LDAP 错误./install -s

ldap_url 和 ldap_master_url 在 ldap 副本上不能相同

因此,对我有用的方法是执行 Labsy 的建议,该建议在 期间执行do-release-upgrade。为了给其他可能感到困惑的人添加一些深入的信息,您将在 Ubuntu 操作系统升级过程中收到以下消息

Updating repository information

Third party sources disabled 

Some third party entries in your sources.list were disabled. You can 
re-enable them after the upgrade with the 'software-properties' tool 
or your package manager. 

此时,打开到服务器的 SSH 会话,并编辑文件并从行首/etc/apt/sources.list.d/zimbra.list删除,以便 zimbra 包将作为升级过程的一部分进行更新。#

正常进行操作系统升级,并同意所有默认消息。操作系统升级完成后,您可以重新启动服务器。如果 Zimbra 服务在启动过程中启动,则表明一切顺利。

这样,您根本不需要运行./install -s新的操作系统。

对于因以下信息而来到这里的人,ldap_url 和 ldap_master_url 在 ldap 副本上不能相同,您收到错误的原因是因为./install -s删除了 中存储的 LDAP 配置/opt/zimbra/conf/localconfig.xml。如果您没有此文件的备份,则必须从备份/快照中恢复并从头开始升级过程。

答案2

我在 Zimbra 网站上找到了一份指南,还不错,但缺少了一些部分(https://wiki.zimbra.com/wiki/Ubuntu_Upgrades)。我最终弄明白了,但我觉得有必要写下来,以供我和其他人将来参考。就我而言,我使用的是安装有 Zimbra 开源版的单服务器,其中一些可能不适用于其他实例。

一般内容

1.使用虚拟机和 LVM 卷

最佳做法通常是在虚拟机上安装 Zimbra,并使用 LVM 或其他支持快照的技术。这样,您就可以创建快照,如果出现任何问题,只需回滚到快照即可。

快照不仅可用于在更新/升级出现问题时拥有​​额外且易于使用的回退点,还可以提供更简单的备份:

  1. 停止 Zimbra 服务
  2. 创建快照卷
  3. 在主机上挂载快照
  4. 备份数据
  5. 卸载快照
  6. 删除快照

注意:快照应该作为备份的补充,而不是替代备份。

2. 备份

对整个 /opt/zimbra 文件夹进行完整备份,并始终保留一份适用于您使用的版本和操作系统的 Zimbra 安装程序副本。如果您的服务器崩溃,您可以使用该文件夹和安装程序恢复整个 Zimbra 安装。

3. 保持安装最新

您不必一直使用最新版本(尽管这是一个好主意),但至少您应该确保您的操作系统和 Zimbra 安装在其支持期限内。

4. 使用屏幕

如果您通过 SSH 管理服务器,请确保使用 screen 进行所有升级。万一您的连接中断,它不会毁了您的一天(如果终端会话关闭,它会终止所有正在运行的命令)。使用 screen,您只需使用 即可恢复中断的会话screen -r

升级

接下来是棘手的部分。就我而言,我搞砸了,开始将 Ubuntu 12.04 升级到 Ubuntu 14.04。然后我尝试在当前的 8.0.5 上安装 Zimbra 8.6,但由于我过于自大而忽略了版本检查,安装失败了。

诀窍是你必须安装精确的升级后的操作系统上的 Zimbra 版本与旧操作系统上的版本相同。就我而言,甚至没有适用于 Ubuntu 14.04 的安装程序,因此基本上我只能回滚到我的快照并重新开始。

在此示例中,我使用了我的配置。再说一遍:我想从 Ubuntu 12.04 升级到 14.04,从 Zimbra 8.0.5 升级到 8.6。

1. 确保新旧操作系统使用相同的 Zimbra 版本

就我而言,Ubuntu 14.04 上没有 Zimbra 8.0.5 的安装程序,但 Ubuntu 12.04 有 8.6 的安装程序。无论你先升级 Zimbra 还是操作系统,都无关紧要,但在新旧操作系统上安装相同的 Zimbra 版本并不重要。在新操作系统上安装旧 Zimbra 版本后,您可以升级,但不能同时升级您的操作系统和 Zimbra。

2. 在 Ubuntu 12.04 上升级到 Zimbra 8.6

只需下载 8.6 档案,解压并安装。您不必先停止 zimbra,安装程序会自动停止。

screen
wget https://files.zimbra.com/downloads/8.6.0_GA/zcs-8.6.0_GA_1153.UBUNTU12_64.20141215195814.tgz
tar xzf zcs-8.6.0_GA_1153.UBUNTU12_64.20141215195814.tgz
cd zcs-8.6.0_GA_1153.UBUNTU12_64.20141215195814
sudo ./install.sh

按照说明操作。如果要求您进行完整性检查,您不必这样做,但这样做是个好主意。这可能需要一段时间,但可以确保您的数据库完好无损。安装后,验证一切是否正常。

3. 将 Ubuntu 从 12.04 升级到 14.04

在开始升级之前停止 zimbra,并确保所有服务都已停止。

su - zimbra
zmcontrol stop
zmcontrol status
exit

更新并升级,然后开始发布升级:

sudo apt-get update
sudo apt-get ugprade
sudo do-release-upgrade

在升级过程中,Ubuntu 会多次询问您是否要保留当前配置。总是总是总是这样做,也就是选择默认答案 (N)

Configuration file `/etc/security/limits.conf’
    ==> Modified (by you or by a script) since installation.
    ==> Package distributor has shipped an updated version.
    What would you like to do about it ?  Your options are:
    Y or I  : install the package maintainer’s version
    N or O  : keep your currently-installed version
    D     : show the differences between the versions
    Z     : start a shell to examine the situation
    The default action is to keep your current version.
    *** limits.conf (Y/I/N/O/D/Z) [default=N] ? 

删除旧包时也是如此,暂时保留它们。 升级完成后,重新启动。

4. Ubuntu 升级后

Zimbra 现在无法工作,不要惊慌。这是因为您使用的是适用于 Ubuntu 12.04 的 Zimbra 8.6,它不适用于 Ubuntu 14.04。如果您现在还没有下载,请下载相同的您在旧系统上使用的 Zimbra 版本(在本例中为 8.6),但这次是新版本:

wget https://files.zimbra.com/downloads/8.6.0_GA/zcs-8.6.0_GA_1153.UBUNTU14_64.20141215151116.tgz
tar xzf zcs-8.6.0_GA_1153.UBUNTU14_64.20141215151116.tgz

5. 为 Ubuntu 14.04 安装 Zimbra 8.6

您需要安装 Zimbra 安装的所有依赖项,在我的情况下是 libperl5.18,但如果您尚未安装它,它会要求解压缩等。不用担心,安装程序会通知您缺少什么,只需按照后续步骤操作即可,如果安装程序由于缺少依赖项而取消,只需安装它们并继续。这次您必须使用 -s 选项运行安装程序并跳过完整性检查。

-s 选项代表软件;这意味着安装程序不会升级您的数据,而只是安装新软件。您需要新软件来升级现有数据(邮件存储、设置等),如果您忽略它,安装程序将取消并出现错误。在继续之前,请再次确保您使用了适合您版本的正确安装程序。您会在文件夹名称中看到版本:zcs-8.6.0_GA_1153。UBUNTU14_64.20141215151116.

cd zcs-8.6.0_GA_1153.UBUNTU14_64.20141215151116
sudo ./install.sh -s

重要的:跳过完整性检查,您可以在数据升级后手动执行此操作。

Do you want to verify message store database integrity? [N]

如果系统询问您是否要升级,请继续并回答 Y。安装完成后,再次运行相同的安装程序,这次不带 -s 选项:

sudo install.sh

注意:您可以立即运行完整性检查,也可以跳过它并稍后再运行。

按照之前的说明操作。现在您应该可以在 Ubuntu 14.04 上运行 Zimbra 8.6。

简而言之

这不管用

Ubuntu 12.04 上的 Zimbra 8.0.5 --> 将 Ubuntu 升级到 14.04 并在 Ubuntu 14.04 上安装 Zimbra 8.6

这有效

Ubuntu 12.04 上的 Zimbra 8.0.5 --> Ubuntu 12.04 上的 Zimbra 8.6_for_12_04 --> 升级到 Ubuntu 14.04 --> 在 Ubuntu 14.04 上安装 Zimbra 8.6_for_14_04

答案3

步骤 3. 将 Ubuntu 从 12.04 升级到 14.04

当升级过程提示您删除不兼容的存储库时,请务必暂停!请等待,然后再继续,打开另一个与服务器的 SSH 会话并编辑文件:

/etc/apt/sources.list.d/zimbra.list

删除那里 2 或 3 行由 do-release-upgrade 添加的哈希值 #。

保存文件并返回原始 SSH 会话,现在您可以继续升级过程。这样做,升级不会删除,而是升级所有 Zimbra 软件包。

相关内容