MDaemon集群——部署要求以及如何配置节点
MDaemon的集群服务旨在在网络上的两个或多个MDaemon服务器之间共享您的配置。这样,您便可以使用负载平衡硬件或软件在多个MDaemon服务器之间分配电子邮件负载,从而可以通过减少网络拥塞和过载以及最大化电子邮件资源来提高速度和效率。如果其中一台服务器发生硬件或软件故障,它还有助于确保电子邮件系统中的冗余。 它不复制用户邮件文件夹或公用文件夹数据,也不处理邮件路由。
在决定是否在网络上设置MDaemon集群时,您需要考虑以下几点:
(MDaemon 20.0以下版本不支持群集功能)
节点
- MDaemon群集将具有一个主节点和一个次要节点。一台MDaemon服务器将被指定为主服务器,而其他所有服务器将被指定为次要服务器。
- 主节点是唯一可用于进行配置更改的节点。如果您在次要服务器上进行配置更改,则这些更改将被覆盖。 因此,大多数配置选项在次要节点上的用户界面中不可访问。
- 次要节点上的XML-API是只读的。
- 在次要节点上发生的电子邮件更改将发送到主节点,然后主节点将所有更改通知所有其他节点。
- 集群中的每个节点都需要自己的MDaemon密钥。
- 集群中的每个节点都需要运行相同版本的MDaemon。
- 集群中的每个节点应位于同一网络上。我们不建议使用集群服务来群集位于不同位置的服务器。
路由
- MDaemon不处理任何流量的路由。建议使用第三方负载平衡器来处理流量路由。
- 在您的负载均衡器中需要启用会话保持,以便将来自同一IP的所有流量路由到同一主机。
- 这对于Webmail和远程管理(MDRA)通信非常重要,因为它们不支持集群。Webmail和MDRA的会话信息未在节点之间传递。登录到特定服务器上的Webmail或MDRA时,该会话的所有流量都需要路由到该服务器。
- 所有HTTP和XMPP通信都应路由到主节点。这是最简单和引起问题最少的方法。如果您不使用下面提到的功能,则可以根据需要进行配置,但是会话保持仍然是必需的。
- XMPP服务器不支持集群。如果使用IM功能,则所有XMPP通信都必须流向同一服务器。
- MDRA不支持集群。如果将MDRA流量路由到次要服务器,则更改将被覆盖。MDRA通信必须路由到主节点。
- Webmail通信量需要与XMPP通信量路由到同一台服务器,否则Webmail IM功能将不起作用。
邮箱和文件夹
- 邮箱必须存储在集群中每个节点都可以访问的共享路径中。如果使用UNC路径,则必须以有权访问网络位置的用户身份运行MDaemon服务。
- 这是一个手动过程,可以移动用户邮件文件夹的内容并更新MDaemon中的用户邮箱路径。
- 新帐户模板将使用集群配置中提供的邮箱路径进行更新。
- 公用文件夹必须存储在共享路径中,集群中的每个节点都可以访问该共享路径。
- 将数据移动到共享位置是一个手动过程。
- 集群服务将使用集群配置中提供的公用文件夹路径来更新MDaemon.ini文件。
- Lockfiles目录必须是共享位置。集群服务可以自动执行此操作。若要手动配置,请在\MDaemon\App\MDaemon.ini文件的[Directories]部分的LockFiles = 键中编辑路径。
- \MDaemon\PEM目录必须是共享位置。在\MDaemon\App\MDaemon.ini文件的[Directories]部分中编辑PEM密钥。将MDaemon\PEM\文件夹复制到新的共享位置,然后重新启动MDaemon。
动态屏蔽
动态筛选会将所有请求发送到主服务器,并将主服务器中的数据复制到次要服务器。
- 如果主服务器处于脱机状态,则次要服务器将使用其自己的动态屏蔽配置,该配置应与主服务器脱机时的配置相同。当主服务器恢复联机时,次要服务器对动态屏蔽所做的任何更改都将被覆盖。
- 如果主服务器出现故障,尝试通过主服务器处于脱机状态时冻结的电子邮件解冻帐户可能会出现问题。
证书
每个节点均应安装正确的证书,证书需要手动移动到集群中的每个节点。
- 节点中的每个服务器都将尝试使用相同的证书。如果节点没有正确的证书,则所有SSL/TLS/HTTPS通信都将在该节点上失败。
- Let's Encrypt目前不支持次要节点。
其他
- 附件链接不能在集群中使用。如果启用,则次要服务器提取的所有附件将变得不可访问且成为孤立对象。
- 集群中的所有节点应配置为使用相同的时区,并且时间应相同。如果时区不同,或者时间间隔超过1秒,则会在群集日志中记录一条警告。
配置集群服务
请按照以下步骤配置集群服务:
- 确保已更新所有邮箱路径并调整了公用文件夹路径。主服务器应使用该数据的网络存储位置,并且应该能够在继续操作之前毫无问题地访问数据。
- 在每个节点上安装所有适当的证书。
- 使用唯一密钥在次要节点上安装并激活MDaemon。
- 在主节点上,选择“设置->集群服务”。
- 点击添加
- 由于MDaemon正在网络中搜索可用服务器,因此这可能会很慢。
- 在“服务器名称”中输入安装了MDaemon的次要节点的NETBIOS名称。
- 选择一个服务器ID号
- 点击确定
- 检查插件/集群日志,以确保两个服务器已连接并且正在复制。
- 转到次要节点并检查“设置->集群服务”,以确认在“注册服务器”下看到主节点和次要节点。
- 如上所述,配置负载平衡硬件或软件以将流量路由到群集。