Linux 如何在Haproxy之后以最小的中断添加/删除新服务器

Linux 如何在Haproxy之后以最小的中断添加/删除新服务器,linux,tcp,load-balancing,iptables,haproxy,Linux,Tcp,Load Balancing,Iptables,Haproxy,Haproxy目前正在两台服务器之间平衡负载,AAB。客户端通过持久TCP连接连接到这些服务器 问题:我们想从服务器A升级到功能更强大的服务器C。如何在不中断/断开客户端连接的情况下添加第三台服务器C并删除a?如果使用iptables将连接从A重定向到C,那么如果我们在某个时候关闭A,或者A需要保持在线以继续将现有客户端重定向到C,它是否仍然有效?第一个问题是:如何添加第三台服务器。将haproxy配置更改为添加C将需要重新启动负载平衡器。但是,表示-st和-sf命令行参数的组合将通过允许hap

Haproxy目前正在两台服务器之间平衡负载,
A
A
B
。客户端通过持久TCP连接连接到这些服务器


问题:我们想从服务器
A
升级到功能更强大的服务器
C
。如何在不中断/断开客户端连接的情况下添加第三台服务器
C
并删除
a
?如果使用
iptables
将连接从
A
重定向到
C
,那么如果我们在某个时候关闭
A
,或者
A
需要保持在线以继续将现有客户端重定向到
C
,它是否仍然有效?第一个问题是:如何添加第三台服务器。将haproxy配置更改为添加C将需要重新启动负载平衡器。但是,表示-st和-sf命令行参数的组合将通过允许haproxy实例转移它们侦听的端口来最小化中断。实现这一点可能需要更改haproxy init.d脚本


对于第二种情况:如果您使用防火墙阻止a,那么绑定到a的流量将转到B和C或仅转到C,具体取决于haproxy配置。如果会话有粘性,这可能会中断一些客户流量。如果应用程序的会话是无状态的,那么客户端将看不到更改。如果您在阻止其流量后关闭了,那么您的客户将不会注意到。

关于第一个问题:如何添加第三台服务器。将haproxy配置更改为添加C将需要重新启动负载平衡器。但是,表示-st和-sf命令行参数的组合将通过允许haproxy实例转移它们侦听的端口来最小化中断。实现这一点可能需要更改haproxy init.d脚本


对于第二种情况:如果您使用防火墙阻止a,那么绑定到a的流量将转到B和C或仅转到C,具体取决于haproxy配置。如果会话有粘性,这可能会中断一些客户流量。如果应用程序的会话是无状态的,那么客户端将看不到更改。如果您在阻塞流量后关闭了,您的客户将不会注意到。

主题之外。请尝试serverfault.com.Off-topic。试试serverfault.com。谢谢。因此,在配置文件中,我删除了第一台服务器,添加了第三台服务器,并重新加载了haproxy。但是我注意到,大多数客户端仍然通过haproxy连接到第一台服务器,只有少数客户端可能在客户端断开连接后连接到第三台服务器。如何将当前连接到第一台服务器的客户端重定向到其他两台服务器,以便在不断开客户端连接的情况下关闭第一台服务器?谢谢。因此,在配置文件中,我删除了第一台服务器,添加了第三台服务器,并重新加载了haproxy。但是我注意到,大多数客户端仍然通过haproxy连接到第一台服务器,只有少数客户端可能在客户端断开连接后连接到第三台服务器。我应该如何将当前连接到第一台服务器的客户端重定向到其他两台服务器,以便在不断开客户端连接的情况下关闭第一台服务器?