本文档适用于 Zimbra Daffodil 版本 10.0 和 10.1.0。
许可证
Synacor, Inc.,2022-2023
© 2022-2023 Synacor, Inc. Zimbra Daffodil (v10) 多节点 NG 模块滚动升级迁移指南
本作品已获得 Creative Commons 许可归因-相同方式共享 4.0 国际许可,除非您与其他许可协议 Synacor, Inc. 另有规定。要查看此许可证的副本,请访问 http://creativecommons.org/licenses/by-sa/4.0或写信给 Creative Commons,邮政信箱 1866,山景城,CA 94042,美国。
Synacor, Inc.,2022-2023
埃利科特街 505 号,A39 室
布法罗, 纽约 14203
US
Zimbra Daffodil (v10.1) 中引入的许可更改
Zimbra Daffodil (v10.1) 开始引入了新的许可系统,该系统允许更灵活地管理许可证并启用未来的细粒度功能附加组件。
添加了名为许可证守护程序服务 (LDS) 的新服务,它是支持许可证管理所需的服务。
在开始迁移之前,请参阅Zimbra Daffodil (v10.1) 许可部分并查看更改。
简介
本指南提供使用滚动升级方法将 8.8.15/9.0.0 多节点 NG 服务器迁移到 Zimbra Collaboration Daffodil (v10) 的步骤。
此方法不支持迁移带有/不带有 Zimbra Suite Plus (ZSP)设置的8.8.15-FOSS。要迁移此类设置,请参阅就地升级指南.
Zimbra Collaboration 在与 NG 模块一起安装时会安装以下模块:
-
分层存储管理。
-
备份和恢复。
-
移动 - ActiveSync。
-
设备管理 - ABQ。
-
委派管理员。
-
驾驶。
-
连接。
| 仅运行最新补丁版本的 Zimbra Collaboration 8.8.15 和 9.0.0 版本支持迁移。 |
| 此迁移方法不支持迁移带/不带 Zimbra Suite Plus (ZSP) 设置的 8.8.15-FOSS。 |
| 此迁移实用程序当前不支持 Zimbra Connect / Chat 数据的迁移。 |
|
执行这些步骤时,建议在测试环境中进行测试并确保有备份以防万一。 此外,本指南的创建步骤可以一次性完成,也可以在不同的维护时段内完成。
概述
在此方法中,我们利用 Zimbra 服务器将多个系统集群在一起的能力来添加包含最新版本的新系统,迁移帐户数据,然后弃用现有系统。
此方法适合您,如果:
-
您想要迁移到新硬件、数据中心或云,和/或更改操作系统。
-
您想要有限的停机时间。
-
您想要在迁移之前测试配置和设置。
-
您想要维护帐户完整性。
受众
本迁移指南假定您对系统管理概念和任务有透彻的了解,并且熟悉电子邮件通信标准、安全概念、目录服务和数据库管理。
使用滚动升级方法进行迁移
使用滚动升级方法的能力允许极其灵活地管理和升级 ZCS 服务器。 由于 ZCS 服务器独立于操作系统,因此此迁移方法允许使用具有更新或不同操作系统的相同 ZCS 版本来添加和升级新的 LDAP、MTA、代理和邮箱服务器。
| 当使用带有 NG 模块的滚动升级时,在帐户从 NG 服务器移动到 Zimbra 的 Daffodil (v10) 服务器后,所有 ActiveSync 同步令牌都将被重置。因此,所有设备都将收到重新同步请求,然后每个设备都应确认该请求并启动完全重新同步。大多数设备会自动执行此操作,无需设备所有者执行任何操作。确认操作是设备操作,已知一些较旧的三星设备不会响应,这需要用户重新创建配置文件或重新输入密码。 |
我们假设以下是多节点环境中的组件设置。您需要按以下顺序升级/迁移每个组件:
-
两个 MMR LDAP 服务器
-
两个代理服务器
-
两个 MTA 服务器
-
两个邮箱服务器
由于 NG 模块是邮箱服务器功能,因此无需升级即可升级 LDAP、代理和 MTA影响当前邮箱服务器功能。此外,由于每个邮箱彼此独立,因此您可以一次升级一个邮箱服务器,直到所有邮箱服务器都升级到 Daffodil (v10)。这意味着集群内的邮箱服务器将以混合模式运行,其中一些邮箱服务器将在 Daffodil (v10) 上运行,而其他邮箱服务器将在旧版本上运行,直到所有服务器都迁移为止。
本文档的设计旨在提供执行滚动升级的步骤。然而,Zimbra 旨在提供灵活性,允许就地升级 LDAP、代理和 MTA,同时执行邮箱服务器的滚动升级。滚动升级方法涉及的步骤如下:
使用所需的操作系统版本为集群中的每个现有服务器创建一个新服务器。然后按顺序执行以下步骤:
-
LDAP
-
在新操作系统上使用当前版本安装 LDAP
-
添加到 LDAP 集群
-
将所有现有服务器指向新 LDAP 服务器并停用现有 LDAP 服务器
-
将新 LDAP 升级到 Daffodil
-
-
代理
-
安装和配置 Daffodil 代理
-
将生产流量直接发送到 Daffodil 代理
-
弃用现有代理服务器
-
-
MTA
-
安装和配置 Daffodil MTA
-
将生产流量定向至 Daffodil MTA
-
弃用现有 MTA 服务器
-
-
邮箱
-
使用现有包配置安装 Daffodil 邮箱服务
-
自定义并测试环境。
-
迁移帐户
-
弃用现有邮箱服务器
-
为了协助完成此转换,LDAP 服务器向后兼容,这意味着较旧的代理、MTA 和邮箱服务器可以针对更新的 LDAP 运行。可能会发生许多不同的情况,始终建议在开始任何升级之前确定最适合您的环境的情况。
| 仅运行最新补丁版本的 Zimbra 8.8.15 和 9.0.0 版本支持将 NG 数据迁移到 Daffodil (v10)。 |
| 如果您使用 Zimbra Connect 或 Chat,请注意,目前不支持迁移这些模块。请联系 Zimbra 支持或销售人员获取指导。 |
本文档将详细介绍 NG 迁移工具以及如何迁移 NG 配置。没有 NG 模块运行的客户可以继续执行这些步骤,但将跳过所有 NG 迁移步骤。
先决条件和网络注意事项
为了支持滚动升级迁移,需要创建新系统。创建新系统时,您将需要使用新的主机名并构建系统以满足您当前和未来的需求。此外,还需要考虑网络。网络速度和可靠性在这些系统之间至关重要,特别是在数据中心或不同位置之间进行迁移时。如果这些系统之间存在防火墙,则需要确保这些服务器可以通过 HTTP/S、SSH、LMTP、SMTP、LDAP 等进行通信。有关所有节点内通信端口的更多信息,请参阅Zimbra 使用的默认端口.
在开发本文档时,我们做出了一些假设,即个人对网络、故障排除以及如何设置 Zimbra 实例有基本的了解。本文档假设正在使用标准安装,但在生产系统上执行步骤之前,建议详细检查、在测试环境中进行测试,并确保在开始迁移之前有备份。
为了指导所讨论的版本,我们将在整个指南中使用以下示例:
-
8.8.15/9.0.0 节点:
-
LDAP-#.old.ldap.com
-
代理 -#.old.proxy.com
-
MTA -#.old.mta.com
-
邮箱 -#.old.mailbox.com
-
-
水仙花 (v10) 节点:
-
LDAP -#.new.ldap.com
-
代理 -#.new.proxy.com
-
MTA -#.new.mta.com
-
邮箱 -#.new.mailbox.com
-
LDAP 升级
在本节中,我们将使用 MMR复制将当前的 LDAP 服务器替换并升级到 Daffodil。将提供启用和创建新 MMR 实例、将新 MMR 和从属/副本服务器添加到现有集群,然后实施 Daffodil 迁移的步骤。完成后,LDAP 服务器将运行 Daffodil,所有其他服务将运行原始版本。
启用 MMR
运行单个主 LDAP 的环境(无论有或没有从属/副本服务器)都需要使用以下步骤启用 MMR。如果 MMR 已启用,则可以跳过本节。
| 升级 LDAP 不会影响 NG 模块,因为 NG 模块安装在邮箱服务器上,并且 NG 模块的 zimlet 属性在 LDAP 升级后仍然存在。 |
在开始此过程之前,需要创建使用当前生产版本 Daffodil (v10) 和 Daffodil 支持的操作系统版本的新系统。该系统应具有支持当前和未来增长所需的环境配置(CPU、内存等)。 操作系统 (OS) 是特定于服务器的,不会影响应用程序级别的功能,并且每个服务器上的操作系统提供程序和版本可能有所不同。
| 屏幕截图是 Zimbra Collaboration 安装脚本的示例。实际脚本可能有所不同。 |
在启用 MMR 之前,您需要从#.old.ldap.com获取现有密码,以便在#.new.ldap.com上安装期间使用。请保存这些密码,因为我们在配置 LDAP MMR 设置时需要它们。
-
作为
zimbra用户,执行以下命令:
$ zmlocalconfig -s ldap_amavis_password ldap_bes_searcher_password ldap_nginx_password ldap_postfix_password ldap_replication_password ldap_root_password zimbra_ldap_password
一个常见问题是 LDAP 端口被阻止。请确保服务器之间可以访问端口 389。
启用 MMR
完成#.new.ldap.com服务器设置和所需的密码信息后,就可以在当前生产系统上启用 MMR,这需要重新启动 LDAP 服务。
-
维护时段- 大约 5 分钟
-
作为
zimbra用户,在当前生产服务器上执行以下命令 -#.old.ldap.com:
$ /opt/zimbra/libexec/zmldapenable-mmr -s 1 -m ldap://new.ldap.com:389/ zmcontrol restart
安装新的 LDAP 并同步 LDAP 复制
在本节中:
-
使用最新操作系统的新 MMR 和从属/副本系统将添加到 MMR 集群。
-
所有 LDAP 流量都将指向新的 LDAP 服务器。
-
现有 LDAP 服务器将被禁用并删除。
-
新的 LDAP 服务器将安装到 Daffodil。
对于新的 MMR 实例,完成第一步后,集群内将有三台服务器(原始服务器和两台新服务器)。对于现有 MMR 集群,服务器数量应加倍(X 台原始服务器 + X 台新服务器)。最后,将添加新的从属/副本替换服务器以匹配现有数量。
在#.new.ldap.com服务器上,下载与您的操作系统版本匹配的 ZCS 当前生产版本。请参阅下载页面以获取 ZCS 版本构建。下载完成后,解压并运行./install.sh.
-
要安装的软件包:
-
zimbra-ldap
-
zimbra-snmp
-
./install.sh
以下是典型安装的概述:
Do you agree with the terms of the software license agreement? [N] Y
Install zimbra-ldap [Y] Y
Install zimbra-logger [Y] N
Install zimbra-mta [Y] N
Install zimbra-dnscache [Y] N
Install zimbra-snmp [Y] Y
Install zimbra-store [Y] N
Install zimbra-apache [Y] N
Install zimbra-spell [Y] N
Install zimbra-convertd [Y] N
Install zimbra-memcached [Y] N
Install zimbra-proxy [Y] N
Install zimbra-archiving [N]
Install zimbra-drive [Y] N
Install zimbra-imapd (BETA - for evaluation only) [N]
Install zimbra-network-modules-ng [Y] N
Install zimbra-chat [Y] N
安装程序将进入配置部分,您需要在其中将这个新实例配置到生产服务器。此过程不会影响您当前的生产环境。
-
选择 1 -通用配置,然后配置选项 2 和 4。输入后,系统将验证是否#.new.ldap.com可以连接到#.old.ldap.com.
1) Common Configuration:
2) Ldap master host: <old.ldap.com>
4) Ldap Admin password: <ldap_root_password>
Select, or 'r' for previous menu [r] r
-
系统将验证两个 LDAP 之间的连接,如果成功,将返回不带 ** 的信息。
-
选择r返回,然后选择2 zimbra-ldap.
2 zimbra-ldap.
1) Status: Enabled
2) Create Domain: yes
3) Domain to create: Domain.com
4) Ldap replication type: replica
5) Ldap root password: set
** 6) Ldap replication password: Not Verified
** 7) Ldap postfix password: Not Verified
** 8) Ldap amavis password: Not Verified
** 9) Ldap nginx password: Not Verified
-
选择 4Ldap 复制类型:并更改为mmr:
Please enter the LDAP replication type (replica, mmr) [replica] mmr
注意:对于从属/副本安装,请勿更新此部分。
-
然后使用从生产服务器获取的密码更新所有其他组件的密码#.old.ldap.com:
** 6) Ldap replication password: Not Verified ** 7) Ldap postfix password: Not Verified ** 8) Ldap amavis password: Not Verified ** 9) Ldap nginx password: Not Verified
安装完成后,可以通过在#.old.ldap.com上更新测试用户的属性来检查复制,然后在#.new.ldap.com上验证更改。然后将属性恢复到原来的配置#.new.ldap.com然后验证上的更改 #.old.ldap.com.
-
获取当前配置:
zmprov ga <test-user@domain.com> zimbraZimletUserPropertiesMaxNumEntries
#name test-user@domain.com
zimbraZimletUserPropertiesMaxNumEntries: 150
-
更新上的配置 #.old.ldap.com然后验证上的更改#.new.ldap.com.
-
在#.old.ldap.com,以
zimbra用户身份执行此命令:
-
zmprov ma <test-user@domain.com> zimbraZimletUserPropertiesMaxNumEntries 160
-
在#.new.ldap.com上,执行此命令
zimbra用户:
zmprov -l ga <test-user@domain.com> zimbraZimletUserPropertiesMaxNumEntries
-
恢复配置#.new.ldap.com然后验证#.old.ldap.com 上的更改.
-
在#.new.ldap.com上,以
zimbra用户身份执行此命令:
-
zmprov ma <test-user@domain.com> zimbraZimletUserPropertiesMaxNumEntries 150
-
On#.old.ldap.com,以
zimbra用户身份执行此命令:
zmprov -l ga <test-user@domain.com> zimbraZimletUserPropertiesMaxNumEntries
| -l是调用从配置的 LDAP 获取属性所必需的。如果-l不使用,服务器将从服务器的缓存中获取属性。 |
在所有新的 LDAP MMR 上重复此部分并复制
重定向 LDAP 流量并将新服务器升级到 Daffodil
此阶段包含两个步骤,第一步需要停机:
步骤一
-
配置要使用的所有生产服务器(新 LDAP、MTA、代理、邮箱等)新的 LDAP 服务。
-
将#.new.ldap.com服务器升级到 Zimbra Collaboration Daffodil (v10)。
要从 MMR 副本池中删除现有 LDAP 服务器,请更新所有系统上的 ldap_master_url 和 ldap_url,包括 #.new.ldap.com,但不包括 #.old.ldap.com。
注意:此时,利用配置集群进行故障转移非常重要。 这意味着如果服务器配置中列出的第一个主服务器或副本出现故障,则将使用第二个主服务器或副本。 这将支持您的 LDAP 升级,无需停机。 对于较大的集群,建议将服务器错开到不同的主服务器或副本服务器以分配流量和负载。 还建议将代理和 MTA 等读取服务指向副本,将邮箱等写入服务指向主服务器,以提高 LDAP 性能。 以下是示例:
Server A su - zimbra zmlocalconfig -e ldap_master_url="ldap://1new.ldap.com:389 ldap://2new.ldap.com:389" zmlocalconfig -e ldap_url="ldap://1new.ldap.com:389 ldap://2new.ldap.com:389" Server B su - zimbra zmlocalconfig -e ldap_master_url="ldap://2new.ldap.com:389 ldap://1new.ldap.com:389" zmlocalconfig -e ldap_url="ldap://2new.ldap.com:389 ldap://1new.ldap.com:389"
-
在两台服务器上重新启动 zimbra 服务:
zmcontrol restart
从生产中删除所有原始 LDAP 服务器后,您可以通过运行以下命令从这些系统中卸载 LDAP:
/opt/zimbra/libexe/installer/install.sh -u
通过卸载每个 LDAP 实例将从集群中删除该实例。
如果在任一系统上启动服务器时出现以下错误,则意味着 DNS 中存在问题,主机名或 zmhostname 不匹配,或者 zmlocalconfig 中的密码设置不正确。另外,如果#.old.ldap.comLDAP 不是,则会导致此错误。
Failed to start slapd. Attempting debug start to determine error.
6425fca4 daemon: bind(7) failed errno=99 (Cannot assign requested address)
6425fca4 slap_open_listener: failed on ldap://hostname:389
第二步
是时候将所有 #.new.ldap.com 服务器升级到 Daffodil (v10)。 所有 #.new.ldap.com 服务器都需要在同一维护时段内升级,但一次升级一台。 这将允许您在不影响当前生产的情况下升级 LDAP,部分升级将导致架构不匹配,我们建议为每个 LDAP 服务器安排 15 分钟的维护时段作为预防措施。需要在每个 LDAP 服务器上执行以下步骤。
-
将Daffodil (v10) 包下载到#.new.ldap.com并运行
install.sh脚本。Do you wish to upgrade? [Y] Y Install zimbra-archiving [N] N Install zimbra-onlyoffice [N] N Install chat and video features [N] N Install zimbra-logger[Y] N Install zimbra-mta[Y] N Install zimbra-dnscache[Y] N Install zimbra-store[Y] N Install zimbra-apache[Y] N Install zimbra-spell[Y] N Install zimbra-convertd[Y] N Install zimbra-memcached[Y] N Install zimbra-proxy[Y] N Install zimbra-onlyoffice[Y] N Install zimbra-license-tools[Y] N Install zimbra-license-extension[Y] N Install zimbra-network-store[Y] N Install zimbra-modern-ui[Y] N Install zimbra-modern-zimlets[Y] N Install zimbra-zimlet-document-editor[Y] N Install zimbra-zimlet-classic-document-editor[Y] N Install zimbra-patch[Y] N Install zimbra-mta-patch[Y] N Install zimbra-proxy-patch[Y] N Install zimbra-rabbitmq-server[Y] N Installing: zimbra-core zimbra-ldap zimbra-snmp zimbra-ldap-patch The system will be modified. Continue? [N] Y -
如果存在任何需要更新的配置问题,安装程序脚本会使用“**”列出该问题。每个安装的情况都会有所不同,但大多数情况下是由密码问题引起的,需要从#.old.ldap.com.
zimbra-ldap: Enabled +Create Domain: no +Ldap root password: set +Ldap replication password: set +Ldap postfix password: set +Ldap amavis password: set +Ldap nginx password: set ******* +Ldap Bes Searcher password: Not Verified -
获取密码问题。提供所需信息后,完成升级。
状态:所有 LDAP 服务器 MMR 和副本都运行 Daffodil,所有其他系统都运行原始版本{8815 或 900}
在新服务器上安装代理服务
现在是时候用相同数量的 Daffodil 服务器替换现有代理服务器了。这是另一个示例,如果 Daffodil 支持当前操作系统,则可以进行就地升级。 在开始安装之前,需要获取目标 ldap 主机和密码。唯一需要安装的软件包是 zimbra.proxy。 可选包有 zimbra-snmp 和 zimbra-memcached。 zimbra-memcached 可以安装在一台或多台 ldap 服务器上。
在安装过程中,所有新代理服务器都将添加到集群中,但在重定向生产流量之前不会向它们传送任何流量。 建议一次安装一个代理,对每个新代理执行测试,然后将生产流量转发到新代理服务器,同时从流量中删除所有 old.proxy.com。 一旦确认没有问题,您就可以从集群中删除 #.old.proxy.com 服务器。
-
在#.new.proxy.com服务器上,下载 Daffodil (v10) 安装程序,该安装程序可从下载页面获取。下载完成后,解压并运行要安装的
./install.sh.-
软件包:
-
zimbra-proxy
-
zimbra-memcached
其他包应标记为
n.如果使用 SNMP,则还必须安装 zimbra-snmp软件包。
-
-
-
执行安装程序:
./install.sh
-
以下是典型安装的概述:
Do you agree with the terms of the software license agreement? [N] Y Select the packages to install Install zimbra-ldap [Y] N Install zimbra-logger [Y] N Install zimbra-mta [Y] N Install zimbra-dnscache [N] N Install zimbra-snmp [Y] N Install zimbra-store [Y] N Install zimbra-apache [Y] N Install zimbra-spell [Y] N Install zimbra-convertd [N] N Install zimbra-memcached [N] Y Install zimbra-proxy [N] Y Install zimbra-archiving [N] N Installing: zimbra-memcached zimbra-proxy This system will be modified. Continue [N] Y Configuration section -
键入
Y,然后按Enter安装选定的软件包。 -
显示主菜单。输入
1并按输入转到常见 配置菜单。显示邮箱服务器主机名。您必须更改 LDAP master 主机名和密码为 LDAP 服务器上配置的值。
-
输入
2,按输入,然后输入 LDAP 主机 名字。 (本例中为#.new.ldap.com。) -
键入
4,按输入,然后键入 LDAP 密码。设置这些值后,服务器会立即联系 LDAP 服务器。如果无法联系服务器,则无法继续。
-
输入 7 设置正确的时区
-
-
输入
r返回主菜单。 -
输入
2以选择zimbra-proxy.Main menu 1) Common Configuration: +Hostname: localhost +Ldap master host: new.ldap.com +Ldap port: 389 +Ldap Admin password: set +LDAP Base DN: cn=zimbra +Store ephemeral attributes outside Ldap: no +Secure interprocess communications: yes +TimeZone: (GMT-08.00) Pacific Time (US & Canada) +IP Mode: ipv4 +Default SSL digest: sha256 2) zimbra-proxy: Enabled +Enable POP/IMAP Proxy: TRUE +IMAP server port: 7143 +IMAP server SSL port: 7993 +IMAP proxy port: 143 +IMAP SSL proxy port: 993 +POP server port: 7110 +POP server SSL port: 7995 +POP proxy port: 110 +POP SSL proxy port: 995 ******* +Bind password for nginx ldap user: Not Verified +Enable HTTP[S] Proxy: TRUE +Web server HTTP port: 8080 +Web server HTTPS port: 8443 +HTTP proxy port: 80 +HTTPS proxy port: 443 +Proxy server mode: https 3) Enable default backup schedule: yes s) Save config to file x) Expand menu q) Quit Select, or 'r' for previous menu [r] 2 -
将显示代理配置菜单。您可以修改任何值。
的Nginx ldap 用户的绑定密码在安装 LDAP 服务器时配置。这是在 MTA 连接到 LDAP 服务器时设置的。除非启用 Kerberos5 身份验证机制,否则不会使用此功能。
即使未设置 GSSAPI 身份验证/代理,设置密码也不会导致任何问题。 Proxy configuration 1) Status: Enabled 2) Enable POP/IMAP Proxy: TRUE 3) IMAP server port: 7143 4) IMAP server SSL port: 7993 5) IMAP proxy port: 143 6) IMAP SSL proxy port: 993 7) POP server port: 7110 8) POP server SSL port: 7995 9) POP proxy port: 110 10) POP SSL proxy port: 995 11) Bind password for nginx ldap user: set 12) Enable HTTP[S] Proxy: TRUE 13) Web server HTTP port: 8080 14) Web server HTTPS port: 8443 15) HTTP proxy port: 80 16) HTTPS proxy port: 443 17) Proxy server mode: https
-
键入
r返回到主菜单。 -
配置代理服务器后,返回主菜单并键入
a应用配置更改。按输入保存配置数据。 -
当将配置数据保存到文件时出现,按输入.
-
下一个请求询问保存文件的位置。要接受默认值,请按输入。要将文件保存到另一个目录,请输入该目录,然后按输入.
-
时系统将被修改——继续吗?出现,输入
y并按输入. -
当安装完成 - 按回车键退出显示时,按Enter.
代理服务器安装完成并重复配置其余代理服务器。通过访问一台或多台 #.new.proxy.com 服务器的主机名来测试代理配置,然后登录并测试帐户功能。
重定向代理流量
此时,所有代理流量都经过 #.old.proxy.com 服务器,而 #.new.proxy.com 服务器已配置但处于空闲状态。 完成测试后,添加 #.new.proxy.com 并从生产流量中删除 #.old.proxy.com。
从群集中删除 #.old.proxy.com 服务器
所有流量成功通过 #.new.proxy.com 服务器后,通过在每台 #.old.proxy.com 服务器上运行以下命令,从群集中卸载 #.old.proxy.com 服务器。
/opt/zimbra/libexec/installer/install.sh -u
注意:此命令将删除运行该命令的服务器上的所有服务,请在执行卸载之前验证系统上没有其他 Zimbra 服务。
在新服务器上安装 MTA 服务
与代理一样,设置新 MTA 包含相同的步骤,使用 daffodil 添加和配置新服务器、测试、将生产流量定向到 MTA,然后卸载 #.old.mta.com 服务器。 要将新 MTA 配置到群集,需要主主机或副本主机名和密码。
在#.new.mta.com服务器,下载 Daffodil (v10) 安装程序,该安装程序可从下载页面获取。下载完成后,解压并运行./install.sh.
-
要安装的软件包:
-
zimbra-mta
-
zimbra-dnscache
其他软件包应标记为
n.如果使用 SNMP,则还必须安装 zimbra-snmp软件包。-
执行安装程序:
./install.sh
-
以下是典型安装的概述:
Select the packages to install Install zimbra-ldap [Y] n Install zimbra-logger [Y] n Install zimbra-mta [Y] Y Install zimbra-dnscache [Y] Y Install zimbra-snmp [Y] n Install zimbra-store [Y] n Install zimbra-apache [Y] n Install zimbra-spell [Y] n Install zimbra-memcached [Y] n Install zimbra-proxy [Y] n Checking required space for zimbra-core Installing: zimbra-core zimbra-mta zimbra-dnscache The system will be modified. Continue? [N] y Installing packages -
键入
Y,然后按输入以修改系统。选定的软件包将安装在服务器上。 -
主菜单显示您正在安装的 Zimbra 组件的默认条目。要展开菜单以查看配置值,请键入
x并按Enter. -
主菜单将展开以显示包的配置详细信息 正在安装。
需要进一步配置的值标有星号 ( *).要导航主菜单,请选择要更改的菜单项。您可以 修改任意值。参见 参考资料 部分 主菜单选项 有关主菜单的说明。
Main menu 1) Common Configuration: +Hostname: new.mta.com +Ldap master host: UNSET +Ldap port: 389 +Ldap Admin password: UNSET +LDAP Base DN: cn=zimbra +Store ephemeral attributes outside Ldap: no +Secure interprocess communications: yes +TimeZone: Africa/Monrovia +IP Mode: ipv4 +Default SSL digest: sha256 2) zimbra-mta: Enabled +Enable Spamassassin: yes +Enable Clam AV: yes +Enable OpenDKIM: yes +Notification address for AV alerts: admin@example.domain.com +Bind password for postfix ldap user: UNSET +Bind password for amavis ldap user: UNSET 3) zimbra-dnscache: Enabled s) Save config to file x) Expand menu q) Quit Address unconfigured (**) items (? - help) -
键入
1以显示通用配置子菜单。Common configuration 1) Hostname: new.mta.com 2) Ldap master host: UNSET 3) Ldap port: 389 4) Ldap Admin password: UNSET 5) LDAP Base DN: cn=zimbra 6) Store ephemeral attributes outside Ldap: no 7) Secure interprocess communications: yes 8) TimeZone: Africa/Monrovia 9) IP Mode: ipv4 10) Default SSL digest: sha256
显示 mta 服务器主机名。
您必须将 LDAP 主主机名和密码更改为 LDAP 服务器上配置的值。 -
键入
2,按输入,然后键入 LDAP 主机名。 (#.new.ldap.com在此示例中。) -
键入
4,按输入,然后键入 LDAP 密码。
要获取 LDAP 密码,您需要以zimbra用户身份登录 LDAP 服务器,并运行以下命令:
zmlocalconfig -s zimbra_ldap_password
设置这些值后,服务器会立即联系 LDAP 服务器。如果无法联系服务器,则无法继续。
-
-
键入
8以设置正确的时区。1 Africa/Algiers ~ 94 Europe/London ~ 109 Pacific/Tongatapu 110 UTC Enter the number for the local timezone: [110] 94
-
键入
r返回到主菜单。 -
类型
2进入Mta 配置菜单。Mta configuration 1) Status: Enabled 2) Enable Spamassassin: yes 3) Enable Clam AV: yes 4) Enable OpenDKIM: yes 5) Notification address for AV alerts: admin@example.domain.com 6) Bind password for postfix ldap user: UNSET 7) Bind password for amavis ldap user: UNSET Select, or 'r' for previous menu [r]
-
您可以更改
Notification address for AV alerts。 这应该是域上的地址,例如管理地址。 (admin@example.com)如果您输入的地址不是管理地址,则必须在安装完成后使用该地址配置一个帐户。 -
选择
Bind password for postfix ldap user.
的菜单编号 您必须使用与 LDAP 主服务器上配置的值相同的值。 -
选择菜单编号
Bind password for amavis ldap user.
您必须使用与 LDAP 主服务器上配置的值相同的值。 -
键入
r返回到主菜单。 -
配置 MTA 服务器后,返回主菜单并键入
a以应用配置更改。
按进入保存配置数据。 -
当
Save configuration data to file出现时,键入Yes并按输入. -
下一个请求询问保存文件的位置。要接受默认值,请按输入。要将文件保存到另一个目录,请输入该目录,然后按Enter.
-
当
The system will be modified - continue?出现时,键入Yes然后按输入.服务器被修改。安装所有组件并配置 MTA 服务器可能需要几分钟时间。这可以包括设置 密码、设置端口、设置时区首选项以及启动 服务器以及其他进程。
-
当
Installation complete - press return to exit显示时,按输入.
-
-
MTA 服务器安装完成,重复这些步骤,直到创建所有 Daffodil 服务器。
重定向 MTA 流量
执行测试后,是时候从 Daffodil 服务器重定向 MTA 流量了。 #.old.mta.com 到 #.new.mta.com。
-
作为
zimbra用户,在 #.old.mta.com 上执行以下命令:
su - zimbra zmprov ms old.mailbox.com zimbraSmtpHostname new.mta.com
从集群中删除 #.old.mta.com 服务器
所有流量成功通过 #.new.mta.com 服务器后,通过在每个 #.old.mta.com 服务器上运行以下命令,从集群中卸载 #.old.mta.com 服务器。
/opt/zimbra/libexec/installer/install.sh -u
| 此命令将删除运行该命令的服务器上的所有服务,请在执行卸载之前验证系统上没有其他 Zimbra 服务。 |
在新服务器上安装邮箱服务
此时集群将运行 Daffodil LDAP、Proxy、MTA 和 #.old.mailbox.com 服务器。 下一步是将 Daffodil 邮箱服务器添加到集群中。 建议匹配集群中当前使用的相同数量的邮箱服务器。 对于运行存档的集群,由于存档服务器是容纳存档帐户的邮箱服务器,因此您需要执行本节中的相同步骤。
-
在#.new.mailbox.com服务器上,下载 Daffodil (v10) 安装程序,该安装程序可从下载中获取页。下载完成后,解压并运行
./install.sh使用许可证文件。-
要安装的软件包:
-
zimbra-snmp
-
zimbra-store
-
zimbra-apache
-
zimbra-spell
-
zimbra-convertd
-
其他软件包应标记为
n.+ 注意:如果正在使用 SNMP 和归档,
zimbra-archiving需要安装zimbra-snmp软件包。 -
-
输入
y并按输入以安装zimbra-logger软件包(可选且仅在一台邮件服务器上) -
执行安装程序:
对于Zimbra Daffodil v10.0:
./install.sh -l /path/license.xml
对于Zimbra Daffodil v10.1:
./install.sh
仅版本 10.1 需要此命令。
-
以下是典型安装的概述:
Do you agree with the terms of the software license agreement? [N] Y Install zimbra-ldap [Y] N Install zimbra-logger [Y] Y Install zimbra-mta [Y] N Install zimbra-dnscache [Y] N Install zimbra-snmp [Y] Y Install zimbra-store [Y] Y Install zimbra-apache [Y] Y Install zimbra-spell [Y] Y Install zimbra-convertd [Y] Y Install zimbra-memcached [Y] N Install zimbra-proxy [Y] N Install zimbra-archiving [N] N WARNING Checking required space for zimbra-core Checking space for zimbra-store Checking required packages for zimbra-store FOUND: libreoffice-1:4.2.8-0ubuntu4 zimbra-store package check complete. Installing: zimbra-core zimbra-logger zimbra-snmp zimbra-store zimbra-apache zimbra-spell zimbra-modern-ui zimbra-convertd The system will be modified. Continue? [N] -
键入
Y,然后按输入以修改系统。选定的软件包将安装在服务器上。安装软件包后,主菜单页面将显示默认设置,其中许多配置显示不正确或需要更新。 一旦将新服务器配置到 LDAP,其中许多问题都将得到解决。
需要进一步配置的值标有星号( *).要将新服务器配置到 LDAP,需要获取 LDAP 主主机名和密码。 按顺序选择选项 1“通用配置”,然后选择选项 2“Ldap 主主机”和选项 4“Ldap 管理员密码”。 配置密码后,服务器将连接到 LDAP 并更新大部分配置。 如果同步失败,现有配置不会发生任何更改,您将需要检查服务器无法连接到 LDAP 的原因。
Main menu 1) Common Configuration: +Hostname: new.mailbox.com ******* +Ldap master host: UNSET +Ldap port: 389 ******* +Ldap Admin password: UNSET +LDAP Base DN: cn=zimbra +Store ephemeral attributes outside Ldap: no +Secure interprocess communications: yes +TimeZone: UTC +IP Mode: ipv4 +Default SSL digest: sha256
Common configuration 1) Hostname: aeng-test1.zimbrasupportlab.com ** 2) Ldap master host: UNSET 3) Ldap port: 389 ** 4) Ldap Admin password: UNSET 5) LDAP Base DN: cn=zimbra 6) Store ephemeral attributes outside Ldap: no 7) Secure interprocess communications: yes 8) TimeZone: UTC 9) IP Mode: ipv4 10) Default SSL digest: sha256
将服务器配置为主 LDAP 后,在大多数安装中,都需要添加管理员密码和 SMTP 主机。 对于管理员密码,可以使用现有密码。
3) zimbra-store: Enabled
+Create Admin User: yes
+Admin user to create: admin@zimbrasystems.com
******* +Admin Password UNSET
+Enable automated spam training: yes
******* +SMTP host: UNSET
解决所有配置后,按“a”应用更改。
Main menu 1) Common Configuration: 2) zimbra-snmp: Enabled 3) zimbra-store: Enabled 4) zimbra-spell: Enabled 5) zimbra-convertd: Enabled 6) Default Class of Service Configuration: 7) Enable default backup schedule: yes s) Save config to file x) Expand menu q) Quit *** CONFIGURATION COMPLETE - press 'a' to apply Select from menu, or press 'a' to apply config (? - help)
警告:安装程序脚本会将新邮箱服务器配置到代理中。 建议从代理列表中删除新的邮箱服务器,直到邮箱服务器准备好上线为止。
安装您的签名证书
从#.old.mailbox.com 复制/opt/zimbra/ssl/zimbra/commercial/中的文件到#.new.mailbox.com.
确保所有文件的权限均设置为zimbra __ZSEP_9f7__。作为 root 用户,在
#.new.mailbox.com上执行此命令:
/opt/zimbra/bin/zmcertmgr deploycrt comm commercial.crt commercial_ca.crt
重复这些步骤,直到添加了所有新邮箱服务器。
最终设置
在多节点配置中配置 Daffodil (v10) 服务器后,在继续帐户和数据迁移之前必须配置以下功能:
-
为了进行远程管理和 postfix 队列管理,必须在每台服务器上手动填充 ssh 密钥。请参阅更新 SSH 密钥.
-
如果安装了记录器,请在每台服务器上设置 syslog 配置文件以使服务器统计信息显示在管理控制台上,然后启用记录器监控主机。服务器统计信息包括有关邮件计数、邮件量以及反垃圾邮件和防病毒活动的信息。请参阅启用服务器统计信息显示.
-
Daffodil (v10) 附带一个带有禁用密码的默认
zimbra用户。 {product-abbrev} 需要通过 ssh 公钥身份验证访问此帐户。在大多数操作系统上,此组合是可以的,但如果您已修改垃圾邮件规则以禁止对禁用帐户进行任何 ssh 访问,则必须为zimbraUNIX 帐户定义密码。这将允许 ssh 密钥身份验证来检查远程队列。请参阅邮件队列监控.
更新 SSH 密钥
要配置所有服务器之间对数据的 ssh 访问,需要在每台服务器上生成 ssh 密钥,然后每台服务器需要同步其他服务器的 ssh 密钥。要创建 ssh 密钥,请运行zmsshkeygen作为所有服务器上的 zimbra 用户:
zmsshkeygen
生成密钥后,通过在两台服务器上运行zmupdateauthkeys来同步密钥:
zmupdateauthkeys
密钥更新立即生效,无需重新启动服务器。请参阅指南了解更多信息。
启用服务器统计信息显示
为了在管理上显示服务器统计信息 控制台,必须修改 syslog 配置文件。
| Daffodil (v10) 支持受支持操作系统的默认系统日志。根据您的操作系统,本节中包含的步骤可能不正确。有关如何启用 syslog 的具体信息,请参阅操作系统文档。 |
-
在每台服务器上,如
root,输入/opt/zimbra/libexec/zmsyslogsetup。这使得服务器能够显示统计信息。 -
在记录器监视器主机上,必须启用syslog或rsyslog来记录来自远程计算机的统计信息:
对于syslog:
-
编辑
/etc/sysconfig/syslog文件,将-r添加到SYSLOGD_OPTIONS环境,SYSLOGD_options="-r -m 0". -
停止系统日志守护进程。输入
/etc/init.d/syslogstop。 -
启动系统日志守护进程。类型
/etc/init.d/syslog start.
-
对于系统日志在Debian 上或Ubuntu:
-
编辑
/etc/default/syslogd文件,将-r添加到SYSLOGD_OPTIONS环境,SYSLOGD_options="-r -m 0" -
停止系统日志守护进程。类型
/etc/init.d/sysklogd stop. -
启动系统日志守护进程。键入
/etc/init.d/sysklogd开始。
对于rsyslog:
-
取消注释
/etc/rsyslog.conf$modload imudp $UDPServerRun 514
-
中的以下行 重新启动 rsyslog
对于rsyslog在RHEL或CentOS:
-
上取消注释以下行
/etc/rsyslog.conf.# Provides UDP syslog reception #$ModLoad imudp #$UDPServerRun 514 # Provides TCP syslog reception #$ModLoad imtcp #$InputTCPServerRun 514
MTA 服务器上的垃圾邮件/火腿培训
新安装的 {product-abbrev} 将垃圾邮件/火腿培训限制为安装的第一个 MTA。如果卸载或移动此 MTA,则需要在另一个 MTA 上启用垃圾邮件/火腿训练,因为一台主机应启用此功能才能运行zmtrainsa --cleanup。为此,请设置zmlocalconfig -e zmtrainsa_cleanup_host=TRUE.
安装 NG 迁移工具并导出 NG 数据
| 不使用NG模块的客户可以跳过此步骤。 |
NG 迁移实用程序旨在将 NG 相关配置和数据迁移到 Daffodil (v10) 系统。该实用程序需要安装在所有邮箱服务器上 -#.old.mailbox.com和#.new.mailbox.com以支持 NG 数据的导出和导入。仅当前正在使用的组件需要导出数据。
| 导出/导入命令中使用的管理员用户是服务器上的全局管理员。 |
| 从 Daffodil (v10) 邮箱服务器执行所有数据导出和导入命令。 |
下载并安装迁移工具
迁移实用程序包可在 Zimbra 的公共存储库中获取。
以下是在 Daffodil (v10) 邮箱服务器上下载并安装迁移实用程序的步骤。
-
在 RHEL/CentOS 系统上,以root 身份执行:
yum clean metadata yum check-update yum install zimbra-modules-porter
-
在 Ubuntu 系统上,以root 身份执行:
apt-get update apt-get install zimbra-modules-porter
安装成功后,出现一条命令zmmodulesport将在服务器上可用。
迁移 HSM 配置
| 不使用 HSM 或使用非 S3 卷的客户可以跳过此步骤。 |
设置卷至关重要,并且对于每个客户来说都是不同的,但这也是您可以重新考虑卷配置的时候。
从 Daffodil 10.0.5 补丁开始,添加了对统一存储的支持存储管理模块。统一存储通过将来自多个邮箱服务器的数据存储在单个 S3 存储桶的同一目录结构下,实现更好的数据管理。
使用统一存储时,如果您使用 NG HSM 的集中存储功能,还可以执行无 blob 迁移。在这种情况下,邮件数据不需要从 S3 存储桶迁移并继续存在于同一位置。
请参考管理指南有关该功能的更多详细信息。
zmmodulesport工具能够将#.old.mailbox.com中的 HSM 配置复制到#.new.mailbox.com中,并且根据存储类型,每次迁移都会有所不同。
以下是我们在迁移数据时需要使用的属性的详细信息以及将它们设置为TRUE 时的行为:
-
zimbraMailboxMoveSkipBlobs:Blob 数据将在移动中被排除。 -
zimbraMailboxMoveSkipHsmBlobs:主存储 blob 将被移动。将跳过 HSM(辅助)blob。
根据您的主存储和辅助存储设置,迁移 HSM 数据和帐户的步骤会有所不同。请根据您的存储设置参阅以下指南:
统一存储 - 主存储 - 内部 |辅助存储 - 外部
以下是此设置的详细信息:
-
您正在使用 NG HSM 的集中存储功能。
-
主存储设置在内部存储上。
-
辅助存储设置在外部 S3 存储上。
您必须将zimbraMailboxMoveSkipBlobs属性设置为FALSE并且zimbraMailboxMoveSkipHsmBlobs属性为TRUE在启动帐户迁移之前在全局配置级别上。
zmprov mcf zimbraMailboxMoveSkipBlobs FALSE
zmprov mcf zimbraMailboxMoveSkipHsmBlobs TRUE
| 在Daffodil (v10.1) 上运行此命令服务器。 |
此配置将移动主数据,但 S3 卷中的所有数据将被跳过。
统一存储 - 主存储和辅助存储 - 外部
以下是此设置的详细信息:
-
您正在使用 NG HSM 的集中存储功能。
-
主存储和辅助存储设置在外部 S3 存储上。
您必须设置属性zimbraMailboxMoveSkipBlobs 在启动帐户迁移之前,全局配置级别上的为 TRUE。
zmprov mcf zimbraMailboxMoveSkipBlobs TRUE
此配置将跳过移动主存储和辅助存储数据。
主存储和索引存储 - 内部 |辅助存储 - 外部
以下是此设置的详细信息:
-
您没有使用 NG HSM 的集中存储功能。
-
主存储和索引存储设置在内部存储上。
-
辅助存储设置在外部 S3 存储上。
您必须将zimbraMailboxMoveSkipHsmBlobs设置为TRUE在全局配置级别运行:
zmprov mcf zimbraMailboxMoveSkipHsmBlobs TRUE
此配置将移动主数据和索引数据,但将跳过 S3 卷中的所有数据。
在移动数据之前,需要使用将卷配置迁移到#.new.mailbox.comzmmodulesport服务器。此功能允许您选择使用现有卷或将 Blob 数据移动到新卷。
导出 HSM 数据
要支持本地对象存储配置的无 blob 移动,需要将 HSM 数据从#.old.mailbox.com导出到目标{10-mailbox}服务器。
-
作为
zimbra用户,在#.new.mailbox.com:
su - zimbra zmmodulesport system export --modules=hsm --filename=hsm-data --server=old.mailbox.com --username=admin@old.mailbox.com --password=admin_passwd >> /opt/zimbra/log/hsm-export.log
文件hsm-data.tgz 上执行此命令将在/opt/zimbra/tmp/modules/hsm/ 中创建.
导入 HSM 数据
-
作为
zimbra用户,执行此命令#.new.mailbox.com:
su - zimbra zmmodulesport system import --modules=hsm --filename=hsm-data --server=new.mailbox.com --username=admin@new.mailbox.com --password=admin_passwd >> /opt/zimbra/log/hsm-import.log
使用zmmodulesport将覆盖管理卷于#.new.mailbox.com使用#.old.mailbox.com服务器的设置。要重新设计新的 Daffodil 卷,我们建议导入#.old.mailbox.com设置,然后修改配置以满足您当前的需求。为了防止数据丢失,不建议删除或更改当前包含数据的卷上的配置。
|
迁移备份和恢复配置
迁移实用程序仅在 COS 启用/禁用备份和恢复功能时提供信息。
导出备份数据
-
作为
zimbra用户,在#.old.mailbox.com:
su - zimbra zmmodulesport system export --modules=backup --filename=backup-data --server=old.mailbox.com --username=admin@old.mailbox.com --password=admin_passwd >> /opt/zimbra/log/br-export.log
上执行此命令 将在/opt/zimbra/tmp/modules/backup/导入备份数据中创建文件.
backup-data.tgz
| 无法通过该实用程序导入备份和恢复配置。您必须手动更新系统上的域/用户的配置。 |
| Daffodil (v10) 和 NG 备份包含不同的格式,您将无法直接使用 Daffodil (v10) 备份和恢复功能来恢复 NG 备份。此外,如果 NG 备份用于灾难恢复以外的任何用途,我们建议将 NG 备份复制到存档位置。 Zimbra 创建了一个工具,允许恢复消息数据,仅用于审核和恢复目的。 |
手动检查备份配置:
-
提取导出的backup-data.tgz文件。
-
在解压后的目录中,打开 json 文件,查看Enabled值的 COS。
-
登录 Daffodil (v10) 管理控制台。
-
转到配置 → 全局设置 → 备份/恢复.
-
下选择要备份的用户 → 域和 COS,点击添加 COS按钮,在 json 文件中添加启用备份的 COS。
-
如果有多个 COS,请重复步骤。单击“保存”。
设置备份配置后,将为每晚迁移的任何新帐户创建完整备份。当当天迁移目标帐户后,可以手动执行备份。
迁移委派管理配置
使用 NG 委派管理的客户可以在 Daffodil 管理 UI 中迁移或手动配置管理员。由于迁移委派管理配置是 LDAP 属性,因此只需为整个集群进行一次迁移。
导出委派管理数据
-
作为
zimbra用户,在new.mailbox.com 上执行此命令:
su - zimbra zmmodulesport system export --modules=admin --filename=admin-data --server=old.mailbox.com --username=admin@old.mailbox.com --password=admin_passwd >> /opt/zimbra/log/da-export.log
一个文件admin-data.tgz将在其中创建/opt/zimbra/tmp/modules/admin/.
导入委派管理数据
-
作为
zimbra用户,在new.mailbox.com 上执行此命令:
su - zimbra zmmodulesport system import --modules=admin --filename=admin-data --server=new.mailbox.com --username=admin@new.mailbox.com --password=admin_passwd >> /opt/zimbra/log/da-export.log
委派管理员权限仅适用于创建它的版本。这意味着委派管理员能够登录#.new.mailbox.com中的管理 UI,但在迁移或手动设置权限之前不会拥有任何权限。设置权限后,委派管理员将需要登录#.old.mailbox.com来管理 NG 模块,或登录#.new.mailbox.com来管理 Daffodil 模块。基本帐户信息可以由任一服务器管理,但我们建议使用帐户所在服务器的管理 UI。
迁移移动数据
如果未使用针对移动设备的 ABQ 规则和共享文件夹支持,您可以跳过迁移部分,但请查看设备迁移部分,以确保您了解迁移后的行为变化。
移动数据由移动设备的 ABQ 规则和共享文件夹配置组成,是可在帐户之前迁移的 LDAP 属性。
导出移动数据
-
作为
zimbra用户,在#.old.mailbox.com:
su - zimbra zmmodulesport system export --modules=mobile --filename=mobile-data --server=old.mailbox.com --username=admin@old.mailbox.com --password=admin_passwd >> /opt/zimbra/log/mobile-export.log
文件上执行此命令mobile-data.tgz将在/opt/zimbra/tmp/modules/mobile/.
-
内创建 要批量导出移动数据,请创建一个文件accounts-file.txt,其中包含以新行分隔的帐户的电子邮件地址。确保在--filename 中使用不同的文件多批次导出时的参数。以
zimbra用户身份执行此命令。:
zmmodulesport system export --modules=mobile --accounts=/path/to/accounts-file.txt --filename=mobile-data1-batch1 --server=server.com --username=admin@domain.com --password=admin_passwd >> /opt/zimbra/log/mobile-export-batch1.log
这将在下创建一个文件mobile-data1-batch1.tgz __ZSEP_9f7__/opt/zimbra/tmp/modules/mobile.
设备迁移
将帐户从#.old.mailbox.com移动到#.new.mailbox.com活动同步模块将被更新,这将导致同步令牌被重置。对于大多数设备,它会识别帐户重新同步请求并重新加载帐户,而无需用户执行任何操作。某些较旧的设备可能需要重新创建配置文件。
由于同步的数据量较大,某些环境中的 CPU 和 IO 可能会出现峰值。要延迟设备同步,您可以在邮箱移动之前禁用选定帐户的移动同步:
zmprov ma account@domain zimbraFeatureMobileSyncEnabled FALSE
然后,一旦移动帐户,您可以通过错开启用这些帐户的时间来启用这些帐户的移动同步,以确保设备重新同步时不会影响用户的体验。
| 这只是一个建议,每个环境都不同。系统管理员可以选择满足其环境限制的最佳方法。 |
| 应与迁移过程并行执行以下步骤。 完成这些步骤后,继续执行迁移帐户中描述的下一组迁移任务。 |
定制和单元测试
每个环境都不同,但您需要配置您的环境以支持 new.server.com,即发送出站邮件的能力。
以下是您应该执行的一些测试:
-
在#.new.mailbox.com 上创建几个帐户.
-
登录到其中一个新帐户并向其他新帐户发送和接收邮件。
-
将测试帐户从#.old.mailbox.com移动到#.new.mailbox.com(有关步骤,请参阅下一节)。
-
从 new.server.com 上的代理到两个系统上的帐户的客户端同步(IMAP、POP、COS、Mobile 等)。
花时间测试和自定义新的用户体验,以确保将流量重定向到新的 MTA 和代理时不会出现任何问题。
将 MTA、代理流量重定向到 Daffodil (v10) 服务器 new.server.com
-
维护时段- 15 分钟。
将 MTA 和代理流量定向到#.new.mailbox.com服务器。在此转换期间,Web 用户可能会看到轻微的延迟,并且可能需要重新加载浏览器,因为 https/http 流量将被重定向。
如果所有其他客户端使用的主机名未更改,则它们不应遇到任何同步问题。如果主机名更改,则所有客户端都需要使用新主机名重新配置。
我们还建议通过执行以下步骤配置您的 COS 以在新系统上创建新帐户:
-
从 new.mailbox.com 获取 zimbraID:
zmprov gs new.mailbox.com zimbraId
使用获得的 zimbraID 并更新所有 COS:
for c in $(zmprov gac); do zmprov mc $c zimbraMailHostPool <zimbraId>; done;
zimbraMailHostPool支持多种设置,并且应包含服务器 zimbraId。上面的脚本将删除设置,然后将设置重置为#.new.mailbox.comzimbraId。
|
| 继续上一节,本部分涵盖了下一阶段的内容迁移过程. |
迁移帐户
本节将介绍将帐户数据从#.old.mailbox.com迁移到#.new.mailbox.com服务器。此迁移可以包含以下步骤:
-
导出 Zimbra 驱动器数据。
-
从#.old.mailbox.com 迁移邮箱帐户至#.new.mailbox.com使用 zmmboxmove 命令。
-
导入 Zimbra 移动数据。
-
导入 Zimbra 驱动器数据。
| 如果未使用 Zimbra Drive,则可以跳过步骤 #1 和 #4。 |
导出 Zimbra Drive 数据
如果正在使用 Zimbra Drive,则可以根据迁移计划导出所有或选定帐户的数据。我们建议在移动帐户之前导出数据,以确保迁移所有最新文件。
-
为什么 zmmboxmove 不迁移 Zimbra Drive 数据?
Zimbra Drive for 8.8.15 和 9 将其数据存储在帐户外部。驱动器迁移工具会将驱动器数据迁移到帐户的公文包中,以便更好地管理和数据所有权。
以下是迁移 Zimbra Drive 数据时的建议:
-
确保您已在new.server.comin/opt/zimbra/<partition> 中配置足够的可用存储空间在导出和导入过程中容纳驱动器数据。例如,如果您有 10GB 的云端硬盘数据,建议配置 30GB 的可用空间。
-
如果您的云端硬盘数据量较大,强烈建议批量导出和导入。
-
确保目标服务器驱动器数据迁移到包含目标帐户。
-
作为
zimbra用户,执行以下命令:
-
su - zimbra zmmodulesport account export --modules=drive --filename=drive-data --server=<old.server.com> --username=admin@domain.com --password=admin_passwd >> /opt/zimbra/log/drive-export.log
一个文件驱动器数据.tgz将在/opt/zimbra/tmp/modules/drive/.
-
中创建 要批量导出云端硬盘数据,请创建一个文件accounts-file.txt,其中包含以新行分隔的帐户的电子邮件地址。确保在中使用不同的文件--filename导出多个批次时的参数。执行此命令作为
zimbra用户。:
su - zimbra zmmodulesport account export --modules=drive --accounts=/path/to/accounts-file.txt --filename=drive-data-batch1 --server=<old.server.com> --username=admin@domain.com --password=admin_passwd >> /opt/zimbra/log/drive-export.log
一个文件驱动器数据batch1.tgz将在/opt/zimbra/tmp/modules/drive/.
| 内创建 此时不会显示导入命令,因为我们必须在导入之前迁移帐户。该命令将在下面适当的时间提供。 |
账户迁移
| 成功迁移将自动启用配置文件#.new.mailbox.com. |
是时候使用命令将帐户从#.old.mailbox.com移动到#.new.mailbox.comzmmboxmove了。此命令将用于new.server.com.
| 上的所有帐户(用户和系统) 当使用本地对象存储进行无 blob 移动时,目标服务器#.new.mailbox.com必须包含与帐户所在的目标服务器#.old.mailbox.com相同的存储配置。如果帐户移动到任何其他服务器,则 Blob 将不会呈现 |
su - zimbra
zmmboxmove -a <user-account@domain.com> -f <old.server.com> -t <new.server.com> --sync
对于使用 S3 存储的系统,一旦帐户移动,您将需要使用--ngMigration标志来更新 blob 定位器。
su - zimbra
zmmboxmove -a <user-account@domain.com> -f <old.server.com> -t <new.server.com> --sync --ngMigration
成功移动后,迁移脚本将更新用户 LDAP 以指向#.new.mailbox.com。当用户登录时,他们将访问新系统上的数据,如果用户当前已登录,他们将收到一条消息,要求他们重新加载浏览器。对于使用主动同步的设备,启用同步后,客户端将收到重新同步请求并重新同步帐户。对于所有其他客户端,他们不应遇到任何同步问题。
获取服务器上所有用户的列表:
zmprov -l gaa -s <new.server.com>
获取服务器上所有日历帐户的列表:
zmprov -l gacr -s <new.server.com>
这zmmboxmove命令一次移动一个邮箱,但可以编写脚本来移动
要出于任何原因回滚到#.old.mailbox.com上的帐户数据,请更新zimbraMailHost和zimbraMailTransport这会将用户重定向回#.old.mailbox.com.
|
zmprov ma <user-account@domain.com> zimbraMailHost old.server.com
zmprov ma <user-account@domain.com> zimbraMailTransport lmtp:old.server.com:7025
| 上的帐户 当恢复到#.old.mailbox.com 时,在#.new.mailbox.com上托管时传送到帐户的任何数据都将丢失。 |
LDAP 中存在但尚未创建的帐户在移动时将收到以下错误:
zmmboxmove -a <user-account@domain.com> -f old.server.com -t new.server.com
An error occurred: system failure: Account user@domain.com does not have a mailbox on server new.server.com
通过更新zimbraMailHost和zimbraMailTransport属性,方法是运行:
zmprov ma user@domain.com zimbraMailHost new.server.com zimbraMailTransport lmtp:new.server.com:7025
迁移所有帐户后,就可以使用zimbraMailHost#.new.mailbox.com 更新您的通讯组列表了。修改并运行以下命令以更新所有现有 DL
for l in $(zmprov gadl); do zmprov mdl $l zimbraMailHost new.server.com; done
建议在验证所有数据并且帐户在#.new.mailbox.com上投入生产后,清除#.old.mailbox.com上的用户数据。进行清除时,将删除#.old.mailbox.com上的所有数据,包括驱动器数据。这可以根据您的业务需求在帐户移动后几小时、几天或几周内完成,并且可以通过运行以下命令来完成:
zmpurgeoldmbox -a user@domain.com -s old.server.com
如果您执行了无 blob 移动,请将zimbraMailboxMoveSkipBlobs设置为 FALSE:
zmprov mcf zimbraMailboxMoveSkipBlobs FALSE
如果使用 blobless move,则需要在从zimbraMailboxMoveSkipBlobs#.old.mailbox.com导入移动数据.
|
中删除所有帐户后更新
对于 NG Mobile,如果您已将 ABQ 模式设置为严格并且有任何设备更新将移动数据导入到new.server.com 后,NG 服务器上的允许设备列表服务器,更新zimbraMobileBlockedDevices以允许同步允许的设备:
-
作为
zimbra用户,在new.mailbox.com 上执行此命令:
su - zimbra zmprov md domain.com +zimbraMobileBlockedDevices "*"
-
作为
zimbra用户,在#.new.mailbox.com:
su - zimbra zmmodulesport system import --modules=mobile --filename=mobile-data1 --server=new.mailbox.com --username=admin@new.mailbox.com --password=admin_passwd >> /opt/zimbra/log/mobile-import.log
| 上执行此命令 每个集群只需执行此步骤一次,因为所有属性都是域级别并驻留在 LDAP 中。 |
| 导入后,正在使用的用户NG 移动密码功能必须在移动设置中更新其 zimbra 帐户的密码。 |
导入 Zimbra 驱动器数据
在开始导入之前,建议增加文件上传大小和身份验证令牌生命周期。
默认值zimbraFileUploadMaxSize是 10MB (10485760) 并且zimbraAdminAuthTokenLifetime是 12 小时 (12h)。
如果要将zimbraFileUploadMaxSize值增加到 100MB,请指定该值(以字节为单位)并更新邮箱服务器上的zimbraFileUploadMaxSize属性。
在 COS 级别,如果要将zimbraAdminAuthTokenLifetime值增加到 24 小时,请将值指定为24h并更新邮箱服务器上的zimbraAdminAuthTokenLifetime属性。
su - zimbra
zmprov mcf zimbraFileUploadMaxSize 104857600
zmprov mc default zimbraAdminAuthTokenLifetime 24h
重新启动邮箱服务以使更改生效:
su - zimbra
zmmailboxdctl stop
将帐户移动到#.new.mailbox.com后,通过在#.old.mailbox.com 上执行以下命令导入云端硬盘数据:
su - zimbra
zmmodulesport account import --filename=drive-data --modules=drive --server=new.server.com --username=admin@domain.com --password=admin_passwd >> /opt/zimbra/log/drive-import.log
-
如需批量导入 Drive 数据,请在--filename中指定正确的文件。以
zimbra用户身份执行此命令。:
su - zimbra zmmodulesport account import --filename=drive-data-batch1 --modules=drive --server=new.server.com --username=admin@domain.com --password=admin_passwd >> /opt/zimbra/log/drive-import-batch1.log
| 目标服务器 #.new.mailbox.com 必须是帐户所在的位置。 选择没有帐户的服务器将导致错误。 |
在所有服务器上重复此操作,直到所有帐户均已迁移。
删除旧的生产服务器
此时,#.new.mailbox.com服务器正在管理 100% 的负载,并且#.old.mailbox.com服务可以停止。通过在每个邮箱服务器上运行以下命令来停止#.old.mailbox.com服务器上的所有服务:
su - zimbra
zmcontrol stop
允许#.new.mailbox.com服务器运行一段时间#.old.mailbox.com服务已停止,以允许用户报告任何问题。一旦您认为可以安全地删除 _#.old.mailbox.com_servers,您就可以卸载 Zimbra:
cd /opt/zimbra/libexec/installer/
./install.sh -u
从 new.ldap.com LDAP 树中删除 old.ldap.com
-
删除old.ldap.com服务器条目。在#.new.mailbox.com:
su - zimbra zmprov ds old.ldap.com
-
上执行此命令 更新转换后的 URL。在new.server.com:
su - zimbra zmprov mcf zimbraConvertdURL 'http://new.mailbox.com:7047/convert'
-
上执行此命令 删除服务器时,不会删除 loggerhost 映射条目。检查是否有与old.server.com相关的任何过时条目。在new.server.com 上执行此命令:
zmloggerhostmap
-
如果在上述命令的输出中发现任何过时的条目,请执行以下命令将其删除:
zmloggerhostmap -d old old.server.com zmloggerhostmap -d old.server.com old.server.com