|
下文给大家带来LVS_DR模式原理及负载均衡的配置流程,希望能够给大家在实际运用中带来一定的帮助,负载均衡涉及的东西比较多,理论也不多,网上有很多书籍,今天我们就用Vecloud在行业内累计的经验来做一个解答。
1、结构client: 客户端IP CIP:10.3.138.126
Director:分发器 VIP:192.168.10.200
DIP:192.168.10.128 //分发器真实IP
Real Server: RIP: 192.168.10.129 192.168.10.130
VIP: 192.168.10.200
2、LVS_DR模式原理DR添加VIP供外部访问,DR将请求转发至server服务端,在server服务端上的回环网卡上添加同DR的VIP,并且掩码高于使用网卡,这样就能实现server端回数据的ip是VIP,客户端才能正常接收。DR区别于NET模式是返回包时不用再经过DR分发器,减轻DR负载。NET需要开启路由转发。
3、搭建要求DR和RS必须在同一个物理网络内
1、Director分发器配置yum -y install ipvsadm //ipvsadm LVS管理工具,RHEL确保LoadBalancer仓库可用ip addr add dev ens33 192.168.10.200/32 //配置VIPipvsadm -C // 清除内核虚拟云服务器表中的所有记录ipvsadm -A -t 192.168.10.200:80 -s rr //在服务器列表中新添加一条新的虚拟服务器记录 -s算法 rr轮询ipvsadm -a -t 192.168.10.200:80 -r 192.168.10.129 -g //-r 真实的服务器地址(要转发到哪)ipvsadm -a -t 192.168.122.100:80 -r 192.168.10.130 -g //-g工作模式ipvsadm -S //保存----------------------------------------------------------ipvsadm -Ln //查看配置列表ipvsadm -L -n --stats // 显示统计信息ipvsadm - L -n --rate //看速率 ipvsadm -Ln -c //查看LVS的连接条目2、RS服务端配置systemctl start nginx //开启你的WEB服务ip addr add dev lo 192.168.122.100/32 //在lo接口上绑定VIPecho 1 > /proc/sys/net/ipv4/conf/all/arp_ignore //non-arpecho 2 > /proc/sys/net/ipv4/conf/all/arp_announce因为:realServer的vip有了,接着就是同一个网段中拥有两个vip, 客户端在网关发送arp广播需找vip时需要让realServer不接受响应. 解决:echo 1 >/proc/sys/net/ipv4/conf/eth0/arp_ignore arp_ignore设置为1,意味着当别人的arp请求过来的时候,如果接收的设备没有这个ip,就不做出响应(这个ip在lo上,lo不是接收设备的进口)echo 2 >/proc/sys/net/ipv4/conf/eth0/arp_announce 使用掩码最长的的ip来回应。保证回包的时候是用vip回,不然客户端请求的是VIP,回复却不是请求的IP就会有问题。4、测试浏览器:http://10.3.138.200linux终端:curl http://10.3.138.200多次访问后ipvsadm -Ln -c //查看总请求数,可以看到一个server分发的请求数就能看到效果了。 |
|