持久性配置文件控制强制客户端在指定持续时间内保持连接到同一服务器的设置。这有时称为“粘性连接”。
默认情况下,每次客户端连接到虚拟服务时,负载均衡可能会将客户端发送到不同的服务器。服务器持久性保证客户端每次连接到虚拟服务时重新连接到同一服务器,直到持久性不再有效。启用持久性配置文件可以确保客户端每次或至少在所需的持续时间内重新连接到同一服务器。对于大多数在本地保留客户端会话信息的服务器,持久性连接是至关重要的。
所有持久性方法基于相同的原理,即,查找客户端的唯一标识符,并在所需的时间长度内记住该标识符。可以将持久性信息存储在 Vantage 服务引擎本地,也可以将其发送到客户端,例如,通过 Cookie 或 TLS 票证。然后,客户端向 SE 提供该标识符,这会指示 SE 将客户端发送到正确的服务器。
持久性是在
中配置的可选配置文件。在创建配置文件后,可以将其附加到一个或多个池。持久性类型
可以为 NSX Advanced Load Balancer 配置多个持久性模板:
HTTP Cookie 持久性:NSX Advanced Load Balancer 将 Cookie 插入到 HTTP 响应中。
应用程序 Cookie 持久性:NSX Advanced Load Balancer 读取现有的服务器 Cookie 或 URI 嵌入数据,例如 JSessionID。
HTTP 自定义标头持久性:管理员可以创建标头值到特定服务器的自定义静态映射。
客户端 IP 持久性:将客户端的 IP 作为标识符并映射到服务器。
TLS 持久性:将持久性信息嵌入在客户端的 SSL/TLS 票证 ID 中
GSLB 站点 Cookie 持久性:可以将 GSLB 应用程序配置为保持连接到启动事务的站点。(请参见《VMware NSX Advanced Load Balancer GSLB 指南》中的 GSLB 站点 Cookie 持久性一节。)
在持久性配置文件外部,提供了两种其他类型的持久性:
DataScript:可以使用 DataScript 构建自定义持久性以获得唯一的持久性标识符。
一致哈希:这是组合的负载均衡算法和持久性方法,它可以将不同的标识符作为键。
持久性镜像
持久性数据存储在 NSX Advanced Load Balancer 服务引擎本地,或发送到客户端并由客户端存储。
客户端存储的持久性(包括 HTTP Cookie、HTTP 标头映射和一致哈希)不会保留在服务引擎本地。在收到数据(例如,客户端提供的 Cookie)时,它包含客户端的持久性服务器的 IP 地址和端口。不会消耗本地存储或内存以镜像持久性。持久性表可能是无限大的,因为不会在本地保留表。
对于本地存储的持久性方法(包括 HTTP 应用程序 Cookie、TLS、客户端 IP 地址和 DataScript),NSX Advanced Load Balancer SE 在本地表中保留持久性映射。该表自动镜像到支持虚拟服务的所有其他服务引擎和控制器。SE 故障切换不会导致持久性映射丢失。要支持更大的持久性表,请为服务引擎分配更多内存:选择 。
持久性配置文件设置
选择
以打开“持久性配置文件”选项卡。搜索:在对象列表中搜索。
创建:打开新建持久性配置文件屏幕。
编辑:打开现有配置文件的编辑持久性配置文件屏幕。
删除:只有在配置文件当前未分配给虚拟服务时,才能删除该配置文件。将显示一条错误消息以指示引用该配置文件的虚拟服务。可以编辑默认系统配置文件,但无法将其删除。
该选项卡上的表为每个持久性配置文件提供以下信息:
字段 |
描述 |
---|---|
持久性名称 |
配置文件的名称。 |
类型 |
下一节提供了每种类型的持久性的完整描述。持久性可能具有以下类型之一:
|
创建持久性配置文件
新建持久性配置文件和编辑持久性配置文件屏幕具有相同的界面。
创建或编辑持久性配置文件:
字段 |
描述 |
---|---|
名称 |
在“名称”字段中输入持久性配置文件的唯一名称。 |
类型 |
使用类型下拉菜单选择持久性类型。可用的选项包括:
|
在持久性服务器关闭时选择新的服务器 |
确定该配置文件如何处理以下情况:运行状况监控器将服务器标记为关闭,同时 NSX Advanced Load Balancer 将客户端保持连接到该服务器。
|
持久性超时 |
在“持久性超时”字段中输入保留客户端 IP 地址的分钟数。如果输入 0,将禁用持久性并允许立即使用新服务器对新连接进行负载均衡。在关闭从同一源 IP 地址到虚拟服务的所有连接时,超时将开始倒计时。该字段仅适用于客户端 IP 持久性。 |