提示
X
本案例来自tskb,请前往tskb修改源内容:立即前往
'>

【AD】七层虚拟服务状态不可用,虚拟服务IP端口一直通

|

问题描述

当配置的七层虚拟服务,出现虚拟服务故障,状态不可用时,去使用telnet探测虚拟服务的地址和端口,还是可以正常探测成功的。

有效排查步骤

1) 四层虚拟服务正常状态下探测分析

使用telnet命令进行虚拟服务探测

抓包分析

从数据包看出四层虚拟服务的探测就是去探测后端服务是否正常。

2)七层HTTP虚拟服务正常状态下探测分析



使用telnet探测虚拟服务



抓包分析
从数据包看出探测七层虚拟服务,就是探测虚拟服务在AD上是否有启用对应端口,和后端服务状态无关。

3)四层虚拟服务不可用状态下探测分析



使用telnet探测四层虚拟服务

抓包分析
四层虚拟服务,节点全故障,导致虚拟服务故障,所以直接丢弃不响应,探测就失败。

4)七层HTTP虚拟服务不可用状态下探测分析



使用telnet探测虚拟服务

抓包分析

补充tcp-l7类型测试,比较特殊,重点关注下
5)七层TCP-L7虚拟服务正常状态下探测分析



使用telnet探测虚拟服务


抓包分析


6)七层TCP-L7虚拟服务不可用状态下探测分析



使用telnet探测虚拟服务


抓包分析


根因

1、由于虚拟服务配置完成后,会在AD设备上启用对应的服务,当后端服务器故障后,上报给虚拟服务,导致虚拟服务也故障,这也不会影响虚拟服务探测正常,探测虚拟服务本身是探测在AD设备的虚拟服务是否正常,并不是去探测后端服务的状态,因此VS故障同样能探测成功。

2、而四层虚拟服务,是纯转发的,因此探测四层虚拟服务,就是去探测后端对应的服务,所以当后端服务故障后,导致虚拟服务故障时,去探测四层直接就是不通的。

解决方案

通过TCP优化策略解决虚拟服务故障也可探测成功

在【应用负载】——【优化策略】——【TCP策略】中,新建七层虚拟服务优化策略,并配置虚拟服务离线策略。(四层虚拟服务也类似,服务类型选择四层虚拟服务即可)


配置七层虚拟服务并关联TCP优化策略




使用telnet探测虚拟服务

选择RESET和DROP虚拟服务离线策略,分别是虚拟服务回复RST包,以及不作响应处理


建议与总结

一、当虚拟服务配置为四层类型的时候,为纯转发,后端服务节点全部不可用时,出现虚拟服务不可用,不需要配置TCP优化策略里面的虚拟服务离线策略,本身就是不响应处理机制,除非需要让虚拟服务响应RST包,可以进行特殊配置;

二、如果是配置的七层http等类型,默认探测结果都是成功的,和后端节点无关,因此需要七层虚拟服务故障时,无法探测成功的话,就需要配置TCP优化策略的虚拟服务离线策略,选择对应的RESET方式和DROP方式。

三、如果是配置的七层TCP-L7等类型,默认探测结果也都是成功的,但是和后端节点有关,当后端节点正常时会向后端转发,故障时,AD设备就直接回应;因此同样需要七层虚拟服务故障时,无法探测成功的话,就需要配置TCP优化策略的虚拟服务离线策略,选择对应的RESET方式和DROP方式。

补充:七层TCP策略中虚拟服务离线策略是7.0.8版本新增功能。

我要分享
文档编号: 204385
作者: admin
更新时间: 2023-02-28 17:21
适用版本: