Apache 网络负载均衡和故障转移:安装 SafeKit apache_farm.safe 模块
Apache 高可用性快速安装指南
本指南介绍如何使用 SafeKit 为 Apache 设置 farm 集群,以确保网络负载均衡和自动故障转移。
如需帮助,您可以使用SafeKit AI 🤖。
1. 概述
- 架构: 实现一个可扩展的多节点负载均衡 farm,并带有虚拟 IP 地址。
- 高可用性: 具有自动运行状况监控和无缝故障转移功能,以确保服务连续性。
2. 安装
- 软件: 在所有服务器上安装 SafeKit 引擎。
- 模块: 下载预配置的
apache_farm.safe应用程序模块。
3. 配置
- Web 控制台: 配置 Apache farm 集群。
- 监控: 开始监控和保护 Apache 应用程序。
SafeKit 高可用性限制
| 限制/要求 | 原因与影响 | 推荐替代方案 |
|---|---|---|
| 复制大小:几 TB | 故障后的重新同步时间(步骤 3): • 1 Gb/s 网络 ≈ 3 小时/TB • 10 Gb/s 网络 ≈ 1 小时/TB(取决于磁盘写入性能) | • 使用外部共享存储(更昂贵,更复杂)。 |
| 文件数量:< 1,000,000 个文件 | • 故障后的重新同步时间性能(步骤 3)。 • 比较两个节点之间每个文件所需的时间。 | • 将要复制的许多文件放入虚拟硬盘/虚拟机中。 • 在这种情况下,只有代表虚拟硬盘/虚拟机的那些文件会被复制和重新同步。 |
| 故障转移容量:≤ 32 台虚拟机 | • 每个虚拟机都在独立的 mirror 模块中运行。 • 同一集群中最多可运行 32 个 mirror 模块。 | • 使用外部共享存储和另一个虚拟机集群解决方案(更昂贵,更复杂)。 |
| 网络架构:远程站点之间的局域网/虚拟局域网 | • 虚拟 IP 地址在同一子网中的 2 个节点之间自动故障转移。 • 良好的带宽,用于重新同步(步骤 3)。 • 同步复制的低延迟:通常 < 5 毫秒 RTT;应根据应用程序的写入速率验证较高值。 | • 如果两个节点位于不同的子网中(云中常见),请使用其他重新路由选项:负载均衡器、云提供商 CLI、BGP 或 DNS 重定向。 • 对于高延迟网络,请使用具有异步复制的备份解决方案。 |
SafeKit/Apache 解决方案概述
解决方案在此处介绍:💡 SafeKit:一体化 Apache 负载均衡和高可用性软件。
在 Windows 和 Linux 上安装 SafeKit/Apache 解决方案 (apache_farm.safe)
先决条件
- 您需要在 2 个或更多节点(虚拟机或物理服务器)上安装 Apache。
在 Windows 上安装软件包
- 在两台 Windows 节点上下载并安装 SafeKit 免费版。
注意:免费版本包含所有 SafeKit 功能。试用期结束后,您无需卸载软件包即可激活永久许可证密钥。 - 完成软件包安装后,选择 “立即设置控制台凭据和防火墙规则”,并为 SafeKit 控制台的 admin 用户配置密码。
在所有节点上设置相同的密码。 - C:/safekit/(默认安装目录)和您将要定义的所有复制文件夹从防病毒扫描中排除。
由于 SafeKit 与操作系统紧密集成、采用虚拟 IP 机制、实时复制以及关键服务重启等特性,杀毒软件可能会面临检测挑战。
在 Windows 上安装模块
- 下载 apache_farm.safe 模块。该模块免费。它包含 userconfig.xml 文件和重启脚本。
- 将 apache_farm.safe 放在 C:/safekit/Application_Modules/generic 目录下。
下载 apache_farm.safe (Windows) >
在 Linux 上安装软件包
- 在 2 个 Linux 节点上安装免费版 SafeKit。注意:免费试用版包含所有 SafeKit 功能。试用期结束后,您无需卸载软件包即可激活永久许可证密钥。
- 下载 safekit_xx.bin 包后,运行该包以提取 rpm 和 safekitinstall 脚本,然后运行 safekitinstall 脚本
- 回答 “是” 以启用防火墙自动配置
- 为 Web 控制台和默认用户 admin 设置密码。在所有节点上设置相同的密码。
在 Linux 上安装模块
- 下载 apache_farm.safe 模块。
该模块是免费的。它包含 userconfig.xml 文件和重启脚本。 - 将 apache_farm.safe 放在 /opt/safekit/Application_Modules/generic/ 目录下。
SafeKit/Apache 解决方案的分步配置
先决条件
- 在至少 2 个节点上安装 Apache。
- 对于虚拟 IP 负载均衡,所有节点必须位于同一 LAN 或扩展 LAN(第 2 层)。路由第 3 层网络需要 🛠️ 云负载均衡器。
1. 启动 SafeKit 控制台
- 在其中一个集群节点上,打开浏览器并连接到
http://localhost:9010。 - 使用用户名
admin和安装期间设置的密码登录。
您也可以从集群外部的工作站打开控制台。
⚠️ 使用单个浏览器通过 SafeKit 配置两个节点。
ℹ️ 要保护 Web 控制台,请参阅用户指南中的 🛠️ 11. 保护 SafeKit Web 服务。

