Keepalived+http高可用实战

环境准备:

两台安装了keepalived的服务器

ip:192.168.134.170;192.168.134.172

1、安装http服务

yum install httpd -y

2、写一个测试页面

[root@localhost ~]# echo "`hostname -I`,web1 test page. " > /var/www/html/inde
[root@localhost ~]# systemctl start httpd

3、修改keepalived配置文件(/etc/keepalived/keepalived.conf)

主节点
! Configuration File for keepalived

global_defs {
   notification_email {
     [email protected]
     [email protected]
     [email protected]
   }
   notification_email_from [email protected]
   smtp_server 192.168.200.1
   smtp_connect_timeout 30
   router_id LVS_DEVEL1
}

vrrp_instance VI_1 {
    state MASTER
    # nopreempt
    interface ens33
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.134.100
    }
}
备节点:修改优先级和state即可

4、结果

但是此时如果出现了web服务器故障,没有办法进行自动切换。

5、写检查脚本

#!/bin/bash

while true
do
  http_pid_num=`ps -C httpd --no-header | wc -l`
  if [ $http_pid_num -eq 0 ]
  then
    systemctl start httpd
    sleep 2
    http_pid_num=`ps -C httpd --no-header | wc -l`
    if [ $http_pid_num -eq 0 ]
    then
      systemctl stop keepalived
    fi
  fi
done

6、添加运行(放到后台)==>执行完此步骤后重新启动,再次测试,便可以进行故障切换。

nohup ./check_httpd.sh > nohup.out 2>&1 &

你可能感兴趣的:(服务器,运维)