1.8.4. 持久性和防火墙标记
在某些情况下,对于客户来说,重新连接系统的真实服务器、而不是用 LVS 负载平衡算法将请求发送到最合适的服务器是可取的。这样的例子包括多屏幕的 web 表单、cookies、SSL 和 FTP 连接。在这些情况下,除非保留了上下文的相同服务器来处理事务用,否则客户端可能不能正确工作。LVS 提供两个不同的功能来处理这种情况:持久性(persistence)和防火墙标记(firewall mark)。
1.8.4.1. Persistence
启用后,持久性起到定时器的作用。当客户连接一个服务时,LVS 会在指定的时间内记住最后的连接。如果具有相同 IP 地址的客户在这段时间内再次进行连接,它将被送往和上次连接相同的服务器 — 忽略负载平衡机制。而当连接在这段时间外发生,它会按照适当的调度规则进行处理。
持久性也允许您指定适用于客户 IP 地址的子网掩码,它将连接按子网分组,控制哪些地址具有更高的持久性级别。
对于使用多个端口通信的协议(如 FTP)来说,根据端口进行连接分组是很重要的。然而,持久性不是处理根据端口进行连接分组的效率最高的办法。对于这样的情况,您最好使用防火墙标记(firewall mark)。