健康检查的目的:
    保证部署的集群能够高效有序的正常运行
    lvs的健康检查:
    利用脚本文件+crontab循环任务做健康检查
    1、编写脚本文件
    vim lvs.sh
    #!/bin/bash
    rs=192.168.188.130 #VIP的ip地址
    rs1=192.168.188.128 #real server1的ip地址
    ping -c 1 $rs1 &>/dev/null
    if [ $? -eq 0 ];then
    curl $rs1
    if [ $? -eq 0 ];then
    /usr/sbin/ipvsadm -Ln | grep $rs1 &>/dev/null
    if [ $? -eq 0 ];then
    break
    else
    /usr/sbin/ipvsadm -a -t 192.168.188.130:80 -r $rs1 -g
    break
    fi
    else
    /usr/sbin/ipvsadm -d -t 192.168.188.130:80 -r $rs1
    fi
    else
    /usr/sbin/ipvsadm -d -t 192.168.188.130 -r $rs1
    fi
    rs2=192.168.188.129 #real server2的ip地址
    ping -c 1 $rs2 &>/dev/null
    if [ $? -eq 0 ];then
    curl $rs2
    if [ $? -eq 0 ];then
    /usr/sbin/ipvsadm -Ln | grep $rs2 &>/dev/null
    if [ $? -eq 0 ];then
    break
    else
    /usr/sbin/ipvsadm -a -t 192.168.188.130:80 -r $rs2 -g
    break
    fi
    else
    /usr/sbin/ipvsadm -d -t 192.168.188.130:80 -r $rs2
    fi
    else
    /usr/sbin/ipvsadm -d -t 192.168.188.130:80 -r $rs2
    fi
    2、利用crontab循环任务实行检测
    crontab -e #编写循环任务
    /5 bash lvs.sh #以每5分钟为例,做健康检测
    keepalived的健康检查:
    1、给lvs做高可用的健康检查
    1.首先编写脚本
    vim /etc/keepalived/lvs.sh
    #!/bin/bash
    num=#(ps -C nginx —no-heading | wc -l)
    if [ $num = “0” ];then
    systemctl start nignx
    num1=$(ps -C nginx —no-heading | wc -l)
    if [ $num1 = “0” ];then
    systemctl stop keepalived
    fi
    fi
    2.编写keepalived配置文件
    global_defs {
    router_id server
    }
    vrrp_script check_nginx {
    script “/etc/keepalived/lvs.sh”
    interval 5
    }
    vrrp_instance VI_1 {
    state MASTER
    interface ens33
    virtual_router_id 80
    priority 100
    advert_int 1
    authentication {
    auth_type PASS
    auth_pass 1111
    }
    virtual_ipaddress {
    192.168.188.110/24
    }
    track_script {
    check_nginx
    }
    }
    3.模拟关掉keepalived中nginx,观察其状态,及VIP是否飘逸
    *2、haproxy做健康检查

    1.首先编写脚本
    vim /etc/keepalived/haproxy.sh
    #!/bin/bash
    num=#(ps -C haproxy —no-heading | wc -l)
    if [ $num = “0” ];then
    systemctl start haproxy
    num1=$(ps -C haproxy —no-heading | wc -l)
    if [ $num1 = “0” ];then
    systemctl stop keepalived
    fi
    fi
    2.编写keepalived配置文件
    global_defs {
    router_id server
    }
    vrrp_script check_haproxy {
    script “/etc/keepalived/haproxy.sh”
    interval 5
    }
    vrrp_instance VI_1 {
    state MASTER
    interface ens33
    virtual_router_id 80
    priority 100
    advert_int 1
    authentication {
    auth_type PASS
    auth_pass 1111
    }
    virtual_ipaddress {
    192.168.188.110/24
    }
    track_script {
    check_haproxy
    }
    }
    3.模拟关掉keepalived中nginx,观察其状态,及VIP是否飘逸