keepalived主备简单使用以及简单监控脚本编辑

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了keepalived主备简单使用以及简单监控脚本编辑相关的知识,希望对你有一定的参考价值。

这几天palived 这个博文后期还会编辑,现在只学了皮毛而已,特此记录下!

我用的是yum安装的keepalived,用光盘搭建的yum源

两台机器 ip地址分别是 10.91.10.173 和10.91.10.172

 首先两台机器 安装yum install -y httpd keepalived

keepalived配置文件在 /etc/keepalived/keepalived.conf 之所以实用yum安装时因为方便。主要是学习keepalived的不是为了学习怎样编译安装软件。怎样解决 编译中出现的问题的。

vim /etc/keepalived/keepalived.conf 

打开配置文件 10.91.10.173

 Configuration File for keepalived


global_defs {

   notification_email {

        [email protected]


  }

   notification_email_from [email protected]

   smtp_server 127.0.0.1

   smtp_connect_timeout 30

   router_id master1  诸葛主备一定不能相同

}

        vrrp_script chk_httpd {  这里是检测实用的脚本配置文件,

        script "/home/if.sh"  这个是脚本if.sh  我写的比较简单 下面会贴出

        interval 2  这个是检测间隔时间  为2秒

        weight -20  这个是权限降低20 不知道为什么  我的好像是不起作用 我不写它也能实用


}

vrrp_instance VI_1 {  这里是主要的配置 VI_I可以随便给的名字

    state MASTER  设置为主

    interface ens33 监听的网卡名称 和主机的网卡要匹配

    virtual_router_id 51  ID 主备相同

    priority 100 权重值 备要低一些

    advert_int 1 检测时间间隔1秒

    authentication { 两台机器之间的通信暗号

        auth_type PASS

        auth_pass 1111

    }

    virtual_ipaddress {  设定虚拟IP地址,我设置的是和真是ip地址同一网段的地址。为了同网段内任意机器都可以访问。

        10.91.10.174/32 dev ens33 label ens33:0

    }

        track_script { 

        chk_httpd上面脚本名称。

  }

}

下面的全部注释掉。。。。。。。。

因为我们没有安装LVS  只是单纯的实用keepalived 主备

#virtual_server 192.168.200.100 443 {

#    delay_loop 6

#    lb_algo rr

#    lb_kind NAT

#    persistence_tim

以上主就配置完成,可以适当的编辑http的配置文件  vim /var/www/html/index.html    加入 10.91.10.173

配置备keepalived 10.91.10.172

! Configuration File for keepalived


global_defs {

   notification_email {

        [email protected]


  }

   notification_email_from [email protected]

   smtp_server 127.0.0.1

   smtp_connect_timeout 30

   router_id backup1

}

}

vrrp_instance VI_1 {

    state BACKUP

    interface ens33

    virtual_router_id 51

    priority 90

    advert_int 1

    authentication {

        auth_type PASS

        auth_pass 1111

    }

    virtual_ipaddress {

        10.91.10.174/32 dev ens33 label ens33:0

    }

      

}

这个配置文件没有多说的了 直接把主的scp过来就行  然后修改MASTER为BACHUP 权重值改为90 router_id bakeuup1 别的就没啥了。

还是 以下的注释了

#virtual_server 192.168.200.100 443 {

#    delay_loop 6

#    lb_algo rr

#    lb_kind NAT

#    persistence_timeout 50

http的配置文件写入 10.91.10.172  为了区分

关闭 selinux 和firewall 清空iptables 

if.sh脚本内容如下

#!/bin/bash

        jiance=$(netstat -tlun | grep 80 | awk '{printf $4 "\n"}'| cut -d ":" -f4)

        if [ -z "$jiance" ]

        then

        /usr/bin/systemctl stop keepalived

        fi

写的比较简单主要是检测http是否运行 如果没有运行的话就停止掉keepalived

这就完事了  这个是主  能看到vip是10.91.10.174

技术分享图片

访问10.91.10.174技术分享图片

查看10.91.10.173 ifconfig

技术分享图片

可以看到无vip地址

现在停掉10.91.10.172的httpd

技术分享图片

可以看到VIP也消失了

现在看10.91.10.173上

技术分享图片

VIP自动漂移过来  现在访问10.91.10.174

技术分享图片

这就配置完成了,当然如果主服务商的keepalived启动后VIP会自动漂移到主上面,我写的那个脚本就是检测http停止后自动关闭keepalived的 正常的应该是检测到httpd停止后降低权限而已,所有这里配置的还不够准确。现在还在学习,后再再来更新!!

以上是关于keepalived主备简单使用以及简单监控脚本编辑的主要内容,如果未能解决你的问题,请参考以下文章

nfs主主模式

nginx+keepalived(带nginx监控脚本)

Keepalived主备切换时执行脚本

Keepalived实现主备切换

第三节:安装Keepalived 实现自动主备切换

keepalived实现对mysql主从复制的主备自动切换