很多人经常问如何实现2台或多台相同业务的服务器的主备功能,也就是说对外使用同一个VIP,后端对应2台或多台真实服务器,但正常情况下只有1台或某几台作为主服务器,只有当主服务器出现问题后剩余的服务器以备服务器的身份接管业务。从技术角度讲,这种需求属于不明智的,但只要是存在的就是合理的,你无法完全左右客户的想法。既然有需求,作为功能强大的Netscaler自然有解决办法,只不过这种需求是违背负载均衡设计的,所以大家不太明白如何配置。接下来写个博客,免得经常回答类似问题。
在Netscaler上要实现上述需求有三种做法(貌似某信服内置就相关算法,真是服了),具体使用何种方法请根据具体的业务情况去选择1、通过backup vserver来实现逻辑图
配置:新建两个vserver,两个vserver添加各自的service两个vserver对应的service(这里用一台web的不同端口代替两台web服务器)在primary的vs上设置备用vs正常情况下访问primary正常情况下访问backup禁用80端口模拟主服务器故障此时primary变为down,但实际效果的状态依旧是UP用户访问192.168.0.57(primary的IP)依旧没问题,同时hostname也没变2、通过listen policy来实现逻辑图配置新建两个vs,端口全为80primary绑定80口的service,primary2绑定81口的service来模拟两台服务器截图略配置primary2的listen policy正常情况下访问,命中primary的vs禁用80口的service,模拟主服务器故障,vs变为如下状态再次访问业务,命中primary2的vs业务正常3、通过monitor来实现逻辑图配置勾选reverse正常情况下service的状态,backup为down新建vserver,绑定两个service禁用80端口模拟故障,service状态访问业务正常通过深度理解Netscaler的各个参数可以提供多种解决问题的思路。