SecurityGateway 的集群功能的设计旨在:在网络上的两个或多个 SecurityGateway 服务器之间共享您的配置。这使您可以使用负载均衡硬件或软件,在多个 SecurityGateway 服务器之间分配电子邮件负载,从而可以通过减少网络拥塞和过载,并最大化电子邮件资源来提高速度和效率。如果一台服务器发生硬件或软件故障,该功能还有助于确保电子邮件系统中的冗余。
在决定是否在网络上设置 SecurityGateway 集群时,需要考虑以下几点:
节点
一个 SecurityGateway 集群将具有一个主节点和一个次节点。一台 SecurityGateway 服务器将被指定为主服务器,而其他所有服务器将被指定为次服务器。
•集群中的每个节点需要运行相同版本的 SecurityGateway。
•集群中的每个节点都需要自己的 SecurityGateway 注册密钥。您不能在多个节点上使用相同的密钥。
•集群上的每个节点应位于同一个网络。集群系统未被设计成具有在地理位置上分离的节点。
•集群中的所有节点应设置为相同的时区,并设置为完全相同的时间。每个节点上系统时间的实质差异可能会导致问题。
•可以从集群中的任何节点进行配置变更。当进行配置更改时,所有其他节点都将收到变更通知。 注意:HELO 域名是一个按服务器的设置,因此可以在集群中的每台服务器上设置为唯一值。
•主节点负责维护任务,例如贝叶斯学习。
路由
SecurityGateway 不处理去往或来自特定节点的任何流量的路由。我们建议您使用第三方负载均衡器来处理流量路由。
负载均衡器中的粘滞(Sticky)会话是必需的,以便来自同一 IP 的所有流量都路由到同一主机。对于那些登录 SecurityGateway 的 Web 界面的用户而言,粘性会话最为重要,因此,如果有人登录到特定的服务器,则该会话的所有流量都将被路由到同一服务器。
共享的数据库和文件夹位置
在 SecurityGateway 集群中,所有服务器共享相同的数据库和一组特定的文件夹。因此,所有节点必须位于同一网络上,并且所有共享位置都必须对所有节点都可访问。由于 SecurityGateway 服务默认情况下以 LocalSystem 账户运行,又因为 LocalSystem 无权访问任何网络资源,您必须配置该服务来使用有权访问这些网络位置的账户。还请参阅: "下方的配置 SecurityGateway 来使用可访问网络的数据文件夹。
归档
要使用含有集群的归档,您的“归档”设置将需要配置为使用 Firebird 数据库服务器,并使用网络路径,以便所有节点都可以访问归档存储。
证书
•HTTPS 设置(包括证书)是针对每个节点的,并且需要为添加到集群的任何节点指定 HTTPS 设置。证书存储在每个节点上,而不存储在数据库中。因此,如果您希望在每个节点上使用相同的证书,则需要在每个节点上手动导入该证书,并将每个 SecurityGateway 配置为使用该证书。
• STARTTLS 白名单和要求 STARTTLS 列表配置是共享的。
•SecurityGateway 的 LetsEncrypt 选项目前不支持次节点。
如果您希望使用集群,并将 SecurityGateway 从早期版本更新为 7.0 或更高版本,则首先需要使用内含的 SGDBTool.exe 来将您的 SecurityGateway 数据库文件从 Firebird 2.x 转换成 Firebird 3.x。如果这是 SecurityGateway 7.0 的新安装或更高版本,则可跳过此步骤,因为您的版本已在使用 Firebird 3.x 数据库。
请按照以下步骤升级数据库:
1.停止 SecurityGateway 服务(点击 SecurityGateway 开始菜单文件夹中的“停止 SecurityGateway”或使用“服务”控制台)。
2.打开 Windows 命令行提示。
3.切换到您的 \SecurityGateway\app\ 文件夹。
4.输入: sgdbtool.exe -convertfb3 并按回车。
这会将您的 Firebird 2.x 数据库文件作为“SecurityGateway.fb2”另存为一份副本。然后它将使用 Firebird 3.x 运行时恢复您的数据库,并将其保存为“SECURITYGATEWAY.FBD”。如果您正在使用“归档”,这也将升级任何归档数据库文件。
SecurityGateway 集群中的所有节点共享同一数据库和一组公用的多个文件夹。因此,所有节点必须位于同一网络上,并且您必须确保每个节点的 Windows 服务被配置为使用有权访问共享位置的账户。您还必须确保正确配置每个节点来使用这些位置。如果需要将共享文件夹的内容移动到新位置,以便与所有节点共享它们,则必须手动移动它们。SecurityGateway 不会为您迁移现有文件。将使用以下共享的文件夹,并能从目录页面和集群页面对其进行配置(贝叶斯复制除外,该贝叶斯复制只能从群集中配置):
•邮件数据(例如 \\Share01\SecurityGateway\Messages\)
•邮件日志/SMTP 记录(例如 \\Share01\SecurityGateway\Transcripts\)
•附件(例如 \\Share01\SecurityGateway\Attachments\)
•贝叶斯学习非垃圾邮件(例如 \\Share01\SecurityGateway\BayesHam\)
•贝叶斯学习垃圾邮件(例如 \\Share01\SecurityGateway\BayesSpam\)
•贝叶斯复制(例如 \\Share01\SecurityGateway\BayesReplication)注意: 该文件夹对于集群是唯一的。主节点将其贝叶斯数据库复制到该位置,其他节点从该位置复制该数据。
请注意:数据库位置和凭据在安装过程中指定,或通过使用现有安装的 SGDBTool.exe(请参阅: "下方的配置 SecurityGateway 来使用外部数据库服务器。
归档存储
如果您正在使用归档功能,您也需要将您的“归档存储库”重新定位到网络可访问的位置,并且每个归档数据库文件都需要移动到 Firebird 数据库服务器。还请参阅: "使用含有集群的归档。
要使用集群,您必须将 Firebird 3 数据库服务器安装在集群中每个节点均可访问的网络位置。
要设置您的 Firebird 3 服务器:
1.下载 Firebird 3 数据库服务器.
2.在所有节点都可以访问的机器上运行安装程序。
3.接受“许可证协议”并点击“下一步”。
4.请阅读该信息并点击“下一步”。
5.选择一个文件夹并点击“下一步”。
6.在“选择组件”上点击“下一步”。
7.为“开始菜单”文件夹选择一个名称(或点击“不创建开始菜单文件夹”)然后点击“下一步”。
8.将“选择其他任务”选项设置为默认值(例如“超级服务器”模式,“作为服务运行”和“复制客户端库”),并点击“下一步”。
9.输入并重新输入 SYSDBA 密码(以后将需要“SYSDBA”用户名和此密码),并点击“下一步”。
10.点击“安装”。
11.点击“下一步”。
12.点击“完成”。
在 SecurityGateway 集群中,必须将每个节点配置为连接到相同的数据库文件,该文件必须位于您在上一节中设置的 Firebird 3 数据库服务器上。要设置 SecurityGateway 使用外部的数据库服务器:
1.在 Firebird 服务器上,为您的数据库文件创建一个文件夹(例如 C:\Databases)。
2.将您主要的 SecurityGateway 数据库文件(例如 \SecurityGateway\App\SECURITYGATEWAY.FBD) 复制到该位置。
3.在您的 SecurityGateway 服务器上,打开 Windows 命令行提示。
4.切换到您的 \SecurityGateway\app\ 文件夹。
5.输入: sgdbtool.exe -setdbconnect 并按“回车”。
6.对于“使用内嵌的 Firebird 数据库 Y/N?”请输入 N 并按“回车”
7.对于“输入 Firebird 服务器 IP”,输入 Firebird 服务器的 IP 地址(例如 10.10.0.1),然后按“回车”。
8.按“回车”来应对“输入 Firebird 服务器端口(默认值为 3050)”。
9.对于“输入 Firebird 数据库路径或别名”,键入复制到 Firebird 服务器的数据库文件的完整路径。(例如C:\Databases\SECURITYGATEWAY.FBD),并按“回车”。
10.按“回车”来应对“输入 Firebird 数据库用户名(默认值为 SYSDBA)”。
11.对于“输入 Firebird 数据库密码(默认的主密钥)”,键入在安装 Firebird 3 服务器时创建的密码,然后按“回车”。
现在,您的 SecurityGateway 主节点应连接到外部数据库服务器。
要使用含有集群的归档:
1.在 Firebird 服务器上为归档数据库文件创建一个或多个文件夹(例如“c:\databases\Archives\Example.com," "..\Archives\company.com”)。
2.为每个归档存储的存储位置创建网络可访问的文件夹。
3.将所有归档存储文件复制到这些新位置。
4.编辑每个归档存储存储位置来使用指向其新位置的 UNC 文件路径。
5.将您的每个“归档存储”编辑成“连接到 Firebird 数���库服务器实例”,并为每个数据库文件输入“数据库路径/别名名称”。
6.按需编辑您的“自动归档存储创建”设置,设置 UNC 文件路径并修改宏使用来支持集群。
要将新的 SecurityGateway 安装添加到您的集群:
1.在要用作新节点的计算机上运行 SecurityGateway 安装程序。
2.在安装过程中,选择“连接到外部的数据库服务器”选项,然后使用您在上一节中输入的信息。
3.正常进行其余的安装。
4.请确保在 Windows 服务部分使用正确的账户凭证,并且您已将新服务器配置为使用 UNC 文件路径连接到共享数据文件夹。
5.将所有必要的 SSL 证书复制到新计算机上。
如果您希望对集群使用 active/active 数据库复制,SecurityGateway 确实支持该功能,但它需要外部复制工具,并且其配置超出了本帮助文件的范围。有关如何配置集群来使用 active/active 复制的要求和指南,请参阅 PDF 文档: SecurityGateway: Configuring Active-Active Database Replication。