2. 配置节点地址
- 输入每个节点的 IP 地址。按 Tab 键检查连接并填写节点名称。
- 如果
node1或node2为红色,请检查浏览器是否可以访问这两个节点。检查每个节点上的防火墙。请参阅 🛠️ 故障排除。 - 单击
Save and apply以保存配置。 - 检查两个节点是否都显示 ✅
Success。 - 如果节点显示 ❌
Failure,请展开其▼面板并阅读消息。如果您需要帮助,请使用 SafeKit AI 🤖。
ℹ️ 要添加第二个心跳网络和专用复制网络,请单击 LAN and nodes 中的第一个 ➕ 按钮。
ℹ️ 单击 Advanced configuration 以查看文件 cluster.xml。控制台会填充此文件,并将其部署到两个节点上。

3. 选择模块
- 在
New module中,选择模块apache_farm.safe。
ℹ️ 在蓝色横幅中,🛜 node1 是连接到控制台的节点。它在需要时将请求转发到 node2。
ℹ️ 如果您在安装期间添加了模块文件 xxx.safe,控制台会在 node1 上的 Application_Modules/generic/ 目录中查找它。

4. 配置模块
- 在
Module startup at boot中,将模块设置为在启动时自动启动,不带延迟。 - 在
Macros/SERVICES中,按启动顺序列出应用程序服务。用逗号分隔名称。 - 在
Heartbeat networks中,保留一个心跳网络,除非您在步骤 2 中添加了 LAN。 - 在
Virtual IP addresses中,输入与两个节点位于同一子网中的虚拟 IP 地址。 - 将应用程序客户端配置为使用此虚拟 IP 地址或其 DNS 名称。
- 在
Load balancing rules中,输入要均衡的服务端口,例如 TCP 端口 9010。 - 在
Load balancing rules中,选择Source address或Source port:Source address:来自同一客户端的所有 TCP 连接都将转到 farm 中的同一节点。这会在该节点上保留客户端的会话上下文。Source port:来自同一客户端的 TCP 连接可以转到 farm 中的不同节点。会话上下文不会在节点之间共享。
- 在
Checkers中,根据需要添加检查:进程监控、自定义检查、TCP、ping 或裂脑检查。 Monitored processes/services中列出的进程会受到监控,如果失败,则会重新启动。不正确的进程名称会导致模块在启动后立即停止。
ℹ️ 单击 Advanced configuration 以查看文件 userconfig.xml。控制台会填充此文件,并通过重启脚本将其部署到两个节点上。
ℹ️ 在云部署中,🛠️ 云负载均衡器管理虚拟 IP 地址和负载均衡规则。请勿在 SafeKit 中配置它们。
ℹ️ 应用配置时,SafeKit 会将 Windows 服务的启动类型设置为 Manual。服务随模块启动,而不是在系统启动时启动。还会 SafeKit 这些服务在 Linux 系统启动时启动。

