LVS_Director + KeepAlivedKeepAlived在该项目中的功能:
1. 管理IPVS的路由表(包括对RealServer做健康检查)
2. 实现调度器的HA
http://www.keepalived.orgKeepalived所执行的外部脚本命令建议使用绝对路径
=================================================================================
实施步骤:
1. 主/备调度器安装软件
[root@lvs-keepalived-master ~]# yum -y install ipvsadm keepalived
[root@lvs-keepalived-slave ~]# yum -y install ipvsadm keepalived
2. Keepalived
lvs-master
[root@ha-proxy-master ~]# vim /etc/keepalived/keepalived.conf
! Configuration File for keepalivedglobal_defs {router_id lvs-keepalived-master #辅助改为lvs-backup
}vrrp_instance VI_1 {state MASTERinterface ens33 #VIP绑定接口virtual_router_id 80 #VRID 同一组集群,主备一致 priority 100 #本节点优先级,辅助改为50advert_int 1 #检查间隔,默认为1sauthentication {auth_type PASSauth_pass 1111}virtual_ipaddress {192.168.246.110/32}
}virtual_server 192.168.246.110 80 { #LVS配置delay_loop 6 #健康检查rs时间间隔lb_algo rr #LVS调度算法lb_kind DR #LVS集群模式(路由模式)protocol TCP #健康检查使用的协议real_server 192.168.246.162 80 {weight 1inhibit_on_failure #当该节点失败时,把权重设置为0,而不是从IPVS中删除TCP_CHECK { #健康检查connect_port 80 #检查的端口connect_timeout 3 #连接超时的时间}}real_server 192.168.246.163 80 {weight 1inhibit_on_failureTCP_CHECK {connect_timeout 3connect_port 80}}
}[root@lvs-keepalived-slave ~]# vim /etc/keepalived/keepalived.conf
! Configuration File for keepalivedglobal_defs {router_id lvs-keepalived-slave
}vrrp_instance VI_1 {state BACKUPinterface ens33virtual_router_id 80priority 50advert_int 1authentication {auth_type PASSauth_pass 1111}virtual_ipaddress {192.168.246.110/24}
}
virtual_server 192.168.246.110 80 {delay_loop 6lb_algo rrlb_kind DRprotocol TCPreal_server 192.168.246.162 80 {weight 1inhibit_on_failureTCP_CHECK {connect_port 80connect_timeout 3}}real_server 192.168.246.163 80 {weight 1inhibit_on_failureTCP_CHECK {connect_timeout 3connect_port 80}}
}
3. 启动KeepAlived(主备均启动)
[root@lvs-keepalived-master ~]# systemctl start keepalived
[root@lvs-keepalived-master ~]# systemctl enable keepalived[root@lvs-keepalived-master ~]# ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.246.110:80 rr persistent 20-> 192.168.246.162:80 Route 1 0 0 -> 192.168.246.163:80 Route 0 0 04. 所有RS配置(nginx1,nginx2)
配置好网站服务器,测试所有RS
[root@test-nginx1 ~]# yum install -y nginx
[root@test-nginx2 ~]# yum install -y nginx
[root@test-nginx1 ~]# ip addr add dev lo 192.168.246.110/32
[root@test-nginx1 ~]# echo "net.ipv4.conf.all.arp_ignore = 1" >> /etc/sysctl.conf
[root@test-nginx1 ~]# sysctl -p
[root@test-nginx1 ~]# echo "web1..." >> /usr/share/nginx/html/index.html
[root@test-nginx1 ~]# systemctl start nginx
注意事项:如果之前配置了vip,导致显示不了vip
需要执行systemctl stop keepalived #先停止在重启
systemctl start keepalived
即可显示vip