简单罗列基础命令,只分享我的想法!
介绍Linux Cluster中lvs-nat和相应的负载均衡搭建方法。
- lvs介绍
lvs是章文嵩发明的根据目标地址和端口做出转发与否决策,并根据相应调度算法做出决策的Linux Cluster。不像Nginx等基于应用层协议依靠socket来实现负载均衡,受限于端口的数量。
- lvs-nat类型说明
RIP:Real IP,应用服务器的ip。
VIP:DirectorVirtual IP,面向客户端的ip。
DIP:Director IP,面向后面应用服务器通信的IP。
类似于DNAT, 但支持多目标转发;
它通过修改请求报文的目标地址为根据调度算法所挑选出的某RS的RIP来进行转发;
架构特性:
(1) RS应该使用私有地址,即RIP应该为私有地址;各RS的网关必须指向DIP;
(2) 请求和响应报文都经由Director转发;高负载场景中,Director易于成为系统瓶颈;
(3) 支持端口映射;
(4) RS可以使用任意类型的OS;
(5) RS的RIP必须与Director的DIP在同一网络;
三、算法说明
静态方法:仅根据算法本身实现调度;
RR: round-robin, 轮询;轮叫、轮调、轮流;
WRR:weighted round-robin, 加权轮询;
SH:Source ip Hashing,源地址哈希;把来自同一个地址请求,统统定向至此前选定的RS;
DH:Destination ip Hashing, 目标地址哈希;把访问同一个目标地址的请求,统统定向至此前选定的某RS;
动态方法:根据算法及后端RS当前的负载状况实现调度;
LC: least connection算法
Overhead=Active*256+Inactive
WLC: weighted least connection算法
Overhead=(Active*256+Inactive)/weight
SED:Shorted Expection Delay算法
Overhead=(Active+1)*256/weight
NQ:Never Queue算法
LBLC:Local-Based Least Connection,动态方式的DH算法;
LBLCR:Replicated LBLC,算法
四、配置
Rictor配置:
yum install ipvsadm -y Ipvsadm –A –t 192.168.0.22:80 –s rr Ipvsadm –a –t 192.168.0.22:80 –r 192.168.64.3 –m Ipvsadm –a –t 192.168.0.22:80 –r 192.168.64.3 –m echo 1 > /proc/sys/net/ipv4/ip_forward
另外两台测试机需要安装httpd,并把网关指向192.168.64.2然后开启服务即可,实验图如下图:
图1
五、利用ab对http://192.168.0.22/index.html做测试,查看rr的效果。
ab –c 100 –n 11000 http://192.168.0.22/index.html,你也可以通过物理机的浏览器查看rr这个算法的效果,不过因为缓存的关系,效果不是特别的好,建议使用ab。
效果如下:
图2
下一次,简单描述lvs-dr的使用说明,之后会对lvs和VMware的网络做总体的描述。