几年来我一直在使用NFS (它是我在网络文件中唯一熟悉的)。但是还是查不出来..
NFS在集群设计(或负载平衡?)主要目标是不要让我的单个运行 NFS 服务器出现单点故障。
由于我不知道如何正确制作,到目前为止我自己发明的是:
Shell Script以检查 NSF-Master 服务器挂载点的健康状态。然后如果需要,从它自动卸载(离开),然后从第二个自动挂载。nfsstat -m.. 检查挂载点的健康状况。(我正在使用红帽)
但无论如何,我仍然不认为这是安全和标准的方式。
我需要一个建议来实现这个问题的正确解决方案:
如上图所示,我有 2 个应用服务器需要通过互联网与外部第三方提供商通信,目前配置非常简单,防火墙有一个 ptp VPN 与远程提供商和应用程序服务器使用特殊的防火墙规则直接调用远程主机,以启用通过 ptp VPN 与远程主机的通信。

这种配置没有冗余,因为实际远程主机有 2 个不同的公共 IP,位于世界不同的地方。问题是,当远程主机 IP 1 关闭时,整个事情都不起作用,但防火墙不够“智能”,无法实时切换到另一个 IP 并提供某种 NAT。所以我的想法是将所有这些逻辑移动到安装在另一台主机上的第 4 层/第 7 层负载均衡器上的软件中,因此 2 个应用服务器应该调用本地网络上的虚拟 IP,并且负载均衡器将在出现故障时自动切换节点 1 到节点 2 以对应用程序完全透明的方式(见下图)。

无论如何,我的问题是:我应该在负载均衡器上使用什么样的软件来满足我的要求?我在考虑 IPLVS + Keepalived 或类似的东西,如果有人有更好的建议将不胜感激。该系统基于 Red Hat 5,应用服务器是 Jboss 5,以 Cisco ASA 作为防火墙。:)
(PS 此设置应在 1 周内完成)。
我有以下负载平衡配置:
10.0.1.31 - lb
10.0.1.35 - virtual IP
10.0.1.32 - node1 (tomcat + mysql)
10.0.1.33 - node2 (tomcat + mysql)
Run Code Online (Sandbox Code Playgroud)
我正在使用keepalived哪个将数据包重定向到活动节点 - 共享 IP 地址是 10.0.1.35。lb 需要配置:
echo "net.ipv4.ip_nonlocal_bind = 1" >> /etc/sysctl.conf
Run Code Online (Sandbox Code Playgroud)
node1 和 node2 正确处理传入的数据包需要有 10.0.1.35 lo
[root@lb-node1 ~]# ip addr list dev lo
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet 10.0.1.35/32 scope global lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever …Run Code Online (Sandbox Code Playgroud) 我正在寻找创建一个负载平衡服务器。本质上这就是我想做的:
我有一个公共 IP 地址,假设为 1.1.1.1 我有第二个公共 IP 地址,假设为 2.2.2.2。我有一个网站,www.f.com 通过 A 记录指向 1.1.1.1。我希望 Ubuntu 服务器像这样转发流量:
端口转发比负载均衡更重要。
我期待一些回应。服务器1.1.1.1和2.2.2.2都运行Ubuntu 12.04服务器版本。
我们可以在单个接口上设置多个 IP 地址,例如使用 NetworkManager:

如何与此 PC 外部建立任何连接以使用不同的 IP?
例如,如果我有 8 个 IP 地址 ( 10.7.4.x, 10.7.4.x+1, 10.7.4.x+2, ...),我想使用不同的 IP 连接每个目标地址,使用随机 IP 或顺序 mod(当目标 IP mod 8 = 0 时,然后使用x, 当目标 mod 时8 = 1,然后使用x+1,依此类推)