5. 编辑脚本(可选)
- 在大多数情况下,您可以跳过此步骤。脚本已配置为重新启动上一步中列出的服务。
- 如果不需要更改,请点击
Next step。 - 脚本
start_both.ps1按照SERVICES。列表中的顺序启动服务。 - 脚本
stop_both.ps1以相反的顺序停止服务。 - 脚本
start_both.ps1还会检查每个服务。如果某个服务无法启动,它会停止该模块。

6. 通信加密(可选)
- 保持节点间通信加密。

7. 保存并应用
- 单击
Save and apply以在两个节点上部署配置和脚本。

8. 检查配置结果
- 检查两个节点是否都显示 ✅
Success。然后单击Monitor modules。 - 如果节点显示 ❌
Failure,请展开其▼面板并阅读消息。如果您需要帮助,请使用 SafeKit AI 🤖。

9. 在节点 1 和节点 2 上启动 farm 集群
- 打开⋯菜单,然后在两个节点上选择
Start,如图片所示。

10. 等待两个节点都处于 UP(绿色)
两个节点都必须达到 UP(绿色)状态。这意味着 start_both 脚本已在两个节点上运行。
⚠️ 如果节点未达到 UP(绿色)
- 单击
node1或node2的 🔍 图标以打开模块日志。查找错误,例如导致模块停止的检查。 - 在日志中,单击
start_both。脚本输出显示在右侧。检查是否有服务启动错误。 - 使用 SafeKit AI 🤖 获取日志消息方面的帮助。
ℹ️ 使用 🕒时间轴 🖼️ 来了解集群中的事件顺序。

11. 测试
SafeKit 包含一个内置的马赛克测试。请参阅在 SafeKit farm 集群中测试负载平衡虚拟 IP 地址。

ℹ️ 请参阅SafeKit 在线培训,了解更多详情和视频。
12. 支持
- 如需支持,请为每个节点创建一个 SafeKit
Snapshot。收集 2 个 .zip 文件。
ℹ️ 有关更多信息,请参阅SafeKit 支持。

SafeKit farm 解决方案演示
SafeKit 视频:网络负载均衡和虚拟 IP 管理 (5:03)
在本视频中,您将学习如何实施虚拟 IP 地址,为双节点集群提供单个入口点。SafeKit 通过自动管理虚拟 IP 来简化网络负载均衡,确保客户端流量在故障转移期间分布在各个节点上并即时重定向。尽管此演示使用 Windows 上的 Apache,但该解决方案与其他应用程序的工作方式相同。
章节
- 🎬 架构:为共享虚拟 IP 准备 2 个节点 (0:13)
- 🎬 配置:设置 farm.safe 模块和虚拟 IP 地址 (2:20)
- 🎬 验证:服务器崩溃时的故障转移测试和虚拟 IP 重定向 (2:30)
分步实施
🔍 探索 SafeKit
查找有关 SafeKit 功能、架构、视频、文档和免费试用的信息。
| 资源 | 描述 | 链接 |
|---|---|---|
| 主要功能 | 了解 SafeKit 为何是一种简单且经济高效的高可用性解决方案。 | 探索主要功能 |
| 用例 | 了解 SafeKit 如何保持关键应用程序和基础设施的可用性。 | 探索用例 |
| 部署模型 | SafeKit 无需 SAN 或共享存储即可提供高可用性。 | 探索部署模型 |
| 高可用性策略 | 比较虚拟机的可用性与应用程序的可用性。 | 比较这两种策略 |
| 技术规格 | 查看 SafeKit 集群的技术要求和限制。 | 阅读技术规格 |
| 视频 | 观看 SafeKit 配置和自动故障转移的演示。 | 观看技术视频 |
| 架构 | 了解 SafeKit mirror 集群如何实时复制文件并处理故障转移。 | 探索 Mirror 架构 |
| 架构 | 了解 SafeKit farm 集群如何平衡网络流量并处理故障转移。 | 探索 Farm 架构 |
| 产品对比 | 将 SafeKit 与传统的高可用性集群进行比较。 | 比较解决方案 |
| 技术资源 | 查找技术文档、下载 SafeKit 并访问免费试用版。 | 访问文档和免费试用版 |
| 应用模块 | 使用预配置的 SafeKit 模块为您的应用程序设置高可用性。 | 探索应用模块 |