环境说明:
IP地址 | 部署应用 |
---|---|
192.168.10.100 | VIP0 |
192.168.10.101 | VIP1 |
192.168.10.17 | keepalived+lvs |
192.168.10.16 | keepalived+lvs |
192.168.10.15 | nginx |
192.168.10.14 | nginx |
keepalived+lvs机器上配置
#1.安装keepalived yum install keepalived –y #2.配置keepalived global_defs { router_id LVS } vrrp_instance LVS_1 { state MASTER #备改为 BACKUP interface ens33 virtual_router_id 100 priority 100 #备改为 90 advert_int 1 nopreempt authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { 192.168.10.100 192.168.10.101 } } virtual_server 192.168.10.100 80 { delay_loop 6 lb_algo rr lb_kind DR persistence_timeout 120 protocol TCP real_server 192.168.10.15 80 { TCP_CHECK { weight 1 connect_timeout 10 nb_get_retry 3 delay_before_retry 3 connect_port 80 } } real_server 192.168.10.10 80 { TCP_CHECK { weight 1 connect_timeout 10 nb_get_retry 3 delay_before_retry 3 connect_port 80 } } } virtual_server 192.168.10.101 81 { delay_loop 6 lb_algo rr lb_kind DR persistence_timeout 0 protocol TCP real_server 192.168.10.15 81 { TCP_CHECK { weight 1 connect_timeout 10 nb_get_retry 3 delay_before_retry 3 connect_port 81 } } real_server 192.168.10.10 81 { TCP_CHECK { weight 1 connect_timeout 10 nb_get_retry 3 delay_before_retry 3 connect_port 81 } } } #3.检查是否支持安装lvs find /lib/modules/$(uname -r)/ -iname "**.ko*" | cut -d/ -f5- yum install ipvsadm –y #yum安装lvs #4.开启转发功能 echo 1 > /proc/sys/net/ipv4/ip_forward sysctl -p # 重新载入sysctl变量
nginx机器配置
#1.yum安装nginx或者编译安装 yum install nginx -y service nginx start #启动nginx #2.修改nginx.conf,配置81的端口 vim /etc/nginx/nginx.conf echo '192.168.10.15:80' > /usr/share/nginx/html/index.html #设置web的标志内容 #3.lvs脚本 #!/bin/bash # Script to start LVS DR real server. # chkconfig: - 90 10 # description: LVS DR real server VIP0=192.168.10.100 VIP1=192.168.10.101 . /etc/rc.d/init.d/functions case "$1" in start) ifconfig lo:0 $VIP0 broadcast $VIP0 netmask 255.255.255.255 up route add -host $VIP0 dev lo:0 ifconfig lo:1 $VIP1 broadcast $VIP1 netmask 255.255.255.255 up route add -host $VIP1 dev lo:1 echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce sysctl -p >/dev/null 2>&1 echo "RealServer Start OK" ;; stop) ifconfig lo:0 down route del $VIP0 > /dev/null 2>&1 ifconfig lo:1 down route del $VIP1 > /dev/null 2>&1 echo "0" >/proc/sys/net/ipv4/conf/lo/arp_ignore echo "0" >/proc/sys/net/ipv4/conf/lo/arp_announce echo "0" >/proc/sys/net/ipv4/conf/all/arp_ignore echo "0" >/proc/sys/net/ipv4/conf/all/arp_announce echo "RealServer Stoped" ;; *) echo "$0: Usage:$0 {start|stop}" exit 1 ;; esac #4.添加开机自启动 hmod +x /etc/init.d/lvs-rs chkconfig --add lvs-rs chkconfig lvs-rs on /etc/init.d/lvs-rs start
验证
访问VIP的网址,看是否每次访问的站点内容都是不同的。windows中的浏览器有缓存功能,如果站点内容有时候是相同的,那么不一定是自己配错了,可能是缓存的原因,避免的办法就是使用Linux的curl命令去访问站点的内容
ipvsadm -ln #查看连接数
来源:https://www.cnblogs.com/fan-gx/p/11190227.html