keepalived安装配置实现高可用

介绍

为了防止单点组件不可用,本文介绍用keepalived实现主备双节点高可用,主节点不可用后自动切换到备节点继续提供服务。

另外,keepalived还可以做负载均衡。

安装

在组件对应的机器上安装:

yum install -y keepalived

主节点配置

我们以禅道zbox为例写一个配置,如下。首先check_zbox.sh是一个检测脚本,检测应用是不是可用,不可用时停止keepalived服务以自动切换到从。然后是在网卡开了一个虚拟ip。

[root@ldap ~]# cat /etc/keepalived/keepalived.conf
vrrp_script check_zbox { 
    script "/etc/keepalived/check_zbox.sh"
    interval 2
}
vrrp_instance VI_1 {
    state MASTER
    interface ens33
    virtual_router_id 51
    priority 150
    authentication {
        auth_type PASS
        auth_pass zbox
    }
	track_script {
		check_zbox
    }
    virtual_ipaddress {
        192.168.178.131
	}
}

检测脚本内容如下:

[root@ldap ~]# cat /etc/keepalived/check_zbox.sh 
#!/bin/bash
return_code=`curl -s -w "%{http_code}" -o /dev/null http://127.0.0.1:90`
if [[ $return_code -ne 200 ]]; then
	systemctl stop keepalived
fi

记得给脚本加权限。

从节点配置

与主节点相比,注意以下字段:statevirtual_router_idpriorityvirtual_ipaddress

[root@vm2 ~]# cat /etc/keepalived/keepalived.conf 
vrrp_script check_zbox { 
    script "/etc/keepalived/check_zbox.sh"
    interval 2
}
vrrp_instance VI_1 {
    state BACKUP
    interface ens33
    virtual_router_id 51
    priority 100
    authentication {
        auth_type PASS
        auth_pass zbox
    }
    track_script {
        check_zbox
    }
    virtual_ipaddress {
        192.168.178.131
    }
}

启动、测试

所有节点启动keepalived:

systemctl start keepalived && systemctl enable keepalived

正常情况下,在主节点ip addr可以看到你定义的虚ip,在从节点看不到。访问虚ip可以正常访问组件。

然后如果停掉主节点的组件,访问虚ip还是可以正常访问组件,但是在主节点ip addr看不到虚ip了,因为它跑到从节点了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值