Keeplived配置
MASTER
vim /etc/keepalived/keepalived.conf
vrrp_script check_haproxy {
script “/etc/keepalived/check_haproxy.sh”
interval 2 #检查间隔时间
weight -51 #失败时优先级的变化
fall 2 #失败几次后真正确认为失败
rise 1 #成功几次后确认为成功
}
global_defs {
notification_email {
xxxxxxxx@qq.com
}
notification_email_from Alexandre.Cassen@firewall.loc
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id LVS_KEEP01 #主备上要不同的名称
}
vrrp_instance VI_1 { #主备名称要相同
state MASTER
interface eth0
lvs_sync_daemon_inteface eth0 #同步接口
virtual_router_id 51 #Id主备名称要相同
priority 150 #优先级越大表示优先
advert_int 1 #心跳检查单位秒
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress { #VIP
10.125.192.100/24
}
track_script {
check_haproxy
}
}
BACKUP
vim /etc/keepalived/keepalived.conf
vrrp_script check_haproxy {
script “/etc/keepalived/check_haproxy.sh”
interval 2
weight -51
fall 2
rise 1
}
global_defs {
notification_email {
xxxxxxxx@qq.com
}
notification_email_from Alexandre.Cassen@firewall.loc
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id LVS_KEEP02 #主备上要不同的名称
}
vrrp_instance VI_1 { #主备名称要相同
state BACKUP
interface eth0
lvs_sync_daemon_inteface eth0 #同步接口虚拟机可不写
virtual_router_id 51 #Id主备名称要相同
priority 100 #优先级越大表示优先
advert_int 1 #心跳检查单位秒
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress { #VIP
10.125.192.100/24
}
track_script {
check_haproxy
}
}
Haproxy配置
MASTER
vim /usr/local/haproxy/conf/haproxy.conf
global
log 127.0.0.1:514 local0 err
maxconn 20480
chroot /usr/local/haproxy
uid 99
gid 99
daemon
pidfile /usr/local/haproxy/var/run/haproxy.pid
spread-checks 3
nbproc 1
defaults
#log global
mode http
#option httplog
option dontlognull
retries 3
option redispatch
stats hide-version
maxconn 20480
timeout connect 5000
timeout client 50000
timeout server 50000
listen www01
bind 10.125.192.100:80
mode http
no option splice-response
stats enable
stats uri /haproxy
stats auth gao:123
balance roundrobin
option httpclose
option forwardfor
option httpchk HEAD /checkstatus.html HTTP/1.0
server app1_1 10.125.192.6:8080 cookie app1inst1 check inter 2000 rise 2 fall 5
server app1_2 10.125.192.7:8080 cookie app1inst2 check inter 2000 rise 2 fall 5
BACKUP
global
log 127.0.0.1:514 local0 err
maxconn 20480
chroot /usr/local/haproxy
uid 99
gid 99
daemon
pidfile /usr/local/haproxy/var/run/haproxy.pid
spread-checks 3
nbproc 1
defaults
#log global
mode http
#option httplog
option dontlognull
retries 3
option redispatch
stats hide-version
maxconn 20480
timeout connect 5000
timeout client 50000
timeout server 50000
listen www01
bind 10.125.192.100:80
mode http
no option splice-response
stats enable
stats uri /haproxy
stats auth gao:123
balance roundrobin
option httpclose
option forwardfor
option httpchk HEAD /checkstatus.html HTTP/1.0
server app1_1 10.125.192.6:8080 cookie app1inst1 check inter 2000 rise 2 fall 5
server app1_2 10.125.192.7:8080 cookie app1inst2 check inter 2000 rise 2 fall 5
如果haproxy bind绑定了固定VIP 需要修改配置文件 使用haproxy能够监听非本地存在ip地址
echo ‘net.ipv4.ip_nonlocal_bind = 1’ >> /etc/sysctl.conf
sysctl -p #生效