上周谷歌了这个问题,仍然找不到任何针对 FreeBSD 的合理解决方案。
大多数文章仅包含故障转移存储的解决方案(FreeBSD HAST)。这不是我要找的。
我需要一个 NAS,它可以同时实现负载平衡和冗余 + 可以作为常规目录(NFS?)供 FreeBSD APP 服务器访问。
我的问题与 Web 服务器或防火墙负载平衡无关。我所关心的是存储。
请为我指明正确的研究方向。
编辑:请不要发布 CARP IP 数据包平衡解决方案,这不是我要找的。
答案1
遗憾的是,它amd
缺乏使用多个主机的能力(如 Solaris 自动挂载器)。
因此,如果没有此功能,您必须添加逻辑服务 IP(ucarp
如果您愿意,可以使用 )存储0和存储1。每个服务 IP 应正常绑定,并且在一台设备发生故障时应进行故障转移。
现在,您可以将应用程序存储的一半绑定到 stor0 的服务 IP(偶数:app0、app2),另一半绑定到 stor1 的服务 IP(不偶数:app1、app3)。
通过 amd-automount-map 您可以使用 NFS-mounts 来使用它。这是一个静态的“负载平衡”,并且它使用故障转移机制。所以你可以同时拥有:负载平衡和哈哈。
答案2
浏览了各种选项后,我发现以下两个选项似乎符合您的要求。
哈斯特
第一个使用 HAST,但不作为故障转移。看起来,根据你如何设置 CARP + HAST,你可以实现负载平衡。
本指南介绍如何设置/配置 CARP 以实现负载平衡:
本指南介绍如何设置/配置 HAST:
第二个指南需要使用第一个指南的修改进行调整。
Corosync + 起搏器
另一种选择是设置科罗同步和起搏器。方向从源代码构建它在这里。
有相当广泛的有关设置 Corosync 的文档包括一个文件从头开始集群。