我正在尝试使用IP_VS内核模块的loadbalacing设置我的2网关configuration。
我需要负载平衡转发stream量到2个节点。 我做:
设置ip_vs fwmark服务并添加2个节点。
在每个节点设置networking防火墙规则来设置FWMARKstream量DestAddr != node_ip ;
但lvs_service没有检测到标记的stream量,也没有检测到负载均衡。
任何人都可以帮助正确的configuration? 这是所需的configuration/拓扑图:
你在做什么不是什么IP_VS打算用于。 我觉得你最好完全忘记IP_VS并使用不同的方法。
你在图中提到了VRRP。 这是对您的问题更明智的方法。 但请注意,VRRP本身是为了冗余而不是负载平衡。 简单地使用VRRP而没有任何其他的负载平衡手段将使所有的客户端都使用一个路由器,直到路由器发生故障,所有的客户端移动到另一个路由器。
您可以在不使用VRRP的情况下对路由器之间的客户端进行负载平衡。 您可以简单地向客户端分发两个不同的网关IP地址。
这种负载平衡的基本方法不允许您轻松地重新平衡stream量,并且不提供故障切换function。 通过DHCP,您可以告诉客户端机器使用哪个路由器,但即使该路由器变得过载,它也将继续使用该路由器。 当客户端断开连接并重新连接到networking时,您只能在路由器之间切换stream量。
不是将分配给物理接口的两个IP地址分配为网关地址,而是将一组虚拟IP地址分配给客户端。 您使用的网关地址越多,您就越可以在路由器之间切换stream量。
例如,您可以分配10个不同的网关地址,并且每个路由器都是5个网关地址的主要地址。 通过DHCP,您可以平衡10个网关地址之间的客户端,并且VRRP可以允许每个地址在两台路由器之间独立地进行故障切换。
还有一个警告,如果涉及任何NAT。 如果两个网关都在执行NAT,那么在网关之间故障转移网关IP将导致所有使用该网关IP的客户端破坏build立的连接。 解决这是设置中最具挑战性的部分。 好消息是,只要你很less在网关之间切换网关IP,对用户来说不会是一个大问题。
如果每个路由器都知道从LAN接收到的数据包属于另一个路由器NAT转换的连接,并通过两个路由器之间的链路转发该数据包,则可以做得更好。 它应该只是通过该链接转发的less量stream量,并且发送到网关IP的stream量大多数只是故障转移到另一台路由器,而实际上将通过与客户端相同的路由器上的WAN连接发送给。