同时升级Zimbra和您的操作系统

我最近在升级Zimbra时遇到了一些问题,同时也升级了我的操作系统。 更具体地说:我想将Zimbra开源版本从8.0.5升级到8.6,同时将Ubuntu Server从12.04升级到14.04。 我遇到的问题是我无法实现它,Zimbra抛出了很多与Perl相关的exception,而且由于Zimbra论坛不是很通信,所以我不得不重新启动备份才能在周末之后继续运行。 那么正确的过程是什么?

我在Zimbra网站上find了一个指南,但是缺less一些部分( https://wiki.zimbra.com/wiki/Ubuntu_Upgrades )。 我终于明白了,但是我觉得有必要把这个写下来,供我和其他人参考。 在我的情况下,我使用一个单一的服务器安装与Zimbra开源版本,其中一些可能不适用于其他实例。

一般的东西

1.使用虚拟机和LVM卷

最佳做法是在虚拟机上安装Zimbra,并使用LVM或其他支持快照的技术。 这样,您可以创build快照,并在出现任何错误的情况下,只需回滚到快照即可。

不仅可以使用快照,以便在更新/升级出错的情况下拥有额外的易于使用的回退点,还可以提供更简单的备份:

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

注意:除了备份之外,还应该使用快照,而不是使用快照。

2.备份

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

3.保持您的安装是最新的

你不必一直使用最近的版本(虽然这是一个好主意),但至less你应该确保你的操作系统和你的Zimbra安装在他们的支持生命周期内。

4.使用屏幕

如果您通过SSHpipe理您的服务器,请确保您使用屏幕进行所有升级。 万一你的连接中断,它不会毁了你的一天(如果terminal会话closures它终止所有运行的命令)。 与屏幕你只是简历与screen -r中断会话。

升级

棘手的部分来了。 在我的情况下,我搞砸了,并开始升级Ubuntu 12.04到Ubuntu 14.04。 然后,我试着在当前的8.0.5上安装Zimbra 8.6,并且烤了我的安装,因为我变得自大,忽略了版本检查。

诀窍是你必须在你的升级版操作系统上安装完全相同版本的Zimbra,而不是你的旧版本。 在我的情况下,甚至没有Ubuntu 14.04安装程序,所以基本上我只能回滚到我的快照,并重新开始。

在这个例子中,我使用我的configuration。 再说一遍:我想从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.从12.04升级到14.04

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

 su - zimbra zmcontrol stop zmcontrol status exit 

更新和升级,然后开始您的版本升级:

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

在升级过程中,如果你想保持当前的configuration,Ubuntu会多次问你。 总是一直这样做又名select默认答案(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,但是如果你还没有安装它,它会要求解压缩等。不要担心,安装程序会通知你什么是丢失,只需按照下一步,如果安装程序取消由于缺less依赖项,只需安装它们并继续。 这次您必须使用-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