“我是负载均衡新手,文档太复杂,需要入门资料。”
“我要初始化一台负载均衡器,人生第一次,需要指导。”
如果你是新手,如果你第一次接触负载均衡器,如果它的名字是Citrix NetScaler,那恭喜,前面的问题完全不是问题了。请直接开机,打开浏览器,按照向导在几分钟内就可以配置完成,你从此迈过了负载均衡应用交付的门槛,一个新的世界豁然开朗:
输入用户名密码配置管理地址后便会看到这个向导界面
您看到了一个陌生的词,Subnet IP Address,如何继续? 请先不用着急填写,往右看,有一幅图(NetScaler把重要的教材内置了!!):
负载均衡的秘籍被您打开了! 这幅图就是你要掌握的核心知识了!
有了负载均衡器在前端后,后面的服务器组被虚拟成一个VIP。因此图的左上角可看到当某人访问你的网站时,源地址是笔记本的client客户端ip,而目标地址是VIP。
在NetScaler收到请求后,会进行各种安全检查,例如不合协议规则的访问或者地址欺骗的syn攻击,SQL注入攻击,都会被阻止丢弃,并不会继续传递到后方。同时还会进行各种高级处理,例如按照你设定的均衡算法来分配流量,按照你安排的策略分发给不同的服务器。
处理后便看到了图的右上角,此时NetScaler主动发起连接,使用的源地址就是我们要配置的SNIP,目标地址是真实服务器的ip。从名称subnet ip可知,从设备直连的子网分配一个ip即可,有些类似某些网络设备的接口ip,或者vlan的ip。
服务器的回应如图的下方,也同样是两段。服务器回应给NetScaler SNIP, NetScaler最终使用VIP回应给客户端。
所以NetScaler在中间后,我们不需要客户端到服务器的路由,也不需要配置NAT,仅仅考虑两端和NetScaler的连通性即可。如果网络规划比较简单,SNIP将和服务器地址在同一个子网。
说了很多,实际上配置的只有一步:SNIP地址
下一步我们来做一个简单的负载均衡。点选Load Balancing- Services - Add,添加一个真实服务器的服务
为什么我要负载的是服务而不是服务器?
拿Web服务器来说,你要负载的仅是这个网站,这个web 服务,也许仅仅是80或者443端口,而不是整个服务器,服务器上安装了很多的服务开启了很多的端口,把所有的端口都发布出去?这绝不是你想要的。
协议选择http,端口会自动填写上80,如果不是就请更改。
一台添加完,再添加一台,你将在界面上看到你添加的服务
看到state状态应该是绿色的Up ,NetScaler在负载的过程中,会不断探测后端的服务,如果服务发生问题就不会负载了,默认的健康探测是tcp的。绿色代表两点:
1.后端服务器路由可达
2.后端服务端口开启
这样的探测就避免了单纯的ping检查,虽然能ping通服务器,但实际上http的服务根本没打开,根本访问不了网站。
在未来的学习中还会遇到更复杂的问题:如 服务正常但ping被禁用;端口虽然开启,但网页不存在,或者进程僵死;或者你要负载的是SQL服务,要查到相应的表项才证明服务正常等等,希望您在配置的过程中想想如何解决,后面的文章我会继续讨论。
万事俱备,只欠东风 -- 配置VIP,选择负载的服务
点击-Traffic Management- Load Balancing- Virtual Servers-Add
这里协议要和我们负载的服务选择一致,IP地址是你要让用户访问的虚拟地址
OK以后点击,将提示你还没有关联服务,继续点击
你将看到之前创建的真实service,勾选点击 select-bind
此时,将看到虚拟的ip状态也变成了绿色,您可以访问测试了
此时NetScaler按照默认的负载算法均匀的把客户的请求分给您后端的服务器们,断开任意的服务器,NetScaler将瞬间感知,把新的请求分给仍然健康的后端。
在这篇文章里我们仅仅做了三步:
1 配置SNIP
2 配置 Service
3 配置VIP并绑定Service
好的,在15分钟的简单配置后,可以明确的说,您的业务将:
“仙福永享,寿与NetScaler齐”
嗯,虽然经常接到的反馈“NetScaler是我用过的最稳定的负载均衡器”“2001年上线的NetScaler至今还在正常服役”,但我应该负责的说,为了世界和平,还是建议您部署备机。
这时可能会说:“备机一直在空闲状态,买了在大多数情况下只是浪费资金。”,这个问题太好了,实际上用了多年的主备技术在负载均衡中早已经落伍,同样是两台设备,为什么不都使用起来,让性能翻倍? 详情请见这篇文章 负载均衡技术中的真集群和伪集群