LVS简单实现NATDR模型(2)

ifconfig eno16777736:0 192.168.1.100 netmask 255.255.255.255 route add -host 192.168.1.100 dev eno16777736:0 /* lvs/dr里,director的vip的netmask 没必要一定设置为255.255.255.255,也不需要再去 route add -host $VIP dev eth0:0 director的vip本来就是要像正常的ip地址一样对外通告的,不要搞得这么特殊. */

  (3)Director上设置规则:

ipvsadm -A -t 192.168.1.100:80 -s wrr ipvsadm -a -t 192.168.1.100:80 -r 192.168.1.103 -g -w 1 ipvsadm -a -t 192.168.1.100:80 -r 192.168.1.104 -g -w 2

  (4)RS1和RS2的设置:主要是调整内核参数和物理接口lo的地址绑定,通过脚本实现:

#!/bin/bash # VIP=$2 case "$1" in start) echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce ifconfig lo:0 $VIP netmask 255.255.255.255 broadcast $VIP route add -host $VIP dev lo:0 ;; stop) echo 0 > /proc/sys/net/ipv4/conf/all/arp_ignore echo 0 > /proc/sys/net/ipv4/conf/lo/arp_ignore echo 0 > /proc/sys/net/ipv4/conf/all/arp_announce echo 0 > /proc/sys/net/ipv4/conf/lo/arp_announce route del $VIP ;; *) echo "Tips:$0{start|stop}" ;; esac

  (5)用另外一个主机去访问VIP,可以看到效果了

总结:

  核心要点

  (1)调度器与实际服务器都有一块网卡连在同一物理网段上。

  (2)RIP和DIP一般在同一网络(因为转发是在数据链路层实现的,必须保证MAC不会变),且RIP的网关不能指向DIP;但两者未必和VIP在同一网络。

  (3)各RS需先设置内核参数,再设置物理接口lo的VIP和路由。

  (4)不支持端口映射

  (5)Director的ip_forward不需要开启转发,因为Director和RS在同一网络。

  (6)Director的VIP一般设置在网卡的别名上,如eth0:0或eno16777736:0上

学习LVS+Keepalived必须阅读的三个文档。

1、  《Keepalived权威指南》下载见

2、  《LVS手册》

3、  《Red_Hat_Enterprise_Linux-5-Virtual_Server_Administration-zh-CN》

4、 通过LVS实现WEB站点的MySQL高可用

5、 LVS+Apache+PHP+MySQL读写分离

6、 MySQL LVS负载均衡

企业Web高可用集群实战之LVS+Keepalived+MySQL HA

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/46e26939ef875ce760efb43ebb055d6b.html