環境: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