环境:html
192.168.36.7:80 192.168.36.17:80 192.168.36.18:80 三台web服务器已经搭好 ]# yum install -y httpd ]# echo `hostname` > /var/www/html/index.html ]# systemctl start httpd
配置HAProxy,两台主机同样的配置 ]# vim /etc/haproxy/haproxy.cfg frontend web *:80 default_backend websrvs backend websrvs balance roundrobin server srv1 192.168.36.7:80 check server srv2 192.168.36.17:80 check 配置keepalived实现高可用,一台为MASTER一台为BACKUP. ]# vim /etc/keepalived/keepalived.conf ! Configuration File for keepalived global_defs { notification_email { root@localhost } notification_email_from keepalived@localhoat smtp_server 127.0.0.1 smtp_connect_timeout 30 router_id node1 vrrp_skip_check_adv_addr vrrp_strict vrrp_garp_interval 0 vrrp_gna_interval 0 vrrp_mcast_group4 224.0.111.111 vrrp_iptables } vrrp_script chk_haproxy { script "killall -0 haproxy" #监控haproxy进程 interval 1 weight -5 fall 2 rise 1 } vrrp_script chk_down { script "/bin/bash -c '[[ -f /etc/keepalived/down ]]' && exit 1 || exit 0" #在keepalived中要特别地指明做为bash的参数的运行 interval 1 weight -10 } vrrp_instance VI_1 { state MASTER #一台为BACKUP interface eth0 virtual_router_id 51 priority 100 #当为BACKUP时,priority适当减小,建议95。 advert_int 1 authentication { auth_type PASS auth_pass fd57721a } virtual_ipaddress { 192.168.36.2/24 dev eth0 } track_script { #调用监控脚本 chk_haproxy chk_down } notify_master "/etc/keepalived/notify.sh master" notify_backup "/etc/keepalived/notify.sh backup" notify_fault "/etc/keepalived/notify.sh fault" } 测试:建立down文件后使得降优先级,从而使得VIP漂移到node2,进入维护模式 ]# touch /etc/keepalived/down